1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9821],{19821:function(e,t,n){n.d(t,{z:function(){return v}});var o=n(17610),a=n(97551),i=n(7653),r=n(78813),s=Object.defineProperty,l=(e,t,n)=>t in e?s(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,c=(e,t,n)=>(l(e,"symbol"!=typeof t?t+"":t,n),n);class h{constructor(){c(this,"_listeners")}addEventListener(e,t){void 0===this._listeners&&(this._listeners={});let n=this._listeners;void 0===n[e]&&(n[e]=[]),-1===n[e].indexOf(t)&&n[e].push(t)}hasEventListener(e,t){if(void 0===this._listeners)return!1;let n=this._listeners;return void 0!==n[e]&&-1!==n[e].indexOf(t)}removeEventListener(e,t){if(void 0===this._listeners)return;let n=this._listeners[e];if(void 0!==n){let e=n.indexOf(t);-1!==e&&n.splice(e,1)}}dispatchEvent(e){if(void 0===this._listeners)return;let t=this._listeners[e.type];if(void 0!==t){e.target=this;let n=t.slice(0);for(let t=0,o=n.length;t<o;t++)n[t].call(this,e);e.target=null}}}var m=Object.defineProperty,p=(e,t,n)=>t in e?m(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,u=(e,t,n)=>(p(e,"symbol"!=typeof t?t+"":t,n),n);let d=new r.Ray,b=new r.Plane,g=Math.cos(Math.PI/180*70),E=(e,t)=>(e%t+t)%t;class f extends h{constructor(e,t){super(),u(this,"object"),u(this,"domElement"),u(this,"enabled",!0),u(this,"target",new r.Vector3),u(this,"minDistance",0),u(this,"maxDistance",1/0),u(this,"minZoom",0),u(this,"maxZoom",1/0),u(this,"minPolarAngle",0),u(this,"maxPolarAngle",Math.PI),u(this,"minAzimuthAngle",-1/0),u(this,"maxAzimuthAngle",1/0),u(this,"enableDamping",!1),u(this,"dampingFactor",.05),u(this,"enableZoom",!0),u(this,"zoomSpeed",1),u(this,"enableRotate",!0),u(this,"rotateSpeed",1),u(this,"enablePan",!0),u(this,"panSpeed",1),u(this,"screenSpacePanning",!0),u(this,"keyPanSpeed",7),u(this,"zoomToCursor",!1),u(this,"autoRotate",!1),u(this,"autoRotateSpeed",2),u(this,"reverseOrbit",!1),u(this,"reverseHorizontalOrbit",!1),u(this,"reverseVerticalOrbit",!1),u(this,"keys",{LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"}),u(this,"mouseButtons",{LEFT:r.MOUSE.ROTATE,MIDDLE:r.MOUSE.DOLLY,RIGHT:r.MOUSE.PAN}),u(this,"touches",{ONE:r.TOUCH.ROTATE,TWO:r.TOUCH.DOLLY_PAN}),u(this,"target0"),u(this,"position0"),u(this,"zoom0"),u(this,"_domElementKeyEvents",null),u(this,"getPolarAngle"),u(this,"getAzimuthalAngle"),u(this,"setPolarAngle"),u(this,"setAzimuthalAngle"),u(this,"getDistance"),u(this,"getZoomScale"),u(this,"listenToKeyEvents"),u(this,"stopListenToKeyEvents"),u(this,"saveState"),u(this,"reset"),u(this,"update"),u(this,"connect"),u(this,"dispose"),u(this,"dollyIn"),u(this,"dollyOut"),u(this,"getScale"),u(this,"setScale"),this.object=e,this.domElement=t,this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this.getPolarAngle=()=>h.phi,this.getAzimuthalAngle=()=>h.theta,this.setPolarAngle=e=>{let t=E(e,2*Math.PI),o=h.phi;o<0&&(o+=2*Math.PI),t<0&&(t+=2*Math.PI);let a=Math.abs(t-o);2*Math.PI-a<a&&(t<o?t+=2*Math.PI:o+=2*Math.PI),m.phi=t-o,n.update()},this.setAzimuthalAngle=e=>{let t=E(e,2*Math.PI),o=h.theta;o<0&&(o+=2*Math.PI),t<0&&(t+=2*Math.PI);let a=Math.abs(t-o);2*Math.PI-a<a&&(t<o?t+=2*Math.PI:o+=2*Math.PI),m.theta=t-o,n.update()},this.getDistance=()=>n.object.position.distanceTo(n.target),this.listenToKeyEvents=e=>{e.addEventListener("keydown",ee),this._domElementKeyEvents=e},this.stopListenToKeyEvents=()=>{this._domElementKeyEvents.removeEventListener("keydown",ee),this._domElementKeyEvents=null},this.saveState=()=>{n.target0.copy(n.target),n.position0.copy(n.object.position),n.zoom0=n.object.zoom},this.reset=()=>{n.target.copy(n.target0),n.object.position.copy(n.position0),n.object.zoom=n.zoom0,n.object.updateProjectionMatrix(),n.dispatchEvent(o),n.update(),l=s.NONE},this.update=(()=>{let t=new r.Vector3,a=new r.Vector3(0,1,0),i=new r.Quaternion().setFromUnitVectors(e.up,a),u=i.clone().invert(),E=new r.Vector3,v=new r.Quaternion,O=2*Math.PI;return function(){let y=n.object.position;i.setFromUnitVectors(e.up,a),u.copy(i).invert(),t.copy(y).sub(n.target),t.applyQuaternion(i),h.setFromVector3(t),n.autoRotate&&l===s.NONE&&I(2*Math.PI/60/60*n.autoRotateSpeed),n.enableDamping?(h.theta+=m.theta*n.dampingFactor,h.phi+=m.phi*n.dampingFactor):(h.theta+=m.theta,h.phi+=m.phi);let P=n.minAzimuthAngle,j=n.maxAzimuthAngle;isFinite(P)&&isFinite(j)&&(P<-Math.PI?P+=O:P>Math.PI&&(P-=O),j<-Math.PI?j+=O:j>Math.PI&&(j-=O),P<=j?h.theta=Math.max(P,Math.min(j,h.theta)):h.theta=h.theta>(P+j)/2?Math.max(P,h.theta):Math.min(j,h.theta)),h.phi=Math.max(n.minPolarAngle,Math.min(n.maxPolarAngle,h.phi)),h.makeSafe(),!0===n.enableDamping?n.target.addScaledVector(f,n.dampingFactor):n.target.add(f),n.zoomToCursor&&D||n.object.isOrthographicCamera?h.radius=H(h.radius):h.radius=H(h.radius*p),t.setFromSpherical(h),t.applyQuaternion(u),y.copy(n.target).add(t),n.object.matrixAutoUpdate||n.object.updateMatrix(),n.object.lookAt(n.target),!0===n.enableDamping?(m.theta*=1-n.dampingFactor,m.phi*=1-n.dampingFactor,f.multiplyScalar(1-n.dampingFactor)):(m.set(0,0,0),f.set(0,0,0));let T=!1;if(n.zoomToCursor&&D){let o=null;if(n.object instanceof r.PerspectiveCamera&&n.object.isPerspectiveCamera){let e=t.length();o=H(e*p);let a=e-o;n.object.position.addScaledVector(L,a),n.object.updateMatrixWorld()}else if(n.object.isOrthographicCamera){let e=new r.Vector3(N.x,N.y,0);e.unproject(n.object),n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom/p)),n.object.updateProjectionMatrix(),T=!0;let a=new r.Vector3(N.x,N.y,0);a.unproject(n.object),n.object.position.sub(a).add(e),n.object.updateMatrixWorld(),o=t.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),n.zoomToCursor=!1;null!==o&&(n.screenSpacePanning?n.target.set(0,0,-1).transformDirection(n.object.matrix).multiplyScalar(o).add(n.object.position):(d.origin.copy(n.object.position),d.direction.set(0,0,-1).transformDirection(n.object.matrix),Math.abs(n.object.up.dot(d.direction))<g?e.lookAt(n.target):(b.setFromNormalAndCoplanarPoint(n.object.up,n.target),d.intersectPlane(b,n.target))))}
1else n.object instanceof r.OrthographicCamera&&n.object.isOrthographicCamera&&(T=1!==p)&&(n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom/p)),n.object.updateProjectionMatrix());return p=1,D=!1,!!(T||E.distanceToSquared(n.object.position)>c||8*(1-v.dot(n.object.quaternion))>c)&&(n.dispatchEvent(o),E.copy(n.object.position),v.copy(n.object.quaternion),T=!1,!0)}})(),this.connect=e=>{n.domElement=e,n.domElement.style.touchAction="none",n.domElement.addEventListener("contextmenu",et),n.domElement.addEventListener("pointerdown",q),n.domElement.addEventListener("pointercancel",J),n.domElement.addEventListener("wheel",$)},this.dispose=()=>{var e,t,o,a,i,r;n.domElement&&(n.domElement.style.touchAction="auto"),null==(e=n.domElement)||e.removeEventListener("contextmenu",et),null==(t=n.domElement)||t.removeEventListener("pointerdown",q),null==(o=n.domElement)||o.removeEventListener("pointercancel",J),null==(a=n.domElement)||a.removeEventListener("wheel",$),null==(i=n.domElement)||i.ownerDocument.removeEventListener("pointermove",Q),null==(r=n.domElement)||r.ownerDocument.removeEventListener("pointerup",J),null!==n._domElementKeyEvents&&n._domElementKeyEvents.removeEventListener("keydown",ee)};let n=this,o={type:"change"},a={type:"start"},i={type:"end"},s={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},l=s.NONE,c=1e-6,h=new r.Spherical,m=new r.Spherical,p=1,f=new r.Vector3,v=new r.Vector2,O=new r.Vector2,y=new r.Vector2,P=new r.Vector2,j=new r.Vector2,T=new r.Vector2,w=new r.Vector2,A=new r.Vector2,M=new r.Vector2,L=new r.Vector3,N=new r.Vector2,D=!1,x=[],C={};function S(){return Math.pow(.95,n.zoomSpeed)}function I(e){n.reverseOrbit||n.reverseHorizontalOrbit?m.theta+=e:m.theta-=e}function k(e){n.reverseOrbit||n.reverseVerticalOrbit?m.phi+=e:m.phi-=e}let R=(()=>{let e=new r.Vector3;return function(t,n){e.setFromMatrixColumn(n,0),e.multiplyScalar(-t),f.add(e)}})(),_=(()=>{let e=new r.Vector3;return function(t,o){!0===n.screenSpacePanning?e.setFromMatrixColumn(o,1):(e.setFromMatrixColumn(o,0),e.crossVectors(n.object.up,e)),e.multiplyScalar(t),f.add(e)}})(),Y=(()=>{let e=new r.Vector3;return function(t,o){let a=n.domElement;if(a&&n.object instanceof r.PerspectiveCamera&&n.object.isPerspectiveCamera){let i=n.object.position;e.copy(i).sub(n.target);let r=e.length();R(2*t*(r*=Math.tan(n.object.fov/2*Math.PI/180))/a.clientHeight,n.object.matrix),_(2*o*r/a.clientHeight,n.object.matrix)}else a&&n.object instanceof r.OrthographicCamera&&n.object.isOrthographicCamera?(R(t*(n.object.right-n.object.left)/n.object.zoom/a.clientWidth,n.object.matrix),_(o*(n.object.top-n.object.bottom)/n.object.zoom/a.clientHeight,n.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),n.enablePan=!1)}})();function z(e){n.object instanceof r.PerspectiveCamera&&n.object.isPerspectiveCamera||n.object instanceof r.OrthographicCamera&&n.object.isOrthographicCamera?p=e:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function V(e){if(!n.zoomToCursor||!n.domElement)return;D=!0;let t=n.domElement.getBoundingClientRect(),o=e.clientX-t.left,a=e.clientY-t.top,i=t.width,r=t.height;N.x=o/i*2-1,N.y=-(a/r*2)+1,L.set(N.x,N.y,1).unproject(n.object).sub(n.object.position).normalize()}function H(e){return Math.max(n.minDistance,Math.min(n.maxDistance,e))}function U(e){v.set(e.clientX,e.clientY)}function F(e){P.set(e.clientX,e.clientY)}function Z(){if(1==x.length)v.set(x[0].pageX,x[0].pageY);else{let e=.5*(x[0].pageX+x[1].pageX),t=.5*(x[0].pageY+x[1].pageY);
1v.set(e,t)}}function X(){if(1==x.length)P.set(x[0].pageX,x[0].pageY);else{let e=.5*(x[0].pageX+x[1].pageX),t=.5*(x[0].pageY+x[1].pageY);P.set(e,t)}}function K(){let e=x[0].pageX-x[1].pageX,t=x[0].pageY-x[1].pageY;w.set(0,Math.sqrt(e*e+t*t))}function W(e){if(1==x.length)O.set(e.pageX,e.pageY);else{let t=eo(e),n=.5*(e.pageX+t.x),o=.5*(e.pageY+t.y);O.set(n,o)}y.subVectors(O,v).multiplyScalar(n.rotateSpeed);let t=n.domElement;t&&(I(2*Math.PI*y.x/t.clientHeight),k(2*Math.PI*y.y/t.clientHeight)),v.copy(O)}function B(e){if(1==x.length)j.set(e.pageX,e.pageY);else{let t=eo(e),n=.5*(e.pageX+t.x),o=.5*(e.pageY+t.y);j.set(n,o)}T.subVectors(j,P).multiplyScalar(n.panSpeed),Y(T.x,T.y),P.copy(j)}function G(e){var t;let o=eo(e),a=e.pageX-o.x,i=e.pageY-o.y;A.set(0,Math.sqrt(a*a+i*i)),M.set(0,Math.pow(A.y/w.y,n.zoomSpeed)),t=M.y,z(p/t),w.copy(A)}function q(e){var t,o;!1!==n.enabled&&(0===x.length&&(null==(t=n.domElement)||t.ownerDocument.addEventListener("pointermove",Q),null==(o=n.domElement)||o.ownerDocument.addEventListener("pointerup",J)),x.push(e),"touch"===e.pointerType?function(e){switch(en(e),x.length){case 1:switch(n.touches.ONE){case r.TOUCH.ROTATE:if(!1===n.enableRotate)return;Z(),l=s.TOUCH_ROTATE;break;case r.TOUCH.PAN:if(!1===n.enablePan)return;X(),l=s.TOUCH_PAN;break;default:l=s.NONE}break;case 2:switch(n.touches.TWO){case r.TOUCH.DOLLY_PAN:if(!1===n.enableZoom&&!1===n.enablePan)return;n.enableZoom&&K(),n.enablePan&&X(),l=s.TOUCH_DOLLY_PAN;break;case r.TOUCH.DOLLY_ROTATE:if(!1===n.enableZoom&&!1===n.enableRotate)return;n.enableZoom&&K(),n.enableRotate&&Z(),l=s.TOUCH_DOLLY_ROTATE;break;default:l=s.NONE}break;default:l=s.NONE}l!==s.NONE&&n.dispatchEvent(a)}(e):function(e){let t;switch(e.button){case 0:t=n.mouseButtons.LEFT;break;case 1:t=n.mouseButtons.MIDDLE;break;case 2:t=n.mouseButtons.RIGHT;break;default:t=-1}switch(t){case r.MOUSE.DOLLY:if(!1===n.enableZoom)return;V(e),w.set(e.clientX,e.clientY),l=s.DOLLY;break;case r.MOUSE.ROTATE:if(e.ctrlKey||e.metaKey||e.shiftKey){if(!1===n.enablePan)return;F(e),l=s.PAN}else{if(!1===n.enableRotate)return;U(e),l=s.ROTATE}break;case r.MOUSE.PAN:if(e.ctrlKey||e.metaKey||e.shiftKey){if(!1===n.enableRotate)return;U(e),l=s.ROTATE}else{if(!1===n.enablePan)return;F(e),l=s.PAN}break;default:l=s.NONE}l!==s.NONE&&n.dispatchEvent(a)}(e))}function Q(e){!1!==n.enabled&&("touch"===e.pointerType?function(e){switch(en(e),l){case s.TOUCH_ROTATE:if(!1===n.enableRotate)return;W(e),n.update();break;case s.TOUCH_PAN:if(!1===n.enablePan)return;B(e),n.update();break;case s.TOUCH_DOLLY_PAN:if(!1===n.enableZoom&&!1===n.enablePan)return;n.enableZoom&&G(e),n.enablePan&&B(e),n.update();break;case s.TOUCH_DOLLY_ROTATE:if(!1===n.enableZoom&&!1===n.enableRotate)return;n.enableZoom&&G(e),n.enableRotate&&W(e),n.update();break;default:l=s.NONE}}(e):function(e){if(!1!==n.enabled)switch(l){case s.ROTATE:if(!1===n.enableRotate)return;!function(e){O.set(e.clientX,e.clientY),y.subVectors(O,v).multiplyScalar(n.rotateSpeed);let t=n.domElement;t&&(I(2*Math.PI*y.x/t.clientHeight),k(2*Math.PI*y.y/t.clientHeight)),v.copy(O),n.update()}(e);break;case s.DOLLY:var t,o;if(!1===n.enableZoom)return;(A.set(e.clientX,e.clientY),M.subVectors(A,w),M.y>0)?(t=S(),z(p/t)):M.y<0&&(o=S(),z(p*o)),w.copy(A),n.update();break;case s.PAN:if(!1===n.enablePan)return;j.set(e.clientX,e.clientY),T.subVectors(j,P).multiplyScalar(n.panSpeed),Y(T.x,T.y),P.copy(j),n.update()}}(e))}function J(e){var t,o,a;(function(e){delete C[e.pointerId];for(let t=0;t<x.length;t++)if(x[t].pointerId==e.pointerId){x.splice(t,1);return}})(e),0===x.length&&(null==(t=n.domElement)||t.releasePointerCapture(e.pointerId),null==(o=n.domElement)||o.ownerDocument.removeEventListener("pointermove",Q),null==(a=n.domElement)||a.ownerDocument.removeEventListener("pointerup",J)),n.dispatchEvent(i),l=s.NONE}function $(e){if(!1!==n.enabled&&!1!==n.enableZoom&&(l===s.NONE||l===s.ROTATE)){var t,o;e.preventDefault(),n.dispatchEvent(a),(V(e),e.deltaY<0)?(t=S(),z(p*t)):e.deltaY>0&&(o=S(),z(p/o)),n.update(),n.dispatchEvent(i)}}function ee(e){!1!==n.enabled&&!1!==n.enablePan&&function(e){let t=!1;switch(e.code){case n.keys.UP:Y(0,n.keyPanSpeed),t=!0;break;case n.keys.BOTTOM:Y(0,-n.keyPanSpeed),t=!0;break;case n.keys.LEFT:Y(n.keyPanSpeed,0),t=!0;break;case n.keys.RIGHT:Y(-n.keyPanSpeed,0),t=!0}t&&(e.preventDefault(),n.update())}(e)}function et(e){!1!==n.enabled&&e.preventDefault()}function en(e){let t=C[e.pointerId];void 0===t&&(t=new r.Vector2,C[e.pointerId]=t),t.set(e.pageX,e.pageY)}function eo(e){return C[(e.pointerId===x[0].pointerId?x[1]:x[0]).pointerId]}this.dollyIn=(e=S())=>{z(p*e),n.update()},this.dollyOut=(e=S())=>{z(p/e),n.update()}
1,this.getScale=()=>p,this.setScale=e=>{z(e),n.update()},this.getZoomScale=()=>S(),void 0!==t&&this.connect(t),this.update()}}let v=i.forwardRef((e,t)=>{let{makeDefault:n,camera:r,regress:s,domElement:l,enableDamping:c=!0,keyEvents:h=!1,onChange:m,onStart:p,onEnd:u,...d}=e,b=(0,a.D)(e=>e.invalidate),g=(0,a.D)(e=>e.camera),E=(0,a.D)(e=>e.gl),v=(0,a.D)(e=>e.events),O=(0,a.D)(e=>e.setEvents),y=(0,a.D)(e=>e.set),P=(0,a.D)(e=>e.get),j=(0,a.D)(e=>e.performance),T=r||g,w=l||v.connected||E.domElement,A=i.useMemo(()=>new f(T),[T]);return(0,a.F)(()=>{A.enabled&&A.update()},-1),i.useEffect(()=>(h&&A.connect(!0===h?w:h),A.connect(w),()=>void A.dispose()),[h,w,s,A,b]),i.useEffect(()=>{let e=e=>{b(),s&&j.regress(),m&&m(e)},t=e=>{p&&p(e)},n=e=>{u&&u(e)};return A.addEventListener("change",e),A.addEventListener("start",t),A.addEventListener("end",n),()=>{A.removeEventListener("start",t),A.removeEventListener("end",n),A.removeEventListener("change",e)}},[m,p,u,A,b,O]),i.useEffect(()=>{if(n){let e=P().controls;return y({controls:A}),()=>y({controls:e})}},[n,A]),i.createElement("primitive",(0,o.Z)({ref:t,object:A,enableDamping:c},d))})}}]);
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.