1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/vendor-r3f-R-OQjR81.js","assets/rolldown-runtime-QTnfLwEv.js"])))=>i.map(i=>d[i]); 2import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{x as t,y as n}from"./vendor-r3f-R-OQjR81.js";import{t as r}from"./index-qd7IqHtF.js";var i=e(t(),1),a=class{perm=new Uint8Array(512);permMod12=new Uint8Array(512);G2;F2;g3;constructor(e){let t=new Uint8Array(256);for(let e=0;e<256;e++)t[e]=e;let n=((e||42)^3735928559)>>>0;for(let e=255;e>0;e--){n=Math.imul(n^n>>>16,73244475)>>>0,n=(n^n>>>16)>>>0;let r=n%(e+1);[t[e],t[r]]=[t[r],t[e]]}for(let e=0;e<512;e++)this.perm[e]=t[e&255],this.permMod12[e]=this.perm[e]%12;this.G2=(3-Math.sqrt(3))/6,this.F2=.5*(Math.sqrt(3)-1),this.g3=[[1,1,0],[-1,1,0],[1,-1,0],[-1,-1,0],[1,0,1],[-1,0,1],[1,0,-1],[-1,0,-1],[0,1,1],[0,-1,1],[0,1,-1],[0,-1,-1]]}noise2D(e,t){let{G2:n,F2:r,g3:i,perm:a,permMod12:o}=this,s=(e+t)*r,c=Math.floor(e+s),l=Math.floor(t+s),u=(c+l)*n,d=e-(c-u),f=t-(l-u),p=+(d>f),m=d>f?0:1,h=d-p+n,g=f-m+n,_=d-1+2*n,v=f-1+2*n,y=c&255,b=l&255,x=o[y+a[b]],S=o[y+p+a[b+m]],C=o[y+1+a[b+1]],w=(e,t,n)=>e[0]*t+e[1]*n,T=0,E=0,D=0,O=.5-d*d-f*f;O>=0&&(O*=O,T=O*O*w(i[x],d,f));let k=.5-h*h-g*g;k>=0&&(k*=k,E=k*k*w(i[S],h,g));let A=.5-_*_-v*v;return A>=0&&(A*=A,D=A*A*w(i[C],_,v)),70*(T+E+D)}},o=[{h:-.3,c:[.05,.06,.07]},{h:.3,c:[.07,.1,.12]},{h:.8,c:[.1,.15,.18]},{h:1.4,c:[.13,.21,.26]}
2,{h:2,c:[.16,.3,.37]},{h:2.55,c:[.2,.4,.48]},{h:3.1,c:[.28,.52,.6]},{h:3.6,c:[.4,.68,.78]}];function s(e,t){if(e<=o[0].h){t[0]=o[0].c[0],t[1]=o[0].c[1],t[2]=o[0].c[2];return}let n=o[o.length-1];if(e>=n.h){t[0]=n.c[0],t[1]=n.c[1],t[2]=n.c[2];return}for(let n=1;n<o.length;n++)if(e<=o[n].h){let r=o[n-1],i=o[n],a=(e-r.h)/(i.h-r.h);t[0]=r.c[0]+(i.c[0]-r.c[0])*a,t[1]=r.c[1]+(i.c[1]-r.c[1])*a,t[2]=r.c[2]+(i.c[2]-r.c[2])*a;return}}function c(e,t,n,r){let i=new e.Scene;i.fog=new e.FogExp2(263690,.018);let o=new e.PerspectiveCamera(70,n/r,.1,60);o.position.set(0,30,12),o.lookAt(0,-6,0),i.add(new e.AmbientLight(3364198,8));let c=new e.DirectionalLight(10079453,5);c.position.set(8,20,6),i.add(c);let l=new a(29),u=(e,t)=>l.noise2D(e*.07,t*.07)*2.6+l.noise2D(e*.18,t*.18)*.85+l.noise2D(e*.44,t*.44)*.22,d=new e.MeshBasicMaterial({vertexColors:!0}),f=new e.MeshBasicMaterial({color:668480,wireframe:!0,transparent:!0,opacity:.18}),p=new e.LineBasicMaterial({color:6742271,transparent:!0,opacity:.85}),m=[.3,.65,1,1.35,1.7,2.05,2.4,2.75,3.1,3.45];for(let t=-1;t<=1;t++)for(let n=-1;n<=1;n++){let r=n*52,a=t*52,o=Array.from({length:61},()=>new Float32Array(61)),c=new e.PlaneGeometry(52,52,60,60),l=c.attributes.position,h=new Float32Array(l.count*3),g=[0,0,0];for(let e=0;e<l.count;e++){let t=l.getX(e),n=l.getY(e),i=u(r+t,a-n)*.48+1.6;l.setZ(e,i),s(i,g),h[e*3]=g[0],h[e*3+1]=g[1],h[e*3+2]=g[2];let c=Math.round((t/52+.5)*60),d=Math.round((-n/52+.5)*60);c>=0&&c<=60&&d>=0&&d<=60&&(o[d][c]=i)}l.needsUpdate=!0,c.setAttribute(`color`,new e.BufferAttribute(h,3)),c.rotateX(-Math.PI/2),c.computeVertexNormals();let _=new e.Mesh(c,d);_.position.set(r,0,a),i.add(_);let v=new e.Mesh(c,f);v.position.set(r,0,a),i.add(v);let y=[];for(let e of m)for(let t=0;t<60;t++)for(let n=0;n<60;n++){let i=[o[t][n],o[t][n+1],o[t+1][n+1],o[t+1][n]],s=[(n/60-.5)*52+r,((n+1)/60-.5)*52+r,((n+1)/60-.5)*52+r,(n/60-.5)*52+r],c=[(t/60-.5)*52+a,(t/60-.5)*52+a,((t+1)/60-.5)*52+a,((t+1)/60-.5)*52+a],l=[];for(let t=0;t<4;t++){let n=(t+1)%4;if((i[t]-e)*(i[n]-e)<0){let r=(e-i[t])/(i[n]-i[t]);l.push([s[t]+r*(s[n]-s[t]),e+.03,c[t]+r*(c[n]-c[t])])}}l.length===2&&y.push(...l[0],...l[1])}if(y.length){let t=new e.BufferGeometry;t.setAttribute(`position`,new e.BufferAttribute(new Float32Array(y),3)),i.add(new e.LineSegments(t,p))}}let h=new e.PlaneGeometry(800,800);h.rotateX(-Math.PI/2),i.add(new e.Mesh(h,new e.MeshBasicMaterial({color:263688})));let g=[[-13,.06,-9,-13,.06,13],[13,.06,-9,13,.06,13],[-13,.06,-9,13,.06,-9],[-13,.06,13,13,.06,13],[-13,.06,4,13,.06,4],[-5,.06,-9,-5,.06,13],[4,.06,-9,4,.06,10],[-13,.06,-3,13,.06,-3],[-13,.06,-6,0,.06,-6],[0,.06,10,13,.06,10],[-17,.06,-1,17,.06,-1],[-14,.06,11,-8,.06,7],[-8,.06,7,-2,.06,5],[-2,.06,5,4,.06,3],[4,.06,3,10,.06,0],[10,.06,0,14,.06,-2]],_=[];for(let e of g)_.push(...e);let v=new e.BufferGeometry;if(v.setAttribute(`position`,new e.BufferAttribute(new Float32Array(_),3)),i.add(new e.LineSegments(v,new e.LineBasicMaterial({color:2779770,transparent:!0,opacity:.5}))),t&&t.length>=9){let n=Math.floor(t.length/9),r=new Float32Array(n*3);for(let e=0,i=0;e<n;e++,i+=9)r[e*3]=t[i],r[e*3+1]=t[i+1],r[e*3+2]=t[i+2];let a=new e.BufferGeometry;a.setAttribute(`position`,new e.BufferAttribute(r,3)),i.add(new e.Points(a,new e.PointsMaterial({color:10479871,size:.08,transparent:!0,opacity:.7,sizeAttenuation:!0})))}for(let t of[{x:-6.5,z:-3.5,w:1.6,d:1.1,h:.9},{x:-4,z:-5,w:2.2,d:1.3,h:1.2},{x:3,z:3,w:1.9,d:1.6,h:.7},{x:6.5,z:-3,w:1.3,d:1.2,h:1.4},{x:-8.5,z:5,w:2.8,d:1,h:.6},{x:8,z:7,w:1.5,d:1.5,h:1}]){let n=new e.BoxGeometry(t.w,t.h,t.d),r=new e.Mesh(n,new e.MeshBasicMaterial({color:462874,transparent:!0,opacity:.8}));r.position.set(t.x,t.h/2+.1,t.z),i.add(r);let a=new e.LineSegments(new e.EdgesGeometry(n),new e.LineBasicMaterial({color:4891576,transparent:!0,opacity:.6}));a.position.copy(r.position),i.add(a)}return{scene:i,camera:o}}var l=n();function u(e=`move`){let t=[],n=e===`burst`,r=Math.random()*Math.PI*2;t.push({ang:r,off:(n?.14:.12)+Math.random()*(n?.22:.18),size:(n?.85:.82)+Math.random()*(n?.35:.26),alphaMul:1});let i=n?8:6;for(let e=0;e<i;e++)t.push({ang:r+(Math.random()-.5)*Math.PI*2,off:n?.3+Math.random()**.7*.95:.24+Math.random()**.7*.55,size:(n?.3:.28)+Math.random()**1.4*(n?.78:.52),alphaMul:.3+M
2ath.random()*(n?.55:.42)});return t}function d(){let e=(0,i.useRef)(null),t=(0,i.useRef)(null),n=(0,i.useRef)([]),a=(0,i.useRef)(0);return(0,i.useEffect)(()=>{let i=window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches;document.documentElement.dataset.xray=`on`;let o=!1,s=[];return(async()=>{let l=e.current,d=t.current;if(!l||!d)return;let f=window.innerWidth,p=window.innerHeight,[m,h]=await Promise.all([r(()=>import(`./vendor-r3f-R-OQjR81.js`).then(e=>e.l),__vite__mapDeps([0,1])),fetch(`/data/xray-pts.json`).then(e=>e.json()).catch(()=>[])]);if(o)return;let g=null,_=null;try{g=new m.WebGLRenderer({canvas:l,antialias:!1,alpha:!1,powerPreference:`default`}),g.setPixelRatio(Math.min(window.devicePixelRatio||1,1.5)),g.setSize(f,p,!1),g.setClearColor(263690,1),_=c(m,h,f,p)}catch(e){console.warn(`X-Ray: WebGL indisponibil`,e),l.style.display=`none`}let v=d.getContext(`2d`),y=2200,b=!0,x=0,S=()=>{f=window.innerWidth,p=window.innerHeight;let e=Math.min(window.devicePixelRatio||1,1.5);d.width=Math.round(f*e),d.height=Math.round(p*e),d.style.width=f+`px`,d.style.height=p+`px`,v.setTransform(e,0,0,e,0,0),g&&_&&(g.setSize(f,p,!1),_.camera.aspect=f/p,_.camera.updateProjectionMatrix())};S();let C=0,w=()=>{clearTimeout(C),C=window.setTimeout(S,120)};window.addEventListener(`resize`,w);let T=e=>{let t=e.clientX,r=e.clientY+window.scrollY,i=n.current,a=i[i.length-1];(!a||Math.hypot(a.x-t,a.y-r)>6)&&(i.push({x:t,y:r,t:performance.now(),auto:!1,burst:!1,lobes:u()}),i.length>160&&i.shift(),b=!0)};window.addEventListener(`mousemove`,T);let E=e=>{e.target?.closest?.(`a, button, input, textarea, select, label, [role='button'], [data-hover]`)||(n.current.push({x:e.clientX,y:e.clientY+window.scrollY,t:performance.now(),auto:!1,burst:!0,lobes:u(`burst`)}),n.current.length>180&&n.current.shift(),b=!0)};window.addEventListener(`click`,E);let D=(e,t,n,r)=>{let i=v.createRadialGradient(e,t,0,e,t,n);i.addColorStop(0,`rgba(255,255,255,${r})`),i.addColorStop(.22,`rgba(255,255,255,${r*.74})`),i.addColorStop(.5,`rgba(255,255,255,${r*.34})`),i.addColorStop(.78,`rgba(255,255,255,${r*.08})`),i.addColorStop(1,`rgba(255,255,255,0)`),v.fillStyle=i,v.fillRect(e-n,t-n,n*2,n*2)},O=e=>{let t=n.current,r=window.scrollY;for(;t.length&&e-t[0].t>y;)t.shift();if(!(!b&&t.length===0&&x===0)){v.globalCompositeOperation=`source-over`,v.fillStyle=`#04060a`,v.fillRect(0,0,f,p),v.globalCompositeOperation=`destination-out`;for(let n of t){let t=1-(e-n.t)/y;if(t<=0)continue;let i=n.y-r;if(i<-660||i>p+660)continue;let a=t**1.15*(n.auto?.74:1),o=165*(.82+t*.18);n.auto&&(o*=1.06),n.burst&&(o*=2.35,a*=1.7);let s=n.auto?3:n.burst?9:7;for(let e=0;e<s&&e<n.lobes.length;e++){let t=n.lobes[e],r=a*t.alphaMul;r<.02||D(n.x+Math.cos(t.ang)*o*t.off,i+Math.sin(t.ang)*o*t.off,o*t.size,r)}}v.globalCompositeOperation=`source-over`,b=t.length>0,x=t.length}},k=!0,A=-1,j=e=>{!g||e===A||(A=e,g.setPixelRatio(e),g.setSize(f,p,!1))},M=document.querySelector(`.hero-scrub, .hero`);if(M&&`IntersectionObserver`in window){let e=new IntersectionObserver(([e])=>{k=e.isIntersecting,j(k?Math.min(window.devicePixelRatio||1,1.5):.75)},{threshold:.05});e.observe(M),s.push(()=>e.disconnect())}j(Math.min(window.devicePixelRatio||1,1.5));let N=[{fx:.68,fy:1.1,px:.5,py:.5,ax:.42,ay:.36,ph:0},{fx:1.05,fy:.65,px:.5,py:.5,ax:.38,ay:.32,ph:2.6}],P=0,F=0,I=0,L=e=>{if(a.current=requestAnimationFrame(L),e-P<14)return;if(P=e,g&&_&&!i){let t=e*18e-5;_.camera.position.x=Math.sin(t)*18+Math.sin(t*.27)*2,_.camera.position.z=12+Math.cos(t*.82)*5,_.camera.position.y=30+Math.sin(t*.55)*1.6,_.camera.lookAt(Math.cos(t*.74)*5,-6,Math.sin(t*.61)*4)}let t=n.current;if(!t.some(t=>!t.auto&&e-t.t<1400)&&!i&&k){I+=.022;let n=window.scrollY;for(let r of N)t.push({x:f*(r.px+r.ax*Math.sin(I*r.fx+r.ph)),y:n+p*(r.py+r.ay*Math.sin(I*r.fy+r.ph+1.1)),t:e,auto:!0,burst:!1,lobes:u()});t.length>220&&t.splice(0,t.length-220),b=!0}if(g&&_){let t=k?0:33;e-F>=t&&(g.render(_.scene,_.camera),F=e)}O(e)};a.current=requestAnimationFrame(L),s.push(()=>{cancelAnimationFrame(a.current),window.removeEventListener(`resize`,w),window.removeEventListener(`mousemove`,T),window.removeEventListener(`click`,E),g?.dispose()})})(),()=>
2{o=!0,delete document.documentElement.dataset.xray,s.forEach(e=>e())}},[]),(0,l.jsxs)(`div`,{className:`xrl-overlay`,"aria-hidden":`true`,children:[(0,l.jsx)(`canvas`,{className:`xrl-scene-canvas`,ref:e}),(0,l.jsx)(`canvas`,{className:`xrl-mask`,ref:t})]})}export{d as default};
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.