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&<.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&<.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&<.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&<.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&>>=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.