PageSourceSearch

https://casanostra.ink/assets/index-zRwZpFwr.js

js casanostra.ink collected 2026-10-04 05:00:58 UTC 1,395,739 bytes, 4,009 lines download raw bytes

vendor: 5,324 bytes, lines 1-17
1(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function t(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function n(i){if(i.ep)return;i.ep=!0;const s=t(i);fetch(i.href,s)}})();var N_=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function zv(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var eM={exports:{}},p0={};/**
2 * @license React
3 * react-jsx-runtime.production.js
4 *
5 * Copyright (c) Meta Platforms, Inc. and affiliates.
6 *
7 * This source code is licensed under the MIT license found in the
8 * LICENSE file in the root directory of this source tree.
9 */var uw;function pU(){if(uw)return p0;uw=1;var r=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function t(n,i,s){var o=null;if(s!==void 0&&(o=""+s),i.key!==void 0&&(o=""+i.key),"key"in i){s={};for(var c in i)c!=="key"&&(s[c]=i[c])}else s=i;return i=s.ref,{$$typeof:r,type:n,key:o,ref:i!==void 0?i:null,props:s}}return p0.Fragment=e,p0.jsx=t,p0.jsxs=t,p0}var fw;function mU(){return fw||(fw=1,eM.exports=pU()),eM.exports}var K=mU(),tM={exports:{}},mn={};/**
10 * @license React
11 * react.production.js
12 *
13 * Copyright (c) Meta Platforms, Inc. and affiliates.
14 *
15 * This source code is licensed under the MIT license found in the
16 * LICENSE file in the root directory of this source tree.
17 */var hw;function gU(){if(hw)return mn;hw=1;var r=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),t=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),o=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),g=Symbol.iterator;function y(H){return H===null||typeof H!="object"?null:(H=g&&H[g]||H["@@iterator"],typeof H=="function"?H:null)}var _={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},S=Object.assign,M={};function b(H,re,ye){this.props=H,this.context=re,this.refs=M,this.updater=ye||_}b.prototype.isReactComponent={},b.prototype.setState=function(H,re){if(typeof H!="object"&&typeof H!="function"&&H!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,H,re,"setState")},b.prototype.forceUpdate=function(H){this.updater.enqueueForceUpdate(this,H,"forceUpdate")};function A(){}A.prototype=b.prototype;function w(H,re,ye){this.props=H,this.context=re,this.refs=M,this.updater=ye||_}var D=w.prototype=new A;D.constructor=w,S(D,b.prototype),D.isPureReactComponent=!0;var B=Array.isArray,I={H:null,A:null,T:null,S:null,V:null},O=Object.prototype.hasOwnProperty;function U(H,re,ye,Ae,Te,he){return ye=he.ref,{$$typeof:r,type:H,key:re,ref:ye!==void 0?ye:null,props:he}}function z(H,re){return U(H.type,re,void 0,void 0,void 0,H.props)}function P(H){return typeof H=="object"&&H!==null&&H.$$typeof===r}function N(H){var re={"=":"=0",":":"=2"};return"$"+H.replace(/[=:]/g,function(ye){return re[ye]})}var G=/\/+/g;function X(H,re){return typeof H=="object"&&H!==null&&H.key!=null?N(""+H.key):re.toString(36)}function Q(){}function te(H){switch(H.status){case"fulfilled":return H.value;case"rejected":throw H.reason;default:switch(typeof H.status=="string"?H.then(Q,Q):(H.status="pending",H.then(function(re){H.status==="pending"&&(H.status="fulfilled",H.value=re)},function(re){H.status==="pending"&&(H.status="rejected",H.reason=re)})),H.status){case"fulfilled":return H.value;case"rejected":throw H.reason}}throw H}function le(H,re,ye,Ae,Te){var he=typeof H;(he==="undefined"||he==="boolean")&&(H=null);var xe=!1;if(H===null)xe=!0;else switch(he){case"bigint":case"string":case"number":xe=!0;break;case"object":switch(H.$$typeof){case r:case e:xe=!0;break;case m:return xe=H._init,le(xe(H._payload),re,ye,Ae,Te)}}if(xe)return Te=Te(H),xe=Ae===""?"."+X(H,0):Ae,B(Te)?(ye="",xe!=null&&(ye=xe.replace(G,"$&/")+"/"),le(Te,re,ye,"",function(We){return We})):Te!=null&&(P(Te)&&(Te=z(Te,ye+(Te.key==null||H&&H.key===Te.key?"":(""+Te.key).replace(G,"$&/")+"/")+xe)),re.push(Te)),1;xe=0;var Ne=Ae===""?".":Ae+":";if(B(H))for(var Oe=0;Oe<H.length;Oe++)Ae=H[Oe],he=Ne+X(Ae,Oe),xe+=le(Ae,re,ye,he,Te);else if(Oe=y(H),typeof Oe=="function")for(H=Oe.call(H),Oe=0;!(Ae=H.next()).done;)Ae=Ae.value,he=Ne+X(Ae,Oe++),xe+=le(Ae,re,ye,he,Te);else if(he==="object"){if(typeof H.then=="function")return le(te(H),re,ye,Ae,Te);throw re=String(H),Error("Objects are not valid as a React child (found: "+(re==="[object Object]"?"object with keys {"+Object.keys(H).join(", ")+"}":re)+"). If you meant to render a collection of children, use an array instead.")}return xe}
vendor: 6,405 bytes, lines 17-25
17function k(H,re,ye){if(H==null)return H;var Ae=[],Te=0;return le(H,Ae,"","",function(he){return re.call(ye,he,Te++)}),Ae}function W(H){if(H._status===-1){var re=H._result;re=re(),re.then(function(ye){(H._status===0||H._status===-1)&&(H._status=1,H._result=ye)},function(ye){(H._status===0||H._status===-1)&&(H._status=2,H._result=ye)}),H._status===-1&&(H._status=0,H._result=re)}if(H._status===1)return H._result.default;throw H._result}var ee=typeof reportError=="function"?reportError:function(H){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var re=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof H=="object"&&H!==null&&typeof H.message=="string"?String(H.message):String(H),error:H});if(!window.dispatchEvent(re))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",H);return}console.error(H)};function pe(){}return mn.Children={map:k,forEach:function(H,re,ye){k(H,function(){re.apply(this,arguments)},ye)},count:function(H){var re=0;return k(H,function(){re++}),re},toArray:function(H){return k(H,function(re){return re})||[]},only:function(H){if(!P(H))throw Error("React.Children.only expected to receive a single React element child.");return H}},mn.Component=b,mn.Fragment=t,mn.Profiler=i,mn.PureComponent=w,mn.StrictMode=n,mn.Suspense=f,mn.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=I,mn.__COMPILER_RUNTIME={__proto__:null,c:function(H){return I.H.useMemoCache(H)}},mn.cache=function(H){return function(){return H.apply(null,arguments)}},mn.cloneElement=function(H,re,ye){if(H==null)throw Error("The argument must be a React element, but you passed "+H+".");var Ae=S({},H.props),Te=H.key,he=void 0;if(re!=null)for(xe in re.ref!==void 0&&(he=void 0),re.key!==void 0&&(Te=""+re.key),re)!O.call(re,xe)||xe==="key"||xe==="__self"||xe==="__source"||xe==="ref"&&re.ref===void 0||(Ae[xe]=re[xe]);var xe=arguments.length-2;if(xe===1)Ae.children=ye;else if(1<xe){for(var Ne=Array(xe),Oe=0;Oe<xe;Oe++)Ne[Oe]=arguments[Oe+2];Ae.children=Ne}return U(H.type,Te,void 0,void 0,he,Ae)},mn.createContext=function(H){return H={$$typeof:o,_currentValue:H,_currentValue2:H,_threadCount:0,Provider:null,Consumer:null},H.Provider=H,H.Consumer={$$typeof:s,_context:H},H},mn.createElement=function(H,re,ye){var Ae,Te={},he=null;if(re!=null)for(Ae in re.key!==void 0&&(he=""+re.key),re)O.call(re,Ae)&&Ae!=="key"&&Ae!=="__self"&&Ae!=="__source"&&(Te[Ae]=re[Ae]);var xe=arguments.length-2;if(xe===1)Te.children=ye;else if(1<xe){for(var Ne=Array(xe),Oe=0;Oe<xe;Oe++)Ne[Oe]=arguments[Oe+2];Te.children=Ne}if(H&&H.defaultProps)for(Ae in xe=H.defaultProps,xe)Te[Ae]===void 0&&(Te[Ae]=xe[Ae]);return U(H,he,void 0,void 0,null,Te)},mn.createRef=function(){return{current:null}},mn.forwardRef=function(H){return{$$typeof:c,render:H}},mn.isValidElement=P,mn.lazy=function(H){return{$$typeof:m,_payload:{_status:-1,_result:H},_init:W}},mn.memo=function(H,re){return{$$typeof:d,type:H,compare:re===void 0?null:re}},mn.startTransition=function(H){var re=I.T,ye={};I.T=ye;try{var Ae=H(),Te=I.S;Te!==null&&Te(ye,Ae),typeof Ae=="object"&&Ae!==null&&typeof Ae.then=="function"&&Ae.then(pe,ee)}catch(he){ee(he)}finally{I.T=re}},mn.unstable_useCacheRefresh=function(){return I.H.useCacheRefresh()},mn.use=function(H){return I.H.use(H)},mn.useActionState=function(H,re,ye){return I.H.useActionState(H,re,ye)},mn.useCallback=function(H,re){return I.H.useCallback(H,re)},mn.useContext=function(H){return I.H.useContext(H)},mn.useDebugValue=function(){},mn.useDeferredValue=function(H,re){return I.H.useDeferredValue(H,re)},mn.useEffect=function(H,re,ye){var Ae=I.H;if(typeof ye=="function")throw Error("useEffect CRUD overload is not enabled in this build of React.");return Ae.useEffect(H,re)},mn.useId=function(){return I.H.useId()},mn.useImperativeHandle=function(H,re,ye){return I.H.useImperativeHandle(H,re,ye)},mn.useInsertionEffect=function(H,re){return I.H.useInsertionEffect(H,re)},mn.useLayoutEffect=function(H,re){return I.H.useLayoutEffect(H,re)},mn.useMemo=function(H,re){return I.H.useMemo(H,re)},mn.useOptimistic=function(H,re){return I.H.useOptimistic(H,re)},mn.useReducer=function(H,re,ye){return I.H.useReducer(H,re,ye)},mn.useRef=function(H){return I.H.useRef(H)},mn.useState=function(H){return I.H.useState(H)},mn.useSyncExternalStore=function(H,re,ye){return I.H.useSyncExternalStore(H,re,ye)},mn.useTransition=function(){return I.H.useTransition()},mn.version="19.1.1",mn}var dw;function Ro(){return dw||(dw=1,tM.exports=gU()),tM.exports}var $=Ro();const P0=zv($);var nM={exports:{}},m0={},iM={exports:{}},rM={};/**
18 * @license React
19 * scheduler.production.js
20 *
21 * Copyright (c) Meta Platforms, Inc. and affiliates.
22 *
23 * This source code is licensed under the MIT license found in the
24 * LICENSE file in the root directory of this source tree.
25 */var pw;function vU(){return pw||(pw=1,function(r){function e(k,W){var ee=k.length;k.push(W);e:for(;0<ee;){var pe=ee-1>>>1,H=k[pe];if(0<i(H,W))k[pe]=W,k[ee]=H,ee=pe;else break e}}function t(k){return k.length===0?null:k[0]}function n(k){if(k.length===0)return null;var W=k[0],ee=k.pop();if(ee!==W){k[0]=ee;e:for(var pe=0,H=k.length,re=H>>>1;pe<re;){var ye=2*(pe+1)-1,Ae=k[ye],Te=ye+1,he=k[Te];if(0>i(Ae,ee))Te<H&&0>i(he,Ae)?(k[pe]=he,k[Te]=ee,pe=Te):(k[pe]=Ae,k[ye]=ee,pe=ye);else if(Te<H&&0>i(he,ee))k[pe]=he,k[Te]=ee,pe=Te;else break e}}return W}function i(k,W){var ee=k.sortIndex-W.sortIndex;return ee!==0?ee:k.id-W.id}if(r.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var s=performance;r.unstable_now=function(){return s.now()}}else{var o=Date,c=o.now();r.unstable_now=function(){return o.now()-c}}var f=[],d=[],m=1,g=null,y=3,_=!1,S=!1,M=!1,b=!1,A=typeof setTimeout=="function"?setTimeout:null,w=typeof clearTimeout=="function"?clearTimeout:null,D=typeof setImmediate<"u"?setImmediate:null;function B(k){for(var W=t(d);W!==null;){if(W.callback===null)n(d);else if(W.startTime<=k)n(d),W.sortIndex=W.expirationTime,e(f,W);else break;W=t(d)}}function I(k){if(M=!1,B(k),!S)if(t(f)!==null)S=!0,O||(O=!0,X());else{var W=t(d);W!==null&&le(I,W.startTime-k)}}var O=!1,U=-1,z=5,P=-1;function N(){return b?!0:!(r.unstable_now()-P<z)}function G(){if(b=!1,O){var k=r.unstable_now();P=k;var W=!0;try{e:{S=!1,M&&(M=!1,w(U),U=-1),_=!0;var ee=y;try{t:{for(B(k),g=t(f);g!==null&&!(g.expirationTime>k&&N());){var pe=g.callback;
vendor: 3,186 bytes, lines 25-33
25if(typeof pe=="function"){g.callback=null,y=g.priorityLevel;var H=pe(g.expirationTime<=k);if(k=r.unstable_now(),typeof H=="function"){g.callback=H,B(k),W=!0;break t}g===t(f)&&n(f),B(k)}else n(f);g=t(f)}if(g!==null)W=!0;else{var re=t(d);re!==null&&le(I,re.startTime-k),W=!1}}break e}finally{g=null,y=ee,_=!1}W=void 0}}finally{W?X():O=!1}}}var X;if(typeof D=="function")X=function(){D(G)};else if(typeof MessageChannel<"u"){var Q=new MessageChannel,te=Q.port2;Q.port1.onmessage=G,X=function(){te.postMessage(null)}}else X=function(){A(G,0)};function le(k,W){U=A(function(){k(r.unstable_now())},W)}r.unstable_IdlePriority=5,r.unstable_ImmediatePriority=1,r.unstable_LowPriority=4,r.unstable_NormalPriority=3,r.unstable_Profiling=null,r.unstable_UserBlockingPriority=2,r.unstable_cancelCallback=function(k){k.callback=null},r.unstable_forceFrameRate=function(k){0>k||125<k?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):z=0<k?Math.floor(1e3/k):5},r.unstable_getCurrentPriorityLevel=function(){return y},r.unstable_next=function(k){switch(y){case 1:case 2:case 3:var W=3;break;default:W=y}var ee=y;y=W;try{return k()}finally{y=ee}},r.unstable_requestPaint=function(){b=!0},r.unstable_runWithPriority=function(k,W){switch(k){case 1:case 2:case 3:case 4:case 5:break;default:k=3}var ee=y;y=k;try{return W()}finally{y=ee}},r.unstable_scheduleCallback=function(k,W,ee){var pe=r.unstable_now();switch(typeof ee=="object"&&ee!==null?(ee=ee.delay,ee=typeof ee=="number"&&0<ee?pe+ee:pe):ee=pe,k){case 1:var H=-1;break;case 2:H=250;break;case 5:H=1073741823;break;case 4:H=1e4;break;default:H=5e3}return H=ee+H,k={id:m++,callback:W,priorityLevel:k,startTime:ee,expirationTime:H,sortIndex:-1},ee>pe?(k.sortIndex=ee,e(d,k),t(f)===null&&k===t(d)&&(M?(w(U),U=-1):M=!0,le(I,ee-pe))):(k.sortIndex=H,e(f,k),S||_||(S=!0,O||(O=!0,X()))),k},r.unstable_shouldYield=N,r.unstable_wrapCallback=function(k){var W=y;return function(){var ee=y;y=W;try{return k.apply(this,arguments)}finally{y=ee}}}}(rM)),rM}var mw;function yU(){return mw||(mw=1,iM.exports=vU()),iM.exports}var sM={exports:{}},fs={};/**
26 * @license React
27 * react-dom.production.js
28 *
29 * Copyright (c) Meta Platforms, Inc. and affiliates.
30 *
31 * This source code is licensed under the MIT license found in the
32 * LICENSE file in the root directory of this source tree.
33 */var gw;function _U(){if(gw)return fs;gw=1;var r=Ro();function e(f){var d="https://react.dev/errors/"+f;if(1<arguments.length){d+="?args[]="+encodeURIComponent(arguments[1]);for(var m=2;m<arguments.length;m++)d+="&args[]="+encodeURIComponent(arguments[m])}return"Minified React error #"+f+"; visit "+d+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function t(){}var n={d:{f:t,r:function(){throw Error(e(522))},D:t,C:t,L:t,m:t,X:t,S:t,M:t},p:0,findDOMNode:null},i=Symbol.for("react.portal");function s(f,d,m){var g=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:i,key:g==null?null:""+g,children:f,containerInfo:d,implementation:m}}var o=r.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
vendor: 4,173 bytes, lines 33-41
33function c(f,d){if(f==="font")return"";if(typeof d=="string")return d==="use-credentials"?d:""}return fs.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=n,fs.createPortal=function(f,d){var m=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!d||d.nodeType!==1&&d.nodeType!==9&&d.nodeType!==11)throw Error(e(299));return s(f,d,null,m)},fs.flushSync=function(f){var d=o.T,m=n.p;try{if(o.T=null,n.p=2,f)return f()}finally{o.T=d,n.p=m,n.d.f()}},fs.preconnect=function(f,d){typeof f=="string"&&(d?(d=d.crossOrigin,d=typeof d=="string"?d==="use-credentials"?d:"":void 0):d=null,n.d.C(f,d))},fs.prefetchDNS=function(f){typeof f=="string"&&n.d.D(f)},fs.preinit=function(f,d){if(typeof f=="string"&&d&&typeof d.as=="string"){var m=d.as,g=c(m,d.crossOrigin),y=typeof d.integrity=="string"?d.integrity:void 0,_=typeof d.fetchPriority=="string"?d.fetchPriority:void 0;m==="style"?n.d.S(f,typeof d.precedence=="string"?d.precedence:void 0,{crossOrigin:g,integrity:y,fetchPriority:_}):m==="script"&&n.d.X(f,{crossOrigin:g,integrity:y,fetchPriority:_,nonce:typeof d.nonce=="string"?d.nonce:void 0})}},fs.preinitModule=function(f,d){if(typeof f=="string")if(typeof d=="object"&&d!==null){if(d.as==null||d.as==="script"){var m=c(d.as,d.crossOrigin);n.d.M(f,{crossOrigin:m,integrity:typeof d.integrity=="string"?d.integrity:void 0,nonce:typeof d.nonce=="string"?d.nonce:void 0})}}else d==null&&n.d.M(f)},fs.preload=function(f,d){if(typeof f=="string"&&typeof d=="object"&&d!==null&&typeof d.as=="string"){var m=d.as,g=c(m,d.crossOrigin);n.d.L(f,m,{crossOrigin:g,integrity:typeof d.integrity=="string"?d.integrity:void 0,nonce:typeof d.nonce=="string"?d.nonce:void 0,type:typeof d.type=="string"?d.type:void 0,fetchPriority:typeof d.fetchPriority=="string"?d.fetchPriority:void 0,referrerPolicy:typeof d.referrerPolicy=="string"?d.referrerPolicy:void 0,imageSrcSet:typeof d.imageSrcSet=="string"?d.imageSrcSet:void 0,imageSizes:typeof d.imageSizes=="string"?d.imageSizes:void 0,media:typeof d.media=="string"?d.media:void 0})}},fs.preloadModule=function(f,d){if(typeof f=="string")if(d){var m=c(d.as,d.crossOrigin);n.d.m(f,{as:typeof d.as=="string"&&d.as!=="script"?d.as:void 0,crossOrigin:m,integrity:typeof d.integrity=="string"?d.integrity:void 0})}else n.d.m(f)},fs.requestFormReset=function(f){n.d.r(f)},fs.unstable_batchedUpdates=function(f,d){return f(d)},fs.useFormState=function(f,d,m){return o.H.useFormState(f,d,m)},fs.useFormStatus=function(){return o.H.useHostTransitionStatus()},fs.version="19.1.1",fs}var vw;function XE(){if(vw)return sM.exports;vw=1;function r(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(r)}catch(e){console.error(e)}}return r(),sM.exports=_U(),sM.exports}/**
34 * @license React
35 * react-dom-client.production.js
36 *
37 * Copyright (c) Meta Platforms, Inc. and affiliates.
38 *
39 * This source code is licensed under the MIT license found in the
40 * LICENSE file in the root directory of this source tree.
41 */var yw;function xU(){if(yw)return m0;yw=1;var r=yU(),e=Ro(),t=XE();function n(a){var l="https://react.dev/errors/"+a;if(1<arguments.length){l+="?args[]="+encodeURIComponent(arguments[1]);for(var p=2;p<arguments.length;p++)l+="&args[]="+encodeURIComponent(arguments[p])}return"Minified React error #"+a+"; visit "+l+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function i(a){return!(!a||a.nodeType!==1&&a.nodeType!==9&&a.nodeType!==11)}function s(a){var l=a,p=a;if(a.alternate)for(;l.return;)l=l.return;else{a=l;do l=a,(l.flags&4098)!==0&&(p=l.return),a=l.return;while(a)}return l.tag===3?p:null}function o(a){if(a.tag===13){var l=a.memoizedState;if(l===null&&(a=a.alternate,a!==null&&(l=a.memoizedState)),l!==null)return l.dehydrated}return null}function c(a){if(s(a)!==a)throw Error(n(188))}function f(a){var l=a.alternate;if(!l){if(l=s(a),l===null)throw Error(n(188));return l!==a?null:a}for(var p=a,v=l;;){var E=p.return;if(E===null)break;var C=E.alternate;if(C===null){if(v=E.return,v!==null){p=v;continue}break}if(E.child===C.child){for(C=E.child;C;
vendor: 18,639 bytes, lines 41-48
41){if(C===p)return c(E),a;if(C===v)return c(E),l;C=C.sibling}throw Error(n(188))}if(p.return!==v.return)p=E,v=C;else{for(var F=!1,j=E.child;j;){if(j===p){F=!0,p=E,v=C;break}if(j===v){F=!0,v=E,p=C;break}j=j.sibling}if(!F){for(j=C.child;j;){if(j===p){F=!0,p=C,v=E;break}if(j===v){F=!0,v=C,p=E;break}j=j.sibling}if(!F)throw Error(n(189))}}if(p.alternate!==v)throw Error(n(190))}if(p.tag!==3)throw Error(n(188));return p.stateNode.current===p?a:l}function d(a){var l=a.tag;if(l===5||l===26||l===27||l===6)return a;for(a=a.child;a!==null;){if(l=d(a),l!==null)return l;a=a.sibling}return null}var m=Object.assign,g=Symbol.for("react.element"),y=Symbol.for("react.transitional.element"),_=Symbol.for("react.portal"),S=Symbol.for("react.fragment"),M=Symbol.for("react.strict_mode"),b=Symbol.for("react.profiler"),A=Symbol.for("react.provider"),w=Symbol.for("react.consumer"),D=Symbol.for("react.context"),B=Symbol.for("react.forward_ref"),I=Symbol.for("react.suspense"),O=Symbol.for("react.suspense_list"),U=Symbol.for("react.memo"),z=Symbol.for("react.lazy"),P=Symbol.for("react.activity"),N=Symbol.for("react.memo_cache_sentinel"),G=Symbol.iterator;function X(a){return a===null||typeof a!="object"?null:(a=G&&a[G]||a["@@iterator"],typeof a=="function"?a:null)}var Q=Symbol.for("react.client.reference");function te(a){if(a==null)return null;if(typeof a=="function")return a.$$typeof===Q?null:a.displayName||a.name||null;if(typeof a=="string")return a;switch(a){case S:return"Fragment";case b:return"Profiler";case M:return"StrictMode";case I:return"Suspense";case O:return"SuspenseList";case P:return"Activity"}if(typeof a=="object")switch(a.$$typeof){case _:return"Portal";case D:return(a.displayName||"Context")+".Provider";case w:return(a._context.displayName||"Context")+".Consumer";case B:var l=a.render;return a=a.displayName,a||(a=l.displayName||l.name||"",a=a!==""?"ForwardRef("+a+")":"ForwardRef"),a;case U:return l=a.displayName||null,l!==null?l:te(a.type)||"Memo";case z:l=a._payload,a=a._init;try{return te(a(l))}catch{}}return null}var le=Array.isArray,k=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,W=t.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ee={pending:!1,data:null,method:null,action:null},pe=[],H=-1;function re(a){return{current:a}}function ye(a){0>H||(a.current=pe[H],pe[H]=null,H--)}function Ae(a,l){H++,pe[H]=a.current,a.current=l}var Te=re(null),he=re(null),xe=re(null),Ne=re(null);function Oe(a,l){switch(Ae(xe,l),Ae(he,a),Ae(Te,null),l.nodeType){case 9:case 11:a=(a=l.documentElement)&&(a=a.namespaceURI)?HC(a):0;break;default:if(a=l.tagName,l=l.namespaceURI)l=HC(l),a=zC(l,a);else switch(a){case"svg":a=1;break;case"math":a=2;break;default:a=0}}ye(Te),Ae(Te,a)}function We(){ye(Te),ye(he),ye(xe)}function gt(a){a.memoizedState!==null&&Ae(Ne,a);var l=Te.current,p=zC(l,a.type);l!==p&&(Ae(he,a),Ae(Te,p))}function Ft(a){he.current===a&&(ye(Te),ye(he)),Ne.current===a&&(ye(Ne),c0._currentValue=ee)}var At=Object.prototype.hasOwnProperty,ne=r.unstable_scheduleCallback,Ie=r.unstable_cancelCallback,Le=r.unstable_shouldYield,Ge=r.unstable_requestPaint,ie=r.unstable_now,Ze=r.unstable_getCurrentPriorityLevel,ke=r.unstable_ImmediatePriority,Je=r.unstable_UserBlockingPriority,ht=r.unstable_NormalPriority,Lt=r.unstable_LowPriority,J=r.unstable_IdlePriority,V=r.log,me=r.unstable_setDisableYieldValue,we=null,Ue=null;function Re(a){if(typeof V=="function"&&me(a),Ue&&typeof Ue.setStrictMode=="function")try{Ue.setStrictMode(we,a)}catch{}}var ot=Math.clz32?Math.clz32:lt,$e=Math.log,St=Math.LN2;function lt(a){return a>>>=0,a===0?32:31-($e(a)/St|0)|0}var Ye=256,nt=4194304;function Mt(a){var l=a&42;if(l!==0)return l;switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194048;case 4194304:case 8388608:case 16777216:case 33554432:return a&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return a}}function yt(a,l,p){var v=a.pendingLanes;if(v===0)return 0;var E=0,C=a.suspendedLanes,F=a.pingedLanes;a=a.warmLanes;var j=v&134217727;return j!==0?(v=j&~C,v!==0?E=Mt(v):(F&=j,F!==0?E=Mt(F):p||(p=j&~a,p!==0&&(E=Mt(p))))):(j=v&~C,j!==0?E=Mt(j):F!==0?E=Mt(F):p||(p=v&~a,p!==0&&(E=Mt(p)))),E===0?0:l!==0&&l!==E&&(l&C)===0&&(C=E&-E,p=l&-l,C>=p||C===32&&(p&4194048)!==0)?l:E}function rt(a,l){return(a.pendingLanes&~(a.suspendedLanes&~a.pingedLanes)&l)===0}function Pt(a,l){switch(a){case 1:case 2:case 4:case 8:case 64:return l+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return l+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function se(){var a=Ye;return Ye<<=1,(Ye&4194048)===0&&(Ye=256),a}function Ke(){var a=nt;return nt<<=1,(nt&62914560)===0&&(nt=4194304),a}function Qe(a){for(var l=[],p=0;31>p;p++)l.push(a);return l}function ct(a,l){a.pendingLanes|=l,l!==268435456&&(a.suspendedLanes=0,a.pingedLanes=0,a.warmLanes=0)}function je(a,l,p,v,E,C){var F=a.pendingLanes;a.pendingLanes=p,a.suspendedLanes=0,a.pingedLanes=0,a.warmLanes=0,a.expiredLanes&=p,a.entangledLanes&=p,a.errorRecoveryDisabledLanes&=p,a.shellSuspendCounter=0;var j=a.entanglements,ae=a.expirationTimes,be=a.hiddenUpdates;for(p=F&~p;0<p;){var ze=31-ot(p),Xe=1<<ze;j[ze]=0,ae[ze]=-1;var Ce=be[ze];if(Ce!==null)for(be[ze]=null,ze=0;ze<Ce.length;ze++){var Be=Ce[ze];Be!==null&&(Be.lane&=-536870913)}p&=~Xe}v!==0&&Pe(a,v,0),C!==0&&E===0&&a.tag!==0&&(a.suspendedLanes|=C&~(F&~l))}function Pe(a,l,p){a.pendingLanes|=l,a.suspendedLanes&=~l;var v=31-ot(l);a.entangledLanes|=l,a.entanglements[v]=a.entanglements[v]|1073741824|p&4194090}function _t(a,l){var p=a.entangledLanes|=l;for(a=a.entanglements;p;){var v=31-ot(p),E=1<<v;E&l|a[v]&l&&(a[v]|=l),p&=~E}}function Nt(a){switch(a){case 2:a=1;break;case 8:a=4;break;case 32:a=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:a=128;break;case 268435456:a=134217728;break;default:a=0}return a}function hn(a){return a&=-a,2<a?8<a?(a&134217727)!==0?32:268435456:8:2}function ft(){var a=W.p;return a!==0?a:(a=window.event,a===void 0?32:rw(a.type))}function wt(a,l){var p=W.p;try{return W.p=a,l()}finally{W.p=p}}var Vt=Math.random().toString(36).slice(2),tt="__reactFiber$"+Vt,bt="__reactProps$"+Vt,Tt="__reactContainer$"+Vt,Ut="__reactEvents$"+Vt,gi="__reactListeners$"+Vt,jt="__reactHandles$"+Vt,Cn="__reactResources$"+Vt,kn="__reactMarker$"+Vt;function qt(a){delete a[tt],delete a[bt],delete a[Ut],delete a[gi],delete a[jt]}function An(a){var l=a[tt];if(l)return l;for(var p=a.parentNode;p;){if(l=p[Tt]||p[tt]){if(p=l.alternate,l.child!==null||p!==null&&p.child!==null)for(a=kC(a);a!==null;){if(p=a[tt])return p;a=kC(a)}return l}a=p,p=a.parentNode}return null}function vn(a){if(a=a[tt]||a[Tt]){var l=a.tag;if(l===5||l===6||l===13||l===26||l===27||l===3)return a}return null}function Gi(a){var l=a.tag;if(l===5||l===26||l===27||l===6)return a.stateNode;throw Error(n(33))}function On(a){var l=a[Cn];return l||(l=a[Cn]={hoistableStyles:new Map,hoistableScripts:new Map}),l}function Bn(a){a[kn]=!0}var dr=new Set,vi={};function Y(a,l){ce(a,l),ce(a+"Capture",l)}function ce(a,l){for(vi[a]=l,a=0;a<l.length;a++)dr.add(l[a])}var _e=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Ee={},de={};function Ve(a){return At.call(de,a)?!0:At.call(Ee,a)?!1:_e.test(a)?de[a]=!0:(Ee[a]=!0,!1)}function et(a,l,p){if(Ve(l))if(p===null)a.removeAttribute(l);else{switch(typeof p){case"undefined":case"function":case"symbol":a.removeAttribute(l);return;case"boolean":var v=l.toLowerCase().slice(0,5);if(v!=="data-"&&v!=="aria-"){a.removeAttribute(l);return}}a.setAttribute(l,""+p)}}function vt(a,l,p){if(p===null)a.removeAttribute(l);else{switch(typeof p){case"undefined":case"function":case"symbol":case"boolean":a.removeAttribute(l);return}a.setAttribute(l,""+p)}}function ut(a,l,p,v){if(v===null)a.removeAttribute(p);else{switch(typeof v){case"undefined":case"function":case"symbol":case"boolean":a.removeAttribute(p);return}a.setAttributeNS(l,p,""+v)}}var Ot,Rt;function Et(a){if(Ot===void 0)try{throw Error()}catch(p){var l=p.stack.trim().match(/\n( *(at )?)/);Ot=l&&l[1]||"",Rt=-1<p.stack.indexOf(`
42    at`)?" (<anonymous>)":-1<p.stack.indexOf("@")?"@unknown:0:0":""}return`
43`+Ot+a+Rt}var $t=!1;function rn(a,l){if(!a||$t)return"";$t=!0;var p=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var v={DetermineComponentFrameRoot:function(){try{if(l){var Xe=function(){throw Error()};if(Object.defineProperty(Xe.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Xe,[])}catch(Be){var Ce=Be}Reflect.construct(a,[],Xe)}else{try{Xe.call()}catch(Be){Ce=Be}a.call(Xe.prototype)}}else{try{throw Error()}catch(Be){Ce=Be}(Xe=a())&&typeof Xe.catch=="function"&&Xe.catch(function(){})}}catch(Be){if(Be&&Ce&&typeof Be.stack=="string")return[Be.stack,Ce.stack]}return[null,null]}};v.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var E=Object.getOwnPropertyDescriptor(v.DetermineComponentFrameRoot,"name");E&&E.configurable&&Object.defineProperty(v.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var C=v.DetermineComponentFrameRoot(),F=C[0],j=C[1];if(F&&j){var ae=F.split(`
44`),be=j.split(`
45`);for(E=v=0;v<ae.length&&!ae[v].includes("DetermineComponentFrameRoot");)v++;for(;E<be.length&&!be[E].includes("DetermineComponentFrameRoot");)E++;if(v===ae.length||E===be.length)for(v=ae.length-1,E=be.length-1;1<=v&&0<=E&&ae[v]!==be[E];)E--;for(;1<=v&&0<=E;v--,E--)if(ae[v]!==be[E]){if(v!==1||E!==1)do if(v--,E--,0>E||ae[v]!==be[E]){var ze=`
46`+ae[v].replace(" at new "," at ");return a.displayName&&ze.includes("<anonymous>")&&(ze=ze.replace("<anonymous>",a.displayName)),ze}while(1<=v&&0<=E);break}}}finally{$t=!1,Error.prepareStackTrace=p}return(p=a?a.displayName||a.name:"")?Et(p):""}function ui(a){switch(a.tag){case 26:case 27:case 5:return Et(a.type);case 16:return Et("Lazy");case 13:return Et("Suspense");case 19:return Et("SuspenseList");case 0:case 15:return rn(a.type,!1);case 11:return rn(a.type.render,!1);case 1:return rn(a.type,!0);case 31:return Et("Activity");default:return""}}function Wn(a){try{var l="";do l+=ui(a),a=a.return;while(a);return l}catch(p){return`
47Error generating stack: `+p.message+`
48`+p.stack}}function sn(a){switch(typeof a){case"bigint":case"boolean":case"number":case"string":case"undefined":return a;case"object":return a;default:return""}}function Ht(a){var l=a.type;return(a=a.nodeName)&&a.toLowerCase()==="input"&&(l==="checkbox"||l==="radio")}function fi(a){var l=Ht(a)?"checked":"value",p=Object.getOwnPropertyDescriptor(a.constructor.prototype,l),v=""+a[l];if(!a.hasOwnProperty(l)&&typeof p<"u"&&typeof p.get=="function"&&typeof p.set=="function"){var E=p.get,C=p.set;return Object.defineProperty(a,l,{configurable:!0,get:function(){return E.call(this)},set:function(F){v=""+F,C.call(this,F)}}),Object.defineProperty(a,l,{enumerable:p.enumerable}),{getValue:function(){return v},setValue:function(F){v=""+F},stopTracking:function(){a._valueTracker=null,delete a[l]}}}}function yn(a){a._valueTracker||(a._valueTracker=fi(a))}function pr(a){if(!a)return!1;var l=a._valueTracker;if(!l)return!0;var p=l.getValue(),v="";return a&&(v=Ht(a)?a.checked?"true":"false":a.value),a=v,a!==p?(l.setValue(a),!0):!1}function $s(a){if(a=a||(typeof document<"u"?document:void 0),typeof a>"u")return null;try{return a.activeElement||a.body}catch{return a.body}}var mr=/[\n"\\]/g;function qi(a){return a.replace(mr,function(l){return"\\"+l.charCodeAt(0).toString(16)+" "})}function Qn(a,l,p,v,E,C,F,j){a.name="",F!=null&&typeof F!="function"&&typeof F!="symbol"&&typeof F!="boolean"?a.type=F:a.removeAttribute("type"),l!=null?F==="number"?(l===0&&a.value===""||a.value!=l)&&(a.value=""+sn(l)):a.value!==""+sn(l)&&(a.value=""+sn(l)):F!=="submit"&&F!=="reset"||a.removeAttribute("value"),l!=null?gr(a,F,sn(l)):p!=null?gr(a,F,sn(p)):v!=null&&a.removeAttribute("value"),E==null&&C!=null&&(a.defaultChecked=!!C),E!=null&&(a.checked=E&&typeof E!="function"&&typeof E!="symbol"),j!=null&&typeof j!="function"&&typeof j!="symbol"&&typeof j!="boolean"?a.name=""+sn(j):a.removeAttribute("name")}function Or(a,l,p,v,E,C,F,j){if(C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"&&(a.type=C),l!=null||p!=null){if(!(C!=="submit"&&C!=="reset"||l!=null))return;p=p!=null?""+sn(p):"",l=l!=null?""+sn(l):p,j||l===a.value||(a.value=l),a.defaultValue=l}v=v??E,v=typeof v!="function"&&typeof v!="symbol"&&!!v,a.checked=j?a.checked:!!v,a.defaultChecked=!!v,F!=null&&typeof F!="function"&&typeof F!="symbol"&&typeof F!="boolean"&&(a.name=F)}function gr(a,l,p){l==="number"&&$s(a.ownerDocument)===a||a.defaultValue===""+p||(a.defaultValue=""+p)}function xi(a,l,p,v){if(a=a.options,l){l={};for(var E=0;E<p.length;E++)l["$"+p[E]]=!0;for(p=0;p<a.length;p++)E=l.hasOwnProperty("$"+a[p].value),a[p].selected!==E&&(a[p].selected=E),E&&v&&(a[p].defaultSelected=!0)}else{for(p=""+sn(p),l=null,E=0;E<a.length;E++){if(a[E].value===p){a[E].selected=!0,v&&(a[E].defaultSelected=!0);return}l!==null||a[E].disabled||(l=a[E])}l!==null&&(l.selected=!0)}}function vr(a,l,p){if(l!=null&&(l=""+sn(l),l!==a.value&&(a.value=l),p==null)){a.defaultValue!==l&&(a.defaultValue=l);return}a.defaultValue=p!=null?""+sn(p):""}function hc(a,l,p,v){if(l==null){if(v!=null){if(p!=null)throw Error(n(92));if(le(v)){if(1<v.length)throw Error(n(93));v=v[0]}p=v}p==null&&(p=""),l=p}p=sn(l),a.defaultValue=p,v=a.textContent,v===p&&v!==""&&v!==null&&(a.value=v)}function Wi(a,l){if(l){var p=a.firstChild;if(p&&p===a.lastChild&&p.nodeType===3){p.nodeValue=l;return}}a.textContent=l}var sy=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Pf(a,l,p){var v=l.indexOf("--")===0;p==null||typeof p=="boolean"||p===""?v?a.setProperty(l,""):l==="float"?a.cssFloat="":a[l]="":v?a.setProperty(l,p):typeof p!="number"||p===0||sy.has(l)?l==="float"?a.cssFloat=p:a[l]=(""+p).trim():a[l]=p+"px"}function Hf(a,l,p){if(l!=null&&typeof l!="object")throw Error(n(62));if(a=a.style,p!=null){for(var v in p)!p.hasOwnProperty(v)||l!=null&&l.hasOwnProperty(v)||(v.indexOf("--")===0?a.setProperty(v,""):v==="float"?a.cssFloat="":a[v]="");for(var E in l)v=l[E],l.hasOwnProperty(E)&&p[E]!==v&&Pf(a,E,v)}else for(var C in l)l.hasOwnProperty(C)&&Pf(a,C,l[C])}function Bd(a){if(a.indexOf("-")===-1)return!1;switch(a){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var tg=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode
48-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),ay=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function zf(a){return ay.test(""+a)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":a}var Dd=null;function Od(a){return a=a.target||a.srcElement||window,a.correspondingUseElement&&(a=a.correspondingUseElement),a.nodeType===3?a.parentNode:a}var dl=null,dc=null;function ng(a){var l=vn(a);if(l&&(a=l.stateNode)){var p=a[bt]||null;e:switch(a=l.stateNode,l.type){case"input":if(Qn(a,p.value,p.defaultValue,p.defaultValue,p.checked,p.defaultChecked,p.type,p.name),l=p.name,p.type==="radio"&&l!=null){for(p=a;p.parentNode;)p=p.parentNode;for(p=p.querySelectorAll('input[name="'+qi(""+l)+'"][type="radio"]'),l=0;l<p.length;l++){var v=p[l];if(v!==a&&v.form===a.form){var E=v[bt]||null;if(!E)throw Error(n(90));Qn(v,E.value,E.defaultValue,E.defaultValue,E.checked,E.defaultChecked,E.type,E.name)}}for(l=0;l<p.length;l++)v=p[l],v.form===a.form&&pr(v)}break e;case"textarea":vr(a,p.value,p.defaultValue);break e;case"select":l=p.value,l!=null&&xi(a,!!p.multiple,l,!1)}}}var Ff=!1;function ig(a,l,p){if(Ff)return a(l,p);Ff=!0;try{var v=a(l);return v}finally{if(Ff=!1,(dl!==null||dc!==null)&&(mo(),dl&&(l=dl,a=dc,dc=dl=null,ng(l),a)))for(l=0;l<a.length;l++)ng(a[l])}}function cu(a,l){var p=a.stateNode;if(p===null)return null;var v=p[bt]||null;if(v===null)return null;p=v[l];e:switch(l){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(v=!v.disabled)||(a=a.type,v=!(a==="button"||a==="input"||a==="select"||a==="textarea")),a=!v;break e;default:a=!1}if(a)return null;if(p&&typeof p!="function")throw Error(n(231,l,typeof p));return p}var $a=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Gf=!1;if($a)try{var uu={};Object.defineProperty(uu,"passive",{get:function(){Gf=!0}}),window.addEventListener("test",uu,uu),window.removeEventListener("test",uu,uu)}catch{Gf=!1}var Oo=null,rg=null,Nd=null;function sg(){if(Nd)return Nd;var a,l=rg,p=l.length,v,E="value"in Oo?Oo.value:Oo.textContent,C=E.length;for(a=0;a<p&&l[a]===E[a];a++);var F=p-a;for(v=1;v<=F&&l[p-v]===E[C-v];v++);return Nd=E.slice(a,1<v?1-v:void 0)}function pl(a){var l=a.keyCode;return"charCode"in a?(a=a.charCode,a===0&&l===13&&(a=13)):a=l,a===10&&(a=13),32<=a||a===13?a:0}function fu(){return!0}function Vf(){return!1}function Xr(a){function l(p,v,E,C,F){this._reactName=p,this._targetInst=E,this.type=v,this.nativeEvent=C,this.target=F,this.currentTarget=null;for(var j in a)a.hasOwnProperty(j)&&(p=a[j],this[j]=p?p(C):C[j]);return this.isDefaultPrevented=(C.defaultPrevented!=null?C.defaultPrevented:C.returnValue===!1)?fu:Vf,this.isPropagationStopped=Vf,this}return m(l.prototype,{preventDefault:function(){this.defaultPrevented=!0;var p=this.nativeEvent;p&&(p.preventDefault?p.preventDefault():typeof p.returnValue!="unknown"&&(p.returnValue=!1),this.isDefaultPrevented=fu)},stopPropagation:function(){var p=this.nativeEvent;p&&(p.stopPropagation?p.stopPropagation():typeof p.cancelBubble!="unknown"&&(p.cancelBubble=!0),this.isPropagationStopped=fu)},persist:function(){},isPersistent:fu}),l}var ml={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},hu=Xr(ml),du=m({},ml,{view:0,detail:0}),oy=Xr(du),No,pu,mu,gu=m({},du,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Xf,button:0,buttons:0,relatedTarget:function(a){return a.relatedTarget===void 0?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){return"movementX"in a?a.movementX:(a!==mu&&(mu&&a.type==="mousemove"?(No=a.screenX-mu.screenX,pu=a.screenY-mu.screenY):pu=No=0,mu=a),No)},movementY:function(a){return"movementY"in a?a.movementY:pu}}),ag=Xr(gu),ly=m({},gu,{dataTransfer:0}),yb=Xr(ly),yr=m({},du,{relatedTarget:0}),Ld=Xr(yr),cy=m({},ml,{animationName:0,elapsedTime:0,pseudoElement:0}),uy=Xr(cy),fy=m({},ml,{clipboardData:function(a){return"clipboardData"in a?a.clipboardData:window.clipboardData}}),hy=Xr(fy),kf=m({},ml,{data:0}),Ud=Xr(kf),dy={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},py={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},my={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function og(a){var l=this.nativeEvent;return l.getModifierState?l.getModifierState(a):(a=my[a])?!!l[a]:!1}function Xf(){return og}var gy=m({}
vendor: 5,271 bytes, line 48
48,du,{key:function(a){if(a.key){var l=dy[a.key]||a.key;if(l!=="Unidentified")return l}return a.type==="keypress"?(a=pl(a),a===13?"Enter":String.fromCharCode(a)):a.type==="keydown"||a.type==="keyup"?py[a.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Xf,charCode:function(a){return a.type==="keypress"?pl(a):0},keyCode:function(a){return a.type==="keydown"||a.type==="keyup"?a.keyCode:0},which:function(a){return a.type==="keypress"?pl(a):a.type==="keydown"||a.type==="keyup"?a.keyCode:0}}),lg=Xr(gy),cg=m({},gu,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Id=Xr(cg),vy=m({},du,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Xf}),ug=Xr(vy),yy=m({},ml,{propertyName:0,elapsedTime:0,pseudoElement:0}),Lo=Xr(yy),fg=m({},gu,{deltaX:function(a){return"deltaX"in a?a.deltaX:"wheelDeltaX"in a?-a.wheelDeltaX:0},deltaY:function(a){return"deltaY"in a?a.deltaY:"wheelDeltaY"in a?-a.wheelDeltaY:"wheelDelta"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),_b=Xr(fg),_y=m({},ml,{newState:0,oldState:0}),gl=Xr(_y),Uo=[9,13,27,32],Yf=$a&&"CompositionEvent"in window,pc=null;$a&&"documentMode"in document&&(pc=document.documentMode);var jf=$a&&"TextEvent"in window&&!pc,qf=$a&&(!Yf||pc&&8<pc&&11>=pc),vl=" ",_r=!1;function Wf(a,l){switch(a){case"keyup":return Uo.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function hg(a){return a=a.detail,typeof a=="object"&&"data"in a?a.data:null}var yl=!1;function Jf(a,l){switch(a){case"compositionend":return hg(l);case"keypress":return l.which!==32?null:(_r=!0,vl);case"textInput":return a=l.data,a===vl&&_r?null:a;default:return null}}function dg(a,l){if(yl)return a==="compositionend"||!Yf&&Wf(a,l)?(a=sg(),Nd=rg=Oo=null,yl=!1,a):null;switch(a){case"paste":return null;case"keypress":if(!(l.ctrlKey||l.altKey||l.metaKey)||l.ctrlKey&&l.altKey){if(l.char&&1<l.char.length)return l.char;if(l.which)return String.fromCharCode(l.which)}return null;case"compositionend":return qf&&l.locale!=="ko"?null:l.data;default:return null}}var Pd={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function pg(a){var l=a&&a.nodeName&&a.nodeName.toLowerCase();return l==="input"?!!Pd[a.type]:l==="textarea"}function is(a,l,p,v){dl?dc?dc.push(v):dc=[v]:dl=v,l=y_(l,"onChange"),0<l.length&&(p=new hu("onChange","change",null,p,v),a.push({event:p,listeners:l}))}var vu=null,mc=null;function xy(a){NC(a,0)}function Kf(a){var l=Gi(a);if(pr(l))return a}function Hd(a,l){if(a==="change")return l}var zd=!1;if($a){var Fd;if($a){var yu="oninput"in document;if(!yu){var _u=document.createElement("div");_u.setAttribute("oninput","return;"),yu=typeof _u.oninput=="function"}Fd=yu}else Fd=!1;zd=Fd&&(!document.documentMode||9<document.documentMode)}function yi(){vu&&(vu.detachEvent("onpropertychange",Sy),mc=vu=null)}function Sy(a){if(a.propertyName==="value"&&Kf(mc)){var l=[];is(l,mc,a,Od(a)),ig(xy,l)}}function xb(a,l,p){a==="focusin"?(yi(),vu=l,mc=p,vu.attachEvent("onpropertychange",Sy)):a==="focusout"&&yi()}function Ay(a){if(a==="selectionchange"||a==="keyup"||a==="keydown")return Kf(mc)}function Qf(a,l){if(a==="click")return Kf(l)}function _l(a,l){if(a==="input"||a==="change")return Kf(l)}function by(a,l){return a===l&&(a!==0||1/a===1/l)||a!==a&&l!==l}var rs=typeof Object.is=="function"?Object.is:by;function ba(a,l){if(rs(a,l))return!0;if(typeof a!="object"||a===null||typeof l!="object"||l===null)return!1;var p=Object.keys(a),v=Object.keys(l);if(p.length!==v.length)return!1;for(v=0;v<p.length;v++){var E=p[v];if(!At.call(l,E)||!rs(a[E],l[E]))return!1}return!0}function ss(a){for(;a&&a.firstChild;)a=a.firstChild;return a}function mg(a,l){var p=ss(a);a=0;for(var v;p;){if(p.nodeType===3){if(v=a+p.textContent.length,a<=l&&v>=l)return{node:p,offset:l-a};a=v}e:{for(;p;){if(p.nextSibling){p=p.nextSibling;break e}p=p.parentNode}p=void 0}p=ss(p)}}function gg(a,l){return a&&l?a===l?!0:a&&a.nodeType===3?!1:l&&l.nodeType===3?gg(a,l.parentNode):"contains"in a?a.contains(l):a.compareDocumentPosition?!!(a.compareDocumentPosition(l)&16):!1:!1}function vg(a){a=a!=null&&a.ownerDocument!=null&&a.ownerDocument.defaultView!=null?a.ownerDocument.defaultView:window;for(var l=$s(a.document);l instanceof a.HTMLIFrameElement;){try{var p=typeof l.contentWindow.location.href=="string"}catch{p=!1}if(p)a=l.contentWindow;else break;l=$s(a.document)}return l}function Zf(a){var l=a&&a.nodeName&&a.nodeName.toLowerCase();return l&&(l==="input"&&(a.type==="text"||a.type==="search"||a.type==="tel"||a.type==="url"||a.type==="password")||l==="textarea"||a.contentEditable==="true")}var yg=$a&&"documentMode"in document&&11>=document.documentMode,Io=null,Gd=null,$f=null,Vd=!1;function _g(a,l,p){var v=p.window===p?p.document:p.nodeType===9?p:p.ownerDocument;Vd||Io==null||Io!==$s(v)||(v=Io,"selectionStart"in v&&Zf(v)?v={start:v.selectionStart,end:v.selectionEnd}:(v=(v.ownerDocument&&v.ownerDocument.defaultView||window).getSelection(),v={anchorNode:v.anchorNode,anchorOffset:v.anchorOffset,focu
vendor: 27,095 bytes, line 48
48sNode:v.focusNode,focusOffset:v.focusOffset}),$f&&ba($f,v)||($f=v,v=y_(Gd,"onSelect"),0<v.length&&(l=new hu("onSelect","select",null,l,p),a.push({event:l,listeners:v}),l.target=Io)))}function xr(a,l){var p={};return p[a.toLowerCase()]=l.toLowerCase(),p["Webkit"+a]="webkit"+l,p["Moz"+a]="moz"+l,p}var xl={animationend:xr("Animation","AnimationEnd"),animationiteration:xr("Animation","AnimationIteration"),animationstart:xr("Animation","AnimationStart"),transitionrun:xr("Transition","TransitionRun"),transitionstart:xr("Transition","TransitionStart"),transitioncancel:xr("Transition","TransitionCancel"),transitionend:xr("Transition","TransitionEnd")},kd={},My={};$a&&(My=document.createElement("div").style,"AnimationEvent"in window||(delete xl.animationend.animation,delete xl.animationiteration.animation,delete xl.animationstart.animation),"TransitionEvent"in window||delete xl.transitionend.transition);function Po(a){if(kd[a])return kd[a];if(!xl[a])return a;var l=xl[a],p;for(p in l)if(l.hasOwnProperty(p)&&p in My)return kd[a]=l[p];return a}var Yr=Po("animationend"),xg=Po("animationiteration"),as=Po("animationstart"),Ey=Po("transitionrun"),Ho=Po("transitionstart"),xu=Po("transitioncancel"),zo=Po("transitionend"),Xd=new Map,eh="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");eh.push("scrollEnd");function rr(a,l){Xd.set(a,l),Y(l,[a])}var Sg=new WeakMap;function Sr(a,l){if(typeof a=="object"&&a!==null){var p=Sg.get(a);return p!==void 0?p:(l={value:a,source:l,stack:Wn(l)},Sg.set(a,l),l)}return{value:a,source:l,stack:Wn(l)}}var Nr=[],ea=0,Yd=0;function th(){for(var a=ea,l=Yd=ea=0;l<a;){var p=Nr[l];Nr[l++]=null;var v=Nr[l];Nr[l++]=null;var E=Nr[l];Nr[l++]=null;var C=Nr[l];if(Nr[l++]=null,v!==null&&E!==null){var F=v.pending;F===null?E.next=E:(E.next=F.next,F.next=E),v.pending=E}C!==0&&Ag(p,E,C)}}function Sl(a,l,p,v){Nr[ea++]=a,Nr[ea++]=l,Nr[ea++]=p,Nr[ea++]=v,Yd|=v,a.lanes|=v,a=a.alternate,a!==null&&(a.lanes|=v)}function jd(a,l,p,v){return Sl(a,l,p,v),Su(a)}function Fo(a,l){return Sl(a,null,null,l),Su(a)}function Ag(a,l,p){a.lanes|=p;var v=a.alternate;v!==null&&(v.lanes|=p);for(var E=!1,C=a.return;C!==null;)C.childLanes|=p,v=C.alternate,v!==null&&(v.childLanes|=p),C.tag===22&&(a=C.stateNode,a===null||a._visibility&1||(E=!0)),a=C,C=C.return;return a.tag===3?(C=a.stateNode,E&&l!==null&&(E=31-ot(p),a=C.hiddenUpdates,v=a[E],v===null?a[E]=[l]:v.push(l),l.lane=p|536870912),C):null}function Su(a){if(50<po)throw po=0,Nc=null,Error(n(185));for(var l=a.return;l!==null;)a=l,l=a.return;return a.tag===3?a.stateNode:null}var Al={};function bg(a,l,p,v){this.tag=a,this.key=p,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=l,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=v,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function os(a,l,p,v){return new bg(a,l,p,v)}function nh(a){return a=a.prototype,!(!a||!a.isReactComponent)}function Di(a,l){var p=a.alternate;return p===null?(p=os(a.tag,l,a.key,a.mode),p.elementType=a.elementType,p.type=a.type,p.stateNode=a.stateNode,p.alternate=a,a.alternate=p):(p.pendingProps=l,p.type=a.type,p.flags=0,p.subtreeFlags=0,p.deletions=null),p.flags=a.flags&65011712,p.childLanes=a.childLanes,p.lanes=a.lanes,p.child=a.child,p.memoizedProps=a.memoizedProps,p.memoizedState=a.memoizedState,p.updateQueue=a.updateQueue,l=a.dependencies,p.dependencies=l===null?null:{lanes:l.lanes,firstContext:l.firstContext},p.sibling=a.sibling,p.index=a.index,p.ref=a.ref,p.refCleanup=a.refCleanup,p}function Mg(a,l){a.flags&=65011714;var p=a.alternate;return p===null?(a.childLanes=0,a.lanes=l,a.child=null,a.subtreeFlags=0,a.memoizedProps=null,a.memoizedState=null,a.updateQueue=null,a.dependencies=null,a.stateNode=null):(a.childLanes=p.childLanes,a.lanes=p.lanes,a.child=p.child,a.subtreeFlags=0,a.deletions=null,a.memoizedProps=p.memoizedProps,a.memoizedState=p.memoizedState,a.updateQueue=p.updateQueue,a.type=p.type,l=p.dependencies,a.dependencies=l===null?null:{lanes:l.lanes,firstContext:l.firstContext}),a}function sr(a,l,p,v,E,C){var F=0;if(v=a,typeof a=="function")nh(a)&&(F=1);else if(typeof a=="string")F=tU(a,p,Te.current)?26:a==="html"||a==="head"||a==="body"?27:5;else e:switch(a){case P:return a=os(31,p,l,E),a.elementType=P,a.lanes=C,a;case S:return bl(p.children,E,C,l);case M:F=8,E|=24;break;case b:return a=os(12,p,l,E|2),a.elementType=b,a.lanes=C,a;case I:return a=os(13,p,l,E),a.elementType=I,a.lanes=C,a;case O:return a=os(19,p,l,E),a.elementType=O,a.lanes=C,a;default:if(typeof a=="object"&&a!==null)switch(a.$$typeof){case A:case D:F=10;break e;case w:F=9;break e;case B:F=11;break e;case U:F=14;break e;case z:F=16,v=null;break e}F=29,p=Error(n(130,a===null?"null":typeof a,"")),v=null}return l=os(F,p,l,E),l.elementType=a,l.type=v,l.lanes=C,l}function bl(a,l,p,v){return a=os(7,a,v,l),a.lanes=p,a}function ih(a,l,p){return a=os(6,a,null,l),a.lanes=p,a}function qd(a,l,p){return l=os(4,a.children!==null?a.children:[],a.key,l),l.lanes=p,l.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation},l}var Au=[],ls=0,rh=null,bu=0,Ar=[],Es=0,Ml=null,eo=1,to="";function Go(a,l){Au[ls++]=bu,Au[ls++]=rh,rh=a,bu=l}function Wd(a,l,p){Ar[Es++]=eo,Ar[Es++]=to,Ar[Es++]=Ml,Ml=a;var v=eo;a=to;var E=32-ot(v)-1;v&=~(1<<E),p+=1;var C=32-ot(l)+E;if(30<C){var F=E-E%5;C=(v&(1<<F)-1).toString(32),v>>=F,E-=F,eo=1<<32-ot(l)+E|p<<E|v,to=C+a}else eo=1<<C|p<<E|v,to=a}function Eg(a){a.return!==null&&(Go(a,1),Wd(a,1,0))}function Tg(a){for(;a===rh;)rh=Au[--ls],Au[ls]=null,bu=Au[--ls],Au[ls]=null;for(;a===Ml;)Ml=Ar[--Es],Ar[Es]=null,to=Ar[--Es],Ar[Es]=null,eo=Ar[--Es],Ar[Es]=null}var jr=null,Si=null,Hn=!1,ta=null,Ts=!1,Jd=Error(n(519));function El(a){var l=Error(n(418,""));throw gc(Sr(l,a)),Jd}function Ty(a){var l=a.stateNode,p=a.type,v=a.memoizedProps;switch(l[tt]=a,l[bt]=v,p){case"dialog":wn("cancel",l),wn("close",l);break;case"iframe":case"object":case"embed":wn("load",l);break;case"video":case"audio":for(p=0;p<i0.length;p++)wn(i0[p],l);break;case"source":wn("error",l);break;case"img":case"image":case"link":wn("error",l),wn("load",l);break;case"details":wn("toggle",l);break;case"input":wn("invalid",l),Or(l,v.value,v.defaultValue,v.checked,v.defaultChecked,v.type,v.name,!0),yn(l);break;case"select":wn("invalid",l);break;case"textarea":wn("invalid",l),hc(l,v.value,v.defaultValue,v.children),yn(l)}p=v.children,typeof p!="string"&&typeof p!="number"&&typeof p!="bigint"||l.textContent===""+p||v.suppressHydrationWarning===!0||PC(l.textContent,p)?(v.popover!=null&&(wn("beforetoggle",l),wn("toggle",l)),v.onScroll!=null&&wn("scroll",l),v.onScrollEnd!=null&&wn("scrollend",l),v.onClick!=null&&(l.onclick=__),l=!0):l=!1,l||El(a)}function Cg(a){for(jr=a.return;jr;)switch(jr.tag){case 5:case 13:Ts=!1;return;case 27:case 3:Ts=!0;return;default:jr=jr.return}}function Ma(a){if(a!==jr)return!1;if(!Hn)return Cg(a),Hn=!0,!1;var l=a.tag,p;if((p=l!==3&&l!==27)&&((p=l===5)&&(p=a.type,p=!(p!=="form"&&p!=="button")||Fb(a.type,a.memoizedProps)),p=!p),p&&Si&&El(a),Cg(a),l===13){if(a=a.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(n(317));e:{for(a=a.nextSibling,l=0;a;){if(a.nodeType===8)if(p=a.data,p==="/$"){if(l===0){Si=tl(a.nextSibling);break e}l--}else p!=="$"&&p!=="$!"&&p!=="$?"||l++;a=a.nextSibling}Si=null}}else l===27?(l=Si,Wu(a.type)?(a=Xb,Xb=null,Si=a):Si=l):Si=jr?tl(a.stateNode.nextSibling):null;return!0}function Mu(){Si=jr=null,Hn=!1}function Xn(){var a=ta;return a!==null&&(Xt===null?Xt=a:Xt.push.apply(Xt,a),ta=null),a}function gc(a){ta===null?ta=[a]:ta.push(a)}var wg=re(null),Tl=null,Vo=null;function Cl(a,l,p){Ae(wg,l._currentValue),l._currentValue=p}function ko(a){a._currentValue=wg.current,ye(wg)}function Rg(a,l,p){for(;a!==null;){var v=a.alternate;if((a.childLanes&l)!==l?(a.childLanes|=l,v!==null&&(v.childLanes|=l)):v!==null&&(v.childLanes&l)!==l&&(v.childLanes|=l),a===p)break;a=a.return}}function sh(a,l,p,v){var E=a.child;for(E!==null&&(E.return=a);E!==null;){var C=E.dependencies;if(C!==null){var F=E.child;C=C.firstContext;e:for(;C!==null;){var j=C;C=E;for(var ae=0;ae<l.length;ae++)if(j.context===l[ae]){C.lanes|=p,j=C.alternate,j!==null&&(j.lanes|=p),Rg(C.return,p,a),v||(F=null);break e}C=j.next}}else if(E.tag===18){if(F=E.return,F===null)throw Error(n(341));F.lanes|=p,C=F.alternate,C!==null&&(C.lanes|=p),Rg(F,p,a),F=null}else F=E.child;if(F!==null)F.return=E;else for(F=E;F!==null;){if(F===a){F=null;break}if(E=F.sibling,E!==null){E.return=F.return,F=E;break}F=F.return}E=F}}function na(a,l,p,v){a=null;for(var E=l,C=!1;E!==null;){if(!C){if((E.flags&524288)!==0)C=!0;else if((E.flags&262144)!==0)break}if(E.tag===10){var F=E.alternate;if(F===null)throw Error(n(387));if(F=F.memoizedProps,F!==null){var j=E.type;rs(E.pendingProps.value,F.value)||(a!==null?a.push(j):a=[j])}}else if(E===Ne.current){if(F=E.alternate,F===null)throw Error(n(387));F.memoizedState.memoizedState!==E.memoizedState.memoizedState&&(a!==null?a.push(c0):a=[c0])}E=E.return}a!==null&&sh(l,a,p,v),l.flags|=262144}function ah(a){for(a=a.firstContext;a!==null;){if(!rs(a.context._currentValue,a.memoizedValue))return!0;a=a.next}return!1}function no(a){Tl=a,Vo=null,a=a.dependencies,a!==null&&(a.firstContext=null)}function bi(a){return Kd(Tl,a)}function oh(a,l){return Tl===null&&no(a),Kd(a,l)}function Kd(a,l){var p=l._currentValue;if(l={context:l,memoizedValue:p,next:null},Vo===null){if(a===null)throw Error(n(308));Vo=l,a.dependencies={lanes:0,firstContext:l},a.flags|=524288}else Vo=Vo.next=l;return p}var Bg=typeof AbortController<"u"?AbortController:function(){var a=[],l=this.signal={aborted:!1,addEventListener:function(p,v){a.push(v)}};this.abort=function(){l.aborted=!0,a.forEach(function(p){return p()})}},Sb=r.unstable_scheduleCallback,Cy=r.unstable_NormalPriority,Vi={$$typeof:D,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Qd(){return{controller:new Bg,data:new Map,refCount:0}}function Eu(a){a.refCount--,a.refCount===0&&Sb(Cy,function(){a.controller.abort()})}var Tu=null,lh=0,an=0,Cu=null;function Cs(a,l){if(Tu===null){var p=Tu=[];lh=0,an=Db(),Cu={status:"pending",value:void 0,then:function(v){p.push(v)}}}return lh++,l.then(Zd,Zd),l}function Zd(){if(--lh===0&&Tu!==null){Cu!==null&&(Cu.status="fulfilled");var a=Tu;Tu=null,an=0,Cu=null;for(var l=0;l<a.length;l++)(0,a[l])()}}function Ab(a,l){var p=[],v={status:"pending",value:null,reason:null,then:function(E){p.push(E)}};return a.then(function(){v.status="fulfilled",v.value=l;for(var E=0;E<p.length;E++)(0,p[E])(l)},function(E){for(v.status="rejected",v.reason=E,E=0;E<p.length;E++)(0,p[E])(void 0)}),v}var ch=k.S;k.S=function(a,l){typeof l=="object"&&l!==null&&typeof l.then=="function"&&Cs(a,l),ch!==null&&ch(a,l)};var ia=re(null);function wl(){var a=ia.current;return a!==null?a:tn.pooledCache}function uh(a,l){l===null?Ae(ia,ia.current):Ae(ia,l.pool)}function $d(){var a=wl();return a===null?null:{parent:Vi._currentValue,pool:a}}var fh=Error(n(460)),Dg=Error(n(474)),Ea=Error(n(542)),hh={then:function(){}};function ep(a){return a=a.status,a==="fulfilled"||a==="rejected"}function wu(){}function tp(a,l,p){switch(p=a[p],p===void 0?a.push(l):p!==l&&(l.then(wu,wu),l=p),l.status){case"fulfilled":return l.value;case"rejected":throw a=l.reason,wy(a),a;default:if(typeof l.status=="string")l.then(wu,wu);else{if(a=tn,a!==null&&100<a.shellSuspendCounter)throw Error(n(482));a=l,a.status="pending",a.then(function(v){if(l.status==="pending"){var E=l;E.status="fulfilled",E.value=v}},function(v){if(l.status==="pending"){var E=l;E.status="rejected",E.reason=v}})}switch(l.status){case"fulfilled":return l.value;case"rejected":throw a=l.reason,wy(a),a}throw ra=l,fh}}var ra=null;function Og(){if(ra===null)throw Error(n(459));var a=ra;return ra=null,a}function wy(a){if(a===fh||a===Ea)throw Error(n(483))}var Xo=!1;function Ng(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Kt(a,l){a=a.updateQueue,l.updateQueue===a&&(l.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,callbacks:null})}function io(a){return{lane:a,tag:0,payload:null,callback:null,next:null}}function Yo(a,l,p){var v=a.updateQueue;if(v===null)return null;if(v=v.shared,(Yn&2)!==0){var E=v.pending;return E===null?l.next=l:(l.next=E.next,E.next=l),v.pending=l,l=Su(a),Ag(a,null,p),l}return Sl(a,v,l,p),Su(a)}function vc(a,l,p){if(l=l.updateQueue,l!==null&&(l=l.shared,(p&4194048)!==0)){var v=l.lanes;v&=a.pendingLanes,p|=v,l.lanes=p,_t(a,p)}}function Ru(a,l){var p=a.updateQueue,v=a.alternate;if(v!==null&&(v=v.updateQueue,p===v)){var E=null,C=null;if(p=p.firstBaseUpdate,p!==null){do{var F={lane:p.lane,tag:p.tag,payload:p.payload,callback:null,next:null};C===null?E=C=F:C=C.next=F,p=p.next}while(p!==null);C===null?E=C=l:C=C.next=l}else E=C=l;p={baseState:v.baseState,firstBaseUpdate:E,lastBaseUpdate:C,shared:v.shared,callbacks:v.callbacks},a.updateQueue=p;return}a=p.lastBaseUpdate,a===null?p.firstBaseUpdate=l:a.next=l,p.lastBaseUpdate=l}var Lg=!1;function dh(){if(Lg){var a=Cu;if(a!==null)throw a}}function Bu(a,l,p,v){Lg=!1;var E=a.updateQueue;Xo=!1;var C=E.firstBaseUpdate,F=E.lastBaseUpdate,j=E.shared.pending;if(j!==null){E.shared.pending=null;var ae=j,be=ae.next;ae.next=null,F===null?C=be:F.next=be,F=ae;var ze=a.alternate;ze!==null&&(ze=ze.updateQueue,j=ze.lastBaseUpdate,j!==F&&(j===null?ze.firstBaseUpdate=be:j.next=be,ze.lastBaseUpdate=ae))}if(C!==null){var Xe=E.baseState;F=0,ze=be=ae=null,j=C;do{var Ce=j.lane&-536870913,Be=Ce!==j.lane;if(Be?(Gt&Ce)===Ce:(v&Ce)===Ce){Ce!==0&&Ce===an&&(Lg=!0),ze!==null&&(ze=ze.next={lane:0,tag:j.tag,payload:j.payload,callback:null,next:null});e:{var en=a,Wt=j;Ce=l;var ci=p;switch(Wt.tag){case 1:if(en=Wt.payload,typeof en=="function"){Xe=en.call(ci,Xe,Ce);break e}Xe=en;break e;case 3:en.flags=en.flags&-65537|128;case 0:if(en=Wt.payload,Ce=typeof en=="function"?en.call(ci,Xe,Ce):en,Ce==null)break e;Xe=m({},Xe,Ce);break e;case 2:Xo=!0}}Ce=j.callback,Ce!==null&&(a.flags|=64,Be&&(a.flags|=8192),Be=E.callbacks,Be===null?E.callbacks=[Ce]:Be.push(Ce))}else Be={lane:Ce,tag:j.tag,payload:j.payload,callback:j.callback,next:null},ze===null?(be=ze=Be,ae=Xe):ze=ze.next=Be,F|=Ce;if(j=j.next,j===null){if(j=E.shared.pending,j===null)break;Be=j,j=Be.next,Be.next=null,E.lastBaseUpdate=Be,E.shared.pending=null}}while(!0);ze===null&&(ae=Xe),E.baseState=ae,E.firstBaseUpdate=be,E.lastBaseUpdate=ze,C===null&&(E.shared.lanes=0),Na|=F,a.lanes=F,a.memoizedState=Xe}}function Du(a,l){if(typeof a!="function")throw Error(n(191,a));a.call(l)}function Ry(a,l){var p=a.callbacks;if(p!==null)for(a.callbacks=null,a=0;a<p.length;a++)Du(p[a],l)}var Ou=re(null),np=re(0);function By(a,l){a=ua,Ae(np,a),Ae(Ou,l),ua=a|l.baseLanes}function Ug(){Ae(np,ua),Ae(Ou,Ou.current)}function ph(){ua=np.current,ye(Ou),ye(np)}var jo=0,on=null,Jn=null,ki=null,ip=!1,Rl=!1,qr=!1,Ji=0,sa=0,br=null,Dy=0;function Oi(){throw Error(n(321))}function Lr(a,l){if(l===null)return!1;for(var p=0;p<l.length&&p<a.length;p++)if(!rs(a[p],l[p]))return!1;return!0}function qo(a,l,p,v,E,C){return jo=C,on=l,l.memoizedState=null,l.updateQueue=null,l.lanes=0,k.H=a===null||a.memoizedState===null?hp:Qg,qr=!1,C=p(v,E),qr=!1,Rl&&(C=Ny(l,p,v,E)),Oy(a),C}function Oy(a){k.H=vh;var l=Jn!==null&&Jn.next!==null;if(jo=0,ki=Jn=on=null,ip=!1,sa=0,br=null,l)throw Error(n(300));a===null||ar||(a=a.dependencies,a!==null&&ah(a)&&(ar=!0))}function Ny(a,l,p,v){on=a;var E=0;do{if(Rl&&(br=null),sa=0,Rl=!1,25<=E)throw Error(n(301));if(E+=1,ki=Jn=null,a.updateQueue!=null){var C=a.updateQueue;C.lastEffect=null,C.events=null,C.stores=null,C.memoCache!=null&&(C.memoCache.index=0)}k.H=s_,C=l(p,v)}while(Rl);return C}function bb(){var a=k.H,l=a.useState()[0];return l=typeof l.then=="function"?Ta(l):l,a=a.useState()[0],(Jn!==null?Jn.memoizedState:null)!==a&&(on.flags|=1024),l}function Ig(){var a=Ji!==0;return Ji=0,a}function rp(a,l,p){l.updateQueue=a.updateQueue,l.flags&=-2053,a.lanes&=~p}function Pg(a){if(ip){for(a=a.memoizedState;a!==null;){var l=a.queue;l!==null&&(l.pending=null),a=a.next}ip=!1}jo=0,ki=Jn=on=null,Rl=!1,sa=Ji=0,br=null}function Wr(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return ki===null?on.memoizedState=ki=a:ki=ki.next=a,ki}function Xi(){if(Jn===null){var a=on.alternate;a=a!==null?a.memoizedState:null}else a=Jn.next;var l=ki===null?on.memoizedState:ki.next;if(l!==null)ki=l,Jn=a;else{if(a===null)throw on.alternate===null?Error(n(467)):Error(n(310));Jn=a,a={memoizedState:Jn.memoizedState,baseState:Jn.baseState,baseQueue:Jn.baseQueue,queue:Jn.queue,next:null},ki===null?on.memoizedState=ki=a:ki=ki.next=a}return ki}function Bl(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Ta(a){var l=sa;return sa+=1,br===null&&(br=[]),a=tp(br,a,l),l=on,(ki===null?l.memoizedState:ki.next)===null&&(l=l.alternate,k.H=l===null||l.memoizedState===null?hp:Qg),a}function sp(a){if(a!==null&&typeof a=="object"){if(typeof a.then=="function")return Ta(a);if(a.$$typeof===D)return bi(a)}throw Error(n(438,String(a)))}function Hg(a){var l=null,p=on.updateQueue;if(p!==null&&(l=p.memoCache),l==null){var v=on.alternate;v!==null&&(v=v.updateQueue,v!==null&&(v=v.memoCache,v!=null&&(l={data:v.data.map(function(E){return E.slice()}),index:0})))}if(l==null&&(l={data:[],index:0}),p===null&&(p=Bl(),on.updateQueue=p),p.memoCache=l,p=l.data[l.index],p===void 0)for(p=l.data[l.index]=Array(a),v=0;v<a;v++)p[v]=N;return l.index++,p}function Wo(a,l){return typeof l=="function"?l(a):l}function Dl(a){var l=Xi();return zg(l,Jn,a)}function zg(a,l,p){var v=a.queue;if(v===null)throw Error(n(311));v.lastRenderedReducer=p;var E=a.baseQueue,C=v.pending;if(C!==null){if(E!==null){var F=E.next;E.next=C.next,C.next=F}l.baseQueue=E=C,v.pending=null}if(C=a.baseState,E===null)a.memoizedState=C;else{l=E.next;var j=F=null,ae=null,be=l,ze=!1;do{var Xe=be.lane&-536870913;if(Xe!==be.lane?(Gt&Xe)===Xe:(jo&Xe)===Xe){var Ce=be.revertLane;if(Ce===0)ae!==null&&(ae=ae.next={lane:0,revertLane:0,action:be.action,hasEagerState:be.hasEagerState,eagerState:be.eagerState,next:null}),Xe===an&&(ze=!0);else if((jo&Ce)===Ce){be=be.next,Ce===an&&(ze=!0);continue}else Xe={lane:0,revertLane:be.revertLane,action:be.action,hasEagerState:be.hasEagerState,eagerState:be.eagerState,next:null},ae===null?(j=ae=Xe,F=C):ae=ae.next=Xe,on.lanes|=Ce,Na|=Ce;Xe=be.action,qr&&p(C,Xe),C=be.hasEagerState?be.eagerState:p(C,Xe)}else Ce={lane:Xe,revertLane:be.revertLane,action:be.action,hasEagerState:be.hasEagerState,eagerState:be.eagerState,next:null},ae===null?(j=ae=Ce,F=C):ae=ae.next=Ce,on.lanes|=Xe,Na|=Xe;be=be.next}while(be!==null&&be!==l);if(ae===null?F=C:ae.next=j,!rs(C,a.memoizedState)&&(ar=!0,ze&&(p=Cu,p!==null)))throw p;a.memoizedState=C,a.baseState=F,a.baseQueue=ae,v.lastRenderedState=C}return E===null&&(v.lanes=0),[a.memoizedState,v.dispatch]}function Fg(a){var l=Xi(),p=l.queue;if(p===null)throw Error(n(311));p.lastRenderedReducer=a;var v=p.dispatch,E=p.pending,C=l.memoizedState;if(E!==null){p.pending=null;var F=E=E.next;do C=a(C,F.action),F=F.next;while(F!==E);rs(C,l.memoizedState)||(ar=!0),l.memoizedState=C,l.baseQueue===null&&(l.baseState=C),p.lastRenderedState=C}return[C,v]}function Ly(a,l,p){var v=on,E=Xi(),C=Hn;if(C){if(p===void 0)throw Error(n(407));p=p()}else p=l();var F=!rs((Jn||E).memoizedState,p);F&&(E.memoizedState=p,ar=!0),E=E.queue;var j=Iy.bind(null,v,E,a);if(Uu(2048,8,j,[a]),E.getSnapshot!==l||F||ki!==null&&ki.memoizedState.tag&1){if(v.flags|=2048,Lu(9,mh(),Uy.bind(null,v,E,p,l),null),tn===null)throw Error(n(349));C||(jo&124)!==0||Nu(v,l,p)}return p}function Nu(a,l,p){a.flags|=16384,a={getSnapshot:l,value:p},l=on.updateQueue,l===null?(l=Bl(),on.updateQueue=l,l.stores=[a]):(p=l.stores,p===null?l.stores=[a]:p.push(a))}function Uy(a,l,p,v){l.value=p,l.getSnapshot=v,Py(l)&&Hy(a)}function Iy(a,l,p){return p(function(){Py(l)&&Hy(a)})}function Py(a){var l=a.getSnapshot;a=a.value;try{var p=l();return!rs(a,p)}catch{return!0}}function Hy(a){var l=Fo(a,2);l!==null&&Qr(l,a,2)}function Gg(a){var l=Wr();if(typeof a=="function"){var p=a;if(a=p(),qr){Re(!0);try{p()}finally{Re(!1)}}}return l.memoizedState=l.baseState=a,l.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Wo,lastRenderedState:a},l}function zy(a,l,p,v){return a.baseState=p,zg(a,Jn,typeof v=="function"?v:Wo)}function Mb(a,l,p,v,E){if(fp(a))throw Error(n(485));if(a=l.action,a!==null){var C={payload:E,action:a,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(F){C.listeners.push(F)}};k.T!==null?p(!0):C.isTransition=!1,v(C),p=l.pending,p===null?(C.next=l.pending=C,Fy(l,C)):(C.next=p.next,l.pending=p.next=C)}}function Fy(a,l){var p=l.action,v=l.payload,E=a.state;if(l.isTransition){var C=k.T,F={};k.T=F;try{var j=p(E,v),ae=k.S;ae!==null&&ae(F,j),Gy(a,l,j)}catch(be){Vg(a,l,be)}finally{k.T=C}}else try{C=p(E,v),Gy(a,l,C)}catch(be){Vg(a,l,be)}}function Gy(a,l,p){p!==null&&typeof p=="object"&&typeof p.then=="function"?p.then(function(v){Vy(a,l,v)},function(v){return Vg(a,l,v)}):Vy(a,l,p)}function Vy(a,l,p){l.status="fulfilled",l.value=p,ky(l),a.state=p,l=a.pending,l!==null&&(p=l.next,p===l?a.pending=null:(p=p.next,l.next=p,Fy(a,p)))}function Vg(a,l,p){var v=a.pending;if(a.pending=null,v!==null){v=v.next;do l.status="rejected",l.reason=p,ky(l),l=l.next;while(l!==v)}a.action=null}function ky(a){a=a.listeners;for(var l=0;l<a.length;l++)(0,a[l])()}function kg(a,l){return l}function Xy(a,l){if(Hn){var p=tn.formState;if(p!==null){e:{var v=on;if(Hn){if(Si){t:{for(var E=Si,C=Ts;E.nodeType!==8;){if(!C){E=null;break t}if(E=tl(E.nextSibling),E===null){E=null;break t}}C=E.data,E=C==="F!"||C==="F"?E:null}if(E){Si=tl(E.nextSibling),v=E.data==="F!";break e}}El(v)}v=!1}v&&(l=p[0])}}return p=Wr(),p.memoizedState=p.baseState=l,v={pending:null,lanes:0,dispatch:null,lastRenderedReducer:kg,lastRenderedState:l},p.queue=v,p=i_.bind(null,on,v),v.dispatch=p,v=Gg(!1),C=up.bind(null,on,!1,v.queue),v=Wr(),E={state:l,dispatch:null,action:a,pending:null},v.queue=E,p=Mb.bind(null,on,E,C,p),E.dispatch=p,v.memoizedState=a,[l,p,!1]}function Yy(a){var l=Xi();return jy(l,Jn,a)}function jy(a,l,p){if(l=zg(a,l,kg)[0],a=Dl(Wo)[0],typeof l=="object"&&l!==null&&typeof l.then=="function")try{var v=Ta(l)}catch(F){throw F===fh?Ea:F}else v=l;l=Xi();var E=l.queue,C=E.dispatch;return p!==l.memoizedState&&(on.flags|=2048,Lu(9,mh(),Eb.bind(null,E,p),null)),[v,C,a]}function Eb(a,l){a.action=l}function qy(a){var l=Xi(),p=Jn;if(p!==null)return jy(l,p,a);Xi(),l=l.memoizedState,p=Xi();var v=p.queue.dispatch;return p.memoizedState=a,[l,v,!1]}function Lu(a,l,p,v){return a={tag:a,create:p,deps:v,inst:l,next:null},l=on.updateQueue,l===null&&(l=Bl(),on.updateQueue=l),p=l.lastEffect,p===null?l.lastEffect=a.next=a:(v=p.next,p.next=a,a.next=v,l.lastEffect=a),a}function mh(){return{destroy:void 0,resource:void 0}}function Xg(){return Xi().memoizedState}function ap(a,l,p,v){var E=Wr();v=v===void 0?null:v,on.flags|=a,E.memoizedState=Lu(1|l,mh(),p,v)}function Uu(a,l,p,v){var E=Xi();v=v===void 0?null:v;var C=E.memoizedState.inst;Jn!==null&&v!==null&&Lr(v,Jn.memoizedState.deps)?E.memoizedState=Lu(l,C,p,v):(on.flags|=a,E.memoizedState=Lu(1|l,C,p,v))}function Yg(a,l){ap(8390656,8,a,l)}function jg(a,l){Uu(2048,8,a,l)}function op(a,l){return Uu(4,2,a,l)}function lp(a,l){return Uu(4,4,a,l)}function Wy(a,l){if(typeof l=="function"){a=a();var p=l(a);return function(){typeof p=="function"?p():l(null)}}if(l!=null)return a=a(),l.current=a,function(){l.current=null}}function Jy(a,l,p){p=p!=null?p.concat([a]):null,Uu(4,4,Wy.bind(null,l,a),p)}function qg(){}function Ky(a,l){var p=Xi();l=l===void 0?null:l;var v=p.memoizedState;return l!==null&&Lr(l,v[1])?v[0]:(p.memoizedState=[a,l],a)}function Wg(a,l){var p=Xi();l=l===void 0?null:l;var v=p.memoizedState;if(l!==null&&Lr(l,v[1]))return v[0];if(v=a(),qr){Re(!0);try{a()}finally{Re(!1)}}return p.memoizedState=[v,l],v}function cp(a,l,p){return p===void 0||(jo&1073741824)!==0?a.memoizedState=l:(a.memoizedState=p,a=bp(),on.lanes|=a,Na|=a,p)}function Qy(a,l,p,v){return rs(p,l)?p:Ou.current!==null?(a=cp(a,p,v),rs(a,l)||(ar=!0),a):(jo&42)===0?(ar=!0,a.memoizedState=p):(a=bp(),on.lanes|=a,Na|=a,l)}function Zy(a,l,p,v,E){var C=W.p;W.p=C!==0&&8>C?C:8;var F=k.T,j={};k.T=j,up(a,!1,l,p);try{var ae=E(),be=k.S;if(be!==null&&be(j,ae),ae!==null&&typeof ae=="object"&&typeof ae.then=="function"){var ze=Ab(ae,v);gh(a,l,ze,Ti(a))}else gh(a,l,v,Ti(a))}catch(Xe){gh(a,l,{then:function(){},status:"rejected",reason:Xe},Ti())}finally{W.p=C,k.T=F}}function Tb(){}function Jg(a,l,p,v){if(a.tag!==5)throw Error(n(476));var E=$y(a).queue;Zy(a,E,l,ee,p===null?Tb:function(){return e_(a),p(v)})}function $y(a){var l=a.memoizedState;if(l!==null)return l;l={memoizedState:ee,baseState:ee,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Wo,lastRenderedState:ee},next:null};var p={};return l.next={memoizedState:p,baseState:p,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Wo,lastRenderedState:p},next:null},a.memoizedState=l,a=a.alternate,a!==null&&(a.memoizedState=l),l}function e_(a){var l=$y(a).next.queue;gh(a,l,{},Ti())}function Kg(){return bi(c0)}function t_(){return Xi().memoizedState}function n_(){return Xi().memoizedState}function Cb(a){for(var l=a.return;l!==null;){switch(l.tag){case 24:case 3:var p=Ti();a=io(p);var v=Yo(l,a,p);v!==null&&(Qr(v,l,p),vc(v,l,p)),l={cache:Qd()},a.payload=l;return}l=l.return}}function wb(a,l,p){var v=Ti();p={lane:v,revertLane:0,action:p,hasEagerState:!1,eagerState:null,next:null},fp(a)?r_(l,p):(p=jd(a,l,p,v),p!==null&&(Qr(p,a,v),ws(p,l,v)))}function i_(a,l,p){var v=Ti();gh(a,l,p,v)}function gh(a,l,p,v){var E={lane:v,revertLane:0,action:p,hasEagerState:!1,eagerState:null,next:null};if(fp(a))r_(l,E);else{var C=a.alternate;if(a.lanes===0&&(C===null||C.lanes===0)&&(C=l.lastRenderedReducer,C!==null))try{var F=l.lastRenderedState,j=C(F,p);if(E.hasEagerState=!0,E.eagerState=j,rs(j,F))return Sl(a,l,E,0),tn===null&&th(),!1}catch{}finally{}if(p=jd(a,l,E,v),p!==null)return Qr(p,a,v),ws(p,l,v),!0}return!1}function up(a,l,p,v){if(v={lane:2,revertLane:Db(),action:v,hasEagerState:!1,eagerState:null,next:null},fp(a)){if(l)throw Error(n(479))}else l=jd(a,p,v,2),l!==null&&Qr(l,a,2)}function fp(a){var l=a.alternate;return a===on||l!==null&&l===on}function r_(a,l){Rl=ip=!0;
vendor: 1,308 bytes, line 48
48var p=a.pending;p===null?l.next=l:(l.next=p.next,p.next=l),a.pending=l}function ws(a,l,p){if((p&4194048)!==0){var v=l.lanes;v&=a.pendingLanes,p|=v,l.lanes=p,_t(a,p)}}var vh={readContext:bi,use:sp,useCallback:Oi,useContext:Oi,useEffect:Oi,useImperativeHandle:Oi,useLayoutEffect:Oi,useInsertionEffect:Oi,useMemo:Oi,useReducer:Oi,useRef:Oi,useState:Oi,useDebugValue:Oi,useDeferredValue:Oi,useTransition:Oi,useSyncExternalStore:Oi,useId:Oi,useHostTransitionStatus:Oi,useFormState:Oi,useActionState:Oi,useOptimistic:Oi,useMemoCache:Oi,useCacheRefresh:Oi},hp={readContext:bi,use:sp,useCallback:function(a,l){return Wr().memoizedState=[a,l===void 0?null:l],a},useContext:bi,useEffect:Yg,useImperativeHandle:function(a,l,p){p=p!=null?p.concat([a]):null,ap(4194308,4,Wy.bind(null,l,a),p)},useLayoutEffect:function(a,l){return ap(4194308,4,a,l)},useInsertionEffect:function(a,l){ap(4,2,a,l)},useMemo:function(a,l){var p=Wr();l=l===void 0?null:l;var v=a();if(qr){Re(!0);try{a()}finally{Re(!1)}}return p.memoizedState=[v,l],v},useReducer:function(a,l,p){var v=Wr();if(p!==void 0){var E=p(l);if(qr){Re(!0);try{p(l)}finally{Re(!1)}}}else E=l;return v.memoizedState=v.baseState=E,a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:E},v.queue=a,a=a.dispatch=wb.bind(null,on,a),[v.memoizedState,a]}
vendor: 26,960 bytes, line 48
48,useRef:function(a){var l=Wr();return a={current:a},l.memoizedState=a},useState:function(a){a=Gg(a);var l=a.queue,p=i_.bind(null,on,l);return l.dispatch=p,[a.memoizedState,p]},useDebugValue:qg,useDeferredValue:function(a,l){var p=Wr();return cp(p,a,l)},useTransition:function(){var a=Gg(!1);return a=Zy.bind(null,on,a.queue,!0,!1),Wr().memoizedState=a,[!1,a]},useSyncExternalStore:function(a,l,p){var v=on,E=Wr();if(Hn){if(p===void 0)throw Error(n(407));p=p()}else{if(p=l(),tn===null)throw Error(n(349));(Gt&124)!==0||Nu(v,l,p)}E.memoizedState=p;var C={value:p,getSnapshot:l};return E.queue=C,Yg(Iy.bind(null,v,C,a),[a]),v.flags|=2048,Lu(9,mh(),Uy.bind(null,v,C,p,l),null),p},useId:function(){var a=Wr(),l=tn.identifierPrefix;if(Hn){var p=to,v=eo;p=(v&~(1<<32-ot(v)-1)).toString(32)+p,l="«"+l+"R"+p,p=Ji++,0<p&&(l+="H"+p.toString(32)),l+="»"}else p=Dy++,l="«"+l+"r"+p.toString(32)+"»";return a.memoizedState=l},useHostTransitionStatus:Kg,useFormState:Xy,useActionState:Xy,useOptimistic:function(a){var l=Wr();l.memoizedState=l.baseState=a;var p={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return l.queue=p,l=up.bind(null,on,!0,p),p.dispatch=l,[a,l]},useMemoCache:Hg,useCacheRefresh:function(){return Wr().memoizedState=Cb.bind(null,on)}},Qg={readContext:bi,use:sp,useCallback:Ky,useContext:bi,useEffect:jg,useImperativeHandle:Jy,useInsertionEffect:op,useLayoutEffect:lp,useMemo:Wg,useReducer:Dl,useRef:Xg,useState:function(){return Dl(Wo)},useDebugValue:qg,useDeferredValue:function(a,l){var p=Xi();return Qy(p,Jn.memoizedState,a,l)},useTransition:function(){var a=Dl(Wo)[0],l=Xi().memoizedState;return[typeof a=="boolean"?a:Ta(a),l]},useSyncExternalStore:Ly,useId:t_,useHostTransitionStatus:Kg,useFormState:Yy,useActionState:Yy,useOptimistic:function(a,l){var p=Xi();return zy(p,Jn,a,l)},useMemoCache:Hg,useCacheRefresh:n_},s_={readContext:bi,use:sp,useCallback:Ky,useContext:bi,useEffect:jg,useImperativeHandle:Jy,useInsertionEffect:op,useLayoutEffect:lp,useMemo:Wg,useReducer:Fg,useRef:Xg,useState:function(){return Fg(Wo)},useDebugValue:qg,useDeferredValue:function(a,l){var p=Xi();return Jn===null?cp(p,a,l):Qy(p,Jn.memoizedState,a,l)},useTransition:function(){var a=Fg(Wo)[0],l=Xi().memoizedState;return[typeof a=="boolean"?a:Ta(a),l]},useSyncExternalStore:Ly,useId:t_,useHostTransitionStatus:Kg,useFormState:qy,useActionState:qy,useOptimistic:function(a,l){var p=Xi();return Jn!==null?zy(p,Jn,a,l):(p.baseState=a,[a,p.queue.dispatch])},useMemoCache:Hg,useCacheRefresh:n_},yc=null,yh=0;function _h(a){var l=yh;return yh+=1,yc===null&&(yc=[]),tp(yc,a,l)}function Iu(a,l){l=l.props.ref,a.ref=l!==void 0?l:null}function dp(a,l){throw l.$$typeof===g?Error(n(525)):(a=Object.prototype.toString.call(l),Error(n(31,a==="[object Object]"?"object with keys {"+Object.keys(l).join(", ")+"}":a)))}function a_(a){var l=a._init;return l(a._payload)}function o_(a){function l(ge,fe){if(a){var Se=ge.deletions;Se===null?(ge.deletions=[fe],ge.flags|=16):Se.push(fe)}}function p(ge,fe){if(!a)return null;for(;fe!==null;)l(ge,fe),fe=fe.sibling;return null}function v(ge){for(var fe=new Map;ge!==null;)ge.key!==null?fe.set(ge.key,ge):fe.set(ge.index,ge),ge=ge.sibling;return fe}function E(ge,fe){return ge=Di(ge,fe),ge.index=0,ge.sibling=null,ge}function C(ge,fe,Se){return ge.index=Se,a?(Se=ge.alternate,Se!==null?(Se=Se.index,Se<fe?(ge.flags|=67108866,fe):Se):(ge.flags|=67108866,fe)):(ge.flags|=1048576,fe)}function F(ge){return a&&ge.alternate===null&&(ge.flags|=67108866),ge}function j(ge,fe,Se,Fe){return fe===null||fe.tag!==6?(fe=ih(Se,ge.mode,Fe),fe.return=ge,fe):(fe=E(fe,Se),fe.return=ge,fe)}function ae(ge,fe,Se,Fe){var Bt=Se.type;return Bt===S?ze(ge,fe,Se.props.children,Fe,Se.key):fe!==null&&(fe.elementType===Bt||typeof Bt=="object"&&Bt!==null&&Bt.$$typeof===z&&a_(Bt)===fe.type)?(fe=E(fe,Se.props),Iu(fe,Se),fe.return=ge,fe):(fe=sr(Se.type,Se.key,Se.props,null,ge.mode,Fe),Iu(fe,Se),fe.return=ge,fe)}function be(ge,fe,Se,Fe){return fe===null||fe.tag!==4||fe.stateNode.containerInfo!==Se.containerInfo||fe.stateNode.implementation!==Se.implementation?(fe=qd(Se,ge.mode,Fe),fe.return=ge,fe):(fe=E(fe,Se.children||[]),fe.return=ge,fe)}function ze(ge,fe,Se,Fe,Bt){return fe===null||fe.tag!==7?(fe=bl(Se,ge.mode,Fe,Bt),fe.return=ge,fe):(fe=E(fe,Se),fe.return=ge,fe)}function Xe(ge,fe,Se){if(typeof fe=="string"&&fe!==""||typeof fe=="number"||typeof fe=="bigint")return fe=ih(""+fe,ge.mode,Se),fe.return=ge,fe;if(typeof fe=="object"&&fe!==null){switch(fe.$$typeof){case y:return Se=sr(fe.type,fe.key,fe.props,null,ge.mode,Se),Iu(Se,fe),Se.return=ge,Se;case _:return fe=qd(fe,ge.mode,Se),fe.return=ge,fe;case z:var Fe=fe._init;return fe=Fe(fe._payload),Xe(ge,fe,Se)}if(le(fe)||X(fe))return fe=bl(fe,ge.mode,Se,null),fe.return=ge,fe;if(typeof fe.then=="function")return Xe(ge,_h(fe),Se);if(fe.$$typeof===D)return Xe(ge,oh(ge,fe),Se);dp(ge,fe)}return null}function Ce(ge,fe,Se,Fe){var Bt=fe!==null?fe.key:null;if(typeof Se=="string"&&Se!==""||typeof Se=="number"||typeof Se=="bigint")return Bt!==null?null:j(ge,fe,""+Se,Fe);if(typeof Se=="object"&&Se!==null){switch(Se.$$typeof){case y:return Se.key===Bt?ae(ge,fe,Se,Fe):null;case _:return Se.key===Bt?be(ge,fe,Se,Fe):null;case z:return Bt=Se._init,Se=Bt(Se._payload),Ce(ge,fe,Se,Fe)}if(le(Se)||X(Se))return Bt!==null?null:ze(ge,fe,Se,Fe,null);if(typeof Se.then=="function")return Ce(ge,fe,_h(Se),Fe);if(Se.$$typeof===D)return Ce(ge,fe,oh(ge,Se),Fe);dp(ge,Se)}return null}function Be(ge,fe,Se,Fe,Bt){if(typeof Fe=="string"&&Fe!==""||typeof Fe=="number"||typeof Fe=="bigint")return ge=ge.get(Se)||null,j(fe,ge,""+Fe,Bt);if(typeof Fe=="object"&&Fe!==null){switch(Fe.$$typeof){case y:return ge=ge.get(Fe.key===null?Se:Fe.key)||null,ae(fe,ge,Fe,Bt);case _:return ge=ge.get(Fe.key===null?Se:Fe.key)||null,be(fe,ge,Fe,Bt);case z:var Mn=Fe._init;return Fe=Mn(Fe._payload),Be(ge,fe,Se,Fe,Bt)}if(le(Fe)||X(Fe))return ge=ge.get(Se)||null,ze(fe,ge,Fe,Bt,null);if(typeof Fe.then=="function")return Be(ge,fe,Se,_h(Fe),Bt);if(Fe.$$typeof===D)return Be(ge,fe,Se,oh(fe,Fe),Bt);dp(fe,Fe)}return null}function en(ge,fe,Se,Fe){for(var Bt=null,Mn=null,zt=fe,Jt=fe=0,Pr=null;zt!==null&&Jt<Se.length;Jt++){zt.index>Jt?(Pr=zt,zt=null):Pr=zt.sibling;var qn=Ce(ge,zt,Se[Jt],Fe);if(qn===null){zt===null&&(zt=Pr);break}a&&zt&&qn.alternate===null&&l(ge,zt),fe=C(qn,fe,Jt),Mn===null?Bt=qn:Mn.sibling=qn,Mn=qn,zt=Pr}if(Jt===Se.length)return p(ge,zt),Hn&&Go(ge,Jt),Bt;if(zt===null){for(;Jt<Se.length;Jt++)zt=Xe(ge,Se[Jt],Fe),zt!==null&&(fe=C(zt,fe,Jt),Mn===null?Bt=zt:Mn.sibling=zt,Mn=zt);return Hn&&Go(ge,Jt),Bt}for(zt=v(zt);Jt<Se.length;Jt++)Pr=Be(zt,ge,Jt,Se[Jt],Fe),Pr!==null&&(a&&Pr.alternate!==null&&zt.delete(Pr.key===null?Jt:Pr.key),fe=C(Pr,fe,Jt),Mn===null?Bt=Pr:Mn.sibling=Pr,Mn=Pr);return a&&zt.forEach(function($u){return l(ge,$u)}),Hn&&Go(ge,Jt),Bt}function Wt(ge,fe,Se,Fe){if(Se==null)throw Error(n(151));for(var Bt=null,Mn=null,zt=fe,Jt=fe=0,Pr=null,qn=Se.next();zt!==null&&!qn.done;Jt++,qn=Se.next()){zt.index>Jt?(Pr=zt,zt=null):Pr=zt.sibling;var $u=Ce(ge,zt,qn.value,Fe);if($u===null){zt===null&&(zt=Pr);break}a&&zt&&$u.alternate===null&&l(ge,zt),fe=C($u,fe,Jt),Mn===null?Bt=$u:Mn.sibling=$u,Mn=$u,zt=Pr}if(qn.done)return p(ge,zt),Hn&&Go(ge,Jt),Bt;if(zt===null){for(;!qn.done;Jt++,qn=Se.next())qn=Xe(ge,qn.value,Fe),qn!==null&&(fe=C(qn,fe,Jt),Mn===null?Bt=qn:Mn.sibling=qn,Mn=qn);return Hn&&Go(ge,Jt),Bt}for(zt=v(zt);!qn.done;Jt++,qn=Se.next())qn=Be(zt,ge,Jt,qn.value,Fe),qn!==null&&(a&&qn.alternate!==null&&zt.delete(qn.key===null?Jt:qn.key),fe=C(qn,fe,Jt),Mn===null?Bt=qn:Mn.sibling=qn,Mn=qn);return a&&zt.forEach(function(dU){return l(ge,dU)}),Hn&&Go(ge,Jt),Bt}function ci(ge,fe,Se,Fe){if(typeof Se=="object"&&Se!==null&&Se.type===S&&Se.key===null&&(Se=Se.props.children),typeof Se=="object"&&Se!==null){switch(Se.$$typeof){case y:e:{for(var Bt=Se.key;fe!==null;){if(fe.key===Bt){if(Bt=Se.type,Bt===S){if(fe.tag===7){p(ge,fe.sibling),Fe=E(fe,Se.props.children),Fe.return=ge,ge=Fe;break e}}else if(fe.elementType===Bt||typeof Bt=="object"&&Bt!==null&&Bt.$$typeof===z&&a_(Bt)===fe.type){p(ge,fe.sibling),Fe=E(fe,Se.props),Iu(Fe,Se),Fe.return=ge,ge=Fe;break e}p(ge,fe);break}else l(ge,fe);fe=fe.sibling}Se.type===S?(Fe=bl(Se.props.children,ge.mode,Fe,Se.key),Fe.return=ge,ge=Fe):(Fe=sr(Se.type,Se.key,Se.props,null,ge.mode,Fe),Iu(Fe,Se),Fe.return=ge,ge=Fe)}return F(ge);case _:e:{for(Bt=Se.key;fe!==null;){if(fe.key===Bt)if(fe.tag===4&&fe.stateNode.containerInfo===Se.containerInfo&&fe.stateNode.implementation===Se.implementation){p(ge,fe.sibling),Fe=E(fe,Se.children||[]),Fe.return=ge,ge=Fe;break e}else{p(ge,fe);break}else l(ge,fe);fe=fe.sibling}Fe=qd(Se,ge.mode,Fe),Fe.return=ge,ge=Fe}return F(ge);case z:return Bt=Se._init,Se=Bt(Se._payload),ci(ge,fe,Se,Fe)}if(le(Se))return en(ge,fe,Se,Fe);if(X(Se)){if(Bt=X(Se),typeof Bt!="function")throw Error(n(150));return Se=Bt.call(Se),Wt(ge,fe,Se,Fe)}if(typeof Se.then=="function")return ci(ge,fe,_h(Se),Fe);if(Se.$$typeof===D)return ci(ge,fe,oh(ge,Se),Fe);dp(ge,Se)}return typeof Se=="string"&&Se!==""||typeof Se=="number"||typeof Se=="bigint"?(Se=""+Se,fe!==null&&fe.tag===6?(p(ge,fe.sibling),Fe=E(fe,Se),Fe.return=ge,ge=Fe):(p(ge,fe),Fe=ih(Se,ge.mode,Fe),Fe.return=ge,ge=Fe),F(ge)):p(ge,fe)}return function(ge,fe,Se,Fe){try{yh=0;var Bt=ci(ge,fe,Se,Fe);return yc=null,Bt}catch(zt){if(zt===fh||zt===Ea)throw zt;var Mn=os(29,zt,null,ge.mode);return Mn.lanes=Fe,Mn.return=ge,Mn}finally{}}}var _c=o_(!0),l_=o_(!1),ei=re(null),Ca=null;function Ol(a){var l=a.alternate;Ae(Ni,Ni.current&1),Ae(ei,a),Ca===null&&(l===null||Ou.current!==null||l.memoizedState!==null)&&(Ca=a)}function c_(a){if(a.tag===22){if(Ae(Ni,Ni.current),Ae(ei,a),Ca===null){var l=a.alternate;l!==null&&l.memoizedState!==null&&(Ca=a)}}else Nl()}function Nl(){Ae(Ni,Ni.current),Ae(ei,ei.current)}function ro(a){ye(ei),Ca===a&&(Ca=null),ye(Ni)}var Ni=re(0);function Jo(a){for(var l=a;l!==null;){if(l.tag===13){var p=l.memoizedState;if(p!==null&&(p=p.dehydrated,p===null||p.data==="$?"||kb(p)))return l}else if(l.tag===19&&l.memoizedProps.revealOrder!==void 0){if((l.flags&128)!==0)return l}else if(l.child!==null){l.child.return=l,l=l.child;continue}if(l===a)break;for(;l.sibling===null;){if(l.return===null||l.return===a)return null;l=l.return}l.sibling.return=l.return,l=l.sibling}return null}function Ll(a,l,p,v){l=a.memoizedState,p=p(v,l),p=p==null?l:m({},l,p),a.memoizedState=p,a.lanes===0&&(a.updateQueue.baseState=p)}var Jr={enqueueSetState:function(a,l,p){a=a._reactInternals;var v=Ti(),E=io(v);E.payload=l,p!=null&&(E.callback=p),l=Yo(a,E,v),l!==null&&(Qr(l,a,v),vc(l,a,v))},enqueueReplaceState:function(a,l,p){a=a._reactInternals;var v=Ti(),E=io(v);E.tag=1,E.payload=l,p!=null&&(E.callback=p),l=Yo(a,E,v),l!==null&&(Qr(l,a,v),vc(l,a,v))},enqueueForceUpdate:function(a,l){a=a._reactInternals;var p=Ti(),v=io(p);v.tag=2,l!=null&&(v.callback=l),l=Yo(a,v,p),l!==null&&(Qr(l,a,p),vc(l,a,p))}};function u_(a,l,p,v,E,C,F){return a=a.stateNode,typeof a.shouldComponentUpdate=="function"?a.shouldComponentUpdate(v,C,F):l.prototype&&l.prototype.isPureReactComponent?!ba(p,v)||!ba(E,C):!0}function f_(a,l,p,v){a=l.state,typeof l.componentWillReceiveProps=="function"&&l.componentWillReceiveProps(p,v),typeof l.UNSAFE_componentWillReceiveProps=="function"&&l.UNSAFE_componentWillReceiveProps(p,v),l.state!==a&&Jr.enqueueReplaceState(l,l.state,null)}function so(a,l){var p=l;if("ref"in l){p={};for(var v in l)v!=="ref"&&(p[v]=l[v])}if(a=a.defaultProps){p===l&&(p=m({},p));for(var E in a)p[E]===void 0&&(p[E]=a[E])}return p}var xc=typeof reportError=="function"?reportError:function(a){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var l=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof a=="object"&&a!==null&&typeof a.message=="string"?String(a.message):String(a),error:a});if(!window.dispatchEvent(l))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",a);return}console.error(a)};function xh(a){xc(a)}function pp(a){console.error(a)}function h_(a){xc(a)}function mp(a,l){try{var p=a.onUncaughtError;p(l.value,{componentStack:l.stack})}catch(v){setTimeout(function(){throw v})}}function aa(a,l,p){try{var v=a.onCaughtError;v(p.value,{componentStack:p.stack,errorBoundary:l.tag===1?l.stateNode:null})}catch(E){setTimeout(function(){throw E})}}function gp(a,l,p){return p=io(p),p.tag=3,p.payload={element:null},p.callback=function(){mp(a,l)},p}function d_(a){return a=io(a),a.tag=3,a}function vp(a,l,p,v){var E=p.type.getDerivedStateFromError;if(typeof E=="function"){var C=v.value;a.payload=function(){return E(C)},a.callback=function(){aa(l,p,v)}}var F=p.stateNode;F!==null&&typeof F.componentDidCatch=="function"&&(a.callback=function(){aa(l,p,v),typeof E!="function"&&(Is===null?Is=new Set([this]):Is.add(this));var j=v.stack;this.componentDidCatch(v.value,{componentStack:j!==null?j:""})})}function Rb(a,l,p,v,E){if(p.flags|=32768,v!==null&&typeof v=="object"&&typeof v.then=="function"){if(l=p.alternate,l!==null&&na(l,p,E,!0),p=ei.current,p!==null){switch(p.tag){case 13:return Ca===null?u():p.alternate===null&&hi===0&&(hi=3),p.flags&=-257,p.flags|=65536,p.lanes=E,v===hh?p.flags|=16384:(l=p.updateQueue,l===null?p.updateQueue=new Set([v]):l.add(v),De(a,v,E)),!1;case 22:return p.flags|=65536,v===hh?p.flags|=16384:(l=p.updateQueue,l===null?(l={transitions:null,markerInstances:null,retryQueue:new Set([v])},p.updateQueue=l):(p=l.retryQueue,p===null?l.retryQueue=new Set([v]):p.add(v)),De(a,v,E)),!1}throw Error(n(435,p.tag))}return De(a,v,E),u(),!1}if(Hn)return l=ei.current,l!==null?((l.flags&65536)===0&&(l.flags|=256),l.flags|=65536,l.lanes=E,v!==Jd&&(a=Error(n(422),{cause:v}),gc(Sr(a,p)))):(v!==Jd&&(l=Error(n(423),{cause:v}),gc(Sr(l,p))),a=a.current.alternate,a.flags|=65536,E&=-E,a.lanes|=E,v=Sr(v,p),E=gp(a.stateNode,v,E),Ru(a,E),hi!==4&&(hi=2)),!1;var C=Error(n(520),{cause:v});if(C=Sr(C,p),jn===null?jn=[C]:jn.push(C),hi!==4&&(hi=2),l===null)return!0;v=Sr(v,p),p=l;do{switch(p.tag){case 3:return p.flags|=65536,a=E&-E,p.lanes|=a,a=gp(p.stateNode,v,a),Ru(p,a),!1;case 1:if(l=p.type,C=p.stateNode,(p.flags&128)===0&&(typeof l.getDerivedStateFromError=="function"||C!==null&&typeof C.componentDidCatch=="function"&&(Is===null||!Is.has(C))))return p.flags|=65536,E&=-E,p.lanes|=E,E=d_(E),vp(E,a,p,v),Ru(p,E),!1}p=p.return}while(p!==null);return!1}var p_=Error(n(461)),ar=!1;function Li(a,l,p,v){l.child=a===null?l_(l,null,p,v):_c(l,a.child,p,v)}function cs(a,l,p,v,E){p=p.render;var C=l.ref;if("ref"in v){var F={};for(var j in v)j!=="ref"&&(F[j]=v[j])}else F=v;return no(l),v=qo(a,l,p,F,C,E),j=Ig(),a!==null&&!ar?(rp(a,l,E),or(a,l,E)):(Hn&&j&&Eg(l),l.flags|=1,Li(a,l,v,E),l.child)}function us(a,l,p,v,E){if(a===null){var C=p.type;return typeof C=="function"&&!nh(C)&&C.defaultProps===void 0&&p.compare===null?(l.tag=15,l.type=C,Zg(a,l,C,v,E)):(a=sr(p.type,null,v,l,l.mode,E),a.ref=l.ref,a.return=l,l.child=a)}if(C=a.child,!Sh(a,E)){var F=C.memoizedProps;if(p=p.compare,p=p!==null?p:ba,p(F,v)&&a.ref===l.ref)return or(a,l,E)}return l.flags|=1,a=Di(C,v),a.ref=l.ref,a.return=l,l.child=a}function Zg(a,l,p,v,E){if(a!==null){var C=a.memoizedProps;if(ba(C,v)&&a.ref===l.ref)if(ar=!1,l.pendingProps=v=C,Sh(a,E))(a.flags&131072)!==0&&(ar=!0);else return l.lanes=a.lanes,or(a,l,E)}return Pu(a,l,p,v,E)}function Sc(a,l,p){var v=l.pendingProps,E=v.children,C=a!==null?a.memoizedState:null;if(v.mode==="hidden"){if((l.flags&128)!==0){if(v=C!==null?C.baseLanes|p:p,a!==null){for(E=l.child=a.child,C=0;E!==null;)C=C|E.lanes|E.childLanes,E=E.sibling;l.childLanes=C&~v}else l.childLanes=0,l.child=null;return Ac(a,l,v,p)}if((p&536870912)!==0)l.memoizedState={baseLanes:0,cachePool:null},a!==null&&uh(l,C!==null?C.cachePool:null),C!==null?By(l,C):Ug(),c_(l);else return l.lanes=l.childLanes=536870912,Ac(a,l,C!==null?C.baseLanes|p:p,p)}else C!==null?(uh(l,C.cachePool),By(l,C),Nl(),l.memoizedState=null):(a!==null&&uh(l,null),Ug(),Nl());return Li(a,l,E,p),l.child}function Ac(a,l,p,v){var E=wl();return E=E===null?null:{parent:Vi._currentValue,pool:E},l.memoizedState={baseLanes:p,cachePool:E},a!==null&&uh(l,null),Ug(),c_(l),a!==null&&na(a,l,v,!0),null}function bc(a,l){var p=l.ref;if(p===null)a!==null&&a.ref!==null&&(l.flags|=4194816);else{if(typeof p!="function"&&typeof p!="object")throw Error(n(284));(a===null||a.ref!==p)&&(l.flags|=4194816)}}function Pu(a,l,p,v,E){return no(l),p=qo(a,l,p,v,void 0,E),v=Ig(),a!==null&&!ar?(rp(a,l,E),or(a,l,E)):(Hn&&v&&Eg(l),l.flags|=1,Li(a,l,p,E),l.child)}function Rs(a,l,p,v,E,C){return no(l),l.updateQueue=null,p=Ny(l,v,p,E),Oy(a),v=Ig(),a!==null&&!ar?(rp(a,l,C),or(a,l,C)):(Hn&&v&&Eg(l),l.flags|=1,Li(a,l,p,C),l.child)}function Bs(a,l,p,v,E){if(no(l),l.stateNode===null){var C=Al,F=p.contextType;typeof F=="object"&&F!==null&&(C=bi(F)),C=new p(v,C),l.memoizedState=C.state!==null&&C.state!==void 0?C.state:null,C.updater=Jr,l.stateNode=C,C._reactInternals=l,C=l.stateNode,C.props=v,C.state=l.memoizedState,C.refs={},Ng(l),F=p.contextType,C.context=typeof F=="object"&&F!==null?bi(F):Al,C.state=l.memoizedState,F=p.getDerivedStateFromProps,typeof F=="function"&&(Ll(l,p,F,v),C.state=l.memoizedState),typeof p.getDerivedStateFromProps=="function"||typeof C.getSnapshotBeforeUpdate=="function"||typeof C.UNSAFE_componentWillMount!="function"&&typeof C.componentWillMount!="function"||(F=C.state,typeof C.componentWillMount=="function"&&C.componentWillMount(),typeof C.UNSAFE_componentWillMount=="function"&&C.UNSAFE_componentWillMount(),F!==C.state&&Jr.enqueueReplaceState(C,C.state,null),Bu(l,v,C,E),dh(),C.state=l.memoizedState),typeof C.componentDidMount=="function"&&(l.flags|=4194308),v=!0}else if(a===null){C=l.stateNode;var j=l.memoizedProps,ae=so(p,j);C.props=ae;var be=C.context,ze=p.contextType;F=Al,typeof ze=="object"&&ze!==null&&(F=bi(ze));var Xe=p.getDerivedStateFromProps;ze=typeof Xe=="function"||typeof C.getSnapshotBeforeUpdate=="function",j=l.pendingProps!==j,ze||typeof C.UNSAFE_componentWillReceiveProps!="function"&&typeof C.componentWillReceiveProps!="function"||(j||be!==F)&&f_(l,C,v,F),Xo=!1;var Ce=l.memoizedState;C.state=Ce,Bu(l,v,C,E),dh(),be=l.memoizedState,j||Ce!==be||Xo?(typeof Xe=="function"&&(Ll(l,p,Xe,v),be=l.memoizedState),(ae=Xo||u_(l,p,ae,v,Ce,be,F))?(ze||typeof C.UNSAFE_componentWillMount!="function"&&typeof C.componentWillMount!="function"||(typeof C.componentWillMount=="function"&&C.componentWillMount(),typeof C.UNSAFE_componentWillMount=="function"&&C.UNSAFE_componentWillMount()),typeof C.componentDidMount=="function"&&(l.flags|=4194308)):(typeof C.componentDidMount=="function"&&(l.flags|=4194308),l.memoizedProps=v,l.memoizedState=be),C.props=v,C.state=be,C.context=F,v=ae):(typeof C.componentDidMount=="function"&&(l.flags|=4194308),v=!1)}else{C=l.stateNode,Kt(a,l),F=l.memoizedProps,ze=so(p,F),C.props=ze,Xe=l.pendingProps,Ce=C.context,be=p.contextType,ae=Al,typeof be=="object"&&be!==null&&(ae=bi(be)),j=p.getDerivedStateFromProps,(be=typeof j=="function"||typeof C.getSnapshotBeforeUpdate=="function")||typeof C.UNSAFE_componentWillReceiveProps!="function"&&typeof C.componentWillReceiveProps!="function"||(F!==Xe||Ce!==ae)&&f_(l,C,v,ae),Xo=!1,Ce=l.memoizedState,C.state=Ce,Bu(l,v,C,E),dh();var Be=l.memoizedState;F!==Xe||Ce!==Be||Xo||a!==null&&a.dependencies!==null&&ah(a.dependencies)?(typeof j=="function"&&(Ll(l,p,j,v),Be=l.memoizedState),(ze=Xo||u_(l,p,ze,v,Ce,Be,ae)||a!==null&&a.dependencies!==null&&ah(a.dependencies))?(be||typeof C.UNSAFE_componentWillUpdate!="function"&&typeof C.componentWillUpdate!="function"||(typeof C.componentWillUpdate=="function"&&C.componentWillUpdate(v,Be,ae),typeof C.UNSAFE_componentWillUpdate=="function"&&C.UNSAFE_componentWillUpdate(v,Be,ae)),typeof C.componentDidUpdate=="function"&&(l.flags|=4),typeof C.getSnapshotBeforeUpdate=="function"&&(l.flags|=1024)):(typeof C.componentDidUpdate!="function"||F===a.memoizedProps&&Ce===a.memoizedState||(l.flags|=4),typeof C.getSnapshotBeforeUpdate!="function"||F===a.memoizedProps&&Ce===a.memoizedState||(l.flags|=1024),l.memoizedProps=v,l.memoizedState=Be),C.props=v,C.state=Be,C.context=ae,v=ze):(typeof C.componentDidUpdate!="function"||F===a.memoizedProps&&Ce===a.memoizedState||(l.flags|=4),typeof C.getSnapshotBeforeUpdate!="function"||F===a.memoizedProps&&Ce===a.memoizedState||(l.flags|=1024),v=!1)}return C=v,bc(a,l),v=(l.flags&128)!==0,C||v?(C=l.stateNode,p=v&&typeof p.getDerivedStateFromError!="function"?null:C.render(),l.flags|=1,a!==null&&v?(l.child=_c(l,a.child,null,E),l.child=_c(l,null,p,E)):Li(a,l,p,E),l.memoizedState=C.state,a=l.child):a=or(a,l,E),a}function Ul(a,l,p,v){return Mu(),l.flags|=256,Li(a,l,p,v),l.child}var wa={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Ra(a){return{baseLanes:a,cachePool:$d()}}function Ki(a,l,p){return a=a!==null?a.childLanes&~p:0,l&&(a|=fa),a}function Hu(a,l,p){var v=l.pendingProps,E=!1,C=(l.flags&128)!==0,F;if((F=C)||(F=a!==null&&a.memoizedState===null?!1:(Ni.current&2)!==0),F&&(E=!0,l.flags&=-129),F=(l.flags&32)!==0,l.flags&=-33,a===null){if(Hn){if(E?Ol(l):Nl(),Hn){var j=Si,ae;if(ae=j){e:{for(ae=j,j=Ts;ae.nodeType!==8;){if(!j){j=null;break e}if(ae=tl(ae.nextSibling),ae===null){j=null;break e}}j=ae}j!==null?(l.memoizedState={dehydrated:j,treeContext:Ml!==null?{id:eo,overflow:to}:null,retryLane:536870912,hydrationErrors:null},ae=os(18,null,null,0),ae.stateNode=j,ae.return=l,l.child=ae,jr=l,Si=null,ae=!0):ae=!1}ae||El(l)}if(j=l.memoizedState,j!==null&&(j=j.dehydrated,j!==null))return kb(j)?l.lanes=32:l.lanes=536870912,null;ro(l)}return j=v.children,v=v.fallback,E?(Nl(),E=l.mode,j=Mc({mode:"hidden",children:j},E),v=bl(v,E,p,null),j.return=l,v.return=l,j.sibling=v,l.child=j,E=l.child,E.memoizedState=Ra(p),E.childLanes=Ki(a,F,p),l.memoizedState=wa,v):(Ol(l),ao(l,j))}if(ae=a.memoizedState,ae!==null&&(j=ae.dehydrated,j!==null)){if(C)l.flags&256?(Ol(l),l.flags&=-257,l=Mr(a,l,p)):l.memoizedState!==null?(Nl(),l.child=a.child,l.flags|=128,l=null):(Nl(),E=v.fallback,j=l.mode,v=Mc({mode:"visible",children:v.children},j),E=bl(E,j,p,null),E.flags|=2,v.return=l,E.return=l,v.sibling=E,l.child=v,_c(l,a.child,null,p),v=l.child,v.memoizedState=Ra(p),v.childLanes=Ki(a,F,p),l.memoizedState=wa,l=E);else if(Ol(l),kb(j)){if(F=j.nextSibling&&j.nextSibling.dataset,F)var be=F.dgst;F=be,v=Error(n(419)),v.stack="",v.digest=F,gc({value:v,source:null,stack:null}),l=Mr(a,l,p)}else if(ar||na(a,l,p,!1),F=(p&a.childLanes)!==0,ar||F){if(F=tn,F!==null&&(v=p&-p,v=(v&42)!==0?1:Nt(v),v=(v&(F.suspendedLanes|p))!==0?0:v,v!==0&&v!==ae.retryLane))throw ae.retryLane=v,Fo(a,v),Qr(F,a,v),p_;j.data==="$?"||u(),l=Mr(a,l,p)}else j.data==="$?"?(l.flags|=192,l.child=a.child,l=null):(a=ae.treeContext,Si=tl(j.nextSibling),jr=l,Hn=!0,ta=null,Ts=!1,a!==null&&(Ar[Es++]=eo,Ar[Es++]=to,Ar[Es++]=Ml,eo=a.id,to=a.overflow,Ml=l),l=ao(l,v.children),l.flags|=4096);return l}return E?(Nl(),E=v.fallback,j=l.mode,ae=a.child,be=ae.sibling,v=Di(ae,{mode:"hidden",children:v.children}),v.subtreeFlags=ae.subtreeFlags&65011712,be!==null?E=Di(be,E):(E=bl(E,j,p,null),E.flags|=2),E.return=l,v.return=l,v.sibling=E,l.child=v,v=E,E=l.child,j=a.child.memoizedState,j===null?j=Ra(p):(ae=j.cachePool,ae!==null?(be=Vi._currentValue,ae=ae.parent!==be?{parent:be,pool:be}:ae):ae=$d(),j={baseLanes:j.baseLanes|p,cachePool:ae}),E.memoizedState=j,E.childLanes=Ki(a,F,p),l.memoizedState=wa,v):(Ol(l),p=a.child,a=p.sibling,p=Di(p,{mode:"visible",children:v.children}),p.return=l,p.sibling=null,a!==null&&(F=l.deletions,F===null?(l.deletions=[a],l.flags|=16):F.push(a)),l.child=p,l.memoizedState=null,p)}function ao(a,l){return l=Mc({mode:"visible",children:l},a.mode),l.return=a,a.child=l}function Mc(a,l){return a=os(22,a,null,l),a.lanes=0,a.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null},a}function Mr(a,l,p){return _c(l,a.child,null,p),a=ao(l,l.pendingProps.children),a.flags|=2,l.memoizedState=null,a}function Er(a,l,p){a.lanes|=l;var v=a.alternate;v!==null&&(v.lanes|=l),Rg(a.return,l,p)}function Dn(a,l,p,v,E){var C=a.memoizedState;C===null?a.memoizedState={isBackwards:l,rendering:null,renderingStartTime:0,last:v,tail:p,tailMode:E}:(C.isBackwards=l,C.rendering=null,C.renderingStartTime=0,C.last=v,C.tail=p,C.tailMode=E)}function oa(a,l,p){var v=l.pendingProps,E=v.revealOrder,C=v.tail;if(Li(a,l,v.children,p),v=Ni.current,(v&2)!==0)v=v&1|2,l.flags|=128;else{if(a!==null&&(a.flags&128)!==0)e:for(a=l.child;a!==null;){if(a.tag===13)a.memoizedState!==null&&Er(a,p,l);else if(a.tag===19)Er(a,p,l);else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===l)break e;for(;a.sibling===null;){if(a.return===null||a.return===l)break e;a=a.return}a.sibling.return=a.return,a=a.sibling}v&=1}switch(Ae(Ni,v),E){case"forwards":for(p=l.child,E=null;p!==null;)a=p.alternate,a!==null&&Jo(a)===null&&(E=p),p=p.sibling;p=E,p===null?(E=l.child,l.child=null):(E=p.sibling,p.sibling=null),Dn(l,!1,E,p,C);break;case"backwards":for(p=null,E=l.child,l.child=null;E!==null;){if(a=E.alternate,a!==null&&Jo(a)===null){l.child=E;break}a=E.sibling,E.sibling=p,p=E,E=a}Dn(l,!0,p,null,C);break;case"together":Dn(l,!1,null,null,void 0);break;default:l.memoizedState=null}return l.child}function or(a,l,p){if(a!==null&&(l.dependencies=a.dependencies),Na|=l.lanes,(p&l.childLanes)===0)if(a!==null){if(na(a,l,p,!1),(p&l.childLanes)===0)return null}else return null;if(a!==null&&l.child!==a.child)throw Error(n(153));if(l.child!==null){for(a=l.child,p=Di(a,a.pendingProps),l.child=p,p.return=l;a.sibling!==null;)a=a.sibling,p=p.sibling=Di(a,a.pendingProps),p.return=l;p.sibling=null}return l.child}function Sh(a,l){return(a.lanes&l)!==0?!0:(a=a.dependencies,!!(a!==null&&ah(a)))}function la(a,l,p){switch(l.tag){case 3:Oe(l,l.stateNode.containerInfo),Cl(l,Vi,a.memoizedState.cache),Mu();break;case 27:case 5:gt(l);break;case 4:Oe(l,l.stateNode.containerInfo);break;case 10:Cl(l,l.type,l.memoizedProps.value);break;case 13:var v=l.memoizedState;if(v!==null)return v.dehydrated!==null?(Ol(l),l.flags|=128,null):(p&l.child.childLanes)!==0?Hu(a,l,p):(Ol(l),a=or(a,l,p),a!==null?a.sibling:null);Ol(l);break;case 19:var E=(a.flags&128)!==0;if(v=(p&l.childLanes)!==0,v||(na(a,l,p,!1),v=(p&l.childLanes)!==0),E){if(v)return oa(a,l,p);l.flags|=128}if(E=l.memoizedState,E!==null&&(E.rendering=null,E.tail=null,E.lastEffect=null),Ae(Ni,Ni.current),v)break;return null;case 22:case 23:return l.lanes=0,Sc(a,l,p);case 24:Cl(l,Vi,a.memoizedState.cache)}return or(a,l,p)}function Ec(a,l,p){if(a!==null)if(a.memoizedProps!==l.pendingProps)ar=!0;else{if(!Sh(a,p)&&(l.flags&128)===0)return ar=!1,la(a,l,p);ar=(a.flags&131072)!==0}else ar=!1,Hn&&(l.flags&1048576)!==0&&Wd(l,bu,l.index);switch(l.lanes=0,l.tag){case 16:e:{a=l.pendingProps;var v=l.elementType,E=v._init;if(v=E(v._payload),l.type=v,typeof v=="function")nh(v)?(a=so(v,a),l.tag=1,l=Bs(null,l,v,a,p)):(l.tag=0,l=Pu(null,l,v,a,p));else{if(v!=null){if(E=v.$$typeof,E===B){l.tag=11,l=cs(null,l,v,a,p);break e}else if(E===U){l.tag=14,l=us(null,l,v,a,p);break e}}throw l=te(v)||v,Error(n(306,l,""))}}return l;
vendor: 2,414 bytes, line 48
48case 0:return Pu(a,l,l.type,l.pendingProps,p);case 1:return v=l.type,E=so(v,l.pendingProps),Bs(a,l,v,E,p);case 3:e:{if(Oe(l,l.stateNode.containerInfo),a===null)throw Error(n(387));v=l.pendingProps;var C=l.memoizedState;E=C.element,Kt(a,l),Bu(l,v,null,p);var F=l.memoizedState;if(v=F.cache,Cl(l,Vi,v),v!==C.cache&&sh(l,[Vi],p,!0),dh(),v=F.element,C.isDehydrated)if(C={element:v,isDehydrated:!1,cache:F.cache},l.updateQueue.baseState=C,l.memoizedState=C,l.flags&256){l=Ul(a,l,v,p);break e}else if(v!==E){E=Sr(Error(n(424)),l),gc(E),l=Ul(a,l,v,p);break e}else{switch(a=l.stateNode.containerInfo,a.nodeType){case 9:a=a.body;break;default:a=a.nodeName==="HTML"?a.ownerDocument.body:a}for(Si=tl(a.firstChild),jr=l,Hn=!0,ta=null,Ts=!0,p=l_(l,null,v,p),l.child=p;p;)p.flags=p.flags&-3|4096,p=p.sibling}else{if(Mu(),v===E){l=or(a,l,p);break e}Li(a,l,v,p)}l=l.child}return l;case 26:return bc(a,l),a===null?(p=qC(l.type,null,l.pendingProps,null))?l.memoizedState=p:Hn||(p=l.type,a=l.pendingProps,v=x_(xe.current).createElement(p),v[tt]=l,v[bt]=a,Zr(v,p,a),Bn(v),l.stateNode=v):l.memoizedState=qC(l.type,a.memoizedProps,l.pendingProps,a.memoizedState),null;case 27:return gt(l),a===null&&Hn&&(v=l.stateNode=XC(l.type,l.pendingProps,xe.current),jr=l,Ts=!0,E=Si,Wu(l.type)?(Xb=E,Si=tl(v.firstChild)):Si=E),Li(a,l,l.pendingProps.children,p),bc(a,l),a===null&&(l.flags|=4194304),l.child;case 5:return a===null&&Hn&&((E=v=Si)&&(v=VL(v,l.type,l.pendingProps,Ts),v!==null?(l.stateNode=v,jr=l,Si=tl(v.firstChild),Ts=!1,E=!0):E=!1),E||El(l)),gt(l),E=l.type,C=l.pendingProps,F=a!==null?a.memoizedProps:null,v=C.children,Fb(E,C)?v=null:F!==null&&Fb(E,F)&&(l.flags|=32),l.memoizedState!==null&&(E=qo(a,l,bb,null,null,p),c0._currentValue=E),bc(a,l),Li(a,l,v,p),l.child;case 6:return a===null&&Hn&&((a=p=Si)&&(p=kL(p,l.pendingProps,Ts),p!==null?(l.stateNode=p,jr=l,Si=null,a=!0):a=!1),a||El(l)),null;case 13:return Hu(a,l,p);case 4:return Oe(l,l.stateNode.containerInfo),v=l.pendingProps,a===null?l.child=_c(l,null,v,p):Li(a,l,v,p),l.child;case 11:return cs(a,l,l.type,l.pendingProps,p);case 7:return Li(a,l,l.pendingProps,p),l.child;case 8:return Li(a,l,l.pendingProps.children,p),l.child;case 12:return Li(a,l,l.pendingProps.children,p),l.child;case 10:return v=l.pendingProps,Cl(l,l.type,v.value),Li(a,l,v.children,p),l.child;case 9:return E=l.type._context,v=l.pendingProps.children,no(l),E=bi(E),v=v(E),l.flags|=1,Li(a,l,v,p),l.child;
vendor: 16,865 bytes, line 48
48case 14:return us(a,l,l.type,l.pendingProps,p);case 15:return Zg(a,l,l.type,l.pendingProps,p);case 19:return oa(a,l,p);case 31:return v=l.pendingProps,p=l.mode,v={mode:v.mode,children:v.children},a===null?(p=Mc(v,p),p.ref=l.ref,l.child=p,p.return=l,l=p):(p=Di(a.child,v),p.ref=l.ref,l.child=p,p.return=l,l=p),l;case 22:return Sc(a,l,p);case 24:return no(l),v=bi(Vi),a===null?(E=wl(),E===null&&(E=tn,C=Qd(),E.pooledCache=C,C.refCount++,C!==null&&(E.pooledCacheLanes|=p),E=C),l.memoizedState={parent:v,cache:E},Ng(l),Cl(l,Vi,E)):((a.lanes&p)!==0&&(Kt(a,l),Bu(l,null,null,p),dh()),E=a.memoizedState,C=l.memoizedState,E.parent!==v?(E={parent:v,cache:v},l.memoizedState=E,l.lanes===0&&(l.memoizedState=l.updateQueue.baseState=E),Cl(l,Vi,v)):(v=C.cache,Cl(l,Vi,v),v!==E.cache&&sh(l,[Vi],p,!0))),Li(a,l,l.pendingProps.children,p),l.child;case 29:throw l.pendingProps}throw Error(n(156,l.tag))}function Ba(a){a.flags|=4}function Ah(a,l){if(l.type!=="stylesheet"||(l.state.loading&4)!==0)a.flags&=-16777217;else if(a.flags|=16777216,!ZC(l)){if(l=ei.current,l!==null&&((Gt&4194048)===Gt?Ca!==null:(Gt&62914560)!==Gt&&(Gt&536870912)===0||l!==Ca))throw ra=hh,Dg;a.flags|=8192}}function Ko(a,l){l!==null&&(a.flags|=4),a.flags&16384&&(l=a.tag!==22?Ke():536870912,a.lanes|=l,Ln|=l)}function Tc(a,l){if(!Hn)switch(a.tailMode){case"hidden":l=a.tail;for(var p=null;l!==null;)l.alternate!==null&&(p=l),l=l.sibling;p===null?a.tail=null:p.sibling=null;break;case"collapsed":p=a.tail;for(var v=null;p!==null;)p.alternate!==null&&(v=p),p=p.sibling;v===null?l||a.tail===null?a.tail=null:a.tail.sibling=null:v.sibling=null}}function si(a){var l=a.alternate!==null&&a.alternate.child===a.child,p=0,v=0;if(l)for(var E=a.child;E!==null;)p|=E.lanes|E.childLanes,v|=E.subtreeFlags&65011712,v|=E.flags&65011712,E.return=a,E=E.sibling;else for(E=a.child;E!==null;)p|=E.lanes|E.childLanes,v|=E.subtreeFlags,v|=E.flags,E.return=a,E=E.sibling;return a.subtreeFlags|=v,a.childLanes=p,l}function $g(a,l,p){var v=l.pendingProps;switch(Tg(l),l.tag){case 31:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return si(l),null;case 1:return si(l),null;case 3:return p=l.stateNode,v=null,a!==null&&(v=a.memoizedState.cache),l.memoizedState.cache!==v&&(l.flags|=2048),ko(Vi),We(),p.pendingContext&&(p.context=p.pendingContext,p.pendingContext=null),(a===null||a.child===null)&&(Ma(l)?Ba(l):a===null||a.memoizedState.isDehydrated&&(l.flags&256)===0||(l.flags|=1024,Xn())),si(l),null;case 26:return p=l.memoizedState,a===null?(Ba(l),p!==null?(si(l),Ah(l,p)):(si(l),l.flags&=-16777217)):p?p!==a.memoizedState?(Ba(l),si(l),Ah(l,p)):(si(l),l.flags&=-16777217):(a.memoizedProps!==v&&Ba(l),si(l),l.flags&=-16777217),null;case 27:Ft(l),p=xe.current;var E=l.type;if(a!==null&&l.stateNode!=null)a.memoizedProps!==v&&Ba(l);else{if(!v){if(l.stateNode===null)throw Error(n(166));return si(l),null}a=Te.current,Ma(l)?Ty(l):(a=XC(E,v,p),l.stateNode=a,Ba(l))}return si(l),null;case 5:if(Ft(l),p=l.type,a!==null&&l.stateNode!=null)a.memoizedProps!==v&&Ba(l);else{if(!v){if(l.stateNode===null)throw Error(n(166));return si(l),null}if(a=Te.current,Ma(l))Ty(l);else{switch(E=x_(xe.current),a){case 1:a=E.createElementNS("http://www.w3.org/2000/svg",p);break;case 2:a=E.createElementNS("http://www.w3.org/1998/Math/MathML",p);break;default:switch(p){case"svg":a=E.createElementNS("http://www.w3.org/2000/svg",p);break;case"math":a=E.createElementNS("http://www.w3.org/1998/Math/MathML",p);break;case"script":a=E.createElement("div"),a.innerHTML="<script><\/script>",a=a.removeChild(a.firstChild);break;case"select":a=typeof v.is=="string"?E.createElement("select",{is:v.is}):E.createElement("select"),v.multiple?a.multiple=!0:v.size&&(a.size=v.size);break;default:a=typeof v.is=="string"?E.createElement(p,{is:v.is}):E.createElement(p)}}a[tt]=l,a[bt]=v;e:for(E=l.child;E!==null;){if(E.tag===5||E.tag===6)a.appendChild(E.stateNode);else if(E.tag!==4&&E.tag!==27&&E.child!==null){E.child.return=E,E=E.child;continue}if(E===l)break e;for(;E.sibling===null;){if(E.return===null||E.return===l)break e;E=E.return}E.sibling.return=E.return,E=E.sibling}l.stateNode=a;e:switch(Zr(a,p,v),p){case"button":case"input":case"select":case"textarea":a=!!v.autoFocus;break e;case"img":a=!0;break e;default:a=!1}a&&Ba(l)}}return si(l),l.flags&=-16777217,null;case 6:if(a&&l.stateNode!=null)a.memoizedProps!==v&&Ba(l);else{if(typeof v!="string"&&l.stateNode===null)throw Error(n(166));if(a=xe.current,Ma(l)){if(a=l.stateNode,p=l.memoizedProps,v=null,E=jr,E!==null)switch(E.tag){case 27:case 5:v=E.memoizedProps}a[tt]=l,a=!!(a.nodeValue===p||v!==null&&v.suppressHydrationWarning===!0||PC(a.nodeValue,p)),a||El(l)}else a=x_(a).createTextNode(v),a[tt]=l,l.stateNode=a}return si(l),null;case 13:if(v=l.memoizedState,a===null||a.memoizedState!==null&&a.memoizedState.dehydrated!==null){if(E=Ma(l),v!==null&&v.dehydrated!==null){if(a===null){if(!E)throw Error(n(318));if(E=l.memoizedState,E=E!==null?E.dehydrated:null,!E)throw Error(n(317));E[tt]=l}else Mu(),(l.flags&128)===0&&(l.memoizedState=null),l.flags|=4;si(l),E=!1}else E=Xn(),a!==null&&a.memoizedState!==null&&(a.memoizedState.hydrationErrors=E),E=!0;if(!E)return l.flags&256?(ro(l),l):(ro(l),null)}if(ro(l),(l.flags&128)!==0)return l.lanes=p,l;if(p=v!==null,a=a!==null&&a.memoizedState!==null,p){v=l.child,E=null,v.alternate!==null&&v.alternate.memoizedState!==null&&v.alternate.memoizedState.cachePool!==null&&(E=v.alternate.memoizedState.cachePool.pool);var C=null;v.memoizedState!==null&&v.memoizedState.cachePool!==null&&(C=v.memoizedState.cachePool.pool),C!==E&&(v.flags|=2048)}return p!==a&&p&&(l.child.flags|=8192),Ko(l,l.updateQueue),si(l),null;case 4:return We(),a===null&&Ub(l.stateNode.containerInfo),si(l),null;case 10:return ko(l.type),si(l),null;case 19:if(ye(Ni),E=l.memoizedState,E===null)return si(l),null;if(v=(l.flags&128)!==0,C=E.rendering,C===null)if(v)Tc(E,!1);else{if(hi!==0||a!==null&&(a.flags&128)!==0)for(a=l.child;a!==null;){if(C=Jo(a),C!==null){for(l.flags|=128,Tc(E,!1),a=C.updateQueue,l.updateQueue=a,Ko(l,a),l.subtreeFlags=0,a=p,p=l.child;p!==null;)Mg(p,a),p=p.sibling;return Ae(Ni,Ni.current&1|2),l.child}a=a.sibling}E.tail!==null&&ie()>Ur&&(l.flags|=128,v=!0,Tc(E,!1),l.lanes=4194304)}else{if(!v)if(a=Jo(C),a!==null){if(l.flags|=128,v=!0,a=a.updateQueue,l.updateQueue=a,Ko(l,a),Tc(E,!0),E.tail===null&&E.tailMode==="hidden"&&!C.alternate&&!Hn)return si(l),null}else 2*ie()-E.renderingStartTime>Ur&&p!==536870912&&(l.flags|=128,v=!0,Tc(E,!1),l.lanes=4194304);E.isBackwards?(C.sibling=l.child,l.child=C):(a=E.last,a!==null?a.sibling=C:l.child=C,E.last=C)}return E.tail!==null?(l=E.tail,E.rendering=l,E.tail=l.sibling,E.renderingStartTime=ie(),l.sibling=null,a=Ni.current,Ae(Ni,v?a&1|2:a&1),l):(si(l),null);case 22:case 23:return ro(l),ph(),v=l.memoizedState!==null,a!==null?a.memoizedState!==null!==v&&(l.flags|=8192):v&&(l.flags|=8192),v?(p&536870912)!==0&&(l.flags&128)===0&&(si(l),l.subtreeFlags&6&&(l.flags|=8192)):si(l),p=l.updateQueue,p!==null&&Ko(l,p.retryQueue),p=null,a!==null&&a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(p=a.memoizedState.cachePool.pool),v=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(v=l.memoizedState.cachePool.pool),v!==p&&(l.flags|=2048),a!==null&&ye(ia),null;case 24:return p=null,a!==null&&(p=a.memoizedState.cache),l.memoizedState.cache!==p&&(l.flags|=2048),ko(Vi),si(l),null;case 25:return null;case 30:return null}throw Error(n(156,l.tag))}function zu(a,l){switch(Tg(l),l.tag){case 1:return a=l.flags,a&65536?(l.flags=a&-65537|128,l):null;case 3:return ko(Vi),We(),a=l.flags,(a&65536)!==0&&(a&128)===0?(l.flags=a&-65537|128,l):null;case 26:case 27:case 5:return Ft(l),null;case 13:if(ro(l),a=l.memoizedState,a!==null&&a.dehydrated!==null){if(l.alternate===null)throw Error(n(340));Mu()}return a=l.flags,a&65536?(l.flags=a&-65537|128,l):null;case 19:return ye(Ni),null;case 4:return We(),null;case 10:return ko(l.type),null;case 22:case 23:return ro(l),ph(),a!==null&&ye(ia),a=l.flags,a&65536?(l.flags=a&-65537|128,l):null;case 24:return ko(Vi),null;case 25:return null;default:return null}}function Fu(a,l){switch(Tg(l),l.tag){case 3:ko(Vi),We();break;case 26:case 27:case 5:Ft(l);break;case 4:We();break;case 13:ro(l);break;case 19:ye(Ni);break;case 10:ko(l.type);break;case 22:case 23:ro(l),ph(),a!==null&&ye(ia);break;case 24:ko(Vi)}}function Cc(a,l){try{var p=l.updateQueue,v=p!==null?p.lastEffect:null;if(v!==null){var E=v.next;p=E;do{if((p.tag&a)===a){v=void 0;var C=p.create,F=p.inst;v=C(),F.destroy=v}p=p.next}while(p!==E)}}catch(j){ue(l,l.return,j)}}function Ds(a,l,p){try{var v=l.updateQueue,E=v!==null?v.lastEffect:null;if(E!==null){var C=E.next;v=C;do{if((v.tag&a)===a){var F=v.inst,j=F.destroy;if(j!==void 0){F.destroy=void 0,E=l;var ae=p,be=j;try{be()}catch(ze){ue(E,ae,ze)}}}v=v.next}while(v!==C)}}catch(ze){ue(l,l.return,ze)}}function wc(a){var l=a.updateQueue;if(l!==null){var p=a.stateNode;try{Ry(l,p)}catch(v){ue(a,a.return,v)}}}function Qo(a,l,p){p.props=so(a.type,a.memoizedProps),p.state=a.memoizedState;try{p.componentWillUnmount()}catch(v){ue(a,l,v)}}function Rc(a,l){try{var p=a.ref;if(p!==null){switch(a.tag){case 26:case 27:case 5:var v=a.stateNode;break;case 30:v=a.stateNode;break;default:v=a.stateNode}typeof p=="function"?a.refCleanup=p(v):p.current=v}}catch(E){ue(a,l,E)}}function oo(a,l){var p=a.ref,v=a.refCleanup;if(p!==null)if(typeof v=="function")try{v()}catch(E){ue(a,l,E)}finally{a.refCleanup=null,a=a.alternate,a!=null&&(a.refCleanup=null)}else if(typeof p=="function")try{p(null)}catch(E){ue(a,l,E)}else p.current=null}function Gu(a){var l=a.type,p=a.memoizedProps,v=a.stateNode;try{e:switch(l){case"button":case"input":case"select":case"textarea":p.autoFocus&&v.focus();break e;case"img":p.src?v.src=p.src:p.srcSet&&(v.srcset=p.srcSet)}}catch(E){ue(a,a.return,E)}}function bh(a,l,p){try{var v=a.stateNode;PL(v,a.type,p,l),v[bt]=l}catch(E){ue(a,a.return,E)}}function Mh(a){return a.tag===5||a.tag===3||a.tag===26||a.tag===27&&Wu(a.type)||a.tag===4}function Il(a){e:for(;;){for(;a.sibling===null;){if(a.return===null||Mh(a.return))return null;a=a.return}for(a.sibling.return=a.return,a=a.sibling;a.tag!==5&&a.tag!==6&&a.tag!==18;){if(a.tag===27&&Wu(a.type)||a.flags&2||a.child===null||a.tag===4)continue e;a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}function Pl(a,l,p){var v=a.tag;if(v===5||v===6)a=a.stateNode,l?(p.nodeType===9?p.body:p.nodeName==="HTML"?p.ownerDocument.body:p).insertBefore(a,l):(l=p.nodeType===9?p.body:p.nodeName==="HTML"?p.ownerDocument.body:p,l.appendChild(a),p=p._reactRootContainer,p!=null||l.onclick!==null||(l.onclick=__));else if(v!==4&&(v===27&&Wu(a.type)&&(p=a.stateNode,l=null),a=a.child,a!==null))for(Pl(a,l,p),a=a.sibling;a!==null;)Pl(a,l,p),a=a.sibling}function Hl(a,l,p){var v=a.tag;if(v===5||v===6)a=a.stateNode,l?p.insertBefore(a,l):p.appendChild(a);else if(v!==4&&(v===27&&Wu(a.type)&&(p=a.stateNode),a=a.child,a!==null))for(Hl(a,l,p),a=a.sibling;a!==null;)Hl(a,l,p),a=a.sibling}function zl(a){var l=a.stateNode,p=a.memoizedProps;try{for(var v=a.type,E=l.attributes;E.length;)l.removeAttributeNode(E[0]);Zr(l,v,p),l[tt]=a,l[bt]=p}catch(C){ue(a,a.return,C)}}var lo=!1,ai=!1,Vu=!1,Os=typeof WeakSet=="function"?WeakSet:Set,ti=null;function Qi(a,l){if(a=a.containerInfo,Hb=T_,a=vg(a),Zf(a)){if("selectionStart"in a)var p={start:a.selectionStart,end:a.selectionEnd};else e:{p=(p=a.ownerDocument)&&p.defaultView||window;var v=p.getSelection&&p.getSelection();if(v&&v.rangeCount!==0){p=v.anchorNode;var E=v.anchorOffset,C=v.focusNode;v=v.focusOffset;try{p.nodeType,C.nodeType}catch{p=null;break e}var F=0,j=-1,ae=-1,be=0,ze=0,Xe=a,Ce=null;t:for(;;){for(var Be;Xe!==p||E!==0&&Xe.nodeType!==3||(j=F+E),Xe!==C||v!==0&&Xe.nodeType!==3||(ae=F+v),Xe.nodeType===3&&(F+=Xe.nodeValue.length),(Be=Xe.firstChild)!==null;)Ce=Xe,Xe=Be;for(;;){if(Xe===a)break t;if(Ce===p&&++be===E&&(j=F),Ce===C&&++ze===v&&(ae=F),(Be=Xe.nextSibling)!==null)break;Xe=Ce,Ce=Xe.parentNode}Xe=Be}p=j===-1||ae===-1?null:{start:j,end:ae}}else p=null}p=p||{start:0,end:0}}else p=null;for(zb={focusedElem:a,selectionRange:p},T_=!1,ti=l;ti!==null;)if(l=ti,a=l.child,(l.subtreeFlags&1024)!==0&&a!==null)a.return=l,ti=a;else for(;ti!==null;){switch(l=ti,C=l.alternate,a=l.flags,l.tag){case 0:break;case 11:case 15:break;case 1:if((a&1024)!==0&&C!==null){a=void 0,p=l,E=C.memoizedProps,C=C.memoizedState,v=p.stateNode;try{var en=so(p.type,E,p.elementType===p.type);a=v.getSnapshotBeforeUpdate(en,C),v.__reactInternalSnapshotBeforeUpdate=a}catch(Wt){ue(p,p.return,Wt)}}break;case 3:if((a&1024)!==0){if(a=l.stateNode.containerInfo,p=a.nodeType,p===9)Vb(a);else if(p===1)switch(a.nodeName){case"HEAD":case"HTML":case"BODY":Vb(a);break;default:a.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((a&1024)!==0)throw Error(n(163))}if(a=l.sibling,a!==null){a.return=l.return,ti=a;break}ti=l.return}}function Zo(a,l,p){var v=p.flags;switch(p.tag){case 0:case 11:case 15:Kr(a,p),v&4&&Cc(5,p);break;case 1:if(Kr(a,p),v&4)if(a=p.stateNode,l===null)try{a.componentDidMount()}catch(F){ue(p,p.return,F)}else{var E=so(p.type,l.memoizedProps);l=l.memoizedState;try{a.componentDidUpdate(E,l,a.__reactInternalSnapshotBeforeUpdate)}catch(F){ue(p,p.return,F)}}v&64&&wc(p),v&512&&Rc(p,p.return);break;case 3:if(Kr(a,p),v&64&&(a=p.updateQueue,a!==null)){if(l=null,p.child!==null)switch(p.child.tag){case 27:case 5:l=p.child.stateNode;break;case 1:l=p.child.stateNode}try{Ry(a,l)}catch(F){ue(p,p.return,F)}}break;case 27:l===null&&v&4&&zl(p);case 26:case 5:Kr(a,p),l===null&&v&4&&Gu(p),v&512&&Rc(p,p.return);break;case 12:Kr(a,p);break;case 13:Kr(a,p),v&4&&Fl(a,p),v&64&&(a=p.memoizedState,a!==null&&(a=a.dehydrated,a!==null&&(p=di.bind(null,p),XL(a,p))));break;case 22:if(v=p.memoizedState!==null||lo,!v){l=l!==null&&l.memoizedState!==null||ai,E=lo;var C=ai;lo=v,(ai=l)&&!C?co(a,p,(p.subtreeFlags&8772)!==0):Kr(a,p),lo=E,ai=C}break;case 30:break;default:Kr(a,p)}}function dn(a){var l=a.alternate;l!==null&&(a.alternate=null,dn(l)),a.child=null,a.deletions=null,a.sibling=null,a.tag===5&&(l=a.stateNode,l!==null&&qt(l)),a.stateNode=null,a.return=null,a.dependencies=null,a.memoizedProps=null,a.memoizedState=null,a.pendingProps=null,a.stateNode=null,a.updateQueue=null}var kt=null,Nn=!1;function ca(a,l,p){for(p=p.child;p!==null;)Bc(a,l,p),p=p.sibling}function Bc(a,l,p){if(Ue&&typeof Ue.onCommitFiberUnmount=="function")try{Ue.onCommitFiberUnmount(we,p)}catch{}switch(p.tag){case 26:ai||oo(p,l),ca(a,l,p),p.memoizedState?p.memoizedState.count--:p.stateNode&&(p=p.stateNode,p.parentNode.removeChild(p));break;case 27:ai||oo(p,l);var v=kt,E=Nn;Wu(p.type)&&(kt=p.stateNode,Nn=!1),ca(a,l,p),s0(p.stateNode),kt=v,Nn=E;break;case 5:ai||oo(p,l);case 6:if(v=kt,E=Nn,kt=null,ca(a,l,p),kt=v,Nn=E,kt!==null)if(Nn)try{(kt.nodeType===9?kt.body:kt.nodeName==="HTML"?kt.ownerDocument.body:kt).removeChild(p.stateNode)}catch(C){ue(p,l,C)}else try{kt.removeChild(p.stateNode)}catch(C){ue(p,l,C)}break;case 18:kt!==null&&(Nn?(a=kt,VC(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,p.stateNode),d0(a)):VC(kt,p.stateNode));break;case 4:v=kt,E=Nn,kt=p.stateNode.containerInfo,Nn=!0,ca(a,l,p),kt=v,Nn=E;break;case 0:case 11:case 14:case 15:ai||Ds(2,p,l),ai||Ds(4,p,l),ca(a,l,p);break;case 1:ai||(oo(p,l),v=p.stateNode,typeof v.componentWillUnmount=="function"&&Qo(p,l,v)),ca(a,l,p);break;case 21:ca(a,l,p);break;case 22:ai=(v=ai)||p.memoizedState!==null,ca(a,l,p),ai=v;break;default:ca(a,l,p)}}function Fl(a,l){if(l.memoizedState===null&&(a=l.alternate,a!==null&&(a=a.memoizedState,a!==null&&(a=a.dehydrated,a!==null))))try{d0(a)}catch(p){ue(l,l.return,p)}}function yp(a){switch(a.tag){case 13:case 19:var l=a.stateNode;return l===null&&(l=a.stateNode=new Os),l;case 22:return a=a.stateNode,l=a._retryCache,l===null&&(l=a._retryCache=new Os),l;default:throw Error(n(435,a.tag))}}function Dc(a,l){var p=yp(a);l.forEach(function(v){var E=Qt.bind(null,a,v);p.has(v)||(p.add(v),v.then(E,E))})}function lr(a,l){var p=l.deletions;if(p!==null)for(var v=0;v<p.length;v++){var E=p[v],C=a,F=l,j=F;e:for(;j!==null;){switch(j.tag){case 27:if(Wu(j.type)){kt=j.stateNode,Nn=!1;break e}break;case 5:kt=j.stateNode,Nn=!1;break e;case 3:case 4:kt=j.stateNode.containerInfo,Nn=!0;break e}j=j.return}if(kt===null)throw Error(n(160));Bc(C,F,E),kt=null,Nn=!1,C=E.alternate,C!==null&&(C.return=null),E.return=null}if(l.subtreeFlags&13878)for(l=l.child;l!==null;)_p(l,a),l=l.sibling}var Da=null;function _p(a,l){var p=a.alternate,v=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:lr(l,a),Mi(a),v&4&&(Ds(3,a,a.return),Cc(3,a),Ds(5,a,a.return));break;case 1:lr(l,a),Mi(a),v&512&&(ai||p===null||oo(p,p.return)),v&64&&lo&&(a=a.updateQueue,a!==null&&(v=a.callbacks,v!==null&&(p=a.shared.hiddenCallbacks,a.shared.hiddenCallbacks=p===null?v:p.concat(v))));break;case 26:var E=Da;if(lr(l,a),Mi(a),v&512&&(ai||p===null||oo(p,p.return)),v&4){var 
vendor: 5,405 bytes, line 48
48C=p!==null?p.memoizedState:null;if(v=a.memoizedState,p===null)if(v===null)if(a.stateNode===null){e:{v=a.type,p=a.memoizedProps,E=E.ownerDocument||E;t:switch(v){case"title":C=E.getElementsByTagName("title")[0],(!C||C[kn]||C[tt]||C.namespaceURI==="http://www.w3.org/2000/svg"||C.hasAttribute("itemprop"))&&(C=E.createElement(v),E.head.insertBefore(C,E.querySelector("head > title"))),Zr(C,v,p),C[tt]=a,Bn(C),v=C;break e;case"link":var F=KC("link","href",E).get(v+(p.href||""));if(F){for(var j=0;j<F.length;j++)if(C=F[j],C.getAttribute("href")===(p.href==null||p.href===""?null:p.href)&&C.getAttribute("rel")===(p.rel==null?null:p.rel)&&C.getAttribute("title")===(p.title==null?null:p.title)&&C.getAttribute("crossorigin")===(p.crossOrigin==null?null:p.crossOrigin)){F.splice(j,1);break t}}C=E.createElement(v),Zr(C,v,p),E.head.appendChild(C);break;case"meta":if(F=KC("meta","content",E).get(v+(p.content||""))){for(j=0;j<F.length;j++)if(C=F[j],C.getAttribute("content")===(p.content==null?null:""+p.content)&&C.getAttribute("name")===(p.name==null?null:p.name)&&C.getAttribute("property")===(p.property==null?null:p.property)&&C.getAttribute("http-equiv")===(p.httpEquiv==null?null:p.httpEquiv)&&C.getAttribute("charset")===(p.charSet==null?null:p.charSet)){F.splice(j,1);break t}}C=E.createElement(v),Zr(C,v,p),E.head.appendChild(C);break;default:throw Error(n(468,v))}C[tt]=a,Bn(C),v=C}a.stateNode=v}else QC(E,a.type,a.stateNode);else a.stateNode=JC(E,v,a.memoizedProps);else C!==v?(C===null?p.stateNode!==null&&(p=p.stateNode,p.parentNode.removeChild(p)):C.count--,v===null?QC(E,a.type,a.stateNode):JC(E,v,a.memoizedProps)):v===null&&a.stateNode!==null&&bh(a,a.memoizedProps,p.memoizedProps)}break;case 27:lr(l,a),Mi(a),v&512&&(ai||p===null||oo(p,p.return)),p!==null&&v&4&&bh(a,a.memoizedProps,p.memoizedProps);break;case 5:if(lr(l,a),Mi(a),v&512&&(ai||p===null||oo(p,p.return)),a.flags&32){E=a.stateNode;try{Wi(E,"")}catch(Be){ue(a,a.return,Be)}}v&4&&a.stateNode!=null&&(E=a.memoizedProps,bh(a,E,p!==null?p.memoizedProps:E)),v&1024&&(Vu=!0);break;case 6:if(lr(l,a),Mi(a),v&4){if(a.stateNode===null)throw Error(n(162));v=a.memoizedProps,p=a.stateNode;try{p.nodeValue=v}catch(Be){ue(a,a.return,Be)}}break;case 3:if(b_=null,E=Da,Da=S_(l.containerInfo),lr(l,a),Da=E,Mi(a),v&4&&p!==null&&p.memoizedState.isDehydrated)try{d0(l.containerInfo)}catch(Be){ue(a,a.return,Be)}Vu&&(Vu=!1,Gl(a));break;case 4:v=Da,Da=S_(a.stateNode.containerInfo),lr(l,a),Mi(a),Da=v;break;case 12:lr(l,a),Mi(a);break;case 13:lr(l,a),Mi(a),a.child.flags&8192&&a.memoizedState!==null!=(p!==null&&p.memoizedState!==null)&&(Zn=ie()),v&4&&(v=a.updateQueue,v!==null&&(a.updateQueue=null,Dc(a,v)));break;case 22:E=a.memoizedState!==null;var ae=p!==null&&p.memoizedState!==null,be=lo,ze=ai;if(lo=be||E,ai=ze||ae,lr(l,a),ai=ze,lo=be,Mi(a),v&8192)e:for(l=a.stateNode,l._visibility=E?l._visibility&-2:l._visibility|1,E&&(p===null||ae||lo||ai||Ns(a)),p=null,l=a;;){if(l.tag===5||l.tag===26){if(p===null){ae=p=l;try{if(C=ae.stateNode,E)F=C.style,typeof F.setProperty=="function"?F.setProperty("display","none","important"):F.display="none";else{j=ae.stateNode;var Xe=ae.memoizedProps.style,Ce=Xe!=null&&Xe.hasOwnProperty("display")?Xe.display:null;j.style.display=Ce==null||typeof Ce=="boolean"?"":(""+Ce).trim()}}catch(Be){ue(ae,ae.return,Be)}}}else if(l.tag===6){if(p===null){ae=l;try{ae.stateNode.nodeValue=E?"":ae.memoizedProps}catch(Be){ue(ae,ae.return,Be)}}}else if((l.tag!==22&&l.tag!==23||l.memoizedState===null||l===a)&&l.child!==null){l.child.return=l,l=l.child;continue}if(l===a)break e;for(;l.sibling===null;){if(l.return===null||l.return===a)break e;p===l&&(p=null),l=l.return}p===l&&(p=null),l.sibling.return=l.return,l=l.sibling}v&4&&(v=a.updateQueue,v!==null&&(p=v.retryQueue,p!==null&&(v.retryQueue=null,Dc(a,p))));break;case 19:lr(l,a),Mi(a),v&4&&(v=a.updateQueue,v!==null&&(a.updateQueue=null,Dc(a,v)));break;case 30:break;case 21:break;default:lr(l,a),Mi(a)}}function Mi(a){var l=a.flags;if(l&2){try{for(var p,v=a.return;v!==null;){if(Mh(v)){p=v;break}v=v.return}if(p==null)throw Error(n(160));switch(p.tag){case 27:var E=p.stateNode,C=Il(a);Hl(a,C,E);break;case 5:var F=p.stateNode;p.flags&32&&(Wi(F,""),p.flags&=-33);var j=Il(a);Hl(a,j,F);break;case 3:case 4:var ae=p.stateNode.containerInfo,be=Il(a);Pl(a,be,ae);break;default:throw Error(n(161))}}catch(ze){ue(a,a.return,ze)}a.flags&=-3}l&4096&&(a.flags&=-4097)}function Gl(a){if(a.subtreeFlags&1024)for(a=a.child;a!==null;){var l=a;Gl(l),l.tag===5&&l.flags&1024&&l.stateNode.reset(),a=a.sibling}}function Kr(a,l){if(l.subtreeFlags&8772)for(l=l.child;l!==null;)Zo(a,l.alternate,l),l=l.sibling}function Ns(a){for(a=a.child;a!==null;){var l=a;switch(l.tag){case 0:case 11:case 14:case 15:Ds(4,l,l.return),Ns(l);break;case 1:oo(l,l.return);var p=l.stateNode;typeof p.componentWillUnmount=="function"&&Qo(l,l.return,p),Ns(l);break;case 27:s0(l.stateNode);case 26:case 5:oo(l,l.return),Ns(l);break;case 22:l.memoizedState===null&&Ns(l);break;case 30:Ns(l);break;default:Ns(l)}a=a.sibling}}function co(a,l,p){for(p=p&&(l.subtreeFlags&8772)!==0,l=l.child;l!==null;){var v=l.alternate,E=a,C=l,F=C.flags;switch(C.tag){case 0:case 11:case 15:co(E,C,p),Cc(4,C);break;case 1:if(co(E,C,p),v=C,E=v.stateNode,typeof E.componentDidMount=="function")try{E.componentDidMount()}catch(be){ue(v,v.return,be)}if(v=C,E=v.updateQueue,E!==null){var j=v.stateNode;try{var ae=E.shared.hiddenCallbacks;
vendor: 29,113 bytes, lines 48-49
48if(ae!==null)for(E.shared.hiddenCallbacks=null,E=0;E<ae.length;E++)Du(ae[E],j)}catch(be){ue(v,v.return,be)}}p&&F&64&&wc(C),Rc(C,C.return);break;case 27:zl(C);case 26:case 5:co(E,C,p),p&&v===null&&F&4&&Gu(C),Rc(C,C.return);break;case 12:co(E,C,p);break;case 13:co(E,C,p),p&&F&4&&Fl(E,C);break;case 22:C.memoizedState===null&&co(E,C,p),Rc(C,C.return);break;case 30:break;default:co(E,C,p)}l=l.sibling}}function xp(a,l){var p=null;a!==null&&a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(p=a.memoizedState.cachePool.pool),a=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(a=l.memoizedState.cachePool.pool),a!==p&&(a!=null&&a.refCount++,p!=null&&Eu(p))}function Sp(a,l){a=null,l.alternate!==null&&(a=l.alternate.memoizedState.cache),l=l.memoizedState.cache,l!==a&&(l.refCount++,a!=null&&Eu(a))}function ni(a,l,p,v){if(l.subtreeFlags&10256)for(l=l.child;l!==null;)Ap(a,l,p,v),l=l.sibling}function Ap(a,l,p,v){var E=l.flags;switch(l.tag){case 0:case 11:case 15:ni(a,l,p,v),E&2048&&Cc(9,l);break;case 1:ni(a,l,p,v);break;case 3:ni(a,l,p,v),E&2048&&(a=null,l.alternate!==null&&(a=l.alternate.memoizedState.cache),l=l.memoizedState.cache,l!==a&&(l.refCount++,a!=null&&Eu(a)));break;case 12:if(E&2048){ni(a,l,p,v),a=l.stateNode;try{var C=l.memoizedProps,F=C.id,j=C.onPostCommit;typeof j=="function"&&j(F,l.alternate===null?"mount":"update",a.passiveEffectDuration,-0)}catch(ae){ue(l,l.return,ae)}}else ni(a,l,p,v);break;case 13:ni(a,l,p,v);break;case 23:break;case 22:C=l.stateNode,F=l.alternate,l.memoizedState!==null?C._visibility&2?ni(a,l,p,v):Oa(a,l):C._visibility&2?ni(a,l,p,v):(C._visibility|=2,$o(a,l,p,v,(l.subtreeFlags&10256)!==0)),E&2048&&xp(F,l);break;case 24:ni(a,l,p,v),E&2048&&Sp(l.alternate,l);break;default:ni(a,l,p,v)}}function $o(a,l,p,v,E){for(E=E&&(l.subtreeFlags&10256)!==0,l=l.child;l!==null;){var C=a,F=l,j=p,ae=v,be=F.flags;switch(F.tag){case 0:case 11:case 15:$o(C,F,j,ae,E),Cc(8,F);break;case 23:break;case 22:var ze=F.stateNode;F.memoizedState!==null?ze._visibility&2?$o(C,F,j,ae,E):Oa(C,F):(ze._visibility|=2,$o(C,F,j,ae,E)),E&&be&2048&&xp(F.alternate,F);break;case 24:$o(C,F,j,ae,E),E&&be&2048&&Sp(F.alternate,F);break;default:$o(C,F,j,ae,E)}l=l.sibling}}function Oa(a,l){if(l.subtreeFlags&10256)for(l=l.child;l!==null;){var p=a,v=l,E=v.flags;switch(v.tag){case 22:Oa(p,v),E&2048&&xp(v.alternate,v);break;case 24:Oa(p,v),E&2048&&Sp(v.alternate,v);break;default:Oa(p,v)}l=l.sibling}}var Ls=8192;function ku(a){if(a.subtreeFlags&Ls)for(a=a.child;a!==null;)m_(a),a=a.sibling}function m_(a){switch(a.tag){case 26:ku(a),a.flags&Ls&&a.memoizedState!==null&&iU(Da,a.memoizedState,a.memoizedProps);break;case 5:ku(a);break;case 3:case 4:var l=Da;Da=S_(a.stateNode.containerInfo),ku(a),Da=l;break;case 22:a.memoizedState===null&&(l=a.alternate,l!==null&&l.memoizedState!==null?(l=Ls,Ls=16777216,ku(a),Ls=l):ku(a));break;default:ku(a)}}function g_(a){var l=a.alternate;if(l!==null&&(a=l.child,a!==null)){l.child=null;do l=a.sibling,a.sibling=null,a=l;while(a!==null)}}function oi(a){var l=a.deletions;if((a.flags&16)!==0){if(l!==null)for(var p=0;p<l.length;p++){var v=l[p];ti=v,fo(v,a)}g_(a)}if(a.subtreeFlags&10256)for(a=a.child;a!==null;)e0(a),a=a.sibling}function e0(a){switch(a.tag){case 0:case 11:case 15:oi(a),a.flags&2048&&Ds(9,a,a.return);break;case 3:oi(a);break;case 12:oi(a);break;case 22:var l=a.stateNode;a.memoizedState!==null&&l._visibility&2&&(a.return===null||a.return.tag!==13)?(l._visibility&=-3,uo(a)):oi(a);break;default:oi(a)}}function uo(a){var l=a.deletions;if((a.flags&16)!==0){if(l!==null)for(var p=0;p<l.length;p++){var v=l[p];ti=v,fo(v,a)}g_(a)}for(a=a.child;a!==null;){switch(l=a,l.tag){case 0:case 11:case 15:Ds(8,l,l.return),uo(l);break;case 22:p=l.stateNode,p._visibility&2&&(p._visibility&=-3,uo(l));break;default:uo(l)}a=a.sibling}}function fo(a,l){for(;ti!==null;){var p=ti;switch(p.tag){case 0:case 11:case 15:Ds(8,p,l);break;case 23:case 22:if(p.memoizedState!==null&&p.memoizedState.cachePool!==null){var v=p.memoizedState.cachePool.pool;v!=null&&v.refCount++}break;case 24:Eu(p.memoizedState.cache)}if(v=p.child,v!==null)v.return=p,ti=v;else e:for(p=a;ti!==null;){v=ti;var E=v.sibling,C=v.return;if(dn(v),v===p){ti=null;break e}if(E!==null){E.return=C,ti=E;break e}ti=C}}}var Ei={getCacheForType:function(a){var l=bi(Vi),p=l.data.get(a);return p===void 0&&(p=a(),l.data.set(a,p)),p}},t0=typeof WeakMap=="function"?WeakMap:Map,Yn=0,tn=null,_n=null,Gt=0,cn=0,Ai=null,Us=!1,Xu=!1,Yu=!1,ua=0,hi=0,Na=0,ho=0,Oc=0,fa=0,Ln=0,jn=null,Xt=null,bn=!1,Zn=0,Ur=1/0,ha=null,Is=null,Zi=0,Ir=null,ii=null,Ps=0,el=0,Eh=null,Hs=null,po=0,Nc=null;function Ti(){if((Yn&2)!==0&&Gt!==0)return Gt&-Gt;if(k.T!==null){var a=an;return a!==0?a:Db()}return ft()}function bp(){fa===0&&(fa=(Gt&536870912)===0||Hn?se():536870912);var a=ei.current;return a!==null&&(a.flags|=32),fa}function Qr(a,l,p){(a===tn&&(cn===2||cn===9)||a.cancelPendingCommit!==null)&&(kl(a,0),La(a,Gt,fa,!1)),ct(a,p),((Yn&2)===0||a!==tn)&&(a===tn&&((Yn&2)===0&&(ho|=p),hi===4&&La(a,Gt,fa,!1)),jl(a))}function ju(a,l,p){if((Yn&6)!==0)throw Error(n(327));var v=!p&&(l&124)===0&&(l&a.expiredLanes)===0||rt(a,l),E=v?T(a,l):h(a,l,!0),C=v;do{if(E===0){Xu&&!v&&La(a,l,0,!1);break}else{if(p=a.current.alternate,C&&!Vl(p)){E=h(a,l,!1),C=!1;continue}if(E===2){if(C=l,a.errorRecoveryDisabledLanes&C)var F=0;else F=a.pendingLanes&-536870913,F=F!==0?F:F&536870912?536870912:0;if(F!==0){l=F;e:{var j=a;E=jn;var ae=j.current.memoizedState.isDehydrated;if(ae&&(kl(j,F).flags|=256),F=h(j,F,!1),F!==2){if(Yu&&!ae){j.errorRecoveryDisabledLanes|=C,ho|=C,E=4;break e}C=Xt,Xt=E,C!==null&&(Xt===null?Xt=C:Xt.push.apply(Xt,C))}E=F}if(C=!1,E!==2)continue}}if(E===1){kl(a,0),La(a,l,0,!0);break}e:{switch(v=a,C=E,C){case 0:case 1:throw Error(n(345));case 4:if((l&4194048)!==l)break;case 6:La(v,l,fa,!Us);break e;case 2:Xt=null;break;case 3:case 5:break;default:throw Error(n(329))}if((l&62914560)===l&&(E=Zn+300-ie(),10<E)){if(La(v,l,fa,!Us),yt(v,0,!0)!==0)break e;v.timeoutHandle=FC(Th.bind(null,v,p,Xt,ha,bn,l,fa,ho,Ln,Us,C,2,-0,0),E);break e}Th(v,p,Xt,ha,bn,l,fa,ho,Ln,Us,C,0,-0,0)}}break}while(!0);jl(a)}function Th(a,l,p,v,E,C,F,j,ae,be,ze,Xe,Ce,Be){if(a.timeoutHandle=-1,Xe=l.subtreeFlags,(Xe&8192||(Xe&16785408)===16785408)&&(l0={stylesheets:null,count:0,unsuspend:nU},m_(l),Xe=rU(),Xe!==null)){a.cancelPendingCommit=Xe(at.bind(null,a,l,C,p,v,E,F,j,ae,ze,1,Ce,Be)),La(a,C,F,!be);return}at(a,l,C,p,v,E,F,j,ae)}function Vl(a){for(var l=a;;){var p=l.tag;if((p===0||p===11||p===15)&&l.flags&16384&&(p=l.updateQueue,p!==null&&(p=p.stores,p!==null)))for(var v=0;v<p.length;v++){var E=p[v],C=E.getSnapshot;E=E.value;try{if(!rs(C(),E))return!1}catch{return!1}}if(p=l.child,l.subtreeFlags&16384&&p!==null)p.return=l,l=p;else{if(l===a)break;for(;l.sibling===null;){if(l.return===null||l.return===a)return!0;l=l.return}l.sibling.return=l.return,l=l.sibling}}return!0}function La(a,l,p,v){l&=~Oc,l&=~ho,a.suspendedLanes|=l,a.pingedLanes&=~l,v&&(a.warmLanes|=l),v=a.expirationTimes;for(var E=l;0<E;){var C=31-ot(E),F=1<<C;v[C]=-1,E&=~F}p!==0&&Pe(a,p,l)}function mo(){return(Yn&6)===0?(n0(0),!1):!0}function Lc(){if(_n!==null){if(cn===0)var a=_n.return;else a=_n,Vo=Tl=null,Pg(a),yc=null,yh=0,a=_n;for(;a!==null;)Fu(a.alternate,a),a=a.return;_n=null}}function kl(a,l){var p=a.timeoutHandle;p!==-1&&(a.timeoutHandle=-1,zL(p)),p=a.cancelPendingCommit,p!==null&&(a.cancelPendingCommit=null,p()),Lc(),tn=a,_n=p=Di(a.current,null),Gt=l,cn=0,Ai=null,Us=!1,Xu=rt(a,l),Yu=!1,Ln=fa=Oc=ho=Na=hi=0,Xt=jn=null,bn=!1,(l&8)!==0&&(l|=l&32);var v=a.entangledLanes;if(v!==0)for(a=a.entanglements,v&=l;0<v;){var E=31-ot(v),C=1<<E;l|=a[E],v&=~C}return ua=l,th(),p}function Mp(a,l){on=null,k.H=vh,l===fh||l===Ea?(l=Og(),cn=3):l===Dg?(l=Og(),cn=4):cn=l===p_?8:l!==null&&typeof l=="object"&&typeof l.then=="function"?6:1,Ai=l,_n===null&&(hi=1,mp(a,Sr(l,a.current)))}function qu(){var a=k.H;return k.H=vh,a===null?vh:a}function Ep(){var a=k.A;return k.A=Ei,a}function u(){hi=4,Us||(Gt&4194048)!==Gt&&ei.current!==null||(Xu=!0),(Na&134217727)===0&&(ho&134217727)===0||tn===null||La(tn,Gt,fa,!1)}function h(a,l,p){var v=Yn;Yn|=2;var E=qu(),C=Ep();(tn!==a||Gt!==l)&&(ha=null,kl(a,l)),l=!1;var F=hi;e:do try{if(cn!==0&&_n!==null){var j=_n,ae=Ai;switch(cn){case 8:Lc(),F=6;break e;case 3:case 2:case 9:case 6:ei.current===null&&(l=!0);var be=cn;if(cn=0,Ai=null,oe(a,j,ae,be),p&&Xu){F=0;break e}break;default:be=cn,cn=0,Ai=null,oe(a,j,ae,be)}}x(),F=hi;break}catch(ze){Mp(a,ze)}while(!0);return l&&a.shellSuspendCounter++,Vo=Tl=null,Yn=v,k.H=E,k.A=C,_n===null&&(tn=null,Gt=0,th()),F}function x(){for(;_n!==null;)L(_n)}function T(a,l){var p=Yn;Yn|=2;var v=qu(),E=Ep();tn!==a||Gt!==l?(ha=null,Ur=ie()+500,kl(a,l)):Xu=rt(a,l);e:do try{if(cn!==0&&_n!==null){l=_n;var C=Ai;t:switch(cn){case 1:cn=0,Ai=null,oe(a,l,C,1);break;case 2:case 9:if(ep(C)){cn=0,Ai=null,q(l);break}l=function(){cn!==2&&cn!==9||tn!==a||(cn=7),jl(a)},C.then(l,l);break e;case 3:cn=7;break e;case 4:cn=5;break e;case 7:ep(C)?(cn=0,Ai=null,q(l)):(cn=0,Ai=null,oe(a,l,C,7));break;case 5:var F=null;switch(_n.tag){case 26:F=_n.memoizedState;case 5:case 27:var j=_n;if(!F||ZC(F)){cn=0,Ai=null;var ae=j.sibling;if(ae!==null)_n=ae;else{var be=j.return;be!==null?(_n=be,ve(be)):_n=null}break t}}cn=0,Ai=null,oe(a,l,C,5);break;case 6:cn=0,Ai=null,oe(a,l,C,6);break;case 8:Lc(),hi=6;break e;default:throw Error(n(462))}}R();break}catch(ze){Mp(a,ze)}while(!0);return Vo=Tl=null,k.H=v,k.A=E,Yn=p,_n!==null?0:(tn=null,Gt=0,th(),hi)}function R(){for(;_n!==null&&!Le();)L(_n)}function L(a){var l=Ec(a.alternate,a,ua);a.memoizedProps=a.pendingProps,l===null?ve(a):_n=l}function q(a){var l=a,p=l.alternate;switch(l.tag){case 15:case 0:l=Rs(p,l,l.pendingProps,l.type,void 0,Gt);break;case 11:l=Rs(p,l,l.pendingProps,l.type.render,l.ref,Gt);break;case 5:Pg(l);default:Fu(p,l),l=_n=Mg(l,ua),l=Ec(p,l,ua)}a.memoizedProps=a.pendingProps,l===null?ve(a):_n=l}function oe(a,l,p,v){Vo=Tl=null,Pg(l),yc=null,yh=0;var E=l.return;try{if(Rb(a,E,l,p,Gt)){hi=1,mp(a,Sr(p,a.current)),_n=null;return}}catch(C){if(E!==null)throw _n=E,C;hi=1,mp(a,Sr(p,a.current)),_n=null;return}l.flags&32768?(Hn||v===1?a=!0:Xu||(Gt&536870912)!==0?a=!1:(Us=a=!0,(v===2||v===9||v===3||v===6)&&(v=ei.current,v!==null&&v.tag===13&&(v.flags|=16384))),He(l,a)):ve(l)}function ve(a){var l=a;do{if((l.flags&32768)!==0){He(l,Us);return}a=l.return;var p=$g(l.alternate,l,ua);if(p!==null){_n=p;return}if(l=l.sibling,l!==null){_n=l;return}_n=l=a}while(l!==null);hi===0&&(hi=5)}function He(a,l){do{var p=zu(a.alternate,a);if(p!==null){p.flags&=32767,_n=p;return}if(p=a.return,p!==null&&(p.flags|=32768,p.subtreeFlags=0,p.deletions=null),!l&&(a=a.sibling,a!==null)){_n=a;return}_n=a=p}while(a!==null);hi=6,_n=null}function at(a,l,p,v,E,C,F,j,ae){a.cancelPendingCommit=null;do Xl();while(Zi!==0);if((Yn&6)!==0)throw Error(n(327));if(l!==null){if(l===a.current)throw Error(n(177));if(C=l.lanes|l.childLanes,C|=Yd,je(a,p,C,F,j,ae),a===tn&&(_n=tn=null,Gt=0),ii=l,Ir=a,Ps=p,el=C,Eh=E,Hs=v,(l.subtreeFlags&10256)!==0||(l.flags&10256)!==0?(a.callbackNode=null,a.callbackPriority=0,zn(ht,function(){return Yl(),null})):(a.callbackNode=null,a.callbackPriority=0),v=(l.flags&13878)!==0,(l.subtreeFlags&13878)!==0||v){v=k.T,k.T=null,E=W.p,W.p=2,F=Yn,Yn|=4;try{Qi(a,l,p)}finally{Yn=F,W.p=E,k.T=v}}Zi=1,pt(),xt(),nn()}}function pt(){if(Zi===1){Zi=0;var a=Ir,l=ii,p=(l.flags&13878)!==0;if((l.subtreeFlags&13878)!==0||p){p=k.T,k.T=null;var v=W.p;W.p=2;var E=Yn;Yn|=4;try{_p(l,a);var C=zb,F=vg(a.containerInfo),j=C.focusedElem,ae=C.selectionRange;if(F!==j&&j&&j.ownerDocument&&gg(j.ownerDocument.documentElement,j)){if(ae!==null&&Zf(j)){var be=ae.start,ze=ae.end;if(ze===void 0&&(ze=be),"selectionStart"in j)j.selectionStart=be,j.selectionEnd=Math.min(ze,j.value.length);else{var Xe=j.ownerDocument||document,Ce=Xe&&Xe.defaultView||window;if(Ce.getSelection){var Be=Ce.getSelection(),en=j.textContent.length,Wt=Math.min(ae.start,en),ci=ae.end===void 0?Wt:Math.min(ae.end,en);!Be.extend&&Wt>ci&&(F=ci,ci=Wt,Wt=F);var ge=mg(j,Wt),fe=mg(j,ci);if(ge&&fe&&(Be.rangeCount!==1||Be.anchorNode!==ge.node||Be.anchorOffset!==ge.offset||Be.focusNode!==fe.node||Be.focusOffset!==fe.offset)){var Se=Xe.createRange();Se.setStart(ge.node,ge.offset),Be.removeAllRanges(),Wt>ci?(Be.addRange(Se),Be.extend(fe.node,fe.offset)):(Se.setEnd(fe.node,fe.offset),Be.addRange(Se))}}}}for(Xe=[],Be=j;Be=Be.parentNode;)Be.nodeType===1&&Xe.push({element:Be,left:Be.scrollLeft,top:Be.scrollTop});for(typeof j.focus=="function"&&j.focus(),j=0;j<Xe.length;j++){var Fe=Xe[j];Fe.element.scrollLeft=Fe.left,Fe.element.scrollTop=Fe.top}}T_=!!Hb,zb=Hb=null}finally{Yn=E,W.p=v,k.T=p}}a.current=l,Zi=2}}function xt(){if(Zi===2){Zi=0;var a=Ir,l=ii,p=(l.flags&8772)!==0;if((l.subtreeFlags&8772)!==0||p){p=k.T,k.T=null;var v=W.p;W.p=2;var E=Yn;Yn|=4;try{Zo(a,l.alternate,l)}finally{Yn=E,W.p=v,k.T=p}}Zi=3}}function nn(){if(Zi===4||Zi===3){Zi=0,Ge();var a=Ir,l=ii,p=Ps,v=Hs;(l.subtreeFlags&10256)!==0||(l.flags&10256)!==0?Zi=5:(Zi=0,ii=Ir=null,zs(a,a.pendingLanes));var E=a.pendingLanes;if(E===0&&(Is=null),hn(p),l=l.stateNode,Ue&&typeof Ue.onCommitFiberRoot=="function")try{Ue.onCommitFiberRoot(we,l,void 0,(l.current.flags&128)===128)}catch{}if(v!==null){l=k.T,E=W.p,W.p=2,k.T=null;try{for(var C=a.onRecoverableError,F=0;F<v.length;F++){var j=v[F];C(j.value,{componentStack:j.stack})}}finally{k.T=l,W.p=E}}(Ps&3)!==0&&Xl(),jl(a),E=a.pendingLanes,(p&4194090)!==0&&(E&42)!==0?a===Nc?po++:(po=0,Nc=a):po=0,n0(0)}}function zs(a,l){(a.pooledCacheLanes&=l)===0&&(l=a.pooledCache,l!=null&&(a.pooledCache=null,Eu(l)))}function Xl(a){return pt(),xt(),nn(),Yl()}function Yl(){if(Zi!==5)return!1;var a=Ir,l=el;el=0;var p=hn(Ps),v=k.T,E=W.p;try{W.p=32>p?32:p,k.T=null,p=Eh,Eh=null;var C=Ir,F=Ps;if(Zi=0,ii=Ir=null,Ps=0,(Yn&6)!==0)throw Error(n(331));var j=Yn;if(Yn|=4,e0(C.current),Ap(C,C.current,F,p),Yn=j,n0(0,!1),Ue&&typeof Ue.onPostCommitFiberRoot=="function")try{Ue.onPostCommitFiberRoot(we,C)}catch{}return!0}finally{W.p=E,k.T=v,zs(a,l)}}function Me(a,l,p){l=Sr(p,l),l=gp(a.stateNode,l,2),a=Yo(a,l,2),a!==null&&(ct(a,2),jl(a))}function ue(a,l,p){if(a.tag===3)Me(a,a,p);else for(;l!==null;){if(l.tag===3){Me(l,a,p);break}else if(l.tag===1){var v=l.stateNode;if(typeof l.type.getDerivedStateFromError=="function"||typeof v.componentDidCatch=="function"&&(Is===null||!Is.has(v))){a=Sr(p,a),p=d_(2),v=Yo(l,p,2),v!==null&&(vp(p,v,l,a),ct(v,2),jl(v));break}}l=l.return}}function De(a,l,p){var v=a.pingCache;if(v===null){v=a.pingCache=new t0;var E=new Set;v.set(l,E)}else E=v.get(l),E===void 0&&(E=new Set,v.set(l,E));E.has(p)||(Yu=!0,E.add(p),a=st.bind(null,a,l,p),l.then(a,a))}function st(a,l,p){var v=a.pingCache;v!==null&&v.delete(l),a.pingedLanes|=a.suspendedLanes&p,a.warmLanes&=~p,tn===a&&(Gt&p)===p&&(hi===4||hi===3&&(Gt&62914560)===Gt&&300>ie()-Zn?(Yn&2)===0&&kl(a,0):Oc|=p,Ln===Gt&&(Ln=0)),jl(a)}function It(a,l){l===0&&(l=Ke()),a=Fo(a,l),a!==null&&(ct(a,l),jl(a))}function di(a){var l=a.memoizedState,p=0;l!==null&&(p=l.retryLane),It(a,p)}function Qt(a,l){var p=0;switch(a.tag){case 13:var v=a.stateNode,E=a.memoizedState;E!==null&&(p=E.retryLane);break;case 19:v=a.stateNode;break;case 22:v=a.stateNode._retryCache;break;default:throw Error(n(314))}v!==null&&v.delete(l),It(a,p)}function zn(a,l){return ne(a,l)}var Ui=null,xn=null,go=!1,Tp=!1,Bb=!1,Ch=0;function jl(a){a!==xn&&a.next===null&&(xn===null?Ui=xn=a:xn=xn.next=a),Tp=!0,go||(go=!0,BL())}function n0(a,l){if(!Bb&&Tp){Bb=!0;do for(var p=!1,v=Ui;v!==null;){if(a!==0){var E=v.pendingLanes;if(E===0)var C=0;else{var F=v.suspendedLanes,j=v.pingedLanes;C=(1<<31-ot(42|a)+1)-1,C&=E&~(F&~j),C=C&201326741?C&201326741|1:C?C|2:0}C!==0&&(p=!0,BC(v,C))}else C=Gt,C=yt(v,v===tn?C:0,v.cancelPendingCommit!==null||v.timeoutHandle!==-1),(C&3)===0||rt(v,C)||(p=!0,BC(v,C));v=v.next}while(p);Bb=!1}}function RL(){CC()}function CC(){Tp=go=!1;var a=0;Ch!==0&&(HL()&&(a=Ch),Ch=0);for(var l=ie(),p=null,v=Ui;v!==null;){var E=v.next,C=wC(v,l);C===0?(v.next=null,p===null?Ui=E:p.next=E,E===null&&(xn=p)):(p=v,(a!==0||(C&3)!==0)&&(Tp=!0)),v=E}n0(a)}function wC(a,l){for(var p=a.suspendedLanes,v=a.pingedLanes,E=a.expirationTimes,C=a.pendingLanes&-62914561;0<C;){var F=31-ot(C),j=1<<F,ae=E[F];ae===-1?((j&p)===0||(j&v)!==0)&&(E[F]=Pt(j,l)):ae<=l&&(a.expiredLanes|=j),C&=~j}if(l=tn,p=Gt,p=yt(a,a===l?p:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),v=a.callbackNode,p===0||a===l&&(cn===2||cn===9)||a.cancelPendingCommit!==null)return v!==null&&v!==null&&Ie(v),a.callbackNode=null,a.callbackPriority=0;if((p&3)===0||rt(a,p)){if(l=p&-p,l===a.callbackPriority)return l;switch(v!==null&&Ie(v),hn(p)){case 2:case 8:p=Je;break;case 32:p=ht;break;case 268435456:p=J;break;default:p=ht}return v=RC.bind(null,a),p=ne(p,v),a.callbackPriority=l,a.callbackNode=p,l}return v!==null&&v!==null&&Ie(v),a.callbackPriority=2,a.callbackNode=null,2}function RC(a,l){if(Zi!==0&&Zi!==5)return a.callbackNode=null,a.callbackPriority=0,null;var p=a.callbackNode;if(Xl()&&a.callbackNode!==p)return null;var v=Gt;return v=yt(a,a===tn?v:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),v===0?null:(ju(a,v,l),wC(a,ie()),a.callbackNode!=null&&a.callbackNode===p?RC.bind(null,a):null)}function BC(a,l){if(Xl())return null;ju(a,l,!0)}function BL(){FL(function(){(Yn&6)!==0?ne(ke,RL):CC()})}function Db(){return Ch===0&&(Ch=se()),Ch}function DC(a){return a==null||typeof a=="symbol"||typeof a=="boolean"?null:typeof a=="function"?a:zf(""+a)}function OC(a,l){var p=l.ownerDocument.createElement("input");return p.name=l.name,p.value=l.value,a.id&&p.setAttribute("form",a.id),l.parentNode.insertBefore(p,l),a=new FormData(a),p.parentNode.removeChild(p),a}function DL(a,l,p,v,E){if(l==="submit"&&p&&p.stateNode===E){var C=DC((E[bt]||null).action),F=v.submitter;F&&(l=(l=F[bt]||null)?DC(l.formAction):F.getAttribute("formAction"),l!==null&&(C=l,F=null));var j=new hu("action","action",null,v,E);a.push({event:j,listeners:[{instance:null,listener:function(){if(v.defaultPrevented){if(Ch!==0){var ae=F?OC(E,F):new FormData(E);Jg(p,{pending:!0,data:ae,method:E.method,action:C},null,ae)}}else typeof C=="function"&&(j.preventDefault(),ae=F?OC(E,F):new FormData(E),Jg(p,{pending:!0,data:ae,method:E.method,action:C},C,ae))},currentTarget:E}]})}}for(var Ob=0;Ob<eh.length;Ob++){var Nb=eh[Ob],OL=Nb.toLowerCase(),NL=Nb[0].toUpperCase()+Nb.slice(1);rr(OL,"on"+NL)}rr(Yr,"onAnimationEnd"),rr(xg,"onAnimationIteration"),rr(as,"onAnimationStart"),rr("dblclick","onDoubleClick"),rr("focusin","onFocus"),rr("focusout","onBlur"),rr(Ey,"onTransitionRun"),rr(Ho,"onTransitionStart"),rr(xu,"onTransitionCancel"),rr(zo,"onTransitionEnd"),ce("onMouseEnter",["mouseout","mouseover"]),ce("onMouseLeave",["mouseout","mouseover"]),ce("onPointerEnter",["pointerout","pointerover"]),ce("onPointerLeave",["pointerout","pointerover"]),Y("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),Y("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),Y("onBeforeInput",["compositionend","keypress","textInput","paste"]),Y("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),Y("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),Y("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var i0="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),LL=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(i0));function NC(a,l){l=(l&4)!==0;for(var p=0;p<a.length;p++){var v=a[p],E=v.event;v=v.listeners;e:{var C=void 0;if(l)for(var F=v.length-1;0<=F;F--){var j=v[F],ae=j.instance,be=j.currentTarget;if(j=j.listener,ae!==C&&E.isPropagationStopped())break e;C=j,E.currentTarget=be;try{C(E)}catch(ze){xc(ze)}E.currentTarget=null,C=ae}else for(F=0;F<v.length;F++){if(j=v[F],ae=j.instance,be=j.currentTarget,j=j.listener,ae!==C&&E.isPropagationStopped())break e;C=j,E.currentTarget=be;try{C(E)}catch(ze){xc(ze)}E.currentTarget=null,C=ae}}}}function wn(a,l){var p=l[Ut];p===void 0&&(p=l[Ut]=new Set);var v=a+"__bubble";p.has(v)||(LC(l,a,2,!1),p.add(v))}function Lb(a,l,p){var v=0;l&&(v|=4),LC(p,a,v,l)}var v_="_reactListening"+Math.random().toString(36).slice(2);function Ub(a){if(!a[v_]){a[v_]=!0,dr.forEach(function(p){p!=="selectionchange"&&(LL.has(p)||Lb(p,!1,a),Lb(p,!0,a))});var l=a.nodeType===9?a:a.ownerDocument;l===null||l[v_]||(l[v_]=!0,Lb("selectionchange",!1,l))}}function LC(a,l,p,v){switch(rw(l)){case 2:var E=oU;break;case 8:E=lU;break;default:E=Jb}p=E.bind(null,l,p,a),E=void 0,!Gf||l!=="touchstart"&&l!=="touchmove"&&l!=="wheel"||(E=!0),v?E!==void 0?a.addEventListener(l,p,{capture:!0,passive:E}):a.addEventListener(l,p,!0):E!==void 0?a.addEventListener(l,p,{passive:E}):a.addEventListener(l,p,!1)}function Ib(a,l,p,v,E){var C=v;if((l&1)===0&&(l&2)===0&&v!==null)e:for(;;){if(v===null)return;var F=v.tag;if(F===3||F===4){var j=v.stateNode.containerInfo;if(j===E)break;if(F===4)for(F=v.return;F!==null;){var ae=F.tag;if((ae===3||ae===4)&&F.stateNode.containerInfo===E)return;F=F.return}for(;j!==null;){if(F=An(j),F===null)return;if(ae=F.tag,ae===5||ae===6||ae===26||ae===27){v=C=F;continue e}j=j.parentNode}}v=v.return}ig(function(){var be=C,ze=Od(p),Xe=[];e:{var Ce=Xd.get(a);if(Ce!==void 0){var Be=hu,en=a;switch(a){case"keypress":if(pl(p)===0)break e;case"keydown":case"keyup":Be=lg;break;case"focusin":en="focus",Be=Ld;break;case"focusout":en="blur",Be=Ld;break;case"beforeblur":case"afterblur":Be=Ld;break;case"click":if(p.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":Be=ag;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":Be=yb;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":Be=ug;break;case Yr:case xg:case as:Be=uy;break;case zo:Be=Lo;break;case"scroll":case"scrollend":Be=oy;break;case"wheel":Be=_b;break;case"copy":case"cut":case"paste":Be=hy;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":Be=Id;break;case"toggle":case"beforetoggle":Be=gl}var Wt=(l&4)!==0,ci=!Wt&&(a==="scroll"||a==="scrollend"),ge=Wt?Ce!==null?Ce+"Capture":null:Ce;Wt=[];for(var fe=be,Se;fe!==null;){var Fe=fe;if(Se=Fe.stateNode,Fe=Fe.tag,Fe!==5&&Fe!==26&&Fe!==27||Se===null||ge===null||(Fe=cu(fe,ge),Fe!=null&&Wt.push(r0(fe,Fe,Se))),ci)break;fe=fe.return}0<Wt.length&&(Ce=new Be(Ce,en,null,p,ze),Xe.push({event:Ce,listeners:Wt}))}}if((l&7)===0){e:{if(Ce=a==="mouseover"||a==="pointerover",Be=a==="mouseout"||a==="pointerout",Ce&&p!==Dd&&(en=p.relatedTarget||p.fromElement)&&(An(en)||en[Tt]))break e;if((Be||Ce)&&(Ce=ze.window===ze?ze:(Ce=ze.ownerDocument)?Ce.defaultView||Ce.parentWindow:window,Be?(en=p.relatedTarget||p.toElement,Be=be,en=en?An(en):null,en!==null&&(ci=s(en),Wt=en.tag,en!==ci||Wt!==5&&Wt!==27&&Wt!==6)&&(en=null)):(Be=null,en=be),Be!==en)){if(Wt=ag,Fe="onMouseLeave",ge="onMouseEnter",fe="mouse",(a==="pointerout"||a==="pointerover")&&(Wt=Id,Fe="onPointerLeave",ge="onPointerEnter",fe="pointer"),ci=Be==null?Ce:Gi(Be),Se=en==null?Ce:Gi(en),Ce=new Wt(Fe,fe+"leave",Be,p,ze),Ce.target=ci,Ce.relatedTarget=Se,Fe=null,An(ze)===be&&(Wt=new Wt(ge,fe+"enter",en,p,ze),Wt.target=Se,Wt.relatedTarget=ci,Fe=Wt),ci=Fe,Be&&en)t:{for(Wt=Be,ge=en,fe=0,Se=Wt;Se;Se=Cp(Se))fe++;for(Se=0,Fe=ge;Fe;Fe=Cp(Fe))Se++;for(;0<fe-Se;)Wt=Cp(Wt),fe--;for(;0<Se-fe;)ge=Cp(ge),Se--;for(;fe--;){if(Wt===ge||ge!==null&&Wt===ge.alternate)break t;Wt=Cp(Wt),ge=Cp(ge)}Wt=null}else Wt=null;Be!==null&&UC(Xe,Ce,Be,Wt,!1),en!==null&&ci!==null&&UC(Xe,ci,en,Wt,!0)}}e:{if(Ce=be?Gi(be):window,Be=Ce.nodeName&&Ce.nodeName.toLowerCase(),Be==="select"||Be==="input"&&Ce.type==="file")var Bt=Hd;else if(pg(Ce))if(zd)Bt=_l;else{Bt=Ay;var Mn=xb}else Be=Ce.nodeName,!Be||Be.toLowerCase()!=="input"||Ce.type!=="checkbox"&&Ce.type!=="radio"?be&&Bd(be.elementType)&&(Bt=Hd):Bt=Qf;if(Bt&&(Bt=Bt(a,be))){is(Xe,Bt,p,ze);break e}Mn&&Mn(a,Ce,be),a==="focusout"&&be&&Ce.type==="number"&&be.memoizedProps.value!=null&&gr(Ce,"number",Ce.value)}switch(Mn=be?Gi(be):window,a){case"focusin":(pg(Mn)||Mn.contentEditable==="true")&&(Io=Mn,Gd=be,$f=null);break;case"focusout":$f=Gd=Io=null;break;case"mousedown":Vd=!0;break;case"contextmenu":case"mouseup":case"dragend":Vd=!1,_g(Xe,p,ze);break;case"selectionchange":if(yg)break;case"keydown":case"keyup":_g(Xe,p,ze)}var zt;if(Yf)e:{switch(a){case"compositionstart":var Jt="onCompositionStart";break e;case"compositionend":Jt="onCompositionEnd";break e;case"compositionupdate":Jt="onCompositionUpdate";break e}Jt=void 0}else yl?Wf(a,p)&&(Jt="onCompositionEnd"):a==="keydown"&&p.keyCode===229&&(Jt="onCompositionStart");Jt&&(qf&&p.locale!=="ko"&&(yl||Jt!=="onCompositionStart"?Jt==="onCompositionEnd"&&yl&&(zt=sg()):(Oo=ze,rg="value"in Oo?Oo.value:Oo.textContent,yl=!0)),Mn=y_(be,Jt),0<Mn.length&&(Jt=new Ud(Jt,a,null,p,ze),Xe.push({event:Jt,listeners:Mn}),zt?Jt.data=zt:(zt=hg(p),zt!==null&&(Jt.data=zt)))),(zt=jf?Jf(a,p):dg(a,p))&&(Jt=y_(be,"onBeforeInput"),0<Jt.length&&(Mn=new Ud("onBeforeInput","beforeinput",null,p,ze),Xe.push({event:Mn,listeners:Jt}),Mn.data=zt)),DL(Xe,a,be,p,ze)}NC(Xe,l)})}function r0(a,l,p){return{instance:a,listener:l,currentTarget:p}}function y_(a,l){for(var p=l+"Capture",v=[];a!==null;){var E=a,C=E.stateNode;if(E=E.tag,E!==5&&E!==26&&E!==27||C===null||(E=cu(a,p),E!=null&&v.unshift(r0(a,E,C)),E=cu(a,l),E!=null&&v.push(r0(a,E,C))),a.tag===3)return v;a=a.return}return[]}function Cp(a){if(a===null)return null;do a=a.return;while(a&&a.tag!==5&&a.tag!==27);return a||null}function UC(a,l,p,v,E){for(var C=l._reactName,F=[];p!==null&&p!==v;){var j=p,ae=j.alternate,be=j.stateNode;if(j=j.tag,ae!==null&&ae===v)break;j!==5&&j!==26&&j!==27||be===null||(ae=be,E?(be=cu(p,C),be!=null&&F.unshift(r0(p,be,ae))):E||(be=cu(p,C),be!=null&&F.push(r0(p,be,ae)))),p=p.return}F.length!==0&&a.push({event:l,listeners:F})}var UL=/\r\n?/g,IL=/\u0000|\uFFFD/g;function IC(a){return(typeof a=="string"?a:""+a).replace(UL,`
49`).replace(IL,"")}function PC(a,l){return l=IC(l),IC(a)===l}function __(){}function li(a,l,p,v,E,C){switch(p){case"children":typeof v=="string"?l==="body"||l==="textarea"&&v===""||Wi(a,v):(typeof v=="number"||typeof v=="bigint")&&l!=="body"&&Wi(a,""+v);break;case"className":vt(a,"class",v);break;case"tabIndex":vt(a,"tabindex",v);break;case"dir":case"role":case"viewBox":case"width":case"height":vt(a,p,v);break;case"style":Hf(a,v,C);break;case"data":if(l!=="object"){vt(a,"data",v);break}case"src":case"href":if(v===""&&(l!=="a"||p!=="href")){a.removeAttribute(p);break}if(v==null||typeof v=="function"||typeof v=="symbol"||typeof v=="boolean"){a.removeAttribute(p);break}v=zf(""+v),a.setAttribute(p,v);break;case"action":case"formAction":if(typeof v=="function"){a.setAttribute(p,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof C=="function"&&(p==="formAction"?(l!=="input"&&li(a,l,"name",E.name,E,null),li(a,l,"formEncType",E.formEncType,E,null),li(a,l,"formMethod",E.formMethod,E,null),li(a,l,"formTarget",E.formTarget,E,null)):(li(a,l,"encType",E.encType,E,null),li(a,l,"method",E.method,E,null),li(a,l,"target",E.target,E,null)));if(v==null||typeof v=="symbol"||typeof v=="boolean"){a.removeAttribute(p);break}v=zf(""+v),a.setAttribute(p,v);break;case"onClick":v!=null&&(a.onclick=__);break;case"onScroll":v!=null&&wn("scroll",a);break;case"onScrollEnd":v!=null&&wn("scrollend",a);break;case"dangerouslySetInnerHTML":if(v!=null){if(typeof v!="object"||!("__html"in v))throw Error(n(61));if(p=v.__html,p!=null){if(E.children!=null)throw Error(n(60));a.innerHTML=p}}break;case"multiple":a.multiple=v&&typeof v!="function"&&typeof v!="symbol";break;case"muted":a.muted=v&&typeof v!="function"&&typeof v!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(v==null||typeof v=="function"||typeof v=="boolean"||typeof v=="symbol"){a.removeAttribute("xlink:href");break}p=zf(""+v),a.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",p);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":v!=null&&typeof v!="function"&&typeof v!="symbol"?a.setAttribute(p,""+v):a.removeAttribute(p);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInl
49ine":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":v&&typeof v!="function"&&typeof v!="symbol"?a.setAttribute(p,""):a.removeAttribute(p);break;case"capture":case"download":v===!0?a.setAttribute(p,""):v!==!1&&v!=null&&typeof v!="function"&&typeof v!="symbol"?a.setAttribute(p,v):a.removeAttribute(p);break;case"cols":case"rows":case"size":case"span":v!=null&&typeof v!="function"&&typeof v!="symbol"&&!isNaN(v)&&1<=v?a.setAttribute(p,v):a.removeAttribute(p);break;case"rowSpan":case"start":v==null||typeof v=="function"||typeof v=="symbol"||isNaN(v)?a.removeAttribute(p):a.setAttribute(p,v);break;case"popover":wn("beforetoggle",a),wn("toggle",a),et(a,"popover",v);break;case"xlinkActuate":ut(a,"http://www.w3.org/1999/xlink","xlink:actuate",v);break;case"xlinkArcrole":ut(a,"http://www.w3.org/1999/xlink","xlink:arcrole",v);break;case"xlinkRole":ut(a,"http://www.w3.org/1999/xlink","xlink:role",v);break;case"xlinkShow":ut(a,"http://www.w3.org/1999/xlink","xlink:show",v);break;case"xlinkTitle":ut(a,"http://www.w3.org/1999/xlink","xlink:title",v);break;case"xlinkType":ut(a,"http://www.w3.org/1999/xlink","xlink:type",v);break;case"xmlBase":ut(a,"http://www.w3.org/XML/1998/namespace","xml:base",v);break;case"xmlLang":ut(a,"http://www.w3.org/XML/1998/namespace","xml:lang",v);break;case"xmlSpace":ut(a,"http://www.w3.org/XML/1998/namespace","xml:space",v);break;case"is":et(a,"is",v);break;case"innerText":case"textContent":break;default:(!(2<p.length)||p[0]!=="o"&&p[0]!=="O"||p[1]!=="n"&&p[1]!=="N")&&(p=tg.get(p)||p,et(a,p,v))}}function Pb(a,l,p,v,E,C){switch(p){case"style":Hf(a,v,C);break;case"dangerouslySetInnerHTML":if(v!=null){if(typeof v!="object"||!("__html"in v))throw Error(n(61));if(p=v.__html,p!=null){if(E.children!=null)throw Error(n(60));a.innerHTML=p}}break;case"children":typeof v=="string"?Wi(a,v):(typeof v=="number"||typeof v=="bigint")&&Wi(a,""+v);break;case"onScroll":v!=null&&wn("scroll",a);break;case"onScrollEnd":v!=null&&wn("scrollend",a);break;case"onClick":v!=null&&(a.onclick=__);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!vi.hasOwnProperty(p))e:{if(p[0]==="o"&&p[1]==="n"&&(E=p.endsWith("Capture"),l=p.slice(2,E?p.length-7:void 0),C=a[bt]||null,C=C!=null?C[p]:null,typeof C=="function"&&a.removeEventListener(l,C,E),typeof v=="function")){typeof C!="function"&&C!==null&&(p in a?a[p]=null:a.hasAttribute(p)&&a.removeAttribute(p)),a.addEventListener(l,v,E);break e}p in a?a[p]=v:v===!0?a.setAttribute(p,""):et(a,p,v)}}}function Zr(a,l,p){switch(l){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":wn("error",a),wn("load",a);var v=!1,E=!1,C;for(C in p)if(p.hasOwnProperty(C)){var F=p[C];if(F!=null)switch(C){case"src":v=!0;break;case"srcSet":E=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(n(137,l));default:li(a,l,C,F,p,null)}}E&&li(a,l,"srcSet",p.srcSet,p,null),v&&li(a,l,"src",p.src,p,null);return;case"input":wn("invalid",a);var j=C=F=E=null,ae=null,be=null;for(v in p)if(p.hasOwnProperty(v)){var ze=p[v];if(ze!=null)switch(v){case"name":E=ze;break;case"type":F=ze;break;case"checked":ae=ze;break;case"defaultChecked":be=ze;break;case"value":C=ze;break;case"defaultValue":j=ze;break;case"children":case"dangerouslySetInnerHTML":if(ze!=null)throw Error(n(137,l));break;default:li(a,l,v,ze,p,null)}}Or(a,C,j,ae,be,F,E,!1),yn(a);return;case"select":wn("invalid",a),v=F=C=null;for(E in p)if(p.hasOwnProperty(E)&&(j=p[E],j!=null))switch(E){case"value":C=j;break;case"defaultValue":F=j;break;case"multiple":v=j;default:li(a,l,E,j,p,null)}l=C,p=F,a.multiple=!!v,l!=null?xi(a,!!v,l,!1):p!=null&&xi(a,!!v,p,!0);return;case"textarea":wn("invalid",a),C=E=v=null;for(F in p)if(p.hasOwnProperty(F)&&(j=p[F],j!=null))switch(F){case"value":v=j;break;case"defaultValue":E=j;break;case"children":C=j;break;case"dangerouslySetInnerHTML":if(j!=null)throw Error(n(91));break;default:li(a,l,F,j,p,null)}hc(a,v,E,C),yn(a);return;case"option":for(ae in p)if(p.hasOwnProperty(ae)&&(v=p[ae],v!=null))switch(ae){case"selected":a.selected=v&&typeof v!="function"&&typeof v!="symbol";break;default:li(a,l,ae,v,p,null)}return;case"dialog":wn("beforetoggle",a),wn("toggle",a),wn("cancel",a),wn("close",a);break;case"iframe":case"object":wn("load",a);break;case"video":case"audio":for(v=0;v<i0.length;v++)wn(i0[v],a);break;case"image":wn("error",a),wn("load",a);break;case"details":wn("toggle",a);break;case"embed":case"source":case"link":wn("error",a),wn("load",a);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(be in p)if(p.hasOwnProperty(be)&&(v=p[be],v!=null))switch(be){case"children":case"dangerouslySetInnerHTML":throw Error(n(137,l));default:li(a,l,be,v,p,null)}return;default:if(Bd(l)){for(ze in p)p.hasOwnProperty(ze)&&(v=p[ze],v!==void 0&&Pb(a,l,ze,v,p,void 0));return}}for(j in p)p.hasOwnProperty(j)&&(v=p[j],v!=null&&li(a,l,j,v,p,null))}function PL(a,l,p,v){switch(l){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var E=null,C=null,F=null,j=null,ae=null,be=null,ze=null;for(Be in p){var Xe=p[Be];if(p.hasOwnProperty(Be)&&Xe!=null)switch(Be){case"checked":break;case"value":break;case"defaultValue":ae=Xe;default:v.hasOwnProperty(Be)||li(a,l,Be,null,v,Xe)}}for(var Ce in v){var Be=v[Ce];if(Xe=p[Ce],v.hasOwnProperty(Ce)&&(Be!=null||Xe!=null))switch(Ce){case"type":C=Be;break;case"name":E=Be;break;
vendor: 2,033 bytes, line 49
49case"checked":be=Be;break;case"defaultChecked":ze=Be;break;case"value":F=Be;break;case"defaultValue":j=Be;break;case"children":case"dangerouslySetInnerHTML":if(Be!=null)throw Error(n(137,l));break;default:Be!==Xe&&li(a,l,Ce,Be,v,Xe)}}Qn(a,F,j,ae,be,ze,C,E);return;case"select":Be=F=j=Ce=null;for(C in p)if(ae=p[C],p.hasOwnProperty(C)&&ae!=null)switch(C){case"value":break;case"multiple":Be=ae;default:v.hasOwnProperty(C)||li(a,l,C,null,v,ae)}for(E in v)if(C=v[E],ae=p[E],v.hasOwnProperty(E)&&(C!=null||ae!=null))switch(E){case"value":Ce=C;break;case"defaultValue":j=C;break;case"multiple":F=C;default:C!==ae&&li(a,l,E,C,v,ae)}l=j,p=F,v=Be,Ce!=null?xi(a,!!p,Ce,!1):!!v!=!!p&&(l!=null?xi(a,!!p,l,!0):xi(a,!!p,p?[]:"",!1));return;case"textarea":Be=Ce=null;for(j in p)if(E=p[j],p.hasOwnProperty(j)&&E!=null&&!v.hasOwnProperty(j))switch(j){case"value":break;case"children":break;default:li(a,l,j,null,v,E)}for(F in v)if(E=v[F],C=p[F],v.hasOwnProperty(F)&&(E!=null||C!=null))switch(F){case"value":Ce=E;break;case"defaultValue":Be=E;break;case"children":break;case"dangerouslySetInnerHTML":if(E!=null)throw Error(n(91));break;default:E!==C&&li(a,l,F,E,v,C)}vr(a,Ce,Be);return;case"option":for(var en in p)if(Ce=p[en],p.hasOwnProperty(en)&&Ce!=null&&!v.hasOwnProperty(en))switch(en){case"selected":a.selected=!1;break;default:li(a,l,en,null,v,Ce)}for(ae in v)if(Ce=v[ae],Be=p[ae],v.hasOwnProperty(ae)&&Ce!==Be&&(Ce!=null||Be!=null))switch(ae){case"selected":a.selected=Ce&&typeof Ce!="function"&&typeof Ce!="symbol";break;default:li(a,l,ae,Ce,v,Be)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var Wt in p)Ce=p[Wt],p.hasOwnProperty(Wt)&&Ce!=null&&!v.hasOwnProperty(Wt)&&li(a,l,Wt,null,v,Ce);for(be in v)if(Ce=v[be],Be=p[be],v.hasOwnProperty(be)&&Ce!==Be&&(Ce!=null||Be!=null))switch(be){case"children":case"dangerouslySetInnerHTML":if(Ce!=null)throw Error(n(137,l));break;default:li(a,l,be,Ce,v,Be)}return;
vendor: 20,650 bytes, line 49
49default:if(Bd(l)){for(var ci in p)Ce=p[ci],p.hasOwnProperty(ci)&&Ce!==void 0&&!v.hasOwnProperty(ci)&&Pb(a,l,ci,void 0,v,Ce);for(ze in v)Ce=v[ze],Be=p[ze],!v.hasOwnProperty(ze)||Ce===Be||Ce===void 0&&Be===void 0||Pb(a,l,ze,Ce,v,Be);return}}for(var ge in p)Ce=p[ge],p.hasOwnProperty(ge)&&Ce!=null&&!v.hasOwnProperty(ge)&&li(a,l,ge,null,v,Ce);for(Xe in v)Ce=v[Xe],Be=p[Xe],!v.hasOwnProperty(Xe)||Ce===Be||Ce==null&&Be==null||li(a,l,Xe,Ce,v,Be)}var Hb=null,zb=null;function x_(a){return a.nodeType===9?a:a.ownerDocument}function HC(a){switch(a){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function zC(a,l){if(a===0)switch(l){case"svg":return 1;case"math":return 2;default:return 0}return a===1&&l==="foreignObject"?0:a}function Fb(a,l){return a==="textarea"||a==="noscript"||typeof l.children=="string"||typeof l.children=="number"||typeof l.children=="bigint"||typeof l.dangerouslySetInnerHTML=="object"&&l.dangerouslySetInnerHTML!==null&&l.dangerouslySetInnerHTML.__html!=null}var Gb=null;function HL(){var a=window.event;return a&&a.type==="popstate"?a===Gb?!1:(Gb=a,!0):(Gb=null,!1)}var FC=typeof setTimeout=="function"?setTimeout:void 0,zL=typeof clearTimeout=="function"?clearTimeout:void 0,GC=typeof Promise=="function"?Promise:void 0,FL=typeof queueMicrotask=="function"?queueMicrotask:typeof GC<"u"?function(a){return GC.resolve(null).then(a).catch(GL)}:FC;function GL(a){setTimeout(function(){throw a})}function Wu(a){return a==="head"}function VC(a,l){var p=l,v=0,E=0;do{var C=p.nextSibling;if(a.removeChild(p),C&&C.nodeType===8)if(p=C.data,p==="/$"){if(0<v&&8>v){p=v;var F=a.ownerDocument;if(p&1&&s0(F.documentElement),p&2&&s0(F.body),p&4)for(p=F.head,s0(p),F=p.firstChild;F;){var j=F.nextSibling,ae=F.nodeName;F[kn]||ae==="SCRIPT"||ae==="STYLE"||ae==="LINK"&&F.rel.toLowerCase()==="stylesheet"||p.removeChild(F),F=j}}if(E===0){a.removeChild(C),d0(l);return}E--}else p==="$"||p==="$?"||p==="$!"?E++:v=p.charCodeAt(0)-48;else v=0;p=C}while(p);d0(l)}function Vb(a){var l=a.firstChild;for(l&&l.nodeType===10&&(l=l.nextSibling);l;){var p=l;switch(l=l.nextSibling,p.nodeName){case"HTML":case"HEAD":case"BODY":Vb(p),qt(p);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(p.rel.toLowerCase()==="stylesheet")continue}a.removeChild(p)}}function VL(a,l,p,v){for(;a.nodeType===1;){var E=p;if(a.nodeName.toLowerCase()!==l.toLowerCase()){if(!v&&(a.nodeName!=="INPUT"||a.type!=="hidden"))break}else if(v){if(!a[kn])switch(l){case"meta":if(!a.hasAttribute("itemprop"))break;return a;case"link":if(C=a.getAttribute("rel"),C==="stylesheet"&&a.hasAttribute("data-precedence"))break;if(C!==E.rel||a.getAttribute("href")!==(E.href==null||E.href===""?null:E.href)||a.getAttribute("crossorigin")!==(E.crossOrigin==null?null:E.crossOrigin)||a.getAttribute("title")!==(E.title==null?null:E.title))break;return a;case"style":if(a.hasAttribute("data-precedence"))break;return a;case"script":if(C=a.getAttribute("src"),(C!==(E.src==null?null:E.src)||a.getAttribute("type")!==(E.type==null?null:E.type)||a.getAttribute("crossorigin")!==(E.crossOrigin==null?null:E.crossOrigin))&&C&&a.hasAttribute("async")&&!a.hasAttribute("itemprop"))break;return a;default:return a}}else if(l==="input"&&a.type==="hidden"){var C=E.name==null?null:""+E.name;if(E.type==="hidden"&&a.getAttribute("name")===C)return a}else return a;if(a=tl(a.nextSibling),a===null)break}return null}function kL(a,l,p){if(l==="")return null;for(;a.nodeType!==3;)if((a.nodeType!==1||a.nodeName!=="INPUT"||a.type!=="hidden")&&!p||(a=tl(a.nextSibling),a===null))return null;return a}function kb(a){return a.data==="$!"||a.data==="$?"&&a.ownerDocument.readyState==="complete"}function XL(a,l){var p=a.ownerDocument;if(a.data!=="$?"||p.readyState==="complete")l();else{var v=function(){l(),p.removeEventListener("DOMContentLoaded",v)};p.addEventListener("DOMContentLoaded",v),a._reactRetry=v}}function tl(a){for(;a!=null;a=a.nextSibling){var l=a.nodeType;if(l===1||l===3)break;if(l===8){if(l=a.data,l==="$"||l==="$!"||l==="$?"||l==="F!"||l==="F")break;if(l==="/$")return null}}return a}var Xb=null;function kC(a){a=a.previousSibling;for(var l=0;a;){if(a.nodeType===8){var p=a.data;if(p==="$"||p==="$!"||p==="$?"){if(l===0)return a;l--}else p==="/$"&&l++}a=a.previousSibling}return null}function XC(a,l,p){switch(l=x_(p),a){case"html":if(a=l.documentElement,!a)throw Error(n(452));return a;case"head":if(a=l.head,!a)throw Error(n(453));return a;case"body":if(a=l.body,!a)throw Error(n(454));return a;default:throw Error(n(451))}}function s0(a){for(var l=a.attributes;l.length;)a.removeAttributeNode(l[0]);qt(a)}var vo=new Map,YC=new Set;function S_(a){return typeof a.getRootNode=="function"?a.getRootNode():a.nodeType===9?a:a.ownerDocument}var Uc=W.d;W.d={f:YL,r:jL,D:qL,C:WL,L:JL,m:KL,X:ZL,S:QL,M:$L};function YL(){var a=Uc.f(),l=mo();return a||l}function jL(a){var l=vn(a);l!==null&&l.tag===5&&l.type==="form"?e_(l):Uc.r(a)}var wp=typeof document>"u"?null:document;function jC(a,l,p){var v=wp;if(v&&typeof l=="string"&&l){var E=qi(l);E='link[rel="'+a+'"][href="'+E+'"]',typeof p=="string"&&(E+='[crossorigin="'+p+'"]'),YC.has(E)||(YC.add(E),a={rel:a,crossOrigin:p,href:l},v.querySelector(E)===null&&(l=v.createElement("link"),Zr(l,"link",a),Bn(l),v.head.appendChild(l)))}}function qL(a){Uc.D(a),jC("dns-prefetch",a,null)}function WL(a,l){Uc.C(a,l),jC("preconnect",a,l)}function JL(a,l,p){Uc.L(a,l,p);var v=wp;if(v&&a&&l){var E='link[rel="preload"][as="'+qi(l)+'"]';l==="image"&&p&&p.imageSrcSet?(E+='[imagesrcset="'+qi(p.imageSrcSet)+'"]',typeof p.imageSizes=="string"&&(E+='[imagesizes="'+qi(p.imageSizes)+'"]')):E+='[href="'+qi(a)+'"]';var C=E;switch(l){case"style":C=Rp(a);break;case"script":C=Bp(a)}vo.has(C)||(a=m({rel:"preload",href:l==="image"&&p&&p.imageSrcSet?void 0:a,as:l},p),vo.set(C,a),v.querySelector(E)!==null||l==="style"&&v.querySelector(a0(C))||l==="script"&&v.querySelector(o0(C))||(l=v.createElement("link"),Zr(l,"link",a),Bn(l),v.head.appendChild(l)))}}function KL(a,l){Uc.m(a,l);var p=wp;if(p&&a){var v=l&&typeof l.as=="string"?l.as:"script",E='link[rel="modulepreload"][as="'+qi(v)+'"][href="'+qi(a)+'"]',C=E;switch(v){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":C=Bp(a)}if(!vo.has(C)&&(a=m({rel:"modulepreload",href:a},l),vo.set(C,a),p.querySelector(E)===null)){switch(v){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(p.querySelector(o0(C)))return}v=p.createElement("link"),Zr(v,"link",a),Bn(v),p.head.appendChild(v)}}}function QL(a,l,p){Uc.S(a,l,p);var v=wp;if(v&&a){var E=On(v).hoistableStyles,C=Rp(a);l=l||"default";var F=E.get(C);if(!F){var j={loading:0,preload:null};if(F=v.querySelector(a0(C)))j.loading=5;else{a=m({rel:"stylesheet",href:a,"data-precedence":l},p),(p=vo.get(C))&&Yb(a,p);var ae=F=v.createElement("link");Bn(ae),Zr(ae,"link",a),ae._p=new Promise(function(be,ze){ae.onload=be,ae.onerror=ze}),ae.addEventListener("load",function(){j.loading|=1}),ae.addEventListener("error",function(){j.loading|=2}),j.loading|=4,A_(F,l,v)}F={type:"stylesheet",instance:F,count:1,state:j},E.set(C,F)}}}function ZL(a,l){Uc.X(a,l);var p=wp;if(p&&a){var v=On(p).hoistableScripts,E=Bp(a),C=v.get(E);C||(C=p.querySelector(o0(E)),C||(a=m({src:a,async:!0},l),(l=vo.get(E))&&jb(a,l),C=p.createElement("script"),Bn(C),Zr(C,"link",a),p.head.appendChild(C)),C={type:"script",instance:C,count:1,state:null},v.set(E,C))}}function $L(a,l){Uc.M(a,l);var p=wp;if(p&&a){var v=On(p).hoistableScripts,E=Bp(a),C=v.get(E);C||(C=p.querySelector(o0(E)),C||(a=m({src:a,async:!0,type:"module"},l),(l=vo.get(E))&&jb(a,l),C=p.createElement("script"),Bn(C),Zr(C,"link",a),p.head.appendChild(C)),C={type:"script",instance:C,count:1,state:null},v.set(E,C))}}function qC(a,l,p,v){var E=(E=xe.current)?S_(E):null;if(!E)throw Error(n(446));switch(a){case"meta":case"title":return null;case"style":return typeof p.precedence=="string"&&typeof p.href=="string"?(l=Rp(p.href),p=On(E).hoistableStyles,v=p.get(l),v||(v={type:"style",instance:null,count:0,state:null},p.set(l,v)),v):{type:"void",instance:null,count:0,state:null};case"link":if(p.rel==="stylesheet"&&typeof p.href=="string"&&typeof p.precedence=="string"){a=Rp(p.href);var C=On(E).hoistableStyles,F=C.get(a);if(F||(E=E.ownerDocument||E,F={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},C.set(a,F),(C=E.querySelector(a0(a)))&&!C._p&&(F.instance=C,F.state.loading=5),vo.has(a)||(p={rel:"preload",as:"style",href:p.href,crossOrigin:p.crossOrigin,integrity:p.integrity,media:p.media,hrefLang:p.hrefLang,referrerPolicy:p.referrerPolicy},vo.set(a,p),C||eU(E,a,p,F.state))),l&&v===null)throw Error(n(528,""));return F}if(l&&v!==null)throw Error(n(529,""));return null;case"script":return l=p.async,p=p.src,typeof p=="string"&&l&&typeof l!="function"&&typeof l!="symbol"?(l=Bp(p),p=On(E).hoistableScripts,v=p.get(l),v||(v={type:"script",instance:null,count:0,state:null},p.set(l,v)),v):{type:"void",instance:null,count:0,state:null};default:throw Error(n(444,a))}}function Rp(a){return'href="'+qi(a)+'"'}function a0(a){return'link[rel="stylesheet"]['+a+"]"}function WC(a){return m({},a,{"data-precedence":a.precedence,precedence:null})}function eU(a,l,p,v){a.querySelector('link[rel="preload"][as="style"]['+l+"]")?v.loading=1:(l=a.createElement("link"),v.preload=l,l.addEventListener("load",function(){return v.loading|=1}),l.addEventListener("error",function(){return v.loading|=2}),Zr(l,"link",p),Bn(l),a.head.appendChild(l))}function Bp(a){return'[src="'+qi(a)+'"]'}function o0(a){return"script[async]"+a}function JC(a,l,p){if(l.count++,l.instance===null)switch(l.type){case"style":var v=a.querySelector('style[data-href~="'+qi(p.href)+'"]');if(v)return l.instance=v,Bn(v),v;var E=m({},p,{"data-href":p.href,"data-precedence":p.precedence,href:null,precedence:null});return v=(a.ownerDocument||a).createElement("style"),Bn(v),Zr(v,"style",E),A_(v,p.precedence,a),l.instance=v;case"stylesheet":E=Rp(p.href);var C=a.querySelector(a0(E));if(C)return l.state.loading|=4,l.instance=C,Bn(C),C;v=WC(p),(E=vo.get(E))&&Yb(v,E),C=(a.ownerDocument||a).createElement("link"),Bn(C);var F=C;return F._p=new Promise(function(j,ae){F.onload=j,F.onerror=ae}),Zr(C,"link",v),l.state.loading|=4,A_(C,p.precedence,a),l.instance=C;case"script":return C=Bp(p.src),(E=a.querySelector(o0(C)))?(l.instance=E,Bn(E),E):(v=p,(E=vo.get(C))&&(v=m({},p),jb(v,E)),a=a.ownerDocument||a,E=a.createElement("script"),Bn(E),Zr(E,"link",v),a.head.appendChild(E),l.instance=E);case"void":return null;default:throw Error(n(443,l.type))}else l.type==="stylesheet"&&(l.state.loading&4)===0&&(v=l.instance,l.state.loading|=4,A_(v,p.precedence,a));return l.instance}function A_(a,l,p){for(var v=p.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),E=v.length?v[v.length-1]:null,C=E,F=0;F<v.length;F++){var j=v[F];if(j.dataset.precedence===l)C=j;else if(C!==E)break}C?C.parentNode.insertBefore(a,C.nextSibling):(l=p.nodeType===9?p.head:p,l.insertBefore(a,l.firstChild))}function Yb(a,l){a.crossOrigin==null&&(a.crossOrigin=l.crossOrigin),a.referrerPolicy==null&&(a.referrerPolicy=l.referrerPolicy),a.title==null&&(a.title=l.title)}function jb(a,l){a.crossOrigin==null&&(a.crossOrigin=l.crossOrigin),a.referrerPolicy==null&&(a.referrerPolicy=l.referrerPolicy),a.integrity==null&&(a.integrity=l.integrity)}var b_=null;function KC(a,l,p){if(b_===null){var v=new Map,E=b_=new Map;E.set(p,v)}else E=b_,v=E.get(p),v||(v=new Map,E.set(p,v));if(v.has(a))return v;for(v.set(a,null),p=p.getElementsByTagName(a),E=0;E<p.length;E++){var C=p[E];if(!(C[kn]||C[tt]||a==="link"&&C.getAttribute("rel")==="stylesheet")&&C.namespaceURI!=="http://www.w3.org/2000/svg"){var F=C.getAttribute(l)||"";F=a+F;var j=v.get(F);j?j.push(C):v.set(F,[C])}}return v}function QC(a,l,p){a=a.ownerDocument||a,a.head.insertBefore(p,l==="title"?a.querySelector("head > title"):null)}function tU(a,l,p){if(p===1||l.itemProp!=null)return!1;switch(a){case"meta":case"title":return!0;case"style":if(typeof l.precedence!="string"||typeof l.href!="string"||l.href==="")break;return!0;case"link":if(typeof l.rel!="string"||typeof l.href!="string"||l.href===""||l.onLoad||l.onError)break;switch(l.rel){case"stylesheet":return a=l.disabled,typeof l.precedence=="string"&&a==null;default:return!0}case"script":if(l.async&&typeof l.async!="function"&&typeof l.async!="symbol"&&!l.onLoad&&!l.onError&&l.src&&typeof l.src=="string")return!0}return!1}function ZC(a){return!(a.type==="stylesheet"&&(a.state.loading&3)===0)}var l0=null;function nU(){}function iU(a,l,p){if(l0===null)throw Error(n(475));var v=l0;if(l.type==="stylesheet"&&(typeof p.media!="string"||matchMedia(p.media).matches!==!1)&&(l.state.loading&4)===0){if(l.instance===null){var E=Rp(p.href),C=a.querySelector(a0(E));if(C){a=C._p,a!==null&&typeof a=="object"&&typeof a.then=="function"&&(v.count++,v=M_.bind(v),a.then(v,v)),l.state.loading|=4,l.instance=C,Bn(C);return}C=a.ownerDocument||a,p=WC(p),(E=vo.get(E))&&Yb(p,E),C=C.createElement("link"),Bn(C);var F=C;F._p=new Promise(function(j,ae){F.onload=j,F.onerror=ae}),Zr(C,"link",p),l.instance=C}v.stylesheets===null&&(v.stylesheets=new Map),v.stylesheets.set(l,a),(a=l.state.preload)&&(l.state.loading&3)===0&&(v.count++,l=M_.bind(v),a.addEventListener("load",l),a.addEventListener("error",l))}}function rU(){if(l0===null)throw Error(n(475));var a=l0;return a.stylesheets&&a.count===0&&qb(a,a.stylesheets),0<a.count?function(l){var p=setTimeout(function(){if(a.stylesheets&&qb(a,a.stylesheets),a.unsuspend){var v=a.unsuspend;a.unsuspend=null,v()}},6e4);return a.unsuspend=l,function(){a.unsuspend=null,clearTimeout(p)}}:null}function M_(){if(this.count--,this.count===0){if(this.stylesheets)qb(this,this.stylesheets);else if(this.unsuspend){var a=this.unsuspend;this.unsuspend=null,a()}}}var E_=null;function qb(a,l){a.stylesheets=null,a.unsuspend!==null&&(a.count++,E_=new Map,l.forEach(sU,a),E_=null,M_.call(a))}function sU(a,l){if(!(l.state.loading&4)){var p=E_.get(a);if(p)var v=p.get(null);else{p=new Map,E_.set(a,p);for(var E=a.querySelectorAll("link[data-precedence],style[data-precedence]"),C=0;C<E.length;C++){var F=E[C];(F.nodeName==="LINK"||F.getAttribute("media")!=="not all")&&(p.set(F.dataset.precedence,F),v=F)}v&&p.set(null,v)}E=l.instance,F=E.getAttribute("data-precedence"),C=p.get(F)||v,C===v&&p.set(null,E),p.set(F,E),this.count++,v=M_.bind(this),E.addEventListener("load",v),E.addEventListener("error",v),C?C.parentNode.insertBefore(E,C.nextSibling):(a=a.nodeType===9?a.head:a,a.insertBefore(E,a.firstChild)),l.state.loading|=4}}var c0={$$typeof:D,Provider:null,Consumer:null,_currentValue:ee,_currentValue2:ee,_threadCount:0};function aU(a,l,p,v,E,C,F,j){this.tag=1,this.containerInfo=a,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Qe(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Qe(0),this.hiddenUpdates=Qe(null),this.identifierPrefix=v,this.onUncaughtError=E,this.onCaughtError=C,this.onRecoverableError=F,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=j,this.incompleteTransitions=new Map}function $C(a,l,p,v,E,C,F,j,ae,be,ze,Xe){return a=new aU(a,l,p,F,j,ae,be,Xe),l=1,C===!0&&(l|=24),C=os(3,null,null,l),a.current=C,C.stateNode=a,l=Qd(),l.refCount++,a.pooledCache=l,l.refCount++,C.memoizedState={element:v,isDehydrated:p,cache:l},Ng(C),a}function ew(a){return a?(a=Al,a):Al}function tw(a,l,p,v,E,C){E=ew(E),v.context===null?v.context=E:v.pendingContext=E,v=io(l),v.payload={element:p},C=C===void 0?null:C,C!==null&&(v.callback=C),p=Yo(a,v,l),p!==null&&(Qr(p,a,l),vc(p,a,l))}function nw(a,l){if(a=a.memoizedState,a!==null&&a.dehydrated!==null){var p=a.retryLane;a.retryLane=p!==0&&p<l?p:l}}function Wb(a,l){nw(a,l),(a=a.alternate)&&nw(a,l)}function iw(a){if(a.tag===13){var l=Fo(a,67108864);l!==null&&Qr(l,a,67108864),Wb(a,67108864)}}var T_=!0;function oU(a,l,p,v){var E=k.T;k.T=null;var C=W.p;try{W.p=2,Jb(a,l,p,v)}finally{W.p=C,k.T=E}}function lU(a,l,p,v){var E=k.T;k.T=null;var C=W.p;try{W.p=8,Jb(a,l,p,v)}finally{W.p=C,k.T=E}}function Jb(a,l,p,v){if(T_){var E=Kb(v);if(E===null)Ib(a,l,v,C_,p),sw(a,v);else if(uU(E,a,l,p,v))v.stopPropagation();else if(sw(a,v),l&4&&-1<cU.indexOf(a)){for(;E!==null;){var C=vn(E);if(C!==null)switch(C.tag){case 3:if(C=C.stateNode,C.current.memoizedState.isDehydrated){var F=Mt(C.pendingLanes);if(F!==0){var j=C;for(j.pendingLanes|=2,j.entangledLanes|=2;F;){var ae=1<<31-ot(F);j.entanglements[1]|=ae,F&=~ae}jl(C),(Yn&6)===0&&(Ur=ie()+500,n0(0))}}break;case 13:j=Fo(C,2),j!==null&&Qr(j,C,2),mo(),Wb(C,2)}if(C=Kb(v),C===null&&Ib(a,l,v,C_,p),C===E)break;E=C}E!==null&&v.stopPropagation()}else Ib(a,l,v,null,p)}}function Kb(a){return a=Od(a),Qb(a)}var C_=null;function Qb(a){if(C_=null,a=An(a),a!==null){var l=s(a);if(l===null)a=null;else{var p=l.tag;if(p===13){if(a=o(l),a!==null)return a;a=null}else if(p===3){if(l.stateNode.current.memoizedState.isDehydrated)return l.tag===3?l.stateNode.containerInfo:null;a=null}else l!==a&&(a=null)}}return C_=a,null}function rw(a){switch(a){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(Ze()){case ke:return 2;case Je:return 8;case ht:case Lt:return 32;case J:return 268435456;default:return 32}default:return 32}}var Zb=!1,Ju=null,Ku=null,Qu=null,u0=new Map,f0=new Map,Zu=[],cU="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function sw(a,l){switch(a){case"focusin":case"focusout":Ju=null;break;case"dragenter":case"dragleave":Ku=null;break;case"mouseover":case"mouseout":Qu=null;break;case"pointerover":case"pointerout":u0.delete(l.pointerId);break;case"gotpointercapture":case"lostpointercapture":f0.delete(l.pointerId)}}function h0(a,l,p,v,E,C){return a===null||a.nativeEvent!==C?(a={blockedOn:l,domEventName:p,eventSystemFlags:v,nativeEvent:C,targetContainers:[E]},l!==null&&(l=vn(l),l!==null&&iw(l)),a):(a.eventSystemFlags|=v,l=a.targetContainers,E!==null&&l.indexOf(E)===-1&&l.push(E),a)}function uU(a,l,p,v,E){switch(l){case"focusin":return Ju=h0(Ju,a,l,p,v,E),!0;case"dragenter":return Ku=h0(Ku,a,l,p,v,E),!0;case"mouseover":return Qu=h0(Qu,a,l,p,v,E),!0;case"pointerover":var C=E.pointerId;return u0.set(C,h0(u0.get(C)||null,a,l,p,v,E)),!0;case"gotpointercapture":return C=E.pointerId,f0.set(C,h0(f0.get(C)||null,a,l,p,v,E)),!0}return!1}function aw(a){var l=An(a.target);if(l!==null){var p=s(l);if(p!==null){if(l=p.tag,l===13){if(l=o(p),l!==null){a.blockedOn=l,wt(a.priority,function(){if(p.tag===13){var v=Ti();v=Nt(v);var E=Fo(p,v);E!==null&&Qr(E,p,v),Wb(p,v)}});return}}else if(l===3&&p.stateNode.current.memoizedState.isDehydrated){a.blockedOn=p.tag===3?p.stateNode.containerInfo:null;return}}}a.blockedOn=null}function w_(a){if(a.blockedOn!==null)return!1;for(var l=a.targetContainers;0<l.length;){var p=Kb(a.nativeEvent);if(p===null){p=a.nativeEvent;var v=new p.constructor(p.type,p);Dd=v,p.target.dispatchEvent(v),Dd=null}else return l=vn(p),l!==null&&iw(l),a.blockedOn=p,!1;l.shift()}return!0}function ow(a,l,p){w_(a)&&p.delete(l)}function fU(){Zb=!1,Ju!==null&&w_(Ju)&&(Ju=null),Ku!==null&&w_(Ku)&&(Ku=null),Qu!==null&&w_(Qu)&&(Qu=null),u0.forEac
49h(ow),f0.forEach(ow)}function R_(a,l){a.blockedOn===l&&(a.blockedOn=null,Zb||(Zb=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,fU)))}var B_=null;function lw(a){B_!==a&&(B_=a,r.unstable_scheduleCallback(r.unstable_NormalPriority,function(){B_===a&&(B_=null);for(var l=0;l<a.length;l+=3){var p=a[l],v=a[l+1],E=a[l+2];if(typeof v!="function"){if(Qb(v||p)===null)continue;break}var C=vn(p);C!==null&&(a.splice(l,3),l-=3,Jg(C,{pending:!0,data:E,method:p.method,action:v},v,E))}}))}function d0(a){function l(ae){return R_(ae,a)}Ju!==null&&R_(Ju,a),Ku!==null&&R_(Ku,a),Qu!==null&&R_(Qu,a),u0.forEach(l),f0.forEach(l);for(var p=0;p<Zu.length;p++){var v=Zu[p];v.blockedOn===a&&(v.blockedOn=null)}for(;0<Zu.length&&(p=Zu[0],p.blockedOn===null);)aw(p),p.blockedOn===null&&Zu.shift();if(p=(a.ownerDocument||a).$$reactFormReplay,p!=null)for(v=0;v<p.length;v+=3){var E=p[v],C=p[v+1],F=E[bt]||null;if(typeof C=="function")F||lw(p);else if(F){var j=null;if(C&&C.hasAttribute("formAction")){if(E=C,F=C[bt]||null)j=F.formAction;else if(Qb(E)!==null)continue}else j=F.action;typeof j=="function"?p[v+1]=j:(p.splice(v,3),v-=3),lw(p)}}}function $b(a){this._internalRoot=a}D_.prototype.render=$b.prototype.render=function(a){var l=this._internalRoot;if(l===null)throw Error(n(409));var p=l.current,v=Ti();tw(p,v,a,l,null,null)},D_.prototype.unmount=$b.prototype.unmount=function(){var a=this._internalRoot;if(a!==null){this._internalRoot=null;var l=a.containerInfo;tw(a.current,2,null,a,null,null),mo(),l[Tt]=null}};function D_(a){this._internalRoot=a}D_.prototype.unstable_scheduleHydration=function(a){if(a){var l=ft();a={blockedOn:null,target:a,priority:l};for(var p=0;p<Zu.length&&l!==0&&l<Zu[p].priority;p++);Zu.splice(p,0,a),p===0&&aw(a)}};var cw=e.version;if(cw!=="19.1.1")throw Error(n(527,cw,"19.1.1"));W.findDOMNode=function(a){var l=a._reactInternals;if(l===void 0)throw typeof a.render=="function"?Error(n(188)):(a=Object.keys(a).join(","),Error(n(268,a)));return a=f(l),a=a!==null?d(a):null,a=a===null?null:a.stateNode,a};var hU={bundleType:0,version:"19.1.1",rendererPackageName:"react-dom",currentDispatcherRef:k,reconcilerVersion:"19.1.1"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var O_=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!O_.isDisabled&&O_.supportsFiber)try{we=O_.inject(hU),Ue=O_}catch{}}return m0.createRoot=function(a,l){if(!i(a))throw Error(n(299));var p=!1,v="",E=xh,C=pp,F=h_,j=null;return l!=null&&(l.unstable_strictMode===!0&&(p=!0),l.identifierPrefix!==void 0&&(v=l.identifierPrefix),l.onUncaughtError!==void 0&&(E=l.onUncaughtError),l.onCaughtError!==void 0&&(C=l.onCaughtError),l.onRecoverableError!==void 0&&(F=l.onRecoverableError),l.unstable_transitionCallbacks!==void 0&&(j=l.unstable_transitionCallbacks)),l=$C(a,1,!1,null,null,p,v,E,C,F,j,null),a[Tt]=l.current,Ub(a),new $b(l)},m0.hydrateRoot=function(a,l,p){if(!i(a))throw Error(n(299));var v=!1,E="",C=xh,F=pp,j=h_,ae=null,be=null;return p!=null&&(p.unstable_strictMode===!0&&(v=!0),p.identifierPrefix!==void 0&&(E=p.identifierPrefix),p.onUncaughtError!==void 0&&(C=p.onUncaughtError),p.onCaughtError!==void 0&&(F=p.onCaughtError),p.onRecoverableError!==void 0&&(j=p.onRecoverableError),p.unstable_transitionCallbacks!==void 0&&(ae=p.unstable_transitionCallbacks),p.formState!==void 0&&(be=p.formState)),l=$C(a,1,!0,l,p??null,v,E,C,F,j,ae,be),l.context=ew(null),p=l.current,v=Ti(),v=Nt(v),E=io(v),E.callback=null,Yo(p,E,v),p=v,l.current.lanes=p,ct(l,p),jl(l),a[Tt]=l.current,Ub(a),new D_(l)},m0.version="19.1.1",m0}var _w;function SU(){if(_w)return nM.exports;_w=1;function r(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(r)}catch(e){console.error(e)}}return r(),nM.exports=xU(),nM.exports}var AU=SU(),bU="1.3.8";function ZB(r,e,t){return Math.max(r,Math.min(e,t))}function MU(r,e,t){return(1-t)*r+t*e}function EU(r,e,t,n){return MU(r,e,1-Math.exp(-t*n))}function TU(r,e){return(r%e+e)%e}var CU=class{isRunning=!1;value=0;from=0;to=0;currentTime=0;lerp;duration;easing;onUpdate;advance(r){if(!this.isRunning)return;let e=!1;if(this.duration&&this.easing){this.currentTime+=r;const t=ZB(0,this.currentTime/this.duration,1);e=t>=1;const n=e?1:this.easing(t);this.value=this.from+(this.to-this.from)*n}else this.lerp?(this.value=EU(this.value,this.to,this.lerp*60,r),Math.round(this.value)===this.to&&(this.value=this.to,e=!0)):(this.value=this.to,e=!0);e&&this.stop(),this.onUpdate?.(this.value,e)}stop(){this.isRunning=!1}fromTo(r,e,{lerp:t,duration:n,easing:i,onStart:s,onUpdate:o}){this.from=this.value=r,this.to=e,this.lerp=t,this.duration=n,this.easing=i,this.currentTime=0,this.isRunning=!0,s?.(),this.onUpdate=o}};function wU(r,e){let t;return function(...n){let i=this;clearTimeout(t),t=setTimeout(()=>{t=void 0,r.apply(i,n)},e)}}var RU=class{constructor(r,e,{autoResize:t=!0,debounce:n=250}={}){this.wrapper=r,this.content=e,t&&(this.debouncedResize=wU(this.resize,n),this.wrapper instanceof Window?window.addEventListener("resize",this.debouncedResize,!1):(this.wrapperResizeObserver=new ResizeObserver(this.debouncedResize),this.wrapperResizeObserver.observe(this.wrapper)),this.contentResizeObserver=new ResizeObserver(this.debouncedResize),this.contentResizeObserver.observe(this.content)),this.resize()}width=0;height=0;scrollHeight=0;scrollWidth=0;debouncedResize;wrapperResizeObserver;contentResizeObserver;destroy(){this.wrapperResizeObserver?.disconnect(),this.contentResizeObserver?.disconnect(),this.wrapper===window&&this.debouncedResize&&window.removeEventListener("resize",this.debouncedResize,!1)}resize=()=>{this.onWrapperResize(),this.onContentResize()};onWrapperResize=()=>{this.wrapper instanceof Window?(this.width=window.innerWidth,this.height=window.innerHeight):(this.width=this.wrapper.clientWidth,this.height=this.wrapper.clientHeight)};onContentResize=()=>{this.wrapper instanceof Window?(this.scrollHeight=this.content.scrollHeight,this.scrollWidth=this.content.scrollWidth):(this.scrollHeight=this.wrapper.scrollHeight,this.scrollWidth=this.wrapper.scrollWidth)};get limit(){return{x:this.scrollWidth-this.width,y:this.scrollHeight-this.height}}},$B=class{events={};emit(r,...e){let t=this.events[r]||[];for(let n=0,i=t.length;n<i;n++)t[n]?.(...e)}on(r,e){return this.events[r]?.push(e)||(this.events[r]=[e]),()=>{this.events[r]=this.events[r]?.filter(t=>e!==t)}}off(r,e){this.events[r]=this.events[r]?.filter(t=>e!==t)}destroy(){this.events={}}},xw=100/6,ef={passive:!1},BU=class{constructor(r,e={wheelMultiplier:1,touchMultiplier:1}){this.element=r,this.options=e,window.addEventListener("resize",this.onWindowResize,!1),this.onWindowResize(),this.element.addEventListener("wheel",this.onWheel,ef),this.element.addEventListener("touchstart",this.onTouchStart,ef),this.element.addEventListener("touchmove",this.onTouchMove,ef),this.element.addEventListener("touchend",this.onTouchEnd,ef)}touchStart={x:0,y:0};lastDelta={x:0,y:0};window={width:0,height:0};emitter=new $B;on(r,e){return this.emitter.on(r,e)}destroy(){this.emitter.destroy(),window.removeEventListener("resize",this.onWindowResize,!1),this.element.removeEventListener("wheel",this.onWheel,ef),this.element.removeEventListener("touchstart",this.onTouchStart,ef),this.element.removeEventListener("touchmove",this.onTouchMove,ef),this.element.removeEventListener("touchend",this.onTouchEnd,ef)}onTouchStart=r=>{const{clientX:e,clientY:t}=r.targetTouches?r.targetTouches[0]:r;this.touchStart.x=e,this.touchStart.y=t,this.lastDelta={x:0,y:0},this.emitter.emit("scroll",{deltaX:0,deltaY:0,event:r})};onTouchMove=r=>{const{clientX:e,clientY:t}=r.targetTouches?r.targetTouches[0]:r,n=-(e-this.touchStart.x)*this.options.touchMultiplier,i=-(t-this.touchStart.y)*this.options.touchMultiplier;this.touchStart.x=e,this.touchStart.y=t,this.lastDelta={x:n,y:i},this.emitter.emit("scroll",{deltaX:n,deltaY:i,event:r})};onTouchEnd=r=>{this.emitter.emit("scroll",{deltaX:this.lastDelta.x,deltaY:this.lastDelta.y,event:r})};onWheel=r=>{let{deltaX:e,deltaY:t,deltaMode:n}=r;const i=n===1?xw:n===2?this.window.width:1,s=n===1?xw:n===2?this.window.height:1;e*=i,t*=s,e*=this.options.wheelMultiplier,t*=this.options.wheelMultiplier,this.emitter.emit("scroll",{deltaX:e,deltaY:t,event:r})};onWindowResize=()=>{this.window={width:window.innerWidth,height:window.innerHeight}}},Sw=r=>Math.min(1,1.001-Math.pow(2,-10*r)),DU=class{_isScrolling=!1;_isStopped=!1;_isLocked=!1;_preventNextNativeScrollEvent=!1;_resetVelocityTimeout=null;__rafID=null;isTouching;time=0;userData={};lastVelocity=0;velocity=0;direction=0;options;targetScroll;animatedScroll;animate=new CU;emitter=new $B;dimensions;virtualScroll;constructor({wrapper:r=window,content:e=document.documentElement,eventsTarget:t=r,smoothWheel:n=!0,syncTouch:i=!1,syncTouchLerp:s=.075,touchInertiaExponent:o=1.7,duration:c,easing:f,lerp:d=.1,infinite:m=!1,orientation:g="vertical",gestureOrientation:y="vertical",touchMultiplier:_=1,wheelMultiplier:S=1,autoResize:M=!0,prevent:b,virtualScroll:A,overscroll:w=!0,autoRaf:D=!1,anchors:B=!1,autoToggle:I=!1,allowNestedScroll:O=!1,__experimental__naiveDimensions:U=!1}={}
49){window.lenisVersion=bU,(!r||r===document.documentElement)&&(r=window),typeof c=="number"&&typeof f!="function"?f=Sw:typeof f=="function"&&typeof c!="number"&&(c=1),this.options={wrapper:r,content:e,eventsTarget:t,smoothWheel:n,syncTouch:i,syncTouchLerp:s,touchInertiaExponent:o,duration:c,easing:f,lerp:d,infinite:m,gestureOrientation:y,orientation:g,touchMultiplier:_,wheelMultiplier:S,autoResize:M,prevent:b,virtualScroll:A,overscroll:w,autoRaf:D,anchors:B,autoToggle:I,allowNestedScroll:O,__experimental__naiveDimensions:U},this.dimensions=new RU(r,e,{autoResize:M}),this.updateClassName(),this.targetScroll=this.animatedScroll=this.actualScroll,this.options.wrapper.addEventListener("scroll",this.onNativeScroll,!1),this.options.wrapper.addEventListener("scrollend",this.onScrollEnd,{capture:!0}),this.options.anchors&&this.options.wrapper===window&&this.options.wrapper.addEventListener("click",this.onClick,!1),this.options.wrapper.addEventListener("pointerdown",this.onPointerDown,!1),this.virtualScroll=new BU(t,{touchMultiplier:_,wheelMultiplier:S}),this.virtualScroll.on("scroll",this.onVirtualScroll),this.options.autoToggle&&this.rootElement.addEventListener("transitionend",this.onTransitionEnd,{passive:!0}),this.options.autoRaf&&(this.__rafID=requestAnimationFrame(this.raf))}destroy(){this.emitter.destroy(),this.options.wrapper.removeEventListener("scroll",this.onNativeScroll,!1),this.options.wrapper.removeEventListener("scrollend",this.onScrollEnd,{capture:!0}),this.options.wrapper.removeEventListener("pointerdown",this.onPointerDown,!1),this.options.anchors&&this.options.wrapper===window&&this.options.wrapper.removeEventListener("click",this.onClick,!1),this.virtualScroll.destroy(),this.dimensions.destroy(),this.cleanUpClassName(),this.__rafID&&cancelAnimationFrame(this.__rafID)}on(r,e){return this.emitter.on(r,e)}off(r,e){return this.emitter.off(r,e)}onScrollEnd=r=>{r instanceof CustomEvent||(this.isScrolling==="smooth"||this.isScrolling===!1)&&r.stopPropagation()};dispatchScrollendEvent=()=>{this.options.wrapper.dispatchEvent(new CustomEvent("scrollend",{bubbles:this.options.wrapper===window,detail:{lenisScrollEnd:!0}}))};onTransitionEnd=r=>{if(r.propertyName.includes("overflow")){const e=this.isHorizontal?"overflow-x":"overflow-y",t=getComputedStyle(this.rootElement)[e];["hidden","clip"].includes(t)?this.internalStop():this.internalStart()}};setScroll(r){this.isHorizontal?this.options.wrapper.scrollTo({left:r,behavior:"instant"}):this.options.wrapper.scrollTo({top:r,behavior:"instant"})}onClick=r=>{const t=r.composedPath().find(n=>n instanceof HTMLAnchorElement&&(n.getAttribute("href")?.startsWith("#")||n.getAttribute("href")?.startsWith("/#")||n.getAttribute("href")?.startsWith("./#")));if(t){const n=t.getAttribute("href");if(n){const i=typeof this.options.anchors=="object"&&this.options.anchors?this.options.anchors:void 0;let s=`#${n.split("#")[1]}`;["#","/#","./#","#top","/#top","./#top"].includes(n)&&(s=0),this.scrollTo(s,i)}}};onPointerDown=r=>{r.button===1&&this.reset()};onVirtualScroll=r=>{if(typeof this.options.virtualScroll=="function"&&this.options.virtualScroll(r)===!1)return;const{deltaX:e,deltaY:t,event:n}=r;if(this.emitter.emit("virtual-scroll",{deltaX:e,deltaY:t,event:n}),n.ctrlKey||n.lenisStopPropagation)return;const i=n.type.includes("touch"),s=n.type.includes("wheel");this.isTouching=n.type==="touchstart"||n.type==="touchmove";const o=e===0&&t===0;if(this.options.syncTouch&&i&&n.type==="touchstart"&&o&&!this.isStopped&&!this.isLocked){this.reset();return}const f=this.options.gestureOrientation==="vertical"&&t===0||this.options.gestureOrientation==="horizontal"&&e===0;if(o||f)return;let d=n.composedPath();d=d.slice(0,d.indexOf(this.rootElement));const m=this.options.prevent;if(d.find(b=>b instanceof HTMLElement&&(typeof m=="function"&&m?.(b)||b.hasAttribute?.("data-lenis-prevent")||i&&b.hasAttribute?.("data-lenis-prevent-touch")||s&&b.hasAttribute?.("data-lenis-prevent-wheel")||this.options.allowNestedScroll&&this.checkNestedScroll(b,{deltaX:e,deltaY:t}))))return;if(this.isStopped||this.isLocked){n.cancelable&&n.preventDefault();return}if(!(this.options.syncTouch&&i||this.options.smoothWheel&&s)){this.isScrolling="native",this.animate.stop(),n.lenisStopPropagation=!0;return}let y=t;this.options.gestureOrientation==="both"?y=Math.abs(t)>Math.abs(e)?t:e:this.options.gestureOrientation==="horizontal"&&(y=e),(!this.options.overscroll||this.options.infinite||this.options.wrapper!==window&&(this.animatedScroll>0&&this.animatedScroll<this.limit||this.animatedScroll===0&&t>0||this.animatedScroll===this.limit&&t<0))&&(n.lenisStopPropagation=!0),n.cancelable&&n.preventDefault();const _=i&&this.options.syncTouch,M=i&&n.type==="touchend";M&&(y=Math.sign(this.velocity)*Math.pow(Math.abs(this.velocity),this.options.touchInertiaExponent)),this.scrollTo(this.targetScroll+y,{programmatic:!1,..._?{lerp:M?this.options.syncTouchLerp:1}:{lerp:this.options.lerp,duration:this.options.duration,easing:this.options.easing}})};resize(){this.dimensions.resize(),this.animatedScroll=this.targetScroll=this.actualScroll,this.emit
49()}emit(){this.emitter.emit("scroll",this)}onNativeScroll=()=>{if(this._resetVelocityTimeout!==null&&(clearTimeout(this._resetVelocityTimeout),this._resetVelocityTimeout=null),this._preventNextNativeScrollEvent){this._preventNextNativeScrollEvent=!1;return}if(this.isScrolling===!1||this.isScrolling==="native"){const r=this.animatedScroll;this.animatedScroll=this.targetScroll=this.actualScroll,this.lastVelocity=this.velocity,this.velocity=this.animatedScroll-r,this.direction=Math.sign(this.animatedScroll-r),this.isStopped||(this.isScrolling="native"),this.emit(),this.velocity!==0&&(this._resetVelocityTimeout=setTimeout(()=>{this.lastVelocity=this.velocity,this.velocity=0,this.isScrolling=!1,this.emit()},400))}};reset(){this.isLocked=!1,this.isScrolling=!1,this.animatedScroll=this.targetScroll=this.actualScroll,this.lastVelocity=this.velocity=0,this.animate.stop()}start(){if(this.isStopped){if(this.options.autoToggle){this.rootElement.style.removeProperty("overflow");return}this.internalStart()}}internalStart(){this.isStopped&&(this.reset(),this.isStopped=!1,this.emit())}stop(){if(!this.isStopped){if(this.options.autoToggle){this.rootElement.style.setProperty("overflow","clip");return}this.internalStop()}}internalStop(){this.isStopped||(this.reset(),this.isStopped=!0,this.emit())}raf=r=>{const e=r-(this.time||r);this.time=r,this.animate.advance(e*.001),this.options.autoRaf&&(this.__rafID=requestAnimationFrame(this.raf))};scrollTo(r,{offset:e=0,immediate:t=!1,lock:n=!1,duration:i=this.options.duration,easing:s=this.options.easing,lerp:o=this.options.lerp,onStart:c,onComplete:f,force:d=!1,programmatic:m=!0,userData:g}={}){if(!((this.isStopped||this.isLocked)&&!d)){if(typeof r=="string"&&["top","left","start"].includes(r))r=0;else if(typeof r=="string"&&["bottom","right","end"].includes(r))r=this.limit;else{let y;if(typeof r=="string"?y=document.querySelector(r):r instanceof HTMLElement&&r?.nodeType&&(y=r),y){if(this.options.wrapper!==window){const S=this.rootElement.getBoundingClientRect();e-=this.isHorizontal?S.left:S.top}const _=y.getBoundingClientRect();r=(this.isHorizontal?_.left:_.top)+this.animatedScroll}}if(typeof r=="number"){if(r+=e,r=Math.round(r),this.options.infinite){if(m){this.targetScroll=this.animatedScroll=this.scroll;const y=r-this.animatedScroll;y>this.limit/2?r=r-this.limit:y<-this.limit/2&&(r=r+this.limit)}}else r=ZB(0,r,this.limit);if(r===this.targetScroll){c?.(this),f?.(this);return}if(this.userData=g??{},t){this.animatedScroll=this.targetScroll=r,this.setScroll(this.scroll),this.reset(),this.preventNextNativeScrollEvent(),this.emit(),f?.(this),this.userData={},requestAnimationFrame(()=>{this.dispatchScrollendEvent()});return}m||(this.targetScroll=r),typeof i=="number"&&typeof s!="function"?s=Sw:typeof s=="function"&&typeof i!="number"&&(i=1),this.animate.fromTo(this.animatedScroll,r,{duration:i,easing:s,lerp:o,onStart:()=>{n&&(this.isLocked=!0),this.isScrolling="smooth",c?.(this)},onUpdate:(y,_)=>{this.isScrolling="smooth",this.lastVelocity=this.velocity,this.velocity=y-this.animatedScroll,this.direction=Math.sign(this.velocity),this.animatedScroll=y,this.setScroll(this.scroll),m&&(this.targetScroll=y),_||this.emit(),_&&(this.reset(),this.emit(),f?.(this),this.userData={},requestAnimationFrame(()=>{this.dispatchScrollendEvent()}),this.preventNextNativeScrollEvent())}})}}}preventNextNativeScrollEvent(){this._preventNextNativeScrollEvent=!0,requestAnimationFrame(()=>{this._preventNextNativeScrollEvent=!1})}checkNestedScroll(r,{deltaX:e,deltaY:t}){const n=Date.now(),i=r._lenis??={};let s,o,c,f,d,m,g,y;const _=this.options.gestureOrientation;if(n-(i.time??0)>2e3){i.time=Date.now();const I=window.getComputedStyle(r);i.computedStyle=I;const O=I.overflowX,U=I.overflowY;if(s=["auto","overlay","scroll"].includes(O),o=["auto","overlay","scroll"].includes(U),i.hasOverflowX=s,i.hasOverflowY=o,!s&&!o||_==="vertical"&&!o||_==="horizontal"&&!s)return!1;d=r.scrollWidth,m=r.scrollHeight,g=r.clientWidth,y=r.clientHeight,c=d>g,f=m>y,i.isScrollableX=c,i.isScrollableY=f,i.scrollWidth=d,i.scrollHeight=m,i.clientWidth=g,i.clientHeight=y}else c=i.isScrollableX,f=i.isScrollableY,s=i.hasOverflowX,o=i.hasOverflowY,d=i.scrollWidth,m=i.scrollHeight,g=i.clientWidth,y=i.clientHeight;if(!s&&!o||!c&&!f||_==="vertical"&&(!o||!f)||_==="horizontal"&&(!s||!c))return!1;let S;if(_==="horizontal")S="x";else if(_==="vertical")S="y";else{const I=e!==0,O=t!==0;I&&s&&c&&(S="x"),O&&o&&f&&(S="y")}if(!S)return!1;let M,b,A,w,D;if(S==="x")M=r.scrollLeft,b=d-g,A=e,w=s,D=c;else if(S==="y")M=r.scrollTop,b=m-y,A=t,w=o,D=f;else return!1;return(A>0?M<b:M>0)&&w&&D}get rootElement(){return this.options.wrapper===window?document.documentElement:this.options.wrapper}get limit(){return this.options.__experimental__naiveDimensions?this.isHorizontal?this.rootElement.scrollWidth-this.rootElement.clientWidth:this.rootElement.scrollHeight-this.rootElement.clientHeight:this.dimensions.limit[this.isHorizontal?"x":"y"]}get isHorizontal(){return this.options.orientation==="horizontal"}get actualScroll(){const r=this.options.wrapper;return this.isHorizontal?r.scrollX??r.scrollLeft:r.scrollY??r.scrollTop}get scroll(){return this.options.infinite?TU(this.animatedScroll,this.limit):this.animatedScroll}get progress(){return this.limit===0?1:this.scroll/this.limit}get isScrolling(){return this._isScrolling}set isScrolling(r){this._isScrolling!==r&&(this._isScrolling=r,this.updateClassName())}get isStopped(){return this._isStopped}set isStopped(r){this._isStopped!==r&&(this._isStopped=r,this.updateClassName())}get isLocked(){return this._isLocked}set isLocked(r){this._isLocked!==r&&(this._isLocked=r,this.updateClassName())}get isSmooth(){return this.isScrolling==="smooth"}get className(){let r="lenis";return this.options.autoToggle&&(r+=" lenis-autoToggle"),this.isStopped&&(r+=" lenis-stopped"),this.isLocked&&(r+=" lenis-locked"),this.isScrolling&&(r+=" lenis-scrolling"),this.isScrolling==="smooth"&&(r+=" lenis-smooth"),r}updateClassName(){this.cleanUpClassName(),this.rootElement.className=`${this.rootElement.className} ${this.className}`.trim()}cleanUpClassName(){this.rootElement.className=this.rootElement.className.replace(/lenis(-\w+)?/g,"").trim()}},OU=class{constructor(r){this.state=r}listeners=[];set(r){this.state=r;
49for(let e of this.listeners)e(this.state)}subscribe(r){return this.listeners=[...this.listeners,r],()=>{this.listeners=this.listeners.filter(e=>e!==r)}}get(){return this.state}},NU=$.createContext(null),Aw=new OU(null),LU=$.forwardRef(({children:r,root:e=!1,options:t={},className:n,autoRaf:i=!0,style:s,props:o},c)=>{const f=$.useRef(null),d=$.useRef(null),[m,g]=$.useState(void 0);$.useImperativeHandle(c,()=>({wrapper:f.current,content:d.current,lenis:m}),[m]),$.useEffect(()=>{const M=new DU({...t,...!e&&{wrapper:f.current,content:d.current},autoRaf:t?.autoRaf??i});return g(M),()=>{M.destroy(),g(void 0)}},[e,JSON.stringify(t)]);const y=$.useRef([]),_=$.useCallback((M,b)=>{y.current.push({callback:M,priority:b}),y.current.sort((A,w)=>A.priority-w.priority)},[]),S=$.useCallback(M=>{y.current=y.current.filter(b=>b.callback!==M)},[]);return $.useEffect(()=>{if(e&&m)return Aw.set({lenis:m,addCallback:_,removeCallback:S}),()=>Aw.set(null)},[e,m,_,S]),$.useEffect(()=>{if(!m)return;const M=b=>{for(let A=0;A<y.current.length;A++)y.current[A]?.callback(b)};return m.on("scroll",M),()=>{m.off("scroll",M)}},[m]),K.jsx(NU.Provider,{value:{lenis:m,addCallback:_,removeCallback:S},children:e?r:K.jsx("div",{ref:f,className:n,style:s,...o,children:K.jsx("div",{ref:d,children:r})})})});/**
50 * @license
51 * Copyright 2010-2025 Three.js Authors
52 * SPDX-License-Identifier: MIT
53 */const Fv="179",UU={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},IU={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},eD=0,k1=1,tD=2,PU=3,nD=0,wA=1,W0=2,al=3,rc=0,Zs=1,ll=2,Zc=0,sd=1,X1=2,Y1=3,j1=4,iD=5,hf=100,rD=101,sD=102,aD=103,oD=104,lD=200,cD=201,uD=202,fD=203,bS=204,MS=205,hD=206,dD=207,pD=208,mD=209,gD=210,vD=211,yD=212,_D=213,xD=214,ES=0,TS=1,CS=2,md=3,wS=4,RS=5,BS=6,DS=7,Gv=0,SD=1,AD=2,tc=0,bD=1,MD=2,ED=3,YE=4,TD=5,CD=6,wD=7,q1="attached",RD="detached",RA=300,iu=301,Mf=302,vv=303,yv=304,Xm=306,Ef=1e3,ka=1001,Am=1002,Gr=1003,BA=1004,HU=1004,Qh=1005,zU=1005,tr=1006,hm=1007,FU=1007,bo=1008,GU=1008,wo=1009,jE=1010,qE=1011,bm=1012,DA=1013,ru=1014,va=1015,Ym=1016,OA=1017,NA=1018,Mm=1020,WE=35902,JE=1021,KE=1022,xs=1023,Em=1026,Tm=1027,LA=1028,Vv=1029,QE=1030,UA=1031,VU=1032,IA=1033,J0=33776,K0=33777,Q0=33778,Z0=33779,OS=35840,NS=35841,LS=35842,US=35843,IS=36196,PS=37492,HS=37496,zS=37808,FS=37809,GS=37810,VS=37811,kS=37812,XS=37813,YS=37814,jS=37815,qS=37816,WS=37817,JS=37818,KS=37819,QS=37820,ZS=37821,$0=36492,$S=36494,eA=36495,ZE=36283,tA=36284,nA=36285,iA=36286,BD=2200,DD=2201,OD=2202,Cm=2300,wm=2301,sS=2302,Zh=2400,$h=2401,_v=2402,PA=2500,$E=2501,ND=0,eT=1,rA=2,LD=3200,UD=3201,kU=3202,XU=3203,Df=0,ID=1,qc="",vs="srgb",Tf="srgb-linear",xv="linear",ri="srgb",YU=0,Yh=7680,jU=7681,qU=7682,WU=7683,JU=34055,KU=34056,QU=5386,ZU=512,$U=513,eI=514,tI=515,nI=516,iI=517,rI=518,W1=519,PD=512,HD=513,zD=514,tT=515,FD=516,GD=517,VD=518,kD=519,Sv=35044,sI=35048,aI=35040,oI=35045,lI=35049,cI=35041,uI=35046,fI=35050,hI=35042,dI="100",J1="300 es",Xa=2e3,Rm=2001,pI={COMPUTE:"compute",RENDER:"render"},mI={PERSPECTIVE:"perspective",LINEAR:"linear",FLAT:"flat"},gI={NORMAL:"normal",CENTROID:"centroid",SAMPLE:"sample",FIRST:"first",EITHER:"either"};class lc{addEventListener(e,t){this._listeners===void 0&&(this._listeners={});const n=this._listeners;n[e]===void 0&&(n[e]=[]),n[e].indexOf(t)===-1&&n[e].push(t)}hasEventListener(e,t){const n=this._listeners;return n===void 0?!1:n[e]!==void 0&&n[e].indexOf(t)!==-1}removeEventListener(e,t){const n=this._listeners;if(n===void 0)return;const i=n[e];if(i!==void 0){const s=i.indexOf(t);s!==-1&&i.splice(s,1)}}dispatchEvent(e){const t=this._listeners;if(t===void 0)return;const n=t[e.type];if(n!==void 0){e.target=this;const i=n.slice(0);for(let s=0,o=i.length;s<o;s++)i[s].call(this,e);e.target=null}}}const hs=["00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f","10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f","20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f","30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f","40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f","50","51","52","53","54","5
535","56","57","58","59","5a","5b","5c","5d","5e","5f","60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f","70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f","80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f","90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd","de","df","e0","e1","e2","e3","e4","e5","e6","e7","e8","e9","ea","eb","ec","ed","ee","ef","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"];let bw=1234567;const ad=Math.PI/180,Bm=180/Math.PI;function qa(){const r=Math.random()*4294967295|0,e=Math.random()*4294967295|0,t=Math.random()*4294967295|0,n=Math.random()*4294967295|0;return(hs[r&255]+hs[r>>8&255]+hs[r>>16&255]+hs[r>>24&255]+"-"+hs[e&255]+hs[e>>8&255]+"-"+hs[e>>16&15|64]+hs[e>>24&255]+"-"+hs[t&63|128]+hs[t>>8&255]+"-"+hs[t>>16&255]+hs[t>>24&255]+hs[n&255]+hs[n>>8&255]+hs[n>>16&255]+hs[n>>24&255]).toLowerCase()}function Zt(r,e,t){return Math.max(e,Math.min(t,r))}function nT(r,e){return(r%e+e)%e}function vI(r,e,t,n,i){return n+(r-e)*(i-n)/(t-e)}function yI(r,e,t){return r!==e?(t-r)/(e-r):0}function ev(r,e,t){return(1-t)*r+t*e}function _I(r,e,t,n){return ev(r,e,1-Math.exp(-t*n))}function xI(r,e=1){return e-Math.abs(nT(r,e*2)-e)}function SI(r,e,t){return r<=e?0:r>=t?1:(r=(r-e)/(t-e),r*r*(3-2*r))}function AI(r,e,t){return r<=e?0:r>=t?1:(r=(r-e)/(t-e),r*r*r*(r*(r*6-15)+10))}function bI(r,e){return r+Math.floor(Math.random()*(e-r+1))}function MI(r,e){return r+Math.random()*(e-r)}function EI(r){return r*(.5-Math.random())}function TI(r){r!==void 0&&(bw=r);let e=bw+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}function CI(r){return r*ad}function wI(r){return r*Bm}function RI(r){return(r&r-1)===0&&r!==0}function BI(r){return Math.pow(2,Math.ceil(Math.log(r)/Math.LN2))}function DI(r){return Math.pow(2,Math.floor(Math.log(r)/Math.LN2))}function OI(r,e,t,n,i){const s=Math.cos,o=Math.sin,c=s(t/2),f=o(t/2),d=s((e+n)/2),m=o((e+n)/2),g=s((e-n)/2),y=o((e-n)/2),_=s((n-e)/2),S=o((n-e)/2);switch(i){case"XYX":r.set(c*m,f*g,f*y,c*d);break;case"YZY":r.set(f*y,c*m,f*g,c*d);break;case"ZXZ":r.set(f*g,f*y,c*m,c*d);break;case"XZX":r.set(c*m,f*S,f*_,c*d);break;case"YXY":r.set(f*_,c*m,f*S,c*d);break;case"ZYZ":r.set(f*S,f*_,c*m,c*d);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+i)}}function Js(r,e){switch(e.constructor){case Float32Array:return r;case Uint32Array:return r/4294967295;case Uint16Array:return r/65535;case Uint8Array:return r/255;case Int32Array:return Math.max(r/2147483647,-1);case Int16Array:return Math.max(r/32767,-1);case Int8Array:return Math.max(r/127,-1);default:throw new Error("Invalid component type.")}}function pn(r,e){switch(e.constructor){case Float32Array:return r;case Uint32Array:return Math.round(r*4294967295);case Uint16Array:return Math.round(r*65535);case Uint8Array:return Math.round(r*255);case Int32Array:return Math.round(r*2147483647);case Int16Array:return Math.round(r*32767);case Int8Array:return Math.round(r*127);default:throw new Error("Invalid component type.")}}const iT={DEG2RAD:ad,RAD2DEG:Bm,generateUUID:qa,clamp:Zt,euclideanModulo:nT,mapLinear:vI,inverseLerp:yI,lerp:ev,damp:_I,pingpong:xI,smoothstep:SI,smootherstep:AI,randInt:bI,randFloat:MI,randFloatSpread:EI,seededRandom:TI,degToRad:CI,radToDeg:wI,isPowerOfTwo:RI,ceilPowerOfTwo:BI,floorPowerOfTwo:DI,setQuaternionFromProperEuler:OI,normalize:pn,denormalize:Js};class qe{constructor(e=0,t=0){qe.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}
vendor: 18,719 bytes, line 53
53sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,n=this.y,i=e.elements;return this.x=i[0]*t+i[3]*n+i[6],this.y=i[1]*t+i[4]*n+i[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Zt(this.x,e.x,t.x),this.y=Zt(this.y,e.y,t.y),this}clampScalar(e,t){return this.x=Zt(this.x,e,t),this.y=Zt(this.y,e,t),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Zt(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(Zt(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y;return t*t+n*n}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){const n=Math.cos(t),i=Math.sin(t),s=this.x-e.x,o=this.y-e.y;return this.x=s*n-o*i+e.x,this.y=s*i+o*n+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class Ss{constructor(e=0,t=0,n=0,i=1){this.isQuaternion=!0,this._x=e,this._y=t,this._z=n,this._w=i}static slerpFlat(e,t,n,i,s,o,c){let f=n[i+0],d=n[i+1],m=n[i+2],g=n[i+3];const y=s[o+0],_=s[o+1],S=s[o+2],M=s[o+3];if(c===0){e[t+0]=f,e[t+1]=d,e[t+2]=m,e[t+3]=g;return}if(c===1){e[t+0]=y,e[t+1]=_,e[t+2]=S,e[t+3]=M;return}if(g!==M||f!==y||d!==_||m!==S){let b=1-c;const A=f*y+d*_+m*S+g*M,w=A>=0?1:-1,D=1-A*A;if(D>Number.EPSILON){const I=Math.sqrt(D),O=Math.atan2(I,A*w);b=Math.sin(b*O)/I,c=Math.sin(c*O)/I}const B=c*w;if(f=f*b+y*B,d=d*b+_*B,m=m*b+S*B,g=g*b+M*B,b===1-c){const I=1/Math.sqrt(f*f+d*d+m*m+g*g);f*=I,d*=I,m*=I,g*=I}}e[t]=f,e[t+1]=d,e[t+2]=m,e[t+3]=g}static multiplyQuaternionsFlat(e,t,n,i,s,o){const c=n[i],f=n[i+1],d=n[i+2],m=n[i+3],g=s[o],y=s[o+1],_=s[o+2],S=s[o+3];return e[t]=c*S+m*g+f*_-d*y,e[t+1]=f*S+m*y+d*g-c*_,e[t+2]=d*S+m*_+c*y-f*g,e[t+3]=m*S-c*g-f*y-d*_,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,n,i){return this._x=e,this._y=t,this._z=n,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t=!0){const n=e._x,i=e._y,s=e._z,o=e._order,c=Math.cos,f=Math.sin,d=c(n/2),m=c(i/2),g=c(s/2),y=f(n/2),_=f(i/2),S=f(s/2);switch(o){case"XYZ":this._x=y*m*g+d*_*S,this._y=d*_*g-y*m*S,this._z=d*m*S+y*_*g,this._w=d*m*g-y*_*S;break;case"YXZ":this._x=y*m*g+d*_*S,this._y=d*_*g-y*m*S,this._z=d*m*S-y*_*g,this._w=d*m*g+y*_*S;break;case"ZXY":this._x=y*m*g-d*_*S,this._y=d*_*g+y*m*S,this._z=d*m*S+y*_*g,this._w=d*m*g-y*_*S;break;case"ZYX":this._x=y*m*g-d*_*S,this._y=d*_*g+y*m*S,this._z=d*m*S-y*_*g,this._w=d*m*g+y*_*S;break;case"YZX":this._x=y*m*g+d*_*S,this._y=d*_*g+y*m*S,this._z=d*m*S-y*_*g,this._w=d*m*g-y*_*S;break;case"XZY":this._x=y*m*g-d*_*S,this._y=d*_*g-y*m*S,this._z=d*m*S+y*_*g,this._w=d*m*g+y*_*S;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+o)}return t===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const n=t/2,i=Math.sin(n);return this._x=e.x*i,this._y=e.y*i,this._z=e.z*i,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,n=t[0],i=t[4],s=t[8],o=t[1],c=t[5],f=t[9],d=t[2],m=t[6],g=t[10],y=n+c+g;if(y>0){const _=.5/Math.sqrt(y+1);this._w=.25/_,this._x=(m-f)*_,this._y=(s-d)*_,this._z=(o-i)*_}else if(n>c&&n>g){const _=2*Math.sqrt(1+n-c-g);this._w=(m-f)/_,this._x=.25*_,this._y=(i+o)/_,this._z=(s+d)/_}else if(c>g){const _=2*Math.sqrt(1+c-n-g);this._w=(s-d)/_,this._x=(i+o)/_,this._y=.25*_,this._z=(f+m)/_}else{const _=2*Math.sqrt(1+g-n-c);this._w=(o-i)/_,this._x=(s+d)/_,this._y=(f+m)/_,this._z=.25*_}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let n=e.dot(t)+1;return n<1e-8?(n=0,Math.abs(e.x)>Math.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=n):(this._x=0,this._y=-e.z,this._z=e.y,this._w=n)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=n),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(Zt(this.dot(e),-1,1)))}rotateTowards(e,t){const n=this.angleTo(e);if(n===0)return this;const i=Math.min(1,t/n);return this.slerp(e,i),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){const n=e._x,i=e._y,s=e._z,o=e._w,c=t._x,f=t._y,d=t._z,m=t._w;return this._x=n*m+o*c+i*d-s*f,this._y=i*m+o*f+s*c-n*d,this._z=s*m+o*d+n*f-i*c,this._w=o*m-n*c-i*f-s*d,this._onChangeCallback(),this}slerp(e,t){if(t===0)return this;if(t===1)return this.copy(e);const n=this._x,i=this._y,s=this._z,o=this._w;let c=o*e._w+n*e._x+i*e._y+s*e._z;if(c<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,c=-c):this.copy(e),c>=1)return this._w=o,this._x=n,this._y=i,this._z=s,this;const f=1-c*c;if(f<=Number.EPSILON){const _=1-t;return this._w=_*o+t*this._w,this._x=_*n+t*this._x,this._y=_*i+t*this._y,this._z=_*s+t*this._z,this.normalize(),this}const d=Math.sqrt(f),m=Math.atan2(d,c),g=Math.sin((1-t)*m)/d,y=Math.sin(t*m)/d;return this._w=o*g+this._w*y,this._x=n*g+this._x*y,this._y=i*g+this._y*y,this._z=s*g+this._z*y,this._onChangeCallback(),this}slerpQuaternions(e,t,n){return this.copy(e).slerp(t,n)}random(){const e=2*Math.PI*Math.random(),t=2*Math.PI*Math.random(),n=Math.random(),i=Math.sqrt(1-n),s=Math.sqrt(n);return this.set(i*Math.sin(e),i*Math.cos(e),s*Math.sin(t),s*Math.cos(t))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class Z{constructor(e=0,t=0,n=0){Z.prototype.isVector3=!0,this.x=e,this.y=t,this.z=n}set(e,t,n){return n===void 0&&(n=this.z),this.x=e,this.y=t,this.z=n,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(Mw.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(Mw.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,n=this.y,i=this.z,s=e.elements;return this.x=s[0]*t+s[3]*n+s[6]*i,this.y=s[1]*t+s[4]*n+s[7]*i,this.z=s[2]*t+s[5]*n+s[8]*i,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,n=this.y,i=this.z,s=e.elements,o=1/(s[3]*t+s[7]*n+s[11]*i+s[15]);return this.x=(s[0]*t+s[4]*n+s[8]*i+s[12])*o,this.y=(s[1]*t+s[5]*n+s[9]*i+s[13])*o,this.z=(s[2]*t+s[6]*n+s[10]*i+s[14])*o,this}applyQuaternion(e){const t=this.x,n=this.y,i=this.z,s=e.x,o=e.y,c=e.z,f=e.w,d=2*(o*i-c*n),m=2*(c*t-s*i),g=2*(s*n-o*t);return this.x=t+f*d+o*g-c*m,this.y=n+f*m+c*d-s*g,this.z=i+f*g+s*m-o*d,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,n=this.y,i=this.z,s=e.elements;return this.x=s[0]*t+s[4]*n+s[8]*i,this.y=s[1]*t+s[5]*n+s[9]*i,this.z=s[2]*t+s[6]*n+s[10]*i,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=Zt(this.x,e.x,t.x),this.y=Zt(this.y,e.y,t.y),this.z=Zt(this.z,e.z,t.z),this}clampScalar(e,t){return this.x=Zt(this.x,e,t),this.y=Zt(this.y,e,t),this.z=Zt(this.z,e,t),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Zt(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){const n=e.x,i=e.y,s=e.z,o=t.x,c=t.y,f=t.z;return this.x=i*f-s*c,this.y=s*o-n*f,this.z=n*c-i*o,this}projectOnVector(e){const t=e.lengthSq();if(t===0)return this.set(0,0,0);const n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){return aM.copy(this).projectOnVector(e),this.sub(aM)}reflect(e){return this.sub(aM.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(Zt(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y,i=this.z-e.z;return t*t+n*n+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,n){const i=Math.sin(t)*e;return this.x=i*Math.sin(n),this.y=Math.cos(t)*e,this.z=i*Math.cos(n),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,n){return this.x=e*Math.sin(t),this.y=n,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){const t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),i=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=i,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=Math.random()*Math.PI*2,t=Math.random()*2-1,n=Math.sqrt(1-t*t);return this.x=n*Math.cos(e),this.y=t,this.z=n*Math.sin(e),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const aM=new Z,Mw=new Ss;class un{constructor(e,t,n,i,s,o,c,f,d){un.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,t,n,i,s,o,c,f,d)}set(e,t,n,i,s,o,c,f,d){const m=this.elements;return m[0]=e,m[1]=i,m[2]=c,m[3]=t,m[4]=s,m[5]=f,m[6]=n,m[7]=o,m[8]=d,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],this}extractBasis(e,t,n){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements,i=t.elements,s=this.elements,o=n[0],c=n[3],f=n[6],d=n[1],m=n[4],g=n[7],y=n[2],_=n[5],S=n[8],M=i[0],b=i[3],A=i[6],w=i[1],D=i[4],B=i[7],I=i[2],O=i[5],U=i[8];return s[0]=o*M+c*w+f*I,s[3]=o*b+c*D+f*O,s[6]=o*A+c*B+f*U,s[1]=d*M+m*w+g*I,s[4]=d*b+m*D+g*O,s[7]=d*A+m*B+g*U,s[2]=y*M+_*w+S*I,s[5]=y*b+_*D+S*O,s[8]=y*A+_*B+S*U,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){const e=this.elements,t=e[0],n=e[1],i=e[2],s=e[3],o=e[4],c=e[5],f=e[6],d=e[7],m=e[8];return t*o*m-t*c*d-n*s*m+n*c*f+i*s*d-i*o*f}invert(){const e=this.elements,t=e[0],n=e[1],i=e[2],s=e[3],o=e[4],c=e[5],f=e[6],d=e[7],m=e[8],g=m*o-c*d,y=c*f-m*s,_=d*s-o*f,S=t*g+n*y+i*_;if(S===0)return this.set(0,0,0,0,0,0,0,0,0);const M=1/S;return e[0]=g*M,e[1]=(i*d-m*n)*M,e[2]=(c*n-i*o)*M,e[3]=y*M,e[4]=(m*t-i*f)*M,e[5]=(i*s-c*t)*M,e[6]=_*M,e[7]=(n*f-d*t)*M,e[8]=(o*t-n*s)*M,this}transpose(){let e;const t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,n,i,s,o,c){const f=Math.cos(s),d=Math.sin(s);return this.set(n*f,n*d,-n*(f*o+d*c)+o+e,-i*d,i*f,-i*(-d*o+f*c)+c+t,0,0,1),this}scale(e,t){return this.premultiply(oM.makeScale(e,t)),this}rotate(e){return this.premultiply(oM.makeRotation(-e)),this}translate(e,t){return this.premultiply(oM.makeTranslation(e,t)),this}makeTranslation(e,t){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,t,0,0,1),this}makeRotation(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,n,t,0,0,0,1),this}makeScale(e,t){return this.set(e,0,0,0,t,0,0,0,1),this}equals(e){const t=this.elements,n=e.elements;for(let i=0;i<9;i++)if(t[i]!==n[i])return!1;return!0}fromArray(e,t=0){for(let n=0;n<9;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e}clone(){return new this.constructor().fromArray(this.elements)}}const oM=new un;function XD(r){for(let e=r.length-1;e>=0;--e)if(r[e]>=65535)return!0;return!1}const NI={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function am(r,e){return new NI[r](e)}function Av(r){return document.createElementNS("http://www.w3.org/1999/xhtml",r)}function YD(){const r=Av("canvas");return r.style.display="block",r}const Ew={};function dm(r){r in Ew||(Ew[r]=!0,console.warn(r))}function LI(r,e,t){return new Promise(function(n,i){function s(){switch(r.clientWaitSync(e,r.SYNC_FLUSH_COMMANDS_BIT,0)){case r.WAIT_FAILED:i();break;case r.TIMEOUT_EXPIRED:setTimeout(s,t);break;default:n()}}setTimeout(s,t)})}const Tw=new un().set(.4123908,.3575843,.1804808,.212639,.7151687,.0721923,.0193308,.1191948,.9505322),Cw=new un().set(3.2409699,-1.5373832,-.4986108,-.9692436,1.8759675,.0415551,.0556301,-.20397
vendor: 28,989 bytes, line 53
537,1.0569715);function UI(){const r={enabled:!0,workingColorSpace:Tf,spaces:{},convert:function(i,s,o){return this.enabled===!1||s===o||!s||!o||(this.spaces[s].transfer===ri&&(i.r=$c(i.r),i.g=$c(i.g),i.b=$c(i.b)),this.spaces[s].primaries!==this.spaces[o].primaries&&(i.applyMatrix3(this.spaces[s].toXYZ),i.applyMatrix3(this.spaces[o].fromXYZ)),this.spaces[o].transfer===ri&&(i.r=pm(i.r),i.g=pm(i.g),i.b=pm(i.b))),i},workingToColorSpace:function(i,s){return this.convert(i,this.workingColorSpace,s)},colorSpaceToWorking:function(i,s){return this.convert(i,s,this.workingColorSpace)},getPrimaries:function(i){return this.spaces[i].primaries},getTransfer:function(i){return i===qc?xv:this.spaces[i].transfer},getLuminanceCoefficients:function(i,s=this.workingColorSpace){return i.fromArray(this.spaces[s].luminanceCoefficients)},define:function(i){Object.assign(this.spaces,i)},_getMatrix:function(i,s,o){return i.copy(this.spaces[s].toXYZ).multiply(this.spaces[o].fromXYZ)},_getDrawingBufferColorSpace:function(i){return this.spaces[i].outputColorSpaceConfig.drawingBufferColorSpace},_getUnpackColorSpace:function(i=this.workingColorSpace){return this.spaces[i].workingColorSpaceConfig.unpackColorSpace},fromWorkingColorSpace:function(i,s){return dm("THREE.ColorManagement: .fromWorkingColorSpace() has been renamed to .workingToColorSpace()."),r.workingToColorSpace(i,s)},toWorkingColorSpace:function(i,s){return dm("THREE.ColorManagement: .toWorkingColorSpace() has been renamed to .colorSpaceToWorking()."),r.colorSpaceToWorking(i,s)}},e=[.64,.33,.3,.6,.15,.06],t=[.2126,.7152,.0722],n=[.3127,.329];return r.define({[Tf]:{primaries:e,whitePoint:n,transfer:xv,toXYZ:Tw,fromXYZ:Cw,luminanceCoefficients:t,workingColorSpaceConfig:{unpackColorSpace:vs},outputColorSpaceConfig:{drawingBufferColorSpace:vs}},[vs]:{primaries:e,whitePoint:n,transfer:ri,toXYZ:Tw,fromXYZ:Cw,luminanceCoefficients:t,outputColorSpaceConfig:{drawingBufferColorSpace:vs}}}),r}const Un=UI();function $c(r){return r<.04045?r*.0773993808:Math.pow(r*.9478672986+.0521327014,2.4)}function pm(r){return r<.0031308?r*12.92:1.055*Math.pow(r,.41666)-.055}let Dp;class jD{static getDataURL(e,t="image/png"){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let n;if(e instanceof HTMLCanvasElement)n=e;else{Dp===void 0&&(Dp=Av("canvas")),Dp.width=e.width,Dp.height=e.height;const i=Dp.getContext("2d");e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0,e.width,e.height),n=Dp}return n.toDataURL(t)}static sRGBToLinear(e){if(typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap){const t=Av("canvas");t.width=e.width,t.height=e.height;const n=t.getContext("2d");n.drawImage(e,0,0,e.width,e.height);const i=n.getImageData(0,0,e.width,e.height),s=i.data;for(let o=0;o<s.length;o++)s[o]=$c(s[o]/255)*255;return n.putImageData(i,0,0),t}else if(e.data){const t=e.data.slice(0);for(let n=0;n<t.length;n++)t instanceof Uint8Array||t instanceof Uint8ClampedArray?t[n]=Math.floor($c(t[n]/255)*255):t[n]=$c(t[n]);return{data:t,width:e.width,height:e.height}}else return console.warn("THREE.ImageUtils.sRGBToLinear(): Unsupported image type. No color space conversion applied."),e}}let II=0;class pf{constructor(e=null){this.isSource=!0,Object.defineProperty(this,"id",{value:II++}),this.uuid=qa(),this.data=e,this.dataReady=!0,this.version=0}getSize(e){const t=this.data;return t instanceof HTMLVideoElement?e.set(t.videoWidth,t.videoHeight,0):t instanceof VideoFrame?e.set(t.displayHeight,t.displayWidth,0):t!==null?e.set(t.width,t.height,t.depth||0):e.set(0,0,0),e}set needsUpdate(e){e===!0&&this.version++}toJSON(e){const t=e===void 0||typeof e=="string";if(!t&&e.images[this.uuid]!==void 0)return e.images[this.uuid];const n={uuid:this.uuid,url:""},i=this.data;if(i!==null){let s;if(Array.isArray(i)){s=[];for(let o=0,c=i.length;o<c;o++)i[o].isDataTexture?s.push(lM(i[o].image)):s.push(lM(i[o]))}else s=lM(i);n.url=s}return t||(e.images[this.uuid]=n),n}}function lM(r){return typeof HTMLImageElement<"u"&&r instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&r instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&r instanceof ImageBitmap?jD.getDataURL(r):r.data?{data:Array.from(r.data),width:r.width,height:r.height,type:r.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}let PI=0;const cM=new Z;class Bi extends lc{constructor(e=Bi.DEFAULT_IMAGE,t=Bi.DEFAULT_MAPPING,n=ka,i=ka,s=tr,o=bo,c=xs,f=wo,d=Bi.DEFAULT_ANISOTROPY,m=qc){super(),this.isTexture=!0,Object.defineProperty(this,"id",{value:PI++}),this.uuid=qa(),this.name="",this.source=new pf(e),this.mipmaps=[],this.mapping=t,this.channel=0,this.wrapS=n,this.wrapT=i,this.magFilter=s,this.minFilter=o,this.anisotropy=d,this.format=c,this.internalFormat=null,this.type=f,this.offset=new qe(0,0),this.repeat=new qe(1,1),this.center=new qe(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new un,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.colorSpace=m,this.userData={},this.updateRanges=[],this.version=0,this.onUpdate=null,this.renderTarget=null,this.isRenderTargetTexture=!1,this.isArrayTexture=!!(e&&e.depth&&e.depth>1),this.pmremVersion=0}get width(){return this.source.getSize(cM).x}get height(){return this.source.getSize(cM).y}get depth(){return this.source.getSize(cM).z}get image(){return this.source.data}set image(e=null){this.source.data=e}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}clone(){return new this.constructor().copy(this)}copy(e){return this.name=e.name,this.source=e.source,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.channel=e.channel,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.internalFormat=e.internalFormat,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.center.copy(e.center),this.rotation=e.rotation,this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrix.copy(e.matrix),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.colorSpace=e.colorSpace,this.renderTarget=e.renderTarget,this.isRenderTargetTexture=e.isRenderTargetTexture,this.isArrayTexture=e.isArrayTexture,this.userData=JSON.parse(JSON.stringify(e.userData)),this.needsUpdate=!0,this}setValues(e){for(const t in e){const n=e[t];if(n===void 0){console.warn(`THREE.Texture.setValues(): parameter '${t}' has value of undefined.`);continue}const i=this[t];if(i===void 0){console.warn(`THREE.Texture.setValues(): property '${t}' does not exist.`);continue}i&&n&&i.isVector2&&n.isVector2||i&&n&&i.isVector3&&n.isVector3||i&&n&&i.isMatrix3&&n.isMatrix3?i.copy(n):this[t]=n}}toJSON(e){const t=e===void 0||typeof e=="string";if(!t&&e.textures[this.uuid]!==void 0)return e.textures[this.uuid];const n={metadata:{version:4.7,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,image:this.source.toJSON(e).uuid,mapping:this.mapping,channel:this.channel,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,internalFormat:this.internalFormat,type:this.type,colorSpace:this.colorSpace,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};return Object.keys(this.userData).length>0&&(n.userData=this.userData),t||(e.textures[this.uuid]=n),n}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==RA)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case Ef:e.x=e.x-Math.floor(e.x);break;case ka:e.x=e.x<0?0:1;break;case Am:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case Ef:e.y=e.y-Math.floor(e.y);break;case ka:e.y=e.y<0?0:1;break;case Am:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(e){e===!0&&this.pmremVersion++}}Bi.DEFAULT_IMAGE=null;Bi.DEFAULT_MAPPING=RA;Bi.DEFAULT_ANISOTROPY=1;class Gn{constructor(e=0,t=0,n=0,i=1){Gn.prototype.isVector4=!0,this.x=e,this.y=t,this.z=n,this.w=i}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,n,i){return this.x=e,this.y=t,this.z=n,this.w=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const t=this.x,n=this.y,i=this.z,s=this.w,o=e.elements;return this.x=o[0]*t+o[4]*n+o[8]*i+o[12]*s,this.y=o[1]*t+o[5]*n+o[9]*i+o[13]*s,this.z=o[2]*t+o[6]*n+o[10]*i+o[14]*s,this.w=o[3]*t+o[7]*n+o[11]*i+o[15]*s,this}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this.w/=e.w,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,n,i,s;const f=e.elements,d=f[0],m=f[4],g=f[8],y=f[1],_=f[5],S=f[9],M=f[2],b=f[6],A=f[10];if(Math.abs(m-y)<.01&&Math.abs(g-M)<.01&&Math.abs(S-b)<.01){if(Math.abs(m+y)<.1&&Math.abs(g+M)<.1&&Math.abs(S+b)<.1&&Math.abs(d+_+A-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const D=(d+1)/2,B=(_+1)/2,I=(A+1)/2,O=(m+y)/4,U=(g+M)/4,z=(S+b)/4;return D>B&&D>I?D<.01?(n=0,i=.707106781,s=.707106781):(n=Math.sqrt(D),i=O/n,s=U/n):B>I?B<.01?(n=.707106781,i=0,s=.707106781):(i=Math.sqrt(B),n=O/i,s=z/i):I<.01?(n=.707106781,i=.707106781,s=0):(s=Math.sqrt(I),n=U/s,i=z/s),this.set(n,i,s,t),this}let w=Math.sqrt((b-S)*(b-S)+(g-M)*(g-M)+(y-m)*(y-m));return Math.abs(w)<.001&&(w=1),this.x=(b-S)/w,this.y=(g-M)/w,this.z=(y-m)/w,this.w=Math.acos((d+_+A-1)/2),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this.w=t[15],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,t){return this.x=Zt(this.x,e.x,t.x),this.y=Zt(this.y,e.y,t.y),this.z=Zt(this.z,e.z,t.z),this.w=Zt(this.w,e.w,t.w),this}clampScalar(e,t){return this.x=Zt(this.x,e,t),this.y=Zt(this.y,e,t),this.z=Zt(this.z,e,t),this.w=Zt(this.w,e,t),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Zt(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this.w=e.w+(t.w-e.w)*n,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class rT extends lc{constructor(e=1,t=1,n={}){super(),n=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:tr,depthBuffer:!0,stencilBuffer:!1,resolveDepthBuffer:!0,resolveStencilBuffer:!0,depthTexture:null,samples:0,count:1,depth:1,multiview:!1},n),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=n.depth,this.scissor=new Gn(0,0,e,t),this.scissorTest=!1,this.viewport=new Gn(0,0,e,t);const i={width:e,height:t,depth:n.depth},s=new Bi(i);this.textures=[];const o=n.count;for(let c=0;c<o;c++)this.textures[c]=s.clone(),this.textures[c].isRenderTargetTexture=!0,this.textures[c].renderTarget=this;this._setTextureOptions(n),this.depthBuffer=n.depthBuffer,this.stencilBuffer=n.stencilBuffer,this.resolveDepthBuffer=n.resolveDepthBuffer,this.resolveStencilBuffer=n.resolveStencilBuffer,this._depthTexture=null,this.depthTexture=n.depthTexture,this.samples=n.samples,this.multiview=n.multiview}_setTextureOptions(e={}){const t={minFilter:tr,generateMipmaps:!1,flipY:!1,internalFormat:null};e.mapping!==void 0&&(t.mapping=e.mapping),e.wrapS!==void 0&&(t.wrapS=e.wrapS),e.wrapT!==void 0&&(t.wrapT=e.wrapT),e.wrapR!==void 0&&(t.wrapR=e.wrapR),e.magFilter!==void 0&&(t.magFilter=e.magFilter),e.minFilter!==void 0&&(t.minFilter=e.minFilter),e.format!==void 0&&(t.format=e.format),e.type!==void 0&&(t.type=e.type),e.anisotropy!==void 0&&(t.anisotropy=e.anisotropy),e.colorSpace!==void 0&&(t.colorSpace=e.colorSpace),e.flipY!==void 0&&(t.flipY=e.flipY),e.generateMipmaps!==void 0&&(t.generateMipmaps=e.generateMipmaps),e.internalFormat!==void 0&&(t.internalFormat=e.internalFormat);for(let n=0;n<this.textures.length;n++)this.textures[n].setValues(t)}get texture(){return this.textures[0]}set texture(e){this.textures[0]=e}set depthTexture(e){this._depthTexture!==null&&(this._depthTexture.renderTarget=null),e!==null&&(e.renderTarget=this),this._depthTexture=e}get depthTexture(){return this._depthTexture}setSize(e,t,n=1){if(this.width!==e||this.height!==t||this.depth!==n){this.width=e,this.height=t,this.depth=n;for(let i=0,s=this.textures.length;i<s;i++)this.textures[i].image.width=e,this.textures[i].image.height=t,this.textures[i].image.depth=n,this.textures[i].isArrayTexture=this.textures[i].image.depth>1;this.dispose()}this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.textures.length=0;for(let t=0,n=e.textures.length;t<n;t++){this.textures[t]=e.textures[t].clone(),this.textures[t].isRenderTargetTexture=!0,this.textures[t].renderTarget=this;const i=Object.assign({},e.textures[t].image);this.textures[t].source=new pf(i)}return this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,this.resolveDepthBuffer=e.resolveDepthBuffer,this.resolveStencilBuffer=e.resolveStencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class sc extends rT{constructor(e=1,t=1,n={}){super(e,t,n),this.isWebGLRenderTarget=!0}}class HA extends Bi{constructor(e=null,t=1,n=1,i=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:t,height:n,depth:i},this.magFilter=Gr,this.minFilter=Gr,this.wrapR=ka,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1,this.layerUpdates=new Set}addLayerUpdate(e){this.layerUpdates.add(e)}clearLayerUpdates(){this.layerUpdates.clear()}}class HI extends sc{constructor(e=1,t=1,n=1,i={}){super(e,t,i),this.isWebGLArrayRenderTarget=!0,this.depth=n,this.texture=new HA(null,e,t,n),this._setTextureOptions(i),this.texture.isRenderTargetTexture=!0}}class zA extends Bi{constructor(e=null,t=1,n=1,i=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:t,height:n,depth:i},this.magFilter=Gr,this.minFilter=Gr,this.wrapR=ka,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class zI extends sc{constructor(e=1,t=1,n=1,i={}){super(e,t,i),this.isWebGL3DRenderTarget=!0,this.depth=n,this.texture=new zA(null,e,t,n),this._setTextureOptions(i),this.texture.isRenderTargetTexture=!0}}class es{constructor(e=new Z(1/0,1/0,1/0),t=new Z(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromArray(e){this.makeEmpty();for(let t=0,n=e.length;t<n;t+=3)this.expandByPoint(nl.fromArray(e,t));return this}setFromBufferAttribute(e){this.makeEmpty();for(let t=0,n=e.count;t<n;t++)this.expandByPoint(nl.fromBufferAttribute(e,t));return this}setFromPoints(e){this.makeEmpty();for(let t=0,n=e.length;t<n;t++)this.expandByPoint(e[t]);return this}setFromCenterAndSize(e,t){const n=nl.copy(t).multiplyScalar(.5);return this.min.copy(e).sub(n),this.max.copy(e).add(n),this}setFromObject(e,t=!1){return this.makeEmpty(),this.expandByObject(e,t)}clone(){return new this.constructor().copy(this)}copy(e){return this.min.copy(e.min),this.max.copy(e.max),this}makeEmpty(){return this.min.x=this.min.y=this.min.z=1/0,this.max.x=this.max.y=this.max.z=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z}getCenter(e){return this.isEmpty()?e.set(0,0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(e){return this.isEmpty()?e.set(0,0,0):e.subVectors(this.max,this.min)}expandByPoint(e){return this.min.min(e),this.max.max(e),this}expandByVector(e){return this.min.sub(e),this.max.add(e),this}expandByScalar(e){return this.min.addScalar(-e),this.max.addScalar(e),this}expandByObject(e,t=!1){e.updateWorldMatrix(!1,!1);const n=e.geometry;if(n!==void 0){const s=n.getAttribute("position");if(t===!0&&s!==void 0&&e.isInstancedMesh!==!0)for(let o=0,c=s.count;o<c;o++)e.isMesh===!0?e.getVertexPosition(o,nl):nl.fromBufferAttribute(s,o),nl.applyMatrix4(e.matrixWorld),this.expandByPoint(nl);else e.boundingBox!==void 0?(e.boundingBox===null&&e.computeBoundingBox(),L_.copy(e.boundingBox)):(n.boundingBox===null&&n.computeBoundingBox(),L_.copy(n.boundingBox)),L_.applyMatrix4(e.matrixWorld),this.union(L_)}const i=e.children;for(let s=0,o=i.length;s<o;s++)this.expandByObject(i[s],t);return this}containsPoint(e){return e.x>=this.min.x&&e.x<=this.max.x&&e.y>=this.min.y&&e.y<=this.max.y&&e.z>=this.min.z&&e.z<=this.max.z}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.max.y>=this.min.y&&e.min.y<=this.max.y&&e.max.z>=this.min.z&&e.min.z<=this.max.z}intersectsSphere(e){return this.clampPoint(e.center,nl),nl.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,n;return e.normal.x>0?(t=e.normal.x*this.min.x,n=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,n=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,n+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,n+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,n+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,n+=e.normal.z*this.min.z),t<=-e.constant&&n>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(g0),U_.subVectors(this.max,g0),Op.subVectors(e.a,g0),Np.subVectors(e.b,g0),Lp.subVectors(e.c,g0),tf.subVectors(Np,Op),nf.subVectors(Lp,Np),wh.subVectors(Op,Lp);let t=[0,-tf.z,tf.y,0,-nf.z,nf.y,0,-wh.z,wh.y,tf.z,0,-tf.x,nf.z,0,-nf.x,wh.z,0,-wh.x,-tf.y,tf.x,0,-nf.y,nf.x,0,-wh.y,wh.x,0];return!uM(t,Op,Np,Lp,U_)||(t=[1,0,0,0,1,0,0,0,1],!uM(t,Op,Np,Lp,U_))?!1:(I_.crossVectors(tf,nf),t=[I_.x,I_.y,I_.z],uM(t,Op,Np,Lp,U_))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,nl).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(nl).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(Ic[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Ic[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Ic[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Ic[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Ic[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Ic[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Ic[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Ic[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Ic),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}toJSON(){return{min:this.min.toArray(),max:this.max.toArray()}}fromJSON(e){return this.min.fromArray(e.min),this.max.fromArray(e.max),this}}const Ic=[new Z,new Z,new Z,new Z,new Z,new Z,new Z,new Z],nl=new Z,L_=new es,Op=new Z,Np=new Z,Lp=new Z,tf=new Z,nf=new Z,wh=new Z,g0=new Z,U_=new Z,I_=new Z,Rh=new Z;function uM(r,e,t,n,i){for(let s=0,o=r.length-3;s<=o;s+=3){Rh.fromArray(r,s);const c=i.x*Math.abs(Rh.x)+i.y*Math.abs(Rh.y)+i.z*Math.abs(Rh.z),f=e.dot(Rh),d=t.dot(Rh),m=n.dot(Rh);if(Math.max(-Math.max(f,d,m),Math.min(f,d,m))>c)return!1}return!0}const FI=new es,v0=new Z,fM=new Z;class Vr{constructor(e=new Z,t=-1){this.isSphere=!0,this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){const n=this.center;t!==void 0?n.copy(t):FI.setFromPoints(e).getCenter(n);let i=0;for(let s=0,o=e.length;s<o;s++)i=Math.max(i,n.distanceToSquared(e[s]));return this.radius=Math.sqrt(i),this}copy(e){return this.center.copy(e.center),this.radius=e.radius,this}isEmpty(){return this.radius<0}makeEmpty(){return this.center.set(0,0,0),this.radius=-1,this}containsPoint(e){return e.distanceToSquared(this.center)<=this.radius*this.radius}distanceToPoint(e){return e.distanceTo(this.center)-this.radius}intersectsSphere(e){const t=this.radius+e.radius;return e.center.distanceToSquared(this.center)<=t*t}intersectsBox(e){return e.intersectsSphere(this)}intersectsPlane(e){return Math.abs(e.distanceToPoint(this.center))<=this.radius}clampPoint(e,t){const n=this.center.distanceToSquared(e);return t.copy(e),n>this.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;v0.subVectors(e,this.center);const t=v0.lengthSq();if(t>this.radius*this.radius){const n=Math.sqrt(t),i=(n-this.radius)*.5;this.center.addScaledVector(v0,i/n),this.radius+=i}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(fM.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(v0.copy(e.center).add(fM)),this.expandByPoint(v0.copy(e.center).sub(fM))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}toJSON(){return{radius:this.radius,center:this.center.toArray()}}fromJSON(e){return this.radius=e.radius,this.center.fromArray(e.center),this}}const Pc=new Z,hM=new Z,P_=new Z,rf=new Z,dM=new Z,H_=new Z,pM=new Z;class jm{constructor(e=new Z,t=new Z(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,Pc)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);const n=t.dot(this.direction);return n<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,n)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=Pc.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(Pc.copy(this.origin).addScaledVector(this.direction,t),Pc.distanceToSquared(e))}distanceSqToSegment(e,t,n,i){hM.copy(e).add(t).multiplyScalar(.5),P_.copy(t).sub(e).normalize(),rf.copy(this.origin).sub(hM);const s=e.distanceTo(t)*.5,o=-this.direction.dot(P_),c=rf.dot(this.direction),f=-rf.dot(P_),d=rf.lengthSq(),m=Math.abs(1-o*o);let g,y,_,S;if(m>0)if(g=o*f-c,y=o*c-f,S=s*m,g>=0)if(y>=-S)if(y<=S){const M=1/m;g*=M,y*=M,_=g*(g+o*y+2*c)+y*(o*g+y+2*f)+d}else y=s,g=Math.max(0,-(o*y+c)),_=-g*g+y*(y+2*f)+d;else y=-s,g=Math.max(0,-(o*y+c)),_=-g*g+y*(y+2*f)+d;else y<=-S?(g=Math.max(0,-(-o*s+c)),y=g>0?-s:Math.min(Math.max(-s,-f),s),_=-g*g+y*(y+2*f)+d):y<=S?(g=0,y=Math.min(Math.max(-s,-f),s),_=y*(y+2*f)+d):(g=Math.max(0,-(o*s+c)),y=g>0?s:Math.min(Math.max(-s,-f),s),_=-g*g+y*(y+2*f)+d);else y=o>0?-s:s,g=Math.max(0,-(o*y+c)),_=-g*g+y*(y+2*f)+d;return n&&n.copy(this.origin).addScaledVector(this.direction,g),i&&i.copy(hM).addScaledVector(P_,y),_}intersectSphere(e,t){Pc.subVectors(e.center,this.origin);const n=Pc.dot(this.direction),i=Pc.dot(Pc)-n*n,s=e.radius*e.radius;if(i>s)return null;const o=Math.sqrt(s-i),c=n-o,f=n+o;return f<0?null:c<0?this.at(f,t):this.at(c,t)}intersectsSphere(e){return e.radius<0?!1:this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;const n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null}intersectPlane(e,t){const n=this.distanceToPlane(e);return n===null?null:this.at(n,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let n,i,s,o,c,f;const d=1/this.direction.x,m=1/this.direction.y,g=1/this.direction.z,y=this.origin;return d>=0?(n=(e.min.x-y.x)*d,i=(e.max.x-y.x)*d):(n=(e.max.x-y.x)*d,i=(e.min.x-y.x)*d),m>=0?(s=(e.min.y-y.y)*m,o=(e.max.y-y.y)*m):(s=(e.max.y-y.y)*m,o=(e.min.y-y.y)*m),n>o||s>i||((s>n||isNaN(n))&&(n=s),(o<i||isNaN(i))&&(i=o),g>=0?(c=(e.min.z-y.z)*g,f=(e.max.z-y.z)*g):(c=(e.max.z-y.z)*g,f=(e.min.z-y.z)*g),n>f||c>i)||((c>n||n!==n)&&(n=c),(f<i||i!==i)&&(i=f),i<0)?null:this.at(n>=0?n:i,t)}intersectsBox(e){return this.intersectBox(e,Pc)!==null}intersectTriangle(e,t,n,i,s){dM.subVectors(t,e),H_.subVectors(n,e),pM.crossVectors(dM,H_);let o=this.direction.dot(pM),c;if(o>0){if(i)return null;c=1}else if(o<0)c=-1,o=-o;else return null;rf.subVectors(this.origin,e);const f=c*this.direction.dot(H_.crossVectors(rf,H_));if(f<0)return null;const d=c*this.direction.dot(dM.cross(rf));if(d<0||f+d>o)return null;
vendor: 4,392 bytes, line 53
53const m=-c*rf.dot(pM);return m<0?null:this.at(m/o,s)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class Yt{constructor(e,t,n,i,s,o,c,f,d,m,g,y,_,S,M,b){Yt.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,t,n,i,s,o,c,f,d,m,g,y,_,S,M,b)}set(e,t,n,i,s,o,c,f,d,m,g,y,_,S,M,b){const A=this.elements;return A[0]=e,A[4]=t,A[8]=n,A[12]=i,A[1]=s,A[5]=o,A[9]=c,A[13]=f,A[2]=d,A[6]=m,A[10]=g,A[14]=y,A[3]=_,A[7]=S,A[11]=M,A[15]=b,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new Yt().fromArray(this.elements)}copy(e){const t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],this}copyPosition(e){const t=this.elements,n=e.elements;return t[12]=n[12],t[13]=n[13],t[14]=n[14],this}setFromMatrix3(e){const t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,n){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(e,t,n){return this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1),this}extractRotation(e){const t=this.elements,n=e.elements,i=1/Up.setFromMatrixColumn(e,0).length(),s=1/Up.setFromMatrixColumn(e,1).length(),o=1/Up.setFromMatrixColumn(e,2).length();return t[0]=n[0]*i,t[1]=n[1]*i,t[2]=n[2]*i,t[3]=0,t[4]=n[4]*s,t[5]=n[5]*s,t[6]=n[6]*s,t[7]=0,t[8]=n[8]*o,t[9]=n[9]*o,t[10]=n[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){const t=this.elements,n=e.x,i=e.y,s=e.z,o=Math.cos(n),c=Math.sin(n),f=Math.cos(i),d=Math.sin(i),m=Math.cos(s),g=Math.sin(s);if(e.order==="XYZ"){const y=o*m,_=o*g,S=c*m,M=c*g;t[0]=f*m,t[4]=-f*g,t[8]=d,t[1]=_+S*d,t[5]=y-M*d,t[9]=-c*f,t[2]=M-y*d,t[6]=S+_*d,t[10]=o*f}else if(e.order==="YXZ"){const y=f*m,_=f*g,S=d*m,M=d*g;t[0]=y+M*c,t[4]=S*c-_,t[8]=o*d,t[1]=o*g,t[5]=o*m,t[9]=-c,t[2]=_*c-S,t[6]=M+y*c,t[10]=o*f}else if(e.order==="ZXY"){const y=f*m,_=f*g,S=d*m,M=d*g;t[0]=y-M*c,t[4]=-o*g,t[8]=S+_*c,t[1]=_+S*c,t[5]=o*m,t[9]=M-y*c,t[2]=-o*d,t[6]=c,t[10]=o*f}else if(e.order==="ZYX"){const y=o*m,_=o*g,S=c*m,M=c*g;t[0]=f*m,t[4]=S*d-_,t[8]=y*d+M,t[1]=f*g,t[5]=M*d+y,t[9]=_*d-S,t[2]=-d,t[6]=c*f,t[10]=o*f}else if(e.order==="YZX"){const y=o*f,_=o*d,S=c*f,M=c*d;t[0]=f*m,t[4]=M-y*g,t[8]=S*g+_,t[1]=g,t[5]=o*m,t[9]=-c*m,t[2]=-d*m,t[6]=_*g+S,t[10]=y-M*g}else if(e.order==="XZY"){const y=o*f,_=o*d,S=c*f,M=c*d;t[0]=f*m,t[4]=-g,t[8]=d*m,t[1]=y*g+M,t[5]=o*m,t[9]=_*g-S,t[2]=S*g-_,t[6]=c*m,t[10]=M*g+y}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(GI,e,VI)}lookAt(e,t,n){const i=this.elements;return Ua.subVectors(e,t),Ua.lengthSq()===0&&(Ua.z=1),Ua.normalize(),sf.crossVectors(n,Ua),sf.lengthSq()===0&&(Math.abs(n.z)===1?Ua.x+=1e-4:Ua.z+=1e-4,Ua.normalize(),sf.crossVectors(n,Ua)),sf.normalize(),z_.crossVectors(Ua,sf),i[0]=sf.x,i[4]=z_.x,i[8]=Ua.x,i[1]=sf.y,i[5]=z_.y,i[9]=Ua.y,i[2]=sf.z,i[6]=z_.z,i[10]=Ua.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements,i=t.elements,s=this.elements,o=n[0],c=n[4],f=n[8],d=n[12],m=n[1],g=n[5],y=n[9],_=n[13],S=n[2],M=n[6],b=n[10],A=n[14],w=n[3],D=n[7],B=n[11],I=n[15],O=i[0],U=i[4],z=i[8],P=i[12],N=i[1],G=i[5],X=i[9],Q=i[13],te=i[2],le=i[6],k=i[10],W=i[14],ee=i[3],pe=i[7],H=i[11],re=i[15];return s[0]=o*O+c*N+f*te+d*ee,s[4]=o*U+c*G+f*le+d*pe,s[8]=o*z+c*X+f*k+d*H,s[12]=o*P+c*Q+f*W+d*re,s[1]=m*O+g*N+y*te+_*ee,s[5]=m*U+g*G+y*le+_*pe,s[9]=m*z+g*X+y*k+_*H,s[13]=m*P+g*Q+y*W+_*re,s[2]=S*O+M*N+b*te+A*ee,s[6]=S*U+M*G+b*le+A*pe,s[10]=S*z+M*X+b*k+A*H,s[14]=S*P+M*Q+b*W+A*re,s[3]=w*O+D*N+B*te+I*ee,s[7]=w*U+D*G+B*le+I*pe,s[11]=w*z+D*X+B*k+I*H,s[15]=w*P+D*Q+B*W+I*re,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){const e=this.elements,t=e[0],n=e[4],i=e[8],s=e[12],o=e[1],c=e[5],f=e[9],d=e[13],m=e[2],g=e[6],y=e[10],_=e[14],S=e[3],M=e[7],b=e[11],A=e[15];
vendor: 4,113 bytes, line 53
53return S*(+s*f*g-i*d*g-s*c*y+n*d*y+i*c*_-n*f*_)+M*(+t*f*_-t*d*y+s*o*y-i*o*_+i*d*m-s*f*m)+b*(+t*d*g-t*c*_-s*o*g+n*o*_+s*c*m-n*d*m)+A*(-i*c*m-t*f*g+t*c*y+i*o*g-n*o*y+n*f*m)}transpose(){const e=this.elements;let t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,n){const i=this.elements;return e.isVector3?(i[12]=e.x,i[13]=e.y,i[14]=e.z):(i[12]=e,i[13]=t,i[14]=n),this}invert(){const e=this.elements,t=e[0],n=e[1],i=e[2],s=e[3],o=e[4],c=e[5],f=e[6],d=e[7],m=e[8],g=e[9],y=e[10],_=e[11],S=e[12],M=e[13],b=e[14],A=e[15],w=g*b*d-M*y*d+M*f*_-c*b*_-g*f*A+c*y*A,D=S*y*d-m*b*d-S*f*_+o*b*_+m*f*A-o*y*A,B=m*M*d-S*g*d+S*c*_-o*M*_-m*c*A+o*g*A,I=S*g*f-m*M*f-S*c*y+o*M*y+m*c*b-o*g*b,O=t*w+n*D+i*B+s*I;if(O===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const U=1/O;return e[0]=w*U,e[1]=(M*y*s-g*b*s-M*i*_+n*b*_+g*i*A-n*y*A)*U,e[2]=(c*b*s-M*f*s+M*i*d-n*b*d-c*i*A+n*f*A)*U,e[3]=(g*f*s-c*y*s-g*i*d+n*y*d+c*i*_-n*f*_)*U,e[4]=D*U,e[5]=(m*b*s-S*y*s+S*i*_-t*b*_-m*i*A+t*y*A)*U,e[6]=(S*f*s-o*b*s-S*i*d+t*b*d+o*i*A-t*f*A)*U,e[7]=(o*y*s-m*f*s+m*i*d-t*y*d-o*i*_+t*f*_)*U,e[8]=B*U,e[9]=(S*g*s-m*M*s-S*n*_+t*M*_+m*n*A-t*g*A)*U,e[10]=(o*M*s-S*c*s+S*n*d-t*M*d-o*n*A+t*c*A)*U,e[11]=(m*c*s-o*g*s-m*n*d+t*g*d+o*n*_-t*c*_)*U,e[12]=I*U,e[13]=(m*M*i-S*g*i+S*n*y-t*M*y-m*n*b+t*g*b)*U,e[14]=(S*c*i-o*M*i-S*n*f+t*M*f+o*n*b-t*c*b)*U,e[15]=(o*g*i-m*c*i+m*n*f-t*g*f-o*n*y+t*c*y)*U,this}scale(e){const t=this.elements,n=e.x,i=e.y,s=e.z;return t[0]*=n,t[4]*=i,t[8]*=s,t[1]*=n,t[5]*=i,t[9]*=s,t[2]*=n,t[6]*=i,t[10]*=s,t[3]*=n,t[7]*=i,t[11]*=s,this}getMaxScaleOnAxis(){const e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],i=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,i))}makeTranslation(e,t,n){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,t,0,0,1,n,0,0,0,1),this}makeRotationX(e){const t=Math.cos(e),n=Math.sin(e);return this.set(1,0,0,0,0,t,-n,0,0,n,t,0,0,0,0,1),this}makeRotationY(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,0,n,0,0,1,0,0,-n,0,t,0,0,0,0,1),this}makeRotationZ(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,0,n,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){const n=Math.cos(t),i=Math.sin(t),s=1-n,o=e.x,c=e.y,f=e.z,d=s*o,m=s*c;return this.set(d*o+n,d*c-i*f,d*f+i*c,0,d*c+i*f,m*c+n,m*f-i*o,0,d*f-i*c,m*f+i*o,s*f*f+n,0,0,0,0,1),this}makeScale(e,t,n){return this.set(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1),this}makeShear(e,t,n,i,s,o){return this.set(1,n,s,0,e,1,o,0,t,i,1,0,0,0,0,1),this}compose(e,t,n){const i=this.elements,s=t._x,o=t._y,c=t._z,f=t._w,d=s+s,m=o+o,g=c+c,y=s*d,_=s*m,S=s*g,M=o*m,b=o*g,A=c*g,w=f*d,D=f*m,B=f*g,I=n.x,O=n.y,U=n.z;return i[0]=(1-(M+A))*I,i[1]=(_+B)*I,i[2]=(S-D)*I,i[3]=0,i[4]=(_-B)*O,i[5]=(1-(y+A))*O,i[6]=(b+w)*O,i[7]=0,i[8]=(S+D)*U,i[9]=(b-w)*U,i[10]=(1-(y+M))*U,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,this}decompose(e,t,n){const i=this.elements;let s=Up.set(i[0],i[1],i[2]).length();const o=Up.set(i[4],i[5],i[6]).length(),c=Up.set(i[8],i[9],i[10]).length();this.determinant()<0&&(s=-s),e.x=i[12],e.y=i[13],e.z=i[14],il.copy(this);const d=1/s,m=1/o,g=1/c;return il.elements[0]*=d,il.elements[1]*=d,il.elements[2]*=d,il.elements[4]*=m,il.elements[5]*=m,il.elements[6]*=m,il.elements[8]*=g,il.elements[9]*=g,il.elements[10]*=g,t.setFromRotationMatrix(il),n.x=s,n.y=o,n.z=c,this}makePerspective(e,t,n,i,s,o,c=Xa,f=!1){const d=this.elements,m=2*s/(t-e),g=2*s/(n-i),y=(t+e)/(t-e),_=(n+i)/(n-i);let S,M;if(f)S=s/(o-s),M=o*s/(o-s);else if(c===Xa)S=-(o+s)/(o-s),M=-2*o*s/(o-s);else if(c===Rm)S=-o/(o-s),M=-o*s/(o-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+c);return d[0]=m,d[4]=0,d[8]=y,d[12]=0,d[1]=0,d[5]=g,d[9]=_,d[13]=0,d[2]=0,d[6]=0,d[10]=S,d[14]=M,d[3]=0,d[7]=0,d[11]=-1,d[15]=0,this}makeOrthographic(e,t,n,i,s,o,c=Xa,f=!1){const d=this.elements,m=2/(t-e),g=2/(n-i),y=-(t+e)/(t-e),_=-(n+i)/(n-i);let S,M;if(f)S=1/(o-s),M=o/(o-s);else if(c===Xa)S=-2/(o-s),M=-(o+s)/(o-s);else if(c===Rm)S=-1/(o-s),M=-s/(o-s);
vendor: 5,360 bytes, line 53
53else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+c);return d[0]=m,d[4]=0,d[8]=0,d[12]=y,d[1]=0,d[5]=g,d[9]=0,d[13]=_,d[2]=0,d[6]=0,d[10]=S,d[14]=M,d[3]=0,d[7]=0,d[11]=0,d[15]=1,this}equals(e){const t=this.elements,n=e.elements;for(let i=0;i<16;i++)if(t[i]!==n[i])return!1;return!0}fromArray(e,t=0){for(let n=0;n<16;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e[t+9]=n[9],e[t+10]=n[10],e[t+11]=n[11],e[t+12]=n[12],e[t+13]=n[13],e[t+14]=n[14],e[t+15]=n[15],e}}const Up=new Z,il=new Yt,GI=new Z(0,0,0),VI=new Z(1,1,1),sf=new Z,z_=new Z,Ua=new Z,ww=new Yt,Rw=new Ss;class Ja{constructor(e=0,t=0,n=0,i=Ja.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=t,this._z=n,this._order=i}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,n,i=this._order){return this._x=e,this._y=t,this._z=n,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,n=!0){const i=e.elements,s=i[0],o=i[4],c=i[8],f=i[1],d=i[5],m=i[9],g=i[2],y=i[6],_=i[10];switch(t){case"XYZ":this._y=Math.asin(Zt(c,-1,1)),Math.abs(c)<.9999999?(this._x=Math.atan2(-m,_),this._z=Math.atan2(-o,s)):(this._x=Math.atan2(y,d),this._z=0);break;case"YXZ":this._x=Math.asin(-Zt(m,-1,1)),Math.abs(m)<.9999999?(this._y=Math.atan2(c,_),this._z=Math.atan2(f,d)):(this._y=Math.atan2(-g,s),this._z=0);break;case"ZXY":this._x=Math.asin(Zt(y,-1,1)),Math.abs(y)<.9999999?(this._y=Math.atan2(-g,_),this._z=Math.atan2(-o,d)):(this._y=0,this._z=Math.atan2(f,s));break;case"ZYX":this._y=Math.asin(-Zt(g,-1,1)),Math.abs(g)<.9999999?(this._x=Math.atan2(y,_),this._z=Math.atan2(f,s)):(this._x=0,this._z=Math.atan2(-o,d));break;case"YZX":this._z=Math.asin(Zt(f,-1,1)),Math.abs(f)<.9999999?(this._x=Math.atan2(-m,d),this._y=Math.atan2(-g,s)):(this._x=0,this._y=Math.atan2(c,_));break;case"XZY":this._z=Math.asin(-Zt(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(y,d),this._y=Math.atan2(c,s)):(this._x=Math.atan2(-m,_),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,n===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,n){return ww.makeRotationFromQuaternion(e),this.setFromRotationMatrix(ww,t,n)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return Rw.setFromEuler(this),this.setFromQuaternion(Rw,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}Ja.DEFAULT_ORDER="XYZ";class Dm{constructor(){this.mask=1}set(e){this.mask=(1<<e|0)>>>0}enable(e){this.mask|=1<<e|0}enableAll(){this.mask=-1}toggle(e){this.mask^=1<<e|0}disable(e){this.mask&=~(1<<e|0)}disableAll(){this.mask=0}test(e){return(this.mask&e.mask)!==0}isEnabled(e){return(this.mask&(1<<e|0))!==0}}let kI=0;const Bw=new Z,Ip=new Ss,Hc=new Yt,F_=new Z,y0=new Z,XI=new Z,YI=new Ss,Dw=new Z(1,0,0),Ow=new Z(0,1,0),Nw=new Z(0,0,1),Lw={type:"added"},jI={type:"removed"},Pp={type:"childadded",child:null},mM={type:"childremoved",child:null};class Pn extends lc{constructor(){super(),this.isObject3D=!0,Object.defineProperty(this,"id",{value:kI++}),this.uuid=qa(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=Pn.DEFAULT_UP.clone();const e=new Z,t=new Ja,n=new Ss,i=new Z(1,1,1);function s(){n.setFromEuler(t,!1)}function o(){t.setFromQuaternion(n,void 0,!1)}t._onChange(s),n._onChange(o),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:e},rotation:{configurable:!0,enumerable:!0,value:t},quaternion:{configurable:!0,enumerable:!0,value:n},scale:{configurable:!0,enumerable:!0,value:i},modelViewMatrix:{value:new Yt},normalMatrix:{value:new un}}),this.matrix=new Yt,this.matrixWorld=new Yt,this.matrixAutoUpdate=Pn.DEFAULT_MATRIX_AUTO_UPDATE,this.matrixWorldAutoUpdate=Pn.DEFAULT_MATRIX_WORLD_AUTO_UPDATE,this.matrixWorldNeedsUpdate=!1,this.layers=new Dm,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.animations=[],this.customDepthMaterial=void 0,this.customDistanceMaterial=void 0,this.userData={}}onBeforeShadow(){}onAfterShadow(){}onBeforeRender(){}onAfterRender(){}applyMatrix4(e){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(e),this.matrix.decompose(this.position,this.quaternion,this.scale)}applyQuaternion(e){return this.quaternion.premultiply(e),this}setRotationFromAxisAngle(e,t){this.quaternion.setFromAxisAngle(e,t)}setRotationFromEuler(e){this.quaternion.setFromEuler(e,!0)}
vendor: 4,289 bytes, line 53
53setRotationFromMatrix(e){this.quaternion.setFromRotationMatrix(e)}setRotationFromQuaternion(e){this.quaternion.copy(e)}rotateOnAxis(e,t){return Ip.setFromAxisAngle(e,t),this.quaternion.multiply(Ip),this}rotateOnWorldAxis(e,t){return Ip.setFromAxisAngle(e,t),this.quaternion.premultiply(Ip),this}rotateX(e){return this.rotateOnAxis(Dw,e)}rotateY(e){return this.rotateOnAxis(Ow,e)}rotateZ(e){return this.rotateOnAxis(Nw,e)}translateOnAxis(e,t){return Bw.copy(e).applyQuaternion(this.quaternion),this.position.add(Bw.multiplyScalar(t)),this}translateX(e){return this.translateOnAxis(Dw,e)}translateY(e){return this.translateOnAxis(Ow,e)}translateZ(e){return this.translateOnAxis(Nw,e)}localToWorld(e){return this.updateWorldMatrix(!0,!1),e.applyMatrix4(this.matrixWorld)}worldToLocal(e){return this.updateWorldMatrix(!0,!1),e.applyMatrix4(Hc.copy(this.matrixWorld).invert())}lookAt(e,t,n){e.isVector3?F_.copy(e):F_.set(e,t,n);const i=this.parent;this.updateWorldMatrix(!0,!1),y0.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?Hc.lookAt(y0,F_,this.up):Hc.lookAt(F_,y0,this.up),this.quaternion.setFromRotationMatrix(Hc),i&&(Hc.extractRotation(i.matrixWorld),Ip.setFromRotationMatrix(Hc),this.quaternion.premultiply(Ip.invert()))}add(e){if(arguments.length>1){for(let t=0;t<arguments.length;t++)this.add(arguments[t]);return this}return e===this?(console.error("THREE.Object3D.add: object can't be added as a child of itself.",e),this):(e&&e.isObject3D?(e.removeFromParent(),e.parent=this,this.children.push(e),e.dispatchEvent(Lw),Pp.child=e,this.dispatchEvent(Pp),Pp.child=null):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",e),this)}remove(e){if(arguments.length>1){for(let n=0;n<arguments.length;n++)this.remove(arguments[n]);return this}const t=this.children.indexOf(e);return t!==-1&&(e.parent=null,this.children.splice(t,1),e.dispatchEvent(jI),mM.child=e,this.dispatchEvent(mM),mM.child=null),this}removeFromParent(){const e=this.parent;return e!==null&&e.remove(this),this}clear(){return this.remove(...this.children)}attach(e){return this.updateWorldMatrix(!0,!1),Hc.copy(this.matrixWorld).invert(),e.parent!==null&&(e.parent.updateWorldMatrix(!0,!1),Hc.multiply(e.parent.matrixWorld)),e.applyMatrix4(Hc),e.removeFromParent(),e.parent=this,this.children.push(e),e.updateWorldMatrix(!1,!0),e.dispatchEvent(Lw),Pp.child=e,this.dispatchEvent(Pp),Pp.child=null,this}getObjectById(e){return this.getObjectByProperty("id",e)}getObjectByName(e){return this.getObjectByProperty("name",e)}getObjectByProperty(e,t){if(this[e]===t)return this;for(let n=0,i=this.children.length;n<i;n++){const o=this.children[n].getObjectByProperty(e,t);if(o!==void 0)return o}}getObjectsByProperty(e,t,n=[]){this[e]===t&&n.push(this);const i=this.children;for(let s=0,o=i.length;s<o;s++)i[s].getObjectsByProperty(e,t,n);return n}getWorldPosition(e){return this.updateWorldMatrix(!0,!1),e.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(y0,e,XI),e}getWorldScale(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(y0,YI,e),e}getWorldDirection(e){this.updateWorldMatrix(!0,!1);const t=this.matrixWorld.elements;return e.set(t[8],t[9],t[10]).normalize()}raycast(){}traverse(e){e(this);const t=this.children;for(let n=0,i=t.length;n<i;n++)t[n].traverse(e)}traverseVisible(e){if(this.visible===!1)return;e(this);const t=this.children;for(let n=0,i=t.length;n<i;n++)t[n].traverseVisible(e)}traverseAncestors(e){const t=this.parent;t!==null&&(e(t),t.traverseAncestors(e))}updateMatrix(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0}updateMatrixWorld(e){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||e)&&(this.matrixWorldAutoUpdate===!0&&(this.parent===null?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix)),this.matrixWorldNeedsUpdate=!1,e=!0);const t=this.children;for(let n=0,i=t.length;n<i;n++)t[n].updateMatrixWorld(e)}updateWorldMatrix(e,t){const n=this.parent;if(e===!0&&n!==null&&n.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),this.matrixWorldAutoUpdate===!0&&(this.parent===null?this.matrixWorld.copy(this.matrix
vendor: 11,680 bytes, line 53
53):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix)),t===!0){const i=this.children;for(let s=0,o=i.length;s<o;s++)i[s].updateWorldMatrix(!1,!0)}}toJSON(e){const t=e===void 0||typeof e=="string",n={};t&&(e={geometries:{},materials:{},textures:{},images:{},shapes:{},skeletons:{},animations:{},nodes:{}},n.metadata={version:4.7,type:"Object",generator:"Object3D.toJSON"});const i={};i.uuid=this.uuid,i.type=this.type,this.name!==""&&(i.name=this.name),this.castShadow===!0&&(i.castShadow=!0),this.receiveShadow===!0&&(i.receiveShadow=!0),this.visible===!1&&(i.visible=!1),this.frustumCulled===!1&&(i.frustumCulled=!1),this.renderOrder!==0&&(i.renderOrder=this.renderOrder),Object.keys(this.userData).length>0&&(i.userData=this.userData),i.layers=this.layers.mask,i.matrix=this.matrix.toArray(),i.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(i.matrixAutoUpdate=!1),this.isInstancedMesh&&(i.type="InstancedMesh",i.count=this.count,i.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(i.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(i.type="BatchedMesh",i.perObjectFrustumCulled=this.perObjectFrustumCulled,i.sortObjects=this.sortObjects,i.drawRanges=this._drawRanges,i.reservedRanges=this._reservedRanges,i.geometryInfo=this._geometryInfo.map(c=>({...c,boundingBox:c.boundingBox?c.boundingBox.toJSON():void 0,boundingSphere:c.boundingSphere?c.boundingSphere.toJSON():void 0})),i.instanceInfo=this._instanceInfo.map(c=>({...c})),i.availableInstanceIds=this._availableInstanceIds.slice(),i.availableGeometryIds=this._availableGeometryIds.slice(),i.nextIndexStart=this._nextIndexStart,i.nextVertexStart=this._nextVertexStart,i.geometryCount=this._geometryCount,i.maxInstanceCount=this._maxInstanceCount,i.maxVertexCount=this._maxVertexCount,i.maxIndexCount=this._maxIndexCount,i.geometryInitialized=this._geometryInitialized,i.matricesTexture=this._matricesTexture.toJSON(e),i.indirectTexture=this._indirectTexture.toJSON(e),this._colorsTexture!==null&&(i.colorsTexture=this._colorsTexture.toJSON(e)),this.boundingSphere!==null&&(i.boundingSphere=this.boundingSphere.toJSON()),this.boundingBox!==null&&(i.boundingBox=this.boundingBox.toJSON()));function s(c,f){return c[f.uuid]===void 0&&(c[f.uuid]=f.toJSON(e)),f.uuid}if(this.isScene)this.background&&(this.background.isColor?i.background=this.background.toJSON():this.background.isTexture&&(i.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(i.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){i.geometry=s(e.geometries,this.geometry);const c=this.geometry.parameters;if(c!==void 0&&c.shapes!==void 0){const f=c.shapes;if(Array.isArray(f))for(let d=0,m=f.length;d<m;d++){const g=f[d];s(e.shapes,g)}else s(e.shapes,f)}}if(this.isSkinnedMesh&&(i.bindMode=this.bindMode,i.bindMatrix=this.bindMatrix.toArray(),this.skeleton!==void 0&&(s(e.skeletons,this.skeleton),i.skeleton=this.skeleton.uuid)),this.material!==void 0)if(Array.isArray(this.material)){const c=[];for(let f=0,d=this.material.length;f<d;f++)c.push(s(e.materials,this.material[f]));i.material=c}else i.material=s(e.materials,this.material);if(this.children.length>0){i.children=[];for(let c=0;c<this.children.length;c++)i.children.push(this.children[c].toJSON(e).object)}if(this.animations.length>0){i.animations=[];for(let c=0;c<this.animations.length;c++){const f=this.animations[c];i.animations.push(s(e.animations,f))}}if(t){const c=o(e.geometries),f=o(e.materials),d=o(e.textures),m=o(e.images),g=o(e.shapes),y=o(e.skeletons),_=o(e.animations),S=o(e.nodes);c.length>0&&(n.geometries=c),f.length>0&&(n.materials=f),d.length>0&&(n.textures=d),m.length>0&&(n.images=m),g.length>0&&(n.shapes=g),y.length>0&&(n.skeletons=y),_.length>0&&(n.animations=_),S.length>0&&(n.nodes=S)}return n.object=i,n;function o(c){const f=[];for(const d in c){const m=c[d];delete m.metadata,f.push(m)}return f}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let n=0;n<e.children.length;n++){const i=e.children[n];this.add(i.clone())}return this}}Pn.DEFAULT_UP=new Z(0,1,0);Pn.DEFAULT_MATRIX_AUTO_UPDATE=!0;Pn.DEFAULT_MATRIX_WORLD_AUTO_UPDATE=!0;const rl=new Z,zc=new Z,gM=new Z,Fc=new Z,Hp=new Z,zp=new Z,Uw=new Z,vM=new Z,yM=new Z,_M=new Z,xM=new Gn,SM=new Gn,AM=new Gn;class ga{constructor(e=new Z,t=new Z,n=new Z){this.a=e,this.b=t,this.c=n}static getNormal(e,t,n,i){i.subVectors(n,t),rl.subVectors(e,t),i.cross(rl);const s=i.lengthSq();return s>0?i.multiplyScalar(1/Math.sqrt(s)):i.set(0,0,0)}static getBarycoord(e,t,n,i,s){rl.subVectors(i,t),zc.subVectors(n,t),gM.subVectors(e,t);const o=rl.dot(rl),c=rl.dot(zc),f=rl.dot(gM),d=zc.dot(zc),m=zc.dot(gM),g=o*d-c*c;if(g===0)return s.set(0,0,0),null;const y=1/g,_=(d*f-c*m)*y,S=(o*m-c*f)*y;return s.set(1-_-S,S,_)}static containsPoint(e,t,n,i){return this.getBarycoord(e,t,n,i,Fc)===null?!1:Fc.x>=0&&Fc.y>=0&&Fc.x+Fc.y<=1}static getInterpolation(e,t,n,i,s,o,c,f){return this.getBarycoord(e,t,n,i,Fc)===null?(f.x=0,f.y=0,"z"in f&&(f.z=0),"w"in f&&(f.w=0),null):(f.setScalar(0),f.addScaledVector(s,Fc.x),f.addScaledVector(o,Fc.y),f.addScaledVector(c,Fc.z),f)}static getInterpolatedAttribute(e,t,n,i,s,o){return xM.setScalar(0),SM.setScalar(0),AM.setScalar(0),xM.fromBufferAttribute(e,t),SM.fromBufferAttribute(e,n),AM.fromBufferAttribute(e,i),o.setScalar(0),o.addScaledVector(xM,s.x),o.addScaledVector(SM,s.y),o.addScaledVector(AM,s.z),o}static isFrontFacing(e,t,n,i){return rl.subVectors(n,t),zc.subVectors(e,t),rl.cross(zc).dot(i)<0}set(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this}setFromPointsAndIndices(e,t,n,i){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[i]),this}setFromAttributeAndIndices(e,t,n,i){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,n),this.c.fromBufferAttribute(e,i),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return rl.subVectors(this.c,this.b),zc.subVectors(this.a,this.b),rl.cross(zc).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return ga.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return ga.getBarycoord(e,this.a,this.b,this.c,t)}getInterpolation(e,t,n,i,s){return ga.getInterpolation(e,this.a,this.b,this.c,t,n,i,s)}containsPoint(e){return ga.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return ga.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){const n=this.a,i=this.b,s=this.c;let o,c;Hp.subVectors(i,n),zp.subVectors(s,n),vM.subVectors(e,n);const f=Hp.dot(vM),d=zp.dot(vM);if(f<=0&&d<=0)return t.copy(n);yM.subVectors(e,i);const m=Hp.dot(yM),g=zp.dot(yM);if(m>=0&&g<=m)return t.copy(i);const y=f*g-m*d;if(y<=0&&f>=0&&m<=0)return o=f/(f-m),t.copy(n).addScaledVector(Hp,o);_M.subVectors(e,s);const _=Hp.dot(_M),S=zp.dot(_M);if(S>=0&&_<=S)return t.copy(s);const M=_*d-f*S;if(M<=0&&d>=0&&S<=0)return c=d/(d-S),t.copy(n).addScaledVector(zp,c);const b=m*S-_*g;if(b<=0&&g-m>=0&&_-S>=0)return Uw.subVectors(s,i),c=(g-m)/(g-m+(_-S)),t.copy(i).addScaledVector(Uw,c);const A=1/(b+M+y);return o=M*A,c=y*A,t.copy(n).addScaledVector(Hp,o).addScaledVector(zp,c)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const qD={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},af={h:0,s:0,l:0},G_={h:0,s:0,l:0};function bM(r,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?r+(e-r)*6*t:t<1/2?e:t<2/3?r+(e-r)*6*(2/3-t):r}class dt{constructor(e,t,n){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,t,n)}set(e,t,n){if(t===void 0&&n===void 0){const i=e;i&&i.isColor?this.copy(i):typeof i=="number"?this.setHex(i):typeof i=="string"&&this.setStyle(i)}else this.setRGB(e,t,n);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=vs){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,Un.colorSpaceToWorking(this,t),this}setRGB(e,t,n,i=Un.workingColorSpace){return this.r=e,this.g=t,this.b=n,Un.colorSpaceToWorking(this,i),this}setHSL(e,t,n,i=Un.workingColorSpace){if(e=nT(e,1),t=Zt(t,0,1),n=Zt(n,0,1),t===0)this.r=this.g=this.b=n;else{const s=n<=.5?n*(1+t):n+t-n*t,o=2*n-s;
vendor: 6,062 bytes, line 53
53this.r=bM(o,s,e+1/3),this.g=bM(o,s,e),this.b=bM(o,s,e-1/3)}return Un.colorSpaceToWorking(this,i),this}setStyle(e,t=vs){function n(s){s!==void 0&&parseFloat(s)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let i;if(i=/^(\w+)\(([^\)]*)\)/.exec(e)){let s;const o=i[1],c=i[2];switch(o){case"rgb":case"rgba":if(s=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(c))return n(s[4]),this.setRGB(Math.min(255,parseInt(s[1],10))/255,Math.min(255,parseInt(s[2],10))/255,Math.min(255,parseInt(s[3],10))/255,t);if(s=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(c))return n(s[4]),this.setRGB(Math.min(100,parseInt(s[1],10))/100,Math.min(100,parseInt(s[2],10))/100,Math.min(100,parseInt(s[3],10))/100,t);break;case"hsl":case"hsla":if(s=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(c))return n(s[4]),this.setHSL(parseFloat(s[1])/360,parseFloat(s[2])/100,parseFloat(s[3])/100,t);break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(i=/^\#([A-Fa-f\d]+)$/.exec(e)){const s=i[1],o=s.length;if(o===3)return this.setRGB(parseInt(s.charAt(0),16)/15,parseInt(s.charAt(1),16)/15,parseInt(s.charAt(2),16)/15,t);if(o===6)return this.setHex(parseInt(s,16),t);console.warn("THREE.Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,t);return this}setColorName(e,t=vs){const n=qD[e.toLowerCase()];return n!==void 0?this.setHex(n,t):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=$c(e.r),this.g=$c(e.g),this.b=$c(e.b),this}copyLinearToSRGB(e){return this.r=pm(e.r),this.g=pm(e.g),this.b=pm(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=vs){return Un.workingToColorSpace(ds.copy(this),e),Math.round(Zt(ds.r*255,0,255))*65536+Math.round(Zt(ds.g*255,0,255))*256+Math.round(Zt(ds.b*255,0,255))}getHexString(e=vs){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=Un.workingColorSpace){Un.workingToColorSpace(ds.copy(this),t);const n=ds.r,i=ds.g,s=ds.b,o=Math.max(n,i,s),c=Math.min(n,i,s);let f,d;const m=(c+o)/2;if(c===o)f=0,d=0;else{const g=o-c;switch(d=m<=.5?g/(o+c):g/(2-o-c),o){case n:f=(i-s)/g+(i<s?6:0);break;case i:f=(s-n)/g+2;break;case s:f=(n-i)/g+4;break}f/=6}return e.h=f,e.s=d,e.l=m,e}getRGB(e,t=Un.workingColorSpace){return Un.workingToColorSpace(ds.copy(this),t),e.r=ds.r,e.g=ds.g,e.b=ds.b,e}getStyle(e=vs){Un.workingToColorSpace(ds.copy(this),e);const t=ds.r,n=ds.g,i=ds.b;return e!==vs?`color(${e} ${t.toFixed(3)} ${n.toFixed(3)} ${i.toFixed(3)})`:`rgb(${Math.round(t*255)},${Math.round(n*255)},${Math.round(i*255)})`}offsetHSL(e,t,n){return this.getHSL(af),this.setHSL(af.h+e,af.s+t,af.l+n)}add(e){return this.r+=e.r,this.g+=e.g,this.b+=e.b,this}addColors(e,t){return this.r=e.r+t.r,this.g=e.g+t.g,this.b=e.b+t.b,this}addScalar(e){return this.r+=e,this.g+=e,this.b+=e,this}sub(e){return this.r=Math.max(0,this.r-e.r),this.g=Math.max(0,this.g-e.g),this.b=Math.max(0,this.b-e.b),this}multiply(e){return this.r*=e.r,this.g*=e.g,this.b*=e.b,this}multiplyScalar(e){return this.r*=e,this.g*=e,this.b*=e,this}lerp(e,t){return this.r+=(e.r-this.r)*t,this.g+=(e.g-this.g)*t,this.b+=(e.b-this.b)*t,this}lerpColors(e,t,n){return this.r=e.r+(t.r-e.r)*n,this.g=e.g+(t.g-e.g)*n,this.b=e.b+(t.b-e.b)*n,this}lerpHSL(e,t){this.getHSL(af),e.getHSL(G_);const n=ev(af.h,G_.h,t),i=ev(af.s,G_.s,t),s=ev(af.l,G_.l,t);return this.setHSL(n,i,s),this}setFromVector3(e){return this.r=e.x,this.g=e.y,this.b=e.z,this}applyMatrix3(e){const t=this.r,n=this.g,i=this.b,s=e.elements;return this.r=s[0]*t+s[3]*n+s[6]*i,this.g=s[1]*t+s[4]*n+s[7]*i,this.b=s[2]*t+s[5]*n+s[8]*i,this}equals(e){return e.r===this.r&&e.g===this.g&&e.b===this.b}fromArray(e,t=0){return this.r=e[t],this.g=e[t+1],this.b=e[t+2],this}toArray(e=[],t=0){return e[t]=this.r,e[t+1]=this.g,e[t+2]=this.b,e}fromBufferAttribute(e,t){return this.r=e.getX(t),this.g=e.getY(t),this.b=e.getZ(t),this}toJSON(){return this.getHex()}*[Symbol.iterator](){yield this.r,yield this.g,yield this.b}}const ds=new dt;dt.NAMES=qD;let qI=0;class Rr extends lc{constructor(){super(),this.isMaterial=!0,Object.defineProperty(this,"id",{value:qI++}),this.uuid=qa(),this.name="",this.type="Material",this.blending=sd,this.side=rc,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.alphaHash=!1,this.blendSrc=bS,this.blendDst=MS,this.blendEquation=hf,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.blendColor=new dt(0,0,0),this.blendAlpha=0,this.depthFunc=md,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=W1,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=Yh,this.stencilZFail=Yh,this.stencilZPass=Yh,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.forceSinglePass=!1,this.allowOverride=!0,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(e){this._alphaTest>0!=e>0&&this.version++,this._alphaTest=e}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const t in e){const n=e[t];if(n===void 0){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}const i=this[t];if(i===void 0){console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`);continue}i&&i.isColor?i.set(n):i&&i.isVector3&&n&&n.isVector3?i.copy(n):this[t]=n}}toJSON(e){const t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});const n={metadata:{version:4.7,type:"Material",generator:"Material.toJSON"}};
vendor: 8,832 bytes, line 53
53n.uuid=this.uuid,n.type=this.type,this.name!==""&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),this.roughness!==void 0&&(n.roughness=this.roughness),this.metalness!==void 0&&(n.metalness=this.metalness),this.sheen!==void 0&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity!==void 0&&this.emissiveIntensity!==1&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(n.shininess=this.shininess),this.clearcoat!==void 0&&(n.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.dispersion!==void 0&&(n.dispersion=this.dispersion),this.iridescence!==void 0&&(n.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(n.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(n.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(n.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(n.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(n.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(n.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(n.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(e).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(e).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(e).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(e).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(e).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(n.combine=this.combine)),this.envMapRotation!==void 0&&(n.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(n.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(n.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(n.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(n.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(n.size=this.size),this.shadowSide!==null&&(n.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==sd&&(n.blending=this.blending),this.side!==rc&&(n.side=this.side),this.vertexColors===!0&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),this.transparent===!0&&(n.transparent=!0),this.blendSrc!==bS&&(n.blendSrc=this.blendSrc),this.blendDst!==MS&&(n.blendDst=this.blendDst),this.blendEquation!==hf&&(n.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(n.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(n.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(n.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(n.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(n.blendAlpha=this.blendAlpha),this.depthFunc!==md&&(n.depthFunc=this.depthFunc),this.depthTest===!1&&(n.depthTest=this.depthTest),this.depthWrite===!1&&(n.depthWrite=this.depthWrite),this.colorWrite===!1&&(n.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(n.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==W1&&(n.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(n.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(n.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==Yh&&(n.stencilFail=this.stencilFail),this.stencilZFail!==Yh&&(n.stencilZFail=this.stencilZFail),this.stencilZPass!==Yh&&(n.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(n.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(n.rotation=this.rotation),this.polygonOffset===!0&&(n.polygonOffset=!0),this.polygonOffsetFactor!==0&&(n.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(n.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(n.linewidth=this.linewidth),this.dashSize!==void 0&&(n.dashSize=this.dashSize),this.gapSize!==void 0&&(n.gapSize=this.gapSize),this.scale!==void 0&&(n.scale=this.scale),this.dithering===!0&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),this.alphaHash===!0&&(n.alphaHash=!0),this.alphaToCoverage===!0&&(n.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(n.premultipliedAlpha=!0),this.forceSinglePass===!0&&(n.forceSinglePass=!0),this.wireframe===!0&&(n.wireframe=!0),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(n.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(n.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(n.flatShading=!0),this.visible===!1&&(n.visible=!1),this.toneMapped===!1&&(n.toneMapped=!1),this.fog===!1&&(n.fog=!1),Object.keys(this.userData).length>0&&(n.userData=this.userData);function i(s){const o=[];for(const c in s){const f=s[c];delete f.metadata,o.push(f)}return o}if(t){const s=i(e.textures),o=i(e.images);s.length>0&&(n.textures=s),o.length>0&&(n.images=o)}return n}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const t=e.clippingPlanes;let n=null;if(t!==null){const i=t.length;n=new Array(i);for(let s=0;s!==i;++s)n[s]=t[s].clone()}return this.clippingPlanes=n,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipSh
vendor: 4,184 bytes, line 53
53adows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}}class Ya extends Rr{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new dt(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Ja,this.combine=Gv,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}const Wc=WI();function WI(){const r=new ArrayBuffer(4),e=new Float32Array(r),t=new Uint32Array(r),n=new Uint32Array(512),i=new Uint32Array(512);for(let f=0;f<256;++f){const d=f-127;d<-27?(n[f]=0,n[f|256]=32768,i[f]=24,i[f|256]=24):d<-14?(n[f]=1024>>-d-14,n[f|256]=1024>>-d-14|32768,i[f]=-d-1,i[f|256]=-d-1):d<=15?(n[f]=d+15<<10,n[f|256]=d+15<<10|32768,i[f]=13,i[f|256]=13):d<128?(n[f]=31744,n[f|256]=64512,i[f]=24,i[f|256]=24):(n[f]=31744,n[f|256]=64512,i[f]=13,i[f|256]=13)}const s=new Uint32Array(2048),o=new Uint32Array(64),c=new Uint32Array(64);for(let f=1;f<1024;++f){let d=f<<13,m=0;for(;(d&8388608)===0;)d<<=1,m-=8388608;d&=-8388609,m+=947912704,s[f]=d|m}for(let f=1024;f<2048;++f)s[f]=939524096+(f-1024<<13);for(let f=1;f<31;++f)o[f]=f<<23;o[31]=1199570944,o[32]=2147483648;for(let f=33;f<63;++f)o[f]=2147483648+(f-32<<23);o[63]=3347054592;for(let f=1;f<64;++f)f!==32&&(c[f]=1024);return{floatView:e,uint32View:t,baseTable:n,shiftTable:i,mantissaTable:s,exponentTable:o,offsetTable:c}}function pa(r){Math.abs(r)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),r=Zt(r,-65504,65504),Wc.floatView[0]=r;const e=Wc.uint32View[0],t=e>>23&511;return Wc.baseTable[t]+((e&8388607)>>Wc.shiftTable[t])}function H0(r){const e=r>>10;return Wc.uint32View[0]=Wc.mantissaTable[Wc.offsetTable[e]+(r&1023)]+Wc.exponentTable[e],Wc.floatView[0]}class JI{static toHalfFloat(e){return pa(e)}static fromHalfFloat(e){return H0(e)}}const cr=new Z,V_=new qe;let KI=0;class Vn{constructor(e,t,n=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,Object.defineProperty(this,"id",{value:KI++}),this.name="",this.array=e,this.itemSize=t,this.count=e!==void 0?e.length/t:0,this.normalized=n,this.usage=Sv,this.updateRanges=[],this.gpuType=va,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,t,n){e*=this.itemSize,n*=t.itemSize;for(let i=0,s=this.itemSize;i<s;i++)this.array[e+i]=t.array[n+i];return this}copyArray(e){return this.array.set(e),this}applyMatrix3(e){if(this.itemSize===2)for(let t=0,n=this.count;t<n;
vendor: 5,351 bytes, line 53
53t++)V_.fromBufferAttribute(this,t),V_.applyMatrix3(e),this.setXY(t,V_.x,V_.y);else if(this.itemSize===3)for(let t=0,n=this.count;t<n;t++)cr.fromBufferAttribute(this,t),cr.applyMatrix3(e),this.setXYZ(t,cr.x,cr.y,cr.z);return this}applyMatrix4(e){for(let t=0,n=this.count;t<n;t++)cr.fromBufferAttribute(this,t),cr.applyMatrix4(e),this.setXYZ(t,cr.x,cr.y,cr.z);return this}applyNormalMatrix(e){for(let t=0,n=this.count;t<n;t++)cr.fromBufferAttribute(this,t),cr.applyNormalMatrix(e),this.setXYZ(t,cr.x,cr.y,cr.z);return this}transformDirection(e){for(let t=0,n=this.count;t<n;t++)cr.fromBufferAttribute(this,t),cr.transformDirection(e),this.setXYZ(t,cr.x,cr.y,cr.z);return this}set(e,t=0){return this.array.set(e,t),this}getComponent(e,t){let n=this.array[e*this.itemSize+t];return this.normalized&&(n=Js(n,this.array)),n}setComponent(e,t,n){return this.normalized&&(n=pn(n,this.array)),this.array[e*this.itemSize+t]=n,this}getX(e){let t=this.array[e*this.itemSize];return this.normalized&&(t=Js(t,this.array)),t}setX(e,t){return this.normalized&&(t=pn(t,this.array)),this.array[e*this.itemSize]=t,this}getY(e){let t=this.array[e*this.itemSize+1];return this.normalized&&(t=Js(t,this.array)),t}setY(e,t){return this.normalized&&(t=pn(t,this.array)),this.array[e*this.itemSize+1]=t,this}getZ(e){let t=this.array[e*this.itemSize+2];return this.normalized&&(t=Js(t,this.array)),t}setZ(e,t){return this.normalized&&(t=pn(t,this.array)),this.array[e*this.itemSize+2]=t,this}getW(e){let t=this.array[e*this.itemSize+3];return this.normalized&&(t=Js(t,this.array)),t}setW(e,t){return this.normalized&&(t=pn(t,this.array)),this.array[e*this.itemSize+3]=t,this}setXY(e,t,n){return e*=this.itemSize,this.normalized&&(t=pn(t,this.array),n=pn(n,this.array)),this.array[e+0]=t,this.array[e+1]=n,this}setXYZ(e,t,n,i){return e*=this.itemSize,this.normalized&&(t=pn(t,this.array),n=pn(n,this.array),i=pn(i,this.array)),this.array[e+0]=t,this.array[e+1]=n,this.array[e+2]=i,this}setXYZW(e,t,n,i,s){return e*=this.itemSize,this.normalized&&(t=pn(t,this.array),n=pn(n,this.array),i=pn(i,this.array),s=pn(s,this.array)),this.array[e+0]=t,this.array[e+1]=n,this.array[e+2]=i,this.array[e+3]=s,this}onUpload(e){return this.onUploadCallback=e,this}clone(){return new this.constructor(this.array,this.itemSize).copy(this)}toJSON(){const e={itemSize:this.itemSize,type:this.array.constructor.name,array:Array.from(this.array),normalized:this.normalized};return this.name!==""&&(e.name=this.name),this.usage!==Sv&&(e.usage=this.usage),e}}class QI extends Vn{constructor(e,t,n){super(new Int8Array(e),t,n)}}class ZI extends Vn{constructor(e,t,n){super(new Uint8Array(e),t,n)}}class $I extends Vn{constructor(e,t,n){super(new Uint8ClampedArray(e),t,n)}}class eP extends Vn{constructor(e,t,n){super(new Int16Array(e),t,n)}}class sT extends Vn{constructor(e,t,n){super(new Uint16Array(e),t,n)}}class tP extends Vn{constructor(e,t,n){super(new Int32Array(e),t,n)}}class aT extends Vn{constructor(e,t,n){super(new Uint32Array(e),t,n)}}class nP extends Vn{constructor(e,t,n){super(new Uint16Array(e),t,n),this.isFloat16BufferAttribute=!0}getX(e){let t=H0(this.array[e*this.itemSize]);return this.normalized&&(t=Js(t,this.array)),t}setX(e,t){return this.normalized&&(t=pn(t,this.array)),this.array[e*this.itemSize]=pa(t),this}getY(e){let t=H0(this.array[e*this.itemSize+1]);return this.normalized&&(t=Js(t,this.array)),t}setY(e,t){return this.normalized&&(t=pn(t,this.array)),this.array[e*this.itemSize+1]=pa(t),this}getZ(e){let t=H0(this.array[e*this.itemSize+2]);return this.normalized&&(t=Js(t,this.array)),t}setZ(e,t){return this.normalized&&(t=pn(t,this.array)),this.array[e*this.itemSize+2]=pa(t),this}getW(e){let t=H0(this.array[e*this.itemSize+3]);return this.normalized&&(t=Js(t,this.array)),t}setW(e,t){return this.normalized&&(t=pn(t,this.array)),this.array[e*this.itemSize+3]=pa(t),this}setXY(e,t,n){return e*=this.itemSize,this.normalized&&(t=pn(t,this.array),n=pn(n,this.array)),this.array[e+0]=pa(t),this.array[e+1]=pa(n),this}setXYZ(e,t,n,i){return e*=this.itemSize,this.normalized&&(t=pn(t,this.array),n=pn(n,this.array),i=pn(i,this.array)),this.array[e+0]=pa(t),this.array[e+1]=pa(n),this.array[e+2]=pa(i),this}setXYZW(e,t,n,i,s){return e*=this.itemSize,this.normalized&&(t=pn(t,this.array),n=pn(n,this.array),i=pn(i,this.array),s=pn(s,this.array)),this.array[e+0]=pa(t),this.array[e+1]=pa(n),this.array[e+2]=pa(i),this.array[e+3]=pa(s),this}}class Dt extends Vn{constructor(e,t,n){super(new Float32Array(e),t,n)}}let iP=0;const yo=new Yt,MM=new Pn,Fp=new Z,Ia=new es,_0=new es,Hr=new Z;class ln extends lc{constructor(){super(),this.isBufferGeometry=!0,Object.defineProperty(this,"id",{value:iP++}),this.uuid=qa(),this.name="",this.type="BufferGeometry",this.index=null,this.indirect=null,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}getIndex(){return this.index}setIndex(e){return Array.isArray(e)?this.index=new(XD(e)?aT:sT)(e,1):this.index=e,this}setIndirect(e){return this.indirect=e,this}getIndirect(){return this.indirect}getAttribute(e){return this.attributes[e]}setAttribute(e,t){return this.attributes[e]=t,this}deleteAttribute(e){return delete this.attributes[e],this}hasAttribute(e){return this.attributes[e]!==void 0}
vendor: 5,747 bytes, line 53
53addGroup(e,t,n=0){this.groups.push({start:e,count:t,materialIndex:n})}clearGroups(){this.groups=[]}setDrawRange(e,t){this.drawRange.start=e,this.drawRange.count=t}applyMatrix4(e){const t=this.attributes.position;t!==void 0&&(t.applyMatrix4(e),t.needsUpdate=!0);const n=this.attributes.normal;if(n!==void 0){const s=new un().getNormalMatrix(e);n.applyNormalMatrix(s),n.needsUpdate=!0}const i=this.attributes.tangent;return i!==void 0&&(i.transformDirection(e),i.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}applyQuaternion(e){return yo.makeRotationFromQuaternion(e),this.applyMatrix4(yo),this}rotateX(e){return yo.makeRotationX(e),this.applyMatrix4(yo),this}rotateY(e){return yo.makeRotationY(e),this.applyMatrix4(yo),this}rotateZ(e){return yo.makeRotationZ(e),this.applyMatrix4(yo),this}translate(e,t,n){return yo.makeTranslation(e,t,n),this.applyMatrix4(yo),this}scale(e,t,n){return yo.makeScale(e,t,n),this.applyMatrix4(yo),this}lookAt(e){return MM.lookAt(e),MM.updateMatrix(),this.applyMatrix4(MM.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(Fp).negate(),this.translate(Fp.x,Fp.y,Fp.z),this}setFromPoints(e){const t=this.getAttribute("position");if(t===void 0){const n=[];for(let i=0,s=e.length;i<s;i++){const o=e[i];n.push(o.x,o.y,o.z||0)}this.setAttribute("position",new Dt(n,3))}else{const n=Math.min(e.length,t.count);for(let i=0;i<n;i++){const s=e[i];t.setXYZ(i,s.x,s.y,s.z||0)}e.length>t.count&&console.warn("THREE.BufferGeometry: Buffer size too small for points data. Use .dispose() and create a new geometry."),t.needsUpdate=!0}return this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new es);const e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){console.error("THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.",this),this.boundingBox.set(new Z(-1/0,-1/0,-1/0),new Z(1/0,1/0,1/0));return}if(e!==void 0){if(this.boundingBox.setFromBufferAttribute(e),t)for(let n=0,i=t.length;n<i;n++){const s=t[n];Ia.setFromBufferAttribute(s),this.morphTargetsRelative?(Hr.addVectors(this.boundingBox.min,Ia.min),this.boundingBox.expandByPoint(Hr),Hr.addVectors(this.boundingBox.max,Ia.max),this.boundingBox.expandByPoint(Hr)):(this.boundingBox.expandByPoint(Ia.min),this.boundingBox.expandByPoint(Ia.max))}}else this.boundingBox.makeEmpty();(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The "position" attribute is likely to have NaN values.',this)}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new Vr);const e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){console.error("THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere.",this),this.boundingSphere.set(new Z,1/0);return}if(e){const n=this.boundingSphere.center;if(Ia.setFromBufferAttribute(e),t)for(let s=0,o=t.length;s<o;s++){const c=t[s];_0.setFromBufferAttribute(c),this.morphTargetsRelative?(Hr.addVectors(Ia.min,_0.min),Ia.expandByPoint(Hr),Hr.addVectors(Ia.max,_0.max),Ia.expandByPoint(Hr)):(Ia.expandByPoint(_0.min),Ia.expandByPoint(_0.max))}Ia.getCenter(n);let i=0;for(let s=0,o=e.count;s<o;s++)Hr.fromBufferAttribute(e,s),i=Math.max(i,n.distanceToSquared(Hr));if(t)for(let s=0,o=t.length;s<o;s++){const c=t[s],f=this.morphTargetsRelative;for(let d=0,m=c.count;d<m;d++)Hr.fromBufferAttribute(c,d),f&&(Fp.fromBufferAttribute(e,d),Hr.add(Fp)),i=Math.max(i,n.distanceToSquared(Hr))}this.boundingSphere.radius=Math.sqrt(i),isNaN(this.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',this)}}computeTangents(){const e=this.index,t=this.attributes;if(e===null||t.position===void 0||t.normal===void 0||t.uv===void 0){console.error("THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)");return}const n=t.position,i=t.normal,s=t.uv;this.hasAttribute("tangent")===!1&&this.setAttribute("tangent",new Vn(new Float32Array(4*n.count),4));const o=this.getAttribute("tangent"),c=[],f=[];for(let z=0;z<n.count;z++)c[z]=new Z,f[z]=new Z;const d=new Z,m=new Z,g=new Z,y=new qe,_=new qe,S=new qe,M=new Z,b=new Z;function A(z,P,N){d.fromBufferAttribute(n,z),m.fromBufferAttribute(n,P),g.fromBufferAttribute(n,N),y.fromBufferAttribute(s,z),_.fromBufferAttribute(s,P),S.fromBufferAttribute(s,N),m.sub(d),g.sub(d),_.sub(y),S.sub(y);const G=1/(_.x*S.y-S.x*_.y);isFinite(G)&&(M.copy(m).multiplyScalar(S.y).addScaledVector(g,-_.y).multiplyScalar(G),b.copy(g).multiplyScalar(_.x).addScaledVector(m,-S.x).multiplyScalar(G),c[z].add(M),c[P].add(M),c[N].add(M),f[z].add(b),f[P].add(b),f[N].add(b))}let w=this.groups;w.length===0&&(w=[{start:0,count:e.count}]);for(let z=0,P=w.length;z<P;++z){const N=w[z],G=N.start,X=N.count;for(let Q=G,te=G+X;Q<te;Q+=3)A(e.getX(Q+0),e.getX(Q+1),e.getX(Q+2))}const D=new Z,B=new Z,I=new Z,O=new Z;function U(z){I.fromBufferAttribute(i,z),O.copy(I);const P=c[z];D.copy(P),D.sub(I.multiplyScalar(I.dot(P))).normalize(),B.crossVectors(O,P);const G=B.dot(f[z])<0?-1:1;o.setXYZW(z,D.x,D.y,D.z,G)}for(let z=0,P=w.length;z<P;++z){const N=w[z],G=N.start,X=N.count;for(let Q=G,te=G+X;Q<te;Q+=3)U(e.getX(Q+0)),U(e.getX(Q+1)),U(e.getX(Q+2))}}computeVertexNormals(){const e=this.index,t=this.getAttribute("position");if(t!==void 0){let n=this.getAttribute("normal");if(n===void 0)n=new Vn(new Float32Array(t.count*3),3),this.setAttribute("normal",n
vendor: 5,254 bytes, line 53
53);else for(let y=0,_=n.count;y<_;y++)n.setXYZ(y,0,0,0);const i=new Z,s=new Z,o=new Z,c=new Z,f=new Z,d=new Z,m=new Z,g=new Z;if(e)for(let y=0,_=e.count;y<_;y+=3){const S=e.getX(y+0),M=e.getX(y+1),b=e.getX(y+2);i.fromBufferAttribute(t,S),s.fromBufferAttribute(t,M),o.fromBufferAttribute(t,b),m.subVectors(o,s),g.subVectors(i,s),m.cross(g),c.fromBufferAttribute(n,S),f.fromBufferAttribute(n,M),d.fromBufferAttribute(n,b),c.add(m),f.add(m),d.add(m),n.setXYZ(S,c.x,c.y,c.z),n.setXYZ(M,f.x,f.y,f.z),n.setXYZ(b,d.x,d.y,d.z)}else for(let y=0,_=t.count;y<_;y+=3)i.fromBufferAttribute(t,y+0),s.fromBufferAttribute(t,y+1),o.fromBufferAttribute(t,y+2),m.subVectors(o,s),g.subVectors(i,s),m.cross(g),n.setXYZ(y+0,m.x,m.y,m.z),n.setXYZ(y+1,m.x,m.y,m.z),n.setXYZ(y+2,m.x,m.y,m.z);this.normalizeNormals(),n.needsUpdate=!0}}normalizeNormals(){const e=this.attributes.normal;for(let t=0,n=e.count;t<n;t++)Hr.fromBufferAttribute(e,t),Hr.normalize(),e.setXYZ(t,Hr.x,Hr.y,Hr.z)}toNonIndexed(){function e(c,f){const d=c.array,m=c.itemSize,g=c.normalized,y=new d.constructor(f.length*m);let _=0,S=0;for(let M=0,b=f.length;M<b;M++){c.isInterleavedBufferAttribute?_=f[M]*c.data.stride+c.offset:_=f[M]*m;for(let A=0;A<m;A++)y[S++]=d[_++]}return new Vn(y,m,g)}if(this.index===null)return console.warn("THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed."),this;const t=new ln,n=this.index.array,i=this.attributes;for(const c in i){const f=i[c],d=e(f,n);t.setAttribute(c,d)}const s=this.morphAttributes;for(const c in s){const f=[],d=s[c];for(let m=0,g=d.length;m<g;m++){const y=d[m],_=e(y,n);f.push(_)}t.morphAttributes[c]=f}t.morphTargetsRelative=this.morphTargetsRelative;const o=this.groups;for(let c=0,f=o.length;c<f;c++){const d=o[c];t.addGroup(d.start,d.count,d.materialIndex)}return t}toJSON(){const e={metadata:{version:4.7,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};if(e.uuid=this.uuid,e.type=this.type,this.name!==""&&(e.name=this.name),Object.keys(this.userData).length>0&&(e.userData=this.userData),this.parameters!==void 0){const f=this.parameters;for(const d in f)f[d]!==void 0&&(e[d]=f[d]);return e}e.data={attributes:{}};const t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const n=this.attributes;for(const f in n){const d=n[f];e.data.attributes[f]=d.toJSON(e.data)}const i={};let s=!1;for(const f in this.morphAttributes){const d=this.morphAttributes[f],m=[];for(let g=0,y=d.length;g<y;g++){const _=d[g];m.push(_.toJSON(e.data))}m.length>0&&(i[f]=m,s=!0)}s&&(e.data.morphAttributes=i,e.data.morphTargetsRelative=this.morphTargetsRelative);const o=this.groups;o.length>0&&(e.data.groups=JSON.parse(JSON.stringify(o)));const c=this.boundingSphere;return c!==null&&(e.data.boundingSphere=c.toJSON()),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const t={};this.name=e.name;const n=e.index;n!==null&&this.setIndex(n.clone());const i=e.attributes;for(const d in i){const m=i[d];this.setAttribute(d,m.clone(t))}const s=e.morphAttributes;for(const d in s){const m=[],g=s[d];for(let y=0,_=g.length;y<_;y++)m.push(g[y].clone(t));this.morphAttributes[d]=m}this.morphTargetsRelative=e.morphTargetsRelative;const o=e.groups;for(let d=0,m=o.length;d<m;d++){const g=o[d];this.addGroup(g.start,g.count,g.materialIndex)}const c=e.boundingBox;c!==null&&(this.boundingBox=c.clone());const f=e.boundingSphere;return f!==null&&(this.boundingSphere=f.clone()),this.drawRange.start=e.drawRange.start,this.drawRange.count=e.drawRange.count,this.userData=e.userData,this}dispose(){this.dispatchEvent({type:"dispose"})}}const Iw=new Yt,Bh=new jm,k_=new Vr,Pw=new Z,X_=new Z,Y_=new Z,j_=new Z,EM=new Z,q_=new Z,Hw=new Z,W_=new Z;class nr extends Pn{constructor(e=new ln,t=new Ya){super(),this.isMesh=!0,this.type="Mesh",this.geometry=e,this.material=t,this.morphTargetDictionary=void 0,this.morphTargetInfluences=void 0,this.count=1,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),e.morphTargetInfluences!==void 0&&(this.morphTargetInfluences=e.morphTargetInfluences.slice()),e.morphTargetDictionary!==void 0&&(this.morphTargetDictionary=Object.assign({},e.morphTargetDictionary)),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}updateMorphTargets(){const t=this.geometry.morphAttributes,n=Object.keys(t);if(n.length>0){const i=t[n[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=i.length;s<o;s++){const c=i[s].name||String(s);this.morphTargetInfluences.push(0),this.morphTargetDictionary[c]=s}}}}getVertexPosition(e,t){const n=this.geometry,i=n.attributes.position,s=n.morphAttributes.position,o=n.morphTargetsRelative;t.fromBufferAttribute(i,e);const c=this.morphTargetInfluences;if(s&&c){q_.set(0,0,0);for(let f=0,d=s.length;f<d;f++){const m=c[f],g=s[f];m!==0&&(EM.fromBufferAttribute(g,e),o?q_.addScaledVector(EM,m):q_.addScaledVector(EM.sub(t),m))}t.add(q_)}return t}raycast(e,t){const n=this.geometry,i=this.material,s=this.matrixWorld;i!==void 0&&(n.boundingSphere===null&&n.computeBoundingSphere(),k_.copy(n.boundingSphere),k_.applyM
vendor: 8,187 bytes, lines 53-57
53atrix4(s),Bh.copy(e.ray).recast(e.near),!(k_.containsPoint(Bh.origin)===!1&&(Bh.intersectSphere(k_,Pw)===null||Bh.origin.distanceToSquared(Pw)>(e.far-e.near)**2))&&(Iw.copy(s).invert(),Bh.copy(e.ray).applyMatrix4(Iw),!(n.boundingBox!==null&&Bh.intersectsBox(n.boundingBox)===!1)&&this._computeIntersections(e,t,Bh)))}_computeIntersections(e,t,n){let i;const s=this.geometry,o=this.material,c=s.index,f=s.attributes.position,d=s.attributes.uv,m=s.attributes.uv1,g=s.attributes.normal,y=s.groups,_=s.drawRange;if(c!==null)if(Array.isArray(o))for(let S=0,M=y.length;S<M;S++){const b=y[S],A=o[b.materialIndex],w=Math.max(b.start,_.start),D=Math.min(c.count,Math.min(b.start+b.count,_.start+_.count));for(let B=w,I=D;B<I;B+=3){const O=c.getX(B),U=c.getX(B+1),z=c.getX(B+2);i=J_(this,A,e,n,d,m,g,O,U,z),i&&(i.faceIndex=Math.floor(B/3),i.face.materialIndex=b.materialIndex,t.push(i))}}else{const S=Math.max(0,_.start),M=Math.min(c.count,_.start+_.count);for(let b=S,A=M;b<A;b+=3){const w=c.getX(b),D=c.getX(b+1),B=c.getX(b+2);i=J_(this,o,e,n,d,m,g,w,D,B),i&&(i.faceIndex=Math.floor(b/3),t.push(i))}}else if(f!==void 0)if(Array.isArray(o))for(let S=0,M=y.length;S<M;S++){const b=y[S],A=o[b.materialIndex],w=Math.max(b.start,_.start),D=Math.min(f.count,Math.min(b.start+b.count,_.start+_.count));for(let B=w,I=D;B<I;B+=3){const O=B,U=B+1,z=B+2;i=J_(this,A,e,n,d,m,g,O,U,z),i&&(i.faceIndex=Math.floor(B/3),i.face.materialIndex=b.materialIndex,t.push(i))}}else{const S=Math.max(0,_.start),M=Math.min(f.count,_.start+_.count);for(let b=S,A=M;b<A;b+=3){const w=b,D=b+1,B=b+2;i=J_(this,o,e,n,d,m,g,w,D,B),i&&(i.faceIndex=Math.floor(b/3),t.push(i))}}}}function rP(r,e,t,n,i,s,o,c){let f;if(e.side===Zs?f=n.intersectTriangle(o,s,i,!0,c):f=n.intersectTriangle(i,s,o,e.side===rc,c),f===null)return null;W_.copy(c),W_.applyMatrix4(r.matrixWorld);const d=t.ray.origin.distanceTo(W_);return d<t.near||d>t.far?null:{distance:d,point:W_.clone(),object:r}}function J_(r,e,t,n,i,s,o,c,f,d){r.getVertexPosition(c,X_),r.getVertexPosition(f,Y_),r.getVertexPosition(d,j_);const m=rP(r,e,t,n,X_,Y_,j_,Hw);if(m){const g=new Z;ga.getBarycoord(Hw,X_,Y_,j_,g),i&&(m.uv=ga.getInterpolatedAttribute(i,c,f,d,g,new qe)),s&&(m.uv1=ga.getInterpolatedAttribute(s,c,f,d,g,new qe)),o&&(m.normal=ga.getInterpolatedAttribute(o,c,f,d,g,new Z),m.normal.dot(n.direction)>0&&m.normal.multiplyScalar(-1));const y={a:c,b:f,c:d,normal:new Z,materialIndex:0};ga.getNormal(X_,Y_,j_,y.normal),m.face=y,m.barycoord=g}return m}class Td extends ln{constructor(e=1,t=1,n=1,i=1,s=1,o=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:n,widthSegments:i,heightSegments:s,depthSegments:o};const c=this;i=Math.floor(i),s=Math.floor(s),o=Math.floor(o);const f=[],d=[],m=[],g=[];let y=0,_=0;S("z","y","x",-1,-1,n,t,e,o,s,0),S("z","y","x",1,-1,n,t,-e,o,s,1),S("x","z","y",1,1,e,n,t,i,o,2),S("x","z","y",1,-1,e,n,-t,i,o,3),S("x","y","z",1,-1,e,t,n,i,s,4),S("x","y","z",-1,-1,e,t,-n,i,s,5),this.setIndex(f),this.setAttribute("position",new Dt(d,3)),this.setAttribute("normal",new Dt(m,3)),this.setAttribute("uv",new Dt(g,2));function S(M,b,A,w,D,B,I,O,U,z,P){const N=B/U,G=I/z,X=B/2,Q=I/2,te=O/2,le=U+1,k=z+1;let W=0,ee=0;const pe=new Z;for(let H=0;H<k;H++){const re=H*G-Q;for(let ye=0;ye<le;ye++){const Ae=ye*N-X;pe[M]=Ae*w,pe[b]=re*D,pe[A]=te,d.push(pe.x,pe.y,pe.z),pe[M]=0,pe[b]=0,pe[A]=O>0?1:-1,m.push(pe.x,pe.y,pe.z),g.push(ye/U),g.push(1-H/z),W+=1}}for(let H=0;H<z;H++)for(let re=0;re<U;re++){const ye=y+re+le*H,Ae=y+re+le*(H+1),Te=y+(re+1)+le*(H+1),he=y+(re+1)+le*H;f.push(ye,Ae,he),f.push(Ae,Te,he),ee+=6}c.addGroup(_,ee,P),_+=ee,y+=W}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new Td(e.width,e.height,e.depth,e.widthSegments,e.heightSegments,e.depthSegments)}}function Om(r){const e={};for(const t in r){e[t]={};for(const n in r[t]){const i=r[t][n];i&&(i.isColor||i.isMatrix3||i.isMatrix4||i.isVector2||i.isVector3||i.isVector4||i.isTexture||i.isQuaternion)?i.isRenderTargetTexture?(console.warn("UniformsUtils: Textures of render targets cannot be cloned via cloneUniforms() or mergeUniforms()."),e[t][n]=null):e[t][n]=i.clone():Array.isArray(i)?e[t][n]=i.slice():e[t][n]=i}}return e}function ks(r){const e={};for(let t=0;t<r.length;t++){const n=Om(r[t]);for(const i in n)e[i]=n[i]}return e}function sP(r){const e=[];for(let t=0;t<r.length;t++)e.push(r[t].clone());return e}function WD(r){const e=r.getRenderTarget();return e===null?r.outputColorSpace:e.isXRRenderTarget===!0?e.texture.colorSpace:Un.workingColorSpace}const JD={clone:Om,merge:ks};var aP=`void main() {
54	gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
55}`,oP=`void main() {
56	gl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );
57}`;class ul extends Rr{constructor(e){super(),this.isShaderMaterial=!0,this.type="ShaderMaterial",this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader=aP,this.fragmentShader=oP,this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.forceSinglePass=!0,this.extensions={clipCullDistance:!1,multiDraw:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv1:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,e!==void 0&&this.setValues(e)}copy(e){return super.copy(e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=Om(e.uniforms),this.uniformsGroups=sP(e.uniformsGroups),this.defines=Object.assign({},e.defines),this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.fog=e.fog,this.lights=e.lights,this.clipping=e.clipping,this.extensions=Object.assign({},e.extensions),this.glslVersion=e.glslVersion,this}toJSON(e){const t=super.toJSON(e);t.glslVersion=this.glslVersion,t.uniforms={};for(const i in this.uniforms){const o=this.uniforms[i].value;o&&o.isTexture?t.uniforms[i]={type:"t",value:o.toJSON(e).uuid}:o&&o.isColor?t.uniforms[i]={type:"c",value:o.getHex()}:o&&o.isVector2?t.uniforms[i]={type:"v2",value:o.toArray()}:o&&o.isVector3?t.uniforms[i]={type:"v3",value:o.toArray()}:o&&o.isVector4?t.uniforms[i]={type:"v4",value:o.toArray()}:o&&o.isMatrix3?t.uniforms[i]={type:"m3",value:o.toArray()}:o&&o.isMatrix4?t.uniforms[i]={type:"m4",value:o.toArray()}:t.uniforms[i]={value:o}}Object.keys(this.defines).length>0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const n={};for(const i in this.extensions)this.extensions[i]===!0&&(n[i]=!0);return Object.keys(n).length>0&&(t.extensions=n),t}}class FA extends Pn{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new Yt,this.projectionMatrix=new Yt,this.projectionMatrixInverse=new Yt,this.coordinateSystem=Xa,this._reversedDepth=!1}get reversedDepth(){return this._reversedDepth}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}const of=new Z,zw=new qe,Fw=new qe;class wr extends FA{constructor(e=50,t=1,n=.1,i=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=n,this.far=i,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const t=.5*this.getFilmHeight()/e;this.fov=Bm*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(ad*.5*this.fov);return .5*this.getFilmHeight()/e}
vendor: 4,175 bytes, line 57
57getEffectiveFOV(){return Bm*2*Math.atan(Math.tan(ad*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(e,t,n){of.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(of.x,of.y).multiplyScalar(-e/of.z),of.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),n.set(of.x,of.y).multiplyScalar(-e/of.z)}getViewSize(e,t){return this.getViewBounds(e,zw,Fw),t.subVectors(Fw,zw)}setViewOffset(e,t,n,i,s,o){this.aspect=e/t,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=i,this.view.width=s,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(ad*.5*this.fov)/this.zoom,n=2*t,i=this.aspect*n,s=-.5*i;const o=this.view;if(this.view!==null&&this.view.enabled){const f=o.fullWidth,d=o.fullHeight;s+=o.offsetX*i/f,t-=o.offsetY*n/d,i*=o.width/f,n*=o.height/d}const c=this.filmOffset;c!==0&&(s+=e*c/this.getFilmWidth()),this.projectionMatrix.makePerspective(s,s+i,t,t-n,e,this.far,this.coordinateSystem,this.reversedDepth),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}const Gp=-90,Vp=1;class KD extends Pn{constructor(e,t,n){super(),this.type="CubeCamera",this.renderTarget=n,this.coordinateSystem=null,this.activeMipmapLevel=0;const i=new wr(Gp,Vp,e,t);i.layers=this.layers,this.add(i);const s=new wr(Gp,Vp,e,t);s.layers=this.layers,this.add(s);const o=new wr(Gp,Vp,e,t);o.layers=this.layers,this.add(o);const c=new wr(Gp,Vp,e,t);c.layers=this.layers,this.add(c);const f=new wr(Gp,Vp,e,t);f.layers=this.layers,this.add(f);const d=new wr(Gp,Vp,e,t);d.layers=this.layers,this.add(d)}updateCoordinateSystem(){const e=this.coordinateSystem,t=this.children.concat(),[n,i,s,o,c,f]=t;for(const d of t)this.remove(d);if(e===Xa)n.up.set(0,1,0),n.lookAt(1,0,0),i.up.set(0,1,0),i.lookAt(-1,0,0),s.up.set(0,0,-1),s.lookAt(0,1,0),o.up.set(0,0,1),o.lookAt(0,-1,0),c.up.set(0,1,0),c.lookAt(0,0,1),f.up.set(0,1,0),f.lookAt(0,0,-1);else if(e===Rm)n.up.set(0,-1,0),n.lookAt(-1,0,0),i.up.set(0,-1,0),i.lookAt(1,0,0),s.up.set(0,0,1),s.lookAt(0,1,0),o.up.set(0,0,-1),o.lookAt(0,-1,0),c.up.set(0,-1,0),c.lookAt(0,0,1),f.up.set(0,-1,0),f.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(const d of t)this.add(d),d.updateMatrixWorld()}update(e,t){this.parent===null&&this.updateMatrixWorld();const{renderTarget:n,activeMipmapLevel:i}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[s,o,c,f,d,m]=this.children,g=e.getRenderTarget(),y=e.getActiveCubeFace(),_=e.getActiveMipmapLevel(),S=e.xr.enabled;e.xr.enabled=!1;const M=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,e.setRenderTarget(n,0,i),e.render(t,s),e.setRenderTarget(n,1,i),e.render(t,o),e.setRenderTarget(n,2,i),e.render(t,c),e.setRenderTarget(n,3,i),e.render(t,f),e.setRenderTarget(n,4,i),e.render(t,d),n.texture.generateMipmaps=M,e.setRenderTarget(n,5,i),e.render(t,m),e.setRenderTarget(g,y,_),e.xr.enabled=S,n.texture.needsPMREMUpdate=!0}}class kv extends Bi{constructor(e=[],t=iu,n,i,s,o,c,f,d,m){super(e,t,n,i,s,o,c,f,d,m),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class QD extends sc{constructor(e=1,t={}){super(e,e,t),this.isWebGLCubeRenderTarget=!0;const n={width:e,height:e,depth:1},i=[n,n,n,n,n,n];this.texture=new kv(i),this._setTextureOptions(t),this.texture.isRenderTargetTexture=!0}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.colorSpace
vendor: 20,941 bytes, lines 57-92
57=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const n={uniforms:{tEquirect:{value:null}},vertexShader:`
58
59				varying vec3 vWorldDirection;
60
61				vec3 transformDirection( in vec3 dir, in mat4 matrix ) {
62
63					return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );
64
65				}
66
67				void main() {
68
69					vWorldDirection = transformDirection( position, modelMatrix );
70
71					#include <begin_vertex>
72					#include <project_vertex>
73
74				}
75			`,fragmentShader:`
76
77				uniform sampler2D tEquirect;
78
79				varying vec3 vWorldDirection;
80
81				#include <common>
82
83				void main() {
84
85					vec3 direction = normalize( vWorldDirection );
86
87					vec2 sampleUV = equirectUv( direction );
88
89					gl_FragColor = texture2D( tEquirect, sampleUV );
90
91				}
92			`},i=new Td(5,5,5),s=new ul({name:"CubemapFromEquirect",uniforms:Om(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:Zs,blending:Zc});s.uniforms.tEquirect.value=t;const o=new nr(i,s),c=t.minFilter;return t.minFilter===bo&&(t.minFilter=tr),new KD(1,10,this).update(e,o),t.minFilter=c,o.geometry.dispose(),o.material.dispose(),this}clear(e,t=!0,n=!0,i=!0){const s=e.getRenderTarget();for(let o=0;o<6;o++)e.setRenderTarget(this,o),e.clear(t,n,i);e.setRenderTarget(s)}}class Kc extends Pn{constructor(){super(),this.isGroup=!0,this.type="Group"}}const lP={type:"move"};class aS{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new Kc,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new Kc,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new Z,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new Z),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new Kc,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new Z,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new Z),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const t=this._hand;if(t)for(const n of e.hand.values())this._getHandJoint(t,n)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,t,n){let i=null,s=null,o=null;const c=this._targetRay,f=this._grip,d=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(d&&e.hand){o=!0;for(const M of e.hand.values()){const b=t.getJointPose(M,n),A=this._getHandJoint(d,M);b!==null&&(A.matrix.fromArray(b.transform.matrix),A.matrix.decompose(A.position,A.rotation,A.scale),A.matrixWorldNeedsUpdate=!0,A.jointRadius=b.radius),A.visible=b!==null}const m=d.joints["index-finger-tip"],g=d.joints["thumb-tip"],y=m.position.distanceTo(g.position),_=.02,S=.005;d.inputState.pinching&&y>_+S?(d.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!d.inputState.pinching&&y<=_-S&&(d.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else f!==null&&e.gripSpace&&(s=t.getPose(e.gripSpace,n),s!==null&&(f.matrix.fromArray(s.transform.matrix),f.matrix.decompose(f.position,f.rotation,f.scale),f.matrixWorldNeedsUpdate=!0,s.linearVelocity?(f.hasLinearVelocity=!0,f.linearVelocity.copy(s.linearVelocity)):f.hasLinearVelocity=!1,s.angularVelocity?(f.hasAngularVelocity=!0,f.angularVelocity.copy(s.angularVelocity)):f.hasAngularVelocity=!1));c!==null&&(i=t.getPose(e.targetRaySpace,n),i===null&&s!==null&&(i=s),i!==null&&(c.matrix.fromArray(i.transform.matrix),c.matrix.decompose(c.position,c.rotation,c.scale),c.matrixWorldNeedsUpdate=!0,i.linearVelocity?(c.hasLinearVelocity=!0,c.linearVelocity.copy(i.linearVelocity)):c.hasLinearVelocity=!1,i.angularVelocity?(c.hasAngularVelocity=!0,c.angularVelocity.copy(i.angularVelocity)):c.hasAngularVelocity=!1,this.dispatchEvent(lP)))}return c!==null&&(c.visible=i!==null),f!==null&&(f.visible=s!==null),d!==null&&(d.visible=o!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const n=new Kc;n.matrixAutoUpdate=!1,n.visible=!1,e.joints[t.jointName]=n,e.add(n)}return e.joints[t.jointName]}}class GA{constructor(e,t=25e-5){this.isFogExp2=!0,this.name="",this.color=new dt(e),this.density=t}clone(){return new GA(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class VA{constructor(e,t=1,n=1e3){this.isFog=!0,this.name="",this.color=new dt(e),this.near=t,this.far=n}clone(){return new VA(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class oT extends Pn{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.backgroundRotation=new Ja,this.environmentIntensity=1,this.environmentRotation=new Ja,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,this.backgroundRotation.copy(e.backgroundRotation),this.environmentIntensity=e.environmentIntensity,this.environmentRotation.copy(e.environmentRotation),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(t.object.environmentIntensity=this.environmentIntensity),t.object.environmentRotation=this.environmentRotation.toArray(),t}}class Xv{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=Sv,this.updateRanges=[],this.version=0,this.uuid=qa()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,n){e*=this.stride,n*=t.stride;for(let i=0,s=this.stride;i<s;i++)this.array[e+i]=t.array[n+i];return this}set(e,t=0){return this.array.set(e,t),this}clone(e){e.arrayBuffers===void 0&&(e.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=qa()),e.arrayBuffers[this.array.buffer._uuid]===void 0&&(e.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);const t=new this.array.constructor(e.arrayBuffers[this.array.buffer._uuid]),n=new this.constructor(t,this.stride);return n.setUsage(this.usage),n}onUpload(e){return this.onUploadCallback=e,this}toJSON(e){return e.arrayBuffers===void 0&&(e.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=qa()),e.arrayBuffers[this.array.buffer._uuid]===void 0&&(e.arrayBuffers[this.array.buffer._uuid]=Array.from(new Uint32Array(this.array.buffer))),{uuid:this.uuid,buffer:this.array.buffer._uuid,type:this.array.constructor.name,stride:this.stride}}}const Fs=new Z;class Cf{constructor(e,t,n,i=!1){this.isInterleavedBufferAttribute=!0,this.name="",this.data=e,this.itemSize=t,this.offset=n,this.normalized=i}get count(){return this.data.count}get array(){return this.data.array}set needsUpdate(e){this.data.needsUpdate=e}applyMatrix4(e){for(let t=0,n=this.data.count;t<n;t++)Fs.fromBufferAttribute(this,t),Fs.applyMatrix4(e),this.setXYZ(t,Fs.x,Fs.y,Fs.z);return this}applyNormalMatrix(e){for(let t=0,n=this.count;t<n;t++)Fs.fromBufferAttribute(this,t),Fs.applyNormalMatrix(e),this.setXYZ(t,Fs.x,Fs.y,Fs.z);return this}transformDirection(e){for(let t=0,n=this.count;t<n;t++)Fs.fromBufferAttribute(this,t),Fs.transformDirection(e),this.setXYZ(t,Fs.x,Fs.y,Fs.z);return this}getComponent(e,t){let n=this.array[e*this.data.stride+this.offset+t];return this.normalized&&(n=Js(n,this.array)),n}setComponent(e,t,n){return this.normalized&&(n=pn(n,this.array)),this.data.array[e*this.data.stride+this.offset+t]=n,this}setX(e,t){return this.normalized&&(t=pn(t,this.array)),this.data.array[e*this.data.stride+this.offset]=t,this}setY(e,t){return this.normalized&&(t=pn(t,this.array)),this.data.array[e*this.data.stride+this.offset+1]=t,this}setZ(e,t){return this.normalized&&(t=pn(t,this.array)),this.data.array[e*this.data.stride+this.offset+2]=t,this}setW(e,t){return this.normalized&&(t=pn(t,this.array)),this.data.array[e*this.data.stride+this.offset+3]=t,this}getX(e){let t=this.data.array[e*this.data.stride+this.offset];return this.normalized&&(t=Js(t,this.array)),t}getY(e){let t=this.data.array[e*this.data.stride+this.offset+1];return this.normalized&&(t=Js(t,this.array)),t}getZ(e){let t=this.data.array[e*this.data.stride+this.offset+2];return this.normalized&&(t=Js(t,this.array)),t}getW(e){let t=this.data.array[e*this.data.stride+this.offset+3];return this.normalized&&(t=Js(t,this.array)),t}setXY(e,t,n){return e=e*this.data.stride+this.offset,this.normalized&&(t=pn(t,this.array),n=pn(n,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=n,this}setXYZ(e,t,n,i){return e=e*this.data.stride+this.offset,this.normalized&&(t=pn(t,this.array),n=pn(n,this.array),i=pn(i,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=n,this.data.array[e+2]=i,this}setXYZW(e,t,n,i,s){return e=e*this.data.stride+this.offset,this.normalized&&(t=pn(t,this.array),n=pn(n,this.array),i=pn(i,this.array),s=pn(s,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=n,this.data.array[e+2]=i,this.data.array[e+3]=s,this}clone(e){if(e===void 0){console.log("THREE.InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will de-interleave buffer data.");const t=[];for(let n=0;n<this.count;n++){const i=n*this.data.stride+this.offset;for(let s=0;s<this.itemSize;s++)t.push(this.data.array[i+s])}return new Vn(new this.array.constructor(t),this.itemSize,this.normalized)}else return e.interleavedBuffers===void 0&&(e.interleavedBuffers={}),e.interleavedBuffers[this.data.uuid]===void 0&&(e.interleavedBuffers[this.data.uuid]=this.data.clone(e)),new Cf(e.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(e){if(e===void 0){console.log("THREE.InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will de-interleave buffer data.");const t=[];for(let n=0;n<this.count;n++){const i=n*this.data.stride+this.offset;for(let s=0;s<this.itemSize;s++)t.push(this.data.array[i+s])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:t,normalized:this.normalized}}else return e.interleavedBuffers===void 0&&(e.interleavedBuffers={}),e.interleavedBuffers[this.data.uuid]===void 0&&(e.interleavedBuffers[this.data.uuid]=this.data.toJSON(e)),{isInterleavedBufferAttribute:!0,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}}class lT extends Rr{constructor(e){super(),this.isSpriteMaterial=!0,this.type="SpriteMaterial",this.color=new dt(16777215),this.map=null,this.alphaMap=null,this.rotation=0,this.sizeAttenuation=!0,this.transparent=!0,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.alphaMap=e.alphaMap,this.rotation=e.rotation,this.sizeAttenuation=e.sizeAttenuation,this.fog=e.fog,this}}let kp;const x0=new Z,Xp=new Z,Yp=new Z,jp=new qe,S0=new qe,ZD=new Yt,K_=new Z,A0=new Z,Q_=new Z,Gw=new qe,TM=new qe,Vw=new qe;class $D extends Pn{constructor(e=new lT){if(super(),this.isSprite=!0,this.type="Sprite",kp===void 0){kp=new ln;const t=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]),n=new Xv(t,5);kp.setIndex([0,1,2,0,2,3]),kp.setAttribute("position",new Cf(n,3,0,!1)),kp.setAttribute("uv",new Cf(n,2,3,!1))}this.geometry=kp,this.material=e,this.center=new qe(.5,.5),this.count=1}raycast(e,t){e.camera===null&&console.error('THREE.Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.'),Xp.setFromMatrixScale(this.matrixWorld),ZD.copy(e.camera.matrixWorld),this.modelViewMatrix.multiplyMatrices(e.camera.matrixWorldInverse,this.matrixWorld),Yp.setFromMatrixPosition(this.modelViewMatrix),e.camera.isPerspectiveCamera&&this.material.sizeAttenuation===!1&&Xp.multiplyScalar(-Yp.z);const n=this.material.rotation;let i,s;n!==0&&(s=Math.cos(n),i=Math.sin(n));const o=this.center;Z_(K_.set(-.5,-.5,0),Yp,o,Xp,i,s),Z_(A0.set(.5,-.5,0),Yp,o,Xp,i,s),Z_(Q_.set(.5,.5,0),Yp,o,Xp,i,s),Gw.set(0,0),TM.set(1,0),Vw.set(1,1);let c=e.ray.intersectTriangle(K_,A0,Q_,!1,x0);if(c===null&&(Z_(A0.set(-.5,.5,0),Yp,o,Xp,i,s),TM.set(0,1),c=e.ray.intersectTriangle(K_,Q_,A0,!1,x0),c===null))return;const f=e.ray.origin.distanceTo(x0);f<e.near||f>e.far||t.push({distance:f,point:x0.clone(),uv:ga.getInterpolation(x0,K_,A0,Q_,Gw,TM,Vw,new qe),face:null,object:this})}copy(e,t){return super.copy(e,t),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function Z_(r,e,t,n,i,s){jp.subVectors(r,t).addScalar(.5).multiply(n),i!==void 0?(S0.x=s*jp.x-i*jp.y,S0.y=i*jp.x+s*jp.y):S0.copy(jp),r.copy(e),r.x+=S0.x,r.y+=S0.y,r.applyMatrix4(ZD)}const $_=new Z,kw=new Z;class eO extends Pn{constructor(){super(),this.isLOD=!0,this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]}}),this.autoUpdate=!0}copy(e){super.copy(e,!1);const t=e.levels;for(let n=0,i=t.length;n<i;n++){const s=t[n];this.addLevel(s.object.clone(),s.distance,s.hysteresis)}return this.autoUpdate=e.autoUpdate,this}addLevel(e,t=0,n=0){t=Math.abs(t);const i=this.levels;let s;for(s=0;s<i.length&&!(t<i[s].distance);s++);return i.splice(s,0,{distance:t,hysteresis:n,object:e}),this.add(e),this}removeLevel(e){const t=this.levels;for(let n=0;n<t.length;n++)if(t[n].distance===e){const i=t.splice(n,1);return this.remove(i[0].object),!0}return!1}getCurrentLevel(){return this._currentLevel}getObjectForDistance(e){const t=this.levels;if(t.length>0){let n,i;for(n=1,i=t.length;n<i;n++){let s=t[n].distance;if(t[n].object.visible&&(s-=s*t[n].hysteresis),e<s)break}return t[n-1].object}return null}raycast(e,t){if(this.levels.length>0){$_.setFromMatrixPosition(this.matrixWorld);const i=e.ray.origin.distanceTo($_);this.getObjectForDistance(i).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){$_.setFromMatrixPosition(e.matrixWorld),kw.setFromMatrixPosition(this.matrixWorld);const n=$_.distanceTo(kw)/e.zoom;t[0].object.visible=!0;let i,s;for(i=1,s=t.length;i<s;i++){let o=t[i].distance;if(t[i].object.visible&&(o-=o*t[i].hysteresis),n>=o)t[i-1].object.visible=!1,t[i].object.visible=!0;else break}for(this._currentLevel=i-1;i<s;i++)t[i].object.visible=!1}}toJSON(e){const t=super.toJSON(e);this.autoUpdate===!1&&(t.object.autoUpdate=!1),t.object.levels=[];const n=this.levels;for(let i=0,s=n.length;i<s;i++){const o=n[i];t.object.levels.push({object:o.object.uuid,distance:o.distance,hysteresis:o.hysteresis})}return t}}const Xw=new Z,Yw=new Gn,jw=new Gn,cP=new Z,qw=new Yt,ex=new Z,CM=new Vr,Ww=new Yt,wM=new jm;class cT extends nr{constructor(e,t){super(e,t),this.isSkinnedMesh=!0,this.type="SkinnedMesh",this.bindMode=q1,this.bindMatrix=new Yt,this.bindMatrixInverse=new Yt,this.boundingBox=null,this.boundingSphere=null}computeBoundingBox(){const e=this.geometry;this.boundingBox===null&&(this.boundingBox=new es),this.boundingBox.makeEmpty();const t=e.getAttribute("position");for(let n=0;n<t.count;n++)this.getVertexPosition(n,ex),this.boundingBox.expandByPoint(ex)}computeBoundingSphere(){const e=this.geometry;this.boundingSphere===null&&(this.boundingSphere=new Vr),this.boundingSphere.makeEmpty();const t=e.getAttribute("position");for(let n=0;n<t.count;n++)this.getVertexPosition(n,ex),this.boundingSphere.expandByPoint(ex)}copy(e,t){return super.copy(e,t),this.bindMode=e.bindMode,this.bindMatrix.copy(e.bindMatrix),this.bindMatrixInverse.copy(e.bindMatrixInverse),this.skeleton=e.skeleton,e.boundingBox!==null&&(this.boundingBox=e.boundingBox.clone()),e.boundingSphere!==null&&(this.boundingSphere=e.boundingSphere.clone()),this}raycast(e,t){const n=this.material,i=this.matrixWorld;n!==void 0&&(this.boundingSphere===null&&this.computeBoundingSphere(),CM.copy(this.boundingSphere),CM.applyMatrix4(i),e.ray.intersectsSphere(CM)!==!1&&(Ww.copy(i).invert(),wM.copy(e.ray).applyMatrix4(Ww),!(this.boundingBox!==null&&wM.intersectsBox(this.boundingBox)===!1)&&this._computeIntersections(e,t,wM)))}getVertexPosition(e,t){return super.getVertexPosition(e,t),this.applyBoneTransform(e,t),t}bind(e,t){this.skeleton=e,t===void 0&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),t=this.matrixWorld),this.bindMatrix.copy(t),this.bindMatrixInverse.copy(t).invert()}pose(){this.skeleton.pose()}normalizeSkinWeights(){const e=new Gn,t=this.geometry.attributes.skinWeight;for(let n=0,i=t.count;n<i;n++){e.fromBufferAttribute(t,n);const s=1/e.manhattanLength();s!==1/0?e.multiplyScalar(s):e.set(1,0,0,0),t.setXYZW(n,e.x,e.y,e.z,e.w)}}updateMatrixWorld(e){super.updateMatrixWorld(e),this.bindMode===q1?this.bindMatrixInverse.copy(this.matrixWorld).invert():this.bindMode===RD?this.bindMatrixInverse.copy(this.bindMatrix).invert():console.warn("THREE.SkinnedMesh: Unrecognized bindMode: "+this.bindMode)}applyBoneTransform(e,t){const n=this.skeleton,i=this.geometry;Yw.fromBufferAttribute(i.attributes.skinIndex,e),jw.fromBufferAttribute(i.attributes.skinWeight,e),Xw.copy(t).applyMatrix4(this.bindMatrix),t.set(0,0,0);for(let s=0;s<4;s++){const o=jw.getComponent(s);if(o!==0){const c=Yw.getComponent(s);qw.multiplyMatrices(n.bones[c].matrixWorld,n.boneInverses[c]),t.addScaledVector(cP.copy(Xw).applyMatrix4(qw),o)}}return t.applyMatrix4(this.bindMatrixInverse)}}class kA extends Pn{constructor(){super(),this.isBone=!0,this.type="Bone"}}class nc extends Bi{constructor(e=null,t=1,n=1,i,s,o,c,f,d=Gr,m=Gr,g,y){super(null,o,c,f,d,m,i,s,g,y),this.isDataTexture=!0,this.image={data:e,width:t,height:n},this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}const Jw=new Yt,uP=new Yt;class Yv{constructor(e=[],t=[]){this.uuid=qa(),this.bones=e.slice(0),this.boneInverses=t,this.boneMatrices=null,this.boneTexture=null,this.init()}init(){const e=this.bones,t=this.boneInverses;if(this.boneMatrices=new Float32Array(e.length*16),t.length===0)this.calculateInverses();else if(e.length!==t.length){console.warn("THREE.Skeleton: Number of inverse bone matrices does not match amount of bones."),this.boneInverses=[];for(let n=0,i=this.bones.length;n<i;n++)this.boneInverses.push(new Yt)}}calculateInverses(){this.boneInverses.length=0;for(let e=0,t=this.bones.length;e<t;e++){const n=new Yt;this.bones[e]&&n.copy(this.bones[e].matrixWorld).invert(),this.boneInverses.push(n)}}pose(){for(let e=0,t=this.bones.length;e<t;e++){const n=this.bones[e];n&&n.matrixWorld.copy(this.boneInverses[e]).invert()}for(let e=0,t=this.bones.length;e<t;e++){const n=this.bones[e];n&&(n.parent&&n.parent.isBone?(n.matrix.copy(n.parent.matrixWorld).invert(),n.matrix.multiply(n.matrixWorld)):n.matrix.copy(n.matrixWorld),n.matrix.decompose(n.position,n.quaternion,n.scale))}}update(){const e=this.bones,t=this.boneInverses,n=this.boneMatrices,i=this.boneTexture;for(let s=0,o=e.length;s<o;s++){const c=e[s]?e[s].matrixWorld:uP;Jw.multiplyMatrices(c,t[s]),Jw.toArray(n,s*16)}i!==null&&(i.needsUpdate=!0)}clone(){return new Yv(this.bones,this.boneInverses)}computeBoneTexture(){let e=Math.sqrt(this.bones.length*4);e=Math.ceil(e/4)*4,e=Math.max(e,4);const t=new Float32Array(e*e*4);t.set(this.boneMatrices);const n=new nc(t,e,e,xs,va);return n.needsUpdate=!0,this.boneMatrices=t,this.boneTexture=n,this}getBoneByName(e){for(let t=0,n=this.bones.length;t<n;t++){const i=this.bones[t];if(i.name===e)return i}}dispose(){this.boneTexture!==null&&(this.boneTexture.dispose(),this.boneTexture=null)}fromJSON(e,t){this.uuid=e.uuid;for(let n=0,i=e.bones.length;n<i;n++){const s=e.bones[n];let o=t[s];o===void 0&&(console.warn("THREE.Skeleton: No bone found with UUID:",
vendor: 4,554 bytes, line 92
92s),o=new kA),this.bones.push(o),this.boneInverses.push(new Yt().fromArray(e.boneInverses[n]))}return this.init(),this}toJSON(){const e={metadata:{version:4.7,type:"Skeleton",generator:"Skeleton.toJSON"},bones:[],boneInverses:[]};e.uuid=this.uuid;const t=this.bones,n=this.boneInverses;for(let i=0,s=t.length;i<s;i++){const o=t[i];e.bones.push(o.uuid);const c=n[i];e.boneInverses.push(c.toArray())}return e}}class gd extends Vn{constructor(e,t,n,i=1){super(e,t,n),this.isInstancedBufferAttribute=!0,this.meshPerAttribute=i}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}toJSON(){const e=super.toJSON();return e.meshPerAttribute=this.meshPerAttribute,e.isInstancedBufferAttribute=!0,e}}const qp=new Yt,Kw=new Yt,tx=[],Qw=new es,fP=new Yt,b0=new nr,M0=new Vr;class uT extends nr{constructor(e,t,n){super(e,t),this.isInstancedMesh=!0,this.instanceMatrix=new gd(new Float32Array(n*16),16),this.instanceColor=null,this.morphTexture=null,this.count=n,this.boundingBox=null,this.boundingSphere=null;for(let i=0;i<n;i++)this.setMatrixAt(i,fP)}computeBoundingBox(){const e=this.geometry,t=this.count;this.boundingBox===null&&(this.boundingBox=new es),e.boundingBox===null&&e.computeBoundingBox(),this.boundingBox.makeEmpty();for(let n=0;n<t;n++)this.getMatrixAt(n,qp),Qw.copy(e.boundingBox).applyMatrix4(qp),this.boundingBox.union(Qw)}computeBoundingSphere(){const e=this.geometry,t=this.count;this.boundingSphere===null&&(this.boundingSphere=new Vr),e.boundingSphere===null&&e.computeBoundingSphere(),this.boundingSphere.makeEmpty();for(let n=0;n<t;n++)this.getMatrixAt(n,qp),M0.copy(e.boundingSphere).applyMatrix4(qp),this.boundingSphere.union(M0)}copy(e,t){return super.copy(e,t),this.instanceMatrix.copy(e.instanceMatrix),e.morphTexture!==null&&(this.morphTexture=e.morphTexture.clone()),e.instanceColor!==null&&(this.instanceColor=e.instanceColor.clone()),this.count=e.count,e.boundingBox!==null&&(this.boundingBox=e.boundingBox.clone()),e.boundingSphere!==null&&(this.boundingSphere=e.boundingSphere.clone()),this}getColorAt(e,t){t.fromArray(this.instanceColor.array,e*3)}getMatrixAt(e,t){t.fromArray(this.instanceMatrix.array,e*16)}getMorphAt(e,t){const n=t.morphTargetInfluences,i=this.morphTexture.source.data.data,s=n.length+1,o=e*s+1;for(let c=0;c<n.length;c++)n[c]=i[o+c]}raycast(e,t){const n=this.matrixWorld,i=this.count;if(b0.geometry=this.geometry,b0.material=this.material,b0.material!==void 0&&(this.boundingSphere===null&&this.computeBoundingSphere(),M0.copy(this.boundingSphere),M0.applyMatrix4(n),e.ray.intersectsSphere(M0)!==!1))for(let s=0;s<i;s++){this.getMatrixAt(s,qp),Kw.multiplyMatrices(n,qp),b0.matrixWorld=Kw,b0.raycast(e,tx);for(let o=0,c=tx.length;o<c;o++){const f=tx[o];f.instanceId=s,f.object=this,t.push(f)}tx.length=0}}setColorAt(e,t){this.instanceColor===null&&(this.instanceColor=new gd(new Float32Array(this.instanceMatrix.count*3).fill(1),3)),t.toArray(this.instanceColor.array,e*3)}setMatrixAt(e,t){t.toArray(this.instanceMatrix.array,e*16)}setMorphAt(e,t){const n=t.morphTargetInfluences,i=n.length+1;this.morphTexture===null&&(this.morphTexture=new nc(new Float32Array(i*this.count),i,this.count,LA,va));const s=this.morphTexture.source.data.data;let o=0;for(let d=0;d<n.length;d++)o+=n[d];const c=this.geometry.morphTargetsRelative?1:1-o,f=i*e;s[f]=c,s.set(n,f+1)}updateMorphTargets(){}dispose(){this.dispatchEvent({type:"dispose"}),this.morphTexture!==null&&(this.morphTexture.dispose(),this.morphTexture=null)}}const RM=new Z,hP=new Z,dP=new un;class ff{constructor(e=new Z(1,0,0),t=0){this.isPlane=!0,this.normal=e,this.constant=t}set(e,t){return this.normal.copy(e),this.constant=t,this}setComponents(e,t,n,i){return this.normal.set(e,t,n),this.constant=i,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(e,t,n){const i=RM.subVectors(n,t).cross(hP.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(i,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){const e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,t){return t.copy(e).addScaledVector(this.normal,-this.distanceToPoint(e))}intersectLine(e,t){const n=e.delta(RM),i=this.normal.dot(n);if(i===0)return this.distanceToPoint(e.start)===0?t.copy(e.start):null;
vendor: 6,910 bytes, line 92
92const s=-(e.start.dot(this.normal)+this.constant)/i;return s<0||s>1?null:t.copy(e.start).addScaledVector(n,s)}intersectsLine(e){const t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){const n=t||dP.getNormalMatrix(e),i=this.coplanarPoint(RM).applyMatrix4(e),s=this.normal.applyMatrix3(n).normalize();return this.constant=-i.dot(s),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}}const Dh=new Vr,pP=new qe(.5,.5),nx=new Z;class qm{constructor(e=new ff,t=new ff,n=new ff,i=new ff,s=new ff,o=new ff){this.planes=[e,t,n,i,s,o]}set(e,t,n,i,s,o){const c=this.planes;return c[0].copy(e),c[1].copy(t),c[2].copy(n),c[3].copy(i),c[4].copy(s),c[5].copy(o),this}copy(e){const t=this.planes;for(let n=0;n<6;n++)t[n].copy(e.planes[n]);return this}setFromProjectionMatrix(e,t=Xa,n=!1){const i=this.planes,s=e.elements,o=s[0],c=s[1],f=s[2],d=s[3],m=s[4],g=s[5],y=s[6],_=s[7],S=s[8],M=s[9],b=s[10],A=s[11],w=s[12],D=s[13],B=s[14],I=s[15];if(i[0].setComponents(d-o,_-m,A-S,I-w).normalize(),i[1].setComponents(d+o,_+m,A+S,I+w).normalize(),i[2].setComponents(d+c,_+g,A+M,I+D).normalize(),i[3].setComponents(d-c,_-g,A-M,I-D).normalize(),n)i[4].setComponents(f,y,b,B).normalize(),i[5].setComponents(d-f,_-y,A-b,I-B).normalize();else if(i[4].setComponents(d-f,_-y,A-b,I-B).normalize(),t===Xa)i[5].setComponents(d+f,_+y,A+b,I+B).normalize();else if(t===Rm)i[5].setComponents(f,y,b,B).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+t);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),Dh.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),Dh.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(Dh)}intersectsSprite(e){Dh.center.set(0,0,0);const t=pP.distanceTo(e.center);return Dh.radius=.7071067811865476+t,Dh.applyMatrix4(e.matrixWorld),this.intersectsSphere(Dh)}intersectsSphere(e){const t=this.planes,n=e.center,i=-e.radius;for(let s=0;s<6;s++)if(t[s].distanceToPoint(n)<i)return!1;return!0}intersectsBox(e){const t=this.planes;for(let n=0;n<6;n++){const i=t[n];if(nx.x=i.normal.x>0?e.max.x:e.min.x,nx.y=i.normal.y>0?e.max.y:e.min.y,nx.z=i.normal.z>0?e.max.z:e.min.z,i.distanceToPoint(nx)<0)return!1}return!0}containsPoint(e){const t=this.planes;for(let n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}const ql=new Yt,Wl=new qm;class XA{constructor(){this.coordinateSystem=Xa}intersectsObject(e,t){if(!t.isArrayCamera||t.cameras.length===0)return!1;for(let n=0;n<t.cameras.length;n++){const i=t.cameras[n];if(ql.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse),Wl.setFromProjectionMatrix(ql,i.coordinateSystem,i.reversedDepth),Wl.intersectsObject(e))return!0}return!1}intersectsSprite(e,t){if(!t||!t.cameras||t.cameras.length===0)return!1;for(let n=0;n<t.cameras.length;n++){const i=t.cameras[n];if(ql.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse),Wl.setFromProjectionMatrix(ql,i.coordinateSystem,i.reversedDepth),Wl.intersectsSprite(e))return!0}return!1}intersectsSphere(e,t){if(!t||!t.cameras||t.cameras.length===0)return!1;for(let n=0;n<t.cameras.length;n++){const i=t.cameras[n];if(ql.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse),Wl.setFromProjectionMatrix(ql,i.coordinateSystem,i.reversedDepth),Wl.intersectsSphere(e))return!0}return!1}intersectsBox(e,t){if(!t||!t.cameras||t.cameras.length===0)return!1;for(let n=0;n<t.cameras.length;n++){const i=t.cameras[n];if(ql.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse),Wl.setFromProjectionMatrix(ql,i.coordinateSystem,i.reversedDepth),Wl.intersectsBox(e))return!0}return!1}containsPoint(e,t){if(!t||!t.cameras||t.cameras.length===0)return!1;for(let n=0;n<t.cameras.length;n++){const i=t.cameras[n];if(ql.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse),Wl.setFromProjectionMatrix(ql,i.coordinateSystem,i.reversedDepth),Wl.containsPoint(e))return!0}return!1}clone(){return new XA}}function BM(r,e){return r-e}function mP(r,e){return r.z-e.z}function gP(r,e){return e.z-r.z}class vP{constructor(){this.index=0,this.pool=[],this.list=[]}push(e,t,n,i){const s=this.pool,o=this.list;this.index>=s.length&&s.push({start:-1,count:-1,z:-1,index:-1});const c=s[this.index];o.push(c),this.index++,c.start=e,c.count=t,c.z=n,c.index=i}reset(){this.list.length=0,this.index=0}}const da=new Yt,yP=new dt(1,1,1),Zw=new qm,_P=new XA,ix=new es,Oh=new Vr,E0=new Z,$w=new Z,xP=new Z,DM=new vP,ps=new nr,rx=[];function SP(r,e,t=0){const n=e.itemSize;if(r.isInterleavedBufferAttribute||r.array.constructor!==e.array.constructor){const i=r.count;for(let s=0;s<i;s++)for(let o=0;o<n;o++)e.setComponent(s+t,o,r.getComponent(s,o))}else e.array.set(r.array,t*n);e.needsUpdate=!0}function Nh(r,e){if(r.constructor!==e.constructor){const t=Math.min(r.length,e.length);for(let n=0;n<t;n++)e[n]=r[n]}else{const t=Math.min(r.length,e.length);e.set(new r.constructor(r.buffer,0,t))}}class tO extends nr{constructor(e,t,n=t*2,i){super(new ln,i),this.isBatchedMesh=!0,this.perObjectFrustumCulled=!0,this.sortObjects=!0,this.boundingBox=null,this.boundingSphere=null,this.customSort=null,this._instanceInfo=[],this._geometryInfo=[],this._availableInstanceIds=[],this._availableGeometryIds=[],this._nextIndexStart=0,this._nextVertexStart=0,this._geometryCount=0,this._visibilityChanged=!0,this._geometryInitialized=!1,this._maxInstanceCount=e,this._maxVertexCount=t,this._maxIndexCount=n,this._multiDrawCounts=new Int32Array(e),this._multiDrawStarts=new Int32Array(e),this._multiDrawCount=0,this._multiDrawInstances=null,this._matricesTexture=null,this._indirectTexture=null,this._colorsTexture=null,this._initMatricesTexture(),this._initIndirectTexture()}get maxInstanceCount(){return this._maxInstanceCount}get instanceCount(){return this._instanceInfo.length-this._availableInstanceIds.length}get unusedVertexCount(){return this._maxVertexCount-this._nextVertexStart}get unusedIndexCount(){return this._maxIndexCount-this._nextIndexStart}_initMatricesTexture(){let e=Math.sqrt(this._maxInstanceCount*4);e=Math.ceil(e/4)*4,e=Math.max(e,4);const t=new Float32Array(e*e*4),n=new nc(t,e,e,xs,va);this._matricesTexture=n}_initIndirectTexture(){let e=Math.sqrt(this._maxInstanceCount);e=Math.ceil(e);const t=new Uint32Array(e*e),n=new nc(t,e,e,Vv,ru);this._indirectTexture=n}_initColorsTexture(){let e=Math.sqrt(this._maxInstanceCount);e=Math.ceil(e);const t=new Float32Array(e*e*4).fill(1),n=new nc(t,e,e,xs,va);
92n.colorSpace=Un.workingColorSpace,this._colorsTexture=n}_initializeGeometry(e){const t=this.geometry,n=this._maxVertexCount,i=this._maxIndexCount;if(this._geometryInitialized===!1){for(const s in e.attributes){const o=e.getAttribute(s),{array:c,itemSize:f,normalized:d}=o,m=new c.constructor(n*f),g=new Vn(m,f,d);t.setAttribute(s,g)}if(e.getIndex()!==null){const s=n>65535?new Uint32Array(i):new Uint16Array(i);t.setIndex(new Vn(s,1))}this._geometryInitialized=!0}}_validateGeometry(e){const t=this.geometry;if(!!e.getIndex()!=!!t.getIndex())throw new Error('THREE.BatchedMesh: All geometries must consistently have "index".');for(const n in t.attributes){if(!e.hasAttribute(n))throw new Error(`THREE.BatchedMesh: Added geometry missing "${n}". All geometries must have consistent attributes.`);const i=e.getAttribute(n),s=t.getAttribute(n);if(i.itemSize!==s.itemSize||i.normalized!==s.normalized)throw new Error("THREE.BatchedMesh: All attributes must have a consistent itemSize and normalized value.")}}validateInstanceId(e){const t=this._instanceInfo;if(e<0||e>=t.length||t[e].active===!1)throw new Error(`THREE.BatchedMesh: Invalid instanceId ${e}. Instance is either out of range or has been deleted.`)}validateGeometryId(e){const t=this._geometryInfo;if(e<0||e>=t.length||t[e].active===!1)throw new Error(`THREE.BatchedMesh: Invalid geometryId ${e}. Geometry is either out of range or has been deleted.`)}setCustomSort(e){return this.customSort=e,this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new es);const e=this.boundingBox,t=this._instanceInfo;e.makeEmpty();for(let n=0,i=t.length;n<i;n++){if(t[n].active===!1)continue;const s=t[n].geometryIndex;this.getMatrixAt(n,da),this.getBoundingBoxAt(s,ix).applyMatrix4(da),e.union(ix)}}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new Vr);const e=this.boundingSphere,t=this._instanceInfo;e.makeEmpty();for(let n=0,i=t.length;n<i;n++){if(t[n].active===!1)continue;const s=t[n].geometryIndex;this.getMatrixAt(n,da),this.getBoundingSphereAt(s,Oh).applyMatrix4(da),e.union(Oh)}}addInstance(e){if(this._instanceInfo.length>=this.maxInstanceCount&&this._availableInstanceIds.length===0)throw new Error("THREE.BatchedMesh: Maximum item count reached.");const n={visible:!0,active:!0,geometryIndex:e};let i=null;this._availableInstanceIds.length>0?(this._availableInstanceIds.sort(BM),i=this._availableInstanceIds.shift(),this._instanceInfo[i]=n):(i=this._instanceInfo.length,this._instanceInfo.push(n));const s=this._matricesTexture;da.identity().toArray(s.image.data,i*16),s.needsUpdate=!0;const o=this._colorsTexture;return o&&(yP.toArray(o.image.data,i*4),o.needsUpdate=!0),this._visibilityChanged=!0,i}addGeometry(e,t=-1,n=-1){this._initializeGeometry(e),this._validateGeometry(e);const i={vertexStart:-1,vertexCount:-1,reservedVertexCount:-1,indexStart:-1,indexCount:-1,reservedIndexCount:-1,start:-1,count:-1,boundingBox:null,boundingSphere:null,active:!0},s=this._geometryInfo;i.vertexStart=this._nextVertexStart,i.reservedVertexCount=t===-1?e.getAttribute("position").count:t;const o=e.getIndex();if(o!==null&&(i.indexStart=this._nextIndexStart,i.reservedIndexCount=n===-1?o.count:n),i.indexStart!==-1&&i.indexStart+i.reservedIndexCount>this._maxIndexCount||i.vertexStart+i.reservedVertexCount>this._maxVertexCount)throw new Error("THREE.BatchedMesh: Reserved space request exceeds the maximum buffer size.");let f;return this._availableGeometryIds.length>0?(this._availableGeometryIds.sort(BM),f=this._availableGeometryIds.shift(),s[f]=i):(f=this._geometryCount,this._geometryCount++,s.push(i)),this.setGeometryAt(f,e),this._nextIndexStart=i.indexStart+i.reservedIndexCount,this._nextVertexStart=i.vertexStart+i.reservedVertexCount,f}setGeometryAt(e,t){if(e>=this._geometryCount)throw new Error("THREE.BatchedMesh: Maximum geometry count reached.");this._validateGeometry(t);const n=this.geometry,i=n.getIndex()!==null,s=n.getIndex(),o=t.getIndex(),c=this._geometryInfo[e];if(i&&o.count>c.reservedIndexCount||t.attributes.position.count>c.reservedVertexCount)throw new Error("THREE.BatchedMesh: Reserved space not large enough for provided geometry.");const f=c.vertexStart,d=c.reservedVertexCount;c.vertexCount=t.getAttribute("position").count;for(const m in n.attributes){const g=t.getAttribute(m),y=n.getAttribute(m);SP(g,y,f);const _=g.itemSize;
vendor: 15,046 bytes, line 92
92for(let S=g.count,M=d;S<M;S++){const b=f+S;for(let A=0;A<_;A++)y.setComponent(b,A,0)}y.needsUpdate=!0,y.addUpdateRange(f*_,d*_)}if(i){const m=c.indexStart,g=c.reservedIndexCount;c.indexCount=t.getIndex().count;for(let y=0;y<o.count;y++)s.setX(m+y,f+o.getX(y));for(let y=o.count,_=g;y<_;y++)s.setX(m+y,f);s.needsUpdate=!0,s.addUpdateRange(m,c.reservedIndexCount)}return c.start=i?c.indexStart:c.vertexStart,c.count=i?c.indexCount:c.vertexCount,c.boundingBox=null,t.boundingBox!==null&&(c.boundingBox=t.boundingBox.clone()),c.boundingSphere=null,t.boundingSphere!==null&&(c.boundingSphere=t.boundingSphere.clone()),this._visibilityChanged=!0,e}deleteGeometry(e){const t=this._geometryInfo;if(e>=t.length||t[e].active===!1)return this;const n=this._instanceInfo;for(let i=0,s=n.length;i<s;i++)n[i].active&&n[i].geometryIndex===e&&this.deleteInstance(i);return t[e].active=!1,this._availableGeometryIds.push(e),this._visibilityChanged=!0,this}deleteInstance(e){return this.validateInstanceId(e),this._instanceInfo[e].active=!1,this._availableInstanceIds.push(e),this._visibilityChanged=!0,this}optimize(){let e=0,t=0;const n=this._geometryInfo,i=n.map((o,c)=>c).sort((o,c)=>n[o].vertexStart-n[c].vertexStart),s=this.geometry;for(let o=0,c=n.length;o<c;o++){const f=i[o],d=n[f];if(d.active!==!1){if(s.index!==null){if(d.indexStart!==t){const{indexStart:m,vertexStart:g,reservedIndexCount:y}=d,_=s.index,S=_.array,M=e-g;for(let b=m;b<m+y;b++)S[b]=S[b]+M;_.array.copyWithin(t,m,m+y),_.addUpdateRange(t,y),d.indexStart=t}t+=d.reservedIndexCount}if(d.vertexStart!==e){const{vertexStart:m,reservedVertexCount:g}=d,y=s.attributes;for(const _ in y){const S=y[_],{array:M,itemSize:b}=S;M.copyWithin(e*b,m*b,(m+g)*b),S.addUpdateRange(e*b,g*b)}d.vertexStart=e}e+=d.reservedVertexCount,d.start=s.index?d.indexStart:d.vertexStart,this._nextIndexStart=s.index?d.indexStart+d.reservedIndexCount:0,this._nextVertexStart=d.vertexStart+d.reservedVertexCount}}return this}getBoundingBoxAt(e,t){if(e>=this._geometryCount)return null;const n=this.geometry,i=this._geometryInfo[e];if(i.boundingBox===null){const s=new es,o=n.index,c=n.attributes.position;for(let f=i.start,d=i.start+i.count;f<d;f++){let m=f;o&&(m=o.getX(m)),s.expandByPoint(E0.fromBufferAttribute(c,m))}i.boundingBox=s}return t.copy(i.boundingBox),t}getBoundingSphereAt(e,t){if(e>=this._geometryCount)return null;const n=this.geometry,i=this._geometryInfo[e];if(i.boundingSphere===null){const s=new Vr;this.getBoundingBoxAt(e,ix),ix.getCenter(s.center);const o=n.index,c=n.attributes.position;let f=0;for(let d=i.start,m=i.start+i.count;d<m;d++){let g=d;o&&(g=o.getX(g)),E0.fromBufferAttribute(c,g),f=Math.max(f,s.center.distanceToSquared(E0))}s.radius=Math.sqrt(f),i.boundingSphere=s}return t.copy(i.boundingSphere),t}setMatrixAt(e,t){this.validateInstanceId(e);const n=this._matricesTexture,i=this._matricesTexture.image.data;return t.toArray(i,e*16),n.needsUpdate=!0,this}getMatrixAt(e,t){return this.validateInstanceId(e),t.fromArray(this._matricesTexture.image.data,e*16)}setColorAt(e,t){return this.validateInstanceId(e),this._colorsTexture===null&&this._initColorsTexture(),t.toArray(this._colorsTexture.image.data,e*4),this._colorsTexture.needsUpdate=!0,this}getColorAt(e,t){return this.validateInstanceId(e),t.fromArray(this._colorsTexture.image.data,e*4)}setVisibleAt(e,t){return this.validateInstanceId(e),this._instanceInfo[e].visible===t?this:(this._instanceInfo[e].visible=t,this._visibilityChanged=!0,this)}getVisibleAt(e){return this.validateInstanceId(e),this._instanceInfo[e].visible}setGeometryIdAt(e,t){return this.validateInstanceId(e),this.validateGeometryId(t),this._instanceInfo[e].geometryIndex=t,this}getGeometryIdAt(e){return this.validateInstanceId(e),this._instanceInfo[e].geometryIndex}getGeometryRangeAt(e,t={}){this.validateGeometryId(e);const n=this._geometryInfo[e];return t.vertexStart=n.vertexStart,t.vertexCount=n.vertexCount,t.reservedVertexCount=n.reservedVertexCount,t.indexStart=n.indexStart,t.indexCount=n.indexCount,t.reservedIndexCount=n.reservedIndexCount,t.start=n.start,t.count=n.count,t}setInstanceCount(e){const t=this._availableInstanceIds,n=this._instanceInfo;for(t.sort(BM);t[t.length-1]===n.length-1;)n.pop(),t.pop();if(e<n.length)throw new Error(`BatchedMesh: Instance ids outside the range ${e} are being used. Cannot shrink instance count.`);const i=new Int32Array(e),s=new Int32Array(e);Nh(this._multiDrawCounts,i),Nh(this._multiDrawStarts,s),this._multiDrawCounts=i,this._multiDrawStarts=s,this._maxInstanceCount=e;const o=this._indirectTexture,c=this._matricesTexture,f=this._colorsTexture;o.dispose(),this._initIndirectTexture(),Nh(o.image.data,this._indirectTexture.image.data),c.dispose(),this._initMatricesTexture(),Nh(c.image.data,this._matricesTexture.image.data),f&&(f.dispose(),this._initColorsTexture(),Nh(f.image.data,this._colorsTexture.image.data))}setGeometrySize(e,t){const n=[...this._geometryInfo].filter(c=>c.active);if(Math.max(...n.map(c=>c.vertexStart+c.reservedVertexCount))>e)throw new Error(`BatchedMesh: Geometry vertex values are being used outside the range ${t}. Cannot shrink further.`);if(this.geometry.index&&Math.max(...n.map(f=>f.indexStart+f.reservedIndexCount))>t)throw new Error(`BatchedMesh: Geometry index values are being used outside the range ${t}. Cannot shrink further.`);const s=this.geometry;s.dispose(),this._maxVertexCount=e,this._maxIndexCount=t,this._geometryInitialized&&(this._geometryInitialized=!1,this.geometry=new ln,this._initializeGeometry(s));const o=this.geometry;s.index&&Nh(s.index.array,o.index.array);for(const c in s.attributes)Nh(s.attributes[c].array,o.attributes[c].array)}raycast(e,t){const n=this._instanceInfo,i=this._geometryInfo,s=this.matrixWorld,o=this.geometry;ps.material=this.material,ps.geometry.index=o.index,ps.geometry.attributes=o.attributes,ps.geometry.boundingBox===null&&(ps.geometry.boundingBox=new es),ps.geometry.boundingSphere===null&&(ps.geometry.boundingSphere=new Vr);for(let c=0,f=n.length;c<f;c++){if(!n[c].visible||!n[c].active)continue;const d=n[c].geometryIndex,m=i[d];ps.geometry.setDrawRange(m.start,m.count),this.getMatrixAt(c,ps.matrixWorld).premultiply(s),this.getBoundingBoxAt(d,ps.geometry.boundingBox),this.getBoundingSphereAt(d,ps.geometry.boundingSphere),ps.raycast(e,rx);for(let g=0,y=rx.length;g<y;g++){const _=rx[g];_.object=this,_.batchId=c,t.push(_)}rx.length=0}ps.material=null,ps.geometry.index=null,ps.geometry.attributes={},ps.geometry.setDrawRange(0,1/0)}copy(e){return super.copy(e),this.geometry=e.geometry.clone(),this.perObjectFrustumCulled=e.perObjectFrustumCulled,this.sortObjects=e.sortObjects,this.boundingBox=e.boundingBox!==null?e.boundingBox.clone():null,this.boundingSphere=e.boundingSphere!==null?e.boundingSphere.clone():null,this._geometryInfo=e._geometryInfo.map(t=>({...t,boundingBox:t.boundingBox!==null?t.boundingBox.clone():null,boundingSphere:t.boundingSphere!==null?t.boundingSphere.clone():null})),this._instanceInfo=e._instanceInfo.map(t=>({...t})),this._availableInstanceIds=e._availableInstanceIds.slice(),this._availableGeometryIds=e._availableGeometryIds.slice(),this._nextIndexStart=e._nextIndexStart,this._nextVertexStart=e._nextVertexStart,this._geometryCount=e._geometryCount,this._maxInstanceCount=e._maxInstanceCount,this._maxVertexCount=e._maxVertexCount,this._maxIndexCount=e._maxIndexCount,this._geometryInitialized=e._geometryInitialized,this._multiDrawCounts=e._multiDrawCounts.slice(),this._multiDrawStarts=e._multiDrawStarts.slice(),this._indirectTexture=e._indirectTexture.clone(),this._indirectTexture.image.data=this._indirectTexture.image.data.slice(),this._matricesTexture=e._matricesTexture.clone(),this._matricesTexture.image.data=this._matricesTexture.image.data.slice(),this._colorsTexture!==null&&(this._colorsTexture=e._colorsTexture.clone(),this._colorsTexture.image.data=this._colorsTexture.image.data.slice()),this}dispose(){this.geometry.dispose(),this._matricesTexture.dispose(),this._matricesTexture=null,this._indirectTexture.dispose(),this._indirectTexture=null,this._colorsTexture!==null&&(this._colorsTexture.dispose(),this._colorsTexture=null)}onBeforeRender(e,t,n,i,s){if(!this._visibilityChanged&&!this.perObjectFrustumCulled&&!this.sortObjects)return;const o=i.getIndex(),c=o===null?1:o.array.BYTES_PER_ELEMENT,f=this._instanceInfo,d=this._multiDrawStarts,m=this._multiDrawCounts,g=this._geometryInfo,y=this.perObjectFrustumCulled,_=this._indirectTexture,S=_.image.data,M=n.isArrayCamera?_P:Zw;y&&!n.isArrayCamera&&(da.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse).multiply(this.matrixWorld),Zw.setFromProjectionMatrix(da,n.coordinateSystem,n.reversedDepth));let b=0;if(this.sortObjects){da.copy(this.matrixWorld).invert(),E0.setFromMatrixPosition(n.matrixWorld).applyMatrix4(da),$w.set(0,0,-1).transformDirection(n.matrixWorld).transformDirection(da);for(let D=0,B=f.length;D<B;D++)if(f[D].visible&&f[D].active){const I=f[D].geometryIndex;this.getMatrixAt(D,da),this.getBoundingSphereAt(I,Oh).applyMatrix4(da);let O=!1;if(y&&(O=!M.intersectsSphere(Oh,n)),!O){const U=g[I],z=xP.subVectors(Oh.center,E0).dot($w);DM.push(U.start,U.count,z,D)}}const A=DM.list,w=this.customSort;w===null?A.sort(s.transparent?gP:mP):w.call(this,A,n);for(let D=0,B=A.length;D<B;D++){const I=A[D];d[b]=I.start*c,m[b]=I.count,S[b]=I.index,b++}DM.reset()}else for(let A=0,w=f.length;A<w;A++)if(f[A].visible&&f[A].active){const D=f[A].geometryIndex;let B=!1;if(y&&(this.getMatrixAt(A,da),this.getBoundingSphereAt(D,Oh).applyMatrix4(da),B=!M.intersectsSphere(Oh,n)),!B){const I=g[D];d[b]=I.start*c,m[b]=I.count,S[b]=A,b++}}_.needsUpdate=!0,this._multiDrawCount=b,this._visibilityChanged=!1}onBeforeShadow(e,t,n,i,s,o){this.onBeforeRender(e,null,i,s,o)}}class bs extends Rr{constructor(e){super(),this.isLineBasicMaterial=!0,this.type="LineBasicMaterial",this.color=new dt(16777215),this.map=null,this.linewidth=1,this.linecap="round",this.linejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.linewidth=e.linewidth,this.linecap=e.linecap,this.linejoin=e.linejoin,this.fog=e.fog,this}}const sA=new Z,aA=new Z,eR=new Yt,T0=new jm,sx=new Vr,OM=new Z,tR=new Z;class su extends Pn{constructor(e=new ln,t=new bs){super(),this.isLine=!0,this.type="Line",this.geometry=e,this.material=t,this.morphTargetDictionary=void 0,this.morphTargetInfluences=void 0,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}computeLineDistances(){const e=this.geometry;if(e.index===null){const t=e.attributes.position,n=[0];for(let i=1,s=t.count;i<s;i++)sA.fromBufferAttribute(t,i-1),aA.fromBufferAttribute(t,i),n[i]=n[i-1],n[i]+=sA.distanceTo(aA);e.setAttribute("lineDistance",new Dt(n,1))}else console.warn("THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}raycast(e,t){const n=this.geometry,i=this.matrixWorld,s=e.params.Line.threshold,o=n.drawRange;if(n.boundingSphere===null&&n.computeBoundingSphere(),sx.copy(n.boundingSphere),sx.applyMatrix4(i),sx.radius+=s,e.ray.intersectsSphere(sx)===!1)return;eR.copy(i).invert(),T0.copy(e.ray).applyMatrix4(eR);const c=s/((this.scale.x+this.scale.y+this.scale.z)/3),f=c*c,d=this.isLineSegments?2:1,m=n.index,y=n.attributes.position;if(m!==null){const _=Math.max(0,o.start),S=Math.min(m.count,o.start+o.count);for(let M=_,b=S-1;M<b;M+=d){const A=m.getX(M),w=m.getX(M+1),D=ax(this,e,T0,f,A,w,M);D&&t.push(D)}if(this.isLineLoop){const M=m.getX(S-1),b=m.getX(_),A=ax(this,e,T0,f,M,b,S-1);A&&t.push(A)}}else{const _=Math.max(0,o.start),S=Math.min(y.count,o.start+o.count);for(let M=_,b=S-1;M<b;M+=d){const A=ax(this,e,T0,f,M,M+1,M);A&&t.push(A)}if(this.isLineLoop){const M=ax(this,e,T0,f,S-1,_,S-1);M&&t.push(M)}}}updateMorphTargets(){const t=this.geometry.morphAttributes,n=Object.keys(t);if(n.length>0){const i=t[n[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=i.length;s<o;s++){const c=i[s].name||String(s);this.morphTargetInfluences.push(0),this.morphTargetDictionary[c]=s}}}}}function ax(r,e,t,n,i,s,o){const c=r.geometry.attributes.position;if(sA.fromBufferAttribute(c,i),aA.fromBufferAttribute(c,s),t.distanceSqToSegment(sA,aA,OM,tR)>n)return;OM.applyMatrix4(r.matrixWorld);const d=e.ray.origin.distanceTo(OM);if(!(d<e.near||d>e.far))return{distance:d,point:tR.clone().applyMatrix4(r.matrixWorld),index:o,face:null,faceIndex:null,barycoord:null,object:r}}const nR=new Z,iR=new Z;class fl extends su{constructor(e,t){super(e,t),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const e=this.geometry;if(e.index===null){const t=e.attributes.position,n=[];for(let i=0,s=t.count;i<s;i+=2)nR.fromBufferAttribute(t,i),iR.fromBufferAttribute(t,i+1),n[i]=i===0?0:n[i-1],n[i+1]=n[i]+nR.distanceTo(iR);e.setAttribute("lineDistance",new Dt(n,1))}else console.warn("THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}}class fT extends su{constructor(e,t){super(e,t),this.isLineLoop=!0,this.type="LineLoop"}}class YA extends Rr{constructor(e){super(),this.isPointsMaterial=!0,this.type="PointsMaterial",this.color=new dt(16777215),this.map=null,this.alphaMap=null,this.size=1,this.sizeAttenuation=!0,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.alphaMap=e.alphaMap,this.size=e.size,this.sizeAttenuation=e.sizeAttenuation,this.fog=e.fog,this}}const rR=new Yt,K1=new jm,ox=new Vr,lx=new Z;class hT extends Pn{constructor(e=new ln,t=new YA){super(),this.isPoints=!0,this.type="Points",this.geometry=e,this.material=t,this.morphTargetDictionary=void 0,this.morphTargetInfluences=void 0,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}raycast(e,t){const n=this.geometry,i=this.matrixWorld,s=e.params.Points.threshold,o=n.drawRange;if(n.boundingSphere===null&&n.computeBoundingSphere(),ox.copy(n.boundingSphere),ox.applyMatrix4(i),ox.radius+=s,e.ray.intersectsSphere(ox)===!1)return;rR.copy(i).invert(),K1.copy(e.ray).applyMatrix4(rR);const c=s/((this.scale.x+this.scale.y+this.scale.z)/3),f=c*c,d=n.index,g=n.attributes.position;if(d!==null){const y=Math.max(0,o.start),_=Math.min(d.count,o.start+o.count);for(let S=y,M=_;S<M;S++){const b=d.getX(S);lx.fromBufferAttribute(g,b),sR(lx,b,f,i,e,t,this)}}else{const y=Math.max(0,o.start),_=Math.min(g.count,o.start+o.count);for(let S=y,M=_;S<M;S++)lx.fromBufferAttribute(g,S),sR(lx,S,f,i,e,t,this)}}updateMorphTargets(){const t=this.geometry.morphAttributes,n=Object.keys(t);if(n.length>0){const i=t[n[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=i.length;s<o;s++){const c=i[s].name||String(s);this.morphTargetInfluences.push(0),this.morphTargetDictionary[c]=s}}}}}function sR(r,e,t,n,i,s,o){const c=K1.distanceSqToPoint(r);if(c<t){const f=new Z;
vendor: 4,139 bytes, line 92
92K1.closestPointToPoint(r,f),f.applyMatrix4(n);const d=i.ray.origin.distanceTo(f);if(d<i.near||d>i.far)return;s.push({distance:d,distanceToRay:Math.sqrt(c),point:f,index:e,face:null,faceIndex:null,barycoord:null,object:o})}}class nO extends Bi{constructor(e,t,n,i,s=tr,o=tr,c,f,d){super(e,t,n,i,s,o,c,f,d),this.isVideoTexture=!0,this.generateMipmaps=!1,this._requestVideoFrameCallbackId=0;const m=this;function g(){m.needsUpdate=!0,m._requestVideoFrameCallbackId=e.requestVideoFrameCallback(g)}"requestVideoFrameCallback"in e&&(this._requestVideoFrameCallbackId=e.requestVideoFrameCallback(g))}clone(){return new this.constructor(this.image).copy(this)}update(){const e=this.image;"requestVideoFrameCallback"in e===!1&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}dispose(){this._requestVideoFrameCallbackId!==0&&this.source.data.cancelVideoFrameCallback(this._requestVideoFrameCallbackId),super.dispose()}}class AP extends nO{constructor(e,t,n,i,s,o,c,f){super({},e,t,n,i,s,o,c,f),this.isVideoFrameTexture=!0}update(){}clone(){return new this.constructor().copy(this)}setFrame(e){this.image=e,this.needsUpdate=!0}}class bP extends Bi{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=Gr,this.minFilter=Gr,this.generateMipmaps=!1,this.needsUpdate=!0}}class jA extends Bi{constructor(e,t,n,i,s,o,c,f,d,m,g,y){super(null,o,c,f,d,m,i,s,g,y),this.isCompressedTexture=!0,this.image={width:t,height:n},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class MP extends jA{constructor(e,t,n,i,s,o){super(e,t,n,s,o),this.isCompressedArrayTexture=!0,this.image.depth=i,this.wrapR=ka,this.layerUpdates=new Set}addLayerUpdate(e){this.layerUpdates.add(e)}clearLayerUpdates(){this.layerUpdates.clear()}}class EP extends jA{constructor(e,t,n){super(void 0,e[0].width,e[0].height,t,n,iu),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class TP extends Bi{constructor(e,t,n,i,s,o,c,f,d){super(e,t,n,i,s,o,c,f,d),this.isCanvasTexture=!0,this.needsUpdate=!0}}class dT extends Bi{constructor(e,t,n=ru,i,s,o,c=Gr,f=Gr,d,m=Em,g=1){if(m!==Em&&m!==Tm)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");const y={width:e,height:t,depth:g};super(y,i,s,o,c,f,m,n,d),this.isDepthTexture=!0,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(e){return super.copy(e),this.source=new pf(Object.assign({},e.image)),this.compareFunction=e.compareFunction,this}toJSON(e){const t=super.toJSON(e);return this.compareFunction!==null&&(t.compareFunction=this.compareFunction),t}}class qA extends ln{constructor(e=1,t=1,n=4,i=8,s=1){super(),this.type="CapsuleGeometry",this.parameters={radius:e,height:t,capSegments:n,radialSegments:i,heightSegments:s},t=Math.max(0,t),n=Math.max(1,Math.floor(n)),i=Math.max(3,Math.floor(i)),s=Math.max(1,Math.floor(s));const o=[],c=[],f=[],d=[],m=t/2,g=Math.PI/2*e,y=t,_=2*g+y,S=n*2+s,M=i+1,b=new Z,A=new Z;for(let w=0;w<=S;w++){let D=0,B=0,I=0,O=0;if(w<=n){const P=w/n,N=P*Math.PI/2;B=-m-e*Math.cos(N),I=e*Math.sin(N),O=-e*Math.cos(N),D=P*g}else if(w<=n+s){const P=(w-n)/s;B=-m+P*t,I=e,O=0,D=g+P*y}else{const P=(w-n-s)/n,N=P*Math.PI/2;B=m+e*Math.sin(N),I=e*Math.cos(N),O=e*Math.sin(N),D=g+y+P*g}const U=Math.max(0,Math.min(1,D/_));let z=0;w===0?z=.5/i:w===S&&(z=-.5/i);for(let P=0;P<=i;P++){const N=P/i,G=N*Math.PI*2,X=Math.sin(G),Q=Math.cos(G);A.x=-I*Q,A.y=B,A.z=I*X,c.push(A.x,A.y,A.z),b.set(-I*Q,O,I*X),b.normalize(),f.push(b.x,b.y,b.z),d.push(N+z,U)}if(w>0){const P=(w-1)*M;for(let N=0;N<i;N++){const G=P+N,X=P+N+1,Q=w*M+N,te=w*M+N+1;o.push(G,X,Q),o.push(X,te,Q)}}}this.setIndex(o),this.setAttribute("position",new Dt(c,3)),this.setAttribute("normal",new Dt(f,3)),this.setAttribute("uv",new Dt(d,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new qA(e.radius,e.height,e.capSegments,e.radialSegments,e.heightSegments)}}class WA extends ln{constructor(e=1,t=32,n=0,i=Math.PI*2){super(),this.type="CircleGeometry",this.parameters={radius:e,segments:t,thetaStart:n,thetaLength:i},t=Math.max(3,t);const s=[],o=[],c=[],f=[],d=new Z,m=new qe;
vendor: 2,353 bytes, line 92
92o.push(0,0,0),c.push(0,0,1),f.push(.5,.5);for(let g=0,y=3;g<=t;g++,y+=3){const _=n+g/t*i;d.x=e*Math.cos(_),d.y=e*Math.sin(_),o.push(d.x,d.y,d.z),c.push(0,0,1),m.x=(o[y]/e+1)/2,m.y=(o[y+1]/e+1)/2,f.push(m.x,m.y)}for(let g=1;g<=t;g++)s.push(g,g+1,0);this.setIndex(s),this.setAttribute("position",new Dt(o,3)),this.setAttribute("normal",new Dt(c,3)),this.setAttribute("uv",new Dt(f,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new WA(e.radius,e.segments,e.thetaStart,e.thetaLength)}}class jv extends ln{constructor(e=1,t=1,n=1,i=32,s=1,o=!1,c=0,f=Math.PI*2){super(),this.type="CylinderGeometry",this.parameters={radiusTop:e,radiusBottom:t,height:n,radialSegments:i,heightSegments:s,openEnded:o,thetaStart:c,thetaLength:f};const d=this;i=Math.floor(i),s=Math.floor(s);const m=[],g=[],y=[],_=[];let S=0;const M=[],b=n/2;let A=0;w(),o===!1&&(e>0&&D(!0),t>0&&D(!1)),this.setIndex(m),this.setAttribute("position",new Dt(g,3)),this.setAttribute("normal",new Dt(y,3)),this.setAttribute("uv",new Dt(_,2));function w(){const B=new Z,I=new Z;let O=0;const U=(t-e)/n;for(let z=0;z<=s;z++){const P=[],N=z/s,G=N*(t-e)+e;for(let X=0;X<=i;X++){const Q=X/i,te=Q*f+c,le=Math.sin(te),k=Math.cos(te);I.x=G*le,I.y=-N*n+b,I.z=G*k,g.push(I.x,I.y,I.z),B.set(le,U,k).normalize(),y.push(B.x,B.y,B.z),_.push(Q,1-N),P.push(S++)}M.push(P)}for(let z=0;z<i;z++)for(let P=0;P<s;P++){const N=M[P][z],G=M[P+1][z],X=M[P+1][z+1],Q=M[P][z+1];(e>0||P!==0)&&(m.push(N,G,Q),O+=3),(t>0||P!==s-1)&&(m.push(G,X,Q),O+=3)}d.addGroup(A,O,0),A+=O}function D(B){const I=S,O=new qe,U=new Z;let z=0;const P=B===!0?e:t,N=B===!0?1:-1;for(let X=1;X<=i;X++)g.push(0,b*N,0),y.push(0,N,0),_.push(.5,.5),S++;const G=S;for(let X=0;X<=i;X++){const te=X/i*f+c,le=Math.cos(te),k=Math.sin(te);U.x=P*k,U.y=b*N,U.z=P*le,g.push(U.x,U.y,U.z),y.push(0,N,0),O.x=le*.5+.5,O.y=k*.5*N+.5,_.push(O.x,O.y),S++}for(let X=0;X<i;X++){const Q=I+X,te=G+X;B===!0?m.push(te,te+1,Q):m.push(te+1,te,Q),z+=3}d.addGroup(A,z,B===!0?1:2),A+=z}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new jv(e.radiusTop,e.radiusBottom,e.height,e.radialSegments,e.heightSegments,e.openEnded,e.thetaStart,e.thetaLength)}}class qv extends jv{constructor(e=1,t=1,n=32,i=1,s=!1,o=0,c=Math.PI*2){super(0,e,t,n,i,s,o,c),this.type="C
92oneGeometry",this.parameters={radius:e,height:t,radialSegments:n,heightSegments:i,openEnded:s,thetaStart:o,thetaLength:c}}static fromJSON(e){return new qv(e.radius,e.height,e.radialSegments,e.heightSegments,e.openEnded,e.thetaStart,e.thetaLength)}}class Of extends ln{constructor(e=[],t=[],n=1,i=0){super(),this.type="PolyhedronGeometry",this.parameters={vertices:e,indices:t,radius:n,detail:i};const s=[],o=[];c(i),d(n),m(),this.setAttribute("position",new Dt(s,3)),this.setAttribute("normal",new Dt(s.slice(),3)),this.setAttribute("uv",new Dt(o,2)),i===0?this.computeVertexNormals():this.normalizeNormals();function c(w){const D=new Z,B=new Z,I=new Z;for(let O=0;O<t.length;O+=3)_(t[O+0],D),_(t[O+1],B),_(t[O+2],I),f(D,B,I,w)}function f(w,D,B,I){const O=I+1,U=[];for(let z=0;z<=O;z++){U[z]=[];const P=w.clone().lerp(B,z/O),N=D.clone().lerp(B,z/O),G=O-z;for(let X=0;X<=G;X++)X===0&&z===O?U[z][X]=P:U[z][X]=P.clone().lerp(N,X/G)}for(let z=0;z<O;z++)for(let P=0;P<2*(O-z)-1;P++){const N=Math.floor(P/2);P%2===0?(y(U[z][N+1]),y(U[z+1][N]),y(U[z][N])):(y(U[z][N+1]),y(U[z+1][N+1]),y(U[z+1][N]))}}function d(w){const D=new Z;for(let B=0;B<s.length;B+=3)D.x=s[B+0],D.y=s[B+1],D.z=s[B+2],D.normalize().multiplyScalar(w),s[B+0]=D.x,s[B+1]=D.y,s[B+2]=D.z}function m(){const w=new Z;for(let D=0;D<s.length;D+=3){w.x=s[D+0],w.y=s[D+1],w.z=s[D+2];const B=b(w)/2/Math.PI+.5,I=A(w)/Math.PI+.5;o.push(B,1-I)}S(),g()}function g(){for(let w=0;w<o.length;w+=6){const D=o[w+0],B=o[w+2],I=o[w+4],O=Math.max(D,B,I),U=Math.min(D,B,I);O>.9&&U<.1&&(D<.2&&(o[w+0]+=1),B<.2&&(o[w+2]+=1),I<.2&&(o[w+4]+=1))}}function y(w){s.push(w.x,w.y,w.z)}function _(w,D){const B=w*3;D.x=e[B+0],D.y=e[B+1],D.z=e[B+2]}function S(){const w=new Z,D=new Z,B=new Z,I=new Z,O=new qe,U=new qe,z=new qe;
vendor: 11,201 bytes, line 92
92for(let P=0,N=0;P<s.length;P+=9,N+=6){w.set(s[P+0],s[P+1],s[P+2]),D.set(s[P+3],s[P+4],s[P+5]),B.set(s[P+6],s[P+7],s[P+8]),O.set(o[N+0],o[N+1]),U.set(o[N+2],o[N+3]),z.set(o[N+4],o[N+5]),I.copy(w).add(D).add(B).divideScalar(3);const G=b(I);M(O,N+0,w,G),M(U,N+2,D,G),M(z,N+4,B,G)}}function M(w,D,B,I){I<0&&w.x===1&&(o[D]=w.x-1),B.x===0&&B.z===0&&(o[D]=I/2/Math.PI+.5)}function b(w){return Math.atan2(w.z,-w.x)}function A(w){return Math.atan2(-w.y,Math.sqrt(w.x*w.x+w.z*w.z))}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new Of(e.vertices,e.indices,e.radius,e.details)}}class JA extends Of{constructor(e=1,t=0){const n=(1+Math.sqrt(5))/2,i=1/n,s=[-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-i,-n,0,-i,n,0,i,-n,0,i,n,-i,-n,0,-i,n,0,i,-n,0,i,n,0,-n,0,-i,n,0,-i,-n,0,i,n,0,i],o=[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9];super(s,o,e,t),this.type="DodecahedronGeometry",this.parameters={radius:e,detail:t}}static fromJSON(e){return new JA(e.radius,e.detail)}}const cx=new Z,ux=new Z,NM=new Z,fx=new ga;class iO extends ln{constructor(e=null,t=1){if(super(),this.type="EdgesGeometry",this.parameters={geometry:e,thresholdAngle:t},e!==null){const i=Math.pow(10,4),s=Math.cos(ad*t),o=e.getIndex(),c=e.getAttribute("position"),f=o?o.count:c.count,d=[0,0,0],m=["a","b","c"],g=new Array(3),y={},_=[];for(let S=0;S<f;S+=3){o?(d[0]=o.getX(S),d[1]=o.getX(S+1),d[2]=o.getX(S+2)):(d[0]=S,d[1]=S+1,d[2]=S+2);const{a:M,b,c:A}=fx;if(M.fromBufferAttribute(c,d[0]),b.fromBufferAttribute(c,d[1]),A.fromBufferAttribute(c,d[2]),fx.getNormal(NM),g[0]=`${Math.round(M.x*i)},${Math.round(M.y*i)},${Math.round(M.z*i)}`,g[1]=`${Math.round(b.x*i)},${Math.round(b.y*i)},${Math.round(b.z*i)}`,g[2]=`${Math.round(A.x*i)},${Math.round(A.y*i)},${Math.round(A.z*i)}`,!(g[0]===g[1]||g[1]===g[2]||g[2]===g[0]))for(let w=0;w<3;w++){const D=(w+1)%3,B=g[w],I=g[D],O=fx[m[w]],U=fx[m[D]],z=`${B}_${I}`,P=`${I}_${B}`;P in y&&y[P]?(NM.dot(y[P].normal)<=s&&(_.push(O.x,O.y,O.z),_.push(U.x,U.y,U.z)),y[P]=null):z in y||(y[z]={index0:d[w],index1:d[D],normal:NM.clone()})}}for(const S in y)if(y[S]){const{index0:M,index1:b}=y[S];cx.fromBufferAttribute(c,M),ux.fromBufferAttribute(c,b),_.push(cx.x,cx.y,cx.z),_.push(ux.x,ux.y,ux.z)}this.setAttribute("position",new Dt(_,3))}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}}class hl{constructor(){this.type="Curve",this.arcLengthDivisions=200,this.needsUpdate=!1,this.cacheArcLengths=null}getPoint(){console.warn("THREE.Curve: .getPoint() not implemented.")}getPointAt(e,t){const n=this.getUtoTmapping(e);return this.getPoint(n,t)}getPoints(e=5){const t=[];for(let n=0;n<=e;n++)t.push(this.getPoint(n/e));return t}getSpacedPoints(e=5){const t=[];for(let n=0;n<=e;n++)t.push(this.getPointAt(n/e));return t}getLength(){const e=this.getLengths();return e[e.length-1]}getLengths(e=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const t=[];let n,i=this.getPoint(0),s=0;t.push(0);for(let o=1;o<=e;o++)n=this.getPoint(o/e),s+=n.distanceTo(i),t.push(s),i=n;return this.cacheArcLengths=t,t}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,t=null){const n=this.getLengths();let i=0;const s=n.length;let o;t?o=t:o=e*n[s-1];let c=0,f=s-1,d;for(;c<=f;)if(i=Math.floor(c+(f-c)/2),d=n[i]-o,d<0)c=i+1;else if(d>0)f=i-1;else{f=i;break}if(i=f,n[i]===o)return i/(s-1);const m=n[i],y=n[i+1]-m,_=(o-m)/y;return(i+_)/(s-1)}getTangent(e,t){let i=e-1e-4,s=e+1e-4;i<0&&(i=0),s>1&&(s=1);const o=this.getPoint(i),c=this.getPoint(s),f=t||(o.isVector2?new qe:new Z);return f.copy(c).sub(o).normalize(),f}getTangentAt(e,t){const n=this.getUtoTmapping(e);return this.getTangent(n,t)}computeFrenetFrames(e,t=!1){const n=new Z,i=[],s=[],o=[],c=new Z,f=new Yt;for(let _=0;_<=e;_++){const S=_/e;i[_]=this.getTangentAt(S,new Z)}s[0]=new Z,o[0]=new Z;let d=Number.MAX_VALUE;const m=Math.abs(i[0].x),g=Math.abs(i[0].y),y=Math.abs(i[0].z);m<=d&&(d=m,n.set(1,0,0)),g<=d&&(d=g,n.set(0,1,0)),y<=d&&n.set(0,0,1),c.crossVectors(i[0],n).normalize(),s[0].crossVectors(i[0],c),o[0].crossVectors(i[0],s[0]);for(let _=1;_<=e;_++){if(s[_]=s[_-1].clone(),o[_]=o[_-1].clone(),c.crossVectors(i[_-1],i[_]),c.length()>Number.EPSILON){c.normalize();const S=Math.acos(Zt(i[_-1].dot(i[_]),-1,1));s[_].applyMatrix4(f.makeRotationAxis(c,S))}o[_].crossVectors(i[_],s[_])}if(t===!0){let _=Math.acos(Zt(s[0].dot(s[e]),-1,1));_/=e,i[0].dot(c.crossVectors(s[0],s[e]))>0&&(_=-_);for(let S=1;S<=e;S++)s[S].applyMatrix4(f.makeRotationAxis(i[S],_*S)),o[S].crossVectors(i[S],s[S])}return{tangents:i,normals:s,binormals:o}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){const e={metadata:{version:4.7,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}}class KA extends hl{constructor(e=0,t=0,n=1,i=1,s=0,o=Math.PI*2,c=!1,f=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=t,this.xRadius=n,this.yRadius=i,this.aStartAngle=s,this.aEndAngle=o,this.aClockwise=c,this.aRotation=f}getPoint(e,t=new qe){const n=t,i=Math.PI*2;let s=this.aEndAngle-this.aStartAngle;const o=Math.abs(s)<Number.EPSILON;for(;s<0;)s+=i;for(;s>i;)s-=i;s<Number.EPSILON&&(o?s=0:s=i),this.aClockwise===!0&&!o&&(s===i?s=-i:s=s-i);const c=this.aStartAngle+e*s;let f=this.aX+this.xRadius*Math.cos(c),d=this.aY+this.yRadius*Math.sin(c);if(this.aRotation!==0){const m=Math.cos(this.aRotation),g=Math.sin(this.aRotation),y=f-this.aX,_=d-this.aY;f=y*m-_*g+this.aX,d=y*g+_*m+this.aY}return n.set(f,d)}copy(e){return super.copy(e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.xRadius,this.yRadius=e.yRadius,this.aStartAngle=e.aStartAngle,this.aEndAngle=e.aEndAngle,this.aClockwise=e.aClockwise,this.aRotation=e.aRotation,this}toJSON(){const e=super.toJSON();return e.aX=this.aX,e.aY=this.aY,e.xRadius=this.xRadius,e.yRadius=this.yRadius,e.aStartAngle=this.aStartAngle,e.aEndAngle=this.aEndAngle,e.aClockwise=this.aClockwise,e.aRotation=this.aRotation,e}fromJSON(e){return super.fromJSON(e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.xRadius,this.yRadius=e.yRadius,this.aStartAngle=e.aStartAngle,this.aEndAngle=e.aEndAngle,this.aClockwise=e.aClockwise,this.aRotation=e.aRotation,this}}class rO extends KA{constructor(e,t,n,i,s,o){super(e,t,n,n,i,s,o),this.isArcCurve=!0,this.type="ArcCurve"}}function pT(){let r=0,e=0,t=0,n=0;function i(s,o,c,f){r=s,e=c,t=-3*s+3*o-2*c-f,n=2*s-2*o+c+f}return{initCatmullRom:function(s,o,c,f,d){i(o,c,d*(c-s),d*(f-o))},initNonuniformCatmullRom:function(s,o,c,f,d,m,g){let y=(o-s)/d-(c-s)/(d+m)+(c-o)/m,_=(c-o)/m-(f-o)/(m+g)+(f-c)/g;y*=m,_*=m,i(o,c,y,_)},calc:function(s){const o=s*s,c=o*s;return r+e*s+t*o+n*c}}}const hx=new Z,LM=new pT,UM=new pT,IM=new pT;class sO extends hl{constructor(e=[],t=!1,n="centripetal",i=.5){super(),this.isCatmullRomCurve3=!0,this.type="CatmullRomCurve3",this.points=e,this.closed=t,this.curveType=n,this.tension=i}getPoint(e,t=new Z){const n=t,i=this.points,s=i.length,o=(s-(this.closed?0:1))*e;let c=Math.floor(o),f=o-c;this.closed?c+=c>0?0:(Math.floor(Math.abs(c)/s)+1)*s:f===0&&c===s-1&&(c=s-2,f=1);let d,m;this.closed||c>0?d=i[(c-1)%s]:(hx.subVectors(i[0],i[1]).add(i[0]),d=hx);const g=i[c%s],y=i[(c+1)%s];if(this.closed||c+2<s?m=i[(c+2)%s]:(hx.subVectors(i[s-1],i[s-2]).add(i[s-1]),m=hx),this.curveType==="centripetal"||this.curveType==="chordal"){const _=this.curveType==="chordal"?.5:.25;let S=Math.pow(d.distanceToSquared(g),_),M=Math.pow(g.distanceToSquared(y),_),b=Math.pow(y.distanceToSquared(m),_);M<1e-4&&(M=1),S<1e-4&&(S=M),b<1e-4&&(b=M),LM.initNonuniformCatmullRom(d.x,g.x,y.x,m.x,S,M,b),UM.initNonuniformCatmullRom(d.y,g.y,y.y,m.y,S,M,b),IM.initNonuniformCatmullRom(d.z,g.z,y.z,m.z,S,M,b)}else this.curveType==="catmullrom"&&(LM.initCatmullRom(d.x,g.x,y.x,m.x,this.tension),UM.initCatmullRom(d.y,g.y,y.y,m.y,this.tension),IM.initCatmullRom(d.z,g.z,y.z,m.z,this.tension));return n.set(LM.calc(f),UM.calc(f),IM.calc(f)),n}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t<n;t++){const i=e.points[t];this.points.push(i.clone())}return this.closed=e.closed,this.curveType=e.curveType,this.tension=e.tension,this}toJSON(){const e=super.toJSON();e.points=[];for(let t=0,n=this.points.length;t<n;t++){const i=this.points[t];e.points.push(i.toArray())}return e.closed=this.closed,e.curveType=this.curveType,e.tension=this.tension,e}fromJSON(e){super.fromJSON(e),this.points=[];for(let t=0,n=e.points.length;t<n;t++){const i=e.points[t];this.points.push(new Z().fromArray(i))}return this.closed=e.closed,this.curveType=e.curveType,this.tension=e.tension,this}}function aR(r,e,t,n,i){const s=(n-e)*.5,o=(i-t)*.5,c=r*r,f=r*c;return(2*t-2*n+s+o)*f+(-3*t+3*n-2*s-o)*c+s*r+t}function CP(r,e){const t=1-r;return t*t*e}function wP(r,e){return 2*(1-r)*r*e}function RP(r,e){return r*r*e}function tv(r,e,t,n){return CP(r,e)+wP(r,t)+RP(r,n)}function BP(r,e){const t=1-r;return t*t*t*e}function DP(r,e){const t=1-r;return 3*t*t*r*e}function OP(r,e){return 3*(1-r)*r*r*e}function NP(r,e){return r*r*r*e}function nv(r,e,t,n,i){return BP(r,e)+DP(r,t)+OP(r,n)+NP(r,i)}class mT extends hl{constructor(e=new qe,t=new qe,n=new qe,i=new qe){super(),this.isCubicBezierCurve=!0,this.type="CubicBezierCurve",this.v0=e,this.v1=t,this.v2=n,this.v3=i}getPoint(e,t=new qe){const n=t,i=this.v0,s=this.v1,o=this.v2,c=this.v3;return n.set(nv(e,i.x,s.x,o.x,c.x),nv(e,i.y,s.y,o.y,c.y)),n}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this.v3.copy(e.v3),this}toJSON(){const e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e.v3=this.v3.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this.v3.fromArray(e.v3),this}}class aO extends hl{constructor(e=new Z,t=new Z,n=new Z,i=new Z){super(),this.isCubicBezierCurve3=!0,this.type="CubicBezierCurve3",this.v0=e,this.v1=t,this.v2=n,this.v3=i}getPoint(e,t=new Z){const n=t,i=this.v0,s=this.v1,o=this.v2,c=this.v3;return n.set(nv(e,i.x,s.x,o.x,c.x),nv(e,i.y,s.y,o.y,c.y),nv(e,i.z,s.z,o.z,c.z)),n}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this.v3.copy(e.v3),this}toJSON(){const e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e.v3=this.v3.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this.v3.fromArray(e.v3),this}}class gT extends hl{constructor(e=new qe,t=new qe){super(),this.isLineCurve=!0,this.type="LineCurve",this.v1=e,this.v2=t}getPoint(e,t=new qe){const n=t;return e===1?n.copy(this.v2):(n.copy(this.v2).sub(this.v1),n.multiplyScalar(e).add(this.v1)),n}getPointAt(e,t){return this.getPoint(e,t)}
vendor: 8,599 bytes, line 92
92getTangent(e,t=new qe){return t.subVectors(this.v2,this.v1).normalize()}getTangentAt(e,t){return this.getTangent(e,t)}copy(e){return super.copy(e),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){const e=super.toJSON();return e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}}class oO extends hl{constructor(e=new Z,t=new Z){super(),this.isLineCurve3=!0,this.type="LineCurve3",this.v1=e,this.v2=t}getPoint(e,t=new Z){const n=t;return e===1?n.copy(this.v2):(n.copy(this.v2).sub(this.v1),n.multiplyScalar(e).add(this.v1)),n}getPointAt(e,t){return this.getPoint(e,t)}getTangent(e,t=new Z){return t.subVectors(this.v2,this.v1).normalize()}getTangentAt(e,t){return this.getTangent(e,t)}copy(e){return super.copy(e),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){const e=super.toJSON();return e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}}class vT extends hl{constructor(e=new qe,t=new qe,n=new qe){super(),this.isQuadraticBezierCurve=!0,this.type="QuadraticBezierCurve",this.v0=e,this.v1=t,this.v2=n}getPoint(e,t=new qe){const n=t,i=this.v0,s=this.v1,o=this.v2;return n.set(tv(e,i.x,s.x,o.x),tv(e,i.y,s.y,o.y)),n}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){const e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}}class yT extends hl{constructor(e=new Z,t=new Z,n=new Z){super(),this.isQuadraticBezierCurve3=!0,this.type="QuadraticBezierCurve3",this.v0=e,this.v1=t,this.v2=n}getPoint(e,t=new Z){const n=t,i=this.v0,s=this.v1,o=this.v2;return n.set(tv(e,i.x,s.x,o.x),tv(e,i.y,s.y,o.y),tv(e,i.z,s.z,o.z)),n}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){const e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}}class _T extends hl{constructor(e=[]){super(),this.isSplineCurve=!0,this.type="SplineCurve",this.points=e}getPoint(e,t=new qe){const n=t,i=this.points,s=(i.length-1)*e,o=Math.floor(s),c=s-o,f=i[o===0?o:o-1],d=i[o],m=i[o>i.length-2?i.length-1:o+1],g=i[o>i.length-3?i.length-1:o+2];return n.set(aR(c,f.x,d.x,m.x,g.x),aR(c,f.y,d.y,m.y,g.y)),n}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t<n;t++){const i=e.points[t];this.points.push(i.clone())}return this}toJSON(){const e=super.toJSON();e.points=[];for(let t=0,n=this.points.length;t<n;t++){const i=this.points[t];e.points.push(i.toArray())}return e}fromJSON(e){super.fromJSON(e),this.points=[];for(let t=0,n=e.points.length;t<n;t++){const i=e.points[t];this.points.push(new qe().fromArray(i))}return this}}var oA=Object.freeze({__proto__:null,ArcCurve:rO,CatmullRomCurve3:sO,CubicBezierCurve:mT,CubicBezierCurve3:aO,EllipseCurve:KA,LineCurve:gT,LineCurve3:oO,QuadraticBezierCurve:vT,QuadraticBezierCurve3:yT,SplineCurve:_T});class lO extends hl{constructor(){super(),this.type="CurvePath",this.curves=[],this.autoClose=!1}add(e){this.curves.push(e)}closePath(){const e=this.curves[0].getPoint(0),t=this.curves[this.curves.length-1].getPoint(1);if(!e.equals(t)){const n=e.isVector2===!0?"LineCurve":"LineCurve3";this.curves.push(new oA[n](t,e))}return this}getPoint(e,t){const n=e*this.getLength(),i=this.getCurveLengths();let s=0;for(;s<i.length;){if(i[s]>=n){const o=i[s]-n,c=this.curves[s],f=c.getLength(),d=f===0?0:1-o/f;return c.getPointAt(d,t)}s++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let t=0;for(let n=0,i=this.curves.length;n<i;n++)t+=this.curves[n].getLength(),e.push(t);return this.cacheLengths=e,e}getSpacedPoints(e=40){const t=[];for(let n=0;n<=e;n++)t.push(this.getPoint(n/e));return this.autoClose&&t.push(t[0]),t}getPoints(e=12){const t=[];let n;for(let i=0,s=this.curves;i<s.length;i++){const o=s[i],c=o.isEllipseCurve?e*2:o.isLineCurve||o.isLineCurve3?1:o.isSplineCurve?e*o.points.length:e,f=o.getPoints(c);for(let d=0;d<f.length;d++){const m=f[d];n&&n.equals(m)||(t.push(m),n=m)}}return this.autoClose&&t.length>1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,n=e.curves.length;t<n;t++){const i=e.curves[t];this.curves.push(i.clone())}return this.autoClose=e.autoClose,this}toJSON(){const e=super.toJSON();e.autoClose=this.autoClose,e.curves=[];for(let t=0,n=this.curves.length;t<n;t++){const i=this.curves[t];e.curves.push(i.toJSON())}return e}fromJSON(e){super.fromJSON(e),this.autoClose=e.autoClose,this.curves=[];for(let t=0,n=e.curves.length;t<n;t++){const i=e.curves[t];this.curves.push(new oA[i.type]().fromJSON(i))}return this}}class lA extends lO{constructor(e){super(),this.type="Path",this.currentPoint=new qe,e&&this.setFromPoints(e)}setFromPoints(e){this.moveTo(e[0].x,e[0].y);for(let t=1,n=e.length;t<n;t++)this.lineTo(e[t].x,e[t].y);return this}moveTo(e,t){return this.currentPoint.set(e,t),this}lineTo(e,t){const n=new gT(this.currentPoint.clone(),new qe(e,t));return this.curves.push(n),this.currentPoint.set(e,t),this}quadraticCurveTo(e,t,n,i){const s=new vT(this.currentPoint.clone(),new qe(e,t),new qe(n,i));return this.curves.push(s),this.currentPoint.set(n,i),this}bezierCurveTo(e,t,n,i,s,o){const c=new mT(this.currentPoint.clone(),new qe(e,t),new qe(n,i),new qe(s,o));return this.curves.push(c),this.currentPoint.set(s,o),this}splineThru(e){const t=[this.currentPoint.clone()].concat(e),n=new _T(t);return this.curves.push(n),this.currentPoint.copy(e[e.length-1]),this}arc(e,t,n,i,s,o){const c=this.currentPoint.x,f=this.currentPoint.y;return this.absarc(e+c,t+f,n,i,s,o),this}absarc(e,t,n,i,s,o){return this.absellipse(e,t,n,n,i,s,o),this}ellipse(e,t,n,i,s,o,c,f){const d=this.currentPoint.x,m=this.currentPoint.y;return this.absellipse(e+d,t+m,n,i,s,o,c,f),this}absellipse(e,t,n,i,s,o,c,f){const d=new KA(e,t,n,i,s,o,c,f);if(this.curves.length>0){const g=d.getPoint(0);g.equals(this.currentPoint)||this.lineTo(g.x,g.y)}this.curves.push(d);const m=d.getPoint(1);return this.currentPoint.copy(m),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){const e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}}class od extends lA{constructor(e){super(e),this.uuid=qa(),this.type="Shape",this.holes=[]}getPointsHoles(e){const t=[];for(let n=0,i=this.holes.length;n<i;n++)t[n]=this.holes[n].getPoints(e);return t}extractPoints(e){return{shape:this.getPoints(e),holes:this.getPointsHoles(e)}}copy(e){super.copy(e),this.holes=[];for(let t=0,n=e.holes.length;t<n;t++){const i=e.holes[t];this.holes.push(i.clone())}return this}toJSON(){const e=super.toJSON();e.uuid=this.uuid,e.holes=[];for(let t=0,n=this.holes.length;t<n;t++){const i=this.holes[t];e.holes.push(i.toJSON())}return e}fromJSON(e){super.fromJSON(e),this.uuid=e.uuid,this.holes=[];for(let t=0,n=e.holes.length;t<n;t++){const i=e.holes[t];this.holes.push(new lA().fromJSON(i))}return this}}function LP(r,e,t=2){const n=e&&e.length,i=n?e[0]*t:r.length;let s=cO(r,0,i,t,!0);const o=[];if(!s||s.next===s.prev)return o;let c,f,d;if(n&&(s=zP(r,e,s,t)),r.length>80*t){c=1/0,f=1/0;let m=-1/0,g=-1/0;for(let y=t;y<i;y+=t){const _=r[y],S=r[y+1];_<c&&(c=_),S<f&&(f=S),_>m&&(m=_),S>g&&(g=S)}d=Math.max(m-c,g-f),d=d!==0?32767/d:0}return bv(s,o,t,c,f,d,0),o}function cO(r,e,t,n,i){let s;if(i===KP(r,e,t,n)>0)for(let o=e;o<t;o+=n)s=oR(o/n|0,r[o],r[o+1],s);else for(let o=t-n;o>=e;o-=n)s=oR(o/n|0,r[o],r[o+1],s);return s&&Nm(s,s.next)&&(Ev(s),s=s.next),s}function vd(r,e){if(!r)return r;e||(e=r);let t=r,n;do if(n=!1,!t.steiner&&(Nm(t,t.next)||Pi(t.prev,t,t.next)===0)){if(Ev(t),t=e=t.prev,t===t.next)break;n=!0}else t=t.next;while(n||t!==e);return e}function bv(r,e,t,n,i,s,o){if(!r)return;!o&&s&&XP(r,n,i,s);let c=r;for(;r.prev!==r.next;){const f=r.prev,d=r.next;if(s?IP(r,n,i,s):UP(r)){e.push(f.i,r.i,d.i),Ev(r),r=d.next,c=d.next;continue}if(r=d,r===c){o?o===1?(r=PP(vd(r),e),bv(r,e,t,n,i,s,2)):o===2&&HP(r,e,t,n,i,s):bv(vd(r),e,t,n,i,s,1);break}}}function UP(r){const e=r.prev,t=r,n=r.next;
vendor: 1,695 bytes, line 92
92if(Pi(e,t,n)>=0)return!1;const i=e.x,s=t.x,o=n.x,c=e.y,f=t.y,d=n.y,m=Math.min(i,s,o),g=Math.min(c,f,d),y=Math.max(i,s,o),_=Math.max(c,f,d);let S=n.next;for(;S!==e;){if(S.x>=m&&S.x<=y&&S.y>=g&&S.y<=_&&z0(i,c,s,f,o,d,S.x,S.y)&&Pi(S.prev,S,S.next)>=0)return!1;S=S.next}return!0}function IP(r,e,t,n){const i=r.prev,s=r,o=r.next;if(Pi(i,s,o)>=0)return!1;const c=i.x,f=s.x,d=o.x,m=i.y,g=s.y,y=o.y,_=Math.min(c,f,d),S=Math.min(m,g,y),M=Math.max(c,f,d),b=Math.max(m,g,y),A=Q1(_,S,e,t,n),w=Q1(M,b,e,t,n);let D=r.prevZ,B=r.nextZ;for(;D&&D.z>=A&&B&&B.z<=w;){if(D.x>=_&&D.x<=M&&D.y>=S&&D.y<=b&&D!==i&&D!==o&&z0(c,m,f,g,d,y,D.x,D.y)&&Pi(D.prev,D,D.next)>=0||(D=D.prevZ,B.x>=_&&B.x<=M&&B.y>=S&&B.y<=b&&B!==i&&B!==o&&z0(c,m,f,g,d,y,B.x,B.y)&&Pi(B.prev,B,B.next)>=0))return!1;B=B.nextZ}for(;D&&D.z>=A;){if(D.x>=_&&D.x<=M&&D.y>=S&&D.y<=b&&D!==i&&D!==o&&z0(c,m,f,g,d,y,D.x,D.y)&&Pi(D.prev,D,D.next)>=0)return!1;D=D.prevZ}for(;B&&B.z<=w;){if(B.x>=_&&B.x<=M&&B.y>=S&&B.y<=b&&B!==i&&B!==o&&z0(c,m,f,g,d,y,B.x,B.y)&&Pi(B.prev,B,B.next)>=0)return!1;B=B.nextZ}return!0}function PP(r,e){let t=r;do{const n=t.prev,i=t.next.next;!Nm(n,i)&&fO(n,t,t.next,i)&&Mv(n,i)&&Mv(i,n)&&(e.push(n.i,t.i,i.i),Ev(t),Ev(t.next),t=r=i),t=t.next}while(t!==r);return vd(t)}function HP(r,e,t,n,i,s){let o=r;do{let c=o.next.next;for(;c!==o.prev;){if(o.i!==c.i&&qP(o,c)){let f=hO(o,c);o=vd(o,o.next),f=vd(f,f.next),bv(o,e,t,n,i,s,0),bv(f,e,t,n,i,s,0);return}c=c.next}o=o.next}while(o!==r)}function zP(r,e,t,n){const i=[];for(let s=0,o=e.length;s<o;s++){const c=e[s]*n,f=s<o-1?e[s+1]*n:r.length,d=cO(r,c,f,n,!1);d===d.next&&(d.steiner=!0),i.push(jP(d))}i.sort(FP);for(let s=0;s<i.length;s++)t=GP(i[s],t);return t}function FP(r,e){let t=r.x-e.x;
vendor: 5,415 bytes, line 92
92if(t===0&&(t=r.y-e.y,t===0)){const n=(r.next.y-r.y)/(r.next.x-r.x),i=(e.next.y-e.y)/(e.next.x-e.x);t=n-i}return t}function GP(r,e){const t=VP(r,e);if(!t)return e;const n=hO(t,r);return vd(n,n.next),vd(t,t.next)}function VP(r,e){let t=e;const n=r.x,i=r.y;let s=-1/0,o;if(Nm(r,t))return t;do{if(Nm(r,t.next))return t.next;if(i<=t.y&&i>=t.next.y&&t.next.y!==t.y){const g=t.x+(i-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(g<=n&&g>s&&(s=g,o=t.x<t.next.x?t:t.next,g===n))return o}t=t.next}while(t!==e);if(!o)return null;const c=o,f=o.x,d=o.y;let m=1/0;t=o;do{if(n>=t.x&&t.x>=f&&n!==t.x&&uO(i<d?n:s,i,f,d,i<d?s:n,i,t.x,t.y)){const g=Math.abs(i-t.y)/(n-t.x);Mv(t,r)&&(g<m||g===m&&(t.x>o.x||t.x===o.x&&kP(o,t)))&&(o=t,m=g)}t=t.next}while(t!==c);return o}function kP(r,e){return Pi(r.prev,r,e.prev)<0&&Pi(e.next,r,r.next)<0}function XP(r,e,t,n){let i=r;do i.z===0&&(i.z=Q1(i.x,i.y,e,t,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==r);i.prevZ.nextZ=null,i.prevZ=null,YP(i)}function YP(r){let e,t=1;do{let n=r,i;r=null;let s=null;for(e=0;n;){e++;let o=n,c=0;for(let d=0;d<t&&(c++,o=o.nextZ,!!o);d++);let f=t;for(;c>0||f>0&&o;)c!==0&&(f===0||!o||n.z<=o.z)?(i=n,n=n.nextZ,c--):(i=o,o=o.nextZ,f--),s?s.nextZ=i:r=i,i.prevZ=s,s=i;n=o}s.nextZ=null,t*=2}while(e>1);return r}function Q1(r,e,t,n,i){return r=(r-t)*i|0,e=(e-n)*i|0,r=(r|r<<8)&16711935,r=(r|r<<4)&252645135,r=(r|r<<2)&858993459,r=(r|r<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,r|e<<1}function jP(r){let e=r,t=r;do(e.x<t.x||e.x===t.x&&e.y<t.y)&&(t=e),e=e.next;while(e!==r);return t}function uO(r,e,t,n,i,s,o,c){return(i-o)*(e-c)>=(r-o)*(s-c)&&(r-o)*(n-c)>=(t-o)*(e-c)&&(t-o)*(s-c)>=(i-o)*(n-c)}function z0(r,e,t,n,i,s,o,c){return!(r===o&&e===c)&&uO(r,e,t,n,i,s,o,c)}function qP(r,e){return r.next.i!==e.i&&r.prev.i!==e.i&&!WP(r,e)&&(Mv(r,e)&&Mv(e,r)&&JP(r,e)&&(Pi(r.prev,r,e.prev)||Pi(r,e.prev,e))||Nm(r,e)&&Pi(r.prev,r,r.next)>0&&Pi(e.prev,e,e.next)>0)}function Pi(r,e,t){return(e.y-r.y)*(t.x-e.x)-(e.x-r.x)*(t.y-e.y)}function Nm(r,e){return r.x===e.x&&r.y===e.y}function fO(r,e,t,n){const i=px(Pi(r,e,t)),s=px(Pi(r,e,n)),o=px(Pi(t,n,r)),c=px(Pi(t,n,e));return!!(i!==s&&o!==c||i===0&&dx(r,t,e)||s===0&&dx(r,n,e)||o===0&&dx(t,r,n)||c===0&&dx(t,e,n))}function dx(r,e,t){return e.x<=Math.max(r.x,t.x)&&e.x>=Math.min(r.x,t.x)&&e.y<=Math.max(r.y,t.y)&&e.y>=Math.min(r.y,t.y)}function px(r){return r>0?1:r<0?-1:0}function WP(r,e){let t=r;do{if(t.i!==r.i&&t.next.i!==r.i&&t.i!==e.i&&t.next.i!==e.i&&fO(t,t.next,r,e))return!0;t=t.next}while(t!==r);return!1}function Mv(r,e){return Pi(r.prev,r,r.next)<0?Pi(r,e,r.next)>=0&&Pi(r,r.prev,e)>=0:Pi(r,e,r.prev)<0||Pi(r,r.next,e)<0}function JP(r,e){let t=r,n=!1;const i=(r.x+e.x)/2,s=(r.y+e.y)/2;do t.y>s!=t.next.y>s&&t.next.y!==t.y&&i<(t.next.x-t.x)*(s-t.y)/(t.next.y-t.y)+t.x&&(n=!n),t=t.next;while(t!==r);return n}function hO(r,e){const t=Z1(r.i,r.x,r.y),n=Z1(e.i,e.x,e.y),i=r.next,s=e.prev;return r.next=e,e.prev=r,t.next=i,i.prev=t,n.next=t,t.prev=n,s.next=n,n.prev=s,n}function oR(r,e,t,n){const i=Z1(r,e,t);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function Ev(r){r.next.prev=r.prev,r.prev.next=r.next,r.prevZ&&(r.prevZ.nextZ=r.nextZ),r.nextZ&&(r.nextZ.prevZ=r.prevZ)}function Z1(r,e,t){return{i:r,x:e,y:t,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function KP(r,e,t,n){let i=0;for(let s=e,o=t-n;s<t;s+=n)i+=(r[o]-r[s])*(r[s+1]+r[o+1]),o=s;return i}class QP{static triangulate(e,t,n=2){return LP(e,t,n)}}class cl{static area(e){const t=e.length;let n=0;for(let i=t-1,s=0;s<t;i=s++)n+=e[i].x*e[s].y-e[s].x*e[i].y;return n*.5}static isClockWise(e){return cl.area(e)<0}static triangulateShape(e,t){const n=[],i=[],s=[];lR(e),cR(n,e);let o=e.length;t.forEach(lR);for(let f=0;f<t.length;f++)i.push(o),o+=t[f].length,cR(n,t[f]);const c=QP.triangulate(n,i);for(let f=0;f<c.length;f+=3)s.push(c.slice(f,f+3));return s}}function lR(r){const e=r.length;e>2&&r[e-1].equals(r[0])&&r.pop()}function cR(r,e){for(let t=0;t<e.length;t++)r.push(e[t].x),r.push(e[t].y)}class QA extends ln{constructor(e=new od([new qe(.5,.5),new qe(-.5,.5),new qe(-.5,-.5),new qe(.5,-.5)]),t={}){super(),this.type="ExtrudeGeometry",this.parameters={shapes:e,options:t},e=Array.isArray(e)?e:[e];const n=this,i=[],s=[];for(let c=0,f=e.length;c<f;c++){const d=e[c];o(d)}this.setAttribute("position",new Dt(i,3)),this.setAttribute("uv",new Dt(s,2)),this.computeVertexNormals();function o(c){const f=[],d=t.curveSegments!==void 0?t.curveSegments:12,m=t.steps!==void 0?t.steps:1,g=t.depth!==void 0?t.depth:1;let y=t.bevelEnabled!==void 0?t.bevelEnabled:!0,_=t.bevelThickness!==void 0?t.bevelThickness:.2,S=t.bevelSize!==void 0?t.bevelSize:_-.1,M=t.bevelOffset!==void 0?t.bevelOffset:0,b=t.bevelSegments!==void 0?t.bevelSegments:3;const A=t.extrudePath,w=t.UVGenerator!==void 0?t.UVGenerator:ZP;let D,B=!1,I,O,U,z;A&&(D=A.getSpacedPoints(m),B=!0,y=!1,I=A.computeFrenetFrames(m,!1),O=new Z,U=new Z,z=new Z),y||(b=0,_=0,S=0,M=0);const P=c.extractPoints(d);let N=P.shape;const G=P.holes;if(!cl.isClockWise(N)){N=N.reverse();for(let Ie=0,Le=G.length;Ie<Le;Ie++){const Ge=G[Ie];cl.isClockWise(Ge)&&(G[Ie]=Ge.reverse())}}function Q(Ie){const Ge=10000000000000001e-36;let ie=Ie[0];for(let Ze=1;Ze<=Ie.length;Ze++){const ke=Ze%Ie.length,Je=Ie[ke],ht=Je.x-ie.x,Lt=Je.y-ie.y,J=ht*ht+Lt*Lt,V=Math.max(Math.abs(Je.x),Math.abs(Je.y),Math.abs(ie.x),Math.abs(ie.y)),me=Ge*V*V;
vendor: 55,260 bytes, line 92
92if(J<=me){Ie.splice(ke,1),Ze--;continue}ie=Je}}Q(N),G.forEach(Q);const te=G.length,le=N;for(let Ie=0;Ie<te;Ie++){const Le=G[Ie];N=N.concat(Le)}function k(Ie,Le,Ge){return Le||console.error("THREE.ExtrudeGeometry: vec does not exist"),Ie.clone().addScaledVector(Le,Ge)}const W=N.length;function ee(Ie,Le,Ge){let ie,Ze,ke;const Je=Ie.x-Le.x,ht=Ie.y-Le.y,Lt=Ge.x-Ie.x,J=Ge.y-Ie.y,V=Je*Je+ht*ht,me=Je*J-ht*Lt;if(Math.abs(me)>Number.EPSILON){const we=Math.sqrt(V),Ue=Math.sqrt(Lt*Lt+J*J),Re=Le.x-ht/we,ot=Le.y+Je/we,$e=Ge.x-J/Ue,St=Ge.y+Lt/Ue,lt=(($e-Re)*J-(St-ot)*Lt)/(Je*J-ht*Lt);ie=Re+Je*lt-Ie.x,Ze=ot+ht*lt-Ie.y;const Ye=ie*ie+Ze*Ze;if(Ye<=2)return new qe(ie,Ze);ke=Math.sqrt(Ye/2)}else{let we=!1;Je>Number.EPSILON?Lt>Number.EPSILON&&(we=!0):Je<-Number.EPSILON?Lt<-Number.EPSILON&&(we=!0):Math.sign(ht)===Math.sign(J)&&(we=!0),we?(ie=-ht,Ze=Je,ke=Math.sqrt(V)):(ie=Je,Ze=ht,ke=Math.sqrt(V/2))}return new qe(ie/ke,Ze/ke)}const pe=[];for(let Ie=0,Le=le.length,Ge=Le-1,ie=Ie+1;Ie<Le;Ie++,Ge++,ie++)Ge===Le&&(Ge=0),ie===Le&&(ie=0),pe[Ie]=ee(le[Ie],le[Ge],le[ie]);const H=[];let re,ye=pe.concat();for(let Ie=0,Le=te;Ie<Le;Ie++){const Ge=G[Ie];re=[];for(let ie=0,Ze=Ge.length,ke=Ze-1,Je=ie+1;ie<Ze;ie++,ke++,Je++)ke===Ze&&(ke=0),Je===Ze&&(Je=0),re[ie]=ee(Ge[ie],Ge[ke],Ge[Je]);H.push(re),ye=ye.concat(re)}let Ae;if(b===0)Ae=cl.triangulateShape(le,G);else{const Ie=[],Le=[];for(let Ge=0;Ge<b;Ge++){const ie=Ge/b,Ze=_*Math.cos(ie*Math.PI/2),ke=S*Math.sin(ie*Math.PI/2)+M;for(let Je=0,ht=le.length;Je<ht;Je++){const Lt=k(le[Je],pe[Je],ke);We(Lt.x,Lt.y,-Ze),ie===0&&Ie.push(Lt)}for(let Je=0,ht=te;Je<ht;Je++){const Lt=G[Je];re=H[Je];const J=[];for(let V=0,me=Lt.length;V<me;V++){const we=k(Lt[V],re[V],ke);We(we.x,we.y,-Ze),ie===0&&J.push(we)}ie===0&&Le.push(J)}}Ae=cl.triangulateShape(Ie,Le)}const Te=Ae.length,he=S+M;for(let Ie=0;Ie<W;Ie++){const Le=y?k(N[Ie],ye[Ie],he):N[Ie];B?(U.copy(I.normals[0]).multiplyScalar(Le.x),O.copy(I.binormals[0]).multiplyScalar(Le.y),z.copy(D[0]).add(U).add(O),We(z.x,z.y,z.z)):We(Le.x,Le.y,0)}for(let Ie=1;Ie<=m;Ie++)for(let Le=0;Le<W;Le++){const Ge=y?k(N[Le],ye[Le],he):N[Le];B?(U.copy(I.normals[Ie]).multiplyScalar(Ge.x),O.copy(I.binormals[Ie]).multiplyScalar(Ge.y),z.copy(D[Ie]).add(U).add(O),We(z.x,z.y,z.z)):We(Ge.x,Ge.y,g/m*Ie)}for(let Ie=b-1;Ie>=0;Ie--){const Le=Ie/b,Ge=_*Math.cos(Le*Math.PI/2),ie=S*Math.sin(Le*Math.PI/2)+M;for(let Ze=0,ke=le.length;Ze<ke;Ze++){const Je=k(le[Ze],pe[Ze],ie);We(Je.x,Je.y,g+Ge)}for(let Ze=0,ke=G.length;Ze<ke;Ze++){const Je=G[Ze];re=H[Ze];for(let ht=0,Lt=Je.length;ht<Lt;ht++){const J=k(Je[ht],re[ht],ie);B?We(J.x,J.y+D[m-1].y,D[m-1].x+Ge):We(J.x,J.y,g+Ge)}}}xe(),Ne();function xe(){const Ie=i.length/3;if(y){let Le=0,Ge=W*Le;for(let ie=0;ie<Te;ie++){const Ze=Ae[ie];gt(Ze[2]+Ge,Ze[1]+Ge,Ze[0]+Ge)}Le=m+b*2,Ge=W*Le;for(let ie=0;ie<Te;ie++){const Ze=Ae[ie];gt(Ze[0]+Ge,Ze[1]+Ge,Ze[2]+Ge)}}else{for(let Le=0;Le<Te;Le++){const Ge=Ae[Le];gt(Ge[2],Ge[1],Ge[0])}for(let Le=0;Le<Te;Le++){const Ge=Ae[Le];gt(Ge[0]+W*m,Ge[1]+W*m,Ge[2]+W*m)}}n.addGroup(Ie,i.length/3-Ie,0)}function Ne(){const Ie=i.length/3;let Le=0;Oe(le,Le),Le+=le.length;for(let Ge=0,ie=G.length;Ge<ie;Ge++){const Ze=G[Ge];Oe(Ze,Le),Le+=Ze.length}n.addGroup(Ie,i.length/3-Ie,1)}function Oe(Ie,Le){let Ge=Ie.length;for(;--Ge>=0;){const ie=Ge;let Ze=Ge-1;Ze<0&&(Ze=Ie.length-1);for(let ke=0,Je=m+b*2;ke<Je;ke++){const ht=W*ke,Lt=W*(ke+1),J=Le+ie+ht,V=Le+Ze+ht,me=Le+Ze+Lt,we=Le+ie+Lt;Ft(J,V,me,we)}}}function We(Ie,Le,Ge){f.push(Ie),f.push(Le),f.push(Ge)}function gt(Ie,Le,Ge){At(Ie),At(Le),At(Ge);const ie=i.length/3,Ze=w.generateTopUV(n,i,ie-3,ie-2,ie-1);ne(Ze[0]),ne(Ze[1]),ne(Ze[2])}function Ft(Ie,Le,Ge,ie){At(Ie),At(Le),At(ie),At(Le),At(Ge),At(ie);const Ze=i.length/3,ke=w.generateSideWallUV(n,i,Ze-6,Ze-3,Ze-2,Ze-1);ne(ke[0]),ne(ke[1]),ne(ke[3]),ne(ke[1]),ne(ke[2]),ne(ke[3])}function At(Ie){i.push(f[Ie*3+0]),i.push(f[Ie*3+1]),i.push(f[Ie*3+2])}function ne(Ie){s.push(Ie.x),s.push(Ie.y)}}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}toJSON(){const e=super.toJSON(),t=this.parameters.shapes,n=this.parameters.options;return $P(t,n,e)}static fromJSON(e,t){const n=[];for(let s=0,o=e.shapes.length;s<o;s++){const c=t[e.shapes[s]];n.push(c)}const i=e.options.extrudePath;return i!==void 0&&(e.options.extrudePath=new oA[i.type]().fromJSON(i)),new QA(n,e.options)}}const ZP={generateTopUV:function(r,e,t,n,i){const s=e[t*3],o=e[t*3+1],c=e[n*3],f=e[n*3+1],d=e[i*3],m=e[i*3+1];return[new qe(s,o),new qe(c,f),new qe(d,m)]},generateSideWallUV:function(r,e,t,n,i,s){const o=e[t*3],c=e[t*3+1],f=e[t*3+2],d=e[n*3],m=e[n*3+1],g=e[n*3+2],y=e[i*3],_=e[i*3+1],S=e[i*3+2],M=e[s*3],b=e[s*3+1],A=e[s*3+2];return Math.abs(c-m)<Math.abs(o-d)?[new qe(o,1-f),new qe(d,1-g),new qe(y,1-S),new qe(M,1-A)]:[new qe(c,1-f),new qe(m,1-g),new qe(_,1-S),new qe(b,1-A)]}};function $P(r,e,t){if(t.shapes=[],Array.isArray(r))for(let n=0,i=r.length;n<i;n++){const s=r[n];t.shapes.push(s.uuid)}else t.shapes.push(r.uuid);return t.options=Object.assign({},e),e.extrudePath!==void 0&&(t.options.extrudePath=e.extrudePath.toJSON()),t}class ZA extends Of{constructor(e=1,t=0){const n=(1+Math.sqrt(5))/2,i=[-1,n,0,1,n,0,-1,-n,0,1,-n,0,0,-1,n,0,1,n,0,-1,-n,0,1,-n,n,0,-1,n,0,1,-n,0,-1,-n,0,1],s=[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1];super(i,s,e,t),this.type="IcosahedronGeometry",this.parameters={radius:e,detail:t}}static fromJSON(e){return new ZA(e.radius,e.detail)}}class $A extends ln{constructor(e=[new qe(0,-.5),new qe(.5,0),new qe(0,.5)],t=12,n=0,i=Math.PI*2){super(),this.type="LatheGeometry",this.parameters={points:e,segments:t,phiStart:n,phiLength:i},t=Math.floor(t),i=Zt(i,0,Math.PI*2);const s=[],o=[],c=[],f=[],d=[],m=1/t,g=new Z,y=new qe,_=new Z,S=new Z,M=new Z;let b=0,A=0;for(let w=0;w<=e.length-1;w++)switch(w){case 0:b=e[w+1].x-e[w].x,A=e[w+1].y-e[w].y,_.x=A*1,_.y=-b,_.z=A*0,M.copy(_),_.normalize(),f.push(_.x,_.y,_.z);break;case e.length-1:f.push(M.x,M.y,M.z);break;default:b=e[w+1].x-e[w].x,A=e[w+1].y-e[w].y,_.x=A*1,_.y=-b,_.z=A*0,S.copy(_),_.x+=M.x,_.y+=M.y,_.z+=M.z,_.normalize(),f.push(_.x,_.y,_.z),M.copy(S)}for(let w=0;w<=t;w++){const D=n+w*m*i,B=Math.sin(D),I=Math.cos(D);for(let O=0;O<=e.length-1;O++){g.x=e[O].x*B,g.y=e[O].y,g.z=e[O].x*I,o.push(g.x,g.y,g.z),y.x=w/t,y.y=O/(e.length-1),c.push(y.x,y.y);const U=f[3*O+0]*B,z=f[3*O+1],P=f[3*O+0]*I;d.push(U,z,P)}}for(let w=0;w<t;w++)for(let D=0;D<e.length-1;D++){const B=D+w*e.length,I=B,O=B+e.length,U=B+e.length+1,z=B+1;s.push(I,O,z),s.push(U,z,O)}this.setIndex(s),this.setAttribute("position",new Dt(o,3)),this.setAttribute("uv",new Dt(c,2)),this.setAttribute("normal",new Dt(d,3))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new $A(e.points,e.segments,e.phiStart,e.phiLength)}}class Wv extends Of{constructor(e=1,t=0){const n=[1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1],i=[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2];super(n,i,e,t),this.type="OctahedronGeometry",this.parameters={radius:e,detail:t}}static fromJSON(e){return new Wv(e.radius,e.detail)}}class Wm extends ln{constructor(e=1,t=1,n=1,i=1){super(),this.type="PlaneGeometry",this.parameters={width:e,height:t,widthSegments:n,heightSegments:i};const s=e/2,o=t/2,c=Math.floor(n),f=Math.floor(i),d=c+1,m=f+1,g=e/c,y=t/f,_=[],S=[],M=[],b=[];for(let A=0;A<m;A++){const w=A*y-o;for(let D=0;D<d;D++){const B=D*g-s;S.push(B,-w,0),M.push(0,0,1),b.push(D/c),b.push(1-A/f)}}for(let A=0;A<f;A++)for(let w=0;w<c;w++){const D=w+d*A,B=w+d*(A+1),I=w+1+d*(A+1),O=w+1+d*A;_.push(D,B,O),_.push(B,I,O)}this.setIndex(_),this.setAttribute("position",new Dt(S,3)),this.setAttribute("normal",new Dt(M,3)),this.setAttribute("uv",new Dt(b,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new Wm(e.width,e.height,e.widthSegments,e.heightSegments)}}class eb extends ln{constructor(e=.5,t=1,n=32,i=1,s=0,o=Math.PI*2){super(),this.type="RingGeometry",this.parameters={innerRadius:e,outerRadius:t,thetaSegments:n,phiSegments:i,thetaStart:s,thetaLength:o},n=Math.max(3,n),i=Math.max(1,i);const c=[],f=[],d=[],m=[];let g=e;const y=(t-e)/i,_=new Z,S=new qe;for(let M=0;M<=i;M++){for(let b=0;b<=n;b++){const A=s+b/n*o;_.x=g*Math.cos(A),_.y=g*Math.sin(A),f.push(_.x,_.y,_.z),d.push(0,0,1),S.x=(_.x/t+1)/2,S.y=(_.y/t+1)/2,m.push(S.x,S.y)}g+=y}for(let M=0;M<i;M++){const b=M*(n+1);for(let A=0;A<n;A++){const w=A+b,D=w,B=w+n+1,I=w+n+2,O=w+1;c.push(D,B,O),c.push(B,I,O)}}this.setIndex(c),this.setAttribute("position",new Dt(f,3)),this.setAttribute("normal",new Dt(d,3)),this.setAttribute("uv",new Dt(m,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new eb(e.innerRadius,e.outerRadius,e.thetaSegments,e.phiSegments,e.thetaStart,e.thetaLength)}}class tb extends ln{constructor(e=new od([new qe(0,.5),new qe(-.5,-.5),new qe(.5,-.5)]),t=12){super(),this.type="ShapeGeometry",this.parameters={shapes:e,curveSegments:t};const n=[],i=[],s=[],o=[];let c=0,f=0;if(Array.isArray(e)===!1)d(e);else for(let m=0;m<e.length;m++)d(e[m]),this.addGroup(c,f,m),c+=f,f=0;this.setIndex(n),this.setAttribute("position",new Dt(i,3)),this.setAttribute("normal",new Dt(s,3)),this.setAttribute("uv",new Dt(o,2));function d(m){const g=i.length/3,y=m.extractPoints(t);let _=y.shape;const S=y.holes;cl.isClockWise(_)===!1&&(_=_.reverse());for(let b=0,A=S.length;b<A;b++){const w=S[b];cl.isClockWise(w)===!0&&(S[b]=w.reverse())}const M=cl.triangulateShape(_,S);for(let b=0,A=S.length;b<A;b++){const w=S[b];_=_.concat(w)}for(let b=0,A=_.length;b<A;b++){const w=_[b];i.push(w.x,w.y,0),s.push(0,0,1),o.push(w.x,w.y)}for(let b=0,A=M.length;b<A;b++){const w=M[b],D=w[0]+g,B=w[1]+g,I=w[2]+g;n.push(D,B,I),f+=3}}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}toJSON(){const e=super.toJSON(),t=this.parameters.shapes;return eH(t,e)}static fromJSON(e,t){const n=[];for(let i=0,s=e.shapes.length;i<s;i++){const o=t[e.shapes[i]];n.push(o)}return new tb(n,e.curveSegments)}}function eH(r,e){if(e.shapes=[],Array.isArray(r))for(let t=0,n=r.length;t<n;t++){const i=r[t];e.shapes.push(i.uuid)}else e.shapes.push(r.uuid);return e}class Jv extends ln{constructor(e=1,t=32,n=16,i=0,s=Math.PI*2,o=0,c=Math.PI){super(),this.type="SphereGeometry",this.parameters={radius:e,widthSegments:t,heightSegments:n,phiStart:i,phiLength:s,thetaStart:o,thetaLength:c},t=Math.max(3,Math.floor(t)),n=Math.max(2,Math.floor(n));const f=Math.min(o+c,Math.PI);let d=0;const m=[],g=new Z,y=new Z,_=[],S=[],M=[],b=[];for(let A=0;A<=n;A++){const w=[],D=A/n;let B=0;A===0&&o===0?B=.5/t:A===n&&f===Math.PI&&(B=-.5/t);for(let I=0;I<=t;I++){const O=I/t;g.x=-e*Math.cos(i+O*s)*Math.sin(o+D*c),g.y=e*Math.cos(o+D*c),g.z=e*Math.sin(i+O*s)*Math.sin(o+D*c),S.push(g.x,g.y,g.z),y.copy(g).normalize(),M.push(y.x,y.y,y.z),b.push(O+B,1-D),w.push(d++)}m.push(w)}for(let A=0;A<n;A++)for(let w=0;w<t;w++){const D=m[A][w+1],B=m[A][w],I=m[A+1][w],O=m[A+1][w+1];(A!==0||o>0)&&_.push(D,B,O),(A!==n-1||f<Math.PI)&&_.push(B,I,O)}this.setIndex(_),this.setAttribute("position",new Dt(S,3)),this.setAttribute("normal",new Dt(M,3)),this.setAttribute("uv",new Dt(b,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new Jv(e.radius,e.widthSegments,e.heightSegments,e.phiStart,e.phiLength,e.thetaStart,e.thetaLength)}}class nb extends Of{constructor(e=1,t=0){const n=[1,1,1,-1,-1,1,-1,1,-1,1,-1,-1],i=[2,1,0,0,3,2,1,3,0,2,3,1];super(n,i,e,t),this.type="TetrahedronGeometry",this.parameters={radius:e,detail:t}}static fromJSON(e){return new nb(e.radius,e.detail)}}class ib extends ln{constructor(e=1,t=.4,n=12,i=48,s=Math.PI*2){super(),this.type="TorusGeometry",this.parameters={radius:e,tube:t,radialSegments:n,tubularSegments:i,arc:s},n=Math.floor(n),i=Math.floor(i);const o=[],c=[],f=[],d=[],m=new Z,g=new Z,y=new Z;for(let _=0;_<=n;_++)for(let S=0;S<=i;S++){const M=S/i*s,b=_/n*Math.PI*2;g.x=(e+t*Math.cos(b))*Math.cos(M),g.y=(e+t*Math.cos(b))*Math.sin(M),g.z=t*Math.sin(b),c.push(g.x,g.y,g.z),m.x=e*Math.cos(M),m.y=e*Math.sin(M),y.subVectors(g,m).normalize(),f.push(y.x,y.y,y.z),d.push(S/i),d.push(_/n)}for(let _=1;_<=n;_++)for(let S=1;S<=i;S++){const M=(i+1)*_+S-1,b=(i+1)*(_-1)+S-1,A=(i+1)*(_-1)+S,w=(i+1)*_+S;o.push(M,b,w),o.push(b,A,w)}this.setIndex(o),this.setAttribute("position",new Dt(c,3)),this.setAttribute("normal",new Dt(f,3)),this.setAttribute("uv",new Dt(d,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new ib(e.radius,e.tube,e.radialSegments,e.tubularSegments,e.arc)}}class rb extends ln{constructor(e=1,t=.4,n=64,i=8,s=2,o=3){super(),this.type="TorusKnotGeometry",this.parameters={radius:e,tube:t,tubularSegments:n,radialSegments:i,p:s,q:o},n=Math.floor(n),i=Math.floor(i);const c=[],f=[],d=[],m=[],g=new Z,y=new Z,_=new Z,S=new Z,M=new Z,b=new Z,A=new Z;for(let D=0;D<=n;++D){const B=D/n*s*Math.PI*2;w(B,s,o,e,_),w(B+.01,s,o,e,S),b.subVectors(S,_),A.addVectors(S,_),M.crossVectors(b,A),A.crossVectors(M,b),M.normalize(),A.normalize();for(let I=0;I<=i;++I){const O=I/i*Math.PI*2,U=-t*Math.cos(O),z=t*Math.sin(O);g.x=_.x+(U*A.x+z*M.x),g.y=_.y+(U*A.y+z*M.y),g.z=_.z+(U*A.z+z*M.z),f.push(g.x,g.y,g.z),y.subVectors(g,_).normalize(),d.push(y.x,y.y,y.z),m.push(D/n),m.push(I/i)}}for(let D=1;D<=n;D++)for(let B=1;B<=i;B++){const I=(i+1)*(D-1)+(B-1),O=(i+1)*D+(B-1),U=(i+1)*D+B,z=(i+1)*(D-1)+B;c.push(I,O,z),c.push(O,U,z)}this.setIndex(c),this.setAttribute("position",new Dt(f,3)),this.setAttribute("normal",new Dt(d,3)),this.setAttribute("uv",new Dt(m,2));function w(D,B,I,O,U){const z=Math.cos(D),P=Math.sin(D),N=I/B*D,G=Math.cos(N);U.x=O*(2+G)*.5*z,U.y=O*(2+G)*P*.5,U.z=O*Math.sin(N)*.5}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new rb(e.radius,e.tube,e.tubularSegments,e.radialSegments,e.p,e.q)}}class sb extends ln{constructor(e=new yT(new Z(-1,-1,0),new Z(-1,1,0),new Z(1,1,0)),t=64,n=1,i=8,s=!1){super(),this.type="TubeGeometry",this.parameters={path:e,tubularSegments:t,radius:n,radialSegments:i,closed:s};const o=e.computeFrenetFrames(t,s);this.tangents=o.tangents,this.normals=o.normals,this.binormals=o.binormals;const c=new Z,f=new Z,d=new qe;let m=new Z;const g=[],y=[],_=[],S=[];M(),this.setIndex(S),this.setAttribute("position",new Dt(g,3)),this.setAttribute("normal",new Dt(y,3)),this.setAttribute("uv",new Dt(_,2));function M(){for(let D=0;D<t;D++)b(D);b(s===!1?t:0),w(),A()}function b(D){m=e.getPointAt(D/t,m);const B=o.normals[D],I=o.binormals[D];for(let O=0;O<=i;O++){const U=O/i*Math.PI*2,z=Math.sin(U),P=-Math.cos(U);f.x=P*B.x+z*I.x,f.y=P*B.y+z*I.y,f.z=P*B.z+z*I.z,f.normalize(),y.push(f.x,f.y,f.z),c.x=m.x+n*f.x,c.y=m.y+n*f.y,c.z=m.z+n*f.z,g.push(c.x,c.y,c.z)}}function A(){for(let D=1;D<=t;D++)for(let B=1;B<=i;B++){const I=(i+1)*(D-1)+(B-1),O=(i+1)*D+(B-1),U=(i+1)*D+B,z=(i+1)*(D-1)+B;S.push(I,O,z),S.push(O,U,z)}}function w(){for(let D=0;D<=t;D++)for(let B=0;B<=i;B++)d.x=D/t,d.y=B/i,_.push(d.x,d.y)}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}toJSON(){const e=super.toJSON();return e.path=this.parameters.path.toJSON(),e}static fromJSON(e){return new sb(new oA[e.path.type]().fromJSON(e.path),e.tubularSegments,e.radius,e.radialSegments,e.closed)}}class dO extends ln{constructor(e=null){if(super(),this.type="WireframeGeometry",this.parameters={geometry:e},e!==null){const t=[],n=new Set,i=new Z,s=new Z;if(e.index!==null){const o=e.attributes.position,c=e.index;let f=e.groups;f.length===0&&(f=[{start:0,count:c.count,materialIndex:0}]);for(let d=0,m=f.length;d<m;++d){const g=f[d],y=g.start,_=g.count;for(let S=y,M=y+_;S<M;S+=3)for(let b=0;b<3;b++){const A=c.getX(S+b),w=c.getX(S+(b+1)%3);i.fromBufferAttribute(o,A),s.fromBufferAttribute(o,w),uR(i,s,n)===!0&&(t.push(i.x,i.y,i.z),t.push(s.x,s.y,s.z))}}}else{const o=e.attributes.position;for(let c=0,f=o.count/3;c<f;c++)for(let d=0;d<3;d++){const m=3*c+d,g=3*c+(d+1)%3;i.fromBufferAttribute(o,m),s.fromBufferAttribute(o,g),uR(i,s,n)===!0&&(t.push(i.x,i.y,i.z),t.push(s.x,s.y,s.z))}}this.setAttribute("position",new Dt(t,3))}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}}function uR(r,e,t){const n=`${r.x},${r.y},${r.z}-${e.x},${e.y},${e.z}`,i=`${e.x},${e.y},${e.z}-${r.x},${r.y},${r.z}`;return t.has(n)===!0||t.has(i)===!0?!1:(t.add(n),t.add(i),!0)}var fR=Object.freeze({__proto__:null,BoxGeometry:Td,CapsuleGeometry:qA,CircleGeometry:WA,ConeGeometry:qv,CylinderGeometry:jv,DodecahedronGeometry:JA,EdgesGeometry:iO,ExtrudeGeometry:QA,IcosahedronGeometry:ZA,LatheGeometry:$A,OctahedronGeometry:Wv,PlaneGeometry:Wm,PolyhedronGeometry:Of,RingGeometry:eb,ShapeGeometry:tb,SphereGeometry:Jv,TetrahedronGeometry:nb,TorusGeometry:ib,TorusKnotGeometry:rb,TubeGeometry:sb,WireframeGeometry:dO});class pO extends Rr{constructor(e){super(),this.isShadowMaterial=!0,this.type="ShadowMaterial",this.color=new dt(0),this.transparent=!0,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.fog=e.fog,this}}class mO extends ul{constructor(e){super(e),this.isRawShaderMaterial=!0,this.type="RawShaderMaterial"}}class Kv extends Rr{constructor(e){super(),this.isMeshStandardMaterial=!0,this.type="MeshStandardMaterial",this.defines={STANDARD:""},this.color=new dt(16777215),this.roughness=1,this.metalness=0,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new dt(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Df,this.normalScale=new qe(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.roughnessMap=null,this.metalnessMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Ja,this.envMapIntensity=1,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={STANDARD:""},this.color.copy(e.color),this.roughness=e.roughness,this.metalness=e.metalness,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.roughnessMap=e.roughnessMap,this.metalnessMap=e.metalnessMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.envMapIntensity=e.envMapIntensity,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class Bo extends Kv{constructor(e){super(),this.isMeshPhysicalMaterial=!0,this.defines={STANDARD:"",PHYSICAL:""},this.type="MeshPhysicalMaterial",this.anisotropyRotation=0,this.anisotropyMap=null,this.clearcoatMap=null,this.clearcoatRoughness=0,this.clearcoatRoughnessMap=null,this.clearcoatNormalScale=new qe(1,1),this.clearcoatNormalMap=null,this.ior=1.5,Object.defineProperty(this,"reflectivity",{get:function(){return Zt(2.5*(this.ior-1)/(this.ior+1),0,1)},set:function(t){this.ior=(1+.4*t)/(1-.4*t)}}),this.iridescenceMap=null,this.iridescenceIOR=1.3,this.iridescenceThicknessRange=[100,400],this.iridescenceThicknessMap=null,this.sheenColor=new dt(0),this.sheenColorMap=null,this.sheenRoughness=1,this.sheenRoughnessMap=null,this.transmissionMap=null,this.thickness=0,this.thicknessMap=null,this.attenuationDistance=1/0,this.attenuationColor=new dt(1,1,1),this.specularIntensity=1,this.specularIntensityMap=null,this.specularColor=new dt(1,1,1),this.specularColorMap=null,this._anisotropy=0,this._clearcoat=0,this._dispersion=0,this._iridescence=0,this._sheen=0,this._transmission=0,this.setValues(e)}get anisotropy(){return this._anisotropy}set anisotropy(e){this._anisotropy>0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get dispersion(){return this._dispersion}set dispersion(e){this._dispersion>0!=e>0&&this.version++,this._dispersion=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.dispersion=e.dispersion,this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class gO extends Rr{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new dt(16777215),this.specular=new dt(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new dt(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Df,this.normalScale=new qe(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Ja,this.combine=Gv,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class vO extends Rr{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new dt(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new dt(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Df,this.normalScale=new qe(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}class yO extends Rr{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Df,this.normalScale=new qe(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}}class _O extends Rr{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new dt(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new dt(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Df,this.normalScale=new qe(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Ja,this.combine=Gv,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class xT extends Rr{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=LD,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class ST extends Rr{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}class xO extends Rr{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new dt(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Df,this.normalScale=new qe(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.flatShading=e.flatShading,this.fog=e.fog,this}}class SO extends bs{constructor(e){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this}}function ed(r,e){return!r||r.constructor===e?r:typeof e.BYTES_PER_ELEMENT=="number"?new e(r):Array.prototype.slice.call(r)}function AO(r){return ArrayBuffer.isView(r)&&!(r instanceof DataView)}function bO(r){function e(i,s){return r[i]-r[s]}const t=r.length,n=new Array(t);for(let i=0;i!==t;++i)n[i]=i;return n.sort(e),n}function $1(r,e,t){const n=r.length,i=new r.constructor(n);for(let s=0,o=0;o!==n;++s){const c=t[s]*e;for(let f=0;f!==e;++f)i[o++]=r[c+f]}return i}function AT(r,e,t,n){let i=1,s=r[0];for(;s!==void 0&&s[n]===void 0;)s=r[i++];if(s===void 0)return;let o=s[n];if(o!==void 0)if(Array.isArray(o))do o=s[n],o!==void 0&&(e.push(s.time),t.push(...o)),s=r[i++];while(s!==void 0);else if(o.toArray!==void 0)do o=s[n],o!==void 0&&(e.push(s.time),o.toArray(t,t.length)),s=r[i++];while(s!==void 0);else do o=s[n],o!==void 0&&(e.push(s.time),t.push(o)),s=r[i++];while(s!==void 0)}function tH(r,e,t,n,i=30){const s=r.clone();s.name=e;const o=[];for(let f=0;f<s.tracks.length;++f){const d=s.tracks[f],m=d.getValueSize(),g=[],y=[];for(let _=0;_<d.times.length;++_){const S=d.times[_]*i;if(!(S<t||S>=n)){g.push(d.times[_]);for(let M=0;M<m;++M)y.push(d.values[_*m+M])}}g.length!==0&&(d.times=ed(g,d.times.constructor),d.values=ed(y,d.values.constructor),o.push(d))}s.tracks=o;let c=1/0;for(let f=0;f<s.tracks.length;++f)c>s.tracks[f].times[0]&&(c=s.tracks[f].times[0]);for(let f=0;f<s.tracks.length;++f)s.tracks[f].shift(-1*c);return s.resetDuration(),s}function nH(r,e=0,t=r,n=30){n<=0&&(n=30);const i=t.tracks.length,s=e/n;for(let o=0;o<i;++o){const c=t.tracks[o],f=c.ValueTypeName;if(f==="bool"||f==="string")continue;const d=r.tracks.find(function(A){return A.name===c.name&&A.ValueTypeName===f});if(d===void 0)continue;let m=0;const g=c.getValueSize();c.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(m=g/3);let y=0;const _=d.getValueSize();d.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(y=_/3);const S=c.times.length-1;let M;if(s<=c.times[0]){const A=m,w=g-m;M=c.values.slice(A,w)}else if(s>=c.times[S]){const A=S*g+m,w=A+g-m;M=c.values.slice(A,w)}else{const A=c.createInterpolant(),w=m,D=g-m;A.evaluate(s),M=A.resultBuffer.slice(w,D)}f==="quaternion"&&new Ss().fromArray(M).normalize().conjugate().toArray(M);const b=d.times.length;for(let A=0;A<b;++A){const w=A*_+y;if(f==="quaternion")Ss.multiplyQuaternionsFlat(d.values,w,M,0,d.values,w);else{const D=_-y*2;for(let B=0;B<D;++B)d.values[w+B]-=M[B]}}}return r.blendMode=$E,r}class iH{static convertArray(e,t){return ed(e,t)}static isTypedArray(e){return AO(e)}static getKeyframeOrder(e){return bO(e)}static sortedArray(e,t,n){return $1(e,t,n)}static flattenJSON(e,t,n,i){AT(e,t,n,i)}static subclip(e,t,n,i,s=30){return tH(e,t,n,i,s)}static makeClipAdditive(e,t=0,n=e,i=30){return nH(e,t,n,i)}}class Jm{constructor(e,t,n,i){this.parameterPositions=e,this._cachedIndex=0,this.resultBuffer=i!==void 0?i:new t.constructor(n),this.sampleValues=t,this.valueSize=n,this.settings=null,this.DefaultSettings_={}}evaluate(e){const t=this.parameterPositions;let n=this._cachedIndex,i=t[n],s=t[n-1];e:{t:{let o;n:{i:if(!(e<i)){for(let c=n+2;;){if(i===void 0){if(e<s)break i;return n=t.length,this._cachedIndex=n,this.copySampleValue_(n-1)}if(n===c)break;if(s=i,i=t[++n],e<i)break t}o=t.length;break n}if(!(e>=s)){const c=t[1];e<c&&(n=2,s=c);for(let f=n-2;;){if(s===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(n===f)break;if(i=s,s=t[--n-1],e>=s)break t}o=n,n=0;break n}break e}for(;n<o;){const c=n+o>>>1;e<t[c]?o=c:n=c+1}if(i=t[n],s=t[n-1],s===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(i===void 0)return n=t.length,this._cachedIndex=n,this.copySampleValue_(n-1)}this._cachedIndex=n,this.intervalChanged_(n,s,i)}return this.interpolate_(n,s,e,i)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(e){const t=this.resultBuffer,n=this.sampleValues,i=this.valueSize,s=e*i;for(let o=0;o!==i;++o)t[o]=n[s+o];return t}interpolate_(){throw new Error("call to abstract method")}intervalChanged_(){}}class MO extends Jm{constructor(e,t,n,i){super(e,t,n,i),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:Zh,endingEnd:Zh}}intervalChanged_(e,t,n){const i=this.parameterPositions;let s=e-2,o=e+1,c=i[s],f=i[o];if(c===void 0)switch(this.getSettings_().endingStart){case $h:s=e,c=2*t-n;break;case _v:s=i.length-2,c=t+i[s]-i[s+1];break;default:s=e,c=n}if(f===void 0)switch(this.getSettings_().endingEnd){case $h:o=e,f=2*n-t;break;case _v:o=1,f=n+i[1]-i[0];break;default:o=e-1,f=t}const d=(n-t)*.5,m=this.valueSize;this._weightPrev=d/(t-c),this._weightNext=d/(f-n),this._offsetPrev=s*m,this._offsetNext=o*m}interpolate_(e,t,n,i){const s=this.resultBuffer,o=this.sampleValues,c=this.valueSize,f=e*c,d=f-c,m=this._offsetPrev,g=this._offsetNext,y=this._weightPrev,_=this._weightNext,S=(n-t)/(i-t),M=S*S,b=M*S,A=-y*b+2*y*M-y*S,w=(1+y)*b+(-1.5-2*y)*M+(-.5+y)*S+1,D=(-1-_)*b+(1.5+_)*M+.5*S,B=_*b-_*M;for(let I=0;I!==c;++I)s[I]=A*o[m+I]+w*o[d+I]+D*o[f+I]+B*o[g+I];return s}}class bT extends Jm{constructor(e,t,n,i){super(e,t,n,i)}interpolate_(e,t,n,i){const s=this.resultBuffer,o=this.sampleValues,c=this.valueSize,f=e*c,d=f-c,m=(n-t)/(i-t),g=1-m;for(let y=0;y!==c;++y)s[y]=o[d+y]*g+o[f+y]*m;return s}}class EO extends Jm{constructor(e,t,n,i){super(e,t,n,i)}interpolate_(e){return this.copySampleValue_(e-1)}}class Do{constructor(e,t,n,i){if(e===void 0)throw new Error("THREE.KeyframeTrack: track name is undefined");if(t===void 0||t.length===0)throw new Error("THREE.KeyframeTrack: no keyframes in track named "+e);this.name=e,this.times=ed(t,this.TimeBufferType),this.values=ed(n,this.ValueBufferType),this.setInterpolation(i||this.DefaultInterpolation)}static toJSON(e){const t=e.constructor;let n;if(t.toJSON!==this.toJSON)n=t.toJSON(e);else{n={name:e.name,times:ed(e.times,Array),values:ed(e.values,Array)};const i=e.getInterpolation();i!==e.DefaultInterpolation&&(n.interpolation=i)}return n.type=e.ValueTypeName,n}InterpolantFactoryMethodDiscrete(e){return new EO(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodLinear(e){return new bT(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodSmooth(e){return new MO(this.times,this.values,this.getValueSize(),e)}setInterpolation(e){let t;switch(e){case Cm:t=this.InterpolantFactoryMethodDiscrete;break;case wm:t=this.InterpolantFactoryMethodLinear;break;case sS:t=this.InterpolantFactoryMethodSmooth;break}if(t===void 0){const n="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(this.createInterpolant===void 0)if(e!==this.DefaultInterpolation)this.setInterpolation(this.DefaultInterpolation);else throw new Error(n);return console.warn("THREE.KeyframeTrack:",n),this}return this.createInterpolant=t,this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return Cm;case this.InterpolantFactoryMethodLinear:return wm;case this.InterpolantFactoryMethodSmooth:return sS}}getValueSize(){return this.values.length/this.times.length}shift(e){if(e!==0){const t=this.times;for(let n=0,i=t.length;n!==i;++n)t[n]+=e}return this}scale(e){if(e!==1){const t=this.times;for(let n=0,i=t.length;n!==i;++n)t[n]*=e}return this}trim(e,t){const n=this.times,i=n.length;let s=0,o=i-1;for(;s!==i&&n[s]<e;)++s;for(;o!==-1&&n[o]>t;)--o;if(++o,s!==0||o!==i){s>=o&&(o=Math.max(o,1),s=o-1);const c=this.getValueSize();this.times=n.slice(s,o),this.values=this.values.slice(s*c,o*c)}return this}validate(){let e=!0;const t=this.getValueSize();t-Math.floor(t)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);const n=this.times,i=this.values,s=n.length;s===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let o=null;for(let c=0;c!==s;c++){const f=n[c];if(typeof f=="number"&&isNaN(f)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,c,f),e=!1;break}if(o!==null&&o>f){console.error("THREE.KeyframeTrack: Out of order keys.",this,c,f,o),e=!1;break}o=f}if(i!==void 0&&AO(i))for(let c=0,f=i.length;c!==f;++c){const d=i[c];if(isNaN(d)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,c,d),e=!1;break}}return e}optimize(){const e=this.times.slice(),t=this.values.slice(),n=this.getValueSize(),i=this.getInterpolation()===sS,s=e.length-1;let o=1;for(let c=1;c<s;++c){let f=!1;const d=e[c],m=e[c+1];if(d!==m&&(c!==1||d!==e[0]))if(i)f=!0;else{const g=c*n,y=g-n,_=g+n;for(let S=0;S!==n;++S){const M=t[g+S];if(M!==t[y+S]||M!==t[_+S]){f=!0;break}}}if(f){if(c!==o){e[o]=e[c];const g=c*n,y=o*n;for(let _=0;_!==n;++_)t[y+_]=t[g+_]}++o}}if(s>0){e[o]=e[s];for(let c=s*n,f=o*n,d=0;d!==n;++d)t[f+d]=t[c+d];++o}return o!==e.length?(this.times=e.slice(0,o),this.values=t.slice(0,o*n)):(this.times=e,this.values=t),this}clone(){const e=this.times.slice(),t=this.values.slice(),n=this.constructor,i=new n(this.name,e,t);return i.createInterpolant=this.createInterpolant,i}}Do.prototype.ValueTypeName="";Do.prototype.TimeBufferType=Float32Array;Do.prototype.ValueBufferType=Float32Array;Do.prototype.DefaultInterpolation=wm;class Cd extends Do{constructor(e,t,n){super(e,t,n)}}Cd.prototype.ValueTypeName="bool";Cd.prototype.ValueBufferType=Array;Cd.prototype.DefaultInterpolation=Cm;Cd.prototype.InterpolantFactoryMethodLinear=void 0;Cd.prototype.InterpolantFactoryMethodSmooth=void 0;class MT extends Do{constructor(e,t,n,i){super(e,t,n,i)}}MT.prototype.ValueTypeName="color";class yd extends Do{constructor(e,t,n,i){super(e,t,n,i)}}yd.prototype.ValueTypeName="number";class TO extends Jm{constructor(e,t,n,i){super(e,t,n,i)}interpolate_(e,t,n,i){const s=this.resultBuffer,o=this.sampleValues,c=this.valueSize,f=(n-t)/(i-t);let d=e*c;for(let m=d+c;d!==m;d+=4)Ss.slerpFlat(s,0,o,d-c,o,d,f);return s}}class _d extends Do{constructor(e,t,n,i){super(e,t,n,i)}InterpolantFactoryMethodLinear(e){return new TO(this.times,this.values,this.getValueSize(),e)}}_d.prototype.ValueTypeName="quaternion";_d.prototype.InterpolantFactoryMethodSmooth=void 0;class wd extends Do{constructor(e,t,n){super(e,t,n)}}wd.prototype.ValueTypeName="string";wd.prototype.ValueBufferType=Array;wd.prototype.DefaultInterpolation=Cm;wd.prototype.InterpolantFactoryMethodLinear=void 0;wd.prototype.InterpolantFactoryMethodSmooth=void 0;class xd extends Do{constructor(e,t,n,i){super(e,t,n,i)}}xd.prototype.ValueTypeName="vector";class Lm{constructor(e="",t=-1,n=[],i=PA){this.name=e,this.tracks=n,this.duration=t,this.blendMode=i,this.uuid=qa(),this.duration<0&&this.resetDuration()}static parse(e){const t=[],n=e.tracks,i=1/(e.fps||1);for(let o=0,c=n.length;o!==c;++o)t.push(sH(n[o]).scale(i));const s=new this(e.name,e.duration,t,e.blendMode);return s.uuid=e.uuid,s}static toJSON(e){const t=[],n=e.tracks,i={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode};for(let s=0,o=n.length;s!==o;++s)t.push(Do.toJSON(n[s]));return i}static CreateFromMorphTargetSequence(e,t,n,i){const s=t.length,o=[];for(let c=0;c<s;c++){let f=[],d=[];f.push((c+s-1)%s,c,(c+1)%s),d.push(0,1,0);const m=bO(f);f=$1(f,1,m),d=$1(d,1,m),!i&&f[0]===0&&(f.push(s),d.push(d[0])),o.push(new yd(".morphTargetInfluences["+t[c].name+"]",f,d).scale(1/n))}return new this(e,-1,o)}static findByName(e,t){let n=e;if(!Array.isArray(e)){const i=e;n=i.geometry&&i.geometry.animations||i.animations}for(let i=0;i<n.length;i++)if(n[i].name===t)return n[i];return null}static CreateClipsFromMorphTargetSequences(e,t,n){const i={},s=/^([\w-]*?)([\d]+)$/;for(let c=0,f=e.length;c<f;c++){const d=e[c],m=d.name.match(s);if(m&&m.length>1){const g=m[1];let y=i[g];y||(i[g]=y=[]),y.push(d)}}const o=[];for(const c in i)o.push(this.CreateFromMorphTargetSequence(c,i[c],t,n));return o}static parseAnimation(e,t){if(console.warn("THREE.AnimationClip: parseAnimation() is deprecated and will be removed with r185"),!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const n=function(g,y,_,S,M){if(_.length!==0){const b=[],A=[];AT(_,b,A,S),b.length!==0&&M.push(new g(y,b,A))}},i=[],s=e.name||"default",o=e.fps||30,c=e.blendMode;let f=e.length||-1;const d=e.hierarchy||[];for(let g=0;g<d.length;g++){const y=d[g].keys;if(!(!y||y.length===0))if(y[0].morphTargets){const _={};let S;for(S=0;S<y.length;S++)if(y[S].morphTargets)for(let M=0;M<y[S].morphTargets.length;M++)_[y[S].morphTargets[M]]=-1;for(const M in _){const b=[],A=[];for(let w=0;w!==y[S].morphTargets.length;++w){const D=y[S];b.push(D.time),A.push(D.morphTarget===M?1:0)}i.push(new yd(".morphTargetInfluence["+M+"]",b,A))}f=_.length*o}else{const _=".bones["+t[g].name+"]";n(xd,_+".position",y,"pos",i),n(_d,_+".quaternion",y,"rot",i),n(xd,_+".scale",y,"scl",i)}}return i.length===0?null:new this(s,f,i,c)}resetDuration(){const e=this.tracks;let t=0;for(let n=0,i=e.length;n!==i;++n){const s=this.tracks[n];t=Math.max(t,s.times[s.times.length-1])}return this.duration=t,this}trim(){for(let e=0;e<this.tracks.length;e++)this.tracks[e].trim(0,this.duration);return this}validate(){let e=!0;for(let t=0;t<this.tracks.length;t++)e=e&&this.tracks[t].validate();return e}optimize(){for(let e=0;e<this.tracks.length;e++)this.tracks[e].optimize();return this}clone(){const e=[];for(let t=0;t<this.tracks.length;t++)e.push(this.tracks[t].clone());return new this.constructor(this.name,this.duration,e,this.blendMode)}toJSON(){return this.constructor.toJSON(this)}}function rH(r){switch(r.toLowerCase()){case"scalar":case"double":case"float":case"number":case"integer":return yd;case"vector":case"vector2":case"vector3":case"vector4":return xd;case"color":return MT;case"quaternion":return _d;case"bool":case"boolean":return Cd;case"string":return wd}throw new Error("THREE.KeyframeTrack: Unsupported typeName: "+r)}function sH(r){if(r.type===void 0)throw new Error("THREE.KeyframeTrack: track type undefined, can not parse");const e=rH(r.type);if(r.times===void 0){const t=[],n=[];AT(r.keys,t,n,"value"),r.times=t,r.values=n}return e.parse!==void 0?e.parse(r):new e(r.name,r.times,r.values,r.interpolation)}const Zl={enabled:!1,files:{},add:function(r,e){this.enabled!==!1&&(this.files[r]=e)},get:function(r){if(this.enabled!==!1)return this.files[r]},remove:function(r){delete this.files[r]},clear:function(){this.files={}}};class ET{constructor(e,t,n){const i=this;let s=!1,o=0,c=0,f;const d=[];this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=n,this.abortController=new AbortController,this.itemStart=function(m){c++,s===!1&&i.onStart!==void 0&&i.onStart(m,o,c),s=!0},this.itemEnd=function(m){o++,i.onProgress!==void 0&&i.onProgress(m,o,c),o===c&&(s=!1,i.onLoad!==void 0&&i.onLoad())},this.itemError=function(m){i.onError!==void 0&&i.onError(m)},this.resolveURL=function(m){return f?f(m):m},this.setURLModifier=function(m){return f=m,this},this.addHandler=function(m,g){return d.push(m,g),this},this.removeHandler=function(m){const g=d.indexOf(m);return g!==-1&&d.splice(g,2),this},this.getHandler=function(m){for(let g=0,y=d.length;g<y;g+=2){const _=d[g],S=d[g+1];if(_.global&&(_.lastIndex=0),_.test(m))return S}return null},this.abort=function(){return this.abortController.abort(),this.abortController=new AbortController,this}}}const om=new ET;class Ms{constructor(e){this.manager=e!==void 0?e:om,this.crossOrigin="anonymous",this.withCredentials=!1,this.path="",this.resourcePath="",this.requestHeader={}}load(){}loadAsync(e,t){const n=this;return new Promise(function(i,s){n.load(e,i,t,s)})}parse(){}setCrossOrigin(e){return this.crossOrigin=e,this}setWithCredentials(e){return this.withCredentials=e,this}setPath(e){return this.path=e,this}setResourcePath(e){return this.resourcePath=e,this}setRequestHeader(e){return this.requestHeader=e,this}abort(){return this}}Ms.DEFAULT_MATERIAL_NAME="__DEFAULT";const Gc={};class aH extends Error{constructor(e,t){super(e),this.response=t}}class Ka extends Ms{constructor(e){super(e),this.mimeType="",this.responseType="",this._abortController=new AbortController}load(e,t,n,i){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const s=Zl.get(`file:${e}`);if(s!==void 0)return this.manager.itemStart(e),setTimeout(()=>{t&&t(s),this.manager.itemEnd(e)},0),s;if(Gc[e]!==void 0){Gc[e].push({onLoad:t,onProgress:n,onError:i});return}Gc[e]=[],Gc[e].push({onLoad:t,onProgress:n,onError:i});const o=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin",signal:typeof AbortSignal.any=="function"?AbortSignal.any([this._abortController.signal,this.manager.abortController.signal]):this._abortController.signal}),c=this.mimeType,f=this.responseType;fetch(o).then(d=>{if(d.status===200||d.status===0){if(d.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||d.body===void 0||d.body.getReader===void 0)return d;const m=Gc[e],g=d.body.getReader(),y=d.headers.get("X-File-Size")||d.headers.get("Content-Length"),_=y?parseInt(y):0,S=_!==0;let M=0;const b=new ReadableStream({start(A){w();function w(){g.read().then(({done:D,value:B})=>{if(D)A.close();else{M+=B.byteLength;const I=new ProgressEvent("progress",{lengthComputable:S,loaded:M,total:_});for(let O=0,U=m.length;O<U;O++){const z=m[O];z.onProgress&&z.onProgress(I)}A.enqueue(B),w()}},D=>{A.error(D)})}}});return new Response(b)}else throw new aH(`fetch for "${d.url}" responded with ${d.status}: ${d.statusText}`,d)}).then(d=>{switch(f){case"arraybuffer":return d.arrayBuffer();case"blob":return d.blob();case"document":return d.text().then(m=>new DOMParser().parseFromString(m,c));case"json":return d.json();default:if(c==="")return d.text();{const g=/charset="?([^;"\s]*)"?/i.exec(c),y=g&&g[1]?g[1].toLowerCase():void 0,_=new TextDecoder(y);return d.arrayBuffer().then(S=>_.decode(S))}}}).then(d=>{Zl.add(`file:${e}`,d);const m=Gc[e];delete Gc[e];for(let g=0,y=m.length;g<y;g++){const _=m[g];_.onLoad&&_.onLoad(d)}}).catch(d=>{const m=Gc[e];if(m===void 0)throw this.manager.itemError(e),d;delete Gc[e];for(let g=0,y=m.length;g<y;g++){const _=m[g];_.onError&&_.onError(d)}this.manager.itemError(e)}).finally(()=>{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}abort(){return this._abortController.abort(),this._abortController=new AbortController,this}}class oH extends Ms{constructor(e){super(e)}load(e,t,n,i){const s=this,o=new Ka(this.manager);o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(c){try{t(s.parse(JSON.parse(c)))}catch(f){i?i(f):console.error(f),s.manager.itemError(e)}},n,i)}parse(e){const t=[];for(let n=0;n<e.length;n++){const i=Lm.parse(e[n]);t.push(i)}return t}}class lH extends Ms{constructor(e){super(e)}load(e,t,n,i){const s=this,o=[],c=new jA,f=new Ka(this.manager);f.setPath(this.path),f.setResponseType("arraybuffer"),f.setRequestHeader(this.requestHeader),f.setWithCredentials(s.withCredentials);let d=0;function m(g){f.load(e[g],function(y){const _=s.parse(y,!0);o[g]={width:_.width,height:_.height,format:_.format,mipmaps:_.mipmaps},d+=1,d===6&&(_.mipmapCount===1&&(c.minFilter=tr),c.image=o,c.format=_.format,c.needsUpdate=!0,t&&t(c))},n,i)}if(Array.isArray(e))for(let g=0,y=e.length;g<y;++g)m(g);else f.load(e,function(g){const y=s.parse(g,!0);if(y.isCubemap){const _=y.mipmaps.length/y.mipmapCount;for(let S=0;S<_;S++){o[S]={mipmaps:[]};for(let M=0;M<y.mipmapCount;M++)o[S].mipmaps.push(y.mipmaps[S*y.mipmapCount+M]),o[S].format=y.format,o[S].width=y.width,o[S].height=y.height}c.image=o}else c.image.width=y.width,c.image.height=y.height,c.mipmaps=y.mipmaps;y.mipmapCount===1&&(c.minFilter=tr),c.format=y.format,c.needsUpdate=!0,t&&t(c)},n,i);return c}}const Wp=new WeakMap;class Tv extends Ms{constructor(e){super(e)}load(e,t,n,i){this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const s=this,o=Zl.get(`image:${e}`);if(o!==void 0){if(o.complete===!0)s.manager.itemStart(e),setTimeout(function(){t&&t(o),s.manager.itemEnd(e)},0);else{let g=Wp.get(o);g===void 0&&(g=[],Wp.set(o,g)),g.push({onLoad:t,onError:i})}return o}const c=Av("img");function f(){m(),t&&t(this);const g=Wp.get(this)||[];for(let y=0;y<g.length;y++){const _=g[y];_.onLoad&&_.onLoad(this)}Wp.delete(this),s.manager.itemEnd(e)}function d(g){m(),i&&i(g),Zl.remove(`image:${e}`);const y=Wp.get(this)||[];for(let _=0;_<y.length;_++){const S=y[_];S.onError&&S.onError(g)}Wp.delete(this),s.manager.itemError(e),s.manager.itemEnd(e)}function m(){c.removeEventListener("load",f,!1),c.removeEventListener("error",d,!1)}return c.addEventListener("load",f,!1),c.addEventListener("error",d,!1),e.slice(0,5)!=="data:"&&this.crossOrigin!==void 0&&(c.crossOrigin=this.crossOrigin),Zl.add(`image:${e}`,c),s.manager.itemStart(e),c.src=e,c}}class cH extends Ms{constructor(e){super(e)}load(e,t,n,i){const s=new kv;s.colorSpace=vs;const o=new Tv(this.manager);o.setCrossOrigin(this.crossOrigin),o.setPath(this.path);let c=0;function f(d){o.load(e[d],function(m){s.images[d]=m,c++,c===6&&(s.needsUpdate=!0,t&&t(s))},void 0,i)}for(let d=0;d<e.length;++d)f(d);return s}}class uH extends Ms{constructor(e){super(e)}load(e,t,n,i){const s=this,o=new nc,c=new Ka(this.manager);return c.setResponseType("arraybuffer"),c.setRequestHeader(this.requestHeader),c.setPath(this.path),c.setWithCredentials(s.withCredentials),c.load(e,function(f){let d;try{d=s.parse(f)}catch(m){if(i!==void 0)i(m);else{console.error(m);return}}d.image!==void 0?o.image=d.image:d.data!==void 0&&(o.image.width=d.width,o.image.height=d.height,o.image.data=d.data),o.wrapS=d.wrapS!==void 0?d.wrapS:ka,o.wrapT=d.wrapT!==void 0?d.wrapT:ka,o.magFilter=d.magFilter!==void 0?d.magFilter:tr,o.minFilter=d.minFilter!==void 0?d.minFilter:tr,o.anisotropy=d.anisotropy!==void 0?d.anisotropy:1,d.colorSpace!==void 0&&(o.colorSpace=d.colorSpace),d.flipY!==void 0&&(o.flipY=d.flipY),d.format!==void 0&&(o.format=d.format),d.type!==void 0&&(o.type=d.type),d.mipmaps!==void 0&&(o.mipmaps=d.mipmaps,o.minFilter=bo),d.mipmapCount===1&&(o.minFilter=tr),d.generateMipmaps!==void 0&&(o.generateMipmaps=d.generateMipmaps),o.needsUpdate=!0,t&&t(o,d)},n,i),o}}class CO extends Ms{constructor(e){super(e)}load(e,t,n,i){const s=new Bi,o=new Tv(this.manager);return o.setCrossOrigin(this.crossOrigin),o.setPath(this.path),o.load(e,function(c){s.image=c,s.needsUpdate=!0,t!==void 0&&t(s)},n,i),s}}class Nf extends Pn{constructor(e,t=1){super(),this.isLight=!0,this.type="Light",this.color=new dt(e),this.intensity=t}dispose(){}copy(e,t){return super.copy(e,t),this.color.copy(e.color),this.intensity=e.intensity,this}toJSON(e){const t=super.toJSON(e);return t.object.color=this.color.getHex(),t.object.intensity=this.intensity,this.groundColor!==void 0&&(t.object.groundColor=this.groundColor.getHex()),this.distance!==void 0&&(t.object.distance=this.distance),this.angle!==void 0&&(t.object.angle=this.angle),this.decay!==void 0&&(t.object.decay=this.decay),this.penumbra!==void 0&&(t.object.penumbra=this.penumbra),this.shadow!==void 0&&(t.object.shadow=this.shadow.toJSON()),this.target!==void 0&&(t.object.target=this.target.uuid),t}}class wO extends Nf{constructor(e,t,n){super(e,n),this.isHemisphereLight=!0,this.type="HemisphereLight",this.position.copy(Pn.DEFAULT_UP),this.updateMatrix(),this.groundColor=new dt(t)}copy(e,t){return super.copy(e,t),this.groundColor.copy(e.groundColor),this}}const PM=new Yt,hR=new Z,dR=new Z;class TT{constructor(e){this.camera=e,this.intensity=1,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new qe(512,512),this.mapType=wo,this.map=null,this.mapPass=null,this.matrix=new Yt,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new qm,this._frameExtents=new qe(1,1),this._viewportCount=1,this._viewports=[new Gn(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(e){const t=this.camera,n=this.matrix;hR.setFromMatrixPosition(e.matrixWorld),t.position.copy(hR),dR.setFromMatrixPosition(e.target.matrixWorld),t.lookAt(dR),t.updateMatrixWorld(),PM.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this._frustum.setFromProjectionMatrix(PM,t.coordinateSystem,t.reversedDepth),t.reversedDepth?n.set(.5,0,0,.5,0,.5,0,.5,0,0,1,0,0,0,0,1):n.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),n.multiply(PM)}getViewport(e){return this._viewports[e]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(e){return this.camera=e.camera.clone(),this.intensity=e.intensity,this.bias=e.bias,this.radius=e.radius,this.autoUpdate=e.autoUpdate,this.needsUpdate=e.needsUpdate,this.normalBias=e.normalBias,this.blurSamples=e.blurSamples,this.mapSize.copy(e.mapSize),this}clone(){return new this.constructor().copy(this)}toJSON(){const e={};return this.intensity!==1&&(e.intensity=this.intensity),this.bias!==0&&(e.bias=this.bias),this.normalBias!==0&&(e.normalBias=this.normalBias),this.radius!==1&&(e.radiu
vendor: 4,355 bytes, line 92
92s=this.radius),(this.mapSize.x!==512||this.mapSize.y!==512)&&(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}}class fH extends TT{constructor(){super(new wr(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1,this.aspect=1}updateMatrices(e){const t=this.camera,n=Bm*2*e.angle*this.focus,i=this.mapSize.width/this.mapSize.height*this.aspect,s=e.distance||t.far;(n!==t.fov||i!==t.aspect||s!==t.far)&&(t.fov=n,t.aspect=i,t.far=s,t.updateProjectionMatrix()),super.updateMatrices(e)}copy(e){return super.copy(e),this.focus=e.focus,this}}class CT extends Nf{constructor(e,t,n=0,i=Math.PI/3,s=0,o=2){super(e,t),this.isSpotLight=!0,this.type="SpotLight",this.position.copy(Pn.DEFAULT_UP),this.updateMatrix(),this.target=new Pn,this.distance=n,this.angle=i,this.penumbra=s,this.decay=o,this.map=null,this.shadow=new fH}get power(){return this.intensity*Math.PI}set power(e){this.intensity=e/Math.PI}dispose(){this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.angle=e.angle,this.penumbra=e.penumbra,this.decay=e.decay,this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}const pR=new Yt,C0=new Z,HM=new Z;class hH extends TT{constructor(){super(new wr(90,1,.5,500)),this.isPointLightShadow=!0,this._frameExtents=new qe(4,2),this._viewportCount=6,this._viewports=[new Gn(2,1,1,1),new Gn(0,1,1,1),new Gn(3,1,1,1),new Gn(1,1,1,1),new Gn(3,0,1,1),new Gn(1,0,1,1)],this._cubeDirections=[new Z(1,0,0),new Z(-1,0,0),new Z(0,0,1),new Z(0,0,-1),new Z(0,1,0),new Z(0,-1,0)],this._cubeUps=[new Z(0,1,0),new Z(0,1,0),new Z(0,1,0),new Z(0,1,0),new Z(0,0,1),new Z(0,0,-1)]}updateMatrices(e,t=0){const n=this.camera,i=this.matrix,s=e.distance||n.far;s!==n.far&&(n.far=s,n.updateProjectionMatrix()),C0.setFromMatrixPosition(e.matrixWorld),n.position.copy(C0),HM.copy(n.position),HM.add(this._cubeDirections[t]),n.up.copy(this._cubeUps[t]),n.lookAt(HM),n.updateMatrixWorld(),i.makeTranslation(-C0.x,-C0.y,-C0.z),pR.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse),this._frustum.setFromProjectionMatrix(pR,n.coordinateSystem,n.reversedDepth)}}class wT extends Nf{constructor(e,t,n=0,i=2){super(e,t),this.isPointLight=!0,this.type="PointLight",this.distance=n,this.decay=i,this.shadow=new hH}get power(){return this.intensity*4*Math.PI}set power(e){this.intensity=e/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.decay=e.decay,this.shadow=e.shadow.clone(),this}}class Km extends FA{constructor(e=-1,t=1,n=1,i=-1,s=.1,o=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=n,this.bottom=i,this.near=s,this.far=o,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,t,n,i,s,o){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=i,this.view.width=s,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,i=(this.top+this.bottom)/2;let s=n-e,o=n+e,c=i+t,f=i-t;if(this.view!==null&&this.view.enabled){const d=(this.right-this.left)/this.view.fullWidth/this.zoom,m=(this.top-this.bottom)/this.view.fullHeight/this.zoom;s+=d*this.view.offsetX,o=s+d*this.view.width,c-=m*this.view.offsetY,f=c-m*this.view.height}this.projectionMatrix.makeOrthographic(s,o,c,f,this.near,this.far,this.coordinateSystem,this.reversedDepth),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}}class dH extends TT{constructor(){super(new Km(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}
vendor: 22,360 bytes, line 92
92}class RT extends Nf{constructor(e,t){super(e,t),this.isDirectionalLight=!0,this.type="DirectionalLight",this.position.copy(Pn.DEFAULT_UP),this.updateMatrix(),this.target=new Pn,this.shadow=new dH}dispose(){this.shadow.dispose()}copy(e){return super.copy(e),this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}class RO extends Nf{constructor(e,t){super(e,t),this.isAmbientLight=!0,this.type="AmbientLight"}}class BO extends Nf{constructor(e,t,n=10,i=10){super(e,t),this.isRectAreaLight=!0,this.type="RectAreaLight",this.width=n,this.height=i}get power(){return this.intensity*this.width*this.height*Math.PI}set power(e){this.intensity=e/(this.width*this.height*Math.PI)}copy(e){return super.copy(e),this.width=e.width,this.height=e.height,this}toJSON(e){const t=super.toJSON(e);return t.object.width=this.width,t.object.height=this.height,t}}class DO{constructor(){this.isSphericalHarmonics3=!0,this.coefficients=[];for(let e=0;e<9;e++)this.coefficients.push(new Z)}set(e){for(let t=0;t<9;t++)this.coefficients[t].copy(e[t]);return this}zero(){for(let e=0;e<9;e++)this.coefficients[e].set(0,0,0);return this}getAt(e,t){const n=e.x,i=e.y,s=e.z,o=this.coefficients;return t.copy(o[0]).multiplyScalar(.282095),t.addScaledVector(o[1],.488603*i),t.addScaledVector(o[2],.488603*s),t.addScaledVector(o[3],.488603*n),t.addScaledVector(o[4],1.092548*(n*i)),t.addScaledVector(o[5],1.092548*(i*s)),t.addScaledVector(o[6],.315392*(3*s*s-1)),t.addScaledVector(o[7],1.092548*(n*s)),t.addScaledVector(o[8],.546274*(n*n-i*i)),t}getIrradianceAt(e,t){const n=e.x,i=e.y,s=e.z,o=this.coefficients;return t.copy(o[0]).multiplyScalar(.886227),t.addScaledVector(o[1],2*.511664*i),t.addScaledVector(o[2],2*.511664*s),t.addScaledVector(o[3],2*.511664*n),t.addScaledVector(o[4],2*.429043*n*i),t.addScaledVector(o[5],2*.429043*i*s),t.addScaledVector(o[6],.743125*s*s-.247708),t.addScaledVector(o[7],2*.429043*n*s),t.addScaledVector(o[8],.429043*(n*n-i*i)),t}add(e){for(let t=0;t<9;t++)this.coefficients[t].add(e.coefficients[t]);return this}addScaledSH(e,t){for(let n=0;n<9;n++)this.coefficients[n].addScaledVector(e.coefficients[n],t);return this}scale(e){for(let t=0;t<9;t++)this.coefficients[t].multiplyScalar(e);return this}lerp(e,t){for(let n=0;n<9;n++)this.coefficients[n].lerp(e.coefficients[n],t);return this}equals(e){for(let t=0;t<9;t++)if(!this.coefficients[t].equals(e.coefficients[t]))return!1;return!0}copy(e){return this.set(e.coefficients)}clone(){return new this.constructor().copy(this)}fromArray(e,t=0){const n=this.coefficients;for(let i=0;i<9;i++)n[i].fromArray(e,t+i*3);return this}toArray(e=[],t=0){const n=this.coefficients;for(let i=0;i<9;i++)n[i].toArray(e,t+i*3);return e}static getBasisAt(e,t){const n=e.x,i=e.y,s=e.z;t[0]=.282095,t[1]=.488603*i,t[2]=.488603*s,t[3]=.488603*n,t[4]=1.092548*n*i,t[5]=1.092548*i*s,t[6]=.315392*(3*s*s-1),t[7]=1.092548*n*s,t[8]=.546274*(n*n-i*i)}}class OO extends Nf{constructor(e=new DO,t=1){super(void 0,t),this.isLightProbe=!0,this.sh=e}copy(e){return super.copy(e),this.sh.copy(e.sh),this}fromJSON(e){return this.intensity=e.intensity,this.sh.fromArray(e.sh),this}toJSON(e){const t=super.toJSON(e);return t.object.sh=this.sh.toArray(),t}}class ab extends Ms{constructor(e){super(e),this.textures={}}load(e,t,n,i){const s=this,o=new Ka(s.manager);o.setPath(s.path),o.setRequestHeader(s.requestHeader),o.setWithCredentials(s.withCredentials),o.load(e,function(c){try{t(s.parse(JSON.parse(c)))}catch(f){i?i(f):console.error(f),s.manager.itemError(e)}},n,i)}parse(e){const t=this.textures;function n(s){return t[s]===void 0&&console.warn("THREE.MaterialLoader: Undefined texture",s),t[s]}const i=this.createMaterialFromType(e.type);if(e.uuid!==void 0&&(i.uuid=e.uuid),e.name!==void 0&&(i.name=e.name),e.color!==void 0&&i.color!==void 0&&i.color.setHex(e.color),e.roughness!==void 0&&(i.roughness=e.roughness),e.metalness!==void 0&&(i.metalness=e.metalness),e.sheen!==void 0&&(i.sheen=e.sheen),e.sheenColor!==void 0&&(i.sheenColor=new dt().setHex(e.sheenColor)),e.sheenRoughness!==void 0&&(i.sheenRoughness=e.sheenRoughness),e.emissive!==void 0&&i.emissive!==void 0&&i.emissive.setHex(e.emissive),e.specular!==void 0&&i.specular!==void 0&&i.specular.setHex(e.specular),e.specularIntensity!==void 0&&(i.specularIntensity=e.specularIntensity),e.specularColor!==void 0&&i.specularColor!==void 0&&i.specularColor.setHex(e.specularColor),e.shininess!==void 0&&(i.shininess=e.shininess),e.clearcoat!==void 0&&(i.clearcoat=e.clearcoat),e.clearcoatRoughness!==void 0&&(i.clearcoatRoughness=e.clearcoatRoughness),e.dispersion!==void 0&&(i.dispersion=e.dispersion),e.iridescence!==void 0&&(i.iridescence=e.iridescence),e.iridescenceIOR!==void 0&&(i.iridescenceIOR=e.iridescenceIOR),e.iridescenceThicknessRange!==void 0&&(i.iridescenceThicknessRange=e.iridescenceThicknessRange),e.transmission!==void 0&&(i.transmission=e.transmission),e.thickness!==void 0&&(i.thickness=e.thickness),e.attenuationDistance!==void 0&&(i.attenuationDistance=e.attenuationDistance),e.attenuationColor!==void 0&&i.attenuationColor!==void 0&&i.attenuationColor.setHex(e.attenuationColor),e.anisotropy!==void 0&&(i.anisotropy=e.anisotropy),e.anisotropyRotation!==void 0&&(i.anisotropyRotation=e.anisotropyRotation),e.fog!==void 0&&(i.fog=e.fog),e.flatShading!==void 0&&(i.flatShading=e.flatShading),e.blending!==void 0&&(i.blending=e.blending),e.combine!==void 0&&(i.combine=e.combine),e.side!==void 0&&(i.side=e.side),e.shadowSide!==void 0&&(i.shadowSide=e.shadowSide),e.opacity!==void 0&&(i.opacity=e.opacity),e.transparent!==void 0&&(i.transparent=e.transparent),e.alphaTest!==void 0&&(i.alphaTest=e.alphaTest),e.alphaHash!==void 0&&(i.alphaHash=e.alphaHash),e.depthFunc!==void 0&&(i.depthFunc=e.depthFunc),e.depthTest!==void 0&&(i.depthTest=e.depthTest),e.depthWrite!==void 0&&(i.depthWrite=e.depthWrite),e.colorWrite!==void 0&&(i.colorWrite=e.colorWrite),e.blendSrc!==void 0&&(i.blendSrc=e.blendSrc),e.blendDst!==void 0&&(i.blendDst=e.blendDst),e.blendEquation!==void 0&&(i.blendEquation=e.blendEquation),e.blendSrcAlpha!==void 0&&(i.blendSrcAlpha=e.blendSrcAlpha),e.blendDstAlpha!==void 0&&(i.blendDstAlpha=e.blendDstAlpha),e.blendEquationAlpha!==void 0&&(i.blendEquationAlpha=e.blendEquationAlpha),e.blendColor!==void 0&&i.blendColor!==void 0&&i.blendColor.setHex(e.blendColor),e.blendAlpha!==void 0&&(i.blendAlpha=e.blendAlpha),e.stencilWriteMask!==void 0&&(i.stencilWriteMask=e.stencilWriteMask),e.stencilFunc!==void 0&&(i.stencilFunc=e.stencilFunc),e.stencilRef!==void 0&&(i.stencilRef=e.stencilRef),e.stencilFuncMask!==void 0&&(i.stencilFuncMask=e.stencilFuncMask),e.stencilFail!==void 0&&(i.stencilFail=e.stencilFail),e.stencilZFail!==void 0&&(i.stencilZFail=e.stencilZFail),e.stencilZPass!==void 0&&(i.stencilZPass=e.stencilZPass),e.stencilWrite!==void 0&&(i.stencilWrite=e.stencilWrite),e.wireframe!==void 0&&(i.wireframe=e.wireframe),e.wireframeLinewidth!==void 0&&(i.wireframeLinewidth=e.wireframeLinewidth),e.wireframeLinecap!==void 0&&(i.wireframeLinecap=e.wireframeLinecap),e.wireframeLinejoin!==void 0&&(i.wireframeLinejoin=e.wireframeLinejoin),e.rotation!==void 0&&(i.rotation=e.rotation),e.linewidth!==void 0&&(i.linewidth=e.linewidth),e.dashSize!==void 0&&(i.dashSize=e.dashSize),e.gapSize!==void 0&&(i.gapSize=e.gapSize),e.scale!==void 0&&(i.scale=e.scale),e.polygonOffset!==void 0&&(i.polygonOffset=e.polygonOffset),e.polygonOffsetFactor!==void 0&&(i.polygonOffsetFactor=e.polygonOffsetFactor),e.polygonOffsetUnits!==void 0&&(i.polygonOffsetUnits=e.polygonOffsetUnits),e.dithering!==void 0&&(i.dithering=e.dithering),e.alphaToCoverage!==void 0&&(i.alphaToCoverage=e.alphaToCoverage),e.premultipliedAlpha!==void 0&&(i.premultipliedAlpha=e.premultipliedAlpha),e.forceSinglePass!==void 0&&(i.forceSinglePass=e.forceSinglePass),e.visible!==void 0&&(i.visible=e.visible),e.toneMapped!==void 0&&(i.toneMapped=e.toneMapped),e.userData!==void 0&&(i.userData=e.userData),e.vertexColors!==void 0&&(typeof e.vertexColors=="number"?i.vertexColors=e.vertexColors>0:i.vertexColors=e.vertexColors),e.uniforms!==void 0)for(const s in e.uniforms){const o=e.uniforms[s];switch(i.uniforms[s]={},o.type){case"t":i.uniforms[s].value=n(o.value);break;case"c":i.uniforms[s].value=new dt().setHex(o.value);break;case"v2":i.uniforms[s].value=new qe().fromArray(o.value);break;case"v3":i.uniforms[s].value=new Z().fromArray(o.value);break;case"v4":i.uniforms[s].value=new Gn().fromArray(o.value);break;case"m3":i.uniforms[s].value=new un().fromArray(o.value);break;case"m4":i.uniforms[s].value=new Yt().fromArray(o.value);break;default:i.uniforms[s].value=o.value}}if(e.defines!==void 0&&(i.defines=e.defines),e.vertexShader!==void 0&&(i.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(i.fragmentShader=e.fragmentShader),e.glslVersion!==void 0&&(i.glslVersion=e.glslVersion),e.extensions!==void 0)for(const s in e.extensions)i.extensions[s]=e.extensions[s];if(e.lights!==void 0&&(i.lights=e.lights),e.clipping!==void 0&&(i.clipping=e.clipping),e.size!==void 0&&(i.size=e.size),e.sizeAttenuation!==void 0&&(i.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(i.map=n(e.map)),e.matcap!==void 0&&(i.matcap=n(e.matcap)),e.alphaMap!==void 0&&(i.alphaMap=n(e.alphaMap)),e.bumpMap!==void 0&&(i.bumpMap=n(e.bumpMap)),e.bumpScale!==void 0&&(i.bumpScale=e.bumpScale),e.normalMap!==void 0&&(i.normalMap=n(e.normalMap)),e.normalMapType!==void 0&&(i.normalMapType=e.normalMapType),e.normalScale!==void 0){let s=e.normalScale;Array.isArray(s)===!1&&(s=[s,s]),i.normalScale=new qe().fromArray(s)}return e.displacementMap!==void 0&&(i.displacementMap=n(e.displacementMap)),e.displacementScale!==void 0&&(i.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(i.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(i.roughnessMap=n(e.roughnessMap)),e.metalnessMap!==void 0&&(i.metalnessMap=n(e.metalnessMap)),e.emissiveMap!==void 0&&(i.emissiveMap=n(e.emissiveMap)),e.emissiveIntensity!==void 0&&(i.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(i.specularMap=n(e.specularMap)),e.specularIntensityMap!==void 0&&(i.specularIntensityMap=n(e.specularIntensityMap)),e.specularColorMap!==void 0&&(i.specularColorMap=n(e.specularColorMap)),e.envMap!==void 0&&(i.envMap=n(e.envMap)),e.envMapRotation!==void 0&&i.envMapRotation.fromArray(e.envMapRotation),e.envMapIntensity!==void 0&&(i.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(i.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(i.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(i.lightMap=n(e.lightMap)),e.lightMapIntensity!==void 0&&(i.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(i.aoMap=n(e.aoMap)),e.aoMapIntensity!==void 0&&(i.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(i.gradientMap=n(e.gradientMap)),e.clearcoatMap!==void 0&&(i.clearcoatMap=n(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(i.clearcoatRoughnessMap=n(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(i.clearcoatNormalMap=n(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(i.clearcoatNormalScale=new qe().fromArray(e.clearcoatNormalScale)),e.iridescenceMap!==void 0&&(i.iridescenceMap=n(e.iridescenceMap)),e.iridescenceThicknessMap!==void 0&&(i.iridescenceThicknessMap=n(e.iridescenceThicknessMap)),e.transmissionMap!==void 0&&(i.transmissionMap=n(e.transmissionMap)),e.thicknessMap!==void 0&&(i.thicknessMap=n(e.thicknessMap)),e.anisotropyMap!==void 0&&(i.anisotropyMap=n(e.anisotropyMap)),e.sheenColorMap!==void 0&&(i.sheenColorMap=n(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(i.sheenRoughnessMap=n(e.sheenRoughnessMap)),i}setTextures(e){return this.textures=e,this}createMaterialFromType(e){return ab.createMaterialFromType(e)}static createMaterialFromType(e){const t={ShadowMaterial:pO,SpriteMaterial:lT,RawShaderMaterial:mO,ShaderMaterial:ul,PointsMaterial:YA,MeshPhysicalMaterial:Bo,MeshStandardMaterial:Kv,MeshPhongMaterial:gO,MeshToonMaterial:vO,MeshNormalMaterial:yO,MeshLambertMaterial:_O,MeshDepthMaterial:xT,MeshDistanceMaterial:ST,MeshBasicMaterial:Ya,MeshMatcapMaterial:xO,LineDashedMaterial:SO,LineBasicMaterial:bs,Material:Rr};return new t[e]}}class xf{static extractUrlBase(e){const t=e.lastIndexOf("/");return t===-1?"./":e.slice(0,t+1)}static resolveURL(e,t){return typeof e!="string"||e===""?"":(/^https?:\/\//i.test(t)&&/^\//.test(e)&&(t=t.replace(/(^https?:\/\/[^\/]+).*/i,"$1")),/^(https?:)?\/\//i.test(e)||/^data:.*,.*$/i.test(e)||/^blob:.*$/i.test(e)?e:t+e)}}class NO extends ln{constructor(){super(),this.isInstancedBufferGeometry=!0,this.type="InstancedBufferGeometry",this.instanceCount=1/0}copy(e){return super.copy(e),this.instanceCount=e.instanceCount,this}toJSON(){const e=super.toJSON();return e.instanceCount=this.instanceCount,e.isInstancedBufferGeometry=!0,e}}class LO extends Ms{constructor(e){super(e)}load(e,t,n,i){const s=this,o=new Ka(s.manager);o.setPath(s.path),o.setRequestHeader(s.requestHeader),o.setWithCredentials(s.withCredentials),o.load(e,function(c){try{t(s.parse(JSON.parse(c)))}catch(f){i?i(f):console.error(f),s.manager.itemError(e)}},n,i)}parse(e){const t={},n={};function i(_,S){if(t[S]!==void 0)return t[S];const b=_.interleavedBuffers[S],A=s(_,b.buffer),w=am(b.type,A),D=new Xv(w,b.stride);return D.uuid=b.uuid,t[S]=D,D}function s(_,S){if(n[S]!==void 0)return n[S];const b=_.arrayBuffers[S],A=new Uint32Array(b).buffer;return n[S]=A,A}const o=e.isInstancedBufferGeometry?new NO:new ln,c=e.data.index;if(c!==void 0){const _=am(c.type,c.array);o.setIndex(new Vn(_,1))}const f=e.data.attributes;for(const _ in f){const S=f[_];let M;if(S.isInterleavedBufferAttribute){const b=i(e.data,S.data);M=new Cf(b,S.itemSize,S.offset,S.normalized)}else{const b=am(S.type,S.array),A=S.isInstancedBufferAttribute?gd:Vn;M=new A(b,S.itemSize,S.normalized)}S.name!==void 0&&(M.name=S.name),S.usage!==void 0&&M.setUsage(S.usage),o.setAttribute(_,M)}const d=e.data.morphAttributes;if(d)for(const _ in d){const S=d[_],M=[];for(let b=0,A=S.length;b<A;b++){const w=S[b];let D;if(w.isInterleavedBufferAttribute){const B=i(e.data,w.data);D=new Cf(B,w.itemSize,w.offset,w.normalized)}else{const B=am(w.type,w.array);D=new Vn(B,w.itemSize,w.normalized)}w.name!==void 0&&(D.name=w.name),M.push(D)}o.morphAttributes[_]=M}e.data.morphTargetsRelative&&(o.morphTargetsRelative=!0);const g=e.data.groups||e.data.drawcalls||e.data.offsets;if(g!==void 0)for(let _=0,S=g.length;_!==S;++_){const M=g[_];o.addGroup(M.start,M.count,M.materialIndex)}const y=e.data.boundingSphere;return y!==void 0&&(o.boundingSphere=new Vr().fromJSON(y)),e.name&&(o.name=e.name),e.userData&&(o.userData=e.userData),o}}class pH extends Ms{constructor(e){super(e)}load(e,t,n,i){const s=this,o=this.path===""?xf.extractUrlBase(e):this.path;this.resourcePath=this.resourcePath||o;const c=new Ka(this.manager);c.setPath(this.path),c.setRequestHeader(this.requestHeader),c.setWithCredentials(this.withCredentials),c.load(e,function(f){let d=null;try{d=JSON.parse(f)}catch(g){i!==void 0&&i(g),console.error("THREE:ObjectLoader: Can't parse "+e+".",g.message);return}const m=d.metadata;if(m===void 0||m.type===void 0||m.type.toLowerCase()==="geometry"){i!==void 0&&i(new Error("THREE.ObjectLoader: Can't load "+e)),console.error("THREE.ObjectLoader: Can't load "+e);return}s.parse(d,t)},n,i)}async loadAsync(e,t){const n=this,i=this.path===""?xf.extractUrlBase(e):this.path;this.resourcePath=this.resourcePath||i;const s=new Ka(this.manager);s.setPath(this.path),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials);const o=await s.loadAsync(e,t),c=JSON.parse(o),f=c.metadata;if(f===void 0||f.type===void 0||f.type.toLowerCase()==="geometry")throw new Error("THREE.ObjectLoader: Can't load "+e);return await n.parseAsync(c)}parse(e,t){const n=this.parseAnimations(e.animations),i=this.parseShapes(e.shapes),s=this.parseGeometries(e.geometries,i),o=this.parseImages(e.images,function(){t!==void 0&&t(d)}),c=this.parseTextures(e.textures,o),f=this.parseMaterials(e.materials,c),d=this.parseObject(e.object,s,f,c,n),m=this.parseSkeletons(e.skeletons,d);if(this.bindSkeletons(d,m),this.bindLightTargets(d),t!==void 0){let g=!1;for(const y in o)if(o[y].data instanceof HTMLImageElement){g=!0;break}g===!1&&t(d)}return d}async parseAsync(e){const t=this.parseAnimations(e.animations),n=this.parseShapes(e.shapes),i=this.parseGeometries(e.geometries,n),s=await this.parseImagesAsync(e.images),o=this.parseTextures(e.textures,s),c=this.parseMaterials(e.materials,o),f=this.parseObject(e.object,i,c,o,t),d=this.parseSkeletons(e.skeletons,f);return this.bindSkeletons(f,d),this.bindLightTargets(f),f}parseShapes(e){const t={};if(e!==void 0)for(let n=0,i=e.length;n<i;n++){const s=new od().fromJSON(e[n]);t[s.uuid]=s}return t}parseSkeletons(e,t){const n={},i={};if(t.traverse(function(s){s.isBone&&(i[s.uuid]=s)}),e!==void 0)for(let s=0,o=e.length;s<o;s++){const c=new Yv().fromJSON(e[s],i);n[c.uuid]=c}return n}parseGeometries(e,t){const n={};if(e!==void 0){const i=new LO;for(let s=0,o=e.length;s<o;s++){let c;const f=e[s];switch(f.type){case"BufferGeometry":case"InstancedBufferGeometry":c=i.parse(f);break;default:f.type in fR?c=fR[f.type].fromJSON(f,t):console.warn(`THREE.ObjectLoader: Unsupported geometry type "${f.type}"`)}c.uuid=f.uuid,f.name!==void 0&&(c.name=f.name),f.userData!==void 0&&(c.userData=f.userData),n[f.uuid]=c}}return n}parseMaterials(e,t){const n={},i={};if(e!==void 0){const s=new ab;s.setTextures(t);for(let o=0,c=e.length;o<c;o++){const f=e[o];n[f.uuid]===void 0&&(n[f.uuid]=s.parse(f)),i[f.uuid]=n[f.uuid]}}return i}parseAnimations(e){const t={};if(e!==void 0)for(let n=0;n<e.length;n++){const i=e[n],s=Lm.parse(i);t[s.uuid]=s}return t}parseImages(e,t){const n=this,i={};let s;function o(f){return n.manager.itemStart(f),s.load(f,function(){n.manager.itemEnd(f)},void 0,function(){n.manager.itemError(f),n.manager.itemEnd(f)})}function c(f){if(typeof f=="string"){const d=f,m=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(d)?d:n.resourcePath+d;return o(m)}else return f.data?{data:am(f.type,f.data),width:f.width,height:f.height}:null}if(e!==void 0&&e.length>0){const f=new ET(t);s=new Tv(f),s.setCrossOrigin(this.crossOrigin);for(let d=0,m=e.length;d<m;d++){const g=e[d],y=g.url;if(Array.isArray(y)){const _=[];for(let S=0,M=y.length;S<M;S++){const b=y[S],A=c(b);A!==null&&(A instanceof HTMLImageElement?_.push(A):_.push(new nc(A.data,A.width,A.height)))}i[g.uuid]=new pf(_)}else{const _=c(g.url);i[g.uuid]=new pf(_)}}}return i}async parseImagesAsync(e){const t=this,n={};let i;async function s(o){if(typeof o=="string"){const c=o,f=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(c)?c:t.resourcePath+c;return await i.loadAsync(f)}else return o.data?{data:am(o.type,o.data),width:o.width,height:o.height}:null}if(e!==void 0&&e.length>0){i=new Tv(this.manager),i.setCrossOrigin(this.crossOrigin);for(let o=0,c=e.length;o<c;o++){const f=e[o],d=f.url;if(Array.isArray(d)){const m=[];for(let g=0,y=d.length;g<y;g++){const _=d[g],S=await s(_);S!==null&&(S instanceof HTMLImageElement?m.push(S):m.push(new nc(S.data,S.width,S.height)))}n[f.uuid]=new pf(m)}else{const m=await s(f.url);n[f.uuid]=new pf(m)}}}return n}parseTextures(e,t){function n(s,o){return typeof s=="number"?s:(console.warn("THREE.ObjectLoader.parseTexture: Constant should be in numeric form.",s),o[s])}const i={};if(e!==void 0)for(let s=0,o=e.length;s<o;s++){const c=e[s];c.image===void 0&&console.warn('THREE.ObjectLoader: No "image" specified for',c.uuid),t[c.image]===void 0&&console.warn("THREE.ObjectLoader: Undefined image",c.image);const f=t[c.image],d=f.data;let m;Array.isArray(d)?(m=new kv,d.length===6&&(m.needsUpdate=!0)):(d&&d.data?m=new nc:m=new Bi,d&&(m.needsUpdate=!0)),m.source=f,m.uuid=c.uuid,c.name!==void 0&&(m.name=c.name),c.mapping!==void 0&&(m.mapping=n(c.mapping,mH)),c.channel!==void 0&&(m.channel=c.channel),c.offset!==void 0&&m.offset.fromArray(c.offset),c.repeat!==void 0&&m.repeat.fromArray(c.repeat),c.center!==void 0&&m.center.fromArray(c.center),c.rotation!==void 0&&(m.rotation=c.rotation),c.wrap!==void 0&&(m.wrapS=n(c.wrap[0],mR),m.wrapT=n(c.wrap[1],mR)),c.format!==void 0&&(m.format=c.format),c.internalFormat!==void 0&&(m.internalFormat=c.internalFormat),c.type!==void 0&&(m.type=c.type),c.colorSpace!==void 0&&(m.colorSpace=c.colorSpace),c.minFilter!==void 0&&(m.minFilter=n(c.minFilter,gR)),c.magFilter!==void 0&&(m.magFilter=n(c.magFilter,gR)),c.anisotropy!==void 0&&(m.anisotropy=c.anisotropy),c.flipY!==void 0&&(m.flipY=c.flipY),c.generateMipmaps!==void 0&&(m.generateMipmaps=c.generateMipmaps),c.premultiplyAlpha!==void 0&&(m.premultiplyAlpha=c.premultiplyAlpha),c.unpackAlignment!==void 0&&(m.unpackAlignment=c.unpackAlignment),c.compareFunction!==void 0&&(m.compareFunction=c.compareFunction),c.userData!==void 0&&(m.userData=c.userData),i[c.uuid]=m}return i}parseObject(e,t,n,i,s){let o;function c(y){return t[y]===void 0&&console.warn("THREE.ObjectLoader: Undefined geometry",y),t[y]}function f(y){if(y!==void 0){if(Array.isArray(y)){const _=[];for(let S=0,M=y.length;S<M;S++){const b=y[S];n[b]===void 0&&console.warn("THREE.ObjectLoader: Undefined material",b),_.push(n[b])}return _}return n[y]===void 0&&console.warn("THREE.ObjectLoader: Undefined material",y),n[y]}}function d(y){return i[y]===void 0&&console.warn("THREE.ObjectLoader: Undefined texture",y),i[y]}let m,g;switch(e.type){case"Scene":o=new oT,e.background!==void 0&&(Number.isInteger(e.background)?o.background=new dt(e.background):o.background=d(e.background)),e.environment!==void 0&&(o.environment=d(e.environment)),e.fog!==void 0&&(e.fog.type==="Fog"?o.fog=new VA(e.fog.color,e.fog.near,e.fog.far):e.fog.type==="FogExp2"&&(o.fog=new GA(e.fog.color,e.fog.density)),e.fog.name!==""&&(o.fog.name=e.fog.name)),e.backgroundBlurriness!==void 0&&(o.backgroundBlurriness=e.backgroundBlurriness),e.backgroundIntensity!==void 0&&(o.backgroundIntensity=e.backgroundIntensity),e.backgroundRotation!==void 0&&o.backgroundRotation.fromArray(e.backgroundRotation),e.environmentIntensity!==void 0&&(o.environmentIntensity=e.environmentIntensity),e.environmentRotation!==void 0&&o.environmentRotation.fromArray(e.environmentRotation);break;case"PerspectiveCamera":o=new wr(e.fov,e.aspect,e.near,e.far),e.focus!==void 0&&(o.focus=e.focus),e.zoom!==void 0&&(o.zoom=e.zoom),e.filmGauge!==void 0&&(o.filmGauge=e.filmGauge),e.filmOffset!==void 0&&(o.filmOffset=e.filmOffset),e.view!==void 0&&(o.view=Object.assign({},e.view));break;
vendor: 6,609 bytes, line 92
92case"OrthographicCamera":o=new Km(e.left,e.right,e.top,e.bottom,e.near,e.far),e.zoom!==void 0&&(o.zoom=e.zoom),e.view!==void 0&&(o.view=Object.assign({},e.view));break;case"AmbientLight":o=new RO(e.color,e.intensity);break;case"DirectionalLight":o=new RT(e.color,e.intensity),o.target=e.target||"";break;case"PointLight":o=new wT(e.color,e.intensity,e.distance,e.decay);break;case"RectAreaLight":o=new BO(e.color,e.intensity,e.width,e.height);break;case"SpotLight":o=new CT(e.color,e.intensity,e.distance,e.angle,e.penumbra,e.decay),o.target=e.target||"";break;case"HemisphereLight":o=new wO(e.color,e.groundColor,e.intensity);break;case"LightProbe":o=new OO().fromJSON(e);break;case"SkinnedMesh":m=c(e.geometry),g=f(e.material),o=new cT(m,g),e.bindMode!==void 0&&(o.bindMode=e.bindMode),e.bindMatrix!==void 0&&o.bindMatrix.fromArray(e.bindMatrix),e.skeleton!==void 0&&(o.skeleton=e.skeleton);break;case"Mesh":m=c(e.geometry),g=f(e.material),o=new nr(m,g);break;case"InstancedMesh":m=c(e.geometry),g=f(e.material);const y=e.count,_=e.instanceMatrix,S=e.instanceColor;o=new uT(m,g,y),o.instanceMatrix=new gd(new Float32Array(_.array),16),S!==void 0&&(o.instanceColor=new gd(new Float32Array(S.array),S.itemSize));break;case"BatchedMesh":m=c(e.geometry),g=f(e.material),o=new tO(e.maxInstanceCount,e.maxVertexCount,e.maxIndexCount,g),o.geometry=m,o.perObjectFrustumCulled=e.perObjectFrustumCulled,o.sortObjects=e.sortObjects,o._drawRanges=e.drawRanges,o._reservedRanges=e.reservedRanges,o._geometryInfo=e.geometryInfo.map(M=>{let b=null,A=null;return M.boundingBox!==void 0&&(b=new es().fromJSON(M.boundingBox)),M.boundingSphere!==void 0&&(A=new Vr().fromJSON(M.boundingSphere)),{...M,boundingBox:b,boundingSphere:A}}),o._instanceInfo=e.instanceInfo,o._availableInstanceIds=e._availableInstanceIds,o._availableGeometryIds=e._availableGeometryIds,o._nextIndexStart=e.nextIndexStart,o._nextVertexStart=e.nextVertexStart,o._geometryCount=e.geometryCount,o._maxInstanceCount=e.maxInstanceCount,o._maxVertexCount=e.maxVertexCount,o._maxIndexCount=e.maxIndexCount,o._geometryInitialized=e.geometryInitialized,o._matricesTexture=d(e.matricesTexture.uuid),o._indirectTexture=d(e.indirectTexture.uuid),e.colorsTexture!==void 0&&(o._colorsTexture=d(e.colorsTexture.uuid)),e.boundingSphere!==void 0&&(o.boundingSphere=new Vr().fromJSON(e.boundingSphere)),e.boundingBox!==void 0&&(o.boundingBox=new es().fromJSON(e.boundingBox));break;case"LOD":o=new eO;break;case"Line":o=new su(c(e.geometry),f(e.material));break;case"LineLoop":o=new fT(c(e.geometry),f(e.material));break;case"LineSegments":o=new fl(c(e.geometry),f(e.material));break;case"PointCloud":case"Points":o=new hT(c(e.geometry),f(e.material));break;case"Sprite":o=new $D(f(e.material));break;case"Group":o=new Kc;break;case"Bone":o=new kA;break;default:o=new Pn}if(o.uuid=e.uuid,e.name!==void 0&&(o.name=e.name),e.matrix!==void 0?(o.matrix.fromArray(e.matrix),e.matrixAutoUpdate!==void 0&&(o.matrixAutoUpdate=e.matrixAutoUpdate),o.matrixAutoUpdate&&o.matrix.decompose(o.position,o.quaternion,o.scale)):(e.position!==void 0&&o.position.fromArray(e.position),e.rotation!==void 0&&o.rotation.fromArray(e.rotation),e.quaternion!==void 0&&o.quaternion.fromArray(e.quaternion),e.scale!==void 0&&o.scale.fromArray(e.scale)),e.up!==void 0&&o.up.fromArray(e.up),e.castShadow!==void 0&&(o.castShadow=e.castShadow),e.receiveShadow!==void 0&&(o.receiveShadow=e.receiveShadow),e.shadow&&(e.shadow.intensity!==void 0&&(o.shadow.intensity=e.shadow.intensity),e.shadow.bias!==void 0&&(o.shadow.bias=e.shadow.bias),e.shadow.normalBias!==void 0&&(o.shadow.normalBias=e.shadow.normalBias),e.shadow.radius!==void 0&&(o.shadow.radius=e.shadow.radius),e.shadow.mapSize!==void 0&&o.shadow.mapSize.fromArray(e.shadow.mapSize),e.shadow.camera!==void 0&&(o.shadow.camera=this.parseObject(e.shadow.camera))),e.visible!==void 0&&(o.visible=e.visible),e.frustumCulled!==void 0&&(o.frustumCulled=e.frustumCulled),e.renderOrder!==void 0&&(o.renderOrder=e.renderOrder),e.userData!==void 0&&(o.userData=e.userData),e.layers!==void 0&&(o.layers.mask=e.layers),e.children!==void 0){const y=e.children;for(let _=0;_<y.length;_++)o.add(this.parseObject(y[_],t,n,i,s))}if(e.animations!==void 0){const y=e.animations;for(let _=0;_<y.length;_++){const S=y[_];o.animations.push(s[S])}}if(e.type==="LOD"){e.autoUpdate!==void 0&&(o.autoUpdate=e.autoUpdate);const y=e.levels;for(let _=0;_<y.length;_++){const S=y[_],M=o.getObjectByProperty("uuid",S.object);M!==void 0&&o.addLevel(M,S.distance,S.hysteresis)}}return o}bindSkeletons(e,t){Object.keys(t).length!==0&&e.traverse(function(n){if(n.isSkinnedMesh===!0&&n.skeleton!==void 0){const i=t[n.skeleton];i===void 0?console.warn("THREE.ObjectLoader: No skeleton found with UUID:",n.skeleton):n.bind(i,n.bindMatrix)}})}bindLightTargets(e){e.traverse(function(t){if(t.isDirectionalLight||t.isSpotLight){const n=t.target,i=e.getObjectByProperty("uuid",n);i!==void 0?t.target=i:t.target=new Pn}})}}const mH={UVMapping:RA,CubeReflectionMapping:iu,CubeRefractionMapping:Mf,EquirectangularReflectionMapping:vv,EquirectangularRefractionMapping:yv,CubeUVReflectionMapping:Xm},mR={RepeatWrapping:Ef,ClampToEdgeWrapping:ka,MirroredRepeatWrapping:Am},gR={NearestFilter:Gr,NearestMipmapNearestFilter:BA,NearestMipmapLinearFilter:Qh,LinearFilter:tr,LinearMipmapNearestFilter:hm,LinearMipmapLinearFilter:bo},zM=new WeakMap;class UO extends Ms{constructor(e){super(e),this.isImageBitmapLoader=!0,typeof createImageBitmap>"u"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch>"u"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"},this._abortController=new AbortController}setOptions(e){return this.options=e,this}load(e,t,n,i){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const s=this,o=Zl.get(`image-bitmap:${e}`);if(o!==void 0){if(s.manager.itemStart(e),o.then){o.then(d=>{if(zM.has(o)===!0)i&&i(zM.get(o)),s.manager.itemError(e),s.manager.itemEnd(e);else return t&&t(d),s.manager.itemEnd(e),d});return}return setTimeout(function(){t&&t(o),s.manager.itemEnd(e)},0),o}const c={};c.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",c.headers=this.requestHeader,c.signal=typeof AbortSignal.any=="function"?AbortSignal.any([this._abortController.signal,this.manager.abortController.signal]):this._abortController.signal;const f=fetch(e,c).then(function(d){return d.blob()}).then(function(d){return createImageBitmap(d,Object.assign(s.options,{colorSpaceConversion:"none"}))}).then(function(d){return Zl.add(`image-bitmap:${e}
92`,d),t&&t(d),s.manager.itemEnd(e),d}).catch(function(d){i&&i(d),zM.set(f,d),Zl.remove(`image-bitmap:${e}`),s.manager.itemError(e),s.manager.itemEnd(e)});Zl.add(`image-bitmap:${e}`,f),s.manager.itemStart(e)}abort(){return this._abortController.abort(),this._abortController=new AbortController,this}}let mx;class BT{static getContext(){return mx===void 0&&(mx=new(window.AudioContext||window.webkitAudioContext)),mx}static setContext(e){mx=e}}class gH extends Ms{constructor(e){super(e)}load(e,t,n,i){const s=this,o=new Ka(this.manager);o.setResponseType("arraybuffer"),o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(f){try{const d=f.slice(0);BT.getContext().decodeAudioData(d,function(g){t(g)}).catch(c)}catch(d){c(d)}},n,i);function c(f){i?i(f):console.error(f),s.manager.itemError(e)}}}const vR=new Yt,yR=new Yt,Lh=new Yt;class vH{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new wr,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new wr,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(e){const t=this._cache;if(t.focus!==e.focus||t.fov!==e.fov||t.aspect!==e.aspect*this.aspect||t.near!==e.near||t.far!==e.far||t.zoom!==e.zoom||t.eyeSep!==this.eyeSep){t.focus=e.focus,t.fov=e.fov,t.aspect=e.aspect*this.aspect,t.near=e.near,t.far=e.far,t.zoom=e.zoom,t.eyeSep=this.eyeSep,Lh.copy(e.projectionMatrix);const i=t.eyeSep/2,s=i*t.near/t.focus,o=t.near*Math.tan(ad*t.fov*.5)/t.zoom;let c,f;yR.elements[12]=-i,vR.elements[12]=i,c=-o*t.aspect+s,f=o*t.aspect+s,Lh.elements[0]=2*t.near/(f-c),Lh.elements[8]=(f+c)/(f-c),this.cameraL.projectionMatrix.copy(Lh),c=-o*t.aspect-s,f=o*t.aspect-s,Lh.elements[0]=2*t.near/(f-c),Lh.elements[8]=(f+c)/(f-c),this.cameraR.projectionMatrix.copy(Lh)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(yR),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(vR)}}class IO extends wr{constructor(e=[]){super(),this.isArrayCamera=!0,this.isMultiViewCamera=!1,this.cameras=e}}class DT{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=performance.now(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const t=performance.now();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}const Uh=new Z,FM=new Ss,yH=new Z,Ih=new Z,Ph=new Z;class _H extends Pn{constructor(){super(),this.type="AudioListener",this.context=BT.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new DT}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(e){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}updateMatrixWorld(e){super.updateMatrixWorld(e);const t=this.context.listener;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(Uh,FM,yH),Ih.set(0,0,-1).applyQuaternion(FM),Ph.set(0,1,0).applyQuaternion(FM),t.positionX){const n=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(Uh.x,n),t.positionY.linearRampToValueAtTime(Uh.y,n),t.positionZ.linearRampToValueAtTime(Uh.z,n),t.forwardX.linearRampToValueAtTime(Ih.x,n),t.forwardY.linearRampToValueAtTime(Ih.y,n),t.forwardZ.linearRampToValueAtTime(Ih.z,n),t.upX.linearRampToValueAtTime(Ph.x,n),t.upY.linearRampToValueAtTime(Ph.y,n),t.upZ.linearRampToValueAtTime(Ph.z,n)}else t.setPosition(Uh.x,Uh.y,Uh.z),t.setOrientation(Ih.x,Ih.y,Ih.z,Ph.x,Ph.y,Ph.z)}}class PO extends Pn{constructor(e){super(),this.type="Audio",this.listener=e,this.context=e.context,this.gain=this.context.createGain(),this.gain.connect(e.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl
vendor: 17,834 bytes, line 92
92=!0,this.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(e){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=e,this.connect(),this}setMediaElementSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(e),this.connect(),this}setMediaStreamSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(e),this.connect(),this}setBuffer(e){return this.buffer=e,this.sourceType="buffer",this.autoplay&&this.play(),this}play(e=0){if(this.isPlaying===!0){console.warn("THREE.Audio: Audio is already playing.");return}if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}this._startedAt=this.context.currentTime+e;const t=this.context.createBufferSource();return t.buffer=this.buffer,t.loop=this.loop,t.loopStart=this.loopStart,t.loopEnd=this.loopEnd,t.onended=this.onEnded.bind(this),t.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=t,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this.isPlaying===!0&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.loop===!0&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this}stop(e=0){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this._progress=0,this.source!==null&&(this.source.stop(this.context.currentTime+e),this.source.onended=null),this.isPlaying=!1,this}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let e=1,t=this.filters.length;e<t;e++)this.filters[e-1].connect(this.filters[e]);this.filters[this.filters.length-1].connect(this.getOutput())}else this.source.connect(this.getOutput());return this._connected=!0,this}disconnect(){if(this._connected!==!1){if(this.filters.length>0){this.source.disconnect(this.filters[0]);for(let e=1,t=this.filters.length;e<t;e++)this.filters[e-1].disconnect(this.filters[e]);this.filters[this.filters.length-1].disconnect(this.getOutput())}else this.source.disconnect(this.getOutput());return this._connected=!1,this}}getFilters(){return this.filters}setFilters(e){return e||(e=[]),this._connected===!0?(this.disconnect(),this.filters=e.slice(),this.connect()):this.filters=e.slice(),this}setDetune(e){return this.detune=e,this.isPlaying===!0&&this.source.detune!==void 0&&this.source.detune.setTargetAtTime(this.detune,this.context.currentTime,.01),this}getDetune(){return this.detune}getFilter(){return this.getFilters()[0]}setFilter(e){return this.setFilters(e?[e]:[])}setPlaybackRate(e){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this.playbackRate=e,this.isPlaying===!0&&this.source.playbackRate.setTargetAtTime(this.playbackRate,this.context.currentTime,.01),this}getPlaybackRate(){return this.playbackRate}onEnded(){this.isPlaying=!1,this._progress=0}getLoop(){return this.hasPlaybackControl===!1?(console.warn("THREE.Audio: this Audio has no playback control."),!1):this.loop}setLoop(e){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this.loop=e,this.isPlaying===!0&&(this.source.loop=this.loop),this}setLoopStart(e){return this.loopStart=e,this}setLoopEnd(e){return this.loopEnd=e,this}getVolume(){return this.gain.gain.value}setVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}copy(e,t){return super.copy(e,t),e.sourceType!=="buffer"?(console.warn("THREE.Audio: Audio source type cannot be copied."),this):(this.autoplay=e.autoplay,this.buffer=e.buffer,this.detune=e.detune,this.loop=e.loop,this.loopStart=e.loopStart,this.loopEnd=e.loopEnd,this.offset=e.offset,this.duration=e.duration,this.playbackRate=e.playbackRate,this.hasPlaybackControl=e.hasPlaybackControl,this.sourceType=e.sourceType,this.filters=e.filters.slice(),this)}clone(e){return new this.constructor(this.listener).copy(this,e)}}const Hh=new Z,_R=new Ss,xH=new Z,zh=new Z;class SH extends PO{constructor(e){super(e),this.panner=this.context.createPanner(),this.panner.panningModel="HRTF",this.panner.connect(this.gain)}connect(){return super.connect(),this.panner.connect(this.gain),this}disconnect(){return super.disconnect(),this.panner.disconnect(this.gain),this}getOutput(){return this.panner}getRefDistance(){return this.panner.refDistance}setRefDistance(e){return this.panner.refDistance=e,this}getRolloffFactor(){return this.panner.rolloffFactor}setRolloffFactor(e){return this.panner.rolloffFactor=e,this}getDistanceModel(){return this.panner.distanceModel}setDistanceModel(e){return this.panner.distanceModel=e,this}getMaxDistance(){return this.panner.maxDistance}setMaxDistance(e){return this.panner.maxDistance=e,this}setDirectionalCone(e,t,n){return this.panner.coneInnerAngle=e,this.panner.coneOuterAngle=t,this.panner.coneOuterGain=n,this}updateMatrixWorld(e){if(super.updateMatrixWorld(e),this.hasPlaybackControl===!0&&this.isPlaying===!1)return;this.matrixWorld.decompose(Hh,_R,xH),zh.set(0,0,1).applyQuaternion(_R);const t=this.panner;if(t.positionX){const n=this.context.currentTime+this.listener.timeDelta;t.positionX.linearRampToValueAtTime(Hh.x,n),t.positionY.linearRampToValueAtTime(Hh.y,n),t.positionZ.linearRampToValueAtTime(Hh.z,n),t.orientationX.linearRampToValueAtTime(zh.x,n),t.orientationY.linearRampToValueAtTime(zh.y,n),t.orientationZ.linearRampToValueAtTime(zh.z,n)}else t.setPosition(Hh.x,Hh.y,Hh.z),t.setOrientation(zh.x,zh.y,zh.z)}}class AH{constructor(e,t=2048){this.analyser=e.context.createAnalyser(),this.analyser.fftSize=t,this.data=new Uint8Array(this.analyser.frequencyBinCount),e.getOutput().connect(this.analyser)}getFrequencyData(){return this.analyser.getByteFrequencyData(this.data),this.data}getAverageFrequency(){let e=0;const t=this.getFrequencyData();for(let n=0;n<t.length;n++)e+=t[n];return e/t.length}}class HO{constructor(e,t,n){this.binding=e,this.valueSize=n;let i,s,o;switch(t){case"quaternion":i=this._slerp,s=this._slerpAdditive,o=this._setAdditiveIdentityQuaternion,this.buffer=new Float64Array(n*6),this._workIndex=5;break;case"string":case"bool":i=this._select,s=this._select,o=this._setAdditiveIdentityOther,this.buffer=new Array(n*5);break;default:i=this._lerp,s=this._lerpAdditive,o=this._setAdditiveIdentityNumeric,this.buffer=new Float64Array(n*5)}this._mixBufferRegion=i,this._mixBufferRegionAdditive=s,this._setIdentity=o,this._origIndex=3,this._addIndex=4,this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,this.useCount=0,this.referenceCount=0}accumulate(e,t){const n=this.buffer,i=this.valueSize,s=e*i+i;let o=this.cumulativeWeight;if(o===0){for(let c=0;c!==i;++c)n[s+c]=n[c];o=t}else{o+=t;const c=t/o;this._mixBufferRegion(n,s,0,c,i)}this.cumulativeWeight=o}accumulateAdditive(e){const t=this.buffer,n=this.valueSize,i=n*this._addIndex;this.cumulativeWeightAdditive===0&&this._setIdentity(),this._mixBufferRegionAdditive(t,i,0,e,n),this.cumulativeWeightAdditive+=e}apply(e){const t=this.valueSize,n=this.buffer,i=e*t+t,s=this.cumulativeWeight,o=this.cumulativeWeightAdditive,c=this.binding;if(this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,s<1){const f=t*this._origIndex;this._mixBufferRegion(n,i,f,1-s,t)}o>0&&this._mixBufferRegionAdditive(n,i,this._addIndex*t,1,t);for(let f=t,d=t+t;f!==d;++f)if(n[f]!==n[f+t]){c.setValue(n,i);break}}saveOriginalState(){const e=this.binding,t=this.buffer,n=this.valueSize,i=n*this._origIndex;e.getValue(t,i);for(let s=n,o=i;s!==o;++s)t[s]=t[i+s%n];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const e=this.valueSize*3;this.binding.setValue(this.buffer,e)}_setAdditiveIdentityNumeric(){const e=this._addIndex*this.valueSize,t=e+this.valueSize;for(let n=e;n<t;n++)this.buffer[n]=0}_setAdditiveIdentityQuaternion(){this._setAdditiveIdentityNumeric(),this.buffer[this._addIndex*this.valueSize+3]=1}_setAdditiveIdentityOther(){const e=this._origIndex*this.valueSize,t=this._addIndex*this.valueSize;for(let n=0;n<this.valueSize;n++)this.buffer[t+n]=this.buffer[e+n]}_select(e,t,n,i,s){if(i>=.5)for(let o=0;o!==s;++o)e[t+o]=e[n+o]}_slerp(e,t,n,i){Ss.slerpFlat(e,t,e,t,e,n,i)}_slerpAdditive(e,t,n,i,s){const o=this._workIndex*s;Ss.multiplyQuaternionsFlat(e,o,e,t,e,n),Ss.slerpFlat(e,t,e,t,e,o,i)}_lerp(e,t,n,i,s){const o=1-i;for(let c=0;c!==s;++c){const f=t+c;e[f]=e[f]*o+e[n+c]*i}}_lerpAdditive(e,t,n,i,s){for(let o=0;o!==s;++o){const c=t+o;e[c]=e[c]+e[n+o]*i}}}const OT="\\[\\]\\.:\\/",bH=new RegExp("["+OT+"]","g"),NT="[^"+OT+"]",MH="[^"+OT.replace("\\.","")+"]",EH=/((?:WC+[\/:])*)/.source.replace("WC",NT),TH=/(WCOD+)?/.source.replace("WCOD",MH),CH=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",NT),wH=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",NT),RH=new RegExp("^"+EH+TH+CH+wH+"$"),BH=["material","materials","bones","map"];class DH{constructor(e,t,n){const i=n||Fn.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,i)}getValue(e,t){this.bind();const n=this._targetGroup.nCachedObjects_,i=this._bindings[n];i!==void 0&&i.getValue(e,t)}setValue(e,t){const n=this._bindings;for(let i=this._targetGroup.nCachedObjects_,s=n.length;i!==s;++i)n[i].setValue(e,t)}bind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].bind()}unbind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].unbind()}}class Fn{constructor(e,t,n){this.path=t,this.parsedPath=n||Fn.parseTrackName(t),this.node=Fn.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,t,n){return e&&e.isAnimationObjectGroup?new Fn.Composite(e,t,n):new Fn(e,t,n)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(bH,"")}static parseTrackName(e){const t=RH.exec(e);if(t===null)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const n={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},i=n.nodeName&&n.nodeName.lastIndexOf(".");if(i!==void 0&&i!==-1){const s=n.nodeName.substring(i+1);BH.indexOf(s)!==-1&&(n.nodeName=n.nodeName.substring(0,i),n.objectName=s)}if(n.propertyName===null||n.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return n}static findNode(e,t){if(t===void 0||t===""||t==="."||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){const n=e.skeleton.getBoneByName(t);if(n!==void 0)return n}if(e.children){const n=function(s){for(let o=0;o<s.length;o++){const c=s[o];if(c.name===t||c.uuid===t)return c;const f=n(c.children);if(f)return f}return null},i=n(e.children);if(i)return i}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(e,t){e[t]=this.targetObject[this.propertyName]}_getValue_array(e,t){const n=this.resolvedProperty;for(let i=0,s=n.length;i!==s;++i)e[t++]=n[i]}_getValue_arrayElement(e,t){e[t]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(e,t){this.resolvedProperty.toArray(e,t)}_setValue_direct(e,t){this.targetObject[this.propertyName]=e[t]}_setValue_direct_setNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.needsUpdate=!0}_setValue_direct_setMatrixWorldNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_array(e,t){const n=this.resolvedProperty;for(let i=0,s=n.length;i!==s;++i)n[i]=e[t++]}_setValue_array_setNeedsUpdate(e,t){const n=this.resolvedProperty;for(let i=0,s=n.length;i!==s;++i)n[i]=e[t++];this.targetObject.needsUpdate=!0}_setValue_array_setMatrixWorldNeedsUpdate(e,t){const n=this.resolvedProperty;for(let i=0,s=n.length;i!==s;++i)n[i]=e[t++];this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_arrayElement(e,t){this.resolvedProperty[this.propertyIndex]=e[t]}_setValue_arrayElement_setNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.needsUpdate=!0}_setValue_arrayElement_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_fromArray(e,t){this.resolvedProperty.fromArray(e,t)}_setValue_fromArray_setNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.needsUpdate=!0}_setValue_fromArray_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.matrixWorldNeedsUpdate=!0}_getValue_unbound(e,t){this.bind(),this.getValue(e,t)}_setValue_unbound(e,t){this.bind(),this.setValue(e,t)}bind(){let e=this.node;const t=this.parsedPath,n=t.objectName,i=t.propertyName;let s=t.propertyIndex;if(e||(e=Fn.findNode(this.rootNode,t.nodeName),this.node=e),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!e){console.warn("THREE.PropertyBinding: No target node found for track: "+this.path+".");return}if(n){let d=t.objectIndex;switch(n){case"materials":if(!e.material){console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);return}if(!e.material.materials){console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);return}e=e.material.materials;break;case"bones":if(!e.skeleton){console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);return}e=e.skeleton.bones;for(let m=0;m<e.length;m++)if(e[m].name===d){d=m;break}break;case"map":if("map"in e){e=e.map;break}if(!e.material){console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);return}if(!e.material.map){console.error("THREE.PropertyBinding: Can not bind to material.map as node.material does not have a map.",this);return}e=e.material.map;break;default:if(e[n]===void 0){console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);return}e=e[n]}if(d!==void 0){if(e[d]===void 0){console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,e);return}e=e[d]}}const o=e[i];if(o===void 0){const d=t.nodeName;console.error("THREE.PropertyBinding: Trying to update property for track: "+d+"."+i+" but it wasn't found.",e);return}let c=this.Versioning.None;this.targetObject=e,e.isMaterial===!0?c=this.Versioning.NeedsUpdate:e.isObject3D===!0&&(c=this.Versioning.MatrixWorldNeedsUpdate);let f=this.BindingType.Direct;if(s!==void 0){if(i==="morphTargetInfluences"){if(!e.geometry){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",this);return}if(!e.geometry.morphAttributes){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);return}e.morphTargetDictionary[s]!==void 0&&(s=e.morphTargetDictionary[s])}f=this.BindingType.ArrayElement,this.resolvedProperty=o,this.propertyIndex=s}else o.fromArray!==void 0&&o.toArray!==void 0?(f=this.BindingType.HasFromToArray,this.resolvedProperty=o):Array.isArray(o)?(f=this.BindingType.EntireArray,this.resolvedProperty=o):this.propertyName=i;this.getValue=this.GetterByBindingType[f],this.setValue=this.SetterByBindingTypeAndVersioning[f][c]}unbind(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}}Fn.Composite=DH;Fn.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3};Fn.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2};Fn.prototype.GetterByBindingType=[Fn.prototype._getValue_direct,Fn.prototype._getValue_array,Fn.prototype._getValue_arrayElement,Fn.prototype._getValue_toArray];Fn.prototype.SetterByBindingTypeAndVersioning=[[Fn.prototype._setValue_direct,Fn.prototype._setValue_direct_setNeedsUpdate,Fn.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[Fn.prototype._setValue_array,Fn.prototype._setValue_array_setNeedsUpdate,Fn.prototype._setValue_array_setMatrixWorldNeedsUpdate],[Fn.prototype._setValue_arrayElement,Fn.prototype._setValue_arrayElement_setNeedsUpdate,Fn.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[Fn.prototype._setValue_fromArray,Fn.prototype._setValue_fromArray_setNeedsUpdate,Fn.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]];class OH{constructor(){this.isAnimationObjectGroup=!0,this.uuid=qa(),this._objects=Array.prototype.slice.call(arguments),this.nCachedObjects_=0;const e={};this._indicesByUUID=e;for(let n=0,i=arguments.length;n!==i;++n)e[arguments[n].uuid]=n;this._paths=[],this._parsedPaths=[],this._bindings=[],this._bindingsIndicesByPath={};const t=this;this.stats={objects:{get total(){return t._objects.length},get inUse(){return this.total-t.nCachedObjects_}},get bindingsPerObject(){return t._bindings.length}}}add(){const e=this._objects,t=this._indicesByUUID,n=this._paths,i=this._parsedPaths,s=this._bindings,o=s.length;let c,f=e.length,d=this.nCachedObjects_;for(let m=0,g=arguments.length;m!==g;++m){const y=arguments[m],_=y.uuid;let S=t[_];if(S===void 0){S=f++,t[_]=S,e.push(y);for(let M=0,b=o;M!==b;++M)s[M].push(new Fn(y,n[M],i[M]))}else if(S<d){c=e[S];const M=--d,b=e[M];t[b.uuid]=S,e[S]=b,t[_]=M,e[M]=y;for(let A=0,w=o;A!==w;++A){const D=s[A],B=D[M];let I=D[S];D[S]=B,I===void 0&&(I=new Fn(y,n[A],i[A])),D[M]=I}}else e[S]!==c&&console.error("THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastru
92cture when reloading scenes.")}this.nCachedObjects_=d}remove(){const e=this._objects,t=this._indicesByUUID,n=this._bindings,i=n.length;let s=this.nCachedObjects_;for(let o=0,c=arguments.length;o!==c;++o){const f=arguments[o],d=f.uuid,m=t[d];if(m!==void 0&&m>=s){const g=s++,y=e[g];t[y.uuid]=m,e[m]=y,t[d]=g,e[g]=f;for(let _=0,S=i;_!==S;++_){const M=n[_],b=M[g],A=M[m];M[m]=b,M[g]=A}}}this.nCachedObjects_=s}uncache(){const e=this._objects,t=this._indicesByUUID,n=this._bindings,i=n.length;let s=this.nCachedObjects_,o=e.length;for(let c=0,f=arguments.length;c!==f;++c){const d=arguments[c],m=d.uuid,g=t[m];if(g!==void 0)if(delete t[m],g<s){const y=--s,_=e[y],S=--o,M=e[S];t[_.uuid]=g,e[g]=_,t[M.uuid]=y,e[y]=M,e.pop();for(let b=0,A=i;b!==A;++b){const w=n[b],D=w[y],B=w[S];w[g]=D,w[y]=B,w.pop()}}else{const y=--o,_=e[y];y>0&&(t[_.uuid]=g),e[g]=_,e.pop();for(let S=0,M=i;S!==M;++S){const b=n[S];b[g]=b[y],b.pop()}}}this.nCachedObjects_=s}subscribe_(e,t){const n=this._bindingsIndicesByPath;let i=n[e];const s=this._bindings;if(i!==void 0)return s[i];const o=this._paths,c=this._parsedPaths,f=this._objects,d=f.length,m=this.nCachedObjects_,g=new Array(d);i=s.length,n[e]=i,o.push(e),c.push(t),s.push(g);for(let y=m,_=f.length;y!==_;++y){const S=f[y];g[y]=new Fn(S,e,t)}return g}unsubscribe_(e){const t=this._bindingsIndicesByPath,n=t[e];if(n!==void 0){const i=this._paths,s=this._parsedPaths,o=this._bindings,c=o.length-1,f=o[c],d=e[c];t[d]=n,o[n]=f,o.pop(),s[n]=s[c],s.pop(),i[n]=i[c],i.pop()}}}class zO{constructor(e,t,n=null,i=t.blendMode){this._mixer=e,this._clip=t,this._localRoot=n,this.blendMode=i;const s=t.tracks,o=s.length,c=new Array(o),f={endingStart:Zh,endingEnd:Zh};for(let d=0;d!==o;++d){const m=s[d].createInterpolant(null);c[d]=m,m.settings=f}this._interpolantSettings=f,this._interpolants=c,this._propertyBindings=new Array(o),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=DD,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(e){return this._startTime=e,this}setLoop(e,t){return this.loop=e,this.repetitions=t,this}setEffectiveWeight(e){return this.weight=e,this._effectiveWeight=this.enabled?e:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(e){return this._scheduleFading(e,0,1)}fadeOut(e){return this._scheduleFading(e,1,0)}crossFadeFrom(e,t,n=!1){if(e.fadeOut(t),this.fadeIn(t),n===!0){const i=this._clip.duration,s=e._clip.duration,o=s/i,c=i/s;e.warp(1,o,t),this.warp(c,1,t)}return this}crossFadeTo(e,t,n=!1){return e.crossFadeFrom(this,t,n)}stopFading(){const e=this._weightInterpolant;return e!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}setEffectiveTimeScale(e){return this.timeScale=e,this._effectiveTimeScale=this.paused?0:e,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(e){return this.timeScale=this._clip.duration/e,this.stopWarping()}syncWith(e){return this.time=e.time,this.timeScale=e.timeScale,this.stopWarping()}halt(e){return this.warp(this._effectiveTimeScale,0,e)}warp(e,t,n){const i=this._mixer,s=i.time,o=this.timeScale;let c=this._timeScaleInterpolant;c===null&&(c=i._lendControlInterpolant(),this._timeScaleInterpolant=c);const f=c.parameterPositions,d=c.sampleValues;return f[0]=s,f[1]=s+n,d[0]=e/o,d[1]=t/o,this}stopWarping(){const e=this._timeScaleInterpolant;return e!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(e,t,n,i){if(!this.enabled){this._updateWeight(e);return}const s=this._startTime;if(s!==null){const f=(e-s)*n;f<0||n===0?t=0:(this._startTime=null,t=n*f)}t*=this._updateTimeScale(e);const o=this._updateTime(t),c=this._updateWeight(e);if(c>0){const f=this._interpolants,d=this._propertyBindings;switch(this.blendMode){case $E:for(let m=0,g=f.length;m!==g;++m)f[m].evaluate(o),d[m].accumulateAdditive(c);break;case PA:default:for(let m=0,g=f.length;m!==g;++m)f[m].evaluate(o),d[m].accumulate(i,c)}}}_updateWeight(e){let t=0;if(this.enabled){t=this.weight;const n=this._weightInterpolant;if(n!==null){const i=n.evaluate(e)[0];t*=i,e>n.parameterPositions[1]&&(this.stopFading(),i===0&&(this.enabled=!1))}}return this._effectiveWeight=t,t}_updateTimeScale(e){let t=0;if(!this.paused){t=this.timeScale;const n=this._timeScaleInterpolant;if(n!==null){const i=n.evaluate(e)[0];t*=i,e>n.parameterPositions[1]&&(this.stopWarping(),t===0?this.paused=!0:this.timeScale=t)}}return this._effectiveTimeScale=t,t}_updateTime(e){const t=this._clip.duration,n=this.loop;let i=this.time+e,s=this._loopCount;const o=n===OD;if(e===0)return s===-1?i:o&&(s&1)===1?t-i:i;if(n===BD){s===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(i>=t)i=t;else if(i<0)i=0;else{this.time=i;break e}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:e<0?-1:1})}}else{if(s===-1&&(e>=0?(s=0,this._setEndings(!0,this.repetitions===0,o)):this._setEndings(this.repetitions===0,!0,o)),i>=t||i<0){const c=Math.floor(i/t);i-=t*c,s+=Math.abs(c);const f=this.repetitions-s;if(f<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,i=e>0?t:0,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(f===1){const d=e<0;this._setEndings(d,!d,o)}else this._setEndings(!1,!1,o);this._loopCount=s,this.time=i,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:c})}}else this.time=i;if(o&&(s&1)===1)return t-i}return i}
vendor: 8,977 bytes, line 92
92_setEndings(e,t,n){const i=this._interpolantSettings;n?(i.endingStart=$h,i.endingEnd=$h):(e?i.endingStart=this.zeroSlopeAtStart?$h:Zh:i.endingStart=_v,t?i.endingEnd=this.zeroSlopeAtEnd?$h:Zh:i.endingEnd=_v)}_scheduleFading(e,t,n){const i=this._mixer,s=i.time;let o=this._weightInterpolant;o===null&&(o=i._lendControlInterpolant(),this._weightInterpolant=o);const c=o.parameterPositions,f=o.sampleValues;return c[0]=s,f[0]=t,c[1]=s+e,f[1]=n,this}}const NH=new Float32Array(1);class LH extends lc{constructor(e){super(),this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(e,t){const n=e._localRoot||this._root,i=e._clip.tracks,s=i.length,o=e._propertyBindings,c=e._interpolants,f=n.uuid,d=this._bindingsByRootAndName;let m=d[f];m===void 0&&(m={},d[f]=m);for(let g=0;g!==s;++g){const y=i[g],_=y.name;let S=m[_];if(S!==void 0)++S.referenceCount,o[g]=S;else{if(S=o[g],S!==void 0){S._cacheIndex===null&&(++S.referenceCount,this._addInactiveBinding(S,f,_));continue}const M=t&&t._propertyBindings[g].binding.parsedPath;S=new HO(Fn.create(n,_,M),y.ValueTypeName,y.getValueSize()),++S.referenceCount,this._addInactiveBinding(S,f,_),o[g]=S}c[g].resultBuffer=S.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(e._cacheIndex===null){const n=(e._localRoot||this._root).uuid,i=e._clip.uuid,s=this._actionsByClip[i];this._bindAction(e,s&&s.knownActions[0]),this._addInactiveAction(e,i,n)}const t=e._propertyBindings;for(let n=0,i=t.length;n!==i;++n){const s=t[n];s.useCount++===0&&(this._lendBinding(s),s.saveOriginalState())}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){const t=e._propertyBindings;for(let n=0,i=t.length;n!==i;++n){const s=t[n];--s.useCount===0&&(s.restoreOriginalState(),this._takeBackBinding(s))}this._takeBackAction(e)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}}_isActiveAction(e){const t=e._cacheIndex;return t!==null&&t<this._nActiveActions}_addInactiveAction(e,t,n){const i=this._actions,s=this._actionsByClip;let o=s[t];if(o===void 0)o={knownActions:[e],actionByRoot:{}},e._byClipCacheIndex=0,s[t]=o;else{const c=o.knownActions;e._byClipCacheIndex=c.length,c.push(e)}e._cacheIndex=i.length,i.push(e),o.actionByRoot[n]=e}_removeInactiveAction(e){const t=this._actions,n=t[t.length-1],i=e._cacheIndex;n._cacheIndex=i,t[i]=n,t.pop(),e._cacheIndex=null;const s=e._clip.uuid,o=this._actionsByClip,c=o[s],f=c.knownActions,d=f[f.length-1],m=e._byClipCacheIndex;d._byClipCacheIndex=m,f[m]=d,f.pop(),e._byClipCacheIndex=null;const g=c.actionByRoot,y=(e._localRoot||this._root).uuid;delete g[y],f.length===0&&delete o[s],this._removeInactiveBindingsForAction(e)}_removeInactiveBindingsForAction(e){const t=e._propertyBindings;for(let n=0,i=t.length;n!==i;++n){const s=t[n];--s.referenceCount===0&&this._removeInactiveBinding(s)}}_lendAction(e){const t=this._actions,n=e._cacheIndex,i=this._nActiveActions++,s=t[i];e._cacheIndex=i,t[i]=e,s._cacheIndex=n,t[n]=s}_takeBackAction(e){const t=this._actions,n=e._cacheIndex,i=--this._nActiveActions,s=t[i];e._cacheIndex=i,t[i]=e,s._cacheIndex=n,t[n]=s}_addInactiveBinding(e,t,n){const i=this._bindingsByRootAndName,s=this._bindings;let o=i[t];o===void 0&&(o={},i[t]=o),o[n]=e,e._cacheIndex=s.length,s.push(e)}_removeInactiveBinding(e){const t=this._bindings,n=e.binding,i=n.rootNode.uuid,s=n.path,o=this._bindingsByRootAndName,c=o[i],f=t[t.length-1],d=e._cacheIndex;f._cacheIndex=d,t[d]=f,t.pop(),delete c[s],Object.keys(c).length===0&&delete o[i]}_lendBinding(e){const t=this._bindings,n=e._cacheIndex,i=this._nActiveBindings++,s=t[i];e._cacheIndex=i,t[i]=e,s._cacheIndex=n,t[n]=s}_takeBackBinding(e){const t=this._bindings,n=e._cacheIndex,i=--this._nActiveBindings,s=t[i];e._cacheIndex=i,t[i]=e,s._cacheIndex=n,t[n]=s}_lendControlInterpolant(){const e=this._controlInterpolants,t=this._nActiveControlInterpolants++;let n=e[t];return n===void 0&&(n=new bT(new Float32Array(2),new Float32Array(2),1,NH),n.__cacheIndex=t,e[t]=n),n}_takeBackControlInterpolant(e){const t=this._controlInterpolants,n=e.__cacheIndex,i=--this._nActiveControlInterpolants,s=t[i];e.__cacheIndex=i,t[i]=e,s.__cacheIndex=n,t[n]=s}clipAction(e,t,n){const i=t||this._root,s=i.uuid;let o=typeof e=="string"?Lm.findByName(i,e):e;const c=o!==null?o.uuid:e,f=this._actionsByClip[c];let d=null;if(n===void 0&&(o!==null?n=o.blendMode:n=PA),f!==void 0){const g=f.actionByRoot[s];if(g!==void 0&&g.blendMode===n)return g;d=f.knownActions[0],o===null&&(o=d._clip)}if(o===null)return null;const m=new zO(this,o,t,n);return this._bindAction(m,d),this._addInactiveAction(m,c,s),m}existingAction(e,t){const n=t||this._root,i=n.uuid,s=typeof e=="string"?Lm.findByName(n,e):e,o=s?s.uuid:e,c=this._actionsByClip[o];return c!==void 0&&c.actionByRoot[i]||null}stopAllAction(){const e=this._actions,t=this._nActiveActions;for(let n=t-1;n>=0;--n)e[n].stop();return this}update(e){e*=this.timeScale;const t=this._actions,n=this._nActiveActions,i=this.time+=e,s=Math.sign(e),o=this._accuIndex^=1;for(let d=0;d!==n;++d)t[d]._update(i,e,s,o);const c=this._bindings,f=this._nActiveBindings;for(let d=0;d!==f;++d)c[d].apply(o);return this}setTime(e){this.time=0;for(let t=0;t<this._actions.length;t++)this._actions[t].time=0;return this.update(e)}getRoot(){return this._root}uncacheClip(e){const t=this._actions,n=e.uuid,i=this._actionsByClip,s=i[n];if(s!==void 0){const o=s.knownActions;for(let c=0,f=o.length;c!==f;++c){const d=o[c];this._deactivateAction(d);const m=d._cacheIndex,g=t[t.length-1];d._cacheIndex=null,d._byClipCacheIndex=null,g._cacheIndex=m,t[m]=g,t.pop(),this._removeInactiveBindingsForAction(d)}delete i[n]}}uncacheRoot(e){const t=e.uuid,n=this._actionsByClip;for(const o in n){const c=n[o].actionByRoot,f=c[t];f!==void 0&&(this._deactivateAction(f),this._removeInactiveAction(f))}const i=this._bindingsByRootAndName,s=i[t];if(s!==void 0)for(const o in s){const c=s[o];c.restoreOriginalState(),this._removeInactiveBinding(c)}}uncacheAction(e,t){const n=this.existingAction(e,t);n!==null&&(this._deactivateAction(n),this._removeInactiveAction(n))}}class UH extends rT{constructor(e=1,t=1,n=1,i={}){super(e,t,i),this.isRenderTarget3D=!0,this.depth=n,this.texture=new zA(null,e,t,n),this._setTextureOptions(i),this.texture.isRenderTargetTexture=!0}}class LT{constructor(e){this.value=e}clone(){return new LT(this.value.clone===void 0?this.value:this.value.clone())}}let IH=0;class PH extends lc{constructor(){super(),this.isUniformsGroup=!0,Object.defineProperty(this,"id",{value:IH++}),this.name="",this.usage=Sv,this.uniforms=[]}add(e){return this.uniforms.push(e),this}remove(e){const t=this.uniforms.indexOf(e);return t!==-1&&this.uniforms.splice(t,1),this}setName(e){return this.name=e,this}setUsage(e){return this.usage=e,this}dispose(){this.dispatchEvent({type:"dispose"})}copy(e){this.name=e.name,this.usage=e.usage;const t=e.uniforms;this.uniforms.length=0;for(let n=0,i=t.length;n<i;n++){const s=Array.isArray(t[n])?t[n]:[t[n]];for(let o=0;o<s.length;o++)this.uniforms.push(s[o].clone())}return this}clone(){return new this.constructor().copy(this)}}class HH extends Xv{constructor(e,t,n=1){super(e,t),this.isInstancedInterleavedBuffer=!0,this.meshPerAttribute=n}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}clone(e){const t=super.clone(e);return t.meshPerAttribute=this.meshPerAttribute,t}toJSON(e){const t=super.toJSON(e);return t.isInstancedInterleavedBuffer=!0,t.meshPerAttribute=this.meshPerAttribute,t}}class zH{constructor(e,t,n,i,s,o=!1){this.isGLBufferAttribute=!0,this.name="",this.buffer=e,this.type=t,this.itemSize=n,this.elementSize=i,this.count=s,this.normalized=o,this.version=0}set needsUpdate(e){e===!0&&this.version++}setBuffer(e){return this.buffer=e,this}setType(e,t){return this.type=e,this.elementSize=t,this}setItemSize(e){return this.itemSize=e,this}setCount(e){return this.count=e,this}}const xR=new Yt;class FO{constructor(e,t,n=0,i=1/0){this.ray=new jm(e,t),this.near=n,this.far=i,this.camera=null,this.layers=new Dm,this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}}}set(e,t){this.ray.set(e,t)}setFromCamera(e,t){t.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(t.matrixWorld),this.ray.direction.set(e.x,e.y,.5).unproject(t).sub(this.ray.origin).normalize(),this.camera=t):t.isOrthographicCamera?(this.ray.origin.set(e.x,e.y,(t.near+t.far)/(t.near-t.far)).unproject(t),this.ray.direction.set(0,0,-1).transformDirection(t.matrixWorld),this.camera=t):console.error("THREE.Raycaster: 
92Unsupported camera type: "+t.type)}setFromXRController(e){return xR.identity().extractRotation(e.matrixWorld),this.ray.origin.setFromMatrixPosition(e.matrixWorld),this.ray.direction.set(0,0,-1).applyMatrix4(xR),this}intersectObject(e,t=!0,n=[]){return eE(e,this,n,t),n.sort(SR),n}intersectObjects(e,t=!0,n=[]){for(let i=0,s=e.length;i<s;i++)eE(e[i],this,n,t);return n.sort(SR),n}}function SR(r,e){return r.distance-e.distance}function eE(r,e,t,n){let i=!0;if(r.layers.test(e.layers)&&r.raycast(e,t)===!1&&(i=!1),i===!0&&n===!0){const s=r.children;for(let o=0,c=s.length;o<c;o++)eE(s[o],e,t,!0)}}class FH{constructor(){this._previousTime=0,this._currentTime=0,this._startTime=performance.now(),this._delta=0,this._elapsed=0,this._timescale=1,this._document=null,this._pageVisibilityHandler=null}connect(e){this._document=e,e.hidden!==void 0&&(this._pageVisibilityHandler=GH.bind(this),e.addEventListener("visibilitychange",this._pageVisibilityHandler,!1))}disconnect(){this._pageVisibilityHandler!==null&&(this._document.removeEventListener("visibilitychange",this._pageVisibilityHandler),this._pageVisibilityHandler=null),this._document=null}getDelta(){return this._delta/1e3}getElapsed(){return this._elapsed/1e3}getTimescale(){return this._timescale}setTimescale(e){return this._timescale=e,this}reset(){return this._currentTime=performance.now()-this._startTime,this}dispose(){this.disconnect()}update(e){return this._pageVisibilityHandler!==null&&this._document.hidden===!0?this._delta=0:(this._previousTime=this._currentTime,this._currentTime=(e!==void 0?e:performance.now())-this._startTime,this._delta=(this._currentTime-this._previousTime)*this._timescale,this._elapsed+=this._delta),this}}function GH(){this._document.hidden===!1&&this.reset()}class VH{constructor(e=1,t=0,n=0){this.radius=e,this.phi=t,this.theta=n}set(e,t,n){return this.radius=e,this.phi=t,this.theta=n,this}copy(e){return this.radius=e.radius,this.phi=e.phi,this.theta=e.theta,this}makeSafe(){return this.phi=Zt(this.phi,1e-6,Math.PI-1e-6),this}setFromVector3(e){return this.setFromCartesianCoords(e.x,e.y,e.z)}setFromCartesianCoords(e,t,n){return this.radius=Math.sqrt(e*e+t*t+n*n),this.radius===0?(this.theta=0,this.phi=0):(this.theta=Math.atan2(e,n),this.phi=Math.acos(Zt(t/this.radius,-1,1))),this}clone(){return new this.constructor().copy(this)}}class kH{constructor(e=1,t=0,n=0){this.radius=e,this.theta=t,this.y=n}set(e,t,n){return this.radius=e,this.theta=t,this.y=n,this}copy(e){return this.radius=e.radius,this.theta=e.theta,this.y=e.y,this}setFromVector3(e){return this.setFromCartesianCoords(e.x,e.y,e.z)}setFromCartesianCoords(e,t,n){return this.radius=Math.sqrt(e*e+n*n),this.theta=Math.atan2(e,n),this.y=t,this}clone(){return new this.constructor().copy(this)}}class UT{constructor(e,t,n,i){UT.prototype.isMatrix2=!0,this.elements=[1,0,0,1],e!==void 0&&this.set(e,t,n,i)}identity(){return this.set(1,0,0,1),this}fromArray(e,t=0){for(let n=0;n<4;n++)this.elements[n]=e[n+t];return this}set(e,t,n,i){const s=this.elements;return s[0]=e,s[2]=t,s[1]=n,s[3]=i,this}}const AR=new qe;class XH{constructor(e=new qe(1/0,1/0),t=new qe(-1/0,-1/0)){this.isBox2=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromPoints(e){this.makeEmpty();for(let t=0,n=e.length;t<n;t++)this.expandByPoint(e[t]);return this}setFromCenterAndSize(e,t){const n=AR.copy(t).multiplyScalar(.5);return this.min.copy(e).sub(n),this.max.copy(e).add(n),this}clone(){return new this.constructor().copy(this)}copy(e){return this.min.copy(e.min),this.max.copy(e.max),this}makeEmpty(){return this.min.x=this.min.y=1/0,this.max.x=this.max.y=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y}getCenter(e){return this.isEmpty()?e.set(0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(e){return this.isEmpty()?e.set(0,0):e.subVectors(this.max,this.min)}expandByPoint(e){return this.min.min(e),this.max.max(e),this}expandByVector(e){return this.min.sub(e),this.max.add(e),this}expandByScalar(e){return this.min.addScalar(-e),this.max.addScalar(e),this}containsPoint(e){return e.x>=this.min.x&&e.x<=this.max.x&&e.y>=this.min.y&&e.y<=this.max.y}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.max.y>=this.min.y&&e.min.y<=this.max.y}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,AR).distanceTo(e)}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const bR=new Z,gx=new Z,Jp=new Z,Kp=new Z,GM=new Z,YH=new Z,jH=new Z;class qH{constructor(e=new Z,t=new Z){this.start=e,this.end=t}set(e,t){return this.start.copy(e),this.end.copy(t),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,t){return this.delta(t).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,t){bR.subVectors(e,this.start),gx.subVectors(this.end,this.start);const n=gx.dot(gx);let s=gx.dot(bR)/n;return t&&(s=Zt(s,0,1)),s}closestPointToPoint(e,t,n){const i=this.closestPointToPointParameter(e,t);return this.delta(n).multiplyScalar(i).add(this.start)}
vendor: 4,517 bytes, line 92
92distanceSqToLine3(e,t=YH,n=jH){const i=10000000000000001e-32;let s,o;const c=this.start,f=e.start,d=this.end,m=e.end;Jp.subVectors(d,c),Kp.subVectors(m,f),GM.subVectors(c,f);const g=Jp.dot(Jp),y=Kp.dot(Kp),_=Kp.dot(GM);if(g<=i&&y<=i)return t.copy(c),n.copy(f),t.sub(n),t.dot(t);if(g<=i)s=0,o=_/y,o=Zt(o,0,1);else{const S=Jp.dot(GM);if(y<=i)o=0,s=Zt(-S/g,0,1);else{const M=Jp.dot(Kp),b=g*y-M*M;b!==0?s=Zt((M*_-S*y)/b,0,1):s=0,o=(M*s+_)/y,o<0?(o=0,s=Zt(-S/g,0,1)):o>1&&(o=1,s=Zt((M-S)/g,0,1))}}return t.copy(c).add(Jp.multiplyScalar(s)),n.copy(f).add(Kp.multiplyScalar(o)),t.sub(n),t.dot(t)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}const MR=new Z;class WH extends Pn{constructor(e,t){super(),this.light=e,this.matrixAutoUpdate=!1,this.color=t,this.type="SpotLightHelper";const n=new ln,i=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let o=0,c=1,f=32;o<f;o++,c++){const d=o/f*Math.PI*2,m=c/f*Math.PI*2;i.push(Math.cos(d),Math.sin(d),1,Math.cos(m),Math.sin(m),1)}n.setAttribute("position",new Dt(i,3));const s=new bs({fog:!1,toneMapped:!1});this.cone=new fl(n,s),this.add(this.cone),this.update()}dispose(){this.cone.geometry.dispose(),this.cone.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.light.target.updateWorldMatrix(!0,!1),this.parent?(this.parent.updateWorldMatrix(!0),this.matrix.copy(this.parent.matrixWorld).invert().multiply(this.light.matrixWorld)):this.matrix.copy(this.light.matrixWorld),this.matrixWorld.copy(this.light.matrixWorld);const e=this.light.distance?this.light.distance:1e3,t=e*Math.tan(this.light.angle);this.cone.scale.set(t,t,e),MR.setFromMatrixPosition(this.light.target.matrixWorld),this.cone.lookAt(MR),this.color!==void 0?this.cone.material.color.set(this.color):this.cone.material.color.copy(this.light.color)}}const lf=new Z,vx=new Yt,VM=new Yt;class JH extends fl{constructor(e){const t=GO(e),n=new ln,i=[],s=[];for(let d=0;d<t.length;d++){const m=t[d];m.parent&&m.parent.isBone&&(i.push(0,0,0),i.push(0,0,0),s.push(0,0,0),s.push(0,0,0))}n.setAttribute("position",new Dt(i,3)),n.setAttribute("color",new Dt(s,3));const o=new bs({vertexColors:!0,depthTest:!1,depthWrite:!1,toneMapped:!1,transparent:!0});super(n,o),this.isSkeletonHelper=!0,this.type="SkeletonHelper",this.root=e,this.bones=t,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1;const c=new dt(255),f=new dt(65280);this.setColors(c,f)}updateMatrixWorld(e){const t=this.bones,n=this.geometry,i=n.getAttribute("position");VM.copy(this.root.matrixWorld).invert();for(let s=0,o=0;s<t.length;s++){const c=t[s];c.parent&&c.parent.isBone&&(vx.multiplyMatrices(VM,c.matrixWorld),lf.setFromMatrixPosition(vx),i.setXYZ(o,lf.x,lf.y,lf.z),vx.multiplyMatrices(VM,c.parent.matrixWorld),lf.setFromMatrixPosition(vx),i.setXYZ(o+1,lf.x,lf.y,lf.z),o+=2)}n.getAttribute("position").needsUpdate=!0,super.updateMatrixWorld(e)}setColors(e,t){const i=this.geometry.getAttribute("color");for(let s=0;s<i.count;s+=2)i.setXYZ(s,e.r,e.g,e.b),i.setXYZ(s+1,t.r,t.g,t.b);return i.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}function GO(r){const e=[];r.isBone===!0&&e.push(r);for(let t=0;t<r.children.length;t++)e.push(...GO(r.children[t]));return e}class KH extends nr{constructor(e,t,n){const i=new Jv(t,4,2),s=new Ya({wireframe:!0,fog:!1,toneMapped:!1});super(i,s),this.light=e,this.color=n,this.type="PointLightHelper",this.matrix=this.light.matrixWorld,this.matrixAutoUpdate=!1,this.update()}dispose(){this.geometry.dispose(),this.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.color!==void 0?this.material.color.set(this.color):this.material.color.copy(this.light.color)}}const QH=new Z,ER=new dt,TR=new dt;class ZH extends Pn{constructor(e,t,n){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=n,this.type="HemisphereLightHelper";const i=new Wv(t);i.rotateY(Math.PI*.5),this.material=new Ya({wireframe:!0,fog:!1,toneMapped:!1}),this.color===void 0&&(this.material.vertexColors=!0);const s=i.getAttribute("position"),o=new Float32Array(s.count*3);i.setAttribute("color",new Vn(o,3)),this.add(new nr(i,this.material)),this.update()}dispose(){this.children[0].geometry.dispose(),this.children[0].material.dispose()}update(){const e=this.children[0];if(this.color!==void 0)this.material.color.set(this.color);else{const t=e.geometry.getAttribute("color");
vendor: 5,131 bytes, line 92
92ER.copy(this.light.color),TR.copy(this.light.groundColor);for(let n=0,i=t.count;n<i;n++){const s=n<i/2?ER:TR;t.setXYZ(n,s.r,s.g,s.b)}t.needsUpdate=!0}this.light.updateWorldMatrix(!0,!1),e.lookAt(QH.setFromMatrixPosition(this.light.matrixWorld).negate())}}class $H extends fl{constructor(e=10,t=10,n=4473924,i=8947848){n=new dt(n),i=new dt(i);const s=t/2,o=e/t,c=e/2,f=[],d=[];for(let y=0,_=0,S=-c;y<=t;y++,S+=o){f.push(-c,0,S,c,0,S),f.push(S,0,-c,S,0,c);const M=y===s?n:i;M.toArray(d,_),_+=3,M.toArray(d,_),_+=3,M.toArray(d,_),_+=3,M.toArray(d,_),_+=3}const m=new ln;m.setAttribute("position",new Dt(f,3)),m.setAttribute("color",new Dt(d,3));const g=new bs({vertexColors:!0,toneMapped:!1});super(m,g),this.type="GridHelper"}dispose(){this.geometry.dispose(),this.material.dispose()}}class ez extends fl{constructor(e=10,t=16,n=8,i=64,s=4473924,o=8947848){s=new dt(s),o=new dt(o);const c=[],f=[];if(t>1)for(let g=0;g<t;g++){const y=g/t*(Math.PI*2),_=Math.sin(y)*e,S=Math.cos(y)*e;c.push(0,0,0),c.push(_,0,S);const M=g&1?s:o;f.push(M.r,M.g,M.b),f.push(M.r,M.g,M.b)}for(let g=0;g<n;g++){const y=g&1?s:o,_=e-e/n*g;for(let S=0;S<i;S++){let M=S/i*(Math.PI*2),b=Math.sin(M)*_,A=Math.cos(M)*_;c.push(b,0,A),f.push(y.r,y.g,y.b),M=(S+1)/i*(Math.PI*2),b=Math.sin(M)*_,A=Math.cos(M)*_,c.push(b,0,A),f.push(y.r,y.g,y.b)}}const d=new ln;d.setAttribute("position",new Dt(c,3)),d.setAttribute("color",new Dt(f,3));const m=new bs({vertexColors:!0,toneMapped:!1});super(d,m),this.type="PolarGridHelper"}dispose(){this.geometry.dispose(),this.material.dispose()}}const CR=new Z,yx=new Z,wR=new Z;class tz extends Pn{constructor(e,t,n){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=n,this.type="DirectionalLightHelper",t===void 0&&(t=1);let i=new ln;i.setAttribute("position",new Dt([-t,t,0,t,t,0,t,-t,0,-t,-t,0,-t,t,0],3));const s=new bs({fog:!1,toneMapped:!1});this.lightPlane=new su(i,s),this.add(this.lightPlane),i=new ln,i.setAttribute("position",new Dt([0,0,0,0,0,1],3)),this.targetLine=new su(i,s),this.add(this.targetLine),this.update()}dispose(){this.lightPlane.geometry.dispose(),this.lightPlane.material.dispose(),this.targetLine.geometry.dispose(),this.targetLine.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.light.target.updateWorldMatrix(!0,!1),CR.setFromMatrixPosition(this.light.matrixWorld),yx.setFromMatrixPosition(this.light.target.matrixWorld),wR.subVectors(yx,CR),this.lightPlane.lookAt(yx),this.color!==void 0?(this.lightPlane.material.color.set(this.color),this.targetLine.material.color.set(this.color)):(this.lightPlane.material.color.copy(this.light.color),this.targetLine.material.color.copy(this.light.color)),this.targetLine.lookAt(yx),this.targetLine.scale.z=wR.length()}}const _x=new Z,Yi=new FA;class nz extends fl{constructor(e){const t=new ln,n=new bs({color:16777215,vertexColors:!0,toneMapped:!1}),i=[],s=[],o={};c("n1","n2"),c("n2","n4"),c("n4","n3"),c("n3","n1"),c("f1","f2"),c("f2","f4"),c("f4","f3"),c("f3","f1"),c("n1","f1"),c("n2","f2"),c("n3","f3"),c("n4","f4"),c("p","n1"),c("p","n2"),c("p","n3"),c("p","n4"),c("u1","u2"),c("u2","u3"),c("u3","u1"),c("c","t"),c("p","c"),c("cn1","cn2"),c("cn3","cn4"),c("cf1","cf2"),c("cf3","cf4");function c(S,M){f(S),f(M)}function f(S){i.push(0,0,0),s.push(0,0,0),o[S]===void 0&&(o[S]=[]),o[S].push(i.length/3-1)}t.setAttribute("position",new Dt(i,3)),t.setAttribute("color",new Dt(s,3)),super(t,n),this.type="CameraHelper",this.camera=e,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=o,this.update();const d=new dt(16755200),m=new dt(16711680),g=new dt(43775),y=new dt(16777215),_=new dt(3355443);this.setColors(d,m,g,y,_)}setColors(e,t,n,i,s){const c=this.geometry.getAttribute("color");return c.setXYZ(0,e.r,e.g,e.b),c.setXYZ(1,e.r,e.g,e.b),c.setXYZ(2,e.r,e.g,e.b),c.setXYZ(3,e.r,e.g,e.b),c.setXYZ(4,e.r,e.g,e.b),c.setXYZ(5,e.r,e.g,e.b),c.setXYZ(6,e.r,e.g,e.b),c.setXYZ(7,e.r,e.g,e.b),c.setXYZ(8,e.r,e.g,e.b),c.setXYZ(9,e.r,e.g,e.b),c.setXYZ(10,e.r,e.g,e.b),c.setXYZ(11,e.r,e.g,e.b),c.setXYZ(12,e.r,e.g,e.b),c.setXYZ(13,e.r,e.g,e.b),c.setXYZ(14,e.r,e.g,e.b),c.setXYZ(15,e.r,e.g,e.b),c.setXYZ(16,e.r,e.g,e.b),c.setXYZ(17,e.r,e.g,e.b),c.setXYZ(18,e.r,e.g,e.b),c.setXYZ(19,e.r,e.g,e.b),c.setXYZ(20,e.r,e.g,e.b),c.setXYZ(21,e.r,e.g,e.b),c.setXYZ(22,e.r,e.g,e.b),c.setXYZ(23,e.r,e.g,e.b),c.setXYZ(24,t.r,t.g,t.b),c.setXYZ(25,t.r,t.g,t.b),c.setXYZ(26,t.r,t.g,t.b),c.setXYZ(27,t.r,t.g,t.b),c.setXYZ(28,t.r,t.g,t.b),c.setXYZ(29,t.r,t.g,t.b),c.setXYZ(30,t.r,t.g,t.b),c.setXYZ(31,t.r,t.g,t.b),c.setXYZ(32,n.r,n.g,n.b),c.setXYZ(33,n.r,n.g,n.b),c.setXYZ(34,n.r,n.g,n.b),c.setXYZ(35,n.r,n.g,n.b),c.setXYZ(36,n.r,n.g,n.b),c.setXYZ(37,n.r,n.g,n.b),c.setXYZ(38,i.r,i.g,i.b),c.setXYZ(39,i.r,i.g,i.b),c.setXYZ(40,s.r,s.g,s.b),c.setXYZ(41,s.r,s.g,s.b),c.setXYZ(42,s.r,s.g,s.b),c.setXYZ(43,s.r,s.g,s.b),c.setXYZ(44,s.r,s.g,s.b),c.setXYZ(45,s.r,s.g,s.b),c.setXYZ(46,s.r,s.g,s.b),c.setXYZ(47,s.r,s.g,s.b),c.setXYZ(48,s.r,s.g,s.b),c.setXYZ(49,s.r,s.g,s.b),c.needsUpdate=!0,this}update(){const e=this.geometry,t=this.pointMap,n=1,i=1;let s,o;
vendor: 10,500 bytes, line 92
92if(Yi.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),this.camera.reversedDepth===!0)s=1,o=0;else if(this.camera.coordinateSystem===Xa)s=-1,o=1;else if(this.camera.coordinateSystem===Rm)s=0,o=1;else throw new Error("THREE.CameraHelper.update(): Invalid coordinate system: "+this.camera.coordinateSystem);$i("c",t,e,Yi,0,0,s),$i("t",t,e,Yi,0,0,o),$i("n1",t,e,Yi,-n,-i,s),$i("n2",t,e,Yi,n,-i,s),$i("n3",t,e,Yi,-n,i,s),$i("n4",t,e,Yi,n,i,s),$i("f1",t,e,Yi,-n,-i,o),$i("f2",t,e,Yi,n,-i,o),$i("f3",t,e,Yi,-n,i,o),$i("f4",t,e,Yi,n,i,o),$i("u1",t,e,Yi,n*.7,i*1.1,s),$i("u2",t,e,Yi,-n*.7,i*1.1,s),$i("u3",t,e,Yi,0,i*2,s),$i("cf1",t,e,Yi,-n,0,o),$i("cf2",t,e,Yi,n,0,o),$i("cf3",t,e,Yi,0,-i,o),$i("cf4",t,e,Yi,0,i,o),$i("cn1",t,e,Yi,-n,0,s),$i("cn2",t,e,Yi,n,0,s),$i("cn3",t,e,Yi,0,-i,s),$i("cn4",t,e,Yi,0,i,s),e.getAttribute("position").needsUpdate=!0}dispose(){this.geometry.dispose(),this.material.dispose()}}function $i(r,e,t,n,i,s,o){_x.set(i,s,o).unproject(n);const c=e[r];if(c!==void 0){const f=t.getAttribute("position");for(let d=0,m=c.length;d<m;d++)f.setXYZ(c[d],_x.x,_x.y,_x.z)}}const xx=new es;class iz extends fl{constructor(e,t=16776960){const n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),i=new Float32Array(24),s=new ln;s.setIndex(new Vn(n,1)),s.setAttribute("position",new Vn(i,3)),super(s,new bs({color:t,toneMapped:!1})),this.object=e,this.type="BoxHelper",this.matrixAutoUpdate=!1,this.update()}update(){if(this.object!==void 0&&xx.setFromObject(this.object),xx.isEmpty())return;const e=xx.min,t=xx.max,n=this.geometry.attributes.position,i=n.array;i[0]=t.x,i[1]=t.y,i[2]=t.z,i[3]=e.x,i[4]=t.y,i[5]=t.z,i[6]=e.x,i[7]=e.y,i[8]=t.z,i[9]=t.x,i[10]=e.y,i[11]=t.z,i[12]=t.x,i[13]=t.y,i[14]=e.z,i[15]=e.x,i[16]=t.y,i[17]=e.z,i[18]=e.x,i[19]=e.y,i[20]=e.z,i[21]=t.x,i[22]=e.y,i[23]=e.z,n.needsUpdate=!0,this.geometry.computeBoundingSphere()}setFromObject(e){return this.object=e,this.update(),this}copy(e,t){return super.copy(e,t),this.object=e.object,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class rz extends fl{constructor(e,t=16776960){const n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),i=[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1],s=new ln;s.setIndex(new Vn(n,1)),s.setAttribute("position",new Dt(i,3)),super(s,new bs({color:t,toneMapped:!1})),this.box=e,this.type="Box3Helper",this.geometry.computeBoundingSphere()}updateMatrixWorld(e){const t=this.box;t.isEmpty()||(t.getCenter(this.position),t.getSize(this.scale),this.scale.multiplyScalar(.5),super.updateMatrixWorld(e))}dispose(){this.geometry.dispose(),this.material.dispose()}}class sz extends su{constructor(e,t=1,n=16776960){const i=n,s=[1,-1,0,-1,1,0,-1,-1,0,1,1,0,-1,1,0,-1,-1,0,1,-1,0,1,1,0],o=new ln;o.setAttribute("position",new Dt(s,3)),o.computeBoundingSphere(),super(o,new bs({color:i,toneMapped:!1})),this.type="PlaneHelper",this.plane=e,this.size=t;const c=[1,1,0,-1,1,0,-1,-1,0,1,1,0,-1,-1,0,1,-1,0],f=new ln;f.setAttribute("position",new Dt(c,3)),f.computeBoundingSphere(),this.add(new nr(f,new Ya({color:i,opacity:.2,transparent:!0,depthWrite:!1,toneMapped:!1})))}updateMatrixWorld(e){this.position.set(0,0,0),this.scale.set(.5*this.size,.5*this.size,1),this.lookAt(this.plane.normal),this.translateZ(-this.plane.constant),super.updateMatrixWorld(e)}dispose(){this.geometry.dispose(),this.material.dispose(),this.children[0].geometry.dispose(),this.children[0].material.dispose()}}const RR=new Z;let Sx,kM;class az extends Pn{constructor(e=new Z(0,0,1),t=new Z(0,0,0),n=1,i=16776960,s=n*.2,o=s*.2){super(),this.type="ArrowHelper",Sx===void 0&&(Sx=new ln,Sx.setAttribute("position",new Dt([0,0,0,0,1,0],3)),kM=new qv(.5,1,5,1),kM.translate(0,-.5,0)),this.position.copy(t),this.line=new su(Sx,new bs({color:i,toneMapped:!1})),this.line.matrixAutoUpdate=!1,this.add(this.line),this.cone=new nr(kM,new Ya({color:i,toneMapped:!1})),this.cone.matrixAutoUpdate=!1,this.add(this.cone),this.setDirection(e),this.setLength(n,s,o)}setDirection(e){if(e.y>.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{RR.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle(RR,t)}}setLength(e,t=e*.2,n=t*.2){this.line.scale.set(1,Math.max(1e-4,e-t),1),this.line.updateMatrix(),this.cone.scale.set(n,t,n),this.cone.position.y=e,this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e),this.cone.material.color.set(e)}copy(e){return super.copy(e,!1),this.line.copy(e.line),this.cone.copy(e.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}}class oz extends fl{constructor(e=1){const t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],n=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],i=new ln;i.setAttribute("position",new Dt(t,3)),i.setAttribute("color",new Dt(n,3));const s=new bs({vertexColors:!0,toneMapped:!1});super(i,s),this.type="AxesHelper"}setColors(e,t,n){const i=new dt,s=this.geometry.attributes.color.array;return i.set(e),i.toArray(s,0),i.toArray(s,3),i.set(t),i.toArray(s,6),i.toArray(s,9),i.set(n),i.toArray(s,12),i.toArray(s,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class lz{constructor(){this.type="ShapePath",this.color=new dt,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new lA,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,t),this}lineTo(e,t){return this.currentPath.lineTo(e,t),this}quadraticCurveTo(e,t,n,i){return this.currentPath.quadraticCurveTo(e,t,n,i),this}bezierCurveTo(e,t,n,i,s,o){return this.currentPath.bezierCurveTo(e,t,n,i,s,o),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e){function t(A){const w=[];for(let D=0,B=A.length;D<B;D++){const I=A[D],O=new od;O.curves=I.curves,w.push(O)}return w}function n(A,w){const D=w.length;let B=!1;for(let I=D-1,O=0;O<D;I=O++){let U=w[I],z=w[O],P=z.x-U.x,N=z.y-U.y;if(Math.abs(N)>Number.EPSILON){if(N<0&&(U=w[O],P=-P,z=w[I],N=-N),A.y<U.y||A.y>z.y)continue;if(A.y===U.y){if(A.x===U.x)return!0}else{const G=N*(A.x-U.x)-P*(A.y-U.y);if(G===0)return!0;if(G<0)continue;B=!B}}else{if(A.y!==U.y)continue;if(z.x<=A.x&&A.x<=U.x||U.x<=A.x&&A.x<=z.x)return!0}}return B}const i=cl.isClockWise,s=this.subPaths;if(s.length===0)return[];let o,c,f;const d=[];if(s.length===1)return c=s[0],f=new od,f.curves=c.curves,d.push(f),d;let m=!i(s[0].getPoints());m=e?!m:m;const g=[],y=[];let _=[],S=0,M;y[S]=void 0,_[S]=[];for(let A=0,w=s.length;A<w;A++)c=s[A],M=c.getPoints(),o=i(M),o=e?!o:o,o?(!m&&y[S]&&S++,y[S]={s:new od,p:M},y[S].s.curves=c.curves,m&&S++,_[S]=[]):_[S].push({h:c,p:M[0]});if(!y[0])return t(s);if(y.length>1){let A=!1,w=0;for(let D=0,B=y.length;D<B;D++)g[D]=[];for(let D=0,B=y.length;D<B;D++){const I=_[D];for(let O=0;O<I.length;O++){const U=I[O];let z=!0;for(let P=0;P<y.length;P++)n(U.p,y[P].p)&&(D!==P&&w++,z?(z=!1,g[P].push(U)):A=!0);z&&g[D].push(U)}}w>0&&A===!1&&(_=g)}let b;for(let A=0,w=y.length;A<w;A++){f=y[A].s,d.push(f),b=_[A];for(let D=0,B=b.length;D<B;D++)f.holes.push(b[D].h)}return d}}class cz extends lc{constructor(e,t=null){super(),this.object=e,this.domElement=t,this.enabled=!0,this.state=-1,this.keys={},this.mouseButtons={LEFT:null,MIDDLE:null,RIGHT:null},this.touches={ONE:null,TWO:null}}connect(e){if(e===void 0){console.warn("THREE.Controls: connect() now requires an element.");return}this.domElement!==null&&this.disconnect(),this.domElement=e}disconnect(){}dispose(){}update(){}}function uz(r,e){const t=r.image&&r.image.width?r.image.width/r.image.height:1;return t>e?(r.repeat.x=1,r.repeat.y=t/e,r.offset.x=0,r.offset.y=(1-r.repeat.y)/2):(r.repeat.x=e/t,r.repeat.y=1,r.offset.x=(1-r.repeat.x)/2,r.offset.y=0),r}function fz(r,e){const t=r.image&&r.image.width?r.image.width/r.image.height:1;return t>e?(r.repeat.x=e/t,r.repeat.y=1,r.offset.x=(1-r.repeat.x)/2,r.offset.y=0):(r.repeat.x=1,r.repeat.y=t/e,r.offset.x=0,r.offset.y=(1-r.repeat.y)/2),r}function hz(r){return r.repeat.x=1,r.repeat.y=1,r.offset.x=0,r.offset.y=0,r}function tE(r,e,t,n){const i=dz(n);switch(t){case JE:return r*e;case LA:return r*e/i.components*i.byteLength;case Vv:return r*e/i.components*i.byteLength;case QE:return r*e*2/i.components*i.byteLength;case UA:return r*e*2/i.components*i.byteLength;case KE:return r*e*3/i.components*i.byteLength;case xs:return r*e*4/i.components*i.byteLength;case IA:return r*e*4/i.components*i.byteLength;case J0:case K0:return Math.floor((r+3)/4)*Math.floor((e+3)/4)*8;case Q0:case Z0:return Math.floor((r+3)/4)*Math.floor((e+3)/4)*16;case NS:case US:return Math.max(r,16)*Math.max(e,8)/4;case OS:case LS:return Math.max(r,8)*Math.max(e,8)/2;case IS:case PS:return Math.floor((r+3)/4)*Math.floor((e+3)/4)*8;case HS:return Math.floor((r+3)/4)*Math.floor((e+3)/4)*16;case zS:return Math.floor((r+3)/4)*Math.floor((e+3)/4)*16;case FS:return Math.floor((r+4)/5)*Math.floor((e+3)/4)*16;case GS:return Math.floor((r+4)/5)*Math.floor((e+4)/5)*16;case VS:return Math.floor((r+5)/6)*Math.floor((e+4)/5)*16;case kS:return Math.floor((r+5)/6)*Math.floor((e+5)/6)*16;case XS:return Math.floor((r+7)/8)*Math.floor((e+4)/5)*16;case YS:return Math.floor((r+7)/8)*Math.floor((e+5)/6)*16;case jS:return Math.floor((r+7)/8)*Math.floor((e+7)/8)*16;case qS:return Math.floor((r+9)/10)*Math.floor((e+4)/5)*16;case WS:return Math.floor((r+9)/10)*Math.floor((e+5)/6)*16;case JS:return Math.floor((r+9)/10)*Math.floor((e+7)/8)*16;case KS:return Math.floor((r+9)/10)*Math.floor((e+9)/10)*16;case QS:return Math.floor((r+11)/12)*Math.floor((e+9)/10)*16;case ZS:return Math.floor((r+11)/12)*Math.floor((e+11)/12)*16;case $0:case $S:case eA:return Math.ceil(r/4)*Math.ceil(e/4)*16;case ZE:case tA:return Math.ceil(r/4)*Math.ceil(e/4)*8;case nA:case iA:return Math.ceil(r/4)*Math.ceil(e/4)*16}throw new Error(`Unable to determine texture byte length for ${t} format.`)}function dz(r){switch(r){case wo:case jE:return{byteLength:1,components:1};case bm:case qE:case Ym:return{byteLength:2,components:1};case OA:case NA:return{byteLength:2,components:4};case ru:case DA:case va:return{byteLength:4,components:1};case WE:return{byteLength:4,components:3}}throw new Error(`Unknown texture type ${r}.`)}class pz{static contain(e,t){return uz(e,t)}static cover(e,t){return fz(e,t)}static fill(e){return hz(e)}static getByteLength(e,t,n,i){return tE(e,t,n,i)}}typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:Fv}}
vendor: 4,714 bytes, lines 92-155
92));typeof window<"u"&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=Fv);/**
93 * @license
94 * Copyright 2010-2025 Three.js Authors
95 * SPDX-License-Identifier: MIT
96 */function VO(){let r=null,e=!1,t=null,n=null;function i(s,o){t(s,o),n=r.requestAnimationFrame(i)}return{start:function(){e!==!0&&t!==null&&(n=r.requestAnimationFrame(i),e=!0)},stop:function(){r.cancelAnimationFrame(n),e=!1},setAnimationLoop:function(s){t=s},setContext:function(s){r=s}}}function mz(r){const e=new WeakMap;function t(c,f){const d=c.array,m=c.usage,g=d.byteLength,y=r.createBuffer();r.bindBuffer(f,y),r.bufferData(f,d,m),c.onUploadCallback();let _;if(d instanceof Float32Array)_=r.FLOAT;else if(typeof Float16Array<"u"&&d instanceof Float16Array)_=r.HALF_FLOAT;else if(d instanceof Uint16Array)c.isFloat16BufferAttribute?_=r.HALF_FLOAT:_=r.UNSIGNED_SHORT;else if(d instanceof Int16Array)_=r.SHORT;else if(d instanceof Uint32Array)_=r.UNSIGNED_INT;else if(d instanceof Int32Array)_=r.INT;else if(d instanceof Int8Array)_=r.BYTE;else if(d instanceof Uint8Array)_=r.UNSIGNED_BYTE;else if(d instanceof Uint8ClampedArray)_=r.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+d);return{buffer:y,type:_,bytesPerElement:d.BYTES_PER_ELEMENT,version:c.version,size:g}}function n(c,f,d){const m=f.array,g=f.updateRanges;if(r.bindBuffer(d,c),g.length===0)r.bufferSubData(d,0,m);else{g.sort((_,S)=>_.start-S.start);let y=0;for(let _=1;_<g.length;_++){const S=g[y],M=g[_];M.start<=S.start+S.count+1?S.count=Math.max(S.count,M.start+M.count-S.start):(++y,g[y]=M)}g.length=y+1;for(let _=0,S=g.length;_<S;_++){const M=g[_];r.bufferSubData(d,M.start*m.BYTES_PER_ELEMENT,m,M.start,M.count)}f.clearUpdateRanges()}f.onUploadCallback()}function i(c){return c.isInterleavedBufferAttribute&&(c=c.data),e.get(c)}function s(c){c.isInterleavedBufferAttribute&&(c=c.data);const f=e.get(c);f&&(r.deleteBuffer(f.buffer),e.delete(c))}function o(c,f){if(c.isInterleavedBufferAttribute&&(c=c.data),c.isGLBufferAttribute){const m=e.get(c);(!m||m.version<c.version)&&e.set(c,{buffer:c.buffer,type:c.type,bytesPerElement:c.elementSize,version:c.version});return}const d=e.get(c);if(d===void 0)e.set(c,t(c,f));else if(d.version<c.version){if(d.size!==c.array.byteLength)throw new Error("THREE.WebGLAttributes: The size of the buffer attribute's array buffer does not match the original size. Resizing buffer attributes is not supported.");n(d.buffer,c,f),d.version=c.version}}return{get:i,remove:s,update:o}}var gz=`#ifdef USE_ALPHAHASH
97	if ( diffuseColor.a < getAlphaHashThreshold( vPosition ) ) discard;
98#endif`,vz=`#ifdef USE_ALPHAHASH
99	const float ALPHA_HASH_SCALE = 0.05;
100	float hash2D( vec2 value ) {
101		return fract( 1.0e4 * sin( 17.0 * value.x + 0.1 * value.y ) * ( 0.1 + abs( sin( 13.0 * value.y + value.x ) ) ) );
102	}
103	float hash3D( vec3 value ) {
104		return hash2D( vec2( hash2D( value.xy ), value.z ) );
105	}
106	float getAlphaHashThreshold( vec3 position ) {
107		float maxDeriv = max(
108			length( dFdx( position.xyz ) ),
109			length( dFdy( position.xyz ) )
110		);
111		float pixScale = 1.0 / ( ALPHA_HASH_SCALE * maxDeriv );
112		vec2 pixScales = vec2(
113			exp2( floor( log2( pixScale ) ) ),
114			exp2( ceil( log2( pixScale ) ) )
115		);
116		vec2 alpha = vec2(
117			hash3D( floor( pixScales.x * position.xyz ) ),
118			hash3D( floor( pixScales.y * position.xyz ) )
119		);
120		float lerpFactor = fract( log2( pixScale ) );
121		float x = ( 1.0 - lerpFactor ) * alpha.x + lerpFactor * alpha.y;
122		float a = min( lerpFactor, 1.0 - lerpFactor );
123		vec3 cases = vec3(
124			x * x / ( 2.0 * a * ( 1.0 - a ) ),
125			( x - 0.5 * a ) / ( 1.0 - a ),
126			1.0 - ( ( 1.0 - x ) * ( 1.0 - x ) / ( 2.0 * a * ( 1.0 - a ) ) )
127		);
128		float threshold = ( x < ( 1.0 - a ) )
129			? ( ( x < a ) ? cases.x : cases.y )
130			: cases.z;
131		return clamp( threshold , 1.0e-6, 1.0 );
132	}
133#endif`,yz=`#ifdef USE_ALPHAMAP
134	diffuseColor.a *= texture2D( alphaMap, vAlphaMapUv ).g;
135#endif`,_z=`#ifdef USE_ALPHAMAP
136	uniform sampler2D alphaMap;
137#endif`,xz=`#ifdef USE_ALPHATEST
138	#ifdef ALPHA_TO_COVERAGE
139	diffuseColor.a = smoothstep( alphaTest, alphaTest + fwidth( diffuseColor.a ), diffuseColor.a );
140	if ( diffuseColor.a == 0.0 ) discard;
141	#else
142	if ( diffuseColor.a < alphaTest ) discard;
143	#endif
144#endif`,Sz=`#ifdef USE_ALPHATEST
145	uniform float alphaTest;
146#endif`,Az=`#ifdef USE_AOMAP
147	float ambientOcclusion = ( texture2D( aoMap, vAoMapUv ).r - 1.0 ) * aoMapIntensity + 1.0;
148	reflectedLight.indirectDiffuse *= ambientOcclusion;
149	#if defined( USE_CLEARCOAT ) 
150		clearcoatSpecularIndirect *= ambientOcclusion;
151	#endif
152	#if defined( USE_SHEEN ) 
153		sheenSpecularIndirect *= ambientOcclusion;
154	#endif
155	#if defined( USE_ENVMAP ) && defined( STANDARD )
156		float dotNV = saturate( dot( geometryNormal, geometryViewDir ) );
157		reflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness );
158	#endif
159#endif`,bz=`#ifdef USE_AOMAP
160	uniform sampler2D aoMap;
161	uniform float aoMapIntensity;
162#endif`,Mz=`#ifdef USE_BATCHING
163	#if ! defined( GL_ANGLE_multi_draw )
164	#define gl_DrawID _gl_DrawID
165	uniform int _gl_DrawID;
166	#endif
167	uniform highp sampler2D batchingTexture;
168	uniform highp usampler2D batchingIdTexture;
169	mat4 getBatchingMatrix( const in float i ) {
170		int size = textureSize( batchingTexture, 0 ).x;
171		int j = int( i ) * 4;
172		int x = j % size;
173		int y = j / size;
174		vec4 v1 = texelFetch( batchingTexture, ivec2( x, y ), 0 );
175		vec4 v2 = texelFetch( batchingTexture, ivec2( x + 1, y ), 0 );
176		vec4 v3 = texelFetch( batchingTexture, ivec2( x + 2, y ), 0 );
177		vec4 v4 = texelFetch( batchingTexture, ivec2( x + 3, y ), 0 );
178		return mat4( v1, v2, v3, v4 );
179	}
180	float getIndirectIndex( const in int i ) {
181		int size = textureSize( batchingIdTexture, 0 ).x;
182		int x = i % size;
183		int y = i / size;
184		return float( texelFetch( batchingIdTexture, ivec2( x, y ), 0 ).r );
185	}
186#endif
187#ifdef USE_BATCHING_COLOR
188	uniform sampler2D batchingColorTexture;
189	vec3 getBatchingColor( const in float i ) {
190		int size = textureSize( batchingColorTexture, 0 ).x;
191		int j = int( i );
192		int x = j % size;
193		int y = j / size;
194		return texelFetch( batchingColorTexture, ivec2( x, y ), 0 ).rgb;
195	}
196#endif`,Ez=`#ifdef USE_BATCHING
197	mat4 batchingMatrix = getBatchingMatrix( getIndirectIndex( gl_DrawID ) );
198#endif`,Tz=`vec3 transformed = vec3( position );
199#ifdef USE_ALPHAHASH
200	vPosition = vec3( position );
201#endif`,Cz=`vec3 objectNormal = vec3( normal );
202#ifdef USE_TANGENT
203	vec3 objectTangent = vec3( tangent.xyz );
204#endif`,wz=`float G_BlinnPhong_Implicit( ) {
205	return 0.25;
206}
207float D_BlinnPhong( const in float shininess, const in float dotNH ) {
208	return RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );
209}
210vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) {
211	vec3 halfDir = normalize( lightDir + viewDir );
212	float dotNH = saturate( dot( normal, halfDir ) );
213	float dotVH = saturate( dot( viewDir, halfDir ) );
214	vec3 F = F_Schlick( specularColor, 1.0, dotVH );
215	float G = G_BlinnPhong_Implicit( );
216	float D = D_BlinnPhong( shininess, dotNH );
217	return F * ( G * D );
218} // validated`,Rz=`#ifdef USE_IRIDESCENCE
219	const mat3 XYZ_TO_REC709 = mat3(
220		 3.2404542, -0.9692660,  0.0556434,
221		-1.5371385,  1.8760108, -0.2040259,
222		-0.4985314,  0.0415560,  1.0572252
223	);
224	vec3 Fresnel0ToIor( vec3 fresnel0 ) {
225		vec3 sqrtF0 = sqrt( fresnel0 );
226		return ( vec3( 1.0 ) + sqrtF0 ) / ( vec3( 1.0 ) - sqrtF0 );
227	}
228	vec3 IorToFresnel0( vec3 transmittedIor, float incidentIor ) {
229		return pow2( ( transmittedIor - vec3( incidentIor ) ) / ( transmittedIor + vec3( incidentIor ) ) );
230	}
231	float IorToFresnel0( float transmittedIor, float incidentIor ) {
232		return pow2( ( transmittedIor - incidentIor ) / ( transmittedIor + incidentIor ));
233	}
234	vec3 evalSensitivity( float OPD, vec3 shift ) {
235		float phase = 2.0 * PI * OPD * 1.0e-9;
236		vec3 val = vec3( 5.4856e-13, 4.4201e-13, 5.2481e-13 );
237		vec3 pos = vec3( 1.6810e+06, 1.7953e+06, 2.2084e+06 );
238		vec3 var = vec3( 4.3278e+09, 9.3046e+09, 6.6121e+09 );
239		vec3 xyz = val * sqrt( 2.0 * PI * var ) * cos( pos * phase + shift ) * exp( - pow2( phase ) * var );
240		xyz.x += 9.7470e-14 * sqrt( 2.0 * PI * 4.5282e+09 ) * cos( 2.2399e+06 * phase + shift[ 0 ] ) * exp( - 4.5282e+09 * pow2( phase ) );
241		xyz /= 1.0685e-7;
242		vec3 rgb = XYZ_TO_REC709 * xyz;
243		return rgb;
244	}
245	vec3 evalIridescence( float outsideIOR, float eta2, float cosTheta1, float thinFilmThickness, vec3 baseF0 ) {
246		vec3 I;
247		float iridescenceIOR = mix( outsideIOR, eta2, smoothstep( 0.0, 0.03, thinFilmThickness ) );
248		float sinTheta2Sq = pow2( outsideIOR / iridescenceIOR ) * ( 1.0 - pow2( cosTheta1 ) );
249		float cosTheta2Sq = 1.0 - sinTheta2Sq;
250		if ( cosTheta2Sq < 0.0 ) {
251			return vec3( 1.0 );
252		}
253		float cosTheta2 = sqrt( cosTheta2Sq );
254		float R0 = IorToFresnel0( iridescenceIOR, outsideIOR );
255		float R12 = F_Schlick( R0, 1.0, cosTheta1 );
256		float T121 = 1.0 - R12;
257		float phi12 = 0.0;
258		if ( iridescenceIOR < outsideIOR ) phi12 = PI;
259		float phi21 = PI - phi12;
260		vec3 baseIOR = Fresnel0ToIor( clamp( baseF0, 0.0, 0.9999 ) );		vec3 R1 = IorToFresnel0( baseIOR, iridescenceIOR );
261		vec3 R23 = F_Schlick( R1, 1.0, cosTheta2 );
262		vec3 phi23 = vec3( 0.0 );
263		if ( baseIOR[ 0 ] < iridescenceIOR ) phi23[ 0 ] = PI;
264		if ( baseIOR[ 1 ] < iridescenceIOR ) phi23[ 1 ] = PI;
265		if ( baseIOR[ 2 ] < iridescenceIOR ) phi23[ 2 ] = PI;
266		float OPD = 2.0 * iridescenceIOR * thinFilmThickness * cosTheta2;
267		vec3 phi = vec3( phi21 ) + phi23;
268		vec3 R123 = clamp( R12 * R23, 1e-5, 0.9999 );
269		vec3 r123 = sqrt( R123 );
270		vec3 Rs = pow2( T121 ) * R23 / ( vec3( 1.0 ) - R123 );
271		vec3 C0 = R12 + Rs;
272		I = C0;
273		vec3 Cm = Rs - T121;
274		for ( int m = 1; m <= 2; ++ m ) {
275			Cm *= r123;
276			vec3 Sm = 2.0 * evalSensitivity( float( m ) * OPD, float( m ) * phi );
277			I += Cm * Sm;
278		}
279		return max( I, vec3( 0.0 ) );
280	}
281#endif`,Bz=`#ifdef USE_BUMPMAP
282	uniform sampler2D bumpMap;
283	uniform float bumpScale;
284	vec2 dHdxy_fwd() {
285		vec2 dSTdx = dFdx( vBumpMapUv );
286		vec2 dSTdy = dFdy( vBumpMapUv );
287		float Hll = bumpScale * texture2D( bumpMap, vBumpMapUv ).x;
288		float dBx = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdx ).x - Hll;
289		float dBy = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdy ).x - Hll;
290		return vec2( dBx, dBy );
291	}
292	vec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {
293		vec3 vSigmaX = normalize( dFdx( surf_pos.xyz ) );
294		vec3 vSigmaY = normalize( dFdy( surf_pos.xyz ) );
295		vec3 vN = surf_norm;
296		vec3 R1 = cross( vSigmaY, vN );
297		vec3 R2 = cross( vN, vSigmaX );
298		float fDet = dot( vSigmaX, R1 ) * faceDirection;
299		vec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );
300		return normalize( abs( fDet ) * surf_norm - vGrad );
301	}
302#endif`,Dz=`#if NUM_CLIPPING_PLANES > 0
303	vec4 plane;
304	#ifdef ALPHA_TO_COVERAGE
305		float distanceToPlane, distanceGradient;
306		float clipOpacity = 1.0;
307		#pragma unroll_loop_start
308		for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {
309			plane = clippingPlanes[ i ];
310			distanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w;
311			distanceGradient = fwidth( distanceToPlane ) / 2.0;
312			clipOpacity *= smoothstep( - distanceGradient, distanceGradient, distanceToPlane );
313			if ( clipOpacity == 0.0 ) discard;
314		}
315		#pragma unroll_loop_end
316		#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES
317			float unionClipOpacity = 1.0;
318			#pragma unroll_loop_start
319			for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {
320				plane = clippingPlanes[ i ];
321				distanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w;
322				distanceGradient = fwidth( distanceToPlane ) / 2.0;
323				unionClipOpacity *= 1.0 - smoothstep( - distanceGradient, distanceGradient, distanceToPlane );
324			}
325			#pragma unroll_loop_end
326			clipOpacity *= 1.0 - unionClipOpacity;
327		#endif
328		diffuseColor.a *= clipOpacity;
329		if ( diffuseColor.a == 0.0 ) discard;
330	#else
331		#pragma unroll_loop_start
332		for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {
333			plane = clippingPlanes[ i ];
334			if ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;
335		}
336		#pragma unroll_loop_end
337		#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES
338			bool clipped = true;
339			#pragma unroll_loop_start
340			for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {
341				plane = clippingPlanes[ i ];
342				clipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;
343			}
344			#pragma unroll_loop_end
345			if ( clipped ) discard;
346		#endif
347	#endif
348#endif`,Oz=`#if NUM_CLIPPING_PLANES > 0
349	varying vec3 vClipPosition;
350	uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];
351#endif`,Nz=`#if NUM_CLIPPING_PLANES > 0
352	varying vec3 vClipPosition;
353#endif`,Lz=`#if NUM_CLIPPING_PLANES > 0
354	vClipPosition = - mvPosition.xyz;
355#endif`,Uz=`#if defined( USE_COLOR_ALPHA )
356	diffuseColor *= vColor;
357#elif defined( USE_COLOR )
358	diffuseColor.rgb *= vColor;
359#endif`,Iz=`#if defined( USE_COLOR_ALPHA )
360	varying vec4 vColor;
361#elif defined( USE_COLOR )
362	varying vec3 vColor;
363#endif`,Pz=`#if defined( USE_COLOR_ALPHA )
364	varying vec4 vColor;
365#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR )
366	varying vec3 vColor;
367#endif`,Hz=`#if defined( USE_COLOR_ALPHA )
368	vColor = vec4( 1.0 );
369#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR )
370	vColor = vec3( 1.0 );
371#endif
372#ifdef USE_COLOR
373	vColor *= color;
374#endif
375#ifdef USE_INSTANCING_COLOR
376	vColor.xyz *= instanceColor.xyz;
377#endif
378#ifdef USE_BATCHING_COLOR
379	vec3 batchingColor = getBatchingColor( getIndirectIndex( gl_DrawID ) );
380	vColor.xyz *= batchingColor.xyz;
381#endif`,zz=`#define PI 3.141592653589793
382#define PI2 6.283185307179586
383#define PI_HALF 1.5707963267948966
384#define RECIPROCAL_PI 0.3183098861837907
385#define RECIPROCAL_PI2 0.15915494309189535
386#define EPSILON 1e-6
387#ifndef saturate
388#define saturate( a ) clamp( a, 0.0, 1.0 )
389#endif
390#define whiteComplement( a ) ( 1.0 - saturate( a ) )
391float pow2( const in float x ) { return x*x; }
392vec3 pow2( const in vec3 x ) { return x*x; }
393float pow3( const in float x ) { return x*x*x; }
394float pow4( const in float x ) { float x2 = x*x; return x2*x2; }
395float max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }
396float average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); }
397highp float rand( const in vec2 uv ) {
398	const highp float a = 12.9898, b = 78.233, c = 43758.5453;
399	highp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );
400	return fract( sin( sn ) * c );
401}
402#ifdef HIGH_PRECISION
403	float precisionSafeLength( vec3 v ) { return length( v ); }
404#else
405	float precisionSafeLength( vec3 v ) {
406		float maxComponent = max3( abs( v ) );
407		return length( v / maxComponent ) * maxComponent;
408	}
409#endif
410struct IncidentLight {
411	vec3 color;
412	vec3 direction;
413	bool visible;
414};
415struct ReflectedLight {
416	vec3 directDiffuse;
417	vec3 directSpecular;
418	vec3 indirectDiffuse;
419	vec3 indirectSpecular;
420};
421#ifdef USE_ALPHAHASH
422	varying vec3 vPosition;
423#endif
424vec3 transformDirection( in vec3 dir, in mat4 matrix ) {
425	return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );
426}
427vec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {
428	return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );
429}
430mat3 transposeMat3( const in mat3 m ) {
431	mat3 tmp;
432	tmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );
433	tmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );
434	tmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );
435	return tmp;
436}
437bool isPerspectiveMatrix( mat4 m ) {
438	return m[ 2 ][ 3 ] == - 1.0;
439}
440vec2 equirectUv( in vec3 dir ) {
441	float u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;
442	float v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;
443	return vec2( u, v );
444}
445vec3 BRDF_Lambert( const in vec3 diffuseColor ) {
446	return RECIPROCAL_PI * diffuseColor;
447}
448vec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {
449	float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );
450	return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );
451}
452float F_Schlick( const in float f0, const in float f90, const in float dotVH ) {
453	float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );
454	return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );
455} // validated`,Fz=`#ifdef ENVMAP_TYPE_CUBE_UV
456	#define cubeUV_minMipLevel 4.0
457	#define cubeUV_minTileSize 16.0
458	float getFace( vec3 direction ) {
459		vec3 absDirection = abs( direction );
460		float face = - 1.0;
461		if ( absDirection.x > absDirection.z ) {
462			if ( absDirection.x > absDirection.y )
463				face = direction.x > 0.0 ? 0.0 : 3.0;
464			else
465				face = direction.y > 0.0 ? 1.0 : 4.0;
466		} else {
467			if ( absDirection.z > absDirection.y )
468				face = direction.z > 0.0 ? 2.0 : 5.0;
469			else
470				face = direction.y > 0.0 ? 1.0 : 4.0;
471		}
472		return face;
473	}
474	vec2 getUV( vec3 direction, float face ) {
475		vec2 uv;
476		if ( face == 0.0 ) {
477			uv = vec2( direction.z, direction.y ) / abs( direction.x );
478		} else if ( face == 1.0 ) {
479			uv = vec2( - direction.x, - direction.z ) / abs( direction.y );
480		} else if ( face == 2.0 ) {
481			uv = vec2( - direction.x, direction.y ) / abs( direction.z );
482		} else if ( face == 3.0 ) {
483			uv = vec2( - direction.z, direction.y ) / abs( direction.x );
484		} else if ( face == 4.0 ) {
485			uv = vec2( - direction.x, direction.z ) / abs( direction.y );
486		} else {
487			uv = vec2( direction.x, direction.y ) / abs( direction.z );
488		}
489		return 0.5 * ( uv + 1.0 );
490	}
491	vec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {
492		float face = getFace( direction );
493		float filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );
494		mipInt = max( mipInt, cubeUV_minMipLevel );
495		float faceSize = exp2( mipInt );
496		highp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0;
497		if ( face > 2.0 ) {
498			uv.y += faceSize;
499			face -= 3.0;
500		}
501		uv.x += face * faceSize;
502		uv.x += filterInt * 3.0 * cubeUV_minTileSize;
503		uv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize );
504		uv.x *= CUBEUV_TEXEL_WIDTH;
505		uv.y *= CUBEUV_TEXEL_HEIGHT;
506		#ifdef texture2DGradEXT
507			return texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb;
508		#else
509			return texture2D( envMap, uv ).rgb;
510		#endif
511	}
512	#define cubeUV_r0 1.0
513	#define cubeUV_m0 - 2.0
514	#define cubeUV_r1 0.8
515	#define cubeUV_m1 - 1.0
516	#define cubeUV_r4 0.4
517	#define cubeUV_m4 2.0
518	#define cubeUV_r5 0.305
519	#define cubeUV_m5 3.0
520	#define cubeUV_r6 0.21
521	#define cubeUV_m6 4.0
522	float roughnessToMip( float roughness ) {
523		float mip = 0.0;
524		if ( roughness >= cubeUV_r1 ) {
525			mip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0;
526		} else if ( roughness >= cubeUV_r4 ) {
527			mip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1;
528		} else if ( roughness >= cubeUV_r5 ) {
529			mip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4;
530		} else if ( roughness >= cubeUV_r6 ) {
531			mip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5;
532		} else {
533			mip = - 2.0 * log2( 1.16 * roughness );		}
534		return mip;
535	}
536	vec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {
537		float mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP );
538		float mipF = fract( mip );
539		float mipInt = floor( mip );
540		vec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );
541		if ( mipF == 0.0 ) {
542			return vec4( color0, 1.0 );
543		} else {
544			vec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );
545			return vec4( mix( color0, color1, mipF ), 1.0 );
546		}
547	}
548#endif`,Gz=`vec3 transformedNormal = objectNormal;
549#ifdef USE_TANGENT
550	vec3 transformedTangent = objectTangent;
551#endif
552#ifdef USE_BATCHING
553	mat3 bm = mat3( batchingMatrix );
554	transformedNormal /= vec3( dot( bm[ 0 ], bm[ 0 ] ), dot( bm[ 1 ], bm[ 1 ] ), dot( bm[ 2 ], bm[ 2 ] ) );
555	transformedNormal = bm * transformedNormal;
556	#ifdef USE_TANGENT
557		transformedTangent = bm * transformedTangent;
558	#endif
559#endif
560#ifdef USE_INSTANCING
561	mat3 im = mat3( instanceMatrix );
562	transformedNormal /= vec3( dot( im[ 0 ], im[ 0 ] ), dot( im[ 1 ], im[ 1 ] ), dot( im[ 2 ], im[ 2 ] ) );
563	transformedNormal = im * transformedNormal;
564	#ifdef USE_TANGENT
565		transformedTangent = im * transformedTangent;
566	#endif
567#endif
568transformedNormal = normalMatrix * transformedNormal;
569#ifdef FLIP_SIDED
570	transformedNormal = - transformedNormal;
571#endif
572#ifdef USE_TANGENT
573	transformedTangent = ( modelViewMatrix * vec4( transformedTangent, 0.0 ) ).xyz;
574	#ifdef FLIP_SIDED
575		transformedTangent = - transformedTangent;
576	#endif
577#endif`,Vz=`#ifdef USE_DISPLACEMENTMAP
578	uniform sampler2D displacementMap;
579	uniform float displacementScale;
580	uniform float displacementBias;
581#endif`,kz=`#ifdef USE_DISPLACEMENTMAP
582	transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + dis
582placementBias );
583#endif`,Xz=`#ifdef USE_EMISSIVEMAP
584	vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv );
585	#ifdef DECODE_VIDEO_TEXTURE_EMISSIVE
586		emissiveColor = sRGBTransferEOTF( emissiveColor );
587	#endif
588	totalEmissiveRadiance *= emissiveColor.rgb;
589#endif`,Yz=`#ifdef USE_EMISSIVEMAP
590	uniform sampler2D emissiveMap;
591#endif`,jz="gl_FragColor = linearToOutputTexel( gl_FragColor );",qz=`vec4 LinearTransferOETF( in vec4 value ) {
592	return value;
593}
594vec4 sRGBTransferEOTF( in vec4 value ) {
595	return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );
596}
597vec4 sRGBTransferOETF( in vec4 value ) {
598	return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );
599}`,Wz=`#ifdef USE_ENVMAP
600	#ifdef ENV_WORLDPOS
601		vec3 cameraToFrag;
602		if ( isOrthographic ) {
603			cameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );
604		} else {
605			cameraToFrag = normalize( vWorldPosition - cameraPosition );
606		}
607		vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );
608		#ifdef ENVMAP_MODE_REFLECTION
609			vec3 reflectVec = reflect( cameraToFrag, worldNormal );
610		#else
611			vec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );
612		#endif
613	#else
614		vec3 reflectVec = vReflect;
615	#endif
616	#ifdef ENVMAP_TYPE_CUBE
617		vec4 envColor = textureCube( envMap, envMapRotation * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );
618	#else
619		vec4 envColor = vec4( 0.0 );
620	#endif
621	#ifdef ENVMAP_BLENDING_MULTIPLY
622		outgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );
623	#elif defined( ENVMAP_BLENDING_MIX )
624		outgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );
625	#elif defined( ENVMAP_BLENDING_ADD )
626		outgoingLight += envColor.xyz * specularStrength * reflectivity;
627	#endif
628#endif`,Jz=`#ifdef USE_ENVMAP
629	uniform float envMapIntensity;
630	uniform float flipEnvMap;
631	uniform mat3 envMapRotation;
632	#ifdef ENVMAP_TYPE_CUBE
633		uniform samplerCube envMap;
634	#else
635		uniform sampler2D envMap;
636	#endif
637	
638#endif`,Kz=`#ifdef USE_ENVMAP
639	uniform float reflectivity;
640	#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )
641		#define ENV_WORLDPOS
642	#endif
643	#ifdef ENV_WORLDPOS
644		varying vec3 vWorldPosition;
645		uniform float refractionRatio;
646	#else
647		varying vec3 vReflect;
648	#endif
649#endif`,Qz=`#ifdef USE_ENVMAP
650	#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )
651		#define ENV_WORLDPOS
652	#endif
653	#ifdef ENV_WORLDPOS
654		
655		varying vec3 vWorldPosition;
656	#else
657		varying vec3 vReflect;
658		uniform float refractionRatio;
659	#endif
660#endif`,Zz=`#ifdef USE_ENVMAP
661	#ifdef ENV_WORLDPOS
662		vWorldPosition = worldPosition.xyz;
663	#else
664		vec3 cameraToVertex;
665		if ( isOrthographic ) {
666			cameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );
667		} else {
668			cameraToVertex = normalize( worldPosition.xyz - cameraPosition );
669		}
670		vec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );
671		#ifdef ENVMAP_MODE_REFLECTION
672			vReflect = reflect( cameraToVertex, worldNormal );
673		#else
674			vReflect = refract( cameraToVertex, worldNormal, refractionRatio );
675		#endif
676	#endif
677#endif`,$z=`#ifdef USE_FOG
678	vFogDepth = - mvPosition.z;
679#endif`,eF=`#ifdef USE_FOG
680	varying float vFogDepth;
681#endif`,tF=`#ifdef USE_FOG
682	#ifdef FOG_EXP2
683		float fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );
684	#else
685		float fogFactor = smoothstep( fogNear, fogFar, vFogDepth );
686	#endif
687	gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );
688#endif`,nF=`#ifdef USE_FOG
689	uniform vec3 fogColor;
690	varying float vFogDepth;
691	#ifdef FOG_EXP2
692		uniform float fogDensity;
693	#else
694		uniform float fogNear;
695		uniform float fogFar;
696	#endif
697#endif`,iF=`#ifdef USE_GRADIENTMAP
698	uniform sampler2D gradientMap;
699#endif
700vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {
701	float dotNL = dot( normal, lightDirection );
702	vec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );
703	#ifdef USE_GRADIENTMAP
704		return vec3( texture2D( gradientMap, coord ).r );
705	#else
706		vec2 fw = fwidth( coord ) * 0.5;
707		return mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) );
708	#endif
709}`,rF=`#ifdef USE_LIGHTMAP
710	uniform sampler2D lightMap;
711	uniform float lightMapIntensity;
712#endif`,sF=`LambertMaterial material;
713material.diffuseColor = diffuseColor.rgb;
714material.specularStrength = specularStrength;`,aF=`varying vec3 vViewPosition;
715struct LambertMaterial {
716	vec3 diffuseColor;
717	float specularStrength;
718};
719void RE_Direct_Lambert( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {
720	float dotNL = saturate( dot( geometryNormal, directLight.direction ) );
721	vec3 irradiance = dotNL * directLight.color;
722	reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
723}
724void RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {
725	reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
726}
727#define RE_Direct				RE_Direct_Lambert
728#define RE_IndirectDiffuse		RE_IndirectDiffuse_Lambert`,oF=`uniform bool receiveShadow;
729uniform vec3 ambientLightColor;
730#if defined( USE_LIGHT_PROBES )
731	uniform vec3 lightProbe[ 9 ];
732#endif
733vec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {
734	float x = normal.x, y = normal.y, z = normal.z;
735	vec3 result = shCoefficients[ 0 ] * 0.886227;
736	result += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;
737	result += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;
738	result += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;
739	result += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;
740	result += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;
741	result += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );
742	result += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;
743	result += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );
744	return result;
745}
746vec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {
747	vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );
748	vec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );
749	return irradiance;
750}
751vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {
752	vec3 irradiance = ambientLightColor;
753	return irradiance;
754}
755float getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {
756	float distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );
757	if ( cutoffDistance > 0.0 ) {
758		distanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );
759	}
760	return distanceFalloff;
761}
762float getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {
763	return smoothstep( coneCosine, penumbraCosine, angleCosine );
764}
765#if NUM_DIR_LIGHTS > 0
766	struct DirectionalLight {
767		vec3 direction;
768		vec3 color;
769	};
770	uniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];
771	void getDirectionalLightInfo( const in DirectionalLight directionalLight, out IncidentLight light ) {
772		light.color = directionalLight.color;
773		light.direction = directionalLight.direction;
774		light.visible = true;
775	}
776#endif
777#if NUM_POINT_LIGHTS > 0
778	struct PointLight {
779		vec3 position;
780		vec3 color;
781		float distance;
782		float decay;
783	};
784	uniform PointLight pointLights[ NUM_POINT_LIGHTS ];
785	void getPointLightInfo( const in PointLight pointLight, const in vec3 geometryPosition, out IncidentLight light ) {
786		vec3 lVector = pointLight.position - geometryPosition;
787		light.direction = normalize( lVector );
788		float lightDistance = length( lVector );
789		light.color = pointLight.color;
790		light.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );
791		light.visible = ( light.color != vec3( 0.0 ) );
792	}
793#endif
794#if NUM_SPOT_LIGHTS > 0
795	struct SpotLight {
796		vec3 position;
797		vec3 direction;
798		vec3 color;
799		float distance;
800		float decay;
801		float coneCos;
802		float penumbraCos;
803	};
804	uniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];
805	void getSpotLightInfo( const in SpotLight spotLight, const in vec3 geometryPosition, out IncidentLight light ) {
806		vec3 lVector = spotLight.position - geometryPosition;
807		light.direction = normalize( lVector );
808		float angleCos = dot( light.direction, spotLight.direction );
809		float spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );
810		if ( spotAttenuation > 0.0 ) {
811			float lightDistance = length( lVector );
812			light.color = spotLight.color * spotAttenuation;
813			light.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );
814			light.visible = ( light.color != vec3( 0.0 ) );
815		} else {
816			light.color = vec3( 0.0 );
817			light.visible = false;
818		}
819	}
820#endif
821#if NUM_RECT_AREA_LIGHTS > 0
822	struct RectAreaLight {
823		vec3 color;
824		vec3 position;
825		vec3 halfWidth;
826		vec3 halfHeight;
827	};
828	uniform sampler2D ltc_1;	uniform sampler2D ltc_2;
829	uniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];
830#endif
831#if NUM_HEMI_LIGHTS > 0
832	struct HemisphereLight {
833		vec3 direction;
834		vec3 skyColor;
835		vec3 groundColor;
836	};
837	uniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];
838	vec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {
839		float dotNL = dot( normal, hemiLight.direction );
840		float hemiDiffuseWeight = 0.5 * dotNL + 0.5;
841		vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );
842		return irradiance;
843	}
844#endif`,lF=`#ifdef USE_ENVMAP
845	vec3 getIBLIrradiance( const in vec3 normal ) {
846		#ifdef ENVMAP_TYPE_CUBE_UV
847			vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );
848			vec4 envMapColor = textureCubeUV( envMap, envMapRotation * worldNormal, 1.0 );
849			return PI * envMapColor.rgb * envMapIntensity;
850		#else
851			return vec3( 0.0 );
852		#endif
853	}
854	vec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {
855		#ifdef ENVMAP_TYPE_CUBE_UV
856			vec3 reflectVec = reflect( - viewDir, normal );
857			reflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );
858			reflectVec = inverseTransformDirection( reflectVec, viewMatrix );
859			vec4 envMapColor = textureCubeUV( envMap, envMapRotation * reflectVec, roughness );
860			return envMapColor.rgb * envMapIntensity;
861		#else
862			return vec3( 0.0 );
863		#endif
864	}
865	#ifdef USE_ANISOTROPY
866		vec3 getIBLAnisotropyRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in vec3 bitangent, const in float anisotropy ) {
867			#ifdef ENVMAP_TYPE_CUBE_UV
868				vec3 bentNormal = cross( bitangent, viewDir );
869				bentNormal = normalize( cross( bentNormal, bitangent ) );
870				bentNormal = normalize( mix( bentNormal, normal, pow2( pow2( 1.0 - anisotropy * ( 1.0 - roughness ) ) ) ) );
871				return getIBLRadiance( viewDir, bentNormal, roughness );
872			#else
873				return vec3( 0.0 );
874			#endif
875		}
876	#endif
877#endif`,cF=`ToonMaterial material;
878material.diffuseColor = diffuseColor.rgb;`,uF=`varying vec3 vViewPosition;
879struct ToonMaterial {
880	vec3 diffuseColor;
881};
882void RE_Direct_Toon( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {
883	vec3 irradiance = getGradientIrradiance( geometryNormal, directLight.direction ) * directLight.color;
884	reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
885}
886void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {
887	reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
888}
889#define RE_Direct				RE_Direct_Toon
890#define RE_IndirectDiffuse		RE_IndirectDiffuse_Toon`,fF=`BlinnPhongMaterial material;
891material.diffuseColor = diffuseColor.rgb;
892material.specularColor = specular;
893material.specularShininess = shininess;
894material.specularStrength = specularStrength;`,hF=`varying vec3 vViewPosition;
895struct BlinnPhongMaterial {
896	vec3 diffuseColor;
897	vec3 specularColor;
898	float specularShininess;
899	float specularStrength;
900};
901void RE_Direct_BlinnPhong( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {
902	float dotNL = saturate( dot( geometryNormal, directLight.direction ) );
903	vec3 irradiance = dotNL * directLight.color;
904	reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
905	reflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometryViewDir, geometryNormal, material.specularColor, material.specularShininess ) * material.specularStrength;
906}
907void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {
908	reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
909}
910#define RE_Direct				RE_Direct_BlinnPhong
911#define RE_IndirectDiffuse		RE_IndirectDiffuse_BlinnPhong`,dF=`PhysicalMaterial material;
912material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );
913vec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) );
914float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );
915material.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;
916material.roughness = min( material.roughness, 1.0 );
917#ifdef IOR
918	material.ior = ior;
919	#ifdef USE_SPECULAR
920		float specularIntensityFactor = specularIntensity;
921		vec3 specularColorFactor = specularColor;
922		#ifdef USE_SPECULAR_COLORMAP
923			specularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb;
924		#endif
925		#ifdef USE_SPECULAR_INTENSITYMAP
926			specularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a;
927		#endif
928		material.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );
929	#else
930		float specularIntensityFactor = 1.0;
931		vec3 specularColorFactor = vec3( 1.0 );
932		material.specularF90 = 1.0;
933	#endif
934	material.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );
935#else
936	material.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );
937	material.specularF90 = 1.0;
938#endif
939#ifdef USE_CLEARCOAT
940	material.clearcoat = clearcoat;
941	material.clearcoatRoughness = clearcoatRoughness;
942	material.clearcoatF0 = vec3( 0.04 );
943	material.clearcoatF90 = 1.0;
944	#ifdef USE_CLEARCOATMAP
945		material.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x;
946	#endif
947	#ifdef USE_CLEARCOAT_ROUGHNESSMAP
948		material.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y;
949	#endif
950	material.clearcoat = saturate( material.clearcoat );	material.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );
951	material.clearcoatRoughness += geometryRoughness;
952	material.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );
953#endif
954#ifdef USE_DISPERSION
955	material.dispersion = dispersion;
956#endif
957#ifdef USE_IRIDESCENCE
958	material.iridescence = iridescence;
959	material.iridescenceIOR = iridescenceIOR;
960	#ifdef USE_IRIDESCENCEMAP
961		material.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r;
962	#endif
963	#ifdef USE_IRIDESCENCE_THICKNESSMAP
964		material.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum;
965	#else
966		material.iridescenceThickness = iridescenceThicknessMaximum;
967	#endif
968#endif
969#ifdef USE_SHEEN
970	material.sheenColor = sheenColor;
971	#ifdef USE_SHEEN_COLORMAP
972		material.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb;
973	#endif
974	material.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );
975	#ifdef USE_SHEEN_ROUGHNESSMAP
976		material.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a;
977	#endif
978#endif
979#ifdef USE_ANISOTROPY
980	#ifdef USE_ANISOTROPYMAP
981		mat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x );
982		vec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb;
983		vec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b;
984	#else
985		vec2 anisotropyV = anisotropyVector;
986	#endif
987	material.anisotropy = length( anisotropyV );
988	if( material.anisotropy == 0.0 ) {
989		anisotropyV = vec2( 1.0, 0.0 );
990	} else {
991		anisotropyV /= material.anisotropy;
992		material.anisotropy = saturate( material.anisotropy );
993	}
994	material.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) );
995	material.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y;
996	material.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y;
997#endif`,pF
vendor: 14,687 bytes, lines 997-1298
997=`struct PhysicalMaterial {
998	vec3 diffuseColor;
999	float roughness;
1000	vec3 specularColor;
1001	float specularF90;
1002	float dispersion;
1003	#ifdef USE_CLEARCOAT
1004		float clearcoat;
1005		float clearcoatRoughness;
1006		vec3 clearcoatF0;
1007		float clearcoatF90;
1008	#endif
1009	#ifdef USE_IRIDESCENCE
1010		float iridescence;
1011		float iridescenceIOR;
1012		float iridescenceThickness;
1013		vec3 iridescenceFresnel;
1014		vec3 iridescenceF0;
1015	#endif
1016	#ifdef USE_SHEEN
1017		vec3 sheenColor;
1018		float sheenRoughness;
1019	#endif
1020	#ifdef IOR
1021		float ior;
1022	#endif
1023	#ifdef USE_TRANSMISSION
1024		float transmission;
1025		float transmissionAlpha;
1026		float thickness;
1027		float attenuationDistance;
1028		vec3 attenuationColor;
1029	#endif
1030	#ifdef USE_ANISOTROPY
1031		float anisotropy;
1032		float alphaT;
1033		vec3 anisotropyT;
1034		vec3 anisotropyB;
1035	#endif
1036};
1037vec3 clearcoatSpecularDirect = vec3( 0.0 );
1038vec3 clearcoatSpecularIndirect = vec3( 0.0 );
1039vec3 sheenSpecularDirect = vec3( 0.0 );
1040vec3 sheenSpecularIndirect = vec3(0.0 );
1041vec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) {
1042    float x = clamp( 1.0 - dotVH, 0.0, 1.0 );
1043    float x2 = x * x;
1044    float x5 = clamp( x * x2 * x2, 0.0, 0.9999 );
1045    return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 );
1046}
1047float V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {
1048	float a2 = pow2( alpha );
1049	float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );
1050	float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );
1051	return 0.5 / max( gv + gl, EPSILON );
1052}
1053float D_GGX( const in float alpha, const in float dotNH ) {
1054	float a2 = pow2( alpha );
1055	float denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;
1056	return RECIPROCAL_PI * a2 / pow2( denom );
1057}
1058#ifdef USE_ANISOTROPY
1059	float V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) {
1060		float gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) );
1061		float gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) );
1062		float v = 0.5 / ( gv + gl );
1063		return saturate(v);
1064	}
1065	float D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) {
1066		float a2 = alphaT * alphaB;
1067		highp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH );
1068		highp float v2 = dot( v, v );
1069		float w2 = a2 / v2;
1070		return RECIPROCAL_PI * a2 * pow2 ( w2 );
1071	}
1072#endif
1073#ifdef USE_CLEARCOAT
1074	vec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) {
1075		vec3 f0 = material.clearcoatF0;
1076		float f90 = material.clearcoatF90;
1077		float roughness = material.clearcoatRoughness;
1078		float alpha = pow2( roughness );
1079		vec3 halfDir = normalize( lightDir + viewDir );
1080		float dotNL = saturate( dot( normal, lightDir ) );
1081		float dotNV = saturate( dot( normal, viewDir ) );
1082		float dotNH = saturate( dot( normal, halfDir ) );
1083		float dotVH = saturate( dot( viewDir, halfDir ) );
1084		vec3 F = F_Schlick( f0, f90, dotVH );
1085		float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );
1086		float D = D_GGX( alpha, dotNH );
1087		return F * ( V * D );
1088	}
1089#endif
1090vec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) {
1091	vec3 f0 = material.specularColor;
1092	float f90 = material.specularF90;
1093	float roughness = material.roughness;
1094	float alpha = pow2( roughness );
1095	vec3 halfDir = normalize( lightDir + viewDir );
1096	float dotNL = saturate( dot( normal, lightDir ) );
1097	float dotNV = saturate( dot( normal, viewDir ) );
1098	float dotNH = saturate( dot( normal, halfDir ) );
1099	float dotVH = saturate( dot( viewDir, halfDir ) );
1100	vec3 F = F_Schlick( f0, f90, dotVH );
1101	#ifdef USE_IRIDESCENCE
1102		F = mix( F, material.iridescenceFresnel, material.iridescence );
1103	#endif
1104	#ifdef USE_ANISOTROPY
1105		float dotTL = dot( material.anisotropyT, lightDir );
1106		float dotTV = dot( material.anisotropyT, viewDir );
1107		float dotTH = dot( material.anisotropyT, halfDir );
1108		float dotBL = dot( material.anisotropyB, lightDir );
1109		float dotBV = dot( material.anisotropyB, viewDir );
1110		float dotBH = dot( material.anisotropyB, halfDir );
1111		float V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL );
1112		float D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH );
1113	#else
1114		float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );
1115		float D = D_GGX( alpha, dotNH );
1116	#endif
1117	return F * ( V * D );
1118}
1119vec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {
1120	const float LUT_SIZE = 64.0;
1121	const float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;
1122	const float LUT_BIAS = 0.5 / LUT_SIZE;
1123	float dotNV = saturate( dot( N, V ) );
1124	vec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );
1125	uv = uv * LUT_SCALE + LUT_BIAS;
1126	return uv;
1127}
1128float LTC_ClippedSphereFormFactor( const in vec3 f ) {
1129	float l = length( f );
1130	return max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );
1131}
1132vec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {
1133	float x = dot( v1, v2 );
1134	float y = abs( x );
1135	float a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;
1136	float b = 3.4175940 + ( 4.1616724 + y ) * y;
1137	float v = a / b;
1138	float theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;
1139	return cross( v1, v2 ) * theta_sintheta;
1140}
1141vec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {
1142	vec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];
1143	vec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];
1144	vec3 lightNormal = cross( v1, v2 );
1145	if( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );
1146	vec3 T1, T2;
1147	T1 = normalize( V - N * dot( V, N ) );
1148	T2 = - cross( N, T1 );
1149	mat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );
1150	vec3 coords[ 4 ];
1151	coords[ 0 ] = mat * ( rectCoords[ 0 ] - P );
1152	coords[ 1 ] = mat * ( rectCoords[ 1 ] - P );
1153	coords[ 2 ] = mat * ( rectCoords[ 2 ] - P );
1154	coords[ 3 ] = mat * ( rectCoords[ 3 ] - P );
1155	coords[ 0 ] = normalize( coords[ 0 ] );
1156	coords[ 1 ] = normalize( coords[ 1 ] );
1157	coords[ 2 ] = normalize( coords[ 2 ] );
1158	coords[ 3 ] = normalize( coords[ 3 ] );
1159	vec3 vectorFormFactor = vec3( 0.0 );
1160	vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );
1161	vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );
1162	vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );
1163	vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );
1164	float result = LTC_ClippedSphereFormFactor( vectorFormFactor );
1165	return vec3( result );
1166}
1167#if defined( USE_SHEEN )
1168float D_Charlie( float roughness, float dotNH ) {
1169	float alpha = pow2( roughness );
1170	float invAlpha = 1.0 / alpha;
1171	float cos2h = dotNH * dotNH;
1172	float sin2h = max( 1.0 - cos2h, 0.0078125 );
1173	return ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );
1174}
1175float V_Neubelt( float dotNV, float dotNL ) {
1176	return saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );
1177}
1178vec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {
1179	vec3 halfDir = normalize( lightDir + viewDir );
1180	float dotNL = saturate( dot( normal, lightDir ) );
1181	float dotNV = saturate( dot( normal, viewDir ) );
1182	float dotNH = saturate( dot( normal, halfDir ) );
1183	float D = D_Charlie( sheenRoughness, dotNH );
1184	float V = V_Neubelt( dotNV, dotNL );
1185	return sheenColor * ( D * V );
1186}
1187#endif
1188float IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {
1189	float dotNV = saturate( dot( normal, viewDir ) );
1190	float r2 = roughness * roughness;
1191	float a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;
1192	float b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;
1193	float DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );
1194	return saturate( DG * RECIPROCAL_PI );
1195}
1196vec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {
1197	float dotNV = saturate( dot( normal, viewDir ) );
1198	const vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );
1199	const vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );
1200	vec4 r = roughness * c0 + c1;
1201	float a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;
1202	vec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;
1203	return fab;
1204}
1205vec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {
1206	vec2 fab = DFGApprox( normal, viewDir, roughness );
1207	return specularColor * fab.x + specularF90 * fab.y;
1208}
1209#ifdef USE_IRIDESCENCE
1210void computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {
1211#else
1212void computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {
1213#endif
1214	vec2 fab = DFGApprox( normal, viewDir, roughness );
1215	#ifdef USE_IRIDESCENCE
1216		vec3 Fr = mix( specularColor, iridescenceF0, iridescence );
1217	#else
1218		vec3 Fr = specularColor;
1219	#endif
1220	vec3 FssEss = Fr * fab.x + specularF90 * fab.y;
1221	float Ess = fab.x + fab.y;
1222	float Ems = 1.0 - Ess;
1223	vec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619;	vec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );
1224	singleScatter += FssEss;
1225	multiScatter += Fms * Ems;
1226}
1227#if NUM_RECT_AREA_LIGHTS > 0
1228	void RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {
1229		vec3 normal = geometryNormal;
1230		vec3 viewDir = geometryViewDir;
1231		vec3 position = geometryPosition;
1232		vec3 lightPos = rectAreaLight.position;
1233		vec3 halfWidth = rectAreaLight.halfWidth;
1234		vec3 halfHeight = rectAreaLight.halfHeight;
1235		vec3 lightColor = rectAreaLight.color;
1236		float roughness = material.roughness;
1237		vec3 rectCoords[ 4 ];
1238		rectCoords[ 0 ] = lightPos + halfWidth - halfHeight;		rectCoords[ 1 ] = lightPos - halfWidth - halfHeight;
1239		rectCoords[ 2 ] = lightPos - halfWidth + halfHeight;
1240		rectCoords[ 3 ] = lightPos + halfWidth + halfHeight;
1241		vec2 uv = LTC_Uv( normal, viewDir, roughness );
1242		vec4 t1 = texture2D( ltc_1, uv );
1243		vec4 t2 = texture2D( ltc_2, uv );
1244		mat3 mInv = mat3(
1245			vec3( t1.x, 0, t1.y ),
1246			vec3(    0, 1,    0 ),
1247			vec3( t1.z, 0, t1.w )
1248		);
1249		vec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );
1250		reflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );
1251		reflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );
1252	}
1253#endif
1254void RE_Direct_Physical( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {
1255	float dotNL = saturate( dot( geometryNormal, directLight.direction ) );
1256	vec3 irradiance = dotNL * directLight.color;
1257	#ifdef USE_CLEARCOAT
1258		float dotNLcc = saturate( dot( geometryClearcoatNormal, directLight.direction ) );
1259		vec3 ccIrradiance = dotNLcc * directLight.color;
1260		clearcoatSpecularDirect += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometryViewDir, geometryClearcoatNormal, material );
1261	#endif
1262	#ifdef USE_SHEEN
1263		sheenSpecularDirect += irradiance * BRDF_Sheen( directLight.direction, geometryViewDir, geometryNormal, material.sheenColor, material.sheenRoughness );
1264	#endif
1265	reflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometryViewDir, geometryNormal, material );
1266	reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
1267}
1268void RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {
1269	reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
1270}
1271void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {
1272	#ifdef USE_CLEARCOAT
1273		clearcoatSpecularIndirect += clearcoatRadiance * EnvironmentBRDF( geometryClearcoatNormal, geometryViewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );
1274	#endif
1275	#ifdef USE_SHEEN
1276		sheenSpecularIndirect += irradiance * material.sheenColor * IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness );
1277	#endif
1278	vec3 singleScattering = vec3( 0.0 );
1279	vec3 multiScattering = vec3( 0.0 );
1280	vec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;
1281	#ifdef USE_IRIDESCENCE
1282		computeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering );
1283	#else
1284		computeMultiscattering( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );
1285	#endif
1286	vec3 totalScattering = singleScattering + multiScattering;
1287	vec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) );
1288	reflectedLight.indirectSpecular += radiance * singleScattering;
1289	reflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;
1290	reflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;
1291}
1292#define RE_Direct				RE_Direct_Physical
1293#define RE_Direct_RectArea		RE_Direct_RectArea_Physical
1294#define RE_IndirectDiffuse		RE_IndirectDiffuse_Physical
1295#define RE_IndirectSpecular		RE_IndirectSpecular_Physical
1296float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {
1297	return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );
1298}`,
1298mF=`
1299vec3 geometryPosition = - vViewPosition;
1300vec3 geometryNormal = normal;
1301vec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );
1302vec3 geometryClearcoatNormal = vec3( 0.0 );
1303#ifdef USE_CLEARCOAT
1304	geometryClearcoatNormal = clearcoatNormal;
1305#endif
1306#ifdef USE_IRIDESCENCE
1307	float dotNVi = saturate( dot( normal, geometryViewDir ) );
1308	if ( material.iridescenceThickness == 0.0 ) {
1309		material.iridescence = 0.0;
1310	} else {
1311		material.iridescence = saturate( material.iridescence );
1312	}
1313	if ( material.iridescence > 0.0 ) {
1314		material.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );
1315		material.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );
1316	}
1317#endif
1318IncidentLight directLight;
1319#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )
1320	PointLight pointLight;
1321	#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0
1322	PointLightShadow pointLightShadow;
1323	#endif
1324	#pragma unroll_loop_start
1325	for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {
1326		pointLight = pointLights[ i ];
1327		getPointLightInfo( pointLight, geometryPosition, directLight );
1328		#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )
1329		pointLightShadow = pointLightShadows[ i ];
1330		directLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowIntensity, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;
1331		#endif
1332		RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );
1333	}
1334	#pragma unroll_loop_end
1335#endif
1336#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )
1337	SpotLight spotLight;
1338	vec4 spotColor;
1339	vec3 spotLightCoord;
1340	bool inSpotLightMap;
1341	#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0
1342	SpotLightShadow spotLightShadow;
1343	#endif
1344	#pragma unroll_loop_start
1345	for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {
1346		spotLight = spotLights[ i ];
1347		getSpotLightInfo( spotLight, geometryPosition, directLight );
1348		#if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )
1349		#define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX
1350		#elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )
1351		#define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS
1352		#else
1353		#define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )
1354		#endif
1355		#if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS )
1356			spotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w;
1357			inSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) );
1358			spotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy );
1359			directLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color;
1360		#endif
1361		#undef SPOT_LIGHT_MAP_INDEX
1362		#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )
1363		spotLightShadow = spotLightShadows[ i ];
1364		directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowIntensity, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;
1365		#endif
1366		RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );
1367	}
1368	#pragma unroll_loop_end
1369#endif
1370#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )
1371	DirectionalLight directionalLight;
1372	#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0
1373	DirectionalLightShadow directionalLightShadow;
1374	#endif
1375	#pragma unroll_loop_start
1376	for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {
1377		directionalLight = directionalLights[ i ];
1378		getDirectionalLightInfo( directionalLight, directLight );
1379		#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )
1380		directionalLightShadow = directionalLightShadows[ i ];
1381		directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowIntensity, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;
1382		#endif
1383		RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );
1384	}
1385	#pragma unroll_loop_end
1386#endif
1387#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )
1388	RectAreaLight rectAreaLight;
1389	#pragma unroll_loop_start
1390	for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {
1391		rectAreaLight = rectAreaLights[ i ];
1392		RE_Direct_RectArea( rectAreaLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );
1393	}
1394	#pragma unroll_loop_end
1395#endif
1396#if defined( RE_IndirectDiffuse )
1397	vec3 iblIrradiance = vec3( 0.0 );
1398	vec3 irradiance = getAmbientLightIrradiance( ambientLightColor );
1399	#if defined( USE_LIGHT_PROBES )
1400		irradiance += getLightProbeIrradiance( lightProbe, geometryNormal );
1401	#endif
1402	#if ( NUM_HEMI_LIGHTS > 0 )
1403		#pragma unroll_loop_start
1404		for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {
1405			irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometryNormal );
1406		}
1407		#pragma unroll_loop_end
1408	#endif
1409#endif
1410#if defined( RE_IndirectSpecular )
1411	vec3 radiance = vec3( 0.0 );
1412	vec3 clearcoatRadiance = vec3( 0.0 );
1413#endif`,gF=`#if defined( RE_IndirectDiffuse )
1414	#ifdef USE_LIGHTMAP
1415		vec4 lightMapTexel = texture2D( lightMap, vLightMapUv );
1416		vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;
1417		irradiance += lightMapIrradiance;
1418	#endif
1419	#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )
1420		iblIrradiance += getIBLIrradiance( geometryNormal );
1421	#endif
1422#endif
1423#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )
1424	#ifdef USE_ANISOTROPY
1425		radiance += getIBLAnisotropyRadiance( geometryViewDir, geometryNormal, material.roughness, material.anisotropyB, material.anisotropy );
1426	#else
1427		radiance += getIBLRadiance( geometryViewDir, geometryNormal, material.roughness );
1428	#endif
1429	#ifdef USE_CLEARCOAT
1430		clearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness );
1431	#endif
1432#endif`,vF=`#if defined( RE_IndirectDiffuse )
1433	RE_IndirectDiffuse( irradiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );
1434#endif
1435#if defined( RE_IndirectSpecular )
1436	RE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );
1437#endif`,yF=`#if defined( USE_LOGDEPTHBUF )
1438	gl_FragDepth = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;
1439#endif`,_F=`#if defined( USE_LOGDEPTHBUF )
1440	uniform float logDepthBufFC;
1441	varying float vFragDepth;
1442	varying float vIsPerspective;
1443#endif`,xF=`#ifdef USE_LOGDEPTHBUF
1444	varying float vFragDepth;
1445	varying float vIsPerspective;
1446#endif`,SF=`#ifdef USE_LOGDEPTHBUF
1447	vFragDepth = 1.0 + gl_Position.w;
1448	vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );
1449#endif`,AF=`#ifdef USE_MAP
1450	vec4 sampledDiffuseColor = texture2D( map, vMapUv );
1451	#ifdef DECODE_VIDEO_TEXTURE
1452		sampledDiffuseColor = sRGBTransferEOTF( sampledDiffuseColor );
1453	#endif
1454	diffuseColor *= sampledDiffuseColor;
1455#endif`,bF=`#ifdef USE_MAP
1456	uniform sampler2D map;
1457#endif`,MF=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP )
1458	#if defined( USE_POINTS_UV )
1459		vec2 uv = vUv;
1460	#else
1461		vec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;
1462	#endif
1463#endif
1464#ifdef USE_MAP
1465	diffuseColor *= texture2D( map, uv );
1466#endif
1467#ifdef USE_ALPHAMAP
1468	diffuseColor.a *= texture2D( alphaMap, uv ).g;
1469#endif`,EF=`#if defined( USE_POINTS_UV )
1470	varying vec2 vUv;
1471#else
1472	#if defined( USE_MAP ) || defined( USE_ALPHAMAP )
1473		uniform mat3 uvTransform;
1474	#endif
1475#endif
1476#ifdef USE_MAP
1477	uniform sampler2D map;
1478#endif
1479#ifdef USE_ALPHAMAP
1480	uniform sampler2D alphaMap;
1481#endif`,TF=`float metalnessFactor = metalness;
1482#ifdef USE_METALNESSMAP
1483	vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv );
1484	metalnessFactor *= texelMetalness.b;
1485#endif`,CF=`#ifdef USE_METALNESSMAP
1486	uniform sampler2D metalnessMap;
1487#endif`,wF=`#ifdef USE_INSTANCING_MORPH
1488	float morphTargetInfluences[ MORPHTARGETS_COUNT ];
1489	float morphTargetBaseInfluence = texelFetch( morphTexture, ivec2( 0, gl_InstanceID ), 0 ).r;
1490	for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {
1491		morphTargetInfluences[i] =  texelFetch( morphTexture, ivec2( i + 1, gl_InstanceID ), 0 ).r;
1492	}
1493#endif`,RF=`#if defined( USE_MORPHCOLORS )
1494	vColor *= morphTargetBaseInfluence;
1495	for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {
1496		#if defined( USE_COLOR_ALPHA )
1497			if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ];
1498		#elif defined( USE_COLOR )
1499			if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ];
1500		#endif
1501	}
1502#endif`,BF=`#ifdef USE_MORPHNORMALS
1503	objectNormal *= morphTargetBaseInfluence;
1504	for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {
1505		if ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ];
1506	}
1507#endif`,DF=`#ifdef USE_MORPHTARGETS
1508	#ifndef USE_INSTANCING_MORPH
1509		uniform float morphTargetBaseInfluence;
1510		uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];
1511	#endif
1512	uniform sampler2DArray morphTargetsTexture;
1513	uniform ivec2 morphTargetsTextureSize;
1514	vec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) {
1515		int texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset;
1516		int y = texelIndex / morphTargetsTextureSize.x;
1517		int x = texelIndex - y * morphTargetsTextureSize.x;
1518		ivec3 morphUV = ivec3( x, y, morphTargetIndex );
1519		return texelFetch( morphTargetsTexture, morphUV, 0 );
1520	}
1521#endif`,OF=`#ifdef USE_MORPHTARGETS
1522	transformed *= morphTargetBaseInfluence;
1523	for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {
1524		if ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ];
1525	}
1526#endif`,NF=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;
1527#ifdef FLAT_SHADED
1528	vec3 fdx = dFdx( vViewPosition );
1529	vec3 fdy = dFdy( vViewPosition );
1530	vec3 normal = normalize( cross( fdx, fdy ) );
1531#else
1532	vec3 normal = normalize( vNormal );
1533	#ifdef DOUBLE_SIDED
1534		normal *= faceDirection;
1535	#endif
1536#endif
1537#if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY )
1538	#ifdef USE_TANGENT
1539		mat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal );
1540	#else
1541		mat3 tbn = getTangentFrame( - vViewPosition, normal,
1542		#if defined( USE_NORMALMAP )
1543			vNormalMapUv
1544		#elif defined( USE_CLEARCOAT_NORMALMAP )
1545			vClearcoatNormalMapUv
1546		#else
1547			vUv
1548		#endif
1549		);
1550	#endif
1551	#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )
1552		tbn[0] *= faceDirection;
1553		tbn[1] *= faceDirection;
1554	#endif
1555#endif
1556#ifdef USE_CLEARCOAT_NORMALMAP
1557	#ifdef USE_TANGENT
1558		mat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal );
1559	#else
1560		mat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv );
1561	#endif
1562	#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )
1563		tbn2[0] *= faceDirection;
1564		tbn2[1] *= faceDirection;
1565	#endif
1566#endif
1567vec3 nonPerturbedNormal = normal;`,LF=`#ifdef USE_NORMALMAP_OBJECTSPACE
1568	normal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;
1569	#ifdef FLIP_SIDED
1570		normal = - normal;
1571	#endif
1572	#ifdef DOUBLE_SIDED
1573		normal = normal * faceDirection;
1574	#endif
1575	normal = normalize( normalMatrix * normal );
1576#elif defined( USE_NORMALMAP_TANGENTSPACE )
1577	vec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;
1578	mapN.xy *= normalScale;
1579	normal = normalize( tbn * mapN );
1580#elif defined( USE_BUMPMAP )
1581	normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );
1582#endif`,UF=`#ifndef FLAT_SHADED
1583	varying vec3 vNormal;
1584	#ifdef USE_TANGENT
1585		varying vec3 vTangent;
1586		varying vec3 vBitangent;
1587	#endif
1588#endif`,IF=`#ifndef FLAT_SHADED
1589	varying vec3 vNormal;
1590	#ifdef USE_TANGENT
1591		varying vec3 vTangent;
1592		varying vec3 vBitangent;
1593	#endif
1594#endif`,PF=`#ifndef FLAT_SHADED
1595	vNormal = normalize( transformedNormal );
1596	#ifdef USE_TANGENT
1597		vTangent = normalize( transformedTangent );
1598		vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );
1599	#endif
1600#endif`,HF=`#ifdef USE_NORMALMAP
1601	uniform sampler2D normalMap;
1602	uniform vec2 normalScale;
1603#endif
1604#ifdef USE_NORMALMAP_OBJECTSPACE
1605	uniform mat3 normalMatrix;
1606#endif
1607#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) )
1608	mat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {
1609		vec3 q0 = dFdx( eye_pos.xyz );
1610		vec3 q1 = dFdy( eye_pos.xyz );
1611		vec2 st0 = dFdx( uv.st );
1612		vec2 st1 = dFdy( uv.st );
1613		vec3 N = surf_norm;
1614		vec3 q1perp = cross( q1, N );
1615		vec3 q0perp = cross( N, q0 );
1616		vec3 T = q1perp * st0.x + q0perp * st1.x;
1617		vec3 B = q1perp * st0.y + q0perp * st1.y;
1618		float det = max( dot( T, T ), dot( B, B ) );
1619		float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det );
1620		return mat3( T * scale, B * scale, N );
1621	}
1622#endif`,zF=`#ifdef USE_CLEARCOAT
1623	vec3 clearcoatNormal = nonPerturbedNormal;
1624#endif`,FF=`#ifdef USE_CLEARCOAT_NORMALMAP
1625	vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0;
1626	clearcoatMapN.xy *= clearcoatNormalScale;
1627	clearcoatNormal = normalize( tbn2 * clearcoatMapN );
1628#endif`,GF=`#ifdef USE_CLEARCOATMAP
1629	uniform sampler2D clearcoatMap;
1630#endif
1631#ifdef USE_CLEARCOAT_NORMALMAP
1632	uniform sampler2D clearcoatNormalMap;
1633	uniform vec2 clearcoatNormalScale;
1634#endif
1635#ifdef USE_CLEARCOAT_ROUGHNESSMAP
1636	uniform sampler2D clearcoatRoughnessMap;
1637#endif`,VF=`#ifdef USE_IRIDESCENCEMAP
1638	uniform sampler2D iridescenceMap;
1639#endif
1640#ifdef USE_IRIDESCENCE_THICKNESSMAP
1641	uniform sampler2D iridescenceThicknessMap;
1642#endif`,kF=`#ifdef OPAQUE
1643diffuseColor.a = 1.0;
1644#endif
1645#ifdef USE_TRANSMISSION
1646diffuseColor.a *= material.transmissionAlpha;
1647#endif
1648gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,XF=`vec3 packNormalToRGB( const in vec3 normal ) {
1649	return normalize( normal ) * 0.5 + 0.5;
1650}
1651vec3 unpackRGBToNormal( const in vec3 rgb ) {
1652	return 2.0 * rgb.xyz - 1.0;
1653}
1654const float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;const float ShiftRight8 = 1. / 256.;
1655const float Inv255 = 1. / 255.;
1656const vec4 PackFactors = vec4( 1.0, 256.0, 256.0 * 256.0, 256.0 * 256.0 * 256.0 );
1657const vec2 UnpackFactors2 = vec2( UnpackDownscale, 1.0 / PackFactors.g );
1658const vec3 UnpackFactors3 = vec3( UnpackDownscale / PackFactors.rg, 1.0 / PackFactors.b );
1659const vec4 UnpackFactors4 = vec4( UnpackDownscale / PackFactors.rgb, 1.0 / PackFactors.a );
1660vec4 packDepthToRGBA( const in float v ) {
1661	if( v <= 0.0 )
1662		return vec4( 0., 0., 0., 0. );
1663	if( v >= 1.0 )
1664		return vec4( 1., 1., 1., 1. );
1665	float vuf;
1666	float af = modf( v * PackFactors.a, vuf );
1667	float bf = modf( vuf * ShiftRight8, vuf );
1668	float gf = modf( vuf * ShiftRight8, vuf );
1669	return vec4( vuf * Inv255, gf * PackUpscale, bf * PackUpscale, af );
1670}
1671vec3 packDepthToRGB( const in float v ) {
1672	if( v <= 0.0 )
1673		return vec3( 0., 0., 0. );
1674	if( v >= 1.0 )
1675		return vec3( 1., 1., 1. );
1676	float vuf;
1677	float bf = modf( v * PackFactors.b, vuf );
1678	float gf = modf( vuf * ShiftRight8, vuf );
1679	return vec3( vuf * Inv255, gf * PackUpscale, bf );
1680}
1681vec2 packDepthToRG( const in float v ) {
1682	if( v <= 0.0 )
1683		return vec2( 0., 0. );
1684	if( v >= 1.0 )
1685		return vec2( 1., 1. );
1686	float vuf;
1687	float gf = modf( v * 256., vuf );
1688	return vec2( vuf * Inv255, gf );
1689}
1690float unpackRGBAToDepth( const in vec4 v ) {
1691	return dot( v, UnpackFactors4 );
1692}
1693float unpackRGBToDepth( const in vec3 v ) {
1694	return dot( v, UnpackFactors3 );
1695}
1696float unpackRGToDepth( const in vec2 v ) {
1697	return v.r * UnpackFactors2.r + v.g * UnpackFactors2.g;
1698}
1699vec4 pack2HalfToRGBA( const in vec2 v ) {
1700	vec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );
1701	return vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );
1702}
1703vec2 unpackRGBATo2Half( const in vec4 v ) {
1704	return vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );
1705}
1706float viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {
1707	return ( viewZ + near ) / ( near - far );
1708}
1709float orthographicDepthToViewZ( const in float depth, const in float near, const in float far ) {
1710	return depth * ( near - far ) - near;
1711}
1712float viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {
1713	return ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );
1714}
1715float perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) {
1716	return ( near * far ) / ( ( far - near ) * depth - far );
1717}`,YF=`#ifdef PREMULTIPLIED_ALPHA
1718	gl_FragColor.rgb *= gl_FragColor.a;
1719#endif`,jF=`vec4 mvPosition = vec4( transformed, 1.0 );
1720#ifdef USE_BATCHING
1721	mvPosition = batchingMatrix * mvPosition;
1722#endif
1723#ifdef USE_INSTANCING
1724	mvPosition = instanceMatrix * mvPosition;
1725#endif
1726mvPosition = modelViewMatrix * mvPosition;
1727gl_Position = projectionMatrix * mvPosition;`,qF=`#ifdef DITHERING
1728	gl_FragColor.rgb = dithering( gl_FragColor.rgb );
1729#endif`,WF=`#ifdef DITHERING
1730	vec3 dithering( vec3 color ) {
1731		float grid_position = rand( gl_FragCoord.xy );
1732		vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );
1733		dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );
1734		return color + dither_shift_RGB;
1735	}
1736#endif`,JF=`float roughnessFactor = roughness;
1737#ifdef USE_ROUGHNESSMAP
1738	vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv );
1739	roughnessFactor *= texelRoughness.g;
1740#endif`,KF=`#ifdef USE_ROUGHNESSMAP
1741	uniform sampler2D roughnessMap;
1742#endif`,QF=`#if NUM_SPOT_LIGHT_COORDS > 0
1743	varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];
1744#endif
1745#if NUM_SPOT_LIGHT_MAPS > 0
1746	uniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ];
1747#endif
1748#ifdef USE_SHADOWMAP
1749	#if NUM_DIR_LIGHT_SHADOWS > 0
1750		uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];
1751		varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];
1752		struct DirectionalLightShadow {
1753			float shadowIntensity;
1754			float shadowBias;
1755			float shadowNormalBias;
1756			float shadowRadius;
1757			vec2 shadowMapSize;
1758		};
1759		uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];
1760	#endif
1761	#if NUM_SPOT_LIGHT_SHADOWS > 0
1762		uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];
1763		struct SpotLightShadow {
1764			float shadowIntensity;
1765			float shadowBias;
1766			float shadowNormalBias;
1767			float shadowRadius;
1768			vec2 shadowMapSize;
1769		};
1770		uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];
1771	#endif
1772	#if NUM_POINT_LIGHT_SHADOWS > 0
1773		uniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];
1774		varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];
1775		struct PointLightShadow {
1776			float shadowIntensity;
1777			float shadowBias;
1778			float shadowNormalBias;
1779			float shadowRadius;
1780			vec2 shadowMapSize;
1781			float shadowCameraNear;
1782			float shadowCameraFar;
1783		};
1784		uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];
1785	#endif
1786	float texture2DCompare( sampler2D depths, vec2 uv, float compare ) {
1787		float depth = unpackRGBAToDepth( texture2D( depths, uv ) );
1788		#ifdef USE_REVERSEDEPTHBUF
1789			return step( depth, compare );
1790		#else
1791			return step( compare, depth );
1792		#endif
1793	}
1794	vec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {
1795		return unpackRGBATo2Half( texture2D( shadow, uv ) );
1796	}
1797	float VSMShadow (sampler2D shadow, vec2 uv, float compare ){
1798		float occlusion = 1.0;
1799		vec2 distribution = texture2DDistribution( shadow, uv );
1800		#ifdef USE_REVERSEDEPTHBUF
1801			float hard_shadow = step( distribution.x, compare );
1802		#else
1803			float hard_shadow = step( compare , distribution.x );
1804		#endif
vendor: 7,038 bytes, lines 1804-1937
1804
1805		if (hard_shadow != 1.0 ) {
1806			float distance = compare - distribution.x ;
1807			float variance = max( 0.00000, distribution.y * distribution.y );
1808			float softness_probability = variance / (variance + distance * distance );			softness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );			occlusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );
1809		}
1810		return occlusion;
1811	}
1812	float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord ) {
1813		float shadow = 1.0;
1814		shadowCoord.xyz /= shadowCoord.w;
1815		shadowCoord.z += shadowBias;
1816		bool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0;
1817		bool frustumTest = inFrustum && shadowCoord.z <= 1.0;
1818		if ( frustumTest ) {
1819		#if defined( SHADOWMAP_TYPE_PCF )
1820			vec2 texelSize = vec2( 1.0 ) / shadowMapSize;
1821			float dx0 = - texelSize.x * shadowRadius;
1822			float dy0 = - texelSize.y * shadowRadius;
1823			float dx1 = + texelSize.x * shadowRadius;
1824			float dy1 = + texelSize.y * shadowRadius;
1825			float dx2 = dx0 / 2.0;
1826			float dy2 = dy0 / 2.0;
1827			float dx3 = dx1 / 2.0;
1828			float dy3 = dy1 / 2.0;
1829			shadow = (
1830				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +
1831				texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +
1832				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +
1833				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +
1834				texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +
1835				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +
1836				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +
1837				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +
1838				texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +
1839				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +
1840				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +
1841				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +
1842				texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +
1843				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +
1844				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +
1845				texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +
1846				texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )
1847			) * ( 1.0 / 17.0 );
1848		#elif defined( SHADOWMAP_TYPE_PCF_SOFT )
1849			vec2 texelSize = vec2( 1.0 ) / shadowMapSize;
1850			float dx = texelSize.x;
1851			float dy = texelSize.y;
1852			vec2 uv = shadowCoord.xy;
1853			vec2 f = fract( uv * shadowMapSize + 0.5 );
1854			uv -= f * texelSize;
1855			shadow = (
1856				texture2DCompare( shadowMap, uv, shadowCoord.z ) +
1857				texture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +
1858				texture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +
1859				texture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +
1860				mix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ),
1861					 texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),
1862					 f.x ) +
1863				mix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ),
1864					 texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),
1865					 f.x ) +
1866				mix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ),
1867					 texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),
1868					 f.y ) +
1869				mix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ),
1870					 texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),
1871					 f.y ) +
1872				mix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ),
1873						  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),
1874						  f.x ),
1875					 mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ),
1876						  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),
1877						  f.x ),
1878					 f.y )
1879			) * ( 1.0 / 9.0 );
1880		#elif defined( SHADOWMAP_TYPE_VSM )
1881			shadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );
1882		#else
1883			shadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );
1884		#endif
1885		}
1886		return mix( 1.0, shadow, shadowIntensity );
1887	}
1888	vec2 cubeToUV( vec3 v, float texelSizeY ) {
1889		vec3 absV = abs( v );
1890		float scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );
1891		absV *= scaleToCube;
1892		v *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );
1893		vec2 planar = v.xy;
1894		float almostATexel = 1.5 * texelSizeY;
1895		float almostOne = 1.0 - almostATexel;
1896		if ( absV.z >= almostOne ) {
1897			if ( v.z > 0.0 )
1898				planar.x = 4.0 - v.x;
1899		} else if ( absV.x >= almostOne ) {
1900			float signX = sign( v.x );
1901			planar.x = v.z * signX + 2.0 * signX;
1902		} else if ( absV.y >= almostOne ) {
1903			float signY = sign( v.y );
1904			planar.x = v.x + 2.0 * signY + 2.0;
1905			planar.y = v.z * signY - 2.0;
1906		}
1907		return vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );
1908	}
1909	float getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {
1910		float shadow = 1.0;
1911		vec3 lightToPosition = shadowCoord.xyz;
1912		
1913		float lightToPositionLength = length( lightToPosition );
1914		if ( lightToPositionLength - shadowCameraFar <= 0.0 && lightToPositionLength - shadowCameraNear >= 0.0 ) {
1915			float dp = ( lightToPositionLength - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );			dp += shadowBias;
1916			vec3 bd3D = normalize( lightToPosition );
1917			vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );
1918			#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )
1919				vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;
1920				shadow = (
1921					texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +
1922					texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +
1923					texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +
1924					texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +
1925					texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +
1926					texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +
1927					texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +
1928					texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +
1929					texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )
1930				) * ( 1.0 / 9.0 );
1931			#else
1932				shadow = texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );
1933			#endif
1934		}
1935		return mix( 1.0, shadow, shadowIntensity );
1936	}
1937#endif`,
1937ZF=`#if NUM_SPOT_LIGHT_COORDS > 0
1938	uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ];
1939	varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];
1940#endif
1941#ifdef USE_SHADOWMAP
1942	#if NUM_DIR_LIGHT_SHADOWS > 0
1943		uniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];
1944		varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];
1945		struct DirectionalLightShadow {
1946			float shadowIntensity;
1947			float shadowBias;
1948			float shadowNormalBias;
1949			float shadowRadius;
1950			vec2 shadowMapSize;
1951		};
1952		uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];
1953	#endif
1954	#if NUM_SPOT_LIGHT_SHADOWS > 0
1955		struct SpotLightShadow {
1956			float shadowIntensity;
1957			float shadowBias;
1958			float shadowNormalBias;
1959			float shadowRadius;
1960			vec2 shadowMapSize;
1961		};
1962		uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];
1963	#endif
1964	#if NUM_POINT_LIGHT_SHADOWS > 0
1965		uniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];
1966		varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];
1967		struct PointLightShadow {
1968			float shadowIntensity;
1969			float shadowBias;
1970			float shadowNormalBias;
1971			float shadowRadius;
1972			vec2 shadowMapSize;
1973			float shadowCameraNear;
1974			float shadowCameraFar;
1975		};
1976		uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];
1977	#endif
1978#endif`,$F=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 )
1979	vec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );
1980	vec4 shadowWorldPosition;
1981#endif
1982#if defined( USE_SHADOWMAP )
1983	#if NUM_DIR_LIGHT_SHADOWS > 0
1984		#pragma unroll_loop_start
1985		for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {
1986			shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );
1987			vDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;
1988		}
1989		#pragma unroll_loop_end
1990	#endif
1991	#if NUM_POINT_LIGHT_SHADOWS > 0
1992		#pragma unroll_loop_start
1993		for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {
1994			shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );
1995			vPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;
1996		}
1997		#pragma unroll_loop_end
1998	#endif
1999#endif
2000#if NUM_SPOT_LIGHT_COORDS > 0
2001	#pragma unroll_loop_start
2002	for ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) {
2003		shadowWorldPosition = worldPosition;
2004		#if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )
2005			shadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias;
2006		#endif
2007		vSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition;
2008	}
2009	#pragma unroll_loop_end
2010#endif`,eG=`float getShadowMask() {
2011	float shadow = 1.0;
2012	#ifdef USE_SHADOWMAP
2013	#if NUM_DIR_LIGHT_SHADOWS > 0
2014	DirectionalLightShadow directionalLight;
2015	#pragma unroll_loop_start
2016	for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {
2017		directionalLight = directionalLightShadows[ i ];
2018		shadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowIntensity, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;
2019	}
2020	#pragma unroll_loop_end
2021	#endif
2022	#if NUM_SPOT_LIGHT_SHADOWS > 0
2023	SpotLightShadow spotLight;
2024	#pragma unroll_loop_start
2025	for ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {
2026		spotLight = spotLightShadows[ i ];
2027		shadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowIntensity, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;
2028	}
2029	#pragma unroll_loop_end
2030	#endif
2031	#if NUM_POINT_LIGHT_SHADOWS > 0
2032	PointLightShadow pointLight;
2033	#pragma unroll_loop_start
2034	for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {
2035		pointLight = pointLightShadows[ i ];
2036		shadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowIntensity, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;
2037	}
2038	#pragma unroll_loop_end
2039	#endif
2040	#endif
2041	return shadow;
2042}`,tG=`#ifdef USE_SKINNING
2043	mat4 boneMatX = getBoneMatrix( skinIndex.x );
2044	mat4 boneMatY = getBoneMatrix( skinIndex.y );
2045	mat4 boneMatZ = getBoneMatrix( skinIndex.z );
2046	mat4 boneMatW = getBoneMatrix( skinIndex.w );
2047#endif`,nG=`#ifdef USE_SKINNING
2048	uniform mat4 bindMatrix;
2049	uniform mat4 bindMatrixInverse;
2050	uniform highp sampler2D boneTexture;
2051	mat4 getBoneMatrix( const in float i ) {
2052		int size = textureSize( boneTexture, 0 ).x;
2053		int j = int( i ) * 4;
2054		int x = j % size;
2055		int y = j / size;
2056		vec4 v1 = texelFetch( boneTexture, ivec2( x, y ), 0 );
2057		vec4 v2 = texelFetch( boneTexture, ivec2( x + 1, y ), 0 );
2058		vec4 v3 = texelFetch( boneTexture, ivec2( x + 2, y ), 0 );
2059		vec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 );
2060		return mat4( v1, v2, v3, v4 );
2061	}
2062#endif`,iG=`#ifdef USE_SKINNING
2063	vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );
2064	vec4 skinned = vec4( 0.0 );
2065	skinned += boneMatX * skinVertex * skinWeight.x;
2066	skinned += boneMatY * skinVertex * skinWeight.y;
2067	skinned += boneMatZ * skinVertex * skinWeight.z;
2068	skinned += boneMatW * skinVertex * skinWeight.w;
2069	transformed = ( bindMatrixInverse * skinned ).xyz;
2070#endif`,rG=`#ifdef USE_SKINNING
2071	mat4 skinMatrix = mat4( 0.0 );
2072	skinMatrix += skinWeight.x * boneMatX;
2073	skinMatrix += skinWeight.y * boneMatY;
2074	skinMatrix += skinWeight.z * boneMatZ;
2075	skinMatrix += skinWeight.w * boneMatW;
2076	skinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;
2077	objectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;
2078	#ifdef USE_TANGENT
2079		objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;
2080	#endif
2081#endif`,sG=`float specularStrength;
2082#ifdef USE_SPECULARMAP
2083	vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv );
2084	specularStrength = texelSpecular.r;
2085#else
2086	specularStrength = 1.0;
2087#endif`,aG=`#ifdef USE_SPECULARMAP
2088	uniform sampler2D specularMap;
2089#endif`,oG=`#if defined( TONE_MAPPING )
2090	gl_FragColor.rgb = toneMapping( gl_FragColor.rgb );
2091#endif`,lG=`#ifndef saturate
2092#define saturate( a ) clamp( a, 0.0, 1.0 )
2093#endif
2094uniform float toneMappingExposure;
2095vec3 LinearToneMapping( vec3 color ) {
2096	return saturate( toneMappingExposure * color );
2097}
2098vec3 ReinhardToneMapping( vec3 color ) {
2099	color *= toneMappingExposure;
2100	return saturate( color / ( vec3( 1.0 ) + color ) );
2101}
2102vec3 CineonToneMapping( vec3 color ) {
2103	color *= toneMappingExposure;
2104	color = max( vec3( 0.0 ), color - 0.004 );
2105	return pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );
2106}
2107vec3 RRTAndODTFit( vec3 v ) {
2108	vec3 a = v * ( v + 0.0245786 ) - 0.000090537;
2109	vec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;
2110	return a / b;
2111}
2112vec3 ACESFilmicToneMapping( vec3 color ) {
2113	const mat3 ACESInputMat = mat3(
2114		vec3( 0.59719, 0.07600, 0.02840 ),		vec3( 0.35458, 0.90834, 0.13383 ),
2115		vec3( 0.04823, 0.01566, 0.83777 )
2116	);
2117	const mat3 ACESOutputMat = mat3(
2118		vec3(  1.60475, -0.10208, -0.00327 ),		vec3( -0.53108,  1.10813, -0.07276 ),
2119		vec3( -0.07367, -0.00605,  1.07602 )
2120	);
2121	color *= toneMappingExposure / 0.6;
2122	color = ACESInputMat * color;
2123	color = RRTAndODTFit( color );
2124	color = ACESOutputMat * color;
2125	return saturate( color );
2126}
2127const mat3 LINEAR_REC2020_TO_LINEAR_SRGB = mat3(
2128	vec3( 1.6605, - 0.1246, - 0.0182 ),
2129	vec3( - 0.5876, 1.1329, - 0.1006 ),
2130	vec3( - 0.0728, - 0.0083, 1.1187 )
2131);
2132const mat3 LINEAR_SRGB_TO_LINEAR_REC2020 = mat3(
2133	vec3( 0.6274, 0.0691, 0.0164 ),
2134	vec3( 0.3293, 0.9195, 0.0880 ),
2135	vec3( 0.0433, 0.0113, 0.8956 )
2136);
2137vec3 agxDefaultContrastApprox( vec3 x ) {
2138	vec3 x2 = x * x;
2139	vec3 x4 = x2 * x2;
2140	return + 15.5 * x4 * x2
2141		- 40.14 * x4 * x
2142		+ 31.96 * x4
2143		- 6.868 * x2 * x
2144		+ 0.4298 * x2
2145		+ 0.1191 * x
2146		- 0.00232;
2147}
2148vec3 AgXToneMapping( vec3 color ) {
2149	const mat3 AgXInsetMatrix = mat3(
2150		vec3( 0.856627153315983, 0.137318972929847, 0.11189821299995 ),
2151		vec3( 0.0951212405381588, 0.761241990602591, 0.0767994186031903 ),
2152		vec3( 0.0482516061458583, 0.101439036467562, 0.811302368396859 )
2153	);
2154	const mat3 AgXOutsetMatrix = mat3(
2155		vec3( 1.1271005818144368, - 0.1413297634984383, - 0.14132976349843826 ),
2156		vec3( - 0.11060664309660323, 1.157823702216272, - 0.11060664309660294 ),
2157		vec3( - 0.016493938717834573, - 0.016493938717834257, 1.2519364065950405 )
2158	);
2159	const float AgxMinEv = - 12.47393;	const float AgxMaxEv = 4.026069;
2160	color *= toneMappingExposure;
2161	color = LINEAR_SRGB_TO_LINEAR_REC2020 * color;
2162	color = AgXInsetMatrix * color;
2163	color = max( color, 1e-10 );	color = log2( color );
2164	color = ( color - AgxMinEv ) / ( AgxMaxEv - AgxMinEv );
2165	color = clamp( color, 0.0, 1.0 );
2166	color = agxDefaultContrastApprox( color );
2167	color = AgXOutsetMatrix * color;
2168	color = pow( max( vec3( 0.0 ), color ), vec3( 2.2 ) );
2169	color = LINEAR_REC2020_TO_LINEAR_SRGB * color;
2170	color = clamp( color, 0.0, 1.0 );
2171	return color;
2172}
2173vec3 NeutralToneMapping( vec3 color ) {
2174	const float StartCompression = 0.8 - 0.04;
2175	const float Desaturation = 0.15;
2176	color *= toneMappingExposure;
2177	float x = min( color.r, min( color.g, color.b ) );
2178	float offset = x < 0.08 ? x - 6.25 * x * x : 0.04;
2179	color -= offset;
2180	float peak = max( color.r, max( color.g, color.b ) );
2181	if ( peak < StartCompression ) return color;
2182	float d = 1. - StartCompression;
2183	float newPeak = 1. - d * d / ( peak + d - StartCompression );
2184	color *= newPeak / peak;
2185	float g = 1. - 1. / ( Desaturation * ( peak - newPeak ) + 1. );
2186	return mix( color, vec3( newPeak ), g );
2187}
2188vec3 CustomToneMapping( vec3 color ) { return color; }`,cG=`#ifdef USE_TRANSMISSION
2189	material.transmission = transmission;
2190	material.transmissionAlpha = 1.0;
2191	material.thickness = thickness;
2192	material.attenuationDistance = attenuationDistance;
2193	material.attenuationColor = attenuationColor;
2194	#ifdef USE_TRANSMISSIONMAP
2195		material.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r;
2196	#endif
2197	#ifdef USE_THICKNESSMAP
2198		material.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g;
2199	#endif
2200	vec3 pos = vWorldPosition;
2201	vec3 v = normalize( cameraPosition - pos );
2202	vec3 n = inverseTransformDirection( normal, viewMatrix );
2203	vec4 transmitted = getIBLVolumeRefraction(
2204		n, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90,
2205		pos, modelMatrix, viewMatrix, projectionMatrix, material.dispersion, material.ior, material.thickness,
2206		material.attenuationColor, material.attenuationDistance );
2207	material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission );
2208	totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission );
2209#endif`,uG=`#ifdef USE_TRANSMISSION
2210	uniform float transmission;
2211	uniform float thickness;
2212	uniform float attenuationDistance;
2213	uniform vec3 attenuationColor;
2214	#ifdef USE_TRANSMISSIONMAP
2215		uniform sampler2D transmissionMap;
2216	#endif
2217	#ifdef USE_THICKNESSMAP
2218		uniform sampler2D thicknessMap;
2219	#endif
2220	uniform vec2 transmissionSamplerSize;
2221	uniform sampler2D transmissionSamplerMap;
2222	uniform mat4 modelMatrix;
2223	uniform mat4 projectionMatrix;
2224	varying vec3 vWorldPosition;
2225	float w0( float a ) {
2226		return ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 );
2227	}
2228	float w1( float a ) {
2229		return ( 1.0 / 6.0 ) * ( a *  a * ( 3.0 * a - 6.0 ) + 4.0 );
2230	}
2231	float w2( float a ){
2232		return ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 );
2233	}
2234	float w3( float a ) {
2235		return ( 1.0 / 6.0 ) * ( a * a * a );
2236	}
2237	float g0( float a ) {
2238		return w0( a ) + w1( a );
2239	}
2240	float g1( float a ) {
2241		return w2( a ) + w3( a );
2242	}
2243	float h0( float a ) {
2244		return - 1.0 + w1( a ) / ( w0( a ) + w1( a ) );
2245	}
2246	float h1( float a ) {
2247		return 1.0 + w3( a ) / ( w2( a ) + w3( a ) );
2248	}
2249	vec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) {
2250		uv = uv * texelSize.zw + 0.5;
2251		vec2 iuv = floor( uv );
2252		vec2 fuv = fract( uv );
2253		float g0x = g0( fuv.x );
2254		float g1x = g1( fuv.x );
2255		float h0x = h0( fuv.x );
2256		float h1x = h1( fuv.x );
2257		float h0y = h0( fuv.y );
2258		float h1y = h1( fuv.y );
2259		vec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;
2260		vec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;
2261		vec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;
2262		vec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;
2263		return g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) +
2264			g1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) );
2265	}
2266	vec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) {
2267		vec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) );
2268		vec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) );
2269		vec2 fLodSizeInv = 1.0 / fLodSize;
2270		vec2 cLodSizeInv = 1.0 / cLodSize;
2271		vec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) );
2272		vec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) );
2273		return mix( fSample, cSample, fract( lod ) );
2274	}
2275	vec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) {
2276		vec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );
2277		vec3 modelScale;
2278		modelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );
2279		modelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );
2280		modelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );
2281		return normalize( refractionVector ) * thickness * modelScale;
2282	}
2283	float applyIorToRoughness( const in float roughness, const in float ior ) {
2284		return roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );
2285	}
2286	vec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) {
2287		float lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );
2288		return textureBicubic( transmissionSamplerMap, fragCoord.xy, lod );
2289	}
2290	vec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) {
2291		if ( isinf( attenuationDistance ) ) {
2292			return vec3( 1.0 );
2293		} else {
2294			vec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;
2295			vec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );			return transmittance;
2296		}
2297	}
2298	vec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor,
2299		const in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix,
2300		const in mat4 viewMatrix, const in mat4 projMatrix, const in float dispersion, const in float ior, const in float thickness,
2301		const in vec3 attenuationColor, const in float attenuationDistance ) {
2302		vec4 transmittedLight;
2303		vec3 transmittance;
2304		#ifdef USE_DISPERSION
2305			float halfSpread = ( ior - 1.0 ) * 0.025 * dispersion;
2306			vec3 iors = vec3( ior - halfSpread, ior, ior + halfSpread );
2307			for ( int i = 0; i < 3; i ++ ) {
2308				vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, iors[ i ], modelMatrix );
2309				vec3 refractedRayExit = position + transmissionRay;
2310				vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );
2311				vec2 refractionCoords = ndcPos.xy / ndcPos.w;
2312				refractionCoords += 1.0;
2313				refractionCoords /= 2.0;
2314				vec4 transmissionSample = getTransmissionSample( refractionCoords, roughness, iors[ i ] );
2315				transmittedLight[ i ] = transmissionSample[ i ];
2316				transmittedLight.a += transmissionSample.a;
2317				transmittance[ i ] = diffuseColor[ i ] * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance )[ i ];
2318			}
2319			transmittedLight.a /= 3.0;
2320		#else
2321			vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );
2322			vec3 refractedRayExit = position + transmissionRay;
2323			vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );
2324			vec2 refractionCoords = ndcPos.xy / ndcPos.w;
2325			refractionCoords += 1.0;
2326			refractionCoords /= 2.0;
2327			transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );
2328			transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance );
2329		#endif
2330		vec3 attenuatedColor = transmittance * transmittedLight.rgb;
2331		vec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );
2332		float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0;
2333		return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor );
2334	}
2335#endif`,fG=`#if defined( USE_UV ) || defined( USE_ANISOTROPY )
2336	varying vec2 vUv;
2337#endif
2338#ifdef USE_MAP
2339	varying vec2 vMapUv;
2340#endif
2341#ifdef USE_ALPHAMAP
2342	varying vec2 vAlphaMapUv;
2343#endif
2344#ifdef USE_LIGHTMAP
2345	varying vec2 vLightMapUv;
2346#endif
2347#ifdef USE_AOMAP
2348	varying vec2 vAoMapUv;
2349#endif
2350#ifdef USE_BUMPMAP
2351	varying vec2 vBumpMapUv;
2352#endif
2353#ifdef USE_NORMALMAP
2354	varying vec2 vNormalMapUv;
2355#endif
2356#ifdef USE_EMISSIVEMAP
2357	varying vec2 vEmissiveMapUv;
2358#endif
2359#ifdef USE_METALNESSMAP
2360	varying vec2 vMetalnessMapUv;
2361#endif
2362#ifdef USE_ROUGHNESSMAP
2363	varying vec2 vRoughnessMapUv;
2364#endif
2365#ifdef USE_ANISOTROPYMAP
2366	varying vec2 vAnisotropyMapUv;
2367#endif
2368#ifdef USE_CLEARCOATMAP
2369	varying vec2 vClearcoatMapUv;
2370#endif
2371#ifdef USE_CLEARCOAT_NORMALMAP
2372	varying vec2 vClearcoatNormalMapUv;
2373#endif
2374#ifdef USE_CLEARCOAT_ROUGHNESSMAP
2375	varying vec2 vClearcoatRoughnessMapUv;
2376#endif
2377#ifdef USE_IRIDESCENCEMAP
2378	varying vec2 vIridescenceMapUv;
2379#endif
2380#ifdef USE_IRIDESCENCE_THICKNESSMAP
2381	varying vec2 vIridescenceThicknessMapUv;
2382#endif
2383#ifdef USE_SHEEN_COLORMAP
2384	varying vec2 vSheenColorMapUv;
2385#endif
2386#ifdef USE_SHEEN_ROUGHNESSMAP
2387	varying vec2 vSheenRoughnessMapUv;
2388#endif
2389#ifdef USE_SPECULARMAP
2390	varying vec2 vSpecularMapUv;
2391#endif
2392#ifdef USE_SPECULAR_COLORMAP
2393	varying vec2 vSpecularColorMapUv;
2394#endif
2395#ifdef USE_SPECULAR_INTENSITYMAP
2396	varying vec2 vSpecularIntensityMapUv;
2397#endif
2398#ifdef USE_TRANSMISSIONMAP
2399	uniform mat3 transmissionMapTransform;
2400	varying vec2 vTransmissionMapUv;
2401#endif
2402#ifdef USE_THICKNESSMAP
2403	uniform mat3 thicknessMapTransform;
2404	varying vec2 vThicknessMapUv;
2405#endif`,hG=`#if defined( USE_UV ) || defined( USE_ANISOTROPY )
2406	varying vec2 vUv;
2407#endif
2408#ifdef USE_MAP
2409	uniform mat3 mapTransform;
2410	varying vec2 vMapUv;
2411#endif
2412#ifdef USE_ALPHAMAP
2413	uniform mat3 alphaMapTransform;
2414	varying vec2 vAlphaMapUv;
2415#endif
2416#ifdef USE_LIGHTMAP
2417	uniform mat3 lightMapTransform;
2418	varying vec2 vLightMapUv;
2419#endif
2420#ifdef USE_AOMAP
2421	uniform mat3 aoMapTransform;
2422	varying vec2 vAoMapUv;
2423#endif
2424#ifdef USE_BUMPMAP
2425	uniform mat3 bumpMapTransform;
2426	varying vec2 vBumpMapUv;
2427#endif
2428#ifdef USE_NORMALMAP
2429	uniform mat3 normalMapTransform;
2430	varying vec2 vNormalMapUv;
2431#endif
2432#ifdef USE_DISPLACEMENTMAP
2433	uniform mat3 displacementMapTransform;
2434	varying vec2 vDisplacementMapUv;
2435#endif
2436#ifdef USE_EMISSIVEMAP
2437	uniform mat3 emissiveMapTransform;
2438	varying vec2 vEmissiveMapUv;
2439#endif
2440#ifdef USE_METALNESSMAP
2441	uniform mat3 metalnessMapTransform;
2442	varying vec2 vMetalnessMapUv;
2443#endif
2444#ifdef USE_ROUGHNESSMAP
2445	uniform mat3 roughnessMapTransform;
2446	varying vec2 vRoughnessMapUv;
2447#endif
2448#ifdef USE_ANISOTROPYMAP
2449	uniform mat3 anisotropyMapTransform;
2450	varying vec2 vAnisotropyMapUv;
2451#endif
2452#ifdef USE_CLEARCOATMAP
2453	uniform mat3 clearcoatMapTransform;
2454	varying vec2 vClearcoatMapUv;
2455#endif
2456#ifdef USE_CLEARCOAT_NORMALMAP
2457	uniform mat3 clearcoatNormalMapTransform;
2458	varying vec2 vClearcoatNormalMapUv;
2459#endif
2460#ifdef USE_CLEARCOAT_ROUGHNESSMAP
2461	uniform mat3 clearcoatRoughnessMapTransform;
2462	varying vec2 vClearcoatRoughnessMapUv;
2463#endif
2464#ifdef USE_SHEEN_COLORMAP
2465	uniform mat3 sheenColorMapTransform;
2466	varying vec2 vSheenColorMapUv;
2467#endif
2468#ifdef USE_SHEEN_ROUGHNESSMAP
2469	uniform mat3 sheenRoughnessMapTransform;
2470	varying vec2 vSheenRoughnessMapUv;
2471#endif
2472#ifdef USE_IRIDESCENCEMAP
2473	uniform mat3 iridescenceMapTransform;
2474	varying vec2 vIridescenceMapUv;
2475#endif
2476#ifdef USE_IRIDESCENCE_THICKNESSMAP
2477	uniform mat3 iridescenceThicknessMapTransform;
2478	varying vec2 vIridescenceThicknessMapUv;
2479#endif
2480#ifdef USE_SPECULARMAP
2481	uniform mat3 specularMapTransform;
2482	varying vec2 vSpecularMapUv;
2483#endif
2484#ifdef USE_SPECULAR_COLORMAP
2485	uniform mat3 specularColorMapTransform;
2486	varying vec2 vSpecularColorMapUv;
2487#endif
2488#ifdef USE_SPECULAR_INTENSITYMAP
2489	uniform mat3 specularIntensityMapTransform;
2490	varying vec2 vSpecularIntensityMapUv;
2491#endif
2492#ifdef USE_TRANSMISSIONMAP
2493	uniform mat3 transmissionMapTransform;
2494	varying vec2 vTransmissionMapUv;
2495#endif
2496#ifdef USE_THICKNESSMAP
2497	uniform mat3 thicknessMapTransform;
2498	varying vec2 vThicknessMapUv;
2499#endif`,dG=`#if defined( USE_UV ) || defined( USE_ANISOTROPY )
2500	vUv = vec3( uv, 1 ).xy;
2501#endif
2502#ifdef USE_MAP
2503	vMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy;
2504#endif
2505#ifdef USE_ALPHAMAP
2506	vAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy;
2507#endif
2508#ifdef USE_LIGHTMAP
2509	vLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy;
2510#endif
2511#ifdef USE_AOMAP
2512	vAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy;
2513#endif
2514#ifdef USE_BUMPMAP
2515	vBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy;
2516#endif
2517#ifdef USE_NORMALMAP
2518	vNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy;
2519#endif
2520#ifdef USE_DISPLACEMENTMAP
2521	vDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy;
2522#endif
2523#ifdef USE_EMISSIVEMAP
2524	vEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy;
2525#endif
2526#ifdef USE_METALNESSMAP
2527	vMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy;
2528#endif
2529#ifdef USE_ROUGHNESSMAP
2530	vRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy;
2531#endif
2532#ifdef USE_ANISOTROPYMAP
2533	vAnisotropyMapUv = ( anisotropyMapTransform * vec3( ANISOTROPYMAP_UV, 1 ) ).xy;
2534#endif
2535#ifdef USE_CLEARCOATMAP
2536	vClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy;
2537#endif
2538#ifdef USE_CLEARCOAT_NORMALMAP
2539	vClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy;
2540#endif
2541#ifdef USE_CLEARCOAT_ROUGHNESSMAP
2542	vClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy;
2543#endif
2544#ifdef USE_IRIDESCENCEMAP
2545	vIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy;
2546#endif
2547#ifdef USE_IRIDESCENCE_THICKNESSMAP
2548	vIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy;
2549#endif
2550#ifdef USE_SHEEN_COLORMAP
2551	vSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy;
2552#endif
2553#ifdef USE_SHEEN_ROUGHNESSMAP
2554	vSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy;
2555#endif
2556#ifdef USE_SPECULARMAP
2557	vSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy;
2558#endif
2559#ifdef USE_SPECULAR_COLORMAP
2560	vSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy;
2561#endif
2562#ifdef USE_SPECULAR_INTENSITYMAP
2563	vSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy;
2564#endif
2565#ifdef USE_TRANSMISSIONMAP
2566	vTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy;
2567#endif
2568#ifdef USE_THICKNESSMAP
2569	vThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy;
2570#endif`,pG=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0
2571	vec4 worldPosition = vec4( transformed, 1.0 );
2572	#ifdef USE_BATCHING
2573		worldPosition = batchingMatrix * worldPosition;
2574	#endif
2575	#ifdef USE_INSTANCING
2576		worldPosition = instanceMatrix * worldPosition;
2577	#endif
2578	worldPosition = modelMatrix * worldPosition;
2579#endif`;const mG=`varying vec2 vUv;
2580uniform mat3 uvTransform;
2581void main() {
2582	vUv = ( uvTransform * vec3( uv, 1 ) ).xy;
2583	gl_Position = vec4( position.xy, 1.0, 1.0 );
2584}`,gG=`uniform sampler2D t2D;
2585uniform float backgroundIntensity;
2586varying vec2 vUv;
2587void main() {
2588	vec4 texColor = texture2D( t2D, vUv );
2589	#ifdef DECODE_VIDEO_TEXTURE
2590		texColor = vec4( mix( pow( texColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), texColor.rgb * 0.0773993808, vec3( lessThanEqual( texColor.rgb, vec3( 0.04045 ) ) ) ), texColor.w );
2591	#endif
2592	texColor.rgb *= backgroundIntensity;
2593	gl_FragColor = texColor;
2594	#include <tonemapping_fragment>
2595	#include <colorspace_fragment>
2596}`,vG=`varying vec3 vWorldDirection;
2597#include <common>
2598void main() {
2599	vWorldDirection = transformDirection( position, modelMatrix );
2600	#include <begin_vertex>
2601	#include <project_vertex>
2602	gl_Position.z = gl_Position.w;
2603}`,yG=`#ifdef ENVMAP_TYPE_CUBE
2604	uniform samplerCube envMap;
2605#elif defined( ENVMAP_TYPE_CUBE_UV )
2606	uniform sampler2D envMap;
2607#endif
2608uniform float flipEnvMap;
2609uniform float backgroundBlurriness;
2610uniform float backgroundIntensity;
2611uniform mat3 backgroundRotation;
2612varying vec3 vWorldDirection;
2613#include <cube_uv_reflection_fragment>
2614void main() {
2615	#ifdef ENVMAP_TYPE_CUBE
2616		vec4 texColor = textureCube( envMap, backgroundRotation * vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) );
2617	#elif defined( ENVMAP_TYPE_CUBE_UV )
2618		vec4 texColor = textureCubeUV( envMap, backgroundRotation * vWorldDirection, backgroundBlurriness );
2619	#else
2620		vec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 );
2621	#endif
2622	texColor.rgb *= backgroundIntensity;
2623	gl_FragColor = texColor;
2624	#include <tonemapping_fragment>
2625	#include <colorspace_fragment>
2626}`,_G=`varying vec3 vWorldDirection;
2627#include <common>
2628void main() {
2629	vWorldDirection = transformDirection( position, modelMatrix );
2630	#include <begin_vertex>
2631	#include <project_vertex>
2632	gl_Position.z = gl_Position.w;
2633}`,xG=`uniform samplerCube tCube;
2634uniform float tFlip;
2635uniform float opacity;
2636varying vec3 vWorldDirection;
2637void main() {
2638	vec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );
2639	gl_FragColor = texColor;
2640	gl_FragColor.a *= opacity;
2641	#include <tonemapping_fragment>
2642	#include <colorspace_fragment>
2643}`,SG=`#include <common>
2644#include <batching_pars_vertex>
2645#include <uv_pars_vertex>
2646#include <displacementmap_pars_vertex>
2647#include <morphtarget_pars_vertex>
2648#include <skinning_pars_vertex>
2649#include <logdepthbuf_pars_vertex>
2650#include <clipping_planes_pars_vertex>
2651varying vec2 vHighPrecisionZW;
2652void main() {
2653	#include <uv_vertex>
2654	#include <batching_vertex>
2655	#include <skinbase_vertex>
2656	#include <morphinstance_vertex>
2657	#ifdef USE_DISPLACEMENTMAP
2658		#include <beginnormal_vertex>
2659		#include <morphnormal_vertex>
2660		#include <skinnormal_vertex>
2661	#endif
2662	#include <begin_vertex>
2663	#include <morphtarget_vertex>
2664	#include <skinning_vertex>
2665	#include <displacementmap_vertex>
2666	#include <project_vertex>
2667	#include <logdepthbuf_vertex>
2668	#include <clipping_planes_vertex>
2669	vHighPrecisionZW = gl_Position.zw;
2670}`,AG=`#if DEPTH_PACKING == 3200
2671	uniform float opacity;
2672#endif
2673#include <common>
2674#include <packing>
2675#include <uv_pars_fragment>
2676#include <map_pars_fragment>
2677#include <alphamap_pars_fragment>
2678#include <alphatest_pars_fragment>
2679#include <alphahash_pars_fragment>
2680#include <logdepthbuf_pars_fragment>
2681#include <clipping_planes_pars_fragment>
2682varying vec2 vHighPrecisionZW;
2683void main() {
2684	vec4 diffuseColor = vec4( 1.0 );
2685	#include <clipping_planes_fragment>
2686	#if DEPTH_PACKING == 3200
2687		diffuseColor.a = opacity;
2688	#endif
2689	#include <map_fragment>
2690	#include <alphamap_fragment>
2691	#include <alphatest_fragment>
2692	#include <alphahash_fragment>
2693	#include <logdepthbuf_fragment>
2694	#ifdef USE_REVERSEDEPTHBUF
2695		float fragCoordZ = vHighPrecisionZW[ 0 ] / vHighPrecisionZW[ 1 ];
2696	#else
2697		float fragCoordZ = 0.5 * vHighPrecisionZW[ 0 ] / vHighPrecisionZW[ 1 ] + 0.5;
2698	#endif
2699	#if DEPTH_PACKING == 3200
2700		gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );
2701	#elif DEPTH_PACKING == 3201
2702		gl_FragColor = packDepthToRGBA( fragCoordZ );
2703	#elif DEPTH_PACKING == 3202
2704		gl_FragColor = vec4( packDepthToRGB( fragCoordZ ), 1.0 );
2705	#elif DEPTH_PACKING == 3203
2706		gl_FragColor = vec4( packDepthToRG( fragCoordZ ), 0.0, 1.0 );
2707	#endif
2708}`,bG=`#define DISTANCE
2709varying vec3 vWorldPosition;
2710#include <common>
2711#include <batching_pars_vertex>
2712#include <uv_pars_vertex>
2713#include <displacementmap_pars_vertex>
2714#include <morphtarget_pars_vertex>
2715#include <skinning_pars_vertex>
2716#include <clipping_planes_pars_vertex>
2717void main() {
2718	#include <uv_vertex>
2719	#include <batching_vertex>
2720	#include <skinbase_vertex>
2721	#include <morphinstance_vertex>
2722	#ifdef USE_DISPLACEMENTMAP
2723		#include <beginnormal_vertex>
2724		#include <morphnormal_vertex>
2725		#include <skinnormal_vertex>
2726	#endif
2727	#include <begin_vertex>
2728	#include <morphtarget_vertex>
2729	#include <skinning_vertex>
2730	#include <displacementmap_vertex>
2731	#include <project_vertex>
2732	#include <worldpos_vertex>
2733	#include <clipping_planes_vertex>
2734	vWorldPosition = worldPosition.xyz;
2735}`,MG=`#define DISTANCE
2736uniform vec3 referencePosition;
2737uniform float nearDistance;
2738uniform float farDistance;
2739varying vec3 vWorldPosition;
2740#include <common>
2741#include <packing>
2742#include <uv_pars_fragment>
2743#include <map_pars_fragment>
2744#include <alphamap_pars_fragment>
2745#include <alphatest_pars_fragment>
2746#include <alphahash_pars_fragment>
2747#include <clipping_planes_pars_fragment>
2748void main () {
2749	vec4 diffuseColor = vec4( 1.0 );
2750	#include <clipping_planes_fragment>
2751	#include <map_fragment>
2752	#include <alphamap_fragment>
2753	#include <alphatest_fragment>
2754	#include <alphahash_fragment>
2755	float dist = length( vWorldPosition - referencePosition );
2756	dist = ( dist - nearDistance ) / ( farDistance - nearDistance );
2757	dist = saturate( dist );
2758	gl_FragColor = packDepthToRGBA( dist );
2759}`,EG=`varying vec3 vWorldDirection;
2760#include <common>
2761void main() {
2762	vWorldDirection = transformDirection( position, modelMatrix );
2763	#include <begin_vertex>
2764	#include <project_vertex>
2765}`,TG=`uniform sampler2D tEquirect;
2766varying vec3 vWorldDirection;
2767#include <common>
2768void main() {
2769	vec3 direction = normalize( vWorldDirection );
2770	vec2 sampleUV = equirectUv( direction );
2771	gl_FragColor = texture2D( tEquirect, sampleUV );
2772	#include <tonemapping_fragment>
2773	#include <colorspace_fragment>
2774}`,CG=`uniform float scale;
2775attribute float lineDistance;
2776varying float vLineDistance;
2777#include <common>
2778#include <uv_pars_vertex>
2779#include <color_pars_vertex>
2780#include <fog_pars_vertex>
2781#include <morphtarget_pars_vertex>
2782#include <logdepthbuf_pars_vertex>
2783#include <clipping_planes_pars_vertex>
2784void main() {
2785	vLineDistance = scale * lineDistance;
2786	#include <uv_vertex>
2787	#include <color_vertex>
2788	#include <morphinstance_vertex>
2789	#include <morphcolor_vertex>
2790	#include <begin_vertex>
2791	#include <morphtarget_vertex>
2792	#include <project_vertex>
2793	#include <logdepthbuf_vertex>
2794	#include <clipping_planes_vertex>
2795	#include <fog_vertex>
2796}`,wG=`uniform vec3 diffuse;
2797uniform float opacity;
2798uniform float dashSize;
2799uniform float totalSize;
2800varying float vLineDistance;
2801#include <common>
2802#include <color_pars_fragment>
2803#include <uv_pars_fragment>
2804#include <map_pars_fragment>
2805#include <fog_pars_fragment>
2806#include <logdepthbuf_pars_fragment>
2807#include <clipping_planes_pars_fragment>
2808void main() {
2809	vec4 diffuseColor = vec4( diffuse, opacity );
2810	#include <clipping_planes_fragment>
2811	if ( mod( vLineDistance, totalSize ) > dashSize ) {
2812		discard;
2813	}
2814	vec3 outgoingLight = vec3( 0.0 );
2815	#include <logdepthbuf_fragment>
2816	#include <map_fragment>
2817	#include <color_fragment>
2818	outgoingLight = diffuseColor.rgb;
2819	#include <opaque_fragment>
2820	#include <tonemapping_fragment>
2821	#include <colorspace_fragment>
2822	#include <fog_fragment>
2823	#include <premultiplied_alpha_fragment>
2824}`,RG=`#include <common>
2825#include <batching_pars_vertex>
2826#include <uv_pars_vertex>
2827#include <envmap_pars_vertex>
2828#include <color_pars_vertex>
2829#include <fog_pars_vertex>
2830#include <morphtarget_pars_vertex>
2831#include <skinning_pars_vertex>
2832#include <logdepthbuf_pars_vertex>
2833#include <clipping_planes_pars_vertex>
2834void main() {
2835	#include <uv_vertex>
2836	#include <color_vertex>
2837	#include <morphinstance_vertex>
2838	#include <morphcolor_vertex>
2839	#include <batching_vertex>
2840	#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )
2841		#include <beginnormal_vertex>
2842		#include <morphnormal_vertex>
2843		#include <skinbase_vertex>
2844		#include <skinnormal_vertex>
2845		#include <defaultnormal_vertex>
2846	#endif
2847	#include <begin_vertex>
2848	#include <morphtarget_vertex>
2849	#include <skinning_vertex>
2850	#include <project_vertex>
2851	#include <logdepthbuf_vertex>
2852	#include <clipping_planes_vertex>
2853	#include <worldpos_vertex>
2854	#include <envmap_vertex>
2855	#include <fog_vertex>
2856}`,BG=`uniform vec3 diffuse;
2857uniform float opacity;
2858#ifndef FLAT_SHADED
2859	varying vec3 vNormal;
2860#endif
2861#include <common>
2862#include <dithering_pars_fragment>
2863#include <color_pars_fragment>
2864#include <uv_pars_fragment>
2865#include <map_pars_fragment>
2866#include <alphamap_pars_fragment>
2867#include <alphatest_pars_fragment>
2868#include <alphahash_pars_fragment>
2869#include <aomap_pars_fragment>
2870#include <lightmap_pars_fragment>
2871#include <envmap_common_pars_fragment>
2872#include <envmap_pars_fragment>
2873#include <fog_pars_fragment>
2874#include <specularmap_pars_fragment>
2875#include <logdepthbuf_pars_fragment>
2876#include <clipping_planes_pars_fragment>
2877void main() {
2878	vec4 diffuseColor = vec4( diffuse, opacity );
2879	#include <clipping_planes_fragment>
2880	#include <logdepthbuf_fragment>
2881	#include <map_fragment>
2882	#include <color_fragment>
2883	#include <alphamap_fragment>
2884	#include <alphatest_fragment>
2885	#include <alphahash_fragment>
2886	#include <specularmap_fragment>
2887	ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
2888	#ifdef USE_LIGHTMAP
2889		vec4 lightMapTexel = texture2D( lightMap, vLightMapUv );
2890		reflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI;
2891	#else
2892		reflectedLight.indirectDiffuse += vec3( 1.0 );
2893	#endif
2894	#include <aomap_fragment>
2895	reflectedLight.indirectDiffuse *= diffuseColor.rgb;
2896	vec3 outgoingLight = reflectedLight.indirectDiffuse;
2897	#include <envmap_fragment>
2898	#include <opaque_fragment>
2899	#include <tonemapping_fragment>
2900	#include <colorspace_fragment>
2901	#include <fog_fragment>
2902	#include <premultiplied_alpha_fragment>
2903	#include <dithering_fragment>
2904}`,DG=`#define LAMBERT
2905varying vec3 vViewPosition;
2906#include <common>
2907#include <batching_pars_vertex>
2908#include <uv_pars_vertex>
2909#include <displacementmap_pars_vertex>
2910#include <envmap_pars_vertex>
2911#include <color_pars_vertex>
2912#include <fog_pars_vertex>
2913#include <normal_pars_vertex>
2914#include <morphtarget_pars_vertex>
2915#include <skinning_pars_vertex>
2916#include <shadowmap_pars_vertex>
2917#include <logdepthbuf_pars_vertex>
2918#include <clipping_planes_pars_vertex>
2919void main() {
2920	#include <uv_vertex>
2921	#include <color_vertex>
2922	#include <morphinstance_vertex>
2923	#include <morphcolor_vertex>
2924	#include <batching_vertex>
2925	#include <beginnormal_vertex>
2926	#include <morphnormal_vertex>
2927	#include <skinbase_vertex>
2928	#include <skinnormal_vertex>
2929	#include <defaultnormal_vertex>
2930	#include <normal_vertex>
2931	#include <begin_vertex>
2932	#include <morphtarget_vertex>
2933	#include <skinning_vertex>
2934	#include <displacementmap_vertex>
2935	#include <project_vertex>
2936	#include <logdepthbuf_vertex>
2937	#include <clipping_planes_vertex>
2938	vViewPosition = - mvPosition.xyz;
2939	#include <worldpos_vertex>
2940	#include <envmap_vertex>
2941	#include <shadowmap_vertex>
2942	#include <fog_vertex>
2943}
2943`,OG=`#define LAMBERT
2944uniform vec3 diffuse;
2945uniform vec3 emissive;
2946uniform float opacity;
2947#include <common>
2948#include <packing>
2949#include <dithering_pars_fragment>
2950#include <color_pars_fragment>
2951#include <uv_pars_fragment>
2952#include <map_pars_fragment>
2953#include <alphamap_pars_fragment>
2954#include <alphatest_pars_fragment>
2955#include <alphahash_pars_fragment>
2956#include <aomap_pars_fragment>
2957#include <lightmap_pars_fragment>
2958#include <emissivemap_pars_fragment>
2959#include <envmap_common_pars_fragment>
2960#include <envmap_pars_fragment>
2961#include <fog_pars_fragment>
2962#include <bsdfs>
2963#include <lights_pars_begin>
2964#include <normal_pars_fragment>
2965#include <lights_lambert_pars_fragment>
2966#include <shadowmap_pars_fragment>
2967#include <bumpmap_pars_fragment>
2968#include <normalmap_pars_fragment>
2969#include <specularmap_pars_fragment>
2970#include <logdepthbuf_pars_fragment>
2971#include <clipping_planes_pars_fragment>
2972void main() {
2973	vec4 diffuseColor = vec4( diffuse, opacity );
2974	#include <clipping_planes_fragment>
2975	ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
2976	vec3 totalEmissiveRadiance = emissive;
2977	#include <logdepthbuf_fragment>
2978	#include <map_fragment>
2979	#include <color_fragment>
2980	#include <alphamap_fragment>
2981	#include <alphatest_fragment>
2982	#include <alphahash_fragment>
2983	#include <specularmap_fragment>
2984	#include <normal_fragment_begin>
2985	#include <normal_fragment_maps>
2986	#include <emissivemap_fragment>
2987	#include <lights_lambert_fragment>
2988	#include <lights_fragment_begin>
2989	#include <lights_fragment_maps>
2990	#include <lights_fragment_end>
2991	#include <aomap_fragment>
2992	vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;
2993	#include <envmap_fragment>
2994	#include <opaque_fragment>
2995	#include <tonemapping_fragment>
2996	#include <colorspace_fragment>
2997	#include <fog_fragment>
2998	#include <premultiplied_alpha_fragment>
2999	#include <dithering_fragment>
3000}`,NG=`#define MATCAP
3001varying vec3 vViewPosition;
3002#include <common>
3003#include <batching_pars_vertex>
3004#include <uv_pars_vertex>
3005#include <color_pars_vertex>
3006#include <displacementmap_pars_vertex>
3007#include <fog_pars_vertex>
3008#include <normal_pars_vertex>
3009#include <morphtarget_pars_vertex>
3010#include <skinning_pars_vertex>
3011#include <logdepthbuf_pars_vertex>
3012#include <clipping_planes_pars_vertex>
3013void main() {
3014	#include <uv_vertex>
3015	#include <color_vertex>
3016	#include <morphinstance_vertex>
3017	#include <morphcolor_vertex>
3018	#include <batching_vertex>
3019	#include <beginnormal_vertex>
3020	#include <morphnormal_vertex>
3021	#include <skinbase_vertex>
3022	#include <skinnormal_vertex>
3023	#include <defaultnormal_vertex>
3024	#include <normal_vertex>
3025	#include <begin_vertex>
3026	#include <morphtarget_vertex>
3027	#include <skinning_vertex>
3028	#include <displacementmap_vertex>
3029	#include <project_vertex>
3030	#include <logdepthbuf_vertex>
3031	#include <clipping_planes_vertex>
3032	#include <fog_vertex>
3033	vViewPosition = - mvPosition.xyz;
3034}`,LG=`#define MATCAP
3035uniform vec3 diffuse;
3036uniform float opacity;
3037uniform sampler2D matcap;
3038varying vec3 vViewPosition;
3039#include <common>
3040#include <dithering_pars_fragment>
3041#include <color_pars_fragment>
3042#include <uv_pars_fragment>
3043#include <map_pars_fragment>
3044#include <alphamap_pars_fragment>
3045#include <alphatest_pars_fragment>
3046#include <alphahash_pars_fragment>
3047#include <fog_pars_fragment>
3048#include <normal_pars_fragment>
3049#include <bumpmap_pars_fragment>
3050#include <normalmap_pars_fragment>
3051#include <logdepthbuf_pars_fragment>
3052#include <clipping_planes_pars_fragment>
3053void main() {
3054	vec4 diffuseColor = vec4( diffuse, opacity );
3055	#include <clipping_planes_fragment>
3056	#include <logdepthbuf_fragment>
3057	#include <map_fragment>
3058	#include <color_fragment>
3059	#include <alphamap_fragment>
3060	#include <alphatest_fragment>
3061	#include <alphahash_fragment>
3062	#include <normal_fragment_begin>
3063	#include <normal_fragment_maps>
3064	vec3 viewDir = normalize( vViewPosition );
3065	vec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );
3066	vec3 y = cross( viewDir, x );
3067	vec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;
3068	#ifdef USE_MATCAP
3069		vec4 matcapColor = texture2D( matcap, uv );
3070	#else
3071		vec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 );
3072	#endif
3073	vec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;
3074	#include <opaque_fragment>
3075	#include <tonemapping_fragment>
3076	#include <colorspace_fragment>
3077	#include <fog_fragment>
3078	#include <premultiplied_alpha_fragment>
3079	#include <dithering_fragment>
3080}`,UG=`#define NORMAL
3081#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )
3082	varying vec3 vViewPosition;
3083#endif
3084#include <common>
3085#include <batching_pars_vertex>
3086#include <uv_pars_vertex>
3087#include <displacementmap_pars_vertex>
3088#include <normal_pars_vertex>
3089#include <morphtarget_pars_vertex>
3090#include <skinning_pars_vertex>
3091#include <logdepthbuf_pars_vertex>
3092#include <clipping_planes_pars_vertex>
3093void main() {
3094	#include <uv_vertex>
3095	#include <batching_vertex>
3096	#include <beginnormal_vertex>
3097	#include <morphinstance_vertex>
3098	#include <morphnormal_vertex>
3099	#include <skinbase_vertex>
3100	#include <skinnormal_vertex>
3101	#include <defaultnormal_vertex>
3102	#include <normal_vertex>
3103	#include <begin_vertex>
3104	#include <morphtarget_vertex>
3105	#include <skinning_vertex>
3106	#include <displacementmap_vertex>
3107	#include <project_vertex>
3108	#include <logdepthbuf_vertex>
3109	#include <clipping_planes_vertex>
3110#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )
3111	vViewPosition = - mvPosition.xyz;
3112#endif
3113}`,IG=`#define NORMAL
3114uniform float opacity;
3115#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )
3116	varying vec3 vViewPosition;
3117#endif
3118#include <packing>
3119#include <uv_pars_fragment>
3120#include <normal_pars_fragment>
3121#include <bumpmap_pars_fragment>
3122#include <normalmap_pars_fragment>
3123#include <logdepthbuf_pars_fragment>
3124#include <clipping_planes_pars_fragment>
3125void main() {
3126	vec4 diffuseColor = vec4( 0.0, 0.0, 0.0, opacity );
3127	#include <clipping_planes_fragment>
3128	#include <logdepthbuf_fragment>
3129	#include <normal_fragment_begin>
3130	#include <normal_fragment_maps>
3131	gl_FragColor = vec4( packNormalToRGB( normal ), diffuseColor.a );
3132	#ifdef OPAQUE
3133		gl_FragColor.a = 1.0;
3134	#endif
3135}`,PG=`#define PHONG
3136varying vec3 vViewPosition;
3137#include <common>
3138#include <batching_pars_vertex>
3139#include <uv_pars_vertex>
3140#include <displacementmap_pars_vertex>
3141#include <envmap_pars_vertex>
3142#include <color_pars_vertex>
3143#include <fog_pars_vertex>
3144#include <normal_pars_vertex>
3145#include <morphtarget_pars_vertex>
3146#include <skinning_pars_vertex>
3147#include <shadowmap_pars_vertex>
3148#include <logdepthbuf_pars_vertex>
3149#include <clipping_planes_pars_vertex>
3150void main() {
3151	#include <uv_vertex>
3152	#include <color_vertex>
3153	#include <morphcolor_vertex>
3154	#include <batching_vertex>
3155	#include <beginnormal_vertex>
3156	#include <morphinstance_vertex>
3157	#include <morphnormal_vertex>
3158	#include <skinbase_vertex>
3159	#include <skinnormal_vertex>
3160	#include <defaultnormal_vertex>
3161	#include <normal_vertex>
3162	#include <begin_vertex>
3163	#include <morphtarget_vertex>
3164	#include <skinning_vertex>
3165	#include <displacementmap_vertex>
3166	#include <project_vertex>
3167	#include <logdepthbuf_vertex>
3168	#include <clipping_planes_vertex>
3169	vViewPosition = - mvPosition.xyz;
3170	#include <worldpos_vertex>
3171	#include <envmap_vertex>
3172	#include <shadowmap_vertex>
3173	#include <fog_vertex>
3174}`,HG=`#define PHONG
3175uniform vec3 diffuse;
3176uniform vec3 emissive;
3177uniform vec3 specular;
3178uniform float shininess;
3179uniform float opacity;
3180#include <common>
3181#include <packing>
3182#include <dithering_pars_fragment>
3183#include <color_pars_fragment>
3184#include <uv_pars_fragment>
3185#include <map_pars_fragment>
3186#include <alphamap_pars_fragment>
3187#include <alphatest_pars_fragment>
3188#include <alphahash_pars_fragment>
3189#include <aomap_pars_fragment>
3190#include <lightmap_pars_fragment>
3191#include <emissivemap_pars_fragment>
3192#include <envmap_common_pars_fragment>
3193#include <envmap_pars_fragment>
3194#include <fog_pars_fragment>
3195#include <bsdfs>
3196#include <lights_pars_begin>
3197#include <normal_pars_fragment>
3198#include <lights_phong_pars_fragment>
3199#include <shadowmap_pars_fragment>
3200#include <bumpmap_pars_fragment>
3201#include <normalmap_pars_fragment>
3202#include <specularmap_pars_fragment>
3203#include <logdepthbuf_pars_fragment>
3204#include <clipping_planes_pars_fragment>
3205void main() {
3206	vec4 diffuseColor = vec4( diffuse, opacity );
3207	#include <clipping_planes_fragment>
3208	ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
3209	vec3 totalEmissiveRadiance = emissive;
3210	#include <logdepthbuf_fragment>
3211	#include <map_fragment>
3212	#include <color_fragment>
3213	#include <alphamap_fragment>
3214	#include <alphatest_fragment>
3215	#include <alphahash_fragment>
3216	#include <specularmap_fragment>
3217	#include <normal_fragment_begin>
3218	#include <normal_fragment_maps>
3219	#include <emissivemap_fragment>
3220	#include <lights_phong_fragment>
3221	#include <lights_fragment_begin>
3222	#include <lights_fragment_maps>
3223	#include <lights_fragment_end>
3224	#include <aomap_fragment>
3225	vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;
3226	#include <envmap_fragment>
3227	#include <opaque_fragment>
3228	#include <tonemapping_fragment>
3229	#include <colorspace_fragment>
3230	#include <fog_fragment>
3231	#include <premultiplied_alpha_fragment>
3232	#include <dithering_fragment>
3233}`,zG=`#define STANDARD
3234varying vec3 vViewPosition;
3235#ifdef USE_TRANSMISSION
3236	varying vec3 vWorldPosition;
3237#endif
3238#include <common>
3239#include <batching_pars_vertex>
3240#include <uv_pars_vertex>
3241#include <displacementmap_pars_vertex>
3242#include <color_pars_vertex>
3243#include <fog_pars_vertex>
3244#include <normal_pars_vertex>
3245#include <morphtarget_pars_vertex>
3246#include <skinning_pars_vertex>
3247#include <shadowmap_pars_vertex>
3248#include <logdepthbuf_pars_vertex>
3249#include <clipping_planes_pars_vertex>
3250void main() {
3251	#include <uv_vertex>
3252	#include <color_vertex>
3253	#include <morphinstance_vertex>
3254	#include <morphcolor_vertex>
3255	#include <batching_vertex>
3256	#include <beginnormal_vertex>
3257	#include <morphnormal_vertex>
3258	#include <skinbase_vertex>
3259	#include <skinnormal_vertex>
3260	#include <defaultnormal_vertex>
3261	#include <normal_vertex>
3262	#include <begin_vertex>
3263	#include <morphtarget_vertex>
3264	#include <skinning_vertex>
3265	#include <displacementmap_vertex>
3266	#include <project_vertex>
3267	#include <logdepthbuf_vertex>
3268	#include <clipping_planes_vertex>
3269	vViewPosition = - mvPosition.xyz;
3270	#include <worldpos_vertex>
3271	#include <shadowmap_vertex>
3272	#include <fog_vertex>
3273#ifdef USE_TRANSMISSION
3274	vWorldPosition = worldPosition.xyz;
3275#endif
3276}`,FG=`#define STANDARD
3277#ifdef PHYSICAL
3278	#define IOR
3279	#define USE_SPECULAR
3280#endif
3281uniform vec3 diffuse;
3282uniform vec3 emissive;
3283uniform float roughness;
3284uniform float metalness;
3285uniform float opacity;
3286#ifdef IOR
3287	uniform float ior;
3288#endif
3289#ifdef USE_SPECULAR
3290	uniform float specularIntensity;
3291	uniform vec3 specularColor;
3292	#ifdef USE_SPECULAR_COLORMAP
3293		uniform sampler2D specularColorMap;
3294	#endif
3295	#ifdef USE_SPECULAR_INTENSITYMAP
3296		uniform sampler2D specularIntensityMap;
3297	#endif
3298#endif
3299#ifdef USE_CLEARCOAT
3300	uniform float clearcoat;
3301	uniform float clearcoatRoughness;
3302#endif
3303#ifdef USE_DISPERSION
3304	uniform float dispersion;
3305#endif
3306#ifdef USE_IRIDESCENCE
3307	uniform float iridescence;
3308	uniform float iridescenceIOR;
3309	uniform float iridescenceThicknessMinimum;
3310	uniform float iridescenceThicknessMaximum;
3311#endif
3312#ifdef USE_SHEEN
3313	uniform vec3 sheenColor;
3314	uniform float sheenRoughness;
3315	#ifdef USE_SHEEN_COLORMAP
3316		uniform sampler2D sheenColorMap;
3317	#endif
3318	#ifdef USE_SHEEN_ROUGHNESSMAP
3319		uniform sampler2D sheenRoughnessMap;
3320	#endif
3321#endif
3322#ifdef USE_ANISOTROPY
3323	uniform vec2 anisotropyVector;
3324	#ifdef USE_ANISOTROPYMAP
3325		uniform sampler2D anisotropyMap;
3326	#endif
3327#endif
3328varying vec3 vViewPosition;
3329#include <common>
3330#include <packing>
3331#include <dithering_pars_fragment>
3332#include <color_pars_fragment>
3333#include <uv_pars_fragment>
3334#include <map_pars_fragment>
3335#include <alphamap_pars_fragment>
3336#include <alphatest_pars_fragment>
3337#include <alphahash_pars_fragment>
3338#include <aomap_pars_fragment>
3339#include <lightmap_pars_fragment>
3340#include <emissivemap_pars_fragment>
3341#include <iridescence_fragment>
3342#include <cube_uv_reflection_fragment>
3343#include <envmap_common_pars_fragment>
3344#include <envmap_physical_pars_fragment>
3345#include <fog_pars_fragment>
3346#include <lights_pars_begin>
3347#include <normal_pars_fragment>
3348#include <lights_physical_pars_fragment>
3349#include <transmission_pars_fragment>
3350#include <shadowmap_pars_fragment>
3351#include <bumpmap_pars_fragment>
3352#include <normalmap_pars_fragment>
3353#include <clearcoat_pars_fragment>
3354#include <iridescence_pars_fragment>
3355#include <roughnessmap_pars_fragment>
3356#include <metalnessmap_pars_fragment>
3357#include <logdepthbuf_pars_fragment>
3358#include <clipping_planes_pars_fragment>
3359void main() {
3360	vec4 diffuseColor = vec4( diffuse, opacity );
3361	#include <clipping_planes_fragment>
3362	ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
3363	vec3 totalEmissiveRadiance = emissive;
3364	#include <logdepthbuf_fragment>
3365	#include <map_fragment>
3366	#include <color_fragment>
3367	#include <alphamap_fragment>
3368	#include <alphatest_fragment>
3369	#include <alphahash_fragment>
3370	#include <roughnessmap_fragment>
3371	#include <metalnessmap_fragment>
3372	#include <normal_fragment_begin>
3373	#include <normal_fragment_maps>
3374	#include <clearcoat_normal_fragment_begin>
3375	#include <clearcoat_normal_fragment_maps>
3376	#include <emissivemap_fragment>
3377	#include <lights_physical_fragment>
3378	#include <lights_fragment_begin>
3379	#include <lights_fragment_maps>
3380	#include <lights_fragment_end>
3381	#include <aomap_fragment>
3382	vec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;
3383	vec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;
3384	#include <transmission_fragment>
3385	vec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;
3386	#ifdef USE_SHEEN
3387		float sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );
3388		outgoingLight = outgoingLight * sheenEnergyComp + sheenSpecularDirect + sheenSpecularIndirect;
3389	#endif
3390	#ifdef USE_CLEARCOAT
3391		float dotNVcc = saturate( dot( geometryClearcoatNormal, geometryViewDir ) );
3392		vec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );
3393		outgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + ( clearcoatSpecularDirect + clearcoatSpecularIndirect ) * material.clearcoat;
3394	#endif
3395	#include <opaque_fragment>
3396	#include <tonemapping_fragment>
3397	#include <colorspace_fragment>
3398	#include <fog_fragment>
3399	#include <premultiplied_alpha_fragment>
3400	#include <dithering_fragment>
3401}`,GG=`#define TOON
3402varying vec3 vViewPosition;
3403#include <common>
3404#include <batching_pars_vertex>
3405#include <uv_pars_vertex>
3406#include <displacementmap_pars_vertex>
3407#include <color_pars_vertex>
3408#include <fog_pars_vertex>
3409#include <normal_pars_vertex>
3410#include <morphtarget_pars_vertex>
3411#include <skinning_pars_vertex>
3412#include <shadowmap_pars_vertex>
3413#include <logdepthbuf_pars_vertex>
3414#include <clipping_planes_pars_vertex>
3415void main() {
3416	#include <uv_vertex>
3417	#include <color_vertex>
3418	#include <morphinstance_vertex>
3419	#include <morphcolor_vertex>
3420	#include <batching_vertex>
3421	#include <beginnormal_vertex>
3422	#include <morphnormal_vertex>
3423	#include <skinbase_vertex>
3424	#include <skinnormal_vertex>
3425	#include <defaultnormal_vertex>
3426	#include <normal_vertex>
3427	#include <begin_vertex>
3428	#include <morphtarget_vertex>
3429	#include <skinning_vertex>
3430	#include <displacementmap_vertex>
3431	#include <project_vertex>
3432	#include <logdepthbuf_vertex>
3433	#include <clipping_planes_vertex>
3434	vViewPosition = - mvPosition.xyz;
3435	#include <worldpos_vertex>
3436	#include <shadowmap_vertex>
3437	#include <fog_vertex>
3438}`,VG=`#define TOON
3439uniform vec3 diffuse;
3440uniform vec3 emissive;
3441uniform float opacity;
3442#include <common>
3443#include <packing>
3444#include <dithering_pars_fragment>
3445#include <color_pars_fragment>
3446#include <uv_pars_fragment>
3447#include <map_pars_fragment>
3448#include <alphamap_pars_fragment>
3449#include <alphatest_pars_fragment>
3450#include <alphahash_pars_fragment>
3451#include <aomap_pars_fragment>
3452#include <lightmap_pars_fragment>
3453#include <emissivemap_pars_fragment>
3454#include <gradientmap_pars_fragment>
3455#include <fog_pars_fragment>
3456#include <bsdfs>
3457#include <lights_pars_begin>
3458#include <normal_pars_fragment>
3459#include <lights_toon_pars_fragment>
3460#include <shadowmap_pars_fragment>
3461#include <bumpmap_pars_fragment>
3462#include <normalmap_pars_fragment>
3463#include <logdepthbuf_pars_fragment>
3464#include <clipping_planes_pars_fragment>
3465void main() {
3466	vec4 diffuseColor = vec4( diffuse, opacity );
3467	#include <clipping_planes_fragment>
3468	ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
3469	vec3 totalEmissiveRadiance = emissive;
3470	#include <logdepthbuf_fragment>
3471	#include <map_fragment>
3472	#include <color_fragment>
3473	#include <alphamap_fragment>
3474	#include <alphatest_fragment>
3475	#include <alphahash_fragment>
3476	#include <normal_fragment_begin>
3477	#include <normal_fragment_maps>
3478	#include <emissivemap_fragment>
3479	#include <lights_toon_fragment>
3480	#include <lights_fragment_begin>
3481	#include <lights_fragment_maps>
3482	#include <lights_fragment_end>
3483	#include <aomap_fragment>
3484	vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;
3485	#include <opaque_fragment>
3486	#include <tonemapping_fragment>
3487	#include <colorspace_fragment>
3488	#include <fog_fragment>
3489	#include <premultiplied_alpha_fragment>
3490	#include <dithering_fragment>
3491}`,kG=`uniform float size;
3492uniform float scale;
3493#include <common>
3494#include <color_pars_vertex>
3495#include <fog_pars_vertex>
3496#include <morphtarget_pars_vertex>
3497#include <logdepthbuf_pars_vertex>
3498#include <clipping_planes_pars_vertex>
3499#ifdef USE_POINTS_UV
3500	varying vec2 vUv;
3501	uniform mat3 uvTransform;
3502#endif
3503void main() {
3504	#ifdef USE_POINTS_UV
3505		vUv = ( uvTransform * vec3( uv, 1 ) ).xy;
3506	#endif
3507	#include <color_vertex>
3508	#include <morphinstance_vertex>
3509	#include <morphcolor_vertex>
3510	#include <begin_vertex>
3511	#include <morphtarget_vertex>
3512	#include <project_vertex>
3513	gl_PointSize = size;
3514	#ifdef USE_SIZEATTENUATION
3515		bool isPerspective = isPerspectiveMatrix( projectionMatrix );
3516		if ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );
3517	#endif
3518	#include <logdepthbuf_vertex>
3519	#include <clipping_planes_vertex>
3520	#include <worldpos_vertex>
3521	#include <fog_vertex>
3522}`,XG=`uniform vec3 diffuse;
3523uniform float opacity;
3524#include <common>
3525#include <color_pars_fragment>
3526#include <map_particle_pars_fragment>
3527#include <alphatest_pars_fragment>
3528#include <alphahash_pars_fragment>
3529#include <fog_pars_fragment>
3530#include <logdepthbuf_pars_fragment>
3531#include <clipping_planes_pars_fragment>
3532void main() {
3533	vec4 diffuseColor = vec4( diffuse, opacity );
3534	#include <clipping_planes_fragment>
3535	vec3 outgoingLight = vec3( 0.0 );
3536	#include <logdepthbuf_fragment>
3537	#include <map_particle_fragment>
3538	#include <color_fragment>
3539	#include <alphatest_fragment>
3540	#include <alphahash_fragment>
3541	outgoingLight = diffuseColor.rgb;
3542	#include <opaque_fragment>
3543	#include <tonemapping_fragment>
3544	#include <colorspace_fragment>
3545	#include <fog_fragment>
3546	#include <premultiplied_alpha_fragment>
3547}`,YG=`#include <common>
3548#include <batching_pars_vertex>
3549#include <fog_pars_vertex>
3550#include <morphtarget_pars_vertex>
3551#include <skinning_pars_vertex>
3552#include <logdepthbuf_pars_vertex>
3553#include <shadowmap_pars_vertex>
3554void main() {
3555	#include <batching_vertex>
3556	#include <beginnormal_vertex>
3557	#include <morphinstance_vertex>
3558	#include <morphnormal_vertex>
3559	#include <skinbase_vertex>
3560	#include <skinnormal_vertex>
3561	#include <defaultnormal_vertex>
3562	#include <begin_vertex>
3563	#include <morphtarget_vertex>
3564	#include <skinning_vertex>
3565	#include <project_vertex>
3566	#include <logdepthbuf_vertex>
3567	#include <worldpos_vertex>
3568	#include <shadowmap_vertex>
3569	#include <fog_vertex>
3570}`,jG=`uniform vec3 color;
3571uniform float opacity;
3572#include <common>
3573#include <packing>
3574#include <fog_pars_fragment>
3575#include <bsdfs>
3576#include <lights_pars_begin>
3577#include <logdepthbuf_pars_fragment>
3578#include <shadowmap_pars_fragment>
3579#include <shadowmask_pars_fragment>
3580void main() {
3581	#include <logdepthbuf_fragment>
3582	gl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );
3583	#include <tonemapping_fragment>
3584	#include <colorspace_fragment>
3585	#include <fog_fragment>
3586}`,qG=`uniform float rotation;
3587uniform vec2 center;
3588#include <common>
3589#include <uv_pars_vertex>
3590#include <fog_pars_vertex>
3591#include <logdepthbuf_pars_vertex>
3592#include <clipping_planes_pars_vertex>
3593void main() {
3594	#include <uv_vertex>
3595	vec4 mvPosition = modelViewMatrix[ 3 ];
3596	vec2 scale = vec2( length( modelMatrix[ 0 ].xyz ), length( modelMatrix[ 1 ].xyz ) );
3597	#ifndef USE_SIZEATTENUATION
3598		bool isPerspective = isPerspectiveMatrix( projectionMatrix );
3599		if ( isPerspective ) scale *= - mvPosition.z;
3600	#endif
3601	vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;
3602	vec2 rotatedPosition;
3603	rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;
3604	rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;
3605	mvPosition.xy += rotatedPosition;
3606	gl_Position = projectionMatrix * mvPosition;
3607	#include <logdepthbuf_vertex>
3608	#include <clipping_planes_vertex>
3609	#include <fog_vertex>
3610}`,WG=`uniform vec3 diffuse;
3611uniform float opacity;
3612#include <common>
3613#include <uv_pars_fragment>
3614#include <map_pars_fragment>
3615#include <alphamap_pars_fragment>
3616#include <alphatest_pars_fragment>
3617#include <alphahash_pars_fragment>
3618#include <fog_pars_fragment>
3619#include <logdepthbuf_pars_fragment>
3620#include <clipping_planes_pars_fragment>
3621void main() {
3622	vec4 diffuseColor = vec4( diffuse, opacity );
3623	#include <clipping_planes_fragment>
3624	vec3 outgoingLight = vec3( 0.0 );
3625	#include <logdepthbuf_fragment>
3626	#include <map_fragment>
3627	#include <alphamap_fragment>
3628	#include <alphatest_fragment>
3629	#include <alphahash_fragment>
3630	outgoingLight = diffuseColor.rgb;
3631	#include <opaque_fragment>
3632	#include <tonemapping_fragment>
3633	#include <colorspace_fragment>
3634	#include <fog_fragment>
3635}`,gn={alphahash_fragment:gz,alphahash_pars_fragment:vz,alphamap_fragment:yz,alphamap_pars_fragment:_z,alphatest_fragment:xz,alphatest_pars_fragment:Sz,aomap_fragment:Az,aomap_pars_fragment:bz,batching_pars_vertex:Mz,batching_vertex:Ez,begin_vertex:Tz,beginnormal_vertex:Cz,bsdfs:wz,iridescence_fragment:Rz,bumpmap_pars_fragment:Bz,clipping_planes_fragment:Dz,clipping_planes_pars_fragment:Oz,clipping_planes_pars_vertex:Nz,clipping_planes_vertex:Lz,color_fragment:Uz,color_pars_fragment:Iz,color_pars_vertex:Pz,color_vertex:Hz,common:zz,cube_uv_reflection_fragment:Fz,defaultnormal_vertex:Gz,displacementmap_pars_vertex:Vz,displacementmap_vertex:kz,emissivemap_fragment:Xz,emissivemap_pars_fragment:Yz,colorspace_fragment:jz,colorspace_pars_fragment:qz,envmap_fragment:Wz,envmap_common_pars_fragment:Jz,envmap_pars_fragment:Kz,envmap_pars_vertex:Qz,envmap_physical_pars_fragment:lF,envmap_vertex:Zz,fog_vertex:$z,fog_pars_vertex:eF,fog_fragment:tF,fog_pars_fragment:nF,gradientmap_pars_fragment:iF,lightmap_pars_fragment:rF,lights_lambert_fragment:sF,lights_lambert_pars_fragment:aF,lights_pars_begin:oF,lights_toon_fragment:cF,lights_toon_pars_fragment:uF,lights_phong_fragment:fF,lights_phong_pars_fragment:hF,lights_physical_fragment:dF,lights_physical_pars_fragment:pF,lights_fragment_begin:mF,lights_fragment_maps:gF,lights_fragment_end:vF,logdepthbuf_fragment:yF,logdepthbuf_pars_fragment:_F,logdepthbuf_pars_vertex:xF,logdepthbuf_vertex:SF,map_fragment:AF,map_pars_fragment:bF,map_particle_fragment:MF,map_particle_pars_fragment:EF,metalnessmap_fragment:TF,metalnessmap_pars_fragment:CF,morphinstance_vertex:wF,morphcolor_vertex:RF,morphnormal_vertex:BF,morphtarget_pars_vertex:DF,morphtarget_vertex:OF,normal_fragment_begin:NF,normal_fragment_maps:LF,normal_pars_fragment:UF,normal_pars_vertex:IF,normal_vertex:PF,normalmap_pars_fragment:HF,clearcoat_normal_fragment_begin:zF,clearcoat_normal_fragment_maps:FF,clearcoat_pars_fragment:GF,iridescence_pars_fragment:VF,opaque_fragment:kF,packing:XF,premultiplied_alpha_fragment:YF,project_vertex:jF,dithering_fragment:qF,dithering_pars_fragment:WF,roughnessmap_fragment:JF,roughnessmap_pars_fragment:KF,shadowmap_pars_fragment:QF,shadowmap_pars_vertex:ZF,shadowmap_vertex:$F,shadowmask_pars_fragment:eG,skinbase_vertex:tG,skinning_pars_vertex:nG,skinning_vertex:iG,skinnormal_vertex:rG,specularmap_fragment:sG,specularmap_pars_fragment:aG,tonemapping_fragment:oG,tonemapping_pars_fragment:lG,transmission_fragment:cG,transmission_pars_fragment:uG,uv_pars_fragment:fG,uv_pars_vertex:hG,uv_vertex:dG,worldpos_vertex:pG,background_vert:mG,background_frag:gG,backgroundCube_vert:vG,backgroundCube_frag:yG,cube_vert:_G,cube_frag:xG,depth_vert:SG,depth_frag:AG,distanceRGBA_vert:bG,distanceRGBA_frag:MG,equirect_vert:EG,equirect_frag:TG,linedashed_vert:CG,linedashed_frag:wG,meshbasic_vert:RG,meshbasic_frag:BG,meshlambert_vert:DG,meshlambert_frag:OG,meshmatcap_vert:NG,meshmatcap_frag:LG,meshnormal_vert:UG,meshnormal_frag:IG,meshphong_vert:PG,meshphong_frag:HG,meshphysical_vert:zG,meshphysical_frag:FG,meshtoon_vert:GG,meshtoon_frag:VG,points_vert:kG,points_frag:XG,shadow_vert:YG,shadow_frag:jG,sprite_vert:qG,sprite_frag:WG},mt={common:{diffuse:{value:new dt(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new un},alphaMap:{value:null},alphaMapTransform:{value:new un},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new un}},envmap:{envMap:{value:null},envMapRotation:{value:new un},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new un}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new un}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new un},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new un},normalScale:{value:new qe(1,1)}}
vendor: 7,102 bytes, line 3635
3635,displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new un},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new un}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new un}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new un}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new dt(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new dt(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new un},alphaTest:{value:0},uvTransform:{value:new un}},sprite:{diffuse:{value:new dt(16777215)},opacity:{value:1},center:{value:new qe(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new un},alphaMap:{value:null},alphaMapTransform:{value:new un},alphaTest:{value:0}}},ol={basic:{uniforms:ks([mt.common,mt.specularmap,mt.envmap,mt.aomap,mt.lightmap,mt.fog]),vertexShader:gn.meshbasic_vert,fragmentShader:gn.meshbasic_frag},lambert:{uniforms:ks([mt.common,mt.specularmap,mt.envmap,mt.aomap,mt.lightmap,mt.emissivemap,mt.bumpmap,mt.normalmap,mt.displacementmap,mt.fog,mt.lights,{emissive:{value:new dt(0)}}]),vertexShader:gn.meshlambert_vert,fragmentShader:gn.meshlambert_frag},phong:{uniforms:ks([mt.common,mt.specularmap,mt.envmap,mt.aomap,mt.lightmap,mt.emissivemap,mt.bumpmap,mt.normalmap,mt.displacementmap,mt.fog,mt.lights,{emissive:{value:new dt(0)},specular:{value:new dt(1118481)},shininess:{value:30}}]),vertexShader:gn.meshphong_vert,fragmentShader:gn.meshphong_frag},standard:{uniforms:ks([mt.common,mt.envmap,mt.aomap,mt.lightmap,mt.emissivemap,mt.bumpmap,mt.normalmap,mt.displacementmap,mt.roughnessmap,mt.metalnessmap,mt.fog,mt.lights,{emissive:{value:new dt(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:gn.meshphysical_vert,fragmentShader:gn.meshphysical_frag},toon:{uniforms:ks([mt.common,mt.aomap,mt.lightmap,mt.emissivemap,mt.bumpmap,mt.normalmap,mt.displacementmap,mt.gradientmap,mt.fog,mt.lights,{emissive:{value:new dt(0)}}]),vertexShader:gn.meshtoon_vert,fragmentShader:gn.meshtoon_frag},matcap:{uniforms:ks([mt.common,mt.bumpmap,mt.normalmap,mt.displacementmap,mt.fog,{matcap:{value:null}}]),vertexShader:gn.meshmatcap_vert,fragmentShader:gn.meshmatcap_frag},points:{uniforms:ks([mt.points,mt.fog]),vertexShader:gn.points_vert,fragmentShader:gn.points_frag},dashed:{uniforms:ks([mt.common,mt.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:gn.linedashed_vert,fragmentShader:gn.linedashed_frag},depth:{uniforms:ks([mt.common,mt.displacementmap]),vertexShader:gn.depth_vert,fragmentShader:gn.depth_frag},normal:{uniforms:ks([mt.common,mt.bumpmap,mt.normalmap,mt.displacementmap,{opacity:{value:1}}]),vertexShader:gn.meshnormal_vert,fragmentShader:gn.meshnormal_frag},sprite:{uniforms:ks([mt.sprite,mt.fog]),vertexShader:gn.sprite_vert,fragmentShader:gn.sprite_frag},background:{uniforms:{uvTransform:{value:new un},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:gn.background_vert,fragmentShader:gn.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new un}},vertexShader:gn.backgroundCube_vert,fragmentShader:gn.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:gn.cube_vert,fragmentShader:gn.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:gn.equirect_vert,fragmentShader:gn.equirect_frag},distanceRGBA:{uniforms:ks([mt.common,mt.displacementmap,{referencePosition:{value:new Z},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:gn.distanceRGBA_vert,fragmentShader:gn.distanceRGBA_frag},shadow:{uniforms:ks([mt.lights,mt.fog,{color:{value:new dt(0)},opacity:{value:1}}]),vertexShader:gn.shadow_vert,fragmentShader:gn.shadow_frag}};ol.physical={uniforms:ks([ol.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new un},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new un},clearcoatNormalScale:{value:new qe(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new un},dispersion:{value:0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new un},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new un},sheen:{value:0},sheenColor:{value:new dt(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new un},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new un},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new un},transmissionSamplerSize:{value:new qe},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new un},attenuationDistance:{value:0},attenuationColor:{value:new dt(0)},specularColor:{value:new dt(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new un},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new un},anisotropyVector:{value:new qe},anisotropyMap:{value:null},anisotropyMapTransform:{value:new un}}]),vertexShader:gn.meshphysical_vert,fragmentShader:gn.meshphysical_frag};const Ax={r:0,b:0,g:0},Fh=new Ja,JG=new Yt;function KG(r,e,t,n,i,s,o){const c=new dt(0);let f=s===!0?0:1,d,m,g=null,y=0,_=null;function S(D){let B=D.isScene===!0?D.background:null;return B&&B.isTexture&&(B=(D.backgroundBlurriness>0?t:e).get(B)),B}function M(D){let B=!1;const I=S(D);I===null?A(c,f):I&&I.isColor&&(A(I,1),B=!0);const O=r.xr.getEnvironmentBlendMode();
vendor: 6,467 bytes, line 3635
3635O==="additive"?n.buffers.color.setClear(0,0,0,1,o):O==="alpha-blend"&&n.buffers.color.setClear(0,0,0,0,o),(r.autoClear||B)&&(n.buffers.depth.setTest(!0),n.buffers.depth.setMask(!0),n.buffers.color.setMask(!0),r.clear(r.autoClearColor,r.autoClearDepth,r.autoClearStencil))}function b(D,B){const I=S(B);I&&(I.isCubeTexture||I.mapping===Xm)?(m===void 0&&(m=new nr(new Td(1,1,1),new ul({name:"BackgroundCubeMaterial",uniforms:Om(ol.backgroundCube.uniforms),vertexShader:ol.backgroundCube.vertexShader,fragmentShader:ol.backgroundCube.fragmentShader,side:Zs,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),m.geometry.deleteAttribute("normal"),m.geometry.deleteAttribute("uv"),m.onBeforeRender=function(O,U,z){this.matrixWorld.copyPosition(z.matrixWorld)},Object.defineProperty(m.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(m)),Fh.copy(B.backgroundRotation),Fh.x*=-1,Fh.y*=-1,Fh.z*=-1,I.isCubeTexture&&I.isRenderTargetTexture===!1&&(Fh.y*=-1,Fh.z*=-1),m.material.uniforms.envMap.value=I,m.material.uniforms.flipEnvMap.value=I.isCubeTexture&&I.isRenderTargetTexture===!1?-1:1,m.material.uniforms.backgroundBlurriness.value=B.backgroundBlurriness,m.material.uniforms.backgroundIntensity.value=B.backgroundIntensity,m.material.uniforms.backgroundRotation.value.setFromMatrix4(JG.makeRotationFromEuler(Fh)),m.material.toneMapped=Un.getTransfer(I.colorSpace)!==ri,(g!==I||y!==I.version||_!==r.toneMapping)&&(m.material.needsUpdate=!0,g=I,y=I.version,_=r.toneMapping),m.layers.enableAll(),D.unshift(m,m.geometry,m.material,0,0,null)):I&&I.isTexture&&(d===void 0&&(d=new nr(new Wm(2,2),new ul({name:"BackgroundMaterial",uniforms:Om(ol.background.uniforms),vertexShader:ol.background.vertexShader,fragmentShader:ol.background.fragmentShader,side:rc,depthTest:!1,depthWrite:!1,fog:!1,allowOverride:!1})),d.geometry.deleteAttribute("normal"),Object.defineProperty(d.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(d)),d.material.uniforms.t2D.value=I,d.material.uniforms.backgroundIntensity.value=B.backgroundIntensity,d.material.toneMapped=Un.getTransfer(I.colorSpace)!==ri,I.matrixAutoUpdate===!0&&I.updateMatrix(),d.material.uniforms.uvTransform.value.copy(I.matrix),(g!==I||y!==I.version||_!==r.toneMapping)&&(d.material.needsUpdate=!0,g=I,y=I.version,_=r.toneMapping),d.layers.enableAll(),D.unshift(d,d.geometry,d.material,0,0,null))}function A(D,B){D.getRGB(Ax,WD(r)),n.buffers.color.setClear(Ax.r,Ax.g,Ax.b,B,o)}function w(){m!==void 0&&(m.geometry.dispose(),m.material.dispose(),m=void 0),d!==void 0&&(d.geometry.dispose(),d.material.dispose(),d=void 0)}return{getClearColor:function(){return c},setClearColor:function(D,B=1){c.set(D),f=B,A(c,f)},getClearAlpha:function(){return f},setClearAlpha:function(D){f=D,A(c,f)},render:M,addToRenderList:b,dispose:w}}function QG(r,e){const t=r.getParameter(r.MAX_VERTEX_ATTRIBS),n={},i=y(null);let s=i,o=!1;function c(N,G,X,Q,te){let le=!1;const k=g(Q,X,G);s!==k&&(s=k,d(s.object)),le=_(N,Q,X,te),le&&S(N,Q,X,te),te!==null&&e.update(te,r.ELEMENT_ARRAY_BUFFER),(le||o)&&(o=!1,B(N,G,X,Q),te!==null&&r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,e.get(te).buffer))}function f(){return r.createVertexArray()}function d(N){return r.bindVertexArray(N)}function m(N){return r.deleteVertexArray(N)}function g(N,G,X){const Q=X.wireframe===!0;let te=n[N.id];te===void 0&&(te={},n[N.id]=te);let le=te[G.id];le===void 0&&(le={},te[G.id]=le);let k=le[Q];return k===void 0&&(k=y(f()),le[Q]=k),k}function y(N){const G=[],X=[],Q=[];for(let te=0;te<t;te++)G[te]=0,X[te]=0,Q[te]=0;return{geometry:null,program:null,wireframe:!1,newAttributes:G,enabledAttributes:X,attributeDivisors:Q,object:N,attributes:{},index:null}}function _(N,G,X,Q){const te=s.attributes,le=G.attributes;let k=0;const W=X.getAttributes();for(const ee in W)if(W[ee].location>=0){const H=te[ee];let re=le[ee];if(re===void 0&&(ee==="instanceMatrix"&&N.instanceMatrix&&(re=N.instanceMatrix),ee==="instanceColor"&&N.instanceColor&&(re=N.instanceColor)),H===void 0||H.attribute!==re||re&&H.data!==re.data)return!0;k++}return s.attributesNum!==k||s.index!==Q}function S(N,G,X,Q){const te={},le=G.attributes;let k=0;const W=X.getAttributes();for(const ee in W)if(W[ee].location>=0){let H=le[ee];H===void 0&&(ee==="instanceMatrix"&&N.instanceMatrix&&(H=N.instanceMatrix),ee==="instanceColor"&&N.instanceColor&&(H=N.instanceColor));const re={};re.attribute=H,H&&H.data&&(re.data=H.data),te[ee]=re,k++}s.attributes=te,s.attributesNum=k,s.index=Q}function M(){const N=s.newAttributes;for(let G=0,X=N.length;G<X;G++)N[G]=0}function b(N){A(N,0)}function A(N,G){const X=s.newAttributes,Q=s.enabledAttributes,te=s.attributeDivisors;X[N]=1,Q[N]===0&&(r.enableVertexAttribArray(N),Q[N]=1),te[N]!==G&&(r.vertexAttribDivisor(N,G),te[N]=G)}function w(){const N=s.newAttributes,G=s.enabledAttributes;for(let X=0,Q=G.length;X<Q;X++)G[X]!==N[X]&&(r.disableVertexAttribArray(X),G[X]=0)}function D(N,G,X,Q,te,le,k){k===!0?r.vertexAttribIPointer(N,G,X,te,le):r.vertexAttribPointer(N,G,X,Q,te,le)}function B(N,G,X,Q){M();const te=Q.attributes,le=X.getAttributes(),k=G.defaultAttributeValues;for(const W in le){const ee=le[W];if(ee.location>=0){let pe=te[W];if(pe===void 0&&(W==="instanceMatrix"&&N.instanceMatrix&&(pe=N.instanceMatrix),W==="instanceColor"&&N.instanceColor&&(pe=N.instanceColor)),pe!==void 0){const H=pe.normalized,re=pe.itemSize,ye=e.get(pe);if(ye===void 0)continue;const Ae=ye.buffer,Te=ye.type,he=ye.bytesPerElement,xe=Te===r.INT||Te===r.UNSIGNED_INT||pe.gpuType===DA;if(pe.isInterleavedBufferAttribute){const Ne=pe.data,Oe=Ne.stride,We=pe.offset;if(Ne.isInstancedInterleavedBuffer){for(let gt=0;gt<ee.locationSize;gt++)A(ee.location+gt,Ne.meshPerAttribute);N.isInstancedMesh!==!0&&Q._maxInstanceCount===void 0&&(Q._maxInstanceCount=Ne.meshPerAttribute*Ne.count)}else for(let gt=0;gt<ee.locationSize;gt++)b(ee.location+gt);r.bindBuffer(r.ARRAY_BUFFER,Ae);for(let gt=0;gt<ee.locationSize;gt++)D(ee.location+gt,re/ee.locationSize,Te,H,Oe*he,(We+re/ee.locationSize*gt)*he,xe)}else{if(pe.isInstancedBufferAttribute){for(let Ne=0;Ne<ee.locationSize;Ne++)A(ee.location+Ne,pe.meshPerAttribute);N.isInstancedMesh!==!0&&Q._maxInstanceCount===void 0&&(Q._maxInstanceCount=pe.meshPerAttribute*pe.count)}else for(let Ne=0;Ne<ee.locationSize;Ne++)b(ee.location+Ne);r.bindBuffer(r.ARRAY_BUFFER,Ae);for(let Ne=0;Ne<ee.locationSize;Ne++)D(ee.location+Ne,re/ee.locationSize,Te,H,re*he,re/ee.locationSize*Ne*he,xe)}}else if(k!==void 0){const H=k[W];
vendor: 1,397 bytes, line 3635
3635if(H!==void 0)switch(H.length){case 2:r.vertexAttrib2fv(ee.location,H);break;case 3:r.vertexAttrib3fv(ee.location,H);break;case 4:r.vertexAttrib4fv(ee.location,H);break;default:r.vertexAttrib1fv(ee.location,H)}}}}w()}function I(){z();for(const N in n){const G=n[N];for(const X in G){const Q=G[X];for(const te in Q)m(Q[te].object),delete Q[te];delete G[X]}delete n[N]}}function O(N){if(n[N.id]===void 0)return;const G=n[N.id];for(const X in G){const Q=G[X];for(const te in Q)m(Q[te].object),delete Q[te];delete G[X]}delete n[N.id]}function U(N){for(const G in n){const X=n[G];if(X[N.id]===void 0)continue;const Q=X[N.id];for(const te in Q)m(Q[te].object),delete Q[te];delete X[N.id]}}function z(){P(),o=!0,s!==i&&(s=i,d(s.object))}function P(){i.geometry=null,i.program=null,i.wireframe=!1}return{setup:c,reset:z,resetDefaultState:P,dispose:I,releaseStatesOfGeometry:O,releaseStatesOfProgram:U,initAttributes:M,enableAttribute:b,disableUnusedAttributes:w}}function ZG(r,e,t){let n;function i(d){n=d}function s(d,m){r.drawArrays(n,d,m),t.update(m,n,1)}function o(d,m,g){g!==0&&(r.drawArraysInstanced(n,d,m,g),t.update(m,n,g))}function c(d,m,g){if(g===0)return;e.get("WEBGL_multi_draw").multiDrawArraysWEBGL(n,d,0,m,0,g);let _=0;for(let S=0;S<g;S++)_+=m[S];t.update(_,n,1)}function f(d,m,g,y){if(g===0)return;const _=e.get("WEBGL_multi_draw");if(_===null)for(let S=0;S<d.length;S++)o(d[S],m[S],y[S]);
vendor: 12,668 bytes, lines 3635-3710
3635else{_.multiDrawArraysInstancedWEBGL(n,d,0,m,0,y,0,g);let S=0;for(let M=0;M<g;M++)S+=m[M]*y[M];t.update(S,n,1)}}this.setMode=i,this.render=s,this.renderInstances=o,this.renderMultiDraw=c,this.renderMultiDrawInstances=f}function $G(r,e,t,n){let i;function s(){if(i!==void 0)return i;if(e.has("EXT_texture_filter_anisotropic")===!0){const U=e.get("EXT_texture_filter_anisotropic");i=r.getParameter(U.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else i=0;return i}function o(U){return!(U!==xs&&n.convert(U)!==r.getParameter(r.IMPLEMENTATION_COLOR_READ_FORMAT))}function c(U){const z=U===Ym&&(e.has("EXT_color_buffer_half_float")||e.has("EXT_color_buffer_float"));return!(U!==wo&&n.convert(U)!==r.getParameter(r.IMPLEMENTATION_COLOR_READ_TYPE)&&U!==va&&!z)}function f(U){if(U==="highp"){if(r.getShaderPrecisionFormat(r.VERTEX_SHADER,r.HIGH_FLOAT).precision>0&&r.getShaderPrecisionFormat(r.FRAGMENT_SHADER,r.HIGH_FLOAT).precision>0)return"highp";U="mediump"}return U==="mediump"&&r.getShaderPrecisionFormat(r.VERTEX_SHADER,r.MEDIUM_FLOAT).precision>0&&r.getShaderPrecisionFormat(r.FRAGMENT_SHADER,r.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}let d=t.precision!==void 0?t.precision:"highp";const m=f(d);m!==d&&(console.warn("THREE.WebGLRenderer:",d,"not supported, using",m,"instead."),d=m);const g=t.logarithmicDepthBuffer===!0,y=t.reversedDepthBuffer===!0&&e.has("EXT_clip_control"),_=r.getParameter(r.MAX_TEXTURE_IMAGE_UNITS),S=r.getParameter(r.MAX_VERTEX_TEXTURE_IMAGE_UNITS),M=r.getParameter(r.MAX_TEXTURE_SIZE),b=r.getParameter(r.MAX_CUBE_MAP_TEXTURE_SIZE),A=r.getParameter(r.MAX_VERTEX_ATTRIBS),w=r.getParameter(r.MAX_VERTEX_UNIFORM_VECTORS),D=r.getParameter(r.MAX_VARYING_VECTORS),B=r.getParameter(r.MAX_FRAGMENT_UNIFORM_VECTORS),I=S>0,O=r.getParameter(r.MAX_SAMPLES);return{isWebGL2:!0,getMaxAnisotropy:s,getMaxPrecision:f,textureFormatReadable:o,textureTypeReadable:c,precision:d,logarithmicDepthBuffer:g,reversedDepthBuffer:y,maxTextures:_,maxVertexTextures:S,maxTextureSize:M,maxCubemapSize:b,maxAttributes:A,maxVertexUniforms:w,maxVaryings:D,maxFragmentUniforms:B,vertexTextures:I,maxSamples:O}}function e4(r){const e=this;let t=null,n=0,i=!1,s=!1;const o=new ff,c=new un,f={value:null,needsUpdate:!1};this.uniform=f,this.numPlanes=0,this.numIntersection=0,this.init=function(g,y){const _=g.length!==0||y||n!==0||i;return i=y,n=g.length,_},this.beginShadows=function(){s=!0,m(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(g,y){t=m(g,y,0)},this.setState=function(g,y,_){const S=g.clippingPlanes,M=g.clipIntersection,b=g.clipShadows,A=r.get(g);if(!i||S===null||S.length===0||s&&!b)s?m(null):d();else{const w=s?0:n,D=w*4;let B=A.clippingState||null;f.value=B,B=m(S,y,D,_);for(let I=0;I!==D;++I)B[I]=t[I];A.clippingState=B,this.numIntersection=M?this.numPlanes:0,this.numPlanes+=w}};function d(){f.value!==t&&(f.value=t,f.needsUpdate=n>0),e.numPlanes=n,e.numIntersection=0}function m(g,y,_,S){const M=g!==null?g.length:0;let b=null;if(M!==0){if(b=f.value,S!==!0||b===null){const A=_+M*4,w=y.matrixWorldInverse;c.getNormalMatrix(w),(b===null||b.length<A)&&(b=new Float32Array(A));for(let D=0,B=_;D!==M;++D,B+=4)o.copy(g[D]).applyMatrix4(w,c),o.normal.toArray(b,B),b[B+3]=o.constant}f.value=b,f.needsUpdate=!0}return e.numPlanes=M,e.numIntersection=0,b}}function t4(r){let e=new WeakMap;function t(o,c){return c===vv?o.mapping=iu:c===yv&&(o.mapping=Mf),o}function n(o){if(o&&o.isTexture){const c=o.mapping;if(c===vv||c===yv)if(e.has(o)){const f=e.get(o).texture;return t(f,o.mapping)}else{const f=o.image;if(f&&f.height>0){const d=new QD(f.height);return d.fromEquirectangularTexture(r,o),e.set(o,d),o.addEventListener("dispose",i),t(d.texture,o.mapping)}else return null}}return o}function i(o){const c=o.target;c.removeEventListener("dispose",i);const f=e.get(c);f!==void 0&&(e.delete(c),f.dispose())}function s(){e=new WeakMap}return{get:n,dispose:s}}const lm=4,BR=[.125,.215,.35,.446,.526,.582],Kh=20,XM=new Km,DR=new dt;let YM=null,jM=0,qM=0,WM=!1;const jh=(1+Math.sqrt(5))/2,Qp=1/jh,OR=[new Z(-jh,Qp,0),new Z(jh,Qp,0),new Z(-Qp,0,jh),new Z(Qp,0,jh),new Z(0,jh,-Qp),new Z(0,jh,Qp),new Z(-1,1,-1),new Z(1,1,-1),new Z(-1,1,1),new Z(1,1,1)],n4=new Z;class nE{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,n=.1,i=100,s={}){const{size:o=256,position:c=n4}=s;YM=this._renderer.getRenderTarget(),jM=this._renderer.getActiveCubeFace(),qM=this._renderer.getActiveMipmapLevel(),WM=this._renderer.xr.enabled,this._renderer.xr.enabled=!1,this._setSize(o);const f=this._allocateTargets();return f.depthBuffer=!0,this._sceneToCubeUV(e,n,i,f,c),t>0&&this._blur(f,0,0,t),this._applyPMREM(f),this._cleanup(f),f}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=UR(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=LR(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e<this._lodPlanes.length;e++)this._lodPlanes[e].dispose()}_cleanup(e){this._renderer.setRenderTarget(YM,jM,qM),this._renderer.xr.enabled=WM,e.scissorTest=!1,bx(e,0,0,e.width,e.height)}_fromTexture(e,t){e.mapping===iu||e.mapping===Mf?this._setSize(e.image.length===0?16:e.image[0].width||e.image[0].image.width):this._setSize(e.image.width/4),YM=this._renderer.getRenderTarget(),jM=this._renderer.getActiveCubeFace(),qM=this._renderer.getActiveMipmapLevel(),WM=this._renderer.xr.enabled,this._renderer.xr.enabled=!1;const n=t||this._allocateTargets();return this._textureToCubeUV(e,n),this._applyPMREM(n),this._cleanup(n),n}_allocateTargets(){const e=3*Math.max(this._cubeSize,112),t=4*this._cubeSize,n={magFilter:tr,minFilter:tr,generateMipmaps:!1,type:Ym,format:xs,colorSpace:Tf,depthBuffer:!1},i=NR(e,t,n);if(this._pingPongRenderTarget===null||this._pingPongRenderTarget.width!==e||this._pingPongRenderTarget.height!==t){this._pingPongRenderTarget!==null&&this._dispose(),this._pingPongRenderTarget=NR(e,t,n);const{_lodMax:s}=this;({sizeLods:this._sizeLods,lodPlanes:this._lodPlanes,sigmas:this._sigmas}=i4(s)),this._blurMaterial=r4(s,e,t)}return i}_compileMaterial(e){const t=new nr(this._lodPlanes[0],e);this._renderer.compile(t,XM)}_sceneToCubeUV(e,t,n,i,s){const f=new wr(90,1,t,n),d=[1,-1,1,1,1,1],m=[1,1,1,-1,-1,-1],g=this._renderer,y=g.autoClear,_=g.toneMapping;g.getClearColor(DR),g.toneMapping=tc,g.autoClear=!1,g.state.buffers.depth.getReversed()&&(g.setRenderTarget(i),g.clearDepth(),g.setRenderTarget(null));const M=new Ya({name:"PMREM.Background",side:Zs,depthWrite:!1,depthTest:!1}),b=new nr(new Td,M);let A=!1;const w=e.background;w?w.isColor&&(M.color.copy(w),e.background=null,A=!0):(M.color.copy(DR),A=!0);for(let D=0;D<6;D++){const B=D%3;B===0?(f.up.set(0,d[D],0),f.position.set(s.x,s.y,s.z),f.lookAt(s.x+m[D],s.y,s.z)):B===1?(f.up.set(0,0,d[D]),f.position.set(s.x,s.y,s.z),f.lookAt(s.x,s.y+m[D],s.z)):(f.up.set(0,d[D],0),f.position.set(s.x,s.y,s.z),f.lookAt(s.x,s.y,s.z+m[D]));const I=this._cubeSize;bx(i,B*I,D>2?I:0,I,I),g.setRenderTarget(i),A&&g.render(b,f),g.render(e,f)}b.geometry.dispose(),b.material.dispose(),g.toneMapping=_,g.autoClear=y,e.background=w}_textureToCubeUV(e,t){const n=this._renderer,i=e.mapping===iu||e.mapping===Mf;i?(this._cubemapMaterial===null&&(this._cubemapMaterial=UR()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=LR());const s=i?this._cubemapMaterial:this._equirectMaterial,o=new nr(this._lodPlanes[0],s),c=s.uniforms;c.envMap.value=e;const f=this._cubeSize;bx(t,0,0,3*f,2*f),n.setRenderTarget(t),n.render(o,XM)}_applyPMREM(e){const t=this._renderer,n=t.autoClear;t.autoClear=!1;const i=this._lodPlanes.length;for(let s=1;s<i;s++){const o=Math.sqrt(this._sigmas[s]*this._sigmas[s]-this._sigmas[s-1]*this._sigmas[s-1]),c=OR[(i-s-1)%OR.length];this._blur(e,s-1,s,o,c)}t.autoClear=n}_blur(e,t,n,i,s){const o=this._pingPongRenderTarget;this._halfBlur(e,o,t,n,i,"latitudinal",s),this._halfBlur(o,e,n,n,i,"longitudinal",s)}_halfBlur(e,t,n,i,s,o,c){const f=this._renderer,d=this._blurMaterial;o!=="latitudinal"&&o!=="longitudinal"&&console.error("blur direction must be either latitudinal or longitudinal!");const m=3,g=new nr(this._lodPlanes[i],d),y=d.uniforms,_=this._sizeLods[n]-1,S=isFinite(s)?Math.PI/(2*_):2*Math.PI/(2*Kh-1),M=s/S,b=isFinite(s)?1+Math.floor(m*M):Kh;b>Kh&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${b} samples when the maximum is set to ${Kh}`);const A=[];let w=0;for(let U=0;U<Kh;++U){const z=U/M,P=Math.exp(-z*z/2);A.push(P),U===0?w+=P:U<b&&(w+=2*P)}for(let U=0;U<A.length;U++)A[U]=A[U]/w;y.envMap.value=e.texture,y.samples.value=b,y.weights.value=A,y.latitudinal.value=o==="latitudinal",c&&(y.poleAxis.value=c);const{_lodMax:D}=this;y.dTheta.value=S,y.mipInt.value=D-n;const B=this._sizeLods[i],I=3*B*(i>D-lm?i-D+lm:0),O=4*(this._cubeSize-B);bx(t,I,O,3*B,2*B),f.setRenderTarget(t),f.render(g,XM)}}function i4(r){const e=[],t=[],n=[];let i=r;const s=r-lm+1+BR.length;for(let o=0;o<s;o++){const c=Math.pow(2,i);t.push(c);let f=1/c;o>r-lm?f=BR[o-r+lm-1]:o===0&&(f=0),n.push(f);const d=1/(c-2),m=-d,g=1+d,y=[m,m,g,m,g,g,m,m,g,g,m,g],_=6,S=6,M=3,b=2,A=1,w=new Float32Array(M*S*_),D=new Float32Array(b*S*_),B=new Float32Array(A*S*_);for(let O=0;O<_;O++){const U=O%3*2/3-1,z=O>2?0:-1,P=[U,z,0,U+2/3,z,0,U+2/3,z+1,0,U,z,0,U+2/3,z+1,0,U,z+1,0];w.set(P,M*S*O),D.set(y,b*S*O);const N=[O,O,O,O,O,O];B.set(N,A*S*O)}const I=new ln;I.setAttribute("position",new Vn(w,M)),I.setAttribute("uv",new Vn(D,b)),I.setAttribute("faceIndex",new Vn(B,A)),e.push(I),i>lm&&i--}return{lodPlanes:e,sizeLods:t,sigmas:n}}function NR(r,e,t){const n=new sc(r,e,t);return n.texture.mapping=Xm,n.texture.name="PMREM.cubeUv",n.scissorTest=!0,n}function bx(r,e,t,n,i){r.viewport.set(e,t,n,i),r.scissor.set(e,t,n,i)}function r4(r,e,t){const n=new Float32Array(Kh),i=new Z(0,1,0);return new ul({name:"SphericalGaussianBlur",defines:{n:Kh,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/t,CUBEUV_MAX_MIP:`${r}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:n},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:i}},vertexShader:IT(),fragmentShader:`
3636
3637			precision mediump float;
3638			precision mediump int;
3639
3640			varying vec3 vOutputDirection;
3641
3642			uniform sampler2D envMap;
3643			uniform int samples;
3644			uniform float weights[ n ];
3645			uniform bool latitudinal;
3646			uniform float dTheta;
3647			uniform float mipInt;
3648			uniform vec3 poleAxis;
3649
3650			#define ENVMAP_TYPE_CUBE_UV
3651			#include <cube_uv_reflection_fragment>
3652
3653			vec3 getSample( float theta, vec3 axis ) {
3654
3655				float cosTheta = cos( theta );
3656				// Rodrigues' axis-angle rotation
3657				vec3 sampleDirection = vOutputDirection * cosTheta
3658					+ cross( axis, vOutputDirection ) * sin( theta )
3659					+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );
3660
3661				return bilinearCubeUV( envMap, sampleDirection, mipInt );
3662
3663			}
3664
3665			void main() {
3666
3667				vec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );
3668
3669				if ( all( equal( axis, vec3( 0.0 ) ) ) ) {
3670
3671					axis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );
3672
3673				}
3674
3675				axis = normalize( axis );
3676
3677				gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );
3678				gl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );
3679
3680				for ( int i = 1; i < n; i++ ) {
3681
3682					if ( i >= samples ) {
3683
3684						break;
3685
3686					}
3687
3688					float theta = dTheta * float( i );
3689					gl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );
3690					gl_FragColor.rgb += weights[ i ] * getSample( theta, axis );
3691
3692				}
3693
3694			}
3695		`,blending:Zc,depthTest:!1,depthWrite:!1})}function LR(){return new ul({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:IT(),fragmentShader:`
3696
3697			precision mediump float;
3698			precision mediump int;
3699
3700			varying vec3 vOutputDirection;
3701
3702			uniform sampler2D envMap;
3703
3704			#include <common>
3705
3706			void main() {
3707
3708				vec3 outputDirection = normalize( vOutputDirection );
3709				vec2 uv = equirectUv( outputDirection );
3710
3711				gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 );
3712
3713			}
3714		`,blending:Zc,depthTest:!1,depthWrite:!1})}function UR(){return new ul({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:IT(),fragmentShader:`
3715
3716			precision mediump float;
3717			precision mediump int;
3718
3719			uniform float flipEnvMap;
3720
3721			varying vec3 vOutputDirection;
3722
3723			uniform samplerCube envMap;
3724
3725			void main() {
3726
3727				gl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) );
3728
3729			}
3730		`,blending:Zc,depthTest:!1,depthWrite:!1})}function IT(){return`
3731
3732		precision mediump float;
3733		precision mediump int;
3734
3735		attribute float faceIndex;
3736
3737		varying vec3 vOutputDirection;
3738
3739		// RH coordinate system; PMREM face-indexing convention
3740		vec3 getDirection( vec2 uv, float face ) {
3741
3742			uv = 2.0 * uv - 1.0;
3743
3744			vec3 direction = vec3( uv, 1.0 );
3745
3746			if ( face == 0.0 ) {
3747
3748				direction = direction.zyx; // ( 1, v, u ) pos x
3749
3750			} else if ( face == 1.0 ) {
3751
3752				direction = direction.xzy;
3753				direction.xz *= -1.0; // ( -u, 1, -v ) pos y
3754
3755			} else if ( face == 2.0 ) {
3756
3757				direction.x *= -1.0; // ( -u, v, 1 ) pos z
3758
3759			} else if ( face == 3.0 ) {
3760
3761				direction = direction.zyx;
3762				direction.xz *= -1.0; // ( -1, v, -u ) neg x
3763
3764			} else if ( face == 4.0 ) {
3765
3766				direction = direction.xzy;
3767				direction.xy *= -1.0; // ( -u, -1, v ) neg y
3768
3769			} else if ( face == 5.0 ) {
3770
3771				direction.z *= -1.0; // ( u, v, -1 ) neg z
3772
3773			}
3774
3775			return direction;
3776
3777		}
3778
3779		void main() {
3780
3781			vOutputDirection = getDirection( uv, faceIndex );
3782			gl_Position = vec4( position, 1.0 );
3783
3784		}
3785	`}function s4(r){let e=new WeakMap,t=null;function n(c){if(c&&c.isTexture){const f=c.mapping,d=f===vv||f===yv,m=f===iu||f===Mf;if(d||m){let g=e.get(c);const y=g!==void 0?g.texture.pmremVersion:0;if(c.isRenderTargetTexture&&c.pmremVersion!==y)return t===null&&(t=new nE(r)),g=d?t.fromEquirectangular(c,g):t.fromCubemap(c,g),g.texture.pmremVersion=c.pmremVersion,e.set(c,g),g.texture;if(g!==void 0)return g.texture;{const _=c.image;return d&&_&&_.height>0||m&&_&&i(_)?(t===null&&(t=new nE(r)),g=d?t.fromEquirectangular(c):t.fromCubemap(c),g.texture.pmremVersion=c.pmremVersion,e.set(c,g),c.addEventListener("dispose",s),g.texture):null}}}return c}function i(c){let f=0;const d=6;for(let m=0;m<d;m++)c[m]!==void 0&&f++;return f===d}function s(c){const f=c.target;f.removeEventListener("dispose",s);const d=e.get(f);d!==void 0&&(e.delete(f),d.dispose())}function o(){e=new WeakMap,t!==null&&(t.dispose(),t=null)}return{get:n,dispose:o}}function a4(r){const e={};function t(n){if(e[n]!==void 0)return e[n];let i;switch(n){case"WEBGL_depth_texture":i=r.getExtension("WEBGL_depth_texture")||r.getExtension("MOZ_WEBGL_depth_texture")||r.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":i=r.getExtension("EXT_texture_filter_anisotropic")||r.getExtension("MOZ_EXT_texture_filter_anisotropic")||r.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":i=r.getExtension("WEBGL_compressed_texture_s3tc")||r.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||r.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":i=r.getExtension("WEBGL_compressed_texture_pvrtc")||r.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:i=r.getExtension(n)}return e[n]=i,i}return{has:function(n){return t(n)!==null},init:function(){t("EXT_color_buffer_float"),t("WEBGL_clip_cull_distance"),t("OES_texture_float_linear"),t("EXT_color_buffer_half_float"),t("WEBGL_multisampled_render_to_texture"),t("WEBGL_render_shared_exponent")},get:function(n){const i=t(n);return i===null&&dm("THREE.WebGLRenderer: "+n+" extension not supported."),i}}}function o4(r,e,t,n){const i={},s=new WeakMap;function o(g){const y=g.target;y.index!==null&&e.remove(y.index);for(const S in y.attributes)e.remove(y.attributes[S]);y.removeEventListener("dispose",o),delete i[y.id];const _=s.get(y);_&&(e.remove(_),s.delete(y)),n.releaseStatesOfGeometry(y),y.isInstancedBufferGeometry===!0&&delete y._maxInstanceCount,t.memory.geometries--}function c(g,y){return i[y.id]===!0||(y.addEventListener("dispose",o),i[y.id]=!0,t.memory.geometries++),y}function f(g){const y=g.attributes;for(const _ in y)e.update(y[_],r.ARRAY_BUFFER)}function d(g){const y=[],_=g.index,S=g.attributes.position;let M=0;if(_!==null){const w=_.array;M=_.version;for(let D=0,B=w.length;D<B;D+=3){const I=w[D+0],O=w[D+1],U=w[D+2];y.push(I,O,O,U,U,I)}}else if(S!==void 0){const w=S.array;M=S.version;for(let D=0,B=w.length/3-1;D<B;D+=3){const I=D+0,O=D+1,U=D+2;y.push(I,O,O,U,U,I)}}else return;const b=new(XD(y)?aT:sT)(y,1);b.version=M;const A=s.get(g);A&&e.remove(A),s.set(g,b)}function m(g){const y=s.get(g);if(y){const _=g.index;_!==null&&y.version<_.version&&d(g)}else d(g);return s.get(g)}return{get:c,update:f,getWireframeAttribute:m}}function l4(r,e,t){let n;function i(y){n=y}let s,o;function c(y){s=y.type,o=y.bytesPerElement}function f(y,_){r.drawElements(n,_,s,y*o),t.update(_,n,1)}function d(y,_,S){S!==0&&(r.drawElementsInstanced(n,_,s,y*o,S),t.update(_,n,S))}function m(y,_,S){if(S===0)return;e.get("WEBGL_multi_draw").multiDrawElementsWEBGL(n,_,0,s,y,0,S);let b=0;for(let A=0;A<S;A++)b+=_[A];t.update(b,n,1)}function g(y,_,S,M){if(S===0)return;const b=e.get("WEBGL_multi_draw");if(b===null)for(let A=0;A<y.length;A++)d(y[A]/o,_[A],M[A]);
vendor: 17,444 bytes, lines 3785-3820
3785else{b.multiDrawElementsInstancedWEBGL(n,_,0,s,y,0,M,0,S);let A=0;for(let w=0;w<S;w++)A+=_[w]*M[w];t.update(A,n,1)}}this.setMode=i,this.setIndex=c,this.render=f,this.renderInstances=d,this.renderMultiDraw=m,this.renderMultiDrawInstances=g}function c4(r){const e={geometries:0,textures:0},t={frame:0,calls:0,triangles:0,points:0,lines:0};function n(s,o,c){switch(t.calls++,o){case r.TRIANGLES:t.triangles+=c*(s/3);break;case r.LINES:t.lines+=c*(s/2);break;case r.LINE_STRIP:t.lines+=c*(s-1);break;case r.LINE_LOOP:t.lines+=c*s;break;case r.POINTS:t.points+=c*s;break;default:console.error("THREE.WebGLInfo: Unknown draw mode:",o);break}}function i(){t.calls=0,t.triangles=0,t.points=0,t.lines=0}return{memory:e,render:t,programs:null,autoReset:!0,reset:i,update:n}}function u4(r,e,t){const n=new WeakMap,i=new Gn;function s(o,c,f){const d=o.morphTargetInfluences,m=c.morphAttributes.position||c.morphAttributes.normal||c.morphAttributes.color,g=m!==void 0?m.length:0;let y=n.get(c);if(y===void 0||y.count!==g){let N=function(){z.dispose(),n.delete(c),c.removeEventListener("dispose",N)};var _=N;y!==void 0&&y.texture.dispose();const S=c.morphAttributes.position!==void 0,M=c.morphAttributes.normal!==void 0,b=c.morphAttributes.color!==void 0,A=c.morphAttributes.position||[],w=c.morphAttributes.normal||[],D=c.morphAttributes.color||[];let B=0;S===!0&&(B=1),M===!0&&(B=2),b===!0&&(B=3);let I=c.attributes.position.count*B,O=1;I>e.maxTextureSize&&(O=Math.ceil(I/e.maxTextureSize),I=e.maxTextureSize);const U=new Float32Array(I*O*4*g),z=new HA(U,I,O,g);z.type=va,z.needsUpdate=!0;const P=B*4;for(let G=0;G<g;G++){const X=A[G],Q=w[G],te=D[G],le=I*O*4*G;for(let k=0;k<X.count;k++){const W=k*P;S===!0&&(i.fromBufferAttribute(X,k),U[le+W+0]=i.x,U[le+W+1]=i.y,U[le+W+2]=i.z,U[le+W+3]=0),M===!0&&(i.fromBufferAttribute(Q,k),U[le+W+4]=i.x,U[le+W+5]=i.y,U[le+W+6]=i.z,U[le+W+7]=0),b===!0&&(i.fromBufferAttribute(te,k),U[le+W+8]=i.x,U[le+W+9]=i.y,U[le+W+10]=i.z,U[le+W+11]=te.itemSize===4?i.w:1)}}y={count:g,texture:z,size:new qe(I,O)},n.set(c,y),c.addEventListener("dispose",N)}if(o.isInstancedMesh===!0&&o.morphTexture!==null)f.getUniforms().setValue(r,"morphTexture",o.morphTexture,t);else{let S=0;for(let b=0;b<d.length;b++)S+=d[b];const M=c.morphTargetsRelative?1:1-S;f.getUniforms().setValue(r,"morphTargetBaseInfluence",M),f.getUniforms().setValue(r,"morphTargetInfluences",d)}f.getUniforms().setValue(r,"morphTargetsTexture",y.texture,t),f.getUniforms().setValue(r,"morphTargetsTextureSize",y.size)}return{update:s}}function f4(r,e,t,n){let i=new WeakMap;function s(f){const d=n.render.frame,m=f.geometry,g=e.get(f,m);if(i.get(g)!==d&&(e.update(g),i.set(g,d)),f.isInstancedMesh&&(f.hasEventListener("dispose",c)===!1&&f.addEventListener("dispose",c),i.get(f)!==d&&(t.update(f.instanceMatrix,r.ARRAY_BUFFER),f.instanceColor!==null&&t.update(f.instanceColor,r.ARRAY_BUFFER),i.set(f,d))),f.isSkinnedMesh){const y=f.skeleton;i.get(y)!==d&&(y.update(),i.set(y,d))}return g}function o(){i=new WeakMap}function c(f){const d=f.target;d.removeEventListener("dispose",c),t.remove(d.instanceMatrix),d.instanceColor!==null&&t.remove(d.instanceColor)}return{update:s,dispose:o}}const kO=new Bi,IR=new dT(1,1),XO=new HA,YO=new zA,jO=new kv,PR=[],HR=[],zR=new Float32Array(16),FR=new Float32Array(9),GR=new Float32Array(4);function Qm(r,e,t){const n=r[0];if(n<=0||n>0)return r;const i=e*t;let s=PR[i];if(s===void 0&&(s=new Float32Array(i),PR[i]=s),e!==0){n.toArray(s,0);for(let o=1,c=0;o!==e;++o)c+=t,r[o].toArray(s,c)}return s}function Br(r,e){if(r.length!==e.length)return!1;for(let t=0,n=r.length;t<n;t++)if(r[t]!==e[t])return!1;return!0}function Dr(r,e){for(let t=0,n=e.length;t<n;t++)r[t]=e[t]}function ob(r,e){let t=HR[e];t===void 0&&(t=new Int32Array(e),HR[e]=t);for(let n=0;n!==e;++n)t[n]=r.allocateTextureUnit();return t}function h4(r,e){const t=this.cache;t[0]!==e&&(r.uniform1f(this.addr,e),t[0]=e)}function d4(r,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y)&&(r.uniform2f(this.addr,e.x,e.y),t[0]=e.x,t[1]=e.y);else{if(Br(t,e))return;r.uniform2fv(this.addr,e),Dr(t,e)}}function p4(r,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z)&&(r.uniform3f(this.addr,e.x,e.y,e.z),t[0]=e.x,t[1]=e.y,t[2]=e.z);else if(e.r!==void 0)(t[0]!==e.r||t[1]!==e.g||t[2]!==e.b)&&(r.uniform3f(this.addr,e.r,e.g,e.b),t[0]=e.r,t[1]=e.g,t[2]=e.b);else{if(Br(t,e))return;r.uniform3fv(this.addr,e),Dr(t,e)}}function m4(r,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z||t[3]!==e.w)&&(r.uniform4f(this.addr,e.x,e.y,e.z,e.w),t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w);else{if(Br(t,e))return;r.uniform4fv(this.addr,e),Dr(t,e)}}function g4(r,e){const t=this.cache,n=e.elements;if(n===void 0){if(Br(t,e))return;r.uniformMatrix2fv(this.addr,!1,e),Dr(t,e)}else{if(Br(t,n))return;GR.set(n),r.uniformMatrix2fv(this.addr,!1,GR),Dr(t,n)}}function v4(r,e){const t=this.cache,n=e.elements;if(n===void 0){if(Br(t,e))return;r.uniformMatrix3fv(this.addr,!1,e),Dr(t,e)}else{if(Br(t,n))return;FR.set(n),r.uniformMatrix3fv(this.addr,!1,FR),Dr(t,n)}}function y4(r,e){const t=this.cache,n=e.elements;if(n===void 0){if(Br(t,e))return;r.uniformMatrix4fv(this.addr,!1,e),Dr(t,e)}else{if(Br(t,n))return;zR.set(n),r.uniformMatrix4fv(this.addr,!1,zR),Dr(t,n)}}function _4(r,e){const t=this.cache;t[0]!==e&&(r.uniform1i(this.addr,e),t[0]=e)}function x4(r,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y)&&(r.uniform2i(this.addr,e.x,e.y),t[0]=e.x,t[1]=e.y);else{if(Br(t,e))return;r.uniform2iv(this.addr,e),Dr(t,e)}}function S4(r,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z)&&(r.uniform3i(this.addr,e.x,e.y,e.z),t[0]=e.x,t[1]=e.y,t[2]=e.z);else{if(Br(t,e))return;r.uniform3iv(this.addr,e),Dr(t,e)}}function A4(r,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z||t[3]!==e.w)&&(r.uniform4i(this.addr,e.x,e.y,e.z,e.w),t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w);else{if(Br(t,e))return;r.uniform4iv(this.addr,e),Dr(t,e)}}function b4(r,e){const t=this.cache;t[0]!==e&&(r.uniform1ui(this.addr,e),t[0]=e)}function M4(r,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y)&&(r.uniform2ui(this.addr,e.x,e.y),t[0]=e.x,t[1]=e.y);else{if(Br(t,e))return;r.uniform2uiv(this.addr,e),Dr(t,e)}}function E4(r,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z)&&(r.uniform3ui(this.addr,e.x,e.y,e.z),t[0]=e.x,t[1]=e.y,t[2]=e.z);else{if(Br(t,e))return;r.uniform3uiv(this.addr,e),Dr(t,e)}}function T4(r,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z||t[3]!==e.w)&&(r.uniform4ui(this.addr,e.x,e.y,e.z,e.w),t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w);else{if(Br(t,e))return;r.uniform4uiv(this.addr,e),Dr(t,e)}}function C4(r,e,t){const n=this.cache,i=t.allocateTextureUnit();n[0]!==i&&(r.uniform1i(this.addr,i),n[0]=i);let s;this.type===r.SAMPLER_2D_SHADOW?(IR.compareFunction=tT,s=IR):s=kO,t.setTexture2D(e||s,i)}function w4(r,e,t){const n=this.cache,i=t.allocateTextureUnit();n[0]!==i&&(r.uniform1i(this.addr,i),n[0]=i),t.setTexture3D(e||YO,i)}function R4(r,e,t){const n=this.cache,i=t.allocateTextureUnit();n[0]!==i&&(r.uniform1i(this.addr,i),n[0]=i),t.setTextureCube(e||jO,i)}function B4(r,e,t){const n=this.cache,i=t.allocateTextureUnit();n[0]!==i&&(r.uniform1i(this.addr,i),n[0]=i),t.setTexture2DArray(e||XO,i)}function D4(r){switch(r){case 5126:return h4;case 35664:return d4;case 35665:return p4;case 35666:return m4;case 35674:return g4;case 35675:return v4;case 35676:return y4;case 5124:case 35670:return _4;case 35667:case 35671:return x4;case 35668:case 35672:return S4;case 35669:case 35673:return A4;case 5125:return b4;case 36294:return M4;case 36295:return E4;case 36296:return T4;case 35678:case 36198:case 36298:case 36306:case 35682:return C4;case 35679:case 36299:case 36307:return w4;case 35680:case 36300:case 36308:case 36293:return R4;case 36289:case 36303:case 36311:case 36292:return B4}}function O4(r,e){r.uniform1fv(this.addr,e)}function N4(r,e){const t=Qm(e,this.size,2);r.uniform2fv(this.addr,t)}function L4(r,e){const t=Qm(e,this.size,3);r.uniform3fv(this.addr,t)}function U4(r,e){const t=Qm(e,this.size,4);r.uniform4fv(this.addr,t)}function I4(r,e){const t=Qm(e,this.size,4);r.uniformMatrix2fv(this.addr,!1,t)}function P4(r,e){const t=Qm(e,this.size,9);r.uniformMatrix3fv(this.addr,!1,t)}function H4(r,e){const t=Qm(e,this.size,16);r.uniformMatrix4fv(this.addr,!1,t)}function z4(r,e){r.uniform1iv(this.addr,e)}function F4(r,e){r.uniform2iv(this.addr,e)}function G4(r,e){r.uniform3iv(this.addr,e)}function V4(r,e){r.uniform4iv(this.addr,e)}function k4(r,e){r.uniform1uiv(this.addr,e)}function X4(r,e){r.uniform2uiv(this.addr,e)}function Y4(r,e){r.uniform3uiv(this.addr,e)}function j4(r,e){r.uniform4uiv(this.addr,e)}function q4(r,e,t){const n=this.cache,i=e.length,s=ob(t,i);Br(n,s)||(r.uniform1iv(this.addr,s),Dr(n,s));for(let o=0;o!==i;++o)t.setTexture2D(e[o]||kO,s[o])}function W4(r,e,t){const n=this.cache,i=e.length,s=ob(t,i);Br(n,s)||(r.uniform1iv(this.addr,s),Dr(n,s));for(let o=0;o!==i;++o)t.setTexture3D(e[o]||YO,s[o])}function J4(r,e,t){const n=this.cache,i=e.length,s=ob(t,i);Br(n,s)||(r.uniform1iv(this.addr,s),Dr(n,s));for(let o=0;o!==i;++o)t.setTextureCube(e[o]||jO,s[o])}function K4(r,e,t){const n=this.cache,i=e.length,s=ob(t,i);Br(n,s)||(r.uniform1iv(this.addr,s),Dr(n,s));for(let o=0;o!==i;++o)t.setTexture2DArray(e[o]||XO,s[o])}function Q4(r){switch(r){case 5126:return O4;case 35664:return N4;case 35665:return L4;case 35666:return U4;case 35674:return I4;case 35675:return P4;case 35676:return H4;case 5124:case 35670:return z4;case 35667:case 35671:return F4;case 35668:case 35672:return G4;case 35669:case 35673:return V4;case 5125:return k4;case 36294:return X4;case 36295:return Y4;case 36296:return j4;case 35678:case 36198:case 36298:case 36306:case 35682:return q4;case 35679:case 36299:case 36307:return W4;case 35680:case 36300:case 36308:case 36293:return J4;case 36289:case 36303:case 36311:case 36292:return K4}}class Z4{constructor(e,t,n){this.id=e,this.addr=n,this.cache=[],this.type=t.type,this.setValue=D4(t.type)}}class $4{constructor(e,t,n){this.id=e,this.addr=n,this.cache=[],this.type=t.type,this.size=t.size,this.setValue=Q4(t.type)}}class e8{constructor(e){this.id=e,this.seq=[],this.map={}}setValue(e,t,n){const i=this.seq;for(let s=0,o=i.length;s!==o;++s){const c=i[s];c.setValue(e,t[c.id],n)}}}const JM=/(\w+)(\])?(\[|\.)?/g;function VR(r,e){r.seq.push(e),r.map[e.id]=e}function t8(r,e,t){const n=r.name,i=n.length;for(JM.lastIndex=0;;){const s=JM.exec(n),o=JM.lastIndex;let c=s[1];const f=s[2]==="]",d=s[3];if(f&&(c=c|0),d===void 0||d==="["&&o+2===i){VR(t,d===void 0?new Z4(c,r,e):new $4(c,r,e));break}else{let g=t.map[c];g===void 0&&(g=new e8(c),VR(t,g)),t=g}}}class oS{constructor(e,t){this.seq=[],this.map={};const n=e.getProgramParameter(t,e.ACTIVE_UNIFORMS);for(let i=0;i<n;++i){const s=e.getActiveUniform(t,i),o=e.getUniformLocation(t,s.name);t8(s,o,this)}}setValue(e,t,n,i){const s=this.map[t];s!==void 0&&s.setValue(e,n,i)}setOptional(e,t,n){const i=t[n];i!==void 0&&this.setValue(e,n,i)}static upload(e,t,n,i){for(let s=0,o=t.length;s!==o;++s){const c=t[s],f=n[c.id];f.needsUpdate!==!1&&c.setValue(e,f.value,i)}}static seqWithValue(e,t){const n=[];for(let i=0,s=e.length;i!==s;++i){const o=e[i];o.id in t&&n.push(o)}return n}}function kR(r,e,t){const n=r.createShader(e);return r.shaderSource(n,t),r.compileShader(n),n}const n8=37297;let i8=0;function r8(r,e){const t=r.split(`
3786`),n=[],i=Math.max(e-6,0),s=Math.min(e+6,t.length);for(let o=i;o<s;o++){const c=o+1;n.push(`${c===e?">":" "} ${c}: ${t[o]}`)}return n.join(`
3787`)}const XR=new un;function s8(r){Un._getMatrix(XR,Un.workingColorSpace,r);const e=`mat3( ${XR.elements.map(t=>t.toFixed(4))} )`;switch(Un.getTransfer(r)){case xv:return[e,"LinearTransferOETF"];case ri:return[e,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space: ",r),[e,"LinearTransferOETF"]}}function YR(r,e,t){const n=r.getShaderParameter(e,r.COMPILE_STATUS),s=(r.getShaderInfoLog(e)||"").trim();if(n&&s==="")return"";const o=/ERROR: 0:(\d+)/.exec(s);if(o){const c=parseInt(o[1]);return t.toUpperCase()+`
3788
3789`+s+`
3790
3791`+r8(r.getShaderSource(e),c)}else return s}function a8(r,e){const t=s8(e);return[`vec4 ${r}( vec4 value ) {`,`	return ${t[1]}( vec4( value.rgb * ${t[0]}, value.a ) );`,"}"].join(`
3792`)}function o8(r,e){let t;switch(e){case bD:t="Linear";break;case MD:t="Reinhard";break;case ED:t="Cineon";break;case YE:t="ACESFilmic";break;case CD:t="AgX";break;case wD:t="Neutral";break;case TD:t="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),t="Linear"}return"vec3 "+r+"( vec3 color ) { return "+t+"ToneMapping( color ); }"}const Mx=new Z;function l8(){Un.getLuminanceCoefficients(Mx);const r=Mx.x.toFixed(4),e=Mx.y.toFixed(4),t=Mx.z.toFixed(4);return["float luminance( const in vec3 rgb ) {",`	const vec3 weights = vec3( ${r}, ${e}, ${t} );`,"	return dot( weights, rgb );","}"].join(`
3793`)}function c8(r){return[r.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",r.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(F0).join(`
3794`)}function u8(r){const e=[];for(const t in r){const n=r[t];n!==!1&&e.push("#define "+t+" "+n)}return e.join(`
3795`)}function f8(r,e){const t={},n=r.getProgramParameter(e,r.ACTIVE_ATTRIBUTES);for(let i=0;i<n;i++){const s=r.getActiveAttrib(e,i),o=s.name;let c=1;s.type===r.FLOAT_MAT2&&(c=2),s.type===r.FLOAT_MAT3&&(c=3),s.type===r.FLOAT_MAT4&&(c=4),t[o]={type:s.type,location:r.getAttribLocation(e,o),locationSize:c}}return t}function F0(r){return r!==""}function jR(r,e){const t=e.numSpotLightShadows+e.numSpotLightMaps-e.numSpotLightShadowsWithMaps;return r.replace(/NUM_DIR_LIGHTS/g,e.numDirLights).replace(/NUM_SPOT_LIGHTS/g,e.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g,e.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g,t).replace(/NUM_RECT_AREA_LIGHTS/g,e.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,e.numPointLights).replace(/NUM_HEMI_LIGHTS/g,e.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,e.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g,e.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g,e.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,e.numPointLightShadows)}function qR(r,e){return r.replace(/NUM_CLIPPING_PLANES/g,e.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,e.numClippingPlanes-e.numClipIntersection)}const h8=/^[ \t]*#include +<([\w\d./]+)>/gm;function iE(r){return r.replace(h8,p8)}const d8=new Map;function p8(r,e){let t=gn[e];if(t===void 0){const n=d8.get(e);if(n!==void 0)t=gn[n],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',e,n);else throw new Error("Can not resolve #include <"+e+">")}return iE(t)}const m8=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function WR(r){return r.replace(m8,g8)}function g8(r,e,t,n){let i="";for(let s=parseInt(e);s<parseInt(t);s++)i+=n.replace(/\[\s*i\s*\]/g,"[ "+s+" ]").replace(/UNROLLED_LOOP_INDEX/g,s);return i}function JR(r){let e=`precision ${r.precision} float;
3796	precision ${r.precision} int;
3797	precision ${r.precision} sampler2D;
3798	precision ${r.precision} samplerCube;
3799	precision ${r.precision} sampler3D;
3800	precision ${r.precision} sampler2DArray;
3801	precision ${r.precision} sampler2DShadow;
3802	precision ${r.precision} samplerCubeShadow;
3803	precision ${r.precision} sampler2DArrayShadow;
3804	precision ${r.precision} isampler2D;
3805	precision ${r.precision} isampler3D;
3806	precision ${r.precision} isamplerCube;
3807	precision ${r.precision} isampler2DArray;
3808	precision ${r.precision} usampler2D;
3809	precision ${r.precision} usampler3D;
3810	precision ${r.precision} usamplerCube;
3811	precision ${r.precision} usampler2DArray;
3812	`;return r.precision==="highp"?e+=`
3813#define HIGH_PRECISION`:r.precision==="mediump"?e+=`
3814#define MEDIUM_PRECISION`:r.precision==="lowp"&&(e+=`
3815#define LOW_PRECISION`),e}function v8(r){let e="SHADOWMAP_TYPE_BASIC";return r.shadowMapType===wA?e="SHADOWMAP_TYPE_PCF":r.shadowMapType===W0?e="SHADOWMAP_TYPE_PCF_SOFT":r.shadowMapType===al&&(e="SHADOWMAP_TYPE_VSM"),e}function y8(r){let e="ENVMAP_TYPE_CUBE";if(r.envMap)switch(r.envMapMode){case iu:case Mf:e="ENVMAP_TYPE_CUBE";break;case Xm:e="ENVMAP_TYPE_CUBE_UV";break}return e}function _8(r){let e="ENVMAP_MODE_REFLECTION";if(r.envMap)switch(r.envMapMode){case Mf:e="ENVMAP_MODE_REFRACTION";break}return e}function x8(r){let e="ENVMAP_BLENDING_NONE";if(r.envMap)switch(r.combine){case Gv:e="ENVMAP_BLENDING_MULTIPLY";break;case SD:e="ENVMAP_BLENDING_MIX";break;case AD:e="ENVMAP_BLENDING_ADD";break}return e}function S8(r){const e=r.envMapCubeUVHeight;if(e===null)return null;const t=Math.log2(e)-2,n=1/e;return{texelWidth:1/(3*Math.max(Math.pow(2,t),112)),texelHeight:n,maxMip:t}}function A8(r,e,t,n){const i=r.getContext(),s=t.defines;let o=t.vertexShader,c=t.fragmentShader;const f=v8(t),d=y8(t),m=_8(t),g=x8(t),y=S8(t),_=c8(t),S=u8(s),M=i.createProgram();let b,A,w=t.glslVersion?"#version "+t.glslVersion+`
3816`:"";t.isRawShaderMaterial?(b=["#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,S].filter(F0).join(`
3817`),b.length>0&&(b+=`
3818`),A=["#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,S].filter(F0).join(`
3819`),A.length>0&&(A+=`
3820`)):(b=[JR(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,S,t.extensionCl
vendor: 6,455 bytes, lines 3820-3822
3820ipCullDistance?"#define USE_CLIP_DISTANCE":"",t.batching?"#define USE_BATCHING":"",t.batchingColor?"#define USE_BATCHING_COLOR":"",t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",t.instancingMorph?"#define USE_INSTANCING_MORPH":"",t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+m:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.displacementMap?"#define USE_DISPLACEMENTMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.mapUv?"#define MAP_UV "+t.mapUv:"",t.alphaMapUv?"#define ALPHAMAP_UV "+t.alphaMapUv:"",t.lightMapUv?"#define LIGHTMAP_UV "+t.lightMapUv:"",t.aoMapUv?"#define AOMAP_UV "+t.aoMapUv:"",t.emissiveMapUv?"#define EMISSIVEMAP_UV "+t.emissiveMapUv:"",t.bumpMapUv?"#define BUMPMAP_UV "+t.bumpMapUv:"",t.normalMapUv?"#define NORMALMAP_UV "+t.normalMapUv:"",t.displacementMapUv?"#define DISPLACEMENTMAP_UV "+t.displacementMapUv:"",t.metalnessMapUv?"#define METALNESSMAP_UV "+t.metalnessMapUv:"",t.roughnessMapUv?"#define ROUGHNESSMAP_UV "+t.roughnessMapUv:"",t.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+t.anisotropyMapUv:"",t.clearcoatMapUv?"#define CLEARCOATMAP_UV "+t.clearcoatMapUv:"",t.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+t.clearcoatNormalMapUv:"",t.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+t.clearcoatRoughnessMapUv:"",t.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+t.iridescenceMapUv:"",t.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+t.iridescenceThicknessMapUv:"",t.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+t.sheenColorMapUv:"",t.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+t.sheenRoughnessMapUv:"",t.specularMapUv?"#define SPECULARMAP_UV "+t.specularMapUv:"",t.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+t.specularColorMapUv:"",t.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+t.specularIntensityMapUv:"",t.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+t.transmissionMapUv:"",t.thicknessMapUv?"#define THICKNESSMAP_UV "+t.thicknessMapUv:"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.flatShading?"#define FLAT_SHADED":"",t.skinning?"#define USE_SKINNING":"",t.morphTargets?"#define USE_MORPHTARGETS":"",t.morphNormals&&t.flatShading===!1?"#define USE_MORPHNORMALS":"",t.morphColors?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+f:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.reversedDepthBuffer?"#define USE_REVERSEDEPTHBUF":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING","	attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR","	attribute vec3 instanceColor;","#endif","#ifdef USE_INSTANCING_MORPH","	uniform sampler2D morphTexture;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_UV1","	attribute vec2 uv1;","#endif","#ifdef USE_UV2","	attribute vec2 uv2;","#endif","#ifdef USE_UV3","	attribute vec2 uv3;","#endif","#ifdef USE_TANGENT","	attribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )","	attribute vec4 color;","#elif defined( USE_COLOR )","	attribute vec3 color;","#endif","#ifdef USE_SKINNING","	attribute vec4 skinIndex;","	attribute vec4 skinWeight;","#endif",`
3821`].filter(F0).join(`
3822`),A=[JR(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,S,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.alphaToCoverage?"#define ALPHA_TO_COVERAGE":"",t.map?"#define USE_MAP":"",t.matcap?"#define USE_MATCAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+d:"",t.envMap?"#define "+m:"",t.envMap?"#define "+g:"",y?"#define CUBEUV_TEXEL_WIDTH "+y.texelWidth:"",y?"#define CUBEUV_TEXEL_HEIGHT "+y.texelHeight:"",y?"#define CUBEUV_MAX_MIP "+y.maxMip+".0":"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoat?"#define USE_CLEARCOAT":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.dispersion?"#define USE_DISPERSION":"",t.iridescence?"#define USE_IR
3822IDESCENCE":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor||t.batchingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+f:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.decodeVideoTextureEmissive?"#define DECODE_VIDEO_TEXTURE_EMISSIVE":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.reversedDepthBuffer?"#define USE_REVERSEDEPTHBUF":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==tc?"#define TONE_MAPPING":"",t.toneMapping!==tc?gn.tonemapping_pars_fragment:"",t.toneMapping!==tc?o8("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",gn.colorspace_pars_fragment,a8("linearToOutputTexel",t.outputColorSpace),l8(),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",`
3823`].filter(F0).join(`
3824`)),o=iE(o),o=jR(o,t),o=qR(o,t),c=iE(c),c=jR(c,t),c=qR(c,t),o=WR(o),c=WR(c),t.isRawShaderMaterial!==!0&&(w=`#version 300 es
3825`,b=[_,"#define attribute in","#define varying out","#define texture2D texture"].join(`
3826`)+`
3827`+b,A=["#define varying in",t.glslVersion===J1?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===J1?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join(`
3828`)+`
3829`+A);const D=w+b+o,B=w+A+c,I=kR(i,i.VERTEX_SHADER,D),O=kR(i,i.FRAGMENT_SHADER,B);i.attachShader(M,I),i.attachShader(M,O),t.index0AttributeName!==void 0?i.bindAttribLocation(M,0,t.index0AttributeName):t.morphTargets===!0&&i.bindAttribLocation(M,0,"position"),i.linkProgram(M);function U(G){if(r.debug.checkShaderErrors){const X=i.getProgramInfoLog(M)||"",Q=i.getShaderInfoLog(I)||"",te=i.getShaderInfoLog(O)||"",le=X.trim(),k=Q.trim(),W=te.trim();let ee=!0,pe=!0;if(i.getProgramParameter(M,i.LINK_STATUS)===!1)if(ee=!1,typeof r.debug.onShaderError=="function")r.debug.onShaderError(i,M,I,O);else{const H=YR(i,I,"vertex"),re=YR(i,O,"fragment");console.error("THREE.WebGLProgram: Shader Error "+i.getError()+" - VALIDATE_STATUS "+i.getProgramParameter(M,i.VALIDATE_STATUS)+`
3830
3831Material Name: `+G.name+`
3832Material Type: `+G.type+`
3833
3834Program Info Log: `+le+`
3835`+H+`
3836`+re)}else le!==""?console.warn("THREE.WebGLProgram: Program Info Log:",le):(k===""||W==="")&&(pe=!1);pe&&(G.diagnostics={runnable:ee,programLog:le,vertexShader:{log:k,prefix:b},fragmentShader:{log:W,prefix:A}})}i.deleteShader(I),i.deleteShader(O),z=new oS(i,M),P=f8(i,M)}let z;this.getUniforms=function(){return z===void 0&&U(this),z};let P;this.getAttributes=function(){return P===void 0&&U(this),P};let N=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return N===!1&&(N=i.getProgramParameter(
vendor: 29,636 bytes, lines 3836-3864
3836M,n8)),N},this.destroy=function(){n.releaseStatesOfProgram(this),i.deleteProgram(M),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=i8++,this.cacheKey=e,this.usedTimes=1,this.program=M,this.vertexShader=I,this.fragmentShader=O,this}let b8=0;class M8{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){const t=e.vertexShader,n=e.fragmentShader,i=this._getShaderStage(t),s=this._getShaderStage(n),o=this._getShaderCacheForMaterial(e);return o.has(i)===!1&&(o.add(i),i.usedTimes++),o.has(s)===!1&&(o.add(s),s.usedTimes++),this}remove(e){const t=this.materialCache.get(e);for(const n of t)n.usedTimes--,n.usedTimes===0&&this.shaderCache.delete(n.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){const t=this.materialCache;let n=t.get(e);return n===void 0&&(n=new Set,t.set(e,n)),n}_getShaderStage(e){const t=this.shaderCache;let n=t.get(e);return n===void 0&&(n=new E8(e),t.set(e,n)),n}}class E8{constructor(e){this.id=b8++,this.code=e,this.usedTimes=0}}function T8(r,e,t,n,i,s,o){const c=new Dm,f=new M8,d=new Set,m=[],g=i.logarithmicDepthBuffer,y=i.vertexTextures;let _=i.precision;const S={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function M(P){return d.add(P),P===0?"uv":`uv${P}`}function b(P,N,G,X,Q){const te=X.fog,le=Q.geometry,k=P.isMeshStandardMaterial?X.environment:null,W=(P.isMeshStandardMaterial?t:e).get(P.envMap||k),ee=W&&W.mapping===Xm?W.image.height:null,pe=S[P.type];P.precision!==null&&(_=i.getMaxPrecision(P.precision),_!==P.precision&&console.warn("THREE.WebGLProgram.getParameters:",P.precision,"not supported, using",_,"instead."));const H=le.morphAttributes.position||le.morphAttributes.normal||le.morphAttributes.color,re=H!==void 0?H.length:0;let ye=0;le.morphAttributes.position!==void 0&&(ye=1),le.morphAttributes.normal!==void 0&&(ye=2),le.morphAttributes.color!==void 0&&(ye=3);let Ae,Te,he,xe;if(pe){const ft=ol[pe];Ae=ft.vertexShader,Te=ft.fragmentShader}else Ae=P.vertexShader,Te=P.fragmentShader,f.update(P),he=f.getVertexShaderID(P),xe=f.getFragmentShaderID(P);const Ne=r.getRenderTarget(),Oe=r.state.buffers.depth.getReversed(),We=Q.isInstancedMesh===!0,gt=Q.isBatchedMesh===!0,Ft=!!P.map,At=!!P.matcap,ne=!!W,Ie=!!P.aoMap,Le=!!P.lightMap,Ge=!!P.bumpMap,ie=!!P.normalMap,Ze=!!P.displacementMap,ke=!!P.emissiveMap,Je=!!P.metalnessMap,ht=!!P.roughnessMap,Lt=P.anisotropy>0,J=P.clearcoat>0,V=P.dispersion>0,me=P.iridescence>0,we=P.sheen>0,Ue=P.transmission>0,Re=Lt&&!!P.anisotropyMap,ot=J&&!!P.clearcoatMap,$e=J&&!!P.clearcoatNormalMap,St=J&&!!P.clearcoatRoughnessMap,lt=me&&!!P.iridescenceMap,Ye=me&&!!P.iridescenceThicknessMap,nt=we&&!!P.sheenColorMap,Mt=we&&!!P.sheenRoughnessMap,yt=!!P.specularMap,rt=!!P.specularColorMap,Pt=!!P.specularIntensityMap,se=Ue&&!!P.transmissionMap,Ke=Ue&&!!P.thicknessMap,Qe=!!P.gradientMap,ct=!!P.alphaMap,je=P.alphaTest>0,Pe=!!P.alphaHash,_t=!!P.extensions;let Nt=tc;P.toneMapped&&(Ne===null||Ne.isXRRenderTarget===!0)&&(Nt=r.toneMapping);const hn={shaderID:pe,shaderType:P.type,shaderName:P.name,vertexShader:Ae,fragmentShader:Te,defines:P.defines,customVertexShaderID:he,customFragmentShaderID:xe,isRawShaderMaterial:P.isRawShaderMaterial===!0,glslVersion:P.glslVersion,precision:_,batching:gt,batchingColor:gt&&Q._colorsTexture!==null,instancing:We,instancingColor:We&&Q.instanceColor!==null,instancingMorph:We&&Q.morphTexture!==null,supportsVertexTextures:y,outputColorSpace:Ne===null?r.outputColorSpace:Ne.isXRRenderTarget===!0?Ne.texture.colorSpace:Tf,alphaToCoverage:!!P.alphaToCoverage,map:Ft,matcap:At,envMap:ne,envMapMode:ne&&W.mapping,envMapCubeUVHeight:ee,aoMap:Ie,lightMap:Le,bumpMap:Ge,normalMap:ie,displacementMap:y&&Ze,emissiveMap:ke,normalMapObjectSpace:ie&&P.normalMapType===ID,normalMapTangentSpace:ie&&P.normalMapType===Df,metalnessMap:Je,roughnessMap:ht,anisotropy:Lt,anisotropyMap:Re,clearcoat:J,clearcoatMap:ot,clearcoatNormalMap:$e,clearcoatRoughnessMap:St,dispersion:V,iridescence:me,iridescenceMap:lt,iridescenceThicknessMap:Ye,sheen:we,sheenColorMap:nt,sheenRoughnessMap:Mt,specularMap:yt,specularColorMap:rt,specularIntensityMap:Pt,transmission:Ue,transmissionMap:se,thicknessMap:Ke,gradientMap:Qe,opaque:P.transparent===!1&&P.blending===sd&&P.alphaToCoverage===!1,alphaMap:ct,alphaTest:je,alphaHash:Pe,combine:P.combine,mapUv:Ft&&M(P.map.channel),aoMapUv:Ie&&M(P.aoMap.channel),lightMapUv:Le&&M(P.lightMap.channel),bumpMapUv:Ge&&M(P.bumpMap.channel),normalMapUv:ie&&M(P.normalMap.channel),displacementMapUv:Ze&&M(P.displacementMap.channel),emissiveMapUv:ke&&M(P.emissiveMap.channel),metalnessMapUv:Je&&M(P.metalnessMap.channel),roughnessMapUv:ht&&M(P.roughnessMap.channel),anisotropyMapUv:Re&&M(P.anisotropyMap.channel),clearcoatMapUv:ot&&M(P.clearcoatMap.channel),clearcoatNormalMapUv:$e&&M(P.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:St&&M(P.clearcoatRoughnessMap.channel),iridescenceMapUv:lt&&M(P.iridescenceMap.channel),iridescenceThicknessMapUv:Ye&&M(P.iridescenceThicknessMap.channel),sheenColorMapUv:nt&&M(P.sheenColorMap.channel),sheenRoughnessMapUv:Mt&&M(P.sheenRoughnessMap.channel),specularMapUv:yt&&M(P.specularMap.channel),specularColorMapUv:rt&&M(P.specularColorMap.channel),specularIntensityMapUv:Pt&&M(P.specularIntensityMap.channel),transmissionMapUv:se&&M(P.transmissionMap.channel),thicknessMapUv:Ke&&M(P.thicknessMap.channel),alphaMapUv:ct&&M(P.alphaMap.channel),vertexTangents:!!le.attributes.tangent&&(ie||Lt),vertexColors:P.vertexColors,vertexAlphas:P.vertexColors===!0&&!!le.attributes.color&&le.attributes.color.itemSize===4,pointsUvs:Q.isPoints===!0&&!!le.attributes.uv&&(Ft||ct),fog:!!te,useFog:P.fog===!0,fogExp2:!!te&&te.isFogExp2,flatShading:P.flatShading===!0&&P.wireframe===!1,sizeAttenuation:P.sizeAttenuation===!0,logarithmicDepthBuffer:g,reversedDepthBuffer:Oe,skinning:Q.isSkinnedMesh===!0,morphTargets:le.morphAttributes.position!==void 0,morphNormals:le.morphAttributes.normal!==void 0,morphColors:le.morphAttributes.color!==void 0,morphTargetsCount:re,morphTextureStride:ye,numDirLights:N.directional.length,numPointLights:N.point.length,numSpotLights:N.spot.length,numSpotLightMaps:N.spotLightMap.length,numRectAreaLights:N.rectArea.length,numHemiLights:N.hemi.length,numDirLightShadows:N.directionalShadowMap.length,numPointLightShadows:N.pointShadowMap.length,numSpotLightShadows:N.spotShadowMap.length,numSpotLightShadowsWithMaps:N.numSpotLightShadowsWithMaps,numLightProbes:N.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:P.dithering,shadowMapEnabled:r.shadowMap.enabled&&G.length>0,shadowMapType:r.shadowMap.type,toneMapping:Nt,decodeVideoTexture:Ft&&P.map.isVideoTexture===!0&&Un.getTransfer(P.map.colorSpace)===ri,decodeVideoTextureEmissive:ke&&P.emissiveMap.isVideoTexture===!0&&Un.getTransfer(P.emissiveMap.colorSpace)===ri,premultipliedAlpha:P.premultipliedAlpha,doubleSided:P.side===ll,flipSided:P.side===Zs,useDepthPacking:P.depthPacking>=0,depthPacking:P.depthPacking||0,index0AttributeName:P.index0AttributeName,extensionClipCullDistance:_t&&P.extensions.clipCullDistance===!0&&n.has("WEBGL_clip_cull_distance"),extensionMultiDraw:(_t&&P.extensions.multiDraw===!0||gt)&&n.has("WEBGL_multi_draw"),rendererExtensionParallelShaderCompile:n.has("KHR_parallel_shader_compile"),customProgramCacheKey:P.customProgramCacheKey()};return hn.vertexUv1s=d.has(1),hn.vertexUv2s=d.has(2),hn.vertexUv3s=d.has(3),d.clear(),hn}function A(P){const N=[];if(P.shaderID?N.push(P.shaderID):(N.push(P.customVertexShaderID),N.push(P.customFragmentShaderID)),P.defines!==void 0)for(const G in P.defines)N.push(G),N.push(P.defines[G]);return P.isRawShaderMaterial===!1&&(w(N,P),D(N,P),N.push(r.outputColorSpace)),N.push(P.customProgramCacheKey),N.join()}function w(P,N){P.push(N.precision),P.push(N.outputColorSpace),P.push(N.envMapMode),P.push(N.envMapCubeUVHeight),P.push(N.mapUv),P.push(N.alphaMapUv),P.push(N.lightMapUv),P.push(N.aoMapUv),P.push(N.bumpMapUv),P.push(N.normalMapUv),P.push(N.displacementMapUv),P.push(N.emissiveMapUv),P.push(N.metalnessMapUv),P.push(N.roughnessMapUv),P.push(N.anisotropyMapUv),P.push(N.clearcoatMapUv),P.push(N.clearcoatNormalMapUv),P.push(N.clearcoatRoughnessMapUv),P.push(N.iridescenceMapUv),P.push(N.iridescenceThicknessMapUv),P.push(N.sheenColorMapUv),P.push(N.sheenRoughnessMapUv),P.push(N.specularMapUv),P.push(N.specularColorMapUv),P.push(N.specularIntensityMapUv),P.push(N.transmissionMapUv),P.push(N.thicknessMapUv),P.push(N.combine),P.push(N.fogExp2),P.push(N.sizeAttenuation),P.push(N.morphTargetsCount),P.push(N.morphAttributeCount),P.push(N.numDirLights),P.push(N.numPointLights),P.push(N.numSpotLights),P.push(N.numSpotLightMaps),P.push(N.numHemiLights),P.push(N.numRectAreaLights),P.push(N.numDirLightShadows),P.push(N.numPointLightShadows),P.push(N.numSpotLightShadows),P.push(N.numSpotLightShadowsWithMaps),P.push(N.numLightProbes),P.push(N.shadowMapType),P.push(N.toneMapping),P.push(N.numClippingPlanes),P.push(N.numClipIntersection),P.push(N.depthPacking)}function D(P,N){c.disableAll(),N.supportsVertexTextures&&c.enable(0),N.instancing&&c.enable(1),N.instancingColor&&c.enable(2),N.instancingMorph&&c.enable(3),N.matcap&&c.enable(4),N.envMap&&c.enable(5),N.normalMapObjectSpace&&c.enable(6),N.normalMapTangentSpace&&c.enable(7),N.clearcoat&&c.enable(8),N.iridescence&&c.enable(9),N.alphaTest&&c.enable(10),N.vertexColors&&c.enable(11),N.vertexAlphas&&c.enable(12),N.vertexUv1s&&c.enable(13),N.vertexUv2s&&c.enable(14),N.vertexUv3s&&c.enable(15),N.vertexTangents&&c.enable(16),N.anisotropy&&c.enable(17),N.alphaHash&&c.enable(18),N.batching&&c.enable(19),N.dispersion&&c.enable(20),N.batchingColor&&c.enable(21),N.gradientMap&&c.enable(22),P.push(c.mask),c.disableAll(),N.fog&&c.enable(0),N.useFog&&c.enable(1),N.flatShading&&c.enable(2),N.logarithmicDepthBuffer&&c.enable(3),N.reversedDepthBuffer&&c.enable(4),N.skinning&&c.enable(5),N.morphTargets&&c.enable(6),N.morphNormals&&c.enable(7),N.morphColors&&c.enable(8),N.premultipliedAlpha&&c.enable(9),N.shadowMapEnabled&&c.enable(10),N.doubleSided&&c.enable(11),N.flipSided&&c.enable(12),N.useDepthPacking&&c.enable(13),N.dithering&&c.enable(14),N.transmission&&c.enable(15),N.sheen&&c.enable(16),N.opaque&&c.enable(17),N.pointsUvs&&c.enable(18),N.decodeVideoTexture&&c.enable(19),N.decodeVideoTextureEmissive&&c.enable(20),N.alphaToCoverage&&c.enable(21),P.push(c.mask)}function B(P){const N=S[P.type];let G;if(N){const X=ol[N];G=JD.clone(X.uniforms)}else G=P.uniforms;return G}function I(P,N){let G;for(let X=0,Q=m.length;X<Q;X++){const te=m[X];if(te.cacheKey===N){G=te,++G.usedTimes;break}}return G===void 0&&(G=new A8(r,N,P,s),m.push(G)),G}function O(P){if(--P.usedTimes===0){const N=m.indexOf(P);m[N]=m[m.length-1],m.pop(),P.destroy()}}function U(P){f.remove(P)}function z(){f.dispose()}return{getParameters:b,getProgramCacheKey:A,getUniforms:B,acquireProgram:I,releaseProgram:O,releaseShaderCache:U,programs:m,dispose:z}}function C8(){let r=new WeakMap;function e(o){return r.has(o)}function t(o){let c=r.get(o);return c===void 0&&(c={},r.set(o,c)),c}function n(o){r.delete(o)}function i(o,c,f){r.get(o)[c]=f}function s(){r=new WeakMap}return{has:e,get:t,remove:n,update:i,dispose:s}}function w8(r,e){return r.groupOrder!==e.groupOrder?r.groupOrder-e.groupOrder:r.renderOrder!==e.renderOrder?r.renderOrder-e.renderOrder:r.material.id!==e.material.id?r.material.id-e.material.id:r.z!==e.z?r.z-e.z:r.id-e.id}function KR(r,e){return r.groupOrder!==e.groupOrder?r.groupOrder-e.groupOrder:r.renderOrder!==e.renderOrder?r.renderOrder-e.renderOrder:r.z!==e.z?e.z-r.z:r.id-e.id}function QR(){const r=[];let e=0;const t=[],n=[],i=[];function s(){e=0,t.length=0,n.length=0,i.length=0}function o(g,y,_,S,M,b){let A=r[e];return A===void 0?(A={id:g.id,object:g,geometry:y,material:_,groupOrder:S,renderOrder:g.renderOrder,z:M,group:b},r[e]=A):(A.id=g.id,A.object=g,A.geometry=y,A.material=_,A.groupOrder=S,A.renderOrder=g.renderOrder,A.z=M,A.group=b),e++,A}function c(g,y,_,S,M,b){const A=o(g,y,_,S,M,b);_.transmission>0?n.push(A):_.transparent===!0?i.push(A):t.push(A)}function f(g,y,_,S,M,b){const A=o(g,y,_,S,M,b);_.transmission>0?n.unshift(A):_.transparent===!0?i.unshift(A):t.unshift(A)}function d(g,y){t.length>1&&t.sort(g||w8),n.length>1&&n.sort(y||KR),i.length>1&&i.sort(y||KR)}function m(){for(let g=e,y=r.length;g<y;g++){const _=r[g];if(_.id===null)break;_.id=null,_.object=null,_.geometry=null,_.material=null,_.group=null}}return{opaque:t,transmissive:n,transparent:i,init:s,push:c,unshift:f,finish:m,sort:d}}function R8(){let r=new WeakMap;function e(n,i){const s=r.get(n);let o;return s===void 0?(o=new QR,r.set(n,[o])):i>=s.length?(o=new QR,s.push(o)):o=s[i],o}function t(){r=new WeakMap}return{get:e,dispose:t}}function B8(){const r={};return{get:function(e){if(r[e.id]!==void 0)return r[e.id];let t;switch(e.type){case"DirectionalLight":t={direction:new Z,color:new dt};break;case"SpotLight":t={position:new Z,direction:new Z,color:new dt,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new Z,color:new dt,distance:0,decay:0};break;case"HemisphereLight":t={direction:new Z,skyColor:new dt,groundColor:new dt};break;case"RectAreaLight":t={color:new dt,position:new Z,halfWidth:new Z,halfHeight:new Z};break}return r[e.id]=t,t}}}function D8(){const r={};return{get:function(e){if(r[e.id]!==void 0)return r[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new qe};break;case"SpotLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new qe};break;case"PointLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new qe,shadowCameraNear:1,shadowCameraFar:1e3};break}return r[e.id]=t,t}}}let O8=0;function N8(r,e){return(e.castShadow?2:0)-(r.castShadow?2:0)+(e.map?1:0)-(r.map?1:0)}function L8(r){const e=new B8,t=D8(),n={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let d=0;d<9;d++)n.probe.push(new Z);const i=new Z,s=new Yt,o=new Yt;function c(d){let m=0,g=0,y=0;for(let P=0;P<9;P++)n.probe[P].set(0,0,0);let _=0,S=0,M=0,b=0,A=0,w=0,D=0,B=0,I=0,O=0,U=0;d.sort(N8);for(let P=0,N=d.length;P<N;P++){const G=d[P],X=G.color,Q=G.intensity,te=G.distance,le=G.shadow&&G.shadow.map?G.shadow.map.texture:null;if(G.isAmbientLight)m+=X.r*Q,g+=X.g*Q,y+=X.b*Q;else if(G.isLightProbe){for(let k=0;k<9;k++)n.probe[k].addScaledVector(G.sh.coefficients[k],Q);U++}else if(G.isDirectionalLight){const k=e.get(G);if(k.color.copy(G.color).multiplyScalar(G.intensity),G.castShadow){const W=G.shadow,ee=t.get(G);ee.shadowIntensity=W.intensity,ee.shadowBias=W.bias,ee.shadowNormalBias=W.normalBias,ee.shadowRadius=W.radius,ee.shadowMapSize=W.mapSize,n.directionalShadow[_]=ee,n.directionalShadowMap[_]=le,n.directionalShadowMatrix[_]=G.shadow.matrix,w++}n.directional[_]=k,_++}else if(G.isSpotLight){const k=e.get(G);k.position.setFromMatrixPosition(G.matrixWorld),k.color.copy(X).multiplyScalar(Q),k.distance=te,k.coneCos=Math.cos(G.angle),k.penumbraCos=Math.cos(G.angle*(1-G.penumbra)),k.decay=G.decay,n.spot[M]=k;const W=G.shadow;if(G.map&&(n.spotLightMap[I]=G.map,I++,W.updateMatrices(G),G.castShadow&&O++),n.spotLightMatrix[M]=W.matrix,G.castShadow){const ee=t.get(G);ee.shadowIntensity=W.intensity,ee.shadowBias=W.bias,ee.shadowNormalBias=W.normalBias,ee.shadowRadius=W.radius,ee.shadowMapSize=W.mapSize,n.spotShadow[M]=ee,n.spotShadowMap[M]=le,B++}M++}else if(G.isRectAreaLight){const k=e.get(G);k.color.copy(X).multiplyScalar(Q),k.halfWidth.set(G.width*.5,0,0),k.halfHeight.set(0,G.height*.5,0),n.rectArea[b]=k,b++}else if(G.isPointLight){const k=e.get(G);if(k.color.copy(G.color).multiplyScalar(G.intensity),k.distance=G.distance,k.decay=G.decay,G.castShadow){const W=G.shadow,ee=t.get(G);ee.shadowIntensity=W.intensity,ee.shadowBias=W.bias,ee.shadowNormalBias=W.normalBias,ee.shadowRadius=W.radius,ee.shadowMapSize=W.mapSize,ee.shadowCameraNear=W.camera.near,ee.shadowCameraFar=W.camera.far,n.pointShadow[S]=ee,n.pointShadowMap[S]=le,n.pointShadowMatrix[S]=G.shadow.matrix,D++}n.point[S]=k,S++}else if(G.isHemisphereLight){const k=e.get(G);k.skyColor.copy(G.color).multiplyScalar(Q),k.groundColor.copy(G.groundColor).multiplyScalar(Q),n.hemi[A]=k,A++}}b>0&&(r.has("OES_texture_float_linear")===!0?(n.rectAreaLTC1=mt.LTC_FLOAT_1,n.rectAreaLTC2=mt.LTC_FLOAT_2):(n.rectAreaLTC1=mt.LTC_HALF_1,n.rectAreaLTC2=mt.LTC_HALF_2)),n.ambient[0]=m,n.ambient[1]=g,n.ambient[2]=y;const z=n.hash;(z.directionalLength!==_||z.pointLength!==S||z.spotLength!==M||z.rectAreaLength!==b||z.hemiLength!==A||z.numDirectionalShadows!==w||z.numPointShadows!==D||z.numSpotShadows!==B||z.numSpotMaps!==I||z.numLightProbes!==U)&&(n.directional.length=_,n.spot.length=M,n.rectArea.length=b,n.point.length=S,n.hemi.length=A,n.directionalShadow.length=w,n.directionalShadowMap.length=w,n.pointShadow.length=D,n.pointShadowMap.length=D,n.spotShadow.length=B,n.spotShadowMap.length=B,n.directionalShadowMatrix.length=w,n.pointShadowMatrix.length=D,n.spotLightMatrix.length=B+I-O,n.spotLightMap.length=I,n.numSpotLightShadowsWithMaps=O,n.numLightProbes=U,z.directionalLength=_,z.pointLength=S,z.spotLength=M,z.rectAreaLength=b,z.hemiLength=A,z.numDirectionalShadows=w,z.numPointShadows=D,z.numSpotShadows=B,z.numSpotMaps=I,z.numLightProbes=U,n.version=O8++)}function f(d,m){let g=0,y=0,_=0,S=0,M=0;const b=m.matrixWorldInverse;for(let A=0,w=d.length;A<w;A++){const D=d[A];if(D.isDirectionalLight){const B=n.directional[g];B.direction.setFromMatrixPosition(D.matrixWorld),i.setFromMatrixPosition(D.target.matrixWorld),B.direction.sub(i),B.direction.transformDirection(b),g++}else if(D.isSpotLight){const B=n.spot[_];B.position.setFromMatrixPosition(D.matrixWorld),B.position.applyMatrix4(b),B.direction.setFromMatrixPosition(D.matrixWorld),i.setFromMatrixPosition(D.target.matrixWorld),B.direction.sub(i),B.direction.transformDirection(b),_++}else if(D.isRectAreaLight){const B=n.rectArea[S];B.position.setFromMatrixPosition(D.matrixWorld),B.position.applyMatrix4(b),o.identity(),s.copy(D.matrixWorld),s.premultiply(b),o.extractRotation(s),B.halfWidth.set(D.width*.5,0,0),B.halfHeight.set(0,D.height*.5,0),B.halfWidth.applyMatrix4(o),B.halfHeight.applyMatrix4(o),S++}else if(D.isPointLight){const B=n.point[y];B.position.setFromMatrixPosition(D.matrixWorld),B.position.applyMatrix4(b),y++}else if(D.isHemisphereLight){const B=n.hemi[M];B.direction.setFromMatrixPosition(D.matrixWorld),B.direction.transformDirection(b),M++}}}return{setup:c,setupView:f,state:n}}function ZR(r){const e=new L8(r),t=[],n=[];function i(m){d.camera=m,t.length=0,n.length=0}function s(m){t.push(m)}function o(m){n.push(m)}function c(){e.setup(t)}function f(m){e.setupView(t,m)}const d={lightsArray:t,shadowsArray:n,camera:null,lights:e,transmissionRenderTarget:{}};return{init:i,state:d,setupLights:c,setupLightsView:f,pushLight:s,pushShadow:o}}function U8(r){let e=new WeakMap;function t(i,s=0){const o=e.get(i);let c;return o===void 0?(c=new ZR(r),e.set(i,[c])):s>=o.length?(c=new ZR(r),o.push(c)):c=o[s],c}function n(){e=new WeakMap}return{get:t,dispose:n}}const I8=`void main() {
3837	gl_Position = vec4( position, 1.0 );
3838}`,P8=`uniform sampler2D shadow_pass;
3839uniform vec2 resolution;
3840uniform float radius;
3841#include <packing>
3842void main() {
3843	const float samples = float( VSM_SAMPLES );
3844	float mean = 0.0;
3845	float squared_mean = 0.0;
3846	float uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );
3847	float uvStart = samples <= 1.0 ? 0.0 : - 1.0;
3848	for ( float i = 0.0; i < samples; i ++ ) {
3849		float uvOffset = uvStart + i * uvStride;
3850		#ifdef HORIZONTAL_PASS
3851			vec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );
3852			mean += distribution.x;
3853			squared_mean += distribution.y * distribution.y + distribution.x * distribution.x;
3854		#else
3855			float depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );
3856			mean += depth;
3857			squared_mean += depth * depth;
3858		#endif
3859	}
3860	mean = mean / samples;
3861	squared_mean = squared_mean / samples;
3862	float std_dev = sqrt( squared_mean - mean * mean );
3863	gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );
3864}`;function H8(r,e,t){let n=new qm;const i=new qe,s=new qe,o=new Gn,c=new xT({depthPacking:UD}),f=new ST,d={},m=t.maxTextureSize,g={[rc]:Zs,[Zs]:rc,[ll]:ll},y=new ul({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new qe},radius:{value:4}},vertexShader:I8,fragmentShader:P8}),_=y.clone();_.defines.HORIZONTAL_PASS=1;const S=new ln;S.setAttribute("position",new Vn(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const M=new nr(S,y),b=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=wA;let A=this.type;this.render=function(O,U,z){if(b.enabled===!1||b.autoUpdate===!1&&b.needsUpdate===!1||O.length===0)return;const P=r.getRenderTarget(),N=r.getActiveCubeFace(),G=r.getActiveMipmapLevel(),X=r.state;X.setBlending(Zc),X.buffers.depth.getReversed()?X.buffers.color.setClear(0,0,0,0):X.buffers.color.setClear(1,1,1,1),X.buffers.depth.setTest(!0),X.setScissorTest(!1);const Q=A!==al&&this.type===al,te=A===al&&this.type!==al;for(let le=0,k=O.length;le<k;le++){const W=O[le],ee=W.shadow;if(ee===void 0){console.warn("THREE.WebGLShadowMap:",W,"has no shadow.");continue}if(ee.autoUpdate===!1&&ee.needsUpdate===!1)continue;i.copy(ee.mapSize);const pe=ee.getFrameExtents();if(i.multiply(pe),s.copy(ee.mapSize),(i.x>m||i.y>m)&&(i.x>m&&(s.x=Math.floor(m/pe.x),i.x=s.x*pe.x,ee.mapSize.x=s.x),i.y>m&&(s.y=Math.floor(m/pe.y),i.y=s.y*pe.y,ee.mapSize.y=s.y)),ee.map===null||Q===!0||te===!0){const re=this.type!==al?{minFilter:Gr,magFilter:Gr}:{};ee.map!==null&&ee.map.dispose(),ee.map=new sc(i.x,i.y,re),ee.map.texture.name=W.name+".shadowMap",ee.camera.updateProjectionMatrix()}r.setRenderTarget(ee.map),r.clear();const H=ee.getViewportCount();for(let re=0;re<H;re++){const ye=ee.getViewport(re);o.set(s.x*ye.x,s.y*ye.y,s.x*ye.z,s.y*ye.w),X.viewport(o),ee.updateMatrices(W,re),n=ee.getFrustum(),B(U,z,ee.camera,W,this.type)}ee.isPointLightShadow!==!0&&this.type===al&&w(ee,z),ee.needsUpdate=!1}A=this.type,b.needsUpdate=!1,r.setRenderTarget(P,N,G)};function w(O,U){const z=e.update(M);y.defines.VSM_SAMPLES!==O.blurSamples&&(y.defines.VSM_SAMPLES=O.blurSamples,_.defines.VSM_SAMPLES=O.blurSamples,y.needsUpdate=!0,_.needsUpdate=!0),O.mapPass===null&&(O.mapPass=new sc(i.x,i.y)),y.uniforms.shadow_pass.value=O.map.texture,y.uniforms.resolution.value=O.mapSize,y.uniforms.radius.value=O.radius,r.setRenderTarget(O.mapPass),r.clear(),r.renderBufferDirect(U,null,z,y,M,null),_.uniforms.shadow_pass.value=O.mapPass.texture,_.uniforms.resolution.value=O.mapSize,_.uniforms.radius.value=O.radius,r.setRenderTarget(O.map),r.clear(),r.renderBufferDirect(U,null,z,_,M,null)}function D(O,U,z,P){let N=null;const G=z.isPointLight===!0?O.customDistanceMaterial:O.customDepthMaterial;if(G!==void 0)N=G;else if(N=z.isPointLight===!0?f:c,r.localClippingEnabled&&U.clipShadows===!0&&Array.isArray(U.clippingPlanes)&&U.clippingPlanes.length!==0||U.displacementMap&&U.displacementScale!==0||U.alphaMap&&U.alphaTest>0||U.map&&U.alphaTest>0||U.alphaToCoverage===!0){const X=N.uuid,Q=U.uuid;let te=d[X];te===void 0&&(te={},d[X]=te);let le=te[Q];le===void 0&&(le=N.clone(),te[Q]=le,U.addEventListener("dispose",I)),N=le}if(N.visible=U.visible,N.wireframe=U.wireframe,P===al?N.side=U.shadowSide!==null?U.shadowSide:U.side:N.side=U.shadowSide!==null?U.shadowSide:g[U.side],N.alphaMap=U.alphaMap,N.alphaTest=U.alphaToCoverage===!0?.5:U.alphaTest,N.map=U.map,N.clipShadows=U.clipShadows,N.clippingPlanes=U.clippingPlanes,N.clipIntersection=U.clipIntersection,N.displacementMap=U.displacementMap,N.displacementScale=U.displacementScale,N.displacementBias=U.displacementBias,N.wireframeLinewidth=U.wireframeLinewidth,N.linewidth=U.linewidth,z.isPointLight===!0&&N.isMeshDistanceMaterial===!0){const X=r.properties.get(N);X.light=z}return N}function B(O,U,z,P,N){if(O.visible===!1)return;if(O.layers.test(U.layers)&&(O.isMesh||O.isLine||O.isPoints)&&(O.castShadow||O.receiveShadow&&N===al)&&(!O.frustumCulled||n.intersectsObject(O))){O.modelViewMatrix.multiplyMatrices(z.matrixWorldInverse,O.matrixWorld);const Q=e.update(O),te=O.material;if(Array.isArray(te)){const le=Q.groups;for(let k=0,W=le.length;k<W;k++){const ee=le[k],pe=te[ee.materialIndex];if(pe&&pe.visible){const H=D(O,pe,P,N);O.onBeforeShadow(r,O,U,z,Q,H,ee),r.renderBufferDirect(z,null,Q,H,O,ee),O.onAfterShadow(r,O,U,z,Q,H,ee)}}}else if(te.visible){const le=D(O,te,P,N);O.onBeforeShadow(r,O,U,z,Q,le,null),r.renderBufferDirect(z,null,Q,le,O,null),O.onAfterShadow(r,O,U,z,Q,le,null)}}const X=O.children;for(let Q=0,te=X.length;Q<te;Q++)B(X[Q],U,z,P,N)}function I(O){O.target.removeEventListener("dispose",I);for(const z in d){const P=d[z],N=O.target.uuid;N in P&&(P[N].dispose(),delete P[N])}}}const z8={[ES]:TS,[CS]:BS,[wS]:DS,[md]:RS,[TS]:ES,[BS]:CS,[DS]:wS,[RS]:md};function F8(r,e){function t(){let se=!1;const Ke=new Gn;let Qe=null;const ct=new Gn(0,0,0,0);return{setMask:function(je){Qe!==je&&!se&&(r.colorMask(je,je,je,je),Qe=je)},setLocked:function(je){se=je},setClear:function(je,Pe,_t,Nt,hn){hn===!0&&(je*=Nt,Pe*=Nt,_t*=Nt),Ke.set(je,Pe,_t,Nt),ct.equals(Ke)===!1&&(r.clearColor(je,Pe,_t,Nt),ct.copy(Ke))},reset:function(){se=!1,Qe=null,ct.set(-1,0,0,0)}}}function n(){let se=!1,Ke=!1,Qe=null,ct=null,je=null;return{setReversed:function(Pe){if(Ke!==Pe){const _t=e.get("EXT_clip_control");Pe?_t.clipControlEXT(_t.LOWER_LEFT_EXT,_t.ZERO_TO_ONE_EXT):_t.clipControlEXT(_t.LOWER_LEFT_EXT,_t.NEGATIVE_ONE_TO_ONE_EXT),Ke=Pe;const Nt=je;je=null,this.setClear(Nt)}},getReversed:function(){return Ke},setTest:function(Pe){Pe?Ne(r.DEPTH_TEST):Oe(r.DEPTH_TEST)},setMask:function(Pe){Qe!==Pe&&!se&&(r.depthMask(Pe),Qe=Pe)},setFunc:function(Pe){if(Ke&&(Pe=z8[Pe]),ct!==Pe){switch(Pe){case ES:r.depthFunc(r.NEVER);break;case TS:r.depthFunc(r.ALWAYS);break;case CS:r.depthFunc(r.LESS);break;case md:r.depthFunc(r.LEQUAL);break;case wS:r.depthFunc(r.EQUAL);break;case RS:r.depthFunc(r.GEQUAL);break;case BS:r.depthFunc(r.GREATER);break;case DS:r.depthFunc(r.NOTEQUAL);break;default:r.depthFunc(r.LEQUAL)}ct=Pe}},setLocked:function(Pe){se=Pe},setClear:function(Pe){je!==Pe&&(Ke&&(Pe=1-Pe),r.clearDepth(Pe),je=Pe)},reset:function(){se=!1,Qe=null,ct=null,je=null,Ke=!1}}}function i(){let se=!1,Ke=null,Qe=null,ct=null,je=null,Pe=null,_t=null,Nt=null,hn=null;return{setTest:function(ft){se||(ft?Ne(r.STENCIL_TEST):Oe(r.STENCIL_TEST))},setMask:function(ft){Ke!==ft&&!se&&(r.stencilMask(ft),Ke=ft)},setFunc:function(ft,wt,Vt){(Qe!==ft||ct!==wt||je!==Vt)&&(r.stencilFunc(ft,wt,Vt),Qe=ft,ct=wt,je=Vt)},setOp:function(ft,wt,Vt){(Pe!==ft||_t!==wt||Nt!==Vt)&&(r.stencilOp(ft,wt,Vt),Pe=ft,_t=wt,Nt=Vt)},setLocked:function(ft){se=ft},setClear:function(ft){hn!==ft&&(r.clearStencil(ft),hn=ft)},reset:function(){se=!1,Ke=null,Qe=null,ct=null,je=null,Pe=null,_t=null,Nt=null,hn=null}}}const s=new t,o=new n,c=new i,f=new WeakMap,d=new WeakMap;let m={},g={},y=new WeakMap,_=[],S=null,M=!1,b=null,A=null,w=null,D=null,B=null,I=null,O=null,U=new dt(0,0,0),z=0,P=!1,N=null,G=null,X=null,Q=null,te=null;const le=r.getParameter(r.MAX_COMBINED_TEXTURE_IMAGE_UNITS);let k=!1,W=0;const ee=r.getParameter(r.VERSION);ee.indexOf("WebGL")!==-1?(W=parseFloat(/^WebGL (\d)/.exec(ee)[1]),k=W>=1):ee.indexOf("OpenGL ES")!==-1&&(W=parseFloat(/^OpenGL ES (\d)/.exec(ee)[1]),k=W>=2);let pe=null,H={};const re=r.getParameter(r.SCISSOR_BOX),ye=r.getParameter(r.VIEWPORT),Ae=new Gn().fromArray(re),Te=new Gn().fromArray(ye);function he(se,Ke,Qe,ct){const je=new Uint8Array(4),Pe=r.createTexture();r.bindTexture(se,Pe),r.texParameteri(se,r.TEXTURE_MIN_FILTER,r.NEAREST),r.texParameteri(se,r.TEXTURE_MAG_FILTER,r.NEAREST);for(let _t=0;_t<Qe;_t++)se===r.TEXTURE_3D||se===r.TEXTURE_2D_ARRAY?r.texImage3D(Ke,0,r.RGBA,1,1,ct,0,r.RGBA,r.UNSIGNED_BYTE,je):r.texImage2D(Ke+_t,0,r.RGBA,1,1,0,r.RGBA,r.UNSIGNED_BYTE,je);return Pe}const xe={};xe[r.TEXTURE_2D]=he(r.TEXTURE_2D,r.TEXTURE_2D,1),xe[r.TEXTURE_CUBE_MAP]=he(r.TEXTURE_CUBE_MAP,r.TEXTURE_CUBE_MAP_POSITIVE_X,6),xe[r.TEXTURE_2D_ARRAY]=he(r.TEXTURE_2D_ARRAY,r.TEXTURE_2D_ARRAY,1,1),xe[r.TEXTURE_3D]=he(r.TEXTURE_3D,r.TEXTURE_3D,1,1),s.setClear(0,0,0,1),o.setClear(1),c.setClear(0),Ne(r.DEPTH_TEST),o.setFunc(md),Ge(!1),ie(k1),Ne(r.CULL_FACE),Ie(Zc);function Ne(se){m[se]!==!0&&(r.enable(se),m[se]=!0)}function Oe(se){m[se]!==!1&&(r.disable(se),m[se]=!1)}function We(se,Ke){return g[se]!==Ke?(r.bindFramebuffer(se,Ke),g[se]=Ke,se===r.DRAW_FRAMEBUFFER&&(g[r.FRAMEBUFFER]=Ke),se===r.FRAMEBUFFER&&(g[r.DRAW_FRAMEBUFFER]=Ke),
vendor: 5,710 bytes, line 3864
3864!0):!1}function gt(se,Ke){let Qe=_,ct=!1;if(se){Qe=y.get(Ke),Qe===void 0&&(Qe=[],y.set(Ke,Qe));const je=se.textures;if(Qe.length!==je.length||Qe[0]!==r.COLOR_ATTACHMENT0){for(let Pe=0,_t=je.length;Pe<_t;Pe++)Qe[Pe]=r.COLOR_ATTACHMENT0+Pe;Qe.length=je.length,ct=!0}}else Qe[0]!==r.BACK&&(Qe[0]=r.BACK,ct=!0);ct&&r.drawBuffers(Qe)}function Ft(se){return S!==se?(r.useProgram(se),S=se,!0):!1}const At={[hf]:r.FUNC_ADD,[rD]:r.FUNC_SUBTRACT,[sD]:r.FUNC_REVERSE_SUBTRACT};At[aD]=r.MIN,At[oD]=r.MAX;const ne={[lD]:r.ZERO,[cD]:r.ONE,[uD]:r.SRC_COLOR,[bS]:r.SRC_ALPHA,[gD]:r.SRC_ALPHA_SATURATE,[pD]:r.DST_COLOR,[hD]:r.DST_ALPHA,[fD]:r.ONE_MINUS_SRC_COLOR,[MS]:r.ONE_MINUS_SRC_ALPHA,[mD]:r.ONE_MINUS_DST_COLOR,[dD]:r.ONE_MINUS_DST_ALPHA,[vD]:r.CONSTANT_COLOR,[yD]:r.ONE_MINUS_CONSTANT_COLOR,[_D]:r.CONSTANT_ALPHA,[xD]:r.ONE_MINUS_CONSTANT_ALPHA};function Ie(se,Ke,Qe,ct,je,Pe,_t,Nt,hn,ft){if(se===Zc){M===!0&&(Oe(r.BLEND),M=!1);return}if(M===!1&&(Ne(r.BLEND),M=!0),se!==iD){if(se!==b||ft!==P){if((A!==hf||B!==hf)&&(r.blendEquation(r.FUNC_ADD),A=hf,B=hf),ft)switch(se){case sd:r.blendFuncSeparate(r.ONE,r.ONE_MINUS_SRC_ALPHA,r.ONE,r.ONE_MINUS_SRC_ALPHA);break;case X1:r.blendFunc(r.ONE,r.ONE);break;case Y1:r.blendFuncSeparate(r.ZERO,r.ONE_MINUS_SRC_COLOR,r.ZERO,r.ONE);break;case j1:r.blendFuncSeparate(r.DST_COLOR,r.ONE_MINUS_SRC_ALPHA,r.ZERO,r.ONE);break;default:console.error("THREE.WebGLState: Invalid blending: ",se);break}else switch(se){case sd:r.blendFuncSeparate(r.SRC_ALPHA,r.ONE_MINUS_SRC_ALPHA,r.ONE,r.ONE_MINUS_SRC_ALPHA);break;case X1:r.blendFuncSeparate(r.SRC_ALPHA,r.ONE,r.ONE,r.ONE);break;case Y1:console.error("THREE.WebGLState: SubtractiveBlending requires material.premultipliedAlpha = true");break;case j1:console.error("THREE.WebGLState: MultiplyBlending requires material.premultipliedAlpha = true");break;default:console.error("THREE.WebGLState: Invalid blending: ",se);break}w=null,D=null,I=null,O=null,U.set(0,0,0),z=0,b=se,P=ft}return}je=je||Ke,Pe=Pe||Qe,_t=_t||ct,(Ke!==A||je!==B)&&(r.blendEquationSeparate(At[Ke],At[je]),A=Ke,B=je),(Qe!==w||ct!==D||Pe!==I||_t!==O)&&(r.blendFuncSeparate(ne[Qe],ne[ct],ne[Pe],ne[_t]),w=Qe,D=ct,I=Pe,O=_t),(Nt.equals(U)===!1||hn!==z)&&(r.blendColor(Nt.r,Nt.g,Nt.b,hn),U.copy(Nt),z=hn),b=se,P=!1}function Le(se,Ke){se.side===ll?Oe(r.CULL_FACE):Ne(r.CULL_FACE);let Qe=se.side===Zs;Ke&&(Qe=!Qe),Ge(Qe),se.blending===sd&&se.transparent===!1?Ie(Zc):Ie(se.blending,se.blendEquation,se.blendSrc,se.blendDst,se.blendEquationAlpha,se.blendSrcAlpha,se.blendDstAlpha,se.blendColor,se.blendAlpha,se.premultipliedAlpha),o.setFunc(se.depthFunc),o.setTest(se.depthTest),o.setMask(se.depthWrite),s.setMask(se.colorWrite);const ct=se.stencilWrite;c.setTest(ct),ct&&(c.setMask(se.stencilWriteMask),c.setFunc(se.stencilFunc,se.stencilRef,se.stencilFuncMask),c.setOp(se.stencilFail,se.stencilZFail,se.stencilZPass)),ke(se.polygonOffset,se.polygonOffsetFactor,se.polygonOffsetUnits),se.alphaToCoverage===!0?Ne(r.SAMPLE_ALPHA_TO_COVERAGE):Oe(r.SAMPLE_ALPHA_TO_COVERAGE)}function Ge(se){N!==se&&(se?r.frontFace(r.CW):r.frontFace(r.CCW),N=se)}function ie(se){se!==eD?(Ne(r.CULL_FACE),se!==G&&(se===k1?r.cullFace(r.BACK):se===tD?r.cullFace(r.FRONT):r.cullFace(r.FRONT_AND_BACK))):Oe(r.CULL_FACE),G=se}function Ze(se){se!==X&&(k&&r.lineWidth(se),X=se)}function ke(se,Ke,Qe){se?(Ne(r.POLYGON_OFFSET_FILL),(Q!==Ke||te!==Qe)&&(r.polygonOffset(Ke,Qe),Q=Ke,te=Qe)):Oe(r.POLYGON_OFFSET_FILL)}function Je(se){se?Ne(r.SCISSOR_TEST):Oe(r.SCISSOR_TEST)}function ht(se){se===void 0&&(se=r.TEXTURE0+le-1),pe!==se&&(r.activeTexture(se),pe=se)}function Lt(se,Ke,Qe){Qe===void 0&&(pe===null?Qe=r.TEXTURE0+le-1:Qe=pe);let ct=H[Qe];ct===void 0&&(ct={type:void 0,texture:void 0},H[Qe]=ct),(ct.type!==se||ct.texture!==Ke)&&(pe!==Qe&&(r.activeTexture(Qe),pe=Qe),r.bindTexture(se,Ke||xe[se]),ct.type=se,ct.texture=Ke)}function J(){const se=H[pe];se!==void 0&&se.type!==void 0&&(r.bindTexture(se.type,null),se.type=void 0,se.texture=void 0)}function V(){try{r.compressedTexImage2D(...arguments)}catch(se){console.error("THREE.WebGLState:",se)}}function me(){try{r.compressedTexImage3D(...arguments)}catch(se){console.error("THREE.WebGLState:",se)}}function we(){try{r.texSubImage2D(...arguments)}catch(se){console.error("THREE.WebGLState:",se)}}function Ue(){try{r.texSubImage3D(...arguments)}catch(se){console.error("THREE.WebGLState:",se)}}function Re(){try{r.compressedTexSubImage2D(...arguments)}catch(se){console.error("THREE.WebGLState:",se)}}function ot(){try{r.compressedTexSubImage3D(...arguments)}catch(se){console.error("THREE.WebGLState:",se)}}function $e(){try{r.texStorage2D(...arguments)}catch(se){console.error("THREE.WebGLState:",se)}}function St(){try{r.texStorage3D(...arguments)}catch(se){console.error("THREE.WebGLState:",se)}}function lt(){try{r.texImage2D(...arguments)}catch(se){console.error("THREE.WebGLState:",se)}}function Ye(){try{r.texImage3D(...arguments)}catch(se){console.error("THREE.WebGLState:",se)}}function nt(se){Ae.equals(se)===!1&&(r.scissor(se.x,se.y,se.z,se.w),Ae.copy(se))}function Mt(se){Te.equals(se)===!1&&(r.viewport(se.x,se.y,se.z,se.w),Te.copy(se))}function yt(se,Ke){let Qe=d.get(Ke);Qe===void 0&&(Qe=new WeakMap,d.set(Ke,Qe));let ct=Qe.get(se);ct===void 0&&(ct=r.getUniformBlockIndex(Ke,se.name),Qe.set(se,ct))}function rt(se,Ke){const ct=d.get(Ke).get(se);f.get(Ke)!==ct&&(r.uniformBlockBinding(Ke,ct,se.__bindingPointIndex),f.set(Ke,ct))}function Pt(){r.disable(r.BLEND),r.disable(r.CULL_FACE),r.disable(r.DEPTH_TEST),r.disable(r.POLYGON_OFFSET_FILL),r.disable(r.SCISSOR_TEST),r.disable(r.STENCIL_TEST),r.disable(r.SAMPLE_ALPHA_TO_COVERAGE),r.blendEquation(r.FUNC_ADD),r.blendFunc(r.ONE,r.ZERO),r.blendFuncSeparate(r.ONE,r.ZERO,r.ONE,r.ZERO),r.blendColor
vendor: 5,339 bytes, line 3864
3864(0,0,0,0),r.colorMask(!0,!0,!0,!0),r.clearColor(0,0,0,0),r.depthMask(!0),r.depthFunc(r.LESS),o.setReversed(!1),r.clearDepth(1),r.stencilMask(4294967295),r.stencilFunc(r.ALWAYS,0,4294967295),r.stencilOp(r.KEEP,r.KEEP,r.KEEP),r.clearStencil(0),r.cullFace(r.BACK),r.frontFace(r.CCW),r.polygonOffset(0,0),r.activeTexture(r.TEXTURE0),r.bindFramebuffer(r.FRAMEBUFFER,null),r.bindFramebuffer(r.DRAW_FRAMEBUFFER,null),r.bindFramebuffer(r.READ_FRAMEBUFFER,null),r.useProgram(null),r.lineWidth(1),r.scissor(0,0,r.canvas.width,r.canvas.height),r.viewport(0,0,r.canvas.width,r.canvas.height),m={},pe=null,H={},g={},y=new WeakMap,_=[],S=null,M=!1,b=null,A=null,w=null,D=null,B=null,I=null,O=null,U=new dt(0,0,0),z=0,P=!1,N=null,G=null,X=null,Q=null,te=null,Ae.set(0,0,r.canvas.width,r.canvas.height),Te.set(0,0,r.canvas.width,r.canvas.height),s.reset(),o.reset(),c.reset()}return{buffers:{color:s,depth:o,stencil:c},enable:Ne,disable:Oe,bindFramebuffer:We,drawBuffers:gt,useProgram:Ft,setBlending:Ie,setMaterial:Le,setFlipSided:Ge,setCullFace:ie,setLineWidth:Ze,setPolygonOffset:ke,setScissorTest:Je,activeTexture:ht,bindTexture:Lt,unbindTexture:J,compressedTexImage2D:V,compressedTexImage3D:me,texImage2D:lt,texImage3D:Ye,updateUBOMapping:yt,uniformBlockBinding:rt,texStorage2D:$e,texStorage3D:St,texSubImage2D:we,texSubImage3D:Ue,compressedTexSubImage2D:Re,compressedTexSubImage3D:ot,scissor:nt,viewport:Mt,reset:Pt}}function G8(r,e,t,n,i,s,o){const c=e.has("WEBGL_multisampled_render_to_texture")?e.get("WEBGL_multisampled_render_to_texture"):null,f=typeof navigator>"u"?!1:/OculusBrowser/g.test(navigator.userAgent),d=new qe,m=new WeakMap;let g;const y=new WeakMap;let _=!1;try{_=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function S(J,V){return _?new OffscreenCanvas(J,V):Av("canvas")}function M(J,V,me){let we=1;const Ue=Lt(J);if((Ue.width>me||Ue.height>me)&&(we=me/Math.max(Ue.width,Ue.height)),we<1)if(typeof HTMLImageElement<"u"&&J instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&J instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&J instanceof ImageBitmap||typeof VideoFrame<"u"&&J instanceof VideoFrame){const Re=Math.floor(we*Ue.width),ot=Math.floor(we*Ue.height);g===void 0&&(g=S(Re,ot));const $e=V?S(Re,ot):g;return $e.width=Re,$e.height=ot,$e.getContext("2d").drawImage(J,0,0,Re,ot),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+Ue.width+"x"+Ue.height+") to ("+Re+"x"+ot+")."),$e}else return"data"in J&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+Ue.width+"x"+Ue.height+")."),J;return J}function b(J){return J.generateMipmaps}function A(J){r.generateMipmap(J)}function w(J){return J.isWebGLCubeRenderTarget?r.TEXTURE_CUBE_MAP:J.isWebGL3DRenderTarget?r.TEXTURE_3D:J.isWebGLArrayRenderTarget||J.isCompressedArrayTexture?r.TEXTURE_2D_ARRAY:r.TEXTURE_2D}function D(J,V,me,we,Ue=!1){if(J!==null){if(r[J]!==void 0)return r[J];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+J+"'")}let Re=V;if(V===r.RED&&(me===r.FLOAT&&(Re=r.R32F),me===r.HALF_FLOAT&&(Re=r.R16F),me===r.UNSIGNED_BYTE&&(Re=r.R8)),V===r.RED_INTEGER&&(me===r.UNSIGNED_BYTE&&(Re=r.R8UI),me===r.UNSIGNED_SHORT&&(Re=r.R16UI),me===r.UNSIGNED_INT&&(Re=r.R32UI),me===r.BYTE&&(Re=r.R8I),me===r.SHORT&&(Re=r.R16I),me===r.INT&&(Re=r.R32I)),V===r.RG&&(me===r.FLOAT&&(Re=r.RG32F),me===r.HALF_FLOAT&&(Re=r.RG16F),me===r.UNSIGNED_BYTE&&(Re=r.RG8)),V===r.RG_INTEGER&&(me===r.UNSIGNED_BYTE&&(Re=r.RG8UI),me===r.UNSIGNED_SHORT&&(Re=r.RG16UI),me===r.UNSIGNED_INT&&(Re=r.RG32UI),me===r.BYTE&&(Re=r.RG8I),me===r.SHORT&&(Re=r.RG16I),me===r.INT&&(Re=r.RG32I)),V===r.RGB_INTEGER&&(me===r.UNSIGNED_BYTE&&(Re=r.RGB8UI),me===r.UNSIGNED_SHORT&&(Re=r.RGB16UI),me===r.UNSIGNED_INT&&(Re=r.RGB32UI),me===r.BYTE&&(Re=r.RGB8I),me===r.SHORT&&(Re=r.RGB16I),me===r.INT&&(Re=r.RGB32I)),V===r.RGBA_INTEGER&&(me===r.UNSIGNED_BYTE&&(Re=r.RGBA8UI),me===r.UNSIGNED_SHORT&&(Re=r.RGBA16UI),me===r.UNSIGNED_INT&&(Re=r.RGBA32UI),me===r.BYTE&&(Re=r.RGBA8I),me===r.SHORT&&(Re=r.RGBA16I),me===r.INT&&(Re=r.RGBA32I)),V===r.RGB&&me===r.UNSIGNED_INT_5_9_9_9_REV&&(Re=r.RGB9_E5),V===r.RGBA){const ot=Ue?xv:Un.getTransfer(we);me===r.FLOAT&&(Re=r.RGBA32F),me===r.HALF_FLOAT&&(Re=r.RGBA16F),me===r.UNSIGNED_BYTE&&(Re=ot===ri?r.SRGB8_ALPHA8:r.RGBA8),me===r.UNSIGNED_SHORT_4_4_4_4&&(Re=r.RGBA4),me===r.UNSIGNED_SHORT_5_5_5_1&&(Re=r.RGB5_A1)}return(Re===r.R16F||Re===r.R32F||Re===r.RG16F||Re===r.RG32F||Re===r.RGBA16F||Re===r.RGBA32F)&&e.get("EXT_color_buffer_float"),Re}function B(J,V){let me;return J?V===null||V===ru||V===Mm?me=r.DEPTH24_STENCIL8:V===va?me=r.DEPTH32F_STENCIL8:V===bm&&(me=r.DEPTH24_STENCIL8,console.warn("DepthTexture: 16 bit depth attachment is not supported with stencil. Using 24-bit attachment.")):V===null||V===ru||V===Mm?me=r.DEPTH_COMPONENT24:V===va?me=r.DEPTH_COMPONENT32F:V===bm&&(me=r.DEPTH_COMPONENT16),me}function I(J,V){return b(J)===!0||J.isFramebufferTexture&&J.minFilter!==Gr&&J.minFilter!==tr?Math.log2(Math.max(V.width,V.height))+1:J.mipmaps!==void 0&&J.mipmaps.length>0?J.mipmaps.length:J.isCompressedTexture&&Array.isArray(J.image)?V.mipmaps.length:1}function O(J){const V=J.target;V.removeEventListener("dispose",O),z(V),V.isVideoTexture&&m.delete(V)}function U(J){const V=J.target;V.removeEventListener("dispose",U),N(V)}function z(J){const V=n.get(J);
vendor: 10,497 bytes, line 3864
3864if(V.__webglInit===void 0)return;const me=J.source,we=y.get(me);if(we){const Ue=we[V.__cacheKey];Ue.usedTimes--,Ue.usedTimes===0&&P(J),Object.keys(we).length===0&&y.delete(me)}n.remove(J)}function P(J){const V=n.get(J);r.deleteTexture(V.__webglTexture);const me=J.source,we=y.get(me);delete we[V.__cacheKey],o.memory.textures--}function N(J){const V=n.get(J);if(J.depthTexture&&(J.depthTexture.dispose(),n.remove(J.depthTexture)),J.isWebGLCubeRenderTarget)for(let we=0;we<6;we++){if(Array.isArray(V.__webglFramebuffer[we]))for(let Ue=0;Ue<V.__webglFramebuffer[we].length;Ue++)r.deleteFramebuffer(V.__webglFramebuffer[we][Ue]);else r.deleteFramebuffer(V.__webglFramebuffer[we]);V.__webglDepthbuffer&&r.deleteRenderbuffer(V.__webglDepthbuffer[we])}else{if(Array.isArray(V.__webglFramebuffer))for(let we=0;we<V.__webglFramebuffer.length;we++)r.deleteFramebuffer(V.__webglFramebuffer[we]);else r.deleteFramebuffer(V.__webglFramebuffer);if(V.__webglDepthbuffer&&r.deleteRenderbuffer(V.__webglDepthbuffer),V.__webglMultisampledFramebuffer&&r.deleteFramebuffer(V.__webglMultisampledFramebuffer),V.__webglColorRenderbuffer)for(let we=0;we<V.__webglColorRenderbuffer.length;we++)V.__webglColorRenderbuffer[we]&&r.deleteRenderbuffer(V.__webglColorRenderbuffer[we]);V.__webglDepthRenderbuffer&&r.deleteRenderbuffer(V.__webglDepthRenderbuffer)}const me=J.textures;for(let we=0,Ue=me.length;we<Ue;we++){const Re=n.get(me[we]);Re.__webglTexture&&(r.deleteTexture(Re.__webglTexture),o.memory.textures--),n.remove(me[we])}n.remove(J)}let G=0;function X(){G=0}function Q(){const J=G;return J>=i.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+J+" texture units while this GPU supports only "+i.maxTextures),G+=1,J}function te(J){const V=[];return V.push(J.wrapS),V.push(J.wrapT),V.push(J.wrapR||0),V.push(J.magFilter),V.push(J.minFilter),V.push(J.anisotropy),V.push(J.internalFormat),V.push(J.format),V.push(J.type),V.push(J.generateMipmaps),V.push(J.premultiplyAlpha),V.push(J.flipY),V.push(J.unpackAlignment),V.push(J.colorSpace),V.join()}function le(J,V){const me=n.get(J);if(J.isVideoTexture&&Je(J),J.isRenderTargetTexture===!1&&J.isExternalTexture!==!0&&J.version>0&&me.__version!==J.version){const we=J.image;if(we===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(we.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{xe(me,J,V);return}}else J.isExternalTexture&&(me.__webglTexture=J.sourceTexture?J.sourceTexture:null);t.bindTexture(r.TEXTURE_2D,me.__webglTexture,r.TEXTURE0+V)}function k(J,V){const me=n.get(J);if(J.isRenderTargetTexture===!1&&J.version>0&&me.__version!==J.version){xe(me,J,V);return}t.bindTexture(r.TEXTURE_2D_ARRAY,me.__webglTexture,r.TEXTURE0+V)}function W(J,V){const me=n.get(J);if(J.isRenderTargetTexture===!1&&J.version>0&&me.__version!==J.version){xe(me,J,V);return}t.bindTexture(r.TEXTURE_3D,me.__webglTexture,r.TEXTURE0+V)}function ee(J,V){const me=n.get(J);if(J.version>0&&me.__version!==J.version){Ne(me,J,V);return}t.bindTexture(r.TEXTURE_CUBE_MAP,me.__webglTexture,r.TEXTURE0+V)}const pe={[Ef]:r.REPEAT,[ka]:r.CLAMP_TO_EDGE,[Am]:r.MIRRORED_REPEAT},H={[Gr]:r.NEAREST,[BA]:r.NEAREST_MIPMAP_NEAREST,[Qh]:r.NEAREST_MIPMAP_LINEAR,[tr]:r.LINEAR,[hm]:r.LINEAR_MIPMAP_NEAREST,[bo]:r.LINEAR_MIPMAP_LINEAR},re={[PD]:r.NEVER,[kD]:r.ALWAYS,[HD]:r.LESS,[tT]:r.LEQUAL,[zD]:r.EQUAL,[VD]:r.GEQUAL,[FD]:r.GREATER,[GD]:r.NOTEQUAL};function ye(J,V){if(V.type===va&&e.has("OES_texture_float_linear")===!1&&(V.magFilter===tr||V.magFilter===hm||V.magFilter===Qh||V.magFilter===bo||V.minFilter===tr||V.minFilter===hm||V.minFilter===Qh||V.minFilter===bo)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),r.texParameteri(J,r.TEXTURE_WRAP_S,pe[V.wrapS]),r.texParameteri(J,r.TEXTURE_WRAP_T,pe[V.wrapT]),(J===r.TEXTURE_3D||J===r.TEXTURE_2D_ARRAY)&&r.texParameteri(J,r.TEXTURE_WRAP_R,pe[V.wrapR]),r.texParameteri(J,r.TEXTURE_MAG_FILTER,H[V.magFilter]),r.texParameteri(J,r.TEXTURE_MIN_FILTER,H[V.minFilter]),V.compareFunction&&(r.texParameteri(J,r.TEXTURE_COMPARE_MODE,r.COMPARE_REF_TO_TEXTURE),r.texParameteri(J,r.TEXTURE_COMPARE_FUNC,re[V.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){if(V.magFilter===Gr||V.minFilter!==Qh&&V.minFilter!==bo||V.type===va&&e.has("OES_texture_float_linear")===!1)return;if(V.anisotropy>1||n.get(V).__currentAnisotropy){const me=e.get("EXT_texture_filter_anisotropic");r.texParameterf(J,me.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(V.anisotropy,i.getMaxAnisotropy())),n.get(V).__currentAnisotropy=V.anisotropy}}}function Ae(J,V){let me=!1;J.__webglInit===void 0&&(J.__webglInit=!0,V.addEventListener("dispose",O));const we=V.source;let Ue=y.get(we);Ue===void 0&&(Ue={},y.set(we,Ue));const Re=te(V);if(Re!==J.__cacheKey){Ue[Re]===void 0&&(Ue[Re]={texture:r.createTexture(),usedTimes:0},o.memory.textures++,me=!0),Ue[Re].usedTimes++;const ot=Ue[J.__cacheKey];ot!==void 0&&(Ue[J.__cacheKey].usedTimes--,ot.usedTimes===0&&P(V)),J.__cacheKey=Re,J.__webglTexture=Ue[Re].texture}return me}function Te(J,V,me){return Math.floor(Math.floor(J/me)/V)}function he(J,V,me,we){const Re=J.updateRanges;if(Re.length===0)t.texSubImage2D(r.TEXTURE_2D,0,0,0,V.width,V.height,me,we,V.data);else{Re.sort((Ye,nt)=>Ye.start-nt.start);let ot=0;for(let Ye=1;Ye<Re.length;Ye++){const nt=Re[ot],Mt=Re[Ye],yt=nt.start+nt.count,rt=Te(Mt.start,V.width,4),Pt=Te(nt.start,V.width,4);Mt.start<=yt+1&&rt===Pt&&Te(Mt.start+Mt.count-1,V.width,4)===rt?nt.count=Math.max(nt.count,Mt.start+Mt.count-nt.start):(++ot,Re[ot]=Mt)}Re.length=ot+1;const $e=r.getParameter(r.UNPACK_ROW_LENGTH),St=r.getParameter(r.UNPACK_SKIP_PIXELS),lt=r.getParameter(r.UNPACK_SKIP_ROWS);r.pixelStorei(r.UNPACK_ROW_LENGTH,V.width);for(let Ye=0,nt=Re.length;Ye<nt;Ye++){const Mt=Re[Ye],yt=Math.floor(Mt.start/4),rt=Math.ceil(Mt.count/4),Pt=yt%V.width,se=Math.floor(yt/V.width),Ke=rt,Qe=1;r.pixelStorei(r.UNPACK_SKIP_PIXELS,Pt),r.pixelStorei(r.UNPACK_SKIP_ROWS,se),t.texSubImage2D(r.TEXTURE_2D,0,Pt,se,Ke,Qe,me,we,V.data)}J.clearUpdateRanges(),r.pixelStorei(r.UNPACK_ROW_LENGTH,$e),r.pixelStorei(r.UNPACK_SKIP_PIXELS,St),r.pixelStorei(r.UNPACK_SKIP_ROWS,lt)}}function xe(J,V,me){let we=r.TEXTURE_2D;(V.isDataArrayTexture||V.isCompressedArrayTexture)&&(we=r.TEXTURE_2D_ARRAY),V.isData3DTexture&&(we=r.TEXTURE_3D);const Ue=Ae(J,V),Re=V.source;t.bindTexture(we,J.__webglTexture,r.TEXTURE0+me);const ot=n.get(Re);if(Re.version!==ot.__version||Ue===!0){t.activeTexture(r.TEXTURE0+me);const $e=Un.getPrimaries(Un.workingColorSpace),St=V.colorSpace===qc?null:Un.getPrimaries(V.colorSpace),lt=V.colorSpace===qc||$e===St?r.NONE:r.BROWSER_DEFAULT_WEBGL;r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,V.flipY),r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,V.premultiplyAlpha),r.pixelStorei(r.UNPACK_ALIGNMENT,V.unpackAlignment),r.pixelStorei(r.UNPACK_COLORSPACE_CONVERSION_WEBGL,lt);let Ye=M(V.image,!1,i.maxTextureSize);Ye=ht(V,Ye);const nt=s.convert(V.format,V.colorSpace),Mt=s.convert(V.type);let yt=D(V.internalFormat,nt,Mt,V.colorSpace,V.isVideoTexture);ye(we,V);let rt;const Pt=V.mipmaps,se=V.isVideoTexture!==!0,Ke=ot.__version===void 0||Ue===!0,Qe=Re.dataReady,ct=I(V,Ye);if(V.isDepthTexture)yt=B(V.format===Tm,V.type),Ke&&(se?t.texStorage2D(r.TEXTURE_2D,1,yt,Ye.width,Ye.height):t.texImage2D(r.TEXTURE_2D,0,yt,Ye.width,Ye.height,0,nt,Mt,null));else if(V.isDataTexture)if(Pt.length>0){se&&Ke&&t.texStorage2D(r.TEXTURE_2D,ct,yt,Pt[0].width,Pt[0].height);for(let je=0,Pe=Pt.length;je<Pe;je++)rt=Pt[je],se?Qe&&t.texSubImage2D(r.TEXTURE_2D,je,0,0,rt.width,rt.height,nt,Mt,rt.data):t.texImage2D(r.TEXTURE_2D,je,yt,rt.width,rt.height,0,nt,Mt,rt.data);V.generateMipmaps=!1}else se?(Ke&&t.texStorage2D(r.TEXTURE_2D,ct,yt,Ye.width,Ye.height),Qe&&he(V,Ye,nt,Mt)):t.texImage2D(r.TEXTURE_2D,0,yt,Ye.width,Ye.height,0,nt,Mt,Ye.data);else if(V.isCompressedTexture)if(V.isCompressedArrayTexture){se&&Ke&&t.texStorage3D(r.TEXTURE_2D_ARRAY,ct,yt,Pt[0].width,Pt[0].height,Ye.depth);for(let je=0,Pe=Pt.length;je<Pe;je++)if(rt=Pt[je],V.format!==xs)if(nt!==null)if(se){if(Qe)if(V.layerUpdates.size>0){const _t=tE(rt.width,rt.height,V.format,V.type);for(const Nt of V.layerUpdates){const hn=rt.data.subarray(Nt*_t/rt.data.BYTES_PER_ELEMENT,(Nt+1)*_t/rt.data.BYTES_PER_ELEMENT);t.compressedTexSubImage3D(r.TEXTURE_2D_ARRAY,je,0,0,Nt,rt.width,rt.height,1,nt,hn)}V.clearLayerUpdates()}else t.compressedTexSubImage3D(r.TEXTURE_2D_ARRAY,je,0,0,0,rt.width,rt.height,Ye.depth,nt,rt.data)}else t.compressedTexImage3D(r.TEXTURE_2D_ARRAY,je,yt,rt.width,rt.height,Ye.depth,0,rt.data,0,0);else console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()");else se?Qe&&t.texSubImage3D(r.TEXTURE_2D_ARRAY,je,0,0,0,rt.width,rt.height,Ye.depth,nt,Mt,rt.data):t.texImage3D(r.TEXTURE_2D_ARRAY,je,yt,rt.width,rt.height,Ye.depth,0,nt,Mt,rt.data)}else{se&&Ke&&t.texStorage2D(r.TEXTURE_2D,ct,yt,Pt[0].width,Pt[0].height);for(let je=0,Pe=Pt.length;je<Pe;je++)rt=Pt[je],V.format!==xs?nt!==null?se?Qe&&t.compressedTexSubImage2D(r.TEXTURE_2D,je,0,0,rt.width,rt.height,nt,rt.data):t.compressedTexImage2D(r.TEXTURE_2D,je,yt,rt.width,rt.height,0,rt.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):se?Qe&&t.texSubImage2D(r.TEXTURE_2D,je,0,0,rt.width,rt.height,nt,Mt,rt.data):t.texImage2D(r.TEXTURE_2D,je,yt,rt.width,rt.height,0,nt,Mt,rt.data)}else if(V.isDataArrayTexture)if(se){if(Ke&&t.texStorage3D(r.TEXTURE_2D_ARRAY,ct,yt,Ye.width,Ye.height,Ye.depth),Qe)if(V.layerUpdates.size>0){const je=tE(Ye.width,Ye.height,V.format,V.type);for(const Pe of V.layerUpdates){const _t=Ye.data.subarray(Pe*je/Ye.data.BYTES_PER_ELEMENT,(Pe+1)*je/Ye.data.BYTES_PER_ELEMENT);t.texSubImage3D(r.TEXTURE_2D_ARRAY,0,0,0,Pe,Ye.width,Ye.height,1,nt,Mt,_t)}V.clearLayerUpdates()}else t.texSubImage3D(r.TEXTURE_2D_ARRAY,0,0,0,0,Ye.width,Ye.height,Ye.depth,nt,Mt,Ye.data)}else t.texImage3D(r.TEXTURE_2D_ARRAY,0,yt,Ye.width,Ye.height,Ye.depth,0,nt,Mt,Ye.data);else if(V.isData3DTexture)se?(Ke&&t.texStorage3D(r.TEXTURE_3D,ct,yt,Ye.width,Ye.height,Ye.depth),Qe&&t.texSubImage3D(r.TEXTURE_3D,0,0,0,0,Ye.width,Ye.height,Ye.depth,nt,Mt,Ye.data)):t.texImage3D(r.TEXTURE_3D,0,yt,Ye.width,Ye.height,Ye.depth,0,nt,Mt,Ye.data);else if(V.isFramebufferTexture){if(Ke)if(se)t.texStorage2D(r.TEXTURE_2D,ct,yt,Ye.width,Ye.height);else{let je=Ye.width,Pe=Ye.height;for(let _t=0;_t<ct;
vendor: 9,501 bytes, line 3864
3864_t++)t.texImage2D(r.TEXTURE_2D,_t,yt,je,Pe,0,nt,Mt,null),je>>=1,Pe>>=1}}else if(Pt.length>0){if(se&&Ke){const je=Lt(Pt[0]);t.texStorage2D(r.TEXTURE_2D,ct,yt,je.width,je.height)}for(let je=0,Pe=Pt.length;je<Pe;je++)rt=Pt[je],se?Qe&&t.texSubImage2D(r.TEXTURE_2D,je,0,0,nt,Mt,rt):t.texImage2D(r.TEXTURE_2D,je,yt,nt,Mt,rt);V.generateMipmaps=!1}else if(se){if(Ke){const je=Lt(Ye);t.texStorage2D(r.TEXTURE_2D,ct,yt,je.width,je.height)}Qe&&t.texSubImage2D(r.TEXTURE_2D,0,0,0,nt,Mt,Ye)}else t.texImage2D(r.TEXTURE_2D,0,yt,nt,Mt,Ye);b(V)&&A(we),ot.__version=Re.version,V.onUpdate&&V.onUpdate(V)}J.__version=V.version}function Ne(J,V,me){if(V.image.length!==6)return;const we=Ae(J,V),Ue=V.source;t.bindTexture(r.TEXTURE_CUBE_MAP,J.__webglTexture,r.TEXTURE0+me);const Re=n.get(Ue);if(Ue.version!==Re.__version||we===!0){t.activeTexture(r.TEXTURE0+me);const ot=Un.getPrimaries(Un.workingColorSpace),$e=V.colorSpace===qc?null:Un.getPrimaries(V.colorSpace),St=V.colorSpace===qc||ot===$e?r.NONE:r.BROWSER_DEFAULT_WEBGL;r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,V.flipY),r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,V.premultiplyAlpha),r.pixelStorei(r.UNPACK_ALIGNMENT,V.unpackAlignment),r.pixelStorei(r.UNPACK_COLORSPACE_CONVERSION_WEBGL,St);const lt=V.isCompressedTexture||V.image[0].isCompressedTexture,Ye=V.image[0]&&V.image[0].isDataTexture,nt=[];for(let Pe=0;Pe<6;Pe++)!lt&&!Ye?nt[Pe]=M(V.image[Pe],!0,i.maxCubemapSize):nt[Pe]=Ye?V.image[Pe].image:V.image[Pe],nt[Pe]=ht(V,nt[Pe]);const Mt=nt[0],yt=s.convert(V.format,V.colorSpace),rt=s.convert(V.type),Pt=D(V.internalFormat,yt,rt,V.colorSpace),se=V.isVideoTexture!==!0,Ke=Re.__version===void 0||we===!0,Qe=Ue.dataReady;let ct=I(V,Mt);ye(r.TEXTURE_CUBE_MAP,V);let je;if(lt){se&&Ke&&t.texStorage2D(r.TEXTURE_CUBE_MAP,ct,Pt,Mt.width,Mt.height);for(let Pe=0;Pe<6;Pe++){je=nt[Pe].mipmaps;for(let _t=0;_t<je.length;_t++){const Nt=je[_t];V.format!==xs?yt!==null?se?Qe&&t.compressedTexSubImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+Pe,_t,0,0,Nt.width,Nt.height,yt,Nt.data):t.compressedTexImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+Pe,_t,Pt,Nt.width,Nt.height,0,Nt.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):se?Qe&&t.texSubImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+Pe,_t,0,0,Nt.width,Nt.height,yt,rt,Nt.data):t.texImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+Pe,_t,Pt,Nt.width,Nt.height,0,yt,rt,Nt.data)}}}else{if(je=V.mipmaps,se&&Ke){je.length>0&&ct++;const Pe=Lt(nt[0]);t.texStorage2D(r.TEXTURE_CUBE_MAP,ct,Pt,Pe.width,Pe.height)}for(let Pe=0;Pe<6;Pe++)if(Ye){se?Qe&&t.texSubImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+Pe,0,0,0,nt[Pe].width,nt[Pe].height,yt,rt,nt[Pe].data):t.texImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+Pe,0,Pt,nt[Pe].width,nt[Pe].height,0,yt,rt,nt[Pe].data);for(let _t=0;_t<je.length;_t++){const hn=je[_t].image[Pe].image;se?Qe&&t.texSubImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+Pe,_t+1,0,0,hn.width,hn.height,yt,rt,hn.data):t.texImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+Pe,_t+1,Pt,hn.width,hn.height,0,yt,rt,hn.data)}}else{se?Qe&&t.texSubImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+Pe,0,0,0,yt,rt,nt[Pe]):t.texImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+Pe,0,Pt,yt,rt,nt[Pe]);for(let _t=0;_t<je.length;_t++){const Nt=je[_t];se?Qe&&t.texSubImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+Pe,_t+1,0,0,yt,rt,Nt.image[Pe]):t.texImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+Pe,_t+1,Pt,yt,rt,Nt.image[Pe])}}}b(V)&&A(r.TEXTURE_CUBE_MAP),Re.__version=Ue.version,V.onUpdate&&V.onUpdate(V)}J.__version=V.version}function Oe(J,V,me,we,Ue,Re){const ot=s.convert(me.format,me.colorSpace),$e=s.convert(me.type),St=D(me.internalFormat,ot,$e,me.colorSpace),lt=n.get(V),Ye=n.get(me);if(Ye.__renderTarget=V,!lt.__hasExternalTextures){const nt=Math.max(1,V.width>>Re),Mt=Math.max(1,V.height>>Re);Ue===r.TEXTURE_3D||Ue===r.TEXTURE_2D_ARRAY?t.texImage3D(Ue,Re,St,nt,Mt,V.depth,0,ot,$e,null):t.texImage2D(Ue,Re,St,nt,Mt,0,ot,$e,null)}t.bindFramebuffer(r.FRAMEBUFFER,J),ke(V)?c.framebufferTexture2DMultisampleEXT(r.FRAMEBUFFER,we,Ue,Ye.__webglTexture,0,Ze(V)):(Ue===r.TEXTURE_2D||Ue>=r.TEXTURE_CUBE_MAP_POSITIVE_X&&Ue<=r.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&r.framebufferTexture2D(r.FRAMEBUFFER,we,Ue,Ye.__webglTexture,Re),t.bindFramebuffer(r.FRAMEBUFFER,null)}function We(J,V,me){if(r.bindRenderbuffer(r.RENDERBUFFER,J),V.depthBuffer){const we=V.depthTexture,Ue=we&&we.isDepthTexture?we.type:null,Re=B(V.stencilBuffer,Ue),ot=V.stencilBuffer?r.DEPTH_STENCIL_ATTACHMENT:r.DEPTH_ATTACHMENT,$e=Ze(V);ke(V)?c.renderbufferStorageMultisampleEXT(r.RENDERBUFFER,$e,Re,V.width,V.height):me?r.renderbufferStorageMultisample(r.RENDERBUFFER,$e,Re,V.width,V.height):r.renderbufferStorage(r.RENDERBUFFER,Re,V.width,V.height),r.framebufferRenderbuffer(r.FRAMEBUFFER,ot,r.RENDERBUFFER,J)}else{const we=V.textures;for(let Ue=0;Ue<we.length;Ue++){const Re=we[Ue],ot=s.convert(Re.format,Re.colorSpace),$e=s.convert(Re.type),St=D(Re.internalFormat,ot,$e,Re.colorSpace),lt=Ze(V);me&&ke(V)===!1?r.renderbufferStorageMultisample(r.RENDERBUFFER,lt,St,V.width,V.height):ke(V)?c.renderbufferStorageMultisampleEXT(r.RENDERBUFFER,lt,St,V.width,V.height):r.renderbufferStorage(r.RENDERBUFFER,St,V.width,V.height)}}r.bindRenderbuffer(r.RENDERBUFFER,null)}function gt(J,V){if(V&&V.isWebGLCubeRenderTarget)throw new Error("Depth Texture with cube render targets is not supported");if(t.bindFramebuffer(r.FRAMEBUFFER,J),!(V.depthTexture&&V.depthTexture.isDepthTexture))throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");const we=n.get(V.depthTexture);we.__renderTarget=V,(!we.__webglTexture||V.depthTexture.image.width!==V.width||V.depthTexture.image.height!==V.height)&&(V.depthTexture.image.width=V.width,V.depthTexture.image.height=V.height,V.depthTexture.needsUpdate=!0),le(V.depthTexture,0);const Ue=we.__webglTexture,Re=Ze(V);if(V.depthTexture.format===Em)ke(V)?c.framebufferTexture2DMultisampleEXT(r.FRAMEBUFFER,r.DEPTH_ATTACHMENT,r.TEXTURE_2D,Ue,0,Re):r.framebufferTexture2D(r.FRAMEBUFFER,r.DEPTH_ATTACHMENT,r.TEXTURE_2D,Ue,0);else if(V.depthTexture.format===Tm)ke(V)?c.framebufferTexture2DMultisampleEXT(r.FRAMEBUFFER,r.DEPTH_STENCIL_ATTACHMENT,r.TEXTURE_2D,Ue,0,Re):r.framebufferTexture2D(r.FRAMEBUFFER,r.DEPTH_STENCIL_ATTACHMENT,r.TEXTURE_2D,Ue,0);else throw new Error("Unknown depthTexture format")}function Ft(J){const V=n.get(J),me=J.isWebGLCubeRenderTarget===!0;if(V.__boundDepthTexture!==J.depthTexture){const we=J.depthTexture;if(V.__depthDisposeCallback&&V.__depthDisposeCallback(),we){const Ue=()=>{delete V.__boundDepthTexture,delete V.__depthDisposeCallback,we.removeEventListener("dispose",Ue)};we.addEventListener("dispose",Ue),V.__depthDisposeCallback=Ue}V.__boundDepthTexture=we}if(J.depthTexture&&!V.__autoAllocateDepthBuffer){if(me)throw new Error("target.depthTexture not supported in Cube render targets");const we=J.texture.mipmaps;we&&we.length>0?gt(V.__webglFramebuffer[0],J):gt(V.__webglFramebuffer,J)}else if(me){V.__webglDepthbuffer=[];for(let we=0;we<6;we++)if(t.bindFramebuffer(r.FRAMEBUFFER,V.__webglFramebuffer[we]),V.__webglDepthbuffer[we]===void 0)V.__webglDepthbuffer[we]=r.createRenderbuffer(),We(V.__webglDepthbuffer[we],J,!1);else{const Ue=J.stencilBuffer?r.DEPTH_STENCIL_ATTACHMENT:r.DEPTH_ATTACHMENT,Re=V.__webglDepthbuffer[we];r.bindRenderbuffer(r.RENDERBUFFER,Re),r.framebufferRenderbuffer(r.FRAMEBUFFER,Ue,r.RENDERBUFFER,Re)}}else{const we=J.texture.mipmaps;if(we&&we.length>0?t.bindFramebuffer(r.FRAMEBUFFER,V.__webglFramebuffer[0]):t.bindFramebuffer(r.FRAMEBUFFER,V.__webglFramebuffer),V.__webglDepthbuffer===void 0)V.__webglDepthbuffer=r.createRenderbuffer(),We(V.__webglDepthbuffer,J,!1);else{const Ue=J.stencilBuffer?r.DEPTH_STENCIL_ATTACHMENT:r.DEPTH_ATTACHMENT,Re=V.__webglDepthbuffer;r.bindRenderbuffer(r.RENDERBUFFER,Re),r.framebufferRenderbuffer(r.FRAMEBUFFER,Ue,r.RENDERBUFFER,Re)}}t.bindFramebuffer(r.FRAMEBUFFER,null)}function At(J,V,me){const we=n.get(J);V!==void 0&&Oe(we.__webglFramebuffer,J,J.texture,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,0),me!==void 0&&Ft(J)}function ne(J){const V=J.texture,me=n.get(J),we=n.get(V);J.addEventListener("dispose",U);const Ue=J.textures,Re=J.isWebGLCubeRenderTarget===!0,ot=Ue.length>1;if(ot||(we.__webglTexture===void 0&&(we.__webglTexture=r.createTexture()),we.__version=V.version,o.memory.textures++),Re){me.__webglFramebuffer=[];for(let $e=0;$e<6;$e++)if(V.mipmaps&&V.mipmaps.length>0){me.__webglFramebuffer[$e]=[];for(let St=0;St<V.mipmaps.length;St++)me.__webglFramebuffer[$e][St]=r.createFramebuffer()}else me.__webglFramebuffer[$e]=r.createFramebuffer()}else{if(V.mipmaps&&V.mipmaps.length>0){me.__webglFramebuffer=[];for(let $e=0;$e<V.mipmaps.length;$e++)me.__webglFramebuffer[$e]=r.createFramebuffer()}else me.__webglFramebuffer=r.createFramebuffer();if(ot)for(let $e=0,St=Ue.length;$e<St;$e++){const lt=n.get(Ue[$e]);lt.__webglTexture===void 0&&(lt.__webglTexture=r.createTexture(),o.memory.textures++)}if(J.samples>0&&ke(J)===!1){me.__webglMultisampledFramebuffer=r.createFramebuffer(),me.__webglColorRenderbuffer=[],t.bindFramebuffer(r.FRAMEBUFFER,me.__webglMultisampledFramebuffer);for(let $e=0;$e<Ue.length;$e++){const St=Ue[$e];me.__webglColorRenderbuffer[$e]=r.createRenderbuffer(),r.bindRenderbuffer(r.RENDERBUFFER,me.__webglColorRenderbuffer[$e]);const lt=s.convert(St.format,St.colorSpace),Ye=s.convert(St.type),nt=D(St.internalFormat,lt,Ye,St.colorSpace,J.isXRRenderTarget===!0),Mt=Ze(J);r.renderbufferStorageMultisample(r.RENDERBUFFER,Mt,nt,J.width,J.height),r.framebufferRenderbuffer(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0+$e,r.RENDERBUFFER,me.__webglColorRen
vendor: 4,500 bytes, line 3864
3864derbuffer[$e])}r.bindRenderbuffer(r.RENDERBUFFER,null),J.depthBuffer&&(me.__webglDepthRenderbuffer=r.createRenderbuffer(),We(me.__webglDepthRenderbuffer,J,!0)),t.bindFramebuffer(r.FRAMEBUFFER,null)}}if(Re){t.bindTexture(r.TEXTURE_CUBE_MAP,we.__webglTexture),ye(r.TEXTURE_CUBE_MAP,V);for(let $e=0;$e<6;$e++)if(V.mipmaps&&V.mipmaps.length>0)for(let St=0;St<V.mipmaps.length;St++)Oe(me.__webglFramebuffer[$e][St],J,V,r.COLOR_ATTACHMENT0,r.TEXTURE_CUBE_MAP_POSITIVE_X+$e,St);else Oe(me.__webglFramebuffer[$e],J,V,r.COLOR_ATTACHMENT0,r.TEXTURE_CUBE_MAP_POSITIVE_X+$e,0);b(V)&&A(r.TEXTURE_CUBE_MAP),t.unbindTexture()}else if(ot){for(let $e=0,St=Ue.length;$e<St;$e++){const lt=Ue[$e],Ye=n.get(lt);let nt=r.TEXTURE_2D;(J.isWebGL3DRenderTarget||J.isWebGLArrayRenderTarget)&&(nt=J.isWebGL3DRenderTarget?r.TEXTURE_3D:r.TEXTURE_2D_ARRAY),t.bindTexture(nt,Ye.__webglTexture),ye(nt,lt),Oe(me.__webglFramebuffer,J,lt,r.COLOR_ATTACHMENT0+$e,nt,0),b(lt)&&A(nt)}t.unbindTexture()}else{let $e=r.TEXTURE_2D;if((J.isWebGL3DRenderTarget||J.isWebGLArrayRenderTarget)&&($e=J.isWebGL3DRenderTarget?r.TEXTURE_3D:r.TEXTURE_2D_ARRAY),t.bindTexture($e,we.__webglTexture),ye($e,V),V.mipmaps&&V.mipmaps.length>0)for(let St=0;St<V.mipmaps.length;St++)Oe(me.__webglFramebuffer[St],J,V,r.COLOR_ATTACHMENT0,$e,St);else Oe(me.__webglFramebuffer,J,V,r.COLOR_ATTACHMENT0,$e,0);b(V)&&A($e),t.unbindTexture()}J.depthBuffer&&Ft(J)}function Ie(J){const V=J.textures;for(let me=0,we=V.length;me<we;me++){const Ue=V[me];if(b(Ue)){const Re=w(J),ot=n.get(Ue).__webglTexture;t.bindTexture(Re,ot),A(Re),t.unbindTexture()}}}const Le=[],Ge=[];function ie(J){if(J.samples>0){if(ke(J)===!1){const V=J.textures,me=J.width,we=J.height;let Ue=r.COLOR_BUFFER_BIT;const Re=J.stencilBuffer?r.DEPTH_STENCIL_ATTACHMENT:r.DEPTH_ATTACHMENT,ot=n.get(J),$e=V.length>1;if($e)for(let lt=0;lt<V.length;lt++)t.bindFramebuffer(r.FRAMEBUFFER,ot.__webglMultisampledFramebuffer),r.framebufferRenderbuffer(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0+lt,r.RENDERBUFFER,null),t.bindFramebuffer(r.FRAMEBUFFER,ot.__webglFramebuffer),r.framebufferTexture2D(r.DRAW_FRAMEBUFFER,r.COLOR_ATTACHMENT0+lt,r.TEXTURE_2D,null,0);t.bindFramebuffer(r.READ_FRAMEBUFFER,ot.__webglMultisampledFramebuffer);const St=J.texture.mipmaps;St&&St.length>0?t.bindFramebuffer(r.DRAW_FRAMEBUFFER,ot.__webglFramebuffer[0]):t.bindFramebuffer(r.DRAW_FRAMEBUFFER,ot.__webglFramebuffer);for(let lt=0;lt<V.length;lt++){if(J.resolveDepthBuffer&&(J.depthBuffer&&(Ue|=r.DEPTH_BUFFER_BIT),J.stencilBuffer&&J.resolveStencilBuffer&&(Ue|=r.STENCIL_BUFFER_BIT)),$e){r.framebufferRenderbuffer(r.READ_FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.RENDERBUFFER,ot.__webglColorRenderbuffer[lt]);const Ye=n.get(V[lt]).__webglTexture;r.framebufferTexture2D(r.DRAW_FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,Ye,0)}r.blitFramebuffer(0,0,me,we,0,0,me,we,Ue,r.NEAREST),f===!0&&(Le.length=0,Ge.length=0,Le.push(r.COLOR_ATTACHMENT0+lt),J.depthBuffer&&J.resolveDepthBuffer===!1&&(Le.push(Re),Ge.push(Re),r.invalidateFramebuffer(r.DRAW_FRAMEBUFFER,Ge)),r.invalidateFramebuffer(r.READ_FRAMEBUFFER,Le))}if(t.bindFramebuffer(r.READ_FRAMEBUFFER,null),t.bindFramebuffer(r.DRAW_FRAMEBUFFER,null),$e)for(let lt=0;lt<V.length;lt++){t.bindFramebuffer(r.FRAMEBUFFER,ot.__webglMultisampledFramebuffer),r.framebufferRenderbuffer(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0+lt,r.RENDERBUFFER,ot.__webglColorRenderbuffer[lt]);const Ye=n.get(V[lt]).__webglTexture;t.bindFramebuffer(r.FRAMEBUFFER,ot.__webglFramebuffer),r.framebufferTexture2D(r.DRAW_FRAMEBUFFER,r.COLOR_ATTACHMENT0+lt,r.TEXTURE_2D,Ye,0)}t.bindFramebuffer(r.DRAW_FRAMEBUFFER,ot.__webglMultisampledFramebuffer)}else if(J.depthBuffer&&J.resolveDepthBuffer===!1&&f){const V=J.stencilBuffer?r.DEPTH_STENCIL_ATTACHMENT:r.DEPTH_ATTACHMENT;r.invalidateFramebuffer(r.DRAW_FRAMEBUFFER,[V])}}}function Ze(J){return Math.min(i.maxSamples,J.samples)}function ke(J){const V=n.get(J);return J.samples>0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&V.__useRenderToTexture!==!1}function Je(J){const V=o.render.frame;m.get(J)!==V&&(m.set(J,V),J.update())}function ht(J,V){const me=J.colorSpace,we=J.format,Ue=J.type;return J.isCompressedTexture===!0||J.isVideoTexture===!0||me!==Tf&&me!==qc&&(Un.getTransfer(me)===ri?(we!==xs||Ue!==wo)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",me)),V}function Lt(J){return typeof HTMLImageElement<"u"&&J instanceof HTMLImageElement?(d.width=J.naturalWi
vendor: 4,363 bytes, line 3864
3864dth||J.width,d.height=J.naturalHeight||J.height):typeof VideoFrame<"u"&&J instanceof VideoFrame?(d.width=J.displayWidth,d.height=J.displayHeight):(d.width=J.width,d.height=J.height),d}this.allocateTextureUnit=Q,this.resetTextureUnits=X,this.setTexture2D=le,this.setTexture2DArray=k,this.setTexture3D=W,this.setTextureCube=ee,this.rebindTextures=At,this.setupRenderTarget=ne,this.updateRenderTargetMipmap=Ie,this.updateMultisampleRenderTarget=ie,this.setupDepthRenderbuffer=Ft,this.setupFrameBufferTexture=Oe,this.useMultisampledRTT=ke}function qO(r,e){function t(n,i=qc){let s;const o=Un.getTransfer(i);if(n===wo)return r.UNSIGNED_BYTE;if(n===OA)return r.UNSIGNED_SHORT_4_4_4_4;if(n===NA)return r.UNSIGNED_SHORT_5_5_5_1;if(n===WE)return r.UNSIGNED_INT_5_9_9_9_REV;if(n===jE)return r.BYTE;if(n===qE)return r.SHORT;if(n===bm)return r.UNSIGNED_SHORT;if(n===DA)return r.INT;if(n===ru)return r.UNSIGNED_INT;if(n===va)return r.FLOAT;if(n===Ym)return r.HALF_FLOAT;if(n===JE)return r.ALPHA;if(n===KE)return r.RGB;if(n===xs)return r.RGBA;if(n===Em)return r.DEPTH_COMPONENT;if(n===Tm)return r.DEPTH_STENCIL;if(n===LA)return r.RED;if(n===Vv)return r.RED_INTEGER;if(n===QE)return r.RG;if(n===UA)return r.RG_INTEGER;if(n===IA)return r.RGBA_INTEGER;if(n===J0||n===K0||n===Q0||n===Z0)if(o===ri)if(s=e.get("WEBGL_compressed_texture_s3tc_srgb"),s!==null){if(n===J0)return s.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(n===K0)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(n===Q0)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(n===Z0)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(s=e.get("WEBGL_compressed_texture_s3tc"),s!==null){if(n===J0)return s.COMPRESSED_RGB_S3TC_DXT1_EXT;if(n===K0)return s.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(n===Q0)return s.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(n===Z0)return s.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(n===OS||n===NS||n===LS||n===US)if(s=e.get("WEBGL_compressed_texture_pvrtc"),s!==null){if(n===OS)return s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(n===NS)return s.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(n===LS)return s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(n===US)return s.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(n===IS||n===PS||n===HS)if(s=e.get("WEBGL_compressed_texture_etc"),s!==null){if(n===IS||n===PS)return o===ri?s.COMPRESSED_SRGB8_ETC2:s.COMPRESSED_RGB8_ETC2;if(n===HS)return o===ri?s.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:s.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(n===zS||n===FS||n===GS||n===VS||n===kS||n===XS||n===YS||n===jS||n===qS||n===WS||n===JS||n===KS||n===QS||n===ZS)if(s=e.get("WEBGL_compressed_texture_astc"),s!==null){if(n===zS)return o===ri?s.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:s.COMPRESSED_RGBA_ASTC_4x4_KHR;if(n===FS)return o===ri?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:s.COMPRESSED_RGBA_ASTC_5x4_KHR;if(n===GS)return o===ri?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:s.COMPRESSED_RGBA_ASTC_5x5_KHR;if(n===VS)return o===ri?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:s.COMPRESSED_RGBA_ASTC_6x5_KHR;if(n===kS)return o===ri?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:s.COMPRESSED_RGBA_ASTC_6x6_KHR;if(n===XS)return o===ri?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:s.COMPRESSED_RGBA_ASTC_8x5_KHR;if(n===YS)return o===ri?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:s.COMPRESSED_RGBA_ASTC_8x6_KHR;if(n===jS)return o===ri?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:s.COMPRESSED_RGBA_ASTC_8x8_KHR;if(n===qS)return o===ri?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:s.COMPRESSED_RGBA_ASTC_10x5_KHR;if(n===WS)return o===ri?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:s.COMPRESSED_RGBA_ASTC_10x6_KHR;if(n===JS)return o===ri?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:s.COMPRESSED_RGBA_ASTC_10x8_KHR;if(n===KS)return o===ri?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:s.COMPRESSED_RGBA_ASTC_10x10_KHR;if(n===QS)return o===ri?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:s.COMPRESSED_RGBA_ASTC_12x10_KHR;if(n===ZS)return o===ri?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:s.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(n===$0||n===$S||n===eA)if(s=e.get("EXT_texture_compression_bptc"),s!==null){if(n===$0)return o===ri?s.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:s.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(n===$S)return s.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(n===eA)return s.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(n===ZE||n===tA||n===nA||n===iA)if(s=e.get("EXT_texture_compression_rgtc"),s!==null){if(n===$0)return s.COMPRESSED_RED_RGT
vendor: 12,740 bytes, lines 3864-3888
3864C1_EXT;if(n===tA)return s.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(n===nA)return s.COMPRESSED_RED_GREEN_RGTC2_EXT;if(n===iA)return s.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return n===Mm?r.UNSIGNED_INT_24_8:r[n]!==void 0?r[n]:null}return{convert:t}}class WO extends Bi{constructor(e=null){super(),this.sourceTexture=e,this.isExternalTexture=!0}}const V8=`
3865void main() {
3866
3867	gl_Position = vec4( position, 1.0 );
3868
3869}`,k8=`
3870uniform sampler2DArray depthColor;
3871uniform float depthWidth;
3872uniform float depthHeight;
3873
3874void main() {
3875
3876	vec2 coord = vec2( gl_FragCoord.x / depthWidth, gl_FragCoord.y / depthHeight );
3877
3878	if ( coord.x >= 1.0 ) {
3879
3880		gl_FragDepth = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r;
3881
3882	} else {
3883
3884		gl_FragDepth = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r;
3885
3886	}
3887
3888}`;class X8{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t){if(this.texture===null){const n=new WO(e.texture);(e.depthNear!==t.depthNear||e.depthFar!==t.depthFar)&&(this.depthNear=e.depthNear,this.depthFar=e.depthFar),this.texture=n}}getMesh(e){if(this.texture!==null&&this.mesh===null){const t=e.cameras[0].viewport,n=new ul({vertexShader:V8,fragmentShader:k8,uniforms:{depthColor:{value:this.texture},depthWidth:{value:t.z},depthHeight:{value:t.w}}});this.mesh=new nr(new Wm(20,20),n)}return this.mesh}reset(){this.texture=null,this.mesh=null}getDepthTexture(){return this.texture}}class Y8 extends lc{constructor(e,t){super();const n=this;let i=null,s=1,o=null,c="local-floor",f=1,d=null,m=null,g=null,y=null,_=null,S=null;const M=new X8,b={},A=t.getContextAttributes();let w=null,D=null;const B=[],I=[],O=new qe;let U=null;const z=new wr;z.viewport=new Gn;const P=new wr;P.viewport=new Gn;const N=[z,P],G=new IO;let X=null,Q=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(he){let xe=B[he];return xe===void 0&&(xe=new aS,B[he]=xe),xe.getTargetRaySpace()},this.getControllerGrip=function(he){let xe=B[he];return xe===void 0&&(xe=new aS,B[he]=xe),xe.getGripSpace()},this.getHand=function(he){let xe=B[he];return xe===void 0&&(xe=new aS,B[he]=xe),xe.getHandSpace()};function te(he){const xe=I.indexOf(he.inputSource);if(xe===-1)return;const Ne=B[xe];Ne!==void 0&&(Ne.update(he.inputSource,he.frame,d||o),Ne.dispatchEvent({type:he.type,data:he.inputSource}))}function le(){i.removeEventListener("select",te),i.removeEventListener("selectstart",te),i.removeEventListener("selectend",te),i.removeEventListener("squeeze",te),i.removeEventListener("squeezestart",te),i.removeEventListener("squeezeend",te),i.removeEventListener("end",le),i.removeEventListener("inputsourceschange",k);for(let he=0;he<B.length;he++){const xe=I[he];xe!==null&&(I[he]=null,B[he].disconnect(xe))}X=null,Q=null,M.reset();for(const he in b)delete b[he];e.setRenderTarget(w),_=null,y=null,g=null,i=null,D=null,Te.stop(),n.isPresenting=!1,e.setPixelRatio(U),e.setSize(O.width,O.height,!1),n.dispatchEvent({type:"sessionend"})}this.setFramebufferScaleFactor=function(he){s=he,n.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(he){c=he,n.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return d||o},this.setReferenceSpace=function(he){d=he},this.getBaseLayer=function(){return y!==null?y:_},this.getBinding=function(){return g},this.getFrame=function(){return S},this.getSession=function(){return i},this.setSession=async function(he){if(i=he,i!==null){if(w=e.getRenderTarget(),i.addEventListener("select",te),i.addEventListener("selectstart",te),i.addEventListener("selectend",te),i.addEventListener("squeeze",te),i.addEventListener("squeezestart",te),i.addEventListener("squeezeend",te),i.addEventListener("end",le),i.addEventListener("inputsourceschange",k),A.xrCompatible!==!0&&await t.makeXRCompatible(),U=e.getPixelRatio(),e.getSize(O),typeof XRWebGLBinding<"u"&&(g=new XRWebGLBinding(i,t)),g!==null&&"createProjectionLayer"in XRWebGLBinding.prototype){let Ne=null,Oe=null,We=null;A.depth&&(We=A.stencil?t.DEPTH24_STENCIL8:t.DEPTH_COMPONENT24,Ne=A.stencil?Tm:Em,Oe=A.stencil?Mm:ru);const gt={colorFormat:t.RGBA8,depthFormat:We,scaleFactor:s};y=g.createProjectionLayer(gt),i.updateRenderState({layers:[y]}),e.setPixelRatio(1),e.setSize(y.textureWidth,y.textureHeight,!1),D=new sc(y.textureWidth,y.textureHeight,{format:xs,type:wo,depthTexture:new dT(y.textureWidth,y.textureHeight,Oe,void 0,void 0,void 0,void 0,void 0,void 0,Ne),stencilBuffer:A.stencil,colorSpace:e.outputColorSpace,samples:A.antialias?4:0,resolveDepthBuffer:y.ignoreDepthValues===!1,resolveStencilBuffer:y.ignoreDepthValues===!1})}else{const Ne={antialias:A.antialias,alpha:!0,depth:A.depth,stencil:A.stencil,framebufferScaleFactor:s};_=new XRWebGLLayer(i,t,Ne),i.updateRenderState({baseLayer:_}),e.setPixelRatio(1),e.setSize(_.framebufferWidth,_.framebufferHeight,!1),D=new sc(_.framebufferWidth,_.framebufferHeight,{format:xs,type:wo,colorSpace:e.outputColorSpace,stencilBuffer:A.stencil,resolveDepthBuffer:_.ignoreDepthValues===!1,resolveStencilBuffer:_.ignoreDepthValues===!1})}D.isXRRenderTarget=!0,this.setFoveation(f),d=null,o=await i.requestReferenceSpace(c),Te.setContext(i),Te.start(),n.isPresenting=!0,n.dispatchEvent({type:"sessionstart"})}},this.getEnvironmentBlendMode=function(){if(i!==null)return i.environmentBlendMode},this.getDepthTexture=function(){return M.getDepthTexture()};function k(he){for(let xe=0;xe<he.removed.length;xe++){const Ne=he.removed[xe],Oe=I.indexOf(Ne);Oe>=0&&(I[Oe]=null,B[Oe].disconnect(Ne))}for(let xe=0;xe<he.added.length;xe++){const Ne=he.added[xe];let Oe=I.indexOf(Ne);if(Oe===-1){for(let gt=0;gt<B.length;gt++)if(gt>=I.length){I.push(Ne),Oe=gt;break}else if(I[gt]===null){I[gt]=Ne,Oe=gt;break}if(Oe===-1)break}const We=B[Oe];We&&We.connect(Ne)}}const W=new Z,ee=new Z;function pe(he,xe,Ne){W.setFromMatrixPosition(xe.matrixWorld),ee.setFromMatrixPosition(Ne.matrixWorld);const Oe=W.distanceTo(ee),We=xe.projectionMatrix.elements,gt=Ne.projectionMatrix.elements,Ft=We[14]/(We[10]-1),At=We[14]/(We[10]+1),ne=(We[9]+1)/We[5],Ie=(We[9]-1)/We[5],Le=(We[8]-1)/We[0],Ge=(gt[8]+1)/gt[0],ie=Ft*Le,Ze=Ft*Ge,ke=Oe/(-Le+Ge),Je=ke*-Le;if(xe.matrixWorld.decompose(he.position,he.quaternion,he.scale),he.translateX(Je),he.translateZ(ke),he.matrixWorld.compose(he.position,he.quaternion,he.scale),he.matrixWorldInverse.copy(he.matrixWorld).invert(),We[10]===-1)he.projectionMatrix.copy(xe.projectionMatrix),he.projectionMatrixInverse.copy(xe.projectionMatrixInverse);else{const ht=Ft+ke,Lt=At+ke,J=ie-Je,V=Ze+(Oe-Je),me=ne*At/Lt*ht,we=Ie*At/Lt*ht;he.projectionMatrix.makePerspective(J,V,me,we,ht,Lt),he.projectionMatrixInverse.copy(he.projectionMatrix).invert()}}function H(he,xe){xe===null?he.matrixWorld.copy(he.matrix):he.matrixWorld.multiplyMatrices(xe.matrixWorld,he.matrix),he.matrixWorldInverse.copy(he.matrixWorld).invert()}this.updateCamera=function(he){if(i===null)return;let xe=he.near,Ne=he.far;M.texture!==null&&(M.depthNear>0&&(xe=M.depthNear),M.depthFar>0&&(Ne=M.depthFar)),G.near=P.near=z.near=xe,G.far=P.far=z.far=Ne,(X!==G.near||Q!==G.far)&&(i.updateRenderState({depthNear:G.near,depthFar:G.far}),X=G.near,Q=G.far),G.layers.mask=he.layers.mask|6,z.layers.mask=G.layers.mask&3,P.layers.mask=G.layers.mask&5;const Oe=he.parent,We=G.cameras;H(G,Oe);for(let gt=0;gt<We.length;gt++)H(We[gt],Oe);We.length===2?pe(G,z,P):G.projectionMatrix.copy(z.projectionMatrix),re(he,G,Oe)};function re(he,xe,Ne){Ne===null?he.matrix.copy(xe.matrixWorld):(he.matrix.copy(Ne.matrixWorld),he.matrix.invert(),he.matrix.multiply(xe.matrixWorld)),he.matrix.decompose(he.position,he.quaternion,he.scale),he.updateMatrixWorld(!0),he.projectionMatrix.copy(xe.projectionMatrix),he.projectionMatrixInverse.copy(xe.projectionMatrixInverse),he.isPerspectiveCamera&&(he.fov=Bm*2*Math.atan(1/he.projectionMatrix.elements[5]),he.zoom=1)}this.getCamera=function(){return G},this.getFoveation=function(){if(!(y===null&&_===null))return f},this.setFoveation=function(he){f=he,y!==null&&(y.fixedFoveation=he),_!==null&&_.fixedFoveation!==void 0&&(_.fixedFoveation=he)},this.hasDepthSensing=function(){return M.texture!==null},this.getDepthSensingMesh=function(){return M.getMesh(G)},this.getCameraTexture=function(he){return b[he]};let ye=null;function Ae(he,xe){if(m=xe.getViewerPose(d||o),S=xe,m!==null){const Ne=m.views;_!==null&&(e.setRenderTargetFramebuffer(D,_.framebuffer),e.setRenderTarget(D));let Oe=!1;Ne.length!==G.cameras.length&&(G.cameras.length=0,Oe=!0);for(let At=0;At<Ne.length;At++){const ne=Ne[At];let Ie=null;if(_!==null)Ie=_.getViewport(ne);else{const Ge=g.getViewSubImage(y,ne);Ie=Ge.viewport,At===0&&(e.setRenderTargetTextures(D,Ge.colorTexture,Ge.depthStencilTexture),e.setRenderTarget(D))}let Le=N[At];Le===void 0&&(Le=new wr,Le.layers.enable(At),Le.viewport=new Gn,N[At]=Le),Le.matrix.fromArray(ne.transform.matrix),Le.matrix.decompose(Le.position,Le.quaternion,Le.scale),Le.projectionMatrix.fromArray(ne.projectionMatrix),Le.projectionMatrixInverse.copy(Le.projectionMatrix).invert(),Le.viewport.set(Ie.x,Ie.y,Ie.width,Ie.height),At===0&&(G.matrix.copy(Le.matrix),G.matrix.decompose(G.position,G.quaternion,G.scale)),Oe===!0&&G.cameras.push(Le)}const We=i.enabledFeatures;if(We&&We.includes("depth-sensing")&&i.depthUsage=="gpu-optimized"&&g){const At=g.getDepthInformation(Ne[0]);At&&At.isValid&&At.texture&&M.init(At,i.renderState)}if(We&&We.includes("camera-access")&&(e.state.unbindTexture(),g))for(let At=0;At<Ne.length;At++){const ne=Ne[At].camera;if(ne){let Ie=b[ne];Ie||(Ie=new WO,b[ne]=Ie);const Le=g.getCameraImage(ne);Ie.sourceTexture=Le}}}for(let Ne=0;Ne<B.length;Ne++){const Oe=I[Ne],We=B[Ne];Oe!==null&&We!==void 0&&We.update(Oe,xe,d||o)}ye&&ye(he,xe),xe.detectedPlanes&&n.dispatchEvent({type:"planesdetected",data:xe}),S=null}const Te=new VO;Te.setAnimationLoop(Ae),this.setAnimationLoop=function(he){ye=he},this.dispose=function(){}}}const Gh=new Ja,j8=new Yt;function q8(r,e){function t(b,A){b.matrixAutoUpdate===!0&&b.updateMatrix(),A.value.copy(b.matrix)}function n(b,A){A.color.getRGB(b.fogColor.value,WD(r)),A.isFog?(b.fogNear.value=A.near,b.fogFar.value=A.far):A.isFogExp2&&(b.fogDensity.value=A.density)}function i(b,A,w,D,B){A.isMeshBasicMaterial||A.isMeshLambertMaterial?s(b,A):A.isMeshToonMaterial?(s(b,A),g(b,A)):A.isMeshPhongMaterial?(s(b,A),m(b,A)):A.isMeshStandardMaterial?(s(b,A),y(b,A),A.isMeshPhysicalMaterial&&_(b,A,B)):A.isMeshMatcapMaterial?(s(b,A),S(b,A)):A.isMeshDepthMaterial?s(b,A):A.isMeshDistanceMaterial?(s(b,A),M(b,A)):A.isMeshNormalMaterial?s(b,A):A.isLineBasicMaterial?(o(b,A),A.isLineDashedMaterial&&c(b,A)):A.isPointsMaterial?f(b,A,w,D):A.isSpriteMaterial?d(b,A):A.isShadowMaterial?(b.color.value.copy(A.color),b.opacity.value=A.opacity):A.isShaderMaterial&&(A.uniformsNeedUpdate=!1)}function s(b,A){b.opacity.value=A.opacity,A.color&&b.diffuse.value.copy(A.color),A.emissive&&b.emissive.value.copy(A.emissive).multiplyScalar(A.emissiveIntensity),A.map&&(b.map.value=A.map,t(A.map,b.mapTransform)),A.alphaMap&&(b.alphaMap.value=A.alphaMap,t(A.alphaMap,b.alphaMapTransform)),A.bumpMap&&(b.bumpMap.value=A.bumpMap,t(A.bumpMap,b.bumpMapTransform),b.bumpScale.value=A.bumpScale,A.side===Zs&&(b.bumpScale.value*=-1)),A.normalMap&&(b.normalMap.value=A.normalMap,t(A.normalMap,b.normalMapTransform),b.normalScale.value.copy(A.normalScale),A.side===Zs&&b.normalScale.value.negate()),A.displacementMap&&(b.displacementMap.value=A.displacementMap,t(A.displacementMap,b.displacementMapTransform),b.displacementScale.value=A.displacementScale,b.displacementBias.value=A.displacementBias),A.emissiveMap&&(b.emissiveMap.value=A.emissiveMap,t(A.emissiveMap,b.emissiveMapTransform)),A.specularMap&&(b.specularMap.value=A.specularMap,t(A.specularMap,b.specularMapTransform)),A.alphaTest>0&&(b.alphaTest.value=A.alphaTest);const w=e.get(A),D=w.envMap,B=w.envMapRotation;D&&(b.envMap.value=D,Gh.copy(B),Gh.x*=-1,Gh.y*=-1,Gh.z*=-1,D.isCubeTexture&&D.isRenderTargetTexture===!1&&(Gh.y*=-1,Gh.z*=-1),b.envMapRotation.value.setFromMatrix4(j8.makeRotationFromEuler(Gh)),b.flipEnvMap.value=D.isCubeTexture&&D.isRenderTargetTexture===!1?-1:1,b.reflectivity.value=A.reflectivity,b.ior.value=A.ior,b.refractionRatio.value=A.refractionRatio),A.lightMap&&(b.lightMap.value=A.lightMap,b.lightMapIntensity.value=A.lightMapIntensity,t(A.lightMap,b.lightMapTransform)),A.aoMap&&(b.aoMap.value=A.aoMap,b.aoMapIntensity.value=A.aoMapIntensity,t(A.aoMap,b.aoMapTransform))}function o(b,A){b.diffuse.value.copy(A.color),b.opacity.value=A.opacity,A.map&&(b.map.value=A.map,t(A.map,b.mapTransform))}function c(b,A){b.dashSize.value=A.dashSize,b.totalSize.value=A.dashSize
vendor: 9,200 bytes, line 3888
3888+A.gapSize,b.scale.value=A.scale}function f(b,A,w,D){b.diffuse.value.copy(A.color),b.opacity.value=A.opacity,b.size.value=A.size*w,b.scale.value=D*.5,A.map&&(b.map.value=A.map,t(A.map,b.uvTransform)),A.alphaMap&&(b.alphaMap.value=A.alphaMap,t(A.alphaMap,b.alphaMapTransform)),A.alphaTest>0&&(b.alphaTest.value=A.alphaTest)}function d(b,A){b.diffuse.value.copy(A.color),b.opacity.value=A.opacity,b.rotation.value=A.rotation,A.map&&(b.map.value=A.map,t(A.map,b.mapTransform)),A.alphaMap&&(b.alphaMap.value=A.alphaMap,t(A.alphaMap,b.alphaMapTransform)),A.alphaTest>0&&(b.alphaTest.value=A.alphaTest)}function m(b,A){b.specular.value.copy(A.specular),b.shininess.value=Math.max(A.shininess,1e-4)}function g(b,A){A.gradientMap&&(b.gradientMap.value=A.gradientMap)}function y(b,A){b.metalness.value=A.metalness,A.metalnessMap&&(b.metalnessMap.value=A.metalnessMap,t(A.metalnessMap,b.metalnessMapTransform)),b.roughness.value=A.roughness,A.roughnessMap&&(b.roughnessMap.value=A.roughnessMap,t(A.roughnessMap,b.roughnessMapTransform)),A.envMap&&(b.envMapIntensity.value=A.envMapIntensity)}function _(b,A,w){b.ior.value=A.ior,A.sheen>0&&(b.sheenColor.value.copy(A.sheenColor).multiplyScalar(A.sheen),b.sheenRoughness.value=A.sheenRoughness,A.sheenColorMap&&(b.sheenColorMap.value=A.sheenColorMap,t(A.sheenColorMap,b.sheenColorMapTransform)),A.sheenRoughnessMap&&(b.sheenRoughnessMap.value=A.sheenRoughnessMap,t(A.sheenRoughnessMap,b.sheenRoughnessMapTransform))),A.clearcoat>0&&(b.clearcoat.value=A.clearcoat,b.clearcoatRoughness.value=A.clearcoatRoughness,A.clearcoatMap&&(b.clearcoatMap.value=A.clearcoatMap,t(A.clearcoatMap,b.clearcoatMapTransform)),A.clearcoatRoughnessMap&&(b.clearcoatRoughnessMap.value=A.clearcoatRoughnessMap,t(A.clearcoatRoughnessMap,b.clearcoatRoughnessMapTransform)),A.clearcoatNormalMap&&(b.clearcoatNormalMap.value=A.clearcoatNormalMap,t(A.clearcoatNormalMap,b.clearcoatNormalMapTransform),b.clearcoatNormalScale.value.copy(A.clearcoatNormalScale),A.side===Zs&&b.clearcoatNormalScale.value.negate())),A.dispersion>0&&(b.dispersion.value=A.dispersion),A.iridescence>0&&(b.iridescence.value=A.iridescence,b.iridescenceIOR.value=A.iridescenceIOR,b.iridescenceThicknessMinimum.value=A.iridescenceThicknessRange[0],b.iridescenceThicknessMaximum.value=A.iridescenceThicknessRange[1],A.iridescenceMap&&(b.iridescenceMap.value=A.iridescenceMap,t(A.iridescenceMap,b.iridescenceMapTransform)),A.iridescenceThicknessMap&&(b.iridescenceThicknessMap.value=A.iridescenceThicknessMap,t(A.iridescenceThicknessMap,b.iridescenceThicknessMapTransform))),A.transmission>0&&(b.transmission.value=A.transmission,b.transmissionSamplerMap.value=w.texture,b.transmissionSamplerSize.value.set(w.width,w.height),A.transmissionMap&&(b.transmissionMap.value=A.transmissionMap,t(A.transmissionMap,b.transmissionMapTransform)),b.thickness.value=A.thickness,A.thicknessMap&&(b.thicknessMap.value=A.thicknessMap,t(A.thicknessMap,b.thicknessMapTransform)),b.attenuationDistance.value=A.attenuationDistance,b.attenuationColor.value.copy(A.attenuationColor)),A.anisotropy>0&&(b.anisotropyVector.value.set(A.anisotropy*Math.cos(A.anisotropyRotation),A.anisotropy*Math.sin(A.anisotropyRotation)),A.anisotropyMap&&(b.anisotropyMap.value=A.anisotropyMap,t(A.anisotropyMap,b.anisotropyMapTransform))),b.specularIntensity.value=A.specularIntensity,b.specularColor.value.copy(A.specularColor),A.specularColorMap&&(b.specularColorMap.value=A.specularColorMap,t(A.specularColorMap,b.specularColorMapTransform)),A.specularIntensityMap&&(b.specularIntensityMap.value=A.specularIntensityMap,t(A.specularIntensityMap,b.specularIntensityMapTransform))}function S(b,A){A.matcap&&(b.matcap.value=A.matcap)}function M(b,A){const w=e.get(A).light;b.referencePosition.value.setFromMatrixPosition(w.matrixWorld),b.nearDistance.value=w.shadow.camera.near,b.farDistance.value=w.shadow.camera.far}return{refreshFogUniforms:n,refreshMaterialUniforms:i}}function W8(r,e,t,n){let i={},s={},o=[];const c=r.getParameter(r.MAX_UNIFORM_BUFFER_BINDINGS);function f(w,D){const B=D.program;n.uniformBlockBinding(w,B)}function d(w,D){let B=i[w.id];B===void 0&&(S(w),B=m(w),i[w.id]=B,w.addEventListener("dispose",b));const I=D.program;n.updateUBOMapping(w,I);const O=e.render.frame;s[w.id]!==O&&(y(w),s[w.id]=O)}function m(w){const D=g();w.__bindingPointIndex=D;const B=r.createBuffer(),I=w.__size,O=w.usage;return r.bindBuffer(r.UNIFORM_BUFFER,B),r.bufferData(r.UNIFORM_BUFFER,I,O),r.bindBuffer(r.UNIFORM_BUFFER,null),r.bindBufferBase(r.UNIFORM_BUFFER,D,B),B}function g(){for(let w=0;w<c;w++)if(o.indexOf(w)===-1)return o.push(w),w;return console.error("THREE.WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached."),0}function y(w){const D=i[w.id],B=w.uniforms,I=w.__cache;r.bindBuffer(r.UNIFORM_BUFFER,D);for(let O=0,U=B.length;O<U;O++){const z=Array.isArray(B[O])?B[O]:[B[O]];for(let P=0,N=z.length;P<N;P++){const G=z[P];if(_(G,O,P,I)===!0){const X=G.__offset,Q=Array.isArray(G.value)?G.value:[G.value];let te=0;for(let le=0;le<Q.length;le++){const k=Q[le],W=M(k);typeof k=="number"||typeof k=="boolean"?(G.__data[0]=k,r.bufferSubData(r.UNIFORM_BUFFER,X+te,G.__data)):k.isMatrix3?(G.__data[0]=k.elements[0],G.__data[1]=k.elements[1],G.__data[2]=k.elements[2],G.__data[3]=0,G.__data[4]=k.elements[3],G.__data[5]=k.elements[4],G.__data[6]=k.elements[5],G.__data[7]=0,G.__data[8]=k.elements[6],G.__data[9]=k.elements[7],G.__data[10]=k.elements[8],G.__data[11]=0):(k.toArray(G.__data,te),te+=W.storage/Float32Array.BYTES_PER_ELEMENT)}r.bufferSubData(r.UNIFORM_BUFFER,X,G.__data)}}}r.bindBuffer(r.UNIFORM_BUFFER,null)}function _(w,D,B,I){const O=w.value,U=D+"_"+B;if(I[U]===void 0)return typeof O=="number"||typeof O=="boolean"?I[U]=O:I[U]=O.clone(),!0;{const z=I[U];if(typeof O=="number"||typeof O=="boolean"){if(z!==O)return I[U]=O,!0}else if(z.equals(O)===!1)return z.copy(O),!0}return!1}function S(w){const D=w.uniforms;let B=0;const I=16;for(let U=0,z=D.length;U<z;U++){const P=Array.isArray(D[U])?D[U]:[D[U]];for(let N=0,G=P.length;N<G;N++){const X=P[N],Q=Array.isArray(X.value)?X.value:[X.value];for(let te=0,le=Q.length;te<le;te++){const k=Q[te],W=M(k),ee=B%I,pe=ee%W.boundary,H=ee+pe;B+=pe,H!==0&&I-H<W.storage&&(B+=I-H),X.__data=new Float32Array(W.storage/Float32Array.BYTES_PER_ELEMENT),X.__offset=B,B+=W.storage}}}const O=B%I;return O>0&&(B+=I-O),w.__size=B,w.__cache={},this}function M(w){const D={boundary:0,storage:0};return typeof w=="number"||typeof w=="boolean"?(D.boundary=4,D.storage=4):w.isVector2?(D.boundary=8,D.storage=8):w.isVector3||w.isColor?(D.boundary=16,D.storage=12):w.isVector4?(D.boundary=16,D.storage=16):w.isMatrix3?(D.boundary=48,D.storage=48):w.isMatrix4?(D.boundary=64,D.storage=64):w.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",w),D}function b(w){const D=w.target;D.removeEventListener("dispose",b);const B=o.indexOf(D.__bindingPointIndex);o.splice(B,1),r.deleteBuffer(i[D.id]),delete i[D.id],delete s[D.id]}function A(){for(const w in i)r.deleteBuffer(i[w]);o=[],i={},s={}}return{bind:f,update:d,dispose:A}}class JO{constructor(e={}){const{canvas:t=YD(),context:n=null,depth:i=!0,stencil:s=!1,alpha:o=!1,antialias:c=!1,premultipliedAlpha:f=!0,preserveDrawingBuffer:d=!1,powerPreference:m="default",failIfMajorPerformanceCaveat:g=!1,reversedDepthBuffer:y=!1}=e;this.isWebGLRenderer=!0;let _;if(n!==null){if(typeof WebGLRenderingContext<"u"&&n instanceof WebGLRenderingContext)throw new Error("THREE.WebGLRenderer: WebGL 1 is not supported since r163.");_=n.getContextAttributes().alpha}else _=o;const S=new Uint32Array(4),M=new Int32Array(4);let b=null,A=null;const w=[],D=[];this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.toneMapping=tc,this.toneMappingExposure=1,this.transmissionResolutionScale=1;const B=this;let I=!1;this._outputColorSpace=vs;let O=0,U=0,z=null,P=-1,N=null;const G=new Gn,X=new Gn;let Q=null;const te=new dt(0);let le=0,k=t.width,W=t.height,ee=1,pe=null,H=null;const re=new Gn(0,0,k,W),ye=new Gn(0,0,k,W);let Ae=!1;const Te=new qm;let he=!1,xe=!1;const Ne=new Yt,Oe=new Z,We=new Gn,gt={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};let Ft=!1;function At(){return z===null?ee:1}let ne=n;function Ie(Y,ce){return t.getContext(Y,ce)}try{const Y={alpha:!0,depth:i,stencil:s,antialias:c,premultipliedAlpha:f,preserveDrawingBuffer:d,powerPreference:m,failIfMajorPerformanceCaveat:g};if("setAttribute"in t&&t.setAttribute("data-engine",`three.js r${Fv}`),t.addEventListener("webglcontextlost",Qe,!1),t.addEventListener("webglcontextrestored",ct,!1),t.addEventListener("webglcontextcreationerror",je,!1),ne===null){const ce="webgl2";if(ne=Ie(ce,Y),ne===null)throw Ie(ce)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}}catch(Y){throw console.error("THREE.WebGLRenderer: "+Y.message),Y}let Le,Ge,ie,Ze,ke,Je,ht,Lt,J,V,me,we,Ue,Re,ot,$e,St,lt,Ye,nt,Mt,yt,rt,Pt;
vendor: 9,622 bytes, line 3888
3888function se(){Le=new a4(ne),Le.init(),yt=new qO(ne,Le),Ge=new $G(ne,Le,e,yt),ie=new F8(ne,Le),Ge.reversedDepthBuffer&&y&&ie.buffers.depth.setReversed(!0),Ze=new c4(ne),ke=new C8,Je=new G8(ne,Le,ie,ke,Ge,yt,Ze),ht=new t4(B),Lt=new s4(B),J=new mz(ne),rt=new QG(ne,J),V=new o4(ne,J,Ze,rt),me=new f4(ne,V,J,Ze),Ye=new u4(ne,Ge,Je),$e=new e4(ke),we=new T8(B,ht,Lt,Le,Ge,rt,$e),Ue=new q8(B,ke),Re=new R8,ot=new U8(Le),lt=new KG(B,ht,Lt,ie,me,_,f),St=new H8(B,me,Ge),Pt=new W8(ne,Ze,Ge,ie),nt=new ZG(ne,Le,Ze),Mt=new l4(ne,Le,Ze),Ze.programs=we.programs,B.capabilities=Ge,B.extensions=Le,B.properties=ke,B.renderLists=Re,B.shadowMap=St,B.state=ie,B.info=Ze}se();const Ke=new Y8(B,ne);this.xr=Ke,this.getContext=function(){return ne},this.getContextAttributes=function(){return ne.getContextAttributes()},this.forceContextLoss=function(){const Y=Le.get("WEBGL_lose_context");Y&&Y.loseContext()},this.forceContextRestore=function(){const Y=Le.get("WEBGL_lose_context");Y&&Y.restoreContext()},this.getPixelRatio=function(){return ee},this.setPixelRatio=function(Y){Y!==void 0&&(ee=Y,this.setSize(k,W,!1))},this.getSize=function(Y){return Y.set(k,W)},this.setSize=function(Y,ce,_e=!0){if(Ke.isPresenting){console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");return}k=Y,W=ce,t.width=Math.floor(Y*ee),t.height=Math.floor(ce*ee),_e===!0&&(t.style.width=Y+"px",t.style.height=ce+"px"),this.setViewport(0,0,Y,ce)},this.getDrawingBufferSize=function(Y){return Y.set(k*ee,W*ee).floor()},this.setDrawingBufferSize=function(Y,ce,_e){k=Y,W=ce,ee=_e,t.width=Math.floor(Y*_e),t.height=Math.floor(ce*_e),this.setViewport(0,0,Y,ce)},this.getCurrentViewport=function(Y){return Y.copy(G)},this.getViewport=function(Y){return Y.copy(re)},this.setViewport=function(Y,ce,_e,Ee){Y.isVector4?re.set(Y.x,Y.y,Y.z,Y.w):re.set(Y,ce,_e,Ee),ie.viewport(G.copy(re).multiplyScalar(ee).round())},this.getScissor=function(Y){return Y.copy(ye)},this.setScissor=function(Y,ce,_e,Ee){Y.isVector4?ye.set(Y.x,Y.y,Y.z,Y.w):ye.set(Y,ce,_e,Ee),ie.scissor(X.copy(ye).multiplyScalar(ee).round())},this.getScissorTest=function(){return Ae},this.setScissorTest=function(Y){ie.setScissorTest(Ae=Y)},this.setOpaqueSort=function(Y){pe=Y},this.setTransparentSort=function(Y){H=Y},this.getClearColor=function(Y){return Y.copy(lt.getClearColor())},this.setClearColor=function(){lt.setClearColor(...arguments)},this.getClearAlpha=function(){return lt.getClearAlpha()},this.setClearAlpha=function(){lt.setClearAlpha(...arguments)},this.clear=function(Y=!0,ce=!0,_e=!0){let Ee=0;if(Y){let de=!1;if(z!==null){const Ve=z.texture.format;de=Ve===IA||Ve===UA||Ve===Vv}if(de){const Ve=z.texture.type,et=Ve===wo||Ve===ru||Ve===bm||Ve===Mm||Ve===OA||Ve===NA,vt=lt.getClearColor(),ut=lt.getClearAlpha(),Ot=vt.r,Rt=vt.g,Et=vt.b;et?(S[0]=Ot,S[1]=Rt,S[2]=Et,S[3]=ut,ne.clearBufferuiv(ne.COLOR,0,S)):(M[0]=Ot,M[1]=Rt,M[2]=Et,M[3]=ut,ne.clearBufferiv(ne.COLOR,0,M))}else Ee|=ne.COLOR_BUFFER_BIT}ce&&(Ee|=ne.DEPTH_BUFFER_BIT),_e&&(Ee|=ne.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),ne.clear(Ee)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){t.removeEventListener("webglcontextlost",Qe,!1),t.removeEventListener("webglcontextrestored",ct,!1),t.removeEventListener("webglcontextcreationerror",je,!1),lt.dispose(),Re.dispose(),ot.dispose(),ke.dispose(),ht.dispose(),Lt.dispose(),me.dispose(),rt.dispose(),Pt.dispose(),we.dispose(),Ke.dispose(),Ke.removeEventListener("sessionstart",Vt),Ke.removeEventListener("sessionend",tt),bt.stop()};function Qe(Y){Y.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),I=!0}function ct(){console.log("THREE.WebGLRenderer: Context Restored."),I=!1;const Y=Ze.autoReset,ce=St.enabled,_e=St.autoUpdate,Ee=St.needsUpdate,de=St.type;se(),Ze.autoReset=Y,St.enabled=ce,St.autoUpdate=_e,St.needsUpdate=Ee,St.type=de}function je(Y){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",Y.statusMessage)}function Pe(Y){const ce=Y.target;ce.removeEventListener("dispose",Pe),_t(ce)}function _t(Y){Nt(Y),ke.remove(Y)}function Nt(Y){const ce=ke.get(Y).programs;ce!==void 0&&(ce.forEach(function(_e){we.releaseProgram(_e)}),Y.isShaderMaterial&&we.releaseShaderCache(Y))}this.renderBufferDirect=function(Y,ce,_e,Ee,de,Ve){ce===null&&(ce=gt);const et=de.isMesh&&de.matrixWorld.determinant()<0,vt=vn(Y,ce,_e,Ee,de);ie.setMaterial(Ee,et);let ut=_e.index,Ot=1;if(Ee.wireframe===!0){if(ut=V.getWireframeAttribute(_e),ut===void 0)return;Ot=2}const Rt=_e.drawRange,Et=_e.attributes.position;let $t=Rt.start*Ot,rn=(Rt.start+Rt.count)*Ot;Ve!==null&&($t=Math.max($t,Ve.start*Ot),rn=Math.min(rn,(Ve.start+Ve.count)*Ot)),ut!==null?($t=Math.max($t,0),rn=Math.min(rn,ut.count)):Et!=null&&($t=Math.max($t,0),rn=Math.min(rn,Et.count));const ui=rn-$t;if(ui<0||ui===1/0)return;rt.setup(de,Ee,vt,_e,ut);let Wn,sn=nt;if(ut!==null&&(Wn=J.get(ut),sn=Mt,sn.setIndex(Wn)),de.isMesh)Ee.wireframe===!0?(ie.setLineWidth(Ee.wireframeLinewidth*At()),sn.setMode(ne.LINES)):sn.setMode(ne.TRIANGLES);else if(de.isLine){let Ht=Ee.linewidth;Ht===void 0&&(Ht=1),ie.setLineWidth(Ht*At()),de.isLineSegments?sn.setMode(ne.LINES):de.isLineLoop?sn.setMode(ne.LINE_LOOP):sn.setMode(ne.LINE_STRIP)}else de.isPoints?sn.setMode(ne.POINTS):de.isSprite&&sn.setMode(ne.TRIANGLES);if(de.isBatchedMesh)if(de._multiDrawInstances!==null)dm("THREE.WebGLRenderer: renderMultiDrawInstances has been deprecated and will be removed in r184. Append to renderMultiDraw arguments and use indirection."),sn.renderMultiDrawInstances(de._multiDrawStarts,de._multiDrawCounts,de._multiDrawCount,de._multiDrawInstances);else if(Le.get("WEBGL_multi_draw"))sn.renderMultiDraw(de._multiDrawStarts,de._multiDrawCounts,de._multiDrawCount);else{const Ht=de._multiDrawStarts,fi=de._multiDrawCounts,yn=de._multiDrawCount,pr=ut?J.get(ut).bytesPerElement:1,$s=ke.get(Ee).currentProgram.getUniforms();for(let mr=0;mr<yn;mr++)$s.setValue(ne,"_gl_DrawID",mr),sn.render(Ht[mr]/pr,fi[mr])}else if(de.isInstancedMesh)sn.renderInstances($t,ui,de.count);else if(_e.isInstancedBufferGeometry){const Ht=_e._maxInstanceCount!==void 0?_e._maxInstanceCount:1/0,fi=Math.min(_e.instanceCount,Ht);sn.renderInstances($t,ui,fi)}else sn.render($t,ui)};function hn(Y,ce,_e){Y.transparent===!0&&Y.side===ll&&Y.forceSinglePass===!1?(Y.side=Zs,Y.needsUpdate=!0,kn(Y,ce,_e),Y.side=rc,Y.needsUpdate=!0,kn(Y,ce,_e),Y.side=ll):kn(Y,ce,_e)}this.compile=function(Y,ce,_e=null){_e===null&&(_e=Y),A=ot.get(_e),A.init(ce),D.push(A),_e.traverseVisible(function(de){de.isLight&&de.layers.test(ce.layers)&&(A.pushLight(de),de.castShadow&&A.pushShadow(de))}),Y!==_e&&Y.traverseVisible(function(de){de.isLight&&de.layers.test(ce.layers)&&(A.pushLight(de),de.castShadow&&A.pushShadow(de))}),A.setupLights();const Ee=new Set;return Y.traverse(function(de){if(!(de.isMesh||de.isPoints||de.isLine||de.isSprite))return;const Ve=de.material;if(Ve)if(Array.isArray(Ve))for(let et=0;et<Ve.length;et++){const vt=Ve[et];hn(vt,_e,de),Ee.add(vt)}else hn(Ve,_e,de),Ee.add(Ve)}),A=D.pop(),Ee},this.compileAsync=function(Y,ce,_e=null){const Ee=this.compile(Y,ce,_e);return new Promise(de=>{function Ve(){if(Ee.forEach(function(et){ke.get(et).currentProgram.isReady()&&Ee.delete(et)}),Ee.size===0){de(Y);return}setTimeout(Ve,10)}Le.get("KHR_parallel_shader_compile")!==null?Ve():setTimeout(Ve,10)})};let ft=null;function wt(Y){ft&&ft(Y)}function Vt(){bt.stop()}function tt(){bt.start()}const bt=new VO;bt.setAnimationLoop(wt),typeof self<"u"&&bt.setContext(self),this.setAnimationLoop=function(Y){ft=Y,Ke.setAnimationLoop(Y),Y===null?bt.stop():bt.start()},Ke.addEventListener("sessionstart",Vt),Ke.addEventListener("sessionend",tt),this.render=function(Y,ce){if(ce!==void 0&&ce.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(I===!0)return;if(Y.matrixWorldAutoUpdate===!0&&Y.updateMatrixWorld(),ce.parent===null&&ce.matrixWorldAutoUpdate===!0&&ce.updateMatrixWorld(),Ke.enabled===!0&&Ke.isPresenting===!0&&(Ke.cameraAutoUpdate===!0&&Ke.updateCamera(ce),ce=Ke.getCamera()),Y.isScene===!0&&Y.onBeforeRender(B,Y,ce,z),A=ot.get(Y,D.length),A.init(ce),D.push(A),Ne.multiplyMatrices(ce.projectionMatrix,ce.matrixWorldInverse),Te.setFromProjectionMatrix(Ne,Xa,ce.reversedDepth),xe=this.localClippingEnabled,he=$e.init(this.clippingPlanes,xe),b=Re.get(Y,w.length),b.init(),w.push(b),Ke.enabled===!0&&Ke.isPresenting===!0){const Ve=B.xr.getDepthSensingMesh();Ve!==null&&Tt(Ve,ce,-1/0,B.sortObjects)}Tt(Y,ce,0,B.sortObjects),b.finish(),B.sortObjects===!0&&b.sort(pe,H),Ft=Ke.enabled===!1||Ke.isPresenting===!1||Ke.hasDepthSensing()===!1,Ft&&lt.addToRenderList(b,Y),this.info.render.frame++,he===!0&&$e.beginShadows();const _e=A.state.shadowsArray;St.render(_e,Y,ce),he===!0&&$e.endShadows(),this.info.autoReset===!0&&this.info.reset();const Ee=b.opaque,de=b.transmissive;if(A.setupLights(),ce.isArrayCamera){const Ve=ce.cameras;if(de.length>0)for(let et=0,vt=Ve.length;et<vt;et++){const ut=Ve[et];gi(Ee,de,Y,ut)}Ft&&lt.render(Y);for(let et=0,vt=Ve.length;et<vt;et++){const ut=Ve[et];Ut(b,Y,ut,ut.viewport)}}else de.length>0&&gi(Ee,de,Y,ce),Ft&&lt.render(Y),Ut(b,Y,ce);z!==null&&U===0&&(Je.updateMultisampleRenderTarget(z),Je.updateRenderTargetMipmap(z)),Y.isScene===!0&&Y.onAfterRender(B,Y,ce),rt.resetDefaultState(),P=-1,N=null,D.pop(),D.length>0?(A=D[D.length-1],he===!0&&$e.setGlobalState(B.clippingPlanes,A.state.camera)):A=null,w.pop(),w.length>0?b=w[w.length-1]:b=null};function Tt(Y,ce,_e,Ee){if(Y.visible===!1)return;
vendor: 5,772 bytes, line 3888
3888if(Y.layers.test(ce.layers)){if(Y.isGroup)_e=Y.renderOrder;else if(Y.isLOD)Y.autoUpdate===!0&&Y.update(ce);else if(Y.isLight)A.pushLight(Y),Y.castShadow&&A.pushShadow(Y);else if(Y.isSprite){if(!Y.frustumCulled||Te.intersectsSprite(Y)){Ee&&We.setFromMatrixPosition(Y.matrixWorld).applyMatrix4(Ne);const et=me.update(Y),vt=Y.material;vt.visible&&b.push(Y,et,vt,_e,We.z,null)}}else if((Y.isMesh||Y.isLine||Y.isPoints)&&(!Y.frustumCulled||Te.intersectsObject(Y))){const et=me.update(Y),vt=Y.material;if(Ee&&(Y.boundingSphere!==void 0?(Y.boundingSphere===null&&Y.computeBoundingSphere(),We.copy(Y.boundingSphere.center)):(et.boundingSphere===null&&et.computeBoundingSphere(),We.copy(et.boundingSphere.center)),We.applyMatrix4(Y.matrixWorld).applyMatrix4(Ne)),Array.isArray(vt)){const ut=et.groups;for(let Ot=0,Rt=ut.length;Ot<Rt;Ot++){const Et=ut[Ot],$t=vt[Et.materialIndex];$t&&$t.visible&&b.push(Y,et,$t,_e,We.z,Et)}}else vt.visible&&b.push(Y,et,vt,_e,We.z,null)}}const Ve=Y.children;for(let et=0,vt=Ve.length;et<vt;et++)Tt(Ve[et],ce,_e,Ee)}function Ut(Y,ce,_e,Ee){const de=Y.opaque,Ve=Y.transmissive,et=Y.transparent;A.setupLightsView(_e),he===!0&&$e.setGlobalState(B.clippingPlanes,_e),Ee&&ie.viewport(G.copy(Ee)),de.length>0&&jt(de,ce,_e),Ve.length>0&&jt(Ve,ce,_e),et.length>0&&jt(et,ce,_e),ie.buffers.depth.setTest(!0),ie.buffers.depth.setMask(!0),ie.buffers.color.setMask(!0),ie.setPolygonOffset(!1)}function gi(Y,ce,_e,Ee){if((_e.isScene===!0?_e.overrideMaterial:null)!==null)return;A.state.transmissionRenderTarget[Ee.id]===void 0&&(A.state.transmissionRenderTarget[Ee.id]=new sc(1,1,{generateMipmaps:!0,type:Le.has("EXT_color_buffer_half_float")||Le.has("EXT_color_buffer_float")?Ym:wo,minFilter:bo,samples:4,stencilBuffer:s,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:Un.workingColorSpace}));const Ve=A.state.transmissionRenderTarget[Ee.id],et=Ee.viewport||G;Ve.setSize(et.z*B.transmissionResolutionScale,et.w*B.transmissionResolutionScale);const vt=B.getRenderTarget(),ut=B.getActiveCubeFace(),Ot=B.getActiveMipmapLevel();B.setRenderTarget(Ve),B.getClearColor(te),le=B.getClearAlpha(),le<1&&B.setClearColor(16777215,.5),B.clear(),Ft&&lt.render(_e);const Rt=B.toneMapping;B.toneMapping=tc;const Et=Ee.viewport;if(Ee.viewport!==void 0&&(Ee.viewport=void 0),A.setupLightsView(Ee),he===!0&&$e.setGlobalState(B.clippingPlanes,Ee),jt(Y,_e,Ee),Je.updateMultisampleRenderTarget(Ve),Je.updateRenderTargetMipmap(Ve),Le.has("WEBGL_multisampled_render_to_texture")===!1){let $t=!1;for(let rn=0,ui=ce.length;rn<ui;rn++){const Wn=ce[rn],sn=Wn.object,Ht=Wn.geometry,fi=Wn.material,yn=Wn.group;if(fi.side===ll&&sn.layers.test(Ee.layers)){const pr=fi.side;fi.side=Zs,fi.needsUpdate=!0,Cn(sn,_e,Ee,Ht,fi,yn),fi.side=pr,fi.needsUpdate=!0,$t=!0}}$t===!0&&(Je.updateMultisampleRenderTarget(Ve),Je.updateRenderTargetMipmap(Ve))}B.setRenderTarget(vt,ut,Ot),B.setClearColor(te,le),Et!==void 0&&(Ee.viewport=Et),B.toneMapping=Rt}function jt(Y,ce,_e){const Ee=ce.isScene===!0?ce.overrideMaterial:null;for(let de=0,Ve=Y.length;de<Ve;de++){const et=Y[de],vt=et.object,ut=et.geometry,Ot=et.group;let Rt=et.material;Rt.allowOverride===!0&&Ee!==null&&(Rt=Ee),vt.layers.test(_e.layers)&&Cn(vt,ce,_e,ut,Rt,Ot)}}function Cn(Y,ce,_e,Ee,de,Ve){Y.onBeforeRender(B,ce,_e,Ee,de,Ve),Y.modelViewMatrix.multiplyMatrices(_e.matrixWorldInverse,Y.matrixWorld),Y.normalMatrix.getNormalMatrix(Y.modelViewMatrix),de.onBeforeRender(B,ce,_e,Ee,Y,Ve),de.transparent===!0&&de.side===ll&&de.forceSinglePass===!1?(de.side=Zs,de.needsUpdate=!0,B.renderBufferDirect(_e,ce,Ee,de,Y,Ve),de.side=rc,de.needsUpdate=!0,B.renderBufferDirect(_e,ce,Ee,de,Y,Ve),de.side=ll):B.renderBufferDirect(_e,ce,Ee,de,Y,Ve),Y.onAfterRender(B,ce,_e,Ee,de,Ve)}function kn(Y,ce,_e){ce.isScene!==!0&&(ce=gt);const Ee=ke.get(Y),de=A.state.lights,Ve=A.state.shadowsArray,et=de.state.version,vt=we.getParameters(Y,de.state,Ve,ce,_e),ut=we.getProgramCacheKey(vt);let Ot=Ee.programs;Ee.environment=Y.isMeshStandardMaterial?ce.environment:null,Ee.fog=ce.fog,Ee.envMap=(Y.isMeshStandardMaterial?Lt:ht).get(Y.envMap||Ee.environment),Ee.envMapRotation=Ee.environment!==null&&Y.envMap===null?ce.environmentRotation:Y.envMapRotation,Ot===void 0&&(Y.addEventListener("dispose",Pe),Ot=new Map,Ee.programs=Ot);let Rt=Ot.get(ut);if(Rt!==void 0){if(Ee.currentProgram===Rt&&Ee.lightsStateVersion===et)return An(Y,vt),Rt}else vt.uniforms=we.getUniforms(Y),Y.onBeforeCompile(vt,B),Rt=we.acquireProgram(vt,ut),Ot.set(ut,Rt),Ee.uniforms=vt.uniforms;const Et=Ee.uniforms;return(!Y.isShaderMaterial&&!Y.isRawShaderMaterial||Y.clipping===!0)&&(Et.clippingPlanes=$e.uniform),An(Y,vt),Ee.needsLights=On(Y),Ee.lightsStateVersion=et,Ee.needsLights&&(Et.ambientLightColor.value=de.state.ambient,Et.lightProbe.value=de.state.probe,Et.directionalLights.value=de.state.directional,Et.directionalLightShadows.value=de.state.directionalShadow,Et.spotLights.value=de.state.spot,Et.spotLightShadows.value=de.state.spotShadow,Et.rectAreaLights.value=de.state.rectArea,Et.ltc_1.value=de.state.rectAreaLTC1,Et.ltc_2.value=de.state.rectAreaLTC2,Et.pointLights.value=de.state.point,Et.pointLightShadows.value=de.state.pointShadow,Et.hemisphereLights.value=de.state.hemi,Et.directionalShadowMap.value=de.state.directionalShadowMap,Et.directionalShadowMatrix.value=de.state.directionalShadowMatrix,Et.spotShadowMap.value=de.state.spotShadowMap,Et.spotLightMatrix.value=de.state.spotLightMatrix,Et.spotLightMap.value=de.state.spotLightMap,Et.pointShadowMap.value=de.state.pointShadowMap,Et.pointShadowMatrix.value=de.state.pointShadowMatrix),Ee.currentProgram=Rt,Ee.uniformsList=null,Rt}function qt(Y){if(Y.uniformsList===null){const ce=Y.currentProgram.getUniforms();Y.uniformsList=oS.seqWithValue(ce.seq,Y.uniforms)}return Y.uniformsList}function An(Y,ce){const _e=ke.get(Y);
vendor: 19,544 bytes, line 3888
3888_e.outputColorSpace=ce.outputColorSpace,_e.batching=ce.batching,_e.batchingColor=ce.batchingColor,_e.instancing=ce.instancing,_e.instancingColor=ce.instancingColor,_e.instancingMorph=ce.instancingMorph,_e.skinning=ce.skinning,_e.morphTargets=ce.morphTargets,_e.morphNormals=ce.morphNormals,_e.morphColors=ce.morphColors,_e.morphTargetsCount=ce.morphTargetsCount,_e.numClippingPlanes=ce.numClippingPlanes,_e.numIntersection=ce.numClipIntersection,_e.vertexAlphas=ce.vertexAlphas,_e.vertexTangents=ce.vertexTangents,_e.toneMapping=ce.toneMapping}function vn(Y,ce,_e,Ee,de){ce.isScene!==!0&&(ce=gt),Je.resetTextureUnits();const Ve=ce.fog,et=Ee.isMeshStandardMaterial?ce.environment:null,vt=z===null?B.outputColorSpace:z.isXRRenderTarget===!0?z.texture.colorSpace:Tf,ut=(Ee.isMeshStandardMaterial?Lt:ht).get(Ee.envMap||et),Ot=Ee.vertexColors===!0&&!!_e.attributes.color&&_e.attributes.color.itemSize===4,Rt=!!_e.attributes.tangent&&(!!Ee.normalMap||Ee.anisotropy>0),Et=!!_e.morphAttributes.position,$t=!!_e.morphAttributes.normal,rn=!!_e.morphAttributes.color;let ui=tc;Ee.toneMapped&&(z===null||z.isXRRenderTarget===!0)&&(ui=B.toneMapping);const Wn=_e.morphAttributes.position||_e.morphAttributes.normal||_e.morphAttributes.color,sn=Wn!==void 0?Wn.length:0,Ht=ke.get(Ee),fi=A.state.lights;if(he===!0&&(xe===!0||Y!==N)){const xi=Y===N&&Ee.id===P;$e.setState(Ee,Y,xi)}let yn=!1;Ee.version===Ht.__version?(Ht.needsLights&&Ht.lightsStateVersion!==fi.state.version||Ht.outputColorSpace!==vt||de.isBatchedMesh&&Ht.batching===!1||!de.isBatchedMesh&&Ht.batching===!0||de.isBatchedMesh&&Ht.batchingColor===!0&&de.colorTexture===null||de.isBatchedMesh&&Ht.batchingColor===!1&&de.colorTexture!==null||de.isInstancedMesh&&Ht.instancing===!1||!de.isInstancedMesh&&Ht.instancing===!0||de.isSkinnedMesh&&Ht.skinning===!1||!de.isSkinnedMesh&&Ht.skinning===!0||de.isInstancedMesh&&Ht.instancingColor===!0&&de.instanceColor===null||de.isInstancedMesh&&Ht.instancingColor===!1&&de.instanceColor!==null||de.isInstancedMesh&&Ht.instancingMorph===!0&&de.morphTexture===null||de.isInstancedMesh&&Ht.instancingMorph===!1&&de.morphTexture!==null||Ht.envMap!==ut||Ee.fog===!0&&Ht.fog!==Ve||Ht.numClippingPlanes!==void 0&&(Ht.numClippingPlanes!==$e.numPlanes||Ht.numIntersection!==$e.numIntersection)||Ht.vertexAlphas!==Ot||Ht.vertexTangents!==Rt||Ht.morphTargets!==Et||Ht.morphNormals!==$t||Ht.morphColors!==rn||Ht.toneMapping!==ui||Ht.morphTargetsCount!==sn)&&(yn=!0):(yn=!0,Ht.__version=Ee.version);let pr=Ht.currentProgram;yn===!0&&(pr=kn(Ee,ce,de));let $s=!1,mr=!1,qi=!1;const Qn=pr.getUniforms(),Or=Ht.uniforms;if(ie.useProgram(pr.program)&&($s=!0,mr=!0,qi=!0),Ee.id!==P&&(P=Ee.id,mr=!0),$s||N!==Y){ie.buffers.depth.getReversed()&&Y.reversedDepth!==!0&&(Y._reversedDepth=!0,Y.updateProjectionMatrix()),Qn.setValue(ne,"projectionMatrix",Y.projectionMatrix),Qn.setValue(ne,"viewMatrix",Y.matrixWorldInverse);const vr=Qn.map.cameraPosition;vr!==void 0&&vr.setValue(ne,Oe.setFromMatrixPosition(Y.matrixWorld)),Ge.logarithmicDepthBuffer&&Qn.setValue(ne,"logDepthBufFC",2/(Math.log(Y.far+1)/Math.LN2)),(Ee.isMeshPhongMaterial||Ee.isMeshToonMaterial||Ee.isMeshLambertMaterial||Ee.isMeshBasicMaterial||Ee.isMeshStandardMaterial||Ee.isShaderMaterial)&&Qn.setValue(ne,"isOrthographic",Y.isOrthographicCamera===!0),N!==Y&&(N=Y,mr=!0,qi=!0)}if(de.isSkinnedMesh){Qn.setOptional(ne,de,"bindMatrix"),Qn.setOptional(ne,de,"bindMatrixInverse");const xi=de.skeleton;xi&&(xi.boneTexture===null&&xi.computeBoneTexture(),Qn.setValue(ne,"boneTexture",xi.boneTexture,Je))}de.isBatchedMesh&&(Qn.setOptional(ne,de,"batchingTexture"),Qn.setValue(ne,"batchingTexture",de._matricesTexture,Je),Qn.setOptional(ne,de,"batchingIdTexture"),Qn.setValue(ne,"batchingIdTexture",de._indirectTexture,Je),Qn.setOptional(ne,de,"batchingColorTexture"),de._colorsTexture!==null&&Qn.setValue(ne,"batchingColorTexture",de._colorsTexture,Je));const gr=_e.morphAttributes;if((gr.position!==void 0||gr.normal!==void 0||gr.color!==void 0)&&Ye.update(de,_e,pr),(mr||Ht.receiveShadow!==de.receiveShadow)&&(Ht.receiveShadow=de.receiveShadow,Qn.setValue(ne,"receiveShadow",de.receiveShadow)),Ee.isMeshGouraudMaterial&&Ee.envMap!==null&&(Or.envMap.value=ut,Or.flipEnvMap.value=ut.isCubeTexture&&ut.isRenderTargetTexture===!1?-1:1),Ee.isMeshStandardMaterial&&Ee.envMap===null&&ce.environment!==null&&(Or.envMapIntensity.value=ce.environmentIntensity),mr&&(Qn.setValue(ne,"toneMappingExposure",B.toneMappingExposure),Ht.needsLights&&Gi(Or,qi),Ve&&Ee.fog===!0&&Ue.refreshFogUniforms(Or,Ve),Ue.refreshMaterialUniforms(Or,Ee,ee,W,A.state.transmissionRenderTarget[Y.id]),oS.upload(ne,qt(Ht),Or,Je)),Ee.isShaderMaterial&&Ee.uniformsNeedUpdate===!0&&(oS.upload(ne,qt(Ht),Or,Je),Ee.uniformsNeedUpdate=!1),Ee.isSpriteMaterial&&Qn.setValue(ne,"center",de.center),Qn.setValue(ne,"modelViewMatrix",de.modelViewMatrix),Qn.setValue(ne,"normalMatrix",de.normalMatrix),Qn.setValue(ne,"modelMatrix",de.matrixWorld),Ee.isShaderMaterial||Ee.isRawShaderMaterial){const xi=Ee.uniformsGroups;for(let vr=0,hc=xi.length;vr<hc;vr++){const Wi=xi[vr];Pt.update(Wi,pr),Pt.bind(Wi,pr)}}return pr}function Gi(Y,ce){Y.ambientLightColor.needsUpdate=ce,Y.lightProbe.needsUpdate=ce,Y.directionalLights.needsUpdate=ce,Y.directionalLightShadows.needsUpdate=ce,Y.pointLights.needsUpdate=ce,Y.pointLightShadows.needsUpdate=ce,Y.spotLights.needsUpdate=ce,Y.spotLightShadows.needsUpdate=ce,Y.rectAreaLights.needsUpdate=ce,Y.hemisphereLights.needsUpdate=ce}function On(Y){return Y.isMeshLambertMaterial||Y.isMeshToonMaterial||Y.isMeshPhongMaterial||Y.isMeshStandardMaterial||Y.isShadowMaterial||Y.isShaderMaterial&&Y.lights===!0}this.getActiveCubeFace=function(){return O},this.getActiveMipmapLevel=function(){return U},this.getRenderTarget=function(){return z},this.setRenderTargetTextures=function(Y,ce,_e){const Ee=ke.get(Y);Ee.__autoAllocateDepthBuffer=Y.resolveDepthBuffer===!1,Ee.__autoAllocateDepthBuffer===!1&&(Ee.__useRenderToTexture=!1),ke.get(Y.texture).__webglTexture=ce,ke.get(Y.depthTexture).__webglTexture=Ee.__autoAllocateDepthBuffer?void 0:_e,Ee.__hasExternalTextures=!0},this.setRenderTargetFramebuffer=function(Y,ce){const _e=ke.get(Y);_e.__webglFramebuffer=ce,_e.__useDefaultFramebuffer=ce===void 0};const Bn=ne.createFramebuffer();this.setRenderTarget=function(Y,ce=0,_e=0){z=Y,O=ce,U=_e;let Ee=!0,de=null,Ve=!1,et=!1;if(Y){const ut=ke.get(Y);if(ut.__useDefaultFramebuffer!==void 0)ie.bindFramebuffer(ne.FRAMEBUFFER,null),Ee=!1;else if(ut.__webglFramebuffer===void 0)Je.setupRenderTarget(Y);else if(ut.__hasExternalTextures)Je.rebindTextures(Y,ke.get(Y.texture).__webglTexture,ke.get(Y.depthTexture).__webglTexture);else if(Y.depthBuffer){const Et=Y.depthTexture;if(ut.__boundDepthTexture!==Et){if(Et!==null&&ke.has(Et)&&(Y.width!==Et.image.width||Y.height!==Et.image.height))throw new Error("WebGLRenderTarget: Attached DepthTexture is initialized to the incorrect size.");Je.setupDepthRenderbuffer(Y)}}const Ot=Y.texture;(Ot.isData3DTexture||Ot.isDataArrayTexture||Ot.isCompressedArrayTexture)&&(et=!0);const Rt=ke.get(Y).__webglFramebuffer;Y.isWebGLCubeRenderTarget?(Array.isArray(Rt[ce])?de=Rt[ce][_e]:de=Rt[ce],Ve=!0):Y.samples>0&&Je.useMultisampledRTT(Y)===!1?de=ke.get(Y).__webglMultisampledFramebuffer:Array.isArray(Rt)?de=Rt[_e]:de=Rt,G.copy(Y.viewport),X.copy(Y.scissor),Q=Y.scissorTest}else G.copy(re).multiplyScalar(ee).floor(),X.copy(ye).multiplyScalar(ee).floor(),Q=Ae;if(_e!==0&&(de=Bn),ie.bindFramebuffer(ne.FRAMEBUFFER,de)&&Ee&&ie.drawBuffers(Y,de),ie.viewport(G),ie.scissor(X),ie.setScissorTest(Q),Ve){const ut=ke.get(Y.texture);ne.framebufferTexture2D(ne.FRAMEBUFFER,ne.COLOR_ATTACHMENT0,ne.TEXTURE_CUBE_MAP_POSITIVE_X+ce,ut.__webglTexture,_e)}else if(et){const ut=ce;for(let Ot=0;Ot<Y.textures.length;Ot++){const Rt=ke.get(Y.textures[Ot]);ne.framebufferTextureLayer(ne.FRAMEBUFFER,ne.COLOR_ATTACHMENT0+Ot,Rt.__webglTexture,_e,ut)}}else if(Y!==null&&_e!==0){const ut=ke.get(Y.texture);ne.framebufferTexture2D(ne.FRAMEBUFFER,ne.COLOR_ATTACHMENT0,ne.TEXTURE_2D,ut.__webglTexture,_e)}P=-1},this.readRenderTargetPixels=function(Y,ce,_e,Ee,de,Ve,et,vt=0){if(!(Y&&Y.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let ut=ke.get(Y).__webglFramebuffer;if(Y.isWebGLCubeRenderTarget&&et!==void 0&&(ut=ut[et]),ut){ie.bindFramebuffer(ne.FRAMEBUFFER,ut);try{const Ot=Y.textures[vt],Rt=Ot.format,Et=Ot.type;if(!Ge.textureFormatReadable(Rt)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}if(!Ge.textureTypeReadable(Et)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}ce>=0&&ce<=Y.width-Ee&&_e>=0&&_e<=Y.height-de&&(Y.textures.length>1&&ne.readBuffer(ne.COLOR_ATTACHMENT0+vt),ne.readPixels(ce,_e,Ee,de,yt.convert(Rt),yt.convert(Et),Ve))}finally{const Ot=z!==null?ke.get(z).__webglFramebuffer:null;ie.bindFramebuffer(ne.FRAMEBUFFER,Ot)}}},this.readRenderTargetPixelsAsync=async function(Y,ce,_e,Ee,de,Ve,et,vt=0){if(!(Y&&Y.isWebGLRenderTarget))throw new Error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let ut=ke.get(Y).__webglFramebuffer;if(Y.isWebGLCubeRenderTarget&&et!==void 0&&(ut=ut[et]),ut)if(ce>=0&&ce<=Y.width-Ee&&_e>=0&&_e<=Y.height-de){ie.bindFramebuffer(ne.FRAMEBUFFER,ut);const Ot=Y.textures[vt],Rt=Ot.format,Et=Ot.type;if(!Ge.textureFormatReadable(Rt))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.");if(!Ge.textureTypeReadable(Et))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.");const $t=ne.createBuffer();ne.bindBuffer(ne.PIXEL_PACK_BUFFER,$t),ne.bufferData(ne.PIXEL_PACK_BUFFER,Ve.byteLength,ne.STREAM_READ),Y.textures.length>1&&ne.readBuffer(ne.COLOR_ATTACHMENT0+vt),ne.readPixels(ce,_e,Ee,de,yt.convert(Rt),yt.convert(Et),0);const rn=z!==null?ke.get(z).__webglFramebuffer:null;ie.bindFramebuffer(ne.FRAMEBUFFER,rn);const ui=ne.fenceSync(ne.SYNC_GPU_COMMANDS_COMPLETE,0);return ne.flush(),await LI(ne,ui,4),ne.bindBuffer(ne.PIXEL_PACK_BUFFER,$t),ne.getBufferSubData(ne.PIXEL_PACK_BUFFER,0,Ve),ne.deleteBuffer($t),ne.deleteSync(ui),Ve}else throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.")},this.copyFramebufferToTexture=function(Y,ce=null,_e=0){const Ee=Math.pow(2,-_e),de=Math.floor(Y.image.width*Ee),Ve=Math.floor(Y.image.height*Ee),et=ce!==null?ce.x:0,vt=ce!==null?ce.y:0;Je.setTexture2D(Y,0),ne.copyTexSubImage2D(ne.TEXTURE_2D,_e,0,0,et,vt,de,Ve),ie.unbindTexture()};const dr=ne.createFramebuffer(),vi=ne.createFramebuffer();this.copyTextureToTexture=function(Y,ce,_e=null,Ee=null,de=0,Ve=null){Ve===null&&(de!==0?(dm("WebGLRenderer: copyTextureToTexture function signature has changed to support src and dst mipmap levels."),Ve=de,de=0):Ve=0);let et,vt,ut,Ot,Rt,Et,$t,rn,ui;const Wn=Y.isCompressedTexture?Y.mipmaps[Ve]:Y.image;if(_e!==null)et=_e.max.x-_e.min.x,vt=_e.max.y-_e.min.y,ut=_e.isBox3?_e.max.z-_e.min.z:1,Ot=_e.min.x,Rt=_e.min.y,Et=_e.isBox3?_e.min.z:0;else{const gr=Math.pow(2,-de);et=Math.floor(Wn.width*gr),vt=Math.floor(Wn.height*gr),Y.isDataArrayTexture?ut=Wn.depth:Y.isData3DTexture?ut=Math.floor(Wn.depth*gr):ut=1,Ot=0,Rt=0,Et=0}Ee!==null?($t=Ee.x,rn=Ee.y,ui=Ee.z):($t=0,rn=0,ui=0);const sn=yt.convert(ce.format),Ht=yt.convert(ce.type);let fi;ce.isData3DTexture?(Je.setTexture3D(ce,0),fi=ne.TEXTURE_3D):ce.isDataArrayTexture||ce.isCompressedArrayTexture?(Je.setTexture2DArray(ce,0),fi=ne.TEXTURE_2D_ARRAY):(Je.setTexture2D(ce,0),fi=ne.TEXTURE_2D),ne.pixelStorei(ne.UNPACK_FLIP_Y_WEBGL,ce.flipY),ne.pixelStorei(ne.UNPACK_PREMULTIPLY_ALPHA_WEBGL,ce.premultiplyAlpha),ne.pixelStorei(ne.UNPACK_ALIGNMENT,ce.unpackAlignment);const yn=ne.getParameter(ne.UNPACK_ROW_LENGTH),pr=ne.getParameter(ne.UNPACK_IMAGE_HEIGHT),$s=ne.getParameter(ne.UNPACK_SKIP_PIXELS),mr=ne.getParameter(ne.UNPACK_SKIP_ROWS),qi=ne.getParameter(ne.UNPACK_SKIP_IMAGES);ne.pixelStorei(ne.UNPACK_ROW_LENGTH,Wn.width),ne.pixelStorei(ne.UNPACK_IMAGE_HEIGHT,Wn.height),ne.pixelStorei(ne.UNPACK_SKIP_PIXELS,Ot),ne.pixelStorei(ne.UNPACK_SKIP_ROWS,Rt),ne.pixelStorei(ne.UNPACK_SKIP_IMAGES,Et);const Qn=Y.isDataArrayTexture||Y.isData3DTexture,Or=ce.isDataArrayTexture||ce.isData3DTexture;if(Y.isDepthTexture){const gr=ke.get(Y),xi=ke.get(ce),vr=ke.get(gr.__renderTarget),hc=ke.get(xi.__renderTarget);ie.bindFramebuffer(ne.READ_FRAMEBUFFER,vr.__webglFramebuffer),ie.bindFramebuffer(ne.DRAW_FRAMEBUFFER,hc.__webglFramebuffer);for(let Wi=0;Wi<ut;Wi++)Qn&&(ne.framebufferTextureLayer(ne.READ_FRAMEBUFFER,ne.COLOR_ATTACHMENT0,ke.get(Y).__webglTexture,de,Et+Wi),ne.framebufferTextureLayer(ne.DRAW_FRAMEBUFFER,ne.COLOR_ATTACHMENT0,ke.get(ce).__webglTexture,Ve,ui+Wi)),ne.blitFramebuffer(Ot,Rt,et,vt,$t,rn,et,vt,ne.DEPTH_BUFFER_BIT,ne.NEAREST);ie.bindFramebuffer(ne.READ_FRAMEBUFFER,null),ie.bindFramebuffer(ne.DRAW_FRAMEBUFFER,null)}else if(de!==0||Y.isRenderTargetTexture||ke.has(Y)){const gr=ke.get(Y),xi=ke.get(ce);ie.bindFramebuffer(ne.READ_FRAMEBUFFER,dr),ie.bindFramebuffer(ne.DRAW_FRAMEBUFFER,vi);for(let vr=0;vr<ut;vr++)Qn?ne.framebufferTextureLayer(ne.READ_FRAMEBUFFER,ne.COLOR_ATTACHMENT0,gr.__webglTexture,de,Et+vr):ne.framebufferTexture2D(ne.READ_FRAMEBUFFER,ne.COLOR_ATTACHMENT0,ne.TEXTURE_2D,gr.__webglTexture,de),Or?ne.framebufferTextureLayer(ne.DRAW_FRAMEBUFFER,ne.COLOR_ATTACHMENT0,xi.__webglTexture,Ve,ui+vr):ne.framebufferTexture2D(ne.DRAW_FRAMEBUFFER,ne.COLOR_ATTACHMENT0,ne.TEXTURE_2D,xi.__webglTexture,Ve),de!==0?ne.blitFramebuffer(Ot,Rt,et,vt,$t,rn,et,vt,ne.COLOR_BUFFER_BIT,ne.NEAREST):Or?ne.copyTexSubImage3D(fi,Ve,$t,rn,ui+vr,Ot,Rt,et,vt):ne.copyTexSubImage2D(fi,Ve,$t,rn,Ot,Rt,et,vt);ie.bindFramebuffer(ne.READ_FRAMEBUFFER,null),ie.bindFramebuffer(ne.DRAW_FRAMEBUFFER,null)}else Or?Y.isDataTexture||Y.isData3DTexture?ne.texSubImage3D(fi,Ve,$t,rn,ui,et,vt,ut,sn,Ht,Wn.data):ce.isCompressedArrayTexture?ne.compressedTexSubImage3D(fi,Ve,$t,rn,ui,et,vt,ut,sn,Wn.data):ne.texSubImage3D(fi,Ve,$t,rn,ui,et,vt,ut,sn,Ht,Wn):Y.isDataTexture?ne.texSubImage2D(ne.TEXTURE_2D,Ve,$t,rn,et,vt,sn,Ht,Wn.data):Y.isCompressedTexture?ne.compressedTexSubImage2D(ne.TEXTURE_2D,Ve,$t,rn,Wn.width,Wn.height,sn,Wn.data):ne.texSubImage2D(ne.TEXTURE_2D,Ve,$t,rn,et,vt,sn,Ht,Wn);ne.pixelStorei(ne.UNPACK_ROW_LENGTH,yn),ne.pixelStorei(ne.UNPACK_IMAGE_HEIGHT,pr),ne.pixelStorei(ne.UNPACK_SKIP_PIXELS,$s),ne.pixelStorei(ne.UNPACK_SKIP_ROWS,mr),ne.pixelStorei(ne.UNPACK_SKIP_IMAGES,qi),Ve===0&&ce.generateMipmaps&&ne.generateMipmap(fi),ie.unbindTexture()},this.copyTextureToTexture3D=function(Y,ce,_e=null,Ee=null,de=0){return dm('WebGLRenderer: copyTextureToTexture3D function has been deprecated. Use "copyTextureToTexture" instead.'),this.copyTextureToTexture(Y,ce,_e,Ee,de)},this.initRenderTarget=function(Y){ke.get(Y).__webglFramebuffer===void 0&&Je.setupRenderTarget(Y)},this.initTexture=function(Y){Y.isCubeTexture?Je.setTextureCube(Y,0):Y.isData3DTexture?Je.setTexture3D(Y,0):Y.isDataArrayTexture||Y.isCompressedArrayTexture?Je.setTexture2DArray(Y,0):Je.setTexture2D(Y,0),ie.unbindTexture()},this.resetState=function(){O=0,U=0,z=null,ie.reset(),rt.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Xa}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const t=this.getContext();t.drawingBufferColorSpace=Un._getDrawingBufferColorSpace(e),t.unpackColorSpace=Un._getUnpackColorSpace()}}const J8=Object.freeze(Object.defineProperty({__proto__:null,ACESFilmicToneMapping:YE,AddEquation:hf,AddOperation:AD,AdditiveAnimationBlendMode:$E,AdditiveBlending:X1,AgXToneMapping:CD,AlphaFormat:JE,AlwaysCompare:kD,AlwaysDepth:TS,AlwaysStencilFunc:W1,AmbientLight:RO,AnimationAction:zO,AnimationClip:Lm,AnimationLoader:oH,AnimationMixer:LH,AnimationObjectGroup:OH,AnimationUtils:iH,ArcCurve:rO,ArrayCamera:IO,ArrowHelper:az,AttachedBindMode:q1,Audio:PO,AudioAnalyser:AH,AudioContext:BT,AudioListener:_H,AudioLoader:gH,AxesHelper:oz,BackSide:Zs,BasicDepthPacking:LD,BasicShadowMap:nD,BatchedMesh:tO,Bone:kA,BooleanKeyframeTrack:Cd,Box2:XH,Box3:es,Box3Helper:rz,BoxGeometry:Td,BoxHelper:iz,BufferAttribute:Vn,BufferGeometry:ln,BufferGeometryLoader:LO,ByteType:jE,Cache:Zl,Camera:FA,CameraHelper:nz,CanvasTexture:TP,CapsuleGeometry:qA,CatmullRomCurve3:sO,CineonToneMapping:ED,CircleGeometry:WA,ClampToEdgeWrapping:ka,Clock:DT,Color:dt,ColorKeyframeTrack:MT,ColorManagement:Un,CompressedArrayTexture:MP,CompressedCubeTexture:EP,CompressedTexture:jA,CompressedTextureLoader:lH,ConeGeometry:qv,ConstantAlphaFactor:_D,ConstantColorFactor:vD,Controls:cz,CubeCamera:KD,CubeReflectionMapping:iu,CubeRefractionMapping:Mf,CubeTexture:kv,CubeTextureLoader:cH,CubeUVReflectionMapping:Xm,CubicBezierCurve:mT,CubicBezierCurve3:aO,CubicInterpolant:MO,CullFaceBack:k1,CullFaceFront:tD,CullFaceFrontBack:PU,CullFaceNone:eD,Curve:hl,CurvePath:lO,CustomBlending:iD,CustomToneMapping:TD,CylinderGeometry:jv,Cylindrical:kH,Data3DTexture:zA,DataArrayTexture:HA,DataTexture:nc,DataTextureLoader:uH,DataUtils:JI,DecrementStencilOp:WU,DecrementWrapStencilOp:KU,DefaultLoadingManager:om,DepthFormat:Em,DepthStencilFormat:Tm,DepthTexture:dT,DetachedBindMode:RD,DirectionalLight:RT,DirectionalLightHelper:tz,DiscreteInterpolant:EO,DodecahedronGeometry:JA,DoubleSide:ll,DstAlphaFactor:hD,DstColorFactor:pD,DynamicCopyUsage:fI,DynamicDrawUsage:sI,DynamicReadUsage:lI,EdgesGeometry:iO,EllipseCurve:KA,EqualCompare:zD,EqualDepth:wS,EqualStencilFunc:eI,EquirectangularReflectionMapping:vv,EquirectangularRefractionMapping:yv,Euler:Ja,EventDispatcher:lc,ExtrudeGeometry:QA,FileLoader:Ka,Float16BufferAttribute:nP,Float32BufferAttribute:Dt,FloatType:va,Fog:VA,FogExp2:GA,FramebufferTexture:bP,FrontSide:rc,Frustum:qm,FrustumArray:XA,GLBufferAttribute:zH,GLSL1:dI,GLSL3:J1,GreaterCompare:FD,GreaterDepth:BS,GreaterEqualCompare:VD,GreaterEqualDepth:RS,GreaterEqualStencilFunc:rI,GreaterStencilFunc:nI,GridHelper:$H,Group:Kc,HalfFloatType:Ym,HemisphereLight:wO,HemisphereLightHelper:ZH,IcosahedronGeometry:ZA,ImageBitmapLoader:UO,ImageLoader:Tv,ImageUtils:jD,IncrementStencilOp:qU,IncrementWrapStencilOp:JU,InstancedBufferAttribute:gd,InstancedBufferGeometry:NO,InstancedInterleavedBuffer:HH,InstancedMesh:uT,Int16BufferAttribute:eP,Int32BufferAttribute:tP,Int8BufferAttribute:QI,IntType:DA,InterleavedBuffer:Xv,InterleavedBufferAttribute:Cf,Interpolant:Jm,InterpolateDiscrete:Cm,InterpolateLinear:wm,InterpolateSmooth:sS,InterpolationSamplingMode:gI,InterpolationSamplingType:mI,InvertStencilOp:QU,KeepStencilOp:Yh,KeyframeTrack:Do,LOD:eO,LatheGeometry:$A,Layers:Dm,LessCompare:HD,LessDepth:CS,LessEqualCompare:tT,LessEqualDepth:md,LessEqualStencilFunc:tI,LessStencilFunc:$U,Light:Nf,LightProbe:OO,Line:su,Line3:qH,LineBasicMaterial:bs,LineCurve:gT,LineCurve3:oO,LineDashedMaterial:SO,LineLoop:fT,LineSegments:fl,LinearFilter:tr,LinearInterpolant:bT,LinearMipMapLinearFilter:GU,LinearMipMapNearestFilter:FU,LinearMipmapLinearFilter:bo,LinearMipmapNearestFilter:hm,LinearSRGBColorSpace:Tf,LinearToneMapping:bD,LinearTransfer:xv,Loader:Ms,LoaderUtils:xf,LoadingManager:ET,LoopOnce:BD,LoopPingPong:OD,LoopRepeat:DD,MOUSE:UU,Material:Rr,MaterialLoader:ab,MathUtils:iT,Matrix2:UT,Matrix3:un,Matrix4:Yt,MaxEquation:oD,Mesh:nr,MeshBasicMaterial:Ya,MeshDepthMaterial:xT,MeshDistanceMaterial:ST,MeshLambertMaterial:_O,Me
vendor: 5,429 bytes, lines 3888-3904
3888shMatcapMaterial:xO,MeshNormalMaterial:yO,MeshPhongMaterial:gO,MeshPhysicalMaterial:Bo,MeshStandardMaterial:Kv,MeshToonMaterial:vO,MinEquation:aD,MirroredRepeatWrapping:Am,MixOperation:SD,MultiplyBlending:j1,MultiplyOperation:Gv,NearestFilter:Gr,NearestMipMapLinearFilter:zU,NearestMipMapNearestFilter:HU,NearestMipmapLinearFilter:Qh,NearestMipmapNearestFilter:BA,NeutralToneMapping:wD,NeverCompare:PD,NeverDepth:ES,NeverStencilFunc:ZU,NoBlending:Zc,NoColorSpace:qc,NoToneMapping:tc,NormalAnimationBlendMode:PA,NormalBlending:sd,NotEqualCompare:GD,NotEqualDepth:DS,NotEqualStencilFunc:iI,NumberKeyframeTrack:yd,Object3D:Pn,ObjectLoader:pH,ObjectSpaceNormalMap:ID,OctahedronGeometry:Wv,OneFactor:cD,OneMinusConstantAlphaFactor:xD,OneMinusConstantColorFactor:yD,OneMinusDstAlphaFactor:dD,OneMinusDstColorFactor:mD,OneMinusSrcAlphaFactor:MS,OneMinusSrcColorFactor:fD,OrthographicCamera:Km,PCFShadowMap:wA,PCFSoftShadowMap:W0,PMREMGenerator:nE,Path:lA,PerspectiveCamera:wr,Plane:ff,PlaneGeometry:Wm,PlaneHelper:sz,PointLight:wT,PointLightHelper:KH,Points:hT,PointsMaterial:YA,PolarGridHelper:ez,PolyhedronGeometry:Of,PositionalAudio:SH,PropertyBinding:Fn,PropertyMixer:HO,QuadraticBezierCurve:vT,QuadraticBezierCurve3:yT,Quaternion:Ss,QuaternionKeyframeTrack:_d,QuaternionLinearInterpolant:TO,RED_GREEN_RGTC2_Format:nA,RED_RGTC1_Format:ZE,REVISION:Fv,RGBADepthPacking:UD,RGBAFormat:xs,RGBAIntegerFormat:IA,RGBA_ASTC_10x10_Format:KS,RGBA_ASTC_10x5_Format:qS,RGBA_ASTC_10x6_Format:WS,RGBA_ASTC_10x8_Format:JS,RGBA_ASTC_12x10_Format:QS,RGBA_ASTC_12x12_Format:ZS,RGBA_ASTC_4x4_Format:zS,RGBA_ASTC_5x4_Format:FS,RGBA_ASTC_5x5_Format:GS,RGBA_ASTC_6x5_Format:VS,RGBA_ASTC_6x6_Format:kS,RGBA_ASTC_8x5_Format:XS,RGBA_ASTC_8x6_Format:YS,RGBA_ASTC_8x8_Format:jS,RGBA_BPTC_Format:$0,RGBA_ETC2_EAC_Format:HS,RGBA_PVRTC_2BPPV1_Format:US,RGBA_PVRTC_4BPPV1_Format:LS,RGBA_S3TC_DXT1_Format:K0,RGBA_S3TC_DXT3_Format:Q0,RGBA_S3TC_DXT5_Format:Z0,RGBDepthPacking:kU,RGBFormat:KE,RGBIntegerFormat:VU,RGB_BPTC_SIGNED_Format:$S,RGB_BPTC_UNSIGNED_Format:eA,RGB_ETC1_Format:IS,RGB_ETC2_Format:PS,RGB_PVRTC_2BPPV1_Format:NS,RGB_PVRTC_4BPPV1_Format:OS,RGB_S3TC_DXT1_Format:J0,RGDepthPacking:XU,RGFormat:QE,RGIntegerFormat:UA,RawShaderMaterial:mO,Ray:jm,Raycaster:FO,RectAreaLight:BO,RedFormat:LA,RedIntegerFormat:Vv,ReinhardToneMapping:MD,RenderTarget:rT,RenderTarget3D:UH,RepeatWrapping:Ef,ReplaceStencilOp:jU,ReverseSubtractEquation:sD,RingGeometry:eb,SIGNED_RED_GREEN_RGTC2_Format:iA,SIGNED_RED_RGTC1_Format:tA,SRGBColorSpace:vs,SRGBTransfer:ri,Scene:oT,ShaderChunk:gn,ShaderLib:ol,ShaderMaterial:ul,ShadowMaterial:pO,Shape:od,ShapeGeometry:tb,ShapePath:lz,ShapeUtils:cl,ShortType:qE,Skeleton:Yv,SkeletonHelper:JH,SkinnedMesh:cT,Source:pf,Sphere:Vr,SphereGeometry:Jv,Spherical:VH,SphericalHarmonics3:DO,SplineCurve:_T,SpotLight:CT,SpotLightHelper:WH,Sprite:$D,SpriteMaterial:lT,SrcAlphaFactor:bS,SrcAlphaSaturateFactor:gD,SrcColorFactor:uD,StaticCopyUsage:uI,StaticDrawUsage:Sv,StaticReadUsage:oI,StereoCamera:vH,StreamCopyUsage:hI,StreamDrawUsage:aI,StreamReadUsage:cI,StringKeyframeTrack:wd,SubtractEquation:rD,SubtractiveBlending:Y1,TOUCH:IU,TangentSpaceNormalMap:Df,TetrahedronGeometry:nb,Texture:Bi,TextureLoader:CO,TextureUtils:pz,Timer:FH,TimestampQuery:pI,TorusGeometry:ib,TorusKnotGeometry:rb,Triangle:ga,TriangleFanDrawMode:rA,TriangleStripDrawMode:eT,TrianglesDrawMode:ND,TubeGeometry:sb,UVMapping:RA,Uint16BufferAttribute:sT,Uint32BufferAttribute:aT,Uint8BufferAttribute:ZI,Uint8ClampedBufferAttribute:$I,Uniform:LT,UniformsGroup:PH,UniformsLib:mt,UniformsUtils:JD,UnsignedByteType:wo,UnsignedInt248Type:Mm,UnsignedInt5999Type:WE,UnsignedIntType:ru,UnsignedShort4444Type:OA,UnsignedShort5551Type:NA,UnsignedShortType:bm,VSMShadowMap:al,Vector2:qe,Vector3:Z,Vector4:Gn,VectorKeyframeTrack:xd,VideoFrameTexture:AP,VideoTexture:nO,WebGL3DRenderTarget:zI,WebGLArrayRenderTarget:HI,WebGLCoordinateSystem:Xa,WebGLCubeRenderTarget:QD,WebGLRenderTarget:sc,WebGLRenderer:JO,WebGLUtils:qO,WebGPUCoordinateSystem:Rm,WebXRController:aS,WireframeGeometry:dO,WrapAroundEnding:_v,ZeroCurvatureEnding:Zh,ZeroFactor:lD,ZeroSlopeEnding:$h,ZeroStencilOp:YU,createCanvasElement:YD},Symbol.toStringTag,{value:"Module"}));var KM={exports:{}},Vc={};/**
3889 * @license React
3890 * react-reconciler-constants.production.js
3891 *
3892 * Copyright (c) Meta Platforms, Inc. and affiliates.
3893 *
3894 * This source code is licensed under the MIT license found in the
3895 * LICENSE file in the root directory of this source tree.
3896 */var $R;function K8(){return $R||($R=1,Vc.ConcurrentRoot=1,Vc.ContinuousEventPriority=8,Vc.DefaultEventPriority=32,Vc.DiscreteEventPriority=2,Vc.IdleEventPriority=268435456,Vc.LegacyRoot=0,Vc.NoEventPriority=0),Vc}var e2;function Q8(){return e2||(e2=1,KM.exports=K8()),KM.exports}var lS=Q8(),QM={exports:{}},ZM={},$M={exports:{}},e1={};/**
3897 * @license React
3898 * use-sync-external-store-shim.production.js
3899 *
3900 * Copyright (c) Meta Platforms, Inc. and affiliates.
3901 *
3902 * This source code is licensed under the MIT license found in the
3903 * LICENSE file in the root directory of this source tree.
3904 */var t2;function Z8(){if(t2)return e1;t2=1;var r=Ro();function e(g,y){return g===y&&(g!==0||1/g===1/y)||g!==g&&y!==y}var t=typeof Object.is=="function"?Object.is:e,n=r.useState,i=r.useEffect,s=r.useLayoutEffect,o=r.useDebugValue;function c(g,y){var _=y(),S=n({inst:{value:_,getSnapshot:y}}),M=S[0].inst,b=S[1];return s(function(){M.value=_,M.getSnapshot=y,f(M)&&b({inst:M})}
vendor: 5,088 bytes, lines 3904-3920
3904,[g,_,y]),i(function(){return f(M)&&b({inst:M}),g(function(){f(M)&&b({inst:M})})},[g]),o(_),_}function f(g){var y=g.getSnapshot;g=g.value;try{var _=y();return!t(g,_)}catch{return!0}}function d(g,y){return y()}var m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?d:c;return e1.useSyncExternalStore=r.useSyncExternalStore!==void 0?r.useSyncExternalStore:m,e1}var n2;function $8(){return n2||(n2=1,$M.exports=Z8()),$M.exports}/**
3905 * @license React
3906 * use-sync-external-store-shim/with-selector.production.js
3907 *
3908 * Copyright (c) Meta Platforms, Inc. and affiliates.
3909 *
3910 * This source code is licensed under the MIT license found in the
3911 * LICENSE file in the root directory of this source tree.
3912 */var i2;function e5(){if(i2)return ZM;i2=1;var r=Ro(),e=$8();function t(d,m){return d===m&&(d!==0||1/d===1/m)||d!==d&&m!==m}var n=typeof Object.is=="function"?Object.is:t,i=e.useSyncExternalStore,s=r.useRef,o=r.useEffect,c=r.useMemo,f=r.useDebugValue;return ZM.useSyncExternalStoreWithSelector=function(d,m,g,y,_){var S=s(null);if(S.current===null){var M={hasValue:!1,value:null};S.current=M}else M=S.current;S=c(function(){function A(O){if(!w){if(w=!0,D=O,O=y(O),_!==void 0&&M.hasValue){var U=M.value;if(_(U,O))return B=U}return B=O}if(U=B,n(D,O))return U;var z=y(O);return _!==void 0&&_(U,z)?(D=O,U):(D=O,B=z)}var w=!1,D,B,I=g===void 0?null:g;return[function(){return A(m())},I===null?void 0:function(){return A(I())}]},[m,g,y,_]);var b=i(d,S[0],S[1]);return o(function(){M.hasValue=!0,M.value=b},[b]),f(b),b},ZM}var r2;function t5(){return r2||(r2=1,QM.exports=e5()),QM.exports}var n5=t5();const i5=zv(n5),s2=r=>{let e;const t=new Set,n=(d,m)=>{const g=typeof d=="function"?d(e):d;if(!Object.is(g,e)){const y=e;e=m??(typeof g!="object"||g===null)?g:Object.assign({},e,g),t.forEach(_=>_(e,y))}},i=()=>e,c={setState:n,getState:i,getInitialState:()=>f,subscribe:d=>(t.add(d),()=>t.delete(d))},f=e=r(n,i,c);return c},KO=r=>r?s2(r):s2,{useSyncExternalStoreWithSelector:r5}=i5,s5=r=>r;function a5(r,e=s5,t){const n=r5(r.subscribe,r.getState,r.getInitialState,e,t);return P0.useDebugValue(n),n}const a2=(r,e)=>{const t=KO(r),n=(i,s=e)=>a5(t,i,s);return Object.assign(n,t),n},o5=(r,e)=>r?a2(r,e):a2,l5=r=>typeof r=="object"&&typeof r.then=="function",td=[];function QO(r,e,t=(n,i)=>n===i){if(r===e)return!0;if(!r||!e)return!1;const n=r.length;if(e.length!==n)return!1;for(let i=0;i<n;i++)if(!t(r[i],e[i]))return!1;return!0}function ZO(r,e=null,t=!1,n={}){e===null&&(e=[r]);for(const s of td)if(QO(e,s.keys,s.equal)){if(t)return;if(Object.prototype.hasOwnProperty.call(s,"error"))throw s.error;if(Object.prototype.hasOwnProperty.call(s,"response"))return n.lifespan&&n.lifespan>0&&(s.timeout&&clearTimeout(s.timeout),s.timeout=setTimeout(s.remove,n.lifespan)),s.response;if(!t)throw s.promise}const i={keys:e,equal:n.equal,remove:()=>{const s=td.indexOf(i);s!==-1&&td.splice(s,1)},promise:(l5(r)?r:r(...e)).then(s=>{i.response=s,n.lifespan&&n.lifespan>0&&(i.timeout=setTimeout(i.remove,n.lifespan))}).catch(s=>i.error=s)};if(td.push(i),!t)throw i.promise}const c5=(r,e,t)=>ZO(r,e,!1,t),u5=(r,e,t)=>void ZO(r,e,!0,t),f5=r=>{if(r===void 0||r.length===0)td.splice(0,td.length);else{const e=td.find(t=>QO(r,t.keys,t.equal));e&&e.remove()}};var t1={exports:{}},n1={exports:{}},i1={exports:{}},r1={};/**
3913 * @license React
3914 * scheduler.production.js
3915 *
3916 * Copyright (c) Meta Platforms, Inc. and affiliates.
3917 *
3918 * This source code is licensed under the MIT license found in the
3919 * LICENSE file in the root directory of this source tree.
3920 */var o2;function h5(){return o2||(o2=1,function(r){function e(k,W){var ee=k.length;k.push(W);e:for(;0<ee;){var pe=ee-1>>>1,H=k[pe];if(0<i(H,W))k[pe]=W,k[ee]=H,ee=pe;else break e}}function t(k){return k.length===0?null:k[0]}function n(k){if(k.length===0)return null;var W=k[0],ee=k.pop();if(ee!==W){k[0]=ee;e:for(var pe=0,H=k.length,re=H>>>1;pe<re;){var ye=2*(pe+1)-1,Ae=k[ye],Te=ye+1,he=k[Te];if(0>i(Ae,ee))Te<H&&0>i(he,Ae)?(k[pe]=he,k[Te]=ee,pe=Te):(k[pe]=Ae,k[ye]=ee,pe=ye);else if(Te<H&&0>i(he,ee))k[pe]=he,k[Te]=ee,pe=Te;else break e}}return W}function i(k,W){var ee=k.sortIndex-W.sortIndex;return ee!==0?ee:k.id-W.id}if(r.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var s=performance;r.unstable_now=function(){return s.now()}}else{var o=Date,c=o.now();r.unstable_now=function(){return o.now()-c}}var f=[],d=[],m=1,g=null,y=3,_=!1,S=!1,M=!1,b=typeof setTimeout=="function"?setTimeout:null,A=typeof clearTimeout=="function"?clearTimeout:null,w=typeof setImmediate<"u"?setImmediate:null;function D(k){for(var W=t(d);W!==null;){if(W.callback===null)n(d);else if(W.startTime<=k)n(d),W.sortIndex=W.expirationTime,e(f,W);else break;W=t(d)}}function B(k){if(M=!1,D(k),!S)if(t(f)!==null)S=!0,te();else{var W=t(d);W!==null&&le(B,W.startTime-k)}}var I=!1,O=-1,U=5,z=-1;function P(){return!(r.unstable_now()-z<U)}function N(){if(I){var k=r.unstable_now();z=k;var W=!0;try{e:{S=!1,M&&(M=!1,A(O),O=-1),_=!0;var ee=y;try{t:{for(D(k),g=t(f);g!==null&&!(g.expirationTime>k&&P());){var pe=g.callback;
vendor: 4,092 bytes, lines 3920-3930
3920if(typeof pe=="function"){g.callback=null,y=g.priorityLevel;var H=pe(g.expirationTime<=k);if(k=r.unstable_now(),typeof H=="function"){g.callback=H,D(k),W=!0;break t}g===t(f)&&n(f),D(k)}else n(f);g=t(f)}if(g!==null)W=!0;else{var re=t(d);re!==null&&le(B,re.startTime-k),W=!1}}break e}finally{g=null,y=ee,_=!1}W=void 0}}finally{W?G():I=!1}}}var G;if(typeof w=="function")G=function(){w(N)};else if(typeof MessageChannel<"u"){var X=new MessageChannel,Q=X.port2;X.port1.onmessage=N,G=function(){Q.postMessage(null)}}else G=function(){b(N,0)};function te(){I||(I=!0,G())}function le(k,W){O=b(function(){k(r.unstable_now())},W)}r.unstable_IdlePriority=5,r.unstable_ImmediatePriority=1,r.unstable_LowPriority=4,r.unstable_NormalPriority=3,r.unstable_Profiling=null,r.unstable_UserBlockingPriority=2,r.unstable_cancelCallback=function(k){k.callback=null},r.unstable_continueExecution=function(){S||_||(S=!0,te())},r.unstable_forceFrameRate=function(k){0>k||125<k?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):U=0<k?Math.floor(1e3/k):5},r.unstable_getCurrentPriorityLevel=function(){return y},r.unstable_getFirstCallbackNode=function(){return t(f)},r.unstable_next=function(k){switch(y){case 1:case 2:case 3:var W=3;break;default:W=y}var ee=y;y=W;try{return k()}finally{y=ee}},r.unstable_pauseExecution=function(){},r.unstable_requestPaint=function(){},r.unstable_runWithPriority=function(k,W){switch(k){case 1:case 2:case 3:case 4:case 5:break;default:k=3}var ee=y;y=k;try{return W()}finally{y=ee}},r.unstable_scheduleCallback=function(k,W,ee){var pe=r.unstable_now();switch(typeof ee=="object"&&ee!==null?(ee=ee.delay,ee=typeof ee=="number"&&0<ee?pe+ee:pe):ee=pe,k){case 1:var H=-1;break;case 2:H=250;break;case 5:H=1073741823;break;case 4:H=1e4;break;default:H=5e3}return H=ee+H,k={id:m++,callback:W,priorityLevel:k,startTime:ee,expirationTime:H,sortIndex:-1},ee>pe?(k.sortIndex=ee,e(d,k),t(f)===null&&k===t(d)&&(M?(A(O),O=-1):M=!0,le(B,ee-pe))):(k.sortIndex=H,e(f,k),S||_||(S=!0,te())),k},r.unstable_shouldYield=P,r.unstable_wrapCallback=function(k){var W=y;return function(){var ee=y;y=W;try{return k.apply(this,arguments)}finally{y=ee}}}}(r1)),r1}var l2;function $O(){return l2||(l2=1,i1.exports=h5()),i1.exports}/**
3921 * @license React
3922 * react-reconciler.production.js
3923 *
3924 * Copyright (c) Meta Platforms, Inc. and affiliates.
3925 *
3926 * This source code is licensed under the MIT license found in the
3927 * LICENSE file in the root directory of this source tree.
3928 */var c2;function d5(){return c2||(c2=1,function(r){r.exports=function(e){function t(u,h,x,T){return new Rg(u,h,x,T)}function n(){}function i(u){var h="https://react.dev/errors/"+u;if(1<arguments.length){h+="?args[]="+encodeURIComponent(arguments[1]);for(var x=2;x<arguments.length;x++)h+="&args[]="+encodeURIComponent(arguments[x])}return"Minified React error #"+u+"; visit "+h+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function s(u){return u===null||typeof u!="object"?null:(u=Xo&&u[Xo]||u["@@iterator"],typeof u=="function"?u:null)}function o(u){if(u==null)return null;if(typeof u=="function")return u.$$typeof===Ng?null:u.displayName||u.name||null;if(typeof u=="string")return u;switch(u){case wl:return"Fragment";case ia:return"Portal";case $d:return"Profiler";case uh:return"StrictMode";case ep:return"Suspense";case wu:return"SuspenseList"}if(typeof u=="object")switch(u.$$typeof){case Ea:return(u.displayName||"Context")+".Provider";case Dg:return(u._context.displayName||"Context")+".Consumer";case hh:var h=u.render;return u=u.displayName,u||(u=h.displayName||h.name||"",u=u!==""?"ForwardRef("+u+")":"ForwardRef"),u;case tp:return h=u.displayName||null,h!==null?h:o(u.type)||"Memo";case ra:h=u._payload,u=u._init;try{return o(u(h))}catch{}}return null}function c(u){if(io===void 0)try{throw Error()}catch(x){var h=x.stack.trim().match(/\n( *(at )?)/);io=h&&h[1]||"",Yo=-1<x.stack.indexOf(`
3929    at`)?" (<anonymous>)":-1<x.stack.indexOf("@")?"@unknown:0:0":""}return`
3930`+io+u+Yo}
vendor: 9,484 bytes, lines 3930-3935
3930function f(u,h){if(!u||vc)return"";vc=!0;var x=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var T={DetermineComponentFrameRoot:function(){try{if(h){var pt=function(){throw Error()};if(Object.defineProperty(pt.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(pt,[])}catch(nn){var xt=nn}Reflect.construct(u,[],pt)}else{try{pt.call()}catch(nn){xt=nn}u.call(pt.prototype)}}else{try{throw Error()}catch(nn){xt=nn}(pt=u())&&typeof pt.catch=="function"&&pt.catch(function(){})}}catch(nn){if(nn&&xt&&typeof nn.stack=="string")return[nn.stack,xt.stack]}return[null,null]}};T.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var R=Object.getOwnPropertyDescriptor(T.DetermineComponentFrameRoot,"name");R&&R.configurable&&Object.defineProperty(T.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var L=T.DetermineComponentFrameRoot(),q=L[0],oe=L[1];if(q&&oe){var ve=q.split(`
3931`),He=oe.split(`
3932`);for(R=T=0;T<ve.length&&!ve[T].includes("DetermineComponentFrameRoot");)T++;for(;R<He.length&&!He[R].includes("DetermineComponentFrameRoot");)R++;if(T===ve.length||R===He.length)for(T=ve.length-1,R=He.length-1;1<=T&&0<=R&&ve[T]!==He[R];)R--;for(;1<=T&&0<=R;T--,R--)if(ve[T]!==He[R]){if(T!==1||R!==1)do if(T--,R--,0>R||ve[T]!==He[R]){var at=`
3933`+ve[T].replace(" at new "," at ");return u.displayName&&at.includes("<anonymous>")&&(at=at.replace("<anonymous>",u.displayName)),at}while(1<=T&&0<=R);break}}}finally{vc=!1,Error.prepareStackTrace=x}return(x=u?u.displayName||u.name:"")?c(x):""}function d(u){switch(u.tag){case 26:case 27:case 5:return c(u.type);case 16:return c("Lazy");case 13:return c("Suspense");case 19:return c("SuspenseList");case 0:case 15:return u=f(u.type,!1),u;case 11:return u=f(u.type.render,!1),u;case 1:return u=f(u.type,!0),u;default:return""}}function m(u){try{var h="";do h+=d(u),u=u.return;while(u);return h}catch(x){return`
3934Error generating stack: `+x.message+`
3935`+x.stack}}function g(u){var h=u,x=u;if(u.alternate)for(;h.return;)h=h.return;else{u=h;do h=u,(h.flags&4098)!==0&&(x=h.return),u=h.return;while(u)}return h.tag===3?x:null}function y(u){if(g(u)!==u)throw Error(i(188))}function _(u){var h=u.alternate;if(!h){if(h=g(u),h===null)throw Error(i(188));return h!==u?null:u}for(var x=u,T=h;;){var R=x.return;if(R===null)break;var L=R.alternate;if(L===null){if(T=R.return,T!==null){x=T;continue}break}if(R.child===L.child){for(L=R.child;L;){if(L===x)return y(R),u;if(L===T)return y(R),h;L=L.sibling}throw Error(i(188))}if(x.return!==T.return)x=R,T=L;else{for(var q=!1,oe=R.child;oe;){if(oe===x){q=!0,x=R,T=L;break}if(oe===T){q=!0,T=R,x=L;break}oe=oe.sibling}if(!q){for(oe=L.child;oe;){if(oe===x){q=!0,x=L,T=R;break}if(oe===T){q=!0,T=L,x=R;break}oe=oe.sibling}if(!q)throw Error(i(189))}}if(x.alternate!==T)throw Error(i(190))}if(x.tag!==3)throw Error(i(188));return x.stateNode.current===x?u:h}function S(u){var h=u.tag;if(h===5||h===26||h===27||h===6)return u;for(u=u.child;u!==null;){if(h=S(u),h!==null)return h;u=u.sibling}return null}function M(u){var h=u.tag;if(h===5||h===26||h===27||h===6)return u;for(u=u.child;u!==null;){if(u.tag!==4&&(h=M(u),h!==null))return h;u=u.sibling}return null}function b(u){return{current:u}}function A(u){0>Jo||(u.current=Ni[Jo],Ni[Jo]=null,Jo--)}function w(u,h){Jo++,Ni[Jo]=u.current,u.current=h}function D(u){return u>>>=0,u===0?32:31-(u_(u)/f_|0)|0}function B(u){var h=u&42;if(h!==0)return h;switch(u&-u){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return u&4194176;case 4194304:case 8388608:case 16777216:case 33554432:return u&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return u}}function I(u,h){var x=u.pendingLanes;if(x===0)return 0;var T=0,R=u.suspendedLanes,L=u.pingedLanes,q=u.warmLanes;u=u.finishedLanes!==0;var oe=x&134217727;return oe!==0?(x=oe&~R,x!==0?T=B(x):(L&=oe,L!==0?T=B(L):u||(q=oe&~q,q!==0&&(T=B(q))))):(oe=x&~R,oe!==0?T=B(oe):L!==0?T=B(L):u||(q=x&~q,q!==0&&(T=B(q)))),T===0?0:h!==0&&h!==T&&(h&R)===0&&(R=T&-T,q=h&-h,R>=q||R===32&&(q&4194176)!==0)?h:T}function O(u,h){return(u.pendingLanes&~(u.suspendedLanes&~u.pingedLanes)&h)===0}function U(u,h){switch(u){case 1:case 2:case 4:case 8:return h+250;case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return h+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function z(){var u=so;return so<<=1,(so&4194176)===0&&(so=128),u}function P(){var u=xc;return xc<<=1,(xc&62914560)===0&&(xc=4194304),u}function N(u){for(var h=[],x=0;31>x;x++)h.push(u);return h}function G(u,h){u.pendingLanes|=h,h!==268435456&&(u.suspendedLanes=0,u.pingedLanes=0,u.warmLanes=0)}function X(u,h,x,T,R,L){var q=u.pendingLanes;u.pendingLanes=x,u.suspendedLanes=0,u.pingedLanes=0,u.warmLanes=0,u.expiredLanes&=x,u.entangledLanes&=x,u.errorRecoveryDisabledLanes&=x,u.shellSuspendCounter=0;var oe=u.entanglements,ve=u.expirationTimes,He=u.hiddenUpdates;for(x=q&~x;0<x;){var at=31-Jr(x),pt=1<<at;oe[at]=0,ve[at]=-1;var xt=He[at];if(xt!==null)for(He[at]=null,at=0;at<xt.length;at++){var nn=xt[at];nn!==null&&(nn.lane&=-536870913)}x&=~pt}T!==0&&Q(u,T,0),L!==0&&R===0&&u.tag!==0&&(u.suspendedLanes|=L&~(q&~h))}function Q(u,h,x){u.pendingLanes|=h,u.suspendedLanes&=~h;var T=31-Jr(h);u.entangledLanes|=h,u.entanglements[T]=u.entanglements[T]|1073741824|x&4194218}function te(u,h){var x=u.entangledLanes|=h;for(u=u.entanglements;x;){var T=31-Jr(x),R=1<<T;R&h|u[T]&h&&(u[T]|=h),x&=~R}}function le(u){return u&=-u,2<u?8<u?(u&134217727)!==0?32:268435456:8:2}function k(u){if(cs&&typeof cs.onCommitFiberRoot=="function")try{cs.onCommitFiberRoot(Li,u,void 0,(u.current.flags&128)===128)}catch{}}function W(u){if(typeof p_=="function"&&ar(u),cs&&typeof cs.setStrictMode=="function")try{cs.setStrictMode(Li,u)}catch{}}function ee(u,h){return u===h&&(u!==0||1/u===1/h)||u!==u&&h!==h}function pe(u,h){if(typeof u=="object"&&u!==null){var x=Zg.get(u);return x!==void 0?x:(h={value:u,source:h,stack:m(h)},Zg.set(u,h),h)}return{value:u,source:h,stack:m(h)}}function H(u,h){Sc[Ac++]=Pu,Sc[Ac++]=bc,bc=u,Pu=h}function re(u,h,x){Rs[Bs++]=wa,Rs[Bs++]=Ra,Rs[Bs++]=Ul,Ul=u;var T=wa;u=Ra;var R=32-Jr(T)-1;T&=~(1<<R),x+=1;var L=32-Jr(h)+R;if(30<L){var q=R-R%5;L=(T&(1<<q)-1).toString(32),T>>=q,R-=q,wa=1<<32-Jr(h)+R|x<<R|T,Ra=L+u}else wa=1<<L|x<<R|T,Ra=u}function ye(u){u.return!==null&&(H(u,1),re(u,1,0))}function Ae(u){for(;u===bc;)bc=Sc[--Ac],Sc[Ac]=null,Pu=Sc[--Ac],Sc[Ac]=null;for(;u===Ul;)Ul=Rs[--Bs],Rs[Bs]=null,Ra=Rs[--Bs],Rs[Bs]=null,wa=Rs[--Bs],Rs[Bs]=null}function Te(u,h){w(ao,h),w(Hu,u),w(Ki,null),u=Ry(h),A(Ki),w(Ki,u)}function he(){A(Ki),A(Hu),A(ao)}function xe(u){u.memoizedState!==null&&w(Mc,u);var h=Ki.current,x=Ou(h,u.type);h!==x&&(w(Hu,u),w(Ki,x))}function Ne(u){Hu.current===u&&(A(Ki),A(Hu)),Mc.current===u&&(A(Mc),qr?Ta._currentValue=Bl:Ta._currentValue2=Bl)}function Oe(u){var h=Error(i(418,""));throw ne(pe(h,u)),Sh}function We(u,h){if(!br)throw Error(i(175));e_(u.stateNode,u.type,u.memoizedProps,h,u)||Oe(u)}function gt(u){for(Mr=u.return;Mr;)switch(Mr.tag){case 3:case 27:or=!0;return;case 5:case 13:or=!1;return;default:Mr=Mr.return}}function Ft(u){if(!br||u!==Mr)return!1;if(!Dn)return gt(u),Dn=!0,!1;var h=!1;if(ei?u.tag!==3&&u.tag!==27&&(u.tag!==5||up(u.type)&&!on(u.type,u.memoizedProps))&&(h=!0):u.tag!==3&&(u.tag!==5||up(u.type)&&!on(u.type,u.memoizedProps))&&(h=!0),h&&Er&&Oe(u),gt(u),u.tag===13){if(!br)throw Error(i(316));if(u=u.memoizedState,u=u!==null?u.dehydrated:null,!u)throw Error(i(317));Er=n_(u)}else Er=Mr?Wg(u.stateNode):null;return!0}function At(){br&&(Er=Mr=null,Dn=!1)}function ne(u){oa===null?oa=[u]:oa.push(u)}function Ie(){for(var u=Ec,h=Ba=Ec=0;h<u;){var x=la[h];la[h++]=null;var T=la[h];la[h++]=null;var R=la[h];la[h++]=null;var L=la[h];if(la[h++]=null,T!==null&&R!==null){var q=T.pending;q===null?R.next=R:(R.next=q.next,q.next=R),T.pending=R}L!==0&&Ze(x,R,L)}}function Le(u,h,x,T){la[Ec++]=u,la[Ec++]=h,la[Ec++]=x,la[Ec++]=T,Ba|=T,u.lanes|=T,u=u.alternate,u!==null&&(u.lanes|=T)}function Ge(u,h,x,T){return Le(u,h,x,T),ke(u)}function ie(u,h){return Le(u,null,null,h),ke(u)}function Ze(u,h,x){u.lanes|=x;var T=u.alternate;T!==null&&(T.lanes|=x);for(var R=!1,L=u.return;L!==null;)L.childLanes|=x,T=L.alternate,T!==null&&(T.childLanes|=x),L.tag===22&&(u=L.stateNode,u===null||u._visibility&1||(R=!0)),u=L,L=L.return;R&&h!==null&&u.tag===3&&(L=u.stateNode,R=31-Jr(x),L=L.hiddenUpdates,u=L[R],u===null?L[R]=[h]:u.push(h),h.lane=x|536870912)}function ke(u){if(50<qu)throw qu=0,Ep=null,Error(i(185));for(var h=u.return;h!==null;)u=h,h=u.return;return u.tag===3?u.stateNode:null}function Je(u){u!==Ko&&u.next===null&&(Ko===null?Ah=Ko=u:Ko=Ko.next=u),si=!0,Tc||(Tc=!0,we(Lt))}function ht(u,h){if(!$g&&si){$g=!0;do for(var x=!1,T=Ah;T!==null;){if(u!==0){var R=T.pendingLanes;if(R===0)var L=0;else{var q=T.suspendedLanes,oe=T.pingedLanes;L=(1<<31-Jr(42|u)+1)-1,L&=R&~(q&~oe),L=L&201326677?L&201326677|1:L?L|2:0}L!==0&&(x=!0,me(T,L))}
vendor: 13,675 bytes, line 3935
3935else L=bn,L=I(T,T===jn?L:0),(L&3)===0||O(T,L)||(x=!0,me(T,L));T=T.next}while(x);$g=!1}}function Lt(){si=Tc=!1;var u=0;zu!==0&&(Ny()&&(u=zu),zu=0);for(var h=aa(),x=null,T=Ah;T!==null;){var R=T.next,L=J(T,h);L===0?(T.next=null,x===null?Ah=R:x.next=R,R===null&&(Ko=x)):(x=T,(u!==0||(L&3)!==0)&&(si=!0)),T=R}ht(u)}function J(u,h){for(var x=u.suspendedLanes,T=u.pingedLanes,R=u.expirationTimes,L=u.pendingLanes&-62914561;0<L;){var q=31-Jr(L),oe=1<<q,ve=R[q];ve===-1?((oe&x)===0||(oe&T)!==0)&&(R[q]=U(oe,h)):ve<=h&&(u.expiredLanes|=oe),L&=~oe}if(h=jn,x=bn,x=I(u,u===h?x:0),T=u.callbackNode,x===0||u===h&&Zn===2||u.cancelPendingCommit!==null)return T!==null&&T!==null&&pp(T),u.callbackNode=null,u.callbackPriority=0;if((x&3)===0||O(u,x)){if(h=x&-x,h===u.callbackPriority)return h;switch(T!==null&&pp(T),le(x)){case 2:case 8:x=d_;break;case 32:x=vp;break;case 268435456:x=Rb;break;default:x=vp}return T=V.bind(null,u),x=xh(x,T),u.callbackPriority=h,u.callbackNode=x,h}return T!==null&&T!==null&&pp(T),u.callbackPriority=2,u.callbackNode=null,2}function V(u,h){var x=u.callbackNode;if(Ma()&&u.callbackNode!==x)return null;var T=bn;return T=I(u,u===jn?T:0),T===0?null:(bl(u,T,h),J(u,aa()),u.callbackNode!=null&&u.callbackNode===x?V.bind(null,u):null)}function me(u,h){if(Ma())return null;bl(u,h,!0)}function we(u){Hg?Wo(function(){(Ln&6)!==0?xh(gp,u):u()}):xh(gp,u)}function Ue(){return zu===0&&(zu=z()),zu}function Re(u,h){if(Fu===null){var x=Fu=[];Cc=0,Ds=Ue(),wc={status:"pending",value:void 0,then:function(T){x.push(T)}}}return Cc++,h.then(ot,ot),h}function ot(){if(--Cc===0&&Fu!==null){wc!==null&&(wc.status="fulfilled");var u=Fu;Fu=null,Ds=0,wc=null;for(var h=0;h<u.length;h++)(0,u[h])()}}function $e(u,h){var x=[],T={status:"pending",value:null,reason:null,then:function(R){x.push(R)}};return u.then(function(){T.status="fulfilled",T.value=h;for(var R=0;R<x.length;R++)(0,x[R])(h)},function(R){for(T.status="rejected",T.reason=R,R=0;R<x.length;R++)(0,x[R])(void 0)}),T}function St(u){u.updateQueue={baseState:u.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function lt(u,h){u=u.updateQueue,h.updateQueue===u&&(h.updateQueue={baseState:u.baseState,firstBaseUpdate:u.firstBaseUpdate,lastBaseUpdate:u.lastBaseUpdate,shared:u.shared,callbacks:null})}function Ye(u){return{lane:u,tag:0,payload:null,callback:null,next:null}}function nt(u,h,x){var T=u.updateQueue;if(T===null)return null;if(T=T.shared,(Ln&2)!==0){var R=T.pending;return R===null?h.next=h:(h.next=R.next,R.next=h),T.pending=h,h=ke(u),Ze(u,null,x),h}return Le(u,T,h,x),ke(u)}function Mt(u,h,x){if(h=h.updateQueue,h!==null&&(h=h.shared,(x&4194176)!==0)){var T=h.lanes;T&=u.pendingLanes,x|=T,h.lanes=x,te(u,x)}}function yt(u,h){var x=u.updateQueue,T=u.alternate;if(T!==null&&(T=T.updateQueue,x===T)){var R=null,L=null;if(x=x.firstBaseUpdate,x!==null){do{var q={lane:x.lane,tag:x.tag,payload:x.payload,callback:null,next:null};L===null?R=L=q:L=L.next=q,x=x.next}while(x!==null);L===null?R=L=h:L=L.next=h}else R=L=h;x={baseState:T.baseState,firstBaseUpdate:R,lastBaseUpdate:L,shared:T.shared,callbacks:T.callbacks},u.updateQueue=x;return}u=x.lastBaseUpdate,u===null?x.firstBaseUpdate=h:u.next=h,x.lastBaseUpdate=h}function rt(){if(Rc){var u=wc;if(u!==null)throw u}}function Pt(u,h,x,T){Rc=!1;var R=u.updateQueue;Qo=!1;var L=R.firstBaseUpdate,q=R.lastBaseUpdate,oe=R.shared.pending;if(oe!==null){R.shared.pending=null;var ve=oe,He=ve.next;ve.next=null,q===null?L=He:q.next=He,q=ve;var at=u.alternate;at!==null&&(at=at.updateQueue,oe=at.lastBaseUpdate,oe!==q&&(oe===null?at.firstBaseUpdate=He:oe.next=He,at.lastBaseUpdate=ve))}if(L!==null){var pt=R.baseState;q=0,at=He=ve=null,oe=L;do{var xt=oe.lane&-536870913,nn=xt!==oe.lane;if(nn?(bn&xt)===xt:(T&xt)===xt){xt!==0&&xt===Ds&&(Rc=!0),at!==null&&(at=at.next={lane:0,tag:oe.tag,payload:oe.payload,callback:null,next:null});e:{var zs=u,Xl=oe;xt=h;var Yl=x;switch(Xl.tag){case 1:if(zs=Xl.payload,typeof zs=="function"){pt=zs.call(Yl,pt,xt);break e}pt=zs;break e;case 3:zs.flags=zs.flags&-65537|128;case 0:if(zs=Xl.payload,xt=typeof zs=="function"?zs.call(Yl,pt,xt):zs,xt==null)break e;pt=Zd({},pt,xt);break e;case 2:Qo=!0}}xt=oe.callback,xt!==null&&(u.flags|=64,nn&&(u.flags|=8192),nn=R.callbacks,nn===null?R.callbacks=[xt]:nn.push(xt))}else nn={lane:xt,tag:oe.tag,payload:oe.payload,callback:oe.callback,next:null},at===null?(He=at=nn,ve=pt):at=at.next=nn,q|=xt;if(oe=oe.next,oe===null){if(oe=R.shared.pending,oe===null)break;nn=oe,oe=nn.next,nn.next=null,R.lastBaseUpdate=nn,R.shared.pending=null}}while(!0);at===null&&(ve=pt),R.baseState=ve,R.firstBaseUpdate=He,R.lastBaseUpdate=at,L===null&&(R.shared.lanes=0),Ps|=q,u.lanes=q,u.memoizedState=pt}}function se(u,h){if(typeof u!="function")throw Error(i(191,u));u.call(h)}function Ke(u,h){var x=u.callbacks;if(x!==null)for(u.callbacks=null,u=0;u<x.length;u++)se(x[u],h)}function Qe(u,h){if(us(u,h))return!0;if(typeof u!="object"||u===null||typeof h!="object"||h===null)return!1;var x=Object.keys(u),T=Object.keys(h);if(x.length!==T.length)return!1;for(T=0;T<x.length;T++){var R=x[T];if(!oo.call(h,R)||!us(u[R],h[R]))return!1}return!0}function ct(u){return u=u.status,u==="fulfilled"||u==="rejected"}function je(){}function Pe(u,h,x){switch(x=u[x],x===void 0?u.push(h):x!==h&&(h.then(je,je),h=x),h.status){case"fulfilled":return h.value;case"rejected":throw u=h.reason,u===Gu?Error(i(483)):u;default:if(typeof h.status=="string")h.then(je,je);else{if(u=jn,u!==null&&100<u.shellSuspendCounter)throw Error(i(482));u=h,u.status="pending",u.then(function(T){if(h.status==="pending"){var R=h;R.status="fulfilled",R.value=T}},function(T){if(h.status==="pending"){var R=h;R.status="rejected",R.reason=T}})}switch(h.status){case"fulfilled":return h.value;case"rejected":throw u=h.reason,u===Gu?Error(i(483)):u}throw Il=h,Gu}}function _t(){if(Il===null)throw Error(i(459));var u=Il;return Il=null,u}function Nt(u){var h=Hl;return Hl+=1,Pl===null&&(Pl=[]),Pe(Pl,u,h)}function hn(u,h){h=h.props.ref,u.ref=h!==void 0?h:null}function ft(u,h){throw h.$$typeof===Ab?Error(i(525)):(u=Object.prototype.toString.call(h),Error(i(31,u==="[object Object]"?"object with keys {"+Object.keys(h).join(", ")+"}":u)))}function wt(u){var h=u._init;return h(u._payload)}function Vt(u){function h(Me,ue){if(u){var De=Me.deletions;De===null?(Me.deletions=[ue],Me.flags|=16):De.push(ue)}}function x(Me,ue){if(!u)return null;for(;ue!==null;)h(Me,ue),ue=ue.sibling;return null}function T(Me){for(var ue=new Map;Me!==null;)Me.key!==null?ue.set(Me.key,Me):ue.set(Me.index,Me),Me=Me.sibling;return ue}function R(Me,ue){return Me=na(Me,ue),Me.index=0,Me.sibling=null,Me}function L(Me,ue,De){return Me.index=De,u?(De=Me.alternate,De!==null?(De=De.index,De<ue?(Me.flags|=33554434,ue):De):(Me.flags|=33554434,ue)):(Me.flags|=1048576,ue)}function q(Me){return u&&Me.alternate===null&&(Me.flags|=33554434),Me}function oe(Me,ue,De,st){return ue===null||ue.tag!==6?(ue=Kd(De,Me.mode,st),ue.return=Me,ue):(ue=R(ue,De),ue.return=Me,ue)}function ve(Me,ue,De,st){var It=De.type;return It===wl?at(Me,ue,De.props.children,st,De.key):ue!==null&&(ue.elementType===It||typeof It=="object"&&It!==null&&It.$$typeof===ra&&wt(It)===ue.type)?(ue=R(ue,De.props),hn(ue,De),ue.return=Me,ue):(ue=no(De.type,De.key,De.props,null,Me.mode,st),hn(ue,De),ue.return=Me,ue)}function He(Me,ue,De,st){return ue===null||ue.tag!==4||ue.stateNode.containerInfo!==De.containerInfo||ue.stateNode.implementation!==De.implementation?(ue=Bg(De,Me.mode,st),ue.return=Me,ue):(ue=R(ue,De.children||[]),ue.return=Me,ue)}function at(Me,ue,De,st,It){return ue===null||ue.tag!==7?(ue=bi(De,Me.mode,st,It),ue.return=Me,ue):(ue=R(ue,De),ue.return=Me,ue)}function pt(Me,ue,De){if(typeof ue=="string"&&ue!==""||typeof ue=="number"||typeof ue=="bigint")return ue=Kd(""+ue,Me.mode,De),ue.return=Me,ue;if(typeof ue=="object"&&ue!==null){switch(ue.$$typeof){case ch:return De=no(ue.type,ue.key,ue.props,null,Me.mode,De),hn(De,ue),De.return=Me,De;case ia:return ue=Bg(ue,Me.mode,De),ue.return=Me,ue;case ra:var st=ue._init;return ue=st(ue._payload),pt(Me,ue,De)}if(Ru(ue)||s(ue))return ue=bi(ue,Me.mode,De,null),ue.return=Me,ue;if(typeof ue.then=="function")return pt(Me,Nt(ue),De);if(ue.$$typeof===Ea)return pt(Me,Wf(Me,ue),De);ft(Me,ue)}return null}function xt(Me,ue,De,st){var It=ue!==null?ue.key:null;if(typeof De=="string"&&De!==""||typeof De=="number"||typeof De=="bigint")return It!==null?null:oe(Me,ue,""+De,st);if(typeof De=="object"&&De!==null){switch(De.$$typeof){case ch:return De.key===It?ve(Me,ue,De,st):null;case ia:return De.key===It?He(Me,ue,De,st):null;case ra:return It=De._init,De=It(De._payload),xt(Me,ue,De,st)}if(Ru(De)||s(De))return It!==null?null:at(Me,ue,De,st,null);if(typeof De.then=="function")return xt(Me,ue,Nt(De),st);if(De.$$typeof===Ea)return xt(Me,ue,Wf(Me,De),st);ft(Me,De)}return null}function nn(Me,ue,De,st,It){if(typeof st=="string"&&st!==""||typeof st=="number"||typeof st=="bigint")return Me=Me.get(De)||null,oe(ue,Me,""+st,It);if(typeof st=="object"&&st!==null){switch(st.$$typeof){case ch:return Me=Me.get(st.key===null?De:st.key)||null,ve(ue,Me,st,It);case ia:return Me=Me.get(st.key===null?De:st.key)||null,He(ue,Me,st,It);case ra:var di=st._init;return st=di(st._payload),nn(Me,ue,De,st,It)}if(Ru(st)||s(st))return Me=Me.get(De)||null,at(ue,Me,st,It,null);if(typeof st.then=="function")return nn(Me,ue,De,Nt(st),It);if(st.$$typeof===Ea)return nn(Me,ue,De,Wf(ue,st),It);ft(ue,st)}return null}function zs(Me,ue,De,st){for(var It=null,di=null,Qt=ue,zn=ue=0,Ui=null;Qt!==null&&zn<De.length;zn++){Qt.index>zn?(Ui=Qt,Qt=null):Ui=Qt.sibling;var xn=xt(Me,Qt,De[zn],st);if(xn===null){Qt===null&&(Qt=Ui);break}u&&Qt&&xn.alternate===null&&h(Me,Qt),ue=L(xn,ue,zn),di===null?It=xn:di.sibling=xn,di=xn,Qt=Ui}if(zn===De.length)return x(Me,Qt),Dn&&H(Me,zn),It;if(Qt===null){for(;zn<De.length;zn++)Qt=pt(Me,De[zn],st),Qt!==null&&(ue=L(Qt,ue,zn),di===null?It=Qt:di.sibling=Qt,di=Qt);return Dn&&H(Me,zn),It}for(Qt=T(Qt);zn<De.length;zn++)Ui=nn(Qt,Me,zn,De[zn],st),Ui!==null&&(u&&Ui.alternate!==null&&Qt.delete(Ui.key===null?zn:Ui.key),ue=L(Ui,ue,zn),di===null?It=Ui:di.sibling=Ui,di=Ui);return u&&Qt.forEach(function(go){return h(Me,go)}),Dn&&H(Me,zn),It}function Xl(Me,ue,De,st){if(De==null)throw Error(i(151));for(var It=null,di=null,Qt=ue,zn=ue=0,Ui=null,xn=De.next();Qt!==null&&!xn.done;zn++,xn=De.next()){Qt.index>zn?(Ui=Qt,Qt=null):Ui=Qt.sibling;var go=xt(Me,Qt,xn.value,st);if(go===null){Qt===null&&(Qt=Ui);break}u&&Qt&&go.alternate===null&&h(Me,Qt),ue=L(go,ue,zn),di===null?It=go:di.sibling=go,di=go,Qt=Ui}if(xn.done)return x(Me,Qt),Dn&&H(Me,zn),It;if(Qt===null){for(;!xn.done;zn++,xn=De.next())xn=pt(Me,xn.value,st),xn!==null&&(ue=L(xn,ue,zn),di===null?It=xn:di.sibling=xn,di=xn);return Dn&&H(Me,zn),It}for(Qt=T(Qt);!xn.done;zn++,xn=De.next())xn=nn(Qt,Me,zn,xn.value,st),xn!==null&&(u&&xn.alternate!==null&&Qt.delete(xn.key===null?zn:xn.key),ue=L(xn,ue,zn),di===null?It=xn:di.sibling=xn,di=xn);return u&&Qt.forEach(function(Tp){return h(Me,Tp)}),Dn&&H(Me,zn),It}function Yl(Me,ue,De,st){if(typeof De=="object"&&De!==null&&De.type===wl&&De.key===null&&(De=De.props.children),typeof De=="object"&&De!==null){switch(De.$$typeof){case ch:e:{for(var It=De.key;ue!==null;){if(ue.key===It){if(It=De.type,It===wl){if(ue.tag===7){x(Me,ue.sibling),st=R(ue,De.props.children),st.return=Me,Me=st;break e}}else if(ue.elementType===It||typeof It=="object"&&It!==null&&It.$$typeof===ra&&wt(It)===ue.type){x(Me,ue.sibling),st=R(ue,De.props),hn(st,De),st.return=Me,Me=st;break e}x(Me,ue);break}else h(Me,ue);ue=ue.sibling}De.type===wl?(st=bi(De.props.children,Me.mode,st,De.key),st.return=Me,Me=st):(st=no(De.type,De.key,De.props,null,Me.mode,st),hn(st,De),st.return=Me,Me=st)}return q(Me);case ia:e:{for(It=De.key;ue!==null;){if(ue.key===It)if(ue.tag===4&&ue.stateNode.containerInfo===De.containerInfo&&ue.stateNode.implementation===De.implementation){x(Me,ue.sibling),st=R(ue,De.children||[]),st.return=Me,Me=st;break e}else{x(Me,ue);break}else h(Me,ue);ue=ue.sibling}st=Bg(De,Me.mode,st),st.return=Me,Me=st}return q(Me);case ra:return It=De._init,De=It(De._payload),Yl(Me,ue,De,st)}if(Ru(De))return zs(Me,ue,De,st);if(s(De)){if(It=s(De),typeof It!="function")throw Error(i(150));return De=It.call(De),Xl(Me,ue,De,st)}if(typeof De.then=="function")return Yl(Me,ue,Nt(De),st);if(De.$$typeof===Ea)return Yl(Me,ue,Wf(Me,De),st);ft(Me,De)}return typeof De=="string"&&De!==""||typeof De=="number"||typeof De=="bigint"?(De=""+De,ue!==null&&ue.tag===6?(x(Me,ue.sibling),st=R(ue,De),st.return=Me,Me=st):(x(Me,ue),st=Kd(De,Me.mode,st),st.return=Me,Me=st),q(Me)):x(Me,ue)}return function(Me,ue,De,st){try{Hl=0;var It=Yl(Me,ue,De,st);return Pl=null,It}catch(Qt){if(Qt===Gu)throw Qt;var di=t(29,Qt,null,Me.mode);return di.lanes=st,di.return=Me,di}finally{}}}function tt(u,h){u=Ir,w(Vu,u),w(ai,h),Ir=u|h.baseLanes}function bt(){w(Vu,Ir),w(ai,ai.current)}function Tt(){Ir=Vu.current,A(ai),A(Vu)}function Ut(u){var h=u.alternate;w(Qi,Qi.current&1),w(Os,u),ti===null&&(h===null||ai.current!==null||h.memoizedState!==null)&&(ti=u)}function gi(u){if(u.tag===22){if(w(Qi,Qi.current),w(Os,u),ti===null){var h=u.alternate;h!==null&&h.memoizedState!==null&&(ti=u)}}else jt()}function jt(){w(Qi,Qi.current),w(Os,Os.current)}function Cn(u){A(Os),ti===u&&(ti=null),A(Qi)}function kn(u){for(var h=u;h!==null;){if(h.tag===13){var x=h.memoizedState;if(x!==null&&(x=x.dehydrated,x===null||op(x)||lp(x)))return h}else if(h.tag===19&&h.memoizedProps.revealOrder!==void 0){if((h.flags&128)!==0)return h}else if(h.child!==null){h.child.return=h,h=h.child;continue}if(h===u)break;for(;h.sibling===null;){if(h.return===null||h.return===u)return null;h=h.return}
vendor: 10,570 bytes, line 3935
3935h.sibling.return=h.return,h=h.sibling}return null}function qt(){throw Error(i(321))}function An(u,h){if(h===null)return!1;for(var x=0;x<h.length&&x<u.length;x++)if(!us(u[x],h[x]))return!1;return!0}function vn(u,h,x,T,R,L){return Zo=L,dn=h,h.memoizedState=null,h.updateQueue=null,h.lanes=0,Kt.H=u===null||u.memoizedState===null?Gl:Kr,Fl=!1,L=x(T,R),Fl=!1,Bc&&(L=On(h,x,T,R)),Gi(u),L}function Gi(u){Kt.H=Mi;var h=kt!==null&&kt.next!==null;if(Zo=0,Nn=kt=dn=null,ca=!1,Dc=0,lr=null,h)throw Error(i(300));u===null||ni||(u=u.dependencies,u!==null&&qf(u)&&(ni=!0))}function On(u,h,x,T){dn=u;var R=0;do{if(Bc&&(lr=null),Dc=0,Bc=!1,25<=R)throw Error(i(301));if(R+=1,Nn=kt=null,u.updateQueue!=null){var L=u.updateQueue;L.lastEffect=null,L.events=null,L.stores=null,L.memoCache!=null&&(L.memoCache.index=0)}Kt.H=Ns,L=h(x,T)}while(Bc);return L}function Bn(){var u=Kt.H,h=u.useState()[0];return h=typeof h.then=="function"?Ee(h):h,u=u.useState()[0],(kt!==null?kt.memoizedState:null)!==u&&(dn.flags|=1024),h}function dr(){var u=yp!==0;return yp=0,u}function vi(u,h,x){h.updateQueue=u.updateQueue,h.flags&=-2053,u.lanes&=~x}function Y(u){if(ca){for(u=u.memoizedState;u!==null;){var h=u.queue;h!==null&&(h.pending=null),u=u.next}ca=!1}Zo=0,Nn=kt=dn=null,Bc=!1,Dc=yp=0,lr=null}function ce(){var u={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Nn===null?dn.memoizedState=Nn=u:Nn=Nn.next=u,Nn}function _e(){if(kt===null){var u=dn.alternate;u=u!==null?u.memoizedState:null}else u=kt.next;var h=Nn===null?dn.memoizedState:Nn.next;if(h!==null)Nn=h,kt=u;else{if(u===null)throw dn.alternate===null?Error(i(467)):Error(i(310));kt=u,u={memoizedState:kt.memoizedState,baseState:kt.baseState,baseQueue:kt.baseQueue,queue:kt.queue,next:null},Nn===null?dn.memoizedState=Nn=u:Nn=Nn.next=u}return Nn}function Ee(u){var h=Dc;return Dc+=1,lr===null&&(lr=[]),u=Pe(lr,u,h),h=dn,(Nn===null?h.memoizedState:Nn.next)===null&&(h=h.alternate,Kt.H=h===null||h.memoizedState===null?Gl:Kr),u}function de(u){if(u!==null&&typeof u=="object"){if(typeof u.then=="function")return Ee(u);if(u.$$typeof===Ea)return _r(u)}throw Error(i(438,String(u)))}function Ve(u){var h=null,x=dn.updateQueue;if(x!==null&&(h=x.memoCache),h==null){var T=dn.alternate;T!==null&&(T=T.updateQueue,T!==null&&(T=T.memoCache,T!=null&&(h={data:T.data.map(function(R){return R.slice()}),index:0})))}if(h==null&&(h={data:[],index:0}),x===null&&(x=_p(),dn.updateQueue=x),x.memoCache=h,x=h.data[h.index],x===void 0)for(x=h.data[h.index]=Array(u),T=0;T<u;T++)x[T]=wy;return h.index++,x}function et(u,h){return typeof h=="function"?h(u):h}function vt(u){var h=_e();return ut(h,kt,u)}function ut(u,h,x){var T=u.queue;if(T===null)throw Error(i(311));T.lastRenderedReducer=x;var R=u.baseQueue,L=T.pending;if(L!==null){if(R!==null){var q=R.next;R.next=L.next,L.next=q}h.baseQueue=R=L,T.pending=null}if(L=u.baseState,R===null)u.memoizedState=L;else{h=R.next;var oe=q=null,ve=null,He=h,at=!1;do{var pt=He.lane&-536870913;if(pt!==He.lane?(bn&pt)===pt:(Zo&pt)===pt){var xt=He.revertLane;if(xt===0)ve!==null&&(ve=ve.next={lane:0,revertLane:0,action:He.action,hasEagerState:He.hasEagerState,eagerState:He.eagerState,next:null}),pt===Ds&&(at=!0);else if((Zo&xt)===xt){He=He.next,xt===Ds&&(at=!0);continue}else pt={lane:0,revertLane:He.revertLane,action:He.action,hasEagerState:He.hasEagerState,eagerState:He.eagerState,next:null},ve===null?(oe=ve=pt,q=L):ve=ve.next=pt,dn.lanes|=xt,Ps|=xt;pt=He.action,Fl&&x(L,pt),L=He.hasEagerState?He.eagerState:x(L,pt)}else xt={lane:pt,revertLane:He.revertLane,action:He.action,hasEagerState:He.hasEagerState,eagerState:He.eagerState,next:null},ve===null?(oe=ve=xt,q=L):ve=ve.next=xt,dn.lanes|=pt,Ps|=pt;He=He.next}while(He!==null&&He!==h);if(ve===null?q=L:ve.next=oe,!us(L,u.memoizedState)&&(ni=!0,at&&(x=wc,x!==null)))throw x;u.memoizedState=L,u.baseState=q,u.baseQueue=ve,T.lastRenderedState=L}return R===null&&(T.lanes=0),[u.memoizedState,T.dispatch]}function Ot(u){var h=_e(),x=h.queue;if(x===null)throw Error(i(311));x.lastRenderedReducer=u;var T=x.dispatch,R=x.pending,L=h.memoizedState;if(R!==null){x.pending=null;var q=R=R.next;do L=u(L,q.action),q=q.next;while(q!==R);us(L,h.memoizedState)||(ni=!0),h.memoizedState=L,h.baseQueue===null&&(h.baseState=L),x.lastRenderedState=L}return[L,T]}function Rt(u,h,x){var T=dn,R=_e(),L=Dn;if(L){if(x===void 0)throw Error(i(407));x=x()}else x=h();var q=!us((kt||R).memoizedState,x);if(q&&(R.memoizedState=x,ni=!0),R=R.queue,tg(rn.bind(null,T,R,u),[u]),R.getSnapshot!==h||q||Nn!==null&&Nn.memoizedState.tag&1){if(T.flags|=2048,Wi(9,$t.bind(null,T,R,x,h),{destroy:void 0},null),jn===null)throw Error(i(349));L||(Zo&60)!==0||Et(T,h,x)}return x}function Et(u,h,x){u.flags|=16384,u={getSnapshot:h,value:x},h=dn.updateQueue,h===null?(h=_p(),dn.updateQueue=h,h.stores=[u]):(x=h.stores,x===null?h.stores=[u]:x.push(u))}function $t(u,h,x,T){h.value=x,h.getSnapshot=T,ui(h)&&Wn(u)}function rn(u,h,x){return x(function(){ui(h)&&Wn(u)})}function ui(u){var h=u.getSnapshot;u=u.value;try{var x=h();return!us(u,x)}catch{return!0}}function Wn(u){var h=ie(u,2);h!==null&&sr(h,u,2)}function sn(u){var h=ce();if(typeof u=="function"){var x=u;if(u=x(),Fl){W(!0);try{x()}finally{W(!1)}}}return h.memoizedState=h.baseState=u,h.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:et,lastRenderedState:u},h}function Ht(u,h,x,T){return u.baseState=x,ut(u,kt,typeof T=="function"?T:et)}function fi(u,h,x,T,R){if(Vf(u))throw Error(i(485));if(u=h.action,u!==null){var L={payload:R,action:u,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(q){L.listeners.push(q)}};Kt.T!==null?x(!0):L.isTransition=!1,T(L),x=h.pending,x===null?(L.next=h.pending=L,yn(h,L)):(L.next=x.next,h.pending=x.next=L)}}function yn(u,h){var x=h.action,T=h.payload,R=u.state;if(h.isTransition){var L=Kt.T,q={};Kt.T=q;try{var oe=x(R,T),ve=Kt.S;ve!==null&&ve(q,oe),pr(u,h,oe)}catch(He){mr(u,h,He)}finally{Kt.T=L}}else try{L=x(R,T),pr(u,h,L)}catch(He){mr(u,h,He)}}function pr(u,h,x){x!==null&&typeof x=="object"&&typeof x.then=="function"?x.then(function(T){$s(u,h,T)},function(T){return mr(u,h,T)}):$s(u,h,x)}function $s(u,h,x){h.status="fulfilled",h.value=x,qi(h),u.state=x,h=u.pending,h!==null&&(x=h.next,x===h?u.pending=null:(x=x.next,h.next=x,yn(u,x)))}function mr(u,h,x){var T=u.pending;if(u.pending=null,T!==null){T=T.next;do h.status="rejected",h.reason=x,qi(h),h=h.next;while(h!==T)}u.action=null}function qi(u){u=u.listeners;for(var h=0;h<u.length;h++)(0,u[h])()}function Qn(u,h){return h}function Or(u,h){if(Dn){var x=jn.formState;if(x!==null){e:{var T=dn;if(Dn){if(Er){var R=qg(Er,or);if(R){Er=Wg(R),T=Ky(R);break e}}Oe(T)}T=!1}T&&(h=x[0])}}x=ce(),x.memoizedState=x.baseState=h,T={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Qn,lastRenderedState:h},x.queue=T,x=sg.bind(null,dn,T),T.dispatch=x,T=sn(!1);var L=fu.bind(null,dn,!1,T.queue);return T=ce(),R={state:h,dispatch:null,action:u,pending:null},T.queue=R,x=fi.bind(null,dn,R,L,x),R.dispatch=x,T.memoizedState=u,[h,x,!1]}function gr(u){var h=_e();return xi(h,kt,u)}function xi(u,h,x){h=ut(u,h,Qn)[0],u=vt(et)[0],h=typeof h=="object"&&h!==null&&typeof h.then=="function"?Ee(h):h;var T=_e(),R=T.queue,L=R.dispatch;return x!==T.memoizedState&&(dn.flags|=2048,Wi(9,vr.bind(null,R,x),{destroy:void 0},null)),[h,L,u]}function vr(u,h){u.action=h}function hc(u){var h=_e(),x=kt;if(x!==null)return xi(h,x,u);_e(),h=h.memoizedState,x=_e();var T=x.queue.dispatch;return x.memoizedState=u,[h,T,!1]}function Wi(u,h,x,T){return u={tag:u,create:h,inst:x,deps:T,next:null},h=dn.updateQueue,h===null&&(h=_p(),dn.updateQueue=h),x=h.lastEffect,x===null?h.lastEffect=u.next=u:(T=x.next,x.next=u,u.next=T,h.lastEffect=u),u}function sy(){return _e().memoizedState}function Pf(u,h,x,T){var R=ce();dn.flags|=u,R.memoizedState=Wi(1|h,x,{destroy:void 0},T===void 0?null:T)}function Hf(u,h,x,T){var R=_e();T=T===void 0?null:T;var L=R.memoizedState.inst;kt!==null&&T!==null&&An(T,kt.memoizedState.deps)?R.memoizedState=Wi(h,x,L,T):(dn.flags|=u,R.memoizedState=Wi(1|h,x,L,T))}function Bd(u,h){Pf(8390656,8,u,h)}function tg(u,h){Hf(2048,8,u,h)}function ay(u,h){return Hf(4,2,u,h)}function zf(u,h){return Hf(4,4,u,h)}function Dd(u,h){if(typeof h=="function"){u=u();var x=h(u);return function(){typeof x=="function"?x():h(null)}}if(h!=null)return u=u(),h.current=u,function(){h.current=null}}function Od(u,h,x){x=x!=null?x.concat([u]):null,Hf(4,4,Dd.bind(null,h,u),x)}function dl(){}function dc(u,h){var x=_e();h=h===void 0?null:h;var T=x.memoizedState;return h!==null&&An(h,T[1])?T[0]:(x.memoizedState=[u,h],u)}function ng(u,h){var x=_e();h=h===void 0?null:h;var T=x.memoizedState;if(h!==null&&An(h,T[1]))return T[0];if(T=u(),Fl){W(!0);try{u()}finally{W(!1)}}return x.memoizedState=[T,h],T}function Ff(u,h,x){return x===void 0||(Zo&1073741824)!==0?u.memoizedState=h:(u.memoizedState=x,u=Mg(),dn.lanes|=u,Ps|=u,x)}function ig(u,h,x,T){return us(x,h)?x:ai.current!==null?(u=Ff(u,x,T),us(u,h)||(ni=!0),u):(Zo&42)===0?(ni=!0,u.memoizedState=x):(u=Mg(),dn.lanes|=u,Ps|=u,h)}function cu(u,h,x,T,R){var L=qo();Lr(L!==0&&8>L?L:8);var q=Kt.T,oe={};Kt.T=oe,fu(u,!1,h,x);try{var ve=R(),He=Kt.S;if(He!==null&&He(oe,ve),ve!==null&&typeof ve=="object"&&typeof ve.then=="function"){var at=$e(ve,T);pl(u,h,at,Di(u))}else pl(u,h,T,Di(u))}catch(pt){pl(u,h,{then:function(){},status:"rejected",reason:pt},Di())}finally{Lr(L),Kt.T=q}}function $a(u){var h=u.memoizedState;if(h!==null)return h;h={memoizedState:Bl,baseState:Bl,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:et,lastRenderedState:Bl},next:null};var x={};return h.next={memoizedState:x,baseState:x,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:et,lastRenderedState:x},next:null},u.memoizedState=h,u=u.alternate,u!==null&&(u.memoizedState=h),h}function Gf(){return _r(Ta)}function uu(){return _e().memoizedState}function Oo(){return _e().memoizedState}function rg(u){for(var h=u.return;h!==null;){switch(h.tag){case 24:case 3:var x=Di();u=Ye(x);var T=nt(h,u,x);T!==null&&(sr(T,h,x),Mt(T,h,x)),h={cache:yl()},u.payload=h;return}h=h.return}}function Nd(u,h,x){var T=Di();x={lane:T,revertLane:0,action:x,hasEagerState:!1,eagerState:null,next:null},Vf(u)?Xr(h,x):(x=Ge(u,h,x,T),x!==null&&(sr(x,u,T),ml(x,h,T)))}function sg(u,h,x){var T=Di();pl(u,h,x,T)}function pl(u,h,x,T){var R={lane:T,revertLane:0,action:x,hasEagerState:!1,eagerState:null,next:null};if(Vf(u))Xr(h,R);else{var L=u.alternate;if(u.lanes===0&&(L===null||L.lanes===0)&&(L=h.lastRenderedReducer,L!==null))try{var q=h.lastRenderedState,oe=L(q,x);
vendor: 17,160 bytes, line 3935
3935if(R.hasEagerState=!0,R.eagerState=oe,us(oe,q))return Le(u,h,R,0),jn===null&&Ie(),!1}catch{}finally{}if(x=Ge(u,h,R,T),x!==null)return sr(x,u,T),ml(x,h,T),!0}return!1}function fu(u,h,x,T){if(T={lane:2,revertLane:Ue(),action:T,hasEagerState:!1,eagerState:null,next:null},Vf(u)){if(h)throw Error(i(479))}else h=Ge(u,x,T,2),h!==null&&sr(h,u,2)}function Vf(u){var h=u.alternate;return u===dn||h!==null&&h===dn}function Xr(u,h){Bc=ca=!0;var x=u.pending;x===null?h.next=h:(h.next=x.next,x.next=h),u.pending=h}function ml(u,h,x){if((x&4194176)!==0){var T=h.lanes;T&=u.pendingLanes,x|=T,h.lanes=x,te(u,x)}}function hu(u,h,x,T){h=u.memoizedState,x=x(T,h),x=x==null?h:Zd({},h,x),u.memoizedState=x,u.lanes===0&&(u.updateQueue.baseState=x)}function du(u,h,x,T,R,L,q){return u=u.stateNode,typeof u.shouldComponentUpdate=="function"?u.shouldComponentUpdate(T,L,q):h.prototype&&h.prototype.isPureReactComponent?!Qe(x,T)||!Qe(R,L):!0}function oy(u,h,x,T){u=h.state,typeof h.componentWillReceiveProps=="function"&&h.componentWillReceiveProps(x,T),typeof h.UNSAFE_componentWillReceiveProps=="function"&&h.UNSAFE_componentWillReceiveProps(x,T),h.state!==u&&co.enqueueReplaceState(h,h.state,null)}function No(u,h){var x=h;if("ref"in h){x={};for(var T in h)T!=="ref"&&(x[T]=h[T])}if(u=u.defaultProps){x===h&&(x=Zd({},x));for(var R in u)x[R]===void 0&&(x[R]=u[R])}return x}function pu(u,h){try{var x=u.onUncaughtError;x(h.value,{componentStack:h.stack})}catch(T){setTimeout(function(){throw T})}}function mu(u,h,x){try{var T=u.onCaughtError;T(x.value,{componentStack:x.stack,errorBoundary:h.tag===1?h.stateNode:null})}catch(R){setTimeout(function(){throw R})}}function gu(u,h,x){return x=Ye(x),x.tag=3,x.payload={element:null},x.callback=function(){pu(u,h)},x}function ag(u){return u=Ye(u),u.tag=3,u}function ly(u,h,x,T){var R=x.type.getDerivedStateFromError;if(typeof R=="function"){var L=T.value;u.payload=function(){return R(L)},u.callback=function(){mu(h,x,T)}}var q=x.stateNode;q!==null&&typeof q.componentDidCatch=="function"&&(u.callback=function(){mu(h,x,T),typeof R!="function"&&(Vl===null?Vl=new Set([this]):Vl.add(this));var oe=T.stack;this.componentDidCatch(T.value,{componentStack:oe!==null?oe:""})})}function yb(u,h,x,T,R){if(x.flags|=32768,T!==null&&typeof T=="object"&&typeof T.then=="function"){if(h=x.alternate,h!==null&&jf(h,x,R,!0),x=Os.current,x!==null){switch(x.tag){case 13:return ti===null?Go():x.alternate===null&&ii===0&&(ii=3),x.flags&=-257,x.flags|=65536,x.lanes=R,T===Mh?x.flags|=16384:(h=x.updateQueue,h===null?x.updateQueue=new Set([T]):h.add(T),gc(u,T,R)),!1;case 22:return x.flags|=65536,T===Mh?x.flags|=16384:(h=x.updateQueue,h===null?(h={transitions:null,markerInstances:null,retryQueue:new Set([T])},x.updateQueue=h):(x=h.retryQueue,x===null?h.retryQueue=new Set([T]):x.add(T)),gc(u,T,R)),!1}throw Error(i(435,x.tag))}return gc(u,T,R),Go(),!1}if(Dn)return h=Os.current,h!==null?((h.flags&65536)===0&&(h.flags|=256),h.flags|=65536,h.lanes=R,T!==Sh&&(u=Error(i(422),{cause:T}),ne(pe(u,x)))):(T!==Sh&&(h=Error(i(423),{cause:T}),ne(pe(h,x))),u=u.current.alternate,u.flags|=65536,R&=-R,u.lanes|=R,T=pe(T,x),R=gu(u.stateNode,T,R),yt(u,R),ii!==4&&(ii=2)),!1;var L=Error(i(520),{cause:T});if(L=pe(L,x),Nc===null?Nc=[L]:Nc.push(L),ii!==4&&(ii=2),h===null)return!0;T=pe(T,x),x=h;do{switch(x.tag){case 3:return x.flags|=65536,u=R&-R,x.lanes|=u,u=gu(x.stateNode,T,u),yt(x,u),!1;case 1:if(h=x.type,L=x.stateNode,(x.flags&128)===0&&(typeof h.getDerivedStateFromError=="function"||L!==null&&typeof L.componentDidCatch=="function"&&(Vl===null||!Vl.has(L))))return x.flags|=65536,R&=-R,x.lanes|=R,R=ag(R),ly(R,u,x,T),yt(x,R),!1}x=x.return}while(x!==null);return!1}function yr(u,h,x,T){h.child=u===null?lo(h,null,x,T):zl(h,u.child,x,T)}function Ld(u,h,x,T,R){x=x.render;var L=h.ref;if("ref"in T){var q={};for(var oe in T)oe!=="ref"&&(q[oe]=T[oe])}else q=T;return vl(h),T=vn(u,h,x,q,L,R),oe=dr(),u!==null&&!ni?(vi(u,h,R),Lo(u,h,R)):(Dn&&oe&&ye(h),h.flags|=1,yr(u,h,T,R),h.child)}function cy(u,h,x,T,R){if(u===null){var L=x.type;return typeof L=="function"&&!sh(L)&&L.defaultProps===void 0&&x.compare===null?(h.tag=15,h.type=L,uy(u,h,L,T,R)):(u=no(x.type,null,T,h,h.mode,R),u.ref=h.ref,u.return=h,h.child=u)}if(L=u.child,!fg(u,R)){var q=L.memoizedProps;if(x=x.compare,x=x!==null?x:Qe,x(q,T)&&u.ref===h.ref)return Lo(u,h,R)}return h.flags|=1,u=na(L,T),u.ref=h.ref,u.return=h,h.child=u}function uy(u,h,x,T,R){if(u!==null){var L=u.memoizedProps;if(Qe(L,T)&&u.ref===h.ref)if(ni=!1,h.pendingProps=T=L,fg(u,R))(u.flags&131072)!==0&&(ni=!0);else return h.lanes=u.lanes,Lo(u,h,R)}return Ud(u,h,x,T,R)}function fy(u,h,x){var T=h.pendingProps,R=T.children,L=(h.stateNode._pendingVisibility&2)!==0,q=u!==null?u.memoizedState:null;if(kf(u,h),T.mode==="hidden"||L){if((h.flags&128)!==0){if(T=q!==null?q.baseLanes|x:x,u!==null){for(R=h.child=u.child,L=0;R!==null;)L=L|R.lanes|R.childLanes,R=R.sibling;h.childLanes=L&~T}else h.childLanes=0,h.child=null;return hy(u,h,T,x)}if((x&536870912)!==0)h.memoizedState={baseLanes:0,cachePool:null},u!==null&&Pd(h,q!==null?q.cachePool:null),q!==null?tt(h,q):bt(),gi(h);else return h.lanes=h.childLanes=536870912,hy(u,h,q!==null?q.baseLanes|x:x,x)}else q!==null?(Pd(h,q.cachePool),tt(h,q),jt(),h.memoizedState=null):(u!==null&&Pd(h,null),bt(),jt());return yr(u,h,R,x),h.child}function hy(u,h,x,T){var R=dg();return R=R===null?null:{parent:qr?oi._currentValue:oi._currentValue2,pool:R},h.memoizedState={baseLanes:x,cachePool:R},u!==null&&Pd(h,null),bt(),gi(h),u!==null&&jf(u,h,T,!0),null}function kf(u,h){var x=h.ref;if(x===null)u!==null&&u.ref!==null&&(h.flags|=2097664);else{if(typeof x!="function"&&typeof x!="object")throw Error(i(284));(u===null||u.ref!==x)&&(h.flags|=2097664)}}function Ud(u,h,x,T,R){return vl(h),x=vn(u,h,x,T,void 0,R),T=dr(),u!==null&&!ni?(vi(u,h,R),Lo(u,h,R)):(Dn&&T&&ye(h),h.flags|=1,yr(u,h,x,R),h.child)}function dy(u,h,x,T,R,L){return vl(h),h.updateQueue=null,x=On(h,T,x,R),Gi(u),T=dr(),u!==null&&!ni?(vi(u,h,L),Lo(u,h,L)):(Dn&&T&&ye(h),h.flags|=1,yr(u,h,x,L),h.child)}function py(u,h,x,T,R){if(vl(h),h.stateNode===null){var L=Ll,q=x.contextType;typeof q=="object"&&q!==null&&(L=_r(q)),L=new x(T,L),h.memoizedState=L.state!==null&&L.state!==void 0?L.state:null,L.updater=co,h.stateNode=L,L._reactInternals=h,L=h.stateNode,L.props=T,L.state=h.memoizedState,L.refs={},St(h),q=x.contextType,L.context=typeof q=="object"&&q!==null?_r(q):Ll,L.state=h.memoizedState,q=x.getDerivedStateFromProps,typeof q=="function"&&(hu(h,x,q,T),L.state=h.memoizedState),typeof x.getDerivedStateFromProps=="function"||typeof L.getSnapshotBeforeUpdate=="function"||typeof L.UNSAFE_componentWillMount!="function"&&typeof L.componentWillMount!="function"||(q=L.state,typeof L.componentWillMount=="function"&&L.componentWillMount(),typeof L.UNSAFE_componentWillMount=="function"&&L.UNSAFE_componentWillMount(),q!==L.state&&co.enqueueReplaceState(L,L.state,null),Pt(h,T,L,R),rt(),L.state=h.memoizedState),typeof L.componentDidMount=="function"&&(h.flags|=4194308),T=!0}else if(u===null){L=h.stateNode;var oe=h.memoizedProps,ve=No(x,oe);L.props=ve;var He=L.context,at=x.contextType;q=Ll,typeof at=="object"&&at!==null&&(q=_r(at));var pt=x.getDerivedStateFromProps;at=typeof pt=="function"||typeof L.getSnapshotBeforeUpdate=="function",oe=h.pendingProps!==oe,at||typeof L.UNSAFE_componentWillReceiveProps!="function"&&typeof L.componentWillReceiveProps!="function"||(oe||He!==q)&&oy(h,L,T,q),Qo=!1;var xt=h.memoizedState;L.state=xt,Pt(h,T,L,R),rt(),He=h.memoizedState,oe||xt!==He||Qo?(typeof pt=="function"&&(hu(h,x,pt,T),He=h.memoizedState),(ve=Qo||du(h,x,ve,T,xt,He,q))?(at||typeof L.UNSAFE_componentWillMount!="function"&&typeof L.componentWillMount!="function"||(typeof L.componentWillMount=="function"&&L.componentWillMount(),typeof L.UNSAFE_componentWillMount=="function"&&L.UNSAFE_componentWillMount()),typeof L.componentDidMount=="function"&&(h.flags|=4194308)):(typeof L.componentDidMount=="function"&&(h.flags|=4194308),h.memoizedProps=T,h.memoizedState=He),L.props=T,L.state=He,L.context=q,T=ve):(typeof L.componentDidMount=="function"&&(h.flags|=4194308),T=!1)}else{L=h.stateNode,lt(u,h),q=h.memoizedProps,at=No(x,q),L.props=at,pt=h.pendingProps,xt=L.context,He=x.contextType,ve=Ll,typeof He=="object"&&He!==null&&(ve=_r(He)),oe=x.getDerivedStateFromProps,(He=typeof oe=="function"||typeof L.getSnapshotBeforeUpdate=="function")||typeof L.UNSAFE_componentWillReceiveProps!="function"&&typeof L.componentWillReceiveProps!="function"||(q!==pt||xt!==ve)&&oy(h,L,T,ve),Qo=!1,xt=h.memoizedState,L.state=xt,Pt(h,T,L,R),rt();var nn=h.memoizedState;q!==pt||xt!==nn||Qo||u!==null&&u.dependencies!==null&&qf(u.dependencies)?(typeof oe=="function"&&(hu(h,x,oe,T),nn=h.memoizedState),(at=Qo||du(h,x,at,T,xt,nn,ve)||u!==null&&u.dependencies!==null&&qf(u.dependencies))?(He||typeof L.UNSAFE_componentWillUpdate!="function"&&typeof L.componentWillUpdate!="function"||(typeof L.componentWillUpdate=="function"&&L.componentWillUpdate(T,nn,ve),typeof L.UNSAFE_componentWillUpdate=="function"&&L.UNSAFE_componentWillUpdate(T,nn,ve)),typeof L.componentDidUpdate=="function"&&(h.flags|=4),typeof L.getSnapshotBeforeUpdate=="function"&&(h.flags|=1024)):(typeof L.componentDidUpdate!="function"||q===u.memoizedProps&&xt===u.memoizedState||(h.flags|=4),typeof L.getSnapshotBeforeUpdate!="function"||q===u.memoizedProps&&xt===u.memoizedState||(h.flags|=1024),h.memoizedProps=T,h.memoizedState=nn),L.props=T,L.state=nn,L.context=ve,T=at):(typeof L.componentDidUpdate!="function"||q===u.memoizedProps&&xt===u.memoizedState||(h.flags|=4),typeof L.getSnapshotBeforeUpdate!="function"||q===u.memoizedProps&&xt===u.memoizedState||(h.flags|=1024),T=!1)}return L=T,kf(u,h),T=(h.flags&128)!==0,L||T?(L=h.stateNode,x=T&&typeof x.getDerivedStateFromError!="function"?null:L.render(),h.flags|=1,u!==null&&T?(h.child=zl(h,u.child,null,R),h.child=zl(h,null,x,R)):yr(u,h,x,R),h.memoizedState=L.state,u=h.child):u=Lo(u,h,R),u}function my(u,h,x,T){return At(),h.flags|=256,yr(u,h,x,T),h.child}function og(u){return{baseLanes:u,cachePool:pg()}}function Xf(u,h,x){return u=u!==null?u.childLanes&~x:0,h&&(u|=Hs),u}function gy(u,h,x){var T=h.pendingProps,R=!1,L=(h.flags&128)!==0,q;if((q=L)||(q=u!==null&&u.memoizedState===null?!1:(Qi.current&2)!==0),q&&(R=!0,h.flags&=-129),q=(h.flags&32)!==0,h.flags&=-33,u===null){if(Dn){if(R?Ut(h):jt(),Dn){var oe=Er,ve;(ve=oe)&&(oe=$y(oe,or),oe!==null?(h.memoizedState={dehydrated:oe,treeContext:Ul!==null?{id:wa,overflow:Ra}:null,retryLane:536870912},ve=t(18,null,null,0),ve.stateNode=oe,ve.return=h,h.child=ve,Mr=h,Er=null,ve=!0):ve=!1),ve||Oe(h)}if(oe=h.memoizedState,oe!==null&&(oe=oe.dehydrated,oe!==null))return lp(oe)?h.lanes=16:h.lanes=536870912,null;Cn(h)}return oe=T.children,T=T.fallback,R?(jt(),R=h.mode,oe=cg({mode:"hidden",children:oe},R),T=bi(T,R,x,null),oe.return=h,T.return=h,oe.sibling=T,h.child=oe,R=h.child,R.memoizedState=og(x),R.childLanes=Xf(u,q,x),h.memoizedState=Ap,T):(Ut(h),lg(h,oe))}if(ve=u.memoizedState,ve!==null&&(oe=ve.dehydrated,oe!==null)){if(L)h.flags&256?(Ut(h),h.flags&=-257,h=Id(u,h,x)):h.memoizedState!==null?(jt(),h.child=u.child,h.flags|=128,h=null):(jt(),R=T.fallback,oe=h.mode,T=cg({mode:"visible",children:T.children},oe),R=bi(R,oe,x,null),R.flags|=2,T.return=h,R.return=h,T.sibling=R,h.child=T,zl(h,u.child,null,x),T=h.child,T.memoizedState=og(x),T.childLanes=Xf(u,q,x),h.memoizedState=Ap,h=R);else if(Ut(h),lp(oe))q=Wy(oe).digest,T=Error(i(419)),T.stack="",T.digest=q,ne({value:T,source:null,stack:null}),h=Id(u,h,x);else if(ni||jf(u,h,x,!1),q=(x&u.childLanes)!==0,ni||q){if(q=jn,q!==null){if(T=x&-x,(T&42)!==0)T=1;else switch(T){case 2:T=1;break;case 8:T=4;break;case 32:T=16;break;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:T=64;break;case 268435456:T=134217728;break;default:T=0}if(T=(T&(q.suspendedLanes|x))!==0?0:T,T!==0&&T!==ve.retryLane)throw ve.retryLane=T,ie(u,T),sr(q,u,T),Sp}op(oe)||Go(),h=Id(u,h,x)}else op(oe)?(h.flags|=128,h.child=u.child,h=Vo.bind(null,u),Jy(oe,h),h=null):(u=ve.treeContext,br&&(Er=Zy(oe),Mr=h,Dn=!0,oa=null,or=!1,u!==null&&(Rs[Bs++]=wa,Rs[Bs++]=Ra,Rs[Bs++]=Ul,wa=u.id,Ra=u.overflow,Ul=h)),h=lg(h,T.children),h.flags|=4096);return h}return R?(jt(),R=T.fallback,oe=h.mode,ve=u.child,L=ve.sibling,T=na(ve,{mode:"hidden",children:T.children}),T.subtreeFlags=ve.subtreeFlags&31457280,L!==null?R=na(L,R):(R=bi(R,oe,x,null),R.flags|=2),R.return=h,T.return=h,T.sibling=R,h.child=T,T=R,R=h.child,oe=u.child.memoizedState,oe===null?oe=og(x):(ve=oe.cachePool,ve!==null?(L=qr?oi._currentValue:oi._currentValue2,ve=ve.parent!==L?{parent:L,pool:L}:ve):ve=pg(),oe={baseLanes:oe.baseLanes|x,cachePool:ve}),R.memoizedState=oe,R.childLanes=Xf(u,q,x),h.memoizedState=Ap,T):(Ut(h),x=u.child,u=x.sibling,x=na(x,{mode:"visible",children:T.children}),x.return=h,x.sibling=null,u!==null&&(q=h.deletions,q===null?(h.deletions=[u],h.flags|=16):q.push(u)),h.child=x,h.memoizedState=null,x)}function lg(u,h){return h=cg({mode:"visible",children:h},u.mode),h.return=u,u.child=h}function cg(u,h){return oh(u,h,0,null)}function Id(u,h,x){return zl(h,u.child,null,x),u=lg(h,h.pendingProps.children),u.flags|=2,h.memoizedState=null,u}function vy(u,h,x){u.lanes|=h;var T=u.alternate;T!==null&&(T.lanes|=h),Yf(u.return,h,x)}function ug(u,h,x,T,R){var L=u.memoizedState;L===null?u.memoizedState={isBackwards:h,rendering:null,renderingStartTime:0,last:T,tail:x,tailMode:R}:(L.isBackwards=h,L.rendering=null,L.renderingStartTime=0,L.last=T,L.tail=x,L.tailMode=R)}function yy(u,h,x){var T=h.pendingProps,R=T.revealOrder,L=T.tail;if(yr(u,h,T.children,x),T=Qi.current,(T&2)!==0)T=T&1|2,h.flags|=128;else{if(u!==null&&(u.flags&128)!==0)e:for(u=h.child;u!==null;){if(u.tag===13)u.memoizedState!==null&&vy(u,x,h);else if(u.tag===19)vy(u,x,h);else if(u.child!==null){u.child.return=u,u=u.child;continue}if(u===h)break e;for(;u.sibling===null;){if(u.return===null||u.return===h)break e;u=u.return}u.sibling.return=u.return,u=u.sibling}T&=1}switch(w(Qi,T),R){case"forwards":for(x=h.child,R=null;x!==null;)u=x.alternate,u!==null&&kn(u)===null&&(R=x),x=x.sibling;x=R,x===null?(R=h.child,h.child=null):(R=x.sibling,x.sibling=null),ug(h,!1,R,x,L);break;case"backwards":for(x=null,R=h.child,h.child=null;R!==null;){if(u=R.alternate,u!==null&&kn(u)===null){h.child=R;break}u=R.sibling,R.sibling=x,x=R,R=u}ug(h,!0,x,null,L);break;case"together":ug(h,!1,null,null,void 0);break;default:h.memoizedState=null}return h.child}function Lo(u,h,x){if(u!==null&&(h.dependencies=u.dependencies),Ps|=h.lanes,(x&h.childLanes)===0)if(u!==null){if(jf(u,h,x,!1),(x&h.childLanes)===0)return null}else return null;if(u!==null&&h.child!==u.child)throw Error(i(153));if(h.child!==null){for(u=h.child,x=na(u,u.pendingProps),h.child=x,x.return=h;u.sibling!==null;)u=u.sibling,x=x.sibling=na(u,u.pendingProps),x.return=h;x.sibling=null}return h.child}function fg(u,h){return(u.lanes&h)!==0?!0:(u=u.dependencies,!!(u!==null&&qf(u)))}function _b(u,h,x){switch(h.tag){case 3:Te(h,h.stateNode.containerInfo),gl(h,oi,u.memoizedState.cache),At();break;case 27:case 5:xe(h);break;case 4:Te(h,h.stateNode.containerInfo);break;case 10:gl(h,h.type,h.memoizedProps.value);break;case 13:var T=h.memoizedState;if(T!==null)return T.dehydrated!==null?(Ut(h),h.flags|=128,null):(x&h.child.childLanes)!==0?gy(u,h,x):(Ut(h),u=Lo(u,h,x),u!==null?u.sibling:null);Ut(h);break;case 19:var R=(u.flags&128)!==0;if(T=(x&h.childLanes)!==0,T||(jf(u,h,x,!1),T=(x&h.childLanes)!==0),R){if(T)return yy(u,h,x);h.flags|=128}if(R=h.memoizedState,R!==null&&(R.rendering=null,R.tail=null,R.lastEffect=null),w(Qi,Qi.current),T)break;return null;case 22:case 23:return h.lanes=0,fy(u,h,x);case 24:gl(h,oi,u.memoizedState.cache)}return Lo(u,h,x)}function _y(u,h,x){if(u!==null)if(u.memoizedProps!==h.pendingProps)ni=!0;else{if(!fg(u,x)&&(h.flags&128)===0)return ni=!1,_b(u,h,x);ni=(u.flags&131072)!==0}else ni=!1,Dn&&(h.flags&1048576)!==0&&re(h,Pu,h.index);switch(h.lanes=0,h.tag){case 16:e:{u=h.pendingProps;var T=h.elementType,R=T._init;if(T=R(T._payload),h.type=T,typeof T=="function")sh(T)?(u=No(T,u),h.tag=1,h=py(null,h,T,u,x)):(h.tag=0,h=Ud(null,h,T,u,x));else{if(T!=null){if(R=T.$$typeof,R===hh){h.tag=11,h=Ld(null,h,T,u,x);break e}else if(R===tp){h.tag=14,h=cy(null,h,T,u,x);break e}}throw h=o(T)||T,Error(i(306,h,""))}}return h;case 0:return Ud(u,h,h.type,h.pendingProps,x);case 1:return T=h.type,R=No(T,h.pendingProps),py(u,h,T,R,x);case 3:e:{if(Te(h,h.stateNode.containerInfo),u===null)throw Error(i(387));var L=h.pendingProps;R=h.memoizedState,T=R.element,lt(u,h),Pt(h,L,null,x);var q=h.memoizedState;if(L=q.cache,gl(h,oi,L),L!==R.cache&&pc(h,[oi],x,!0),rt(),L=q.element,br&&R.isDehydrated)if(R={element:L,isDehydrated:!1,cache:q.cache},h.updateQueue.baseState=R,h.memoizedState=R,h.flags&256){h=my(u,h,L,x);break e}else if(L!==T){T=pe(Error(i(424)),h),ne(T),h=my(u,h,L,x);break e}else for(br&&(Er=Qy(h.stateNode.containerInfo),Mr=h,Dn=!0,oa=null,or=!0),x=lo(h,null,L,x),h.child=x;x;)x.flags=x.flags&-3|4096,x=x.sibling;else{if(At(),L===T){h=Lo(u,h,x);break e}yr(u,h,L,x)}h=h.child}return h;
3935case 26:if(ws)return kf(u,h),u===null?(x=Qg(h.type,null,h.pendingProps,null))?h.memoizedState=x:Dn||(h.stateNode=dp(h.type,h.pendingProps,ao.current,h)):h.memoizedState=Qg(h.type,u.memoizedProps,h.pendingProps,u.memoizedState),null;case 27:if(ei)return xe(h),u===null&&ei&&Dn&&(T=h.stateNode=Ca(h.type,h.pendingProps,ao.current,Ki.current,!1),Mr=h,or=!0,Er=cp(T)),T=h.pendingProps.children,u!==null||Dn?yr(u,h,T,x):h.child=zl(h,null,T,x),kf(u,h),h.child;case 5:return u===null&&Dn&&(fp(h.type,h.pendingProps,Ki.current),(R=T=Er)&&(T=Tb(T,h.type,h.pendingProps,or),T!==null?(h.stateNode=T,Mr=h,Er=cp(T),or=!1,R=!0):R=!1),R||Oe(h)),xe(h),R=h.type,L=h.pendingProps,q=u!==null?u.memoizedProps:null,T=L.children,on(R,L)?T=null:q!==null&&on(R,q)&&(h.flags|=32),h.memoizedState!==null&&(R=vn(u,h,Bn,null,null,x),qr?Ta._currentValue=R:Ta._currentValue2=R),kf(u,h),yr(u,h,T,x),h.child;case 6:return u===null&&Dn&&(r_(h.pendingProps,Ki.current),(u=x=Er)&&(x=Jg(x,h.pendingProps,or),x!==null?(h.stateNode=x,Mr=h,Er=null,u=!0):u=!1),u||Oe(h)),null;case 13:return gy(u,h,x);case 4:return Te(h,h.stateNode.containerInfo),T=h.pendingProps,u===null?h.child=zl(h,null,T,x):yr(u,h,T,x),h.child;case 11:return Ld(u,h,h.type,h.pendingProps,x);case 7:return yr(u,h,h.pendingProps,x),h.child;case 8:return yr(u,h,h.pendingProps.children,x),h.child;case 12:return yr(u,h,h.pendingProps.children,x),h.child;case 10:return T=h.pendingProps,gl(h,h.type,T.value),yr(u,h,T.children,x),h.child;case 9:return R=h.type._context,T=h.pendingProps.children,vl(h),R=_r(R),T=T(R),h.flags|=1,yr(u,h,T,x),h.child;case 14:return cy(u,h,h.type,h.pendingProps,x);case 15:return uy(u,h,h.type,h.pendingProps,x);case 19:return yy(u,h,x);case 22:return fy(u,h,x);case 24:return vl(h),T=_r(oi),u===null?(R=dg(),R===null&&(R=jn,L=yl(),R.pooledCache=L,L.refCount++,L!==null&&(R.pooledCacheLanes|=x),R=L),h.memoizedState={parent:T,cache:R},St(h),gl(h,oi,R)):((u.lanes&x)!==0&&(lt(u,h),Pt(h,null,null,x),rt()),R=u.memoizedState,L=h.memoizedState,R.parent!==T?(R={parent:T,cache:T},h.memoizedState=R,h.lanes===0&&(h.memoizedState=h.updateQueue.baseState=R),gl(h,oi,T)):(T=L.cache,gl(h,oi,T),T!==R.cache&&pc(h,[oi],x,!0))),yr(u,h,h.pendingProps.children,x),h.child;case 29:throw h.pendingProps}throw Error(i(156,h.tag))}function gl(u,h,x){qr?(w($o,h._currentValue),h._currentValue=x):(w($o,h._currentValue2),h._currentValue2=x)}function Uo(u){var h=$o.current;qr?u._currentValue=h:u._currentValue2=h,A($o)}function Yf(u,h,x){for(;u!==null;){var T=u.alternate;if((u.childLanes&h)!==h?(u.childLanes|=h,T!==null&&(T.childLanes|=h)):T!==null&&(T.childLanes&h)!==h&&(T.childLanes|=h),u===x)break;u=u.return}}function pc(u,h,x,T){var R=u.child;for(R!==null&&(R.return=u);R!==null;){var L=R.dependencies;if(L!==null){var q=R.child;L=L.firstContext;e:for(;L!==null;){var oe=L;L=R;for(var ve=0;ve<h.length;ve++)if(oe.context===h[ve]){L.lanes|=x,oe=L.alternate,oe!==null&&(oe.lanes|=x),Yf(L.return,x,u),T||(q=null);break e}L=oe.next}}else if(R.tag===18){if(q=R.return,q===null)throw Error(i(341));q.lanes|=x,L=q.alternate,L!==null&&(L.lanes|=x),Yf(q,x,u),q=null}else q=R.child;if(q!==null)q.return=R;else for(q=R;q!==null;){if(q===u){q=null;break}if(R=q.sibling,R!==null){R.return=q.return,q=R;break}q=q.return}R=q}}function jf(u,h,x,T){u=null;for(var R=h,L=!1;R!==null;){if(!L){if((R.flags&524288)!==0)L=!0;else if((R.flags&262144)!==0)break}if(R.tag===10){var q=R.alternate;if(q===null)throw Error(i(387));if(q=q.memoizedProps,q!==null){var oe=R.type;us(R.pendingProps.value,q.value)||(u!==null?u.push(oe):u=[oe])}}else if(R===Mc.current){if(q=R.alternate,q===null)throw Error(i(387));q.memoizedState.memoizedState!==R.memoizedState.memoizedState&&(u!==null?u.push(Ta):u=[Ta])}R=R.return}u!==null&&pc(h,u,x,T),h.flags|=262144}function qf(u){for(u=u.firstContext;u!==null;){var h=u.context;if(!us(qr?h._currentValue:h._currentValue2,u.memoizedValue))return!0;u=u.next}return!1}function vl(u){Oa=u,Ls=null,u=u.dependencies,u!==null&&(u.firstContext=null)}function _r(u){return hg(Oa,u)}function Wf(u,h){return Oa===null&&vl(u),hg(u,h)}function hg(u,h){var x=qr?h._currentValue:h._currentValue2;if(h={context:h,memoizedValue:x,next:null},Ls===null){if(u===null)throw Error(i(308));Ls=h,u.dependencies={lanes:0,firstContext:h},u.flags|=524288}else Ls=Ls.next=h;return x}function yl(){return{controller:new ku,data:new Map,refCount:0}}function Jf(u){u.refCount--,u.refCount===0&&m_(g_,function(){u.controller.abort()})}function dg(){var u=uo.current;return u!==null?u:jn.pooledCache}function Pd(u,h){h===null?w(uo,uo.current):w(uo,h.pool)}function pg(){var u=dg();return u===null?null:{parent:qr?oi._currentValue:oi._currentValue2,pool:u}}function is(u){u.flags|=4}function vu(u,h){if(u!==null&&u.child===h.child)return!1;if((h.flags&16)!==0)return!0;for(u=h.child;u!==null;){if((u.flags&13878)!==0||(u.subtreeFlags&13878)!==0)return!0;u=u.sibling}return!1}function mc(u,h,x,T){if(Ji)for(x=h.child;x!==null;){if(x.tag===5||x.tag===6)ph(u,x.stateNode);else if(!(x.tag===4||ei&&x.tag===27)&&x.child!==null){x.child.return=x,x=x.child;continue}if(x===h)break;for(;x.sibling===null;){if(x.return===null||x.return===h)return;x=x.return}x.sibling.return=x.return,x=x.sibling}else if(sa)for(var R=h.child;R!==null;){if(R.tag===5){var L=R.stateNode;x&&T&&(L=Yg(L,R.type,R.memoizedProps)),ph(u,L)}else if(R.tag===6)L=R.stateNode,x&&T&&(L=jg(L,R.memoizedProps)),ph(u,L);else if(R.tag!==4){if(R.tag===22&&R.memoizedState!==null)L=R.child,L!==null&&(L.return=R),mc(u,R,!0,!0);else if(R.child!==null){R.child.return=R,R=R.child;continue}}if(R===h)break;for(;R.sibling===null;){if(R.return===null||R.return===h)return;R=R.return}R.sibling.return=R.return,R=R.sibling}}function xy(u,h,x,T){if(sa)for(var R=h.child;R!==null;){if(R.tag===5){var L=R.stateNode;x&&T&&(L=Yg(L,R.type,R.memoizedProps)),Xg(u,L)}else if(R.tag===6)L=R.stateNode,x&&T&&(L=jg(L,R.memoizedProps)),Xg(u,L);else if(R.tag!==4){if(R.tag===22&&R.memoizedState!==null)L=R.child,L!==null&&(L.return=R),xy(u,R,!(R.memoizedProps!==null&&R.memoizedProps.mode==="manual"),!0);else if(R.child!==null){R.child.return=R,R=R.child;continue}}if(R===h)break;for(;R.sibling===null;){if(R.return===null||R.return===h)return;R=R.return}R.sibling.return=R.return,R=R.sibling}}function Kf(u,h){if(sa&&vu(u,h)){u=h.stateNode;var x=u.containerInfo,T=mh();xy(T,h,!1,!1),u.pendingChildren=T,is(h),ap(x,T)}}function Hd(u,h,x,T){if(Ji)u.memoizedProps!==T&&is(h);else if(sa){var R=u.stateNode,L=u.memoizedProps;if((u=vu(u,h))||L!==T){var q=Ki.current;L=Lu(R,x,L,T,!u,null),L===R?h.stateNode=R:(jo(L,x,T,q)&&is(h),h.stateNode=L,u?mc(L,h,!1,!1):is(h))}else h.stateNode=R}}
3935function zd(u,h,x){if(Ig(h,x)){if(u.flags|=16777216,!rp(h,x))if(Ml())u.flags|=8192;else throw Il=Mh,bh}else u.flags&=-16777217}function Fd(u,h){if(o_(h)){if(u.flags|=16777216,!_c(h))if(Ml())u.flags|=8192;else throw Il=Mh,bh}else u.flags&=-16777217}function yu(u,h){h!==null&&(u.flags|=4),u.flags&16384&&(h=u.tag!==22?P():536870912,u.lanes|=h,po|=h)}function _u(u,h){if(!Dn)switch(u.tailMode){case"hidden":h=u.tail;for(var x=null;h!==null;)h.alternate!==null&&(x=h),h=h.sibling;x===null?u.tail=null:x.sibling=null;break;case"collapsed":x=u.tail;for(var T=null;x!==null;)x.alternate!==null&&(T=x),x=x.sibling;T===null?h||u.tail===null?u.tail=null:u.tail.sibling=null:T.sibling=null}}function yi(u){var h=u.alternate!==null&&u.alternate.child===u.child,x=0,T=0;if(h)for(var R=u.child;R!==null;)x|=R.lanes|R.childLanes,T|=R.subtreeFlags&31457280,T|=R.flags&31457280,R.return=u,R=R.sibling;else for(R=u.child;R!==null;)x|=R.lanes|R.childLanes,T|=R.subtreeFlags,T|=R.flags,R.return=u,R=R.sibling;return u.subtreeFlags|=T,u.childLanes=x,h}function Sy(u,h,x){var T=h.pendingProps;switch(Ae(h),h.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return yi(h),null;case 1:return yi(h),null;case 3:return x=h.stateNode,T=null,u!==null&&(T=u.memoizedState.cache),h.memoizedState.cache!==T&&(h.flags|=2048),Uo(oi),he(),x.pendingContext&&(x.context=x.pendingContext,x.pendingContext=null),(u===null||u.child===null)&&(Ft(h)?is(h):u===null||u.memoizedState.isDehydrated&&(h.flags&256)===0||(h.flags|=1024,oa!==null&&(ih(oa),oa=null))),Kf(u,h),yi(h),null;case 26:if(ws){x=h.type;var R=h.memoizedState;return u===null?(is(h),R!==null?(yi(h),Fd(h,R)):(yi(h),zd(h,x,T))):R?R!==u.memoizedState?(is(h),yi(h),Fd(h,R)):(yi(h),h.flags&=-16777217):(Ji?u.memoizedProps!==T&&is(h):Hd(u,h,x,T),yi(h),zd(h,x,T)),null}case 27:if(ei){if(Ne(h),x=ao.current,R=h.type,u!==null&&h.stateNode!=null)Ji?u.memoizedProps!==T&&is(h):Hd(u,h,R,T);else{if(!T){if(h.stateNode===null)throw Error(i(166));return yi(h),null}u=Ki.current,Ft(h)?We(h,u):(u=Ca(R,T,x,u,!0),h.stateNode=u,is(h))}return yi(h),null}case 5:if(Ne(h),x=h.type,u!==null&&h.stateNode!=null)Hd(u,h,x,T);else{if(!T){if(h.stateNode===null)throw Error(i(166));return yi(h),null}
vendor: 4,852 bytes, line 3935
3935u=Ki.current,Ft(h)?We(h,u):(R=Ug(x,T,ao.current,u,h),mc(R,h,!1,!1),h.stateNode=R,jo(R,x,T,u)&&is(h))}return yi(h),zd(h,h.type,h.pendingProps),null;case 6:if(u&&h.stateNode!=null)x=u.memoizedProps,Ji?x!==T&&is(h):sa&&(x!==T?(h.stateNode=Jn(T,ao.current,Ki.current,h),is(h)):h.stateNode=u.stateNode);else{if(typeof T!="string"&&h.stateNode===null)throw Error(i(166));if(u=ao.current,x=Ki.current,Ft(h)){if(!br)throw Error(i(176));if(u=h.stateNode,x=h.memoizedProps,T=null,R=Mr,R!==null)switch(R.tag){case 27:case 5:T=R.memoizedProps}Kg(u,x,h,T)||Oe(h)}else h.stateNode=Jn(T,u,x,h)}return yi(h),null;case 13:if(T=h.memoizedState,u===null||u.memoizedState!==null&&u.memoizedState.dehydrated!==null){if(R=Ft(h),T!==null&&T.dehydrated!==null){if(u===null){if(!R)throw Error(i(318));if(!br)throw Error(i(344));if(R=h.memoizedState,R=R!==null?R.dehydrated:null,!R)throw Error(i(317));t_(R,h)}else At(),(h.flags&128)===0&&(h.memoizedState=null),h.flags|=4;yi(h),R=!1}else oa!==null&&(ih(oa),oa=null),R=!0;if(!R)return h.flags&256?(Cn(h),h):(Cn(h),null)}if(Cn(h),(h.flags&128)!==0)return h.lanes=x,h;if(x=T!==null,u=u!==null&&u.memoizedState!==null,x){T=h.child,R=null,T.alternate!==null&&T.alternate.memoizedState!==null&&T.alternate.memoizedState.cachePool!==null&&(R=T.alternate.memoizedState.cachePool.pool);var L=null;T.memoizedState!==null&&T.memoizedState.cachePool!==null&&(L=T.memoizedState.cachePool.pool),L!==R&&(T.flags|=2048)}return x!==u&&x&&(h.child.flags|=8192),yu(h,h.updateQueue),yi(h),null;case 4:return he(),Kf(u,h),u===null&&Oi(h.stateNode.containerInfo),yi(h),null;case 10:return Uo(h.type),yi(h),null;case 19:if(A(Qi),R=h.memoizedState,R===null)return yi(h),null;if(T=(h.flags&128)!==0,L=R.rendering,L===null)if(T)_u(R,!1);else{if(ii!==0||u!==null&&(u.flags&128)!==0)for(u=h.child;u!==null;){if(L=kn(u),L!==null){for(h.flags|=128,_u(R,!1),u=L.updateQueue,h.updateQueue=u,yu(h,u),h.subtreeFlags=0,u=x,x=h.child;x!==null;)ah(x,u),x=x.sibling;return w(Qi,Qi.current&1|2),h.child}u=u.sibling}R.tail!==null&&aa()>ju&&(h.flags|=128,T=!0,_u(R,!1),h.lanes=4194304)}else{if(!T)if(u=kn(L),u!==null){if(h.flags|=128,T=!0,u=u.updateQueue,h.updateQueue=u,yu(h,u),_u(R,!0),R.tail===null&&R.tailMode==="hidden"&&!L.alternate&&!Dn)return yi(h),null}else 2*aa()-R.renderingStartTime>ju&&x!==536870912&&(h.flags|=128,T=!0,_u(R,!1),h.lanes=4194304);R.isBackwards?(L.sibling=h.child,h.child=L):(u=R.last,u!==null?u.sibling=L:h.child=L,R.last=L)}return R.tail!==null?(h=R.tail,R.rendering=h,R.tail=h.sibling,R.renderingStartTime=aa(),h.sibling=null,u=Qi.current,w(Qi,T?u&1|2:u&1),h):(yi(h),null);case 22:case 23:return Cn(h),Tt(),T=h.memoizedState!==null,u!==null?u.memoizedState!==null!==T&&(h.flags|=8192):T&&(h.flags|=8192),T?(x&536870912)!==0&&(h.flags&128)===0&&(yi(h),h.subtreeFlags&6&&(h.flags|=8192)):yi(h),x=h.updateQueue,x!==null&&yu(h,x.retryQueue),x=null,u!==null&&u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(x=u.memoizedState.cachePool.pool),T=null,h.memoizedState!==null&&h.memoizedState.cachePool!==null&&(T=h.memoizedState.cachePool.pool),T!==x&&(h.flags|=2048),u!==null&&A(uo),null;case 24:return x=null,u!==null&&(x=u.memoizedState.cache),h.memoizedState.cache!==x&&(h.flags|=2048),Uo(oi),yi(h),null;case 25:return null}throw Error(i(156,h.tag))}function xb(u,h){switch(Ae(h),h.tag){case 1:return u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 3:return Uo(oi),he(),u=h.flags,(u&65536)!==0&&(u&128)===0?(h.flags=u&-65537|128,h):null;case 26:case 27:case 5:return Ne(h),null;case 13:if(Cn(h),u=h.memoizedState,u!==null&&u.dehydrated!==null){if(h.alternate===null)throw Error(i(340));At()}return u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 19:return A(Qi),null;case 4:return he(),null;case 10:return Uo(h.type),null;case 22:case 23:return Cn(h),Tt(),u!==null&&A(uo),u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 24:return Uo(oi),null;case 25:return null;default:return null}}function Ay(u,h){switch(Ae(h),h.tag){case 3:Uo(oi),he();break;case 26:case 27:case 5:Ne(h);break;case 4:he();break;case 13:Cn(h);break;case 19:A(Qi);break;case 10:Uo(h.type);break;case 22:case 23:Cn(h),Tt(),u!==null&&A(uo);break;case 24:Uo(oi)}}function Qf(u,h){try{var x=h.updateQueue,T=x!==null?x.lastEffect:null;if(T!==null){var R=T.next;x=R;do{if((x.tag&u)===u){T=void 0;var L=x.create,q=x.inst;T=L(),q.destroy=T}x=x.next}while(x!==R)}}catch(oe){Xn(h,h.return,oe)}}function _l(u,h,x){try{var T=h.updateQueue,R=T!==null?T.lastEffect:null;if(R!==null){var L=R.next;T=L;do{if((T.tag&u)===u){var q=T.inst,oe=q.destroy;if(oe!==void 0){q.destroy=void 0,R=h;var ve=x;try{oe()}catch(He){Xn(R,ve,He)}}}T=T.next}while(T!==L)}}catch(He){Xn(h,h.return,He)}}function by(u){var h=u.updateQueue;if(h!==null){var x=u.stateNode;try{Ke(h,x)}catch(T){Xn(u,u.return,T)}}}function rs(u,h,x){x.props=No(u.type,u.memoizedProps),x.state=u.memoizedState;
3935try{x.componentWillUnmount()}catch(T){Xn(u,h,T)}}function ba(u,h){try{var x=u.ref;if(x!==null){var T=u.stateNode;switch(u.tag){case 26:case 27:case 5:var R=Du(T);break;default:R=T}typeof x=="function"?u.refCleanup=x(R):x.current=R}}catch(L){Xn(u,h,L)}}function ss(u,h){var x=u.ref,T=u.refCleanup;if(x!==null)if(typeof T=="function")try{T()}catch(R){Xn(u,h,R)}finally{u.refCleanup=null,u=u.alternate,u!=null&&(u.refCleanup=null)}else if(typeof x=="function")try{x(null)}catch(R){Xn(u,h,R)}else x.current=null}function mg(u){var h=u.type,x=u.memoizedProps,T=u.stateNode;try{Mb(T,h,x,u)}catch(R){Xn(u,u.return,R)}}function gg(u,h,x){try{Fy(u.stateNode,u.type,x,h,u)}catch(T){Xn(u,u.return,T)}}function vg(u){return u.tag===5||u.tag===3||(ws?u.tag===26:!1)||(ei?u.tag===27:!1)||u.tag===4}function Zf(u){e:for(;;){for(;u.sibling===null;){if(u.return===null||vg(u.return))return null;u=u.return}for(u.sibling.return=u.return,u=u.sibling;u.tag!==5&&u.tag!==6&&(!ei||u.tag!==27)&&u.tag!==18;){if(u.flags&2||u.child===null||u.tag===4)continue e;u.child.return=u,u=u.child}if(!(u.flags&2))return u.stateNode}}function yg(u,h,x){var T=u.tag;if(T===5||T===6)u=u.stateNode,h?Vy(x,u,h):Gg(x,u);else if(!(T===4||ei&&T===27)&&(u=u.child,u!==null))for(yg(u,h,x),u=u.sibling;u!==null;)yg(u,h,x),u=u.sibling}function Io(u,h,x){var T=u.tag;if(T===5||T===6)u=u.stateNode,h?Gy(x,u,h):Hy(x,u);else if(!(T===4||ei&&T===27)&&(u=u.child,u!==null))for(Io(u,h,x),u=u.sibling;u!==null;)Io(u,h,x),u=u.sibling}function Gd(u,h,x){u=u.containerInfo;try{Uu(u,x)}catch(T){Xn(h,h.return,T)}}function $f(u,h){for(np(u.containerInfo),tn=h;tn!==null;)if(u=tn,h=u.child,(u.subtreeFlags&1028)!==0&&h!==null)h.return=u,tn=h;else for(;tn!==null;){u=tn;var x=u.alternate;switch(h=u.flags,u.tag){case 0:break;case 11:case 15:break;case 1:if((h&1024)!==0&&x!==null){h=void 0;var T=u,R=x.memoizedProps;x=x.memoizedState;var L=T.stateNode;try{var q=No(T.type,R,T.elementType===T.type);h=L.getSnapshotBeforeUpdate(q,x),L.__reactInternalSnapshotBeforeUpdate=h}catch(oe){Xn(T,T.return,oe)}}break;case 3:(h&1024)!==0&&Ji&&qy(u.stateNode.containerInfo);break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((h&1024)!==0)throw Error(i(163))}if(h=u.sibling,h!==null){h.return=u.return,tn=h;break}tn=u.return}return q=_n,_n=!1,q}function Vd(u,h,x){var T=x.flags;switch(x.tag){case 0:case 11:case 15:Ho(u,x),T&4&&Qf(5,x);break;case 1:if(Ho(u,x),T&4)if(u=x.stateNode,h===null)try{u.componentDidMount()}catch(oe){Xn(x,x.return,oe)}else{var R=No(x.type,h.memoizedProps);h=h.memoizedState;try{u.componentDidUpdate(R,h,u.__reactInternalSnapshotBeforeUpdate)}catch(oe){Xn(x,x.return,oe)}}T&64&&by(x),T&512&&ba(x,x.return);break;case 3:if(Ho(u,x),T&64&&(T=x.updateQueue,T!==null)){if(u=null,x.child!==null)switch(x.child.tag){case 27:case 5:u=Du(x.child.stateNode);break;case 1:u=x.child.stateNode}try{Ke(T,u)}catch(oe){Xn(x,x.return,oe)}}break;case 26:if(ws){Ho(u,x),T&512&&ba(x,x.return);break}case 27:case 5:Ho(u,x),h===null&&T&4&&mg(x),T&512&&ba(x,x.return);break;case 12:Ho(u,x);break;case 13:Ho(u,x),T&4&&kd(u,x);break;case 22:if(R=x.memoizedState!==null||fo,!R){h=h!==null&&h.memoizedState!==null||Ei;var L=fo,q=Ei;fo=R,(Ei=h)&&!q?zo(u,x,(x.subtreeFlags&8772)!==0):Ho(u,x),fo=L,Ei=q}T&512&&(x.memoizedProps.mode==="manual"?ba(x,x.return):ss(x,x.return));break;default:Ho(u,x)}}function _g(u){var h=u.alternate;h!==null&&(u.alternate=null,_g(h)),u.child=null,u.deletions=null,u.sibling=null,u.tag===5&&(h=u.stateNode,h!==null&&bb(h)),u.stateNode=null,u.return=null,u.dependencies=null,u.memoizedProps=null,u.memoizedState=null,u.pendingProps=null,u.stateNode=null,u.updateQueue=null}function xr(u,h,x){for(x=x.child;x!==null;)xl(u,h,x),x=x.sibling}function xl(u,h,x){if(cs&&typeof cs.onCommitFiberUnmount=="function")try{cs.onCommitFiberUnmount(Li,x)}catch{}switch(x.tag){case 26:if(ws){Ei||ss(x,h),xr(u,h,x),x.memoizedState?yc(x.memoizedState):x.stateNode&&Iu(x.stateNode);break}case 27:if(ei){Ei||ss(x,h);var T=Gt,R=cn;Gt=x.stateNode,xr(u,h,x),Nl(x.stateNode),Gt=T,cn=R;break}case 5:Ei||ss(x,h);case 6:if(Ji){if(T=Gt,R=cn,Gt=null,xr(u,h,x),Gt=T,cn=R,Gt!==null)if(cn)try{ky(Gt,x.stateNode)}catch(L){Xn(x,h,L)}else try{Vg(Gt,x.stateNode)}catch(L){Xn(x,h,L)}}else xr(u,h,x);break;case 18:Ji&&Gt!==null&&(cn?gh(Gt,x.stateNode):i_(Gt,x.stateNode));break;case 4:Ji?(T=Gt,R=cn,Gt=x.stateNode.containerInfo,cn=!0,xr(u,h,x),Gt=T,cn=R):(sa&&Gd(x.stateNode,x,mh()),xr(u,h,x));break;case 0:case 11:case 14:case 15:Ei||_l(2,x,h),Ei||_l(4,x,h),xr(u,h,x);break;case 1:Ei||(ss(x,h),T=x.stateNode,typeof T.componentWillUnmount=="function"&&rs(x,h,T)),xr(u,h,x);break;case 21:xr(u,h,x);break;case 22:Ei||ss(x,h),Ei=(T=Ei)||x.memoizedState!==null,xr(u,h,x),Ei=T;break;default:xr(u,h,x)}}function kd(u,h){if(br&&h.memoizedState===null&&(u=h.alternate,u!==null&&(u=u.memoizedState,u!==null&&(u=u.dehydrated,u!==null))))try{wb(u)}catch(x){Xn(h,h.return,x)}}function My(u){switch(u.tag){case 13:case 19:var h=u.stateNode;return h===null&&(h=u.stateNode=new Yn),h;case 22:return u=u.stateNode,h=u._retryCache,h===null&&(h=u._retryCache=new Yn),h;default:throw Error(i(435,u.tag))}}function Po(u,h){var x=My(u);h.forEach(function(T){var R=Cl.bind(null,u,T);x.has(T)||(x.add(T),T.then(R,R))})}
3935function Yr(u,h){var x=h.deletions;if(x!==null)for(var T=0;T<x.length;T++){var R=x[T],L=u,q=h;if(Ji){var oe=q;e:for(;oe!==null;){switch(oe.tag){case 27:case 5:Gt=oe.stateNode,cn=!1;break e;case 3:Gt=oe.stateNode.containerInfo,cn=!0;break e;case 4:Gt=oe.stateNode.containerInfo,cn=!0;break e}oe=oe.return}if(Gt===null)throw Error(i(160));xl(L,q,R),Gt=null,cn=!1}else xl(L,q,R);L=R.alternate,L!==null&&(L.return=null),R.return=null}if(h.subtreeFlags&13878)for(h=h.child;h!==null;)xg(h,u),h=h.sibling}function xg(u,h){var x=u.alternate,T=u.flags;switch(u.tag){case 0:case 11:case 14:case 15:Yr(h,u),as(u),T&4&&(_l(3,u,u.return),Qf(3,u),_l(5,u,u.return));break;case 1:Yr(h,u),as(u),T&512&&(Ei||x===null||ss(x,x.return)),T&64&&fo&&(u=u.updateQueue,u!==null&&(T=u.callbacks,T!==null&&(x=u.shared.hiddenCallbacks,u.shared.hiddenCallbacks=x===null?T:x.concat(T))));break;case 26:if(ws){var R=Ai;Yr(h,u),as(u),T&512&&(Ei||x===null||ss(x,x.return)),T&4&&(T=x!==null?x.memoizedState:null,h=u.memoizedState,x===null?h===null?u.stateNode===null?u.stateNode=yh(R,u.type,u.memoizedProps,u):_h(R,u.type,u.stateNode):u.stateNode=s_(R,h,u.memoizedProps):T!==h?(T===null?x.stateNode!==null&&Iu(x.stateNode):yc(T),h===null?_h(R,u.type,u.stateNode):s_(R,h,u.memoizedProps)):h===null&&u.stateNode!==null&&gg(u,u.memoizedProps,x.memoizedProps));break}case 27:if(ei&&T&4&&u.alternate===null){R=u.stateNode;var L=u.memoizedProps;try{Ol(R),c_(u.type,L,R,u)}catch(at){Xn(u,u.return,at)}}case 5:if(Yr(h,u),as(u),T&512&&(Ei||x===null||ss(x,x.return)),Ji){if(u.flags&32){h=u.stateNode;try{kg(h)}catch(at){Xn(u,u.return,at)}}T&4&&u.stateNode!=null&&(h=u.memoizedProps,gg(u,h,x!==null?x.memoizedProps:h)),T&1024&&(t0=!0)}break;case 6:if(Yr(h,u),as(u),T&4&&Ji){if(u.stateNode===null)throw Error(i(162));T=u.memoizedProps,x=x!==null?x.memoizedProps:T,h=u.stateNode;try{zy(h,x,T)}catch(at){Xn(u,u.return,at)}}break;case 3:if(ws?(a_(),R=Ai,Ai=hp(h.containerInfo),Yr(h,u),Ai=R):Yr(h,u),as(u),T&4){if(Ji&&br&&x!==null&&x.memoizedState.isDehydrated)try{Cb(h.containerInfo)}catch(at){Xn(u,u.return,at)}if(sa){T=h.containerInfo,x=h.pendingChildren;try{Uu(T,x)}catch(at){Xn(u,u.return,at)}}}t0&&(t0=!1,Ey(u));break;case 4:ws?(x=Ai,Ai=hp(u.stateNode.containerInfo),Yr(h,u),as(u),Ai=x):(Yr(h,u),as(u)),T&4&&sa&&Gd(u.stateNode,u,u.stateNode.pendingChildren);break;case 12:Yr(h,u),as(u);break;case 13:Yr(h,u),as(u),u.child.flags&8192&&u.memoizedState!==null!=(x!==null&&x.memoizedState!==null)&&(Qr=aa()),T&4&&(T=u.updateQueue,T!==null&&(u.updateQueue=null,Po(u,T)));break;case 22:T&512&&(Ei||x===null||ss(x,x.return)),R=u.memoizedState!==null;var q=x!==null&&x.memoizedState!==null,oe=fo,ve=Ei;if(fo=oe||R,Ei=ve||q,Yr(h,u),Ei=ve,fo=oe,as(u),h=u.stateNode,h._current=u,h._visibility&=-3,h._visibility|=h._pendingVisibility&2,T&8192&&(h._visibility=R?h._visibility&-2:h._visibility|1,R&&(h=fo||Ei,x===null||q||h||xu(u)),Ji&&(u.memoizedProps===null||u.memoizedProps.mode!=="manual"))){e:if(x=null,Ji)for(h=u;;){if(h.tag===5||ws&&h.tag===26||ei&&h.tag===27){if(x===null){q=x=h;try{L=q.stateNode,R?Xy(L):jy(q.stateNode,q.memoizedProps)}catch(at){Xn(q,q.return,at)}}}else if(h.tag===6){if(x===null){q=h;try{var He=q.stateNode;R?Yy(He):Eb(He,q.memoizedProps)}catch(at){Xn(q,q.return,at)}}}else if((h.tag!==22&&h.tag!==23||h.memoizedState===null||h===u)&&h.child!==null){h.child.return=h,h=h.child;continue}if(h===u)break e;for(;h.sibling===null;){if(h.return===null||h.return===u)break e;x===h&&(x=null),h=h.return}x===h&&(x=null),h.sibling.return=h.return,h=h.sibling}}T&4&&(T=u.updateQueue,T!==null&&(x=T.retryQueue,x!==null&&(T.retryQueue=null,Po(u,x))));break;case 19:Yr(h,u),as(u),T&4&&(T=u.updateQueue,T!==null&&(u.updateQueue=null,Po(u,T)));break;case 21:break;default:Yr(h,u),as(u)}}function as(u){var h=u.flags;if(h&2){try{if(Ji&&(!ei||u.tag!==27)){e:{for(var x=u.return;x!==null;){if(vg(x)){var T=x;break e}x=x.return}throw Error(i(160))}switch(T.tag){case 27:if(ei){var R=T.stateNode,L=Zf(u);Io(u,L,R);break}case 5:var q=T.stateNode;T.flags&32&&(kg(q),T.flags&=-33);var oe=Zf(u);Io(u,oe,q);break;case 3:case 4:var ve=T.stateNode.containerInfo,He=Zf(u);yg(u,He,ve);break;default:throw Error(i(161))}}}catch(at){Xn(u,u.return,at)}u.flags&=-3}h&4096&&(u.flags&=-4097)}function Ey(u){if(u.subtreeFlags&1024)for(u=u.child;u!==null;){var h=u;Ey(h),h.tag===5&&h.flags&1024&&sp(h.stateNode),u=u.sibling}}function Ho(u,h){if(h.subtreeFlags&8772)for(h=h.child;h!==null;)Vd(u,h.alternate,h),h=h.sibling}function xu(u){for(u=u.child;u!==null;){var h=u;switch(h.tag){case 0:case 11:case 14:case 15:_l(4,h,h.return),xu(h);break;case 1:ss(h,h.return);var x=h.stateNode;typeof x.componentWillUnmount=="function"&&rs(h,h.return,x),xu(h);break;case 26:case 27:case 5:ss(h,h.return),xu(h);break;case 22:ss(h,h.return),h.memoizedState===null&&xu(h);break;default:xu(h)}u=u.sibling}}function zo(u,h,x){for(x=x&&(h.subtreeFlags&8772)!==0,h=h.child;h!==null;){var T=h.alternate,R=u,L=h,q=L.flags;switch(L.tag){case 0:case 11:case 15:zo(R,L,x),Qf(4,L);break;case 1:if(zo(R,L,x),T=L,R=T.stateNode,typeof R.componentDidMount=="function")try{R.componentDidMount()}catch(He){Xn(T,T.return,He)}if(T=L,R=T.updateQueue,R!==null){var oe=T.stateNode;try{var ve=R.shared.hiddenCallbacks;
3935if(ve!==null)for(R.shared.hiddenCallbacks=null,R=0;R<ve.length;R++)se(ve[R],oe)}catch(He){Xn(T,T.return,He)}}x&&q&64&&by(L),ba(L,L.return);break;case 26:case 27:case 5:zo(R,L,x),x&&T===null&&q&4&&mg(L),ba(L,L.return);break;case 12:zo(R,L,x);break;case 13:zo(R,L,x),x&&q&4&&kd(R,L);break;case 22:L.memoizedState===null&&zo(R,L,x),ba(L,L.return);break;default:zo(R,L,x)}h=h.sibling}}function Xd(u,h){var x=null;u!==null&&u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(x=u.memoizedState.cachePool.pool),u=null,h.memoizedState!==null&&h.memoizedState.cachePool!==null&&(u=h.memoizedState.cachePool.pool),u!==x&&(u!=null&&u.refCount++,x!=null&&Jf(x))}function eh(u,h){u=null,h.alternate!==null&&(u=h.alternate.memoizedState.cache),h=h.memoizedState.cache,h!==u&&(h.refCount++,u!=null&&Jf(u))}function rr(u,h,x,T){if(h.subtreeFlags&10256)for(h=h.child;h!==null;)Sg(u,h,x,T),h=h.sibling}function Sg(u,h,x,T){var R=h.flags;switch(h.tag){case 0:case 11:case 15:rr(u,h,x,T),R&2048&&Qf(9,h);break;case 3:rr(u,h,x,T),R&2048&&(u=null,h.alternate!==null&&(u=h.alternate.memoizedState.cache),h=h.memoizedState.cache,h!==u&&(h.refCount++,u!=null&&Jf(u)));break;case 12:if(R&2048){rr(u,h,x,T),u=h.stateNode;try{var L=h.memoizedProps,q=L.id,oe=L.onPostCommit;typeof oe=="function"&&oe(q,h.alternate===null?"mount":"update",u.passiveEffectDuration,-0)}catch(ve){Xn(h,h.return,ve)}}else rr(u,h,x,T);break;case 23:break;case 22:L=h.stateNode,h.memoizedState!==null?L._visibility&4?rr(u,h,x,T):Nr(u,h):L._visibility&4?rr(u,h,x,T):(L._visibility|=4,Sr(u,h,x,T,(h.subtreeFlags&10256)!==0)),R&2048&&Xd(h.alternate,h);break;case 24:rr(u,h,x,T),R&2048&&eh(h.alternate,h);break;default:rr(u,h,x,T)}}function Sr(u,h,x,T,R){for(R=R&&(h.subtreeFlags&10256)!==0,h=h.child;h!==null;){var L=u,q=h,oe=x,ve=T,He=q.flags;switch(q.tag){case 0:case 11:case 15:Sr(L,q,oe,ve,R),Qf(8,q);break;case 23:break;case 22:var at=q.stateNode;q.memoizedState!==null?at._visibility&4?Sr(L,q,oe,ve,R):Nr(L,q):(at._visibility|=4,Sr(L,q,oe,ve,R)),R&&He&2048&&Xd(q.alternate,q);break;case 24:Sr(L,q,oe,ve,R),R&&He&2048&&eh(q.alternate,q);break;default:Sr(L,q,oe,ve,R)}h=h.sibling}}function Nr(u,h){if(h.subtreeFlags&10256)for(h=h.child;h!==null;){var x=u,T=h,R=T.flags;switch(T.tag){case 22:Nr(x,T),R&2048&&Xd(T.alternate,T);break;case 24:Nr(x,T),R&2048&&eh(T.alternate,T);break;default:Nr(x,T)}h=h.sibling}}function ea(u){if(u.subtreeFlags&Us)for(u=u.child;u!==null;)Yd(u),u=u.sibling}function Yd(u){switch(u.tag){case 26:ea(u),u.flags&Us&&(u.memoizedState!==null?l_(Ai,u.memoizedState,u.memoizedProps):Wr(u.type,u.memoizedProps));break;case 5:ea(u),u.flags&Us&&Wr(u.type,u.memoizedProps);break;case 3:case 4:if(ws){var h=Ai;Ai=hp(u.stateNode.containerInfo),ea(u),Ai=h}else ea(u);break;case 22:u.memoizedState===null&&(h=u.alternate,h!==null&&h.memoizedState!==null?(h=Us,Us=16777216,ea(u),Us=h):ea(u));break;default:ea(u)}}function th(u){var h=u.alternate;if(h!==null&&(u=h.child,u!==null)){h.child=null;do h=u.sibling,u.sibling=null,u=h;while(u!==null)}}function Sl(u){var h=u.deletions;if((u.flags&16)!==0){if(h!==null)for(var x=0;x<h.length;x++){var T=h[x];tn=T,Ag(T,u)}th(u)}if(u.subtreeFlags&10256)for(u=u.child;u!==null;)jd(u),u=u.sibling}function jd(u){switch(u.tag){case 0:case 11:case 15:Sl(u),u.flags&2048&&_l(9,u,u.return);break;case 3:Sl(u);break;case 12:Sl(u);break;case 22:var h=u.stateNode;u.memoizedState!==null&&h._visibility&4&&(u.return===null||u.return.tag!==13)?(h._visibility&=-5,Fo(u)):Sl(u);break;default:Sl(u)}}function Fo(u){var h=u.deletions;if((u.flags&16)!==0){if(h!==null)for(var x=0;x<h.length;x++){var T=h[x];tn=T,Ag(T,u)}th(u)}for(u=u.child;u!==null;){switch(h=u,h.tag){case 0:case 11:case 15:_l(8,h,h.return),Fo(h);break;case 22:x=h.stateNode,x._visibility&4&&(x._visibility&=-5,Fo(h));break;default:Fo(h)}u=u.sibling}}function Ag(u,h){for(;tn!==null;){var x=tn;switch(x.tag){case 0:case 11:case 15:_l(8,x,h);break;case 23:case 22:if(x.memoizedState!==null&&x.memoizedState.cachePool!==null){var T=x.memoizedState.cachePool.pool;T!=null&&T.refCount++}break;case 24:Jf(x.memoizedState.cache)}if(T=x.child,T!==null)T.return=x,tn=T;else e:for(x=u;tn!==null;){T=tn;var R=T.sibling,L=T.return;if(_g(T),T===x){tn=null;break e}if(R!==null){R.return=L,tn=R;break e}tn=L}}}function Su(u){var h=Dy(u);if(h!=null){if(typeof h.memoizedProps["data-testname"]!="string")throw Error(i(364));return h}if(u=zg(u),u===null)throw Error(i(362));return u.stateNode.current}function Al(u,h){var x=u.tag;switch(h.$$typeof){case Yu:if(u.type===h.value)return!0;break;case ua:e:{for(h=h.value,u=[u,0],x=0;x<u.length;){var T=u[x++],R=T.tag,L=u[x++],q=h[L];if(R!==5&&R!==26&&R!==27||!Nu(T)){for(;q!=null&&Al(T,q);)L++,q=h[L];if(L===h.length){h=!0;break e}else for(T=T.child;T!==null;)u.push(T,L),T=T.sibling}}h=!1}return h;case hi:if((x===5||x===26||x===27)&&Uy(u.stateNode,h.value))return!0;break;case ho:if((x===5||x===6||x===26||x===27)&&(u=Ly(u),u!==null&&0<=u.indexOf(h.value)))return!0;break;case Na:if((x===5||x===26||x===27)&&(u=u.memoizedProps["data-testname"],typeof u=="string"&&u.toLowerCase()===h.value.toLowerCase()))return!0;break;default:throw Error(i(365))}return!1}function bg(u){switch(u.$$typeof){case Yu:return"<"+(o(u.value)||"Unknown")+">";case ua:return":has("+(bg(u)||"")+")";case hi:return'[role="'+u.value+'"]';
3935case ho:return'"'+u.value+'"';case Na:return'[data-testname="'+u.value+'"]';default:throw Error(i(365))}}function os(u,h){var x=[];u=[u,0];for(var T=0;T<u.length;){var R=u[T++],L=R.tag,q=u[T++],oe=h[q];if(L!==5&&L!==26&&L!==27||!Nu(R)){for(;oe!=null&&Al(R,oe);)q++,oe=h[q];if(q===h.length)x.push(R);else for(R=R.child;R!==null;)u.push(R,q),R=R.sibling}}return x}function nh(u,h){if(!Dl)throw Error(i(363));u=Su(u),u=os(u,h),h=[],u=Array.from(u);for(var x=0;x<u.length;){var T=u[x++],R=T.tag;if(R===5||R===26||R===27)Nu(T)||h.push(T.stateNode);else for(T=T.child;T!==null;)u.push(T),T=T.sibling}return h}function Di(){if((Ln&2)!==0&&bn!==0)return bn&-bn;if(Kt.T!==null){var u=Ds;return u!==0?u:Ue()}return Oy()}function Mg(){Hs===0&&(Hs=(bn&536870912)===0||Dn?z():536870912);var u=Os.current;return u!==null&&(u.flags|=32),Hs}function sr(u,h,x){(u===jn&&Zn===2||u.cancelPendingCommit!==null)&&(Ar(u,0),ls(u,bn,Hs,!1)),G(u,x),((Ln&2)===0||u!==jn)&&(u===jn&&((Ln&2)===0&&(el|=x),ii===4&&ls(u,bn,Hs,!1)),Je(u))}function bl(u,h,x){if((Ln&6)!==0)throw Error(i(327));var T=!x&&(h&60)===0&&(h&u.expiredLanes)===0||O(u,h),R=T?Tg(u,h):Wd(u,h,!0),L=T;do{if(R===0){Is&&!T&&ls(u,h,0,!1);break}else if(R===6)ls(u,h,0,!ha);else{if(x=u.current.alternate,L&&!Au(x)){R=Wd(u,h,!1),L=!1;continue}if(R===2){if(L=h,u.errorRecoveryDisabledLanes&L)var q=0;else q=u.pendingLanes&-536870913,q=q!==0?q:q&536870912?536870912:0;if(q!==0){h=q;e:{var oe=u;R=Nc;var ve=br&&oe.current.memoizedState.isDehydrated;if(ve&&(Ar(oe,q).flags|=256),q=Wd(oe,q,!1),q!==2){if(Zi&&!ve){oe.errorRecoveryDisabledLanes|=L,el|=L,R=4;break e}L=Ti,Ti=R,L!==null&&ih(L)}R=q}if(L=!1,R!==2)continue}}if(R===1){Ar(u,0),ls(u,h,0,!0);break}e:{switch(T=u,R){case 0:case 1:throw Error(i(345));case 4:if((h&4194176)===h){ls(T,h,Hs,!ha);break e}break;case 2:Ti=null;break;case 3:case 5:break;default:throw Error(i(329))}if(T.finishedWork=x,T.finishedLanes=h,(h&62914560)===h&&(L=Qr+300-aa(),10<L)){if(ls(T,h,Hs,!ha),I(T,0)!==0)break e;T.timeoutHandle=ki(qd.bind(null,T,x,Ti,Th,bp,h,Hs,el,po,ha,2,-0,0),L);break e}qd(T,x,Ti,Th,bp,h,Hs,el,po,ha,0,-0,0)}}break}while(!0);Je(u)}function ih(u){Ti===null?Ti=u:Ti.push.apply(Ti,u)}function qd(u,h,x,T,R,L,q,oe,ve,He,at,pt,xt){var nn=h.subtreeFlags;if((nn&8192||(nn&16785408)===16785408)&&(Pg(),Yd(h),h=Xi(),h!==null)){u.cancelPendingCommit=h(El.bind(null,u,x,T,R,q,oe,ve,1,pt,xt)),ls(u,L,q,!He);return}El(u,x,T,R,q,oe,ve,at,pt,xt)}function Au(u){for(var h=u;;){var x=h.tag;if((x===0||x===11||x===15)&&h.flags&16384&&(x=h.updateQueue,x!==null&&(x=x.stores,x!==null)))for(var T=0;T<x.length;T++){var R=x[T],L=R.getSnapshot;R=R.value;try{if(!us(L(),R))return!1}catch{return!1}}if(x=h.child,h.subtreeFlags&16384&&x!==null)x.return=h,h=x;else{if(h===u)break;for(;h.sibling===null;){if(h.return===null||h.return===u)return!0;h=h.return}h.sibling.return=h.return,h=h.sibling}}return!0}function ls(u,h,x,T){h&=~Eh,h&=~el,u.suspendedLanes|=h,u.pingedLanes&=~h,T&&(u.warmLanes|=h),T=u.expirationTimes;for(var R=h;0<R;){var L=31-Jr(R),q=1<<L;T[L]=-1,R&=~q}x!==0&&Q(u,x,h)}function rh(){return(Ln&6)===0?(ht(0),!1):!0}function bu(){if(Xt!==null){if(Zn===0)var u=Xt.return;else u=Xt,Ls=Oa=null,Y(u),Pl=null,Hl=0,u=Xt;for(;u!==null;)Ay(u.alternate,u),u=u.return;Xt=null}}function Ar(u,h){u.finishedWork=null,u.finishedLanes=0;var x=u.timeoutHandle;x!==Rl&&(u.timeoutHandle=Rl,ip(x)),x=u.cancelPendingCommit,x!==null&&(u.cancelPendingCommit=null,x()),bu(),jn=u,Xt=x=na(u.current,null),bn=h,Zn=0,Ur=null,ha=!1,Is=O(u,h),Zi=!1,po=Hs=Eh=el=Ps=ii=0,Ti=Nc=null,bp=!1,(h&8)!==0&&(h|=h&32);var T=u.entangledLanes;if(T!==0)for(u=u.entanglements,T&=h;0<T;){var R=31-Jr(T),L=1<<R;h|=u[R],T&=~L}return Ir=h,Ie(),x}function Es(u,h){dn=null,Kt.H=Mi,h===Gu?(h=_t(),Zn=3):h===bh?(h=_t(),Zn=4):Zn=h===Sp?8:h!==null&&typeof h=="object"&&typeof h.then=="function"?6:1,Ur=h,Xt===null&&(ii=1,pu(u,pe(h,u.current)))}function Ml(){var u=Os.current;return u===null?!0:(bn&4194176)===bn?ti===null:(bn&62914560)===bn||(bn&536870912)!==0?u===ti:!1}function eo(){var u=Kt.H;return Kt.H=Mi,u===null?Mi:u}function to(){var u=Kt.A;return Kt.A=Xu,u}function Go(){ii=4,ha||(bn&4194176)!==bn&&Os.current!==null||(Is=!0),(Ps&134217727)===0&&(el&134217727)===0||jn===null||ls(jn,bn,Hs,!1)}function Wd(u,h,x){var T=Ln;Ln|=2;var R=eo(),L=to();
3935(jn!==u||bn!==h)&&(Th=null,Ar(u,h)),h=!1;var q=ii;e:do try{if(Zn!==0&&Xt!==null){var oe=Xt,ve=Ur;switch(Zn){case 8:bu(),q=6;break e;case 3:case 2:case 6:Os.current===null&&(h=!0);var He=Zn;if(Zn=0,Ur=null,ta(u,oe,ve,He),x&&Is){q=0;break e}break;default:He=Zn,Zn=0,Ur=null,ta(u,oe,ve,He)}}Eg(),q=ii;break}catch(at){Es(u,at)}while(!0);return h&&u.shellSuspendCounter++,Ls=Oa=null,Ln=T,Kt.H=R,Kt.A=L,Xt===null&&(jn=null,bn=0,Ie()),q}function Eg(){for(;Xt!==null;)Si(Xt)}function Tg(u,h){var x=Ln;Ln|=2;var T=eo(),R=to();jn!==u||bn!==h?(Th=null,ju=aa()+500,Ar(u,h)):Is=O(u,h);e:do try{if(Zn!==0&&Xt!==null){h=Xt;var L=Ur;t:switch(Zn){case 1:Zn=0,Ur=null,ta(u,h,L,1);break;case 2:if(ct(L)){Zn=0,Ur=null,Hn(h);break}h=function(){Zn===2&&jn===u&&(Zn=7),Je(u)},L.then(h,h);break e;case 3:Zn=7;break e;case 4:Zn=5;break e;case 7:ct(L)?(Zn=0,Ur=null,Hn(h)):(Zn=0,Ur=null,ta(u,h,L,7));break;case 5:var q=null;switch(Xt.tag){case 26:q=Xt.memoizedState;case 5:case 27:var oe=Xt,ve=oe.type,He=oe.pendingProps;if(q?_c(q):rp(ve,He)){Zn=0,Ur=null;var at=oe.sibling;if(at!==null)Xt=at;else{var pt=oe.return;pt!==null?(Xt=pt,Ts(pt)):Xt=null}break t}}Zn=0,Ur=null,ta(u,h,L,5);break;case 6:Zn=0,Ur=null,ta(u,h,L,6);break;case 8:bu(),ii=6;break e;default:throw Error(i(462))}}jr();break}catch(xt){Es(u,xt)}while(!0);return Ls=Oa=null,Kt.H=T,Kt.A=R,Ln=x,Xt!==null?0:(jn=null,bn=0,Ie(),ii)}function jr(){for(;Xt!==null&&!h_();)Si(Xt)}function Si(u){var h=_y(u.alternate,u,Ir);u.memoizedProps=u.pendingProps,h===null?Ts(u):Xt=h}function Hn(u){var h=u,x=h.alternate;switch(h.tag){case 15:case 0:h=dy(x,h,h.pendingProps,h.type,void 0,bn);break;case 11:h=dy(x,h,h.pendingProps,h.type.render,h.ref,bn);break;case 5:Y(h);default:Ay(x,h),h=Xt=ah(h,Ir),h=_y(x,h,Ir)}u.memoizedProps=u.pendingProps,h===null?Ts(u):Xt=h}function ta(u,h,x,T){Ls=Oa=null,Y(h),Pl=null,Hl=0;var R=h.return;try{if(yb(u,R,h,x,bn)){ii=1,pu(u,pe(x,u.current)),Xt=null;return}}catch(L){if(R!==null)throw Xt=R,L;ii=1,pu(u,pe(x,u.current)),Xt=null;return}h.flags&32768?(Dn||T===1?u=!0:Is||(bn&536870912)!==0?u=!1:(ha=u=!0,(T===2||T===3||T===6)&&(T=Os.current,T!==null&&T.tag===13&&(T.flags|=16384))),Jd(h,u)):Ts(h)}function Ts(u){var h=u;do{if((h.flags&32768)!==0){Jd(h,ha);return}u=h.return;var x=Sy(h.alternate,h,Ir);if(x!==null){Xt=x;return}if(h=h.sibling,h!==null){Xt=h;return}Xt=h=u}while(h!==null);ii===0&&(ii=5)}function Jd(u,h){do{var x=xb(u.alternate,u);if(x!==null){x.flags&=32767,Xt=x;return}if(x=u.return,x!==null&&(x.flags|=32768,x.subtreeFlags=0,x.deletions=null),!h&&(u=u.sibling,u!==null)){Xt=u;return}Xt=u=x}while(u!==null);ii=6,Xt=null}function El(u,h,x,T,R,L,q,oe,ve,He){var at=Kt.T,pt=qo();try{Lr(2),Kt.T=null,Ty(u,h,x,T,pt,R,L,q,oe,ve,He)}finally{Kt.T=at,Lr(pt)}}function Ty(u,h,x,T,R,L,q,oe){do Ma();while(mo!==null);if((Ln&6)!==0)throw Error(i(327));var ve=u.finishedWork;if(T=u.finishedLanes,ve===null)return null;if(u.finishedWork=null,u.finishedLanes=0,ve===u.current)throw Error(i(177));u.callbackNode=null,u.callbackPriority=0,u.cancelPendingCommit=null;var He=ve.lanes|ve.childLanes;if(He|=Ba,X(u,T,He,L,q,oe),u===jn&&(Xt=jn=null,bn=0),(ve.subtreeFlags&10256)===0&&(ve.flags&10256)===0||La||(La=!0,kl=He,Mp=x,ko(vp,function(){return Ma(),null})),x=(ve.flags&15990)!==0,(ve.subtreeFlags&15990)!==0||x?(x=Kt.T,Kt.T=null,L=qo(),Lr(2),q=Ln,Ln|=4,$f(u,ve),xg(ve,u),By(u.containerInfo),u.current=ve,Vd(u,ve.alternate,ve),mp(),Ln=q,Lr(L),Kt.T=x):u.current=ve,La?(La=!1,mo=u,Lc=T):Cg(u,He),He=u.pendingLanes,He===0&&(Vl=null),k(ve.stateNode),Je(u),h!==null)for(R=u.onRecoverableError,ve=0;ve<h.length;ve++)He=h[ve],R(He.value,{componentStack:He.stack});return(Lc&3)!==0&&Ma(),He=u.pendingLanes,(T&4194218)!==0&&(He&42)!==0?u===Ep?qu++:(qu=0,Ep=u):qu=0,ht(0),null}function Cg(u,h){(u.pooledCacheLanes&=h)===0&&(h=u.pooledCache,h!=null&&(u.pooledCache=null,Jf(h)))}function Ma(){if(mo!==null){var u=mo,h=kl;kl=0;var x=le(Lc),T=32>x?32:x;x=Kt.T;var R=qo();try{if(Lr(T),Kt.T=null,mo===null)var L=!1;else{T=Mp,Mp=null;var q=mo,oe=Lc;if(mo=null,Lc=0,(Ln&6)!==0)throw Error(i(331));var ve=Ln;if(Ln|=4,jd(q.current),Sg(q,q.current,oe,T),Ln=ve,ht(0,!1),cs&&typeof cs.onPostCommitFiberRoot=="function")try{cs.onPostCommitFiberRoot(Li,q)}catch{}L=!0}return L}finally{Lr(R),Kt.T=x,Cg(u,h)}}return!1}function Mu(u,h,x){h=pe(x,h),h=gu(u.stateNode,h,2),u=nt(u,h,2),u!==null&&(G(u,2),Je(u))}function Xn(u,h,x){if(u.tag===3)Mu(u,u,x);else for(;h!==null;){if(h.tag===3){Mu(h,u,x);break}else if(h.tag===1){var T=h.stateNode;if(typeof h.type.getDerivedStateFromError=="function"||typeof T.componentDidCatch=="function"&&(Vl===null||!Vl.has(T))){u=pe(x,u),x=ag(2),T=nt(h,x,2),T!==null&&(ly(x,T,h,u),G(T,2),Je(T));break}}h=h.return}}function gc(u,h,x){var T=u.pingCache;if(T===null){T=u.pingCache=new fa;var R=new Set;T.set(h,R)}else R=T.get(h),R===void 0&&(R=new Set,T.set(h,R));R.has(x)||(Zi=!0,R.add(x),u=wg.bind(null,u,h,x),h.then(u,u))}function wg(u,h,x){var T=u.pingCache;T!==null&&T.delete(h),u.pingedLanes|=u.suspendedLanes&x,u.warmLanes&=~x,jn===u&&(bn&x)===x&&(ii===4||ii===3&&(bn&62914560)===bn&&300>aa()-Qr?(Ln&2)===0&&Ar(u,0):Eh|=x,po===bn&&(po=0)),Je(u)}function Tl(u,h){h===0&&(h=P()),u=ie(u,h),u!==null&&(G(u,h),Je(u))}function Vo(u){var h=u.memoizedState,x=0;h!==null&&(x=h.retryLane),Tl(u,x)}function Cl(u,h){var x=0;switch(u.tag){case 13:var T=u.stateNode,R=u.memoizedState;R!==null&&(x=R.retryLane);break;case 19:T=u.stateNode;break;case 22:T=u.stateNode._retryCache;break;default:throw Error(i(314))}T!==null&&T.delete(h),Tl(u,x)}function ko(u,h){return xh(u,h)}function Rg(u,h,x,T){this.tag=u,this.key=x,this.sibling=this.child=this.return=this.stateNode=this.t
3935ype=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=h,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=T,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function sh(u){return u=u.prototype,!(!u||!u.isReactComponent)}function na(u,h){var x=u.alternate;return x===null?(x=t(u.tag,h,u.key,u.mode),x.elementType=u.elementType,x.type=u.type,x.stateNode=u.stateNode,x.alternate=u,u.alternate=x):(x.pendingProps=h,x.type=u.type,x.flags=0,x.subtreeFlags=0,x.deletions=null),x.flags=u.flags&31457280,x.childLanes=u.childLanes,x.lanes=u.lanes,x.child=u.child,x.memoizedProps=u.memoizedProps,x.memoizedState=u.memoizedState,x.updateQueue=u.updateQueue,h=u.dependencies,x.dependencies=h===null?null:{lanes:h.lanes,firstContext:h.firstContext},x.sibling=u.sibling,x.index=u.index,x.ref=u.ref,x.refCleanup=u.refCleanup,x}function ah(u,h){u.flags&=31457282;var x=u.alternate;return x===null?(u.childLanes=0,u.lanes=h,u.child=null,u.subtreeFlags=0,u.memoizedProps=null,u.memoizedState=null,u.updateQueue=null,u.dependencies=null,u.stateNode=null):(u.childLanes=x.childLanes,u.lanes=x.lanes,u.child=x.child,u.subtreeFlags=0,u.deletions=null,u.memoizedProps=x.memoizedProps,u.memoizedState=x.memoizedState,u.updateQueue=x.updateQueue,u.type=x.type,h=x.dependencies,u.dependencies=h===null?null:{lanes:h.lanes,firstContext:h.firstContext}),u}function no(u,h,x,T,R,L){var q=0;if(T=u,typeof u=="function")sh(u)&&(q=1);else if(typeof u=="string")q=ws&&ei?vh(u,x,Ki.current)?26:ro(u)?27:5:ws?vh(u,x,Ki.current)?26:5:ei&&ro(u)?27:5;else e:switch(u){case wl:return bi(x.children,R,L,h);case uh:q=8,R|=24;break;case $d:return u=t(12,x,h,R|2),u.elementType=$d,u.lanes=L,u;case ep:return u=t(13,x,h,R),u.elementType=ep,u.lanes=L,u;case wu:return u=t(19,x,h,R),u.elementType=wu,u.lanes=L,u;case Og:return oh(x,R,L,h);default:if(typeof u=="object"&&u!==null)switch(u.$$typeof){case fh:case Ea:q=10;break e;case Dg:q=9;break e;case hh:q=11;break e;case tp:q=14;break e;case ra:q=16,T=null;break e}q=29,x=Error(i(130,u===null?"null":typeof u,"")),T=null}return h=t(q,x,h,R),h.elementType=u,h.type=T,h.lanes=L,h}function bi(u,h,x,T){return u=t(7,u,T,h),u.lanes=x,u}function oh(u,h,x,T){u=t(22,u,T,h),u.elementType=Og,u.lanes=x;var R={_visibility:1,_pendingVisibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null,_current:null,detach:function(){var L=R._current;if(L===null)throw Error(i(456));if((R._pendingVisibility&2)===0){var q=ie(L,2);q!==null&&(R._pendingVisibility|=2,sr(q,L,2))}},attach:function(){var L=R._current;if(L===null)throw Error(i(456));if((R._pendingVisibility&2)!==0){var q=ie(L,2);q!==null&&(R._pendingVisibility&=-3,sr(q,L,2))}}};return u.stateNode=R,u}function Kd(u,h,x){return u=t(6,u,null,h),u.lanes=x,u}function Bg(u,h,x){return h=t(4,u.children!==null?u.children:[],u.key,h),h.lanes=x,h.stateNode={containerInfo:u.containerInfo,pendingChildren:null,implementation:u.implementation},h}function Sb(u,h,x,T,R,L,q,oe){this.tag=1,this.containerInfo=u,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=Rl,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=N(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.finishedLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=N(0),this.hiddenUpdates=N(null),this.identifierPrefix=T,this.onUncaughtError=R,this.onCaughtError=L,this.onRecoverableError=q,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=oe,this.incompleteTransitions=new Map}function Cy(u,h,x,T,R,L,q,oe,ve,He,at,pt){return u=new Sb(u,h,x,q,oe,ve,He,pt),h=1,L===!0&&(h|=24),L=t(3,null,null,h),u.current=L,L.stateNode=u,h=yl(),h.refCount++,u.pooledCache=h,h.refCount++,L.memoizedState={element:T,isDehydrated:x,cache:h},St(L),u}function Vi(u){return u?(u=Ll,u):Ll}function Qd(u){var h=u._reactInternals;if(h===void 0)throw typeof u.render=="function"?Error(i(188)):(u=Object.keys(u).join(","),Error(i(268,u)));return u=_(h),u=u!==null?S(u):null,u===null?null:Du(u.stateNode)}function Eu(u,h,x,T,R,L){R=Vi(R),T.context===null?T.context=R:T.pendingContext=R,T=Ye(h),T.payload={element:x},L=L===void 0?null:L,L!==null&&(T.callback=L),x=nt(u,T,h),x!==null&&(sr(x,u,h),Mt(x,u,h))}function Tu(u,h){if(u=u.memoizedState,u!==null&&u.dehydrated!==null){var x=u.retryLane;u.retryLane=x!==0&&x<h?x:h}}function lh(u,h){Tu(u,h),(u=u.alternate)&&Tu(u,h)}var an={},Cu=Ro(),Cs=$O(),Zd=Object.assign,Ab=Symbol.for("react.element"),ch=Symbol.for("react.transitional.element"),ia=Symbol.for("react.portal"),wl=Symbol.for("react.fragment"),uh=Symbol.for("react.strict_mode"),$d=Symbol.for("react.profiler"),fh=Symbol.for("react.provider"),Dg=Symbol.for("react.consumer"),Ea=Symbol.for("react.context"),hh=Symbol.for("react.forward_ref"),ep=Symbol.for("react.suspense"),wu=Symbol.for("react.suspense_list"),tp=Symbol.for("react.memo"),ra=Symbol.for("react.lazy"),Og=Symbol.for("react.offscreen"),wy=Symbol.for("react.memo_cache_sentinel"),Xo=Symbol.iterator,Ng=Symbol.for("react.client.reference"),Kt=Cu.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,io,Yo,vc=!1,Ru=Array.isArray,Lg=e.rendererVersion,dh=e.rendererPackageName,Bu=e.extraDevToolsConfig,Du=e.getPublicInstance,Ry=e.getRootHostContext,Ou=e.getChildHostContext,np=e.prepareForCommit,By=e.resetAfterCommit,Ug=e.createInstance,ph=e.appendInitialChild,jo=e.finalizeInitialChildren,on=e.shouldSetTextContent,Jn=e.createTextInstance,ki=e.scheduleTimeout,ip=e.cancelTimeout,Rl=e.noTimeout,qr=e.isPrimaryRenderer;e.warnsIfNotActing;var Ji=e.supportsMutation,sa=e.supportsPersistence,br=e.supportsHydration,Dy=e.getInstanceFromNode;e.beforeActiveInstanceBlur,e.afterActiveInstanceBlur;var Oi=e.preparePortalMount;
3935e.prepareScopeUpdate,e.getInstanceFromScope;var Lr=e.setCurrentUpdatePriority,qo=e.getCurrentUpdatePriority,Oy=e.resolveUpdatePriority;e.resolveEventType,e.resolveEventTimeStamp;var Ny=e.shouldAttemptEagerTransition,bb=e.detachDeletedInstance;e.requestPostPaintCallback;var Ig=e.maySuspendCommit,rp=e.preloadInstance,Pg=e.startSuspendingCommit,Wr=e.suspendInstance,Xi=e.waitForCommitToBeReady,Bl=e.NotPendingTransition,Ta=e.HostTransitionContext,sp=e.resetFormInstance;e.bindToConsole;var Hg=e.supportsMicrotasks,Wo=e.scheduleMicrotask,Dl=e.supportsTestSelectors,zg=e.findFiberRoot,Fg=e.getBoundingRect,Ly=e.getTextContent,Nu=e.isHiddenSubtree,Uy=e.matchAccessibilityRole,Iy=e.setFocusIfFocusable,Py=e.setupIntersectionObserver,Hy=e.appendChild,Gg=e.appendChildToContainer,zy=e.commitTextUpdate,Mb=e.commitMount,Fy=e.commitUpdate,Gy=e.insertBefore,Vy=e.insertInContainerBefore,Vg=e.removeChild,ky=e.removeChildFromContainer,kg=e.resetTextContent,Xy=e.hideInstance,Yy=e.hideTextInstance,jy=e.unhideInstance,Eb=e.unhideTextInstance,qy=e.clearContainer,Lu=e.cloneInstance,mh=e.createContainerChildSet,Xg=e.appendChildToContainerChildSet,ap=e.finalizeContainerChildren,Uu=e.replaceContainerChildren,Yg=e.cloneHiddenInstance,jg=e.cloneHiddenTextInstance,op=e.isSuspenseInstancePending,lp=e.isSuspenseInstanceFallback,Wy=e.getSuspenseInstanceFallbackErrorDetails,Jy=e.registerSuspenseInstanceRetry,qg=e.canHydrateFormStateMarker,Ky=e.isFormStateMarkerMatching,Wg=e.getNextHydratableSibling,cp=e.getFirstHydratableChild,Qy=e.getFirstHydratableChildWithinContainer,Zy=e.getFirstHydratableChildWithinSuspenseInstance,Tb=e.canHydrateInstance,Jg=e.canHydrateTextInstance,$y=e.canHydrateSuspenseInstance,e_=e.hydrateInstance,Kg=e.hydrateTextInstance,t_=e.hydrateSuspenseInstance,n_=e.getNextHydratableInstanceAfterSuspenseInstance,Cb=e.commitHydratedContainer,wb=e.commitHydratedSuspenseInstance,i_=e.clearSuspenseBoundary,gh=e.clearSuspenseBoundaryFromContainer,up=e.shouldDeleteUnhydratedTailInstances;e.diffHydratedPropsForDevWarnings,e.diffHydratedTextForDevWarnings,e.describeHydratableInstanceForDevWarnings;var fp=e.validateHydratableInstance,r_=e.validateHydratableTextInstance,ws=e.supportsResources,vh=e.isHostHoistableType,hp=e.getHoistableRoot,Qg=e.getResource,s_=e.acquireResource,yc=e.releaseResource,yh=e.hydrateHoistable,_h=e.mountHoistable,Iu=e.unmountHoistable,dp=e.createHoistableInstance,a_=e.prepareToCommitHoistables,o_=e.mayResourceSuspendCommit,_c=e.preloadResource,l_=e.suspendResource,ei=e.supportsSingletons,Ca=e.resolveSingletonInstance,Ol=e.clearSingleton,c_=e.acquireSingletonInstance,Nl=e.releaseSingletonInstance,ro=e.isHostSingletonType,Ni=[],Jo=-1,Ll={},Jr=Math.clz32?Math.clz32:D,u_=Math.log,f_=Math.LN2,so=128,xc=4194304,xh=Cs.unstable_scheduleCallback,pp=Cs.unstable_cancelCallback,h_=Cs.unstable_shouldYield,mp=Cs.unstable_requestPaint,aa=Cs.unstable_now,gp=Cs.unstable_ImmediatePriority,d_=Cs.unstable_UserBlockingPriority,vp=Cs.unstable_NormalPriority,Rb=Cs.unstable_IdlePriority,p_=Cs.log,ar=Cs.unstable_setDisableYieldValue,Li=null,cs=null,us=typeof Object.is=="function"?Object.is:ee,Zg=new WeakMap,Sc=[],Ac=0,bc=null,Pu=0,Rs=[],Bs=0,Ul=null,wa=1,Ra="",Ki=b(null),Hu=b(null),ao=b(null),Mc=b(null),Mr=null,Er=null,Dn=!1,oa=null,or=!1,Sh=Error(i(519)),la=[],Ec=0,Ba=0,Ah=null,Ko=null,Tc=!1,si=!1,$g=!1,zu=0,Fu=null,Cc=0,Ds=0,wc=null,Qo=!1,Rc=!1,oo=Object.prototype.hasOwnProperty,Gu=Error(i(460)),bh=Error(i(474)),Mh={then:function(){}},Il=null,Pl=null,Hl=0,zl=Vt(!0),lo=Vt(!1),ai=b(null),Vu=b(0),Os=b(null),ti=null,Qi=b(0),Zo=0,dn=null,kt=null,Nn=null,ca=!1,Bc=!1,Fl=!1,yp=0,Dc=0,lr=null,Da=0,_p=function(){return{lastEffect:null,events:null,stores:null,memoCache:null}},Mi={readContext:_r,use:de,useCallback:qt,useContext:qt,useEffect:qt,useImperativeHandle:qt,useLayoutEffect:qt,useInsertionEffect:qt,useMemo:qt,useReducer:qt,useRef:qt,useState:qt,useDebugValue:qt,useDeferredValue:qt,useTransition:qt,useSyncExternalStore:qt,useId:qt};Mi.useCacheRefresh=qt,Mi.useMemoCache=qt,Mi.useHostTransitionStatus=qt,Mi.useFormState=qt,Mi.useActionState=qt,Mi.useOptimistic=qt;var Gl={readContext:_r,use:de,useCallback:function(u,h){return ce().memoizedState=[u,h===void 0?null:h],u},useContext:_r,useEffect:Bd,useImperativeHandle:function(u,h,x){x=x!=null?x.concat([u]):null,Pf(4194308,4,Dd.bind(null,h,u),x)},useLayoutEffect:function(u,h){return Pf(4194308,4,u,h)},useInsertionEffect:function(u,h){Pf(4,2,u,h)},useMemo:function(u,h){var x=ce();h=h===void 0?null:h;var T=u();if(Fl){W(!0);try{u()}finally{W(!1)}}return x.memoizedState=[T,h],T},useReducer:function(u,h,x){var T=ce();if(x!==void 0){var R=x(h);if(Fl){W(!0);try{x(h)}finally{W(!1)}}}else R=h;return T.memoizedState=T.baseState=R,u={pending:null,lanes:0,dispatch:null,lastRenderedReducer:u,lastRenderedState:R}
3935,T.queue=u,u=u.dispatch=Nd.bind(null,dn,u),[T.memoizedState,u]},useRef:function(u){var h=ce();return u={current:u},h.memoizedState=u},useState:function(u){u=sn(u);var h=u.queue,x=sg.bind(null,dn,h);return h.dispatch=x,[u.memoizedState,x]},useDebugValue:dl,useDeferredValue:function(u,h){var x=ce();return Ff(x,u,h)},useTransition:function(){var u=sn(!1);return u=cu.bind(null,dn,u.queue,!0,!1),ce().memoizedState=u,[!1,u]},useSyncExternalStore:function(u,h,x){var T=dn,R=ce();if(Dn){if(x===void 0)throw Error(i(407));x=x()}else{if(x=h(),jn===null)throw Error(i(349));(bn&60)!==0||Et(T,h,x)}R.memoizedState=x;var L={value:x,getSnapshot:h};return R.queue=L,Bd(rn.bind(null,T,L,u),[u]),T.flags|=2048,Wi(9,$t.bind(null,T,L,x,h),{destroy:void 0},null),x},useId:function(){var u=ce(),h=jn.identifierPrefix;if(Dn){var x=Ra,T=wa;x=(T&~(1<<32-Jr(T)-1)).toString(32)+x,h=":"+h+"R"+x,x=yp++,0<x&&(h+="H"+x.toString(32)),h+=":"}else x=Da++,h=":"+h+"r"+x.toString(32)+":";return u.memoizedState=h},useCacheRefresh:function(){return ce().memoizedState=rg.bind(null,dn)}};Gl.useMemoCache=Ve,Gl.useHostTransitionStatus=Gf,Gl.useFormState=Or,Gl.useActionState=Or,Gl.useOptimistic=function(u){var h=ce();h.memoizedState=h.baseState=u;var x={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return h.queue=x,h=fu.bind(null,dn,!0,x),x.dispatch=h,[u,h]};var Kr={readContext:_r,use:de,useCallback:dc,useContext:_r,useEffect:tg,useImperativeHandle:Od,useInsertionEffect:ay,useLayoutEffect:zf,useMemo:ng,useReducer:vt,useRef:sy,useState:function(){return vt(et)},useDebugValue:dl,useDeferredValue:function(u,h){var x=_e();return ig(x,kt.memoizedState,u,h)},useTransition:function(){var u=vt(et)[0],h=_e().memoizedState;return[typeof u=="boolean"?u:Ee(u),h]},useSyncExternalStore:Rt,useId:uu};Kr.useCacheRefresh=Oo,Kr.useMemoCache=Ve,Kr.useHostTransitionStatus=Gf,Kr.useFormState=gr,Kr.useActionState=gr,Kr.useOptimistic=function(u,h){var x=_e();return Ht(x,kt,u,h)};var Ns={readContext:_r,use:de,useCallback:dc,useContext:_r,useEffect:tg,useImperativeHandle:Od,useInsertionEffect:ay,useLayoutEffect:zf,useMemo:ng,useReducer:Ot,useRef:sy,useState:function(){return Ot(et)},useDebugValue:dl,useDeferredValue:function(u,h){var x=_e();return kt===null?Ff(x,u,h):ig(x,kt.memoizedState,u,h)},useTransition:function(){var u=Ot(et)[0],h=_e().memoizedState;return[typeof u=="boolean"?u:Ee(u),h]},useSyncExternalStore:Rt,useId:uu};Ns.useCacheRefresh=Oo,Ns.useMemoCache=Ve,Ns.useHostTransitionStatus=Gf,Ns.useFormState=hc,Ns.useActionState=hc,Ns.useOptimistic=function(u,h){var x=_e();return kt!==null?Ht(x,kt,u,h):(x.baseState=u,[u,x.queue.dispatch])};var co={isMounted:function(u){return(u=u._reactInternals)?g(u)===u:!1},enqueueSetState:function(u,h,x){u=u._reactInternals;var T=Di(),R=Ye(T);R.payload=h,x!=null&&(R.callback=x),h=nt(u,R,T),h!==null&&(sr(h,u,T),Mt(h,u,T))},enqueueReplaceState:function(u,h,x){u=u._reactInternals;var T=Di(),R=Ye(T);R.tag=1,R.payload=h,x!=null&&(R.callback=x),h=nt(u,R,T),h!==null&&(sr(h,u,T),Mt(h,u,T))},enqueueForceUpdate:function(u,h){u=u._reactInternals;var x=Di(),T=Ye(x);T.tag=2,h!=null&&(T.callback=h),h=nt(u,T,x),h!==null&&(sr(h,u,x),Mt(h,u,x))}},xp=typeof reportError=="function"?reportError:function(u){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var h=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof u=="object"&&u!==null&&typeof u.message=="string"?String(u.message):String(u),error:u});if(!window.dispatchEvent(h))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",u);return}console.error(u)},Sp=Error(i(461)),ni=!1,Ap={dehydrated:null,treeContext:null,retryLane:0},$o=b(null),Oa=null,Ls=null,ku=typeof AbortController<"u"?AbortController:function(){var u=[],h=this.signal={aborted:!1,addEventListener:function(x,T){u.push(T)}};this.abort=function(){h.aborted=!0,u.forEach(function(x){return x()})}},m_=Cs.unstable_scheduleCallback,g_=Cs.unstable_NormalPriority,oi={$$typeof:Ea,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0},e0=Kt.S;Kt.S=function(u,h){typeof h=="object"&&h!==null&&typeof h.then=="function"&&Re(u,h),e0!==null&&e0(u,h)};var uo=b(null),fo=!1,Ei=!1,t0=!1,Yn=typeof WeakSet=="function"?WeakSet:Set,tn=null,_n=!1,Gt=null,cn=!1,Ai=null,Us=8192,Xu={getCacheForType:function(u){var h=_r(oi),x=h.data.get(u);return x===void 0&&(x=u(),h.data.set(u,x)),x}},Yu=0,ua=1,hi=2,Na=3,ho=4;if(typeof Symbol=="function"&&Symbol.for){var Oc=Symbol.for;Yu=Oc("selector.component"),ua=Oc("selector.has_pseudo_class"),hi=Oc("selector.role"),Na=Oc("selector.test_id"),ho=Oc("selector.text")}var fa=typeof WeakMap=="function"?WeakMap:Map,Ln=0,jn=null,Xt=null,bn=0,Zn=0,Ur=null,ha=!1,Is=!1,Zi=!1,Ir=0,ii=0,Ps=0,el=0,Eh=0,Hs=0,po=0,Nc=null,Ti=null,bp=!1,Qr=0,ju=1/0,Th=null,Vl=null,La=!1,mo=null,
3935Lc=0,kl=0,Mp=null,qu=0,Ep=null;return an.attemptContinuousHydration=function(u){if(u.tag===13){var h=ie(u,67108864);h!==null&&sr(h,u,67108864),lh(u,67108864)}},an.attemptHydrationAtCurrentPriority=function(u){if(u.tag===13){var h=Di(),x=ie(u,h);x!==null&&sr(x,u,h),lh(u,h)}},an.attemptSynchronousHydration=function(u){switch(u.tag){case 3:if(u=u.stateNode,u.current.memoizedState.isDehydrated){var h=B(u.pendingLanes);if(h!==0){for(u.pendingLanes|=2,u.entangledLanes|=2;h;){var x=1<<31-Jr(h);u.entanglements[1]|=x,h&=~x}Je(u),(Ln&6)===0&&(ju=aa()+500,ht(0))}}break;case 13:h=ie(u,2),h!==null&&sr(h,u,2),rh(),lh(u,2)}},an.batchedUpdates=function(u,h){return u(h)},an.createComponentSelector=function(u){return{$$typeof:Yu,value:u}},an.createContainer=function(u,h,x,T,R,L,q,oe,ve,He){return Cy(u,h,!1,null,x,T,L,q,oe,ve,He,null)},an.createHasPseudoClassSelector=function(u){return{$$typeof:ua,value:u}},an.createHydrationContainer=function(u,h,x,T,R,L,q,oe,ve,He,at,pt,xt){return u=Cy(x,T,!0,u,R,L,oe,ve,He,at,pt,xt),u.context=Vi(null),x=u.current,T=Di(),R=Ye(T),R.callback=h??null,nt(x,R,T),u.current.lanes=T,G(u,T),Je(u),u},an.createPortal=function(u,h,x){var T=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:ia,key:T==null?null:""+T,children:u,containerInfo:h,implementation:x}},an.createRoleSelector=function(u){return{$$typeof:hi,value:u}},an.createTestNameSelector=function(u){return{$$typeof:Na,value:u}},an.createTextSelector=function(u){return{$$typeof:ho,value:u}},an.defaultOnCaughtError=function(u){console.error(u)},an.defaultOnRecoverableError=function(u){xp(u)},an.defaultOnUncaughtError=function(u){xp(u)},an.deferredUpdates=function(u){var h=Kt.T,x=qo();try{return Lr(32),Kt.T=null,u()}finally{Lr(x),Kt.T=h}},an.discreteUpdates=function(u,h,x,T,R){var L=Kt.T,q=qo();try{return Lr(2),Kt.T=null,u(h,x,T,R)}finally{Lr(q),Kt.T=L,Ln===0&&(ju=aa()+500)}},an.findAllNodes=nh,an.findBoundingRects=function(u,h){if(!Dl)throw Error(i(363));h=nh(u,h),u=[];for(var x=0;x<h.length;x++)u.push(Fg(h[x]));for(h=u.length-1;0<h;h--){x=u[h];for(var T=x.x,R=T+x.width,L=x.y,q=L+x.height,oe=h-1;0<=oe;oe--)if(h!==oe){var ve=u[oe],He=ve.x,at=He+ve.width,pt=ve.y,xt=pt+ve.height;if(T>=He&&L>=pt&&R<=at&&q<=xt){u.splice(h,1);break}else if(T!==He||x.width!==ve.width||xt<L||pt>q){if(!(L!==pt||x.height!==ve.height||at<T||He>R)){He>T&&(ve.width+=He-T,ve.x=T),at<R&&(ve.width=R-He),u.splice(h,1);break}}else{pt>L&&(ve.height+=pt-L,ve.y=L),xt<q&&(ve.height=q-pt),u.splice(h,1);break}}}return u},an.findHostInstance=Qd,an.findHostInstanceWithNoPortals=function(u){return u=_(u),u=u!==null?M(u):null,u===null?null:Du(u.stateNode)},an.findHostInstanceWithWarning=function(u){return Qd(u)},an.flushPassiveEffects=Ma,an.flushSyncFromReconciler=function(u){var h=Ln;Ln|=1;var x=Kt.T,T=qo();try{if(Lr(2),Kt.T=null,u)return u()}finally{Lr(T),Kt.T=x,Ln=h,(Ln&6)===0&&ht(0)}},an.flushSyncWork=rh,an.focusWithin=function(u,h){if(!Dl)throw Error(i(363));for(u=Su(u),h=os(u,h),h=Array.from(h),u=0;u<h.length;){var x=h[u++],T=x.tag;if(!Nu(x)){if((T===5||T===26||T===27)&&Iy(x.stateNode))return!0;for(x=x.child;x!==null;)h.push(x),x=x.sibling}}return!1},an.getFindAllNodesFailureDescription=function(u,h){if(!Dl)throw Error(i(363));var x=0,T=[];u=[Su(u),0];for(var R=0;R<u.length;){var L=u[R++],q=L.tag,oe=u[R++],ve=h[oe];if((q!==5&&q!==26&&q!==27||!Nu(L))&&(Al(L,ve)&&(T.push(bg(ve)),oe++,oe>x&&(x=oe)),oe<h.length))for(L=L.child;L!==null;)u.push(L,oe),L=L.sibling}if(x<h.length){for(u=[];x<h.length;x++)u.push(bg(h[x]));return`findAllNodes was able to match part of the selector:
3936  `+(T.join(" > ")+`
3937
3938No matching component was found for:
3939  `)+u.join(" > ")}return null},an.getPublicRootInstance=function(u){if(u=u.current,!u.child)return null;switch(u.child.tag){case 27:case 5:return Du(u.child.stateNode);default:return u.child.stateNode}},an.injectIntoDevTools=function(){var u={bundleType:0,version:Lg,rendererPackageName:dh,currentDispatcherRef:Kt,findFiberByHostInstance:Dy,reconcilerVersion:"19.0.0"};if(Bu!==null&&(u.rendererConfig=Bu),typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")u=!1;else{var h=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(h.isDisabled||!h.supportsFiber)u=!0;else{try{Li=h.inject(u),cs=h}catch{}u=!!h.checkDCE}}return u},an.isAlreadyRendering=function(){return!1},an.observeVisibleRects=function(u,h,x,T){if(!Dl)throw Error(i(363));u=nh(u,h);var R=Py(u,x,T).disconnect;return{disconnect:function(){R()}}},an.shouldError=function(){return null},an.shouldSuspend=function(){return!1},an.startHostTransition=function(u,h,x,T){if(u.tag!==5)throw Error(i(476));var R=$a(u).queue;cu(u,R,h,Bl,x===null?n:function(){var L=$a(u).next.queue;return pl(u,L,{},Di()),x(T)})},an.updateContainer=function(u,h,x,T){var R=h.current,L=Di();return Eu(R,L,u,h,x,T),L},an.updateContainerSync=function(u,h,x,T){return h.tag===0&&Ma(),Eu(h.current,2,u,h,x,T),2},an},r.exports.default=r.exports,Object.defineProperty(r.exports,"__esModule",{value:!0})}(n1)),n1.exports}var u2;function p5(){return u2||(u2=1,t1.exports=d5()),t1.exports}var m5=p5();const g5=zv(m5);var f2=$O();function PT(r,e,t){if(!r)return;if(t(r)===!0)return r;let n=e?r.return:r.child;for(;n;){const i=PT(n,e,t);if(i)return i;n=e?null:n.sibling}}function eN(r){try{return Object.defineProperties(r,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return r}}const HT=eN($.createContext(null));class tN extends $.Component{render(){return $.createElement(HT.Provider,{value:this._reactInternals},this.props.children)}}function nN(){const r=$.useContext(HT);if(r===null)throw new Error("its-fine: useFiber must be called within a <FiberProvider />!");const e=$.useId();return $.useMemo(()=>{for(const t of[r,r?.alternate]){if(!t)continue;const n=PT(t,!1,i=>{let s=i.memoizedState;for(;s;){if(s.memoizedState===e)return!0;s=s.next}});if(n)return n}},[r,e])}const v5=Symbol.for("react.context"),y5=r=>r!==null&&typeof r=="object"&&"$$typeof"in r&&r.$$typeof===v5;function _5(){const r=nN(),[e]=$.useState(()=>new Map);e.clear();let t=r;for(;t;){const n=t.type;y5(n)&&n!==HT&&!e.has(n)&&e.set(n,$.use(eN(n))),t=t.return}return e}function x5(){const r=_5();return $.useMemo(()=>Array.from(r.keys()).reduce((e,t)=>
3939n=>$.createElement(e,null,$.createElement(t.Provider,{...n,value:r.get(t)})),e=>$.createElement(tN,{...e})),[r])}function iN(r){let e=r.root;for(;e.getState().previousRoot;)e=e.getState().previousRoot;return e}const rN=r=>r&&r.isOrthographicCamera,S5=r=>r&&r.hasOwnProperty("current"),A5=r=>r!=null&&(typeof r=="string"||typeof r=="number"||r.isColor),Qv=((r,e)=>typeof window<"u"&&(((r=window.document)==null?void 0:r.createElement)||((e=window.navigator)==null?void 0:e.product)==="ReactNative"))()?$.useLayoutEffect:$.useEffect;function sN(r){const e=$.useRef(r);return Qv(()=>void(e.current=r),[r]),e}function b5(){const r=nN(),e=x5();return $.useMemo(()=>({children:t})=>{const i=!!PT(r,!0,s=>s.type===$.StrictMode)?$.StrictMode:$.Fragment;return K.jsx(i,{children:K.jsx(e,{children:t})})},[r,e])}function M5({set:r}){return Qv(()=>(r(new Promise(()=>null)),()=>r(!1)),[r]),null}const E5=(r=>(r=class extends $.Component{constructor(...t){super(...t),this.state={error:!1}}componentDidCatch(t){this.props.set(t)}render(){return this.state.error?null:this.props.children}},r.getDerivedStateFromError=()=>({error:!0}),r))();function aN(r){var e;const t=typeof window<"u"?(e=window.devicePixelRatio)!=null?e:2:1;return Array.isArray(r)?Math.min(Math.max(r[0],t),r[1]):r}function Zp(r){var e;return(e=r.__r3f)==null?void 0:e.root.getState()}const wi={obj:r=>r===Object(r)&&!wi.arr(r)&&typeof r!="function",fun:r=>typeof r=="function",str:r=>typeof r=="string",num:r=>typeof r=="number",boo:r=>typeof r=="boolean",und:r=>r===void 0,nul:r=>r===null,arr:r=>Array.isArray(r),equ(r,e,{arrays:t="shallow",objects:n="reference",strict:i=!0}={}){if(typeof r!=typeof e||!!r!=!!e)return!1;if(wi.str(r)||wi.num(r)||wi.boo(r))return r===e;const s=wi.obj(r);if(s&&n==="reference")return r===e;const o=wi.arr(r);if(o&&t==="reference")return r===e;if((o||s)&&r===e)return!0;let c;for(c in r)if(!(c in e))return!1;if(s&&t==="shallow"&&n==="shallow"){for(c in i?e:r)if(!wi.equ(r[c],e[c],{strict:i,objects:"reference"}))return!1}else for(c in i?e:r)if(r[c]!==e[c])return!1;if(wi.und(c)){if(o&&r.length===0&&e.length===0||s&&Object.keys(r).length===0&&Object.keys(e).length===0)return!0;if(r!==e)return!1}return!0}};function T5(r){const e={nodes:{},materials:{},meshes:{}};return r&&r.traverse(t=>{t.name&&(e.nodes[t.name]=t),t.material&&!e.materials[t.material.name]&&(e.materials[t.material.name]=t.material),t.isMesh&&!e.meshes[t.name]&&(e.meshes[t.name]=t)}),e}function C5(r){r.type!=="Scene"&&(r.dispose==null||r.dispose());for(const e in r){const t=r[e];t?.type!=="Scene"&&(t==null||t.dispose==null||t.dispose())}}const oN=["children","key","ref"];function w5(r){const e={};for(const t in r)oN.includes(t)||(e[t]=r[t]);return e}function cA(r,e,t,n){const i=r;let s=i?.__r3f;return s||(s={root:e,type:t,parent:null,children:[],props:w5(n),object:i,eventCount:0,handlers:{},isHidden:!1},i&&(i.__r3f=s)),s}function Cv(r,e){let t=r[e];if(!e.includes("-"))return{root:r,key:e,target:t};t=r;for(const i of e.split("-")){var n;e=i,r=t,t=(n=t)==null?void 0:n[e]}return{root:r,key:e,target:t}}const h2=/-\d+$/;function uA(r,e){if(wi.str(e.props.attach)){if(h2.test(e.props.attach)){const i=e.props.attach.replace(h2,""),{root:s,key:o}=Cv(r.object,i);Array.isArray(s[o])||(s[o]=[])}const{root:t,key:n}=Cv(r.object,e.props.attach);e.previousAttach=t[n],t[n]=e.object}else wi.fun(e.props.attach)&&(e.previousAttach=e.props.attach(r.object,e.object))}function fA(r,e){if(wi.str(e.props.attach)){const{root:t,key:n}=Cv(r.object,e.props.attach),i=e.previousAttach;i===void 0?delete t[n]:t[n]=i}else e.previousAttach==null||e.previousAttach(r.object,e.object);delete e.previousAttach}const rE=[...oN,"args","dispose","attach","object","onUpdate","dispose"],d2=new Map;function R5(r){let e=d2.get(r.constructor);try{e||(e=new r.constructor,d2.set(r.constructor,e))}catch{}return e}function B5(r,e){const t={};for(const n in e)if(!rE.includes(n)&&!wi.equ(e[n],r.props[n])){t[n]=e[n];for(const i in e)i.startsWith(`${n}-`)&&(t[i]=e[i])}for(const n in r.props){if(rE.includes(n)||e.hasOwnProperty(n))continue;const{root:i,key:s}=Cv(r.object,n);if(i.constructor&&i.constructor.length===0){const o=R5(i);wi.und(o)||(t[s]=o[s])}else t[s]=0}return t}const D5=["map","emissiveMap","sheenColorMap","specularColorMap","envMap"],O5=/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/;function df(r,e){var t;const n=r.__r3f,i=n&&iN(n).getState(),s=n?.eventCount;for(const c in e){let f=e[c];if(rE.includes(c))continue;if(n&&O5.test(c)){typeof f=="function"?n.handlers[c]=f:delete n.handlers[c],n.eventCount=Object.keys(n.handlers).length;continue}if(f===void 0)continue;let{root:d,key:m,target:g}=Cv(r,c);if(g instanceof Dm&&f instanceof Dm)g.mask=f.mask;else if(g instanceof dt&&A5(f))g.set(f);else if(g!==null&&typeof g=="object"&&typeof g.set=="function"&&typeof g.copy=="function"&&f!=null&&f.constructor&&g.constructor===f.constructor)g.copy(f);else if(g!==null&&typeof g=="object"&&typeof g.set=="function"&&Array.isArray(f))typeof g.fromArray=="function"?g.fromArray(f):g.set(...f);else if(g!==null&&typeof g=="object"&&typeof g.set=="function"&&typeof f=="number")typeof g.setScalar=="function"?g.setScalar(f):g.set(f);else{var o;d[m]=f,i&&!i.linear&&D5.includes(m)&&(o=d[m])!=null&&o.isTexture&&d[m].format===xs&&d[m].type===wo&&(d[m].colorSpace
vendor: 9,151 bytes, line 3939
3939=vs)}}if(n!=null&&n.parent&&i!=null&&i.internal&&(t=n.object)!=null&&t.isObject3D&&s!==n.eventCount){const c=n.object,f=i.internal.interaction.indexOf(c);f>-1&&i.internal.interaction.splice(f,1),n.eventCount&&c.raycast!==null&&i.internal.interaction.push(c)}return n&&n.props.attach===void 0&&(n.object.isBufferGeometry?n.props.attach="geometry":n.object.isMaterial&&(n.props.attach="material")),n&&Zm(n),r}function Zm(r){var e;if(!r.parent)return;r.props.onUpdate==null||r.props.onUpdate(r.object);const t=(e=r.root)==null||e.getState==null?void 0:e.getState();t&&t.internal.frames===0&&t.invalidate()}function N5(r,e){r.manual||(rN(r)?(r.left=e.width/-2,r.right=e.width/2,r.top=e.height/2,r.bottom=e.height/-2):r.aspect=e.width/e.height,r.updateProjectionMatrix())}const Ws=r=>r?.isObject3D;function Ex(r){return(r.eventObject||r.object).uuid+"/"+r.index+r.instanceId}function lN(r,e,t,n){const i=t.get(e);i&&(t.delete(e),t.size===0&&(r.delete(n),i.target.releasePointerCapture(n)))}function L5(r,e){const{internal:t}=r.getState();t.interaction=t.interaction.filter(n=>n!==e),t.initialHits=t.initialHits.filter(n=>n!==e),t.hovered.forEach((n,i)=>{(n.eventObject===e||n.object===e)&&t.hovered.delete(i)}),t.capturedMap.forEach((n,i)=>{lN(t.capturedMap,e,n,i)})}function U5(r){function e(f){const{internal:d}=r.getState(),m=f.offsetX-d.initialClick[0],g=f.offsetY-d.initialClick[1];return Math.round(Math.sqrt(m*m+g*g))}function t(f){return f.filter(d=>["Move","Over","Enter","Out","Leave"].some(m=>{var g;return(g=d.__r3f)==null?void 0:g.handlers["onPointer"+m]}))}function n(f,d){const m=r.getState(),g=new Set,y=[],_=d?d(m.internal.interaction):m.internal.interaction;for(let A=0;A<_.length;A++){const w=Zp(_[A]);w&&(w.raycaster.camera=void 0)}m.previousRoot||m.events.compute==null||m.events.compute(f,m);function S(A){const w=Zp(A);if(!w||!w.events.enabled||w.raycaster.camera===null)return[];if(w.raycaster.camera===void 0){var D;w.events.compute==null||w.events.compute(f,w,(D=w.previousRoot)==null?void 0:D.getState()),w.raycaster.camera===void 0&&(w.raycaster.camera=null)}return w.raycaster.camera?w.raycaster.intersectObject(A,!0):[]}let M=_.flatMap(S).sort((A,w)=>{const D=Zp(A.object),B=Zp(w.object);return!D||!B?A.distance-w.distance:B.events.priority-D.events.priority||A.distance-w.distance}).filter(A=>{const w=Ex(A);return g.has(w)?!1:(g.add(w),!0)});m.events.filter&&(M=m.events.filter(M,m));for(const A of M){let w=A.object;for(;w;){var b;(b=w.__r3f)!=null&&b.eventCount&&y.push({...A,eventObject:w}),w=w.parent}}if("pointerId"in f&&m.internal.capturedMap.has(f.pointerId))for(let A of m.internal.capturedMap.get(f.pointerId).values())g.has(Ex(A.intersection))||y.push(A.intersection);return y}function i(f,d,m,g){if(f.length){const y={stopped:!1};for(const _ of f){let S=Zp(_.object);if(S||_.object.traverseAncestors(M=>{const b=Zp(M);if(b)return S=b,!1}),S){const{raycaster:M,pointer:b,camera:A,internal:w}=S,D=new Z(b.x,b.y,0).unproject(A),B=P=>{var N,G;return(N=(G=w.capturedMap.get(P))==null?void 0:G.has(_.eventObject))!=null?N:!1},I=P=>{const N={intersection:_,target:d.target};w.capturedMap.has(P)?w.capturedMap.get(P).set(_.eventObject,N):w.capturedMap.set(P,new Map([[_.eventObject,N]])),d.target.setPointerCapture(P)},O=P=>{const N=w.capturedMap.get(P);N&&lN(w.capturedMap,_.eventObject,N,P)};let U={};for(let P in d){let N=d[P];typeof N!="function"&&(U[P]=N)}let z={..._,...U,pointer:b,intersections:f,stopped:y.stopped,delta:m,unprojectedPoint:D,ray:M.ray,camera:A,stopPropagation(){const P="pointerId"in d&&w.capturedMap.get(d.pointerId);if((!P||P.has(_.eventObject))&&(z.stopped=y.stopped=!0,w.hovered.size&&Array.from(w.hovered.values()).find(N=>N.eventObject===_.eventObject))){const N=f.slice(0,f.indexOf(_));s([...N,_])}},target:{hasPointerCapture:B,setPointerCapture:I,releasePointerCapture:O},currentTarget:{hasPointerCapture:B,setPointerCapture:I,releasePointerCapture:O},nativeEvent:d};if(g(z),y.stopped===!0)break}}}return f}function s(f){const{internal:d}=r.getState();for(const m of d.hovered.values())if(!f.length||!f.find(g=>g.object===m.object&&g.index===m.index&&g.instanceId===m.instanceId)){const y=m.eventObject.__r3f;if(d.hovered.delete(Ex(m)),y!=null&&y.eventCount){const _=y.handlers,S={...m,intersections:f};_.onPointerOut==null||_.onPointerOut(S),_.onPointerLeave==null||_.onPointerLeave(S)}}}function o(f,d){for(let m=0;m<d.length;m++){const g=d[m].__r3f;g==null||g.handlers.onPointerMissed==null||g.handlers.onPointerMissed(f)}}function c(f){switch(f){case"onPointerLeave":case"onPointerCancel":return()=>s([]);case"onLostPointerCapture":return d=>{const{internal:m}=r.getState();"pointerId"in d&&m.capturedMap.has(d.pointerId)&&requestAnimationFrame(()=>{m.capturedMap.has(d.pointerId)&&(m.capturedMap.delete(d.pointerId),s([]))})}}return function(m){const{onPointerMissed:g,internal:y}=r.getState();y.lastEvent.current=m;const _=f==="onPointerMove",S=f==="onClick"||f==="onContextMenu"||f==="onDoubleClick",b=n(m,_?t:void 0),A=S?e(m):0;f==="onPointerDown"&&(y.initialClick=[m.offsetX,m.offsetY],y.initialHits=b.map(D=>D.eventObject)),S&&!b.length&&A<=2&&(o(m,y.interaction),g&&g(m)),_&&s(b);function w(D){const B=D.eventObject,I=B.__r3f;if(!(I!=null&&I.eventCount))return;const O=I.handlers;if(_){if(O.onPointerOver||O.onPointerEnter||O.onPointerOut||O.onPointerLeave){const U=Ex(D),z=y.hovered.get(U);z?z.stopped&&D.stopPropagation():(y.hovered.set(U,D),O.onPointerOver==null||O.onPointerOver(D),O.onPointerEnter==null||O.onPointerEnter(D))}O.onPointerMove==null||O.onPointerMove(D)}else{const U=O[f];U?(!S||y.initialHits.includes(B))&&(o(m,y.interaction.filter(z=>!y.initialHits.includes(z))),U(D)):S&&y.initialHits.includes(B)&&o(m,y.interaction.filter(z=>!y.initialHits.includes(z)))}}i(b,m,A,w)}}return{handlePointer:c}}const p2=r=>!!(r!=null&&r.render),cN=$.createContext(null),I5=(r,e)=>{const t=o5((c,f)=>{const d=new Z,m=new Z,g=new Z;function y(A=f().camera,w=m,D=f().size){const{width:B,height:I,top:O,left:U}=D,z=B/I;w.isVector3?g.copy(w):g.set(...w);const P=A.getWorldPosition(d).distanceTo(g);if(rN(A))return{width:B/A.zoom,height:I/A.zoom,top:O,left:U,factor:1,distance:P,aspect:z};{const N=A.fov*Math.PI/180,G=2*Math.tan(N/2)*P,X=G*(B/I);return{width:X,height:G,top:O,left:U,factor:B/X,distance:P,aspect:z}}}let _;const S=A=>c(w=>({performance:{...w.performance,current:A}})),M=new qe;return{set:c,get:f,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},scene:null,xr:null,invalidate:(A=1)=>r(f(),A),advance:(A,w)=>e(A,w,f()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new DT,pointer:M,mouse:M,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const A=f();_&&clearTimeout(_),A.performance.current!==A.performance.min&&S(A.performance.min),_=setTimeout(()=>S(f().performance.max),A.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:y},setEvents:A=>c(w=>({...w,events:{...w.events,...A}})),setSize:(A,w,D=0,B=0)=>{const I=f().camera,O={width:A,height:w,top:D,left:B};c(U=>({size:O,viewport:{...U.viewport,...y(I,m,O)}}))},setDpr:A=>c(w=>{const D=aN(A);return{viewport:{...w.viewport,dpr:D,initialDpr:w.viewport.initialDpr||D}}}),setFrameloop:(A="always")=>{const w=f().clock;w.stop(),w.elapsedTime=0,A!=="never"&&(w.start(),w.elapsedTime=0),c(()=>({frameloop:A}))},previousRoot:void 0,internal:{interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,lastEvent:$.createRef(),active:!1,frames:0,priority:0,subscribe:(A,w,D)=>{const B=f().internal;return B.priority=B.priority+(w>0?1:0),B.subscribers.push({ref:A,priority:w,store:D}),B.subscribers=B.subscribers.sort((I,O)=>I.priority-O.priority),()=>{const I=f().internal;I!=null&&I.subscribers&&(I.priority=I.priority-(w>0?1:0),I.subscribers=I.subscribers.filter(O=>O.ref!==A))}}}}}),n=t.getState();let i=n.size,s=n.viewport.dpr,o=n.camera;return t.subscribe(()=>{const{camera:c,size:f,viewport:d,gl:m,set:g}=t.getState();if(f.width!==i.width||f.height!==i.height||d.dpr!==s){i=f,s=d.dpr,N5(c,f),d.dpr>0&&m.setPixelRatio(d.dpr);const y=typeof HTMLCanvasElement<"u"&&m.domElement instanceof HTMLCanvasElement;m.setSize(f.width,f.height,y)}c!==o&&(o=c,g(y=>({viewport:{...y.viewport,...y.viewport.getCurrentViewport(c)}})))}),t.subscribe(c=>r(c)),t};function P5(){const r=$.useContext(cN);if(!r)throw new Error("R3F: Hooks can only be used within the Canvas component!");return r}function H5(r,e=0){const t=P5(),n=t.getState().internal.subscribe,i=sN(r);return Qv(()=>n(i,e,t),[e,n,t]),null}const m2=new WeakMap,z5=r=>{var e;return typeof r=="function"&&(r==null||(e=r.prototype)==null?void 0:e.constructor)===r};function uN(r,e){return function(t,...n){let i;return z5(t)?(i=m2.get(t),i||(i=new t,m2.set(t,i))):i=t,r&&r(i),Promise.all(n.map(s=>new Promise((o,c)=>i.load(s,f=>{Ws(f?.scene)&&Object.assign(f,T5(f.scene)),o(f)},e,f=>c(new Error(`Could not load ${s}: ${f?.message}`))))))}}function Zv(r,e,t,n){const i=Array.isArray(e)?e:[e],s=c5(uN(t,n),[r,...i],{equal:wi.equ});
3939return Array.isArray(e)?s:s[0]}Zv.preload=function(r,e,t){const n=Array.isArray(e)?e:[e];return u5(uN(t),[r,...n])};Zv.clear=function(r,e){const t=Array.isArray(e)?e:[e];return f5([r,...t])};function F5(r){const e=g5(r);return e.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:$.version}),e}const fN=0,Um={},G5=/^three(?=[A-Z])/,lb=r=>`${r[0].toUpperCase()}${r.slice(1)}`;let V5=0;const k5=r=>typeof r=="function";function X5(r){if(k5(r)){const e=`${V5++}`;return Um[e]=r,e}else Object.assign(Um,r)}function hN(r,e){const t=lb(r),n=Um[t];if(r!=="primitive"&&!n)throw new Error(`R3F: ${t} 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(r==="primitive"&&!e.object)throw new Error("R3F: Primitives without 'object' are invalid!");if(e.args!==void 0&&!Array.isArray(e.args))throw new Error("R3F: The args prop must be an array!")}function Y5(r,e,t){var n;return r=lb(r)in Um?r:r.replace(G5,""),hN(r,e),r==="primitive"&&(n=e.object)!=null&&n.__r3f&&delete e.object.__r3f,cA(e.object,t,r,e)}function j5(r){if(!r.isHidden){var e;r.props.attach&&(e=r.parent)!=null&&e.object?fA(r.parent,r):Ws(r.object)&&(r.object.visible=!1),r.isHidden=!0,Zm(r)}}function dN(r){if(r.isHidden){var e;r.props.attach&&(e=r.parent)!=null&&e.object?uA(r.parent,r):Ws(r.object)&&r.props.visible!==!1&&(r.object.visible=!0),r.isHidden=!1,Zm(r)}}function zT(r,e,t){const n=e.root.getState();if(!(!r.parent&&r.object!==n.scene)){if(!e.object){var i,s;const o=Um[lb(e.type)];e.object=(i=e.props.object)!=null?i:new o(...(s=e.props.args)!=null?s:[]),e.object.__r3f=e}if(df(e.object,e.props),e.props.attach)uA(r,e);else if(Ws(e.object)&&Ws(r.object)){const o=r.object.children.indexOf(t?.object);if(t&&o!==-1){const c=r.object.children.indexOf(e.object);if(c!==-1){r.object.children.splice(c,1);const f=c<o?o-1:o;r.object.children.splice(f,0,e.object)}else e.object.parent=r.object,r.object.children.splice(o,0,e.object),e.object.dispatchEvent({type:"added"}),r.object.dispatchEvent({type:"childadded",child:e.object})}else r.object.add(e.object)}for(const o of e.children)zT(e,o);Zm(e)}}function s1(r,e){e&&(e.parent=r,r.children.push(e),zT(r,e))}function g2(r,e,t){if(!e||!t)return;e.parent=r;const n=r.children.indexOf(t);n!==-1?r.children.splice(n,0,e):r.children.push(e),zT(r,e,t)}function pN(r){if(typeof r.dispose=="function"){const e=()=>
3939{try{r.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT<"u"?e():f2.unstable_scheduleCallback(f2.unstable_IdlePriority,e)}}function sE(r,e,t){if(!e)return;e.parent=null;const n=r.children.indexOf(e);n!==-1&&r.children.splice(n,1),e.props.attach?fA(r,e):Ws(e.object)&&Ws(r.object)&&(r.object.remove(e.object),L5(iN(e),e.object));const i=e.props.dispose!==null&&t!==!1;for(let s=e.children.length-1;s>=0;s--){const o=e.children[s];sE(e,o,i)}e.children.length=0,delete e.object.__r3f,i&&e.type!=="primitive"&&e.object.type!=="Scene"&&pN(e.object),t===void 0&&Zm(e)}function q5(r,e){for(const t of[r,r.alternate])if(t!==null)if(typeof t.ref=="function"){t.refCleanup==null||t.refCleanup();const n=t.ref(e);typeof n=="function"&&(t.refCleanup=n)}else t.ref&&(t.ref.current=e)}const cS=[];function W5(){for(const[t]of cS){const n=t.parent;if(n){t.props.attach?fA(n,t):Ws(t.object)&&Ws(n.object)&&n.object.remove(t.object);for(const i of t.children)i.props.attach?fA(t,i):Ws(i.object)&&Ws(t.object)&&t.object.remove(i.object)}t.isHidden&&dN(t),t.object.__r3f&&delete t.object.__r3f,t.type!=="primitive"&&pN(t.object)}for(const[t,n,i]of cS){t.props=n;const s=t.parent;if(s){var r,e;const o=Um[lb(t.type)];
3939t.object=(r=t.props.object)!=null?r:new o(...(e=t.props.args)!=null?e:[]),t.object.__r3f=t,q5(i,t.object),df(t.object,t.props),t.props.attach?uA(s,t):Ws(t.object)&&Ws(s.object)&&s.object.add(t.object);for(const c of t.children)c.props.attach?uA(t,c):Ws(c.object)&&Ws(t.object)&&t.object.add(c.object);Zm(t)}}cS.length=0}const a1=()=>{},v2={};let Tx=fN;const J5=0,K5=4,aE=F5({isPrimaryRenderer:!1,warnsIfNotActing:!1,supportsMutation:!0,supportsPersistence:!1,supportsHydration:!1,createInstance:Y5,removeChild:sE,appendChild:s1,appendInitialChild:s1,insertBefore:g2,appendChildToContainer(r,e){const t=r.getState().scene.__r3f;!e||!t||s1(t,e)},removeChildFromContainer(r,e){const t=r.getState().scene.__r3f;!e||!t||sE(t,e)},insertInContainerBefore(r,e,t){const n=r.getState().scene.__r3f;!e||!t||!n||g2(n,e,t)},getRootHostContext:()=>v2,getChildHostContext:()=>v2,commitUpdate(r,e,t,n,i){var s,o,c;hN(e,n);let f=!1;if((r.type==="primitive"&&t.object!==n.object||((s=n.args)==null?void 0:s.length)!==((o=t.args)==null?void 0:o.length)||(c=n.args)!=null&&c.some((m,g)=>{var y;return m!==((y=t.args)==null?void 0:y[g])}))&&(f=!0),f)cS.push([r,{...n},i]);else{const m=B5(r,n);Object.keys(m).length&&(Object.assign(r.props,m),df(r.object,m))}(i.sibling===null||(i.flags&K5)===J5)&&W5()},finalizeInitialChildren:()=>!1,commitMount(){},getPublicInstance:r=>r?.object,prepareForCommit:()=>null,preparePortalMount:r=>cA(r.getState().scene,r,"",{}),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance:j5,unhideInstance:dN,createTextInstance:a1,hideTextInstance:a1,unhideTextInstance:a1,scheduleTimeout:typeof setTimeout=="function"?setTimeout:void 0,cancelTimeout:typeof clearTimeout=="function"?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:$.createContext(null),setCurrentUpdatePriority(r){Tx=r},getCurrentUpdatePriority(){return Tx},resolveUpdatePriority(){var r;if(Tx!==fN)return Tx;switch(typeof window<"u"&&((r=window.event)==null?void 0:r.type)){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return lS.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return lS.ContinuousEventPriority;default:return lS.DefaultEventPriority}},resetFormInstance(){}}),Sd=new Map,$p={objects:"shallow",strict:!1};function Q5(r,e){if(!e&&typeof HTMLCanvasElement<"u"&&r instanceof HTMLCanvasElement&&r.parentElement){const{width:t,height:n,top:i,left:s}=r.parentElement.getBoundingClientRect();return{width:t,height:n,top:i,left:s}}else if(!e&&typeof OffscreenCanvas<"u"&&r instanceof OffscreenCanvas)return{width:r.width,height:r.height,top:0,left:0};return{width:0,height:0,top:0,left:0,...e}}function Z5(r){const e=Sd.get(r),t=e?.fiber,n=e?.store;e&&console.warn("R3F.createRoot should only be called once!");const i=typeof reportError=="function"?reportError:console.error,s=n||I5(cE,_2),o=t||aE.createContainer(s,lS.ConcurrentRoot,null,!1,null,"",i,i,i,null);e||Sd.set(r,{fiber:o,store:s});let c,f,d=!1,m=null;return{async configure(g={}){let y;m=new Promise(re=>y=re);let{gl:_,size:S,scene:M,events:b,onCreated:A,shadows:w=!1,linear:D=!1,flat:B=!1,legacy:I=!1,orthographic:O=!1,frameloop:U="always",dpr:z=[1,2],performance:P,raycaster:N,camera:G,onPointerMissed:X}=g,Q=s.getState(),te=Q.gl;if(!Q.gl){const re={canvas:r,powerPreference:"high-performance",antialias:!0,alpha:!0},ye=typeof _=="function"?await _(re):_;p2(ye)?te=ye:te=new JO({...re,..._}),Q.set({gl:te})}let le=Q.raycaster;le||Q.set({raycaster:le=new FO});const{params:k,...W}=N||{};if(wi.equ(W,le,$p)||df(le,{...W}),wi.equ(k,le.params,$p)||df(le,{params:{...le.params,...k}}
3939),!Q.camera||Q.camera===f&&!wi.equ(f,G,$p)){f=G;const re=G?.isCamera,ye=re?G:O?new Km(0,0,0,0,.1,1e3):new wr(75,0,.1,1e3);re||(ye.position.z=5,G&&(df(ye,G),ye.manual||("aspect"in G||"left"in G||"right"in G||"bottom"in G||"top"in G)&&(ye.manual=!0,ye.updateProjectionMatrix())),!Q.camera&&!(G!=null&&G.rotation)&&ye.lookAt(0,0,0)),Q.set({camera:ye}),le.camera=ye}if(!Q.scene){let re;M!=null&&M.isScene?(re=M,cA(re,s,"",{})):(re=new oT,cA(re,s,"",{}),M&&df(re,M)),Q.set({scene:re})}b&&!Q.events.handlers&&Q.set({events:b(s)});const ee=Q5(r,S);if(wi.equ(ee,Q.size,$p)||Q.setSize(ee.width,ee.height,ee.top,ee.left),z&&Q.viewport.dpr!==aN(z)&&Q.setDpr(z),Q.frameloop!==U&&Q.setFrameloop(U),Q.onPointerMissed||Q.set({onPointerMissed:X}),P&&!wi.equ(P,Q.performance,$p)&&Q.set(re=>({performance:{...re.performance,...P}})),!Q.xr){var pe;const re=(Te,he)=>{const xe=s.getState();xe.frameloop!=="never"&&_2(Te,!0,xe,he)},ye=()=>{const Te=s.getState();Te.gl.xr.enabled=Te.gl.xr.isPresenting,Te.gl.xr.setAnimationLoop(Te.gl.xr.isPresenting?re:null),Te.gl.xr.isPresenting||cE(Te)},Ae={connect(){const Te=s.getState().gl;Te.xr.addEventListener("sessionstart",ye),Te.xr.addEventListener("sessionend",ye)},disconnect(){const Te=s.getState().gl;Te.xr.removeEventListener("sessionstart",ye),Te.xr.removeEventListener("sessionend",ye)}};typeof((pe=te.xr)==null?void 0:pe.addEventListener)=="function"&&Ae.connect(),Q.set({xr:Ae})}if(te.shadowMap){const re=te.shadowMap.enabled,ye=te.shadowMap.type;if(te.shadowMap.enabled=!!w,wi.boo(w))te.shadowMap.type=W0;else if(wi.str(w)){var H;const Ae={basic:nD,percentage:wA,soft:W0,variance:al};
3939te.shadowMap.type=(H=Ae[w])!=null?H:W0}else wi.obj(w)&&Object.assign(te.shadowMap,w);(re!==te.shadowMap.enabled||ye!==te.shadowMap.type)&&(te.shadowMap.needsUpdate=!0)}return Un.enabled=!I,d||(te.outputColorSpace=D?Tf:vs,te.toneMapping=B?tc:YE),Q.legacy!==I&&Q.set(()=>({legacy:I})),Q.linear!==D&&Q.set(()=>({linear:D})),Q.flat!==B&&Q.set(()=>({flat:B})),_&&!wi.fun(_)&&!p2(_)&&!wi.equ(_,te,$p)&&df(te,_),c=A,d=!0,y(),this},render(g){return!d&&!m&&this.configure(),m.then(()=>{aE.updateContainer(K.jsx($5,{store:s,children:g,onCreated:c,rootElement:r}),o,null,()=>{})}),s},unmount(){mN(r)}}}function $5({store:r,children:e,onCreated:t,rootElement:n}){return Qv(()=>{const i=r.getState();i.set(s=>({internal:{...s.internal,active:!0}})),t&&t(i),r.getState().events.connected||i.events.connect==null||i.events.connect(n)},[]),K.jsx(cN.Provider,{value:r,children:e})}function mN(r,e){const t=Sd.get(r),n=t?.fiber;if(n){const i=t?.store.getState();i&&(i.internal.active=!1),aE.updateContainer(null,n,null,()=>{i&&setTimeout(()=>{try{var s,o,c,f;i.events.disconnect==null||i.events.disconnect(),(s=i.gl)==null||(o=s.renderLists)==null||o.dispose==null||o.dispose(),(c=i.gl)==null||c.forceContextLoss==null||c.forceContextLoss(),(f=i.gl)!=null&&f.xr&&i.xr.disconnect(),C5(i.scene),Sd.delete(r)}catch{}},500)})}}const e9=new Set,t9=new Set,n9=new Set;function o1(r,e){if(r.size)for(const{callback:t}of r.values())t(e)}function iv(r,e){switch(r){case"before":return o1(e9,e);case"after":return o1(t9,e);case"tail":return o1(n9,e)}}let l1,c1;function oE(r,e,t){let n=e.clock.getDelta();e.frameloop==="never"&&typeof r=="number"&&(n=r-e.clock.elapsedTime,e.clock.oldTime=e.clock.elapsedTime,e.clock.elapsedTime=r),l1=e.internal.subscribers;for(let i=0;i<l1.length;i++)c1=l1[i],c1.ref.current(c1.store.getState(),n,t);return!e.internal.priority&&e.gl.render&&e.gl.render(e.scene,e.camera),e.internal.frames=Math.max(0,e.internal.frames-1),e.frameloop==="always"?1:e.internal.frames}let hA=!1,lE=!1,u1,y2,em;function gN(r){y2=requestAnimationFrame(gN),hA=!0,u1=0,iv("before",r),lE=!0;for(const t of Sd.values()){var e;em=t.store.getState(),em.internal.active&&(em.frameloop==="always"||em.internal.frames>0)&&!((e=em.gl.xr)!=null&&e.isPresenting)&&(u1+=oE(r,em))}if(lE=!1,iv("after",r),u1===0)return iv("tail",r),hA=!1,cancelAnimationFrame(y2)}function cE(r,e=1){var t;if(!r)return Sd.forEach(n=>cE(n.store.getState(),e));(t=r.gl.xr)!=null&&t.isPresenting||!r.internal.active||r.frameloop==="never"||(e>1?r.internal.frames=Math.min(60,r.internal.frames+e):lE?r.internal.frames=2:r.internal.frames=1,hA||(hA=!0,requestAnimationFrame(gN)))}function _2(r,e=!0,t,n){if(e&&iv("before",r),t)oE(r,t,n);else for(const i of Sd.values())oE(r,i.store.getState());e&&iv("after",r)}const f1={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 i9(r){const{handlePointer:e}=U5(r);return{priority:1,enabled:!0,compute(t,n,i){n.pointer.set(t.offsetX/n.size.width*2-1,-(t.offsetY/n.size.height)*2+1),n.raycaster.setFromCamera(n.pointer,n.camera)},connected:void 0,handlers:Object.keys(f1).reduce((t,n)=>({...t,[n]:e(n)}),{}),update:()=>{var t;const{events:n,internal:i}=r.getState();(t=i.lastEvent)!=null&&t.current&&n.handlers&&n.handlers.onPointerMove(i.lastEvent.current)},connect:t=>{const{set:n,events:i}=r.getState();if(i.disconnect==null||i.disconnect(),n(s=>({events:{...s.events,connected:t}})),i.handlers)for(const s in i.handlers){const o=i.handlers[s],[c,f]=f1[s];t.addEventListener(c,o,{passive:f})}},disconnect:()=>{const{set:t,events:n}=r.getState();if(n.connected){if(n.handlers)for(const i in n.handlers){const s=n.handlers[i],[o]=f1[i];n.connected.removeEventListener(o,s)}t(i=>({events:{...i.events,connected:void 0}}))}}}}function x2(r,e){let t;return(...n)=>{window.clearTimeout(t),t=window.setTimeout(()=>r(...n),e)}}function r9({debounce:r,scroll:e,polyfill:t,offsetSize:n}={debounce:0,scroll:!1,offsetSize:!1}){const i=t||(typeof window>"u"?class{}:window.ResizeObserver);if(!i)throw new Error("This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills");const[s,o]=$.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}
vendor: 9,385 bytes, line 3939
3939),c=$.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:s,orientationHandler:null}),f=r?typeof r=="number"?r:r.scroll:null,d=r?typeof r=="number"?r:r.resize:null,m=$.useRef(!1);$.useEffect(()=>(m.current=!0,()=>void(m.current=!1)));const[g,y,_]=$.useMemo(()=>{const A=()=>{if(!c.current.element)return;const{left:w,top:D,width:B,height:I,bottom:O,right:U,x:z,y:P}=c.current.element.getBoundingClientRect(),N={left:w,top:D,width:B,height:I,bottom:O,right:U,x:z,y:P};c.current.element instanceof HTMLElement&&n&&(N.height=c.current.element.offsetHeight,N.width=c.current.element.offsetWidth),Object.freeze(N),m.current&&!l9(c.current.lastBounds,N)&&o(c.current.lastBounds=N)};return[A,d?x2(A,d):A,f?x2(A,f):A]},[o,n,f,d]);function S(){c.current.scrollContainers&&(c.current.scrollContainers.forEach(A=>A.removeEventListener("scroll",_,!0)),c.current.scrollContainers=null),c.current.resizeObserver&&(c.current.resizeObserver.disconnect(),c.current.resizeObserver=null),c.current.orientationHandler&&("orientation"in screen&&"removeEventListener"in screen.orientation?screen.orientation.removeEventListener("change",c.current.orientationHandler):"onorientationchange"in window&&window.removeEventListener("orientationchange",c.current.orientationHandler))}function M(){c.current.element&&(c.current.resizeObserver=new i(_),c.current.resizeObserver.observe(c.current.element),e&&c.current.scrollContainers&&c.current.scrollContainers.forEach(A=>A.addEventListener("scroll",_,{capture:!0,passive:!0})),c.current.orientationHandler=()=>{_()},"orientation"in screen&&"addEventListener"in screen.orientation?screen.orientation.addEventListener("change",c.current.orientationHandler):"onorientationchange"in window&&window.addEventListener("orientationchange",c.current.orientationHandler))}const b=A=>{!A||A===c.current.element||(S(),c.current.element=A,c.current.scrollContainers=vN(A),M())};return a9(_,!!e),s9(y),$.useEffect(()=>{S(),M()},[e,_,y]),$.useEffect(()=>S,[]),[b,s,g]}function s9(r){$.useEffect(()=>{const e=r;return window.addEventListener("resize",e),()=>void window.removeEventListener("resize",e)},[r])}function a9(r,e){$.useEffect(()=>{if(e){const t=r;return window.addEventListener("scroll",t,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",t,!0)}},[r,e])}function vN(r){const e=[];if(!r||r===document.body)return e;const{overflow:t,overflowX:n,overflowY:i}=window.getComputedStyle(r);return[t,n,i].some(s=>s==="auto"||s==="scroll")&&e.push(r),[...e,...vN(r.parentElement)]}const o9=["x","y","top","bottom","left","right","width","height"],l9=(r,e)=>o9.every(t=>r[t]===e[t]);function c9({ref:r,children:e,fallback:t,resize:n,style:i,gl:s,events:o=i9,eventSource:c,eventPrefix:f,shadows:d,linear:m,flat:g,legacy:y,orthographic:_,frameloop:S,dpr:M,performance:b,raycaster:A,camera:w,scene:D,onPointerMissed:B,onCreated:I,...O}){$.useMemo(()=>X5(J8),[]);const U=b5(),[z,P]=r9({scroll:!0,debounce:{scroll:50,resize:0},...n}),N=$.useRef(null),G=$.useRef(null);$.useImperativeHandle(r,()=>N.current);const X=sN(B),[Q,te]=$.useState(!1),[le,k]=$.useState(!1);if(Q)throw Q;if(le)throw le;const W=$.useRef(null);Qv(()=>{const pe=N.current;if(P.width>0&&P.height>0&&pe){W.current||(W.current=Z5(pe));async function H(){await W.current.configure({gl:s,scene:D,events:o,shadows:d,linear:m,flat:g,legacy:y,orthographic:_,frameloop:S,dpr:M,performance:b,raycaster:A,camera:w,size:P,onPointerMissed:(...re)=>X.current==null?void 0:X.current(...re),onCreated:re=>{re.events.connect==null||re.events.connect(c?S5(c)?c.current:c:G.current),f&&re.setEvents({compute:(ye,Ae)=>{const Te=ye[f+"X"],he=ye[f+"Y"];Ae.pointer.set(Te/Ae.size.width*2-1,-(he/Ae.size.height)*2+1),Ae.raycaster.setFromCamera(Ae.pointer,Ae.camera)}}),I?.(re)}}),W.current.render(K.jsx(U,{children:K.jsx(E5,{set:k,children:K.jsx($.Suspense,{fallback:K.jsx(M5,{set:te}),children:e??null})})}))}H()}}),$.useEffect(()=>{const pe=N.current;if(pe)return()=>mN(pe)},[]);const ee=c?"none":"auto";return K.jsx("div",{ref:G,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:ee,...i},...O,children:K.jsx("div",{ref:z,style:{width:"100%",height:"100%"},children:K.jsx("canvas",{ref:N,style:{display:"block"},children:t})})})}function u9(r){return K.jsx(tN,{children:K.jsx(c9,{...r})})}const f9=r=>r;function h9(r,e=f9){const t=P0.useSyncExternalStore(r.subscribe,P0.useCallback(()=>e(r.getState()),[r,e]),P0.useCallback(()=>e(r.getInitialState()),[r,e]));return P0.useDebugValue(t),t}const S2=r=>{const e=KO(r),t=n=>h9(e,n);return Object.assign(t,e),t},d9=r=>r?S2(r):S2;let w0=0;const p9=d9(r=>(om.onStart=(e,t,n)=>{r({active:!0,item:e,loaded:t,total:n,progress:(t-w0)/(n-w0)*100})},om.onLoad=()=>{r({active:!1})},om.onError=e=>r(t=>({errors:[...t.errors,e]})),om.onProgress=(e,t,n)=>{t===n&&(w0=n),r({active:!0,item:e,loaded:t,total:n,progress:(t-w0)/(n-w0)*100||100})},{errors:[],active:!1,progress:0,item:"",loaded:0,total:0})),m9=parseInt(Fv.replace(/\D+/g,""));function A2(r,e){if(e===ND)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),r;if(e===rA||e===eT){let t=r.getIndex();if(t===null){const o=[],c=r.getAttribute("position");if(c!==void 0){for(let f=0;f<c.count;f++)o.push(f);r.setIndex(o),t=r.getIndex()}else return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),r}const n=t.count-2,i=[];if(t)if(e===rA)for(let o=1;o<=n;o++)i.push(t.getX(0)),i.push(t.getX(o)),i.push(t.getX(o+1));else for(let o=0;o<n;o++)o%2===0?(i.push(t.getX(o)),i.push(t.getX(o+1)),i.push(t.getX(o+2))):(i.push(t.getX(o+2)),i.push(t.getX(o+1)),i.push(t.getX(o)));i.length/3!==n&&console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");const s=r.clone();return s.setIndex(i),s.clearGroups(),s}else return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:",e),r}function dA(r){if(typeof TextDecoder<"u")return new TextDecoder().decode(r);let e="";for(let t=0,n=r.length;t<n;t++)e+=String.fromCharCode(r[t]);try{return decodeURIComponent(escape(e))}catch{return e}}const nd="srgb",eu="srgb-linear",b2=3001,g9=3e3;class FT extends Ms{constructor(e){super(e),this.dracoLoader=null,this.ktx2Loader=null,this.meshoptDecoder=null,this.pluginCallbacks=[],this.register(function(t){return new S9(t)}),this.register(function(t){return new A9(t)}),this.register(function(t){return new D9(t)}),this.register(function(t){return new O9(t)}),this.register(function(t){return new N9(t)}),this.register(function(t){return new M9(t)}),this.register(function(t){return new E9(t)}),this.register(function(t){return new T9(t)}),this.register(function(t){return new C9(t)}),this.register(function(t){return new x9(t)}),this.register(function(t){return new w9(t)}),this.register(function(t){return new b9(t)}),this.register(function(t){return new B9(t)}),this.register(function(t){return new R9(t)}),this.register(function(t){return new y9(t)}),this.register(function(t){return new L9(t)}),this.register(function(t){return new U9(t)})}load(e,t,n,i){const s=this;let o;if(this.resourcePath!=="")o=this.resourcePath;else if(this.path!==""){const d=xf.extractUrlBase(e);o=xf.resolveURL(d,this.path)}else o=xf.extractUrlBase(e);this.manager.itemStart(e);const c=function(d){i?i(d):console.error(d),s.manager.itemError(e),s.manager.itemEnd(e)},f=new Ka(this.manager);f.setPath(this.path),f.setResponseType("arraybuffer"),f.setRequestHeader(this.requestHeader),f.setWithCredentials(this.withCredentials),f.load(e,function(d){try{s.parse(d,o,function(m){t(m),s.manager.itemEnd(e)},c)}catch(m){c(m)}},n,c)}setDRACOLoader(e){return this.dracoLoader=e,this}setDDSLoader(){throw new 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 this.pluginCallbacks.indexOf(e)===-1&&this.pluginCallbacks.push(e),this}unregister(e){return this.pluginCallbacks.indexOf(e)!==-1&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(e),1),this}parse(e,t,n,i){let s;const o={},c={};if(typeof e=="string")s=JSON.parse(e);else if(e instanceof ArrayBuffer)if(dA(new Uint8Array(e.slice(0,4)))===yN){try{o[Rn.KHR_BINARY_GLTF]=new I9(e)}catch(m){i&&i(m);return}s=JSON.parse(o[Rn.KHR_BINARY_GLTF].content)}else s=JSON.parse(dA(new Uint8Array(e)));else s=e;if(s.asset===void 0||s.asset.version[0]<2){i&&i(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));return}const f=new J9(s,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});f.fileLoader.setRequestHeader(this.requestHeader);for(let d=0;d<this.pluginCallbacks.length;d++){const m=this.pluginCallbacks[d](f);m.name||console.error("THREE.GLTFLoader: Invalid plugin found: missing name"),c[m.name]=m,o[m.name]=!0}if(s.extensionsUsed)for(let d=0;d<s.extensionsUsed.length;++d){const m=s.extensionsUsed[d],g=s.extensionsRequired||[];switch(m){case Rn.KHR_MATERIALS_UNLIT:o[m]=new _9;break;case Rn.KHR_DRACO_MESH_COMPRESSION:o[m]=new P9(s,this.dracoLoader);break;case Rn.KHR_TEXTURE_TRANSFORM:o[m]=new H9;break;
vendor: 10,545 bytes, line 3939
3939case Rn.KHR_MESH_QUANTIZATION:o[m]=new z9;break;default:g.indexOf(m)>=0&&c[m]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+m+'".')}}f.setExtensions(o),f.setPlugins(c),f.parse(n,i)}parseAsync(e,t){const n=this;return new Promise(function(i,s){n.parse(e,t,i,s)})}}function v9(){let r={};return{get:function(e){return r[e]},add:function(e,t){r[e]=t},remove:function(e){delete r[e]},removeAll:function(){r={}}}}const Rn={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 y9{constructor(e){this.parser=e,this.name=Rn.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const e=this.parser,t=this.parser.json.nodes||[];for(let n=0,i=t.length;n<i;n++){const s=t[n];s.extensions&&s.extensions[this.name]&&s.extensions[this.name].light!==void 0&&e._addNodeRef(this.cache,s.extensions[this.name].light)}}_loadLight(e){const t=this.parser,n="light:"+e;let i=t.cache.get(n);if(i)return i;const s=t.json,f=((s.extensions&&s.extensions[this.name]||{}).lights||[])[e];let d;const m=new dt(16777215);f.color!==void 0&&m.setRGB(f.color[0],f.color[1],f.color[2],eu);const g=f.range!==void 0?f.range:0;switch(f.type){case"directional":d=new RT(m),d.target.position.set(0,0,-1),d.add(d.target);break;case"point":d=new wT(m),d.distance=g;break;case"spot":d=new CT(m),d.distance=g,f.spot=f.spot||{},f.spot.innerConeAngle=f.spot.innerConeAngle!==void 0?f.spot.innerConeAngle:0,f.spot.outerConeAngle=f.spot.outerConeAngle!==void 0?f.spot.outerConeAngle:Math.PI/4,d.angle=f.spot.outerConeAngle,d.penumbra=1-f.spot.innerConeAngle/f.spot.outerConeAngle,d.target.position.set(0,0,-1),d.add(d.target);break;default:throw new Error("THREE.GLTFLoader: Unexpected light type: "+f.type)}return d.position.set(0,0,0),d.decay=2,Xc(d,f),f.intensity!==void 0&&(d.intensity=f.intensity),d.name=t.createUniqueName(f.name||"light_"+e),i=Promise.resolve(d),t.cache.add(n,i),i}getDependency(e,t){if(e==="light")return this._loadLight(t)}createNodeAttachment(e){const t=this,n=this.parser,s=n.json.nodes[e],c=(s.extensions&&s.extensions[this.name]||{}).light;return c===void 0?null:this._loadLight(c).then(function(f){return n._getNodeRef(t.cache,c,f)})}}class _9{constructor(){this.name=Rn.KHR_MATERIALS_UNLIT}getMaterialType(){return Ya}extendParams(e,t,n){const i=[];e.color=new dt(1,1,1),e.opacity=1;const s=t.pbrMetallicRoughness;if(s){if(Array.isArray(s.baseColorFactor)){const o=s.baseColorFactor;e.color.setRGB(o[0],o[1],o[2],eu),e.opacity=o[3]}s.baseColorTexture!==void 0&&i.push(n.assignTexture(e,"map",s.baseColorTexture,nd))}return Promise.all(i)}}class x9{constructor(e){this.parser=e,this.name=Rn.KHR_MATERIALS_EMISSIVE_STRENGTH}extendMaterialParams(e,t){const i=this.parser.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const s=i.extensions[this.name].emissiveStrength;return s!==void 0&&(t.emissiveIntensity=s),Promise.resolve()}}class S9{constructor(e){this.parser=e,this.name=Rn.KHR_MATERIALS_CLEARCOAT}getMaterialType(e){const n=this.parser.json.materials[e];return!n.extensions||!n.extensions[this.name]?null:Bo}extendMaterialParams(e,t){const n=this.parser,i=n.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const s=[],o=i.extensions[this.name];if(o.clearcoatFactor!==void 0&&(t.clearcoat=o.clearcoatFactor),o.clearcoatTexture!==void 0&&s.push(n.assignTexture(t,"clearcoatMap",o.clearcoatTexture)),o.clearcoatRoughnessFactor!==void 0&&(t.clearcoatRoughness=o.clearcoatRoughnessFactor),o.clearcoatRoughnessTexture!==void 0&&s.push(n.assignTexture(t,"clearcoatRoughnessMap",o.clearcoatRoughnessTexture)),o.clearcoatNormalTexture!==void 0&&(s.push(n.assignTexture(t,"clearcoatNormalMap",o.clearcoatNormalTexture)),o.clearcoatNormalTexture.scale!==void 0)){const c=o.clearcoatNormalTexture.scale;t.clearcoatNormalScale=new qe(c,c)}return Promise.all(s)}}class A9{constructor(e){this.parser=e,this.name=Rn.KHR_MATERIALS_DISPERSION}getMaterialType(e){const n=this.parser.json.materials[e];return!n.extensions||!n.extensions[this.name]?null:Bo}extendMaterialParams(e,t){const i=this.parser.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const s=i.extensions[this.name];return t.dispersion=s.dispersion!==void 0?s.dispersion:0,Promise.resolve()}}class b9{constructor(e){this.parser=e,this.name=Rn.KHR_MATERIALS_IRIDESCENCE}getMaterialType(e){const n=this.parser.json.materials[e];return!n.extensions||!n.extensions[this.name]?null:Bo}extendMaterialParams(e,t){const n=this.parser,i=n.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const s=[],o=i.extensions[this.name];return o.iridescenceFactor!==void 0&&(t.iridescence=o.iridescenceFactor),o.iridescenceTexture!==void 0&&s.push(n.assignTexture(t,"iridescenceMap",o.iridescenceTexture)),o.iridescenceIor!==void 0&&(t.iridescenceIOR=o.iridescenceIor),t.iridescenceThicknessRange===void 0&&(t.iridescenceThicknessRange=[100,400]),o.iridescenceThicknessMinimum!==void 0&&(t.iridescenceThicknessRange[0]=o.iridescenceThicknessMinimum),o.iridescenceThicknessMaximum!==void 0&&(t.iridescenceThicknessRange[1]=o.iridescenceThicknessMaximum),o.iridescenceThicknessTexture!==void 0&&s.push(n.assignTexture(t,"iridescenceThicknessMap",o.iridescenceThicknessTexture)),Promise.all(s)}}class M9{constructor(e){this.parser=e,this.name=Rn.KHR_MATERIALS_SHEEN}getMaterialType(e){const n=this.parser.json.materials[e];return!n.extensions||!n.extensions[this.name]?null:Bo}extendMaterialParams(e,t){const n=this.parser,i=n.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const s=[];t.sheenColor=new dt(0,0,0),t.sheenRoughness=0,t.sheen=1;const o=i.extensions[this.name];if(o.sheenColorFactor!==void 0){const c=o.sheenColorFactor;t.sheenColor.setRGB(c[0],c[1],c[2],eu)}return o.sheenRoughnessFactor!==void 0&&(t.sheenRoughness=o.sheenRoughnessFactor),o.sheenColorTexture!==void 0&&s.push(n.assignTexture(t,"sheenColorMap",o.sheenColorTexture,nd)),o.sheenRoughnessTexture!==void 0&&s.push(n.assignTexture(t,"sheenRoughnessMap",o.sheenRoughnessTexture)),Promise.all(s)}}class E9{constructor(e){this.parser=e,this.name=Rn.KHR_MATERIALS_TRANSMISSION}getMaterialType(e){const n=this.parser.json.materials[e];return!n.extensions||!n.extensions[this.name]?null:Bo}extendMaterialParams(e,t){const n=this.parser,i=n.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const s=[],o=i.extensions[this.name];return o.transmissionFactor!==void 0&&(t.transmission=o.transmissionFactor),o.transmissionTexture!==void 0&&s.push(n.assignTexture(t,"transmissionMap",o.transmissionTexture)),Promise.all(s)}}class T9{constructor(e){this.parser=e,this.name=Rn.KHR_MATERIALS_VOLUME}getMaterialType(e){const n=this.parser.json.materials[e];return!n.extensions||!n.extensions[this.name]?null:Bo}extendMaterialParams(e,t){const n=this.parser,i=n.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const s=[],o=i.extensions[this.name];t.thickness=o.thicknessFactor!==void 0?o.thicknessFactor:0,o.thicknessTexture!==void 0&&s.push(n.assignTexture(t,"thicknessMap",o.thicknessTexture)),t.attenuationDistance=o.attenuationDistance||1/0;const c=o.attenuationColor||[1,1,1];return t.attenuationColor=new dt().setRGB(c[0],c[1],c[2],eu),Promise.all(s)}}class C9{constructor(e){this.parser=e,this.name=Rn.KHR_MATERIALS_IOR}getMaterialType(e){const n=this.parser.json.materials[e];return!n.extensions||!n.extensions[this.name]?null:Bo}extendMaterialParams(e,t){const i=this.parser.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const s=i.extensions[this.name];return t.ior=s.ior!==void 0?s.ior:1.5,Promise.resolve()}}class w9{constructor(e){this.parser=e,this.name=Rn.KHR_MATERIALS_SPECULAR}getMaterialType(e){const n=this.parser.json.materials[e];return!n.extensions||!n.extensions[this.name]?null:Bo}extendMaterialParams(e,t){const n=this.parser,i=n.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const s=[],o=i.extensions[this.name];t.specularIntensity=o.specularFactor!==void 0?o.specularFactor:1,o.specularTexture!==void 0&&s.push(n.assignTexture(t,"specularIntensityMap",o.specularTexture));const c=o.specularColorFactor||[1,1,1];return t.specularColor=new dt().setRGB(c[0],c[1],c[2],eu),o.specularColorTexture!==void 0&&s.push(n.assignTexture(t,"specularColorMap",o.specularColorTexture,nd)),Promise.all(s)}}class R9{constructor(e){this.parser=e,this.name=Rn.EXT_MATERIALS_BUMP}getMaterialType(e){const n=this.parser.json.materials[e];return!n.extensions||!n.extensions[this.name]?null:Bo}extendMaterialParams(e,t){const n=this.parser,i=n.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const s=[],o=i.extensions[this.name];return t.bumpScale=o.bumpFactor!==void 0?o.bumpFactor:1,o.bumpTexture!==void 0&&s.push(n.assignTexture(t,"bumpMap",o.bumpTexture)),Promise.all(s)}}class B9{constructor(e){this.parser=e,this.name=Rn.KHR_MATERIALS_ANISOTROPY}getMaterialType(e){const n=this.parser.json.materials[e];return!n.extensions||!n.extensions[this.name]?null:Bo}extendMaterialParams(e,t){const n=this.parser,i=n.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const s=[],o=i.extensions[this.name];return o.anisotropyStrength!==void 0&&(t.anisotropy=o.anisotropyStrength),o.anisotropyRotation!==void 0&&(t.anisotropyRotation=o.anisotropyRotation),o.anisotropyTexture!==void 0&&s.push(n.assignTexture(t,"anisotropyMap",o.anisotropyTexture)),Promise.all(s)}}
vendor: 36,778 bytes, lines 3939-3940
3939class D9{constructor(e){this.parser=e,this.name=Rn.KHR_TEXTURE_BASISU}loadTexture(e){const t=this.parser,n=t.json,i=n.textures[e];if(!i.extensions||!i.extensions[this.name])return null;const s=i.extensions[this.name],o=t.options.ktx2Loader;if(!o){if(n.extensionsRequired&&n.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return t.loadTextureImage(e,s.source,o)}}class O9{constructor(e){this.parser=e,this.name=Rn.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){const t=this.name,n=this.parser,i=n.json,s=i.textures[e];if(!s.extensions||!s.extensions[t])return null;const o=s.extensions[t],c=i.images[o.source];let f=n.textureLoader;if(c.uri){const d=n.options.manager.getHandler(c.uri);d!==null&&(f=d)}return this.detectSupport().then(function(d){if(d)return n.loadTextureImage(e,o.source,f);if(i.extensionsRequired&&i.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return n.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class N9{constructor(e){this.parser=e,this.name=Rn.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){const t=this.name,n=this.parser,i=n.json,s=i.textures[e];if(!s.extensions||!s.extensions[t])return null;const o=s.extensions[t],c=i.images[o.source];let f=n.textureLoader;if(c.uri){const d=n.options.manager.getHandler(c.uri);d!==null&&(f=d)}return this.detectSupport().then(function(d){if(d)return n.loadTextureImage(e,o.source,f);if(i.extensionsRequired&&i.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return n.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class L9{constructor(e){this.name=Rn.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){const t=this.parser.json,n=t.bufferViews[e];if(n.extensions&&n.extensions[this.name]){const i=n.extensions[this.name],s=this.parser.getDependency("buffer",i.buffer),o=this.parser.options.meshoptDecoder;if(!o||!o.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return s.then(function(c){const f=i.byteOffset||0,d=i.byteLength||0,m=i.count,g=i.byteStride,y=new Uint8Array(c,f,d);return o.decodeGltfBufferAsync?o.decodeGltfBufferAsync(m,g,y,i.mode,i.filter).then(function(_){return _.buffer}):o.ready.then(function(){const _=new ArrayBuffer(m*g);return o.decodeGltfBuffer(new Uint8Array(_),m,g,y,i.mode,i.filter),_})})}else return null}}class U9{constructor(e){this.name=Rn.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){const t=this.parser.json,n=t.nodes[e];if(!n.extensions||!n.extensions[this.name]||n.mesh===void 0)return null;const i=t.meshes[n.mesh];for(const d of i.primitives)if(d.mode!==xo.TRIANGLES&&d.mode!==xo.TRIANGLE_STRIP&&d.mode!==xo.TRIANGLE_FAN&&d.mode!==void 0)return null;const o=n.extensions[this.name].attributes,c=[],f={};for(const d in o)c.push(this.parser.getDependency("accessor",o[d]).then(m=>(f[d]=m,f[d])));return c.length<1?null:(c.push(this.parser.createNodeMesh(e)),Promise.all(c).then(d=>{const m=d.pop(),g=m.isGroup?m.children:[m],y=d[0].count,_=[];for(const S of g){const M=new Yt,b=new Z,A=new Ss,w=new Z(1,1,1),D=new uT(S.geometry,S.material,y);for(let B=0;B<y;B++)f.TRANSLATION&&b.fromBufferAttribute(f.TRANSLATION,B),f.ROTATION&&A.fromBufferAttribute(f.ROTATION,B),f.SCALE&&w.fromBufferAttribute(f.SCALE,B),D.setMatrixAt(B,M.compose(b,A,w));for(const B in f)if(B==="_COLOR_0"){const I=f[B];D.instanceColor=new gd(I.array,I.itemSize,I.normalized)}else B!=="TRANSLATION"&&B!=="ROTATION"&&B!=="SCALE"&&S.geometry.setAttribute(B,f[B]);Pn.prototype.copy.call(D,S),this.parser.assignFinalMaterial(D),_.push(D)}return m.isGroup?(m.clear(),m.add(..._),m):_[0]}))}}const yN="glTF",R0=12,M2={JSON:1313821514,BIN:5130562};class I9{constructor(e){this.name=Rn.KHR_BINARY_GLTF,this.content=null,this.body=null;const t=new DataView(e,0,R0);if(this.header={magic:dA(new Uint8Array(e.slice(0,4))),version:t.getUint32(4,!0),length:t.getUint32(8,!0)},this.header.magic!==yN)throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");if(this.header.version<2)throw new Error("THREE.GLTFLoader: Legacy binary file detected.");const n=this.header.length-R0,i=new DataView(e,R0);let s=0;for(;s<n;){const o=i.getUint32(s,!0);s+=4;const c=i.getUint32(s,!0);if(s+=4,c===M2.JSON){const f=new Uint8Array(e,R0+s,o);this.content=dA(f)}else if(c===M2.BIN){const f=R0+s;this.body=e.slice(f,f+o)}s+=o}if(this.content===null)throw new Error("THREE.GLTFLoader: JSON content not found.")}}class P9{constructor(e,t){if(!t)throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");this.name=Rn.KHR_DRACO_MESH_COMPRESSION,this.json=e,this.dracoLoader=t,this.dracoLoader.preload()}decodePrimitive(e,t){const n=this.json,i=this.dracoLoader,s=e.extensions[this.name].bufferView,o=e.extensions[this.name].attributes,c={},f={},d={};for(const m in o){const g=uE[m]||m.toLowerCase();c[g]=o[m]}for(const m in e.attributes){const g=uE[m]||m.toLowerCase();if(o[m]!==void 0){const y=n.accessors[e.attributes[m]],_=mm[y.componentType];d[g]=_.name,f[g]=y.normalized===!0}}return t.getDependency("bufferView",s).then(function(m){return new Promise(function(g,y){i.decodeDracoFile(m,function(_){for(const S in _.attributes){const M=_.attributes[S],b=f[S];b!==void 0&&(M.normalized=b)}g(_)},c,d,eu,y)})})}}class H9{constructor(){this.name=Rn.KHR_TEXTURE_TRANSFORM}extendTexture(e,t){return(t.texCoord===void 0||t.texCoord===e.channel)&&t.offset===void 0&&t.rotation===void 0&&t.scale===void 0||(e=e.clone(),t.texCoord!==void 0&&(e.channel=t.texCoord),t.offset!==void 0&&e.offset.fromArray(t.offset),t.rotation!==void 0&&(e.rotation=t.rotation),t.scale!==void 0&&e.repeat.fromArray(t.scale),e.needsUpdate=!0),e}}class z9{constructor(){this.name=Rn.KHR_MESH_QUANTIZATION}}class _N extends Jm{constructor(e,t,n,i){super(e,t,n,i)}copySampleValue_(e){const t=this.resultBuffer,n=this.sampleValues,i=this.valueSize,s=e*i*3+i;for(let o=0;o!==i;o++)t[o]=n[s+o];return t}interpolate_(e,t,n,i){const s=this.resultBuffer,o=this.sampleValues,c=this.valueSize,f=c*2,d=c*3,m=i-t,g=(n-t)/m,y=g*g,_=y*g,S=e*d,M=S-d,b=-2*_+3*y,A=_-y,w=1-b,D=A-y+g;for(let B=0;B!==c;B++){const I=o[M+B+c],O=o[M+B+f]*m,U=o[S+B+c],z=o[S+B]*m;s[B]=w*I+D*O+b*U+A*z}return s}}const F9=new Ss;class G9 extends _N{interpolate_(e,t,n,i){const s=super.interpolate_(e,t,n,i);return F9.fromArray(s).normalize().toArray(s),s}}const xo={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},mm={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},E2={9728:Gr,9729:tr,9984:BA,9985:hm,9986:Qh,9987:bo},T2={33071:ka,33648:Am,10497:Ef},h1={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},uE={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",...m9>=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"},cf={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},V9={CUBICSPLINE:void 0,LINEAR:wm,STEP:Cm},d1={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function k9(r){return r.DefaultMaterial===void 0&&(r.DefaultMaterial=new Kv({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:rc})),r.DefaultMaterial}function Vh(r,e,t){for(const n in t.extensions)r[n]===void 0&&(e.userData.gltfExtensions=e.userData.gltfExtensions||{},e.userData.gltfExtensions[n]=t.extensions[n])}function Xc(r,e){e.extras!==void 0&&(typeof e.extras=="object"?Object.assign(r.userData,e.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+e.extras))}function X9(r,e,t){let n=!1,i=!1,s=!1;for(let d=0,m=e.length;d<m;d++){const g=e[d];if(g.POSITION!==void 0&&(n=!0),g.NORMAL!==void 0&&(i=!0),g.COLOR_0!==void 0&&(s=!0),n&&i&&s)break}if(!n&&!i&&!s)return Promise.resolve(r);const o=[],c=[],f=[];for(let d=0,m=e.length;d<m;d++){const g=e[d];if(n){const y=g.POSITION!==void 0?t.getDependency("accessor",g.POSITION):r.attributes.position;o.push(y)}if(i){const y=g.NORMAL!==void 0?t.getDependency("accessor",g.NORMAL):r.attributes.normal;c.push(y)}if(s){const y=g.COLOR_0!==void 0?t.getDependency("accessor",g.COLOR_0):r.attributes.color;f.push(y)}}return Promise.all([Promise.all(o),Promise.all(c),Promise.all(f)]).then(function(d){const m=d[0],g=d[1],y=d[2];return n&&(r.morphAttributes.position=m),i&&(r.morphAttributes.normal=g),s&&(r.morphAttributes.color=y),r.morphTargetsRelative=!0,r})}function Y9(r,e){if(r.updateMorphTargets(),e.weights!==void 0)for(let t=0,n=e.weights.length;t<n;t++)r.morphTargetInfluences[t]=e.weights[t];if(e.extras&&Array.isArray(e.extras.targetNames)){const t=e.extras.targetNames;if(r.morphTargetInfluences.length===t.length){r.morphTargetDictionary={};for(let n=0,i=t.length;n<i;n++)r.morphTargetDictionary[t[n]]=n}else console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.")}}function j9(r){let e;const t=r.extensions&&r.extensions[Rn.KHR_DRACO_MESH_COMPRESSION];if(t?e="draco:"+t.bufferView+":"+t.indices+":"+p1(t.attributes):e=r.indices+":"+p1(r.attributes)+":"+r.mode,r.targets!==void 0)for(let n=0,i=r.targets.length;n<i;n++)e+=":"+p1(r.targets[n]);return e}function p1(r){let e="";const t=Object.keys(r).sort();for(let n=0,i=t.length;n<i;n++)e+=t[n]+":"+r[t[n]]+";";return e}function fE(r){switch(r){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.")}}function q9(r){return r.search(/\.jpe?g($|\?)/i)>0||r.search(/^data\:image\/jpeg/)===0?"image/jpeg":r.search(/\.webp($|\?)/i)>0||r.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const W9=new Yt;class J9{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new v9,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let n=!1,i=!1,s=-1;typeof navigator<"u"&&typeof navigator.userAgent<"u"&&(n=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,i=navigator.userAgent.indexOf("Firefox")>-1,s=i?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap>"u"||n||i&&s<98?this.textureLoader=new CO(this.options.manager):this.textureLoader=new UO(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new Ka(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){const n=this,i=this.json,s=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(o){return o._markDefs&&o._markDefs()}),Promise.all(this._invokeAll(function(o){return o.beforeRoot&&o.beforeRoot()})).then(function(){return Promise.all([n.getDependencies("scene"),n.getDependencies("animation"),n.getDependencies("camera")])}).then(function(o){const c={scene:o[0][i.scene||0],scenes:o[0],animations:o[1],cameras:o[2],asset:i.asset,parser:n,userData:{}};return Vh(s,c,i),Xc(c,i),Promise.all(n._invokeAll(function(f){return f.afterRoot&&f.afterRoot(c)})).then(function(){for(const f of c.scenes)f.updateMatrixWorld();e(c)})}).catch(t)}_markDefs(){const e=this.json.nodes||[],t=this.json.skins||[],n=this.json.meshes||[];for(let i=0,s=t.length;i<s;i++){const o=t[i].joints;for(let c=0,f=o.length;c<f;c++)e[o[c]].isBone=!0}for(let i=0,s=e.length;i<s;i++){const o=e[i];o.mesh!==void 0&&(this._addNodeRef(this.meshCache,o.mesh),o.skin!==void 0&&(n[o.mesh].isSkinnedMesh=!0)),o.camera!==void 0&&this._addNodeRef(this.cameraCache,o.camera)}}_addNodeRef(e,t){t!==void 0&&(e.refs[t]===void 0&&(e.refs[t]=e.uses[t]=0),e.refs[t]++)}_getNodeRef(e,t,n){if(e.refs[t]<=1)return n;const i=n.clone(),s=(o,c)=>{const f=this.associations.get(o);f!=null&&this.associations.set(c,f);for(const[d,m]of o.children.entries())s(m,c.children[d])};return s(n,i),i.name+="_instance_"+e.uses[t]++,i}_invokeOne(e){const t=Object.values(this.plugins);t.push(this);for(let n=0;n<t.length;n++){const i=e(t[n]);if(i)return i}return null}_invokeAll(e){const t=Object.values(this.plugins);t.unshift(this);const n=[];for(let i=0;i<t.length;i++){const s=e(t[i]);s&&n.push(s)}return n}getDependency(e,t){const n=e+":"+t;let i=this.cache.get(n);if(!i){switch(e){case"scene":i=this.loadScene(t);break;case"node":i=this._invokeOne(function(s){return s.loadNode&&s.loadNode(t)});break;case"mesh":i=this._invokeOne(function(s){return s.loadMesh&&s.loadMesh(t)});break;case"accessor":i=this.loadAccessor(t);break;case"bufferView":i=this._invokeOne(function(s){return s.loadBufferView&&s.loadBufferView(t)});break;case"buffer":i=this.loadBuffer(t);break;case"material":i=this._invokeOne(function(s){return s.loadMaterial&&s.loadMaterial(t)});break;case"texture":i=this._invokeOne(function(s){return s.loadTexture&&s.loadTexture(t)});break;case"skin":i=this.loadSkin(t);break;case"animation":i=this._invokeOne(function(s){return s.loadAnimation&&s.loadAnimation(t)});break;case"camera":i=this.loadCamera(t);break;default:if(i=this._invokeOne(function(s){return s!=this&&s.getDependency&&s.getDependency(e,t)}),!i)throw new Error("Unknown type: "+e);break}this.cache.add(n,i)}return i}getDependencies(e){let t=this.cache.get(e);if(!t){const n=this,i=this.json[e+(e==="mesh"?"es":"s")]||[];t=Promise.all(i.map(function(s,o){return n.getDependency(e,o)})),this.cache.add(e,t)}return t}loadBuffer(e){const t=this.json.buffers[e],n=this.fileLoader;if(t.type&&t.type!=="arraybuffer")throw new Error("THREE.GLTFLoader: "+t.type+" buffer type is not supported.");if(t.uri===void 0&&e===0)return Promise.resolve(this.extensions[Rn.KHR_BINARY_GLTF].body);const i=this.options;return new Promise(function(s,o){n.load(xf.resolveURL(t.uri,i.path),s,void 0,function(){o(new Error('THREE.GLTFLoader: Failed to load buffer "'+t.uri+'".'))})})}loadBufferView(e){const t=this.json.bufferViews[e];return this.getDependency("buffer",t.buffer).then(function(n){const i=t.byteLength||0,s=t.byteOffset||0;return n.slice(s,s+i)})}loadAccessor(e){const t=this,n=this.json,i=this.json.accessors[e];if(i.bufferView===void 0&&i.sparse===void 0){const o=h1[i.type],c=mm[i.componentType],f=i.normalized===!0,d=new c(i.count*o);return Promise.resolve(new Vn(d,o,f))}const s=[];return i.bufferView!==void 0?s.push(this.getDependency("bufferView",i.bufferView)):s.push(null),i.sparse!==void 0&&(s.push(this.getDependency("bufferView",i.sparse.indices.bufferView)),s.push(this.getDependency("bufferView",i.sparse.values.bufferView))),Promise.all(s).then(function(o){const c=o[0],f=h1[i.type],d=mm[i.componentType],m=d.BYTES_PER_ELEMENT,g=m*f,y=i.byteOffset||0,_=i.bufferView!==void 0?n.bufferViews[i.bufferView].byteStride:void 0,S=i.normalized===!0;let M,b;if(_&&_!==g){const A=Math.floor(y/_),w="InterleavedBuffer:"+i.bufferView+":"+i.componentType+":"+A+":"+i.count;let D=t.cache.get(w);D||(M=new d(c,A*_,i.count*_/m),D=new Xv(M,_/m),t.cache.add(w,D)),b=new Cf(D,f,y%_/m,S)}else c===null?M=new d(i.count*f):M=new d(c,y,i.count*f),b=new Vn(M,f,S);if(i.sparse!==void 0){const A=h1.SCALAR,w=mm[i.sparse.indices.componentType],D=i.sparse.indices.byteOffset||0,B=i.sparse.values.byteOffset||0,I=new w(o[1],D,i.sparse.count*A),O=new d(o[2],B,i.sparse.count*f);c!==null&&(b=new Vn(b.array.slice(),b.itemSize,b.normalized));for(let U=0,z=I.length;U<z;U++){const P=I[U];if(b.setX(P,O[U*f]),f>=2&&b.setY(P,O[U*f+1]),f>=3&&b.setZ(P,O[U*f+2]),f>=4&&b.setW(P,O[U*f+3]),f>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return b})}loadTexture(e){const t=this.json,n=this.options,s=t.textures[e].source,o=t.images[s];let c=this.textureLoader;if(o.uri){const f=n.manager.getHandler(o.uri);f!==null&&(c=f)}return this.loadTextureImage(e,s,c)}loadTextureImage(e,t,n){const i=this,s=this.json,o=s.textures[e],c=s.images[t],f=(c.uri||c.bufferView)+":"+o.sampler;if(this.textureCache[f])return this.textureCache[f];const d=this.loadImageSource(t,n).then(function(m){m.flipY=!1,m.name=o.name||c.name||"",m.name===""&&typeof c.uri=="string"&&c.uri.startsWith("data:image/")===!1&&(m.name=c.uri);const y=(s.samplers||{})[o.sampler]||{};return m.magFilter=E2[y.magFilter]||tr,m.minFilter=E2[y.minFilter]||bo,m.wrapS=T2[y.wrapS]||Ef,m.wrapT=T2[y.wrapT]||Ef,i.associations.set(m,{textures:e}),m}).catch(function(){return null});return this.textureCache[f]=d,d}loadImageSource(e,t){const n=this,i=this.json,s=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(g=>g.clone());const o=i.images[e],c=self.URL||self.webkitURL;let f=o.uri||"",d=!1;if(o.bufferView!==void 0)f=n.getDependency("bufferView",o.bufferView).then(function(g){d=!0;const y=new Blob([g],{type:o.mimeType});return f=c.createObjectURL(y),f});else if(o.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const m=Promise.resolve(f).then(function(g){return new Promise(function(y,_){let S=y;t.isImageBitmapLoader===!0&&(S=function(M){const b=new Bi(M);b.needsUpdate=!0,y(b)}),t.load(xf.resolveURL(g,s.path),S,void 0,_)})}).then(function(g){return d===!0&&c.revokeObjectURL(f),Xc(g,o),g.userData.mimeType=o.mimeType||q9(o.uri),g}).catch(function(g){throw console.error("THREE.GLTFLoader: Couldn't load texture",f),g});return this.sourceCache[e]=m,m}assignTexture(e,t,n,i){const s=this;return this.getDependency("texture",n.index).then(function(o){if(!o)return null;if(n.texCoord!==void 0&&n.texCoord>0&&(o=o.clone(),o.channel=n.texCoord),s.extensions[Rn.KHR_TEXTURE_TRANSFORM]){const c=n.extensions!==void 0?n.extensions[Rn.KHR_TEXTURE_TRANSFORM]:void 0;if(c){const f=s.associations.get(o);o=s.extensions[Rn.KHR_TEXTURE_TRANSFORM].extendTexture(o,c),s.associations.set(o,f)}}return i!==void 0&&(typeof i=="number"&&(i=i===b2?nd:eu),"colorSpace"in o?o.colorSpace=i:o.encoding=i===nd?b2:g9),e[t]=o,o})}assignFinalMaterial(e){const t=e.geometry;let n=e.material;const i=t.attributes.tangent===void 0,s=t.attributes.color!==void 0,o=t.attributes.normal===void 0;if(e.isPoints){const c="PointsMaterial:"+n.uuid;let f=this.cache.get(c);f||(f=new YA,Rr.prototype.copy.call(f,n),f.color.copy(n.color),f.map=n.map,f.sizeAttenuation=!1,this.cache.add(c,f)),n=f}else if(e.isLine){const c="LineBasicMaterial:"+n.uuid;let f=this.cache.get(c);f||(f=new bs,Rr.prototype.copy.call(f,n),f.color.copy(n.color),f.map=n.map,this.cache.add(c,f)),n=f}if(i||s||o){let c="ClonedMaterial:"+n.uuid+":";i&&(c+="derivative-tangents:"),s&&(c+="vertex-colors:"),o&&(c+="flat-shading:");let f=this.cache.get(c);f||(f=n.clone(),s&&(f.vertexColors=!0),o&&(f.flatShading=!0),i&&(f.normalScale&&(f.normalScale.y*=-1),f.clearcoatNormalScale&&(f.clearcoatNormalScale.y*=-1)),this.cache.add(c,f),this.associations.set(f,this.associations.get(n))),n=f}e.material=n}getMaterialType(){return Kv}loadMaterial(e){const t=this,n=this.json,i=this.extensions,s=n.materials[e];let o;const c={},f=s.extensions||{},d=[];if(f[Rn.KHR_MATERIALS_UNLIT]){const g=i[Rn.KHR_MATERIALS_UNLIT];o=g.getMaterialType(),d.push(g.extendParams(c,s,t))}else{const g=s.pbrMetallicRoughness||{};if(c.color=new dt(1,1,1),c.opacity=1,Array.isArray(g.baseColorFactor)){const y=g.baseColorFactor;c.color.setRGB(y[0],y[1],y[2],eu),c.opacity=y[3]}g.baseColorTexture!==void 0&&d.push(t.assignTexture(c,"map",g.baseColorTexture,nd)),c.metalness=g.metallicFactor!==void 0?g.metallicFactor:1,c.roughness=g.roughnessFactor!==void 0?g.roughnessFactor:1,g.metallicRoughnessTexture!==void 0&&(d.push(t.assignTexture(c,"metalnessMap",g.metallicRoughnessTexture)),d.push(t.assignTexture(c,"roughnessMap",g.metallicRoughnessTexture))),o=this._invokeOne(function(y){return y.getMaterialType&&y.getMaterialType(e)}),d.push(Promise.all(this._invokeAll(function(y){return y.extendMaterialParams&&y.extendMaterialParams(e,c)})))}s.doubleSided===!0&&(c.side=ll);const m=s.alphaMode||d1.OPAQUE;if(m===d1.BLEND?(c.transparent=!0,c.depthWrite=!1):(c.transparent=!1,m===d1.MASK&&(c.alphaTest=s.alphaCutoff!==void 0?s.alphaCutoff:.5)),s.normalTexture!==void 0&&o!==Ya&&(d.push(t.assignTexture(c,"normalMap",s.normalTexture)),c.normalScale=new qe(1,1),s.normalTexture.scale!==void 0)){const g=s.normalTexture.scale;c.normalScale.set(g,g)}if(s.occlusionTexture!==void 0&&o!==Ya&&(d.push(t.assignTexture(c,"aoMap",s.occlusionTexture)),s.occlusionTexture.strength!==void 0&&(c.aoMapIntensity=s.occlusionTexture.strength)),s.emissiveFactor!==void 0&&o!==Ya){const g=s.emissiveFactor;c.emissive=new dt().setRGB(g[0],g[1],g[2],eu)}return s.emissiveTexture!==void 0&&o!==Ya&&d.push(t.assignTexture(c,"emissiveMap",s.emissiveTexture,nd)),Promise.all(d).then(function(){const g=new o(c);return s.name&&(g.name=s.name),Xc(g,s),t.associations.set(g,{materials:e}),s.extensions&&Vh(i,g,s),g})}createUniqueName(e){const t=Fn.sanitizeNodeName(e||"");return t in this.nodeNamesUsed?t+"_"+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){const t=this,n=this.extensions,i=this.primitiveCache;function s(c){return n[Rn.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(c,t).then(function(f){return C2(f,c,t)})}const o=[];for(let c=0,f=e.length;c<f;c++){const d=e[c],m=j9(d),g=i[m];if(g)o.push(g.promise);else{let y;d.extensions&&d.extensions[Rn.KHR_DRACO_MESH_COMPRESSION]?y=s(d):y=C2(new ln,d,t),i[m]={primitive:d,promise:y},o.push(y)}}return Promise.all(o)}loadMesh(e){const t=this,n=this.json,i=this.extensions,s=n.meshes[e],o=s.primitives,c=[];for(let f=0,d=o.length;f<d;f++){const m=o[f].material===void 0?k9(this.cache):this.getDependency("material",o[f].material);c.push(m)}return c.push(t.loadGeometries(o)),Promise.all(c).then(function(f){const d=f.slice(0,f.length-1),m=f[f.length-1],g=[];for(let _=0,S=m.length;_<S;_++){const M=m[_],b=o[_];let A;const w=d[_];if(b.mode===xo.TRIANGLES||b.mode===xo.TRIANGLE_STRIP||b.mode===xo.TRIANGLE_FAN||b.mode===void 0)A=s.isSkinnedMesh===!0?new cT(M,w):new nr(M,w),A.isSkinnedMesh===!0&&A.normalizeSkinWeights(),b.mode===xo.TRIANGLE_STRIP?A.geometry=A2(A.geometry,eT):b.mode===xo.TRIANGLE_FAN&&(A.geometry=A2(A.geometry,rA));else if(b.mode===xo.LINES)A=new fl(M,w);else if(b.mode===xo.LINE_STRIP)A=new su(M,w);else if(b.mode===xo.LINE_LOOP)A=new fT(M,w);else if(b.mode===xo.POINTS)A=new hT(M,w);else throw new Error("THREE.GLTFLoader: Primitive mode unsupported: "+b.mode);Object.keys(A.geometry.morphAttributes).length>0&&Y9(A,s),A.name=t.createUniqueName(s.name||"mesh_"+e),Xc(A,s),b.extensions&&Vh(i,A,b),t.assignFinalMaterial(A),g.push(A)}for(let _=0,S=g.length;_<S;_++)t.associations.set(g[_],{meshes:e,primitives:_});if(g.length===1)return s.extensions&&Vh(i,g[0],s),g[0];const y=new Kc;s.extensions&&Vh(i,y,s),t.associations.set(y,{meshes:e});for(let _=0,S=g.length;_<S;_++)y.add(g[_]);return y})}loadCamera(e){let t;const n=this.json.cameras[e],i=n[n.type];if(!i){console.warn("THREE.GLTFLoader: Missing camera parameters.");return}return n.type==="perspective"?t=new wr(iT.radToDeg(i.yfov),i.aspectRatio||1,i.znear||1,i.zfar||2e6):n.type==="orthographic"&&(t=new Km(-i.xmag,i.xmag,i.ymag,-i.ymag,i.znear,i.zfar)),n.name&&(t.name=this.createUniqueName(n.name)),Xc(t,n),Promise.resolve(t)}loadSkin(e){const t=this.json.skins[e],n=[];for(let i=0,s=t.joints.length;i<s;i++)n.push(this._loadNodeShallow(t.joints[i]));return t.inverseBindMatrices!==void 0?n.push(this.getDependency("accessor",t.inverseBindMatrices)):n.push(null),Promise.all(n).then(function(i){const s=i.pop(),o=i,c=[],f=[];for(let d=0,m=o.length;d<m;d++){const g=o[d];if(g){c.push(g);const y=new Yt;s!==null&&y.fromArray(s.array,d*16),f.push(y)}else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.',t.joints[d])}return new Yv(c,f)})}loadAnimation(e){const t=this.json,n=this,i=t.animations[e],s=i.name?i.name:"animation_"+e,o=[],c=[],f=[],d=[],m=[];for(let g=0,y=i.channels.length;g<y;g++){const _=i.channels[g],S=i.samplers[_.sampler],M=_.target,b=M.node,A=i.parameters!==void 0?i.parameters[S.input]:S.input,w=i.parameters!==void 0?i.parameters[S.output]:S.output;M.node!==void 0&&(o.push(this.getDependency("node",b)),c.push(this.getDependency("accessor",A)),f.push(this.getDependency("accessor",w)),d.push(S),m.push(M))}return Promise.all([Promise.all(o),Promise.all(c),Promise.all(f),Promise.all(d),Promise.all(m)]).then(function(g){const y=g[0],_=g[1],S=g[2],M=g[3],b=g[4],A=[];for(let w=0,D=y.length;w<D;w++){const B=y[w],I=_[w],O=S[w],U=M[w],z=b[w];if(B===void 0)continue;B.updateMatrix&&B.updateMatrix();const P=n._createAnimationTracks(B,I,O,U,z);if(P)for(let N=0;N<P.length;N++)A.push(P[N])}return new Lm(s,void 0,A)})}createNodeMesh(e){const t=this.json,n=this,i=t.nodes[e];return i.mesh===void 0?null:n.getDependency("mesh",i.mesh).then(function(s){const o=n._getNodeRef(n.meshCache,i.mesh,s);return i.weights!==void 0&&o.traverse(function(c){if(c.isMesh)for(let f=0,d=i.weights.length;f<d;f++)c.morphTargetInfluences[f]=i.weights[f]}),o})}loadNode(e){const t=this.json,n=this,i=t.nodes[e],s=n._loadNodeShallow(e),o=[],c=i.children||[];for(let d=0,m=c.length;d<m;d++)o.push(n.getDependency("node",c[d]));const f=i.skin===void 0?Promise.resolve(null):n.getDependency("skin",i.skin);return Promise.all([s,Promise.all(o),f]).then(function(d){const m=d[0],g=d[1],y=d[2];y!==null&&m.traverse(function(_){_.isSkinnedMesh&&_.bind(y,W9)});for(let _=0,S=g.length;_<S;_++)m.add(g[_]);return m})}_loadNodeShallow(e){const t=this.json,n=this.extensions,i=this;if(this.nodeCache[e]!==void 0)return this.nodeCache[e];const s=t.nodes[e],o=s.name?i.createUniqueName(s.name):"",c=[],f=i._invokeOne(function(d){return d.createNodeMesh&&d.createNodeMesh(e)});return f&&c.push(f),s.camera!==void 0&&c.push(i.getDependency("camera",s.camera).then(function(d){return i._getNodeRef(i.cameraCache,s.camera,d)})),i._invokeAll(function(d){return d.createNodeAttachment&&d.createNodeAttachment(e)}).forEach(function(d){c.push(d)}),this.nodeCache[e]=Promise.all(c).then(function(d){let m;if(s.isBone===!0?m=new kA:d.length>1?m=new Kc:d.length===1?m=d[0]:m=new Pn,m!==d[0])for(let g=0,y=d.length;g<y;g++)m.add(d[g]);if(s.name&&(m.userData.name=s.name,m.name=o),Xc(m,s),s.extensions&&Vh(n,m,s),s.matrix!==void 0){const g=new Yt;g.fromArray(s.matrix),m.applyMatrix4(g)}else s.translation!==void 0&&m.position.fromArray(s.translation),s.rotation!==void 0&&m.quaternion.fromArray(s.rotation),s.scale!==void 0&&m.scale.fromArray(s.scale);return i.associations.has(m)||i.associations.set(m,{}),i.associations.get(m).nodes=e,m}),this.nodeCache[e]}loadScene(e){const t=this.extensions,n=this.json.scenes[e],i=this,s=new Kc;n.name&&(s.name=i.createUniqueName(n.name)),Xc(s,n),n.extensions&&Vh(t,s,n);const o=n.nodes||[],c=[];for(let f=0,d=o.length;f<d;f++)c.push(i.getDependency("node",o[f]));return Promise.all(c).then(function(f){for(let m=0,g=f.length;m<g;m++)s.add(f[m]);const d=m=>{const g=new Map;for(const[y,_]of i.associations)(y instanceof Rr||y instanceof Bi)&&g.set(y,_);return m.traverse(y=>{const _=i.associations.get(y);_!=null&&g.set(y,_)}),g};return i.associations=d(s),s})}_createAnimationTracks(e,t,n,i,s){const o=[],c=e.name?e.name:e.uuid,f=[];cf[s.path]===cf.weights?e.traverse(function(y){y.morphTargetInfluences&&f.push(y.name?y.name:y.uuid)}):f.push(c);let d;switch(cf[s.path]){case cf.weights:d=yd;break;case cf.rotation:d=_d;break;case cf.position:case cf.scale:d=xd;break;default:switch(n.itemSize){case 1:d=yd;break;case 2:case 3:default:d=xd;break}break}const m=i.interpolation!==void 0?V9[i.interpolation]:wm,g=this._getArrayFromAccessor(n);for(let y=0,_=f.length;y<_;y++){const S=new d(f[y]+"."+cf[s.path],t.array,g,m);i.interpolation==="CUBICSPLINE"&&this._createCubicSplineTrackInterpolant(S),o.push(S)}return o}_getArrayFromAccessor(e){let t=e.array;if(e.normalized){const n=fE(t.constructor),i=new Float32Array(t.length);for(let s=0,o=t.length;s<o;s++)i[s]=t[s]*n;t=i}return t}_createCubicSplineTrackInterpolant(e){e.createInterpolant=function(n){const i=this instanceof _d?G9:_N;return new i(this.times,this.values,this.getValueSize()/3,n)},e.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=!0}}function K9(r,e,t){const n=e.attributes,i=new es;if(n.POSITION!==void 0){const c=t.json.accessors[n.POSITION],f=c.min,d=c.max;if(f!==void 0&&d!==void 0){if(i.set(new Z(f[0],f[1],f[2]),new Z(d[0],d[1],d[2])),c.normalized){const m=fE(mm[c.componentType]);i.min.multiplyScalar(m),i.max.multiplyScalar(m)}}else{console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");return}}else return;const s=e.targets;if(s!==void 0){const c=new Z,f=new Z;for(let d=0,m=s.length;d<m;d++){const g=s[d];if(g.POSITION!==void 0){const y=t.json.accessors[g.POSITION],_=y.min,S=y.max;if(_!==void 0&&S!==void 0){if(f.setX(Math.max(Math.abs(_[0]),Math.abs(S[0]))),f.setY(Math.max(Math.abs(_[1]),Math.abs(S[1]))),f.setZ(Math.max(Math.abs(_[2]),Math.abs(S[2]))),y.normalized){const M=fE(mm[y.componentType]);f.multiplyScalar(M)}c.max(f)}else console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}i.expandByVector(c)}r.boundingBox=i;const o=new Vr;i.getCenter(o.center),o.radius=i.min.distanceTo(i.max)/2,r.boundingSphere=o}function C2(r,e,t){const n=e.attributes,i=[];function s(o,c){return t.getDependency("accessor",o).then(function(f){r.setAttribute(c,f)})}for(const o in n){const c=uE[o]||o.toLowerCase();c in r.attributes||i.push(s(n[o],c))}if(e.indices!==void 0&&!r.index){const o=t.getDependency("accessor",e.indices).then(function(c){r.setIndex(c)});i.push(o)}return Xc(r,e),K9(r,e,t),Promise.all(i).then(function(){return e.targets!==void 0?X9(r,e.targets,t):r})}const m1=new WeakMap;class Q9 extends Ms{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,n,i){const s=new Ka(this.manager);s.setPath(this.path),s.setResponseType("arraybuffer"),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials),s.load(e,o=>{const c={attributeIDs:this.defaultAttributeIDs,attributeTypes:this.defaultAttributeTypes,useUniqueIDs:!1};this.decodeGeometry(o,c).then(t).catch(i)},n,i)}decodeDracoFile(e,t,n,i){const s={attributeIDs:n||this.defaultAttributeIDs,attributeTypes:i||this.defaultAttributeTypes,useUniqueIDs:!!n};this.decodeGeometry(e,s).then(t)}decodeGeometry(e,t){for(const f in t.attributeTypes){const d=t.attributeTypes[f];d.BYTES_PER_ELEMENT!==void 0&&(t.attributeTypes[f]=d.name)}const n=JSON.stringify(t);if(m1.has(e)){const f=m1.get(e);if(f.key===n)return f.promise;if(e.byteLength===0)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let i;const s=this.workerNextTaskID++,o=e.byteLength,c=this._getWorker(s,o).then(f=>(i=f,new Promise((d,m)=>{i._callbacks[s]={resolve:d,reject:m},i.postMessage({type:"decode",id:s,taskConfig:t,buffer:e},[e])}))).then(f=>this._createGeometry(f.geometry));return c.catch(()=>!0).then(()=>{i&&s&&this._releaseTask(i,s)}),m1.set(e,{key:n,promise:c}),c}_createGeometry(e){const t=new ln;e.index&&t.setIndex(new Vn(e.index.array,1));for(let n=0;n<e.attributes.length;n++){const i=e.attributes[n],s=i.name,o=i.array,c=i.itemSize;t.setAttribute(s,new Vn(o,c))}return t}_loadLibrary(e,t){const n=new Ka(this.manager);return n.setPath(this.decoderPath),n.setResponseType(t),n.setWithCredentials(this.withCredentials),new Promise((i,s)=>{n.load(e,i,void 0,s)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;const e=typeof WebAssembly!="object"||this.decoderConfig.type==="js",t=[];return e?t.push(this._loadLibrary("draco_decoder.js","text")):(t.push(this._loadLibrary("draco_wasm_wrapper.js","text")),t.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(t).then(n=>{const i=n[0];e||(this.decoderConfig.wasmBinary=n[1]);const s=Z9.toString(),o=["/* draco decoder */",i,"","/* worker */",s.substring(s.indexOf("{")+1,s.lastIndexOf("}"))].join(`
3940`);this.workerSourceURL=URL.createObjectURL(new Blob([o]))}),this.decoderPending}_getWorker(e,t){return this._initDecoder().then(()=>{if(this.workerPool.length<this.workerLimit){const i=new Worker(this.workerSourceURL);i._callbacks={},i._taskCosts={},i._taskLoad=0,i.postMessage({type:"init",decoderConfig:this.decoderConfig}),i.onmessage=function(s){const o=s.data;switch(o.type){case"decode":i._callbacks[o.id].resolve(o);break;case"error":i._callbacks[o.id].reject(o);break;default:console.error('THREE.DRACOLoader: Unexpected message, "'+o.type+'"')}},this.workerPool.push(i)}else this.workerPool.sort(function(i,s){return i._taskLoad>s._taskLoad?-1:1});const n=this.workerPool[this.workerPool.length-1];return n._taskCosts[e]=t,n._taskLoad+=t,n})}_releaseTask(e,t){e._taskLoad-=e._taskCosts[t],delete e._callbacks[t],delete e._taskCosts[t]}debug(){console.log("Task load: ",this.workerPool.map(e=>e._taskLoad))}dispose(){for(let e=0;e<this.workerPool.length;++e)this.workerPool[e].terminate();return this.workerPool.length=0,this}}function Z9(){let r,e;onmessage=function(o){const c=o.data;switch(c.type){case"init":r=c.decoderConfig,e=new Promise(function(m){r.onModuleLoaded=function(g){m({draco:g})},DracoDecoderModule(r)});break;case"decode":const f=c.buffer,d=c.taskConfig;e.then(m=>{const g=m.draco,y=new g.Decoder,_=new g.DecoderBuffer;_.Init(new Int8Array(f),f.byteLength);try{const S=t(g,y,_,d),M=S.attributes.map(b=>b.array.buffer);S.index&&M.push(S.index.array.buffer),self.postMessage({type:"decode",id:c.id,geometry:S},M)}catch(S){console.error(S),self.postMessage({type:"error",id:c.id,error:S.message})}finally{g.destroy(_),g.destroy(y)}});break}};function t(o,c,f,d){const m=d.attributeIDs,g=d.attributeTypes;let y,_;const S=c.GetEncodedGeometryType(f);if(S===o.TRIANGULAR_MESH)y=new o.Mesh,_=c.DecodeBufferToMesh(f,y);else if(S===o.POINT_CLOUD)y=new o.PointCloud,_=c.DecodeBufferToPointCloud(f,y);else throw new Error("THREE.DRACOLoader: Unexpected geometry type.");if(!_.ok()||y.ptr===0)throw new Error("THREE.DRACOLoader: Decoding failed: "+_.error_msg());const M={index:null,attributes:[]};for(const b in m){const A=self[g[b]];let w,D;if(d.useUniqueIDs)D=m[b],w=c.GetAttributeByUniqueId(y,D);else{if(D=c.GetAttributeId(y,o[m[b]]),D===-1)continue;w=c.GetAttribute(y,D)}M.attributes.push(i(o,c,y,b,A,w))}return S===o.TRIANGULAR_MESH&&(M.index=n(o,c,y)),o.destroy(y),M}function n(o,c,f){const m=f.num_faces()*3,g=m*4,y=o._malloc(g);c.GetTrianglesUInt32Array(f,g,y);const _=new Uint32Array(o.HEAPF32.buffer,y,m).slice();return o._free(y),{array:_,itemSize:1}}function i(o,c,f,d,m,g){const y=g.num_components(),S=f.num_points()*y,M=S*m.BYTES_PER_ELEMENT,b=s(o,m),A=o._malloc(M);c.GetAttributeDataArrayForAllPoints(f,g,b,M,A);const w=new m(o.HEAPF32.buffer,A,S).slice();return o._free(A),{name:d,array:w,itemSize:y}}function s(o,c){switch(c){case Float32Array:return o.DT_FLOAT32;case Int8Array:return o.DT_INT8;case Int16Array:return o.DT_INT16;case Int32Array:return o.DT_INT32;case Uint8Array:return o.DT_UINT8;case Uint16Array:return o.DT_UINT16;case Uint32Array:return o.DT_UINT32}}}let Cx;const g1=()=>
3940{if(Cx)return Cx;const r="B9h9z9tFBBBF8fL9gBB9gLaaaaaFa9gEaaaB9gFaFa9gEaaaFaEMcBFFFGGGEIIILF9wFFFLEFBFKNFaFCx/IFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBF8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBGy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBEn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBIi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBKI9z9iqlBOc+x8ycGBM/qQFTa8jUUUUBCU/EBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAGTkUUUBRNCUoBAG9uC/wgBZHKCUGAKCUG9JyRVAECFJRICBRcGXEXAcAF9PQFAVAFAclAcAVJAF9JyRMGXGXAG9FQBAMCbJHKC9wZRSAKCIrCEJCGrRQANCUGJRfCBRbAIRTEXGXAOATlAQ9PQBCBRISEMATAQJRIGXAS9FQBCBRtCBREEXGXAOAIlCi9PQBCBRISLMANCU/CBJAEJRKGXGXGXGXGXATAECKrJ2BBAtCKZrCEZfIBFGEBMAKhB83EBAKCNJhB83EBSEMAKAI2BIAI2BBHmCKrHYAYCE6HYy86BBAKCFJAICIJAYJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCGJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCEJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCIJAYAmJHY2BBAI2BFHmCKrHPAPCE6HPy86BBAKCLJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCKJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCOJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCNJAYAmJHY2BBAI2BGHmCKrHPAPCE6HPy86BBAKCVJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCcJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCMJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCSJAYAmJHm2BBAI2BEHICKrHYAYCE6HYy86BBAKCQJAmAYJHm2BBAICIrCEZHYAYCE6HYy86BBAKCfJAmAYJHm2BBAICGrCEZHYAYCE6HYy86BBAKCbJAmAYJHK2BBAICEZHIAICE6HIy86BBAKAIJRISGMAKAI2BNAI2BBHmCIrHYAYCb6HYy86BBAKCFJAICNJAYJHY2BBAmCbZHmAmCb6Hmy86BBAKCGJAYAmJHm2BBAI2BFHYCIrHPAPCb6HPy86BBAKCEJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCIJAmAYJHm2BBAI2BGHYCIrHPAPCb6HPy86BBAKCLJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCKJAmAYJHm2BBAI2BEHYCIrHPAPCb6HPy86BBAKCOJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCNJAmAYJHm2BBAI2BIHYCIrHPAPCb6HPy86BBAKCVJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCcJAmAYJHm2BBAI2BLHYCIrHPAPCb6HPy86BBAKCMJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCSJAmAYJHm2BBAI2BKHYCIrHPAPCb6HPy86BBAKCQJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCfJAmAYJHm2BBAI2BOHICIrHYAYCb6HYy86BBAKCbJAmAYJHK2BBAICbZHIAICb6HIy86BBAKAIJRISFMAKAI8pBB83BBAKCNJAICNJ8pBB83BBAICTJRIMAtCGJRtAECTJHEAS9JQBMMGXAIQBCBRISEMGXAM9FQBANAbJ2BBRtCBRKAfREEXAEANCU/CBJAKJ2BBHTCFrCBATCFZl9zAtJHt86BBAEAGJREAKCFJHKAM9HQBMMAfCFJRfAIRTAbCFJHbAG9HQBMMABAcAG9sJANCUGJAMAG9sTkUUUBpANANCUGJAMCaJAG9sJAGTkUUUBpMAMCBAIyAcJRcAIQBMC9+RKSFMCBC99AOAIlAGCAAGCA9Ly6yRKMALCU/EBJ8kUUUUBAKM+OmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUFT+JUUUBpALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIA
3940LAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM+lLKFaF99GaG99FaG99GXGXAGCI9HQBAF9FQFEXGXGX9DBBB8/9DBBB+/ABCGJHG1BB+yAB1BBHE+yHI+L+TABCFJHL1BBHK+yHO+L+THN9DBBBB9gHVyAN9DBB/+hANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE86BBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG86BBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG86BBABCIJRBAFCaJHFQBSGMMAF9FQBEXGXGX9DBBB8/9DBBB+/ABCIJHG8uFB+yAB8uFBHE+yHI+L+TABCGJHL8uFBHK+yHO+L+THN9DBBBB9gHVyAN9DB/+g6ANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE87FBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG87FBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG87FBABCNJRBAFCaJHFQBMMM/SEIEaE99EaF99GXAF9FQBCBREABRIEXGXGX9D/zI818/AICKJ8uFBHLCEq+y+VHKAI8uFB+y+UHO9DB/+g6+U9DBBB8/9DBBB+/AO9DBBBB9gy+SHN+L9DBBB9P9d9FQBAN+oRVSFMCUUUU94RVMAICIJ8uFBRcAICGJ8uFBRMABALCFJCEZAEqCFWJAV87FBGXGXAKAM+y+UHN9DB/+g6+U9DBBB8/9DBBB+/AN9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRMSFMCUUUU94RMMABALCGJCEZAEqCFWJAM87FBGXGXAKAc+y+UHK9DB/+g6+U9DBBB8/9DBBB+/AK9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRcSFMCUUUU94RcMABALCaJCEZAEqCFWJAc87FBGXGX9DBBU8/AOAO+U+TANAN+U+TAKAK+U+THO9DBBBBAO9DBBBB9gy+R9DB/+g6+U9DBBB8/+SHO+L9DBBB9P9d9FQBAO+oRcSFMCUUUU94RcMABALCEZAEqCFWJAc87FBAICNJRIAECIJREAFCaJHFQBMMM9JBGXAGCGrAF9sHF9FQBEXABAB8oGBHGCNWCN91+yAGCi91CnWCUUU/8EJ+++U84GBABCIJRBAFCaJHFQBMMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEM/lFFFaGXGXAFABqCEZ9FQBABRESFMGXGXAGCT9PQBABRESFMABREEXAEAF8oGBjGBAECIJAFCIJ8oGBjGBAECNJAFCNJ8oGBjGBAECSJAFCSJ8oGBjGBAECTJREAFCTJRFAGC9wJHGCb9LQBMMAGCI9JQBEXAEAF8oGBjGBAFCIJRFAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF2BB86BBAECFJREAFCFJRFAGCaJHGQBMMABMoFFGaGXGXABCEZ9FQBABRESFMAFCgFZC+BwsN9sRIGXGXAGCT9PQBABRESFMABREEXAEAIjGBAECSJAIjGBAECNJAIjGBAECIJAIjGBAECTJREAGC9wJHGCb9LQBMMAGCI9JQBEXAEAIjGBAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF86BBAECFJREAGCaJHGQBMMABMMMFBCUNMIT9kBB",e="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+YUUBJ2BBJRKSFMAYAKDBBBDMIBAKCTJRKMAICGJRIAECTJHEAM9JQBMMG
3940XAK9FQBAKRTAtCFJHtCI6QGSFMMCBRKSEMGXAM9FQBALCUGJAbJREALAbJDBGBReCBRYEXAEALCU/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",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]),n=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]);if(typeof WebAssembly!="object")return{supported:!1};let i=r;WebAssembly.validate(t)&&(i=e);let s;const o=WebAssembly.instantiate(c(i),{}).then(g=>{s=g.instance,s.exports.__wasm_call_ctors()});function c(g){const y=new Uint8Array(g.length);for(let S=0;S<g.length;++S){const M=g.charCodeAt(S);y[S]=M>96?M-71:M>64?M-65:M>47?M+4:M>46?63:62}let _=0;for(let S=0;S<g.length;++S)y[_++]=y[S]<60?n[y[S]]:(y[S]-60)*64+y[++S];return y.buffer.slice(0,_)}function f(g,y,_,S,M,b){const A=s.exports.sbrk,w=_+3&-4,D=A(w*S),B=A(M.length),I=new Uint8Array(s.exports.memory.buffer);I.set(M,B);const O=g(D,_,S,B,M.length);if(O===0&&b&&b(D,w,S),y.set(I.subarray(D,D+_*S)),A(D-A(0)),O!==0)throw new Error(`Malformed buffer data: ${O}`)}const d={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},m={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};return Cx={ready:o,supported:!0,decodeVertexBuffer(g,y,_,S,M){f(s.exports.meshopt_decodeVertexBuffer,g,y,_,S,s.exports[d[M]])},decodeIndexBuffer(g,y,_,S){f(s.exports.meshopt_decodeIndexBuffer,g,y,_,S)},decodeIndexSequence(g,y,_,S){f(s.exports.meshopt_decodeIndexSequence,g,y,_,S)},decodeGltfBuffer(g,y,_,S,M,b){f(s.exports[m[M]],g,y,_,S,s.exports[d[b]])}},Cx};
3940let wx=null,xN="https://www.gstatic.com/draco/versioned/decoders/1.5.5/";function SN(r=!0,e=!0,t){return n=>{t&&t(n),r&&(wx||(wx=new Q9),wx.setDecoderPath(typeof r=="string"?r:xN),n.setDRACOLoader(wx)),e&&n.setMeshoptDecoder(typeof g1=="function"?g1():g1)}}const $v=(r,e,t,n)=>Zv(FT,r,SN(e,t,n));$v.preload=(r,e,t,n)=>Zv.preload(FT,r,SN(e,t,n));$v.clear=r=>Zv.clear(FT,r);$v.setDecoderPath=r=>{xN=r};var v1={exports:{}},y1,w2;function $9(){if(w2)return y1;w2=1;var r="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return y1=r,y1}var _1,R2;function e6(){if(R2)return _1;R2=1;var r=$9();function e(){}function t(){}return t.resetWarningCache=e,_1=function(){function n(o,c,f,d,m,g){if(g!==r){var y=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw y.name="Invariant Violation",y}}n.isRequired=n;function i(){return n}var s={array:n,bigint:n,bool:n,func:n,number:n,object:n,string:n,symbol:n,any:n,arrayOf:i,element:n,elementType:n,instanceOf:i,node:n,objectOf:i,oneOf:i,oneOfType:i,shape:i,exact:i,checkPropTypes:t,resetWarningCache:e};return s.PropTypes=s,s},_1}var B2;function ey(){return B2||(B2=1,v1.exports=e6()()),v1.exports}var t6=ey();const Kn=zv(t6),n6=$.forwardRef(({children:r,enabled:e=!0,speed:t=1,rotationIntensity:n=1,floatIntensity:i=1,floatingRange:s=[-.1,.1],autoInvalidate:o=!1,...c},f)=>{const d=$.useRef(null);$.useImperativeHandle(f,()=>d.current,[]);const m=$.useRef(Math.random()*1e4);return H5(g=>{var y,_;if(!e||t===0)return;o&&g.invalidate();const S=m.current+g.clock.getElapsedTime();d.current.rotation.x=Math.cos(S/4*t)/8*n,d.current.rotation.y=Math.sin(S/4*t)/8*n,d.current.rotation.z=Math.sin(S/4*t)/20*n;let M=Math.sin(S/4*t)/10;M=iT.mapLinear(M,-.1,.1,(y=s?.[0])!==null&&y!==void 0?y:-.1,(_=s?.[1])!==null&&_!==void 0?_:.1),d.current.position.y=M*i,d.current.updateMatrix()}),$.createElement("group",c,$.createElement("group",{ref:d,matrixAutoUpdate:!1},r))});/**
3941 * react-router v7.8.1
3942 *
3943 * Copyright (c) Remix Software Inc.
3944 *
3945 * This source code is licensed under the MIT license found in the
3946 * LICENSE.md file in the root directory of this source tree.
3947 *
3948 * @license MIT
3949 */var D2="popstate";function i6(r={}){function e(n,i){let{pathname:s,search:o,hash:c}=n.location;return hE("",{pathname:s,search:o,hash:c},i.state&&i.state.usr||null,i.state&&i.state.key||"default")}function t(n,i){return typeof i=="string"?i:wv(i)}return s6(e,t,null,r)}function Fi(r,e){if(r===!1||r===null||typeof r>"u")throw new Error(e)}function ac(r,e){if(!r){typeof console<"u"&&console.warn(e);try{throw new Error(e)}catch{}}}function r6(){return Math.random().toString(36).substring(2,10)}function O2(r,e){return{usr:r.state,key:r.key,idx:e}}function hE(r,e,t=null,n){return{pathname:typeof r=="string"?r:r.pathname,search:"",hash:"",...typeof e=="string"?$m(e):e,state:t,key:e&&e.key||n||r6()}}function wv({pathname:r="/",search:e="",hash:t=""}){return e&&e!=="?"&&(r+=e.charAt(0)==="?"?e:"?"+e),t&&t!=="#"&&(r+=t.charAt(0)==="#"?t:"#"+t),r}function $m(r){let e={};if(r){let t=r.indexOf("#");t>=0&&(e.hash=r.substring(t),r=r.substring(0,t));let n=r.indexOf("?");n>=0&&(e.search=r.substring(n),r=r.substring(0,n)),r&&(e.pathname=r)}return e}function s6(r,e,t,n={}){let{window:i=document.defaultView,v5Compat:s=!1}=n,o=i.history,c="POP",f=null,d=m();d==null&&(d=0,o.replaceState({...o.state,idx:d},""));function m(){return(o.state||{idx:null}).idx}function g(){c="POP";let b=m(),A=b==null?null:b-d;d=b,f&&f({action:c,location:M.location,delta:A})}function y(b,A){c="PUSH";let w=hE(M.location,b,A);d=m()+1;let D=O2(w,d),B=M.createHref(w);try{o.pushState(D,"",B)}catch(I){if(I instanceof DOMException&&I.name==="DataCloneError")throw I;i.location.assign(B)}s&&f&&f({action:c,location:M.location,delta:1})}function _(b,A){c="REPLACE";let w=hE(M.location,b,A);d=m();let D=O2(w,d),B=M.createHref(w);o.replaceState(D,"",B),s&&f&&f({action:c,location:M.location,delta:0})}function S(b){return a6(b)}let M={get action(){return c},get location(){return r(i,o)},listen(b){if(f)throw new Error("A history only accepts one active listener");
3949return i.addEventListener(D2,g),f=b,()=>{i.removeEventListener(D2,g),f=null}},createHref(b){return e(i,b)},createURL:S,encodeLocation(b){let A=S(b);return{pathname:A.pathname,search:A.search,hash:A.hash}},push:y,replace:_,go(b){return o.go(b)}};return M}function a6(r,e=!1){let t="http://localhost";typeof window<"u"&&(t=window.location.origin!=="null"?window.location.origin:window.location.href),Fi(t,"No window.location.(origin|href) available to create URL");let n=typeof r=="string"?r:wv(r);return n=n.replace(/ $/,"%20"),!e&&n.startsWith("//")&&(n=t+n),new URL(n,t)}function AN(r,e,t="/"){return o6(r,e,t,!1)}function o6(r,e,t,n){let i=typeof e=="string"?$m(e):e,s=au(i.pathname||"/",t);if(s==null)return null;let o=bN(r);l6(o);let c=null;for(let f=0;c==null&&f<o.length;++f){let d=_6(s);c=v6(o[f],d,n)}return c}function bN(r,e=[],t=[],n="",i=!1){let s=(o,c,f=i,d)=>{let m={relativePath:d===void 0?o.path||"":d,caseSensitive:o.caseSensitive===!0,childrenIndex:c,route:o};if(m.relativePath.startsWith("/")){if(!m.relativePath.startsWith(n)&&f)return;Fi(m.relativePath.startsWith(n),`Absolute route path "${m.relativePath}" nested under path "${n}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),m.relativePath=m.relativePath.slice(n.length)}let g=tu([n,m.relativePath]),y=t.concat(m);o.children&&o.children.length>0&&(Fi(o.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${g}".`),bN(o.children,e,y,g,f)),!(o.path==null&&!o.index)&&e.push({path:g,score:m6(g,o.index),routesMeta:y})};return r.forEach((o,c)=>{if(o.path===""||!o.path?.includes("?"))s(o,c);else for(let f of MN(o.path))s(o,c,!0,f)}),e}function MN(r){let e=r.split("/");if(e.length===0)return[];let[t,...n]=e,i=t.endsWith("?"),s=t.replace(/\?$/,"");if(n.length===0)return i?[s,""]:[s];let o=MN(n.join("/")),c=[];return c.push(...o.map(f=>f===""?s:[s,f].join("/"))),i&&c.push(...o),c.map(f=>r.startsWith("/")&&f===""?"/":f)}function l6(r){r.sort((e,t)=>e.score!==t.score?t.score-e.score:g6(e.routesMeta.map(n=>n.childrenIndex),t.routesMeta.map(n=>n.childrenIndex)))}var c6=/^:[\w-]+$/,u6=3,f6=2,h6=1,d6=10,p6=-2,N2=r=>r==="*";function m6(r,e){let t=r.split("/"),n=t.length;return t.some(N2)&&(n+=p6),e&&(n+=f6),t.filter(i=>!N2(i)).reduce((i,s)=>i+(c6.test(s)?u6:s===""?h6:d6),n)}function g6(r,e){return r.length===e.length&&r.slice(0,-1).every((n,i)=>n===e[i])?r[r.length-1]-e[e.length-1]:0}function v6(r,e,t=!1){let{routesMeta:n}=r,i={},s="/",o=[];for(let c=0;c<n.length;++c){let f=n[c],d=c===n.length-1,m=s==="/"?e:e.slice(s.length)||"/",g=pA({path:f.relativePath,caseSensitive:f.caseSensitive,end:d},m),y=f.route;if(!g&&d&&t&&!n[n.length-1].route.index&&(g=pA({path:f.relativePath,caseSensitive:f.caseSensitive,end:!1},m)),!g)return null;
3949Object.assign(i,g.params),o.push({params:i,pathname:tu([s,g.pathname]),pathnameBase:b6(tu([s,g.pathnameBase])),route:y}),g.pathnameBase!=="/"&&(s=tu([s,g.pathnameBase]))}return o}function pA(r,e){typeof r=="string"&&(r={path:r,caseSensitive:!1,end:!0});let[t,n]=y6(r.path,r.caseSensitive,r.end),i=e.match(t);if(!i)return null;let s=i[0],o=s.replace(/(.)\/+$/,"$1"),c=i.slice(1);return{params:n.reduce((d,{paramName:m,isOptional:g},y)=>{if(m==="*"){let S=c[y]||"";o=s.slice(0,s.length-S.length).replace(/(.)\/+$/,"$1")}const _=c[y];return g&&!_?d[m]=void 0:d[m]=(_||"").replace(/%2F/g,"/"),d},{}),pathname:s,pathnameBase:o,pattern:r}}function y6(r,e=!1,t=!0){ac(r==="*"||!r.endsWith("*")||r.endsWith("/*"),`Route path "${r}" will be treated as if it were "${r.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${r.replace(/\*$/,"/*")}".`);let n=[],i="^"+r.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(o,c,f)=>(n.push({paramName:c,isOptional:f!=null}),f?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return r.endsWith("*")?(n.push({paramName:"*"}),i+=r==="*"||r==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):t?i+="\\/*$":r!==""&&r!=="/"&&(i+="(?:(?=\\/|$))"),[new RegExp(i,e?void 0:"i"),n]}function _6(r){try{return r.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(e){return ac(!1,`The URL path "${r}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${e}).`),r}}function au(r,e){if(e==="/")return r;if(!r.toLowerCase().startsWith(e.toLowerCase()))return null;let t=e.endsWith("/")?e.length-1:e.length,n=r.charAt(t);return n&&n!=="/"?null:r.slice(t)||"/"}function x6(r,e="/"){let{pathname:t,search:n="",hash:i=""}=typeof r=="string"?$m(r):r;return{pathname:t?t.startsWith("/")?t:S6(t,e):e,search:M6(n),hash:E6(i)}}function S6(r,e){let t=e.replace(/\/+$/,"").split("/");return r.split("/").forEach(i=>{i===".."?t.length>1&&t.pop():i!=="."&&t.push(i)}),t.length>1?t.join("/"):"/"}function x1(r,e,t,n){return`Cannot include a '${r}' character in a manually specified \`to.${e}\` field [${JSON.stringify(n)}].  Please separate it out to the \`to.${t}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function A6(r){return r.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function EN(r){let e=A6(r);return e.map((t,n)=>n===e.length-1?t.pathname:t.pathnameBase)}function TN(r,e,t,n=!1){let i;typeof r=="string"?i=$m(r):(i={...r},Fi(!i.pathname||!i.pathname.includes("?"),x1("?","pathname","search",i)),Fi(!i.pathname||!i.pathname.includes("#"),x1("#","pathname","hash",i)),Fi(!i.search||!i.search.includes("#"),x1("#","search","hash",i)));let s=r===""||i.pathname==="",o=s?"/":i.pathname,c;if(o==null)c=t;else{let g=e.length-1;if(!n&&o.startsWith("..")){let y=o.split("/");for(;y[0]==="..";)y.shift(),g-=1;i.pathname=y.join("/")}c=g>=0?e[g]:"/"}let f=x6(i,c),d=o&&o!=="/"&&o.endsWith("/"),m=(s||o===".")&&t.endsWith("/");return!f.pathname.endsWith("/")&&(d||m)&&(f.pathname+="/"),f}var tu=r=>r.join("/").replace(/\/\/+/g,"/"),b6=r=>r.replace(/\/+$/,"").replace(/^\/*/,"/"),M6=r=>!r||r==="?"?"":r.startsWith("?")?r:"?"+r,E6=r=>!r||r==="#"?"":r.startsWith("#")?r:"#"+r;function T6(r){return r!=null&&typeof r.status=="number"&&typeof r.statusText=="string"&&typeof r.internal=="boolean"&&"data"in r}var CN=["POST","PUT","PATCH","DELETE"];new Set(CN);var C6=["GET",...CN];new Set(C6);var eg=$.createContext(null);eg.displayName="DataRouter";var cb=$.createContext(null);cb.displayName="DataRouterState";$.createContext(!1);var wN=$.createContext({isTransitioning:!1});wN.displayName="ViewTransition";var w6=$.createContext(new Map);w6.displayName="Fetchers";var R6=$.createContext(null);R6.displayName="Await";var cc=$.createContext(null);cc.displayName="Navigation";var ty=$.createContext(null);ty.displayName="Location";var uc=$.createContext({outlet:null,matches:[],isDataRoute:!1});uc.displayName="Route";var GT=$.createContext(null);GT.displayName="RouteError";function B6(r,{relative:e}={}){Fi(ny(),"useHref() may be used only in the context of a <Router> component.");let{basename:t,navigator:n}=$.useContext(cc),{hash:i,pathname:s,search:o}=iy(r,{relative:e}),c=s;return t!=="/"&&(c=s==="/"?t:tu([t,s])),n.createHref({pathname:c,search:o,hash:i})}function ny(){return $.useContext(ty)!=null}function Lf(){return Fi(ny(),"useLocation() may be used only in the context of a <Router> component."),$.useContext(ty).location}var RN="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function BN(r){$.useContext(cc).static||$.useLayoutEffect(r)}function Uf(){let{isDataRoute:r}=$.useContext(uc);return r?Y6():D6()}function D6(){Fi(ny(),"useNavigate() may be used only in the context of a <Router> component.");let r=$.useContext(eg),{basename:e,navigator:t}=$.useContext(cc),{matches:n}=$.useContext(uc),{pathname:i}=Lf(),s=JSON.stringify(EN(n)),o=$.useRef(!1);return BN(()=>{o.current=!0}),$.useCallback((f,d={})=>
3949{if(ac(o.current,RN),!o.current)return;if(typeof f=="number"){t.go(f);return}let m=TN(f,JSON.parse(s),i,d.relative==="path");r==null&&e!=="/"&&(m.pathname=m.pathname==="/"?e:tu([e,m.pathname])),(d.replace?t.replace:t.push)(m,d.state,d)},[e,t,s,i,r])}var O6=$.createContext(null);function N6(r){let e=$.useContext(uc).outlet;return e&&$.createElement(O6.Provider,{value:r},e)}function iy(r,{relative:e}={}){let{matches:t}=$.useContext(uc),{pathname:n}=Lf(),i=JSON.stringify(EN(t));return $.useMemo(()=>TN(r,JSON.parse(i),n,e==="path"),[r,i,n,e])}function L6(r,e){return DN(r,e)}function DN(r,e,t,n){Fi(ny(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:i}=$.useContext(cc),{matches:s}=$.useContext(uc),o=s[s.length-1],c=o?o.params:{},f=o?o.pathname:"/",d=o?o.pathnameBase:"/",m=o&&o.route;{let A=m&&m.path||"";ON(f,!m||A.endsWith("*")||A.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${f}" (under <Route path="${A}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
3950
3951Please change the parent <Route path="${A}"> to <Route path="${A==="/"?"*":`${A}/*`}">.`)}let g=Lf(),y;if(e){let A=typeof e=="string"?$m(e):e;Fi(d==="/"||A.pathname?.startsWith(d),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${d}" but pathname "${A.pathname}" was given in the \`location\` prop.`),y=A}else y=g;let _=y.pathname||"/",S=_;if(d!=="/"){let A=d.replace(/^\//,"").split("/");S="/"+_.replace(/^\//,"").split("/").slice(A.length).join("/")}let M=AN(r,{pathname:S});ac(m||M!=null,`No routes matched location "${y.pathname}${y.search}${y.hash}" `),ac(M==null||M[M.length-1].route.element!==void 0||M[M.length-1].route.Component!==void 0||M[M.length-1].route.lazy!==void 0,`Matched leaf route at location "${y.pathname}${y.search}${y.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let b=z6(M&&M.map(A=>Object.assign({},A,{params:Object.assign({},c,A.params),pathname:tu([d,i.encodeLocation?i.encodeLocation(A.pathname).pathname:A.pathname]),pathnameBase:A.pathnameBase==="/"?d:tu([d,i.encodeLocation?i.encodeLocation(A.pathnameBase).pathname:A.pathnameBase])})),s,t,n);return e&&b?$.createElement(ty.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...y},navigationType:"POP"}},b):b}function U6(){let r=X6(),e=T6(r)?`${r.status} ${r.statusText}`:r instanceof Error?r.message:JSON.stringify(r),t=r instanceof Error?r.stack:null,n="rgba(200,200,200, 0.5)",i={padding:"0.5rem",backgroundColor:n},s={padding:"2px 4px",backgroundColor:n},o=null;return console.error("Error handled by React Router default ErrorBoundary:",r),o=$.createElement($.Fragment,null,$.createElement("p",null,"💿 Hey developer 👋"),$.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",$.createElement("code",{style:s},"ErrorBoundary")," or"," ",$.createElement("code",{style:s},"errorElement")," prop on your route.")),$.createElement($.Fragment,null,$.createElement("h2",null,"Unexpected Application Error!"),$.createElement("h3",{style:{fontStyle:"italic"}},e),t?$.createElement("pre",{style:i},t):null,o)}var I6=$.createElement(U6,null),P6=class extends $.Component{constructor(r){super(r),this.state={location:r.location,revalidation:r.revalidation,error:r.error}}static getDerivedStateFromError(r){return{error:r}}static getDerivedStateFromProps(r,e){return e.location!==r.location||e.revalidation!=="idle"&&r.revalidation==="idle"?{error:r.error,location:r.location,revalidation:r.revalidation}:{error:r.error!==void 0?r.error:e.error,location:e.location,revalidation:r.revalidation||e.revalidation}}componentDidCatch(r,e){console.error("React Router caught the following error during render",r,e)}render(){return this.state.error!==void 0?$.createElement(uc.Provider,{value:this.props.routeContext},$.createElement(GT.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function H6({routeContext:r,match:e,children:t}){let n=$.useContext(eg);return n&&n.static&&n.staticContext&&(e.route.errorElement||e.route.ErrorBoundary)&&(n.staticContext._deepestRenderedBoundaryId=e.route.id),$.createElement(uc.Provider,{value:r},t)}function z6(r,e=[],t=null,n=null){if(r==null){if(!t)return null;if(t.errors)r=t.matches;else if(e.length===0&&!t.initialized&&t.matches.length>0)r=t.matches;else return null}let i=r,s=t?.errors;if(s!=null){let f=i.findIndex(d=>d.route.id&&s?.[d.route.id]!==void 0);Fi(f>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(s).join(",")}`),i=i.slice(0,Math.min(i.length,f+1))}let o=!1,c=-1;if(t)for(let f=0;f<i.length;f++){let d=i[f];if((d.route.HydrateFallback||d.route.hydrateFallbackElement)&&(c=f),d.route.id){let{loaderData:m,errors:g}
3951=t,y=d.route.loader&&!m.hasOwnProperty(d.route.id)&&(!g||g[d.route.id]===void 0);if(d.route.lazy||y){o=!0,c>=0?i=i.slice(0,c+1):i=[i[0]];break}}}return i.reduceRight((f,d,m)=>{let g,y=!1,_=null,S=null;t&&(g=s&&d.route.id?s[d.route.id]:void 0,_=d.route.errorElement||I6,o&&(c<0&&m===0?(ON("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),y=!0,S=null):c===m&&(y=!0,S=d.route.hydrateFallbackElement||null)));let M=e.concat(i.slice(0,m+1)),b=()=>{let A;return g?A=_:y?A=S:d.route.Component?A=$.createElement(d.route.Component,null):d.route.element?A=d.route.element:A=f,$.createElement(H6,{match:d,routeContext:{outlet:f,matches:M,isDataRoute:t!=null},children:A})};return t&&(d.route.ErrorBoundary||d.route.errorElement||m===0)?$.createElement(P6,{location:t.location,revalidation:t.revalidation,component:_,error:g,children:b(),routeContext:{outlet:null,matches:M,isDataRoute:!0}}):b()},null)}function VT(r){return`${r} must be used within a data router.  See https://reactrouter.com/en/main/routers/picking-a-router.`}function F6(r){let e=$.useContext(eg);return Fi(e,VT(r)),e}function G6(r){let e=$.useContext(cb);return Fi(e,VT(r)),e}function V6(r){let e=$.useContext(uc);return Fi(e,VT(r)),e}function kT(r){let e=V6(r),t=e.matches[e.matches.length-1];return Fi(t.route.id,`${r} can only be used on routes that contain a unique "id"`),t.route.id}function k6(){return kT("useRouteId")}function X6(){let r=$.useContext(GT),e=G6("useRouteError"),t=kT("useRouteError");return r!==void 0?r:e.errors?.[t]}function Y6(){let{router:r}=F6("useNavigate"),e=kT("useNavigate"),t=$.useRef(!1);return BN(()=>{t.current=!0}),$.useCallback(async(i,s={})=>{ac(t.current,RN),t.current&&(typeof i=="number"?r.navigate(i):await r.navigate(i,{fromRouteId:e,...s}))},[r,e])}var L2={};function ON(r,e,t){!e&&!L2[r]&&(L2[r]=!0,ac(!1,t))}$.memo(j6);function j6({routes:r,future:e,state:t}){return DN(r,void 0,t,e)}function q6(r){return N6(r.context)}function kc(r){Fi(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function W6({basename:r="/",children:e=null,location:t,navigationType:n="POP",navigator:i,static:s=!1}){Fi(!ny(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let o=r.replace(/^\/*/,"/"),c=$.useMemo(()=>({basename:o,navigator:i,static:s,future:{}}),[o,i,s]);typeof t=="string"&&(t=$m(t));let{pathname:f="/",search:d="",hash:m="",state:g=null,key:y="default"}=t,_=$.useMemo(()=>{let S=au(f,o);return S==null?null:{location:{pathname:S,search:d,hash:m,state:g,key:y},navigationType:n}},[o,f,d,m,g,y,n]);return ac(_!=null,`<Router basename="${o}"> is not able to match the URL "${f}${d}${m}" because it does not start with the basename, so the <Router> won't render anything.`),_==null?null:$.createElement(cc.Provider,{value:c},$.createElement(ty.Provider,{children:e,value:_}))}function J6({children:r,location:e}){return L6(dE(r),e)}function dE(r,e=[]){let t=[];return $.Children.forEach(r,(n,i)=>{if(!$.isValidElement(n))return;let s=[...e,i];if(n.type===$.Fragment){t.push.apply(t,dE(n.props.children,s));return}Fi(n.type===kc,`[${typeof n.type=="string"?n.type:n.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),Fi(!n.props.index||!n.props.children,"An index route cannot have child routes.");let o={id:n.props.id||s.join("-"),caseSensitive:n.props.caseSensitive,element:n.props.element,Component:n.props.Component,index:n.props.index,path:n.props.path,loader:n.props.loader,action:n.props.action,hydrateFallbackElement:n.props.hydrateFallbackElement,HydrateFallback:n.props.HydrateFallback,errorElement:n.props.errorElement,ErrorBoundary:n.props.ErrorBoundary,hasErrorBoundary:n.props.hasErrorBoundary===!0||n.props.ErrorBoundary!=null||n.props.errorElement!=null,shouldRevalidate:n.props.shouldRevalidate,handle:n.props.handle,lazy:n.props.lazy};n.props.children&&(o.children=dE(n.props.children,s)),t.push(o)}),t}var uS="get",fS="application/x-www-form-urlencoded";function ub(r){return r!=null&&typeof r.tagName=="string"}function K6(r){return ub(r)&&r.tagName.toLowerCase()==="button"}function Q6(r){return ub(r)&&r.tagName.toLowerCase()==="form"}function Z6(r){return ub(r)&&r.tagName.toLowerCase()==="input"}function $6(r){return!!(r.metaKey||r.altKey||r.ctrlKey||r.shiftKey)}function eV(r,e){return r.button===0&&(!e||e==="_self")&&!$6(r)}var Rx=null;function tV(){if(Rx===null)try{new FormData(document.createElement("form"),0),Rx=!1}catch{Rx=!0}return Rx}var nV=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function S1(r){return r!=null&&!nV.has(r)?(ac(!1,`"${r}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${fS}"`),null):r}function iV(r,e){let t,n,i,s,o;if(Q6(r)){let c=r.getAttribute("action");n=c?au(c,e):null,t=r.getAttribute("method")||uS,i=S1(r.getAttribute("enctype"))||fS,s=new FormData(r)}else if(K6(r)||Z6(r)&&(r.type==="submit"||r.type==="image")){let c=r.form;if(c==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let f=r.getAttribute("formaction")||c.getAttribute("action");if(n=f?au(f,e):null,t=r.getAttribute("formmethod")||c.getAttribute("method")||uS,i=S1(r.getAttribute("formenctype"))||S1(c.getAttribute("enctype"))||fS,s=new FormData(c,r),!tV()){let{name:d,type:m,value:g}=r;if(m==="image"){let y=d?`${d}.`:"";s.append(`${y}x`,"0"),s.append(`${y}y`,"0")}else d&&s.append(d,g)}}else{if(ub(r))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');t=uS,n=null,i=fS,o=r}return s&&i==="text/plain"&&(o=s,s=void 0),{action:n,method:t.toLowerCase(),encType:i,formData:s,body:o}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function XT(r,e){if(r===!1||r===null||typeof r>"u")throw new Error(e)}function rV(r,e,t){let n=typeof r=="string"?new URL(r,typeof window>"u"?"server://singlefetch/":window.location.origin):r;return n.pathname==="/"?n.pathname=`_root.${t}`:e&&au(n.pathname,e)==="/"?n.pathname=`${e.replace(/\/$/,"")}/_root.${t}`:n.pathname=`${n.pathname.replace(/\/$/,"")}.${t}`,n}async function sV(r,e){if(r.id in e)return e[r.id];try{let t=await import(r.module);return e[r.id]=t,t}catch(t){return console.error(`Error loading route module \`${r.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.
3951isSpaMode,window.location.reload(),new Promise(()=>{})}}function aV(r){return r==null?!1:r.href==null?r.rel==="preload"&&typeof r.imageSrcSet=="string"&&typeof r.imageSizes=="string":typeof r.rel=="string"&&typeof r.href=="string"}async function oV(r,e,t){let n=await Promise.all(r.map(async i=>{let s=e.routes[i.route.id];if(s){let o=await sV(s,t);return o.links?o.links():[]}return[]}));return fV(n.flat(1).filter(aV).filter(i=>i.rel==="stylesheet"||i.rel==="preload").map(i=>i.rel==="stylesheet"?{...i,rel:"prefetch",as:"style"}:{...i,rel:"prefetch"}))}function U2(r,e,t,n,i,s){let o=(f,d)=>t[d]?f.route.id!==t[d].route.id:!0,c=(f,d)=>t[d].pathname!==f.pathname||t[d].route.path?.endsWith("*")&&t[d].params["*"]!==f.params["*"];return s==="assets"?e.filter((f,d)=>o(f,d)||c(f,d)):s==="data"?e.filter((f,d)=>{let m=n.routes[f.route.id];if(!m||!m.hasLoader)return!1;if(o(f,d)||c(f,d))return!0;if(f.route.shouldRevalidate){let g=f.route.shouldRevalidate({currentUrl:new URL(i.pathname+i.search+i.hash,window.origin),currentParams:t[0]?.params||{},nextUrl:new URL(r,window.origin),nextParams:f.params,defaultShouldRevalidate:!0});if(typeof g=="boolean")return g}return!0}):[]}function lV(r,e,{includeHydrateFallback:t}={}){return cV(r.map(n=>{let i=e.routes[n.route.id];if(!i)return[];let s=[i.module];return i.clientActionModule&&(s=s.concat(i.clientActionModule)),i.clientLoaderModule&&(s=s.concat(i.clientLoaderModule)),t&&i.hydrateFallbackModule&&(s=s.concat(i.hydrateFallbackModule)),i.imports&&(s=s.concat(i.imports)),s}).flat(1))}function cV(r){return[...new Set(r)]}function uV(r){let e={},t=Object.keys(r).sort();for(let n of t)e[n]=r[n];return e}function fV(r,e){let t=new Set;return new Set(e),r.reduce((n,i)=>{let s=JSON.stringify(uV(i));return t.has(s)||(t.add(s),n.push({key:s,link:i})),n},[])}function NN(){let r=$.useContext(eg);return XT(r,"You must render this element inside a <DataRouterContext.Provider> element"),r}function hV(){let r=$.useContext(cb);return XT(r,"You must render this element inside a <DataRouterStateContext.Provider> element"),r}var YT=$.createContext(void 0);YT.displayName="FrameworkContext";function LN(){let r=$.useContext(YT);return XT(r,"You must render this element inside a <HydratedRouter> element"),r}function dV(r,e){let t=$.useContext(YT),[n,i]=$.useState(!1),[s,o]=$.useState(!1),{onFocus:c,onBlur:f,onMouseEnter:d,onMouseLeave:m,onTouchStart:g}=e,y=$.useRef(null);$.useEffect(()=>{if(r==="render"&&o(!0),r==="viewport"){let M=A=>{A.forEach(w=>{o(w.isIntersecting)})},b=new IntersectionObserver(M,{threshold:.5});return y.current&&b.observe(y.current),()=>{b.disconnect()}}},[r]),$.useEffect(()=>{if(n){let M=setTimeout(()=>{o(!0)},100);return()=>{clearTimeout(M)}}},[n]);let _=()=>{i(!0)},S=()=>{i(!1),o(!1)};return t?r!=="intent"?[s,y,{}]:[s,y,{onFocus:B0(c,_),onBlur:B0(f,S),onMouseEnter:B0(d,_),onMouseLeave:B0(m,S),onTouchStart:B0(g,_)}]:[!1,y,{}]}function B0(r,e){return t=>{r&&r(t),t.defaultPrevented||e(t)}}function pV({page:r,...e}){let{router:t}=NN(),n=$.useMemo(()=>AN(t.routes,r,t.basename),[t.routes,r,t.basename]);return n?$.createElement(gV,{page:r,matches:n,...e}):null}function mV(r){let{manifest:e,routeModules:t}=LN(),[n,i]=$.useState([]);return $.useEffect(()=>{let s=!1;return oV(r,e,t).then(o=>{s||i(o)}),()=>{s=!0}},[r,e,t]),n}function gV({page:r,matches:e,...t}){let n=Lf(),{manifest:i,routeModules:s}=LN(),{basename:o}=NN(),{loaderData:c,matches:f}=hV(),d=$.useMemo(()=>U2(r,e,f,i,n,"data"),[r,e,f,i,n]),m=$.useMemo(()=>U2(r,e,f,i,n,"assets"),[r,e,f,i,n]),g=$.useMemo(()=>{if(r===n.pathname+n.search+n.hash)return[];let S=new Set,M=!1;if(e.forEach(A=>{let w=i.routes[A.route.id];!w||!w.hasLoader||(!d.some(D=>D.route.id===A.route.id)&&A.route.id in c&&s[A.route.id]?.shouldRevalidate||w.hasClientLoader?M=!0:S.add(A.route.id))}),S.size===0)return[];let b=rV(r,o,"data");return M&&S.size>0&&b.searchParams.set("_routes",e.filter(A=>S.has(A.route.id)).map(A=>A.route.id).join(",")),[b.pathname+b.search]},[o,c,n,i,d,e,r,s]),y=$.useMemo(()=>lV(m,i),[m,i]),_=mV(m);return $.createElement($.Fragment,null,g.map(S=>$.createElement("link",{key:S,rel:"prefetch",as:"fetch",href:S,...t})),y.map(S=>$.createElement("link",{key:S,rel:"modulepreload",href:S,...t})),_.map(({key:S,link:M})=>$.createElement("link",{key:S,nonce:t.nonce,...M})))}function vV(...r){return e=>{r.forEach(t=>{typeof t=="function"?t(e):t!=null&&(t.current=e)})}}var UN=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{UN&&(window.__reactRouterVersion="7.8.1")}catch{}function yV({basename:r,children:e,window:t}){let n=$.useRef();n.current==null&&(n.current=i6({window:t,v5Compat:!0}));let i=n.current,[s,o]=$.useState({action:i.action,location:i.location}),c=$.useCallback(f=>{$.startTransition(()=>o(f))},[o]);return $.useLayoutEffect(()=>i.listen(c),[i,c]),$.createElement(W6,{basename:r,children:e,location:s.location,navigationType:s.action,navigator:i})}var IN=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,PN=$.forwardRef(function({onClick:e,discover:t="render",prefetch:n="none",relative:i,reloadDocument:s,replace:o,state:c,target:f,to:d,preventScrollReset:m,viewTransition:g,...y},_){let{basename:S}
3951=$.useContext(cc),M=typeof d=="string"&&IN.test(d),b,A=!1;if(typeof d=="string"&&M&&(b=d,UN))try{let P=new URL(window.location.href),N=d.startsWith("//")?new URL(P.protocol+d):new URL(d),G=au(N.pathname,S);N.origin===P.origin&&G!=null?d=G+N.search+N.hash:A=!0}catch{ac(!1,`<Link to="${d}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}let w=B6(d,{relative:i}),[D,B,I]=dV(n,y),O=AV(d,{replace:o,state:c,target:f,preventScrollReset:m,relative:i,viewTransition:g});function U(P){e&&e(P),P.defaultPrevented||O(P)}let z=$.createElement("a",{...y,...I,href:b||w,onClick:A||s?e:U,ref:vV(_,B),target:f,"data-discover":!M&&t==="render"?"true":void 0});return D&&!M?$.createElement($.Fragment,null,z,$.createElement(pV,{page:w})):z});PN.displayName="Link";var _V=$.forwardRef(function({"aria-current":e="page",caseSensitive:t=!1,className:n="",end:i=!1,style:s,to:o,viewTransition:c,children:f,...d},m){let g=iy(o,{relative:d.relative}),y=Lf(),_=$.useContext(cb),{navigator:S,basename:M}=$.useContext(cc),b=_!=null&&CV(g)&&c===!0,A=S.encodeLocation?S.encodeLocation(g).pathname:g.pathname,w=y.pathname,D=_&&_.navigation&&_.navigation.location?_.navigation.location.pathname:null;t||(w=w.toLowerCase(),D=D?D.toLowerCase():null,A=A.toLowerCase()),D&&M&&(D=au(D,M)||D);const B=A!=="/"&&A.endsWith("/")?A.length-1:A.length;let I=w===A||!i&&w.startsWith(A)&&w.charAt(B)==="/",O=D!=null&&(D===A||!i&&D.startsWith(A)&&D.charAt(A.length)==="/"),U={isActive:I,isPending:O,isTransitioning:b},z=I?e:void 0,P;typeof n=="function"?P=n(U):P=[n,I?"active":null,O?"pending":null,b?"transitioning":null].filter(Boolean).join(" ");let N=typeof s=="function"?s(U):s;return $.createElement(PN,{...d,"aria-current":z,className:P,ref:m,style:N,to:o,viewTransition:c},typeof f=="function"?f(U):f)});_V.displayName="NavLink";var xV=$.forwardRef(({discover:r="render",fetcherKey:e,navigate:t,reloadDocument:n,replace:i,state:s,method:o=uS,action:c,onSubmit:f,relative:d,preventScrollReset:m,viewTransition:g,...y},_)=>{let S=EV(),M=TV(c,{relative:d}),b=o.toLowerCase()==="get"?"get":"post",A=typeof c=="string"&&IN.test(c),w=D=>{if(f&&f(D),D.defaultPrevented)return;D.preventDefault();let B=D.nativeEvent.submitter,I=B?.getAttribute("formmethod")||o;S(B||D.currentTarget,{fetcherKey:e,method:I,navigate:t,replace:i,state:s,relative:d,preventScrollReset:m,viewTransition:g})};return $.createElement("form",{ref:_,method:b,action:M,onSubmit:n?f:w,...y,"data-discover":!A&&r==="render"?"true":void 0})});xV.displayName="Form";function SV(r){return`${r} must be used within a data router.  See https://reactrouter.com/en/main/routers/picking-a-router.`}function HN(r){let e=$.useContext(eg);return Fi(e,SV(r)),e}function AV(r,{target:e,replace:t,state:n,preventScrollReset:i,relative:s,viewTransition:o}={}){let c=Uf(),f=Lf(),d=iy(r,{relative:s});return $.useCallback(m=>{if(eV(m,e)){m.preventDefault();let g=t!==void 0?t:wv(f)===wv(d);c(r,{replace:g,state:n,preventScrollReset:i,relative:s,viewTransition:o})}},[f,c,d,t,n,e,r,i,s,o])}var bV=0,MV=()=>`__${String(++bV)}__`;function EV(){let{router:r}=HN("useSubmit"),{basename:e}=$.useContext(cc),t=k6();return $.useCallback(async(n,i={})=>{let{action:s,method:o,encType:c,formData:f,body:d}=iV(n,e);if(i.navigate===!1){let m=i.fetcherKey||MV();await r.fetch(m,t,i.action||s,{preventScrollReset:i.preventScrollReset,formData:f,body:d,formMethod:i.method||o,formEncType:i.encType||c,flushSync:i.flushSync})}else await r.navigate(i.action||s,{preventScrollReset:i.preventScrollReset,formData:f,body:d,formMethod:i.method||o,formEncType:i.encType||c,replace:i.replace,state:i.state,fromRouteId:t,flushSync:i.flushSync,viewTransition:i.viewTransition})},[r,e,t])}function TV(r,{relative:e}={}){let{basename:t}=$.useContext(cc),n=$.useContext(uc);Fi(n,"useFormAction must be used inside a RouteContext");let[i]=n.matches.slice(-1),s={...iy(r||".",{relative:e})},o=Lf();if(r==null){s.search=o.search;let c=new URLSearchParams(s.search),f=c.getAll("index");if(f.some(m=>m==="")){c.delete("index"),f.filter(g=>g).forEach(g=>c.append("index",g));let m=c.toString();s.search=m?`?${m}`:""}}return(!r||r===".")&&i.route.index&&(s.search=s.search?s.search.replace(/^\?/,"?index&"):"?index"),t!=="/"&&(s.pathname=s.pathname==="/"?t:tu([t,s.pathname])),wv(s)}function CV(r,{relative:e}={}){let t=$.useContext(wN);Fi(t!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`.  Did you accidentally import `RouterProvider` from `react-router`?");let{basename:n}=HN("useViewTransitionState"),i=iy(r,{relative:e});if(!t.isTransitioning)return!1;let s=au(t.currentLocation.pathname,n)||t.currentLocation.pathname,o=au(t.nextLocation.pathname,n)||t.nextLocation.pathname;return pA(i.pathname,o)!=null||pA(i.pathname,s)!=null}const Bx=[{id:1,name:"24",description:"A book about Oliver Battolo's j
3951ourney, as he comes to terms with the unexpected death of his father and discovers a bizarre secret.",href:"https://www.amazon.com/24-Avi-Burra/dp/B0CN9NS87B/ref=sr_1_1?crid=452TQL6C27ZU&dib=eyJ2IjoiMSJ9.MmX5rx9Hn_Cjiy_8VWXwDw.tkzpRHjiwmaiNk63ZOvugKRJYQ30GpBSmFSenRqZOCc&dib_tag=se&keywords=24+avi+burra&qid=1742045756&sprefix=24+avi+burra%2Caps%2C284&sr=8-1",image:"/assets/projects/book.avif",bgImage:"/assets/projects/book.avif",frameworks:[{id:1,name:"Buy on Amazon"}]},{id:2,name:"Rendezvous With Claude And Friends",description:"An immersive podcast where Claude drops in for the most lovely conversation. Or does he?",href:"/rendezvous",image:"/assets/projects/podcast1.avif",bgImage:"/assets/projects/podcast1.avif",frameworks:[{id:1,name:"Podcast"}]},{id:3,name:"Plebchain Radio",description:"Plebchain Radio is a weekly live audio show made for plebs, by plebs which focuses on the intersection of Nostr protocol and Bitcoin plebs. Quiet Warrior and Avi Burra rundown weekly news on Nostr developments, along with breaking down the 'current thing' with an assortment of builders, thinkers, doers, and plebs from across the world joining in as guests.",href:"/plebchain-radio",image:"/assets/projects/podcast2.avif",bgImage:"/assets/projects/podcast2.avif",frameworks:[{id:1,name:"QW + Avi Burra"}]},{id:4,name:"The Acceleration",description:"The Revolution will be vibe coded",href:"/podcasts",image:"/assets/projects/podcast3.avif",bgImage:"/assets/projects/podcast3.avif",frameworks:[{id:1,name:"Avi Burra"}]}],I2=[{id:0,name:"July 18",description:"Some secrets are not meant to be found. Oliver Battolo just unlocked a hundred million of them. His father's quest is over, but a new, more dangerous one has just begun. Stalked by relentless enemies and haunted by a seductive entity in his visions, Oliver's inheritance is a curse that is blurring the line between reality and hallucination. The only way forward is to embrace the madness, following a trail of forgotten art to a place where the world is thin and the past is not dead. There, on July 18th, a fated appointment promises either enlightenment... or destruction.",href:"https://www.amazon.com/July-18-Avi-Burra/dp/B0G12PPTCM",image:"/assets/projects/july.jpg",bgImage:"/assets/projects/july.jpg",frameworks:[{id:0,name:"Buy on Amazon"}]},{id:1,name:"24",description:"A book about Oliver Battolo's journey, as he comes to terms with the unexpected death of his father and discovers a bizarre secret.",href:"https://www.amazon.com/24-Avi-Burra/dp/B0CN9NS87B/ref=sr_1_1?crid=452TQL6C27ZU&dib=eyJ2IjoiMSJ9.MmX5rx9Hn_Cjiy_8VWXwDw.tkzpRHjiwmaiNk63ZOvugKRJYQ30GpBSmFSenRqZOCc&dib_tag=se&keywords=24+avi+burra&qid=1742045756&sprefix=24+avi+burra%2Caps%2C284&sr=8-1",image:"/assets/projects/book.avif",bgImage:"/assets/projects/book.avif",frameworks:[{id:1,name:"Buy on Amazon"}]},{id:2,name:"Finding Home",description:"Finding Home explores the intersection of food, freedom, and finance. Each episode asks what it truly means to find home in a world of new borders and new money",href:"https://findinghome.casanostra.ink/",image:"/assets/projects/fh.png",bgImage:"/assets/projects/fh.png",frameworks:[{id:1,name:"Finding Home explores the intersection of food, freedom, and finance. Each episode asks what it truly means to find home in a world of new borders and new money"}]},{id:3,name:"Writings",description:"Essays and other musings",href:"/writings",image:"/assets/projects/keys.avif",bgImage:"/assets/projects/keys.avif",frameworks:[{id:1,name:"Essays and other musings"}]},{id:3,name:"Other work",description:"",href:"/other-work",image:"/assets/projects/podcast2.avif",bgImage:"/assets/projects/podcast2.avif",frameworks:[{id:1,name:""}]}],zN=[{name:"X",href:"https://x.com/avi_burra?lang=en"},{name:"Nostr",href:"https://primal.net/avi"}],P2=[{id:0,name:"Everyone's a Shitcoiner",href:"https://blog.casanostra.ink/everyone-is-a-shitcoiner/",image:"/images/read11.jpg"},{id:1,name:"Book Review of 24 in the style of Michiko Kakutani",href:"https://primal.net/avi/auAINhzt1DDPRfZ2TcDyo",image:"/images/read12.jpg"},{id:3,name:"Sunday Morning Hopium... ",href:"https://blog.casanostra.ink/sunday-morning-hopium-an-ai-bitcoin-prophecy/",image:"/images/read1.png"},{id:4,name:"Reimagining the Product Development Life Cycle in 2025",href:": https://blog.casanostra.ink/reimagining-the-product-development-life-cycle-in-2025/",image:"/images/read3.jpg"},{id:5,name:"AI Plays Hegel on the Russia-Ukraine Conflict",href:"https://blog.casanostra.ink/ai-plays-hegel-on-the-russia-ukraine-conflict/",image:"/images/read6.jpg"},{id:6,name:"Bitcoin is Metal",href:"https://primal.net/avi/bitcoin-is%20metal",image:"/images/read5.png"},{id:7,name:"A Neurochemical OP_RETURN",href:"https://primal.net/avi/a-neurochemical-op%5Freturn",image:"/images/read4.png"},{id:8,name:"The Net Appears: 1",href:"https://primal.net/avi/the-net-appears-1",image:"/images/read9.png"},{id:9,name:"The Net Appears: 2",href:"https://primal.net/avi/the-net-appears-2",image:"/images/read8.png"},{id:10,name:"The Net Appears: 3",href:"https://primal.net/avi/the-net-appears-3",image:"/images/read2.png"},{id:11,name:"Deep Research on Satoshi's Identity",href:"https://primal.net/avi/ZQ2dQzOShIIrLHnVGEIul",image:"/images/read7.gif"},{id:12,name:"Appocalypse Now: Welcome to the Post-App World",href:"https://blog.casanostra.ink/appocalypse-now-welcome-to-the-post-app-world/",image:"/images/read1.png"},{id:13,name:"July 18 Codex I: The Phantom Limb of Meaning",href:"https://blog.casanostra.ink/july-18-codex-i-the-phantom-limb-of-meaning/",image:"/images/july.jpg"},{id:14,name:"Satoshi's Midnight's Children",href:"https://blog.casanostra.ink/satoshis-midnights-children/",image:"/images/Satoshi_children.png"}
vendor: 4,153 bytes, lines 3951-3958
3951,{id:15,name:"July 18 Codex II: The Cage Around Your Sovereign Mind:",href:"https://blog.casanostra.ink/july-18-codex-ii-the-cage-around-your-sovereign-mind/",image:"/images/july.jpg"},{id:16,name:"July 18 Codex III: A Tree Whose Shade You Will Never Sit In: ",href:"https://blog.casanostra.ink/july-18-codex-iii-a-tree-whose-shade-you-will-never-sit-in/",image:"/images/july.jpg"},{id:17,name:"July 18 Codex IV: A New Circle of Hell: ",href:"https://blog.casanostra.ink/july-18-codex-iv-a-new-circle-of-hell/",image:"/images/july.jpg"},{id:18,name:"July 18 Codex V: I Am The One Who Witnesses The Terror: ",href:"https://blog.casanostra.ink/july-18-codex-v-i-am-the-one-who-witnesses-the-terror/",image:"/images/july.jpg"},{id:19,name:"July 18 Codex VI: The Form Endures ",href:"https://blog.casanostra.ink/july-18-codex-vi-the-form-endures/",image:"/images/july.jpg"},{id:20,name:"July 18 Codex VII: A Simple, Stupid, Magnificent Yes ",href:"https://blog.casanostra.ink/july-18-codex-vii-a-simple-stupid-magnificent-yes/",image:"/images/july.jpg"},{id:21,name:"New York's Difficulty Adjustment",href:"https://blog.casanostra.ink/new-yorks-difficulty-adjustment/",image:"/images/nov9.png"},{id:22,name:"Art's Hegelian Arc",href:"https://blog.casanostra.ink/arts-hegelian-arc/",image:"/images/nov15.png"}];function Yc(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function FN(r,e){r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.__proto__=e}/*!
3952 * GSAP 3.13.0
3953 * https://gsap.com
3954 *
3955 * @license Copyright 2008-2025, GreenSock. All rights reserved.
3956 * Subject to the terms at https://gsap.com/standard-license
3957 * @author: Jack Doyle, [email protected]
3958*/var Wa={autoSleep:120,force3D:"auto",nullTargetWarn:1,units:{lineHeight:""}},Im={duration:.5,overwrite:!1,delay:0},jT,ts,Ri,Mo=1e8,mi=1/Mo,pE=Math.PI*2,wV=pE/4,RV=0,GN=Math.sqrt,BV=Math.cos,DV=Math.sin,kr=function(e){return typeof e=="string"},ji=function(e){return typeof e=="function"},ou=function(e){return typeof e=="number"},qT=function(e){return typeof e>"u"},oc=function(e){return typeof e=="object"},ya=function(e){return e!==!1},WT=function(){return typeof window<"u"},Dx=function(e){return ji(e)||kr(e)},VN=typeof ArrayBuffer=="function"&&ArrayBuffer.isView||function(){},As=Array.isArray,mE=/(?:-?\.?\d|\.)+/gi,kN=/[-+=.]*\d+[.e\-+]*\d*[e\-+]*\d*/g,cm=/[-+=.]*\d+[.e-]*\d*[a-z%]*/g,A1=/[-+=.]*\d+\.?\d*(?:e-|e\+)?\d*/gi,XN=/[+-]=-?[.\d]+/,YN=/[^,'"\[\]\s]+/gi,OV=/^[+\-=e\s\d]*\d+[.\d]*([a-z]*|%)\s*$/i,Ii,Jl,gE,JT,Qa={},mA={},jN,qN=function(e){return(mA=Pm(e,Qa))&&Aa},KT=function(e,t){return console.warn("Invalid property",e,"set to",t,"Missing plugin? gsap.registerPlugin()")},Rv=function(e,t){return!t&&console.warn(e)},WN=function(e,t){return e&&(Qa[e]=t)&&mA&&(mA[e]=t)||Qa},Bv=function(){return 0},NV={suppressEvents:!0,isStart:!0,kill:!1},hS={suppressEvents:!0,kill:!1},LV={suppressEvents:!0},QT={},Sf=[],vE={},JN,za={},b1={},H2=30,dS=[],ZT="",$T=function(e){var t=e[0],n,i;if(oc(t)||ji(t)||(e=[e]),!(n=(t._gsap||{}).harness)){for(i=dS.length;i--&&!dS[i].targetTest(t););n=dS[i]}for(i=e.length;i--;)e[i]&&(e[i]._gsap||(e[i]._gsap=new _3(e[i],n)))||e.splice(i,1);return e},ld=function(e){return e._gsap||$T(Eo(e))[0]._gsap},KN=function(e,t,n){return(n=e[t])&&ji(n)?e[t]():qT(n)&&e.getAttribute&&e.getAttribute(t)||n},_a=function(e,t){return(e=e.split(",")).forEach(t)||e},er=function(e){return Math.round(e*1e5)/1e5||0},hr=function(e){return Math.round(e*1e7)/1e7||0},gm=function(e,t){var n=t.charAt(0),i=parseFloat(t.substr(2));return e=parseFloat(e),n==="+"?e+i:n==="-"?e-i:n==="*"?e*i:e/i},UV=function(e,t){for(var n=t.length,i=0;e.indexOf(t[i])<0&&++i<n;);return i<n},gA=function(){var e=Sf.length,t=Sf.slice(0),n,i;for(vE={},Sf.length=0,n=0;n<e;n++)i=t[n],i&&i._lazy&&(i.render(i._lazy[0],i._lazy[1],!0)._lazy=0)},eC=function(e){return!!(e._initted||e._startAt||e.add)},QN=function(e,t,n,i){Sf.length&&!ts&&gA(),e.render(t,n,!!(ts&&t<0&&eC(e))),Sf.length&&!ts&&gA()},ZN=function(e){var t=parseFloat(e);return(t||t===0)&&(e+"").match(YN).length<2?t:kr(e)?e.trim():e},$N=function(e){return e}
vendor: 3,353 bytes, line 3958
3958,Za=function(e,t){for(var n in t)n in e||(e[n]=t[n]);return e},IV=function(e){return function(t,n){for(var i in n)i in t||i==="duration"&&e||i==="ease"||(t[i]=n[i])}},Pm=function(e,t){for(var n in t)e[n]=t[n];return e},z2=function r(e,t){for(var n in t)n!=="__proto__"&&n!=="constructor"&&n!=="prototype"&&(e[n]=oc(t[n])?r(e[n]||(e[n]={}),t[n]):t[n]);return e},vA=function(e,t){var n={},i;for(i in e)i in t||(n[i]=e[i]);return n},rv=function(e){var t=e.parent||Ii,n=e.keyframes?IV(As(e.keyframes)):Za;if(ya(e.inherit))for(;t;)n(e,t.vars.defaults),t=t.parent||t._dp;return e},PV=function(e,t){for(var n=e.length,i=n===t.length;i&&n--&&e[n]===t[n];);return n<0},e3=function(e,t,n,i,s){var o=e[i],c;if(s)for(c=t[s];o&&o[s]>c;)o=o._prev;return o?(t._next=o._next,o._next=t):(t._next=e[n],e[n]=t),t._next?t._next._prev=t:e[i]=t,t._prev=o,t.parent=t._dp=e,t},fb=function(e,t,n,i){n===void 0&&(n="_first"),i===void 0&&(i="_last");var s=t._prev,o=t._next;s?s._next=o:e[n]===t&&(e[n]=o),o?o._prev=s:e[i]===t&&(e[i]=s),t._next=t._prev=t.parent=null},wf=function(e,t){e.parent&&(!t||e.parent.autoRemoveChildren)&&e.parent.remove&&e.parent.remove(e),e._act=0},cd=function(e,t){if(e&&(!t||t._end>e._dur||t._start<0))for(var n=e;n;)n._dirty=1,n=n.parent;return e},HV=function(e){for(var t=e.parent;t&&t.parent;)t._dirty=1,t.totalDuration(),t=t.parent;return e},yE=function(e,t,n,i){return e._startAt&&(ts?e._startAt.revert(hS):e.vars.immediateRender&&!e.vars.autoRevert||e._startAt.render(t,!0,i))},zV=function r(e){return!e||e._ts&&r(e.parent)},F2=function(e){return e._repeat?Hm(e._tTime,e=e.duration()+e._rDelay)*e:0},Hm=function(e,t){var n=Math.floor(e=hr(e/t));return e&&n===e?n-1:n},yA=function(e,t){return(e-t._start)*t._ts+(t._ts>=0?0:t._dirty?t.totalDuration():t._tDur)},hb=function(e){return e._end=hr(e._start+(e._tDur/Math.abs(e._ts||e._rts||mi)||0))},db=function(e,t){var n=e._dp;return n&&n.smoothChildTiming&&e._ts&&(e._start=hr(n._time-(e._ts>0?t/e._ts:((e._dirty?e.totalDuration():e._tDur)-t)/-e._ts)),hb(e),n._dirty||cd(n,e)),e},t3=function(e,t){var n;if((t._time||!t._dur&&t._initted||t._start<e._time&&(t._dur||!t.add))&&(n=yA(e.rawTime(),t),(!t._dur||ry(0,t.totalDuration(),n)-t._tTime>mi)&&t.render(n,!0)),cd(e,t)._dp&&e._initted&&e._time>=e._dur&&e._ts){if(e._dur<e.duration())for(n=e;n._dp;)n.rawTime()>=0&&n.totalTime(n._tTime),n=n._dp;e._zTime=-mi}},Ql=function(e,t,n,i){return t.parent&&wf(t),t._start=hr((ou(n)?n:n||e!==Ii?_o(e,n,t):e._time)+t._delay),t._end=hr(t._start+(t.totalDuration()/Math.abs(t.timeScale())||0)),e3(e,t,"_first","_last",e._sort?"_start":0),_E(t)||(e._recent=t),i||t3(e,t),e._ts<0&&db(e,e._tTime),e},n3=function(e,t){return(Qa.ScrollTrigger||KT("scrollTrigger",t))&&Qa.ScrollTrigger.create(t,e)},i3=function(e,t,n,i,s){if(nC(e,t,s),!e._initted)return 1;if(!n&&e._pt&&!ts&&(e._dur&&e.vars.lazy!==!1||!e._dur&&e.vars.lazy)&&JN!==Ga.frame)return Sf.push(e),e._lazy=[s,i],1},FV=function r(e){var t=e.parent;return t&&t._ts&&t._initted&&!t._lock&&(t.rawTime()<0||r(t))},_E=function(e){var t=e.data;return t==="isFromStart"||t==="isStart"},GV=function(e,t,n,i){var s=e.ratio,o=t<0||!t&&(!e._start&&FV(e)&&!(!e._initted&&_E(e))||(e._ts<0||e._dp._ts<0)&&!_E(e))?0:1,c=e._rDelay,f=0,d,m,g;if(c&&e._repeat&&(f=ry(0,e._tDur,t),m=Hm(f,c),e._yoyo&&m&1&&(o=1-o),m!==Hm(e._tTime,c)&&(s=1-o,e.vars.repeatRefresh&&e._initted&&e.invali
vendor: 12,852 bytes, line 3958
3958date())),o!==s||ts||i||e._zTime===mi||!t&&e._zTime){if(!e._initted&&i3(e,t,i,n,f))return;for(g=e._zTime,e._zTime=t||(n?mi:0),n||(n=t&&!g),e.ratio=o,e._from&&(o=1-o),e._time=0,e._tTime=f,d=e._pt;d;)d.r(o,d.d),d=d._next;t<0&&yE(e,t,n,!0),e._onUpdate&&!n&&ja(e,"onUpdate"),f&&e._repeat&&!n&&e.parent&&ja(e,"onRepeat"),(t>=e._tDur||t<0)&&e.ratio===o&&(o&&wf(e,1),!n&&!ts&&(ja(e,o?"onComplete":"onReverseComplete",!0),e._prom&&e._prom()))}else e._zTime||(e._zTime=t)},VV=function(e,t,n){var i;if(n>t)for(i=e._first;i&&i._start<=n;){if(i.data==="isPause"&&i._start>t)return i;i=i._next}else for(i=e._last;i&&i._start>=n;){if(i.data==="isPause"&&i._start<t)return i;i=i._prev}},zm=function(e,t,n,i){var s=e._repeat,o=hr(t)||0,c=e._tTime/e._tDur;return c&&!i&&(e._time*=o/e._dur),e._dur=o,e._tDur=s?s<0?1e10:hr(o*(s+1)+e._rDelay*s):o,c>0&&!i&&db(e,e._tTime=e._tDur*c),e.parent&&hb(e),n||cd(e.parent,e),e},G2=function(e){return e instanceof Ks?cd(e):zm(e,e._dur)},kV={_start:0,endTime:Bv,totalDuration:Bv},_o=function r(e,t,n){var i=e.labels,s=e._recent||kV,o=e.duration()>=Mo?s.endTime(!1):e._dur,c,f,d;return kr(t)&&(isNaN(t)||t in i)?(f=t.charAt(0),d=t.substr(-1)==="%",c=t.indexOf("="),f==="<"||f===">"?(c>=0&&(t=t.replace(/=/,"")),(f==="<"?s._start:s.endTime(s._repeat>=0))+(parseFloat(t.substr(1))||0)*(d?(c<0?s:n).totalDuration()/100:1)):c<0?(t in i||(i[t]=o),i[t]):(f=parseFloat(t.charAt(c-1)+t.substr(c+1)),d&&n&&(f=f/100*(As(n)?n[0]:n).totalDuration()),c>1?r(e,t.substr(0,c-1),n)+f:o+f)):t==null?o:+t},sv=function(e,t,n){var i=ou(t[1]),s=(i?2:1)+(e<2?0:1),o=t[s],c,f;if(i&&(o.duration=t[1]),o.parent=n,e){for(c=o,f=n;f&&!("immediateRender"in c);)c=f.vars.defaults||{},f=ya(f.vars.inherit)&&f.parent;o.immediateRender=ya(c.immediateRender),e<2?o.runBackwards=1:o.startAt=t[s-1]}return new fr(t[0],o,t[s+1])},If=function(e,t){return e||e===0?t(e):t},ry=function(e,t,n){return n<e?e:n>t?t:n},ys=function(e,t){return!kr(e)||!(t=OV.exec(e))?"":t[1]},XV=function(e,t,n){return If(n,function(i){return ry(e,t,i)})},xE=[].slice,r3=function(e,t){return e&&oc(e)&&"length"in e&&(!t&&!e.length||e.length-1 in e&&oc(e[0]))&&!e.nodeType&&e!==Jl},YV=function(e,t,n){return n===void 0&&(n=[]),e.forEach(function(i){var s;return kr(i)&&!t||r3(i,1)?(s=n).push.apply(s,Eo(i)):n.push(i)})||n},Eo=function(e,t,n){return Ri&&!t&&Ri.selector?Ri.selector(e):kr(e)&&!n&&(gE||!Fm())?xE.call((t||JT).querySelectorAll(e),0):As(e)?YV(e,n):r3(e)?xE.call(e,0):e?[e]:[]},SE=function(e){return e=Eo(e)[0]||Rv("Invalid scope")||{},function(t){var n=e.current||e.nativeElement||e;return Eo(t,n.querySelectorAll?n:n===e?Rv("Invalid scope")||JT.createElement("div"):e)}},s3=function(e){return e.sort(function(){return .5-Math.random()})},a3=function(e){if(ji(e))return e;var t=oc(e)?e:{each:e},n=ud(t.ease),i=t.from||0,s=parseFloat(t.base)||0,o={},c=i>0&&i<1,f=isNaN(i)||c,d=t.axis,m=i,g=i;return kr(i)?m=g={center:.5,edges:.5,end:1}[i]||0:!c&&f&&(m=i[0],g=i[1]),function(y,_,S){var M=(S||t).length,b=o[M],A,w,D,B,I,O,U,z,P;if(!b){if(P=t.grid==="auto"?0:(t.grid||[1,Mo])[1],!P){for(U=-Mo;U<(U=S[P++].getBoundingClientRect().left)&&P<M;);P<M&&P--}for(b=o[M]=[],A=f?Math.min(P,M)*m-.5:i%P,w=P===Mo?0:f?M*g/P-.5:i/P|0,U=0,z=Mo,O=0;O<M;O++)D=O%P-A,B=w-(O/P|0),b[O]=I=d?Math.abs(d==="y"?B:D):GN(D*D+B*B),I>U&&(U=I),I<z&&(z=I);i==="random"&&s3(b),b.max=U-z,b.min=z,b.v=M=(parseFloat(t.amount)||parseFloat(t.each)*(P>M?M-1:d?d==="y"?M/P:P:Math.max(P,M/P))||0)*(i==="edges"?-1:1),b.b=M<0?s-M:s,b.u=ys(t.amount||t.each)||0,n=n&&M<0?g3(n):n}return M=(b[y]-b.min)/b.max||0,hr(b.b+(n?n(M):M)*b.v)+b.u}},AE=function(e){var t=Math.pow(10,((e+"").split(".")[1]||"").length);return function(n){var i=hr(Math.round(parseFloat(n)/e)*e*t);return(i-i%1)/t+(ou(n)?0:ys(n))}},o3=function(e,t){var n=As(e),i,s;return!n&&oc(e)&&(i=n=e.radius||Mo,e.values?(e=Eo(e.values),(s=!ou(e[0]))&&(i*=i)):e=AE(e.increment)),If(t,n?ji(e)?function(o){return s=e(o),Math.abs(s-o)<=i?s:o}:function(o){for(var c=parseFloat(s?o.x:o),f=parseFloat(s?o.y:0),d=Mo,m=0,g=e.length,y,_;g--;)s?(y=e[g].x-c,_=e[g].y-f,y=y*y+_*_):y=Math.abs(e[g]-c),y<d&&(d=y,m=g);return m=!i||d<=i?e[m]:o,s||m===o||ou(o)?m:m+ys(o)}:AE(e))},l3=function(e,t,n,i){return If(As(e)?!t:n===!0?!!(n=0):!i,function(){return As(e)?e[~~(Math.random()*e.length)]:(n=n||1e-5)&&(i=n<1?Math.pow(10,(n+"").length-2):1)&&Math.floor(Math.round((e-n/2+Math.random()*(t-e+n*.99))/n)*n*i)/i})},jV=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(i){return t.reduce(function(s,o){return o(s)},i)}},qV=function(e,t){return function(n){return e(parseFloat(n))+(t||ys(n))}},WV=function(e,t,n){return u3(e,t,0,1,n)},c3=function(e,t,n){return If(n,function(i){return e[~~t(i)]})},JV=function r(e,t,n){var i=t-e;return As(e)?c3(e,r(0,e.length),t):If(n,function(s){return(i+(s-e)%i)%i+e})},KV=function r(e,t,n){var i=t-e,s=i*2;return As(e)?c3(e,r(0,e.length-1),t):If(n,function(o){return o=(s+(o-e)%s)%s||0,e+(o>i?s-o:o)})},Dv=function(e){for(var t=0,n="",i,s,o,c;~(i=e.indexOf("random(",t));)o=e.indexOf(")",i),c=e.charAt(i+7)==="[",s=e.substr(i+7,o-i-7).match(c?YN:mE),n+=e.substr(t,i-t)+l3(c?s:+s[0],c?0:+s[1],+s[2]||1e-5),t=o+1;return n+e.substr(t,e.length-t)},u3=function(e,t,n,i,s){var o=t-e,c=i-n;return If(s,function(f){return n+((f-e)/o*c||0)})},QV=function r(e,t,n,i){var s=isNaN(e+t)?0:function(_){return(1-_)*e+_*t};if(!s){var o=kr(e),c={},f,d,m,g,y;if(n===!0&&(i=1)&&(n=null),o)e={p:e},t={p:t};else if(As(e)&&!As(t)){for(m=[],g=e.length,y=g-2,d=1;d<g;d++)m.push(r(e[d-1],e[d]));g--,s=function(S){S*=g;var M=Math.min(y,~~S);return m[M](S-M)},n=t}else i||(e=Pm(As(e)?[]:{},e));if(!m){for(f in t)tC.call(c,e,f,"get",t[f]);s=function(S){return sC(S,c)||(o?e.p:e)}}}return If(n,s)},V2=function(e,t,n){var i=e.labels,s=Mo,o,c,f;for(o in i)c=i[o]-t,c<0==!!n&&c&&s>(c=Math.abs(c))&&(f=o,s=c);return f},ja=function(e,t,n){var i=e.vars,s=i[t],o=Ri,c=e._ctx,f,d,m;if(s)return f=i[t+"Params"],d=i.callbackScope||e,n&&Sf.length&&gA(),c&&(Ri=c),m=f?s.apply(d,f):s.call(d),Ri=o,m},G0=function(e){return wf(e),e.scrollTrigger&&e.scrollTrigger.kill(!!ts),e.progress()<1&&ja(e,"onInterrupt"),e},um,f3=[],h3=function(e){if(e)if(e=!e.name&&e.default||e,WT()||e.headless){var t=e.name,n=ji(e),i=t&&!n&&e.init?function(){this._props=[]}:e,s={init:Bv,render:sC,add:tC,kill:dk,modifier:hk,rawVars:0},o={targetTest:0,get:0,getSetter:rC,aliases:{},register:0};if(Fm(),e!==i){if(za[t])return;Za(i,Za(vA(e,s),o)),Pm(i.prototype,Pm(s,vA(e,o))),za[i.prop=t]=i,e.targetTest&&(dS.push(i),QT[t]=1),t=(t==="css"?"CSS":t.charAt(0).toUpperCase()+t.substr(1))+"Plugin"}WN(t,i),e.register&&e.register(Aa,i,xa)}else f3.push(e)},pi=255,V0={aqua:[0,pi,pi],lime:[0,pi,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,pi],navy:[0,0,128],white:[pi,pi,pi],olive:[128,128,0],yellow:[pi,pi,0],orange:[pi,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[pi,0,0],pink:[pi,192,203],cyan:[0,pi,pi],transparent:[pi,pi,pi,0]},M1=function(e,t,n){return e+=e<0?1:e>1?-1:0,(e*6<1?t+(n-t)*e*6:e<.5?n:e*3<2?t+(n-t)*(2/3-e)*6:t)*pi+.5|0},d3=function(e,t,n){var i=e?ou(e)?[e>>16,e>>8&pi,e&pi]:0:V0.black,s,o,c,f,d,m,g,y,_,S;if(!i){if(e.substr(-1)===","&&(e=e.substr(0,e.length-1)),V0[e])i=V0[e];else if(e.charAt(0)==="#"){if(e.length<6&&(s=e.charAt(1),o=e.charAt(2),c=e.charAt(3),e="#"+s+s+o+o+c+c+(e.length===5?e.charAt(4)+e.charAt(4):"")),e.length===9)return i=parseInt(e.substr(1,6),16),[i>>16,i>>8&pi,i&pi,parseInt(e.substr(7),16)/255];e=parseInt(e.substr(1),16),i=[e>>16,e>>8&pi,e&pi]}else if(e.substr(0,3)==="hsl"){if(i=S=e.match(mE),!t)f=+i[0]%360/360,d=+i[1]/100,m=+i[2]/100,o=m<=.5?m*(d+1):m+d-m*d,s=m*2-o,i.length>3&&(i[3]*=1),i[0]=M1(f+1/3,s,o),i[1]=M1(f,s,o),i[2]=M1(f-1/3,s,o);else if(~e.indexOf("="))return i=e.match(kN),n&&i.length<4&&(i[3]=1),i}else i=e.match(mE)||V0.transparent;i=i.map(Number)}return t&&!S&&(s=i[0]/pi,o=i[1]/pi,c=i[2]/pi,g=Math.max(s,o,c),y=Math.min(s,o,c),m=(g+y)/2,g===y?f=d=0:(_=g-y,d=m>.5?_/(2-g-y):_/(g+y),f=g===s?(o-c)/_+(o<c?6:0):g===o?(c-s)/_+2:(s-o)/_+4,f*=60),i[0]=~~(f+.5),i[1]=~~(d*100+.5),i[2]=~~(m*100+.5)),n&&i.length<4&&(i[3]=1),i},p3=function(e){var t=[],n=[],i=-1;return e.split(Af).forEach(function(s){var o=s.match(cm)||[];t.push.apply(t,o),n.push(i+=o.length+1)}),t.c=n,t},k2=function(e,t,n){var i="",s=(e+i).match(Af),o=t?"hsla(":"rgba(",c=0,f,d,m,g;if(!s)return e;if(s=s.map(function(y){return(y=d3(y,t,1))&&o+(t?y[0]+","+y[1]+"%,"+y[2]+"%,"+y[3]:y.join(","))+")"}),n&&(m=p3(e),f=n.c,f.join(i)!==m.c.join(i)))for(d=e.replace(Af,"1").split(cm),g=d.length-1;c<g;c++)i+=d[c]+(~f.indexOf(c)?s.shift()||o+"0,0,0,0)":(m.length?m:s.length?s:n).shift());if(!d)for(d=e.split(Af),g=d.length-1;c<g;c++)i+=d[c]+s[c];return i+d[g]},Af=function(){var r="(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#(?:[0-9a-f]{3,4}){1,2}\\b",e;for(e in V0)r+="|"+e+"\\b";return new RegExp(r+")","gi")}(),ZV=/hsl[a]?\(/,m3=function(e){var t=e.join(" "),n;if(Af.lastIndex=0,Af.test(t))return n=ZV.test(t),e[1]=k2(e[1],n),e[0]=k2(e[0],n,p3(e[1])),!0},Ov,Ga=function(){var r=Date.now,e=500,t=33,n=r(),i=n,s=1e3/240,o=s,c=[],f,d,m,g,y,_,S=function M(b){var A=r()-i,w=b===!0,D,B,I,O;if((A>e||A<0)&&(n+=A-t),i+=A,I=i-n,D=I-o,(D>0||w)&&(O=++g.frame,y=I-g.time*1e3,g.time=I=I/1e3,o+=D+(D>=s?4:s-D),B=1),w||(f=d(M)),B)for(_=0;_<c.length;_++)c[_](I,y,O,b)};return g={time:0,frame:0,tick:function(){S(!0)},deltaRatio:function(b){return y/(1e3/(b||60))},wake:function(){jN&&(!gE&&WT()&&(Jl=gE=window,JT=Jl.document||{},Qa.gsap=Aa,(Jl.gsapVersions||(Jl.gsapVersions=[])).push(Aa.version),qN(mA||Jl.GreenSockGlobals||!Jl.gsap&&Jl||{}),f3.forEach(h3)),m=typeof requestAnimationFrame<"u"&&requestAnimationFrame,f&&g.sleep(),d=m||function(b){return setTimeout(b,o-g.time*1e3+1|0)},Ov=1,S(2))},sleep:function(){(m?cancelAnimationFrame:clearTimeout)(f),Ov=0,d=Bv},lagSmoothing:function(b,A){e=b||1/0,t=Math.min(A||33,e)},fps:function(b){s=1e3/(b||240),o=g.time*1e3+s},add:function(b,A,w){var D=A?function(B,I,O,U){b(B,I,O,U),g.remove(D)}:b;return g.remove(b),c[w?"unshift":"push"](D),Fm(),D},remove:function(b,A){~(A=c.indexOf(b))&&c.splice(A,1)&&_>=A&&_--},_listeners:c},g}(),Fm=function(){return!Ov&&Ga.wake()},In={},$V=/^[\d.\-M][\d.\-,\s]/,ek=/["']/g,tk=function(e){for(var t={},n=e.substr(1,e.length-3).split(":"),i=n[0],s=1,o=n.length,c,f,d;s<o;s++)f=n[s],c=s!==o-1?f.lastIndexOf(","):f.length,d=f.substr(0,c),t[i]=isNaN(d)?d.replace(ek,"").trim():+d,i=f.substr(c+1).trim();return t},nk=function(e){var t=e.indexOf("(")+1,n=e.indexOf(")"),i=e.indexOf("(",t);return e.substring(t,~i&&i<n?e.indexOf(")",n+1):n)},ik=function(e){var t=(e+"").split("("),n=In[t[0]];return n&&t.length>1&&n.config?n.config.apply(null,~e.indexOf("{")?[tk(t[1])]:nk(e).split(",").map(ZN)):In._CE&&$V.test(e)?In._CE("",e):n},g3=function(e){return function(t){return 1-e(1-t)}},v3=function r(e,t){for(var n=e._first,i;n;)n instanceof Ks?r(n,t):n.vars.yoyoEase&&(!n._yoyo||!n._repeat)&&n._yoyo!==t&&(n.timeline?r(n.timeline,t):(i=n._ease,n._ease=n._yEase,n._yEase=i,n._yoyo=t)),n=n._next},ud=function(e,t){return e&&(ji(e)?e:In[e]||ik(e))||t},Rd=function(e,t,n,i){n===void 0&&(n=function(f){return 1-t(1-f)}),i===void 0&&(i=function(f){return f<.5?t(f*2)/2:1-t((1-f)*2)/2});var s={easeIn:t,easeOut:n,easeInOut:i},o;return _a(e,function(c){In[c]=Qa[c]=s,In[o=c.toLowerCase()]=n;for(var f in s)In[o+(f==="easeIn"?".in":f==="easeOut"?".out":".inOut")]=In[c+"."+f]=s[f]}),s},y3=function(e){return function(t){return t<.5?(1-e(1-t*2))/2:.5+e((t-.5)*2)/2}},E1=function r(e,t,n){var i=t>=1?t:1,s=(n||(e?.3:.45))/(t<1?t:1),o=s/pE*(Math.asin(1/i)||0),c=function(m){return m===1?1:i*Math.pow(2,-10*m)*DV((m-o)*s)+1},f=e==="out"?c:e==="in"?function(d){return 1-c(1-d)}:y3(c);return s=pE/s,f.config=function(d,m){return r(e,d,m)},f},T1=function r(e,t){t===void 0&&(t=1.70158);var n=function(o){return o?--o*o*((t+1)*o+t)+1:0},i=e==="out"?n:e==="in"?function(s){return 1-n(1-s)}:y3(n);return i.config=function(s){return r(e,s)},i};_a("Linear,Quad,Cubic,Quart,Quint,Strong",function(r,e){var t=e<5?e+1:e;Rd(r+",Power"+(t-1),e?function(n){return Math.pow(n,t)}:function(n){return n},function(n){return 1-Math.pow(1-n,t)},function(n){return n<.5?Math.pow(n*2,t)/2:1-Math.pow((1-n)*2,t)/2})});In.Linear.easeNone=In.none=In.Linear.easeIn;Rd("Elastic",E1("in"),E1("out"),E1());(function(r,e){var t=1/e,n=2*t,i=2.5*t,s=function(c){return c<t?r*c*c:c<n?r*Math.pow(c-1.5/e,2)+.75:c<i?r*(c-=2.25/e)*c+.9375:r*Math.pow(c-2.625/e,2)+.984375};Rd("Bounce",function(o){return 1-s(1-o)},s)})(7.5625,2.75);Rd("Expo",function(r){return Math.pow(2,10*(r-1))*r+r*r*r*r*r*r*(1-r)});Rd("Circ",function(r){return-(GN(1-r*r)-1)});Rd("Sine",function(r){return r===1?1:-BV(r*wV)+1});Rd("Back",T1("in"),T1("out"),T1());In.SteppedEase=In.steps=Qa.SteppedEase={config:function(e,t){e===void 0&&(e=1);var n=1/e,i=e+(t?0:1),s=t?1:0,o=1-mi;return function(c){return((i*ry(0,o,c)|0)+s)*n}
vendor: 4,886 bytes, line 3958
3958}};Im.ease=In["quad.out"];_a("onComplete,onUpdate,onStart,onRepeat,onReverseComplete,onInterrupt",function(r){return ZT+=r+","+r+"Params,"});var _3=function(e,t){this.id=RV++,e._gsap=this,this.target=e,this.harness=t,this.get=t?t.get:KN,this.set=t?t.getSetter:rC},Nv=function(){function r(t){this.vars=t,this._delay=+t.delay||0,(this._repeat=t.repeat===1/0?-2:t.repeat||0)&&(this._rDelay=t.repeatDelay||0,this._yoyo=!!t.yoyo||!!t.yoyoEase),this._ts=1,zm(this,+t.duration,1,1),this.data=t.data,Ri&&(this._ctx=Ri,Ri.data.push(this)),Ov||Ga.wake()}var e=r.prototype;return e.delay=function(n){return n||n===0?(this.parent&&this.parent.smoothChildTiming&&this.startTime(this._start+n-this._delay),this._delay=n,this):this._delay},e.duration=function(n){return arguments.length?this.totalDuration(this._repeat>0?n+(n+this._rDelay)*this._repeat:n):this.totalDuration()&&this._dur},e.totalDuration=function(n){return arguments.length?(this._dirty=0,zm(this,this._repeat<0?n:(n-this._repeat*this._rDelay)/(this._repeat+1))):this._tDur},e.totalTime=function(n,i){if(Fm(),!arguments.length)return this._tTime;var s=this._dp;if(s&&s.smoothChildTiming&&this._ts){for(db(this,n),!s._dp||s.parent||t3(s,this);s&&s.parent;)s.parent._time!==s._start+(s._ts>=0?s._tTime/s._ts:(s.totalDuration()-s._tTime)/-s._ts)&&s.totalTime(s._tTime,!0),s=s.parent;!this.parent&&this._dp.autoRemoveChildren&&(this._ts>0&&n<this._tDur||this._ts<0&&n>0||!this._tDur&&!n)&&Ql(this._dp,this,this._start-this._delay)}return(this._tTime!==n||!this._dur&&!i||this._initted&&Math.abs(this._zTime)===mi||!n&&!this._initted&&(this.add||this._ptLookup))&&(this._ts||(this._pTime=n),QN(this,n,i)),this},e.time=function(n,i){return arguments.length?this.totalTime(Math.min(this.totalDuration(),n+F2(this))%(this._dur+this._rDelay)||(n?this._dur:0),i):this._time},e.totalProgress=function(n,i){return arguments.length?this.totalTime(this.totalDuration()*n,i):this.totalDuration()?Math.min(1,this._tTime/this._tDur):this.rawTime()>=0&&this._initted?1:0},e.progress=function(n,i){return arguments.length?this.totalTime(this.duration()*(this._yoyo&&!(this.iteration()&1)?1-n:n)+F2(this),i):this.duration()?Math.min(1,this._time/this._dur):this.rawTime()>0?1:0},e.iteration=function(n,i){var s=this.duration()+this._rDelay;return arguments.length?this.totalTime(this._time+(n-1)*s,i):this._repeat?Hm(this._tTime,s)+1:1},e.timeScale=function(n,i){if(!arguments.length)return this._rts===-mi?0:this._rts;if(this._rts===n)return this;var s=this.parent&&this._ts?yA(this.parent._time,this):this._tTime;return this._rts=+n||0,this._ts=this._ps||n===-mi?0:this._rts,this.totalTime(ry(-Math.abs(this._delay),this.totalDuration(),s),i!==!1),hb(this),HV(this)},e.paused=function(n){return arguments.length?(this._ps!==n&&(this._ps=n,n?(this._pTime=this._tTime||Math.max(-this._delay,this.rawTime()),this._ts=this._act=0):(Fm(),this._ts=this._rts,this.totalTime(this.parent&&!this.parent.smoothChildTiming?this.rawTime():this._tTime||this._pTime,this.progress()===1&&Math.abs(this._zTime)!==mi&&(this._tTime-=mi)))),this):this._ps},e.startTime=function(n){if(arguments.length){this._start=n;var i=this.parent||this._dp;return i&&(i._sort||!this.parent)&&Ql(i,this,n-this._delay),this}return this._start},e.endTime=function(n){return this._start+(ya(n)?this.totalDuration():this.duration())/Math.abs(this._ts||1)},e.rawTime=function(n){var i=this.parent||this._dp;return i?n&&(!this._ts||this._repeat&&this._time&&this.totalProgress()<1)?this._tTime%(this._dur+this._rDelay):this._ts?yA(i.rawTime(n),this):this._tTime:this._tTime},e.revert=function(n){n===void 0&&(n=LV);var i=ts;return ts=n,eC(this)&&(this.timeline&&this.timeline.revert(n),this.totalTime(-.01,n.suppressEvents)),this.data!=="nested"&&n.kill!==!1&&this.kill(),ts=i,this},e.globalTime=function(n){for(var i=this,s=arguments.length?n:i.rawTime();i;)s=i._start+s/(Math.abs(i._ts)||1),i=i._dp;return!this.parent&&this._sat?this._sat.globalTime(n):s},e.repeat=function(n){return arguments.length?(this._repeat=n===1/0?-2:n,G2(this)):this._repeat===-2?1/0:this._repeat},e.repeatDelay=function(n){if(arguments.length){var i=this._time;return this._rDelay=n,G2(this),i?this.time(i):this}return this._rDelay},e.yoyo=function(n){return arguments.length?(this._yoyo=n,this):this._yoyo},e.seek=function(n,i){return this.totalTime(_o(this,n),ya(i))},e.restart=function(n,i){return this.play().totalTime(n?-this._delay:0,ya(i)),this._dur||(this._zTime=-mi),this},e.play=function(n,i){return n!=null&&this.seek(n,i),this.reversed(!1).paused(!1)},e.reverse=function(n,i){return n!=null&&this.seek(n||this.totalDuration(),i),this.reversed(!0).paused(!1)},e.pause=function(n,i){return n!=null&&this.seek(n,i),this.paused(!0)},e.resume=function(){return this.paused(!1)},e.reversed=function(n){return arguments.length?(!!n!==this.reversed()&&this.timeScale(-this._rts||(n?-mi:0)),this):this._rts<0}
vendor: 11,742 bytes, line 3958
3958,e.invalidate=function(){return this._initted=this._act=0,this._zTime=-mi,this},e.isActive=function(){var n=this.parent||this._dp,i=this._start,s;return!!(!n||this._ts&&this._initted&&n.isActive()&&(s=n.rawTime(!0))>=i&&s<this.endTime(!0)-mi)},e.eventCallback=function(n,i,s){var o=this.vars;return arguments.length>1?(i?(o[n]=i,s&&(o[n+"Params"]=s),n==="onUpdate"&&(this._onUpdate=i)):delete o[n],this):o[n]},e.then=function(n){var i=this;return new Promise(function(s){var o=ji(n)?n:$N,c=function(){var d=i.then;i.then=null,ji(o)&&(o=o(i))&&(o.then||o===i)&&(i.then=d),s(o),i.then=d};i._initted&&i.totalProgress()===1&&i._ts>=0||!i._tTime&&i._ts<0?c():i._prom=c})},e.kill=function(){G0(this)},r}();Za(Nv.prototype,{_time:0,_start:0,_end:0,_tTime:0,_tDur:0,_dirty:0,_repeat:0,_yoyo:!1,parent:null,_initted:!1,_rDelay:0,_ts:1,_dp:0,ratio:0,_zTime:-mi,_prom:0,_ps:!1,_rts:1});var Ks=function(r){FN(e,r);function e(n,i){var s;return n===void 0&&(n={}),s=r.call(this,n)||this,s.labels={},s.smoothChildTiming=!!n.smoothChildTiming,s.autoRemoveChildren=!!n.autoRemoveChildren,s._sort=ya(n.sortChildren),Ii&&Ql(n.parent||Ii,Yc(s),i),n.reversed&&s.reverse(),n.paused&&s.paused(!0),n.scrollTrigger&&n3(Yc(s),n.scrollTrigger),s}var t=e.prototype;return t.to=function(i,s,o){return sv(0,arguments,this),this},t.from=function(i,s,o){return sv(1,arguments,this),this},t.fromTo=function(i,s,o,c){return sv(2,arguments,this),this},t.set=function(i,s,o){return s.duration=0,s.parent=this,rv(s).repeatDelay||(s.repeat=0),s.immediateRender=!!s.immediateRender,new fr(i,s,_o(this,o),1),this},t.call=function(i,s,o){return Ql(this,fr.delayedCall(0,i,s),o)},t.staggerTo=function(i,s,o,c,f,d,m){return o.duration=s,o.stagger=o.stagger||c,o.onComplete=d,o.onCompleteParams=m,o.parent=this,new fr(i,o,_o(this,f)),this},t.staggerFrom=function(i,s,o,c,f,d,m){return o.runBackwards=1,rv(o).immediateRender=ya(o.immediateRender),this.staggerTo(i,s,o,c,f,d,m)},t.staggerFromTo=function(i,s,o,c,f,d,m,g){return c.startAt=o,rv(c).immediateRender=ya(c.immediateRender),this.staggerTo(i,s,c,f,d,m,g)},t.render=function(i,s,o){var c=this._time,f=this._dirty?this.totalDuration():this._tDur,d=this._dur,m=i<=0?0:hr(i),g=this._zTime<0!=i<0&&(this._initted||!d),y,_,S,M,b,A,w,D,B,I,O,U;if(this!==Ii&&m>f&&i>=0&&(m=f),m!==this._tTime||o||g){if(c!==this._time&&d&&(m+=this._time-c,i+=this._time-c),y=m,B=this._start,D=this._ts,A=!D,g&&(d||(c=this._zTime),(i||!s)&&(this._zTime=i)),this._repeat){if(O=this._yoyo,b=d+this._rDelay,this._repeat<-1&&i<0)return this.totalTime(b*100+i,s,o);if(y=hr(m%b),m===f?(M=this._repeat,y=d):(I=hr(m/b),M=~~I,M&&M===I&&(y=d,M--),y>d&&(y=d)),I=Hm(this._tTime,b),!c&&this._tTime&&I!==M&&this._tTime-I*b-this._dur<=0&&(I=M),O&&M&1&&(y=d-y,U=1),M!==I&&!this._lock){var z=O&&I&1,P=z===(O&&M&1);if(M<I&&(z=!z),c=z?0:m%d?d:m,this._lock=1,this.render(c||(U?0:hr(M*b)),s,!d)._lock=0,this._tTime=m,!s&&this.parent&&ja(this,"onRepeat"),this.vars.repeatRefresh&&!U&&(this.invalidate()._lock=1),c&&c!==this._time||A!==!this._ts||this.vars.onRepeat&&!this.parent&&!this._act)return this;if(d=this._dur,f=this._tDur,P&&(this._lock=2,c=z?d:-1e-4,this.render(c,!0),this.vars.repeatRefresh&&!U&&this.invalidate()),this._lock=0,!this._ts&&!A)return this;v3(this,U)}}if(this._hasPause&&!this._forcing&&this._lock<2&&(w=VV(this,hr(c),hr(y)),w&&(m-=y-(y=w._start))),this._tTime=m,this._time=y,this._act=!D,this._initted||(this._onUpdate=this.vars.onUpdate,this._initted=1,this._zTime=i,c=0),!c&&m&&!s&&!I&&(ja(this,"onStart"),this._tTime!==m))return this;if(y>=c&&i>=0)for(_=this._first;_;){if(S=_._next,(_._act||y>=_._start)&&_._ts&&w!==_){if(_.parent!==this)return this.render(i,s,o);if(_.render(_._ts>0?(y-_._start)*_._ts:(_._dirty?_.totalDuration():_._tDur)+(y-_._start)*_._ts,s,o),y!==this._time||!this._ts&&!A){w=0,S&&(m+=this._zTime=-mi);break}}_=S}else{_=this._last;for(var N=i<0?i:y;_;){if(S=_._prev,(_._act||N<=_._end)&&_._ts&&w!==_){if(_.parent!==this)return this.render(i,s,o);if(_.render(_._ts>0?(N-_._start)*_._ts:(_._dirty?_.totalDuration():_._tDur)+(N-_._start)*_._ts,s,o||ts&&eC(_)),y!==this._time||!this._ts&&!A){w=0,S&&(m+=this._zTime=N?-mi:mi);break}}_=S}}if(w&&!s&&(this.pause(),w.render(y>=c?0:-mi)._zTime=y>=c?1:-1,this._ts))return this._start=B,hb(this),this.render(i,s,o);this._onUpdate&&!s&&ja(this,"onUpdate",!0),(m===f&&this._tTime>=this.totalDuration()||!m&&c)&&(B===this._start||Math.abs(D)!==Math.abs(this._ts))&&(this._lock||((i||!d)&&(m===f&&this._ts>0||!m&&this._ts<0)&&wf(this,1),!s&&!(i<0&&!c)&&(m||c||!f)&&(ja(this,m===f&&i>=0?"onComplete":"onReverseComplete",!0),this._prom&&!(m<f&&this.timeScale()>0)&&this._prom())))}return this},t.add=function(i,s){var o=this;if(ou(s)||(s=_o(this,s,i)),!(i instanceof Nv)){if(As(i))return i.forEach(function(c){return o.add(c,s)}),this;if(kr(i))return this.addLabel(i,s);if(ji(i))i=fr.delayedCall(0,i);else return this}return this!==i?Ql(this,i,s):this},t.getChildren=function(i,s,o,c){i===void 0&&(i=!0),s===void 0&&(s=!0),o===void 0&&(o=!0),c===void 0&&(c=-Mo);for(var f=[],d=this._first;d;)d._start>=c&&(d instanceof fr?s&&f.push(d):(o&&f.push(d),i&&f.push.apply(f,d.getChildren(!0,s,o)))),d=d._next;return f},t.getById=function(i){for(var s=this.getChildren(1,1,1),o=s.length;o--;)if(s[o].vars.id===i)return s[o]},t.remove=function(i){return kr(i)?this.removeLabel(i):ji(i)?this.killTweensOf(i):(i.parent===this&&fb(this,i),i===this._recent&&(this._recent=this._last),cd(this))},t.totalTime=function(i,s){return arguments.length?(this._forcing=1,!this._dp&&this._ts&&(this._start=hr(Ga.time-(this._ts>0?i/this._ts:(this.totalDuration()-i)/-this._ts))),r.prototype.totalTime.call(this,i,s),this._forcing=0,this):this._tTime},t.addLabel=function(i,s){return this.labels[i]=_o(this,s),this},t.removeLabel=function(i){return delete this.labels[i],this},t.addPause=function(i,s,o){var c=fr.delayedCall(0,s||Bv,o);return c.data="isPause",this._hasPause=1,Ql(this,c,_o(this,i))},t.removePause=function(i){var s=this._first;for(i=_o(this,i);s;)s._start===i&&s.data==="isPause"&&wf(s),s=s._next},t.killTweensOf=function(i,s,o){for(var c=this.getTweensOf(i,o),f=c.length;f--;)mf!==c[f]&&c[f].kill(i,s);return this},t.getTweensOf=function(i,s){for(var o=[],c=Eo(i),f=this._first,d=ou(s),m;f;)f instanceof fr?UV(f._targets,c)&&(d?(!mf||f._initted&&f._ts)&&f.globalTime(0)<=s&&f.globalTime(f.totalDuration())>s:!s||f.isActive())&&o.push(f):(m=f.getTweensOf(c,s)).length&&o.push.apply(o,m),f=f._next;return o},t.tweenTo=function(i,s){s=s||{};var o=this,c=_o(o,i),f=s,d=f.startAt,m=f.onStart,g=f.onStartParams,y=f.immediateRender,_,S=fr.to(o,Za({ease:s.ease||"none",lazy:!1,immediateRender:!1,time:c,overwrite:"auto",duration:s.duration||Math.abs((c-(d&&"time"in d?d.time:o._time))/o.timeScale())||mi,onStart:function(){if(o.pause(),!_){var b=s.duration||Math.abs((c-(d&&"time"in d?d.time:o._time))/o.timeScale());S._dur!==b&&zm(S,b,0,1).render(S._time,!0,!0),_=1}m&&m.apply(S,g||[])}},s));return y?S.render(0):S},t.tweenFromTo=function(i,s,o){return this.tweenTo(s,Za({startAt:{time:_o(this,i)}},o))},t.recent=function(){return this._recent},t.nextLabel=function(i){return i===void 0&&(i=this._time),V2(this,_o(this,i))},t.previousLabel=function(i){return i===void 0&&(i=this._time),V2(this,_o(this,i),1)},t.currentLabel=function(i){return arguments.length?this.seek(i,!0):this.previousLabel(this._time+mi)},t.shiftChildren=function(i,s,o){o===void 0&&(o=0);for(var c=this._first,f=this.labels,d;c;)c._start>=o&&(c._start+=i,c._end+=i),c=c._next;if(s)for(d in f)f[d]>=o&&(f[d]+=i);return cd(this)},t.invalidate=function(i){var s=this._first;for(this._lock=0;s;)s.invalidate(i),s=s._next;return r.prototype.invalidate.call(this,i)},t.clear=function(i){i===void 0&&(i=!0);for(var s=this._first,o;s;)o=s._next,this.remove(s),s=o;return this._dp&&(this._time=this._tTime=this._pTime=0),i&&(this.labels={}),cd(this)},t.totalDuration=function(i){var s=0,o=this,c=o._last,f=Mo,d,m,g;if(arguments.length)return o.timeScale((o._repeat<0?o.duration():o.totalDuration())/(o.reversed()?-i:i));if(o._dirty){for(g=o.parent;c;)d=c._prev,c._dirty&&c.totalDuration(),m=c._start,m>f&&o._sort&&c._ts&&!o._lock?(o._lock=1,Ql(o,c,m-c._delay,1)._lock=0):f=m,m<0&&c._ts&&(s-=m,(!g&&!o._dp||g&&g.smoothChildTiming)&&(o._start+=m/o._ts,o._time-=m,o._tTime-=m),o.shiftChildren(-m,!1,-1/0),f=0),c._end>s&&c._ts&&(s=c._end),c=d;zm(o,o===Ii&&o._time>s?o._time:s,1,1),o._dirty=0}return o._tDur},e.updateRoot=function(i){if(Ii._ts&&(QN(Ii,yA(i,Ii)),JN=Ga.frame),Ga.frame>=H2){H2+=Wa.autoSleep||120;var s=Ii._first;if((!s||!s._ts)&&Wa.autoSleep&&Ga._listeners.length<2){for(;s&&!s._ts;)s=s._next;s||Ga.sleep()}}},e}(Nv);Za(Ks.prototype,{_lock:0,_hasPause:0,_forcing:0});var rk=function(e,t,n,i,s,o,c){var f=new xa(this._pt,e,t,0,1,E3,null,s),d=0,m=0,g,y,_,S,M,b,A,w;for(f.b=n,f.e=i,n+="",i+="",(A=~i.indexOf("random("))&&(i=Dv(i)),o&&(w=[n,i],o(w,e,t),n=w[0],i=w[1]),y=n.match(A1)||[];g=A1.exec(i);)S=g[0],M=i.substring(d,g.index),_?_=(_+1)%5:M.substr(-5)==="rgba("&&(_=1),S!==y[m++]&&(b=parseFloat(y[m-1])||0,f._pt={_next:f._pt,p:M||m===1?M:",",s:b,c:S.charAt(1)==="="?gm(b,S)-b:parseFloat(S)-b,m:_&&_<4?Math.round:0},d=A1.lastIndex);return f.c=d<i.length?i.substring(d,i.length):"",f.fp=c,(XN.test(i)||A)&&(f.e=0),this._pt=f,f},tC=function(e,t,n,i,s,o,c,f,d,m){ji(i)&&(i=i(s||0,e,o));var g=e[t],y=n!=="get"?n:ji(g)?d?e[t.indexOf("set")||!ji(e["get"+t.substr(3)])?t:"get"+t.substr(3)](d):e[t]():g,_=ji(g)?d?ck:b3:iC,S;if(kr(i)&&(~i.indexOf("random(")&&(i=Dv(i)),i.charAt(1)==="="&&(S=gm(y,i)+(ys(y)||0),(S||S===0)&&(i=S))),!m||y!==i||bE)return!isNaN(y*i)&&i!==""?(S=new xa(this._pt,e,t,+y||0,i-(y||0),typeof g=="boolean"?fk:M3,0,_),d&&(S.fp=d),c&&S.modifier(c,this,e),this._pt=S):(!g&&!(t in e)&&KT(t,i),rk.call(this,e,t,y,i,_,f||Wa.stringFilter,d))},sk=function(e,t,n,i,s){if(ji(e)&&(e=av(e,s,t,n,i)),!oc(e)||e.style&&e.nodeType||As(e)||VN(e))return kr(e)?av(e,s,t,n,i):e;var o={},c;for(c in e)o[c]=av(e[c],s,t,n,i);return o},x3=function(e,t,n,i,s,o){var c,f,d,m;if(za[e]&&(c=new za[e]).init(s,c.rawVars?t[e]:sk(t[e],i,s,o,n),n,i,o)!==!1&&(n._pt=f=new xa(n._pt,s,e,0,1,c.render,c,0,c.priority),n!==um))for(d=n._ptLookup[n._targets.indexOf(s)],m=c._props.length;m--;)d[c._props[m]]=f;return c},mf,bE,nC=function r(e,t,n){var i=e.vars,s=i.ease,o=i.startAt,c=i.immediateRender,f=i.lazy,d=i.onUpdate,m=i.runBackwards,g=i.yoyoEase,y=i.keyframes,_=i.autoRevert,S=e._dur,M=e._startAt,b=e._targets,A=e.parent,w=A&&A.data==="nested"?A.vars.targets:b,D=e._overwrite==="auto"&&!jT,B=e.timeline,I,O,U,z,P,N,G,X,Q,te,le,k,W;if(B&&(!y||!s)&&(s="none"),e._ease=ud(s,Im.ease),e._yEase=g?g3(ud(g===!0?s:g,Im.ease)):0,g&&e._yoyo&&!e._repeat&&(g=e._yEase,e._yEase=e._ease,e._ease=g),e._from=!B&&!!i.runBackwards,!B||y&&!i.stagger){if(X=b[0]?ld(b[0]).harness:0,k=X&&i[X.prop],I=vA(i,QT),M&&(M._zTime<0&&M.progress(1),t<0&&m&&c&&!_?M.render(-1,!0):M.revert(m&&S?hS:NV),M._lazy=0),o){if(wf(e._startAt=fr.set(b,Za({data:"isStart",overwrite:!1,parent:A,immediateRender:!0,lazy:!M&&ya(f),startAt:null,delay:0,onUpdate:d&&function(){return ja(e,"onUpdate")},stagger:0},o))),e._startAt._dp=0,e._startAt._sat=e,t<0&&(ts||!c&&!_)&&e._startAt.revert(hS),c&&S&&t<=0&&n<=0){t&&(e._zTime=t);return}}else if(m&&S&&!M){if(t&&(c=!1),U=Za({overwrite:!1,data:"isFromStart",lazy:c&&!M&&ya(f),immediateRender:c,stagger:0,parent:A},I),k&&(U[X.prop]=k),wf(e._startAt=fr.set(b,U)),e._startAt._dp=0,e._startAt._sat=e,t<0&&(ts?e._startAt.revert(hS):e._startAt.render(-1,!0)),e._zTime=t,!c)r(e._startAt,mi,mi);else if(!t)return}for(e._pt=e._ptCache=0,f=S&&ya(f)||f&&!S,O=0;O<b.length;O++){if(P=b[O],G=P._gsap||$T(b)[O]._gsap,e._ptLookup[O]=te={},vE[G.id]&&Sf.length&&gA(),le=w===b?O:w.indexOf(P),X&&(Q=new X).init(P,k||I,e,le,w)!==!1&&(e._pt=z=new xa(e._pt,P,Q.name,0,1,Q.render,Q,
vendor: 4,834 bytes, line 3958
39580,Q.priority),Q._props.forEach(function(ee){te[ee]=z}),Q.priority&&(N=1)),!X||k)for(U in I)za[U]&&(Q=x3(U,I,e,le,P,w))?Q.priority&&(N=1):te[U]=z=tC.call(e,P,U,"get",I[U],le,w,0,i.stringFilter);e._op&&e._op[O]&&e.kill(P,e._op[O]),D&&e._pt&&(mf=e,Ii.killTweensOf(P,te,e.globalTime(t)),W=!e.parent,mf=0),e._pt&&f&&(vE[G.id]=1)}N&&T3(e),e._onInit&&e._onInit(e)}e._onUpdate=d,e._initted=(!e._op||e._pt)&&!W,y&&t<=0&&B.render(Mo,!0,!0)},ak=function(e,t,n,i,s,o,c,f){var d=(e._pt&&e._ptCache||(e._ptCache={}))[t],m,g,y,_;if(!d)for(d=e._ptCache[t]=[],y=e._ptLookup,_=e._targets.length;_--;){if(m=y[_][t],m&&m.d&&m.d._pt)for(m=m.d._pt;m&&m.p!==t&&m.fp!==t;)m=m._next;if(!m)return bE=1,e.vars[t]="+=0",nC(e,c),bE=0,f?Rv(t+" not eligible for reset"):1;d.push(m)}for(_=d.length;_--;)g=d[_],m=g._pt||g,m.s=(i||i===0)&&!s?i:m.s+(i||0)+o*m.c,m.c=n-m.s,g.e&&(g.e=er(n)+ys(g.e)),g.b&&(g.b=m.s+ys(g.b))},ok=function(e,t){var n=e[0]?ld(e[0]).harness:0,i=n&&n.aliases,s,o,c,f;if(!i)return t;s=Pm({},t);for(o in i)if(o in s)for(f=i[o].split(","),c=f.length;c--;)s[f[c]]=s[o];return s},lk=function(e,t,n,i){var s=t.ease||i||"power1.inOut",o,c;if(As(t))c=n[e]||(n[e]=[]),t.forEach(function(f,d){return c.push({t:d/(t.length-1)*100,v:f,e:s})});else for(o in t)c=n[o]||(n[o]=[]),o==="ease"||c.push({t:parseFloat(e),v:t[o],e:s})},av=function(e,t,n,i,s){return ji(e)?e.call(t,n,i,s):kr(e)&&~e.indexOf("random(")?Dv(e):e},S3=ZT+"repeat,repeatDelay,yoyo,repeatRefresh,yoyoEase,autoRevert",A3={};_a(S3+",id,stagger,delay,duration,paused,scrollTrigger",function(r){return A3[r]=1});var fr=function(r){FN(e,r);function e(n,i,s,o){var c;typeof i=="number"&&(s.duration=i,i=s,s=null),c=r.call(this,o?i:rv(i))||this;var f=c.vars,d=f.duration,m=f.delay,g=f.immediateRender,y=f.stagger,_=f.overwrite,S=f.keyframes,M=f.defaults,b=f.scrollTrigger,A=f.yoyoEase,w=i.parent||Ii,D=(As(n)||VN(n)?ou(n[0]):"length"in i)?[n]:Eo(n),B,I,O,U,z,P,N,G;if(c._targets=D.length?$T(D):Rv("GSAP target "+n+" not found. https://gsap.com",!Wa.nullTargetWarn)||[],c._ptLookup=[],c._overwrite=_,S||y||Dx(d)||Dx(m)){if(i=c.vars,B=c.timeline=new Ks({data:"nested",defaults:M||{},targets:w&&w.data==="nested"?w.vars.targets:D}),B.kill(),B.parent=B._dp=Yc(c),B._start=0,y||Dx(d)||Dx(m)){if(U=D.length,N=y&&a3(y),oc(y))for(z in y)~S3.indexOf(z)&&(G||(G={}),G[z]=y[z]);for(I=0;I<U;I++)O=vA(i,A3),O.stagger=0,A&&(O.yoyoEase=A),G&&Pm(O,G),P=D[I],O.duration=+av(d,Yc(c),I,P,D),O.delay=(+av(m,Yc(c),I,P,D)||0)-c._delay,!y&&U===1&&O.delay&&(c._delay=m=O.delay,c._start+=m,O.delay=0),B.to(P,O,N?N(I,P,D):0),B._ease=In.none;B.duration()?d=m=0:c.timeline=0}else if(S){rv(Za(B.vars.defaults,{ease:"none"})),B._ease=ud(S.ease||i.ease||"none");var X=0,Q,te,le;if(As(S))S.forEach(function(k){return B.to(D,k,">")}),B.duration();else{O={};for(z in S)z==="ease"||z==="easeEach"||lk(z,S[z],O,S.easeEach);for(z in O)for(Q=O[z].sort(function(k,W){return k.t-W.t}),X=0,I=0;I<Q.length;I++)te=Q[I],le={ease:te.e,duration:(te.t-(I?Q[I-1].t:0))/100*d},le[z]=te.v,B.to(D,le,X),X+=le.duration;B.duration()<d&&B.to({},{duration:d-B.duration()})}}d||c.duration(d=B.duration())}else c.timeline=0;return _===!0&&!jT&&(mf=Yc(c),Ii.killTweensOf(D),mf=0),Ql(w,Yc(c),s),i.reversed&&c.reverse(),i.paused&&c.paused(!0),(g||!d&&!S&&c._start===hr(w._time)&&ya(g)&&zV(Yc(c))&&w.data!=="nested")&&(c._tTime=-mi,c.render(Math.max(0,-m)||0)),b&&n3(Yc(c),b),c}var t=e.prototype;return t.render=function(i,s,o){var c=this._time,f=this._tDur,d=this._dur,m=i<0,g=i>f-mi&&!m?f:i<mi?0:i,y,_,S,M,b,A,w,D,B;if(!d)GV(this,i,s,o);else if(g!==this._tTime||!i||o||!this._initted&&this._tTime||this._startAt&&this._zTime<0!==m||this._lazy){if(y=g,D=this.timeline,this._repeat){if(M=d+this._rDelay,this._repeat<-1&&m)return this.totalTime(M*100+i,s,o);if(y=hr(g%M),g===f?(S=this._repeat,y=d):(b=hr(g/M),S=~~b,S&&S===b?(y=d,S--):y>d&&(y=d)),A=this._yoyo&&S&1,A&&(B=this._yEase,y=d-y),b=Hm(this._tTime,M),y===c&&!o&&this._initted&&S===b)return this._tTime=g,this;S!==b&&(D&&this._yEase&&v3(D,A),this.vars.repeatRefresh&&!A&&!this._lock&&y!==M&&this._initted&&(this._lock=o=1,this.render(hr(M*S),!0).invalidate()._lock=0))}if(!this._initted){if(i3(this,m?i:y,o,s,g))return this._tTime=0,this;if(c!==this._time&&!(o&&this.vars.repeatRefresh&&S!==b))return this;if(d!==this._dur)return this.render(i,s,o)}if(this._tTime=g,this._time=y,!this._act&&this._ts&&(this._act=1,this._lazy=0),this.ratio=w=(B||this._ease)(y/d),this._from&&(this.ratio=w=1-w),!c&&g&&!s&&!b&&(ja(this,"onStart"),this._tTime!==g))return this;for(_=this._pt;_;)_.r(w,_.d),_=_._next;D&&D.render(i<0?i:D._dur*D._ease(y/this._dur),s,o)||this._startAt&&(this._zTime=i),this._onUpdate&&!s&&(m&&yE(this,i,s,o),ja(this,"onUpdate")),this._repeat&&S!==b&&this.vars.onRepeat&&!s&&this.parent&&ja(this,"onRepeat"),(g===this._tDur||!g)&&this._tTime===g&&(m&&!this._onUpdate&&yE(this,i,!0,!0),(i||!d)&&
vendor: 6,815 bytes, line 3958
3958(g===this._tDur&&this._ts>0||!g&&this._ts<0)&&wf(this,1),!s&&!(m&&!c)&&(g||c||A)&&(ja(this,g===f?"onComplete":"onReverseComplete",!0),this._prom&&!(g<f&&this.timeScale()>0)&&this._prom()))}return this},t.targets=function(){return this._targets},t.invalidate=function(i){return(!i||!this.vars.runBackwards)&&(this._startAt=0),this._pt=this._op=this._onUpdate=this._lazy=this.ratio=0,this._ptLookup=[],this.timeline&&this.timeline.invalidate(i),r.prototype.invalidate.call(this,i)},t.resetTo=function(i,s,o,c,f){Ov||Ga.wake(),this._ts||this.play();var d=Math.min(this._dur,(this._dp._time-this._start)*this._ts),m;return this._initted||nC(this,d),m=this._ease(d/this._dur),ak(this,i,s,o,c,m,d,f)?this.resetTo(i,s,o,c,1):(db(this,0),this.parent||e3(this._dp,this,"_first","_last",this._dp._sort?"_start":0),this.render(0))},t.kill=function(i,s){if(s===void 0&&(s="all"),!i&&(!s||s==="all"))return this._lazy=this._pt=0,this.parent?G0(this):this.scrollTrigger&&this.scrollTrigger.kill(!!ts),this;if(this.timeline){var o=this.timeline.totalDuration();return this.timeline.killTweensOf(i,s,mf&&mf.vars.overwrite!==!0)._first||G0(this),this.parent&&o!==this.timeline.totalDuration()&&zm(this,this._dur*this.timeline._tDur/o,0,1),this}var c=this._targets,f=i?Eo(i):c,d=this._ptLookup,m=this._pt,g,y,_,S,M,b,A;if((!s||s==="all")&&PV(c,f))return s==="all"&&(this._pt=0),G0(this);for(g=this._op=this._op||[],s!=="all"&&(kr(s)&&(M={},_a(s,function(w){return M[w]=1}),s=M),s=ok(c,s)),A=c.length;A--;)if(~f.indexOf(c[A])){y=d[A],s==="all"?(g[A]=s,S=y,_={}):(_=g[A]=g[A]||{},S=s);for(M in S)b=y&&y[M],b&&((!("kill"in b.d)||b.d.kill(M)===!0)&&fb(this,b,"_pt"),delete y[M]),_!=="all"&&(_[M]=1)}return this._initted&&!this._pt&&m&&G0(this),this},e.to=function(i,s){return new e(i,s,arguments[2])},e.from=function(i,s){return sv(1,arguments)},e.delayedCall=function(i,s,o,c){return new e(s,0,{immediateRender:!1,lazy:!1,overwrite:!1,delay:i,onComplete:s,onReverseComplete:s,onCompleteParams:o,onReverseCompleteParams:o,callbackScope:c})},e.fromTo=function(i,s,o){return sv(2,arguments)},e.set=function(i,s){return s.duration=0,s.repeatDelay||(s.repeat=0),new e(i,s)},e.killTweensOf=function(i,s,o){return Ii.killTweensOf(i,s,o)},e}(Nv);Za(fr.prototype,{_targets:[],_lazy:0,_startAt:0,_op:0,_onInit:0});_a("staggerTo,staggerFrom,staggerFromTo",function(r){fr[r]=function(){var e=new Ks,t=xE.call(arguments,0);return t.splice(r==="staggerFromTo"?5:4,0,0),e[r].apply(e,t)}});var iC=function(e,t,n){return e[t]=n},b3=function(e,t,n){return e[t](n)},ck=function(e,t,n,i){return e[t](i.fp,n)},uk=function(e,t,n){return e.setAttribute(t,n)},rC=function(e,t){return ji(e[t])?b3:qT(e[t])&&e.setAttribute?uk:iC},M3=function(e,t){return t.set(t.t,t.p,Math.round((t.s+t.c*e)*1e6)/1e6,t)},fk=function(e,t){return t.set(t.t,t.p,!!(t.s+t.c*e),t)},E3=function(e,t){var n=t._pt,i="";if(!e&&t.b)i=t.b;else if(e===1&&t.e)i=t.e;else{for(;n;)i=n.p+(n.m?n.m(n.s+n.c*e):Math.round((n.s+n.c*e)*1e4)/1e4)+i,n=n._next;i+=t.c}t.set(t.t,t.p,i,t)},sC=function(e,t){for(var n=t._pt;n;)n.r(e,n.d),n=n._next},hk=function(e,t,n,i){for(var s=this._pt,o;s;)o=s._next,s.p===i&&s.modifier(e,t,n),s=o},dk=function(e){for(var t=this._pt,n,i;t;)i=t._next,t.p===e&&!t.op||t.op===e?fb(this,t,"_pt"):t.dep||(n=1),t=i;return!n},pk=function(e,t,n,i){i.mSet(e,t,i.m.call(i.tween,n,i.mt),i)},T3=function(e){for(var t=e._pt,n,i,s,o;t;){for(n=t._next,i=s;i&&i.pr>t.pr;)i=i._next;(t._prev=i?i._prev:o)?t._prev._next=t:s=t,(t._next=i)?i._prev=t:o=t,t=n}e._pt=s},xa=function(){function r(t,n,i,s,o,c,f,d,m){this.t=n,this.s=s,this.c=o,this.p=i,this.r=c||M3,this.d=f||this,this.set=d||iC,this.pr=m||0,this._next=t,t&&(t._prev=this)}var e=r.prototype;return e.modifier=function(n,i,s){this.mSet=this.mSet||this.set,this.set=pk,this.m=n,this.mt=s,this.tween=i},r}();_a(ZT+"parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert,scrollTrigger",function(r){return QT[r]=1});Qa.TweenMax=Qa.TweenLite=fr;Qa.TimelineLite=Qa.TimelineMax=Ks;Ii=new Ks({sortChildren:!1,defaults:Im,autoRemoveChildren:!0,id:"root",smoothChildTiming:!0});Wa.stringFilter=m3;var fd=[],pS={},mk=[],X2=0,gk=0,C1=function(e){return(pS[e]||mk).map(function(t){return t()})},ME=function(){var e=Date.now(),t=[];e-X2>2&&(C1("matchMediaInit"),fd.forEach(function(n){var i=n.queries,s=n.conditions,o,c,f,d;for(c in i)o=Jl.matchMedia(i[c]).matches,o&&(f=1),o!==s[c]&&(s[c]=o,d=1);d&&(n.revert(),f&&t.push(n))}),C1("matchMediaRevert"),t.forEach(function(n){return n.onMatch(n,function(i){return n.add(null,i)})}),X2=e,C1("matchMedia"))},C3=function(){function r(t,n){this.selector=n&&SE(n),this.data=[],this._r=[],this.isReverted=!1,this.id=gk++,t&&this.add(t)}var e=r.prototype;return e.add=function(n,i,s){ji(n)&&(s=i,i=n,n=ji);var o=this,c=function(){var d=Ri,m=o.selector,g;return d&&d!==o&&d.data.push(o),s&&(o.selector=SE(s)),Ri=o,g=i.apply(o,arguments),ji(g)&&o._r.push(g),Ri=d,o.selector=m,o.isReverted=!1,g};return o.last=c,n===ji?c(o,function(f){return o.add(null,f)}):n?o[n]=c:c},e.ignore=function(n){var i=Ri;Ri=null,n(this),Ri=i},e.getTweens=function(){var n=[];return this.data.forEach(function(i){return i instanceof r?n.push.apply(n,i.getTweens()):i instanceof fr&&!(i.parent&&i.parent.data==="nested")&&n.push(i)}),n},e.clear=function(){this._r.length=this.data.length=0},e.kill=function(n,i){var s=this;if(n?function(){for(var c=s.getTweens(),f=s.data.length,d;f--;)d=s.data[f],d.data==="isFlip"&&(d.revert(),d.getChildren(!0,!0,!1).forEach(function(m){return c.splice(c.indexOf(m),1)}));for(c.map(function(m){return{g:m._dur||m._delay||m._sat&&!m._sat.vars.immediateRender?m.globalTime(0):-1/0,t:m}}).sort(function(m,g){return g.g-m.g||-1/0}).forEach(function(m){return m.t.revert(n)}),f=s.data.length;f--;)d=s.data[f],d instanceof Ks?d.data!=="nested"&&(d.scrollTrigger&&d.scrollTrigger.revert(),d.kill()):!(d instanceof fr)&&d.revert&&d.revert(n);s._r.forEach(function(m){return m(n,s)}),s.isReverted=!0}():this.data.forEach(function(c){return c.kill&&c.kill()}),this.clear(),i)for(var o=fd.length;o--;)fd[o].id===this.id&&fd.splice(o,1)},e.revert=function(n){this.kill(n||{})},r}(),vk=function(){function r(t){this.contexts=[],this.scope=t,Ri&&Ri.data.push(this)}var e=r.prototype;return e.add=function(n,i,s){oc(n)||(n={matches:n});var o=new C3(0,s||this.scope),c=o.conditions={},f,d,m;Ri&&!o.selector&&(o.selector=Ri.selector),this.contexts.push(o),i=o.add("onMatch",i),o.queries=n;for(d in n)d==="all"?m=1:(f=Jl.matchMedia(n[d]),f&&(fd.indexOf(o)<0&&fd.push(o),(c[d]=f.matches)&&(m=1),f.addListener?f.addListener(ME):f.addEventListener("change",ME)));return m&&i(o,function(g){return o.add(null,g)}),this},e.revert=function(n){this.kill(n||{})}
vendor: 21,099 bytes, lines 3958-3965
3958,e.kill=function(n){this.contexts.forEach(function(i){return i.kill(n,!0)})},r}(),_A={registerPlugin:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.forEach(function(i){return h3(i)})},timeline:function(e){return new Ks(e)},getTweensOf:function(e,t){return Ii.getTweensOf(e,t)},getProperty:function(e,t,n,i){kr(e)&&(e=Eo(e)[0]);var s=ld(e||{}).get,o=n?$N:ZN;return n==="native"&&(n=""),e&&(t?o((za[t]&&za[t].get||s)(e,t,n,i)):function(c,f,d){return o((za[c]&&za[c].get||s)(e,c,f,d))})},quickSetter:function(e,t,n){if(e=Eo(e),e.length>1){var i=e.map(function(m){return Aa.quickSetter(m,t,n)}),s=i.length;return function(m){for(var g=s;g--;)i[g](m)}}e=e[0]||{};var o=za[t],c=ld(e),f=c.harness&&(c.harness.aliases||{})[t]||t,d=o?function(m){var g=new o;um._pt=0,g.init(e,n?m+n:m,um,0,[e]),g.render(1,g),um._pt&&sC(1,um)}:c.set(e,f);return o?d:function(m){return d(e,f,n?m+n:m,c,1)}},quickTo:function(e,t,n){var i,s=Aa.to(e,Za((i={},i[t]="+=0.1",i.paused=!0,i.stagger=0,i),n||{})),o=function(f,d,m){return s.resetTo(t,f,d,m)};return o.tween=s,o},isTweening:function(e){return Ii.getTweensOf(e,!0).length>0},defaults:function(e){return e&&e.ease&&(e.ease=ud(e.ease,Im.ease)),z2(Im,e||{})},config:function(e){return z2(Wa,e||{})},registerEffect:function(e){var t=e.name,n=e.effect,i=e.plugins,s=e.defaults,o=e.extendTimeline;(i||"").split(",").forEach(function(c){return c&&!za[c]&&!Qa[c]&&Rv(t+" effect requires "+c+" plugin.")}),b1[t]=function(c,f,d){return n(Eo(c),Za(f||{},s),d)},o&&(Ks.prototype[t]=function(c,f,d){return this.add(b1[t](c,oc(f)?f:(d=f)&&{},this),d)})},registerEase:function(e,t){In[e]=ud(t)},parseEase:function(e,t){return arguments.length?ud(e,t):In},getById:function(e){return Ii.getById(e)},exportRoot:function(e,t){e===void 0&&(e={});var n=new Ks(e),i,s;for(n.smoothChildTiming=ya(e.smoothChildTiming),Ii.remove(n),n._dp=0,n._time=n._tTime=Ii._time,i=Ii._first;i;)s=i._next,(t||!(!i._dur&&i instanceof fr&&i.vars.onComplete===i._targets[0]))&&Ql(n,i,i._start-i._delay),i=s;return Ql(Ii,n,0),n},context:function(e,t){return e?new C3(e,t):Ri},matchMedia:function(e){return new vk(e)},matchMediaRefresh:function(){return fd.forEach(function(e){var t=e.conditions,n,i;for(i in t)t[i]&&(t[i]=!1,n=1);n&&e.revert()})||ME()},addEventListener:function(e,t){var n=pS[e]||(pS[e]=[]);~n.indexOf(t)||n.push(t)},removeEventListener:function(e,t){var n=pS[e],i=n&&n.indexOf(t);i>=0&&n.splice(i,1)},utils:{wrap:JV,wrapYoyo:KV,distribute:a3,random:l3,snap:o3,normalize:WV,getUnit:ys,clamp:XV,splitColor:d3,toArray:Eo,selector:SE,mapRange:u3,pipe:jV,unitize:qV,interpolate:QV,shuffle:s3},install:qN,effects:b1,ticker:Ga,updateRoot:Ks.updateRoot,plugins:za,globalTimeline:Ii,core:{PropTween:xa,globals:WN,Tween:fr,Timeline:Ks,Animation:Nv,getCache:ld,_removeLinkedListItem:fb,reverting:function(){return ts},context:function(e){return e&&Ri&&(Ri.data.push(e),e._ctx=Ri),Ri},suppressOverwrites:function(e){return jT=e}}};_a("to,from,fromTo,delayedCall,set,killTweensOf",function(r){return _A[r]=fr[r]});Ga.add(Ks.updateRoot);um=_A.to({},{duration:0});var yk=function(e,t){for(var n=e._pt;n&&n.p!==t&&n.op!==t&&n.fp!==t;)n=n._next;return n},_k=function(e,t){var n=e._targets,i,s,o;for(i in t)for(s=n.length;s--;)o=e._ptLookup[s][i],o&&(o=o.d)&&(o._pt&&(o=yk(o,i)),o&&o.modifier&&o.modifier(t[i],e,n[s],i))},w1=function(e,t){return{name:e,headless:1,rawVars:1,init:function(i,s,o){o._onInit=function(c){var f,d;if(kr(s)&&(f={},_a(s,function(m){return f[m]=1}),s=f),t){f={};for(d in s)f[d]=t(s[d]);s=f}_k(c,s)}}}},Aa=_A.registerPlugin({name:"attr",init:function(e,t,n,i,s){var o,c,f;this.tween=n;for(o in t)f=e.getAttribute(o)||"",c=this.add(e,"setAttribute",(f||0)+"",t[o],i,s,0,0,o),c.op=o,c.b=f,this._props.push(o)},render:function(e,t){for(var n=t._pt;n;)ts?n.set(n.t,n.p,n.b,n):n.r(e,n.d),n=n._next}},{name:"endArray",headless:1,init:function(e,t){for(var n=t.length;n--;)this.add(e,n,e[n]||0,t[n],0,0,0,0,0,1)}},w1("roundProps",AE),w1("modifiers"),w1("snap",o3))||_A;fr.version=Ks.version=Aa.version="3.13.0";jN=1;WT()&&Fm();In.Power0;In.Power1;In.Power2;In.Power3;In.Power4;In.Linear;In.Quad;In.Cubic;In.Quart;In.Quint;In.Strong;In.Elastic;In.Back;In.SteppedEase;In.Bounce;In.Sine;In.Expo;In.Circ;/*!
3959 * CSSPlugin 3.13.0
3960 * https://gsap.com
3961 *
3962 * Copyright 2008-2025, GreenSock. All rights reserved.
3963 * Subject to the terms at https://gsap.com/standard-license
3964 * @author: Jack Doyle, [email protected]
3965*/var Y2,gf,vm,aC,id,j2,oC,xk=function(){return typeof window<"u"},lu={},qh=180/Math.PI,ym=Math.PI/180,tm=Math.atan2,q2=1e8,lC=/([A-Z])/g,Sk=/(left|right|width|margin|padding|x)/i,Ak=/[\s,\(]\S/,$l={autoAlpha:"opacity,visibility",scale:"scaleX,scaleY",alpha:"opacity"},EE=function(e,t){return t.set(t.t,t.p,Math.round((t.s+t.c*e)*1e4)/1e4+t.u,t)},bk=function(e,t){return t.set(t.t,t.p,e===1?t.e:Math.round((t.s+t.c*e)*1e4)/1e4+t.u,t)},Mk=function(e,t){return t.set(t.t,t.p,e?Math.round((t.s+t.c*e)*1e4)/1e4+t.u:t.b,t)},Ek=function(e,t){var n=t.s+t.c*e;t.set(t.t,t.p,~~(n+(n<0?-.5:.5))+t.u,t)},w3=function(e,t){return t.set(t.t,t.p,e?t.e:t.b,t)},R3=function(e,t){return t.set(t.t,t.p,e!==1?t.b:t.e,t)},Tk=function(e,t,n){return e.style[t]=n},Ck=function(e,t,n){return e.style.setProperty(t,n)},wk=function(e,t,n){return e._gsap[t]=n},Rk=function(e,t,n){return e._gsap.scaleX=e._gsap.scaleY=n},Bk=function(e,t,n,i,s){var o=e._gsap;o.scaleX=o.scaleY=n,o.renderTransform(s,o)},Dk=function(e,t,n,i,s){var o=e._gsap;o[t]=n,o.renderTransform(s,o)},Hi="transform",Sa=Hi+"Origin",Ok=function r(e,t){var n=this,i=this.target,s=i.style,o=i._gsap;if(e in lu&&s){if(this.tfm=this.tfm||{},e!=="transform")e=$l[e]||e,~e.indexOf(",")?e.split(",").forEach(function(c){return n.tfm[c]=jc(i,c)}):this.tfm[e]=o.x?o[e]:jc(i,e),e===Sa&&(this.tfm.zOrigin=o.zOrigin);else return $l.transform.split(",").forEach(function(c){return r.call(n,c,t)});if(this.props.indexOf(Hi)>=0)return;o.svg&&(this.svgo=i.getAttribute("data-svg-origin"),this.props.push(Sa,t,"")),e=Hi}(s||t)&&this.props.push(e,t,s[e])},B3=function(e){e.translate&&(e.removeProperty("translate"),e.removeProperty("scale"),e.removeProperty("rotate"))},Nk=function(){var e=this.props,t=this.target,n=t.style,i=t._gsap,s,o;for(s=0;s<e.length;s+=3)e[s+1]?e[s+1]===2?t[e[s]](e[s+2]):t[e[s]]=e[s+2]:e[s+2]?n[e[s]]=e[s+2]:n.removeProperty(e[s].substr(0,2)==="--"?e[s]:e[s].replace(lC,"-$1").toLowerCase());if(this.tfm){for(o in this.tfm)i[o]=this.tfm[o];i.svg&&(i.renderTransform(),t.setAttribute("data-svg-origin",this.svgo||"")),s=oC(),(!s||!s.isStart)&&!n[Hi]&&(B3(n),i.zOrigin&&n[Sa]&&(n[Sa]+=" "+i.zOrigin+"px",i.zOrigin=0,i.renderTransform()),i.uncache=1)}},D3=function(e,t){var n={target:e,props:[],revert:Nk,save:Ok};return e._gsap||Aa.core.getCache(e),t&&e.style&&e.nodeType&&t.split(",").forEach(function(i){return n.save(i)}),n},O3,TE=function(e,t){var n=gf.createElementNS?gf.createElementNS((t||"http://www.w3.org/1999/xhtml").replace(/^https/,"http"),e):gf.createElement(e);return n&&n.style?n:gf.createElement(e)},To=function r(e,t,n){var i=getComputedStyle(e);return i[t]||i.getPropertyValue(t.replace(lC,"-$1").toLowerCase())||i.getPropertyValue(t)||!n&&r(e,Gm(t)||t,1)||""},W2="O,Moz,ms,Ms,Webkit".split(","),Gm=function(e,t,n){var i=t||id,s=i.style,o=5;if(e in s&&!n)return e;for(e=e.charAt(0).toUpperCase()+e.substr(1);o--&&!(W2[o]+e in s););return o<0?null:(o===3?"ms":o>=0?W2[o]:"")+e},CE=function(){xk()&&window.document&&(Y2=window,gf=Y2.document,vm=gf.documentElement,id=TE("div")||{style:{}},TE("div"),Hi=Gm(Hi),Sa=Hi+"Origin",id.style.cssText="border-width:0;line-height:0;position:absolute;padding:0",O3=!!Gm("perspective"),oC=Aa.core.reverting,aC=1)},J2=function(e){var t=e.ownerSVGElement,n=TE("svg",t&&t.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),i=e.cloneNode(!0),s;i.style.display="block",n.appendChild(i),vm.appendChild(n);try{s=i.getBBox()}catch{}return n.removeChild(i),vm.removeChild(n),s},K2=function(e,t){for(var n=t.length;n--;)if(e.hasAttribute(t[n]))return e.getAttribute(t[n])},N3=function(e){var t,n;try{t=e.getBBox()}catch{t=J2(e),n=1}return t&&(t.width||t.height)||n||(t=J2(e)),t&&!t.width&&!t.x&&!t.y?{x:+K2(e,["x","cx","x1"])||0,y:+K2(e,["y","cy","y1"])||0,width:0,height:0}:t},L3=function(e){return!!(e.getCTM&&(!e.parentNode||e.ownerSVGElement)&&N3(e))},Ad=function(e,t){if(t){var n=e.style,i;t in lu&&t!==Sa&&(t=Hi),n.removeProperty?(i=t.substr(0,2),(i==="ms"||t.substr(0,6)==="webkit")&&(t="-"+t),n.removeProperty(i==="--"?t:t.replace(lC,"-$1").toLowerCase())):n.removeAttribute(t)}},vf=function(e,t,n,i,s,o){var c=new xa(e._pt,t,n,0,1,o?R3:w3);return e._pt=c,c.b=i,c.e=s,e._props.push(n),c},Q2={deg:1,rad:1,turn:1},Lk={grid:1,flex:1},Rf=function r(e,t,n,i){var s=parseFloat(n)||0,o=(n+"").trim().substr((s+"").length)||"px",c=id.style,f=Sk.test(t),d=e.tagName.toLowerCase()==="svg",m=(d?"client":"offset")+(f?"Width":"Height"),g=100,y=i==="px",_=i==="%",S,M,b,A;if(i===o||!s||Q2[i]||Q2[o])return s;if(o!=="px"&&!y&&(s=r(e,t,n,"px")),A=e.getCTM&&L3(e),(_||o==="%")&&(lu[t]||~t.indexOf("adius")))return S=A?e.getBBox()[f?"width":"height"]:e[m],er(_?s/S*g:s/100*S);if(c[f?"width":"height"]=g+(y?o:i),M=i!=="rem"&&~t.indexOf("adius")||i==="em"&&e.appendChild&&!d?e:e.parentNode,A&&(M=(e.ownerSVGElement||{}).parentNode),(!M||M===gf||!M.appendChild)&&(M=gf.body),b=M._gsap,b&&_&&b.width&&f&&b.time===Ga.time&&!b.uncache)return er(s/b.width*g);if(_&&(t==="height"||t==="width")){var w=e.style[t];e.style[t]=g+i,S=e[m],w?e.style[t]=w:Ad(e,t)}else(_||o==="%")&&!Lk[To(M,"display")]&&(c.position=To(e,"position")),M===e&&(c.position="static"),M.appendChild(id),S=id[m],M.removeChild(id),c.position="absolute";return f&&_&&(b=ld(M),b.time=Ga.time,b.width=M[m]),er(y?S*s/g:S&&s?g/S*s:0)},jc=function(e,t,n,i){var s;return aC||CE(),t in $l&&t!=="transform"&&(t=$l[t],~t.indexOf(",")&&(t=t.split(",")[0])),lu[t]&&t!=="transform"?(s=Uv(e,i),s=t!=="transformOrigin"?s[t]:s.svg?s.origin:SA(To(e,Sa))+" "+s.zOrigin+"px"):(s=e.style[t],(!s||s==="auto"||i||~(s+"").indexOf("calc("))&&(s=xA[t]&&xA[t](e,t,n)||To(e,t)||KN(e,t)||(t==="opacity"?1:0))),n&&!~(s+"").trim().indexOf(" ")?Rf(e,t,s,n)+n:s},Uk=function(e,t,n,i){if(!n||n==="none"){var s=Gm(t,e,1),o=s&&To(e,s,1);o&&o!==n?(t=s,n=o):t==="borderColor"&&(n=To(e,"borderTopColor"))}var c=new xa(this._pt,e.style,t,0,1,E3),f=0,d=0,m,g,y,_,S,M,b,A,w,D,B,I;if(c.b=n,c.e=i,n+="",i+="",i.substring(0,6)==="var(--"&&(i=To(e,i.substring(4,i.indexOf(")")))),i==="auto"&&(M=e.style[t],e.style[t]=i,i=To(e,t)||i,M?e.style[t]=M:Ad(e,t)),m=[n,i],m3(m),n=m[0],i=m[1],y=n.match(cm)||[],I=i.match(cm)||[],I.length){for(;g=cm.exec(i);)b=g[0],w=i.substring(f,g.index),S?S=(S+1)%5:(w.substr(-5)==="rgba("||w.substr(-5)==="hsla(")&&(S=1),b!==(M=y[d++]||"")&&(_=parseFloat(M)||0,B=M.substr((_+"").length),b.charAt(1)==="="&&(b=gm(_,b)+B),A=parseFloat(b),D=b.substr((A+"").length),f=cm.lastIndex-D.length,D||(D=D||Wa.units[t]||B,f===i.length&&(i+=D,c.e+=D)),B!==D&&(_=Rf(e,t,M,D)||0),c._pt={_next:c._pt,p:w||d===1?w:",",s:_,c:A-_,m:S&&S<4||t==="zIndex"?Math.round:0});c.c=f<i.length?i.substring(f,i.length):""}else c.r=t==="display"&&i==="none"?R3:w3;return XN.test(i)&&(c.e=0),this._pt=c,c},Z2={top:"0%",bottom:"100%",left:"0%",right:"100%",center:"50%"},Ik=function(e){var t=e.split(" "),n=t[0],i=t[1]||"50%";return(n==="top"||n==="bottom"||i==="left"||i==="right")&&(e=n,n=i,i=e),t[0]=Z2[n]||n,t[1]=Z2[i]||i,t.join(" ")},Pk=function(e,t){if(t.tween&&t.tween._time===t.tween._dur){var n=t.t,i=n.style,s=t.u,o=n._gsap,c,f,d;if(s==="all"||s===!0)i.cssText="",f=1;else for(s=s.split(","),d=s.length;--d>-1;)c=s[d],lu[c]&&(f=1,c=c==="transformOrigin"?Sa:Hi),Ad(n,c);f&&(Ad(n,Hi),o&&(o.svg&&n.removeAttribute("transform"),i.scale=i.rotate=i.translate="none",Uv(n,1),o.uncache=1,B3(i)))}},xA={clearProps:function(e,t,n,i,s){if(s.data!=="isFromStart"){var o=e._pt=new xa(e._pt,t,n,0,0,Pk);return o.u=i,o.pr=-10,o.tween=s,e._props.push(n),1}}},Lv=[1,0,0,1,0,0],U3={},I3=function(e){return e==="matrix(1, 0, 0, 1, 0, 0)"||e==="none"||!e},$2=function(e){var t=To(e,Hi);return I3(t)?Lv:t.substr(7).match(kN).map(er)},cC=function(e,t){var n=e._gsap||ld(e),i=e.style,s=$2(e),o,c,f,d;return n.svg&&e.getAttribute("transform")?(f=e.transform.baseVal.consolidate().matrix,s=[f.a,f.b,f.c,f.d,f.e,f.f],s.join(",")==="1,0,0,1,0,0"?Lv:s):(s===Lv&&!e.offsetParent&&e!==vm&&!n.svg&&(f=i.display,i.display="block",o=e.parentNode,(!o||!e.offsetParent&&!e.getBoundingClientRect().width)&&(d=1,c=e.nextElementSibling,vm.appendChild(e)),s=$2(e),f?i.display=f:Ad(e,"display"),d&&(c?o.insertBefore(e,c):o?o.appendChild(e):vm.removeChild(e))),t&&s.length>6?[s[0],s[1],s[4],s[5],s[12],s[13]]:s)},wE=function(e,t,n,i,s,o){var c=e._gsap,f=s||cC(e,!0),d=c.xOrigin||0,m=c.yOrigin||0,g=c.xOffset||0,y=c.yOffset||0,_=f[0],S=f[1],M=f[2],b=f[3],A=f[4],w=f[5],D=t.split(" "),B=parseFloat(D[0])||0,I=parseFloat(D[1])||0,O,U,z,P;n?f!==Lv&&(U=_*b-S*M)&&(z=B*(b/U)+I*(-M/U)+(M*w-b*A)/U,P=B*(-S/U)+I*(_/U)-(_*w-S*A)/U,B=z,I=P):(O=N3(e),B=O.x+(~D[0].indexOf("%")?B/100*O.width:B),I=O.y+(~(D[1]||D[0]).indexOf("%")?I/100*O.height:I)),i||i!==!1&&c.smooth?(A=B-d,w=I-m,c.xOffset=g+(A*_+w*M)-A,c.yOffset=y+(A*S+w*b)-w):c.xOffset=c.yOffset=0,c.xOrigin=B,c.yOrigin=I,c.smooth=!!i,c.origin=t,c.originIsAbsolute=!!n,e.style[Sa]="0px 0px",o&&(vf(o,c,"xOrigin",d,B),vf(o,c,"yOrigin",m,I),vf(o,c,"xOffset",g,c.xOffset),vf(o,c,"yOffset",y,c.yOffset)),e.setAttribute("data-svg-origin",B+" "+I)},Uv=function(e,t){var n=e._gsap||new _3(e);if("x"in n&&!t&&!n.uncache)return n;var i=e.style,s=n.scaleX<0,o="px",c="deg",f=getComputedStyle(e),d=To(e,Sa)||"0",m,g,y,_,S,M,b,A,w,D,B,I,O,U,z,P,N,G,X,Q,te,le,k,W,ee,pe,H,re,ye,Ae,Te,he;return m=g=y=M=b=A=w=D=B=0,_=S=1,n.svg=!!(e.getCTM&&L3(e)),f.translate&&((f.translate!=="none"||f.scale!=="none"||f.rotate!=="none")&&(i[Hi]=(f.translate!=="none"?"translate3d("+(f.translate+" 0 0").split(" ").slice(0,3).join(", ")+") ":"")+(f.rotate!=="none"?"rotate("+f.rotate+") ":"")+(f.scale!=="none"?"scale("+f.scale.split(" ").join(",")+") ":"")+(f[Hi]!=="none"?f[Hi]:"")),i.scale=i.rotate=i.translate="none"),U=cC(e,n.svg),n.svg&&(n.uncache?(ee=e.getBBox(),d=n.xOrigin-ee.x+"px "+(n.yOrigin-ee.y)+"px",W=""):W=!t&&e.getAttribute("data-svg-origin"),wE(e,W||d,!!W||n.originIsAbsolute,n.smooth!==!1,U)),I=n.xOrigin||0,O=n.yOrigin||0,U!==Lv&&(G=U[0],X=U[1],Q=U[2],te=U[3],m=le=U[4],g=k=U[5],U.length===6?(_=Math.sqrt(G*G+X*X),S=Math.sqrt(te*te+Q*Q),M=G||X?tm(X,G)*qh:0,w=Q||te?tm(Q,te)*qh+M:0,w&&(S*=Math.abs(Math.cos(w*ym))),n.svg&&(m-=I-(I*G+O*Q),g-=O-(I*X+O*te))):(he=U[6],Ae=U[7],H=U[8],re=U[9],ye=U[10],Te=U[11],m=U[12],g=U[13],y=U[14],z=tm(he,ye),b=z*qh,z&&(P=Math.cos(-z),N=Math.sin(-z),W=le*P+H*N,ee=k*P+re*N,pe=he*P+ye*N,H=le*-N+H*P,re=k*-N+re*P,ye=he*-N+ye*P,Te=Ae*-N+Te*P,le=W,k=ee,he=pe),z=tm(-Q,ye),A=z*qh,z&&(P=Math.cos(-z),N=Math.sin(-z),W=G*P-H*N,ee=X*P-re*N,pe=Q*P-ye*N,Te=te*N+Te*P,G=W,X=ee,Q=pe),z=tm(X,G),M=z*qh,z&&(P=Math.cos(z),N=Math.sin(z),W=G*P+X*N,ee=le*P+k*N,X=X*P-G*N,k=k*P-le*N,G=W,le=ee),b&&Math.abs(b)+Math.abs(M)>359.9&&(b=M=0,A=180-A),_=er(Math.sqrt(G*G+X*X+Q*Q)),S=er(Math.sqrt(k*k+he*he)),z=tm(le,k),w=Math.abs(z)>2e-4?z*qh:0,B=Te?1/(Te<0?-Te:Te):0),n.svg&&(W=e.getAttribute("transform"),n.forceCSS=e.setAttribute("transform","")||!I3(To(e,Hi)),W&&e.setAttribute("transform",W))),Math.abs(w)>90&&Math.abs(w)<270&&(s?(_*=-1,w+=M<=0?180:-180,M+=M<=0?180:-180):(S*=-1,w+=w<=0?180:-180)),t=t||n.uncache,n.x=m-((n.xPercent=m&&(!t&&n.xPercent||(Math.round(e.offsetWidth/2)===Math.round(-m)?-50:0)))?e.offsetWidth*n.xPercent/100:0)+o,n.y=g-((n.yPercent=g&&(!t&&n.yPercent||(Math.round(e.offsetHeight/2)===Math.round(-g)?-50:0)))?e.offsetHeight*n.yPercent/100:0)+o,n.z=y+o,n.scaleX=er(_),n.scaleY=er(S),n.rotation=er(M)+c,n.rotationX=er(b)+c,n.rotationY=er(A)+c,n.skewX=w+c,n.skewY=D+c,n.transformPerspective=B+o,(n.zOrigin=parseFloat(d.split(" ")[2])||!t&&n.zOrigin||0)&&(i[Sa]=SA(d)),n.xOffset=n.yOffset=0,n.force3D=Wa.force3D,n.renderTransform=n.svg?zk:O3?P3:Hk,n.uncache=0,n},SA=function(e){return(e=e.split(" "))[0]+" "+e[1]},R1=function(e,t,n){var i=ys(t);return er(parseFloat(t)+parseFloat(Rf(e,"x",n+"px",i)))+i},Hk=function(e,t){t.z="0px",t.rotationY=t.rotationX="0deg",t.force3D=0,P3(e,t)},kh="0deg",D0="0px",Xh=") ",P3=function(e,t){var n=t||this,i=n.xPercent,s=n.yPercent,o=n.x,c=n.y,f=n.z,d=n.rotation,m=n.rotationY,g=n.rotationX,y=n.skewX,_=n.skewY,S=n.scaleX,M=n.scaleY,b=n.transformPerspective,A=n.force3D,w=n.target,D=n.zOrigin,B="",I=A==="auto"&&e&&e!==1||A===!0;if(D&&(g!==kh||m!==kh)){var O=parseFloat(m)*ym,U=Math.sin(O),z=Math.cos(O),P;O=parseFloat(g)*ym,P=Math.cos(O),o=R1(w,o,U*P*-D),c=R1(w,c,-Math.sin(O)*-D),f=R1(w,f,z*P*-D+D)}b!==D0&&(B+="perspective("+b+Xh),(i||s)&&(B+="translate("+i+"%, "+s+"%) "),(I||o!==D0||c!==D0||f!==D0)&&(B+=f!==D0||I?"translate3d("+o+", "+c+", "+f+") ":"translate("+o+", "+c+Xh),d!==kh&&(B+="rotate("+d+Xh),m!==kh&&(B+="rotateY("+m+Xh),g!==kh&&(B+="rotateX("+g+Xh),(y!==kh||_!==kh)&&(B+="skew("+y+", "+_+Xh),(S!==1||M!==1)&&(B+="scale("+S+", "+M+Xh),w.style[Hi]=B||"translate(0, 0)"},zk=function(e,t){var n=t||this,i=n.xPercent,s=n.yPercent,o=n.x,c=n.y,f=n.rotation,d=n.skewX,m=n.skewY,g=n.scaleX,y=n.scaleY,_=n.target,S=n.xOrigin,M=n.yOrigin,b=n.xOffset,A=n.yOffset,w=n.forceCSS,D=parseFloat(o),B=parseFloat(c),I,O,U,z,P;f=parseFloat(f),d=parseFloat(d),m=parseFloat(m),m&&(m=parseFloat(m),d+=m,f+=m),f||d?(f*=ym,d*=ym,I=Math.cos(f)*g,O=Math.sin(f)*g,U=Math.sin(f-d)*-y,z=Math.cos(f-d)*y,d&&(m*=ym,P=Math.tan(d-m),P=Math.sqrt(1+P*P),U*=P,z*=P,m&&(P=Math.tan(m),P=Math.sqrt(1+P*P),I*=P,O*=P)),I=er(I),O=er(O),U=er(U),z=er(z)):(I=g,z=y,O=U=0),(D&&!~(o+"").indexOf("px")||B&&!~(c+"").indexOf("px"))&&(D=Rf(_,"x",o,"px"),B=Rf(_,"y",c,"px")),(S||M||b||A)&&(D=er(D+S-(S*I+M*U)+b),B=er(B+M-(S*O+M*z)+A)),(i||s)&&(P=_.getBBox(),D=er(D+i/100*P.width),B=er(B+s/100*P.height)),P="matrix("+I+","+O+","+U+","+z+","+D+","+B+")",_.setAttribute("transform",P),w&&(_.style[Hi]=P)},Fk=function(e,t,n,i,s){var o=360,c=kr(s),f=parseFloat(s)*(c&&~s.indexOf("rad")?qh:1),d=f-i,m=i+d+"deg",g,y;return c&&(g=s.split("_")[1],g==="short"&&(d%=o,d!==d%(o/2)&&(d+=d<0?o:-o)),g==="cw"&&d<0?d=(d+o*q2)%o-~~(d/o)*o:g==="ccw"&&d>0&&(d=(d-o*q2)%o-~~(d/o)*o)),e._pt=y=new xa(e._pt,t,n,i,d,bk),y.e=m,y.u="deg",e._props.push(n),y},eB=function(e,t){for(var n in t)e[n]=t[n];return e},Gk=function(e,t,n){var i=eB({},n._gsap),s="perspective,force3D,transformOrigin,svgOrigin",o=n.style,c,f,d,m,g,y,_,S;i.svg?(d=n.getAttribute("transform"),n.setAttribute("transform",""),o[Hi]=t,c=Uv(n,1),Ad(n,Hi),n.setAttribute("transform",d)):(d=getComputedStyle(n)[Hi],o[Hi]=t,c=Uv(n,1),o[Hi]=d);for(f in lu)d=i[f],m=c[f],d!==m&&s.indexOf(f)<0&&(_=ys(d),S=ys(m),g=_!==S?Rf(n,f,d,S):parseFloat(d),y=parseFloat(m),e._pt=new xa(e._pt,c,f,g,y-g,EE),e._pt.u=S||0,e._props.push(f));eB(c,i)};_a("padding,margin,Width,Radius",function(r,e){var t="Top",n="Right",i="Bottom",s="Left",o=(e<3?[t,n,i,s]:[t+s,t+n,i+n,i+s]).map(function(c){return e<2?r+c:"border"+c+r});xA[e>1?"border"+r:r]=function(c,f,d,m,g){var y,_;if(arguments.length<4)return y=o.map(function(S){return jc(c,S,d)}),_=y.join(" "),_.split(y[0]).length===5?y[0]:_;y=(m+"").split(" "),_={},o.forEach(function(S,M){return _[S]=y[M]=y[M]||y[(M-1)/2|0]}),c.init(f,_,g)}});var H3={name:"css",register:CE,targetTest:function(e){return e.style&&e.nodeType},init:function(e,t,n,i,s){var o=this._props,c=e.style,f=n.vars.startAt,d,m,g,y,_,S,M,b,A,w,D,B,I,O,U,z;aC||CE(),this.styles=this.styles||D3(e),z=this.styles.props,this.tween=n;for(M in t)if(M!=="autoRound"&&(m=t[M],!(za[M]&&x3(M,t,n,i,e,s)))){if(_=typeof m,S=xA[M],_==="function"&&(m=m.call(n,i,e,s),_=typeof m),_==="string"&&~m.indexOf("random(")&&(m=Dv(m)),S)S(this,e,M,m,n)&&(U=1);else if(M.substr(0,2)==="--")d=(getComputedStyle(e).getPropertyValue(M)+"").trim(),m+="",Af.lastIndex=0,Af.test(d)||(b=ys(d),A=ys(m)),A?b!==A&&(d=Rf(e,M,d,A)+A):b&&(m+=b),this.add(c,"setProperty",d,m,i,s,0,0,M),o.push(M),z.push(M,0,c[M]);else if(_!=="undefined"){if(f&&M in f?(d=typeof f[M]=="function"?f[M].call(n,i,e,s):f[M],kr(d)&&~d.indexOf("random(")&&(d=Dv(d)),ys(d+"")||d==="auto"||(d+=Wa.units[M]||ys(jc(e,M))||""),(d+"").charAt(1)==="="&&(d=jc(e,M))):d=jc(e,M),y=parseFloat(d),w=_==="string"&&m.charAt(1)==="="&&m.substr(0,2),w&&(m=m.substr(2)),g=parseFloat(m),M in $l&&(M==="autoAlpha"&&(y===1&&jc(e,"visibility")==="hidden"&&g&&(y=0),z.push("visibility",0,c.visibility),vf(this,c,"visibility",y?"inherit":"hidden",g?"inherit":"hidden",!g)),M!=="scale"&&M!=="transform"&&(M=$l[M],~M.indexOf(",")&&(M=M.split(",")[0]))),D=M in lu,D){if(this.styles.save(M),_==="string"&&m.substring(0,6)==="var(--"&&(m=To(e,m.substring(4,m.indexOf(")"))),g=parseFloat(m)),B||(I=e._gsap,I.renderTransform&&!t.parseTransform||Uv(e,t.parseTransform),O=t.smoothOrigin!==!1&&I.smooth,B=this._pt=new xa(this._pt,c,Hi,0,1,I.renderTransform,I,0,-1),B.dep=1),M==="scale")this._pt=new xa(this._pt,I,"scaleY",I.scaleY,(w?gm(I.scaleY,w+g):g)-I.scaleY||0,EE),this._pt.u=0,o.push("scaleY",M),M+="X";else if(M==="transformOrigin"){z.push(Sa,0,c[Sa]),m=Ik(m),I.svg?wE(e,m,0,O,0,this):(A=parseFloat(m.split(" ")[2])||0,A!==I.zOrigin&&vf(this,I,"zOrigin",I.zOrigin,A),vf(this,c,M,SA(d
3965),SA(m)));continue}else if(M==="svgOrigin"){wE(e,m,1,O,0,this);continue}else if(M in U3){Fk(this,I,M,y,w?gm(y,w+m):m);continue}else if(M==="smoothOrigin"){vf(this,I,"smooth",I.smooth,m);continue}else if(M==="force3D"){I[M]=m;continue}else if(M==="transform"){Gk(this,m,e);continue}}else M in c||(M=Gm(M)||M);if(D||(g||g===0)&&(y||y===0)&&!Ak.test(m)&&M in c)b=(d+"").substr((y+"").length),g||(g=0),A=ys(m)||(M in Wa.units?Wa.units[M]:b),b!==A&&(y=Rf(e,M,d,A)),this._pt=new xa(this._pt,D?I:c,M,y,(w?gm(y,w+g):g)-y,!D&&(A==="px"||M==="zIndex")&&t.autoRound!==!1?Ek:EE),this._pt.u=A||0,b!==A&&A!=="%"&&(this._pt.b=d,this._pt.r=Mk);else if(M in c)Uk.call(this,e,M,d,w?w+m:m);else if(M in e)this.add(e,M,d||e[M],w?w+m:m,i,s);else if(M!=="parseTransform"){KT(M,m);continue}D||(M in c?z.push(M,0,c[M]):typeof e[M]=="function"?z.push(M,2,e[M]()):z.push(M,1,d||e[M])),o.push(M)}}U&&T3(this)},render:function(e,t){if(t.tween._time||!oC())for(var n=t._pt;n;)n.r(e,n.d),n=n._next;else t.styles.revert()},get:jc,aliases:$l,getSetter:function(e,t,n){var i=$l[t];return i&&i.indexOf(",")<0&&(t=i),t in lu&&t!==Sa&&(e._gsap.x||jc(e,"x"))?n&&j2===n?t==="scale"?Rk:wk:(j2=n||{})&&(t==="scale"?Bk:Dk):e.style&&!qT(e.style[t])?Tk:~t.indexOf("-")?Ck:rC(e,t)},core:{_removeProperty:Ad,_getMatrix:cC}};Aa.utils.checkPrefix=Gm;Aa.core.getStyleSaver=D3;(function(r,e,t,n){var i=_a(r+","+e+","+t,function(s){lu[s]=1});_a(e,function(s){Wa.units[s]="deg",U3[s]=1}),$l[i[13]]=r+","+e,_a(n,function(s){var o=s.split(":");$l[o[1]]=i[o[0]]})})("x,y,z,scale,scaleX,scaleY,xPercent,yPercent","rotation,rotationX,rotationY,skewX,skewY","transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective","0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY");_a("x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective",function(r){Wa.units[r]="px"});Aa.registerPlugin(H3);var it=Aa.registerPlugin(H3)||Aa;it.core.Tween;/*!
3966 * @gsap/react 2.1.2
3967 * https://gsap.com
3968 *
3969 * Copyright 2008-2025, GreenSock. All rights reserved.
3970 * Subject to the terms at https://gsap.com/standard-license or for
3971 * Club GSAP members, the agreement issued with that membership.
3972 * @author: Jack Doyle, [email protected]
3973*/let tB=typeof document<"u"?$.useLayoutEffect:$.useEffect,nB=r=>r&&!Array.isArray(r)&&typeof r=="object",Ox=[],Vk={},z3=it;const ir=(r,e=Ox)=>{let t=Vk;nB(r)?(t=r,r=null,e="dependencies"in t?t.dependencies:Ox):nB(e)&&(t=e,e="dependencies"in t?t.dependencies:Ox),r&&typeof r!="function"&&console.warn("First parameter must be a function or config object");const{scope:n,revertOnUpdate:i}=t,s=$.useRef(!1),o=$.useRef(z3.context(()=>{},n)),c=$.useRef(d=>o.current.add(null,d)),f=e&&e.length&&!i;return f&&tB(()=>(s.current=!0,()=>o.current.revert()),Ox),tB(()=>{if(r&&o.current.add(r,n),!f||!s.current)return()=>o.current.revert()},e),{context:o.current,contextSafe:c.current}};ir.register=r=>{z3=r};ir.headless=!0;var Ci={},Nx={},Lx={},Ux={},B1,iB;function kk(){if(iB)return B1;iB=1;var r="Expected a function",e=NaN,t="[object Symbol]",n=/^\s+|\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,o=/^0o[0-7]+$/i,c=parseInt,f=typeof N_=="object"&&N_&&N_.Object===Object&&N_,d=typeof self=="object"&&self&&self.Object===Object&&self,m=f||d||Function("return this")(),g=Object.prototype,y=g.toString,_=Math.max,S=Math.min,M=function(){return m.Date.now()};function b(O,U,z){var P,N,G,X,Q,te,le=0,k=!1,W=!1,ee=!0;if(typeof O!="function")throw new TypeError(r);U=I(U)||0,w(z)&&(k=!!z.leading,W="maxWait"in z,G=W?_(I(z.maxWait)||0,U):G,ee="trailing"in z?!!z.trailing:ee);function pe(Oe){var We=P,gt=N;return P=N=void 0,le=Oe,X=O.apply(gt,We),X}function H(Oe){return le=Oe,Q=setTimeout(Ae,U),k?pe(Oe):X}function re(Oe){var We=Oe-te,gt=Oe-le,Ft=U-We;return W?S(Ft,G-gt):Ft}function ye(Oe){var We=Oe-te,gt=Oe-le;return te===void 0||We>=U||We<0||W&&gt>=G}function Ae(){var Oe=M();if(ye(Oe))return Te(Oe);Q=setTimeout(Ae,re(Oe))}function Te(Oe){return Q=void 0,ee&&P?pe(Oe):(P=N=void 0,X)}function he(){Q!==void 0&&clearTimeout(Q),le=0,P=te=N=Q=void 0}function xe(){return Q===void 0?X:Te(M())}function Ne(){var Oe=M(),We=ye(Oe);if(P=arguments,N=this,te=Oe,We){if(Q===void 0)return H(te);if(W)return Q=setTimeout(Ae,U),pe(te)}return Q===void 0&&(Q=setTimeout(Ae,U)),X}return Ne.cancel=he,Ne.flush=xe,Ne}function A(O,U,z){var P=!0,N=!0;if(typeof O!="function")throw new TypeError(r);return w(z)&&(P="leading"in z?!!z.leading:P,N="trailing"in z?!!z.trailing:N),b(O,U,{leading:P,maxWait:U,trailing:N})}function w(O){var U=typeof O;return!!O&&(U=="object"||U=="function")}function D(O){return!!O&&typeof O=="object"}function B(O){return typeof O=="symbol"||D(O)&&y.call(O)==t}function I(O){if(typeof O=="number")return O;if(B(O))return e;if(w(O)){var U=typeof O.valueOf=="function"?O.valueOf():O;O=w(U)?U+"":U}if(typeof O!="string")return O===0?O:+O;O=O.replace(n,"");var z=s.test(O);return z||o.test(O)?c(O.slice(2),z?2:8):i.test(O)?e:+O}return B1=A,B1}var O0={},rB;function uC(){if(rB)return O0;rB=1,Object.defineProperty(O0,"__esModule",{value:!0}),O0.addPassiveEventListener=function(t,n,i){var s=i.name;s||(s=n,console.warn("Listener must be a named function.")),r.has(n)||r.set(n,new Set);var o=r.get(n);if(!o.has(s)){var c=function(){var f=!1;try{var d=Object.defineProperty({},"passive",{get:function(){f=!0}});window.addEventListener("test",null,d)}catch{}return f}();t.addEventListener(n,i,c?{passive:!0}:!1),o.add(s)}},O0.removePassiveEventListener=function(t,n,i){t.removeEventListener(n,i),r.get(n).delete(i.name||n)};var r=new Map;return O0}var sB;function fC(){if(sB)return Ux;sB=1,Object.defineProperty(Ux,"__esModule",{value:!0});var r=kk(),e=n(r),t=uC();function n(o){return o&&o.__esModule?o:{default:o}}var i=function(c){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:66;return(0,e.default)(c,f)},s={spyCallbacks:[],spySetState:[],scrollSpyContainers:[],mount:function(c,f){if(c){var d=i(function(m){s.scrollHandler(c)},f);return s.scrollSpyContainers.push(c),(0,t.addPassiveEventListener)(c,"scroll",d),function(){(0,t.removePassiveEventListener)(c,"scroll",d),s.scrollSpyContainers.splice(s.scrollSpyContainers.indexOf(c),1)}}return function(){}},isMounted:function(c){return s.scrollSpyContainers.indexOf(c)!==-1},currentPositionX:function(c){if(c===document){var f=window.scrollY!==void 0,d=(document.compatMode||"")==="CSS1Compat";return f?window.scrollX:d?document.documentElement.scrollLeft:document.body.scrollLeft}else return c.scrollLeft},currentPositionY:function(c){if(c===document){var f=window.scrollX!==void 0,d=(document.compatMode||"")==="CSS1Compat";return f?window.scrollY:d?document.documentElement.scrollTop:document.body.scrollTop}else return c.scrollTop},scrollHandler:function(c){var f=s.scrollSpyContainers[s.scrollSpyContainers.indexOf(c)].spyCallbacks||[];f.forEach(function(d){return d(s.currentPositionX(c),s.currentPositionY(c))})},addStateHandler:function(c){s.spySetState.push(c)},addSpyHandler:function(c,f){var d=s.scrollSpyContainers[s.scrollSpyContainers.indexOf(f)];d.spyCallbacks||(d.spyCallbacks=[]),d.spyCallbacks.push(c)},updateStates:function(){s.spySetState.forEach(function(c){return c()})}
3973,unmount:function(c,f){s.scrollSpyContainers.forEach(function(d){return d.spyCallbacks&&d.spyCallbacks.length&&d.spyCallbacks.indexOf(f)>-1&&d.spyCallbacks.splice(d.spyCallbacks.indexOf(f),1)}),s.spySetState&&s.spySetState.length&&s.spySetState.indexOf(c)>-1&&s.spySetState.splice(s.spySetState.indexOf(c),1),document.removeEventListener("scroll",s.scrollHandler)},update:function(){return s.scrollSpyContainers.forEach(function(c){return s.scrollHandler(c)})}};return Ux.default=s,Ux}var Ix={},Px={},aB;function pb(){if(aB)return Px;aB=1,Object.defineProperty(Px,"__esModule",{value:!0});var r=function(c,f){var d=c.indexOf("#")===0?c.substring(1):c,m=d?"#"+d:"",g=window&&window.location,y=m?g.pathname+g.search+m:g.pathname+g.search;f?history.pushState(history.state,"",y):history.replaceState(history.state,"",y)},e=function(){return window.location.hash.replace(/^#/,"")},t=function(c){return function(f){return c.contains?c!=f&&c.contains(f):!!(c.compareDocumentPosition(f)&16)}},n=function(c){return getComputedStyle(c).position!=="static"},i=function(c,f){for(var d=c.offsetTop,m=c.offsetParent;m&&!f(m);)d+=m.offsetTop,m=m.offsetParent;return{offsetTop:d,offsetParent:m}},s=function(c,f,d){if(d)return c===document?f.getBoundingClientRect().left+(window.scrollX||window.pageXOffset):getComputedStyle(c).position!=="static"?f.offsetLeft:f.offsetLeft-c.offsetLeft;if(c===document)return f.getBoundingClientRect().top+(window.scrollY||window.pageYOffset);if(n(c)){if(f.offsetParent!==c){var m=function(b){return b===c||b===document},g=i(f,m),y=g.offsetTop,_=g.offsetParent;if(_!==c)throw new Error("Seems containerElement is not an ancestor of the Element");return y}return f.offsetTop}if(f.offsetParent===c.offsetParent)return f.offsetTop-c.offsetTop;var S=function(b){return b===document};return i(f,S).offsetTop-i(c,S).offsetTop};return Px.default={updateHash:r,getHash:e,filterElementInContainer:t,scrollOffset:s},Px}var Hx={},zx={},oB;function Xk(){return oB||(oB=1,Object.defineProperty(zx,"__esModule",{value:!0}),zx.default={defaultEasing:function(e){return e<.5?Math.pow(e*2,2)/2:1-Math.pow((1-e)*2,2)/2},linear:function(e){return e},easeInQuad:function(e){return e*e},easeOutQuad:function(e){return e*(2-e)},easeInOutQuad:function(e){return e<.5?2*e*e:-1+(4-2*e)*e},easeInCubic:function(e){return e*e*e},easeOutCubic:function(e){return--e*e*e+1},easeInOutCubic:function(e){return e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1},easeInQuart:function(e){return e*e*e*e},easeOutQuart:function(e){return 1- --e*e*e*e},easeInOutQuart:function(e){return e<.5?8*e*e*e*e:1-8*--e*e*e*e},easeInQuint:function(e){return e*e*e*e*e},easeOutQuint:function(e){return 1+--e*e*e*e*e},easeInOutQuint:function(e){return e<.5?16*e*e*e*e*e:1+16*--e*e*e*e*e}}),zx}var Fx={},lB;function Yk(){if(lB)return Fx;lB=1,Object.defineProperty(Fx,"__esModule",{value:!0});var r=uC(),e=["mousedown","wheel","touchmove","keydown"];return Fx.default={subscribe:function(n){return typeof document<"u"&&e.forEach(function(i){return(0,r.addPassiveEventListener)(document,i,n)})}},Fx}var Gx={},cB;function hC(){if(cB)return Gx;cB=1,Object.defineProperty(Gx,"__esModule",{value:!0});var r={registered:{},scrollEvent:{register:function(t,n){r.registered[t]=n},remove:function(t){r.registered[t]=null}}};return Gx.default=r,Gx}var uB;function F3(){if(uB)return Hx;uB=1,Object.defineProperty(Hx,"__esModule",{value:!0});var r=Object.assign||function(N){for(var G=1;G<arguments.length;G++){var X=arguments[G];for(var Q in X)Object.prototype.hasOwnProperty.call(X,Q)&&(N[Q]=X[Q])}return N},e=pb();f(e);var t=Xk(),n=f(t),i=Yk(),s=f(i),o=hC(),c=f(o);function f(N){return N&&N.__esModule?N:{default:N}}var d=function(G){return n.default[G.smooth]||n.default.defaultEasing},m=function(G){return typeof G=="function"?G:function(){return G}},g=function(){if(typeof window<"u")return window.requestAnimationFrame||window.webkitRequestAnimationFrame},y=function(){return g()||function(N,G,X){window.setTimeout(N,X||1e3/60,new Date().getTime())}}(),_=function(){return{currentPosition:0,startPosition:0,targetPosition:0,progress:0,duration:0,cancel:!1,target:null,containerElement:null,to:null,start:null,delta:null,percent:null,delayTimeout:null}},S=function(G){var X=G.data.containerElement;if(X&&X!==document&&X!==document.body)return X.scrollLeft;var Q=window.pageXOffset!==void 0,te=(document.compatMode||"")==="CSS1Compat";return Q?window.pageXOffset:te?document.documentElement.scrollLeft:document.body.scrollLeft},M=function(G){var X=G.data.containerElement;if(X&&X!==document&&X!==document.body)return X.scrollTop;var Q=window.pageXOffset!==void 0,te=(document.compatMode||"")==="CSS1Compat";return Q?window.pageYOffset:te?document.documentElement.scrollTop:document.body.scrollTop},b=function(G){var X=G.data.containerElement;if(X&&X!==document&&X!==document.body)return X.scrollWidth-X.offsetWidth;var Q=document.body,te=document.documentElement;return Math.max(Q.scrollWidth,Q.offsetWidth,te.clientWidth,te.scrollWidth,te.offsetWidth)},A=function(G){var X=G.data.containerElement;if(X&&X!==document&&X!==document.body)return X.scrollHeight-X.offsetHeight;var Q=document.body,te=document.documentElement;return Math.max(Q.scrollHeight,Q.offsetHeight,te.clientHeight,te.scrollHeight,te.offsetHeight)},w=function N(G,X,Q){var te=X.data;if(!X.ignoreCancelEvents&&te.cancel){c.default.registered.end&&c.default.registered.end(te.to,te.target,te.currentPositionY);return}if(te.delta=Math.round(te.targetPosition-te.startPosition),te.start===null&&(te.start=Q),te.progress=Q-te.start,te.percent=te.progress>=te.duration?1:G(te.progress/te.duration),te.currentPosition=te.startPosition+Math.ceil(te.delta*te.percent),te.containerElement&&te.containerElement!==document&&te.containerElement!==document.body?X.horizontal?te.containerElement.scrollLeft=te.currentPosition:te.containerElement.scrollTop=te.currentPosition:X.horizontal?window.scrollTo(te.currentPosition,0):window.scrollTo(0,te.currentPosition),te.percent<1){var le=N.bind(null,G,X);y.call(window,le);return}c.default.registered.end&&c.default.registered.end(te.to,te.target,te.currentPosition)},D=function(G){G.data.containerElement=G?G.containerId?document.getElementById(G.containerId):G.container&&G.container.nodeType?G.container:document:null},B=function(G,X,Q,te){X.data=X.data||_(),window.clearTimeout(X.data.delayTimeout);var le=function(){X.data.cancel=!0};if(s.default.subscribe(le),D(X),X.data.start=null,X.data.cancel=!1,X.data.startPosition=X.horizontal?S(X):M(X),X.data.targetPosition=X.absolute?G:G+X.data.startPosition,X.data.startPosition===X.data.targetPosition){c.default.registered.end&&c.default.registered.end(X.data.to,X.data.target,X.data.currentPosition);return}X.data.delta=Math.round(X.data.targetPosition-X.data.startPosition),X.data.duration=m(X.duration)(X.data.delta),X.data.duration=isNaN(parseFloat(X.data.duration))?1e3:parseFloat(X.data.duration),X.data.to=Q,X.data.target=te;var k=d(X),W=w.bind(null,k,X);if(X&&X.delay>0){X.data.delayTimeout=window.setTimeout(function(){c.default.registered.begin&&c.default.registered.begin(X.data.to,X.data.target),y.call(window,W)},X.delay);return}c.default.registered.begin&&c.default.registered.begin(X.data.to,X.data.target),y.call(window,W)},I=function(G){return G=r({},G),G.data=G.data||_(),G.absolute=!0,G},O=function(G){B(0,I(G))},U=function(G,X){B(G,I(X))},z=function(G){G=I(G),D(G),B(G.horizontal?b(G):A(G),G)},P=function(G,X){X=I(X),D(X);var Q=X.horizontal?S(X):M(X);B(G+Q,X)};return Hx.default={animateTopScroll:B,getAnimationType:d,scrollToTop:O,scrollToBottom:z,scrollTo:U,scrollMore:P},Hx}var fB;function mb(){if(fB)return Ix;fB=1,Object.defineProperty(Ix,"__esModule",{value:!0});var r=Object.assign||function(m){for(var g=1;g<arguments.length;g++){var y=arguments[g];for(var _ in y)Object.prototype.hasOwnProperty.call(y,_)&&(m[_]=y[_])}return m},e=pb(),t=c(e),n=F3(),i=c(n),s=hC(),o=c(s);
3973function c(m){return m&&m.__esModule?m:{default:m}}var f={},d=void 0;return Ix.default={unmount:function(){f={}},register:function(g,y){f[g]=y},unregister:function(g){delete f[g]},get:function(g){return f[g]||document.getElementById(g)||document.getElementsByName(g)[0]||document.getElementsByClassName(g)[0]},setActiveLink:function(g){return d=g},getActiveLink:function(){return d},scrollTo:function(g,y){var _=this.get(g);if(!_){console.warn("target Element not found");return}y=r({},y,{absolute:!1});var S=y.containerId,M=y.container,b=void 0;S?b=document.getElementById(S):M&&M.nodeType?b=M:b=document,y.absolute=!0;var A=y.horizontal,w=t.default.scrollOffset(b,_,A)+(y.offset||0);if(!y.smooth){o.default.registered.begin&&o.default.registered.begin(g,_),b===document?y.horizontal?window.scrollTo(w,0):window.scrollTo(0,w):b.scrollTop=w,o.default.registered.end&&o.default.registered.end(g,_);return}i.default.animateTopScroll(w,y,g,_)}},Ix}var Vx={},hB;function G3(){if(hB)return Vx;hB=1,Object.defineProperty(Vx,"__esModule",{value:!0}),uC();var r=pb(),e=t(r);function t(i){return i&&i.__esModule?i:{default:i}}var n={mountFlag:!1,initialized:!1,scroller:null,containers:{},mount:function(s){this.scroller=s,this.handleHashChange=this.handleHashChange.bind(this),window.addEventListener("hashchange",this.handleHashChange),this.initStateFromHash(),this.mountFlag=!0},mapContainer:function(s,o){this.containers[s]=o},isMounted:function(){return this.mountFlag},isInitialized:function(){return this.initialized},initStateFromHash:function(){var s=this,o=this.getHash();o?window.setTimeout(function(){s.scrollTo(o,!0),s.initialized=!0},10):this.initialized=!0},scrollTo:function(s,o){var c=this.scroller,f=c.get(s);if(f&&(o||s!==c.getActiveLink())){var d=this.containers[s]||document;c.scrollTo(s,{container:d})}},getHash:function(){return e.default.getHash()},changeHash:function(s,o){this.isInitialized()&&e.default.getHash()!==s&&e.default.updateHash(s,o)},handleHashChange:function(){this.scrollTo(this.getHash())},unmount:function(){this.scroller=null,this.containers=null,window.removeEventListener("hashchange",this.handleHashChange)}};return Vx.default=n,Vx}var dB;function dC(){if(dB)return Lx;dB=1,Object.defineProperty(Lx,"__esModule",{value:!0});var r=Object.assign||function(A){for(var w=1;w<arguments.length;w++){var D=arguments[w];for(var B in D)Object.prototype.hasOwnProperty.call(D,B)&&(A[B]=D[B])}return A},e=function(){function A(w,D){for(var B=0;B<D.length;B++){var I=D[B];I.enumerable=I.enumerable||!1,I.configurable=!0,"value"in I&&(I.writable=!0),Object.defineProperty(w,I.key,I)}}return function(w,D,B){return D&&A(w.prototype,D),B&&A(w,B),w}}(),t=Ro(),n=y(t),i=fC(),s=y(i),o=mb(),c=y(o),f=ey(),d=y(f),m=G3(),g=y(m);function y(A){return A&&A.__esModule?A:{default:A}}function _(A,w){if(!(A instanceof w))throw new TypeError("Cannot call a class as a function")}function S(A,w){if(!A)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return w&&(typeof w=="object"||typeof w=="function")?w:A}function M(A,w){if(typeof w!="function"&&w!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof w);A.prototype=Object.create(w&&w.prototype,{constructor:{value:A,enumerable:!1,writable:!0,configurable:!0}}),w&&(Object.setPrototypeOf?Object.setPrototypeOf(A,w):A.__proto__=w)}var b={to:d.default.string.isRequired,containerId:d.default.string,container:d.default.object,activeClass:d.default.string,activeStyle:d.default.object,spy:d.default.bool,horizontal:d.default.bool,smooth:d.default.oneOfType([d.default.bool,d.default.string]),offset:d.default.number,delay:d.default.number,isDynamic:d.default.bool,onClick:d.default.func,duration:d.default.oneOfType([d.default.number,d.default.func]),absolute:d.default.bool,onSetActive:d.default.func,onSetInactive:d.default.func,ignoreCancelEvents:d.default.bool,hashSpy:d.default.bool,saveHashHistory:d.default.bool,spyThrottle:d.default.number};return Lx.default=function(A,w){var D=w||c.default,B=function(O){M(U,O);function U(z){_(this,U);var P=S(this,(U.__proto__||Object.getPrototypeOf(U)).call(this,z));return I.call(P),P.state={active:!1}
3973,P.beforeUnmountCallbacks=[],P}return e(U,[{key:"getScrollSpyContainer",value:function(){var P=this.props.containerId,N=this.props.container;return P&&!N?document.getElementById(P):N&&N.nodeType?N:document}},{key:"componentDidMount",value:function(){if(this.props.spy||this.props.hashSpy){var P=this.getScrollSpyContainer();if(!s.default.isMounted(P)){var N=s.default.mount(P,this.props.spyThrottle);this.beforeUnmountCallbacks.push(N)}this.props.hashSpy&&(g.default.isMounted()||g.default.mount(D),g.default.mapContainer(this.props.to,P)),s.default.addSpyHandler(this.spyHandler,P),this.setState({container:P})}}},{key:"componentWillUnmount",value:function(){s.default.unmount(this.stateHandler,this.spyHandler),this.beforeUnmountCallbacks.forEach(function(P){return P()})}},{key:"render",value:function(){var P="";this.state&&this.state.active?P=((this.props.className||"")+" "+(this.props.activeClass||"active")).trim():P=this.props.className;var N={};this.state&&this.state.active?N=r({},this.props.style,this.props.activeStyle):N=r({},this.props.style);var G=r({},this.props);for(var X in b)G.hasOwnProperty(X)&&delete G[X];return G.className=P,G.style=N,G.onClick=this.handleClick,n.default.createElement(A,G)}}]),U}(n.default.PureComponent),I=function(){var U=this;this.scrollTo=function(z,P){D.scrollTo(z,r({},U.state,P))},this.handleClick=function(z){U.props.onClick&&U.props.onClick(z),z.stopPropagation&&z.stopPropagation(),z.preventDefault&&z.preventDefault(),U.scrollTo(U.props.to,U.props)},this.spyHandler=function(z,P){var N=U.getScrollSpyContainer();if(!(g.default.isMounted()&&!g.default.isInitialized())){var G=U.props.horizontal,X=U.props.to,Q=null,te=void 0,le=void 0;if(G){var k=0,W=0,ee=0;if(N.getBoundingClientRect){var pe=N.getBoundingClientRect();ee=pe.left}if(!Q||U.props.isDynamic){if(Q=D.get(X),!Q)return;var H=Q.getBoundingClientRect();k=H.left-ee+z,W=k+H.width}var re=z-U.props.offset;te=re>=Math.floor(k)&&re<Math.floor(W),le=re<Math.floor(k)||re>=Math.floor(W)}else{var ye=0,Ae=0,Te=0;if(N.getBoundingClientRect){var he=N.getBoundingClientRect();Te=he.top}if(!Q||U.props.isDynamic){if(Q=D.get(X),!Q)return;var xe=Q.getBoundingClientRect();ye=xe.top-Te+P,Ae=ye+xe.height}var Ne=P-U.props.offset;te=Ne>=Math.floor(ye)&&Ne<Math.floor(Ae),le=Ne<Math.floor(ye)||Ne>=Math.floor(Ae)}var Oe=D.getActiveLink();if(le){if(X===Oe&&D.setActiveLink(void 0),U.props.hashSpy&&g.default.getHash()===X){var We=U.props.saveHashHistory,gt=We===void 0?!1:We;g.default.changeHash("",gt)}U.props.spy&&U.state.active&&(U.setState({active:!1}),U.props.onSetInactive&&U.props.onSetInactive(X,Q))}if(te&&(Oe!==X||U.state.active===!1)){D.setActiveLink(X);var Ft=U.props.saveHashHistory,At=Ft===void 0?!1:Ft;U.props.hashSpy&&g.default.changeHash(X,At),U.props.spy&&(U.setState({active:!0}),U.props.onSetActive&&U.props.onSetActive(X,Q))}}}};return B.propTypes=b,B.defaultProps={offset:0},B},Lx}var pB;function jk(){if(pB)return Nx;pB=1,Object.defineProperty(Nx,"__esModule",{value:!0});var r=Ro(),e=i(r),t=dC(),n=i(t);function i(d){return d&&d.__esModule?d:{default:d}}function s(d,m){if(!(d instanceof m))throw new TypeError("Cannot call a class as a function")}function o(d,m){if(!d)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return m&&(typeof m=="object"||typeof m=="function")?m:d}function c(d,m){if(typeof m!="function"&&m!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof m);d.prototype=Object.create(m&&m.prototype,{constructor:{value:d,enumerable:!1,writable:!0,configurable:!0}}),m&&(Object.setPrototypeOf?Object.setPrototypeOf(d,m):d.__proto__=m)}var f=function(d){c(m,d);function m(){var g,y,_,S;s(this,m);for(var M=arguments.length,b=Array(M),A=0;A<M;A++)b[A]=arguments[A];return S=(y=(_=o(this,(g=m.__proto__||Object.getPrototypeOf(m)).call.apply(g,[this].concat(b))),_),_.render=function(){return e.default.createElement("a",_.props,_.props.children)},y),o(_,S)}return m}(e.default.Component);return Nx.default=(0,n.default)(f),Nx}var kx={},mB;
3973function qk(){if(mB)return kx;mB=1,Object.defineProperty(kx,"__esModule",{value:!0});var r=function(){function m(g,y){for(var _=0;_<y.length;_++){var S=y[_];S.enumerable=S.enumerable||!1,S.configurable=!0,"value"in S&&(S.writable=!0),Object.defineProperty(g,S.key,S)}}return function(g,y,_){return y&&m(g.prototype,y),_&&m(g,_),g}}(),e=Ro(),t=s(e),n=dC(),i=s(n);function s(m){return m&&m.__esModule?m:{default:m}}function o(m,g){if(!(m instanceof g))throw new TypeError("Cannot call a class as a function")}function c(m,g){if(!m)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return g&&(typeof g=="object"||typeof g=="function")?g:m}function f(m,g){if(typeof g!="function"&&g!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof g);m.prototype=Object.create(g&&g.prototype,{constructor:{value:m,enumerable:!1,writable:!0,configurable:!0}}),g&&(Object.setPrototypeOf?Object.setPrototypeOf(m,g):m.__proto__=g)}var d=function(m){f(g,m);function g(){return o(this,g),c(this,(g.__proto__||Object.getPrototypeOf(g)).apply(this,arguments))}return r(g,[{key:"render",value:function(){return t.default.createElement("button",this.props,this.props.children)}}]),g}(t.default.Component);return kx.default=(0,i.default)(d),kx}var Xx={},Yx={},gB;function V3(){if(gB)return Yx;gB=1,Object.defineProperty(Yx,"__esModule",{value:!0});var r=Object.assign||function(_){for(var S=1;S<arguments.length;S++){var M=arguments[S];for(var b in M)Object.prototype.hasOwnProperty.call(M,b)&&(_[b]=M[b])}return _},e=function(){function _(S,M){for(var b=0;b<M.length;b++){var A=M[b];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(S,A.key,A)}}return function(S,M,b){return M&&_(S.prototype,M),b&&_(S,b),S}}(),t=Ro(),n=d(t),i=XE();d(i);var s=mb(),o=d(s),c=ey(),f=d(c);function d(_){return _&&_.__esModule?_:{default:_}}function m(_,S){if(!(_ instanceof S))throw new TypeError("Cannot call a class as a function")}function g(_,S){if(!_)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return S&&(typeof S=="object"||typeof S=="function")?S:_}function y(_,S){if(typeof S!="function"&&S!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof S);_.prototype=Object.create(S&&S.prototype,{constructor:{value:_,enumerable:!1,writable:!0,configurable:!0}}),S&&(Object.setPrototypeOf?Object.setPrototypeOf(_,S):_.__proto__=S)}return Yx.default=function(_){var S=function(M){y(b,M);function b(A){m(this,b);var w=g(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,A));return w.childBindings={domNode:null},w}return e(b,[{key:"componentDidMount",value:function(){if(typeof window>"u")return!1;this.registerElems(this.props.name)}},{key:"componentDidUpdate",value:function(w){this.props.name!==w.name&&this.registerElems(this.props.name)}},{key:"componentWillUnmount",value:function(){if(typeof window>"u")return!1;o.default.unregister(this.props.name)}},{key:"registerElems",value:function(w){o.default.register(w,this.childBindings.domNode)}},{key:"render",value:function(){return n.default.createElement(_,r({},this.props,{parentBindings:this.childBindings}))}}]),b}(n.default.Component);return S.propTypes={name:f.default.string,id:f.default.string},S},Yx}var vB;function Wk(){if(vB)return Xx;vB=1,Object.defineProperty(Xx,"__esModule",{value:!0});var r=Object.assign||function(_){for(var S=1;S<arguments.length;S++){var M=arguments[S];for(var b in M)Object.prototype.hasOwnProperty.call(M,b)&&(_[b]=M[b])}return _},e=function(){function _(S,M){for(var b=0;b<M.length;b++){var A=M[b];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(S,A.key,A)}}return function(S,M,b){return M&&_(S.prototype,M),b&&_(S,b),S}}(),t=Ro(),n=f(t),i=V3(),s=f(i),o=ey(),c=f(o);function f(_){return _&&_.__esModule?_:{default:_}}function d(_,S){if(!(_ instanceof S))throw new TypeError("Cannot call a class as a function")}function m(_,S){if(!_)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return S&&(typeof S=="object"||typeof S=="function")?S:_}function g(_,S){if(typeof S!="function"&&S!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof S);_.prototype=Object.create(S&&S.prototype,{constructor:{value:_,enumerable:!1,writable:!0,configurable:!0}}),S&&(Object.setPrototypeOf?Object.setPrototypeOf(_,S):_.__proto__=S)}var y=function(_){g(S,_);function S(){return d(this,S),m(this,(S.__proto__||Object.getPrototypeOf(S)).apply(this,arguments))}return e(S,[{key:"render",value:function(){var b=this,A=r({},this.props);return delete A.name,A.parentBindings&&delete A.parentBindings,n.default.createElement("div",r({}
3973,A,{ref:function(D){b.props.parentBindings.domNode=D}}),this.props.children)}}]),S}(n.default.Component);return y.propTypes={name:c.default.string,id:c.default.string},Xx.default=(0,s.default)(y),Xx}var D1,yB;function Jk(){if(yB)return D1;yB=1;var r=Object.assign||function(y){for(var _=1;_<arguments.length;_++){var S=arguments[_];for(var M in S)Object.prototype.hasOwnProperty.call(S,M)&&(y[M]=S[M])}return y},e=function(){function y(_,S){for(var M=0;M<S.length;M++){var b=S[M];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(_,b.key,b)}}return function(_,S,M){return S&&y(_.prototype,S),M&&y(_,M),_}}();function t(y,_){if(!(y instanceof _))throw new TypeError("Cannot call a class as a function")}function n(y,_){if(!y)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return _&&(typeof _=="object"||typeof _=="function")?_:y}function i(y,_){if(typeof _!="function"&&_!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof _);y.prototype=Object.create(_&&_.prototype,{constructor:{value:y,enumerable:!1,writable:!0,configurable:!0}}),_&&(Object.setPrototypeOf?Object.setPrototypeOf(y,_):y.__proto__=_)}var s=Ro();XE(),pb();var o=fC(),c=mb(),f=ey(),d=G3(),m={to:f.string.isRequired,containerId:f.string,container:f.object,activeClass:f.string,spy:f.bool,smooth:f.oneOfType([f.bool,f.string]),offset:f.number,delay:f.number,isDynamic:f.bool,onClick:f.func,duration:f.oneOfType([f.number,f.func]),absolute:f.bool,onSetActive:f.func,onSetInactive:f.func,ignoreCancelEvents:f.bool,hashSpy:f.bool,spyThrottle:f.number},g={Scroll:function(_,S){console.warn("Helpers.Scroll is deprecated since v1.7.0");var M=S||c,b=function(w){i(D,w);function D(B){t(this,D);var I=n(this,(D.__proto__||Object.getPrototypeOf(D)).call(this,B));return A.call(I),I.state={active:!1},I}return e(D,[{key:"getScrollSpyContainer",value:function(){var I=this.props.containerId,O=this.props.container;return I?document.getElementById(I):O&&O.nodeType?O:document}},{key:"componentDidMount",value:function(){if(this.props.spy||this.props.hashSpy){var I=this.getScrollSpyContainer();o.isMounted(I)||o.mount(I,this.props.spyThrottle),this.props.hashSpy&&(d.isMounted()||d.mount(M),d.mapContainer(this.props.to,I)),this.props.spy&&o.addStateHandler(this.stateHandler),o.addSpyHandler(this.spyHandler,I),this.setState({container:I})}}},{key:"componentWillUnmount",value:function(){o.unmount(this.stateHandler,this.spyHandler)}},{key:"render",value:function(){var I="";this.state&&this.state.active?I=((this.props.className||"")+" "+(this.props.activeClass||"active")).trim():I=this.props.className;var O=r({},this.props);for(var U in m)O.hasOwnProperty(U)&&delete O[U];return O.className=I,O.onClick=this.handleClick,s.createElement(_,O)}}]),D}(s.Component),A=function(){var D=this;this.scrollTo=function(B,I){M.scrollTo(B,r({},D.state,I))},this.handleClick=function(B){D.props.onClick&&D.props.onClick(B),B.stopPropagation&&B.stopPropagation(),B.preventDefault&&B.preventDefault(),D.scrollTo(D.props.to,D.props)},this.stateHandler=function(){M.getActiveLink()!==D.props.to&&(D.state!==null&&D.state.active&&D.props.onSetInactive&&D.props.onSetInactive(),D.setState({active:!1}))},this.spyHandler=function(B){var I=D.getScrollSpyContainer();if(!(d.isMounted()&&!d.isInitialized())){var O=D.props.to,U=null,z=0,P=0,N=0;if(I.getBoundingClientRect){var G=I.getBoundingClientRect();N=G.top}if(!U||D.props.isDynamic){if(U=M.get(O),!U)return;var X=U.getBoundingClientRect();z=X.top-N+B,P=z+X.height}var Q=B-D.props.offset,te=Q>=Math.floor(z)&&Q<Math.floor(P),le=Q<Math.floor(z)||Q>=Math.floor(P),k=M.getActiveLink();if(le)return O===k&&M.setActiveLink(void 0),D.props.hashSpy&&d.getHash()===O&&d.changeHash(),D.props.spy&&D.state.active&&(D.setState({active:!1}),D.props.onSetInactive&&D.props.onSetInactive()),o.updateStates();if(te&&k!==O)return M.setActiveLink(O),D.props.hashSpy&&d.changeHash(O),D.props.spy&&(D.setState({active:!0}),D.props.onSetActive&&D.props.onSetActive(O)),o.updateStates()}}};return b.propTypes=m,b.defaultProps={offset:0},b},Element:function(_){console.warn("Helpers.Element is deprecated since v1.7.0");var S=function(M){i(b,M);function b(A){t(this,b);var w=n(this,(b.__proto__||Object.getPrototypeOf(b)).call(this,A));return w.childBindings={domNode:null},w}
3973return e(b,[{key:"componentDidMount",value:function(){if(typeof window>"u")return!1;this.registerElems(this.props.name)}},{key:"componentDidUpdate",value:function(w){this.props.name!==w.name&&this.registerElems(this.props.name)}},{key:"componentWillUnmount",value:function(){if(typeof window>"u")return!1;c.unregister(this.props.name)}},{key:"registerElems",value:function(w){c.register(w,this.childBindings.domNode)}},{key:"render",value:function(){return s.createElement(_,r({},this.props,{parentBindings:this.childBindings}))}}]),b}(s.Component);return S.propTypes={name:f.string,id:f.string},S}};return D1=g,D1}var _B;function Kk(){if(_B)return Ci;_B=1,Object.defineProperty(Ci,"__esModule",{value:!0}),Ci.Helpers=Ci.ScrollElement=Ci.ScrollLink=Ci.animateScroll=Ci.scrollSpy=Ci.Events=Ci.scroller=Ci.Element=Ci.Button=Ci.Link=void 0;var r=jk(),e=B(r),t=qk(),n=B(t),i=Wk(),s=B(i),o=mb(),c=B(o),f=hC(),d=B(f),m=fC(),g=B(m),y=F3(),_=B(y),S=dC(),M=B(S),b=V3(),A=B(b),w=Jk(),D=B(w);function B(I){return I&&I.__esModule?I:{default:I}}return Ci.Link=e.default,Ci.Button=n.default,Ci.Element=s.default,Ci.scroller=c.default,Ci.Events=d.default,Ci.scrollSpy=g.default,Ci.animateScroll=_.default,Ci.ScrollLink=M.default,Ci.ScrollElement=A.default,Ci.Helpers=D.default,Ci.default={Link:e.default,Button:n.default,Element:s.default,scroller:c.default,Events:d.default,scrollSpy:g.default,animateScroll:_.default,ScrollLink:M.default,ScrollElement:A.default,Helpers:D.default},Ci}var Qk=Kk();const Zk=()=>{const r=$.useRef(null),e=$.useRef([]),t=$.useRef(null),n=$.useRef(null),i=$.useRef(null),s=$.useRef(null),o=$.useRef(null),[c,f]=$.useState(!1),[d,m]=$.useState(!0),g=Lf(),y=Uf();ir(()=>{it.set(r.current,{xPercent:100}),it.set([e.current,t.current],{autoAlpha:0,x:-20}),s.current=it.timeline({paused:!0}).to(r.current,{xPercent:0,duration:1,ease:"power3.out"}).to(e.current,{autoAlpha:1,x:0,stagger:.1,duration:.5,ease:"power2.out"},"<").to(t.current,{autoAlpha:1,x:0,duration:.5,ease:"power2.out"},"<+0.2"),o.current=it.timeline({paused:!0}).to(n.current,{rotate:45,y:3.3,duration:.3,ease:"power2.inOut"}).to(i.current,{rotate:-45,y:-3.3,duration:.3,ease:"power2.inOut"},"<")},[]),$.useEffect(()=>{let b=window.scrollY;const A=()=>{const w=window.scrollY;m(w<=b||w<10),b=w};return window.addEventListener("scroll",A,{passive:!0}),()=>window.removeEventListener("scroll",A)},[]);const _=()=>{c?(s.current.reverse(),o.current.reverse()):(s.current.play(),o.current.play()),f(!c)},S=()=>{if(g.pathname==="/"){const b=document.getElementById("home");b&&b.scrollIntoView({behavior:"smooth"})}else y("/");_()},M=["about","work","contact"];return K.jsxs(K.Fragment,{children:[K.jsxs("nav",{ref:r,className:"fixed z-50 flex flex-col justify-between w-full h-full px-10 uppercase bg-black text-white/80 py-28 gap-y-10 md:w-1/2 md:left-1/2",children:[K.jsxs("div",{className:"flex flex-col text-5xl gap-y-2 md:text-6xl lg:text-8xl",children:[K.jsx("div",{ref:b=>e.current[0]=b,children:K.jsx("span",{className:"transition-all duration-300 cursor-pointer hover:text-white",onClick:S,children:"Home"})}),M.map((b,A)=>K.jsx("div",{ref:w=>e.current[A+1]=w,children:K.jsxs(Qk.Link,{className:"transition-all duration-300 cursor-pointer hover:text-white",to:`${b}`,smooth:!0,offset:0,duration:2e3,onClick:_,children:[b," "]})},A))]}),K.jsxs("div",{ref:t,className:"flex flex-col flex-wrap justify-between gap-8 md:flex-row",children:[K.jsxs("div",{className:"font-light",children:[K.jsx("p",{className:"tracking-wider text-white/50",children:"E-mail"}),K.jsx("p",{className:"text-xl tracking-widest lowercase text-pretty",children:"[email protected]"})]}),K.jsxs("div",{className:"font-light",children:[K.jsx("p",{className:"tracking-wider text-white/50",children:"Social Media"}),K.jsx("div",{className:"flex flex-col flex-wrap md:flex-row gap-x-2",children:zN.map((b,A)=>K.jsxs("a",{href:b.href,target:"_blank",className:"text-sm leading-loose tracking-widest uppercase hover:text-white transition-colors duration-300",children:["{ ",b.name," "," }"]},A))})]})]})]}),K.jsxs("div",{className:"fixed z-50 flex flex-col items-center justify-center gap-1 transition-all duration-300 bg-black rounded-full cursor-pointer w-14 h-14 md:w-20 md:h-20 top-4 right-10",onClick:_,style:d?{clipPath:"circle(50% at 50% 50%)"}:{clipPath:"circle(0% at 50% 50%)"},children:[K.jsx("span",{ref:n,className:"block w-8 h-0.5 bg-white rounded-full origin-center"}),K.jsx("span",{ref:i,className:"block w-8 h-0.5 bg-white rounded-full origin-center"})]})]})},$k=()=>K.jsxs(K.Fragment,{children:[K.jsx(Zk,{}),K.jsx(q6,{})]});var jx={},xB;function eX(){if(xB)return jx;xB=1,jx.match=s,jx.parse=o;var r=/(?:(only|not)?\s*([^\s\(\)]+)(?:\s*and)?\s*)?(.+)?/i,e=/\(\s*([^\s\:\)]+)\s*(?:\:\s*([^\s\)]+))?\s*\)/,t=/^(?:(min|max)-)?(.+)/,n=/(em|rem|px|cm|mm|in|pt|pc)?$/,i=/(dpi|dpcm|dppx)?$/;function s(m,g){return o(m).some(function(y){var _=y.inverse,S=y.type==="all"||g.type===y.type;if(S&&_||!(S||_))return!1;var M=y.expressions.every(function(b){var A=b.feature,w=b.modifier,D=b.value,B=g[A];
vendor: 4,203 bytes, line 3973
3973if(!B)return!1;switch(A){case"orientation":case"scan":return B.toLowerCase()===D.toLowerCase();case"width":case"height":case"device-width":case"device-height":D=d(D),B=d(B);break;case"resolution":D=f(D),B=f(B);break;case"aspect-ratio":case"device-aspect-ratio":case"device-pixel-ratio":D=c(D),B=c(B);break;case"grid":case"color":case"color-index":case"monochrome":D=parseInt(D,10)||1,B=parseInt(B,10)||0;break}switch(w){case"min":return B>=D;case"max":return B<=D;default:return B===D}});return M&&!_||!M&&_})}function o(m){return m.split(",").map(function(g){g=g.trim();var y=g.match(r),_=y[1],S=y[2],M=y[3]||"",b={};return b.inverse=!!_&&_.toLowerCase()==="not",b.type=S?S.toLowerCase():"all",M=M.match(/\([^\)]+\)/g)||[],b.expressions=M.map(function(A){var w=A.match(e),D=w[1].toLowerCase().match(t);return{modifier:D[1],feature:D[2],value:w[2]}}),b})}function c(m){var g=Number(m),y;return g||(y=m.match(/^(\d+)\s*\/\s*(\d+)$/),g=y[1]/y[2]),g}function f(m){var g=parseFloat(m),y=String(m).match(i)[1];switch(y){case"dpcm":return g/2.54;case"dppx":return g*96;default:return g}}function d(m){var g=parseFloat(m),y=String(m).match(n)[1];switch(y){case"em":return g*16;case"rem":return g*16;case"cm":return g*96/2.54;case"mm":return g*96/2.54/10;case"in":return g*96;case"pt":return g*72;case"pc":return g*72/12;default:return g}}return jx}var O1,SB;function tX(){if(SB)return O1;SB=1;var r=eX().match,e=typeof window<"u"?window.matchMedia:null;function t(i,s,o){var c=this,f;e&&!o&&(f=e.call(window,i)),f?(this.matches=f.matches,this.media=f.media,f.addListener(g)):(this.matches=r(i,s),this.media=i),this.addListener=d,this.removeListener=m,this.dispose=y;function d(_){f&&f.addListener(_)}function m(_){f&&f.removeListener(_)}function g(_){c.matches=_.matches,c.media=_.media}function y(){f&&f.removeListener(g)}}function n(i,s,o){return new t(i,s,o)}return O1=n,O1}var nX=tX();const iX=zv(nX);var rX=/[A-Z]/g,sX=/^ms-/,N1={};function aX(r){return"-"+r.toLowerCase()}function k3(r){if(N1.hasOwnProperty(r))return N1[r];var e=r.replace(rX,aX);return N1[r]=sX.test(e)?"-"+e:e}function oX(r,e){if(r===e)return!0;if(!r||!e)return!1;const t=Object.keys(r),n=Object.keys(e),i=t.length;if(n.length!==i)return!1;for(let s=0;s<i;s++){const o=t[s];if(r[o]!==e[o]||!Object.prototype.hasOwnProperty.call(e,o))return!1}return!0}const Xs=Kn.oneOfType([Kn.string,Kn.number]),X3={all:Kn.bool,grid:Kn.bool,aural:Kn.bool,braille:Kn.bool,handheld:Kn.bool,print:Kn.bool,projection:Kn.bool,screen:Kn.bool,tty:Kn.bool,tv:Kn.bool,embossed:Kn.bool},lX={orientation:Kn.oneOf(["portrait","landscape"]),scan:Kn.oneOf(["progressive","interlace"]),aspectRatio:Kn.string,deviceAspectRatio:Kn.string,height:Xs,deviceHeight:Xs,width:Xs,deviceWidth:Xs,color:Kn.bool,colorIndex:Kn.bool,monochrome:Kn.bool,resolution:Xs,type:Object.keys(X3)},{type:aY,...cX}=lX,uX={minAspectRatio:Kn.string,maxAspectRatio:Kn.string,minDeviceAspectRatio:Kn.string,maxDeviceAspectRatio:Kn.string,minHeight:Xs,maxHeight:Xs,minDeviceHeight:Xs,maxDeviceHeight:Xs,minWidth:Xs,maxWidth:Xs,minDeviceWidth:Xs,maxDeviceWidth:Xs,minColor:Kn.number,maxColor:Kn.number,minColorIndex:Kn.number,maxColorIndex:Kn.number,minMonochrome:Kn.number,maxMonochrome:Kn.number,minResolution:Xs,maxResolution:Xs,...cX},fX={...X3,...uX};var hX={all:fX};const dX=r=>`not ${r}`,pX=(r,e)=>{const t=k3(r);return typeof e=="number"&&(e=`${e}px`),e===!0?t:e===!1?dX(t):`(${t}: ${e})`},mX=r=>r.join(" and "),gX=r=>{const e=[];return Object.keys(hX.all).forEach(t=>{const n=r[t];n!=null&&e.push(pX(t,n))}),mX(e)},vX=$.createContext(void 0),yX=r=>r.query||gX(r),AB=r=>r?Object.keys(r).reduce((t,n)=>(t[k3(n)]=r[n],t),{}):void 0,Y3=()=>{const r=$.useRef(!1);return $.useEffect(()=>{r.current=!0},[]),r.current},_X=r=>{const e=$.useContext(vX),t=()=>AB(r)||AB(e),[n,i]=$.useState(t);return $.useEffect(()=>{const s=t();oX(n,s)||i(s)},[r,e]),n},xX=r=>{const e=()=>yX(r),[t,n]=$.useState(e);return $.useEffect(()=>{const i=e();t!==i&&n(i)},[r]),t},SX=(r,e)=>{const t=()=>iX(r,e||{},!!e),[n,i]=$.useState(t),s=Y3();return $.useEffect(()=>{if(s){const o=t();return i(o),()=>{o&&o.dispose()}}},[r,e]),n},AX=r=>{const[e,t]=$.useState(r.matches);return $.useEffect(()=>{const n=i=>{t(i.matches)};
vendor: 4,132 bytes, lines 3973-3980
3973return r.addListener(n),t(r.matches),()=>{r.removeListener(n)}},[r]),e},bX=(r,e,t)=>{const n=_X(e),i=xX(r);if(!i)throw new Error("Invalid or missing MediaQuery!");const s=SX(i,n),o=AX(s);return Y3(),$.useEffect(()=>{},[o]),$.useEffect(()=>()=>{s&&s.dispose()},[]),o};function MX(r,e){for(var t=0;t<e.length;t++){var n=e[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(r,n.key,n)}}function EX(r,e,t){return e&&MX(r.prototype,e),r}/*!
3974 * Observer 3.13.0
3975 * https://gsap.com
3976 *
3977 * @license Copyright 2008-2025, GreenSock. All rights reserved.
3978 * Subject to the terms at https://gsap.com/standard-license
3979 * @author: Jack Doyle, [email protected]
3980*/var $r,mS,Va,yf,_f,_m,j3,Wh,ov,q3,Qc,sl,W3,J3=function(){return $r||typeof window<"u"&&($r=window.gsap)&&$r.registerPlugin&&$r},K3=1,fm=[],Tn=[],ic=[],lv=Date.now,RE=function(e,t){return t},TX=function(){var e=ov.core,t=e.bridge||{},n=e._scrollers,i=e._proxies;n.push.apply(n,Tn),i.push.apply(i,ic),Tn=n,ic=i,RE=function(o,c){return t[o](c)}},bf=function(e,t){return~ic.indexOf(e)&&ic[ic.indexOf(e)+1][t]},cv=function(e){return!!~q3.indexOf(e)},Vs=function(e,t,n,i,s){return e.addEventListener(t,n,{passive:i!==!1,capture:!!s})},Gs=function(e,t,n,i){return e.removeEventListener(t,n,!!i)},qx="scrollLeft",Wx="scrollTop",BE=function(){return Qc&&Qc.isPressed||Tn.cache++},AA=function(e,t){var n=function i(s){if(s||s===0){K3&&(Va.history.scrollRestoration="manual");var o=Qc&&Qc.isPressed;s=i.v=Math.round(s)||(Qc&&Qc.iOS?1:0),e(s),i.cacheID=Tn.cache,o&&RE("ss",s)}else(t||Tn.cache!==i.cacheID||RE("ref"))&&(i.cacheID=Tn.cache,i.v=e());return i.v+i.offset};return n.offset=0,e&&n},Qs={s:qx,p:"left",p2:"Left",os:"right",os2:"Right",d:"width",d2:"Width",a:"x",sc:AA(function(r){return arguments.length?Va.scrollTo(r,Cr.sc()):Va.pageXOffset||yf[qx]||_f[qx]||_m[qx]||0})},Cr={s:Wx,p:"top",p2:"Top",os:"bottom",os2:"Bottom",d:"height",d2:"Height",a:"y",op:Qs,sc:AA(function(r){return arguments.length?Va.scrollTo(Qs.sc(),r):Va.pageYOffset||yf[Wx]||_f[Wx]||_m[Wx]||0})},ma=function(e,t){return(t&&t._ctx&&t._ctx.selector||$r.utils.toArray)(e)[0]||(typeof e=="string"&&$r.config().nullTargetWarn!==!1?console.warn("Element not found:",e):null)},CX=function(e,t){for(var n=t.length;n--;)if(t[n]===e||t[n].contains(e))return!0;return!1},Bf=function(e,t){var n=t.s,i=t.sc;cv(e)&&(e=yf.scrollingElement||_f);var s=Tn.indexOf(e),o=i===Cr.sc?1:2;!~s&&(s=Tn.push(e)-1),Tn[s+o]||Vs(e,"scroll",BE);var c=Tn[s+o],f=c||(Tn[s+o]=AA(bf(e,n),!0)||(cv(e)?i:AA(function(d){return arguments.length?e[n]=d:e[n]})));return f.target=e,c||(f.smooth=$r.getProperty(e,"scrollBehavior")==="smooth"),f},DE=function(e,t,n){var i=e,s=e,o=lv(),c=o,f=t||50,d=Math.max(500,f*3),m=function(S,M){var b=lv();M||b-o>f?(s=i,i=S,c=o,o=b):n?i+=S:i=s+(S-s)/(b-c)*(o-c)},g=function(){s=i=n?0:i,c=o=0},y=function(S){var M=c,b=s,A=lv();return(S||S===0)&&S!==i&&m(S),o===c||A-c>d?0:(i+(n?b:-b))/((n?A:o)-M)*1e3};return{update:m,reset:g,getVelocity:y}},N0=function(e,t){return t&&!e._gsapAllow&&e.preventDefault(),e.changedTouches?e.changedTouches[0]:e},bB=function(e){var t=Math.max.apply(Math,e),n=Math.min.apply(Math,e);return Math.abs(t)>=Math.abs(n)?t:n},Q3=function(){ov=$r.core.globals().ScrollTrigger,ov&&ov.core&&TX()},Z3=function(e){return $r=e||J3(),!mS&&$r&&typeof document<"u"&&document.body&&(Va=window,yf=document,_f=yf.documentElement,_m=yf.body,q3=[Va,yf,_f,_m],$r.utils.clamp,W3=$r.core.context||function(){},Wh="onpointerenter"in _m?"pointer":"mouse",j3=zi.isTouch=Va.matchMedia&&Va.matchMedia("(hover: none), (pointer: coarse)").matches?1:"ontouchstart"in Va||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0?2:0,sl=zi.eventTypes=("ontouchstart"in _f?"touchstart,touchmove,touchcancel,touchend":"onpointerdown"in _f?"pointerdown,pointermove,pointercancel,pointerup":"mousedown,mousemove,mouseup,mouseup").split(","),setTimeout(function(){return K3=0},500),Q3(),mS=1),mS};Qs.op=Cr;Tn.cache=0;var zi=function(){function r(t){this.init(t)}var e=r.prototype;return e.init=function(n){mS||Z3($r)||console.warn("Please gsap.registerPlugin(Observer)"),ov||Q3();
vendor: 4,568 bytes, line 3980
3980var i=n.tolerance,s=n.dragMinimum,o=n.type,c=n.target,f=n.lineHeight,d=n.debounce,m=n.preventDefault,g=n.onStop,y=n.onStopDelay,_=n.ignore,S=n.wheelSpeed,M=n.event,b=n.onDragStart,A=n.onDragEnd,w=n.onDrag,D=n.onPress,B=n.onRelease,I=n.onRight,O=n.onLeft,U=n.onUp,z=n.onDown,P=n.onChangeX,N=n.onChangeY,G=n.onChange,X=n.onToggleX,Q=n.onToggleY,te=n.onHover,le=n.onHoverEnd,k=n.onMove,W=n.ignoreCheck,ee=n.isNormalizer,pe=n.onGestureStart,H=n.onGestureEnd,re=n.onWheel,ye=n.onEnable,Ae=n.onDisable,Te=n.onClick,he=n.scrollSpeed,xe=n.capture,Ne=n.allowClicks,Oe=n.lockAxis,We=n.onLockAxis;this.target=c=ma(c)||_f,this.vars=n,_&&(_=$r.utils.toArray(_)),i=i||1e-9,s=s||0,S=S||1,he=he||1,o=o||"wheel,touch,pointer",d=d!==!1,f||(f=parseFloat(Va.getComputedStyle(_m).lineHeight)||22);var gt,Ft,At,ne,Ie,Le,Ge,ie=this,Ze=0,ke=0,Je=n.passive||!m&&n.passive!==!1,ht=Bf(c,Qs),Lt=Bf(c,Cr),J=ht(),V=Lt(),me=~o.indexOf("touch")&&!~o.indexOf("pointer")&&sl[0]==="pointerdown",we=cv(c),Ue=c.ownerDocument||yf,Re=[0,0,0],ot=[0,0,0],$e=0,St=function(){return $e=lv()},lt=function(wt,Vt){return(ie.event=wt)&&_&&CX(wt.target,_)||Vt&&me&&wt.pointerType!=="touch"||W&&W(wt,Vt)},Ye=function(){ie._vx.reset(),ie._vy.reset(),Ft.pause(),g&&g(ie)},nt=function(){var wt=ie.deltaX=bB(Re),Vt=ie.deltaY=bB(ot),tt=Math.abs(wt)>=i,bt=Math.abs(Vt)>=i;G&&(tt||bt)&&G(ie,wt,Vt,Re,ot),tt&&(I&&ie.deltaX>0&&I(ie),O&&ie.deltaX<0&&O(ie),P&&P(ie),X&&ie.deltaX<0!=Ze<0&&X(ie),Ze=ie.deltaX,Re[0]=Re[1]=Re[2]=0),bt&&(z&&ie.deltaY>0&&z(ie),U&&ie.deltaY<0&&U(ie),N&&N(ie),Q&&ie.deltaY<0!=ke<0&&Q(ie),ke=ie.deltaY,ot[0]=ot[1]=ot[2]=0),(ne||At)&&(k&&k(ie),At&&(b&&At===1&&b(ie),w&&w(ie),At=0),ne=!1),Le&&!(Le=!1)&&We&&We(ie),Ie&&(re(ie),Ie=!1),gt=0},Mt=function(wt,Vt,tt){Re[tt]+=wt,ot[tt]+=Vt,ie._vx.update(wt),ie._vy.update(Vt),d?gt||(gt=requestAnimationFrame(nt)):nt()},yt=function(wt,Vt){Oe&&!Ge&&(ie.axis=Ge=Math.abs(wt)>Math.abs(Vt)?"x":"y",Le=!0),Ge!=="y"&&(Re[2]+=wt,ie._vx.update(wt,!0)),Ge!=="x"&&(ot[2]+=Vt,ie._vy.update(Vt,!0)),d?gt||(gt=requestAnimationFrame(nt)):nt()},rt=function(wt){if(!lt(wt,1)){wt=N0(wt,m);var Vt=wt.clientX,tt=wt.clientY,bt=Vt-ie.x,Tt=tt-ie.y,Ut=ie.isDragging;ie.x=Vt,ie.y=tt,(Ut||(bt||Tt)&&(Math.abs(ie.startX-Vt)>=s||Math.abs(ie.startY-tt)>=s))&&(At=Ut?2:1,Ut||(ie.isDragging=!0),yt(bt,Tt))}},Pt=ie.onPress=function(ft){lt(ft,1)||ft&&ft.button||(ie.axis=Ge=null,Ft.pause(),ie.isPressed=!0,ft=N0(ft),Ze=ke=0,ie.startX=ie.x=ft.clientX,ie.startY=ie.y=ft.clientY,ie._vx.reset(),ie._vy.reset(),Vs(ee?c:Ue,sl[1],rt,Je,!0),ie.deltaX=ie.deltaY=0,D&&D(ie))},se=ie.onRelease=function(ft){if(!lt(ft,1)){Gs(ee?c:Ue,sl[1],rt,!0);var wt=!isNaN(ie.y-ie.startY),Vt=ie.isDragging,tt=Vt&&(Math.abs(ie.x-ie.startX)>3||Math.abs(ie.y-ie.startY)>3),bt=N0(ft);!tt&&wt&&(ie._vx.reset(),ie._vy.reset(),m&&Ne&&$r.delayedCall(.08,function(){if(lv()-$e>300&&!ft.defaultPrevented){if(ft.target.click)ft.target.click();else if(Ue.createEvent){var Tt=Ue.createEvent("MouseEvents");Tt.initMouseEvent("click",!0,!0,Va,1,bt.screenX,bt.screenY,bt.clientX,bt.clientY,!1,!1,!1,!1,0,null),ft.target.dispatchEvent(Tt)}}})),ie.isDragging=ie.isGesturing=ie.isPressed=!1,g&&Vt&&!ee&&Ft.restart(!0),At&&nt(),A&&Vt&&A(ie),B&&B(ie,tt)}},Ke=function(wt){return wt.touches&&wt.touches.length>1&&(ie.isGesturing=!0)&&pe(wt,ie.isDragging)},Qe=function(){return(ie.isGesturing=!1)||H(ie)},ct=function(wt){if(!lt(wt)){var Vt=ht(),tt=Lt();Mt((Vt-J)*he,(tt-V)*he,1),J=Vt,V=tt,g&&Ft.restart(!0)}},je=function(wt){if(!lt(wt)){wt=N0(wt,m),re&&(Ie=!0);var Vt=(wt.deltaMode===1?f:wt.deltaMode===2?Va.innerHeight:1)*S;Mt(wt.deltaX*Vt,wt.deltaY*Vt,0),g&&!ee&&Ft.restart(!0)}},Pe=function(wt){if(!lt(wt)){var Vt=wt.clientX,tt=wt.clientY,bt=Vt-ie.x,Tt=tt-ie.y;ie.x=Vt,ie.y=tt,ne=!0,g&&Ft.restart(!0),(bt||Tt)&&yt(bt,Tt)}},_t=function(wt){ie.event=wt,te(ie)},Nt=function(wt){ie.event=wt,le(ie)},hn=function(wt){return lt(wt)||N0(wt,m)&&Te(ie)};Ft=ie._dc=$r.delayedCall(y||.25,Ye).pause(),ie.deltaX=ie.deltaY=0,ie._vx=DE(0,50,!0),ie._vy=DE(0,50,!0),ie.scrollX=ht,ie.scrollY=Lt,ie.isDragging=ie.isGesturing=ie.isPressed=!1,W3(this),ie.enable=function(ft){return ie.isEnabled||(Vs(we?Ue:c,"scroll",BE),o.indexOf("scroll")>=0&&Vs(we?Ue:c,"scroll",ct,Je,xe),o.indexOf("wheel")>=0&&Vs(c,"wheel",je,Je,xe),(o.indexOf("touch")>=0&&j3||o.indexOf("pointer")>=0)&&(Vs(c,sl[0],Pt,Je,xe),Vs(Ue,sl[2],se),Vs(Ue,sl[3],se),Ne&&Vs(c,"click",St,!0,!0),Te&&Vs(c,"click",hn),pe&&Vs(Ue,"gesturestart",Ke),H&&Vs(Ue,"gestureend",Qe),te&&Vs(c,Wh+"enter",_t),le&&Vs(c,Wh+"leave",Nt),k&&Vs(c,Wh+"move",Pe)),ie.isEnabled=!0,ie.isDragging=ie.isGesturing=ie.isPressed=ne
vendor: 4,321 bytes, lines 3980-3987
3980=At=!1,ie._vx.reset(),ie._vy.reset(),J=ht(),V=Lt(),ft&&ft.type&&Pt(ft),ye&&ye(ie)),ie},ie.disable=function(){ie.isEnabled&&(fm.filter(function(ft){return ft!==ie&&cv(ft.target)}).length||Gs(we?Ue:c,"scroll",BE),ie.isPressed&&(ie._vx.reset(),ie._vy.reset(),Gs(ee?c:Ue,sl[1],rt,!0)),Gs(we?Ue:c,"scroll",ct,xe),Gs(c,"wheel",je,xe),Gs(c,sl[0],Pt,xe),Gs(Ue,sl[2],se),Gs(Ue,sl[3],se),Gs(c,"click",St,!0),Gs(c,"click",hn),Gs(Ue,"gesturestart",Ke),Gs(Ue,"gestureend",Qe),Gs(c,Wh+"enter",_t),Gs(c,Wh+"leave",Nt),Gs(c,Wh+"move",Pe),ie.isEnabled=ie.isPressed=ie.isDragging=!1,Ae&&Ae(ie))},ie.kill=ie.revert=function(){ie.disable();var ft=fm.indexOf(ie);ft>=0&&fm.splice(ft,1),Qc===ie&&(Qc=0)},fm.push(ie),ee&&cv(c)&&(Qc=ie),ie.enable(M)},EX(r,[{key:"velocityX",get:function(){return this._vx.getVelocity()}},{key:"velocityY",get:function(){return this._vy.getVelocity()}}]),r}();zi.version="3.13.0";zi.create=function(r){return new zi(r)};zi.register=Z3;zi.getAll=function(){return fm.slice()};zi.getById=function(r){return fm.filter(function(e){return e.vars.id===r})[0]};J3()&&$r.registerPlugin(zi);/*!
3981 * ScrollTrigger 3.13.0
3982 * https://gsap.com
3983 *
3984 * @license Copyright 2008-2025, GreenSock. All rights reserved.
3985 * Subject to the terms at https://gsap.com/standard-license
3986 * @author: Jack Doyle, [email protected]
3987*/var Ct,rm,En,_i,Fa,$n,pC,bA,Iv,uv,k0,Jx,ms,gb,OE,js,MB,EB,sm,$3,L1,eL,Ys,NE,tL,nL,uf,LE,mC,xm,gC,MA,UE,U1,Kx=1,gs=Date.now,I1=gs(),Co=0,X0=0,TB=function(e,t,n){var i=Ha(e)&&(e.substr(0,6)==="clamp("||e.indexOf("max")>-1);return n["_"+t+"Clamp"]=i,i?e.substr(6,e.length-7):e},CB=function(e,t){return t&&(!Ha(e)||e.substr(0,6)!=="clamp(")?"clamp("+e+")":e},wX=function r(){return X0&&requestAnimationFrame(r)},wB=function(){return gb=1},RB=function(){return gb=0},Kl=function(e){return e},Y0=function(e){return Math.round(e*1e5)/1e5||0},iL=function(){return typeof window<"u"},rL=function(){return Ct||iL()&&(Ct=window.gsap)&&Ct.registerPlugin&&Ct},bd=function(e){return!!~pC.indexOf(e)},sL=function(e){return(e==="Height"?gC:En["inner"+e])||Fa["client"+e]||$n["client"+e]},aL=function(e){return bf(e,"getBoundingClientRect")||(bd(e)?function(){return xS.width=En.innerWidth,xS.height=gC,xS}:function(){return Jc(e)})},RX=function(e,t,n){var i=n.d,s=n.d2,o=n.a;return(o=bf(e,"getBoundingClientRect"))?function(){return o()[i]}:function(){return(t?sL(s):e["client"+s])||0}},BX=function(e,t){return!t||~ic.indexOf(e)?aL(e):function(){return xS}},ec=function(e,t){var n=t.s,i=t.d2,s=t.d,o=t.a;return Math.max(0,(n="scroll"+i)&&(o=bf(e,n))?o()-aL(e)()[s]:bd(e)?(Fa[n]||$n[n])-sL(i):e[n]-e["offset"+i])},Qx=function(e,t){for(var n=0;n<sm.length;n+=3)(!t||~t.indexOf(sm[n+1]))&&e(sm[n],sm[n+1],sm[n+2])},Ha=function(e){return typeof e=="string"},_s=function(e){return typeof e=="function"},j0=function(e){return typeof e=="number"},Jh=function(e){return typeof e=="object"},L0=function(e,t,n){return e&&e.progress(t?0:1)&&n&&e.pause()},P1=function(e,t){if(e.enabled){var n=e._ctx?e._ctx.add(function(){return t(e)}):t(e);n&&n.totalTime&&(e.callbackAnimation=n)}},nm=Math.abs,oL="left",lL="top",vC="right",yC="bottom",hd="width",dd="height",fv="Right",hv="Left",dv="Top",pv="Bottom",ur="padding",So="margin",Vm="Width",_C="Height",Tr="px",Ao=function(e){return En.getComputedStyle(e)},DX=function(e){var t=Ao(e).position;e.style.position=t==="absolute"||t==="fixed"?t:"relative"},BB=function(e,t){for(var n in t)n in e||(e[n]=t[n]);return e},Jc=function(e,t){var n=t&&Ao(e)[OE]!=="matrix(1, 0, 0, 1, 0, 0)"&&Ct.to(e,{x:0,y:0,xPercent:0,yPercent:0,rotation:0,rotationX:0,rotationY:0,scale:1,skewX:0,skewY:0}).progress(1),i=e.getBoundingClientRect();return n&&n.progress(0).kill(),i},EA=function(e,t){var n=t.d2;return e["offset"+n]||e["client"+n]||0},cL=function(e){var t=[],n=e.labels,i=e.duration(),s;for(s in n)t.push(n[s]/i);return t},OX=function(e){return function(t){return Ct.utils.snap(cL(e),t)}},xC=function(e){var t=Ct.utils.snap(e),n=Array.isArray(e)&&e.slice(0).sort(function(i,s){return i-s});return n?function(i,s,o){o===void 0&&(o=.001);var c;if(!s)return t(i);if(s>0){for(i-=o,c=0;c<n.length;c++)if(n[c]>=i)return n[c];return n[c-1]}else for(c=n.length,i+=o;c--;)if(n[c]<=i)return n[c];return n[0]}:function(i,s,o){o===void 0&&(o=.001);var c=t(i);return!s||Math.abs(c-i)<o||c-i<0==s<0?c:t(s<0?i-e:i+e)}}
vendor: 2,779 bytes, line 3987
3987,NX=function(e){return function(t,n){return xC(cL(e))(t,n.direction)}},Zx=function(e,t,n,i){return n.split(",").forEach(function(s){return e(t,s,i)})},Fr=function(e,t,n,i,s){return e.addEventListener(t,n,{passive:!i,capture:!!s})},zr=function(e,t,n,i){return e.removeEventListener(t,n,!!i)},$x=function(e,t,n){n=n&&n.wheelHandler,n&&(e(t,"wheel",n),e(t,"touchmove",n))},DB={startColor:"green",endColor:"red",indent:0,fontSize:"16px",fontWeight:"normal"},eS={toggleActions:"play",anticipatePin:0},TA={top:0,left:0,center:.5,bottom:1,right:1},gS=function(e,t){if(Ha(e)){var n=e.indexOf("="),i=~n?+(e.charAt(n-1)+1)*parseFloat(e.substr(n+1)):0;~n&&(e.indexOf("%")>n&&(i*=t/100),e=e.substr(0,n-1)),e=i+(e in TA?TA[e]*t:~e.indexOf("%")?parseFloat(e)*t/100:parseFloat(e)||0)}return e},tS=function(e,t,n,i,s,o,c,f){var d=s.startColor,m=s.endColor,g=s.fontSize,y=s.indent,_=s.fontWeight,S=_i.createElement("div"),M=bd(n)||bf(n,"pinType")==="fixed",b=e.indexOf("scroller")!==-1,A=M?$n:n,w=e.indexOf("start")!==-1,D=w?d:m,B="border-color:"+D+";font-size:"+g+";color:"+D+";font-weight:"+_+";pointer-events:none;white-space:nowrap;font-family:sans-serif,Arial;z-index:1000;padding:4px 8px;border-width:0;border-style:solid;";return B+="position:"+((b||f)&&M?"fixed;":"absolute;"),(b||f||!M)&&(B+=(i===Cr?vC:yC)+":"+(o+parseFloat(y))+"px;"),c&&(B+="box-sizing:border-box;text-align:left;width:"+c.offsetWidth+"px;"),S._isStart=w,S.setAttribute("class","gsap-marker-"+e+(t?" marker-"+t:"")),S.style.cssText=B,S.innerText=t||t===0?e+"-"+t:e,A.children[0]?A.insertBefore(S,A.children[0]):A.appendChild(S),S._offset=S["offset"+i.op.d2],vS(S,0,i,w),S},vS=function(e,t,n,i){var s={display:"block"},o=n[i?"os2":"p2"],c=n[i?"p2":"os2"];e._isFlipped=i,s[n.a+"Percent"]=i?-100:0,s[n.a]=i?"1px":0,s["border"+o+Vm]=1,s["border"+c+Vm]=0,s[n.p]=t+"px",Ct.set(e,s)},Sn=[],IE={},Pv,OB=function(){return gs()-Co>34&&(Pv||(Pv=requestAnimationFrame(nu)))},im=function(){(!Ys||!Ys.isPressed||Ys.startX>$n.clientWidth)&&(Tn.cache++,Ys?Pv||(Pv=requestAnimationFrame(nu)):nu(),Co||Ed("scrollStart"),Co=gs())},H1=function(){nL=En.innerWidth,tL=En.innerHeight},q0=function(e){Tn.cache++,(e===!0||!ms&&!eL&&!_i.fullscreenElement&&!_i.webkitFullscreenElement&&(!NE||nL!==En.innerWidth||Math.abs(En.innerHeight-tL)>En.innerHeight*.25))&&bA.restart(!0)},Md={},LX=[],uL=function r(){return zr(fn,"scrollEnd",r)||rd(!0)},Ed=function(e){return Md[e]&&Md[e].map(function(t){return t()})||LX},Pa=[],fL=function(e){for(var t=0;t<Pa.length;t+=5)(!e||Pa[t+4]&&Pa[t+4].query===e)&&(Pa[t].style.cssText=Pa[t+1],Pa[t].getBBox&&Pa[t].setAttribute("transform",Pa[t+2]||""),Pa[t+3].uncache=1)},SC=function(e,t){var n;for(js=0;js<Sn.length;js++)n=Sn[js],n&&(!t||n._ctx===t)&&(e?n.kill(1):n.revert(!0,!0));MA=!0,t&&fL(t),t||Ed("revert")}
vendor: 5,088 bytes, line 3987
3987,hL=function(e,t){Tn.cache++,(t||!qs)&&Tn.forEach(function(n){return _s(n)&&n.cacheID++&&(n.rec=0)}),Ha(e)&&(En.history.scrollRestoration=mC=e)},qs,pd=0,NB,UX=function(){if(NB!==pd){var e=NB=pd;requestAnimationFrame(function(){return e===pd&&rd(!0)})}},dL=function(){$n.appendChild(xm),gC=!Ys&&xm.offsetHeight||En.innerHeight,$n.removeChild(xm)},LB=function(e){return Iv(".gsap-marker-start, .gsap-marker-end, .gsap-marker-scroller-start, .gsap-marker-scroller-end").forEach(function(t){return t.style.display=e?"none":"block"})},rd=function(e,t){if(Fa=_i.documentElement,$n=_i.body,pC=[En,_i,Fa,$n],Co&&!e&&!MA){Fr(fn,"scrollEnd",uL);return}dL(),qs=fn.isRefreshing=!0,Tn.forEach(function(i){return _s(i)&&++i.cacheID&&(i.rec=i())});var n=Ed("refreshInit");$3&&fn.sort(),t||SC(),Tn.forEach(function(i){_s(i)&&(i.smooth&&(i.target.style.scrollBehavior="auto"),i(0))}),Sn.slice(0).forEach(function(i){return i.refresh()}),MA=!1,Sn.forEach(function(i){if(i._subPinOffset&&i.pin){var s=i.vars.horizontal?"offsetWidth":"offsetHeight",o=i.pin[s];i.revert(!0,1),i.adjustPinSpacing(i.pin[s]-o),i.refresh()}}),UE=1,LB(!0),Sn.forEach(function(i){var s=ec(i.scroller,i._dir),o=i.vars.end==="max"||i._endClamp&&i.end>s,c=i._startClamp&&i.start>=s;(o||c)&&i.setPositions(c?s-1:i.start,o?Math.max(c?s:i.start+1,s):i.end,!0)}),LB(!1),UE=0,n.forEach(function(i){return i&&i.render&&i.render(-1)}),Tn.forEach(function(i){_s(i)&&(i.smooth&&requestAnimationFrame(function(){return i.target.style.scrollBehavior="smooth"}),i.rec&&i(i.rec))}),hL(mC,1),bA.pause(),pd++,qs=2,nu(2),Sn.forEach(function(i){return _s(i.vars.onRefresh)&&i.vars.onRefresh(i)}),qs=fn.isRefreshing=!1,Ed("refresh")},PE=0,yS=1,mv,nu=function(e){if(e===2||!qs&&!MA){fn.isUpdating=!0,mv&&mv.update(0);var t=Sn.length,n=gs(),i=n-I1>=50,s=t&&Sn[0].scroll();if(yS=PE>s?-1:1,qs||(PE=s),i&&(Co&&!gb&&n-Co>200&&(Co=0,Ed("scrollEnd")),k0=I1,I1=n),yS<0){for(js=t;js-- >0;)Sn[js]&&Sn[js].update(0,i);yS=1}else for(js=0;js<t;js++)Sn[js]&&Sn[js].update(0,i);fn.isUpdating=!1}Pv=0},HE=[oL,lL,yC,vC,So+pv,So+fv,So+dv,So+hv,"display","flexShrink","float","zIndex","gridColumnStart","gridColumnEnd","gridRowStart","gridRowEnd","gridArea","justifySelf","alignSelf","placeSelf","order"],_S=HE.concat([hd,dd,"boxSizing","max"+Vm,"max"+_C,"position",So,ur,ur+dv,ur+fv,ur+pv,ur+hv]),IX=function(e,t,n){Sm(n);var i=e._gsap;if(i.spacerIsNative)Sm(i.spacerState);else if(e._gsap.swappedIn){var s=t.parentNode;s&&(s.insertBefore(e,t),s.removeChild(t))}e._gsap.swappedIn=!1},z1=function(e,t,n,i){if(!e._gsap.swappedIn){for(var s=HE.length,o=t.style,c=e.style,f;s--;)f=HE[s],o[f]=n[f];o.position=n.position==="absolute"?"absolute":"relative",n.display==="inline"&&(o.display="inline-block"),c[yC]=c[vC]="auto",o.flexBasis=n.flexBasis||"auto",o.overflow="visible",o.boxSizing="border-box",o[hd]=EA(e,Qs)+Tr,o[dd]=EA(e,Cr)+Tr,o[ur]=c[So]=c[lL]=c[oL]="0",Sm(i),c[hd]=c["max"+Vm]=n[hd],c[dd]=c["max"+_C]=n[dd],c[ur]=n[ur],e.parentNode!==t&&(e.parentNode.insertBefore(t,e),t.appendChild(e)),e._gsap.swappedIn=!0}},PX=/([A-Z])/g,Sm=function(e){if(e){var t=e.t.style,n=e.length,i=0,s,o;for((e.t._gsap||Ct.core.getCache(e.t)).uncache=1;i<n;i+=2)o=e[i+1],s=e[i],o?t[s]=o:t[s]&&t.removeProperty(s.replace(PX,"-$1").toLowerCase())}},nS=function(e){for(var t=_S.length,n=e.style,i=[],s=0;s<t;s++)i.push(_S[s],n[_S[s]]);return i.t=e,i},HX=function(e,t,n){for(var i=[],s=e.length,o=n?8:0,c;o<s;o+=2)c=e[o],i.push(c,c in t?t[c]:e[o+1]);return i.t=e.t,i},xS={left:0,top:0},UB=function(e,t,n,i,s,o,c,f,d,m,g,y,_,S){_s(e)&&(e=e(f)),Ha(e)&&e.substr(0,3)==="max"&&(e=y+(e.charAt(4)==="="?gS("0"+e.substr(3),n):0));var M=_?_.time():0,b,A,w;if(_&&_.seek(0),isNaN(e)||(e=+e),j0(e))_&&(e=Ct.utils.mapRange(_.scrollTrigger.start,_.scrollTrigger.end,0,y,e)),c&&vS(c,n,i,!0);else{_s(t)&&(t=t(f));var D=(e||"0").split(" "),B,I,O,U;w=ma(t,f)||$n,B=Jc(w)||{},(!B||!B.left&&!B.top)&&Ao(w).display==="none"&&(U=w.style.display,w.style.display="block",B=Jc(w),U?w.style.display=U:w.style.removeProperty("display")),I=gS(D[0],B[i.d]),O=gS(D[1]||"0",n),e=B[i.p]-d[i.p]-m+I+s-O,c&&vS(c,O,i,n-O<20||c._isStart&&O>20),n-=n-O}if(S&&(f[S]=e||-.001,e<0&&(e=0)),o){var z=e+n,P=o._isStart;b="scroll"+i.d2,vS(o,z,i,P&&z>20||!P&&(g?Math.max($n[b],Fa[b]):o.parentNode[b])<=z+1),g&&(d=Jc(c),g&&(o.style[i.op.p]=d[i.op.p]-i.op.m-o._offset+Tr))}return _&&w&&(b=Jc(w),_.seek(y),A=Jc(w),_._caScrollDist=b[i.p]-A[i.p],e=e/_._caScrollDist*y),_&&_.seek(M),_?e:Math.round(e)},zX=/(webkit|moz|length|cssText|inset)/i,IB=function(e,t,n,i){if(e.parentNode!==t){var s=e.style,o,c;if(t===$n){e._stOrig=s.cssText,c=Ao(e);for(o in c)!+o&&!zX.test(o)&&c[o]&&typeof s[o]=="string"&&o!=="0"&&(s[o]=c[o]);s.top=n,s.left=i}else s.cssText=e._stOrig;Ct.core.getCache(e).uncache=1,t.appendChild(e)}},pL=function(e,t,n){var i=t,s=i;return function(o){var c=Math.round(e());return c!==i&&c!==s&&Math.abs(c-i)>3&&Math.abs(c-s)>3&&(o=c,n&&n()),s=i,i=Math.round(o),i}},iS=function(e,t,n){var i={};i[t.p]="+="+n,Ct.set(e,i)},PB=function(e,t){var n=Bf(e,t),i="_scroll"+t.p2,s=function o(c,f,d,m,g){var y=o.tween,_=f.onComplete,S={};d=d||n();
vendor: 4,958 bytes, line 3987
3987var M=pL(n,d,function(){y.kill(),o.tween=0});return g=m&&g||0,m=m||c-d,y&&y.kill(),f[i]=c,f.inherit=!1,f.modifiers=S,S[i]=function(){return M(d+m*y.ratio+g*y.ratio*y.ratio)},f.onUpdate=function(){Tn.cache++,o.tween&&nu()},f.onComplete=function(){o.tween=0,_&&_.call(y)},y=o.tween=Ct.to(e,f),y};return e[i]=n,n.wheelHandler=function(){return s.tween&&s.tween.kill()&&(s.tween=0)},Fr(e,"wheel",n.wheelHandler),fn.isTouch&&Fr(e,"touchmove",n.wheelHandler),s},fn=function(){function r(t,n){rm||r.register(Ct)||console.warn("Please gsap.registerPlugin(ScrollTrigger)"),LE(this),this.init(t,n)}var e=r.prototype;return e.init=function(n,i){if(this.progress=this.start=0,this.vars&&this.kill(!0,!0),!X0){this.update=this.refresh=this.kill=Kl;return}n=BB(Ha(n)||j0(n)||n.nodeType?{trigger:n}:n,eS);var s=n,o=s.onUpdate,c=s.toggleClass,f=s.id,d=s.onToggle,m=s.onRefresh,g=s.scrub,y=s.trigger,_=s.pin,S=s.pinSpacing,M=s.invalidateOnRefresh,b=s.anticipatePin,A=s.onScrubComplete,w=s.onSnapComplete,D=s.once,B=s.snap,I=s.pinReparent,O=s.pinSpacer,U=s.containerAnimation,z=s.fastScrollEnd,P=s.preventOverlaps,N=n.horizontal||n.containerAnimation&&n.horizontal!==!1?Qs:Cr,G=!g&&g!==0,X=ma(n.scroller||En),Q=Ct.core.getCache(X),te=bd(X),le=("pinType"in n?n.pinType:bf(X,"pinType")||te&&"fixed")==="fixed",k=[n.onEnter,n.onLeave,n.onEnterBack,n.onLeaveBack],W=G&&n.toggleActions.split(" "),ee="markers"in n?n.markers:eS.markers,pe=te?0:parseFloat(Ao(X)["border"+N.p2+Vm])||0,H=this,re=n.onRefreshInit&&function(){return n.onRefreshInit(H)},ye=RX(X,te,N),Ae=BX(X,te),Te=0,he=0,xe=0,Ne=Bf(X,N),Oe,We,gt,Ft,At,ne,Ie,Le,Ge,ie,Ze,ke,Je,ht,Lt,J,V,me,we,Ue,Re,ot,$e,St,lt,Ye,nt,Mt,yt,rt,Pt,se,Ke,Qe,ct,je,Pe,_t,Nt;if(H._startClamp=H._endClamp=!1,H._dir=N,b*=45,H.scroller=X,H.scroll=U?U.time.bind(U):Ne,Ft=Ne(),H.vars=n,i=i||n.animation,"refreshPriority"in n&&($3=1,n.refreshPriority===-9999&&(mv=H)),Q.tweenScroll=Q.tweenScroll||{top:PB(X,Cr),left:PB(X,Qs)},H.tweenTo=Oe=Q.tweenScroll[N.p],H.scrubDuration=function(tt){Ke=j0(tt)&&tt,Ke?se?se.duration(tt):se=Ct.to(i,{ease:"expo",totalProgress:"+=0",inherit:!1,duration:Ke,paused:!0,onComplete:function(){return A&&A(H)}}):(se&&se.progress(1).kill(),se=0)},i&&(i.vars.lazy=!1,i._initted&&!H.isReverted||i.vars.immediateRender!==!1&&n.immediateRender!==!1&&i.duration()&&i.render(0,!0,!0),H.animation=i.pause(),i.scrollTrigger=H,H.scrubDuration(g),rt=0,f||(f=i.vars.id)),B&&((!Jh(B)||B.push)&&(B={snapTo:B}),"scrollBehavior"in $n.style&&Ct.set(te?[$n,Fa]:X,{scrollBehavior:"auto"}),Tn.forEach(function(tt){return _s(tt)&&tt.target===(te?_i.scrollingElement||Fa:X)&&(tt.smooth=!1)}),gt=_s(B.snapTo)?B.snapTo:B.snapTo==="labels"?OX(i):B.snapTo==="labelsDirectional"?NX(i):B.directional!==!1?function(tt,bt){return xC(B.snapTo)(tt,gs()-he<500?0:bt.direction)}:Ct.utils.snap(B.snapTo),Qe=B.duration||{min:.1,max:2},Qe=Jh(Qe)?uv(Qe.min,Qe.max):uv(Qe,Qe),ct=Ct.delayedCall(B.delay||Ke/2||.1,function(){var tt=Ne(),bt=gs()-he<500,Tt=Oe.tween;if((bt||Math.abs(H.getVelocity())<10)&&!Tt&&!gb&&Te!==tt){var Ut=(tt-ne)/ht,gi=i&&!G?i.totalProgress():Ut,jt=bt?0:(gi-Pt)/(gs()-k0)*1e3||0,Cn=Ct.utils.clamp(-Ut,1-Ut,nm(jt/2)*jt/.185),kn=Ut+(B.inertia===!1?0:Cn),qt,An,vn=B,Gi=vn.onStart,On=vn.onInterrupt,Bn=vn.onComplete;if(qt=gt(kn,H),j0(qt)||(qt=kn),An=Math.max(0,Math.round(ne+qt*ht)),tt<=Ie&&tt>=ne&&An!==tt){if(Tt&&!Tt._initted&&Tt.data<=nm(An-tt))return;B.inertia===!1&&(Cn=qt-Ut),Oe(An,{duration:Qe(nm(Math.max(nm(kn-gi),nm(qt-gi))*.185/jt/.05||0)),ease:B.ease||"power3",data:nm(An-tt),onInterrupt:function(){return ct.restart(!0)&&On&&On(H)},onComplete:function(){H.update(),Te=Ne(),i&&!G&&(se?se.resetTo("totalProgress",qt,i._tTime/i._tDur):i.progress(qt)),rt=Pt=i&&!G?i.totalProgress():H.progress,w&&w(H),Bn&&Bn(H)}},tt,Cn*ht,An-tt-Cn*ht),Gi&&Gi(H,Oe.tween)}}else H.isActive&&Te!==tt&&ct.restart(!0)}).pause()),f&&(IE[f]=H),y=H.trigger=ma(y||_!==!0&&_),Nt=y&&y._gsap&&y._gsap.stRevert,Nt&&(Nt=Nt(H)),_=_===!0?y:ma(_),Ha(c)&&(c={targets:y,className:c}),_&&(S===!1||S===So||(S=!S&&_.parentNode&&_.parentNode.style&&Ao(_.parentNode).display==="flex"?!1:ur),H.pin=_,We=Ct.core.getCache(_),We.spacer?Lt=We.pinState:(O&&(O=ma(O),O&&!O.nodeType&&(O=O.current||O.nativeElement),We.spacerIsNative=!!O,O&&(We.spacerState=nS(O))),We.spacer=me=O||_i.createElement("div"),me.classList.add("pin-spacer"),f&&me.classList.add("pin-spacer-"+f),We.pinState=Lt=nS(_)),n.force3D!==!1&&Ct.set(_,{force3D:!0}),H.spacer=me=We.spacer,yt=Ao(_),St=yt[S+N.os2],Ue=Ct.getProperty(_),Re=Ct.quickSetter(_,N.a,Tr),z1(_,me,yt),V=nS(_)),ee){ke=Jh(ee)?BB(ee,DB):DB,ie=tS("scroller-start",f,X,N,ke,0),Ze=tS("scroller-end",f,X,N,ke,0,ie),we=ie["offset"+N.op.d2];var hn=ma(bf(X,"content")||X);Le=this.markerStart=tS("start",f,hn,N,ke,we,0,U),Ge=this.markerEnd=tS("end",f,hn,N,ke,we,0,U),U&&(_t=Ct.quickSetter([Le,Ge],N.a,Tr)),!le&&!(ic.length&&bf(X,"fixedMarkers")===!0)&&(DX(te?$n:X),Ct.set([ie,Ze],{force3D:!0}),Ye=Ct.quickSetter(ie,N.a,Tr),Mt=Ct.quickSetter(Ze,N.a,Tr))}
vendor: 4,836 bytes, line 3987
3987if(U){var ft=U.vars.onUpdate,wt=U.vars.onUpdateParams;U.eventCallback("onUpdate",function(){H.update(0,0,1),ft&&ft.apply(U,wt||[])})}if(H.previous=function(){return Sn[Sn.indexOf(H)-1]},H.next=function(){return Sn[Sn.indexOf(H)+1]},H.revert=function(tt,bt){if(!bt)return H.kill(!0);var Tt=tt!==!1||!H.enabled,Ut=ms;Tt!==H.isReverted&&(Tt&&(je=Math.max(Ne(),H.scroll.rec||0),xe=H.progress,Pe=i&&i.progress()),Le&&[Le,Ge,ie,Ze].forEach(function(gi){return gi.style.display=Tt?"none":"block"}),Tt&&(ms=H,H.update(Tt)),_&&(!I||!H.isActive)&&(Tt?IX(_,me,Lt):z1(_,me,Ao(_),lt)),Tt||H.update(Tt),ms=Ut,H.isReverted=Tt)},H.refresh=function(tt,bt,Tt,Ut){if(!((ms||!H.enabled)&&!bt)){if(_&&tt&&Co){Fr(r,"scrollEnd",uL);return}!qs&&re&&re(H),ms=H,Oe.tween&&!Tt&&(Oe.tween.kill(),Oe.tween=0),se&&se.pause(),M&&i&&(i.revert({kill:!1}).invalidate(),i.getChildren&&i.getChildren(!0,!0,!1).forEach(function(rn){return rn.vars.immediateRender&&rn.render(0,!0,!0)})),H.isReverted||H.revert(!0,!0),H._subPinOffset=!1;var gi=ye(),jt=Ae(),Cn=U?U.duration():ec(X,N),kn=ht<=.01||!ht,qt=0,An=Ut||0,vn=Jh(Tt)?Tt.end:n.end,Gi=n.endTrigger||y,On=Jh(Tt)?Tt.start:n.start||(n.start===0||!y?0:_?"0 0":"0 100%"),Bn=H.pinnedContainer=n.pinnedContainer&&ma(n.pinnedContainer,H),dr=y&&Math.max(0,Sn.indexOf(H))||0,vi=dr,Y,ce,_e,Ee,de,Ve,et,vt,ut,Ot,Rt,Et,$t;for(ee&&Jh(Tt)&&(Et=Ct.getProperty(ie,N.p),$t=Ct.getProperty(Ze,N.p));vi-- >0;)Ve=Sn[vi],Ve.end||Ve.refresh(0,1)||(ms=H),et=Ve.pin,et&&(et===y||et===_||et===Bn)&&!Ve.isReverted&&(Ot||(Ot=[]),Ot.unshift(Ve),Ve.revert(!0,!0)),Ve!==Sn[vi]&&(dr--,vi--);for(_s(On)&&(On=On(H)),On=TB(On,"start",H),ne=UB(On,y,gi,N,Ne(),Le,ie,H,jt,pe,le,Cn,U,H._startClamp&&"_startClamp")||(_?-.001:0),_s(vn)&&(vn=vn(H)),Ha(vn)&&!vn.indexOf("+=")&&(~vn.indexOf(" ")?vn=(Ha(On)?On.split(" ")[0]:"")+vn:(qt=gS(vn.substr(2),gi),vn=Ha(On)?On:(U?Ct.utils.mapRange(0,U.duration(),U.scrollTrigger.start,U.scrollTrigger.end,ne):ne)+qt,Gi=y)),vn=TB(vn,"end",H),Ie=Math.max(ne,UB(vn||(Gi?"100% 0":Cn),Gi,gi,N,Ne()+qt,Ge,Ze,H,jt,pe,le,Cn,U,H._endClamp&&"_endClamp"))||-.001,qt=0,vi=dr;vi--;)Ve=Sn[vi],et=Ve.pin,et&&Ve.start-Ve._pinPush<=ne&&!U&&Ve.end>0&&(Y=Ve.end-(H._startClamp?Math.max(0,Ve.start):Ve.start),(et===y&&Ve.start-Ve._pinPush<ne||et===Bn)&&isNaN(On)&&(qt+=Y*(1-Ve.progress)),et===_&&(An+=Y));if(ne+=qt,Ie+=qt,H._startClamp&&(H._startClamp+=qt),H._endClamp&&!qs&&(H._endClamp=Ie||-.001,Ie=Math.min(Ie,ec(X,N))),ht=Ie-ne||(ne-=.01)&&.001,kn&&(xe=Ct.utils.clamp(0,1,Ct.utils.normalize(ne,Ie,je))),H._pinPush=An,Le&&qt&&(Y={},Y[N.a]="+="+qt,Bn&&(Y[N.p]="-="+Ne()),Ct.set([Le,Ge],Y)),_&&!(UE&&H.end>=ec(X,N)))Y=Ao(_),Ee=N===Cr,_e=Ne(),ot=parseFloat(Ue(N.a))+An,!Cn&&Ie>1&&(Rt=(te?_i.scrollingElement||Fa:X).style,Rt={style:Rt,value:Rt["overflow"+N.a.toUpperCase()]},te&&Ao($n)["overflow"+N.a.toUpperCase()]!=="scroll"&&(Rt.style["overflow"+N.a.toUpperCase()]="scroll")),z1(_,me,Y),V=nS(_),ce=Jc(_,!0),vt=le&&Bf(X,Ee?Qs:Cr)(),S?(lt=[S+N.os2,ht+An+Tr],lt.t=me,vi=S===ur?EA(_,N)+ht+An:0,vi&&(lt.push(N.d,vi+Tr),me.style.flexBasis!=="auto"&&(me.style.flexBasis=vi+Tr)),Sm(lt),Bn&&Sn.forEach(function(rn){rn.pin===Bn&&rn.vars.pinSpacing!==!1&&(rn._subPinOffset=!0)}),le&&Ne(je)):(vi=EA(_,N),vi&&me.style.flexBasis!=="auto"&&(me.style.flexBasis=vi+Tr)),le&&(de={top:ce.top+(Ee?_e-ne:vt)+Tr,left:ce.left+(Ee?vt:_e-ne)+Tr,boxSizing:"border-box",position:"fixed"},de[hd]=de["max"+Vm]=Math.ceil(ce.width)+Tr,de[dd]=de["max"+_C]=Math.ceil(ce.height)+Tr,de[So]=de[So+dv]=de[So+fv]=de[So+pv]=de[So+hv]="0",de[ur]=Y[ur],de[ur+dv]=Y[ur+dv],de[ur+fv]=Y[ur+fv],de[ur+pv]=Y[ur+pv],de[ur+hv]=Y[ur+hv],J=HX(Lt,de,I),qs&&Ne(0)),i?(ut=i._initted,L1(1),i.render(i.duration(),!0,!0),$e=Ue(N.a)-ot+ht+An,nt=Math.abs(ht-$e)>1,le&&nt&&J.splice(J.length-2,2),i.render(0,!0,!0),ut||i.invalidate(!0),i.parent||i.totalTime(i.totalTime()),L1(0)):$e=ht,Rt&&(Rt.value?Rt.style["overflow"+N.a.toUpperCase()]=Rt.value:Rt.style.removeProperty("overflow-"+N.a));else if(y&&Ne()&&!U)for(ce=y.parentNode;ce&&ce!==$n;)ce._pinOffset&&(ne-=ce._pinOffset,Ie-=ce._pinOffset),ce=ce.parentNode;Ot&&Ot.forEach(function(rn){return rn.revert(!1,!0)}),H.start=ne,H.end=Ie,Ft=At=qs?je:Ne(),!U&&!qs&&(Ft<je&&Ne(je),H.scroll.rec=0),H.revert(!1,!0),he=gs(),ct&&(Te=-1,ct.restart(!0)),ms=0,i&&G&&(i._initted||Pe)&&i.progress()!==Pe&&i.progress(Pe||0,!0).render(i.time(),!0,!0),(kn||xe!==H.progress||U||M||i&&!i._initted)&&(i&&!G&&(i._initted||xe||i.vars.immediateRender!==!1)&&i.totalProgress(U&&ne<-.001&&!xe?Ct.utils.normalize(ne,Ie,0):xe,!0),H.progress=kn||(Ft-ne)/ht===xe?0:xe),_&&S&&(me._pinOffset=Math.round(H.progress*$e)),se&&se.invalidate(),isNaN(Et)||(Et-=Ct.getProperty(ie,N.p),$t-=Ct.getProperty(Ze,N.p),iS(ie,N,Et),iS(Le,N,Et-(Ut||0)),iS(Ze,N,$t),iS(Ge,N,$t-(Ut||0))),kn&&!qs&&H.update(),m&&!qs&&!Je&&(Je=!0,m(H),Je=!1)}},H.getVelocity=function(){return(Ne()-At)/(gs()-k0)*1e3||0}
vendor: 11,217 bytes, line 3987
3987,H.endAnimation=function(){L0(H.callbackAnimation),i&&(se?se.progress(1):i.paused()?G||L0(i,H.direction<0,1):L0(i,i.reversed()))},H.labelToScroll=function(tt){return i&&i.labels&&(ne||H.refresh()||ne)+i.labels[tt]/i.duration()*ht||0},H.getTrailing=function(tt){var bt=Sn.indexOf(H),Tt=H.direction>0?Sn.slice(0,bt).reverse():Sn.slice(bt+1);return(Ha(tt)?Tt.filter(function(Ut){return Ut.vars.preventOverlaps===tt}):Tt).filter(function(Ut){return H.direction>0?Ut.end<=ne:Ut.start>=Ie})},H.update=function(tt,bt,Tt){if(!(U&&!Tt&&!tt)){var Ut=qs===!0?je:H.scroll(),gi=tt?0:(Ut-ne)/ht,jt=gi<0?0:gi>1?1:gi||0,Cn=H.progress,kn,qt,An,vn,Gi,On,Bn,dr;if(bt&&(At=Ft,Ft=U?Ne():Ut,B&&(Pt=rt,rt=i&&!G?i.totalProgress():jt)),b&&_&&!ms&&!Kx&&Co&&(!jt&&ne<Ut+(Ut-At)/(gs()-k0)*b?jt=1e-4:jt===1&&Ie>Ut+(Ut-At)/(gs()-k0)*b&&(jt=.9999)),jt!==Cn&&H.enabled){if(kn=H.isActive=!!jt&&jt<1,qt=!!Cn&&Cn<1,On=kn!==qt,Gi=On||!!jt!=!!Cn,H.direction=jt>Cn?1:-1,H.progress=jt,Gi&&!ms&&(An=jt&&!Cn?0:jt===1?1:Cn===1?2:3,G&&(vn=!On&&W[An+1]!=="none"&&W[An+1]||W[An],dr=i&&(vn==="complete"||vn==="reset"||vn in i))),P&&(On||dr)&&(dr||g||!i)&&(_s(P)?P(H):H.getTrailing(P).forEach(function(_e){return _e.endAnimation()})),G||(se&&!ms&&!Kx?(se._dp._time-se._start!==se._time&&se.render(se._dp._time-se._start),se.resetTo?se.resetTo("totalProgress",jt,i._tTime/i._tDur):(se.vars.totalProgress=jt,se.invalidate().restart())):i&&i.totalProgress(jt,!!(ms&&(he||tt)))),_){if(tt&&S&&(me.style[S+N.os2]=St),!le)Re(Y0(ot+$e*jt));else if(Gi){if(Bn=!tt&&jt>Cn&&Ie+1>Ut&&Ut+1>=ec(X,N),I)if(!tt&&(kn||Bn)){var vi=Jc(_,!0),Y=Ut-ne;IB(_,$n,vi.top+(N===Cr?Y:0)+Tr,vi.left+(N===Cr?0:Y)+Tr)}else IB(_,me);Sm(kn||Bn?J:V),nt&&jt<1&&kn||Re(ot+(jt===1&&!Bn?$e:0))}}B&&!Oe.tween&&!ms&&!Kx&&ct.restart(!0),c&&(On||D&&jt&&(jt<1||!U1))&&Iv(c.targets).forEach(function(_e){return _e.classList[kn||D?"add":"remove"](c.className)}),o&&!G&&!tt&&o(H),Gi&&!ms?(G&&(dr&&(vn==="complete"?i.pause().totalProgress(1):vn==="reset"?i.restart(!0).pause():vn==="restart"?i.restart(!0):i[vn]()),o&&o(H)),(On||!U1)&&(d&&On&&P1(H,d),k[An]&&P1(H,k[An]),D&&(jt===1?H.kill(!1,1):k[An]=0),On||(An=jt===1?1:3,k[An]&&P1(H,k[An]))),z&&!kn&&Math.abs(H.getVelocity())>(j0(z)?z:2500)&&(L0(H.callbackAnimation),se?se.progress(1):L0(i,vn==="reverse"?1:!jt,1))):G&&o&&!ms&&o(H)}if(Mt){var ce=U?Ut/U.duration()*(U._caScrollDist||0):Ut;Ye(ce+(ie._isFlipped?1:0)),Mt(ce)}_t&&_t(-Ut/U.duration()*(U._caScrollDist||0))}},H.enable=function(tt,bt){H.enabled||(H.enabled=!0,Fr(X,"resize",q0),te||Fr(X,"scroll",im),re&&Fr(r,"refreshInit",re),tt!==!1&&(H.progress=xe=0,Ft=At=Te=Ne()),bt!==!1&&H.refresh())},H.getTween=function(tt){return tt&&Oe?Oe.tween:se},H.setPositions=function(tt,bt,Tt,Ut){if(U){var gi=U.scrollTrigger,jt=U.duration(),Cn=gi.end-gi.start;tt=gi.start+Cn*tt/jt,bt=gi.start+Cn*bt/jt}H.refresh(!1,!1,{start:CB(tt,Tt&&!!H._startClamp),end:CB(bt,Tt&&!!H._endClamp)},Ut),H.update()},H.adjustPinSpacing=function(tt){if(lt&&tt){var bt=lt.indexOf(N.d)+1;lt[bt]=parseFloat(lt[bt])+tt+Tr,lt[1]=parseFloat(lt[1])+tt+Tr,Sm(lt)}},H.disable=function(tt,bt){if(H.enabled&&(tt!==!1&&H.revert(!0,!0),H.enabled=H.isActive=!1,bt||se&&se.pause(),je=0,We&&(We.uncache=1),re&&zr(r,"refreshInit",re),ct&&(ct.pause(),Oe.tween&&Oe.tween.kill()&&(Oe.tween=0)),!te)){for(var Tt=Sn.length;Tt--;)if(Sn[Tt].scroller===X&&Sn[Tt]!==H)return;zr(X,"resize",q0),te||zr(X,"scroll",im)}},H.kill=function(tt,bt){H.disable(tt,bt),se&&!bt&&se.kill(),f&&delete IE[f];var Tt=Sn.indexOf(H);Tt>=0&&Sn.splice(Tt,1),Tt===js&&yS>0&&js--,Tt=0,Sn.forEach(function(Ut){return Ut.scroller===H.scroller&&(Tt=1)}),Tt||qs||(H.scroll.rec=0),i&&(i.scrollTrigger=null,tt&&i.revert({kill:!1}),bt||i.kill()),Le&&[Le,Ge,ie,Ze].forEach(function(Ut){return Ut.parentNode&&Ut.parentNode.removeChild(Ut)}),mv===H&&(mv=0),_&&(We&&(We.uncache=1),Tt=0,Sn.forEach(function(Ut){return Ut.pin===_&&Tt++}),Tt||(We.spacer=0)),n.onKill&&n.onKill(H)},Sn.push(H),H.enable(!1,!1),Nt&&Nt(H),i&&i.add&&!ht){var Vt=H.update;H.update=function(){H.update=Vt,Tn.cache++,ne||Ie||H.refresh()},Ct.delayedCall(.01,H.update),ht=.01,ne=Ie=0}else H.refresh();_&&UX()},r.register=function(n){return rm||(Ct=n||rL(),iL()&&window.document&&r.enable(),rm=X0),rm},r.defaults=function(n){if(n)for(var i in n)eS[i]=n[i];return eS},r.disable=function(n,i){X0=0,Sn.forEach(function(o){return o[i?"kill":"disable"](n)}),zr(En,"wheel",im),zr(_i,"scroll",im),clearInterval(Jx),zr(_i,"touchcancel",Kl),zr($n,"touchstart",Kl),Zx(zr,_i,"pointerdown,touchstart,mousedown",wB),Zx(zr,_i,"pointerup,touchend,mouseup",RB),bA.kill(),Qx(zr);for(var s=0;s<Tn.length;s+=3)$x(zr,Tn[s],Tn[s+1]),$x(zr,Tn[s],Tn[s+2])},r.enable=function(){if(En=window,_i=document,Fa=_i.documentElement,$n=_i.body,Ct&&(Iv=Ct.utils.toArray,uv=Ct.utils.clamp,LE=Ct.core.context||Kl,L1=Ct.core.suppressOverwrites||Kl,mC=En.history.scrollRestoration||"auto",PE=En.pageYOffset||0,Ct.core.globals("ScrollTrigger",r),$n)){X0=1,xm=document.createElement("div"),xm.style.height="100vh",xm.style.position="absolute",dL(),wX(),zi.register(Ct),r.isTouch=zi.isTouch,uf=zi.isTouch&&/(iPad|iPhone|iPod|Mac)/g.test(navigator.userAgent),NE=zi.isTouch===1,Fr(En,"wheel",im),pC=[En,_i,Fa,$n],Ct.matchMedia?(r.matchMedia=function(d){var m=Ct.matchMedia(),g;for(g in d)m.add(g,d[g]);return m},Ct.addEventListener("matchMediaInit",function(){return SC()}),Ct.addEventListener("matchMediaRevert",function(){return fL()}),Ct.addEventListener("matchMedia",function(){rd(0,1),Ed("matchMedia")}),Ct.matchMedia().add("(orientation: portrait)",function(){return H1(),H1})):console.warn("Requires GSAP 3.11.0 or later"),H1(),Fr(_i,"scroll",im);var n=$n.hasAttribute("style"),i=$n.style,s=i.borderTopStyle,o=Ct.core.Animation.prototype,c,f;for(o.revert||Object.defineProperty(o,"revert",{value:function(){return this.time(-.01,!0)}}),i.borderTopStyle="solid",c=Jc($n),Cr.m=Math.round(c.top+Cr.sc())||0,Qs.m=Math.round(c.left+Qs.sc())||0,s?i.borderTopStyle=s:i.removeProperty("border-top-style"),n||($n.setAttribute("style",""),$n.removeAttribute("style")),Jx=setInterval(OB,250),Ct.delayedCall(.5,function(){return Kx=0}),Fr(_i,"touchcancel",Kl),Fr($n,"touchstart",Kl),Zx(Fr,_i,"pointerdown,touchstart,mousedown",wB),Zx(Fr,_i,"pointerup,touchend,mouseup",RB),OE=Ct.utils.checkPrefix("transform"),_S.push(OE),rm=gs(),bA=Ct.delayedCall(.2,rd).pause(),sm=[_i,"visibilitychange",function(){var d=En.innerWidth,m=En.innerHeight;_i.hidden?(MB=d,EB=m):(MB!==d||EB!==m)&&q0()},_i,"DOMContentLoaded",rd,En,"load",rd,En,"resize",q0],Qx(Fr),Sn.forEach(function(d){return d.enable(0,1)}),f=0;f<Tn.length;f+=3)$x(zr,Tn[f],Tn[f+1]),$x(zr,Tn[f],Tn[f+2])}},r.config=function(n){"limitCallbacks"in n&&(U1=!!n.limitCallbacks);var i=n.syncInterval;i&&clearInterval(Jx)||(Jx=i)&&setInterval(OB,i),"ignoreMobileResize"in n&&(NE=r.isTouch===1&&n.ignoreMobileResize),"autoRefreshEvents"in n&&(Qx(zr)||Qx(Fr,n.autoRefreshEvents||"none"),eL=(n.autoRefreshEvents+"").indexOf("resize")===-1)},r.scrollerProxy=function(n,i){var s=ma(n),o=Tn.indexOf(s),c=bd(s);~o&&Tn.splice(o,c?6:2),i&&(c?ic.unshift(En,i,$n,i,Fa,i):ic.unshift(s,i))},r.clearMatchMedia=function(n){Sn.forEach(function(i){return i._ctx&&i._ctx.query===n&&i._ctx.kill(!0,!0)})},r.isInViewport=function(n,i,s){var o=(Ha(n)?ma(n):n).getBoundingClientRect(),c=o[s?hd:dd]*i||0;return s?o.right-c>0&&o.left+c<En.innerWidth:o.bottom-c>0&&o.top+c<En.innerHeight},r.positionInViewport=function(n,i,s){Ha(n)&&(n=ma(n));var o=n.getBoundingClientRect(),c=o[s?hd:dd],f=i==null?c/2:i in TA?TA[i]*c:~i.indexOf("%")?parseFloat(i)*c/100:parseFloat(i)||0;return s?(o.left+f)/En.innerWidth:(o.top+f)/En.innerHeight},r.killAll=function(n){if(Sn.slice(0).forEach(function(s){return s.vars.id!=="ScrollSmoother"&&s.kill()}),n!==!0){var i=Md.killAll||[];Md={},i.forEach(function(s){return s()})}},r}();fn.version="3.13.0";fn.saveStyles=function(r){return r?Iv(r).forEach(function(e){if(e&&e.style){var t=Pa.indexOf(e);t>=0&&Pa.splice(t,5),Pa.push(e,e.style.cssText,e.getBBox&&e.getAttribute("transform"),Ct.core.getCache(e),LE())}}):Pa};fn.revert=function(r,e){return SC(!r,e)};fn.create=function(r,e){return new fn(r,e)};fn.refresh=function(r){return r?q0(!0):(rm||fn.register())&&rd(!0)};fn.update=function(r){return++Tn.cache&&nu(r===!0?2:0)};fn.clearScrollMemory=hL;fn.maxScroll=function(r,e){return ec(r,e?Qs:Cr)};fn.getScrollFunc=function(r,e){return Bf(ma(r),e?Qs:Cr)};fn.getById=function(r){return IE[r]};fn.getAll=function(){return Sn.filter(function(r){return r.vars.id!=="ScrollSmoother"})};fn.isScrolling=function(){return!!Co};fn.snapDirectional=xC;fn.addEventListener=function(r,e){var t=Md[r]||(Md[r]=[]);~t.indexOf(e)||t.push(e)};fn.removeEventListener=function(r,e){var t=Md[r],n=t&&t.indexOf(e);n>=0&&t.splice(n,1)};fn.batch=function(r,e){var t=[],n={},i=e.interval||.016,s=e.batchMax||1e9,o=function(d,m){var g=[],y=[],_=Ct.delayedCall(i,function(){m(g,y),g=[],y=[]}).pause();return function(S){g.length||_.restart(!0),g.push(S.trigger),y.push(S),s<=g.length&&_.progress(1)}},c;for(c in e)n[c]=c.substr(0,2)==="on"&&_s(e[c])&&c!=="onRefreshInit"?o(c,e[c]):e[c];return _s(s)&&(s=s(),Fr(fn,"refresh",function(){return s=e.batchMax()})),Iv(r).forEach(function(f){var d={};for(c in n)d[c]=n[c];d.trigger=f,t.push(fn.create(d))}),t};var HB=function(e,t,n,i){return t>i?e(i):t<0&&e(0),n>i?(i-t)/(n-t):n<0?t/(t-n):1},F1=function r(e,t){t===!0?e.style.removeProperty("touch-action"):e.style.touchAction=t===!0?"auto":t?"pan-"+t+(zi.isTouch?" pinch-zoom":""):"none",e===Fa&&r($n,t)},rS={auto:1,scroll:1},FX=function(e){var t=e.event,n=e.target,i=e.axis,s=(t.changedTouches?t.changedTouches[0]:t).target,o=s._gsap||Ct.core.getCache(s),c=gs(),f;if(!o._isScrollT||c-o._isScrollT>2e3){for(;s&&s!==$n&&(s.scrollHeight<=s.clientHeight&&s.scrollWidth<=s.clientWidth||!(rS[(f=Ao(s)).overflowY]||rS[f.overflowX]));)s=s.parentNode;o._isScroll=s&&s!==n&&!bd(s)&&(rS[(f=Ao(s)).overflowY]||rS[f.overflowX]),o._isScrollT=c}(o._isScroll||i==="x")&&(t.stopPropagation(),t._gsapAllow=!0)},mL=function(e,t,n,i){return zi.create({target:e,capture:!0,debounce:!1,lockAxis:!0,type:t,onWheel:i=i&&FX,onPress:i,onDrag:i,onScroll:i,onEnable:function(){return n&&Fr(_i,zi.eventTypes[0],FB,!1,!0)},onDisable:function(){return zr(_i,zi.eventTypes[0],FB,!0)}})},GX=/(input|label|select|textarea)/i,zB,FB=function(e){var t=GX.test(e.target.tagName);(t||zB)&&(e._gsapAllow=!0,zB=t)},VX=function(e){Jh(e)||(e={}),e.preventDefault=e.isNormalizer=e.allowClicks=!0,e.type||(e.type="wheel,touch"),e.debounce=!!e.debounce,e.id=e.id||"normalizer";var t=e,n=t.normalizeScrollX,i=t.momentum,s=t.allowNestedScroll,o=t.onRelease,c,f,d=ma(e.target)||Fa,m=Ct.core.globals().ScrollSmoother,g=m&&m.get(),y=uf&&(e.content&&ma(e.content)||g&&e.content!==!1&&!g.smooth()&&g.content()),_=Bf(d,Cr),S=Bf(d,Qs),M=1,b=(zi.isTouch&&En.visualViewport?En.visualViewport.scale*En.visualViewport.width:En.outerWidth)/En.innerWidth,A=0,w=_s(i)?function(){return i(c)}:function(){return i||2.8},D,B,I=mL(d,e.type,!0,s),O=function(){return B=!1},U=Kl,z=Kl,P=function(){f=ec(d,Cr),z=uv(uf?1:0,f),n&&(U=uv(0,ec(d,Qs))),D=pd},N=function(){y._gsap.y=Y0(parseFloat(y._gsap.y)+_.offset)+"px",y.style.transform="matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, "+parseFloat(y._gsap.y)+", 0, 1)",_.offset=_.cac
3987heID=0},G=function(){if(B){requestAnimationFrame(O);var ee=Y0(c.deltaY/2),pe=z(_.v-ee);if(y&&pe!==_.v+_.offset){_.offset=pe-_.v;var H=Y0((parseFloat(y&&y._gsap.y)||0)-_.offset);y.style.transform="matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, "+H+", 0, 1)",y._gsap.y=H+"px",_.cacheID=Tn.cache,nu()}return!0}_.offset&&N(),B=!0},X,Q,te,le,k=function(){P(),X.isActive()&&X.vars.scrollY>f&&(_()>f?X.progress(1)&&_(f):X.resetTo("scrollY",f))};return y&&Ct.set(y,{y:"+=0"}),e.ignoreCheck=function(W){return uf&&W.type==="touchmove"&&G()||M>1.05&&W.type!=="touchstart"||c.isGesturing||W.touches&&W.touches.length>1},e.onPress=function(){B=!1;var W=M;M=Y0((En.visualViewport&&En.visualViewport.scale||1)/b),X.pause(),W!==M&&F1(d,M>1.01?!0:n?!1:"x"),Q=S(),te=_(),P(),D=pd},e.onRelease=e.onGestureStart=function(W,ee){if(_.offset&&N(),!ee)le.restart(!0);else{Tn.cache++;var pe=w(),H,re;n&&(H=S(),re=H+pe*.05*-W.velocityX/.227,pe*=HB(S,H,re,ec(d,Qs)),X.vars.scrollX=U(re)),H=_(),re=H+pe*.05*-W.velocityY/.227,pe*=HB(_,H,re,ec(d,Cr)),X.vars.scrollY=z(re),X.invalidate().duration(pe).play(.01),(uf&&X.vars.scrollY>=f||H>=f-1)&&Ct.to({},{onUpdate:k,duration:pe})}o&&o(W)},e.onWheel=function(){X._ts&&X.pause(),gs()-A>1e3&&(D=0,A=gs())},e.onChange=function(W,ee,pe,H,re){if(pd!==D&&P(),ee&&n&&S(U(H[2]===ee?Q+(W.startX-W.x):S()+ee-H[1])),pe){_.offset&&N();var ye=re[2]===pe,Ae=ye?te+W.startY-W.y:_()+pe-re[1],Te=z(Ae);ye&&Ae!==Te&&(te+=Te-Ae),_(Te)}(pe||ee)&&nu()},e.onEnable=function(){F1(d,n?!1:"x"),fn.addEventListener("refresh",k),Fr(En,"resize",k),_.smooth&&(_.target.style.scrollBehavior="auto",_.smooth=S.smooth=!1),I.enable()},e.onDisable=function(){F1(d,!0),zr(En,"resize",k),fn.removeEventListener("refresh",k),I.kill()},e.lockAxis=e.lockAxis!==!1,c=new zi(e),c.iOS=uf,uf&&!_()&&_(1),uf&&Ct.ticker.add(Kl),le=c._dc,X=Ct.to(c,{ease:"power4",paused:!0,inherit:!1,scrollX:n?"+=0.1":"+=0",scrollY:"+=0.1",modifiers:{scrollY:pL(_,_(),function(){return X.pause()})},onUpdate:nu,onComplete:le.vars.onComplete}),c};fn.sort=function(r){if(_s(r))return Sn.sort(r);var e=En.pageYOffset||0;return fn.getAll().forEach(function(t){return t._sortY=t.trigger?e+t.trigger.getBoundingClientRect().top:t.start+En.innerHeight}),Sn.sort(r||function(t,n){return(t.vars.refreshPriority||0)*-1e6+(t.vars.containerAnimation?1e6:t._sortY)-((n.vars.containerAnimation?1e6:n._sortY)+(n.vars.refreshPriority||0)*-1e6)})};fn.observe=function(r){return new zi(r)};fn.normalizeScroll=function(r){if(typeof r>"u")return Ys;if(r===!0&&Ys)return Ys.enable();if(r===!1){Ys&&Ys.kill(),Ys=r;return}var e=r instanceof zi?r:VX(r);return Ys&&Ys.target===e.target&&Ys.kill(),bd(e.target)&&(Ys=e),e};fn.core={_getVelocityProp:DE,_inputObserver:mL,_scrollers:Tn,_proxies:ic,bridge:{ss:function(){Co||Ed("scrollStart"),Co=gs()},ref:function(){return ms}}};rL()&&Ct.registerPlugin(fn);it.registerPlugin(fn);const AC=({text:r,className:e})=>{const t=$.useRef(null),n=$.useRef([]),i=r.split(`
3988`).filter(f=>f.trim()!==""),s=[];let o=[];i.forEach((f,d)=>{const m=f.trim();m.startsWith("* ")?o.push(m.substring(2)):(o.length>0&&(s.push({type:"bulletList",items:[...o]}),o=[]),s.push({type:"paragraph",text:m}))}),o.length>0&&s.push({type:"bulletList",items:[...o]}),ir(()=>{n.current.length>0&&it.from(n.current,{y:100,opacity:0,duration:1,stagger:.3,ease:"back.out",scrollTrigger:{trigger:t.current}})});let c=0;return K.jsx("div",{ref:t,className:e,children:s.map((f,d)=>{if(f.type==="paragraph"){const m=c++;return K.jsx("p",{ref:g=>n.current[m]=g,className:"block leading-relaxed tracking-wide text-pretty mb-4",children:f.text},d)}else if(f.type==="bulletList"){const m=c++;return K.jsx("ul",{ref:g=>n.current[m]=g,className:"list-disc list-inside space-y-2 mb-4 leading-relaxed tracking-wide",children:f.items.map((g,y)=>K.jsx("li",{className:"text-pretty",children:g},y))},d)}return null})})},fc=({subTitle:r,title:e,text:t,textColor:n,withScrollTrigger:i=!1})=>{const s=$.useRef(null),o=$.useRef(null),f=e.includes(" ")?e.split(" "):[e];return ir(()=>{const d=it.timeline({scrollTrigger:i?{trigger:s.current}:void 0});d.from(s.current,{y:"50vh",duration:1,ease:"circ.out"}),d.from(o.current,{opacity:0,y:"200",duration:1,ease:"circ.out"},"<+0.2")},[]),K.jsxs("div",{ref:s,children:[K.jsx("div",{style:{clipPath:"pol
3988ygon(0 0, 100% 0, 100% 100%, 0 100%)"},children:K.jsxs("div",{ref:o,className:"flex flex-col justify-center gap-12 pt-24 sm:gap-20",children:[K.jsx("p",{className:`text-sm font-light tracking-[0.5rem] uppercase px-10 ${n}`,children:r}),K.jsx("div",{className:"px-10",children:K.jsx("h1",{className:`flex flex-col gap-12 uppercase banner-text-responsive sm:gap-16 md:block ${n}`,children:f.map((d,m)=>K.jsxs("span",{children:[d," "]},m))})})]})}),K.jsxs("div",{className:`relative px-10 ${n}`,children:[K.jsx("div",{className:"absolute inset-x-0 border-t-2"}),K.jsx("div",{className:"py-12 sm:py-16 text-end",children:K.jsx(AC,{text:t,className:`font-light uppercase value-text-responsive ${n}`})})]})]})};function kX(r){const{nodes:e,materials:t}=$v("/models/test2.glb");return K.jsx("group",{...r,dispose:null,children:K.jsxs("group",{rotation:[-Math.PI/2,0,0],children:[K.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.Object_2.geometry,material:t.Material}),K.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.Object_3.geometry,material:t.Material}),K.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.Object_4.geometry,material:t.Material}),K.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.Object_5.geometry,material:t.Material}),K.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.Object_6.geometry,material:t.Material})]})})}$v.preload("/models/test2.glb");const XX=()=>{const r=bX({maxWidth:853});return K.jsxs("section",{id:"home",className:"flex flex-col justify-end min-h-screen",children:[K.jsx(fc,{subTitle:"Avi Burra",title:"Casa nostra",text:`CASANOSTRA CREATIONS
3989FORGING A PERMANENT CULTURE
3990`,textColor:"text-black"}),K.jsx("figure",{className:"absolute inset-0 -z-50",style:{width:"100vw",height:"100vh"},children:K.jsxs(u9,{shadows:!0,camera:{position:[0,0,10],fov:17.5,near:1,far:20},children:[K.jsx("ambientLight",{intensity:1}),K.jsx("directionalLight",{position:[0,10,5],intensity:1,color:"#ffffff"}),K.jsx(n6,{speed:1,children:K.jsx($.Suspense,{fallback:null,children:K.jsx(kX,{scale:r?.4:.5,position:[-.5,0,0],rotation:[0,.4,0]})})})]})})]})};it.registerPlugin(fn);const YX=()=>(ir(()=>{it.to("#title-service-1",{xPercent:20,scrollTrigger:{target:"#title-service-1",scrub:!0}}),it.to("#title-service-2",{xPercent:-30,scrollTrigger:{target:"#title-service-2",scrub:!0}}),it.to("#title-service-3",{xPercent:100,scrollTrigger:{target:"#title-service-3",scrub:!0}}),it.to("#title-service-4",{xPercent:-100,scrollTrigger:{target:"#title-service-4",scrub:!0}})}),K.jsxs("section",{className:"mt-20 overflow-hidden font-light leading-snug text-center mb-42 contact-text-responsive",children:[K.jsxs("div",{id:"title-service-2",className:"flex items-center justify-center gap-3 translate-x-16",children:[K.jsx("p",{className:"font-normal",children:"NOVELIST"}),K.jsx("div",{className:"w-10 h-1 md:w-32 bg-gold"}),K.jsx("p",{className:"italic",children:"FILMMAKER "}),K.jsx("div",{className:"w-10 h-1 md:w-32 bg-gold"}),K.jsx("p",{children:"ARCHITECT"})]}),K.jsxs("div",{id:"title-service-3",className:"flex items-center justify-center gap-3 -translate-x-48",children:[K.jsx("p",{children:"BITCOIN"}),K.jsx("div",{className:"w-10 h-1 md:w-32 bg-gold"}),K.jsx("p",{className:"italic",children:"NOSTR"}),K.jsx("div",{className:"w-10 h-1 md:w-32 bg-gold"}),K.jsx("p",{children:"THE HUMAN STORY"})]}),K.jsxs("div",{id:"title-service-4",className:"flex items-center justify-center gap-3 translate-x-48",children:[K.jsx("p",{children:"SOVEREIGNTY"}),K.jsx("div",{className:"w-10 h-1 md:w-32 bg-gold"}),K.jsx("p",{className:"italic",children:"TRUTH"}),K.jsx("div",{className:"w-10 h-1 md:w-32 bg-gold"}),K.jsx("p",{children:"BEAUTY"})]})]})),jX=()=>{const r=`The story of the Chronicler 
3991  of the Sovereign Age`,e=`Avi Burra is a novelist, filmmaker, and architect chronicling and building a new world founded on sovereign truth.
3992
3993His journey began in the engine rooms of the old world, with a background in engineering and finance that took him from robotics research to quantitative analysis and, eventually, to the heart of the "blockchain" industry. It was a path that provided a rare, ground-level view of the decay and illusion of the fiat world, culminating in the realization that Bitcoin was the only signal in the noise.
3994
3995This discovery led to a profound spiritual and intellectual transformation. Rejecting the "gilded cage" of corporate life, he dedicated himself to the work of a modern Renaissance Man: creating the cultural artifacts and the foundational tools for the coming age.
3996
3997His work now follows a threefold path:
3998* As the Storyteller, he is the author of the novels 24 and July 18, philosophical epics that explore the mythology of the new world.
3999* As the Explorer, he is the creator of Finding Home, a cinematic series that documents the human search for a sovereign home.
4000* And as the Architect, he is a co-founder of NosFabrica, creating a foundational web-of-trust protocol on Nostr.
4001
4002His guiding principle is that the only true rebellion against a disposable world is to create something that is meant to last.`,t=$.useRef(null);return ir(()=>{it.to("#about",{scale:.95,scrollTrigger:{trigger:"#about",start:"bottom 80%",end:"bottom 20%",scrub:!0,markers:!1},ease:"power1.inOut"}),it.set(t.current,{clipPath:"polygon(0 100%, 100% 100%, 100% 100%, 0% 100%)"}),it.to(t.current,{clipPath:"polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%)",duration:2,ease:"power4.out",scrollTrigger:{trigger:t.current}})}),K.jsxs("section",{id:"about",className:"min-h-screen bg-black rounded-b-4xl",children:[K.jsx(fc,{subTitle:"Avi Burra",title:"About",text:r,textColor:"text-white",withScrollTrigger:!0}),K.jsxs("div",{className:"flex flex-col items-center justify-between gap-16 px-10 pb-16 text-xl font-light tracking-wide lg:flex-row text-white/60",children:[K.jsx("img",{ref:t,src:"images/man.png",alt:"Portrait of Avi Burra, author and podcaster",loading:"lazy",className:"w-md rounded-3xl"}),K.jsx(AC,{text:e,className:"w-full"})]})]})},gL=Object.freeze({left:0,top:0,width:16,height:16}),CA=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),bC=Object.freeze({...gL,...CA}),zE=Object.freeze({...bC,body:"",hidden:!1});function qX(r,e){const t={};!r.hFlip!=!e.hFlip&&(t.hFlip=!0),!r.vFlip!=!e.vFlip&&(t.vFlip=!0);const n=((r.rotate||0)+(e.rotate||0))%4;return n&&(t.rotate=n),t}function GB(r,e){const t=qX(r,e);for(const n in zE)n in CA?n in r&&!(n in t)&&(t[n]=CA[n]):n in e?t[n]=e[n]:n in r&&(t[n]=r[n]);return t}function WX(r,e){const t=r.icons,n=r.aliases||Object.create(null),i=Object.create(null);function s(o){if(t[o])return i[o]=[];if(!(o in i)){i[o]=null;const c=n[o]&&n[o].parent,f=c&&s(c);f&&(i[o]=[c].concat(f))}return i[o]}return Object.keys(t).concat(Object.keys(n)).forEach(s),i}function JX(r,e,t){const n=r.icons,i=r.aliases||Object.create(null);let s={};function o(c){s=GB(n[c]||i[c],s)}return o(e),t.forEach(o),GB(r,s)}function vL(r,e){const t=[];if(typeof r!="object"||typeof r.icons!="object")return t;r.not_found instanceof Array&&r.not_found.forEach(i=>{e(i,null),t.push(i)});const n=WX(r);for(const i in n){const s=n[i];s&&(e(i,JX(r,i,s)),t.push(i))}return t}const KX={provider:"",aliases:{},not_found:{},...gL};function G1(r,e){for(const t in e)if(t in r&&typeof r[t]!=typeof e[t])return!1;return!0}function yL(r){if(typeof r!="object"||r===null)return null;const e=r;if(typeof e.prefix!="string"||!r.icons||typeof r.icons!="object"||!G1(r,KX))return null;const t=e.icons;for(const i in t){const s=t[i];if(!i||typeof s.body!="string"||!G1(s,zE))return null}const n=e.aliases||Object.create(null);for(const i in n){const s=n[i],o=s.parent;if(!i||typeof o!="string"||!t[o]&&!n[o]||!G1(s,zE))return null}return e}const _L=/^[a-z0-9]+(-[a-z0-9]+)*$/,vb=(r,e,t,n="")=>{const i=r.split(":");if(r.slice(0,1)==="@"){if(i.length<2||i.length>3)return null;n=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){const c=i.pop(),f=i.pop(),d={provider:i.length>0?i[0]:n,prefix:f,name:c};return e&&!SS(d)?null:d}const s=i[0],o=s.split("-");if(o.length>1){const c={provider:n,prefix:o.shift(),name:o.join("-")};return e&&!SS(c)?null:c}if(t&&n===""){const c={provider:n,prefix:"",name:s};return e&&!SS(c,t)?null:c}return null},SS=(r,e)=>r?!!((e&&r.prefix===""||r.prefix)&&r.name):!1,VB=Object.create(null);function QX(r,e){return{provider:r,prefix:e,icons:Object.create(null),missing:new Set}}function km(r,e){const t=VB[r]||(VB[r]=Object.create(null));return t[e]||(t[e]=QX(r,e))}function xL(r,e){return yL(e)?vL(e,(t,n)=>{n?r.icons[t]=n:r.missing.add(t)}):[]}
4002function ZX(r,e,t){try{if(typeof t.body=="string")return r.icons[e]={...t},!0}catch{}return!1}let Hv=!1;function SL(r){return typeof r=="boolean"&&(Hv=r),Hv}function kB(r){const e=typeof r=="string"?vb(r,!0,Hv):r;if(e){const t=km(e.provider,e.prefix),n=e.name;return t.icons[n]||(t.missing.has(n)?null:void 0)}}function $X(r,e){const t=vb(r,!0,Hv);if(!t)return!1;const n=km(t.provider,t.prefix);return e?ZX(n,t.name,e):(n.missing.add(t.name),!0)}function e7(r,e){if(typeof r!="object")return!1;if(typeof e!="string"&&(e=r.provider||""),Hv&&!e&&!r.prefix){let i=!1;return yL(r)&&(r.prefix="",vL(r,(s,o)=>{$X(s,o)&&(i=!0)})),i}const t=r.prefix;if(!SS({prefix:t,name:"a"}))return!1;const n=km(e,t);return!!xL(n,r)}const AL=Object.freeze({width:null,height:null}),bL=Object.freeze({...AL,...CA}),t7=/(-?[0-9.]*[0-9]+[0-9.]*)/g,n7=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function XB(r,e,t){if(e===1)return r;if(t=t||100,typeof r=="number")return Math.ceil(r*e*t)/t;if(typeof r!="string")return r;const n=r.split(t7);if(n===null||!n.length)return r;const i=[];let s=n.shift(),o=n7.test(s);for(;;){if(o){const c=parseFloat(s);isNaN(c)?i.push(s):i.push(Math.ceil(c*e*t)/t)}else i.push(s);if(s=n.shift(),s===void 0)return i.join("");o=!o}}function i7(r,e="defs"){let t="";const n=r.indexOf("<"+e);for(;n>=0;){const i=r.indexOf(">",n),s=r.indexOf("</"+e);if(i===-1||s===-1)break;const o=r.indexOf(">",s);if(o===-1)break;t+=r.slice(i+1,s).trim(),r=r.slice(0,n).trim()+r.slice(o+1)}return{defs:t,content:r}}function r7(r,e){return r?"<defs>"+r+"</defs>"+e:e}function s7(r,e,t){const n=i7(r);return r7(n.defs,e+n.content+t)}const a7=r=>r==="unset"||r==="undefined"||r==="none";function o7(r,e){const t={...bC,...r},n={...bL,...e},i={left:t.left,top:t.top,width:t.width,height:t.height};let s=t.body;[t,n].forEach(M=>{const b=[],A=M.hFlip,w=M.vFlip;let D=M.rotate;A?w?D+=2:(b.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),b.push("scale(-1 1)"),i.top=i.left=0):w&&(b.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),b.push("scale(1 -1)"),i.top=i.left=0);let B;switch(D<0&&(D-=Math.floor(D/4)*4),D=D%4,D){case 1:B=i.height/2+i.top,b.unshift("rotate(90 "+B.toString()+" "+B.toString()+")");break;case 2:b.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:B=i.width/2+i.left,b.unshift("rotate(-90 "+B.toString()+" "+B.toString()+")");break}D%2===1&&(i.left!==i.top&&(B=i.left,i.left=i.top,i.top=B),i.width!==i.height&&(B=i.width,i.width=i.height,i.height=B)),b.length&&(s=s7(s,'<g transform="'+b.join(" ")+'">',"</g>"))});const o=n.width,c=n.height,f=i.width,d=i.height;let m,g;o===null?(g=c===null?"1em":c==="auto"?d:c,m=XB(g,f/d)):(m=o==="auto"?f:o,g=c===null?XB(m,d/f):c==="auto"?d:c);const y={},_=(M,b)=>{a7(b)||(y[M]=b.toString())};_("width",m),_("height",g);const S=[i.left,i.top,f,d];return y.viewBox=S.join(" "),{attributes:y,viewBox:S,body:s}}const l7=/\sid="(\S+)"/g,c7="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let u7=0;function f7(r,e=c7){const t=[];let n;for(;n=l7.exec(r);)t.push(n[1]);if(!t.length)return r;const i="suffix"+(Math.random()*16777216|Date.now()).toString(16);return t.forEach(s=>{const o=typeof e=="function"?e(s):e+(u7++).toString(),c=s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");r=r.replace(new RegExp('([#;"])('+c+')([")]|\\.[a-z])',"g"),"$1"+o+i+"$3")}),r=r.replace(new RegExp(i,"g"),""),r}const FE=Object.create(null);function h7(r,e){FE[r]=e}function GE(r){return FE[r]||FE[""]}function MC(r){let e;if(typeof r.resources=="string")e=[r.resources];else if(e=r.resources,!(e instanceof Array)||!e.length)return null;return{resources:e,path:r.path||"/",maxURL:r.maxURL||500,rotate:r.rotate||750,timeout:r.timeout||5e3,random:r.random===!0,index:r.index||0,dataAfterTimeout:r.dataAfterTimeout!==!1}}const EC=Object.create(null),U0=["https://api.simplesvg.com","https://api.unisvg.com"],AS=[];for(;U0.length>0;)U0.length===1||Math.random()>.5?AS.push(U0.shift()):AS.push(U0.pop());EC[""]=MC({resources:["https://api.iconify.design"].concat(AS)});function d7(r,e){const t=MC(e);return t===null?!1:(EC[r]=t,!0)}function TC(r){return EC[r]}const p7=()=>{let r;try{if(r=fetch,typeof r=="function")return r}catch{}};let YB=p7();function m7(r,e){const t=TC(r);if(!t)return 0;let n;if(!t.maxURL)n=0;else{let i=0;
4002t.resources.forEach(o=>{i=Math.max(i,o.length)});const s=e+".json?icons=";n=t.maxURL-i-t.path.length-s.length}return n}function g7(r){return r===404}const v7=(r,e,t)=>{const n=[],i=m7(r,e),s="icons";let o={type:s,provider:r,prefix:e,icons:[]},c=0;return t.forEach((f,d)=>{c+=f.length+1,c>=i&&d>0&&(n.push(o),o={type:s,provider:r,prefix:e,icons:[]},c=f.length),o.icons.push(f)}),n.push(o),n};function y7(r){if(typeof r=="string"){const e=TC(r);if(e)return e.path}return"/"}const _7=(r,e,t)=>{if(!YB){t("abort",424);return}let n=y7(e.provider);switch(e.type){case"icons":{const s=e.prefix,c=e.icons.join(","),f=new URLSearchParams({icons:c});n+=s+".json?"+f.toString();break}case"custom":{const s=e.uri;n+=s.slice(0,1)==="/"?s.slice(1):s;break}default:t("abort",400);return}let i=503;YB(r+n).then(s=>{const o=s.status;if(o!==200){setTimeout(()=>{t(g7(o)?"abort":"next",o)});return}return i=501,s.json()}).then(s=>{if(typeof s!="object"||s===null){setTimeout(()=>{s===404?t("abort",s):t("next",i)});return}setTimeout(()=>{t("success",s)})}).catch(()=>{t("next",i)})},x7={prepare:v7,send:_7};function S7(r){const e={loaded:[],missing:[],pending:[]},t=Object.create(null);r.sort((i,s)=>i.provider!==s.provider?i.provider.localeCompare(s.provider):i.prefix!==s.prefix?i.prefix.localeCompare(s.prefix):i.name.localeCompare(s.name));let n={provider:"",prefix:"",name:""};return r.forEach(i=>{if(n.name===i.name&&n.prefix===i.prefix&&n.provider===i.provider)return;n=i;const s=i.provider,o=i.prefix,c=i.name,f=t[s]||(t[s]=Object.create(null)),d=f[o]||(f[o]=km(s,o));let m;c in d.icons?m=e.loaded:o===""||d.missing.has(c)?m=e.missing:m=e.pending;const g={provider:s,prefix:o,name:c};m.push(g)}),e}function ML(r,e){r.forEach(t=>{const n=t.loaderCallbacks;n&&(t.loaderCallbacks=n.filter(i=>i.id!==e))})}function A7(r){r.pendingCallbacksFlag||(r.pendingCallbacksFlag=!0,setTimeout(()=>{r.pendingCallbacksFlag=!1;const e=r.loaderCallbacks?r.loaderCallbacks.slice(0):[];if(!e.length)return;let t=!1;const n=r.provider,i=r.prefix;e.forEach(s=>{const o=s.icons,c=o.pending.length;o.pending=o.pending.filter(f=>{if(f.prefix!==i)return!0;const d=f.name;if(r.icons[d])o.loaded.push({provider:n,prefix:i,name:d});else if(r.missing.has(d))o.missing.push({provider:n,prefix:i,name:d});else return t=!0,!0;return!1}),o.pending.length!==c&&(t||ML([r],s.id),s.callback(o.loaded.slice(0),o.missing.slice(0),o.pending.slice(0),s.abort))})}))}let b7=0;function M7(r,e,t){const n=b7++,i=ML.bind(null,t,n);if(!e.pending.length)return i;const s={id:n,icons:e,callback:r,abort:i};return t.forEach(o=>{(o.loaderCallbacks||(o.loaderCallbacks=[])).push(s)}),i}function E7(r,e=!0,t=!1){const n=[];return r.forEach(i=>{const s=typeof i=="string"?vb(i,e,t):i;s&&n.push(s)}),n}var T7={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function C7(r,e,t,n){const i=r.resources.length,s=r.random?Math.floor(Math.random()*i):r.index;let o;if(r.random){let O=r.resources.slice(0);for(o=[];O.length>1;){const U=Math.floor(Math.random()*O.length);o.push(O[U]),O=O.slice(0,U).concat(O.slice(U+1))}o=o.concat(O)}else o=r.resources.slice(s).concat(r.resources.slice(0,s));const c=Date.now();let f="pending",d=0,m,g=null,y=[],_=[];typeof n=="function"&&_.push(n);function S(){g&&(clearTimeout(g),g=null)}function M(){f==="pending"&&(f="aborted"),S(),y.forEach(O=>{O.status==="pending"&&(O.status="aborted")}),y=[]}function b(O,U){U&&(_=[]),typeof O=="function"&&_.push(O)}function A(){return{startTime:c,payload:e,status:f,queriesSent:d,queriesPending:y.length,subscribe:b,abort:M}}function w(){f="failed",_.forEach(O=>{O(void 0,m)})}function D(){y.forEach(O=>{O.status==="pending"&&(O.status="aborted")}),y=[]}function B(O,U,z){const P=U!=="success";switch(y=y.filter(N=>N!==O),f){case"pending":break;case"failed":if(P||!r.dataAfterTimeout)return;break;default:return}if(U==="abort"){m=z,w();return}if(P){m=z,y.length||(o.length?I():w());return}if(S(),D(),!r.random){const N=r.resources.indexOf(O.resource);N!==-1&&N!==r.index&&(r.index=N)}f="completed",_.forEach(N=>{N(z)})}function I(){if(f!=="pending")return;S();const O=o.shift();if(O===void 0){if(y.length){g=setTimeout(()=>{S(),f==="pending"&&(D(),w())},r.timeout);return}w();return}const U={status:"pending",resource:O,callback:(z,P)=>{B(U,z,P)}};y.push(U),d++,g=setTimeout(I,r.rotate),t(O,e,U.callback)}return setTimeout(I),A}function EL(r){const e={...T7,...r};let t=[];function n(){t=t.filter(c=>c().status==="pending")}function i(c,f,d){const m=C7(e,c,f,(g,y)=>{n(),d&&d(g,y)});return t.push(m),m}function s(c){return t.find(f=>c(f))||null}return{query:i,find:s,setIndex:c=>{e.index=c},getIndex:()=>e.index,cleanup:n}}function jB(){}const V1=Object.create(null);function w7(r){if(!V1[r]){const e=TC(r);if(!e)return;const t=EL(e),n={config:e,redundancy:t};V1[r]=n}return V1[r]}function R7(r,e,t){let n,i;if(typeof r=="string"){const s=GE(r);if(!s)return t(void 0,424),jB;i=s.send;const o=w7(r);o&&(n=o.redundancy)}else{const s=MC(r);if(s){n=EL(s);const o=r.resources?r.resources[0]:"",c=GE(o);c&&(i=c.send)}}return!n||!i?(t(void 0,424),jB):n.query(e,i,t)().abort}function qB(){}function B7(r){r.iconsLoaderFlag||(r.iconsLoaderFlag=!0,setTimeout(()=>{r.iconsLoaderFlag=!1,A7(r)}))}function D7(r){const e=[],t=[];return r.forEach(n=>{(n.match(_L)?e:t).push(n)}),{valid:e,invalid:t}}function I0(r,e,t){function n(){const i=r.pendingIcons;e.forEach(s=>{i&&i.delete(s),r.icons[s]||r.missing.add(s)})}if(t&&typeof t=="object")try{if(!xL(r,t).length){n();return}}catch(i){console.error(i)}n(),B7(r)}function WB(r,e){r instanceof Promise?r.then(t=>{e(t)}).catch(()=>{e(null)}):e(r)}function O7(r,e){r.iconsToLoad?r.iconsToLoad=r.iconsToLoad.concat(e).sort():r.iconsToLoad=e,r.iconsQueueFlag||(r.iconsQueueFlag=!0,setTimeout(()=>{r.iconsQueueFlag=!1;const{provider:t,prefix:n}=r,i=r.iconsToLoad;if(delete r.iconsToLoad,!i||!i.length)return;const s=r.loadIcon;if(r.loadIcons&&(i.length>1||!s)){WB(r.loadIcons(i,n,t),m=>{I0(r,i,m)});return}
4002if(s){i.forEach(m=>{const g=s(m,n,t);WB(g,y=>{const _=y?{prefix:n,icons:{[m]:y}}:null;I0(r,[m],_)})});return}const{valid:o,invalid:c}=D7(i);if(c.length&&I0(r,c,null),!o.length)return;const f=n.match(_L)?GE(t):null;if(!f){I0(r,o,null);return}f.prepare(t,n,o).forEach(m=>{R7(t,m,g=>{I0(r,m.icons,g)})})}))}const N7=(r,e)=>{const t=E7(r,!0,SL()),n=S7(t);if(!n.pending.length){let f=!0;return e&&setTimeout(()=>{f&&e(n.loaded,n.missing,n.pending,qB)}),()=>{f=!1}}const i=Object.create(null),s=[];let o,c;return n.pending.forEach(f=>{const{provider:d,prefix:m}=f;if(m===c&&d===o)return;o=d,c=m,s.push(km(d,m));const g=i[d]||(i[d]=Object.create(null));g[m]||(g[m]=[])}),n.pending.forEach(f=>{const{provider:d,prefix:m,name:g}=f,y=km(d,m),_=y.pendingIcons||(y.pendingIcons=new Set);_.has(g)||(_.add(g),i[d][m].push(g))}),s.forEach(f=>{const d=i[f.provider][f.prefix];d.length&&O7(f,d)}),e?M7(e,n,s):qB};function L7(r,e){const t={...r};for(const n in e){const i=e[n],s=typeof i;n in AL?(i===null||i&&(s==="string"||s==="number"))&&(t[n]=i):s===typeof t[n]&&(t[n]=n==="rotate"?i%4:i)}return t}const U7=/[\s,]+/;function I7(r,e){e.split(U7).forEach(t=>{switch(t.trim()){case"horizontal":r.hFlip=!0;break;case"vertical":r.vFlip=!0;break}})}function P7(r,e=0){const t=r.replace(/^-?[0-9.]*/,"");function n(i){for(;i<0;)i+=4;return i%4}if(t===""){const i=parseInt(r);return isNaN(i)?0:n(i)}else if(t!==r){let i=0;switch(t){case"%":i=25;break;case"deg":i=90}if(i){let s=parseFloat(r.slice(0,r.length-t.length));return isNaN(s)?0:(s=s/i,s%1===0?n(s):0)}}return e}function H7(r,e){let t=r.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const n in e)t+=" "+n+'="'+e[n]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+t+">"+r+"</svg>"}function z7(r){return r.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")}function F7(r){return"data:image/svg+xml,"+z7(r)}function G7(r){return'url("'+F7(r)+'")'}let gv;function V7(){try{gv=window.trustedTypes.createPolicy("iconify",{createHTML:r=>r})}catch{gv=null}}function k7(r){return gv===void 0&&V7(),gv?gv.createHTML(r):r}const TL={...bL,inline:!1},X7={xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},Y7={display:"inline-block"},VE={backgroundColor:"currentColor"},CL={backgroundColor:"transparent"},JB={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},KB={WebkitMask:VE,mask:VE,background:CL};for(const r in KB){const e=KB[r];for(const t in JB)e[r+t]=JB[t]}const j7={...TL,inline:!0};function QB(r){return r+(r.match(/^[-0-9.]+$/)?"px":"")}const q7=(r,e,t)=>{const n=e.inline?j7:TL,i=L7(n,e),s=e.mode||"svg",o={},c=e.style||{},f={...s==="svg"?X7:{}};if(t){const b=vb(t,!1,!0);if(b){const A=["iconify"],w=["provider","prefix"];for(const D of w)b[D]&&A.push("iconify--"+b[D]);f.className=A.join(" ")}}for(let b in e){const A=e[b];if(A!==void 0)switch(b){case"icon":case"style":case"children":case"onLoad":case"mode":case"ssr":break;case"_ref":f.ref=A;break;case"className":f[b]=(f[b]?f[b]+" ":"")+A;break;case"inline":case"hFlip":case"vFlip":i[b]=A===!0||A==="true"||A===1;break;case"flip":typeof A=="string"&&I7(i,A);break;case"color":o.color=A;break;case"rotate":typeof A=="string"?i[b]=P7(A):typeof A=="number"&&(i[b]=A);break;case"ariaHidden":case"aria-hidden":A!==!0&&A!=="true"&&delete f["aria-hidden"];break;default:n[b]===void 0&&(f[b]=A)}}const d=o7(r,i),m=d.attributes;if(i.inline&&(o.verticalAlign="-0.125em"),s==="svg"){f.style={...o,...c},Object.assign(f,m);let b=0,A=e.id;return typeof A=="string"&&(A=A.replace(/-/g,"_")),f.dangerouslySetInnerHTML={__html:k7(f7(d.body,A?()=>A+"ID"+b++:"iconifyReact"))},$.createElement("svg",f)}const{body:g,width:y,height:_}=r,S=s==="mask"||(s==="bg"?!1:g.indexOf("currentColor")!==-1),M=H7(g,{...m,width:y+"",height:_+""});return f.style={...o,"--svg":G7(M),width:QB(m.width),height:QB(m.height),...Y7,...S?VE:CL,...c},$.createElement("span",f)};SL(!0);h7("",x7);if(typeof document<"u"&&typeof window<"u"){const r=window;if(r.IconifyPreload!==void 0){const e=r.IconifyPreload,t="Invalid IconifyPreload syntax.";
4002typeof e=="object"&&e!==null&&(e instanceof Array?e:[e]).forEach(n=>{try{(typeof n!="object"||n===null||n instanceof Array||typeof n.icons!="object"||typeof n.prefix!="string"||!e7(n))&&console.error(t)}catch{console.error(t)}})}if(r.IconifyProviders!==void 0){const e=r.IconifyProviders;if(typeof e=="object"&&e!==null)for(let t in e){const n="IconifyProviders["+t+"] is invalid.";try{const i=e[t];if(typeof i!="object"||!i||i.resources===void 0)continue;d7(t,i)||console.error(n)}catch{console.error(n)}}}}function wL(r){const[e,t]=$.useState(!!r.ssr),[n,i]=$.useState({});function s(_){if(_){const S=r.icon;if(typeof S=="object")return{name:"",data:S};const M=kB(S);if(M)return{name:S,data:M}}return{name:""}}const[o,c]=$.useState(s(!!r.ssr));function f(){const _=n.callback;_&&(_(),i({}))}function d(_){if(JSON.stringify(o)!==JSON.stringify(_))return f(),c(_),!0}function m(){var _;const S=r.icon;if(typeof S=="object"){d({name:"",data:S});return}const M=kB(S);if(d({name:S,data:M}))if(M===void 0){const b=N7([S],m);i({callback:b})}else M&&((_=r.onLoad)===null||_===void 0||_.call(r,S))}$.useEffect(()=>(t(!0),f),[]),$.useEffect(()=>{e&&m()},[r.icon,e]);const{name:g,data:y}=o;return y?q7({...bC,...y},r,g):r.children?r.children:r.fallback?r.fallback:$.createElement("span",{})}const ns=$.forwardRef((r,e)=>wL({...r,_ref:e}));$.forwardRef((r,e)=>wL({inline:!0,...r,_ref:e}));const W7=()=>{const r=$.useRef([]),e=$.useRef(null),[t,n]=$.useState(null),i=`
4003The central works forged in this house. The novel, the film series, 
4004and the essays that form the foundation of a permanent culture.`,s=$.useRef({x:0,y:0}),o=$.useRef(null),c=$.useRef(null);ir(()=>{o.current=it.quickTo(e.current,"x",{duration:1.5,ease:"power3.out"}),c.current=it.quickTo(e.current,"y",{duration:2,ease:"power3.out"}),it.from("#project",{y:100,opacity:0,delay:.5,duration:1,stagger:.3,ease:"back.out",scrollTrigger:{trigger:"#project"}})},[]);const f=g=>{if(window.innerWidth<768)return;n(g);const y=r.current[g];y&&(it.killTweensOf(y),it.fromTo(y,{clipPath:"polygon(0 100%, 100% 100%, 100% 100%, 0 100%)"},{clipPath:"polygon(0 0, 100% 0, 100% 100%, 0% 100%)",duration:.15,ease:"power2.out"}),it.to(e.current,{opacity:1,scale:1,duration:.3,ease:"power2.out"}))},d=g=>{if(window.innerWidth<768)return;n(null);const y=r.current[g];y&&(it.killTweensOf(y),it.to(y,{clipPath:"polygon(0 100%, 100% 100%, 100% 100%, 0 100%)",duration:.2,ease:"power2.in"}),it.to(e.current,{opacity:0,scale:.95,duration:.3,ease:"power2.out"}))},m=g=>{window.innerWidth<768||(s.current.x=g.clientX+24,s.current.y=g.clientY+24,o.current(s.current.x),c.current(s.current.y))};return K.jsxs("section",{id:"work",className:"flex flex-col min-h-screen",children:[K.jsx(fc,{title:"The Bottega",text:i,textColor:"text-black",withScrollTrigger:!0}),K.jsxs("div",{className:"relative flex flex-col font-light",onMouseMove:m,children:[I2.map((g,y)=>{const _=g.name==="24"||g.name==="Finding Home";return K.jsxs("a",{id:"project",href:g.href,..._&&{target:"_blank",rel:"noopener noreferrer"},className:"relative flex flex-col gap-1 py-5 cursor-pointer group md:gap-0",onMouseEnter:()=>f(y),onMouseLeave:()=>d(y),children:[K.jsx("div",{ref:S=>{r.current[y]=S},className:"absolute inset-0 hidden md:block duration-200 bg-black -z-10 clip-path"}),K.jsxs("div",{className:"flex justify-between px-10 text-black transition-all duration-500 md:group-hover:px-12 md:group-hover:text-white",children:[K.jsx("h2",{className:"lg:text-[32px] text-[26px] leading-none",children:g.name}),K.jsx(ns,{icon:"lucide:arrow-up-right",className:"md:size-6 size-5"})]}),K.jsx("div",{className:"w-full h-0.5 bg-black/80"}),K.jsx("div",{className:"flex px-10 text-xs leading-loose uppercase transition-all duration-500 md:text-sm gap-x-5 md:group-hover:px-12",children:g.frameworks.map(S=>K.jsx("p",{className:"text-black transition-colors duration-500 md:group-hover:text-white",children:S.name},S.id))}),K.jsxs("div",{className:"relative flex items-center justify-center px-10 md:hidden h-[400px]",children:[K.jsx("img",{src:g.bgImage,alt:`${g.name}-bg-image`,className:"object-cover w-full h-full rounded-md brightness-50"}),K.jsx("img",{src:g.image,alt:`${g.name}
4004-image`,className:"absolute bg-center px-14 rounded-xl"})]})]},g.id)}),K.jsx("div",{ref:e,className:"fixed -top-2/6 left-0 z-50 overflow-hidden border-8 border-black pointer-events-none w-[960px] md:block hidden opacity-0 max-w-2xs",children:t!==null&&K.jsx("img",{src:I2[t].image,alt:"preview",className:"object-cover w-full h-full max-w-2xs"})})]})]})};it.registerPlugin(zi);const kE=({items:r,className:e="text-white bg-black",icon:t="mdi:star-four-points",iconClassName:n="",reverse:i=!1})=>{const s=$.useRef(null),o=$.useRef([]);function c(f,d){f=it.utils.toArray(f),d=d||{};let m=it.timeline({repeat:d.repeat,paused:d.paused,defaults:{ease:"none"},onReverseComplete:()=>m.totalTime(m.rawTime()+m.duration()*100)}),g=f.length,y=f[0].offsetLeft,_=[],S=[],M=[],b=0,A=(d.speed||1)*100,w=d.snap===!1?N=>N:it.utils.snap(d.snap||1),D,B,I,O,U,z;for(it.set(f,{xPercent:(N,G)=>{let X=S[N]=parseFloat(it.getProperty(G,"width","px"));return M[N]=w(parseFloat(it.getProperty(G,"x","px"))/X*100+it.getProperty(G,"xPercent")),M[N]}}),it.set(f,{x:0}),D=f[g-1].offsetLeft+M[g-1]/100*S[g-1]-y+f[g-1].offsetWidth*it.getProperty(f[g-1],"scaleX")+(parseFloat(d.paddingRight)||0),z=0;z<g;z++)U=f[z],B=M[z]/100*S[z],I=U.offsetLeft+B-y,O=I+S[z]*it.getProperty(U,"scaleX"),m.to(U,{xPercent:w((B-O)/S[z]*100),duration:O/A},0).fromTo(U,{xPercent:w((B-O+D)/S[z]*100)},{xPercent:M[z],duration:(B-O+D-B)/A,immediateRender:!1},O/A).add("label"+z,I/A),_[z]=I/A;function P(N,G){G=G||{},Math.abs(N-b)>g/2&&(N+=N>b?-g:g);let X=it.utils.wrap(0,g,N),Q=_[X];return Q>m.time()!=N>b&&(G.modifiers={time:it.utils.wrap(0,m.duration())},Q+=m.duration()*(N>b?1:-1)),b=X,G.overwrite=!0,m.tweenTo(Q,G)}return m.next=N=>P(b+1,N),m.previous=N=>P(b-1,N),m.current=()=>b,m.toIndex=(N,G)=>P(N,G),m.times=_,m.progress(1,!0).progress(0,!0),d.reversed&&(m.vars.onReverseComplete(),m.reverse()),m}return $.useEffect(()=>{const f=c(o.current,{repeat:-1,paddingRight:30,reversed:i});return zi.create({onChangeY(d){let m=2.5;(!i&&d.deltaY<0||i&&d.deltaY>0)&&(m*=-1),it.timeline({defaults:{ease:"none"}}).to(f,{timeScale:m*2.5,duration:.2,overwrite:!0}).to(f,{timeScale:m/2.5,duration:1},"+=0.3")}}),()=>f.kill()},[r,i]),K.jsx("div",{ref:s,className:`overflow-hidden w-full h-20 md:h-[100px] flex items-center marquee-text-responsive font-light uppercase whitespace-nowrap ${e}`,children:K.jsx("div",{className:"flex",children:r.map((f,d)=>K.jsxs("span",{ref:m=>o.current[d]=m,className:"flex items-center px-16 gap-x-32",children:[f," ",K.jsx(ns,{icon:t,className:n})]},d))})})},J7=()=>{const r=$.useRef(null),e=["SOVEREIGNTY","TRUTH","PERMANENCE","BEAUTY"],t=["contact me","contact me","contact me","contact me","contact me"];return ir(()=>{it.to(r.current,{scrollTrigger:{trigger:r.current,start:"center center",end:"+=800 center",scrub:.5,pin:!0,pinSpacing:!0,markers:!1}})},[]),K.jsxs("section",{ref:r,className:"flex flex-col items-center justify-between min-h-screen gap-12 mt-16",children:[K.jsx(kE,{items:e}),K.jsx("div",{className:" font-light text-center contact-text-responsive",children:K.jsxs("p",{children:["“ The only true rebellion against a ",K.jsx("br",{}),K.jsxs("span",{className:"font-normal",children:["disposable world is to create something",K.jsx("br",{})]})," ",K.jsx("span",{className:"text-gold",children:"that is meant to last."})," “"]})}),K.jsx(kE,{items:t,reverse:!0,className:"text-black bg-transparent border-y-2",iconClassName:"stroke-gold stroke-2 text-primary",icon:"material-symbols-light:square"})]})},K7=()=>{const r=`For commissions, strategic alliances, and 
4005  resonant ideas, the door to the Bottega is open. 
4006  Correspondence may be directed below.`,e=["SOVEREIGNTY","TRUTH","PERMANENCE","BEAUTY"];return ir(()=>{it.from(".social-link",{y:100,opacity:0,delay:.5,duration:1,stagger:.3,ease:"back.out",scrollTrigger:{trigger:".social-link"}})},[]),K.jsxs("section",{id:"contact",className:"flex flex-col justify-between min-h-screen bg-black",children:[K.jsxs("div",{children:[K.jsx(fc,{subTitle:"Get in touch",title:"An Invitation",text:r,textColor:"text-white",withScrollTrigger:!0}),K.jsx("div",{className:"flex px-10 font-light text-white uppercase lg:text-[32px] text-[26px] leading-none mb-10",children:K.jsxs("div",{className:"flex flex-col w-full gap-10",children:[K.jsxs("div",{className:"social-link",children:[K.jsx("h2",{children:"E-mail"}),K.jsx("div",{className:"w-full h-px my-2 bg-white/30"}),K.jsx("p",{className:"text-xl tracking-wider lowercase md:text-2xl lg:text-3xl",children:"[email protected]"})]}),K.jsxs("div",{className:"social-link",children:[K.jsx("h2",{children:"Social Media"}),K.jsx("div",{className:"w-full h-px my-2 bg-white/30"}),K.jsx("div",{className:"flex flex-wrap gap-2",children:zN.map((t,n)=>K.jsxs("a",{href:t.href,className:"text-xs leading-loose tracking-wides uppercase md:text-sm hover:text-white/80 transition-colors duration-200",children:["{ ",t.name," }"]},n))})]})]})})]}),K.jsx(kE,{items:e,className:"text-white bg-transparent"})]})},Q7=()=>K.jsxs(K.Fragment,{children:[K.jsx(XX,{}),K.jsx(YX,{}),K.jsx(jX,{}),K.jsx(W7,{}),K.jsx(J7,{}),K.jsx(K7,{})]});it.registerPlugin(ir,fn);const Z7=()=>{const[r,e]=$.useState([]),[t,n]=$.useState(!0),[i,s]=$.useState(null),o="https://corsproxy.io/?https://media.rss.com/the-acceleration/feed.xml",c=Uf(),f=$.useRef([]),d=$.useRef(null),[m,g]=$.useState(null),y=`A library of episodes crafted for an immersive experience,
4007      combining audio, art, and technology.`,_=$.useRef({x:0,y:0}),S=$.useRef(null),M=$.useRef(null);$.useEffect(()=>{(async()=>{n(!0),s(null);try{const B=await fetch(o);if(!B.ok)throw new Error(`HTTP error! status: ${B.status}`);const I=await B.text(),z=new DOMParser().parseFromString(I,"text/xml").querySelectorAll("item"),P=Array.from(z).map(N=>{const X=N.getElementsByTagNameNS("http://www.itunes.com/dtds/podcast-1.0.dtd","image")[0]?.getAttribute("href"),Q=N.querySelector("pubDate")?.textContent,te=N.querySelector("description")?.textContent,k=N.querySelector("enclosure")?.getAttribute("url"),W=Ae=>{if(!Ae)return"";const Te=/<strong>Chapters<\/strong>[\s\S]*/i,he=Ae.match(Te);return he?Ae.substring(0,he.index).trim():Ae},ee=Ae=>Ae?Ae.replace(/<a\s+[^>]*>.*?<\/a>/gi,""):"",pe=(Ae,Te)=>Ae?Ae.length<=Te?Ae:Ae.substring(0,Te).trim()+"...":"",H=W(te),re=ee(H),ye=pe(re,300);return{title:N.querySelector("title")?.textContent,description:ye,pubDate:Q?new Date(Q).toLocaleDateString():"Date not available",audioFile:k,coverArt:X}});e(P)}catch(B){console.error("Failed to fetch or parse RSS feed:",B),s("Failed to load podcasts. Please try again later.")}finally{n(!1)}})()},[]),ir(()=>{S.current=it.quickTo(d.current,"x",{duration:1.5,ease:"power3.out"}),M.current=it.quickTo(d.current,"y",{duration:2,ease:"power3.out"}),r.length>0&&it.fromTo("#podcast-item",{y:100,opacity:0}
4007,{y:0,opacity:1,delay:.5,duration:1,stagger:.3,ease:"back.out"})},[r]);const b=D=>{if(window.innerWidth<768)return;g(D);const B=f.current[D];B&&(it.killTweensOf(B),it.fromTo(B,{clipPath:"polygon(0 100%, 100% 100%, 100% 100%, 0 100%)"},{clipPath:"polygon(0 0, 100% 0, 100% 100%, 0% 100%)",duration:.15,ease:"power2.out"}),it.to(d.current,{opacity:1,scale:1,duration:.3,ease:"power2.out"}))},A=D=>{if(window.innerWidth<768)return;g(null);const B=f.current[D];B&&(it.killTweensOf(B),it.to(B,{clipPath:"polygon(0 100%, 100% 100%, 100% 100%, 0 100%)",duration:.2,ease:"power2.in"}),it.to(d.current,{opacity:0,scale:.95,duration:.3,ease:"power2.out"}))},w=D=>{window.innerWidth<768||(_.current.x=D.clientX+24,_.current.y=D.clientY+24,S.current(_.current.x),M.current(_.current.y))};return K.jsxs("section",{id:"work",className:"flex flex-col min-h-screen",children:[K.jsx("button",{onClick:()=>c(-1),"aria-label":"Go back to previous page",className:"fixed top-8 left-8 p-4 text-black text-xs font-bold uppercase z-50 rounded-full hover:bg-black/10 transition-all duration-300",children:K.jsx(ns,{icon:"lucide:arrow-left",className:"size-8"})}),K.jsx(fc,{subTitle:"Explore Episodes",title:"The Podcast",text:y,textColor:"text-black",withScrollTrigger:!0}),K.jsxs("div",{className:"relative flex flex-col font-light",onMouseMove:w,children:[t?K.jsx("p",{className:"p-4 text-center text-gray-500",children:"Loading podcasts..."}):i?K.jsx("p",{className:"p-4 text-center text-red-500",children:i}):r.length>0?r.map((D,B)=>K.jsxs("a",{href:D.audioFile,target:"_blank",rel:"noopener noreferrer",id:"podcast-item",className:"relative flex flex-col gap-1 py-5 cursor-pointer group md:gap-0",onMouseEnter:()=>b(B),onMouseLeave:()=>A(B),children:[K.jsx("div",{ref:I=>{f.current[B]=I},className:"absolute inset-0 hidden md:block duration-200 bg-black -z-10 clip-path"}),K.jsxs("div",{className:"flex justify-between px-10 text-black transition-all duration-500 md:group-hover:px-12 md:group-hover:text-white",children:[K.jsx("h2",{className:"lg:text-[32px] text-[26px] leading-none",children:D.title}),K.jsx(ns,{icon:"lucide:arrow-up-right",className:"md:size-6 size-5"})]}),K.jsx("div",{className:"w-full h-0.5 bg-black/80"}),K.jsx("div",{className:"flex px-10 text-xs leading-loose uppercase transition-all duration-500 md:text-sm gap-x-5 md:group-hover:px-12",children:K.jsxs("p",{className:"text-black transition-colors duration-500 md:group-hover:text-white",children:["Published: ",D.pubDate]})}),K.jsxs("div",{className:"relative flex items-center justify-center px-10 md:hidden h-[400px]",children:[D.coverArt&&K.jsx("img",{src:D.coverArt,alt:`${D.title} cover`,loading:"lazy",className:"object-cover w-full h-full rounded-md brightness-50"}),K.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:K.jsx(ns,{icon:"ic:sharp-play-circle",className:"text-white w-20 h-20"})})]})]},B)):!t&&K.jsx("p",{className:"p-4 text-center text-gray-500",children:"No podcasts found."}),K.jsx("div",{ref:d,className:"fixed -top-2/6 left-0 z-50 overflow-hidden border-8 border-black pointer-events-none w-[960px] md:block hidden opacity-0 max-w-2xs",children:m!==null&&K.jsx("img",{src:r[m]?.coverArt,alt:"preview",className:"object-cover w-full h-full "})})]})]})};it.registerPlugin(ir,fn);const $7=()=>{const[r,e]=$.useState([]),[t,n]=$.useState(10),[i,s]=$.useState(!0),[o,c]=$.useState(null),f="https://corsproxy.io/?https://feeds.fountain.fm/xRzQd3loNa0ItnvWXcOz",d=Uf(),m=$.useRef([]),g=$.useRef(null),[y,_]=$.useState(null),S="A weekly live audio show made for plebs, by plebs, focusing on the intersection of the Nostr protocol and Bitcoin. We break down the news with an assortment of builders, thinkers, and plebs from around the world.",M=$.useRef({x:0,y:0}),b=$.useRef(null),A=$.useRef(null);$.useEffect(()=>{(async()=>{s(!0),c(null);try{const U=await fetch(f);if(!U.ok)throw new Error(`HTTP error! status: ${U.status}`);const z=await U.text(),N=new DOMParser().parseFromString(z,"text/xml"),G=N.querySelectorAll("item"),Q=N.querySelector("channel").getElementsByTagNameNS("http://www.itunes.com/dtds/podcast-1.0.dtd","image")[0]?.getAttribute("href"),te=Array.from(G).map(le=>{const W=le.getElementsByTagNameNS("http://www.itunes.com/dtds/podcast-1.0.dtd","image")[0]?.getAttribute("href")||Q,ee=le.querySelector("pubDate")?.textContent,pe=le.querySelector("description")?.textContent,re=le.querySelector("enclosure")?.getAttribute("url"),ye=Oe=>{if(!Oe)return"";const We=/<strong>Chapters<\/strong>[\s\S]*/i,gt=Oe.match(We);return gt?Oe.substring(0,gt.index).trim():Oe},Ae=Oe=>Oe?Oe.replace(/<a\s+[^>]*>.*?<\/a>/gi,""):"",Te=(Oe,We)=>Oe?Oe.length<=We?Oe:Oe.substring(0,We).trim()+"...":"",he=ye(pe),xe=Ae(he),Ne=Te(xe,300);return{title:le.querySelector("title")?.textContent,description:Ne,pubDate:ee?new Date(ee).toLocaleDateString():"Date not available",audioFile:re,coverArt:W}});e(te)}catch(U){console.error("Failed to fetch or parse RSS feed:",U),c("Failed to load podcasts. Please try again later.")}finally{s(!1)}})()},[f]),ir(()=>{b.current=it.quickTo(g.current,"x",{duration:1.5,ease:"power3.out"}),A.current=it.quickTo(g.current,"y",{duration:2,ease:"power3.out"}),r.length>0&&it.fromTo("#podcast-item",{y:100,opacity:0}
4007,{y:0,opacity:1,delay:.5,duration:1,stagger:.3,ease:"back.out"})},[r]);const w=()=>{n(O=>O+10)},D=O=>{if(window.innerWidth<768)return;_(O);const U=m.current[O];U&&(it.killTweensOf(U),it.fromTo(U,{clipPath:"polygon(0 100%, 100% 100%, 100% 100%, 0 100%)"},{clipPath:"polygon(0 0, 100% 0, 100% 100%, 0% 100%)",duration:.15,ease:"power2.out"}),it.to(g.current,{opacity:1,scale:1,duration:.3,ease:"power2.out"}))},B=O=>{if(window.innerWidth<768)return;_(null);const U=m.current[O];U&&(it.killTweensOf(U),it.to(U,{clipPath:"polygon(0 100%, 100% 100%, 100% 100%, 0 100%)",duration:.2,ease:"power2.in"}),it.to(g.current,{opacity:0,scale:.95,duration:.3,ease:"power2.out"}))},I=O=>{window.innerWidth<768||(M.current.x=O.clientX+24,M.current.y=O.clientY+24,b.current(M.current.x),A.current(M.current.y))};return K.jsxs("section",{id:"work",className:"flex flex-col min-h-screen",children:[K.jsx("button",{onClick:()=>d(-1),"aria-label":"Go back to previous page",className:"fixed top-8 left-8 p-4 text-black text-xs font-bold uppercase z-50 rounded-full hover:bg-black/10 transition-all duration-300",children:K.jsx(ns,{icon:"lucide:arrow-left",className:"size-8"})}),K.jsx(fc,{subTitle:"A Weekly Audio Show",title:"Plebchain Radio",text:S,textColor:"text-black",withScrollTrigger:!0}),K.jsxs("div",{className:"relative flex flex-col font-light",onMouseMove:I,children:[i?K.jsx("p",{className:"p-4 text-center text-gray-500",children:"Loading podcasts..."}):o?K.jsx("p",{className:"p-4 text-center text-red-500",children:o}):r.length>0?K.jsxs(K.Fragment,{children:[r.slice(0,t).map((O,U)=>K.jsxs("a",{href:O.audioFile,target:"_blank",rel:"noopener noreferrer",id:"podcast-item",className:"relative flex flex-col gap-1 py-5 cursor-pointer group md:gap-0",onMouseEnter:()=>D(U),onMouseLeave:()=>B(U),children:[K.jsx("div",{ref:z=>{m.current[U]=z},className:"absolute inset-0 hidden md:block duration-200 bg-black -z-10 clip-path"}),K.jsxs("div",{className:"flex justify-between px-10 text-black transition-all duration-500 md:group-hover:px-12 md:group-hover:text-white",children:[K.jsx("h2",{className:"lg:text-[32px] text-[26px] leading-none",children:O.title}),K.jsx(ns,{icon:"lucide:arrow-up-right",className:"md:size-6 size-5"})]}),K.jsx("div",{className:"w-full h-0.5 bg-black/80"}),K.jsx("div",{className:"flex px-10 text-xs leading-loose uppercase transition-all duration-500 md:text-sm gap-x-5 md:group-hover:px-12",children:K.jsxs("p",{className:"text-black transition-colors duration-500 md:group-hover:text-white",children:["Published: ",O.pubDate]})}),K.jsxs("div",{className:"relative flex items-center justify-center px-10 md:hidden h-[400px]",children:[O.coverArt&&K.jsx("img",{src:O.coverArt,alt:`${O.title} cover`,loading:"lazy",className:"object-cover w-full h-full rounded-md brightness-50"}),K.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:K.jsx(ns,{icon:"ic:sharp-play-circle",className:"text-white w-20 h-20"})})]})]},U)),t<r.length&&K.jsx("div",{className:"flex justify-center my-8",children:K.jsx("button",{onClick:w,className:"px-6 py-3 font-bold text-white bg-black rounded-full hover:bg-gray-800 transition-colors duration-300",children:"Load More"})})]}):!i&&K.jsx("p",{className:"p-4 text-center text-gray-500",children:"No podcasts found."}),K.jsx("div",{ref:g,className:"fixed -top-2/6 left-0 z-50 overflow-hidden border-8 border-black pointer-events-none w-[960px] md:block hidden opacity-0 max-w-2xs",children:y!==null&&K.jsx("img",{src:r[y]?.coverArt,alt:"preview",className:"object-cover w-full h-full "})})]})]})};it.registerPlugin(ir,fn);const eY=()=>{const[r,e]=$.useState([]),[t,n]=$.useState(10),[i,s]=$.useState(!0),[o,c]=$.useState(null),f="https://corsproxy.io/?https://media.rss.com/rendezvous-with-claude-and-friends/feed.xml",d=Uf(),m=$.useRef([]),g=$.useRef(null),[y,_]=$.useState(null),S=`A meeting of minds, a collection of stories. Join us as we sit down
4008    with remarkable people and explore the moments that define them.`,M=$.useRef({x:0,y:0}),b=$.useRef(null),A=$.useRef(null);$.useEffect(()=>{(async()=>{s(!0),c(null);try{const U=await fetch(f);if(!U.ok)throw new Error(`HTTP error! status: ${U.status}`);const z=await U.text(),G=new DOMParser().parseFromString(z,"text/xml").querySelectorAll("item"),X=Array.from(G).map(Q=>{const le=Q.getElementsByTagNameNS("http://www.itunes.com/dtds/podcast-1.0.dtd","image")[0]?.getAttribute("href"),k=Q.querySelector("pubDate")?.textContent,W=Q.querySelector("description")?.textContent,pe=Q.querySelector("enclosure")?.getAttribute("url"),H=xe=>{if(!xe)return"";const Ne=/<strong>Chapters<\/strong>[\s\S]*/i,Oe=xe.match(Ne);return Oe?xe.substring(0,Oe.index).trim():xe},re=xe=>xe?xe.replace(/<a\s+[^>]*>.*?<\/a>/gi,""):"",ye=(xe,Ne)=>xe?xe.length<=Ne?xe:xe.substring(0,Ne).trim()+"...":"",Ae=H(W),Te=re(Ae),he=ye(Te,300);return{title:Q.querySelector("title")?.textContent,description:he,pubDate:k?new Date(k).toLocaleDateString():"Date not available",audioFile:pe,coverArt:le}});e(X)}catch(U){console.error("Failed to fetch or parse RSS feed:",U),c("Failed to load podcasts. Please try again later.")}finally{s(!1)}})()},[]),ir(()=>{b.current=it.quickTo(g.current,"x",{duration:1.5,ease:"power3.out"}),A.current=it.quickTo(g.current,"y",{duration:2,ease:"power3.out"}),r.length>0&&it.fromTo("#podcast-item",{y:100,opacity:0}
4008,{y:0,opacity:1,delay:.5,duration:1,stagger:.3,ease:"back.out"})},[r]);const w=()=>{n(O=>O+10)},D=O=>{if(window.innerWidth<768)return;_(O);const U=m.current[O];U&&(it.killTweensOf(U),it.fromTo(U,{clipPath:"polygon(0 100%, 100% 100%, 100% 100%, 0 100%)"},{clipPath:"polygon(0 0, 100% 0, 100% 100%, 0% 100%)",duration:.15,ease:"power2.out"}),it.to(g.current,{opacity:1,scale:1,duration:.3,ease:"power2.out"}))},B=O=>{if(window.innerWidth<768)return;_(null);const U=m.current[O];U&&(it.killTweensOf(U),it.to(U,{clipPath:"polygon(0 100%, 100% 100%, 100% 100%, 0 100%)",duration:.2,ease:"power2.in"}),it.to(g.current,{opacity:0,scale:.95,duration:.3,ease:"power2.out"}))},I=O=>{window.innerWidth<768||(M.current.x=O.clientX+24,M.current.y=O.clientY+24,b.current(M.current.x),A.current(M.current.y))};return K.jsxs("section",{id:"work",className:"flex flex-col min-h-screen",children:[K.jsx("button",{onClick:()=>d(-1),"aria-label":"Go back to previous page",className:"fixed top-8 left-8 p-4 text-black text-xs font-bold uppercase z-50 rounded-full hover:bg-black/10 transition-all duration-300",children:K.jsx(ns,{icon:"lucide:arrow-left",className:"size-8"})}),K.jsx(fc,{subTitle:"A Journey into the Unknown",title:"The Rendezvous",text:S,textColor:"text-black",withScrollTrigger:!0}),K.jsxs("div",{className:"relative flex flex-col font-light",onMouseMove:I,children:[i?K.jsx("p",{className:"p-4 text-center text-gray-500",children:"Loading podcasts..."}):o?K.jsx("p",{className:"p-4 text-center text-red-500",children:o}):r.length>0?K.jsxs(K.Fragment,{children:[r.slice(0,t).map((O,U)=>K.jsxs("a",{href:O.audioFile,target:"_blank",rel:"noopener noreferrer",id:"podcast-item",className:"relative flex flex-col gap-1 py-5 cursor-pointer group md:gap-0",onMouseEnter:()=>D(U),onMouseLeave:()=>B(U),children:[K.jsx("div",{ref:z=>{m.current[U]=z},className:"absolute inset-0 hidden md:block duration-200 bg-black -z-10 clip-path"}),K.jsxs("div",{className:"flex justify-between px-10 text-black transition-all duration-500 md:group-hover:px-12 md:group-hover:text-white",children:[K.jsx("h2",{className:"lg:text-[32px] text-[26px] leading-none",children:O.title}),K.jsx(ns,{icon:"lucide:arrow-up-right",className:"md:size-6 size-5"})]}),K.jsx("div",{className:"w-full h-0.5 bg-black/80"}),K.jsx("div",{className:"flex px-10 text-xs leading-loose uppercase transition-all duration-500 md:text-sm gap-x-5 md:group-hover:px-12",children:K.jsxs("p",{className:"text-black transition-colors duration-500 md:group-hover:text-white",children:["Published: ",O.pubDate]})}),K.jsxs("div",{className:"relative flex items-center justify-center px-10 md:hidden h-[400px]",children:[O.coverArt&&K.jsx("img",{src:O.coverArt,alt:`${O.title} cover`,loading:"lazy",className:"object-cover w-full h-full rounded-md brightness-50"}),K.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:K.jsx(ns,{icon:"ic:sharp-play-circle",className:"text-white w-20 h-20"})})]})]},U)),t<r.length&&K.jsx("div",{className:"flex justify-center my-8",children:K.jsx("button",{onClick:w,className:"px-6 py-3 font-bold text-white bg-black rounded-full hover:bg-gray-800 transition-colors duration-300",children:"Load More"})})]}):!i&&K.jsx("p",{className:"p-4 text-center text-gray-500",children:"No podcasts found."}),K.jsx("div",{ref:g,className:"fixed -top-2/6 left-0 z-50 overflow-hidden border-8 border-black pointer-events-none w-[960px] md:block hidden opacity-0 max-w-2xs",children:y!==null&&K.jsx("img",{src:r[y]?.coverArt,alt:"preview",className:"object-cover w-full h-full "})})]})]})};it.registerPlugin(ir,fn);const tY=()=>{const r=Uf(),e=$.useRef([]),t=$.useRef(null),[n,i]=$.useState(null),s="A collection of thoughts and articles on creativity, technology, and the future of design.",o=$.useRef({x:0,y:0}),c=$.useRef(null),f=$.useRef(null),d=P2.slice().reverse();ir(()=>{c.current=it.quickTo(t.current,"x",{duration:1.5,ease:"power3.out"}),f.current=it.quickTo(t.current,"y",{duration:2,ease:"power3.out"}),it.fromTo("#writing-item",{y:100,opacity:0},{y:0,opacity:1,delay:.5,duration:1,stagger:.3,ease:"back.out"})},[]);const m=_=>{if(window.innerWidth<768)return;i(_);const S=e.current[_];
4008S&&(it.killTweensOf(S),it.fromTo(S,{clipPath:"polygon(0 100%, 100% 100%, 100% 100%, 0 100%)"},{clipPath:"polygon(0 0, 100% 0, 100% 100%, 0% 100%)",duration:.15,ease:"power2.out"}),it.to(t.current,{opacity:1,scale:1,duration:.3,ease:"power2.out"}))},g=_=>{if(window.innerWidth<768)return;i(null);const S=e.current[_];S&&(it.killTweensOf(S),it.to(S,{clipPath:"polygon(0 100%, 100% 100%, 100% 100%, 0 100%)",duration:.2,ease:"power2.in"}),it.to(t.current,{opacity:0,scale:.95,duration:.3,ease:"power2.out"}))},y=_=>{window.innerWidth<768||(o.current.x=_.clientX+24,o.current.y=_.clientY+24,c.current(o.current.x),f.current(o.current.y))};return K.jsxs("section",{id:"work",className:"flex flex-col min-h-screen",children:[K.jsx("button",{onClick:()=>r(-1),"aria-label":"Go back to previous page",className:"fixed top-8 left-8 p-4 text-black text-xs font-bold uppercase z-50 rounded-full hover:bg-black/10 transition-all duration-300",children:K.jsx(ns,{icon:"lucide:arrow-left",className:"size-8"})}),K.jsx(fc,{subTitle:"Read Articles",title:"Writings",text:s,textColor:"text-black",withScrollTrigger:!0}),K.jsxs("div",{className:"relative flex flex-col font-light",onMouseMove:y,children:[P2.length>0?d.map((_,S)=>K.jsxs("a",{href:_.href,id:"writing-item",target:"_blank",className:"relative flex flex-col gap-1 py-5 cursor-pointer group md:gap-0",onMouseEnter:()=>m(S),onMouseLeave:()=>g(S),children:[K.jsx("div",{ref:M=>{e.current[S]=M},className:"absolute inset-0 hidden duration-200 bg-black -z-10 md:block clip-path"}),K.jsxs("div",{className:"flex justify-between px-10 text-black transition-all duration-500 md:group-hover:px-12 md:group-hover:text-white",children:[K.jsx("h2",{className:"lg:text-[32px] text-[26px] leading-none",children:_.name}),K.jsx(ns,{icon:"lucide:arrow-up-right",className:"md:size-6 size-5"})]}),K.jsx("div",{className:"w-full h-0.5 bg-black/80"}),K.jsx("div",{className:"relative flex items-center justify-center px-10 md:hidden h-[400px]",children:_.image&&K.jsx("img",{src:_.image,alt:`${_.name} cover`,loading:"lazy",className:"object-cover w-full h-full rounded-md brightness-50"})})]},S)):K.jsx("p",{className:"p-4 text-center text-gray-500",children:"No writings found."}),K.jsx("div",{ref:t,className:"fixed -top-2/6 left-0 z-50 overflow-hidden border-8 border-black pointer-events-none w-[960px] md:block hidden opacity-0 max-w-2xs",children:n!==null&&K.jsx("img",{src:d[n]?.image,alt:"preview",className:"object-cover w-full h-full "})})]})]})};it.registerPlugin(ir,fn);const nY=()=>{const r=Uf(),e=$.useRef([]),t=$.useRef(null),[n,i]=$.useState(null),s=`A curated collection of creative works and projects,
4009      showcasing diverse content and explorations.`,o=$.useRef({x:0,y:0}),c=$.useRef(null),f=$.useRef(null);ir(()=>{c.current=it.quickTo(t.current,"x",{duration:1.5,ease:"power3.out"}),f.current=it.quickTo(t.current,"y",{duration:2,ease:"power3.out"}),Bx.length>0&&it.fromTo("#work-item",{y:100,opacity:0},{y:0,opacity:1,delay:.5,duration:1,stagger:.3,ease:"back.out"})},[]);const d=y=>{if(window.innerWidth<768)return;i(y);const _=e.current[y];_&&(it.killTweensOf(_),it.fromTo(_,{clipPath:"polygon(0 100%, 100% 100%, 100% 100%, 0 100%)"},{clipPath:"polygon(0 0, 100% 0, 100% 100%, 0% 100%)",duration:.15,ease:"power2.out"}),it.to(t.current,{opacity:1,scale:1,duration:.3,ease:"power2.out"}))},m=y=>{if(window.innerWidth<768)return;i(null);const _=e.current[y];_&&(it.killTweensOf(_),it.to(_,{clipPath:"polygon(0 100%, 100% 100%, 100% 100%, 0 100%)",duration:.2,ease:"power2.in"}),it.to(t.current,{opacity:0,scale:.95,duration:.3,ease:"power2.out"}))},g=y=>{window.innerWidth<768||(o.current.x=y.clientX+24,o.current.y=y.clientY+24,c.current(o.current.x),f.current(o.current.y))};return K.jsxs("section",{id:"work",className:"flex flex-col min-h-screen",children:[K.jsx("button",{onClick:()=>r(-1),"aria-label":"Go back to previous page",className:"fixed top-8 left-8 p-4 text-black text-xs font-bold uppercase z-50 rounded-full hover:bg-black/10 transition-all duration-300",children:K.jsx(ns,{icon:"lucide:arrow-left",className:"size-8"})}),K.jsx(fc,{subTitle:"Browse Collection",title:"Other Work",text:s,textColor:"text-black",withScrollTrigger:!0}),K.jsxs("div",{className:"relative flex flex-col font-light",onMouseMove:g,children:[Bx.length>0?Bx.map((y,_)=>K.jsxs("a",{href:y.href,target:y.href.startsWith("http")?"_blank":"_self",rel:y.href.startsWith("http")?"noopener noreferrer":"",id:"work-item",className:"relative flex flex-col gap-1 py-5 cursor-pointer group md:gap-0",onMouseEnter:()=>d(_),onMouseLeave:()=>m(_),children:[K.jsx("div",{ref:S=>{e.current[_]=S},className:"absolute inset-0 hidden md:block duration-200 bg-black -z-10 clip-path"}),K.jsxs("div",{className:"flex justify-between px-10 text-black transition-all duration-500 md:group-hover:px-12 md:group-hover:text-white",children:[K.jsx("h2",{className:"lg:text-[32px] text-[26px] leading-none",children:y.name}),K.jsx(ns,{icon:"lucide:arrow-up-right",className:"md:size-6 size-5"})]}),K.jsx("div",{className:"w-full h-0.5 bg-black/80"}),K.jsx("div",{className:"flex px-10 text-xs leading-loose uppercase transition-all duration-500 md:text-sm gap-x-5 md:group-hover:px-12",children:K.jsx("p",{className:"text-black transition-colors duration-500 md:group-hover:text-white",children:y.description})}),K.jsxs("div",{className:"relative flex items-center justify-center px-10 md:hidden h-[400px]",children:[y.image&&K.jsx("img",{src:y.image,alt:`${y.name} cover`,loading:"lazy",className:"object-cover w-full h-full rounded-md brightness-50"}),K.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:K.jsx(ns,{icon:"lucide:arrow-up-right",className:"text-white w-20 h-20"})})]})]},y.id)):K.jsx("p",{className:"p-4 text-center text-gray-500",children:"No works found."}),K.jsx("div",{ref:t,className:"fixed -top-2/6 left-0 z-50 overflow-hidden border-8 border-black pointer-events-none w-[960px] md:block hidden opacity-0 max-w-2xs",children:n!==null&&K.jsx("img",{src:Bx[n]?.image,alt:"preview",className:"object-cover w-full h-full "})})]})]})},iY=()=>{const r=Uf(),e="The highly anticipated sequel to 24, continuing Oliver Battolo's j
4009ourney into mystery and revelation",t="Some secrets are not meant to be found. Oliver Battolo just unlocked a hundred million of them. His father's quest is over, but a new, more dangerous one has just begun. Stalked by relentless enemies and haunted by a seductive entity in his visions, Oliver's inheritance is a curse that is blurring the line between reality and hallucination. The only way forward is to embrace the madness, following a trail of forgotten art to a place where the world is thin and the past is not dead. There, on July 18th, a fated appointment promises either enlightenment... or destruction.",n=$.useRef(null);return ir(()=>{it.to("#july18",{scale:.95,scrollTrigger:{trigger:"#july18",start:"bottom 80%",end:"bottom 20%",scrub:!0,markers:!1},ease:"power1.inOut"}),it.set(n.current,{clipPath:"polygon(0 100%, 100% 100%, 100% 100%, 0% 100%)"}),it.to(n.current,{clipPath:"polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%)",duration:2,ease:"power4.out",scrollTrigger:{trigger:n.current}})}),K.jsxs("section",{id:"july18",className:"min-h-screen bg-black ",children:[K.jsx("button",{onClick:()=>r(-1),"aria-label":"Go back to previous page",className:"fixed top-8 left-8 p-4 text-white text-xs font-bold uppercase z-50 rounded-full hover:bg-white/10 transition-all duration-300",children:K.jsx(ns,{icon:"lucide:arrow-left",className:"size-8"})}),K.jsx(fc,{subTitle:"The Sequel",title:"July 18",text:e,textColor:"text-white",withScrollTrigger:!0}),K.jsxs("div",{className:"flex flex-col items-center justify-between gap-16 px-10 pb-16 text-xl font-light tracking-wide lg:flex-row md:text-2xl lg:text-3xl text-white/60",children:[K.jsx("img",{ref:n,src:"/assets/projects/july.jpg",alt:"July 18 book cover",loading:"lazy",className:"w-md rounded-3xl"}),K.jsx(AC,{text:t,className:"w-full"})]})]})},rY=()=>{const{progress:r}=p9(),[e,t]=$.useState(!1);return $.useEffect(()=>{r===100&&t(!0)},[r]),K.jsxs(LU,{root:!0,className:"relative w-screen min-h-screen overflow-x-hidden",children:[!e&&K.jsxs("div",{className:"fixed inset-0 z-[999] flex flex-col items-center justify-center bg-black text-white transition-opacity duration-700 font-light",children:[K.jsxs("p",{className:"mb-4 text-xl tracking-widest animate-pulse",children:["Loading ",Math.floor(r),"%"]}),K.jsx("div",{className:"relative h-1 overflow-hidden rounded w-60 bg-white/20",children:K.jsx("div",{className:"absolute top-0 left-0 h-full transition-all duration-300 bg-white",style:{width:`${r}%`}})})]}),K.jsx("div",{className:`${e?"opacity-100":"opacity-0"} transition-opacity duration-1000`,children:K.jsx(yV,{children:K.jsx(J6,{children:K.jsxs(kc,{path:"/",element:K.jsx($k,{}),children:[K.jsx(kc,{index:!0,element:K.jsx(Q7,{})}),K.jsx(kc,{path:"podcasts",element:K.jsx(Z7,{})}),K.jsx(kc,{path:"/plebchain-radio",element:K.jsx($7,{})}),K.jsx(kc,{path:"/rendezvous",element:K.jsx(eY,{})}),K.jsx(kc,{path:"/writings",element:K.jsx(tY,{})}),K.jsx(kc,{path:"/other-work",element:K.jsx(nY,{})}),K.jsx(kc,{path:"/july-18",element:K.jsx(iY,{})})]})})})})]})};AU.createRoot(document.getElementById("root")).render(K.jsx($.StrictMode,{children:K.jsx(rY,{})}));

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.