(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{3860:(e,t,a)=>{"use strict";a.d(t,{A:()=>r});let r=[{url:"/images/img1.webp"},{url:"/images/img2.webp"},{url:"/images/img3.webp"},{url:"/images/img4.webp"},{url:"/images/img5.webp"},{url:"/images/img6.webp"},{url:"/images/img7.webp"},{url:"/images/img8.webp"},{url:"/images/img9.webp"},{url:"/images/img10.webp"},{url:"/images/img11.webp"},{url:"/images/img12.webp"},{url:"/images/img13.webp"}]},5606:e=>{e.exports={loader:"Loader_loader____4ji",loader__text:"Loader_loader__text__sh6zk",fadeInOut:"Loader_fadeInOut__VPOUq"}},5982:e=>{e.exports={footer:"Footer_footer___TWQ4",wrapper:"Footer_wrapper__IarUo"}},7068:e=>{e.exports={page:"page_page__KdIv3",view:"page_view__TU754"}},7326:e=>{e.exports={header:"Header_header__zHlTC"}},7574:(e,t,a)=>{"use strict";a.d(t,{K:()=>r});let r=(0,a(5914).A)()},7850:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>u});var r=a(5155),i=a(7068),n=a.n(i),l=a(3860),s=a(9701),o=a(8722),c=a(9909),d=a(3758),p=a(8289);function u(){let{texture:e,dimensions:t,isLoading:a}=(0,p.y)(l.A);return a?(0,r.jsx)(o.aH,{}):(0,r.jsx)("div",{className:n().page,children:(0,r.jsxs)(c.S,{className:n().view,orbit:!0,children:[(0,r.jsx)(d.u,{makeDefault:!0,fov:7,position:[0,0,70],near:.01,far:1e5}),(0,r.jsx)("group",{rotation:[-.15,0,-.2],children:Array.from({length:10}).map((a,i)=>[(0,r.jsx)(s.QB,{radius:5,rotation:[0,i*Math.PI*.5,0],position:[0,(i-(Math.ceil(5)-1))*3.2,0],texture:e,dimensions:t},"billboard-".concat(i)),(0,r.jsx)(s.lZ,{radius:5.035,rotation:[0,0,.085],position:[0,(i-(Math.ceil(5)-1))*3.2-1.6,0]},"banner-".concat(i))])})]})})}},8252:(e,t,a)=>{Promise.resolve().then(a.bind(a,7850))},8289:(e,t,a)=>{"use strict";a.d(t,{y:()=>s});var r=a(2115),i=a(3264);async function n(e,t,a,r){let i,n,l=new Image;l.crossOrigin="anonymous",await new Promise((t,a)=>{l.onload=()=>t(),l.onerror=()=>a(Error("Failed to load image: ".concat(e))),l.src=e});let s=l.naturalWidth/l.naturalHeight;return"x"===t?(n=a,i=a*s):(i=r,n=r/s),{img:l,width:i,height:n}}async function l(e){let{images:t,gap:a=10,canvasHeight:r=512,canvasWidth:l=512,canvas:s,ctx:o,axis:c="x"}=e;if(!t.length)throw Error("No images");let d=s||document.createElement("canvas"),p=o||d.getContext("2d");if(!p)throw Error("No context");let u=await Promise.all(t.map(e=>n(e.url,c,r,l))),m="x"===c?{totalWidth:u.reduce((e,t,r)=>e+t.width+(r>0?a:0),0),totalHeight:r}:{totalWidth:l,totalHeight:u.reduce((e,t,r)=>e+t.height+(r>0?a:0),0)};let{totalWidth:f,totalHeight:h}=m,g=Math.min(window.devicePixelRatio||1,2);d.width=f*g,d.height=h*g,1!==g&&p.scale(g,g),p.fillStyle="#ffffff",p.fillRect(0,0,f,h);let x=0,w=0;for(let e of(p.save(),u))p.drawImage(e.img,x,w,e.width,e.height),"x"===c?x+=e.width+a:w+=e.height+a;p.restore();let v=new i.GOR(d);return v.needsUpdate=!0,v.wrapS=i.GJx,v.wrapT=i.ghU,v.generateMipmaps=!1,v.minFilter=i.k6q,v.magFilter=i.k6q,{texture:v,dimensions:{width:m.totalWidth,height:m.totalHeight,aspectRatio:m.totalWidth/m.totalHeight}}}function s(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},[a,i]=(0,r.useState)(null),[n,s]=(0,r.useState)(!0),[o,c]=(0,r.useState)(null),{gap:d=0,canvasHeight:p=512,canvasWidth:u=512,axis:m="x"}=t,f=(0,r.useCallback)(async()=>{try{s(!0),c(null);let t=await l({images:e,gap:d,canvasHeight:p,canvasWidth:u,axis:m});i(t)}catch(e){c(e instanceof Error?e:Error("Failed to create texture"))}finally{s(!1)}},[e,d,p,u,m]);return(0,r.useEffect)(()=>{e.length>0&&f()},[e.length,f]),{texture:(null==a?void 0:a.texture)||null,dimensions:(null==a?void 0:a.dimensions)||null,isLoading:n,error:o}}},8722:(e,t,a)=>{"use strict";a.d(t,{wi:()=>u,Y9:()=>c,aH:()=>l});var r=a(5155),i=a(5606),n=a.n(i);let l=function(){return(0,r.jsx)("div",{className:n().loader,children:(0,r.jsx)("div",{className:n().loader__text,children:"Loading..."})})};var s=a(7326),o=a.n(s);let c=function(e){let{children:t}=e;return(0,r.jsx)("div",{className:o().header,children:(0,r.jsx)("div",{className:o().wrapper,children:t})})};var d=a(5982),p=a.n(d);let u=function(e){let{children:t}=e;return(0,r.jsx)("div",{className:p().footer,children:(0,r.jsx)("div",{className:p().wrapper,children:t})})}},9701:(e,t,a)=>{"use strict";a.d(t,{lZ:()=>p,QB:()=>o,tu:()=>m,An:()=>f});var r=a(5155),i=a(3264),n=a(2115),l=a(1949);class s extends i.V9B{constructor(e={}){super(e),this.onBeforeCompile=e=>{e.fragmentShader=e.fragmentShader.replace("#include ","#include \n if (!gl_FrontFacing) {\n vec3 blackCol = vec3(0.0);\n diffuseColor.rgb = mix(diffuseColor.rgb, blackCol, 0.7);\n }\n ")},this.setValues(e)}}(0,l.e)({MeshImageMaterial:s});let o=function(e){let{texture:t,dimensions:a,radius:s=5,...o}=e,c=(0,n.useRef)(null),d=2*Math.PI*s/2;return a.aspectRatio>d?(t.repeat.x=d/a.aspectRatio,t.repeat.y=1,t.offset.x=(1-t.repeat.x)/2):(t.repeat.x=1,t.repeat.y=a.aspectRatio/d),t.offset.y=(1-t.repeat.y)/2,(0,l.D)((e,a)=>{t&&(t.offset.x+=.001*a)}),(0,r.jsxs)("mesh",{ref:c,...o,children:[(0,r.jsx)("cylinderGeometry",{args:[s,s,2,100,1,!0]}),(0,r.jsx)("meshImageMaterial",{map:t,side:i.$EB,toneMapped:!1})]})};var c=a(2660);class d extends i.V9B{constructor(e={}){super(e),this.onBeforeCompile=e=>{e.uniforms.repeatX={value:this.backfaceRepeatX},e.fragmentShader=e.fragmentShader.replace("#include ","#include \n uniform float repeatX;\n\n vec3 pal( in float t, in vec3 a, in vec3 b, in vec3 c, in vec3 d ) {\n return a + b*cos( 6.28318*(c*t+d) );\n }\n ").replace("#include ","#include \n if (!gl_FrontFacing) {\n diffuseColor.rgb = pal( vMapUv.x * repeatX, vec3(0.5,0.5,0.5),vec3(0.5,0.5,0.5),vec3(1.0,1.0,1.0),vec3(0.0,0.10,0.20) );\n }\n ")},this.setValues(e),this.backfaceRepeatX=1,void 0!==e.backfaceRepeatX&&(this.backfaceRepeatX=e.backfaceRepeatX)}}(0,l.e)({MeshBannerMaterial:d});let p=function(e){let{radius:t=1.6,...a}=e,s=(0,n.useRef)(null),o=(0,c.zo)("/banner.jpg");return o.wrapS=o.wrapT=i.GJx,(0,l.D)((e,t)=>{if(!s.current)return;let a=s.current.material;a.map&&(a.map.offset.x+=t/30)}),(0,r.jsxs)("mesh",{ref:s,...a,children:[(0,r.jsx)("cylinderGeometry",{args:[t,t,.07*t,80*t,10*t,!0]}),(0,r.jsx)("meshBannerMaterial",{map:o,"map-anisotropy":16,"map-repeat":[15,1],side:i.$EB,toneMapped:!1,backfaceRepeatX:.2})]})};var u=a(5321);let m=function(e){let{texture:t,...a}=e,{scene:s}=(0,u.p)("/paper.glb"),o=s.children[0];return(0,n.useEffect)(()=>{if(t){var e;t.colorSpace=i.er$,(e=o.material).map=t,e.toneMapped=!1}},[t,o.material]),(0,l.D)((e,a)=>{t&&(t.offset.y+=a/30,t.wrapS=i.GJx,t.wrapT=i.GJx)}),(0,r.jsx)("primitive",{...a,object:s})},f=function(e){let{texture:t}=e,{scene:a}=(0,u.p)("/spiral.glb"),o=a.children[0];return(0,n.useEffect)(()=>{t&&(t.colorSpace=i.er$,o.material=new s({map:t,side:i.$EB,toneMapped:!1}))},[t,o]),(0,l.D)((e,t)=>{let a=o.material;a&&a.map&&(a.map.offset.x-=t/50,a.map.wrapS=i.GJx,a.map.wrapT=i.GJx)}),(0,r.jsx)("primitive",{object:a})}},9909:(e,t,a)=>{"use strict";a.d(t,{S:()=>c});var r=a(5155),i=a(2115),n=a(6265),l=a(4688),s=a(7574);let o=e=>{let{children:t}=e;return(0,r.jsx)(s.K.In,{children:t})},c=(0,i.forwardRef)((e,t)=>{let{children:a,orbit:s,...c}=e,d=(0,i.useRef)(null);return(0,i.useImperativeHandle)(t,()=>d.current),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{ref:d,...c}),(0,r.jsx)(o,{children:(0,r.jsxs)(n.S,{track:d,children:[a,s&&(0,r.jsx)(l.N,{})]})})]})});c.displayName="View"}},e=>{var t=t=>e(e.s=t);e.O(0,[15,545,831,367,413,380,84,441,684,358],()=>t(8252)),_N_E=e.O()}]);