1/*! For license information please see 6374.35de2767be8713b5f1e0.js.LICENSE.txt */ 2"use strict";(self.webpackChunkfolio=self.webpackChunkfolio||[]).push([[6374],{66374(e,t,r){r.d(t,{AH:()=>L,Mj:()=>G,Vu:()=>ne,s0:()=>m});var s=r(24922),n=(()=>{const e=new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),t=new Float32Array([0,0,2,0,0,2]),r=new s.LoY;return r.setAttribute("position",new s.THS(e,3)),r.setAttribute("uv",new s.THS(t,2)),r})(),i=class e{static get fullscreenGeometry(){return n}constructor(e="Pass",t=new s.Z58,r=new s.qUd){this.name=e,this.renderer=null,this.scene=t,this.camera=r,this.screen=null,this.rtt=!0,this.needsSwap=!0,this.needsDepthBlit=!1,this.needsDepthTexture=!1,this.enabled=!0}get renderToScreen(){return!this.rtt}set renderToScreen(e){if(this.rtt===e){const t=this.fullscreenMaterial;null!==t&&(t.needsUpdate=!0),this.rtt=!e}}set mainScene(e){}set mainCamera(e){}setRenderer(e){this.renderer=e}isEnabled(){return this.enabled}setEnabled(e){this.enabled=e}get fullscreenMaterial(){return null!==this.screen?this.screen.material:null}set fullscreenMaterial(t){let r=this.screen;null!==r?r.material=t:(r=new s.eaF(e.fullscreenGeometry,t),r.frustumCulled=!1,null===this.scene&&(this.scene=new s.Z58),this.scene.add(r),this.screen=r)}getFullscreenMaterial(){return this.fullscreenMaterial}setFullscreenMaterial(e){this.fullscreenMaterial=e}getDepthTexture(){return null}setDepthTexture(e,t=s.Rkk){}render(e,t,r,s,n){throw new Error("Render method not implemented!")}setSize(e,t){}initialize(e,t,r){}dispose(){for(const t of Object.keys(this)){const r=this[t];(r instanceof s.nWS||r instanceof s.imn||r instanceof s.gPd||r instanceof e)&&this[t].dispose()}null!==this.fullscreenMaterial&&this.fullscreenMaterial.dispose()}},a=class extends i{constructor(){super("ClearMaskPass",null,null),this.needsSwap=!1}render(e,t,r,s,n){const i=e.state.buffers.stencil;i.setLocked(!1),i.setTest(!1)}},c="varying vec2 vUv;void main(){vUv=position.xy*0.5+0.5;gl_Position=vec4(position.xy,1.0,1.0);}",o=class extends s.BKk{constructor(){super({name:"CopyMaterial",defines:{COLOR_SPACE_CONVERSION:"1",DEPTH_PACKING:"0",COLOR_WRITE:"1"},uniforms:{inputBuffer:new s.nc$(null),depthBuffer:new s.nc$(null),channelWeights:new s.nc$(null),opacity:new s.nc$(1)},blending:s.XIg,toneMapped:!1,depthWrite:!1,depthTest:!1,fragmentShader:"#ifdef COLOR_WRITE\n#include <common>\n#include <dithering_pars_fragment>\n#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D inputBuffer;\n#else\nuniform lowp sampler2D inputBuffer;\n#endif\n#endif\n#ifdef DEPTH_WRITE\n#include <packing>\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nuniform highp sampler2D depthBuffer;\n#else\nuniform mediump sampler2D depthBuffer;\n#endif\nfloat readDepth(const in vec2 uv){\n#if DEPTH_PACKING == 3201\nreturn unpackRGBAToDepth(texture2D(depthBuffer,uv));\n#else\nreturn texture2D(depthBuffer,uv).r;\n#endif\n}\n#endif\n#ifdef USE_WEIGHTS\nuniform vec4 channelWeights;\n#endif\nuniform float opacity;varying vec2 vUv;void main(){\n#ifdef COLOR_WRITE\nvec4 texel=texture2D(inputBuffer,vUv);\n#ifdef USE_WEIGHTS\ntexel*=channelWeights;\n#endif\ngl_FragColor=opacity*texel;\n#ifdef COLOR_SPACE_CONVERSION\n#include <colorspace_fragment>\n#endif\n#include <dithering_fragment>\n#else\ngl_FragColor=vec4(0.0);\n#endif\n#ifdef DEPTH_WRITE\ngl_FragDepth=readDepth(vUv);\n#endif\n}",vertexShader:c}),this.depthFunc=s.lGu}get inputBuffer(){return this.uniforms.inputBuffer.value}set inputBuffer(e){const t=null!==e;this.colorWrite!==t&&(t?this.defines.COLOR_WRITE=!0:delete this.defines.COLOR_WRITE,this.colorWrite=t,this.needsUpdate=!0),this.uniforms.inputBuffer.value=e}get depthBuffer(){return this.uniforms.depthBuffer.value}set depthBuffer(e){const t=null!==e;this.depthWrite!==t&&(t?this.defines.DEPTH_WRITE=!0:delete this.defines.DEPTH_WRITE,this.depthTest=t,this.depthWrite=t,this.needsUpdate=!0),this.uniforms.depthBuffer.value=e}set depthPacking(e){this.defines.DEPTH_PACKING=e.toFixed(0),this.needsUpdate=!0}get colorSpaceConversion(){return void 0!==this.defines.COLOR_SPACE_CONVERSION}set colorSpaceConversion(e){this.colorSpaceConversion!==e&&(e?this.defines.COLOR_SPACE_CONVERSION=!0:delete this.defines.COLOR_SPACE_CONVERSION,this.needsUpdate=!0)}get channelWeights(){return this.uniforms.channelWeights.value}set channelWeights(e){null!==e?(this.defines.USE_WEIGHTS="1",this.uniforms.channelWeights.value=e):delete this.defines.USE_WEIGHTS,this.needsUpdate=!0}setInputBuffer(e){this.uniforms.inputBuffer.value=e}getOpacity(e){return this.uniforms.opacity.value}setOpacity(e){this.uniforms.opacity.value=e}},l=class extends i{constructor(e,t=!0){super("CopyPass"),this.fullscreenMaterial=new o,this.needsSwap=!1,this.renderTarget=e,void 0===e&&(this.renderTarget=new s.nWS(1,1,{minFilter:s.k6q,magFilter:s.k6q,stencilBuffer:!1,depthBuffer:!1}),this.renderTarget.texture.name="CopyPass.Target"),this.autoResize=t}get resize(){return this.autoResize}set resize(e){this.autoResize=e}get texture(){return this.renderTarget.texture}getTexture(){return this.renderTarget.texture}setAutoResizeEnabled(e){this.autoResize=e}render(e,t,r,s,n){this.fullscreenMaterial.inputBuffer=t.texture,e.setRenderTarget(this.renderToScreen?null:this.renderTarget),e.render(this.scene,this.camera)}setSize(e,t){this.autoResize&&this.renderTarget.setSize(e,t)}initialize(e,t,r){void 0!==r&&(this.renderTarget.texture.type=r,r!==s.OUM?this.fullscreenMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1":null!==e&&e.outputColorSpace
vendor: 4,190 bytes, line 2
2===s.er$&&(this.renderTarget.texture.colorSpace=s.er$))}},d=new s.Q1f,h=class extends i{constructor(e=!0,t=!0,r=!1){super("ClearPass",null,null),this.needsSwap=!1,this.color=e,this.depth=t,this.stencil=r,this.overrideClearColor=null,this.overrideClearAlpha=-1}setClearFlags(e,t,r){this.color=e,this.depth=t,this.stencil=r}getOverrideClearColor(){return this.overrideClearColor}setOverrideClearColor(e){this.overrideClearColor=e}getOverrideClearAlpha(){return this.overrideClearAlpha}setOverrideClearAlpha(e){this.overrideClearAlpha=e}render(e,t,r,s,n){const i=this.overrideClearColor,a=this.overrideClearAlpha,c=e.getClearAlpha(),o=null!==i,l=a>=0;o?(e.getClearColor(d),e.setClearColor(i,l?a:c)):l&&e.setClearAlpha(a),e.setRenderTarget(this.renderToScreen?null:t),e.clear(this.color,this.depth,this.stencil),o?e.setClearColor(d,c):l&&e.setClearAlpha(c)}},u=class extends i{constructor(e,t){super("MaskPass",e,t),this.needsSwap=!1,this.clearPass=new h(!1,!1,!0),this.inverse=!1}set mainScene(e){this.scene=e}set mainCamera(e){this.camera=e}get inverted(){return this.inverse}set inverted(e){this.inverse=e}get clear(){return this.clearPass.enabled}set clear(e){this.clearPass.enabled=e}getClearPass(){return this.clearPass}isInverted(){return this.inverted}setInverted(e){this.inverted=e}render(e,t,r,s,n){const i=e.getContext(),a=e.state.buffers,c=this.scene,o=this.camera,l=this.clearPass,d=this.inverted?0:1,h=1-d;a.color.setMask(!1),a.depth.setMask(!1),a.color.setLocked(!0),a.depth.setLocked(!0),a.stencil.setTest(!0),a.stencil.setOp(i.REPLACE,i.REPLACE,i.REPLACE),a.stencil.setFunc(i.ALWAYS,d,4294967295),a.stencil.setClear(h),a.stencil.setLocked(!0),this.clearPass.enabled&&(this.renderToScreen?l.render(e,null):(l.render(e,t),l.render(e,r))),this.renderToScreen?(e.setRenderTarget(null),e.render(c,o)):(e.setRenderTarget(t),e.render(c,o),e.setRenderTarget(r),e.render(c,o)),a.color.setLocked(!1),a.depth.setLocked(!1),a.stencil.setLocked(!1),a.stencil.setFunc(i.EQUAL,1,4294967295),a.stencil.setOp(i.KEEP,i.KEEP,i.KEEP),a.stencil.setLocked(!0)}},f=.001,p=class{constructor(){this.startTime=performance.now(),this.previousTime=0,this.currentTime=0,this._delta=0,this._elapsed=0,this._fixedDelta=1e3/60,this.timescale=1,this.useFixedDelta=!1,this._autoReset=!1}get autoReset(){return this._autoReset}set autoReset(e){"undefined"!=typeof document&&void 0!==document.hidden&&(e?document.addEventListener("visibilitychange",this):document.removeEventListener("visibilitychange",this),this._autoReset=e)}get delta(){return this._delta*f}get fixedDelta(){return this._fixedDelta*f}set fixedDelta(e){this._fixedDelta=1e3*e}get elapsed(){return this._elapsed*f}update(e){this.useFixedDelta?this._delta=this.fixedDelta:(this.previousTime=this.currentTime,this.currentTime=(void 0!==e?e:performance.now())-this.startTime,this._delta=this.currentTime-this.previousTime),this._delta*=this.timescale,this._elapsed+=this._delta}reset(){this._delta=0,this._elapsed=0,this.currentTime=performance.now()-this.startTime}getDelta(){return this.delta}getElapsed(){return this.elapsed}handleEvent(e){document.hidden||(this.currentTime=performance.now()-this.startTime)}dispose(){this.autoReset=!1}},m=class{constructor(e=null,{depthBuffer:t=!0,stencilBuffer:r=!1,multisampling:s=0,frameBufferType:n}={}){this.renderer=null,this.inputBuffer=this.createBuffer(t,r,n,s),this.outputBuffer=this.inputBuffer.clone(),this.copyPass=new l,this.depthTexture=null,this.depthRenderTarget=null,this.passes=[],this.timer=new p,this.autoRenderToScreen=!0,this.setRenderer(e)}get multisampling(){return this.inputBuffer.samples}set multisampling(e){const t=this.inputBuffer,r=this.multisampling;r>0&&e>0?(this.inputBuffer.samples=e,this.outputBuffer.samples=e,this.inputBuffer.dispose(),this.outputBuffer.dispose()):r!==e&&(this.inputBuffer.dispose(),this.outputBuffer.dispose(),this.inputBuffer=this.createBuffer(t.depthBuffer,t.stencilBuffer,t.texture.type,e),this.outputBuffer=this.inputBuffer.clone())}getTimer(){return this.timer}getRenderer(){return this.renderer}setRenderer(e){if(this.renderer=e,null!==e){const t=e.getSize(new s.I9Y),r=e.getContext().getContextAttributes().alpha,n=this.inputBuffer.texture.type;
2n===s.OUM&&e.outputColorSpace===s.er$&&(this.inputBuffer.texture.colorSpace=s.er$,this.outputBuffer.texture.colorSpace=s.er$,this.inputBuffer.dispose(),this.outputBuffer.dispose()),e.autoClear=!1,this.setSize(t.width,t.height);for(const t of this.passes)t.initialize(e,r,n)}}replaceRenderer(e,t=!0){const r=this.renderer,s=r.domElement.parentNode;return this.setRenderer(e),t&&null!==s&&(s.removeChild(r.domElement),s.appendChild(e.domElement)),r}createDepthTexture(){const e=this.inputBuffer,t=new s.VCu;this.depthTexture=t,e.stencilBuffer?(t.format=s.dcC,t.type=s.V3x):t.type=s.RQf;const r=t.clone();return r.name="EffectComposer.StableDepth",this.depthRenderTarget=new s.nWS(e.width,e.height,{depthBuffer:!0,stencilBuffer:e.stencilBuffer,depthTexture:r}),r}blitDepthBuffer(e){const t=this.renderer,r=this.depthRenderTarget,s=t.properties,n=t.getContext();t.setRenderTarget(r);const i=s.get(e).__webglFramebuffer,a=s.get(r).__webglFramebuffer,c=e.stencilBuffer?n.DEPTH_BUFFER_BIT|n.STENCIL_BUFFER_BIT:n.DEPTH_BUFFER_BIT;n.bindFramebuffer(n.READ_FRAMEBUFFER,i),n.bindFramebuffer(n.DRAW_FRAMEBUFFER,a),n.blitFramebuffer(0,0,e.width,e.height,0,0,r.width,r.height,c,n.NEAREST),n.bindFramebuffer(n.READ_FRAMEBUFFER,null),n.bindFramebuffer(n.DRAW_FRAMEBUFFER,null),t.setRenderTarget(null)}deleteDepthTexture(){if(null!==this.depthTexture){this.depthTexture.dispose(),this.depthTexture=null,this.depthRenderTarget.dispose(),this.depthRenderTarget=null,this.inputBuffer.depthTexture=null,this.outputBuffer.depthTexture=null;for(const e of this.passes)e.setDepthTexture(null)}}createBuffer(e,t,r,n){const i=this.renderer,a=null===i?new s.I9Y:i.getDrawingBufferSize(new s.I9Y),c={minFilter:s.k6q,magFilter:s.k6q,stencilBuffer:t,depthBuffer:e,type:r},o=new s.nWS(a.width,a.height,c);return n>0&&(o.samples=n),r===s.OUM&&null!==i&&i.outputColorSpace===s.er$&&(o.texture.colorSpace=s.er$),o.texture.name="EffectComposer.Buffer",o.texture.generateMipmaps=!1,o}setMainScene(e){for(const t of this.passes)t.mainScene=e}setMainCamera(e){for(const t of this.passes)t.mainCamera=e}addPass(e,t){const r=this.passes,n=this.renderer,i=n.getDrawingBufferSize(new s.I9Y),a=n.getContext().getContextAttributes().alpha,c=this.inputBuffer.texture.type;if(e.renderer=n,e.setSize(i.width,i.height),e.initialize(n,a,c),this.autoRenderToScreen&&(r.length>0&&(r[r.length-1].renderToScreen=!1),e.renderToScreen&&(this.autoRenderToScreen=!1)),void 0!==t?r.splice(t,0,e):r.push(e),this.autoRenderToScreen&&(r[r.length-1].renderToScreen=!0),e.needsDepthTexture||null!==this.depthTexture)if(null===this.depthTexture){const t=this.createDepthTexture();for(e of r)e.setDepthTexture(t)}else{const t=this.depthRenderTarget.depthTexture;e.setDepthTexture(t)}}removePass(e){const t=this.passes,r=t.indexOf(e);if(-1!==r&&t.splice(r,1).length>0){if(null!==this.depthTexture){const r=(e,t)=>e||t.needsDepthTexture;if(!t.reduce(r,!1)){const t=this.depthRenderTarget.depthTexture;e.getDepthTexture()===t&&e.setDepthTexture(null),this.deleteDepthTexture()}}this.autoRenderToScreen&&r===t.length&&(e.renderToScreen=!1,t.length>0&&(t[t.length-1].renderToScreen=!0))}}removeAllPasses(){const e=this.passes;this.deleteDepthTexture(),e.length>0&&(this.autoRenderToScreen&&(e[e.length-1].renderToScreen=!1),this.passes=[])}render(e){const t=this.renderer,r=this.copyPass;let s,n=this.inputBuffer,i=this.outputBuffer,c=!1;
2void 0===e&&(this.timer.update(),e=this.timer.getDelta());for(const o of this.passes)if(o.enabled){if(n.depthTexture=this.depthTexture,i.depthTexture=null,o.render(t,n,i,e,c),o.needsDepthBlit&&null!==this.depthRenderTarget&&this.blitDepthBuffer(n),o.needsSwap){if(c){r.renderToScreen=o.renderToScreen;const s=t.getContext(),a=t.state.buffers.stencil;a.setFunc(s.NOTEQUAL,1,4294967295),r.render(t,n,i,e,c),a.setFunc(s.EQUAL,1,4294967295)}s=n,n=i,i=s}o instanceof u?c=!0:o instanceof a&&(c=!1)}}setSize(e,t,r){const n=this.renderer,i=n.getSize(new s.I9Y);void 0!==e&&void 0!==t||(e=i.width,t=i.height),i.width===e&&i.height===t||n.setSize(e,t,r);const a=n.getDrawingBufferSize(new s.I9Y);this.inputBuffer.setSize(a.width,a.height),this.outputBuffer.setSize(a.width,a.height),null!==this.depthRenderTarget&&this.depthRenderTarget.setSize(a.width,a.height);for(const e of this.passes)e.setSize(a.width,a.height)}reset(){this.dispose(),this.autoRenderToScreen=!0}dispose(){for(const e of this.passes)e.dispose();this.passes=[],null!==this.inputBuffer&&this.inputBuffer.dispose(),null!==this.outputBuffer&&this.outputBuffer.dispose(),this.deleteDepthTexture(),this.copyPass.dispose(),this.timer.dispose(),i.fullscreenGeometry.dispose()}},g=0,v=1,b=2,T={FRAGMENT_HEAD:"FRAGMENT_HEAD",FRAGMENT_MAIN_UV:"FRAGMENT_MAIN_UV",FRAGMENT_MAIN_IMAGE:"FRAGMENT_MAIN_IMAGE",VERTEX_HEAD:"VERTEX_HEAD",VERTEX_MAIN_SUPPORT:"VERTEX_MAIN_SUPPORT"},E=class{constructor(){this.shaderParts=new Map([[T.FRAGMENT_HEAD,null],[T.FRAGMENT_MAIN_UV,null],[T.FRAGMENT_MAIN_IMAGE,null],[T.VERTEX_HEAD,null],[T.VERTEX_MAIN_SUPPORT,null]]),this.defines=new Map,this.uniforms=new Map,this.blendModes=new Map,this.extensions=new Set,this.attributes=g,this.varyings=new Set,this.uvTransformation=!1,this.readDepth=!1,this.colorSpace=s.Zr2}};function A(e){let t;if(0===e)t=new Float64Array(0);else if(1===e)t=new Float64Array([1]);else if(e>1){let r=new Float64Array(e),s=new Float64Array(e);for(let n=1;n<=e;++n){for(let e=0;e<n;++e)s[e]=0===e||e===n-1?1:r[e-1]+r[e];t=s,s=r,r=t}}return t}var S=class{constructor(e,t=2){this.weights=null,this.offsets=null,this.linearWeights=null,this.linearOffsets=null,this.generate(e,t)}get steps(){return null===this.offsets?0:this.offsets.length}get linearSteps(){return null===this.linearOffsets?0:this.linearOffsets.length}generate(e,t){if(e<3||e>1020)throw new Error("The kernel size must be in the range [3, 1020]");const r=e+2*t,s=t>0?A(r).slice(t,-t):A(r),n=Math.floor((s.length-1)/2),i=s.reduce((e,t)=>e+t,0),a=s.slice(n),c=[...Array(n+1).keys()],o=new Float64Array(Math.floor(c.length/2)),l=new Float64Array(o.length);o[0]=a[0]/i;for(let e=1,t=1,r=c.length-1;e<r;e+=2,++t){const r=c[e],s=c[e+1],n=a[e],d=a[e+1],h=n+d,u=(r*n+s*d)/h;o[t]=h/i,l[t]=u}for(let e=0,t=a.length,r=1/i;e<t;++e)a[e]*=r;const d=2*(o.reduce((e,t)=>e+t,0)-.5*o[0]);if(0!==d)for(let e=0,t=o.length,r=1/d;e<t;++e)o[e]*=r;this.offsets=c,this.weights=a,this.linearOffsets=l,this.linearWeights=o}},w=!1,y=class{constructor(e=null){this.originalMaterials=new Map,this.material=null,this.materials=null,this.materialsBackSide=null,this.materialsDoubleSide=null,this.materialsFlatShaded=null,this.materialsFlatShadedBackSide=null,this.materialsFlatShadedDoubleSide=null,this.setMaterial(e),this.meshCount=0,this.replaceMaterial=e=>{if(e.isMesh){let t;if(e.material.flatShading)switch(e.material.side){case s.$EB:t=this.materialsFlatShadedDoubleSide;break;case s.hsX:t=this.materialsFlatShadedBackSide;break;default:t=this.materialsFlatShaded}else switch(e.material.side){case s.$EB:t=this.materialsDoubleSide;break;case s.hsX:t=this.materialsBackSide;break;default:t=this.materials}this.originalMaterials.set(e,e.material),e.isSkinnedMesh?e.material=t[2]:e.isInstancedMesh?e.material=t[1]:e.material=t[0],++this.meshCount}}}cloneMaterial(e){if(!(e instanceof s.BKk))return e.clone();const t=e.uniforms,r=new Map;for(const e in t){const s=t[e].value;s.isRenderTargetTexture&&(t[e].value=null,r.set(e,s))}const n=e.clone();for(const e of r)t[e[0]].value=e[1],n.uniforms[e[0]].value=e[1];return n}setMaterial(e){if(this.disposeMaterials(),this.material=e,null!==e){const t=this.materials=[this.cloneMaterial(e),this.cloneMaterial(e),this.cloneMaterial(e)];for(const r of t)r.uniforms=Object.assign({},e.uniforms),r.side=s.hB5;t[2].skinning=!0,this.materialsBackSide=t.map(t=>{const r=this.cloneMaterial(t);return r.uniforms=Object.assign({},e.uniforms),r.side=s.hsX,r}),this.materialsDoubleSide=t.map(t=>{const r=this.cloneMaterial(t);return r.uniforms=Object.assign({},e.uniforms),r.side=s.$EB,r}),this.materialsFlatShaded=t.map(t=>{const r=this.cloneMaterial(t);return r.uniforms=Object.assign({},e.uniforms),r.flatShading=!0,r}),this.materialsFlatShadedBackSide=t.map(t=>{const r=this.cloneMaterial(t);return r.uniforms=Object.assign({},e.uniforms),r.flatShading=!0,r.side=s.hsX,r}),this.materialsFlatShadedDoubleSide=t.map(t=>{const r=this.cloneMaterial(t);return r.uniforms=Object.assign({},e.uniforms),r.flatShading=!0,r.side=s.$EB,r})}}render(e,t,r){const s=e.shadowMap.enabled;if(e.shadowMap.enabled=!1,w){const s=this.originalMaterials;this.meshCount=0,t.traverse(this.replaceMaterial),e.render(t,r);for(const e of s)e[0].material=e[1];this.meshCount!==s.size&&s.clear()}else{const s=t.overrideMaterial;t.overrideMaterial=this.material,e.render(t,r),t.overrideMaterial=s}e.shadowMap.enabled=s}disposeMaterials(){if(null!==this.material){const e=this.materials.concat(this.materialsBackSide).concat(this.materialsDoubleSide).concat(this.materialsFlatShaded).concat(this.materialsFlatShadedBackSide).concat(this.materialsFlatShadedDoubleSide);for(const t of e)t.dispose()}}dispose(){this.originalMaterials.clear(),this.disposeMaterials()}static get workaroundEnabled(){return w}static set workaroundEnabled(e){w=e}},x=-1,R=(s.Qev,new class{constructor(e=0){this.nextId=e}getNextId(){return this.nextId++}reset(e=0){return this.nextId=e,this}}(2)),M=(Set,1),F=9,B=21,_=23,C=24,D=28,U=30,P=new Map([[0,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=dst.rgb+src.rgb;return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"],[M,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){return mix(dst,src,src.a*opacity);}"],[2,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=(dst.rgb+src.rgb)*0.5;return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"],[3,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 a=RGBToHSL(dst.rgb);vec3 b=RGBToHSL(src.rgb);vec3 c=HSLToRGB(vec3(b.xy,a.z));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"],[4,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 a=dst.rgb,b=src.rgb;vec3 c=mix(step(0.0,b)*(1.0-min(vec3(1.0),(1.0-a)/max(b,1e-9))),vec3(1.0),step(1.0,a));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"],[5,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 a=dst.rgb,b=src.rgb;vec3 c=step(0.0,a)*mix(min(vec3(1.0),a/max(1.0-b,1e-9)),vec3(1.0),step(1.0,b));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"],[6,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=min(dst.rgb,src.rgb);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"],[7,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=abs(dst.rgb-src.rgb);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"],[8,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=dst.rgb/max(src.rgb,1e-9);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"],[F,null],[10,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=dst.rgb+src.rgb-2.0*dst.rgb*src.rgb;return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"],[11,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 a=min(dst.rgb,1.0);vec3 b=min(src.rgb,1.0);vec3 c=mix(2.0*a*b,1.0-2.0*(1.0-a)*(1.0-b),step(0.5,b));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"],[12,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=step(1.0,dst.rgb+src.rgb);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"],[13,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 a=RGBToHSL(dst.rgb);vec3 b=RGBToHSL(src.rgb);vec3 c=HSLToRGB(vec3(b.x,a.yz));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"],[14,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=max(1.0-src.rgb,0.0);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"],[15,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=src.rgb*max(1.0-dst.rgb,0.0);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"],[16,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=max(dst.rgb,src.rgb);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"],[17,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=clamp(src.rgb+dst.rgb-1.0,0.0,1.0);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"],[18,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=min(dst.rgb+src.rgb,1.0);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"],[19,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=clamp(2.0*src.rgb+dst.rgb-1.0,0.0,1.0);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"],[20,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 a=RGBToHSL(dst.rgb);vec3 b=RGBToHSL(src.rgb);vec3 c=HSLToRGB(vec3(a.xy,b.z));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"],[B,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=dst.rgb*src.rgb;return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"],[22,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=max(1.0-abs(1.0-dst.rgb-src.rgb),0.0);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"],[_,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){return mix(dst,src,opacity);}"],[C,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 a=2.0*src.rgb*dst.rgb;vec3 b=1.0-2.0*(1.0-src.rgb)*(1.0-dst.rgb);vec3 c=mix(a,b,step(0.5,dst.rgb));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"],[25,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 src2=2.0*src.rgb;vec3 c=mix(mix(src2,dst.rgb,step(0.5*dst.rgb,src.rgb)),max(src2-1.0,vec3(0.0)),step(dst.rgb,src2-1.0));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"],[26,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 a=min(dst.rgb*dst.rgb/max(1.0-src.rgb,1e-9),1.0);vec3 c=mix(a,src.rgb,step(1.0,src.rgb));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"],[27,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 a=RGBToHSL(dst.rgb);vec3 b=RGBToHSL(src.rgb);vec3 c=HSLToRGB(vec3(a.x,b.y,a.z));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"],[D,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=dst.rgb+src.rgb-min(dst.rgb*src.rgb,1.0);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"],[29,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 src2=2.0*src.rgb;vec3 d=dst.rgb+(src2-1.0);vec3 w=step(0.5,src.rgb);vec3 a=dst.rgb-(1.0-src2)*dst.rgb*(1.0-dst.rgb);vec3 b=mix(d*(sqrt(dst.rgb)-dst.rgb),d*dst.rgb*((16.0*dst.rgb-12.0)*dst.rgb+3.0),w*(1.0-step(0.25,dst.rgb)));vec3 c=mix(a,b,w);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"],[U,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){return src;}"],[31,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=max(dst.rgb-src.rgb,0.0);return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"],[32,"vec4 blend(const in vec4 dst,const in vec4 src,const in float opacity){vec3 c=mix(max(1.0-min((1.0-dst.rgb)/(2.0*src.rgb),1.0),0.0),min(dst.rgb/(2.0*(1.0-src.rgb)),1.0),step(0.5,src.rgb));return mix(dst,vec4(c,max(dst.a,src.a)),opacity);}"]]),I=class extends s.Qev{constructor(e,t=1){super(),this._blendFunction=e,this.opacity=new s.nc$(t)}getOpacity(){return this.opacity.value}setOpacity(e){this.opacity.value=e}get blendFunction(){return this._blendFunction}set blendFunction(e){this._blendFunction=e,this.dispatchEvent({type:"change"})}getBlendFunction(){return this.blendFunction}setBlendFunction(e){this.blendFunction=e}getShaderCode(){return P.get(this.blendFunction)}},G=(s.GOR,class extends s.Qev{constructor(e,t,{attributes:r=g,blendFunction:n=_,defines:i=new Map,uniforms:a=new Map,extensions:c=null,vertexShader:o=null}={}){super(),this.name=e,this.renderer=null,this.attributes=r,this.fragmentShader=t,this.vertexShader=o,this.defines=i,this.uniforms=a,this.extensions=c,this.blendMode=new I(n),this.blendMode.addEventListener("change",e=>
2this.setChanged()),this._inputColorSpace=s.Zr2,this._outputColorSpace=s.jf0}get inputColorSpace(){return this._inputColorSpace}set inputColorSpace(e){this._inputColorSpace=e,this.setChanged()}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e,this.setChanged()}set mainScene(e){}set mainCamera(e){}getName(){return this.name}setRenderer(e){this.renderer=e}getDefines(){return this.defines}getUniforms(){return this.uniforms}getExtensions(){return this.extensions}getBlendMode(){return this.blendMode}getAttributes(){return this.attributes}setAttributes(e){this.attributes=e,this.setChanged()}getFragmentShader(){return this.fragmentShader}setFragmentShader(e){this.fragmentShader=e,this.setChanged()}getVertexShader(){return this.vertexShader}setVertexShader(e){this.vertexShader=e,this.setChanged()}setChanged(){this.dispatchEvent({type:"change"})}setDepthTexture(e,t=s.Rkk){}update(e,t,r){}setSize(e,t){}initialize(e,t,r){}dispose(){for(const e of Object.keys(this)){const t=this[e];(t instanceof s.nWS||t instanceof s.imn||t instanceof s.gPd||t instanceof i)&&this[e].dispose()}}}),N=2,k=[new Float32Array([0,0]),new Float32Array([0,1,1]),new Float32Array([0,1,1,2]),new Float32Array([0,1,2,2,3]),new Float32Array([0,1,2,3,4,4,5]),new Float32Array([0,1,2,3,4,5,7,8,9,10])],O=(s.BKk,s.BKk,s.BKk,s.BKk,0),H=0;s.BKk,s.BKk,s.BKk;s.GYF;s.BKk;var L=class extends i{constructor(e,t,r=null){super("RenderPass",e,t),this.needsSwap=!1,this.needsDepthBlit=!0,this.clearPass=new h,this.overrideMaterialManager=null===r?null:new y(r),this.ignoreBackground=!1,this.skipShadowMapUpdate=!1,this.selection=null}set mainScene(e){this.scene=e}set mainCamera(e){this.camera=e}get renderToScreen(){return super.renderToScreen}set renderToScreen(e){super.renderToScreen=e,this.clearPass.renderToScreen=e}get overrideMaterial(){const e=this.overrideMaterialManager;return null!==e?e.material:null}set overrideMaterial(e){const t=this.overrideMaterialManager;null!==e?null!==t?t.setMaterial(e):this.overrideMaterialManager=new y(e):null!==t&&(t.dispose(),this.overrideMaterialManager=null)}getOverrideMaterial(){return this.overrideMaterial}setOverrideMaterial(e){this.overrideMaterial=e}get clear(){return this.clearPass.enabled}set clear(e){this.clearPass.enabled=e}getSelection(){return this.selection}setSelection(e){this.selection=e}isBackgroundDisabled(){return this.ignoreBackground}setBackgroundDisabled(e){this.ignoreBackground=e}isShadowMapDisabled(){return this.skipShadowMapUpdate}setShadowMapDisabled(e){this.skipShadowMapUpdate=e}getClearPass(){return this.clearPass}render(e,t,r,s,n){const i=this.scene,a=this.camera,c=this.selection,o=a.layers.mask,l=i.background,d=e.shadowMap.autoUpdate,h=this.renderToScreen?null:t;null!==c&&a.layers.set(c.getLayer()),this.skipShadowMapUpdate&&(e.shadowMap.autoUpdate=!1),(this.ignoreBackground||null!==this.clearPass.overrideClearColor)&&(i.background=null),this.clearPass.enabled&&this.clearPass.render(e,t),e.setRenderTarget(h),null!==this.overrideMaterialManager?this.overrideMaterialManager.render(e,i,a):e.render(i,a),a.layers.mask=o,i.background=l,e.shadowMap.autoUpdate=d}},V="lut.scaleup";function z(e,t,r){const s=document.createElement("canvas"),n=s.getContext("2d");if(s.width=e,s.height=t,r instanceof Image)n.drawImage(r,0,0);else{const s=n.createImageData(e,t);s.data.set(r),n.putImageData(s,0,0)}return s}var $=class e{constructor(e=0,t=0,r=null){this.width=e,this.height=t,this.data=r}toCanvas(){return"undefined"==typeof document?null:z(this.width,this.height,this.data)}static from(t){const{width:r,height:s}=t;let n;if(t instanceof Image){const e=z(r,s,t);if(null!==e){n=e.getContext("2d").getImageData(0,0,r,s).data}}else n=t.data;return new e(r,s,n)}},W=new s.Q1f,K=(s.dYF,0),X=1,Q=2,Y=2;s.BKk,s.BKk,Math.PI,s.BKk,s.BKk,s.BKk;function j(e,t,r){return e*(t-r)-t}function q(e,t,r){return Math.min(Math.max((e+t)/(t-r),0),1)}s.BKk,s.BKk,s.BKk,s.BKk,s.BKk;var Z="#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#define packFloatToRGBA(v) packDepthToRGBA(v)\n#define unpackRGBAToFloat(v) unpackRGBAToDepth(v)\n#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D inputBuffer;\n#else\nuniform lowp sampler2D inputBuffer;\n#endif\n#if DEPTH_PACKING == 3201\nuniform lowp sampler2D depthBuffer;\n#elif defined(GL_FRAGMENT_PRECISION_HIGH)\nuniform highp sampler2D depthBuffer;\n#else\nuniform mediump sampler2D depthBuffer;\n#endif\nuniform vec2 resolution;uniform vec2 texelSize;uniform float cameraNear;uniform float cameraFar;uniform float aspect;uniform float time;varying vec2 vUv;vec4 sRGBToLinear(const in vec4 value){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);}float readDepth(const in vec2 uv){\n#if DEPTH_PACKING == 3201\nfloat depth=unpackRGBAToDepth(texture2D(depthBuffer,uv));\n#else\nfloat depth=texture2D(depthBuffer,uv).r;\n#endif\n#if defined(USE_LOGARITHMIC_DEPTH_BUFFER) || defined(LOG_DEPTH)\nfloat d=pow(2.0,depth*log2(cameraFar+1.0))-1.0;float a=cameraFar/(cameraFar-cameraNear);float b=cameraFar*cameraNear/(cameraNear-cameraFar);depth=a+b/d;\n#elif defined(USE_REVERSED_DEPTH_BUFFER)\ndepth=1.0-depth;\n#endif\nreturn depth;}float getViewZ(const in float depth){\n#ifdef PERSPECTIVE_CAMERA\nreturn perspectiveDepthToViewZ(depth,cameraNear,cameraFar);\n#else\nreturn orthographicDepthToViewZ(depth,cameraNear,cameraFar);\n#endif\n}vec3 RGBToHCV(const in vec3 RGB){vec4 P=mix(vec4(RGB.bg,-1.0,2.0/3.0),vec4(RGB.gb,0.0,-1.0/3.0),step(RGB.b,RGB.g));vec4 Q=mix(vec4(P.xyw,RGB.r),vec4(RGB.r,P.yzx),step(P.x,RGB.r));float C=Q.x-min(Q.w,Q.y);float H=abs((Q.w-Q.y)/(6.0*C+EPSILON)+Q.z);return vec3(H,C,Q.x);}vec3 RGBToHSL(const in vec3 RGB){vec3 HCV=RGBToHCV(RGB);float L=HCV.z-HCV.y*0.5;float S=HCV.y/(1.0-abs(L*2.0-1.0)+EPSILON);return vec3(HCV.x,S,L);}vec3 HueToRGB(const in float H){float R=abs(H*6.0-3.0)-1.0;float G=2.0-abs(H*6.0-2.0);float B=2.0-abs(H*6.0-4.0);return clamp(vec3(R,G,B),0.0,1.0);}vec3 HSLToRGB(const in vec3 HSL){vec3 RGB=HueToRGB(HSL.x);float C=(1.0-abs(2.0*HSL.z-1.0))*HSL.y;return(RGB-0.5)*C+HSL.z;}FRAGMENT_HEAD void main(){FRAGMENT_MAIN_UV vec4 color0=texture2D(inputBuffer,UV);vec4 color1=vec4(0.0);FRAGMENT_MAIN_IMAGE color0.a=clamp(color0.a,0.0,1.0);gl_FragColor=color0;\n#ifdef ENCODE_OUTPUT\n#include <colorspace_fragment>\n#endif\n#include <dithering_fragment>\n}",J="uniform vec2 resolution;uniform vec2 texelSize;uniform float cameraNear;uniform float cameraFar;uniform float aspect;uniform float time;varying vec2 vUv;VERTEX_HEAD void main(){vUv=position.xy*0.5+0.5;VERTEX_MAIN_SUPPORT gl_Position=vec4(position.xy,1.0,1.0);}",ee=class extends s.BKk{constructor(e,t,r,n,i=!1){super({name:"EffectMaterial",defines:{THREE_REVISION:s.sPf.replace(/\D+/g,""),DEPTH_PACKING:"0",ENCODE_OUTPUT:"1"},uniforms:{inputBuffer:new s.nc$(null),depthBuffer:new s.nc$(null),resolution:new s.nc$(new s.I9Y),texelSize:new s.nc$(new s.I9Y),cameraNear:new s.nc$(.3),cameraFar:new s.nc$(1e3),aspect:ne
2w s.nc$(1),time:new s.nc$(0)},blending:s.XIg,toneMapped:!1,depthWrite:!1,depthTest:!1,dithering:i}),e&&this.setShaderParts(e),t&&this.setDefines(t),r&&this.setUniforms(r),this.copyCameraSettings(n)}set inputBuffer(e){this.uniforms.inputBuffer.value=e}setInputBuffer(e){this.uniforms.inputBuffer.value=e}get depthBuffer(){return this.uniforms.depthBuffer.value}set depthBuffer(e){this.uniforms.depthBuffer.value=e}get depthPacking(){return Number(this.defines.DEPTH_PACKING)}set depthPacking(e){this.defines.DEPTH_PACKING=e.toFixed(0),this.needsUpdate=!0}setDepthBuffer(e,t=s.Rkk){this.depthBuffer=e,this.depthPacking=t}setShaderData(e){this.setShaderParts(e.shaderParts),this.setDefines(e.defines),this.setUniforms(e.uniforms),this.setExtensions(e.extensions)}setShaderParts(e){return this.fragmentShader=Z.replace(T.FRAGMENT_HEAD,e.get(T.FRAGMENT_HEAD)||"").replace(T.FRAGMENT_MAIN_UV,e.get(T.FRAGMENT_MAIN_UV)||"").replace(T.FRAGMENT_MAIN_IMAGE,e.get(T.FRAGMENT_MAIN_IMAGE)||""),this.vertexShader=J.replace(T.VERTEX_HEAD,e.get(T.VERTEX_HEAD)||"").replace(T.VERTEX_MAIN_SUPPORT,e.get(T.VERTEX_MAIN_SUPPORT)||""),this.needsUpdate=!0,this}setDefines(e){for(const t of e.entries())this.defines[t[0]]=t[1];return this.needsUpdate=!0,this}setUniforms(e){for(const t of e.entries())this.uniforms[t[0]]=t[1];return this}setExtensions(e){this.extensions={};for(const t of e)this.extensions[t]=!0;return this}get encodeOutput(){return void 0!==this.defines.ENCODE_OUTPUT}set encodeOutput(e){this.encodeOutput!==e&&(e?this.defines.ENCODE_OUTPUT="1":delete this.defines.ENCODE_OUTPUT,this.needsUpdate=!0)}isOutputEncodingEnabled(e){return this.encodeOutput}setOutputEncodingEnabled(e){this.encodeOutput=e}get time(){return this.uniforms.time.value}set time(e){this.uniforms.time.value=e}setDeltaTime(e){this.uniforms.time.value+=e}adoptCameraSettings(e){this.copyCameraSettings(e)}copyCameraSettings(e){e&&(this.uniforms.cameraNear.value=e.near,this.uniforms.cameraFar.value=e.far,e instanceof s.ubm?this.defines.PERSPECTIVE_CAMERA="1":delete this.defines.PERSPECTIVE_CAMERA,this.needsUpdate=!0)}setSize(e,t){const r=this.uniforms;r.resolution.value.set(e,t),r.texelSize.value.set(1/e,1/t),r.aspect.value=e/t}static get Section(){return T}},te=(s.BKk,Number(s.sPf.replace(/\D+/g,"")),255/256);new Float32Array([5.9371814131736755e-8,te/65536,.0038909912109375,te]),new Float32Array([te,.0038909912109375,te/65536,1/256**3]);function re(e,t,r){for(const s of t){const t="$1"+e+s.charAt(0).toUpperCase()+s.slice(1),n=new RegExp("([^\\.])(\\b"+s+"\\b)","g");for(const e of r.entries())null!==e[1]&&r.set(e[0],e[1].replace(n,t))}}function se(e,t,r){let n=t.getFragmentShader(),i=t.getVertexShader();const a=void 0!==n&&/mainImage/.test(n),c=void 0!==n&&/mainUv/.test(n);if(r.attributes|=t.getAttributes(),void 0===n)throw new Error(`Missing fragment shader (${t.name})`);if(c&&0!==(r.attributes&b))throw new Error(`Effects that transform UVs are incompatible with convolution effects (${t.name})`);if(!a&&!c)throw new Error(`Could not find mainImage or mainUv function (${t.name})`);{const o=/\w+\s+(\w+)\([\w\s,]*\)\s*{/g,l=r.shaderParts;let d=l.get(T.FRAGMENT_HEAD)||"",h=l.get(T.FRAGMENT_MAIN_UV)||"",u=l.get(T.FRAGMENT_MAIN_IMAGE)||"",f=l.get(T.VERTEX_HEAD)||"",p=l.get(T.VERTEX_MAIN_SUPPORT)||"";const m=new Set,g=new Set;if(c&&(h+=`\t${e}MainUv(UV);\n`,r.uvTransformation=!0),null!==i&&/mainSupport/.test(i)){const t=/mainSupport *\([\w\s]*?uv\s*?\)/.test(i);p+=`\t${e}MainSupport(`,p+=t?"vUv);\n":");\n";for(const e of i.matchAll(/(?:varying\s+\w+\s+([\S\s]*?);)/g))for(const t of e[1].split(/\s*,\s*/))r.varyings.add(t),m.add(t),g.add(t);for(const e of i.matchAll(o))g.add(e[1])}for(const e of n.matchAll(o))g.add(e[1]);for(const e of t.defines.keys())g.add(e.replace(/\([\w\s,]*\)/g,""));for(const e of t.uniforms.keys())g.add(e);g.delete("while"),g.delete("for"),g.delete("if"),t.uniforms.forEac
2h((t,s)=>r.uniforms.set(e+s.charAt(0).toUpperCase()+s.slice(1),t)),t.defines.forEach((t,s)=>r.defines.set(e+s.charAt(0).toUpperCase()+s.slice(1),t));const b=new Map([["fragment",n],["vertex",i]]);re(e,g,r.defines),re(e,g,b),n=b.get("fragment"),i=b.get("vertex");const E=t.blendMode;if(r.blendModes.set(E.blendFunction,E),a){null!==t.inputColorSpace&&t.inputColorSpace!==r.colorSpace&&(u+=t.inputColorSpace===s.er$?"color0 = sRGBTransferOETF(color0);\n\t":"color0 = sRGBToLinear(color0);\n\t"),t.outputColorSpace!==s.jf0?r.colorSpace=t.outputColorSpace:null!==t.inputColorSpace&&(r.colorSpace=t.inputColorSpace);const i=/MainImage *\([\w\s,]*?depth[\w\s,]*?\)/;u+=`${e}MainImage(color0, UV, `,0!==(r.attributes&v)&&i.test(n)&&(u+="depth, ",r.readDepth=!0),u+="color1);\n\t";const a=e+"BlendOpacity";r.uniforms.set(a,E.opacity),u+=`color0 = blend${E.blendFunction}(color0, color1, ${a});\n\n\t`,d+=`uniform float ${a};\n\n`}if(d+=n+"\n",null!==i&&(f+=i+"\n"),l.set(T.FRAGMENT_HEAD,d),l.set(T.FRAGMENT_MAIN_UV,h),l.set(T.FRAGMENT_MAIN_IMAGE,u),l.set(T.VERTEX_HEAD,f),l.set(T.VERTEX_MAIN_SUPPORT,p),null!==t.extensions)for(const e of t.extensions)r.extensions.add(e)}}var ne=class extends i{constructor(e,...t){super("EffectPass"),this.fullscreenMaterial=new ee(null,null,null,e),this.listener=e=>this.handleEvent(e),this.effects=[],this.setEffects(t),this.skipRendering=!1,this.minTime=1,this.maxTime=Number.POSITIVE_INFINITY,this.timeScale=1}set mainScene(e){for(const t of this.effects)t.mainScene=e}set mainCamera(e){this.fullscreenMaterial.copyCameraSettings(e);for(const t of this.effects)t.mainCamera=e}get encodeOutput(){return this.fullscreenMaterial.encodeOutput}set encodeOutput(e){this.fullscreenMaterial.encodeOutput=e}get dithering(){return this.fullscreenMaterial.dithering}set dithering(e){const t=this.fullscreenMaterial;t.dithering=e,t.needsUpdate=!0}setEffects(e){for(const e of this.effects)e.removeEventListener("change",this.listener);this.effects=e.sort((e,t)=>t.attributes-e.attributes);for(const e of this.effects)e.addEventListener("change",this.listener)}updateMaterial(){const e=new E;let t=0;for(const r of this.effects)if(r.blendMode.blendFunction===F)e.attributes|=r.getAttributes()&v;else{if(0!==(e.attributes&r.getAttributes()&b))throw new Error(`Convolution effects cannot be merged (${r.name})`);se("e"+t++,r,e)}let r=e.shaderParts.get(T.FRAGMENT_HEAD),n=e.shaderParts.get(T.FRAGMENT_MAIN_IMAGE),i=e.shaderParts.get(T.FRAGMENT_MAIN_UV);const a=/\bblend\b/g;for(const t of e.blendModes.values())r+=t.getShaderCode().replace(a,`blend${t.blendFunction}`)+"\n";0!==(e.attributes&v)?(e.readDepth&&(n="float depth = readDepth(UV);\n\n\t"+n),this.needsDepthTexture=null===this.getDepthTexture()):this.needsDepthTexture=!1,e.colorSpace===s.er$&&(n+="color0 = sRGBToLinear(color0);\n\t"),e.uvTransformation?(i="vec2 transformedUv = vUv;\n"+i,e.defines.set("UV","transformedUv")):e.defines.set("UV","vUv"),e.shaderParts.set(T.FRAGMENT_HEAD,r),e.shaderParts.set(T.FRAGMENT_MAIN_IMAGE,n),e.shaderParts.set(T.FRAGMENT_MAIN_UV,i);for(const[t,r]of e.shaderParts)null!==r&&e.shaderParts.set(t,r.trim().replace(/^#/,"\n#"));this.skipRendering=0===t,this.needsSwap=!this.skipRendering,this.fullscreenMaterial.setShaderData(e)}recompile(){this.updateMaterial()}getDepthTexture(){return this.fullscreenMaterial.depthBuffer}setDepthTexture(e,t=s.Rkk){this.fullscreenMaterial.depthBuffer=e,this.fullscreenMaterial.depthPacking=t;for(const r of this.effects)r.setDepthTexture(e,t)}render(e,t,r,s,n){for(const r of this.effects)r.update(e,t,s);if(!this.skipRendering||this.renderToScreen){const n=this.fullscreenMaterial;n.inputBuffer=t.texture,n.time+=s*this.timeScale,e.setRenderTarget(this.renderToScreen?null:r),e.render(this.scene,this.camera)}}setSize(e,t){this.fullscreenMaterial.setSize(e,t);for(const r of this.effects)r.setSize(e,t)}initialize(e,t,r){this.renderer=e;for(const s of this.effects)s.initialize(e,t,r);this.updateMaterial(),void 0!==r&&r!==s.OUM&&(this.fullscreenMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1")}dispose(){super.dispose();for(const e of this.effects)e.removeEventListener("change",this.listener),e.dispose()}handleEvent(e){if("change"===e.type)this.recompile()}};new Float32Array(3),new Float32Array(3),new Float32Array(3),new Float32Array(3),new Float32Array(3),new Float32Array(3),new Float32Array([0,0,0]),new Float32Array([1,0,0]),new Float32Array([1,1,0]),new Float32Array([1,1,1]),new Float32Array([0,0,0]),new Float32Array([1,0,0]),new Float32Array([1,0,1]),new Float32Array([1,1,1]),new Float32Array([0,0,0]),new Float32Array([0,0,1]),new Float32Array([1,0,1]),new Float32Array([1,1,1]),new Float32Array([0,0,0]),new Float32Array([0,1,0]),new Float32Array([1,1,0]),new Float32Array([1,1,1]),new Float32Array([0,0,0]),new Float32Array([0,1,0]),new Float32Array([0,1,1]),new Float32Array([1,1,1]),new Float32Array([0,0,0]),new Float32Array([0,0,1]),new Float32Array([0,1,1]),new Float32Array([1,1,1]);new Float32Array(2),new Float32Array(2),new Float32Array([0,-.25,.25,-.125,.125,-.375,.375]),new Float32Array([0,0]),new Float32Array([.25,-.25]),new Float32Array([-.25,.25]),new Float32Array([.125,-.125]),new Float32Array([-.125,.125]),new Uint8Array([0,0]),new Uint8Array([3,0]),new Uint8Array([0,3]),new Uint8Array([3,3]),new Uint8Array([1,0]),new Uint8Array([4,0]),new Uint8Array([1,3]),new Uint8Array([4,3]),new Uint8Array([0,1]),new Uint8Array([3,1]),new Uint8Array([0,4]),new Uint8Array([3,4]),new Uint8Array([1,1]),new Uint8Array([4,1]),new Uint8Array([1,4]),new Uint8Array([4,4]),new Uint8Array([0,0]),new Uint8Array([1,0]),new Uint8Array([0,2]),new Uint8Array([1,2]),new Uint8Array([2,0]),new Uint8Array([3,0]),new Uint8Array([2,2]),new Uint8Array([3,2]),new Uint8Array([0,1]),new Uint8Array([1,1]),new Uint8Array([0,3]),new Uint8Array([1,3]),new Uint8Array([2,1]),new Uint8Array([3,1]),new Uint8Array([2,3]),new Uint8Array([3,3]);ae(0,0,0,0),new Float32Array([0,0,0,0]),ae(0,0,0,1),new Float32Array([0,0,0,1]),ae(0,0,1,0),new Float32Array([0,0,1,0]),ae(0,0,1,1),new Float32Array([0,0,1,1]),ae(0,1,0,0),new Float32Array([0,1,0,0]),ae(0,1,0,1),new Float32Array([0,1,0,1]),ae(0,1,1,0),new Float32Array([0,1,1,0]),ae(0,1,1,1),new Float32Array([0,1,1,1]),ae(1,0,0,0),new Float32Array([1,0,0,0]),ae(1,0,0,1),new Float32Array([1,0,0,1]),ae(1,0,1,0),new Float32Array([1,0,1,0]),ae(1,0,1,1),new Float32Array([1,0,1,1]),ae(1,1,0,0),new Float32Array([1,1,0,0]),ae(1,1,0,1),new Float32Array([1,1,0,1]),ae(1,1,1,0),new Float32Array([1,1,1,0]),ae(1,1,1,1),new Float32Array([1,1,1,1]);function ie(e,t,r){return e+(t-e)*r}function ae(e,t,r,s){const n=ie(e,t,.75),i=ie(r,s,.75);return ie(n,i,.875)}}}]);
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.