'use strict';function a7_0x3ef4(){var _0x162f93=['RG32Uint','variableNames','_depthTextureFormat','vAng','\x20=\x20computeFixedEquirectangularCoords(','TEXTUREFORMAT_COMPRESSED_RGBA_BPTC_UNORM','shadowOnlyPixelShader','entries','hdrFilteringFunctions','_isCullFaceDirty','_mipmapGenRenderPassDescr','markAsAttributesDirty','mipLevelCount','GL_ALPHA_FUNCTION_CONSTANT_COLOR','TEXTUREFORMAT_RGBA_INTEGER','_cache','_disposePhysicsObserver','_bundleLists','EnableFor','_disableEffect','availableSamplers','record','cellInfo','invertV','_material','backgroundFragmentDeclaration','createShaderModule','Not\x20implemented','_deserialize','fragmentShader','shadowMapVertexExtraDeclaration','_valueCache','uniform\x20','_sphericalPolynomialPromise','_queryBuffer','layerCounts','setAlphaBlendEnabled','pbrBlockSheen','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0agl_FragColor=vec4(fromRGBD(texture2D(textureSampler,vUV)),1.0);\x0a}','toFixed','apply','Eval','LIGHTTYPEID_SPOTLIGHT','pixelPerfect','substring','isPhysicsEnabled','isValid','blackAndWhitePixelShader','thinInstanceAddSelf','isRightCamera','setExternalTexture:\x20This\x20engine\x20does\x20not\x20support\x20external\x20textures!','subSurfaceScatteringPixelShader','#define\x20HEMISPHERICEMITTER','computeBonesUsingShaders','LeftClick','cursor','_lodGenerationOffset','attribute\x20vec3\x20position;\x0aattribute\x20vec2\x20offset;\x0aattribute\x20vec4\x20color;\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20vec2\x20size;\x0avarying\x20vec2\x20uv;\x0avarying\x20vec3\x20diffuseColor;\x0avoid\x20main(void)\x20{\x0avec3\x20cornerPos;\x0acornerPos.xy=vec2(offset.x-0.5,offset.y-0.5)*size;\x0acornerPos.z=0.0;\x0avec3\x20viewPos=(view*vec4(position,1.0)).xyz+cornerPos;\x0agl_Position=projection*vec4(viewPos,1.0);\x0auv=offset;\x0adiffuseColor=color.rgb;\x0a}\x0a','\x20{\x0a\x20\x20yFactor_:\x20f32,\x0a\x20\x20textureOutputHeight_:\x20f32,\x0a};\x0avar\x20internals\x20:\x20','PREPASS_ALBEDO_SQRT_TEXTURE_TYPE','hasSpecificTrigger','_IsHardwareTexture','Parse','ComputeNumMipmapLevels','#ifdef\x20NUM_SAMPLES\x0a#if\x20NUM_SAMPLES>0\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0afloat\x20radicalInverse_VdC(uint\x20bits)\x20\x0a{\x0abits=(bits<<16u)\x20|\x20(bits>>16u);\x0abits=((bits\x20&\x200x55555555u)<<1u)\x20|\x20((bits\x20&\x200xAAAAAAAAu)>>1u);\x0abits=((bits\x20&\x200x33333333u)<<2u)\x20|\x20((bits\x20&\x200xCCCCCCCCu)>>2u);\x0abits=((bits\x20&\x200x0F0F0F0Fu)<<4u)\x20|\x20((bits\x20&\x200xF0F0F0F0u)>>4u);\x0abits=((bits\x20&\x200x00FF00FFu)<<8u)\x20|\x20((bits\x20&\x200xFF00FF00u)>>8u);\x0areturn\x20float(bits)*2.3283064365386963e-10;\x20\x0a}\x0avec2\x20hammersley(uint\x20i,uint\x20N)\x0a{\x0areturn\x20vec2(float(i)/float(N),radicalInverse_VdC(i));\x0a}\x0a#else\x0afloat\x20vanDerCorpus(int\x20n,int\x20base)\x0a{\x0afloat\x20invBase=1.0/float(base);\x0afloat\x20denom\x20=1.0;\x0afloat\x20result\x20=0.0;\x0afor(int\x20i=0;\x20i<32;\x20++i)\x0a{\x0aif(n>0)\x0a{\x0adenom\x20=mod(float(n),2.0);\x0aresult+=denom*invBase;\x0ainvBase=invBase/2.0;\x0an\x20=int(float(n)/2.0);\x0a}\x0a}\x0areturn\x20result;\x0a}\x0avec2\x20hammersley(int\x20i,int\x20N)\x0a{\x0areturn\x20vec2(float(i)/float(N),vanDerCorpus(i,2));\x0a}\x0a#endif\x0afloat\x20log4(float\x20x)\x20{\x0areturn\x20log2(x)/2.;\x0a}\x0aconst\x20float\x20NUM_SAMPLES_FLOAT=float(NUM_SAMPLES);\x0aconst\x20float\x20NUM_SAMPLES_FLOAT_INVERSED=1./NUM_SAMPLES_FLOAT;\x0aconst\x20float\x20K=4.;\x0a#define\x20inline\x0avec3\x20irradiance(samplerCube\x20inputTexture,vec3\x20inputN,vec2\x20filteringInfo)\x0a{\x0avec3\x20n=normalize(inputN);\x0avec3\x20result=vec3(0.0);\x0avec3\x20tangent=abs(n.z)<0.999\x20?\x20vec3(0.,0.,1.)\x20:\x20vec3(1.,0.,0.);\x0atangent=normalize(cross(tangent,n));\x0avec3\x20bitangent=cross(n,tangent);\x0amat3\x20tbn=mat3(tangent,bitangent,n);\x0afloat\x20maxLevel=filteringInfo.y;\x0afloat\x20dim0=filteringInfo.x;\x0afloat\x20omegaP=(4.*PI)/(6.*dim0*dim0);\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0afor(uint\x20i=0u;\x20i0.)\x20{\x0afloat\x20pdf_inversed=PI/NoL;\x0afloat\x20omegaS=NUM_SAMPLES_FLOAT_INVERSED*pdf_inversed;\x0afloat\x20l=log4(omegaS)-log4(omegaP)+log4(K);\x0afloat\x20mipLevel=clamp(l,0.0,maxLevel);\x0avec3\x20c=textureCubeLodEXT(inputTexture,tbn*Ls,mipLevel).rgb;\x0a#ifdef\x20GAMMA_INPUT\x0ac=toLinearSpace(c);\x0a#endif\x0aresult+=c;\x0a}\x0a}\x0aresult=result*NUM_SAMPLES_FLOAT_INVERSED;\x0areturn\x20result;\x0a}\x0a#define\x20inline\x0avec3\x20radiance(float\x20alphaG,samplerCube\x20inputTexture,vec3\x20inputN,vec2\x20filteringInfo)\x0a{\x0avec3\x20n=normalize(inputN);\x0aif\x20(alphaG==0.)\x20{\x0avec3\x20c=textureCube(inputTexture,n).rgb;\x0a#ifdef\x20GAMMA_INPUT\x0ac=toLinearSpace(c);\x0a#endif\x0areturn\x20c;\x0a}\x20else\x20{\x0avec3\x20result=vec3(0.);\x0avec3\x20tangent=abs(n.z)<0.999\x20?\x20vec3(0.,0.,1.)\x20:\x20vec3(1.,0.,0.);\x0atangent=normalize(cross(tangent,n));\x0avec3\x20bitangent=cross(n,tangent);\x0amat3\x20tbn=mat3(tangent,bitangent,n);\x0afloat\x20maxLevel=filteringInfo.y;\x0afloat\x20dim0=filteringInfo.x;\x0afloat\x20omegaP=(4.*PI)/(6.*dim0*dim0);\x0afloat\x20weight=0.;\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0afor(uint\x20i=0u;\x20i0.)\x20{\x0afloat\x20pdf_inversed=4./normalDistributionFunction_TrowbridgeReitzGGX(NoH,alphaG);\x0afloat\x20omegaS=NUM_SAMPLES_FLOAT_INVERSED*pdf_inversed;\x0afloat\x20l=log4(omegaS)-log4(omegaP)+log4(K);\x0afloat\x20mipLevel=clamp(float(l),0.0,maxLevel);\x0aweight+=NoL;\x0avec3\x20c=textureCubeLodEXT(inputTexture,tbn*L,mipLevel).rgb;\x0a#ifdef\x20GAMMA_INPUT\x0ac=toLinearSpace(c);\x0a#endif\x0aresult+=c*NoL;\x0a}\x0a}\x0aresult=result/weight;\x0areturn\x20result;\x0a}\x0a}\x0a#endif\x0a#endif\x0a','thinInstanceAdd','_thinInstanceUpdateBufferSize','FluidRenderingRTTBlur-','style','#ifdef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0a{\x0a#ifdef\x20INSTANCES\x0alet\x20VATStartFrame:\x20f32=vertexInputs.bakedVertexAnimationSettingsInstanced.x;\x0alet\x20VATEndFrame:\x20f32=vertexInputs.bakedVertexAnimationSettingsInstanced.y;\x0alet\x20VATOffsetFrame:\x20f32=vertexInputs.bakedVertexAnimationSettingsInstanced.z;\x0alet\x20VATSpeed:\x20f32=vertexInputs.bakedVertexAnimationSettingsInstanced.w;\x0a#else\x0alet\x20VATStartFrame:\x20f32=uniforms.bakedVertexAnimationSettings.x;\x0alet\x20VATEndFrame:\x20f32=uniforms.bakedVertexAnimationSettings.y;\x0alet\x20VATOffsetFrame:\x20f32=uniforms.bakedVertexAnimationSettings.z;\x0alet\x20VATSpeed:\x20f32=uniforms.bakedVertexAnimationSettings.w;\x0a#endif\x0alet\x20totalFrames:\x20f32=VATEndFrame-VATStartFrame+1.0;\x0alet\x20time:\x20f32=uniforms.bakedVertexAnimationTime*VATSpeed/totalFrames;\x0alet\x20frameCorrection:\x20f32=select(1.0,0.0,time<1.0);\x0alet\x20numOfFrames:\x20f32=totalFrames-frameCorrection;\x0avar\x20VATFrameNum:\x20f32=fract(time)*numOfFrames;\x0aVATFrameNum=(VATFrameNum+VATOffsetFrame)\x20%\x20numOfFrames;\x0aVATFrameNum=floor(VATFrameNum);\x0aVATFrameNum=VATFrameNum+VATStartFrame+frameCorrection;\x0avar\x20VATInfluence\x20:\x20mat4x4;\x0aVATInfluence=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndices[0],VATFrameNum)*vertexInputs.matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0aVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndices[1],VATFrameNum)*vertexInputs.matricesWeights[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0aVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndices[2],VATFrameNum)*vertexInputs.matricesWeights[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0aVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndices[3],VATFrameNum)*vertexInputs.matricesWeights[3];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0aVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndicesExtra[0],VATFrameNum)*vertexInputs.matricesWeightsExtra[0];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0aVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndicesExtra[1],VATFrameNum)*vertexInputs.matricesWeightsExtra[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0aVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndicesExtra[2],VATFrameNum)*vertexInputs.matricesWeightsExtra[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0aVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,vertexInputs.matricesIndicesExtra[3],VATFrameNum)*vertexInputs.matricesWeightsExtra[3];\x0a#endif\x0afinalWorld=finalWorld*VATInfluence;\x0a}\x0a#endif\x0a','ALPHA_MAXIMIZED','colorCorrectionPixelShader','\x20=\x20computeMirroredFixedEquirectangularCoords(','diffusionProfile',')\x20@binding(','supportSRGBBuffers','setBindGroup','SNAPSHOTRENDERING_STANDARD','ASTC8x8UnormSRGB','#ifdef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0a{\x0a#ifdef\x20INSTANCES\x0a#define\x20BVASNAME\x20bakedVertexAnimationSettingsInstanced\x0a#else\x0a#define\x20BVASNAME\x20bakedVertexAnimationSettings\x0a#endif\x0afloat\x20VATStartFrame=BVASNAME.x;\x0afloat\x20VATEndFrame=BVASNAME.y;\x0afloat\x20VATOffsetFrame=BVASNAME.z;\x0afloat\x20VATSpeed=BVASNAME.w;\x0afloat\x20totalFrames=VATEndFrame-VATStartFrame+1.0;\x0afloat\x20time=bakedVertexAnimationTime*VATSpeed/totalFrames;\x0afloat\x20frameCorrection=time<1.0\x20?\x200.0\x20:\x201.0;\x0afloat\x20numOfFrames=totalFrames-frameCorrection;\x0afloat\x20VATFrameNum=fract(time)*numOfFrames;\x0aVATFrameNum=mod(VATFrameNum+VATOffsetFrame,numOfFrames);\x0aVATFrameNum=floor(VATFrameNum);\x0aVATFrameNum+=VATStartFrame+frameCorrection;\x0amat4\x20VATInfluence;\x0aVATInfluence=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndices[0],VATFrameNum)*matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0aVATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndices[1],VATFrameNum)*matricesWeights[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0aVATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndices[2],VATFrameNum)*matricesWeights[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0aVATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndices[3],VATFrameNum)*matricesWeights[3];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0aVATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndicesExtra[0],VATFrameNum)*matricesWeightsExtra[0];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0aVATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndicesExtra[1],VATFrameNum)*matricesWeightsExtra[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0aVATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndicesExtra[2],VATFrameNum)*matricesWeightsExtra[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0aVATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndicesExtra[3],VATFrameNum)*matricesWeightsExtra[3];\x0a#endif\x0afinalWorld=finalWorld*VATInfluence;\x0a}\x0a#endif\x0a','_onPointerMove','Uniform','enabled','#ifdef\x20CLIPPLANE\x0avertexOutputs.fClipDistance=dot(worldPos,uniforms.vClipPlane);\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0avertexOutputs.fClipDistance2=dot(worldPos,uniforms.vClipPlane2);\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0avertexOutputs.fClipDistance3=dot(worldPos,uniforms.vClipPlane3);\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0avertexOutputs.fClipDistance4=dot(worldPos,uniforms.vClipPlane4);\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0avertexOutputs.fClipDistance5=dot(worldPos,uniforms.vClipPlane5);\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0avertexOutputs.fClipDistance6=dot(worldPos,uniforms.vClipPlane6);\x0a#endif\x0a','isInVRExclusivePointerMode','Auto','_mrtAttachments','HasTags','ALPHA_EQUATION_DARKEN','_getActionManagerForTrigger','helperFunctions','distanceOrScreenCoverage','@group(','pbrBlockDirectLighting','backgroundVertexDeclaration','uv6','postProcessor','defaultCursor','data','struct\x20FragmentInputs\x20{\x0a\x20\x20@builtin(position)\x20position\x20:\x20vec4,\x0a\x20\x20@builtin(front_facing)\x20frontFacing\x20:\x20bool,\x0a','isMainRender','_preCreateBindGroupEntries','_unpackFlipY','ASTC10x10UnormSRGB','getError','blurFilterSize','getInput','Depth32FloatStencil8','getSampler','attributeKeywordName',',\x20H:\x20','2DSampler','TEXTUREFORMAT_RGBA_INTEGER\x20format\x20not\x20supported\x20in\x20WebGPU\x20when\x20type\x20is\x20TEXTURETYPE_UNSIGNED_INT_2_10_10_10_REV','uniform\x20sampler2D\x20textureSampler;\x20\x0auniform\x20float\x20gain;\x0auniform\x20float\x20threshold;\x0auniform\x20float\x20screen_width;\x0auniform\x20float\x20screen_height;\x0avarying\x20vec2\x20vUV;\x0avec4\x20highlightColor(vec4\x20color)\x20{\x0avec4\x20highlight=color;\x0afloat\x20luminance=dot(highlight.rgb,vec3(0.2125,0.7154,0.0721));\x0afloat\x20lum_threshold;\x0aif\x20(threshold>1.0)\x20{\x20lum_threshold=0.94+0.01*threshold;\x20}\x0aelse\x20{\x20lum_threshold=0.5+0.44*threshold;\x20}\x0aluminance=clamp((luminance-lum_threshold)*(1.0/(1.0-lum_threshold)),0.0,1.0);\x0ahighlight*=luminance*gain;\x0ahighlight.a=1.0;\x0areturn\x20highlight;\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec4\x20original=texture2D(textureSampler,vUV);\x0aif\x20(gain==-1.0)\x20{\x0agl_FragColor=vec4(0.0,0.0,0.0,1.0);\x0areturn;\x0a}\x0afloat\x20w=2.0/screen_width;\x0afloat\x20h=2.0/screen_height;\x0afloat\x20weight=1.0;\x0avec4\x20blurred=vec4(0.0,0.0,0.0,0.0);\x0a#ifdef\x20PENTAGON\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.84*w,0.43*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.48*w,-1.29*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.61*w,1.51*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.55*w,-0.74*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.71*w,-0.52*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.94*w,1.59*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.40*w,-1.87*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.62*w,1.16*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.09*w,0.25*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.46*w,-1.71*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.08*w,2.42*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.85*w,-1.89*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.89*w,0.16*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.29*w,1.88*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.40*w,-2.81*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.54*w,2.26*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.60*w,-0.61*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.31*w,-1.30*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.83*w,2.53*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.12*w,-2.48*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.60*w,1.11*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.82*w,0.99*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.50*w,-2.81*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.85*w,3.33*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.94*w,-1.92*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(3.27*w,-0.53*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.95*w,2.48*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.23*w,-3.04*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.17*w,2.05*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.97*w,-0.04*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.25*w,-2.00*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.31*w,3.08*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.94*w,-2.59*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(3.37*w,0.64*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-3.13*w,1.93*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.03*w,-3.65*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.60*w,3.17*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-3.14*w,-1.19*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(3.00*w,-1.19*h)));\x0a#else\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.85*w,0.36*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.52*w,-1.14*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.46*w,1.42*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.46*w,-0.83*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.79*w,-0.42*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.11*w,1.62*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.29*w,-2.07*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.69*w,1.39*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.28*w,0.12*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.65*w,-1.69*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.08*w,2.44*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.63*w,-1.90*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.55*w,0.31*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.13*w,1.52*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.56*w,-2.61*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.38*w,2.34*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.64*w,-0.81*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.53*w,-1.21*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.06*w,2.63*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.00*w,-2.69*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.59*w,1.32*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.82*w,0.78*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.57*w,-2.50*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.54*w,2.93*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.39*w,-1.81*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(3.01*w,-0.28*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.04*w,2.25*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.02*w,-3.05*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.09*w,2.25*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-3.07*w,-0.25*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.44*w,-1.90*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.52*w,3.05*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.68*w,-2.61*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(3.01*w,0.79*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.76*w,1.46*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.05*w,-2.94*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.21*w,2.88*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.84*w,-1.30*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.98*w,-0.96*h)));\x0a#endif\x0ablurred/=39.0;\x0agl_FragColor=blurred;\x0a}','_sampleBurleyDiffusionProfile','_removeOnDetach','_pickingAvailable','resize','Textures\x20type\x20does\x20not\x20support\x20cascades.','updateCubeTextures','ACTION_OnDoublePickTrigger','uniformRegexp','POINTERDOUBLETAP','_findStartingGroupBinding','shaderLanguage','_maxLodLevel',']\x0d\x0a','wrapU','DST_COLOR','layerPixelShader','#ifdef\x20LIGHT{X}\x0a#if\x20defined(SHADOWONLY)\x20||\x20defined(LIGHTMAP)\x20&&\x20defined(LIGHTMAPEXCLUDED{X})\x20&&\x20defined(LIGHTMAPNOSPECULAR{X})\x0a#else\x0a#ifdef\x20PBR\x0a#ifdef\x20SPOTLIGHT{X}\x0apreInfo=computePointAndSpotPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW);\x0a#elif\x20defined(POINTLIGHT{X})\x0apreInfo=computePointAndSpotPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW);\x0a#elif\x20defined(HEMILIGHT{X})\x0apreInfo=computeHemisphericPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW);\x0a#elif\x20defined(DIRLIGHT{X})\x0apreInfo=computeDirectionalPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW);\x0a#endif\x0apreInfo.NdotV=NdotV;\x0a#ifdef\x20SPOTLIGHT{X}\x0a#ifdef\x20LIGHT_FALLOFF_GLTF{X}\x0apreInfo.attenuation=computeDistanceLightFalloff_GLTF(preInfo.lightDistanceSquared,light{X}.vLightFalloff.y);\x0apreInfo.attenuation*=computeDirectionalLightFalloff_GLTF(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightFalloff.z,light{X}.vLightFalloff.w);\x0a#elif\x20defined(LIGHT_FALLOFF_PHYSICAL{X})\x0apreInfo.attenuation=computeDistanceLightFalloff_Physical(preInfo.lightDistanceSquared);\x0apreInfo.attenuation*=computeDirectionalLightFalloff_Physical(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightDirection.w);\x0a#elif\x20defined(LIGHT_FALLOFF_STANDARD{X})\x0apreInfo.attenuation=computeDistanceLightFalloff_Standard(preInfo.lightOffset,light{X}.vLightFalloff.x);\x0apreInfo.attenuation*=computeDirectionalLightFalloff_Standard(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightDirection.w,light{X}.vLightData.w);\x0a#else\x0apreInfo.attenuation=computeDistanceLightFalloff(preInfo.lightOffset,preInfo.lightDistanceSquared,light{X}.vLightFalloff.x,light{X}.vLightFalloff.y);\x0apreInfo.attenuation*=computeDirectionalLightFalloff(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightDirection.w,light{X}.vLightData.w,light{X}.vLightFalloff.z,light{X}.vLightFalloff.w);\x0a#endif\x0a#elif\x20defined(POINTLIGHT{X})\x0a#ifdef\x20LIGHT_FALLOFF_GLTF{X}\x0apreInfo.attenuation=computeDistanceLightFalloff_GLTF(preInfo.lightDistanceSquared,light{X}.vLightFalloff.y);\x0a#elif\x20defined(LIGHT_FALLOFF_PHYSICAL{X})\x0apreInfo.attenuation=computeDistanceLightFalloff_Physical(preInfo.lightDistanceSquared);\x0a#elif\x20defined(LIGHT_FALLOFF_STANDARD{X})\x0apreInfo.attenuation=computeDistanceLightFalloff_Standard(preInfo.lightOffset,light{X}.vLightFalloff.x);\x0a#else\x0apreInfo.attenuation=computeDistanceLightFalloff(preInfo.lightOffset,preInfo.lightDistanceSquared,light{X}.vLightFalloff.x,light{X}.vLightFalloff.y);\x0a#endif\x0a#else\x0apreInfo.attenuation=1.0;\x0a#endif\x0a#ifdef\x20HEMILIGHT{X}\x0apreInfo.roughness=roughness;\x0a#else\x0apreInfo.roughness=adjustRoughnessFromLightProperties(roughness,light{X}.vLightSpecular.a,preInfo.lightDistance);\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0apreInfo.iridescenceIntensity=iridescenceIntensity;\x0a#endif\x0a#ifdef\x20HEMILIGHT{X}\x0ainfo.diffuse=computeHemisphericDiffuseLighting(preInfo,light{X}.vLightDiffuse.rgb,light{X}.vLightGround);\x0a#elif\x20defined(SS_TRANSLUCENCY)\x0ainfo.diffuse=computeDiffuseAndTransmittedLighting(preInfo,light{X}.vLightDiffuse.rgb,subSurfaceOut.transmittance);\x0a#else\x0ainfo.diffuse=computeDiffuseLighting(preInfo,light{X}.vLightDiffuse.rgb);\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0a#ifdef\x20ANISOTROPIC\x0ainfo.specular=computeAnisotropicSpecularLighting(preInfo,viewDirectionW,normalW,anisotropicOut.anisotropicTangent,anisotropicOut.anisotropicBitangent,anisotropicOut.anisotropy,clearcoatOut.specularEnvironmentR0,specularEnvironmentR90,AARoughnessFactors.x,light{X}.vLightDiffuse.rgb);\x0a#else\x0ainfo.specular=computeSpecularLighting(preInfo,normalW,clearcoatOut.specularEnvironmentR0,specularEnvironmentR90,AARoughnessFactors.x,light{X}.vLightDiffuse.rgb);\x0a#endif\x0a#endif\x0a#ifdef\x20SHEEN\x0a#ifdef\x20SHEEN_LINKWITHALBEDO\x0apreInfo.roughness=sheenOut.sheenIntensity;\x0a#else\x0a#ifdef\x20HEMILIGHT{X}\x0apreInfo.roughness=sheenOut.sheenRoughness;\x0a#else\x0apreInfo.roughness=adjustRoughnessFromLightProperties(sheenOut.sheenRoughness,light{X}.vLightSpecular.a,preInfo.lightDistance);\x0a#endif\x0a#endif\x0ainfo.sheen=computeSheenLighting(preInfo,normalW,sheenOut.sheenColor,specularEnvironmentR90,AARoughnessFactors.x,light{X}.vLightDiffuse.rgb);\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0a#ifdef\x20HEMILIGHT{X}\x0apreInfo.roughness=clearcoatOut.clearCoatRoughness;\x0a#else\x0apreInfo.roughness=adjustRoughnessFromLightProperties(clearcoatOut.clearCoatRoughness,light{X}.vLightSpecular.a,preInfo.lightDistance);\x0a#endif\x0ainfo.clearCoat=computeClearCoatLighting(preInfo,clearcoatOut.clearCoatNormalW,clearcoatOut.clearCoatAARoughnessFactors.x,clearcoatOut.clearCoatIntensity,light{X}.vLightDiffuse.rgb);\x0a#ifdef\x20CLEARCOAT_TINT\x0aabsorption=computeClearCoatLightingAbsorption(clearcoatOut.clearCoatNdotVRefract,preInfo.L,clearcoatOut.clearCoatNormalW,clearcoatOut.clearCoatColor,clearcoatOut.clearCoatThickness,clearcoatOut.clearCoatIntensity);\x0ainfo.diffuse*=absorption;\x0a#ifdef\x20SPECULARTERM\x0ainfo.specular*=absorption;\x0a#endif\x0a#endif\x0ainfo.diffuse*=info.clearCoat.w;\x0a#ifdef\x20SPECULARTERM\x0ainfo.specular*=info.clearCoat.w;\x0a#endif\x0a#ifdef\x20SHEEN\x0ainfo.sheen*=info.clearCoat.w;\x0a#endif\x0a#endif\x0a#else\x0a#ifdef\x20SPOTLIGHT{X}\x0ainfo=computeSpotLighting(viewDirectionW,normalW,light{X}.vLightData,light{X}.vLightDirection,light{X}.vLightDiffuse.rgb,light{X}.vLightSpecular.rgb,light{X}.vLightDiffuse.a,glossiness);\x0a#elif\x20defined(HEMILIGHT{X})\x0ainfo=computeHemisphericLighting(viewDirectionW,normalW,light{X}.vLightData,light{X}.vLightDiffuse.rgb,light{X}.vLightSpecular.rgb,light{X}.vLightGround,glossiness);\x0a#elif\x20defined(POINTLIGHT{X})\x20||\x20defined(DIRLIGHT{X})\x0ainfo=computeLighting(viewDirectionW,normalW,light{X}.vLightData,light{X}.vLightDiffuse.rgb,light{X}.vLightSpecular.rgb,light{X}.vLightDiffuse.a,glossiness);\x0a#endif\x0a#endif\x0a#ifdef\x20PROJECTEDLIGHTTEXTURE{X}\x0ainfo.diffuse*=computeProjectionTextureDiffuseLighting(projectionLightSampler{X},textureProjectionMatrix{X});\x0a#endif\x0a#endif\x0a#ifdef\x20SHADOW{X}\x0a#ifdef\x20SHADOWCSM{X}\x0afor\x20(int\x20i=0;\x20i=0.)\x20{\x0aindex{X}=i;\x0abreak;\x0a}\x0a}\x0a#ifdef\x20SHADOWCSMUSESHADOWMAXZ{X}\x0aif\x20(index{X}>=0)\x0a#endif\x0a{\x0a#if\x20defined(SHADOWPCF{X})\x0a#if\x20defined(SHADOWLOWQUALITY{X})\x0ashadow=computeShadowWithCSMPCF1(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#elif\x20defined(SHADOWMEDIUMQUALITY{X})\x0ashadow=computeShadowWithCSMPCF3(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#else\x0ashadow=computeShadowWithCSMPCF5(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0a#elif\x20defined(SHADOWPCSS{X})\x0a#if\x20defined(SHADOWLOWQUALITY{X})\x0ashadow=computeShadowWithCSMPCSS16(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});\x0a#elif\x20defined(SHADOWMEDIUMQUALITY{X})\x0ashadow=computeShadowWithCSMPCSS32(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});\x0a#else\x0ashadow=computeShadowWithCSMPCSS64(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});\x0a#endif\x0a#else\x0ashadow=computeShadowCSM(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0a#ifdef\x20SHADOWCSMDEBUG{X}\x0ashadowDebug{X}=vec3(shadow)*vCascadeColorsMultiplier{X}[index{X}];\x0a#endif\x0a#ifndef\x20SHADOWCSMNOBLEND{X}\x0afloat\x20frustumLength=frustumLengths{X}[index{X}];\x0afloat\x20diffRatio=clamp(diff{X}/frustumLength,0.,1.)*cascadeBlendFactor{X};\x0aif\x20(index{X}<(SHADOWCSMNUM_CASCADES{X}-1)\x20&&\x20diffRatio<1.)\x0a{\x0aindex{X}+=1;\x0afloat\x20nextShadow=0.;\x0a#if\x20defined(SHADOWPCF{X})\x0a#if\x20defined(SHADOWLOWQUALITY{X})\x0anextShadow=computeShadowWithCSMPCF1(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#elif\x20defined(SHADOWMEDIUMQUALITY{X})\x0anextShadow=computeShadowWithCSMPCF3(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#else\x0anextShadow=computeShadowWithCSMPCF5(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0a#elif\x20defined(SHADOWPCSS{X})\x0a#if\x20defined(SHADOWLOWQUALITY{X})\x0anextShadow=computeShadowWithCSMPCSS16(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});\x0a#elif\x20defined(SHADOWMEDIUMQUALITY{X})\x0anextShadow=computeShadowWithCSMPCSS32(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});\x0a#else\x0anextShadow=computeShadowWithCSMPCSS64(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});\x0a#endif\x0a#else\x0anextShadow=computeShadowCSM(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0ashadow=mix(nextShadow,shadow,diffRatio);\x0a#ifdef\x20SHADOWCSMDEBUG{X}\x0ashadowDebug{X}=mix(vec3(nextShadow)*vCascadeColorsMultiplier{X}[index{X}],shadowDebug{X},diffRatio);\x0a#endif\x0a}\x0a#endif\x0a}\x0a#elif\x20defined(SHADOWCLOSEESM{X})\x0a#if\x20defined(SHADOWCUBE{X})\x0ashadow=computeShadowWithCloseESMCube(light{X}.vLightData.xyz,shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.depthValues);\x0a#else\x0ashadow=computeShadowWithCloseESM(vPositionFromLight{X},vDepthMetric{X},shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.shadowsInfo.w);\x0a#endif\x0a#elif\x20defined(SHADOWESM{X})\x0a#if\x20defined(SHADOWCUBE{X})\x0ashadow=computeShadowWithESMCube(light{X}.vLightData.xyz,shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.depthValues);\x0a#else\x0ashadow=computeShadowWithESM(vPositionFromLight{X},vDepthMetric{X},shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.shadowsInfo.w);\x0a#endif\x0a#elif\x20defined(SHADOWPOISSON{X})\x0a#if\x20defined(SHADOWCUBE{X})\x0ashadow=computeShadowWithPoissonSamplingCube(light{X}.vLightData.xyz,shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.x,light{X}.depthValues);\x0a#else\x0ashadow=computeShadowWithPoissonSampling(vPositionFromLight{X},vDepthMetric{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0a#elif\x20defined(SHADOWPCF{X})\x0a#if\x20defined(SHADOWLOWQUALITY{X})\x0ashadow=computeShadowWithPCF1(vPositionFromLight{X},vDepthMetric{X},shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#elif\x20defined(SHADOWMEDIUMQUALITY{X})\x0ashadow=computeShadowWithPCF3(vPositionFromLight{X},vDepthMetric{X},shadowSampler{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#else\x0ashadow=computeShadowWithPCF5(vPositionFromLight{X},vDepthMetric{X},shadowSampler{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0a#elif\x20defined(SHADOWPCSS{X})\x0a#if\x20defined(SHADOWLOWQUALITY{X})\x0ashadow=computeShadowWithPCSS16(vPositionFromLight{X},vDepthMetric{X},depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#elif\x20defined(SHADOWMEDIUMQUALITY{X})\x0ashadow=computeShadowWithPCSS32(vPositionFromLight{X},vDepthMetric{X},depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#else\x0ashadow=computeShadowWithPCSS64(vPositionFromLight{X},vDepthMetric{X},depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0a#else\x0a#if\x20defined(SHADOWCUBE{X})\x0ashadow=computeShadowCube(light{X}.vLightData.xyz,shadowSampler{X},light{X}.shadowsInfo.x,light{X}.depthValues);\x0a#else\x0ashadow=computeShadow(vPositionFromLight{X},vDepthMetric{X},shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0a#endif\x0a#ifdef\x20SHADOWONLY\x0a#ifndef\x20SHADOWINUSE\x0a#define\x20SHADOWINUSE\x0a#endif\x0aglobalShadow+=shadow;\x0ashadowLightCount+=1.0;\x0a#endif\x0a#else\x0ashadow=1.;\x0a#endif\x0a#ifndef\x20SHADOWONLY\x0a#ifdef\x20CUSTOMUSERLIGHTING\x0adiffuseBase+=computeCustomDiffuseLighting(info,diffuseBase,shadow);\x0a#ifdef\x20SPECULARTERM\x0aspecularBase+=computeCustomSpecularLighting(info,specularBase,shadow);\x0a#endif\x0a#elif\x20defined(LIGHTMAP)\x20&&\x20defined(LIGHTMAPEXCLUDED{X})\x0adiffuseBase+=lightmapColor.rgb*shadow;\x0a#ifdef\x20SPECULARTERM\x0a#ifndef\x20LIGHTMAPNOSPECULAR{X}\x0aspecularBase+=info.specular*shadow*lightmapColor.rgb;\x0a#endif\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0a#ifndef\x20LIGHTMAPNOSPECULAR{X}\x0aclearCoatBase+=info.clearCoat.rgb*shadow*lightmapColor.rgb;\x0a#endif\x0a#endif\x0a#ifdef\x20SHEEN\x0a#ifndef\x20LIGHTMAPNOSPECULAR{X}\x0asheenBase+=info.sheen.rgb*shadow;\x0a#endif\x0a#endif\x0a#else\x0a#ifdef\x20SHADOWCSMDEBUG{X}\x0adiffuseBase+=info.diffuse*shadowDebug{X};\x0a#else\x20\x0adiffuseBase+=info.diffuse*shadow;\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0aspecularBase+=info.specular*shadow;\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0aclearCoatBase+=info.clearCoat.rgb*shadow;\x0a#endif\x0a#ifdef\x20SHEEN\x0asheenBase+=info.sheen.rgb*shadow;\x0a#endif\x0a#endif\x0a#endif\x0a#endif\x0a','boundingBoxRendererVertexDeclaration','\x5c$&','removeIfDef','lightVxUboDeclaration','_reflectionPositionName','_gpuFrameTimeCounter','copyWithInvertY','baseWidth','_normals','mesh','setAlphaBlendConstants','Depth32Float','output','decorate','_angle','orderedAttributes','varyingProcessor','inputTexture','pickWorldNormal','\x0d\x0a}','#ifdef\x20DECAL\x0a#ifdef\x20GAMMADECAL\x0adecalColor.rgb=toLinearSpace(decalColor.rgb);\x0a#endif\x0a#ifdef\x20DECAL_SMOOTHALPHA\x0adecalColor.a*=decalColor.a;\x0a#endif\x0asurfaceAlbedo.rgb=mix(surfaceAlbedo.rgb,decalColor.rgb,decalColor.a);\x0a#endif\x0a','bindBuffers','_doubleClickOccured','_blurTextureSizeY','TEXTUREFORMAT_RED_INTEGER','updateUInt2','textureProcessor','RENDERBUFFER','onLoadErrorObservable','TEXTUREFORMAT_COMPRESSED_RGB_S3TC_DXT1','UniformBuffer','setIntArray4','freeGroupIndex','depthPixelShader','LIGHTTYPEID_DIRECTIONALLIGHT','pop','ProjectOnTriangleToRef','onVRRequestPresentComplete','postProcessManager','uniform\x20sampler2D\x20textureSampler;\x20\x0auniform\x20sampler2D\x20colorTable;\x20\x0avarying\x20vec2\x20vUV;\x0aconst\x20float\x20SLICE_COUNT=16.0;\x20\x0avec4\x20sampleAs3DTexture(sampler2D\x20textureSampler,vec3\x20uv,float\x20width)\x20{\x0afloat\x20sliceSize=1.0/width;\x20\x0afloat\x20slicePixelSize=sliceSize/width;\x20\x0afloat\x20sliceInnerSize=slicePixelSize*(width-1.0);\x20\x0afloat\x20zSlice0=min(floor(uv.z*width),width-1.0);\x0afloat\x20zSlice1=min(zSlice0+1.0,width-1.0);\x0afloat\x20xOffset=slicePixelSize*0.5+uv.x*sliceInnerSize;\x0afloat\x20s0=xOffset+(zSlice0*sliceSize);\x0afloat\x20s1=xOffset+(zSlice1*sliceSize);\x0avec4\x20slice0Color=texture2D(textureSampler,vec2(s0,uv.y));\x0avec4\x20slice1Color=texture2D(textureSampler,vec2(s1,uv.y));\x0afloat\x20zOffset=mod(uv.z*width,1.0);\x0avec4\x20result=mix(slice0Color,slice1Color,zOffset);\x0areturn\x20result;\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec4\x20screen_color=texture2D(textureSampler,vUV);\x0agl_FragColor=sampleAs3DTexture(colorTable,screen_color.rgb,SLICE_COUNT);\x0a}','_SimplifiedKnownUBOs','preProcessor','_pointerY','updateVector3','SphereParticleEmitter','isMultiview','_coroutineSchedulerDispose','boundingBoxRendererFragmentDeclaration','vertexBuffers','skipPointerDownPicking','#define\x20INVERTY\x0d\x0a','_isBlendFunctionParametersDirty','_strided_arr','HemisphericParticleEmitter','struct\x20Particle\x20{\x0aposition\x20:\x20vec3,\x0aage\x20:\x20f32,\x0asize\x20:\x20vec3,\x0alife\x20:\x20f32,\x0aseed\x20:\x20vec4,\x0adirection\x20:\x20vec3,\x0adummy0:\x20f32,\x0a#ifdef\x20CUSTOMEMITTER\x0ainitialPosition\x20:\x20vec3,\x0adummy1:\x20f32,\x0a#endif\x0a#ifndef\x20COLORGRADIENTS\x0acolor\x20:\x20vec4,\x0a#endif\x0a#ifndef\x20BILLBOARD\x0ainitialDirection\x20:\x20vec3,\x0adummy2:\x20f32,\x0a#endif\x0a#ifdef\x20NOISE\x0anoiseCoordinates1\x20:\x20vec3,\x0adummy3:\x20f32,\x0anoiseCoordinates2\x20:\x20vec3,\x0adummy4:\x20f32,\x0a#endif\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0aangle\x20:\x20f32,\x0a#else\x0aangle\x20:\x20vec2,\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x0acellIndex\x20:\x20f32,\x0a#ifdef\x20ANIMATESHEETRANDOMSTART\x0acellStartOffset\x20:\x20f32,\x0a#endif\x0a#endif\x0a};\x0astruct\x20Particles\x20{\x0aparticles\x20:\x20array,\x0a};\x0astruct\x20SimParams\x20{\x0acurrentCount\x20:\x20f32,\x0atimeDelta\x20:\x20f32,\x0astopFactor\x20:\x20f32,\x0arandomTextureSize:\x20i32,\x0alifeTime\x20:\x20vec2,\x0aemitPower\x20:\x20vec2,\x0a#ifndef\x20COLORGRADIENTS\x0acolor1\x20:\x20vec4,\x0acolor2\x20:\x20vec4,\x0a#endif\x0asizeRange\x20:\x20vec2,\x0ascaleRange\x20:\x20vec4,\x0aangleRange\x20:\x20vec4,\x0agravity\x20:\x20vec3,\x0a#ifdef\x20LIMITVELOCITYGRADIENTS\x0alimitVelocityDamping\x20:\x20f32,\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x0acellInfos\x20:\x20vec4,\x0a#endif\x0a#ifdef\x20NOISE\x0anoiseStrength\x20:\x20vec3,\x0a#endif\x0a#ifndef\x20LOCAL\x0aemitterWM\x20:\x20mat4x4,\x0a#endif\x0a#ifdef\x20BOXEMITTER\x0adirection1\x20:\x20vec3,\x0adirection2\x20:\x20vec3,\x0aminEmitBox\x20:\x20vec3,\x0amaxEmitBox\x20:\x20vec3,\x0a#endif\x0a#ifdef\x20CONEEMITTER\x0aradius\x20:\x20vec2,\x0aconeAngle\x20:\x20f32,\x0aheight\x20:\x20vec2,\x0adirectionRandomizer\x20:\x20f32,\x0a#endif\x0a#ifdef\x20CYLINDEREMITTER\x0aradius\x20:\x20f32,\x0aheight\x20:\x20f32,\x0aradiusRange\x20:\x20f32,\x0a#ifdef\x20DIRECTEDCYLINDEREMITTER\x0adirection1\x20:\x20vec3,\x0adirection2\x20:\x20vec3,\x0a#else\x0adirectionRandomizer\x20:\x20f32,\x0a#endif\x0a#endif\x0a#ifdef\x20HEMISPHERICEMITTER\x0aradius\x20:\x20f32,\x0aradiusRange\x20:\x20f32,\x0adirectionRandomizer\x20:\x20f32,\x0a#endif\x0a#ifdef\x20POINTEMITTER\x0adirection1\x20:\x20vec3,\x0adirection2\x20:\x20vec3,\x0a#endif\x0a#ifdef\x20SPHEREEMITTER\x0aradius\x20:\x20f32,\x0aradiusRange\x20:\x20f32,\x0a#ifdef\x20DIRECTEDSPHEREEMITTER\x0adirection1\x20:\x20vec3,\x0adirection2\x20:\x20vec3,\x0a#else\x0adirectionRandomizer\x20:\x20f32,\x0a#endif\x0a#endif\x0a};\x0a@binding(0)\x20@group(0)\x20var\x20params\x20:\x20SimParams;\x0a@binding(1)\x20@group(0)\x20var\x20particlesIn\x20:\x20Particles;\x0a@binding(2)\x20@group(0)\x20var\x20particlesOut\x20:\x20Particles;\x0a@binding(3)\x20@group(0)\x20var\x20randomTexture\x20:\x20texture_2d;\x0a@binding(4)\x20@group(0)\x20var\x20randomTexture2\x20:\x20texture_2d;\x0a#ifdef\x20SIZEGRADIENTS\x0a@binding(0)\x20@group(1)\x20var\x20sizeGradientSampler\x20:\x20sampler;\x0a@binding(1)\x20@group(1)\x20var\x20sizeGradientTexture\x20:\x20texture_2d;\x0a#endif\x20\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0a@binding(2)\x20@group(1)\x20var\x20angularSpeedGradientSampler\x20:\x20sampler;\x0a@binding(3)\x20@group(1)\x20var\x20angularSpeedGradientTexture\x20:\x20texture_2d;\x0a#endif\x20\x0a#ifdef\x20VELOCITYGRADIENTS\x0a@binding(4)\x20@group(1)\x20var\x20velocityGradientSampler\x20:\x20sampler;\x0a@binding(5)\x20@group(1)\x20var\x20velocityGradientTexture\x20:\x20texture_2d;\x0a#endif\x0a#ifdef\x20LIMITVELOCITYGRADIENTS\x0a@binding(6)\x20@group(1)\x20var\x20limitVelocityGradientSampler\x20:\x20sampler;\x0a@binding(7)\x20@group(1)\x20var\x20limitVelocityGradientTexture\x20:\x20texture_2d;\x0a#endif\x0a#ifdef\x20DRAGGRADIENTS\x0a@binding(8)\x20@group(1)\x20var\x20dragGradientSampler\x20:\x20sampler;\x0a@binding(9)\x20@group(1)\x20var\x20dragGradientTexture\x20:\x20texture_2d;\x0a#endif\x0a#ifdef\x20NOISE\x0a@binding(10)\x20@group(1)\x20var\x20noiseSampler\x20:\x20sampler;\x0a@binding(11)\x20@group(1)\x20var\x20noiseTexture\x20:\x20texture_2d;\x0a#endif\x0afn\x20getRandomVec3(offset\x20:\x20f32,vertexID\x20:\x20f32)->vec3\x20{\x0areturn\x20textureLoad(randomTexture2,vec2(i32(vertexID*offset/params.currentCount*f32(params.randomTextureSize))\x20%\x20params.randomTextureSize,0),0).rgb;\x0a}\x0afn\x20getRandomVec4(offset\x20:\x20f32,vertexID\x20:\x20f32)->vec4\x20{\x0areturn\x20textureLoad(randomTexture,vec2(i32(vertexID*offset/params.currentCount*f32(params.randomTextureSize))\x20%\x20params.randomTextureSize,0),0);\x0a}\x0a@compute\x20@workgroup_size(64)\x0afn\x20main(@builtin(global_invocation_id)\x20GlobalInvocationID\x20:\x20vec3)\x20{\x0alet\x20index\x20:\x20u32=GlobalInvocationID.x;\x0alet\x20vertexID\x20:\x20f32=f32(index);\x0aif\x20(index>=u32(params.currentCount))\x20{\x0areturn;\x0a}\x0alet\x20PI\x20:\x20f32=3.14159;\x0alet\x20timeDelta\x20:\x20f32=params.timeDelta;\x0alet\x20newAge\x20:\x20f32=particlesIn.particles[index].age+timeDelta;\x0alet\x20life\x20:\x20f32=particlesIn.particles[index].life;\x0alet\x20seed\x20:\x20vec4=particlesIn.particles[index].seed;\x0alet\x20direction\x20:\x20vec3=particlesIn.particles[index].direction;\x0aif\x20(newAge>=life\x20&&\x20params.stopFactor\x20!=\x200.)\x20{\x0avar\x20newPosition\x20:\x20vec3;\x0avar\x20newDirection\x20:\x20vec3;\x0alet\x20randoms\x20:\x20vec4=getRandomVec4(seed.x,vertexID);\x0alet\x20outLife\x20:\x20f32=params.lifeTime.x+(params.lifeTime.y-params.lifeTime.x)*randoms.r;\x0aparticlesOut.particles[index].life=outLife;\x0aparticlesOut.particles[index].age=newAge-life;\x0aparticlesOut.particles[index].seed=seed;\x0avar\x20sizex\x20:\x20f32;\x0a#ifdef\x20SIZEGRADIENTS\x20\x0asizex=textureSampleLevel(sizeGradientTexture,sizeGradientSampler,vec2(0.,0.),0.).r;\x0a#else\x0asizex=params.sizeRange.x+(params.sizeRange.y-params.sizeRange.x)*randoms.g;\x0a#endif\x0aparticlesOut.particles[index].size=vec3(\x0asizex,\x0aparams.scaleRange.x+(params.scaleRange.y-params.scaleRange.x)*randoms.b,\x0aparams.scaleRange.z+(params.scaleRange.w-params.scaleRange.z)*randoms.a);\x0a#ifndef\x20COLORGRADIENTS\x0aparticlesOut.particles[index].color=params.color1+(params.color2-params.color1)*randoms.b;\x0a#endif\x0a#ifndef\x20ANGULARSPEEDGRADIENTS\x20\x0aparticlesOut.particles[index].angle=vec2(\x0aparams.angleRange.z+(params.angleRange.w-params.angleRange.z)*randoms.r,\x0aparams.angleRange.x+(params.angleRange.y-params.angleRange.x)*randoms.a);\x0a#else\x0aparticlesOut.particles[index].angle=params.angleRange.z+(params.angleRange.w-params.angleRange.z)*randoms.r;\x0a#endif\x20\x0a#if\x20defined(POINTEMITTER)\x0alet\x20randoms2\x20:\x20vec3=getRandomVec3(seed.y,vertexID);\x0alet\x20randoms3\x20:\x20vec3=getRandomVec3(seed.z,vertexID);\x0anewPosition=vec3(0.,0.,0.);\x0anewDirection=params.direction1+(params.direction2-params.direction1)*randoms3;\x0a#elif\x20defined(BOXEMITTER)\x0alet\x20randoms2\x20:\x20vec3=getRandomVec3(seed.y,vertexID);\x0alet\x20randoms3\x20:\x20vec3=getRandomVec3(seed.z,vertexID);\x0anewPosition=params.minEmitBox+(params.maxEmitBox-params.minEmitBox)*randoms2;\x0anewDirection=params.direction1+(params.direction2-params.direction1)*randoms3;\x20\x0a#elif\x20defined(HEMISPHERICEMITTER)\x0alet\x20randoms2\x20:\x20vec3=getRandomVec3(seed.y,vertexID);\x0alet\x20randoms3\x20:\x20vec3=getRandomVec3(seed.z,vertexID);\x0alet\x20phi\x20:\x20f32=2.0*PI*randoms2.x;\x0alet\x20theta\x20:\x20f32=acos(-1.0+2.0*randoms2.y);\x0alet\x20randX\x20:\x20f32=cos(phi)*sin(theta);\x0alet\x20randY\x20:\x20f32=cos(theta);\x0alet\x20randZ\x20:\x20f32=sin(phi)*sin(theta);\x0anewPosition=(params.radius-(params.radius*params.radiusRange*randoms2.z))*vec3(randX,abs(randY),randZ);\x0anewDirection=normalize(newPosition+params.directionRandomizer*randoms3);\x0a#elif\x20defined(SPHEREEMITTER)\x0alet\x20randoms2\x20:\x20vec3=getRandomVec3(seed.y,vertexID);\x0alet\x20randoms3\x20:\x20vec3=getRandomVec3(seed.z,vertexID);\x0alet\x20phi\x20:\x20f32=2.0*PI*randoms2.x;\x0alet\x20theta\x20:\x20f32=acos(-1.0+2.0*randoms2.y);\x0alet\x20randX\x20:\x20f32=cos(phi)*sin(theta);\x0alet\x20randY\x20:\x20f32=cos(theta);\x0alet\x20randZ\x20:\x20f32=sin(phi)*sin(theta);\x0anewPosition=(params.radius-(params.radius*params.radiusRange*randoms2.z))*vec3(randX,randY,randZ);\x0a#ifdef\x20DIRECTEDSPHEREEMITTER\x0anewDirection=normalize(params.direction1+(params.direction2-params.direction1)*randoms3);\x0a#else\x0anewDirection=normalize(newPosition+params.directionRandomizer*randoms3);\x0a#endif\x0a#elif\x20defined(CYLINDEREMITTER)\x0alet\x20randoms2\x20:\x20vec3=getRandomVec3(seed.y,vertexID);\x0alet\x20randoms3\x20:\x20vec3=getRandomVec3(seed.z,vertexID);\x0alet\x20yPos\x20:\x20f32=(-0.5+randoms2.x)*params.height;\x0avar\x20angle\x20:\x20f32=randoms2.y*PI*2.;\x0alet\x20inverseRadiusRangeSquared\x20:\x20f32=(1.-params.radiusRange)*(1.-params.radiusRange);\x0alet\x20positionRadius\x20:\x20f32=params.radius*sqrt(inverseRadiusRangeSquared+randoms2.z*(1.-inverseRadiusRangeSquared));\x0alet\x20xPos\x20:\x20f32=positionRadius*cos(angle);\x0alet\x20zPos\x20:\x20f32=positionRadius*sin(angle);\x0anewPosition=vec3(xPos,yPos,zPos);\x0a#ifdef\x20DIRECTEDCYLINDEREMITTER\x0anewDirection=params.direction1+(params.direction2-params.direction1)*randoms3;\x0a#else\x0aangle=angle+(-0.5+randoms3.x)*PI*params.directionRandomizer;\x0anewDirection=vec3(cos(angle),(-0.5+randoms3.y)*params.directionRandomizer,sin(angle));\x0anewDirection=normalize(newDirection);\x0a#endif\x0a#elif\x20defined(CONEEMITTER)\x0alet\x20randoms2\x20:\x20vec3=getRandomVec3(seed.y,vertexID);\x0alet\x20s\x20:\x20f32=2.0*PI*randoms2.x;\x0a#ifdef\x20CONEEMITTERSPAWNPOINT\x0alet\x20h\x20:\x20f32=0.0001;\x0a#else\x0avar\x20h\x20:\x20f32=randoms2.y*params.height.y;\x0ah=1.-h*h;\x20\x0a#endif\x0avar\x20lRadius\x20:\x20f32=params.radius.x-params.radius.x*randoms2.z*params.radius.y;\x0alRadius=lRadius*h;\x0alet\x20randX\x20:\x20f32=lRadius*sin(s);\x0alet\x20randZ\x20:\x20f32=lRadius*cos(s);\x0alet\x20randY\x20:\x20f32=h\x20*params.height.x;\x0anewPosition=vec3(randX,randY,randZ);\x20\x0aif\x20(abs(cos(params.coneAngle))==1.0)\x20{\x0anewDirection=vec3(0.,1.0,0.);\x0a}\x20else\x20{\x0alet\x20randoms3\x20:\x20vec3=getRandomVec3(seed.z,vertexID);\x0anewDirection=normalize(newPosition+params.directionRandomizer*randoms3);\x20\x0a}\x0a#elif\x20defined(CUSTOMEMITTER)\x0anewPosition=particlesIn.particles[index].initialPosition;\x0aparticlesOut.particles[index].initialPosition=newPosition;\x0a#else\x20\x0anewPosition=vec3(0.,0.,0.);\x0anewDirection=2.0*(getRandomVec3(seed.w,vertexID)-vec3(0.5,0.5,0.5));\x0a#endif\x0alet\x20power\x20:\x20f32=params.emitPower.x+(params.emitPower.y-params.emitPower.x)*randoms.a;\x0a#ifdef\x20LOCAL\x0aparticlesOut.particles[index].position=newPosition;\x0a#else\x0aparticlesOut.particles[index].position=(params.emitterWM*vec4(newPosition,1.)).xyz;\x0a#endif\x0a#ifdef\x20CUSTOMEMITTER\x0aparticlesOut.particles[index].direction=direction;\x0a#ifndef\x20BILLBOARD\x20\x0aparticlesOut.particles[index].initialDirection=direction;\x0a#endif\x0a#else\x0a#ifdef\x20LOCAL\x0alet\x20initial\x20:\x20vec3=newDirection;\x0a#else\x20\x0alet\x20initial\x20:\x20vec3=(params.emitterWM*vec4(newDirection,0.)).xyz;\x0a#endif\x0aparticlesOut.particles[index].direction=initial*power;\x0a#ifndef\x20BILLBOARD\x20\x0aparticlesOut.particles[index].initialDirection=initial;\x0a#endif\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x20\x0aparticlesOut.particles[index].cellIndex=params.cellInfos.x;\x0a#ifdef\x20ANIMATESHEETRANDOMSTART\x0aparticlesOut.particles[index].cellStartOffset=randoms.a*outLife;\x0a#endif\x20\x0a#endif\x0a#ifdef\x20NOISE\x0aparticlesOut.particles[index].noiseCoordinates1=particlesIn.particles[index].noiseCoordinates1;\x0aparticlesOut.particles[index].noiseCoordinates2=particlesIn.particles[index].noiseCoordinates2;\x0a#endif\x0a}\x20else\x20{\x0avar\x20directionScale\x20:\x20f32=timeDelta;\x0aparticlesOut.particles[index].age=newAge;\x0alet\x20ageGradient\x20:\x20f32=newAge/life;\x0a#ifdef\x20VELOCITYGRADIENTS\x0adirectionScale=directionScale*textureSampleLevel(velocityGradientTexture,velocityGradientSampler,vec2(ageGradient,0.),0.).r;\x0a#endif\x0a#ifdef\x20DRAGGRADIENTS\x0adirectionScale=directionScale*(1.0-textureSampleLevel(dragGradientTexture,dragGradientSampler,vec2(ageGradient,0.),0.).r);\x0a#endif\x0alet\x20position\x20:\x20vec3=particlesIn.particles[index].position;\x0a#if\x20defined(CUSTOMEMITTER)\x0aparticlesOut.particles[index].position=position+(direction-position)*ageGradient;\x20\x0aparticlesOut.particles[index].initialPosition=particlesIn.particles[index].initialPosition;\x0a#else\x0aparticlesOut.particles[index].position=position+direction*directionScale;\x0a#endif\x0aparticlesOut.particles[index].life=life;\x0aparticlesOut.particles[index].seed=seed;\x0a#ifndef\x20COLORGRADIENTS\x20\x0aparticlesOut.particles[index].color=particlesIn.particles[index].color;\x0a#endif\x0a#ifdef\x20SIZEGRADIENTS\x0aparticlesOut.particles[index].size=vec3(\x0atextureSampleLevel(sizeGradientTexture,sizeGradientSampler,vec2(ageGradient,0.),0.).r,\x0aparticlesIn.particles[index].size.yz);\x0a#else\x0aparticlesOut.particles[index].size=particlesIn.particles[index].size;\x0a#endif\x20\x0a#ifndef\x20BILLBOARD\x20\x0aparticlesOut.particles[index].initialDirection=particlesIn.particles[index].initialDirection;\x0a#endif\x0a#ifdef\x20CUSTOMEMITTER\x0aparticlesOut.particles[index].direction=direction;\x0a#else\x0avar\x20updatedDirection\x20:\x20vec3=direction+params.gravity*timeDelta;\x0a#ifdef\x20LIMITVELOCITYGRADIENTS\x0alet\x20limitVelocity\x20:\x20f32=textureSampleLevel(limitVelocityGradientTexture,limitVelocityGradientSampler,vec2(ageGradient,0.),0.).r;\x0alet\x20currentVelocity\x20:\x20f32=length(updatedDirection);\x0aif\x20(currentVelocity>limitVelocity)\x20{\x0aupdatedDirection=updatedDirection*params.limitVelocityDamping;\x0a}\x0a#endif\x0aparticlesOut.particles[index].direction=updatedDirection;\x0a#ifdef\x20NOISE\x0alet\x20noiseCoordinates1\x20:\x20vec3=particlesIn.particles[index].noiseCoordinates1;\x0alet\x20noiseCoordinates2\x20:\x20vec3=particlesIn.particles[index].noiseCoordinates2;\x0alet\x20fetchedR\x20:\x20f32=textureSampleLevel(noiseTexture,noiseSampler,vec2(noiseCoordinates1.x,noiseCoordinates1.y)*vec2(0.5,0.5)+vec2(0.5,0.5),0.).r;\x0alet\x20fetchedG\x20:\x20f32=textureSampleLevel(noiseTexture,noiseSampler,vec2(noiseCoordinates1.z,noiseCoordinates2.x)*vec2(0.5,0.5)+vec2(0.5,0.5),0.).r;\x0alet\x20fetchedB\x20:\x20f32=textureSampleLevel(noiseTexture,noiseSampler,vec2(noiseCoordinates2.y,noiseCoordinates2.z)*vec2(0.5,0.5)+vec2(0.5,0.5),0.).r;\x0alet\x20force\x20:\x20vec3=vec3(-1.+2.*fetchedR,-1.+2.*fetchedG,-1.+2.*fetchedB)*params.noiseStrength;\x0aparticlesOut.particles[index].direction=particlesOut.particles[index].direction+force*timeDelta;\x0aparticlesOut.particles[index].noiseCoordinates1=noiseCoordinates1;\x0aparticlesOut.particles[index].noiseCoordinates2=noiseCoordinates2;\x0a#endif\x20\x0a#endif\x20\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0alet\x20angularSpeed\x20:\x20f32=textureSampleLevel(angularSpeedGradientTexture,angularSpeedGradientSampler,vec2(ageGradient,0.),0.).r;\x0aparticlesOut.particles[index].angle=particlesIn.particles[index].angle+angularSpeed*timeDelta;\x0a#else\x0alet\x20angle\x20:\x20vec2=particlesIn.particles[index].angle;\x0aparticlesOut.particles[index].angle=vec2(angle.x+angle.y*timeDelta,angle.y);\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x20\x0avar\x20offsetAge\x20:\x20f32=particlesOut.particles[index].age;\x0alet\x20dist\x20:\x20f32=params.cellInfos.y-params.cellInfos.x;\x0a#ifdef\x20ANIMATESHEETRANDOMSTART\x0alet\x20cellStartOffset\x20:\x20f32=particlesIn.particles[index].cellStartOffset;\x0aparticlesOut.particles[index].cellStartOffset=cellStartOffset;\x0aoffsetAge=offsetAge+cellStartOffset;\x0a#else\x0alet\x20cellStartOffset\x20:\x20f32=0.;\x0a#endif\x20\x0avar\x20ratio\x20:\x20f32;\x0aif\x20(params.cellInfos.w==1.0)\x20{\x0aratio=clamp(((cellStartOffset+params.cellInfos.z*offsetAge)\x20%\x20life)/life,0.,1.0);\x0a}\x0aelse\x20{\x0aratio=clamp((cellStartOffset+params.cellInfos.z*offsetAge)/life,0.,1.0);\x0a}\x0aparticlesOut.particles[index].cellIndex=f32(i32(params.cellInfos.x+ratio*dist));\x0a#endif\x0a}\x0a}\x0a','Texture\x20loader\x20does\x20not\x20support\x20cascades.','activeCamera','sharpenPixelShader','screenSpaceCurvaturePixelShader','ceil','outlineVertexShader','_renderTargetEncoder','readValues','updateRawCubeTexture','_retrieveQueryBuffer','hasOwnProperty','SRC_ALPHA','PREPASS_NORMAL_TEXTURE_TYPE','TEXTURE_BILINEAR_SAMPLINGMODE','_physicsTimeAccumulator','ASTC5x5UnormSRGB','#define\x20RECIPROCAL_PI2\x200.15915494\x0a#define\x20RECIPROCAL_PI\x200.31830988618\x0a#define\x20MINIMUMVARIANCE\x200.0005\x0afloat\x20convertRoughnessToAverageSlope(float\x20roughness)\x0a{\x0areturn\x20square(roughness)+MINIMUMVARIANCE;\x0a}\x0afloat\x20fresnelGrazingReflectance(float\x20reflectance0)\x20{\x0afloat\x20reflectance90=saturate(reflectance0*25.0);\x0areturn\x20reflectance90;\x0a}\x0avec2\x20getAARoughnessFactors(vec3\x20normalVector)\x20{\x0a#ifdef\x20SPECULARAA\x0avec3\x20nDfdx=dFdx(normalVector.xyz);\x0avec3\x20nDfdy=dFdy(normalVector.xyz);\x0afloat\x20slopeSquare=max(dot(nDfdx,nDfdx),dot(nDfdy,nDfdy));\x0afloat\x20geometricRoughnessFactor=pow(saturate(slopeSquare),0.333);\x0afloat\x20geometricAlphaGFactor=sqrt(slopeSquare);\x0ageometricAlphaGFactor*=0.75;\x0areturn\x20vec2(geometricRoughnessFactor,geometricAlphaGFactor);\x0a#else\x0areturn\x20vec2(0.);\x0a#endif\x0a}\x0a#ifdef\x20ANISOTROPIC\x0avec2\x20getAnisotropicRoughness(float\x20alphaG,float\x20anisotropy)\x20{\x0afloat\x20alphaT=max(alphaG*(1.0+anisotropy),MINIMUMVARIANCE);\x0afloat\x20alphaB=max(alphaG*(1.0-anisotropy),MINIMUMVARIANCE);\x0areturn\x20vec2(alphaT,alphaB);\x0a}\x0avec3\x20getAnisotropicBentNormals(const\x20vec3\x20T,const\x20vec3\x20B,const\x20vec3\x20N,const\x20vec3\x20V,float\x20anisotropy)\x20{\x0avec3\x20anisotropicFrameDirection=anisotropy>=0.0\x20?\x20B\x20:\x20T;\x0avec3\x20anisotropicFrameTangent=cross(normalize(anisotropicFrameDirection),V);\x0avec3\x20anisotropicFrameNormal=cross(anisotropicFrameTangent,anisotropicFrameDirection);\x0avec3\x20anisotropicNormal=normalize(mix(N,anisotropicFrameNormal,abs(anisotropy)));\x0areturn\x20anisotropicNormal;\x0a}\x0a#endif\x0a#if\x20defined(CLEARCOAT)\x20||\x20defined(SS_REFRACTION)\x0avec3\x20cocaLambert(vec3\x20alpha,float\x20distance)\x20{\x0areturn\x20exp(-alpha*distance);\x0a}\x0avec3\x20cocaLambert(float\x20NdotVRefract,float\x20NdotLRefract,vec3\x20alpha,float\x20thickness)\x20{\x0areturn\x20cocaLambert(alpha,(thickness*((NdotLRefract+NdotVRefract)/(NdotLRefract*NdotVRefract))));\x0a}\x0avec3\x20computeColorAtDistanceInMedia(vec3\x20color,float\x20distance)\x20{\x0areturn\x20-log(color)/distance;\x0a}\x0avec3\x20computeClearCoatAbsorption(float\x20NdotVRefract,float\x20NdotLRefract,vec3\x20clearCoatColor,float\x20clearCoatThickness,float\x20clearCoatIntensity)\x20{\x0avec3\x20clearCoatAbsorption=mix(vec3(1.0),\x0acocaLambert(NdotVRefract,NdotLRefract,clearCoatColor,clearCoatThickness),\x0aclearCoatIntensity);\x0areturn\x20clearCoatAbsorption;\x0a}\x0a#endif\x0a#ifdef\x20MICROSURFACEAUTOMATIC\x0afloat\x20computeDefaultMicroSurface(float\x20microSurface,vec3\x20reflectivityColor)\x0a{\x0aconst\x20float\x20kReflectivityNoAlphaWorkflow_SmoothnessMax=0.95;\x0afloat\x20reflectivityLuminance=getLuminance(reflectivityColor);\x0afloat\x20reflectivityLuma=sqrt(reflectivityLuminance);\x0amicroSurface=reflectivityLuma*kReflectivityNoAlphaWorkflow_SmoothnessMax;\x0areturn\x20microSurface;\x0a}\x0a#endif\x0a','getDeterministicFrameTime','clipPlane2','DEPTH_TEST','initWebVRAsync','Float\x20texture\x20filtering\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20and\x20sampling\x20mode\x20are\x20forced\x20to\x20false\x20and\x20TEXTURE_NEAREST_SAMPLINGMODE,\x20respectively.','_decalMap','useRightHandedSystem','#ifdef\x20ALPHAFRESNEL\x0a#if\x20defined(ALPHATEST)\x20||\x20defined(ALPHABLEND)\x0astruct\x20alphaFresnelOutParams\x0a{\x0afloat\x20alpha;\x0a};\x0a#define\x20pbr_inline\x0avoid\x20alphaFresnelBlock(\x0ain\x20vec3\x20normalW,\x0ain\x20vec3\x20viewDirectionW,\x0ain\x20float\x20alpha,\x0ain\x20float\x20microSurface,\x0aout\x20alphaFresnelOutParams\x20outParams\x0a)\x0a{\x0afloat\x20opacityPerceptual=alpha;\x0a#ifdef\x20LINEARALPHAFRESNEL\x0afloat\x20opacity0=opacityPerceptual;\x0a#else\x0afloat\x20opacity0=opacityPerceptual*opacityPerceptual;\x0a#endif\x0afloat\x20opacity90=fresnelGrazingReflectance(opacity0);\x0avec3\x20normalForward=faceforward(normalW,-viewDirectionW,normalW);\x0aoutParams.alpha=getReflectanceFromAnalyticalBRDFLookup_Jones(saturate(dot(viewDirectionW,normalForward)),vec3(opacity0),vec3(opacity90),sqrt(microSurface)).x;\x0a#ifdef\x20ALPHATEST\x0aif\x20(outParams.alpha1e-2\x20?\x20rvec\x20:\x20vec3(-rvec.y,0.0,rvec.x);\x0avec3\x20tangent=normalize(rvec-normal*dot(rvec,normal));\x0avec3\x20bitangent=cross(normal,tangent);\x0amat3\x20tbn=mat3(tangent,bitangent,normal);\x0afloat\x20difference;\x0afor\x20(int\x20i=0;\x20i1.0\x20||\x20offset.y>1.0)\x20{\x0acontinue;\x0a}\x0afloat\x20sampleDepth=abs(textureLod(depthSampler,offset.xy,0.0).r);\x0adifference=depthSign*samplePosition.z-sampleDepth;\x0afloat\x20rangeCheck=1.0-smoothstep(correctedRadius*0.5,correctedRadius,difference);\x0aocclusion+=step(EPSILON,difference)*rangeCheck;\x0a}\x0aocclusion=occlusion*(1.0-smoothstep(maxZ*0.75,maxZ,depth));\x0afloat\x20ao=1.0-totalStrength*occlusion*samplesFactor;\x0afloat\x20result=clamp(ao+base,0.0,1.0);\x0agl_FragColor=vec4(vec3(result),1.0);\x0a}\x0a#endif\x0a#ifdef\x20BLUR\x0auniform\x20float\x20outSize;\x0auniform\x20float\x20soften;\x0auniform\x20float\x20tolerance;\x0auniform\x20int\x20samples;\x0a#ifndef\x20BLUR_BYPASS\x0auniform\x20sampler2D\x20depthSampler;\x0a#ifdef\x20BLUR_LEGACY\x0a#define\x20inline\x0afloat\x20blur13Bilateral(sampler2D\x20image,vec2\x20uv,vec2\x20step)\x20{\x0afloat\x20result=0.0;\x0avec2\x20off1=vec2(1.411764705882353)*step;\x0avec2\x20off2=vec2(3.2941176470588234)*step;\x0avec2\x20off3=vec2(5.176470588235294)*step;\x0afloat\x20compareDepth=abs(textureLod(depthSampler,uv,0.0).r);\x0afloat\x20sampleDepth;\x0afloat\x20weight;\x0afloat\x20weightSum=30.0;\x0aresult+=textureLod(image,uv,0.0).r*30.0;\x0asampleDepth=abs(textureLod(depthSampler,uv+off1,0.0).r);\x0aweight=clamp(1.0/(\x200.003+abs(compareDepth-sampleDepth)),0.0,30.0);\x0aweightSum+=\x20weight;\x0aresult+=textureLod(image,uv+off1,0.0).r*weight;\x0asampleDepth=abs(textureLod(depthSampler,uv-off1,0.0).r);\x0aweight=clamp(1.0/(\x200.003+abs(compareDepth-sampleDepth)),0.0,30.0);\x0aweightSum+=\x20weight;\x0aresult+=textureLod(image,uv-off1,0.0).r*weight;\x0asampleDepth=abs(textureLod(depthSampler,uv+off2,0.0).r);\x0aweight=clamp(1.0/(\x200.003+abs(compareDepth-sampleDepth)),0.0,30.0);\x0aweightSum+=weight;\x0aresult+=textureLod(image,uv+off2,0.0).r*weight;\x0asampleDepth=abs(textureLod(depthSampler,uv-off2,0.0).r);\x0aweight=clamp(1.0/(\x200.003+abs(compareDepth-sampleDepth)),0.0,30.0);\x0aweightSum+=weight;\x0aresult+=textureLod(image,uv-off2,0.0).r*weight;\x0asampleDepth=abs(textureLod(depthSampler,uv+off3,0.0).r);\x0aweight=clamp(1.0/(\x200.003+abs(compareDepth-sampleDepth)),0.0,30.0);\x0aweightSum+=weight;\x0aresult+=textureLod(image,uv+off3,0.0).r*weight;\x0asampleDepth=abs(textureLod(depthSampler,uv-off3,0.0).r);\x0aweight=clamp(1.0/(\x200.003+abs(compareDepth-sampleDepth)),0.0,30.0);\x0aweightSum+=weight;\x0aresult+=textureLod(image,uv-off3,0.0).r*weight;\x0areturn\x20result/weightSum;\x0a}\x0a#endif\x0a#endif\x0avoid\x20main()\x0a{\x0afloat\x20result=0.0;\x0a#ifdef\x20BLUR_BYPASS\x0aresult=textureLod(textureSampler,vUV,0.0).r;\x0a#else\x0a#ifdef\x20BLUR_H\x0avec2\x20step=vec2(1.0/outSize,0.0);\x0a#else\x0avec2\x20step=vec2(0.0,1.0/outSize);\x0a#endif\x0a#ifdef\x20BLUR_LEGACY\x0aresult=blur13Bilateral(textureSampler,vUV,step);\x0a#else\x0afloat\x20compareDepth=abs(textureLod(depthSampler,vUV,0.0).r);\x0afloat\x20weightSum=0.0;\x0afor\x20(int\x20i=-samples;\x20i;\x0a#ifdef\x20MORPHTARGETS_TEXTURE\x20\x0auniform\x20morphTargetTextureIndices\x20:\x20array;\x0auniform\x20morphTargetTextureInfo\x20:\x20vec3;\x0avar\x20morphTargets\x20:\x20texture_2d_array;\x0avar\x20morphTargetsSampler\x20:\x20sampler;\x0afn\x20readVector3FromRawSampler(targetIndex\x20:\x20i32,vertexIndex\x20:\x20f32)->vec3\x0a{\x20\x0alet\x20y=floor(vertexIndex/uniforms.morphTargetTextureInfo.y);\x0alet\x20x=vertexIndex-y*uniforms.morphTargetTextureInfo.y;\x0alet\x20textureUV=vec2((x+0.5)/uniforms.morphTargetTextureInfo.y,(y+0.5)/uniforms.morphTargetTextureInfo.z);\x0areturn\x20textureSampleLevel(morphTargets,morphTargetsSampler,textureUV,i32(uniforms.morphTargetTextureIndices[targetIndex]),0.0).xyz;\x0a}\x0a#endif\x0a#endif\x0a','_setupDepthStencilTexture','skipOnKeyboardObservable','HasStencilAspect','#define\x20CLIPPLANE5','maxFilterSize','createStorageBuffer','map','setStencilFailOp','canvasTabIndex','lineIndex','_maxRank','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0aconst\x20vec3\x20RGBLuminanceCoefficients=vec3(0.2126,0.7152,0.0722);\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0avec4\x20tex=texture2D(textureSampler,vUV);\x0avec3\x20c=tex.rgb;\x0afloat\x20luma=dot(c.rgb,RGBLuminanceCoefficients);\x0agl_FragColor=vec4(pow(c,vec3(25.0-luma*15.0)),tex.a);\x20\x0a}','dataStoreDataByteOffset','#extension\x20GL_OES_standard_derivatives\x20:\x20enable\x0a#define\x20SQRT2\x201.41421356\x0a#define\x20PI\x203.14159\x0aprecision\x20highp\x20float;\x0auniform\x20float\x20visibility;\x0auniform\x20vec3\x20mainColor;\x0auniform\x20vec3\x20lineColor;\x0auniform\x20vec4\x20gridControl;\x0auniform\x20vec3\x20gridOffset;\x0avarying\x20vec3\x20vPosition;\x0avarying\x20vec3\x20vNormal;\x0a#include\x0a#ifdef\x20OPACITY\x0avarying\x20vec2\x20vOpacityUV;\x0auniform\x20sampler2D\x20opacitySampler;\x0auniform\x20vec2\x20vOpacityInfos;\x0a#endif\x0afloat\x20getDynamicVisibility(float\x20position)\x20{\x0afloat\x20majorGridFrequency=gridControl.y;\x0aif\x20(floor(position+0.5)==floor(position/majorGridFrequency+0.5)*majorGridFrequency)\x0a{\x0areturn\x201.0;\x0a}\x20\x0areturn\x20gridControl.z;\x0a}\x0afloat\x20getAnisotropicAttenuation(float\x20differentialLength)\x20{\x0aconst\x20float\x20maxNumberOfLines=10.0;\x0areturn\x20clamp(1.0/(differentialLength+1.0)-1.0/maxNumberOfLines,0.0,1.0);\x0a}\x0afloat\x20isPointOnLine(float\x20position,float\x20differentialLength)\x20{\x0afloat\x20fractionPartOfPosition=position-floor(position+0.5);\x20\x0afractionPartOfPosition/=differentialLength;\x20\x0afractionPartOfPosition=clamp(fractionPartOfPosition,-1.,1.);\x0afloat\x20result=0.5+0.5*cos(fractionPartOfPosition*PI);\x20\x0areturn\x20result;\x20\x0a}\x0afloat\x20contributionOnAxis(float\x20position)\x20{\x0afloat\x20differentialLength=length(vec2(dFdx(position),dFdy(position)));\x0adifferentialLength*=SQRT2;\x20\x0afloat\x20result=isPointOnLine(position,differentialLength);\x0afloat\x20dynamicVisibility=getDynamicVisibility(position);\x0aresult*=dynamicVisibility;\x0afloat\x20anisotropicAttenuation=getAnisotropicAttenuation(differentialLength);\x0aresult*=anisotropicAttenuation;\x0areturn\x20result;\x0a}\x0afloat\x20normalImpactOnAxis(float\x20x)\x20{\x0afloat\x20normalImpact=clamp(1.0-3.0*abs(x*x*x),0.0,1.0);\x0areturn\x20normalImpact;\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0afloat\x20gridRatio=gridControl.x;\x0avec3\x20gridPos=(vPosition+gridOffset.xyz)/gridRatio;\x0afloat\x20x=contributionOnAxis(gridPos.x);\x0afloat\x20y=contributionOnAxis(gridPos.y);\x0afloat\x20z=contributionOnAxis(gridPos.z);\x0avec3\x20normal=normalize(vNormal);\x0ax*=normalImpactOnAxis(normal.x);\x0ay*=normalImpactOnAxis(normal.y);\x0az*=normalImpactOnAxis(normal.z);\x0a#ifdef\x20MAX_LINE\x20\x0afloat\x20grid=clamp(max(max(x,y),z),0.,1.);\x0a#else\x0afloat\x20grid=clamp(x+y+z,0.,1.);\x0a#endif\x0avec3\x20color=mix(mainColor,lineColor,grid);\x0a#ifdef\x20FOG\x0a#include\x0a#endif\x0afloat\x20opacity=1.0;\x0a#ifdef\x20TRANSPARENT\x0aopacity=clamp(grid,0.08,gridControl.w*grid);\x0a#endif\x20\x0a#ifdef\x20OPACITY\x0aopacity*=texture2D(opacitySampler,vOpacityUV).a;\x0a#endif\x20\x0agl_FragColor=vec4(color.rgb,opacity*visibility);\x0a#ifdef\x20TRANSPARENT\x0a#ifdef\x20PREMULTIPLYALPHA\x0agl_FragColor.rgb*=opacity;\x0a#endif\x0a#else\x20\x0a#endif\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','_capacity','programLinkError','onPrePointerObservable','doNotHandleCursors','disable','VertexAndFragment','_cacheMatrix','_dummyFramebuffer','#ifdef\x20INSTANCES\x0avar\x20finalWorld=mat4x4(vertexInputs.world0,vertexInputs.world1,vertexInputs.world2,vertexInputs.world3);\x0a#if\x20defined(PREPASS_VELOCITY)\x20||\x20defined(VELOCITY)\x0avar\x20finalPreviousWorld=mat4x4(previousWorld0,previousWorld1,previousWorld2,previousWorld3);\x0a#endif\x0a#ifdef\x20THIN_INSTANCES\x0a#if\x20!defined(WORLD_UBO)\x0afinalWorld=uniforms.world*finalWorld;\x0a#else\x0afinalWorld=mesh.world*finalWorld;\x0a#endif\x0a#if\x20defined(PREPASS_VELOCITY)\x20||\x20defined(VELOCITY)\x0afinalPreviousWorld=previousWorld*finalPreviousWorld;\x0a#endif\x0a#endif\x0a#else\x0a#if\x20!defined(WORLD_UBO)\x0avar\x20finalWorld=uniforms.world;\x0a#else\x0avar\x20finalWorld=mesh.world;\x0a#endif\x0a#if\x20defined(PREPASS_VELOCITY)\x20||\x20defined(VELOCITY)\x0avar\x20finalPreviousWorld=previousWorld;\x0a#endif\x0a#endif\x0a','_time','ALWAYS','_mask','MultiRenderTarget','attribute\x20vec2\x20position;\x0auniform\x20mat4\x20viewportMatrix;\x0avarying\x20vec2\x20vUV;\x0aconst\x20vec2\x20madd=vec2(0.5,0.5);\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avUV=position*madd+madd;\x0agl_Position=viewportMatrix*vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','_useMultiviewToSingleView','381159ffRLgw','_definePlanarName','#ifdef\x20INSTANCES\x0amat4\x20finalWorld=mat4(world0,world1,world2,world3);\x0a#if\x20defined(PREPASS_VELOCITY)\x20||\x20defined(VELOCITY)\x0amat4\x20finalPreviousWorld=mat4(previousWorld0,previousWorld1,previousWorld2,previousWorld3);\x0a#endif\x0a#ifdef\x20THIN_INSTANCES\x0afinalWorld=world*finalWorld;\x0a#if\x20defined(PREPASS_VELOCITY)\x20||\x20defined(VELOCITY)\x0afinalPreviousWorld=previousWorld*finalPreviousWorld;\x0a#endif\x0a#endif\x0a#else\x0amat4\x20finalWorld=world;\x0a#if\x20defined(PREPASS_VELOCITY)\x20||\x20defined(VELOCITY)\x0amat4\x20finalPreviousWorld=previousWorld;\x0a#endif\x0a#endif\x0a','index','radius','top','generateMipmap','_varyingTransfer','_onXRFrame','_bindTextureRenderTarget','_currentFramebuffer','INTENSITYMODE_LUMINANCE','TEXTURE_MAX_LEVEL','cos','createMipMaps','BUFFER_CREATIONFLAG_STORAGE','REFLECTIONMAP_PLANAR','ETC2RGB8A1Unorm','invertYPreMultiplyAlpha','textureLod(','rotation','ExponentialBackoff','BC1RGBAUnorm','E2d','TEXTURETYPE_UNSIGNED_INTEGER','bindingIndex','addFallback','setFloatArray4','_registeredActions','_pixelPerfect','GL_ALPHA_FUNCTION_ONE_MINUS_SRC_COLOR',');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20','lensFlareVertexShader','premultipliedAlpha','kernelBlurFragment','endFrame','_videoTextureSupported','getPerfCollector','drawImage','vec3','_removeCameraPointerObserver','thinInstanceRegisterAttribute','i32d','invertU','allowEmptyVertexProgram','_isUbo','_arePrePassDirty','CULL_FACE','updateInt3','createPostProcess','vClipPlane','harmonicsFunctions','boxMin','spritesPixelShader','volumetricLightScatteringPassVertexShader','BABYLON.IridescenceBlock','-pvrtc.ktx','_drawWrapperFogDepth','reflectionColor','Vector3','bindArrayBuffer','_generatePickInfo','_blendFunctionParameters','setFloat4','_webVRInitPromise','_getNextFreeBinding','screenSpaceReflection2BlurPixelShader','packingFunctions','colorAttachment','\x20=\x20computeProjectionCoords(','zOffset','\x20=\x20','copyExternalImageToTexture','stop','prePassRenderer','GetTags','GL_ALPHA_FUNCTION_ONE_MINUS_DST_COLOR','uniform','struct\x20Mesh\x20{\x0aworld\x20:\x20mat4x4,\x0avisibility\x20:\x20f32,\x0a};\x0avar\x20mesh\x20:\x20Mesh;\x0a#define\x20WORLD_UBO\x0a','vectors','ELEMENT_ARRAY_BUFFER','setExternalTexture','_webgpuMSAATexture','#define\x20CONEEMITTER','ACTION_OnPickTrigger','byteOffset','blocksWithDefines','_pipelines','markAsFresnelDirty','copy\x20video\x20to\x20texture\x20-\x20invertY=','setBool','_videoCompiledShaders','toLowerCase','TEXTURE_LINEAR_LINEAR_MIPLINEAR','_bufferManager','addPendingData','pbrBRDFFunctions','setAlphaBlendFunctionParameters','keydown','#ifdef\x20LIGHT{X}\x0auniform\x20vec4\x20vLightData{X};\x0auniform\x20vec4\x20vLightDiffuse{X};\x0a#ifdef\x20SPECULARTERM\x0auniform\x20vec4\x20vLightSpecular{X};\x0a#else\x0avec4\x20vLightSpecular{X}=vec4(0.);\x0a#endif\x0a#ifdef\x20SHADOW{X}\x0a#ifdef\x20SHADOWCSM{X}\x0auniform\x20mat4\x20lightMatrix{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20viewFrustumZ{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20frustumLengths{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20cascadeBlendFactor{X};\x0avarying\x20vec4\x20vPositionFromLight{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20float\x20vDepthMetric{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20vec4\x20vPositionFromCamera{X};\x0a#if\x20defined(SHADOWPCSS{X})\x0auniform\x20highp\x20sampler2DArrayShadow\x20shadowSampler{X};\x0auniform\x20highp\x20sampler2DArray\x20depthSampler{X};\x0auniform\x20vec2\x20lightSizeUVCorrection{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20depthCorrection{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20penumbraDarkness{X};\x0a#elif\x20defined(SHADOWPCF{X})\x0auniform\x20highp\x20sampler2DArrayShadow\x20shadowSampler{X};\x0a#else\x0auniform\x20highp\x20sampler2DArray\x20shadowSampler{X};\x0a#endif\x0a#ifdef\x20SHADOWCSMDEBUG{X}\x0aconst\x20vec3\x20vCascadeColorsMultiplier{X}[8]=vec3[8]\x0a(\x0avec3\x20(\x201.5,0.0,0.0\x20),\x0avec3\x20(\x200.0,1.5,0.0\x20),\x0avec3\x20(\x200.0,0.0,5.5\x20),\x0avec3\x20(\x201.5,0.0,5.5\x20),\x0avec3\x20(\x201.5,1.5,0.0\x20),\x0avec3\x20(\x201.0,1.0,1.0\x20),\x0avec3\x20(\x200.0,1.0,5.5\x20),\x0avec3\x20(\x200.5,3.5,0.75\x20)\x0a);\x0avec3\x20shadowDebug{X};\x0a#endif\x0a#ifdef\x20SHADOWCSMUSESHADOWMAXZ{X}\x0aint\x20index{X}=-1;\x0a#else\x0aint\x20index{X}=SHADOWCSMNUM_CASCADES{X}-1;\x0a#endif\x0afloat\x20diff{X}=0.;\x0a#elif\x20defined(SHADOWCUBE{X})\x0auniform\x20samplerCube\x20shadowSampler{X};\x0a#else\x0avarying\x20vec4\x20vPositionFromLight{X};\x0avarying\x20float\x20vDepthMetric{X};\x0a#if\x20defined(SHADOWPCSS{X})\x0auniform\x20highp\x20sampler2DShadow\x20shadowSampler{X};\x0auniform\x20highp\x20sampler2D\x20depthSampler{X};\x0a#elif\x20defined(SHADOWPCF{X})\x0auniform\x20highp\x20sampler2DShadow\x20shadowSampler{X};\x0a#else\x0auniform\x20sampler2D\x20shadowSampler{X};\x0a#endif\x0auniform\x20mat4\x20lightMatrix{X};\x0a#endif\x0auniform\x20vec4\x20shadowsInfo{X};\x0auniform\x20vec2\x20depthValues{X};\x0a#endif\x0a#ifdef\x20SPOTLIGHT{X}\x0auniform\x20vec4\x20vLightDirection{X};\x0auniform\x20vec4\x20vLightFalloff{X};\x0a#elif\x20defined(POINTLIGHT{X})\x0auniform\x20vec4\x20vLightFalloff{X};\x0a#elif\x20defined(HEMILIGHT{X})\x0auniform\x20vec3\x20vLightGround{X};\x0a#endif\x0a#ifdef\x20PROJECTEDLIGHTTEXTURE{X}\x0auniform\x20mat4\x20textureProjectionMatrix{X};\x0auniform\x20sampler2D\x20projectionLightSampler{X};\x0a#endif\x0a#endif\x0a','isPointerLock','ONE_MINUS_SRC_ALPHA',';\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20layout(set\x20=\x20','anisotropicFilteringLevel','textureUsages','createBuffer','shadowMapPixelShader','CLIPPLANE2','_defineCubicName','coneAngle','_cacheFloat4','pbrHelperFunctions','_data','_oldSize','_areImageProcessingDirty','isQueryResultAvailable','#ifdef\x20WEBGL2\x0auniform\x20vec4\x20color;\x0auniform\x20mat4\x20world;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20MULTIVIEW\x0auniform\x20mat4\x20viewProjectionR;\x0a#endif\x0a#else\x0alayout(std140,column_major)\x20uniform;\x0auniform\x20BoundingBoxRenderer\x20{\x0avec4\x20color;\x0amat4\x20world;\x0amat4\x20viewProjection;\x0amat4\x20viewProjectionR;\x0a};\x0a#endif\x0a','fireVertexShader','assign','vec4\x20','_unTranslatedPointerX','setImmediate','Boolean','dynamicUniformBlocks','texture3D','TEXTUREFORMAT_RED','exitPresent','GLSL','leftOperand','float','videoWidth','_drawWrapperFog','_reflectionCoordsName','_defineEquirectangularFixedName','depthMask','uniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0auniform\x20float\x20shadowLevel;\x0a#ifdef\x20DIFFUSE\x0auniform\x20mat4\x20diffuseMatrix;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20REFLECTION\x0auniform\x20vec2\x20vReflectionInfos;\x0auniform\x20mat4\x20reflectionMatrix;\x0auniform\x20vec3\x20vReflectionMicrosurfaceInfos;\x0auniform\x20float\x20fFovMultiplier;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0a','shift','attribute\x20vec2\x20position;\x0avarying\x20vec3\x20direction;\x0auniform\x20vec3\x20up;\x0auniform\x20vec3\x20right;\x0auniform\x20vec3\x20front;\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0amat3\x20view=mat3(up,right,front);\x0adirection=view*vec3(position,1.0);\x0agl_Position=vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','Depth24Plus','setStencilCompare','_fromIndex','_setColorFormat','supportsUniformBuffers','_getFreeVariableName','DragMovementThreshold','\x20levels','_setupFramebufferDepthAttachments','uniformProcessor','vertexArrayObject','createCubeTextureBase','readDataFromBuffer','Multiview\x20is\x20not\x20supported','shadowMapVertexDeclaration','clipPlane6','markAsUnprocessed','iridescenceOut','depthPrePass','furVertexShader','resolution','loopAnimation','passCubePixelShader','Texture','inputIndex','_areAttributesDirty','struct\x20iridescenceOutParams\x0a{\x0afloat\x20iridescenceIntensity;\x0afloat\x20iridescenceIOR;\x0afloat\x20iridescenceThickness;\x0avec3\x20specularEnvironmentR0;\x0a};\x0a#ifdef\x20IRIDESCENCE\x0a#define\x20pbr_inline\x0a#define\x20inline\x0avoid\x20iridescenceBlock(\x0ain\x20vec4\x20vIridescenceParams,\x0ain\x20float\x20viewAngle,\x0ain\x20vec3\x20specularEnvironmentR0,\x0a#ifdef\x20IRIDESCENCE_TEXTURE\x0ain\x20vec2\x20iridescenceMapData,\x0a#endif\x0a#ifdef\x20IRIDESCENCE_THICKNESS_TEXTURE\x0ain\x20vec2\x20iridescenceThicknessMapData,\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0ain\x20float\x20NdotVUnclamped,\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0ain\x20vec2\x20clearCoatMapData,\x0a#endif\x0a#endif\x0aout\x20iridescenceOutParams\x20outParams\x0a)\x0a{\x0afloat\x20iridescenceIntensity=vIridescenceParams.x;\x0afloat\x20iridescenceIOR=vIridescenceParams.y;\x0afloat\x20iridescenceThicknessMin=vIridescenceParams.z;\x0afloat\x20iridescenceThicknessMax=vIridescenceParams.w;\x0afloat\x20iridescenceThicknessWeight=1.;\x0a#ifdef\x20IRIDESCENCE_TEXTURE\x0airidescenceIntensity*=iridescenceMapData.x;\x0a#ifdef\x20IRIDESCENCE_USE_THICKNESS_FROM_MAINTEXTURE\x0airidescenceThicknessWeight=iridescenceMapData.g;\x0a#endif\x0a#endif\x0a#if\x20defined(IRIDESCENCE_THICKNESS_TEXTURE)\x0airidescenceThicknessWeight=iridescenceThicknessMapData.g;\x0a#endif\x0afloat\x20iridescenceThickness=mix(iridescenceThicknessMin,iridescenceThicknessMax,iridescenceThicknessWeight);\x0afloat\x20topIor=1.;\x20\x0a#ifdef\x20CLEARCOAT\x0afloat\x20clearCoatIntensity=vClearCoatParams.x;\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0aclearCoatIntensity*=clearCoatMapData.x;\x0a#endif\x0atopIor=mix(1.0,vClearCoatRefractionParams.w-1.,clearCoatIntensity);\x0aviewAngle=sqrt(1.0+square(1.0/topIor)*(square(NdotVUnclamped)-1.0));\x0a#endif\x0avec3\x20iridescenceFresnel=evalIridescence(topIor,iridescenceIOR,viewAngle,iridescenceThickness,specularEnvironmentR0);\x0aoutParams.specularEnvironmentR0=mix(specularEnvironmentR0,iridescenceFresnel,iridescenceIntensity);\x0aoutParams.iridescenceIntensity=iridescenceIntensity;\x0aoutParams.iridescenceThickness=iridescenceThickness;\x0aoutParams.iridescenceIOR=iridescenceIOR;\x0a}\x0a#endif\x0a','CONSTANT_ALPHA','Process','pbrBlockAlbedoOpacity','postprocess','createImageBitmap','#ifdef\x20LIGHT{X}\x0auniform\x20Light{X}\x0a{\x0avec4\x20vLightData;\x0avec4\x20vLightDiffuse;\x0avec4\x20vLightSpecular;\x0a#ifdef\x20SPOTLIGHT{X}\x0avec4\x20vLightDirection;\x0avec4\x20vLightFalloff;\x0a#elif\x20defined(POINTLIGHT{X})\x0avec4\x20vLightFalloff;\x0a#elif\x20defined(HEMILIGHT{X})\x0avec3\x20vLightGround;\x0a#endif\x0avec4\x20shadowsInfo;\x0avec2\x20depthValues;\x0a}\x20light{X};\x0a#ifdef\x20SHADOW{X}\x0a#ifdef\x20SHADOWCSM{X}\x0auniform\x20mat4\x20lightMatrix{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20vec4\x20vPositionFromLight{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20float\x20vDepthMetric{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20vec4\x20vPositionFromCamera{X};\x0a#elif\x20defined(SHADOWCUBE{X})\x0a#else\x0avarying\x20vec4\x20vPositionFromLight{X};\x0avarying\x20float\x20vDepthMetric{X};\x0auniform\x20mat4\x20lightMatrix{X};\x0a#endif\x0a#endif\x0a#endif\x0a','fn\x20main','TEXTUREFORMAT_RGB','_webgpuProcessingContext','CLIPPLANE4','TEXTURE_MAG_FILTER','dispose','_declareOutput','IncludesShadersStore','createRawTexture3D','vec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=normalize(cross(dFdx(vPositionW),dFdy(vPositionW)))*vEyePosition.w;\x0a#endif\x0avec3\x20geometricNormalW=normalW;\x0a#if\x20defined(TWOSIDEDLIGHTING)\x20&&\x20defined(NORMAL)\x0ageometricNormalW=gl_FrontFacing\x20?\x20geometricNormalW\x20:\x20-geometricNormalW;\x0a#endif\x0a','_createEffects','updateStorageBuffer','//#define\x20',');\x0d\x0a','_getGlobalDefines','#include\x0a#include\x0a#include\x0a#include\x0avarying\x20vec2\x20vUV;\x0auniform\x20vec2\x20texelSize;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20irradianceSampler;\x0auniform\x20sampler2D\x20depthSampler;\x0auniform\x20sampler2D\x20albedoSampler;\x0auniform\x20vec2\x20viewportSize;\x0auniform\x20float\x20metersPerUnit;\x0aconst\x20float\x20LOG2_E=1.4426950408889634;\x0aconst\x20float\x20SSS_PIXELS_PER_SAMPLE=4.;\x0aconst\x20int\x20_SssSampleBudget=40;\x0a#define\x20rcp(x)\x201./x\x0a#define\x20Sq(x)\x20x*x\x0a#define\x20SSS_BILATERAL_FILTER\x20true\x0avec3\x20EvalBurleyDiffusionProfile(float\x20r,vec3\x20S)\x0a{\x0avec3\x20exp_13=exp2(((LOG2_E*(-1.0/3.0))*r)*S);\x20\x0avec3\x20expSum=exp_13*(1.+exp_13*exp_13);\x20\x0areturn\x20(S*rcp(8.*PI))*expSum;\x20\x0a}\x0avec2\x20SampleBurleyDiffusionProfile(float\x20u,float\x20rcpS)\x0a{\x0au=1.-u;\x20\x0afloat\x20g=1.+(4.*u)*(2.*u+sqrt(1.+(4.*u)*u));\x0afloat\x20n=exp2(log2(g)*(-1.0/3.0));\x20\x0afloat\x20p=(g*n)*n;\x20\x0afloat\x20c=1.+p+n;\x20\x0afloat\x20d=(3./LOG2_E*2.)+(3./LOG2_E)*log2(u);\x20\x0afloat\x20x=(3./LOG2_E)*log2(c)-d;\x20\x0afloat\x20rcpExp=((c*c)*c)*rcp((4.*u)*((c*c)+(4.*u)*(4.*u)));\x0afloat\x20r=x*rcpS;\x0afloat\x20rcpPdf=(8.*PI*rcpS)*rcpExp;\x20\x0areturn\x20vec2(r,rcpPdf);\x0a}\x0avec3\x20ComputeBilateralWeight(float\x20xy2,float\x20z,float\x20mmPerUnit,vec3\x20S,float\x20rcpPdf)\x0a{\x0a#ifndef\x20SSS_BILATERAL_FILTER\x0az=0.;\x0a#endif\x0afloat\x20r=sqrt(xy2+(z*mmPerUnit)*(z*mmPerUnit));\x0afloat\x20area=rcpPdf;\x0a#if\x20SSS_CLAMP_ARTIFACT\x0areturn\x20clamp(EvalBurleyDiffusionProfile(r,S)*area,0.0,1.0);\x0a#else\x0areturn\x20EvalBurleyDiffusionProfile(r,S)*area;\x0a#endif\x0a}\x0avoid\x20EvaluateSample(int\x20i,int\x20n,vec3\x20S,float\x20d,vec3\x20centerPosVS,float\x20mmPerUnit,float\x20pixelsPerMm,\x0afloat\x20phase,inout\x20vec3\x20totalIrradiance,inout\x20vec3\x20totalWeight)\x0a{\x0afloat\x20scale\x20=rcp(float(n));\x0afloat\x20offset=rcp(float(n))*0.5;\x0afloat\x20sinPhase,cosPhase;\x0asinPhase=sin(phase);\x0acosPhase=cos(phase);\x0avec2\x20bdp=SampleBurleyDiffusionProfile(float(i)*scale+offset,d);\x0afloat\x20r=bdp.x;\x0afloat\x20rcpPdf=bdp.y;\x0afloat\x20phi=SampleDiskGolden(i,n).y;\x0afloat\x20sinPhi,cosPhi;\x0asinPhi=sin(phi);\x0acosPhi=cos(phi);\x0afloat\x20sinPsi=cosPhase*sinPhi+sinPhase*cosPhi;\x20\x0afloat\x20cosPsi=cosPhase*cosPhi-sinPhase*sinPhi;\x20\x0avec2\x20vec=r*vec2(cosPsi,sinPsi);\x0avec2\x20position;\x20\x0afloat\x20xy2;\x0aposition=vUV+round((pixelsPerMm*r)*vec2(cosPsi,sinPsi))*texelSize;\x0axy2\x20=r*r;\x0avec4\x20textureSample=texture2D(irradianceSampler,position);\x0afloat\x20viewZ=texture2D(depthSampler,position).r;\x0avec3\x20irradiance\x20=textureSample.rgb;\x0aif\x20(testLightingForSSS(textureSample.a))\x0a{\x0afloat\x20relZ=viewZ-centerPosVS.z;\x0avec3\x20weight=ComputeBilateralWeight(xy2,relZ,mmPerUnit,S,rcpPdf);\x0atotalIrradiance+=weight*irradiance;\x0atotalWeight\x20+=weight;\x0a}\x0aelse\x0a{\x0a}\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0avec4\x20irradianceAndDiffusionProfile\x20=texture2D(irradianceSampler,vUV);\x0avec3\x20centerIrradiance=irradianceAndDiffusionProfile.rgb;\x0aint\x20diffusionProfileIndex=int(round(irradianceAndDiffusionProfile.a*255.));\x0afloat\x20centerDepth\x20=0.;\x0avec4\x20inputColor=texture2D(textureSampler,vUV);\x0abool\x20passedStencilTest=testLightingForSSS(irradianceAndDiffusionProfile.a);\x0aif\x20(passedStencilTest)\x0a{\x0acenterDepth=texture2D(depthSampler,vUV).r;\x0a}\x0aif\x20(!passedStencilTest)\x20{\x20\x0agl_FragColor=inputColor;\x0areturn;\x0a}\x0afloat\x20distScale\x20=1.;\x0avec3\x20S\x20=diffusionS[diffusionProfileIndex];\x0afloat\x20d\x20=diffusionD[diffusionProfileIndex];\x0afloat\x20filterRadius=filterRadii[diffusionProfileIndex];\x0avec2\x20centerPosNDC=vUV;\x0avec2\x20cornerPosNDC=vUV+0.5*texelSize;\x0avec3\x20centerPosVS\x20=vec3(centerPosNDC*viewportSize,1.0)*centerDepth;\x20\x0avec3\x20cornerPosVS\x20=vec3(cornerPosNDC*viewportSize,1.0)*centerDepth;\x20\x0afloat\x20mmPerUnit\x20=1000.*(metersPerUnit*rcp(distScale));\x0afloat\x20unitsPerMm=rcp(mmPerUnit);\x0afloat\x20unitsPerPixel=2.*abs(cornerPosVS.x-centerPosVS.x);\x0afloat\x20pixelsPerMm\x20=rcp(unitsPerPixel)*unitsPerMm;\x0afloat\x20filterArea\x20=PI*Sq(filterRadius*pixelsPerMm);\x0aint\x20sampleCount\x20=int(filterArea*rcp(SSS_PIXELS_PER_SAMPLE));\x0aint\x20sampleBudget=_SssSampleBudget;\x0aint\x20texturingMode=0;\x0avec3\x20albedo\x20=texture2D(albedoSampler,vUV).rgb;\x0aif\x20(distScale==0.\x20||\x20sampleCount<1)\x0a{\x0a#ifdef\x20DEBUG_SSS_SAMPLES\x0avec3\x20green=vec3(0.,1.,0.);\x0agl_FragColor=vec4(green,1.0);\x0areturn;\x0a#endif\x0agl_FragColor=vec4(inputColor.rgb+albedo*centerIrradiance,1.0);\x0areturn;\x0a}\x0a#ifdef\x20DEBUG_SSS_SAMPLES\x0avec3\x20red\x20=vec3(1.,0.,0.);\x0avec3\x20blue=vec3(0.,0.,1.);\x0agl_FragColor=vec4(mix(blue,red,clamp(float(sampleCount)/float(sampleBudget),0.0,1.0)),1.0);\x0areturn;\x0a#endif\x0afloat\x20phase=0.;\x0aint\x20n=min(sampleCount,sampleBudget);\x0avec3\x20centerWeight\x20=vec3(0.);\x20\x0avec3\x20totalIrradiance=vec3(0.);\x0avec3\x20totalWeight\x20=vec3(0.);\x0afor\x20(int\x20i=0;\x20i\x0auniform\x20sampler2D\x20textureSampler;\x20\x0auniform\x20float\x20intensity;\x0auniform\x20float\x20animatedSeed;\x0avarying\x20vec2\x20vUV;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0agl_FragColor=texture2D(textureSampler,vUV);\x0avec2\x20seed=vUV*(animatedSeed);\x0afloat\x20grain=dither(seed,intensity);\x0afloat\x20lum=getLuminance(gl_FragColor.rgb);\x0afloat\x20grainAmount=(cos(-PI+(lum*PI*2.))+1.)/2.;\x0agl_FragColor.rgb+=grain*grainAmount;\x0agl_FragColor.rgb=max(gl_FragColor.rgb,0.0);\x0a}','#ifdef\x20LOGARITHMICDEPTH\x0a#extension\x20GL_EXT_frag_depth\x20:\x20enable\x0a#endif\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec4\x20vColor;\x0auniform\x20vec4\x20textureMask;\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0a#ifdef\x20RAMPGRADIENT\x0avarying\x20vec4\x20remapRanges;\x0auniform\x20sampler2D\x20rampSampler;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include\x0avec4\x20textureColor=texture2D(diffuseSampler,vUV);\x0avec4\x20baseColor=(textureColor*textureMask+(vec4(1.,1.,1.,1.)-textureMask))*vColor;\x0a#ifdef\x20RAMPGRADIENT\x0afloat\x20alpha=baseColor.a;\x0afloat\x20remappedColorIndex=clamp((alpha-remapRanges.x)/remapRanges.y,0.0,1.0);\x0avec4\x20rampColor=texture2D(rampSampler,vec2(1.0-remappedColorIndex,0.));\x0abaseColor.rgb*=rampColor.rgb;\x0afloat\x20finalAlpha=baseColor.a;\x0abaseColor.a=clamp((alpha*rampColor.a-remapRanges.z)/remapRanges.w,0.0,1.0);\x0a#endif\x0a#ifdef\x20BLENDMULTIPLYMODE\x0afloat\x20sourceAlpha=vColor.a*textureColor.a;\x0abaseColor.rgb=baseColor.rgb*sourceAlpha+vec3(1.0)*(1.0-sourceAlpha);\x0a#endif\x0a#include\x0a#ifdef\x20IMAGEPROCESSINGPOSTPROCESS\x0abaseColor.rgb=toLinearSpace(baseColor.rgb);\x0a#else\x0a#ifdef\x20IMAGEPROCESSING\x0abaseColor.rgb=toLinearSpace(baseColor.rgb);\x0abaseColor=applyImageProcessing(baseColor);\x0a#endif\x0a#endif\x0agl_FragColor=baseColor;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','spriteMapVertexShader','meshInstancesCount','onLoadObservable','RemoveTagsFrom','shadow','updateArray','logDepthFragment','_attachments','copyTextureToTexture','textureNames','texStorage3D','_ssDiffusionS','setAsSystemValue','_multiviewTexture','texelSize','RGBA8Snorm','enableEffect','instancesDeclaration','setUInt','fresnelFunction','_buildHeight','R8Snorm','releaseComputeEffects','filterSize','DEPTH_COMPONENT16','getOrAdd','faceId','_blurTextureType','_xSize','getIndex','_vertexData','frontFace','bakedVertexAnimation','bufferSubData','dataStoreDataCurrentBufferBlockIndex','R16Sint','charAt','Float\x20textures\x20are\x20not\x20supported.\x20Cube\x20render\x20target\x20forced\x20to\x20TEXTURETYPE_UNESIGNED_BYTE\x20type','_meshUnderPointerId','RandomRange','_MSAAFramebuffer','_cascadeLoadImgs','pbrUboDeclaration','GL_ALPHA_FUNCTION_ONE_MINUS_CONSTANT_COLOR','associatedVariableName','IRIDESCENCE','target','createComputePipeline','_releaseFramebufferObjects','onKeyboardObservable','#ifdef\x20FOG\x0afloat\x20fog=CalcFogFactor();\x0a#ifdef\x20PBR\x0afog=toLinearSpace(fog);\x0a#endif\x0acolor.rgb=mix(vFogColor,color.rgb,fog);\x0a#endif\x0a','TEXTUREFORMAT_RGB\x20format\x20not\x20supported\x20in\x20WebGPU','unbindInstanceAttributes','_files','setPhysicsLinkWith','ASTC12x10Unorm','noisePixelShader','74787qxRjXr','ETC2RGB8A1UnormSRGB','skyPixelShader','bonesVertex','geometryUboDeclaration','createRawCubeTextureFromUrl','_defineSkyboxName','AddModel','vTBN','generateDepthTexture','boundingVectors','createUniformBuffer','readValue','_areLightsDisposed','RGB','All','viewProjection','onlyShowShells','matrix','cull','GetSamplerHashCode','RGBA32Uint','#if\x20SM_SOFTTRANSPARENTSHADOW==1\x0aif\x20((bayerDither8(floor(mod(gl_FragCoord.xy,8.0))))/64.0>=softTransparentShadowSM*alpha)\x20discard;\x0a#endif\x0a','physicsImpostor','end','getHardwareScalingLevel','_isUnique','_useStandardBlur','TextureCube_','setDepthWriteEnabled','_createRenderTarget','createCubeTexture','shaderProcessingContext','contains','BC4RSnorm','_resetVertexBufferBinding','DRAW_FRAMEBUFFER','MapRead','MODE_TOPBOTTOM','getInputBlockByPredicate','textureFloat','unnamed','updateIntArray','World','renderWidth','reConstruct','intensity','BILINEAR_SAMPLINGMODE','uniform\x20mat4\x20world;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20MULTIVIEW\x0auniform\x20mat4\x20viewProjectionR;\x0a#endif\x0a','_reflectionSizeName','attached','addPipeline','prepareDefines','pbrFragmentSamplersDeclaration','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#else\x0d\x0a','generateDepthBuffer','copyTextureToTexturePixelShader','_processPointerMove','2928601dByVrQ','sourceEvent','setMatrix2x2','crossEye','R32Sint','_copyTextureToTexture','instancedArrays','createBindGroup',')\x20||\x20defined(','fogColor','fogMode','startTime','onInputChangedObservable','timeoutId','_defineOppositeZ','attribute\x20vec2\x20position;\x0avarying\x20vec2\x20vPosition;\x0avarying\x20vec2\x20vUV;\x0aconst\x20vec2\x20madd=vec2(0.5,0.5);\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avPosition=position;\x0avUV=position*madd+madd;\x0agl_Position=vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','#else\x0d\x0a','array','_setDefaultValue','play','ASTC6x5Unorm','GL_ALPHA_FUNCTION_ONE_MINUS_CONSTANT_ALPHA','setFloatArray','E1d','fluidRenderingStandardBlur','faceIndices','areAllComputeEffectsReady','_emitVaryingFromString','_mainPassBundleList','depthBoxBlurPixelShader','getMappedRange','#define\x20','maxSamples','PointParticleEmitter','minimizeInPlace','GetDepthFormatOnly','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20','varyingDeclaration','attributes','_depthStencilTexture','setDepthBiasSlopeScale','preventDefaultOnPointerUp','_key','#ifdef\x20CLIPPLANE\x0auniform\x20vClipPlane:\x20vec4;\x0avarying\x20fClipDistance:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0auniform\x20vClipPlane2:\x20vec4;\x0avarying\x20fClipDistance2:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0auniform\x20vClipPlane3:\x20vec4;\x0avarying\x20fClipDistance3:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0auniform\x20vClipPlane4:\x20vec4;\x0avarying\x20fClipDistance4:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0auniform\x20vClipPlane5:\x20vec4;\x0avarying\x20fClipDistance5:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0auniform\x20vClipPlane6:\x20vec4;\x0avarying\x20fClipDistance6:\x20f32;\x0a#endif\x0a','needsPreviousWorldMatrices','pushDebugGroup','oculusMultiview','pointerX','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20float\x20degree;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0avec3\x20color=texture2D(textureSampler,vUV).rgb;\x0afloat\x20luminance=dot(color,vec3(0.3,0.59,0.11));\x20\x0avec3\x20blackAndWhite=vec3(luminance,luminance,luminance);\x0agl_FragColor=vec4(color-((color-blackAndWhite)*degree),1.0);\x0a}','RG32Sint','TEXTUREFORMAT_STENCIL8','.rgb','_defineProjectionName','_timestampQuery','DEPTH_STENCIL','POINTERDOWN','cullFace','default','ASTC8x5Unorm','#if\x20defined(REFLECTION)\x20||\x20defined(SS_REFRACTION)\x0afloat\x20getLodFromAlphaG(float\x20cubeMapDimensionPixels,float\x20microsurfaceAverageSlope)\x20{\x0afloat\x20microsurfaceAverageSlopeTexels=cubeMapDimensionPixels*microsurfaceAverageSlope;\x0afloat\x20lod=log2(microsurfaceAverageSlopeTexels);\x0areturn\x20lod;\x0a}\x0afloat\x20getLinearLodFromRoughness(float\x20cubeMapDimensionPixels,float\x20roughness)\x20{\x0afloat\x20lod=log2(cubeMapDimensionPixels)*roughness;\x0areturn\x20lod;\x0a}\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(RADIANCEOCCLUSION)\x0afloat\x20environmentRadianceOcclusion(float\x20ambientOcclusion,float\x20NdotVUnclamped)\x20{\x0afloat\x20temp=NdotVUnclamped+ambientOcclusion;\x0areturn\x20saturate(square(temp)-1.0+ambientOcclusion);\x0a}\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(HORIZONOCCLUSION)\x0afloat\x20environmentHorizonOcclusion(vec3\x20view,vec3\x20normal,vec3\x20geometricNormal)\x20{\x0avec3\x20reflection=reflect(view,normal);\x0afloat\x20temp=saturate(1.0+1.1*dot(reflection,geometricNormal));\x0areturn\x20square(temp);\x0a}\x0a#endif\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20||\x20defined(SS_LODINREFRACTIONALPHA)\x0a#define\x20UNPACK_LOD(x)\x20(1.0-x)*255.0\x0afloat\x20getLodFromAlphaG(float\x20cubeMapDimensionPixels,float\x20alphaG,float\x20NdotV)\x20{\x0afloat\x20microsurfaceAverageSlope=alphaG;\x0amicrosurfaceAverageSlope*=sqrt(abs(NdotV));\x0areturn\x20getLodFromAlphaG(cubeMapDimensionPixels,microsurfaceAverageSlope);\x0a}\x0a#endif\x0a','\x20\x20fragmentInputs\x20=\x20input;\x0a\x20\x20','#version\x20300\x20es','_samples','vrdisplayconnect','diffuseBase','Cube','_cullFace','pbrBlockClearcoat','xrNativeFeatureName','main','_commandEncoderForCreation','worldMatrices','vec3\x20hemisphereCosSample(vec2\x20u)\x20{\x0afloat\x20phi=2.*PI*u.x;\x0afloat\x20cosTheta2=1.-u.y;\x0afloat\x20cosTheta=sqrt(cosTheta2);\x0afloat\x20sinTheta=sqrt(1.-cosTheta2);\x0areturn\x20vec3(sinTheta*cos(phi),sinTheta*sin(phi),cosTheta);\x0a}\x0avec3\x20hemisphereImportanceSampleDggx(vec2\x20u,float\x20a)\x20{\x0afloat\x20phi=2.*PI*u.x;\x0afloat\x20cosTheta2=(1.-u.y)/(1.+(a+1.)*((a-1.)*u.y));\x0afloat\x20cosTheta=sqrt(cosTheta2);\x0afloat\x20sinTheta=sqrt(1.-cosTheta2);\x0areturn\x20vec3(sinTheta*cos(phi),sinTheta*sin(phi),cosTheta);\x0a}\x0avec3\x20hemisphereImportanceSampleDCharlie(vec2\x20u,float\x20a)\x20{\x20\x0afloat\x20phi=2.*PI*u.x;\x0afloat\x20sinTheta=pow(u.y,a/(2.*a+1.));\x0afloat\x20cosTheta=sqrt(1.-sinTheta*sinTheta);\x0areturn\x20vec3(sinTheta*cos(phi),sinTheta*sin(phi),cosTheta);\x0a}','createDepthStencilTexture','_prepareWorkingCanvas','FluidRenderingDepthTextureCopyRTT','.y\x20=\x201.0\x20-\x20','_define3DName','AddSamplers','ALPHA_EQUATION_ADD','USE_LOCAL_REFLECTIONMAP_CUBIC','_addComponent','colorPixelShader','hashCode','\x20ANIMATESHEET','fogDensity','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include\x0a#include\x0a#include\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0auniform\x20mat4\x20diffuseMatrix;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#include\x0a#include\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include\x0a#include\x0a#include\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0agl_Position=viewProjection*worldPos;\x0avPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0aif\x20(vDiffuseInfos.x==0.)\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\x0a}\x0aelse\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a}\x0a#endif\x0a#include\x0a#include\x0a#include[0..maxSimultaneousLights]\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','vClipPlane4','_reportDrawCall','document','_setCubeMapTextureParams','lensFlarePixelShader','deleteFramebuffer','_stridedUniformArrays','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0aattribute\x20vec3\x20normal;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#include\x0auniform\x20mat4\x20projection;\x0auniform\x20mat4\x20view;\x0avarying\x20vec3\x20vPosition;\x0avarying\x20vec3\x20vNormal;\x0a#include\x0a#ifdef\x20OPACITY\x0avarying\x20vec2\x20vOpacityUV;\x0auniform\x20mat4\x20opacityMatrix;\x0auniform\x20vec2\x20vOpacityInfos;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0a#include\x0avec4\x20cameraSpacePosition=view*worldPos;\x0agl_Position=projection*cameraSpacePosition;\x0a#ifdef\x20OPACITY\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0aif\x20(vOpacityInfos.x==0.)\x0a{\x0avOpacityUV=vec2(opacityMatrix*vec4(uv,1.0,0.0));\x0a}\x0aelse\x0a{\x0avOpacityUV=vec2(opacityMatrix*vec4(uv2,1.0,0.0));\x0a}\x0a#endif\x20\x0avPosition=position;\x0avNormal=normal;\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','group','uniform\x20mat4\x20viewProjection;\x0a#ifdef\x20MULTIVIEW\x0auniform\x20mat4\x20viewProjectionR;\x0a#endif\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20vec4\x20vEyePosition;\x0a','RGBA8Uint','clientY','_textureBlurred','#version\x203','ReadOnlyStorage','glFragData','___###','Depth16Unorm','precision\x20highp\x20float;uniform\x20vec4\x20vEyePosition;uniform\x20vec4\x20vDiffuseColor;varying\x20vec3\x20vPositionW;uniform\x20float\x20time;uniform\x20float\x20speed;uniform\x20float\x20movingSpeed;uniform\x20vec3\x20fogColor;uniform\x20sampler2D\x20noiseTexture;uniform\x20float\x20fogDensity;varying\x20float\x20noise;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include\x0a#include<__decl__lightFragment>[0]\x0a#include<__decl__lightFragment>[1]\x0a#include<__decl__lightFragment>[2]\x0a#include<__decl__lightFragment>[3]\x0a#include\x0a#include\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;uniform\x20sampler2D\x20diffuseSampler;uniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#include\x0a#include\x0afloat\x20random(\x20vec3\x20scale,float\x20seed\x20){return\x20fract(\x20sin(\x20dot(\x20gl_FragCoord.xyz+seed,scale\x20)\x20)*43758.5453+seed\x20)\x20;}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);vec4\x20baseColor=vec4(1.,1.,1.,1.);vec3\x20diffuseColor=vDiffuseColor.rgb;float\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20DIFFUSE\x0avec4\x20noiseTex=texture2D(\x20noiseTexture,vDiffuseUV\x20);vec2\x20T1=vDiffuseUV+vec2(\x201.5,-1.5\x20)*time\x20*0.02;vec2\x20T2=vDiffuseUV+vec2(\x20-0.5,2.0\x20)*time*0.01*speed;T1.x+=noiseTex.x*2.0;T1.y+=noiseTex.y*2.0;T2.x-=noiseTex.y*0.2+time*0.001*movingSpeed;T2.y+=noiseTex.z*0.2+time*0.002*movingSpeed;float\x20p=texture2D(\x20noiseTexture,T1*3.0\x20).a;vec4\x20lavaColor=texture2D(\x20diffuseSampler,T2*4.0);vec4\x20temp=lavaColor*(\x20vec4(\x20p,p,p,p\x20)*2.\x20)+(\x20lavaColor*lavaColor-0.1\x20);baseColor=temp;float\x20depth=gl_FragCoord.z*4.0;const\x20float\x20LOG2=1.442695;float\x20fogFactor=exp2(-fogDensity*fogDensity*depth*depth*LOG2\x20);fogFactor=1.0-clamp(\x20fogFactor,0.0,1.0\x20);baseColor=mix(\x20baseColor,vec4(\x20fogColor,baseColor.w\x20),fogFactor\x20);diffuseColor=baseColor.rgb;\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include\x0abaseColor.rgb*=vDiffuseInfos.y;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0a#ifdef\x20UNLIT\x0avec3\x20diffuseBase=vec3(1.,1.,1.);\x0a#else\x0avec3\x20diffuseBase=vec3(0.,0.,0.);lightingInfo\x20info;float\x20shadow=1.;float\x20glossiness=0.;\x0a#include[0]\x0a#include[1]\x0a#include[2]\x0a#include[3]\x0a#endif\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;vec4\x20color=vec4(finalDiffuse,alpha);\x0a#include\x0agl_FragColor=color;\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','defaultPixelShader','\x20@align(16)\x20','Sampler','_projectOnTrianglesToRef','forcedBindableBlocks','normalPixelShader','reflectionUVW',';\x0d\x0a','#if\x20SM_USEDISTANCE==1\x0avPositionWSM=worldPos.xyz;\x0a#endif\x0a#if\x20SM_DEPTHTEXTURE==1\x0a#ifdef\x20IS_NDC_HALF_ZRANGE\x0a#define\x20BIASFACTOR\x200.5\x0a#else\x0a#define\x20BIASFACTOR\x201.0\x0a#endif\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0agl_Position.z-=biasAndScaleSM.x*gl_Position.w*BIASFACTOR;\x0a#else\x0agl_Position.z+=biasAndScaleSM.x*gl_Position.w*BIASFACTOR;\x0a#endif\x0a#endif\x0a#if\x20defined(SM_DEPTHCLAMP)\x20&&\x20SM_DEPTHCLAMP==1\x0azSM=gl_Position.z;\x0agl_Position.z=0.0;\x0a#elif\x20SM_USEDISTANCE==0\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0avDepthMetricSM=(-gl_Position.z+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;\x0a#else\x0avDepthMetricSM=(gl_Position.z+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;\x0a#endif\x0a#endif\x0a','precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20topColor;\x0auniform\x20vec4\x20bottomColor;\x0auniform\x20float\x20offset;\x0auniform\x20float\x20scale;\x0auniform\x20float\x20smoothness;\x0avarying\x20vec3\x20vPositionW;\x0avarying\x20vec3\x20vPosition;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include\x0a#include<__decl__lightFragment>[0]\x0a#include<__decl__lightFragment>[1]\x0a#include<__decl__lightFragment>[2]\x0a#include<__decl__lightFragment>[3]\x0a#include\x0a#include\x0a#include\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0afloat\x20h=vPosition.y*scale+offset;\x0afloat\x20mysmoothness=clamp(smoothness,0.01,max(smoothness,10.));\x0avec4\x20baseColor=mix(bottomColor,topColor,max(pow(max(h,0.0),mysmoothness),0.0));\x0avec3\x20diffuseColor=baseColor.rgb;\x0afloat\x20alpha=baseColor.a;\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include\x0a#ifdef\x20VERTEXCOLOR\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0a#ifdef\x20EMISSIVE\x0avec3\x20diffuseBase=baseColor.rgb;\x0a#else\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0a#endif\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0afloat\x20glossiness=0.;\x0a#include[0..maxSimultaneousLights]\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\x0avec4\x20color=vec4(finalDiffuse,alpha);\x0a#include\x0agl_FragColor=color;\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','animatedInputs','\x20not\x20found,\x20you\x20may\x20have\x20missed\x20an\x20import.','Depth','_effect','attribute\x20vec2\x20position;\x0avarying\x20vec2\x20vUV;\x0aconst\x20vec2\x20madd=vec2(0.5,0.5);\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avUV=position*madd+madd;\x0agl_Position=vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','availableVaryings','setIntArray3','InvertY','10kNJLWq','_getDepthThreshold','repeatableContentBlocks','isVisible','radiusRange','vec3\x20','BrowserBack','proceduralVertexShader','is2DArray','TEXTUREFORMAT_ALPHA\x20format\x20not\x20supported\x20in\x20WebGPU','dbgShowShaderCode','RenderAttachment','#include\x0a#include\x0a','isConnected','TEXTURE_FIXED_EQUIRECTANGULAR_MIRRORED_MODE','screenSpaceReflectionPixelShader','_textureArrayProcessing','layers','ACTION_OnCenterPickTrigger','autoBindSampler','TEXTURETYPE_BYTE','_ExtractOperation','_enableEffect','getViewCount','PREPASS_REFLECTIVITY_TEXTURE_TYPE','getMaterial','defined(','_opStencilDepthPass','_rt','endOfUniformBufferProcessor','DYNAMIC_DRAW','setIntArray','sampler3D','_currentRenderTextureInd','previousWorld','textureFormatInUse','samplerCube','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0a#ifdef\x20EMISSIVE\x0auniform\x20sampler2D\x20textureSampler2;\x0a#endif\x0auniform\x20float\x20offset;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0avec4\x20baseColor=texture2D(textureSampler,vUV);\x0a#ifdef\x20EMISSIVE\x0abaseColor+=texture2D(textureSampler2,vUV);\x0abaseColor*=offset;\x0a#else\x0abaseColor.a=abs(offset-baseColor.a);\x0a#ifdef\x20STROKE\x0afloat\x20alpha=smoothstep(.0,.1,baseColor.a);\x0abaseColor.a=alpha;\x0abaseColor.rgb=baseColor.rgb*alpha;\x0a#endif\x0a#endif\x0a#if\x20LDR\x0abaseColor=clamp(baseColor,0.,1.0);\x0a#endif\x0agl_FragColor=baseColor;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','drawBuffers','getUniform','left','faceIndex','_codeVariableName','PREPASS_IRRADIANCE_TEXTURE_TYPE','#if\x20defined(BUMP)\x20||\x20defined(PARALLAX)\x20||\x20defined(CLEARCOAT_BUMP)\x20||\x20defined(ANISOTROPIC)\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x20\x0avarying\x20mat3\x20vTBN;\x0a#endif\x0a#endif\x0a','activeTexture','_prePassRenderTarget','morphTargetsVertex','#ifdef\x20SHADOWS\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20TEXTUREFUNC(s,c,l)\x20texture2DLodEXT(s,c,l)\x0a#else\x0a#define\x20TEXTUREFUNC(s,c,b)\x20texture2D(s,c,b)\x0a#endif\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20unpack(vec4\x20color)\x0a{\x0aconst\x20vec4\x20bit_shift=vec4(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);\x0areturn\x20dot(color,bit_shift);\x0a}\x0a#endif\x0afloat\x20computeFallOff(float\x20value,vec2\x20clipSpace,float\x20frustumEdgeFalloff)\x0a{\x0afloat\x20mask=smoothstep(1.0-frustumEdgeFalloff,1.00000012,clamp(dot(clipSpace,clipSpace),0.,1.));\x0areturn\x20mix(value,1.0,mask);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowCube(vec3\x20lightPosition,samplerCube\x20shadowSampler,float\x20darkness,vec2\x20depthValues)\x0a{\x0avec3\x20directionToLight=vPositionW-lightPosition;\x0afloat\x20depth=length(directionToLight);\x0adepth=(depth+depthValues.x)/(depthValues.y);\x0adepth=clamp(depth,0.,1.0);\x0adirectionToLight=normalize(directionToLight);\x0adirectionToLight.y=-directionToLight.y;\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20shadow=unpack(textureCube(shadowSampler,directionToLight));\x0a#else\x0afloat\x20shadow=textureCube(shadowSampler,directionToLight).x;\x0a#endif\x0areturn\x20depth>shadow\x20?\x20darkness\x20:\x201.0;\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPoissonSamplingCube(vec3\x20lightPosition,samplerCube\x20shadowSampler,float\x20mapSize,float\x20darkness,vec2\x20depthValues)\x0a{\x0avec3\x20directionToLight=vPositionW-lightPosition;\x0afloat\x20depth=length(directionToLight);\x0adepth=(depth+depthValues.x)/(depthValues.y);\x0adepth=clamp(depth,0.,1.0);\x0adirectionToLight=normalize(directionToLight);\x0adirectionToLight.y=-directionToLight.y;\x0afloat\x20visibility=1.;\x0avec3\x20poissonDisk[4];\x0apoissonDisk[0]=vec3(-1.0,1.0,-1.0);\x0apoissonDisk[1]=vec3(1.0,-1.0,-1.0);\x0apoissonDisk[2]=vec3(-1.0,-1.0,-1.0);\x0apoissonDisk[3]=vec3(1.0,-1.0,1.0);\x0a#ifndef\x20SHADOWFLOAT\x0aif\x20(unpack(textureCube(shadowSampler,directionToLight+poissonDisk[0]*mapSize))shadow\x20?\x20computeFallOff(darkness,clipSpace.xy,frustumEdgeFalloff)\x20:\x201.;\x0a}\x0a#endif\x0a#define\x20inline\x0afloat\x20computeShadow(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20shadowSampler,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec2\x20uv=0.5*clipSpace.xy+vec2(0.5);\x0aif\x20(uv.x<0.\x20||\x20uv.x>1.0\x20||\x20uv.y<0.\x20||\x20uv.y>1.0)\x0a{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0afloat\x20shadowPixelDepth=clamp(depthMetric,0.,1.0);\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20shadow=unpack(TEXTUREFUNC(shadowSampler,uv,0.));\x0a#else\x0afloat\x20shadow=TEXTUREFUNC(shadowSampler,uv,0.).x;\x0a#endif\x0areturn\x20shadowPixelDepth>shadow\x20?\x20computeFallOff(darkness,clipSpace.xy,frustumEdgeFalloff)\x20:\x201.;\x0a}\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPoissonSampling(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20shadowSampler,float\x20mapSize,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec2\x20uv=0.5*clipSpace.xy+vec2(0.5);\x0aif\x20(uv.x<0.\x20||\x20uv.x>1.0\x20||\x20uv.y<0.\x20||\x20uv.y>1.0)\x0a{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0afloat\x20shadowPixelDepth=clamp(depthMetric,0.,1.0);\x0afloat\x20visibility=1.;\x0avec2\x20poissonDisk[4];\x0apoissonDisk[0]=vec2(-0.94201624,-0.39906216);\x0apoissonDisk[1]=vec2(0.94558609,-0.76890725);\x0apoissonDisk[2]=vec2(-0.094184101,-0.92938870);\x0apoissonDisk[3]=vec2(0.34495938,0.29387760);\x0a#ifndef\x20SHADOWFLOAT\x0aif\x20(unpack(TEXTUREFUNC(shadowSampler,uv+poissonDisk[0]*mapSize,0.))1.0\x20||\x20uv.y<0.\x20||\x20uv.y>1.0)\x0a{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0afloat\x20shadowPixelDepth=clamp(depthMetric,0.,1.0);\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20shadowMapSample=unpack(TEXTUREFUNC(shadowSampler,uv,0.));\x0a#else\x0afloat\x20shadowMapSample=TEXTUREFUNC(shadowSampler,uv,0.).x;\x0a#endif\x0afloat\x20esm=1.0-clamp(exp(min(87.,depthScale*shadowPixelDepth))*shadowMapSample,0.,1.-darkness);\x0areturn\x20computeFallOff(esm,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithCloseESM(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20shadowSampler,float\x20darkness,float\x20depthScale,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec2\x20uv=0.5*clipSpace.xy+vec2(0.5);\x0aif\x20(uv.x<0.\x20||\x20uv.x>1.0\x20||\x20uv.y<0.\x20||\x20uv.y>1.0)\x0a{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0afloat\x20shadowPixelDepth=clamp(depthMetric,0.,1.0);\x20\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20shadowMapSample=unpack(TEXTUREFUNC(shadowSampler,uv,0.));\x0a#else\x0afloat\x20shadowMapSample=TEXTUREFUNC(shadowSampler,uv,0.).x;\x0a#endif\x0afloat\x20esm=clamp(exp(min(87.,-depthScale*(shadowPixelDepth-shadowMapSample))),darkness,1.);\x0areturn\x20computeFallOff(esm,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0a#ifdef\x20IS_NDC_HALF_ZRANGE\x0a#define\x20ZINCLIP\x20clipSpace.z\x0a#else\x0a#define\x20ZINCLIP\x20uvDepth.z\x0a#endif\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20GREATEST_LESS_THAN_ONE\x200.99999994\x0a#define\x20inline\x0afloat\x20computeShadowWithCSMPCF1(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArrayShadow\x20shadowSampler,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=clamp(ZINCLIP,0.,GREATEST_LESS_THAN_ONE);\x0avec4\x20uvDepthLayer=vec4(uvDepth.x,uvDepth.y,layer,uvDepth.z);\x0afloat\x20shadow=texture2D(shadowSampler,uvDepthLayer);\x0ashadow=mix(darkness,1.,shadow);\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithCSMPCF3(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArrayShadow\x20shadowSampler,vec2\x20shadowMapSizeAndInverse,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=clamp(ZINCLIP,0.,GREATEST_LESS_THAN_ONE);\x0avec2\x20uv=uvDepth.xy*shadowMapSizeAndInverse.x;\x20\x0auv+=0.5;\x20\x0avec2\x20st=fract(uv);\x20\x0avec2\x20base_uv=floor(uv)-0.5;\x20\x0abase_uv*=shadowMapSizeAndInverse.y;\x20\x0avec2\x20uvw0=3.-2.*st;\x0avec2\x20uvw1=1.+2.*st;\x0avec2\x20u=vec2((2.-st.x)/uvw0.x-1.,st.x/uvw1.x+1.)*shadowMapSizeAndInverse.y;\x0avec2\x20v=vec2((2.-st.y)/uvw0.y-1.,st.y/uvw1.y+1.)*shadowMapSizeAndInverse.y;\x0afloat\x20shadow=0.;\x0ashadow+=uvw0.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[0]),layer,uvDepth.z));\x0ashadow+=uvw1.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[0]),layer,uvDepth.z));\x0ashadow+=uvw0.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[1]),layer,uvDepth.z));\x0ashadow+=uvw1.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[1]),layer,uvDepth.z));\x0ashadow=shadow/16.;\x0ashadow=mix(darkness,1.,shadow);\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithCSMPCF5(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArrayShadow\x20shadowSampler,vec2\x20shadowMapSizeAndInverse,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=clamp(ZINCLIP,0.,GREATEST_LESS_THAN_ONE);\x0avec2\x20uv=uvDepth.xy*shadowMapSizeAndInverse.x;\x20\x0auv+=0.5;\x20\x0avec2\x20st=fract(uv);\x20\x0avec2\x20base_uv=floor(uv)-0.5;\x20\x0abase_uv*=shadowMapSizeAndInverse.y;\x20\x0avec2\x20uvw0=4.-3.*st;\x0avec2\x20uvw1=vec2(7.);\x0avec2\x20uvw2=1.+3.*st;\x0avec3\x20u=vec3((3.-2.*st.x)/uvw0.x-2.,(3.+st.x)/uvw1.x,st.x/uvw2.x+2.)*shadowMapSizeAndInverse.y;\x0avec3\x20v=vec3((3.-2.*st.y)/uvw0.y-2.,(3.+st.y)/uvw1.y,st.y/uvw2.y+2.)*shadowMapSizeAndInverse.y;\x0afloat\x20shadow=0.;\x0ashadow+=uvw0.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[0]),layer,uvDepth.z));\x0ashadow+=uvw1.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[0]),layer,uvDepth.z));\x0ashadow+=uvw2.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[2],v[0]),layer,uvDepth.z));\x0ashadow+=uvw0.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[1]),layer,uvDepth.z));\x0ashadow+=uvw1.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[1]),layer,uvDepth.z));\x0ashadow+=uvw2.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[2],v[1]),layer,uvDepth.z));\x0ashadow+=uvw0.x*uvw2.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[2]),layer,uvDepth.z));\x0ashadow+=uvw1.x*uvw2.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[2]),layer,uvDepth.z));\x0ashadow+=uvw2.x*uvw2.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[2],v[2]),layer,uvDepth.z));\x0ashadow=shadow/144.;\x0ashadow=mix(darkness,1.,shadow);\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPCF1(vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DShadow\x20shadowSampler,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0aif\x20(depthMetric>1.0\x20||\x20depthMetric<0.0)\x20{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=ZINCLIP;\x0afloat\x20shadow=TEXTUREFUNC(shadowSampler,uvDepth,0.);\x0ashadow=mix(darkness,1.,shadow);\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPCF3(vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DShadow\x20shadowSampler,vec2\x20shadowMapSizeAndInverse,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0aif\x20(depthMetric>1.0\x20||\x20depthMetric<0.0)\x20{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=ZINCLIP;\x0avec2\x20uv=uvDepth.xy*shadowMapSizeAndInverse.x;\x20\x0auv+=0.5;\x20\x0avec2\x20st=fract(uv);\x20\x0avec2\x20base_uv=floor(uv)-0.5;\x20\x0abase_uv*=shadowMapSizeAndInverse.y;\x20\x0avec2\x20uvw0=3.-2.*st;\x0avec2\x20uvw1=1.+2.*st;\x0avec2\x20u=vec2((2.-st.x)/uvw0.x-1.,st.x/uvw1.x+1.)*shadowMapSizeAndInverse.y;\x0avec2\x20v=vec2((2.-st.y)/uvw0.y-1.,st.y/uvw1.y+1.)*shadowMapSizeAndInverse.y;\x0afloat\x20shadow=0.;\x0ashadow+=uvw0.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[0]),uvDepth.z),0.);\x0ashadow+=uvw1.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[0]),uvDepth.z),0.);\x0ashadow+=uvw0.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[1]),uvDepth.z),0.);\x0ashadow+=uvw1.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[1]),uvDepth.z),0.);\x0ashadow=shadow/16.;\x0ashadow=mix(darkness,1.,shadow);\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPCF5(vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DShadow\x20shadowSampler,vec2\x20shadowMapSizeAndInverse,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0aif\x20(depthMetric>1.0\x20||\x20depthMetric<0.0)\x20{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=ZINCLIP;\x0avec2\x20uv=uvDepth.xy*shadowMapSizeAndInverse.x;\x20\x0auv+=0.5;\x20\x0avec2\x20st=fract(uv);\x20\x0avec2\x20base_uv=floor(uv)-0.5;\x20\x0abase_uv*=shadowMapSizeAndInverse.y;\x20\x0avec2\x20uvw0=4.-3.*st;\x0avec2\x20uvw1=vec2(7.);\x0avec2\x20uvw2=1.+3.*st;\x0avec3\x20u=vec3((3.-2.*st.x)/uvw0.x-2.,(3.+st.x)/uvw1.x,st.x/uvw2.x+2.)*shadowMapSizeAndInverse.y;\x0avec3\x20v=vec3((3.-2.*st.y)/uvw0.y-2.,(3.+st.y)/uvw1.y,st.y/uvw2.y+2.)*shadowMapSizeAndInverse.y;\x0afloat\x20shadow=0.;\x0ashadow+=uvw0.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[0]),uvDepth.z),0.);\x0ashadow+=uvw1.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[0]),uvDepth.z),0.);\x0ashadow+=uvw2.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[2],v[0]),uvDepth.z),0.);\x0ashadow+=uvw0.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[1]),uvDepth.z),0.);\x0ashadow+=uvw1.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[1]),uvDepth.z),0.);\x0ashadow+=uvw2.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[2],v[1]),uvDepth.z),0.);\x0ashadow+=uvw0.x*uvw2.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[2]),uvDepth.z),0.);\x0ashadow+=uvw1.x*uvw2.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[2]),uvDepth.z),0.);\x0ashadow+=uvw2.x*uvw2.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[2],v[2]),uvDepth.z),0.);\x0ashadow=shadow/144.;\x0ashadow=mix(darkness,1.,shadow);\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0aconst\x20vec3\x20PoissonSamplers32[64]=vec3[64](\x0avec3(0.06407013,0.05409927,0.),\x0avec3(0.7366577,0.5789394,0.),\x0avec3(-0.6270542,-0.5320278,0.),\x0avec3(-0.4096107,0.8411095,0.),\x0avec3(0.6849564,-0.4990818,0.),\x0avec3(-0.874181,-0.04579735,0.),\x0avec3(0.9989998,0.0009880066,0.),\x0avec3(-0.004920578,-0.9151649,0.),\x0avec3(0.1805763,0.9747483,0.),\x0avec3(-0.2138451,0.2635818,0.),\x0avec3(0.109845,0.3884785,0.),\x0avec3(0.06876755,-0.3581074,0.),\x0avec3(0.374073,-0.7661266,0.),\x0avec3(0.3079132,-0.1216763,0.),\x0avec3(-0.3794335,-0.8271583,0.),\x0avec3(-0.203878,-0.07715034,0.),\x0avec3(0.5912697,0.1469799,0.),\x0avec3(-0.88069,0.3031784,0.),\x0avec3(0.5040108,0.8283722,0.),\x0avec3(-0.5844124,0.5494877,0.),\x0avec3(0.6017799,-0.1726654,0.),\x0avec3(-0.5554981,0.1559997,0.),\x0avec3(-0.3016369,-0.3900928,0.),\x0avec3(-0.5550632,-0.1723762,0.),\x0avec3(0.925029,0.2995041,0.),\x0avec3(-0.2473137,0.5538505,0.),\x0avec3(0.9183037,-0.2862392,0.),\x0avec3(0.2469421,0.6718712,0.),\x0avec3(0.3916397,-0.4328209,0.),\x0avec3(-0.03576927,-0.6220032,0.),\x0avec3(-0.04661255,0.7995201,0.),\x0avec3(0.4402924,0.3640312,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.)\x0a);\x0aconst\x20vec3\x20PoissonSamplers64[64]=vec3[64](\x0avec3(-0.613392,0.617481,0.),\x0avec3(0.170019,-0.040254,0.),\x0avec3(-0.299417,0.791925,0.),\x0avec3(0.645680,0.493210,0.),\x0avec3(-0.651784,0.717887,0.),\x0avec3(0.421003,0.027070,0.),\x0avec3(-0.817194,-0.271096,0.),\x0avec3(-0.705374,-0.668203,0.),\x0avec3(0.977050,-0.108615,0.),\x0avec3(0.063326,0.142369,0.),\x0avec3(0.203528,0.214331,0.),\x0avec3(-0.667531,0.326090,0.),\x0avec3(-0.098422,-0.295755,0.),\x0avec3(-0.885922,0.215369,0.),\x0avec3(0.566637,0.605213,0.),\x0avec3(0.039766,-0.396100,0.),\x0avec3(0.751946,0.453352,0.),\x0avec3(0.078707,-0.715323,0.),\x0avec3(-0.075838,-0.529344,0.),\x0avec3(0.724479,-0.580798,0.),\x0avec3(0.222999,-0.215125,0.),\x0avec3(-0.467574,-0.405438,0.),\x0avec3(-0.248268,-0.814753,0.),\x0avec3(0.354411,-0.887570,0.),\x0avec3(0.175817,0.382366,0.),\x0avec3(0.487472,-0.063082,0.),\x0avec3(-0.084078,0.898312,0.),\x0avec3(0.488876,-0.783441,0.),\x0avec3(0.470016,0.217933,0.),\x0avec3(-0.696890,-0.549791,0.),\x0avec3(-0.149693,0.605762,0.),\x0avec3(0.034211,0.979980,0.),\x0avec3(0.503098,-0.308878,0.),\x0avec3(-0.016205,-0.872921,0.),\x0avec3(0.385784,-0.393902,0.),\x0avec3(-0.146886,-0.859249,0.),\x0avec3(0.643361,0.164098,0.),\x0avec3(0.634388,-0.049471,0.),\x0avec3(-0.688894,0.007843,0.),\x0avec3(0.464034,-0.188818,0.),\x0avec3(-0.440840,0.137486,0.),\x0avec3(0.364483,0.511704,0.),\x0avec3(0.034028,0.325968,0.),\x0avec3(0.099094,-0.308023,0.),\x0avec3(0.693960,-0.366253,0.),\x0avec3(0.678884,-0.204688,0.),\x0avec3(0.001801,0.780328,0.),\x0avec3(0.145177,-0.898984,0.),\x0avec3(0.062655,-0.611866,0.),\x0avec3(0.315226,-0.604297,0.),\x0avec3(-0.780145,0.486251,0.),\x0avec3(-0.371868,0.882138,0.),\x0avec3(0.200476,0.494430,0.),\x0avec3(-0.494552,-0.711051,0.),\x0avec3(0.612476,0.705252,0.),\x0avec3(-0.578845,-0.768792,0.),\x0avec3(-0.772454,-0.090976,0.),\x0avec3(0.504440,0.372295,0.),\x0avec3(0.155736,0.065157,0.),\x0avec3(0.391522,0.849605,0.),\x0avec3(-0.620106,-0.328104,0.),\x0avec3(0.789239,-0.419965,0.),\x0avec3(-0.545396,0.538133,0.),\x0avec3(-0.178564,-0.596057,0.)\x0a);\x0a#define\x20inline\x0afloat\x20computeShadowWithCSMPCSS(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArray\x20depthSampler,highp\x20sampler2DArrayShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff,int\x20searchTapCount,int\x20pcfTapCount,vec3[64]\x20poissonSamplers,vec2\x20lightSizeUVCorrection,float\x20depthCorrection,float\x20penumbraDarkness)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=clamp(ZINCLIP,0.,GREATEST_LESS_THAN_ONE);\x0avec4\x20uvDepthLayer=vec4(uvDepth.x,uvDepth.y,layer,uvDepth.z);\x0afloat\x20blockerDepth=0.0;\x0afloat\x20sumBlockerDepth=0.0;\x0afloat\x20numBlocker=0.0;\x0afor\x20(int\x20i=0;\x20i1.0\x20||\x20depthMetric<0.0)\x20{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=ZINCLIP;\x0afloat\x20blockerDepth=0.0;\x0afloat\x20sumBlockerDepth=0.0;\x0afloat\x20numBlocker=0.0;\x0afor\x20(int\x20i=0;\x20i;\x0aattribute\x20world1\x20:\x20vec4;\x0aattribute\x20world2\x20:\x20vec4;\x0aattribute\x20world3\x20:\x20vec4;\x0a#ifdef\x20INSTANCESCOLOR\x0aattribute\x20instanceColor\x20:\x20vec4;\x0a#endif\x0a#if\x20defined(THIN_INSTANCES)\x20&&\x20!defined(WORLD_UBO)\x0auniform\x20world\x20:\x20mat4x4;\x0a#endif\x0a#if\x20defined(VELOCITY)\x20||\x20defined(PREPASS_VELOCITY)\x0aattribute\x20previousWorld0\x20:\x20vec4;\x0aattribute\x20previousWorld1\x20:\x20vec4;\x0aattribute\x20previousWorld2\x20:\x20vec4;\x0aattribute\x20previousWorld3\x20:\x20vec4;\x0a#ifdef\x20THIN_INSTANCES\x0auniform\x20previousWorld\x20:\x20mat4x4;\x0a#endif\x0a#endif\x0a#else\x0a#if\x20!defined(WORLD_UBO)\x0auniform\x20world\x20:\x20mat4x4;\x0a#endif\x0a#if\x20defined(VELOCITY)\x20||\x20defined(PREPASS_VELOCITY)\x0auniform\x20previousWorld\x20:\x20mat4x4;\x0a#endif\x0a#endif\x0a','prototype','_renderMultiviewToSingleView','getNextFreeUBOBinding','offsetY','REFLECTIONMAP_OPPOSITEZ','restoreSingleAttachmentForRenderTarget','zOffsetUnits','DepthOnly','_OperatorPriority','directRender','const\x20float\x20PI=3.1415926535897932384626433832795;\x0aconst\x20float\x20HALF_MIN=5.96046448e-08;\x20\x0aconst\x20float\x20LinearEncodePowerApprox=2.2;\x0aconst\x20float\x20GammaEncodePowerApprox=1.0/LinearEncodePowerApprox;\x0aconst\x20vec3\x20LuminanceEncodeApprox=vec3(0.2126,0.7152,0.0722);\x0aconst\x20float\x20Epsilon=0.0000001;\x0a#define\x20saturate(x)\x20clamp(x,0.0,1.0)\x0a#define\x20absEps(x)\x20abs(x)+Epsilon\x0a#define\x20maxEps(x)\x20max(x,Epsilon)\x0a#define\x20saturateEps(x)\x20clamp(x,Epsilon,1.0)\x0amat3\x20transposeMat3(mat3\x20inMatrix)\x20{\x0avec3\x20i0=inMatrix[0];\x0avec3\x20i1=inMatrix[1];\x0avec3\x20i2=inMatrix[2];\x0amat3\x20outMatrix=mat3(\x0avec3(i0.x,i1.x,i2.x),\x0avec3(i0.y,i1.y,i2.y),\x0avec3(i0.z,i1.z,i2.z)\x0a);\x0areturn\x20outMatrix;\x0a}\x0amat3\x20inverseMat3(mat3\x20inMatrix)\x20{\x0afloat\x20a00=inMatrix[0][0],a01=inMatrix[0][1],a02=inMatrix[0][2];\x0afloat\x20a10=inMatrix[1][0],a11=inMatrix[1][1],a12=inMatrix[1][2];\x0afloat\x20a20=inMatrix[2][0],a21=inMatrix[2][1],a22=inMatrix[2][2];\x0afloat\x20b01=a22*a11-a12*a21;\x0afloat\x20b11=-a22*a10+a12*a20;\x0afloat\x20b21=a21*a10-a11*a20;\x0afloat\x20det=a00*b01+a01*b11+a02*b21;\x0areturn\x20mat3(b01,(-a22*a01+a02*a21),(a12*a01-a02*a11),\x0ab11,(a22*a00-a02*a20),(-a12*a00+a02*a10),\x0ab21,(-a21*a00+a01*a20),(a11*a00-a01*a10))/det;\x0a}\x0a#if\x20USE_EXACT_SRGB_CONVERSIONS\x0avec3\x20toLinearSpaceExact(vec3\x20color)\x0a{\x0avec3\x20nearZeroSection=0.0773993808*color;\x0avec3\x20remainingSection=pow(0.947867299*(color+vec3(0.055)),vec3(2.4));\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0areturn\x20mix(remainingSection,nearZeroSection,lessThanEqual(color,vec3(0.04045)));\x0a#else\x0areturn\x0avec3(\x0acolor.r<=0.04045\x20?\x20nearZeroSection.r\x20:\x20remainingSection.r,\x0acolor.g<=0.04045\x20?\x20nearZeroSection.g\x20:\x20remainingSection.g,\x0acolor.b<=0.04045\x20?\x20nearZeroSection.b\x20:\x20remainingSection.b);\x0a#endif\x0a}\x0avec3\x20toGammaSpaceExact(vec3\x20color)\x0a{\x0avec3\x20nearZeroSection=12.92*color;\x0avec3\x20remainingSection=1.055*pow(color,vec3(0.41666))-vec3(0.055);\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0areturn\x20mix(remainingSection,nearZeroSection,lessThanEqual(color,vec3(0.0031308)));\x0a#else\x0areturn\x0avec3(\x0acolor.r<=0.0031308\x20?\x20nearZeroSection.r\x20:\x20remainingSection.r,\x0acolor.g<=0.0031308\x20?\x20nearZeroSection.g\x20:\x20remainingSection.g,\x0acolor.b<=0.0031308\x20?\x20nearZeroSection.b\x20:\x20remainingSection.b);\x0a#endif\x0a}\x0a#endif\x0afloat\x20toLinearSpace(float\x20color)\x0a{\x0a#if\x20USE_EXACT_SRGB_CONVERSIONS\x0afloat\x20nearZeroSection=0.0773993808*color;\x0afloat\x20remainingSection=pow(0.947867299*(color+0.055),2.4);\x0areturn\x20color<=0.04045\x20?\x20nearZeroSection\x20:\x20remainingSection;\x0a#else\x0areturn\x20pow(color,LinearEncodePowerApprox);\x0a#endif\x0a}\x0avec3\x20toLinearSpace(vec3\x20color)\x0a{\x0a#if\x20USE_EXACT_SRGB_CONVERSIONS\x0areturn\x20toLinearSpaceExact(color);\x0a#else\x0areturn\x20pow(color,vec3(LinearEncodePowerApprox));\x0a#endif\x0a}\x0avec4\x20toLinearSpace(vec4\x20color)\x0a{\x0a#if\x20USE_EXACT_SRGB_CONVERSIONS\x0areturn\x20vec4(toLinearSpaceExact(color.rgb),color.a);\x0a#else\x0areturn\x20vec4(pow(color.rgb,vec3(LinearEncodePowerApprox)),color.a);\x0a#endif\x0a}\x0afloat\x20toGammaSpace(float\x20color)\x0a{\x0a#if\x20USE_EXACT_SRGB_CONVERSIONS\x0afloat\x20nearZeroSection=12.92*color;\x0afloat\x20remainingSection=1.055*pow(color,0.41666)-0.055;\x0areturn\x20color<=0.0031308\x20?\x20nearZeroSection\x20:\x20remainingSection;\x0a#else\x0areturn\x20pow(color,GammaEncodePowerApprox);\x0a#endif\x0a}\x0avec3\x20toGammaSpace(vec3\x20color)\x0a{\x0a#if\x20USE_EXACT_SRGB_CONVERSIONS\x0areturn\x20toGammaSpaceExact(color);\x0a#else\x0areturn\x20pow(color,vec3(GammaEncodePowerApprox));\x0a#endif\x0a}\x0avec4\x20toGammaSpace(vec4\x20color)\x0a{\x0a#if\x20USE_EXACT_SRGB_CONVERSIONS\x0areturn\x20vec4(toGammaSpaceExact(color.rgb),color.a);\x0a#else\x0areturn\x20vec4(pow(color.rgb,vec3(GammaEncodePowerApprox)),color.a);\x0a#endif\x0a}\x0afloat\x20square(float\x20value)\x0a{\x0areturn\x20value*value;\x0a}\x0avec3\x20square(vec3\x20value)\x0a{\x0areturn\x20value*value;\x0a}\x0afloat\x20pow5(float\x20value)\x20{\x0afloat\x20sq=value*value;\x0areturn\x20sq*sq*value;\x0a}\x0afloat\x20getLuminance(vec3\x20color)\x0a{\x0areturn\x20clamp(dot(color,LuminanceEncodeApprox),0.,1.);\x0a}\x0afloat\x20getRand(vec2\x20seed)\x20{\x0areturn\x20fract(sin(dot(seed.xy\x20,vec2(12.9898,78.233)))*43758.5453);\x0a}\x0afloat\x20dither(vec2\x20seed,float\x20varianceAmount)\x20{\x0afloat\x20rand=getRand(seed);\x0afloat\x20normVariance=varianceAmount/255.0;\x0afloat\x20dither=mix(-normVariance,normVariance,rand);\x0areturn\x20dither;\x0a}\x0aconst\x20float\x20rgbdMaxRange=255.0;\x0avec4\x20toRGBD(vec3\x20color)\x20{\x0afloat\x20maxRGB=maxEps(max(color.r,max(color.g,color.b)));\x0afloat\x20D\x20=max(rgbdMaxRange/maxRGB,1.);\x0aD\x20=clamp(floor(D)/255.0,0.,1.);\x0avec3\x20rgb=color.rgb*D;\x0argb=toGammaSpace(rgb);\x0areturn\x20vec4(clamp(rgb,0.,1.),D);\x20\x0a}\x0avec3\x20fromRGBD(vec4\x20rgbd)\x20{\x0argbd.rgb=toLinearSpace(rgbd.rgb);\x0areturn\x20rgbd.rgb/rgbd.a;\x0a}\x0avec3\x20parallaxCorrectNormal(\x20vec3\x20vertexPos,vec3\x20origVec,vec3\x20cubeSize,vec3\x20cubePos\x20)\x20{\x0avec3\x20invOrigVec=vec3(1.0,1.0,1.0)/origVec;\x0avec3\x20halfSize=cubeSize*0.5;\x0avec3\x20intersecAtMaxPlane=(cubePos+halfSize-vertexPos)*invOrigVec;\x0avec3\x20intersecAtMinPlane=(cubePos-halfSize-vertexPos)*invOrigVec;\x0avec3\x20largestIntersec=max(intersecAtMaxPlane,intersecAtMinPlane);\x0afloat\x20distance=min(min(largestIntersec.x,largestIntersec.y),largestIntersec.z);\x0avec3\x20intersectPositionWS=vertexPos+origVec*distance;\x0areturn\x20intersectPositionWS-cubePos;\x0a}\x0a','setFloat','_generateStencilBuffer','uniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20lightScatteringSampler;\x0auniform\x20float\x20decay;\x0auniform\x20float\x20exposure;\x0auniform\x20float\x20weight;\x0auniform\x20float\x20density;\x0auniform\x20vec2\x20meshPositionOnScreen;\x0avarying\x20vec2\x20vUV;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0avec2\x20tc=vUV;\x0avec2\x20deltaTexCoord=(tc-meshPositionOnScreen.xy);\x0adeltaTexCoord*=1.0/float(NUM_SAMPLES)*density;\x0afloat\x20illuminationDecay=1.0;\x0avec4\x20color=texture2D(lightScatteringSampler,tc)*0.4;\x0afor(int\x20i=0;\x20i\x0a#include\x0a#include\x0a#include[0..maxSimultaneousMorphTargets]\x0a#include\x0a#include\x0auniform\x20mat4\x20viewProjection;\x0avarying\x20vec4\x20vPosition;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vUVDiffuse;\x0auniform\x20mat4\x20diffuseMatrix;\x0a#endif\x0a#ifdef\x20OPACITY\x0avarying\x20vec2\x20vUVOpacity;\x0auniform\x20mat4\x20opacityMatrix;\x0a#endif\x0a#ifdef\x20EMISSIVE\x0avarying\x20vec2\x20vUVEmissive;\x0auniform\x20mat4\x20emissiveMatrix;\x0a#endif\x0a#ifdef\x20VERTEXALPHA\x0aattribute\x20vec4\x20color;\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec3\x20positionUpdated=position;\x0a#ifdef\x20UV1\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#include\x0a#include[0..maxSimultaneousMorphTargets]\x0a#include\x0a#include\x0a#include\x0avec4\x20worldPos=finalWorld*vec4(positionUpdated,1.0);\x0a#ifdef\x20CUBEMAP\x0avPosition=worldPos;\x0agl_Position=viewProjection*finalWorld*vec4(position,1.0);\x0a#else\x0avPosition=viewProjection*worldPos;\x0agl_Position=vPosition;\x0a#endif\x0a#ifdef\x20DIFFUSE\x0a#ifdef\x20DIFFUSEUV1\x0avUVDiffuse=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20DIFFUSEUV2\x0avUVDiffuse=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a#ifdef\x20OPACITY\x0a#ifdef\x20OPACITYUV1\x0avUVOpacity=vec2(opacityMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20OPACITYUV2\x0avUVOpacity=vec2(opacityMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a#ifdef\x20EMISSIVE\x0a#ifdef\x20EMISSIVEUV1\x0avUVEmissive=vec2(emissiveMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20EMISSIVEUV2\x0avUVEmissive=vec2(emissiveMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a#ifdef\x20VERTEXALPHA\x0avColor=color;\x0a#endif\x0a#include\x0a}','fragment','_RemoveTagFrom','world','setState','AddTagsTo','pointerMovePredicate','isParallelCompiled','createRenderBundleEncoder','currentViewProjection','womips','outputRenderTarget','_play','_copyInvertYBindGroup','_currentBundleList','_engine','EACRG11Snorm','imageProcessingPostProcess','uniform\x20vec4\x20color;\x0a','textureMode','onPointerObservable','framebufferTextureLayer','sampler','Ubo','numBoneInfluencers','setPointerOverMesh','normalize','setDepthWrite','_depthStencilBuffer','_advancePhysicsEngineStep','createRawBuffer','disableAutoAttach','AddParser','RGBA32Float','bakedVertexAnimationDeclaration','CLIPPLANE5','\x0d\x0a#endif','_getWebGLTextureType','setDirectColor4','R8Unorm','ASTC10x8Unorm','counters','itemLength','_preProcessors','_alphaBlend','EACRG11Unorm','precision\x20mediump\x20float;\x0a','updateRenderTargetTextureSampleCount','toGlobalToRef','REFLECTIONMAP_CUBIC','rgbdEncodePixelShader','_irradianceTexture','DoubleClickDelay','_framebufferDepthStencil','_useVAO','E3d','prePassComposition','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20passSampler;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0agl_FragColor=texture2D(passSampler,vUV);\x0a}','forceBindGroupCreation','_renderTargetWrapperCache','onVRRequestPresentStart','_uniformBufferLayoutBuilt','DEPTH32F_STENCIL8','matricesWeightsExtra','Depth24UnormStencil8','projection','};\x0a','colorFormats','textureFloatRender','getEmittedParticleSystems','_mesh','indexParameters','_movePointerInfo','uniformBufferProcessor','bindGroupEntries','texImage2D','submitFrame','ALPHA_ALPHATOCOLOR','next','R8Sint','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include\x0a#include\x0a#include\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0auniform\x20mat4\x20diffuseMatrix;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include\x0a#include\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include\x0a#include\x0a#include\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0agl_Position=viewProjection*worldPos;\x0avPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0aif\x20(vDiffuseInfos.x==0.)\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\x0a}\x0aelse\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a}\x0a#endif\x0a#include\x0a#include\x0a#include[0..maxSimultaneousLights]\x0a#include\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','clearRect','#ifdef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0auniform\x20bakedVertexAnimationTime:\x20f32;\x0auniform\x20bakedVertexAnimationTextureSizeInverted:\x20vec2;\x0auniform\x20bakedVertexAnimationSettings:\x20vec4;\x0avar\x20bakedVertexAnimationTexture\x20:\x20texture_2d;\x0a#ifdef\x20INSTANCES\x0aattribute\x20bakedVertexAnimationSettingsInstanced\x20:\x20vec4;\x0a#endif\x0afn\x20readMatrixFromRawSamplerVAT(smp\x20:\x20texture_2d,index\x20:\x20f32,frame\x20:\x20f32)->mat4x4\x0a{\x0alet\x20offset=i32(index)*4;\x0alet\x20frameUV=i32(frame);\x0alet\x20m0=textureLoad(smp,vec2(offset+0,frameUV),0);\x0alet\x20m1=textureLoad(smp,vec2(offset+1,frameUV),0);\x0alet\x20m2=textureLoad(smp,vec2(offset+2,frameUV),0);\x0alet\x20m3=textureLoad(smp,vec2(offset+3,frameUV),0);\x0areturn\x20mat4x4(m0,m1,m2,m3);\x0a}\x0a#endif\x0a','isAsync','setVector4','indexStart','depthFunc','#if\x20defined(BUMP)\x20||\x20defined(PARALLAX)\x20||\x20defined(CLEARCOAT_BUMP)\x20||\x20defined(ANISOTROPIC)\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x0avec3\x20tbnNormal=normalize(normalUpdated);\x0avec3\x20tbnTangent=normalize(tangentUpdated.xyz);\x0avec3\x20tbnBitangent=cross(tbnNormal,tbnTangent)*tangentUpdated.w;\x0avTBN=mat3(finalWorld)*mat3(tbnTangent,tbnBitangent,tbnNormal);\x0a#endif\x0a#endif\x0a','FLOAT','renderPageFocus','preProcessShaderCode','_endRenderTargetRenderPass','deleteCompoundImpostor','TEXTURE_LINEAR_LINEAR_MIPNEAREST','indexOf','function','_vrExclusivePointerMode','setDepthBias','insertDebugMarker','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(internals.yFactor_\x20==\x201.)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20fragmentInputs.position.y\x20=\x20internals.textureOutputHeight_\x20-\x20fragmentInputs.position.y;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20','_defineExplicitName','webGLVersion','setTextures','uScale','connectTo','TEXTUREFORMAT_COMPRESSED_RGB_BPTC_SIGNED_FLOAT','_tintWASM','_vertexBufferSize','cancelAnimationFrame','gl_Position.z\x20=\x20(gl_Position.z\x20+\x20gl_Position.w)\x20/\x202.0;\x0a','funcRef','setInt','tabIndex','//\x20Internals\x20UBO\x0d\x0auniform\x20','\x20:\x20array<','_framebuffer','Raw2DArray','E2dArray','pbrBlockNormalGeometric','frameMaxRenderMemoryLength','SRGB8_ALPHA8','matchesTagsQuery','TEXTURE_INVCUBIC_MODE','now','_availableIndices','value','decode','setVerticesBuffer','TEXTUREFORMAT_DEPTH24','_onVrDisplayDisconnect','data:','samplerVertexImplementation','attachCamerasToRenderPipeline','addMSAARenderBuffer','autoConfigure','CLAMP_ADDRESSMODE','setRawData','occlusionQuerySet','meshUboDeclaration','setUIntArray2','updateFloat','getViewMatrix','framebufferRenderbuffer','_countIncrement','webpackChunkBim','screenSpaceReflection2BlurCombinerPixelShader','finalize','ReciprocalPI','register','textureHalfFloatLinearFiltering','matrixData','_debugInsertMarker','RenderTarget','_debugPopGroup','#if\x20defined(WEBGL2)\x20||\x20defines(WEBGPU)\x0d\x0aprecision\x20highp\x20sampler2DArray;\x0d\x0a#endif\x0d\x0a','.xyz,\x20','LeftOver','glowMapMergePixelShader','54344EaFNwR','_xrSessionManager','BC7RGBAUnormSRGB','LINEAR','refractionPixelShader','getEngine','MAINUV3','GEQUAL','pow','_camera','abs','ALPHA_INTERPOLATE','XRWebGLLayer','_width','TEXTUREFORMAT_COMPRESSED_RGB8_ETC2','nearInteractionPickingInfo','setTextureSampler:\x20This\x20engine\x20does\x20not\x20support\x20separate\x20texture\x20sampler\x20objects!','ETC2RGBA8UnormSRGB','spriteMapPixelShader','TEXTURETYPE_UNSIGNED_SHORT_5_5_5_1\x20format\x20not\x20supported\x20in\x20WebGPU','grainPixelShader','BC2RGBAUnorm','REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED','enableMouseHover','hasPointerTriggers','normalize(','Unable\x20to\x20create\x20multi\x20sampled\x20framebuffer','colorBufferFloat','#ifdef\x20EXPOSURE\x0auniform\x20float\x20exposureLinear;\x0a#endif\x0a#ifdef\x20CONTRAST\x0auniform\x20float\x20contrast;\x0a#endif\x0a#if\x20defined(VIGNETTE)\x20||\x20defined(DITHER)\x0auniform\x20vec2\x20vInverseScreenSize;\x0a#endif\x0a#ifdef\x20VIGNETTE\x0auniform\x20vec4\x20vignetteSettings1;\x0auniform\x20vec4\x20vignetteSettings2;\x0a#endif\x0a#ifdef\x20COLORCURVES\x0auniform\x20vec4\x20vCameraColorCurveNegative;\x0auniform\x20vec4\x20vCameraColorCurveNeutral;\x0auniform\x20vec4\x20vCameraColorCurvePositive;\x0a#endif\x0a#ifdef\x20COLORGRADING\x0a#ifdef\x20COLORGRADING3D\x0auniform\x20highp\x20sampler3D\x20txColorTransform;\x0a#else\x0auniform\x20sampler2D\x20txColorTransform;\x0a#endif\x0auniform\x20vec4\x20colorTransformSettings;\x0a#endif\x0a#ifdef\x20DITHER\x0auniform\x20float\x20ditherIntensity;\x0a#endif\x0a','depthValue','sampler2D','DEPTH_COMPONENT','enablePointerMoveEvents','createRawTexture','_numFloatTextures','removeVerticesData','updateInt2','fovMultiplier','getEffect','fluidRenderingBilateralBlurPixelShader','deviceType','MATERIAL_TriangleStripDrawMode','ui8d','_colorTextureArray','_bindGroupEntries','_pipelineContext','TEXTURETYPE_UNSIGNED_INT','_useInstancing','extractHighlightsPixelShader','shadowsVertex','setCullEnabled','getOwnPropertyDescriptor','worldDirection','_collectBindingNames','modelArrayBuff','releaseMSAATexture','indexOfRefraction','_webgpuTexture','_readTexturePixelsSync\x20is\x20unsupported\x20in\x20WebGPU!','compressedTexImage2D','MatchesQuery','_missingVaryings','_createDepthStencilCubeTexture','capacity','MATERIAL_PointListDrawMode','IgnoreTexturesAtLoadTime','fillMode','_EvaluatePreProcessors','cellWidth','setStencilWriteMask','_checkForPicking','_skipPointerTap','setAlphaBlendFactors','Instantiate','_alreadyAttached','.z;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','FromArray','setMSAATexture','_bundleCache','layer','_setRayOnPointerInfo','TEXTUREFORMAT_RGB_INTEGER\x20format\x20not\x20supported\x20in\x20WebGPU','projectedParticleConstant','cameraWorldPosition','viewForWriting','getHashCode','updateRawTexture3D','_pointerX','_changeTextureMode','textureInfos','#ifdef\x20FOG\x0a#define\x20FOGMODE_NONE\x200.\x0a#define\x20FOGMODE_EXP\x201.\x0a#define\x20FOGMODE_EXP2\x202.\x0a#define\x20FOGMODE_LINEAR\x203.\x0a#define\x20E\x202.71828\x0auniform\x20vec4\x20vFogInfos;\x0auniform\x20vec3\x20vFogColor;\x0avarying\x20vec3\x20vFogDistance;\x0afloat\x20CalcFogFactor()\x0a{\x0afloat\x20fogCoeff=1.0;\x0afloat\x20fogStart=vFogInfos.y;\x0afloat\x20fogEnd=vFogInfos.z;\x0afloat\x20fogDensity=vFogInfos.w;\x0afloat\x20fogDistance=length(vFogDistance);\x0aif\x20(FOGMODE_LINEAR==vFogInfos.x)\x0a{\x0afogCoeff=(fogEnd-fogDistance)/(fogEnd-fogStart);\x0a}\x0aelse\x20if\x20(FOGMODE_EXP==vFogInfos.x)\x0a{\x0afogCoeff=1.0/pow(E,fogDistance*fogDensity);\x0a}\x0aelse\x20if\x20(FOGMODE_EXP2==vFogInfos.x)\x0a{\x0afogCoeff=1.0/pow(E,fogDistance*fogDistance*fogDensity*fogDensity);\x0a}\x0areturn\x20clamp(fogCoeff,0.0,1.0);\x0a}\x0a#endif\x0a','gpuUpdateParticlesPixelShader','pointerDownPredicate','strides','mousePosition','isExist','setSubData','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20','_createHardwareRenderTargetWrapper','updateMatrix2x2','deleteRenderbuffer','DEPTH_COMPONENT24','ASTC10x6Unorm','TEXTUREFORMAT_ALPHA','uniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20ALBEDO\x0auniform\x20mat4\x20albedoMatrix;\x0auniform\x20vec2\x20vAlbedoInfos;\x0a#endif\x0a#ifdef\x20AMBIENT\x0auniform\x20mat4\x20ambientMatrix;\x0auniform\x20vec4\x20vAmbientInfos;\x0a#endif\x0a#ifdef\x20OPACITY\x0auniform\x20mat4\x20opacityMatrix;\x0auniform\x20vec2\x20vOpacityInfos;\x0a#endif\x0a#ifdef\x20EMISSIVE\x0auniform\x20vec2\x20vEmissiveInfos;\x0auniform\x20mat4\x20emissiveMatrix;\x0a#endif\x0a#ifdef\x20LIGHTMAP\x0auniform\x20vec2\x20vLightmapInfos;\x0auniform\x20mat4\x20lightmapMatrix;\x0a#endif\x0a#ifdef\x20REFLECTIVITY\x20\x0auniform\x20vec3\x20vReflectivityInfos;\x0auniform\x20mat4\x20reflectivityMatrix;\x0a#endif\x0a#ifdef\x20METALLIC_REFLECTANCE\x0auniform\x20vec2\x20vMetallicReflectanceInfos;\x0auniform\x20mat4\x20metallicReflectanceMatrix;\x0a#endif\x0a#ifdef\x20REFLECTANCE\x0auniform\x20vec2\x20vReflectanceInfos;\x0auniform\x20mat4\x20reflectanceMatrix;\x0a#endif\x0a#ifdef\x20MICROSURFACEMAP\x0auniform\x20vec2\x20vMicroSurfaceSamplerInfos;\x0auniform\x20mat4\x20microSurfaceSamplerMatrix;\x0a#endif\x0a#ifdef\x20BUMP\x0auniform\x20vec3\x20vBumpInfos;\x0auniform\x20mat4\x20bumpMatrix;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0a#ifdef\x20REFLECTION\x0auniform\x20vec2\x20vReflectionInfos;\x0auniform\x20mat4\x20reflectionMatrix;\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0a#if\x20defined(CLEARCOAT_TEXTURE)\x20||\x20defined(CLEARCOAT_TEXTURE_ROUGHNESS)\x0auniform\x20vec4\x20vClearCoatInfos;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0auniform\x20mat4\x20clearCoatMatrix;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TEXTURE_ROUGHNESS\x0auniform\x20mat4\x20clearCoatRoughnessMatrix;\x0a#endif\x0a#ifdef\x20CLEARCOAT_BUMP\x0auniform\x20vec2\x20vClearCoatBumpInfos;\x0auniform\x20mat4\x20clearCoatBumpMatrix;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TINT_TEXTURE\x0auniform\x20vec2\x20vClearCoatTintInfos;\x0auniform\x20mat4\x20clearCoatTintMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0a#if\x20defined(IRIDESCENCE_TEXTURE)\x20||\x20defined(IRIDESCENCE_THICKNESS_TEXTURE)\x0auniform\x20vec4\x20vIridescenceInfos;\x0a#endif\x0a#ifdef\x20IRIDESCENCE_TEXTURE\x0auniform\x20mat4\x20iridescenceMatrix;\x0a#endif\x0a#ifdef\x20IRIDESCENCE_THICKNESS_TEXTURE\x0auniform\x20mat4\x20iridescenceThicknessMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0a#ifdef\x20ANISOTROPIC_TEXTURE\x0auniform\x20vec2\x20vAnisotropyInfos;\x0auniform\x20mat4\x20anisotropyMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20SHEEN\x0a#if\x20defined(SHEEN_TEXTURE)\x20||\x20defined(SHEEN_TEXTURE_ROUGHNESS)\x0auniform\x20vec4\x20vSheenInfos;\x0a#endif\x0a#ifdef\x20SHEEN_TEXTURE\x0auniform\x20mat4\x20sheenMatrix;\x0a#endif\x0a#ifdef\x20SHEEN_TEXTURE_ROUGHNESS\x0auniform\x20mat4\x20sheenRoughnessMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20SUBSURFACE\x0a#ifdef\x20SS_REFRACTION\x0auniform\x20vec4\x20vRefractionInfos;\x0auniform\x20mat4\x20refractionMatrix;\x0a#endif\x0a#ifdef\x20SS_THICKNESSANDMASK_TEXTURE\x0auniform\x20vec2\x20vThicknessInfos;\x0auniform\x20mat4\x20thicknessMatrix;\x0a#endif\x0a#ifdef\x20SS_REFRACTIONINTENSITY_TEXTURE\x0auniform\x20vec2\x20vRefractionIntensityInfos;\x0auniform\x20mat4\x20refractionIntensityMatrix;\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCYINTENSITY_TEXTURE\x0auniform\x20vec2\x20vTranslucencyIntensityInfos;\x0auniform\x20mat4\x20translucencyIntensityMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20NORMAL\x0a#if\x20defined(USESPHERICALFROMREFLECTIONMAP)\x20&&\x20defined(USESPHERICALINVERTEX)\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#ifdef\x20SPHERICAL_HARMONICS\x0auniform\x20vec3\x20vSphericalL00;\x0auniform\x20vec3\x20vSphericalL1_1;\x0auniform\x20vec3\x20vSphericalL10;\x0auniform\x20vec3\x20vSphericalL11;\x0auniform\x20vec3\x20vSphericalL2_2;\x0auniform\x20vec3\x20vSphericalL2_1;\x0auniform\x20vec3\x20vSphericalL20;\x0auniform\x20vec3\x20vSphericalL21;\x0auniform\x20vec3\x20vSphericalL22;\x0a#else\x0auniform\x20vec3\x20vSphericalX;\x0auniform\x20vec3\x20vSphericalY;\x0auniform\x20vec3\x20vSphericalZ;\x0auniform\x20vec3\x20vSphericalXX_ZZ;\x0auniform\x20vec3\x20vSphericalYY_ZZ;\x0auniform\x20vec3\x20vSphericalZZ;\x0auniform\x20vec3\x20vSphericalXY;\x0auniform\x20vec3\x20vSphericalYZ;\x0auniform\x20vec3\x20vSphericalZX;\x0a#endif\x0a#endif\x0a#endif\x0a#endif\x0a#ifdef\x20DETAIL\x0auniform\x20vec4\x20vDetailInfos;\x0auniform\x20mat4\x20detailMatrix;\x0a#endif\x0a#include\x0a#define\x20ADDITIONAL_VERTEX_DECLARATION\x0a','backgroundUboDeclaration','skipPointerMovePicking','_oldHardwareScaleFactor','#ifdef\x20PREPASS_DEPTH\x0avViewPos=(view*worldPos).rgb;\x0a#endif\x0a#if\x20defined(PREPASS_VELOCITY)\x20&&\x20defined(BONES_VELOCITY_ENABLED)\x0avCurrentPosition=viewProjection*worldPos;\x0a#if\x20NUM_BONE_INFLUENCERS>0\x0amat4\x20previousInfluence;\x0apreviousInfluence=mPreviousBones[int(matricesIndices[0])]*matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0apreviousInfluence+=mPreviousBones[int(matricesIndices[1])]*matricesWeights[1];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0apreviousInfluence+=mPreviousBones[int(matricesIndices[2])]*matricesWeights[2];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0apreviousInfluence+=mPreviousBones[int(matricesIndices[3])]*matricesWeights[3];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[0])]*matricesWeightsExtra[0];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[1])]*matricesWeightsExtra[1];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[2])]*matricesWeightsExtra[2];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[3])]*matricesWeightsExtra[3];\x0a#endif\x0avPreviousPosition=previousViewProjection*finalPreviousWorld*previousInfluence*vec4(positionUpdated,1.0);\x0a#else\x0avPreviousPosition=previousViewProjection*finalPreviousWorld*vec4(positionUpdated,1.0);\x0a#endif\x0a#endif\x0a','fxaaPixelShader','_bindTexture','ADVANCED','DeepCopy','toGlobal','CopySrc','POINTERUP','#ifdef','surface','textBuffer','additionalData','GL_ALPHA_EQUATION_ADD','#if\x20defined(ALPHATEST)\x20||\x20defined(NEED_UV)\x0avarying\x20vec2\x20vUV;\x0a#endif\x0a#if\x20defined(ALPHATEST)\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#if\x20defined(ALPHATEST)\x0avec4\x20diffuseColor=texture2D(diffuseSampler,vUV);\x0aif\x20(diffuseColor.a<0.4)\x0adiscard;\x0a#endif\x0agl_FragColor=vec4(0.0,0.0,0.0,1.0);\x0a}\x0a','directionW','vReflectionPosition','setVector3','useReverseDepthBuffer','defaultVertexDeclaration','buildTextureLayout','getHierarchyEmittedParticleSystems','textureFloatLinearFiltering','_alphaMode','renderWidthHeight','onApplyObservable','#define\x20FRESNEL_MAXIMUM_ON_ROUGH\x200.25\x0a#ifdef\x20MS_BRDF_ENERGY_CONSERVATION\x0avec3\x20getEnergyConservationFactor(const\x20vec3\x20specularEnvironmentR0,const\x20vec3\x20environmentBrdf)\x20{\x0areturn\x201.0+specularEnvironmentR0*(1.0/environmentBrdf.y-1.0);\x0a}\x0a#endif\x0a#ifdef\x20ENVIRONMENTBRDF\x0avec3\x20getBRDFLookup(float\x20NdotV,float\x20perceptualRoughness)\x20{\x0avec2\x20UV=vec2(NdotV,perceptualRoughness);\x0avec4\x20brdfLookup=texture2D(environmentBrdfSampler,UV);\x0a#ifdef\x20ENVIRONMENTBRDF_RGBD\x0abrdfLookup.rgb=fromRGBD(brdfLookup.rgba);\x0a#endif\x0areturn\x20brdfLookup.rgb;\x0a}\x0avec3\x20getReflectanceFromBRDFLookup(const\x20vec3\x20specularEnvironmentR0,const\x20vec3\x20specularEnvironmentR90,const\x20vec3\x20environmentBrdf)\x20{\x0a#ifdef\x20BRDF_V_HEIGHT_CORRELATED\x0avec3\x20reflectance=(specularEnvironmentR90-specularEnvironmentR0)*environmentBrdf.x+specularEnvironmentR0*environmentBrdf.y;\x0a#else\x0avec3\x20reflectance=specularEnvironmentR0*environmentBrdf.x+specularEnvironmentR90*environmentBrdf.y;\x0a#endif\x0areturn\x20reflectance;\x0a}\x0avec3\x20getReflectanceFromBRDFLookup(const\x20vec3\x20specularEnvironmentR0,const\x20vec3\x20environmentBrdf)\x20{\x0a#ifdef\x20BRDF_V_HEIGHT_CORRELATED\x0avec3\x20reflectance=mix(environmentBrdf.xxx,environmentBrdf.yyy,specularEnvironmentR0);\x0a#else\x0avec3\x20reflectance=specularEnvironmentR0*environmentBrdf.x+environmentBrdf.y;\x0a#endif\x0areturn\x20reflectance;\x0a}\x0a#endif\x0a/*\x20NOT\x20USED\x0a#if\x20defined(SHEEN)\x20&&\x20defined(SHEEN_SOFTER)\x0afloat\x20getBRDFLookupCharlieSheen(float\x20NdotV,float\x20perceptualRoughness)\x0a{\x0afloat\x20c=1.0-NdotV;\x0afloat\x20c3=c*c*c;\x0areturn\x200.65584461*c3+1.0/(4.16526551+exp(-7.97291361*perceptualRoughness+6.33516894));\x0a}\x0a#endif\x0a*/\x0a#if\x20!defined(ENVIRONMENTBRDF)\x20||\x20defined(REFLECTIONMAP_SKYBOX)\x20||\x20defined(ALPHAFRESNEL)\x0avec3\x20getReflectanceFromAnalyticalBRDFLookup_Jones(float\x20VdotN,vec3\x20reflectance0,vec3\x20reflectance90,float\x20smoothness)\x0a{\x0afloat\x20weight=mix(FRESNEL_MAXIMUM_ON_ROUGH,1.0,smoothness);\x0areturn\x20reflectance0+weight*(reflectance90-reflectance0)*pow5(saturate(1.0-VdotN));\x0a}\x0a#endif\x0a#if\x20defined(SHEEN)\x20&&\x20defined(ENVIRONMENTBRDF)\x0a/**\x0a*\x20The\x20sheen\x20BRDF\x20not\x20containing\x20F\x20can\x20be\x20easily\x20stored\x20in\x20the\x20blue\x20channel\x20of\x20the\x20BRDF\x20texture.\x0a*\x20The\x20blue\x20channel\x20contains\x20DCharlie*VAshikhmin*NdotL\x20as\x20a\x20lokkup\x20table\x0a*/\x0avec3\x20getSheenReflectanceFromBRDFLookup(const\x20vec3\x20reflectance0,const\x20vec3\x20environmentBrdf)\x20{\x0avec3\x20sheenEnvironmentReflectance=reflectance0*environmentBrdf.b;\x0areturn\x20sheenEnvironmentReflectance;\x0a}\x0a#endif\x0avec3\x20fresnelSchlickGGX(float\x20VdotH,vec3\x20reflectance0,vec3\x20reflectance90)\x0a{\x0areturn\x20reflectance0+(reflectance90-reflectance0)*pow5(1.0-VdotH);\x0a}\x0afloat\x20fresnelSchlickGGX(float\x20VdotH,float\x20reflectance0,float\x20reflectance90)\x0a{\x0areturn\x20reflectance0+(reflectance90-reflectance0)*pow5(1.0-VdotH);\x0a}\x0a#ifdef\x20CLEARCOAT\x0avec3\x20getR0RemappedForClearCoat(vec3\x20f0)\x20{\x0a#ifdef\x20CLEARCOAT_DEFAULTIOR\x0a#ifdef\x20MOBILE\x0areturn\x20saturate(f0*(f0*0.526868+0.529324)-0.0482256);\x0a#else\x0areturn\x20saturate(f0*(f0*(0.941892-0.263008*f0)+0.346479)-0.0285998);\x0a#endif\x0a#else\x0avec3\x20s=sqrt(f0);\x0avec3\x20t=(vClearCoatRefractionParams.z+vClearCoatRefractionParams.w*s)/(vClearCoatRefractionParams.w+vClearCoatRefractionParams.z*s);\x0areturn\x20square(t);\x0a#endif\x0a}\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0aconst\x20mat3\x20XYZ_TO_REC709=mat3(\x0a3.2404542,-0.9692660,\x200.0556434,\x0a-1.5371385,\x201.8760108,-0.2040259,\x0a-0.4985314,\x200.0415560,\x201.0572252\x0a);\x0avec3\x20getIORTfromAirToSurfaceR0(vec3\x20f0)\x20{\x0avec3\x20sqrtF0=sqrt(f0);\x0areturn\x20(1.+sqrtF0)/(1.-sqrtF0);\x0a}\x0avec3\x20getR0fromIORs(vec3\x20iorT,float\x20iorI)\x20{\x0areturn\x20square((iorT-vec3(iorI))/(iorT+vec3(iorI)));\x0a}\x0afloat\x20getR0fromIORs(float\x20iorT,float\x20iorI)\x20{\x0areturn\x20square((iorT-iorI)/(iorT+iorI));\x0a}\x0avec3\x20evalSensitivity(float\x20opd,vec3\x20shift)\x20{\x0afloat\x20phase=2.0*PI*opd*1.0e-9;\x0aconst\x20vec3\x20val=vec3(5.4856e-13,4.4201e-13,5.2481e-13);\x0aconst\x20vec3\x20pos=vec3(1.6810e+06,1.7953e+06,2.2084e+06);\x0aconst\x20vec3\x20var=vec3(4.3278e+09,9.3046e+09,6.6121e+09);\x0avec3\x20xyz=val*sqrt(2.0*PI*var)*cos(pos*phase+shift)*exp(-square(phase)*var);\x0axyz.x+=9.7470e-14*sqrt(2.0*PI*4.5282e+09)*cos(2.2399e+06*phase+shift[0])*exp(-4.5282e+09*square(phase));\x0axyz/=1.0685e-7;\x0avec3\x20srgb=XYZ_TO_REC709*xyz;\x0areturn\x20srgb;\x0a}\x0avec3\x20evalIridescence(float\x20outsideIOR,float\x20eta2,float\x20cosTheta1,float\x20thinFilmThickness,vec3\x20baseF0)\x20{\x0avec3\x20I=vec3(1.0);\x0afloat\x20iridescenceIOR=mix(outsideIOR,eta2,smoothstep(0.0,0.03,thinFilmThickness));\x0afloat\x20sinTheta2Sq=square(outsideIOR/iridescenceIOR)*(1.0-square(cosTheta1));\x0afloat\x20cosTheta2Sq=1.0-sinTheta2Sq;\x0aif\x20(cosTheta2Sq<0.0)\x20{\x0areturn\x20I;\x0a}\x0afloat\x20cosTheta2=sqrt(cosTheta2Sq);\x0afloat\x20R0=getR0fromIORs(iridescenceIOR,outsideIOR);\x0afloat\x20R12=fresnelSchlickGGX(cosTheta1,R0,1.);\x0afloat\x20R21=R12;\x0afloat\x20T121=1.0-R12;\x0afloat\x20phi12=0.0;\x0aif\x20(iridescenceIOR=samplesCount)\x0abreak;\x0avec2\x20offset=vUV+velocity*(hlim+float(i));\x0a#if\x20defined(WEBGPU)\x0aresult+=texture2DLodEXT(textureSampler,offset,0.0);\x0a#else\x0aresult+=texture2D(textureSampler,offset);\x0a#endif\x0a}\x0agl_FragColor=result/float(samplesCount);\x0agl_FragColor.a=1.0;\x0a#else\x0avec2\x20texelSize=1.0/screenSize;\x0afloat\x20depth=texture2D(depthSampler,vUV).r;\x0adepth=projection[2].z+projection[3].z/depth;\x20\x0avec4\x20cpos=vec4(vUV*2.0-1.0,depth,1.0);\x0acpos=inverseViewProjection*cpos;\x0acpos/=cpos.w;\x0avec4\x20ppos=prevViewProjection*cpos;\x0appos/=ppos.w;\x0appos.xy=ppos.xy*0.5+0.5;\x0avec2\x20velocity=(ppos.xy-vUV)*motionScale*motionStrength;\x0afloat\x20speed=length(velocity/texelSize);\x0aint\x20nSamples=int(clamp(speed,1.0,SAMPLES));\x0avec4\x20result=texture2D(textureSampler,vUV);\x0afor\x20(int\x20i=1;\x20i=nSamples)\x0abreak;\x0avec2\x20offset1=vUV+velocity*(float(i)/float(nSamples-1)-0.5);\x0a#if\x20defined(WEBGPU)\x0aresult+=texture2DLodEXT(textureSampler,offset1,0.0);\x0a#else\x0aresult+=texture2D(textureSampler,offset1);\x0a#endif\x0a}\x0agl_FragColor=result/float(nSamples);\x0a#endif\x0a#else\x0agl_FragColor=texture2D(textureSampler,vUV);\x0a#endif\x0a}\x0a','_getVRDisplaysAsync','simplePixelShader','bindUniformBufferBase','blendFuncSeparate','attribute\x20vec3\x20position;\x0a#include<__decl__boundingBoxRendererVertex>\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avec4\x20worldPos=world*vec4(position,1.0);\x0a#ifdef\x20MULTIVIEW\x0aif\x20(gl_ViewID_OVR==0u)\x20{\x0agl_Position=viewProjection*worldPos;\x0a}\x20else\x20{\x0agl_Position=viewProjectionR*worldPos;\x0a}\x0a#else\x0agl_Position=viewProjection*worldPos;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','pointerId','polygonOffset','offsetX','FluidRenderingDepthTextureCopyRTTDepthStencil','NONE','-etc2.ktx','setInt3','glFragColor','height','const\x20vec3\x20TWO=vec3(2.0,2.0,2.0);\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20camASampler;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20stepSize;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0abool\x20useCamA;\x0abool\x20useCamB;\x0avec2\x20texCoord1;\x0avec2\x20texCoord2;\x0avec3\x20frag1;\x0avec3\x20frag2;\x0a#ifdef\x20IS_STEREOSCOPIC_HORIZ\x0auseCamB=vUV.x>0.5;\x0auseCamA=!useCamB;\x0atexCoord1=vec2(useCamB\x20?\x20(vUV.x-0.5)*2.0\x20:\x20vUV.x*2.0,vUV.y);\x0atexCoord2=vec2(texCoord1.x+stepSize.x,vUV.y);\x0a#else\x0a#ifdef\x20IS_STEREOSCOPIC_INTERLACED\x0afloat\x20rowNum=floor(vUV.y/stepSize.y);\x0auseCamA=mod(rowNum,2.0)==1.0;\x0auseCamB=mod(rowNum,2.0)==0.0;\x0atexCoord1=vec2(vUV.x,vUV.y);\x0atexCoord2=vec2(vUV.x,vUV.y);\x0a#else\x0auseCamB=vUV.y>0.5;\x0auseCamA=!useCamB;\x0atexCoord1=vec2(vUV.x,useCamB\x20?\x20(vUV.y-0.5)*2.0\x20:\x20vUV.y*2.0);\x0atexCoord2=vec2(vUV.x,texCoord1.y+stepSize.y);\x0a#endif\x0a#endif\x0aif\x20(useCamB){\x0afrag1=texture2D(textureSampler,texCoord1).rgb;\x0afrag2=texture2D(textureSampler,texCoord2).rgb;\x0a}else\x20if\x20(useCamA){\x0afrag1=texture2D(camASampler\x20,texCoord1).rgb;\x0afrag2=texture2D(camASampler\x20,texCoord2).rgb;\x0a}else\x20{\x0adiscard;\x0a}\x0agl_FragColor=vec4((frag1+frag2)/TWO,1.0);\x0a}\x0a','TEXTUREFORMAT_LUMINANCE\x20format\x20not\x20supported\x20in\x20WebGPU','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20screenSize;\x0auniform\x20vec2\x20direction;\x0auniform\x20float\x20blurWidth;\x0afloat\x20getLuminance(vec3\x20color)\x0a{\x0areturn\x20dot(color,vec3(0.2126,0.7152,0.0722));\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0afloat\x20weights[7];\x0aweights[0]=0.05;\x0aweights[1]=0.1;\x0aweights[2]=0.2;\x0aweights[3]=0.3;\x0aweights[4]=0.2;\x0aweights[5]=0.1;\x0aweights[6]=0.05;\x0avec2\x20texelSize=vec2(1.0/screenSize.x,1.0/screenSize.y);\x0avec2\x20texelStep=texelSize*direction*blurWidth;\x0avec2\x20start=vUV-3.0*texelStep;\x0avec4\x20baseColor=vec4(0.,0.,0.,0.);\x0avec2\x20texelOffset=vec2(0.,0.);\x0afor\x20(int\x20i=0;\x20i<7;\x20i++)\x0a{\x0avec4\x20texel=texture2D(textureSampler,start+texelOffset);\x0abaseColor.a+=texel.a*weights[i];\x0afloat\x20luminance=getLuminance(baseColor.rgb);\x0afloat\x20luminanceTexel=getLuminance(texel.rgb);\x0afloat\x20choice=step(luminanceTexel,luminance);\x0abaseColor.rgb=choice*baseColor.rgb+(1.0-choice)*texel.rgb;\x0atexelOffset+=texelStep;\x0a}\x0agl_FragColor=baseColor;\x0a}','create','supportCascades','preventDefault','Storage','storageTexture','_depthMask','DEPTH_COMPONENT32F','vertexShader','\x22,\x20undefined,\x20undefined,\x20','defaultVertexShader','onPointerDown','#ifdef\x20LIGHT{X}\x0auniform\x20vec4\x20vLightData{X};\x0auniform\x20vec4\x20vLightDiffuse{X};\x0a#ifdef\x20SPECULARTERM\x0auniform\x20vec4\x20vLightSpecular{X};\x0a#else\x0avec4\x20vLightSpecular{X}=vec4(0.);\x0a#endif\x0a#ifdef\x20SHADOW{X}\x0a#ifdef\x20SHADOWCSM{X}\x0auniform\x20mat4\x20lightMatrix{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20vec4\x20vPositionFromLight{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20float\x20vDepthMetric{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20vec4\x20vPositionFromCamera{X};\x0a#elif\x20defined(SHADOWCUBE{X})\x0a#else\x0avarying\x20vec4\x20vPositionFromLight{X};\x0avarying\x20float\x20vDepthMetric{X};\x0auniform\x20mat4\x20lightMatrix{X};\x0a#endif\x0auniform\x20vec4\x20shadowsInfo{X};\x0auniform\x20vec2\x20depthValues{X};\x0a#endif\x0a#ifdef\x20SPOTLIGHT{X}\x0auniform\x20vec4\x20vLightDirection{X};\x0auniform\x20vec4\x20vLightFalloff{X};\x0a#elif\x20defined(POINTLIGHT{X})\x0auniform\x20vec4\x20vLightFalloff{X};\x0a#elif\x20defined(HEMILIGHT{X})\x0auniform\x20vec3\x20vLightGround{X};\x0a#endif\x0a#endif\x0a','clipPlane4','dataStoreArrayBuffer','set','notifyObservers','NEGATIVE_INFINITY','CreateNewFromSprite','layerIndex','224onbOLk','endMainRenderPass','waterVertexShader','_onBaseAnimationEnd','attribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#include\x0a#include\x0a#include\x0a#include[0..maxSimultaneousMorphTargets]\x0a#ifdef\x20INSTANCES\x0aattribute\x20vec4\x20world0;\x0aattribute\x20vec4\x20world1;\x0aattribute\x20vec4\x20world2;\x0aattribute\x20vec4\x20world3;\x0a#endif\x0a#include\x0a#include<__decl__shadowMapVertex>\x0a#ifdef\x20ALPHATEXTURE\x0avarying\x20vec2\x20vUV;\x0auniform\x20mat4\x20diffuseMatrix;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#endif\x0a#include\x0a#include\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec3\x20positionUpdated=position;\x0a#ifdef\x20UV1\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20normalUpdated=normal;\x0a#endif\x0a#include\x0a#include[0..maxSimultaneousMorphTargets]\x0a#include\x0a#include\x0a#include\x0avec4\x20worldPos=finalWorld*vec4(positionUpdated,1.0);\x0a#ifdef\x20NORMAL\x0amat3\x20normWorldSM=mat3(finalWorld);\x0a#if\x20defined(INSTANCES)\x20&&\x20defined(THIN_INSTANCES)\x0avec3\x20vNormalW=normalUpdated/vec3(dot(normWorldSM[0],normWorldSM[0]),dot(normWorldSM[1],normWorldSM[1]),dot(normWorldSM[2],normWorldSM[2]));\x0avNormalW=normalize(normWorldSM*vNormalW);\x0a#else\x0a#ifdef\x20NONUNIFORMSCALING\x0anormWorldSM=transposeMat3(inverseMat3(normWorldSM));\x0a#endif\x0avec3\x20vNormalW=normalize(normWorldSM*normalUpdated);\x0a#endif\x0a#endif\x0a#include\x0agl_Position=viewProjection*worldPos;\x0a#include\x0a#ifdef\x20ALPHATEXTURE\x0a#ifdef\x20UV1\x0avUV=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20UV2\x0avUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a#include\x0a}','TransformCoordinatesFromFloatsToRef','updateId','-dxt.ktx','\x0a#define\x20CONEEMITTERSPAWNPOINT','funcMask','getPointerOverMesh','detachCamerasFromRenderPipeline','precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include\x0a#include\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#include\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20baseColor=vec4(1.,1.,1.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20DIFFUSE\x0abaseColor=texture2D(diffuseSampler,vDiffuseUV);\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include\x0abaseColor.rgb*=vDiffuseInfos.y;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0afloat\x20glossiness=0.;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0a#endif\x20\x0a#include[0..maxSimultaneousLights]\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\x0avec4\x20color=vec4(finalDiffuse,alpha);\x0a#include\x0agl_FragColor=color;\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','bindGroupLayoutEntryInfo','_samplerDeclaration','reduce','_blurPostProcesses','_getFragmentShaderCode','matrixBuffer','_deferredReleaseBuffers','drawArraysType','TEXTURETYPE_UNSIGNED_SHORT_4_4_4_4\x20format\x20not\x20supported\x20in\x20WebGPU','_videoPipelines','983690wZwNyP','status','_GetTextureTypeFromFormat','_cacheRenderPipeline','KEEP','enableBlur','\x0a};\x0avar\x20vertexOutputs\x20:\x20FragmentInputs;\x0a','_debugPushGroup','vrdisplaypresentchange','view','ETC2RGBA8Unorm','_zOffset','ARRAY_BUFFER','_isStencilMaskDirty','\x20=\x20computeCubicCoords(','getTransformMatrix','_isCullDirty','scene','thinInstanceRefreshBoundingInfo','resetDepthCullingState','TEXTUREFORMAT_DEPTH32FLOAT_STENCIL8','_generateLeftOverUBOCode','alphaTest','platformName','TEXTURETYPE_UNSIGNED_BYTE','REFLECTIONMAP_SPHERICAL','TEXTUREFORMAT_COMPRESSED_RGBA8_ETC2_EAC','freeBindingIndex','\x20*\x20vec4(','_getVideoPipeline','skipOnPointerObservable','_createRenderBuffer','label','_delayQuerySetDispose','_yOffset','_buildLeftOverUBO','program','12yPXout','blurSizeDivisor','emitComments','programValidationError','blurNumIterations','_ProcessIncludes','_pointerCaptures','_occlusionQuery','WriteOnly','uOffset','alphaBlend','vClipPlane2','clipPlaneVertexDeclaration','pbrBlockAlphaFresnel','\x0a#define\x20ANIMATESHEET\x0a','addItem','#ifdef\x20SHADOWS\x0a#if\x20defined(SHADOWCSM{X})\x0avPositionFromCamera{X}=view*worldPos;\x0afor\x20(int\x20i=0;\x20i,\x0a#ifdef\x20MULTIVIEW\x0aviewProjectionR\x20:\x20mat4x4,\x0a#endif\x20\x0aview\x20:\x20mat4x4,\x0aprojection\x20:\x20mat4x4,\x0avEyePosition\x20:\x20vec4,\x0a};\x0avar\x20scene\x20:\x20Scene;\x0a','TEXTURE_EXPLICIT_MODE','sampler2DArrayShadow','MATERIAL_LineStripDrawMode','positionUVW','popDebugGroup','IsImageBitmapArray','resetTextureCache','multiview\x20rtt','RG16Sint','previous','BACK','shadowMapUboDeclaration','ssDiffusionD','_bindGroups','heightRange','vec4\x20pack(float\x20depth)\x0a{\x0aconst\x20vec4\x20bit_shift=vec4(255.0*255.0*255.0,255.0*255.0,255.0,1.0);\x0aconst\x20vec4\x20bit_mask=vec4(0.0,1.0/255.0,1.0/255.0,1.0/255.0);\x0avec4\x20res=fract(depth*bit_shift);\x0ares-=res.xxyz*bit_mask;\x0areturn\x20res;\x0a}\x0afloat\x20unpack(vec4\x20color)\x0a{\x0aconst\x20vec4\x20bit_shift=vec4(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);\x0areturn\x20dot(color,bit_shift);\x0a}','#ifdef\x20CLIPPLANE\x0afClipDistance=dot(worldPos,vClipPlane);\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0afClipDistance2=dot(worldPos,vClipPlane2);\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0afClipDistance3=dot(worldPos,vClipPlane3);\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0afClipDistance4=dot(worldPos,vClipPlane4);\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0afClipDistance5=dot(worldPos,vClipPlane5);\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0afClipDistance6=dot(worldPos,vClipPlane6);\x0a#endif\x0a','pixelStorei','TEXTURE0','updateVideoTexture','pbrPixelShader','uniform\x20float\x20particleAlpha;\x0avarying\x20vec2\x20uv;\x0avarying\x20vec3\x20diffuseColor;\x0avoid\x20main(void)\x20{\x0avec3\x20normal;\x0anormal.xy=uv*2.0-1.0;\x0afloat\x20r2=dot(normal.xy,normal.xy);\x0aif\x20(r2>1.0)\x20discard;\x0aglFragColor=vec4(diffuseColor,1.0);\x0a}\x0a','s3tc','#include(_DEFINENAME_,ALBEDO,_VARYINGNAME_,Albedo,_SAMPLERNAME_,albedo)\x0a#include(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient,_SAMPLERNAME_,ambient)\x0a#include(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity,_SAMPLERNAME_,opacity)\x0a#include(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive,_SAMPLERNAME_,emissive)\x0a#include(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap,_SAMPLERNAME_,lightmap)\x0a#include(_DEFINENAME_,REFLECTIVITY,_VARYINGNAME_,Reflectivity,_SAMPLERNAME_,reflectivity)\x0a#include(_DEFINENAME_,MICROSURFACEMAP,_VARYINGNAME_,MicroSurfaceSampler,_SAMPLERNAME_,microSurface)\x0a#include(_DEFINENAME_,METALLIC_REFLECTANCE,_VARYINGNAME_,MetallicReflectance,_SAMPLERNAME_,metallicReflectance)\x0a#include(_DEFINENAME_,REFLECTANCE,_VARYINGNAME_,Reflectance,_SAMPLERNAME_,reflectance)\x0a#include(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal,_SAMPLERNAME_,decal)\x0a#ifdef\x20CLEARCOAT\x0a#include(_DEFINENAME_,CLEARCOAT_TEXTURE,_VARYINGNAME_,ClearCoat,_SAMPLERNAME_,clearCoat)\x0a#include(_DEFINENAME_,CLEARCOAT_TEXTURE_ROUGHNESS,_VARYINGNAME_,ClearCoatRoughness)\x0a#if\x20defined(CLEARCOAT_TEXTURE_ROUGHNESS)\x20&&\x20!defined(CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL)\x0auniform\x20sampler2D\x20clearCoatRoughnessSampler;\x0a#endif\x0a#include(_DEFINENAME_,CLEARCOAT_BUMP,_VARYINGNAME_,ClearCoatBump,_SAMPLERNAME_,clearCoatBump)\x0a#include(_DEFINENAME_,CLEARCOAT_TINT_TEXTURE,_VARYINGNAME_,ClearCoatTint,_SAMPLERNAME_,clearCoatTint)\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0a#include(_DEFINENAME_,IRIDESCENCE_TEXTURE,_VARYINGNAME_,Iridescence,_SAMPLERNAME_,iridescence)\x0a#include(_DEFINENAME_,IRIDESCENCE_THICKNESS_TEXTURE,_VARYINGNAME_,IridescenceThickness,_SAMPLERNAME_,iridescenceThickness)\x0a#endif\x0a#ifdef\x20SHEEN\x0a#include(_DEFINENAME_,SHEEN_TEXTURE,_VARYINGNAME_,Sheen,_SAMPLERNAME_,sheen)\x0a#include(_DEFINENAME_,SHEEN_TEXTURE_ROUGHNESS,_VARYINGNAME_,SheenRoughness)\x0a#if\x20defined(SHEEN_ROUGHNESS)\x20&&\x20defined(SHEEN_TEXTURE_ROUGHNESS)\x20&&\x20!defined(SHEEN_TEXTURE_ROUGHNESS_IDENTICAL)\x0auniform\x20sampler2D\x20sheenRoughnessSampler;\x0a#endif\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0a#include(_DEFINENAME_,ANISOTROPIC_TEXTURE,_VARYINGNAME_,Anisotropy,_SAMPLERNAME_,anisotropy)\x0a#endif\x0a#ifdef\x20REFLECTION\x0a#ifdef\x20REFLECTIONMAP_3D\x0a#define\x20sampleReflection(s,c)\x20textureCube(s,c)\x0auniform\x20samplerCube\x20reflectionSampler;\x0a#ifdef\x20LODBASEDMICROSFURACE\x0a#define\x20sampleReflectionLod(s,c,l)\x20textureCubeLodEXT(s,c,l)\x0a#else\x0auniform\x20samplerCube\x20reflectionSamplerLow;\x0auniform\x20samplerCube\x20reflectionSamplerHigh;\x0a#endif\x0a#ifdef\x20USEIRRADIANCEMAP\x0auniform\x20samplerCube\x20irradianceSampler;\x0a#endif\x0a#else\x0a#define\x20sampleReflection(s,c)\x20texture2D(s,c)\x0auniform\x20sampler2D\x20reflectionSampler;\x0a#ifdef\x20LODBASEDMICROSFURACE\x0a#define\x20sampleReflectionLod(s,c,l)\x20texture2DLodEXT(s,c,l)\x0a#else\x0auniform\x20sampler2D\x20reflectionSamplerLow;\x0auniform\x20sampler2D\x20reflectionSamplerHigh;\x0a#endif\x0a#ifdef\x20USEIRRADIANCEMAP\x0auniform\x20sampler2D\x20irradianceSampler;\x0a#endif\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avarying\x20vec3\x20vPositionUVW;\x0a#else\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avarying\x20vec3\x20vDirectionW;\x0a#endif\x0a#endif\x0a#endif\x0a#ifdef\x20ENVIRONMENTBRDF\x0auniform\x20sampler2D\x20environmentBrdfSampler;\x0a#endif\x0a#ifdef\x20SUBSURFACE\x0a#ifdef\x20SS_REFRACTION\x0a#ifdef\x20SS_REFRACTIONMAP_3D\x0a#define\x20sampleRefraction(s,c)\x20textureCube(s,c)\x0auniform\x20samplerCube\x20refractionSampler;\x0a#ifdef\x20LODBASEDMICROSFURACE\x0a#define\x20sampleRefractionLod(s,c,l)\x20textureCubeLodEXT(s,c,l)\x0a#else\x0auniform\x20samplerCube\x20refractionSamplerLow;\x0auniform\x20samplerCube\x20refractionSamplerHigh;\x0a#endif\x0a#else\x0a#define\x20sampleRefraction(s,c)\x20texture2D(s,c)\x0auniform\x20sampler2D\x20refractionSampler;\x0a#ifdef\x20LODBASEDMICROSFURACE\x0a#define\x20sampleRefractionLod(s,c,l)\x20texture2DLodEXT(s,c,l)\x0a#else\x0auniform\x20sampler2D\x20refractionSamplerLow;\x0auniform\x20sampler2D\x20refractionSamplerHigh;\x0a#endif\x0a#endif\x0a#endif\x0a#include(_DEFINENAME_,SS_THICKNESSANDMASK_TEXTURE,_VARYINGNAME_,Thickness,_SAMPLERNAME_,thickness)\x0a#include(_DEFINENAME_,SS_REFRACTIONINTENSITY_TEXTURE,_VARYINGNAME_,RefractionIntensity,_SAMPLERNAME_,refractionIntensity)\x0a#include(_DEFINENAME_,SS_TRANSLUCENCYINTENSITY_TEXTURE,_VARYINGNAME_,TranslucencyIntensity,_SAMPLERNAME_,translucencyIntensity)\x0a#endif\x0a','(-yFactor_)*dFdy','texImage3D','ssDiffusionS','_isStencilTestDirty','getInputElement','isTextureArray','pbrBlockFinalLitComponents','POLYGON_OFFSET_FILL','_alphaEquation','precision\x20mediump\x20float','isWebGPU','onSizeChangedObservable','multiview','diffusionD','useCache','GL_ALPHA_EQUATION_SUBTRACT','catch','#ifdef\x20IMAGEPROCESSINGPOSTPROCESS\x0agl_FragColor.rgb=pow(gl_FragColor.rgb,vec3(2.2));\x0a#endif\x0a','vrPresentationAttributes','_lines','reflectionCoords','_onVRFullScreenTriggered','vClipPlane6','_growArray','bind','NAME_PARTICLESYSTEM','notConnectedNonOptionalInputs','query','_device','foveationLevel','_applyTextureArrayProcessing','pbrFragmentExtraDeclaration','_step','gl_InstanceIndex','_varyingNamesWGSL','_keyTemp','updateMatrices','ACTION_OnPickOutTrigger','compressedTexImage3D','isVRPresenting','_halfDomeMask','_count','rotate','_Counter','#ifdef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0auniform\x20float\x20bakedVertexAnimationTime;\x0auniform\x20vec2\x20bakedVertexAnimationTextureSizeInverted;\x0auniform\x20vec4\x20bakedVertexAnimationSettings;\x0auniform\x20sampler2D\x20bakedVertexAnimationTexture;\x0a#ifdef\x20INSTANCES\x0aattribute\x20vec4\x20bakedVertexAnimationSettingsInstanced;\x0a#endif\x0a#define\x20inline\x0amat4\x20readMatrixFromRawSamplerVAT(sampler2D\x20smp,float\x20index,float\x20frame)\x0a{\x0afloat\x20offset=index*4.0;\x0afloat\x20frameUV=(frame+0.5)*bakedVertexAnimationTextureSizeInverted.y;\x0afloat\x20dx=bakedVertexAnimationTextureSizeInverted.x;\x0avec4\x20m0=texture2D(smp,vec2(dx*(offset+0.5),frameUV));\x0avec4\x20m1=texture2D(smp,vec2(dx*(offset+1.5),frameUV));\x0avec4\x20m2=texture2D(smp,vec2(dx*(offset+2.5),frameUV));\x0avec4\x20m3=texture2D(smp,vec2(dx*(offset+3.5),frameUV));\x0areturn\x20mat4(m0,m1,m2,m3);\x0a}\x0a#endif\x0a','ASTC4x4UnormSRGB','normal','setFrontFace','vrMultiviewToSingleviewPixelShader','onBeforePhysicsObservable','join','_rebuildComputeEffects','framebufferTextureMultiviewOVR','ASTC5x4UnormSRGB','_setTarget','draw','mixVertexShader','_previousStartingPointerTime','GetIndividualParser','_depthRTWrapper','Vertex','RGBA8UnormSRGB','halfDome','MATERIAL_LineLoopDrawMode','isAnimationSheetEnabled','_allocateNewIndices','ALPHA_PREMULTIPLIED_PORTERDUFF','renderTargets','get','TransformCoordinatesToRef','TEXTURETYPE_INT','_tempVector','externalTextureSamplerBinding','_SceneComponentInitialization','_alreadyAttachedTo','loadCubeData','getPhysicsEngine','_drawWrapperBase','decalVertexDeclaration','SetData','TEXTUREFORMAT_COMPRESSED_RGB_ETC1_WEBGL','Generate\x20only\x20fragment\x20code','setCommandEncoder','version','MouseWheelZ','log','pbrVertexShader','BC5RGUnorm','CylinderDirectedParticleEmitter','Stencil8','float\x20reflectance=max(max(reflectivityOut.surfaceReflectivityColor.r,reflectivityOut.surfaceReflectivityColor.g),reflectivityOut.surfaceReflectivityColor.b);\x0avec3\x20specularEnvironmentR0=reflectivityOut.surfaceReflectivityColor.rgb;\x0a#ifdef\x20METALLICWORKFLOW\x0avec3\x20specularEnvironmentR90=vec3(metallicReflectanceFactors.a);\x0a#else\x20\x0avec3\x20specularEnvironmentR90=vec3(1.0,1.0,1.0);\x0a#endif\x0a#ifdef\x20ALPHAFRESNEL\x0afloat\x20reflectance90=fresnelGrazingReflectance(reflectance);\x0aspecularEnvironmentR90=specularEnvironmentR90*reflectance90;\x0a#endif\x0a','queue','mag','_blurTextureSizeX','_userThinInstanceBuffersStorage','precision\x20highp\x20float;\x0a#ifdef\x20LOGARITHMICDEPTH\x0a#extension\x20GL_EXT_frag_depth\x20:\x20enable\x0a#endif\x0auniform\x20sampler2D\x20diffuseSampler;\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec4\x20vColor;\x0a#include\x20\x0a#include\x0a#include\x0a#include\x0a#include\x0avoid\x20main()\x20{\x0a#include\x20\x0avec4\x20textureColor=texture2D(diffuseSampler,vUV);\x0agl_FragColor=textureColor*vColor;\x0a#ifdef\x20BLENDMULTIPLYMODE\x0afloat\x20alpha=vColor.a*textureColor.a;\x0agl_FragColor.rgb=gl_FragColor.rgb*alpha+vec3(1.0)*(1.0-alpha);\x0a#endif\x20\x0a#include\x0a#ifdef\x20IMAGEPROCESSINGPOSTPROCESS\x0agl_FragColor.rgb=toLinearSpace(gl_FragColor.rgb);\x0a#else\x0a#ifdef\x20IMAGEPROCESSING\x0agl_FragColor.rgb=toLinearSpace(gl_FragColor.rgb);\x0agl_FragColor=applyImageProcessing(gl_FragColor);\x0a#endif\x0a#endif\x0a}\x0a','BuildArray','particleSystems','_areLightsDirty','_isBlendEquationParametersDirty','previousMatrixBuffer','getUniqueId','inlineShaderCode','RG8Unorm','framebufferTexture2D','renderPriority','modelDataLength','copyVideoToTexture','_meshPickProceed','fogVertex','SubSurfaceSceneComponent','opDepthFail','getMeshUnderPointerByPointerId','MipMap','getMSAATexture','motionBlurPixelShader','cameraPosition','releaseMSAARenderBuffers','CopyDst','ACTION_OnKeyDownTrigger','querySet','\x0a\x20\x20\x20\x20layout(set\x20=\x200,\x20binding\x20=\x200)\x20uniform\x20sampler\x20imgSampler;\x0a\x20\x20\x20\x20layout(set\x20=\x200,\x20binding\x20=\x201)\x20uniform\x20texture2D\x20img;\x0a\x0a\x20\x20\x20\x20layout(location\x20=\x200)\x20in\x20vec2\x20vTex;\x0a\x20\x20\x20\x20layout(location\x20=\x200)\x20out\x20vec4\x20outColor;\x0a\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20outColor\x20=\x20texture(sampler2D(img,\x20imgSampler),\x20vTex);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','volumetricLightScatteringPixelShader','pbrBlockLightmapInit','ref','computeDispatch','_webGLTexture','_perfCollector','geometryVertexDeclaration','createRenderTargetTextureProvider','then','_name','>,\x0a','UNPACK_PREMULTIPLY_ALPHA_WEBGL','attribute\x20vec2\x20position;\x0auniform\x20vec2\x20scale;\x0auniform\x20vec2\x20offset;\x0auniform\x20mat4\x20textureMatrix;\x0avarying\x20vec2\x20vUV;\x0aconst\x20vec2\x20madd=vec2(0.5,0.5);\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avec2\x20shiftedPosition=position*scale+offset;\x0avUV=vec2(textureMatrix*vec4(shiftedPosition*madd+madd,1.0,0.0));\x0agl_Position=vec4(shiftedPosition,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','precision\x20highp\x20float;\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20normalSampler;\x0auniform\x20float\x20curvature_ridge;\x0auniform\x20float\x20curvature_valley;\x0a#ifndef\x20CURVATURE_OFFSET\x0a#define\x20CURVATURE_OFFSET\x201\x0a#endif\x0afloat\x20curvature_soft_clamp(float\x20curvature,float\x20control)\x0a{\x0aif\x20(curvature<0.5/control)\x0areturn\x20curvature*(1.0-curvature*control);\x0areturn\x200.25/control;\x0a}\x0afloat\x20calculate_curvature(ivec2\x20texel,float\x20ridge,float\x20valley)\x0a{\x0avec2\x20normal_up\x20=texelFetch(normalSampler,texel+ivec2(0,\x20CURVATURE_OFFSET),0).rb;\x0avec2\x20normal_down\x20=texelFetch(normalSampler,texel+ivec2(0,-CURVATURE_OFFSET),0).rb;\x0avec2\x20normal_left\x20=texelFetch(normalSampler,texel+ivec2(-CURVATURE_OFFSET,0),0).rb;\x0avec2\x20normal_right=texelFetch(normalSampler,texel+ivec2(\x20CURVATURE_OFFSET,0),0).rb;\x0afloat\x20normal_diff=((normal_up.g-normal_down.g)+(normal_right.r-normal_left.r));\x0aif\x20(normal_diff<0.0)\x0areturn\x20-2.0*curvature_soft_clamp(-normal_diff,valley);\x0areturn\x202.0*curvature_soft_clamp(normal_diff,ridge);\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0aivec2\x20texel=ivec2(gl_FragCoord.xy);\x0avec4\x20baseColor=texture2D(textureSampler,vUV);\x0afloat\x20curvature=calculate_curvature(texel,curvature_ridge,curvature_valley);\x0abaseColor.rgb*=curvature+1.0;\x0agl_FragColor=baseColor;\x0a}','mapAsync','RGBA16Sint','_createMultiviewUbo','float\x20NdotVUnclamped=dot(normalW,viewDirectionW);\x0afloat\x20NdotV=absEps(NdotVUnclamped);\x0afloat\x20alphaG=convertRoughnessToAverageSlope(roughness);\x0avec2\x20AARoughnessFactors=getAARoughnessFactors(normalW.xyz);\x0a#ifdef\x20SPECULARAA\x0aalphaG+=AARoughnessFactors.y;\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x0avec3\x20environmentBrdf=getBRDFLookup(NdotV,roughness);\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0a#ifdef\x20RADIANCEOCCLUSION\x0a#ifdef\x20AMBIENTINGRAYSCALE\x0afloat\x20ambientMonochrome=aoOut.ambientOcclusionColor.r;\x0a#else\x0afloat\x20ambientMonochrome=getLuminance(aoOut.ambientOcclusionColor);\x0a#endif\x0afloat\x20seo=environmentRadianceOcclusion(ambientMonochrome,NdotVUnclamped);\x0a#endif\x0a#ifdef\x20HORIZONOCCLUSION\x0a#ifdef\x20BUMP\x0a#ifdef\x20REFLECTIONMAP_3D\x0afloat\x20eho=environmentHorizonOcclusion(-viewDirectionW,normalW,geometricNormalW);\x0a#endif\x0a#endif\x0a#endif\x0a#endif\x0a','WGSL','ssDiffusionProfileColors','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec4\x20color;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0avec4\x20baseColor=texture2D(textureSampler,vUV);\x0agl_FragColor=baseColor*color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','removePendingData','matricesIndices','HALF_FLOAT','_onPointerUp','_readTexturePixelsSync','setFloat3','deleteQuery','_bundleList','fluidRenderingParticleDepthPixelShader','_fillEffectInformation','iridescenceOutParams\x20iridescenceOut;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20IRIDESCENCE\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20iridescenceBlock(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4(','bindAttachments','simulatePointerDown','rttBlurred','postprocessVertexShader','BrowserForward','void\x20main(','Render\x20to\x20half\x20float\x20textures\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20forced\x20to\x20false.','pbrVertexDeclaration','_WEBGL','gpuFrameTimeCounter','_activeCamera','_GetEffectCreationOptions','RGB_INTEGER\x20format\x20not\x20supported\x20in\x20WebGPU','TEXTURETYPE_UNSIGNED_INT_2_10_10_10_REV','updateInt','ConvertCubeMapTextureToSphericalPolynomial','min','#ifdef\x20FOG\x0avFogDistance=(view*worldPos).xyz;\x0a#endif\x0a','start','setAll','_lastBuffer','requestPointerLock','#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0alayout(location=0)\x20out\x20vec4\x20glFragData[{X}];\x0a#endif\x0a','_isZOffsetDirty','_radius','floor','#ifdef\x20_DEFINENAME_\x0a#if\x20_DEFINENAME_DIRECTUV==1\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV1\x0a#elif\x20_DEFINENAME_DIRECTUV==2\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV2\x0a#elif\x20_DEFINENAME_DIRECTUV==3\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV3\x0a#elif\x20_DEFINENAME_DIRECTUV==4\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV4\x0a#elif\x20_DEFINENAME_DIRECTUV==5\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV5\x0a#elif\x20_DEFINENAME_DIRECTUV==6\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV6\x0a#else\x0avarying\x20vec2\x20v_VARYINGNAME_UV;\x0a#endif\x0a#endif\x0a','_blurTextureFormat','REFLECTIONMAP_EQUIRECTANGULAR_FIXED','#ifdef\x20FRESNEL\x0afloat\x20computeFresnelTerm(vec3\x20viewDirection,vec3\x20worldNormal,float\x20bias,float\x20power)\x0a{\x0afloat\x20fresnelTerm=pow(bias+abs(dot(viewDirection,worldNormal)),power);\x0areturn\x20clamp(fresnelTerm,0.,1.);\x0a}\x0a#endif\x0a','getContext','_doNotHandleContextLost','uv4','-astc.ktx','#ifdef\x20DECAL\x0auniform\x20vec4\x20vDecalInfos;\x0a#endif\x0a','_zOffsetUnits','_previousStartingPointerPosition','shadowMapFragmentExtraDeclaration','TEXTUREFORMAT_DEPTH24_STENCIL8','emitFromSpawnPointOnly','_positionUVWName','layout(set\x20=\x20','struct\x20FragmentOutputs\x20{\x0a\x20\x20@location(0)\x20color\x20:\x20vec4,\x0a','_isMultiTouchGesture','postfixToInfix','renderPass','samplerNames','copyBufferToBuffer','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0agl_FragColor=toRGBD(texture2D(textureSampler,vUV).rgb);\x0a}','4jNMqgS','depthTextureFormat','removeEventListener','func','_prefiltered','_transformMatrixR','beginComputePass','No\x20Physics\x20Body\x20for\x20TransformNode','_initTexture','texture2DArray','_loadFile','_record','uniformBlockBinding','_processCustomBuffers','_releaseBuffer','getBindGroupLayout','standardPixelShader','hints','direction1','_listLength','createJoint','convertSpirV2WGSL','createSceneUniformBuffer','updateVector4','TEXTURE_CUBIC_MODE','FRAMEBUFFER','restoreSingleAttachment','initializeShaders','setArray4','TEXTUREFORMAT_DEPTH16','Int','createComputeEffect','getDiffusionProfileParameters','observable','setBuffer','shadowOnlyVertexShader','#ifdef\x20_DEFINENAME_\x0a#if\x20_DEFINENAME_DIRECTUV==1\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV1\x0a#elif\x20_DEFINENAME_DIRECTUV==2\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV2\x0a#elif\x20_DEFINENAME_DIRECTUV==3\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV3\x0a#elif\x20_DEFINENAME_DIRECTUV==4\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV4\x0a#elif\x20_DEFINENAME_DIRECTUV==5\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV5\x0a#elif\x20_DEFINENAME_DIRECTUV==6\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV6\x0a#else\x0avarying\x20vec2\x20v_VARYINGNAME_UV;\x0a#endif\x0auniform\x20sampler2D\x20_SAMPLERNAME_Sampler;\x0a#endif\x0a','updateTexture','reflectionTexture','_swipeButtonPressed','_hardwareTexture','_physicsEngine','bufferData','pbrBlockNormalFinal','createQuery','_startingPointerTime','colorVertexShader','oitBackBlendPixelShader','keyup','ALPHA_REVERSEONEMINUS','ShadersStore','unBindMultiColorAttachmentFramebuffer','_swapRenderTargetWrapper','parts','_processStridedUniformArrays','precision\x20highp\x20float;attribute\x20vec3\x20position;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include\x0a#include\x0a#include\x0auniform\x20mat4\x20view;uniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include\x0a#include\x0auniform\x20float\x20time;uniform\x20float\x20speed;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDistortionCoords1;varying\x20vec2\x20vDistortionCoords2;varying\x20vec2\x20vDistortionCoords3;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include\x0a#include\x0a#include\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);gl_Position=viewProjection*worldPos;vPositionW=vec3(worldPos);\x0a#ifdef\x20DIFFUSE\x0avDiffuseUV=uv;vDiffuseUV.y-=0.2;\x0a#endif\x0a#include\x0a#include\x0a#include\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#ifdef\x20DIFFUSE\x0avec3\x20layerSpeed=vec3(-0.2,-0.52,-0.1)*speed;vDistortionCoords1.x=uv.x;vDistortionCoords1.y=uv.y+layerSpeed.x*time/1000.0;vDistortionCoords2.x=uv.x;vDistortionCoords2.y=uv.y+layerSpeed.y*time/1000.0;vDistortionCoords3.x=uv.x;vDistortionCoords3.y=uv.y+layerSpeed.z*time/1000.0;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','fogVertexDeclaration','!true','POINTERWHEEL','#ifdef\x20FOG\x0avarying\x20vec3\x20vFogDistance;\x0a#endif\x0a','TEXTUREFORMAT_LUMINANCE_ALPHA','MATERIAL_TriangleFillMode','clipPlane','getWidth','setLayerAndFaceIndices','NodeMaterial\x20does\x20not\x20have\x20a\x20fragment\x20output.\x20You\x20need\x20to\x20at\x20least\x20add\x20a\x20block\x20that\x20generates\x20a\x20glFragColor\x20value.\x0d\x0a','copyFromFloats','currentLine','leftOver-','webVR\x20submitFrame\x20has\x20had\x20an\x20unexpected\x20failure:\x20','writeOutputs','TEXTURETYPE_UNSIGNED_INT_10F_11F_11F_REV\x20format\x20not\x20supported\x20in\x20WebGPU','_animationStarted','BABYLON.ReflectionTextureBaseBlock','_bonesComputationForcedToCPU','meshes','blocksWithFallbacks','refreshBoundingInfo','endOcclusionQuery','incrementReferences','#ifdef\x20MORPHTARGETS\x0a#ifdef\x20MORPHTARGETS_TEXTURE\x20\x0avertexID=float(gl_VertexID)*morphTargetTextureInfo.x;\x0apositionUpdated+=(readVector3FromRawSampler({X},vertexID)-position)*morphTargetInfluences[{X}];\x0avertexID+=1.0;\x0a#ifdef\x20MORPHTARGETS_NORMAL\x0anormalUpdated+=(readVector3FromRawSampler({X},vertexID)\x20-normal)*morphTargetInfluences[{X}];\x0avertexID+=1.0;\x0a#endif\x0a#ifdef\x20MORPHTARGETS_UV\x0auvUpdated+=(readVector3FromRawSampler({X},vertexID).xy-uv)*morphTargetInfluences[{X}];\x0avertexID+=1.0;\x0a#endif\x0a#ifdef\x20MORPHTARGETS_TANGENT\x0atangentUpdated.xyz+=(readVector3FromRawSampler({X},vertexID)\x20-tangent.xyz)*morphTargetInfluences[{X}];\x0a#endif\x0a#else\x0apositionUpdated+=(position{X}-position)*morphTargetInfluences[{X}];\x0a#ifdef\x20MORPHTARGETS_NORMAL\x0anormalUpdated+=(normal{X}-normal)*morphTargetInfluences[{X}];\x0a#endif\x0a#ifdef\x20MORPHTARGETS_TANGENT\x0atangentUpdated.xyz+=(tangent{X}-tangent.xyz)*morphTargetInfluences[{X}];\x0a#endif\x0a#ifdef\x20MORPHTARGETS_UV\x0auvUpdated+=(uv_{X}-uv)*morphTargetInfluences[{X}];\x0a#endif\x0a#endif\x0a#endif\x0a','POINTERPICK','irradianceSampler','uniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vPrimaryColor;\x0a#ifdef\x20USEHIGHLIGHTANDSHADOWCOLORS\x0auniform\x20vec4\x20vPrimaryColorShadow;\x0a#endif\x0auniform\x20float\x20shadowLevel;\x0auniform\x20float\x20alpha;\x0a#ifdef\x20DIFFUSE\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20REFLECTION\x0auniform\x20vec2\x20vReflectionInfos;\x0auniform\x20mat4\x20reflectionMatrix;\x0auniform\x20vec3\x20vReflectionMicrosurfaceInfos;\x0a#endif\x0a#if\x20defined(REFLECTIONFRESNEL)\x20||\x20defined(OPACITYFRESNEL)\x0auniform\x20vec3\x20vBackgroundCenter;\x0a#endif\x0a#ifdef\x20REFLECTIONFRESNEL\x0auniform\x20vec4\x20vReflectionControl;\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_SPHERICAL)\x20||\x20defined(REFLECTIONMAP_PROJECTION)\x20||\x20defined(REFRACTION)\x0auniform\x20mat4\x20view;\x0a#endif\x0a','RGB\x20format\x20not\x20supported\x20in\x20WebGPU','minimum','direction2','push','setCompressedTextureExclusions','renderTarget','_depthFunc','ASTC12x10UnormSRGB','_textures','morphTargetsVertexDeclaration','hdrFilteringPixelShader','_videoSampler','setUIntArray','process',')\x20in\x20','_isFrontFaceDirty','{X}','setUInt2','offlineProvider','setAlphaEquationParameters','pointerup','_appendSpriteVertex','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0aattribute\x20vec3\x20normal;\x0aattribute\x20vec2\x20uv;\x0auniform\x20mat4\x20projMatrix;\x0avarying\x20vec2\x20vDecalTC;\x0a#include\x0a#include\x0a#include\x0a#include[0..maxSimultaneousMorphTargets]\x0a#include\x0avoid\x20main(void)\x20{\x0avec3\x20positionUpdated=position;\x0avec3\x20normalUpdated=normal;\x0a#include\x0a#include[0..maxSimultaneousMorphTargets]\x0a#include\x0a#include\x0a#include\x0avec4\x20worldPos=finalWorld*vec4(positionUpdated,1.0);\x0amat3\x20normWorldSM=mat3(finalWorld);\x0avec3\x20vNormalW;\x0a#if\x20defined(INSTANCES)\x20&&\x20defined(THIN_INSTANCES)\x0avNormalW=normalUpdated/vec3(dot(normWorldSM[0],normWorldSM[0]),dot(normWorldSM[1],normWorldSM[1]),dot(normWorldSM[2],normWorldSM[2]));\x0avNormalW=normalize(normWorldSM*vNormalW);\x0a#else\x0a#ifdef\x20NONUNIFORMSCALING\x0anormWorldSM=transposeMat3(inverseMat3(normWorldSM));\x0a#endif\x0avNormalW=normalize(normWorldSM*normalUpdated);\x0a#endif\x0avec3\x20normalView=normalize((projMatrix*vec4(vNormalW,0.0)).xyz);\x0avec3\x20decalTC=(projMatrix*worldPos).xyz;\x0avDecalTC=decalTC.xy;\x0agl_Position=vec4(uv*2.0-1.0,normalView.z>0.0\x20?\x202.\x20:\x20decalTC.z,1.0);\x0a}\x0a','UniformSizes','generateOnlyFragmentCode','RG16Uint','_addSamplerBindingDescription','\x20\x20return\x20fragmentOutputs;','copyFrom','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20leftSampler;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec4\x20leftFrag=texture2D(leftSampler,vUV);\x0aleftFrag=vec4(1.0,leftFrag.g,leftFrag.b,1.0);\x0avec4\x20rightFrag=texture2D(textureSampler,vUV);\x0arightFrag=vec4(rightFrag.r,1.0,1.0,1.0);\x0agl_FragColor=vec4(rightFrag.rgb*leftFrag.rgb,1.0);\x0a}','TEXTURETYPE_UNSIGNED_SHORT_5_5_5_1','#ifdef\x20REFLECTION\x0astruct\x20reflectionOutParams\x0a{\x0avec4\x20environmentRadiance;\x0avec3\x20environmentIrradiance;\x0a#ifdef\x20REFLECTIONMAP_3D\x0avec3\x20reflectionCoords;\x0a#else\x0avec2\x20reflectionCoords;\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCY\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#if\x20!defined(NORMAL)\x20||\x20!defined(USESPHERICALINVERTEX)\x0avec3\x20irradianceVector;\x0a#endif\x0a#endif\x0a#endif\x0a};\x0a#define\x20pbr_inline\x0avoid\x20createReflectionCoords(\x0ain\x20vec3\x20vPositionW,\x0ain\x20vec3\x20normalW,\x0a#ifdef\x20ANISOTROPIC\x0ain\x20anisotropicOutParams\x20anisotropicOut,\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0aout\x20vec3\x20reflectionCoords\x0a#else\x0aout\x20vec2\x20reflectionCoords\x0a#endif\x0a)\x0a{\x0a#ifdef\x20ANISOTROPIC\x0avec3\x20reflectionVector=computeReflectionCoords(vec4(vPositionW,1.0),anisotropicOut.anisotropicNormal);\x0a#else\x0avec3\x20reflectionVector=computeReflectionCoords(vec4(vPositionW,1.0),normalW);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_OPPOSITEZ\x0areflectionVector.z*=-1.0;\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0areflectionCoords=reflectionVector;\x0a#else\x0areflectionCoords=reflectionVector.xy;\x0a#ifdef\x20REFLECTIONMAP_PROJECTION\x0areflectionCoords/=reflectionVector.z;\x0a#endif\x0areflectionCoords.y=1.0-reflectionCoords.y;\x0a#endif\x0a}\x0a#define\x20pbr_inline\x0a#define\x20inline\x0avoid\x20sampleReflectionTexture(\x0ain\x20float\x20alphaG,\x0ain\x20vec3\x20vReflectionMicrosurfaceInfos,\x0ain\x20vec2\x20vReflectionInfos,\x0ain\x20vec3\x20vReflectionColor,\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0ain\x20float\x20NdotVUnclamped,\x0a#endif\x0a#ifdef\x20LINEARSPECULARREFLECTION\x0ain\x20float\x20roughness,\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSampler,\x0aconst\x20vec3\x20reflectionCoords,\x0a#else\x0ain\x20sampler2D\x20reflectionSampler,\x0aconst\x20vec2\x20reflectionCoords,\x0a#endif\x0a#ifndef\x20LODBASEDMICROSFURACE\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSamplerLow,\x0ain\x20samplerCube\x20reflectionSamplerHigh,\x0a#else\x0ain\x20sampler2D\x20reflectionSamplerLow,\x0ain\x20sampler2D\x20reflectionSamplerHigh,\x0a#endif\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0ain\x20vec2\x20vReflectionFilteringInfo,\x0a#endif\x0aout\x20vec4\x20environmentRadiance\x0a)\x0a{\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0afloat\x20reflectionLOD=getLodFromAlphaG(vReflectionMicrosurfaceInfos.x,alphaG,NdotVUnclamped);\x0a#elif\x20defined(LINEARSPECULARREFLECTION)\x0afloat\x20reflectionLOD=getLinearLodFromRoughness(vReflectionMicrosurfaceInfos.x,roughness);\x0a#else\x0afloat\x20reflectionLOD=getLodFromAlphaG(vReflectionMicrosurfaceInfos.x,alphaG);\x0a#endif\x0a#ifdef\x20LODBASEDMICROSFURACE\x0areflectionLOD=reflectionLOD*vReflectionMicrosurfaceInfos.y+vReflectionMicrosurfaceInfos.z;\x0a#ifdef\x20LODINREFLECTIONALPHA\x0afloat\x20automaticReflectionLOD=UNPACK_LOD(sampleReflection(reflectionSampler,reflectionCoords).a);\x0afloat\x20requestedReflectionLOD=max(automaticReflectionLOD,reflectionLOD);\x0a#else\x0afloat\x20requestedReflectionLOD=reflectionLOD;\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0aenvironmentRadiance=vec4(radiance(alphaG,reflectionSampler,reflectionCoords,vReflectionFilteringInfo),1.0);\x0a#else\x0aenvironmentRadiance=sampleReflectionLod(reflectionSampler,reflectionCoords,reflectionLOD);\x0a#endif\x0a#else\x0afloat\x20lodReflectionNormalized=saturate(reflectionLOD/log2(vReflectionMicrosurfaceInfos.x));\x0afloat\x20lodReflectionNormalizedDoubled=lodReflectionNormalized*2.0;\x0avec4\x20environmentMid=sampleReflection(reflectionSampler,reflectionCoords);\x0aif\x20(lodReflectionNormalizedDoubled<1.0){\x0aenvironmentRadiance=mix(\x0asampleReflection(reflectionSamplerHigh,reflectionCoords),\x0aenvironmentMid,\x0alodReflectionNormalizedDoubled\x0a);\x0a}\x20else\x20{\x0aenvironmentRadiance=mix(\x0aenvironmentMid,\x0asampleReflection(reflectionSamplerLow,reflectionCoords),\x0alodReflectionNormalizedDoubled-1.0\x0a);\x0a}\x0a#endif\x0a#ifdef\x20RGBDREFLECTION\x0aenvironmentRadiance.rgb=fromRGBD(environmentRadiance);\x0a#endif\x0a#ifdef\x20GAMMAREFLECTION\x0aenvironmentRadiance.rgb=toLinearSpace(environmentRadiance.rgb);\x0a#endif\x0aenvironmentRadiance.rgb*=vReflectionInfos.x;\x0aenvironmentRadiance.rgb*=vReflectionColor.rgb;\x0a}\x0a#define\x20pbr_inline\x0a#define\x20inline\x0avoid\x20reflectionBlock(\x0ain\x20vec3\x20vPositionW,\x0ain\x20vec3\x20normalW,\x0ain\x20float\x20alphaG,\x0ain\x20vec3\x20vReflectionMicrosurfaceInfos,\x0ain\x20vec2\x20vReflectionInfos,\x0ain\x20vec3\x20vReflectionColor,\x0a#ifdef\x20ANISOTROPIC\x0ain\x20anisotropicOutParams\x20anisotropicOut,\x0a#endif\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0ain\x20float\x20NdotVUnclamped,\x0a#endif\x0a#ifdef\x20LINEARSPECULARREFLECTION\x0ain\x20float\x20roughness,\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSampler,\x0a#else\x0ain\x20sampler2D\x20reflectionSampler,\x0a#endif\x0a#if\x20defined(NORMAL)\x20&&\x20defined(USESPHERICALINVERTEX)\x0ain\x20vec3\x20vEnvironmentIrradiance,\x0a#endif\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#if\x20!defined(NORMAL)\x20||\x20!defined(USESPHERICALINVERTEX)\x0ain\x20mat4\x20reflectionMatrix,\x0a#endif\x0a#endif\x0a#ifdef\x20USEIRRADIANCEMAP\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20irradianceSampler,\x0a#else\x0ain\x20sampler2D\x20irradianceSampler,\x0a#endif\x0a#endif\x0a#ifndef\x20LODBASEDMICROSFURACE\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSamplerLow,\x0ain\x20samplerCube\x20reflectionSamplerHigh,\x0a#else\x0ain\x20sampler2D\x20reflectionSamplerLow,\x0ain\x20sampler2D\x20reflectionSamplerHigh,\x0a#endif\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0ain\x20vec2\x20vReflectionFilteringInfo,\x0a#endif\x0aout\x20reflectionOutParams\x20outParams\x0a)\x0a{\x0avec4\x20environmentRadiance=vec4(0.,0.,0.,0.);\x0a#ifdef\x20REFLECTIONMAP_3D\x0avec3\x20reflectionCoords=vec3(0.);\x0a#else\x0avec2\x20reflectionCoords=vec2(0.);\x0a#endif\x0acreateReflectionCoords(\x0avPositionW,\x0anormalW,\x0a#ifdef\x20ANISOTROPIC\x0aanisotropicOut,\x0a#endif\x0areflectionCoords\x0a);\x0asampleReflectionTexture(\x0aalphaG,\x0avReflectionMicrosurfaceInfos,\x0avReflectionInfos,\x0avReflectionColor,\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0aNdotVUnclamped,\x0a#endif\x0a#ifdef\x20LINEARSPECULARREFLECTION\x0aroughness,\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0areflectionSampler,\x0areflectionCoords,\x0a#else\x0areflectionSampler,\x0areflectionCoords,\x0a#endif\x0a#ifndef\x20LODBASEDMICROSFURACE\x0areflectionSamplerLow,\x0areflectionSamplerHigh,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0avReflectionFilteringInfo,\x0a#endif\x0aenvironmentRadiance\x0a);\x0avec3\x20environmentIrradiance=vec3(0.,0.,0.);\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#if\x20defined(NORMAL)\x20&&\x20defined(USESPHERICALINVERTEX)\x0aenvironmentIrradiance=vEnvironmentIrradiance;\x0a#else\x0a#ifdef\x20ANISOTROPIC\x0avec3\x20irradianceVector=vec3(reflectionMatrix*vec4(anisotropicOut.anisotropicNormal,0)).xyz;\x0a#else\x0avec3\x20irradianceVector=vec3(reflectionMatrix*vec4(normalW,0)).xyz;\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_OPPOSITEZ\x0airradianceVector.z*=-1.0;\x0a#endif\x0a#ifdef\x20INVERTCUBICMAP\x0airradianceVector.y*=-1.0;\x0a#endif\x0a#if\x20defined(REALTIME_FILTERING)\x0aenvironmentIrradiance=irradiance(reflectionSampler,irradianceVector,vReflectionFilteringInfo);\x0a#else\x0aenvironmentIrradiance=computeEnvironmentIrradiance(irradianceVector);\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCY\x0aoutParams.irradianceVector=irradianceVector;\x0a#endif\x0a#endif\x0a#elif\x20defined(USEIRRADIANCEMAP)\x0avec4\x20environmentIrradiance4=sampleReflection(irradianceSampler,reflectionCoords);\x0aenvironmentIrradiance=environmentIrradiance4.rgb;\x0a#ifdef\x20RGBDREFLECTION\x0aenvironmentIrradiance.rgb=fromRGBD(environmentIrradiance4);\x0a#endif\x0a#ifdef\x20GAMMAREFLECTION\x0aenvironmentIrradiance.rgb=toLinearSpace(environmentIrradiance.rgb);\x0a#endif\x0a#endif\x0aenvironmentIrradiance*=vReflectionColor.rgb;\x0aoutParams.environmentRadiance=environmentRadiance;\x0aoutParams.environmentIrradiance=environmentIrradiance;\x0aoutParams.reflectionCoords=reflectionCoords;\x0a}\x0a#endif\x0a','bindTexture','_isDirty','input\x20','pick','physicsBody','decalFragmentDeclaration','startsWith','getBox','\x0a#define\x20BILLBOARD\x0a','onError','message','#include\x0a','NAME_PHYSICSENGINE','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0a#if\x20defined(INITIAL)\x0auniform\x20sampler2D\x20sourceTexture;\x0auniform\x20vec2\x20texSize;\x0avoid\x20main(void)\x0a{\x0aivec2\x20coord=ivec2(vUV*(texSize-1.0));\x0afloat\x20f1=texelFetch(sourceTexture,coord,0).r;\x0afloat\x20f2=texelFetch(sourceTexture,coord+ivec2(1,0),0).r;\x0afloat\x20f3=texelFetch(sourceTexture,coord+ivec2(1,1),0).r;\x0afloat\x20f4=texelFetch(sourceTexture,coord+ivec2(0,1),0).r;\x0afloat\x20minz=min(min(min(f1,f2),f3),f4);\x0a#ifdef\x20DEPTH_REDUX\x0afloat\x20maxz=max(max(max(sign(1.0-f1)*f1,sign(1.0-f2)*f2),sign(1.0-f3)*f3),sign(1.0-f4)*f4);\x0a#else\x0afloat\x20maxz=max(max(max(f1,f2),f3),f4);\x0a#endif\x0aglFragColor=vec4(minz,maxz,0.,0.);\x0a}\x0a#elif\x20defined(MAIN)\x0auniform\x20vec2\x20texSize;\x0avoid\x20main(void)\x0a{\x0aivec2\x20coord=ivec2(vUV*(texSize-1.0));\x0avec2\x20f1=texelFetch(textureSampler,coord,0).rg;\x0avec2\x20f2=texelFetch(textureSampler,coord+ivec2(1,0),0).rg;\x0avec2\x20f3=texelFetch(textureSampler,coord+ivec2(1,1),0).rg;\x0avec2\x20f4=texelFetch(textureSampler,coord+ivec2(0,1),0).rg;\x0afloat\x20minz=min(min(min(f1.x,f2.x),f3.x),f4.x);\x0afloat\x20maxz=max(max(max(f1.y,f2.y),f3.y),f4.y);\x0aglFragColor=vec4(minz,maxz,0.,0.);\x0a}\x0a#elif\x20defined(ONEBEFORELAST)\x0auniform\x20ivec2\x20texSize;\x0avoid\x20main(void)\x0a{\x0aivec2\x20coord=ivec2(vUV*vec2(texSize-1));\x0avec2\x20f1=texelFetch(textureSampler,coord\x20%\x20texSize,0).rg;\x0avec2\x20f2=texelFetch(textureSampler,(coord+ivec2(1,0))\x20%\x20texSize,0).rg;\x0avec2\x20f3=texelFetch(textureSampler,(coord+ivec2(1,1))\x20%\x20texSize,0).rg;\x0avec2\x20f4=texelFetch(textureSampler,(coord+ivec2(0,1))\x20%\x20texSize,0).rg;\x0afloat\x20minz=min(f1.x,f2.x);\x0afloat\x20maxz=max(f1.y,f2.y);\x0aglFragColor=vec4(minz,maxz,0.,0.);\x0a}\x0a#elif\x20defined(LAST)\x0avoid\x20main(void)\x0a{\x0aglFragColor=vec4(0.);\x0aif\x20(true)\x20{\x20\x0adiscard;\x0a}\x0a}\x0a#endif\x0a','R16Uint','Warn','precision\x20highp\x20float;\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20vec2\x20translationPivot;\x0auniform\x20vec3\x20worldOffset;\x0a#ifdef\x20LOCAL\x0auniform\x20mat4\x20emitterWM;\x0a#endif\x0aattribute\x20vec3\x20position;\x0aattribute\x20float\x20age;\x0aattribute\x20float\x20life;\x0aattribute\x20vec3\x20size;\x0a#ifndef\x20BILLBOARD\x0aattribute\x20vec3\x20initialDirection;\x0a#endif\x0a#ifdef\x20BILLBOARDSTRETCHED\x0aattribute\x20vec3\x20direction;\x0a#endif\x0aattribute\x20float\x20angle;\x0a#ifdef\x20ANIMATESHEET\x0aattribute\x20float\x20cellIndex;\x0a#endif\x0aattribute\x20vec2\x20offset;\x0aattribute\x20vec2\x20uv;\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec4\x20vColor;\x0avarying\x20vec3\x20vPositionW;\x0a#if\x20defined(BILLBOARD)\x20&&\x20!defined(BILLBOARDY)\x20&&\x20!defined(BILLBOARDSTRETCHED)\x0auniform\x20mat4\x20invView;\x0a#endif\x0a#include\x0a#include\x0a#ifdef\x20COLORGRADIENTS\x0auniform\x20sampler2D\x20colorGradientSampler;\x0a#else\x0auniform\x20vec4\x20colorDead;\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x0auniform\x20vec3\x20sheetInfos;\x0a#endif\x0a#ifdef\x20BILLBOARD\x0auniform\x20vec3\x20eyePosition;\x0a#endif\x0avec3\x20rotate(vec3\x20yaxis,vec3\x20rotatedCorner)\x20{\x0avec3\x20xaxis=normalize(cross(vec3(0.,1.0,0.),yaxis));\x0avec3\x20zaxis=normalize(cross(yaxis,xaxis));\x0avec3\x20row0=vec3(xaxis.x,xaxis.y,xaxis.z);\x0avec3\x20row1=vec3(yaxis.x,yaxis.y,yaxis.z);\x0avec3\x20row2=vec3(zaxis.x,zaxis.y,zaxis.z);\x0amat3\x20rotMatrix=\x20mat3(row0,row1,row2);\x0avec3\x20alignedCorner=rotMatrix*rotatedCorner;\x0a#ifdef\x20LOCAL\x0areturn\x20((emitterWM*vec4(position,1.0)).xyz+worldOffset)+alignedCorner;\x0a#else\x0areturn\x20(position+worldOffset)+alignedCorner;\x0a#endif\x0a}\x0a#ifdef\x20BILLBOARDSTRETCHED\x0avec3\x20rotateAlign(vec3\x20toCamera,vec3\x20rotatedCorner)\x20{\x0avec3\x20normalizedToCamera=normalize(toCamera);\x0avec3\x20normalizedCrossDirToCamera=normalize(cross(normalize(direction),normalizedToCamera));\x0avec3\x20crossProduct=normalize(cross(normalizedToCamera,normalizedCrossDirToCamera));\x0avec3\x20row0=vec3(normalizedCrossDirToCamera.x,normalizedCrossDirToCamera.y,normalizedCrossDirToCamera.z);\x0avec3\x20row1=vec3(crossProduct.x,crossProduct.y,crossProduct.z);\x0avec3\x20row2=vec3(normalizedToCamera.x,normalizedToCamera.y,normalizedToCamera.z);\x0amat3\x20rotMatrix=\x20mat3(row0,row1,row2);\x0avec3\x20alignedCorner=rotMatrix*rotatedCorner;\x0a#ifdef\x20LOCAL\x0areturn\x20((emitterWM*vec4(position,1.0)).xyz+worldOffset)+alignedCorner;\x0a#else\x0areturn\x20(position+worldOffset)+alignedCorner;\x0a#endif\x0a}\x0a#endif\x0avoid\x20main()\x20{\x0a#ifdef\x20ANIMATESHEET\x0afloat\x20rowOffset=floor(cellIndex/sheetInfos.z);\x0afloat\x20columnOffset=cellIndex-rowOffset*sheetInfos.z;\x0avec2\x20uvScale=sheetInfos.xy;\x0avec2\x20uvOffset=vec2(uv.x\x20,1.0-uv.y);\x0avUV=(uvOffset+vec2(columnOffset,rowOffset))*uvScale;\x0a#else\x0avUV=uv;\x0a#endif\x0afloat\x20ratio=age/life;\x0a#ifdef\x20COLORGRADIENTS\x0avColor=texture2D(colorGradientSampler,vec2(ratio,0));\x0a#else\x0avColor=color*vec4(1.0-ratio)+colorDead*vec4(ratio);\x0a#endif\x0avec2\x20cornerPos=(offset-translationPivot)*size.yz*size.x+translationPivot;\x0a#ifdef\x20BILLBOARD\x0avec4\x20rotatedCorner;\x0arotatedCorner.w=0.;\x0a#ifdef\x20BILLBOARDY\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.z=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.y=0.;\x0avec3\x20yaxis=(position+worldOffset)-eyePosition;\x0ayaxis.y=0.;\x0avPositionW=rotate(normalize(yaxis),rotatedCorner.xyz);\x0avec4\x20viewPosition=(view*vec4(vPositionW,1.0));\x0a#elif\x20defined(BILLBOARDSTRETCHED)\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.y=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.z=0.;\x0avec3\x20toCamera=(position+worldOffset)-eyePosition;\x0avPositionW=rotateAlign(toCamera,rotatedCorner.xyz);\x0avec4\x20viewPosition=(view*vec4(vPositionW,1.0));\x0a#else\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.y=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.z=0.;\x0a#ifdef\x20LOCAL\x0avec4\x20viewPosition=view*vec4(((emitterWM*vec4(position,1.0)).xyz+worldOffset),1.0)+rotatedCorner;\x0a#else\x0avec4\x20viewPosition=view*vec4((position+worldOffset),1.0)+rotatedCorner;\x0a#endif\x0avPositionW=(invView*viewPosition).xyz;\x0a#endif\x0a#else\x0avec3\x20rotatedCorner;\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.y=0.;\x0arotatedCorner.z=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0avec3\x20yaxis=normalize(initialDirection);\x0avPositionW=rotate(yaxis,rotatedCorner);\x0avec4\x20viewPosition=view*vec4(vPositionW,1.0);\x0a#endif\x0agl_Position=projection*viewPosition;\x0a#if\x20defined(CLIPPLANE)\x20||\x20defined(CLIPPLANE2)\x20||\x20defined(CLIPPLANE3)\x20||\x20defined(CLIPPLANE4)\x20||\x20defined(CLIPPLANE5)\x20||\x20defined(CLIPPLANE6)\x0avec4\x20worldPos=vec4(vPositionW,1.0);\x0a#endif\x0a#include\x0a#include\x0a}','ALPHA_SCREENMODE','readPixels','fogEnabled','infixToPostfix','parse','createVertexBuffer','_cacheFloat3','_KnownUBOs','underlyingResource','format','_DefaultMaximumThickness','#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20TEXTUREFUNC(s,c,lod)\x20texture2DLodEXT(s,c,lod)\x0a#else\x0a#define\x20TEXTUREFUNC(s,c,bias)\x20texture2D(s,c,bias)\x0a#endif\x0auniform\x20sampler2D\x20textureSampler;\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20circleOfConfusionSampler;\x0auniform\x20sampler2D\x20blurStep0;\x0a#if\x20BLUR_LEVEL>0\x0auniform\x20sampler2D\x20blurStep1;\x0a#endif\x0a#if\x20BLUR_LEVEL>1\x0auniform\x20sampler2D\x20blurStep2;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0afloat\x20coc=TEXTUREFUNC(circleOfConfusionSampler,vUV,0.0).r;\x0a#if\x20BLUR_LEVEL==0\x0avec4\x20original=TEXTUREFUNC(textureSampler,vUV,0.0);\x0avec4\x20blurred0=TEXTUREFUNC(blurStep0,vUV,0.0);\x0agl_FragColor=mix(original,blurred0,coc);\x0a#endif\x0a#if\x20BLUR_LEVEL==1\x0aif(coc<0.5){\x0avec4\x20original=TEXTUREFUNC(textureSampler,vUV,0.0);\x0avec4\x20blurred1=TEXTUREFUNC(blurStep1,vUV,0.0);\x0agl_FragColor=mix(original,blurred1,coc/0.5);\x0a}else{\x0avec4\x20blurred0=TEXTUREFUNC(blurStep0,vUV,0.0);\x0avec4\x20blurred1=TEXTUREFUNC(blurStep1,vUV,0.0);\x0agl_FragColor=mix(blurred1,blurred0,(coc-0.5)/0.5);\x0a}\x0a#endif\x0a#if\x20BLUR_LEVEL==2\x0aif(coc<0.33){\x0avec4\x20original=TEXTUREFUNC(textureSampler,vUV,0.0);\x0avec4\x20blurred2=TEXTUREFUNC(blurStep2,vUV,0.0);\x0agl_FragColor=mix(original,blurred2,coc/0.33);\x0a}else\x20if(coc<0.66){\x0avec4\x20blurred1=TEXTUREFUNC(blurStep1,vUV,0.0);\x0avec4\x20blurred2=TEXTUREFUNC(blurStep2,vUV,0.0);\x0agl_FragColor=mix(blurred2,blurred1,(coc-0.33)/0.33);\x0a}else{\x0avec4\x20blurred0=TEXTUREFUNC(blurStep0,vUV,0.0);\x0avec4\x20blurred1=TEXTUREFUNC(blurStep1,vUV,0.0);\x0agl_FragColor=mix(blurred1,blurred0,(coc-0.66)/0.34);\x0a}\x0a#endif\x0a}\x0a','string','_processPointerDown','getRenderWidth','uniform\x20mat4\x20viewProjection;\x0auniform\x20mat4\x20view;','COLOR_ATTACHMENT','acos','View','_fixReusablePostProcess','loop','uniform\x20mat4\x20world;\x0auniform\x20float\x20visibility;\x0a','bindGroupLayoutEntries','addBundle','match','#define\x20NUM_BONE_INFLUENCERS\x200','LIGHTMAP_SPECULAR','pbrBlockIridescence','INTENSITYMODE_ILLUMINANCE','EACR11Unorm','TEXTURE_2D','TEXTURE_EQUIRECTANGULAR_MODE','ALPHA_ONEONE','_compiledShaders','varying\x20','_directionWName','pointerY','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20glFragCoord_\x20=\x20gl_FragCoord;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(yFactor_\x20==\x201.)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20glFragCoord_.y\x20=\x20textureOutputHeight_\x20-\x20glFragCoord_.y;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','attributeNamesFromEffect','needShaderCodeInlining','_func','multiplyToRef','readBuffer','#ifndef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0a#if\x20NUM_BONE_INFLUENCERS>0\x0avar\x20influence\x20:\x20mat4x4;\x0a#ifdef\x20BONETEXTURE\x0ainfluence=readMatrixFromRawSampler(boneSampler,vertexInputs.matricesIndices[0])*vertexInputs.matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0ainfluence=influence+readMatrixFromRawSampler(boneSampler,vertexInputs.matricesIndices[1])*vertexInputs.matricesWeights[1];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0ainfluence=influence+readMatrixFromRawSampler(boneSampler,vertexInputs.matricesIndices[2])*vertexInputs.matricesWeights[2];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0ainfluence=influence+readMatrixFromRawSampler(boneSampler,vertexInputs.matricesIndices[3])*vertexInputs.matricesWeights[3];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0ainfluence=influence+readMatrixFromRawSampler(boneSampler,vertexInputs.matricesIndicesExtra[0])*vertexInputs.matricesWeightsExtra[0];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0ainfluence=influence+readMatrixFromRawSampler(boneSampler,vertexInputs.matricesIndicesExtra[1])*vertexInputs.matricesWeightsExtra[1];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0ainfluence=influence+readMatrixFromRawSampler(boneSampler,vertexInputs.matricesIndicesExtra[2])*vertexInputs.matricesWeightsExtra[2];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0ainfluence=influence+readMatrixFromRawSampler(boneSampler,vertexInputs.matricesIndicesExtra[3])*vertexInputs.matricesWeightsExtra[3];\x0a#endif\x20\x0a#else\x20\x0ainfluence=uniforms.mBones[int(vertexInputs.matricesIndices[0])]*vertexInputs.matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0ainfluence=influence+uniforms.mBones[int(vertexInputs.matricesIndices[1])]*vertexInputs.matricesWeights[1];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0ainfluence=influence+uniforms.mBones[int(vertexInputs.matricesIndices[2])]*vertexInputs.matricesWeights[2];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0ainfluence=influence+uniforms.mBones[int(vertexInputs.matricesIndices[3])]*vertexInputs.matricesWeights[3];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0ainfluence=influence+uniforms.mBones[int(vertexInputs.matricesIndicesExtra[0])]*vertexInputs.matricesWeightsExtra[0];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0ainfluence=influence+uniforms.mBones[int(vertexInputs.matricesIndicesExtra[1])]*vertexInputs.matricesWeightsExtra[1];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0ainfluence=influence+uniforms.mBones[int(vertexInputs.matricesIndicesExtra[2])]*vertexInputs.matricesWeightsExtra[2];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0ainfluence=influence+uniforms.mBones[int(vertexInputs.matricesIndicesExtra[3])]*vertexInputs.matricesWeightsExtra[3];\x0a#endif\x20\x0a#endif\x0afinalWorld=finalWorld*influence;\x0a#endif\x0a#endif\x0a','noPrecision','depth','FLOAT_32_UNSIGNED_INT_24_8_REV','heartbeat','_thinInstanceInitializeUserStorage','engine','postProcess','TEXTURETYPE_FLOAT','startDirectionFunction','TEXTUREFORMAT_R','clickToPlay','ALPHA_MULTIPLY','pbrBlockAmbientOcclusion','_copyInvertYRenderPassDescr','StorageBuffer','testExpression','_frustumPlanes','TEXTURE_NEAREST_LINEAR_MIPNEAREST','_modeSaved','_rtBlur','setPipeline','FALLOFF_DEFAULT','Move','PositionKind','#ifdef\x20DOF\x0afactor=sampleCoC(sampleCoord{X});\x20\x0acomputedWeight=KERNEL_WEIGHT{X}*factor;\x0asumOfWeights+=computedWeight;\x0a#else\x0acomputedWeight=KERNEL_WEIGHT{X};\x0a#endif\x0a#ifdef\x20PACKEDFLOAT\x0ablend+=unpack(texture2D(textureSampler,sampleCoord{X}))*computedWeight;\x0a#else\x0ablend+=texture2D(textureSampler,sampleCoord{X})*computedWeight;\x0a#endif\x0a','_getSamplingParameters','maximum','TEXTURE_LINEAR_LINEAR','TEXTURE_CUBE_MAP_NEGATIVE_X','GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA','previousMatrix','ACTION_OnLeftPickTrigger','Texture,\x20','precision\x20highp\x20float;attribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include\x0a#include\x0a#include\x0auniform\x20mat4\x20view;uniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vTextureUV;uniform\x20mat4\x20textureMatrix;uniform\x20vec2\x20vTextureInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include\x0a#include\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include\x0a#include\x0a#include\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);gl_Position=viewProjection*worldPos;vPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0aif\x20(vTextureInfos.x==0.)\x0a{vTextureUV=vec2(textureMatrix*vec4(uv,1.0,0.0));}\x0aelse\x0a{vTextureUV=vec2(textureMatrix*vec4(uv2,1.0,0.0));}\x0a#endif\x0a#include\x0a#include\x0a#include[0..maxSimultaneousLights]\x0a#include\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','Too\x20many\x20textures\x20or\x20UBOs\x20have\x20been\x20declared\x20and\x20it\x20is\x20not\x20supported\x20in\x20WebGPU.','visibility','extensions','exitPointerLock','createEffect','isDirty','LIGHTTYPEID_HEMISPHERICLIGHT','\x20premultiplyAlpha=','CreateNewFromPrimitive','_alphaState','ASTC12x12Unorm','ShadersStoreWGSL','bindIndexBuffer','No\x20fixed\x20size\x20for\x20Stencil8\x20format!','_IsInternalTexture','availableBuffers','vertexShaderName','morphTargetsVertexGlobalDeclaration','1154CZMOyK','length','boundingBox','setQuaternion','\x0a\x20\x20\x20\x20const\x20vec2\x20pos[4]\x20=\x20vec2[4](vec2(-1.0f,\x201.0f),\x20vec2(1.0f,\x201.0f),\x20vec2(-1.0f,\x20-1.0f),\x20vec2(1.0f,\x20-1.0f));\x0a\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20vec4(pos[gl_VertexIndex],\x200.0,\x201.0);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','diffusionS','precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0a#ifdef\x20SPECULARTERM\x0auniform\x20vec4\x20vSpecularColor;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vTextureUV;\x0auniform\x20sampler2D\x20mixMap1Sampler;\x0auniform\x20vec2\x20vTextureInfos;\x0a#ifdef\x20MIXMAP2\x0auniform\x20sampler2D\x20mixMap2Sampler;\x0a#endif\x0auniform\x20sampler2D\x20diffuse1Sampler;\x0auniform\x20sampler2D\x20diffuse2Sampler;\x0auniform\x20sampler2D\x20diffuse3Sampler;\x0auniform\x20sampler2D\x20diffuse4Sampler;\x0auniform\x20vec2\x20diffuse1Infos;\x0auniform\x20vec2\x20diffuse2Infos;\x0auniform\x20vec2\x20diffuse3Infos;\x0auniform\x20vec2\x20diffuse4Infos;\x0a#ifdef\x20MIXMAP2\x0auniform\x20sampler2D\x20diffuse5Sampler;\x0auniform\x20sampler2D\x20diffuse6Sampler;\x0auniform\x20sampler2D\x20diffuse7Sampler;\x0auniform\x20sampler2D\x20diffuse8Sampler;\x0auniform\x20vec2\x20diffuse5Infos;\x0auniform\x20vec2\x20diffuse6Infos;\x0auniform\x20vec2\x20diffuse7Infos;\x0auniform\x20vec2\x20diffuse8Infos;\x0a#endif\x0a#endif\x0a#include\x0a#include\x0a#include\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20finalMixColor=vec4(1.,1.,1.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0a#ifdef\x20MIXMAP2\x0avec4\x20mixColor2=vec4(1.,1.,1.,1.);\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0afloat\x20glossiness=vSpecularColor.a;\x0avec3\x20specularColor=vSpecularColor.rgb;\x0a#else\x0afloat\x20glossiness=0.;\x0a#endif\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0avec4\x20mixColor=texture2D(mixMap1Sampler,vTextureUV);\x0a#include\x0amixColor.rgb*=vTextureInfos.y;\x0avec4\x20diffuse1Color=texture2D(diffuse1Sampler,vTextureUV*diffuse1Infos);\x0avec4\x20diffuse2Color=texture2D(diffuse2Sampler,vTextureUV*diffuse2Infos);\x0avec4\x20diffuse3Color=texture2D(diffuse3Sampler,vTextureUV*diffuse3Infos);\x0avec4\x20diffuse4Color=texture2D(diffuse4Sampler,vTextureUV*diffuse4Infos);\x0adiffuse1Color.rgb*=mixColor.r;\x0adiffuse2Color.rgb=mix(diffuse1Color.rgb,diffuse2Color.rgb,mixColor.g);\x0adiffuse3Color.rgb=mix(diffuse2Color.rgb,diffuse3Color.rgb,mixColor.b);\x0afinalMixColor.rgb=mix(diffuse3Color.rgb,diffuse4Color.rgb,1.0-mixColor.a);\x0a#ifdef\x20MIXMAP2\x0amixColor=texture2D(mixMap2Sampler,vTextureUV);\x0amixColor.rgb*=vTextureInfos.y;\x0avec4\x20diffuse5Color=texture2D(diffuse5Sampler,vTextureUV*diffuse5Infos);\x0avec4\x20diffuse6Color=texture2D(diffuse6Sampler,vTextureUV*diffuse6Infos);\x0avec4\x20diffuse7Color=texture2D(diffuse7Sampler,vTextureUV*diffuse7Infos);\x0avec4\x20diffuse8Color=texture2D(diffuse8Sampler,vTextureUV*diffuse8Infos);\x0adiffuse5Color.rgb=mix(finalMixColor.rgb,diffuse5Color.rgb,mixColor.r);\x0adiffuse6Color.rgb=mix(diffuse5Color.rgb,diffuse6Color.rgb,mixColor.g);\x0adiffuse7Color.rgb=mix(diffuse6Color.rgb,diffuse7Color.rgb,mixColor.b);\x0afinalMixColor.rgb=mix(diffuse7Color.rgb,diffuse8Color.rgb,1.0-mixColor.a);\x0a#endif\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0afinalMixColor.rgb*=vColor.rgb;\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0a#endif\x0a#include[0..maxSimultaneousLights]\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20finalSpecular=specularBase*specularColor;\x0a#else\x0avec3\x20finalSpecular=vec3(0.0);\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor*finalMixColor.rgb,0.0,1.0);\x0avec4\x20color=vec4(finalDiffuse+finalSpecular,alpha);\x0a#include\x0agl_FragColor=color;\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','IsCompressedFormat','R32Float','_initClickEvent','getBundleEncoder','ASTC8x5UnormSRGB','precision\x20highp\x20float;uniform\x20vec4\x20vEyePosition;varying\x20vec3\x20vPositionW;\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;uniform\x20sampler2D\x20diffuseSampler;uniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0auniform\x20sampler2D\x20distortionSampler;uniform\x20sampler2D\x20opacitySampler;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDistortionCoords1;varying\x20vec2\x20vDistortionCoords2;varying\x20vec2\x20vDistortionCoords3;\x0a#endif\x0a#include\x0a#include\x0avec4\x20bx2(vec4\x20x)\x0a{return\x20vec4(2.0)*x-vec4(1.0);}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);vec4\x20baseColor=vec4(1.,1.,1.,1.);float\x20alpha=1.0;\x0a#ifdef\x20DIFFUSE\x0aconst\x20float\x20distortionAmount0\x20=0.092;const\x20float\x20distortionAmount1\x20=0.092;const\x20float\x20distortionAmount2\x20=0.092;vec2\x20heightAttenuation=vec2(0.3,0.39);vec4\x20noise0=texture2D(distortionSampler,vDistortionCoords1);vec4\x20noise1=texture2D(distortionSampler,vDistortionCoords2);vec4\x20noise2=texture2D(distortionSampler,vDistortionCoords3);vec4\x20noiseSum=bx2(noise0)*distortionAmount0+bx2(noise1)*distortionAmount1+bx2(noise2)*distortionAmount2;vec4\x20perturbedBaseCoords=vec4(vDiffuseUV,0.0,1.0)+noiseSum*(vDiffuseUV.y*heightAttenuation.x+heightAttenuation.y);vec4\x20opacityColor=texture2D(opacitySampler,perturbedBaseCoords.xy);\x0a#ifdef\x20ALPHATEST\x0aif\x20(opacityColor.r<0.1)\x0adiscard;\x0a#endif\x0a#include\x0abaseColor=texture2D(diffuseSampler,perturbedBaseCoords.xy)*2.0;baseColor*=opacityColor;baseColor.rgb*=vDiffuseInfos.y;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0avec3\x20diffuseBase=vec3(1.0,1.0,1.0);\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0avec4\x20color=vec4(baseColor.rgb,alpha);\x0a#include\x0agl_FragColor=color;\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','_needNormals','sources','error','hasTags','_defines','sqrt','setFloatArray3','texture2D','NEVER','FALLOFF_STANDARD','texture','MATERIAL_LineListDrawMode','setStencilPassOp','_setCursorAndPointerOverMesh','types','true','operand','attach','_fragmentIsGLES3','_caps','TransformNormalToRef','maxMSAASamples','clipPlane5','useInstancing','canRead','Engine\x20does\x20not\x20have\x20gl\x20rendering\x20context.','onAfterPhysicsObservable','MATERIAL_TriangleFanDrawMode','drawContext','_gl','morphTargetsVertexGlobal','precision\x20highp\x20float;\x0auniform\x20sampler2D\x20uFrontColor;\x0auniform\x20sampler2D\x20uBackColor;\x0avoid\x20main()\x20{\x0aivec2\x20fragCoord=ivec2(gl_FragCoord.xy);\x0avec4\x20frontColor=texelFetch(uFrontColor,fragCoord,0);\x0avec4\x20backColor=texelFetch(uBackColor,fragCoord,0);\x0afloat\x20alphaMultiplier=1.0-frontColor.a;\x0aglFragColor=vec4(\x0afrontColor.rgb+alphaMultiplier*backColor.rgb,\x0afrontColor.a+backColor.a\x0a);\x0a}','writeBuffer','getReflectionTextureMatrix','_defineMirroredEquirectangularFixedName','_currentMaterialContext','_onPointerDown','TextureBinding','setStencilEnabled','RGBA16Uint','creationFlags','attribute\x20vec2\x20position;\x0auniform\x20vec2\x20scale;\x0avarying\x20vec2\x20vUV;\x0aconst\x20vec2\x20madd=vec2(0.5,0.5);\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avUV=(position*madd+madd)*scale;\x0agl_Position=vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','createRawCubeTexture','FluidRenderingRTT-','_setInitialTarget','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20mat4\x20kernelMatrix;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec3\x20baseColor=texture2D(textureSampler,vUV).rgb;\x0avec3\x20updatedColor=(kernelMatrix*vec4(baseColor,1.0)).rgb;\x0agl_FragColor=vec4(updatedColor,1.0);\x0a}','_injectStartingAndEndingCode','viewport','ssao2','cellHeight','_funcRef','ColorInstanceKind','bufferNames','_Stack','-etc1.ktx','_injectAtEnd','//Entry\x20point\x0d\x0a','handleFragmentSideInits','leftOverUniforms','_deleteComputePipelineContext','_ProcessPrecision','mixPixelShader','_emitCodeFromInclude','skipPointerUpPicking','applyToShader','Raw','Iridescence\x20intensity','.xyz','_mode','framebufferTextureMultisampleMultiviewOVR','lightVxFragmentDeclaration','simulatePointerMove','_pendingDebugCommands','INVERTCUBICMAP','processingContext','_ProcessShaderConversion','equals','layout(std140,column_major)\x20uniform;\x0auniform\x20Material\x0a{\x0avec4\x20diffuseLeftColor;\x0avec4\x20diffuseRightColor;\x0avec4\x20opacityParts;\x0avec4\x20reflectionLeftColor;\x0avec4\x20reflectionRightColor;\x0avec4\x20refractionLeftColor;\x0avec4\x20refractionRightColor;\x0avec4\x20emissiveLeftColor;\x0avec4\x20emissiveRightColor;\x0avec2\x20vDiffuseInfos;\x0avec2\x20vAmbientInfos;\x0avec2\x20vOpacityInfos;\x0avec2\x20vReflectionInfos;\x0avec3\x20vReflectionPosition;\x0avec3\x20vReflectionSize;\x0avec2\x20vEmissiveInfos;\x0avec2\x20vLightmapInfos;\x0avec2\x20vSpecularInfos;\x0avec3\x20vBumpInfos;\x0amat4\x20diffuseMatrix;\x0amat4\x20ambientMatrix;\x0amat4\x20opacityMatrix;\x0amat4\x20reflectionMatrix;\x0amat4\x20emissiveMatrix;\x0amat4\x20lightmapMatrix;\x0amat4\x20specularMatrix;\x0amat4\x20bumpMatrix;\x0avec2\x20vTangentSpaceParams;\x0afloat\x20pointSize;\x0afloat\x20alphaCutOff;\x0amat4\x20refractionMatrix;\x0avec4\x20vRefractionInfos;\x0avec3\x20vRefractionPosition;\x0avec3\x20vRefractionSize;\x0avec4\x20vSpecularColor;\x0avec3\x20vEmissiveColor;\x0avec4\x20vDiffuseColor;\x0avec3\x20vAmbientColor;\x0a#define\x20ADDITIONAL_UBO_DECLARATION\x0a};\x0a#include\x0a#include\x0a','updateDynamicIndexBuffer','#version\x20300\x20es\x0a#define\x20PI\x203.14159\x0auniform\x20float\x20currentCount;\x0auniform\x20float\x20timeDelta;\x0auniform\x20float\x20stopFactor;\x0a#ifndef\x20LOCAL\x0auniform\x20mat4\x20emitterWM;\x0a#endif\x0auniform\x20vec2\x20lifeTime;\x0auniform\x20vec2\x20emitPower;\x0auniform\x20vec2\x20sizeRange;\x0auniform\x20vec4\x20scaleRange;\x0a#ifndef\x20COLORGRADIENTS\x0auniform\x20vec4\x20color1;\x0auniform\x20vec4\x20color2;\x0a#endif\x0auniform\x20vec3\x20gravity;\x0auniform\x20sampler2D\x20randomSampler;\x0auniform\x20sampler2D\x20randomSampler2;\x0auniform\x20vec4\x20angleRange;\x0a#ifdef\x20BOXEMITTER\x0auniform\x20vec3\x20direction1;\x0auniform\x20vec3\x20direction2;\x0auniform\x20vec3\x20minEmitBox;\x0auniform\x20vec3\x20maxEmitBox;\x0a#endif\x0a#ifdef\x20POINTEMITTER\x0auniform\x20vec3\x20direction1;\x0auniform\x20vec3\x20direction2;\x0a#endif\x0a#ifdef\x20HEMISPHERICEMITTER\x0auniform\x20float\x20radius;\x0auniform\x20float\x20radiusRange;\x0auniform\x20float\x20directionRandomizer;\x0a#endif\x0a#ifdef\x20SPHEREEMITTER\x0auniform\x20float\x20radius;\x0auniform\x20float\x20radiusRange;\x0a#ifdef\x20DIRECTEDSPHEREEMITTER\x0auniform\x20vec3\x20direction1;\x0auniform\x20vec3\x20direction2;\x0a#else\x0auniform\x20float\x20directionRandomizer;\x0a#endif\x0a#endif\x0a#ifdef\x20CYLINDEREMITTER\x0auniform\x20float\x20radius;\x0auniform\x20float\x20height;\x0auniform\x20float\x20radiusRange;\x0a#ifdef\x20DIRECTEDCYLINDEREMITTER\x0auniform\x20vec3\x20direction1;\x0auniform\x20vec3\x20direction2;\x0a#else\x0auniform\x20float\x20directionRandomizer;\x0a#endif\x0a#endif\x0a#ifdef\x20CONEEMITTER\x0auniform\x20vec2\x20radius;\x0auniform\x20float\x20coneAngle;\x0auniform\x20vec2\x20height;\x0auniform\x20float\x20directionRandomizer;\x0a#endif\x0ain\x20vec3\x20position;\x0a#ifdef\x20CUSTOMEMITTER\x0ain\x20vec3\x20initialPosition;\x0a#endif\x0ain\x20float\x20age;\x0ain\x20float\x20life;\x0ain\x20vec4\x20seed;\x0ain\x20vec3\x20size;\x0a#ifndef\x20COLORGRADIENTS\x0ain\x20vec4\x20color;\x0a#endif\x0ain\x20vec3\x20direction;\x0a#ifndef\x20BILLBOARD\x0ain\x20vec3\x20initialDirection;\x0a#endif\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0ain\x20float\x20angle;\x0a#else\x0ain\x20vec2\x20angle;\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x0ain\x20float\x20cellIndex;\x0a#ifdef\x20ANIMATESHEETRANDOMSTART\x0ain\x20float\x20cellStartOffset;\x0a#endif\x0a#endif\x0a#ifdef\x20NOISE\x0ain\x20vec3\x20noiseCoordinates1;\x0ain\x20vec3\x20noiseCoordinates2;\x0a#endif\x0aout\x20vec3\x20outPosition;\x0a#ifdef\x20CUSTOMEMITTER\x0aout\x20vec3\x20outInitialPosition;\x0a#endif\x0aout\x20float\x20outAge;\x0aout\x20float\x20outLife;\x0aout\x20vec4\x20outSeed;\x0aout\x20vec3\x20outSize;\x0a#ifndef\x20COLORGRADIENTS\x0aout\x20vec4\x20outColor;\x0a#endif\x0aout\x20vec3\x20outDirection;\x0a#ifndef\x20BILLBOARD\x0aout\x20vec3\x20outInitialDirection;\x0a#endif\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0aout\x20float\x20outAngle;\x0a#else\x0aout\x20vec2\x20outAngle;\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x0aout\x20float\x20outCellIndex;\x0a#ifdef\x20ANIMATESHEETRANDOMSTART\x0aout\x20float\x20outCellStartOffset;\x0a#endif\x0a#endif\x0a#ifdef\x20NOISE\x0aout\x20vec3\x20outNoiseCoordinates1;\x0aout\x20vec3\x20outNoiseCoordinates2;\x0a#endif\x0a#ifdef\x20SIZEGRADIENTS\x0auniform\x20sampler2D\x20sizeGradientSampler;\x0a#endif\x20\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0auniform\x20sampler2D\x20angularSpeedGradientSampler;\x0a#endif\x20\x0a#ifdef\x20VELOCITYGRADIENTS\x0auniform\x20sampler2D\x20velocityGradientSampler;\x0a#endif\x0a#ifdef\x20LIMITVELOCITYGRADIENTS\x0auniform\x20sampler2D\x20limitVelocityGradientSampler;\x0auniform\x20float\x20limitVelocityDamping;\x0a#endif\x0a#ifdef\x20DRAGGRADIENTS\x0auniform\x20sampler2D\x20dragGradientSampler;\x0a#endif\x0a#ifdef\x20NOISE\x0auniform\x20vec3\x20noiseStrength;\x0auniform\x20sampler2D\x20noiseSampler;\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x0auniform\x20vec4\x20cellInfos;\x0a#endif\x0avec3\x20getRandomVec3(float\x20offset)\x20{\x0areturn\x20texture(randomSampler2,vec2(float(gl_VertexID)*offset/currentCount,0)).rgb;\x0a}\x0avec4\x20getRandomVec4(float\x20offset)\x20{\x0areturn\x20texture(randomSampler,vec2(float(gl_VertexID)*offset/currentCount,0));\x0a}\x0avoid\x20main()\x20{\x0afloat\x20newAge=age+timeDelta;\x20\x0aif\x20(newAge>=life\x20&&\x20stopFactor\x20!=\x200.)\x20{\x0avec3\x20newPosition;\x0avec3\x20newDirection;\x0avec4\x20randoms=getRandomVec4(seed.x);\x0aoutLife=lifeTime.x+(lifeTime.y-lifeTime.x)*randoms.r;\x0aoutAge=newAge-life;\x0aoutSeed=seed;\x0a#ifdef\x20SIZEGRADIENTS\x20\x0aoutSize.x=texture(sizeGradientSampler,vec2(0,0)).r;\x0a#else\x0aoutSize.x=sizeRange.x+(sizeRange.y-sizeRange.x)*randoms.g;\x0a#endif\x0aoutSize.y=scaleRange.x+(scaleRange.y-scaleRange.x)*randoms.b;\x0aoutSize.z=scaleRange.z+(scaleRange.w-scaleRange.z)*randoms.a;\x20\x0a#ifndef\x20COLORGRADIENTS\x0aoutColor=color1+(color2-color1)*randoms.b;\x0a#endif\x0a#ifndef\x20ANGULARSPEEDGRADIENTS\x20\x0aoutAngle.y=angleRange.x+(angleRange.y-angleRange.x)*randoms.a;\x0aoutAngle.x=angleRange.z+(angleRange.w-angleRange.z)*randoms.r;\x0a#else\x0aoutAngle=angleRange.z+(angleRange.w-angleRange.z)*randoms.r;\x0a#endif\x20\x0a#ifdef\x20POINTEMITTER\x0avec3\x20randoms2=getRandomVec3(seed.y);\x0avec3\x20randoms3=getRandomVec3(seed.z);\x0anewPosition=vec3(0,0,0);\x0anewDirection=direction1+(direction2-direction1)*randoms3;\x0a#elif\x20defined(BOXEMITTER)\x0avec3\x20randoms2=getRandomVec3(seed.y);\x0avec3\x20randoms3=getRandomVec3(seed.z);\x0anewPosition=minEmitBox+(maxEmitBox-minEmitBox)*randoms2;\x0anewDirection=direction1+(direction2-direction1)*randoms3;\x20\x0a#elif\x20defined(HEMISPHERICEMITTER)\x0avec3\x20randoms2=getRandomVec3(seed.y);\x0avec3\x20randoms3=getRandomVec3(seed.z);\x0afloat\x20phi=2.0*PI*randoms2.x;\x0afloat\x20theta=acos(2.0*randoms2.y-1.0);\x0afloat\x20randX=cos(phi)*sin(theta);\x0afloat\x20randY=cos(theta);\x0afloat\x20randZ=sin(phi)*sin(theta);\x0anewPosition=(radius-(radius*radiusRange*randoms2.z))*vec3(randX,abs(randY),randZ);\x0anewDirection=newPosition+directionRandomizer*randoms3;\x20\x0a#elif\x20defined(SPHEREEMITTER)\x0avec3\x20randoms2=getRandomVec3(seed.y);\x0avec3\x20randoms3=getRandomVec3(seed.z);\x0afloat\x20phi=2.0*PI*randoms2.x;\x0afloat\x20theta=acos(2.0*randoms2.y-1.0);\x0afloat\x20randX=cos(phi)*sin(theta);\x0afloat\x20randY=cos(theta);\x0afloat\x20randZ=sin(phi)*sin(theta);\x0anewPosition=(radius-(radius*radiusRange*randoms2.z))*vec3(randX,randY,randZ);\x0a#ifdef\x20DIRECTEDSPHEREEMITTER\x0anewDirection=normalize(direction1+(direction2-direction1)*randoms3);\x0a#else\x0anewDirection=normalize(newPosition+directionRandomizer*randoms3);\x0a#endif\x0a#elif\x20defined(CYLINDEREMITTER)\x0avec3\x20randoms2=getRandomVec3(seed.y);\x0avec3\x20randoms3=getRandomVec3(seed.z);\x0afloat\x20yPos=(randoms2.x-0.5)*height;\x0afloat\x20angle=randoms2.y*PI*2.;\x0afloat\x20inverseRadiusRangeSquared=((1.-radiusRange)*(1.-radiusRange));\x0afloat\x20positionRadius=radius*sqrt(inverseRadiusRangeSquared+(randoms2.z*(1.-inverseRadiusRangeSquared)));\x0afloat\x20xPos=positionRadius*cos(angle);\x0afloat\x20zPos=positionRadius*sin(angle);\x0anewPosition=vec3(xPos,yPos,zPos);\x0a#ifdef\x20DIRECTEDCYLINDEREMITTER\x0anewDirection=direction1+(direction2-direction1)*randoms3;\x0a#else\x0aangle=angle+((randoms3.x-0.5)*PI)*directionRandomizer;\x0anewDirection=vec3(cos(angle),(randoms3.y-0.5)*directionRandomizer,sin(angle));\x0anewDirection=normalize(newDirection);\x0a#endif\x0a#elif\x20defined(CONEEMITTER)\x0avec3\x20randoms2=getRandomVec3(seed.y);\x0afloat\x20s=2.0*PI*randoms2.x;\x0a#ifdef\x20CONEEMITTERSPAWNPOINT\x0afloat\x20h=0.0001;\x0a#else\x0afloat\x20h=randoms2.y*height.y;\x0ah=1.-h*h;\x20\x0a#endif\x0afloat\x20lRadius=radius.x-radius.x*randoms2.z*radius.y;\x0alRadius=lRadius*h;\x0afloat\x20randX=lRadius*sin(s);\x0afloat\x20randZ=lRadius*cos(s);\x0afloat\x20randY=h\x20*height.x;\x0anewPosition=vec3(randX,randY,randZ);\x20\x0aif\x20(abs(cos(coneAngle))==1.0)\x20{\x0anewDirection=vec3(0.,1.0,0.);\x0a}\x20else\x20{\x0avec3\x20randoms3=getRandomVec3(seed.z);\x0anewDirection=normalize(newPosition+directionRandomizer*randoms3);\x20\x0a}\x0a#elif\x20defined(CUSTOMEMITTER)\x0anewPosition=initialPosition;\x0aoutInitialPosition=initialPosition;\x0a#else\x20\x0anewPosition=vec3(0.,0.,0.);\x0anewDirection=2.0*(getRandomVec3(seed.w)-vec3(0.5,0.5,0.5));\x0a#endif\x0afloat\x20power=emitPower.x+(emitPower.y-emitPower.x)*randoms.a;\x0a#ifdef\x20LOCAL\x0aoutPosition=newPosition;\x0a#else\x0aoutPosition=(emitterWM*vec4(newPosition,1.)).xyz;\x0a#endif\x0a#ifdef\x20CUSTOMEMITTER\x0aoutDirection=direction;\x0a#ifndef\x20BILLBOARD\x20\x0aoutInitialDirection=direction;\x0a#endif\x0a#else\x0a#ifdef\x20LOCAL\x0avec3\x20initial=newDirection;\x0a#else\x20\x0avec3\x20initial=(emitterWM*vec4(newDirection,0.)).xyz;\x0a#endif\x0aoutDirection=initial*power;\x0a#ifndef\x20BILLBOARD\x20\x0aoutInitialDirection=initial;\x0a#endif\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x20\x0aoutCellIndex=cellInfos.x;\x0a#ifdef\x20ANIMATESHEETRANDOMSTART\x0aoutCellStartOffset=randoms.a*outLife;\x0a#endif\x20\x0a#endif\x0a#ifdef\x20NOISE\x0aoutNoiseCoordinates1=noiseCoordinates1;\x0aoutNoiseCoordinates2=noiseCoordinates2;\x0a#endif\x0a}\x20else\x20{\x0afloat\x20directionScale=timeDelta;\x0aoutAge=newAge;\x0afloat\x20ageGradient=newAge/life;\x0a#ifdef\x20VELOCITYGRADIENTS\x0adirectionScale*=texture(velocityGradientSampler,vec2(ageGradient,0)).r;\x0a#endif\x0a#ifdef\x20DRAGGRADIENTS\x0adirectionScale*=1.0-texture(dragGradientSampler,vec2(ageGradient,0)).r;\x0a#endif\x0a#if\x20defined(CUSTOMEMITTER)\x0aoutPosition=position+(direction-position)*ageGradient;\x20\x0aoutInitialPosition=initialPosition;\x0a#else\x0aoutPosition=position+direction*directionScale;\x0a#endif\x0aoutLife=life;\x0aoutSeed=seed;\x0a#ifndef\x20COLORGRADIENTS\x20\x0aoutColor=color;\x0a#endif\x0a#ifdef\x20SIZEGRADIENTS\x0aoutSize.x=texture(sizeGradientSampler,vec2(ageGradient,0)).r;\x0aoutSize.yz=size.yz;\x0a#else\x0aoutSize=size;\x0a#endif\x20\x0a#ifndef\x20BILLBOARD\x20\x0aoutInitialDirection=initialDirection;\x0a#endif\x0a#ifdef\x20CUSTOMEMITTER\x0aoutDirection=direction;\x0a#else\x0avec3\x20updatedDirection=direction+gravity*timeDelta;\x0a#ifdef\x20LIMITVELOCITYGRADIENTS\x0afloat\x20limitVelocity=texture(limitVelocityGradientSampler,vec2(ageGradient,0)).r;\x0afloat\x20currentVelocity=length(updatedDirection);\x0aif\x20(currentVelocity>limitVelocity)\x20{\x0aupdatedDirection=updatedDirection*limitVelocityDamping;\x0a}\x0a#endif\x0aoutDirection=updatedDirection;\x0a#ifdef\x20NOISE\x0afloat\x20fetchedR=texture(noiseSampler,vec2(noiseCoordinates1.x,noiseCoordinates1.y)*vec2(0.5)+vec2(0.5)).r;\x0afloat\x20fetchedG=texture(noiseSampler,vec2(noiseCoordinates1.z,noiseCoordinates2.x)*vec2(0.5)+vec2(0.5)).r;\x0afloat\x20fetchedB=texture(noiseSampler,vec2(noiseCoordinates2.y,noiseCoordinates2.z)*vec2(0.5)+vec2(0.5)).r;\x0avec3\x20force=vec3(2.*fetchedR-1.,2.*fetchedG-1.,2.*fetchedB-1.)*noiseStrength;\x0aoutDirection=outDirection+force*timeDelta;\x0aoutNoiseCoordinates1=noiseCoordinates1;\x0aoutNoiseCoordinates2=noiseCoordinates2;\x0a#endif\x20\x0a#endif\x20\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0afloat\x20angularSpeed=texture(angularSpeedGradientSampler,vec2(ageGradient,0)).r;\x0aoutAngle=angle+angularSpeed*timeDelta;\x0a#else\x0aoutAngle=vec2(angle.x+angle.y*timeDelta,angle.y);\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x20\x0afloat\x20offsetAge=outAge;\x0afloat\x20dist=cellInfos.y-cellInfos.x;\x0a#ifdef\x20ANIMATESHEETRANDOMSTART\x0aoutCellStartOffset=cellStartOffset;\x0aoffsetAge+=cellStartOffset;\x0a#else\x0afloat\x20cellStartOffset=0.;\x0a#endif\x20\x0afloat\x20ratio=0.;\x0aif\x20(cellInfos.w==1.0)\x20{\x0aratio=clamp(mod(cellStartOffset+cellInfos.z*offsetAge,life)/life,0.,1.0);\x0a}\x0aelse\x20{\x0aratio=clamp(cellStartOffset+cellInfos.z*offsetAge/life,0.,1.0);\x0a}\x0aoutCellIndex=float(int(cellInfos.x+ratio*dist));\x0a#endif\x0a}\x0a}','R32Uint','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include\x0a#include\x0a#include\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0auniform\x20mat4\x20diffuseMatrix;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include\x0a#include\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include\x0a#include\x0a#include\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0agl_Position=viewProjection*worldPos;\x0avPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0aif\x20(vDiffuseInfos.x==0.)\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\x0a}\x0aelse\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a}\x0a#endif\x0a#include\x0a#include\x0a#include[0..maxSimultaneousLights]\x0a#include\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','ASTC6x6UnormSRGB','_reflectionMatrixName','number','GL_ES','lightFragmentDeclaration','pbrDirectLightingSetupFunctions','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0auniform\x20mat4\x20world;\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include\x0a#include\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0agl_Position=viewProjection*world*vec4(position,1.0);\x0avec4\x20worldPos=world*vec4(position,1.0);\x0avPositionW=vec3(worldPos);\x0a#include\x0a#include\x0a#ifdef\x20VERTEXCOLOR\x0avColor=color;\x0a#endif\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','clearQuadPixelShader','samplingModes','file:','updateCount','baseHeight','serialize','_ySize','_height','drawBuffersExtension','#if\x20defined(COLORGRADING)\x20&&\x20!defined(COLORGRADING3D)\x0a/**\x20\x0a*\x20Polyfill\x20for\x20SAMPLE_TEXTURE_3D,which\x20is\x20unsupported\x20in\x20WebGL.\x0a*\x20sampler3dSetting.x=textureOffset\x20(0.5/textureSize).\x0a*\x20sampler3dSetting.y=textureSize.\x0a*/\x0a#define\x20inline\x0avec3\x20sampleTexture3D(sampler2D\x20colorTransform,vec3\x20color,vec2\x20sampler3dSetting)\x0a{\x0afloat\x20sliceSize=2.0*sampler3dSetting.x;\x20\x0a#ifdef\x20SAMPLER3DGREENDEPTH\x0afloat\x20sliceContinuous=(color.g-sampler3dSetting.x)*sampler3dSetting.y;\x0a#else\x0afloat\x20sliceContinuous=(color.b-sampler3dSetting.x)*sampler3dSetting.y;\x0a#endif\x0afloat\x20sliceInteger=floor(sliceContinuous);\x0afloat\x20sliceFraction=sliceContinuous-sliceInteger;\x0a#ifdef\x20SAMPLER3DGREENDEPTH\x0avec2\x20sliceUV=color.rb;\x0a#else\x0avec2\x20sliceUV=color.rg;\x0a#endif\x0asliceUV.x*=sliceSize;\x0asliceUV.x+=sliceInteger*sliceSize;\x0asliceUV=saturate(sliceUV);\x0avec4\x20slice0Color=texture2D(colorTransform,sliceUV);\x0asliceUV.x+=sliceSize;\x0asliceUV=saturate(sliceUV);\x0avec4\x20slice1Color=texture2D(colorTransform,sliceUV);\x0avec3\x20result=mix(slice0Color.rgb,slice1Color.rgb,sliceFraction);\x0a#ifdef\x20SAMPLER3DBGRMAP\x0acolor.rgb=result.rgb;\x0a#else\x0acolor.rgb=result.bgr;\x0a#endif\x0areturn\x20color;\x0a}\x0a#endif\x0a#ifdef\x20TONEMAPPING_ACES\x0aconst\x20mat3\x20ACESInputMat=mat3(\x0avec3(0.59719,0.07600,0.02840),\x0avec3(0.35458,0.90834,0.13383),\x0avec3(0.04823,0.01566,0.83777)\x0a);\x0aconst\x20mat3\x20ACESOutputMat=mat3(\x0avec3(\x201.60475,-0.10208,-0.00327),\x0avec3(-0.53108,\x201.10813,-0.07276),\x0avec3(-0.07367,-0.00605,\x201.07602)\x0a);\x0avec3\x20RRTAndODTFit(vec3\x20v)\x0a{\x0avec3\x20a=v*(v+0.0245786)-0.000090537;\x0avec3\x20b=v*(0.983729*v+0.4329510)+0.238081;\x0areturn\x20a/b;\x0a}\x0avec3\x20ACESFitted(vec3\x20color)\x0a{\x0acolor=ACESInputMat*color;\x0acolor=RRTAndODTFit(color);\x0acolor=ACESOutputMat*color;\x0acolor=saturate(color);\x0areturn\x20color;\x0a}\x0a#endif\x0a#define\x20CUSTOM_IMAGEPROCESSINGFUNCTIONS_DEFINITIONS\x0avec4\x20applyImageProcessing(vec4\x20result)\x20{\x0a#define\x20CUSTOM_IMAGEPROCESSINGFUNCTIONS_UPDATERESULT_ATSTART\x0a#ifdef\x20EXPOSURE\x0aresult.rgb*=exposureLinear;\x0a#endif\x0a#ifdef\x20VIGNETTE\x0avec2\x20viewportXY=gl_FragCoord.xy*vInverseScreenSize;\x0aviewportXY=viewportXY*2.0-1.0;\x0avec3\x20vignetteXY1=vec3(viewportXY*vignetteSettings1.xy+vignetteSettings1.zw,1.0);\x0afloat\x20vignetteTerm=dot(vignetteXY1,vignetteXY1);\x0afloat\x20vignette=pow(vignetteTerm,vignetteSettings2.w);\x0avec3\x20vignetteColor=vignetteSettings2.rgb;\x0a#ifdef\x20VIGNETTEBLENDMODEMULTIPLY\x0avec3\x20vignetteColorMultiplier=mix(vignetteColor,vec3(1,1,1),vignette);\x0aresult.rgb*=vignetteColorMultiplier;\x0a#endif\x0a#ifdef\x20VIGNETTEBLENDMODEOPAQUE\x0aresult.rgb=mix(vignetteColor,result.rgb,vignette);\x0a#endif\x0a#endif\x0a#ifdef\x20TONEMAPPING\x0a#ifdef\x20TONEMAPPING_ACES\x0aresult.rgb=ACESFitted(result.rgb);\x0a#else\x0aconst\x20float\x20tonemappingCalibration=1.590579;\x0aresult.rgb=1.0-exp2(-tonemappingCalibration*result.rgb);\x0a#endif\x0a#endif\x0aresult.rgb=toGammaSpace(result.rgb);\x0aresult.rgb=saturate(result.rgb);\x0a#ifdef\x20CONTRAST\x0avec3\x20resultHighContrast=result.rgb*result.rgb*(3.0-2.0*result.rgb);\x0aif\x20(contrast<1.0)\x20{\x0aresult.rgb=mix(vec3(0.5,0.5,0.5),result.rgb,contrast);\x0a}\x20else\x20{\x0aresult.rgb=mix(result.rgb,resultHighContrast,contrast-1.0);\x0a}\x0a#endif\x0a#ifdef\x20COLORGRADING\x0avec3\x20colorTransformInput=result.rgb*colorTransformSettings.xxx+colorTransformSettings.yyy;\x0a#ifdef\x20COLORGRADING3D\x0avec3\x20colorTransformOutput=texture(txColorTransform,colorTransformInput).rgb;\x0a#else\x0avec3\x20colorTransformOutput=sampleTexture3D(txColorTransform,colorTransformInput,colorTransformSettings.yz).rgb;\x0a#endif\x0aresult.rgb=mix(result.rgb,colorTransformOutput,colorTransformSettings.www);\x0a#endif\x0a#ifdef\x20COLORCURVES\x0afloat\x20luma=getLuminance(result.rgb);\x0avec2\x20curveMix=clamp(vec2(luma*3.0-1.5,luma*-3.0+1.5),vec2(0.0),vec2(1.0));\x0avec4\x20colorCurve=vCameraColorCurveNeutral+curveMix.x*vCameraColorCurvePositive-curveMix.y*vCameraColorCurveNegative;\x0aresult.rgb*=colorCurve.rgb;\x0aresult.rgb=mix(vec3(luma),result.rgb,colorCurve.a);\x0a#endif\x0a#ifdef\x20DITHER\x0afloat\x20rand=getRand(gl_FragCoord.xy*vInverseScreenSize);\x0afloat\x20dither=mix(-ditherIntensity,ditherIntensity,rand);\x0aresult.rgb=saturate(result.rgb+vec3(dither));\x0a#endif\x0a#define\x20CUSTOM_IMAGEPROCESSINGFUNCTIONS_UPDATERESULT_ATEND\x0areturn\x20result;\x0a}','sharedData','ray','_hasSwiped','kernelBlurVertex','thinInstancePartialBufferUpdate','_ubDontInvertY','GetData','_createBlurPostProcesses','bundles','POINTERTAP','wrapV','Half\x20float\x20texture\x20filtering\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20and\x20sampling\x20mode\x20are\x20forced\x20to\x20false\x20and\x20TEXTURE_NEAREST_SAMPLINGMODE,\x20respectively.','allowSingleMeshMaxTriangleFaceQuantity','glFragCoord_','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20LensCenter;\x0auniform\x20vec2\x20Scale;\x0auniform\x20vec2\x20ScaleIn;\x0auniform\x20vec4\x20HmdWarpParam;\x0avec2\x20HmdWarp(vec2\x20in01)\x20{\x0avec2\x20theta=(in01-LensCenter)*ScaleIn;\x20\x0afloat\x20rSq=theta.x*theta.x+theta.y*theta.y;\x0avec2\x20rvector=theta*(HmdWarpParam.x+HmdWarpParam.y*rSq+HmdWarpParam.z*rSq*rSq+HmdWarpParam.w*rSq*rSq*rSq);\x0areturn\x20LensCenter+Scale*rvector;\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec2\x20tc=HmdWarp(vUV);\x0aif\x20(tc.x\x20<0.0\x20||\x20tc.x>1.0\x20||\x20tc.y<0.0\x20||\x20tc.y>1.0)\x0agl_FragColor=vec4(0.0,0.0,0.0,0.0);\x0aelse{\x0agl_FragColor=texture2D(textureSampler,tc);\x0a}\x0a}','slice','autoResetAlpha','defineNames','uniform\x20sampler2D\x20textureSampler;\x20\x0auniform\x20sampler2D\x20mainSampler;\x0auniform\x20sampler2D\x20reflectivitySampler;\x0auniform\x20float\x20strength;\x0auniform\x20float\x20reflectionSpecularFalloffExponent;\x0auniform\x20float\x20reflectivityThreshold;\x0avarying\x20vec2\x20vUV;\x0a#include\x0avoid\x20main()\x0a{\x0a#ifdef\x20SSRAYTRACE_DEBUG\x0agl_FragColor=texture2D(textureSampler,vUV);\x0a#else\x0avec3\x20SSR=texture2D(textureSampler,vUV).rgb;\x0avec4\x20color=texture2D(mainSampler,vUV);\x0avec4\x20reflectivity=texture2D(reflectivitySampler,vUV);\x0aif\x20(max(reflectivity.r,max(reflectivity.g,reflectivity.b))<=reflectivityThreshold)\x20{\x0agl_FragColor=color;\x0areturn;\x0a}\x0a#ifdef\x20SSR_INPUT_IS_GAMMA_SPACE\x0acolor=toLinearSpace(color);\x0a#endif\x0avec3\x20reflectionMultiplier=clamp(pow(reflectivity.rgb*strength,vec3(reflectionSpecularFalloffExponent)),0.0,1.0);\x0avec3\x20colorMultiplier=1.0-reflectionMultiplier;\x0avec3\x20finalColor=(color.rgb*colorMultiplier)+(SSR*reflectionMultiplier);\x0a#ifdef\x20SSR_OUTPUT_IS_GAMMA_SPACE\x0afinalColor=toGammaSpace(finalColor);\x0a#endif\x0agl_FragColor=vec4(finalColor,color.a);\x0a#endif\x0a}\x0a','matricesIndicesExtra','waterPixelShader','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0aattribute\x20vec3\x20normal;\x0aattribute\x20vec2\x20uv;\x0avarying\x20vec3\x20vPosition;\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec2\x20tUV;\x0avarying\x20vec2\x20stageUnits;\x0avarying\x20vec2\x20levelUnits;\x0avarying\x20vec2\x20tileID;\x0auniform\x20float\x20time;\x0auniform\x20mat4\x20worldViewProjection;\x0auniform\x20vec2\x20outputSize;\x0auniform\x20vec2\x20stageSize;\x0auniform\x20vec2\x20spriteMapSize;\x0auniform\x20float\x20stageScale;\x0avoid\x20main()\x20{\x0avec4\x20p=vec4(\x20position,1.\x20);\x0avPosition=p.xyz;\x0avUV=uv;\x0atUV=uv*stageSize;\x20\x0agl_Position=worldViewProjection*p;\x0a}','FileTools','#if\x20defined(DIFFUSE_ISLINEAR)\x20||\x20defined(EMISSIVE_ISLINEAR)\x0a#include\x0a#endif\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vUVDiffuse;\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#ifdef\x20OPACITY\x0avarying\x20vec2\x20vUVOpacity;\x0auniform\x20sampler2D\x20opacitySampler;\x0auniform\x20float\x20opacityIntensity;\x0a#endif\x0a#ifdef\x20EMISSIVE\x0avarying\x20vec2\x20vUVEmissive;\x0auniform\x20sampler2D\x20emissiveSampler;\x0a#endif\x0a#ifdef\x20VERTEXALPHA\x0avarying\x20vec4\x20vColor;\x0a#endif\x0auniform\x20vec4\x20glowColor;\x0auniform\x20float\x20glowIntensity;\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#include\x0avec4\x20finalColor=glowColor;\x0a#ifdef\x20DIFFUSE\x0avec4\x20albedoTexture=texture2D(diffuseSampler,vUVDiffuse);\x0a#ifdef\x20DIFFUSE_ISLINEAR\x0aalbedoTexture=toGammaSpace(albedoTexture);\x0a#endif\x0a#ifdef\x20GLOW\x0afinalColor.a*=albedoTexture.a;\x0a#endif\x0a#ifdef\x20HIGHLIGHT\x0afinalColor.a=albedoTexture.a;\x0a#endif\x0a#endif\x0a#ifdef\x20OPACITY\x0avec4\x20opacityMap=texture2D(opacitySampler,vUVOpacity);\x0a#ifdef\x20OPACITYRGB\x0afinalColor.a*=getLuminance(opacityMap.rgb);\x0a#else\x0afinalColor.a*=opacityMap.a;\x0a#endif\x0afinalColor.a*=opacityIntensity;\x0a#endif\x0a#ifdef\x20VERTEXALPHA\x0afinalColor.a*=vColor.a;\x0a#endif\x0a#ifdef\x20ALPHATEST\x0aif\x20(finalColor.a0.01\x20and\x20project\x20within\x20the\x20valid\x20screen\x20rectangle\x0aparam\x20csDirection\x20Unit\x20length\x20camera-space\x20ray\x20direction\x0aparam\x20projectToPixelMatrix\x20A\x20projection\x20matrix\x20that\x20maps\x20to\x20**pixel**\x20coordinates\x20\x0a(**not**\x20[-1,+1]\x20normalized\x20device\x20coordinates).\x0aparam\x20csZBuffer\x20The\x20camera-space\x20Z\x20buffer\x0aparam\x20csZBufferSize\x20Dimensions\x20of\x20csZBuffer\x0aparam\x20csZThickness\x20Camera\x20space\x20csZThickness\x20to\x20ascribe\x20to\x20each\x20pixel\x20in\x20the\x20depth\x20buffer\x0aparam\x20nearPlaneZ\x20Positive\x20number.\x20Doesn\x27t\x20have\x20to\x20be\x20THE\x20actual\x20near\x20plane,just\x20a\x20reasonable\x20value\x0afor\x20clipping\x20rays\x20headed\x20towards\x20the\x20camera\x0aparam\x20stride\x20Step\x20in\x20horizontal\x20or\x20vertical\x20pixels\x20between\x20samples.\x20This\x20is\x20a\x20float\x0abecause\x20integer\x20math\x20is\x20slow\x20on\x20GPUs,but\x20should\x20be\x20set\x20to\x20an\x20integer>=1\x0aparam\x20jitterFraction\x20Number\x20between\x200\x20and\x201\x20for\x20how\x20far\x20to\x20bump\x20the\x20ray\x20in\x20stride\x20units\x0ato\x20conceal\x20banding\x20artifacts,plus\x20the\x20stride\x20ray\x20offset.\x0aparam\x20maxSteps\x20Maximum\x20number\x20of\x20iterations.\x20Higher\x20gives\x20better\x20images\x20but\x20may\x20be\x20slow\x0aparam\x20maxRayTraceDistance\x20Maximum\x20camera-space\x20distance\x20to\x20trace\x20before\x20returning\x20a\x20miss\x0aparam\x20selfCollisionNumSkip\x20Number\x20of\x20steps\x20to\x20skip\x20at\x20start\x20when\x20raytracing\x20to\x20avoid\x20self\x20collisions.\x0a1\x20is\x20a\x20reasonable\x20value,depending\x20on\x20the\x20scene\x20you\x20may\x20need\x20to\x20set\x20this\x20value\x20to\x202\x0aparam\x20hitPixel\x20Pixel\x20coordinates\x20of\x20the\x20first\x20intersection\x20with\x20the\x20scene\x0aparam\x20numIterations\x20number\x20of\x20iterations\x20performed\x0aparam\x20csHitPoint\x20Camera\x20space\x20location\x20of\x20the\x20ray\x20hit\x0a*/\x0a#define\x20inline\x0abool\x20traceScreenSpaceRay1(\x0avec3\x20csOrigin,\x0avec3\x20csDirection,\x0amat4\x20projectToPixelMatrix,\x0asampler2D\x20csZBuffer,\x0avec2\x20csZBufferSize,\x0a#ifdef\x20SSRAYTRACE_USE_BACK_DEPTHBUFFER\x0asampler2D\x20csZBackBuffer,\x0afloat\x20csZBackSizeFactor,\x0a#endif\x0afloat\x20csZThickness,\x0afloat\x20nearPlaneZ,\x0afloat\x20stride,\x0afloat\x20jitterFraction,\x0afloat\x20maxSteps,\x0afloat\x20maxRayTraceDistance,\x0afloat\x20selfCollisionNumSkip,\x0aout\x20vec2\x20startPixel,\x0aout\x20vec2\x20hitPixel,\x0aout\x20vec3\x20csHitPoint,\x0aout\x20float\x20numIterations\x0a#ifdef\x20SSRAYTRACE_DEBUG\x0a,out\x20vec3\x20debugColor\x0a#endif\x0a)\x0a{\x0a#ifdef\x20SSRAYTRACE_RIGHT_HANDED_SCENE\x0afloat\x20rayLength=(csOrigin.z+csDirection.z*maxRayTraceDistance)>-nearPlaneZ\x20?\x20(-nearPlaneZ-csOrigin.z)/csDirection.z\x20:\x20maxRayTraceDistance;\x0a#else\x0afloat\x20rayLength=(csOrigin.z+csDirection.z*maxRayTraceDistance)yMax)\x20||\x20(P1.yyMax)\x20?\x20yMax\x20:\x20yMin))/(P1.y-P0.y);\x0a}\x0aif\x20((P1.x>xMax)\x20||\x20(P1.xxMax)\x20?\x20xMax\x20:\x20xMin))/(P1.x-P0.x));\x0a}\x0aP1=mix(P1,P0,alpha);\x20k1=mix(k1,k0,alpha);\x20Q1=mix(Q1,Q0,alpha);\x0a#endif\x0aP1+=vec2((distanceSquared(P0,P1)<0.0001)\x20?\x200.01\x20:\x200.0);\x0avec2\x20delta=P1-P0;\x0abool\x20permute=false;\x0aif\x20(abs(delta.x)rayZMax)\x20{\x20\x0afloat\x20t=rayZMin;\x20rayZMin=rayZMax;\x20rayZMax=t;\x0a}\x0asceneZMax=texelFetch(csZBuffer,ivec2(hitPixel),0).r;\x0a#ifdef\x20SSRAYTRACE_RIGHT_HANDED_SCENE\x0a#ifdef\x20SSRAYTRACE_USE_BACK_DEPTHBUFFER\x0afloat\x20sceneBackZ=texelFetch(csZBackBuffer,ivec2(hitPixel/csZBackSizeFactor),0).r;\x0ahit=(rayZMax>=sceneBackZ-csZThickness)\x20&&\x20(rayZMin<=sceneZMax);\x0a#else\x0ahit=(rayZMax>=sceneZMax-csZThickness)\x20&&\x20(rayZMin<=sceneZMax);\x0a#endif\x0a#else\x0a#ifdef\x20SSRAYTRACE_USE_BACK_DEPTHBUFFER\x0afloat\x20sceneBackZ=texelFetch(csZBackBuffer,ivec2(hitPixel/csZBackSizeFactor),0).r;\x0ahit=(rayZMin<=sceneBackZ+csZThickness)\x20&&\x20(rayZMax>=sceneZMax)\x20&&\x20(sceneZMax\x20!=\x200.0);\x0a#else\x0ahit=(rayZMin<=sceneZMax+csZThickness)\x20&&\x20(rayZMax>=sceneZMax);\x0a#endif\x0a#endif\x0a}\x0apqk-=dPQK;\x0astepCount-=1.0;\x0aif\x20(((pqk.x+dPQK.x)*stepDirection)>end\x20||\x20(stepCount+1.0)>=maxSteps\x20||\x20sceneZMax==0.0)\x20{\x0ahit=false;\x0a}\x0a#ifdef\x20SSRAYTRACE_ENABLE_REFINEMENT\x0aif\x20(stride>1.0\x20&&\x20hit)\x20{\x0apqk-=dPQK;\x0astepCount-=1.0;\x0afloat\x20invStride=1.0/stride;\x0adPQK*=invStride;\x0afloat\x20refinementStepCount=0.0;\x0aprevZMaxEstimate=pqk.z/pqk.w;\x0arayZMax=prevZMaxEstimate;\x0asceneZMax=rayZMax+1e7;\x0afor\x20(;\x0arefinementStepCount<=1.0\x20||\x0a(refinementStepCount<=stride*1.4)\x20&&\x0a(rayZMaxend)\x20{\x0adebugColor=vec3(0,0,1);\x0a}\x20else\x20if\x20((stepCount+1.0)>=maxSteps)\x20{\x0adebugColor=vec3(1,0,0);\x0a}\x20else\x20if\x20(sceneZMax==0.0)\x20{\x0adebugColor=vec3(1,1,0);\x0a}\x20else\x20{\x0adebugColor=vec3(0,stepCount/maxSteps,0);\x0a}\x0a#endif\x0areturn\x20hit;\x0a}\x0a','sceneUboDeclaration','varyings','computeDispatch:\x20The\x20texture\x20(name=','previousWorldMatrices','_shareDepth','TEXTURETYPE_UNSIGNED_SHORT','pointerUpPredicate','_emitFunctionFromInclude','#elif','videoHeight','worldUp','getTranslation','setMatrix3x3','_attached','COLOR_ATTACHMENT0','vrdisplaydisconnect','TEXTUREFORMAT_LUMINANCE_ALPHA\x20format\x20not\x20supported\x20in\x20WebGPU','updateDynamicTexture','#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20TEXTUREFUNC(s,c,lod)\x20texture2DLodEXT(s,c,lod)\x0a#else\x0a#define\x20TEXTUREFUNC(s,c,bias)\x20texture2D(s,c,bias)\x0a#endif\x0auniform\x20sampler2D\x20textureSampler;\x0avarying\x20vec2\x20vUV;\x0auniform\x20vec2\x20texelOffsetScale;\x0aconst\x20float\x20weights[8]=float[8]\x20(0.071303,0.131514,0.189879,0.321392,0.452906,\x200.584419,0.715932,0.847445);\x0avoid\x20processSample(vec2\x20uv,float\x20i,vec2\x20stepSize,inout\x20vec4\x20accumulator,inout\x20float\x20denominator)\x0a{\x0avec2\x20offsetUV=stepSize*i+uv;\x0afloat\x20coefficient=weights[int(2.0-abs(i))];\x0aaccumulator+=TEXTUREFUNC(textureSampler,offsetUV,0.0)*coefficient;\x0adenominator+=coefficient;\x0a}\x0avoid\x20main()\x0a{\x0avec4\x20colorFull=TEXTUREFUNC(textureSampler,vUV,0.0);\x0aif\x20(dot(colorFull,vec4(1.0))==0.0)\x20{\x0agl_FragColor=colorFull;\x0areturn;\x0a}\x0afloat\x20blurRadius=colorFull.a*255.0;\x20\x0avec2\x20stepSize=texelOffsetScale.xy*blurRadius;\x0avec4\x20accumulator=TEXTUREFUNC(textureSampler,vUV,0.0)*0.214607;\x0afloat\x20denominator=0.214607;\x0aprocessSample(vUV,1.0,stepSize,accumulator,denominator);\x0aprocessSample(vUV,1.0*0.2,stepSize,accumulator,denominator);\x0aprocessSample(vUV,1.0*0.4,stepSize,accumulator,denominator);\x0aprocessSample(vUV,1.0*0.6,stepSize,accumulator,denominator);\x0aprocessSample(vUV,1.0*0.8,stepSize,accumulator,denominator);\x0aprocessSample(vUV,1.0*1.2,stepSize,accumulator,denominator);\x0aprocessSample(vUV,1.0*1.4,stepSize,accumulator,denominator);\x0aprocessSample(vUV,1.0*1.6,stepSize,accumulator,denominator);\x0aprocessSample(vUV,1.0*1.8,stepSize,accumulator,denominator);\x0aprocessSample(vUV,1.0*2.0,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0*0.2,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0*0.4,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0*0.6,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0*0.8,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0*1.2,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0*1.4,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0*1.6,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0*1.8,stepSize,accumulator,denominator);\x0aprocessSample(vUV,-1.0*2.0,stepSize,accumulator,denominator);\x0agl_FragColor=vec4(accumulator.rgb/denominator,colorFull.a);\x0a}\x0a','read_write','bilinearFiltering','substr','_partialLoadFile','forEach','offsets','_onVRDisplayPointerUnrestricted','setColorFormat','Unable\x20to\x20create\x20webGL\x20texture','_getInternalFormat','pickWorldPosition','isNDCHalfZRange','LINEAR_MIPMAP_LINEAR','renderTargetBlur','_mipmapSampler','compatibilityMode','stencilMaterial','bloomMergePixelShader','fetchNewFrame','#include<','modelIndexOffsetStart','max','viewMatrix','attribute\x20vec3\x20position;\x0aattribute\x20vec3\x20normal;\x0a#include\x0a#include\x0a#include\x0a#include[0..maxSimultaneousMorphTargets]\x0a#include\x0auniform\x20float\x20offset;\x0a#include\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20ALPHATEST\x0avarying\x20vec2\x20vUV;\x0auniform\x20mat4\x20diffuseMatrix;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#endif\x0a#include\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec3\x20positionUpdated=position;\x0avec3\x20normalUpdated=normal;\x0a#ifdef\x20UV1\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#include\x0a#include[0..maxSimultaneousMorphTargets]\x0avec3\x20offsetPosition=positionUpdated+(normalUpdated*offset);\x0a#include\x0a#include\x0a#include\x0avec4\x20worldPos=finalWorld*vec4(offsetPosition,1.0);\x0agl_Position=viewProjection*worldPos;\x0a#ifdef\x20ALPHATEST\x0a#ifdef\x20UV1\x0avUV=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20UV2\x0avUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a#include\x0a#include\x0a}\x0a','layerIndices','setUIntArray4','TEXTURETYPE_UNSIGNED_INT_10F_11F_11F_REV','_bufferView','updateMatrix3x3','rebuild','LastCreatedScene','TEXTURE_SKYBOX_MODE','QueueNewFrame','_options','_xOffset','TEXTURETYPE_UNSIGNED_SHORT_4_4_4_4','previousViewProjection','#ifdef\x20MORPHTARGETS\x0a#ifdef\x20MORPHTARGETS_TEXTURE\x0afloat\x20vertexID;\x0a#endif\x0a#endif\x0a','onXRFrameObservable','setFileName','_ApplyPreProcessing','addDiffusionProfile','#ifdef\x20WEBGL2\x0auniform\x20mat4\x20world;\x0auniform\x20float\x20visibility;\x0a#else\x0alayout(std140,column_major)\x20uniform;\x0auniform\x20Mesh\x0a{\x0amat4\x20world;\x0afloat\x20visibility;\x0a};\x0a#endif\x0a#define\x20WORLD_UBO\x0a','decalFragment','_rigCameras','DEPTH_STENCIL_ATTACHMENT','processTrigger','u32','ALPHA_SUBTRACT','Raw3D','_postProcessRunningIndex','_view','faceForward','GetEffect','uvVariableDeclaration','TEXTUREFORMAT_DEPTH24UNORM_STENCIL8','_readTexturePixels','_GetBlockInformationFromFormat','getInputElementClientRect','resetStencilState','filterRadii','actionManager','_2DSamplerName','_uploadEncoder','bindVertexArrayObject','setDepthCompare','drawElementsType','_pickedDownMesh','#ifdef\x20ORDER_INDEPENDENT_TRANSPARENCY\x0afloat\x20fragDepth=gl_FragCoord.z;\x20\x0a#ifdef\x20ORDER_INDEPENDENT_TRANSPARENCY_16BITS\x0auint\x20halfFloat=packHalf2x16(vec2(fragDepth));\x0avec2\x20full=unpackHalf2x16(halfFloat);\x0afragDepth=full.x;\x0a#endif\x0aivec2\x20fragCoord=ivec2(gl_FragCoord.xy);\x0avec2\x20lastDepth=texelFetch(oitDepthSampler,fragCoord,0).rg;\x0avec4\x20lastFrontColor=texelFetch(oitFrontColorSampler,fragCoord,0);\x0adepth.rg=vec2(-MAX_DEPTH);\x0afrontColor=lastFrontColor;\x0abackColor=vec4(0.0);\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0afloat\x20furthestDepth=-lastDepth.x;\x0afloat\x20nearestDepth=lastDepth.y;\x0a#else\x0afloat\x20nearestDepth=-lastDepth.x;\x0afloat\x20furthestDepth=lastDepth.y;\x0a#endif\x0afloat\x20alphaMultiplier=1.0-lastFrontColor.a;\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0aif\x20(fragDepth>nearestDepth\x20||\x20fragDepthfurthestDepth)\x20{\x0a#endif\x0areturn;\x0a}\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0aif\x20(fragDepthfurthestDepth)\x20{\x0a#else\x0aif\x20(fragDepth>nearestDepth\x20&&\x20fragDepth\x0a#include\x0a#include\x0a#include[0..maxSimultaneousMorphTargets]\x0a#include\x0a#include<__decl__geometryVertex>\x0a#include\x0aattribute\x20vec3\x20position;\x0aattribute\x20vec3\x20normal;\x0a#ifdef\x20NEED_UV\x0avarying\x20vec2\x20vUV;\x0a#ifdef\x20ALPHATEST\x0auniform\x20mat4\x20diffuseMatrix;\x0a#endif\x0a#ifdef\x20BUMP\x0auniform\x20mat4\x20bumpMatrix;\x0avarying\x20vec2\x20vBumpUV;\x0a#endif\x0a#ifdef\x20REFLECTIVITY\x0auniform\x20mat4\x20reflectivityMatrix;\x0auniform\x20mat4\x20albedoMatrix;\x0avarying\x20vec2\x20vReflectivityUV;\x0avarying\x20vec2\x20vAlbedoUV;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#endif\x0a#ifdef\x20BUMP\x0avarying\x20mat4\x20vWorldView;\x0a#endif\x0a#ifdef\x20BUMP\x0avarying\x20vec3\x20vNormalW;\x0a#else\x0avarying\x20vec3\x20vNormalV;\x0a#endif\x0avarying\x20vec4\x20vViewPos;\x0a#if\x20defined(POSITION)\x20||\x20defined(BUMP)\x0avarying\x20vec3\x20vPositionW;\x0a#endif\x0a#ifdef\x20VELOCITY\x0auniform\x20mat4\x20previousViewProjection;\x0avarying\x20vec4\x20vCurrentPosition;\x0avarying\x20vec4\x20vPreviousPosition;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec3\x20positionUpdated=position;\x0avec3\x20normalUpdated=normal;\x0a#ifdef\x20UV1\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#include\x0a#include[0..maxSimultaneousMorphTargets]\x0a#include\x0a#if\x20defined(VELOCITY)\x20&&\x20!defined(BONES_VELOCITY_ENABLED)\x0avCurrentPosition=viewProjection*finalWorld*vec4(positionUpdated,1.0);\x0avPreviousPosition=previousViewProjection*finalPreviousWorld*vec4(positionUpdated,1.0);\x0a#endif\x0a#include\x0a#include\x0avec4\x20worldPos=vec4(finalWorld*vec4(positionUpdated,1.0));\x0a#ifdef\x20BUMP\x0avWorldView=view*finalWorld;\x0avNormalW=normalUpdated;\x0a#else\x0avNormalV=normalize(vec3((view*finalWorld)*vec4(normalUpdated,0.0)));\x0a#endif\x0avViewPos=view*worldPos;\x0a#if\x20defined(VELOCITY)\x20&&\x20defined(BONES_VELOCITY_ENABLED)\x0avCurrentPosition=viewProjection*finalWorld*vec4(positionUpdated,1.0);\x0a#if\x20NUM_BONE_INFLUENCERS>0\x0amat4\x20previousInfluence;\x0apreviousInfluence=mPreviousBones[int(matricesIndices[0])]*matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0apreviousInfluence+=mPreviousBones[int(matricesIndices[1])]*matricesWeights[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0apreviousInfluence+=mPreviousBones[int(matricesIndices[2])]*matricesWeights[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0apreviousInfluence+=mPreviousBones[int(matricesIndices[3])]*matricesWeights[3];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[0])]*matricesWeightsExtra[0];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[1])]*matricesWeightsExtra[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[2])]*matricesWeightsExtra[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[3])]*matricesWeightsExtra[3];\x0a#endif\x0avPreviousPosition=previousViewProjection*finalPreviousWorld*previousInfluence*vec4(positionUpdated,1.0);\x0a#else\x0avPreviousPosition=previousViewProjection*finalPreviousWorld*vec4(positionUpdated,1.0);\x0a#endif\x0a#endif\x0a#if\x20defined(POSITION)\x20||\x20defined(BUMP)\x0avPositionW=worldPos.xyz/worldPos.w;\x0a#endif\x0agl_Position=viewProjection*finalWorld*vec4(positionUpdated,1.0);\x0a#include\x0a#ifdef\x20NEED_UV\x0a#ifdef\x20UV1\x0a#if\x20defined(ALPHATEST)\x20&&\x20defined(ALPHATEST_UV1)\x0avUV=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\x0a#else\x0avUV=uv;\x0a#endif\x0a#ifdef\x20BUMP_UV1\x0avBumpUV=vec2(bumpMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20REFLECTIVITY_UV1\x0avReflectivityUV=vec2(reflectivityMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20ALBEDO_UV1\x0avAlbedoUV=vec2(albedoMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#endif\x0a#ifdef\x20UV2\x0a#if\x20defined(ALPHATEST)\x20&&\x20defined(ALPHATEST_UV2)\x0avUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a#else\x0avUV=uv2;\x0a#endif\x0a#ifdef\x20BUMP_UV2\x0avBumpUV=vec2(bumpMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#ifdef\x20REFLECTIVITY_UV2\x0avReflectivityUV=vec2(reflectivityMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#ifdef\x20ALBEDO_UV2\x0avAlbedoUV=vec2(albedoMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a#endif\x0a#include\x0a}\x0a','_resetPostProcessChain','_onBeforeCameraRenderObserver','\x0a\x20\x20\x20\x20const\x20vec2\x20pos[4]\x20=\x20vec2[4](vec2(-1.0f,\x201.0f),\x20vec2(1.0f,\x201.0f),\x20vec2(-1.0f,\x20-1.0f),\x20vec2(1.0f,\x20-1.0f));\x0a\x20\x20\x20\x20const\x20vec2\x20tex[4]\x20=\x20vec2[4](vec2(0.0f,\x200.0f),\x20vec2(1.0f,\x200.0f),\x20vec2(0.0f,\x201.0f),\x20vec2(1.0f,\x201.0f));\x0a\x0a\x20\x20\x20\x20layout(location\x20=\x200)\x20out\x20vec2\x20vTex;\x0a\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20vTex\x20=\x20tex[gl_VertexIndex];\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20vec4(pos[gl_VertexIndex],\x200.0,\x201.0);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','uniformBuffer','_blurNumIterations','getScene','DisableFor','cameraToUseForPointers','onPointerUp','_processPointerUp','lineVertexShader','samplers','\x0a\x20\x20\x20\x20layout(set\x20=\x200,\x20binding\x20=\x200)\x20uniform\x20Uniforms\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20vec4\x20color;\x0a\x20\x20\x20\x20};\x0a\x0a\x20\x20\x20\x20layout(location\x20=\x200)\x20out\x20vec4\x20outColor;\x0a\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20outColor\x20=\x20color;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','_bundleEncoder','setMatrices','setAlphaConstants','_emitFunction','_MoveCursor','exec','##INJECTCODE##\x0a','cameraId','pbrDebug','ONE','logDepthDeclaration','getAspectRatio','Depth\x20texture\x20format\x20is\x20not\x20supported.','getQueryResult','boundingBoxSize','Read','startPositionFunction','isSupported','boundingBoxRendererVertexShader','RegisteredExternalClasses','constants','lineProcessor',',\x20binding\x20=\x20','gpuRenderParticlesPixelShader','onLoadedObservable','_attributeNextLocation','playAnimation','#ifdef\x20CLIPPLANE\x0ain\x20float\x20fClipDistance;\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0ain\x20float\x20fClipDistance2;\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0ain\x20float\x20fClipDistance3;\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0ain\x20float\x20fClipDistance4;\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0ain\x20float\x20fClipDistance5;\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0ain\x20float\x20fClipDistance6;\x0a#endif\x0a','pollInput','_emitUniformFromString','setTimeout','getFileName','screenSpaceRayTrace','renderTargetTexture','vrdisplaypointerrestricted','depthCullingState','setAlphaMode','varyingFragmentKeywordName','MAINUV6','#define\x20SPHEREEMITTER','gridVertexShader','sampleCoord{X}=sampleCenter+delta*KERNEL_OFFSET{X};','createFramebuffer','_repeatableContentAnchor','BC4RUnorm','pbrBlockFinalColorComposition','\x0a};\x0avar\x20fragmentInputs\x20:\x20FragmentInputs;\x0a','ssFilterRadii','_copyInvertYTempTexture','fluidRenderingParticleThicknessVertexShader','removeUniforms','_createCompositionEffect','_isBlendConstantsDirty','angle','blitFramebuffer','Lerp','geometryPixelShader','systemValue','DontInvertY','ASTC12x12UnormSRGB','materialCount','lastIndex','isPointerCaptured','subMeshes',';\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20','hoverCursor','createRenderTargetTexture','_bufferViewArray','writeTexture','_getComputeShaderCode','action','lavaPixelShader','availableTextures','backgroundPixelShader','isExternalTexture','_buildIndexBuffer','_getFreeDefineName','#if\x20defined(','updateMatrix','_textureMode','161djnTGY','handleFragmentSideCodeReflectionColor','ASTC8x8Unorm','throw','#ifdef\x20','ASTC6x5UnormSRGB','setUIntArray3','_crossEye','#define\x20rcp(x)\x201./x\x0a#define\x20GOLDEN_RATIO\x201.618033988749895\x0a#define\x20TWO_PI\x206.2831855\x0avec2\x20Golden2dSeq(int\x20i,float\x20n)\x0a{\x0areturn\x20vec2(float(i)/n+(0.5/n),fract(float(i)*rcp(GOLDEN_RATIO)));\x0a}\x0avec2\x20SampleDiskGolden(int\x20i,int\x20sampleCount)\x0a{\x0avec2\x20f=Golden2dSeq(i,float(sampleCount));\x0areturn\x20vec2(sqrt(f.x),TWO_PI*f.y);\x0a}','_OnGenerateOnlyFragmentCodeChanged','No\x20\x22main\x22\x20function\x20found\x20in\x20shader\x20code!\x20Processing\x20aborted.','setStencilDepthFailOp','setUsage','UNIFORM_BUFFER','gridPixelShader','_areMiscDirty','{W:\x20','viewProjectionR','_textureType','Iridescence\x20ior','boundingBoxPosition','IRIDESCENCE_TEXTURE','reflectionFunction','#ifdef\x20MORPHTARGETS\x0a#ifndef\x20MORPHTARGETS_TEXTURE\x0aattribute\x20vec3\x20position{X};\x0a#ifdef\x20MORPHTARGETS_NORMAL\x0aattribute\x20vec3\x20normal{X};\x0a#endif\x0a#ifdef\x20MORPHTARGETS_TANGENT\x0aattribute\x20vec3\x20tangent{X};\x0a#endif\x0a#ifdef\x20MORPHTARGETS_UV\x0aattribute\x20vec2\x20uv_{X};\x0a#endif\x0a#endif\x0a#endif\x0a','FALLOFF_PHYSICAL','instancesCount','textures','bindBuffer','attributeLocationsFromEffect','_varyingsWGSL','furPixelShader','_coroutineScheduler','from','vec3\x20finalDiffuse=diffuseBase;\x0afinalDiffuse*=surfaceAlbedo.rgb;\x0afinalDiffuse=max(finalDiffuse,0.0);\x0afinalDiffuse*=vLightingIntensity.x;\x0avec3\x20finalAmbient=vAmbientColor;\x0afinalAmbient*=surfaceAlbedo.rgb;\x0avec3\x20finalEmissive=vEmissiveColor;\x0a#ifdef\x20EMISSIVE\x0avec3\x20emissiveColorTex=texture2D(emissiveSampler,vEmissiveUV+uvOffset).rgb;\x0a#ifdef\x20GAMMAEMISSIVE\x0afinalEmissive*=toLinearSpace(emissiveColorTex.rgb);\x0a#else\x0afinalEmissive*=emissiveColorTex.rgb;\x0a#endif\x0afinalEmissive*=\x20vEmissiveInfos.y;\x0a#endif\x0afinalEmissive*=vLightingIntensity.y;\x0a#ifdef\x20AMBIENT\x0avec3\x20ambientOcclusionForDirectDiffuse=mix(vec3(1.),aoOut.ambientOcclusionColor,vAmbientInfos.w);\x0a#else\x0avec3\x20ambientOcclusionForDirectDiffuse=aoOut.ambientOcclusionColor;\x0a#endif\x0afinalAmbient*=aoOut.ambientOcclusionColor;\x0afinalDiffuse*=ambientOcclusionForDirectDiffuse;\x0a','isArray','Color4','createView','search','updateFloat2','_cull','testValue','_mainRenderPassWrapper',')\x20var\x20uniforms\x20:\x20','viewportSize','//Uniforms\x0d\x0a','ONE_MINUS_SRC_COLOR','isFragment','coordinatesMode','uniform\x20float\x20conversion;\x0auniform\x20sampler2D\x20textureSampler;\x0avarying\x20vec2\x20vUV;\x0a#include\x0avoid\x20main(void)\x20\x0a{\x0avec4\x20color=texture2D(textureSampler,vUV);\x0a#ifdef\x20DEPTH_TEXTURE\x0agl_FragDepth=color.r;\x0a#else\x0aif\x20(conversion==1.)\x20{\x0acolor=toLinearSpace(color);\x0a}\x20else\x20if\x20(conversion==2.)\x20{\x0acolor=toGammaSpace(color);\x0a}\x0agl_FragColor=color;\x0a#endif\x0a}\x0a','inputBlocks','#ifdef\x20LOGARITHMICDEPTH\x0avFragmentDepth=1.0+gl_Position.w;\x0agl_Position.z=log2(max(0.000001,vFragmentDepth))*logarithmicDepthConstant;\x0a#endif\x0a','createRawTexture2DArray','source','defined($1)','cellIndex','//Constants\x0d\x0a','};\x0avar\x20fragmentOutputs\x20:\x20FragmentOutputs;\x0a','test','_submitVRFrame','lookForClosingBracketForUniformBuffer','gpuUpdateParticlesComputeShader','internal\x20process\x20texture\x20-\x20invertY=','#if\x20defined(BUMP)\x20||\x20!defined(NORMAL)\x20||\x20defined(FORCENORMALFORWARD)\x20||\x20defined(SPECULARAA)\x20||\x20defined(CLEARCOAT_BUMP)\x20||\x20defined(ANISOTROPIC)\x0a#extension\x20GL_OES_standard_derivatives\x20:\x20enable\x0a#endif\x0a#ifdef\x20LODBASEDMICROSFURACE\x0a#extension\x20GL_EXT_shader_texture_lod\x20:\x20enable\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_BEGIN\x0a#ifdef\x20LOGARITHMICDEPTH\x0a#extension\x20GL_EXT_frag_depth\x20:\x20enable\x0a#endif\x0a#include[SCENE_MRT_COUNT]\x0aprecision\x20highp\x20float;\x0a#include\x0a#ifndef\x20FROMLINEARSPACE\x0a#define\x20FROMLINEARSPACE\x0a#endif\x0a#include<__decl__pbrFragment>\x0a#include\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0a#ifdef\x20REFLECTION\x0a#include\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include\x0a#include\x0a#include\x0a#include\x0aalbedoOpacityOutParams\x20albedoOpacityOut;\x0a#ifdef\x20ALBEDO\x0avec4\x20albedoTexture=texture2D(albedoSampler,vAlbedoUV+uvOffset);\x0a#endif\x0a#ifdef\x20OPACITY\x0avec4\x20opacityMap=texture2D(opacitySampler,vOpacityUV+uvOffset);\x0a#endif\x0a#ifdef\x20DECAL\x0avec4\x20decalColor=texture2D(decalSampler,vDecalUV+uvOffset);\x0a#endif\x0aalbedoOpacityBlock(\x0avAlbedoColor,\x0a#ifdef\x20ALBEDO\x0aalbedoTexture,\x0avAlbedoInfos,\x0a#endif\x0a#ifdef\x20OPACITY\x0aopacityMap,\x0avOpacityInfos,\x0a#endif\x0a#ifdef\x20DETAIL\x0adetailColor,\x0avDetailInfos,\x0a#endif\x0a#ifdef\x20DECAL\x0adecalColor,\x0avDecalInfos,\x0a#endif\x0aalbedoOpacityOut\x0a);\x0avec3\x20surfaceAlbedo=albedoOpacityOut.surfaceAlbedo;\x0afloat\x20alpha=albedoOpacityOut.alpha;\x0a#define\x20CUSTOM_FRAGMENT_UPDATE_ALPHA\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_LIGHTS\x0aambientOcclusionOutParams\x20aoOut;\x0a#ifdef\x20AMBIENT\x0avec3\x20ambientOcclusionColorMap=texture2D(ambientSampler,vAmbientUV+uvOffset).rgb;\x0a#endif\x0aambientOcclusionBlock(\x0a#ifdef\x20AMBIENT\x0aambientOcclusionColorMap,\x0avAmbientInfos,\x0a#endif\x0aaoOut\x0a);\x0a#include\x0a#ifdef\x20UNLIT\x0avec3\x20diffuseBase=vec3(1.,1.,1.);\x0a#else\x0avec3\x20baseColor=surfaceAlbedo;\x0areflectivityOutParams\x20reflectivityOut;\x0a#if\x20defined(REFLECTIVITY)\x0avec4\x20surfaceMetallicOrReflectivityColorMap=texture2D(reflectivitySampler,vReflectivityUV+uvOffset);\x0avec4\x20baseReflectivity=surfaceMetallicOrReflectivityColorMap;\x0a#ifndef\x20METALLICWORKFLOW\x0a#ifdef\x20REFLECTIVITY_GAMMA\x0asurfaceMetallicOrReflectivityColorMap=toLinearSpace(surfaceMetallicOrReflectivityColorMap);\x0a#endif\x0asurfaceMetallicOrReflectivityColorMap.rgb*=vReflectivityInfos.y;\x0a#endif\x0a#endif\x0a#if\x20defined(MICROSURFACEMAP)\x0avec4\x20microSurfaceTexel=texture2D(microSurfaceSampler,vMicroSurfaceSamplerUV+uvOffset)*vMicroSurfaceSamplerInfos.y;\x0a#endif\x0a#ifdef\x20METALLICWORKFLOW\x0avec4\x20metallicReflectanceFactors=vMetallicReflectanceFactors;\x0a#ifdef\x20REFLECTANCE\x0avec4\x20reflectanceFactorsMap=texture2D(reflectanceSampler,vReflectanceUV+uvOffset);\x0a#ifdef\x20REFLECTANCE_GAMMA\x0areflectanceFactorsMap=toLinearSpace(reflectanceFactorsMap);\x0a#endif\x0ametallicReflectanceFactors.rgb*=reflectanceFactorsMap.rgb;\x0a#endif\x0a#ifdef\x20METALLIC_REFLECTANCE\x0avec4\x20metallicReflectanceFactorsMap=texture2D(metallicReflectanceSampler,vMetallicReflectanceUV+uvOffset);\x0a#ifdef\x20METALLIC_REFLECTANCE_GAMMA\x0ametallicReflectanceFactorsMap=toLinearSpace(metallicReflectanceFactorsMap);\x0a#endif\x0a#ifndef\x20METALLIC_REFLECTANCE_USE_ALPHA_ONLY\x0ametallicReflectanceFactors.rgb*=metallicReflectanceFactorsMap.rgb;\x0a#endif\x0ametallicReflectanceFactors*=metallicReflectanceFactorsMap.a;\x0a#endif\x0a#endif\x0areflectivityBlock(\x0avReflectivityColor,\x0a#ifdef\x20METALLICWORKFLOW\x0asurfaceAlbedo,\x0ametallicReflectanceFactors,\x0a#endif\x0a#ifdef\x20REFLECTIVITY\x0avReflectivityInfos,\x0asurfaceMetallicOrReflectivityColorMap,\x0a#endif\x0a#if\x20defined(METALLICWORKFLOW)\x20&&\x20defined(REFLECTIVITY)\x20&&\x20defined(AOSTOREINMETALMAPRED)\x0aaoOut.ambientOcclusionColor,\x0a#endif\x0a#ifdef\x20MICROSURFACEMAP\x0amicroSurfaceTexel,\x0a#endif\x0a#ifdef\x20DETAIL\x0adetailColor,\x0avDetailInfos,\x0a#endif\x0areflectivityOut\x0a);\x0afloat\x20microSurface=reflectivityOut.microSurface;\x0afloat\x20roughness=reflectivityOut.roughness;\x0a#ifdef\x20METALLICWORKFLOW\x0asurfaceAlbedo=reflectivityOut.surfaceAlbedo;\x0a#endif\x0a#if\x20defined(METALLICWORKFLOW)\x20&&\x20defined(REFLECTIVITY)\x20&&\x20defined(AOSTOREINMETALMAPRED)\x0aaoOut.ambientOcclusionColor=reflectivityOut.ambientOcclusionColor;\x0a#endif\x0a#ifdef\x20ALPHAFRESNEL\x0a#if\x20defined(ALPHATEST)\x20||\x20defined(ALPHABLEND)\x0aalphaFresnelOutParams\x20alphaFresnelOut;\x0aalphaFresnelBlock(\x0anormalW,\x0aviewDirectionW,\x0aalpha,\x0amicroSurface,\x0aalphaFresnelOut\x0a);\x0aalpha=alphaFresnelOut.alpha;\x0a#endif\x0a#endif\x0a#include\x0a#ifdef\x20ANISOTROPIC\x0aanisotropicOutParams\x20anisotropicOut;\x0a#ifdef\x20ANISOTROPIC_TEXTURE\x0avec3\x20anisotropyMapData=texture2D(anisotropySampler,vAnisotropyUV+uvOffset).rgb*vAnisotropyInfos.y;\x0a#endif\x0aanisotropicBlock(\x0avAnisotropy,\x0a#ifdef\x20ANISOTROPIC_TEXTURE\x0aanisotropyMapData,\x0a#endif\x0aTBN,\x0anormalW,\x0aviewDirectionW,\x0aanisotropicOut\x0a);\x0a#endif\x0a#ifdef\x20REFLECTION\x0areflectionOutParams\x20reflectionOut;\x0a#ifndef\x20USE_CUSTOM_REFLECTION\x0areflectionBlock(\x0avPositionW,\x0anormalW,\x0aalphaG,\x0avReflectionMicrosurfaceInfos,\x0avReflectionInfos,\x0avReflectionColor,\x0a#ifdef\x20ANISOTROPIC\x0aanisotropicOut,\x0a#endif\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0aNdotVUnclamped,\x0a#endif\x0a#ifdef\x20LINEARSPECULARREFLECTION\x0aroughness,\x0a#endif\x0areflectionSampler,\x0a#if\x20defined(NORMAL)\x20&&\x20defined(USESPHERICALINVERTEX)\x0avEnvironmentIrradiance,\x0a#endif\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#if\x20!defined(NORMAL)\x20||\x20!defined(USESPHERICALINVERTEX)\x0areflectionMatrix,\x0a#endif\x0a#endif\x0a#ifdef\x20USEIRRADIANCEMAP\x0airradianceSampler,\x0a#endif\x0a#ifndef\x20LODBASEDMICROSFURACE\x0areflectionSamplerLow,\x0areflectionSamplerHigh,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0avReflectionFilteringInfo,\x0a#endif\x0areflectionOut\x0a);\x0a#else\x0a#define\x20CUSTOM_REFLECTION\x0a#endif\x0a#endif\x0a#include\x0a#ifdef\x20SHEEN\x0asheenOutParams\x20sheenOut;\x0a#ifdef\x20SHEEN_TEXTURE\x0avec4\x20sheenMapData=texture2D(sheenSampler,vSheenUV+uvOffset);\x0a#endif\x0a#if\x20defined(SHEEN_ROUGHNESS)\x20&&\x20defined(SHEEN_TEXTURE_ROUGHNESS)\x20&&\x20!defined(SHEEN_TEXTURE_ROUGHNESS_IDENTICAL)\x20&&\x20!defined(SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE)\x0avec4\x20sheenMapRoughnessData=texture2D(sheenRoughnessSampler,vSheenRoughnessUV+uvOffset)*vSheenInfos.w;\x0a#endif\x0asheenBlock(\x0avSheenColor,\x0a#ifdef\x20SHEEN_ROUGHNESS\x0avSheenRoughness,\x0a#if\x20defined(SHEEN_TEXTURE_ROUGHNESS)\x20&&\x20!defined(SHEEN_TEXTURE_ROUGHNESS_IDENTICAL)\x20&&\x20!defined(SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE)\x0asheenMapRoughnessData,\x0a#endif\x0a#endif\x0aroughness,\x0a#ifdef\x20SHEEN_TEXTURE\x0asheenMapData,\x0avSheenInfos.y,\x0a#endif\x0areflectance,\x0a#ifdef\x20SHEEN_LINKWITHALBEDO\x0abaseColor,\x0asurfaceAlbedo,\x0a#endif\x0a#ifdef\x20ENVIRONMENTBRDF\x0aNdotV,\x0aenvironmentBrdf,\x0a#endif\x0a#if\x20defined(REFLECTION)\x20&&\x20defined(ENVIRONMENTBRDF)\x0aAARoughnessFactors,\x0avReflectionMicrosurfaceInfos,\x0avReflectionInfos,\x0avReflectionColor,\x0avLightingIntensity,\x0areflectionSampler,\x0areflectionOut.reflectionCoords,\x0aNdotVUnclamped,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0areflectionSamplerLow,\x0areflectionSamplerHigh,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0avReflectionFilteringInfo,\x0a#endif\x0a#if\x20!defined(REFLECTIONMAP_SKYBOX)\x20&&\x20defined(RADIANCEOCCLUSION)\x0aseo,\x0a#endif\x0a#if\x20!defined(REFLECTIONMAP_SKYBOX)\x20&&\x20defined(HORIZONOCCLUSION)\x20&&\x20defined(BUMP)\x20&&\x20defined(REFLECTIONMAP_3D)\x0aeho,\x0a#endif\x0a#endif\x0asheenOut\x0a);\x0a#ifdef\x20SHEEN_LINKWITHALBEDO\x0asurfaceAlbedo=sheenOut.surfaceAlbedo;\x0a#endif\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0avec2\x20clearCoatMapData=texture2D(clearCoatSampler,vClearCoatUV+uvOffset).rg*vClearCoatInfos.y;\x0a#endif\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0airidescenceOutParams\x20iridescenceOut;\x0a#ifdef\x20IRIDESCENCE_TEXTURE\x0avec2\x20iridescenceMapData=texture2D(iridescenceSampler,vIridescenceUV+uvOffset).rg*vIridescenceInfos.y;\x0a#endif\x0a#ifdef\x20IRIDESCENCE_THICKNESS_TEXTURE\x0avec2\x20iridescenceThicknessMapData=texture2D(iridescenceThicknessSampler,vIridescenceThicknessUV+uvOffset).rg*vIridescenceInfos.w;\x0a#endif\x0airidescenceBlock(\x0avIridescenceParams,\x0aNdotV,\x0aspecularEnvironmentR0,\x0a#ifdef\x20IRIDESCENCE_TEXTURE\x0airidescenceMapData,\x0a#endif\x0a#ifdef\x20IRIDESCENCE_THICKNESS_TEXTURE\x0airidescenceThicknessMapData,\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0aNdotVUnclamped,\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0aclearCoatMapData,\x0a#endif\x0a#endif\x0airidescenceOut\x0a);\x0afloat\x20iridescenceIntensity=iridescenceOut.iridescenceIntensity;\x0aspecularEnvironmentR0=iridescenceOut.specularEnvironmentR0;\x0a#endif\x0aclearcoatOutParams\x20clearcoatOut;\x0a#ifdef\x20CLEARCOAT\x0a#if\x20defined(CLEARCOAT_TEXTURE_ROUGHNESS)\x20&&\x20!defined(CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL)\x20&&\x20!defined(CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE)\x0avec4\x20clearCoatMapRoughnessData=texture2D(clearCoatRoughnessSampler,vClearCoatRoughnessUV+uvOffset)*vClearCoatInfos.w;\x0a#endif\x0a#if\x20defined(CLEARCOAT_TINT)\x20&&\x20defined(CLEARCOAT_TINT_TEXTURE)\x0avec4\x20clearCoatTintMapData=texture2D(clearCoatTintSampler,vClearCoatTintUV+uvOffset);\x0a#endif\x0a#ifdef\x20CLEARCOAT_BUMP\x0avec4\x20clearCoatBumpMapData=texture2D(clearCoatBumpSampler,vClearCoatBumpUV+uvOffset);\x0a#endif\x0aclearcoatBlock(\x0avPositionW,\x0ageometricNormalW,\x0aviewDirectionW,\x0avClearCoatParams,\x0a#if\x20defined(CLEARCOAT_TEXTURE_ROUGHNESS)\x20&&\x20!defined(CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL)\x20&&\x20!defined(CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE)\x0aclearCoatMapRoughnessData,\x0a#endif\x0aspecularEnvironmentR0,\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0aclearCoatMapData,\x0a#endif\x0a#ifdef\x20CLEARCOAT_TINT\x0avClearCoatTintParams,\x0aclearCoatColorAtDistance,\x0avClearCoatRefractionParams,\x0a#ifdef\x20CLEARCOAT_TINT_TEXTURE\x0aclearCoatTintMapData,\x0a#endif\x0a#endif\x0a#ifdef\x20CLEARCOAT_BUMP\x0avClearCoatBumpInfos,\x0aclearCoatBumpMapData,\x0avClearCoatBumpUV,\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x0avTBN,\x0a#else\x0avClearCoatTangentSpaceParams,\x0a#endif\x0a#ifdef\x20OBJECTSPACE_NORMALMAP\x0anormalMatrix,\x0a#endif\x0a#endif\x0a#if\x20defined(FORCENORMALFORWARD)\x20&&\x20defined(NORMAL)\x0afaceNormal,\x0a#endif\x0a#ifdef\x20REFLECTION\x0avReflectionMicrosurfaceInfos,\x0avReflectionInfos,\x0avReflectionColor,\x0avLightingIntensity,\x0areflectionSampler,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0areflectionSamplerLow,\x0areflectionSamplerHigh,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0avReflectionFilteringInfo,\x0a#endif\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0a#ifdef\x20RADIANCEOCCLUSION\x0aambientMonochrome,\x0a#endif\x0a#endif\x0a#if\x20defined(CLEARCOAT_BUMP)\x20||\x20defined(TWOSIDEDLIGHTING)\x0a(gl_FrontFacing\x20?\x201.\x20:\x20-1.),\x0a#endif\x0aclearcoatOut\x0a);\x0a#else\x0aclearcoatOut.specularEnvironmentR0=specularEnvironmentR0;\x0a#endif\x0a#include\x0asubSurfaceOutParams\x20subSurfaceOut;\x0a#ifdef\x20SUBSURFACE\x0a#ifdef\x20SS_THICKNESSANDMASK_TEXTURE\x0avec4\x20thicknessMap=texture2D(thicknessSampler,vThicknessUV+uvOffset);\x0a#endif\x0a#ifdef\x20SS_REFRACTIONINTENSITY_TEXTURE\x0avec4\x20refractionIntensityMap=texture2D(refractionIntensitySampler,vRefractionIntensityUV+uvOffset);\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCYINTENSITY_TEXTURE\x0avec4\x20translucencyIntensityMap=texture2D(translucencyIntensitySampler,vTranslucencyIntensityUV+uvOffset);\x0a#endif\x0asubSurfaceBlock(\x0avSubSurfaceIntensity,\x0avThicknessParam,\x0avTintColor,\x0anormalW,\x0aspecularEnvironmentReflectance,\x0a#ifdef\x20SS_THICKNESSANDMASK_TEXTURE\x0athicknessMap,\x0a#endif\x0a#ifdef\x20SS_REFRACTIONINTENSITY_TEXTURE\x0arefractionIntensityMap,\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCYINTENSITY_TEXTURE\x0atranslucencyIntensityMap,\x0a#endif\x0a#ifdef\x20REFLECTION\x0a#ifdef\x20SS_TRANSLUCENCY\x0areflectionMatrix,\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#if\x20!defined(NORMAL)\x20||\x20!defined(USESPHERICALINVERTEX)\x0areflectionOut.irradianceVector,\x0a#endif\x0a#if\x20defined(REALTIME_FILTERING)\x0areflectionSampler,\x0avReflectionFilteringInfo,\x0a#endif\x0a#endif\x0a#ifdef\x20USEIRRADIANCEMAP\x0airradianceSampler,\x0a#endif\x0a#endif\x0a#endif\x0a#if\x20defined(SS_REFRACTION)\x20||\x20defined(SS_TRANSLUCENCY)\x0asurfaceAlbedo,\x0a#endif\x0a#ifdef\x20SS_REFRACTION\x0avPositionW,\x0aviewDirectionW,\x0aview,\x0avRefractionInfos,\x0arefractionMatrix,\x0avRefractionMicrosurfaceInfos,\x0avLightingIntensity,\x0a#ifdef\x20SS_LINKREFRACTIONTOTRANSPARENCY\x0aalpha,\x0a#endif\x0a#ifdef\x20SS_LODINREFRACTIONALPHA\x0aNdotVUnclamped,\x0a#endif\x0a#ifdef\x20SS_LINEARSPECULARREFRACTION\x0aroughness,\x0a#endif\x0aalphaG,\x0arefractionSampler,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0arefractionSamplerLow,\x0arefractionSamplerHigh,\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0aanisotropicOut,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0avRefractionFilteringInfo,\x0a#endif\x0a#ifdef\x20SS_USE_LOCAL_REFRACTIONMAP_CUBIC\x0avRefractionPosition,\x0avRefractionSize,\x0a#endif\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCY\x0avDiffusionDistance,\x0a#endif\x0asubSurfaceOut\x0a);\x0a#ifdef\x20SS_REFRACTION\x0asurfaceAlbedo=subSurfaceOut.surfaceAlbedo;\x0a#ifdef\x20SS_LINKREFRACTIONTOTRANSPARENCY\x0aalpha=subSurfaceOut.alpha;\x0a#endif\x0a#endif\x0a#else\x0asubSurfaceOut.specularEnvironmentReflectance=specularEnvironmentReflectance;\x0a#endif\x0a#include\x0a#include[0..maxSimultaneousLights]\x0a#include\x0a#endif\x20\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_FINALCOLORCOMPOSITION\x0a#include\x0a#include\x0a#include(color,finalColor)\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_FRAGCOLOR\x0a#ifdef\x20PREPASS\x0afloat\x20writeGeometryInfo=finalColor.a>0.4\x20?\x201.0\x20:\x200.0;\x0a#ifdef\x20PREPASS_POSITION\x0agl_FragData[PREPASS_POSITION_INDEX]=vec4(vPositionW,writeGeometryInfo);\x0a#endif\x0a#ifdef\x20PREPASS_VELOCITY\x0avec2\x20a=(vCurrentPosition.xy/vCurrentPosition.w)*0.5+0.5;\x0avec2\x20b=(vPreviousPosition.xy/vPreviousPosition.w)*0.5+0.5;\x0avec2\x20velocity=abs(a-b);\x0avelocity=vec2(pow(velocity.x,1.0/3.0),pow(velocity.y,1.0/3.0))*sign(a-b)*0.5+0.5;\x0agl_FragData[PREPASS_VELOCITY_INDEX]=vec4(velocity,0.0,writeGeometryInfo);\x0a#endif\x0a#ifdef\x20PREPASS_ALBEDO_SQRT\x0avec3\x20sqAlbedo=sqrt(surfaceAlbedo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_IRRADIANCE\x0avec3\x20irradiance=finalDiffuse;\x0a#ifndef\x20UNLIT\x0a#ifdef\x20REFLECTION\x0airradiance+=finalIrradiance;\x0a#endif\x0a#endif\x0a#ifdef\x20SS_SCATTERING\x0agl_FragData[0]=vec4(finalColor.rgb-irradiance,finalColor.a);\x20\x0airradiance/=sqAlbedo;\x0a#else\x0agl_FragData[0]=finalColor;\x20\x0afloat\x20scatteringDiffusionProfile=255.;\x0a#endif\x0agl_FragData[PREPASS_IRRADIANCE_INDEX]=vec4(clamp(irradiance,vec3(0.),vec3(1.)),writeGeometryInfo*scatteringDiffusionProfile/255.);\x20\x0a#else\x0agl_FragData[0]=vec4(finalColor.rgb,finalColor.a);\x0a#endif\x0a#ifdef\x20PREPASS_DEPTH\x0agl_FragData[PREPASS_DEPTH_INDEX]=vec4(vViewPos.z,0.0,0.0,writeGeometryInfo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_NORMAL\x0agl_FragData[PREPASS_NORMAL_INDEX]=vec4(normalize((view*vec4(normalW,0.0)).rgb),writeGeometryInfo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_ALBEDO_SQRT\x0agl_FragData[PREPASS_ALBEDO_SQRT_INDEX]=vec4(sqAlbedo,writeGeometryInfo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_REFLECTIVITY\x0a#ifndef\x20UNLIT\x0agl_FragData[PREPASS_REFLECTIVITY_INDEX]=vec4(specularEnvironmentR0,microSurface)*writeGeometryInfo;\x0a#else\x0agl_FragData[PREPASS_REFLECTIVITY_INDEX]=vec4(\x200.0,0.0,0.0,1.0\x20)*writeGeometryInfo;\x0a#endif\x0a#endif\x0a#endif\x0a#if\x20!defined(PREPASS)\x20||\x20defined(WEBGL2)\x0agl_FragColor=finalColor;\x0a#endif\x0a#include\x0a#if\x20ORDER_INDEPENDENT_TRANSPARENCY\x0aif\x20(fragDepth==nearestDepth)\x20{\x0afrontColor.rgb+=finalColor.rgb*finalColor.a*alphaMultiplier;\x0afrontColor.a=1.0-alphaMultiplier*(1.0-finalColor.a);\x0a}\x20else\x20{\x0abackColor+=finalColor;\x0a}\x0a#endif\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','INTENSITYMODE_LUMINOUSPOWER','precision\x20highp\x20float;\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include\x0auniform\x20vec3\x20cameraPosition;\x0auniform\x20vec3\x20cameraOffset;\x0auniform\x20vec3\x20up;\x0auniform\x20float\x20luminance;\x0auniform\x20float\x20turbidity;\x0auniform\x20float\x20rayleigh;\x0auniform\x20float\x20mieCoefficient;\x0auniform\x20float\x20mieDirectionalG;\x0auniform\x20vec3\x20sunPosition;\x0a#include\x0aconst\x20float\x20e=2.71828182845904523536028747135266249775724709369995957;\x0aconst\x20float\x20pi=3.141592653589793238462643383279502884197169;\x0aconst\x20float\x20n=1.0003;\x0aconst\x20float\x20N=2.545E25;\x0aconst\x20float\x20pn=0.035;\x0aconst\x20vec3\x20lambda=vec3(680E-9,550E-9,450E-9);\x0aconst\x20vec3\x20K=vec3(0.686,0.678,0.666);\x0aconst\x20float\x20v=4.0;\x0aconst\x20float\x20rayleighZenithLength=8.4E3;\x0aconst\x20float\x20mieZenithLength=1.25E3;\x0aconst\x20float\x20EE=1000.0;\x0aconst\x20float\x20sunAngularDiameterCos=0.999956676946448443553574619906976478926848692873900859324;\x0aconst\x20float\x20cutoffAngle=pi/1.95;\x0aconst\x20float\x20steepness=1.5;\x0avec3\x20totalRayleigh(vec3\x20lambda)\x0a{\x0areturn\x20(8.0*pow(pi,3.0)*pow(pow(n,2.0)-1.0,2.0)*(6.0+3.0*pn))/(3.0*N*pow(lambda,vec3(4.0))*(6.0-7.0*pn));\x0a}\x0avec3\x20simplifiedRayleigh()\x0a{\x0areturn\x200.0005/vec3(94,40,18);\x0a}\x0afloat\x20rayleighPhase(float\x20cosTheta)\x0a{\x20\x0areturn\x20(3.0/(16.0*pi))*(1.0+pow(cosTheta,2.0));\x0a}\x0avec3\x20totalMie(vec3\x20lambda,vec3\x20K,float\x20T)\x0a{\x0afloat\x20c=(0.2*T\x20)*10E-18;\x0areturn\x200.434*c*pi*pow((2.0*pi)/lambda,vec3(v-2.0))*K;\x0a}\x0afloat\x20hgPhase(float\x20cosTheta,float\x20g)\x0a{\x0areturn\x20(1.0/(4.0*pi))*((1.0-pow(g,2.0))/pow(1.0-2.0*g*cosTheta+pow(g,2.0),1.5));\x0a}\x0afloat\x20sunIntensity(float\x20zenithAngleCos)\x0a{\x0areturn\x20EE*max(0.0,1.0-exp((-(cutoffAngle-acos(zenithAngleCos))/steepness)));\x0a}\x0afloat\x20A=0.15;\x0afloat\x20B=0.50;\x0afloat\x20C=0.10;\x0afloat\x20D=0.20;\x0afloat\x20EEE=0.02;\x0afloat\x20F=0.30;\x0afloat\x20W=1000.0;\x0avec3\x20Uncharted2Tonemap(vec3\x20x)\x0a{\x0areturn\x20((x*(A*x+C*B)+D*EEE)/(x*(A*x+B)+D*F))-EEE/F;\x0a}\x0a#if\x20DITHER\x0a#include\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include\x0a/**\x0a*--------------------------------------------------------------------------------------------------\x0a*\x20Sky\x20Color\x0a*--------------------------------------------------------------------------------------------------\x0a*/\x0afloat\x20sunfade=1.0-clamp(1.0-exp((sunPosition.y/450000.0)),0.0,1.0);\x0afloat\x20rayleighCoefficient=rayleigh-(1.0*(1.0-sunfade));\x0avec3\x20sunDirection=normalize(sunPosition);\x0afloat\x20sunE=sunIntensity(dot(sunDirection,up));\x0avec3\x20betaR=simplifiedRayleigh()*rayleighCoefficient;\x0avec3\x20betaM=totalMie(lambda,K,turbidity)*mieCoefficient;\x0afloat\x20zenithAngle=acos(max(0.0,dot(up,normalize(vPositionW-cameraPosition+cameraOffset))));\x0afloat\x20sR=rayleighZenithLength/(cos(zenithAngle)+0.15*pow(93.885-((zenithAngle*180.0)/pi),-1.253));\x0afloat\x20sM=mieZenithLength/(cos(zenithAngle)+0.15*pow(93.885-((zenithAngle*180.0)/pi),-1.253));\x0avec3\x20Fex=exp(-(betaR*sR+betaM*sM));\x0afloat\x20cosTheta=dot(normalize(vPositionW-cameraPosition),sunDirection);\x0afloat\x20rPhase=rayleighPhase(cosTheta*0.5+0.5);\x0avec3\x20betaRTheta=betaR*rPhase;\x0afloat\x20mPhase=hgPhase(cosTheta,mieDirectionalG);\x0avec3\x20betaMTheta=betaM*mPhase;\x0avec3\x20Lin=pow(sunE*((betaRTheta+betaMTheta)/(betaR+betaM))*(1.0-Fex),vec3(1.5));\x0aLin*=mix(vec3(1.0),pow(sunE*((betaRTheta+betaMTheta)/(betaR+betaM))*Fex,vec3(1.0/2.0)),clamp(pow(1.0-dot(up,sunDirection),5.0),0.0,1.0));\x0avec3\x20direction=normalize(vPositionW-cameraPosition);\x0afloat\x20theta=acos(direction.y);\x0afloat\x20phi=atan(direction.z,direction.x);\x0avec2\x20uv=vec2(phi,theta)/vec2(2.0*pi,pi)+vec2(0.5,0.0);\x0avec3\x20L0=vec3(0.1)*Fex;\x0afloat\x20sundisk=smoothstep(sunAngularDiameterCos,sunAngularDiameterCos+0.00002,cosTheta);\x0aL0+=(sunE*19000.0*Fex)*sundisk;\x0avec3\x20whiteScale=1.0/Uncharted2Tonemap(vec3(W));\x0avec3\x20texColor=(Lin+L0);\x0atexColor*=0.04\x20;\x0atexColor+=vec3(0.0,0.001,0.0025)*0.3;\x0afloat\x20g_fMaxLuminance=1.0;\x0afloat\x20fLumScaled=0.1/luminance;\x20\x0afloat\x20fLumCompressed=(fLumScaled*(1.0+(fLumScaled/(g_fMaxLuminance*g_fMaxLuminance))))/(1.0+fLumScaled);\x20\x0afloat\x20ExposureBias=fLumCompressed;\x0avec3\x20curr=Uncharted2Tonemap((log2(2.0/pow(luminance,4.0)))*texColor);\x0avec3\x20retColor=curr*whiteScale;\x0a/**\x0a*--------------------------------------------------------------------------------------------------\x0a*\x20Sky\x20Color\x0a*--------------------------------------------------------------------------------------------------\x0a*/\x0afloat\x20alpha=1.0;\x0a#ifdef\x20VERTEXCOLOR\x0aretColor.rgb*=vColor.rgb;\x0a#endif\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#if\x20DITHER\x0aretColor.rgb+=dither(gl_FragCoord.xy,0.5);\x0a#endif\x0avec4\x20color=clamp(vec4(retColor.rgb,alpha),0.0,1.0);\x0a#include\x0agl_FragColor=color;\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','_getRGBABufferInternalSizedFormat','textE','textureSampler','textureBlur','_pickMove','samplingMode','//Attributes\x0d\x0a','ASTC8x6Unorm','_keys','opStencilFail','TEXTURE_CUBE_MAP','_pointerMoveStage','_processSamplers','forceSphericalPolynomialsRecompute','_delayedClicks','ShadersInclude/','RGB9E5UFloat','RG16Float','onEndFrameObservable','readFromStorageBuffer:\x20Unsupported\x20method\x20in\x20this\x20engine!','_getProjectedParticleConstant','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20float\x20_ExposureAdjustment;\x0a#if\x20defined(HABLE_TONEMAPPING)\x0aconst\x20float\x20A=0.15;\x0aconst\x20float\x20B=0.50;\x0aconst\x20float\x20C=0.10;\x0aconst\x20float\x20D=0.20;\x0aconst\x20float\x20E=0.02;\x0aconst\x20float\x20F=0.30;\x0aconst\x20float\x20W=11.2;\x0a#endif\x0afloat\x20Luminance(vec3\x20c)\x0a{\x0areturn\x20dot(c,vec3(0.22,0.707,0.071));\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0avec3\x20colour=texture2D(textureSampler,vUV).rgb;\x0a#if\x20defined(REINHARD_TONEMAPPING)\x0afloat\x20lum=Luminance(colour.rgb);\x20\x0afloat\x20lumTm=lum*_ExposureAdjustment;\x0afloat\x20scale=lumTm/(1.0+lumTm);\x20\x0acolour*=scale/lum;\x0a#elif\x20defined(HABLE_TONEMAPPING)\x0acolour*=_ExposureAdjustment;\x0aconst\x20float\x20ExposureBias=2.0;\x0avec3\x20x=ExposureBias*colour;\x0avec3\x20curr=((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F;\x0ax=vec3(W,W,W);\x0avec3\x20whiteScale=1.0/(((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F);\x0acolour=curr*whiteScale;\x0a#elif\x20defined(OPTIMIZED_HEJIDAWSON_TONEMAPPING)\x0acolour*=_ExposureAdjustment;\x0avec3\x20X=max(vec3(0.0,0.0,0.0),colour-0.004);\x0avec3\x20retColor=(X*(6.2*X+0.5))/(X*(6.2*X+1.7)+0.06);\x0acolour=retColor*retColor;\x0a#elif\x20defined(PHOTOGRAPHIC_TONEMAPPING)\x0acolour=\x20vec3(1.0,1.0,1.0)-exp2(-_ExposureAdjustment*colour);\x0a#endif\x0agl_FragColor=vec4(colour.rgb,1.0);\x0a}','_cascadeLoadFiles','tan','textureMaxLevel','Uint','_BuildExpression','texturesSupported','REFLECTIONMAP_PROJECTION','vFogInfos','#endif','setVector2','vFogColor','renderbufferStorageMultisample','Size','targetTypes','deviceSlot','_textureHelper','isFixedFoveationSupported','onActivateObservable','#ifdef\x20LOGARITHMICDEPTH\x0agl_FragDepthEXT=log2(vFragmentDepth)*logarithmicDepthConstant*0.5;\x0a#endif\x0a','LeftOvertUBOName','TEXTURE_SPHERICAL_MODE','_vrDisplay','ALPHA_EXCLUSION','decalMap','MAINUV4','TEXTURE_3D','_prepareVRComponent','_blendEquationParameters','\x5cs*\x5c[(.*)\x5c]','\x20/=\x20','#define\x20FOG','spritesVertexShader','_PreparePreProcessors','_getShaderSource','_enabled','mat4','references','_leftOverUniformsByName','bindFramebuffer','PREPASS_COLOR_TEXTURE_TYPE','modelTotalCount','ssaoPixelShader','_list','iridescence','_rttRenderPassWrapper','updateMultipleRenderTargetTextureSampleCount','_querySet','_getGLType','keys','Touch','opStencilDepthPass','add','kernelBlurVertexShader','//Samplers\x0d\x0a','remove','split','_attributesWGSL','#else','applyBlurPostProcesses','_ubCopyWithOfst','BGRA8UnormSRGB','_prepareComputePipelineContext','_depthStencilTextureWithStencil','_getVertexShaderCode','Unknown','MODE_MONOSCOPIC','setMatrix','removePipeline','#define\x20PIXEL_PERFECT\x0a','_thinInstanceDataStorage','Render\x20to\x20float\x20textures\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20forced\x20to\x20false.','No\x20fixed\x20size\x20for\x20Depth24PlusStencil8\x20format!','compileGLSL','updateFloat4','ALPHA_COMBINE','_emit2DSampler','setStencilReference','clickInfo','getClassName','originalPickingInfo','setSampler','kernelBlurPixelShader','preventDefaultOnPointerDown','LIGHTMAP_SHADOWSONLY','highRefreshRate','updateInt4','_onVRDisplayPointerRestricted','_dstBuffers','_unIndexed','textD','worldMatrix','createMultipleRenderTarget','vClipPlane5','setUInt3','endRenderTargetPass','CubeArray','_thinInstanceCreateMatrixBuffer','ASTC6x6Unorm','vEyePosition','Comparison','effect','_updatePointerPosition','sin','_previousButtonPressed','first','_rebuild','layout(location\x20=\x200)\x20out\x20vec4\x20glFragColor;\x0a','numDrawCalls','TEXTUREFORMAT_RG','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20','ETC2RGB8UnormSRGB','IsImageBitmap','setViewport','Declaration','uniform\x20sampler2DArray\x20','_clearDepthValue','volumetricLightScatteringPassPixelShader','hasMoreFallbacks','_createComputePipelineStageDescriptor','-DepthStencil','_context','StorageTexture','singleClick','uniform\x20vec4\x20vEyePosition;\x0auniform\x20vec3\x20vReflectionColor;\x0auniform\x20vec4\x20vAlbedoColor;\x0auniform\x20vec4\x20vLightingIntensity;\x0auniform\x20vec4\x20vReflectivityColor;\x0auniform\x20vec4\x20vMetallicReflectanceFactors;\x0auniform\x20vec3\x20vEmissiveColor;\x0auniform\x20float\x20visibility;\x0auniform\x20vec3\x20vAmbientColor;\x0a#ifdef\x20ALBEDO\x0auniform\x20vec2\x20vAlbedoInfos;\x0a#endif\x0a#ifdef\x20AMBIENT\x0auniform\x20vec4\x20vAmbientInfos;\x0a#endif\x0a#ifdef\x20BUMP\x0auniform\x20vec3\x20vBumpInfos;\x0auniform\x20vec2\x20vTangentSpaceParams;\x0a#endif\x0a#ifdef\x20OPACITY\x0auniform\x20vec2\x20vOpacityInfos;\x0a#endif\x0a#ifdef\x20EMISSIVE\x0auniform\x20vec2\x20vEmissiveInfos;\x0a#endif\x0a#ifdef\x20LIGHTMAP\x0auniform\x20vec2\x20vLightmapInfos;\x0a#endif\x0a#ifdef\x20REFLECTIVITY\x0auniform\x20vec3\x20vReflectivityInfos;\x0a#endif\x0a#ifdef\x20MICROSURFACEMAP\x0auniform\x20vec2\x20vMicroSurfaceSamplerInfos;\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_SPHERICAL)\x20||\x20defined(REFLECTIONMAP_PROJECTION)\x20||\x20defined(SS_REFRACTION)\x20||\x20defined(PREPASS)\x0auniform\x20mat4\x20view;\x0a#endif\x0a#ifdef\x20REFLECTION\x0auniform\x20vec2\x20vReflectionInfos;\x0a#ifdef\x20REALTIME_FILTERING\x0auniform\x20vec2\x20vReflectionFilteringInfo;\x0a#endif\x0auniform\x20mat4\x20reflectionMatrix;\x0auniform\x20vec3\x20vReflectionMicrosurfaceInfos;\x0a#if\x20defined(USE_LOCAL_REFLECTIONMAP_CUBIC)\x20&&\x20defined(REFLECTIONMAP_CUBIC)\x0auniform\x20vec3\x20vReflectionPosition;\x0auniform\x20vec3\x20vReflectionSize;\x20\x0a#endif\x0a#endif\x0a#if\x20defined(SS_REFRACTION)\x20&&\x20defined(SS_USE_LOCAL_REFRACTIONMAP_CUBIC)\x0auniform\x20vec3\x20vRefractionPosition;\x0auniform\x20vec3\x20vRefractionSize;\x20\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0auniform\x20vec2\x20vClearCoatParams;\x0auniform\x20vec4\x20vClearCoatRefractionParams;\x0a#if\x20defined(CLEARCOAT_TEXTURE)\x20||\x20defined(CLEARCOAT_TEXTURE_ROUGHNESS)\x0auniform\x20vec4\x20vClearCoatInfos;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0auniform\x20mat4\x20clearCoatMatrix;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TEXTURE_ROUGHNESS\x0auniform\x20mat4\x20clearCoatRoughnessMatrix;\x0a#endif\x0a#ifdef\x20CLEARCOAT_BUMP\x0auniform\x20vec2\x20vClearCoatBumpInfos;\x0auniform\x20vec2\x20vClearCoatTangentSpaceParams;\x0auniform\x20mat4\x20clearCoatBumpMatrix;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TINT\x0auniform\x20vec4\x20vClearCoatTintParams;\x0auniform\x20float\x20clearCoatColorAtDistance;\x0a#ifdef\x20CLEARCOAT_TINT_TEXTURE\x0auniform\x20vec2\x20vClearCoatTintInfos;\x0auniform\x20mat4\x20clearCoatTintMatrix;\x0a#endif\x0a#endif\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0auniform\x20vec4\x20vIridescenceParams;\x0a#if\x20defined(IRIDESCENCE_TEXTURE)\x20||\x20defined(IRIDESCENCE_THICKNESS_TEXTURE)\x0auniform\x20vec4\x20vIridescenceInfos;\x0a#endif\x0a#ifdef\x20IRIDESCENCE_TEXTURE\x0auniform\x20mat4\x20iridescenceMatrix;\x0a#endif\x0a#ifdef\x20IRIDESCENCE_THICKNESS_TEXTURE\x0auniform\x20mat4\x20iridescenceThicknessMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0auniform\x20vec3\x20vAnisotropy;\x0a#ifdef\x20ANISOTROPIC_TEXTURE\x0auniform\x20vec2\x20vAnisotropyInfos;\x0auniform\x20mat4\x20anisotropyMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20SHEEN\x0auniform\x20vec4\x20vSheenColor;\x0a#ifdef\x20SHEEN_ROUGHNESS\x0auniform\x20float\x20vSheenRoughness;\x0a#endif\x0a#if\x20defined(SHEEN_TEXTURE)\x20||\x20defined(SHEEN_TEXTURE_ROUGHNESS)\x0auniform\x20vec4\x20vSheenInfos;\x0a#endif\x0a#ifdef\x20SHEEN_TEXTURE\x0auniform\x20mat4\x20sheenMatrix;\x0a#endif\x0a#ifdef\x20SHEEN_TEXTURE_ROUGHNESS\x0auniform\x20mat4\x20sheenRoughnessMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20SUBSURFACE\x0a#ifdef\x20SS_REFRACTION\x0auniform\x20vec4\x20vRefractionMicrosurfaceInfos;\x0auniform\x20vec4\x20vRefractionInfos;\x0auniform\x20mat4\x20refractionMatrix;\x0a#ifdef\x20REALTIME_FILTERING\x0auniform\x20vec2\x20vRefractionFilteringInfo;\x0a#endif\x0a#endif\x0a#ifdef\x20SS_THICKNESSANDMASK_TEXTURE\x0auniform\x20vec2\x20vThicknessInfos;\x0auniform\x20mat4\x20thicknessMatrix;\x0a#endif\x0a#ifdef\x20SS_REFRACTIONINTENSITY_TEXTURE\x0auniform\x20vec2\x20vRefractionIntensityInfos;\x0auniform\x20mat4\x20refractionIntensityMatrix;\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCYINTENSITY_TEXTURE\x0auniform\x20vec2\x20vTranslucencyIntensityInfos;\x0auniform\x20mat4\x20translucencyIntensityMatrix;\x0a#endif\x0auniform\x20vec2\x20vThicknessParam;\x0auniform\x20vec3\x20vDiffusionDistance;\x0auniform\x20vec4\x20vTintColor;\x0auniform\x20vec3\x20vSubSurfaceIntensity;\x0a#endif\x0a#ifdef\x20PREPASS\x0a#ifdef\x20SS_SCATTERING\x0auniform\x20float\x20scatteringDiffusionProfile;\x0a#endif\x0a#endif\x0a#if\x20DEBUGMODE>0\x0auniform\x20vec2\x20vDebugMode;\x0a#endif\x0a#ifdef\x20DETAIL\x0auniform\x20vec4\x20vDetailInfos;\x0a#endif\x0a#include\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#ifdef\x20SPHERICAL_HARMONICS\x0auniform\x20vec3\x20vSphericalL00;\x0auniform\x20vec3\x20vSphericalL1_1;\x0auniform\x20vec3\x20vSphericalL10;\x0auniform\x20vec3\x20vSphericalL11;\x0auniform\x20vec3\x20vSphericalL2_2;\x0auniform\x20vec3\x20vSphericalL2_1;\x0auniform\x20vec3\x20vSphericalL20;\x0auniform\x20vec3\x20vSphericalL21;\x0auniform\x20vec3\x20vSphericalL22;\x0a#else\x0auniform\x20vec3\x20vSphericalX;\x0auniform\x20vec3\x20vSphericalY;\x0auniform\x20vec3\x20vSphericalZ;\x0auniform\x20vec3\x20vSphericalXX_ZZ;\x0auniform\x20vec3\x20vSphericalYY_ZZ;\x0auniform\x20vec3\x20vSphericalZZ;\x0auniform\x20vec3\x20vSphericalXY;\x0auniform\x20vec3\x20vSphericalYZ;\x0auniform\x20vec3\x20vSphericalZX;\x0a#endif\x0a#endif\x0a#define\x20ADDITIONAL_FRAGMENT_DECLARATION\x0a','dataType','imageProcessingPixelShader','setUInt4','KnownUBOs','_extension','asArray','_lastUpdateFrameId','markAllAsDirty','wmips','UNSIGNED_INT_24_8','.texture.coordinatesMode\x20=\x20','sunDirection','unshift','_SamplerFunctionByWebGLSamplerType','updateUInt3','depthTextureExtension','TEXTURE_MIN_FILTER','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20screenSize;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec4\x20colorDepth=vec4(0.0);\x0afor\x20(int\x20x=-OFFSET;\x20x<=OFFSET;\x20x++)\x0afor\x20(int\x20y=-OFFSET;\x20y<=OFFSET;\x20y++)\x0acolorDepth+=texture2D(textureSampler,vUV+vec2(x,y)/screenSize);\x0agl_FragColor=(colorDepth/float((OFFSET*2+1)*(OFFSET*2+1)));\x0a}','samplerFragmentDeclaration','TEXTURE_CLAMP_ADDRESSMODE','_vrSupported','PreProcess','_finishBundle','define','scale','GL_ALPHA_EQUATION_REVERSE_SUBTRACT','fov','ASTC10x6UnormSRGB','captureGPUFrameTime','_currentRenderTarget','generateCubeMipmaps','blurMaxFilterSize','_defineEquirectangularName','call','_excludeVariableName','_builtCompilationString','updateFloat3','BilateralBlurY','Depth\x20cube\x20texture\x20is\x20not\x20supported\x20by\x20WebGL\x201.','#ifdef\x20ALPHATEST\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#include\x0avarying\x20float\x20vDepthMetric;\x0a#ifdef\x20PACKED\x0a#include\x0a#endif\x0a#ifdef\x20STORE_CAMERASPACE_Z\x0avarying\x20vec4\x20vViewPos;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#include\x0a#ifdef\x20ALPHATEST\x0aif\x20(texture2D(diffuseSampler,vUV).a<0.4)\x0adiscard;\x0a#endif\x0a#ifdef\x20STORE_CAMERASPACE_Z\x0a#ifdef\x20PACKED\x0agl_FragColor=pack(vViewPos.z);\x0a#else\x0agl_FragColor=vec4(vViewPos.z,0.0,0.0,1.0);\x0a#endif\x0a#else\x0a#ifdef\x20NONLINEARDEPTH\x0a#ifdef\x20PACKED\x0agl_FragColor=pack(gl_FragCoord.z);\x0a#else\x0agl_FragColor=vec4(gl_FragCoord.z,0.0,0.0,0.0);\x0a#endif\x0a#else\x0a#ifdef\x20PACKED\x0agl_FragColor=pack(vDepthMetric);\x0a#else\x0agl_FragColor=vec4(vDepthMetric,0.0,0.0,1.0);\x0a#endif\x0a#endif\x0a#endif\x0a}','_needUVs','_getTexture','_isDepthMaskDirty','_vertexIsGLES3','getRenderPipeline','animationStarted','depthOfFieldPixelShader','_cloneRenderTargetWrapper','REFLECTIONMAP_3D','_isAlphaBlendDirty','Uint16','RGBA8Sint','updateRawTexture','isPresenting','_funcMask','lensHighlightsPixelShader','#if\x20defined(BUMP)\x0a#include(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump,_SAMPLERNAME_,bump)\x0a#endif\x0a#if\x20defined(DETAIL)\x0a#include(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail,_SAMPLERNAME_,detail)\x0a#endif\x0a#if\x20defined(BUMP)\x20&&\x20defined(PARALLAX)\x0aconst\x20float\x20minSamples=4.;\x0aconst\x20float\x20maxSamples=15.;\x0aconst\x20int\x20iMaxSamples=15;\x0avec2\x20parallaxOcclusion(vec3\x20vViewDirCoT,vec3\x20vNormalCoT,vec2\x20texCoord,float\x20parallaxScale)\x20{\x0afloat\x20parallaxLimit=length(vViewDirCoT.xy)/vViewDirCoT.z;\x0aparallaxLimit*=parallaxScale;\x0avec2\x20vOffsetDir=normalize(vViewDirCoT.xy);\x0avec2\x20vMaxOffset=vOffsetDir*parallaxLimit;\x0afloat\x20numSamples=maxSamples+(dot(vViewDirCoT,vNormalCoT)*(minSamples-maxSamples));\x0afloat\x20stepSize=1.0/numSamples;\x0afloat\x20currRayHeight=1.0;\x0avec2\x20vCurrOffset=vec2(0,0);\x0avec2\x20vLastOffset=vec2(0,0);\x0afloat\x20lastSampledHeight=1.0;\x0afloat\x20currSampledHeight=1.0;\x0abool\x20keepWorking=true;\x0afor\x20(int\x20i=0;\x20icurrRayHeight)\x0a{\x0afloat\x20delta1=currSampledHeight-currRayHeight;\x0afloat\x20delta2=(currRayHeight+stepSize)-lastSampledHeight;\x0afloat\x20ratio=delta1/(delta1+delta2);\x0avCurrOffset=(ratio)*\x20vLastOffset+(1.0-ratio)*vCurrOffset;\x0akeepWorking=false;\x0a}\x0aelse\x0a{\x0acurrRayHeight-=stepSize;\x0avLastOffset=vCurrOffset;\x0avCurrOffset+=stepSize*vMaxOffset;\x0alastSampledHeight=currSampledHeight;\x0a}\x0a}\x0areturn\x20vCurrOffset;\x0a}\x0avec2\x20parallaxOffset(vec3\x20viewDir,float\x20heightScale)\x0a{\x0afloat\x20height=texture2D(bumpSampler,vBumpUV).w;\x0avec2\x20texCoordOffset=heightScale*viewDir.xy*height;\x0areturn\x20-texCoordOffset;\x0a}\x0a#endif\x0a','//\x20Internals\x20UBO','noColorAttachment','_uniforms','position','displayPassPixelShader','_renderPipelines','_projectionMatrix','_initActionManager','_getComponent','maxTextureSize','temps','_AddTagTo','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','size','getBaseSize','ALPHA_EQUATION_SUBSTRACT','_textureFormat','getPhysicsBody','setBlendConstant','stage','_onVrDisplayPresentChange','BilateralBlurX','ONE_MINUS_DST_ALPHA','ColorKind','false','Internals','_delay','_worldPositionNameInFragmentOnlyMode','TEXTURE_CUBE_MAP_POSITIVE_X','getPhysicsImpostor','ZERO','_MoveCursorWithinIf','#extension\x20GL_OVR_multiview2\x20:\x20require\x0alayout\x20(num_views\x20=\x202)\x20in;\x0a','TEXTURE_TRILINEAR_SAMPLINGMODE','CreateNewFromScene','verticesStart','generateMipMaps','_SamplerTypeByWebGLSamplerType','_localPosition','finalizeShaders','attribute\x20vec3\x20position;\x0aattribute\x20vec2\x20offset;\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20vec2\x20size;\x0avarying\x20vec2\x20uv;\x0avarying\x20vec3\x20viewPos;\x0avarying\x20float\x20sphereRadius;\x0a#ifdef\x20FLUIDRENDERING_VELOCITY\x0aattribute\x20vec3\x20velocity;\x0avarying\x20float\x20velocityNorm;\x0a#endif\x0avoid\x20main(void)\x20{\x0avec3\x20cornerPos;\x0acornerPos.xy=vec2(offset.x-0.5,offset.y-0.5)*size;\x0acornerPos.z=0.0;\x0aviewPos=(view*vec4(position,1.0)).xyz;\x0agl_Position=projection*vec4(viewPos+cornerPos,1.0);\x0auv=offset;\x0asphereRadius=size.x/2.0;\x0a#ifdef\x20FLUIDRENDERING_VELOCITY\x0avelocityNorm=length(velocity);\x0a#endif\x0a}\x0a','replace','markAsPrePassDirty','_cachedWrapU','parent','setUniqueId','previousBones','stopAnimation','uniform\x20mat4\x20viewProjection;\x0auniform\x20mat4\x20view;\x0a#ifdef\x20DIFFUSE\x0auniform\x20mat4\x20diffuseMatrix;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20AMBIENT\x0auniform\x20mat4\x20ambientMatrix;\x0auniform\x20vec2\x20vAmbientInfos;\x0a#endif\x0a#ifdef\x20OPACITY\x0auniform\x20mat4\x20opacityMatrix;\x0auniform\x20vec2\x20vOpacityInfos;\x0a#endif\x0a#ifdef\x20EMISSIVE\x0auniform\x20vec2\x20vEmissiveInfos;\x0auniform\x20mat4\x20emissiveMatrix;\x0a#endif\x0a#ifdef\x20LIGHTMAP\x0auniform\x20vec2\x20vLightmapInfos;\x0auniform\x20mat4\x20lightmapMatrix;\x0a#endif\x0a#if\x20defined(SPECULAR)\x20&&\x20defined(SPECULARTERM)\x0auniform\x20vec2\x20vSpecularInfos;\x0auniform\x20mat4\x20specularMatrix;\x0a#endif\x0a#ifdef\x20BUMP\x0auniform\x20vec3\x20vBumpInfos;\x0auniform\x20mat4\x20bumpMatrix;\x0a#endif\x0a#ifdef\x20REFLECTION\x0auniform\x20mat4\x20reflectionMatrix;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0a#ifdef\x20DETAIL\x0auniform\x20vec4\x20vDetailInfos;\x0auniform\x20mat4\x20detailMatrix;\x0a#endif\x0a#include\x0a#define\x20ADDITIONAL_VERTEX_DECLARATION\x0a','Depth24PlusStencil8','getRenderTarget','baseDepth','Filtering','BC7RGBAUnorm','#ifndef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0a#if\x20NUM_BONE_INFLUENCERS>0\x0amat4\x20influence;\x0a#ifdef\x20BONETEXTURE\x0ainfluence=readMatrixFromRawSampler(boneSampler,matricesIndices[0])*matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0ainfluence+=readMatrixFromRawSampler(boneSampler,matricesIndices[1])*matricesWeights[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0ainfluence+=readMatrixFromRawSampler(boneSampler,matricesIndices[2])*matricesWeights[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0ainfluence+=readMatrixFromRawSampler(boneSampler,matricesIndices[3])*matricesWeights[3];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0ainfluence+=readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[0])*matricesWeightsExtra[0];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0ainfluence+=readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[1])*matricesWeightsExtra[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0ainfluence+=readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[2])*matricesWeightsExtra[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0ainfluence+=readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[3])*matricesWeightsExtra[3];\x0a#endif\x0a#else\x0ainfluence=mBones[int(matricesIndices[0])]*matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0ainfluence+=mBones[int(matricesIndices[1])]*matricesWeights[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0ainfluence+=mBones[int(matricesIndices[2])]*matricesWeights[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0ainfluence+=mBones[int(matricesIndices[3])]*matricesWeights[3];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0ainfluence+=mBones[int(matricesIndicesExtra[0])]*matricesWeightsExtra[0];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0ainfluence+=mBones[int(matricesIndicesExtra[1])]*matricesWeightsExtra[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0ainfluence+=mBones[int(matricesIndicesExtra[2])]*matricesWeightsExtra[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0ainfluence+=mBones[int(matricesIndicesExtra[3])]*matricesWeightsExtra[3];\x0a#endif\x0a#endif\x0afinalWorld=finalWorld*influence;\x0a#endif\x0a#endif\x0a','_nativeTexture','READ_FRAMEBUFFER','_vertexArrayObject','passPixelShader','defines','setTextureSampler','_isDepthFuncDirty','_internalTexturesCache','createCanvas','Linear','name',',\x20falling\x20back\x20to\x20the\x20','.y;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0d\x0a','EACR11Snorm','_repeatableContentAnchorIndex','_getCurrentRenderPassIndex','clipPlaneVertexDeclaration2','createRenderPipeline','_animate','struct\x20ambientOcclusionOutParams\x0a{\x0avec3\x20ambientOcclusionColor;\x0a#if\x20DEBUGMODE>0\x0avec3\x20ambientOcclusionColorMap;\x0a#endif\x0a};\x0a#define\x20pbr_inline\x0avoid\x20ambientOcclusionBlock(\x0a#ifdef\x20AMBIENT\x0ain\x20vec3\x20ambientOcclusionColorMap_,\x0ain\x20vec4\x20vAmbientInfos,\x0a#endif\x0aout\x20ambientOcclusionOutParams\x20outParams\x0a)\x0a{\x0avec3\x20ambientOcclusionColor=vec3(1.,1.,1.);\x0a#ifdef\x20AMBIENT\x0avec3\x20ambientOcclusionColorMap=ambientOcclusionColorMap_*vAmbientInfos.y;\x0a#ifdef\x20AMBIENTINGRAYSCALE\x0aambientOcclusionColorMap=vec3(ambientOcclusionColorMap.r,ambientOcclusionColorMap.r,ambientOcclusionColorMap.r);\x0a#endif\x0aambientOcclusionColor=mix(ambientOcclusionColor,ambientOcclusionColorMap,vAmbientInfos.z);\x0a#if\x20DEBUGMODE>0\x0aoutParams.ambientOcclusionColorMap=ambientOcclusionColorMap;\x0a#endif\x0a#endif\x0aoutParams.ambientOcclusionColor=ambientOcclusionColor;\x0a}\x0a','_frontFace','addTags','_ssFilterRadii','Fragment','logDepthVertex','layout(location\x20=\x20','ONE_MINUS_DST_COLOR','_onVrDisplayConnect','DEPTH24_STENCIL8','blendMode','uniqueId','MapWrite','TEXTURE_CUBE_MAP_POSITIVE_Z','_emitFloat','setMRTAttachments','uniform\x20sampler2D\x20depthSampler;\x0avarying\x20vec2\x20vUV;\x0auniform\x20vec2\x20cameraMinMaxZ;\x0auniform\x20float\x20focusDistance;\x0auniform\x20float\x20cocPrecalculation;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0afloat\x20depth=texture2D(depthSampler,vUV).r;\x0a#define\x20CUSTOM_COC_DEPTH\x0afloat\x20pixelDistance=(cameraMinMaxZ.x+cameraMinMaxZ.y*depth)*1000.0;\x20\x0a#define\x20CUSTOM_COC_PIXELDISTANCE\x0afloat\x20coc=abs(cocPrecalculation*((focusDistance-pixelDistance)/pixelDistance));\x0acoc=clamp(coc,0.0,1.0);\x0agl_FragColor=vec4(coc,coc,coc,1.0);\x0a}\x0a','distance','blendEquationSeparate','clone','Clear','GetExponentOfTwo','geometryVertexShader','BC6HRGBUFloat','#include\x0a#ifdef\x20ALPHATEXTURE\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#include\x0a#ifdef\x20ALPHATEXTURE\x0afloat\x20alphaFromAlphaTexture=texture2D(diffuseSampler,vUV).a;\x0a#ifdef\x20ALPHATESTVALUE\x0aif\x20(alphaFromAlphaTexture=softTransparentShadowSM*alphaFromAlphaTexture)\x20discard;\x0a#else\x0aif\x20((bayerDither8(floor(mod(gl_FragCoord.xy,8.0))))/64.0>=softTransparentShadowSM)\x20discard;\x0a#endif\x0a#endif\x0a#include\x0a}','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20','storage','uniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20originalColor;\x0auniform\x20vec4\x20viewport;\x0avarying\x20vec2\x20vUV;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0avec4\x20ssaoColor=texture2D(textureSampler,viewport.xy+vUV*viewport.zw);\x0avec4\x20sceneColor=texture2D(originalColor,vUV);\x0agl_FragColor=sceneColor*ssaoColor;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','f32d','SNAPSHOTRENDERING_FAST','additionalDefineKey','insert','Matrix','@location(','CONSTANT_COLOR','reset','worldPosition','sampler2DShadow','TEXTURE_WRAP_S','createGPUTextureForInternalTexture','getRenderHeight','defineProperty','ACTION_OnKeyUpTrigger','ALPHA_DISABLE','_externalProperties','TEXTURETYPE_HALF_FLOAT','_addNewAttachObserver','\x0a\x20\x20vertexInputs\x20=\x20input;\x0a','setIntArray2','scene_multiview','No\x20fixed\x20size\x20for\x20Depth24Plus\x20format!','_deviceSourceManager','samplerFragmentAlternateDeclaration','#endif\x0d\x0a','bindUniformBuffer','setMRT','detach','addOnce','varying\x20vec2\x20sampleCoord{X};','done','_fragmentSourceCode','\x5cs*\x5c[(.+)?\x5c]','//Varyings\x0d\x0a','onPreKeyboardObservable',')\x20uniform\x20','_defineSphericalName','circleOfConfusionPixelShader','_compiledComputeEffects','__VERSION__','_measureDuration','Zero','UNPACK_ALIGNMENT','releaseTexture','disableDepthWrite','subSurfaceScattering','_copyInvertYBindGroupWithOfst','_frameLastBuffer','frameId','pbrBlockReflectance0','#ifdef\x20INSTANCES\x0aattribute\x20vec4\x20world0;\x0aattribute\x20vec4\x20world1;\x0aattribute\x20vec4\x20world2;\x0aattribute\x20vec4\x20world3;\x0a#ifdef\x20INSTANCESCOLOR\x0aattribute\x20vec4\x20instanceColor;\x0a#endif\x0a#if\x20defined(THIN_INSTANCES)\x20&&\x20!defined(WORLD_UBO)\x0auniform\x20mat4\x20world;\x0a#endif\x0a#if\x20defined(VELOCITY)\x20||\x20defined(PREPASS_VELOCITY)\x0aattribute\x20vec4\x20previousWorld0;\x0aattribute\x20vec4\x20previousWorld1;\x0aattribute\x20vec4\x20previousWorld2;\x0aattribute\x20vec4\x20previousWorld3;\x0a#ifdef\x20THIN_INSTANCES\x0auniform\x20mat4\x20previousWorld;\x0a#endif\x0a#endif\x0a#else\x0a#if\x20!defined(WORLD_UBO)\x0auniform\x20mat4\x20world;\x0a#endif\x0a#if\x20defined(VELOCITY)\x20||\x20defined(PREPASS_VELOCITY)\x0auniform\x20mat4\x20previousWorld;\x0a#endif\x0a#endif\x0a','MODE_SIDEBYSIDE','R8Uint','REFLECTIONMAP_EXPLICIT','_internalTextureDirty','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0a#include\x0a#include\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec4\x20result=texture2D(textureSampler,vUV);\x0a#ifdef\x20IMAGEPROCESSING\x0a#ifndef\x20FROMLINEARSPACE\x0aresult.rgb=toLinearSpace(result.rgb);\x0a#endif\x0aresult=applyImageProcessing(result);\x0a#else\x0a#ifdef\x20FROMLINEARSPACE\x0aresult=applyImageProcessing(result);\x0a#endif\x0a#endif\x0agl_FragColor=result;\x0a}','HasDepthAndStencilAspects','albedoSampler','addEventListener','thinInstanceCount','_attachCameras','6ZZnWYz','depthOrArrayLayers','_pointerOverDisableMeshTesting','_cameraObserverCount','ownerBlock','shadowsFragmentFunctions','functions','setSize','#ifdef\x20CLIPPLANE\x0avarying\x20fClipDistance:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0avarying\x20fClipDistance2:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0avarying\x20fClipDistance3:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0avarying\x20fClipDistance4:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0avarying\x20fClipDistance5:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0avarying\x20fClipDistance6:\x20f32;\x0a#endif\x0a','removeTags','thinInstanceBufferUpdated','LIGHTMAP_DEFAULT','_SimplifyNegation','StorageBinding','texture(','vec','_renderEncoder','_constantDeclaration','visibleModelBox','out','uniform\x20vec3\x20diffusionS[5];\x0auniform\x20float\x20diffusionD[5];\x0auniform\x20float\x20filterRadii[5];','sampleType','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include\x0a#include\x0a#include\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20BUMP\x0avarying\x20vec2\x20vNormalUV;\x0a#ifdef\x20BUMPSUPERIMPOSE\x0avarying\x20vec2\x20vNormalUV2;\x0a#endif\x0auniform\x20mat4\x20normalMatrix;\x0auniform\x20vec2\x20vNormalInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include\x0a#include\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include\x0auniform\x20mat4\x20worldReflectionViewProjection;\x0auniform\x20vec2\x20windDirection;\x0auniform\x20float\x20waveLength;\x0auniform\x20float\x20time;\x0auniform\x20float\x20windForce;\x0auniform\x20float\x20waveHeight;\x0auniform\x20float\x20waveSpeed;\x0auniform\x20float\x20waveCount;\x0avarying\x20vec3\x20vPosition;\x0avarying\x20vec3\x20vRefractionMapTexCoord;\x0avarying\x20vec3\x20vReflectionMapTexCoord;\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include\x0a#include\x0a#include\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0avPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20BUMP\x0aif\x20(vNormalInfos.x==0.)\x0a{\x0avNormalUV=vec2(normalMatrix*vec4((uv*1.0)/waveLength+time*windForce*windDirection,1.0,0.0));\x0a#ifdef\x20BUMPSUPERIMPOSE\x0avNormalUV2=vec2(normalMatrix*vec4((uv*0.721)/waveLength+time*1.2*windForce*windDirection,1.0,0.0));\x0a#endif\x0a}\x0aelse\x0a{\x0avNormalUV=vec2(normalMatrix*vec4((uv2*1.0)/waveLength+time*windForce*windDirection\x20,1.0,0.0));\x0a#ifdef\x20BUMPSUPERIMPOSE\x0avNormalUV2=vec2(normalMatrix*vec4((uv2*0.721)/waveLength+time*1.2*windForce*windDirection\x20,1.0,0.0));\x0a#endif\x0a}\x0a#endif\x0a#include\x0a#include\x0a#include[0..maxSimultaneousLights]\x0a#include\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0afloat\x20finalWaveCount=1.0/(waveCount*0.5);\x0avec3\x20p=position;\x0afloat\x20newY=(sin(((p.x/finalWaveCount)+time*waveSpeed))*waveHeight*windDirection.x*5.0)\x0a+\x20(cos(((p.z/finalWaveCount)+\x20time*waveSpeed))*waveHeight*windDirection.y*5.0);\x0ap.y+=abs(newY);\x0agl_Position=viewProjection*finalWorld*vec4(p,1.0);\x0a#ifdef\x20REFLECTION\x0aworldPos=viewProjection*finalWorld*vec4(p,1.0);\x0avPosition=position;\x0avRefractionMapTexCoord.x=0.5*(worldPos.w+worldPos.x);\x0avRefractionMapTexCoord.y=0.5*(worldPos.w+worldPos.y);\x0avRefractionMapTexCoord.z=worldPos.w;\x0aworldPos=worldReflectionViewProjection*vec4(position,1.0);\x0avReflectionMapTexCoord.x=0.5*(worldPos.w+worldPos.x);\x0avReflectionMapTexCoord.y=0.5*(worldPos.w+worldPos.y);\x0avReflectionMapTexCoord.z=worldPos.w;\x0a#endif\x0a#include\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','#ifdef\x20LIGHTMAP\x0avec4\x20lightmapColor=texture2D(lightmapSampler,vLightmapUV+uvOffset);\x0a#ifdef\x20RGBDLIGHTMAP\x0alightmapColor.rgb=fromRGBD(lightmapColor);\x0a#endif\x0a#ifdef\x20GAMMALIGHTMAP\x0alightmapColor.rgb=toLinearSpace(lightmapColor.rgb);\x0a#endif\x0alightmapColor.rgb*=vLightmapInfos.y;\x0a#endif\x0a','autoPlay','SubSurfaceScatteringPostProcess','timerQuery','fragmentCompilationError','\x20-\x20','\x20:\x20','#ifdef\x20LOGARITHMICDEPTH\x0a#extension\x20GL_EXT_frag_depth\x20:\x20enable\x0a#endif\x0auniform\x20vec4\x20color;\x0a#ifdef\x20ALPHATEST\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#include\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include\x0a#ifdef\x20ALPHATEST\x0aif\x20(texture2D(diffuseSampler,vUV).a<0.4)\x0adiscard;\x0a#endif\x0a#include\x0agl_FragColor=color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','colorAttachmentViewDescriptor','highlightsPixelShader','setArray','unmap','_bindTextureDirectly','is32Bits','_features','isFloatTexture','screenSpaceReflection2PixelShader','_attributeDeclaration','onVRDisplayChangedObservable','RG32Float','vIridescenceParams','float\x20computeDistanceLightFalloff_Standard(vec3\x20lightOffset,float\x20range)\x0a{\x0areturn\x20max(0.,1.0-length(lightOffset)/range);\x0a}\x0afloat\x20computeDistanceLightFalloff_Physical(float\x20lightDistanceSquared)\x0a{\x0areturn\x201.0/maxEps(lightDistanceSquared);\x0a}\x0afloat\x20computeDistanceLightFalloff_GLTF(float\x20lightDistanceSquared,float\x20inverseSquaredRange)\x0a{\x0afloat\x20lightDistanceFalloff=1.0/maxEps(lightDistanceSquared);\x0afloat\x20factor=lightDistanceSquared*inverseSquaredRange;\x0afloat\x20attenuation=saturate(1.0-factor*factor);\x0aattenuation*=attenuation;\x0alightDistanceFalloff*=attenuation;\x0areturn\x20lightDistanceFalloff;\x0a}\x0afloat\x20computeDistanceLightFalloff(vec3\x20lightOffset,float\x20lightDistanceSquared,float\x20range,float\x20inverseSquaredRange)\x0a{\x0a#ifdef\x20USEPHYSICALLIGHTFALLOFF\x0areturn\x20computeDistanceLightFalloff_Physical(lightDistanceSquared);\x0a#elif\x20defined(USEGLTFLIGHTFALLOFF)\x0areturn\x20computeDistanceLightFalloff_GLTF(lightDistanceSquared,inverseSquaredRange);\x0a#else\x0areturn\x20computeDistanceLightFalloff_Standard(lightOffset,range);\x0a#endif\x0a}\x0afloat\x20computeDirectionalLightFalloff_Standard(vec3\x20lightDirection,vec3\x20directionToLightCenterW,float\x20cosHalfAngle,float\x20exponent)\x0a{\x0afloat\x20falloff=0.0;\x0afloat\x20cosAngle=maxEps(dot(-lightDirection,directionToLightCenterW));\x0aif\x20(cosAngle>=cosHalfAngle)\x0a{\x0afalloff=max(0.,pow(cosAngle,exponent));\x0a}\x0areturn\x20falloff;\x0a}\x0afloat\x20computeDirectionalLightFalloff_Physical(vec3\x20lightDirection,vec3\x20directionToLightCenterW,float\x20cosHalfAngle)\x0a{\x0aconst\x20float\x20kMinusLog2ConeAngleIntensityRatio=6.64385618977;\x20\x0afloat\x20concentrationKappa=kMinusLog2ConeAngleIntensityRatio/(1.0-cosHalfAngle);\x0avec4\x20lightDirectionSpreadSG=vec4(-lightDirection*concentrationKappa,-concentrationKappa);\x0afloat\x20falloff=exp2(dot(vec4(directionToLightCenterW,1.0),lightDirectionSpreadSG));\x0areturn\x20falloff;\x0a}\x0afloat\x20computeDirectionalLightFalloff_GLTF(vec3\x20lightDirection,vec3\x20directionToLightCenterW,float\x20lightAngleScale,float\x20lightAngleOffset)\x0a{\x0afloat\x20cd=dot(-lightDirection,directionToLightCenterW);\x0afloat\x20falloff=saturate(cd*lightAngleScale+lightAngleOffset);\x0afalloff*=falloff;\x0areturn\x20falloff;\x0a}\x0afloat\x20computeDirectionalLightFalloff(vec3\x20lightDirection,vec3\x20directionToLightCenterW,float\x20cosHalfAngle,float\x20exponent,float\x20lightAngleScale,float\x20lightAngleOffset)\x0a{\x0a#ifdef\x20USEPHYSICALLIGHTFALLOFF\x0areturn\x20computeDirectionalLightFalloff_Physical(lightDirection,directionToLightCenterW,cosHalfAngle);\x0a#elif\x20defined(USEGLTFLIGHTFALLOFF)\x0areturn\x20computeDirectionalLightFalloff_GLTF(lightDirection,directionToLightCenterW,lightAngleScale,lightAngleOffset);\x0a#else\x0areturn\x20computeDirectionalLightFalloff_Standard(lightDirection,directionToLightCenterW,cosHalfAngle,exponent);\x0a#endif\x0a}','_onKeyDown',';\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20','availableAttributes','#if\x20defined(_DEFINENAME_)\x20&&\x20_DEFINENAME_DIRECTUV==0\x0avarying\x20vec2\x20v_VARYINGNAME_UV;\x0a#endif\x0a','getAlphaMode','_excludedCompressedTextures','vrdisplaypointerunrestricted','button','attribute\x20vec3\x20position;\x0a#include\x0a#include\x0a#include\x0a#include[0..maxSimultaneousMorphTargets]\x0a#include\x0a#include\x0auniform\x20mat4\x20viewProjection;\x0auniform\x20vec2\x20depthValues;\x0a#if\x20defined(ALPHATEST)\x20||\x20defined(NEED_UV)\x0avarying\x20vec2\x20vUV;\x0auniform\x20mat4\x20diffuseMatrix;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#endif\x0a#ifdef\x20STORE_CAMERASPACE_Z\x0auniform\x20mat4\x20view;\x0avarying\x20vec4\x20vViewPos;\x0a#endif\x0avarying\x20float\x20vDepthMetric;\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec3\x20positionUpdated=position;\x0a#ifdef\x20UV1\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#include\x0a#include[0..maxSimultaneousMorphTargets]\x0a#include\x0a#include\x0a#include\x0avec4\x20worldPos=finalWorld*vec4(positionUpdated,1.0);\x0a#include\x0agl_Position=viewProjection*worldPos;\x0a#ifdef\x20STORE_CAMERASPACE_Z\x0avViewPos=view*worldPos;\x0a#else\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0avDepthMetric=((-gl_Position.z+depthValues.x)/(depthValues.y));\x0a#else\x0avDepthMetric=((gl_Position.z+depthValues.x)/(depthValues.y));\x0a#endif\x0a#endif\x0a#if\x20defined(ALPHATEST)\x20||\x20defined(BASIC_RENDER)\x0a#ifdef\x20UV1\x0avUV=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20UV2\x0avUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a}\x0a','ignore','#define\x20CLIPPLANE6','RG8Uint','pbrDirectLightingFunctions','getEyeParameters','Failed\x20to\x20load\x20','_addUniformToLeftOverUBO','_toIndex','_SimplifiedKnownBindings','_renderTarget','supportUniformBuffers','setEffect','statusText','applyImpulse','BC1RGBAUnormSRGB','_areFresnelDirty','FIXED_EQUIRECTANGULAR_MIRRORED_MODE','_updateParameters','uniform\x20sampler2D\x20textureSampler;\x20\x0auniform\x20float\x20chromatic_aberration;\x0auniform\x20float\x20radialIntensity;\x0auniform\x20vec2\x20direction;\x0auniform\x20vec2\x20centerPosition;\x0auniform\x20float\x20screen_width;\x0auniform\x20float\x20screen_height;\x0avarying\x20vec2\x20vUV;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec2\x20centered_screen_pos=vec2(vUV.x-centerPosition.x,vUV.y-centerPosition.y);\x0avec2\x20directionOfEffect=direction;\x0aif(directionOfEffect.x==0.\x20&&\x20directionOfEffect.y==0.){\x0adirectionOfEffect=normalize(centered_screen_pos);\x0a}\x0afloat\x20radius2=centered_screen_pos.x*centered_screen_pos.x\x0a+\x20centered_screen_pos.y*centered_screen_pos.y;\x0afloat\x20radius=sqrt(radius2);\x0avec4\x20original=texture2D(textureSampler,vUV);\x0avec3\x20ref_indices=vec3(-0.3,0.0,0.3);\x0afloat\x20ref_shiftX=chromatic_aberration*pow(radius,radialIntensity)*directionOfEffect.x/screen_width;\x0afloat\x20ref_shiftY=chromatic_aberration*pow(radius,radialIntensity)*directionOfEffect.y/screen_height;\x0avec2\x20ref_coords_r=vec2(vUV.x+ref_indices.r*ref_shiftX,vUV.y+ref_indices.r*ref_shiftY*0.5);\x0avec2\x20ref_coords_g=vec2(vUV.x+ref_indices.g*ref_shiftX,vUV.y+ref_indices.g*ref_shiftY*0.5);\x0avec2\x20ref_coords_b=vec2(vUV.x+ref_indices.b*ref_shiftX,vUV.y+ref_indices.b*ref_shiftY*0.5);\x0aoriginal.r=texture2D(textureSampler,ref_coords_r).r;\x0aoriginal.g=texture2D(textureSampler,ref_coords_g).g;\x0aoriginal.b=texture2D(textureSampler,ref_coords_b).b;\x0aoriginal.a=clamp(texture2D(textureSampler,ref_coords_r).a+texture2D(textureSampler,ref_coords_g).a+texture2D(textureSampler,ref_coords_b).a,0.,1.);\x0agl_FragColor=original;\x0a}','GL_ALPHA_EQUATION_MIN','_reflectionColorName','clipPlaneFragment','IsWrapper','TEXTURE_2D_ARRAY','__framebuffer','ILog2','_getBuffer','\x22,\x20null);\x0d\x0a','bumpVertex','_texture','_pointerUpStage','generateStencil','_outputs','bindGroupLayouts','createQuerySet','clipPlaneFragmentDeclaration','oitDeclaration','setColor4','_measureDurationState','matricesWeights','boxMax','isReady','#define\x20CYLINDEREMITTER','not','_frameHandler','create\x20mipmaps\x20for\x20face\x20#','getAttributes','observer','BC2RGBAUnormSRGB','setColor3','premultiplyAlpha','_delayedSimpleClick','updateDynamicVertexBuffer','initWebVR','shadowEnabled','unBindFramebuffer','vec3\x20computeFixedEquirectangularCoords(vec4\x20worldPos,vec3\x20worldNormal,vec3\x20direction)\x0a{\x0afloat\x20lon=atan(direction.z,direction.x);\x0afloat\x20lat=acos(direction.y);\x0avec2\x20sphereCoords=vec2(lon,lat)*RECIPROCAL_PI2*2.0;\x0afloat\x20s=sphereCoords.x*0.5+0.5;\x0afloat\x20t=sphereCoords.y;\x0areturn\x20vec3(s,t,0);\x20\x0a}\x0avec3\x20computeMirroredFixedEquirectangularCoords(vec4\x20worldPos,vec3\x20worldNormal,vec3\x20direction)\x0a{\x0afloat\x20lon=atan(direction.z,direction.x);\x0afloat\x20lat=acos(direction.y);\x0avec2\x20sphereCoords=vec2(lon,lat)*RECIPROCAL_PI2*2.0;\x0afloat\x20s=sphereCoords.x*0.5+0.5;\x0afloat\x20t=sphereCoords.y;\x0areturn\x20vec3(1.0-s,t,0);\x20\x0a}\x0avec3\x20computeEquirectangularCoords(vec4\x20worldPos,vec3\x20worldNormal,vec3\x20eyePosition,mat4\x20reflectionMatrix)\x0a{\x0avec3\x20cameraToVertex=normalize(worldPos.xyz-eyePosition);\x0avec3\x20r=normalize(reflect(cameraToVertex,worldNormal));\x0ar=vec3(reflectionMatrix*vec4(r,0));\x0afloat\x20lon=atan(r.z,r.x);\x0afloat\x20lat=acos(r.y);\x0avec2\x20sphereCoords=vec2(lon,lat)*RECIPROCAL_PI2*2.0;\x0afloat\x20s=sphereCoords.x*0.5+0.5;\x0afloat\x20t=sphereCoords.y;\x0areturn\x20vec3(s,t,0);\x0a}\x0avec3\x20computeSphericalCoords(vec4\x20worldPos,vec3\x20worldNormal,mat4\x20view,mat4\x20reflectionMatrix)\x0a{\x0avec3\x20viewDir=normalize(vec3(view*worldPos));\x0avec3\x20viewNormal=normalize(vec3(view*vec4(worldNormal,0.0)));\x0avec3\x20r=reflect(viewDir,viewNormal);\x0ar=vec3(reflectionMatrix*vec4(r,0));\x0ar.z=r.z-1.0;\x0afloat\x20m=2.0*length(r);\x0areturn\x20vec3(r.x/m+0.5,1.0-r.y/m-0.5,0);\x0a}\x0avec3\x20computePlanarCoords(vec4\x20worldPos,vec3\x20worldNormal,vec3\x20eyePosition,mat4\x20reflectionMatrix)\x0a{\x0avec3\x20viewDir=worldPos.xyz-eyePosition;\x0avec3\x20coords=normalize(reflect(viewDir,worldNormal));\x0areturn\x20vec3(reflectionMatrix*vec4(coords,1));\x0a}\x0avec3\x20computeCubicCoords(vec4\x20worldPos,vec3\x20worldNormal,vec3\x20eyePosition,mat4\x20reflectionMatrix)\x0a{\x0avec3\x20viewDir=normalize(worldPos.xyz-eyePosition);\x0avec3\x20coords=reflect(viewDir,worldNormal);\x0acoords=vec3(reflectionMatrix*vec4(coords,0));\x0a#ifdef\x20INVERTCUBICMAP\x0acoords.y*=-1.0;\x0a#endif\x0areturn\x20coords;\x0a}\x0avec3\x20computeCubicLocalCoords(vec4\x20worldPos,vec3\x20worldNormal,vec3\x20eyePosition,mat4\x20reflectionMatrix,vec3\x20reflectionSize,vec3\x20reflectionPosition)\x0a{\x0avec3\x20viewDir=normalize(worldPos.xyz-eyePosition);\x0avec3\x20coords=reflect(viewDir,worldNormal);\x0acoords=parallaxCorrectNormal(worldPos.xyz,coords,reflectionSize,reflectionPosition);\x0acoords=vec3(reflectionMatrix*vec4(coords,0));\x0a#ifdef\x20INVERTCUBICMAP\x0acoords.y*=-1.0;\x0a#endif\x0areturn\x20coords;\x0a}\x0avec3\x20computeProjectionCoords(vec4\x20worldPos,mat4\x20view,mat4\x20reflectionMatrix)\x0a{\x0areturn\x20vec3(reflectionMatrix*(view*worldPos));\x0a}\x0avec3\x20computeSkyBoxCoords(vec3\x20positionW,mat4\x20reflectionMatrix)\x0a{\x0areturn\x20vec3(reflectionMatrix*vec4(positionW,1.));\x0a}\x0a#ifdef\x20REFLECTION\x0avec3\x20computeReflectionCoords(vec4\x20worldPos,vec3\x20worldNormal)\x0a{\x0a#ifdef\x20REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED\x0avec3\x20direction=normalize(vDirectionW);\x0areturn\x20computeMirroredFixedEquirectangularCoords(worldPos,worldNormal,direction);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_EQUIRECTANGULAR_FIXED\x0avec3\x20direction=normalize(vDirectionW);\x0areturn\x20computeFixedEquirectangularCoords(worldPos,worldNormal,direction);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_EQUIRECTANGULAR\x0areturn\x20computeEquirectangularCoords(worldPos,worldNormal,vEyePosition.xyz,reflectionMatrix);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_SPHERICAL\x0areturn\x20computeSphericalCoords(worldPos,worldNormal,view,reflectionMatrix);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_PLANAR\x0areturn\x20computePlanarCoords(worldPos,worldNormal,vEyePosition.xyz,reflectionMatrix);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_CUBIC\x0a#ifdef\x20USE_LOCAL_REFLECTIONMAP_CUBIC\x0areturn\x20computeCubicLocalCoords(worldPos,worldNormal,vEyePosition.xyz,reflectionMatrix,vReflectionSize,vReflectionPosition);\x0a#else\x0areturn\x20computeCubicCoords(worldPos,worldNormal,vEyePosition.xyz,reflectionMatrix);\x0a#endif\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_PROJECTION\x0areturn\x20computeProjectionCoords(worldPos,view,reflectionMatrix);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0areturn\x20computeSkyBoxCoords(vPositionUVW,reflectionMatrix);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_EXPLICIT\x0areturn\x20vec3(0,0,0);\x0a#endif\x0a}\x0a#endif\x0a','toString','InternalsUBOName','setValue','RightClick','#version\x20300\x20es\x0avoid\x20main()\x20{\x0adiscard;\x0a}\x0a','meshCount','lavaVertexShader','BC5RGSnorm','#define\x20MULTIVIEW','#ifdef\x20CLIPPLANE\x0avarying\x20float\x20fClipDistance;\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0avarying\x20float\x20fClipDistance2;\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0avarying\x20float\x20fClipDistance3;\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0avarying\x20float\x20fClipDistance4;\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0avarying\x20float\x20fClipDistance5;\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0avarying\x20float\x20fClipDistance6;\x0a#endif\x0a','updateRawTexture2DArray','\x20=\x20textureCube(','#define\x20CYLINDEREMITTER\x0a#define\x20DIRECTEDCYLINDEREMITTER','attribute',',\x201.,\x20','_getArraySize',',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}','_singleClick','importExternalTexture','depthThreshold','colorAttachmentGPUTextures','prePassVertexDeclaration','MAINUV0','sizes','setWriteMask','getVRDevice','TEXTUREFORMAT_COMPRESSED_RGBA_ASTC_4x4','updateUniformBuffer','AddStore','registerInput','IsExponentOfTwo','material','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20screenSize;\x0auniform\x20vec2\x20sharpnessAmounts;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec2\x20onePixel=vec2(1.0,1.0)/screenSize;\x0avec4\x20color=texture2D(textureSampler,vUV);\x0avec4\x20edgeDetection=texture2D(textureSampler,vUV+onePixel*vec2(0,-1))\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(-1,0))\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(1,0))\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(0,1))\x20-\x0acolor*4.0;\x0agl_FragColor=max(vec4(color.rgb*sharpnessAmounts.y,color.a)-(sharpnessAmounts.x*vec4(edgeDetection.rgb,0)),0.);\x0a}','BC3RGBAUnorm','isCube','replaceStrings','1532201ZMHyHy','Unable\x20to\x20create\x20uniform\x20buffer','_cubeSamplerName','generateMipmaps','ASTC5x4Unorm','lightsFragmentFunctions','precision\x20highp\x20float;uniform\x20vec4\x20vEyePosition;uniform\x20vec4\x20vDiffuseColor;uniform\x20vec4\x20furColor;uniform\x20float\x20furLength;varying\x20vec3\x20vPositionW;varying\x20float\x20vfur_length;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;uniform\x20sampler2D\x20diffuseSampler;uniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20HIGHLEVEL\x0auniform\x20float\x20furOffset;uniform\x20float\x20furOcclusion;uniform\x20sampler2D\x20furTexture;varying\x20vec2\x20vFurUV;\x0a#endif\x0a#include\x0a#include\x0a#include\x0a#include\x0afloat\x20Rand(vec3\x20rv)\x20{float\x20x=dot(rv,vec3(12.9898,78.233,24.65487));return\x20fract(sin(x)*43758.5453);}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);vec4\x20baseColor=furColor;vec3\x20diffuseColor=vDiffuseColor.rgb;float\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20DIFFUSE\x0abaseColor*=texture2D(diffuseSampler,vDiffuseUV);\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include\x0abaseColor.rgb*=vDiffuseInfos.y;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0a#ifdef\x20HIGHLEVEL\x0avec4\x20furTextureColor=texture2D(furTexture,vec2(vFurUV.x,vFurUV.y));if\x20(furTextureColor.a<=0.0\x20||\x20furTextureColor.g[0..maxSimultaneousLights]\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase.rgb*baseColor.rgb,0.0,1.0);\x0a#ifdef\x20HIGHLEVEL\x0avec4\x20color=vec4(finalDiffuse,alpha);\x0a#else\x0afloat\x20r=vfur_length/furLength*0.5;vec4\x20color=vec4(finalDiffuse*(0.5+r),alpha);\x0a#endif\x0a#include\x0agl_FragColor=color;\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','splice','subSurfaceScatteringFunctions','nameInArrayOfTexture','#if\x20defined(BUMP)\x20||\x20defined(CLEARCOAT_BUMP)\x20||\x20defined(ANISOTROPIC)\x20||\x20defined(DETAIL)\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x20\x0avarying\x20mat3\x20vTBN;\x0a#endif\x0a#ifdef\x20OBJECTSPACE_NORMALMAP\x0auniform\x20mat4\x20normalMatrix;\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x0amat4\x20toNormalMatrix(mat4\x20wMatrix)\x0a{\x0amat4\x20ret=inverse(wMatrix);\x0aret=transpose(ret);\x0aret[0][3]=0.;\x0aret[1][3]=0.;\x0aret[2][3]=0.;\x0aret[3]=vec4(0.,0.,0.,1.);\x0areturn\x20ret;\x0a}\x0a#else\x0amat4\x20toNormalMatrix(mat4\x20m)\x0a{\x0afloat\x0aa00=m[0][0],a01=m[0][1],a02=m[0][2],a03=m[0][3],\x0aa10=m[1][0],a11=m[1][1],a12=m[1][2],a13=m[1][3],\x0aa20=m[2][0],a21=m[2][1],a22=m[2][2],a23=m[2][3],\x0aa30=m[3][0],a31=m[3][1],a32=m[3][2],a33=m[3][3],\x0ab00=a00*a11-a01*a10,\x0ab01=a00*a12-a02*a10,\x0ab02=a00*a13-a03*a10,\x0ab03=a01*a12-a02*a11,\x0ab04=a01*a13-a03*a11,\x0ab05=a02*a13-a03*a12,\x0ab06=a20*a31-a21*a30,\x0ab07=a20*a32-a22*a30,\x0ab08=a20*a33-a23*a30,\x0ab09=a21*a32-a22*a31,\x0ab10=a21*a33-a23*a31,\x0ab11=a22*a33-a23*a32,\x0adet=b00*b11-b01*b10+b02*b09+b03*b08-b04*b07+b05*b06;\x0amat4\x20mi=mat4(\x0aa11*b11-a12*b10+a13*b09,\x0aa02*b10-a01*b11-a03*b09,\x0aa31*b05-a32*b04+a33*b03,\x0aa22*b04-a21*b05-a23*b03,\x0aa12*b08-a10*b11-a13*b07,\x0aa00*b11-a02*b08+a03*b07,\x0aa32*b02-a30*b05-a33*b01,\x0aa20*b05-a22*b02+a23*b01,\x0aa10*b10-a11*b08+a13*b06,\x0aa01*b08-a00*b10-a03*b06,\x0aa30*b04-a31*b02+a33*b00,\x0aa21*b02-a20*b04-a23*b00,\x0aa11*b07-a10*b09-a12*b06,\x0aa00*b09-a01*b07+a02*b06,\x0aa31*b01-a30*b03-a32*b00,\x0aa20*b03-a21*b01+a22*b00)/det;\x0areturn\x20mat4(mi[0][0],mi[1][0],mi[2][0],mi[3][0],\x0ami[0][1],mi[1][1],mi[2][1],mi[3][1],\x0ami[0][2],mi[1][2],mi[2][2],mi[3][2],\x0ami[0][3],mi[1][3],mi[2][3],mi[3][3]);\x0a}\x0a#endif\x0a#endif\x0avec3\x20perturbNormalBase(mat3\x20cotangentFrame,vec3\x20normal,float\x20scale)\x0a{\x0a#ifdef\x20NORMALXYSCALE\x0anormal=normalize(normal*vec3(scale,scale,1.0));\x0a#endif\x0areturn\x20normalize(cotangentFrame*normal);\x0a}\x0avec3\x20perturbNormal(mat3\x20cotangentFrame,vec3\x20textureSample,float\x20scale)\x0a{\x0areturn\x20perturbNormalBase(cotangentFrame,textureSample*2.0-1.0,scale);\x0a}\x0amat3\x20cotangent_frame(vec3\x20normal,vec3\x20p,vec2\x20uv,vec2\x20tangentSpaceParams)\x0a{\x0avec3\x20dp1=dFdx(p);\x0avec3\x20dp2=dFdy(p);\x0avec2\x20duv1=dFdx(uv);\x0avec2\x20duv2=dFdy(uv);\x0avec3\x20dp2perp=cross(dp2,normal);\x0avec3\x20dp1perp=cross(normal,dp1);\x0avec3\x20tangent=dp2perp*duv1.x+dp1perp*duv2.x;\x0avec3\x20bitangent=dp2perp*duv1.y+dp1perp*duv2.y;\x0atangent*=tangentSpaceParams.x;\x0abitangent*=tangentSpaceParams.y;\x0afloat\x20det=max(dot(tangent,tangent),dot(bitangent,bitangent));\x0afloat\x20invmax=det==0.0\x20?\x200.0\x20:\x20inversesqrt(det);\x0areturn\x20mat3(tangent*invmax,bitangent*invmax,normal);\x0a}\x0a#endif\x0a','charCodeAt','PREPASS_DEPTH_TEXTURE_TYPE','TEXTURETYPE_UNSIGNED_INT_5_9_9_9_REV\x20format\x20not\x20supported\x20in\x20WebGPU','setStorageBuffer','DepthStencil','detachControl','Thin\x20Instances\x20are\x20not\x20supported\x20on\x20this\x20device\x20as\x20Instanced\x20Array\x20extension\x20not\x20supported','_opDepthFail','#include\x0a#include\x0aattribute\x20vec3\x20position;\x0aattribute\x20vec4\x20normal;\x0auniform\x20mat4\x20viewProjection;\x0auniform\x20float\x20width;\x0auniform\x20float\x20aspectRatio;\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include\x0amat4\x20worldViewProjection=viewProjection*finalWorld;\x0avec4\x20viewPosition=worldViewProjection*vec4(position,1.0);\x0avec4\x20viewPositionNext=worldViewProjection*vec4(normal.xyz,1.0);\x0avec2\x20currentScreen=viewPosition.xy/viewPosition.w;\x0avec2\x20nextScreen=viewPositionNext.xy/viewPositionNext.w;\x0acurrentScreen.x*=aspectRatio;\x0anextScreen.x*=aspectRatio;\x0avec2\x20dir=normalize(nextScreen-currentScreen);\x0avec2\x20normalDir=vec2(-dir.y,dir.x);\x0anormalDir*=width/2.0;\x0anormalDir.x/=aspectRatio;\x0avec4\x20offset=vec4(normalDir*normal.w,0.0,0.0);\x0agl_Position=viewPosition+offset;\x0a#if\x20defined(CLIPPLANE)\x20||\x20defined(CLIPPLANE2)\x20||\x20defined(CLIPPLANE3)\x20||\x20defined(CLIPPLANE4)\x20||\x20defined(CLIPPLANE5)\x20||\x20defined(CLIPPLANE6)\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0a#include\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','_previousPickResult','#ifdef\x20MAINUV{X}\x0avarying\x20vec2\x20vMainUV{X};\x0a#endif\x0a','samplerVertexDeclaration','isTrue','_currentRenderPass','BC6HRGBFloat','ALPHA_ONEONE_ONEONE','struct\x20preLightingInfo\x0a{\x0avec3\x20lightOffset;\x0afloat\x20lightDistanceSquared;\x0afloat\x20lightDistance;\x0afloat\x20attenuation;\x0avec3\x20L;\x0avec3\x20H;\x0afloat\x20NdotV;\x0afloat\x20NdotLUnclamped;\x0afloat\x20NdotL;\x0afloat\x20VdotH;\x0afloat\x20roughness;\x0a#ifdef\x20IRIDESCENCE\x0afloat\x20iridescenceIntensity;\x0a#endif\x0a};\x0apreLightingInfo\x20computePointAndSpotPreLightingInfo(vec4\x20lightData,vec3\x20V,vec3\x20N)\x20{\x0apreLightingInfo\x20result;\x0aresult.lightOffset=lightData.xyz-vPositionW;\x0aresult.lightDistanceSquared=dot(result.lightOffset,result.lightOffset);\x0aresult.lightDistance=sqrt(result.lightDistanceSquared);\x0aresult.L=normalize(result.lightOffset);\x0aresult.H=normalize(V+result.L);\x0aresult.VdotH=saturate(dot(V,result.H));\x0aresult.NdotLUnclamped=dot(N,result.L);\x0aresult.NdotL=saturateEps(result.NdotLUnclamped);\x0areturn\x20result;\x0a}\x0apreLightingInfo\x20computeDirectionalPreLightingInfo(vec4\x20lightData,vec3\x20V,vec3\x20N)\x20{\x0apreLightingInfo\x20result;\x0aresult.lightDistance=length(-lightData.xyz);\x0aresult.L=normalize(-lightData.xyz);\x0aresult.H=normalize(V+result.L);\x0aresult.VdotH=saturate(dot(V,result.H));\x0aresult.NdotLUnclamped=dot(N,result.L);\x0aresult.NdotL=saturateEps(result.NdotLUnclamped);\x0areturn\x20result;\x0a}\x0apreLightingInfo\x20computeHemisphericPreLightingInfo(vec4\x20lightData,vec3\x20V,vec3\x20N)\x20{\x0apreLightingInfo\x20result;\x0aresult.NdotL=dot(N,lightData.xyz)*0.5+0.5;\x0aresult.NdotL=saturateEps(result.NdotL);\x0aresult.NdotLUnclamped=result.NdotL;\x0a#ifdef\x20SPECULARTERM\x0aresult.L=normalize(lightData.xyz);\x0aresult.H=normalize(V+result.L);\x0aresult.VdotH=saturate(dot(V,result.H));\x0a#endif\x0areturn\x20result;\x0a}','stages','unTranslatedPointer','struct\x20','clearQuad','resource','oitFinalPixelShader','_buffer','shadowMapVertexShader','astc','UNSIGNED_INT','sprites','onDisposeObservable','POSITIVE_INFINITY','setStencilReadMask','isAttribute',')\x20uniform','onBeforeCameraRenderObservable','repeatKey','screenSpaceReflections2','setAlphaEquation','useDirectMapping','Invalid\x20fragment\x20shader:\x20The\x20varying\x20named\x20\x22','_buildBlock','onCompiled','Cannot\x20load\x20cubemap\x20because\x20files\x20were\x20not\x20defined','_numExternalTextures','processCodeAfterIncludes','_checkSize','_isPointerSwiping','fluidRenderingParticleDiffuseVertexShader','compute','Vector4','_useSRGBBuffer','Store','_workingCanvas','isCompatible','buttons','width','bindableBlocks','uniforms','projectionMatrix','_GpuTextureViewDimensionByWebGPUTextureType','fogEnd','setColorWrite','supportedPipelines','fluidRenderingParticleDiffusePixelShader','bonesDeclaration','_depthStencilTextureArray','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20screenSize;\x0auniform\x20float\x20kernel[9];\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec2\x20onePixel=vec2(1.0,1.0)/screenSize;\x0avec4\x20colorSum\x20=\x0atexture2D(textureSampler,vUV+onePixel*vec2(-1,-1))*kernel[0]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(0,-1))*kernel[1]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(1,-1))*kernel[2]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(-1,0))*kernel[3]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(0,0))*kernel[4]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(1,0))*kernel[5]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(-1,1))*kernel[6]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(0,1))*kernel[7]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(1,1))*kernel[8];\x0afloat\x20kernelWeight\x20=\x0akernel[0]\x20+\x0akernel[1]\x20+\x0akernel[2]\x20+\x0akernel[3]\x20+\x0akernel[4]\x20+\x0akernel[5]\x20+\x0akernel[6]\x20+\x0akernel[7]\x20+\x0akernel[8];\x0aif\x20(kernelWeight<=0.0)\x20{\x0akernelWeight=1.0;\x0a}\x0agl_FragColor=vec4((colorSum/kernelWeight).rgb,1);\x0a}','\x0a\x20\x20\x20\x20@group(0)\x20@binding(0)\x20var\x20videoSampler:\x20sampler;\x0a\x20\x20\x20\x20@group(0)\x20@binding(1)\x20var\x20videoTexture:\x20texture_external;\x0a\x0a\x20\x20\x20\x20@fragment\x0a\x20\x20\x20\x20fn\x20main(\x0a\x20\x20\x20\x20\x20\x20\x20\x20@location(0)\x20fragUV:\x20vec2\x0a\x20\x20\x20\x20)\x20->\x20@location(0)\x20vec4\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20textureSampleBaseClampToEdge(videoTexture,\x20videoSampler,\x20fragUV);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','#ifndef','computePipeline','#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20TEXTUREFUNC(s,c,l)\x20texture2DLodEXT(s,c,l)\x0a#else\x0a#define\x20TEXTUREFUNC(s,c,b)\x20texture2D(s,c,b)\x0a#endif\x0aprecision\x20highp\x20float;\x0avarying\x20vec3\x20vPosition;\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec2\x20tUV;\x0auniform\x20float\x20time;\x0auniform\x20float\x20spriteCount;\x0auniform\x20sampler2D\x20spriteSheet;\x0auniform\x20vec2\x20spriteMapSize;\x0auniform\x20vec2\x20outputSize;\x0auniform\x20vec2\x20stageSize;\x0auniform\x20sampler2D\x20frameMap;\x0auniform\x20sampler2D\x20tileMaps[LAYERS];\x0auniform\x20sampler2D\x20animationMap;\x0auniform\x20vec3\x20colorMul;\x0afloat\x20mt;\x0aconst\x20float\x20fdStep=1./4.;\x0aconst\x20float\x20aFrameSteps=1./MAX_ANIMATION_FRAMES;\x0amat4\x20getFrameData(float\x20frameID){\x0afloat\x20fX=frameID/spriteCount;\x0areturn\x20mat4(\x0atexture2D(frameMap,vec2(fX,0.),0.),\x0atexture2D(frameMap,vec2(fX,fdStep*1.),0.),\x0atexture2D(frameMap,vec2(fX,fdStep*2.),0.),\x0avec4(0.)\x0a);\x0a}\x0avoid\x20main(){\x0avec4\x20color=vec4(0.);\x0avec2\x20tileUV=fract(tUV);\x0a#ifdef\x20FLIPU\x0atileUV.y=1.0-tileUV.y;\x0a#endif\x0avec2\x20tileID=floor(tUV);\x0avec2\x20sheetUnits=1./spriteMapSize;\x0afloat\x20spriteUnits=1./spriteCount;\x0avec2\x20stageUnits=1./stageSize;\x0afor(int\x20i=0;\x20i0.)\x20{\x0amt=mod(time*animationData.z,1.0);\x0afor(float\x20f=0.;\x20fmt){\x0aframeID=animationData.x;\x0abreak;\x0a}\x0aanimationData=TEXTUREFUNC(animationMap,vec2((frameID+0.5)/spriteCount,aFrameSteps*f),0.);\x0a}\x0a}\x0amat4\x20frameData=getFrameData(frameID+0.5);\x0avec2\x20frameSize=(frameData[0].zw)/spriteMapSize;\x0avec2\x20offset=frameData[0].xy*sheetUnits;\x0avec2\x20ratio=frameData[2].xy/frameData[0].zw;\x0aif\x20(frameData[2].z==1.){\x0atileUV.xy=tileUV.yx;\x0a}\x0avec4\x20nc=texture2D(spriteSheet,tileUV*frameSize+offset);\x0aif\x20(i==0){\x0acolor=nc;\x0a}\x20else\x20{\x0afloat\x20alpha=min(color.a+nc.a,1.0);\x0avec3\x20mixed=mix(color.xyz,nc.xyz,nc.a);\x0acolor=vec4(mixed,alpha);\x0a}\x0a}\x0acolor.xyz*=colorMul;\x0agl_FragColor=color;\x0a}','_createInternalTexture','_cacheSampler','Color3','_FileToolsLoadFile','IRIDESCENCE_THICKNESS_TEXTURE','#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#ifdef\x20SPHERICAL_HARMONICS\x0avec3\x20computeEnvironmentIrradiance(vec3\x20normal)\x20{\x0areturn\x20vSphericalL00\x0a+\x20vSphericalL1_1*(normal.y)\x0a+\x20vSphericalL10*(normal.z)\x0a+\x20vSphericalL11*(normal.x)\x0a+\x20vSphericalL2_2*(normal.y*normal.x)\x0a+\x20vSphericalL2_1*(normal.y*normal.z)\x0a+\x20vSphericalL20*((3.0*normal.z*normal.z)-1.0)\x0a+\x20vSphericalL21*(normal.z*normal.x)\x0a+\x20vSphericalL22*(normal.x*normal.x-(normal.y*normal.y));\x0a}\x0a#else\x0avec3\x20computeEnvironmentIrradiance(vec3\x20normal)\x20{\x0afloat\x20Nx=normal.x;\x0afloat\x20Ny=normal.y;\x0afloat\x20Nz=normal.z;\x0avec3\x20C1=vSphericalZZ.rgb;\x0avec3\x20Cx=vSphericalX.rgb;\x0avec3\x20Cy=vSphericalY.rgb;\x0avec3\x20Cz=vSphericalZ.rgb;\x0avec3\x20Cxx_zz=vSphericalXX_ZZ.rgb;\x0avec3\x20Cyy_zz=vSphericalYY_ZZ.rgb;\x0avec3\x20Cxy=vSphericalXY.rgb;\x0avec3\x20Cyz=vSphericalYZ.rgb;\x0avec3\x20Czx=vSphericalZX.rgb;\x0avec3\x20a1=Cyy_zz*Ny+Cy;\x0avec3\x20a2=Cyz*Nz+a1;\x0avec3\x20b1=Czx*Nz+Cx;\x0avec3\x20b2=Cxy*Ny+b1;\x0avec3\x20b3=Cxx_zz*Nx+b2;\x0avec3\x20t1=Cz\x20*Nz+C1;\x0avec3\x20t2=a2\x20*Ny+t1;\x0avec3\x20t3=b3\x20*Nx+t2;\x0areturn\x20t3;\x0a}\x0a#endif\x0a#endif\x0a','DEPTH_ATTACHMENT','copy','_deferredReleaseTextures','TEXTURE_NEAREST_LINEAR_MIPLINEAR','pickedMesh','TEXTUREFORMAT_RGB_INTEGER','_bindFrameBuffer','vec4','TEXTURE_FIXED_EQUIRECTANGULAR_MODE','InvertYPremultiplyAlphaWithOfst','beginRenderPass','GetRightPlaneToRef','_rigPostProcess','TransformNormalFromFloatsToRef','\x20BILLBOARD','vec2\x20uvOffset=vec2(0.0,0.0);\x0a#if\x20defined(BUMP)\x20||\x20defined(PARALLAX)\x20||\x20defined(DETAIL)\x0a#ifdef\x20NORMALXYSCALE\x0afloat\x20normalScale=1.0;\x0a#elif\x20defined(BUMP)\x0afloat\x20normalScale=vBumpInfos.y;\x0a#else\x0afloat\x20normalScale=1.0;\x0a#endif\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x0amat3\x20TBN=vTBN;\x0a#elif\x20defined(BUMP)\x0avec2\x20TBNUV=gl_FrontFacing\x20?\x20vBumpUV\x20:\x20-vBumpUV;\x0amat3\x20TBN=cotangent_frame(normalW*normalScale,vPositionW,TBNUV,vTangentSpaceParams);\x0a#else\x0avec2\x20TBNUV=gl_FrontFacing\x20?\x20vDetailUV\x20:\x20-vDetailUV;\x0amat3\x20TBN=cotangent_frame(normalW*normalScale,vPositionW,TBNUV,vec2(1.,1.));\x0a#endif\x0a#elif\x20defined(ANISOTROPIC)\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x0amat3\x20TBN=vTBN;\x0a#else\x0avec2\x20TBNUV=gl_FrontFacing\x20?\x20vMainUV1\x20:\x20-vMainUV1;\x0amat3\x20TBN=cotangent_frame(normalW,vPositionW,TBNUV,vec2(1.,1.));\x0a#endif\x0a#endif\x0a#ifdef\x20PARALLAX\x0amat3\x20invTBN=transposeMat3(TBN);\x0a#ifdef\x20PARALLAXOCCLUSION\x0auvOffset=parallaxOcclusion(invTBN*-viewDirectionW,invTBN*normalW,vBumpUV,vBumpInfos.z);\x0a#else\x0auvOffset=parallaxOffset(invTBN*viewDirectionW,vBumpInfos.z);\x0a#endif\x0a#endif\x0a#ifdef\x20DETAIL\x0avec4\x20detailColor=texture2D(detailSampler,vDetailUV+uvOffset);\x0avec2\x20detailNormalRG=detailColor.wy*2.0-1.0;\x0afloat\x20detailNormalB=sqrt(1.-saturate(dot(detailNormalRG,detailNormalRG)));\x0avec3\x20detailNormal=vec3(detailNormalRG,detailNormalB);\x0a#endif\x0a#ifdef\x20BUMP\x0a#ifdef\x20OBJECTSPACE_NORMALMAP\x0a#define\x20CUSTOM_FRAGMENT_BUMP_FRAGMENT\x0anormalW=normalize(texture2D(bumpSampler,vBumpUV).xyz\x20*2.0-1.0);\x0anormalW=normalize(mat3(normalMatrix)*normalW);\x0a#elif\x20!defined(DETAIL)\x0anormalW=perturbNormal(TBN,texture2D(bumpSampler,vBumpUV+uvOffset).xyz,vBumpInfos.y);\x0a#else\x0avec3\x20bumpNormal=texture2D(bumpSampler,vBumpUV+uvOffset).xyz*2.0-1.0;\x0a#if\x20DETAIL_NORMALBLENDMETHOD==0\x20\x0adetailNormal.xy*=vDetailInfos.z;\x0avec3\x20blendedNormal=normalize(vec3(bumpNormal.xy+detailNormal.xy,bumpNormal.z*detailNormal.z));\x0a#elif\x20DETAIL_NORMALBLENDMETHOD==1\x20\x0adetailNormal.xy*=vDetailInfos.z;\x0abumpNormal+=vec3(0.0,0.0,1.0);\x0adetailNormal*=vec3(-1.0,-1.0,1.0);\x0avec3\x20blendedNormal=bumpNormal*dot(bumpNormal,detailNormal)/bumpNormal.z-detailNormal;\x0a#endif\x0anormalW=perturbNormalBase(TBN,blendedNormal,vBumpInfos.y);\x0a#endif\x0a#elif\x20defined(DETAIL)\x0adetailNormal.xy*=vDetailInfos.z;\x0anormalW=perturbNormalBase(TBN,detailNormal,vDetailInfos.z);\x0a#endif\x0a','getVRDisplays','getBindGroups','HALF_FLOAT_OES','getBuffer','textureCubeArray','_reflectionVectorName','thinInstanceSetMatrixAt','varying\x20vec2\x20vUV;\x0auniform\x20samplerCube\x20textureSampler;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0avec2\x20uv=vUV*2.0-1.0;\x0a#ifdef\x20POSITIVEX\x0agl_FragColor=textureCube(textureSampler,vec3(1.001,uv.y,uv.x));\x0a#endif\x0a#ifdef\x20NEGATIVEX\x0agl_FragColor=textureCube(textureSampler,vec3(-1.001,uv.y,uv.x));\x0a#endif\x0a#ifdef\x20POSITIVEY\x0agl_FragColor=textureCube(textureSampler,vec3(uv.y,1.001,uv.x));\x0a#endif\x0a#ifdef\x20NEGATIVEY\x0agl_FragColor=textureCube(textureSampler,vec3(uv.y,-1.001,uv.x));\x0a#endif\x0a#ifdef\x20POSITIVEZ\x0agl_FragColor=textureCube(textureSampler,vec3(uv,1.001));\x0a#endif\x0a#ifdef\x20NEGATIVEZ\x0agl_FragColor=textureCube(textureSampler,vec3(uv,-1.001));\x0a#endif\x0a}','bumpFragment','#ifdef\x20SHEEN\x0astruct\x20sheenOutParams\x0a{\x0afloat\x20sheenIntensity;\x0avec3\x20sheenColor;\x0afloat\x20sheenRoughness;\x0a#ifdef\x20SHEEN_LINKWITHALBEDO\x0avec3\x20surfaceAlbedo;\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(SHEEN_ALBEDOSCALING)\x0afloat\x20sheenAlbedoScaling;\x0a#endif\x0a#if\x20defined(REFLECTION)\x20&&\x20defined(ENVIRONMENTBRDF)\x0avec3\x20finalSheenRadianceScaled;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0avec4\x20sheenMapData;\x0avec3\x20sheenEnvironmentReflectance;\x0a#endif\x0a};\x0a#define\x20pbr_inline\x0a#define\x20inline\x0avoid\x20sheenBlock(\x0ain\x20vec4\x20vSheenColor,\x0a#ifdef\x20SHEEN_ROUGHNESS\x0ain\x20float\x20vSheenRoughness,\x0a#if\x20defined(SHEEN_TEXTURE_ROUGHNESS)\x20&&\x20!defined(SHEEN_TEXTURE_ROUGHNESS_IDENTICAL)\x20&&\x20!defined(SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE)\x0ain\x20vec4\x20sheenMapRoughnessData,\x0a#endif\x0a#endif\x0ain\x20float\x20roughness,\x0a#ifdef\x20SHEEN_TEXTURE\x0ain\x20vec4\x20sheenMapData,\x0ain\x20float\x20sheenMapLevel,\x0a#endif\x0ain\x20float\x20reflectance,\x0a#ifdef\x20SHEEN_LINKWITHALBEDO\x0ain\x20vec3\x20baseColor,\x0ain\x20vec3\x20surfaceAlbedo,\x0a#endif\x0a#ifdef\x20ENVIRONMENTBRDF\x0ain\x20float\x20NdotV,\x0ain\x20vec3\x20environmentBrdf,\x0a#endif\x0a#if\x20defined(REFLECTION)\x20&&\x20defined(ENVIRONMENTBRDF)\x0ain\x20vec2\x20AARoughnessFactors,\x0ain\x20vec3\x20vReflectionMicrosurfaceInfos,\x0ain\x20vec2\x20vReflectionInfos,\x0ain\x20vec3\x20vReflectionColor,\x0ain\x20vec4\x20vLightingIntensity,\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSampler,\x0ain\x20vec3\x20reflectionCoords,\x0a#else\x0ain\x20sampler2D\x20reflectionSampler,\x0ain\x20vec2\x20reflectionCoords,\x0a#endif\x0ain\x20float\x20NdotVUnclamped,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSamplerLow,\x0ain\x20samplerCube\x20reflectionSamplerHigh,\x0a#else\x0ain\x20sampler2D\x20reflectionSamplerLow,\x0ain\x20sampler2D\x20reflectionSamplerHigh,\x0a#endif\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0ain\x20vec2\x20vReflectionFilteringInfo,\x0a#endif\x0a#if\x20!defined(REFLECTIONMAP_SKYBOX)\x20&&\x20defined(RADIANCEOCCLUSION)\x0ain\x20float\x20seo,\x0a#endif\x0a#if\x20!defined(REFLECTIONMAP_SKYBOX)\x20&&\x20defined(HORIZONOCCLUSION)\x20&&\x20defined(BUMP)\x20&&\x20defined(REFLECTIONMAP_3D)\x0ain\x20float\x20eho,\x0a#endif\x0a#endif\x0aout\x20sheenOutParams\x20outParams\x0a)\x0a{\x0afloat\x20sheenIntensity=vSheenColor.a;\x0a#ifdef\x20SHEEN_TEXTURE\x0a#if\x20DEBUGMODE>0\x0aoutParams.sheenMapData=sheenMapData;\x0a#endif\x0a#endif\x0a#ifdef\x20SHEEN_LINKWITHALBEDO\x0afloat\x20sheenFactor=pow5(1.0-sheenIntensity);\x0avec3\x20sheenColor=baseColor.rgb*(1.0-sheenFactor);\x0afloat\x20sheenRoughness=sheenIntensity;\x0aoutParams.surfaceAlbedo=surfaceAlbedo*sheenFactor;\x0a#ifdef\x20SHEEN_TEXTURE\x0asheenIntensity*=sheenMapData.a;\x0a#endif\x0a#else\x0avec3\x20sheenColor=vSheenColor.rgb;\x0a#ifdef\x20SHEEN_TEXTURE\x0a#ifdef\x20SHEEN_GAMMATEXTURE\x0asheenColor.rgb*=toLinearSpace(sheenMapData.rgb);\x0a#else\x0asheenColor.rgb*=sheenMapData.rgb;\x0a#endif\x0asheenColor.rgb*=sheenMapLevel;\x0a#endif\x0a#ifdef\x20SHEEN_ROUGHNESS\x0afloat\x20sheenRoughness=vSheenRoughness;\x0a#ifdef\x20SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE\x0a#if\x20defined(SHEEN_TEXTURE)\x0asheenRoughness*=sheenMapData.a;\x0a#endif\x0a#elif\x20defined(SHEEN_TEXTURE_ROUGHNESS)\x0a#ifdef\x20SHEEN_TEXTURE_ROUGHNESS_IDENTICAL\x0asheenRoughness*=sheenMapData.a;\x0a#else\x0asheenRoughness*=sheenMapRoughnessData.a;\x0a#endif\x0a#endif\x0a#else\x0afloat\x20sheenRoughness=roughness;\x0a#ifdef\x20SHEEN_TEXTURE\x0asheenIntensity*=sheenMapData.a;\x0a#endif\x0a#endif\x0a#if\x20!defined(SHEEN_ALBEDOSCALING)\x0asheenIntensity*=(1.-reflectance);\x0a#endif\x0asheenColor*=sheenIntensity;\x0a#endif\x0a#ifdef\x20ENVIRONMENTBRDF\x0a/*#ifdef\x20SHEEN_SOFTER\x0avec3\x20environmentSheenBrdf=vec3(0.,0.,getBRDFLookupCharlieSheen(NdotV,sheenRoughness));\x0a#else*/\x0a#ifdef\x20SHEEN_ROUGHNESS\x0avec3\x20environmentSheenBrdf=getBRDFLookup(NdotV,sheenRoughness);\x0a#else\x0avec3\x20environmentSheenBrdf=environmentBrdf;\x0a#endif\x0a/*#endif*/\x0a#endif\x0a#if\x20defined(REFLECTION)\x20&&\x20defined(ENVIRONMENTBRDF)\x0afloat\x20sheenAlphaG=convertRoughnessToAverageSlope(sheenRoughness);\x0a#ifdef\x20SPECULARAA\x0asheenAlphaG+=AARoughnessFactors.y;\x0a#endif\x0avec4\x20environmentSheenRadiance=vec4(0.,0.,0.,0.);\x0asampleReflectionTexture(\x0asheenAlphaG,\x0avReflectionMicrosurfaceInfos,\x0avReflectionInfos,\x0avReflectionColor,\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0aNdotVUnclamped,\x0a#endif\x0a#ifdef\x20LINEARSPECULARREFLECTION\x0asheenRoughness,\x0a#endif\x0areflectionSampler,\x0areflectionCoords,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0areflectionSamplerLow,\x0areflectionSamplerHigh,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0avReflectionFilteringInfo,\x0a#endif\x0aenvironmentSheenRadiance\x0a);\x0avec3\x20sheenEnvironmentReflectance=getSheenReflectanceFromBRDFLookup(sheenColor,environmentSheenBrdf);\x0a#if\x20!defined(REFLECTIONMAP_SKYBOX)\x20&&\x20defined(RADIANCEOCCLUSION)\x0asheenEnvironmentReflectance*=seo;\x0a#endif\x0a#if\x20!defined(REFLECTIONMAP_SKYBOX)\x20&&\x20defined(HORIZONOCCLUSION)\x20&&\x20defined(BUMP)\x20&&\x20defined(REFLECTIONMAP_3D)\x0asheenEnvironmentReflectance*=eho;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0aoutParams.sheenEnvironmentReflectance=sheenEnvironmentReflectance;\x0a#endif\x0aoutParams.finalSheenRadianceScaled=\x0aenvironmentSheenRadiance.rgb\x20*\x0asheenEnvironmentReflectance\x20*\x0avLightingIntensity.z;\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(SHEEN_ALBEDOSCALING)\x0aoutParams.sheenAlbedoScaling=1.0-sheenIntensity*max(max(sheenColor.r,sheenColor.g),sheenColor.b)*environmentSheenBrdf.b;\x0a#endif\x0aoutParams.sheenIntensity=sheenIntensity;\x0aoutParams.sheenColor=sheenColor;\x0aoutParams.sheenRoughness=sheenRoughness;\x0a}\x0a#endif\x0a','Float','POINTERMOVE','_verifyPointerLock','ALPHA_ONEONE_ONEZERO','_TextureTypeByWebGLSamplerType','setArray2','_getUseSRGBBuffer','computeElement','invertY','glowMapMergeVertexShader','BC3RGBAUnormSRGB','createDynamicUniformBuffer','_blendConstants','ASTC10x5UnormSRGB','trim','_HandleParenthesisContent','CreateNew','\x20=\x20normalize(vec3(','onPointerPick','subSurfaceConfiguration','destroy','#ifdef\x20UV{X}\x0aattribute\x20vec2\x20uv{X};\x0a#endif\x0a','focus','imageProcessingDeclaration','_loopAnimation','_vertexBuffers','TEXTURE_CUBE_MAP_NEGATIVE_Z','markAsTexturesDirty','CLIPPLANE6','#if\x20SM_NORMALBIAS==1\x0auniform\x20vec3\x20lightDataSM;\x0a#endif\x0auniform\x20vec3\x20biasAndScaleSM;\x0auniform\x20vec2\x20depthValuesSM;\x0avarying\x20float\x20vDepthMetricSM;\x0a#if\x20SM_USEDISTANCE==1\x0avarying\x20vec3\x20vPositionWSM;\x0a#endif\x0a#if\x20defined(SM_DEPTHCLAMP)\x20&&\x20SM_DEPTHCLAMP==1\x0avarying\x20float\x20zSM;\x0a#endif\x0a','#if\x20defined(_DEFINENAME_)\x20&&\x20_DEFINENAME_DIRECTUV==0\x0aif\x20(v_INFONAME_==0.)\x0a{\x0av_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uvUpdated,1.0,0.0));\x0a}\x0a#ifdef\x20UV2\x0aelse\x20if\x20(v_INFONAME_==1.)\x0a{\x0av_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv2,1.0,0.0));\x0a}\x0a#endif\x0a#ifdef\x20UV3\x0aelse\x20if\x20(v_INFONAME_==2.)\x0a{\x0av_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv3,1.0,0.0));\x0a}\x0a#endif\x0a#ifdef\x20UV4\x0aelse\x20if\x20(v_INFONAME_==3.)\x0a{\x0av_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv4,1.0,0.0));\x0a}\x0a#endif\x0a#ifdef\x20UV5\x0aelse\x20if\x20(v_INFONAME_==4.)\x0a{\x0av_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv5,1.0,0.0));\x0a}\x0a#endif\x0a#ifdef\x20UV6\x0aelse\x20if\x20(v_INFONAME_==5.)\x0a{\x0av_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv6,1.0,0.0));\x0a}\x0a#endif\x0a#endif\x0a','groupIndex','isCompiled','subarray','_opStencilFail','CubeRaw','fixedFoveation','Cannot\x20create\x20canvas\x20to\x20resize\x20texture.','sampler2DArray','formats','Texture;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#define\x20','disablePhysicsEngine','_uniformDeclaration','setFloatArray2','_internalCount','_outputPostProcess','_connectVREvents','ONE_MINUS_CONSTANT_ALPHA','rawBoundingInfo','_isStencilOpDirty','QueryResolve','x6_','TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT1','uniform\x20mat4\x20projection;\x0avarying\x20vec2\x20uv;\x0avarying\x20vec3\x20viewPos;\x0avarying\x20float\x20sphereRadius;\x0a#ifdef\x20FLUIDRENDERING_VELOCITY\x0avarying\x20float\x20velocityNorm;\x0a#endif\x0avoid\x20main(void)\x20{\x0avec3\x20normal;\x0anormal.xy=uv*2.0-1.0;\x0afloat\x20r2=dot(normal.xy,normal.xy);\x0aif\x20(r2>1.0)\x20discard;\x0anormal.z=sqrt(1.0-r2);\x0a#ifndef\x20FLUIDRENDERING_RHS\x0anormal.z=-normal.z;\x0a#endif\x0avec4\x20realViewPos=vec4(viewPos+normal*sphereRadius,1.0);\x0avec4\x20clipSpacePos=projection*realViewPos;\x0a#ifdef\x20WEBGPU\x0agl_FragDepth=clipSpacePos.z/clipSpacePos.w;\x0a#else\x0agl_FragDepth=(clipSpacePos.z/clipSpacePos.w)*0.5+0.5;\x0a#endif\x0a#ifdef\x20FLUIDRENDERING_RHS\x0arealViewPos.z=-realViewPos.z;\x0a#endif\x0a#ifdef\x20FLUIDRENDERING_VELOCITY\x0aglFragColor=vec4(realViewPos.z,velocityNorm,0.,1.);\x0a#else\x0aglFragColor=vec4(realViewPos.z,0.,0.,1.);\x0a#endif\x0a}\x0a','texParameteri','stencilMask','createTexture','_unTranslatedPointerY','_direction','supportSpriteInstancing','_depthTest','pickId','lines','render','setDepthStencilFormat','previousMatrixData','MSAA','hasTexture','KEYUP','markAsMiscDirty','#ifdef\x20CLIPPLANE\x0auniform\x20vec4\x20vClipPlane;\x0aout\x20float\x20fClipDistance;\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0auniform\x20vec4\x20vClipPlane2;\x0aout\x20float\x20fClipDistance2;\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0auniform\x20vec4\x20vClipPlane3;\x0aout\x20float\x20fClipDistance3;\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0auniform\x20vec4\x20vClipPlane4;\x0aout\x20float\x20fClipDistance4;\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0auniform\x20vec4\x20vClipPlane5;\x0aout\x20float\x20fClipDistance5;\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0auniform\x20vec4\x20vClipPlane6;\x0aout\x20float\x20fClipDistance6;\x0a#endif\x0a','hasFloatTextures','addCPUSkinningFallback','REPLACE','_dumpPropertiesCode','url','children','diffuseSampler','arrayBufferBlockCount','_startingPointerPosition','release','NEAREST','byteLength','CLAMP_TO_EDGE','Keyboard','precision\x20highp\x20float','setEnabled','REFLECTIONMAP_SKYBOX','TEXTURETYPE_UNSIGNED_SHORT_5_6_5','update','UNSIGNED_SHORT','#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0a#define\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#else\x0auniform\x20vec4\x20color;\x0a#endif\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0agl_FragColor=vColor;\x0a#else\x0agl_FragColor=color;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','ALPHA_ADD','matrixBufferSize','options','KEYDOWN','setArray3','RGBA16Float','layout(std140,column_major)\x20uniform;\x0auniform\x20Material\x0a{\x0auniform\x20vec4\x20vPrimaryColor;\x0auniform\x20vec4\x20vPrimaryColorShadow;\x0auniform\x20vec2\x20vDiffuseInfos;\x0auniform\x20vec2\x20vReflectionInfos;\x0auniform\x20mat4\x20diffuseMatrix;\x0auniform\x20mat4\x20reflectionMatrix;\x0auniform\x20vec3\x20vReflectionMicrosurfaceInfos;\x0auniform\x20float\x20fFovMultiplier;\x0auniform\x20float\x20pointSize;\x0auniform\x20float\x20shadowLevel;\x0auniform\x20float\x20alpha;\x0a#if\x20defined(REFLECTIONFRESNEL)\x20||\x20defined(OPACITYFRESNEL)\x0auniform\x20vec3\x20vBackgroundCenter;\x0a#endif\x0a#ifdef\x20REFLECTIONFRESNEL\x0auniform\x20vec4\x20vReflectionControl;\x0a#endif\x0a};\x0a#include\x0a','_getHalfFloatAsFloatRGBAArrayBuffer','RG8Snorm','#ifdef\x20PREPASS\x0a#extension\x20GL_EXT_draw_buffers\x20:\x20require\x0alayout(location=0)\x20out\x20highp\x20vec4\x20glFragData[{X}];highp\x20vec4\x20gl_FragColor;\x0a#ifdef\x20PREPASS_DEPTH\x0avarying\x20highp\x20vec3\x20vViewPos;\x0a#endif\x0a#ifdef\x20PREPASS_VELOCITY\x0avarying\x20highp\x20vec4\x20vCurrentPosition;varying\x20highp\x20vec4\x20vPreviousPosition;\x0a#endif\x0a#endif\x0a','AutoSamplerSuffix','attributeProcessor','canBeginQuery','_IsComparisonSamplerByWebGPUSamplerType','\x20\x20@location(','SetImmediate','parseGLES3','vClipPlane3','TEXTURE_CREATIONFLAG_STORAGE','_currentDrawContext','flushFramebuffer','setLayerAndFaceIndex','releaseBuffer','_mipmapGenBindGroup','getAttributeNextLocation','activeParticleCount','Error','oitFragment','setTexture','_DefaultIndexOfRefraction','color','renderPassDescriptor','int','GL_ALPHA_FUNCTION_DST_COLOR','Unknown\x20format\x20','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec4\x20color;\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0avec4\x20baseColor=texture2D(textureSampler,vUV);\x0a#ifdef\x20LINEAR\x0abaseColor.rgb=toGammaSpace(baseColor.rgb);\x0a#endif\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0agl_FragColor=baseColor*color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','depthSampler','!false','createPickingRay','Load','_transformTextureUrl','TEXTUREFORMAT_DEPTH32_FLOAT','BYTES_PER_ELEMENT','_resizeOrCreateMultiviewTexture','ALPHA_LAYER_ACCUMULATE','thickness','ASTC4x4Unorm','filterPixelShader','getPipelineContext','TEXTURE_NEAREST_SAMPLINGMODE','updateDirectly','ASTC10x8UnormSRGB','internal\x20copy\x20texture\x20with\x20invertY','#if\x20','sphericalPolynomial','registerOutput','TEXTURETYPE_UNSIGNED_INT_5_9_9_9_REV','_bindUnboundFramebuffer','_bundleListRenderTarget','fragmentInputs.position','TempTextureForUpdateTexture','samples','HasTriggers','_canUseMultipleBuffers','Sint','rightOperand','_spriteBuffer','gradientVertexShader','CLIPPLANE','additionalDefineValue','blockingBlocks','ACTION_OnLongPressTrigger','precision\x20highp\x20float;\x0a#include<__decl__pbrVertex>\x0a#define\x20CUSTOM_VERTEX_BEGIN\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20TANGENT\x0aattribute\x20vec4\x20tangent;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#include[2..7]\x0a#include[1..7]\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include(_DEFINENAME_,ALBEDO,_VARYINGNAME_,Albedo)\x0a#include(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail)\x0a#include(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient)\x0a#include(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity)\x0a#include(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive)\x0a#include(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap)\x0a#include(_DEFINENAME_,REFLECTIVITY,_VARYINGNAME_,Reflectivity)\x0a#include(_DEFINENAME_,MICROSURFACEMAP,_VARYINGNAME_,MicroSurfaceSampler)\x0a#include(_DEFINENAME_,METALLIC_REFLECTANCE,_VARYINGNAME_,MetallicReflectance)\x0a#include(_DEFINENAME_,REFLECTANCE,_VARYINGNAME_,Reflectance)\x0a#include(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump)\x0a#include(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal)\x0a#ifdef\x20CLEARCOAT\x0a#include(_DEFINENAME_,CLEARCOAT_TEXTURE,_VARYINGNAME_,ClearCoat)\x0a#include(_DEFINENAME_,CLEARCOAT_TEXTURE_ROUGHNESS,_VARYINGNAME_,ClearCoatRoughness)\x0a#include(_DEFINENAME_,CLEARCOAT_BUMP,_VARYINGNAME_,ClearCoatBump)\x0a#include(_DEFINENAME_,CLEARCOAT_TINT_TEXTURE,_VARYINGNAME_,ClearCoatTint)\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0a#include(_DEFINENAME_,IRIDESCENCE_TEXTURE,_VARYINGNAME_,Iridescence)\x0a#include(_DEFINENAME_,IRIDESCENCE_THICKNESS_TEXTURE,_VARYINGNAME_,IridescenceThickness)\x0a#endif\x0a#ifdef\x20SHEEN\x0a#include(_DEFINENAME_,SHEEN_TEXTURE,_VARYINGNAME_,Sheen)\x0a#include(_DEFINENAME_,SHEEN_TEXTURE_ROUGHNESS,_VARYINGNAME_,SheenRoughness)\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0a#include(_DEFINENAME_,ANISOTROPIC_TEXTURE,_VARYINGNAME_,Anisotropy)\x0a#endif\x0a#ifdef\x20SUBSURFACE\x0a#include(_DEFINENAME_,SS_THICKNESSANDMASK_TEXTURE,_VARYINGNAME_,Thickness)\x0a#include(_DEFINENAME_,SS_REFRACTIONINTENSITY_TEXTURE,_VARYINGNAME_,RefractionIntensity)\x0a#include(_DEFINENAME_,SS_TRANSLUCENCYINTENSITY_TEXTURE,_VARYINGNAME_,TranslucencyIntensity)\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#if\x20DEBUGMODE>0\x0avarying\x20vec4\x20vClipSpacePosition;\x0a#endif\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#if\x20defined(USESPHERICALFROMREFLECTIONMAP)\x20&&\x20defined(USESPHERICALINVERTEX)\x0avarying\x20vec3\x20vEnvironmentIrradiance;\x0a#include\x0a#endif\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include\x0a#include\x0a#include\x0a#include<__decl__lightVxFragment>[0..maxSimultaneousLights]\x0a#include\x0a#include[0..maxSimultaneousMorphTargets]\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avarying\x20vec3\x20vPositionUVW;\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avarying\x20vec3\x20vDirectionW;\x0a#endif\x0a#include\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avec3\x20positionUpdated=position;\x0a#ifdef\x20NORMAL\x0avec3\x20normalUpdated=normal;\x0a#endif\x0a#ifdef\x20TANGENT\x0avec4\x20tangentUpdated=tangent;\x0a#endif\x0a#ifdef\x20UV1\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#include\x0a#include[0..maxSimultaneousMorphTargets]\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avPositionUVW=positionUpdated;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_UPDATE_POSITION\x0a#define\x20CUSTOM_VERTEX_UPDATE_NORMAL\x0a#include\x0a#if\x20defined(PREPASS)\x20&&\x20defined(PREPASS_VELOCITY)\x20&&\x20!defined(BONES_VELOCITY_ENABLED)\x0avCurrentPosition=viewProjection*finalWorld*vec4(positionUpdated,1.0);\x0avPreviousPosition=previousViewProjection*finalPreviousWorld*vec4(positionUpdated,1.0);\x0a#endif\x0a#include\x0a#include\x0avec4\x20worldPos=finalWorld*vec4(positionUpdated,1.0);\x0avPositionW=vec3(worldPos);\x0a#include\x0a#ifdef\x20NORMAL\x0amat3\x20normalWorld=mat3(finalWorld);\x0a#if\x20defined(INSTANCES)\x20&&\x20defined(THIN_INSTANCES)\x0avNormalW=normalUpdated/vec3(dot(normalWorld[0],normalWorld[0]),dot(normalWorld[1],normalWorld[1]),dot(normalWorld[2],normalWorld[2]));\x0avNormalW=normalize(normalWorld*vNormalW);\x0a#else\x0a#ifdef\x20NONUNIFORMSCALING\x0anormalWorld=transposeMat3(inverseMat3(normalWorld));\x0a#endif\x0avNormalW=normalize(normalWorld*normalUpdated);\x0a#endif\x0a#if\x20defined(USESPHERICALFROMREFLECTIONMAP)\x20&&\x20defined(USESPHERICALINVERTEX)\x0avec3\x20reflectionVector=vec3(reflectionMatrix*vec4(vNormalW,0)).xyz;\x0a#ifdef\x20REFLECTIONMAP_OPPOSITEZ\x0areflectionVector.z*=-1.0;\x0a#endif\x0avEnvironmentIrradiance=computeEnvironmentIrradiance(reflectionVector);\x0a#endif\x0a#endif\x0a#define\x20CUSTOM_VERTEX_UPDATE_WORLDPOS\x0a#ifdef\x20MULTIVIEW\x0aif\x20(gl_ViewID_OVR==0u)\x20{\x0agl_Position=viewProjection*worldPos;\x0a}\x20else\x20{\x0agl_Position=viewProjectionR*worldPos;\x0a}\x0a#else\x0agl_Position=viewProjection*worldPos;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0avClipSpacePosition=gl_Position;\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avDirectionW=normalize(vec3(finalWorld*vec4(positionUpdated,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uvUpdated=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20MAINUV1\x0avMainUV1=uvUpdated;\x0a#endif\x0a#include[2..7]\x0a#include(_DEFINENAME_,ALBEDO,_VARYINGNAME_,Albedo,_MATRIXNAME_,albedo,_INFONAME_,AlbedoInfos.x)\x0a#include(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail,_MATRIXNAME_,detail,_INFONAME_,DetailInfos.x)\x0a#include(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient,_MATRIXNAME_,ambient,_INFONAME_,AmbientInfos.x)\x0a#include(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity,_MATRIXNAME_,opacity,_INFONAME_,OpacityInfos.x)\x0a#include(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive,_MATRIXNAME_,emissive,_INFONAME_,EmissiveInfos.x)\x0a#include(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap,_MATRIXNAME_,lightmap,_INFONAME_,LightmapInfos.x)\x0a#include(_DEFINENAME_,REFLECTIVITY,_VARYINGNAME_,Reflectivity,_MATRIXNAME_,reflectivity,_INFONAME_,ReflectivityInfos.x)\x0a#include(_DEFINENAME_,MICROSURFACEMAP,_VARYINGNAME_,MicroSurfaceSampler,_MATRIXNAME_,microSurfaceSampler,_INFONAME_,MicroSurfaceSamplerInfos.x)\x0a#include(_DEFINENAME_,METALLIC_REFLECTANCE,_VARYINGNAME_,MetallicReflectance,_MATRIXNAME_,metallicReflectance,_INFONAME_,MetallicReflectanceInfos.x)\x0a#include(_DEFINENAME_,REFLECTANCE,_VARYINGNAME_,Reflectance,_MATRIXNAME_,reflectance,_INFONAME_,ReflectanceInfos.x)\x0a#include(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump,_MATRIXNAME_,bump,_INFONAME_,BumpInfos.x)\x0a#include(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal,_MATRIXNAME_,decal,_INFONAME_,DecalInfos.x)\x0a#ifdef\x20CLEARCOAT\x0a#include(_DEFINENAME_,CLEARCOAT_TEXTURE,_VARYINGNAME_,ClearCoat,_MATRIXNAME_,clearCoat,_INFONAME_,ClearCoatInfos.x)\x0a#include(_DEFINENAME_,CLEARCOAT_TEXTURE_ROUGHNESS,_VARYINGNAME_,ClearCoatRoughness,_MATRIXNAME_,clearCoatRoughness,_INFONAME_,ClearCoatInfos.z)\x0a#include(_DEFINENAME_,CLEARCOAT_BUMP,_VARYINGNAME_,ClearCoatBump,_MATRIXNAME_,clearCoatBump,_INFONAME_,ClearCoatBumpInfos.x)\x0a#include(_DEFINENAME_,CLEARCOAT_TINT_TEXTURE,_VARYINGNAME_,ClearCoatTint,_MATRIXNAME_,clearCoatTint,_INFONAME_,ClearCoatTintInfos.x)\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0a#include(_DEFINENAME_,IRIDESCENCE_TEXTURE,_VARYINGNAME_,Iridescence,_MATRIXNAME_,iridescence,_INFONAME_,IridescenceInfos.x)\x0a#include(_DEFINENAME_,IRIDESCENCE_THICKNESS_TEXTURE,_VARYINGNAME_,IridescenceThickness,_MATRIXNAME_,iridescenceThickness,_INFONAME_,IridescenceInfos.z)\x0a#endif\x0a#ifdef\x20SHEEN\x0a#include(_DEFINENAME_,SHEEN_TEXTURE,_VARYINGNAME_,Sheen,_MATRIXNAME_,sheen,_INFONAME_,SheenInfos.x)\x0a#include(_DEFINENAME_,SHEEN_TEXTURE_ROUGHNESS,_VARYINGNAME_,SheenRoughness,_MATRIXNAME_,sheen,_INFONAME_,SheenInfos.z)\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0a#include(_DEFINENAME_,ANISOTROPIC_TEXTURE,_VARYINGNAME_,Anisotropy,_MATRIXNAME_,anisotropy,_INFONAME_,AnisotropyInfos.x)\x0a#endif\x0a#ifdef\x20SUBSURFACE\x0a#include(_DEFINENAME_,SS_THICKNESSANDMASK_TEXTURE,_VARYINGNAME_,Thickness,_MATRIXNAME_,thickness,_INFONAME_,ThicknessInfos.x)\x0a#include(_DEFINENAME_,SS_REFRACTIONINTENSITY_TEXTURE,_VARYINGNAME_,RefractionIntensity,_MATRIXNAME_,refractionIntensity,_INFONAME_,RefractionIntensityInfos.x)\x0a#include(_DEFINENAME_,SS_TRANSLUCENCYINTENSITY_TEXTURE,_VARYINGNAME_,TranslucencyIntensity,_MATRIXNAME_,translucencyIntensity,_INFONAME_,TranslucencyIntensityInfos.x)\x0a#endif\x0a#include\x0a#include\x0a#include\x0a#include[0..maxSimultaneousLights]\x0a#include\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#include\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','thinInstanceSetBuffer','attribute\x20vec4\x20position;\x0aattribute\x20vec2\x20options;\x0aattribute\x20vec2\x20offsets;\x0aattribute\x20vec2\x20inverts;\x0aattribute\x20vec4\x20cellInfo;\x0aattribute\x20vec4\x20color;\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec4\x20vColor;\x0a#include\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avec3\x20viewPos=(view*vec4(position.xyz,1.0)).xyz;\x20\x0avec2\x20cornerPos;\x0afloat\x20angle=position.w;\x0avec2\x20size=vec2(options.x,options.y);\x0avec2\x20offset=offsets.xy;\x0acornerPos=vec2(offset.x-0.5,offset.y\x20-0.5)*size;\x0avec3\x20rotatedCorner;\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.y=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.z=0.;\x0aviewPos+=rotatedCorner;\x0agl_Position=projection*vec4(viewPos,1.0);\x20\x0avColor=color;\x0avec2\x20uvOffset=vec2(abs(offset.x-inverts.x),abs(1.0-offset.y-inverts.y));\x0avec2\x20uvPlace=cellInfo.xy;\x0avec2\x20uvSize=cellInfo.zw;\x0avUV.x=uvPlace.x+uvSize.x*uvOffset.x;\x0avUV.y=uvPlace.y+uvSize.y*uvOffset.y;\x0a#ifdef\x20FOG\x0avFogDistance=viewPos;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','_update','TEXTURE_CUBE_MAP_NEGATIVE_Y','line','tangent','textureRegexp','createMultiviewRenderTargetTexture','bumpVertexDeclaration','_handlesSpectorRebuildCallback','_doubleClick','#ifdef\x20LOGARITHMICDEPTH\x0auniform\x20float\x20logarithmicDepthConstant;\x0avarying\x20float\x20vFragmentDepth;\x0a#endif\x0a','_partialLoadImg','cloneTo','needPOTTextures','indexInGroupEntries','_varyingNextLocation','_getRGBAMultiSampleBufferFormat','MouseWheelX','clipPlane3','fibonacci','_viewMatrix','\x20\x20\x20\x20','IncludesShadersStoreWGSL','clipPlaneFragmentDeclaration2','stencilGlobal','\x20\x20vertexOutputs.position.y\x20=\x20vertexOutputs.position.y\x20*\x20internals.yFactor_;\x0a\x20\x20return\x20vertexOutputs;','ASTC10x10Unorm','autoClear','boundingBoxRendererPixelShader','_ignore',')\x0d\x0a','_multiviewSceneUbo','initialize','hasObservers','outlinePixelShader','emitter','substitutionVars','updateEffect','#version\x20450\x0d\x0a','_addTextureBindingDescription','ExclusiveDoubleClickMode','ETC2RGB8Unorm','\x0a\x20\x20\x20\x20#extension\x20GL_EXT_samplerless_texture_functions\x20:\x20enable\x0a\x0a\x20\x20\x20\x20const\x20vec2\x20pos[4]\x20=\x20vec2[4](vec2(-1.0f,\x201.0f),\x20vec2(1.0f,\x201.0f),\x20vec2(-1.0f,\x20-1.0f),\x20vec2(1.0f,\x20-1.0f));\x0a\x20\x20\x20\x20const\x20vec2\x20tex[4]\x20=\x20vec2[4](vec2(0.0f,\x200.0f),\x20vec2(1.0f,\x200.0f),\x20vec2(0.0f,\x201.0f),\x20vec2(1.0f,\x201.0f));\x0a\x0a\x20\x20\x20\x20layout(set\x20=\x200,\x20binding\x20=\x200)\x20uniform\x20texture2D\x20img;\x0a\x0a\x20\x20\x20\x20#ifdef\x20INVERTY\x0a\x20\x20\x20\x20\x20\x20\x20\x20layout(location\x20=\x200)\x20out\x20flat\x20ivec2\x20vTextureSize;\x0a\x20\x20\x20\x20#endif\x0a\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20INVERTY\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vTextureSize\x20=\x20textureSize(img,\x200);\x0a\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20vec4(pos[gl_VertexIndex],\x200.0,\x201.0);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','maxRenderTriangleCount','particleSize','getUniforms','cellPixelShader','Float\x20textures\x20are\x20not\x20supported.\x20Render\x20target\x20forced\x20to\x20TEXTURETYPE_UNSIGNED_BYTE\x20type','_sphericalPolynomialComputed','compilationString','currentOffsetStartTemp','_boundRenderFunction','_addBufferBindingDescription','ACTION_OnPointerOutTrigger','GetWebGPUTextureFormat','rtt','#ifdef\x20ANISOTROPIC\x0astruct\x20anisotropicOutParams\x0a{\x0afloat\x20anisotropy;\x0avec3\x20anisotropicTangent;\x0avec3\x20anisotropicBitangent;\x0avec3\x20anisotropicNormal;\x0a#if\x20DEBUGMODE>0\x0avec3\x20anisotropyMapData;\x0a#endif\x0a};\x0a#define\x20pbr_inline\x0avoid\x20anisotropicBlock(\x0ain\x20vec3\x20vAnisotropy,\x0a#ifdef\x20ANISOTROPIC_TEXTURE\x0ain\x20vec3\x20anisotropyMapData,\x0a#endif\x0ain\x20mat3\x20TBN,\x0ain\x20vec3\x20normalW,\x0ain\x20vec3\x20viewDirectionW,\x0aout\x20anisotropicOutParams\x20outParams\x0a)\x0a{\x0afloat\x20anisotropy=vAnisotropy.b;\x0avec3\x20anisotropyDirection=vec3(vAnisotropy.xy,0.);\x0a#ifdef\x20ANISOTROPIC_TEXTURE\x0aanisotropy*=anisotropyMapData.b;\x0aanisotropyDirection.rg*=anisotropyMapData.rg*2.0-1.0;\x0a#if\x20DEBUGMODE>0\x0aoutParams.anisotropyMapData=anisotropyMapData;\x0a#endif\x0a#endif\x0amat3\x20anisoTBN=mat3(normalize(TBN[0]),normalize(TBN[1]),normalize(TBN[2]));\x0avec3\x20anisotropicTangent=normalize(anisoTBN*anisotropyDirection);\x0avec3\x20anisotropicBitangent=normalize(cross(anisoTBN[2],anisotropicTangent));\x0aoutParams.anisotropy=anisotropy;\x0aoutParams.anisotropicTangent=anisotropicTangent;\x0aoutParams.anisotropicBitangent=anisotropicBitangent;\x0aoutParams.anisotropicNormal=getAnisotropicBentNormals(anisotropicTangent,anisotropicBitangent,normalW,viewDirectionW,anisotropy);\x0a}\x0a#endif\x0a','_itemLength','precision\x20highp\x20float;\x0d\x0a','_isSwiping','requestPresent','TEXTURE','doubleClick','createDynamicTexture','metersPerUnit','RG11B10UFloat','vScale','object','_debugFlushPendingCommands','UNSIGNED_BYTE','buffer','_currentItemIsBundle','_emitExtension','_glslang','TEXTURE_WRAP_T','_sphericalPolynomial','simulatePointerUp','fogStart','TEXTURETYPE_FLOAT_32_UNSIGNED_INT_24_8_REV','_generateMipmaps','Output','_ssDiffusionD','pbrIBLFunctions','RGBA','markAllMaterialsAsDirty','_epsilon','uniform\x20float\x20particleAlpha;\x0avarying\x20vec2\x20uv;\x0avoid\x20main(void)\x20{\x0avec3\x20normal;\x0anormal.xy=uv*2.0-1.0;\x0afloat\x20r2=dot(normal.xy,normal.xy);\x0aif\x20(r2>1.0)\x20discard;\x0afloat\x20thickness=sqrt(1.0-r2);\x0aglFragColor=vec4(vec3(particleAlpha*thickness),1.0);\x0a}\x0a','pointermove','updateTextureSamplingMode','_createDepthStencilTexture','fluidRenderingBilateralBlur','getAndRemove','subtract','updateFlag','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include\x0a#include\x0a#include\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0avarying\x20vec3\x20vPosition;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include\x0a#include\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include\x0a#include\x0a#include\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0agl_Position=viewProjection*worldPos;\x0avPositionW=vec3(worldPos);\x0avPosition=position;\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#include\x0a#include\x0a#include[0..maxSimultaneousLights]\x0a#include\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','Timestamp','_currentTotalIndices','layerMask','_drawWrapperDepth','deleteTexture','attribute\x20vec3\x20position;\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include\x0a#include\x0a#include\x0a#include\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20MULTIVIEW\x0auniform\x20mat4\x20viewProjectionR;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include\x0a#include\x0a#include\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0a#ifdef\x20MULTIVIEW\x0aif\x20(gl_ViewID_OVR==0u)\x20{\x0agl_Position=viewProjection*worldPos;\x0a}\x20else\x20{\x0agl_Position=viewProjectionR*worldPos;\x0a}\x0a#else\x0agl_Position=viewProjection*worldPos;\x0a#endif\x0a#include\x0a#include\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','meshUnderPointer','enable','createStorageBuffer:\x20Unsupported\x20method\x20in\x20this\x20engine!','TEXTURETYPE_UNSIGNED_INT_24_8','_pickedUpMesh','submit','IridescenceBlock','_registerTempVariable','inverts','textureBlocks','CLIPPLANE3','externalTexture','blurDir','\x20=\x20vec3(0,\x200,\x200);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0d\x0a','pbrBlockReflectance'];a7_0x3ef4=function(){return _0x162f93;};return a7_0x3ef4();}var a7_0x1ed280=a7_0x3908;(function(_0x48bab2,_0x38d9c7){var _0x1ca7f0=a7_0x3908,_0x54c39b=_0x48bab2();while(!![]){try{var _0xb78308=parseInt(_0x1ca7f0(0x78c))/0x1*(parseInt(_0x1ca7f0(0x537))/0x2)+parseInt(_0x1ca7f0(0x2d8))/0x3*(parseInt(_0x1ca7f0(0x6a7))/0x4)+parseInt(_0x1ca7f0(0x54e))/0x5*(parseInt(_0x1ca7f0(0xa84))/0x6)+-parseInt(_0x1ca7f0(0x8d4))/0x7*(-parseInt(_0x1ca7f0(0x484))/0x8)+-parseInt(_0x1ca7f0(0x1cf))/0x9*(parseInt(_0x1ca7f0(0x38e))/0xa)+-parseInt(_0x1ca7f0(0xb17))/0xb+parseInt(_0x1ca7f0(0x573))/0xc*(-parseInt(_0x1ca7f0(0x312))/0xd);if(_0xb78308===_0x38d9c7)break;else _0x54c39b['push'](_0x54c39b['shift']());}catch(_0x29fbf8){_0x54c39b['push'](_0x54c39b['shift']());}}}(a7_0x3ef4,0x1878b));function a7_0x3908(_0x5c5e64,_0x59c4db){var _0x3ef4ad=a7_0x3ef4();return a7_0x3908=function(_0x3908f0,_0x1c7bb3){_0x3908f0=_0x3908f0-0x136;var _0x344d1d=_0x3ef4ad[_0x3908f0];return _0x344d1d;},a7_0x3908(_0x5c5e64,_0x59c4db);}(Object(self||this)[a7_0x1ed280(0x476)]=Object(self||this)[a7_0x1ed280(0x476)]||[])['push']([[0x162],{0x2b0:(_0x166432,_0x3ac819,_0x245322)=>{var _0x2719fd=a7_0x1ed280;_0x245322['d'](_0x3ac819,{'V':()=>_0x53d973});class _0x53d973{constructor(_0x43e313,_0x4d1fce,_0xa183a8,_0x48f643,_0x5385f5,_0x177df5){var _0x20bd94=a7_0x3908;this['source']=_0x43e313,this['pointerX']=_0x4d1fce,this['pointerY']=_0xa183a8,this[_0x20bd94(0xc93)]=_0x48f643,this[_0x20bd94(0x313)]=_0x5385f5,this[_0x20bd94(0x4fb)]=_0x177df5;}static[_0x2719fd(0xb98)](_0x2207db,_0xe84f1f,_0x385d58){var _0x12c76c=_0x2719fd,_0x116e79=_0x2207db['getScene']();return new _0x53d973(_0x2207db,_0x116e79['pointerX'],_0x116e79[_0x12c76c(0x750)],_0x116e79[_0x12c76c(0xc93)]||_0x2207db,_0xe84f1f,_0x385d58);}static[_0x2719fd(0x535)](_0x3253c6,_0x256ef4,_0x432a27,_0x25c510){var _0x2979de=_0x2719fd;return new _0x53d973(_0x3253c6,_0x256ef4[_0x2979de(0x341)],_0x256ef4['pointerY'],_0x256ef4[_0x2979de(0xc93)],_0x432a27,_0x25c510);}static[_0x2719fd(0xa02)](_0x1776b5,_0xbefbef){var _0x1bca63=_0x2719fd;return new _0x53d973(null,_0x1776b5[_0x1bca63(0x341)],_0x1776b5['pointerY'],_0x1776b5['meshUnderPointer'],_0xbefbef);}static[_0x2719fd(0x782)](_0x5f3d38,_0x38c9c7,_0x51c03e,_0x198cf6){return new _0x53d973(_0x5f3d38,_0x38c9c7['x'],_0x38c9c7['y'],null,_0x51c03e,_0x198cf6);}}},0x71:(_0x1c68b4,_0xc75ae7,_0xbeceb7)=>{var _0x366a94=a7_0x1ed280;_0xbeceb7['d'](_0xc75ae7,{'X':()=>_0x16372f});class _0x16372f{constructor(_0x426289,_0x2e25c0,_0x462ea0){var _0x5c7013=a7_0x3908;this[_0x5c7013(0xa21)]=_0x426289,this['from']=_0x2e25c0,this['to']=_0x462ea0;}[_0x366a94(0xa3d)](){var _0x1288c3=_0x366a94;return new _0x16372f(this['name'],this[_0x1288c3(0x8f4)],this['to']);}}},0xf2a6:(_0x5103c1,_0x405a18,_0x24b24a)=>{_0x24b24a['d'](_0x405a18,{'c':()=>_0x8e88d3});class _0x8e88d3{constructor(_0x218a1c,_0x4242b9,_0x242033){var _0x11b3bf=a7_0x3908;this['bu']=_0x218a1c,this['bv']=_0x4242b9,this[_0x11b3bf(0xa3b)]=_0x242033,this[_0x11b3bf(0x2b9)]=0x0,this['subMeshId']=0x0;}}},0x13ea8:(_0x441f45,_0x2ae02a,_0x449c35)=>{_0x449c35['d'](_0x2ae02a,{'p':()=>_0x33bea4});var _0x233327=_0x449c35(0xf96c);class _0x33bea4{constructor(_0x5e3f8a,_0x542a20,_0x33f010=0x0){var _0x2eb393=a7_0x3908;this[_0x2eb393(0x4ac)]=_0x542a20,this['deviceSlot']=_0x33f010,this[_0x2eb393(0x31e)]=new _0x233327['y$'](),this['_deviceInputSystem']=_0x5e3f8a;}['getInput'](_0x39bfd3){var _0x43b21c=a7_0x3908;return this['_deviceInputSystem'][_0x43b21c(0x8a0)](this[_0x43b21c(0x4ac)],this[_0x43b21c(0x939)],_0x39bfd3);}}},0x59fc:(_0x59177b,_0x423494,_0x50cb13)=>{var _0xf07c49=a7_0x1ed280,_0x507bc5=_0x50cb13(0x202a),_0x5887ba=_0x50cb13(0x77a5);_0x507bc5['B'][_0xf07c49(0x3c6)][_0xf07c49(0x886)]=function(_0x21610b,_0x4c4883,_0x4eabfe,_0x4e19d3){var _0x202006=_0xf07c49;this[_0x202006(0x783)][_0x202006(0x13a)](_0x21610b,_0x4c4883,_0x4eabfe,_0x4e19d3);},_0x507bc5['B']['prototype'][_0xf07c49(0x8a8)]=function(_0x3dacc5,_0x23e2b1=!0x1){var _0x533e1c=_0xf07c49,_0x68bb9a;if(this[_0x533e1c(0x506)]===_0x3dacc5)_0x23e2b1||(_0x68bb9a=_0x3dacc5===_0x5887ba['g'][_0x533e1c(0xa55)],this[_0x533e1c(0x8a7)]['depthMask']!==_0x68bb9a&&(this['depthCullingState']['depthMask']=_0x68bb9a));else{switch(_0x3dacc5){case _0x5887ba['g']['ALPHA_DISABLE']:this['_alphaState']['alphaBlend']=!0x1;break;case _0x5887ba['g']['ALPHA_PREMULTIPLIED']:this[_0x533e1c(0x783)][_0x533e1c(0x230)](this[_0x533e1c(0x7b6)][_0x533e1c(0x88d)],this['_gl'][_0x533e1c(0x234)],this[_0x533e1c(0x7b6)]['ONE'],this[_0x533e1c(0x7b6)][_0x533e1c(0x88d)]),this['_alphaState'][_0x533e1c(0x57d)]=!0x0;break;case _0x5887ba['g'][_0x533e1c(0x61e)]:this[_0x533e1c(0x783)][_0x533e1c(0x230)](this[_0x533e1c(0x7b6)]['ONE'],this['_gl']['ONE_MINUS_SRC_ALPHA'],this[_0x533e1c(0x7b6)][_0x533e1c(0x88d)],this[_0x533e1c(0x7b6)][_0x533e1c(0x234)]),this['_alphaState'][_0x533e1c(0x57d)]=!0x0;break;case _0x5887ba['g']['ALPHA_COMBINE']:this['_alphaState'][_0x533e1c(0x230)](this[_0x533e1c(0x7b6)][_0x533e1c(0x172)],this[_0x533e1c(0x7b6)][_0x533e1c(0x234)],this[_0x533e1c(0x7b6)][_0x533e1c(0x88d)],this[_0x533e1c(0x7b6)][_0x533e1c(0x88d)]),this[_0x533e1c(0x783)][_0x533e1c(0x57d)]=!0x0;break;case _0x5887ba['g'][_0x533e1c(0x74c)]:this[_0x533e1c(0x783)][_0x533e1c(0x230)](this['_gl'][_0x533e1c(0x88d)],this['_gl'][_0x533e1c(0x88d)],this[_0x533e1c(0x7b6)]['ZERO'],this[_0x533e1c(0x7b6)][_0x533e1c(0x88d)]),this['_alphaState'][_0x533e1c(0x57d)]=!0x0;break;case _0x5887ba['g'][_0x533e1c(0xbe4)]:this[_0x533e1c(0x783)][_0x533e1c(0x230)](this[_0x533e1c(0x7b6)][_0x533e1c(0x172)],this[_0x533e1c(0x7b6)][_0x533e1c(0x88d)],this[_0x533e1c(0x7b6)][_0x533e1c(0x9fe)],this['_gl'][_0x533e1c(0x88d)]),this[_0x533e1c(0x783)][_0x533e1c(0x57d)]=!0x0;break;case _0x5887ba['g'][_0x533e1c(0x85e)]:this['_alphaState'][_0x533e1c(0x230)](this[_0x533e1c(0x7b6)][_0x533e1c(0x9fe)],this[_0x533e1c(0x7b6)][_0x533e1c(0x901)],this[_0x533e1c(0x7b6)][_0x533e1c(0x88d)],this[_0x533e1c(0x7b6)][_0x533e1c(0x88d)]),this[_0x533e1c(0x783)][_0x533e1c(0x57d)]=!0x0;break;case _0x5887ba['g'][_0x533e1c(0x763)]:this[_0x533e1c(0x783)][_0x533e1c(0x230)](this[_0x533e1c(0x7b6)][_0x533e1c(0xd22)],this[_0x533e1c(0x7b6)][_0x533e1c(0x9fe)],this[_0x533e1c(0x7b6)][_0x533e1c(0x88d)],this[_0x533e1c(0x7b6)][_0x533e1c(0x88d)]),this[_0x533e1c(0x783)][_0x533e1c(0x57d)]=!0x0;break;case _0x5887ba['g'][_0x533e1c(0xce8)]:this['_alphaState'][_0x533e1c(0x230)](this[_0x533e1c(0x7b6)][_0x533e1c(0x172)],this[_0x533e1c(0x7b6)]['ONE_MINUS_SRC_COLOR'],this[_0x533e1c(0x7b6)][_0x533e1c(0x88d)],this[_0x533e1c(0x7b6)][_0x533e1c(0x88d)]),this[_0x533e1c(0x783)][_0x533e1c(0x57d)]=!0x0;break;case _0x5887ba['g'][_0x533e1c(0x48f)]:this[_0x533e1c(0x783)][_0x533e1c(0x230)](this[_0x533e1c(0x7b6)][_0x533e1c(0xa4c)],this[_0x533e1c(0x7b6)]['ONE_MINUS_CONSTANT_COLOR'],this[_0x533e1c(0x7b6)][_0x533e1c(0x274)],this[_0x533e1c(0x7b6)][_0x533e1c(0xbb7)]),this[_0x533e1c(0x783)][_0x533e1c(0x57d)]=!0x0;break;case _0x5887ba['g'][_0x533e1c(0x72c)]:this['_alphaState']['setAlphaBlendFunctionParameters'](this[_0x533e1c(0x7b6)]['ONE'],this[_0x533e1c(0x7b6)][_0x533e1c(0x901)],this[_0x533e1c(0x7b6)][_0x533e1c(0x88d)],this[_0x533e1c(0x7b6)]['ONE_MINUS_SRC_ALPHA']),this[_0x533e1c(0x783)]['alphaBlend']=!0x0;break;case _0x5887ba['g'][_0x533e1c(0xb31)]:this['_alphaState']['setAlphaBlendFunctionParameters'](this['_gl'][_0x533e1c(0x88d)],this[_0x533e1c(0x7b6)][_0x533e1c(0x88d)],this[_0x533e1c(0x7b6)][_0x533e1c(0x88d)],this[_0x533e1c(0x7b6)][_0x533e1c(0x88d)]),this[_0x533e1c(0x783)][_0x533e1c(0x57d)]=!0x0;break;case _0x5887ba['g'][_0x533e1c(0x433)]:this[_0x533e1c(0x783)][_0x533e1c(0x230)](this[_0x533e1c(0x7b6)]['DST_ALPHA'],this[_0x533e1c(0x7b6)][_0x533e1c(0x88d)],this[_0x533e1c(0x7b6)][_0x533e1c(0x9fe)],this[_0x533e1c(0x7b6)][_0x533e1c(0x9fe)]),this[_0x533e1c(0x783)][_0x533e1c(0x57d)]=!0x0;break;case _0x5887ba['g'][_0x533e1c(0x6d8)]:this[_0x533e1c(0x783)][_0x533e1c(0x230)](this[_0x533e1c(0x7b6)][_0x533e1c(0xa31)],this[_0x533e1c(0x7b6)][_0x533e1c(0x901)],this['_gl'][_0x533e1c(0x9f6)],this[_0x533e1c(0x7b6)][_0x533e1c(0x234)]),this[_0x533e1c(0x783)]['alphaBlend']=!0x0;break;case _0x5887ba['g'][_0x533e1c(0x186)]:this[_0x533e1c(0x783)][_0x533e1c(0x230)](this['_gl'][_0x533e1c(0x88d)],this[_0x533e1c(0x7b6)][_0x533e1c(0x234)],this[_0x533e1c(0x7b6)][_0x533e1c(0x88d)],this[_0x533e1c(0x7b6)][_0x533e1c(0x234)]),this[_0x533e1c(0x783)][_0x533e1c(0x57d)]=!0x0;break;case _0x5887ba['g']['ALPHA_ONEONE_ONEZERO']:this['_alphaState'][_0x533e1c(0x230)](this[_0x533e1c(0x7b6)][_0x533e1c(0x88d)],this[_0x533e1c(0x7b6)][_0x533e1c(0x88d)],this['_gl'][_0x533e1c(0x88d)],this[_0x533e1c(0x7b6)][_0x533e1c(0x9fe)]),this['_alphaState'][_0x533e1c(0x57d)]=!0x0;break;case _0x5887ba['g'][_0x533e1c(0x941)]:this[_0x533e1c(0x783)]['setAlphaBlendFunctionParameters'](this[_0x533e1c(0x7b6)][_0x533e1c(0xa31)],this[_0x533e1c(0x7b6)][_0x533e1c(0x901)],this[_0x533e1c(0x7b6)][_0x533e1c(0x9fe)],this[_0x533e1c(0x7b6)][_0x533e1c(0x88d)]),this[_0x533e1c(0x783)][_0x533e1c(0x57d)]=!0x0;break;case _0x5887ba['g'][_0x533e1c(0xc10)]:this[_0x533e1c(0x783)]['setAlphaBlendFunctionParameters'](this[_0x533e1c(0x7b6)][_0x533e1c(0x172)],this['_gl'][_0x533e1c(0x234)],this[_0x533e1c(0x7b6)][_0x533e1c(0x88d)],this[_0x533e1c(0x7b6)][_0x533e1c(0x234)]),this[_0x533e1c(0x783)]['alphaBlend']=!0x0;}_0x23e2b1||(this[_0x533e1c(0x8a7)][_0x533e1c(0x255)]=_0x3dacc5===_0x5887ba['g'][_0x533e1c(0xa55)]),this['_alphaMode']=_0x3dacc5;}},_0x507bc5['B'][_0xf07c49(0x3c6)][_0xf07c49(0xab5)]=function(){return this['_alphaMode'];},_0x507bc5['B'][_0xf07c49(0x3c6)][_0xf07c49(0xb46)]=function(_0x258d3f){var _0x59938d=_0xf07c49;if(this['_alphaEquation']!==_0x258d3f){switch(_0x258d3f){case _0x5887ba['g'][_0x59938d(0x361)]:this[_0x59938d(0x783)]['setAlphaEquationParameters'](_0x5887ba['g'][_0x59938d(0x4fc)],_0x5887ba['g'][_0x59938d(0x4fc)]);break;case _0x5887ba['g'][_0x59938d(0x9ef)]:this[_0x59938d(0x783)]['setAlphaEquationParameters'](_0x5887ba['g'][_0x59938d(0x5eb)],_0x5887ba['g'][_0x59938d(0x5eb)]);break;case _0x5887ba['g']['ALPHA_EQUATION_REVERSE_SUBTRACT']:this['_alphaState'][_0x59938d(0x70e)](_0x5887ba['g'][_0x59938d(0x9c0)],_0x5887ba['g']['GL_ALPHA_EQUATION_REVERSE_SUBTRACT']);break;case _0x5887ba['g']['ALPHA_EQUATION_MAX']:this[_0x59938d(0x783)][_0x59938d(0x70e)](_0x5887ba['g'][_0x59938d(0x1ab)],_0x5887ba['g']['GL_ALPHA_EQUATION_MAX']);break;case _0x5887ba['g']['ALPHA_EQUATION_MIN']:this['_alphaState'][_0x59938d(0x70e)](_0x5887ba['g'][_0x59938d(0xacd)],_0x5887ba['g'][_0x59938d(0xacd)]);break;case _0x5887ba['g'][_0x59938d(0xcfa)]:this['_alphaState'][_0x59938d(0x70e)](_0x5887ba['g']['GL_ALPHA_EQUATION_MIN'],_0x5887ba['g']['GL_ALPHA_EQUATION_ADD']);}this[_0x59938d(0x5e4)]=_0x258d3f;}},_0x507bc5['B']['prototype']['getAlphaEquation']=function(){return this['_alphaEquation'];};},0x4dec:(_0x84e2ac,_0x5c39be,_0x165cc5)=>{var _0x1b0d14=a7_0x1ed280,_0x349536=_0x165cc5(0x202a),_0xac1bbc=_0x165cc5(0x25b1),_0x160b79=_0x165cc5(0x10ea4),_0x2f2c11=_0x165cc5(0x2560),_0xc1d08c=_0x165cc5(0x9f19),_0x3733a9=_0x165cc5(0x77a5);_0x349536['B']['prototype'][_0x1b0d14(0x4c2)]=function(_0x5b52a1,_0x5aeae2,_0x4d0b6c){var _0x205880=_0x1b0d14;const _0x2575e7=new _0xac1bbc['l'](this,_0xac1bbc['S'][_0x205880(0xb26)]);if(_0x2575e7[_0x205880(0xb15)]=!0x0,0x1===this[_0x205880(0x44b)])return _0x160b79['Y'][_0x205880(0xbfe)](_0x205880(0x9cd)),_0x2575e7;var _0x388242=Object[_0x205880(0x245)]({'bilinearFiltering':!0x1,'comparisonFunction':0x0,'generateStencil':!0x1},_0x5aeae2);const _0x1e51cc=this[_0x205880(0x7b6)];this['_bindTextureDirectly'](_0x1e51cc[_0x205880(0x91f)],_0x2575e7,!0x0),this['_setupDepthStencilTexture'](_0x2575e7,_0x5b52a1,_0x388242['generateStencil'],_0x388242['bilinearFiltering'],_0x388242['comparisonFunction']),_0x4d0b6c[_0x205880(0x339)]=_0x2575e7,_0x4d0b6c[_0x205880(0x969)]=_0x388242[_0x205880(0xad9)];for(let _0xae8123=0x0;_0xae8123<0x6;_0xae8123++)_0x388242[_0x205880(0xad9)]?_0x1e51cc['texImage2D'](_0x1e51cc[_0x205880(0x9fc)]+_0xae8123,0x0,_0x1e51cc['DEPTH24_STENCIL8'],_0x5b52a1,_0x5b52a1,0x0,_0x1e51cc['DEPTH_STENCIL'],_0x1e51cc['UNSIGNED_INT_24_8'],null):_0x1e51cc[_0x205880(0x431)](_0x1e51cc['TEXTURE_CUBE_MAP_POSITIVE_X']+_0xae8123,0x0,_0x1e51cc[_0x205880(0x4e9)],_0x5b52a1,_0x5b52a1,0x0,_0x1e51cc[_0x205880(0x4a3)],_0x1e51cc['UNSIGNED_INT'],null);return this[_0x205880(0xaa7)](_0x1e51cc[_0x205880(0x91f)],null),this[_0x205880(0xa1e)][_0x205880(0x6fe)](_0x2575e7),_0x2575e7;},_0x349536['B'][_0x1b0d14(0x3c6)][_0x1b0d14(0x831)]=function(_0x1d8312,_0x31412d,_0x282661,_0x137b0a,_0x24a3c5=null){var _0x36e020=_0x1b0d14;this[_0x36e020(0x6b1)](_0x1d8312,_0x23ae34=>{_0x282661[_0x31412d]=_0x23ae34,_0x282661['_internalCount']++,0x6===_0x282661['_internalCount']&&_0x137b0a(_0x282661);},void 0x0,void 0x0,!0x0,(_0xba2d6c,_0xd59339)=>{var _0x23c304=_0x36e020;_0x24a3c5&&_0xba2d6c&&_0x24a3c5(_0xba2d6c[_0x23c304(0x54f)]+'\x20'+_0xba2d6c[_0x23c304(0xac6)],_0xd59339);});},_0x349536['B']['prototype'][_0x1b0d14(0x92b)]=function(_0x355364,_0x5beedb,_0x3f1536,_0x304bf8=null){var _0x2127a3=_0x1b0d14;const _0x3b7109=[];for(let _0x105268=_0x3b7109['_internalCount']=0x0;_0x105268<0x6;_0x105268++)this[_0x2127a3(0x831)](_0x3f1536[_0x105268],_0x105268,_0x3b7109,_0x5beedb,_0x304bf8);},_0x349536['B'][_0x1b0d14(0x3c6)][_0x1b0d14(0x2c8)]=function(_0x10d845,_0x4fa346,_0x42529b,_0x3c3a40,_0xe78099=null,_0x3c11be){var _0x161e00=_0x1b0d14;const _0x98b6f6=[];for(let _0x2a5920=_0x98b6f6[_0x161e00(0xbb4)]=0x0;_0x2a5920<0x6;_0x2a5920++)this[_0x161e00(0xc39)](_0x3c3a40[_0x2a5920],_0x2a5920,_0x98b6f6,_0x10d845,_0x4fa346,_0x42529b,_0xe78099,_0x3c11be);},_0x349536['B'][_0x1b0d14(0x3c6)]['_partialLoadImg']=function(_0xe0f8bd,_0x1b93ab,_0x468191,_0x228543,_0x2b0d05,_0x139330,_0x1bc3f4=null,_0x103982){var _0x135ed7=_0x1b0d14;const _0x461655=(0x0,_0xc1d08c['f'])();(0x0,_0x2f2c11['r6'])(_0xe0f8bd,_0x5d9d5c=>{var _0x1de9e1=a7_0x3908;_0x468191[_0x1b93ab]=_0x5d9d5c,_0x468191[_0x1de9e1(0xbb4)]++,_0x228543&&_0x228543['removePendingData'](_0x461655),0x6===_0x468191[_0x1de9e1(0xbb4)]&&_0x139330&&_0x139330(_0x2b0d05,_0x468191);},(_0x23e03c,_0xa833d6)=>{var _0x3f8b66=a7_0x3908;_0x228543&&_0x228543[_0x3f8b66(0x66b)](_0x461655),_0x1bc3f4&&_0x1bc3f4(_0x23e03c,_0xa833d6);},_0x228543?_0x228543[_0x135ed7(0x70d)]:null,_0x103982),_0x228543&&_0x228543[_0x135ed7(0x22e)](_0x461655);},_0x349536['B'][_0x1b0d14(0x3c6)][_0x1b0d14(0x36c)]=function(_0x356f57,_0x59e3ff,_0x3d6969){var _0x475792=_0x1b0d14;const _0x4bb66c=this[_0x475792(0x7b6)];_0x4bb66c[_0x475792(0xbbe)](_0x4bb66c[_0x475792(0x91f)],_0x4bb66c[_0x475792(0x27e)],_0x4bb66c[_0x475792(0x487)]),_0x4bb66c[_0x475792(0xbbe)](_0x4bb66c[_0x475792(0x91f)],_0x4bb66c[_0x475792(0x9b7)],_0x59e3ff?_0x4bb66c[_0x475792(0x83a)]:_0x4bb66c[_0x475792(0x487)]),_0x4bb66c[_0x475792(0xbbe)](_0x4bb66c[_0x475792(0x91f)],_0x4bb66c['TEXTURE_WRAP_S'],_0x4bb66c[_0x475792(0xbdb)]),_0x4bb66c[_0x475792(0xbbe)](_0x4bb66c[_0x475792(0x91f)],_0x4bb66c[_0x475792(0xc78)],_0x4bb66c[_0x475792(0xbdb)]),_0x356f57[_0x475792(0x91a)]=_0x59e3ff?_0x3733a9['g']['TEXTURE_TRILINEAR_SAMPLINGMODE']:_0x3733a9['g'][_0x475792(0x773)],_0x59e3ff&&this['getCaps']()[_0x475792(0x92d)]&&void 0x0!==_0x3d6969&&0x0<_0x3d6969&&(_0x4bb66c[_0x475792(0xbbe)](_0x4bb66c[_0x475792(0x91f)],_0x4bb66c[_0x475792(0x1db)],_0x3d6969),_0x356f57[_0x475792(0xd1f)]=_0x3d6969),this[_0x475792(0xaa7)](_0x4bb66c['TEXTURE_CUBE_MAP'],null);},_0x349536['B'][_0x1b0d14(0x3c6)][_0x1b0d14(0x264)]=function(_0x481207,_0xa1c700,_0x5c5321,_0x34439e,_0x1fd4f1=null,_0x1e8443=null,_0xc6d6f1,_0x4bde1b=null,_0x96fbb3=!0x1,_0x319cc1=0x0,_0x105cf4=0x0,_0x391c86=null,_0x41ca4a=null,_0x47dd14=null,_0x1b0ac6=!0x1){var _0x42cac5=_0x1b0d14;const _0x59fe11=_0x391c86||new _0xac1bbc['l'](this,_0xac1bbc['S']['Cube']),_0x23833b=(_0x59fe11['isCube']=!0x0,_0x59fe11[_0x42cac5(0xbd3)]=_0x481207,_0x59fe11['generateMipMaps']=!_0x34439e,_0x59fe11['_lodGenerationScale']=_0x319cc1,_0x59fe11[_0x42cac5(0xcda)]=_0x105cf4,_0x59fe11[_0x42cac5(0xb53)]=!!_0x1b0ac6&&this['_caps'][_0x42cac5(0xced)]&&(0x1{var _0x505060=_0x42cac5;_0x481207===_0x23833b?_0x1e8443&&_0x1a1766&&_0x1e8443(_0x1a1766['status']+'\x20'+_0x1a1766[_0x505060(0xac6)],_0x46b941):(_0x160b79['Y']['Warn'](_0x505060(0xabf)+_0x481207+_0x505060(0xa22)+_0x23833b),this[_0x505060(0x264)](_0x23833b,_0xa1c700,_0x5c5321,!!_0x34439e,_0x1fd4f1,_0x1e8443,_0xc6d6f1,_0x4bde1b,_0x96fbb3,_0x319cc1,_0x105cf4,_0x59fe11,_0x41ca4a,_0x47dd14,_0x1b0ac6));};if(_0x547219){const _0x2013e1=_0x28ffad=>{var _0x4c09ec=_0x42cac5;_0x41ca4a&&_0x41ca4a(_0x59fe11,_0x28ffad),_0x547219[_0x4c09ec(0x627)](_0x28ffad,_0x59fe11,_0x96fbb3,_0x1fd4f1,_0x1e8443);};_0x5c5321&&0x6===_0x5c5321[_0x42cac5(0x78d)]?_0x547219[_0x42cac5(0x525)]?this[_0x42cac5(0x92b)](_0xa1c700,_0x5a7d43=>_0x2013e1(_0x5a7d43[_0x42cac5(0x1b8)](_0x3ac592=>new Uint8Array(_0x3ac592))),_0x5c5321,_0x1e8443):_0x1e8443?_0x1e8443(_0x42cac5(0xd18)):_0x160b79['Y'][_0x42cac5(0x72a)](_0x42cac5(0x167)):this[_0x42cac5(0x6b1)](_0x481207,_0x4f554d=>_0x2013e1(new Uint8Array(_0x4f554d)),void 0x0,void 0x0,!0x0,_0x391c86);}else{if(!_0x5c5321)throw new Error(_0x42cac5(0xb4b));this['_cascadeLoadImgs'](_0xa1c700,_0x59fe11,(_0x1c2621,_0x34dc0c)=>{_0x47dd14&&_0x47dd14(_0x1c2621,_0x34dc0c);},_0x5c5321,_0x1e8443);}return this['_internalTexturesCache']['push'](_0x59fe11),_0x59fe11;},_0x349536['B'][_0x1b0d14(0x3c6)][_0x1b0d14(0x2f7)]=function(_0x32cb94,_0xf3b782,_0x207f1c,_0x3f1d61,_0x2f23fc=null,_0x15f6ca=null,_0x3b07c0,_0x2c2f48=null,_0x3680f9=!0x1,_0x5aa60a=0x0,_0x5df2b4=0x0,_0x3538a6=null,_0x314442,_0x42e480=!0x1){var _0x24a088=_0x1b0d14;const _0xe5902=this[_0x24a088(0x7b6)];return this[_0x24a088(0x264)](_0x32cb94,_0xf3b782,_0x207f1c,!!_0x3f1d61,_0x2f23fc,_0x15f6ca,_0x3b07c0,_0x2c2f48,_0x3680f9,_0x5aa60a,_0x5df2b4,_0x3538a6,_0x824e80=>this[_0x24a088(0xaa7)](_0xe5902[_0x24a088(0x91f)],_0x824e80,!0x0),(_0x5c6f6b,_0x216402)=>{var _0x59904e=_0x24a088,_0x1657cb=this[_0x59904e(0xc3b)]?_0x349536['B'][_0x59904e(0xa3f)](_0x216402[0x0][_0x59904e(0xb58)],this[_0x59904e(0x7ac)][_0x59904e(0x194)]):_0x216402[0x0][_0x59904e(0xb58)],_0x14ef7e=_0x1657cb,_0x2742ff=[_0xe5902[_0x59904e(0x9fc)],_0xe5902['TEXTURE_CUBE_MAP_POSITIVE_Y'],_0xe5902[_0x59904e(0xa37)],_0xe5902[_0x59904e(0x774)],_0xe5902[_0x59904e(0xc30)],_0xe5902[_0x59904e(0xba2)]],_0x3abf48=(this['_bindTextureDirectly'](_0xe5902['TEXTURE_CUBE_MAP'],_0x5c6f6b,!0x0),this[_0x59904e(0xd08)](!0x1),_0x3b07c0?this['_getInternalFormat'](_0x3b07c0,_0x5c6f6b[_0x59904e(0xb53)]):_0x5c6f6b[_0x59904e(0xb53)]?this['_glSRGBExtensionValues'][_0x59904e(0x45e)]:_0xe5902[_0x59904e(0xc81)]);let _0x362a31=_0x3b07c0?this['_getInternalFormat'](_0x3b07c0):_0xe5902[_0x59904e(0xc81)];_0x5c6f6b[_0x59904e(0xb53)]&&0x1===this[_0x59904e(0x44b)]&&(_0x362a31=_0x3abf48);for(let _0xdd00a3=0x0;_0xdd00a3<_0x2742ff[_0x59904e(0x78d)];_0xdd00a3++)if(_0x216402[_0xdd00a3]['width']!==_0x1657cb||_0x216402[_0xdd00a3]['height']!==_0x14ef7e){if(this[_0x59904e(0x35c)](),!this['_workingCanvas']||!this[_0x59904e(0x3c2)])return void _0x160b79['Y'][_0x59904e(0x72a)](_0x59904e(0xbad));this[_0x59904e(0xb55)][_0x59904e(0xb58)]=_0x1657cb,this[_0x59904e(0xb55)][_0x59904e(0x520)]=_0x14ef7e,this[_0x59904e(0x3c2)][_0x59904e(0x1f5)](_0x216402[_0xdd00a3],0x0,0x0,_0x216402[_0xdd00a3][_0x59904e(0xb58)],_0x216402[_0xdd00a3][_0x59904e(0x520)],0x0,0x0,_0x1657cb,_0x14ef7e),_0xe5902[_0x59904e(0x431)](_0x2742ff[_0xdd00a3],0x0,_0x3abf48,_0x362a31,_0xe5902[_0x59904e(0xc73)],this['_workingCanvas']);}else _0xe5902[_0x59904e(0x431)](_0x2742ff[_0xdd00a3],0x0,_0x3abf48,_0x362a31,_0xe5902[_0x59904e(0xc73)],_0x216402[_0xdd00a3]);_0x3f1d61||_0xe5902[_0x59904e(0x1d5)](_0xe5902['TEXTURE_CUBE_MAP']),this[_0x59904e(0x36c)](_0x5c6f6b,!_0x3f1d61),_0x5c6f6b[_0x59904e(0xb58)]=_0x1657cb,_0x5c6f6b[_0x59904e(0x520)]=_0x14ef7e,_0x5c6f6b['isReady']=!0x0,_0x3b07c0&&(_0x5c6f6b[_0x59904e(0x735)]=_0x3b07c0),_0x5c6f6b[_0x59904e(0x89c)][_0x59904e(0x533)](_0x5c6f6b),_0x5c6f6b['onLoadedObservable'][_0x59904e(0x5b8)](),_0x2f23fc&&_0x2f23fc();},!!_0x42e480);};},0x1410a:(_0x338e2d,_0x2270f3,_0x4add6b)=>{var _0x2cb32a=a7_0x1ed280;_0x4add6b=_0x4add6b(0x202a),(_0x4add6b['B'][_0x2cb32a(0x3c6)][_0x2cb32a(0x555)]=function(_0x181bae,_0x826804){},_0x4add6b['B']['prototype'][_0x2cb32a(0x47f)]=function(_0x1c4b62){},_0x4add6b['B'][_0x2cb32a(0x3c6)][_0x2cb32a(0x47d)]=function(_0x93fc63,_0x302fff){},_0x4add6b['B'][_0x2cb32a(0x3c6)][_0x2cb32a(0xc72)]=function(){});},0x13479:(_0x2427d0,_0x1f422,_0x4505f)=>{var _0x123009=a7_0x1ed280;_0x4505f=_0x4505f(0x202a),(_0x4505f['B'][_0x123009(0x3c6)][_0x123009(0x7e7)]=function(_0x831f38,_0x1433d8,_0x1b8828=0x0){var _0x548594=_0x123009;this['_currentBoundBuffer'][this[_0x548594(0x7b6)][_0x548594(0x21f)]]=null,this[_0x548594(0x786)](_0x831f38),_0x831f38=_0x1433d8 instanceof Uint16Array||_0x1433d8 instanceof Uint32Array?_0x1433d8:new(_0x831f38[(_0x548594(0xaa8))]?Uint32Array:Uint16Array)(_0x1433d8),this[_0x548594(0x7b6)][_0x548594(0x2c0)](this['_gl'][_0x548594(0x21f)],_0x1b8828,_0x831f38),this[_0x548594(0x290)]();},_0x4505f['B'][_0x123009(0x3c6)][_0x123009(0xaee)]=function(_0x505e1b,_0x9a1594,_0x66521f,_0x268571){var _0x438fcd=_0x123009;this[_0x438fcd(0x20b)](_0x505e1b),void 0x0===_0x66521f&&(_0x66521f=0x0),_0x505e1b=_0x9a1594['byteLength']||_0x9a1594[_0x438fcd(0x78d)],(void 0x0===_0x268571||_0x505e1b<=_0x268571&&0x0===_0x66521f?_0x9a1594 instanceof Array?this['_gl']['bufferSubData'](this[_0x438fcd(0x7b6)]['ARRAY_BUFFER'],_0x66521f,new Float32Array(_0x9a1594)):this[_0x438fcd(0x7b6)]['bufferSubData'](this['_gl'][_0x438fcd(0x55a)],_0x66521f,_0x9a1594):_0x9a1594 instanceof Array?this[_0x438fcd(0x7b6)][_0x438fcd(0x2c0)](this[_0x438fcd(0x7b6)][_0x438fcd(0x55a)],0x0,new Float32Array(_0x9a1594)[_0x438fcd(0xba9)](_0x66521f,_0x66521f+_0x268571)):(_0x9a1594=_0x9a1594 instanceof ArrayBuffer?new Uint8Array(_0x9a1594,_0x66521f,_0x268571):new Uint8Array(_0x9a1594[_0x438fcd(0xc74)],_0x9a1594['byteOffset']+_0x66521f,_0x268571),this[_0x438fcd(0x7b6)][_0x438fcd(0x2c0)](this[_0x438fcd(0x7b6)][_0x438fcd(0x55a)],0x0,_0x9a1594)),this[_0x438fcd(0x2fb)]());});},0xecbf:(_0x4e46ed,_0x268a63,_0x5ef97c)=>{var _0x25010b=a7_0x1ed280,_0x21daf7=_0x5ef97c(0x202a),_0x5a7772=_0x5ef97c(0x25b1);_0x21daf7['B'][_0x25010b(0x3c6)][_0x25010b(0xc6d)]=function(_0xf8b35f,_0x1782bc,_0x86b3e8,_0xa98568){var _0x2f0506=_0x25010b;const _0x7bd4f3=new _0x5a7772['l'](this,_0x5a7772['S']['Dynamic']);return _0x7bd4f3[_0x2f0506(0x137)]=_0xf8b35f,_0x7bd4f3[_0x2f0506(0x7f6)]=_0x1782bc,_0x86b3e8&&(_0xf8b35f=this[_0x2f0506(0xc3b)]?_0x21daf7['B'][_0x2f0506(0xa3f)](_0xf8b35f,this[_0x2f0506(0x7ac)][_0x2f0506(0x9e9)]):_0xf8b35f,_0x1782bc=this[_0x2f0506(0xc3b)]?_0x21daf7['B'][_0x2f0506(0xa3f)](_0x1782bc,this[_0x2f0506(0x7ac)][_0x2f0506(0x9e9)]):_0x1782bc),_0x7bd4f3[_0x2f0506(0xb58)]=_0xf8b35f,_0x7bd4f3['height']=_0x1782bc,_0x7bd4f3[_0x2f0506(0xae3)]=!0x1,_0x7bd4f3[_0x2f0506(0xa04)]=_0x86b3e8,_0x7bd4f3['samplingMode']=_0xa98568,this[_0x2f0506(0xc86)](_0xa98568,_0x7bd4f3),this['_internalTexturesCache'][_0x2f0506(0x6fe)](_0x7bd4f3),_0x7bd4f3;},_0x21daf7['B'][_0x25010b(0x3c6)][_0x25010b(0x82c)]=function(_0xbe5412,_0x388a62,_0x9faea5,_0x3c7acc=!0x1,_0x3976cd,_0x5a5df5=!0x1,_0x1a01db){var _0x19908d=_0x25010b;if(_0xbe5412){const _0x5ca136=this['_gl'];var _0x2040ef=_0x5ca136[_0x19908d(0x74a)],_0x5a5df5=this['_bindTextureDirectly'](_0x2040ef,_0xbe5412,!0x0,_0x5a5df5),_0x9faea5=(this[_0x19908d(0xd08)](void 0x0===_0x9faea5?_0xbe5412['invertY']:_0x9faea5),_0x3c7acc&&_0x5ca136[_0x19908d(0x5d5)](_0x5ca136[_0x19908d(0x661)],0x1),this[_0x19908d(0x40b)](_0xbe5412[_0x19908d(0x3db)])),_0x3976cd=this[_0x19908d(0x837)](_0x3976cd||_0xbe5412[_0x19908d(0x735)]),_0x4c3858=this[_0x19908d(0x915)](_0xbe5412[_0x19908d(0x3db)],_0x3976cd);_0x5ca136[_0x19908d(0x431)](_0x2040ef,0x0,_0x4c3858,_0x3976cd,_0x9faea5,_0x388a62),_0xbe5412[_0x19908d(0xa04)]&&_0x5ca136[_0x19908d(0x1d5)](_0x2040ef),_0x5a5df5||this[_0x19908d(0xaa7)](_0x2040ef,null),_0x3c7acc&&_0x5ca136[_0x19908d(0x5d5)](_0x5ca136[_0x19908d(0x661)],0x0),_0xbe5412[_0x19908d(0xae3)]=!0x0;}};},0x64df:(_0x692683,_0x230e0c,_0x33f949)=>{var _0x4be862=a7_0x1ed280;_0x33f949=_0x33f949(0x202a),(_0x33f949['B'][_0x4be862(0x3c6)]['createExternalTexture']=function(_0x106946){return null;},_0x33f949['B'][_0x4be862(0x3c6)][_0x4be862(0x220)]=function(_0xdf162d,_0x475710){var _0x3707d8=_0x4be862;throw new Error(_0x3707d8(0xcd4));});},0x39f0:(_0x45d6ce,_0x1c2d9c,_0x466295)=>{var _0x243473=a7_0x1ed280,_0x4e6c7b=_0x466295(0x25b1),_0x575bfc=_0x466295(0x10ea4),_0x4f5861=_0x466295(0x77a5),_0x466295=_0x466295(0x202a);_0x466295['B'][_0x243473(0x3c6)][_0x243473(0x6c1)]=function(){var _0x3110a5=_0x243473,_0x23e1fe=this[_0x3110a5(0x7b6)];this[_0x3110a5(0x676)]([_0x23e1fe[_0x3110a5(0x5ce)]]);},_0x466295['B']['prototype'][_0x243473(0x3cb)]=function(){var _0x4276b7=_0x243473,_0x4bb11c=this[_0x4276b7(0x7b6)];this[_0x4276b7(0x676)]([_0x4bb11c[_0x4276b7(0x829)]]);},_0x466295['B'][_0x243473(0x3c6)][_0x243473(0x503)]=function(_0x397e31){var _0x2eeda7=_0x243473,_0xc3ea16=this[_0x2eeda7(0x7b6)];const _0x4e9a81=[];for(let _0x11782e=0x0;_0x11782e<_0x397e31['length'];_0x11782e++)_0x397e31[_0x11782e]?_0x4e9a81['push'](_0xc3ea16[_0x2eeda7(0x73c)+_0x11782e]):_0x4e9a81[_0x2eeda7(0x6fe)](_0xc3ea16[_0x2eeda7(0x51c)]);return _0x4e9a81;},_0x466295['B'][_0x243473(0x3c6)][_0x243473(0x676)]=function(_0xfe48b6){var _0x49c787=_0x243473;const _0x313131=this[_0x49c787(0x7b6)];_0x313131[_0x49c787(0x3b4)](_0xfe48b6);},_0x466295['B'][_0x243473(0x3c6)][_0x243473(0x6da)]=function(_0x5efa72,_0x1e87b3=!0x1,_0x54c09d){var _0x1925d2=_0x243473;this[_0x1925d2(0x9c4)]=null;const _0x1882bd=this[_0x1925d2(0x7b6)],_0x3116cf=_0x5efa72['_attachments'];var _0x4c860a=_0x3116cf[_0x1925d2(0x78d)];if(_0x5efa72[_0x1925d2(0x2c7)]){_0x1882bd[_0x1925d2(0x951)](_0x1882bd[_0x1925d2(0xa18)],_0x5efa72[_0x1925d2(0x2c7)]),_0x1882bd[_0x1925d2(0x951)](_0x1882bd[_0x1925d2(0x2fc)],_0x5efa72[_0x1925d2(0x459)]);for(let _0x56db9d=0x0;_0x56db9d<_0x4c860a;_0x56db9d++){var _0x364714=_0x5efa72[_0x1925d2(0x8ee)][_0x56db9d];for(let _0x50b664=0x0;_0x50b664<_0x4c860a;_0x50b664++)_0x3116cf[_0x50b664]=_0x1882bd[_0x1925d2(0x51c)];_0x3116cf[_0x56db9d]=_0x1882bd[0x1{var _0x3e7f63=a7_0x1ed280,_0x1f4459=_0x1d8fcd(0xdef7),_0x39650d=_0x1d8fcd(0xee04),_0x4e2be2=_0x1d8fcd(0x1446b),_0x53f8c3=_0x1d8fcd(0x25b1),_0x1c97a7=_0x1d8fcd(0x9fd1),_0x2e1f29=_0x1d8fcd(0x149c5),_0x2a9565=_0x1d8fcd(0x15556),_0x4e13a4=_0x1d8fcd(0x126cd);function _0x46028a(_0x4ff359,_0x9010b7){var _0x4bbde8=a7_0x3908;const _0x58ec17=new _0x2e1f29['M'](_0x4ff359,void 0x0,!0x0,_0x9010b7);return _0x58ec17['addUniform'](_0x4bbde8(0x2e8),0x10),_0x58ec17[_0x4bbde8(0x296)]('viewProjectionR',0x10),_0x58ec17[_0x4bbde8(0x296)]('view',0x10),_0x58ec17[_0x4bbde8(0x296)]('projection',0x10),_0x58ec17[_0x4bbde8(0x296)](_0x4bbde8(0x98d),0x4),_0x58ec17;}_0x39650d['D'][_0x3e7f63(0x3c6)][_0x3e7f63(0xc34)]=function(_0x35a303,_0x4cc840){var _0x3e68f3=_0x3e7f63;const _0x5adc15=this[_0x3e68f3(0x7b6)];if(!this['getCaps']()[_0x3e68f3(0x5e8)])throw _0x3e68f3(0x266);const _0x4d30ba=this[_0x3e68f3(0x4e6)](!0x1,!0x1,{'width':_0x35a303,'height':_0x4cc840}),_0x151d41=(_0x4d30ba['_framebuffer']=_0x5adc15[_0x3e68f3(0x8ae)](),new _0x53f8c3['l'](this,_0x53f8c3['S'][_0x3e68f3(0x96b)],!0x0));return _0x151d41['width']=_0x35a303,_0x151d41[_0x3e68f3(0x520)]=_0x4cc840,_0x151d41[_0x3e68f3(0x15d)]=!0x0,_0x4d30ba[_0x3e68f3(0x4af)]=_0x5adc15['createTexture'](),_0x5adc15[_0x3e68f3(0x71b)](_0x5adc15[_0x3e68f3(0xad1)],_0x4d30ba['_colorTextureArray']),_0x5adc15[_0x3e68f3(0x2a9)](_0x5adc15['TEXTURE_2D_ARRAY'],0x1,_0x5adc15['RGBA8'],_0x35a303,_0x4cc840,0x2),_0x4d30ba['_depthStencilTextureArray']=_0x5adc15['createTexture'](),_0x5adc15[_0x3e68f3(0x71b)](_0x5adc15[_0x3e68f3(0xad1)],_0x4d30ba['_depthStencilTextureArray']),_0x5adc15['texStorage3D'](_0x5adc15[_0x3e68f3(0xad1)],0x1,_0x5adc15[_0x3e68f3(0xa33)],_0x35a303,_0x4cc840,0x2),_0x151d41[_0x3e68f3(0xae3)]=!0x0,_0x4d30ba[_0x3e68f3(0x44c)](_0x151d41),_0x4d30ba[_0x3e68f3(0x339)]=_0x151d41,_0x4d30ba;},_0x39650d['D']['prototype']['bindMultiviewFramebuffer']=function(_0x2f53a1){var _0x5772be=_0x3e7f63;const _0x458eb1=this[_0x5772be(0x7b6)],_0x18ea8d=this[_0x5772be(0x19e)]()[_0x5772be(0x340)]||this[_0x5772be(0x19e)]()[_0x5772be(0x5e8)];if(this[_0x5772be(0x951)](_0x2f53a1,void 0x0,void 0x0,void 0x0,!0x0),_0x458eb1[_0x5772be(0x951)](_0x458eb1[_0x5772be(0x2fc)],_0x2f53a1[_0x5772be(0x459)]),!_0x2f53a1['_colorTextureArray']||!_0x2f53a1[_0x5772be(0xb62)])throw'Invalid\x20multiview\x20frame\x20buffer';this[_0x5772be(0x19e)]()['oculusMultiview']?(_0x18ea8d[_0x5772be(0x7de)](_0x458eb1[_0x5772be(0x2fc)],_0x458eb1[_0x5772be(0x829)],_0x2f53a1[_0x5772be(0x4af)],0x0,_0x2f53a1[_0x5772be(0xc21)],0x0,0x2),_0x18ea8d[_0x5772be(0x7de)](_0x458eb1[_0x5772be(0x2fc)],_0x458eb1['DEPTH_STENCIL_ATTACHMENT'],_0x2f53a1[_0x5772be(0xb62)],0x0,_0x2f53a1[_0x5772be(0xc21)],0x0,0x2)):(_0x18ea8d[_0x5772be(0x610)](_0x458eb1[_0x5772be(0x2fc)],_0x458eb1[_0x5772be(0x829)],_0x2f53a1[_0x5772be(0x4af)],0x0,0x0,0x2),_0x18ea8d[_0x5772be(0x610)](_0x458eb1[_0x5772be(0x2fc)],_0x458eb1[_0x5772be(0x85b)],_0x2f53a1[_0x5772be(0xb62)],0x0,0x0,0x2));},_0x1f4459['V']['prototype'][_0x3e7f63(0x1ce)]=!0x1,_0x1f4459['V'][_0x3e7f63(0x3c6)][_0x3e7f63(0x2ac)]=null,_0x1f4459['V'][_0x3e7f63(0x3c6)][_0x3e7f63(0xc0f)]=function(_0x36dc91,_0x3b7c50){var _0x381484=_0x3e7f63;this['_multiviewTexture']?this[_0x381484(0x2ac)][_0x381484(0x73a)]()==_0x36dc91&&this['_multiviewTexture']['getRenderHeight']()==_0x3b7c50||(this[_0x381484(0x2ac)][_0x381484(0x27f)](),this[_0x381484(0x2ac)]=new _0x2a9565['x'](this['getScene'](),{'width':_0x36dc91,'height':_0x3b7c50})):this['_multiviewTexture']=new _0x2a9565['x'](this['getScene'](),{'width':_0x36dc91,'height':_0x3b7c50});};const _0x4e94cb=_0x4e2be2['x'][_0x3e7f63(0x3c6)][_0x3e7f63(0x6bd)];_0x4e2be2['x'][_0x3e7f63(0x3c6)][_0x3e7f63(0x6ac)]=_0x1c97a7['y3'][_0x3e7f63(0xa70)](),_0x4e2be2['x'][_0x3e7f63(0x3c6)][_0x3e7f63(0xc4d)]=null,_0x4e2be2['x'][_0x3e7f63(0x3c6)]['_createMultiviewUbo']=function(){var _0x45f032=_0x3e7f63;this['_multiviewSceneUbo']=_0x46028a(this['getEngine'](),_0x45f032(0xa5b));},_0x4e2be2['x'][_0x3e7f63(0x3c6)][_0x3e7f63(0x6bd)]=function(_0x2945df){var _0x5abee2=_0x3e7f63;return this[_0x5abee2(0xc4d)]?_0x46028a(this[_0x5abee2(0x489)](),_0x2945df):_0x4e94cb[_0x5abee2(0x5f4)](this)(_0x2945df);},_0x4e2be2['x']['prototype'][_0x3e7f63(0x5c2)]=function(_0x43c9ed,_0xb6d3d1){var _0x56ebe5=_0x3e7f63;_0x43c9ed&&_0xb6d3d1&&_0x43c9ed[_0x56ebe5(0x755)](_0xb6d3d1,this['_transformMatrixR']),_0x43c9ed&&_0xb6d3d1&&(_0x43c9ed['multiplyToRef'](_0xb6d3d1,_0x1c97a7['jp'][_0x56ebe5(0xa4a)][0x0]),_0x4e13a4['i'][_0x56ebe5(0xb79)](_0x1c97a7['jp'][_0x56ebe5(0xa4a)][0x0],this[_0x56ebe5(0x768)][0x3])),this[_0x56ebe5(0xc4d)]&&(this['_multiviewSceneUbo'][_0x56ebe5(0x8d2)](_0x56ebe5(0x2e8),this[_0x56ebe5(0x55d)]()),this[_0x56ebe5(0xc4d)][_0x56ebe5(0x8d2)](_0x56ebe5(0x8e5),this[_0x56ebe5(0x6ac)]),this['_multiviewSceneUbo'][_0x56ebe5(0x8d2)](_0x56ebe5(0x557),this[_0x56ebe5(0xc42)]),this[_0x56ebe5(0xc4d)][_0x56ebe5(0x8d2)](_0x56ebe5(0x427),this[_0x56ebe5(0x9e6)]));},_0x4e2be2['x'][_0x3e7f63(0x3c6)][_0x3e7f63(0x3c7)]=function(_0x2a98d2){var _0x426253=_0x3e7f63;_0x2a98d2[_0x426253(0xc0f)](_0x2a98d2[_0x426253(0xb7a)]&&_0x2a98d2['_rigPostProcess']&&0x0<_0x2a98d2[_0x426253(0xb7a)][_0x426253(0xb58)]?_0x2a98d2[_0x426253(0xb7a)][_0x426253(0xb58)]:this[_0x426253(0x489)]()[_0x426253(0x73a)](!0x0),_0x2a98d2[_0x426253(0xb7a)]&&_0x2a98d2[_0x426253(0xb7a)]&&0x0<_0x2a98d2[_0x426253(0xb7a)][_0x426253(0x520)]?_0x2a98d2[_0x426253(0xb7a)]['height']:this[_0x426253(0x489)]()[_0x426253(0xa52)](!0x0)),this[_0x426253(0xc4d)]||this[_0x426253(0x666)](),_0x2a98d2[_0x426253(0x3f1)]=_0x2a98d2[_0x426253(0x2ac)],this['_renderForCamera'](_0x2a98d2),_0x2a98d2[_0x426253(0x3f1)]=null;for(let _0x4f2d06=0x0;_0x4f2d06<_0x2a98d2[_0x426253(0x85a)]['length'];_0x4f2d06++){const _0x30fbdd=this[_0x426253(0x489)]();this[_0x426253(0x680)]=_0x2a98d2[_0x426253(0x85a)][_0x4f2d06],_0x30fbdd['setViewport'](this[_0x426253(0x680)][_0x426253(0x7c8)]),this[_0x426253(0x156)]&&(this[_0x426253(0x156)]['_prepareFrame'](),this[_0x426253(0x156)]['_finalizeFrame'](this[_0x426253(0x680)]['isIntermediate']));}};},0x1293:(_0x1ea016,_0x33dfd7,_0x516b77)=>{var _0x2e7821=a7_0x1ed280,_0x343f36=_0x516b77(0x25b1),_0x62b1bb=_0x516b77(0x10ea4),_0x298d6f=_0x516b77(0xe222),_0xaa116c=_0x516b77(0x77a5),_0x516b77=_0x516b77(0x202a);function _0x35014e(_0x396147,_0x2498b5,_0x33e350,_0x10b14b){var _0x51cc76=a7_0x3908;let _0x166afb,_0x47db8d=0x1;_0x10b14b===_0xaa116c['g'][_0x51cc76(0x75f)]?_0x166afb=new Float32Array(_0x2498b5*_0x33e350*0x4):_0x10b14b===_0xaa116c['g'][_0x51cc76(0xa57)]?(_0x166afb=new Uint16Array(_0x2498b5*_0x33e350*0x4),_0x47db8d=0x3c00):_0x166afb=new(_0x10b14b===_0xaa116c['g'][(_0x51cc76(0x1e7))]?Uint32Array:Uint8Array)(_0x2498b5*_0x33e350*0x4);for(let _0x59e3a5=0x0;_0x59e3a5<_0x2498b5;_0x59e3a5++)for(let _0x584926=0x0;_0x584926<_0x33e350;_0x584926++){var _0x549339=0x3*(_0x584926*_0x2498b5+_0x59e3a5),_0x96bbee=0x4*(_0x584926*_0x2498b5+_0x59e3a5);_0x166afb[0x0+_0x96bbee]=_0x396147[0x0+_0x549339],_0x166afb[0x1+_0x96bbee]=_0x396147[0x1+_0x549339],_0x166afb[0x2+_0x96bbee]=_0x396147[0x2+_0x549339],_0x166afb[0x3+_0x96bbee]=_0x47db8d;}return _0x166afb;}function _0x179bf3(_0xbf7165){var _0x264886=a7_0x3908;return function(_0x16a030,_0x1239c5,_0x123284,_0x166db7,_0x90359a,_0x1c2888,_0x4dbd17,_0x15a0e5,_0x3631e7=null,_0x106c75=_0xaa116c['g'][_0x264886(0x4b2)]){var _0x47c3eb=_0x264886,_0x1c862b=_0xbf7165?this[_0x47c3eb(0x7b6)]['TEXTURE_3D']:this[_0x47c3eb(0x7b6)][_0x47c3eb(0xad1)],_0x31ec5a=_0xbf7165?_0x343f36['S'][_0x47c3eb(0x85f)]:_0x343f36['S'][_0x47c3eb(0x45a)];const _0x401a4a=new _0x343f36['l'](this,_0x31ec5a);return _0x401a4a['baseWidth']=_0x1239c5,_0x401a4a['baseHeight']=_0x123284,_0x401a4a['baseDepth']=_0x166db7,_0x401a4a['width']=_0x1239c5,_0x401a4a[_0x47c3eb(0x520)]=_0x123284,_0x401a4a[_0x47c3eb(0x759)]=_0x166db7,_0x401a4a[_0x47c3eb(0x735)]=_0x90359a,_0x401a4a[_0x47c3eb(0x3db)]=_0x106c75,_0x401a4a[_0x47c3eb(0xa04)]=_0x1c2888,_0x401a4a[_0x47c3eb(0x91a)]=_0x15a0e5,_0xbf7165?_0x401a4a[_0x47c3eb(0x50f)]=!0x0:_0x401a4a[_0x47c3eb(0x396)]=!0x0,this['_doNotHandleContextLost']||(_0x401a4a[_0x47c3eb(0x849)]=_0x16a030),_0xbf7165?this[_0x47c3eb(0x4da)](_0x401a4a,_0x16a030,_0x90359a,_0x4dbd17,_0x3631e7,_0x106c75):this[_0x47c3eb(0xafd)](_0x401a4a,_0x16a030,_0x90359a,_0x4dbd17,_0x3631e7,_0x106c75),this[_0x47c3eb(0xaa7)](_0x1c862b,_0x401a4a,!0x0),_0x31ec5a=this[_0x47c3eb(0x771)](_0x15a0e5,_0x1c2888),(this[_0x47c3eb(0x7b6)][_0x47c3eb(0xbbe)](_0x1c862b,this[_0x47c3eb(0x7b6)]['TEXTURE_MAG_FILTER'],_0x31ec5a[_0x47c3eb(0x638)]),this[_0x47c3eb(0x7b6)][_0x47c3eb(0xbbe)](_0x1c862b,this['_gl'][_0x47c3eb(0x9b7)],_0x31ec5a['min']),_0x1c2888&&this[_0x47c3eb(0x7b6)][_0x47c3eb(0x1d5)](_0x1c862b),this[_0x47c3eb(0xaa7)](_0x1c862b,null),this[_0x47c3eb(0xa1e)][_0x47c3eb(0x6fe)](_0x401a4a),_0x401a4a);};}function _0x4ecdbf(_0x4d5d8f){return function(_0x40f203,_0x14b11e,_0x4f120b,_0x244a00,_0x59a8e1=null,_0x319ec4=_0xaa116c['g']['TEXTURETYPE_UNSIGNED_INT']){var _0x5814b9=a7_0x3908,_0x44de51=_0x4d5d8f?this['_gl'][_0x5814b9(0x944)]:this[_0x5814b9(0x7b6)]['TEXTURE_2D_ARRAY'],_0x2b92c3=this['_getWebGLTextureType'](_0x319ec4),_0x15e563=this[_0x5814b9(0x837)](_0x4f120b),_0x319ec4=this['_getRGBABufferInternalSizedFormat'](_0x319ec4,_0x4f120b);this[_0x5814b9(0xaa7)](_0x44de51,_0x40f203,!0x0),this[_0x5814b9(0xd08)](void 0x0===_0x244a00||!!_0x244a00),this['_doNotHandleContextLost']||(_0x40f203[_0x5814b9(0x849)]=_0x14b11e,_0x40f203['format']=_0x4f120b,_0x40f203[_0x5814b9(0xb90)]=_0x244a00,_0x40f203[_0x5814b9(0x19b)]=_0x59a8e1),_0x40f203[_0x5814b9(0xb58)]%0x4!=0x0&&this[_0x5814b9(0x7b6)][_0x5814b9(0x5d5)](this[_0x5814b9(0x7b6)]['UNPACK_ALIGNMENT'],0x1),_0x59a8e1&&_0x14b11e?this[_0x5814b9(0x7b6)][_0x5814b9(0x602)](_0x44de51,0x0,this[_0x5814b9(0x19e)]()[_0x5814b9(0x5da)][_0x59a8e1],_0x40f203[_0x5814b9(0xb58)],_0x40f203[_0x5814b9(0x520)],_0x40f203[_0x5814b9(0x759)],0x0,_0x14b11e):this[_0x5814b9(0x7b6)][_0x5814b9(0x5dd)](_0x44de51,0x0,_0x319ec4,_0x40f203[_0x5814b9(0xb58)],_0x40f203[_0x5814b9(0x520)],_0x40f203[_0x5814b9(0x759)],0x0,_0x15e563,_0x2b92c3,_0x14b11e),_0x40f203[_0x5814b9(0xa04)]&&this[_0x5814b9(0x7b6)][_0x5814b9(0x1d5)](_0x44de51),this[_0x5814b9(0xaa7)](_0x44de51,null),_0x40f203['isReady']=!0x0;};}_0x516b77['B']['prototype'][_0x2e7821(0x9db)]=function(_0x56dbcb,_0x37ad80,_0x26bedb,_0xdfd306,_0x3195d9=null,_0x2c6f3c=_0xaa116c['g'][_0x2e7821(0x4b2)],_0x12930a=!0x1){var _0x17c472=_0x2e7821,_0x5b8c14,_0x6dc331;_0x56dbcb&&(_0x12930a=this[_0x17c472(0x915)](_0x2c6f3c,_0x26bedb,_0x12930a),_0x5b8c14=this['_getInternalFormat'](_0x26bedb),_0x6dc331=this['_getWebGLTextureType'](_0x2c6f3c),this[_0x17c472(0xaa7)](this[_0x17c472(0x7b6)][_0x17c472(0x74a)],_0x56dbcb,!0x0),this[_0x17c472(0xd08)](void 0x0===_0xdfd306||!!_0xdfd306),this[_0x17c472(0x695)]||(_0x56dbcb['_bufferView']=_0x37ad80,_0x56dbcb['format']=_0x26bedb,_0x56dbcb[_0x17c472(0x3db)]=_0x2c6f3c,_0x56dbcb[_0x17c472(0xb90)]=_0xdfd306,_0x56dbcb[_0x17c472(0x19b)]=_0x3195d9),_0x56dbcb[_0x17c472(0xb58)]%0x4!=0x0&&this[_0x17c472(0x7b6)]['pixelStorei'](this[_0x17c472(0x7b6)][_0x17c472(0xa71)],0x1),_0x3195d9&&_0x37ad80?this['_gl']['compressedTexImage2D'](this[_0x17c472(0x7b6)][_0x17c472(0x74a)],0x0,this[_0x17c472(0x19e)]()[_0x17c472(0x5da)][_0x3195d9],_0x56dbcb['width'],_0x56dbcb[_0x17c472(0x520)],0x0,_0x37ad80):this[_0x17c472(0x7b6)][_0x17c472(0x431)](this[_0x17c472(0x7b6)][_0x17c472(0x74a)],0x0,_0x12930a,_0x56dbcb[_0x17c472(0xb58)],_0x56dbcb[_0x17c472(0x520)],0x0,_0x5b8c14,_0x6dc331,_0x37ad80),_0x56dbcb[_0x17c472(0xa04)]&&this['_gl'][_0x17c472(0x1d5)](this[_0x17c472(0x7b6)][_0x17c472(0x74a)]),this[_0x17c472(0xaa7)](this[_0x17c472(0x7b6)][_0x17c472(0x74a)],null),_0x56dbcb[_0x17c472(0xae3)]=!0x0);},_0x516b77['B']['prototype'][_0x2e7821(0x4a5)]=function(_0x5c4d28,_0x2d5757,_0x8c9483,_0x202fd7,_0x50fb13,_0x29fa61,_0x1434e4,_0x103d57=null,_0xbffbff=_0xaa116c['g'][_0x2e7821(0x4b2)],_0x4b5ab6,_0x18f6cb=!0x1){var _0x4335fb=_0x2e7821;const _0x3d1076=new _0x343f36['l'](this,_0x343f36['S'][_0x4335fb(0x7da)]);return _0x3d1076['baseWidth']=_0x2d5757,_0x3d1076[_0x4335fb(0x7f6)]=_0x8c9483,_0x3d1076[_0x4335fb(0xb58)]=_0x2d5757,_0x3d1076[_0x4335fb(0x520)]=_0x8c9483,_0x3d1076[_0x4335fb(0x735)]=_0x202fd7,_0x3d1076[_0x4335fb(0xa04)]=_0x50fb13,_0x3d1076['samplingMode']=_0x1434e4,_0x3d1076['invertY']=_0x29fa61,_0x3d1076[_0x4335fb(0x19b)]=_0x103d57,_0x3d1076['type']=_0xbffbff,_0x3d1076[_0x4335fb(0xb53)]=this[_0x4335fb(0xb8e)](_0x18f6cb,!_0x50fb13),this['_doNotHandleContextLost']||(_0x3d1076[_0x4335fb(0x849)]=_0x5c4d28),this[_0x4335fb(0x9db)](_0x3d1076,_0x5c4d28,_0x202fd7,_0x29fa61,_0x103d57,_0xbffbff,_0x3d1076[_0x4335fb(0xb53)]),this[_0x4335fb(0xaa7)](this[_0x4335fb(0x7b6)][_0x4335fb(0x74a)],_0x3d1076,!0x0),_0x2d5757=this[_0x4335fb(0x771)](_0x1434e4,_0x50fb13),(this[_0x4335fb(0x7b6)][_0x4335fb(0xbbe)](this[_0x4335fb(0x7b6)][_0x4335fb(0x74a)],this[_0x4335fb(0x7b6)][_0x4335fb(0x27e)],_0x2d5757[_0x4335fb(0x638)]),this[_0x4335fb(0x7b6)][_0x4335fb(0xbbe)](this[_0x4335fb(0x7b6)][_0x4335fb(0x74a)],this[_0x4335fb(0x7b6)]['TEXTURE_MIN_FILTER'],_0x2d5757[_0x4335fb(0x686)]),_0x50fb13&&this[_0x4335fb(0x7b6)][_0x4335fb(0x1d5)](this[_0x4335fb(0x7b6)]['TEXTURE_2D']),this['_bindTextureDirectly'](this[_0x4335fb(0x7b6)][_0x4335fb(0x74a)],null),this[_0x4335fb(0xa1e)]['push'](_0x3d1076),_0x3d1076);},_0x516b77['B'][_0x2e7821(0x3c6)][_0x2e7821(0x7c3)]=function(_0x5c7278,_0x51c188,_0x3fe37e,_0x15adbe,_0xea0249,_0x5a7d77,_0x2f37d1,_0x511d7e=null){var _0x16d2c4=_0x2e7821;const _0x43fe=this[_0x16d2c4(0x7b6)],_0x19635d=new _0x343f36['l'](this,_0x343f36['S'][_0x16d2c4(0xbab)]);_0x19635d['isCube']=!0x0,_0x19635d[_0x16d2c4(0x735)]=_0x3fe37e,_0x19635d[_0x16d2c4(0x3db)]=_0x15adbe,this[_0x16d2c4(0x695)]||(_0x19635d[_0x16d2c4(0x8c7)]=_0x5c7278);var _0x5a1dd9=this[_0x16d2c4(0x40b)](_0x15adbe);let _0xc06404=this['_getInternalFormat'](_0x3fe37e);_0xc06404===_0x43fe[_0x16d2c4(0x2e6)]&&(_0xc06404=_0x43fe[_0x16d2c4(0xc81)]),_0x5a1dd9!==_0x43fe[_0x16d2c4(0x43e)]||this[_0x16d2c4(0x7ac)][_0x16d2c4(0x505)]?_0x5a1dd9!==this['_gl'][_0x16d2c4(0xb80)]||this['_caps']['textureHalfFloatLinearFiltering']?_0x5a1dd9!==_0x43fe[_0x16d2c4(0x43e)]||this[_0x16d2c4(0x7ac)][_0x16d2c4(0x42a)]?_0x5a1dd9!==_0x43fe[_0x16d2c4(0x66d)]||this[_0x16d2c4(0x7ac)][_0x16d2c4(0x49f)]||(_0xea0249=!0x1,_0x62b1bb['Y']['Warn'](_0x16d2c4(0x67c))):(_0xea0249=!0x1,_0x62b1bb['Y']['Warn'](_0x16d2c4(0x971))):(_0xea0249=!0x1,_0x2f37d1=_0xaa116c['g'][_0x16d2c4(0xc15)],_0x62b1bb['Y'][_0x16d2c4(0x72a)](_0x16d2c4(0x807))):(_0xea0249=!0x1,_0x2f37d1=_0xaa116c['g'][_0x16d2c4(0xc15)],_0x62b1bb['Y']['Warn'](_0x16d2c4(0x17c)));var _0x48a3ed=_0x51c188;if(_0x19635d['width']=_0x51c188,_0x19635d[_0x16d2c4(0x520)]=_0x48a3ed,_0x19635d[_0x16d2c4(0xb90)]=_0x5a7d77,_0x19635d[_0x16d2c4(0x19b)]=_0x511d7e,!this['needPOTTextures']||_0x298d6f['w1'][_0x16d2c4(0xb11)](_0x19635d['width'])&&_0x298d6f['w1'][_0x16d2c4(0xb11)](_0x19635d[_0x16d2c4(0x520)])||(_0xea0249=!0x1),_0x5c7278)this[_0x16d2c4(0x16f)](_0x19635d,_0x5c7278,_0x3fe37e,_0x15adbe,_0x5a7d77,_0x511d7e);else{var _0xc8daf9=this['_getRGBABufferInternalSizedFormat'](_0x15adbe);this[_0x16d2c4(0xaa7)](_0x43fe[_0x16d2c4(0x91f)],_0x19635d,!0x0);for(let _0x2ef89d=0x0;_0x2ef89d<0x6;_0x2ef89d++)_0x511d7e?_0x43fe[_0x16d2c4(0x4bf)](_0x43fe['TEXTURE_CUBE_MAP_POSITIVE_X']+_0x2ef89d,0x0,this[_0x16d2c4(0x19e)]()[_0x16d2c4(0x5da)][_0x511d7e],_0x19635d['width'],_0x19635d[_0x16d2c4(0x520)],0x0,void 0x0):_0x43fe['texImage2D'](_0x43fe[_0x16d2c4(0x9fc)]+_0x2ef89d,0x0,_0xc8daf9,_0x19635d[_0x16d2c4(0xb58)],_0x19635d['height'],0x0,_0xc06404,_0x5a1dd9,null);this['_bindTextureDirectly'](this[_0x16d2c4(0x7b6)]['TEXTURE_CUBE_MAP'],null);}return this['_bindTextureDirectly'](this['_gl'][_0x16d2c4(0x91f)],_0x19635d,!0x0),_0x5c7278&&_0xea0249&&this['_gl'][_0x16d2c4(0x1d5)](this[_0x16d2c4(0x7b6)]['TEXTURE_CUBE_MAP']),_0x51c188=this['_getSamplingParameters'](_0x2f37d1,_0xea0249),(_0x43fe[_0x16d2c4(0xbbe)](_0x43fe[_0x16d2c4(0x91f)],_0x43fe['TEXTURE_MAG_FILTER'],_0x51c188[_0x16d2c4(0x638)]),_0x43fe[_0x16d2c4(0xbbe)](_0x43fe[_0x16d2c4(0x91f)],_0x43fe[_0x16d2c4(0x9b7)],_0x51c188[_0x16d2c4(0x686)]),_0x43fe[_0x16d2c4(0xbbe)](_0x43fe[_0x16d2c4(0x91f)],_0x43fe[_0x16d2c4(0xa50)],_0x43fe[_0x16d2c4(0xbdb)]),_0x43fe[_0x16d2c4(0xbbe)](_0x43fe[_0x16d2c4(0x91f)],_0x43fe[_0x16d2c4(0xc78)],_0x43fe['CLAMP_TO_EDGE']),this[_0x16d2c4(0xaa7)](_0x43fe['TEXTURE_CUBE_MAP'],null),_0x19635d[_0x16d2c4(0xa04)]=_0xea0249,_0x19635d['samplingMode']=_0x2f37d1,_0x19635d['isReady']=!0x0,_0x19635d);},_0x516b77['B'][_0x2e7821(0x3c6)]['updateRawCubeTexture']=function(_0x3de76c,_0x56c8bc,_0x5dbc4b,_0x1dae79,_0x5e99ea,_0x2346e1=null,_0xc10eae=0x0){var _0x3b5b94=_0x2e7821;_0x3de76c[_0x3b5b94(0x8c7)]=_0x56c8bc,_0x3de76c[_0x3b5b94(0x735)]=_0x5dbc4b,_0x3de76c[_0x3b5b94(0x3db)]=_0x1dae79,_0x3de76c[_0x3b5b94(0xb90)]=_0x5e99ea,_0x3de76c[_0x3b5b94(0x19b)]=_0x2346e1;const _0x1e63b7=this[_0x3b5b94(0x7b6)];var _0x52ea05=this['_getWebGLTextureType'](_0x1dae79);let _0x1d1db1=this[_0x3b5b94(0x837)](_0x5dbc4b);var _0x52367c=this['_getRGBABufferInternalSizedFormat'](_0x1dae79);let _0x1808e8=!0x1;_0x1d1db1===_0x1e63b7[_0x3b5b94(0x2e6)]&&(_0x1d1db1=_0x1e63b7[_0x3b5b94(0xc81)],_0x1808e8=!0x0),this[_0x3b5b94(0xaa7)](_0x1e63b7['TEXTURE_CUBE_MAP'],_0x3de76c,!0x0),this[_0x3b5b94(0xd08)](void 0x0===_0x5e99ea||!!_0x5e99ea),_0x3de76c[_0x3b5b94(0xb58)]%0x4!=0x0&&_0x1e63b7['pixelStorei'](_0x1e63b7[_0x3b5b94(0xa71)],0x1);for(let _0x161721=0x0;_0x161721<0x6;_0x161721++){let _0x51bb60=_0x56c8bc[_0x161721];_0x2346e1?_0x1e63b7['compressedTexImage2D'](_0x1e63b7[_0x3b5b94(0x9fc)]+_0x161721,_0xc10eae,this['getCaps']()[_0x3b5b94(0x5da)][_0x2346e1],_0x3de76c[_0x3b5b94(0xb58)],_0x3de76c[_0x3b5b94(0x520)],0x0,_0x51bb60):(_0x1808e8&&(_0x51bb60=_0x35014e(_0x51bb60,_0x3de76c[_0x3b5b94(0xb58)],_0x3de76c['height'],_0x1dae79)),_0x1e63b7['texImage2D'](_0x1e63b7[_0x3b5b94(0x9fc)]+_0x161721,_0xc10eae,_0x52367c,_0x3de76c[_0x3b5b94(0xb58)],_0x3de76c['height'],0x0,_0x1d1db1,_0x52ea05,_0x51bb60));}(!this[_0x3b5b94(0xc3b)]||_0x298d6f['w1'][_0x3b5b94(0xb11)](_0x3de76c['width'])&&_0x298d6f['w1'][_0x3b5b94(0xb11)](_0x3de76c['height']))&&_0x3de76c[_0x3b5b94(0xa04)]&&0x0===_0xc10eae&&this[_0x3b5b94(0x7b6)][_0x3b5b94(0x1d5)](this['_gl'][_0x3b5b94(0x91f)]),this[_0x3b5b94(0xaa7)](this[_0x3b5b94(0x7b6)][_0x3b5b94(0x91f)],null),_0x3de76c[_0x3b5b94(0xae3)]=!0x0;},_0x516b77['B']['prototype'][_0x2e7821(0x2dd)]=function(_0x456334,_0x4ce23a,_0xf144bd,_0xa4f698,_0x302b3a,_0x5dee96,_0xa2e0e1,_0x42e2f4,_0xed3441=null,_0x1cb620=null,_0x159db3=_0xaa116c['g'][_0x2e7821(0xa01)],_0x42331b=!0x1){var _0x51b014=_0x2e7821;const _0x145904=this[_0x51b014(0x7b6)],_0xc25010=this[_0x51b014(0x7c3)](null,_0xf144bd,_0xa4f698,_0x302b3a,!_0x5dee96,_0x42331b,_0x159db3,null),_0x4f1ff7=(null!=_0x4ce23a&&_0x4ce23a[_0x51b014(0x22e)](_0xc25010),_0xc25010[_0x51b014(0xbd3)]=_0x456334,_0xc25010[_0x51b014(0xae3)]=!0x1,this['_internalTexturesCache'][_0x51b014(0x6fe)](_0xc25010),_0x97729=>{var _0x33d3a9=_0x51b014,_0x8cdf0a=_0xc25010[_0x33d3a9(0xb58)],_0x97729=_0xa2e0e1(_0x97729);if(_0x97729){if(_0x42e2f4){var _0x72e2fe=this['_getWebGLTextureType'](_0x302b3a);let _0x58e960=this[_0x33d3a9(0x837)](_0xa4f698);var _0x13e95c=this['_getRGBABufferInternalSizedFormat'](_0x302b3a);let _0x2eb02f=!0x1;_0x58e960===_0x145904[_0x33d3a9(0x2e6)]&&(_0x58e960=_0x145904['RGBA'],_0x2eb02f=!0x0),this[_0x33d3a9(0xaa7)](_0x145904[_0x33d3a9(0x91f)],_0xc25010,!0x0),this[_0x33d3a9(0xd08)](!0x1);var _0x25b4f9=_0x42e2f4(_0x97729);for(let _0x5b4c88=0x0;_0x5b4c88<_0x25b4f9[_0x33d3a9(0x78d)];_0x5b4c88++){var _0x32e4a5=_0x8cdf0a>>_0x5b4c88;for(let _0x3e233e=0x0;_0x3e233e<0x6;_0x3e233e++){let _0x2d2cb0=_0x25b4f9[_0x5b4c88][_0x3e233e];_0x2eb02f&&(_0x2d2cb0=_0x35014e(_0x2d2cb0,_0x32e4a5,_0x32e4a5,_0x302b3a)),_0x145904[_0x33d3a9(0x431)](_0x3e233e,_0x5b4c88,_0x13e95c,_0x32e4a5,_0x32e4a5,0x0,_0x58e960,_0x72e2fe,_0x2d2cb0);}}this['_bindTextureDirectly'](_0x145904[_0x33d3a9(0x91f)],null);}else this[_0x33d3a9(0x16f)](_0xc25010,_0x97729,_0xa4f698,_0x302b3a,_0x42331b);_0xc25010[_0x33d3a9(0xae3)]=!0x0,null!=_0x4ce23a&&_0x4ce23a[_0x33d3a9(0x66b)](_0xc25010),_0xc25010[_0x33d3a9(0x89c)]['notifyObservers'](_0xc25010),_0xc25010[_0x33d3a9(0x89c)][_0x33d3a9(0x5b8)](),_0xed3441&&_0xed3441();}});return this[_0x51b014(0x6b1)](_0x456334,_0x571806=>{_0x4f1ff7(_0x571806);},void 0x0,null==_0x4ce23a?void 0x0:_0x4ce23a[_0x51b014(0x70d)],!0x0,(_0x223941,_0x5ded37)=>{var _0x5980a5=_0x51b014;null!=_0x4ce23a&&_0x4ce23a[_0x5980a5(0x66b)](_0xc25010),_0x1cb620&&_0x223941&&_0x1cb620(_0x223941[_0x5980a5(0x54f)]+'\x20'+_0x223941[_0x5980a5(0xac6)],_0x5ded37);}),_0xc25010;},_0x516b77['B'][_0x2e7821(0x3c6)][_0x2e7821(0x907)]=_0x179bf3(!0x1),_0x516b77['B'][_0x2e7821(0x3c6)][_0x2e7821(0x282)]=_0x179bf3(!0x0),_0x516b77['B']['prototype'][_0x2e7821(0xafd)]=_0x4ecdbf(!0x1),_0x516b77['B'][_0x2e7821(0x3c6)][_0x2e7821(0x4da)]=_0x4ecdbf(!0x0);},0x3c27:(_0x50676a,_0x25640e,_0x171236)=>{var _0x449acc=a7_0x1ed280;_0x171236['d'](_0x25640e,{'A':()=>_0x4aff1a});var _0x25640e=_0x171236(0x202a),_0x398421=_0x171236(0x77a5);function _0x4aff1a(_0x17e5dc,_0x5509f3,_0x3a4b6f=!0x1,_0xa9221){var _0x244b22=a7_0x3908;switch(_0x17e5dc){case _0x398421['g'][_0x244b22(0x3a2)]:{ArrayBuffer;const _0x1bae94=new Int8Array(_0x5509f3);return _0xa9221&&_0x1bae94['set'](new Int8Array(_0xa9221)),_0x1bae94;}case _0x398421['g']['TEXTURETYPE_UNSIGNED_BYTE']:{ArrayBuffer;const _0x469db0=new Uint8Array(_0x5509f3);return _0xa9221&&_0x469db0[_0x244b22(0x532)](new Uint8Array(_0xa9221)),_0x469db0;}case _0x398421['g'][_0x244b22(0x50d)]:{const _0x8a4360=_0x5509f3 instanceof ArrayBuffer?new Int16Array(_0x5509f3):new Int16Array(_0x3a4b6f?_0x5509f3/0x2:_0x5509f3);return _0xa9221&&_0x8a4360[_0x244b22(0x532)](new Int16Array(_0xa9221)),_0x8a4360;}case _0x398421['g']['TEXTURETYPE_UNSIGNED_SHORT']:case _0x398421['g'][_0x244b22(0x851)]:case _0x398421['g'][_0x244b22(0x719)]:case _0x398421['g'][_0x244b22(0xbe0)]:case _0x398421['g'][_0x244b22(0xa57)]:{const _0x2268c7=_0x5509f3 instanceof ArrayBuffer?new Uint16Array(_0x5509f3):new Uint16Array(_0x3a4b6f?_0x5509f3/0x2:_0x5509f3);return _0xa9221&&_0x2268c7[_0x244b22(0x532)](new Uint16Array(_0xa9221)),_0x2268c7;}case _0x398421['g'][_0x244b22(0x622)]:{const _0x274148=_0x5509f3 instanceof ArrayBuffer?new Int32Array(_0x5509f3):new Int32Array(_0x3a4b6f?_0x5509f3/0x4:_0x5509f3);return _0xa9221&&_0x274148['set'](new Int32Array(_0xa9221)),_0x274148;}case _0x398421['g'][_0x244b22(0x1e7)]:case _0x398421['g'][_0x244b22(0x683)]:case _0x398421['g'][_0x244b22(0xc96)]:case _0x398421['g'][_0x244b22(0x848)]:case _0x398421['g'][_0x244b22(0xc1c)]:case _0x398421['g'][_0x244b22(0xc7c)]:{const _0x9cb30f=_0x5509f3 instanceof ArrayBuffer?new Uint32Array(_0x5509f3):new Uint32Array(_0x3a4b6f?_0x5509f3/0x4:_0x5509f3);return _0xa9221&&_0x9cb30f[_0x244b22(0x532)](new Uint32Array(_0xa9221)),_0x9cb30f;}case _0x398421['g'][_0x244b22(0x75f)]:{const _0x281278=_0x5509f3 instanceof ArrayBuffer?new Float32Array(_0x5509f3):new Float32Array(_0x3a4b6f?_0x5509f3/0x4:_0x5509f3);return _0xa9221&&_0x281278['set'](new Float32Array(_0xa9221)),_0x281278;}}ArrayBuffer;const _0x3309a1=new Uint8Array(_0x5509f3);return _0xa9221&&_0x3309a1[_0x244b22(0x532)](new Uint8Array(_0xa9221)),_0x3309a1;}_0x25640e['B'][_0x449acc(0x3c6)][_0x449acc(0x66f)]=function(_0x489078,_0x5089b4,_0x17963e,_0x4b38c8=-0x1,_0x2fe682=0x0,_0x25b570=null,_0xa2ab5a=!0x0,_0x3ac8c7=!0x1,_0x5a0e39=0x0,_0x2fff2a=0x0){var _0xda47e3=_0x449acc;const _0xde63d9=this[_0xda47e3(0x7b6)];if(!_0xde63d9)throw new Error(_0xda47e3(0x7b2));if(!this[_0xda47e3(0x1c7)]){var _0x50f05f=_0xde63d9[_0xda47e3(0x8ae)]();if(!_0x50f05f)throw new Error('Unable\x20to\x20create\x20dummy\x20framebuffer');this[_0xda47e3(0x1c7)]=_0x50f05f;}_0xde63d9[_0xda47e3(0x951)](_0xde63d9[_0xda47e3(0x6c0)],this[_0xda47e3(0x1c7)]),-0x1<_0x4b38c8?_0xde63d9[_0xda47e3(0x644)](_0xde63d9[_0xda47e3(0x6c0)],_0xde63d9['COLOR_ATTACHMENT0'],_0xde63d9[_0xda47e3(0x9fc)]+_0x4b38c8,null==(_0x50f05f=_0x489078[_0xda47e3(0x6cf)])?void 0x0:_0x50f05f[_0xda47e3(0x734)],_0x2fe682):_0xde63d9[_0xda47e3(0x644)](_0xde63d9[_0xda47e3(0x6c0)],_0xde63d9[_0xda47e3(0x829)],_0xde63d9[_0xda47e3(0x74a)],null==(_0x4b38c8=_0x489078[_0xda47e3(0x6cf)])?void 0x0:_0x4b38c8[_0xda47e3(0x734)],_0x2fe682);let _0x26b259=void 0x0!==_0x489078[_0xda47e3(0x3db)]?this[_0xda47e3(0x40b)](_0x489078[_0xda47e3(0x3db)]):_0xde63d9[_0xda47e3(0xc73)];return _0x3ac8c7?_0x25b570=_0x25b570||_0x4aff1a(_0x489078[_0xda47e3(0x3db)],0x4*_0x5089b4*_0x17963e):_0x26b259=_0x26b259===_0xde63d9[_0xda47e3(0xc73)]?(_0x25b570=_0x25b570||new Uint8Array(0x4*_0x5089b4*_0x17963e),_0xde63d9[_0xda47e3(0xc73)]):(_0x25b570=_0x25b570||new Float32Array(0x4*_0x5089b4*_0x17963e),_0xde63d9[_0xda47e3(0x43e)]),_0xa2ab5a&&this[_0xda47e3(0xbf8)](),_0xde63d9[_0xda47e3(0x72d)](_0x5a0e39,_0x2fff2a,_0x5089b4,_0x17963e,_0xde63d9[_0xda47e3(0xc81)],_0x26b259,_0x25b570),_0xde63d9[_0xda47e3(0x951)](_0xde63d9['FRAMEBUFFER'],this['_currentFramebuffer']),_0x25b570;},_0x25640e['B'][_0x449acc(0x3c6)]['_readTexturePixels']=function(_0x42a005,_0x1f9698,_0x15d4f8,_0x457c99=-0x1,_0xe1acb=0x0,_0x25aedf=null,_0x19f0ba=!0x0,_0x1aaa6d=!0x1,_0xc233de=0x0,_0x4c8daf=0x0){return Promise['resolve'](this['_readTexturePixelsSync'](_0x42a005,_0x1f9698,_0x15d4f8,_0x457c99,_0xe1acb,_0x25aedf,_0x19f0ba,_0x1aaa6d,_0xc233de,_0x4c8daf));};},0xd75:(_0x30a4bc,_0x649cda,_0x32867e)=>{var _0x1db0c4=a7_0x1ed280,_0x574393=_0x32867e(0x25b1),_0x191af4=_0x32867e(0x10ea4),_0x22491a=_0x32867e(0x202a);class _0x1b4c9d extends _0x32867e(0x758)['r']{constructor(_0x4eaf17,_0x466a96,_0x5cbed4,_0x400d86,_0x518450){var _0x45cbcc=a7_0x3908;super(_0x4eaf17,_0x466a96,_0x5cbed4,_0x400d86),this[_0x45cbcc(0x459)]=null,this[_0x45cbcc(0x402)]=null,this[_0x45cbcc(0x2c7)]=null,this[_0x45cbcc(0x4af)]=null,this[_0x45cbcc(0xb62)]=null,this[_0x45cbcc(0x9a3)]=_0x518450;}[_0x1db0c4(0x9d6)](){var _0x1fffd5=_0x1db0c4;let _0x527760=null;return this[_0x1fffd5(0x4af)]&&this[_0x1fffd5(0xb62)]?(_0x527760=this[_0x1fffd5(0x3f5)][_0x1fffd5(0xc34)](this[_0x1fffd5(0xb58)],this['height']))[_0x1fffd5(0x7a3)][_0x1fffd5(0xae3)]=!0x0:_0x527760=super['_cloneRenderTargetWrapper'](),_0x527760;}[_0x1db0c4(0x6db)](_0x57843e){var _0x10fc34=_0x1db0c4;super[_0x10fc34(0x6db)](_0x57843e),_0x57843e['_framebuffer']=this[_0x10fc34(0x459)],_0x57843e[_0x10fc34(0x402)]=this['_depthStencilBuffer'],_0x57843e[_0x10fc34(0x2c7)]=this['_MSAAFramebuffer'],_0x57843e[_0x10fc34(0x4af)]=this[_0x10fc34(0x4af)],_0x57843e[_0x10fc34(0xb62)]=this[_0x10fc34(0xb62)],this[_0x10fc34(0x459)]=this[_0x10fc34(0x402)]=this[_0x10fc34(0x2c7)]=this[_0x10fc34(0x4af)]=this[_0x10fc34(0xb62)]=null;}[_0x1db0c4(0x81f)](_0x475699){var _0x4ffc09=_0x1db0c4;super[_0x4ffc09(0x81f)](_0x475699);const _0x48b08b=this[_0x4ffc09(0x9a3)];var _0x15f76e=this[_0x4ffc09(0x402)],_0x55b075=_0x475699[_0x4ffc09(0x2c7)]||_0x475699[_0x4ffc09(0x459)];_0x475699[_0x4ffc09(0x402)]&&_0x48b08b[_0x4ffc09(0x4e8)](_0x475699[_0x4ffc09(0x402)]),_0x475699['_depthStencilBuffer']=this[_0x4ffc09(0x402)],this[_0x4ffc09(0x3f5)][_0x4ffc09(0xc1d)](_0x55b075),_0x48b08b[_0x4ffc09(0x474)](_0x48b08b['FRAMEBUFFER'],_0x48b08b[_0x4ffc09(0xb6e)],_0x48b08b[_0x4ffc09(0x14b)],_0x15f76e),this[_0x4ffc09(0x3f5)][_0x4ffc09(0xc1d)](null);}[_0x1db0c4(0x1d8)](_0x38c809,_0x3fb58e=0x0,_0x4c1353,_0x1e8ee4=0x0){var _0x4844af=_0x1db0c4;if(_0x38c809[_0x4844af(0x6cf)]){var _0x47f169=this[_0x4844af(0x459)],_0x40df0e=this[_0x4844af(0x3f5)]['_currentFramebuffer'];if(this[_0x4844af(0x3f5)]['_bindUnboundFramebuffer'](_0x47f169),0x1{var _0x1f4944=_0xe0b1f2(0x25b1),_0x17f506=_0xe0b1f2(0x10ea4),_0x241cec=_0xe0b1f2(0x77a5);_0xe0b1f2(0x202a)['B']['prototype']['createRenderTargetCubeTexture']=function(_0x42d939,_0xd3942c){var _0x4d474a=a7_0x3908;const _0x3ef59a=this[_0x4d474a(0x4e6)](!0x1,!0x0,_0x42d939),_0x1db178=Object['assign']({'generateMipMaps':!0x0,'generateDepthBuffer':!0x0,'generateStencilBuffer':!0x1,'type':_0x241cec['g'][_0x4d474a(0x4b2)],'samplingMode':_0x241cec['g'][_0x4d474a(0xa01)],'format':_0x241cec['g']['TEXTUREFORMAT_RGBA']},_0xd3942c),_0x2d3f85=(_0x1db178[_0x4d474a(0x591)]=_0x1db178[_0x4d474a(0x30f)]&&_0x1db178['generateStencilBuffer'],(_0x1db178['type']===_0x241cec['g'][_0x4d474a(0x75f)]&&!this[_0x4d474a(0x7ac)][_0x4d474a(0x505)]||_0x1db178['type']===_0x241cec['g'][_0x4d474a(0xa57)]&&!this[_0x4d474a(0x7ac)][_0x4d474a(0x47b)])&&(_0x1db178[_0x4d474a(0x91a)]=_0x241cec['g']['TEXTURE_NEAREST_SAMPLINGMODE']),this[_0x4d474a(0x7b6)]),_0x35f464=new _0x1f4944['l'](this,_0x1f4944['S'][_0x4d474a(0x47e)]);this[_0x4d474a(0xaa7)](_0x2d3f85[_0x4d474a(0x91f)],_0x35f464,!0x0),_0xd3942c=this['_getSamplingParameters'](_0x1db178[_0x4d474a(0x91a)],_0x1db178[_0x4d474a(0xa04)]),(_0x1db178[_0x4d474a(0x3db)]!==_0x241cec['g'][_0x4d474a(0x75f)]||this[_0x4d474a(0x7ac)][_0x4d474a(0x300)]||(_0x1db178[_0x4d474a(0x3db)]=_0x241cec['g'][_0x4d474a(0x4b2)],_0x17f506['Y'][_0x4d474a(0x72a)](_0x4d474a(0x2c4))),_0x2d3f85[_0x4d474a(0xbbe)](_0x2d3f85[_0x4d474a(0x91f)],_0x2d3f85['TEXTURE_MAG_FILTER'],_0xd3942c[_0x4d474a(0x638)]),_0x2d3f85[_0x4d474a(0xbbe)](_0x2d3f85[_0x4d474a(0x91f)],_0x2d3f85[_0x4d474a(0x9b7)],_0xd3942c['min']),_0x2d3f85[_0x4d474a(0xbbe)](_0x2d3f85[_0x4d474a(0x91f)],_0x2d3f85['TEXTURE_WRAP_S'],_0x2d3f85[_0x4d474a(0xbdb)]),_0x2d3f85[_0x4d474a(0xbbe)](_0x2d3f85[_0x4d474a(0x91f)],_0x2d3f85[_0x4d474a(0xc78)],_0x2d3f85[_0x4d474a(0xbdb)]));for(let _0x3bd777=0x0;_0x3bd777<0x6;_0x3bd777++)_0x2d3f85['texImage2D'](_0x2d3f85[_0x4d474a(0x9fc)]+_0x3bd777,0x0,this['_getRGBABufferInternalSizedFormat'](_0x1db178[_0x4d474a(0x3db)],_0x1db178['format']),_0x42d939,_0x42d939,0x0,this[_0x4d474a(0x837)](_0x1db178[_0x4d474a(0x735)]),this[_0x4d474a(0x40b)](_0x1db178[_0x4d474a(0x3db)]),null);return _0xd3942c=_0x2d3f85[_0x4d474a(0x8ae)](),(this[_0x4d474a(0xc1d)](_0xd3942c),_0x3ef59a[_0x4d474a(0x402)]=this[_0x4d474a(0x261)](_0x1db178['generateStencilBuffer'],_0x1db178['generateDepthBuffer'],_0x42d939,_0x42d939),_0x1db178[_0x4d474a(0xa04)]&&_0x2d3f85[_0x4d474a(0x1d5)](_0x2d3f85[_0x4d474a(0x91f)]),this['_bindTextureDirectly'](_0x2d3f85[_0x4d474a(0x91f)],null),this['_bindUnboundFramebuffer'](null),_0x3ef59a['_framebuffer']=_0xd3942c,_0x3ef59a[_0x4d474a(0x181)]=_0x1db178[_0x4d474a(0x30f)],_0x3ef59a[_0x4d474a(0x3d2)]=_0x1db178[_0x4d474a(0x591)],_0x35f464[_0x4d474a(0xb58)]=_0x42d939,_0x35f464[_0x4d474a(0x520)]=_0x42d939,_0x35f464[_0x4d474a(0xae3)]=!0x0,_0x35f464['isCube']=!0x0,_0x35f464['samples']=0x1,_0x35f464['generateMipMaps']=_0x1db178[_0x4d474a(0xa04)],_0x35f464['samplingMode']=_0x1db178[_0x4d474a(0x91a)],_0x35f464['type']=_0x1db178['type'],_0x35f464[_0x4d474a(0x735)]=_0x1db178['format'],this[_0x4d474a(0xa1e)]['push'](_0x35f464),_0x3ef59a[_0x4d474a(0x44c)](_0x35f464),_0x3ef59a);};},0x2505:(_0x45817e,_0x40e2fa,_0x550daf)=>{var _0x4d793d=a7_0x1ed280;_0x550daf=_0x550daf(0x202a),(_0x550daf['B']['prototype'][_0x4d793d(0x1b7)]=function(_0x39b25d,_0x3aa0b4){var _0x213653=_0x4d793d;throw new Error(_0x213653(0xc95));},_0x550daf['B']['prototype'][_0x4d793d(0x285)]=function(_0x1346f0,_0x346cdc,_0x5ac6a7,_0x54612b){},_0x550daf['B'][_0x4d793d(0x3c6)]['readFromStorageBuffer']=function(_0x46235f,_0x560869,_0x3de6ec,_0x2d93c8){var _0xee1eae=_0x4d793d;throw new Error(_0xee1eae(0x928));},_0x550daf['B'][_0x4d793d(0x3c6)][_0x4d793d(0xb25)]=function(_0x3fb698,_0x30a17a){throw new Error('setStorageBuffer:\x20Unsupported\x20method\x20in\x20this\x20engine!');});},0x100b5:(_0x3708d5,_0x14c9b9,_0x985a14)=>{var _0x4f3e77=a7_0x1ed280;_0x985a14(0x202a)['B'][_0x4f3e77(0x3c6)][_0x4f3e77(0xa1c)]=function(_0x3398d7,_0x3ac8f4){var _0x4e8d6f=_0x4f3e77;throw new Error(_0x4e8d6f(0x494));};},0x4c3:(_0x334308,_0x22b2dd,_0x379a9a)=>{var _0x1e1ec9=a7_0x1ed280;_0x379a9a=_0x379a9a(0xee04);function _0xd5231d(_0x5da1e8){var _0x1ca518=a7_0x3908;if(this[_0x1ca518(0xab6)]&&this[_0x1ca518(0xab6)]['some'](_0x47fcb7=>_0x5da1e8&&(_0x5da1e8===_0x47fcb7||_0x5da1e8[_0x1ca518(0x744)](new RegExp('\x5cb'+_0x47fcb7+'\x5cb','g')))))return _0x5da1e8;var _0x122964=_0x5da1e8[_0x1ca518(0x1b0)]('.'),_0x41a402=_0x5da1e8['lastIndexOf']('?'),_0x41a402=-0x1<_0x41a402?_0x5da1e8[_0x1ca518(0xcce)](_0x41a402,_0x5da1e8[_0x1ca518(0x78d)]):'';return(-0x1<_0x122964?_0x5da1e8[_0x1ca518(0xcce)](0x0,_0x122964):_0x5da1e8)+this['_textureFormatInUse']+_0x41a402;}Object[_0x1e1ec9(0xa53)](_0x379a9a['D'][_0x1e1ec9(0x3c6)],_0x1e1ec9(0x930),{'get':function(){var _0x4e9bd6=_0x1e1ec9;const _0x5354fe=new Array();return this[_0x4e9bd6(0x7ac)][_0x4e9bd6(0xb3b)]&&_0x5354fe[_0x4e9bd6(0x6fe)](_0x4e9bd6(0x697)),this[_0x4e9bd6(0x7ac)]['s3tc']&&_0x5354fe[_0x4e9bd6(0x6fe)](_0x4e9bd6(0x53e)),this[_0x4e9bd6(0x7ac)]['pvrtc']&&_0x5354fe[_0x4e9bd6(0x6fe)](_0x4e9bd6(0x207)),this[_0x4e9bd6(0x7ac)]['etc2']&&_0x5354fe[_0x4e9bd6(0x6fe)](_0x4e9bd6(0x51d)),this[_0x4e9bd6(0x7ac)]['etc1']&&_0x5354fe[_0x4e9bd6(0x6fe)](_0x4e9bd6(0x7cf)),_0x5354fe;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x1e1ec9(0xa53)](_0x379a9a['D'][_0x1e1ec9(0x3c6)],_0x1e1ec9(0x3b1),{'get':function(){return this['_textureFormatInUse']||null;},'enumerable':!0x0,'configurable':!0x0}),_0x379a9a['D'][_0x1e1ec9(0x3c6)][_0x1e1ec9(0x6ff)]=function(_0x3d5a98){var _0x244126=_0x1e1ec9;this[_0x244126(0xab6)]=_0x3d5a98;},_0x379a9a['D'][_0x1e1ec9(0x3c6)]['setTextureFormatToUse']=function(_0x393ce9){var _0x352924=_0x1e1ec9,_0x38ac4b=this['texturesSupported'];for(let _0xcaca87=0x0,_0x147ebb=_0x38ac4b['length'];_0xcaca87<_0x147ebb;_0xcaca87++)for(let _0x309604=0x0,_0x124a01=_0x393ce9['length'];_0x309604<_0x124a01;_0x309604++)if(_0x38ac4b[_0xcaca87]===_0x393ce9[_0x309604]['toLowerCase']())return this[_0x352924(0xc0c)]=_0xd5231d['bind'](this),this['_textureFormatInUse']=_0x38ac4b[_0xcaca87];return this['_textureFormatInUse']='',this['_transformTextureUrl']=null;};},0xa758:(_0x466324,_0x5a99b6,_0x2f5d56)=>{var _0x2c52bf=a7_0x1ed280,_0x4450e1=_0x2f5d56(0x202a),_0x49ebf5=_0x2f5d56(0xc7ed);_0x4450e1['B'][_0x2c52bf(0x3c6)][_0x2c52bf(0x2e3)]=function(_0x43a475){var _0x474d86=_0x2c52bf,_0x5c3e14=this[_0x474d86(0x7b6)][_0x474d86(0x238)]();if(!_0x5c3e14)throw new Error(_0x474d86(0xb18));const _0x20c770=new _0x49ebf5['M'](_0x5c3e14);return this[_0x474d86(0xa60)](_0x20c770),_0x43a475 instanceof Float32Array?this[_0x474d86(0x7b6)]['bufferData'](this[_0x474d86(0x7b6)]['UNIFORM_BUFFER'],_0x43a475,this['_gl']['STATIC_DRAW']):this['_gl']['bufferData'](this[_0x474d86(0x7b6)][_0x474d86(0x8e1)],new Float32Array(_0x43a475),this['_gl']['STATIC_DRAW']),this[_0x474d86(0xa60)](null),_0x20c770[_0x474d86(0x94f)]=0x1,_0x20c770;},_0x4450e1['B'][_0x2c52bf(0x3c6)][_0x2c52bf(0xb93)]=function(_0x93e4da){var _0x45ff72=_0x2c52bf,_0x15a697=this[_0x45ff72(0x7b6)][_0x45ff72(0x238)]();if(!_0x15a697)throw new Error('Unable\x20to\x20create\x20dynamic\x20uniform\x20buffer');const _0x3ae4e2=new _0x49ebf5['M'](_0x15a697);return this[_0x45ff72(0xa60)](_0x3ae4e2),_0x93e4da instanceof Float32Array?this['_gl'][_0x45ff72(0x6d1)](this[_0x45ff72(0x7b6)][_0x45ff72(0x8e1)],_0x93e4da,this[_0x45ff72(0x7b6)][_0x45ff72(0x3ac)]):this[_0x45ff72(0x7b6)]['bufferData'](this[_0x45ff72(0x7b6)][_0x45ff72(0x8e1)],new Float32Array(_0x93e4da),this['_gl']['DYNAMIC_DRAW']),this[_0x45ff72(0xa60)](null),_0x3ae4e2['references']=0x1,_0x3ae4e2;},_0x4450e1['B']['prototype']['updateUniformBuffer']=function(_0x37dcc4,_0x5a657b,_0x36a1f7,_0x939190){var _0x19d5f1=_0x2c52bf;this[_0x19d5f1(0xa60)](_0x37dcc4),void 0x0===_0x36a1f7&&(_0x36a1f7=0x0),void 0x0===_0x939190?_0x5a657b instanceof Float32Array?this[_0x19d5f1(0x7b6)]['bufferSubData'](this[_0x19d5f1(0x7b6)][_0x19d5f1(0x8e1)],_0x36a1f7,_0x5a657b):this['_gl']['bufferSubData'](this[_0x19d5f1(0x7b6)]['UNIFORM_BUFFER'],_0x36a1f7,new Float32Array(_0x5a657b)):_0x5a657b instanceof Float32Array?this[_0x19d5f1(0x7b6)]['bufferSubData'](this[_0x19d5f1(0x7b6)]['UNIFORM_BUFFER'],0x0,_0x5a657b[_0x19d5f1(0xba9)](_0x36a1f7,_0x36a1f7+_0x939190)):this[_0x19d5f1(0x7b6)][_0x19d5f1(0x2c0)](this[_0x19d5f1(0x7b6)][_0x19d5f1(0x8e1)],0x0,new Float32Array(_0x5a657b)[_0x19d5f1(0xba9)](_0x36a1f7,_0x36a1f7+_0x939190)),this['bindUniformBuffer'](null);},_0x4450e1['B'][_0x2c52bf(0x3c6)][_0x2c52bf(0xa60)]=function(_0x213719){var _0x15a0bd=_0x2c52bf;this[_0x15a0bd(0x7b6)][_0x15a0bd(0x8ef)](this[_0x15a0bd(0x7b6)][_0x15a0bd(0x8e1)],_0x213719?_0x213719['underlyingResource']:null);},_0x4450e1['B'][_0x2c52bf(0x3c6)][_0x2c52bf(0x515)]=function(_0x527b6c,_0x2288e9,_0x1de317){var _0x3af91c=_0x2c52bf;this[_0x3af91c(0x7b6)][_0x3af91c(0x5b3)](this[_0x3af91c(0x7b6)][_0x3af91c(0x8e1)],_0x2288e9,_0x527b6c?_0x527b6c[_0x3af91c(0x734)]:null);},_0x4450e1['B'][_0x2c52bf(0x3c6)][_0x2c52bf(0x5b4)]=function(_0x4f2af6,_0x2a3bb5,_0x465e75){var _0x505522=_0x2c52bf;_0x4f2af6=_0x4f2af6[_0x505522(0x572)],_0x2a3bb5=this[_0x505522(0x7b6)]['getUniformBlockIndex'](_0x4f2af6,_0x2a3bb5),0xffffffff!==_0x2a3bb5&&this['_gl'][_0x505522(0x6b3)](_0x4f2af6,_0x2a3bb5,_0x465e75);};},0x89d3:(_0x5a278b,_0x39f520,_0x20b4c1)=>{var _0x40beff=a7_0x1ed280,_0x295853=_0x20b4c1(0x202a),_0x35616f=_0x20b4c1(0x77a5);_0x295853['B'][_0x40beff(0x3c6)]['updateVideoTexture']=function(_0x27433d,_0x2737de,_0x451473){var _0x462fcf=_0x40beff;if(_0x27433d&&!_0x27433d['_isDisabled']){var _0x12e23c=this['_getInternalFormat'](_0x27433d[_0x462fcf(0x735)]),_0x4b3387=this[_0x462fcf(0x915)](_0x35616f['g']['TEXTURETYPE_UNSIGNED_BYTE'],_0x27433d['format']),_0x4cae6d=this[_0x462fcf(0xaa7)](this[_0x462fcf(0x7b6)][_0x462fcf(0x74a)],_0x27433d,!0x0);this[_0x462fcf(0xd08)](!_0x451473);try{if(void 0x0===this[_0x462fcf(0x1f3)]&&(this[_0x462fcf(0x7b6)][_0x462fcf(0xd0a)](),this[_0x462fcf(0x7b6)]['texImage2D'](this[_0x462fcf(0x7b6)]['TEXTURE_2D'],0x0,_0x4b3387,_0x12e23c,this[_0x462fcf(0x7b6)][_0x462fcf(0xc73)],_0x2737de),0x0!==this['_gl'][_0x462fcf(0xd0a)]()?this[_0x462fcf(0x1f3)]=!0x1:this[_0x462fcf(0x1f3)]=!0x0),this[_0x462fcf(0x1f3)])this[_0x462fcf(0x7b6)][_0x462fcf(0x431)](this[_0x462fcf(0x7b6)][_0x462fcf(0x74a)],0x0,_0x4b3387,_0x12e23c,this['_gl']['UNSIGNED_BYTE'],_0x2737de);else{if(!_0x27433d[_0x462fcf(0xb55)]){_0x27433d['_workingCanvas']=this[_0x462fcf(0xa1f)](_0x27433d[_0x462fcf(0xb58)],_0x27433d[_0x462fcf(0x520)]);var _0x6a9c59=_0x27433d[_0x462fcf(0xb55)][_0x462fcf(0x694)]('2d');if(!_0x6a9c59)throw new Error('Unable\x20to\x20get\x202d\x20context');_0x27433d[_0x462fcf(0x3c2)]=_0x6a9c59,_0x27433d['_workingCanvas']['width']=_0x27433d[_0x462fcf(0xb58)],_0x27433d[_0x462fcf(0xb55)][_0x462fcf(0x520)]=_0x27433d['height'];}_0x27433d[_0x462fcf(0x3c2)][_0x462fcf(0x437)](0x0,0x0,_0x27433d[_0x462fcf(0xb58)],_0x27433d[_0x462fcf(0x520)]),_0x27433d[_0x462fcf(0x3c2)][_0x462fcf(0x1f5)](_0x2737de,0x0,0x0,_0x2737de[_0x462fcf(0x251)],_0x2737de[_0x462fcf(0x824)],0x0,0x0,_0x27433d[_0x462fcf(0xb58)],_0x27433d[_0x462fcf(0x520)]),this[_0x462fcf(0x7b6)][_0x462fcf(0x431)](this['_gl'][_0x462fcf(0x74a)],0x0,_0x4b3387,_0x12e23c,this['_gl'][_0x462fcf(0xc73)],_0x27433d[_0x462fcf(0xb55)]);}_0x27433d[_0x462fcf(0xa04)]&&this[_0x462fcf(0x7b6)]['generateMipmap'](this['_gl']['TEXTURE_2D']),_0x4cae6d||this[_0x462fcf(0xaa7)](this[_0x462fcf(0x7b6)][_0x462fcf(0x74a)],null),_0x27433d[_0x462fcf(0xae3)]=!0x0;}catch(_0x5afc1a){_0x27433d['_isDisabled']=!0x0;}}};},0xeefc:(_0xce632d,_0x3e055a,_0x267a3c)=>{var _0x1b7fcf=a7_0x1ed280,_0x5f3ab4=_0x267a3c(0xee04),_0x515aea=_0x267a3c(0xceed),_0x53d838=_0x267a3c(0xf96c),_0x4c3668=_0x267a3c(0xe222),_0x2104c8=_0x267a3c(0x18233);Object[_0x1b7fcf(0xa53)](_0x5f3ab4['D'][_0x1b7fcf(0x3c6)],_0x1b7fcf(0xcf6),{'get':function(){var _0x2c7230=_0x1b7fcf;return this[_0x2c7230(0x446)];},'enumerable':!0x0,'configurable':!0x0}),_0x5f3ab4['D'][_0x1b7fcf(0x3c6)][_0x1b7fcf(0x945)]=function(){var _0x2a293d=_0x1b7fcf;this['_vrSupported']=!0x1,this['_vrExclusivePointerMode']=!0x1,this[_0x2a293d(0xaad)]=new _0x53d838['y$'](),this[_0x2a293d(0x155)]=new _0x53d838['y$'](),this[_0x2a293d(0x422)]=new _0x53d838['y$']();},_0x5f3ab4['D'][_0x1b7fcf(0x3c6)]['isVRDevicePresent']=function(){var _0x6c8cbc=_0x1b7fcf;return!!this[_0x6c8cbc(0x940)];},_0x5f3ab4['D'][_0x1b7fcf(0x3c6)][_0x1b7fcf(0xb0c)]=function(){var _0x281bf7=_0x1b7fcf;return this[_0x281bf7(0x940)];},_0x5f3ab4['D'][_0x1b7fcf(0x3c6)][_0x1b7fcf(0xaef)]=function(){var _0x50a1ec=_0x1b7fcf;return this[_0x50a1ec(0x17b)](),this['onVRDisplayChangedObservable'];},_0x5f3ab4['D'][_0x1b7fcf(0x3c6)][_0x1b7fcf(0x17b)]=function(){var _0x45e54c=_0x1b7fcf;const _0x4d36e2=()=>{var _0x4a8992=a7_0x3908;const _0x11297e={'vrDisplay':this['_vrDisplay'],'vrSupported':this[_0x4a8992(0x9bb)]};this[_0x4a8992(0xaad)][_0x4a8992(0x533)](_0x11297e),this['_webVRInitPromise']=new Promise(_0x59f278=>{_0x59f278(_0x11297e);});};if(!this[_0x45e54c(0xa32)]){this[_0x45e54c(0xa32)]=_0xf161d0=>{var _0x1ca924=_0x45e54c;this[_0x1ca924(0x940)]=_0xf161d0['display'],_0x4d36e2();},this[_0x45e54c(0x467)]=()=>{var _0x56935c=_0x45e54c;this[_0x56935c(0x940)][_0x56935c(0x452)](this[_0x56935c(0xae6)]),this['_vrDisplay']=void 0x0,this[_0x56935c(0xae6)]=_0x5f3ab4['D']['QueueNewFrame'](this['_boundRenderFunction']),_0x4d36e2();},this[_0x45e54c(0x9f4)]=()=>{var _0x3f91cb=_0x45e54c;this[_0x3f91cb(0x446)]=this[_0x3f91cb(0x940)]&&this[_0x3f91cb(0x940)][_0x3f91cb(0x9dc)];};const _0x39a917=this['getHostWindow']();_0x39a917&&(_0x39a917[_0x45e54c(0xa81)](_0x45e54c(0x351),this[_0x45e54c(0xa32)]),_0x39a917[_0x45e54c(0xa81)]('vrdisplaydisconnect',this['_onVrDisplayDisconnect']),_0x39a917[_0x45e54c(0xa81)](_0x45e54c(0x556),this[_0x45e54c(0x9f4)]));}return this[_0x45e54c(0x20f)]=this['_webVRInitPromise']||this[_0x45e54c(0x513)](),this[_0x45e54c(0x20f)]['then'](_0x4d36e2),this[_0x45e54c(0x20f)];},_0x5f3ab4['D'][_0x1b7fcf(0x3c6)][_0x1b7fcf(0x513)]=function(){return new Promise(_0x2c73f1=>{var _0x1977b9=a7_0x3908;navigator[_0x1977b9(0xb7e)]?navigator[_0x1977b9(0xb7e)]()['then'](_0x1f0237=>{var _0x36f8c3=_0x1977b9;this[_0x36f8c3(0x9bb)]=!0x0,this[_0x36f8c3(0x940)]=_0x1f0237[0x0],_0x2c73f1({'vrDisplay':this[_0x36f8c3(0x940)],'vrSupported':this[_0x36f8c3(0x9bb)]});}):(this[_0x1977b9(0x940)]=void 0x0,this[_0x1977b9(0x9bb)]=!0x1,_0x2c73f1({'vrDisplay':this[_0x1977b9(0x940)],'vrSupported':this['_vrSupported']}));});},_0x5f3ab4['D'][_0x1b7fcf(0x3c6)]['enableVR']=function(_0x1e671c){var _0x207c16=_0x1b7fcf;this[_0x207c16(0x940)]&&!this[_0x207c16(0x940)][_0x207c16(0x9dc)]&&(this[_0x207c16(0x422)][_0x207c16(0x533)](this),_0x1e671c={'highRefreshRate':!!this['vrPresentationAttributes']&&this[_0x207c16(0x5ee)][_0x207c16(0x97f)],'foveationLevel':this['vrPresentationAttributes']?this[_0x207c16(0x5ee)][_0x207c16(0x5f9)]:0x1,'multiview':(this[_0x207c16(0x19e)]()[_0x207c16(0x5e8)]||this['getCaps']()['oculusMultiview'])&&_0x1e671c['useMultiview']},this[_0x207c16(0x940)][_0x207c16(0xc6a)]([Object[_0x207c16(0x245)]({'source':this['getRenderingCanvas'](),'attributes':_0x1e671c},_0x1e671c)])[_0x207c16(0x65e)](()=>{var _0x30f4a4=_0x207c16;this[_0x30f4a4(0x155)][_0x30f4a4(0x533)](!0x0),this[_0x30f4a4(0x5f1)]();})[_0x207c16(0x5ec)](()=>{var _0x28b430=_0x207c16;this[_0x28b430(0x155)][_0x28b430(0x533)](!0x1);}));},_0x5f3ab4['D'][_0x1b7fcf(0x3c6)]['_onVRFullScreenTriggered']=function(){var _0x1ea20f=_0x1b7fcf,_0x2933f5;this[_0x1ea20f(0x940)]&&this['_vrDisplay'][_0x1ea20f(0x9dc)]?(this[_0x1ea20f(0x240)]=new _0x515aea['$'](this[_0x1ea20f(0x73a)](),this['getRenderHeight']()),this[_0x1ea20f(0x4ef)]=this[_0x1ea20f(0x2f1)](),_0x2933f5=this['_vrDisplay'][_0x1ea20f(0xabe)](_0x1ea20f(0x3b6)),this['setHardwareScalingLevel'](0x1),this['setSize'](0x2*_0x2933f5[_0x1ea20f(0x304)],_0x2933f5[_0x1ea20f(0x3de)])):(this['setHardwareScalingLevel'](this[_0x1ea20f(0x4ef)]),this[_0x1ea20f(0xa8b)](this[_0x1ea20f(0x240)]['width'],this[_0x1ea20f(0x240)][_0x1ea20f(0x520)]));},_0x5f3ab4['D']['prototype']['disableVR']=function(){var _0x53f081=_0x1b7fcf;this[_0x53f081(0x940)]&&this['_vrDisplay']['isPresenting']&&this['_vrDisplay'][_0x53f081(0x24d)]()['then'](()=>this[_0x53f081(0x5f1)]())[_0x53f081(0x5ec)](()=>this[_0x53f081(0x5f1)]()),(0x0,_0x2104c8['CG'])()&&(window['removeEventListener'](_0x53f081(0x8a6),this[_0x53f081(0x981)]),window[_0x53f081(0x6a9)](_0x53f081(0xab7),this[_0x53f081(0x834)]),this['_onVrDisplayConnect']&&(window['removeEventListener'](_0x53f081(0x351),this[_0x53f081(0xa32)]),this[_0x53f081(0x467)]&&window[_0x53f081(0x6a9)](_0x53f081(0x82a),this['_onVrDisplayDisconnect']),this[_0x53f081(0x9f4)]&&window['removeEventListener'](_0x53f081(0x556),this['_onVrDisplayPresentChange']),this[_0x53f081(0xa32)]=null,this[_0x53f081(0x467)]=null));},_0x5f3ab4['D'][_0x1b7fcf(0x3c6)][_0x1b7fcf(0xbb6)]=function(_0x2754a6,_0x1eb0ce){var _0x5e41f3=_0x1b7fcf;if(this['_onVRDisplayPointerRestricted']=()=>{var _0x17bf29=a7_0x3908;_0x2754a6&&_0x2754a6[_0x17bf29(0x68b)]();},this[_0x5e41f3(0x834)]=()=>{var _0x2d67bd=_0x5e41f3;if(_0x1eb0ce)_0x1eb0ce['exitPointerLock']&&_0x1eb0ce[_0x2d67bd(0x77d)]();else{const _0x345bb9=this['getHostWindow']();_0x345bb9[_0x2d67bd(0x36b)]&&_0x345bb9['document']['exitPointerLock']&&_0x345bb9[_0x2d67bd(0x36b)][_0x2d67bd(0x77d)]();}},(0x0,_0x2104c8['CG'])()){const _0x26bebb=this['getHostWindow']();_0x26bebb[_0x5e41f3(0xa81)](_0x5e41f3(0x8a6),this[_0x5e41f3(0x981)],!0x1),_0x26bebb['addEventListener'](_0x5e41f3(0xab7),this[_0x5e41f3(0x834)],!0x1);}},_0x5f3ab4['D']['prototype'][_0x1b7fcf(0x90e)]=function(){var _0x50edb3=_0x1b7fcf;if(this['_vrDisplay']&&this[_0x50edb3(0x940)]['isPresenting'])try{this['_vrDisplay'][_0x50edb3(0x432)]();}catch(_0x1a2d3f){_0x4c3668['w1'][_0x50edb3(0x72a)](_0x50edb3(0x6ec)+_0x1a2d3f);}},_0x5f3ab4['D'][_0x1b7fcf(0x3c6)][_0x1b7fcf(0x603)]=function(){var _0x83fd46=_0x1b7fcf;return this[_0x83fd46(0x940)]&&this['_vrDisplay'][_0x83fd46(0x9dc)];},_0x5f3ab4['D']['prototype']['_requestVRFrame']=function(){var _0x1b7d55=_0x1b7fcf;this[_0x1b7d55(0xae6)]=_0x5f3ab4['D'][_0x1b7d55(0x84e)](this[_0x1b7d55(0xc61)],this[_0x1b7d55(0x940)]);};},0x16651:(_0x193035,_0x2df509,_0x2d5800)=>{var _0x2aec69=a7_0x1ed280;_0x2d5800['d'](_0x2df509,{'E':()=>_0x30649a});class _0x30649a{constructor(_0x7bddc3,_0x3e4ef2){var _0x2052dd=a7_0x3908;this[_0x2052dd(0x3f5)]=_0x3e4ef2,this['set'](_0x7bddc3);}get['underlyingResource'](){var _0x1cd678=a7_0x3908;return this[_0x1cd678(0xa17)];}[_0x2aec69(0x8e0)](){}[_0x2aec69(0x532)](_0x9ca6b1){var _0x5bafea=_0x2aec69;this[_0x5bafea(0xa17)]=_0x9ca6b1;}['reset'](){var _0x259e6d=_0x2aec69;this[_0x259e6d(0xa17)]=null;}[_0x2aec69(0xbd8)](){var _0xcb4e0f=_0x2aec69;this['_nativeTexture']&&this[_0xcb4e0f(0x3f5)][_0xcb4e0f(0xc91)](this[_0xcb4e0f(0xa17)]),this['reset']();}}},0xa218:(_0x28ceb4,_0x1df7d5,_0x31f940)=>{var _0x115086=a7_0x1ed280;_0x31f940['d'](_0x1df7d5,{'G':()=>_0x86ce9b});class _0x86ce9b{constructor(_0x849b5e){var _0xf8b21b=a7_0x3908;this['isParallelCompiled']=!0x0,this[_0xf8b21b(0xba8)]=!0x1,this['_valueCache']={},this[_0xf8b21b(0x3f5)]=_0x849b5e;}get[_0x115086(0x439)](){var _0x54765c=_0x115086;return this[_0x54765c(0x3ed)];}get[_0x115086(0xae3)](){var _0x4ec2f7=_0x115086,_0x292493;if(this[_0x4ec2f7(0x28e)])throw _0x292493=this['compilationError']['message'],new Error('SHADER\x20ERROR'+(_0x4ec2f7(0x738)==typeof _0x292493?'\x0a'+_0x292493:''));return this[_0x4ec2f7(0xba8)];}[_0x115086(0x96a)](){return null;}['_getFragmentShaderCode'](){return null;}[_0x115086(0xc36)](_0x4711b3){var _0x3bea5b=_0x115086;throw new Error(_0x3bea5b(0xcbd));}[_0x115086(0x674)](_0x59bc2a,_0x26bc08,_0xde6457,_0x2627b7,_0x4a1e94,_0x38e458,_0x2336c3,_0x1ae783){var _0x38d4b9=_0x115086;const _0x13cdd9=this['_engine'];if(_0x13cdd9['supportsUniformBuffers']){for(const _0x366c5f in _0x26bc08)_0x59bc2a[_0x38d4b9(0x5b4)](_0x366c5f,_0x26bc08[_0x366c5f]);}const _0x38c623=this[_0x38d4b9(0x3f5)]['getUniforms'](this,_0xde6457);_0x38c623[_0x38d4b9(0x832)]((_0x4e5712,_0x53d25b)=>{_0x2627b7[_0xde6457[_0x53d25b]]=_0x4e5712;}),this[_0x38d4b9(0x9e2)]=_0x2627b7;let _0x87c04;for(_0x87c04=0x0;_0x87c04<_0x4a1e94[_0x38d4b9(0x78d)];_0x87c04++)null==_0x59bc2a[_0x38d4b9(0x3b5)](_0x4a1e94[_0x87c04])&&(_0x4a1e94[_0x38d4b9(0xb1e)](_0x87c04,0x1),_0x87c04--);_0x4a1e94[_0x38d4b9(0x832)]((_0x11b9a0,_0xb456e7)=>{_0x38e458[_0x11b9a0]=_0xb456e7;}),_0x1ae783[_0x38d4b9(0x6fe)](..._0x13cdd9['getAttributes'](this,_0x2336c3));}['dispose'](){this['_uniforms']={};}[_0x115086(0x1c6)](_0x5b07c7,_0x3b9c69){var _0x384f7d=_0x115086,_0x13ca2a=this[_0x384f7d(0xcc1)][_0x5b07c7],_0x3b9c69=_0x3b9c69['updateFlag'];return(void 0x0===_0x13ca2a||_0x13ca2a!==_0x3b9c69)&&(this[_0x384f7d(0xcc1)][_0x5b07c7]=_0x3b9c69,!0x0);}[_0x115086(0x5bd)](_0x5b5aaa,_0x3ba266,_0x474467){var _0x33cb2e=_0x115086;let _0x3070ae=this[_0x33cb2e(0xcc1)][_0x5b5aaa];if(!_0x3070ae)return _0x3070ae=[_0x3ba266,_0x474467],this[_0x33cb2e(0xcc1)][_0x5b5aaa]=_0x3070ae,!0x0;let _0x267110=!0x1;return _0x3070ae[0x0]!==_0x3ba266&&(_0x3070ae[0x0]=_0x3ba266,_0x267110=!0x0),_0x3070ae[0x1]!==_0x474467&&(_0x3070ae[0x1]=_0x474467,_0x267110=!0x0),_0x267110;}['_cacheFloat3'](_0x32e2d8,_0x36783c,_0x4e009a,_0xf4bb34){var _0x5cf940=_0x115086;let _0x379ea9=this[_0x5cf940(0xcc1)][_0x32e2d8];if(!_0x379ea9)return _0x379ea9=[_0x36783c,_0x4e009a,_0xf4bb34],this[_0x5cf940(0xcc1)][_0x32e2d8]=_0x379ea9,!0x0;let _0x596b44=!0x1;return _0x379ea9[0x0]!==_0x36783c&&(_0x379ea9[0x0]=_0x36783c,_0x596b44=!0x0),_0x379ea9[0x1]!==_0x4e009a&&(_0x379ea9[0x1]=_0x4e009a,_0x596b44=!0x0),_0x379ea9[0x2]!==_0xf4bb34&&(_0x379ea9[0x2]=_0xf4bb34,_0x596b44=!0x0),_0x596b44;}[_0x115086(0x23d)](_0x3731f7,_0x51e2db,_0x4e8d63,_0xcc0863,_0x1edbcc){var _0x3a47ea=_0x115086;let _0x54d091=this[_0x3a47ea(0xcc1)][_0x3731f7];if(!_0x54d091)return _0x54d091=[_0x51e2db,_0x4e8d63,_0xcc0863,_0x1edbcc],this['_valueCache'][_0x3731f7]=_0x54d091,!0x0;let _0x417462=!0x1;return _0x54d091[0x0]!==_0x51e2db&&(_0x54d091[0x0]=_0x51e2db,_0x417462=!0x0),_0x54d091[0x1]!==_0x4e8d63&&(_0x54d091[0x1]=_0x4e8d63,_0x417462=!0x0),_0x54d091[0x2]!==_0xcc0863&&(_0x54d091[0x2]=_0xcc0863,_0x417462=!0x0),_0x54d091[0x3]!==_0x1edbcc&&(_0x54d091[0x3]=_0x1edbcc,_0x417462=!0x0),_0x417462;}[_0x115086(0x455)](_0x342a2f,_0x3185bd){var _0x1b7e97=_0x115086,_0xd860a3=this[_0x1b7e97(0xcc1)][_0x342a2f];void 0x0!==_0xd860a3&&_0xd860a3===_0x3185bd||this[_0x1b7e97(0x3f5)][_0x1b7e97(0x455)](this[_0x1b7e97(0x9e2)][_0x342a2f],_0x3185bd)&&(this[_0x1b7e97(0xcc1)][_0x342a2f]=_0x3185bd);}[_0x115086(0x3d6)](_0x49b949,_0x560205,_0x7c3195){var _0x1068eb=_0x115086;this[_0x1068eb(0x5bd)](_0x49b949,_0x560205,_0x7c3195)&&!this[_0x1068eb(0x3f5)]['setInt2'](this[_0x1068eb(0x9e2)][_0x49b949],_0x560205,_0x7c3195)&&(this['_valueCache'][_0x49b949]=null);}[_0x115086(0x51e)](_0x5c2105,_0x574c52,_0xfe42af,_0x2ed0e2){var _0x1d1064=_0x115086;this[_0x1d1064(0x732)](_0x5c2105,_0x574c52,_0xfe42af,_0x2ed0e2)&&!this[_0x1d1064(0x3f5)]['setInt3'](this[_0x1d1064(0x9e2)][_0x5c2105],_0x574c52,_0xfe42af,_0x2ed0e2)&&(this[_0x1d1064(0xcc1)][_0x5c2105]=null);}['setInt4'](_0x1c0c1c,_0xb36b37,_0x5673c0,_0x21a58f,_0x52a47c){var _0x284e56=_0x115086;this[_0x284e56(0x23d)](_0x1c0c1c,_0xb36b37,_0x5673c0,_0x21a58f,_0x52a47c)&&!this[_0x284e56(0x3f5)][_0x284e56(0x5ab)](this[_0x284e56(0x9e2)][_0x1c0c1c],_0xb36b37,_0x5673c0,_0x21a58f,_0x52a47c)&&(this['_valueCache'][_0x1c0c1c]=null);}[_0x115086(0x3ad)](_0x31804b,_0x4d4b5b){var _0x5bb637=_0x115086;this['_valueCache'][_0x31804b]=null,this[_0x5bb637(0x3f5)]['setIntArray'](this['_uniforms'][_0x31804b],_0x4d4b5b);}[_0x115086(0xa5a)](_0x28e526,_0x50dab1){var _0x24ea6c=_0x115086;this[_0x24ea6c(0xcc1)][_0x28e526]=null,this[_0x24ea6c(0x3f5)][_0x24ea6c(0xa5a)](this[_0x24ea6c(0x9e2)][_0x28e526],_0x50dab1);}[_0x115086(0x38c)](_0x3eea16,_0x2d3c8f){var _0x10b16f=_0x115086;this['_valueCache'][_0x3eea16]=null,this['_engine'][_0x10b16f(0x38c)](this[_0x10b16f(0x9e2)][_0x3eea16],_0x2d3c8f);}['setIntArray4'](_0x2726c8,_0x386c82){var _0x3d757d=_0x115086;this[_0x3d757d(0xcc1)][_0x2726c8]=null,this[_0x3d757d(0x3f5)]['setIntArray4'](this[_0x3d757d(0x9e2)][_0x2726c8],_0x386c82);}[_0x115086(0x2b1)](_0x573d8e,_0x35d008){var _0x12bbcf=_0x115086,_0xca2e6a=this[_0x12bbcf(0xcc1)][_0x573d8e];void 0x0!==_0xca2e6a&&_0xca2e6a===_0x35d008||this[_0x12bbcf(0x3f5)][_0x12bbcf(0x2b1)](this[_0x12bbcf(0x9e2)][_0x573d8e],_0x35d008)&&(this['_valueCache'][_0x573d8e]=_0x35d008);}[_0x115086(0x70c)](_0x108bcd,_0x39f6bf,_0xbff8cd){var _0x289090=_0x115086;this[_0x289090(0x5bd)](_0x108bcd,_0x39f6bf,_0xbff8cd)&&!this['_engine'][_0x289090(0x70c)](this[_0x289090(0x9e2)][_0x108bcd],_0x39f6bf,_0xbff8cd)&&(this[_0x289090(0xcc1)][_0x108bcd]=null);}[_0x115086(0x988)](_0xb960e4,_0x2f30e8,_0x1a4a5a,_0x5834a9){var _0x33610f=_0x115086;this[_0x33610f(0x732)](_0xb960e4,_0x2f30e8,_0x1a4a5a,_0x5834a9)&&!this[_0x33610f(0x3f5)][_0x33610f(0x988)](this['_uniforms'][_0xb960e4],_0x2f30e8,_0x1a4a5a,_0x5834a9)&&(this['_valueCache'][_0xb960e4]=null);}[_0x115086(0x9a9)](_0xc226eb,_0x499847,_0x388c1b,_0x534dd6,_0x1e4647){var _0x1e1acc=_0x115086;this[_0x1e1acc(0x23d)](_0xc226eb,_0x499847,_0x388c1b,_0x534dd6,_0x1e4647)&&!this[_0x1e1acc(0x3f5)][_0x1e1acc(0x9a9)](this[_0x1e1acc(0x9e2)][_0xc226eb],_0x499847,_0x388c1b,_0x534dd6,_0x1e4647)&&(this['_valueCache'][_0xc226eb]=null);}[_0x115086(0x707)](_0x49de40,_0x168193){var _0x19aceb=_0x115086;this['_valueCache'][_0x49de40]=null,this[_0x19aceb(0x3f5)]['setUIntArray'](this['_uniforms'][_0x49de40],_0x168193);}[_0x115086(0x471)](_0x70ef47,_0xa4f52){var _0x4f962e=_0x115086;this[_0x4f962e(0xcc1)][_0x70ef47]=null,this['_engine']['setUIntArray2'](this[_0x4f962e(0x9e2)][_0x70ef47],_0xa4f52);}[_0x115086(0x8da)](_0x14bb16,_0x19ff65){var _0x1e7d7c=_0x115086;this[_0x1e7d7c(0xcc1)][_0x14bb16]=null,this[_0x1e7d7c(0x3f5)][_0x1e7d7c(0x8da)](this[_0x1e7d7c(0x9e2)][_0x14bb16],_0x19ff65);}[_0x115086(0x847)](_0x4e9b93,_0x4347cc){var _0x176b49=_0x115086;this['_valueCache'][_0x4e9b93]=null,this['_engine'][_0x176b49(0x847)](this[_0x176b49(0x9e2)][_0x4e9b93],_0x4347cc);}[_0x115086(0x328)](_0x4134dc,_0x2e3277){var _0x11dbc5=_0x115086;this[_0x11dbc5(0xcc1)][_0x4134dc]=null,this[_0x11dbc5(0x3f5)][_0x11dbc5(0x328)](this[_0x11dbc5(0x9e2)][_0x4134dc],_0x2e3277);}[_0x115086(0xbb3)](_0x540ebb,_0x5a030c){var _0x1f1516=_0x115086;this[_0x1f1516(0xcc1)][_0x540ebb]=null,this['_engine']['setFloatArray2'](this[_0x1f1516(0x9e2)][_0x540ebb],_0x5a030c);}[_0x115086(0x79f)](_0x3223cd,_0x409c38){var _0xc24fa3=_0x115086;this[_0xc24fa3(0xcc1)][_0x3223cd]=null,this[_0xc24fa3(0x3f5)][_0xc24fa3(0x79f)](this[_0xc24fa3(0x9e2)][_0x3223cd],_0x409c38);}[_0x115086(0x1ea)](_0x4c0af3,_0x1e12d5){var _0x3f3378=_0x115086;this[_0x3f3378(0xcc1)][_0x4c0af3]=null,this[_0x3f3378(0x3f5)][_0x3f3378(0x1ea)](this[_0x3f3378(0x9e2)][_0x4c0af3],_0x1e12d5);}['setArray'](_0x18e781,_0x3d5d82){var _0x2adffb=_0x115086;this[_0x2adffb(0xcc1)][_0x18e781]=null,this['_engine'][_0x2adffb(0xaa5)](this['_uniforms'][_0x18e781],_0x3d5d82);}[_0x115086(0xb8d)](_0x5db206,_0x58ea1f){var _0x512d78=_0x115086;this[_0x512d78(0xcc1)][_0x5db206]=null,this[_0x512d78(0x3f5)][_0x512d78(0xb8d)](this[_0x512d78(0x9e2)][_0x5db206],_0x58ea1f);}[_0x115086(0xbe8)](_0x51b843,_0x308060){var _0xca8554=_0x115086;this['_valueCache'][_0x51b843]=null,this['_engine'][_0xca8554(0xbe8)](this['_uniforms'][_0x51b843],_0x308060);}[_0x115086(0x6c3)](_0x33953a,_0x3559c2){var _0x29db4c=_0x115086;this['_valueCache'][_0x33953a]=null,this['_engine'][_0x29db4c(0x6c3)](this[_0x29db4c(0x9e2)][_0x33953a],_0x3559c2);}[_0x115086(0x885)](_0x544388,_0x76c351){var _0x23b759=_0x115086;_0x76c351&&(this[_0x23b759(0xcc1)][_0x544388]=null,this[_0x23b759(0x3f5)][_0x23b759(0x885)](this[_0x23b759(0x9e2)][_0x544388],_0x76c351));}[_0x115086(0x96d)](_0x150d5b,_0x57ee8d){var _0x17aa0c=_0x115086;this[_0x17aa0c(0x1c6)](_0x150d5b,_0x57ee8d)&&!this['_engine'][_0x17aa0c(0x885)](this[_0x17aa0c(0x9e2)][_0x150d5b],_0x57ee8d[_0x17aa0c(0x197)]())&&(this[_0x17aa0c(0xcc1)][_0x150d5b]=null);}['setMatrix3x3'](_0x50c608,_0x4a4c67){var _0x5d9d5d=_0x115086;this['_valueCache'][_0x50c608]=null,this[_0x5d9d5d(0x3f5)][_0x5d9d5d(0x827)](this[_0x5d9d5d(0x9e2)][_0x50c608],_0x4a4c67);}[_0x115086(0x314)](_0x397252,_0x2554e9){var _0x3bacab=_0x115086;this[_0x3bacab(0xcc1)][_0x397252]=null,this['_engine'][_0x3bacab(0x314)](this[_0x3bacab(0x9e2)][_0x397252],_0x2554e9);}[_0x115086(0x3d1)](_0x5998fb,_0x4ffac4){var _0x2a4231=_0x115086,_0x5ed20a=this['_valueCache'][_0x5998fb];void 0x0!==_0x5ed20a&&_0x5ed20a===_0x4ffac4||this[_0x2a4231(0x3f5)]['setFloat'](this[_0x2a4231(0x9e2)][_0x5998fb],_0x4ffac4)&&(this['_valueCache'][_0x5998fb]=_0x4ffac4);}[_0x115086(0x229)](_0x5cc135,_0x22c8d0){var _0x5d8ef5=_0x115086,_0x4cfb43=this['_valueCache'][_0x5cc135];void 0x0!==_0x4cfb43&&_0x4cfb43===_0x22c8d0||this['_engine'][_0x5d8ef5(0x455)](this[_0x5d8ef5(0x9e2)][_0x5cc135],_0x22c8d0?0x1:0x0)&&(this[_0x5d8ef5(0xcc1)][_0x5cc135]=_0x22c8d0?0x1:0x0);}[_0x115086(0x934)](_0x33b71d,_0x3a12fb){var _0x4a1d8a=_0x115086;this['_cacheFloat2'](_0x33b71d,_0x3a12fb['x'],_0x3a12fb['y'])&&!this[_0x4a1d8a(0x3f5)]['setFloat2'](this[_0x4a1d8a(0x9e2)][_0x33b71d],_0x3a12fb['x'],_0x3a12fb['y'])&&(this[_0x4a1d8a(0xcc1)][_0x33b71d]=null);}['setFloat2'](_0x51bb7e,_0x1513e2,_0x559550){var _0xa917d1=_0x115086;this[_0xa917d1(0x5bd)](_0x51bb7e,_0x1513e2,_0x559550)&&!this[_0xa917d1(0x3f5)][_0xa917d1(0x1a4)](this['_uniforms'][_0x51bb7e],_0x1513e2,_0x559550)&&(this[_0xa917d1(0xcc1)][_0x51bb7e]=null);}[_0x115086(0x500)](_0x3d7e60,_0x38e488){var _0x45cc5b=_0x115086;this[_0x45cc5b(0x732)](_0x3d7e60,_0x38e488['x'],_0x38e488['y'],_0x38e488['z'])&&!this[_0x45cc5b(0x3f5)]['setFloat3'](this[_0x45cc5b(0x9e2)][_0x3d7e60],_0x38e488['x'],_0x38e488['y'],_0x38e488['z'])&&(this[_0x45cc5b(0xcc1)][_0x3d7e60]=null);}[_0x115086(0x670)](_0x5a977d,_0x2075b4,_0xee2403,_0x4340a4){var _0x1ddb17=_0x115086;this['_cacheFloat3'](_0x5a977d,_0x2075b4,_0xee2403,_0x4340a4)&&!this[_0x1ddb17(0x3f5)][_0x1ddb17(0x670)](this['_uniforms'][_0x5a977d],_0x2075b4,_0xee2403,_0x4340a4)&&(this[_0x1ddb17(0xcc1)][_0x5a977d]=null);}['setVector4'](_0x3a98e9,_0x405469){var _0x5323af=_0x115086;this['_cacheFloat4'](_0x3a98e9,_0x405469['x'],_0x405469['y'],_0x405469['z'],_0x405469['w'])&&!this[_0x5323af(0x3f5)][_0x5323af(0x20e)](this[_0x5323af(0x9e2)][_0x3a98e9],_0x405469['x'],_0x405469['y'],_0x405469['z'],_0x405469['w'])&&(this[_0x5323af(0xcc1)][_0x3a98e9]=null);}[_0x115086(0x78f)](_0x5dfbcc,_0x555296){var _0x31c385=_0x115086;this[_0x31c385(0x23d)](_0x5dfbcc,_0x555296['x'],_0x555296['y'],_0x555296['z'],_0x555296['w'])&&!this['_engine'][_0x31c385(0x20e)](this[_0x31c385(0x9e2)][_0x5dfbcc],_0x555296['x'],_0x555296['y'],_0x555296['z'],_0x555296['w'])&&(this['_valueCache'][_0x5dfbcc]=null);}[_0x115086(0x20e)](_0x58a43f,_0x574db6,_0x45c1d2,_0x3454b9,_0x407443){var _0x51eaa8=_0x115086;this[_0x51eaa8(0x23d)](_0x58a43f,_0x574db6,_0x45c1d2,_0x3454b9,_0x407443)&&!this[_0x51eaa8(0x3f5)][_0x51eaa8(0x20e)](this[_0x51eaa8(0x9e2)][_0x58a43f],_0x574db6,_0x45c1d2,_0x3454b9,_0x407443)&&(this[_0x51eaa8(0xcc1)][_0x58a43f]=null);}[_0x115086(0xaeb)](_0x54e042,_0x2aa59c){var _0x1c23f6=_0x115086;this[_0x1c23f6(0x732)](_0x54e042,_0x2aa59c['r'],_0x2aa59c['g'],_0x2aa59c['b'])&&!this[_0x1c23f6(0x3f5)][_0x1c23f6(0x670)](this[_0x1c23f6(0x9e2)][_0x54e042],_0x2aa59c['r'],_0x2aa59c['g'],_0x2aa59c['b'])&&(this[_0x1c23f6(0xcc1)][_0x54e042]=null);}[_0x115086(0xadf)](_0x5beeed,_0x1713bd,_0x301001){var _0x15a075=_0x115086;this[_0x15a075(0x23d)](_0x5beeed,_0x1713bd['r'],_0x1713bd['g'],_0x1713bd['b'],_0x301001)&&!this[_0x15a075(0x3f5)][_0x15a075(0x20e)](this[_0x15a075(0x9e2)][_0x5beeed],_0x1713bd['r'],_0x1713bd['g'],_0x1713bd['b'],_0x301001)&&(this[_0x15a075(0xcc1)][_0x5beeed]=null);}[_0x115086(0x40c)](_0x368bbe,_0x2cf599){var _0x2cce04=_0x115086;this['_cacheFloat4'](_0x368bbe,_0x2cf599['r'],_0x2cf599['g'],_0x2cf599['b'],_0x2cf599['a'])&&!this[_0x2cce04(0x3f5)][_0x2cce04(0x20e)](this[_0x2cce04(0x9e2)][_0x368bbe],_0x2cf599['r'],_0x2cf599['g'],_0x2cf599['b'],_0x2cf599['a'])&&(this[_0x2cce04(0xcc1)][_0x368bbe]=null);}}},0x1581f:(_0x893d3b,_0x333b3d,_0x119bb5)=>{var _0x54d571=a7_0x1ed280;_0x119bb5['d'](_0x333b3d,{'o':()=>_0x413abd});class _0x413abd extends _0x119bb5(0x758)['r']{constructor(_0x4a9d49,_0x4ae779,_0x347267,_0x34faf2){var _0x373ff6=a7_0x3908;super(_0x4a9d49,_0x4ae779,_0x347267,_0x34faf2),this[_0x373ff6(0xad2)]=null,this[_0x373ff6(0x5b7)]=null,this['_engine']=_0x34faf2;}get[_0x54d571(0x459)](){var _0x382bde=_0x54d571;return this[_0x382bde(0xad2)];}set[_0x54d571(0x459)](_0x428985){var _0x422c3d=_0x54d571;this[_0x422c3d(0xad2)]&&this['_engine'][_0x422c3d(0x2cf)](this[_0x422c3d(0xad2)]),this[_0x422c3d(0xad2)]=_0x428985;}get[_0x54d571(0x41b)](){var _0x21b72f=_0x54d571;return this[_0x21b72f(0x5b7)];}set['_framebufferDepthStencil'](_0x3218f3){var _0x4cec9c=_0x54d571;this[_0x4cec9c(0x5b7)]&&this[_0x4cec9c(0x3f5)][_0x4cec9c(0x2cf)](this[_0x4cec9c(0x5b7)]),this['__framebufferDepthStencil']=_0x3218f3;}['dispose'](_0xf7b5c4=!0x1){var _0xff6fe5=_0x54d571;this[_0xff6fe5(0x459)]=null,this[_0xff6fe5(0x41b)]=null,super[_0xff6fe5(0x27f)](_0xf7b5c4);}}},0x5c6e:(_0x495320,_0x5c3c0a,_0x804145)=>{var _0x20dc71=a7_0x1ed280;_0x804145['d'](_0x5c3c0a,{'L':()=>_0x5beaca});class _0x16ccb2{constructor(){var _0x4e7fe5=a7_0x3908;this[_0x4e7fe5(0xbd4)]=[];}['isValid'](_0x3487e1){return!0x0;}[_0x20dc71(0x708)](_0x436c55,_0x2054b0){var _0x3d4c57=_0x20dc71;let _0x21e94a='';if(this[_0x3d4c57(0xc31)]){let _0x4911cc=this[_0x3d4c57(0xc31)];const _0x14ead0=_0x2054b0[_0x3d4c57(0x293)];if(_0x14ead0){_0x14ead0[_0x3d4c57(0x899)]&&(_0x4911cc=_0x14ead0[_0x3d4c57(0x899)](_0x4911cc,_0x2054b0[_0x3d4c57(0x902)],_0x2054b0['processingContext']));var _0x5b8205=null!=(_0x5b8205=null==(_0x5b8205=_0x2054b0[_0x3d4c57(0x293)])?void 0x0:_0x5b8205['attributeKeywordName'])?_0x5b8205:_0x3d4c57(0xb00),_0x43971b=_0x2054b0[_0x3d4c57(0x902)]&&null!=(_0x43971b=_0x2054b0[_0x3d4c57(0x293)])&&_0x43971b[_0x3d4c57(0x8a9)]?null==(_0x43971b=_0x2054b0[_0x3d4c57(0x293)])?void 0x0:_0x43971b['varyingFragmentKeywordName']:!_0x2054b0[_0x3d4c57(0x902)]&&null!=(_0x43971b=_0x2054b0['processor'])&&_0x43971b['varyingVertexKeywordName']?null==(_0x43971b=_0x2054b0[_0x3d4c57(0x293)])?void 0x0:_0x43971b[_0x3d4c57(0x297)]:_0x3d4c57(0x1a1);if(!_0x2054b0['isFragment']&&_0x14ead0[_0x3d4c57(0xbef)]&&this[_0x3d4c57(0xc31)][_0x3d4c57(0x721)](_0x5b8205))_0x4911cc=_0x14ead0['attributeProcessor'](this['line'],_0x436c55,_0x2054b0[_0x3d4c57(0x7e3)]);else{if(_0x14ead0[_0x3d4c57(0x140)]&&this[_0x3d4c57(0xc31)][_0x3d4c57(0x721)](_0x43971b))_0x4911cc=_0x14ead0['varyingProcessor'](this[_0x3d4c57(0xc31)],_0x2054b0[_0x3d4c57(0x902)],_0x436c55,_0x2054b0[_0x3d4c57(0x7e3)]);else{if(_0x14ead0[_0x3d4c57(0x262)]&&_0x14ead0[_0x3d4c57(0xd1b)]&&_0x14ead0[_0x3d4c57(0xd1b)]['test'](this['line']))_0x2054b0[_0x3d4c57(0x90f)]||(_0x4911cc=_0x14ead0[_0x3d4c57(0x262)](this['line'],_0x2054b0[_0x3d4c57(0x902)],_0x436c55,_0x2054b0[_0x3d4c57(0x7e3)]));else{if(_0x14ead0[_0x3d4c57(0x42f)]&&_0x14ead0['uniformBufferRegexp']&&_0x14ead0['uniformBufferRegexp']['test'](this[_0x3d4c57(0xc31)]))_0x2054b0[_0x3d4c57(0x90f)]||(_0x4911cc=_0x14ead0['uniformBufferProcessor'](this['line'],_0x2054b0[_0x3d4c57(0x902)],_0x2054b0['processingContext']),_0x2054b0['lookForClosingBracketForUniformBuffer']=!0x0);else{if(_0x14ead0['textureProcessor']&&_0x14ead0['textureRegexp']&&_0x14ead0[_0x3d4c57(0xc33)][_0x3d4c57(0x90d)](this[_0x3d4c57(0xc31)]))_0x4911cc=_0x14ead0[_0x3d4c57(0x14a)](this[_0x3d4c57(0xc31)],_0x2054b0[_0x3d4c57(0x902)],_0x436c55,_0x2054b0[_0x3d4c57(0x7e3)]);else{if((_0x14ead0[_0x3d4c57(0x262)]||_0x14ead0['uniformBufferProcessor'])&&this[_0x3d4c57(0xc31)]['startsWith'](_0x3d4c57(0x21c))&&!_0x2054b0['lookForClosingBracketForUniformBuffer']){const _0x17f9ae=/uniform\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s+(\S+)\s*;/;_0x17f9ae[_0x3d4c57(0x90d)](this[_0x3d4c57(0xc31)])?_0x14ead0[_0x3d4c57(0x262)]&&(_0x4911cc=_0x14ead0['uniformProcessor'](this[_0x3d4c57(0xc31)],_0x2054b0[_0x3d4c57(0x902)],_0x436c55,_0x2054b0[_0x3d4c57(0x7e3)])):_0x14ead0[_0x3d4c57(0x42f)]&&(_0x4911cc=_0x14ead0[_0x3d4c57(0x42f)](this[_0x3d4c57(0xc31)],_0x2054b0[_0x3d4c57(0x902)],_0x2054b0[_0x3d4c57(0x7e3)]),_0x2054b0[_0x3d4c57(0x90f)]=!0x0);}}}}}}_0x2054b0['lookForClosingBracketForUniformBuffer']&&-0x1!==this[_0x3d4c57(0xc31)][_0x3d4c57(0x444)]('}')&&(_0x2054b0['lookForClosingBracketForUniformBuffer']=!0x1,_0x14ead0[_0x3d4c57(0x3ab)]&&(_0x4911cc=_0x14ead0[_0x3d4c57(0x3ab)](this[_0x3d4c57(0xc31)],_0x2054b0[_0x3d4c57(0x902)],_0x2054b0[_0x3d4c57(0x7e3)])));}_0x21e94a+=_0x4911cc+'\x0d\x0a';}return this[_0x3d4c57(0xbd4)][_0x3d4c57(0x832)](_0x19cadd=>{var _0x474c60=_0x3d4c57;_0x21e94a+=_0x19cadd[_0x474c60(0x708)](_0x436c55,_0x2054b0);}),this['additionalDefineKey']&&(_0x436c55[this[_0x3d4c57(0xa48)]]=this[_0x3d4c57(0xc29)]||_0x3d4c57(0x7a8)),_0x21e94a;}}class _0x2382da{constructor(){var _0x274443=_0x20dc71;this[_0x274443(0x5ef)]=[];}get[_0x20dc71(0x6ea)](){var _0x215eb8=_0x20dc71;return this[_0x215eb8(0x5ef)][this[_0x215eb8(0x1bb)]];}get[_0x20dc71(0x7b1)](){var _0x51dc36=_0x20dc71;return this[_0x51dc36(0x1bb)]{var _0x23277f=a7_0x3908;''!==(_0x32ec60=_0x32ec60[_0x23277f(0xb96)]())&&(_0x406147['push'](_0x32ec60),_0x32ec60='');},_0x5ef372=_0x5e0c91=>{var _0x12b6c9=a7_0x3908;_0x25388d<_0x4ce94a[_0x12b6c9(0x7ce)]['length']-0x1&&(_0x4ce94a['_Stack'][++_0x25388d]=_0x5e0c91);},_0x3112ca=()=>_0x4ce94a[_0x26139e(0x7ce)][_0x25388d],_0x44daae=()=>-0x1===_0x25388d?'!!INVALID\x20EXPRESSION!!':_0x4ce94a[_0x26139e(0x7ce)][_0x25388d--];let _0x359c13=0x0,_0x32ec60='';for(;_0x359c13<_0x560a92[_0x26139e(0x78d)];){var _0x473623=_0x560a92[_0x26139e(0x2c3)](_0x359c13),_0x1b2f37=_0x359c13<_0x560a92[_0x26139e(0x78d)]-0x1?_0x560a92[_0x26139e(0x830)](_0x359c13,0x2):'';if('('===_0x473623)_0x32ec60='',_0x5ef372(_0x473623);else{if(')'===_0x473623){for(_0x330ff5();-0x1!==_0x25388d&&'('!==_0x3112ca();)_0x406147[_0x26139e(0x6fe)](_0x44daae());_0x44daae();}else{if(0x1<_0x4ce94a['_OperatorPriority'][_0x1b2f37]){for(_0x330ff5();-0x1!==_0x25388d&&_0x4ce94a[_0x26139e(0x3ce)][_0x3112ca()]>=_0x4ce94a[_0x26139e(0x3ce)][_0x1b2f37];)_0x406147[_0x26139e(0x6fe)](_0x44daae());_0x5ef372(_0x1b2f37),_0x359c13++;}else _0x32ec60+=_0x473623;}}_0x359c13++;}for(_0x330ff5();-0x1!==_0x25388d;)'('===_0x3112ca()?_0x44daae():_0x406147[_0x26139e(0x6fe)](_0x44daae());return _0x406147;}}_0x4ce94a[_0x20dc71(0x3ce)]={')':0x0,'(':0x1,'||':0x2,'&&':0x3},_0x4ce94a['_Stack']=['','','','','','','','','','','','','','','','','','','',''];class _0x44b6ee extends _0x4ce94a{constructor(_0x367ec0,_0xdda257=!0x1){var _0xc9fe4c=_0x20dc71;super(),this[_0xc9fe4c(0x9be)]=_0x367ec0,this['not']=_0xdda257;}[_0x20dc71(0xb2e)](_0x417f94){var _0x4f7f85=_0x20dc71;let _0x551c49=void 0x0!==_0x417f94[this[_0x4f7f85(0x9be)]];return _0x551c49=this[_0x4f7f85(0xae5)]?!_0x551c49:_0x551c49;}}class _0x5137ab extends _0x4ce94a{[_0x20dc71(0xb2e)](_0x140c5d){var _0x4c0a3e=_0x20dc71;return this[_0x4c0a3e(0x24f)][_0x4c0a3e(0xb2e)](_0x140c5d)||this[_0x4c0a3e(0xc25)][_0x4c0a3e(0xb2e)](_0x140c5d);}}class _0xefa097 extends _0x4ce94a{[_0x20dc71(0xb2e)](_0x1d9c87){var _0x160bf0=_0x20dc71;return this[_0x160bf0(0x24f)][_0x160bf0(0xb2e)](_0x1d9c87)&&this['rightOperand']['isTrue'](_0x1d9c87);}}class _0x3f4eaa extends _0x4ce94a{constructor(_0x2a087a,_0xe3c7af,_0x53319b){var _0x386765=_0x20dc71;super(),this[_0x386765(0x9be)]=_0x2a087a,this[_0x386765(0x7a9)]=_0xe3c7af,this['testValue']=_0x53319b;}['isTrue'](_0x50d724){var _0x1c4e3e=_0x20dc71;let _0x2b9631=_0x50d724[this['define']],_0x367560=(void 0x0===_0x2b9631&&(_0x2b9631=this[_0x1c4e3e(0x9be)]),!0x1);var _0x173bb2=parseInt(_0x2b9631),_0x33d098=parseInt(this[_0x1c4e3e(0x8fc)]);switch(this[_0x1c4e3e(0x7a9)]){case'>':_0x367560=_0x33d098<_0x173bb2;break;case'<':_0x367560=_0x173bb2<_0x33d098;break;case'<=':_0x367560=_0x173bb2<=_0x33d098;break;case'>=':_0x367560=_0x33d098<=_0x173bb2;break;case'==':_0x367560=_0x173bb2===_0x33d098;}return _0x367560;}}var _0x3ee2c5=_0x804145(0x15cb9),_0x596f90=_0x804145(0x11722);const _0xb72087=/defined\s*?\((.+?)\)/g,_0x1ef402=/defined\s*?\[(.+?)\]/g,_0x146f3e=/#include\s?<(.+)>(\((.*)\))*(\[(.*)\])*/g;class _0x5beaca{static['Initialize'](_0x23a150){var _0x54daae=_0x20dc71;_0x23a150[_0x54daae(0x293)]&&_0x23a150[_0x54daae(0x293)]['initializeShaders']&&_0x23a150[_0x54daae(0x293)][_0x54daae(0x6c2)](_0x23a150['processingContext']);}static[_0x20dc71(0x275)](_0x512d2d,_0x3febda,_0x1bb222,_0x5966eb){var _0x5b77aa=_0x20dc71,_0x2d18fe;null!=(_0x2d18fe=_0x3febda['processor'])&&_0x2d18fe['preProcessShaderCode']&&(_0x512d2d=_0x3febda[_0x5b77aa(0x293)][_0x5b77aa(0x440)](_0x512d2d,_0x3febda['isFragment'])),this[_0x5b77aa(0x578)](_0x512d2d,_0x3febda,_0x2b89a1=>{var _0x2727e7=_0x5b77aa;_0x3febda[_0x2727e7(0xb4d)]&&(_0x2b89a1=_0x3febda[_0x2727e7(0xb4d)](_0x3febda[_0x2727e7(0x902)]?'fragment':_0x2727e7(0x3c1),_0x2b89a1));var _0x584ede=this[_0x2727e7(0x7e4)](_0x2b89a1,_0x3febda,_0x5966eb);_0x1bb222(_0x584ede,_0x2b89a1);});}static[_0x20dc71(0x9bc)](_0x104c88,_0x3bdfb9,_0x47f37b,_0x5ed853){var _0x7fb0ea=_0x20dc71,_0x45fc4e;null!=(_0x45fc4e=_0x3bdfb9['processor'])&&_0x45fc4e[_0x7fb0ea(0x440)]&&(_0x104c88=_0x3bdfb9[_0x7fb0ea(0x293)][_0x7fb0ea(0x440)](_0x104c88,_0x3bdfb9[_0x7fb0ea(0x902)])),this['_ProcessIncludes'](_0x104c88,_0x3bdfb9,_0x238ef8=>{var _0x414246=_0x7fb0ea;_0x3bdfb9['processCodeAfterIncludes']&&(_0x238ef8=_0x3bdfb9[_0x414246(0xb4d)](_0x3bdfb9['isFragment']?_0x414246(0x3e7):_0x414246(0x3c1),_0x238ef8));var _0x522cf1=this['_ApplyPreProcessing'](_0x238ef8,_0x3bdfb9,_0x5ed853);_0x47f37b(_0x522cf1,_0x238ef8);});}static['Finalize'](_0x181b44,_0x153058,_0x3a3542){var _0x5cf7cf=_0x20dc71;return _0x3a3542[_0x5cf7cf(0x293)]&&_0x3a3542[_0x5cf7cf(0x293)]['finalizeShaders']?_0x3a3542[_0x5cf7cf(0x293)][_0x5cf7cf(0xa07)](_0x181b44,_0x153058,_0x3a3542[_0x5cf7cf(0x7e3)]):{'vertexCode':_0x181b44,'fragmentCode':_0x153058};}static[_0x20dc71(0x7d5)](_0x41d58c,_0x32981b){var _0x10ffd1=_0x20dc71;if(null!=(_0x22d561=_0x32981b['processor'])&&_0x22d561[_0x10ffd1(0x758)])return _0x41d58c;var _0x22d561=_0x32981b['shouldUseHighPrecisionShader'];return-0x1===_0x41d58c[_0x10ffd1(0x444)](_0x10ffd1(0xbdd))?_0x41d58c=_0x22d561?_0x10ffd1(0x1a0)+_0x41d58c:_0x10ffd1(0x414)+_0x41d58c:_0x22d561||(_0x41d58c=_0x41d58c[_0x10ffd1(0xa09)](_0x10ffd1(0xbdd),_0x10ffd1(0x5e5))),_0x41d58c;}static[_0x20dc71(0x3a3)](_0x17219f){var _0x8eee23=_0x20dc71;const _0x23d5e9=/defined\((.+)\)/[_0x8eee23(0x889)](_0x17219f);if(_0x23d5e9&&_0x23d5e9[_0x8eee23(0x78d)])return new _0x44b6ee(_0x23d5e9[0x1][_0x8eee23(0xb96)](),'!'===_0x17219f[0x0]);let _0x19e98e='',_0x50cfd7=0x0;for(_0x19e98e of['==','>=','<=','<','>'])if(-0x1<(_0x50cfd7=_0x17219f[_0x8eee23(0x444)](_0x19e98e)))break;if(-0x1===_0x50cfd7)return new _0x44b6ee(_0x17219f);var _0x5113e6=_0x17219f[_0x8eee23(0xcce)](0x0,_0x50cfd7)[_0x8eee23(0xb96)](),_0x59ae43=_0x17219f[_0x8eee23(0xcce)](_0x50cfd7+_0x19e98e[_0x8eee23(0x78d)])[_0x8eee23(0xb96)]();return new _0x3f4eaa(_0x5113e6,_0x19e98e,_0x59ae43);}static['_BuildSubExpression'](_0xfeeda1){var _0x4d0155=_0x20dc71;_0xfeeda1=_0xfeeda1['replace'](_0xb72087,'defined[$1]');const _0x16c157=[];for(const _0x26b6f7 of _0x4ce94a[_0x4d0155(0x72f)](_0xfeeda1))if('||'!==_0x26b6f7&&'&&'!==_0x26b6f7)_0x16c157['push'](_0x26b6f7);else{if(0x2<=_0x16c157[_0x4d0155(0x78d)]){let _0x26ba17=_0x16c157[_0x16c157['length']-0x1],_0x3d4e2d=_0x16c157[_0x16c157[_0x4d0155(0x78d)]-0x2];_0x16c157[_0x4d0155(0x78d)]-=0x2;const _0x3c7a09=new('&&'==_0x26b6f7?_0xefa097:_0x5137ab)();_0x4d0155(0x738)==typeof _0x26ba17&&(_0x26ba17=_0x26ba17[_0x4d0155(0xa09)](_0x1ef402,_0x4d0155(0x909))),'string'==typeof _0x3d4e2d&&(_0x3d4e2d=_0x3d4e2d[_0x4d0155(0xa09)](_0x1ef402,_0x4d0155(0x909))),_0x3c7a09[_0x4d0155(0x24f)]=_0x4d0155(0x738)==typeof _0x3d4e2d?this[_0x4d0155(0x3a3)](_0x3d4e2d):_0x3d4e2d,_0x3c7a09[_0x4d0155(0xc25)]=_0x4d0155(0x738)==typeof _0x26ba17?this['_ExtractOperation'](_0x26ba17):_0x26ba17,_0x16c157['push'](_0x3c7a09);}}let _0x3ddbd4=_0x16c157[_0x16c157[_0x4d0155(0x78d)]-0x1];return'string'==typeof(_0x3ddbd4='string'==typeof _0x3ddbd4?_0x3ddbd4[_0x4d0155(0xa09)](_0x1ef402,_0x4d0155(0x909)):_0x3ddbd4)?this['_ExtractOperation'](_0x3ddbd4):_0x3ddbd4;}static[_0x20dc71(0x92f)](_0x3f060f,_0x449b99){var _0x5ba797=_0x20dc71;const _0x4b0723=new _0x46170d();var _0x4d98ac=_0x3f060f[_0x5ba797(0xcce)](0x0,_0x449b99);let _0x31e557=_0x3f060f[_0x5ba797(0xcce)](_0x449b99);return _0x31e557=_0x31e557['substring'](0x0,(_0x31e557[_0x5ba797(0x444)]('//')+0x1||_0x31e557[_0x5ba797(0x78d)]+0x1)-0x1)['trim'](),_0x4b0723[_0x5ba797(0x767)]=_0x5ba797(0x4f8)===_0x4d98ac?new _0x44b6ee(_0x31e557):_0x5ba797(0xb65)===_0x4d98ac?new _0x44b6ee(_0x31e557,!0x0):this['_BuildSubExpression'](_0x31e557),_0x4b0723;}static[_0x20dc71(0x9ff)](_0x5e8b92,_0x1de15d,_0x2be189){var _0x412df7=_0x20dc71;let _0x53ccdf=_0x5e8b92[_0x412df7(0x6ea)];for(;this[_0x412df7(0x888)](_0x5e8b92,_0x2be189);){var _0x3aaad,_0x4136d5=(_0x53ccdf=_0x5e8b92[_0x412df7(0x6ea)])[_0x412df7(0xcce)](0x0,0x5)[_0x412df7(0x22b)]();if(_0x412df7(0x964)===_0x4136d5)return _0x3aaad=new _0x16ccb2(),_0x1de15d[_0x412df7(0xbd4)][_0x412df7(0x6fe)](_0x3aaad),void this[_0x412df7(0x888)](_0x5e8b92,_0x3aaad);_0x412df7(0x823)===_0x4136d5&&(_0x3aaad=this[_0x412df7(0x92f)](_0x53ccdf,0x5),_0x1de15d[_0x412df7(0xbd4)][_0x412df7(0x6fe)](_0x3aaad),_0x2be189=_0x3aaad);}}static[_0x20dc71(0x888)](_0x557ac1,_0x5e4c52){var _0xa6e33f=_0x20dc71;for(;_0x557ac1[_0xa6e33f(0x7b1)];){_0x557ac1[_0xa6e33f(0x1bb)]++;const _0xc2dfce=_0x557ac1[_0xa6e33f(0x6ea)],_0x4a1f1d=/(#ifdef)|(#else)|(#elif)|(#endif)|(#ifndef)|(#if)/;var _0x3764d0=_0x4a1f1d['exec'](_0xc2dfce);if(_0x3764d0&&_0x3764d0[_0xa6e33f(0x78d)])switch(_0x3764d0[0x0]){case _0xa6e33f(0x4f8):{const _0x3ff802=new _0x507f61();_0x5e4c52['children'][_0xa6e33f(0x6fe)](_0x3ff802);var _0x5d5619=this[_0xa6e33f(0x92f)](_0xc2dfce,0x6);_0x3ff802[_0xa6e33f(0xbd4)]['push'](_0x5d5619),this[_0xa6e33f(0x9ff)](_0x557ac1,_0x3ff802,_0x5d5619);break;}case _0xa6e33f(0x964):case _0xa6e33f(0x823):return!0x0;case _0xa6e33f(0x933):return!0x1;case'#ifndef':{const _0x2f755c=new _0x507f61();_0x5e4c52['children'][_0xa6e33f(0x6fe)](_0x2f755c),_0x5d5619=this[_0xa6e33f(0x92f)](_0xc2dfce,0x7),(_0x2f755c['children'][_0xa6e33f(0x6fe)](_0x5d5619),this[_0xa6e33f(0x9ff)](_0x557ac1,_0x2f755c,_0x5d5619));break;}case'#if':{const _0x2fa192=new _0x507f61();var _0x2f60b0=this[_0xa6e33f(0x92f)](_0xc2dfce,0x3);_0x5e4c52['children']['push'](_0x2fa192),_0x2fa192[_0xa6e33f(0xbd4)][_0xa6e33f(0x6fe)](_0x2f60b0),this['_MoveCursorWithinIf'](_0x557ac1,_0x2fa192,_0x2f60b0);break;}}else{const _0x373c36=new _0x16ccb2();_0x373c36[_0xa6e33f(0xc31)]=_0xc2dfce,_0x5e4c52[_0xa6e33f(0xbd4)][_0xa6e33f(0x6fe)](_0x373c36),'#'===_0xc2dfce[0x0]&&'d'===_0xc2dfce[0x1]&&(_0x3764d0=_0xc2dfce[_0xa6e33f(0xa09)](';','')[_0xa6e33f(0x962)]('\x20'),_0x373c36['additionalDefineKey']=_0x3764d0[0x1],0x3===_0x3764d0['length']&&(_0x373c36[_0xa6e33f(0xc29)]=_0x3764d0[0x2]));}}return!0x1;}static[_0x20dc71(0x4c7)](_0x589c64,_0x24e1cc,_0x2d54b3){var _0x3ae2bc=_0x20dc71;const _0x4dbfa3=new _0x16ccb2(),_0x5c3926=new _0x2382da();return _0x5c3926[_0x3ae2bc(0x1bb)]=-0x1,_0x5c3926['lines']=_0x589c64[_0x3ae2bc(0x962)]('\x0a'),this[_0x3ae2bc(0x888)](_0x5c3926,_0x4dbfa3),_0x4dbfa3['process'](_0x24e1cc,_0x2d54b3);}static[_0x20dc71(0x94b)](_0x3fbc3e,_0xa0ce09){var _0x2bdec4=_0x20dc71,_0x42157d;const _0x33adb8={};for(const _0x4da814 of _0x3fbc3e[_0x2bdec4(0xa1b)]){const _0x579588=_0x4da814[_0x2bdec4(0xa09)]('#define','')[_0x2bdec4(0xa09)](';','')[_0x2bdec4(0xb96)]();var _0x2f39e9=_0x579588[_0x2bdec4(0x962)]('\x20');_0x33adb8[_0x2f39e9[0x0]]=0x1<_0x2f39e9[_0x2bdec4(0x78d)]?_0x2f39e9[0x1]:'';}return(null==(_0x42157d=_0x3fbc3e[_0x2bdec4(0x293)])?void 0x0:_0x42157d[_0x2bdec4(0xd1e)])===_0x596f90['x'][_0x2bdec4(0x24e)]&&(_0x33adb8[_0x2bdec4(0x7ee)]=_0x2bdec4(0x7a8)),_0x33adb8[_0x2bdec4(0xa6e)]=_0x3fbc3e[_0x2bdec4(0x62f)],_0x33adb8[_0x3fbc3e[_0x2bdec4(0x565)]]=_0x2bdec4(0x7a8),_0xa0ce09[_0x2bdec4(0x288)](_0x33adb8),_0x33adb8;}static[_0x20dc71(0x7e4)](_0x5f3375,_0x1a14e6,_0x4c2ae0){var _0x514d2b=_0x20dc71;let _0x26e1a4=this['_ProcessPrecision'](_0x5f3375,_0x1a14e6);if(!_0x1a14e6['processor'])return _0x26e1a4;if(_0x1a14e6['processor'][_0x514d2b(0xd1e)]===_0x596f90['x'][_0x514d2b(0x24e)]&&-0x1!==_0x26e1a4[_0x514d2b(0x444)](_0x514d2b(0x376))&&(_0x26e1a4=_0x26e1a4[_0x514d2b(0xa09)](_0x514d2b(0x34f),''),!_0x1a14e6[_0x514d2b(0x293)][_0x514d2b(0xbf4)]))return _0x26e1a4;var _0x5f3375=_0x1a14e6['defines'],_0xc46fc0=this[_0x514d2b(0x94b)](_0x1a14e6,_0x4c2ae0);return _0x1a14e6[_0x514d2b(0x293)][_0x514d2b(0x159)]&&(_0x26e1a4=_0x1a14e6[_0x514d2b(0x293)][_0x514d2b(0x159)](_0x26e1a4,_0x5f3375,_0x1a14e6[_0x514d2b(0x902)],_0x1a14e6['processingContext'])),_0x26e1a4=this['_EvaluatePreProcessors'](_0x26e1a4,_0xc46fc0,_0x1a14e6),_0x1a14e6[_0x514d2b(0x293)]['postProcessor']&&(_0x26e1a4=_0x1a14e6[_0x514d2b(0x293)][_0x514d2b(0xd02)](_0x26e1a4,_0x5f3375,_0x1a14e6[_0x514d2b(0x902)],_0x1a14e6[_0x514d2b(0x7e3)],_0x4c2ae0)),_0x26e1a4=_0x4c2ae0[_0x514d2b(0xaa9)]['needShaderCodeInlining']?_0x4c2ae0[_0x514d2b(0x642)](_0x26e1a4):_0x26e1a4;}static[_0x20dc71(0x856)](_0x2a175b,_0x4cc199,_0x335590){var _0x43c459=_0x20dc71,_0x1e4fa9;let _0x91a0af=_0x2a175b;var _0x2a175b=_0x4cc199['defines'],_0x1bb552=this['_PreparePreProcessors'](_0x4cc199,_0x335590);return null!=(_0x1e4fa9=_0x4cc199[_0x43c459(0x293)])&&_0x1e4fa9[_0x43c459(0x159)]&&(_0x91a0af=_0x4cc199[_0x43c459(0x293)][_0x43c459(0x159)](_0x91a0af,_0x2a175b,_0x4cc199[_0x43c459(0x902)],_0x4cc199[_0x43c459(0x7e3)])),_0x91a0af=this[_0x43c459(0x4c7)](_0x91a0af,_0x1bb552,_0x4cc199),null!=(_0x1e4fa9=_0x4cc199[_0x43c459(0x293)])&&_0x1e4fa9[_0x43c459(0xd02)]&&(_0x91a0af=_0x4cc199['processor'][_0x43c459(0xd02)](_0x91a0af,_0x2a175b,_0x4cc199[_0x43c459(0x902)],_0x4cc199[_0x43c459(0x7e3)],_0x335590)),_0x91a0af=_0x335590['_features'][_0x43c459(0x753)]?_0x335590[_0x43c459(0x642)](_0x91a0af):_0x91a0af;}static[_0x20dc71(0x578)](_0x4b6be6,_0x4f6b96,_0x4e3252){var _0x5f1000=_0x20dc71;let _0x3f04e7=_0x146f3e[_0x5f1000(0x889)](_0x4b6be6),_0x3e111f=new String(_0x4b6be6),_0x1b1d0c=!0x1;for(;null!=_0x3f04e7;){let _0x1a43aa=_0x3f04e7[0x1];if(-0x1!==_0x1a43aa[_0x5f1000(0x444)]('__decl__')&&(_0x1a43aa=_0x1a43aa['replace'](/__decl__/,''),_0x4f6b96[_0x5f1000(0x25d)]&&(_0x1a43aa=(_0x1a43aa=_0x1a43aa[_0x5f1000(0xa09)](/Vertex/,_0x5f1000(0x3fd)))[_0x5f1000(0xa09)](/Fragment/,_0x5f1000(0x3fd))),_0x1a43aa+=_0x5f1000(0x99c)),!_0x4f6b96[_0x5f1000(0x5b1)][_0x1a43aa])return _0x51a3e8=_0x4f6b96['shadersRepository']+_0x5f1000(0x924)+_0x1a43aa+'.fx',void _0x5beaca['_FileToolsLoadFile'](_0x51a3e8,_0x330573=>{var _0x4414e2=_0x5f1000;_0x4f6b96[_0x4414e2(0x5b1)][_0x1a43aa]=_0x330573,this[_0x4414e2(0x578)](_0x3e111f,_0x4f6b96,_0x4e3252);});{let _0x1dd7c5=_0x4f6b96[_0x5f1000(0x5b1)][_0x1a43aa];if(_0x3f04e7[0x2]){var _0x31a789=_0x3f04e7[0x3][_0x5f1000(0x962)](',');for(let _0x58f5b7=0x0;_0x58f5b7<_0x31a789[_0x5f1000(0x78d)];_0x58f5b7+=0x2){var _0x3d2d3e=new RegExp(_0x31a789[_0x58f5b7],'g'),_0x97b212=_0x31a789[_0x58f5b7+0x1];_0x1dd7c5=_0x1dd7c5[_0x5f1000(0xa09)](_0x3d2d3e,_0x97b212);}}if(_0x3f04e7[0x4]){const _0x193e93=_0x3f04e7[0x5];if(-0x1!==_0x193e93[_0x5f1000(0x444)]('..')){var _0x51a3e8=_0x193e93['split']('..'),_0x616782=parseInt(_0x51a3e8[0x0]);let _0xff6964=parseInt(_0x51a3e8[0x1]),_0x379bdd=_0x1dd7c5[_0x5f1000(0x80b)](0x0);_0x1dd7c5='',isNaN(_0xff6964)&&(_0xff6964=_0x4f6b96[_0x5f1000(0x42d)][_0x51a3e8[0x1]]);for(let _0x5119dc=_0x616782;_0x5119dc<_0xff6964;_0x5119dc++)_0x4f6b96[_0x5f1000(0x25d)]||(_0x379bdd=_0x379bdd[_0x5f1000(0xa09)](/light\{X\}.(\w*)/g,(_0x47f82a,_0x521c3b)=>_0x521c3b+_0x5f1000(0x70b))),_0x1dd7c5+=_0x379bdd['replace'](/\{X\}/g,_0x5119dc[_0x5f1000(0xaf3)]())+'\x0a';}else _0x1dd7c5=(_0x1dd7c5=_0x4f6b96[_0x5f1000(0x25d)]?_0x1dd7c5:_0x1dd7c5[_0x5f1000(0xa09)](/light\{X\}.(\w*)/g,(_0x19d3f4,_0x41699c)=>_0x41699c+_0x5f1000(0x70b)))[_0x5f1000(0xa09)](/\{X\}/g,_0x193e93);}_0x3e111f=_0x3e111f[_0x5f1000(0xa09)](_0x3f04e7[0x0],_0x1dd7c5),_0x1b1d0c=_0x1b1d0c||0x0<=_0x1dd7c5[_0x5f1000(0x444)]('#include<')||0x0<=_0x1dd7c5[_0x5f1000(0x444)]('#include\x20<');}_0x3f04e7=_0x146f3e[_0x5f1000(0x889)](_0x4b6be6);}_0x1b1d0c?this['_ProcessIncludes'](_0x3e111f[_0x5f1000(0xaf3)](),_0x4f6b96,_0x4e3252):_0x4e3252(_0x3e111f);}static[_0x20dc71(0xb6b)](_0x4da101,_0x53a230,_0x438c77,_0x3c26e7,_0x40ef9b,_0x182fe3){var _0x5efbf5=_0x20dc71;throw(0x0,_0x3ee2c5['S'])(_0x5efbf5(0x812));}}},0xc627:(_0x4cf6b3,_0x170293,_0x279467)=>{var _0x4f5a43=a7_0x1ed280;_0x279467['d'](_0x170293,{'B':()=>_0x1d1838});class _0x1d1838{constructor(_0x4272d6=null,_0x176c6f){var _0xcbefc7=a7_0x3908;if(this[_0xcbefc7(0x5aa)]=null,this[_0xcbefc7(0x9a3)]=_0x176c6f,!_0x4272d6&&!(_0x4272d6=_0x176c6f['createTexture']()))throw new Error(_0xcbefc7(0x836));this[_0xcbefc7(0x532)](_0x4272d6);}get['underlyingResource'](){var _0x1ff23e=a7_0x3908;return this[_0x1ff23e(0x65a)];}[_0x4f5a43(0x8e0)](){}[_0x4f5a43(0x532)](_0x549f75){this['_webGLTexture']=_0x549f75;}[_0x4f5a43(0xa4d)](){var _0x1d92e9=_0x4f5a43;this[_0x1d92e9(0x65a)]=null,this[_0x1d92e9(0x5aa)]=null;}[_0x4f5a43(0x46b)](_0x3894a5){var _0x85e6bd=_0x4f5a43;this['_MSAARenderBuffers']||(this[_0x85e6bd(0x5aa)]=[]),this[_0x85e6bd(0x5aa)][_0x85e6bd(0x6fe)](_0x3894a5);}[_0x4f5a43(0x651)](){var _0x2e2ecf=_0x4f5a43;if(this[_0x2e2ecf(0x5aa)]){for(const _0x1b44a7 of this['_MSAARenderBuffers'])this[_0x2e2ecf(0x9a3)][_0x2e2ecf(0x4e8)](_0x1b44a7);this['_MSAARenderBuffers']=null;}}[_0x4f5a43(0xbd8)](){var _0x439801=_0x4f5a43;this['releaseMSAARenderBuffers'](),this[_0x439801(0x65a)]&&this[_0x439801(0x9a3)][_0x439801(0xc91)](this[_0x439801(0x65a)]),this[_0x439801(0xa4d)]();}}},0x2df4:(_0x3b5cbc,_0x22bbf8,_0x492652)=>{var _0x3e7205=a7_0x1ed280;_0x492652['d'](_0x22bbf8,{'y':()=>_0x4af6da});class _0x4af6da{constructor(){var _0x5f2d18=a7_0x3908;this[_0x5f2d18(0xcc1)]={},this['vertexCompilationError']=null,this[_0x5f2d18(0xa9f)]=null,this[_0x5f2d18(0x1c1)]=null,this[_0x5f2d18(0x576)]=null;}get['isAsync'](){var _0x1ea39b=a7_0x3908;return this[_0x1ea39b(0x3ed)];}get[_0x3e7205(0xae3)](){var _0xb47124=_0x3e7205;return!!this[_0xb47124(0x572)]&&(!this[_0xb47124(0x3ed)]||this['engine']['_isRenderingStateCompiled'](this));}[_0x3e7205(0xc36)](_0xc5beda){var _0x3323d7=_0x3e7205;_0xc5beda&&this[_0x3323d7(0x572)]&&_0xc5beda(this[_0x3323d7(0x572)]);}[_0x3e7205(0x674)](_0x20dad7,_0x203d54,_0x47f539,_0x35645a,_0x2c436b,_0x7efd3b,_0x1da71d,_0x340a1e){var _0x59c619=_0x3e7205;const _0x403a51=this[_0x59c619(0x75d)];if(_0x403a51['supportsUniformBuffers']){for(const _0x45b17e in _0x203d54)_0x20dad7[_0x59c619(0x5b4)](_0x45b17e,_0x203d54[_0x45b17e]);}const _0x504631=this[_0x59c619(0x75d)][_0x59c619(0xc5b)](this,_0x47f539);_0x504631[_0x59c619(0x832)]((_0x46ffe3,_0x31c8bb)=>{_0x35645a[_0x47f539[_0x31c8bb]]=_0x46ffe3;}),this[_0x59c619(0x9e2)]=_0x35645a;let _0x1d7215;for(_0x1d7215=0x0;_0x1d7215<_0x2c436b[_0x59c619(0x78d)];_0x1d7215++)null==_0x20dad7[_0x59c619(0x3b5)](_0x2c436b[_0x1d7215])&&(_0x2c436b[_0x59c619(0xb1e)](_0x1d7215,0x1),_0x1d7215--);_0x2c436b[_0x59c619(0x832)]((_0x3206df,_0x1409c6)=>{_0x7efd3b[_0x3206df]=_0x1409c6;});for(const _0x4ce97a of _0x403a51[_0x59c619(0xae8)](this,_0x1da71d))_0x340a1e['push'](_0x4ce97a);}[_0x3e7205(0x27f)](){this['_uniforms']={};}[_0x3e7205(0x1c6)](_0x1e342d,_0x19d2e8){var _0x561532=_0x3e7205,_0x39134a=this[_0x561532(0xcc1)][_0x1e342d],_0x19d2e8=_0x19d2e8[_0x561532(0xc8b)];return(void 0x0===_0x39134a||_0x39134a!==_0x19d2e8)&&(this[_0x561532(0xcc1)][_0x1e342d]=_0x19d2e8,!0x0);}[_0x3e7205(0x5bd)](_0x109225,_0x1da20c,_0x144966){var _0x1b900c=_0x3e7205;let _0x2ba4a5=this[_0x1b900c(0xcc1)][_0x109225];if(!_0x2ba4a5||0x2!==_0x2ba4a5[_0x1b900c(0x78d)])return _0x2ba4a5=[_0x1da20c,_0x144966],this[_0x1b900c(0xcc1)][_0x109225]=_0x2ba4a5,!0x0;let _0x46bea8=!0x1;return _0x2ba4a5[0x0]!==_0x1da20c&&(_0x2ba4a5[0x0]=_0x1da20c,_0x46bea8=!0x0),_0x2ba4a5[0x1]!==_0x144966&&(_0x2ba4a5[0x1]=_0x144966,_0x46bea8=!0x0),_0x46bea8;}[_0x3e7205(0x732)](_0x21057a,_0x41060b,_0x4786df,_0xb36d07){var _0x16d097=_0x3e7205;let _0x20dc3a=this[_0x16d097(0xcc1)][_0x21057a];if(!_0x20dc3a||0x3!==_0x20dc3a[_0x16d097(0x78d)])return _0x20dc3a=[_0x41060b,_0x4786df,_0xb36d07],this['_valueCache'][_0x21057a]=_0x20dc3a,!0x0;let _0xad51ea=!0x1;return _0x20dc3a[0x0]!==_0x41060b&&(_0x20dc3a[0x0]=_0x41060b,_0xad51ea=!0x0),_0x20dc3a[0x1]!==_0x4786df&&(_0x20dc3a[0x1]=_0x4786df,_0xad51ea=!0x0),_0x20dc3a[0x2]!==_0xb36d07&&(_0x20dc3a[0x2]=_0xb36d07,_0xad51ea=!0x0),_0xad51ea;}[_0x3e7205(0x23d)](_0x2c8203,_0x17684d,_0x4aa6e9,_0x251248,_0x37e254){var _0x37d73c=_0x3e7205;let _0x32e9b8=this[_0x37d73c(0xcc1)][_0x2c8203];if(!_0x32e9b8||0x4!==_0x32e9b8['length'])return _0x32e9b8=[_0x17684d,_0x4aa6e9,_0x251248,_0x37e254],this[_0x37d73c(0xcc1)][_0x2c8203]=_0x32e9b8,!0x0;let _0x3e50bd=!0x1;return _0x32e9b8[0x0]!==_0x17684d&&(_0x32e9b8[0x0]=_0x17684d,_0x3e50bd=!0x0),_0x32e9b8[0x1]!==_0x4aa6e9&&(_0x32e9b8[0x1]=_0x4aa6e9,_0x3e50bd=!0x0),_0x32e9b8[0x2]!==_0x251248&&(_0x32e9b8[0x2]=_0x251248,_0x3e50bd=!0x0),_0x32e9b8[0x3]!==_0x37e254&&(_0x32e9b8[0x3]=_0x37e254,_0x3e50bd=!0x0),_0x3e50bd;}[_0x3e7205(0x455)](_0x120600,_0x3bb686){var _0x43cfc8=_0x3e7205,_0xceae2d=this['_valueCache'][_0x120600];void 0x0!==_0xceae2d&&_0xceae2d===_0x3bb686||this[_0x43cfc8(0x75d)]['setInt'](this['_uniforms'][_0x120600],_0x3bb686)&&(this['_valueCache'][_0x120600]=_0x3bb686);}['setInt2'](_0x20c742,_0x4e41ea,_0x2e8703){var _0x1049dd=_0x3e7205;this[_0x1049dd(0x5bd)](_0x20c742,_0x4e41ea,_0x2e8703)&&!this[_0x1049dd(0x75d)][_0x1049dd(0x3d6)](this[_0x1049dd(0x9e2)][_0x20c742],_0x4e41ea,_0x2e8703)&&(this[_0x1049dd(0xcc1)][_0x20c742]=null);}[_0x3e7205(0x51e)](_0x3317cf,_0x13f0e3,_0x57832a,_0x5e893a){var _0x106bfa=_0x3e7205;this['_cacheFloat3'](_0x3317cf,_0x13f0e3,_0x57832a,_0x5e893a)&&!this[_0x106bfa(0x75d)][_0x106bfa(0x51e)](this[_0x106bfa(0x9e2)][_0x3317cf],_0x13f0e3,_0x57832a,_0x5e893a)&&(this['_valueCache'][_0x3317cf]=null);}['setInt4'](_0x201d01,_0x1987e2,_0x45333c,_0x33e5a4,_0x3fd89a){var _0x3d813e=_0x3e7205;this[_0x3d813e(0x23d)](_0x201d01,_0x1987e2,_0x45333c,_0x33e5a4,_0x3fd89a)&&!this[_0x3d813e(0x75d)]['setInt4'](this[_0x3d813e(0x9e2)][_0x201d01],_0x1987e2,_0x45333c,_0x33e5a4,_0x3fd89a)&&(this[_0x3d813e(0xcc1)][_0x201d01]=null);}[_0x3e7205(0x3ad)](_0x2264b3,_0xbb2aab){var _0x4ba822=_0x3e7205;this['_valueCache'][_0x2264b3]=null,this['engine'][_0x4ba822(0x3ad)](this[_0x4ba822(0x9e2)][_0x2264b3],_0xbb2aab);}[_0x3e7205(0xa5a)](_0x274572,_0x4d6a2d){var _0x272794=_0x3e7205;this['_valueCache'][_0x274572]=null,this[_0x272794(0x75d)][_0x272794(0xa5a)](this[_0x272794(0x9e2)][_0x274572],_0x4d6a2d);}[_0x3e7205(0x38c)](_0xb88692,_0xe1c9d9){var _0x175efc=_0x3e7205;this[_0x175efc(0xcc1)][_0xb88692]=null,this['engine'][_0x175efc(0x38c)](this[_0x175efc(0x9e2)][_0xb88692],_0xe1c9d9);}[_0x3e7205(0x14f)](_0xe199dc,_0x2e2f52){var _0x42c56b=_0x3e7205;this[_0x42c56b(0xcc1)][_0xe199dc]=null,this[_0x42c56b(0x75d)][_0x42c56b(0x14f)](this[_0x42c56b(0x9e2)][_0xe199dc],_0x2e2f52);}[_0x3e7205(0x2b1)](_0x32216b,_0xb5ed4e){var _0x5dc982=_0x3e7205,_0x1c1552=this['_valueCache'][_0x32216b];void 0x0!==_0x1c1552&&_0x1c1552===_0xb5ed4e||this['engine'][_0x5dc982(0x2b1)](this[_0x5dc982(0x9e2)][_0x32216b],_0xb5ed4e)&&(this['_valueCache'][_0x32216b]=_0xb5ed4e);}[_0x3e7205(0x70c)](_0x29d203,_0x487627,_0x49e975){var _0x481803=_0x3e7205;this[_0x481803(0x5bd)](_0x29d203,_0x487627,_0x49e975)&&!this[_0x481803(0x75d)][_0x481803(0x70c)](this[_0x481803(0x9e2)][_0x29d203],_0x487627,_0x49e975)&&(this[_0x481803(0xcc1)][_0x29d203]=null);}['setUInt3'](_0x464381,_0x4f9a9d,_0x578408,_0x27f736){var _0x1ae55b=_0x3e7205;this[_0x1ae55b(0x732)](_0x464381,_0x4f9a9d,_0x578408,_0x27f736)&&!this['engine']['setUInt3'](this[_0x1ae55b(0x9e2)][_0x464381],_0x4f9a9d,_0x578408,_0x27f736)&&(this[_0x1ae55b(0xcc1)][_0x464381]=null);}[_0x3e7205(0x9a9)](_0x32f2cd,_0x33785e,_0x3e7f1c,_0x5682ca,_0x5ce8b9){var _0x1fc5b5=_0x3e7205;this[_0x1fc5b5(0x23d)](_0x32f2cd,_0x33785e,_0x3e7f1c,_0x5682ca,_0x5ce8b9)&&!this['engine']['setUInt4'](this[_0x1fc5b5(0x9e2)][_0x32f2cd],_0x33785e,_0x3e7f1c,_0x5682ca,_0x5ce8b9)&&(this[_0x1fc5b5(0xcc1)][_0x32f2cd]=null);}['setUIntArray'](_0x384f97,_0x34eae0){var _0x175b2b=_0x3e7205;this[_0x175b2b(0xcc1)][_0x384f97]=null,this['engine']['setUIntArray'](this[_0x175b2b(0x9e2)][_0x384f97],_0x34eae0);}['setUIntArray2'](_0x32405d,_0x2a2749){var _0x4a26fb=_0x3e7205;this['_valueCache'][_0x32405d]=null,this[_0x4a26fb(0x75d)]['setUIntArray2'](this[_0x4a26fb(0x9e2)][_0x32405d],_0x2a2749);}[_0x3e7205(0x8da)](_0x45b54a,_0xb016bb){var _0x2b7b61=_0x3e7205;this[_0x2b7b61(0xcc1)][_0x45b54a]=null,this[_0x2b7b61(0x75d)][_0x2b7b61(0x8da)](this[_0x2b7b61(0x9e2)][_0x45b54a],_0xb016bb);}[_0x3e7205(0x847)](_0x34cbf7,_0x25c7bf){var _0x4765a6=_0x3e7205;this[_0x4765a6(0xcc1)][_0x34cbf7]=null,this[_0x4765a6(0x75d)]['setUIntArray4'](this['_uniforms'][_0x34cbf7],_0x25c7bf);}[_0x3e7205(0xaa5)](_0x244364,_0x159a57){var _0x1e9215=_0x3e7205;this[_0x1e9215(0xcc1)][_0x244364]=null,this[_0x1e9215(0x75d)][_0x1e9215(0xaa5)](this[_0x1e9215(0x9e2)][_0x244364],_0x159a57);}[_0x3e7205(0xb8d)](_0x165d3e,_0x3b0c9a){var _0x51c2bd=_0x3e7205;this['_valueCache'][_0x165d3e]=null,this[_0x51c2bd(0x75d)][_0x51c2bd(0xb8d)](this['_uniforms'][_0x165d3e],_0x3b0c9a);}['setArray3'](_0x27d3a7,_0x2abed3){var _0x510137=_0x3e7205;this['_valueCache'][_0x27d3a7]=null,this['engine'][_0x510137(0xbe8)](this[_0x510137(0x9e2)][_0x27d3a7],_0x2abed3);}[_0x3e7205(0x6c3)](_0x2ccded,_0x319b47){var _0x5aede3=_0x3e7205;this[_0x5aede3(0xcc1)][_0x2ccded]=null,this[_0x5aede3(0x75d)]['setArray4'](this[_0x5aede3(0x9e2)][_0x2ccded],_0x319b47);}[_0x3e7205(0x885)](_0x5a4089,_0xfbd6a4){var _0x165ac8=_0x3e7205;_0xfbd6a4&&(this[_0x165ac8(0xcc1)][_0x5a4089]=null,this['engine'][_0x165ac8(0x885)](this[_0x165ac8(0x9e2)][_0x5a4089],_0xfbd6a4));}['setMatrix'](_0x408984,_0x5a095c){var _0x231093=_0x3e7205;this['_cacheMatrix'](_0x408984,_0x5a095c)&&!this[_0x231093(0x75d)][_0x231093(0x885)](this[_0x231093(0x9e2)][_0x408984],_0x5a095c[_0x231093(0x197)]())&&(this[_0x231093(0xcc1)][_0x408984]=null);}[_0x3e7205(0x827)](_0x311c6c,_0x702176){var _0x5384f5=_0x3e7205;this[_0x5384f5(0xcc1)][_0x311c6c]=null,this[_0x5384f5(0x75d)][_0x5384f5(0x827)](this['_uniforms'][_0x311c6c],_0x702176);}[_0x3e7205(0x314)](_0x1b0380,_0x32e39c){var _0x1a2134=_0x3e7205;this['_valueCache'][_0x1b0380]=null,this[_0x1a2134(0x75d)][_0x1a2134(0x314)](this[_0x1a2134(0x9e2)][_0x1b0380],_0x32e39c);}[_0x3e7205(0x3d1)](_0x3faf45,_0x24a393){var _0x5ebe2e=_0x3e7205,_0x121502=this[_0x5ebe2e(0xcc1)][_0x3faf45];void 0x0!==_0x121502&&_0x121502===_0x24a393||this['engine'][_0x5ebe2e(0x3d1)](this[_0x5ebe2e(0x9e2)][_0x3faf45],_0x24a393)&&(this[_0x5ebe2e(0xcc1)][_0x3faf45]=_0x24a393);}[_0x3e7205(0x934)](_0x2118b3,_0x414cfa){var _0x48565c=_0x3e7205;this['_cacheFloat2'](_0x2118b3,_0x414cfa['x'],_0x414cfa['y'])&&!this[_0x48565c(0x75d)][_0x48565c(0x1a4)](this[_0x48565c(0x9e2)][_0x2118b3],_0x414cfa['x'],_0x414cfa['y'])&&(this[_0x48565c(0xcc1)][_0x2118b3]=null);}[_0x3e7205(0x1a4)](_0x2e2b59,_0x24c60f,_0x215032){var _0x4fabcc=_0x3e7205;this[_0x4fabcc(0x5bd)](_0x2e2b59,_0x24c60f,_0x215032)&&!this[_0x4fabcc(0x75d)][_0x4fabcc(0x1a4)](this[_0x4fabcc(0x9e2)][_0x2e2b59],_0x24c60f,_0x215032)&&(this[_0x4fabcc(0xcc1)][_0x2e2b59]=null);}[_0x3e7205(0x500)](_0x2122a7,_0x19a6d6){var _0x10c74b=_0x3e7205;this[_0x10c74b(0x732)](_0x2122a7,_0x19a6d6['x'],_0x19a6d6['y'],_0x19a6d6['z'])&&!this['engine'][_0x10c74b(0x670)](this[_0x10c74b(0x9e2)][_0x2122a7],_0x19a6d6['x'],_0x19a6d6['y'],_0x19a6d6['z'])&&(this['_valueCache'][_0x2122a7]=null);}[_0x3e7205(0x670)](_0x255d9b,_0x20261a,_0x2d8f1a,_0x34c024){var _0x3dcaac=_0x3e7205;this[_0x3dcaac(0x732)](_0x255d9b,_0x20261a,_0x2d8f1a,_0x34c024)&&!this[_0x3dcaac(0x75d)][_0x3dcaac(0x670)](this[_0x3dcaac(0x9e2)][_0x255d9b],_0x20261a,_0x2d8f1a,_0x34c024)&&(this['_valueCache'][_0x255d9b]=null);}['setVector4'](_0x5d0f00,_0x53fb42){var _0x1868d2=_0x3e7205;this[_0x1868d2(0x23d)](_0x5d0f00,_0x53fb42['x'],_0x53fb42['y'],_0x53fb42['z'],_0x53fb42['w'])&&!this[_0x1868d2(0x75d)][_0x1868d2(0x20e)](this[_0x1868d2(0x9e2)][_0x5d0f00],_0x53fb42['x'],_0x53fb42['y'],_0x53fb42['z'],_0x53fb42['w'])&&(this[_0x1868d2(0xcc1)][_0x5d0f00]=null);}[_0x3e7205(0x78f)](_0x2cd58a,_0xe5f174){var _0x37effb=_0x3e7205;this[_0x37effb(0x23d)](_0x2cd58a,_0xe5f174['x'],_0xe5f174['y'],_0xe5f174['z'],_0xe5f174['w'])&&!this['engine'][_0x37effb(0x20e)](this[_0x37effb(0x9e2)][_0x2cd58a],_0xe5f174['x'],_0xe5f174['y'],_0xe5f174['z'],_0xe5f174['w'])&&(this[_0x37effb(0xcc1)][_0x2cd58a]=null);}[_0x3e7205(0x20e)](_0x348df7,_0x1aed71,_0x18fab9,_0x1dec26,_0x25cfcc){var _0x4c7541=_0x3e7205;this[_0x4c7541(0x23d)](_0x348df7,_0x1aed71,_0x18fab9,_0x1dec26,_0x25cfcc)&&!this[_0x4c7541(0x75d)]['setFloat4'](this['_uniforms'][_0x348df7],_0x1aed71,_0x18fab9,_0x1dec26,_0x25cfcc)&&(this[_0x4c7541(0xcc1)][_0x348df7]=null);}[_0x3e7205(0xaeb)](_0x5d8d80,_0x78da2e){var _0x2333f3=_0x3e7205;this[_0x2333f3(0x732)](_0x5d8d80,_0x78da2e['r'],_0x78da2e['g'],_0x78da2e['b'])&&!this[_0x2333f3(0x75d)][_0x2333f3(0x670)](this[_0x2333f3(0x9e2)][_0x5d8d80],_0x78da2e['r'],_0x78da2e['g'],_0x78da2e['b'])&&(this[_0x2333f3(0xcc1)][_0x5d8d80]=null);}[_0x3e7205(0xadf)](_0x1c03b2,_0x6b47af,_0x297c85){var _0x521d99=_0x3e7205;this['_cacheFloat4'](_0x1c03b2,_0x6b47af['r'],_0x6b47af['g'],_0x6b47af['b'],_0x297c85)&&!this['engine'][_0x521d99(0x20e)](this['_uniforms'][_0x1c03b2],_0x6b47af['r'],_0x6b47af['g'],_0x6b47af['b'],_0x297c85)&&(this[_0x521d99(0xcc1)][_0x1c03b2]=null);}['setDirectColor4'](_0x1d648a,_0x299de7){var _0x47cbeb=_0x3e7205;this[_0x47cbeb(0x23d)](_0x1d648a,_0x299de7['r'],_0x299de7['g'],_0x299de7['b'],_0x299de7['a'])&&!this[_0x47cbeb(0x75d)][_0x47cbeb(0x20e)](this['_uniforms'][_0x1d648a],_0x299de7['r'],_0x299de7['g'],_0x299de7['b'],_0x299de7['a'])&&(this[_0x47cbeb(0xcc1)][_0x1d648a]=null);}[_0x3e7205(0x96a)](){var _0x5ee06d=_0x3e7205;return this[_0x5ee06d(0x52b)]?this['engine']['_getShaderSource'](this['vertexShader']):null;}[_0x3e7205(0x548)](){var _0x1b36f0=_0x3e7205;return this[_0x1b36f0(0xcbf)]?this[_0x1b36f0(0x75d)][_0x1b36f0(0x94c)](this[_0x1b36f0(0xcbf)]):null;}}},0xb7b8:(_0xd64d12,_0x194846,_0x18ff7f)=>{_0x18ff7f['d'](_0x194846,{'f':()=>_0x230f3e});var _0x867857=_0x18ff7f(0x11722);class _0x230f3e{constructor(){var _0x11d674=a7_0x3908;this[_0x11d674(0xd1e)]=_0x867857['x'][_0x11d674(0x24e)];}['postProcessor'](_0x4e5d2d,_0x32deeb,_0x42da45,_0x4622dc,_0x17417a){var _0x30ff51=a7_0x3908;return _0x17417a[_0x30ff51(0x19e)]()[_0x30ff51(0x7fa)]?_0x4e5d2d:_0x4e5d2d[_0x30ff51(0xa09)](/#extension.+GL_EXT_draw_buffers.+(enable|require)/g,'');}}},0x15e6f:(_0x4773a4,_0x21ffea,_0x30ff96)=>{var _0x16073e=a7_0x1ed280,_0xe639eb=_0x30ff96(0x77a5),_0x167c6e=_0x30ff96(0xee04),_0x5a7b24=_0x30ff96(0x9957),_0x5e4e18=(_0x5a7b24['f'][_0x16073e(0x3c6)]['setAlphaMode']=function(_0x273ae7,_0x3951c7=!0x1){var _0x3ef899=_0x16073e,_0x79c343;if(this[_0x3ef899(0x506)]===_0x273ae7&&(_0x273ae7===_0xe639eb['g']['ALPHA_DISABLE']&&!this['_alphaState'][_0x3ef899(0x57d)]||_0x273ae7!==_0xe639eb['g'][_0x3ef899(0xa55)]&&this[_0x3ef899(0x783)][_0x3ef899(0x57d)]))_0x3951c7||(_0x79c343=_0x273ae7===_0xe639eb['g']['ALPHA_DISABLE'],this[_0x3ef899(0x8a7)][_0x3ef899(0x255)]!==_0x79c343&&(this['setDepthWrite'](_0x79c343),this[_0x3ef899(0x551)]['setDepthWriteEnabled'](_0x79c343)));else{switch(_0x273ae7){case _0xe639eb['g'][_0x3ef899(0xa55)]:this[_0x3ef899(0x783)]['alphaBlend']=!0x1;break;case _0xe639eb['g']['ALPHA_PREMULTIPLIED']:this['_alphaState'][_0x3ef899(0x230)](0x1,_0xe639eb['g']['GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA'],0x1,0x1),this[_0x3ef899(0x783)][_0x3ef899(0x57d)]=!0x0;break;case _0xe639eb['g']['ALPHA_PREMULTIPLIED_PORTERDUFF']:this[_0x3ef899(0x783)][_0x3ef899(0x230)](0x1,_0xe639eb['g'][_0x3ef899(0x775)],0x1,_0xe639eb['g']['GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA']),this[_0x3ef899(0x783)]['alphaBlend']=!0x0;break;case _0xe639eb['g']['ALPHA_COMBINE']:this[_0x3ef899(0x783)][_0x3ef899(0x230)](_0xe639eb['g'][_0x3ef899(0x58f)],_0xe639eb['g'][_0x3ef899(0x775)],0x1,0x1),this[_0x3ef899(0x783)][_0x3ef899(0x57d)]=!0x0;break;case _0xe639eb['g'][_0x3ef899(0x74c)]:this['_alphaState'][_0x3ef899(0x230)](0x1,0x1,0x0,0x1),this[_0x3ef899(0x783)][_0x3ef899(0x57d)]=!0x0;break;case _0xe639eb['g'][_0x3ef899(0xbe4)]:this['_alphaState'][_0x3ef899(0x230)](_0xe639eb['g'][_0x3ef899(0x58f)],0x1,0x0,0x1),this['_alphaState'][_0x3ef899(0x57d)]=!0x0;break;case _0xe639eb['g'][_0x3ef899(0x85e)]:this['_alphaState'][_0x3ef899(0x230)](0x0,_0xe639eb['g'][_0x3ef899(0x1ed)],0x1,0x1),this[_0x3ef899(0x783)]['alphaBlend']=!0x0;break;case _0xe639eb['g'][_0x3ef899(0x763)]:this[_0x3ef899(0x783)][_0x3ef899(0x230)](_0xe639eb['g'][_0x3ef899(0xc05)],0x0,0x1,0x1),this[_0x3ef899(0x783)][_0x3ef899(0x57d)]=!0x0;break;case _0xe639eb['g']['ALPHA_MAXIMIZED']:this[_0x3ef899(0x783)]['setAlphaBlendFunctionParameters'](_0xe639eb['g']['GL_ALPHA_FUNCTION_SRC_ALPHA'],_0xe639eb['g'][_0x3ef899(0x1ed)],0x1,0x1),this[_0x3ef899(0x783)]['alphaBlend']=!0x0;break;case _0xe639eb['g'][_0x3ef899(0x48f)]:this['_alphaState'][_0x3ef899(0x230)](_0xe639eb['g'][_0x3ef899(0xcaf)],_0xe639eb['g'][_0x3ef899(0x2ca)],_0xe639eb['g']['GL_ALPHA_FUNCTION_CONSTANT_ALPHA'],_0xe639eb['g'][_0x3ef899(0x327)]),this[_0x3ef899(0x783)][_0x3ef899(0x57d)]=!0x0;break;case _0xe639eb['g']['ALPHA_SCREENMODE']:this[_0x3ef899(0x783)][_0x3ef899(0x230)](0x1,_0xe639eb['g'][_0x3ef899(0x1ed)],0x1,_0xe639eb['g']['GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA']),this[_0x3ef899(0x783)]['alphaBlend']=!0x0;break;case _0xe639eb['g'][_0x3ef899(0xb31)]:this['_alphaState']['setAlphaBlendFunctionParameters'](0x1,0x1,0x1,0x1),this[_0x3ef899(0x783)][_0x3ef899(0x57d)]=!0x0;break;case _0xe639eb['g'][_0x3ef899(0x433)]:this[_0x3ef899(0x783)]['setAlphaBlendFunctionParameters'](_0xe639eb['g']['GL_ALPHA_FUNCTION_DST_ALPHA'],0x1,0x0,0x0),this['_alphaState'][_0x3ef899(0x57d)]=!0x0;break;case _0xe639eb['g'][_0x3ef899(0x6d8)]:this['_alphaState'][_0x3ef899(0x230)](_0xe639eb['g']['GL_ALPHA_FUNCTION_ONE_MINUS_DST_COLOR'],_0xe639eb['g']['GL_ALPHA_FUNCTION_ONE_MINUS_SRC_COLOR'],_0xe639eb['g']['GL_ALPHA_FUNCTION_ONE_MINUS_DST_ALPHA'],_0xe639eb['g']['GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA']),this[_0x3ef899(0x783)][_0x3ef899(0x57d)]=!0x0;break;case _0xe639eb['g'][_0x3ef899(0x186)]:this[_0x3ef899(0x783)][_0x3ef899(0x230)](0x1,_0xe639eb['g'][_0x3ef899(0x775)],0x1,_0xe639eb['g'][_0x3ef899(0x775)]),this[_0x3ef899(0x783)][_0x3ef899(0x57d)]=!0x0;break;case _0xe639eb['g'][_0x3ef899(0xb8b)]:this[_0x3ef899(0x783)][_0x3ef899(0x230)](0x1,0x1,0x1,0x0),this[_0x3ef899(0x783)][_0x3ef899(0x57d)]=!0x0;break;case _0xe639eb['g'][_0x3ef899(0x941)]:this[_0x3ef899(0x783)][_0x3ef899(0x230)](_0xe639eb['g'][_0x3ef899(0x21b)],_0xe639eb['g'][_0x3ef899(0x1ed)],0x0,0x1),this[_0x3ef899(0x783)][_0x3ef899(0x57d)]=!0x0;break;case _0xe639eb['g'][_0x3ef899(0xc10)]:this[_0x3ef899(0x783)][_0x3ef899(0x230)](_0xe639eb['g'][_0x3ef899(0x58f)],_0xe639eb['g']['GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA'],0x1,_0xe639eb['g'][_0x3ef899(0x775)]),this['_alphaState'][_0x3ef899(0x57d)]=!0x0;}_0x3951c7||(this[_0x3ef899(0x401)](_0x273ae7===_0x167c6e['D'][_0x3ef899(0xa55)]),this['_cacheRenderPipeline']['setDepthWriteEnabled'](_0x273ae7===_0x167c6e['D'][_0x3ef899(0xa55)])),this[_0x3ef899(0x506)]=_0x273ae7,this[_0x3ef899(0x551)][_0x3ef899(0xcc6)](this[_0x3ef899(0x783)]['alphaBlend']),this[_0x3ef899(0x551)][_0x3ef899(0x4cc)](this[_0x3ef899(0x783)]['_blendFunctionParameters'],this['_alphaState'][_0x3ef899(0x946)]);}},_0x5a7b24['f'][_0x16073e(0x3c6)]['setAlphaEquation']=function(_0x1a0fc4){var _0x47ffb8=_0x16073e;_0x167c6e['D'][_0x47ffb8(0x3c6)][_0x47ffb8(0xb46)][_0x47ffb8(0x9c8)](this,_0x1a0fc4),this[_0x47ffb8(0x551)][_0x47ffb8(0x4cc)](this[_0x47ffb8(0x783)][_0x47ffb8(0x20d)],this[_0x47ffb8(0x783)]['_blendEquationParameters']);},_0x30ff96(0x7755)),_0x5bb15f=_0x30ff96(0x10ea4),_0x387bc5=_0x30ff96(0xe34c),_0xe5d873=_0x30ff96(0x89a1);class _0xf9c8f9{constructor(_0x5db23a,_0x7d57ab){var _0x375710=_0x16073e;this[_0x375710(0x5f8)]=_0x5db23a,this[_0x375710(0xb69)]=_0x7d57ab,this[_0x375710(0xa35)]=_0xf9c8f9[_0x375710(0x607)]++,this[_0x375710(0x4b0)]=[],this[_0x375710(0x5b8)]();}[_0x16073e(0xb7f)](_0x4e4dd8,_0x237fcb,_0x164fdf){var _0x5f1e24=_0x16073e;if(!_0x164fdf)throw new Error('WebGPUComputeContext.getBindGroups:\x20bindingsMapping\x20is\x20required\x20until\x20browsers\x20support\x20reflection\x20for\x20wgsl\x20shaders!');if(0x0===this[_0x5f1e24(0x5d1)][_0x5f1e24(0x78d)]){var _0x137380=0x0{var _0x142a4a=_0x35fdf5;this[_0x142a4a(0x659)](_0x4df366,_0x1bb826,_0x3ea358,_0x2bee80,_0x200026,_0x126a69,_0x37fcac);});else{const _0x4b378e=_0x4df366[_0x35fdf5(0x4b1)],_0x1c0725=_0x1bb826,_0x4e20aa=(_0x4b378e['computePipeline']||(_0x4b378e[_0x35fdf5(0xb66)]=this[_0x35fdf5(0x5f8)][_0x35fdf5(0x2ce)]({'layout':_0xe5d873['fu'][_0x35fdf5(0xcf7)],'compute':_0x4b378e['stage']})),this[_0x35fdf5(0x16d)]),_0x1195ea=_0x4e20aa[_0x35fdf5(0x6ad)]();_0x1195ea[_0x35fdf5(0x76c)](_0x4b378e[_0x35fdf5(0xb66)]);var _0x562f5f=_0x1c0725[_0x35fdf5(0xb7f)](_0x3ea358,_0x4b378e[_0x35fdf5(0xb66)],_0x37fcac);for(let _0x56f897=0x0;_0x56f897<_0x562f5f['length'];++_0x56f897){var _0x5d453c=_0x562f5f[_0x56f897];_0x5d453c&&_0x1195ea[_0x35fdf5(0xcee)](_0x56f897,_0x5d453c);}_0x1195ea['dispatchWorkgroups'](_0x2bee80,_0x200026,_0x126a69),_0x1195ea[_0x35fdf5(0x2f0)]();}},_0x5a7b24['f']['prototype'][_0x16073e(0x2b5)]=function(){var _0x3db14c=_0x16073e;for(const _0x13298b in this[_0x3db14c(0xa6d)]){var _0x2a53ca=this[_0x3db14c(0xa6d)][_0x13298b][_0x3db14c(0xc14)]();this[_0x3db14c(0x7d4)](_0x2a53ca);}this['_compiledComputeEffects']={};},_0x5a7b24['f'][_0x16073e(0x3c6)][_0x16073e(0x968)]=function(_0x5c9eaa,_0x1b8bd2,_0x42cda9,_0x345fc7,_0x1665f3){var _0x52efbd=_0x16073e;const _0x1dc594=_0x5c9eaa;this[_0x52efbd(0x398)]&&(_0x30ed8e[_0x52efbd(0x631)](_0x345fc7),_0x30ed8e[_0x52efbd(0x631)](_0x1b8bd2)),_0x1dc594['sources']={'compute':_0x1b8bd2,'rawCompute':_0x42cda9},_0x1dc594[_0x52efbd(0x9f3)]=this[_0x52efbd(0x9a1)](_0x1b8bd2,_0x345fc7,_0x1665f3);},_0x5a7b24['f'][_0x16073e(0x3c6)]['_releaseComputeEffect']=function(_0x1ab3d0){var _0x49e332=_0x16073e;this[_0x49e332(0xa6d)][_0x1ab3d0[_0x49e332(0x33c)]]&&(delete this[_0x49e332(0xa6d)][_0x1ab3d0[_0x49e332(0x33c)]],this[_0x49e332(0x7d4)](_0x1ab3d0[_0x49e332(0xc14)]()));},_0x5a7b24['f']['prototype'][_0x16073e(0x60f)]=function(){var _0x49b77b=_0x16073e;for(const _0x2e6104 in this[_0x49b77b(0xa6d)]){const _0xf9e96c=this[_0x49b77b(0xa6d)][_0x2e6104];_0xf9e96c['_pipelineContext']=null,_0xf9e96c['_wasPreviouslyReady']=!0x1,_0xf9e96c['_prepareEffect']();}},_0x5a7b24['f']['prototype'][_0x16073e(0x7d4)]=function(_0x3c828c){_0x3c828c&&_0x3c828c['dispose']();},_0x5a7b24['f']['prototype'][_0x16073e(0x9a1)]=function(_0x49f5e8,_0x48e67a,_0x40dd62){var _0x101ecf=_0x16073e;return _0x48e67a=_0x48e67a?'//'+_0x48e67a[_0x101ecf(0x962)]('\x0a')[_0x101ecf(0x60e)]('\x0a//')+'\x0a':'',{'module':this[_0x101ecf(0x5f8)][_0x101ecf(0xcbc)]({'code':_0x48e67a+_0x49f5e8}),'entryPoint':_0x40dd62};},_0x30ff96(0x25b1));_0x5a7b24['f'][_0x16073e(0x3c6)]['_createDepthStencilCubeTexture']=function(_0x45731b,_0x252874){var _0x2aeffa=_0x16073e;const _0x4a8f67=new _0x1590b6['l'](this,_0x1590b6['S']['DepthStencil']);return _0x4a8f67['isCube']=!0x0,_0x252874=Object[_0x2aeffa(0x245)]({'bilinearFiltering':!0x1,'comparisonFunction':0x0,'generateStencil':!0x1,'samples':0x1},_0x252874),(_0x4a8f67[_0x2aeffa(0x735)]=_0x252874['generateStencil']?_0xe639eb['g'][_0x2aeffa(0x69c)]:_0xe639eb['g'][_0x2aeffa(0xc0d)],this['_setupDepthStencilTexture'](_0x4a8f67,_0x45731b,_0x252874[_0x2aeffa(0xad9)],_0x252874[_0x2aeffa(0x82f)],_0x252874['comparisonFunction'],_0x252874[_0x2aeffa(0xc21)]),this[_0x2aeffa(0x93a)][_0x2aeffa(0xa51)](_0x4a8f67),this[_0x2aeffa(0xa1e)][_0x2aeffa(0x6fe)](_0x4a8f67),_0x4a8f67);},_0x5a7b24['f'][_0x16073e(0x3c6)][_0x16073e(0x2f7)]=function(_0x2861af,_0x2bc928,_0x1dec0b,_0x14ab08,_0x459499=null,_0x3886e3=null,_0x5f3097,_0x25b503=null,_0x200e90=!0x1,_0x4aa310=0x0,_0x5a097a=0x0,_0x21d74d=null,_0x3a4231=!0x1){var _0xf8d7b7=_0x16073e;return this[_0xf8d7b7(0x264)](_0x2861af,_0x2bc928,_0x1dec0b,!!_0x14ab08,_0x459499,_0x3886e3,_0x5f3097,_0x25b503,_0x200e90,_0x4aa310,_0x5a097a,_0x21d74d,null,(_0x37f2e6,_0x580f12)=>{var _0xecdc33=_0xf8d7b7,_0x5e8b89=_0x580f12[0x0][_0xecdc33(0xb58)],_0x2eff70=_0x5e8b89,_0x3eac13=(this['_setCubeMapTextureParams'](_0x37f2e6,!_0x14ab08),_0x37f2e6[_0xecdc33(0x735)]=null!=_0x5f3097?_0x5f3097:-0x1,this[_0xecdc33(0x93a)][_0xecdc33(0xa51)](_0x37f2e6,_0x5e8b89,_0x2eff70));this[_0xecdc33(0x93a)]['updateCubeTextures'](_0x580f12,_0x3eac13[_0xecdc33(0x734)],_0x5e8b89,_0x2eff70,_0x3eac13[_0xecdc33(0x735)],!0x1,!0x1,0x0,0x0),_0x14ab08||this[_0xecdc33(0xc7d)](_0x37f2e6,this[_0xecdc33(0x86d)]),_0x37f2e6[_0xecdc33(0xae3)]=!0x0,_0x37f2e6['onLoadedObservable']['notifyObservers'](_0x37f2e6),_0x37f2e6['onLoadedObservable']['clear'](),_0x459499&&_0x459499();},!!_0x3a4231);},_0x5a7b24['f'][_0x16073e(0x3c6)][_0x16073e(0x36c)]=function(_0x268473,_0x29751d,_0x362a69){var _0x3afea2=_0x16073e;_0x268473['samplingMode']=_0x29751d?_0xe639eb['g'][_0x3afea2(0xa01)]:_0xe639eb['g']['TEXTURE_BILINEAR_SAMPLINGMODE'],_0x268473[_0x3afea2(0xa0b)]=_0xe639eb['g'][_0x3afea2(0x9ba)],_0x268473[_0x3afea2(0x593)]=_0xe639eb['g']['TEXTURE_CLAMP_ADDRESSMODE'],_0x362a69&&(_0x268473[_0x3afea2(0xd1f)]=_0x362a69);},_0x5a7b24['f']['prototype']['_debugPushGroup']=function(_0x4174ca,_0x10b8e1){var _0x3dbd23=_0x16073e;if(this[_0x3dbd23(0x84f)]['enableGPUDebugMarkers']){if(0x0===_0x10b8e1||0x1===_0x10b8e1){const _0x4344b7=0x0===_0x10b8e1?this[_0x3dbd23(0xa94)]:this[_0x3dbd23(0x16d)];_0x4344b7['pushDebugGroup'](_0x4174ca);}else this[_0x3dbd23(0xb2f)]?this[_0x3dbd23(0xb2f)][_0x3dbd23(0x33f)](_0x4174ca):this[_0x3dbd23(0x7e1)][_0x3dbd23(0x6fe)]([_0x3dbd23(0x6fe),_0x4174ca]);}},_0x5a7b24['f'][_0x16073e(0x3c6)][_0x16073e(0x47f)]=function(_0x8cda70){var _0x3ba7ad=_0x16073e;if(this[_0x3ba7ad(0x84f)][_0x3ba7ad(0x295)]){if(0x0===_0x8cda70||0x1===_0x8cda70){const _0x405729=0x0===_0x8cda70?this[_0x3ba7ad(0xa94)]:this['_renderTargetEncoder'];_0x405729[_0x3ba7ad(0x5c8)]();}else this['_currentRenderPass']?this[_0x3ba7ad(0xb2f)][_0x3ba7ad(0x5c8)]():this['_pendingDebugCommands'][_0x3ba7ad(0x6fe)](['pop',null]);}},_0x5a7b24['f'][_0x16073e(0x3c6)][_0x16073e(0x47d)]=function(_0x518a70,_0x3a5503){var _0x3970e7=_0x16073e;if(this[_0x3970e7(0x84f)][_0x3970e7(0x295)]){if(0x0===_0x3a5503||0x1===_0x3a5503){const _0x22a38a=0x0===_0x3a5503?this[_0x3970e7(0xa94)]:this[_0x3970e7(0x16d)];_0x22a38a[_0x3970e7(0x448)](_0x518a70);}else this['_currentRenderPass']?this[_0x3970e7(0xb2f)][_0x3970e7(0x448)](_0x518a70):this[_0x3970e7(0x7e1)][_0x3970e7(0x6fe)]([_0x3970e7(0xa49),_0x518a70]);}},_0x5a7b24['f'][_0x16073e(0x3c6)][_0x16073e(0xc72)]=function(){var _0x242e54=_0x16073e;for(let _0x44af82=0x0;_0x44af82{var _0x12715c=_0xbb4ce4,_0x2f1532=_0x1bf80b[_0x12715c(0xb58)],_0x52eb33=_0x6a9005(_0x4d10bd);if(_0x52eb33){var _0x22e700=[0x0,0x2,0x4,0x1,0x3,0x5];if(_0x485573){var _0x28c0c6=_0x3592c0===_0xe639eb['g']['TEXTUREFORMAT_RGB'],_0x2a1fb2=_0x485573(_0x52eb33),_0x49d499=_0x1bf80b[_0x12715c(0x6cf)];const _0x5e163c=[0x0,0x1,0x2,0x3,0x4,0x5];for(let _0x15ccdd=0x0;_0x15ccdd<_0x2a1fb2[_0x12715c(0x78d)];_0x15ccdd++){var _0x419f71=_0x2f1532>>_0x15ccdd;const _0x325840=[];for(let _0x44dede=0x0;_0x44dede<0x6;_0x44dede++){let _0x356e07=_0x2a1fb2[_0x15ccdd][_0x5e163c[_0x44dede]];_0x28c0c6&&(_0x356e07=_0x632aac(_0x356e07,_0x419f71,_0x419f71,_0x2b5d87)),_0x325840['push'](new Uint8Array(_0x356e07[_0x12715c(0xc74)],_0x356e07[_0x12715c(0x224)],_0x356e07[_0x12715c(0xbda)]));}this[_0x12715c(0x93a)]['updateCubeTextures'](_0x325840,_0x49d499[_0x12715c(0x734)],_0x419f71,_0x419f71,_0x49d499['format'],_0x1bae96,!0x1,0x0,0x0);}}else{const _0x4d9c9d=[];for(let _0x43416a=0x0;_0x43416a<0x6;_0x43416a++)_0x4d9c9d[_0x12715c(0x6fe)](_0x52eb33[_0x22e700[_0x43416a]]);this[_0x12715c(0x16f)](_0x1bf80b,_0x4d9c9d,_0x3592c0,_0x2b5d87,_0x1bae96);}_0x1bf80b[_0x12715c(0xae3)]=!0x0,null!=_0x569b22&&_0x569b22[_0x12715c(0x66b)](_0x1bf80b),_0x469c7e&&_0x469c7e();}});return this[_0xbb4ce4(0x6b1)](_0x4528b4,_0x350f1a=>{_0x50f36a(_0x350f1a);},void 0x0,null==_0x569b22?void 0x0:_0x569b22[_0xbb4ce4(0x70d)],!0x0,(_0x1008c0,_0x2d7291)=>{var _0x4d658f=_0xbb4ce4;null!=_0x569b22&&_0x569b22[_0x4d658f(0x66b)](_0x1bf80b),_0x58f3a9&&_0x1008c0&&_0x58f3a9(_0x1008c0[_0x4d658f(0x54f)]+'\x20'+_0x1008c0['statusText'],_0x2d7291);}),_0x1bf80b;},_0x5a7b24['f']['prototype']['createRawTexture3D']=function(_0x2585c2,_0x42829f,_0x45101a,_0x40cfac,_0x35292e,_0x417bd8,_0x13d706,_0x135da5,_0x2f1f28=null,_0x4b7f63=_0xe639eb['g'][_0x16073e(0x4b2)],_0x264343=0x0){var _0x393834=_0x16073e,_0x364e81=_0x1590b6['S'][_0x393834(0x85f)];const _0x43d27c=new _0x1590b6['l'](this,_0x364e81);return _0x43d27c['baseWidth']=_0x42829f,_0x43d27c[_0x393834(0x7f6)]=_0x45101a,_0x43d27c[_0x393834(0xa13)]=_0x40cfac,_0x43d27c['width']=_0x42829f,_0x43d27c[_0x393834(0x520)]=_0x45101a,_0x43d27c[_0x393834(0x759)]=_0x40cfac,_0x43d27c[_0x393834(0x735)]=_0x35292e,_0x43d27c[_0x393834(0x3db)]=_0x4b7f63,_0x43d27c[_0x393834(0xa04)]=_0x417bd8,_0x43d27c[_0x393834(0x91a)]=_0x135da5,_0x43d27c['is3D']=!0x0,this[_0x393834(0x695)]||(_0x43d27c[_0x393834(0x849)]=_0x2585c2),this['_textureHelper'][_0x393834(0xa51)](_0x43d27c,_0x42829f,_0x45101a,void 0x0,_0x264343),this['updateRawTexture3D'](_0x43d27c,_0x2585c2,_0x35292e,_0x13d706,_0x2f1f28,_0x4b7f63),this[_0x393834(0xa1e)][_0x393834(0x6fe)](_0x43d27c),_0x43d27c;},_0x5a7b24['f'][_0x16073e(0x3c6)][_0x16073e(0x4da)]=function(_0x35fd2f,_0x422db5,_0xb910b1,_0x23dc26,_0x4e0248=null,_0x1874e5=_0xe639eb['g'][_0x16073e(0x4b2)]){var _0x23edba=_0x16073e;this[_0x23edba(0x695)]||(_0x35fd2f['_bufferView']=_0x422db5,_0x35fd2f[_0x23edba(0x735)]=_0xb910b1,_0x35fd2f[_0x23edba(0xb90)]=_0x23dc26,_0x35fd2f[_0x23edba(0x19b)]=_0x4e0248),_0x422db5&&(_0x4e0248=_0x35fd2f[_0x23edba(0x6cf)],_0xb910b1===_0xe639eb['g']['TEXTUREFORMAT_RGB']&&(_0x422db5=_0x632aac(_0x422db5,_0x35fd2f[_0x23edba(0xb58)],_0x35fd2f['height'],_0x1874e5)),_0xb910b1=new Uint8Array(_0x422db5[_0x23edba(0xc74)],_0x422db5['byteOffset'],_0x422db5[_0x23edba(0xbda)]),this[_0x23edba(0x93a)][_0x23edba(0x6cc)](_0xb910b1,_0x35fd2f,_0x35fd2f[_0x23edba(0xb58)],_0x35fd2f[_0x23edba(0x520)],_0x35fd2f['depth'],_0x4e0248[_0x23edba(0x735)],0x0,0x0,_0x23dc26,!0x1,0x0,0x0),_0x35fd2f[_0x23edba(0xa04)]&&this[_0x23edba(0xc7d)](_0x35fd2f,this['_uploadEncoder'])),_0x35fd2f[_0x23edba(0xae3)]=!0x0;},_0x5a7b24['f'][_0x16073e(0x3c6)][_0x16073e(0x907)]=function(_0x21f7f4,_0x5d0201,_0x5410f4,_0x13046d,_0x2deadc,_0x5dcd47,_0x28a9fb,_0x5cd8bd,_0x4ed66b=null,_0x3eb115=_0xe639eb['g'][_0x16073e(0x4b2)],_0xf3a757=0x0){var _0x568cbe=_0x16073e,_0x49a3ef=_0x1590b6['S']['Raw2DArray'];const _0x319a7e=new _0x1590b6['l'](this,_0x49a3ef);return _0x319a7e[_0x568cbe(0x137)]=_0x5d0201,_0x319a7e[_0x568cbe(0x7f6)]=_0x5410f4,_0x319a7e[_0x568cbe(0xa13)]=_0x13046d,_0x319a7e[_0x568cbe(0xb58)]=_0x5d0201,_0x319a7e[_0x568cbe(0x520)]=_0x5410f4,_0x319a7e[_0x568cbe(0x759)]=_0x13046d,_0x319a7e[_0x568cbe(0x735)]=_0x2deadc,_0x319a7e[_0x568cbe(0x3db)]=_0x3eb115,_0x319a7e[_0x568cbe(0xa04)]=_0x5dcd47,_0x319a7e[_0x568cbe(0x91a)]=_0x5cd8bd,_0x319a7e[_0x568cbe(0x396)]=!0x0,this[_0x568cbe(0x695)]||(_0x319a7e[_0x568cbe(0x849)]=_0x21f7f4),this[_0x568cbe(0x93a)][_0x568cbe(0xa51)](_0x319a7e,_0x5d0201,_0x5410f4,_0x13046d,_0xf3a757),this['updateRawTexture2DArray'](_0x319a7e,_0x21f7f4,_0x2deadc,_0x28a9fb,_0x4ed66b,_0x3eb115),this[_0x568cbe(0xa1e)][_0x568cbe(0x6fe)](_0x319a7e),_0x319a7e;},_0x5a7b24['f'][_0x16073e(0x3c6)][_0x16073e(0xafd)]=function(_0x47fdf5,_0x10cd07,_0x5d8bde,_0x19b077,_0x37547d=null,_0x48ae78=_0xe639eb['g'][_0x16073e(0x4b2)]){var _0x4a025a=_0x16073e;this[_0x4a025a(0x695)]||(_0x47fdf5['_bufferView']=_0x10cd07,_0x47fdf5[_0x4a025a(0x735)]=_0x5d8bde,_0x47fdf5[_0x4a025a(0xb90)]=_0x19b077,_0x47fdf5['_compression']=_0x37547d),_0x10cd07&&(_0x37547d=_0x47fdf5[_0x4a025a(0x6cf)],_0x5d8bde===_0xe639eb['g'][_0x4a025a(0x27b)]&&(_0x10cd07=_0x632aac(_0x10cd07,_0x47fdf5['width'],_0x47fdf5[_0x4a025a(0x520)],_0x48ae78)),_0x5d8bde=new Uint8Array(_0x10cd07['buffer'],_0x10cd07['byteOffset'],_0x10cd07[_0x4a025a(0xbda)]),this[_0x4a025a(0x93a)][_0x4a025a(0x6cc)](_0x5d8bde,_0x47fdf5,_0x47fdf5[_0x4a025a(0xb58)],_0x47fdf5[_0x4a025a(0x520)],_0x47fdf5['depth'],_0x37547d['format'],0x0,0x0,_0x19b077,!0x1,0x0,0x0),_0x47fdf5[_0x4a025a(0xa04)]&&this['_generateMipmaps'](_0x47fdf5,this[_0x4a025a(0x86d)])),_0x47fdf5[_0x4a025a(0xae3)]=!0x0;},_0x5a7b24['f']['prototype'][_0x16073e(0x866)]=function(_0x304aee,_0x1b5960,_0xd4bb41,_0x9e67bb=-0x1,_0x44a0f8=0x0,_0xb5ff03=null,_0x58fc85=!0x0,_0x1aa8b0=!0x1,_0x2e7066=0x0,_0xf11db6=0x0){var _0x34cd4e=_0x16073e;return _0x304aee=_0x304aee[_0x34cd4e(0x6cf)],(_0x58fc85&&this[_0x34cd4e(0xbf8)](),this['_textureHelper'][_0x34cd4e(0x72d)](_0x304aee[_0x34cd4e(0x734)],_0x2e7066,_0xf11db6,_0x1b5960,_0xd4bb41,_0x304aee['format'],_0x9e67bb,_0x44a0f8,_0xb5ff03,_0x1aa8b0));},_0x5a7b24['f']['prototype'][_0x16073e(0x66f)]=function(){var _0x411113=_0x16073e;throw _0x411113(0x4be);};class _0x4afdbf extends _0x30ff96(0x758)['r']{}_0x5a7b24['f'][_0x16073e(0x3c6)][_0x16073e(0x4e6)]=function(_0x41aec3,_0x308aab,_0x2afd39){var _0x2ff723=_0x16073e;return _0x41aec3=new _0x4afdbf(_0x41aec3,_0x308aab,_0x2afd39,this),(this['_renderTargetWrapperCache'][_0x2ff723(0x6fe)](_0x41aec3),_0x41aec3);},_0x5a7b24['f'][_0x16073e(0x3c6)][_0x16073e(0x8c6)]=function(_0x133c04,_0x290a5a){var _0x1ad85c=_0x16073e,_0x19f54f;const _0x594912=this[_0x1ad85c(0x4e6)](!0x1,!0x1,_0x133c04),_0x10a649={},_0x46ae24=(void 0x0!==_0x290a5a&&_0x1ad85c(0xc71)==typeof _0x290a5a?(_0x10a649['generateMipMaps']=_0x290a5a['generateMipMaps'],_0x10a649['generateDepthBuffer']=void 0x0===_0x290a5a[_0x1ad85c(0x30f)]||_0x290a5a[_0x1ad85c(0x30f)],_0x10a649[_0x1ad85c(0x591)]=_0x10a649['generateDepthBuffer']&&_0x290a5a[_0x1ad85c(0x591)],_0x10a649[_0x1ad85c(0x91a)]=void 0x0===_0x290a5a[_0x1ad85c(0x91a)]?_0xe639eb['g'][_0x1ad85c(0xa01)]:_0x290a5a[_0x1ad85c(0x91a)],_0x10a649[_0x1ad85c(0x7c1)]=null!=(_0x19f54f=_0x290a5a[_0x1ad85c(0x7c1)])?_0x19f54f:0x0,_0x10a649['noColorAttachment']=!!_0x290a5a[_0x1ad85c(0x9e1)],_0x10a649[_0x1ad85c(0xc21)]=_0x290a5a[_0x1ad85c(0xc21)],_0x10a649[_0x1ad85c(0x56e)]=_0x290a5a[_0x1ad85c(0x56e)]):(_0x10a649[_0x1ad85c(0xa04)]=_0x290a5a,_0x10a649[_0x1ad85c(0x30f)]=!0x0,_0x10a649['generateStencilBuffer']=!0x1,_0x10a649[_0x1ad85c(0x91a)]=_0xe639eb['g'][_0x1ad85c(0xa01)],_0x10a649[_0x1ad85c(0x7c1)]=0x0,_0x10a649[_0x1ad85c(0x9e1)]=!0x1),_0x10a649['noColorAttachment']?null:this[_0x1ad85c(0xb68)](_0x133c04,_0x290a5a,!0x0,_0x1590b6['S'][_0x1ad85c(0x47e)]));return _0x594912[_0x1ad85c(0x350)]=null!=(_0x19f54f=_0x10a649['samples'])?_0x19f54f:0x1,_0x594912[_0x1ad85c(0x181)]=_0x10a649['generateDepthBuffer'],_0x594912[_0x1ad85c(0x3d2)]=!!_0x10a649[_0x1ad85c(0x591)],_0x594912[_0x1ad85c(0x44c)](_0x46ae24),(_0x594912[_0x1ad85c(0x181)]||_0x594912['_generateStencilBuffer'])&&_0x594912[_0x1ad85c(0x35b)](0x0,this[_0x1ad85c(0x7ac)][_0x1ad85c(0x505)]&&(void 0x0===_0x10a649[_0x1ad85c(0x91a)]||_0x10a649['samplingMode']===_0xe639eb['g'][_0x1ad85c(0x174)]||_0x10a649['samplingMode']===_0xe639eb['g']['TEXTURE_LINEAR_LINEAR']||_0x10a649[_0x1ad85c(0x91a)]===_0xe639eb['g']['TEXTURE_TRILINEAR_SAMPLINGMODE']||_0x10a649[_0x1ad85c(0x91a)]===_0xe639eb['g'][_0x1ad85c(0x22c)]||_0x10a649[_0x1ad85c(0x91a)]===_0xe639eb['g'][_0x1ad85c(0x769)]||_0x10a649[_0x1ad85c(0x91a)]===_0xe639eb['g'][_0x1ad85c(0xb71)]||_0x10a649[_0x1ad85c(0x91a)]===_0xe639eb['g']['TEXTURE_NEAREST_LINEAR']||_0x10a649[_0x1ad85c(0x91a)]===_0xe639eb['g']['TEXTURE_LINEAR_LINEAR_MIPNEAREST']),_0x594912[_0x1ad85c(0x3d2)],_0x594912[_0x1ad85c(0xc21)],_0x10a649[_0x1ad85c(0x591)]?_0xe639eb['g'][_0x1ad85c(0x69c)]:_0xe639eb['g'][_0x1ad85c(0xc0d)],_0x10a649[_0x1ad85c(0x56e)]?_0x10a649[_0x1ad85c(0x56e)]+_0x1ad85c(0x9a2):void 0x0),_0x46ae24&&(void 0x0!==_0x290a5a&&_0x1ad85c(0xc71)==typeof _0x290a5a&&_0x290a5a[_0x1ad85c(0x1dd)]&&!_0x10a649[_0x1ad85c(0xa04)]&&(_0x46ae24[_0x1ad85c(0xa04)]=!0x0),this['_textureHelper'][_0x1ad85c(0xa51)](_0x46ae24,void 0x0,void 0x0,void 0x0,_0x10a649['creationFlags']),void 0x0!==_0x290a5a&&_0x1ad85c(0xc71)==typeof _0x290a5a&&_0x290a5a[_0x1ad85c(0x1dd)]&&!_0x10a649[_0x1ad85c(0xa04)]&&(_0x46ae24[_0x1ad85c(0xa04)]=!0x1)),_0x594912;},_0x5a7b24['f']['prototype'][_0x16073e(0xc87)]=function(_0xdabc35,_0x1e9ccc){var _0x45be91=_0x16073e;const _0x16c3fe=new _0x1590b6['l'](this,_0x1590b6['S'][_0x45be91(0xb26)]);return _0x16c3fe[_0x45be91(0x56e)]=_0x1e9ccc['label'],_0x1e9ccc=Object[_0x45be91(0x245)]({'bilinearFiltering':!0x1,'comparisonFunction':0x0,'generateStencil':!0x1,'samples':0x1,'depthTextureFormat':_0x1e9ccc[_0x45be91(0xad9)]?_0xe639eb['g'][_0x45be91(0x69c)]:_0xe639eb['g']['TEXTUREFORMAT_DEPTH32_FLOAT']},_0x1e9ccc),(_0x16c3fe['format']=_0x1e9ccc[_0x45be91(0x6a8)],this[_0x45be91(0x1b2)](_0x16c3fe,_0xdabc35,_0x1e9ccc[_0x45be91(0xad9)],_0x1e9ccc[_0x45be91(0x82f)],_0x1e9ccc['comparisonFunction'],_0x1e9ccc['samples']),this[_0x45be91(0x93a)]['createGPUTextureForInternalTexture'](_0x16c3fe),this[_0x45be91(0xa1e)][_0x45be91(0x6fe)](_0x16c3fe),_0x16c3fe);},_0x5a7b24['f'][_0x16073e(0x3c6)][_0x16073e(0x1b2)]=function(_0x1e8144,_0xf25fc,_0x57cff0,_0x453ec1,_0x2b6479,_0x438ae8=0x1){var _0x352c95=_0x16073e,_0x4c6742=_0xf25fc[_0x352c95(0xb58)]||_0xf25fc,_0x4dbe81=_0xf25fc[_0x352c95(0x520)]||_0xf25fc,_0xf25fc=_0xf25fc[_0x352c95(0x39f)]||0x0;_0x1e8144['baseWidth']=_0x4c6742,_0x1e8144[_0x352c95(0x7f6)]=_0x4dbe81,_0x1e8144[_0x352c95(0xb58)]=_0x4c6742,_0x1e8144[_0x352c95(0x520)]=_0x4dbe81,_0x1e8144[_0x352c95(0x396)]=0x0<_0xf25fc,_0x1e8144[_0x352c95(0x759)]=_0xf25fc,_0x1e8144[_0x352c95(0xae3)]=!0x0,_0x1e8144['samples']=_0x438ae8,_0x1e8144['generateMipMaps']=!0x1,_0x1e8144['samplingMode']=_0x453ec1?_0xe639eb['g'][_0x352c95(0x174)]:_0xe639eb['g'][_0x352c95(0xc15)],_0x1e8144[_0x352c95(0x3db)]=_0xe639eb['g'][_0x352c95(0x75f)],_0x1e8144['_comparisonFunction']=_0x2b6479,_0x1e8144[_0x352c95(0xa0b)]=_0xe639eb['g'][_0x352c95(0x9ba)],_0x1e8144[_0x352c95(0x593)]=_0xe639eb['g'][_0x352c95(0x9ba)];},_0x5a7b24['f'][_0x16073e(0x3c6)][_0x16073e(0x415)]=function(_0x80a158,_0xb292a5){var _0x108669=_0x16073e;return _0x80a158&&_0x80a158[_0x108669(0x7a3)]&&_0x80a158[_0x108669(0xc21)]!==_0xb292a5?(_0xb292a5=Math[_0x108669(0x686)](_0xb292a5,this[_0x108669(0x19e)]()[_0x108669(0x7ae)]),this[_0x108669(0x93a)][_0x108669(0x592)](_0x80a158[_0x108669(0x7a3)],_0xb292a5),_0x80a158[_0x108669(0x339)]&&(this[_0x108669(0x93a)][_0x108669(0x592)](_0x80a158['_depthStencilTexture'],_0xb292a5),_0x80a158[_0x108669(0x339)][_0x108669(0xc21)]=_0xb292a5),_0x80a158['_samples']=_0xb292a5,_0x80a158['texture']['samples']=_0xb292a5):_0xb292a5;},_0x5a7b24['f'][_0x16073e(0x3c6)][_0x16073e(0x511)]=function(_0x508bee,_0x2b2ecf){var _0x25356d=_0x16073e;const _0x171e81=this[_0x25356d(0x4e6)](!0x1,!0x0,_0x508bee),_0xa4a83d=Object['assign']({'generateMipMaps':!0x0,'generateDepthBuffer':!0x0,'generateStencilBuffer':!0x1,'type':_0xe639eb['g'][_0x25356d(0x4b2)],'samplingMode':_0xe639eb['g']['TEXTURE_TRILINEAR_SAMPLINGMODE'],'format':_0xe639eb['g'][_0x25356d(0x196)],'samples':0x1},_0x2b2ecf),_0x582e88=(_0xa4a83d[_0x25356d(0x591)]=_0xa4a83d[_0x25356d(0x30f)]&&_0xa4a83d[_0x25356d(0x591)],_0x171e81[_0x25356d(0x181)]=_0xa4a83d[_0x25356d(0x30f)],_0x171e81['_generateStencilBuffer']=_0xa4a83d['generateStencilBuffer'],new _0x1590b6['l'](this,_0x1590b6['S'][_0x25356d(0x47e)]));return _0x582e88[_0x25356d(0xb58)]=_0x508bee,_0x582e88[_0x25356d(0x520)]=_0x508bee,_0x582e88[_0x25356d(0x759)]=0x0,_0x582e88[_0x25356d(0xae3)]=!0x0,_0x582e88[_0x25356d(0xb15)]=!0x0,_0x582e88['samples']=_0xa4a83d['samples'],_0x582e88[_0x25356d(0xa04)]=_0xa4a83d[_0x25356d(0xa04)],_0x582e88['samplingMode']=_0xa4a83d['samplingMode'],_0x582e88[_0x25356d(0x3db)]=_0xa4a83d[_0x25356d(0x3db)],_0x582e88[_0x25356d(0x735)]=_0xa4a83d['format'],this[_0x25356d(0xa1e)][_0x25356d(0x6fe)](_0x582e88),_0x171e81[_0x25356d(0x44c)](_0x582e88),(_0x171e81[_0x25356d(0x181)]||_0x171e81[_0x25356d(0x3d2)])&&_0x171e81[_0x25356d(0x35b)](0x0,void 0x0===_0xa4a83d[_0x25356d(0x91a)]||_0xa4a83d[_0x25356d(0x91a)]===_0xe639eb['g'][_0x25356d(0x174)]||_0xa4a83d['samplingMode']===_0xe639eb['g'][_0x25356d(0x773)]||_0xa4a83d[_0x25356d(0x91a)]===_0xe639eb['g'][_0x25356d(0xa01)]||_0xa4a83d[_0x25356d(0x91a)]===_0xe639eb['g']['TEXTURE_LINEAR_LINEAR_MIPLINEAR']||_0xa4a83d[_0x25356d(0x91a)]===_0xe639eb['g']['TEXTURE_NEAREST_LINEAR_MIPNEAREST']||_0xa4a83d[_0x25356d(0x91a)]===_0xe639eb['g'][_0x25356d(0xb71)]||_0xa4a83d['samplingMode']===_0xe639eb['g'][_0x25356d(0x3da)]||_0xa4a83d[_0x25356d(0x91a)]===_0xe639eb['g'][_0x25356d(0x443)],_0x171e81['_generateStencilBuffer'],_0x171e81[_0x25356d(0xc21)]),_0x2b2ecf&&_0x2b2ecf[_0x25356d(0x1dd)]&&!_0xa4a83d[_0x25356d(0xa04)]&&(_0x582e88['generateMipMaps']=!0x0),this[_0x25356d(0x93a)][_0x25356d(0xa51)](_0x582e88),_0x2b2ecf&&_0x2b2ecf[_0x25356d(0x1dd)]&&!_0xa4a83d[_0x25356d(0xa04)]&&(_0x582e88[_0x25356d(0xa04)]=!0x1),_0x171e81;},_0x17165c['Q'][_0x16073e(0x3c6)][_0x16073e(0xa1c)]=function(_0x39ecc7,_0x5eb3b2){var _0x3b2931=_0x16073e;this[_0x3b2931(0x3f5)][_0x3b2931(0xa1c)](_0x39ecc7,_0x5eb3b2);},_0x5a7b24['f']['prototype']['setTextureSampler']=function(_0x2f5b14,_0x3d47c0){var _0x170a98=_0x16073e,_0x9b9ebf;null!=(_0x9b9ebf=this[_0x170a98(0x7bc)])&&_0x9b9ebf[_0x170a98(0x97b)](_0x2f5b14,_0x3d47c0);},_0x17165c['Q'][_0x16073e(0x3c6)][_0x16073e(0xb25)]=function(_0x23f83a,_0x531d35){var _0x52fa55=_0x16073e;this[_0x52fa55(0x3f5)][_0x52fa55(0xb25)](_0x23f83a,_0x531d35);},_0x5a7b24['f'][_0x16073e(0x3c6)][_0x16073e(0x1b7)]=function(_0x56d555,_0x49dbb2){var _0x38ba29=_0x16073e;return this['_createBuffer'](_0x56d555,_0x49dbb2|_0xe639eb['g'][_0x38ba29(0x1de)]);},_0x5a7b24['f']['prototype'][_0x16073e(0x285)]=function(_0x1bbdf3,_0x43a1a9,_0xc2e07c,_0x506217){var _0x7fa5b9=_0x16073e;void 0x0===_0xc2e07c&&(_0xc2e07c=0x0);let _0xcbf04;void 0x0===_0x506217?_0x506217=(_0xcbf04=_0x43a1a9 instanceof Array?new Float32Array(_0x43a1a9):_0x43a1a9 instanceof ArrayBuffer?new Uint8Array(_0x43a1a9):_0x43a1a9)['byteLength']:_0xcbf04=_0x43a1a9 instanceof Array?new Float32Array(_0x43a1a9):_0x43a1a9 instanceof ArrayBuffer?new Uint8Array(_0x43a1a9):_0x43a1a9,this[_0x7fa5b9(0x22d)][_0x7fa5b9(0x4e4)](_0x1bbdf3,_0xc2e07c,_0xcbf04,0x0,_0x506217);},_0x5a7b24['f'][_0x16073e(0x3c6)]['readFromStorageBuffer']=function(_0x32ed7b,_0xa2887d,_0x35634e,_0x78aa48){var _0xdf780a=_0x16073e;_0x35634e=_0x35634e||_0x32ed7b['capacity'];const _0x565022=this[_0xdf780a(0x22d)][_0xdf780a(0x404)](_0x35634e,_0xe5d873['FB'][_0xdf780a(0x2fd)]|_0xe5d873['FB'][_0xdf780a(0x652)]);return this[_0xdf780a(0x16d)][_0xdf780a(0x6a5)](_0x32ed7b[_0xdf780a(0x734)],null!=_0xa2887d?_0xa2887d:0x0,_0x565022,0x0,_0x35634e),new Promise((_0x3513aa,_0x47d64c)=>{var _0xd1c9c2=_0xdf780a;this[_0xd1c9c2(0x927)][_0xd1c9c2(0xa63)](()=>{var _0x27ee22=_0xd1c9c2;_0x565022[_0x27ee22(0x664)](_0xe5d873['gc']['Read'],0x0,_0x35634e)[_0x27ee22(0x65e)](()=>{var _0x540194=_0x27ee22,_0x1c4fbf=_0x565022[_0x540194(0x330)](0x0,_0x35634e);let _0x4987c0=_0x78aa48;if(void 0x0===_0x4987c0)(_0x4987c0=new Uint8Array(_0x35634e))[_0x540194(0x532)](new Uint8Array(_0x1c4fbf));else{const _0x3d1639=_0x4987c0['constructor'];(_0x4987c0=new _0x3d1639(_0x4987c0[_0x540194(0xc74)]))[_0x540194(0x532)](new _0x3d1639(_0x1c4fbf));}_0x565022['unmap'](),this[_0x540194(0x22d)][_0x540194(0xbfa)](_0x565022),_0x3513aa(_0x4987c0);},_0x287cca=>_0x47d64c(_0x287cca));});});},_0x5a7b24['f'][_0x16073e(0x3c6)][_0x16073e(0xb25)]=function(_0x41d08a,_0x4f6a6e){var _0x58c976=_0x16073e,_0x4f5f7f;null!=(_0x4f5f7f=this['_currentDrawContext'])&&_0x4f5f7f[_0x58c976(0x6c9)](_0x41d08a,null!=(_0x4f5f7f=null==_0x4f6a6e?void 0x0:_0x4f6a6e[_0x58c976(0xb81)]())?_0x4f5f7f:null);},_0x5a7b24['f'][_0x16073e(0x3c6)][_0x16073e(0x2e3)]=function(_0x317ca1){var _0x263ec4=_0x16073e;return _0x317ca1=_0x317ca1 instanceof Array?new Float32Array(_0x317ca1):_0x317ca1,this['_bufferManager'][_0x263ec4(0x238)](_0x317ca1,_0xe5d873['FB'][_0x263ec4(0xcf3)]|_0xe5d873['FB'][_0x263ec4(0x652)]);},_0x5a7b24['f'][_0x16073e(0x3c6)][_0x16073e(0xb93)]=function(_0x224102){var _0x4cfd29=_0x16073e;return this[_0x4cfd29(0x2e3)](_0x224102);},_0x5a7b24['f'][_0x16073e(0x3c6)][_0x16073e(0xb0e)]=function(_0x188f70,_0x130495,_0x133314,_0x254a39){var _0x5c5d74=_0x16073e;void 0x0===_0x133314&&(_0x133314=0x0);let _0x1ad029;void 0x0===_0x254a39?_0x254a39=(_0x1ad029=_0x130495 instanceof Float32Array?_0x130495:new Float32Array(_0x130495))[_0x5c5d74(0xbda)]:_0x1ad029=_0x130495 instanceof Float32Array?_0x130495:new Float32Array(_0x130495),this[_0x5c5d74(0x22d)]['setSubData'](_0x188f70,_0x133314,_0x1ad029,0x0,_0x254a39);},_0x5a7b24['f'][_0x16073e(0x3c6)][_0x16073e(0x515)]=function(_0x3af19f,_0x311ad3,_0x5cbb18){var _0x3d7e01=_0x16073e;this[_0x3d7e01(0xbf7)][_0x3d7e01(0x6c9)](_0x5cbb18,_0x3af19f);},_0x5a7b24['f'][_0x16073e(0x3c6)]['bindUniformBlock']=function(){},_0x5a7b24['f']['prototype'][_0x16073e(0x5d7)]=function(_0x3083cf,_0x4d50db,_0x905f3a){var _0x13965a=_0x16073e,_0x149c2b;if(_0x3083cf&&!_0x3083cf['_isDisabled']){void 0x0===this[_0x13965a(0x1f3)]&&(this[_0x13965a(0x1f3)]=!0x0);let _0x1c58f3=_0x3083cf[_0x13965a(0x6cf)];null!=(_0x149c2b=_0x3083cf[_0x13965a(0x6cf)])&&_0x149c2b[_0x13965a(0x734)]||(_0x1c58f3=this[_0x13965a(0x93a)][_0x13965a(0xa51)](_0x3083cf)),_0x4d50db&&void 0x0!==_0x4d50db[_0x13965a(0x734)]?(this[_0x13965a(0x93a)][_0x13965a(0x647)](_0x4d50db,_0x3083cf,_0x1c58f3[_0x13965a(0x735)],!_0x905f3a),_0x3083cf[_0x13965a(0xa04)]&&this[_0x13965a(0xc7d)](_0x3083cf,this['_uploadEncoder']),_0x3083cf[_0x13965a(0xae3)]=!0x0):_0x4d50db&&this[_0x13965a(0x278)](_0x4d50db)[_0x13965a(0x65e)](_0x36561b=>{var _0x51606f=_0x13965a;this[_0x51606f(0x93a)][_0x51606f(0x6cc)](_0x36561b,_0x3083cf,_0x3083cf[_0x51606f(0xb58)],_0x3083cf[_0x51606f(0x520)],_0x3083cf[_0x51606f(0x759)],_0x1c58f3[_0x51606f(0x735)],0x0,0x0,!_0x905f3a,!0x1,0x0,0x0),_0x3083cf[_0x51606f(0xa04)]&&this[_0x51606f(0xc7d)](_0x3083cf,this[_0x51606f(0x86d)]),_0x3083cf[_0x51606f(0xae3)]=!0x0;})[_0x13965a(0x5ec)](()=>{var _0x6a150b=_0x13965a;_0x3083cf[_0x6a150b(0xae3)]=!0x0;});}};},0x11376:(_0x1ceef5,_0x10fc4a,_0x57e8d4)=>{var _0x845bd=a7_0x1ed280;_0x57e8d4['d'](_0x10fc4a,{'V':()=>_0x266c70});var _0x545a2e=_0x57e8d4(0x5e45),_0x238994=_0x57e8d4(0x13869),_0x57f1ba=_0x57e8d4(0x77a5),_0x4a4fab=_0x57e8d4(0x3c27),_0x50c19b=_0x57e8d4(0x89a1);class _0x266c70{constructor(_0x1c34ad){var _0x1792df=a7_0x3908;this['_deferredReleaseBuffers']=[],this[_0x1792df(0x5f8)]=_0x1c34ad;}static['_IsGPUBuffer'](_0x1b2382){return void 0x0===_0x1b2382['underlyingResource'];}[_0x845bd(0x404)](_0x35ece6,_0x2848a6,_0x2445d7=!0x1){var _0x1b7511=_0x845bd;return _0x35ece6=void 0x0!==_0x35ece6['byteLength']?_0x35ece6[_0x1b7511(0xbda)]+0x3&-0x4:_0x35ece6+0x3&-0x4,this[_0x1b7511(0x5f8)][_0x1b7511(0x238)]({'mappedAtCreation':_0x2445d7,'size':_0x35ece6,'usage':_0x2848a6});}[_0x845bd(0x238)](_0x38e599,_0x40ebf8){var _0x31adbd=_0x845bd,_0x50019b=void 0x0!==_0x38e599['byteLength'],_0x40ebf8=this[_0x31adbd(0x404)](_0x38e599,_0x40ebf8);const _0xf0f46c=new _0x545a2e['C'](_0x40ebf8);return _0xf0f46c[_0x31adbd(0x94f)]=0x1,_0xf0f46c[_0x31adbd(0x4c3)]=_0x50019b?_0x38e599[_0x31adbd(0xbda)]:_0x38e599,_0x50019b&&this[_0x31adbd(0x4e4)](_0xf0f46c,0x0,_0x38e599),_0xf0f46c;}[_0x845bd(0x46e)](_0x1e2bec,_0xa213fc,_0x4fabc6,_0x1d0036,_0x4782be){var _0x296cd8=_0x845bd;this[_0x296cd8(0x5f8)]['queue'][_0x296cd8(0x7b9)](_0x1e2bec,_0xa213fc,_0x4fabc6[_0x296cd8(0xc74)],_0x1d0036,_0x4782be);}[_0x845bd(0x4e4)](_0x57c595,_0x28d4fa,_0x20a76b,_0x432d0a=0x0,_0x485ab0=0x0){var _0x29f6f9=_0x845bd,_0x59b9cf=_0x57c595[_0x29f6f9(0x734)];_0x485ab0=_0x485ab0||_0x20a76b['byteLength'],_0x485ab0=Math[_0x29f6f9(0x686)](_0x485ab0,_0x57c595[_0x29f6f9(0x4c3)]-_0x28d4fa);let _0x3dfa9e=_0x20a76b[_0x29f6f9(0x224)]+_0x432d0a,_0x4b5dd4=_0x3dfa9e+_0x485ab0;var _0x17a415,_0x57c595=_0x485ab0+0x3&-0x4,_0x2b0fc6=(_0x57c595!==_0x485ab0&&(_0x17a415=new Uint8Array(_0x20a76b[_0x29f6f9(0xc74)][_0x29f6f9(0x80b)](_0x3dfa9e,_0x4b5dd4)),(_0x20a76b=new Uint8Array(_0x57c595))[_0x29f6f9(0x532)](_0x17a415),_0x432d0a=0x0,_0x3dfa9e=0x0,_0x485ab0=_0x4b5dd4=_0x57c595),0xf00000);let _0x23f250=0x0;for(;_0x4b5dd4-(_0x3dfa9e+_0x23f250)>_0x2b0fc6;)this[_0x29f6f9(0x5f8)]['queue']['writeBuffer'](_0x59b9cf,_0x28d4fa+_0x23f250,_0x20a76b[_0x29f6f9(0xc74)],_0x3dfa9e+_0x23f250,_0x2b0fc6),_0x23f250+=_0x2b0fc6;this['_device'][_0x29f6f9(0x637)]['writeBuffer'](_0x59b9cf,_0x28d4fa+_0x23f250,_0x20a76b['buffer'],_0x3dfa9e+_0x23f250,_0x485ab0-_0x23f250);}[_0x845bd(0xbeb)](_0x7b8c81,_0x3e7e28,_0x26e3fa){_0x26e3fa=_0x26e3fa||new Float32Array(_0x7b8c81);for(var _0x3889d9=new Uint16Array(_0x3e7e28);_0x7b8c81--;)_0x26e3fa[_0x7b8c81]=(0x0,_0x238994['qZ'])(_0x3889d9[_0x7b8c81]);return _0x26e3fa;}[_0x845bd(0x265)](_0x16e235,_0x5cb85a,_0x3be3df,_0x2cdb55,_0xc2cab9,_0x73ca87,_0x2249b1=_0x57f1ba['g'][_0x845bd(0x566)],_0x2db757=0x0,_0xe8b2b3=null,_0x58cae5=!0x0,_0x3b6efa=!0x1){var _0x7d766d=_0x845bd;const _0x3de1bb=_0x2249b1===_0x57f1ba['g']['TEXTURETYPE_FLOAT']?0x2:_0x2249b1===_0x57f1ba['g'][_0x7d766d(0xa57)]?0x1:0x0;return new Promise((_0x2c0049,_0x4506d1)=>{var _0x267bfb=_0x7d766d;_0x16e235[_0x267bfb(0x664)](_0x50c19b['gc']['Read'],_0x2db757,_0x5cb85a)[_0x267bfb(0x65e)](()=>{var _0x28d43f=_0x267bfb,_0x5903c8=_0x16e235['getMappedRange'](_0x2db757,_0x5cb85a);let _0xd14b09=_0xe8b2b3;if(_0x3b6efa)_0xd14b09=null===_0xd14b09?(0x0,_0x4a4fab['A'])(_0x2249b1,_0x5cb85a,!0x0,_0x5903c8):(0x0,_0x4a4fab['A'])(_0x2249b1,_0xd14b09['buffer'],void 0x0,_0x5903c8);else{if(null===_0xd14b09)switch(_0x3de1bb){case 0x0:(_0xd14b09=new Uint8Array(_0x5cb85a))[_0x28d43f(0x532)](new Uint8Array(_0x5903c8));break;case 0x1:_0xd14b09=this[_0x28d43f(0xbeb)](_0x5cb85a/0x2,_0x5903c8);break;case 0x2:(_0xd14b09=new Float32Array(_0x5cb85a/0x4))[_0x28d43f(0x532)](new Float32Array(_0x5903c8));}else switch(_0x3de1bb){case 0x0:(_0xd14b09=new Uint8Array(_0xd14b09[_0x28d43f(0xc74)]))[_0x28d43f(0x532)](new Uint8Array(_0x5903c8));break;case 0x1:_0xd14b09=this[_0x28d43f(0xbeb)](_0x5cb85a/0x2,_0x5903c8,_0xe8b2b3);break;case 0x2:(_0xd14b09=new Float32Array(_0xd14b09['buffer']))[_0x28d43f(0x532)](new Float32Array(_0x5903c8));}}if(_0xc2cab9!==_0x73ca87){0x1!=_0x3de1bb||_0x3b6efa||(_0xc2cab9*=0x2,_0x73ca87*=0x2);const _0x545d2c=new Uint8Array(_0xd14b09[_0x28d43f(0xc74)]);let _0x59f93a=_0xc2cab9,_0x232cd5=0x0;for(let _0x450317=0x1;_0x450317<_0x2cdb55;++_0x450317){_0x232cd5=_0x450317*_0x73ca87;for(let _0x11c739=0x0;_0x11c739<_0xc2cab9;++_0x11c739)_0x545d2c[_0x59f93a++]=_0x545d2c[_0x232cd5++];}_0xd14b09=0x0==_0x3de1bb||_0x3b6efa?new Uint8Array(_0x545d2c[_0x28d43f(0xc74)],0x0,_0x59f93a):new Float32Array(_0x545d2c[_0x28d43f(0xc74)],0x0,_0x59f93a/0x4);}_0x16e235[_0x28d43f(0xaa6)](),_0x58cae5&&this[_0x28d43f(0xbfa)](_0x16e235),_0x2c0049(_0xd14b09);},_0x383267=>_0x4506d1(_0x383267));});}[_0x845bd(0xbfa)](_0x14c0c5){var _0x22674a=_0x845bd;return _0x266c70['_IsGPUBuffer'](_0x14c0c5)?(this[_0x22674a(0x54a)]['push'](_0x14c0c5),!0x0):(_0x14c0c5['references']--,0x0===_0x14c0c5['references']&&(this[_0x22674a(0x54a)][_0x22674a(0x6fe)](_0x14c0c5[_0x22674a(0x734)]),!0x0));}['destroyDeferredBuffers'](){var _0x1430fb=_0x845bd;for(let _0xc57c6d=0x0;_0xc57c6d{var _0x4bcb88=a7_0x1ed280;_0x5eec5a['d'](_0x47571b,{'GB':()=>_0x580a2a,'fv':()=>_0xaf3bcc,'fw':()=>_0x15f52c,'kP':()=>_0x2cf22e,'me':()=>_0x2e10c7,'nt':()=>_0x54ebe5,'vr':()=>_0x5735b4});class _0xaf3bcc{constructor(_0x4d4e2b,_0x13e89f,_0x4892a5,_0x1409bc){var _0x331e4b=a7_0x3908;this['x']=Math[_0x331e4b(0x68f)](_0x4d4e2b),this['y']=Math[_0x331e4b(0x68f)](_0x13e89f),this['w']=Math[_0x331e4b(0x68f)](_0x4892a5),this['h']=Math['floor'](_0x1409bc);}[_0x4bcb88(0x19c)](_0x5aa256){var _0x371185=_0x4bcb88;_0x5aa256[_0x371185(0x99b)](this['x'],this['y'],this['w'],this['h'],0x0,0x1);}[_0x4bcb88(0xa3d)](){return new _0xaf3bcc(this['x'],this['y'],this['w'],this['h']);}}class _0x2e10c7{constructor(_0x31ba7f,_0x50bdff,_0x3befcb,_0x1a3dbc){this['x']=_0x31ba7f,this['y']=_0x50bdff,this['w']=_0x3befcb,this['h']=_0x1a3dbc;}['run'](_0x58bd26){_0x58bd26['setScissorRect'](this['x'],this['y'],this['w'],this['h']);}[_0x4bcb88(0xa3d)](){return new _0x2e10c7(this['x'],this['y'],this['w'],this['h']);}}class _0x5735b4{constructor(_0x1552ec){var _0x22ac1e=_0x4bcb88;this[_0x22ac1e(0x658)]=_0x1552ec;}[_0x4bcb88(0x19c)](_0x13e5ab){var _0x5eb638=_0x4bcb88;_0x13e5ab[_0x5eb638(0x977)](this[_0x5eb638(0x658)]);}[_0x4bcb88(0xa3d)](){var _0x38b62d=_0x4bcb88;return new _0x5735b4(this[_0x38b62d(0x658)]);}}class _0x2cf22e{constructor(_0x232845){this['color']=_0x232845;}[_0x4bcb88(0x19c)](_0x487f7c){var _0x3d94a0=_0x4bcb88;_0x487f7c[_0x3d94a0(0x9f2)](this[_0x3d94a0(0xc02)]);}[_0x4bcb88(0xa3d)](){var _0x61867d=_0x4bcb88;return new _0x2cf22e(this[_0x61867d(0xc02)]);}}class _0x580a2a{constructor(_0x521b99){var _0x384004=_0x4bcb88;this[_0x384004(0x5f7)]=_0x521b99;}['run'](_0x4a8cd7){var _0x4002bb=_0x4bcb88;_0x4a8cd7[_0x4002bb(0x3e5)](this['query']);}[_0x4bcb88(0xa3d)](){return new _0x580a2a(this['query']);}}class _0x15f52c{constructor(){}[_0x4bcb88(0x19c)](_0x535026){var _0x6cf23f=_0x4bcb88;_0x535026[_0x6cf23f(0x6f5)]();}[_0x4bcb88(0xa3d)](){return new _0x15f52c();}}class _0x4941c1{constructor(){var _0x210fd7=_0x4bcb88;this[_0x210fd7(0x804)]=[];}[_0x4bcb88(0x19c)](_0x5e89ed){var _0x5740ba=_0x4bcb88;_0x5e89ed[_0x5740ba(0x5af)](this[_0x5740ba(0x804)]);}[_0x4bcb88(0xa3d)](){var _0x501c5b=_0x4bcb88;const _0x598701=new _0x4941c1();return _0x598701['bundles']=this[_0x501c5b(0x804)],_0x598701;}}class _0x54ebe5{constructor(_0x4d8bf6){var _0x2aa5b6=_0x4bcb88;this[_0x2aa5b6(0x996)]=0x0,this['_device']=_0x4d8bf6,this[_0x2aa5b6(0x955)]=new Array(0xa),this[_0x2aa5b6(0x6ba)]=0x0;}[_0x4bcb88(0x743)](_0x4851c8){var _0xdef9e3=_0x4bcb88,_0x38859c;this[_0xdef9e3(0xc75)]||(_0x38859c=new _0x4941c1(),this['_list'][this['_listLength']++]=_0x38859c,this[_0xdef9e3(0x3f4)]=_0x38859c['bundles'],this[_0xdef9e3(0xc75)]=!0x0),_0x4851c8&&this[_0xdef9e3(0x3f4)][_0xdef9e3(0x6fe)](_0x4851c8);}[_0x4bcb88(0x9bd)](){var _0x204af4=_0x4bcb88;this['_currentItemIsBundle']&&this[_0x204af4(0x884)]&&(this[_0x204af4(0x3f4)][_0x204af4(0x6fe)](this[_0x204af4(0x884)]['finish']()),this[_0x204af4(0x884)]=void 0x0,this[_0x204af4(0xc75)]=!0x1);}[_0x4bcb88(0x582)](_0x46be65){var _0x24ef54=_0x4bcb88;this[_0x24ef54(0x9bd)](),this[_0x24ef54(0x955)][this[_0x24ef54(0x6ba)]++]=_0x46be65,this['_currentItemIsBundle']=!0x1;}[_0x4bcb88(0x796)](_0xec5190,_0x4e7c69,_0x164000){var _0x47b111=_0x4bcb88;return this[_0x47b111(0xc75)]||(this['addBundle'](),this[_0x47b111(0x884)]=this['_device']['createRenderBundleEncoder']({'colorFormats':_0xec5190,'depthStencilFormat':_0x4e7c69,'sampleCount':_0x164000})),this[_0x47b111(0x884)];}['close'](){var _0x74c290=_0x4bcb88;this[_0x74c290(0x9bd)]();}[_0x4bcb88(0x19c)](_0x45d3ae){var _0x4d91a6=_0x4bcb88;this['close']();for(let _0x1a0231=0x0;_0x1a0231{var _0x203e08=a7_0x1ed280;_0x41f739['d'](_0xaeeb23,{'T':()=>_0x1b7321});var _0x464cf7=_0x41f739(0x77a5),_0x151efc=_0x41f739(0x9683),_0x383417=_0x41f739(0x1114f),_0x21aadc=_0x41f739(0x59c6),_0xaeeb23=_0x41f739(0x17a92);_0xaeeb23['v'][_0x203e08(0x6d9)]['clearQuadVertexShader']='uniform\x20float\x20depthValue;\x0aconst\x20vec2\x20pos[4]={\x0avec2(-1.0,1.0),\x0avec2(1.0,1.0),\x0avec2(-1.0,-1.0),\x0avec2(1.0,-1.0)\x0a};\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0agl_Position=vec4(pos[gl_VertexID],depthValue,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a',_0xaeeb23['v'][_0x203e08(0x6d9)][_0x203e08(0x7f2)]='uniform\x20vec4\x20color;\x0avoid\x20main()\x20{\x0agl_FragColor=color;\x0a}\x0a';class _0x1b7321{constructor(_0x3b91bb,_0x49e9a7,_0x3577dd){var _0x4667f4=_0x203e08;this['_bindGroups']={},this[_0x4667f4(0x4d2)]={},this[_0x4667f4(0x5ff)]=[],this[_0x4667f4(0x5f8)]=_0x3b91bb,this[_0x4667f4(0x3f5)]=_0x49e9a7,this[_0x4667f4(0x551)]=new _0x151efc['H'](this[_0x4667f4(0x5f8)],_0x3577dd,!_0x49e9a7['_caps'][_0x4667f4(0x505)]),this[_0x4667f4(0x551)]['setDepthTestEnabled'](!0x1),this[_0x4667f4(0x551)][_0x4667f4(0xb40)](0xff),this[_0x4667f4(0x389)]=_0x49e9a7[_0x4667f4(0x77e)](_0x4667f4(0xb36),[],[_0x4667f4(0xc02),_0x4667f4(0x4a1)]);}[_0x203e08(0xbc8)](_0x1a6688){var _0x1c3659=_0x203e08;this[_0x1c3659(0xca4)]=_0x1a6688,this[_0x1c3659(0x551)][_0x1c3659(0xbc8)](_0x1a6688);}[_0x203e08(0x835)](_0x38990a){var _0x502f66=_0x203e08;this[_0x502f66(0x551)]['setColorFormat'](_0x38990a);}[_0x203e08(0xa39)](_0x4c593c,_0xe0a59e,_0x152e7e){var _0x20561b=_0x203e08;this[_0x20561b(0x551)][_0x20561b(0xa61)](_0xe0a59e,_0x152e7e),this['_cacheRenderPipeline'][_0x20561b(0xa39)](_0x4c593c);}['clear'](_0x5536b0,_0x317ebd,_0x57fa89,_0x167774,_0x2a266f=0x1){var _0x218888=_0x203e08,_0x52c8fe;let _0x3770fd,_0x555bde=null,_0x34af6a;var _0x351b9d=!!this[_0x218888(0x3f5)][_0x218888(0x9c4)];if(_0x5536b0)_0x3770fd=_0x5536b0;else{let _0x27fbf9=0x0;for(let _0x468412=this[_0x218888(0x5ff)][_0x218888(0x78d)]=0x0;_0x468412{var _0x5c8230=a7_0x1ed280;_0x53dbc0['d'](_0x139836,{'K':()=>_0x17227f});class _0x17227f extends _0x53dbc0(0x12621)['k']{constructor(_0x55c99d){var _0x47f1ca=a7_0x3908;super(!0x1),this[_0x47f1ca(0xcb1)]=_0x55c99d,this[_0x47f1ca(0xa4d)]();}get[_0x5c8230(0x215)](){var _0x43f5d5=_0x5c8230;return this[_0x43f5d5(0x559)];}set[_0x5c8230(0x215)](_0x248a8b){var _0x57aabf=_0x5c8230;this[_0x57aabf(0x559)]!==_0x248a8b&&(this['_zOffset']=_0x248a8b,this[_0x57aabf(0x68d)]=!0x0,this[_0x57aabf(0xcb1)][_0x57aabf(0x33a)](_0x248a8b));}get[_0x5c8230(0x3cc)](){var _0x524d66=_0x5c8230;return this[_0x524d66(0x699)];}set[_0x5c8230(0x3cc)](_0x1dd933){var _0x4dc20c=_0x5c8230;this[_0x4dc20c(0x699)]!==_0x1dd933&&(this['_zOffsetUnits']=_0x1dd933,this[_0x4dc20c(0x68d)]=!0x0,this[_0x4dc20c(0xcb1)][_0x4dc20c(0x447)](_0x1dd933));}get[_0x5c8230(0x34a)](){return this['_cullFace'];}set[_0x5c8230(0x34a)](_0xb0d73){var _0x3f875c=_0x5c8230;this[_0x3f875c(0x354)]!==_0xb0d73&&(this[_0x3f875c(0x354)]=_0xb0d73,this[_0x3f875c(0xcab)]=!0x0,this['_cache']['setCullFace'](null!=_0xb0d73?_0xb0d73:0x1));}get[_0x5c8230(0x2eb)](){var _0x3cc131=_0x5c8230;return this[_0x3cc131(0x8fb)];}set[_0x5c8230(0x2eb)](_0x35ccdc){var _0x5d2139=_0x5c8230;this[_0x5d2139(0x8fb)]!==_0x35ccdc&&(this[_0x5d2139(0x8fb)]=_0x35ccdc,this[_0x5d2139(0x55e)]=!0x0,this[_0x5d2139(0xcb1)][_0x5d2139(0x4b6)](!!_0x35ccdc));}get[_0x5c8230(0x43c)](){return this['_depthFunc'];}set['depthFunc'](_0x38b763){var _0x1a8067=_0x5c8230;this['_depthFunc']!==_0x38b763&&(this[_0x1a8067(0x701)]=_0x38b763,this[_0x1a8067(0xa1d)]=!0x0,this['_cache'][_0x1a8067(0x86f)](_0x38b763));}get['depthMask'](){return this['_depthMask'];}set[_0x5c8230(0x255)](_0x4ec983){var _0x288705=_0x5c8230;this[_0x288705(0x529)]!==_0x4ec983&&(this[_0x288705(0x529)]=_0x4ec983,this[_0x288705(0x9d1)]=!0x0,this[_0x288705(0xcb1)][_0x288705(0x2f5)](_0x4ec983));}get[_0x5c8230(0x59e)](){return this['_depthTest'];}set[_0x5c8230(0x59e)](_0x388e3c){var _0x1c8060=_0x5c8230;this['_depthTest']!==_0x388e3c&&(this[_0x1c8060(0xbc4)]=_0x388e3c,this['_isDepthTestDirty']=!0x0,this[_0x1c8060(0xcb1)]['setDepthTestEnabled'](_0x388e3c));}get['frontFace'](){var _0xba55c2=_0x5c8230;return this[_0xba55c2(0xa2b)];}set[_0x5c8230(0x2be)](_0x3c50c2){var _0x26ba1c=_0x5c8230;this[_0x26ba1c(0xa2b)]!==_0x3c50c2&&(this[_0x26ba1c(0xa2b)]=_0x3c50c2,this['_isFrontFaceDirty']=!0x0,this[_0x26ba1c(0xcb1)][_0x26ba1c(0x60b)](null!=_0x3c50c2?_0x3c50c2:0x2));}[_0x5c8230(0xa4d)](){var _0x4a56fb=_0x5c8230;super['reset'](),this[_0x4a56fb(0xcb1)][_0x4a56fb(0x561)]();}[_0x5c8230(0xcca)](){}}},0x18215:(_0x2530c0,_0x1a0f9d,_0x4fd2ce)=>{var _0x47a5ad=a7_0x1ed280;_0x4fd2ce['d'](_0x1a0f9d,{'Z':()=>_0x336001});var _0x43a511=_0x4fd2ce(0x1b5c),_0x32c590=_0x4fd2ce(0x89a1);class _0x336001{constructor(_0x429aa3=null){var _0x3912c9=a7_0x3908;this[_0x3912c9(0x735)]=_0x32c590['EV'][_0x3912c9(0x1af)],this[_0x3912c9(0x237)]=0x0,this[_0x3912c9(0x3dc)]=0x0,this[_0x3912c9(0x4bd)]=_0x429aa3,this[_0x3912c9(0x221)]=null,this[_0x3912c9(0x557)]=null,this[_0x3912c9(0x4d8)]=null;}get[_0x47a5ad(0x734)](){var _0x25a745=_0x47a5ad;return this[_0x25a745(0x4bd)];}[_0x47a5ad(0x64e)](_0x1c9893=0x0){var _0x2914a9=_0x47a5ad,_0x1158bd;return null!=(_0x1158bd=null==(_0x1158bd=this[_0x2914a9(0x221)])?void 0x0:_0x1158bd[_0x1c9893])?_0x1158bd:null;}[_0x47a5ad(0x4d1)](_0x68bf44,_0x4acfad=-0x1){var _0x227d8e=_0x47a5ad;this[_0x227d8e(0x221)]||(this[_0x227d8e(0x221)]=[]),-0x1===_0x4acfad&&(_0x4acfad=this[_0x227d8e(0x221)]['length']),this['_webgpuMSAATexture'][_0x4acfad]=_0x68bf44;}[_0x47a5ad(0x4bb)](){var _0x289a96=_0x47a5ad;if(this[_0x289a96(0x221)]){for(const _0x5d5320 of this[_0x289a96(0x221)])_0x5d5320['destroy']();this[_0x289a96(0x221)]=null;}}['set'](_0x573f37){var _0xbf4dc7=_0x47a5ad;this[_0xbf4dc7(0x4bd)]=_0x573f37;}[_0x47a5ad(0x8e0)](_0x2875d1,_0x5040fb,_0x134921,_0x34b64d,_0x295334){var _0x304f1d=_0x47a5ad;this[_0x304f1d(0x8f8)]({'format':this[_0x304f1d(0x735)],'dimension':_0x134921?_0x32c590['p_']['Cube']:_0x32c590['p_'][_0x304f1d(0x1e6)],'mipLevelCount':_0x5040fb?_0x43a511['R'][_0x304f1d(0xad3)](Math[_0x304f1d(0x843)](_0x34b64d,_0x295334))+0x1:0x1,'baseArrayLayer':0x0,'baseMipLevel':0x0,'arrayLayerCount':_0x134921?0x6:0x1,'aspect':_0x32c590['H7'][_0x304f1d(0x2e7)]});}[_0x47a5ad(0x8f8)](_0x5ade7c,_0x14a48a=!0x1){var _0x36d09b=_0x47a5ad;this[_0x36d09b(0x557)]=this['_webgpuTexture']['createView'](_0x5ade7c),_0x14a48a&&_0x5ade7c&&(_0x14a48a=_0x5ade7c[_0x36d09b(0xcae)],_0x5ade7c[_0x36d09b(0xcae)]=0x1,this[_0x36d09b(0x4d8)]=this[_0x36d09b(0x4bd)][_0x36d09b(0x8f8)](_0x5ade7c),_0x5ade7c['mipLevelCount']=_0x14a48a);}['reset'](){var _0xf6d15c=_0x47a5ad;this['_webgpuTexture']=null,this['_webgpuMSAATexture']=null,this[_0xf6d15c(0x557)]=null,this['viewForWriting']=null;}[_0x47a5ad(0xbd8)](){var _0xbebcf9=_0x47a5ad,_0x1fe989;null!=(_0x1fe989=this[_0xbebcf9(0x4bd)])&&_0x1fe989[_0xbebcf9(0xb9c)](),this['releaseMSAATexture'](),null!=(_0x1fe989=this[_0xbebcf9(0x8b4)])&&_0x1fe989[_0xbebcf9(0xb9c)](),this[_0xbebcf9(0xa4d)]();}}},0x10431:(_0x1c29d5,_0x4ac8d8,_0x3b8501)=>{var _0x22b89e=a7_0x1ed280;_0x3b8501['d'](_0x4ac8d8,{'D':()=>_0x2aadca});var _0xae2613=_0x3b8501(0x22dd),_0xbbf231=_0x3b8501(0x77a5),_0x518df9=_0x3b8501(0x14e86);class _0x2aadca{constructor(){var _0x3eadda=a7_0x3908;this[_0x3eadda(0xa35)]=_0x2aadca['_Counter']++,this['updateId']=0x0,this[_0x3eadda(0xa4d)]();}get[_0x22b89e(0x420)](){var _0x5961aa=_0x22b89e;return 0x0{var _0x3e4045=a7_0x1ed280;_0x289045['d'](_0xe7d192,{'D':()=>_0xff88f5});var _0x49043d=_0x289045(0x89a1),_0x400d68=_0x289045(0x16268);class _0xff88f5{constructor(_0x50f83b,_0x46aa93,_0x4ae20e,_0x5ef664=0x32,_0x369606=0x64){var _0x3230fb=a7_0x3908;this[_0x3230fb(0x462)]=[],this['_engine']=_0x50f83b,this['_device']=_0x46aa93,this[_0x3230fb(0x22d)]=_0x4ae20e,this['_frameLastBuffer']=-0x1,this[_0x3230fb(0xc8e)]=0x0,this[_0x3230fb(0x475)]=_0x369606,this[_0x3230fb(0x61d)](_0x5ef664);}get['querySet'](){var _0x37ba7f=a7_0x3908;return this['_querySet'][_0x37ba7f(0x654)];}get[_0x3e4045(0x3d9)](){var _0x5ca8d0=_0x3e4045;return this['_currentTotalIndices']!==this[_0x5ca8d0(0x462)][_0x5ca8d0(0x78d)];}get[_0x3e4045(0xbf0)](){var _0x17b744=_0x3e4045;switch(this['_engine']['_getCurrentRenderPassIndex']()){case 0x0:return void 0x0!==this[_0x17b744(0x3f5)][_0x17b744(0x8fd)][_0x17b744(0xc03)][_0x17b744(0x46f)];case 0x1:return void 0x0!==this[_0x17b744(0x3f5)][_0x17b744(0x957)][_0x17b744(0xc03)]['occlusionQuerySet'];}return!0x1;}['createQuery'](){var _0xf452dc=_0x3e4045;0x0===this[_0xf452dc(0x462)][_0xf452dc(0x78d)]&&this[_0xf452dc(0x61d)]();var _0xaaa675=this[_0xf452dc(0x462)][this[_0xf452dc(0x462)]['length']-0x1];return this['_availableIndices'][_0xf452dc(0x78d)]--,_0xaaa675;}[_0x3e4045(0x671)](_0x4c173c){var _0xc3203d=_0x3e4045;this[_0xc3203d(0x462)][this[_0xc3203d(0x462)]['length']-0x1]=_0x4c173c;}['isQueryResultAvailable'](_0xc370f8){var _0x5959cb=_0x3e4045;return this[_0x5959cb(0x170)](),!!this[_0x5959cb(0x68a)]&&_0xc370f8{this['_lastBuffer']=_0x590cf1;}));}[_0x3e4045(0x61d)](_0x4e8cee){var _0x1d2e7c=_0x3e4045;_0x4e8cee=null!=_0x4e8cee?_0x4e8cee:this[_0x1d2e7c(0x475)],this[_0x1d2e7c(0x56f)]();for(let _0x5e64fa=0x0;_0x5e64fa<_0x4e8cee;++_0x5e64fa)this[_0x1d2e7c(0x462)][_0x1d2e7c(0x6fe)](this['_currentTotalIndices']+_0x5e64fa);this['_currentTotalIndices']+=_0x4e8cee,this[_0x1d2e7c(0x959)]=new _0x400d68['t'](this[_0x1d2e7c(0xc8e)],_0x49043d['xL']['Occlusion'],this[_0x1d2e7c(0x5f8)],this[_0x1d2e7c(0x22d)],!0x1);}['_delayQuerySetDispose'](){var _0x18d1cd=_0x3e4045;const _0x4cfb15=this[_0x18d1cd(0x959)];_0x4cfb15&&setTimeout(()=>_0x4cfb15[_0x18d1cd(0x27f)],0x3e8);}[_0x3e4045(0x27f)](){var _0x451c86=_0x3e4045,_0x3fb626;null!=(_0x3fb626=this[_0x451c86(0x959)])&&_0x3fb626[_0x451c86(0x27f)](),this[_0x451c86(0x462)][_0x451c86(0x78d)]=0x0;}}},0xf715:(_0x1973d0,_0x1b4b76,_0x5dca74)=>{var _0x5083eb=a7_0x1ed280;_0x5dca74['d'](_0x1b4b76,{'$':()=>_0x599654});var _0x5a8f21=_0x5dca74(0x149c5),_0x49a3b6=_0x5dca74(0xe83b);class _0x599654{constructor(_0xb00277,_0x4e8e41){var _0x1f8c44=a7_0x3908;this[_0x1f8c44(0x65f)]=_0x1f8c44(0x301),this[_0x1f8c44(0x2f8)]=_0xb00277,this[_0x1f8c44(0x950)]={},this['engine']=_0x4e8e41;}get[_0x5083eb(0x439)](){return!0x1;}get[_0x5083eb(0xae3)](){var _0x697981=_0x5083eb;return!!this[_0x697981(0xb33)];}[_0x5083eb(0xc36)](){}[_0x5083eb(0x674)](_0x1c7dc6,_0x26cff6,_0x37638b,_0x206fe8,_0x20e4eb,_0x4882e2,_0x3f7c87,_0x5d0fe8){var _0x47eaae=_0x5083eb;const _0x2b14f5=this[_0x47eaae(0x75d)];_0x1c7dc6[_0x47eaae(0xa66)]='',_0x1c7dc6['_vertexSourceCode']='';var _0x3857f3=this[_0x47eaae(0x2f8)][_0x47eaae(0x8cc)];let _0x54c030;for(_0x54c030=0x0;_0x54c030<_0x20e4eb[_0x47eaae(0x78d)];_0x54c030++){var _0x48b2f2=_0x20e4eb[_0x54c030];null==_0x3857f3[_0x20e4eb[_0x54c030]]?(_0x20e4eb[_0x47eaae(0xb1e)](_0x54c030,0x1),_0x54c030--):_0x4882e2[_0x48b2f2]=_0x54c030;}for(const _0x366f9f of _0x2b14f5[_0x47eaae(0xae8)](this,_0x3f7c87))_0x5d0fe8['push'](_0x366f9f);this[_0x47eaae(0x199)]();const _0x57ad62=[],_0x49c757=[];for(_0x54c030=0x0;_0x54c030<_0x3f7c87[_0x47eaae(0x78d)];_0x54c030++){var _0x92c9c=_0x5d0fe8[_0x54c030];0x0<=_0x92c9c&&(_0x57ad62[_0x47eaae(0x6fe)](_0x3f7c87[_0x54c030]),_0x49c757[_0x47eaae(0x6fe)](_0x92c9c));}this[_0x47eaae(0x2f8)][_0x47eaae(0x752)]=_0x57ad62,this[_0x47eaae(0x2f8)][_0x47eaae(0x8f0)]=_0x49c757;}[_0x5083eb(0x199)](){var _0x58b3e2=_0x5083eb;if(this[_0x58b3e2(0x2f8)][_0x58b3e2(0x7d3)][_0x58b3e2(0x78d)]){this['uniformBuffer']=new _0x5a8f21['M'](this[_0x58b3e2(0x75d)],void 0x0,void 0x0,_0x58b3e2(0x6eb)+this[_0x58b3e2(0x65f)]);for(const _0x51a7eb of this[_0x58b3e2(0x2f8)]['leftOverUniforms']){var _0x3b0958=_0x51a7eb[_0x58b3e2(0x3db)][_0x58b3e2(0xa09)](/^(.*?)(<.*>)?$/,'$1'),_0x3b0958=_0x49a3b6['e'][_0x58b3e2(0x712)][_0x3b0958];this[_0x58b3e2(0x87a)][_0x58b3e2(0x296)](_0x51a7eb[_0x58b3e2(0xa21)],_0x3b0958,_0x51a7eb['length']),this['_leftOverUniformsByName'][_0x51a7eb[_0x58b3e2(0xa21)]]=_0x51a7eb[_0x58b3e2(0x3db)];}this['uniformBuffer'][_0x58b3e2(0x524)]();}}[_0x5083eb(0x27f)](){var _0x4b3ffa=_0x5083eb;this[_0x4b3ffa(0x87a)]&&this[_0x4b3ffa(0x87a)][_0x4b3ffa(0x27f)]();}[_0x5083eb(0x455)](_0x1dc174,_0xc7d3ac){var _0x382343=_0x5083eb;this['uniformBuffer']&&this[_0x382343(0x950)][_0x1dc174]&&this[_0x382343(0x87a)][_0x382343(0x684)](_0x1dc174,_0xc7d3ac);}[_0x5083eb(0x3d6)](_0x2bda49,_0x532cda,_0x3cb9e9){var _0x3a3b85=_0x5083eb;this[_0x3a3b85(0x87a)]&&this[_0x3a3b85(0x950)][_0x2bda49]&&this[_0x3a3b85(0x87a)][_0x3a3b85(0x4a8)](_0x2bda49,_0x532cda,_0x3cb9e9);}[_0x5083eb(0x51e)](_0x2863d3,_0x3f0a3e,_0x22efb6,_0x1142e3){var _0x2bb55f=_0x5083eb;this[_0x2bb55f(0x87a)]&&this[_0x2bb55f(0x950)][_0x2863d3]&&this['uniformBuffer']['updateInt3'](_0x2863d3,_0x3f0a3e,_0x22efb6,_0x1142e3);}[_0x5083eb(0x5ab)](_0x333004,_0x4e8902,_0xb1b018,_0x16a04d,_0x377315){var _0x1285b4=_0x5083eb;this[_0x1285b4(0x87a)]&&this[_0x1285b4(0x950)][_0x333004]&&this[_0x1285b4(0x87a)][_0x1285b4(0x980)](_0x333004,_0x4e8902,_0xb1b018,_0x16a04d,_0x377315);}['setIntArray'](_0x69f28a,_0x2309a7){var _0x13e37a=_0x5083eb;this[_0x13e37a(0x87a)]&&this[_0x13e37a(0x950)][_0x69f28a]&&this[_0x13e37a(0x87a)][_0x13e37a(0x302)](_0x69f28a,_0x2309a7);}[_0x5083eb(0xa5a)](_0x4966ec,_0x59b16e){var _0x30d4be=_0x5083eb;this[_0x30d4be(0x3ad)](_0x4966ec,_0x59b16e);}['setIntArray3'](_0x37a273,_0x3e5ce2){this['setIntArray'](_0x37a273,_0x3e5ce2);}['setIntArray4'](_0x3d980a,_0x599026){var _0xfab582=_0x5083eb;this[_0xfab582(0x3ad)](_0x3d980a,_0x599026);}[_0x5083eb(0x2b1)](_0x52bb23,_0x43d3a8){this['uniformBuffer']&&this['_leftOverUniformsByName'][_0x52bb23]&&this['uniformBuffer']['updateUInt'](_0x52bb23,_0x43d3a8);}[_0x5083eb(0x70c)](_0x35ac10,_0x4fac21,_0x565f7e){var _0x510257=_0x5083eb;this[_0x510257(0x87a)]&&this['_leftOverUniformsByName'][_0x35ac10]&&this['uniformBuffer'][_0x510257(0x149)](_0x35ac10,_0x4fac21,_0x565f7e);}[_0x5083eb(0x988)](_0x58d052,_0x5e0cc3,_0x19df0b,_0x5daf91){var _0x9add8=_0x5083eb;this[_0x9add8(0x87a)]&&this[_0x9add8(0x950)][_0x58d052]&&this[_0x9add8(0x87a)][_0x9add8(0x9b5)](_0x58d052,_0x5e0cc3,_0x19df0b,_0x5daf91);}[_0x5083eb(0x9a9)](_0x1b4bc5,_0x192213,_0xea8d61,_0x522396,_0x109814){var _0x30cdc7=_0x5083eb;this[_0x30cdc7(0x87a)]&&this[_0x30cdc7(0x950)][_0x1b4bc5]&&this[_0x30cdc7(0x87a)]['updateUInt4'](_0x1b4bc5,_0x192213,_0xea8d61,_0x522396,_0x109814);}['setUIntArray'](_0x33d9d4,_0x129789){var _0x4b4e67=_0x5083eb;this['uniformBuffer']&&this[_0x4b4e67(0x950)][_0x33d9d4]&&this['uniformBuffer']['updateUIntArray'](_0x33d9d4,_0x129789);}['setUIntArray2'](_0x1b04bf,_0x3c7ecb){var _0x7d2312=_0x5083eb;this[_0x7d2312(0x707)](_0x1b04bf,_0x3c7ecb);}[_0x5083eb(0x8da)](_0x3c0a81,_0x1bace3){var _0x503cf2=_0x5083eb;this[_0x503cf2(0x707)](_0x3c0a81,_0x1bace3);}['setUIntArray4'](_0x416964,_0x1000ea){var _0x1c16cc=_0x5083eb;this[_0x1c16cc(0x707)](_0x416964,_0x1000ea);}[_0x5083eb(0xaa5)](_0x6790e8,_0x22d834){var _0x569816=_0x5083eb;this[_0x569816(0x87a)]&&this[_0x569816(0x950)][_0x6790e8]&&this['uniformBuffer'][_0x569816(0x2a4)](_0x6790e8,_0x22d834);}['setArray2'](_0x25ab67,_0x338354){var _0x2f08e3=_0x5083eb;this[_0x2f08e3(0xaa5)](_0x25ab67,_0x338354);}['setArray3'](_0x5e373f,_0xb0be66){var _0x361553=_0x5083eb;this[_0x361553(0xaa5)](_0x5e373f,_0xb0be66);}[_0x5083eb(0x6c3)](_0x222a3f,_0x1946a3){var _0x13358d=_0x5083eb;this[_0x13358d(0xaa5)](_0x222a3f,_0x1946a3);}[_0x5083eb(0x885)](_0x200640,_0x2fee9e){var _0x3f69a1=_0x5083eb;this['uniformBuffer']&&this[_0x3f69a1(0x950)][_0x200640]&&this[_0x3f69a1(0x87a)][_0x3f69a1(0x600)](_0x200640,_0x2fee9e);}[_0x5083eb(0x96d)](_0x5a42c0,_0x47818d){var _0x2132c0=_0x5083eb;this['uniformBuffer']&&this[_0x2132c0(0x950)][_0x5a42c0]&&this[_0x2132c0(0x87a)]['updateMatrix'](_0x5a42c0,_0x47818d);}[_0x5083eb(0x827)](_0x23d0d6,_0x4fe7b6){var _0xd7bdfe=_0x5083eb;this[_0xd7bdfe(0x87a)]&&this[_0xd7bdfe(0x950)][_0x23d0d6]&&this[_0xd7bdfe(0x87a)][_0xd7bdfe(0x84a)](_0x23d0d6,_0x4fe7b6);}[_0x5083eb(0x314)](_0x114e0f,_0x4b25ad){var _0x5df176=_0x5083eb;this[_0x5df176(0x87a)]&&this[_0x5df176(0x950)][_0x114e0f]&&this[_0x5df176(0x87a)][_0x5df176(0x4e7)](_0x114e0f,_0x4b25ad);}[_0x5083eb(0x3d1)](_0x42a56f,_0x17f620){var _0xb5b1c0=_0x5083eb;this[_0xb5b1c0(0x87a)]&&this[_0xb5b1c0(0x950)][_0x42a56f]&&this[_0xb5b1c0(0x87a)][_0xb5b1c0(0x472)](_0x42a56f,_0x17f620);}['setVector2'](_0x49cc52,_0x22090f){var _0x33d1b1=_0x5083eb;this[_0x33d1b1(0x1a4)](_0x49cc52,_0x22090f['x'],_0x22090f['y']);}[_0x5083eb(0x1a4)](_0x4193e2,_0xbf35f0,_0x44f790){var _0x4d33d2=_0x5083eb;this['uniformBuffer']&&this[_0x4d33d2(0x950)][_0x4193e2]&&this['uniformBuffer'][_0x4d33d2(0x8fa)](_0x4193e2,_0xbf35f0,_0x44f790);}[_0x5083eb(0x500)](_0xfb21f3,_0x17be86){var _0x329699=_0x5083eb;this[_0x329699(0x670)](_0xfb21f3,_0x17be86['x'],_0x17be86['y'],_0x17be86['z']);}['setFloat3'](_0xfa8081,_0x4acb2a,_0x502d9b,_0x4ecab4){var _0x17df40=_0x5083eb;this['uniformBuffer']&&this[_0x17df40(0x950)][_0xfa8081]&&this[_0x17df40(0x87a)][_0x17df40(0x9cb)](_0xfa8081,_0x4acb2a,_0x502d9b,_0x4ecab4);}[_0x5083eb(0x43a)](_0x26933e,_0x3feb6a){this['setFloat4'](_0x26933e,_0x3feb6a['x'],_0x3feb6a['y'],_0x3feb6a['z'],_0x3feb6a['w']);}[_0x5083eb(0x78f)](_0x14ed75,_0x338a9c){var _0xa336a9=_0x5083eb;this[_0xa336a9(0x20e)](_0x14ed75,_0x338a9c['x'],_0x338a9c['y'],_0x338a9c['z'],_0x338a9c['w']);}[_0x5083eb(0x20e)](_0x4e838f,_0x5404be,_0x4e1a08,_0x53bb6f,_0x3a5938){var _0x4b3966=_0x5083eb;this['uniformBuffer']&&this['_leftOverUniformsByName'][_0x4e838f]&&this['uniformBuffer'][_0x4b3966(0x974)](_0x4e838f,_0x5404be,_0x4e1a08,_0x53bb6f,_0x3a5938);}[_0x5083eb(0xaeb)](_0x625855,_0x463a92){var _0x4ba991=_0x5083eb;this[_0x4ba991(0x670)](_0x625855,_0x463a92['r'],_0x463a92['g'],_0x463a92['b']);}[_0x5083eb(0xadf)](_0x58163a,_0x334816,_0x4e0b68){var _0x27ce86=_0x5083eb;this[_0x27ce86(0x20e)](_0x58163a,_0x334816['r'],_0x334816['g'],_0x334816['b'],_0x4e0b68);}[_0x5083eb(0x40c)](_0x1d2331,_0xc2e377){var _0x39dc24=_0x5083eb;this[_0x39dc24(0x20e)](_0x1d2331,_0xc2e377['r'],_0xc2e377['g'],_0xc2e377['b'],_0xc2e377['a']);}[_0x5083eb(0x96a)](){var _0x3fc252=_0x5083eb,_0x264719;return null==(_0x264719=this[_0x3fc252(0x79a)])?void 0x0:_0x264719['vertex'];}['_getFragmentShaderCode'](){var _0x4c03f3=_0x5083eb,_0x15a387;return null==(_0x15a387=this[_0x4c03f3(0x79a)])?void 0x0:_0x15a387[_0x4c03f3(0x3e7)];}}},0x16268:(_0x477cf6,_0x4ce7be,_0x3cb2ab)=>{var _0x3dacf8=a7_0x1ed280;_0x3cb2ab['d'](_0x4ce7be,{'t':()=>_0x565ad8});function _0x364f51(_0x562e51,_0x30bfbf,_0x388d14,_0x526548){return new(_0x388d14=_0x388d14||Promise)(function(_0x102820,_0x559a7e){function _0x179533(_0x89ead3){var _0x3b1fa6=a7_0x3908;try{_0x435a82(_0x526548[_0x3b1fa6(0x434)](_0x89ead3));}catch(_0x4e2c02){_0x559a7e(_0x4e2c02);}}function _0x534fbb(_0x39b171){try{_0x435a82(_0x526548['throw'](_0x39b171));}catch(_0x143c7b){_0x559a7e(_0x143c7b);}}function _0x435a82(_0x28e63c){var _0xa1f5f8=a7_0x3908,_0x43fc38;_0x28e63c[_0xa1f5f8(0xa65)]?_0x102820(_0x28e63c[_0xa1f5f8(0x463)]):((_0x43fc38=_0x28e63c['value'])instanceof _0x388d14?_0x43fc38:new _0x388d14(function(_0x2d9b17){_0x2d9b17(_0x43fc38);}))['then'](_0x179533,_0x534fbb);}_0x435a82((_0x526548=_0x526548['apply'](_0x562e51,_0x30bfbf||[]))['next']());});}var _0x2d9346=_0x3cb2ab(0x89a1);class _0x565ad8{constructor(_0xb5466d,_0x2025b0,_0x520e90,_0x577d48,_0x5a79e9=!0x0){var _0x4f42c0=a7_0x3908;this[_0x4f42c0(0x982)]=[],this[_0x4f42c0(0x5f8)]=_0x520e90,this[_0x4f42c0(0x22d)]=_0x577d48,this[_0x4f42c0(0x605)]=_0xb5466d,this[_0x4f42c0(0xc23)]=_0x5a79e9,this[_0x4f42c0(0x959)]=_0x520e90[_0x4f42c0(0xadc)]({'type':_0x2025b0,'count':_0xb5466d}),this[_0x4f42c0(0xcc4)]=_0x577d48[_0x4f42c0(0x404)](0x8*_0xb5466d,_0x2d9346['FB'][_0x4f42c0(0xbba)]|_0x2d9346['FB'][_0x4f42c0(0x4f6)]),_0x5a79e9||this[_0x4f42c0(0x982)][_0x4f42c0(0x6fe)](this[_0x4f42c0(0x22d)][_0x4f42c0(0x404)](0x8*this[_0x4f42c0(0x605)],_0x2d9346['FB'][_0x4f42c0(0x2fd)]|_0x2d9346['FB']['CopyDst']));}get[_0x3dacf8(0x654)](){return this['_querySet'];}[_0x3dacf8(0xad4)](_0x2b1882,_0x1bc020){var _0x249e56=_0x3dacf8;if(!this[_0x249e56(0xc23)]&&0x0===this[_0x249e56(0x982)][_0x249e56(0x78d)])return null;const _0x3e29dd=this[_0x249e56(0x5f8)]['createCommandEncoder']();let _0x269d16;return 0x0===this[_0x249e56(0x982)]['length']?_0x269d16=this[_0x249e56(0x22d)][_0x249e56(0x404)](0x8*this[_0x249e56(0x605)],_0x2d9346['FB'][_0x249e56(0x2fd)]|_0x2d9346['FB'][_0x249e56(0x652)]):(_0x269d16=this['_dstBuffers'][this[_0x249e56(0x982)][_0x249e56(0x78d)]-0x1],this[_0x249e56(0x982)][_0x249e56(0x78d)]--),_0x3e29dd['resolveQuerySet'](this['_querySet'],_0x2b1882,_0x1bc020,this[_0x249e56(0xcc4)],0x0),_0x3e29dd['copyBufferToBuffer'](this[_0x249e56(0xcc4)],0x0,_0x269d16,0x0,0x8*_0x1bc020),this[_0x249e56(0x5f8)][_0x249e56(0x637)][_0x249e56(0xc98)]([_0x3e29dd[_0x249e56(0x586)]()]),_0x269d16;}[_0x3dacf8(0x16e)](_0x249545=0x0,_0x36f9e4=0x1){return _0x364f51(this,void 0x0,void 0x0,function*(){var _0x29b0a9=a7_0x3908;const _0x50b901=this[_0x29b0a9(0xad4)](_0x249545,_0x36f9e4);if(null===_0x50b901)return null;yield _0x50b901[_0x29b0a9(0x664)](_0x2d9346['gc'][_0x29b0a9(0x893)]);var _0x488305=new BigUint64Array(_0x50b901[_0x29b0a9(0x330)]())[_0x29b0a9(0x80b)]();return _0x50b901[_0x29b0a9(0xaa6)](),this[_0x29b0a9(0x982)][this['_dstBuffers'][_0x29b0a9(0x78d)]]=_0x50b901,_0x488305;});}[_0x3dacf8(0x2e4)](_0x510bef=0x0){return _0x364f51(this,void 0x0,void 0x0,function*(){var _0x176436=a7_0x3908;const _0x31f8d7=this[_0x176436(0xad4)](_0x510bef,0x1);if(null===_0x31f8d7)return null;yield _0x31f8d7['mapAsync'](_0x2d9346['gc'][_0x176436(0x893)]);var _0x2e8514=new BigUint64Array(_0x31f8d7[_0x176436(0x330)]()),_0x2e8514=Number(_0x2e8514[0x0]);return _0x31f8d7[_0x176436(0xaa6)](),this['_dstBuffers'][this['_dstBuffers'][_0x176436(0x78d)]]=_0x31f8d7,_0x2e8514;});}['readTwoValuesAndSubtract'](_0x19a396=0x0){return _0x364f51(this,void 0x0,void 0x0,function*(){var _0x5746ae=a7_0x3908;const _0x161e7d=this['_getBuffer'](_0x19a396,0x2);if(null===_0x161e7d)return null;yield _0x161e7d[_0x5746ae(0x664)](_0x2d9346['gc'][_0x5746ae(0x893)]);var _0x504854=new BigUint64Array(_0x161e7d[_0x5746ae(0x330)]()),_0x504854=Number(_0x504854[0x1]-_0x504854[0x0]);return _0x161e7d[_0x5746ae(0xaa6)](),this['_dstBuffers'][this[_0x5746ae(0x982)][_0x5746ae(0x78d)]]=_0x161e7d,_0x504854;});}[_0x3dacf8(0x27f)](){var _0x324db5=_0x3dacf8;this[_0x324db5(0x959)][_0x324db5(0xb9c)](),this['_bufferManager'][_0x324db5(0xbfa)](this[_0x324db5(0xcc4)]);for(let _0x1bc19e=0x0;_0x1bc19e{var _0x4a649e=a7_0x1ed280;_0x21ac2c['d'](_0x4f1942,{'B':()=>_0x292ff8});class _0x292ff8{constructor(){var _0x278468=a7_0x3908;this[_0x278468(0xb07)]=[],this[_0x278468(0xa4d)]();}[_0x4a649e(0xa4d)](_0x6b2bf8=!0x1){var _0x1120da=_0x4a649e;this['renderPass']=null,_0x6b2bf8&&(this[_0x1120da(0xc03)]=null,this[_0x1120da(0xaa3)]=null,this['depthAttachmentViewDescriptor']=null,this['colorAttachmentGPUTextures']=[],this[_0x1120da(0x6a8)]=void 0x0);}}},0x1114f:(_0x7447c7,_0x1407da,_0xc35c01)=>{var _0x24b715=a7_0x1ed280;_0xc35c01['d'](_0x1407da,{'d':()=>_0x6f9d2d});const _0x2cf9a3={'mat2':0x2,'mat3':0x3,'mat4':0x4,'mat2x2':0x2,'mat3x3':0x3,'mat4x4':0x4};class _0x6f9d2d{constructor(_0x5c79ad){var _0x547f0d=a7_0x3908;this[_0x547f0d(0xd1e)]=_0x5c79ad,this[_0x547f0d(0x89d)]=0x0,this[_0x547f0d(0xc3d)]=0x0,this[_0x547f0d(0x150)]=0x0,this[_0x547f0d(0x569)]=0x0,this['availableVaryings']={},this[_0x547f0d(0xab3)]={},this[_0x547f0d(0x789)]={},this[_0x547f0d(0x8cc)]={},this[_0x547f0d(0xcb6)]={},this['orderedAttributes']=[],this[_0x547f0d(0x742)]=[],this['bindGroupLayoutEntryInfo']=[],this['bindGroupEntries']=[],this[_0x547f0d(0x7cd)]=[],this[_0x547f0d(0x2a8)]=[],this[_0x547f0d(0x6a4)]=[],this[_0x547f0d(0x7d3)]=[],this['_findStartingGroupBinding']();}static get[_0x24b715(0x9aa)](){var _0x460bff=_0x24b715;return _0x6f9d2d[_0x460bff(0xac2)]?_0x6f9d2d[_0x460bff(0x158)]:_0x6f9d2d[_0x460bff(0x733)];}[_0x24b715(0xd1d)](){var _0x4d0fb1=_0x24b715,_0x4e785d=_0x6f9d2d['KnownUBOs'];const _0x346fad=[];for(const _0x4b5613 in _0x4e785d){var _0x1e229b=_0x4e785d[_0x4b5613][_0x4d0fb1(0x18e)];-0x1!==_0x1e229b['groupIndex']&&(void 0x0===_0x346fad[_0x1e229b[_0x4d0fb1(0xba7)]]?_0x346fad[_0x1e229b['groupIndex']]=_0x1e229b[_0x4d0fb1(0x1e8)]:_0x346fad[_0x1e229b[_0x4d0fb1(0xba7)]]=Math['max'](_0x346fad[_0x1e229b[_0x4d0fb1(0xba7)]],_0x1e229b[_0x4d0fb1(0x1e8)]));}this[_0x4d0fb1(0x150)]=_0x346fad[_0x4d0fb1(0x78d)]-0x1,0x0===this[_0x4d0fb1(0x150)]?(this[_0x4d0fb1(0x150)]++,this[_0x4d0fb1(0x569)]=0x0):this['freeBindingIndex']=_0x346fad[_0x346fad[_0x4d0fb1(0x78d)]-0x1]+0x1;}[_0x24b715(0xbfc)](_0x27e379,_0x27d0f8=0x0){var _0x31a071=_0x24b715,_0x50eac8=this[_0x31a071(0x89d)];return this['_attributeNextLocation']+=(null!=(_0x27e379=_0x2cf9a3[_0x27e379])?_0x27e379:0x1)*(_0x27d0f8||0x1),_0x50eac8;}[_0x24b715(0x594)](_0x1d74a6,_0x1f09f4=0x0){var _0x224088=_0x24b715,_0x5cd1d4=this[_0x224088(0xc3d)];return this[_0x224088(0xc3d)]+=(null!=(_0x1d74a6=_0x2cf9a3[_0x1d74a6])?_0x1d74a6:0x1)*(_0x1f09f4||0x1),_0x5cd1d4;}[_0x24b715(0x3c8)](){var _0x1d7bcb=_0x24b715;return this[_0x1d7bcb(0x210)](0x1);}[_0x24b715(0x210)](_0x3933fb){var _0x21bbfd=_0x24b715;if(this[_0x21bbfd(0x569)]>0x10000-_0x3933fb&&(this[_0x21bbfd(0x150)]++,this[_0x21bbfd(0x569)]=0x0),0x4===this[_0x21bbfd(0x150)])throw _0x21bbfd(0x77a);var _0x41131e={'groupIndex':this['freeGroupIndex'],'bindingIndex':this[_0x21bbfd(0x569)]};return this[_0x21bbfd(0x569)]+=_0x3933fb,_0x41131e;}}_0x6f9d2d['_SimplifiedKnownBindings']=!0x0,_0x6f9d2d[_0x24b715(0x158)]={'Scene':{'binding':{'groupIndex':0x0,'bindingIndex':0x0}},'Light0':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light1':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light2':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light3':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light4':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light5':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light6':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light7':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light8':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light9':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light10':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light11':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light12':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light13':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light14':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light15':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light16':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light17':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light18':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light19':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light20':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light21':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light22':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light23':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light24':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light25':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light26':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light27':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light28':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light29':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light30':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light31':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Material':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Mesh':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Internals':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}}},_0x6f9d2d[_0x24b715(0x733)]={'Scene':{'binding':{'groupIndex':0x0,'bindingIndex':0x0}},'Light0':{'binding':{'groupIndex':0x1,'bindingIndex':0x0}},'Light1':{'binding':{'groupIndex':0x1,'bindingIndex':0x1}},'Light2':{'binding':{'groupIndex':0x1,'bindingIndex':0x2}},'Light3':{'binding':{'groupIndex':0x1,'bindingIndex':0x3}},'Light4':{'binding':{'groupIndex':0x1,'bindingIndex':0x4}},'Light5':{'binding':{'groupIndex':0x1,'bindingIndex':0x5}},'Light6':{'binding':{'groupIndex':0x1,'bindingIndex':0x6}},'Light7':{'binding':{'groupIndex':0x1,'bindingIndex':0x7}},'Light8':{'binding':{'groupIndex':0x1,'bindingIndex':0x8}},'Light9':{'binding':{'groupIndex':0x1,'bindingIndex':0x9}},'Light10':{'binding':{'groupIndex':0x1,'bindingIndex':0xa}},'Light11':{'binding':{'groupIndex':0x1,'bindingIndex':0xb}},'Light12':{'binding':{'groupIndex':0x1,'bindingIndex':0xc}},'Light13':{'binding':{'groupIndex':0x1,'bindingIndex':0xd}},'Light14':{'binding':{'groupIndex':0x1,'bindingIndex':0xe}},'Light15':{'binding':{'groupIndex':0x1,'bindingIndex':0xf}},'Light16':{'binding':{'groupIndex':0x1,'bindingIndex':0x10}},'Light17':{'binding':{'groupIndex':0x1,'bindingIndex':0x11}},'Light18':{'binding':{'groupIndex':0x1,'bindingIndex':0x12}},'Light19':{'binding':{'groupIndex':0x1,'bindingIndex':0x13}},'Light20':{'binding':{'groupIndex':0x1,'bindingIndex':0x14}},'Light21':{'binding':{'groupIndex':0x1,'bindingIndex':0x15}},'Light22':{'binding':{'groupIndex':0x1,'bindingIndex':0x16}},'Light23':{'binding':{'groupIndex':0x1,'bindingIndex':0x17}},'Light24':{'binding':{'groupIndex':0x1,'bindingIndex':0x18}},'Light25':{'binding':{'groupIndex':0x1,'bindingIndex':0x19}},'Light26':{'binding':{'groupIndex':0x1,'bindingIndex':0x1a}},'Light27':{'binding':{'groupIndex':0x1,'bindingIndex':0x1b}},'Light28':{'binding':{'groupIndex':0x1,'bindingIndex':0x1c}},'Light29':{'binding':{'groupIndex':0x1,'bindingIndex':0x1d}},'Light30':{'binding':{'groupIndex':0x1,'bindingIndex':0x1e}},'Light31':{'binding':{'groupIndex':0x1,'bindingIndex':0x1f}},'Material':{'binding':{'groupIndex':0x2,'bindingIndex':0x0}},'Mesh':{'binding':{'groupIndex':0x2,'bindingIndex':0x1}},'Internals':{'binding':{'groupIndex':0x2,'bindingIndex':0x2}}};},0xe83b:(_0x59c387,_0x40e305,_0x291632)=>{var _0x54a3fb=a7_0x1ed280;_0x291632['d'](_0x40e305,{'e':()=>_0x4b3a54});var _0xd26369=_0x291632(0x11722),_0x1e62c7=_0x291632(0x89a1),_0x3bd710=_0x291632(0x6214);class _0x4b3a54{constructor(){var _0x40b89e=a7_0x3908;this['shaderLanguage']=_0xd26369['x'][_0x40b89e(0x24e)];}[_0x54a3fb(0xac0)](_0x3a503f,_0x3666aa,_0x133857){var _0x5abec6=_0x54a3fb,_0x10d23a=0x0;[_0x3a503f,_0x3666aa,_0x10d23a]=this[_0x5abec6(0xb02)](_0x3a503f,_0x3666aa,_0x133857);for(let _0x24a710=0x0;_0x24a710{var _0x5ecd5c=a7_0x1ed280;_0x5ee989['d'](_0x325d15,{'s':()=>_0x490be3});var _0x354201=_0x5ee989(0x1114f),_0x38f9ae=_0x5ee989(0x89a1),_0x401906=_0x5ee989(0x10ea4),_0xee153=_0x5ee989(0xe83b),_0x317846=_0x5ee989(0x11722);class _0x490be3 extends _0xee153['e']{constructor(){var _0x17ba03=a7_0x3908;super(...arguments),this[_0x17ba03(0x4c1)]=[],this['_textureArrayProcessing']=[],this[_0x17ba03(0x9d2)]=!0x1,this[_0x17ba03(0x7ab)]=!0x1,this['shaderLanguage']=_0x317846['x'][_0x17ba03(0x24e)],this[_0x17ba03(0xbf4)]=!0x0;}[_0x5ecd5c(0xb02)](_0x2665c4,_0x266c50,_0x53efc4){var _0x3699ee=_0x5ecd5c;let _0x364439=0x0;var _0x2f43cd=_0x2665c4['indexOf']('['),_0x3e382f=_0x2665c4[_0x3699ee(0x444)](']');if(0x0<_0x2f43cd&&0x0<_0x3e382f){const _0x1bbc94=_0x2665c4[_0x3699ee(0xcce)](_0x2f43cd+0x1,_0x3e382f);_0x364439=+_0x1bbc94,isNaN(_0x364439)&&(_0x364439=+_0x53efc4[_0x1bbc94['trim']()]),_0x2665c4=_0x2665c4[_0x3699ee(0x830)](0x0,_0x2f43cd);}return[_0x2665c4,_0x266c50,_0x364439];}[_0x5ecd5c(0x6c2)](_0x30b0e6){var _0x832077=_0x5ecd5c;this['_webgpuProcessingContext']=_0x30b0e6,this[_0x832077(0x4c1)][_0x832077(0x78d)]=0x0,this[_0x832077(0x39e)][_0x832077(0x78d)]=0x0,this['attributeKeywordName']=void 0x0,this[_0x832077(0x297)]=void 0x0,this[_0x832077(0x8a9)]=void 0x0;}[_0x5ecd5c(0x440)](_0x52f34e,_0x1127ac){var _0x281eab=_0x5ecd5c,_0x5a3487=_0x281eab(0x457)+_0xee153['e'][_0x281eab(0xaf4)]+'\x20{\x0afloat\x20yFactor_;\x0afloat\x20textureOutputHeight_;\x0a};\x0a',_0x1505e4=-0x1!==_0x52f34e[_0x281eab(0x444)](_0x281eab(0x9e0));return _0x1127ac?(this[_0x281eab(0x7ab)]=-0x1!==_0x52f34e[_0x281eab(0x444)](_0x281eab(0x376)),this[_0x281eab(0x7ab)]&&(this[_0x281eab(0x8a9)]='in'),_0x1505e4?_0x52f34e:_0x5a3487+_0x281eab(0x88a)+_0x52f34e):(this[_0x281eab(0x9d2)]=-0x1!==_0x52f34e[_0x281eab(0x444)](_0x281eab(0x376)),this[_0x281eab(0x9d2)]&&(this[_0x281eab(0xd0f)]='in',this[_0x281eab(0x297)]=_0x281eab(0xa97)),_0x1505e4?_0x52f34e:_0x5a3487+_0x52f34e);}[_0x5ecd5c(0x140)](_0x446600,_0x329f3d,_0x4303c3){var _0x288fb7=_0x5ecd5c;this[_0x288fb7(0x411)]=_0x4303c3;const _0x28993b=_0x329f3d&&this[_0x288fb7(0x7ab)]?/\s*in\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s+(\S+)\s*;/gm:!_0x329f3d&&this[_0x288fb7(0x9d2)]?/\s*out\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s+(\S+)\s*;/gm:/\s*varying\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s+(\S+)\s*;/gm;var _0x587149=_0x28993b[_0x288fb7(0x889)](_0x446600);if(null!==_0x587149){var _0x358401=_0x587149[0x1],_0x3e98a5=_0x587149[0x2];let _0x91437c;_0x329f3d?(_0x91437c=this['_webgpuProcessingContext'][_0x288fb7(0x38b)][_0x3e98a5],this[_0x288fb7(0x4c1)][_0x91437c]='',void 0x0===_0x91437c&&_0x401906['Y']['Warn'](_0x288fb7(0xb48)+_0x3e98a5+'\x22\x20is\x20not\x20declared\x20in\x20the\x20vertex\x20shader!\x20This\x20declaration\x20will\x20be\x20ignored.')):(_0x91437c=this[_0x288fb7(0x27c)][_0x288fb7(0x594)](_0x358401,this[_0x288fb7(0xb02)](_0x3e98a5,_0x358401,_0x4303c3)[0x2]),this[_0x288fb7(0x27c)][_0x288fb7(0x38b)][_0x3e98a5]=_0x91437c,this[_0x288fb7(0x4c1)][_0x91437c]=_0x288fb7(0xa30)+_0x91437c+_0x288fb7(0x709)+_0x358401+'\x20'+_0x3e98a5+';'),_0x446600=_0x446600[_0x288fb7(0xa09)](_0x587149[0x0],void 0x0===_0x91437c?'':_0x288fb7(0xa30)+_0x91437c+')\x20'+(_0x329f3d?'in':_0x288fb7(0xa97))+'\x20'+_0x358401+'\x20'+_0x3e98a5+';');}return _0x446600;}['attributeProcessor'](_0x4dcd9c,_0x30d3b6){var _0x3937cb=_0x5ecd5c;this['_preProcessors']=_0x30d3b6;const _0x4cc1a7=this['_vertexIsGLES3']?/\s*in\s+(\S+)\s+(\S+)\s*;/gm:/\s*attribute\s+(\S+)\s+(\S+)\s*;/gm;var _0x3ae6a1,_0xbb873a,_0x4ef17e=_0x4cc1a7[_0x3937cb(0x889)](_0x4dcd9c);return null!==_0x4ef17e&&(_0x3ae6a1=_0x4ef17e[0x1],_0xbb873a=_0x4ef17e[0x2],_0x30d3b6=this[_0x3937cb(0x27c)][_0x3937cb(0xbfc)](_0x3ae6a1,this[_0x3937cb(0xb02)](_0xbb873a,_0x3ae6a1,_0x30d3b6)[0x2]),this[_0x3937cb(0x27c)][_0x3937cb(0xab3)][_0xbb873a]=_0x30d3b6,this[_0x3937cb(0x27c)][_0x3937cb(0x13f)][_0x30d3b6]=_0xbb873a,_0x4dcd9c=_0x4dcd9c[_0x3937cb(0xa09)](_0x4ef17e[0x0],_0x3937cb(0xa30)+_0x30d3b6+')\x20in\x20'+_0x3ae6a1+'\x20'+_0xbb873a+';')),_0x4dcd9c;}[_0x5ecd5c(0x262)](_0x51c89b,_0x4449c1,_0x22c4d9){var _0x59d941=_0x5ecd5c;this['_preProcessors']=_0x22c4d9;var _0x54d3d9=/\s*uniform\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s+(\S+)\s*;/gm[_0x59d941(0x889)](_0x51c89b);if(null!==_0x54d3d9){let _0x9b76f1=_0x54d3d9[0x1],_0x70ccea=_0x54d3d9[0x2];if(0x0===_0x9b76f1[_0x59d941(0x444)]('sampler')||0x1===_0x9b76f1[_0x59d941(0x444)](_0x59d941(0x3fc))){let _0x4477ae=0x0,_0x36c607=([_0x70ccea,_0x9b76f1,_0x4477ae]=this[_0x59d941(0xb02)](_0x70ccea,_0x9b76f1,_0x22c4d9),this[_0x59d941(0x27c)][_0x59d941(0x8cc)][_0x70ccea]);if(!_0x36c607){_0x36c607={'autoBindSampler':!0x0,'isTextureArray':0x0<_0x4477ae,'isStorageTexture':!0x1,'textures':[],'sampleType':_0x38f9ae['oD'][_0x59d941(0xb88)]};for(let _0x5f0ef4=0x0;_0x5f0ef4<(_0x4477ae||0x1);++_0x5f0ef4)_0x36c607['textures']['push'](this[_0x59d941(0x27c)][_0x59d941(0x3c8)]());}var _0x54d3d9=null!=(_0x54d3d9=_0xee153['e'][_0x59d941(0xa05)][_0x9b76f1])?_0x54d3d9:'sampler',_0x2045fc=!!_0xee153['e'][_0x59d941(0xbf1)][_0x54d3d9],_0x4ff885=_0x2045fc?_0x38f9ae['dV'][_0x59d941(0x98e)]:_0x38f9ae['dV'][_0x59d941(0xa14)],_0x1b5a43=_0x70ccea+_0xee153['e'][_0x59d941(0xbee)],_0x4ff885=this['_webgpuProcessingContext']['availableSamplers'][_0x1b5a43]||{'binding':this[_0x59d941(0x27c)][_0x59d941(0x3c8)](),'type':_0x4ff885},_0x16283f='u'===_0x9b76f1[_0x59d941(0x2c3)](0x0)?'u':'i'===_0x9b76f1[_0x59d941(0x2c3)](0x0)?'i':'',_0x2045fc=(_0x16283f&&(_0x9b76f1=_0x9b76f1[_0x59d941(0x830)](0x1)),_0x2045fc?_0x38f9ae['oD'][_0x59d941(0x388)]:'u'==_0x16283f?_0x38f9ae['oD'][_0x59d941(0x92e)]:'i'==_0x16283f?_0x38f9ae['oD']['Sint']:_0x38f9ae['oD']['Float']),_0x2045fc=(_0x36c607['sampleType']=_0x2045fc,0x0<_0x4477ae),_0x56e9f1=_0x4ff885[_0x59d941(0x18e)][_0x59d941(0xba7)],_0x5d20d2=_0x4ff885[_0x59d941(0x18e)][_0x59d941(0x1e8)],_0x53ef59=_0xee153['e']['_SamplerFunctionByWebGLSamplerType'][_0x9b76f1],_0x53f6a0=_0xee153['e'][_0x59d941(0xb8c)][_0x9b76f1],_0x59273f=_0xee153['e']['_GpuTextureViewDimensionByWebGPUTextureType'][_0x53f6a0];if(_0x2045fc){const _0x4f1eab=[];_0x4f1eab['push'](_0x59d941(0x69f)+_0x56e9f1+',\x20binding\x20=\x20'+_0x5d20d2+')\x20uniform\x20'+_0x16283f+_0x54d3d9+'\x20'+_0x1b5a43+';'),_0x51c89b='\x0d\x0a';for(let _0xdf1777=0x0;_0xdf1777<_0x4477ae;++_0xdf1777){var _0x340f38=_0x36c607['textures'][_0xdf1777][_0x59d941(0xba7)],_0x3891f2=_0x36c607['textures'][_0xdf1777][_0x59d941(0x1e8)];_0x4f1eab[_0x59d941(0x6fe)]('layout(set\x20=\x20'+_0x340f38+_0x59d941(0x89a)+_0x3891f2+_0x59d941(0xa6a)+_0x53f6a0+'\x20'+_0x70ccea+_0x59d941(0x270)+_0xdf1777+';'),_0x51c89b+=(0x0<_0xdf1777?'\x0d\x0a':'')+_0x59d941(0x331)+_0x70ccea+_0xdf1777+'\x20'+_0x16283f+_0x53ef59+'('+_0x70ccea+_0x59d941(0x270)+_0xdf1777+',\x20'+_0x1b5a43+')';}_0x51c89b=_0x4f1eab[_0x59d941(0x60e)]('\x0d\x0a')+_0x51c89b,this[_0x59d941(0x39e)]['push'](_0x70ccea);}else _0x4477ae=0x1,_0x51c89b=_0x59d941(0x69f)+_0x56e9f1+',\x20binding\x20=\x20'+_0x5d20d2+_0x59d941(0xa6a)+_0x16283f+_0x54d3d9+'\x20'+_0x1b5a43+_0x59d941(0x235)+_0x36c607[_0x59d941(0x8ee)][0x0]['groupIndex']+_0x59d941(0x89a)+_0x36c607[_0x59d941(0x8ee)][0x0]['bindingIndex']+_0x59d941(0xa6a)+_0x53f6a0+'\x20'+_0x70ccea+_0x59d941(0xbb0)+_0x70ccea+'\x20'+_0x16283f+_0x53ef59+'('+_0x70ccea+_0x59d941(0x778)+_0x1b5a43+')';this[_0x59d941(0x27c)][_0x59d941(0x8cc)][_0x70ccea]=_0x36c607,this[_0x59d941(0x27c)]['availableSamplers'][_0x1b5a43]=_0x4ff885,this[_0x59d941(0x715)](_0x1b5a43,_0x4ff885,!_0x4449c1);for(let _0x56a14a=0x0;_0x56a14a<_0x4477ae;++_0x56a14a)this[_0x59d941(0xc55)](_0x70ccea,_0x36c607,_0x56a14a,_0x59273f,null,!_0x4449c1);}else this[_0x59d941(0xac0)](_0x70ccea,_0x9b76f1,_0x22c4d9),_0x51c89b='';}return _0x51c89b;}['uniformBufferProcessor'](_0x134577,_0x139118){var _0x1ff34a=_0x5ecd5c,_0x2fa9e9=/uniform\s+(\w+)/gm[_0x1ff34a(0x889)](_0x134577);if(null!==_0x2fa9e9){var _0x28bdfc,_0x2fa9e9=_0x2fa9e9[0x1];let _0x2749e1=this[_0x1ff34a(0x27c)][_0x1ff34a(0x789)][_0x2fa9e9];_0x2749e1||(_0x28bdfc=(_0x28bdfc=_0x354201['d'][_0x1ff34a(0x9aa)][_0x2fa9e9])&&-0x1!==_0x28bdfc[_0x1ff34a(0x18e)][_0x1ff34a(0xba7)]?_0x28bdfc[_0x1ff34a(0x18e)]:this['_webgpuProcessingContext']['getNextFreeUBOBinding'](),_0x2749e1={'binding':_0x28bdfc},this[_0x1ff34a(0x27c)][_0x1ff34a(0x789)][_0x2fa9e9]=_0x2749e1),this[_0x1ff34a(0xc62)](_0x2fa9e9,_0x2749e1,_0x38f9ae['Rs']['Uniform'],!_0x139118),_0x134577=_0x134577['replace'](_0x1ff34a(0x21c),_0x1ff34a(0x69f)+_0x2749e1['binding'][_0x1ff34a(0xba7)]+_0x1ff34a(0x89a)+_0x2749e1[_0x1ff34a(0x18e)][_0x1ff34a(0x1e8)]+_0x1ff34a(0xb42));}return _0x134577;}[_0x5ecd5c(0xd02)](_0x4ad4b2,_0x1cdcb2,_0x1aacdc,_0x26d331,_0x215213){var _0x57af92=_0x5ecd5c,_0x2ed01d=-0x1!==_0x4ad4b2[_0x57af92(0x8f9)](/#extension.+GL_EXT_draw_buffers.+require/);if(_0x4ad4b2=(_0x4ad4b2=_0x4ad4b2[_0x57af92(0xa09)](/#extension.+(GL_OVR_multiview2|GL_OES_standard_derivatives|GL_EXT_shader_texture_lod|GL_EXT_frag_depth|GL_EXT_draw_buffers).+(enable|require)/g,''))[_0x57af92(0xa09)](/texture2D\s*\(/g,_0x57af92(0xa92)),_0x1aacdc){var _0x261471,_0x16cdb9=0x0<=_0x4ad4b2[_0x57af92(0x444)]('gl_FragCoord'),_0x6b993d=_0x16cdb9?'vec4\x20glFragCoord_;\x0a':'';_0x4ad4b2=(_0x4ad4b2=(_0x4ad4b2=(_0x4ad4b2=(_0x4ad4b2=(_0x4ad4b2=(_0x4ad4b2=_0x4ad4b2[_0x57af92(0xa09)](/texture2DLodEXT\s*\(/g,_0x57af92(0x1e2)))[_0x57af92(0xa09)](/textureCubeLodEXT\s*\(/g,_0x57af92(0x1e2)))[_0x57af92(0xa09)](/textureCube\s*\(/g,'texture('))[_0x57af92(0xa09)](/gl_FragDepthEXT/g,'gl_FragDepth'))[_0x57af92(0xa09)](/gl_FragColor/g,_0x57af92(0x51f)))[_0x57af92(0xa09)](/gl_FragData/g,_0x57af92(0x378)))[_0x57af92(0xa09)](/gl_FragCoord/g,_0x57af92(0x809)),this[_0x57af92(0x7ab)]?null!==(_0x261471=/^\s*out\s+\S+\s+\S+\s*;/gm['exec'](_0x4ad4b2))&&(_0x4ad4b2=_0x4ad4b2[_0x57af92(0xcce)](0x0,_0x261471[_0x57af92(0x1d2)])+'layout(location\x20=\x200)\x20'+_0x4ad4b2[_0x57af92(0xcce)](_0x261471['index'])):_0x4ad4b2=_0x4ad4b2[_0x57af92(0xa09)](/void\s+?main\s*\(/g,(_0x2ed01d?'':_0x57af92(0x995))+_0x57af92(0x67b)),_0x4ad4b2=(_0x4ad4b2=_0x4ad4b2['replace'](/dFdy/g,_0x57af92(0x5dc)))[_0x57af92(0xa09)]('##INJECTCODE##',_0x6b993d),_0x16cdb9&&(_0x4ad4b2=this[_0x57af92(0x7c7)](_0x4ad4b2,'void\x20main',_0x57af92(0x751)));}else{if(_0x4ad4b2=(_0x4ad4b2=_0x4ad4b2[_0x57af92(0xa09)](/gl_InstanceID/g,_0x57af92(0x5fd)))[_0x57af92(0xa09)](/gl_VertexID/g,'gl_VertexIndex'),-0x1!==_0x1cdcb2[_0x57af92(0x444)](_0x57af92(0xafb)))return _0x57af92(0xa00)+_0x4ad4b2;}return _0x1aacdc||(_0x261471=_0x4ad4b2[_0x57af92(0x1b0)]('}'),_0x4ad4b2=_0x4ad4b2[_0x57af92(0xcce)](0x0,_0x261471),_0x4ad4b2+='gl_Position.y\x20*=\x20yFactor_;\x0a',_0x215213[_0x57af92(0x839)]||(_0x4ad4b2+=_0x57af92(0x453)),_0x4ad4b2+='}'),_0x4ad4b2;}[_0x5ecd5c(0x5fa)](_0x1c5636,_0x39cc46){var _0x44725c=_0x5ecd5c;const _0x3c7148=new RegExp(_0x39cc46+_0x44725c(0xa67),'gm');let _0x1f2fa1=_0x3c7148['exec'](_0x1c5636);for(;null!==_0x1f2fa1;){const _0x198f74=_0x1f2fa1[0x1];let _0x2c7c53=+_0x198f74;this[_0x44725c(0x411)]&&isNaN(_0x2c7c53)&&(_0x2c7c53=+this[_0x44725c(0x411)][_0x198f74[_0x44725c(0xb96)]()]),_0x1c5636=_0x1c5636[_0x44725c(0xa09)](_0x1f2fa1[0x0],_0x39cc46+_0x2c7c53),_0x1f2fa1=_0x3c7148[_0x44725c(0x889)](_0x1c5636);}return _0x1c5636;}[_0x5ecd5c(0x563)](_0x2b9bfa,_0x2f1b2c){var _0x43cb50=_0x5ecd5c;let _0x389910=_0x43cb50(0x69f)+_0x2f1b2c['binding'][_0x43cb50(0xba7)]+_0x43cb50(0x89a)+_0x2f1b2c[_0x43cb50(0x18e)][_0x43cb50(0x1e8)]+_0x43cb50(0xa6a)+_0x2b9bfa+'\x20{\x0a\x20\x20\x20\x20';for(const _0x5e4f31 of this['_webgpuProcessingContext'][_0x43cb50(0x7d3)])0x0<_0x5e4f31[_0x43cb50(0x78d)]?_0x389910+=_0x43cb50(0xc43)+_0x5e4f31[_0x43cb50(0x3db)]+'\x20'+_0x5e4f31[_0x43cb50(0xa21)]+'['+_0x5e4f31[_0x43cb50(0x78d)]+'];\x0a':_0x389910+='\x20\x20\x20\x20'+_0x5e4f31[_0x43cb50(0x3db)]+'\x20'+_0x5e4f31[_0x43cb50(0xa21)]+';\x0a';return _0x389910+='};\x0a\x0a';}['finalizeShaders'](_0xa43fac,_0x4cbf4b){var _0x126177=_0x5ecd5c;for(let _0x4ffa77=0x0;_0x4ffa77{var _0x19eaf7=a7_0x1ed280;_0x347656['d'](_0x4982ef,{'o':()=>_0x2a227f});var _0x2c4534=_0x347656(0x1114f),_0xfb003f=_0x347656(0x89a1),_0x49a5bd=_0x347656(0x10ea4),_0x1aa954=_0x347656(0xe83b),_0x1fad57=_0x347656(0x75be),_0x4982ef=_0x347656(0x17a92),_0x21d844=(_0x4982ef['v'][_0x19eaf7(0xc44)]['bonesDeclaration']='#if\x20NUM_BONE_INFLUENCERS>0\x0aattribute\x20matricesIndices\x20:\x20vec4;\x0aattribute\x20matricesWeights\x20:\x20vec4;\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0aattribute\x20matricesIndicesExtra\x20:\x20vec4;\x0aattribute\x20matricesWeightsExtra\x20:\x20vec4;\x0a#endif\x0a#ifndef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0a#ifdef\x20BONETEXTURE\x0avar\x20boneSampler\x20:\x20texture_2d;\x0auniform\x20boneTextureWidth\x20:\x20f32;\x0a#else\x0auniform\x20mBones\x20:\x20array;\x0a#ifdef\x20BONES_VELOCITY_ENABLED\x0auniform\x20mPreviousBones\x20:\x20array;\x0a#endif\x0a#endif\x0a#ifdef\x20BONETEXTURE\x0afn\x20readMatrixFromRawSampler(smp\x20:\x20texture_2d,index\x20:\x20f32)->mat4x4\x0a{\x0alet\x20offset=i32(index)\x20*4;\x20\x0alet\x20m0=textureLoad(smp,vec2(offset+0,0),0);\x0alet\x20m1=textureLoad(smp,vec2(offset+1,0),0);\x0alet\x20m2=textureLoad(smp,vec2(offset+2,0),0);\x0alet\x20m3=textureLoad(smp,vec2(offset+3,0),0);\x0areturn\x20mat4x4(m0,m1,m2,m3);\x0a}\x0a#endif\x0a#endif\x0a#endif\x0a',_0x4982ef['v'][_0x19eaf7(0xc44)][_0x19eaf7(0x2db)]=_0x19eaf7(0x757),_0x4982ef['v'][_0x19eaf7(0xc44)][_0x19eaf7(0x408)]=_0x19eaf7(0x438),_0x4982ef['v'][_0x19eaf7(0xc44)][_0x19eaf7(0x2bf)]=_0x19eaf7(0xce7),_0x4982ef['v'][_0x19eaf7(0xc44)][_0x19eaf7(0xacf)]='#if\x20defined(CLIPPLANE)\x20||\x20defined(CLIPPLANE2)\x20||\x20defined(CLIPPLANE3)\x20||\x20defined(CLIPPLANE4)\x20||\x20defined(CLIPPLANE5)\x20||\x20defined(CLIPPLANE6)\x0aif\x20(false)\x20{}\x0a#endif\x0a#ifdef\x20CLIPPLANE\x0aelse\x20if\x20(fragmentInputs.fClipDistance>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0aelse\x20if\x20(fragmentInputs.fClipDistance2>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0aelse\x20if\x20(fragmentInputs.fClipDistance3>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0aelse\x20if\x20(fragmentInputs.fClipDistance4>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0aelse\x20if\x20(fragmentInputs.fClipDistance5>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0aelse\x20if\x20(fragmentInputs.fClipDistance6>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a',_0x4982ef['v'][_0x19eaf7(0xc44)][_0x19eaf7(0xadd)]=_0x19eaf7(0xa8c),_0x4982ef['v'][_0x19eaf7(0xc44)]['clipPlaneVertex']=_0x19eaf7(0xcf5),_0x4982ef['v'][_0x19eaf7(0xc44)][_0x19eaf7(0x57f)]=_0x19eaf7(0x33d),_0x4982ef['v']['IncludesShadersStoreWGSL']['instancesDeclaration']=_0x19eaf7(0x3c5),_0x4982ef['v'][_0x19eaf7(0xc44)]['instancesVertex']=_0x19eaf7(0x1c8),_0x4982ef['v'][_0x19eaf7(0xc44)][_0x19eaf7(0x470)]=_0x19eaf7(0x21d),_0x4982ef['v'][_0x19eaf7(0xc44)][_0x19eaf7(0x3bd)]='#ifdef\x20MORPHTARGETS\x0a#ifdef\x20MORPHTARGETS_TEXTURE\x20\x0avertexID=f32(vertexInputs.vertexIndex)*uniforms.morphTargetTextureInfo.x;\x0apositionUpdated=positionUpdated+(readVector3FromRawSampler({X},vertexID)-vertexInputs.position)*uniforms.morphTargetInfluences[{X}];\x0avertexID=vertexID+1.0;\x0a#ifdef\x20MORPHTARGETS_NORMAL\x0anormalUpdated=normalUpdated+(readVector3FromRawSampler({X},vertexID)\x20-vertexInputs.normal)*uniforms.morphTargetInfluences[{X}];\x0avertexID=vertexID+1.0;\x0a#endif\x0a#ifdef\x20MORPHTARGETS_UV\x0auvUpdated=uvUpdated+(readVector3FromRawSampler({X},vertexID).xy-vertexInputs.uv)*uniforms.morphTargetInfluences[{X}];\x0avertexID=vertexID+1.0;\x0a#endif\x0a#ifdef\x20MORPHTARGETS_TANGENT\x0atangentUpdated.xyz=tangentUpdated.xyz+(readVector3FromRawSampler({X},vertexID)\x20-vertexInputs.tangent.xyz)*uniforms.morphTargetInfluences[{X}];\x0a#endif\x0a#else\x0apositionUpdated=positionUpdated+(position{X}-vertexInputs.position)*uniforms.morphTargetInfluences[{X}];\x0a#ifdef\x20MORPHTARGETS_NORMAL\x0anormalUpdated+=(normal{X}-vertexInputs.normal)*uniforms.morphTargetInfluences[{X}];\x0a#endif\x0a#ifdef\x20MORPHTARGETS_TANGENT\x0atangentUpdated.xyz=tangentUpdated.xyz+(tangent{X}-vertexInputs.tangent.xyz)*uniforms.morphTargetInfluences[{X}];\x0a#endif\x0a#ifdef\x20MORPHTARGETS_UV\x0auvUpdated=uvUpdated+(uv_{X}-vertexInputs.uv)*uniforms.morphTargetInfluences[{X}];\x0a#endif\x0a#endif\x0a#endif\x0a',_0x4982ef['v'][_0x19eaf7(0xc44)][_0x19eaf7(0x704)]='#ifdef\x20MORPHTARGETS\x0a#ifndef\x20MORPHTARGETS_TEXTURE\x0aattribute\x20position{X}\x20:\x20vec3;\x0a#ifdef\x20MORPHTARGETS_NORMAL\x0aattribute\x20normal{X}\x20:\x20vec3;\x0a#endif\x0a#ifdef\x20MORPHTARGETS_TANGENT\x0aattribute\x20tangent{X}\x20:\x20vec3;\x0a#endif\x0a#ifdef\x20MORPHTARGETS_UV\x0aattribute\x20uv_{X}\x20:\x20vec2;\x0a#endif\x0a#endif\x0a#endif\x0a',_0x4982ef['v'][_0x19eaf7(0xc44)][_0x19eaf7(0x7b7)]='#ifdef\x20MORPHTARGETS\x0a#ifdef\x20MORPHTARGETS_TEXTURE\x0avar\x20vertexID\x20:\x20f32;\x0a#endif\x0a#endif\x0a',_0x4982ef['v']['IncludesShadersStoreWGSL'][_0x19eaf7(0x78b)]=_0x19eaf7(0x1b1),_0x4982ef['v']['IncludesShadersStoreWGSL'][_0x19eaf7(0x81b)]=_0x19eaf7(0x5c3),_0x347656(0x11722));const _0x18fdce='fragmentOutputs.fragDepth',_0x3768ad={'texture_1d':_0xfb003f['p_'][_0x19eaf7(0x329)],'texture_2d':_0xfb003f['p_'][_0x19eaf7(0x1e6)],'texture_2d_array':_0xfb003f['p_'][_0x19eaf7(0x45b)],'texture_3d':_0xfb003f['p_'][_0x19eaf7(0x41d)],'texture_cube':_0xfb003f['p_'][_0x19eaf7(0x353)],'texture_cube_array':_0xfb003f['p_']['CubeArray'],'texture_multisampled_2d':_0xfb003f['p_'][_0x19eaf7(0x1e6)],'texture_depth_2d':_0xfb003f['p_'][_0x19eaf7(0x1e6)],'texture_depth_2d_array':_0xfb003f['p_']['E2dArray'],'texture_depth_cube':_0xfb003f['p_'][_0x19eaf7(0x353)],'texture_depth_cube_array':_0xfb003f['p_']['CubeArray'],'texture_depth_multisampled_2d':_0xfb003f['p_'][_0x19eaf7(0x1e6)],'texture_storage_1d':_0xfb003f['p_']['E1d'],'texture_storage_2d':_0xfb003f['p_'][_0x19eaf7(0x1e6)],'texture_storage_2d_array':_0xfb003f['p_']['E2dArray'],'texture_storage_3d':_0xfb003f['p_']['E3d'],'texture_external':null};class _0x2a227f extends _0x1aa954['e']{constructor(){var _0x381d32=_0x19eaf7;super(...arguments),this[_0x381d32(0xd1e)]=_0x21d844['x'][_0x381d32(0x668)],this[_0x381d32(0xd1b)]=/uniform\s+(\w+)\s*:\s*(.+)\s*;/,this[_0x381d32(0xc33)]=/var\s+(\w+)\s*:\s*((array<\s*)?(texture_\w+)\s*(<\s*(.+)\s*>)?\s*(,\s*\w+\s*>\s*)?);/,this[_0x381d32(0x758)]=!0x0;}[_0x19eaf7(0xb02)](_0x3d22f8,_0x3d7766,_0x5a1b67){var _0x5ec74a=_0x19eaf7;let _0x189cde=0x0;var _0x1a8e6c=_0x3d7766[_0x5ec74a(0x1b0)]('>');if(0x0<=_0x3d7766[_0x5ec74a(0x444)](_0x5ec74a(0x323))&&0x0<_0x1a8e6c){let _0x56dd52=_0x1a8e6c;for(;0x0<_0x56dd52&&'\x20'!==_0x3d7766[_0x5ec74a(0x2c3)](_0x56dd52)&&','!==_0x3d7766[_0x5ec74a(0x2c3)](_0x56dd52);)_0x56dd52--;const _0x19cb53=_0x3d7766[_0x5ec74a(0xcce)](_0x56dd52+0x1,_0x1a8e6c);for(_0x189cde=+_0x19cb53,isNaN(_0x189cde)&&(_0x189cde=+_0x5a1b67[_0x19cb53['trim']()]);0x0<_0x56dd52&&('\x20'===_0x3d7766[_0x5ec74a(0x2c3)](_0x56dd52)||','===_0x3d7766[_0x5ec74a(0x2c3)](_0x56dd52));)_0x56dd52--;_0x3d7766=_0x3d7766[_0x5ec74a(0xcce)](_0x3d7766['indexOf']('<')+0x1,_0x56dd52+0x1);}return[_0x3d22f8,_0x3d7766,_0x189cde];}[_0x19eaf7(0x6c2)](_0x4cb7c3){var _0x230e65=_0x19eaf7;this[_0x230e65(0x27c)]=_0x4cb7c3,this['_attributesWGSL']=[],this['_varyingsWGSL']=[],this[_0x230e65(0x5fe)]=[],this[_0x230e65(0x36f)]=[];}['preProcessShaderCode'](_0x582269){var _0x1e4b0a=_0x19eaf7;return _0x1e4b0a(0xb35)+_0x1aa954['e']['InternalsUBOName']+_0x1e4b0a(0xcdc)+_0x1aa954['e'][_0x1e4b0a(0xaf4)]+';\x0a'+(0x0,_0x1fad57['Kt'])(_0x582269);}[_0x19eaf7(0x140)](_0x5768b9,_0x3c0a01,_0x2352f2){var _0x5b8926=_0x19eaf7,_0x2aa546=/\s*varying\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s*:\s*(.+)\s*;/gm[_0x5b8926(0x889)](_0x5768b9);if(null!==_0x2aa546){var _0x19368c=_0x2aa546[0x2],_0x2aa546=_0x2aa546[0x1];let _0x431e87;_0x3c0a01?void 0x0===(_0x431e87=this[_0x5b8926(0x27c)][_0x5b8926(0x38b)][_0x2aa546])&&_0x49a5bd['Y'][_0x5b8926(0x72a)](_0x5b8926(0xb48)+_0x2aa546+'\x22\x20is\x20not\x20declared\x20in\x20the\x20vertex\x20shader!\x20This\x20declaration\x20will\x20be\x20ignored.'):(_0x431e87=this[_0x5b8926(0x27c)][_0x5b8926(0x594)](_0x19368c,this[_0x5b8926(0xb02)](_0x2aa546,_0x19368c,_0x2352f2)[0x2]),this[_0x5b8926(0x27c)][_0x5b8926(0x38b)][_0x2aa546]=_0x431e87,this[_0x5b8926(0x8f1)][_0x5b8926(0x6fe)](_0x5b8926(0xbf2)+_0x431e87+')\x20'+_0x2aa546+_0x5b8926(0xaa1)+_0x19368c+','),this['_varyingNamesWGSL'][_0x5b8926(0x6fe)](_0x2aa546)),_0x5768b9='';}return _0x5768b9;}[_0x19eaf7(0xbef)](_0x3e3bce,_0x38c28c){var _0x278b93=_0x19eaf7,_0x27fcc1,_0x1f905a=/\s*attribute\s+(\S+)\s*:\s*(.+)\s*;/gm['exec'](_0x3e3bce);return null!==_0x1f905a&&(_0x27fcc1=_0x1f905a[0x2],_0x1f905a=_0x1f905a[0x1],_0x38c28c=this[_0x278b93(0x27c)][_0x278b93(0xbfc)](_0x27fcc1,this[_0x278b93(0xb02)](_0x1f905a,_0x27fcc1,_0x38c28c)[0x2]),this[_0x278b93(0x27c)][_0x278b93(0xab3)][_0x1f905a]=_0x38c28c,this[_0x278b93(0x27c)][_0x278b93(0x13f)][_0x38c28c]=_0x1f905a,this[_0x278b93(0x963)][_0x278b93(0x6fe)](_0x278b93(0xa4b)+_0x38c28c+')\x20'+_0x1f905a+'\x20:\x20'+_0x27fcc1+','),_0x3e3bce=''),_0x3e3bce;}[_0x19eaf7(0x262)](_0x466176,_0x5c0cfe,_0x59e9a3){var _0x5899ef=_0x19eaf7,_0x373859,_0x1e3aa5=this['uniformRegexp'][_0x5899ef(0x889)](_0x466176);return null!==_0x1e3aa5&&(_0x373859=_0x1e3aa5[0x2],_0x1e3aa5=_0x1e3aa5[0x1],this[_0x5899ef(0xac0)](_0x1e3aa5,_0x373859,_0x59e9a3),_0x466176=''),_0x466176;}[_0x19eaf7(0x14a)](_0x56ea95,_0x5bb167,_0x376291){var _0x3e74c8=_0x19eaf7,_0x2a936f=this[_0x3e74c8(0xc33)][_0x3e74c8(0x889)](_0x56ea95);if(null!==_0x2a936f){var _0x163743=_0x2a936f[0x1],_0x1ec0b0=_0x2a936f[0x2],_0x2118b6=!!_0x2a936f[0x3];const _0x322e0f=_0x2a936f[0x4];var _0x52c6e5=0x0<_0x322e0f[_0x3e74c8(0x444)](_0x3e74c8(0xa44));const _0x245a39=_0x2a936f[0x6];var _0x29a4af=_0x52c6e5?_0x245a39[_0x3e74c8(0xcce)](0x0,_0x245a39[_0x3e74c8(0x444)](','))['trim']():null;let _0xc85452=_0x2118b6?this[_0x3e74c8(0xb02)](_0x163743,_0x1ec0b0,_0x376291)[0x2]:0x0,_0x3238e6=this[_0x3e74c8(0x27c)][_0x3e74c8(0x8cc)][_0x163743];if(_0x3238e6)_0xc85452=_0x3238e6['textures'][_0x3e74c8(0x78d)];else{_0x3238e6={'isTextureArray':0x0<_0xc85452,'isStorageTexture':_0x52c6e5,'textures':[],'sampleType':_0xfb003f['oD']['Float']},_0xc85452=_0xc85452||0x1;for(let _0xb71729=0x0;_0xb71729<_0xc85452;++_0xb71729)_0x3238e6[_0x3e74c8(0x8ee)][_0x3e74c8(0x6fe)](this['_webgpuProcessingContext'][_0x3e74c8(0x3c8)]());}this[_0x3e74c8(0x27c)]['availableTextures'][_0x163743]=_0x3238e6;var _0x2a936f=0x0<_0x322e0f[_0x3e74c8(0x444)](_0x3e74c8(0x759)),_0x5ab841=_0x3768ad[_0x322e0f],_0x2118b6=_0x2a936f?_0xfb003f['oD']['Depth']:_0x3e74c8(0x85d)===_0x245a39?_0xfb003f['oD'][_0x3e74c8(0x92e)]:'i32'===_0x245a39?_0xfb003f['oD'][_0x3e74c8(0xc24)]:_0xfb003f['oD'][_0x3e74c8(0xb88)];if(_0x3238e6[_0x3e74c8(0xa99)]=_0x2118b6,void 0x0===_0x5ab841)throw _0x3e74c8(0x29b)+_0x322e0f+'\x22!';for(let _0x2cad16=0x0;_0x2cad16<_0xc85452;++_0x2cad16){var {groupIndex:_0x6a4cfe,bindingIndex:_0x3edee1}=_0x3238e6[_0x3e74c8(0x8ee)][_0x2cad16];0x0===_0x2cad16&&(_0x56ea95='@group('+_0x6a4cfe+_0x3e74c8(0xcec)+_0x3edee1+')\x20'+_0x56ea95),this[_0x3e74c8(0xc55)](_0x163743,_0x3238e6,_0x2cad16,_0x5ab841,_0x29a4af,!_0x5bb167);}}return _0x56ea95;}[_0x19eaf7(0xd02)](_0x416983){return _0x416983;}[_0x19eaf7(0xa07)](_0x42a411,_0x27f060){var _0x2771aa=_0x19eaf7,_0x7f785b=0x0<=_0x27f060['indexOf'](_0x2771aa(0xc1f))?_0x2771aa(0x449):'',_0x119639=(_0x42a411=this[_0x2771aa(0x921)](_0x42a411,!0x0),_0x27f060=this['_processSamplers'](_0x27f060,!0x1),_0x42a411=this[_0x2771aa(0x6b4)](_0x42a411,!0x0),_0x27f060=this[_0x2771aa(0x6b4)](_0x27f060,!0x1),this['_buildLeftOverUBO']());_0x27f060=_0x119639+_0x27f060,_0x42a411=(_0x42a411=_0x119639+_0x42a411)[_0x2771aa(0xa09)](/#define /g,'//#define\x20'),_0x42a411=this['_processStridedUniformArrays'](_0x42a411);let _0x18109a='struct\x20VertexInputs\x20{\x0a\x20\x20@builtin(vertex_index)\x20vertexIndex\x20:\x20u32,\x0a\x20\x20@builtin(instance_index)\x20instanceIndex\x20:\x20u32,\x0a',_0x24cd53=(0x0\x20vertexInputs\x20:\x20VertexInputs;\x0a','struct\x20FragmentInputs\x20{\x0a\x20\x20@builtin(position)\x20position\x20:\x20vec4,\x0a'),_0x1dbaa3=(0x0)?$/,'$1'),_0x291d1c=_0x1aa954['e'][_0xb5a1e9(0x712)][_0x38d431];0x0<_0x4ad7fe['length']?_0x291d1c<=0x2?(_0x291d1c=_0x4a737b+'_'+this[_0xb5a1e9(0x36f)][_0xb5a1e9(0x78d)]+_0xb5a1e9(0x164),_0x4321af+=_0xb5a1e9(0xb35)+_0x291d1c+'\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@size(16)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20el:\x20'+_0x38d431+_0xb5a1e9(0xb03),this['_stridedUniformArrays']['push'](_0x4ad7fe[_0xb5a1e9(0xa21)]),_0x4da5a4+=_0xb5a1e9(0x37d)+_0x4ad7fe['name']+_0xb5a1e9(0x458)+_0x291d1c+',\x20'+_0x4ad7fe[_0xb5a1e9(0x78d)]+_0xb5a1e9(0x660)):_0x4da5a4+='\x20'+_0x4ad7fe['name']+_0xb5a1e9(0x458)+_0x4ad7fe[_0xb5a1e9(0x3db)]+',\x20'+_0x4ad7fe[_0xb5a1e9(0x78d)]+_0xb5a1e9(0x660):_0x4da5a4+='\x20\x20'+_0x4ad7fe[_0xb5a1e9(0xa21)]+'\x20:\x20'+_0x4ad7fe[_0xb5a1e9(0x3db)]+',\x0a';}return _0x4da5a4+=_0xb5a1e9(0x428),_0x4da5a4=_0x4321af+'\x0a'+_0x4da5a4,_0x4da5a4+=_0xb5a1e9(0xcfe)+_0x5b2922[_0xb5a1e9(0x18e)]['groupIndex']+_0xb5a1e9(0xcec)+_0x5b2922['binding']['bindingIndex']+_0xb5a1e9(0x8fe)+_0x4a737b+';\x0a';}[_0x19eaf7(0x921)](_0x4028b1,_0x127e8c){var _0x53ee8e=_0x19eaf7;const _0x150e1e=/var\s+(\w+Sampler)\s*:\s*(sampler|sampler_comparison)\s*;/gm;for(;;){var _0x5576b6=_0x150e1e[_0x53ee8e(0x889)](_0x4028b1);if(null===_0x5576b6)break;const _0x4ca63c=_0x5576b6[0x1];var _0x246862=_0x5576b6[0x2],_0x172f86=_0x4ca63c[_0x53ee8e(0x444)](_0x1aa954['e'][_0x53ee8e(0xbee)])===_0x4ca63c[_0x53ee8e(0x78d)]-_0x1aa954['e']['AutoSamplerSuffix'][_0x53ee8e(0x78d)]?_0x4ca63c[_0x53ee8e(0xcce)](0x0,_0x4ca63c[_0x53ee8e(0x444)](_0x1aa954['e'][_0x53ee8e(0xbee)])):null,_0x246862='sampler_comparison'===_0x246862?_0xfb003f['dV'][_0x53ee8e(0x98e)]:_0xfb003f['dV'][_0x53ee8e(0xa14)];if(_0x172f86){const _0x27cf08=this[_0x53ee8e(0x27c)][_0x53ee8e(0x8cc)][_0x172f86];_0x27cf08&&(_0x27cf08[_0x53ee8e(0x3a1)]=!0x0);}let _0x278ab0=this[_0x53ee8e(0x27c)]['availableSamplers'][_0x4ca63c];_0x278ab0||(_0x278ab0={'binding':this[_0x53ee8e(0x27c)]['getNextFreeUBOBinding'](),'type':_0x246862},this[_0x53ee8e(0x27c)][_0x53ee8e(0xcb6)][_0x4ca63c]=_0x278ab0),this[_0x53ee8e(0x715)](_0x4ca63c,_0x278ab0,_0x127e8c),(_0x172f86=_0x4028b1[_0x53ee8e(0xcce)](0x0,_0x5576b6[_0x53ee8e(0x1d2)]),_0x246862=_0x53ee8e(0xcfe)+_0x278ab0['binding']['groupIndex']+')\x20@binding('+_0x278ab0[_0x53ee8e(0x18e)][_0x53ee8e(0x1e8)]+')\x20'),(_0x4028b1=_0x172f86+_0x246862+_0x4028b1['substring'](_0x5576b6[_0x53ee8e(0x1d2)]),_0x150e1e[_0x53ee8e(0x8c1)]+=_0x246862['length']);}return _0x4028b1;}[_0x19eaf7(0x6b4)](_0x19ca05,_0x2b51ef){var _0x1bdd98=_0x19eaf7;const _0x3dac38=/var<\s*(uniform|storage)\s*(,\s*(read|read_write)\s*)?>\s+(\S+)\s*:\s*(\S+)\s*;/gm;for(;;){var _0x5552b1=_0x3dac38['exec'](_0x19ca05);if(null===_0x5552b1)break;var _0x5d0367=_0x5552b1[0x1],_0x1d6876=_0x5552b1[0x3];let _0x426ada=_0x5552b1[0x4];var _0x5371bb=_0x5552b1[0x5];let _0x442fb9=this[_0x1bdd98(0x27c)][_0x1bdd98(0x789)][_0x426ada];if(!_0x442fb9){var _0x557df2=_0x1bdd98(0x21c)===_0x5d0367?_0x2c4534['d'][_0x1bdd98(0x9aa)][_0x5371bb]:null;let _0x1949e8;_0x557df2?(_0x426ada=_0x5371bb,-0x1===(_0x1949e8=_0x557df2[_0x1bdd98(0x18e)])[_0x1bdd98(0xba7)]&&(_0x1949e8=this[_0x1bdd98(0x27c)][_0x1bdd98(0x3c8)]())):_0x1949e8=this['_webgpuProcessingContext'][_0x1bdd98(0x3c8)](),_0x442fb9={'binding':_0x1949e8},this[_0x1bdd98(0x27c)][_0x1bdd98(0x789)][_0x426ada]=_0x442fb9;}this[_0x1bdd98(0xc62)](_0x426ada,this[_0x1bdd98(0x27c)]['availableBuffers'][_0x426ada],_0x1bdd98(0x82e)===_0x1d6876?_0xfb003f['Rs'][_0x1bdd98(0x527)]:_0x1bdd98(0xa44)===_0x5d0367?_0xfb003f['Rs'][_0x1bdd98(0x377)]:_0xfb003f['Rs'][_0x1bdd98(0xcf3)],_0x2b51ef),_0x5371bb=_0x1bdd98(0xcfe)+_0x442fb9['binding'][_0x1bdd98(0xba7)]+_0x1bdd98(0xcec)+_0x442fb9['binding'][_0x1bdd98(0x1e8)]+')\x20',(_0x19ca05=_0x19ca05[_0x1bdd98(0xcce)](0x0,_0x5552b1['index'])+_0x5371bb+_0x19ca05['substring'](_0x5552b1[_0x1bdd98(0x1d2)]),_0x3dac38['lastIndex']+=_0x5371bb['length']);}return _0x19ca05;}[_0x19eaf7(0x6dd)](_0x13a65a){var _0x3c2842=_0x19eaf7;for(const _0x4ae3b6 of this[_0x3c2842(0x36f)])_0x13a65a=_0x13a65a[_0x3c2842(0xa09)](new RegExp(_0x4ae3b6+_0x3c2842(0x947),'g'),_0x4ae3b6+'[$1].el');return _0x13a65a;}}},0x99e2:(_0xcbc0e4,_0x3583ed,_0x1d457b)=>{var _0x4e3291=a7_0x1ed280;_0x1d457b['d'](_0x3583ed,{'w':()=>_0x5e03ee});var _0x56bea0=_0x1d457b(0x77a5);class _0x5e03ee{constructor(_0x1ec23c,_0x30f67e,_0x523e1f,_0x583bc7){var _0x3dc896=a7_0x3908;this[_0x3dc896(0x6b2)]=!0x1,this[_0x3dc896(0x3f2)]=!0x1,this[_0x3dc896(0x32e)]=[],this['_enabled']=!0x1,this['_engine']=_0x1ec23c,this[_0x3dc896(0x7dd)]=_0x30f67e,this[_0x3dc896(0x672)]=_0x523e1f,this['_bundleListRenderTarget']=_0x583bc7;}get[_0x4e3291(0xcf4)](){return this['_enabled'];}get[_0x4e3291(0x325)](){var _0x268f96=_0x4e3291;return this[_0x268f96(0x3f2)];}get[_0x4e3291(0xcb7)](){var _0x21a4a2=_0x4e3291;return this[_0x21a4a2(0x6b2)];}set[_0x4e3291(0xcf4)](_0x4c98c1){var _0x2c6856=_0x4e3291;this['_mainPassBundleList']['length']=0x0,this[_0x2c6856(0x6b2)]=this[_0x2c6856(0x94d)]=_0x4c98c1,this['_play']=!0x1,_0x4c98c1&&(this[_0x2c6856(0x76a)]=this['_mode'],this[_0x2c6856(0x7dd)]=_0x56bea0['g'][_0x2c6856(0xcef)]);}get[_0x4e3291(0x58e)](){return this['_mode'];}set['mode'](_0x2cb63e){var _0x4b5374=_0x4e3291;this[_0x4b5374(0x6b2)]?this[_0x4b5374(0x76a)]=_0x2cb63e:this['_mode']=_0x2cb63e;}[_0x4e3291(0x538)](){var _0x4f79eb=_0x4e3291;this['_record']&&this['_mainPassBundleList'][_0x4f79eb(0x6fe)](this[_0x4f79eb(0x672)][_0x4f79eb(0xa3d)]());}[_0x4e3291(0x989)](_0x27d4e1,_0x10a4b1){var _0x582526=_0x4e3291,_0x1becb5;if(this['_play'])null!=(_0x1becb5=null==(_0x1becb5=_0x10a4b1[_0x582526(0xcb3)])?void 0x0:_0x1becb5[_0x10a4b1[_0x582526(0x3c4)]])&&_0x1becb5[_0x582526(0x19c)](_0x27d4e1),this[_0x582526(0x7dd)]===_0x56bea0['g'][_0x582526(0xa47)]&&this[_0x582526(0x3f5)][_0x582526(0x36a)](null==(_0x1becb5=null==(_0x1becb5=_0x10a4b1[_0x582526(0xcb3)])?void 0x0:_0x1becb5[_0x10a4b1[_0x582526(0x3c4)]])?void 0x0:_0x1becb5['numDrawCalls']);else{if(!this[_0x582526(0x6b2)])return!0x1;_0x10a4b1['_bundleLists']||(_0x10a4b1[_0x582526(0xcb3)]=[]),_0x10a4b1['_bundleLists'][_0x10a4b1['_currentLayer']]=this[_0x582526(0xc1e)][_0x582526(0xa3d)](),_0x10a4b1['_bundleLists'][_0x10a4b1[_0x582526(0x3c4)]][_0x582526(0x19c)](_0x27d4e1),this['_bundleListRenderTarget'][_0x582526(0xa4d)]();}return!0x0;}[_0x4e3291(0x1f2)](_0x5c93c1){var _0x336c26=_0x4e3291;if(this[_0x336c26(0x6b2)]&&(this[_0x336c26(0x32e)]['push'](this[_0x336c26(0x672)][_0x336c26(0xa3d)]()),this[_0x336c26(0x6b2)]=!0x1,this[_0x336c26(0x3f2)]=!0x0,this['_mode']=this[_0x336c26(0x76a)]),null!==_0x5c93c1&&this['_play']){for(let _0x5cbb72=0x0;_0x5cbb72{var _0x2bb710=a7_0x1ed280;_0x56e3f8['d'](_0x12536a,{'F':()=>_0x50410d});class _0x50410d extends _0x56e3f8(0x2902)['C']{constructor(_0x27aa9d){var _0x30cf08=a7_0x3908;super(!0x1),this[_0x30cf08(0xcb1)]=_0x27aa9d,this[_0x30cf08(0xa4d)]();}get[_0x2bb710(0x6aa)](){return this['_func'];}set[_0x2bb710(0x6aa)](_0x32a3c0){var _0x1089ad=_0x2bb710;this[_0x1089ad(0x754)]!==_0x32a3c0&&(this[_0x1089ad(0x754)]=_0x32a3c0,this[_0x1089ad(0xcb1)][_0x1089ad(0x25a)](_0x32a3c0));}get[_0x2bb710(0x540)](){var _0x12646f=_0x2bb710;return this[_0x12646f(0x9dd)];}set[_0x2bb710(0x540)](_0x12f60c){var _0x42b017=_0x2bb710;this['_funcMask']!==_0x12f60c&&(this[_0x42b017(0x9dd)]=_0x12f60c,this[_0x42b017(0xcb1)][_0x42b017(0xb40)](_0x12f60c));}get[_0x2bb710(0x91e)](){var _0x15e4dd=_0x2bb710;return this[_0x15e4dd(0xbaa)];}set['opStencilFail'](_0x34176b){var _0x1544f5=_0x2bb710;this[_0x1544f5(0xbaa)]!==_0x34176b&&(this['_opStencilFail']=_0x34176b,this[_0x1544f5(0xcb1)][_0x1544f5(0x1b9)](_0x34176b));}get[_0x2bb710(0x64b)](){var _0x5a4a56=_0x2bb710;return this[_0x5a4a56(0xb29)];}set[_0x2bb710(0x64b)](_0x68c63a){var _0x25af0f=_0x2bb710;this[_0x25af0f(0xb29)]!==_0x68c63a&&(this[_0x25af0f(0xb29)]=_0x68c63a,this[_0x25af0f(0xcb1)][_0x25af0f(0x8df)](_0x68c63a));}get[_0x2bb710(0x95d)](){var _0x55a63a=_0x2bb710;return this[_0x55a63a(0x3a9)];}set[_0x2bb710(0x95d)](_0x3542b7){var _0x5db270=_0x2bb710;this['_opStencilDepthPass']!==_0x3542b7&&(this[_0x5db270(0x3a9)]=_0x3542b7,this[_0x5db270(0xcb1)][_0x5db270(0x7a5)](_0x3542b7));}get[_0x2bb710(0x18f)](){var _0x3db495=_0x2bb710;return this[_0x3db495(0x1cb)];}set[_0x2bb710(0x18f)](_0x4d1bc1){var _0x296fd5=_0x2bb710;this[_0x296fd5(0x1cb)]!==_0x4d1bc1&&(this[_0x296fd5(0x1cb)]=_0x4d1bc1,this[_0x296fd5(0xcb1)][_0x296fd5(0x4c9)](_0x4d1bc1));}get[_0x2bb710(0xcf4)](){var _0x30f6f2=_0x2bb710;return this[_0x30f6f2(0x94d)];}set['enabled'](_0x4dd333){var _0x2e384f=_0x2bb710;this[_0x2e384f(0x94d)]!==_0x4dd333&&(this[_0x2e384f(0x94d)]=_0x4dd333,this[_0x2e384f(0xcb1)][_0x2e384f(0x7bf)](_0x4dd333));}[_0x2bb710(0xa4d)](){var _0x74a9c9=_0x2bb710;super[_0x74a9c9(0xa4d)](),this[_0x74a9c9(0xcb1)][_0x74a9c9(0x869)]();}[_0x2bb710(0xcca)](){var _0x87249b=_0x2bb710,_0x186adb=null==(_0x186adb=this[_0x87249b(0x83e)])?void 0x0:_0x186adb[_0x87249b(0xcf4)];this[_0x87249b(0xcf4)]=(_0x186adb?this['stencilMaterial']:this['stencilGlobal'])[_0x87249b(0xcf4)],this[_0x87249b(0xcf4)]&&(this[_0x87249b(0x6aa)]=(_0x186adb?this['stencilMaterial']:this[_0x87249b(0xc46)])['func'],this[_0x87249b(0x454)]=(_0x186adb?this['stencilMaterial']:this[_0x87249b(0xc46)])[_0x87249b(0x454)],this[_0x87249b(0x540)]=(_0x186adb?this[_0x87249b(0x83e)]:this[_0x87249b(0xc46)])[_0x87249b(0x540)],this[_0x87249b(0x91e)]=(_0x186adb?this[_0x87249b(0x83e)]:this['stencilGlobal'])['opStencilFail'],this['opDepthFail']=(_0x186adb?this[_0x87249b(0x83e)]:this['stencilGlobal'])[_0x87249b(0x64b)],this['opStencilDepthPass']=(_0x186adb?this['stencilMaterial']:this[_0x87249b(0xc46)])['opStencilDepthPass'],this[_0x87249b(0x18f)]=(_0x186adb?this[_0x87249b(0x83e)]:this['stencilGlobal'])[_0x87249b(0x18f)]);}}},0x59c6:(_0x2ffb86,_0x4bd96a,_0x463185)=>{var _0x1baecf=a7_0x1ed280;_0x463185['d'](_0x4bd96a,{'D':()=>_0x12e4cc,'U':()=>_0x1ebbb4});var _0x5d2949,_0x2e10c6,_0x549a7c=_0x463185(0x89a1),_0x4f2aae=_0x463185(0x1b5c),_0x4b2468=_0x463185(0x77a5),_0x419a10=_0x463185(0x25b1),_0x198b8d=_0x463185(0x18215);_0x5d2949={'MipMap':0x0,0x0:_0x1baecf(0x64d),'InvertYPremultiplyAlpha':0x1,0x1:_0x1baecf(0x3d5),'Clear':0x2,0x2:'Clear','InvertYPremultiplyAlphaWithOfst':0x3,0x3:_0x1baecf(0xb77)},_0x2e10c6={'DontInvertY':0x0,0x0:'DontInvertY','InvertY':0x1,0x1:_0x1baecf(0x38d)};const _0x258102=[{'vertex':_0x1baecf(0x879),'fragment':_0x1baecf(0x655)},{'vertex':_0x1baecf(0xc58),'fragment':_0x1baecf(0x3e4)},{'vertex':_0x1baecf(0x790),'fragment':_0x1baecf(0x883)},{'vertex':_0x1baecf(0xc58),'fragment':'\x0a\x20\x20\x20\x20#extension\x20GL_EXT_samplerless_texture_functions\x20:\x20enable\x0a\x0a\x20\x20\x20\x20layout(set\x20=\x200,\x20binding\x20=\x200)\x20uniform\x20texture2D\x20img;\x0a\x20\x20\x20\x20layout(set\x20=\x200,\x20binding\x20=\x201)\x20uniform\x20Params\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20ofstX;\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20ofstY;\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20width;\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20height;\x0a\x20\x20\x20\x20};\x0a\x0a\x20\x20\x20\x20#ifdef\x20INVERTY\x0a\x20\x20\x20\x20\x20\x20\x20\x20layout(location\x20=\x200)\x20in\x20flat\x20ivec2\x20vTextureSize;\x0a\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20layout(location\x20=\x200)\x20out\x20vec4\x20outColor;\x0a\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(gl_FragCoord.x\x20<\x20ofstX\x20||\x20gl_FragCoord.x\x20>=\x20ofstX\x20+\x20width)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(gl_FragCoord.y\x20<\x20ofstY\x20||\x20gl_FragCoord.y\x20>=\x20ofstY\x20+\x20height)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20#ifdef\x20INVERTY\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20color\x20=\x20texelFetch(img,\x20ivec2(gl_FragCoord.x,\x20ofstY\x20+\x20height\x20-\x20(gl_FragCoord.y\x20-\x20ofstY)),\x200);\x0a\x20\x20\x20\x20#else\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20color\x20=\x20texelFetch(img,\x20ivec2(gl_FragCoord.xy),\x200);\x0a\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20#ifdef\x20PREMULTIPLYALPHA\x0a\x20\x20\x20\x20\x20\x20\x20\x20color.rgb\x20*=\x20color.a;\x0a\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20outColor\x20=\x20color;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20'}],_0x1ebbb4={'':0x0,'r8unorm':0x1,'r8uint':0x2,'r8sint':0x3,'r16uint':0x4,'r16sint':0x5,'r16float':0x6,'rg8unorm':0x7,'rg8uint':0x8,'rg8sint':0x9,'r32uint':0xa,'r32sint':0xb,'r32float':0xc,'rg16uint':0xd,'rg16sint':0xe,'rg16float':0xf,'rgba8unorm':0x10,'rgba8unorm-srgb':0x11,'rgba8uint':0x12,'rgba8sint':0x13,'bgra8unorm':0x14,'bgra8unorm-srgb':0x15,'rgb10a2unorm':0x16,'rg32uint':0x17,'rg32sint':0x18,'rg32float':0x19,'rgba16uint':0x1a,'rgba16sint':0x1b,'rgba16float':0x1c,'rgba32uint':0x1d,'rgba32sint':0x1e,'rgba32float':0x1f,'stencil8':0x20,'depth16unorm':0x21,'depth24plus':0x22,'depth24plus-stencil8':0x23,'depth32float':0x24,'depth24unorm-stencil8':0x25,'depth32float-stencil8':0x26};class _0x12e4cc{constructor(_0x30049e,_0x4db2e7,_0x2e7160,_0x5d31ce){var _0x44e57f=_0x1baecf;this[_0x44e57f(0x226)]={},this[_0x44e57f(0x74d)]=[],this[_0x44e57f(0x54d)]={},this[_0x44e57f(0x22a)]=[],this[_0x44e57f(0xb70)]=[],this['_device']=_0x30049e,this[_0x44e57f(0xc77)]=_0x4db2e7,this[_0x44e57f(0x450)]=_0x2e7160,this[_0x44e57f(0x22d)]=_0x5d31ce,this['_mipmapSampler']=_0x30049e['createSampler']({'minFilter':_0x549a7c['X9'][_0x44e57f(0xa20)]}),this['_videoSampler']=_0x30049e['createSampler']({'minFilter':_0x549a7c['X9'][_0x44e57f(0xa20)]}),this[_0x44e57f(0x966)]=this[_0x44e57f(0x22d)][_0x44e57f(0x238)](0x10,_0x549a7c['FB'][_0x44e57f(0xcf3)]|_0x549a7c['FB'][_0x44e57f(0x652)])[_0x44e57f(0x734)],this[_0x44e57f(0x3bf)](_0x549a7c['EV']['RGBA8Unorm']),this[_0x44e57f(0x56b)](_0x549a7c['EV']['RGBA8Unorm']);}static[_0x1baecf(0xce1)](_0x2b03f6,_0xb24dc9){var _0x280ddb=_0x1baecf;return _0x4f2aae['R'][_0x280ddb(0xad3)](Math[_0x280ddb(0x843)](_0x2b03f6,_0xb24dc9))+0x1;}[_0x1baecf(0x3bf)](_0x3893f1,_0x4c1477=_0x5d2949[_0x1baecf(0x64d)],_0x6a8b1){var _0x49a08e=_0x1baecf,_0x422e2f=_0x4c1477===_0x5d2949['MipMap']?0x1:_0x4c1477===_0x5d2949['InvertYPremultiplyAlpha']?((_0x6a8b1['invertY']?0x1:0x0)<<0x1)+((_0x6a8b1['premultiplyAlpha']?0x1:0x0)<<0x2):_0x4c1477===_0x5d2949[_0x49a08e(0xa3e)]?0x8:_0x4c1477===_0x5d2949[_0x49a08e(0xb77)]?((_0x6a8b1[_0x49a08e(0xb90)]?0x1:0x0)<<0x4)+((_0x6a8b1[_0x49a08e(0xaec)]?0x1:0x0)<<0x5):0x0;this[_0x49a08e(0x226)][_0x3893f1]||(this[_0x49a08e(0x226)][_0x3893f1]=[]);let _0xb3b23b=this['_pipelines'][_0x3893f1][_0x422e2f];if(!_0xb3b23b){let _0x15b9fc=_0x49a08e(0xc54),_0x5d9191=(_0x4c1477!==_0x5d2949['InvertYPremultiplyAlpha']&&_0x4c1477!==_0x5d2949[_0x49a08e(0xb77)]||(_0x6a8b1['invertY']&&(_0x15b9fc+=_0x49a08e(0x162)),_0x6a8b1[_0x49a08e(0xaec)]&&(_0x15b9fc+='#define\x20PREMULTIPLYALPHA\x0d\x0a')),this[_0x49a08e(0x74d)][_0x422e2f]);if(!_0x5d9191){let _0x18f060=this[_0x49a08e(0xc77)]['compileGLSL'](_0x15b9fc+_0x258102[_0x4c1477]['vertex'],_0x49a08e(0x3c1)),_0x1102ce=this[_0x49a08e(0xc77)][_0x49a08e(0x973)](_0x15b9fc+_0x258102[_0x4c1477][_0x49a08e(0x3e7)],'fragment');this[_0x49a08e(0x450)]&&(_0x18f060=this['_tintWASM'][_0x49a08e(0x6bc)](_0x18f060),_0x1102ce=this['_tintWASM'][_0x49a08e(0x6bc)](_0x1102ce)),(_0x6a8b1=this[_0x49a08e(0x5f8)]['createShaderModule']({'code':_0x18f060}),_0x4c1477=this[_0x49a08e(0x5f8)]['createShaderModule']({'code':_0x1102ce})),_0x5d9191=this['_compiledShaders'][_0x422e2f]=[_0x6a8b1,_0x4c1477];}const _0x2cd942=this[_0x49a08e(0x5f8)][_0x49a08e(0xa28)]({'layout':_0x549a7c['fu'][_0x49a08e(0xcf7)],'vertex':{'module':_0x5d9191[0x0],'entryPoint':_0x49a08e(0x357)},'fragment':{'module':_0x5d9191[0x1],'entryPoint':_0x49a08e(0x357),'targets':[{'format':_0x3893f1}]},'primitive':{'topology':_0x549a7c['YV'][_0x49a08e(0x1ac)],'stripIndexFormat':_0x549a7c['iD'][_0x49a08e(0x9d9)]}});_0xb3b23b=this['_pipelines'][_0x3893f1][_0x422e2f]=[_0x2cd942,_0x2cd942['getBindGroupLayout'](0x0)];}return _0xb3b23b;}[_0x1baecf(0x56b)](_0x221bcc,_0x46cbdd=_0x2e10c6[_0x1baecf(0x8be)]){var _0x28d9d3=_0x1baecf,_0x27b526,_0xd2beb9,_0x46cbdd=_0x46cbdd===_0x2e10c6[_0x28d9d3(0x38d)]?0x1:0x0;this[_0x28d9d3(0x54d)][_0x221bcc]||(this['_videoPipelines'][_0x221bcc]=[]);let _0x364414=this[_0x28d9d3(0x54d)][_0x221bcc][_0x46cbdd];if(!_0x364414){let _0x117169=this['_videoCompiledShaders'][_0x46cbdd];_0x117169||(_0x27b526=this[_0x28d9d3(0x5f8)][_0x28d9d3(0xcbc)]({'code':'\x0a\x20\x20\x20\x20struct\x20VertexOutput\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20@builtin(position)\x20Position\x20:\x20vec4,\x0a\x20\x20\x20\x20\x20\x20\x20\x20@location(0)\x20fragUV\x20:\x20vec2\x0a\x20\x20\x20\x20}\x0a\x20\x20\x0a\x20\x20\x20\x20@vertex\x0a\x20\x20\x20\x20fn\x20main(\x0a\x20\x20\x20\x20\x20\x20\x20\x20@builtin(vertex_index)\x20VertexIndex\x20:\x20u32\x0a\x20\x20\x20\x20)\x20->\x20VertexOutput\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20pos\x20=\x20array,\x204>(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(-1.0,\x20\x201.0),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(\x201.0,\x20\x201.0),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(-1.0,\x20-1.0),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(\x201.0,\x20-1.0)\x0a\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20tex\x20=\x20array,\x204>(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(0.0,\x200.0),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(1.0,\x200.0),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(0.0,\x201.0),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(1.0,\x201.0)\x0a\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20output:\x20VertexOutput;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20output.Position\x20=\x20vec4(pos[VertexIndex],\x200.0,\x201.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20output.fragUV\x20=\x20tex[VertexIndex];\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20output;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20'}),_0xd2beb9=this['_device'][_0x28d9d3(0xcbc)]({'code':0x0==_0x46cbdd?_0x28d9d3(0xb64):'\x0a\x20\x20\x20\x20@group(0)\x20@binding(0)\x20var\x20videoSampler:\x20sampler;\x0a\x20\x20\x20\x20@group(0)\x20@binding(1)\x20var\x20videoTexture:\x20texture_external;\x0a\x0a\x20\x20\x20\x20@fragment\x0a\x20\x20\x20\x20fn\x20main(\x0a\x20\x20\x20\x20\x20\x20\x20\x20@location(0)\x20fragUV:\x20vec2\x0a\x20\x20\x20\x20)\x20->\x20@location(0)\x20vec4\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20textureSampleBaseClampToEdge(videoTexture,\x20videoSampler,\x20vec2(fragUV.x,\x201.0\x20-\x20fragUV.y));\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20'}),_0x117169=this[_0x28d9d3(0x22a)][_0x46cbdd]=[_0x27b526,_0xd2beb9]);const _0xc696e3=this[_0x28d9d3(0x5f8)]['createRenderPipeline']({'label':'CopyVideoToTexture_'+_0x221bcc+'_'+(0x0==_0x46cbdd?'DontInvertY':_0x28d9d3(0x38d)),'layout':_0x549a7c['fu'][_0x28d9d3(0xcf7)],'vertex':{'module':_0x117169[0x0],'entryPoint':_0x28d9d3(0x357)},'fragment':{'module':_0x117169[0x1],'entryPoint':_0x28d9d3(0x357),'targets':[{'format':_0x221bcc}]},'primitive':{'topology':_0x549a7c['YV']['TriangleStrip'],'stripIndexFormat':_0x549a7c['iD'][_0x28d9d3(0x9d9)]}});_0x364414=this['_videoPipelines'][_0x221bcc][_0x46cbdd]=[_0xc696e3,_0xc696e3[_0x28d9d3(0x6b6)](0x0)];}return _0x364414;}static[_0x1baecf(0x550)](_0x31a2b5){var _0x4dd83a=_0x1baecf;switch(_0x31a2b5){case _0x549a7c['EV'][_0x4dd83a(0x40d)]:case _0x549a7c['EV'][_0x4dd83a(0x2b4)]:case _0x549a7c['EV'][_0x4dd83a(0xa7b)]:case _0x549a7c['EV'][_0x4dd83a(0x435)]:case _0x549a7c['EV']['RG8Unorm']:case _0x549a7c['EV'][_0x4dd83a(0xbec)]:case _0x549a7c['EV'][_0x4dd83a(0xabc)]:case _0x549a7c['EV'][_0x4dd83a(0x59b)]:case _0x549a7c['EV']['RGBA8Unorm']:case _0x549a7c['EV'][_0x4dd83a(0x619)]:case _0x549a7c['EV']['RGBA8Snorm']:case _0x549a7c['EV']['RGBA8Uint']:case _0x549a7c['EV'][_0x4dd83a(0x9da)]:case _0x549a7c['EV'][_0x4dd83a(0x3e0)]:case _0x549a7c['EV'][_0x4dd83a(0x967)]:case _0x549a7c['EV'][_0x4dd83a(0x18d)]:case _0x549a7c['EV'][_0x4dd83a(0x925)]:case _0x549a7c['EV'][_0x4dd83a(0xc6f)]:case _0x549a7c['EV']['Depth24UnormStencil8']:case _0x549a7c['EV']['Depth32FloatStencil8']:case _0x549a7c['EV'][_0x4dd83a(0xa15)]:case _0x549a7c['EV'][_0x4dd83a(0x486)]:case _0x549a7c['EV'][_0x4dd83a(0xa41)]:case _0x549a7c['EV'][_0x4dd83a(0xb30)]:case _0x549a7c['EV'][_0x4dd83a(0x633)]:case _0x549a7c['EV'][_0x4dd83a(0xafa)]:case _0x549a7c['EV']['BC3RGBAUnorm']:case _0x549a7c['EV'][_0x4dd83a(0xb92)]:case _0x549a7c['EV'][_0x4dd83a(0x499)]:case _0x549a7c['EV'][_0x4dd83a(0xaea)]:case _0x549a7c['EV'][_0x4dd83a(0x8b0)]:case _0x549a7c['EV']['BC4RSnorm']:case _0x549a7c['EV'][_0x4dd83a(0x1e5)]:case _0x549a7c['EV'][_0x4dd83a(0xac8)]:case _0x549a7c['EV'][_0x4dd83a(0xc57)]:case _0x549a7c['EV'][_0x4dd83a(0x999)]:case _0x549a7c['EV'][_0x4dd83a(0x1e0)]:case _0x549a7c['EV'][_0x4dd83a(0x2d9)]:case _0x549a7c['EV']['ETC2RGBA8Unorm']:case _0x549a7c['EV']['ETC2RGBA8UnormSRGB']:case _0x549a7c['EV'][_0x4dd83a(0x749)]:case _0x549a7c['EV'][_0x4dd83a(0xa24)]:case _0x549a7c['EV'][_0x4dd83a(0x413)]:case _0x549a7c['EV']['EACRG11Snorm']:case _0x549a7c['EV'][_0x4dd83a(0xc12)]:case _0x549a7c['EV'][_0x4dd83a(0x609)]:case _0x549a7c['EV'][_0x4dd83a(0xb1b)]:case _0x549a7c['EV'][_0x4dd83a(0x611)]:case _0x549a7c['EV'][_0x4dd83a(0x193)]:case _0x549a7c['EV'][_0x4dd83a(0x176)]:case _0x549a7c['EV']['ASTC6x5Unorm']:case _0x549a7c['EV'][_0x4dd83a(0x8d9)]:case _0x549a7c['EV'][_0x4dd83a(0x98c)]:case _0x549a7c['EV']['ASTC6x6UnormSRGB']:case _0x549a7c['EV']['ASTC8x5Unorm']:case _0x549a7c['EV'][_0x4dd83a(0x797)]:case _0x549a7c['EV'][_0x4dd83a(0x91c)]:case _0x549a7c['EV'][_0x4dd83a(0x5a0)]:case _0x549a7c['EV']['ASTC8x8Unorm']:case _0x549a7c['EV'][_0x4dd83a(0xcf0)]:case _0x549a7c['EV'][_0x4dd83a(0x597)]:case _0x549a7c['EV']['ASTC10x5UnormSRGB']:case _0x549a7c['EV']['ASTC10x6Unorm']:case _0x549a7c['EV'][_0x4dd83a(0x9c2)]:case _0x549a7c['EV'][_0x4dd83a(0x40e)]:case _0x549a7c['EV'][_0x4dd83a(0xc17)]:case _0x549a7c['EV'][_0x4dd83a(0xc48)]:case _0x549a7c['EV'][_0x4dd83a(0xd09)]:case _0x549a7c['EV'][_0x4dd83a(0x2d6)]:case _0x549a7c['EV'][_0x4dd83a(0x702)]:case _0x549a7c['EV'][_0x4dd83a(0x784)]:case _0x549a7c['EV'][_0x4dd83a(0x8bf)]:return _0x4b2468['g'][_0x4dd83a(0x566)];case _0x549a7c['EV'][_0x4dd83a(0x729)]:case _0x549a7c['EV'][_0x4dd83a(0x2c2)]:case _0x549a7c['EV'][_0x4dd83a(0x714)]:case _0x549a7c['EV'][_0x4dd83a(0x5cc)]:case _0x549a7c['EV'][_0x4dd83a(0x7c0)]:case _0x549a7c['EV']['RGBA16Sint']:case _0x549a7c['EV']['Depth16Unorm']:return _0x4b2468['g']['TEXTURETYPE_UNSIGNED_SHORT'];case _0x549a7c['EV']['R16Float']:case _0x549a7c['EV'][_0x4dd83a(0x926)]:case _0x549a7c['EV'][_0x4dd83a(0xbe9)]:return _0x4b2468['g']['TEXTURETYPE_HALF_FLOAT'];case _0x549a7c['EV']['R32Uint']:case _0x549a7c['EV'][_0x4dd83a(0x316)]:case _0x549a7c['EV']['RG32Uint']:case _0x549a7c['EV'][_0x4dd83a(0x343)]:case _0x549a7c['EV'][_0x4dd83a(0x2ed)]:case _0x549a7c['EV'][_0x4dd83a(0x5bf)]:return _0x4b2468['g'][_0x4dd83a(0x1e7)];case _0x549a7c['EV'][_0x4dd83a(0x794)]:case _0x549a7c['EV'][_0x4dd83a(0xaae)]:case _0x549a7c['EV'][_0x4dd83a(0x407)]:case _0x549a7c['EV']['Depth32Float']:return _0x4b2468['g'][_0x4dd83a(0x75f)];case _0x549a7c['EV']['Stencil8']:throw'No\x20fixed\x20size\x20for\x20Stencil8\x20format!';case _0x549a7c['EV'][_0x4dd83a(0x259)]:throw _0x4dd83a(0xa5c);case _0x549a7c['EV'][_0x4dd83a(0xa11)]:throw _0x4dd83a(0x972);}return _0x4b2468['g'][_0x4dd83a(0x566)];}static[_0x1baecf(0x867)](_0x1ef0a9){var _0x138a53=_0x1baecf;switch(_0x1ef0a9){case _0x549a7c['EV'][_0x138a53(0x40d)]:case _0x549a7c['EV'][_0x138a53(0x2b4)]:case _0x549a7c['EV'][_0x138a53(0xa7b)]:case _0x549a7c['EV']['R8Sint']:return{'width':0x1,'height':0x1,'length':0x1};case _0x549a7c['EV'][_0x138a53(0x729)]:case _0x549a7c['EV'][_0x138a53(0x2c2)]:case _0x549a7c['EV'][_0x138a53(0x183)]:case _0x549a7c['EV']['RG8Unorm']:case _0x549a7c['EV'][_0x138a53(0xbec)]:case _0x549a7c['EV'][_0x138a53(0xabc)]:case _0x549a7c['EV'][_0x138a53(0x59b)]:return{'width':0x1,'height':0x1,'length':0x2};case _0x549a7c['EV'][_0x138a53(0x7e9)]:case _0x549a7c['EV'][_0x138a53(0x316)]:case _0x549a7c['EV'][_0x138a53(0x794)]:case _0x549a7c['EV'][_0x138a53(0x714)]:case _0x549a7c['EV'][_0x138a53(0x5cc)]:case _0x549a7c['EV'][_0x138a53(0x926)]:case _0x549a7c['EV'][_0x138a53(0x1af)]:case _0x549a7c['EV'][_0x138a53(0x619)]:case _0x549a7c['EV']['RGBA8Snorm']:case _0x549a7c['EV'][_0x138a53(0x373)]:case _0x549a7c['EV'][_0x138a53(0x9da)]:case _0x549a7c['EV'][_0x138a53(0x3e0)]:case _0x549a7c['EV']['BGRA8UnormSRGB']:case _0x549a7c['EV'][_0x138a53(0x925)]:case _0x549a7c['EV'][_0x138a53(0x18d)]:case _0x549a7c['EV'][_0x138a53(0xc6f)]:return{'width':0x1,'height':0x1,'length':0x4};case _0x549a7c['EV'][_0x138a53(0xca2)]:case _0x549a7c['EV']['RG32Sint']:case _0x549a7c['EV'][_0x138a53(0xaae)]:case _0x549a7c['EV'][_0x138a53(0x7c0)]:case _0x549a7c['EV'][_0x138a53(0x665)]:case _0x549a7c['EV'][_0x138a53(0xbe9)]:return{'width':0x1,'height':0x1,'length':0x8};case _0x549a7c['EV'][_0x138a53(0x2ed)]:case _0x549a7c['EV']['RGBA32Sint']:case _0x549a7c['EV'][_0x138a53(0x407)]:return{'width':0x1,'height':0x1,'length':0x10};case _0x549a7c['EV'][_0x138a53(0x635)]:throw _0x138a53(0x787);case _0x549a7c['EV'][_0x138a53(0x37a)]:return{'width':0x1,'height':0x1,'length':0x2};case _0x549a7c['EV'][_0x138a53(0x259)]:throw _0x138a53(0xa5c);case _0x549a7c['EV'][_0x138a53(0xa11)]:throw _0x138a53(0x972);case _0x549a7c['EV'][_0x138a53(0x13b)]:case _0x549a7c['EV']['Depth24UnormStencil8']:return{'width':0x1,'height':0x1,'length':0x4};case _0x549a7c['EV']['Depth32FloatStencil8']:return{'width':0x1,'height':0x1,'length':0x5};case _0x549a7c['EV'][_0x138a53(0xa15)]:case _0x549a7c['EV']['BC7RGBAUnormSRGB']:case _0x549a7c['EV']['BC6HRGBUFloat']:case _0x549a7c['EV'][_0x138a53(0xb30)]:case _0x549a7c['EV'][_0x138a53(0x633)]:case _0x549a7c['EV'][_0x138a53(0xafa)]:case _0x549a7c['EV'][_0x138a53(0xb14)]:case _0x549a7c['EV'][_0x138a53(0xb92)]:case _0x549a7c['EV'][_0x138a53(0x499)]:case _0x549a7c['EV']['BC2RGBAUnormSRGB']:return{'width':0x4,'height':0x4,'length':0x10};case _0x549a7c['EV']['BC4RUnorm']:case _0x549a7c['EV'][_0x138a53(0x2fa)]:case _0x549a7c['EV']['BC1RGBAUnorm']:case _0x549a7c['EV'][_0x138a53(0xac8)]:return{'width':0x4,'height':0x4,'length':0x8};case _0x549a7c['EV'][_0x138a53(0xc57)]:case _0x549a7c['EV'][_0x138a53(0x999)]:case _0x549a7c['EV'][_0x138a53(0x1e0)]:case _0x549a7c['EV']['ETC2RGB8A1UnormSRGB']:case _0x549a7c['EV'][_0x138a53(0x749)]:case _0x549a7c['EV'][_0x138a53(0xa24)]:return{'width':0x4,'height':0x4,'length':0x8};case _0x549a7c['EV']['ETC2RGBA8Unorm']:case _0x549a7c['EV'][_0x138a53(0x495)]:case _0x549a7c['EV'][_0x138a53(0x413)]:case _0x549a7c['EV'][_0x138a53(0x3f6)]:return{'width':0x4,'height':0x4,'length':0x10};case _0x549a7c['EV'][_0x138a53(0xc12)]:case _0x549a7c['EV'][_0x138a53(0x609)]:return{'width':0x4,'height':0x4,'length':0x10};case _0x549a7c['EV'][_0x138a53(0xb1b)]:case _0x549a7c['EV'][_0x138a53(0x611)]:return{'width':0x5,'height':0x4,'length':0x10};case _0x549a7c['EV']['ASTC5x5Unorm']:case _0x549a7c['EV']['ASTC5x5UnormSRGB']:return{'width':0x5,'height':0x5,'length':0x10};case _0x549a7c['EV'][_0x138a53(0x326)]:case _0x549a7c['EV'][_0x138a53(0x8d9)]:return{'width':0x6,'height':0x5,'length':0x10};case _0x549a7c['EV']['ASTC6x6Unorm']:case _0x549a7c['EV'][_0x138a53(0x7eb)]:return{'width':0x6,'height':0x6,'length':0x10};case _0x549a7c['EV'][_0x138a53(0x34c)]:case _0x549a7c['EV'][_0x138a53(0x797)]:return{'width':0x8,'height':0x5,'length':0x10};case _0x549a7c['EV'][_0x138a53(0x91c)]:case _0x549a7c['EV'][_0x138a53(0x5a0)]:return{'width':0x8,'height':0x6,'length':0x10};case _0x549a7c['EV']['ASTC8x8Unorm']:case _0x549a7c['EV'][_0x138a53(0xcf0)]:return{'width':0x8,'height':0x8,'length':0x10};case _0x549a7c['EV'][_0x138a53(0x597)]:case _0x549a7c['EV']['ASTC10x5UnormSRGB']:return{'width':0xa,'height':0x5,'length':0x10};case _0x549a7c['EV'][_0x138a53(0x4ea)]:case _0x549a7c['EV'][_0x138a53(0x9c2)]:return{'width':0xa,'height':0x6,'length':0x10};case _0x549a7c['EV']['ASTC10x8Unorm']:case _0x549a7c['EV'][_0x138a53(0xc17)]:return{'width':0xa,'height':0x8,'length':0x10};case _0x549a7c['EV'][_0x138a53(0xc48)]:case _0x549a7c['EV'][_0x138a53(0xd09)]:return{'width':0xa,'height':0xa,'length':0x10};case _0x549a7c['EV'][_0x138a53(0x2d6)]:case _0x549a7c['EV'][_0x138a53(0x702)]:return{'width':0xc,'height':0xa,'length':0x10};case _0x549a7c['EV']['ASTC12x12Unorm']:case _0x549a7c['EV'][_0x138a53(0x8bf)]:return{'width':0xc,'height':0xc,'length':0x10};}return{'width':0x1,'height':0x1,'length':0x4};}static['_IsHardwareTexture'](_0x5c4556){var _0xd42ae7=_0x1baecf;return!!_0x5c4556[_0xd42ae7(0xbd8)];}static[_0x1baecf(0x788)](_0x303361){var _0x125d46=_0x1baecf;return!!_0x303361[_0x125d46(0x27f)];}static[_0x1baecf(0x99a)](_0x43879d){var _0x174f6e=_0x1baecf;return void 0x0!==_0x43879d[_0x174f6e(0x875)];}static[_0x1baecf(0x5c9)](_0x1570f4){var _0x40ed36=_0x1baecf;return Array[_0x40ed36(0x8f6)](_0x1570f4)&&void 0x0!==_0x1570f4[0x0][_0x40ed36(0x875)];}[_0x1baecf(0x62e)](_0x5b7010){var _0xa11ad8=_0x1baecf;this[_0xa11ad8(0x358)]=_0x5b7010;}static[_0x1baecf(0x793)](_0x134d20){var _0x1b9eba=_0x1baecf;switch(_0x134d20){case _0x549a7c['EV']['BC7RGBAUnormSRGB']:case _0x549a7c['EV'][_0x1b9eba(0xa15)]:case _0x549a7c['EV'][_0x1b9eba(0xb30)]:case _0x549a7c['EV']['BC6HRGBUFloat']:case _0x549a7c['EV'][_0x1b9eba(0xafa)]:case _0x549a7c['EV']['BC5RGUnorm']:case _0x549a7c['EV'][_0x1b9eba(0x2fa)]:case _0x549a7c['EV']['BC4RUnorm']:case _0x549a7c['EV'][_0x1b9eba(0xb92)]:case _0x549a7c['EV']['BC3RGBAUnorm']:case _0x549a7c['EV'][_0x1b9eba(0xaea)]:case _0x549a7c['EV']['BC2RGBAUnorm']:case _0x549a7c['EV'][_0x1b9eba(0xac8)]:case _0x549a7c['EV']['BC1RGBAUnorm']:case _0x549a7c['EV'][_0x1b9eba(0xc57)]:case _0x549a7c['EV'][_0x1b9eba(0x999)]:case _0x549a7c['EV']['ETC2RGB8A1Unorm']:case _0x549a7c['EV'][_0x1b9eba(0x2d9)]:case _0x549a7c['EV']['ETC2RGBA8Unorm']:case _0x549a7c['EV'][_0x1b9eba(0x495)]:case _0x549a7c['EV'][_0x1b9eba(0x749)]:case _0x549a7c['EV']['EACR11Snorm']:case _0x549a7c['EV'][_0x1b9eba(0x413)]:case _0x549a7c['EV'][_0x1b9eba(0x3f6)]:case _0x549a7c['EV']['ASTC4x4Unorm']:case _0x549a7c['EV'][_0x1b9eba(0x609)]:case _0x549a7c['EV'][_0x1b9eba(0xb1b)]:case _0x549a7c['EV'][_0x1b9eba(0x611)]:case _0x549a7c['EV'][_0x1b9eba(0x193)]:case _0x549a7c['EV'][_0x1b9eba(0x176)]:case _0x549a7c['EV'][_0x1b9eba(0x326)]:case _0x549a7c['EV'][_0x1b9eba(0x8d9)]:case _0x549a7c['EV'][_0x1b9eba(0x98c)]:case _0x549a7c['EV'][_0x1b9eba(0x7eb)]:case _0x549a7c['EV']['ASTC8x5Unorm']:case _0x549a7c['EV'][_0x1b9eba(0x797)]:case _0x549a7c['EV'][_0x1b9eba(0x91c)]:case _0x549a7c['EV'][_0x1b9eba(0x5a0)]:case _0x549a7c['EV'][_0x1b9eba(0x8d6)]:case _0x549a7c['EV'][_0x1b9eba(0xcf0)]:case _0x549a7c['EV']['ASTC10x5Unorm']:case _0x549a7c['EV']['ASTC10x5UnormSRGB']:case _0x549a7c['EV']['ASTC10x6Unorm']:case _0x549a7c['EV'][_0x1b9eba(0x9c2)]:case _0x549a7c['EV'][_0x1b9eba(0x40e)]:case _0x549a7c['EV'][_0x1b9eba(0xc17)]:case _0x549a7c['EV'][_0x1b9eba(0xc48)]:case _0x549a7c['EV'][_0x1b9eba(0xd09)]:case _0x549a7c['EV'][_0x1b9eba(0x2d6)]:case _0x549a7c['EV'][_0x1b9eba(0x702)]:case _0x549a7c['EV'][_0x1b9eba(0x784)]:case _0x549a7c['EV'][_0x1b9eba(0x8bf)]:return!0x0;}return!0x1;}static[_0x1baecf(0xc64)](_0x5c3c83,_0x173288,_0x2acb82=!0x1){var _0x5f2707=_0x1baecf;switch(_0x173288){case _0x4b2468['g']['TEXTUREFORMAT_DEPTH16']:return _0x549a7c['EV']['Depth16Unorm'];case _0x4b2468['g']['TEXTUREFORMAT_DEPTH24']:return _0x549a7c['EV'][_0x5f2707(0x259)];case _0x4b2468['g'][_0x5f2707(0x69c)]:return _0x549a7c['EV'][_0x5f2707(0xa11)];case _0x4b2468['g'][_0x5f2707(0xc0d)]:return _0x549a7c['EV']['Depth32Float'];case _0x4b2468['g'][_0x5f2707(0x865)]:return _0x549a7c['EV'][_0x5f2707(0x426)];case _0x4b2468['g']['TEXTUREFORMAT_DEPTH32FLOAT_STENCIL8']:return _0x549a7c['EV'][_0x5f2707(0xd0d)];case _0x4b2468['g']['TEXTUREFORMAT_STENCIL8']:return _0x549a7c['EV'][_0x5f2707(0x635)];case _0x4b2468['g'][_0x5f2707(0xca7)]:return _0x2acb82?_0x549a7c['EV'][_0x5f2707(0x486)]:_0x549a7c['EV']['BC7RGBAUnorm'];case _0x4b2468['g']['TEXTUREFORMAT_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT']:return _0x549a7c['EV'][_0x5f2707(0xa41)];case _0x4b2468['g'][_0x5f2707(0x44f)]:return _0x549a7c['EV'][_0x5f2707(0xb30)];case _0x4b2468['g']['TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT5']:return _0x2acb82?_0x549a7c['EV']['BC3RGBAUnormSRGB']:_0x549a7c['EV'][_0x5f2707(0xb14)];case _0x4b2468['g']['TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT3']:return _0x2acb82?_0x549a7c['EV']['BC2RGBAUnormSRGB']:_0x549a7c['EV'][_0x5f2707(0x499)];case _0x4b2468['g'][_0x5f2707(0xbbc)]:case _0x4b2468['g'][_0x5f2707(0x14d)]:return _0x2acb82?_0x549a7c['EV'][_0x5f2707(0xac8)]:_0x549a7c['EV'][_0x5f2707(0x1e5)];case _0x4b2468['g'][_0x5f2707(0xb0d)]:return _0x2acb82?_0x549a7c['EV'][_0x5f2707(0x609)]:_0x549a7c['EV']['ASTC4x4Unorm'];case _0x4b2468['g'][_0x5f2707(0x62c)]:case _0x4b2468['g'][_0x5f2707(0x492)]:return _0x2acb82?_0x549a7c['EV'][_0x5f2707(0x999)]:_0x549a7c['EV'][_0x5f2707(0xc57)];case _0x4b2468['g'][_0x5f2707(0x568)]:return _0x2acb82?_0x549a7c['EV'][_0x5f2707(0x495)]:_0x549a7c['EV'][_0x5f2707(0x558)];}switch(_0x5c3c83){case _0x4b2468['g'][_0x5f2707(0x3a2)]:switch(_0x173288){case _0x4b2468['g'][_0x5f2707(0x24c)]:return _0x549a7c['EV'][_0x5f2707(0x2b4)];case _0x4b2468['g'][_0x5f2707(0x997)]:return _0x549a7c['EV'][_0x5f2707(0xbec)];case _0x4b2468['g'][_0x5f2707(0x27b)]:throw _0x5f2707(0x6fb);case _0x4b2468['g'][_0x5f2707(0x148)]:return _0x549a7c['EV'][_0x5f2707(0x435)];case _0x4b2468['g'][_0x5f2707(0x1a6)]:return _0x549a7c['EV'][_0x5f2707(0x59b)];case _0x4b2468['g'][_0x5f2707(0xb73)]:throw'RGB_INTEGER\x20format\x20not\x20supported\x20in\x20WebGPU';case _0x4b2468['g'][_0x5f2707(0xcb0)]:return _0x549a7c['EV'][_0x5f2707(0x9da)];default:return _0x549a7c['EV'][_0x5f2707(0x2ae)];}case _0x4b2468['g'][_0x5f2707(0x566)]:switch(_0x173288){case _0x4b2468['g'][_0x5f2707(0x24c)]:return _0x549a7c['EV'][_0x5f2707(0x40d)];case _0x4b2468['g'][_0x5f2707(0x997)]:return _0x549a7c['EV']['RG8Unorm'];case _0x4b2468['g'][_0x5f2707(0x27b)]:throw _0x5f2707(0x2d2);case _0x4b2468['g'][_0x5f2707(0x196)]:return _0x2acb82?_0x549a7c['EV']['RGBA8UnormSRGB']:_0x549a7c['EV'][_0x5f2707(0x1af)];case _0x4b2468['g']['TEXTUREFORMAT_BGRA']:return _0x2acb82?_0x549a7c['EV']['BGRA8UnormSRGB']:_0x549a7c['EV']['BGRA8Unorm'];case _0x4b2468['g'][_0x5f2707(0x148)]:return _0x549a7c['EV'][_0x5f2707(0xa7b)];case _0x4b2468['g'][_0x5f2707(0x1a6)]:return _0x549a7c['EV'][_0x5f2707(0xabc)];case _0x4b2468['g'][_0x5f2707(0xb73)]:throw _0x5f2707(0x682);case _0x4b2468['g'][_0x5f2707(0xcb0)]:return _0x549a7c['EV'][_0x5f2707(0x373)];case _0x4b2468['g'][_0x5f2707(0x4eb)]:throw _0x5f2707(0x397);case _0x4b2468['g']['TEXTUREFORMAT_LUMINANCE']:throw _0x5f2707(0x522);case _0x4b2468['g'][_0x5f2707(0x6e3)]:throw _0x5f2707(0x82b);default:return _0x549a7c['EV'][_0x5f2707(0x1af)];}case _0x4b2468['g'][_0x5f2707(0x50d)]:switch(_0x173288){case _0x4b2468['g'][_0x5f2707(0x148)]:return _0x549a7c['EV']['R16Sint'];case _0x4b2468['g']['TEXTUREFORMAT_RG_INTEGER']:return _0x549a7c['EV'][_0x5f2707(0x5cc)];case _0x4b2468['g'][_0x5f2707(0xb73)]:throw _0x5f2707(0x4d5);default:return _0x4b2468['g'][_0x5f2707(0xcb0)],_0x549a7c['EV'][_0x5f2707(0x665)];}case _0x4b2468['g'][_0x5f2707(0x820)]:switch(_0x173288){case _0x4b2468['g'][_0x5f2707(0x148)]:return _0x549a7c['EV'][_0x5f2707(0x729)];case _0x4b2468['g'][_0x5f2707(0x1a6)]:return _0x549a7c['EV'][_0x5f2707(0x714)];case _0x4b2468['g'][_0x5f2707(0xb73)]:throw _0x5f2707(0x4d5);default:return _0x4b2468['g']['TEXTUREFORMAT_RGBA_INTEGER'],_0x549a7c['EV'][_0x5f2707(0x7c0)];}case _0x4b2468['g'][_0x5f2707(0x622)]:switch(_0x173288){case _0x4b2468['g'][_0x5f2707(0x148)]:return _0x549a7c['EV'][_0x5f2707(0x316)];case _0x4b2468['g'][_0x5f2707(0x1a6)]:return _0x549a7c['EV'][_0x5f2707(0x343)];case _0x4b2468['g'][_0x5f2707(0xb73)]:throw _0x5f2707(0x4d5);default:return _0x4b2468['g'][_0x5f2707(0xcb0)],_0x549a7c['EV'][_0x5f2707(0x5bf)];}case _0x4b2468['g'][_0x5f2707(0x1e7)]:switch(_0x173288){case _0x4b2468['g']['TEXTUREFORMAT_RED_INTEGER']:return _0x549a7c['EV'][_0x5f2707(0x7e9)];case _0x4b2468['g'][_0x5f2707(0x1a6)]:return _0x549a7c['EV']['RG32Uint'];case _0x4b2468['g'][_0x5f2707(0xb73)]:throw _0x5f2707(0x4d5);default:return _0x4b2468['g'][_0x5f2707(0xcb0)],_0x549a7c['EV'][_0x5f2707(0x2ed)];}case _0x4b2468['g'][_0x5f2707(0x75f)]:switch(_0x173288){case _0x4b2468['g'][_0x5f2707(0x24c)]:return _0x549a7c['EV'][_0x5f2707(0x794)];case _0x4b2468['g'][_0x5f2707(0x997)]:return _0x549a7c['EV'][_0x5f2707(0xaae)];case _0x4b2468['g'][_0x5f2707(0x27b)]:throw'TEXTUREFORMAT_RGB\x20format\x20not\x20supported\x20in\x20WebGPU';default:return _0x4b2468['g'][_0x5f2707(0x196)],_0x549a7c['EV'][_0x5f2707(0x407)];}case _0x4b2468['g'][_0x5f2707(0xa57)]:switch(_0x173288){case _0x4b2468['g'][_0x5f2707(0x24c)]:return _0x549a7c['EV'][_0x5f2707(0x183)];case _0x4b2468['g']['TEXTUREFORMAT_RG']:return _0x549a7c['EV'][_0x5f2707(0x926)];case _0x4b2468['g'][_0x5f2707(0x27b)]:throw _0x5f2707(0x2d2);default:return _0x4b2468['g'][_0x5f2707(0x196)],_0x549a7c['EV']['RGBA16Float'];}case _0x4b2468['g'][_0x5f2707(0xbe0)]:throw _0x5f2707(0x3dd);case _0x4b2468['g'][_0x5f2707(0x848)]:throw _0x5f2707(0x6ee);case _0x4b2468['g'][_0x5f2707(0xc1c)]:throw _0x5f2707(0xb24);case _0x4b2468['g'][_0x5f2707(0x851)]:throw _0x5f2707(0x54c);case _0x4b2468['g'][_0x5f2707(0x719)]:throw _0x5f2707(0x497);case _0x4b2468['g'][_0x5f2707(0x683)]:switch(_0x173288){case _0x4b2468['g'][_0x5f2707(0x196)]:return _0x549a7c['EV'][_0x5f2707(0x18d)];case _0x4b2468['g'][_0x5f2707(0xcb0)]:throw _0x5f2707(0xd12);default:return _0x549a7c['EV'][_0x5f2707(0x18d)];}}return _0x2acb82?_0x549a7c['EV'][_0x5f2707(0x619)]:_0x549a7c['EV'][_0x5f2707(0x1af)];}static['GetNumChannelsFromWebGPUTextureFormat'](_0x5c81c6){var _0x5de1b9=_0x1baecf;switch(_0x5c81c6){case _0x549a7c['EV'][_0x5de1b9(0x40d)]:case _0x549a7c['EV'][_0x5de1b9(0x2b4)]:case _0x549a7c['EV']['R8Uint']:case _0x549a7c['EV'][_0x5de1b9(0x435)]:case _0x549a7c['EV'][_0x5de1b9(0x8b0)]:case _0x549a7c['EV'][_0x5de1b9(0x2fa)]:case _0x549a7c['EV'][_0x5de1b9(0x729)]:case _0x549a7c['EV'][_0x5de1b9(0x2c2)]:case _0x549a7c['EV'][_0x5de1b9(0x37a)]:case _0x549a7c['EV'][_0x5de1b9(0x183)]:case _0x549a7c['EV'][_0x5de1b9(0x7e9)]:case _0x549a7c['EV']['R32Sint']:case _0x549a7c['EV'][_0x5de1b9(0x794)]:case _0x549a7c['EV'][_0x5de1b9(0x13b)]:case _0x549a7c['EV']['Stencil8']:case _0x549a7c['EV'][_0x5de1b9(0x259)]:case _0x549a7c['EV']['EACR11Unorm']:case _0x549a7c['EV']['EACR11Snorm']:return 0x1;case _0x549a7c['EV'][_0x5de1b9(0x643)]:case _0x549a7c['EV'][_0x5de1b9(0xbec)]:case _0x549a7c['EV']['RG8Uint']:case _0x549a7c['EV'][_0x5de1b9(0x59b)]:case _0x549a7c['EV'][_0x5de1b9(0x426)]:case _0x549a7c['EV']['Depth32FloatStencil8']:case _0x549a7c['EV'][_0x5de1b9(0x633)]:case _0x549a7c['EV'][_0x5de1b9(0xafa)]:case _0x549a7c['EV']['RG16Uint']:case _0x549a7c['EV'][_0x5de1b9(0x5cc)]:case _0x549a7c['EV']['RG16Float']:case _0x549a7c['EV'][_0x5de1b9(0xca2)]:case _0x549a7c['EV'][_0x5de1b9(0x343)]:case _0x549a7c['EV'][_0x5de1b9(0xaae)]:case _0x549a7c['EV'][_0x5de1b9(0xa11)]:case _0x549a7c['EV'][_0x5de1b9(0x413)]:case _0x549a7c['EV'][_0x5de1b9(0x3f6)]:return 0x2;case _0x549a7c['EV'][_0x5de1b9(0x925)]:case _0x549a7c['EV'][_0x5de1b9(0xc6f)]:case _0x549a7c['EV'][_0x5de1b9(0xa41)]:case _0x549a7c['EV'][_0x5de1b9(0xb30)]:case _0x549a7c['EV'][_0x5de1b9(0xc57)]:case _0x549a7c['EV']['ETC2RGB8UnormSRGB']:return 0x3;case _0x549a7c['EV'][_0x5de1b9(0x1af)]:case _0x549a7c['EV'][_0x5de1b9(0x619)]:case _0x549a7c['EV'][_0x5de1b9(0x2ae)]:case _0x549a7c['EV']['RGBA8Uint']:case _0x549a7c['EV'][_0x5de1b9(0x9da)]:case _0x549a7c['EV'][_0x5de1b9(0x3e0)]:case _0x549a7c['EV'][_0x5de1b9(0x967)]:case _0x549a7c['EV'][_0x5de1b9(0x18d)]:case _0x549a7c['EV'][_0x5de1b9(0xa15)]:case _0x549a7c['EV'][_0x5de1b9(0x486)]:case _0x549a7c['EV'][_0x5de1b9(0xb14)]:case _0x549a7c['EV'][_0x5de1b9(0xb92)]:case _0x549a7c['EV'][_0x5de1b9(0x499)]:case _0x549a7c['EV'][_0x5de1b9(0xaea)]:case _0x549a7c['EV']['BC1RGBAUnorm']:case _0x549a7c['EV'][_0x5de1b9(0xac8)]:case _0x549a7c['EV'][_0x5de1b9(0x7c0)]:case _0x549a7c['EV'][_0x5de1b9(0x665)]:case _0x549a7c['EV']['RGBA16Float']:case _0x549a7c['EV'][_0x5de1b9(0x2ed)]:case _0x549a7c['EV'][_0x5de1b9(0x5bf)]:case _0x549a7c['EV'][_0x5de1b9(0x407)]:case _0x549a7c['EV'][_0x5de1b9(0x1e0)]:case _0x549a7c['EV'][_0x5de1b9(0x2d9)]:case _0x549a7c['EV']['ETC2RGBA8Unorm']:case _0x549a7c['EV'][_0x5de1b9(0x495)]:case _0x549a7c['EV'][_0x5de1b9(0xc12)]:case _0x549a7c['EV'][_0x5de1b9(0x609)]:case _0x549a7c['EV'][_0x5de1b9(0xb1b)]:case _0x549a7c['EV'][_0x5de1b9(0x611)]:case _0x549a7c['EV'][_0x5de1b9(0x193)]:case _0x549a7c['EV'][_0x5de1b9(0x176)]:case _0x549a7c['EV'][_0x5de1b9(0x326)]:case _0x549a7c['EV']['ASTC6x5UnormSRGB']:case _0x549a7c['EV'][_0x5de1b9(0x98c)]:case _0x549a7c['EV'][_0x5de1b9(0x7eb)]:case _0x549a7c['EV'][_0x5de1b9(0x34c)]:case _0x549a7c['EV']['ASTC8x5UnormSRGB']:case _0x549a7c['EV'][_0x5de1b9(0x91c)]:case _0x549a7c['EV'][_0x5de1b9(0x5a0)]:case _0x549a7c['EV'][_0x5de1b9(0x8d6)]:case _0x549a7c['EV'][_0x5de1b9(0xcf0)]:case _0x549a7c['EV'][_0x5de1b9(0x597)]:case _0x549a7c['EV'][_0x5de1b9(0xb95)]:case _0x549a7c['EV'][_0x5de1b9(0x4ea)]:case _0x549a7c['EV']['ASTC10x6UnormSRGB']:case _0x549a7c['EV'][_0x5de1b9(0x40e)]:case _0x549a7c['EV'][_0x5de1b9(0xc17)]:case _0x549a7c['EV'][_0x5de1b9(0xc48)]:case _0x549a7c['EV'][_0x5de1b9(0xd09)]:case _0x549a7c['EV'][_0x5de1b9(0x2d6)]:case _0x549a7c['EV'][_0x5de1b9(0x702)]:case _0x549a7c['EV'][_0x5de1b9(0x784)]:case _0x549a7c['EV'][_0x5de1b9(0x8bf)]:return 0x4;}throw _0x5de1b9(0xc06)+_0x5c81c6+'!';}static[_0x1baecf(0x1b4)](_0x4b1330){var _0x422c95=_0x1baecf;switch(_0x4b1330){case _0x549a7c['EV'][_0x422c95(0x635)]:case _0x549a7c['EV'][_0x422c95(0x426)]:case _0x549a7c['EV'][_0x422c95(0xd0d)]:case _0x549a7c['EV'][_0x422c95(0xa11)]:return!0x0;}return!0x1;}static[_0x1baecf(0xa7f)](_0x4fb036){var _0x3f3fe6=_0x1baecf;switch(_0x4fb036){case _0x549a7c['EV'][_0x3f3fe6(0x426)]:case _0x549a7c['EV']['Depth32FloatStencil8']:case _0x549a7c['EV'][_0x3f3fe6(0xa11)]:return!0x0;}return!0x1;}static[_0x1baecf(0x335)](_0x2816ad){var _0x591a9a=_0x1baecf;switch(_0x2816ad){case _0x549a7c['EV'][_0x591a9a(0x37a)]:return _0x549a7c['EV'][_0x591a9a(0x37a)];case _0x549a7c['EV'][_0x591a9a(0x259)]:case _0x549a7c['EV'][_0x591a9a(0xa11)]:case _0x549a7c['EV'][_0x591a9a(0x426)]:return _0x549a7c['EV'][_0x591a9a(0x259)];case _0x549a7c['EV'][_0x591a9a(0x13b)]:case _0x549a7c['EV'][_0x591a9a(0xd0d)]:return _0x549a7c['EV']['Depth32Float'];}return _0x2816ad;}['copyVideoToTexture'](_0x34237f,_0x2da01c,_0xa224e9,_0x1c2266=!0x1,_0x26a2f3){var _0x4465cc=_0x1baecf,_0x4e0d7c=void 0x0===_0x26a2f3,[_0x856573,_0x48b507]=this['_getVideoPipeline'](_0xa224e9,_0x1c2266?_0x2e10c6[_0x4465cc(0x38d)]:_0x2e10c6[_0x4465cc(0x8be)]);null!=(_0xc05405=(_0x686ed=_0x26a2f3=_0x4e0d7c?this[_0x4465cc(0x5f8)]['createCommandEncoder']({}):_0x26a2f3)[_0x4465cc(0x33f)])&&_0xc05405[_0x4465cc(0x9c8)](_0x686ed,_0x4465cc(0x228)+_0x1c2266);const _0xdaebea=_0x2da01c['_hardwareTexture'];var _0xc05405={'colorAttachments':[{'view':_0xdaebea[_0x4465cc(0x734)][_0x4465cc(0x8f8)]({'format':_0xa224e9,'dimension':_0x549a7c['p_'][_0x4465cc(0x1e6)],'mipLevelCount':0x1,'baseArrayLayer':0x0,'baseMipLevel':0x0,'arrayLayerCount':0x1,'aspect':_0x549a7c['H7'][_0x4465cc(0x2e7)]}),'loadOp':_0x549a7c['Ws']['Load'],'storeOp':_0x549a7c['EG'][_0x4465cc(0xb54)]}]};const _0x25b05c=_0x26a2f3[_0x4465cc(0xb78)](_0xc05405);var _0x686ed={'layout':_0x48b507,'entries':[{'binding':0x0,'resource':this[_0x4465cc(0x706)]},{'binding':0x1,'resource':this[_0x4465cc(0x5f8)][_0x4465cc(0xb05)]({'source':_0x34237f[_0x4465cc(0x734)]})}]},_0x1c2266=this[_0x4465cc(0x5f8)][_0x4465cc(0x319)](_0x686ed);_0x25b05c[_0x4465cc(0x76c)](_0x856573),_0x25b05c['setBindGroup'](0x0,_0x1c2266),_0x25b05c['draw'](0x4,0x1,0x0,0x0),_0x25b05c[_0x4465cc(0x2f0)](),null!=(_0xa224e9=(_0x2da01c=_0x26a2f3)['popDebugGroup'])&&_0xa224e9[_0x4465cc(0x9c8)](_0x2da01c),_0x4e0d7c&&this[_0x4465cc(0x5f8)][_0x4465cc(0x637)][_0x4465cc(0xc98)]([_0x26a2f3['finish']()]);}[_0x1baecf(0x1e1)](_0x55b451,_0x5d344f,_0x53d5d1,_0x30abe9,_0x3bb33a=!0x1,_0x402b83=!0x1,_0x675710=0x0,_0x341ac2=0x0,_0x566c7d=0x1,_0x3cc4cf=0x0,_0x562f05=0x0,_0x659037=0x0,_0x48d70a=0x0,_0x1810c0,_0x306ca9){var _0x303986=_0x1baecf,_0x35ac51,_0x5d0bd6,_0x464c60=0x0!==_0x659037,_0x458a2d=void 0x0===_0x1810c0,[_0x6f2209,_0x265925]=this[_0x303986(0x3bf)](_0x30abe9,_0x464c60?_0x5d2949['InvertYPremultiplyAlphaWithOfst']:_0x5d2949[_0x303986(0x3d5)],{'invertY':_0x3bb33a,'premultiplyAlpha':_0x402b83});_0x675710=Math[_0x303986(0x843)](_0x675710,0x0),null!=(_0x35ac51=(_0x5d0bd6=_0x1810c0=_0x458a2d?this[_0x303986(0x5f8)][_0x303986(0x5a9)]({}):_0x1810c0)[_0x303986(0x33f)])&&_0x35ac51[_0x303986(0x9c8)](_0x5d0bd6,_0x303986(0x911)+_0x3bb33a+_0x303986(0x781)+_0x402b83);let _0x37a43;if(_0x12e4cc[_0x303986(0xcdf)](_0x55b451)?(_0x37a43=_0x55b451['underlyingResource'],_0x3bb33a&&!_0x402b83&&0x1===_0x566c7d&&0x0===_0x675710||(_0x55b451=void 0x0)):(_0x37a43=_0x55b451,_0x55b451=void 0x0),_0x37a43){_0x464c60&&this[_0x303986(0x22d)]['setRawData'](this['_ubCopyWithOfst'],0x0,new Float32Array([_0x3cc4cf,_0x562f05,_0x659037,_0x48d70a]),0x0,0x10);const _0xa98842=_0x55b451,_0x5a630d=null!=(_0x35ac51=null===_0xa98842||void 0x0===_0xa98842?void 0x0:_0xa98842[_0x303986(0x8b4)])?_0x35ac51:this[_0x303986(0xbc0)]({'width':_0x5d344f,'height':_0x53d5d1,'layers':0x1},!0x1,!0x1,!0x1,!0x1,!0x1,_0x30abe9,0x1,_0x1810c0,_0x549a7c['v2']['CopySrc']|_0x549a7c['v2'][_0x303986(0x399)]|_0x549a7c['v2'][_0x303986(0x7be)],void 0x0,_0x303986(0x5b0));_0x3bb33a=null!=(_0x5d0bd6=null===_0xa98842||void 0x0===_0xa98842?void 0x0:_0xa98842[_0x303986(0x765)])?_0x5d0bd6:{'colorAttachments':[{'view':_0x5a630d[_0x303986(0x8f8)]({'format':_0x30abe9,'dimension':_0x549a7c['p_'][_0x303986(0x1e6)],'baseMipLevel':0x0,'mipLevelCount':0x1,'arrayLayerCount':0x1,'baseArrayLayer':0x0}),'loadOp':_0x549a7c['Ws'][_0x303986(0xc0b)],'storeOp':_0x549a7c['EG'][_0x303986(0xb54)]}]};const _0x1291cb=_0x1810c0[_0x303986(0xb78)](_0x3bb33a);let _0x1b8dd=_0x464c60?null===_0xa98842||void 0x0===_0xa98842?void 0x0:_0xa98842[_0x303986(0xa75)]:null===_0xa98842||void 0x0===_0xa98842?void 0x0:_0xa98842['_copyInvertYBindGroup'];if(!_0x1b8dd){const _0x1406ca={'layout':_0x265925,'entries':[{'binding':0x0,'resource':_0x37a43['createView']({'format':_0x30abe9,'dimension':_0x549a7c['p_'][_0x303986(0x1e6)],'baseMipLevel':_0x341ac2,'mipLevelCount':0x1,'arrayLayerCount':_0x566c7d,'baseArrayLayer':_0x675710})}]};_0x464c60&&_0x1406ca[_0x303986(0xca9)]['push']({'binding':0x1,'resource':{'buffer':this['_ubCopyWithOfst']}}),_0x1b8dd=this[_0x303986(0x5f8)][_0x303986(0x319)](_0x1406ca);}_0x1291cb['setPipeline'](_0x6f2209),_0x1291cb[_0x303986(0xcee)](0x0,_0x1b8dd),_0x1291cb[_0x303986(0x613)](0x4,0x1,0x0,0x0),_0x1291cb[_0x303986(0x2f0)](),_0x1810c0['copyTextureToTexture']({'texture':_0x5a630d},{'texture':_0x37a43,'mipLevel':_0x341ac2,'origin':{'x':0x0,'y':0x0,'z':_0x675710}},{'width':_0x5d344f,'height':_0x53d5d1,'depthOrArrayLayers':0x1}),_0xa98842?(_0xa98842[_0x303986(0x8b4)]=_0x5a630d,_0xa98842[_0x303986(0x765)]=_0x3bb33a,_0x464c60?_0xa98842[_0x303986(0xa75)]=_0x1b8dd:_0xa98842[_0x303986(0x3f3)]=_0x1b8dd):this[_0x303986(0xb70)][_0x303986(0x6fe)]([_0x5a630d,null]),null!=(_0x3cc4cf=(_0x402b83=_0x1810c0)[_0x303986(0x5c8)])&&_0x3cc4cf[_0x303986(0x9c8)](_0x402b83),_0x458a2d&&this['_device']['queue'][_0x303986(0xc98)]([_0x1810c0[_0x303986(0x586)]()]);}}[_0x1baecf(0x136)](_0x42fa7f,_0x4804c0,_0x3cbf87,_0x3980ca){var _0x2755ac=_0x1baecf,_0x2b81e6,_0x4d81ef=void 0x0===_0x3980ca,[_0x4804c0,_0x4f9cfa]=this[_0x2755ac(0x3bf)](_0x4804c0,_0x5d2949['InvertYPremultiplyAlpha'],{'invertY':!0x0,'premultiplyAlpha':!0x1});null!=(_0x4b38b3=(_0x2b81e6=_0x3980ca=_0x4d81ef?this['_device']['createCommandEncoder']({}):_0x3980ca)[_0x2755ac(0x33f)])&&_0x4b38b3[_0x2755ac(0x9c8)](_0x2b81e6,_0x2755ac(0xc18));const _0x3fde18=_0x3980ca['beginRenderPass'](_0x3cbf87);var _0x4b38b3=this[_0x2755ac(0x5f8)]['createBindGroup']({'layout':_0x4f9cfa,'entries':[{'binding':0x0,'resource':_0x42fa7f}]});_0x3fde18[_0x2755ac(0x76c)](_0x4804c0),_0x3fde18[_0x2755ac(0xcee)](0x0,_0x4b38b3),_0x3fde18[_0x2755ac(0x613)](0x4,0x1,0x0,0x0),_0x3fde18[_0x2755ac(0x2f0)](),null!=(_0x3cbf87=(_0x2b81e6=_0x3980ca)[_0x2755ac(0x5c8)])&&_0x3cbf87[_0x2755ac(0x9c8)](_0x2b81e6),_0x4d81ef&&this[_0x2755ac(0x5f8)][_0x2755ac(0x637)][_0x2755ac(0xc98)]([_0x3980ca[_0x2755ac(0x586)]()]);}[_0x1baecf(0xbc0)](_0x5ea8a1,_0x2ab774=!0x1,_0x4f3462=!0x1,_0x4d0112=!0x1,_0x4d5bb1=!0x1,_0x2c6675=!0x1,_0x191346=_0x549a7c['EV'][_0x1baecf(0x1af)],_0x5ddd81=0x1,_0x44821f,_0x7cca38=-0x1,_0x272a39=0x0,_0x4980bb){var _0x389cc3=_0x1baecf;0x1<_0x5ddd81&&(_0x5ddd81=0x4);var _0x3dc224=_0x5ea8a1[_0x389cc3(0x39f)]||0x1,_0x489c58={'width':_0x5ea8a1[_0x389cc3(0xb58)],'height':_0x5ea8a1[_0x389cc3(0x520)],'depthOrArrayLayers':_0x3dc224},_0x2e86a0=_0x12e4cc[_0x389cc3(0x793)](_0x191346),_0x7feaa8=_0x2ab774?_0x12e4cc['ComputeNumMipmapLevels'](_0x5ea8a1[_0x389cc3(0xb58)],_0x5ea8a1[_0x389cc3(0x520)]):0x1,_0x7cca38=0x0<=_0x7cca38?_0x7cca38:_0x549a7c['v2'][_0x389cc3(0x4f6)]|_0x549a7c['v2'][_0x389cc3(0x652)]|_0x549a7c['v2'][_0x389cc3(0x7be)],_0x2e86a0=(_0x272a39|=_0x2ab774&&!_0x2e86a0?_0x549a7c['v2'][_0x389cc3(0x4f6)]|_0x549a7c['v2']['RenderAttachment']:0x0,_0x2e86a0||_0x2c6675||(_0x272a39|=_0x549a7c['v2']['RenderAttachment']|_0x549a7c['v2'][_0x389cc3(0x652)]),this[_0x389cc3(0x5f8)][_0x389cc3(0xbc0)]({'label':'Texture'+(_0x2c6675?'3D':'2D')+'_'+(_0x4980bb?_0x4980bb+'_':'')+_0x489c58[_0x389cc3(0xb58)]+'x'+_0x489c58[_0x389cc3(0x520)]+'x'+_0x489c58[_0x389cc3(0xa85)]+'_'+(_0x2ab774?_0x389cc3(0x9af):_0x389cc3(0x3f0))+'_'+_0x191346+_0x389cc3(0x350)+_0x5ddd81,'size':_0x489c58,'dimension':_0x2c6675?_0x549a7c['kd'][_0x389cc3(0x41d)]:_0x549a7c['kd']['E2d'],'format':_0x191346,'usage':_0x7cca38|_0x272a39,'sampleCount':_0x5ddd81,'mipLevelCount':_0x7feaa8}));return _0x12e4cc[_0x389cc3(0x99a)](_0x5ea8a1)&&(this[_0x389cc3(0x6cc)](_0x5ea8a1,_0x2e86a0,_0x5ea8a1[_0x389cc3(0xb58)],_0x5ea8a1['height'],_0x3dc224,_0x191346,0x0,0x0,_0x4d0112,_0x4d5bb1,0x0,0x0),_0x2ab774&&_0x4f3462&&this[_0x389cc3(0xb1a)](_0x2e86a0,_0x191346,_0x7feaa8,0x0,_0x44821f)),_0x2e86a0;}['createCubeTexture'](_0x27ec05,_0x48bc8a=!0x1,_0x174b10=!0x1,_0x1dc8d6=!0x1,_0x2570c0=!0x1,_0x2b98d5=_0x549a7c['EV'][_0x1baecf(0x1af)],_0x46f304=0x1,_0x3e9f0f,_0x5da223=-0x1,_0x2614bb=0x0,_0xc19f88){var _0x170cdd=_0x1baecf;0x1<_0x46f304&&(_0x46f304=0x4);var _0xc07854=(_0x12e4cc[_0x170cdd(0x5c9)](_0x27ec05)?_0x27ec05[0x0]:_0x27ec05)[_0x170cdd(0xb58)],_0x45df66=(_0x12e4cc[_0x170cdd(0x5c9)](_0x27ec05)?_0x27ec05[0x0]:_0x27ec05)['height'],_0x27d9b2=_0x12e4cc[_0x170cdd(0x793)](_0x2b98d5),_0x4de503=_0x48bc8a?_0x12e4cc[_0x170cdd(0xce1)](_0xc07854,_0x45df66):0x1,_0x5da223=0x0<=_0x5da223?_0x5da223:_0x549a7c['v2'][_0x170cdd(0x4f6)]|_0x549a7c['v2'][_0x170cdd(0x652)]|_0x549a7c['v2'][_0x170cdd(0x7be)],_0x27d9b2=(_0x2614bb|=_0x48bc8a&&!_0x27d9b2?_0x549a7c['v2'][_0x170cdd(0x4f6)]|_0x549a7c['v2'][_0x170cdd(0x399)]:0x0,_0x27d9b2||(_0x2614bb|=_0x549a7c['v2'][_0x170cdd(0x399)]|_0x549a7c['v2'][_0x170cdd(0x652)]),this[_0x170cdd(0x5f8)][_0x170cdd(0xbc0)]({'label':_0x170cdd(0x2f4)+(_0xc19f88?_0xc19f88+'_':'')+_0xc07854+'x'+_0x45df66+_0x170cdd(0xbbb)+(_0x48bc8a?'wmips':_0x170cdd(0x3f0))+'_'+_0x2b98d5+_0x170cdd(0x350)+_0x46f304,'size':{'width':_0xc07854,'height':_0x45df66,'depthOrArrayLayers':0x6},'dimension':_0x549a7c['kd'][_0x170cdd(0x1e6)],'format':_0x2b98d5,'usage':_0x5da223|_0x2614bb,'sampleCount':_0x46f304,'mipLevelCount':_0x4de503}));return _0x12e4cc[_0x170cdd(0x5c9)](_0x27ec05)&&(this['updateCubeTextures'](_0x27ec05,_0x27d9b2,_0xc07854,_0x45df66,_0x2b98d5,_0x1dc8d6,_0x2570c0,0x0,0x0),_0x48bc8a&&_0x174b10&&this[_0x170cdd(0x9c5)](_0x27d9b2,_0x2b98d5,_0x4de503,_0x3e9f0f)),_0x27d9b2;}[_0x1baecf(0x9c5)](_0x190d7f,_0x427a6c,_0x3b2aca,_0x2ee7e0){var _0x2d25e1=_0x1baecf,_0x562a54,_0x59d88e,_0xd36bcd=void 0x0===_0x2ee7e0;null!=(_0x562a54=(_0x59d88e=_0x2ee7e0=_0xd36bcd?this[_0x2d25e1(0x5f8)][_0x2d25e1(0x5a9)]({}):_0x2ee7e0)[_0x2d25e1(0x33f)])&&_0x562a54[_0x2d25e1(0x9c8)](_0x59d88e,_0x2d25e1(0x595)+_0x3b2aca+_0x2d25e1(0x260));for(let _0x2f381c=0x0;_0x2f381c<0x6;++_0x2f381c)this[_0x2d25e1(0xb1a)](_0x190d7f,_0x427a6c,_0x3b2aca,_0x2f381c,_0x2ee7e0);null!=(_0x59d88e=(_0x562a54=_0x2ee7e0)[_0x2d25e1(0x5c8)])&&_0x59d88e[_0x2d25e1(0x9c8)](_0x562a54),_0xd36bcd&&this['_device'][_0x2d25e1(0x637)][_0x2d25e1(0xc98)]([_0x2ee7e0[_0x2d25e1(0x586)]()]);}[_0x1baecf(0xb1a)](_0x596b1f,_0x4e3f01,_0x2b642b,_0x31e0d2=0x0,_0x5c335d){var _0x565d04=_0x1baecf,_0x267976,_0x55cb2a,_0x300250=void 0x0===_0x5c335d,[_0x12f6b1,_0x1d553b]=this['_getPipeline'](_0x4e3f01);_0x31e0d2=Math[_0x565d04(0x843)](_0x31e0d2,0x0),null!=(_0x267976=(_0x55cb2a=_0x5c335d=_0x300250?this[_0x565d04(0x5f8)][_0x565d04(0x5a9)]({}):_0x5c335d)[_0x565d04(0x33f)])&&_0x267976[_0x565d04(0x9c8)](_0x55cb2a,_0x565d04(0xae7)+_0x31e0d2+_0x565d04(0xaa0)+_0x2b642b+_0x565d04(0x260));let _0x2c7364;if(_0x12e4cc[_0x565d04(0xcdf)](_0x596b1f)?(_0x2c7364=_0x596b1f['underlyingResource'],_0x596b1f[_0x565d04(0xcac)]=_0x596b1f[_0x565d04(0xcac)]||[],_0x596b1f[_0x565d04(0xbfb)]=_0x596b1f[_0x565d04(0xbfb)]||[]):(_0x2c7364=_0x596b1f,_0x596b1f=void 0x0),_0x2c7364){const _0x3a4ce3=_0x596b1f;for(let _0x5384ca=0x1;_0x5384ca<_0x2b642b;++_0x5384ca){var _0x200b3e=null!=(_0x200b3e=null==(_0x200b3e=null===_0x3a4ce3||void 0x0===_0x3a4ce3?void 0x0:_0x3a4ce3[_0x565d04(0xcac)][_0x31e0d2])?void 0x0:_0x200b3e[_0x5384ca-0x1])?_0x200b3e:{'colorAttachments':[{'view':_0x2c7364[_0x565d04(0x8f8)]({'format':_0x4e3f01,'dimension':_0x549a7c['p_'][_0x565d04(0x1e6)],'baseMipLevel':_0x5384ca,'mipLevelCount':0x1,'arrayLayerCount':0x1,'baseArrayLayer':_0x31e0d2}),'loadOp':_0x549a7c['Ws'][_0x565d04(0xc0b)],'storeOp':_0x549a7c['EG'][_0x565d04(0xb54)]}]};_0x3a4ce3&&(_0x3a4ce3[_0x565d04(0xcac)][_0x31e0d2]=_0x3a4ce3[_0x565d04(0xcac)][_0x31e0d2]||[],_0x3a4ce3[_0x565d04(0xcac)][_0x31e0d2][_0x5384ca-0x1]=_0x200b3e);const _0x3a55af=_0x5c335d[_0x565d04(0xb78)](_0x200b3e);_0x200b3e=null!=(_0x200b3e=null==(_0x200b3e=null===_0x3a4ce3||void 0x0===_0x3a4ce3?void 0x0:_0x3a4ce3[_0x565d04(0xbfb)][_0x31e0d2])?void 0x0:_0x200b3e[_0x5384ca-0x1])?_0x200b3e:this[_0x565d04(0x5f8)][_0x565d04(0x319)]({'layout':_0x1d553b,'entries':[{'binding':0x0,'resource':this[_0x565d04(0x83c)]},{'binding':0x1,'resource':_0x2c7364['createView']({'format':_0x4e3f01,'dimension':_0x549a7c['p_'][_0x565d04(0x1e6)],'baseMipLevel':_0x5384ca-0x1,'mipLevelCount':0x1,'arrayLayerCount':0x1,'baseArrayLayer':_0x31e0d2})}]}),(_0x3a4ce3&&(_0x3a4ce3[_0x565d04(0xbfb)][_0x31e0d2]=_0x3a4ce3[_0x565d04(0xbfb)][_0x31e0d2]||[],_0x3a4ce3[_0x565d04(0xbfb)][_0x31e0d2][_0x5384ca-0x1]=_0x200b3e),_0x3a55af[_0x565d04(0x76c)](_0x12f6b1),_0x3a55af[_0x565d04(0xcee)](0x0,_0x200b3e),_0x3a55af[_0x565d04(0x613)](0x4,0x1,0x0,0x0),_0x3a55af[_0x565d04(0x2f0)]());}null!=(_0x55cb2a=(_0x267976=_0x5c335d)[_0x565d04(0x5c8)])&&_0x55cb2a['call'](_0x267976),_0x300250&&this[_0x565d04(0x5f8)][_0x565d04(0x637)][_0x565d04(0xc98)]([_0x5c335d['finish']()]);}}[_0x1baecf(0xa51)](_0x5de3ab,_0x250b05,_0x53dc37,_0x5438e4,_0x4d892f){var _0x2099db=_0x1baecf;_0x5de3ab[_0x2099db(0x6cf)]||(_0x5de3ab[_0x2099db(0x6cf)]=new _0x198b8d['Z']()),void 0x0===_0x250b05&&(_0x250b05=_0x5de3ab[_0x2099db(0xb58)]),void 0x0===_0x53dc37&&(_0x53dc37=_0x5de3ab[_0x2099db(0x520)]),void 0x0===_0x5438e4&&(_0x5438e4=_0x5de3ab[_0x2099db(0x759)]);const _0x3d421e=_0x5de3ab[_0x2099db(0x6cf)];var _0x13ec82,_0x4d892f=0x0!=((null!=_0x4d892f?_0x4d892f:0x0)&_0x4b2468['g'][_0x2099db(0xbf6)]),_0x249b29=(_0x3d421e[_0x2099db(0x735)]=_0x12e4cc[_0x2099db(0xc64)](_0x5de3ab[_0x2099db(0x3db)],_0x5de3ab['format'],_0x5de3ab[_0x2099db(0xb53)]),_0x3d421e[_0x2099db(0x237)]=_0x5de3ab[_0x2099db(0x3c0)]===_0x419a10['S'][_0x2099db(0x47e)]||_0x5de3ab['source']===_0x419a10['S'][_0x2099db(0x1cc)]?_0x549a7c['v2'][_0x2099db(0x7be)]|_0x549a7c['v2'][_0x2099db(0x4f6)]|_0x549a7c['v2'][_0x2099db(0x399)]:_0x5de3ab[_0x2099db(0x3c0)]===_0x419a10['S'][_0x2099db(0xb26)]?_0x549a7c['v2'][_0x2099db(0x7be)]|_0x549a7c['v2'][_0x2099db(0x399)]:-0x1,_0x3d421e[_0x2099db(0x3dc)]=_0x4d892f?_0x549a7c['v2'][_0x2099db(0xa91)]:0x0,_0x5de3ab[_0x2099db(0xa04)]),_0x19fdf6=_0x5438e4||0x1,_0x249b29=null!==_0x5de3ab['_maxLodLevel']?_0x5de3ab[_0x2099db(0xd1f)]:_0x249b29?_0x12e4cc[_0x2099db(0xce1)](_0x250b05,_0x53dc37):0x1;return _0x5de3ab[_0x2099db(0xb15)]?(_0x13ec82=this[_0x2099db(0x2f7)]({'width':_0x250b05,'height':_0x53dc37},_0x5de3ab[_0x2099db(0xa04)],_0x5de3ab[_0x2099db(0xa04)],_0x5de3ab['invertY'],!0x1,_0x3d421e[_0x2099db(0x735)],0x1,this[_0x2099db(0x358)],_0x3d421e[_0x2099db(0x237)],_0x3d421e[_0x2099db(0x3dc)],_0x5de3ab['label']),_0x3d421e[_0x2099db(0x532)](_0x13ec82),_0x3d421e[_0x2099db(0x8f8)]({'format':_0x12e4cc[_0x2099db(0x335)](_0x3d421e[_0x2099db(0x735)]),'dimension':_0x549a7c['p_'][_0x2099db(0x353)],'mipLevelCount':_0x249b29,'baseArrayLayer':0x0,'baseMipLevel':0x0,'arrayLayerCount':0x6,'aspect':_0x12e4cc[_0x2099db(0xa7f)](_0x3d421e['format'])?_0x549a7c['H7'][_0x2099db(0x3cd)]:_0x549a7c['H7'][_0x2099db(0x2e7)]},_0x4d892f)):(_0x13ec82=this[_0x2099db(0xbc0)]({'width':_0x250b05,'height':_0x53dc37,'layers':_0x19fdf6},_0x5de3ab[_0x2099db(0xa04)],_0x5de3ab['generateMipMaps'],_0x5de3ab[_0x2099db(0xb90)],!0x1,_0x5de3ab[_0x2099db(0x50f)],_0x3d421e['format'],0x1,this[_0x2099db(0x358)],_0x3d421e[_0x2099db(0x237)],_0x3d421e[_0x2099db(0x3dc)],_0x5de3ab[_0x2099db(0x56e)]),_0x3d421e['set'](_0x13ec82),_0x3d421e[_0x2099db(0x8f8)]({'format':_0x12e4cc[_0x2099db(0x335)](_0x3d421e[_0x2099db(0x735)]),'dimension':_0x5de3ab[_0x2099db(0x396)]?_0x549a7c['p_']['E2dArray']:_0x5de3ab[_0x2099db(0x50f)]?_0x549a7c['kd'][_0x2099db(0x41d)]:_0x549a7c['p_'][_0x2099db(0x1e6)],'mipLevelCount':_0x249b29,'baseArrayLayer':0x0,'baseMipLevel':0x0,'arrayLayerCount':_0x5de3ab['is3D']?0x1:_0x19fdf6,'aspect':_0x12e4cc[_0x2099db(0xa7f)](_0x3d421e['format'])?_0x549a7c['H7'][_0x2099db(0x3cd)]:_0x549a7c['H7'][_0x2099db(0x2e7)]},_0x4d892f)),_0x5de3ab[_0x2099db(0xb58)]=_0x5de3ab[_0x2099db(0x137)]=_0x250b05,_0x5de3ab[_0x2099db(0x520)]=_0x5de3ab[_0x2099db(0x7f6)]=_0x53dc37,_0x5de3ab[_0x2099db(0x759)]=_0x5de3ab[_0x2099db(0xa13)]=_0x5438e4,this['createMSAATexture'](_0x5de3ab,_0x5de3ab[_0x2099db(0xc21)]),_0x3d421e;}[_0x1baecf(0x592)](_0x3c0d0d,_0x35bb5f,_0x1bd4d8=!0x0,_0x4f9b26=-0x1){var _0x34817b=_0x1baecf;const _0x476a33=_0x3c0d0d[_0x34817b(0x6cf)];var _0x22f65e;_0x1bd4d8&&null!==_0x476a33&&void 0x0!==_0x476a33&&_0x476a33[_0x34817b(0x4bb)](),!_0x476a33||(null!=_0x35bb5f?_0x35bb5f:0x1)<=0x1||(_0x1bd4d8=_0x3c0d0d[_0x34817b(0xb58)],_0x22f65e=_0x3c0d0d[_0x34817b(0x520)],_0x1bd4d8=this[_0x34817b(0xbc0)]({'width':_0x1bd4d8,'height':_0x22f65e,'layers':0x1},!0x1,!0x1,!0x1,!0x1,!0x1,_0x476a33[_0x34817b(0x735)],_0x35bb5f,this['_commandEncoderForCreation'],_0x549a7c['v2']['RenderAttachment'],0x0,_0x3c0d0d[_0x34817b(0x56e)]?_0x34817b(0xbca)+_0x3c0d0d['label']:void 0x0),_0x476a33['setMSAATexture'](_0x1bd4d8,_0x4f9b26));}[_0x1baecf(0xd19)](_0x143f5e,_0x29e1ab,_0x41d75f,_0x908ad,_0x1b5e73,_0x4f7028=!0x1,_0x363087=!0x1,_0x2b8b2e=0x0,_0x3cf0fe=0x0){var _0x3aebb0=_0x1baecf,_0x5bcef4=[0x0,0x3,0x1,0x4,0x2,0x5];for(let _0x21041f=0x0;_0x21041f<_0x5bcef4[_0x3aebb0(0x78d)];++_0x21041f){var _0x221e9b=_0x143f5e[_0x5bcef4[_0x21041f]];this['updateTexture'](_0x221e9b,_0x29e1ab,_0x41d75f,_0x908ad,0x1,_0x1b5e73,_0x21041f,0x0,_0x4f7028,_0x363087,_0x2b8b2e,_0x3cf0fe);}}['updateTexture'](_0x3e8260,_0x540e15,_0x32b20a,_0x5f2661,_0x5083b3,_0x3d45ac,_0x8141b2=0x0,_0x1a6bed=0x0,_0x299c87=!0x1,_0x2b0125=!0x1,_0x40c6ca=0x0,_0x24fd75=0x0,_0x54b61b){var _0x561e76=_0x1baecf,_0x97533f=_0x12e4cc[_0x561e76(0x788)](_0x540e15)?_0x540e15[_0x561e76(0x6cf)][_0x561e76(0x734)]:_0x540e15,_0x2edfe9=_0x12e4cc[_0x561e76(0x867)](_0x3d45ac),_0x49d794=_0x12e4cc['_IsInternalTexture'](_0x540e15)?_0x540e15[_0x561e76(0x6cf)]:_0x540e15;const _0x1bc0db={'texture':_0x97533f,'origin':{'x':_0x40c6ca,'y':_0x24fd75,'z':Math[_0x561e76(0x843)](_0x8141b2,0x0)},'mipLevel':_0x1a6bed,'premultipliedAlpha':_0x2b0125},_0x393c5a={'width':Math[_0x561e76(0x16b)](_0x32b20a/_0x2edfe9[_0x561e76(0xb58)])*_0x2edfe9[_0x561e76(0xb58)],'height':Math['ceil'](_0x5f2661/_0x2edfe9[_0x561e76(0x520)])*_0x2edfe9[_0x561e76(0x520)],'depthOrArrayLayers':_0x5083b3||0x1};if(void 0x0!==_0x3e8260[_0x561e76(0xbda)]){_0x97533f=Math[_0x561e76(0x16b)](_0x32b20a/_0x2edfe9[_0x561e76(0xb58)])*_0x2edfe9[_0x561e76(0x78d)];if(0x100*Math[_0x561e76(0x16b)](_0x97533f/0x100)==_0x97533f){const _0x1f24e3=this[_0x561e76(0x5f8)][_0x561e76(0x5a9)]({}),_0x12fe7d=this[_0x561e76(0x22d)][_0x561e76(0x404)](_0x3e8260[_0x561e76(0xbda)],_0x549a7c['FB'][_0x561e76(0xa36)]|_0x549a7c['FB'][_0x561e76(0x4f6)],!0x0);_0x2edfe9=_0x12fe7d[_0x561e76(0x330)](),(new Uint8Array(_0x2edfe9)[_0x561e76(0x532)](_0x3e8260),_0x12fe7d['unmap'](),_0x1f24e3['copyBufferToTexture']({'buffer':_0x12fe7d,'offset':0x0,'bytesPerRow':_0x97533f,'rowsPerImage':_0x5f2661},_0x1bc0db,_0x393c5a),this[_0x561e76(0x5f8)][_0x561e76(0x637)]['submit']([_0x1f24e3[_0x561e76(0x586)]()]),this[_0x561e76(0x22d)][_0x561e76(0xbfa)](_0x12fe7d));}else this['_device']['queue'][_0x561e76(0x8c8)](_0x1bc0db,_0x3e8260,{'offset':0x0,'bytesPerRow':_0x97533f,'rowsPerImage':_0x5f2661},_0x393c5a);if(_0x299c87||_0x2b0125){if(!_0x12e4cc[_0x561e76(0x788)](_0x540e15))throw'updateTexture:\x20Can\x27t\x20process\x20the\x20texture\x20data\x20because\x20a\x20GPUTexture\x20was\x20provided\x20instead\x20of\x20an\x20InternalTexture!';_0x2edfe9=0x0===_0x40c6ca&&0x0===_0x24fd75&&_0x32b20a===_0x540e15[_0x561e76(0xb58)]&&_0x5f2661===_0x540e15[_0x561e76(0x520)],this[_0x561e76(0x1e1)](_0x49d794,_0x540e15[_0x561e76(0xb58)],_0x540e15[_0x561e76(0x520)],_0x3d45ac,_0x299c87,_0x2b0125,_0x8141b2,_0x1a6bed,_0x5083b3||0x1,_0x40c6ca,_0x24fd75,_0x2edfe9?0x0:_0x32b20a,_0x2edfe9?0x0:_0x5f2661,void 0x0,_0x54b61b);}}else{if(_0x299c87){if(_0x1bc0db[_0x561e76(0x1f0)]=!0x1,_0x12e4cc[_0x561e76(0x788)](_0x540e15)&&0x0===_0x40c6ca&&0x0===_0x24fd75&&_0x32b20a===_0x540e15[_0x561e76(0xb58)]&&_0x5f2661===_0x540e15[_0x561e76(0x520)])this[_0x561e76(0x5f8)][_0x561e76(0x637)][_0x561e76(0x217)]({'source':_0x3e8260},_0x1bc0db,_0x393c5a),this[_0x561e76(0x1e1)](_0x49d794,_0x32b20a,_0x5f2661,_0x3d45ac,_0x299c87,_0x2b0125,_0x8141b2,_0x1a6bed,_0x5083b3||0x1,0x0,0x0,0x0,0x0,void 0x0,_0x54b61b);else{const _0x5f242a=this['_device'][_0x561e76(0x5a9)]({});_0x97533f=this['createTexture']({'width':_0x32b20a,'height':_0x5f2661,'layers':0x1},!0x1,!0x1,!0x1,!0x1,!0x1,_0x3d45ac,0x1,_0x5f242a,_0x549a7c['v2'][_0x561e76(0x4f6)]|_0x549a7c['v2'][_0x561e76(0x7be)],void 0x0,_0x561e76(0xc20)),(this[_0x561e76(0xb70)][_0x561e76(0x6fe)]([_0x97533f,null]),_0x393c5a['depthOrArrayLayers']=0x1,this['_device'][_0x561e76(0x637)][_0x561e76(0x217)]({'source':_0x3e8260},{'texture':_0x97533f},_0x393c5a),_0x393c5a['depthOrArrayLayers']=_0x5083b3||0x1,this[_0x561e76(0x1e1)](_0x97533f,_0x32b20a,_0x5f2661,_0x3d45ac,_0x299c87,_0x2b0125,_0x8141b2,_0x1a6bed,_0x5083b3||0x1,0x0,0x0,0x0,0x0,_0x5f242a,_0x54b61b),_0x5f242a[_0x561e76(0x2a7)]({'texture':_0x97533f},_0x1bc0db,_0x393c5a),this[_0x561e76(0x5f8)][_0x561e76(0x637)][_0x561e76(0xc98)]([_0x5f242a['finish']()]));}}else this[_0x561e76(0x5f8)][_0x561e76(0x637)][_0x561e76(0x217)]({'source':_0x3e8260},_0x1bc0db,_0x393c5a);}}['readPixels'](_0x13cd0d,_0x1c7416,_0x1f79e4,_0x3f4b30,_0x468082,_0x58b4cc,_0x5f43c9=0x0,_0x357e42=0x0,_0x21d7bd=null,_0x4e3901=!0x1){var _0x82fe91=_0x1baecf,_0x259d6a=_0x12e4cc[_0x82fe91(0x867)](_0x58b4cc),_0x259d6a=Math[_0x82fe91(0x16b)](_0x3f4b30/_0x259d6a[_0x82fe91(0xb58)])*_0x259d6a[_0x82fe91(0x78d)],_0x2a0648=0x100*Math['ceil'](_0x259d6a/0x100),_0xc4d7b=_0x2a0648*_0x468082,_0x26a433=this[_0x82fe91(0x22d)][_0x82fe91(0x404)](_0xc4d7b,_0x549a7c['FB'][_0x82fe91(0x2fd)]|_0x549a7c['FB']['CopyDst']);const _0x53fbc9=this[_0x82fe91(0x5f8)][_0x82fe91(0x5a9)]({});return _0x53fbc9['copyTextureToBuffer']({'texture':_0x13cd0d,'mipLevel':_0x357e42,'origin':{'x':_0x1c7416,'y':_0x1f79e4,'z':Math[_0x82fe91(0x843)](_0x5f43c9,0x0)}},{'buffer':_0x26a433,'offset':0x0,'bytesPerRow':_0x2a0648},{'width':_0x3f4b30,'height':_0x468082,'depthOrArrayLayers':0x1}),this[_0x82fe91(0x5f8)][_0x82fe91(0x637)][_0x82fe91(0xc98)]([_0x53fbc9[_0x82fe91(0x586)]()]),this[_0x82fe91(0x22d)][_0x82fe91(0x265)](_0x26a433,_0xc4d7b,_0x3f4b30,_0x468082,_0x259d6a,_0x2a0648,_0x12e4cc['_GetTextureTypeFromFormat'](_0x58b4cc),0x0,_0x21d7bd,!0x0,_0x4e3901);}[_0x1baecf(0xa72)](_0x5d4ad9){var _0x53a23d=_0x1baecf,_0x562420,_0x2a55d0;_0x12e4cc[_0x53a23d(0x788)](_0x5d4ad9)?(_0x562420=_0x5d4ad9[_0x53a23d(0x6cf)],_0x2a55d0=_0x5d4ad9[_0x53a23d(0x419)],this['_deferredReleaseTextures'][_0x53a23d(0x6fe)]([_0x562420,_0x2a55d0])):this['_deferredReleaseTextures']['push']([_0x5d4ad9,null]);}['destroyDeferredTextures'](){var _0x2181a1=_0x1baecf;for(let _0x2fa918=0x0;_0x2fa918{var _0x49e083=a7_0x1ed280;_0x141a12['d'](_0x42814e,{'b':()=>_0x19591d});var _0x1655b1=_0x141a12(0x89a1),_0x3abff4=_0x141a12(0x360b),_0x54b709=_0x141a12(0x16268);class _0x19591d{constructor(_0x349f53,_0x15dcb8){var _0x38ea4c=a7_0x3908;this[_0x38ea4c(0x94d)]=!0x1,this[_0x38ea4c(0xd2a)]=new _0x3abff4['z'](),this['_measureDurationState']=0x0,this[_0x38ea4c(0x5f8)]=_0x349f53,this[_0x38ea4c(0x22d)]=_0x15dcb8;}get[_0x49e083(0x67f)](){var _0x35c8d8=_0x49e083;return this[_0x35c8d8(0xd2a)];}get[_0x49e083(0xc94)](){var _0x5b76f6=_0x49e083;return this[_0x5b76f6(0x94d)];}set[_0x49e083(0xc94)](_0x4b148a){var _0x1cb4ce=_0x49e083;this[_0x1cb4ce(0x94d)]!==_0x4b148a&&(this[_0x1cb4ce(0x94d)]=_0x4b148a,this[_0x1cb4ce(0xae0)]=0x0,_0x4b148a?this['_measureDuration']=new _0x56b157(this[_0x1cb4ce(0x5f8)],this[_0x1cb4ce(0x22d)]):this[_0x1cb4ce(0xa6f)][_0x1cb4ce(0x27f)]());}['startFrame'](_0x5de937){var _0x574650=_0x49e083;this[_0x574650(0x94d)]&&0x0===this['_measureDurationState']&&(this[_0x574650(0xa6f)][_0x574650(0x688)](_0x5de937),this['_measureDurationState']=0x1);}['endFrame'](_0x2cabe3){var _0xa19709=_0x49e083;0x1===this[_0xa19709(0xae0)]&&(this[_0xa19709(0xae0)]=0x2,this[_0xa19709(0xa6f)][_0xa19709(0x218)](_0x2cabe3)[_0xa19709(0x65e)](_0x7fb3c8=>{var _0x2aadc6=_0xa19709;null!==_0x7fb3c8&&0x0<=_0x7fb3c8&&(this[_0x2aadc6(0xd2a)][_0x2aadc6(0x840)](),this[_0x2aadc6(0xd2a)]['addCount'](_0x7fb3c8,!0x0)),this[_0x2aadc6(0xae0)]=0x0;}));}}class _0x56b157{constructor(_0x40300a,_0x1d5eb4){var _0x3de0e9=_0x49e083;this[_0x3de0e9(0x959)]=new _0x54b709['t'](0x2,_0x1655b1['xL'][_0x3de0e9(0xc8d)],_0x40300a,_0x1d5eb4);}[_0x49e083(0x688)](_0x1b45f8){var _0x3c10f0=_0x49e083;_0x1b45f8['writeTimestamp'](this[_0x3c10f0(0x959)][_0x3c10f0(0x654)],0x0);}[_0x49e083(0x218)](_0x318cf6){return _0x1bb070=this,_0x421aa8=function*(){var _0x18c6a3=a7_0x3908;return _0x318cf6['writeTimestamp'](this[_0x18c6a3(0x959)][_0x18c6a3(0x654)],0x1),this[_0x18c6a3(0x959)]['readTwoValuesAndSubtract'](0x0);},new(_0x44e317=(_0x44e317=_0x50d8a9=void 0x0)||Promise)(function(_0x3af4e5,_0x3292d6){var _0x472a43=a7_0x3908;function _0x327e4a(_0x139a2f){var _0xd4d83e=a7_0x3908;try{_0x1a1b34(_0x421aa8[_0xd4d83e(0x434)](_0x139a2f));}catch(_0x277ada){_0x3292d6(_0x277ada);}}function _0x219f88(_0x2373a4){var _0x43ab2c=a7_0x3908;try{_0x1a1b34(_0x421aa8[_0x43ab2c(0x8d7)](_0x2373a4));}catch(_0x255cf0){_0x3292d6(_0x255cf0);}}function _0x1a1b34(_0x9cf296){var _0x37fc30=a7_0x3908,_0x403c84;_0x9cf296[_0x37fc30(0xa65)]?_0x3af4e5(_0x9cf296['value']):((_0x403c84=_0x9cf296[_0x37fc30(0x463)])instanceof _0x44e317?_0x403c84:new _0x44e317(function(_0x3ff336){_0x3ff336(_0x403c84);}))[_0x37fc30(0x65e)](_0x327e4a,_0x219f88);}_0x1a1b34((_0x421aa8=_0x421aa8['apply'](_0x1bb070,_0x50d8a9||[]))[_0x472a43(0x434)]());});var _0x1bb070,_0x50d8a9,_0x44e317,_0x421aa8;}[_0x49e083(0x27f)](){var _0x480bf4=_0x49e083;this['_querySet'][_0x480bf4(0x27f)]();}}},0x1181f:(_0x5aed21,_0x1c406d,_0x120e34)=>{var _0x50bc7a=a7_0x1ed280;_0x120e34['d'](_0x1c406d,{'o':()=>_0x4a0888});var _0x1c406d=_0x120e34(0xa838),_0x4b4b55=_0x120e34(0x1dad),_0x10fc69=_0x120e34(0xbac7),_0x1a1b97=_0x120e34(0x13708),_0x3cef9a=_0x120e34(0x58b),_0x353fac=_0x120e34(0xf96c),_0x335f3b=_0x120e34(0x9fd1),_0x4a5fe3=_0x120e34(0x15857);class _0x4a0888 extends _0x1c406d['Y']{constructor(_0x5c4be4,_0xfd1ae1,_0x3904f4,_0x5be97f,_0x514366=null){var _0x307935=a7_0x3908;super(_0x5c4be4,_0x5be97f),this[_0x307935(0x724)]=_0x514366,this['_halfDome']=!0x1,this['_crossEye']=!0x1,this[_0x307935(0x5bb)]=!0x1,this[_0x307935(0x8d3)]=_0x4a0888['MODE_MONOSCOPIC'],this['_onBeforeCameraRenderObserver']=null,this[_0x307935(0x14c)]=new _0x353fac['y$'](),this['onLoadObservable']=new _0x353fac['y$'](),_0x5be97f=this['getScene'](),_0x5c4be4=_0x5c4be4||_0x307935(0x19d),_0x3904f4[_0x307935(0x26d)]=0x0|Math[_0x307935(0x48e)](_0x3904f4[_0x307935(0x26d)])||0x20,_0x3904f4[_0x307935(0x762)]=Boolean(_0x3904f4['clickToPlay']),_0x3904f4[_0x307935(0xa9c)]=void 0x0===_0x3904f4[_0x307935(0xa9c)]||Boolean(_0x3904f4[_0x307935(0xa9c)]),_0x3904f4['loop']=void 0x0===_0x3904f4[_0x307935(0x740)]||Boolean(_0x3904f4[_0x307935(0x740)]),_0x3904f4['size']=Math['abs'](_0x3904f4[_0x307935(0x9ed)])||(_0x5be97f['activeCamera']?0.48*_0x5be97f[_0x307935(0x168)]['maxZ']:0x3e8),void 0x0===_0x3904f4[_0x307935(0xb47)]?this[_0x307935(0x5bb)]=!0x0:this[_0x307935(0x5bb)]=_0x3904f4[_0x307935(0xb47)],void 0x0===_0x3904f4[_0x307935(0x862)]&&(_0x3904f4[_0x307935(0x862)]=!0x0),this['_setReady'](!0x1),_0x3904f4['mesh']?this[_0x307935(0x42c)]=_0x3904f4['mesh']:this[_0x307935(0x42c)]=(0x0,_0x3cef9a['Qk'])(_0x5c4be4+_0x307935(0x42c),{'segments':_0x3904f4[_0x307935(0x26d)],'diameter':_0x3904f4[_0x307935(0x9ed)],'updatable':!0x1,'sideOrientation':_0x4b4b55['Kj']['BACKSIDE']},_0x5be97f);const _0x3c5ff9=this[_0x307935(0xcba)]=new _0x1a1b97['I'](_0x5c4be4+_0x307935(0xcba),_0x5be97f);_0x3c5ff9['useEquirectangularFOV']=!0x0,_0x3c5ff9[_0x307935(0x4a9)]=0x1,_0x3c5ff9['opacityFresnel']=!0x1,_0x514366=this[_0x307935(0x6af)](_0xfd1ae1,_0x5be97f,_0x3904f4);if(this[_0x307935(0x7a3)]=_0x514366,this[_0x307935(0x42c)][_0x307935(0xb12)]=_0x3c5ff9,(this[_0x307935(0x42c)]['parent']=this)[_0x307935(0x604)]=(0x0,_0x3cef9a['Qk'])('',{'slice':0.5,'diameter':0.98*_0x3904f4[_0x307935(0x9ed)],'segments':0x2*_0x3904f4['resolution'],'sideOrientation':_0x4b4b55['Kj']['BACKSIDE']},_0x5be97f),this[_0x307935(0x604)][_0x307935(0x606)](_0x4a5fe3['RD']['X'],-Math['PI']/0x2),this[_0x307935(0x604)][_0x307935(0xa0c)]=this[_0x307935(0x42c)],this[_0x307935(0x818)]=!!_0x3904f4['halfDomeMode'],this[_0x307935(0x604)][_0x307935(0xbde)](this['_halfDome']),this[_0x307935(0x8db)]=!!_0x3904f4['crossEyeMode'],this[_0x307935(0xad7)]['anisotropicFilteringLevel']=0x1,this[_0x307935(0xad7)][_0x307935(0x2a1)]['addOnce'](()=>{this['_setReady'](!0x0);}),_0x3904f4[_0x307935(0x862)]&&_0x5be97f[_0x307935(0x168)]){const _0x363564=_0x5be97f[_0x307935(0x168)];_0x5c4be4=_0x335f3b['P'][_0x307935(0x29a)]();const _0xaa4da1=_0x335f3b['P']['TransformNormal'](_0x5c4be4,_0x363564[_0x307935(0x473)]());_0xaa4da1[_0x307935(0x400)](),this[_0x307935(0x1e3)]['y']=Math[_0x307935(0x73d)](_0x335f3b['P']['Dot'](_0x5c4be4,_0xaa4da1));}this[_0x307935(0x4dc)](this['_textureMode']);}get[_0x50bc7a(0x7a3)](){var _0x50a46b=_0x50bc7a;return this[_0x50a46b(0xad7)];}set[_0x50bc7a(0x7a3)](_0x4653a7){var _0x576319=_0x50bc7a;this[_0x576319(0xad7)]!==_0x4653a7&&(this['_texture']=_0x4653a7,this[_0x576319(0x5bb)]?(this[_0x576319(0xad7)][_0x576319(0xd21)]=_0x10fc69['x']['CLAMP_ADDRESSMODE'],this[_0x576319(0xad7)][_0x576319(0x806)]=_0x10fc69['x']['CLAMP_ADDRESSMODE'],this[_0x576319(0xcba)]['diffuseTexture']=this[_0x576319(0xad7)]):(this[_0x576319(0xad7)]['coordinatesMode']=_0x10fc69['x'][_0x576319(0xaca)],this[_0x576319(0xad7)][_0x576319(0x806)]=_0x10fc69['x'][_0x576319(0x46d)],this[_0x576319(0xcba)][_0x576319(0x6cd)]=this['_texture']),this[_0x576319(0x4dc)](this[_0x576319(0x8d3)]));}get[_0x50bc7a(0x139)](){var _0x5b5d98=_0x50bc7a;return this[_0x5b5d98(0x42c)];}get[_0x50bc7a(0x4a9)](){var _0x11657e=_0x50bc7a;return this['_material'][_0x11657e(0x4a9)];}set['fovMultiplier'](_0x5ad785){var _0x406e38=_0x50bc7a;this[_0x406e38(0xcba)][_0x406e38(0x4a9)]=_0x5ad785;}get['textureMode'](){var _0x1da5d0=_0x50bc7a;return this[_0x1da5d0(0x8d3)];}set[_0x50bc7a(0x3f9)](_0x6bfab8){var _0x4b38b8=_0x50bc7a;this[_0x4b38b8(0x8d3)]!==_0x6bfab8&&this[_0x4b38b8(0x4dc)](_0x6bfab8);}get['halfDome'](){var _0x3b1c1c=_0x50bc7a;return this[_0x3b1c1c(0x818)];}set[_0x50bc7a(0x61a)](_0x25f360){var _0x441882=_0x50bc7a;this[_0x441882(0x818)]=_0x25f360,this[_0x441882(0x604)][_0x441882(0xbde)](_0x25f360),this['_changeTextureMode'](this[_0x441882(0x8d3)]);}set[_0x50bc7a(0x315)](_0x678ce9){var _0x979392=_0x50bc7a;this[_0x979392(0x8db)]=_0x678ce9,this[_0x979392(0x4dc)](this[_0x979392(0x8d3)]);}get[_0x50bc7a(0x315)](){var _0x4a67ad=_0x50bc7a;return this[_0x4a67ad(0x8db)];}get[_0x50bc7a(0xb12)](){var _0x36c163=_0x50bc7a;return this[_0x36c163(0xcba)];}[_0x50bc7a(0x4dc)](_0x103583){var _0xda715b=_0x50bc7a;switch(this[_0xda715b(0x1a8)][_0xda715b(0xb43)]['remove'](this[_0xda715b(0x878)]),this[_0xda715b(0x8d3)]=_0x103583,this[_0xda715b(0xad7)][_0xda715b(0x44d)]=0x1,this[_0xda715b(0xad7)]['vScale']=0x1,this[_0xda715b(0xad7)][_0xda715b(0x57c)]=0x0,this[_0xda715b(0xad7)][_0xda715b(0x589)]=0x0,this[_0xda715b(0xad7)][_0xda715b(0xca5)]=0x0,_0x103583){case _0x4a0888[_0xda715b(0x96c)]:this[_0xda715b(0x818)]&&(this[_0xda715b(0xad7)]['uScale']=0x2,this['_texture'][_0xda715b(0x57c)]=-0x1);break;case _0x4a0888[_0xda715b(0xa7a)]:{this[_0xda715b(0xad7)][_0xda715b(0x44d)]=this['_halfDome']?0.99999:0.5;const _0x50c5a4=this['_halfDome']?0x0:0.5,_0x5e2585=this[_0xda715b(0x818)]?-0.5:0x0;this['_onBeforeCameraRenderObserver']=this[_0xda715b(0x1a8)][_0xda715b(0xb43)][_0xda715b(0x95e)](_0x3c8f1b=>{var _0x29b908=_0xda715b;let _0x2b2b1e=_0x3c8f1b[_0x29b908(0xcd3)];(_0x2b2b1e=this[_0x29b908(0x8db)]?!_0x2b2b1e:_0x2b2b1e)?this[_0x29b908(0xad7)][_0x29b908(0x57c)]=_0x50c5a4:this[_0x29b908(0xad7)][_0x29b908(0x57c)]=_0x5e2585;});break;}case _0x4a0888[_0xda715b(0x2fe)]:this[_0xda715b(0xad7)][_0xda715b(0xc70)]=this[_0xda715b(0x818)]?0.99999:0.5,this[_0xda715b(0x878)]=this[_0xda715b(0x1a8)][_0xda715b(0xb43)][_0xda715b(0x95e)](_0x430c44=>{var _0x197eaa=_0xda715b;let _0x3a0b0a=_0x430c44[_0x197eaa(0xcd3)];this[_0x197eaa(0x8db)]&&(_0x3a0b0a=!_0x3a0b0a),this[_0x197eaa(0xad7)][_0x197eaa(0x589)]=_0x3a0b0a?0.5:0x0;});}}[_0x50bc7a(0x27f)](_0x34125f,_0x2dd663=!0x1){var _0x5d4940=_0x50bc7a;this[_0x5d4940(0xad7)][_0x5d4940(0x27f)](),this[_0x5d4940(0x42c)][_0x5d4940(0x27f)](),this['_material']['dispose'](),this[_0x5d4940(0x1a8)][_0x5d4940(0xb43)][_0x5d4940(0x961)](this['_onBeforeCameraRenderObserver']),this[_0x5d4940(0x14c)]['clear'](),this[_0x5d4940(0x2a1)][_0x5d4940(0x5b8)](),super[_0x5d4940(0x27f)](_0x34125f,_0x2dd663);}}_0x4a0888[_0x50bc7a(0x96c)]=0x0,_0x4a0888['MODE_TOPBOTTOM']=0x1,_0x4a0888[_0x50bc7a(0xa7a)]=0x2;},0x231f:(_0x40d825,_0x56483b,_0x38c88d)=>{var _0x3c43ed=a7_0x1ed280;_0x38c88d['d'](_0x56483b,{'$':()=>_0xfbb972});var _0x278760=_0x38c88d(0x1272b),_0x4a7ef6=_0x38c88d(0x9927),_0x2774a3=_0x38c88d(0x364b),_0x4d1448=_0x38c88d(0x9fd1),_0x15431e=_0x38c88d(0x77a5),_0x14b392=_0x38c88d(0x2b0),_0x1eea52=_0x38c88d(0x93b9),_0x1b58c5=_0x38c88d(0x16067),_0x3cff5a=_0x38c88d(0xda41),_0x1887bc=_0x38c88d(0xf8c1);class _0xe05c94{constructor(){var _0x2183c4=a7_0x3908;this[_0x2183c4(0xb04)]=!0x1,this[_0x2183c4(0xc37)]=!0x1,this[_0x2183c4(0x7fe)]=!0x1,this[_0x2183c4(0xc4b)]=!0x1;}get[_0x3c43ed(0x9a5)](){var _0x50bfe5=_0x3c43ed;return this[_0x50bfe5(0xb04)];}get[_0x3c43ed(0xc6c)](){var _0x38ea50=_0x3c43ed;return this[_0x38ea50(0xc37)];}get['hasSwiped'](){return this['_hasSwiped'];}get[_0x3c43ed(0xaba)](){return this['_ignore'];}set['singleClick'](_0x432e0e){var _0x205ff0=_0x3c43ed;this[_0x205ff0(0xb04)]=_0x432e0e;}set[_0x3c43ed(0xc6c)](_0x37cb45){var _0x5afee1=_0x3c43ed;this[_0x5afee1(0xc37)]=_0x37cb45;}set['hasSwiped'](_0x26d4fa){this['_hasSwiped']=_0x26d4fa;}set[_0x3c43ed(0xaba)](_0x500d19){var _0xbb3c28=_0x3c43ed;this[_0xbb3c28(0xc4b)]=_0x500d19;}}class _0xfbb972{constructor(_0x512708){var _0x28e67a=_0x3c43ed;this[_0x28e67a(0x4ce)]=!0x1,this[_0x28e67a(0x648)]=!0x1,this[_0x28e67a(0x596)]=null,this[_0x28e67a(0xb2b)]=null,this[_0x28e67a(0x5a1)]=0x0,this[_0x28e67a(0x146)]=!0x1,this[_0x28e67a(0xc69)]=!0x1,this[_0x28e67a(0x6ce)]=-0x1,this['_skipPointerTap']=!0x1,this[_0x28e67a(0x6a1)]=!0x1,this[_0x28e67a(0x4db)]=0x0,this[_0x28e67a(0x15a)]=0x0,this[_0x28e67a(0xbd7)]=new _0x4d1448['FM'](0x0,0x0),this[_0x28e67a(0x69a)]=new _0x4d1448['FM'](0x0,0x0),this[_0x28e67a(0x6d4)]=0x0,this[_0x28e67a(0x615)]=0x0,this[_0x28e67a(0x579)]={},this['_meshUnderPointerId']={},this[_0x28e67a(0x42e)]=null,this[_0x28e67a(0xa87)]=0x0,this['_delayedClicks']=[null,null,null,null,null],this['_deviceSourceManager']=null,this[_0x28e67a(0x1a8)]=_0x512708||_0x1887bc['l'][_0x28e67a(0x84c)],this[_0x28e67a(0x1a8)];}get['meshUnderPointer'](){var _0x40a7d3=_0x3c43ed;return this[_0x40a7d3(0x42e)]&&(this['_movePointerInfo'][_0x40a7d3(0x20c)](),this[_0x40a7d3(0x42e)]=null),this['_pointerOverMesh'];}[_0x3c43ed(0x64c)](_0x1cf83b){var _0x172fb0=_0x3c43ed;return this[_0x172fb0(0x2c5)][_0x1cf83b]||null;}get[_0x3c43ed(0xb34)](){var _0x5cf2d5=_0x3c43ed;return new _0x4d1448['FM'](this[_0x5cf2d5(0x247)],this[_0x5cf2d5(0xbc1)]);}get[_0x3c43ed(0x341)](){var _0x465091=_0x3c43ed;return this[_0x465091(0x4db)];}set[_0x3c43ed(0x341)](_0x38cb10){var _0x3e2b61=_0x3c43ed;this[_0x3e2b61(0x4db)]=_0x38cb10;}get[_0x3c43ed(0x750)](){var _0x3b6361=_0x3c43ed;return this[_0x3b6361(0x15a)];}set['pointerY'](_0xe77dde){var _0x4bff43=_0x3c43ed;this[_0x4bff43(0x15a)]=_0xe77dde;}[_0x3c43ed(0x990)](_0x535496){var _0x13c9ff=_0x3c43ed,_0x1de0ad=this[_0x13c9ff(0x1a8)][_0x13c9ff(0x489)]()[_0x13c9ff(0x868)]();_0x1de0ad&&(this['_pointerX']=_0x535496['clientX']-_0x1de0ad[_0x13c9ff(0x3b6)],this['_pointerY']=_0x535496[_0x13c9ff(0x374)]-_0x1de0ad[_0x13c9ff(0x1d4)],this[_0x13c9ff(0x247)]=this[_0x13c9ff(0x4db)],this['_unTranslatedPointerY']=this[_0x13c9ff(0x15a)]);}[_0x3c43ed(0x311)](_0x54e616,_0x2c0099){var _0x4c0b45=_0x3c43ed;const _0x4bfd3e=this[_0x4c0b45(0x1a8)],_0x5a74e0=_0x4bfd3e['getEngine'](),_0x1bdffe=_0x5a74e0[_0x4c0b45(0x5e0)]();_0x1bdffe&&(_0x1bdffe[_0x4c0b45(0x456)]=_0x5a74e0[_0x4c0b45(0x1ba)],_0x4bfd3e[_0x4c0b45(0x1c3)]||(_0x1bdffe['style'][_0x4c0b45(0xcd9)]=_0x4bfd3e[_0x4c0b45(0xd03)])),this[_0x4c0b45(0x7a6)](_0x54e616,_0x2c0099,_0x4bfd3e);for(const _0xe05c79 of _0x4bfd3e[_0x4c0b45(0x920)]){var _0x3efc4d=!(null==_0x54e616||!_0x54e616[_0x4c0b45(0xb72)]);_0x54e616=_0xe05c79[_0x4c0b45(0x8ca)](this['_unTranslatedPointerX'],this[_0x4c0b45(0xbc1)],_0x54e616,_0x3efc4d,_0x1bdffe);}var _0x155cb2=_0x2c0099[_0x4c0b45(0x271)]>=_0x1b58c5['Fz'][_0x4c0b45(0xc3f)]&&_0x2c0099[_0x4c0b45(0x271)]<=_0x1b58c5['Fz']['MouseWheelZ']?_0x278760['kD']['POINTERWHEEL']:_0x278760['kD'][_0x4c0b45(0xb89)];_0x4bfd3e['onPointerMove']&&(_0x54e616=_0x54e616||this[_0x4c0b45(0x919)](_0x2c0099),_0x4bfd3e['onPointerMove'](_0x2c0099,_0x54e616,_0x155cb2));let _0x517b70;_0x54e616?(_0x517b70=new _0x278760['R5'](_0x155cb2,_0x2c0099,_0x54e616),this['_setRayOnPointerInfo'](_0x54e616,_0x2c0099)):(_0x517b70=new _0x278760['R5'](_0x155cb2,_0x2c0099,null,this),this[_0x4c0b45(0x42e)]=_0x517b70),_0x4bfd3e[_0x4c0b45(0x3fa)]['hasObservers']()&&_0x4bfd3e['onPointerObservable'][_0x4c0b45(0x533)](_0x517b70,_0x155cb2);}[_0x3c43ed(0x4d4)](_0x3e1f09,_0x46f5ac){var _0x5ae727=_0x3c43ed;const _0x29ae86=this[_0x5ae727(0x1a8)];_0x3e1f09&&_0x29ae86[_0x5ae727(0xd16)]&&(_0x3e1f09['ray']||(_0x3e1f09[_0x5ae727(0x7fd)]=_0x29ae86[_0x5ae727(0xc0a)](_0x46f5ac[_0x5ae727(0x51a)],_0x46f5ac[_0x5ae727(0x3c9)],_0x4d1448['y3']['Identity'](),_0x29ae86['activeCamera'])));}['_addCameraPointerObserver'](_0x57a587,_0xc27ea4){var _0x4bcd30=_0x3c43ed;return this[_0x4bcd30(0xa87)]++,this[_0x4bcd30(0x1a8)][_0x4bcd30(0x3fa)]['add'](_0x57a587,_0xc27ea4);}[_0x3c43ed(0x1f7)](_0x49e8a0){var _0x3e9827=_0x3c43ed;return this['_cameraObserverCount']--,this[_0x3e9827(0x1a8)][_0x3e9827(0x3fa)][_0x3e9827(0x961)](_0x49e8a0);}['_checkForPicking'](){var _0x33e33d=_0x3c43ed;return!!(this['_scene'][_0x33e33d(0x3fa)][_0x33e33d(0x3d4)][_0x33e33d(0x78d)]>this[_0x33e33d(0xa87)]||this['_scene'][_0x33e33d(0xb9a)]);}[_0x3c43ed(0x5b9)](_0x1508b9,_0x56abe9,_0x4ff9bd){var _0x4a8291=_0x3c43ed;const _0x2faa4b=this['_scene'],_0x112592=new _0x278760['FV'](_0x4ff9bd,_0x56abe9,this[_0x4a8291(0x247)],this['_unTranslatedPointerY']);return _0x1508b9&&(_0x112592[_0x4a8291(0x97a)]=_0x1508b9,_0x112592[_0x4a8291(0x7fd)]=_0x1508b9[_0x4a8291(0x7fd)],_0x1508b9['originMesh']&&(_0x112592[_0x4a8291(0x493)]=_0x1508b9)),_0x2faa4b['onPrePointerObservable'][_0x4a8291(0x533)](_0x112592,_0x4ff9bd),!!_0x112592[_0x4a8291(0x56c)];}['_pickMove'](_0x4ca1f4){var _0x18981e=_0x3c43ed;const _0x3ee4fe=this[_0x18981e(0x1a8)];var _0x3bfb75=_0x3ee4fe[_0x18981e(0x71e)](this[_0x18981e(0x247)],this[_0x18981e(0xbc1)],_0x3ee4fe[_0x18981e(0x3ec)],!0x1,_0x3ee4fe['cameraToUseForPointers'],_0x3ee4fe['pointerMoveTrianglePredicate']);return this[_0x18981e(0x7a6)](_0x3bfb75,_0x4ca1f4,_0x3ee4fe),_0x3bfb75;}['_setCursorAndPointerOverMesh'](_0xbcc061,_0x1ad411,_0x4d9363){var _0x3421d7=_0x3c43ed;const _0x146d23=_0x4d9363[_0x3421d7(0x489)](),_0x226946=_0x146d23[_0x3421d7(0x5e0)]();var _0x576964;null!=_0xbcc061&&_0xbcc061[_0x3421d7(0xb72)]?(this[_0x3421d7(0x3ff)](_0xbcc061[_0x3421d7(0xb72)],_0x1ad411['pointerId'],_0xbcc061,_0x1ad411),!_0x4d9363[_0x3421d7(0x1c3)]&&_0x226946&&this[_0x3421d7(0x3d7)]&&(_0x576964=this[_0x3421d7(0x3d7)][_0x3421d7(0xcfb)]())&&_0x576964[_0x3421d7(0x49c)]&&(_0x226946[_0x3421d7(0xce6)][_0x3421d7(0xcd9)]=_0x576964[_0x3421d7(0x8c5)]||_0x4d9363[_0x3421d7(0x8c5)])):this['setPointerOverMesh'](null,_0x1ad411['pointerId'],_0xbcc061,_0x1ad411);}[_0x3c43ed(0x7e0)](_0x594ff8,_0x7d8336){var _0x27c219=_0x3c43ed;const _0x10629e=new PointerEvent(_0x27c219(0xc85),_0x7d8336);_0x10629e[_0x27c219(0x271)]=_0x1b58c5['Fz'][_0x27c219(0x76e)],this['_checkPrePointerObservable'](_0x594ff8,_0x10629e,_0x278760['kD'][_0x27c219(0xb89)])||this[_0x27c219(0x311)](_0x594ff8,_0x10629e);}[_0x3c43ed(0x677)](_0x53e1e4,_0x8ee15a){var _0x1fe460=_0x3c43ed;const _0x2abaaf=new PointerEvent('pointerdown',_0x8ee15a);_0x2abaaf[_0x1fe460(0x271)]=_0x2abaaf[_0x1fe460(0xab8)]+0x2,this['_checkPrePointerObservable'](_0x53e1e4,_0x2abaaf,_0x278760['kD']['POINTERDOWN'])||this[_0x1fe460(0x739)](_0x53e1e4,_0x2abaaf);}['_processPointerDown'](_0x148a63,_0x39e320){var _0x39cea2=_0x3c43ed;const _0x20bd73=this['_scene'];if(null!=_0x148a63&&_0x148a63[_0x39cea2(0xb72)]){this[_0x39cea2(0x871)]=_0x148a63['pickedMesh'];const _0x446b17=_0x148a63[_0x39cea2(0xb72)][_0x39cea2(0xcfb)]();if(_0x446b17){if(_0x446b17['hasPickTriggers'])switch(_0x446b17[_0x39cea2(0x85c)](_0x15431e['g']['ACTION_OnPickDownTrigger'],_0x14b392['V'][_0x39cea2(0xb98)](_0x148a63[_0x39cea2(0xb72)],_0x39e320)),_0x39e320['button']){case 0x0:_0x446b17[_0x39cea2(0x85c)](_0x15431e['g'][_0x39cea2(0x777)],_0x14b392['V'][_0x39cea2(0xb98)](_0x148a63[_0x39cea2(0xb72)],_0x39e320));break;case 0x1:_0x446b17[_0x39cea2(0x85c)](_0x15431e['g'][_0x39cea2(0x3a0)],_0x14b392['V']['CreateNew'](_0x148a63['pickedMesh'],_0x39e320));break;case 0x2:_0x446b17[_0x39cea2(0x85c)](_0x15431e['g']['ACTION_OnRightPickTrigger'],_0x14b392['V']['CreateNew'](_0x148a63['pickedMesh'],_0x39e320));}_0x446b17[_0x39cea2(0xcde)](_0x15431e['g'][_0x39cea2(0xc2b)])&&window[_0x39cea2(0x8a2)](()=>{var _0x9d678=_0x39cea2,_0x5c5ca0=_0x20bd73[_0x9d678(0x71e)](this['_unTranslatedPointerX'],this[_0x9d678(0xbc1)],_0x250f6d=>_0x250f6d[_0x9d678(0x59c)]&&_0x250f6d[_0x9d678(0x391)]&&_0x250f6d[_0x9d678(0xae3)]()&&_0x250f6d['actionManager']&&_0x250f6d[_0x9d678(0x86b)][_0x9d678(0xcde)](_0x15431e['g'][_0x9d678(0xc2b)])&&_0x250f6d===this[_0x9d678(0x871)],!0x1,_0x20bd73['cameraToUseForPointers']);null!=_0x5c5ca0&&_0x5c5ca0[_0x9d678(0xb72)]&&_0x446b17&&0x0!==this['_totalPointersPressed']&&Date['now']()-this[_0x9d678(0x6d4)]>_0xfbb972['LongPressDelay']&&!this[_0x9d678(0xb4f)]()&&(this[_0x9d678(0x6d4)]=0x0,_0x446b17['processTrigger'](_0x15431e['g']['ACTION_OnLongPressTrigger'],_0x14b392['V'][_0x9d678(0xb98)](_0x5c5ca0[_0x9d678(0xb72)],_0x39e320)));},_0xfbb972['LongPressDelay']);}}else{for(const _0x335a07 of _0x20bd73['_pointerDownStage'])_0x148a63=_0x335a07[_0x39cea2(0x8ca)](this[_0x39cea2(0x247)],this[_0x39cea2(0xbc1)],_0x148a63,_0x39e320,!0x1);}let _0x325c73;var _0x1d53fa=_0x278760['kD'][_0x39cea2(0x349)];_0x148a63?(_0x20bd73[_0x39cea2(0x52e)]&&_0x20bd73['onPointerDown'](_0x39e320,_0x148a63,_0x1d53fa),_0x325c73=new _0x278760['R5'](_0x1d53fa,_0x39e320,_0x148a63),this[_0x39cea2(0x4d4)](_0x148a63,_0x39e320)):_0x325c73=new _0x278760['R5'](_0x1d53fa,_0x39e320,null,this),_0x20bd73[_0x39cea2(0x3fa)][_0x39cea2(0xc4f)]()&&_0x20bd73[_0x39cea2(0x3fa)][_0x39cea2(0x533)](_0x325c73,_0x1d53fa);}[_0x3c43ed(0xb4f)](){var _0x271f26=_0x3c43ed;return this[_0x271f26(0xc69)];}[_0x3c43ed(0xc7a)](_0x59f51e,_0xe72461,_0x142dc1){var _0x1cb1c5=_0x3c43ed;const _0x557317=new PointerEvent(_0x1cb1c5(0x70f),_0xe72461),_0x291c34=(_0x557317[_0x1cb1c5(0x271)]=_0x1b58c5['Fz'][_0x1cb1c5(0x76e)],new _0xe05c94());_0x142dc1?_0x291c34['doubleClick']=!0x0:_0x291c34[_0x1cb1c5(0x9a5)]=!0x0,this['_checkPrePointerObservable'](_0x59f51e,_0x557317,_0x278760['kD'][_0x1cb1c5(0x4f7)])||this['_processPointerUp'](_0x59f51e,_0x557317,_0x291c34);}[_0x3c43ed(0x880)](_0x27b129,_0x5738a3,_0x3fd833){var _0x389dca=_0x3c43ed;const _0x1ca37e=this[_0x389dca(0x1a8)];if(null!=_0x27b129&&_0x27b129[_0x389dca(0xb72)]){this['_pickedUpMesh']=_0x27b129[_0x389dca(0xb72)],this[_0x389dca(0x871)]===this[_0x389dca(0xc97)]&&(_0x1ca37e[_0x389dca(0xb9a)]&&_0x1ca37e[_0x389dca(0xb9a)](_0x5738a3,_0x27b129),_0x3fd833[_0x389dca(0x9a5)]&&!_0x3fd833[_0x389dca(0xaba)]&&_0x1ca37e[_0x389dca(0x3fa)]['observers']['length']>this[_0x389dca(0xa87)]&&(_0x78dfda=_0x278760['kD'][_0x389dca(0x6f8)],_0x50cb5d=new _0x278760['R5'](_0x78dfda,_0x5738a3,_0x27b129),this[_0x389dca(0x4d4)](_0x27b129,_0x5738a3),_0x1ca37e[_0x389dca(0x3fa)][_0x389dca(0x533)](_0x50cb5d,_0x78dfda)));const _0x57259e=_0x27b129[_0x389dca(0xb72)]['_getActionManagerForTrigger']();if(_0x57259e&&!_0x3fd833[_0x389dca(0xaba)]){_0x57259e[_0x389dca(0x85c)](_0x15431e['g']['ACTION_OnPickUpTrigger'],_0x14b392['V'][_0x389dca(0xb98)](_0x27b129[_0x389dca(0xb72)],_0x5738a3,_0x27b129)),!_0x3fd833[_0x389dca(0x1a2)]&&_0x3fd833[_0x389dca(0x9a5)]&&_0x57259e[_0x389dca(0x85c)](_0x15431e['g'][_0x389dca(0x223)],_0x14b392['V']['CreateNew'](_0x27b129[_0x389dca(0xb72)],_0x5738a3,_0x27b129));const _0x5c3f08=_0x27b129[_0x389dca(0xb72)]['_getActionManagerForTrigger'](_0x15431e['g'][_0x389dca(0xd1a)]);_0x3fd833['doubleClick']&&_0x5c3f08&&_0x5c3f08[_0x389dca(0x85c)](_0x15431e['g'][_0x389dca(0xd1a)],_0x14b392['V'][_0x389dca(0xb98)](_0x27b129[_0x389dca(0xb72)],_0x5738a3,_0x27b129));}}else{if(!_0x3fd833[_0x389dca(0xaba)]){for(const _0x182ad5 of _0x1ca37e[_0x389dca(0xad8)])_0x27b129=_0x182ad5[_0x389dca(0x8ca)](this[_0x389dca(0x247)],this[_0x389dca(0xbc1)],_0x27b129,_0x5738a3,_0x3fd833[_0x389dca(0xc6c)]);}}if(this[_0x389dca(0x871)]&&this[_0x389dca(0x871)]!==this[_0x389dca(0xc97)]){const _0x37bd0a=this['_pickedDownMesh'][_0x389dca(0xcfb)](_0x15431e['g']['ACTION_OnPickOutTrigger']);_0x37bd0a&&_0x37bd0a['processTrigger'](_0x15431e['g'][_0x389dca(0x601)],_0x14b392['V'][_0x389dca(0xb98)](this[_0x389dca(0x871)],_0x5738a3));}if(!_0x3fd833[_0x389dca(0xaba)]){var _0x78dfda,_0x50cb5d=new _0x278760['R5'](_0x278760['kD'][_0x389dca(0x4f7)],_0x5738a3,_0x27b129);if(this[_0x389dca(0x4d4)](_0x27b129,_0x5738a3),_0x1ca37e[_0x389dca(0x3fa)][_0x389dca(0x533)](_0x50cb5d,_0x278760['kD'][_0x389dca(0x4f7)]),_0x1ca37e[_0x389dca(0x87f)]&&_0x1ca37e[_0x389dca(0x87f)](_0x5738a3,_0x27b129,_0x278760['kD'][_0x389dca(0x4f7)]),!_0x3fd833[_0x389dca(0x1a2)]&&!this[_0x389dca(0x4cb)]&&!this[_0x389dca(0x6a1)]){let _0x2b654a=0x0;_0x3fd833[_0x389dca(0x9a5)]?_0x2b654a=_0x278760['kD'][_0x389dca(0x805)]:_0x3fd833[_0x389dca(0xc6c)]&&(_0x2b654a=_0x278760['kD']['POINTERDOUBLETAP']),_0x2b654a&&(_0x78dfda=new _0x278760['R5'](_0x2b654a,_0x5738a3,_0x27b129),_0x1ca37e[_0x389dca(0x3fa)]['hasObservers']()&&_0x1ca37e[_0x389dca(0x3fa)][_0x389dca(0x5a8)](_0x2b654a)&&_0x1ca37e[_0x389dca(0x3fa)][_0x389dca(0x533)](_0x78dfda,_0x2b654a));}}}[_0x3c43ed(0x8c2)](_0x4e2de8=0x0){var _0x16e315=_0x3c43ed;return this[_0x16e315(0x579)][_0x4e2de8];}['attachControl'](_0x249ebd=!0x0,_0x2eb59b=!0x0,_0x365856=!0x0,_0x2cfa54=null){var _0x21eac2=_0x3c43ed;const _0x47fbe3=this[_0x21eac2(0x1a8)],_0x5e64aa=_0x47fbe3[_0x21eac2(0x489)]();_0x2cfa54=_0x2cfa54||_0x5e64aa[_0x21eac2(0x5e0)](),this[_0x21eac2(0x4ce)]&&this[_0x21eac2(0xb27)](),_0x2cfa54&&(this['_alreadyAttachedTo']=_0x2cfa54),this[_0x21eac2(0xa5d)]=new _0x3cff5a['U'](_0x5e64aa),this[_0x21eac2(0x9e7)]=_0x55a742=>{var _0x3a59e8=_0x21eac2;if(!this['_meshPickProceed']){const _0x2a8639=_0x47fbe3[_0x3a59e8(0x7d8)]||0x0===_0x47fbe3[_0x3a59e8(0x1eb)]&&!this['_checkForPicking']()&&!_0x47fbe3[_0x3a59e8(0x87f)]?null:_0x47fbe3[_0x3a59e8(0x71e)](this[_0x3a59e8(0x247)],this[_0x3a59e8(0xbc1)],_0x47fbe3[_0x3a59e8(0x821)],!0x1,_0x47fbe3[_0x3a59e8(0x87e)]);(this[_0x3a59e8(0x596)]=_0x2a8639)&&(_0x55a742=_0x2a8639['hit']&&_0x2a8639[_0x3a59e8(0xb72)]?_0x2a8639[_0x3a59e8(0xb72)][_0x3a59e8(0xcfb)]():null),this[_0x3a59e8(0x648)]=!0x0;}return _0x55a742;},this[_0x21eac2(0xaed)]=(_0x51aa61,_0x49e17b,_0x76dee6)=>{var _0x51709e=_0x21eac2,_0xdb08c3;(Date[_0x51709e(0x461)]()-this[_0x51709e(0x615)]>_0xfbb972[_0x51709e(0x41a)]&&!this[_0x51709e(0x146)]||_0x51aa61!==this[_0x51709e(0x992)])&&(this[_0x51709e(0x146)]=!0x1,_0x49e17b[_0x51709e(0x9a5)]=!0x0,_0x49e17b[_0x51709e(0xaba)]=!0x1,this[_0x51709e(0x923)][_0x51aa61]&&(_0x49e17b=this[_0x51709e(0x923)][_0x51aa61]['evt'],_0xdb08c3=_0x278760['kD']['POINTERTAP'],_0x49e17b=new _0x278760['R5'](_0xdb08c3,_0x49e17b,this[_0x51709e(0x596)]),_0x47fbe3[_0x51709e(0x3fa)][_0x51709e(0xc4f)]()&&_0x47fbe3[_0x51709e(0x3fa)][_0x51709e(0x5a8)](_0xdb08c3)&&_0x47fbe3['onPointerObservable'][_0x51709e(0x533)](_0x49e17b,_0xdb08c3),this['_delayedClicks'][_0x51aa61]=null));},this[_0x21eac2(0x795)]=(_0x198af3,_0x24b978,_0x3209f6,_0x864258)=>{var _0x27f490=_0x21eac2;const _0x4e6652=new _0xe05c94();let _0x17a94f=this['_currentPickResult']=null,_0x64c615=_0x198af3[_0x27f490(0x5a8)](_0x278760['kD'][_0x27f490(0x6f8)])||_0x24b978['hasSpecificMask'](_0x278760['kD'][_0x27f490(0x6f8)])||_0x198af3[_0x27f490(0x5a8)](_0x278760['kD'][_0x27f490(0x805)])||_0x24b978[_0x27f490(0x5a8)](_0x278760['kD'][_0x27f490(0x805)])||_0x198af3[_0x27f490(0x5a8)](_0x278760['kD']['POINTERDOUBLETAP'])||_0x24b978[_0x27f490(0x5a8)](_0x278760['kD'][_0x27f490(0xd1c)]),_0x4787dc=!0x1;if(_0x64c615=!_0x64c615&&_0x4a7ef6['O']&&(_0x17a94f=this[_0x27f490(0x9e7)](_0x17a94f,_0x4e6652))?_0x17a94f['hasPickTriggers']:_0x64c615){var _0x5207d8=_0x3209f6[_0x27f490(0xab8)];if(_0x4e6652['hasSwiped']=this[_0x27f490(0xb4f)](),!_0x4e6652[_0x27f490(0x1a2)]){let _0x4fda71=!_0xfbb972[_0x27f490(0xc56)],_0x221381=(_0x4fda71||(_0x4fda71=!_0x198af3['hasSpecificMask'](_0x278760['kD'][_0x27f490(0xd1c)])&&!_0x24b978[_0x27f490(0x5a8)](_0x278760['kD'][_0x27f490(0xd1c)]))&&!_0x4a7ef6['O']['HasSpecificTrigger'](_0x15431e['g'][_0x27f490(0xd1a)])&&(_0x17a94f=this[_0x27f490(0x9e7)](_0x17a94f,_0x4e6652))&&(_0x4fda71=!_0x17a94f[_0x27f490(0xcde)](_0x15431e['g']['ACTION_OnDoublePickTrigger'])),_0x4fda71?(Date[_0x27f490(0x461)]()-this['_previousStartingPointerTime']>_0xfbb972[_0x27f490(0x41a)]||_0x5207d8!==this[_0x27f490(0x992)])&&(_0x4e6652[_0x27f490(0x9a5)]=!0x0,_0x864258(_0x4e6652,this[_0x27f490(0x596)]),_0x4787dc=!0x0):(_0x3209f6={'evt':_0x3209f6,'clickInfo':_0x4e6652,'timeoutId':window['setTimeout'](this['_delayedSimpleClick'][_0x27f490(0x5f4)](this,_0x5207d8,_0x4e6652,_0x864258),_0xfbb972[_0x27f490(0x41a)])},this['_delayedClicks'][_0x5207d8]=_0x3209f6),_0x198af3['hasSpecificMask'](_0x278760['kD']['POINTERDOUBLETAP'])||_0x24b978[_0x27f490(0x5a8)](_0x278760['kD'][_0x27f490(0xd1c)]));(_0x221381=!_0x221381&&_0x4a7ef6['O']['HasSpecificTrigger'](_0x15431e['g']['ACTION_OnDoublePickTrigger'])&&(_0x17a94f=this[_0x27f490(0x9e7)](_0x17a94f,_0x4e6652))?_0x17a94f[_0x27f490(0xcde)](_0x15431e['g']['ACTION_OnDoublePickTrigger']):_0x221381)&&(_0x5207d8===this[_0x27f490(0x992)]&&Date[_0x27f490(0x461)]()-this['_previousStartingPointerTime']<_0xfbb972['DoubleClickDelay']&&!this['_doubleClickOccured']?(_0x4e6652['hasSwiped']||this[_0x27f490(0xb4f)]()?(this['_doubleClickOccured']=!0x1,this[_0x27f490(0x615)]=this[_0x27f490(0x6d4)],this[_0x27f490(0x69a)]['x']=this[_0x27f490(0xbd7)]['x'],this[_0x27f490(0x69a)]['y']=this[_0x27f490(0xbd7)]['y'],this[_0x27f490(0x992)]=_0x5207d8,_0xfbb972[_0x27f490(0xc56)]?(this['_delayedClicks'][_0x5207d8]&&(clearTimeout(null==(_0x3209f6=this[_0x27f490(0x923)][_0x5207d8])?void 0x0:_0x3209f6[_0x27f490(0x31f)]),this[_0x27f490(0x923)][_0x5207d8]=null),_0x864258(_0x4e6652,this['_previousPickResult'])):_0x864258(_0x4e6652,this['_currentPickResult'])):(this['_previousStartingPointerTime']=0x0,this[_0x27f490(0x146)]=!0x0,_0x4e6652[_0x27f490(0xc6c)]=!0x0,_0x4e6652[_0x27f490(0xaba)]=!0x1,_0xfbb972[_0x27f490(0xc56)]&&this['_delayedClicks'][_0x5207d8]&&(clearTimeout(null==(_0x198af3=this[_0x27f490(0x923)][_0x5207d8])?void 0x0:_0x198af3[_0x27f490(0x31f)]),this[_0x27f490(0x923)][_0x5207d8]=null),_0x864258(_0x4e6652,this[_0x27f490(0x596)])),_0x4787dc=!0x0):(this[_0x27f490(0x146)]=!0x1,this['_previousStartingPointerTime']=this[_0x27f490(0x6d4)],this[_0x27f490(0x69a)]['x']=this[_0x27f490(0xbd7)]['x'],this[_0x27f490(0x69a)]['y']=this[_0x27f490(0xbd7)]['y'],this[_0x27f490(0x992)]=_0x5207d8));}}_0x4787dc||_0x864258(_0x4e6652,this[_0x27f490(0x596)]);},this[_0x21eac2(0xcf2)]=_0x3c4158=>{var _0x5d20ca=_0x21eac2,_0x1182f0;this['_updatePointerPosition'](_0x3c4158),this['_isSwiping']||-0x1===this[_0x5d20ca(0x6ce)]||(this[_0x5d20ca(0xc69)]=Math[_0x5d20ca(0x48e)](this['_startingPointerPosition']['x']-this['_pointerX'])>_0xfbb972[_0x5d20ca(0x25f)]||Math['abs'](this[_0x5d20ca(0xbd7)]['y']-this[_0x5d20ca(0x15a)])>_0xfbb972[_0x5d20ca(0x25f)]),_0x5e64aa[_0x5d20ca(0x233)]&&_0x5e64aa[_0x5d20ca(0xb8a)](),this[_0x5d20ca(0x5b9)](null,_0x3c4158,_0x3c4158[_0x5d20ca(0x271)]>=_0x1b58c5['Fz'][_0x5d20ca(0xc3f)]&&_0x3c4158['inputIndex']<=_0x1b58c5['Fz'][_0x5d20ca(0x630)]?_0x278760['kD'][_0x5d20ca(0x6e1)]:_0x278760['kD'][_0x5d20ca(0xb89)])||(_0x47fbe3[_0x5d20ca(0x87e)]||_0x47fbe3[_0x5d20ca(0x168)])&&(_0x47fbe3[_0x5d20ca(0x4ee)]?this[_0x5d20ca(0x311)](new _0x2774a3['p'](),_0x3c4158):(_0x47fbe3[_0x5d20ca(0x3ec)]||(_0x47fbe3[_0x5d20ca(0x3ec)]=_0x1afe1b=>_0x1afe1b['isPickable']&&_0x1afe1b[_0x5d20ca(0x391)]&&_0x1afe1b[_0x5d20ca(0xae3)]()&&_0x1afe1b[_0x5d20ca(0x5ba)]()&&(_0x1afe1b[_0x5d20ca(0x4a4)]||_0x47fbe3['constantlyUpdateMeshUnderPointer']||null!==_0x1afe1b[_0x5d20ca(0xcfb)]())&&(!_0x47fbe3[_0x5d20ca(0x87e)]||0x0!=(_0x47fbe3[_0x5d20ca(0x87e)][_0x5d20ca(0xc8f)]&_0x1afe1b[_0x5d20ca(0xc8f)]))),_0x1182f0=0x0<_0x47fbe3['_registeredActions']?this[_0x5d20ca(0x919)](_0x3c4158):null,this[_0x5d20ca(0x311)](_0x1182f0,_0x3c4158)));},this[_0x21eac2(0x7bd)]=_0x8e1713=>{var _0x4a6d6b=_0x21eac2,_0xa640a2;if(this[_0x4a6d6b(0x5a1)]++,this[_0x4a6d6b(0x871)]=null,this[_0x4a6d6b(0x648)]=!0x1,_0xfbb972[_0x4a6d6b(0xc56)]){for(let _0x364989=0x0;_0x364989_0x41246e[_0x4a6d6b(0x59c)]&&_0x41246e['isVisible']&&_0x41246e[_0x4a6d6b(0xae3)]()&&_0x41246e[_0x4a6d6b(0x5ba)]()&&(!_0x47fbe3[_0x4a6d6b(0x87e)]||0x0!=(_0x47fbe3[_0x4a6d6b(0x87e)]['layerMask']&_0x41246e[_0x4a6d6b(0xc8f)]))),this['_pickedDownMesh']=null,_0xa640a2=_0x47fbe3[_0x4a6d6b(0x161)]||0x0===_0x47fbe3['_registeredActions']&&!this[_0x4a6d6b(0x4ca)]()&&!_0x47fbe3[_0x4a6d6b(0x52e)]?new _0x2774a3['p']():_0x47fbe3[_0x4a6d6b(0x71e)](this['_unTranslatedPointerX'],this[_0x4a6d6b(0xbc1)],_0x47fbe3[_0x4a6d6b(0x4e0)],!0x1,_0x47fbe3[_0x4a6d6b(0x87e)]),this['_processPointerDown'](_0xa640a2,_0x8e1713));},this[_0x21eac2(0x66e)]=_0x5f6133=>{var _0x203d68=_0x21eac2;0x0!==this[_0x203d68(0x5a1)]&&(this[_0x203d68(0x5a1)]--,this['_pickedUpMesh']=null,this[_0x203d68(0x648)]=!0x1,this[_0x203d68(0x990)](_0x5f6133),_0x47fbe3[_0x203d68(0x33b)]&&_0x2cfa54&&(_0x5f6133[_0x203d68(0x526)](),_0x2cfa54['focus']()),this[_0x203d68(0x795)](_0x47fbe3[_0x203d68(0x1c2)],_0x47fbe3[_0x203d68(0x3fa)],_0x5f6133,(_0x1863ce,_0x3b3834)=>{var _0x21276c=_0x203d68;if(_0x47fbe3[_0x21276c(0x1c2)]['hasObservers']()&&(this[_0x21276c(0x4cb)]=!0x1,!_0x1863ce['ignore'])){if(this[_0x21276c(0x5b9)](null,_0x5f6133,_0x278760['kD'][_0x21276c(0x4f7)]))return void(this[_0x21276c(0x6ce)]===_0x5f6133['button']&&(this[_0x21276c(0xc69)]=!0x1,this['_swipeButtonPressed']=-0x1));_0x1863ce[_0x21276c(0x1a2)]||(_0x1863ce['singleClick']&&_0x47fbe3[_0x21276c(0x1c2)][_0x21276c(0x5a8)](_0x278760['kD'][_0x21276c(0x805)])&&this[_0x21276c(0x5b9)](null,_0x5f6133,_0x278760['kD'][_0x21276c(0x805)])&&(this[_0x21276c(0x4cb)]=!0x0),_0x1863ce[_0x21276c(0xc6c)]&&_0x47fbe3[_0x21276c(0x1c2)]['hasSpecificMask'](_0x278760['kD'][_0x21276c(0xd1c)])&&this[_0x21276c(0x5b9)](null,_0x5f6133,_0x278760['kD'][_0x21276c(0xd1c)])&&(this['_skipPointerTap']=!0x0));}this[_0x21276c(0x579)][_0x5f6133[_0x21276c(0x518)]]?(0x0===_0x5f6133[_0x21276c(0xb57)]&&(this[_0x21276c(0x579)][_0x5f6133['pointerId']]=!0x1),(_0x47fbe3['cameraToUseForPointers']||_0x47fbe3['activeCamera'])&&(_0x47fbe3[_0x21276c(0x821)]||(_0x47fbe3[_0x21276c(0x821)]=_0xcf49ed=>_0xcf49ed[_0x21276c(0x59c)]&&_0xcf49ed[_0x21276c(0x391)]&&_0xcf49ed['isReady']()&&_0xcf49ed[_0x21276c(0x5ba)]()&&(!_0x47fbe3[_0x21276c(0x87e)]||0x0!=(_0x47fbe3['cameraToUseForPointers'][_0x21276c(0xc8f)]&_0xcf49ed[_0x21276c(0xc8f)]))),!this[_0x21276c(0x648)]&&(_0x4a7ef6['O']&&_0x4a7ef6['O'][_0x21276c(0xc22)]||this[_0x21276c(0x4ca)]()||_0x47fbe3[_0x21276c(0x87f)])&&this['_initActionManager'](null,_0x1863ce),_0x3b3834=_0x3b3834||this[_0x21276c(0x596)],this[_0x21276c(0x880)](_0x3b3834,_0x5f6133,_0x1863ce),this['_previousPickResult']=this[_0x21276c(0x596)],this[_0x21276c(0x6ce)]===_0x5f6133[_0x21276c(0xab8)]&&(this[_0x21276c(0xc69)]=!0x1,this['_swipeButtonPressed']=-0x1))):this[_0x21276c(0x6ce)]===_0x5f6133[_0x21276c(0xab8)]&&(this[_0x21276c(0xc69)]=!0x1,this['_swipeButtonPressed']=-0x1);}));},this[_0x21eac2(0xab1)]=_0xcdbead=>{var _0x2348fa=_0x21eac2,_0x552d63=_0x1eea52['OG'][_0x2348fa(0xbe7)];if(_0x47fbe3['onPreKeyboardObservable'][_0x2348fa(0xc4f)]()){var _0x78b474=new _0x1eea52['WZ'](_0x552d63,_0xcdbead);if(_0x47fbe3[_0x2348fa(0xa69)][_0x2348fa(0x533)](_0x78b474,_0x552d63),_0x78b474[_0x2348fa(0x1b3)])return;}_0x47fbe3[_0x2348fa(0x2d0)]['hasObservers']()&&(_0x78b474=new _0x1eea52['NG'](_0x552d63,_0xcdbead),_0x47fbe3[_0x2348fa(0x2d0)][_0x2348fa(0x533)](_0x78b474,_0x552d63)),_0x47fbe3['actionManager']&&_0x47fbe3[_0x2348fa(0x86b)][_0x2348fa(0x85c)](_0x15431e['g'][_0x2348fa(0x653)],_0x14b392['V']['CreateNewFromScene'](_0x47fbe3,_0xcdbead));},this['_onKeyUp']=_0x5a0dc0=>{var _0x3b3959=_0x21eac2,_0x2267d6=_0x1eea52['OG'][_0x3b3959(0xbcc)];if(_0x47fbe3[_0x3b3959(0xa69)][_0x3b3959(0xc4f)]()){var _0xccd1d3=new _0x1eea52['WZ'](_0x2267d6,_0x5a0dc0);if(_0x47fbe3[_0x3b3959(0xa69)][_0x3b3959(0x533)](_0xccd1d3,_0x2267d6),_0xccd1d3['skipOnKeyboardObservable'])return;}_0x47fbe3['onKeyboardObservable'][_0x3b3959(0xc4f)]()&&(_0xccd1d3=new _0x1eea52['NG'](_0x2267d6,_0x5a0dc0),_0x47fbe3['onKeyboardObservable'][_0x3b3959(0x533)](_0xccd1d3,_0x2267d6)),_0x47fbe3[_0x3b3959(0x86b)]&&_0x47fbe3[_0x3b3959(0x86b)][_0x3b3959(0x85c)](_0x15431e['g'][_0x3b3959(0xa54)],_0x14b392['V'][_0x3b3959(0xa02)](_0x47fbe3,_0x5a0dc0));},this[_0x21eac2(0xa5d)]['onDeviceConnectedObservable'][_0x21eac2(0x95e)](_0x1b2071=>{var _0x223e30=_0x21eac2;_0x1b2071[_0x223e30(0x4ac)]===_0x1b58c5['Yi'][_0x223e30(0x1ae)]?_0x1b2071[_0x223e30(0x31e)][_0x223e30(0x95e)](_0x1add93=>{var _0x4737d4=_0x223e30;_0x1add93[_0x4737d4(0x271)]===_0x1b58c5['Fz'][_0x4737d4(0xcd8)]||_0x1add93[_0x4737d4(0x271)]===_0x1b58c5['Fz']['MiddleClick']||_0x1add93[_0x4737d4(0x271)]===_0x1b58c5['Fz'][_0x4737d4(0xaf6)]||_0x1add93[_0x4737d4(0x271)]===_0x1b58c5['Fz'][_0x4737d4(0x394)]||_0x1add93['inputIndex']===_0x1b58c5['Fz'][_0x4737d4(0x67a)]?_0x2eb59b&&0x1===_0x1b2071[_0x4737d4(0xd0c)](_0x1add93[_0x4737d4(0x271)])?this[_0x4737d4(0x7bd)](_0x1add93):_0x249ebd&&0x0===_0x1b2071[_0x4737d4(0xd0c)](_0x1add93[_0x4737d4(0x271)])&&this[_0x4737d4(0x66e)](_0x1add93):!_0x365856||_0x1add93['inputIndex']!==_0x1b58c5['Fz'][_0x4737d4(0x76e)]&&_0x1add93[_0x4737d4(0x271)]!==_0x1b58c5['Fz'][_0x4737d4(0xc3f)]&&_0x1add93[_0x4737d4(0x271)]!==_0x1b58c5['Fz']['MouseWheelY']&&_0x1add93['inputIndex']!==_0x1b58c5['Fz'][_0x4737d4(0x630)]||this[_0x4737d4(0xcf2)](_0x1add93);}):_0x1b2071[_0x223e30(0x4ac)]===_0x1b58c5['Yi'][_0x223e30(0x95c)]?_0x1b2071[_0x223e30(0x31e)]['add'](_0x5ac112=>{var _0x18507c=_0x223e30;_0x5ac112[_0x18507c(0x271)]===_0x1b58c5['Fz'][_0x18507c(0xcd8)]&&(_0x2eb59b&&0x1===_0x1b2071[_0x18507c(0xd0c)](_0x5ac112['inputIndex'])?(this[_0x18507c(0x7bd)](_0x5ac112),0x1{var _0x26f2fc=_0x223e30;_0x26f2fc(0x231)===_0x43cc00['type']?this['_onKeyDown'](_0x43cc00):_0x26f2fc(0x6d7)===_0x43cc00[_0x26f2fc(0x3db)]&&this['_onKeyUp'](_0x43cc00);});}),this[_0x21eac2(0x4ce)]=!0x0;}['detachControl'](){var _0x51f77f=_0x3c43ed;this[_0x51f77f(0x4ce)]&&(this['_deviceSourceManager'][_0x51f77f(0x27f)](),this[_0x51f77f(0xa5d)]=null,this['_alreadyAttachedTo']&&!this[_0x51f77f(0x1a8)]['doNotHandleCursors']&&(this[_0x51f77f(0x626)]['style'][_0x51f77f(0xcd9)]=this[_0x51f77f(0x1a8)][_0x51f77f(0xd03)]),this[_0x51f77f(0x4ce)]=!0x1,this[_0x51f77f(0x626)]=null);}[_0x3c43ed(0x3ff)](_0x56edae,_0x143d29=0x0,_0x59ca06,_0x400094){var _0x2c5a0c=_0x3c43ed;if(this['_meshUnderPointerId'][_0x143d29]!==_0x56edae||_0x56edae&&_0x56edae['_internalAbstractMeshDataInfo'][_0x2c5a0c(0xa86)]){const _0x51ef14=this['_meshUnderPointerId'][_0x143d29];let _0x11d774;_0x51ef14&&(_0x11d774=_0x51ef14[_0x2c5a0c(0xcfb)](_0x15431e['g'][_0x2c5a0c(0xc63)]))&&_0x11d774['processTrigger'](_0x15431e['g']['ACTION_OnPointerOutTrigger'],_0x14b392['V'][_0x2c5a0c(0xb98)](_0x51ef14,_0x400094,{'pointerId':_0x143d29})),_0x56edae?(this[_0x2c5a0c(0x2c5)][_0x143d29]=_0x56edae,this[_0x2c5a0c(0x3d7)]=_0x56edae,(_0x11d774=_0x56edae[_0x2c5a0c(0xcfb)](_0x15431e['g']['ACTION_OnPointerOverTrigger']))&&_0x11d774[_0x2c5a0c(0x85c)](_0x15431e['g']['ACTION_OnPointerOverTrigger'],_0x14b392['V'][_0x2c5a0c(0xb98)](_0x56edae,_0x400094,{'pointerId':_0x143d29,'pickResult':_0x59ca06}))):(delete this['_meshUnderPointerId'][_0x143d29],this['_pointerOverMesh']=null);}}[_0x3c43ed(0x541)](){var _0x538ec9=_0x3c43ed;return this[_0x538ec9(0xc93)];}['_invalidateMesh'](_0x4a12f5){var _0x5613ed=_0x3c43ed;this['_pointerOverMesh']===_0x4a12f5&&(this[_0x5613ed(0x3d7)]=null),this[_0x5613ed(0x871)]===_0x4a12f5&&(this['_pickedDownMesh']=null),this[_0x5613ed(0xc97)]===_0x4a12f5&&(this[_0x5613ed(0xc97)]=null);for(const _0x513057 in this['_meshUnderPointerId'])this[_0x5613ed(0x2c5)][_0x513057]===_0x4a12f5&&delete this['_meshUnderPointerId'][_0x513057];}}_0xfbb972[_0x3c43ed(0x25f)]=0xa,_0xfbb972['LongPressDelay']=0x1f4,_0xfbb972[_0x3c43ed(0x41a)]=0x12c,_0xfbb972[_0x3c43ed(0xc56)]=!0x1;},0x11fc5:(_0x5d77b9,_0xc82181,_0x518cde)=>{_0x518cde['d'](_0xc82181,{'W':()=>_0x4e0de1});class _0x4e0de1{constructor(){this['_timeElapsedQueryEnded']=!0x1;}}},0x72fb:(_0x14ad68,_0x532e25,_0x43640f)=>{var _0x4a6ff7=a7_0x1ed280;_0x43640f['d'](_0x532e25,{'m':()=>_0x476158});class _0x476158{static[_0x4a6ff7(0x28a)](_0x1e81f3,_0xdf5b60){var _0x366a24=_0x4a6ff7;return _0x1e81f3['shadowEnabled']!==_0xdf5b60[_0x366a24(0xaf0)]?(_0xdf5b60[_0x366a24(0xaf0)]?0x1:0x0)-(_0x1e81f3[_0x366a24(0xaf0)]?0x1:0x0):_0xdf5b60['renderPriority']-_0x1e81f3[_0x366a24(0x645)];}}_0x476158[_0x4a6ff7(0x76d)]=0x0,_0x476158[_0x4a6ff7(0x8ec)]=0x1,_0x476158['FALLOFF_GLTF']=0x2,_0x476158[_0x4a6ff7(0x7a2)]=0x3,_0x476158[_0x4a6ff7(0xa8f)]=0x0,_0x476158[_0x4a6ff7(0x746)]=0x1,_0x476158[_0x4a6ff7(0x97e)]=0x2,_0x476158['INTENSITYMODE_AUTOMATIC']=0x0,_0x476158[_0x4a6ff7(0x913)]=0x1,_0x476158['INTENSITYMODE_LUMINOUSINTENSITY']=0x2,_0x476158[_0x4a6ff7(0x748)]=0x3,_0x476158[_0x4a6ff7(0x1da)]=0x4,_0x476158['LIGHTTYPEID_POINTLIGHT']=0x0,_0x476158[_0x4a6ff7(0x152)]=0x1,_0x476158[_0x4a6ff7(0xccc)]=0x2,_0x476158[_0x4a6ff7(0x780)]=0x3;},0xdd81:(_0x33f898,_0x351c46,_0x4b4592)=>{var _0x838b43=a7_0x1ed280,_0x519678=_0x4b4592(0x17a92);_0x4b4592(0x175b0),_0x4b4592(0xe6c7),_0x4b4592(0x15fb5),_0x4b4592(0x1f57),_0x4b4592(0x1f85),_0x4b4592(0xff1b),_0x4b4592(0x12a16),_0x4b4592(0x3328),_0x4b4592(0x6318),_0x4b4592(0xb0bc),_0x4b4592(0x10ef),_0x4b4592(0x17ef8),_0x519678['v']['ShadersStore'][_0x838b43(0xc5c)]='precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include\x0a#include\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#include\x0a#include\x0avec3\x20computeCustomDiffuseLighting(lightingInfo\x20info,vec3\x20diffuseBase,float\x20shadow)\x0a{\x0adiffuseBase=info.diffuse*shadow;\x0a#ifdef\x20CELLBASIC\x0afloat\x20level=1.0;\x0aif\x20(info.ndl<0.5)\x0alevel=0.5;\x0adiffuseBase.rgb*vec3(level,level,level);\x0a#else\x0afloat\x20ToonThresholds[4];\x0aToonThresholds[0]=0.95;\x0aToonThresholds[1]=0.5;\x0aToonThresholds[2]=0.2;\x0aToonThresholds[3]=0.03;\x0afloat\x20ToonBrightnessLevels[5];\x0aToonBrightnessLevels[0]=1.0;\x0aToonBrightnessLevels[1]=0.8;\x0aToonBrightnessLevels[2]=0.6;\x0aToonBrightnessLevels[3]=0.35;\x0aToonBrightnessLevels[4]=0.2;\x0aif\x20(info.ndl>ToonThresholds[0])\x0a{\x0adiffuseBase.rgb*=ToonBrightnessLevels[0];\x0a}\x0aelse\x20if\x20(info.ndl>ToonThresholds[1])\x0a{\x0adiffuseBase.rgb*=ToonBrightnessLevels[1];\x0a}\x0aelse\x20if\x20(info.ndl>ToonThresholds[2])\x0a{\x0adiffuseBase.rgb*=ToonBrightnessLevels[2];\x0a}\x0aelse\x20if\x20(info.ndl>ToonThresholds[3])\x0a{\x0adiffuseBase.rgb*=ToonBrightnessLevels[3];\x0a}\x0aelse\x0a{\x0adiffuseBase.rgb*=ToonBrightnessLevels[4];\x0a}\x0a#endif\x0areturn\x20max(diffuseBase,vec3(0.2));\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20baseColor=vec4(1.,1.,1.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20DIFFUSE\x0abaseColor=texture2D(diffuseSampler,vDiffuseUV);\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include\x0abaseColor.rgb*=vDiffuseInfos.y;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0alightingInfo\x20info;\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0afloat\x20shadow=1.;\x0afloat\x20glossiness=0.;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0a#endif\x20\x0a#include[0..maxSimultaneousLights]\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\x0avec4\x20color=vec4(finalDiffuse,alpha);\x0a#include\x0agl_FragColor=color;\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}';},0x6953:(_0x593c11,_0x1ddd9c,_0x3c612f)=>{var _0x326732=a7_0x1ed280,_0x46870e=_0x3c612f(0x17a92);_0x3c612f(0x13f9a),_0x3c612f(0x12929),_0x3c612f(0x12bc6),_0x3c612f(0x13216),_0x3c612f(0x6a99),_0x3c612f(0xe6c7),_0x3c612f(0x15fb5),_0x3c612f(0x733d),_0x3c612f(0xb434),_0x3c612f(0xdcea),_0x3c612f(0x6efd),_0x3c612f(0x9871),_0x3c612f(0x6e75),_0x3c612f(0xedb9),_0x46870e['v']['ShadersStore']['cellVertexShader']=_0x326732(0x7ea);},0x2c85:(_0x3f835b,_0x1450f3,_0x4aa800)=>{var _0x118119=a7_0x1ed280,_0x322eb8=_0x4aa800(0x17a92);_0x4aa800(0xff1b),_0x4aa800(0x12a16),_0x4aa800(0x3328),_0x4aa800(0x6318),_0x4aa800(0x10ef),_0x4aa800(0x17ef8),_0x322eb8['v'][_0x118119(0x6d9)][_0x118119(0x814)]=_0x118119(0x798);},0x16f95:(_0x170850,_0x54ba95,_0x52b1a8)=>{var _0x21d919=a7_0x1ed280,_0x91a623=_0x52b1a8(0x17a92);_0x52b1a8(0x13f9a),_0x52b1a8(0x12929),_0x52b1a8(0x12bc6),_0x52b1a8(0x13216),_0x52b1a8(0x6a99),_0x52b1a8(0x733d),_0x52b1a8(0xb434),_0x52b1a8(0xdcea),_0x52b1a8(0x6efd),_0x52b1a8(0x9871),_0x52b1a8(0xedb9),_0x91a623['v']['ShadersStore'][_0x21d919(0x244)]=_0x21d919(0x6de);},0x10367:(_0x30c454,_0x5f516b,_0x509fbb)=>{var _0xe4170a=a7_0x1ed280,_0x24d012=_0x509fbb(0x17a92);_0x509fbb(0x175b0),_0x509fbb(0xe6c7),_0x509fbb(0x15fb5),_0x509fbb(0x1f57),_0x509fbb(0x1f85),_0x509fbb(0x12a16),_0x509fbb(0xff1b),_0x509fbb(0x3328),_0x509fbb(0x6318),_0x509fbb(0xb0bc),_0x509fbb(0x10ef),_0x509fbb(0x17ef8),_0x24d012['v']['ShadersStore'][_0xe4170a(0x8f2)]=_0xe4170a(0xb1d);},0xe461:(_0x29d982,_0x5ddc18,_0x5104ee)=>{var _0x25308c=a7_0x1ed280,_0x50f385=_0x5104ee(0x17a92);_0x5104ee(0x13f9a),_0x5104ee(0x12929),_0x5104ee(0x12bc6),_0x5104ee(0x13216),_0x5104ee(0x6a99),_0x5104ee(0xe6c7),_0x5104ee(0x15fb5),_0x5104ee(0x733d),_0x5104ee(0xb434),_0x5104ee(0xdcea),_0x5104ee(0x6efd),_0x5104ee(0x9871),_0x5104ee(0x6e75),_0x5104ee(0xedb9),_0x50f385['v'][_0x25308c(0x6d9)][_0x25308c(0x26c)]='precision\x20highp\x20float;attribute\x20vec3\x20position;attribute\x20vec3\x20normal;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include\x0a#include\x0auniform\x20float\x20furLength;uniform\x20float\x20furAngle;\x0a#ifdef\x20HIGHLEVEL\x0auniform\x20float\x20furOffset;uniform\x20vec3\x20furGravity;uniform\x20float\x20furTime;uniform\x20float\x20furSpacing;uniform\x20float\x20furDensity;\x0a#endif\x0a#ifdef\x20HEIGHTMAP\x0auniform\x20sampler2D\x20heightTexture;\x0a#endif\x0a#ifdef\x20HIGHLEVEL\x0avarying\x20vec2\x20vFurUV;\x0a#endif\x0a#include\x0auniform\x20mat4\x20view;uniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;uniform\x20mat4\x20diffuseMatrix;uniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0avarying\x20float\x20vfur_length;\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include\x0a#include\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0afloat\x20Rand(vec3\x20rv)\x20{float\x20x=dot(rv,vec3(12.9898,78.233,24.65487));return\x20fract(sin(x)*43758.5453);}\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include\x0a#include\x0a#include\x0afloat\x20r=Rand(position);\x0a#ifdef\x20HEIGHTMAP\x0a#if\x20__VERSION__>100\x0avfur_length=furLength*texture(heightTexture,uv).x;\x0a#else\x0avfur_length=furLength*texture2D(heightTexture,uv).r;\x0a#endif\x0a#else\x20\x0avfur_length=(furLength*r);\x0a#endif\x0avec3\x20tangent1=vec3(normal.y,-normal.x,0);vec3\x20tangent2=vec3(-normal.z,0,normal.x);r=Rand(tangent1*r);float\x20J=(2.0+4.0*r);r=Rand(tangent2*r);float\x20K=(2.0+2.0*r);tangent1=tangent1*J+tangent2*K;tangent1=normalize(tangent1);vec3\x20newPosition=position+normal*vfur_length*cos(furAngle)+tangent1*vfur_length*sin(furAngle);\x0a#ifdef\x20HIGHLEVEL\x0avec3\x20forceDirection=vec3(0.0,0.0,0.0);forceDirection.x=sin(furTime+position.x*0.05)*0.2;forceDirection.y=cos(furTime*0.7+position.y*0.04)*0.2;forceDirection.z=sin(furTime*0.7+position.z*0.04)*0.2;vec3\x20displacement=vec3(0.0,0.0,0.0);displacement=furGravity+forceDirection;float\x20displacementFactor=pow(furOffset,3.0);vec3\x20aNormal=normal;aNormal.xyz+=displacement*displacementFactor;newPosition=vec3(newPosition.x,newPosition.y,newPosition.z)+(normalize(aNormal)*furOffset*furSpacing);\x0a#endif\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0agl_Position=viewProjection*finalWorld*vec4(newPosition,1.0);vec4\x20worldPos=finalWorld*vec4(newPosition,1.0);vPositionW=vec3(worldPos);\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0aif\x20(vDiffuseInfos.x==0.)\x0a{vDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));}\x0aelse\x0a{vDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));}\x0a#ifdef\x20HIGHLEVEL\x0avFurUV=vDiffuseUV*furDensity;\x0a#endif\x0a#else\x0a#ifdef\x20HIGHLEVEL\x0avFurUV=uv*furDensity;\x0a#endif\x0a#endif\x0a#include\x0a#include\x0a#include[0..maxSimultaneousLights]\x0a#include\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a';},0xbd74:(_0x22236b,_0x40f304,_0x259b23)=>{var _0x264269=a7_0x1ed280,_0x3f8ca9=_0x259b23(0x17a92);_0x259b23(0x175b0),_0x259b23(0xe6c7),_0x259b23(0x15fb5),_0x259b23(0x1f57),_0x259b23(0x1f85),_0x259b23(0xff1b),_0x259b23(0x12a16),_0x259b23(0x3328),_0x259b23(0x6318),_0x259b23(0xb0bc),_0x259b23(0x10ef),_0x259b23(0x17ef8),_0x3f8ca9['v'][_0x264269(0x6d9)]['gradientPixelShader']=_0x264269(0x385);},0x4a05:(_0x10616d,_0x4b0775,_0x27c5bc)=>{var _0x16ec93=a7_0x1ed280,_0x1bdc62=_0x27c5bc(0x17a92);_0x27c5bc(0x13f9a),_0x27c5bc(0x12929),_0x27c5bc(0x12bc6),_0x27c5bc(0x13216),_0x27c5bc(0x6a99),_0x27c5bc(0xe6c7),_0x27c5bc(0x15fb5),_0x27c5bc(0x733d),_0x27c5bc(0xb434),_0x27c5bc(0xdcea),_0x27c5bc(0x6efd),_0x27c5bc(0x9871),_0x27c5bc(0x6e75),_0x27c5bc(0xedb9),_0x1bdc62['v'][_0x16ec93(0x6d9)][_0x16ec93(0xc27)]=_0x16ec93(0xc8c);},0x1072f:(_0x193f56,_0x4ac308,_0x1280c9)=>{var _0x53e5cf=a7_0x1ed280,_0x42e94d=_0x1280c9(0x17a92);_0x1280c9(0x12a16),_0x1280c9(0x10ef),_0x1280c9(0x17ef8),_0x42e94d['v'][_0x53e5cf(0x6d9)][_0x53e5cf(0x8e2)]=_0x53e5cf(0x1bf);},0x5442:(_0x39d608,_0x1efc99,_0x2a9beb)=>{var _0xd00086=a7_0x1ed280,_0x2259d7=_0x2a9beb(0x17a92);_0x2a9beb(0x12bc6),_0x2a9beb(0x6a99),_0x2a9beb(0x733d),_0x2a9beb(0x9871),_0x2259d7['v'][_0xd00086(0x6d9)][_0xd00086(0x8ac)]=_0xd00086(0x370);},0x36d3:(_0x57f361,_0x161e7e,_0x5c5b46)=>{var _0x2d5857=a7_0x1ed280,_0x43a521=_0x5c5b46(0x17a92);_0x5c5b46(0x175b0),_0x5c5b46(0xe6c7),_0x5c5b46(0x15fb5),_0x5c5b46(0x1f57),_0x5c5b46(0x1f85),_0x5c5b46(0xff1b),_0x5c5b46(0x12a16),_0x5c5b46(0x3328),_0x5c5b46(0x6318),_0x5c5b46(0xb0bc),_0x5c5b46(0x10ef),_0x5c5b46(0x17ef8),_0x43a521['v'][_0x2d5857(0x6d9)][_0x2d5857(0x8cb)]=_0x2d5857(0x37b);},0xbb43:(_0x4e800a,_0x242bb9,_0x2ce6aa)=>{var _0x2e8143=a7_0x1ed280,_0xf77d8c=_0x2ce6aa(0x17a92);_0x2ce6aa(0x13f9a),_0x2ce6aa(0x12929),_0x2ce6aa(0x12bc6),_0x2ce6aa(0x13216),_0x2ce6aa(0x6a99),_0x2ce6aa(0xe6c7),_0x2ce6aa(0x15fb5),_0x2ce6aa(0x733d),_0x2ce6aa(0xb434),_0x2ce6aa(0xdcea),_0x2ce6aa(0x6efd),_0x2ce6aa(0x9871),_0x2ce6aa(0x6e75),_0x2ce6aa(0xedb9),_0xf77d8c['v']['ShadersStore'][_0x2e8143(0xaf9)]='precision\x20highp\x20float;uniform\x20float\x20time;uniform\x20float\x20lowFrequencySpeed;varying\x20float\x20noise;attribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include\x0a#include\x0a#include\x0auniform\x20mat4\x20view;uniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;uniform\x20mat4\x20diffuseMatrix;uniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include\x0a#include\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a/*\x20NOISE\x20FUNCTIONS\x20*/\x0avec3\x20mod289(vec3\x20x)\x0a{return\x20x-floor(x*(1.0/289.0))*289.0;}\x0avec4\x20mod289(vec4\x20x)\x0a{return\x20x-floor(x*(1.0/289.0))*289.0;}\x0avec4\x20permute(vec4\x20x)\x0a{return\x20mod289(((x*34.0)+1.0)*x);}\x0avec4\x20taylorInvSqrt(vec4\x20r)\x0a{return\x201.79284291400159-0.85373472095314*r;}\x0avec3\x20fade(vec3\x20t)\x20{return\x20t*t*t*(t*(t*6.0-15.0)+10.0);}\x0afloat\x20pnoise(vec3\x20P,vec3\x20rep)\x0a{vec3\x20Pi0=mod(floor(P),rep);\x20\x0avec3\x20Pi1=mod(Pi0+vec3(1.0),rep);\x20\x0aPi0=mod289(Pi0);Pi1=mod289(Pi1);vec3\x20Pf0=fract(P);\x20\x0avec3\x20Pf1=Pf0-vec3(1.0);\x20\x0avec4\x20ix=vec4(Pi0.x,Pi1.x,Pi0.x,Pi1.x);vec4\x20iy=vec4(Pi0.yy,Pi1.yy);vec4\x20iz0=Pi0.zzzz;vec4\x20iz1=Pi1.zzzz;vec4\x20ixy=permute(permute(ix)+iy);vec4\x20ixy0=permute(ixy+iz0);vec4\x20ixy1=permute(ixy+iz1);vec4\x20gx0=ixy0*(1.0/7.0);vec4\x20gy0=fract(floor(gx0)*(1.0/7.0))-0.5;gx0=fract(gx0);vec4\x20gz0=vec4(0.5)-abs(gx0)-abs(gy0);vec4\x20sz0=step(gz0,vec4(0.0));gx0-=sz0*(step(0.0,gx0)-0.5);gy0-=sz0*(step(0.0,gy0)-0.5);vec4\x20gx1=ixy1*(1.0/7.0);vec4\x20gy1=fract(floor(gx1)*(1.0/7.0))-0.5;gx1=fract(gx1);vec4\x20gz1=vec4(0.5)-abs(gx1)-abs(gy1);vec4\x20sz1=step(gz1,vec4(0.0));gx1-=sz1*(step(0.0,gx1)-0.5);gy1-=sz1*(step(0.0,gy1)-0.5);vec3\x20g000=vec3(gx0.x,gy0.x,gz0.x);vec3\x20g100=vec3(gx0.y,gy0.y,gz0.y);vec3\x20g010=vec3(gx0.z,gy0.z,gz0.z);vec3\x20g110=vec3(gx0.w,gy0.w,gz0.w);vec3\x20g001=vec3(gx1.x,gy1.x,gz1.x);vec3\x20g101=vec3(gx1.y,gy1.y,gz1.y);vec3\x20g011=vec3(gx1.z,gy1.z,gz1.z);vec3\x20g111=vec3(gx1.w,gy1.w,gz1.w);vec4\x20norm0=taylorInvSqrt(vec4(dot(g000,g000),dot(g010,g010),dot(g100,g100),dot(g110,g110)));g000*=norm0.x;g010*=norm0.y;g100*=norm0.z;g110*=norm0.w;vec4\x20norm1=taylorInvSqrt(vec4(dot(g001,g001),dot(g011,g011),dot(g101,g101),dot(g111,g111)));g001*=norm1.x;g011*=norm1.y;g101*=norm1.z;g111*=norm1.w;float\x20n000=dot(g000,Pf0);float\x20n100=dot(g100,vec3(Pf1.x,Pf0.yz));float\x20n010=dot(g010,vec3(Pf0.x,Pf1.y,Pf0.z));float\x20n110=dot(g110,vec3(Pf1.xy,Pf0.z));float\x20n001=dot(g001,vec3(Pf0.xy,Pf1.z));float\x20n101=dot(g101,vec3(Pf1.x,Pf0.y,Pf1.z));float\x20n011=dot(g011,vec3(Pf0.x,Pf1.yz));float\x20n111=dot(g111,Pf1);vec3\x20fade_xyz=fade(Pf0);vec4\x20n_z=mix(vec4(n000,n100,n010,n110),vec4(n001,n101,n011,n111),fade_xyz.z);vec2\x20n_yz=mix(n_z.xy,n_z.zw,fade_xyz.y);float\x20n_xyz=mix(n_yz.x,n_yz.y,fade_xyz.x);return\x202.2*n_xyz;}\x0a/*\x20END\x20FUNCTION\x20*/\x0afloat\x20turbulence(\x20vec3\x20p\x20)\x20{float\x20w=100.0;float\x20t=-.5;for\x20(float\x20f=1.0\x20;\x20f<=10.0\x20;\x20f++\x20){float\x20power=pow(\x202.0,f\x20);t+=abs(\x20pnoise(\x20vec3(\x20power*p\x20),vec3(\x2010.0,10.0,10.0\x20)\x20)/power\x20);}\x0areturn\x20t;}\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include\x0a#include\x0a#include\x0a#ifdef\x20NORMAL\x0anoise=10.0*\x20-.10*turbulence(\x20.5*normal+time*1.15\x20);float\x20b=lowFrequencySpeed*5.0*pnoise(\x200.05*position\x20+vec3(time*1.025),vec3(\x20100.0\x20)\x20);float\x20displacement=-\x201.5*noise+b;vec3\x20newPosition=position+normal*displacement;gl_Position=viewProjection*finalWorld*vec4(\x20newPosition,1.0\x20);vec4\x20worldPos=finalWorld*vec4(newPosition,1.0);vPositionW=vec3(worldPos);vNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0aif\x20(vDiffuseInfos.x==0.)\x0a{vDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));}\x0aelse\x0a{vDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));}\x0a#endif\x0a#include\x0a#include\x0a#include[0..maxSimultaneousLights]\x0a#include\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}';},0x1968:(_0x13daf2,_0x51bc4e,_0x49a7d4)=>{var _0x84943=a7_0x1ed280,_0x306f5f=_0x49a7d4(0x17a92);_0x49a7d4(0x175b0),_0x49a7d4(0xe6c7),_0x49a7d4(0x15fb5),_0x49a7d4(0x1f57),_0x49a7d4(0x1f85),_0x49a7d4(0xff1b),_0x49a7d4(0x12a16),_0x49a7d4(0x3328),_0x49a7d4(0x6318),_0x49a7d4(0xb0bc),_0x49a7d4(0x10ef),_0x49a7d4(0x17ef8),_0x306f5f['v'][_0x84943(0x6d9)][_0x84943(0x7d6)]=_0x84943(0x792);},0x7d18:(_0x54a973,_0x58f606,_0x31f0af)=>{var _0x5e8d8a=a7_0x1ed280,_0x3ef55f=_0x31f0af(0x17a92);_0x31f0af(0x13f9a),_0x31f0af(0x12929),_0x31f0af(0x12bc6),_0x31f0af(0x13216),_0x31f0af(0x6a99),_0x31f0af(0xe6c7),_0x31f0af(0x15fb5),_0x31f0af(0x733d),_0x31f0af(0xb434),_0x31f0af(0xdcea),_0x31f0af(0x6efd),_0x31f0af(0x9871),_0x31f0af(0x6e75),_0x31f0af(0xedb9),_0x3ef55f['v'][_0x5e8d8a(0x6d9)][_0x5e8d8a(0x614)]=_0x5e8d8a(0x779);},0xc97e:(_0x2adf41,_0x1e8697,_0x25f5bd)=>{var _0x54618c=a7_0x1ed280,_0x706273=_0x25f5bd(0x17a92);_0x25f5bd(0x175b0),_0x25f5bd(0xe6c7),_0x25f5bd(0x15fb5),_0x25f5bd(0x1f57),_0x25f5bd(0x1f85),_0x25f5bd(0xff1b),_0x25f5bd(0x12a16),_0x25f5bd(0x3328),_0x25f5bd(0x6318),_0x25f5bd(0xb0bc),_0x25f5bd(0x10ef),_0x25f5bd(0x17ef8),_0x706273['v'][_0x54618c(0x6d9)][_0x54618c(0x381)]='precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20LIGHTING\x0a#include\x0a#include<__decl__lightFragment>[0]\x0a#include<__decl__lightFragment>[1]\x0a#include<__decl__lightFragment>[2]\x0a#include<__decl__lightFragment>[3]\x0a#include\x0a#include\x0a#endif\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#include\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20baseColor=vec4(1.,1.,1.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20DIFFUSE\x0abaseColor=texture2D(diffuseSampler,vDiffuseUV);\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include\x0abaseColor.rgb*=vDiffuseInfos.y;\x0a#endif\x0a#ifdef\x20NORMAL\x0abaseColor=mix(baseColor,vec4(vNormalW,1.0),0.5);\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0a#ifdef\x20LIGHTING\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0afloat\x20glossiness=0.;\x0a#include[0]\x0a#include[1]\x0a#include[2]\x0a#include[3]\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\x0a#else\x0avec3\x20finalDiffuse=\x20baseColor.rgb;\x0a#endif\x0avec4\x20color=vec4(finalDiffuse,alpha);\x0a#include\x0agl_FragColor=color;\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}';},0x8f3b:(_0x4a85ea,_0xe4c7d8,_0x33bf39)=>{var _0x42c4c0=a7_0x1ed280,_0x21ca11=_0x33bf39(0x17a92);_0x33bf39(0x13f9a),_0x33bf39(0x12929),_0x33bf39(0x12bc6),_0x33bf39(0x13216),_0x33bf39(0x6a99),_0x33bf39(0xe6c7),_0x33bf39(0x15fb5),_0x33bf39(0x733d),_0x33bf39(0xb434),_0x33bf39(0xdcea),_0x33bf39(0x6efd),_0x33bf39(0x9871),_0x33bf39(0x6e75),_0x21ca11['v'][_0x42c4c0(0x6d9)]['normalVertexShader']=_0x42c4c0(0x368);},0x15bd0:(_0x12c654,_0x4447f1,_0x437a1c)=>{var _0x3827eb=a7_0x1ed280,_0x25a3c1=_0x437a1c(0x17a92);_0x437a1c(0x175b0),_0x437a1c(0xe6c7),_0x437a1c(0x15fb5),_0x437a1c(0x1f57),_0x437a1c(0x1f85),_0x437a1c(0xff1b),_0x437a1c(0x12a16),_0x437a1c(0x3328),_0x437a1c(0xb0bc),_0x437a1c(0x10ef),_0x437a1c(0x17ef8),_0x25a3c1['v']['ShadersStore'][_0x3827eb(0xca8)]='precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20float\x20alpha;\x0auniform\x20vec3\x20shadowColor;\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#include\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include\x0a#include\x0a#include\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0afloat\x20glossiness=0.;\x0a#include[0..1]\x0avec4\x20color=vec4(shadowColor,(1.0-clamp(shadow,0.,1.))*alpha);\x0a#include\x0agl_FragColor=color;\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}';},0x3e31:(_0x163f4d,_0x346d67,_0xa11ce6)=>{var _0x271f7f=a7_0x1ed280,_0x2afd20=_0xa11ce6(0x17a92);_0xa11ce6(0x13f9a),_0xa11ce6(0x12929),_0xa11ce6(0x12bc6),_0xa11ce6(0x13216),_0xa11ce6(0x6a99),_0xa11ce6(0xe6c7),_0xa11ce6(0x15fb5),_0xa11ce6(0x733d),_0xa11ce6(0xb434),_0xa11ce6(0xdcea),_0xa11ce6(0x6efd),_0xa11ce6(0x9871),_0xa11ce6(0x6e75),_0x2afd20['v'][_0x271f7f(0x6d9)][_0x271f7f(0x6ca)]='precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#include\x0a#include\x0a#include\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include\x0a#include\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include\x0a#include\x0a#include\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0agl_Position=viewProjection*worldPos;\x0avPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#include\x0a#include\x0a#include[0..maxSimultaneousLights]\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a';},0x1b5e:(_0x1b692f,_0x11b86f,_0x2594e6)=>{var _0x3d8fee=a7_0x1ed280,_0x65408c=_0x2594e6(0x17a92);_0x2594e6(0x175b0),_0x2594e6(0xe6c7),_0x2594e6(0x15fb5),_0x2594e6(0x1f57),_0x2594e6(0x1f85),_0x2594e6(0xff1b),_0x2594e6(0x12a16),_0x2594e6(0x3328),_0x2594e6(0x6318),_0x2594e6(0xb0bc),_0x2594e6(0x10ef),_0x2594e6(0x17ef8),_0x65408c['v'][_0x3d8fee(0x6d9)][_0x3d8fee(0x514)]=_0x3d8fee(0x543);},0xcd2d:(_0xd51f7d,_0x375671,_0xaec5c0)=>{var _0x46a2cd=a7_0x1ed280,_0x1118ad=_0xaec5c0(0x17a92);_0xaec5c0(0x13f9a),_0xaec5c0(0x12929),_0xaec5c0(0x12bc6),_0xaec5c0(0x13216),_0xaec5c0(0x6a99),_0xaec5c0(0xe6c7),_0xaec5c0(0x15fb5),_0xaec5c0(0x733d),_0xaec5c0(0xb434),_0xaec5c0(0xdcea),_0xaec5c0(0x6efd),_0xaec5c0(0x9871),_0xaec5c0(0x6e75),_0xaec5c0(0xedb9),_0x1118ad['v'][_0x46a2cd(0x6d9)]['simpleVertexShader']=_0x46a2cd(0x436);},0x717d:(_0x56d505,_0x1e645c,_0x52faae)=>{var _0xe7c110=a7_0x1ed280,_0x276132=_0x52faae(0x17a92);_0x52faae(0xff1b),_0x52faae(0x12a16),_0x52faae(0x175b0),_0x52faae(0x3328),_0x52faae(0x10ef),_0x52faae(0x17ef8),_0x276132['v'][_0xe7c110(0x6d9)][_0xe7c110(0x2da)]=_0xe7c110(0x914);},0xa7:(_0x24f22d,_0x36116a,_0xecac1b)=>{var _0x383868=a7_0x1ed280,_0x3823a9=_0xecac1b(0x17a92);_0xecac1b(0x13216),_0xecac1b(0x6a99),_0xecac1b(0x6efd),_0xecac1b(0x9871),_0x3823a9['v']['ShadersStore']['skyVertexShader']=_0x383868(0x7f1);},0x1528a:(_0x2f39ea,_0x44dc50,_0x139277)=>{var _0x1a40b7=a7_0x1ed280,_0x59a5d9=_0x139277(0x17a92);_0x139277(0x175b0),_0x139277(0xe6c7),_0x139277(0x15fb5),_0x139277(0x1f57),_0x139277(0x1f85),_0x139277(0xff1b),_0x139277(0x12a16),_0x139277(0x3328),_0x139277(0x6318),_0x139277(0xb0bc),_0x139277(0x10ef),_0x139277(0x17ef8),_0x59a5d9['v'][_0x1a40b7(0x6d9)]['terrainPixelShader']='precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0a#ifdef\x20SPECULARTERM\x0auniform\x20vec4\x20vSpecularColor;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vTextureUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20vTextureInfos;\x0auniform\x20sampler2D\x20diffuse1Sampler;\x0auniform\x20sampler2D\x20diffuse2Sampler;\x0auniform\x20sampler2D\x20diffuse3Sampler;\x0auniform\x20vec2\x20diffuse1Infos;\x0auniform\x20vec2\x20diffuse2Infos;\x0auniform\x20vec2\x20diffuse3Infos;\x0a#endif\x0a#ifdef\x20BUMP\x0auniform\x20sampler2D\x20bump1Sampler;\x0auniform\x20sampler2D\x20bump2Sampler;\x0auniform\x20sampler2D\x20bump3Sampler;\x0a#endif\x0a#include\x0a#include\x0a#include\x0a#include\x0a#ifdef\x20BUMP\x0a#extension\x20GL_OES_standard_derivatives\x20:\x20enable\x0amat3\x20cotangent_frame(vec3\x20normal,vec3\x20p,vec2\x20uv)\x0a{\x0avec3\x20dp1=dFdx(p);\x0avec3\x20dp2=dFdy(p);\x0avec2\x20duv1=dFdx(uv);\x0avec2\x20duv2=dFdy(uv);\x0avec3\x20dp2perp=cross(dp2,normal);\x0avec3\x20dp1perp=cross(normal,dp1);\x0avec3\x20tangent=dp2perp*duv1.x+dp1perp*duv2.x;\x0avec3\x20binormal=dp2perp*duv1.y+dp1perp*duv2.y;\x0afloat\x20invmax=inversesqrt(max(dot(tangent,tangent),dot(binormal,binormal)));\x0areturn\x20mat3(tangent*invmax,binormal*invmax,normal);\x0a}\x0avec3\x20perturbNormal(vec3\x20viewDir,vec3\x20mixColor)\x0a{\x0avec3\x20bump1Color=texture2D(bump1Sampler,vTextureUV*diffuse1Infos).xyz;\x0avec3\x20bump2Color=texture2D(bump2Sampler,vTextureUV*diffuse2Infos).xyz;\x0avec3\x20bump3Color=texture2D(bump3Sampler,vTextureUV*diffuse3Infos).xyz;\x0abump1Color.rgb*=mixColor.r;\x0abump2Color.rgb=mix(bump1Color.rgb,bump2Color.rgb,mixColor.g);\x0avec3\x20map=mix(bump2Color.rgb,bump3Color.rgb,mixColor.b);\x0amap=map*255./127.-128./127.;\x0amat3\x20TBN=cotangent_frame(vNormalW*vTextureInfos.y,-viewDir,vTextureUV);\x0areturn\x20normalize(TBN*map);\x0a}\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20baseColor=vec4(1.,1.,1.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0a#ifdef\x20SPECULARTERM\x0afloat\x20glossiness=vSpecularColor.a;\x0avec3\x20specularColor=vSpecularColor.rgb;\x0a#else\x0afloat\x20glossiness=0.;\x0a#endif\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0abaseColor=texture2D(textureSampler,vTextureUV);\x0a#if\x20defined(BUMP)\x20&&\x20defined(DIFFUSE)\x0anormalW=perturbNormal(viewDirectionW,baseColor.rgb);\x0a#endif\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include\x0abaseColor.rgb*=vTextureInfos.y;\x0avec4\x20diffuse1Color=texture2D(diffuse1Sampler,vTextureUV*diffuse1Infos);\x0avec4\x20diffuse2Color=texture2D(diffuse2Sampler,vTextureUV*diffuse2Infos);\x0avec4\x20diffuse3Color=texture2D(diffuse3Sampler,vTextureUV*diffuse3Infos);\x0adiffuse1Color.rgb*=baseColor.r;\x0adiffuse2Color.rgb=mix(diffuse1Color.rgb,diffuse2Color.rgb,baseColor.g);\x0abaseColor.rgb=mix(diffuse2Color.rgb,diffuse3Color.rgb,baseColor.b);\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0a#endif\x0a#include[0..maxSimultaneousLights]\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20finalSpecular=specularBase*specularColor;\x0a#else\x0avec3\x20finalSpecular=vec3(0.0);\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor*baseColor.rgb,0.0,1.0);\x0avec4\x20color=vec4(finalDiffuse+finalSpecular,alpha);\x0a#include\x0agl_FragColor=color;\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a';},0x136e8:(_0x4b75f7,_0x591306,_0x171fcd)=>{var _0x39b522=_0x171fcd(0x17a92);_0x171fcd(0x13f9a),_0x171fcd(0x12929),_0x171fcd(0x12bc6),_0x171fcd(0x13216),_0x171fcd(0x6a99),_0x171fcd(0xe6c7),_0x171fcd(0x15fb5),_0x171fcd(0x733d),_0x171fcd(0xb434),_0x171fcd(0xdcea),_0x171fcd(0x6efd),_0x171fcd(0x9871),_0x171fcd(0x6e75),_0x171fcd(0xedb9),_0x39b522['v']['ShadersStore']['terrainVertexShader']='precision\x20highp\x20float;attribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include\x0a#include\x0a#include\x0auniform\x20mat4\x20view;uniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vTextureUV;uniform\x20mat4\x20textureMatrix;uniform\x20vec2\x20vTextureInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include\x0a#include\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include\x0a#include\x0a#include\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);gl_Position=viewProjection*worldPos;vPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0aif\x20(vTextureInfos.x==0.)\x0a{vTextureUV=vec2(textureMatrix*vec4(uv,1.0,0.0));}\x0aelse\x0a{vTextureUV=vec2(textureMatrix*vec4(uv2,1.0,0.0));}\x0a#endif\x0a#include\x0a#include\x0a#include[0..maxSimultaneousLights]\x0a#include\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a';},0x109eb:(_0x245cf0,_0x2eb7a7,_0x2cc319)=>{var _0xe41dba=a7_0x1ed280,_0x36df4e=_0x2cc319(0x17a92);_0x2cc319(0x175b0),_0x2cc319(0xe6c7),_0x2cc319(0x15fb5),_0x2cc319(0x1f57),_0x2cc319(0x1f85),_0x2cc319(0xff1b),_0x2cc319(0x12a16),_0x2cc319(0x3328),_0x2cc319(0x6318),_0x2cc319(0xb0bc),_0x2cc319(0x10ef),_0x2cc319(0x17ef8),_0x36df4e['v'][_0xe41dba(0x6d9)]['triplanarPixelShader']='precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0a#ifdef\x20SPECULARTERM\x0auniform\x20vec4\x20vSpecularColor;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#ifdef\x20DIFFUSEX\x0avarying\x20vec2\x20vTextureUVX;\x0auniform\x20sampler2D\x20diffuseSamplerX;\x0a#ifdef\x20BUMPX\x0auniform\x20sampler2D\x20normalSamplerX;\x0a#endif\x0a#endif\x0a#ifdef\x20DIFFUSEY\x0avarying\x20vec2\x20vTextureUVY;\x0auniform\x20sampler2D\x20diffuseSamplerY;\x0a#ifdef\x20BUMPY\x0auniform\x20sampler2D\x20normalSamplerY;\x0a#endif\x0a#endif\x0a#ifdef\x20DIFFUSEZ\x0avarying\x20vec2\x20vTextureUVZ;\x0auniform\x20sampler2D\x20diffuseSamplerZ;\x0a#ifdef\x20BUMPZ\x0auniform\x20sampler2D\x20normalSamplerZ;\x0a#endif\x0a#endif\x0a#ifdef\x20NORMAL\x0avarying\x20mat3\x20tangentSpace;\x0a#endif\x0a#include\x0a#include\x0a#include\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20baseColor=vec4(0.,0.,0.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=tangentSpace[2];\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0avec4\x20baseNormal=vec4(0.0,0.0,0.0,1.0);\x0anormalW*=normalW;\x0a#ifdef\x20DIFFUSEX\x0abaseColor+=texture2D(diffuseSamplerX,vTextureUVX)*normalW.x;\x0a#ifdef\x20BUMPX\x0abaseNormal+=texture2D(normalSamplerX,vTextureUVX)*normalW.x;\x0a#endif\x0a#endif\x0a#ifdef\x20DIFFUSEY\x0abaseColor+=texture2D(diffuseSamplerY,vTextureUVY)*normalW.y;\x0a#ifdef\x20BUMPY\x0abaseNormal+=texture2D(normalSamplerY,vTextureUVY)*normalW.y;\x0a#endif\x0a#endif\x0a#ifdef\x20DIFFUSEZ\x0abaseColor+=texture2D(diffuseSamplerZ,vTextureUVZ)*normalW.z;\x0a#ifdef\x20BUMPZ\x0abaseNormal+=texture2D(normalSamplerZ,vTextureUVZ)*normalW.z;\x0a#endif\x0a#endif\x0a#ifdef\x20NORMAL\x0anormalW=normalize((2.0*baseNormal.xyz-1.0)*tangentSpace);\x0a#endif\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0a#ifdef\x20SPECULARTERM\x0afloat\x20glossiness=vSpecularColor.a;\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0avec3\x20specularColor=vSpecularColor.rgb;\x0a#else\x0afloat\x20glossiness=0.;\x0a#endif\x0a#include[0..maxSimultaneousLights]\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20finalSpecular=specularBase*specularColor;\x0a#else\x0avec3\x20finalSpecular=vec3(0.0);\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\x0avec4\x20color=vec4(finalDiffuse+finalSpecular,alpha);\x0a#include\x0agl_FragColor=color;\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a';},0x1444:(_0x46856a,_0xee2936,_0x1ee86b)=>{var _0x136fdd=a7_0x1ed280,_0x4a9fe3=_0x1ee86b(0x17a92);_0x1ee86b(0x13f9a),_0x1ee86b(0x12929),_0x1ee86b(0x12bc6),_0x1ee86b(0x13216),_0x1ee86b(0x6a99),_0x1ee86b(0xe6c7),_0x1ee86b(0x15fb5),_0x1ee86b(0x733d),_0x1ee86b(0xb434),_0x1ee86b(0xdcea),_0x1ee86b(0x6efd),_0x1ee86b(0x9871),_0x1ee86b(0x6e75),_0x1ee86b(0xedb9),_0x4a9fe3['v'][_0x136fdd(0x6d9)][_0x136fdd(0x29c)]='precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include\x0a#include\x0a#include\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSEX\x0avarying\x20vec2\x20vTextureUVX;\x0a#endif\x0a#ifdef\x20DIFFUSEY\x0avarying\x20vec2\x20vTextureUVY;\x0a#endif\x0a#ifdef\x20DIFFUSEZ\x0avarying\x20vec2\x20vTextureUVZ;\x0a#endif\x0auniform\x20float\x20tileSize;\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20mat3\x20tangentSpace;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include\x0a#include\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include\x0a#include\x0a#include\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0agl_Position=viewProjection*worldPos;\x0avPositionW=vec3(worldPos);\x0a#ifdef\x20DIFFUSEX\x0avTextureUVX=worldPos.zy/tileSize;\x0a#endif\x0a#ifdef\x20DIFFUSEY\x0avTextureUVY=worldPos.xz/tileSize;\x0a#endif\x0a#ifdef\x20DIFFUSEZ\x0avTextureUVZ=worldPos.xy/tileSize;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20xtan=vec3(0,0,1);\x0avec3\x20xbin=vec3(0,1,0);\x0avec3\x20ytan=vec3(1,0,0);\x0avec3\x20ybin=vec3(0,0,1);\x0avec3\x20ztan=vec3(1,0,0);\x0avec3\x20zbin=vec3(0,1,0);\x0avec3\x20normalizedNormal=normalize(normal);\x0anormalizedNormal*=normalizedNormal;\x0avec3\x20worldBinormal=normalize(xbin*normalizedNormal.x+ybin*normalizedNormal.y+zbin*normalizedNormal.z);\x0avec3\x20worldTangent=normalize(xtan*normalizedNormal.x+ytan*normalizedNormal.y+ztan*normalizedNormal.z);\x0aworldTangent=(world*vec4(worldTangent,0.0)).xyz;\x0aworldBinormal=(world*vec4(worldBinormal,0.0)).xyz;\x0avec3\x20worldNormal=(world*vec4(normalize(normal),0.0)).xyz;\x0atangentSpace[0]=worldTangent;\x0atangentSpace[1]=worldBinormal;\x0atangentSpace[2]=worldNormal;\x0a#endif\x0a#include\x0a#include\x0a#include[0..maxSimultaneousLights]\x0a#include\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a';},0x17ba7:(_0xbd914,_0x2561bc,_0x18db23)=>{var _0x5af66c=a7_0x1ed280,_0xae9214=_0x18db23(0x17a92);_0x18db23(0x175b0),_0x18db23(0x16c11),_0x18db23(0x119a9),_0x18db23(0xe6c7),_0x18db23(0x15fb5),_0x18db23(0x1f57),_0x18db23(0x1f85),_0x18db23(0xff1b),_0x18db23(0x17bd9),_0x18db23(0x12a16),_0x18db23(0x3328),_0x18db23(0xb0bc),_0x18db23(0x1445f),_0x18db23(0x10ef),_0xae9214['v'][_0x5af66c(0x6d9)][_0x5af66c(0x810)]='#ifdef\x20LOGARITHMICDEPTH\x0a#extension\x20GL_EXT_frag_depth\x20:\x20enable\x0a#endif\x0aprecision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0a#ifdef\x20SPECULARTERM\x0auniform\x20vec4\x20vSpecularColor;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include\x0a#include\x0a#include\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include\x0a#include\x0a#ifdef\x20BUMP\x0avarying\x20vec2\x20vNormalUV;\x0a#ifdef\x20BUMPSUPERIMPOSE\x0avarying\x20vec2\x20vNormalUV2;\x0a#endif\x0auniform\x20sampler2D\x20normalSampler;\x0auniform\x20vec2\x20vNormalInfos;\x0a#endif\x0auniform\x20sampler2D\x20refractionSampler;\x0auniform\x20sampler2D\x20reflectionSampler;\x0aconst\x20float\x20LOG2=1.442695;\x0auniform\x20vec3\x20cameraPosition;\x0auniform\x20vec4\x20waterColor;\x0auniform\x20float\x20colorBlendFactor;\x0auniform\x20vec4\x20waterColor2;\x0auniform\x20float\x20colorBlendFactor2;\x0auniform\x20float\x20bumpHeight;\x0auniform\x20float\x20time;\x0avarying\x20vec3\x20vRefractionMapTexCoord;\x0avarying\x20vec3\x20vReflectionMapTexCoord;\x0avarying\x20vec3\x20vPosition;\x0a#include\x0a#include\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20baseColor=vec4(1.,1.,1.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20BUMP\x0a#ifdef\x20BUMPSUPERIMPOSE\x0abaseColor=0.6*texture2D(normalSampler,vNormalUV)+0.4*texture2D(normalSampler,vec2(vNormalUV2.x,vNormalUV2.y));\x0a#else\x0abaseColor=texture2D(normalSampler,vNormalUV);\x0a#endif\x0avec3\x20bumpColor=baseColor.rgb;\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0abaseColor.rgb*=vNormalInfos.y;\x0a#else\x0avec3\x20bumpColor=vec3(1.0);\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec2\x20perturbation=bumpHeight*(baseColor.rg-0.5);\x0a#ifdef\x20BUMPAFFECTSREFLECTION\x0avec3\x20normalW=normalize(vNormalW+vec3(perturbation.x*8.0,0.0,perturbation.y*8.0));\x0aif\x20(normalW.y<0.0)\x20{\x0anormalW.y=-normalW.y;\x0a}\x0a#else\x0avec3\x20normalW=normalize(vNormalW);\x0a#endif\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0avec2\x20perturbation=bumpHeight*(vec2(1.0,1.0)-0.5);\x0a#endif\x0a#ifdef\x20FRESNELSEPARATE\x0a#ifdef\x20REFLECTION\x0avec2\x20projectedRefractionTexCoords=clamp(vRefractionMapTexCoord.xy/vRefractionMapTexCoord.z+perturbation*0.5,0.0,1.0);\x0avec4\x20refractiveColor=texture2D(refractionSampler,projectedRefractionTexCoords);\x0a#ifdef\x20IS_REFRACTION_LINEAR\x0arefractiveColor.rgb=toGammaSpace(refractiveColor.rgb);\x0a#endif\x0avec2\x20projectedReflectionTexCoords=clamp(vec2(\x0avReflectionMapTexCoord.x/vReflectionMapTexCoord.z+perturbation.x*0.3,\x0avReflectionMapTexCoord.y/vReflectionMapTexCoord.z+perturbation.y\x0a),0.0,1.0);\x0avec4\x20reflectiveColor=texture2D(reflectionSampler,projectedReflectionTexCoords);\x0a#ifdef\x20IS_REFLECTION_LINEAR\x0areflectiveColor.rgb=toGammaSpace(reflectiveColor.rgb);\x0a#endif\x0avec3\x20upVector=vec3(0.0,1.0,0.0);\x0afloat\x20fresnelTerm=clamp(abs(pow(dot(viewDirectionW,upVector),3.0)),0.05,0.65);\x0afloat\x20IfresnelTerm=1.0-fresnelTerm;\x0arefractiveColor=colorBlendFactor*waterColor+(1.0-colorBlendFactor)*refractiveColor;\x0areflectiveColor=IfresnelTerm*colorBlendFactor2*waterColor+(1.0-colorBlendFactor2*IfresnelTerm)*reflectiveColor;\x0avec4\x20combinedColor=refractiveColor*fresnelTerm+reflectiveColor*IfresnelTerm;\x0abaseColor=combinedColor;\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0a#ifdef\x20SPECULARTERM\x0afloat\x20glossiness=vSpecularColor.a;\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0avec3\x20specularColor=vSpecularColor.rgb;\x0a#else\x0afloat\x20glossiness=0.;\x0a#endif\x0a#include[0..maxSimultaneousLights]\x0avec3\x20finalDiffuse=clamp(baseColor.rgb,0.0,1.0);\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20finalSpecular=specularBase*specularColor;\x0a#else\x0avec3\x20finalSpecular=vec3(0.0);\x0a#endif\x0a#else\x20\x0a#ifdef\x20REFLECTION\x0avec2\x20projectedRefractionTexCoords=clamp(vRefractionMapTexCoord.xy/vRefractionMapTexCoord.z+perturbation,0.0,1.0);\x0avec4\x20refractiveColor=texture2D(refractionSampler,projectedRefractionTexCoords);\x0a#ifdef\x20IS_REFRACTION_LINEAR\x0arefractiveColor.rgb=toGammaSpace(refractiveColor.rgb);\x0a#endif\x0avec2\x20projectedReflectionTexCoords=clamp(vReflectionMapTexCoord.xy/vReflectionMapTexCoord.z+perturbation,0.0,1.0);\x0avec4\x20reflectiveColor=texture2D(reflectionSampler,projectedReflectionTexCoords);\x0a#ifdef\x20IS_REFLECTION_LINEAR\x0areflectiveColor.rgb=toGammaSpace(reflectiveColor.rgb);\x0a#endif\x0avec3\x20upVector=vec3(0.0,1.0,0.0);\x0afloat\x20fresnelTerm=max(dot(viewDirectionW,upVector),0.0);\x0avec4\x20combinedColor=refractiveColor*fresnelTerm+reflectiveColor*(1.0-fresnelTerm);\x0abaseColor=colorBlendFactor*waterColor+(1.0-colorBlendFactor)*combinedColor;\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0a#ifdef\x20SPECULARTERM\x0afloat\x20glossiness=vSpecularColor.a;\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0avec3\x20specularColor=vSpecularColor.rgb;\x0a#else\x0afloat\x20glossiness=0.;\x0a#endif\x0a#include[0..maxSimultaneousLights]\x0avec3\x20finalDiffuse=clamp(baseColor.rgb,0.0,1.0);\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20finalSpecular=specularBase*specularColor;\x0a#else\x0avec3\x20finalSpecular=vec3(0.0);\x0a#endif\x0a#endif\x0avec4\x20color=vec4(finalDiffuse+finalSpecular,alpha);\x0a#include\x0a#include\x0a#ifdef\x20IMAGEPROCESSINGPOSTPROCESS\x0acolor.rgb=toLinearSpace(color.rgb);\x0a#elif\x20defined(IMAGEPROCESSING)\x0acolor.rgb=toLinearSpace(color.rgb);\x0acolor=applyImageProcessing(color);\x0a#endif\x0agl_FragColor=color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a';},0xf5bf:(_0x4b333d,_0x1eeecb,_0x58a113)=>{var _0x35b1de=a7_0x1ed280,_0x42991a=_0x58a113(0x17a92);_0x58a113(0x13f9a),_0x58a113(0x12929),_0x58a113(0x12bc6),_0x58a113(0x13216),_0x58a113(0x6a99),_0x58a113(0xe6c7),_0x58a113(0x15fb5),_0x58a113(0x17bd9),_0x58a113(0x733d),_0x58a113(0xb434),_0x58a113(0xdcea),_0x58a113(0x6efd),_0x58a113(0x9871),_0x58a113(0x6e75),_0x58a113(0xedb9),_0x58a113(0x13da6),_0x42991a['v']['ShadersStore'][_0x35b1de(0x539)]=_0x35b1de(0xa9a);},0xd482:(_0x58aac9,_0xa07cec,_0x4eee55)=>{var _0x1ec559=a7_0x1ed280;_0x4eee55['d'](_0xa07cec,{'W':()=>_0x1ece44});var _0xa07cec=_0x4eee55(0x15a52),_0x33db01=_0x4eee55(0x16ad5),_0x48cd35=_0x4eee55(0xe779),_0x2fe371=_0x4eee55(0xe456),_0x2cd34d=_0x4eee55(0x11c74),_0x4c1748=_0x4eee55(0x13cd1),_0x5b1566=_0x4eee55(0x77a5),_0x39e860=(_0x4eee55(0x11645),_0x4eee55(0x2dc8)),_0x3ef4ec=_0x4eee55(0xbac7),_0xd1daa9=_0x4eee55(0xf8c1),_0x4eee55=_0x4eee55(0x159af);class _0x1ece44 extends _0xa07cec['k']{constructor(_0x39223c){var _0x2826c7=a7_0x3908;super(_0x39223c,_0x33db01['u'][_0x2826c7(0x1c5)]),this[_0x2826c7(0x713)]=!0x1;}get[_0x1ec559(0x7a3)](){var _0x3175d7=_0x1ec559;return this[_0x3175d7(0xad7)];}set[_0x1ec559(0x7a3)](_0x34b9dc){var _0x5f3b92=_0x1ec559,_0x39149b;if(this['_texture']!==_0x34b9dc){const _0x3cbbba=null!=(_0x39149b=null==_0x34b9dc?void 0x0:_0x34b9dc[_0x5f3b92(0x87c)]())?_0x39149b:_0xd1daa9['l'][_0x5f3b92(0x84c)];!_0x34b9dc&&_0x3cbbba&&_0x3cbbba[_0x5f3b92(0xc82)](_0x5b1566['g'][_0x5f3b92(0x291)],_0x578e1b=>_0x578e1b[_0x5f3b92(0xbcb)](this['_texture'])),(this[_0x5f3b92(0xad7)]=_0x34b9dc)&&_0x3cbbba&&_0x3cbbba['markAllMaterialsAsDirty'](_0x5b1566['g'][_0x5f3b92(0x291)],_0x1c2e7b=>_0x1c2e7b['hasTexture'](_0x34b9dc));}}static[_0x1ec559(0x8dd)](_0x40219c,_0x3f2b80){const _0x23dad2=_0x40219c;return _0x23dad2['_onGenerateOnlyFragmentCodeChanged']();}['_onGenerateOnlyFragmentCodeChanged'](){return this['_setTarget'](),!0x0;}[_0x1ec559(0x612)](){var _0x5ccf27=_0x1ec559;this[_0x5ccf27(0x7c5)](this[_0x5ccf27(0x713)]?_0x33db01['u'][_0x5ccf27(0xa2e)]:_0x33db01['u'][_0x5ccf27(0x1c5)]);}[_0x1ec559(0x979)](){return'ReflectionTextureBaseBlock';}['_getTexture'](){var _0x3776ec=_0x1ec559;return this[_0x3776ec(0x7a3)];}[_0x1ec559(0x46c)](_0x58ebb1){var _0x3b7af1=_0x1ec559;if(!this[_0x3b7af1(0x9e3)][_0x3b7af1(0x39b)]){let _0xa3993b=_0x58ebb1[_0x3b7af1(0x2ff)](_0x3f2cfb=>_0x3f2cfb[_0x3b7af1(0xb41)]&&_0x3b7af1(0x9e3)===_0x3f2cfb[_0x3b7af1(0xa21)]);_0xa3993b||(_0xa3993b=new _0x2cd34d['S']('position'))['setAsAttribute'](),_0xa3993b[_0x3b7af1(0x13c)][_0x3b7af1(0x44e)](this[_0x3b7af1(0x9e3)]);}if(!this[_0x3b7af1(0x3e9)][_0x3b7af1(0x39b)]){let _0x1eb9ea=_0x58ebb1[_0x3b7af1(0x2ff)](_0x427b7e=>_0x427b7e['systemValue']===_0x4c1748['$']['World']);_0x1eb9ea||(_0x1eb9ea=new _0x2cd34d['S'](_0x3b7af1(0x3e9)))[_0x3b7af1(0x2ab)](_0x4c1748['$'][_0x3b7af1(0x303)]),_0x1eb9ea[_0x3b7af1(0x13c)][_0x3b7af1(0x44e)](this['world']);}if(this['view']&&!this[_0x3b7af1(0x557)][_0x3b7af1(0x39b)]){let _0x559321=_0x58ebb1['getInputBlockByPredicate'](_0x4609c6=>_0x4609c6[_0x3b7af1(0x8bd)]===_0x4c1748['$'][_0x3b7af1(0x73e)]);_0x559321||(_0x559321=new _0x2cd34d['S'](_0x3b7af1(0x557)))[_0x3b7af1(0x2ab)](_0x4c1748['$'][_0x3b7af1(0x73e)]),_0x559321[_0x3b7af1(0x13c)][_0x3b7af1(0x44e)](this['view']);}}[_0x1ec559(0x30c)](_0x5b2aa4,_0x5d65ae,_0x47ad0d){var _0x3895ed=_0x1ec559,_0x1c7b4d;_0x47ad0d[_0x3895ed(0x294)]&&(_0x1c7b4d=this[_0x3895ed(0x9d0)]())&&_0x1c7b4d['getTextureMatrix']&&(_0x47ad0d[_0x3895ed(0xaf5)](this['_define3DName'],_0x1c7b4d[_0x3895ed(0xb15)],!0x0),_0x47ad0d[_0x3895ed(0xaf5)](this[_0x3895ed(0x59a)],!!_0x1c7b4d[_0x3895ed(0x892)],!0x0),_0x47ad0d['setValue'](this['_defineExplicitName'],_0x1c7b4d[_0x3895ed(0x903)]===_0x5b1566['g'][_0x3895ed(0x5c4)],!0x0),_0x47ad0d[_0x3895ed(0xaf5)](this[_0x3895ed(0x2de)],_0x1c7b4d['coordinatesMode']===_0x5b1566['g'][_0x3895ed(0x84d)],!0x0),_0x47ad0d[_0x3895ed(0xaf5)](this['_defineCubicName'],_0x1c7b4d[_0x3895ed(0x903)]===_0x5b1566['g'][_0x3895ed(0x6bf)]||_0x1c7b4d[_0x3895ed(0x903)]===_0x5b1566['g'][_0x3895ed(0x460)],!0x0),_0x47ad0d[_0x3895ed(0xaf5)](_0x3895ed(0x7e2),_0x1c7b4d[_0x3895ed(0x903)]===_0x5b1566['g'][_0x3895ed(0x460)],!0x0),_0x47ad0d['setValue'](this[_0x3895ed(0xa6b)],_0x1c7b4d['coordinatesMode']===_0x5b1566['g'][_0x3895ed(0x93f)],!0x0),_0x47ad0d[_0x3895ed(0xaf5)](this[_0x3895ed(0x1d0)],_0x1c7b4d['coordinatesMode']===_0x5b1566['g']['TEXTURE_PLANAR_MODE'],!0x0),_0x47ad0d[_0x3895ed(0xaf5)](this['_defineProjectionName'],_0x1c7b4d['coordinatesMode']===_0x5b1566['g']['TEXTURE_PROJECTION_MODE'],!0x0),_0x47ad0d[_0x3895ed(0xaf5)](this[_0x3895ed(0x9c7)],_0x1c7b4d['coordinatesMode']===_0x5b1566['g'][_0x3895ed(0x74b)],!0x0),_0x47ad0d[_0x3895ed(0xaf5)](this['_defineEquirectangularFixedName'],_0x1c7b4d[_0x3895ed(0x903)]===_0x5b1566['g'][_0x3895ed(0xb76)],!0x0),_0x47ad0d[_0x3895ed(0xaf5)](this[_0x3895ed(0x7bb)],_0x1c7b4d[_0x3895ed(0x903)]===_0x5b1566['g'][_0x3895ed(0x39c)],!0x0));}[_0x1ec559(0xae3)](){var _0x3339ee=_0x1ec559;const _0x7a10c=this[_0x3339ee(0x9d0)]();return!(_0x7a10c&&!_0x7a10c['isReadyOrNotBlocking']());}[_0x1ec559(0x5f4)](_0x4a9f0e,_0x2bacb6,_0x5334ba){var _0x4358e4=_0x1ec559;const _0x56617d=this[_0x4358e4(0x9d0)]();_0x5334ba&&_0x56617d&&(_0x4a9f0e['setMatrix'](this[_0x4358e4(0x7ec)],_0x56617d[_0x4358e4(0x7ba)]()),_0x56617d[_0x4358e4(0xb15)]?_0x4a9f0e['setTexture'](this['_cubeSamplerName'],_0x56617d):_0x4a9f0e[_0x4358e4(0xc00)](this['_2DSamplerName'],_0x56617d),_0x56617d['boundingBoxSize']&&(_0x5334ba=_0x56617d,_0x4a9f0e['setVector3'](this['_reflectionPositionName'],_0x5334ba[_0x4358e4(0x8e8)]),_0x4a9f0e['setVector3'](this[_0x4358e4(0x309)],_0x5334ba[_0x4358e4(0x892)])));}['handleVertexSide'](_0x5bfbec){var _0x1c934b=_0x1ec559;if(this[_0x1c934b(0x713)]&&_0x5bfbec[_0x1c934b(0x2cd)]===_0x33db01['u'][_0x1c934b(0x618)])return'';this['_define3DName']=_0x5bfbec[_0x1c934b(0x8d0)](_0x1c934b(0x9d7)),this[_0x1c934b(0x23b)]=_0x5bfbec[_0x1c934b(0x8d0)](_0x1c934b(0x417)),this[_0x1c934b(0xa6b)]=_0x5bfbec['_getFreeDefineName'](_0x1c934b(0x567)),this[_0x1c934b(0x1d0)]=_0x5bfbec[_0x1c934b(0x8d0)](_0x1c934b(0x1df)),this[_0x1c934b(0x346)]=_0x5bfbec[_0x1c934b(0x8d0)](_0x1c934b(0x931)),this[_0x1c934b(0x44a)]=_0x5bfbec[_0x1c934b(0x8d0)](_0x1c934b(0xa7c)),this[_0x1c934b(0x9c7)]=_0x5bfbec[_0x1c934b(0x8d0)]('REFLECTIONMAP_EQUIRECTANGULAR'),this['_defineLocalCubicName']=_0x5bfbec[_0x1c934b(0x8d0)](_0x1c934b(0x362)),this['_defineMirroredEquirectangularFixedName']=_0x5bfbec[_0x1c934b(0x8d0)](_0x1c934b(0x49a)),this[_0x1c934b(0x254)]=_0x5bfbec[_0x1c934b(0x8d0)](_0x1c934b(0x692)),this[_0x1c934b(0x2de)]=_0x5bfbec['_getFreeDefineName'](_0x1c934b(0xbdf)),this[_0x1c934b(0x320)]=_0x5bfbec[_0x1c934b(0x8d0)](_0x1c934b(0x3ca)),this[_0x1c934b(0x7ec)]=_0x5bfbec[_0x1c934b(0x25e)]('reflectionMatrix'),_0x5bfbec['_emitUniformFromString'](this[_0x1c934b(0x7ec)],'mat4');let _0x5e4f94='';this[_0x1c934b(0x9fb)]=_0x5bfbec[_0x1c934b(0x25e)](_0x1c934b(0xa4e));var _0x2ec815=this[_0x1c934b(0x713)]?this[_0x1c934b(0x9fb)]:'v_'+this[_0x1c934b(0xa4e)][_0x1c934b(0x2cb)];return(this[_0x1c934b(0x713)]||_0x5bfbec[_0x1c934b(0x32d)](_0x2ec815,_0x1c934b(0xb75)))&&(_0x5e4f94+=(this[_0x1c934b(0x713)]?_0x1c934b(0x246):'')+_0x2ec815+(_0x1c934b(0x216)+this[_0x1c934b(0xa4e)]['associatedVariableName']+_0x1c934b(0x383))),this[_0x1c934b(0x69e)]=_0x5bfbec[_0x1c934b(0x25e)](_0x1c934b(0x5c7)),this['_directionWName']=_0x5bfbec['_getFreeVariableName'](_0x1c934b(0x4fe)),(this[_0x1c934b(0x713)]||_0x5bfbec[_0x1c934b(0x32d)](this['_positionUVWName'],_0x1c934b(0x1f6),this[_0x1c934b(0x2de)]))&&(_0x5e4f94=(_0x5e4f94+=_0x1c934b(0x8d8)+this[_0x1c934b(0x2de)]+'\x0d\x0a')+(this[_0x1c934b(0x713)]?_0x1c934b(0x393):'')+this['_positionUVWName']+(_0x1c934b(0x216)+this[_0x1c934b(0x9e3)]['associatedVariableName']+'.xyz;\x0d\x0a')+'#endif\x0d\x0a'),_0x5e4f94=this[_0x1c934b(0x713)]||_0x5bfbec[_0x1c934b(0x32d)](this['_directionWName'],_0x1c934b(0x1f6),'defined('+this[_0x1c934b(0x254)]+')\x20||\x20defined('+this[_0x1c934b(0x7bb)]+')')?(_0x5e4f94+=_0x1c934b(0x8d1)+this[_0x1c934b(0x254)]+_0x1c934b(0x31a)+this[_0x1c934b(0x7bb)]+_0x1c934b(0xc4c))+(this['generateOnlyFragmentCode']?_0x1c934b(0x393):'')+this[_0x1c934b(0x74f)]+(_0x1c934b(0xb99)+this[_0x1c934b(0x3e9)][_0x1c934b(0x2cb)]+_0x1c934b(0x56a)+this[_0x1c934b(0x9e3)][_0x1c934b(0x2cb)]+'.xyz,\x200.0)));\x0d\x0a')+'#endif\x0d\x0a':_0x5e4f94;}[_0x1ec559(0x7d2)](_0x563a41){var _0x4ec02e=_0x1ec559;_0x563a41['sharedData']['blockingBlocks'][_0x4ec02e(0x6fe)](this),_0x563a41[_0x4ec02e(0x7fc)][_0x4ec02e(0xc9c)][_0x4ec02e(0x6fe)](this),this['_cubeSamplerName']=_0x563a41[_0x4ec02e(0x25e)](this[_0x4ec02e(0xa21)]+'CubeSampler'),_0x563a41[_0x4ec02e(0x882)][_0x4ec02e(0x6fe)](this[_0x4ec02e(0xb19)]),this[_0x4ec02e(0x86c)]=_0x563a41[_0x4ec02e(0x25e)](this['name']+_0x4ec02e(0xd11)),_0x563a41[_0x4ec02e(0x882)][_0x4ec02e(0x6fe)](this['_2DSamplerName']),_0x563a41[_0x4ec02e(0x545)]+='#ifdef\x20'+this[_0x4ec02e(0x35f)]+'\x0d\x0a',_0x563a41[_0x4ec02e(0x545)]+='uniform\x20samplerCube\x20'+this[_0x4ec02e(0xb19)]+';\x0d\x0a',_0x563a41[_0x4ec02e(0x545)]+=_0x4ec02e(0x322),_0x563a41[_0x4ec02e(0x545)]+=_0x4ec02e(0x185)+this[_0x4ec02e(0x86c)]+_0x4ec02e(0x383),_0x563a41[_0x4ec02e(0x545)]+=_0x4ec02e(0xa5f),_0x563a41[_0x4ec02e(0x7fc)][_0x4ec02e(0x225)][_0x4ec02e(0x6fe)](this),_0x563a41[_0x4ec02e(0x7fc)]['bindableBlocks'][_0x4ec02e(0x6fe)](this);var _0x3395d5='//'+this[_0x4ec02e(0xa21)];_0x563a41[_0x4ec02e(0x887)](_0x4ec02e(0x479),_0x4ec02e(0x599),''),_0x563a41[_0x4ec02e(0x822)](_0x4ec02e(0xcfc),_0x3395d5),_0x563a41[_0x4ec02e(0x822)](_0x4ec02e(0x8ea),_0x3395d5,{'replaceStrings':[{'search':/vec3 computeReflectionCoords/g,'replace':'void\x20DUMMYFUNC'}]}),this[_0x4ec02e(0xace)]=_0x563a41[_0x4ec02e(0x25e)](_0x4ec02e(0x209)),this[_0x4ec02e(0xb83)]=_0x563a41[_0x4ec02e(0x25e)](_0x4ec02e(0x382)),this[_0x4ec02e(0x253)]=_0x563a41[_0x4ec02e(0x25e)](_0x4ec02e(0x5f0)),this[_0x4ec02e(0xd29)]=_0x563a41[_0x4ec02e(0x25e)]('vReflectionPosition'),_0x563a41[_0x4ec02e(0x8a1)](this[_0x4ec02e(0xd29)],_0x4ec02e(0x1f6)),this[_0x4ec02e(0x309)]=_0x563a41[_0x4ec02e(0x25e)](_0x4ec02e(0x4ff)),_0x563a41[_0x4ec02e(0x8a1)](this[_0x4ec02e(0x309)],_0x4ec02e(0x1f6));}['handleFragmentSideCodeReflectionCoords'](_0x2d27e1,_0x2603fb,_0x2bbaa0=!0x1,_0x1eabdd=!0x1){var _0x424cd3=_0x1ec559;_0x2603fb=_0x2603fb||(this[_0x424cd3(0x713)]?this['_worldPositionNameInFragmentOnlyMode']:'v_'+this[_0x424cd3(0xa4e)][_0x424cd3(0x2cb)]);var _0x4bbaeb=this['_reflectionMatrixName'],_0x4041c9=_0x424cd3(0x49d)+this[_0x424cd3(0x74f)]+')',_0x32fcc6=''+this[_0x424cd3(0x69e)],_0x1bf420=''+this[_0x424cd3(0x650)]['associatedVariableName'],_0xcbced1=''+this[_0x424cd3(0x557)][_0x424cd3(0x2cb)];let _0x35bdb5=_0x424cd3(0xa43)+this[_0x424cd3(0x7bb)]+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20'+this[_0x424cd3(0xb83)]+_0x424cd3(0xcea)+_0x2603fb+',\x20'+(_0x2d27e1+=_0x424cd3(0x7dc))+',\x20'+_0x4041c9+_0x424cd3(0x50a)+this['_defineEquirectangularFixedName']+_0x424cd3(0x4e5)+this[_0x424cd3(0xb83)]+_0x424cd3(0xca6)+_0x2603fb+',\x20'+_0x2d27e1+',\x20'+_0x4041c9+');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20'+this[_0x424cd3(0x9c7)]+_0x424cd3(0x4e5)+this[_0x424cd3(0xb83)]+'\x20=\x20computeEquirectangularCoords('+_0x2603fb+',\x20'+_0x2d27e1+',\x20'+_0x1bf420+_0x424cd3(0x481)+_0x4bbaeb+');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20'+this[_0x424cd3(0xa6b)]+_0x424cd3(0x4e5)+this[_0x424cd3(0xb83)]+'\x20=\x20computeSphericalCoords('+_0x2603fb+',\x20'+_0x2d27e1+',\x20'+_0xcbced1+',\x20'+_0x4bbaeb+');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20'+this[_0x424cd3(0x1d0)]+_0x424cd3(0x4e5)+this[_0x424cd3(0xb83)]+'\x20=\x20computePlanarCoords('+_0x2603fb+',\x20'+_0x2d27e1+',\x20'+_0x1bf420+'.xyz,\x20'+_0x4bbaeb+_0x424cd3(0x50a)+this[_0x424cd3(0x23b)]+_0x424cd3(0x336)+this[_0x424cd3(0x59a)]+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20'+this[_0x424cd3(0xb83)]+'\x20=\x20computeCubicLocalCoords('+_0x2603fb+',\x20'+_0x2d27e1+',\x20'+_0x1bf420+_0x424cd3(0x481)+_0x4bbaeb+',\x20'+this['_reflectionSizeName']+',\x20'+this[_0x424cd3(0xd29)]+');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20'+this[_0x424cd3(0xb83)]+_0x424cd3(0x55c)+_0x2603fb+',\x20'+_0x2d27e1+',\x20'+_0x1bf420+_0x424cd3(0x481)+_0x4bbaeb+_0x424cd3(0x1ee)+this[_0x424cd3(0x346)]+_0x424cd3(0x4e5)+this[_0x424cd3(0xb83)]+_0x424cd3(0x214)+_0x2603fb+',\x20'+_0xcbced1+',\x20'+_0x4bbaeb+_0x424cd3(0x50a)+this['_defineSkyboxName']+_0x424cd3(0x4e5)+this[_0x424cd3(0xb83)]+'\x20=\x20computeSkyBoxCoords('+_0x32fcc6+',\x20'+_0x4bbaeb+_0x424cd3(0x50a)+this[_0x424cd3(0x44a)]+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20'+this['_reflectionVectorName']+_0x424cd3(0xca0);return _0x1eabdd||(_0x35bdb5+=_0x424cd3(0x8d8)+this[_0x424cd3(0x320)]+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+this[_0x424cd3(0xb83)]+_0x424cd3(0x50b)),_0x2bbaa0||(_0x35bdb5+='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20'+this[_0x424cd3(0x35f)]+_0x424cd3(0x998)+this[_0x424cd3(0x253)]+_0x424cd3(0x216)+this[_0x424cd3(0xb83)]+_0x424cd3(0xab2)+this['_reflectionCoordsName']+_0x424cd3(0x216)+this[_0x424cd3(0xb83)]+'.xy;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20'+this[_0x424cd3(0x346)]+_0x424cd3(0x9ec)+this[_0x424cd3(0x253)]+_0x424cd3(0x948)+this[_0x424cd3(0xb83)]+_0x424cd3(0x4cf)+this['_reflectionCoordsName']+_0x424cd3(0x35e)+this['_reflectionCoordsName']+_0x424cd3(0xa23)),_0x35bdb5;}[_0x1ec559(0x8d5)](_0x1b248f,_0x4249b6=_0x1ec559(0x345)){var _0x2a5b43=_0x1ec559,_0x2ba192=_0x2a5b43(0xa93)+(0x0===_0x4249b6[_0x2a5b43(0x78d)]?'4':_0x4249b6[_0x2a5b43(0x78d)]-0x1)+('\x20'+this['_reflectionColorName']+_0x2a5b43(0x8c4)+this[_0x2a5b43(0x35f)]+'\x0d\x0a');return(_0x2ba192=_0x2ba192+(_0x1b248f?this[_0x2a5b43(0xace)]+_0x2a5b43(0x1ad)+this[_0x2a5b43(0xb19)]+',\x20'+this[_0x2a5b43(0xb83)]+',\x20'+_0x1b248f+')'+_0x4249b6+_0x2a5b43(0x383):this[_0x2a5b43(0xace)]+_0x2a5b43(0xafe)+this[_0x2a5b43(0xb19)]+',\x20'+this[_0x2a5b43(0xb83)]+')'+_0x4249b6+_0x2a5b43(0x383))+_0x2a5b43(0x30e))+(_0x1b248f?this[_0x2a5b43(0xace)]+'\x20=\x20texture2DLodEXT('+this[_0x2a5b43(0x86c)]+',\x20'+this[_0x2a5b43(0x253)]+',\x20'+_0x1b248f+')'+_0x4249b6+_0x2a5b43(0x383):this[_0x2a5b43(0xace)]+'\x20=\x20texture2D('+this[_0x2a5b43(0x86c)]+',\x20'+this[_0x2a5b43(0x253)]+')'+_0x4249b6+_0x2a5b43(0x383))+_0x2a5b43(0xa5f);}[_0x1ec559(0x6ed)](_0x1f62c6,_0x4971e1){var _0x4e2c79=_0x1ec559;let _0x296296='';if(_0x1f62c6['target']===_0x33db01['u'][_0x4e2c79(0xa2e)]){for(const _0x13f635 of this[_0x4e2c79(0xada)])_0x13f635['hasEndpoints']&&(_0x296296+=this[_0x4e2c79(0x280)](_0x13f635,_0x1f62c6)+_0x4e2c79(0x216)+_0x4971e1+'.'+_0x13f635[_0x4e2c79(0xa21)]+_0x4e2c79(0x383));}return _0x296296;}[_0x1ec559(0xb49)](_0x39ac03){var _0x3ba687=_0x1ec559;return super[_0x3ba687(0xb49)](_0x39ac03),this;}[_0x1ec559(0xbd2)](){var _0x241e81=_0x1ec559;let _0x40e335=super[_0x241e81(0xbd2)]();return this['texture']?(this[_0x241e81(0x7a3)][_0x241e81(0xb15)]?(_0x1f70da=this[_0x241e81(0x7a3)]['forcedExtension'],_0x40e335+=this[_0x241e81(0x3b8)]+'.texture\x20=\x20new\x20BABYLON.CubeTexture(\x22'+this[_0x241e81(0x7a3)][_0x241e81(0xa21)]+_0x241e81(0x52c)+this[_0x241e81(0x7a3)]['noMipmap']+',\x20null,\x20undefined,\x20undefined,\x20undefined,\x20'+this[_0x241e81(0x7a3)][_0x241e81(0x6ab)]+',\x20'+(_0x1f70da?'\x22'+_0x1f70da+'\x22':'null')+_0x241e81(0x287)):_0x40e335+=this[_0x241e81(0x3b8)]+'.texture\x20=\x20new\x20BABYLON.Texture(\x22'+this[_0x241e81(0x7a3)][_0x241e81(0xa21)]+_0x241e81(0xad5),_0x40e335+=this['_codeVariableName']+_0x241e81(0x9b1)+this[_0x241e81(0x7a3)][_0x241e81(0x903)]+_0x241e81(0x383)):_0x40e335;var _0x1f70da;}[_0x1ec559(0x7f7)](){var _0x4ed4f0=_0x1ec559;const _0x10098f=super['serialize']();return this[_0x4ed4f0(0x7a3)]&&!this[_0x4ed4f0(0x7a3)]['isRenderTarget']&&(_0x10098f[_0x4ed4f0(0x7a3)]=this['texture']['serialize']()),_0x10098f[_0x4ed4f0(0x713)]=this[_0x4ed4f0(0x713)],_0x10098f;}[_0x1ec559(0xcbe)](_0x458117,_0xc9b81e,_0x265122){var _0x5367fe=_0x1ec559;super[_0x5367fe(0xcbe)](_0x458117,_0xc9b81e,_0x265122),_0x458117[_0x5367fe(0x7a3)]&&!_0x48cd35['O'][_0x5367fe(0x4c5)]&&(_0x265122=0x0===_0x458117['texture'][_0x5367fe(0xbd3)][_0x5367fe(0x444)](_0x5367fe(0x468))?'':_0x265122,_0x458117['texture'][_0x5367fe(0xb15)]?this['texture']=_0x39e860['B'][_0x5367fe(0xce0)](_0x458117[_0x5367fe(0x7a3)],_0xc9b81e,_0x265122):this['texture']=_0x3ef4ec['x'][_0x5367fe(0xce0)](_0x458117[_0x5367fe(0x7a3)],_0xc9b81e,_0x265122)),this[_0x5367fe(0x713)]=_0x458117[_0x5367fe(0x713)],this[_0x5367fe(0x612)]();}}(function(_0x46a2d4,_0x3652f4,_0x4f641a,_0x5d51e4){var _0x2590ca=_0x1ec559,_0x3d48d4,_0x5c1b3a=arguments['length'],_0x209303=_0x5c1b3a<0x3?_0x3652f4:null===_0x5d51e4?_0x5d51e4=Object[_0x2590ca(0x4b7)](_0x3652f4,_0x4f641a):_0x5d51e4;if('object'==typeof Reflect&&_0x2590ca(0x445)==typeof Reflect['decorate'])_0x209303=Reflect[_0x2590ca(0x13d)](_0x46a2d4,_0x3652f4,_0x4f641a,_0x5d51e4);else{for(var _0x2a4d5e=_0x46a2d4[_0x2590ca(0x78d)]-0x1;0x0<=_0x2a4d5e;_0x2a4d5e--)(_0x3d48d4=_0x46a2d4[_0x2a4d5e])&&(_0x209303=(_0x5c1b3a<0x3?_0x3d48d4(_0x209303):0x3<_0x5c1b3a?_0x3d48d4(_0x3652f4,_0x4f641a,_0x209303):_0x3d48d4(_0x3652f4,_0x4f641a))||_0x209303);}0x3<_0x5c1b3a&&_0x209303&&Object['defineProperty'](_0x3652f4,_0x4f641a,_0x209303);}([(0x0,_0x4eee55['p'])(_0x1ec559(0x62d),_0x4eee55['U'][_0x1ec559(0x249)],_0x1ec559(0x4f3),{'notifiers':{'rebuild':!0x0,'update':!0x0,'onValidation':_0x1ece44['_OnGenerateOnlyFragmentCodeChanged']}})],_0x1ece44[_0x1ec559(0x3c6)],_0x1ec559(0x713),void 0x0),(0x0,_0x2fe371['H'])(_0x1ec559(0x6f0),_0x1ece44));},0x107c1:(_0x2e6b5c,_0x1d746e,_0x57ce01)=>{var _0x26ff65=a7_0x1ed280;_0x57ce01['d'](_0x1d746e,{'$':()=>_0x38e0da});var _0x1d746e=_0x57ce01(0x15a52),_0x1553ca=_0x57ce01(0x1137a),_0x48fba0=_0x57ce01(0xec3c),_0x1c2740=_0x57ce01(0x16ad5),_0x2243ff=_0x57ce01(0xe456),_0x193c92=_0x57ce01(0x11c74),_0x1374d5=_0x57ce01(0xd646),_0x53ff6e=_0x57ce01(0xebd3);class _0x38e0da extends _0x1d746e['k']{constructor(_0x2a68d7){var _0x3d1449=a7_0x3908;super(_0x2a68d7,_0x1c2740['u'][_0x3d1449(0xa2e)]),this[_0x3d1449(0x2f2)]=!0x0,this['registerInput'](_0x3d1449(0x306),_0x1553ca['E'][_0x3d1449(0xb88)],!0x0,_0x1c2740['u'][_0x3d1449(0xa2e)]),this[_0x3d1449(0xb10)]('indexOfRefraction',_0x1553ca['E'][_0x3d1449(0xb88)],!0x0,_0x1c2740['u'][_0x3d1449(0xa2e)]),this['registerInput'](_0x3d1449(0xc11),_0x1553ca['E'][_0x3d1449(0xb88)],!0x0,_0x1c2740['u'][_0x3d1449(0xa2e)]),this[_0x3d1449(0xc1b)](_0x3d1449(0x956),_0x1553ca['E']['Object'],_0x1c2740['u']['Fragment'],new _0x1374d5['C'](_0x3d1449(0x956),this,_0x48fba0['Ab'][_0x3d1449(0xc7e)],_0x38e0da,_0x3d1449(0xc99)));}[_0x26ff65(0xc4e)](_0x1bb09e){var _0x49fca8=_0x26ff65;_0x1bb09e[_0x49fca8(0x9c9)](_0x49fca8(0x26a)),_0x1bb09e[_0x49fca8(0x9c9)](_0x49fca8(0xaaf));}['getClassName'](){var _0x402f2c=_0x26ff65;return _0x402f2c(0xc99);}get[_0x26ff65(0x306)](){var _0x163c38=_0x26ff65;return this[_0x163c38(0x189)][0x0];}get[_0x26ff65(0x4bc)](){var _0x3a6fde=_0x26ff65;return this[_0x3a6fde(0x189)][0x1];}get[_0x26ff65(0xc11)](){var _0x5ce480=_0x26ff65;return this[_0x5ce480(0x189)][0x2];}get[_0x26ff65(0x956)](){return this['_outputs'][0x0];}[_0x26ff65(0x46c)](){var _0x4dbb09=_0x26ff65;if(!this[_0x4dbb09(0x306)]['isConnected']){const _0x5e4d9f=new _0x193c92['S'](_0x4dbb09(0x7db),_0x1c2740['u']['Fragment'],_0x1553ca['E']['Float']),_0x5cf8db=(_0x5e4d9f[_0x4dbb09(0x463)]=0x1,_0x5e4d9f[_0x4dbb09(0x13c)][_0x4dbb09(0x44e)](this[_0x4dbb09(0x306)]),new _0x193c92['S'](_0x4dbb09(0x8e7),_0x1c2740['u'][_0x4dbb09(0xa2e)],_0x1553ca['E']['Float'])),_0x263d77=(_0x5cf8db['value']=1.3,_0x5cf8db[_0x4dbb09(0x13c)][_0x4dbb09(0x44e)](this[_0x4dbb09(0x4bc)]),new _0x193c92['S']('Iridescence\x20thickness',_0x1c2740['u'][_0x4dbb09(0xa2e)],_0x1553ca['E'][_0x4dbb09(0xb88)]));_0x263d77[_0x4dbb09(0x463)]=0x190,_0x263d77[_0x4dbb09(0x13c)]['connectTo'](this[_0x4dbb09(0xc11)]);}}[_0x26ff65(0x30c)](_0x3d2499,_0x3a2a7d,_0x3904b0){var _0x35bd58=_0x26ff65;super[_0x35bd58(0x30c)](_0x3d2499,_0x3a2a7d,_0x3904b0),_0x3904b0[_0x35bd58(0xaf5)](_0x35bd58(0x2cc),!0x0,!0x0),_0x3904b0[_0x35bd58(0xaf5)](_0x35bd58(0x8e9),!0x1,!0x0),_0x3904b0[_0x35bd58(0xaf5)](_0x35bd58(0xb6c),!0x1,!0x0);}static['GetCode'](_0x4b38f1){var _0x4998db=_0x26ff65;return''+(_0x4998db(0x675)+(null!=_0x4b38f1&&_0x4b38f1[_0x4998db(0x306)]['isConnected']?_0x4b38f1[_0x4998db(0x306)]['associatedVariableName']:'1.')+',\x20'+(null!=_0x4b38f1&&_0x4b38f1['indexOfRefraction'][_0x4998db(0x39b)]?_0x4b38f1['indexOfRefraction'][_0x4998db(0x2cb)]:_0x53ff6e['B'][_0x4998db(0xc01)])+_0x4998db(0xb01)+(null!=_0x4b38f1&&_0x4b38f1[_0x4998db(0xc11)][_0x4998db(0x39b)]?_0x4b38f1[_0x4998db(0xc11)][_0x4998db(0x2cb)]:_0x53ff6e['B'][_0x4998db(0x736)])+'),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20NdotV,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20specularEnvironmentR0,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20CLEARCOAT\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20NdotVUnclamped,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20iridescenceOut\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20iridescenceIntensity\x20=\x20iridescenceOut.iridescenceIntensity;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20specularEnvironmentR0\x20=\x20iridescenceOut.specularEnvironmentR0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0d\x0a');}[_0x26ff65(0xb49)](_0x238d63){var _0x348bd1=_0x26ff65;return _0x238d63['target']===_0x1c2740['u'][_0x348bd1(0xa2e)]&&(_0x238d63[_0x348bd1(0x7fc)][_0x348bd1(0xb59)][_0x348bd1(0x6fe)](this),_0x238d63[_0x348bd1(0x7fc)][_0x348bd1(0x225)][_0x348bd1(0x6fe)](this)),this;}[_0x26ff65(0x7f7)](){var _0x238cd8=_0x26ff65;return super[_0x238cd8(0x7f7)]();}[_0x26ff65(0xcbe)](_0x41e45d,_0x48649c,_0x189e6d){var _0x24f568=_0x26ff65;super[_0x24f568(0xcbe)](_0x41e45d,_0x48649c,_0x189e6d);}}(0x0,_0x2243ff['H'])(_0x26ff65(0x206),_0x38e0da);},0x18495:(_0xa2f99b,_0x5f3664,_0x507d1d)=>{var _0x3d3d52=a7_0x1ed280;_0x507d1d['d'](_0x5f3664,{'u':()=>_0x1a8614});var _0x514f53=_0x507d1d(0x1137a),_0x1c5f54=_0x507d1d(0x16ad5),_0x3bebf6=_0x507d1d(0xf75c);class _0x1a8614{constructor(){var _0x471ebb=a7_0x3908;this[_0x471ebb(0xac4)]=!0x1,this[_0x471ebb(0x338)]=new Array(),this[_0x471ebb(0xb5a)]=new Array(),this[_0x471ebb(0x898)]=new Array(),this[_0x471ebb(0x882)]=new Array(),this[_0x471ebb(0xa8a)]={},this['extensions']={},this[_0x471ebb(0x40f)]={},this[_0x471ebb(0xaac)]='',this[_0x471ebb(0xbb2)]='',this['_constantDeclaration']='',this[_0x471ebb(0x545)]='',this[_0x471ebb(0x1d6)]='',this[_0x471ebb(0x7d0)]='',this[_0x471ebb(0xa25)]=0x0,this[_0x471ebb(0x9ca)]='',this[_0x471ebb(0xc5f)]='';}[_0x3d3d52(0x478)](_0xa510e2){var _0x3d14b2=_0x3d3d52,_0xa510e2=_0xa510e2[_0x3d14b2(0x7fc)][_0x3d14b2(0x575)],_0x579ea8=this[_0x3d14b2(0x2cd)]===_0x1c5f54['u'][_0x3d14b2(0xa2e)];this[_0x3d14b2(0xc5f)]='\x0d\x0a'+(_0xa510e2?_0x3d14b2(0x7d1):'')+'void\x20main(void)\x20{\x0d\x0a'+this[_0x3d14b2(0xc5f)],this['_constantDeclaration']&&(this[_0x3d14b2(0xc5f)]='\x0d\x0a'+(_0xa510e2?_0x3d14b2(0x90b):'')+this[_0x3d14b2(0xa95)]+'\x0d\x0a'+this[_0x3d14b2(0xc5f)]);let _0x8ef438='';for(const _0x569461 in this[_0x3d14b2(0xa8a)])_0x8ef438+=this[_0x3d14b2(0xa8a)][_0x569461]+'\x0d\x0a';this[_0x3d14b2(0xc5f)]='\x0d\x0a'+_0x8ef438+'\x0d\x0a'+this[_0x3d14b2(0xc5f)],!_0x579ea8&&this[_0x3d14b2(0x1d6)]&&(this[_0x3d14b2(0xc5f)]=this[_0x3d14b2(0xc5f)]+'\x0d\x0a'+this[_0x3d14b2(0x1d6)]),this[_0x3d14b2(0x7d0)]&&(this['compilationString']=this[_0x3d14b2(0xc5f)]+'\x0d\x0a'+this['_injectAtEnd']),this[_0x3d14b2(0xc5f)]=this[_0x3d14b2(0xc5f)]+_0x3d14b2(0x143),this[_0x3d14b2(0x7fc)][_0x3d14b2(0x337)]&&(this[_0x3d14b2(0xc5f)]='\x0d\x0a'+(_0xa510e2?_0x3d14b2(0xa68):'')+this[_0x3d14b2(0x7fc)]['varyingDeclaration']+'\x0d\x0a'+this[_0x3d14b2(0xc5f)]),this['_samplerDeclaration']&&(this[_0x3d14b2(0xc5f)]='\x0d\x0a'+(_0xa510e2?_0x3d14b2(0x960):'')+this[_0x3d14b2(0x545)]+'\x0d\x0a'+this[_0x3d14b2(0xc5f)]),this[_0x3d14b2(0xbb2)]&&(this['compilationString']='\x0d\x0a'+(_0xa510e2?_0x3d14b2(0x900):'')+this[_0x3d14b2(0xbb2)]+'\x0d\x0a'+this[_0x3d14b2(0xc5f)]),this[_0x3d14b2(0xaac)]&&!_0x579ea8&&(this[_0x3d14b2(0xc5f)]='\x0d\x0a'+(_0xa510e2?_0x3d14b2(0x91b):'')+this[_0x3d14b2(0xaac)]+'\x0d\x0a'+this[_0x3d14b2(0xc5f)]),this['compilationString']=_0x3d14b2(0xc68)+this[_0x3d14b2(0xc5f)],this[_0x3d14b2(0xc5f)]=_0x3d14b2(0x480)+this['compilationString'];for(const _0x17d871 in this['extensions']){var _0x1b7ed4=this[_0x3d14b2(0x77c)][_0x17d871];this[_0x3d14b2(0xc5f)]='\x0d\x0a'+_0x1b7ed4+'\x0d\x0a'+this['compilationString'];}this['_builtCompilationString']=this[_0x3d14b2(0xc5f)];}get[_0x3d3d52(0x8af)](){var _0x4e11fd=_0x3d3d52;return'###___ANCHOR'+this[_0x4e11fd(0xa25)]++ +_0x4e11fd(0x379);}['_getFreeVariableName'](_0x981ceb){var _0x485f9f=_0x3d3d52;return _0x981ceb=_0x981ceb[_0x485f9f(0xa09)](/[^a-zA-Z_]+/g,''),void 0x0===this['sharedData'][_0x485f9f(0xca3)][_0x981ceb]?(this[_0x485f9f(0x7fc)]['variableNames'][_0x981ceb]=0x0,_0x485f9f(0x13c)===_0x981ceb||_0x485f9f(0x7a3)===_0x981ceb?_0x981ceb+this[_0x485f9f(0x7fc)][_0x485f9f(0xca3)][_0x981ceb]:_0x981ceb):(this['sharedData'][_0x485f9f(0xca3)][_0x981ceb]++,_0x981ceb+this[_0x485f9f(0x7fc)][_0x485f9f(0xca3)][_0x981ceb]);}[_0x3d3d52(0x8d0)](_0x1e82c5){var _0x43aa53=_0x3d3d52;return void 0x0===this[_0x43aa53(0x7fc)][_0x43aa53(0x80d)][_0x1e82c5]?this[_0x43aa53(0x7fc)][_0x43aa53(0x80d)][_0x1e82c5]=0x0:this[_0x43aa53(0x7fc)][_0x43aa53(0x80d)][_0x1e82c5]++,_0x1e82c5+this['sharedData'][_0x43aa53(0x80d)][_0x1e82c5];}[_0x3d3d52(0x9c9)](_0x57b096){var _0xc26149=_0x3d3d52;this['sharedData'][_0xc26149(0xca3)][_0x57b096]=0x0;}[_0x3d3d52(0x976)](_0x38d2b0){var _0x145542=_0x3d3d52;this[_0x145542(0x882)][_0x145542(0x444)](_0x38d2b0)<0x0&&(this[_0x145542(0x545)]+=_0x145542(0x185)+_0x38d2b0+_0x145542(0x383),this[_0x145542(0x882)][_0x145542(0x6fe)](_0x38d2b0));}['_emit2DArraySampler'](_0x35cfaf){var _0x22a2f0=_0x3d3d52;this[_0x22a2f0(0x882)][_0x22a2f0(0x444)](_0x35cfaf)<0x0&&(this[_0x22a2f0(0x545)]+=_0x22a2f0(0x99d)+_0x35cfaf+_0x22a2f0(0x383),this[_0x22a2f0(0x882)][_0x22a2f0(0x6fe)](_0x35cfaf));}[_0x3d3d52(0x95a)](_0x32ae23){var _0x7c8a3a=_0x3d3d52;switch(_0x32ae23){case _0x514f53['E'][_0x7c8a3a(0xb88)]:return _0x7c8a3a(0x250);case _0x514f53['E'][_0x7c8a3a(0x6c5)]:return _0x7c8a3a(0xc04);case _0x514f53['E'][_0x7c8a3a(0x188)]:return'vec2';case _0x514f53['E'][_0x7c8a3a(0xb6a)]:case _0x514f53['E']['Vector3']:return _0x7c8a3a(0x1f6);case _0x514f53['E'][_0x7c8a3a(0x8f7)]:case _0x514f53['E'][_0x7c8a3a(0xb52)]:return'vec4';case _0x514f53['E'][_0x7c8a3a(0xa4a)]:return _0x7c8a3a(0x94e);}return'';}[_0x3d3d52(0xc76)](_0x2f596a,_0x2c178c,_0x5bce8c=''){var _0x12c613=_0x3d3d52;this[_0x12c613(0x77c)][_0x2f596a]||(this['extensions'][_0x2f596a]=_0x2c178c=_0x5bce8c?_0x12c613(0xc19)+_0x5bce8c+'\x0d\x0a'+_0x2c178c+_0x12c613(0x40a):_0x2c178c);}['_emitFunction'](_0x31b50d,_0x5c2176,_0x55dde6){var _0x53947c=_0x3d3d52;this['functions'][_0x31b50d]||(this[_0x53947c(0x7fc)][_0x53947c(0x575)]&&(_0x5c2176=_0x55dde6+'\x0d\x0a'+_0x5c2176),this[_0x53947c(0xa8a)][_0x31b50d]=_0x5c2176);}[_0x3d3d52(0x7d7)](_0x389ccc,_0x5a1479,_0x1d60c0){var _0x4cc2e6=_0x3d3d52;if(_0x1d60c0&&_0x1d60c0[_0x4cc2e6(0xb44)])return _0x4cc2e6(0x841)+_0x389ccc+'>'+(_0x1d60c0[_0x4cc2e6(0xc52)]?'('+_0x1d60c0[_0x4cc2e6(0xc52)]+')':'')+'[0..'+_0x1d60c0[_0x4cc2e6(0xb44)]+_0x4cc2e6(0xd20);let _0xfea116=_0x3bebf6['Q'][_0x4cc2e6(0x281)][_0x389ccc]+'\x0d\x0a';if(this[_0x4cc2e6(0x7fc)][_0x4cc2e6(0x575)]&&(_0xfea116=_0x5a1479+'\x0d\x0a'+_0xfea116),!_0x1d60c0)return _0xfea116;if(_0x1d60c0['replaceStrings'])for(let _0x23910c=0x0;_0x23910c<_0x1d60c0[_0x4cc2e6(0xb16)][_0x4cc2e6(0x78d)];_0x23910c++){var _0x3cbf4d=_0x1d60c0[_0x4cc2e6(0xb16)][_0x23910c];_0xfea116=_0xfea116[_0x4cc2e6(0xa09)](_0x3cbf4d['search'],_0x3cbf4d['replace']);}return _0xfea116;}['_emitFunctionFromInclude'](_0x6f446f,_0x1cd059,_0x5e2674,_0x59281b=''){var _0x10f4f6=_0x3d3d52,_0x513c9c=_0x6f446f+_0x59281b;if(!this[_0x10f4f6(0xa8a)][_0x513c9c]){if(!_0x5e2674||!(_0x5e2674['removeAttributes']||_0x5e2674[_0x10f4f6(0x8b6)]||_0x5e2674[_0x10f4f6(0x18b)]||_0x5e2674[_0x10f4f6(0xd27)]||_0x5e2674['replaceStrings']))return _0x5e2674&&_0x5e2674[_0x10f4f6(0xb44)]?this[_0x10f4f6(0xa8a)][_0x513c9c]=_0x10f4f6(0x841)+_0x6f446f+'>'+(_0x5e2674[_0x10f4f6(0xc52)]?'('+_0x5e2674[_0x10f4f6(0xc52)]+')':'')+'[0..'+_0x5e2674[_0x10f4f6(0xb44)]+_0x10f4f6(0xd20):this[_0x10f4f6(0xa8a)][_0x513c9c]=_0x10f4f6(0x841)+_0x6f446f+'>'+(null!=_0x5e2674&&_0x5e2674[_0x10f4f6(0xc52)]?'('+(null==_0x5e2674?void 0x0:_0x5e2674[_0x10f4f6(0xc52)])+')':'')+'\x0d\x0a',void(this[_0x10f4f6(0x7fc)]['emitComments']&&(this[_0x10f4f6(0xa8a)][_0x513c9c]=_0x1cd059+'\x0d\x0a'+this[_0x10f4f6(0xa8a)][_0x513c9c]));if(this['functions'][_0x513c9c]=_0x3bebf6['Q'][_0x10f4f6(0x281)][_0x6f446f],this['sharedData']['emitComments']&&(this[_0x10f4f6(0xa8a)][_0x513c9c]=_0x1cd059+'\x0d\x0a'+this['functions'][_0x513c9c]),_0x5e2674['removeIfDef']&&(this[_0x10f4f6(0xa8a)][_0x513c9c]=this['functions'][_0x513c9c][_0x10f4f6(0xa09)](/^\s*?#ifdef.+$/gm,''),this['functions'][_0x513c9c]=this[_0x10f4f6(0xa8a)][_0x513c9c]['replace'](/^\s*?#endif.*$/gm,''),this['functions'][_0x513c9c]=this[_0x10f4f6(0xa8a)][_0x513c9c][_0x10f4f6(0xa09)](/^\s*?#else.*$/gm,''),this[_0x10f4f6(0xa8a)][_0x513c9c]=this[_0x10f4f6(0xa8a)][_0x513c9c][_0x10f4f6(0xa09)](/^\s*?#elif.*$/gm,'')),_0x5e2674['removeAttributes']&&(this[_0x10f4f6(0xa8a)][_0x513c9c]=this[_0x10f4f6(0xa8a)][_0x513c9c][_0x10f4f6(0xa09)](/^\s*?attribute.+$/gm,'')),_0x5e2674[_0x10f4f6(0x8b6)]&&(this['functions'][_0x513c9c]=this[_0x10f4f6(0xa8a)][_0x513c9c][_0x10f4f6(0xa09)](/^\s*?uniform.+$/gm,'')),_0x5e2674[_0x10f4f6(0x18b)]&&(this[_0x10f4f6(0xa8a)][_0x513c9c]=this[_0x10f4f6(0xa8a)][_0x513c9c][_0x10f4f6(0xa09)](/^\s*?varying.+$/gm,'')),_0x5e2674[_0x10f4f6(0xb16)])for(let _0x3a7c0e=0x0;_0x3a7c0e<_0x5e2674[_0x10f4f6(0xb16)][_0x10f4f6(0x78d)];_0x3a7c0e++){var _0x341984=_0x5e2674[_0x10f4f6(0xb16)][_0x3a7c0e];this[_0x10f4f6(0xa8a)][_0x513c9c]=this['functions'][_0x513c9c][_0x10f4f6(0xa09)](_0x341984[_0x10f4f6(0x8f9)],_0x341984['replace']);}}}[_0x3d3d52(0xc9a)](_0x187491){var _0x2a1b09=_0x3d3d52;return-0x1===this[_0x2a1b09(0x7fc)][_0x2a1b09(0x9ea)][_0x2a1b09(0x444)](_0x187491)&&(this[_0x2a1b09(0x7fc)][_0x2a1b09(0x9ea)][_0x2a1b09(0x6fe)](_0x187491),!0x0);}['_emitVaryingFromString'](_0x52311f,_0x398a83,_0x4907cb='',_0x3f29c7=!0x1){var _0x42cefa=_0x3d3d52;return-0x1===this[_0x42cefa(0x7fc)]['varyings'][_0x42cefa(0x444)](_0x52311f)&&(this[_0x42cefa(0x7fc)][_0x42cefa(0x81c)]['push'](_0x52311f),_0x4907cb&&(_0x4907cb[_0x42cefa(0x721)](_0x42cefa(0x3a8))?this[_0x42cefa(0x7fc)][_0x42cefa(0x337)]+=_0x42cefa(0xc19)+_0x4907cb+'\x0d\x0a':this[_0x42cefa(0x7fc)][_0x42cefa(0x337)]+=(_0x3f29c7?_0x42cefa(0xb65):_0x42cefa(0x4f8))+('\x20'+_0x4907cb+'\x0d\x0a')),this[_0x42cefa(0x7fc)][_0x42cefa(0x337)]+=_0x42cefa(0x74e)+_0x398a83+'\x20'+_0x52311f+_0x42cefa(0x383),_0x4907cb&&(this[_0x42cefa(0x7fc)]['varyingDeclaration']+=_0x42cefa(0xa5f)),!0x0);}['_emitUniformFromString'](_0x556e1a,_0x179483,_0x17e773='',_0x5123d1=!0x1){var _0x155564=_0x3d3d52;-0x1===this['uniforms'][_0x155564(0x444)](_0x556e1a)&&(this['uniforms'][_0x155564(0x6fe)](_0x556e1a),_0x17e773&&(_0x17e773[_0x155564(0x721)](_0x155564(0x3a8))?this[_0x155564(0xbb2)]+='#if\x20'+_0x17e773+'\x0d\x0a':this[_0x155564(0xbb2)]+=(_0x5123d1?_0x155564(0xb65):_0x155564(0x4f8))+('\x20'+_0x17e773+'\x0d\x0a')),this[_0x155564(0xbb2)]+=_0x155564(0xcc2)+_0x179483+'\x20'+_0x556e1a+_0x155564(0x383),_0x17e773&&(this[_0x155564(0xbb2)]+=_0x155564(0xa5f)));}[_0x3d3d52(0xa38)](_0x20a4b2){var _0x25a26c=_0x3d3d52;return _0x20a4b2['toString']()===_0x20a4b2[_0x25a26c(0xcc9)](0x0)?_0x20a4b2+'.0':_0x20a4b2[_0x25a26c(0xaf3)]();}}},0x13764:(_0x117cd7,_0x1ad7c8,_0x36d871)=>{_0x36d871['d'](_0x1ad7c8,{'U':()=>_0x38577f});class _0x38577f{constructor(){var _0x481318=a7_0x3908;this[_0x481318(0x9ea)]=new Array(),this['varyings']=new Array(),this[_0x481318(0x337)]='',this[_0x481318(0x905)]=new Array(),this[_0x481318(0xc9c)]=new Array(),this[_0x481318(0xb59)]=new Array(),this[_0x481318(0x380)]=new Array(),this[_0x481318(0x6f3)]=new Array(),this[_0x481318(0x225)]=new Array(),this[_0x481318(0x390)]=new Array(),this[_0x481318(0x24a)]=new Array(),this[_0x481318(0xc2a)]=new Array(),this[_0x481318(0x386)]=new Array(),this[_0x481318(0xca3)]={},this[_0x481318(0x80d)]={},this[_0x481318(0x6b8)]={'needWorldViewMatrix':!0x1,'needWorldViewProjectionMatrix':!0x1,'needAlphaBlending':!0x1,'needAlphaTesting':!0x1},this['checks']={'emitVertex':!0x1,'emitFragment':!0x1,'notConnectedNonOptionalInputs':new Array()},this[_0x481318(0x1fb)]=!0x1,this[_0x481318(0xca3)]['position']=0x0,this[_0x481318(0xca3)]['normal']=0x0,this[_0x481318(0xca3)][_0x481318(0xc32)]=0x0,this[_0x481318(0xca3)]['uv']=0x0,this[_0x481318(0xca3)]['uv2']=0x0,this[_0x481318(0xca3)]['uv3']=0x0,this[_0x481318(0xca3)][_0x481318(0x696)]=0x0,this[_0x481318(0xca3)]['uv5']=0x0,this['variableNames'][_0x481318(0xd01)]=0x0,this[_0x481318(0xca3)][_0x481318(0xc02)]=0x0,this[_0x481318(0xca3)][_0x481318(0x66c)]=0x0,this['variableNames'][_0x481318(0xae1)]=0x0,this[_0x481318(0xca3)][_0x481318(0x80f)]=0x0,this[_0x481318(0xca3)][_0x481318(0x425)]=0x0,this[_0x481318(0xca3)][_0x481318(0x352)]=0x0,this[_0x481318(0xca3)]['specularBase']=0x0,this[_0x481318(0xca3)]['worldPos']=0x0,this[_0x481318(0xca3)][_0x481318(0x2a3)]=0x0,this[_0x481318(0xca3)][_0x481318(0x557)]=0x0,this[_0x481318(0xca3)][_0x481318(0x2e0)]=0x0,this['defineNames'][_0x481318(0xb09)]=0x0,this[_0x481318(0x80d)]['MAINUV1']=0x0,this[_0x481318(0x80d)]['MAINUV2']=0x0,this[_0x481318(0x80d)][_0x481318(0x48a)]=0x0,this[_0x481318(0x80d)][_0x481318(0x943)]=0x0,this[_0x481318(0x80d)][_0x481318(0x5c0)]=0x0,this['defineNames'][_0x481318(0x8aa)]=0x0,this[_0x481318(0x80d)]['MAINUV7']=0x0;}['emitErrors'](){var _0x3f9db4=a7_0x3908;let _0x23b728='';this[_0x3f9db4(0x5c1)]['emitVertex']||this[_0x3f9db4(0x1fb)]||(_0x23b728+='NodeMaterial\x20does\x20not\x20have\x20a\x20vertex\x20output.\x20You\x20need\x20to\x20at\x20least\x20add\x20a\x20block\x20that\x20generates\x20a\x20glPosition\x20value.\x0d\x0a'),this[_0x3f9db4(0x5c1)]['emitFragment']||(_0x23b728+=_0x3f9db4(0x6e8));for(const _0x2c01ea of this[_0x3f9db4(0x5c1)][_0x3f9db4(0x5f6)])_0x23b728+=_0x3f9db4(0x71d)+_0x2c01ea[_0x3f9db4(0xa21)]+_0x3f9db4(0x5a2)+_0x2c01ea[_0x3f9db4(0xa88)][_0x3f9db4(0xa21)]+'['+_0x2c01ea[_0x3f9db4(0xa88)][_0x3f9db4(0x979)]()+']\x20is\x20not\x20connected\x20and\x20is\x20not\x20optional.\x0d\x0a';if(_0x23b728)throw'Build\x20of\x20NodeMaterial\x20failed:\x0d\x0a'+_0x23b728;}}},0x15556:(_0x1ef065,_0x5d2200,_0x31f5a5)=>{var _0x31374f=a7_0x1ed280;_0x31f5a5['d'](_0x5d2200,{'x':()=>_0xf0df6f});var _0x5d2200=_0x31f5a5(0x8af2),_0x1ebc3b=_0x31f5a5(0x77a5);class _0xf0df6f extends _0x5d2200['_']{set[_0x31374f(0xc21)](_0x25f5e7){this['_samples']=_0x25f5e7;}get[_0x31374f(0xc21)](){var _0x4cf1a6=_0x31374f;return this[_0x4cf1a6(0x350)];}constructor(_0x131ee5,_0xd1f249=0x200){var _0x551043=_0x31374f;super(_0x551043(0x5cb),_0xd1f249,_0x131ee5,!0x1,!0x0,_0x1ebc3b['g']['TEXTURETYPE_UNSIGNED_INT'],!0x1,void 0x0,!0x1,!0x1,!0x0,void 0x0,!0x0),this[_0x551043(0xac3)]=this[_0x551043(0x87c)]()[_0x551043(0x489)]()[_0x551043(0xc34)](this[_0x551043(0x73a)](),this[_0x551043(0xa52)]()),this[_0x551043(0xad7)]=this[_0x551043(0xac3)][_0x551043(0x7a3)],this['_texture'][_0x551043(0x15d)]=!0x0,this[_0x551043(0xad7)]['format']=_0x1ebc3b['g'][_0x551043(0x196)],this['samples']=this['_getEngine']()[_0x551043(0x19e)]()[_0x551043(0x332)]||this[_0x551043(0xc21)],this['_texture'][_0x551043(0xc21)]=this[_0x551043(0x350)];}[_0x31374f(0xb74)](){var _0x8030b8=_0x31374f;this[_0x8030b8(0xac3)]&&this[_0x8030b8(0x87c)]()['getEngine']()['bindMultiviewFramebuffer'](this[_0x8030b8(0xac3)]);}[_0x31374f(0x3a5)](){return 0x2;}}},0xb120:(_0x34975b,_0x3edfc6,_0x31339c)=>{_0x31339c['d'](_0x3edfc6,{'p':()=>_0x4974af});class _0x4974af{constructor(_0x1175a6,_0x43fdc7,_0x298c7f){var _0x1f183c=a7_0x3908;this['id']=_0x1175a6,this[_0x1f183c(0x9bf)]=_0x43fdc7,this['offset']=_0x298c7f;}}},0x174f7:(_0x1b2d47,_0xf74b9e,_0x53dc33)=>{var _0xfebb99=a7_0x1ed280,_0xba2ab=_0x53dc33(0xe303),_0x53dc33=_0x53dc33(0x11929);_0x53dc33['V'][_0xfebb99(0x3c6)][_0xfebb99(0x922)]=function(){var _0xb153a7=_0xfebb99;this['_texture']&&(this['_texture'][_0xb153a7(0xc79)]=null,this['_texture'][_0xb153a7(0xcc3)]=null,this[_0xb153a7(0xad7)][_0xb153a7(0xc5e)]=!0x1);},Object['defineProperty'](_0x53dc33['V'][_0xfebb99(0x3c6)],_0xfebb99(0xc1a),{'get':function(){var _0x48e2ba=_0xfebb99;if(this[_0x48e2ba(0xad7)]){if(this[_0x48e2ba(0xad7)]['_sphericalPolynomial']||this[_0x48e2ba(0xad7)][_0x48e2ba(0xc5e)])return this[_0x48e2ba(0xad7)][_0x48e2ba(0xc79)];if(this[_0x48e2ba(0xad7)][_0x48e2ba(0xae3)])return this[_0x48e2ba(0xad7)]['_sphericalPolynomialPromise']||(this[_0x48e2ba(0xad7)][_0x48e2ba(0xcc3)]=_0xba2ab['$'][_0x48e2ba(0x685)](this),null===this[_0x48e2ba(0xad7)]['_sphericalPolynomialPromise']?this[_0x48e2ba(0xad7)][_0x48e2ba(0xc5e)]=!0x0:this[_0x48e2ba(0xad7)][_0x48e2ba(0xcc3)][_0x48e2ba(0x65e)](_0x1e6d43=>{var _0x2cc75b=_0x48e2ba;this['_texture'][_0x2cc75b(0xc79)]=_0x1e6d43,this[_0x2cc75b(0xad7)]['_sphericalPolynomialComputed']=!0x0;})),null;}return null;},'set':function(_0x593d7a){this['_texture']&&(this['_texture']['_sphericalPolynomial']=_0x593d7a);},'enumerable':!0x0,'configurable':!0x0});},0x16ea5:(_0x293c10,_0x2c404d,_0x3c5493)=>{var _0x40241c=a7_0x1ed280;_0x3c5493['d'](_0x2c404d,{'N':()=>_0x1d0a7f});var _0x2c404d=_0x3c5493(0x163e6),_0x412329=_0x3c5493(0xc3ae);class _0x1d0a7f extends _0x2c404d['K']{constructor(_0x478885,_0x54b9a4,_0xb41cca,_0x2c7a8a,_0x459c1b,_0x16adf5){var _0x2ee68a=a7_0x3908;super(_0x478885,_0xb41cca,_0x2c7a8a,_0x459c1b,_0x16adf5),this['_beforeCompositionPostProcesses']=[],this[_0x2ee68a(0xa7d)]=!0x1,this[_0x2ee68a(0xcf4)]=!0x1,this[_0x2ee68a(0x8a5)]=null,this[_0x2ee68a(0x8a5)]=_0x54b9a4;}[_0x40241c(0x8b7)](){var _0x5a7840=_0x40241c;this[_0x5a7840(0x3f7)]=new _0x412329['z'](_0x5a7840(0x41e),0x1,null,void 0x0,this['_engine']),this['imageProcessingPostProcess'][_0x5a7840(0xacb)]();}[_0x40241c(0xb4e)](){var _0x514414=_0x40241c,_0x16186b=this[_0x514414(0x3f5)][_0x514414(0x73a)](!0x0),_0x4314e3=this[_0x514414(0x3f5)][_0x514414(0xa52)](!0x0),_0x25539d=this[_0x514414(0x73a)](),_0x2fba49=this[_0x514414(0xa52)]();_0x25539d===_0x16186b&&_0x2fba49===_0x4314e3||(this[_0x514414(0xd17)]({'width':_0x16186b,'height':_0x4314e3}),this[_0x514414(0xa7d)]=!0x0);}['updateCount'](_0x3a0ca4,_0x5a7f5a,_0xd3bc54){var _0x43925e=_0x40241c;super[_0x43925e(0x7f5)](_0x3a0ca4,_0x5a7f5a,_0xd3bc54),this['_internalTextureDirty']=!0x0;}[_0x40241c(0x877)](){var _0x35adb0=_0x40241c;this['_beforeCompositionPostProcesses'][_0x35adb0(0x78d)]=0x0;}[_0x40241c(0x27f)](){var _0x4863ff=_0x40241c;const _0x1e7ca1=this[_0x4863ff(0x1a8)];var _0x5525e1;super['dispose'](),_0x1e7ca1&&_0x1e7ca1[_0x4863ff(0x219)]&&-0x1!==(_0x5525e1=_0x1e7ca1[_0x4863ff(0x219)]['renderTargets']['indexOf'](this))&&_0x1e7ca1[_0x4863ff(0x219)][_0x4863ff(0x61f)][_0x4863ff(0xb1e)](_0x5525e1,0x1),this[_0x4863ff(0x3f7)]&&this[_0x4863ff(0x3f7)]['dispose'](),this['renderTargetTexture']&&(this[_0x4863ff(0x8a5)][_0x4863ff(0x3bc)]=null),this[_0x4863ff(0xbb5)]&&(this[_0x4863ff(0xbb5)][_0x4863ff(0xc49)]=!0x0,this['_outputPostProcess'][_0x4863ff(0x198)]());}}},0x2088:(_0x3993e5,_0x2c3bec,_0x46e952)=>{function _0x21ea85(_0x30d8a6,_0x1eb7c9,_0x454e4e){var _0x3644c5=a7_0x3908;_0x454e4e&&_0x30d8a6[_0x3644c5(0x20e)](_0x1eb7c9,_0x454e4e[_0x3644c5(0x60a)]['x'],_0x454e4e[_0x3644c5(0x60a)]['y'],_0x454e4e['normal']['z'],_0x454e4e['d']);}_0x46e952['d'](_0x2c3bec,{'AN':()=>function(_0x17cd09,_0x3ac3e0,_0x4f12cb){var _0x205798=a7_0x3908;let _0x17f4d1=!0x1;var _0x21a982=!!(null!=(_0x21a982=_0x17cd09['clipPlane'])?_0x21a982:_0x3ac3e0[_0x205798(0x6e5)]),_0x2a65a7=!!(null!=(_0x2a65a7=_0x17cd09[_0x205798(0x179)])?_0x2a65a7:_0x3ac3e0['clipPlane2']),_0x3c4cd2=!!(null!=(_0x3c4cd2=_0x17cd09[_0x205798(0xc40)])?_0x3c4cd2:_0x3ac3e0[_0x205798(0xc40)]),_0x2e4ef3=!!(null!=(_0x2e4ef3=_0x17cd09[_0x205798(0x530)])?_0x2e4ef3:_0x3ac3e0[_0x205798(0x530)]),_0x27e9b9=!!(null!=(_0x27e9b9=_0x17cd09[_0x205798(0x7af)])?_0x27e9b9:_0x3ac3e0[_0x205798(0x7af)]),_0x17cd09=!!(null!=(_0x17cd09=_0x17cd09[_0x205798(0x268)])?_0x17cd09:_0x3ac3e0['clipPlane6']);return _0x4f12cb[_0x205798(0xc28)]!==_0x21a982&&(_0x4f12cb[_0x205798(0xc28)]=_0x21a982,_0x17f4d1=!0x0),_0x4f12cb[_0x205798(0x23a)]!==_0x2a65a7&&(_0x4f12cb[_0x205798(0x23a)]=_0x2a65a7,_0x17f4d1=!0x0),_0x4f12cb[_0x205798(0xc9d)]!==_0x3c4cd2&&(_0x4f12cb[_0x205798(0xc9d)]=_0x3c4cd2,_0x17f4d1=!0x0),_0x4f12cb[_0x205798(0x27d)]!==_0x2e4ef3&&(_0x4f12cb[_0x205798(0x27d)]=_0x2e4ef3,_0x17f4d1=!0x0),_0x4f12cb[_0x205798(0x409)]!==_0x27e9b9&&(_0x4f12cb[_0x205798(0x409)]=_0x27e9b9,_0x17f4d1=!0x0),_0x4f12cb[_0x205798(0xba4)]!==_0x17cd09&&(_0x4f12cb[_0x205798(0xba4)]=_0x17cd09,_0x17f4d1=!0x0),_0x17f4d1;},'an':()=>function(_0x1c1524,_0x943d55,_0x1fe478){var _0x50bda1=a7_0x3908,_0x4a7d0b;_0x21ea85(_0x1c1524,'vClipPlane',null!=(_0x4a7d0b=_0x943d55[_0x50bda1(0x6e5)])?_0x4a7d0b:_0x1fe478['clipPlane']),_0x21ea85(_0x1c1524,_0x50bda1(0x57e),null!=(_0x4a7d0b=_0x943d55[_0x50bda1(0x179)])?_0x4a7d0b:_0x1fe478[_0x50bda1(0x179)]),_0x21ea85(_0x1c1524,_0x50bda1(0xbf5),null!=(_0x4a7d0b=_0x943d55['clipPlane3'])?_0x4a7d0b:_0x1fe478[_0x50bda1(0xc40)]),_0x21ea85(_0x1c1524,_0x50bda1(0x369),null!=(_0x4a7d0b=_0x943d55[_0x50bda1(0x530)])?_0x4a7d0b:_0x1fe478[_0x50bda1(0x530)]),_0x21ea85(_0x1c1524,_0x50bda1(0x987),null!=(_0x4a7d0b=_0x943d55[_0x50bda1(0x7af)])?_0x4a7d0b:_0x1fe478['clipPlane5']),_0x21ea85(_0x1c1524,_0x50bda1(0x5f2),null!=(_0x4a7d0b=_0x943d55[_0x50bda1(0x268)])?_0x4a7d0b:_0x1fe478[_0x50bda1(0x268)]);},'lK':()=>function(_0x5311fc,_0x38d7e9,_0x507385){var _0x287ef2=a7_0x3908,_0x119426=!!(null!=(_0x119426=_0x5311fc[_0x287ef2(0x6e5)])?_0x119426:_0x38d7e9['clipPlane']),_0xfb3e98=!!(null!=(_0xfb3e98=_0x5311fc['clipPlane2'])?_0xfb3e98:_0x38d7e9[_0x287ef2(0x179)]),_0x2d47eb=!!(null!=(_0x2d47eb=_0x5311fc[_0x287ef2(0xc40)])?_0x2d47eb:_0x38d7e9[_0x287ef2(0xc40)]),_0x4153fd=!!(null!=(_0x4153fd=_0x5311fc['clipPlane4'])?_0x4153fd:_0x38d7e9[_0x287ef2(0x530)]),_0x1eec1a=!!(null!=(_0x1eec1a=_0x5311fc[_0x287ef2(0x7af)])?_0x1eec1a:_0x38d7e9[_0x287ef2(0x7af)]),_0x5311fc=!!(null!=(_0x5311fc=_0x5311fc[_0x287ef2(0x268)])?_0x5311fc:_0x38d7e9['clipPlane6']);_0x119426&&_0x507385[_0x287ef2(0x6fe)]('#define\x20CLIPPLANE'),_0xfb3e98&&_0x507385[_0x287ef2(0x6fe)]('#define\x20CLIPPLANE2'),_0x2d47eb&&_0x507385['push']('#define\x20CLIPPLANE3'),_0x4153fd&&_0x507385[_0x287ef2(0x6fe)]('#define\x20CLIPPLANE4'),_0x1eec1a&&_0x507385['push'](_0x287ef2(0x1b5)),_0x5311fc&&_0x507385['push'](_0x287ef2(0xabb));},'qx':()=>function(_0x77255d){var _0x116758=a7_0x3908;-0x1===_0x77255d[_0x116758(0x444)]('vClipPlane')&&_0x77255d[_0x116758(0x6fe)](_0x116758(0x201)),-0x1===_0x77255d[_0x116758(0x444)](_0x116758(0x57e))&&_0x77255d[_0x116758(0x6fe)](_0x116758(0x57e)),-0x1===_0x77255d['indexOf'](_0x116758(0xbf5))&&_0x77255d[_0x116758(0x6fe)](_0x116758(0xbf5)),-0x1===_0x77255d[_0x116758(0x444)]('vClipPlane4')&&_0x77255d[_0x116758(0x6fe)](_0x116758(0x369)),-0x1===_0x77255d[_0x116758(0x444)](_0x116758(0x987))&&_0x77255d[_0x116758(0x6fe)](_0x116758(0x987)),-0x1===_0x77255d[_0x116758(0x444)](_0x116758(0x5f2))&&_0x77255d['push']('vClipPlane6');}});},0xcef:(_0x537a37,_0x5967ac,_0x1dcd23)=>{var _0x11867e=a7_0x1ed280;_0x1dcd23['d'](_0x5967ac,{'q':()=>_0xba448d});class _0xba448d{constructor(_0x3016f1,_0x395d24=!0x0){var _0x268fb1=a7_0x3908;this[_0x268fb1(0x98f)]=null,this[_0x268fb1(0xa1b)]=null,this[_0x268fb1(0x7b5)]=_0x3016f1['createDrawContext'](),_0x395d24&&(this[_0x268fb1(0x1a7)]=_0x3016f1[_0x268fb1(0x298)]());}static[_0x11867e(0xad0)](_0x12916b){return void 0x0===_0x12916b['getPipelineContext'];}static[_0x11867e(0x863)](_0x73cd9b){var _0x4e5fd4=_0x11867e;return void 0x0===_0x73cd9b[_0x4e5fd4(0xc14)]?_0x73cd9b['effect']:_0x73cd9b;}[_0x11867e(0xac5)](_0x562b10,_0x3adec9,_0x3067ee=!0x0){var _0x185dcf=_0x11867e;this[_0x185dcf(0x98f)]=_0x562b10,void 0x0!==_0x3adec9&&(this[_0x185dcf(0xa1b)]=_0x3adec9),_0x3067ee&&null!=(_0x562b10=this[_0x185dcf(0x7b5)])&&_0x562b10[_0x185dcf(0xa4d)]();}[_0x11867e(0x27f)](){var _0x4a2d9c=_0x11867e,_0x493998;null!=(_0x493998=this[_0x4a2d9c(0x7b5)])&&_0x493998[_0x4a2d9c(0x27f)]();}}},0x6421:(_0x2ba5f9,_0x5c76f1,_0x10f627)=>{var _0x2a056f=a7_0x1ed280;_0x10f627['d'](_0x5c76f1,{'L':()=>_0x321001});class _0x321001{constructor(){var _0x215050=a7_0x3908;this['_defines']={},this['_currentRank']=0x20,this[_0x215050(0x1bc)]=-0x1,this['_mesh']=null;}[_0x2a056f(0x18c)](){this['_mesh']=null;}[_0x2a056f(0x1e9)](_0x128e18,_0x5aa281){var _0x2c3552=_0x2a056f;this[_0x2c3552(0x79d)][_0x128e18]||(_0x128e18this['_maxRank']&&(this[_0x2c3552(0x1bc)]=_0x128e18),this[_0x2c3552(0x79d)][_0x128e18]=new Array()),this[_0x2c3552(0x79d)][_0x128e18][_0x2c3552(0x6fe)](_0x5aa281);}[_0x2a056f(0xbd0)](_0x6bc496,_0x20d777){var _0xf7e900=_0x2a056f;this['_mesh']=_0x20d777,_0x6bc496this[_0xf7e900(0x1bc)]&&(this[_0xf7e900(0x1bc)]=_0x6bc496);}get[_0x2a056f(0x9a0)](){var _0xab297e=_0x2a056f;return this[_0xab297e(0x5a4)]<=this[_0xab297e(0x1bc)];}[_0x2a056f(0x546)](_0x2f881e,_0x58b054){var _0xc4a1d5=_0x2a056f;if(this['_mesh']&&this[_0xc4a1d5(0x42c)][_0xc4a1d5(0xcd7)]&&0x0{var _0x4242fc=a7_0x1ed280,_0x512547=_0x18b9ec(0x12fad),_0x4fc6de=_0x18b9ec(0x7c4f),_0x4fc6de=(Object['defineProperty'](_0x4fc6de['K']['prototype'],'decalMap',{'get':function(){var _0x27d4f6=a7_0x3908;if(!this['_decalMap']){if(this[_0x27d4f6(0x423)])return null;this[_0x27d4f6(0x17d)]=new _0x512547['E'](this);}return this[_0x27d4f6(0x17d)];},'enumerable':!0x0,'configurable':!0x0}),_0x18b9ec(0x1ee0));Object[_0x4242fc(0xa53)](_0x4fc6de['m'][_0x4242fc(0x3c6)],_0x4242fc(0x942),{'get':function(){var _0x51678d=_0x4242fc;if(!this[_0x51678d(0x17d)]){if(this[_0x51678d(0x423)])return null;this['_decalMap']=new _0x512547['E'](this);}return this[_0x51678d(0x17d)];},'enumerable':!0x0,'configurable':!0x0}),_0x18b9ec(0x19ba);},0x11e40:(_0x37d8be,_0x32133d,_0x39a704)=>{var _0x2ca26d=a7_0x1ed280;_0x39a704['d'](_0x32133d,{'H':()=>_0xc84f4d});class _0xc84f4d{constructor(_0x18becb){var _0x443213=a7_0x3908;if(this[_0x443213(0x91d)]=[],this[_0x443213(0x71c)]=!0x0,this[_0x443213(0x63e)]=!0x0,this[_0x443213(0x2e5)]=!0x1,this[_0x443213(0x272)]=!0x0,this[_0x443213(0x294)]=!0x0,this['_areFresnelDirty']=!0x0,this['_areMiscDirty']=!0x0,this[_0x443213(0x1fd)]=!0x0,this['_areImageProcessingDirty']=!0x0,this[_0x443213(0x138)]=!0x1,this['_uvs']=!0x1,this[_0x443213(0x799)]=!0x1,this[_0x443213(0x9cf)]=!0x1,this[_0x443213(0xa56)]=_0x18becb){for(const _0xced090 in _0x18becb)Object['prototype'][_0x443213(0x171)][_0x443213(0x9c8)](_0x18becb,_0xced090)&&this[_0x443213(0x324)](_0xced090);}}get[_0x2ca26d(0x77f)](){var _0x4721d4=_0x2ca26d;return this[_0x4721d4(0x71c)];}['markAsProcessed'](){var _0x4d383c=_0x2ca26d;this[_0x4d383c(0x71c)]=!0x1,this[_0x4d383c(0x272)]=!0x1,this['_areTexturesDirty']=!0x1,this[_0x4d383c(0xac9)]=!0x1,this[_0x4d383c(0x63e)]=!0x1,this[_0x4d383c(0x2e5)]=!0x1,this['_areMiscDirty']=!0x1,this[_0x4d383c(0x1fd)]=!0x1,this['_areImageProcessingDirty']=!0x1;}[_0x2ca26d(0x269)](){var _0x13c1f0=_0x2ca26d;this[_0x13c1f0(0x71c)]=!0x0;}[_0x2ca26d(0x9ae)](){var _0x2c6dcc=_0x2ca26d;this[_0x2c6dcc(0x294)]=!0x0,this[_0x2c6dcc(0x272)]=!0x0,this['_areLightsDirty']=!0x0,this['_areFresnelDirty']=!0x0,this['_areMiscDirty']=!0x0,this['_areImageProcessingDirty']=!0x0,this[_0x2c6dcc(0x71c)]=!0x0;}[_0x2ca26d(0x5a6)](){var _0x45d0a9=_0x2ca26d;this[_0x45d0a9(0x241)]=!0x0,this[_0x45d0a9(0x71c)]=!0x0;}['markAsLightDirty'](_0x4364ed=!0x1){var _0x1c937d=_0x2ca26d;this['_areLightsDirty']=!0x0,this[_0x1c937d(0x2e5)]=this[_0x1c937d(0x2e5)]||_0x4364ed,this[_0x1c937d(0x71c)]=!0x0;}[_0x2ca26d(0xcad)](){var _0x1f6c55=_0x2ca26d;this[_0x1f6c55(0x272)]=!0x0,this[_0x1f6c55(0x71c)]=!0x0;}[_0x2ca26d(0xba3)](){var _0x5d27b6=_0x2ca26d;this[_0x5d27b6(0x294)]=!0x0,this[_0x5d27b6(0x71c)]=!0x0;}[_0x2ca26d(0x227)](){var _0x243e4a=_0x2ca26d;this[_0x243e4a(0xac9)]=!0x0,this['_isDirty']=!0x0;}[_0x2ca26d(0xbcd)](){var _0x12db0a=_0x2ca26d;this[_0x12db0a(0x8e3)]=!0x0,this[_0x12db0a(0x71c)]=!0x0;}[_0x2ca26d(0xa0a)](){var _0x326bfe=_0x2ca26d;this['_arePrePassDirty']=!0x0,this[_0x326bfe(0x71c)]=!0x0;}[_0x2ca26d(0x84b)](){var _0x58d190=_0x2ca26d;this[_0x58d190(0x91d)][_0x58d190(0x78d)]=0x0;for(const _0x2d5f5c of Object[_0x58d190(0x95b)](this))'_'!==_0x2d5f5c[0x0]&&this['_keys'][_0x58d190(0x6fe)](_0x2d5f5c);if(this['_externalProperties']){for(const _0xe8bf3a in this[_0x58d190(0xa56)])-0x1===this[_0x58d190(0x91d)][_0x58d190(0x444)](_0xe8bf3a)&&this[_0x58d190(0x91d)][_0x58d190(0x6fe)](_0xe8bf3a);}}['isEqual'](_0x196b7c){var _0x3cec79=_0x2ca26d;if(this[_0x3cec79(0x91d)][_0x3cec79(0x78d)]!==_0x196b7c[_0x3cec79(0x91d)]['length'])return!0x1;for(let _0x13e4f6=0x0;_0x13e4f6this[_0x432e5d(0x324)](_0x40f586));}[_0x2ca26d(0x324)](_0x5eebcc){var _0x1504a2=_0x2ca26d,_0x199b4a,_0x2f7a1b=null!=(_0x2f7a1b=null==(_0x2f7a1b=null==(_0x2f7a1b=this[_0x1504a2(0xa56)])?void 0x0:_0x2f7a1b[_0x5eebcc])?void 0x0:_0x2f7a1b['type'])?_0x2f7a1b:typeof this[_0x5eebcc],_0x12ebc4=null==(_0x199b4a=null==(_0x199b4a=this['_externalProperties'])?void 0x0:_0x199b4a[_0x5eebcc])?void 0x0:_0x199b4a[_0x1504a2(0x34b)];switch(_0x2f7a1b){case _0x1504a2(0x7ed):this[_0x5eebcc]=null!=_0x12ebc4?_0x12ebc4:0x0;break;case _0x1504a2(0x738):this[_0x5eebcc]=null!=_0x12ebc4?_0x12ebc4:'';break;default:this[_0x5eebcc]=null!=_0x12ebc4&&_0x12ebc4;}}['toString'](){var _0x4b477a=_0x2ca26d;let _0x27a4d0='';for(let _0x1a4d8b=0x0;_0x1a4d8b{var _0x5eee57=a7_0x1ed280;_0x33d748['d'](_0x2d68a4,{'S':()=>_0x250648});function _0x3785e0(_0x51b28a,_0x357396,_0x36769a,_0xb3ad4b){var _0x305ede=a7_0x3908,_0xa1f51a,_0x473560=arguments['length'],_0x17b77a=_0x473560<0x3?_0x357396:null===_0xb3ad4b?_0xb3ad4b=Object[_0x305ede(0x4b7)](_0x357396,_0x36769a):_0xb3ad4b;if(_0x305ede(0xc71)==typeof Reflect&&_0x305ede(0x445)==typeof Reflect['decorate'])_0x17b77a=Reflect[_0x305ede(0x13d)](_0x51b28a,_0x357396,_0x36769a,_0xb3ad4b);else{for(var _0x5cdf56=_0x51b28a[_0x305ede(0x78d)]-0x1;0x0<=_0x5cdf56;_0x5cdf56--)(_0xa1f51a=_0x51b28a[_0x5cdf56])&&(_0x17b77a=(_0x473560<0x3?_0xa1f51a(_0x17b77a):0x3<_0x473560?_0xa1f51a(_0x357396,_0x36769a,_0x17b77a):_0xa1f51a(_0x357396,_0x36769a))||_0x17b77a);}0x3<_0x473560&&_0x17b77a&&Object[_0x305ede(0xa53)](_0x357396,_0x36769a,_0x17b77a);}var _0xab482c=_0x33d748(0x77a5),_0xec1169=_0x33d748(0x153ad);class _0x250648{constructor(){var _0x4a1a60=a7_0x3908;this[_0x4a1a60(0xa4d)]();}[_0x5eee57(0xa4d)](){var _0x1c859c=_0x5eee57;this[_0x1c859c(0xcf4)]=!0x1,this[_0x1c859c(0x18f)]=0xff,this[_0x1c859c(0x6aa)]=_0xab482c['g']['ALWAYS'],this[_0x1c859c(0x454)]=0x1,this[_0x1c859c(0x540)]=0xff,this['opStencilFail']=_0xab482c['g'][_0x1c859c(0x552)],this[_0x1c859c(0x64b)]=_0xab482c['g'][_0x1c859c(0x552)],this[_0x1c859c(0x95d)]=_0xab482c['g'][_0x1c859c(0xbd1)];}get[_0x5eee57(0x6aa)](){var _0x137860=_0x5eee57;return this[_0x137860(0x754)];}set['func'](_0x4d1da7){this['_func']=_0x4d1da7;}get[_0x5eee57(0x454)](){var _0x470d78=_0x5eee57;return this[_0x470d78(0x7cb)];}set[_0x5eee57(0x454)](_0x1efd7d){var _0x3c3003=_0x5eee57;this[_0x3c3003(0x7cb)]=_0x1efd7d;}get[_0x5eee57(0x540)](){var _0x31c203=_0x5eee57;return this[_0x31c203(0x9dd)];}set['funcMask'](_0x35fb25){this['_funcMask']=_0x35fb25;}get[_0x5eee57(0x91e)](){return this['_opStencilFail'];}set['opStencilFail'](_0x1c68be){this['_opStencilFail']=_0x1c68be;}get[_0x5eee57(0x64b)](){var _0x1a062c=_0x5eee57;return this[_0x1a062c(0xb29)];}set[_0x5eee57(0x64b)](_0x2059bc){var _0x455576=_0x5eee57;this[_0x455576(0xb29)]=_0x2059bc;}get['opStencilDepthPass'](){var _0x130628=_0x5eee57;return this[_0x130628(0x3a9)];}set[_0x5eee57(0x95d)](_0x135357){var _0x1e95fb=_0x5eee57;this[_0x1e95fb(0x3a9)]=_0x135357;}get[_0x5eee57(0x18f)](){var _0x508c04=_0x5eee57;return this[_0x508c04(0x1cb)];}set[_0x5eee57(0x18f)](_0x7d3af0){this['_mask']=_0x7d3af0;}get[_0x5eee57(0xcf4)](){var _0x5db7c7=_0x5eee57;return this[_0x5db7c7(0x94d)];}set[_0x5eee57(0xcf4)](_0x40d8c2){var _0x4ab868=_0x5eee57;this[_0x4ab868(0x94d)]=_0x40d8c2;}[_0x5eee57(0x979)](){return'MaterialStencilState';}['copyTo'](_0x12aff9){var _0x219c38=_0x5eee57;_0xec1169['p4'][_0x219c38(0x58b)](()=>_0x12aff9,this);}['serialize'](){return _0xec1169['p4']['Serialize'](this);}[_0x5eee57(0x730)](_0x5061e8,_0x93d467,_0x177db7){var _0x3c3990=_0x5eee57;_0xec1169['p4'][_0x3c3990(0xce0)](()=>this,_0x5061e8,_0x93d467,_0x177db7);}}_0x3785e0([(0x0,_0xec1169['qC'])()],_0x250648['prototype'],_0x5eee57(0x6aa),null),_0x3785e0([(0x0,_0xec1169['qC'])()],_0x250648[_0x5eee57(0x3c6)],_0x5eee57(0x454),null),_0x3785e0([(0x0,_0xec1169['qC'])()],_0x250648[_0x5eee57(0x3c6)],'funcMask',null),_0x3785e0([(0x0,_0xec1169['qC'])()],_0x250648['prototype'],_0x5eee57(0x91e),null),_0x3785e0([(0x0,_0xec1169['qC'])()],_0x250648['prototype'],_0x5eee57(0x64b),null),_0x3785e0([(0x0,_0xec1169['qC'])()],_0x250648[_0x5eee57(0x3c6)],_0x5eee57(0x95d),null),_0x3785e0([(0x0,_0xec1169['qC'])()],_0x250648[_0x5eee57(0x3c6)],_0x5eee57(0x18f),null),_0x3785e0([(0x0,_0xec1169['qC'])()],_0x250648['prototype'],_0x5eee57(0xcf4),null);},0x1836a:(_0x4e57a2,_0x5b4ef8,_0x320170)=>{var _0x4092be=a7_0x1ed280;_0x320170['d'](_0x5b4ef8,{'o':()=>_0x5a4e1a});var _0x5e9b9f=_0x320170(0x77a5);class _0x5a4e1a{constructor(){var _0x16ca6f=a7_0x3908;this[_0x16ca6f(0x81e)]={},this[_0x16ca6f(0xa0e)]={};}static['AddUniforms'](_0xf45905){var _0x4e3db5=a7_0x3908;_0xf45905[_0x4e3db5(0x6fe)](_0x4e3db5(0x3b0),'previousViewProjection',_0x4e3db5(0x5a5));}static[_0x4092be(0x360)](_0x130000){}['bindForSubMesh'](_0x3c98ca,_0x1817fa,_0x3c459f,_0x1ca394,_0xdcc0a2){var _0x1cb31e=_0x4092be,_0x3d644f;_0x1817fa[_0x1cb31e(0x219)]&&_0x1817fa[_0x1cb31e(0x219)][_0x1cb31e(0xcf4)]&&_0x1817fa[_0x1cb31e(0x219)]['currentRTisSceneRT']&&-0x1!==_0x1817fa[_0x1cb31e(0x219)]['getIndex'](_0x5e9b9f['g']['PREPASS_VELOCITY_TEXTURE_TYPE'])&&(this[_0x1cb31e(0x81e)][_0x3c459f[_0x1cb31e(0xa35)]]||(this[_0x1cb31e(0x81e)][_0x3c459f[_0x1cb31e(0xa35)]]=_0x1ca394['clone']()),this[_0x1cb31e(0x852)]||(this[_0x1cb31e(0x852)]=_0x1817fa[_0x1cb31e(0x55d)]()[_0x1cb31e(0xa3d)](),this[_0x1cb31e(0x3ef)]=_0x1817fa[_0x1cb31e(0x55d)]()['clone']()),_0x3d644f=_0x1817fa[_0x1cb31e(0x489)](),this['currentViewProjection'][_0x1cb31e(0xc8b)]!==_0x1817fa[_0x1cb31e(0x55d)]()[_0x1cb31e(0xc8b)]?(this[_0x1cb31e(0x9ad)]=_0x3d644f[_0x1cb31e(0xa77)],this[_0x1cb31e(0x852)][_0x1cb31e(0x717)](this[_0x1cb31e(0x3ef)]),this[_0x1cb31e(0x3ef)][_0x1cb31e(0x717)](_0x1817fa[_0x1cb31e(0x55d)]())):this[_0x1cb31e(0x9ad)]!==_0x3d644f[_0x1cb31e(0xa77)]&&(this[_0x1cb31e(0x9ad)]=_0x3d644f[_0x1cb31e(0xa77)],this['previousViewProjection'][_0x1cb31e(0x717)](this[_0x1cb31e(0x3ef)])),_0x3c98ca[_0x1cb31e(0x96d)](_0x1cb31e(0x3b0),this[_0x1cb31e(0x81e)][_0x3c459f['uniqueId']]),_0x3c98ca[_0x1cb31e(0x96d)]('previousViewProjection',this['previousViewProjection']),this['previousWorldMatrices'][_0x3c459f[_0x1cb31e(0xa35)]]=_0x1ca394['clone']());}}},0x58c8:(_0x3e6733,_0x202fb5,_0xe5cad8)=>{_0xe5cad8['d'](_0x202fb5,{'c':()=>_0x9cfc0a});class _0x9cfc0a{constructor(_0x5e96d0){var _0x8e93a2=a7_0x3908;this[_0x8e93a2(0x1fc)](_0x5e96d0)?(this['setMatrix3x3']=_0x5e96d0[_0x8e93a2(0x84a)]['bind'](_0x5e96d0),this[_0x8e93a2(0x314)]=_0x5e96d0[_0x8e93a2(0x4e7)][_0x8e93a2(0x5f4)](_0x5e96d0),this[_0x8e93a2(0x3d1)]=_0x5e96d0[_0x8e93a2(0x472)][_0x8e93a2(0x5f4)](_0x5e96d0),this['setFloat2']=_0x5e96d0['updateFloat2'][_0x8e93a2(0x5f4)](_0x5e96d0),this[_0x8e93a2(0x670)]=_0x5e96d0[_0x8e93a2(0x9cb)][_0x8e93a2(0x5f4)](_0x5e96d0),this['setFloat4']=_0x5e96d0[_0x8e93a2(0x974)][_0x8e93a2(0x5f4)](_0x5e96d0),this[_0x8e93a2(0x328)]=_0x5e96d0['updateFloatArray'][_0x8e93a2(0x5f4)](_0x5e96d0),this[_0x8e93a2(0xaa5)]=_0x5e96d0['updateArray'][_0x8e93a2(0x5f4)](_0x5e96d0),this[_0x8e93a2(0x3ad)]=_0x5e96d0[_0x8e93a2(0x302)][_0x8e93a2(0x5f4)](_0x5e96d0),this['setMatrix']=_0x5e96d0[_0x8e93a2(0x8d2)][_0x8e93a2(0x5f4)](_0x5e96d0),this[_0x8e93a2(0x885)]=_0x5e96d0[_0x8e93a2(0x600)][_0x8e93a2(0x5f4)](_0x5e96d0),this[_0x8e93a2(0x500)]=_0x5e96d0[_0x8e93a2(0x15b)][_0x8e93a2(0x5f4)](_0x5e96d0),this[_0x8e93a2(0x43a)]=_0x5e96d0[_0x8e93a2(0x6be)][_0x8e93a2(0x5f4)](_0x5e96d0),this[_0x8e93a2(0xaeb)]=_0x5e96d0['updateColor3'][_0x8e93a2(0x5f4)](_0x5e96d0),this[_0x8e93a2(0xadf)]=_0x5e96d0[_0x8e93a2(0x819)][_0x8e93a2(0x5f4)](_0x5e96d0),this[_0x8e93a2(0x40c)]=_0x5e96d0['updateDirectColor4'][_0x8e93a2(0x5f4)](_0x5e96d0),this[_0x8e93a2(0x455)]=_0x5e96d0[_0x8e93a2(0x684)][_0x8e93a2(0x5f4)](_0x5e96d0),this[_0x8e93a2(0x3d6)]=_0x5e96d0[_0x8e93a2(0x4a8)][_0x8e93a2(0x5f4)](_0x5e96d0),this['setInt3']=_0x5e96d0[_0x8e93a2(0x1ff)][_0x8e93a2(0x5f4)](_0x5e96d0),this[_0x8e93a2(0x5ab)]=_0x5e96d0[_0x8e93a2(0x980)][_0x8e93a2(0x5f4)](_0x5e96d0)):(this[_0x8e93a2(0x827)]=_0x5e96d0[_0x8e93a2(0x827)][_0x8e93a2(0x5f4)](_0x5e96d0),this['setMatrix2x2']=_0x5e96d0[_0x8e93a2(0x314)][_0x8e93a2(0x5f4)](_0x5e96d0),this[_0x8e93a2(0x3d1)]=_0x5e96d0[_0x8e93a2(0x3d1)]['bind'](_0x5e96d0),this[_0x8e93a2(0x1a4)]=_0x5e96d0[_0x8e93a2(0x1a4)][_0x8e93a2(0x5f4)](_0x5e96d0),this[_0x8e93a2(0x670)]=_0x5e96d0[_0x8e93a2(0x670)][_0x8e93a2(0x5f4)](_0x5e96d0),this[_0x8e93a2(0x20e)]=_0x5e96d0[_0x8e93a2(0x20e)][_0x8e93a2(0x5f4)](_0x5e96d0),this[_0x8e93a2(0x328)]=_0x5e96d0['setFloatArray'][_0x8e93a2(0x5f4)](_0x5e96d0),this[_0x8e93a2(0xaa5)]=_0x5e96d0[_0x8e93a2(0xaa5)][_0x8e93a2(0x5f4)](_0x5e96d0),this[_0x8e93a2(0x3ad)]=_0x5e96d0['setIntArray']['bind'](_0x5e96d0),this[_0x8e93a2(0x96d)]=_0x5e96d0[_0x8e93a2(0x96d)][_0x8e93a2(0x5f4)](_0x5e96d0),this[_0x8e93a2(0x885)]=_0x5e96d0[_0x8e93a2(0x885)][_0x8e93a2(0x5f4)](_0x5e96d0),this[_0x8e93a2(0x500)]=_0x5e96d0[_0x8e93a2(0x500)][_0x8e93a2(0x5f4)](_0x5e96d0),this[_0x8e93a2(0x43a)]=_0x5e96d0['setVector4'][_0x8e93a2(0x5f4)](_0x5e96d0),this[_0x8e93a2(0xaeb)]=_0x5e96d0[_0x8e93a2(0xaeb)][_0x8e93a2(0x5f4)](_0x5e96d0),this['setColor4']=_0x5e96d0['setColor4'][_0x8e93a2(0x5f4)](_0x5e96d0),this[_0x8e93a2(0x40c)]=_0x5e96d0[_0x8e93a2(0x40c)][_0x8e93a2(0x5f4)](_0x5e96d0),this[_0x8e93a2(0x455)]=_0x5e96d0['setInt'][_0x8e93a2(0x5f4)](_0x5e96d0),this[_0x8e93a2(0x3d6)]=_0x5e96d0['setInt2'][_0x8e93a2(0x5f4)](_0x5e96d0),this[_0x8e93a2(0x51e)]=_0x5e96d0[_0x8e93a2(0x51e)][_0x8e93a2(0x5f4)](_0x5e96d0),this['setInt4']=_0x5e96d0[_0x8e93a2(0x5ab)][_0x8e93a2(0x5f4)](_0x5e96d0));}['_isUbo'](_0x1b2641){var _0x2d7868=a7_0x3908;return void 0x0!==_0x1b2641[_0x2d7868(0x296)];}}},0xceed:(_0x3b38c8,_0x4d46b7,_0x490a83)=>{var _0x3a898a=a7_0x1ed280;_0x490a83['d'](_0x4d46b7,{'$':()=>_0x377380});class _0x377380{constructor(_0x44cf42,_0x254aac){var _0x1c48a4=a7_0x3908;this[_0x1c48a4(0xb58)]=_0x44cf42,this[_0x1c48a4(0x520)]=_0x254aac;}[_0x3a898a(0xaf3)](){var _0x5c129e=_0x3a898a;return _0x5c129e(0x8e4)+this['width']+_0x5c129e(0xd10)+this[_0x5c129e(0x520)]+'}';}[_0x3a898a(0x979)](){var _0x247fa0=_0x3a898a;return _0x247fa0(0x937);}[_0x3a898a(0x4d9)](){var _0x1598ee=_0x3a898a;return 0x18d*(0x0|this[_0x1598ee(0xb58)])^(0x0|this['height']);}['copyFrom'](_0x41145e){var _0x2f754d=_0x3a898a;this[_0x2f754d(0xb58)]=_0x41145e[_0x2f754d(0xb58)],this[_0x2f754d(0x520)]=_0x41145e[_0x2f754d(0x520)];}['copyFromFloats'](_0x4942d9,_0x308776){var _0x44ed3d=_0x3a898a;return this['width']=_0x4942d9,this[_0x44ed3d(0x520)]=_0x308776,this;}[_0x3a898a(0x532)](_0x256b31,_0x336d44){var _0x4cdd08=_0x3a898a;return this[_0x4cdd08(0x6e9)](_0x256b31,_0x336d44);}[_0x3a898a(0x5ae)](_0x273c1f,_0x108b52){var _0x1e57db=_0x3a898a;return new _0x377380(this['width']*_0x273c1f,this[_0x1e57db(0x520)]*_0x108b52);}[_0x3a898a(0xa3d)](){var _0x28e0e4=_0x3a898a;return new _0x377380(this[_0x28e0e4(0xb58)],this[_0x28e0e4(0x520)]);}[_0x3a898a(0x7e5)](_0x1711e0){var _0x306f2c=_0x3a898a;return!!_0x1711e0&&this[_0x306f2c(0xb58)]===_0x1711e0[_0x306f2c(0xb58)]&&this[_0x306f2c(0x520)]===_0x1711e0[_0x306f2c(0x520)];}get[_0x3a898a(0x4f9)](){var _0x1a1a7a=_0x3a898a;return this[_0x1a1a7a(0xb58)]*this[_0x1a1a7a(0x520)];}static[_0x3a898a(0xa70)](){return new _0x377380(0x0,0x0);}['add'](_0x43ef3f){var _0x5283bb=_0x3a898a;return new _0x377380(this['width']+_0x43ef3f[_0x5283bb(0xb58)],this[_0x5283bb(0x520)]+_0x43ef3f[_0x5283bb(0x520)]);}[_0x3a898a(0xc8a)](_0x18e184){var _0x9e03a4=_0x3a898a;return new _0x377380(this['width']-_0x18e184[_0x9e03a4(0xb58)],this['height']-_0x18e184[_0x9e03a4(0x520)]);}static[_0x3a898a(0x8bb)](_0x66db3d,_0x4df8de,_0x2ed2d4){var _0x4e3021=_0x3a898a,_0x53da4b=_0x66db3d['width']+(_0x4df8de['width']-_0x66db3d[_0x4e3021(0xb58)])*_0x2ed2d4,_0x4df8de=_0x66db3d['height']+(_0x4df8de['height']-_0x66db3d[_0x4e3021(0x520)])*_0x2ed2d4;return new _0x377380(_0x53da4b,_0x4df8de);}}},0x6fac:(_0x36a1c3,_0x496f0e,_0x55bb4f)=>{var _0x204ef8=a7_0x1ed280;_0x55bb4f['d'](_0x496f0e,{'l':()=>_0x364b83});class _0x364b83{constructor(_0x2ff0f8,_0x5d207b,_0x16aae7,_0x4dbfb5){var _0x800af5=a7_0x3908;this['x']=_0x2ff0f8,this['y']=_0x5d207b,this['width']=_0x16aae7,this[_0x800af5(0x520)]=_0x4dbfb5;}[_0x204ef8(0x4f5)](_0x12ba53,_0x120815){var _0x57f4cc=_0x204ef8;return new _0x364b83(this['x']*_0x12ba53,this['y']*_0x120815,this[_0x57f4cc(0xb58)]*_0x12ba53,this[_0x57f4cc(0x520)]*_0x120815);}[_0x204ef8(0x416)](_0x3d6e8a,_0x474a46,_0x214511){var _0x9132ce=_0x204ef8;return _0x214511['x']=this['x']*_0x3d6e8a,_0x214511['y']=this['y']*_0x474a46,_0x214511['width']=this[_0x9132ce(0xb58)]*_0x3d6e8a,_0x214511[_0x9132ce(0x520)]=this[_0x9132ce(0x520)]*_0x474a46,this;}['clone'](){var _0x3c9c30=_0x204ef8;return new _0x364b83(this['x'],this['y'],this[_0x3c9c30(0xb58)],this[_0x3c9c30(0x520)]);}}},0x19ba:(_0x5a4d70,_0x232e27,_0x25d3c0)=>{var _0x568ced=a7_0x1ed280;_0x25d3c0=_0x25d3c0(0x51f),Object[_0x568ced(0xa53)](_0x25d3c0['x'][_0x568ced(0x3c6)],_0x568ced(0x942),{'get':function(){var _0x3fa602=_0x568ced;return this[_0x3fa602(0x17d)];},'set':function(_0x29b5e7){var _0x2714b8=_0x568ced;this[_0x2714b8(0x17d)]=_0x29b5e7;},'enumerable':!0x0,'configurable':!0x0});},0x7bfa:(_0x1806c3,_0x32aa3b,_0xfb0e86)=>{_0xfb0e86['d'](_0x32aa3b,{'g':()=>_0x15e12d});class _0x15e12d{constructor(_0x3d3872,_0x469877){var _0x238c22=a7_0x3908;this[_0x238c22(0xcfd)]=_0x3d3872,this[_0x238c22(0x139)]=_0x469877;}}},0x53f7:(_0x1ced0d,_0x41d99b,_0x370d4c)=>{var _0x5a7040=a7_0x1ed280,_0x2a3dcc=_0x370d4c(0x77a5),_0x35de1e=_0x370d4c(0x9fd1),_0x370d4c=_0x370d4c(0x10187);_0x370d4c['P']['prototype'][_0x5a7040(0x37f)]=function(_0x531b49,_0x21f1a6,_0x5de174,_0x525ed7,_0x13c5e6,_0x5accea){var _0x4d28ff=_0x5a7040;const _0x401661=_0x35de1e['jp'][_0x4d28ff(0x20a)][0x0];var _0x31a675=_0x35de1e['jp'][_0x4d28ff(0x20a)][0x1];let _0x396833=Infinity;for(let _0x1ac012=this[_0x4d28ff(0x43b)];_0x1ac012{var _0x2d8727=a7_0x1ed280,_0x3b1cac=_0x266992(0x1dad),_0x2d1bee=_0x266992(0x1a27),_0x4a3f3e=_0x266992(0x9fd1),_0x482f55=_0x266992(0x10ea4),_0x5df90d=_0x266992(0xe30c);_0x3b1cac['Kj'][_0x2d8727(0x3c6)]['thinInstanceAdd']=function(_0x1fb6d4,_0x334236=!0x0){var _0x106475=_0x2d8727;if(!this['getScene']()[_0x106475(0x489)]()[_0x106475(0x19e)]()[_0x106475(0x318)])return _0x482f55['Y'][_0x106475(0xbfe)](_0x106475(0xb28)),-0x1;this['_thinInstanceUpdateBufferSize'](_0x106475(0x2ea),Array[_0x106475(0x8f6)](_0x1fb6d4)?_0x1fb6d4[_0x106475(0x78d)]:0x1);var _0x42fab6=this[_0x106475(0x970)]['instancesCount'];if(Array[_0x106475(0x8f6)](_0x1fb6d4)){for(let _0xa5d49f=0x0;_0xa5d49f<_0x1fb6d4[_0x106475(0x78d)];++_0xa5d49f)this[_0x106475(0xb84)](this[_0x106475(0x970)][_0x106475(0x8ed)]++,_0x1fb6d4[_0xa5d49f],_0xa5d49f===_0x1fb6d4['length']-0x1&&_0x334236);}else this[_0x106475(0xb84)](this[_0x106475(0x970)]['instancesCount']++,_0x1fb6d4,_0x334236);return _0x42fab6;},_0x3b1cac['Kj'][_0x2d8727(0x3c6)][_0x2d8727(0xcd2)]=function(_0x4163c1=!0x0){var _0x1648bf=_0x2d8727;return this[_0x1648bf(0xce3)](_0x4a3f3e['y3']['IdentityReadOnly'],_0x4163c1);},_0x3b1cac['Kj'][_0x2d8727(0x3c6)][_0x2d8727(0x1f8)]=function(_0x580664,_0x343af4){var _0x270314=_0x2d8727;_0x580664===_0x2d1bee['o']['ColorKind']&&(_0x580664=_0x2d1bee['o'][_0x270314(0x7cc)]),this['removeVerticesData'](_0x580664),this[_0x270314(0x75c)](),this[_0x270314(0x63a)][_0x270314(0x4e1)][_0x580664]=_0x343af4,this[_0x270314(0x63a)][_0x270314(0xb0a)][_0x580664]=_0x343af4*Math[_0x270314(0x843)](0x20,this[_0x270314(0x970)][_0x270314(0x8ed)]),this[_0x270314(0x63a)][_0x270314(0xd04)][_0x580664]=new Float32Array(this[_0x270314(0x63a)]['sizes'][_0x580664]),this[_0x270314(0x63a)][_0x270314(0x160)][_0x580664]=new _0x2d1bee['o'](this[_0x270314(0x489)](),this[_0x270314(0x63a)][_0x270314(0xd04)][_0x580664],_0x580664,!0x0,!0x1,_0x343af4,!0x0),this['setVerticesBuffer'](this[_0x270314(0x63a)][_0x270314(0x160)][_0x580664]);},_0x3b1cac['Kj'][_0x2d8727(0x3c6)][_0x2d8727(0xb84)]=function(_0x13d6c3,_0x4147b6,_0x427e39=!0x0){var _0x91f303=_0x2d8727;if(!this[_0x91f303(0x970)][_0x91f303(0x47c)]||_0x13d6c3>=this[_0x91f303(0x970)]['instancesCount'])return!0x1;var _0xac03b5=this[_0x91f303(0x970)][_0x91f303(0x47c)];return _0x4147b6['copyToArray'](_0xac03b5,0x10*_0x13d6c3),this['_thinInstanceDataStorage'][_0x91f303(0x359)]&&(this[_0x91f303(0x970)]['worldMatrices'][_0x13d6c3]=_0x4147b6),_0x427e39&&(this[_0x91f303(0xa8e)](_0x91f303(0x2ea)),this['doNotSyncBoundingInfo']||this[_0x91f303(0x560)](!0x1)),!0x0;},_0x3b1cac['Kj'][_0x2d8727(0x3c6)]['thinInstanceSetAttributeAt']=function(_0x492143,_0x51db3a,_0x2979cc,_0x5072b2=!0x0){var _0x52bc9a=_0x2d8727;return _0x492143===_0x2d1bee['o'][_0x52bc9a(0x9f7)]&&(_0x492143=_0x2d1bee['o']['ColorInstanceKind']),!(!this[_0x52bc9a(0x63a)]||!this[_0x52bc9a(0x63a)][_0x52bc9a(0xd04)][_0x492143]||_0x51db3a>=this[_0x52bc9a(0x970)][_0x52bc9a(0x8ed)]||(this[_0x52bc9a(0xce4)](_0x492143,0x0),this[_0x52bc9a(0x63a)][_0x52bc9a(0xd04)][_0x492143]['set'](_0x2979cc,_0x51db3a*this[_0x52bc9a(0x63a)][_0x52bc9a(0x4e1)][_0x492143]),_0x5072b2&&this['thinInstanceBufferUpdated'](_0x492143),0x0));},Object[_0x2d8727(0xa53)](_0x3b1cac['Kj']['prototype'],_0x2d8727(0xa82),{'get':function(){var _0x3e389f=_0x2d8727;return this[_0x3e389f(0x970)][_0x3e389f(0x8ed)];},'set':function(_0x27dc3c){var _0x24978e=_0x2d8727,_0x259bb7=null!=(_0x259bb7=this[_0x24978e(0x970)][_0x24978e(0x47c)])?_0x259bb7:null==(_0x259bb7=this[_0x24978e(0x908)])?void 0x0:_0x259bb7[_0x24978e(0x970)][_0x24978e(0x47c)];_0x27dc3c<=(_0x259bb7?_0x259bb7[_0x24978e(0x78d)]/0x10:0x0)&&(this['_thinInstanceDataStorage'][_0x24978e(0x8ed)]=_0x27dc3c);},'enumerable':!0x0,'configurable':!0x0}),_0x3b1cac['Kj'][_0x2d8727(0x3c6)][_0x2d8727(0x98b)]=function(_0x5a2b3f,_0xdf65d0,_0x46014c=!0x1){var _0x5de7fd=_0x2d8727;_0x5a2b3f===_0x2d1bee['o'][_0x5de7fd(0x9f7)]&&(_0x5a2b3f=_0x2d1bee['o'][_0x5de7fd(0x7cc)]);const _0x232e42=new _0x2d1bee['l'](this[_0x5de7fd(0x489)](),_0xdf65d0,!_0x46014c,0x10,!0x1,!0x0);for(let _0x10fbfc=0x0;_0x10fbfc<0x4;_0x10fbfc++)this[_0x5de7fd(0x465)](_0x232e42[_0x5de7fd(0x731)](_0x5a2b3f+_0x10fbfc,0x4*_0x10fbfc,0x4));return _0x232e42;},_0x3b1cac['Kj'][_0x2d8727(0x3c6)][_0x2d8727(0xc2d)]=function(_0x47c19f,_0x49578d,_0x5edea4=0x0,_0x3d8a79=!0x1){var _0x5b29c0=_0x2d8727,_0x4e2458;_0x5edea4=_0x5edea4||0x10,_0x5b29c0(0x2ea)===_0x47c19f?(null!=(_0x4e2458=this['_thinInstanceDataStorage'][_0x5b29c0(0x549)])&&_0x4e2458[_0x5b29c0(0x27f)](),this[_0x5b29c0(0x970)][_0x5b29c0(0x549)]=null,this[_0x5b29c0(0x970)]['matrixBufferSize']=_0x49578d?_0x49578d[_0x5b29c0(0x78d)]:0x20*_0x5edea4,this[_0x5b29c0(0x970)]['matrixData']=_0x49578d,(this['_thinInstanceDataStorage']['worldMatrices']=null)!==_0x49578d?(this[_0x5b29c0(0x970)][_0x5b29c0(0x8ed)]=_0x49578d[_0x5b29c0(0x78d)]/_0x5edea4,this[_0x5b29c0(0x970)][_0x5b29c0(0x549)]=this['_thinInstanceCreateMatrixBuffer']('world',_0x49578d,_0x3d8a79),this['doNotSyncBoundingInfo']||this[_0x5b29c0(0x560)](!0x1)):(this[_0x5b29c0(0x970)][_0x5b29c0(0x8ed)]=0x0,this['doNotSyncBoundingInfo']||this[_0x5b29c0(0x6f4)]())):_0x5b29c0(0x776)===_0x47c19f?(null!=(_0x4e2458=this[_0x5b29c0(0x970)]['previousMatrixBuffer'])&&_0x4e2458[_0x5b29c0(0x27f)](),(this['_thinInstanceDataStorage'][_0x5b29c0(0x640)]=null)!==(this['_thinInstanceDataStorage']['previousMatrixData']=_0x49578d)&&(this[_0x5b29c0(0x970)][_0x5b29c0(0x640)]=this['_thinInstanceCreateMatrixBuffer'](_0x5b29c0(0x3b0),_0x49578d,_0x3d8a79))):(_0x47c19f===_0x2d1bee['o'][_0x5b29c0(0x9f7)]&&(_0x47c19f=_0x2d1bee['o']['ColorInstanceKind']),null===_0x49578d?null!=(_0x4e2458=this[_0x5b29c0(0x63a)])&&_0x4e2458['data'][_0x47c19f]&&(this[_0x5b29c0(0x4a7)](_0x47c19f),delete this[_0x5b29c0(0x63a)][_0x5b29c0(0xd04)][_0x47c19f],delete this[_0x5b29c0(0x63a)][_0x5b29c0(0x4e1)][_0x47c19f],delete this[_0x5b29c0(0x63a)][_0x5b29c0(0xb0a)][_0x47c19f],delete this[_0x5b29c0(0x63a)][_0x5b29c0(0x160)][_0x47c19f]):(this[_0x5b29c0(0x75c)](),this[_0x5b29c0(0x63a)][_0x5b29c0(0xd04)][_0x47c19f]=_0x49578d,this[_0x5b29c0(0x63a)]['strides'][_0x47c19f]=_0x5edea4,this[_0x5b29c0(0x63a)]['sizes'][_0x47c19f]=_0x49578d[_0x5b29c0(0x78d)],this[_0x5b29c0(0x63a)][_0x5b29c0(0x160)][_0x47c19f]=new _0x2d1bee['o'](this[_0x5b29c0(0x489)](),_0x49578d,_0x47c19f,!_0x3d8a79,!0x1,_0x5edea4,!0x0),this[_0x5b29c0(0x465)](this[_0x5b29c0(0x63a)]['vertexBuffers'][_0x47c19f])));},_0x3b1cac['Kj'][_0x2d8727(0x3c6)][_0x2d8727(0xa8e)]=function(_0x11a300){var _0x4da5e9=_0x2d8727,_0x10857d;_0x4da5e9(0x2ea)===_0x11a300?null!=(_0x10857d=this[_0x4da5e9(0x970)][_0x4da5e9(0x549)])&&_0x10857d[_0x4da5e9(0xc16)](this[_0x4da5e9(0x970)][_0x4da5e9(0x47c)],0x0,this[_0x4da5e9(0x970)][_0x4da5e9(0x8ed)]):'previousMatrix'===_0x11a300?null!=(_0x10857d=this[_0x4da5e9(0x970)][_0x4da5e9(0x640)])&&_0x10857d[_0x4da5e9(0xc16)](this['_thinInstanceDataStorage'][_0x4da5e9(0xbc9)],0x0,this[_0x4da5e9(0x970)][_0x4da5e9(0x8ed)]):(_0x11a300===_0x2d1bee['o'][_0x4da5e9(0x9f7)]&&(_0x11a300=_0x2d1bee['o'][_0x4da5e9(0x7cc)]),null!=(_0x10857d=this['_userThinInstanceBuffersStorage'])&&_0x10857d[_0x4da5e9(0x160)][_0x11a300]&&this[_0x4da5e9(0x63a)][_0x4da5e9(0x160)][_0x11a300][_0x4da5e9(0xc16)](this[_0x4da5e9(0x63a)][_0x4da5e9(0xd04)][_0x11a300],0x0));},_0x3b1cac['Kj'][_0x2d8727(0x3c6)][_0x2d8727(0x800)]=function(_0x584a86,_0x47f426,_0x4d9997){var _0x4b31ea=_0x2d8727,_0xdd0876;_0x4b31ea(0x2ea)===_0x584a86?this['_thinInstanceDataStorage'][_0x4b31ea(0x549)]&&this['_thinInstanceDataStorage'][_0x4b31ea(0x549)][_0x4b31ea(0xc16)](_0x47f426,_0x4d9997):(_0x584a86===_0x2d1bee['o']['ColorKind']&&(_0x584a86=_0x2d1bee['o']['ColorInstanceKind']),null!=(_0xdd0876=this[_0x4b31ea(0x63a)])&&_0xdd0876[_0x4b31ea(0x160)][_0x584a86]&&this[_0x4b31ea(0x63a)]['vertexBuffers'][_0x584a86]['updateDirectly'](_0x47f426,_0x4d9997));},_0x3b1cac['Kj'][_0x2d8727(0x3c6)]['thinInstanceGetWorldMatrices']=function(){var _0x37bc46=_0x2d8727;if(!this[_0x37bc46(0x970)]['matrixData']||!this[_0x37bc46(0x970)][_0x37bc46(0x549)])return[];var _0x335907=this['_thinInstanceDataStorage'][_0x37bc46(0x47c)];if(!this[_0x37bc46(0x970)][_0x37bc46(0x359)]){this[_0x37bc46(0x970)]['worldMatrices']=new Array();for(let _0x16874d=0x0;_0x16874d{var _0x778603=a7_0x1ed280;_0x3ae52e['d'](_0x4d1da9,{'s':()=>_0xa76a18});class _0xa76a18{constructor(_0x38f0cc){var _0x597a16=a7_0x3908;this[_0x597a16(0x861)]=new Float32Array(_0x38f0cc),this[_0x597a16(0xc67)]=0x0;}get[_0x778603(0x410)](){var _0x45862f=_0x778603;return this[_0x45862f(0xc67)];}['at'](_0x471550){var _0x4303c5=_0x778603;return _0x471550<0x0||_0x471550>=this['_itemLength']?NaN:this[_0x4303c5(0x861)][_0x471550];}[_0x778603(0xba9)](_0x5765b1,_0x426256){var _0x3476f8=_0x778603;return _0x426256<=_0x5765b1||_0x5765b1<0x0?new Float32Array(0x0):(_0x426256>this[_0x3476f8(0xc67)]&&(_0x426256=this['_itemLength']),this['_view'][_0x3476f8(0xba9)](_0x5765b1,_0x426256));}[_0x778603(0x6fe)](_0x4a48ad){var _0xc65e6d=_0x778603;this[_0xc65e6d(0x861)][this[_0xc65e6d(0xc67)]]=_0x4a48ad,this[_0xc65e6d(0xc67)]++,this[_0xc65e6d(0xc67)]>=this[_0xc65e6d(0x861)][_0xc65e6d(0x78d)]&&this[_0xc65e6d(0x5f3)]();}['_growArray'](){var _0x160d25=_0x778603,_0x47a756=Math[_0x160d25(0x68f)](1.5*this[_0x160d25(0x861)][_0x160d25(0x78d)]);const _0x4cf2a1=new Float32Array(_0x47a756);_0x4cf2a1['set'](this[_0x160d25(0x861)]),this[_0x160d25(0x861)]=_0x4cf2a1;}}},0x13e71:(_0x36e0fa,_0xa6fb10,_0x4a231f)=>{var _0x43db79=a7_0x1ed280,_0x2940d6=_0x4a231f(0x1446b),_0x37eacc=_0x4a231f(0xf75);_0x2940d6['x'][_0x43db79(0x3c6)][_0x43db79(0x1f4)]=function(){var _0x577d58=_0x43db79;return this[_0x577d58(0x65b)]||(this['_perfCollector']=new _0x37eacc['P'](this)),this[_0x577d58(0x65b)];};},0x17a1c:(_0x59a7e3,_0x299ba6,_0x3ce8a4)=>{var _0x4a3a84=a7_0x1ed280;_0x3ce8a4['d'](_0x299ba6,{'q':()=>_0x1ff908});class _0x1ff908{static[_0x4a3a84(0xccb)](_0x16f5fc,_0x40ccd4){var _0x3d7a9f=_0x4a3a84;return _0x3d7a9f(0x7a8)===(_0x16f5fc=_0x16f5fc[_0x3d7a9f(0x744)](/\([^()]*\)/g)?_0x16f5fc[_0x3d7a9f(0xa09)](/\([^()]*\)/g,_0x1c7ece=>(_0x1c7ece=_0x1c7ece[_0x3d7a9f(0x80b)](0x1,_0x1c7ece[_0x3d7a9f(0x78d)]-0x1),_0x1ff908['_HandleParenthesisContent'](_0x1c7ece,_0x40ccd4))):_0x1ff908[_0x3d7a9f(0xb97)](_0x16f5fc,_0x40ccd4))||_0x3d7a9f(0x9f8)!==_0x16f5fc&&_0x1ff908[_0x3d7a9f(0xccb)](_0x16f5fc,_0x40ccd4);}static[_0x4a3a84(0xb97)](_0x52502c,_0x547e1b){var _0x1b7daa=_0x4a3a84;_0x547e1b=_0x547e1b||(_0x43d620=>_0x1b7daa(0x7a8)===_0x43d620);let _0x497c36;const _0x2f5dde=_0x52502c[_0x1b7daa(0x962)]('||');for(const _0x57b8dc in _0x2f5dde)if(Object[_0x1b7daa(0x3c6)][_0x1b7daa(0x171)][_0x1b7daa(0x9c8)](_0x2f5dde,_0x57b8dc)){let _0x2441b2=_0x1ff908[_0x1b7daa(0xa90)](_0x2f5dde[_0x57b8dc][_0x1b7daa(0xb96)]());const _0x3bf367=_0x2441b2['split']('&&');if(0x1<_0x3bf367[_0x1b7daa(0x78d)])for(let _0x1d81e6=0x0;_0x1d81e6<_0x3bf367[_0x1b7daa(0x78d)];++_0x1d81e6){const _0x5e8376=_0x1ff908[_0x1b7daa(0xa90)](_0x3bf367[_0x1d81e6][_0x1b7daa(0xb96)]());if(!(_0x497c36='true'!==_0x5e8376&&_0x1b7daa(0x9f8)!==_0x5e8376?'!'===_0x5e8376[0x0]?!_0x547e1b(_0x5e8376[_0x1b7daa(0xcce)](0x1)):_0x547e1b(_0x5e8376):_0x1b7daa(0x7a8)===_0x5e8376)){_0x2441b2=_0x1b7daa(0x9f8);break;}}if(_0x497c36||_0x1b7daa(0x7a8)===_0x2441b2){_0x497c36=!0x0;break;}_0x497c36=_0x1b7daa(0x7a8)!==_0x2441b2&&_0x1b7daa(0x9f8)!==_0x2441b2?'!'===_0x2441b2[0x0]?!_0x547e1b(_0x2441b2[_0x1b7daa(0xcce)](0x1)):_0x547e1b(_0x2441b2):_0x1b7daa(0x7a8)===_0x2441b2;}return _0x497c36?_0x1b7daa(0x7a8):_0x1b7daa(0x9f8);}static['_SimplifyNegation'](_0x2bdc8f){var _0x865853=_0x4a3a84;return _0x865853(0x6e0)===(_0x2bdc8f=(_0x2bdc8f=_0x2bdc8f['replace'](/^[\s!]+/,_0x11a499=>(_0x11a499=_0x11a499[_0x865853(0xa09)](/[\s]/g,()=>''))[_0x865853(0x78d)]%0x2?'!':''))['trim']())?_0x2bdc8f=_0x865853(0x9f8):_0x865853(0xc09)===_0x2bdc8f&&(_0x2bdc8f=_0x865853(0x7a8)),_0x2bdc8f;}}},0x5898:(_0x22904e,_0x186949,_0x23a4a9)=>{var _0x4b4d7d=a7_0x1ed280;_0x23a4a9['d'](_0x186949,{'B':()=>_0x3b2515,'M':()=>function(_0x2d5ac9,_0x309e06){const _0x54836f=_0x4132f5['map'](_0x3cd498=>{var _0x1e8fe5=a7_0x3908;{var _0x53a735=_0x2d5ac9,_0x498426=_0x3cd498,_0x132d24=_0x309e06;const _0xc619d5=_0x53a735[_0x498426];return _0x1e8fe5(0x445)!=typeof _0xc619d5?null:((_0xc619d5[_0x1e8fe5(0x434)]=_0x1afb6e)['previous']=_0xc619d5,_0x53a735[_0x498426]=_0x1afb6e,()=>{var _0x26c731=_0x1e8fe5;const _0x244e1c=_0x1afb6e[_0x26c731(0x5cd)];if(_0x244e1c){const _0x22fb2b=_0x1afb6e['next'];_0x22fb2b?(_0x244e1c[_0x26c731(0x434)]=_0x22fb2b)[_0x26c731(0x5cd)]=_0x244e1c:(_0x244e1c[_0x26c731(0x434)]=void 0x0,_0x53a735[_0x498426]=_0x244e1c),_0x1afb6e[_0x26c731(0x434)]=void 0x0,_0x1afb6e[_0x26c731(0x5cd)]=void 0x0;}});function _0x1afb6e(){var _0x5ae995=_0x1e8fe5,_0x321817=_0x53a735['length'],_0x52881c=_0x1afb6e[_0x5ae995(0x5cd)][_0x5ae995(0xcca)](_0x53a735,arguments);return _0x132d24(_0x498426,_0x321817),_0x52881c;}}});return()=>{_0x54836f['forEach'](_0x5ca960=>{null!=_0x5ca960&&_0x5ca960();});};}});class _0x3b2515{static[_0x4b4d7d(0x63c)](_0x1a5f5b,_0x40b0f2){const _0x24cfc6=[];for(let _0x4fcf13=0x0;_0x4fcf13<_0x1a5f5b;++_0x4fcf13)_0x24cfc6['push'](_0x40b0f2());return _0x24cfc6;}static['BuildTuple'](_0x5d67ac,_0x2f16d3){var _0x4a3f5a=_0x4b4d7d;return _0x3b2515[_0x4a3f5a(0x63c)](_0x5d67ac,_0x2f16d3);}}const _0x4132f5=[_0x4b4d7d(0x6fe),_0x4b4d7d(0xb1e),_0x4b4d7d(0x153),_0x4b4d7d(0x257),_0x4b4d7d(0x9b3)];},0x75be:(_0x5e6c52,_0x2f1cdd,_0x34670b)=>{_0x34670b['d'](_0x2f1cdd,{'AW':()=>function(_0xfc89ad){var _0x181fbc=a7_0x3908;return _0xfc89ad['replace'](/[.*+?^${}()|[\]\\]/g,_0x181fbc(0xd26));},'Kt':()=>function(_0x284ea3){var _0x1a95d1=a7_0x3908;let _0x37c04a=0x0,_0x10b963='',_0x475464=!0x1;const _0x3f0165=[];for(;_0x37c04a<_0x284ea3[_0x1a95d1(0x78d)];){var _0x40ce64,_0x4ecad1=_0x284ea3[_0x1a95d1(0x2c3)](_0x37c04a);if(_0x10b963)_0x4ecad1===_0x10b963?'\x22'===_0x10b963||'\x27'===_0x10b963?('\x5c'!==_0x284ea3[_0x1a95d1(0x2c3)](_0x37c04a-0x1)&&(_0x10b963=''),_0x3f0165['push'](_0x4ecad1)):(_0x10b963='',_0x475464=!0x1):'*/'===_0x10b963&&'*'===_0x4ecad1&&_0x37c04a+0x1<_0x284ea3[_0x1a95d1(0x78d)]?''===(_0x10b963='/'===_0x284ea3[_0x1a95d1(0x2c3)](_0x37c04a+0x1)?'':_0x10b963)&&(_0x475464=!0x1,_0x37c04a++):_0x475464||_0x3f0165[_0x1a95d1(0x6fe)](_0x4ecad1);else{switch(_0x4ecad1){case'\x22':case'\x27':case'`':_0x10b963=_0x4ecad1;break;case'/':_0x37c04a+0x1<_0x284ea3[_0x1a95d1(0x78d)]&&('/'===(_0x40ce64=_0x284ea3['charAt'](_0x37c04a+0x1))?(_0x10b963='\x0a',_0x475464=!0x0):'*'===_0x40ce64&&(_0x10b963='*/',_0x475464=!0x0));}_0x475464||_0x3f0165[_0x1a95d1(0x6fe)](_0x4ecad1);}_0x37c04a++;}return _0x3f0165[_0x1a95d1(0x60e)]('');},'Pm':()=>function(_0xf8f761,_0x48551d){var _0x27218d=a7_0x3908;for(;_0x48551d<_0xf8f761[_0x27218d(0x78d)];){var _0x2bb39f=_0xf8f761[_0x48551d];if('\x20'!==_0x2bb39f&&'\x0a'!==_0x2bb39f&&'\x0d'!==_0x2bb39f&&'\x09'!==_0x2bb39f&&'\x0a'!==_0x2bb39f&&'\u00a0'!==_0x2bb39f)break;_0x48551d++;}return _0x48551d;},'uA':()=>function(_0x5cd4d8){var _0x430e68=a7_0x3908;return _0x5cd4d8=_0x5cd4d8[_0x430e68(0xb22)](0x0),0x30<=_0x5cd4d8&&_0x5cd4d8<=0x39||0x41<=_0x5cd4d8&&_0x5cd4d8<=0x5a||0x61<=_0x5cd4d8&&_0x5cd4d8<=0x7a||0x5f==_0x5cd4d8;},'vt':()=>function(_0x5db28b,_0x216fdc,_0x17a22f,_0x4efbb7){var _0x511cd5=a7_0x3908;let _0xfcda5b=_0x4efbb7,_0x4b3d0b=0x0,_0x4574eb='';for(;_0xfcda5b<_0x17a22f['length'];){var _0x2273c0,_0x47b5d2=_0x17a22f[_0x511cd5(0x2c3)](_0xfcda5b);if(_0x4574eb)_0x47b5d2===_0x4574eb?('\x22'!==_0x4574eb&&'\x27'!==_0x4574eb||'\x5c'!==_0x17a22f[_0x511cd5(0x2c3)](_0xfcda5b-0x1))&&(_0x4574eb=''):'*/'===_0x4574eb&&'*'===_0x47b5d2&&_0xfcda5b+0x1<_0x17a22f[_0x511cd5(0x78d)]&&''===(_0x4574eb='/'===_0x17a22f['charAt'](_0xfcda5b+0x1)?'':_0x4574eb)&&_0xfcda5b++;else switch(_0x47b5d2){case _0x5db28b:_0x4b3d0b++;break;case _0x216fdc:_0x4b3d0b--;break;case'\x22':case'\x27':case'`':_0x4574eb=_0x47b5d2;break;case'/':_0xfcda5b+0x1<_0x17a22f['length']&&('/'===(_0x2273c0=_0x17a22f[_0x511cd5(0x2c3)](_0xfcda5b+0x1))?_0x4574eb='\x0a':'*'===_0x2273c0&&(_0x4574eb='*/'));}if(_0xfcda5b++,0x0===_0x4b3d0b)break;}return 0x0===_0x4b3d0b?_0xfcda5b-0x1:-0x1;},'wm':()=>function(_0x4678c7,_0x46c4bd,_0x4abb36){for(;0x0<=_0x46c4bd&&_0x4678c7['charAt'](_0x46c4bd)!==_0x4abb36;)_0x46c4bd--;return _0x46c4bd;}});},0x15cb9:(_0x39cbe7,_0x2e879e,_0x2635b0)=>{_0x2635b0['d'](_0x2e879e,{'S':()=>function(_0x312e8e){return _0x312e8e+'\x20needs\x20to\x20be\x20imported\x20before\x20as\x20it\x20contains\x20a\x20side-effect\x20required\x20by\x20your\x20code.';}});},0x15d46:(_0x4ce1ee,_0x53fe56,_0x4bffb1)=>{var _0x28a437=a7_0x1ed280;_0x4bffb1['d'](_0x53fe56,{'K':()=>_0x21ee2a});var _0x4beb94=_0x4bffb1(0x10ea4),_0x2139ca=_0x4bffb1(0xe456);class _0x21ee2a{static[_0x28a437(0x4cd)](_0x405cc5){var _0x33a721=_0x28a437;if(this[_0x33a721(0x897)]&&this[_0x33a721(0x897)][_0x405cc5])return this['RegisteredExternalClasses'][_0x405cc5];var _0x32cc63=(0x0,_0x2139ca['q'])(_0x405cc5);if(_0x32cc63)return _0x32cc63;_0x4beb94['Y'][_0x33a721(0x72a)](_0x405cc5+_0x33a721(0x387));var _0x125c6f=_0x405cc5['split']('.');let _0x5215fb=window||this;for(let _0x3b03f4=0x0,_0x4042e3=_0x125c6f[_0x33a721(0x78d)];_0x3b03f4<_0x4042e3;_0x3b03f4++)_0x5215fb=_0x5215fb[_0x125c6f[_0x3b03f4]];return _0x33a721(0x445)!=typeof _0x5215fb?null:_0x5215fb;}}_0x21ee2a[_0x28a437(0x897)]={};},0xd78e:(_0x43562d,_0x248e21,_0x283aa2)=>{var _0x1e621f=a7_0x1ed280,_0x420520=_0x283aa2(0xf96c),_0xbec75a=_0x283aa2(0x9bf);_0x420520['y$'][_0x1e621f(0x3c6)]['runCoroutineAsync']=function(_0xb5e7e5){var _0x29b99f=_0x1e621f,_0x4a5018;return this[_0x29b99f(0x8f3)]||(_0x4a5018=function(_0x4f11f6){var _0x4fb952=_0x29b99f;const _0x2fe341=new Array(),_0x512dfb=new Array(),_0x127a56=new Array(),_0x36e466=_0x4f11f6[_0x4fb952(0x95e)](()=>{var _0xcb277d=_0x4fb952,_0x421c79=_0x2fe341[_0xcb277d(0x78d)];for(let _0xdda677=0x0;_0xdda677<_0x421c79;_0xdda677++)(0x0,_0xbec75a['WP'])(_0x2fe341[_0xcb277d(0x257)](),_0x512dfb[_0xcb277d(0x257)](),_0x127a56[_0xcb277d(0x257)]());});return{'scheduler':(_0x5975e6,_0x283325,_0x54065e)=>{var _0x102129=_0x4fb952;_0x2fe341[_0x102129(0x6fe)](_0x5975e6),_0x512dfb[_0x102129(0x6fe)](_0x283325),_0x127a56['push'](_0x54065e);},'dispose':()=>{var _0xf7d2c5=_0x4fb952;_0x4f11f6[_0xf7d2c5(0x961)](_0x36e466);}};}(this),this[_0x29b99f(0x8f3)]=_0x4a5018['scheduler'],this[_0x29b99f(0x15e)]=_0x4a5018['dispose']),(0x0,_0xbec75a['sM'])(_0xb5e7e5,this['_coroutineScheduler']);},_0x420520['y$']['prototype']['cancelAllCoroutines']=function(){var _0x43e794=_0x1e621f;this[_0x43e794(0x15e)]&&this[_0x43e794(0x15e)](),this[_0x43e794(0x8f3)]=void 0x0,this[_0x43e794(0x15e)]=void 0x0;};},0x1447:(_0x5a2bca,_0x54b40c,_0x2855b7)=>{var _0x49f30e=a7_0x1ed280;_0x2855b7['d'](_0x54b40c,{'b':()=>_0x232b05});class _0x232b05{static[_0x49f30e(0x1e4)](_0x4c8393=0x3,_0x6e1993=0x1f4){var _0x34927f=_0x49f30e;return(_0x204787,_0x3902fb,_0x394df1)=>0x0!==_0x3902fb[_0x34927f(0x54f)]||_0x4c8393<=_0x394df1||-0x1!==_0x204787['indexOf'](_0x34927f(0x7f4))?-0x1:Math[_0x34927f(0x48c)](0x2,_0x394df1)*_0x6e1993;}}},0x5de7:(_0x5a00d3,_0x458b50,_0xe1a6a6)=>{var _0x410fbe=a7_0x1ed280;_0xe1a6a6['d'](_0x458b50,{'x':()=>_0x4a2715});class _0x4a2715{constructor(){this['_count']=0x0,this['_data']={};}['copyFrom'](_0x2eb5d0){var _0x4d7d95=a7_0x3908;this['clear'](),_0x2eb5d0[_0x4d7d95(0x832)]((_0xb440bd,_0x524272)=>this[_0x4d7d95(0x95e)](_0xb440bd,_0x524272));}['get'](_0x275f90){var _0x575188=a7_0x3908;_0x275f90=this[_0x575188(0x23f)][_0x275f90];if(void 0x0!==_0x275f90)return _0x275f90;}[_0x410fbe(0x58a)](_0x348118,_0x8a549b){var _0x2ca0dc=_0x410fbe;let _0x333960=this[_0x2ca0dc(0x620)](_0x348118);return void 0x0===_0x333960&&(_0x333960=_0x8a549b(_0x348118))&&this[_0x2ca0dc(0x95e)](_0x348118,_0x333960),_0x333960;}[_0x410fbe(0x2b8)](_0x556088,_0x5a97b2){var _0x48c961=_0x410fbe,_0x1b5926=this[_0x48c961(0x620)](_0x556088);return void 0x0!==_0x1b5926?_0x1b5926:(this[_0x48c961(0x95e)](_0x556088,_0x5a97b2),_0x5a97b2);}[_0x410fbe(0x2f9)](_0x29814f){var _0x597a5a=_0x410fbe;return void 0x0!==this[_0x597a5a(0x23f)][_0x29814f];}[_0x410fbe(0x95e)](_0x56e08e,_0x5cbbce){var _0x5bc7ec=_0x410fbe;return void 0x0===this[_0x5bc7ec(0x23f)][_0x56e08e]&&(this[_0x5bc7ec(0x23f)][_0x56e08e]=_0x5cbbce,++this[_0x5bc7ec(0x605)],!0x0);}[_0x410fbe(0x532)](_0xfa5d4a,_0x593d51){var _0x5c9a7f=_0x410fbe;return void 0x0!==this['_data'][_0xfa5d4a]&&(this[_0x5c9a7f(0x23f)][_0xfa5d4a]=_0x593d51,!0x0);}[_0x410fbe(0xc89)](_0x549c9b){var _0x4bf636=this['get'](_0x549c9b);return void 0x0!==_0x4bf636?(delete this['_data'][_0x549c9b],--this['_count'],_0x4bf636):null;}[_0x410fbe(0x961)](_0x5715e3){var _0x1f6a23=_0x410fbe;return!!this[_0x1f6a23(0x2f9)](_0x5715e3)&&(delete this['_data'][_0x5715e3],--this[_0x1f6a23(0x605)],!0x0);}[_0x410fbe(0x5b8)](){var _0x14c58f=_0x410fbe;this['_data']={},this[_0x14c58f(0x605)]=0x0;}get['count'](){var _0xa0be05=_0x410fbe;return this[_0xa0be05(0x605)];}[_0x410fbe(0x832)](_0x3b589e){var _0xf168f0=_0x410fbe;for(const _0x51badd in this['_data']){var _0x1beee1=this[_0xf168f0(0x23f)][_0x51badd];_0x3b589e(_0x51badd,_0x1beee1);}}[_0x410fbe(0x993)](_0x48dad0){var _0xc0eb20=_0x410fbe;for(const _0x190651 in this[_0xc0eb20(0x23f)]){var _0x2d9595=this[_0xc0eb20(0x23f)][_0x190651],_0x2d9595=_0x48dad0(_0x190651,_0x2d9595);if(_0x2d9595)return _0x2d9595;}return null;}}},0x16361:(_0x119d4d,_0x4f14ed,_0x65b310)=>{var _0x58692d=a7_0x1ed280;_0x65b310['d'](_0x4f14ed,{'$':()=>_0xe4daf9});var _0x51edc0=_0x65b310(0x17a1c);class _0xe4daf9{static[_0x58692d(0xcb4)](_0x53b584){var _0x31b687=_0x58692d;_0x53b584[_0x31b687(0x28d)]=_0x53b584['_tags']||{},_0x53b584['hasTags']=()=>_0xe4daf9['HasTags'](_0x53b584),_0x53b584[_0x31b687(0xa2c)]=_0x5e49e3=>_0xe4daf9[_0x31b687(0x3eb)](_0x53b584,_0x5e49e3),_0x53b584[_0x31b687(0xa8d)]=_0x59a013=>_0xe4daf9[_0x31b687(0x2a2)](_0x53b584,_0x59a013),_0x53b584[_0x31b687(0x45f)]=_0x457b85=>_0xe4daf9[_0x31b687(0x4c0)](_0x53b584,_0x457b85);}static[_0x58692d(0x87d)](_0x92034a){var _0x5ca440=_0x58692d;delete _0x92034a['_tags'],delete _0x92034a[_0x5ca440(0x79c)],delete _0x92034a['addTags'],delete _0x92034a[_0x5ca440(0xa8d)],delete _0x92034a['matchesTagsQuery'];}static[_0x58692d(0xcf9)](_0x1f89a3){var _0x2c720d=_0x58692d;if(!_0x1f89a3[_0x2c720d(0x28d)])return!0x1;var _0xadf545=_0x1f89a3[_0x2c720d(0x28d)];for(const _0x2cd799 in _0xadf545)if(Object[_0x2c720d(0x3c6)][_0x2c720d(0x171)][_0x2c720d(0x9c8)](_0xadf545,_0x2cd799))return!0x0;return!0x1;}static[_0x58692d(0x21a)](_0x4b7bae,_0x26f4a4=!0x0){var _0x3fd109=_0x58692d;if(!_0x4b7bae[_0x3fd109(0x28d)])return null;if(_0x26f4a4){const _0x4909f9=[];for(const _0x1ad66f in _0x4b7bae[_0x3fd109(0x28d)])Object[_0x3fd109(0x3c6)]['hasOwnProperty'][_0x3fd109(0x9c8)](_0x4b7bae[_0x3fd109(0x28d)],_0x1ad66f)&&!0x0===_0x4b7bae[_0x3fd109(0x28d)][_0x1ad66f]&&_0x4909f9['push'](_0x1ad66f);return _0x4909f9[_0x3fd109(0x60e)]('\x20');}return _0x4b7bae[_0x3fd109(0x28d)];}static[_0x58692d(0x3eb)](_0x580a95,_0x2654f0){var _0x5a27e6=_0x58692d;if(_0x2654f0&&_0x5a27e6(0x738)==typeof _0x2654f0){const _0x39bc03=_0x2654f0[_0x5a27e6(0x962)]('\x20');_0x39bc03[_0x5a27e6(0x832)](function(_0x2c6dc3){var _0xd483fa=_0x5a27e6;_0xe4daf9[_0xd483fa(0x9eb)](_0x580a95,_0x2c6dc3);});}}static[_0x58692d(0x9eb)](_0x5880bf,_0x4797c6){var _0xd1ed17=_0x58692d;''===(_0x4797c6=_0x4797c6['trim']())||_0xd1ed17(0x7a8)===_0x4797c6||'false'===_0x4797c6||_0x4797c6[_0xd1ed17(0x744)](/[\s]/)||_0x4797c6[_0xd1ed17(0x744)](/^([!]|([|]|[&]){2})/)||(_0xe4daf9['EnableFor'](_0x5880bf),_0x5880bf[_0xd1ed17(0x28d)][_0x4797c6]=!0x0);}static[_0x58692d(0x2a2)](_0x1bba9e,_0x5bd96a){var _0x10060f=_0x58692d;if(_0xe4daf9[_0x10060f(0xcf9)](_0x1bba9e)){var _0x326e1a=_0x5bd96a[_0x10060f(0x962)]('\x20');for(const _0x42116b in _0x326e1a)_0xe4daf9[_0x10060f(0x3e8)](_0x1bba9e,_0x326e1a[_0x42116b]);}}static[_0x58692d(0x3e8)](_0x1a549f,_0x13bd20){var _0x508bdf=_0x58692d;delete _0x1a549f[_0x508bdf(0x28d)][_0x13bd20];}static[_0x58692d(0x4c0)](_0x3245c5,_0x1bffc4){var _0x2dca95=_0x58692d;return void 0x0===_0x1bffc4||(''===_0x1bffc4?_0xe4daf9['HasTags'](_0x3245c5):_0x51edc0['q'][_0x2dca95(0xccb)](_0x1bffc4,_0x894571=>_0xe4daf9[_0x2dca95(0xcf9)](_0x3245c5)&&_0x3245c5['_tags'][_0x894571]));}}},0xd84a:(_0x4306d5,_0x11c3cb,_0x578dbf)=>{var _0x32d5a9=a7_0x1ed280;_0x578dbf['d'](_0x11c3cb,{'Q':()=>_0x5bd3ac});var _0xeb3f3e=_0x578dbf(0x18233);class _0x5bd3ac{static[_0x32d5a9(0xbf3)](_0x2e2f53){var _0x561995=_0x32d5a9;(0x0,_0xeb3f3e['CG'])()&&window[_0x561995(0x248)]?window[_0x561995(0x248)](_0x2e2f53):setTimeout(_0x2e2f53,0x1);}}},0xc98:(_0x2cc504,_0x481deb,_0x1b1801)=>{var _0x4f1055=a7_0x1ed280;_0x1b1801['d'](_0x481deb,{'L':()=>_0x17b2b5});var _0xb76cdb=_0x1b1801(0x1266b),_0x2b67de=_0x1b1801(0x9fd1),_0x33402f=_0x1b1801(0x1b5c);class _0x17b2b5{constructor(_0x4fe51c=0x1,_0xcda3fd=Math['PI'],_0x381dda=0x0){var _0x4f4e9e=a7_0x3908;this[_0x4f4e9e(0x19f)]=_0x381dda,this['radiusRange']=0x1,this['heightRange']=0x1,this[_0x4f4e9e(0x69d)]=!0x1,this[_0x4f4e9e(0x8b9)]=_0xcda3fd,this[_0x4f4e9e(0x1d3)]=_0x4fe51c;}get['radius'](){return this['_radius'];}set[_0x4f1055(0x1d3)](_0xbc08c1){var _0x813f17=_0x4f1055;this[_0x813f17(0x68e)]=_0xbc08c1,this['_buildHeight']();}get[_0x4f1055(0x8b9)](){var _0xb25fe3=_0x4f1055;return this[_0xb25fe3(0x13e)];}set[_0x4f1055(0x8b9)](_0x3de1ee){var _0x3dbcd0=_0x4f1055;this[_0x3dbcd0(0x13e)]=_0x3de1ee,this['_buildHeight']();}[_0x4f1055(0x2b3)](){var _0x5e45d8=_0x4f1055;0x0!==this[_0x5e45d8(0x13e)]?this['_height']=this[_0x5e45d8(0x68e)]/Math[_0x5e45d8(0x92c)](this[_0x5e45d8(0x13e)]/0x2):this[_0x5e45d8(0x7f9)]=0x1;}[_0x4f1055(0x760)](_0x36aea4,_0x3ce068,_0x26f38b,_0x52ad55){var _0x25c990=_0x4f1055;(_0x52ad55?_0x2b67de['jp']['Vector3'][0x0][_0x25c990(0x717)](_0x26f38b[_0x25c990(0xa06)]):_0x26f38b['position'][_0x25c990(0x59d)](_0x36aea4[_0x25c990(0x826)](),_0x2b67de['jp'][_0x25c990(0x20a)][0x0]))[_0x25c990(0x400)](),(_0x52ad55=_0x33402f['R']['RandomRange'](0x0,this[_0x25c990(0x19f)]),_0x26f38b=_0x33402f['R'][_0x25c990(0x2c6)](0x0,this[_0x25c990(0x19f)]),_0x36aea4=_0x33402f['R'][_0x25c990(0x2c6)](0x0,this['directionRandomizer'])),(_0x3ce068['x']=_0x2b67de['jp']['Vector3'][0x0]['x']+_0x52ad55,_0x3ce068['y']=_0x2b67de['jp'][_0x25c990(0x20a)][0x0]['y']+_0x26f38b,_0x3ce068['z']=_0x2b67de['jp'][_0x25c990(0x20a)][0x0]['z']+_0x36aea4,_0x3ce068[_0x25c990(0x400)]());}[_0x4f1055(0x894)](_0x982826,_0x3d558b,_0x32d942,_0x32d2fc){var _0x2aff3b=_0x4f1055,_0x5d9044=_0x33402f['R']['RandomRange'](0x0,0x2*Math['PI']);let _0xca7c79;_0xca7c79=this[_0x2aff3b(0x69d)]?0.0001:0x1-(_0xca7c79=_0x33402f['R'][_0x2aff3b(0x2c6)](0x0,this['heightRange']))*_0xca7c79;var _0x414ff1=this['_radius']-_0x33402f['R'][_0x2aff3b(0x2c6)](0x0,this[_0x2aff3b(0x68e)]*this[_0x2aff3b(0x392)]),_0x3521bc=(_0x414ff1*=_0xca7c79)*Math[_0x2aff3b(0x991)](_0x5d9044),_0x414ff1=_0x414ff1*Math[_0x2aff3b(0x1dc)](_0x5d9044),_0x5d9044=_0xca7c79*this['_height'];if(_0x32d2fc)return _0x3d558b['x']=_0x3521bc,_0x3d558b['y']=_0x5d9044,void(_0x3d558b['z']=_0x414ff1);_0x2b67de['P'][_0x2aff3b(0x53c)](_0x3521bc,_0x5d9044,_0x414ff1,_0x982826,_0x3d558b);}[_0x4f1055(0xa3d)](){var _0x54526c=_0x4f1055,_0x39ecbd=new _0x17b2b5(this[_0x54526c(0x68e)],this[_0x54526c(0x13e)],this[_0x54526c(0x19f)]);return _0xb76cdb['j'][_0x54526c(0x4f4)](this,_0x39ecbd),_0x39ecbd;}[_0x4f1055(0x7d9)](_0x4f80f2){var _0x384472=_0x4f1055;_0x4f80f2['setFloat2'](_0x384472(0x1d3),this[_0x384472(0x68e)],this[_0x384472(0x392)]),_0x4f80f2['setFloat']('coneAngle',this[_0x384472(0x13e)]),_0x4f80f2[_0x384472(0x1a4)](_0x384472(0x520),this[_0x384472(0x7f9)],this[_0x384472(0x5d2)]),_0x4f80f2[_0x384472(0x3d1)](_0x384472(0x19f),this[_0x384472(0x19f)]);}[_0x4f1055(0x199)](_0xb457cf){var _0xa79abc=_0x4f1055;_0xb457cf['addUniform'](_0xa79abc(0x1d3),0x2),_0xb457cf[_0xa79abc(0x296)](_0xa79abc(0x23c),0x1),_0xb457cf[_0xa79abc(0x296)](_0xa79abc(0x520),0x2),_0xb457cf[_0xa79abc(0x296)](_0xa79abc(0x19f),0x1);}[_0x4f1055(0x1a3)](){var _0x5a3534=_0x4f1055;let _0x25982e=_0x5a3534(0x222);return this[_0x5a3534(0x69d)]&&(_0x25982e+=_0x5a3534(0x53f)),_0x25982e;}[_0x4f1055(0x979)](){return'ConeParticleEmitter';}[_0x4f1055(0x7f7)](){var _0x4a874c=_0x4f1055;const _0xdf5d86={};return _0xdf5d86[_0x4a874c(0x3db)]=this[_0x4a874c(0x979)](),_0xdf5d86[_0x4a874c(0x1d3)]=this[_0x4a874c(0x68e)],_0xdf5d86[_0x4a874c(0x8b9)]=this[_0x4a874c(0x13e)],_0xdf5d86[_0x4a874c(0x19f)]=this[_0x4a874c(0x19f)],_0xdf5d86['radiusRange']=this[_0x4a874c(0x392)],_0xdf5d86['heightRange']=this[_0x4a874c(0x5d2)],_0xdf5d86[_0x4a874c(0x69d)]=this['emitFromSpawnPointOnly'],_0xdf5d86;}['parse'](_0x30d847){var _0x261b2b=_0x4f1055;this[_0x261b2b(0x1d3)]=_0x30d847[_0x261b2b(0x1d3)],this[_0x261b2b(0x8b9)]=_0x30d847[_0x261b2b(0x8b9)],this[_0x261b2b(0x19f)]=_0x30d847[_0x261b2b(0x19f)],this[_0x261b2b(0x392)]=void 0x0!==_0x30d847[_0x261b2b(0x392)]?_0x30d847[_0x261b2b(0x392)]:0x1,this[_0x261b2b(0x5d2)]=void 0x0!==_0x30d847['radiusRange']?_0x30d847[_0x261b2b(0x5d2)]:0x1,this[_0x261b2b(0x69d)]=void 0x0!==_0x30d847['emitFromSpawnPointOnly']&&_0x30d847[_0x261b2b(0x69d)];}}},0x3694:(_0x49e3a2,_0x467317,_0x3bd24c)=>{var _0x2c62c8=a7_0x1ed280;_0x3bd24c['d'](_0x467317,{'k':()=>_0x45dd8a,'z':()=>_0x1acc28});var _0x20ffba=_0x3bd24c(0x9fd1),_0x3b65e6=_0x3bd24c(0x1b5c),_0x292e41=_0x3bd24c(0x1266b);class _0x45dd8a{constructor(_0xa25221=0x1,_0x1956a4=0x1,_0x5eba33=0x1,_0xd4d65c=0x0){var _0x45438d=a7_0x3908;this[_0x45438d(0x1d3)]=_0xa25221,this[_0x45438d(0x520)]=_0x1956a4,this[_0x45438d(0x392)]=_0x5eba33,this['directionRandomizer']=_0xd4d65c,this[_0x45438d(0x623)]=_0x20ffba['P'][_0x45438d(0xa70)]();}[_0x2c62c8(0x760)](_0x7728fc,_0xa6985,_0xc365,_0x1ff34d,_0x7dd360){var _0x372f96=_0x2c62c8;_0xc365[_0x372f96(0x9e3)]['subtractToRef'](_0x7728fc[_0x372f96(0x826)](),this[_0x372f96(0x623)]),this[_0x372f96(0x623)][_0x372f96(0x400)](),_0x20ffba['P'][_0x372f96(0x7ad)](this['_tempVector'],_0x7dd360,this[_0x372f96(0x623)]),(_0xc365=_0x3b65e6['R'][_0x372f96(0x2c6)](-this['directionRandomizer']/0x2,this[_0x372f96(0x19f)]/0x2),_0x7dd360=Math['atan2'](this[_0x372f96(0x623)]['x'],this[_0x372f96(0x623)]['z'])),(_0x7dd360+=_0x3b65e6['R']['RandomRange'](-Math['PI']/0x2,Math['PI']/0x2)*this['directionRandomizer'],this[_0x372f96(0x623)]['y']=_0xc365,this[_0x372f96(0x623)]['x']=Math[_0x372f96(0x991)](_0x7dd360),this['_tempVector']['z']=Math['cos'](_0x7dd360),this[_0x372f96(0x623)][_0x372f96(0x400)](),_0x1ff34d?_0xa6985[_0x372f96(0x717)](this[_0x372f96(0x623)]):_0x20ffba['P']['TransformNormalFromFloatsToRef'](this[_0x372f96(0x623)]['x'],this[_0x372f96(0x623)]['y'],this['_tempVector']['z'],_0x7728fc,_0xa6985));}[_0x2c62c8(0x894)](_0x5ac8ed,_0x424a53,_0x1f8133,_0x2ff525){var _0xd7e4b=_0x2c62c8,_0x433546=_0x3b65e6['R'][_0xd7e4b(0x2c6)](-this[_0xd7e4b(0x520)]/0x2,this['height']/0x2),_0x1bff6e=_0x3b65e6['R'][_0xd7e4b(0x2c6)](0x0,0x2*Math['PI']),_0x56335f=_0x3b65e6['R'][_0xd7e4b(0x2c6)]((0x1-this[_0xd7e4b(0x392)])*(0x1-this[_0xd7e4b(0x392)]),0x1),_0x56335f=Math[_0xd7e4b(0x79e)](_0x56335f)*this[_0xd7e4b(0x1d3)],_0xfbc884=_0x56335f*Math[_0xd7e4b(0x1dc)](_0x1bff6e),_0x56335f=_0x56335f*Math[_0xd7e4b(0x991)](_0x1bff6e);_0x2ff525?_0x424a53['copyFromFloats'](_0xfbc884,_0x433546,_0x56335f):_0x20ffba['P'][_0xd7e4b(0x53c)](_0xfbc884,_0x433546,_0x56335f,_0x5ac8ed,_0x424a53);}[_0x2c62c8(0xa3d)](){var _0x854d39=_0x2c62c8,_0x22fb2f=new _0x45dd8a(this[_0x854d39(0x1d3)],this[_0x854d39(0x19f)]);return _0x292e41['j'][_0x854d39(0x4f4)](this,_0x22fb2f),_0x22fb2f;}[_0x2c62c8(0x7d9)](_0x5d8f8e){var _0x39bb24=_0x2c62c8;_0x5d8f8e['setFloat'](_0x39bb24(0x1d3),this[_0x39bb24(0x1d3)]),_0x5d8f8e['setFloat'](_0x39bb24(0x520),this[_0x39bb24(0x520)]),_0x5d8f8e['setFloat'](_0x39bb24(0x392),this[_0x39bb24(0x392)]),_0x5d8f8e[_0x39bb24(0x3d1)]('directionRandomizer',this['directionRandomizer']);}[_0x2c62c8(0x199)](_0x1ace50){var _0x5a1436=_0x2c62c8;_0x1ace50[_0x5a1436(0x296)](_0x5a1436(0x1d3),0x1),_0x1ace50[_0x5a1436(0x296)](_0x5a1436(0x520),0x1),_0x1ace50[_0x5a1436(0x296)](_0x5a1436(0x392),0x1),_0x1ace50[_0x5a1436(0x296)](_0x5a1436(0x19f),0x1);}['getEffectDefines'](){var _0x2667a6=_0x2c62c8;return _0x2667a6(0xae4);}[_0x2c62c8(0x979)](){var _0x211c0f=_0x2c62c8;return _0x211c0f(0x5bc);}[_0x2c62c8(0x7f7)](){var _0x51ee3f=_0x2c62c8;const _0x4bf733={};return _0x4bf733[_0x51ee3f(0x3db)]=this['getClassName'](),_0x4bf733['radius']=this[_0x51ee3f(0x1d3)],_0x4bf733[_0x51ee3f(0x520)]=this[_0x51ee3f(0x520)],_0x4bf733[_0x51ee3f(0x392)]=this['radiusRange'],_0x4bf733[_0x51ee3f(0x19f)]=this[_0x51ee3f(0x19f)],_0x4bf733;}['parse'](_0x336fc8){var _0x257c7c=_0x2c62c8;this[_0x257c7c(0x1d3)]=_0x336fc8[_0x257c7c(0x1d3)],this['height']=_0x336fc8['height'],this[_0x257c7c(0x392)]=_0x336fc8[_0x257c7c(0x392)],this[_0x257c7c(0x19f)]=_0x336fc8['directionRandomizer'];}}class _0x1acc28 extends _0x45dd8a{constructor(_0x68b627=0x1,_0x3d0fe1=0x1,_0x4cab65=0x1,_0x1a123f=new _0x20ffba['P'](0x0,0x1,0x0),_0x243c3a=new _0x20ffba['P'](0x0,0x1,0x0)){var _0x2f44b8=_0x2c62c8;super(_0x68b627,_0x3d0fe1,_0x4cab65),this[_0x2f44b8(0x6b9)]=_0x1a123f,this['direction2']=_0x243c3a;}[_0x2c62c8(0x760)](_0x27c3e1,_0x28aec8){var _0x4be11a=_0x2c62c8,_0x2da511=_0x3b65e6['R']['RandomRange'](this['direction1']['x'],this[_0x4be11a(0x6fd)]['x']),_0xe88c28=_0x3b65e6['R']['RandomRange'](this['direction1']['y'],this[_0x4be11a(0x6fd)]['y']),_0x24b8a7=_0x3b65e6['R'][_0x4be11a(0x2c6)](this[_0x4be11a(0x6b9)]['z'],this['direction2']['z']);_0x20ffba['P'][_0x4be11a(0xb7b)](_0x2da511,_0xe88c28,_0x24b8a7,_0x27c3e1,_0x28aec8);}[_0x2c62c8(0xa3d)](){var _0x2bab82=_0x2c62c8,_0x5279eb=new _0x1acc28(this[_0x2bab82(0x1d3)],this[_0x2bab82(0x520)],this[_0x2bab82(0x392)],this[_0x2bab82(0x6b9)],this[_0x2bab82(0x6fd)]);return _0x292e41['j']['DeepCopy'](this,_0x5279eb),_0x5279eb;}[_0x2c62c8(0x7d9)](_0x1c8a2d){var _0x4044e3=_0x2c62c8;_0x1c8a2d[_0x4044e3(0x3d1)]('radius',this['radius']),_0x1c8a2d[_0x4044e3(0x3d1)](_0x4044e3(0x520),this[_0x4044e3(0x520)]),_0x1c8a2d[_0x4044e3(0x3d1)]('radiusRange',this[_0x4044e3(0x392)]),_0x1c8a2d[_0x4044e3(0x500)](_0x4044e3(0x6b9),this[_0x4044e3(0x6b9)]),_0x1c8a2d[_0x4044e3(0x500)](_0x4044e3(0x6fd),this[_0x4044e3(0x6fd)]);}[_0x2c62c8(0x199)](_0x23b346){var _0x39e958=_0x2c62c8;_0x23b346[_0x39e958(0x296)](_0x39e958(0x1d3),0x1),_0x23b346[_0x39e958(0x296)](_0x39e958(0x520),0x1),_0x23b346[_0x39e958(0x296)](_0x39e958(0x392),0x1),_0x23b346[_0x39e958(0x296)]('direction1',0x3),_0x23b346[_0x39e958(0x296)](_0x39e958(0x6fd),0x3);}[_0x2c62c8(0x1a3)](){var _0x16ba95=_0x2c62c8;return _0x16ba95(0xaff);}[_0x2c62c8(0x979)](){var _0x383b62=_0x2c62c8;return _0x383b62(0x634);}[_0x2c62c8(0x7f7)](){var _0x1fc878=_0x2c62c8;const _0x4b0119=super[_0x1fc878(0x7f7)]();return _0x4b0119[_0x1fc878(0x6b9)]=this[_0x1fc878(0x6b9)][_0x1fc878(0x9ac)](),_0x4b0119[_0x1fc878(0x6fd)]=this[_0x1fc878(0x6fd)][_0x1fc878(0x9ac)](),_0x4b0119;}[_0x2c62c8(0x730)](_0x49b5cf){var _0x508536=_0x2c62c8;super[_0x508536(0x730)](_0x49b5cf),this[_0x508536(0x6b9)][_0x508536(0x717)](_0x49b5cf[_0x508536(0x6b9)]),this[_0x508536(0x6fd)]['copyFrom'](_0x49b5cf['direction2']);}}},0x139b8:(_0x438492,_0x544def,_0x47dc14)=>{var _0x125efa=a7_0x1ed280;_0x47dc14['d'](_0x544def,{'V':()=>_0x1c5cf3});var _0x3f6fe2=_0x47dc14(0x1266b),_0x19dd11=_0x47dc14(0x9fd1),_0x401bde=_0x47dc14(0x1b5c);class _0x1c5cf3{constructor(_0x167df3=0x1,_0x26a423=0x1,_0x3b7aba=0x0){var _0xa25999=a7_0x3908;this[_0xa25999(0x1d3)]=_0x167df3,this['radiusRange']=_0x26a423,this['directionRandomizer']=_0x3b7aba;}[_0x125efa(0x760)](_0x407249,_0x1511f3,_0x3ecea6,_0x425ed4){var _0x1be189=_0x125efa;const _0x1b755d=_0x3ecea6[_0x1be189(0x9e3)][_0x1be189(0xc8a)](_0x407249[_0x1be189(0x826)]())[_0x1be189(0x400)]();var _0x3ecea6=_0x401bde['R']['RandomRange'](0x0,this[_0x1be189(0x19f)]),_0x4553c6=_0x401bde['R'][_0x1be189(0x2c6)](0x0,this[_0x1be189(0x19f)]),_0xc35891=_0x401bde['R'][_0x1be189(0x2c6)](0x0,this['directionRandomizer']);_0x1b755d['x']+=_0x3ecea6,_0x1b755d['y']+=_0x4553c6,_0x1b755d['z']+=_0xc35891,_0x1b755d['normalize'](),_0x425ed4?_0x1511f3[_0x1be189(0x717)](_0x1b755d):_0x19dd11['P'][_0x1be189(0xb7b)](_0x1b755d['x'],_0x1b755d['y'],_0x1b755d['z'],_0x407249,_0x1511f3);}['startPositionFunction'](_0x28e4b3,_0x1ec6d6,_0xa29135,_0x3b4219){var _0x1e4577=_0x125efa,_0x4da6a2=this[_0x1e4577(0x1d3)]-_0x401bde['R']['RandomRange'](0x0,this[_0x1e4577(0x1d3)]*this['radiusRange']),_0x1d3d72=_0x401bde['R'][_0x1e4577(0x2c6)](0x0,0x1),_0x10eac5=_0x401bde['R']['RandomRange'](0x0,0x2*Math['PI']),_0x1d3d72=Math[_0x1e4577(0x73d)](0x2*_0x1d3d72-0x1),_0x5183bc=_0x4da6a2*Math[_0x1e4577(0x1dc)](_0x10eac5)*Math['sin'](_0x1d3d72),_0x177250=_0x4da6a2*Math['cos'](_0x1d3d72),_0x4da6a2=_0x4da6a2*Math[_0x1e4577(0x991)](_0x10eac5)*Math[_0x1e4577(0x991)](_0x1d3d72);_0x3b4219?_0x1ec6d6['copyFromFloats'](_0x5183bc,Math[_0x1e4577(0x48e)](_0x177250),_0x4da6a2):_0x19dd11['P'][_0x1e4577(0x53c)](_0x5183bc,Math[_0x1e4577(0x48e)](_0x177250),_0x4da6a2,_0x28e4b3,_0x1ec6d6);}['clone'](){var _0x569f8f=_0x125efa,_0x1bd3ac=new _0x1c5cf3(this[_0x569f8f(0x1d3)],this[_0x569f8f(0x19f)]);return _0x3f6fe2['j'][_0x569f8f(0x4f4)](this,_0x1bd3ac),_0x1bd3ac;}[_0x125efa(0x7d9)](_0x52e3ff){var _0x291c26=_0x125efa;_0x52e3ff[_0x291c26(0x3d1)](_0x291c26(0x1d3),this[_0x291c26(0x1d3)]),_0x52e3ff['setFloat']('radiusRange',this[_0x291c26(0x392)]),_0x52e3ff[_0x291c26(0x3d1)]('directionRandomizer',this[_0x291c26(0x19f)]);}[_0x125efa(0x199)](_0x243949){var _0x3ffcd8=_0x125efa;_0x243949[_0x3ffcd8(0x296)](_0x3ffcd8(0x1d3),0x1),_0x243949['addUniform'](_0x3ffcd8(0x392),0x1),_0x243949['addUniform']('directionRandomizer',0x1);}[_0x125efa(0x1a3)](){var _0x4424a2=_0x125efa;return _0x4424a2(0xcd6);}['getClassName'](){var _0x565302=_0x125efa;return _0x565302(0x165);}[_0x125efa(0x7f7)](){var _0x350f5f=_0x125efa;const _0x43301b={};return _0x43301b['type']=this['getClassName'](),_0x43301b[_0x350f5f(0x1d3)]=this['radius'],_0x43301b[_0x350f5f(0x392)]=this['radiusRange'],_0x43301b[_0x350f5f(0x19f)]=this[_0x350f5f(0x19f)],_0x43301b;}['parse'](_0xd0037f){var _0xb0428a=_0x125efa;this[_0xb0428a(0x1d3)]=_0xd0037f['radius'],this[_0xb0428a(0x392)]=_0xd0037f[_0xb0428a(0x392)],this[_0xb0428a(0x19f)]=_0xd0037f[_0xb0428a(0x19f)];}}},0x14ce1:(_0x27aa3e,_0x1a98e0,_0x34ca22)=>{var _0x2b99e9=a7_0x1ed280;_0x34ca22['d'](_0x1a98e0,{'c':()=>_0x1c5c39});var _0x1b4382=_0x34ca22(0x1266b),_0x1499f5=_0x34ca22(0x9fd1),_0x2edcb4=_0x34ca22(0x1b5c);class _0x1c5c39{constructor(){var _0x483596=a7_0x3908;this[_0x483596(0x6b9)]=new _0x1499f5['P'](0x0,0x1,0x0),this[_0x483596(0x6fd)]=new _0x1499f5['P'](0x0,0x1,0x0);}['startDirectionFunction'](_0x22f127,_0x5d8863,_0x1f67b3,_0x42bb1a){var _0x464ed0=a7_0x3908,_0x147bef=_0x2edcb4['R'][_0x464ed0(0x2c6)](this[_0x464ed0(0x6b9)]['x'],this[_0x464ed0(0x6fd)]['x']),_0xf78107=_0x2edcb4['R'][_0x464ed0(0x2c6)](this[_0x464ed0(0x6b9)]['y'],this[_0x464ed0(0x6fd)]['y']),_0xeefb9e=_0x2edcb4['R']['RandomRange'](this['direction1']['z'],this[_0x464ed0(0x6fd)]['z']);_0x42bb1a?_0x5d8863[_0x464ed0(0x6e9)](_0x147bef,_0xf78107,_0xeefb9e):_0x1499f5['P'][_0x464ed0(0xb7b)](_0x147bef,_0xf78107,_0xeefb9e,_0x22f127,_0x5d8863);}[_0x2b99e9(0x894)](_0xae8080,_0x1970a5,_0x3309ec,_0x10c0c7){var _0x25b112=_0x2b99e9;_0x10c0c7?_0x1970a5[_0x25b112(0x6e9)](0x0,0x0,0x0):_0x1499f5['P']['TransformCoordinatesFromFloatsToRef'](0x0,0x0,0x0,_0xae8080,_0x1970a5);}[_0x2b99e9(0xa3d)](){var _0x481145=_0x2b99e9,_0x683d3d=new _0x1c5c39();return _0x1b4382['j'][_0x481145(0x4f4)](this,_0x683d3d),_0x683d3d;}[_0x2b99e9(0x7d9)](_0x94fea2){var _0xfe40=_0x2b99e9;_0x94fea2['setVector3'](_0xfe40(0x6b9),this[_0xfe40(0x6b9)]),_0x94fea2[_0xfe40(0x500)](_0xfe40(0x6fd),this[_0xfe40(0x6fd)]);}[_0x2b99e9(0x199)](_0xdfa7ee){var _0x15a42e=_0x2b99e9;_0xdfa7ee[_0x15a42e(0x296)](_0x15a42e(0x6b9),0x3),_0xdfa7ee[_0x15a42e(0x296)]('direction2',0x3);}[_0x2b99e9(0x1a3)](){return'#define\x20POINTEMITTER';}['getClassName'](){var _0x42c347=_0x2b99e9;return _0x42c347(0x333);}[_0x2b99e9(0x7f7)](){var _0x500560=_0x2b99e9;const _0x2af342={};return _0x2af342[_0x500560(0x3db)]=this[_0x500560(0x979)](),_0x2af342[_0x500560(0x6b9)]=this[_0x500560(0x6b9)][_0x500560(0x9ac)](),_0x2af342[_0x500560(0x6fd)]=this[_0x500560(0x6fd)][_0x500560(0x9ac)](),_0x2af342;}['parse'](_0x2cc5a5){var _0x5a8f3c=_0x2b99e9;_0x1499f5['P'][_0x5a8f3c(0x3c3)](_0x2cc5a5['direction1'],0x0,this[_0x5a8f3c(0x6b9)]),_0x1499f5['P'][_0x5a8f3c(0x3c3)](_0x2cc5a5['direction2'],0x0,this[_0x5a8f3c(0x6fd)]);}}},0x1511c:(_0x306600,_0x43fff9,_0xc706ec)=>{var _0x213848=a7_0x1ed280;_0xc706ec['d'](_0x43fff9,{'A':()=>_0x17b5f3,'c':()=>_0x486c21});var _0x236513=_0xc706ec(0x9fd1),_0x34a3ee=_0xc706ec(0x1b5c),_0x1fb462=_0xc706ec(0x1266b);class _0x17b5f3{constructor(_0x47dcf4=0x1,_0x1af08f=0x1,_0x513f3d=0x0){var _0x2b6a3c=a7_0x3908;this[_0x2b6a3c(0x1d3)]=_0x47dcf4,this['radiusRange']=_0x1af08f,this[_0x2b6a3c(0x19f)]=_0x513f3d;}[_0x213848(0x760)](_0x367b1f,_0x288558,_0x137d7f,_0x35400b){var _0x3603ca=_0x213848;const _0x2a7849=_0x137d7f[_0x3603ca(0x9e3)]['subtract'](_0x367b1f[_0x3603ca(0x826)]())[_0x3603ca(0x400)]();var _0x137d7f=_0x34a3ee['R']['RandomRange'](0x0,this[_0x3603ca(0x19f)]),_0x144173=_0x34a3ee['R'][_0x3603ca(0x2c6)](0x0,this[_0x3603ca(0x19f)]),_0x5cfb3e=_0x34a3ee['R'][_0x3603ca(0x2c6)](0x0,this[_0x3603ca(0x19f)]);_0x2a7849['x']+=_0x137d7f,_0x2a7849['y']+=_0x144173,_0x2a7849['z']+=_0x5cfb3e,_0x2a7849[_0x3603ca(0x400)](),_0x35400b?_0x288558[_0x3603ca(0x717)](_0x2a7849):_0x236513['P']['TransformNormalFromFloatsToRef'](_0x2a7849['x'],_0x2a7849['y'],_0x2a7849['z'],_0x367b1f,_0x288558);}[_0x213848(0x894)](_0x4ed2c6,_0x33894f,_0x17d9b6,_0x17ce69){var _0x216eaf=_0x213848,_0x379442=this[_0x216eaf(0x1d3)]-_0x34a3ee['R'][_0x216eaf(0x2c6)](0x0,this['radius']*this[_0x216eaf(0x392)]),_0x5db5e0=_0x34a3ee['R'][_0x216eaf(0x2c6)](0x0,0x1),_0x149562=_0x34a3ee['R']['RandomRange'](0x0,0x2*Math['PI']),_0x5db5e0=Math['acos'](0x2*_0x5db5e0-0x1),_0x19e852=_0x379442*Math[_0x216eaf(0x1dc)](_0x149562)*Math['sin'](_0x5db5e0),_0x3d3f7f=_0x379442*Math['cos'](_0x5db5e0),_0x379442=_0x379442*Math[_0x216eaf(0x991)](_0x149562)*Math[_0x216eaf(0x991)](_0x5db5e0);_0x17ce69?_0x33894f[_0x216eaf(0x6e9)](_0x19e852,_0x3d3f7f,_0x379442):_0x236513['P'][_0x216eaf(0x53c)](_0x19e852,_0x3d3f7f,_0x379442,_0x4ed2c6,_0x33894f);}[_0x213848(0xa3d)](){var _0x4e9df7=_0x213848,_0x2558f2=new _0x17b5f3(this[_0x4e9df7(0x1d3)],this[_0x4e9df7(0x19f)]);return _0x1fb462['j'][_0x4e9df7(0x4f4)](this,_0x2558f2),_0x2558f2;}['applyToShader'](_0x22c462){var _0x5a2404=_0x213848;_0x22c462[_0x5a2404(0x3d1)](_0x5a2404(0x1d3),this[_0x5a2404(0x1d3)]),_0x22c462[_0x5a2404(0x3d1)](_0x5a2404(0x392),this['radiusRange']),_0x22c462[_0x5a2404(0x3d1)](_0x5a2404(0x19f),this[_0x5a2404(0x19f)]);}[_0x213848(0x199)](_0x5214e0){var _0x539530=_0x213848;_0x5214e0[_0x539530(0x296)](_0x539530(0x1d3),0x1),_0x5214e0['addUniform'](_0x539530(0x392),0x1),_0x5214e0['addUniform'](_0x539530(0x19f),0x1);}[_0x213848(0x1a3)](){var _0xc3ccc4=_0x213848;return _0xc3ccc4(0x8ab);}['getClassName'](){var _0x28dbab=_0x213848;return _0x28dbab(0x15c);}[_0x213848(0x7f7)](){var _0x5766f4=_0x213848;const _0xab3d83={};return _0xab3d83[_0x5766f4(0x3db)]=this[_0x5766f4(0x979)](),_0xab3d83[_0x5766f4(0x1d3)]=this[_0x5766f4(0x1d3)],_0xab3d83['radiusRange']=this[_0x5766f4(0x392)],_0xab3d83[_0x5766f4(0x19f)]=this[_0x5766f4(0x19f)],_0xab3d83;}['parse'](_0x3ee145){var _0xcc165a=_0x213848;this[_0xcc165a(0x1d3)]=_0x3ee145['radius'],this['radiusRange']=_0x3ee145[_0xcc165a(0x392)],this[_0xcc165a(0x19f)]=_0x3ee145[_0xcc165a(0x19f)];}}class _0x486c21 extends _0x17b5f3{constructor(_0x32bb6d=0x1,_0x5d6391=new _0x236513['P'](0x0,0x1,0x0),_0x326cbe=new _0x236513['P'](0x0,0x1,0x0)){var _0x3bfffe=_0x213848;super(_0x32bb6d),this[_0x3bfffe(0x6b9)]=_0x5d6391,this['direction2']=_0x326cbe;}['startDirectionFunction'](_0x319c0a,_0x2ee5c8){var _0x4f3a57=_0x213848,_0x17f950=_0x34a3ee['R']['RandomRange'](this[_0x4f3a57(0x6b9)]['x'],this[_0x4f3a57(0x6fd)]['x']),_0x43bb3a=_0x34a3ee['R'][_0x4f3a57(0x2c6)](this['direction1']['y'],this[_0x4f3a57(0x6fd)]['y']),_0x5f1aa3=_0x34a3ee['R'][_0x4f3a57(0x2c6)](this['direction1']['z'],this[_0x4f3a57(0x6fd)]['z']);_0x236513['P']['TransformNormalFromFloatsToRef'](_0x17f950,_0x43bb3a,_0x5f1aa3,_0x319c0a,_0x2ee5c8);}[_0x213848(0xa3d)](){var _0x2aa0dc=_0x213848,_0x170995=new _0x486c21(this[_0x2aa0dc(0x1d3)],this[_0x2aa0dc(0x6b9)],this[_0x2aa0dc(0x6fd)]);return _0x1fb462['j']['DeepCopy'](this,_0x170995),_0x170995;}[_0x213848(0x7d9)](_0x5675bb){var _0x20138d=_0x213848;_0x5675bb[_0x20138d(0x3d1)](_0x20138d(0x1d3),this[_0x20138d(0x1d3)]),_0x5675bb[_0x20138d(0x3d1)]('radiusRange',this[_0x20138d(0x392)]),_0x5675bb['setVector3'](_0x20138d(0x6b9),this[_0x20138d(0x6b9)]),_0x5675bb[_0x20138d(0x500)](_0x20138d(0x6fd),this['direction2']);}[_0x213848(0x199)](_0x51b371){var _0x44bbbc=_0x213848;_0x51b371[_0x44bbbc(0x296)](_0x44bbbc(0x1d3),0x1),_0x51b371[_0x44bbbc(0x296)]('radiusRange',0x1),_0x51b371[_0x44bbbc(0x296)]('direction1',0x3),_0x51b371[_0x44bbbc(0x296)](_0x44bbbc(0x6fd),0x3);}[_0x213848(0x1a3)](){return'#define\x20SPHEREEMITTER\x0a#define\x20DIRECTEDSPHEREEMITTER';}['getClassName'](){return'SphereDirectedParticleEmitter';}[_0x213848(0x7f7)](){var _0x19b0ba=_0x213848;const _0x45fed5=super['serialize']();return _0x45fed5[_0x19b0ba(0x6b9)]=this[_0x19b0ba(0x6b9)]['asArray'](),_0x45fed5[_0x19b0ba(0x6fd)]=this['direction2']['asArray'](),_0x45fed5;}[_0x213848(0x730)](_0x1d396c){var _0x56e7d1=_0x213848;super[_0x56e7d1(0x730)](_0x1d396c),this['direction1'][_0x56e7d1(0x717)](_0x1d396c[_0x56e7d1(0x6b9)]),this[_0x56e7d1(0x6fd)][_0x56e7d1(0x717)](_0x1d396c[_0x56e7d1(0x6fd)]);}}},0x5bc8:(_0x1d6aa1,_0x1ec8ef,_0x1ce2bb)=>{var _0x33d3f8=a7_0x1ed280,_0x59202a=_0x1ce2bb(0x1dad),_0x4e0f15=_0x1ce2bb(0xd8dd),_0x174a9a=_0x1ce2bb(0xe0c0),_0x436017=_0x1ce2bb(0xee04),_0x289a8b=_0x1ce2bb(0x17dd3),_0x16fe82=_0x1ce2bb(0xbb85);_0x1ce2bb(0x1560d),_0x174a9a['p'][_0x33d3f8(0x406)](_0x16fe82['l'][_0x33d3f8(0x5f5)],(_0x179b7c,_0x4106d2,_0x3d9534,_0x4c0174)=>{var _0xcd6075=_0x33d3f8;const _0x144b79=_0x174a9a['p'][_0xcd6075(0x616)](_0x16fe82['l']['NAME_PARTICLESYSTEM']);if(_0x144b79&&void 0x0!==_0x179b7c[_0xcd6075(0x63d)]&&null!==_0x179b7c[_0xcd6075(0x63d)])for(let _0x2ca072=0x0,_0x1ccdf2=_0x179b7c[_0xcd6075(0x63d)][_0xcd6075(0x78d)];_0x2ca072<_0x1ccdf2;_0x2ca072++){var _0x460f79=_0x179b7c[_0xcd6075(0x63d)][_0x2ca072];_0x3d9534[_0xcd6075(0x63d)][_0xcd6075(0x6fe)](_0x144b79(_0x460f79,_0x4106d2,_0x4c0174));}}),_0x174a9a['p'][_0x33d3f8(0x5b6)](_0x16fe82['l'][_0x33d3f8(0x5f5)],(_0x3579af,_0xb52274,_0x650fea)=>(_0x3579af[_0x33d3f8(0xbfd)]?_0x4e0f15['h']:_0x289a8b['p'])[_0x33d3f8(0xce0)](_0x3579af,_0xb52274,_0x650fea)),_0x436017['D']['prototype']['createEffectForParticles']=function(_0x363b08,_0x51b40f=[],_0x394348=[],_0x4c7ed2='',_0x2a8720,_0xa24b1a,_0x2d848e,_0x41fbf6){var _0x2f401d=_0x33d3f8;let _0x499f85=[],_0x46f1ea=[];const _0x433a09=[];return _0x41fbf6?_0x41fbf6['fillUniformsAttributesAndSamplerNames'](_0x46f1ea,_0x499f85,_0x433a09):(_0x499f85=_0x289a8b['p']['_GetAttributeNamesOrOptions'](),_0x46f1ea=_0x289a8b['p'][_0x2f401d(0x681)]()),-0x1===_0x4c7ed2['indexOf'](_0x2f401d(0xb7c))&&(_0x4c7ed2+=_0x2f401d(0x723)),null!=_0x41fbf6&&_0x41fbf6[_0x2f401d(0x61c)]&&-0x1===_0x4c7ed2[_0x2f401d(0x444)](_0x2f401d(0x366))&&(_0x4c7ed2+=_0x2f401d(0x581)),-0x1===_0x394348['indexOf']('diffuseSampler')&&_0x394348['push']('diffuseSampler'),this['createEffect']({'vertex':null!=(_0x41fbf6=null==_0x41fbf6?void 0x0:_0x41fbf6[_0x2f401d(0x78a)])?_0x41fbf6:'particles','fragmentElement':_0x363b08},_0x499f85,_0x46f1ea['concat'](_0x51b40f),_0x433a09['concat'](_0x394348),_0x4c7ed2,_0x2a8720,_0xa24b1a,_0x2d848e);},_0x59202a['Kj'][_0x33d3f8(0x3c6)][_0x33d3f8(0x42b)]=function(){var _0x393301=_0x33d3f8;const _0x2ecea1=new Array();for(let _0x1028be=0x0;_0x1028be{var _0x4c8766=a7_0x1ed280,_0x36b0c5=_0x230981(0x10ea4),_0xda9963=_0x230981(0xf96c),_0xad8043=_0x230981(0xbb85),_0x22b5be=_0x230981(0x1446b),_0x36d288=_0x230981(0x38ef),_0x12b955=_0x230981(0x12b14);_0x22b5be['x']['prototype'][_0x4c8766(0x628)]=function(){var _0xdae7d6=_0x4c8766;return this[_0xdae7d6(0x6d0)];},_0x22b5be['x'][_0x4c8766(0x3c6)][_0x4c8766(0x50e)]=function(_0x5d9e4c=null,_0x54296d){var _0x11de6c=_0x4c8766;if(this[_0x11de6c(0x6d0)])return!0x0;var _0x1e0a7b;this[_0x11de6c(0x9e8)](_0xad8043['l'][_0x11de6c(0x727)])||(_0x1e0a7b=new _0x145061(this),this[_0x11de6c(0x363)](_0x1e0a7b));try{if(_0x54296d&&0x1!==(null==_0x54296d?void 0x0:_0x54296d[_0x11de6c(0x816)]())){if(0x2!==(null==_0x54296d?void 0x0:_0x54296d['getPluginVersion']()))throw new Error('Unsupported\x20Physics\x20plugin\x20version.');this[_0x11de6c(0x6d0)]=new _0x12b955['T'](_0x5d9e4c,_0x54296d);}else this[_0x11de6c(0x6d0)]=new _0x36d288['T'](_0x5d9e4c,_0x54296d);return!(this['_physicsTimeAccumulator']=0x0);}catch(_0x53851f){return _0x36b0c5['Y'][_0x11de6c(0xbfe)](_0x53851f[_0x11de6c(0x725)]),!0x1;}},_0x22b5be['x']['prototype'][_0x4c8766(0xbb1)]=function(){var _0x206f44=_0x4c8766;this[_0x206f44(0x6d0)]&&(this[_0x206f44(0x6d0)][_0x206f44(0x27f)](),this['_physicsEngine']=null);},_0x22b5be['x'][_0x4c8766(0x3c6)][_0x4c8766(0xccf)]=function(){var _0x1ea800=_0x4c8766;return void 0x0!==this[_0x1ea800(0x6d0)];},_0x22b5be['x']['prototype'][_0x4c8766(0x442)]=function(_0x53ad41){var _0x4b17af=_0x4c8766;const _0x47f41b=_0x53ad41[_0x4b17af(0x6dc)][0x0][_0x4b17af(0x139)];_0x47f41b['physicsImpostor']&&(_0x47f41b[_0x4b17af(0x2ef)][_0x4b17af(0x27f)](),_0x47f41b[_0x4b17af(0x2ef)]=null);},_0x22b5be['x']['prototype'][_0x4c8766(0x403)]=function(_0x4fa2b7){var _0x307d0b=_0x4c8766;if(this[_0x307d0b(0x6d0)]){var _0x197838=this[_0x307d0b(0x6d0)][_0x307d0b(0x3e1)]();if(0x0<_0x197838){for(this[_0x307d0b(0x175)]+=_0x4fa2b7;this[_0x307d0b(0x175)]>_0x197838;)this[_0x307d0b(0x60d)]['notifyObservers'](this),this[_0x307d0b(0x6d0)][_0x307d0b(0x5fc)](_0x197838/0x3e8),this[_0x307d0b(0x7b3)][_0x307d0b(0x533)](this),this['_physicsTimeAccumulator']-=_0x197838;}else this[_0x307d0b(0x60d)][_0x307d0b(0x533)](this),this[_0x307d0b(0x6d0)]['_step'](_0x4fa2b7/0x3e8),this['onAfterPhysicsObservable']['notifyObservers'](this);}};class _0x145061{constructor(_0x3032f0){var _0x2aee47=_0x4c8766;this['name']=_0xad8043['l']['NAME_PHYSICSENGINE'],this[_0x2aee47(0x55f)]=_0x3032f0,this[_0x2aee47(0x55f)][_0x2aee47(0x60d)]=new _0xda9963['y$'](),this[_0x2aee47(0x55f)][_0x2aee47(0x7b3)]=new _0xda9963['y$'](),this[_0x2aee47(0x55f)][_0x2aee47(0x178)]=()=>this[_0x2aee47(0x55f)][_0x2aee47(0x6d0)]?0x3e8*this[_0x2aee47(0x55f)]['_physicsEngine']['getTimeStep']():0x3e8/0x3c;}[_0x4c8766(0x47a)](){}[_0x4c8766(0x84b)](){}['dispose'](){var _0xd1e67b=_0x4c8766;this['scene'][_0xd1e67b(0x60d)]['clear'](),this[_0xd1e67b(0x55f)]['onAfterPhysicsObservable']['clear'](),this[_0xd1e67b(0x55f)]['_physicsEngine']&&this[_0xd1e67b(0x55f)][_0xd1e67b(0xbb1)]();}}_0x230981(0x643f),_0x22b5be=_0x230981(0xa838),(Object[_0x4c8766(0xa53)](_0x22b5be['Y'][_0x4c8766(0x3c6)],_0x4c8766(0x71f),{'get':function(){var _0xe528e4=_0x4c8766;return this[_0xe528e4(0x28c)];},'set':function(_0x2854f6){var _0x5ccd8c=_0x4c8766;this[_0x5ccd8c(0x28c)]!==_0x2854f6&&(this[_0x5ccd8c(0xcb2)]&&this[_0x5ccd8c(0xb3e)]['remove'](this[_0x5ccd8c(0xcb2)]),(this['_physicsBody']=_0x2854f6)&&(this[_0x5ccd8c(0xcb2)]=this[_0x5ccd8c(0xb3e)]['add'](()=>{var _0x4ee030=_0x5ccd8c;this['physicsBody']&&(this['physicsBody']['dispose'](),this[_0x4ee030(0x71f)]=null);})));},'enumerable':!0x0,'configurable':!0x0}),_0x22b5be['Y'][_0x4c8766(0x3c6)][_0x4c8766(0x9f1)]=function(){return this['physicsBody'];},_0x22b5be['Y'][_0x4c8766(0x3c6)][_0x4c8766(0xac7)]=function(_0x595160,_0x58d8cf){var _0x20e252=_0x4c8766;if(this[_0x20e252(0x71f)])return this[_0x20e252(0x71f)][_0x20e252(0xac7)](_0x595160,_0x58d8cf),this;throw new Error(_0x20e252(0x6ae));});},0x643f:(_0x326dd4,_0xfd92a9,_0xa2d537)=>{var _0x5735bc=a7_0x1ed280,_0xf46536=_0xa2d537(0x51f),_0x207a94=_0xa2d537(0x10abe);Object[_0x5735bc(0xa53)](_0xf46536['x'][_0x5735bc(0x3c6)],_0x5735bc(0x2ef),{'get':function(){var _0x563c81=_0x5735bc;return this[_0x563c81(0x184)];},'set':function(_0x49fcd5){var _0x261c26=_0x5735bc;this[_0x261c26(0x184)]!==_0x49fcd5&&(this[_0x261c26(0xcb2)]&&this[_0x261c26(0xb3e)][_0x261c26(0x961)](this['_disposePhysicsObserver']),(this[_0x261c26(0x184)]=_0x49fcd5)&&(this[_0x261c26(0xcb2)]=this['onDisposeObservable']['add'](()=>{var _0x202cf9=_0x261c26;this[_0x202cf9(0x2ef)]&&(this[_0x202cf9(0x2ef)]['dispose'](),this[_0x202cf9(0x2ef)]=null);})));},'enumerable':!0x0,'configurable':!0x0}),_0xf46536['x'][_0x5735bc(0x3c6)][_0x5735bc(0x9fd)]=function(){var _0x1ff01c=_0x5735bc;return this[_0x1ff01c(0x2ef)];},_0xf46536['x'][_0x5735bc(0x3c6)]['applyImpulse']=function(_0x2f6cb9,_0xe39833){var _0x98afc9=_0x5735bc;return this[_0x98afc9(0x2ef)]&&this[_0x98afc9(0x2ef)][_0x98afc9(0xac7)](_0x2f6cb9,_0xe39833),this;},_0xf46536['x']['prototype'][_0x5735bc(0x2d5)]=function(_0x2c1e54,_0x3ac6e0,_0x1958d4,_0x504b32){var _0x2e8e44=_0x5735bc;return this['physicsImpostor']&&_0x2c1e54[_0x2e8e44(0x2ef)]&&this['physicsImpostor'][_0x2e8e44(0x6bb)](_0x2c1e54[_0x2e8e44(0x2ef)],_0x207a94['q7']['HingeJoint'],{'mainPivot':_0x3ac6e0,'connectedPivot':_0x1958d4,'nativeParams':_0x504b32}),this;};},0x7f34:(_0x206ec7,_0x48c07e,_0x19b6a5)=>{var _0x2b2d60=a7_0x1ed280;_0x19b6a5['d'](_0x48c07e,{'a':()=>_0x3f22b0});class _0x3f22b0{constructor(){var _0x585bd5=a7_0x3908;this[_0x585bd5(0x9e5)]={};}get[_0x2b2d60(0xb5f)](){var _0x4afc16=_0x2b2d60;const _0x3e564a=[];for(const _0x28a77d in this[_0x4afc16(0x9e5)]){var _0x378b44;Object[_0x4afc16(0x3c6)]['hasOwnProperty'][_0x4afc16(0x9c8)](this['_renderPipelines'],_0x28a77d)&&(_0x378b44=this[_0x4afc16(0x9e5)][_0x28a77d])[_0x4afc16(0x895)]&&_0x3e564a['push'](_0x378b44);}return _0x3e564a;}[_0x2b2d60(0x30b)](_0x1717fb){var _0x387a20=_0x2b2d60;this[_0x387a20(0x9e5)][_0x1717fb[_0x387a20(0x65f)]]=_0x1717fb;}[_0x2b2d60(0x96e)](_0x337cec){delete this['_renderPipelines'][_0x337cec];}[_0x2b2d60(0x46a)](_0xb1de1f,_0x3fa69f,_0x5b1903=!0x1){var _0x44315b=_0x2b2d60;const _0x4278a1=this['_renderPipelines'][_0xb1de1f];_0x4278a1&&_0x4278a1[_0x44315b(0xa83)](_0x3fa69f,_0x5b1903);}[_0x2b2d60(0x542)](_0x196bbf,_0x339c3e){const _0x4d8de7=this['_renderPipelines'][_0x196bbf];_0x4d8de7&&_0x4d8de7['_detachCameras'](_0x339c3e);}['enableEffectInPipeline'](_0x1ad0f9,_0x259985,_0xb42e83){var _0x366aae=_0x2b2d60;const _0x3c2424=this[_0x366aae(0x9e5)][_0x1ad0f9];_0x3c2424&&_0x3c2424[_0x366aae(0x3a4)](_0x259985,_0xb42e83);}['disableEffectInPipeline'](_0x8d1029,_0xd51efc,_0x5ee89f){var _0x16223a=_0x2b2d60;const _0x377001=this[_0x16223a(0x9e5)][_0x8d1029];_0x377001&&_0x377001[_0x16223a(0xcb5)](_0xd51efc,_0x5ee89f);}[_0x2b2d60(0xbe1)](){var _0x243b36=_0x2b2d60;for(const _0x515952 in this[_0x243b36(0x9e5)])if(Object[_0x243b36(0x3c6)][_0x243b36(0x171)][_0x243b36(0x9c8)](this[_0x243b36(0x9e5)],_0x515952)){const _0x32e739=this[_0x243b36(0x9e5)][_0x515952];_0x32e739[_0x243b36(0x895)]?_0x32e739[_0x243b36(0xc2f)]():(_0x32e739[_0x243b36(0x27f)](),delete this['_renderPipelines'][_0x515952]);}}['_rebuild'](){var _0x1f63b4=_0x2b2d60;for(const _0x32478d in this['_renderPipelines'])if(Object[_0x1f63b4(0x3c6)]['hasOwnProperty'][_0x1f63b4(0x9c8)](this[_0x1f63b4(0x9e5)],_0x32478d)){const _0x3cff41=this[_0x1f63b4(0x9e5)][_0x32478d];_0x3cff41[_0x1f63b4(0x994)]();}}[_0x2b2d60(0x27f)](){var _0x24e28f=_0x2b2d60;for(const _0x49bca5 in this[_0x24e28f(0x9e5)])if(Object['prototype'][_0x24e28f(0x171)][_0x24e28f(0x9c8)](this[_0x24e28f(0x9e5)],_0x49bca5)){const _0x24c794=this['_renderPipelines'][_0x49bca5];_0x24c794[_0x24e28f(0x27f)]();}}}},0x13aac:(_0x513754,_0x2daf82,_0x1f6a4b)=>{_0x1f6a4b['d'](_0x2daf82,{'B':()=>_0x4b8d13});var _0x109a1f=_0x1f6a4b(0x77a5),_0x186cd5=_0x1f6a4b(0x1097c);class _0x4b8d13{constructor(_0x14771f,_0xb1c0cb,_0x38208c,_0x50060c=0x1){var _0x4786af=a7_0x3908;this['_engine']=_0x14771f,this[_0x4786af(0x317)]=new _0x186cd5['p'](_0x14771f,!0x0),this[_0x4786af(0x617)]=this[_0x4786af(0x3f5)][_0x4786af(0x8c6)]({'width':_0xb1c0cb,'height':_0x38208c},{'generateMipMaps':!0x1,'type':_0x109a1f['g'][_0x4786af(0x566)],'format':_0x109a1f['g']['TEXTUREFORMAT_R'],'samplingMode':_0x109a1f['g'][_0x4786af(0xc15)],'generateDepthBuffer':!0x0,'generateStencilBuffer':!0x1,'samples':_0x50060c,'noColorAttachment':!0x0,'label':_0x4786af(0x35d)}),this[_0x4786af(0x617)][_0x4786af(0x35b)](0x0,!0x1,!0x1,0x1,void 0x0,_0x4786af(0x51b));}get['depthRTWrapper'](){var _0x58a404=a7_0x3908;return this[_0x58a404(0x617)];}['copy'](_0x25cb45){var _0xd731e1=a7_0x3908;return this[_0xd731e1(0x317)][_0xd731e1(0xb6f)](_0x25cb45,this[_0xd731e1(0x617)]);}['dispose'](){var _0x4aa1c5=a7_0x3908;this['_depthRTWrapper'][_0x4aa1c5(0x27f)](),this[_0x4aa1c5(0x317)][_0x4aa1c5(0x27f)]();}}},0xeff9:(_0x177af3,_0x4b48fd,_0x348ca6)=>{var _0x3318c6=a7_0x1ed280;_0x348ca6['d'](_0x4b48fd,{'a':()=>_0x4fd7dd});var _0x432b3b=_0x348ca6(0x77a5),_0x292b41=_0x348ca6(0xbac7),_0x55cb97=_0x348ca6(0x9fd1),_0x1bd29e=_0x348ca6(0x5f28),_0x197fd4=_0x348ca6(0xf96c);class _0x4fd7dd{constructor(_0xbfd57d,_0x2a8728,_0x206af1,_0x35fc0e,_0x238322,_0x25ef38,_0x32e5df=_0x432b3b['g'][_0x3318c6(0x75f)],_0xa74b33=_0x432b3b['g'][_0x3318c6(0x761)],_0x1aded1=_0x432b3b['g']['TEXTURETYPE_FLOAT'],_0x126a99=_0x432b3b['g']['TEXTUREFORMAT_R'],_0x5dbdd9=!0x1,_0x4b26d8=null,_0xdbdc30=!0x0,_0x43d6ab=0x1){var _0x242bdf=_0x3318c6;this[_0x242bdf(0x553)]=!0x0,this[_0x242bdf(0x574)]=0x1,this['blurFilterSize']=0x7,this['_blurNumIterations']=0x3,this[_0x242bdf(0x9c6)]=0x64,this['blurDepthScale']=0xa,this[_0x242bdf(0xc5a)]=0.02,this[_0x242bdf(0xb3e)]=new _0x197fd4['y$'](),this[_0x242bdf(0x65f)]=_0xbfd57d,this[_0x242bdf(0x1a8)]=_0x2a8728,this[_0x242bdf(0x48d)]=_0x4b26d8,this['_engine']=_0x2a8728['getEngine'](),this['_width']=_0x206af1,this[_0x242bdf(0x7f9)]=_0x35fc0e,this['_blurTextureSizeX']=_0x238322,this[_0x242bdf(0x147)]=_0x25ef38,this[_0x242bdf(0x8e6)]=_0x32e5df,this[_0x242bdf(0x9f0)]=_0xa74b33,this[_0x242bdf(0x2ba)]=_0x1aded1,this[_0x242bdf(0x691)]=_0x126a99,this[_0x242bdf(0x2f3)]=_0x5dbdd9,this['_generateDepthBuffer']=_0xdbdc30,this[_0x242bdf(0x350)]=_0x43d6ab,this['_postProcessRunningIndex']=0x0,this[_0x242bdf(0x553)]=0x0!==_0x238322&&0x0!==_0x25ef38,this[_0x242bdf(0x3aa)]=null,this[_0x242bdf(0xad7)]=null,this[_0x242bdf(0x76b)]=null,this[_0x242bdf(0x375)]=null,this[_0x242bdf(0x547)]=null;}get[_0x3318c6(0x577)](){return this['_blurNumIterations'];}set[_0x3318c6(0x577)](_0x14deff){var _0x34ff4f=_0x3318c6;if(this[_0x34ff4f(0x87b)]!==_0x14deff&&(this[_0x34ff4f(0x87b)]=_0x14deff,null!==this[_0x34ff4f(0x547)])){var _0xc742ff=this[_0x34ff4f(0x547)][0x0],_0x1c6ee5=this['_blurPostProcesses'][0x1];this[_0x34ff4f(0x547)]=[];for(let _0x1f19af=0x0;_0x1f19af<0x2*this[_0x34ff4f(0x87b)];++_0x1f19af)this[_0x34ff4f(0x547)][_0x1f19af]=0x1&_0x1f19af?_0x1c6ee5:_0xc742ff;}}get[_0x3318c6(0x700)](){var _0x4b4468=_0x3318c6;return this[_0x4b4468(0x3aa)];}get[_0x3318c6(0x83b)](){var _0x47a25a=_0x3318c6;return this[_0x47a25a(0x76b)];}get['texture'](){var _0x11be02=_0x3318c6;return this[_0x11be02(0xad7)];}get[_0x3318c6(0x918)](){var _0x151403=_0x3318c6;return this[_0x151403(0x375)];}[_0x3318c6(0xc4e)](){var _0x102d41=_0x3318c6,_0x5eb8e6,_0x129cc3,_0x1df704;this[_0x102d41(0x27f)](),this[_0x102d41(0x2f6)](),this[_0x102d41(0x553)]&&this[_0x102d41(0xad7)]&&([_0x5eb8e6,_0x129cc3,_0x1df704]=this['_createBlurPostProcesses'](this[_0x102d41(0xad7)],this['_blurTextureType'],this['_blurTextureFormat'],this[_0x102d41(0x574)],this[_0x102d41(0x65f)],this[_0x102d41(0x2f3)]),this[_0x102d41(0x76b)]=_0x5eb8e6,this[_0x102d41(0x375)]=_0x129cc3,this[_0x102d41(0x547)]=_0x1df704);}[_0x3318c6(0x965)](){var _0x395a3b=_0x3318c6;this[_0x395a3b(0x553)]&&this[_0x395a3b(0x547)]&&(this[_0x395a3b(0x860)]=0x0,this['_scene'][_0x395a3b(0x156)][_0x395a3b(0x3cf)](this[_0x395a3b(0x547)],this['_rtBlur'],!0x0),this['_engine'][_0x395a3b(0xaf1)](this['_rtBlur']));}[_0x3318c6(0x2f6)](){var _0x362bff=_0x3318c6;this[_0x362bff(0x3aa)]=this[_0x362bff(0x3f5)]['createRenderTargetTexture']({'width':this[_0x362bff(0x491)],'height':this[_0x362bff(0x7f9)]},{'generateMipMaps':!0x1,'type':this['_textureType'],'format':this[_0x362bff(0x9f0)],'samplingMode':_0x432b3b['g'][_0x362bff(0xc15)],'generateDepthBuffer':this[_0x362bff(0x181)],'generateStencilBuffer':!0x1,'samples':this[_0x362bff(0x350)],'label':_0x362bff(0x7c4)+this[_0x362bff(0x65f)]});const _0x1b770a=this[_0x362bff(0x3aa)][_0x362bff(0x7a3)];_0x1b770a[_0x362bff(0x6f6)](),this[_0x362bff(0xad7)]=new _0x292b41['x'](null,this['_scene']),this[_0x362bff(0xad7)][_0x362bff(0xa21)]=_0x362bff(0xc65)+this[_0x362bff(0x65f)],this[_0x362bff(0xad7)][_0x362bff(0xad7)]=_0x1b770a,this[_0x362bff(0xad7)]['wrapU']=_0x292b41['x'][_0x362bff(0x46d)],this['_texture'][_0x362bff(0x806)]=_0x292b41['x'][_0x362bff(0x46d)],this[_0x362bff(0xad7)][_0x362bff(0x236)]=0x1;}[_0x3318c6(0x803)](_0x27a2e7,_0x1dcd41,_0x3a210d,_0x182c34,_0x4eea53,_0xf7dff=!0x1){var _0x1d159f=_0x3318c6;const _0x310379=this[_0x1d159f(0x1a8)][_0x1d159f(0x489)]();var _0x182c34=new _0x55cb97['FM'](Math[_0x1d159f(0x68f)](this['_blurTextureSizeX']/_0x182c34),Math['floor'](this[_0x1d159f(0x147)]/_0x182c34)),_0x3ffe62=_0x1dcd41===_0x432b3b['g'][_0x1d159f(0x75f)]&&_0x310379[_0x1d159f(0x19e)]()[_0x1d159f(0x505)]||_0x1dcd41===_0x432b3b['g']['TEXTURETYPE_HALF_FLOAT']&&_0x310379[_0x1d159f(0x19e)]()[_0x1d159f(0x47b)],_0x182c34=this[_0x1d159f(0x3f5)][_0x1d159f(0x8c6)]({'width':_0x182c34['x'],'height':_0x182c34['y']},{'generateMipMaps':!0x1,'type':_0x1dcd41,'format':_0x3a210d,'samplingMode':_0x3ffe62?_0x432b3b['g']['TEXTURE_BILINEAR_SAMPLINGMODE']:_0x432b3b['g'][_0x1d159f(0xc15)],'generateDepthBuffer':!0x1,'generateStencilBuffer':!0x1,'samples':this[_0x1d159f(0x350)],'label':_0x1d159f(0xce5)+_0x4eea53});const _0x5685ab=_0x182c34['texture'],_0x587ff5=(_0x5685ab[_0x1d159f(0x6f6)](),new _0x292b41['x'](null,this[_0x1d159f(0x1a8)]));if(_0x587ff5['name']=_0x1d159f(0x678)+_0x4eea53,_0x587ff5['_texture']=_0x5685ab,_0x587ff5[_0x1d159f(0xd21)]=_0x292b41['x']['CLAMP_ADDRESSMODE'],_0x587ff5[_0x1d159f(0x806)]=_0x292b41['x'][_0x1d159f(0x46d)],_0x587ff5['anisotropicFilteringLevel']=0x1,_0xf7dff){const _0x3b7eca=new _0x1bd29e['D'](_0x1d159f(0x9f5),_0x1d159f(0x32a),['filterSize',_0x1d159f(0xc9f)],null,0x1,null,_0x432b3b['g'][_0x1d159f(0xc15)],_0x310379,!0x0,null,_0x1dcd41,void 0x0,void 0x0,void 0x0,_0x3a210d),_0x223443=(_0x3b7eca[_0x1d159f(0xc21)]=this[_0x1d159f(0x350)],_0x3b7eca['externalTextureSamplerBinding']=!0x0,_0x3b7eca['onApplyObservable'][_0x1d159f(0x95e)](_0x259409=>{var _0x34bf5c=_0x1d159f;0x0===this[_0x34bf5c(0x860)]?_0x259409[_0x34bf5c(0xc00)](_0x34bf5c(0x917),_0x27a2e7):_0x259409[_0x34bf5c(0x4f2)]('textureSampler',_0x3b7eca['inputTexture'][_0x34bf5c(0x7a3)]),_0x259409[_0x34bf5c(0x455)]('filterSize',this[_0x34bf5c(0xd0b)]),_0x259409['setFloat2']('blurDir',0x1/this[_0x34bf5c(0x639)],0x0),this[_0x34bf5c(0x860)]++;}),_0x3b7eca[_0x1d159f(0x5e7)]['add'](()=>{var _0x55c68f=_0x1d159f;_0x3b7eca[_0x55c68f(0x703)]['forEach'](_0x5dbef4=>{var _0x3f2b1e=_0x55c68f;_0x5dbef4[_0x3f2b1e(0x7a3)][_0x3f2b1e(0xd21)]=_0x292b41['x'][_0x3f2b1e(0x46d)],_0x5dbef4[_0x3f2b1e(0x7a3)][_0x3f2b1e(0x806)]=_0x292b41['x'][_0x3f2b1e(0x46d)];});}),this[_0x1d159f(0x73f)](_0x3b7eca),new _0x1bd29e['D'](_0x1d159f(0x9cc),_0x1d159f(0x32a),[_0x1d159f(0x2b6),_0x1d159f(0xc9f)],null,0x1,null,_0x432b3b['g'][_0x1d159f(0xc15)],_0x310379,!0x0,null,_0x1dcd41,void 0x0,void 0x0,void 0x0,_0x3a210d)),_0x31fa0d=(_0x223443[_0x1d159f(0xc21)]=this[_0x1d159f(0x350)],_0x223443['onApplyObservable'][_0x1d159f(0x95e)](_0x2dcb6f=>{var _0x27f9a3=_0x1d159f;_0x2dcb6f[_0x27f9a3(0x455)]('filterSize',this[_0x27f9a3(0xd0b)]),_0x2dcb6f['setFloat2'](_0x27f9a3(0xc9f),0x0,0x1/this[_0x27f9a3(0x147)]),this[_0x27f9a3(0x860)]++;}),_0x223443['onSizeChangedObservable'][_0x1d159f(0x95e)](()=>{var _0x3b003f=_0x1d159f;_0x223443['_textures'][_0x3b003f(0x832)](_0x2b544d=>{var _0x45a944=_0x3b003f;_0x2b544d['texture']['wrapU']=_0x292b41['x'][_0x45a944(0x46d)],_0x2b544d[_0x45a944(0x7a3)]['wrapV']=_0x292b41['x'][_0x45a944(0x46d)];});}),this[_0x1d159f(0x73f)](_0x223443),_0x3b7eca[_0x1d159f(0xc49)]=!0x1,_0x223443[_0x1d159f(0xc49)]=!0x1,[]);for(let _0x1054a5=0x0;_0x1054a5<0x2*this[_0x1d159f(0x87b)];++_0x1054a5)_0x31fa0d[_0x1054a5]=0x1&_0x1054a5?_0x223443:_0x3b7eca;return[_0x182c34,_0x587ff5,_0x31fa0d];}{_0x3ffe62=[_0x1d159f(0x1b6),_0x1d159f(0xc9f),'projectedParticleConstant',_0x1d159f(0xb06)];const _0x5df4e0=new _0x1bd29e['D'](_0x1d159f(0x9f5),_0x1d159f(0xc88),_0x3ffe62,null,0x1,null,_0x432b3b['g'][_0x1d159f(0xc15)],_0x310379,!0x0,null,_0x1dcd41,void 0x0,void 0x0,void 0x0,_0x3a210d),_0x1703aa=(_0x5df4e0['samples']=this[_0x1d159f(0x350)],_0x5df4e0[_0x1d159f(0x624)]=!0x0,_0x5df4e0[_0x1d159f(0x508)][_0x1d159f(0x95e)](_0x6ac993=>{var _0xd86525=_0x1d159f;0x0===this[_0xd86525(0x860)]?_0x6ac993['setTexture'](_0xd86525(0x917),_0x27a2e7):_0x6ac993[_0xd86525(0x4f2)]('textureSampler',_0x5df4e0[_0xd86525(0x141)][_0xd86525(0x7a3)]),_0x6ac993['setInt'](_0xd86525(0x1b6),this[_0xd86525(0x9c6)]),_0x6ac993[_0xd86525(0x1a4)](_0xd86525(0xc9f),0x1/this['_blurTextureSizeX'],0x0),_0x6ac993['setFloat'](_0xd86525(0x4d6),this[_0xd86525(0x929)]()),_0x6ac993['setFloat'](_0xd86525(0xb06),this['_getDepthThreshold']()),this[_0xd86525(0x860)]++;}),_0x5df4e0[_0x1d159f(0x5e7)][_0x1d159f(0x95e)](()=>{var _0x15d8ad=_0x1d159f;_0x5df4e0['_textures'][_0x15d8ad(0x832)](_0x433a54=>{var _0x90752c=_0x15d8ad;_0x433a54[_0x90752c(0x7a3)][_0x90752c(0xd21)]=_0x292b41['x'][_0x90752c(0x46d)],_0x433a54['texture'][_0x90752c(0x806)]=_0x292b41['x']['CLAMP_ADDRESSMODE'];});}),this['_fixReusablePostProcess'](_0x5df4e0),new _0x1bd29e['D'](_0x1d159f(0x9cc),_0x1d159f(0xc88),_0x3ffe62,null,0x1,null,_0x432b3b['g'][_0x1d159f(0xc15)],_0x310379,!0x0,null,_0x1dcd41,void 0x0,void 0x0,void 0x0,_0x3a210d)),_0x482e3a=(_0x1703aa[_0x1d159f(0xc21)]=this[_0x1d159f(0x350)],_0x1703aa[_0x1d159f(0x508)]['add'](_0x56e528=>{var _0xd05c6f=_0x1d159f;_0x56e528['setInt']('maxFilterSize',this[_0xd05c6f(0x9c6)]),_0x56e528[_0xd05c6f(0x1a4)](_0xd05c6f(0xc9f),0x0,0x1/this[_0xd05c6f(0x147)]),_0x56e528[_0xd05c6f(0x3d1)](_0xd05c6f(0x4d6),this[_0xd05c6f(0x929)]()),_0x56e528[_0xd05c6f(0x3d1)](_0xd05c6f(0xb06),this[_0xd05c6f(0x38f)]()),this[_0xd05c6f(0x860)]++;}),_0x1703aa[_0x1d159f(0x5e7)]['add'](()=>{var _0x5eaf52=_0x1d159f;_0x1703aa[_0x5eaf52(0x703)][_0x5eaf52(0x832)](_0x40f6e6=>{var _0x175b4d=_0x5eaf52;_0x40f6e6['texture']['wrapU']=_0x292b41['x'][_0x175b4d(0x46d)],_0x40f6e6[_0x175b4d(0x7a3)]['wrapV']=_0x292b41['x'][_0x175b4d(0x46d)];});}),this[_0x1d159f(0x73f)](_0x1703aa),_0x5df4e0[_0x1d159f(0xc49)]=!0x1,_0x1703aa[_0x1d159f(0xc49)]=!0x1,[]);for(let _0x421a2c=0x0;_0x421a2c<0x2*this[_0x1d159f(0x87b)];++_0x421a2c)_0x482e3a[_0x421a2c]=0x1&_0x421a2c?_0x1703aa:_0x5df4e0;return[_0x182c34,_0x587ff5,_0x482e3a];}}[_0x3318c6(0x73f)](_0x2ab407){var _0x3f950f=_0x3318c6;_0x2ab407['isReusable']()&&(_0x2ab407[_0x3f950f(0x93c)][_0x3f950f(0x95e)](()=>{var _0x470629=_0x3f950f;_0x2ab407['_currentRenderTextureInd']=(_0x2ab407[_0x470629(0x3af)]+0x1)%0x2;}),_0x2ab407[_0x3f950f(0x508)][_0x3f950f(0x95e)](()=>{var _0x270280=_0x3f950f;_0x2ab407[_0x270280(0x3af)]=(_0x2ab407[_0x270280(0x3af)]+0x1)%0x2;}));}[_0x3318c6(0x929)](){var _0x3d1909=_0x3318c6,_0x1fb282;return this['blurFilterSize']*this[_0x3d1909(0xc5a)]*0.05*(this[_0x3d1909(0x7f9)]/0x2)/Math[_0x3d1909(0x92c)]((null!=(_0x1fb282=null==(_0x1fb282=this['_camera'])?void 0x0:_0x1fb282[_0x3d1909(0x9c1)])?_0x1fb282:0x2d*Math['PI']/0xb4)/0x2);}[_0x3318c6(0x38f)](){return this['particleSize']/0x2*this['blurDepthScale'];}[_0x3318c6(0x27f)](){var _0x3aa3be=_0x3318c6,_0x2c9561;this['onDisposeObservable']['hasObservers']()&&this[_0x3aa3be(0xb3e)][_0x3aa3be(0x533)](this),null!=(_0x2c9561=this['_rt'])&&_0x2c9561[_0x3aa3be(0x27f)](),(this[_0x3aa3be(0x3aa)]=null)!=(_0x2c9561=this[_0x3aa3be(0xad7)])&&_0x2c9561[_0x3aa3be(0x27f)](),(this['_texture']=null)!=(_0x2c9561=this[_0x3aa3be(0x76b)])&&_0x2c9561[_0x3aa3be(0x27f)](),(this['_rtBlur']=null)!=(_0x2c9561=this[_0x3aa3be(0x375)])&&_0x2c9561[_0x3aa3be(0x27f)](),this['_textureBlurred']=null,this[_0x3aa3be(0x547)]&&(this[_0x3aa3be(0x547)][0x0][_0x3aa3be(0x27f)](),this[_0x3aa3be(0x547)][0x1][_0x3aa3be(0x27f)]()),this[_0x3aa3be(0x547)]=null;}}},0x1616b:(_0x4b2801,_0x496158,_0x1e9081)=>{_0x1e9081['d'](_0x496158,{'p':()=>_0x2df3bb});var _0x2c2357=_0x1e9081(0x77a5);class _0x2df3bb{constructor(){var _0x1deb6b=a7_0x3908;this[_0x1deb6b(0xcf4)]=!0x1,this['name']='motionBlur',this[_0x1deb6b(0x18a)]=[_0x2c2357['g']['PREPASS_VELOCITY_TEXTURE_TYPE']];}}},0xbf60:(_0x401cb8,_0x591f52,_0x8561b8)=>{_0x8561b8['d'](_0x591f52,{'g':()=>_0x17b701});var _0x3f0cfe=_0x8561b8(0x77a5);class _0x17b701{constructor(){var _0x3478df=a7_0x3908;this[_0x3478df(0xcf4)]=!0x1,this[_0x3478df(0xa21)]=_0x3478df(0xb45),this['texturesRequired']=[_0x3f0cfe['g'][_0x3478df(0x173)],_0x3f0cfe['g'][_0x3478df(0x3a6)],_0x3f0cfe['g']['PREPASS_DEPTH_TEXTURE_TYPE']];}}},0x498b:(_0x41ea89,_0x4050a4,_0x55b72f)=>{_0x55b72f['d'](_0x4050a4,{'y':()=>_0x17be29});var _0x522410=_0x55b72f(0x77a5);class _0x17be29{constructor(){var _0x4a8b24=a7_0x3908;this['enabled']=!0x1,this[_0x4a8b24(0xa21)]='screenSpaceReflections',this[_0x4a8b24(0x18a)]=[_0x522410['g']['PREPASS_NORMAL_TEXTURE_TYPE'],_0x522410['g'][_0x4a8b24(0x3a6)],_0x522410['g']['PREPASS_POSITION_TEXTURE_TYPE']];}}},0x10748:(_0x4fe288,_0x3cec73,_0x1344b2)=>{_0x1344b2['d'](_0x3cec73,{'M':()=>_0x1bf193});var _0x5d952b=_0x1344b2(0x77a5);class _0x1bf193{constructor(){var _0x5d1bc5=a7_0x3908;this[_0x5d1bc5(0xcf4)]=!0x1,this[_0x5d1bc5(0xa21)]=_0x5d1bc5(0x7c9),this[_0x5d1bc5(0x18a)]=[_0x5d952b['g']['PREPASS_NORMAL_TEXTURE_TYPE'],_0x5d952b['g']['PREPASS_DEPTH_TEXTURE_TYPE']];}}},0x8362:(_0x5122d3,_0x3c4c52,_0x3b2a4e)=>{var _0x3e09e1=a7_0x1ed280;_0x3b2a4e['d'](_0x3c4c52,{'u':()=>_0x53c5ec});var _0x463dc5=_0x3b2a4e(0x10ea4),_0x34177a=_0x3b2a4e(0xc84b),_0x1a6bec=_0x3b2a4e(0xbac7),_0x3c4c52=_0x3b2a4e(0x5f28),_0x1893cf=_0x3b2a4e(0x77a5),_0x238b06=(_0x3b2a4e(0x816b),_0x3b2a4e(0x17a92));_0x238b06['v'][_0x3e09e1(0x281)][_0x3e09e1(0xc41)]=_0x3e09e1(0x8dc),_0x3b2a4e(0x175b0),_0x3b2a4e(0x6b23),_0x238b06['v'][_0x3e09e1(0x281)][_0x3e09e1(0xceb)]=_0x3e09e1(0xa98),(_0x238b06['v'][_0x3e09e1(0x6d9)][_0x3e09e1(0xcd5)]=_0x3e09e1(0x289),_0x3b2a4e(0x4617));class _0x5394fd extends _0x3c4c52['D']{[_0x3e09e1(0x979)](){var _0x3446dd=_0x3e09e1;return _0x3446dd(0xa9d);}constructor(_0x5bbb5a,_0x2c686b,_0xe6b9ce,_0x45d192=null,_0x3942af,_0x240c34,_0x5c2a51,_0x1107d6=_0x1893cf['g'][_0x3e09e1(0x4b2)]){var _0xba0bd9=_0x3e09e1;super(_0x5bbb5a,'subSurfaceScattering',[_0xba0bd9(0x2ad),_0xba0bd9(0x8ff),_0xba0bd9(0xc6e)],[_0xba0bd9(0x791),_0xba0bd9(0x5e9),_0xba0bd9(0x86a),'irradianceSampler',_0xba0bd9(0xc08),_0xba0bd9(0xa80)],_0xe6b9ce,_0x45d192,_0x3942af||_0x1a6bec['x'][_0xba0bd9(0x307)],_0x240c34,_0x5c2a51,null,_0x1107d6,_0xba0bd9(0x277),void 0x0,!0x0),this[_0xba0bd9(0x1a8)]=_0x2c686b,this[_0xba0bd9(0xc53)](),this[_0xba0bd9(0x508)]['add'](_0xb96a90=>{var _0x40ddd7=_0xba0bd9,_0x278556;_0x2c686b['prePassRenderer']&&_0x2c686b['subSurfaceConfiguration']?(_0x278556=this[_0x40ddd7(0x2ad)],_0xb96a90['setFloat'](_0x40ddd7(0xc6e),_0x2c686b[_0x40ddd7(0xb9b)][_0x40ddd7(0xc6e)]),_0xb96a90[_0x40ddd7(0x1a4)](_0x40ddd7(0x2ad),_0x278556['x'],_0x278556['y']),_0xb96a90[_0x40ddd7(0xc00)](_0x40ddd7(0x6f9),_0x2c686b[_0x40ddd7(0x219)][_0x40ddd7(0xa12)]()['textures'][_0x2c686b[_0x40ddd7(0x219)][_0x40ddd7(0x2bc)](_0x1893cf['g'][_0x40ddd7(0x3b9)])]),_0xb96a90[_0x40ddd7(0xc00)](_0x40ddd7(0xc08),_0x2c686b[_0x40ddd7(0x219)][_0x40ddd7(0xa12)]()['textures'][_0x2c686b[_0x40ddd7(0x219)]['getIndex'](_0x1893cf['g'][_0x40ddd7(0xb23)])]),_0xb96a90[_0x40ddd7(0xc00)](_0x40ddd7(0xa80),_0x2c686b['prePassRenderer'][_0x40ddd7(0xa12)]()[_0x40ddd7(0x8ee)][_0x2c686b[_0x40ddd7(0x219)][_0x40ddd7(0x2bc)](_0x1893cf['g'][_0x40ddd7(0xcdd)])]),_0xb96a90[_0x40ddd7(0x1a4)](_0x40ddd7(0x8ff),Math['tan'](_0x2c686b['activeCamera'][_0x40ddd7(0x9c1)]/0x2)*_0x2c686b['getEngine']()[_0x40ddd7(0x88f)](_0x2c686b['activeCamera'],!0x0),Math['tan'](_0x2c686b[_0x40ddd7(0x168)][_0x40ddd7(0x9c1)]/0x2)),_0xb96a90[_0x40ddd7(0xbe8)](_0x40ddd7(0x791),_0x2c686b[_0x40ddd7(0xb9b)][_0x40ddd7(0x5de)]),_0xb96a90['setArray'](_0x40ddd7(0x5e9),_0x2c686b[_0x40ddd7(0xb9b)][_0x40ddd7(0x5d0)]),_0xb96a90['setArray'](_0x40ddd7(0x86a),_0x2c686b[_0x40ddd7(0xb9b)]['ssFilterRadii'])):_0x463dc5['Y'][_0x40ddd7(0xbfe)]('PrePass\x20and\x20subsurface\x20configuration\x20needs\x20to\x20be\x20enabled\x20for\x20subsurface\x20scattering.');});}}var _0x29b208=_0x3b2a4e(0xbb85),_0x5ef35f=_0x3b2a4e(0x15cb9);class _0x53c5ec{constructor(_0xf99628){var _0x248995=_0x3e09e1;this[_0x248995(0x2aa)]=[],this[_0x248995(0xa2d)]=[],this[_0x248995(0xc7f)]=[],this[_0x248995(0xcf4)]=!0x1,this['needsImageProcessing']=!0x0,this[_0x248995(0xa21)]=_0x29b208['l']['NAME_SUBSURFACE'],this[_0x248995(0x669)]=[],this[_0x248995(0xc6e)]=0x1,this[_0x248995(0x18a)]=[_0x1893cf['g'][_0x248995(0xb23)],_0x1893cf['g'][_0x248995(0xcdd)],_0x1893cf['g'][_0x248995(0x952)],_0x1893cf['g'][_0x248995(0x3b9)]],this[_0x248995(0x857)](new _0x34177a['Wo'](0x1,0x1,0x1)),this[_0x248995(0x1a8)]=_0xf99628,_0x53c5ec[_0x248995(0x625)](this[_0x248995(0x1a8)]);}get[_0x3e09e1(0x5de)](){var _0xae6c04=_0x3e09e1;return this[_0xae6c04(0x2aa)];}get['ssDiffusionD'](){return this['_ssDiffusionD'];}get[_0x3e09e1(0x8b3)](){var _0x257ad3=_0x3e09e1;return this[_0x257ad3(0xa2d)];}['addDiffusionProfile'](_0x4ada43){var _0x41c032=_0x3e09e1;if(0x5<=this[_0x41c032(0x5d0)][_0x41c032(0x78d)])return _0x463dc5['Y'][_0x41c032(0xbfe)]('You\x20already\x20reached\x20the\x20maximum\x20number\x20of\x20diffusion\x20profiles.'),0x0;for(let _0x29014e=0x0;_0x29014e{var _0xc76ded=_0x3e09e1;throw(0x0,_0x5ef35f['S'])(_0xc76ded(0x64a));};},0x15a7:(_0x1867ad,_0x18bbfb,_0x20503e)=>{var _0x584df2=a7_0x1ed280;_0x20503e(0x17a92)['v'][_0x584df2(0x785)][_0x584df2(0x910)]=_0x584df2(0x166);},0x6052:(_0x1cd9f6,_0x579c98,_0x344ce5)=>{var _0x4ad9dc=a7_0x1ed280,_0x5c3175=_0x344ce5(0x17a92);_0x344ce5(0x6cce),_0x5c3175['v'][_0x4ad9dc(0x281)][_0x4ad9dc(0x4ed)]=_0x4ad9dc(0xbea);},0xdcea:(_0x1312e8,_0x3bfc6f,_0x53923f)=>{var _0x18d08f=a7_0x1ed280;_0x53923f(0x17a92)['v'][_0x18d08f(0x281)][_0x18d08f(0x2bf)]=_0x18d08f(0xcf1);},0x12929:(_0x617f6b,_0x8fb867,_0x5d46e6)=>{var _0xc45392=a7_0x1ed280;_0x5d46e6(0x17a92)['v']['IncludesShadersStore']['bakedVertexAnimationDeclaration']=_0xc45392(0x608);},0x13f9a:(_0x563676,_0x4b5658,_0x310448)=>{var _0x3c1ec4=a7_0x1ed280;_0x310448(0x17a92)['v'][_0x3c1ec4(0x281)][_0x3c1ec4(0xb61)]='#if\x20NUM_BONE_INFLUENCERS>0\x0aattribute\x20vec4\x20matricesIndices;\x0aattribute\x20vec4\x20matricesWeights;\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0aattribute\x20vec4\x20matricesIndicesExtra;\x0aattribute\x20vec4\x20matricesWeightsExtra;\x0a#endif\x0a#ifndef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0a#ifdef\x20BONETEXTURE\x0auniform\x20sampler2D\x20boneSampler;\x0auniform\x20float\x20boneTextureWidth;\x0a#else\x0auniform\x20mat4\x20mBones[BonesPerMesh];\x0a#ifdef\x20BONES_VELOCITY_ENABLED\x0auniform\x20mat4\x20mPreviousBones[BonesPerMesh];\x0a#endif\x0a#endif\x0a#ifdef\x20BONETEXTURE\x0a#define\x20inline\x0amat4\x20readMatrixFromRawSampler(sampler2D\x20smp,float\x20index)\x0a{\x0afloat\x20offset=index\x20*4.0;\x0afloat\x20dx=1.0/boneTextureWidth;\x0avec4\x20m0=texture2D(smp,vec2(dx*(offset+0.5),0.));\x0avec4\x20m1=texture2D(smp,vec2(dx*(offset+1.5),0.));\x0avec4\x20m2=texture2D(smp,vec2(dx*(offset+2.5),0.));\x0avec4\x20m3=texture2D(smp,vec2(dx*(offset+3.5),0.));\x0areturn\x20mat4(m0,m1,m2,m3);\x0a}\x0a#endif\x0a#endif\x0a#endif\x0a';},0xb434:(_0x1176ac,_0x4ad188,_0x2bb11e)=>{var _0x5d9e5d=a7_0x1ed280;_0x2bb11e(0x17a92)['v'][_0x5d9e5d(0x281)][_0x5d9e5d(0x2db)]=_0x5d9e5d(0xa16);},0x140f3:(_0x502027,_0xb62715,_0x391082)=>{var _0x26892f=a7_0x1ed280;_0x391082(0x17a92)['v'][_0x26892f(0x281)][_0x26892f(0x584)]=_0x26892f(0x243);},0x6664:(_0x196b65,_0x253548,_0x20aeca)=>{var _0x5482ce=a7_0x1ed280;_0x20aeca(0x17a92)['v']['IncludesShadersStore'][_0x5482ce(0xb86)]=_0x5482ce(0xb7d);},0xe577:(_0x57b21b,_0x3791ee,_0x470171)=>{var _0x331aeb=a7_0x1ed280,_0x5922bc=_0x470171(0x17a92);_0x470171(0x126e8),_0x5922bc['v']['IncludesShadersStore']['bumpFragmentFunctions']=_0x331aeb(0x9df);},0x8cac:(_0x297868,_0xc8f7bd,_0x402e45)=>{var _0xe21b14=a7_0x1ed280;_0x402e45(0x17a92)['v'][_0xe21b14(0x281)]['bumpFragmentMainFunctions']=_0xe21b14(0xb21);},0xced6:(_0x59e019,_0x3bea92,_0x2f98a3)=>{var _0x3712df=a7_0x1ed280;_0x2f98a3(0x17a92)['v'][_0x3712df(0x281)][_0x3712df(0xad6)]=_0x3712df(0x43d);},0x8785:(_0x425904,_0x1428d5,_0x14890d)=>{var _0x1d0b32=a7_0x1ed280;_0x14890d(0x17a92)['v'][_0x1d0b32(0x281)][_0x1d0b32(0xc35)]=_0x1d0b32(0x3ba);},0x3328:(_0x27744d,_0x5fed8f,_0x72dff3)=>{var _0x1b83f0=a7_0x1ed280;_0x72dff3(0x17a92)['v'][_0x1b83f0(0x281)][_0x1b83f0(0xacf)]='#if\x20defined(CLIPPLANE)\x20||\x20defined(CLIPPLANE2)\x20||\x20defined(CLIPPLANE3)\x20||\x20defined(CLIPPLANE4)\x20||\x20defined(CLIPPLANE5)\x20||\x20defined(CLIPPLANE6)\x0aif\x20(false)\x20{}\x0a#endif\x0a#ifdef\x20CLIPPLANE\x0aelse\x20if\x20(fClipDistance>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0aelse\x20if\x20(fClipDistance2>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0aelse\x20if\x20(fClipDistance3>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0aelse\x20if\x20(fClipDistance4>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0aelse\x20if\x20(fClipDistance5>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0aelse\x20if\x20(fClipDistance6>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a';},0xff1b:(_0x2bcb03,_0x3bf963,_0x4c2d90)=>{var _0x341561=a7_0x1ed280;_0x4c2d90(0x17a92)['v']['IncludesShadersStore'][_0x341561(0xadd)]=_0x341561(0xafc);},0x6efd:(_0x480a20,_0x282ec9,_0x241159)=>{var _0x1247f9=a7_0x1ed280;_0x241159(0x17a92)['v']['IncludesShadersStore']['clipPlaneVertex']=_0x1247f9(0x5d4);},0x13216:(_0x18ec1f,_0x23c785,_0x40e341)=>{var _0x1a9dc6=a7_0x1ed280;_0x40e341(0x17a92)['v'][_0x1a9dc6(0x281)][_0x1a9dc6(0x57f)]='#ifdef\x20CLIPPLANE\x0auniform\x20vec4\x20vClipPlane;\x0avarying\x20float\x20fClipDistance;\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0auniform\x20vec4\x20vClipPlane2;\x0avarying\x20float\x20fClipDistance2;\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0auniform\x20vec4\x20vClipPlane3;\x0avarying\x20float\x20fClipDistance3;\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0auniform\x20vec4\x20vClipPlane4;\x0avarying\x20float\x20fClipDistance4;\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0auniform\x20vec4\x20vClipPlane5;\x0avarying\x20float\x20fClipDistance5;\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0auniform\x20vec4\x20vClipPlane6;\x0avarying\x20float\x20fClipDistance6;\x0a#endif\x0a';},0xcff7:(_0x31e7a9,_0x8b430f,_0x196757)=>{var _0x497f89=a7_0x1ed280;_0x196757(0x17a92)['v']['IncludesShadersStore'][_0x497f89(0x859)]=_0x497f89(0x144);},0xf57c:(_0x5725c5,_0x4ba116,_0x4883c5)=>{var _0xb7e9e1=a7_0x1ed280;_0x4883c5(0x17a92)['v']['IncludesShadersStore'][_0xb7e9e1(0x720)]=_0xb7e9e1(0x698);},0x2826:(_0x42c142,_0x3bc7f3,_0x7c4d55)=>{var _0xefbad2=a7_0x1ed280;_0x7c4d55(0x17a92)['v'][_0xefbad2(0x281)][_0xefbad2(0x62a)]='#ifdef\x20DECAL\x0auniform\x20vec4\x20vDecalInfos;\x0auniform\x20mat4\x20decalMatrix;\x0a#endif\x0a';},0x4bc6:(_0x595620,_0x131add,_0xdb3479)=>{var _0x2b9fd8=a7_0x1ed280,_0x110c34=_0xdb3479(0x17a92);_0xdb3479(0x6cce),_0xdb3479(0x11fa6),_0x110c34['v']['IncludesShadersStore']['defaultUboDeclaration']=_0x2b9fd8(0x7e6);},0x6318:(_0x1920d3,_0x304f5f,_0x28fc20)=>{var _0x2f707d=a7_0x1ed280;_0x28fc20(0x17a92)['v'][_0x2f707d(0x281)][_0x2f707d(0x26b)]='#ifdef\x20DEPTHPREPASS\x0agl_FragColor=vec4(0.,0.,0.,1.0);\x0areturn;\x0a#endif\x0a';},0x10ef:(_0x1cb0ce,_0x3037e0,_0x1923b9)=>{var _0x2d70f7=a7_0x1ed280;_0x1923b9(0x17a92)['v'][_0x2d70f7(0x281)][_0x2d70f7(0x58c)]=_0x2d70f7(0x2d1);},0x12a16:(_0x1198e1,_0x13460e,_0x1ff769)=>{var _0x30f6f9=a7_0x1ed280;_0x1ff769(0x17a92)['v']['IncludesShadersStore'][_0x30f6f9(0x874)]=_0x30f6f9(0x4de);},0x9871:(_0x5ac2d2,_0x1be175,_0x2d5312)=>{var _0x5b0af3=a7_0x1ed280;_0x2d5312(0x17a92)['v'][_0x5b0af3(0x281)][_0x5b0af3(0x649)]=_0x5b0af3(0x687);},0x6a99:(_0xd0bd23,_0x52cb84,_0x18686c)=>{var _0x42a51f=a7_0x1ed280;_0x18686c(0x17a92)['v'][_0x42a51f(0x281)][_0x42a51f(0x6df)]=_0x42a51f(0x6e2);},0xb008:(_0x3b1501,_0x222644,_0xdaea1b)=>{var _0x4d1015=a7_0x1ed280;_0xdaea1b(0x17a92)['v']['IncludesShadersStore'][_0x4d1015(0x2b2)]=_0x4d1015(0x693);},0x14535:(_0x471cbd,_0x24fd64,_0x335448)=>{var _0x496584=a7_0x1ed280;_0x335448(0x17a92)['v'][_0x496584(0x281)][_0x496584(0x202)]=_0x496584(0xb6d);},0x16b85:(_0x30b058,_0x217e39,_0x17e7e3)=>{var _0x11691e=a7_0x1ed280;_0x17e7e3(0x17a92)['v']['IncludesShadersStore'][_0x11691e(0xcaa)]=_0x11691e(0xce2);},0x175b0:(_0xed93ed,_0x297e55,_0x5e8ee4)=>{var _0x170564=a7_0x1ed280;_0x5e8ee4(0x17a92)['v'][_0x170564(0x281)]['helperFunctions']=_0x170564(0x3d0);},0x17ef8:(_0x58abb5,_0x47d032,_0x3e0d7d)=>{var _0x1d3db4=a7_0x1ed280;_0x3e0d7d(0x17a92)['v'][_0x1d3db4(0x281)]['imageProcessingCompatibility']=_0x1d3db4(0x5ed);},0x16c11:(_0x28f544,_0x1d8c1a,_0x32ad63)=>{var _0x4f7866=a7_0x1ed280;_0x32ad63(0x17a92)['v'][_0x4f7866(0x281)][_0x4f7866(0xb9f)]=_0x4f7866(0x4a0);},0x119a9:(_0x51ce89,_0x1056e3,_0x6af10a)=>{var _0x5c03b3=a7_0x1ed280;_0x6af10a(0x17a92)['v'][_0x5c03b3(0x281)][_0x5c03b3(0x585)]=_0x5c03b3(0x7fb);},0x1b98:(_0x58233b,_0x3cffcb,_0x330d74)=>{var _0x209659=a7_0x1ed280;_0x330d74(0x17a92)['v']['IncludesShadersStore']['importanceSampling']=_0x209659(0x35a);},0x12bc6:(_0x3b4423,_0x52a6f5,_0x32cba6)=>{var _0x46b317=a7_0x1ed280;_0x32cba6(0x17a92)['v'][_0x46b317(0x281)][_0x46b317(0x2b0)]=_0x46b317(0xa79);},0x733d:(_0x343a15,_0x4a8f92,_0x417946)=>{var _0x280282=a7_0x1ed280;_0x417946(0x17a92)['v']['IncludesShadersStore']['instancesVertex']=_0x280282(0x1d1);},0x1610b:(_0x532885,_0x4dbd97,_0x2592a0)=>{var _0x1f9a9a=a7_0x1ed280;_0x2592a0(0x17a92)['v'][_0x1f9a9a(0x281)]['kernelBlurVaryingDeclaration']=_0x1f9a9a(0xa64);},0xb0bc:(_0x1c46af,_0xa17b9f,_0x3616d9)=>{var _0x45cf74=a7_0x1ed280;_0x3616d9(0x17a92)['v'][_0x45cf74(0x281)]['lightFragment']=_0x45cf74(0xd24);},0xe6c7:(_0x5d8118,_0x20a60a,_0x19406f)=>{var _0x5a521a=a7_0x1ed280;_0x19406f(0x17a92)['v'][_0x5a521a(0x281)][_0x5a521a(0x7ef)]=_0x5a521a(0x232);},0x15fb5:(_0x2b393c,_0x4adf64,_0x391b53)=>{var _0x5edf21=a7_0x1ed280;_0x391b53(0x17a92)['v'][_0x5edf21(0x281)]['lightUboDeclaration']='#ifdef\x20LIGHT{X}\x0auniform\x20Light{X}\x0a{\x0avec4\x20vLightData;\x0avec4\x20vLightDiffuse;\x0avec4\x20vLightSpecular;\x0a#ifdef\x20SPOTLIGHT{X}\x0avec4\x20vLightDirection;\x0avec4\x20vLightFalloff;\x0a#elif\x20defined(POINTLIGHT{X})\x0avec4\x20vLightFalloff;\x0a#elif\x20defined(HEMILIGHT{X})\x0avec3\x20vLightGround;\x0a#endif\x0avec4\x20shadowsInfo;\x0avec2\x20depthValues;\x0a}\x20light{X};\x0a#ifdef\x20PROJECTEDLIGHTTEXTURE{X}\x0auniform\x20mat4\x20textureProjectionMatrix{X};\x0auniform\x20sampler2D\x20projectionLightSampler{X};\x0a#endif\x0a#ifdef\x20SHADOW{X}\x0a#ifdef\x20SHADOWCSM{X}\x0auniform\x20mat4\x20lightMatrix{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20viewFrustumZ{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20frustumLengths{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20cascadeBlendFactor{X};\x0avarying\x20vec4\x20vPositionFromLight{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20float\x20vDepthMetric{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20vec4\x20vPositionFromCamera{X};\x0a#if\x20defined(SHADOWPCSS{X})\x0auniform\x20highp\x20sampler2DArrayShadow\x20shadowSampler{X};\x0auniform\x20highp\x20sampler2DArray\x20depthSampler{X};\x0auniform\x20vec2\x20lightSizeUVCorrection{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20depthCorrection{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20penumbraDarkness{X};\x0a#elif\x20defined(SHADOWPCF{X})\x0auniform\x20highp\x20sampler2DArrayShadow\x20shadowSampler{X};\x0a#else\x0auniform\x20highp\x20sampler2DArray\x20shadowSampler{X};\x0a#endif\x0a#ifdef\x20SHADOWCSMDEBUG{X}\x0aconst\x20vec3\x20vCascadeColorsMultiplier{X}[8]=vec3[8]\x0a(\x0avec3\x20(\x201.5,0.0,0.0\x20),\x0avec3\x20(\x200.0,1.5,0.0\x20),\x0avec3\x20(\x200.0,0.0,5.5\x20),\x0avec3\x20(\x201.5,0.0,5.5\x20),\x0avec3\x20(\x201.5,1.5,0.0\x20),\x0avec3\x20(\x201.0,1.0,1.0\x20),\x0avec3\x20(\x200.0,1.0,5.5\x20),\x0avec3\x20(\x200.5,3.5,0.75\x20)\x0a);\x0avec3\x20shadowDebug{X};\x0a#endif\x0a#ifdef\x20SHADOWCSMUSESHADOWMAXZ{X}\x0aint\x20index{X}=-1;\x0a#else\x0aint\x20index{X}=SHADOWCSMNUM_CASCADES{X}-1;\x0a#endif\x0afloat\x20diff{X}=0.;\x0a#elif\x20defined(SHADOWCUBE{X})\x0auniform\x20samplerCube\x20shadowSampler{X};\x20\x0a#else\x0avarying\x20vec4\x20vPositionFromLight{X};\x0avarying\x20float\x20vDepthMetric{X};\x0a#if\x20defined(SHADOWPCSS{X})\x0auniform\x20highp\x20sampler2DShadow\x20shadowSampler{X};\x0auniform\x20highp\x20sampler2D\x20depthSampler{X};\x0a#elif\x20defined(SHADOWPCF{X})\x0auniform\x20highp\x20sampler2DShadow\x20shadowSampler{X};\x0a#else\x0auniform\x20sampler2D\x20shadowSampler{X};\x0a#endif\x0auniform\x20mat4\x20lightMatrix{X};\x0a#endif\x0a#endif\x0a#endif\x0a';},0x1b3f:(_0x2d3adc,_0x1fc6a8,_0x28cd82)=>{var _0xc42fcc=a7_0x1ed280;_0x28cd82(0x17a92)['v']['IncludesShadersStore'][_0xc42fcc(0x7df)]=_0xc42fcc(0x52f);},0xc971:(_0x7ec0f9,_0x4528af,_0x5a7c7b)=>{var _0xa620c2=a7_0x1ed280;_0x5a7c7b(0x17a92)['v'][_0xa620c2(0x281)][_0xa620c2(0xd28)]=_0xa620c2(0x279);},0x1f57:(_0x31faf1,_0x2e67e7,_0x35ddaa)=>{var _0x1b6ee1=a7_0x1ed280;_0x35ddaa(0x17a92)['v'][_0x1b6ee1(0x281)][_0x1b6ee1(0xb1c)]='struct\x20lightingInfo\x0a{\x0avec3\x20diffuse;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specular;\x0a#endif\x0a#ifdef\x20NDOTL\x0afloat\x20ndl;\x0a#endif\x0a};\x0alightingInfo\x20computeLighting(vec3\x20viewDirectionW,vec3\x20vNormal,vec4\x20lightData,vec3\x20diffuseColor,vec3\x20specularColor,float\x20range,float\x20glossiness)\x20{\x0alightingInfo\x20result;\x0avec3\x20lightVectorW;\x0afloat\x20attenuation=1.0;\x0aif\x20(lightData.w==0.)\x0a{\x0avec3\x20direction=lightData.xyz-vPositionW;\x0aattenuation=max(0.,1.0-length(direction)/range);\x0alightVectorW=normalize(direction);\x0a}\x0aelse\x0a{\x0alightVectorW=normalize(-lightData.xyz);\x0a}\x0afloat\x20ndl=max(0.,dot(vNormal,lightVectorW));\x0a#ifdef\x20NDOTL\x0aresult.ndl=ndl;\x0a#endif\x0aresult.diffuse=ndl*diffuseColor*attenuation;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20angleW=normalize(viewDirectionW+lightVectorW);\x0afloat\x20specComp=max(0.,dot(vNormal,angleW));\x0aspecComp=pow(specComp,max(1.,glossiness));\x0aresult.specular=specComp*specularColor*attenuation;\x0a#endif\x0areturn\x20result;\x0a}\x0alightingInfo\x20computeSpotLighting(vec3\x20viewDirectionW,vec3\x20vNormal,vec4\x20lightData,vec4\x20lightDirection,vec3\x20diffuseColor,vec3\x20specularColor,float\x20range,float\x20glossiness)\x20{\x0alightingInfo\x20result;\x0avec3\x20direction=lightData.xyz-vPositionW;\x0avec3\x20lightVectorW=normalize(direction);\x0afloat\x20attenuation=max(0.,1.0-length(direction)/range);\x0afloat\x20cosAngle=max(0.,dot(lightDirection.xyz,-lightVectorW));\x0aif\x20(cosAngle>=lightDirection.w)\x0a{\x0acosAngle=max(0.,pow(cosAngle,lightData.w));\x0aattenuation*=cosAngle;\x0afloat\x20ndl=max(0.,dot(vNormal,lightVectorW));\x0a#ifdef\x20NDOTL\x0aresult.ndl=ndl;\x0a#endif\x0aresult.diffuse=ndl*diffuseColor*attenuation;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20angleW=normalize(viewDirectionW+lightVectorW);\x0afloat\x20specComp=max(0.,dot(vNormal,angleW));\x0aspecComp=pow(specComp,max(1.,glossiness));\x0aresult.specular=specComp*specularColor*attenuation;\x0a#endif\x0areturn\x20result;\x0a}\x0aresult.diffuse=vec3(0.);\x0a#ifdef\x20SPECULARTERM\x0aresult.specular=vec3(0.);\x0a#endif\x0a#ifdef\x20NDOTL\x0aresult.ndl=0.;\x0a#endif\x0areturn\x20result;\x0a}\x0alightingInfo\x20computeHemisphericLighting(vec3\x20viewDirectionW,vec3\x20vNormal,vec4\x20lightData,vec3\x20diffuseColor,vec3\x20specularColor,vec3\x20groundColor,float\x20glossiness)\x20{\x0alightingInfo\x20result;\x0afloat\x20ndl=dot(vNormal,lightData.xyz)*0.5+0.5;\x0a#ifdef\x20NDOTL\x0aresult.ndl=ndl;\x0a#endif\x0aresult.diffuse=mix(groundColor,diffuseColor,ndl);\x0a#ifdef\x20SPECULARTERM\x0avec3\x20angleW=normalize(viewDirectionW+lightData.xyz);\x0afloat\x20specComp=max(0.,dot(vNormal,angleW));\x0aspecComp=pow(specComp,max(1.,glossiness));\x0aresult.specular=specComp*specularColor;\x0a#endif\x0areturn\x20result;\x0a}\x0a#define\x20inline\x0avec3\x20computeProjectionTextureDiffuseLighting(sampler2D\x20projectionLightSampler,mat4\x20textureProjectionMatrix){\x0avec4\x20strq=textureProjectionMatrix*vec4(vPositionW,1.0);\x0astrq/=strq.w;\x0avec3\x20textureColor=texture2D(projectionLightSampler,strq.xy).rgb;\x0areturn\x20textureColor;\x0a}';},0x17bd9:(_0x8b6fb5,_0x23c502,_0x40da10)=>{var _0x142bf3=a7_0x1ed280;_0x40da10(0x17a92)['v'][_0x142bf3(0x281)][_0x142bf3(0x88e)]=_0x142bf3(0xc38);},0x1445f:(_0x4092ba,_0x47a4a7,_0x12a49c)=>{var _0x5504cf=a7_0x1ed280;_0x12a49c(0x17a92)['v'][_0x5504cf(0x281)][_0x5504cf(0x2a5)]=_0x5504cf(0x93d);},0x13da6:(_0x41803d,_0xeb625d,_0x2c45c1)=>{var _0x4db20a=a7_0x1ed280;_0x2c45c1(0x17a92)['v']['IncludesShadersStore'][_0x4db20a(0xa2f)]=_0x4db20a(0x906);},0x94fa:(_0x538b51,_0x2a3b72,_0x2dd4e0)=>{var _0x5a3269=a7_0x1ed280;_0x2dd4e0(0x17a92)['v'][_0x5a3269(0x281)]['mainUVVaryingDeclaration']=_0x5a3269(0xb2c);},0x11fa6:(_0x43525c,_0x1d0b86,_0x267757)=>{var _0x1af2a9=a7_0x1ed280;_0x267757(0x17a92)['v'][_0x1af2a9(0x281)][_0x1af2a9(0x470)]=_0x1af2a9(0x858);},0x1070:(_0x1a10bf,_0x52adc5,_0xded3a5)=>{var _0x36ded4=a7_0x1ed280;_0xded3a5(0x17a92)['v'][_0x36ded4(0x281)][_0x36ded4(0x3bd)]=_0x36ded4(0x6f7);},0x12abc:(_0x4a7f4d,_0xab2fdc,_0x2f6d3a)=>{var _0x31ddfa=a7_0x1ed280;_0x2f6d3a(0x17a92)['v'][_0x31ddfa(0x281)]['morphTargetsVertexDeclaration']=_0x31ddfa(0x8eb);},0x13906:(_0x47cf3f,_0x13a98e,_0x23746d)=>{var _0x4079a4=a7_0x1ed280;_0x23746d(0x17a92)['v']['IncludesShadersStore']['morphTargetsVertexGlobal']=_0x4079a4(0x853);},0x9ea3:(_0x4bb9e1,_0x2453a8,_0x4693bb)=>{var _0x19ab93=a7_0x1ed280;_0x4693bb(0x17a92)['v']['IncludesShadersStore'][_0x19ab93(0x78b)]='#ifdef\x20MORPHTARGETS\x0auniform\x20float\x20morphTargetInfluences[NUM_MORPH_INFLUENCERS];\x0a#ifdef\x20MORPHTARGETS_TEXTURE\x20\x0aprecision\x20mediump\x20sampler2DArray;\x20\x0auniform\x20float\x20morphTargetTextureIndices[NUM_MORPH_INFLUENCERS];\x0auniform\x20vec3\x20morphTargetTextureInfo;\x0auniform\x20sampler2DArray\x20morphTargets;\x0avec3\x20readVector3FromRawSampler(int\x20targetIndex,float\x20vertexIndex)\x0a{\x20\x0afloat\x20y=floor(vertexIndex/morphTargetTextureInfo.y);\x0afloat\x20x=vertexIndex-y*morphTargetTextureInfo.y;\x0avec3\x20textureUV=vec3((x+0.5)/morphTargetTextureInfo.y,(y+0.5)/morphTargetTextureInfo.z,morphTargetTextureIndices[targetIndex]);\x0areturn\x20texture(morphTargets,textureUV).xyz;\x0a}\x0a#endif\x0a#endif\x0a';},0xa8cd:(_0xee9237,_0x2e3886,_0x159cb5)=>{var _0x53c85f=a7_0x1ed280;_0x159cb5(0x17a92)['v']['IncludesShadersStore'][_0x53c85f(0xade)]=_0x53c85f(0x191);},0xa965:(_0x292034,_0x117d12,_0x44d6eb)=>{var _0x441f68=a7_0x1ed280;_0x44d6eb(0x17a92)['v'][_0x441f68(0x281)][_0x441f68(0xbff)]=_0x441f68(0x872);},0xe85e:(_0x501430,_0x2efe39,_0x132521)=>{var _0x27601f=a7_0x1ed280;_0x132521(0x17a92)['v'][_0x27601f(0x281)][_0x27601f(0x212)]=_0x27601f(0x5d3);},0x10b3e:(_0x115875,_0x16c14d,_0x20e199)=>{var _0x293129=a7_0x1ed280;_0x20e199(0x17a92)['v']['IncludesShadersStore'][_0x293129(0x22f)]=_0x293129(0x509);},0xc853:(_0x120aa6,_0x23caf3,_0x2f25f4)=>{var _0xb8cbf7=a7_0x1ed280,_0x369b43=_0x2f25f4(0x17a92);_0x2f25f4(0x6cce),_0x2f25f4(0x11fa6),_0x369b43['v'][_0xb8cbf7(0x281)][_0xb8cbf7(0x2c9)]='layout(std140,column_major)\x20uniform;\x0auniform\x20Material\x20{\x0avec2\x20vAlbedoInfos;\x0avec4\x20vAmbientInfos;\x0avec2\x20vOpacityInfos;\x0avec2\x20vEmissiveInfos;\x0avec2\x20vLightmapInfos;\x0avec3\x20vReflectivityInfos;\x0avec2\x20vMicroSurfaceSamplerInfos;\x0avec2\x20vReflectionInfos;\x0avec2\x20vReflectionFilteringInfo;\x0avec3\x20vReflectionPosition;\x0avec3\x20vReflectionSize;\x0avec3\x20vBumpInfos;\x0amat4\x20albedoMatrix;\x0amat4\x20ambientMatrix;\x0amat4\x20opacityMatrix;\x0amat4\x20emissiveMatrix;\x0amat4\x20lightmapMatrix;\x0amat4\x20reflectivityMatrix;\x0amat4\x20microSurfaceSamplerMatrix;\x0amat4\x20bumpMatrix;\x0avec2\x20vTangentSpaceParams;\x0amat4\x20reflectionMatrix;\x0avec3\x20vReflectionColor;\x0avec4\x20vAlbedoColor;\x0avec4\x20vLightingIntensity;\x0avec3\x20vReflectionMicrosurfaceInfos;\x0afloat\x20pointSize;\x0avec4\x20vReflectivityColor;\x0avec3\x20vEmissiveColor;\x0avec3\x20vAmbientColor;\x0avec2\x20vDebugMode;\x0avec4\x20vMetallicReflectanceFactors;\x0avec2\x20vMetallicReflectanceInfos;\x0amat4\x20metallicReflectanceMatrix;\x0avec2\x20vReflectanceInfos;\x0amat4\x20reflectanceMatrix;\x0avec3\x20vSphericalL00;\x0avec3\x20vSphericalL1_1;\x0avec3\x20vSphericalL10;\x0avec3\x20vSphericalL11;\x0avec3\x20vSphericalL2_2;\x0avec3\x20vSphericalL2_1;\x0avec3\x20vSphericalL20;\x0avec3\x20vSphericalL21;\x0avec3\x20vSphericalL22;\x0avec3\x20vSphericalX;\x0avec3\x20vSphericalY;\x0avec3\x20vSphericalZ;\x0avec3\x20vSphericalXX_ZZ;\x0avec3\x20vSphericalYY_ZZ;\x0avec3\x20vSphericalZZ;\x0avec3\x20vSphericalXY;\x0avec3\x20vSphericalYZ;\x0avec3\x20vSphericalZX;\x0a#define\x20ADDITIONAL_UBO_DECLARATION\x0a};\x0a#include\x0a#include\x0a';},0x67c9:(_0x30669e,_0x3e2c85,_0x2b0a65)=>{var _0x35b08c=a7_0x1ed280;_0x2b0a65(0x17a92)['v'][_0x35b08c(0x281)]['prePassDeclaration']=_0x35b08c(0xbed);},0x1abd:(_0xc04078,_0x36a10f,_0x1978c4)=>{var _0x33f52f=a7_0x1ed280;_0x1978c4(0x17a92)['v'][_0x33f52f(0x281)][_0x33f52f(0x1a5)]=_0x33f52f(0x4f0);},0x18442:(_0x50cb21,_0x490c31,_0x5ebe03)=>{var _0x499e79=a7_0x1ed280;_0x5ebe03(0x17a92)['v']['IncludesShadersStore'][_0x499e79(0xb08)]='#ifdef\x20PREPASS\x0a#ifdef\x20PREPASS_DEPTH\x0avarying\x20vec3\x20vViewPos;\x0a#endif\x0a#ifdef\x20PREPASS_VELOCITY\x0auniform\x20mat4\x20previousViewProjection;\x0avarying\x20vec4\x20vCurrentPosition;\x0avarying\x20vec4\x20vPreviousPosition;\x0a#endif\x0a#endif\x0a';},0x11645:(_0x179b11,_0x1b4ca1,_0x10fbdc)=>{var _0x1ba9ed=a7_0x1ed280;_0x10fbdc(0x17a92)['v']['IncludesShadersStore'][_0x1ba9ed(0x8ea)]=_0x1ba9ed(0xaf2);},0x126e8:(_0x4f84f1,_0xf51952,_0x30d8ef)=>{var _0x1d39d3=a7_0x1ed280;_0x30d8ef(0x17a92)['v'][_0x1d39d3(0x281)][_0x1d39d3(0x9b9)]=_0x1d39d3(0x6cb);},0x15b7a:(_0x18303c,_0x92fbf7,_0x1c2410)=>{var _0x25f526=a7_0x1ed280;_0x1c2410(0x17a92)['v']['IncludesShadersStore'][_0x25f526(0xb2d)]=_0x25f526(0xab4);},0x2f27:(_0xbe08a1,_0x34b630,_0x53ad84)=>{var _0x16dde2=a7_0x1ed280;_0x53ad84(0x17a92)['v'][_0x16dde2(0x281)][_0x16dde2(0x469)]=_0x16dde2(0xba6);},0x6cce:(_0x32f668,_0x47a8df,_0x53e2de)=>{var _0x5aa250=a7_0x1ed280;_0x53e2de(0x17a92)['v'][_0x5aa250(0x281)][_0x5aa250(0x81b)]='layout(std140,column_major)\x20uniform;\x0auniform\x20Scene\x20{\x0amat4\x20viewProjection;\x0a#ifdef\x20MULTIVIEW\x0amat4\x20viewProjectionR;\x0a#endif\x20\x0amat4\x20view;\x0amat4\x20projection;\x0avec4\x20vEyePosition;\x0a};\x0a';},0x4547:(_0x46fddc,_0x3842df,_0x174422)=>{var _0x503833=a7_0x1ed280;_0x174422(0x17a92)['v'][_0x503833(0x281)]['shadowMapFragmentSoftTransparentShadow']=_0x503833(0x2ee);},0x1f85:(_0x50145e,_0x23c4c7,_0x1e460c)=>{var _0x55e770=a7_0x1ed280;_0x1e460c(0x17a92)['v'][_0x55e770(0x281)][_0x55e770(0xa89)]=_0x55e770(0x3be);},0x6e75:(_0x290bbc,_0x1eafb6,_0x2dd679)=>{var _0x3d7dbe=a7_0x1ed280;_0x2dd679(0x17a92)['v'][_0x3d7dbe(0x281)][_0x3d7dbe(0x4b5)]=_0x3d7dbe(0x583);},0x6b23:(_0x5eb40e,_0x5c0945,_0x49d5f0)=>{var _0x6a5ee7=a7_0x1ed280;_0x49d5f0(0x17a92)['v'][_0x6a5ee7(0x281)][_0x6a5ee7(0xb1f)]='bool\x20testLightingForSSS(float\x20diffusionProfile)\x0a{\x0areturn\x20diffusionProfile<1.;\x0a}';},0x17bd8:(_0x2eb501,_0x98b177,_0x72a635)=>{var _0x5ce963=a7_0x1ed280;_0x72a635(0x17a92)['v']['IncludesShadersStore']['uvAttributeDeclaration']=_0x5ce963(0xb9d);},0xd68d:(_0x378acd,_0x1a2309,_0x9b7309)=>{var _0xc50f36=a7_0x1ed280;_0x9b7309(0x17a92)['v'][_0xc50f36(0x281)][_0xc50f36(0x864)]='#if\x20!defined(UV{X})\x20&&\x20defined(MAINUV{X})\x0avec2\x20uv{X}=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20MAINUV{X}\x0avMainUV{X}=uv{X};\x0a#endif\x0a';},0xedb9:(_0x17c64a,_0x13c9bd,_0x46b20c)=>{var _0x37be24=a7_0x1ed280;_0x46b20c(0x17a92)['v'][_0x37be24(0x281)]['vertexColorMixing']=_0x37be24(0x28b);},0x16944:(_0x210b92,_0x257ae4,_0x2b4f98)=>{var _0x33df3b=a7_0x1ed280;_0x2b4f98(0x17a92)['v'][_0x33df3b(0x6d9)]['anaglyphPixelShader']=_0x33df3b(0x718);},0x2318:(_0x56aa55,_0x568b7d,_0x351605)=>{var _0x35ac39=a7_0x1ed280,_0xa531bb=_0x351605(0x17a92);_0xa531bb['v'][_0x35ac39(0x281)][_0x35ac39(0xcbb)]=_0x35ac39(0x6fa),_0x351605(0x6052),_0x351605(0x175b0),_0x351605(0x11645),_0x351605(0x16c11),_0x351605(0xe6c7),_0x351605(0x15fb5),_0x351605(0x1f57),_0x351605(0x1f85),_0x351605(0x119a9),_0x351605(0xff1b),_0x351605(0x12a16),_0x351605(0x3328),_0x351605(0xb0bc),_0x351605(0x10ef),_0xa531bb['v']['ShadersStore'][_0x35ac39(0x8cd)]='#ifdef\x20TEXTURELODSUPPORT\x0a#extension\x20GL_EXT_shader_texture_lod\x20:\x20enable\x0a#endif\x0aprecision\x20highp\x20float;\x0a#include<__decl__backgroundFragment>\x0a#include\x0a#define\x20RECIPROCAL_PI2\x200.15915494\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20MAINUV1\x0avarying\x20vec2\x20vMainUV1;\x0a#endif\x20\x0a#ifdef\x20MAINUV2\x20\x0avarying\x20vec2\x20vMainUV2;\x20\x0a#endif\x20\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20DIFFUSE\x0a#if\x20DIFFUSEDIRECTUV==1\x0a#define\x20vDiffuseUV\x20vMainUV1\x0a#elif\x20DIFFUSEDIRECTUV==2\x0a#define\x20vDiffuseUV\x20vMainUV2\x0a#else\x0avarying\x20vec2\x20vDiffuseUV;\x0a#endif\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#ifdef\x20REFLECTION\x0a#ifdef\x20REFLECTIONMAP_3D\x0a#define\x20sampleReflection(s,c)\x20textureCube(s,c)\x0auniform\x20samplerCube\x20reflectionSampler;\x0a#ifdef\x20TEXTURELODSUPPORT\x0a#define\x20sampleReflectionLod(s,c,l)\x20textureCubeLodEXT(s,c,l)\x0a#else\x0auniform\x20samplerCube\x20reflectionSamplerLow;\x0auniform\x20samplerCube\x20reflectionSamplerHigh;\x0a#endif\x0a#else\x0a#define\x20sampleReflection(s,c)\x20texture2D(s,c)\x0auniform\x20sampler2D\x20reflectionSampler;\x0a#ifdef\x20TEXTURELODSUPPORT\x0a#define\x20sampleReflectionLod(s,c,l)\x20texture2DLodEXT(s,c,l)\x0a#else\x0auniform\x20samplerCube\x20reflectionSamplerLow;\x0auniform\x20samplerCube\x20reflectionSamplerHigh;\x0a#endif\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avarying\x20vec3\x20vPositionUVW;\x0a#else\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avarying\x20vec3\x20vDirectionW;\x0a#endif\x0a#endif\x0a#include\x0a#endif\x0a#ifndef\x20FROMLINEARSPACE\x0a#define\x20FROMLINEARSPACE;\x0a#endif\x0a#ifndef\x20SHADOWONLY\x0a#define\x20SHADOWONLY;\x0a#endif\x0a#include\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0a#ifdef\x20REFLECTIONFRESNEL\x0a#define\x20FRESNEL_MAXIMUM_ON_ROUGH\x200.25\x0avec3\x20fresnelSchlickEnvironmentGGX(float\x20VdotN,vec3\x20reflectance0,vec3\x20reflectance90,float\x20smoothness)\x0a{\x0afloat\x20weight=mix(FRESNEL_MAXIMUM_ON_ROUGH,1.0,smoothness);\x0areturn\x20reflectance0+weight*(reflectance90-reflectance0)*pow5(saturate(1.0-VdotN));\x0a}\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(0.0,1.0,0.0);\x0a#endif\x0afloat\x20shadow=1.;\x0afloat\x20globalShadow=0.;\x0afloat\x20shadowLightCount=0.;\x0a#include[0..maxSimultaneousLights]\x0a#ifdef\x20SHADOWINUSE\x0aglobalShadow/=shadowLightCount;\x0a#else\x0aglobalShadow=1.0;\x0a#endif\x0a#ifndef\x20BACKMAT_SHADOWONLY\x0avec4\x20reflectionColor=vec4(1.,1.,1.,1.);\x0a#ifdef\x20REFLECTION\x0avec3\x20reflectionVector=computeReflectionCoords(vec4(vPositionW,1.0),normalW);\x0a#ifdef\x20REFLECTIONMAP_OPPOSITEZ\x0areflectionVector.z*=-1.0;\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0avec3\x20reflectionCoords=reflectionVector;\x0a#else\x0avec2\x20reflectionCoords=reflectionVector.xy;\x0a#ifdef\x20REFLECTIONMAP_PROJECTION\x0areflectionCoords/=reflectionVector.z;\x0a#endif\x0areflectionCoords.y=1.0-reflectionCoords.y;\x0a#endif\x0a#ifdef\x20REFLECTIONBLUR\x0afloat\x20reflectionLOD=vReflectionInfos.y;\x0a#ifdef\x20TEXTURELODSUPPORT\x0areflectionLOD=reflectionLOD*log2(vReflectionMicrosurfaceInfos.x)*vReflectionMicrosurfaceInfos.y+vReflectionMicrosurfaceInfos.z;\x0areflectionColor=sampleReflectionLod(reflectionSampler,reflectionCoords,reflectionLOD);\x0a#else\x0afloat\x20lodReflectionNormalized=saturate(reflectionLOD);\x0afloat\x20lodReflectionNormalizedDoubled=lodReflectionNormalized*2.0;\x0avec4\x20reflectionSpecularMid=sampleReflection(reflectionSampler,reflectionCoords);\x0aif(lodReflectionNormalizedDoubled<1.0){\x0areflectionColor=mix(\x0asampleReflection(reflectionSamplerHigh,reflectionCoords),\x0areflectionSpecularMid,\x0alodReflectionNormalizedDoubled\x0a);\x0a}\x20else\x20{\x0areflectionColor=mix(\x0areflectionSpecularMid,\x0asampleReflection(reflectionSamplerLow,reflectionCoords),\x0alodReflectionNormalizedDoubled-1.0\x0a);\x0a}\x0a#endif\x0a#else\x0avec4\x20reflectionSample=sampleReflection(reflectionSampler,reflectionCoords);\x0areflectionColor=reflectionSample;\x0a#endif\x0a#ifdef\x20RGBDREFLECTION\x0areflectionColor.rgb=fromRGBD(reflectionColor);\x0a#endif\x0a#ifdef\x20GAMMAREFLECTION\x0areflectionColor.rgb=toLinearSpace(reflectionColor.rgb);\x0a#endif\x0a#ifdef\x20REFLECTIONBGR\x0areflectionColor.rgb=reflectionColor.bgr;\x0a#endif\x0areflectionColor.rgb*=vReflectionInfos.x;\x0a#endif\x0avec3\x20diffuseColor=vec3(1.,1.,1.);\x0afloat\x20finalAlpha=alpha;\x0a#ifdef\x20DIFFUSE\x0avec4\x20diffuseMap=texture2D(diffuseSampler,vDiffuseUV);\x0a#ifdef\x20GAMMADIFFUSE\x0adiffuseMap.rgb=toLinearSpace(diffuseMap.rgb);\x0a#endif\x0adiffuseMap.rgb*=vDiffuseInfos.y;\x0a#ifdef\x20DIFFUSEHASALPHA\x0afinalAlpha*=diffuseMap.a;\x0a#endif\x0adiffuseColor=diffuseMap.rgb;\x0a#endif\x0a#ifdef\x20REFLECTIONFRESNEL\x0avec3\x20colorBase=diffuseColor;\x0a#else\x0avec3\x20colorBase=reflectionColor.rgb*diffuseColor;\x0a#endif\x0acolorBase=max(colorBase,0.0);\x0a#ifdef\x20USERGBCOLOR\x0avec3\x20finalColor=colorBase;\x0a#else\x0a#ifdef\x20USEHIGHLIGHTANDSHADOWCOLORS\x0avec3\x20mainColor=mix(vPrimaryColorShadow.rgb,vPrimaryColor.rgb,colorBase);\x0a#else\x0avec3\x20mainColor=vPrimaryColor.rgb;\x0a#endif\x0avec3\x20finalColor=colorBase*mainColor;\x0a#endif\x0a#ifdef\x20REFLECTIONFRESNEL\x0avec3\x20reflectionAmount=vReflectionControl.xxx;\x0avec3\x20reflectionReflectance0=vReflectionControl.yyy;\x0avec3\x20reflectionReflectance90=vReflectionControl.zzz;\x0afloat\x20VdotN=dot(normalize(vEyePosition.xyz),normalW);\x0avec3\x20planarReflectionFresnel=fresnelSchlickEnvironmentGGX(saturate(VdotN),reflectionReflectance0,reflectionReflectance90,1.0);\x0areflectionAmount*=planarReflectionFresnel;\x0a#ifdef\x20REFLECTIONFALLOFF\x0afloat\x20reflectionDistanceFalloff=1.0-saturate(length(vPositionW.xyz-vBackgroundCenter)*vReflectionControl.w);\x0areflectionDistanceFalloff*=reflectionDistanceFalloff;\x0areflectionAmount*=reflectionDistanceFalloff;\x0a#endif\x0afinalColor=mix(finalColor,reflectionColor.rgb,saturate(reflectionAmount));\x0a#endif\x0a#ifdef\x20OPACITYFRESNEL\x0afloat\x20viewAngleToFloor=dot(normalW,normalize(vEyePosition.xyz-vBackgroundCenter));\x0aconst\x20float\x20startAngle=0.1;\x0afloat\x20fadeFactor=saturate(viewAngleToFloor/startAngle);\x0afinalAlpha*=fadeFactor*fadeFactor;\x0a#endif\x0a#ifdef\x20SHADOWINUSE\x0afinalColor=mix(finalColor*shadowLevel,finalColor,globalShadow);\x0a#endif\x0avec4\x20color=vec4(finalColor,finalAlpha);\x0a#else\x0avec4\x20color=vec4(vPrimaryColor.rgb,(1.0-clamp(globalShadow,0.,1.))*alpha);\x0a#endif\x0a#include\x0a#ifdef\x20IMAGEPROCESSINGPOSTPROCESS\x0a#if\x20!defined(SKIPFINALCOLORCLAMP)\x0acolor.rgb=clamp(color.rgb,0.,30.0);\x0a#endif\x0a#else\x0acolor=applyImageProcessing(color);\x0a#endif\x0a#ifdef\x20PREMULTIPLYALPHA\x0acolor.rgb*=color.a;\x0a#endif\x0a#ifdef\x20NOISE\x0acolor.rgb+=dither(vPositionW.xy,0.5);\x0acolor=max(color,0.0);\x0a#endif\x0agl_FragColor=color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a';},0xa0d7:(_0x5f57cf,_0x507cb9,_0x27a380)=>{var _0x4cdc4d=a7_0x1ed280,_0x504100=_0x27a380(0x17a92);_0x504100['v']['IncludesShadersStore'][_0x4cdc4d(0xd00)]=_0x4cdc4d(0x256),_0x27a380(0x6052),_0x27a380(0x175b0),_0x27a380(0x13f9a),_0x27a380(0x12929),_0x27a380(0x12bc6),_0x27a380(0x13216),_0x27a380(0x6a99),_0x27a380(0x1b3f),_0x27a380(0xc971),_0x27a380(0x733d),_0x27a380(0xb434),_0x27a380(0xdcea),_0x27a380(0x6efd),_0x27a380(0x9871),_0x27a380(0x6e75),_0x504100['v']['ShadersStore']['backgroundVertexShader']='precision\x20highp\x20float;\x0a#include<__decl__backgroundVertex>\x0a#include\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#include\x0a#include\x0a#include\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20MAINUV1\x0avarying\x20vec2\x20vMainUV1;\x0a#endif\x0a#ifdef\x20MAINUV2\x0avarying\x20vec2\x20vMainUV2;\x0a#endif\x0a#if\x20defined(DIFFUSE)\x20&&\x20DIFFUSEDIRECTUV==0\x0avarying\x20vec2\x20vDiffuseUV;\x0a#endif\x0a#include\x0a#include\x0a#include<__decl__lightVxFragment>[0..maxSimultaneousLights]\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avarying\x20vec3\x20vPositionUVW;\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avarying\x20vec3\x20vDirectionW;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avPositionUVW=position;\x0a#endif\x0a#include\x0a#include\x0a#include\x0a#ifdef\x20MULTIVIEW\x0aif\x20(gl_ViewID_OVR==0u)\x20{\x0agl_Position=viewProjection*finalWorld*vec4(position,1.0);\x0a}\x20else\x20{\x0agl_Position=viewProjectionR*finalWorld*vec4(position,1.0);\x0a}\x0a#else\x0agl_Position=viewProjection*finalWorld*vec4(position,1.0);\x0a#endif\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0avPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0amat3\x20normalWorld=mat3(finalWorld);\x0a#ifdef\x20NONUNIFORMSCALING\x0anormalWorld=transposeMat3(inverseMat3(normalWorld));\x0a#endif\x0avNormalW=normalize(normalWorld*normal);\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avDirectionW=normalize(vec3(finalWorld*vec4(position,0.0)));\x0a#ifdef\x20EQUIRECTANGULAR_RELFECTION_FOV\x0amat3\x20screenToWorld=inverseMat3(mat3(finalWorld*viewProjection));\x0avec3\x20segment=mix(vDirectionW,screenToWorld*vec3(0.0,0.0,1.0),abs(fFovMultiplier-1.0));\x0aif\x20(fFovMultiplier<=1.0)\x20{\x0avDirectionW=normalize(segment);\x0a}\x20else\x20{\x0avDirectionW=normalize(vDirectionW+(vDirectionW-segment));\x0a}\x0a#endif\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20MAINUV1\x0avMainUV1=uv;\x0a#endif\x0a#ifdef\x20MAINUV2\x0avMainUV2=uv2;\x0a#endif\x0a#if\x20defined(DIFFUSE)\x20&&\x20DIFFUSEDIRECTUV==0\x0aif\x20(vDiffuseInfos.x==0.)\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\x0a}\x0aelse\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a}\x0a#endif\x0a#include\x0a#include\x0a#include[0..maxSimultaneousLights]\x0a#ifdef\x20VERTEXCOLOR\x0avColor=color;\x0a#endif\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a';},0x16de7:(_0x1300cf,_0x6a7f94,_0x5e2c6f)=>{var _0x48e2c1=a7_0x1ed280;_0x5e2c6f(0x17a92)['v'][_0x48e2c1(0x6d9)][_0x48e2c1(0xcd1)]=_0x48e2c1(0x342);},0x51b7:(_0x180684,_0x4e8d7d,_0x3cdf31)=>{var _0x12b7bd=a7_0x1ed280;_0x3cdf31(0x17a92)['v'][_0x12b7bd(0x6d9)][_0x12b7bd(0x83f)]='uniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20bloomBlur;\x0avarying\x20vec2\x20vUV;\x0auniform\x20float\x20bloomWeight;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0agl_FragColor=texture2D(textureSampler,vUV);\x0avec3\x20blurred=texture2D(bloomBlur,vUV).rgb;\x0agl_FragColor.rgb=gl_FragColor.rgb+(blurred.rgb*bloomWeight);\x20\x0a}\x0a';},0x1660e:(_0x129d5d,_0x4a032a,_0x17f44c)=>{var _0x173845=a7_0x1ed280,_0x2a7012=_0x17f44c(0x17a92);_0x2a7012['v'][_0x173845(0x281)][_0x173845(0x15f)]=_0x173845(0x3f8),_0x17f44c(0x140f3),_0x2a7012['v']['ShadersStore'][_0x173845(0xc4a)]='#include<__decl__boundingBoxRendererFragment>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0agl_FragColor=color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}';},0x885c:(_0x1fd150,_0x46112d,_0x23b441)=>{var _0x3a7bba=a7_0x1ed280,_0x351994=_0x23b441(0x17a92);_0x351994['v'][_0x3a7bba(0x281)][_0x3a7bba(0xd25)]=_0x3a7bba(0x308),_0x23b441(0x140f3),_0x351994['v'][_0x3a7bba(0x6d9)][_0x3a7bba(0x896)]=_0x3a7bba(0x517);},0x9518:(_0x4fc7f2,_0x249bbb,_0x267d7c)=>{var _0x11d42e=a7_0x1ed280;_0x267d7c(0x17a92)['v']['ShadersStore']['chromaticAberrationPixelShader']=_0x11d42e(0xacc);},0x1411e:(_0x14a696,_0x4f3941,_0x400d1f)=>{var _0x97d365=a7_0x1ed280;_0x400d1f(0x17a92)['v']['ShadersStore'][_0x97d365(0xa6c)]=_0x97d365(0xa3a);},0x119:(_0x588a89,_0x4876e7,_0x1f1b8a)=>{var _0x5083a1=a7_0x1ed280,_0x14334b=_0x1f1b8a(0x17a92);_0x1f1b8a(0xff1b),_0x1f1b8a(0x3328),_0x14334b['v'][_0x5083a1(0x6d9)][_0x5083a1(0x364)]=_0x5083a1(0xbe3);},0x17a74:(_0x516dd3,_0x46c75f,_0x587de2)=>{var _0x263d1f=a7_0x1ed280,_0x214ba7=_0x587de2(0x17a92);_0x587de2(0x13f9a),_0x587de2(0x12929),_0x587de2(0x13216),_0x587de2(0x12bc6),_0x587de2(0x733d),_0x587de2(0xb434),_0x587de2(0xdcea),_0x587de2(0x6efd),_0x587de2(0xedb9),_0x214ba7['v'][_0x263d1f(0x6d9)][_0x263d1f(0x6d5)]=_0x263d1f(0xc92);},0xbba1:(_0x464bb7,_0x1d2565,_0x119a09)=>{var _0x4692fa=a7_0x1ed280;_0x119a09(0x17a92)['v'][_0x4692fa(0x6d9)][_0x4692fa(0xce9)]=_0x4692fa(0x157);},0x10824:(_0xb42c84,_0x30b36b,_0x596b20)=>{var _0x5ec981=a7_0x1ed280;_0x596b20(0x17a92)['v'][_0x5ec981(0x6d9)]['convolutionPixelShader']=_0x5ec981(0xb63);},0x11840:(_0x1f1856,_0x1b5739,_0x35d9d4)=>{var _0x27736c=a7_0x1ed280,_0x3b88d9=_0x35d9d4(0x17a92);_0x35d9d4(0x175b0),_0x3b88d9['v']['ShadersStore'][_0x27736c(0x310)]=_0x27736c(0x904);},0x1859e:(_0x15825a,_0x4b7ecf,_0x230dcc)=>{var _0x557bc0=a7_0x1ed280,_0x2afced=_0x230dcc(0x17a92);_0x230dcc(0xf57c),_0x2afced['v'][_0x557bc0(0x281)]['defaultFragmentDeclaration']='uniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0a#ifdef\x20SPECULARTERM\x0auniform\x20vec4\x20vSpecularColor;\x0a#endif\x0auniform\x20vec3\x20vEmissiveColor;\x0auniform\x20vec3\x20vAmbientColor;\x0auniform\x20float\x20visibility;\x0a#ifdef\x20DIFFUSE\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20AMBIENT\x0auniform\x20vec2\x20vAmbientInfos;\x0a#endif\x0a#ifdef\x20OPACITY\x20\x0auniform\x20vec2\x20vOpacityInfos;\x0a#endif\x0a#ifdef\x20EMISSIVE\x0auniform\x20vec2\x20vEmissiveInfos;\x0a#endif\x0a#ifdef\x20LIGHTMAP\x0auniform\x20vec2\x20vLightmapInfos;\x0a#endif\x0a#ifdef\x20BUMP\x0auniform\x20vec3\x20vBumpInfos;\x0auniform\x20vec2\x20vTangentSpaceParams;\x0a#endif\x0a#ifdef\x20ALPHATEST\x0auniform\x20float\x20alphaCutOff;\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_SPHERICAL)\x20||\x20defined(REFLECTIONMAP_PROJECTION)\x20||\x20defined(REFRACTION)\x20||\x20defined(PREPASS)\x0auniform\x20mat4\x20view;\x0a#endif\x0a#ifdef\x20REFRACTION\x0auniform\x20vec4\x20vRefractionInfos;\x0a#ifndef\x20REFRACTIONMAP_3D\x0auniform\x20mat4\x20refractionMatrix;\x0a#endif\x0a#ifdef\x20REFRACTIONFRESNEL\x0auniform\x20vec4\x20refractionLeftColor;\x0auniform\x20vec4\x20refractionRightColor;\x0a#endif\x0a#if\x20defined(USE_LOCAL_REFRACTIONMAP_CUBIC)\x20&&\x20defined(REFRACTIONMAP_3D)\x0auniform\x20vec3\x20vRefractionPosition;\x0auniform\x20vec3\x20vRefractionSize;\x20\x0a#endif\x0a#endif\x0a#if\x20defined(SPECULAR)\x20&&\x20defined(SPECULARTERM)\x0auniform\x20vec2\x20vSpecularInfos;\x0a#endif\x0a#ifdef\x20DIFFUSEFRESNEL\x0auniform\x20vec4\x20diffuseLeftColor;\x0auniform\x20vec4\x20diffuseRightColor;\x0a#endif\x0a#ifdef\x20OPACITYFRESNEL\x0auniform\x20vec4\x20opacityParts;\x0a#endif\x0a#ifdef\x20EMISSIVEFRESNEL\x0auniform\x20vec4\x20emissiveLeftColor;\x0auniform\x20vec4\x20emissiveRightColor;\x0a#endif\x0a#ifdef\x20REFLECTION\x0auniform\x20vec2\x20vReflectionInfos;\x0a#if\x20defined(REFLECTIONMAP_PLANAR)\x20||\x20defined(REFLECTIONMAP_CUBIC)\x20||\x20defined(REFLECTIONMAP_PROJECTION)\x20||\x20defined(REFLECTIONMAP_EQUIRECTANGULAR)\x20||\x20defined(REFLECTIONMAP_SPHERICAL)\x20||\x20defined(REFLECTIONMAP_SKYBOX)\x0auniform\x20mat4\x20reflectionMatrix;\x0a#endif\x0a#ifndef\x20REFLECTIONMAP_SKYBOX\x0a#if\x20defined(USE_LOCAL_REFLECTIONMAP_CUBIC)\x20&&\x20defined(REFLECTIONMAP_CUBIC)\x0auniform\x20vec3\x20vReflectionPosition;\x0auniform\x20vec3\x20vReflectionSize;\x20\x0a#endif\x0a#endif\x0a#ifdef\x20REFLECTIONFRESNEL\x0auniform\x20vec4\x20reflectionLeftColor;\x0auniform\x20vec4\x20reflectionRightColor;\x0a#endif\x0a#endif\x0a#ifdef\x20DETAIL\x0auniform\x20vec4\x20vDetailInfos;\x0a#endif\x0a#include\x0a#define\x20ADDITIONAL_FRAGMENT_DECLARATION\x0a',_0x230dcc(0x4bc6),_0x230dcc(0x67c9),_0x230dcc(0xa8cd),_0x230dcc(0x94fa),_0x230dcc(0x175b0),_0x230dcc(0xe6c7),_0x230dcc(0x15fb5),_0x230dcc(0x1f57),_0x230dcc(0x1f85),_0x230dcc(0x126e8),_0x230dcc(0xb008),_0x230dcc(0x11645),_0x230dcc(0x16c11),_0x230dcc(0x119a9),_0x230dcc(0x8cac),_0x230dcc(0xe577),_0x230dcc(0xff1b),_0x230dcc(0x17bd9),_0x230dcc(0x12a16),_0x230dcc(0x3328),_0x230dcc(0x6664),_0x230dcc(0xcff7),_0x230dcc(0x6318),_0x230dcc(0xb0bc),_0x230dcc(0x1445f),_0x230dcc(0x10ef),_0x230dcc(0xa965),_0x2afced['v']['ShadersStore'][_0x557bc0(0x37c)]='#include<__decl__defaultFragment>\x0a#if\x20defined(BUMP)\x20||\x20!defined(NORMAL)\x0a#extension\x20GL_OES_standard_derivatives\x20:\x20enable\x0a#endif\x0a#include[SCENE_MRT_COUNT]\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_BEGIN\x0a#ifdef\x20LOGARITHMICDEPTH\x0a#extension\x20GL_EXT_frag_depth\x20:\x20enable\x0a#endif\x0a#define\x20RECIPROCAL_PI2\x200.15915494\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include[1..7]\x0a#include\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include\x0a#include\x0a#include(_DEFINENAME_,DIFFUSE,_VARYINGNAME_,Diffuse,_SAMPLERNAME_,diffuse)\x0a#include(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient,_SAMPLERNAME_,ambient)\x0a#include(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity,_SAMPLERNAME_,opacity)\x0a#include(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive,_SAMPLERNAME_,emissive)\x0a#include(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap,_SAMPLERNAME_,lightmap)\x0a#include(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal,_SAMPLERNAME_,decal)\x0a#ifdef\x20REFRACTION\x0a#ifdef\x20REFRACTIONMAP_3D\x0auniform\x20samplerCube\x20refractionCubeSampler;\x0a#else\x0auniform\x20sampler2D\x20refraction2DSampler;\x0a#endif\x0a#endif\x0a#if\x20defined(SPECULARTERM)\x0a#include(_DEFINENAME_,SPECULAR,_VARYINGNAME_,Specular,_SAMPLERNAME_,specular)\x0a#endif\x0a#include\x0a#ifdef\x20REFLECTION\x0a#ifdef\x20REFLECTIONMAP_3D\x0auniform\x20samplerCube\x20reflectionCubeSampler;\x0a#else\x0auniform\x20sampler2D\x20reflection2DSampler;\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avarying\x20vec3\x20vPositionUVW;\x0a#else\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avarying\x20vec3\x20vDirectionW;\x0a#endif\x0a#endif\x0a#include\x0a#endif\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20baseColor=vec4(1.,1.,1.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=normalize(-cross(dFdx(vPositionW),dFdy(vPositionW)));\x0a#endif\x0a#include\x0a#ifdef\x20TWOSIDEDLIGHTING\x0anormalW=gl_FrontFacing\x20?\x20normalW\x20:\x20-normalW;\x0a#endif\x0a#ifdef\x20DIFFUSE\x0abaseColor=texture2D(diffuseSampler,vDiffuseUV+uvOffset);\x0a#if\x20defined(ALPHATEST)\x20&&\x20!defined(ALPHATEST_AFTERALLALPHACOMPUTATIONS)\x0aif\x20(baseColor.a(surfaceAlbedo,baseColor,GAMMADECAL,_GAMMADECAL_NOTUSED_)\x0a#endif\x0a#include\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0a#ifdef\x20DETAIL\x0abaseColor.rgb=baseColor.rgb*2.0*mix(0.5,detailColor.r,vDetailInfos.y);\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_UPDATE_DIFFUSE\x0avec3\x20baseAmbientColor=vec3(1.,1.,1.);\x0a#ifdef\x20AMBIENT\x0abaseAmbientColor=texture2D(ambientSampler,vAmbientUV+uvOffset).rgb*vAmbientInfos.y;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_LIGHTS\x0a#ifdef\x20SPECULARTERM\x0afloat\x20glossiness=vSpecularColor.a;\x0avec3\x20specularColor=vSpecularColor.rgb;\x0a#ifdef\x20SPECULAR\x0avec4\x20specularMapColor=texture2D(specularSampler,vSpecularUV+uvOffset);\x0aspecularColor=specularMapColor.rgb;\x0a#ifdef\x20GLOSSINESS\x0aglossiness=glossiness*specularMapColor.a;\x0a#endif\x0a#endif\x0a#else\x0afloat\x20glossiness=0.;\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0a#endif\x0afloat\x20shadow=1.;\x0a#ifdef\x20LIGHTMAP\x0avec4\x20lightmapColor=texture2D(lightmapSampler,vLightmapUV+uvOffset);\x0a#ifdef\x20RGBDLIGHTMAP\x0alightmapColor.rgb=fromRGBD(lightmapColor);\x0a#endif\x0alightmapColor.rgb*=vLightmapInfos.y;\x0a#endif\x0a#include[0..maxSimultaneousLights]\x0avec4\x20refractionColor=vec4(0.,0.,0.,1.);\x0a#ifdef\x20REFRACTION\x0avec3\x20refractionVector=normalize(refract(-viewDirectionW,normalW,vRefractionInfos.y));\x0a#ifdef\x20REFRACTIONMAP_3D\x0a#ifdef\x20USE_LOCAL_REFRACTIONMAP_CUBIC\x0arefractionVector=parallaxCorrectNormal(vPositionW,refractionVector,vRefractionSize,vRefractionPosition);\x0a#endif\x0arefractionVector.y=refractionVector.y*vRefractionInfos.w;\x0avec4\x20refractionLookup=textureCube(refractionCubeSampler,refractionVector);\x0aif\x20(dot(refractionVector,viewDirectionW)<1.0)\x20{\x0arefractionColor=refractionLookup;\x0a}\x0a#else\x0avec3\x20vRefractionUVW=vec3(refractionMatrix*(view*vec4(vPositionW+refractionVector*vRefractionInfos.z,1.0)));\x0avec2\x20refractionCoords=vRefractionUVW.xy/vRefractionUVW.z;\x0arefractionCoords.y=1.0-refractionCoords.y;\x0arefractionColor=texture2D(refraction2DSampler,refractionCoords);\x0a#endif\x0a#ifdef\x20RGBDREFRACTION\x0arefractionColor.rgb=fromRGBD(refractionColor);\x0a#endif\x0a#ifdef\x20IS_REFRACTION_LINEAR\x0arefractionColor.rgb=toGammaSpace(refractionColor.rgb);\x0a#endif\x0arefractionColor.rgb*=vRefractionInfos.x;\x0a#endif\x0avec4\x20reflectionColor=vec4(0.,0.,0.,1.);\x0a#ifdef\x20REFLECTION\x0avec3\x20vReflectionUVW=computeReflectionCoords(vec4(vPositionW,1.0),normalW);\x0a#ifdef\x20REFLECTIONMAP_OPPOSITEZ\x0avReflectionUVW.z*=-1.0;\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0a#ifdef\x20ROUGHNESS\x0afloat\x20bias=vReflectionInfos.y;\x0a#ifdef\x20SPECULARTERM\x0a#ifdef\x20SPECULAR\x0a#ifdef\x20GLOSSINESS\x0abias*=(1.0-specularMapColor.a);\x0a#endif\x0a#endif\x0a#endif\x0areflectionColor=textureCube(reflectionCubeSampler,vReflectionUVW,bias);\x0a#else\x0areflectionColor=textureCube(reflectionCubeSampler,vReflectionUVW);\x0a#endif\x0a#else\x0avec2\x20coords=vReflectionUVW.xy;\x0a#ifdef\x20REFLECTIONMAP_PROJECTION\x0acoords/=vReflectionUVW.z;\x0a#endif\x0acoords.y=1.0-coords.y;\x0areflectionColor=texture2D(reflection2DSampler,coords);\x0a#endif\x0a#ifdef\x20RGBDREFLECTION\x0areflectionColor.rgb=fromRGBD(reflectionColor);\x0a#endif\x0a#ifdef\x20IS_REFLECTION_LINEAR\x0areflectionColor.rgb=toGammaSpace(reflectionColor.rgb);\x0a#endif\x0areflectionColor.rgb*=vReflectionInfos.x;\x0a#ifdef\x20REFLECTIONFRESNEL\x0afloat\x20reflectionFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,reflectionRightColor.a,reflectionLeftColor.a);\x0a#ifdef\x20REFLECTIONFRESNELFROMSPECULAR\x0a#ifdef\x20SPECULARTERM\x0areflectionColor.rgb*=specularColor.rgb*(1.0-reflectionFresnelTerm)+reflectionFresnelTerm*reflectionRightColor.rgb;\x0a#else\x0areflectionColor.rgb*=reflectionLeftColor.rgb*(1.0-reflectionFresnelTerm)+reflectionFresnelTerm*reflectionRightColor.rgb;\x0a#endif\x0a#else\x0areflectionColor.rgb*=reflectionLeftColor.rgb*(1.0-reflectionFresnelTerm)+reflectionFresnelTerm*reflectionRightColor.rgb;\x0a#endif\x0a#endif\x0a#endif\x0a#ifdef\x20REFRACTIONFRESNEL\x0afloat\x20refractionFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,refractionRightColor.a,refractionLeftColor.a);\x0arefractionColor.rgb*=refractionLeftColor.rgb*(1.0-refractionFresnelTerm)+refractionFresnelTerm*refractionRightColor.rgb;\x0a#endif\x0a#ifdef\x20OPACITY\x0avec4\x20opacityMap=texture2D(opacitySampler,vOpacityUV+uvOffset);\x0a#ifdef\x20OPACITYRGB\x0aopacityMap.rgb=opacityMap.rgb*vec3(0.3,0.59,0.11);\x0aalpha*=(opacityMap.x+opacityMap.y+opacityMap.z)*\x20vOpacityInfos.y;\x0a#else\x0aalpha*=opacityMap.a*vOpacityInfos.y;\x0a#endif\x0a#endif\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#ifdef\x20OPACITYFRESNEL\x0afloat\x20opacityFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,opacityParts.z,opacityParts.w);\x0aalpha+=opacityParts.x*(1.0-opacityFresnelTerm)+opacityFresnelTerm*opacityParts.y;\x0a#endif\x0a#ifdef\x20ALPHATEST\x0a#ifdef\x20ALPHATEST_AFTERALLALPHACOMPUTATIONS\x0aif\x20(alpha\x0a#include\x0a#ifdef\x20IMAGEPROCESSINGPOSTPROCESS\x0acolor.rgb=toLinearSpace(color.rgb);\x0a#else\x0a#ifdef\x20IMAGEPROCESSING\x0acolor.rgb=toLinearSpace(color.rgb);\x0acolor=applyImageProcessing(color);\x0a#endif\x0a#endif\x0acolor.a*=visibility;\x0a#ifdef\x20PREMULTIPLYALPHA\x0acolor.rgb*=color.a;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_FRAGCOLOR\x0a#ifdef\x20PREPASS\x0afloat\x20writeGeometryInfo=color.a>0.4\x20?\x201.0\x20:\x200.0;\x0agl_FragData[0]=color;\x20\x0a#ifdef\x20PREPASS_POSITION\x0agl_FragData[PREPASS_POSITION_INDEX]=vec4(vPositionW,writeGeometryInfo);\x0a#endif\x0a#ifdef\x20PREPASS_VELOCITY\x0avec2\x20a=(vCurrentPosition.xy/vCurrentPosition.w)*0.5+0.5;\x0avec2\x20b=(vPreviousPosition.xy/vPreviousPosition.w)*0.5+0.5;\x0avec2\x20velocity=abs(a-b);\x0avelocity=vec2(pow(velocity.x,1.0/3.0),pow(velocity.y,1.0/3.0))*sign(a-b)*0.5+0.5;\x0agl_FragData[PREPASS_VELOCITY_INDEX]=vec4(velocity,0.0,writeGeometryInfo);\x0a#endif\x0a#ifdef\x20PREPASS_IRRADIANCE\x0agl_FragData[PREPASS_IRRADIANCE_INDEX]=vec4(0.0,0.0,0.0,writeGeometryInfo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_DEPTH\x0agl_FragData[PREPASS_DEPTH_INDEX]=vec4(vViewPos.z,0.0,0.0,writeGeometryInfo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_NORMAL\x0agl_FragData[PREPASS_NORMAL_INDEX]=vec4(normalize((view*vec4(normalW,0.0)).rgb),writeGeometryInfo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_ALBEDO_SQRT\x0agl_FragData[PREPASS_ALBEDO_SQRT_INDEX]=vec4(0.0,0.0,0.0,writeGeometryInfo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_REFLECTIVITY\x0a#if\x20defined(SPECULARTERM)\x0a#if\x20defined(SPECULAR)\x0agl_FragData[PREPASS_REFLECTIVITY_INDEX]=vec4(toLinearSpace(specularMapColor))*writeGeometryInfo;\x20\x0a#else\x0agl_FragData[PREPASS_REFLECTIVITY_INDEX]=vec4(toLinearSpace(specularColor),1.0)*writeGeometryInfo;\x0a#endif\x0a#else\x0agl_FragData[PREPASS_REFLECTIVITY_INDEX]=vec4(0.0,0.0,0.0,1.0)*writeGeometryInfo;\x0a#endif\x0a#endif\x0a#endif\x0a#if\x20!defined(PREPASS)\x20||\x20defined(WEBGL2)\x0agl_FragColor=color;\x0a#endif\x0a#include\x0a#if\x20ORDER_INDEPENDENT_TRANSPARENCY\x0aif\x20(fragDepth==nearestDepth)\x20{\x0afrontColor.rgb+=color.rgb*color.a*alphaMultiplier;\x0afrontColor.a=1.0-alphaMultiplier*(1.0-color.a);\x0a}\x20else\x20{\x0abackColor+=color;\x0a}\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a';},0xf570:(_0x13c637,_0x58edec,_0x5f178e)=>{var _0x50da80=a7_0x1ed280,_0x57a4cd=_0x5f178e(0x17a92);_0x5f178e(0x2826),_0x57a4cd['v'][_0x50da80(0x281)][_0x50da80(0x502)]=_0x50da80(0xa10),_0x5f178e(0x4bc6),_0x5f178e(0x17bd8),_0x5f178e(0x175b0),_0x5f178e(0x13f9a),_0x5f178e(0x12929),_0x5f178e(0x12bc6),_0x5f178e(0x18442),_0x5f178e(0x94fa),_0x5f178e(0x15b7a),_0x5f178e(0x8785),_0x5f178e(0x13216),_0x5f178e(0x6a99),_0x5f178e(0x1b3f),_0x5f178e(0xc971),_0x5f178e(0x9ea3),_0x5f178e(0x12abc),_0x5f178e(0x17bd9),_0x5f178e(0x13906),_0x5f178e(0x1070),_0x5f178e(0x733d),_0x5f178e(0xb434),_0x5f178e(0xdcea),_0x5f178e(0x1abd),_0x5f178e(0xd68d),_0x5f178e(0x2f27),_0x5f178e(0xced6),_0x5f178e(0x6efd),_0x5f178e(0x9871),_0x5f178e(0x6e75),_0x5f178e(0xedb9),_0x57a4cd['v'][_0x50da80(0x281)]['pointCloudVertex']='#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a',_0x5f178e(0x13da6),_0x57a4cd['v'][_0x50da80(0x6d9)][_0x50da80(0x52d)]='#include<__decl__defaultVertex>\x0a#define\x20CUSTOM_VERTEX_BEGIN\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20TANGENT\x0aattribute\x20vec4\x20tangent;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#include[2..7]\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include\x0a#include[1..7]\x0a#include(_DEFINENAME_,DIFFUSE,_VARYINGNAME_,Diffuse)\x0a#include(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail)\x0a#include(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient)\x0a#include(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity)\x0a#include(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive)\x0a#include(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap)\x0a#if\x20defined(SPECULARTERM)\x0a#include(_DEFINENAME_,SPECULAR,_VARYINGNAME_,Specular)\x0a#endif\x0a#include(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump)\x0a#include(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal)\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include\x0a#include\x0a#include\x0a#include<__decl__lightVxFragment>[0..maxSimultaneousLights]\x0a#include\x0a#include[0..maxSimultaneousMorphTargets]\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avarying\x20vec3\x20vPositionUVW;\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avarying\x20vec3\x20vDirectionW;\x0a#endif\x0a#include\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avec3\x20positionUpdated=position;\x0a#ifdef\x20NORMAL\x0avec3\x20normalUpdated=normal;\x0a#endif\x0a#ifdef\x20TANGENT\x0avec4\x20tangentUpdated=tangent;\x0a#endif\x0a#ifdef\x20UV1\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#include\x0a#include[0..maxSimultaneousMorphTargets]\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avPositionUVW=positionUpdated;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_UPDATE_POSITION\x0a#define\x20CUSTOM_VERTEX_UPDATE_NORMAL\x0a#include\x0a#if\x20defined(PREPASS)\x20&&\x20defined(PREPASS_VELOCITY)\x20&&\x20!defined(BONES_VELOCITY_ENABLED)\x0avCurrentPosition=viewProjection*finalWorld*vec4(positionUpdated,1.0);\x0avPreviousPosition=previousViewProjection*finalPreviousWorld*vec4(positionUpdated,1.0);\x0a#endif\x0a#include\x0a#include\x0avec4\x20worldPos=finalWorld*vec4(positionUpdated,1.0);\x0a#ifdef\x20NORMAL\x0amat3\x20normalWorld=mat3(finalWorld);\x0a#if\x20defined(INSTANCES)\x20&&\x20defined(THIN_INSTANCES)\x0avNormalW=normalUpdated/vec3(dot(normalWorld[0],normalWorld[0]),dot(normalWorld[1],normalWorld[1]),dot(normalWorld[2],normalWorld[2]));\x0avNormalW=normalize(normalWorld*vNormalW);\x0a#else\x0a#ifdef\x20NONUNIFORMSCALING\x0anormalWorld=transposeMat3(inverseMat3(normalWorld));\x0a#endif\x0avNormalW=normalize(normalWorld*normalUpdated);\x0a#endif\x0a#endif\x0a#define\x20CUSTOM_VERTEX_UPDATE_WORLDPOS\x0a#ifdef\x20MULTIVIEW\x0aif\x20(gl_ViewID_OVR==0u)\x20{\x0agl_Position=viewProjection*worldPos;\x0a}\x20else\x20{\x0agl_Position=viewProjectionR*worldPos;\x0a}\x0a#else\x0agl_Position=viewProjection*worldPos;\x0a#endif\x0avPositionW=vec3(worldPos);\x0a#include\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avDirectionW=normalize(vec3(finalWorld*vec4(positionUpdated,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uvUpdated=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20MAINUV1\x0avMainUV1=uvUpdated;\x0a#endif\x0a#include[2..7]\x0a#include(_DEFINENAME_,DIFFUSE,_VARYINGNAME_,Diffuse,_MATRIXNAME_,diffuse,_INFONAME_,DiffuseInfos.x)\x0a#include(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail,_MATRIXNAME_,detail,_INFONAME_,DetailInfos.x)\x0a#include(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient,_MATRIXNAME_,ambient,_INFONAME_,AmbientInfos.x)\x0a#include(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity,_MATRIXNAME_,opacity,_INFONAME_,OpacityInfos.x)\x0a#include(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive,_MATRIXNAME_,emissive,_INFONAME_,EmissiveInfos.x)\x0a#include(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap,_MATRIXNAME_,lightmap,_INFONAME_,LightmapInfos.x)\x0a#if\x20defined(SPECULARTERM)\x0a#include(_DEFINENAME_,SPECULAR,_VARYINGNAME_,Specular,_MATRIXNAME_,specular,_INFONAME_,SpecularInfos.x)\x0a#endif\x0a#include(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump,_MATRIXNAME_,bump,_INFONAME_,BumpInfos.x)\x0a#include(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal,_MATRIXNAME_,decal,_INFONAME_,DecalInfos.x)\x0a#include\x0a#include\x0a#include\x0a#include[0..maxSimultaneousLights]\x0a#include\x0a#include\x0a#include\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a';},0x5012:(_0x1ff825,_0x16ed2a,_0x1255d5)=>{var _0x433b2f=a7_0x1ed280,_0x1e19c9=_0x1255d5(0x17a92);_0x1255d5(0xff1b),_0x1255d5(0xe85e),_0x1255d5(0x3328),_0x1e19c9['v']['ShadersStore'][_0x433b2f(0x151)]=_0x433b2f(0x9ce);},0xcf33:(_0x4622db,_0x461e38,_0xc8de91)=>{var _0x442f52=a7_0x1ed280,_0x43ec23=_0xc8de91(0x17a92);_0xc8de91(0x13f9a),_0xc8de91(0x12929),_0xc8de91(0x9ea3),_0xc8de91(0x12abc),_0xc8de91(0x13216),_0xc8de91(0x12bc6),_0xc8de91(0x13906),_0xc8de91(0x1070),_0xc8de91(0x733d),_0xc8de91(0xb434),_0xc8de91(0xdcea),_0xc8de91(0x6efd),_0x43ec23['v'][_0x442f52(0x6d9)]['depthVertexShader']=_0x442f52(0xab9);},0x66e6:(_0x22a00c,_0x1bc3bc,_0x1bc697)=>{var _0xcdc5e2=a7_0x1ed280;_0x1bc697(0x17a92)['v'][_0xcdc5e2(0x6d9)][_0xcdc5e2(0x32f)]=_0xcdc5e2(0x9b8);},0x1006d:(_0x57b540,_0x1c9c44,_0x44990f)=>{var _0x258ed5=a7_0x1ed280;_0x44990f(0x17a92)['v'][_0x258ed5(0x6d9)][_0x258ed5(0x9d5)]='uniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20highlightsSampler;\x0auniform\x20sampler2D\x20depthSampler;\x0auniform\x20sampler2D\x20grainSampler;\x0auniform\x20float\x20grain_amount;\x0auniform\x20bool\x20blur_noise;\x0auniform\x20float\x20screen_width;\x0auniform\x20float\x20screen_height;\x0auniform\x20float\x20distortion;\x0auniform\x20bool\x20dof_enabled;\x0auniform\x20float\x20screen_distance;\x20\x0auniform\x20float\x20aperture;\x0auniform\x20float\x20darken;\x0auniform\x20float\x20edge_blur;\x0auniform\x20bool\x20highlights;\x0auniform\x20float\x20near;\x0auniform\x20float\x20far;\x0avarying\x20vec2\x20vUV;\x0a#define\x20PI\x203.14159265\x0a#define\x20TWOPI\x206.28318530\x0a#define\x20inverse_focal_length\x200.1\x20\x0avec2\x20centered_screen_pos;\x0avec2\x20distorted_coords;\x0afloat\x20radius2;\x0afloat\x20radius;\x0avec2\x20rand(vec2\x20co)\x0a{\x0afloat\x20noise1=(fract(sin(dot(co,vec2(12.9898,78.233)))*43758.5453));\x0afloat\x20noise2=(fract(sin(dot(co,vec2(12.9898,78.233)*2.0))*43758.5453));\x0areturn\x20clamp(vec2(noise1,noise2),0.0,1.0);\x0a}\x0avec2\x20getDistortedCoords(vec2\x20coords)\x20{\x0aif\x20(distortion==0.0)\x20{\x20return\x20coords;\x20}\x0avec2\x20direction=1.0*normalize(centered_screen_pos);\x0avec2\x20dist_coords=vec2(0.5,0.5);\x0adist_coords.x=0.5+direction.x*radius2*1.0;\x0adist_coords.y=0.5+direction.y*radius2*1.0;\x0afloat\x20dist_amount=clamp(distortion*0.23,0.0,1.0);\x0adist_coords=mix(coords,dist_coords,dist_amount);\x0areturn\x20dist_coords;\x0a}\x0afloat\x20sampleScreen(inout\x20vec4\x20color,in\x20vec2\x20offset,in\x20float\x20weight)\x20{\x0avec2\x20coords=distorted_coords;\x0afloat\x20angle=rand(coords*100.0).x*TWOPI;\x0acoords+=vec2(offset.x*cos(angle)-offset.y*sin(angle),offset.x*sin(angle)+offset.y*cos(angle));\x0acolor+=texture2D(textureSampler,coords)*weight;\x0areturn\x20weight;\x0a}\x0afloat\x20getBlurLevel(float\x20size)\x20{\x0areturn\x20min(3.0,ceil(size/1.0));\x0a}\x0avec4\x20getBlurColor(float\x20size)\x20{\x0avec4\x20col=texture2D(textureSampler,distorted_coords);\x0afloat\x20blur_level=getBlurLevel(size);\x0afloat\x20w=(size/screen_width);\x0afloat\x20h=(size/screen_height);\x0afloat\x20total_weight=1.0;\x0avec2\x20sample_coords;\x0atotal_weight+=sampleScreen(col,vec2(-0.50*w,0.24*h),0.93);\x0atotal_weight+=sampleScreen(col,vec2(0.30*w,-0.75*h),0.90);\x0atotal_weight+=sampleScreen(col,vec2(0.36*w,0.96*h),0.87);\x0atotal_weight+=sampleScreen(col,vec2(-1.08*w,-0.55*h),0.85);\x0atotal_weight+=sampleScreen(col,vec2(1.33*w,-0.37*h),0.83);\x0atotal_weight+=sampleScreen(col,vec2(-0.82*w,1.31*h),0.80);\x0atotal_weight+=sampleScreen(col,vec2(-0.31*w,-1.67*h),0.78);\x0atotal_weight+=sampleScreen(col,vec2(1.47*w,1.11*h),0.76);\x0atotal_weight+=sampleScreen(col,vec2(-1.97*w,0.19*h),0.74);\x0atotal_weight+=sampleScreen(col,vec2(1.42*w,-1.57*h),0.72);\x0aif\x20(blur_level>1.0)\x20{\x0atotal_weight+=sampleScreen(col,vec2(0.01*w,2.25*h),0.70);\x0atotal_weight+=sampleScreen(col,vec2(-1.62*w,-1.74*h),0.67);\x0atotal_weight+=sampleScreen(col,vec2(2.49*w,0.20*h),0.65);\x0atotal_weight+=sampleScreen(col,vec2(-2.07*w,1.61*h),0.63);\x0atotal_weight+=sampleScreen(col,vec2(0.46*w,-2.70*h),0.61);\x0atotal_weight+=sampleScreen(col,vec2(1.55*w,2.40*h),0.59);\x0atotal_weight+=sampleScreen(col,vec2(-2.88*w,-0.75*h),0.56);\x0atotal_weight+=sampleScreen(col,vec2(2.73*w,-1.44*h),0.54);\x0atotal_weight+=sampleScreen(col,vec2(-1.08*w,3.02*h),0.52);\x0atotal_weight+=sampleScreen(col,vec2(-1.28*w,-3.05*h),0.49);\x0a}\x0aif\x20(blur_level>2.0)\x20{\x0atotal_weight+=sampleScreen(col,vec2(3.11*w,1.43*h),0.46);\x0atotal_weight+=sampleScreen(col,vec2(-3.36*w,1.08*h),0.44);\x0atotal_weight+=sampleScreen(col,vec2(1.80*w,-3.16*h),0.41);\x0atotal_weight+=sampleScreen(col,vec2(0.83*w,3.65*h),0.38);\x0atotal_weight+=sampleScreen(col,vec2(-3.16*w,-2.19*h),0.34);\x0atotal_weight+=sampleScreen(col,vec2(3.92*w,-0.53*h),0.31);\x0atotal_weight+=sampleScreen(col,vec2(-2.59*w,3.12*h),0.26);\x0atotal_weight+=sampleScreen(col,vec2(-0.20*w,-4.15*h),0.22);\x0atotal_weight+=sampleScreen(col,vec2(3.02*w,3.00*h),0.15);\x0a}\x0acol/=total_weight;\x20\x0aif\x20(darken>0.0)\x20{\x0acol.rgb*=clamp(0.3,1.0,1.05-size*0.5*darken);\x0a}\x0areturn\x20col;\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0acentered_screen_pos=vec2(vUV.x-0.5,vUV.y-0.5);\x0aradius2=centered_screen_pos.x*centered_screen_pos.x+centered_screen_pos.y*centered_screen_pos.y;\x0aradius=sqrt(radius2);\x0adistorted_coords=getDistortedCoords(vUV);\x20\x0avec2\x20texels_coords=vec2(vUV.x*screen_width,vUV.y*screen_height);\x20\x0afloat\x20depth=texture2D(depthSampler,distorted_coords).r;\x20\x0afloat\x20distance=near+(far-near)*depth;\x20\x0avec4\x20color=texture2D(textureSampler,vUV);\x20\x0afloat\x20coc=abs(aperture*(screen_distance*(inverse_focal_length-1.0/distance)-1.0));\x0aif\x20(dof_enabled==false\x20||\x20coc<0.07)\x20{\x20coc=0.0;\x20}\x0afloat\x20edge_blur_amount=0.0;\x0aif\x20(edge_blur>0.0)\x20{\x0aedge_blur_amount=clamp((radius*2.0-1.0+0.15*edge_blur)*1.5,0.0,1.0)*1.3;\x0a}\x0afloat\x20blur_amount=max(edge_blur_amount,coc);\x0aif\x20(blur_amount==0.0)\x20{\x0agl_FragColor=texture2D(textureSampler,distorted_coords);\x0a}\x0aelse\x20{\x0agl_FragColor=getBlurColor(blur_amount*1.7);\x0aif\x20(highlights)\x20{\x0agl_FragColor.rgb+=clamp(coc,0.0,1.0)*texture2D(highlightsSampler,distorted_coords).rgb;\x0a}\x0aif\x20(blur_noise)\x20{\x0avec2\x20noise=rand(distorted_coords)*0.01*blur_amount;\x0avec2\x20blurred_coord=vec2(distorted_coords.x+noise.x,distorted_coords.y+noise.y);\x0agl_FragColor=0.04*texture2D(textureSampler,blurred_coord)+0.96*gl_FragColor;\x0a}\x0a}\x0aif\x20(grain_amount>0.0)\x20{\x0avec4\x20grain_color=texture2D(grainSampler,texels_coords*0.003);\x0agl_FragColor.rgb+=(-0.5+grain_color.rgb)*0.30*grain_amount;\x0a}\x0a}\x0a';},0x1203:(_0xf76dad,_0x41b334,_0x39d974)=>{var _0x1d4df7=a7_0x1ed280;_0x39d974(0x17a92)['v'][_0x1d4df7(0x6d9)]['depthOfFieldMergePixelShader']=_0x1d4df7(0x737);},0x1157d:(_0x88d25d,_0x267434,_0x50978a)=>{var _0x1e706e=a7_0x1ed280;_0x50978a(0x17a92)['v'][_0x1e706e(0x6d9)][_0x1e706e(0x9e4)]=_0x1e706e(0x41f);},0x2d30:(_0x51b090,_0x502857,_0x24eaa6)=>{var _0x1b721e=a7_0x1ed280,_0x5eb39a=_0x24eaa6(0x17a92);_0x24eaa6(0x175b0),_0x5eb39a['v']['ShadersStore'][_0x1b721e(0x4b4)]='#include\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20float\x20threshold;\x0auniform\x20float\x20exposure;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0agl_FragColor=texture2D(textureSampler,vUV);\x0afloat\x20luma=dot(LuminanceEncodeApprox,gl_FragColor.rgb*exposure);\x0agl_FragColor.rgb=step(threshold,luma)*gl_FragColor.rgb;\x0a}';},0x5b3f:(_0x34a00f,_0x2f51b1,_0x392f9a)=>{var _0x3d5fd3=a7_0x1ed280;_0x392f9a(0x17a92)['v'][_0x3d5fd3(0x6d9)][_0x3d5fd3(0xc13)]=_0x3d5fd3(0x7c6);},0xf945:(_0x5c511c,_0x1888c2,_0xccf747)=>{var _0x260543=a7_0x1ed280;_0xccf747(0x17a92)['v'][_0x260543(0x6d9)][_0x260543(0x4ab)]='uniform\x20sampler2D\x20textureSampler;\x0auniform\x20int\x20maxFilterSize;\x0auniform\x20vec2\x20blurDir;\x0auniform\x20float\x20projectedParticleConstant;\x0auniform\x20float\x20depthThreshold;\x0avarying\x20vec2\x20vUV;\x0avoid\x20main(void)\x20{\x0afloat\x20depth=textureLod(textureSampler,vUV,0.).x;\x0aif\x20(depth>=1e6\x20||\x20depth<=0.)\x20{\x0aglFragColor=vec4(vec3(depth),1.);\x0areturn;\x0a}\x0aint\x20filterSize=min(maxFilterSize,int(ceil(projectedParticleConstant/depth)));\x0afloat\x20sigma=float(filterSize)/3.0;\x0afloat\x20two_sigma2=2.0*sigma*sigma;\x0afloat\x20sigmaDepth=depthThreshold/3.0;\x0afloat\x20two_sigmaDepth2=2.0*sigmaDepth*sigmaDepth;\x0afloat\x20sum=0.;\x0afloat\x20wsum=0.;\x0afloat\x20sumVel=0.;\x0afor\x20(int\x20x=-filterSize;\x20x<=filterSize;\x20++x)\x20{\x0avec2\x20coords=vec2(x);\x0avec2\x20sampleDepthVel=textureLod(textureSampler,vUV+coords*blurDir,0.).rg;\x0afloat\x20r=dot(coords,coords);\x0afloat\x20w=exp(-r/two_sigma2);\x0afloat\x20rDepth=sampleDepthVel.r-depth;\x0afloat\x20wd=exp(-rDepth*rDepth/two_sigmaDepth2);\x0asum+=sampleDepthVel.r*w*wd;\x0asumVel+=sampleDepthVel.g*w*wd;\x0awsum+=w*wd;\x0a}\x0aglFragColor=vec4(sum/wsum,sumVel/wsum,0.,1.);\x0a}\x0a';},0x10315:(_0x37bd72,_0x41a022,_0x33667c)=>{var _0x57961e=a7_0x1ed280;_0x33667c(0x17a92)['v'][_0x57961e(0x6d9)][_0x57961e(0x673)]=_0x57961e(0xbbd);},0xd43b:(_0x8ad0be,_0x528b1b,_0x1daec2)=>{var _0x3867c2=a7_0x1ed280;_0x1daec2(0x17a92)['v'][_0x3867c2(0x6d9)]['fluidRenderingParticleDepthVertexShader']=_0x3867c2(0xa08);},0x7cc8:(_0x3c6798,_0xed6ee1,_0x2edbb0)=>{var _0x9e2c88=a7_0x1ed280;_0x2edbb0(0x17a92)['v'][_0x9e2c88(0x6d9)][_0x9e2c88(0xb60)]=_0x9e2c88(0x5d9);},0x10c8:(_0x22507c,_0x5d12a7,_0x402c04)=>{var _0x4ed969=a7_0x1ed280;_0x402c04(0x17a92)['v']['ShadersStore'][_0x4ed969(0xb50)]=_0x4ed969(0xcdb);},0xd599:(_0x482607,_0x2ab3b8,_0x546a3f)=>{var _0x1d18d4=a7_0x1ed280;_0x546a3f(0x17a92)['v'][_0x1d18d4(0x6d9)]['fluidRenderingParticleThicknessPixelShader']=_0x1d18d4(0xc84);},0x11576:(_0x2b6552,_0x5c4f85,_0x1b1940)=>{var _0x2f46a6=a7_0x1ed280;_0x1b1940(0x17a92)['v'][_0x2f46a6(0x6d9)][_0x2f46a6(0x8b5)]='attribute\x20vec3\x20position;\x0aattribute\x20vec2\x20offset;\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20vec2\x20size;\x0avarying\x20vec2\x20uv;\x0avoid\x20main(void)\x20{\x0avec3\x20cornerPos;\x0acornerPos.xy=vec2(offset.x-0.5,offset.y-0.5)*size;\x0acornerPos.z=0.0;\x0avec3\x20viewPos=(view*vec4(position,1.0)).xyz+cornerPos;\x0agl_Position=projection*vec4(viewPos,1.0);\x0auv=offset;\x0a}\x0a';},0xf9e7:(_0x5f43ad,_0x3c4146,_0x19fa8f)=>{var _0x5278b9=a7_0x1ed280;_0x19fa8f(0x17a92)['v'][_0x5278b9(0x6d9)]['fluidRenderingRenderPixelShader']='/*\x20disable_uniformity_analysis\x20*/\x0a#define\x20IOR\x201.333\x0a#define\x20ETA\x201.0/IOR\x0a#define\x20F0\x200.02\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20depthSampler;\x0a#ifdef\x20FLUIDRENDERING_DIFFUSETEXTURE\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#else\x0auniform\x20vec3\x20diffuseColor;\x0a#endif\x0a#ifdef\x20FLUIDRENDERING_FIXED_THICKNESS\x0auniform\x20float\x20thickness;\x0auniform\x20sampler2D\x20bgDepthSampler;\x0a#else\x0auniform\x20float\x20minimumThickness;\x0auniform\x20sampler2D\x20thicknessSampler;\x0a#endif\x0a#ifdef\x20FLUIDRENDERING_ENVIRONMENT\x0auniform\x20samplerCube\x20reflectionSampler;\x0a#endif\x0a#if\x20defined(FLUIDRENDERING_DEBUG)\x20&&\x20defined(FLUIDRENDERING_DEBUG_TEXTURE)\x0auniform\x20sampler2D\x20debugSampler;\x0a#endif\x0auniform\x20mat4\x20viewMatrix;\x0auniform\x20mat4\x20projectionMatrix;\x0auniform\x20mat4\x20invProjectionMatrix;\x0auniform\x20vec2\x20texelSize;\x0auniform\x20vec3\x20dirLight;\x0auniform\x20float\x20cameraFar;\x0auniform\x20float\x20density;\x0auniform\x20float\x20refractionStrength;\x0auniform\x20float\x20fresnelClamp;\x0auniform\x20float\x20specularPower;\x0avarying\x20vec2\x20vUV;\x0avec3\x20computeViewPosFromUVDepth(vec2\x20texCoord,float\x20depth)\x20{\x0avec4\x20ndc;\x0andc.xy=texCoord*2.0-1.0;\x0a#ifdef\x20FLUIDRENDERING_RHS\x0andc.z=-projectionMatrix[2].z+projectionMatrix[3].z/depth;\x0a#else\x0andc.z=projectionMatrix[2].z+projectionMatrix[3].z/depth;\x0a#endif\x0andc.w=1.0;\x0avec4\x20eyePos=invProjectionMatrix*ndc;\x0aeyePos.xyz/=eyePos.w;\x0areturn\x20eyePos.xyz;\x0a}\x0avec3\x20getViewPosFromTexCoord(vec2\x20texCoord)\x20{\x0afloat\x20depth=textureLod(depthSampler,texCoord,0.).x;\x0areturn\x20computeViewPosFromUVDepth(texCoord,depth);\x0a}\x0avoid\x20main(void)\x20{\x0avec2\x20texCoord=vUV;\x0a#if\x20defined(FLUIDRENDERING_DEBUG)\x20&&\x20defined(FLUIDRENDERING_DEBUG_TEXTURE)\x0avec4\x20color=texture2D(debugSampler,texCoord);\x0a#ifdef\x20FLUIDRENDERING_DEBUG_DEPTH\x0aglFragColor=vec4(color.rgb/vec3(2.0),1.);\x0aif\x20(color.r>0.999\x20&&\x20color.g>0.999)\x20{\x0aglFragColor=texture2D(textureSampler,texCoord);\x0a}\x0a#else\x0aglFragColor=vec4(color.rgb,1.);\x0aif\x20(color.r<0.001\x20&&\x20color.g<0.001\x20&&\x20color.b<0.001)\x20{\x0aglFragColor=texture2D(textureSampler,texCoord);\x0a}\x0a#endif\x0areturn;\x0a#endif\x0avec2\x20depthVel=textureLod(depthSampler,texCoord,0.).rg;\x0afloat\x20depth=depthVel.r;\x0a#ifndef\x20FLUIDRENDERING_FIXED_THICKNESS\x0afloat\x20thickness=texture2D(thicknessSampler,texCoord).x;\x0a#else\x0afloat\x20bgDepth=texture2D(bgDepthSampler,texCoord).x;\x0afloat\x20depthNonLinear=projectionMatrix[2].z+projectionMatrix[3].z/depth;\x0adepthNonLinear=depthNonLinear*0.5+0.5;\x0a#endif\x0avec4\x20backColor=texture2D(textureSampler,texCoord);\x0a#ifndef\x20FLUIDRENDERING_FIXED_THICKNESS\x0aif\x20(depth>=cameraFar\x20||\x20depth<=0.\x20||\x20thickness<=minimumThickness)\x20{\x0a#else\x0aif\x20(depth>=cameraFar\x20||\x20depth<=0.\x20||\x20bgDepth<=depthNonLinear)\x20{\x0a#endif\x0aglFragColor=backColor;\x0areturn;\x0a}\x0avec3\x20viewPos=computeViewPosFromUVDepth(texCoord,depth);\x0avec3\x20ddx=getViewPosFromTexCoord(texCoord+vec2(texelSize.x,0.))-viewPos;\x0avec3\x20ddy=getViewPosFromTexCoord(texCoord+vec2(0.,texelSize.y))-viewPos;\x0avec3\x20ddx2=viewPos-getViewPosFromTexCoord(texCoord+vec2(-texelSize.x,0.));\x0aif\x20(abs(ddx.z)>abs(ddx2.z))\x20{\x0addx=ddx2;\x0a}\x0avec3\x20ddy2=viewPos-getViewPosFromTexCoord(texCoord+vec2(0.,-texelSize.y));\x0aif\x20(abs(ddy.z)>abs(ddy2.z))\x20{\x0addy=ddy2;\x0a}\x0avec3\x20normal=normalize(cross(ddy,ddx));\x0a#ifdef\x20FLUIDRENDERING_RHS\x0anormal=-normal;\x0a#endif\x0a#ifndef\x20WEBGPU\x0aif(isnan(normal.x)\x20||\x20isnan(normal.y)\x20||\x20isnan(normal.z)\x20||\x20isinf(normal.x)\x20||\x20isinf(normal.y)\x20||\x20isinf(normal.z))\x20{\x0anormal=vec3(0.,0.,-1.);\x0a}\x0a#endif\x0a#if\x20defined(FLUIDRENDERING_DEBUG)\x20&&\x20defined(FLUIDRENDERING_DEBUG_SHOWNORMAL)\x0aglFragColor=vec4(normal*0.5+0.5,1.0);\x0areturn;\x0a#endif\x0avec3\x20rayDir=normalize(viewPos);\x20\x0a#ifdef\x20FLUIDRENDERING_DIFFUSETEXTURE\x0avec3\x20diffuseColor=textureLod(diffuseSampler,texCoord,0.0).rgb;\x0a#endif\x0avec3\x20lightDir=normalize(vec3(viewMatrix*vec4(-dirLight,0.)));\x0avec3\x20H\x20=normalize(lightDir-rayDir);\x0afloat\x20specular=pow(max(0.0,dot(H,normal)),specularPower);\x0a#ifdef\x20FLUIDRENDERING_DEBUG_DIFFUSERENDERING\x0afloat\x20diffuse\x20=max(0.0,dot(lightDir,normal))*1.0;\x0aglFragColor=vec4(vec3(0.1)\x20/*ambient*/+vec3(0.42,0.50,1.00)*diffuse+vec3(0,0,0.2)+specular,1.);\x0areturn;\x0a#endif\x0avec3\x20refractionDir=refract(rayDir,normal,ETA);\x0avec4\x20transmitted=textureLod(textureSampler,vec2(texCoord+refractionDir.xy*thickness*refractionStrength),0.0);\x0avec3\x20transmittance=exp(-density*thickness*(1.0-diffuseColor));\x20\x0avec3\x20refractionColor=transmitted.rgb*transmittance;\x0a#ifdef\x20FLUIDRENDERING_ENVIRONMENT\x0avec3\x20reflectionDir=reflect(rayDir,normal);\x0avec3\x20reflectionColor=(textureCube(reflectionSampler,reflectionDir).rgb);\x0afloat\x20fresnel=clamp(F0+(1.0-F0)*pow(1.0-dot(normal,-rayDir),5.0),0.,fresnelClamp);\x0avec3\x20finalColor=mix(refractionColor,reflectionColor,fresnel)+specular;\x0a#else\x0avec3\x20finalColor=refractionColor+specular;\x0a#endif\x0a#ifdef\x20FLUIDRENDERING_VELOCITY\x0afloat\x20velocity=depthVel.g;\x0afinalColor=mix(finalColor,vec3(1.0),smoothstep(0.3,1.0,velocity/6.0));\x0a#endif\x0aglFragColor=vec4(finalColor,transmitted.a);\x0a}\x0a';},0xdc0e:(_0x49f395,_0x308257,_0x5a2a00)=>{_0x5a2a00(0x17a92)['v']['ShadersStore']['fluidRenderingStandardBlurPixelShader']='uniform\x20sampler2D\x20textureSampler;\x0auniform\x20int\x20filterSize;\x0auniform\x20vec2\x20blurDir;\x0avarying\x20vec2\x20vUV;\x0avoid\x20main(void)\x20{\x0avec4\x20s=textureLod(textureSampler,vUV,0.);\x0aif\x20(s.r==0.)\x20{\x0aglFragColor=vec4(0.,0.,0.,1.);\x0areturn;\x0a}\x0afloat\x20sigma=float(filterSize)/3.0;\x0afloat\x20twoSigma2=2.0*sigma*sigma;\x0avec4\x20sum=vec4(0.);\x0afloat\x20wsum=0.;\x0afor\x20(int\x20x=-filterSize;\x20x<=filterSize;\x20++x)\x20{\x0avec2\x20coords=vec2(x);\x0avec4\x20sampl=textureLod(textureSampler,vUV+coords*blurDir,0.);\x0afloat\x20w=exp(-coords.x*coords.x/twoSigma2);\x0asum+=sampl*w;\x0awsum+=w;\x0a}\x0asum/=wsum;\x0aglFragColor=vec4(sum.rgb,1.);\x0a}\x0a';},0xd22e:(_0x30a55c,_0x198fe2,_0x16a0ac)=>{var _0xc8677b=a7_0x1ed280;_0x16a0ac(0x17a92)['v']['ShadersStore'][_0xc8677b(0x4f1)]='#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20TEXTUREFUNC(s,c,l)\x20texture2DLodEXT(s,c,l)\x0a#else\x0a#define\x20TEXTUREFUNC(s,c,b)\x20texture2D(s,c,b)\x0a#endif\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20texelSize;\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec2\x20sampleCoordS;\x0avarying\x20vec2\x20sampleCoordE;\x0avarying\x20vec2\x20sampleCoordN;\x0avarying\x20vec2\x20sampleCoordW;\x0avarying\x20vec2\x20sampleCoordNW;\x0avarying\x20vec2\x20sampleCoordSE;\x0avarying\x20vec2\x20sampleCoordNE;\x0avarying\x20vec2\x20sampleCoordSW;\x0aconst\x20float\x20fxaaQualitySubpix=1.0;\x0aconst\x20float\x20fxaaQualityEdgeThreshold=0.166;\x0aconst\x20float\x20fxaaQualityEdgeThresholdMin=0.0833;\x0aconst\x20vec3\x20kLumaCoefficients=vec3(0.2126,0.7152,0.0722);\x0a#define\x20FxaaLuma(rgba)\x20dot(rgba.rgb,kLumaCoefficients)\x0avoid\x20main(){\x0avec2\x20posM;\x0aposM.x=vUV.x;\x0aposM.y=vUV.y;\x0avec4\x20rgbyM=TEXTUREFUNC(textureSampler,vUV,0.0);\x0afloat\x20lumaM=FxaaLuma(rgbyM);\x0afloat\x20lumaS=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordS,0.0));\x0afloat\x20lumaE=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordE,0.0));\x0afloat\x20lumaN=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordN,0.0));\x0afloat\x20lumaW=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordW,0.0));\x0afloat\x20maxSM=max(lumaS,lumaM);\x0afloat\x20minSM=min(lumaS,lumaM);\x0afloat\x20maxESM=max(lumaE,maxSM);\x0afloat\x20minESM=min(lumaE,minSM);\x0afloat\x20maxWN=max(lumaN,lumaW);\x0afloat\x20minWN=min(lumaN,lumaW);\x0afloat\x20rangeMax=max(maxWN,maxESM);\x0afloat\x20rangeMin=min(minWN,minESM);\x0afloat\x20rangeMaxScaled=rangeMax*fxaaQualityEdgeThreshold;\x0afloat\x20range=rangeMax-rangeMin;\x0afloat\x20rangeMaxClamped=max(fxaaQualityEdgeThresholdMin,rangeMaxScaled);\x0a#ifndef\x20MALI\x0aif(range=edgeVert;\x0afloat\x20subpixA=subpixNSWE*2.0+subpixNWSWNESE;\x0aif\x20(!horzSpan)\x0a{\x0alumaN=lumaW;\x0a}\x0aif\x20(!horzSpan)\x20\x0a{\x0alumaS=lumaE;\x0a}\x0aif\x20(horzSpan)\x20\x0a{\x0alengthSign=texelSize.y;\x0a}\x0afloat\x20subpixB=(subpixA*(1.0/12.0))-lumaM;\x0afloat\x20gradientN=lumaN-lumaM;\x0afloat\x20gradientS=lumaS-lumaM;\x0afloat\x20lumaNN=lumaN+lumaM;\x0afloat\x20lumaSS=lumaS+lumaM;\x0abool\x20pairN=abs(gradientN)>=abs(gradientS);\x0afloat\x20gradient=max(abs(gradientN),abs(gradientS));\x0aif\x20(pairN)\x0a{\x0alengthSign=-lengthSign;\x0a}\x0afloat\x20subpixC=clamp(abs(subpixB)*subpixRcpRange,0.0,1.0);\x0avec2\x20posB;\x0aposB.x=posM.x;\x0aposB.y=posM.y;\x0avec2\x20offNP;\x0aoffNP.x=(!horzSpan)\x20?\x200.0\x20:\x20texelSize.x;\x0aoffNP.y=(horzSpan)\x20?\x200.0\x20:\x20texelSize.y;\x0aif\x20(!horzSpan)\x20\x0a{\x0aposB.x+=lengthSign*0.5;\x0a}\x0aif\x20(horzSpan)\x0a{\x0aposB.y+=lengthSign*0.5;\x0a}\x0avec2\x20posN;\x0aposN.x=posB.x-offNP.x*1.5;\x0aposN.y=posB.y-offNP.y*1.5;\x0avec2\x20posP;\x0aposP.x=posB.x+offNP.x*1.5;\x0aposP.y=posB.y+offNP.y*1.5;\x0afloat\x20subpixD=((-2.0)*subpixC)+3.0;\x0afloat\x20lumaEndN=FxaaLuma(TEXTUREFUNC(textureSampler,posN,0.0));\x0afloat\x20subpixE=subpixC*subpixC;\x0afloat\x20lumaEndP=FxaaLuma(TEXTUREFUNC(textureSampler,posP,0.0));\x0aif\x20(!pairN)\x20\x0a{\x0alumaNN=lumaSS;\x0a}\x0afloat\x20gradientScaled=gradient*1.0/4.0;\x0afloat\x20lumaMM=lumaM-lumaNN*0.5;\x0afloat\x20subpixF=subpixD*subpixE;\x0abool\x20lumaMLTZero=lumaMM<0.0;\x0alumaEndN-=lumaNN*0.5;\x0alumaEndP-=lumaNN*0.5;\x0abool\x20doneN=abs(lumaEndN)>=gradientScaled;\x0abool\x20doneP=abs(lumaEndP)>=gradientScaled;\x0aif\x20(!doneN)\x20\x0a{\x0aposN.x-=offNP.x*3.0;\x0a}\x0aif\x20(!doneN)\x20\x0a{\x0aposN.y-=offNP.y*3.0;\x0a}\x0abool\x20doneNP=(!doneN)\x20||\x20(!doneP);\x0aif\x20(!doneP)\x20\x0a{\x0aposP.x+=offNP.x*3.0;\x0a}\x0aif\x20(!doneP)\x0a{\x0aposP.y+=offNP.y*3.0;\x0a}\x0aif\x20(doneNP)\x0a{\x0aif\x20(!doneN)\x20lumaEndN=FxaaLuma(TEXTUREFUNC(textureSampler,posN.xy,0.0));\x0aif\x20(!doneP)\x20lumaEndP=FxaaLuma(TEXTUREFUNC(textureSampler,posP.xy,0.0));\x0aif\x20(!doneN)\x20lumaEndN=lumaEndN-lumaNN*0.5;\x0aif\x20(!doneP)\x20lumaEndP=lumaEndP-lumaNN*0.5;\x0adoneN=abs(lumaEndN)>=gradientScaled;\x0adoneP=abs(lumaEndP)>=gradientScaled;\x0aif\x20(!doneN)\x20posN.x-=offNP.x*12.0;\x0aif\x20(!doneN)\x20posN.y-=offNP.y*12.0;\x0adoneNP=(!doneN)\x20||\x20(!doneP);\x0aif\x20(!doneP)\x20posP.x+=offNP.x*12.0;\x0aif\x20(!doneP)\x20posP.y+=offNP.y*12.0;\x0a}\x0afloat\x20dstN=posM.x-posN.x;\x0afloat\x20dstP=posP.x-posM.x;\x0aif\x20(!horzSpan)\x0a{\x0adstN=posM.y-posN.y;\x0a}\x0aif\x20(!horzSpan)\x20\x0a{\x0adstP=posP.y-posM.y;\x0a}\x0abool\x20goodSpanN=(lumaEndN<0.0)\x20!=\x20lumaMLTZero;\x0afloat\x20spanLength=(dstP+dstN);\x0abool\x20goodSpanP=(lumaEndP<0.0)\x20!=\x20lumaMLTZero;\x0afloat\x20spanLengthRcp=1.0/spanLength;\x0abool\x20directionN=dstN{var _0x3489c2=a7_0x1ed280;_0x1ba606(0x17a92)['v'][_0x3489c2(0x6d9)]['fxaaVertexShader']=_0x3489c2(0x1aa);},0x16ef7:(_0x3206f1,_0x23dfd0,_0x2d2178)=>{var _0x1ebc79=a7_0x1ed280,_0x33b694=_0x2d2178(0x17a92);_0x2d2178(0xff1b),_0x33b694['v'][_0x1ebc79(0x281)]['mrtFragmentDeclaration']=_0x1ebc79(0x68c),_0x2d2178(0x8cac),_0x2d2178(0xe577),_0x2d2178(0x175b0),_0x2d2178(0x3328),_0x2d2178(0x6664),_0x33b694['v'][_0x1ebc79(0x6d9)][_0x1ebc79(0x8bc)]='#extension\x20GL_EXT_draw_buffers\x20:\x20require\x0a#if\x20defined(BUMP)\x20||\x20!defined(NORMAL)\x0a#extension\x20GL_OES_standard_derivatives\x20:\x20enable\x0a#endif\x0aprecision\x20highp\x20float;\x0a#ifdef\x20BUMP\x0avarying\x20mat4\x20vWorldView;\x0avarying\x20vec3\x20vNormalW;\x0a#else\x0avarying\x20vec3\x20vNormalV;\x0a#endif\x0avarying\x20vec4\x20vViewPos;\x0a#if\x20defined(POSITION)\x20||\x20defined(BUMP)\x0avarying\x20vec3\x20vPositionW;\x0a#endif\x0a#ifdef\x20VELOCITY\x0avarying\x20vec4\x20vCurrentPosition;\x0avarying\x20vec4\x20vPreviousPosition;\x0a#endif\x0a#ifdef\x20NEED_UV\x0avarying\x20vec2\x20vUV;\x0a#endif\x0a#ifdef\x20BUMP\x0auniform\x20vec3\x20vBumpInfos;\x0auniform\x20vec2\x20vTangentSpaceParams;\x0a#endif\x0a#if\x20defined(REFLECTIVITY)\x0a#if\x20defined(ORMTEXTURE)\x20||\x20defined(SPECULARGLOSSINESSTEXTURE)\x20||\x20defined(REFLECTIVITYTEXTURE)\x0auniform\x20sampler2D\x20reflectivitySampler;\x0avarying\x20vec2\x20vReflectivityUV;\x0a#endif\x0a#ifdef\x20ALBEDOTEXTURE\x0avarying\x20vec2\x20vAlbedoUV;\x0auniform\x20sampler2D\x20albedoSampler;\x0a#endif\x0a#ifdef\x20REFLECTIVITYCOLOR\x0auniform\x20vec3\x20reflectivityColor;\x0a#endif\x0a#ifdef\x20ALBEDOCOLOR\x0auniform\x20vec3\x20albedoColor;\x0a#endif\x0a#ifdef\x20METALLIC\x0auniform\x20float\x20metallic;\x0a#endif\x0a#if\x20defined(ROUGHNESS)\x20||\x20defined(GLOSSINESS)\x0auniform\x20float\x20glossiness;\x0a#endif\x0a#endif\x0a#if\x20defined(ALPHATEST)\x20&&\x20defined(NEED_UV)\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#include\x0a#include[RENDER_TARGET_COUNT]\x0a#include\x0a#include\x0a#include\x0avoid\x20main()\x20{\x0a#include\x0a#ifdef\x20ALPHATEST\x0aif\x20(texture2D(diffuseSampler,vUV).a<0.4)\x0adiscard;\x0a#endif\x0avec3\x20normalOutput;\x0a#ifdef\x20BUMP\x0avec3\x20normalW=normalize(vNormalW);\x0a#include\x0anormalOutput=normalize(vec3(vWorldView*vec4(normalW,0.0)));\x0a#else\x0anormalOutput=normalize(vNormalV);\x0a#endif\x0a#ifdef\x20PREPASS\x0a#ifdef\x20PREPASS_DEPTH\x0agl_FragData[DEPTH_INDEX]=vec4(vViewPos.z/vViewPos.w,0.0,0.0,1.0);\x0a#endif\x0a#ifdef\x20PREPASS_NORMAL\x0agl_FragData[NORMAL_INDEX]=vec4(normalOutput,1.0);\x0a#endif\x0a#else\x0agl_FragData[0]=vec4(vViewPos.z/vViewPos.w,0.0,0.0,1.0);\x0agl_FragData[1]=vec4(normalOutput,1.0);\x0a#endif\x0a#ifdef\x20POSITION\x0agl_FragData[POSITION_INDEX]=vec4(vPositionW,1.0);\x0a#endif\x0a#ifdef\x20VELOCITY\x0avec2\x20a=(vCurrentPosition.xy/vCurrentPosition.w)*0.5+0.5;\x0avec2\x20b=(vPreviousPosition.xy/vPreviousPosition.w)*0.5+0.5;\x0avec2\x20velocity=abs(a-b);\x0avelocity=vec2(pow(velocity.x,1.0/3.0),pow(velocity.y,1.0/3.0))*sign(a-b)*0.5+0.5;\x0agl_FragData[VELOCITY_INDEX]=vec4(velocity,0.0,1.0);\x0a#endif\x0a#ifdef\x20REFLECTIVITY\x0avec4\x20reflectivity=vec4(0.0,0.0,0.0,1.0);\x0a#ifdef\x20METALLICWORKFLOW\x0afloat\x20metal=1.0;\x0afloat\x20roughness=1.0;\x0a#ifdef\x20ORMTEXTURE\x0ametal*=texture2D(reflectivitySampler,vReflectivityUV).b;\x0aroughness*=texture2D(reflectivitySampler,vReflectivityUV).g;\x0a#endif\x0a#ifdef\x20METALLIC\x0ametal*=metallic;\x0a#endif\x0a#ifdef\x20ROUGHNESS\x0aroughness*=(1.0-glossiness);\x20\x0a#endif\x0areflectivity.a-=roughness;\x0avec3\x20color=vec3(1.0);\x0a#ifdef\x20ALBEDOTEXTURE\x0acolor=texture2D(albedoSampler,vAlbedoUV).rgb;\x0a#ifdef\x20GAMMAALBEDO\x0acolor=toLinearSpace(color);\x0a#endif\x0a#endif\x0a#ifdef\x20ALBEDOCOLOR\x0acolor*=albedoColor.xyz;\x0a#endif\x0areflectivity.rgb=mix(vec3(0.04),color,metal);\x0a#else\x0a#if\x20defined(SPECULARGLOSSINESSTEXTURE)\x20||\x20defined(REFLECTIVITYTEXTURE)\x0areflectivity=texture2D(reflectivitySampler,vReflectivityUV);\x0a#ifdef\x20GAMMAREFLECTIVITYTEXTURE\x0areflectivity.rgb=toLinearSpace(reflectivity.rgb);\x0a#endif\x0a#else\x20\x0a#ifdef\x20REFLECTIVITYCOLOR\x0areflectivity.rgb=toLinearSpace(reflectivityColor.xyz);\x0areflectivity.a=1.0;\x0a#endif\x0a#endif\x0a#ifdef\x20GLOSSINESSS\x0areflectivity.a*=glossiness;\x20\x0a#endif\x0a#endif\x0agl_FragData[REFLECTIVITY_INDEX]=reflectivity;\x0a#endif\x0a}\x0a';},0x147cd:(_0x5f57c9,_0x3fa141,_0x456ebb)=>{var _0x38ef6a=a7_0x1ed280,_0x293a3d=_0x456ebb(0x17a92);_0x456ebb(0x13f9a),_0x456ebb(0x12929),_0x456ebb(0x9ea3),_0x456ebb(0x12abc),_0x456ebb(0x12bc6),_0x293a3d['v'][_0x38ef6a(0x281)][_0x38ef6a(0x65c)]=_0x38ef6a(0x73b),_0x456ebb(0x6cce),_0x293a3d['v'][_0x38ef6a(0x281)][_0x38ef6a(0x2dc)]=_0x38ef6a(0x726),_0x456ebb(0x13216),_0x456ebb(0x13906),_0x456ebb(0x1070),_0x456ebb(0x733d),_0x456ebb(0xb434),_0x456ebb(0xdcea),_0x456ebb(0x6efd),_0x456ebb(0xced6),_0x293a3d['v'][_0x38ef6a(0x6d9)][_0x38ef6a(0xa40)]=_0x38ef6a(0x876);},0x969e:(_0x1441ed,_0x35427a,_0x5a613d)=>{var _0x474589=a7_0x1ed280;_0x5a613d(0x17a92)['v'][_0x474589(0x6d9)]['glowBlurPostProcessPixelShader']=_0x474589(0x523);},0x2a8d:(_0x3bd2e3,_0x4d4327,_0x33d046)=>{var _0xbbdbcd=a7_0x1ed280,_0x1822d1=_0x33d046(0x17a92);_0x33d046(0x175b0),_0x33d046(0xff1b),_0x33d046(0x3328),_0x1822d1['v'][_0xbbdbcd(0x6d9)]['glowMapGenerationPixelShader']=_0xbbdbcd(0x813);},0x14398:(_0x2052db,_0x34d091,_0x3919f8)=>{var _0x104e89=a7_0x1ed280,_0x1890ad=_0x3919f8(0x17a92);_0x3919f8(0x13f9a),_0x3919f8(0x12929),_0x3919f8(0x9ea3),_0x3919f8(0x12abc),_0x3919f8(0x13216),_0x3919f8(0x12bc6),_0x3919f8(0x13906),_0x3919f8(0x1070),_0x3919f8(0x733d),_0x3919f8(0xb434),_0x3919f8(0xdcea),_0x3919f8(0x6efd),_0x1890ad['v'][_0x104e89(0x6d9)][_0x104e89(0x50c)]=_0x104e89(0x3e6);},0x16980:(_0x3b8fe9,_0x30f82a,_0x2a2837)=>{var _0x5862b8=a7_0x1ed280;_0x2a2837(0x17a92)['v']['ShadersStore'][_0x5862b8(0x483)]=_0x5862b8(0x3b3);},0x13824:(_0x3d9bdc,_0x4800c6,_0x415255)=>{var _0x434de2=a7_0x1ed280;_0x415255(0x17a92)['v'][_0x434de2(0x6d9)][_0x434de2(0xb91)]=_0x434de2(0x38a);},0x136d7:(_0x2276e7,_0x5ee75d,_0x13c954)=>{var _0x33ec00=a7_0x1ed280,_0x323baa=_0x13c954(0x17a92);_0x323baa['v'][_0x33ec00(0x281)][_0x33ec00(0xc45)]=_0x33ec00(0x89f),_0x13c954(0x16c11),_0x13c954(0x17bd9),_0x13c954(0x175b0),_0x13c954(0x119a9),_0x13c954(0x3328),_0x13c954(0x1445f),_0x323baa['v']['ShadersStore'][_0x33ec00(0x89b)]=_0x33ec00(0x63b);},0x4618:(_0x15a7a5,_0xc6a44d,_0x466e9c)=>{var _0x1bc4f9=a7_0x1ed280,_0xf7ebc0=_0x466e9c(0x17a92);_0xf7ebc0['v'][_0x1bc4f9(0x281)][_0x1bc4f9(0xa27)]=_0x1bc4f9(0xbce),_0x466e9c(0x17bd9),_0x466e9c(0x6efd),_0x466e9c(0x13da6),_0xf7ebc0['v']['ShadersStore']['gpuRenderParticlesVertexShader']=_0x1bc4f9(0x72b);},0x820b:(_0x23d0da,_0xbe025c,_0x52ae89)=>{var _0x3c64da=a7_0x1ed280;_0x52ae89(0x17a92)['v'][_0x3c64da(0x6d9)][_0x3c64da(0x4df)]=_0x3c64da(0xaf7);},0x5913:(_0x5759a9,_0x1ac2e2,_0x5cfce8)=>{var _0x57501d=a7_0x1ed280;_0x5cfce8(0x17a92)['v']['ShadersStore']['gpuUpdateParticlesVertexShader']=_0x57501d(0x7e8);},0x4ad4:(_0x2896e4,_0x5bd585,_0x364a8e)=>{var _0x2c6d61=a7_0x1ed280,_0x32b773=_0x364a8e(0x17a92);_0x364a8e(0x175b0),_0x32b773['v'][_0x2c6d61(0x6d9)][_0x2c6d61(0x498)]=_0x2c6d61(0x29d);},0x87f9:(_0x410baa,_0x3e878b,_0x57ab1a)=>{var _0x212e4f=a7_0x1ed280,_0x9f087f=_0x57ab1a(0x17a92);_0x57ab1a(0x175b0),_0x57ab1a(0x1b98),_0x57ab1a(0x10b3e),_0x57ab1a(0x16b85),_0x9f087f['v'][_0x212e4f(0x6d9)][_0x212e4f(0x705)]='#include\x0a#include\x0a#include\x0a#include\x0auniform\x20float\x20alphaG;\x0auniform\x20samplerCube\x20inputTexture;\x0auniform\x20vec2\x20vFilteringInfo;\x0auniform\x20float\x20hdrScale;\x0avarying\x20vec3\x20direction;\x0avoid\x20main()\x20{\x0avec3\x20color=radiance(alphaG,inputTexture,direction,vFilteringInfo);\x0agl_FragColor=vec4(color*hdrScale,1.0);\x0a}';},0x11e17:(_0x324796,_0x3d75eb,_0x5b6cbd)=>{var _0x393209=a7_0x1ed280;_0x5b6cbd(0x17a92)['v'][_0x393209(0x6d9)]['hdrFilteringVertexShader']=_0x393209(0x258);},0xd5bd:(_0x32273c,_0x4ed07b,_0x2df437)=>{var _0x3b330b=a7_0x1ed280;_0x2df437(0x17a92)['v'][_0x3b330b(0x6d9)][_0x3b330b(0xaa4)]=_0x3b330b(0x1bd);},0x816b:(_0x40793f,_0x55e6cf,_0xcb35f)=>{var _0x4f5840=a7_0x1ed280,_0x539ecb=_0xcb35f(0x17a92);_0xcb35f(0x16c11),_0xcb35f(0x175b0),_0xcb35f(0x119a9),_0x539ecb['v']['ShadersStore'][_0x4f5840(0x9a8)]=_0x4f5840(0xa7e);},0x12a58:(_0x3b315f,_0x353e73,_0x3d340b)=>{var _0x320cb5=a7_0x1ed280,_0x33c80f=_0x3d340b(0x17a92);_0x3d340b(0x1610b),_0x3d340b(0xe85e),_0x33c80f['v'][_0x320cb5(0x281)][_0x320cb5(0x1f1)]=_0x320cb5(0x770),_0x33c80f['v'][_0x320cb5(0x281)]['kernelBlurFragment2']='#ifdef\x20DOF\x0afactor=sampleCoC(sampleCenter+delta*KERNEL_DEP_OFFSET{X});\x0acomputedWeight=KERNEL_DEP_WEIGHT{X}*factor;\x0asumOfWeights+=computedWeight;\x0a#else\x0acomputedWeight=KERNEL_DEP_WEIGHT{X};\x0a#endif\x0a#ifdef\x20PACKEDFLOAT\x0ablend+=unpack(texture2D(textureSampler,sampleCenter+delta*KERNEL_DEP_OFFSET{X}))*computedWeight;\x0a#else\x0ablend+=texture2D(textureSampler,sampleCenter+delta*KERNEL_DEP_OFFSET{X})*computedWeight;\x0a#endif\x0a',_0x33c80f['v'][_0x320cb5(0x6d9)][_0x320cb5(0x97c)]='uniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20delta;\x0avarying\x20vec2\x20sampleCenter;\x0a#ifdef\x20DOF\x0auniform\x20sampler2D\x20circleOfConfusionSampler;\x0afloat\x20sampleCoC(in\x20vec2\x20offset)\x20{\x0afloat\x20coc=texture2D(circleOfConfusionSampler,offset).r;\x0areturn\x20coc;\x20\x0a}\x0a#endif\x0a#include[0..varyingCount]\x0a#ifdef\x20PACKEDFLOAT\x0a#include\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0afloat\x20computedWeight=0.0;\x0a#ifdef\x20PACKEDFLOAT\x0afloat\x20blend=0.;\x0a#else\x0avec4\x20blend=vec4(0.);\x0a#endif\x0a#ifdef\x20DOF\x0afloat\x20sumOfWeights=CENTER_WEIGHT;\x20\x0afloat\x20factor=0.0;\x0a#ifdef\x20PACKEDFLOAT\x0ablend+=unpack(texture2D(textureSampler,sampleCenter))*CENTER_WEIGHT;\x0a#else\x0ablend+=texture2D(textureSampler,sampleCenter)*CENTER_WEIGHT;\x0a#endif\x0a#endif\x0a#include[0..varyingCount]\x0a#include[0..depCount]\x0a#ifdef\x20PACKEDFLOAT\x0agl_FragColor=pack(blend);\x0a#else\x0agl_FragColor=blend;\x0a#endif\x0a#ifdef\x20DOF\x0agl_FragColor/=sumOfWeights;\x0a#endif\x0a}';},0x147a8:(_0xffa134,_0x120280,_0x441070)=>{var _0x41177c=a7_0x1ed280,_0x8c1f3f=_0x441070(0x17a92);_0x441070(0x1610b),_0x8c1f3f['v'][_0x41177c(0x281)][_0x41177c(0x7ff)]=_0x41177c(0x8ad),_0x8c1f3f['v'][_0x41177c(0x6d9)][_0x41177c(0x95f)]='attribute\x20vec2\x20position;\x0auniform\x20vec2\x20delta;\x0avarying\x20vec2\x20sampleCenter;\x0a#include[0..varyingCount]\x0aconst\x20vec2\x20madd=vec2(0.5,0.5);\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0asampleCenter=(position*madd+madd);\x0a#include[0..varyingCount]\x0agl_Position=vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}';},0x1814a:(_0x19ffed,_0x5d8dd9,_0x1cec7d)=>{var _0x3d0f62=a7_0x1ed280,_0x19e43c=_0x1cec7d(0x17a92);_0x1cec7d(0x175b0),_0x19e43c['v'][_0x3d0f62(0x6d9)][_0x3d0f62(0xd23)]=_0x3d0f62(0xc07);},0xc8f5:(_0x25044a,_0x573376,_0x579226)=>{var _0x4debcc=a7_0x1ed280;_0x579226(0x17a92)['v'][_0x4debcc(0x6d9)]['layerVertexShader']=_0x4debcc(0x662);},0x139b9:(_0x36ab1c,_0x2472a3,_0x1348e0)=>{var _0x3e922b=a7_0x1ed280;_0x1348e0(0x17a92)['v'][_0x3e922b(0x6d9)][_0x3e922b(0x36d)]=_0x3e922b(0x66a);},0xc013:(_0x2fc88f,_0x3de0a3,_0x533f0a)=>{var _0x4ae964=a7_0x1ed280;_0x533f0a(0x17a92)['v'][_0x4ae964(0x6d9)][_0x4ae964(0x1ef)]=_0x4ae964(0x1cd);},0xd962:(_0x493c4f,_0x4669af,_0x59b84e)=>{var _0x3d1b7=a7_0x1ed280;_0x59b84e(0x17a92)['v'][_0x3d1b7(0x6d9)][_0x3d1b7(0x9de)]=_0x3d1b7(0xd13);},0x6909:(_0x53a3be,_0x53e179,_0x3813e7)=>{var _0x1cafea=a7_0x1ed280,_0x1f800b=_0x3813e7(0x17a92);_0x3813e7(0xff1b),_0x3813e7(0x3328),_0x1f800b['v'][_0x1cafea(0x6d9)]['linePixelShader']='#include\x0auniform\x20vec4\x20color;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include\x0agl_FragColor=color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}';},0x8559:(_0x5535d5,_0x19148c,_0x2e0ff0)=>{var _0x46804c=a7_0x1ed280,_0x1d9ba8=_0x2e0ff0(0x17a92);_0x2e0ff0(0x12bc6),_0x2e0ff0(0x13216),_0x2e0ff0(0x733d),_0x2e0ff0(0x6efd),_0x1d9ba8['v'][_0x46804c(0x6d9)][_0x46804c(0x881)]=_0x46804c(0xb2a);},0x12903:(_0x2bcfd2,_0x97deb3,_0x2a830b)=>{var _0x20d190=a7_0x1ed280;_0x2a830b(0x17a92)['v'][_0x20d190(0x6d9)]['meshUVSpaceRendererPixelShader']='precision\x20highp\x20float;\x0avarying\x20vec2\x20vDecalTC;\x0auniform\x20sampler2D\x20textureSampler;\x0avoid\x20main(void)\x20{\x0aif\x20(vDecalTC.x<0.\x20||\x20vDecalTC.x>1.\x20||\x20vDecalTC.y<0.\x20||\x20vDecalTC.y>1.)\x20{\x0adiscard;\x0a}\x0agl_FragColor=texture2D(textureSampler,vDecalTC);\x0a}\x0a';},0x15005:(_0x5f0db3,_0x9ff2d2,_0x5205fd)=>{var _0x2982e1=a7_0x1ed280,_0x11a903=_0x5205fd(0x17a92);_0x5205fd(0x13f9a),_0x5205fd(0x12929),_0x5205fd(0x9ea3),_0x5205fd(0x12abc),_0x5205fd(0x12bc6),_0x5205fd(0x13906),_0x5205fd(0x1070),_0x5205fd(0x733d),_0x5205fd(0xb434),_0x5205fd(0xdcea),_0x11a903['v'][_0x2982e1(0x6d9)]['meshUVSpaceRendererVertexShader']=_0x2982e1(0x711);},0x13733:(_0x36164b,_0x7ea8a8,_0x22529a)=>{var _0x8bd3cf=a7_0x1ed280;_0x22529a(0x17a92)['v'][_0x8bd3cf(0x6d9)]['minmaxReduxPixelShader']=_0x8bd3cf(0x728);},0x366b:(_0x38efec,_0x85579e,_0x460798)=>{var _0xdb166a=a7_0x1ed280;_0x460798(0x17a92)['v']['ShadersStore'][_0xdb166a(0x64f)]=_0xdb166a(0x512);},0xf422:(_0x5afe38,_0x4cbffa,_0x1bec3d)=>{var _0x5b325d=a7_0x1ed280;_0x1bec3d(0x17a92)['v'][_0x5b325d(0x6d9)][_0x5b325d(0x2d7)]=_0x5b325d(0x5b2);},0xcfa6:(_0xb14bb5,_0x52b4e5,_0x5aad46)=>{var _0x1a1dc8=a7_0x1ed280;_0x5aad46(0x17a92)['v'][_0x1a1dc8(0x6d9)][_0x1a1dc8(0x6d6)]=_0x1a1dc8(0x5ad);},0x1d0b:(_0x4c2eed,_0x402cce,_0x282d78)=>{var _0x3550af=a7_0x1ed280;_0x282d78(0x17a92)['v']['ShadersStore'][_0x3550af(0xb38)]=_0x3550af(0x7b8);},0x4ae5:(_0x99247d,_0x2b2f68,_0x156241)=>{var _0x2e3951=a7_0x1ed280,_0x1ea8f1=_0x156241(0x17a92);_0x156241(0xff1b),_0x156241(0x17bd9),_0x156241(0x3328),_0x156241(0x1445f),_0x1ea8f1['v'][_0x2e3951(0x6d9)][_0x2e3951(0xc50)]=_0x2e3951(0xaa2);},0x1294f:(_0x19d178,_0x2807fa,_0x1e8f58)=>{var _0x46969f=a7_0x1ed280,_0x57f7f8=_0x1e8f58(0x17a92);_0x1e8f58(0x13f9a),_0x1e8f58(0x12929),_0x1e8f58(0x9ea3),_0x1e8f58(0x12abc),_0x1e8f58(0x13216),_0x1e8f58(0x12bc6),_0x1e8f58(0x17bd9),_0x1e8f58(0x13906),_0x1e8f58(0x1070),_0x1e8f58(0x733d),_0x1e8f58(0xb434),_0x1e8f58(0xdcea),_0x1e8f58(0x6efd),_0x1e8f58(0x13da6),_0x57f7f8['v'][_0x46969f(0x6d9)][_0x46969f(0x16c)]=_0x46969f(0x845);},0x5215:(_0x427c3b,_0x49e3f3,_0x11ac4c)=>{var _0x2b8565=a7_0x1ed280,_0x107a68=_0x11ac4c(0x17a92);_0x11ac4c(0xff1b),_0x11ac4c(0x16c11),_0x11ac4c(0x17bd9),_0x11ac4c(0x175b0),_0x11ac4c(0x119a9),_0x11ac4c(0x3328),_0x11ac4c(0x1445f),_0x107a68['v'][_0x2b8565(0x6d9)]['particlesPixelShader']=_0x2b8565(0x29e);},0x1560d:(_0x568a4c,_0x4254f7,_0x4fbe91)=>{var _0x45878d=a7_0x1ed280,_0x4cf5c1=_0x4fbe91(0x17a92);_0x4fbe91(0x13216),_0x4fbe91(0x17bd9),_0x4fbe91(0x6efd),_0x4fbe91(0x13da6),_0x4cf5c1['v']['ShadersStore'][_0x45878d(0x59f)]='attribute\x20vec3\x20position;\x0aattribute\x20vec4\x20color;\x0aattribute\x20float\x20angle;\x0aattribute\x20vec2\x20size;\x0a#ifdef\x20ANIMATESHEET\x0aattribute\x20float\x20cellIndex;\x0a#endif\x0a#ifndef\x20BILLBOARD\x0aattribute\x20vec3\x20direction;\x0a#endif\x0a#ifdef\x20BILLBOARDSTRETCHED\x0aattribute\x20vec3\x20direction;\x0a#endif\x0a#ifdef\x20RAMPGRADIENT\x0aattribute\x20vec4\x20remapData;\x0a#endif\x0aattribute\x20vec2\x20offset;\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20vec2\x20translationPivot;\x0a#ifdef\x20ANIMATESHEET\x0auniform\x20vec3\x20particlesInfos;\x20\x0a#endif\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec4\x20vColor;\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20RAMPGRADIENT\x0avarying\x20vec4\x20remapRanges;\x0a#endif\x0a#if\x20defined(BILLBOARD)\x20&&\x20!defined(BILLBOARDY)\x20&&\x20!defined(BILLBOARDSTRETCHED)\x0auniform\x20mat4\x20invView;\x0a#endif\x0a#include\x0a#include\x0a#ifdef\x20BILLBOARD\x0auniform\x20vec3\x20eyePosition;\x0a#endif\x0avec3\x20rotate(vec3\x20yaxis,vec3\x20rotatedCorner)\x20{\x0avec3\x20xaxis=normalize(cross(vec3(0.,1.0,0.),yaxis));\x0avec3\x20zaxis=normalize(cross(yaxis,xaxis));\x0avec3\x20row0=vec3(xaxis.x,xaxis.y,xaxis.z);\x0avec3\x20row1=vec3(yaxis.x,yaxis.y,yaxis.z);\x0avec3\x20row2=vec3(zaxis.x,zaxis.y,zaxis.z);\x0amat3\x20rotMatrix=\x20mat3(row0,row1,row2);\x0avec3\x20alignedCorner=rotMatrix*rotatedCorner;\x0areturn\x20position+alignedCorner;\x0a}\x0a#ifdef\x20BILLBOARDSTRETCHED\x0avec3\x20rotateAlign(vec3\x20toCamera,vec3\x20rotatedCorner)\x20{\x0avec3\x20normalizedToCamera=normalize(toCamera);\x0avec3\x20normalizedCrossDirToCamera=normalize(cross(normalize(direction),normalizedToCamera));\x0avec3\x20row0=vec3(normalizedCrossDirToCamera.x,normalizedCrossDirToCamera.y,normalizedCrossDirToCamera.z);\x0avec3\x20row2=vec3(normalizedToCamera.x,normalizedToCamera.y,normalizedToCamera.z);\x0a#ifdef\x20BILLBOARDSTRETCHED_LOCAL\x0avec3\x20row1=direction;\x0a#else\x0avec3\x20crossProduct=normalize(cross(normalizedToCamera,normalizedCrossDirToCamera));\x0avec3\x20row1=vec3(crossProduct.x,crossProduct.y,crossProduct.z);\x0a#endif\x0amat3\x20rotMatrix=\x20mat3(row0,row1,row2);\x0avec3\x20alignedCorner=rotMatrix*rotatedCorner;\x0areturn\x20position+alignedCorner;\x0a}\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avec2\x20cornerPos;\x0acornerPos=(vec2(offset.x-0.5,offset.y\x20-0.5)-translationPivot)*size+translationPivot;\x0a#ifdef\x20BILLBOARD\x0avec3\x20rotatedCorner;\x0a#ifdef\x20BILLBOARDY\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.z=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.y=0.;\x0avec3\x20yaxis=position-eyePosition;\x0ayaxis.y=0.;\x0avPositionW=rotate(normalize(yaxis),rotatedCorner);\x0avec3\x20viewPos=(view*vec4(vPositionW,1.0)).xyz;\x0a#elif\x20defined(BILLBOARDSTRETCHED)\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.y=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.z=0.;\x0avec3\x20toCamera=position-eyePosition;\x0avPositionW=rotateAlign(toCamera,rotatedCorner);\x0avec3\x20viewPos=(view*vec4(vPositionW,1.0)).xyz;\x0a#else\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.y=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.z=0.;\x0avec3\x20viewPos=(view*vec4(position,1.0)).xyz+rotatedCorner;\x0avPositionW=(invView*vec4(viewPos,1)).xyz;\x0a#endif\x0a#ifdef\x20RAMPGRADIENT\x0aremapRanges=remapData;\x0a#endif\x0agl_Position=projection*vec4(viewPos,1.0);\x0a#else\x0avec3\x20rotatedCorner;\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.z=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.y=0.;\x0avec3\x20yaxis=normalize(direction);\x0avPositionW=rotate(yaxis,rotatedCorner);\x0agl_Position=projection*view*vec4(vPositionW,1.0);\x0a#endif\x0avColor=color;\x0a#ifdef\x20ANIMATESHEET\x0afloat\x20rowOffset=floor(cellIndex*particlesInfos.z);\x0afloat\x20columnOffset=cellIndex-rowOffset/particlesInfos.z;\x0avec2\x20uvScale=particlesInfos.xy;\x0avec2\x20uvOffset=vec2(offset.x\x20,1.0-offset.y);\x0avUV=(uvOffset+vec2(columnOffset,rowOffset))*uvScale;\x0a#else\x0avUV=offset;\x0a#endif\x0a#if\x20defined(CLIPPLANE)\x20||\x20defined(CLIPPLANE2)\x20||\x20defined(CLIPPLANE3)\x20||\x20defined(CLIPPLANE4)\x20||\x20defined(CLIPPLANE5)\x20||\x20defined(CLIPPLANE6)\x0avec4\x20worldPos=vec4(vPositionW,1.0);\x0a#endif\x0a#include\x0a#include\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}';},0x8262:(_0x20060f,_0x201c90,_0x45967d)=>{var _0x589445=a7_0x1ed280;_0x45967d['d'](_0x201c90,{'T':()=>_0x5c5dd0}),_0x201c90=_0x589445(0xa1a);const _0x5c5dd0={'name':_0x201c90,'shader':_0x45967d(0x17a92)['v'][_0x589445(0x6d9)][_0x201c90]=_0x589445(0x5a3)};},0x5f4b:(_0x5c71b1,_0x34397e,_0x5da122)=>{var _0x4fbffd=a7_0x1ed280;_0x5da122(0x17a92)['v'][_0x4fbffd(0x6d9)][_0x4fbffd(0x26f)]=_0x4fbffd(0xb85);},0x11f54:(_0x573e27,_0x16b6b7,_0x562d65)=>{var _0x2c71a7=a7_0x1ed280,_0x5636f8=_0x562d65(0x17a92);_0x562d65(0x67c9),_0x562d65(0xa8cd),_0x562d65(0xf57c),_0x5636f8['v']['IncludesShadersStore']['pbrFragmentDeclaration']=_0x2c71a7(0x9a6),_0x562d65(0xc853),_0x562d65(0x94fa),_0x5636f8['v']['IncludesShadersStore'][_0x2c71a7(0x5fb)]='varying\x20vec3\x20vPositionW;\x0a#if\x20DEBUGMODE>0\x0avarying\x20vec4\x20vClipSpacePosition;\x0a#endif\x0a#include[1..7]\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#if\x20defined(USESPHERICALFROMREFLECTIONMAP)\x20&&\x20defined(USESPHERICALINVERTEX)\x0avarying\x20vec3\x20vEnvironmentIrradiance;\x0a#endif\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a',_0x562d65(0xe6c7),_0x562d65(0x15fb5),_0x562d65(0x126e8),_0x5636f8['v'][_0x2c71a7(0x281)][_0x2c71a7(0xa5e)]=_0x2c71a7(0x690),_0x5636f8['v'][_0x2c71a7(0x281)][_0x2c71a7(0x30d)]=_0x2c71a7(0x5db),_0x562d65(0x16c11),_0x562d65(0xff1b),_0x562d65(0x17bd9),_0x562d65(0x12a16),_0x562d65(0x175b0),_0x562d65(0x6b23),_0x562d65(0x1b98),_0x5636f8['v'][_0x2c71a7(0x281)][_0x2c71a7(0x23e)]=_0x2c71a7(0x177),_0x562d65(0x119a9),_0x562d65(0x1f85),_0x562d65(0x14535),_0x5636f8['v'][_0x2c71a7(0x281)][_0x2c71a7(0x7f0)]=_0x2c71a7(0xb32),_0x5636f8['v'][_0x2c71a7(0x281)]['pbrDirectLightingFalloffFunctions']=_0x2c71a7(0xab0),_0x562d65(0x10b3e),_0x562d65(0x16b85),_0x5636f8['v'][_0x2c71a7(0x281)][_0x2c71a7(0xabd)]=_0x2c71a7(0x5a7),_0x5636f8['v']['IncludesShadersStore'][_0x2c71a7(0xc80)]=_0x2c71a7(0x34d),_0x562d65(0x8cac),_0x562d65(0xe577),_0x562d65(0x11645),_0x562d65(0xcff7),_0x5636f8['v']['IncludesShadersStore'][_0x2c71a7(0x276)]='struct\x20albedoOpacityOutParams\x0a{\x0avec3\x20surfaceAlbedo;\x0afloat\x20alpha;\x0a};\x0a#define\x20pbr_inline\x0avoid\x20albedoOpacityBlock(\x0ain\x20vec4\x20vAlbedoColor,\x0a#ifdef\x20ALBEDO\x0ain\x20vec4\x20albedoTexture,\x0ain\x20vec2\x20albedoInfos,\x0a#endif\x0a#ifdef\x20OPACITY\x0ain\x20vec4\x20opacityMap,\x0ain\x20vec2\x20vOpacityInfos,\x0a#endif\x0a#ifdef\x20DETAIL\x0ain\x20vec4\x20detailColor,\x0ain\x20vec4\x20vDetailInfos,\x0a#endif\x0a#ifdef\x20DECAL\x0ain\x20vec4\x20decalColor,\x0ain\x20vec4\x20vDecalInfos,\x0a#endif\x0aout\x20albedoOpacityOutParams\x20outParams\x0a)\x0a{\x0avec3\x20surfaceAlbedo=vAlbedoColor.rgb;\x0afloat\x20alpha=vAlbedoColor.a;\x0a#ifdef\x20ALBEDO\x0a#if\x20defined(ALPHAFROMALBEDO)\x20||\x20defined(ALPHATEST)\x0aalpha*=albedoTexture.a;\x0a#endif\x0a#ifdef\x20GAMMAALBEDO\x0asurfaceAlbedo*=toLinearSpace(albedoTexture.rgb);\x0a#else\x0asurfaceAlbedo*=albedoTexture.rgb;\x0a#endif\x0asurfaceAlbedo*=albedoInfos.y;\x0a#endif\x0a#include\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0asurfaceAlbedo*=vColor.rgb;\x0a#endif\x0a#ifdef\x20DETAIL\x0afloat\x20detailAlbedo=2.0*mix(0.5,detailColor.r,vDetailInfos.y);\x0asurfaceAlbedo.rgb=surfaceAlbedo.rgb*detailAlbedo*detailAlbedo;\x20\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_UPDATE_ALBEDO\x0a#ifdef\x20OPACITY\x0a#ifdef\x20OPACITYRGB\x0aalpha=getLuminance(opacityMap.rgb);\x0a#else\x0aalpha*=opacityMap.a;\x0a#endif\x0aalpha*=vOpacityInfos.y;\x0a#endif\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#if\x20!defined(SS_LINKREFRACTIONTOTRANSPARENCY)\x20&&\x20!defined(ALPHAFRESNEL)\x0a#ifdef\x20ALPHATEST\x0aif\x20(alpha0\x0avec4\x20surfaceMetallicColorMap;\x0avec4\x20surfaceReflectivityColorMap;\x0avec2\x20metallicRoughness;\x0avec3\x20metallicF0;\x0a#endif\x0a};\x0a#define\x20pbr_inline\x0avoid\x20reflectivityBlock(\x0ain\x20vec4\x20vReflectivityColor,\x0a#ifdef\x20METALLICWORKFLOW\x0ain\x20vec3\x20surfaceAlbedo,\x0ain\x20vec4\x20metallicReflectanceFactors,\x0a#endif\x0a#ifdef\x20REFLECTIVITY\x0ain\x20vec3\x20reflectivityInfos,\x0ain\x20vec4\x20surfaceMetallicOrReflectivityColorMap,\x0a#endif\x0a#if\x20defined(METALLICWORKFLOW)\x20&&\x20defined(REFLECTIVITY)\x20&&\x20defined(AOSTOREINMETALMAPRED)\x0ain\x20vec3\x20ambientOcclusionColorIn,\x0a#endif\x0a#ifdef\x20MICROSURFACEMAP\x0ain\x20vec4\x20microSurfaceTexel,\x0a#endif\x0a#ifdef\x20DETAIL\x0ain\x20vec4\x20detailColor,\x0ain\x20vec4\x20vDetailInfos,\x0a#endif\x0aout\x20reflectivityOutParams\x20outParams\x0a)\x0a{\x0afloat\x20microSurface=vReflectivityColor.a;\x0avec3\x20surfaceReflectivityColor=vReflectivityColor.rgb;\x0a#ifdef\x20METALLICWORKFLOW\x0avec2\x20metallicRoughness=surfaceReflectivityColor.rg;\x0a#ifdef\x20REFLECTIVITY\x0a#if\x20DEBUGMODE>0\x0aoutParams.surfaceMetallicColorMap=surfaceMetallicOrReflectivityColorMap;\x0a#endif\x0a#ifdef\x20AOSTOREINMETALMAPRED\x0avec3\x20aoStoreInMetalMap=vec3(surfaceMetallicOrReflectivityColorMap.r,surfaceMetallicOrReflectivityColorMap.r,surfaceMetallicOrReflectivityColorMap.r);\x0aoutParams.ambientOcclusionColor=mix(ambientOcclusionColorIn,aoStoreInMetalMap,reflectivityInfos.z);\x0a#endif\x0a#ifdef\x20METALLNESSSTOREINMETALMAPBLUE\x0ametallicRoughness.r*=surfaceMetallicOrReflectivityColorMap.b;\x0a#else\x0ametallicRoughness.r*=surfaceMetallicOrReflectivityColorMap.r;\x0a#endif\x0a#ifdef\x20ROUGHNESSSTOREINMETALMAPALPHA\x0ametallicRoughness.g*=surfaceMetallicOrReflectivityColorMap.a;\x0a#else\x0a#ifdef\x20ROUGHNESSSTOREINMETALMAPGREEN\x0ametallicRoughness.g*=surfaceMetallicOrReflectivityColorMap.g;\x0a#endif\x0a#endif\x0a#endif\x0a#ifdef\x20DETAIL\x0afloat\x20detailRoughness=mix(0.5,detailColor.b,vDetailInfos.w);\x0afloat\x20loLerp=mix(0.,metallicRoughness.g,detailRoughness*2.);\x0afloat\x20hiLerp=mix(metallicRoughness.g,1.,(detailRoughness-0.5)*2.);\x0ametallicRoughness.g=mix(loLerp,hiLerp,step(detailRoughness,0.5));\x0a#endif\x0a#ifdef\x20MICROSURFACEMAP\x0ametallicRoughness.g*=microSurfaceTexel.r;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0aoutParams.metallicRoughness=metallicRoughness;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_UPDATE_METALLICROUGHNESS\x0amicroSurface=1.0-metallicRoughness.g;\x0avec3\x20baseColor=surfaceAlbedo;\x0a#ifdef\x20FROSTBITE_REFLECTANCE\x0aoutParams.surfaceAlbedo=baseColor.rgb*(1.0-metallicRoughness.r);\x0asurfaceReflectivityColor=mix(0.16*reflectance*reflectance,baseColor,metallicRoughness.r);\x0a#else\x0avec3\x20metallicF0=metallicReflectanceFactors.rgb;\x0a#if\x20DEBUGMODE>0\x0aoutParams.metallicF0=metallicF0;\x0a#endif\x0aoutParams.surfaceAlbedo=mix(baseColor.rgb*(1.0-metallicF0),vec3(0.,0.,0.),metallicRoughness.r);\x0asurfaceReflectivityColor=mix(metallicF0,baseColor,metallicRoughness.r);\x0a#endif\x0a#else\x0a#ifdef\x20REFLECTIVITY\x0asurfaceReflectivityColor*=surfaceMetallicOrReflectivityColorMap.rgb;\x0a#if\x20DEBUGMODE>0\x0aoutParams.surfaceReflectivityColorMap=surfaceMetallicOrReflectivityColorMap;\x0a#endif\x0a#ifdef\x20MICROSURFACEFROMREFLECTIVITYMAP\x0amicroSurface*=surfaceMetallicOrReflectivityColorMap.a;\x0amicroSurface*=reflectivityInfos.z;\x0a#else\x0a#ifdef\x20MICROSURFACEAUTOMATIC\x0amicroSurface*=computeDefaultMicroSurface(microSurface,surfaceReflectivityColor);\x0a#endif\x0a#ifdef\x20MICROSURFACEMAP\x0amicroSurface*=microSurfaceTexel.r;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_UPDATE_MICROSURFACE\x0a#endif\x0a#endif\x0a#endif\x0amicroSurface=saturate(microSurface);\x0afloat\x20roughness=1.-microSurface;\x0aoutParams.microSurface=microSurface;\x0aoutParams.roughness=roughness;\x0aoutParams.surfaceReflectivityColor=surfaceReflectivityColor;\x0a}\x0a',_0x5636f8['v']['IncludesShadersStore'][_0x2c71a7(0x764)]=_0x2c71a7(0xa2a),_0x5636f8['v'][_0x2c71a7(0x281)][_0x2c71a7(0x580)]=_0x2c71a7(0x17f),_0x5636f8['v'][_0x2c71a7(0x281)]['pbrBlockAnisotropic']=_0x2c71a7(0xc66),_0x5636f8['v']['IncludesShadersStore']['pbrBlockReflection']=_0x2c71a7(0x71a),_0x5636f8['v']['IncludesShadersStore'][_0x2c71a7(0xcc7)]=_0x2c71a7(0xb87),_0x5636f8['v'][_0x2c71a7(0x281)][_0x2c71a7(0x355)]='struct\x20clearcoatOutParams\x0a{\x0avec3\x20specularEnvironmentR0;\x0afloat\x20conservationFactor;\x0avec3\x20clearCoatNormalW;\x0avec2\x20clearCoatAARoughnessFactors;\x0afloat\x20clearCoatIntensity;\x0afloat\x20clearCoatRoughness;\x0a#ifdef\x20REFLECTION\x0avec3\x20finalClearCoatRadianceScaled;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TINT\x0avec3\x20absorption;\x0afloat\x20clearCoatNdotVRefract;\x0avec3\x20clearCoatColor;\x0afloat\x20clearCoatThickness;\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(MS_BRDF_ENERGY_CONSERVATION)\x0avec3\x20energyConservationFactorClearCoat;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0amat3\x20TBNClearCoat;\x0avec2\x20clearCoatMapData;\x0avec4\x20clearCoatTintMapData;\x0avec4\x20environmentClearCoatRadiance;\x0afloat\x20clearCoatNdotV;\x0avec3\x20clearCoatEnvironmentReflectance;\x0a#endif\x0a};\x0a#ifdef\x20CLEARCOAT\x0a#define\x20pbr_inline\x0a#define\x20inline\x0avoid\x20clearcoatBlock(\x0ain\x20vec3\x20vPositionW,\x0ain\x20vec3\x20geometricNormalW,\x0ain\x20vec3\x20viewDirectionW,\x0ain\x20vec2\x20vClearCoatParams,\x0a#if\x20defined(CLEARCOAT_TEXTURE_ROUGHNESS)\x20&&\x20!defined(CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL)\x20&&\x20!defined(CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE)\x0ain\x20vec4\x20clearCoatMapRoughnessData,\x0a#endif\x0ain\x20vec3\x20specularEnvironmentR0,\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0ain\x20vec2\x20clearCoatMapData,\x0a#endif\x0a#ifdef\x20CLEARCOAT_TINT\x0ain\x20vec4\x20vClearCoatTintParams,\x0ain\x20float\x20clearCoatColorAtDistance,\x0ain\x20vec4\x20vClearCoatRefractionParams,\x0a#ifdef\x20CLEARCOAT_TINT_TEXTURE\x0ain\x20vec4\x20clearCoatTintMapData,\x0a#endif\x0a#endif\x0a#ifdef\x20CLEARCOAT_BUMP\x0ain\x20vec2\x20vClearCoatBumpInfos,\x0ain\x20vec4\x20clearCoatBumpMapData,\x0ain\x20vec2\x20vClearCoatBumpUV,\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x0ain\x20mat3\x20vTBN,\x0a#else\x0ain\x20vec2\x20vClearCoatTangentSpaceParams,\x0a#endif\x0a#ifdef\x20OBJECTSPACE_NORMALMAP\x0ain\x20mat4\x20normalMatrix,\x0a#endif\x0a#endif\x0a#if\x20defined(FORCENORMALFORWARD)\x20&&\x20defined(NORMAL)\x0ain\x20vec3\x20faceNormal,\x0a#endif\x0a#ifdef\x20REFLECTION\x0ain\x20vec3\x20vReflectionMicrosurfaceInfos,\x0ain\x20vec2\x20vReflectionInfos,\x0ain\x20vec3\x20vReflectionColor,\x0ain\x20vec4\x20vLightingIntensity,\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSampler,\x0a#else\x0ain\x20sampler2D\x20reflectionSampler,\x0a#endif\x0a#ifndef\x20LODBASEDMICROSFURACE\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSamplerLow,\x0ain\x20samplerCube\x20reflectionSamplerHigh,\x0a#else\x0ain\x20sampler2D\x20reflectionSamplerLow,\x0ain\x20sampler2D\x20reflectionSamplerHigh,\x0a#endif\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0ain\x20vec2\x20vReflectionFilteringInfo,\x0a#endif\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0a#ifdef\x20RADIANCEOCCLUSION\x0ain\x20float\x20ambientMonochrome,\x0a#endif\x0a#endif\x0a#if\x20defined(CLEARCOAT_BUMP)\x20||\x20defined(TWOSIDEDLIGHTING)\x0ain\x20float\x20frontFacingMultiplier,\x0a#endif\x0aout\x20clearcoatOutParams\x20outParams\x0a)\x0a{\x0afloat\x20clearCoatIntensity=vClearCoatParams.x;\x0afloat\x20clearCoatRoughness=vClearCoatParams.y;\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0aclearCoatIntensity*=clearCoatMapData.x;\x0a#ifdef\x20CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE\x0aclearCoatRoughness*=clearCoatMapData.y;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0aoutParams.clearCoatMapData=clearCoatMapData;\x0a#endif\x0a#endif\x0a#if\x20defined(CLEARCOAT_TEXTURE_ROUGHNESS)\x20&&\x20!defined(CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE)\x0a#ifdef\x20CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL\x0aclearCoatRoughness*=clearCoatMapData.y;\x0a#else\x0aclearCoatRoughness*=clearCoatMapRoughnessData.y;\x0a#endif\x0a#endif\x0aoutParams.clearCoatIntensity=clearCoatIntensity;\x0aoutParams.clearCoatRoughness=clearCoatRoughness;\x0a#ifdef\x20CLEARCOAT_TINT\x0avec3\x20clearCoatColor=vClearCoatTintParams.rgb;\x0afloat\x20clearCoatThickness=vClearCoatTintParams.a;\x0a#ifdef\x20CLEARCOAT_TINT_TEXTURE\x0a#ifdef\x20CLEARCOAT_TINT_GAMMATEXTURE\x0aclearCoatColor*=toLinearSpace(clearCoatTintMapData.rgb);\x0a#else\x0aclearCoatColor*=clearCoatTintMapData.rgb;\x0a#endif\x0aclearCoatThickness*=clearCoatTintMapData.a;\x0a#if\x20DEBUGMODE>0\x0aoutParams.clearCoatTintMapData=clearCoatTintMapData;\x0a#endif\x0a#endif\x0aoutParams.clearCoatColor=computeColorAtDistanceInMedia(clearCoatColor,clearCoatColorAtDistance);\x0aoutParams.clearCoatThickness=clearCoatThickness;\x0a#endif\x0a#ifdef\x20CLEARCOAT_REMAP_F0\x0avec3\x20specularEnvironmentR0Updated=getR0RemappedForClearCoat(specularEnvironmentR0);\x0a#else\x0avec3\x20specularEnvironmentR0Updated=specularEnvironmentR0;\x0a#endif\x0aoutParams.specularEnvironmentR0=mix(specularEnvironmentR0,specularEnvironmentR0Updated,clearCoatIntensity);\x0avec3\x20clearCoatNormalW=geometricNormalW;\x0a#ifdef\x20CLEARCOAT_BUMP\x0a#ifdef\x20NORMALXYSCALE\x0afloat\x20clearCoatNormalScale=1.0;\x0a#else\x0afloat\x20clearCoatNormalScale=vClearCoatBumpInfos.y;\x0a#endif\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x0amat3\x20TBNClearCoat=vTBN;\x0a#else\x0avec2\x20TBNClearCoatUV=vClearCoatBumpUV*frontFacingMultiplier;\x0amat3\x20TBNClearCoat=cotangent_frame(clearCoatNormalW*clearCoatNormalScale,vPositionW,TBNClearCoatUV,vClearCoatTangentSpaceParams);\x0a#endif\x0a#if\x20DEBUGMODE>0\x0aoutParams.TBNClearCoat=TBNClearCoat;\x0a#endif\x0a#ifdef\x20OBJECTSPACE_NORMALMAP\x0aclearCoatNormalW=normalize(clearCoatBumpMapData.xyz\x20*2.0-1.0);\x0aclearCoatNormalW=normalize(mat3(normalMatrix)*clearCoatNormalW);\x0a#else\x0aclearCoatNormalW=perturbNormal(TBNClearCoat,clearCoatBumpMapData.xyz,vClearCoatBumpInfos.y);\x0a#endif\x0a#endif\x0a#if\x20defined(FORCENORMALFORWARD)\x20&&\x20defined(NORMAL)\x0aclearCoatNormalW*=sign(dot(clearCoatNormalW,faceNormal));\x0a#endif\x0a#if\x20defined(TWOSIDEDLIGHTING)\x20&&\x20defined(NORMAL)\x0aclearCoatNormalW=clearCoatNormalW*frontFacingMultiplier;\x0a#endif\x0aoutParams.clearCoatNormalW=clearCoatNormalW;\x0aoutParams.clearCoatAARoughnessFactors=getAARoughnessFactors(clearCoatNormalW.xyz);\x0afloat\x20clearCoatNdotVUnclamped=dot(clearCoatNormalW,viewDirectionW);\x0afloat\x20clearCoatNdotV=absEps(clearCoatNdotVUnclamped);\x0a#if\x20DEBUGMODE>0\x0aoutParams.clearCoatNdotV=clearCoatNdotV;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TINT\x0avec3\x20clearCoatVRefract=refract(-viewDirectionW,clearCoatNormalW,vClearCoatRefractionParams.y);\x0aoutParams.clearCoatNdotVRefract=absEps(dot(clearCoatNormalW,clearCoatVRefract));\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20(!defined(REFLECTIONMAP_SKYBOX)\x20||\x20defined(MS_BRDF_ENERGY_CONSERVATION))\x0avec3\x20environmentClearCoatBrdf=getBRDFLookup(clearCoatNdotV,clearCoatRoughness);\x0a#endif\x0a#if\x20defined(REFLECTION)\x0afloat\x20clearCoatAlphaG=convertRoughnessToAverageSlope(clearCoatRoughness);\x0a#ifdef\x20SPECULARAA\x0aclearCoatAlphaG+=outParams.clearCoatAARoughnessFactors.y;\x0a#endif\x0avec4\x20environmentClearCoatRadiance=vec4(0.,0.,0.,0.);\x0avec3\x20clearCoatReflectionVector=computeReflectionCoords(vec4(vPositionW,1.0),clearCoatNormalW);\x0a#ifdef\x20REFLECTIONMAP_OPPOSITEZ\x0aclearCoatReflectionVector.z*=-1.0;\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0avec3\x20clearCoatReflectionCoords=clearCoatReflectionVector;\x0a#else\x0avec2\x20clearCoatReflectionCoords=clearCoatReflectionVector.xy;\x0a#ifdef\x20REFLECTIONMAP_PROJECTION\x0aclearCoatReflectionCoords/=clearCoatReflectionVector.z;\x0a#endif\x0aclearCoatReflectionCoords.y=1.0-clearCoatReflectionCoords.y;\x0a#endif\x0asampleReflectionTexture(\x0aclearCoatAlphaG,\x0avReflectionMicrosurfaceInfos,\x0avReflectionInfos,\x0avReflectionColor,\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0aclearCoatNdotVUnclamped,\x0a#endif\x0a#ifdef\x20LINEARSPECULARREFLECTION\x0aclearCoatRoughness,\x0a#endif\x0areflectionSampler,\x0aclearCoatReflectionCoords,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0areflectionSamplerLow,\x0areflectionSamplerHigh,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0avReflectionFilteringInfo,\x0a#endif\x0aenvironmentClearCoatRadiance\x0a);\x0a#if\x20DEBUGMODE>0\x0aoutParams.environmentClearCoatRadiance=environmentClearCoatRadiance;\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0avec3\x20clearCoatEnvironmentReflectance=getReflectanceFromBRDFLookup(vec3(vClearCoatRefractionParams.x),environmentClearCoatBrdf);\x0a#ifdef\x20HORIZONOCCLUSION\x0a#ifdef\x20BUMP\x0a#ifdef\x20REFLECTIONMAP_3D\x0afloat\x20clearCoatEho=environmentHorizonOcclusion(-viewDirectionW,clearCoatNormalW,geometricNormalW);\x0aclearCoatEnvironmentReflectance*=clearCoatEho;\x0a#endif\x0a#endif\x0a#endif\x0a#else\x0avec3\x20clearCoatEnvironmentReflectance=getReflectanceFromAnalyticalBRDFLookup_Jones(clearCoatNdotV,vec3(1.),vec3(1.),sqrt(1.-clearCoatRoughness));\x0a#endif\x0aclearCoatEnvironmentReflectance*=clearCoatIntensity;\x0a#if\x20DEBUGMODE>0\x0aoutParams.clearCoatEnvironmentReflectance=clearCoatEnvironmentReflectance;\x0a#endif\x0aoutParams.finalClearCoatRadianceScaled=\x0aenvironmentClearCoatRadiance.rgb\x20*\x0aclearCoatEnvironmentReflectance\x20*\x0avLightingIntensity.z;\x0a#endif\x0a#if\x20defined(CLEARCOAT_TINT)\x0aoutParams.absorption=computeClearCoatAbsorption(outParams.clearCoatNdotVRefract,outParams.clearCoatNdotVRefract,outParams.clearCoatColor,clearCoatThickness,clearCoatIntensity);\x0a#endif\x0afloat\x20fresnelIBLClearCoat=fresnelSchlickGGX(clearCoatNdotV,vClearCoatRefractionParams.x,CLEARCOATREFLECTANCE90);\x0afresnelIBLClearCoat*=clearCoatIntensity;\x0aoutParams.conservationFactor=(1.-fresnelIBLClearCoat);\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(MS_BRDF_ENERGY_CONSERVATION)\x0aoutParams.energyConservationFactorClearCoat=getEnergyConservationFactor(outParams.specularEnvironmentR0,environmentClearCoatBrdf);\x0a#endif\x0a}\x0a#endif\x0a',_0x5636f8['v'][_0x2c71a7(0x281)][_0x2c71a7(0x747)]=_0x2c71a7(0x273),_0x5636f8['v'][_0x2c71a7(0x281)]['pbrBlockSubSurface']='struct\x20subSurfaceOutParams\x0a{\x0avec3\x20specularEnvironmentReflectance;\x0a#ifdef\x20SS_REFRACTION\x0avec3\x20finalRefraction;\x0avec3\x20surfaceAlbedo;\x0a#ifdef\x20SS_LINKREFRACTIONTOTRANSPARENCY\x0afloat\x20alpha;\x0a#endif\x0a#ifdef\x20REFLECTION\x0afloat\x20refractionFactorForIrradiance;\x0a#endif\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCY\x0avec3\x20transmittance;\x0afloat\x20translucencyIntensity;\x0a#ifdef\x20REFLECTION\x0avec3\x20refractionIrradiance;\x0a#endif\x0a#endif\x0a#if\x20DEBUGMODE>0\x0avec4\x20thicknessMap;\x0avec4\x20environmentRefraction;\x0avec3\x20refractionTransmittance;\x0a#endif\x0a};\x0a#ifdef\x20SUBSURFACE\x0a#define\x20pbr_inline\x0a#define\x20inline\x0avoid\x20subSurfaceBlock(\x0ain\x20vec3\x20vSubSurfaceIntensity,\x0ain\x20vec2\x20vThicknessParam,\x0ain\x20vec4\x20vTintColor,\x0ain\x20vec3\x20normalW,\x0ain\x20vec3\x20specularEnvironmentReflectance,\x0a#ifdef\x20SS_THICKNESSANDMASK_TEXTURE\x0ain\x20vec4\x20thicknessMap,\x0a#endif\x0a#ifdef\x20SS_REFRACTIONINTENSITY_TEXTURE\x0ain\x20vec4\x20refractionIntensityMap,\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCYINTENSITY_TEXTURE\x0ain\x20vec4\x20translucencyIntensityMap,\x0a#endif\x0a#ifdef\x20REFLECTION\x0a#ifdef\x20SS_TRANSLUCENCY\x0ain\x20mat4\x20reflectionMatrix,\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#if\x20!defined(NORMAL)\x20||\x20!defined(USESPHERICALINVERTEX)\x0ain\x20vec3\x20irradianceVector_,\x0a#endif\x0a#if\x20defined(REALTIME_FILTERING)\x0ain\x20samplerCube\x20reflectionSampler,\x0ain\x20vec2\x20vReflectionFilteringInfo,\x0a#endif\x0a#endif\x0a#ifdef\x20USEIRRADIANCEMAP\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20irradianceSampler,\x0a#else\x0ain\x20sampler2D\x20irradianceSampler,\x0a#endif\x0a#endif\x0a#endif\x0a#endif\x0a#if\x20defined(SS_REFRACTION)\x20||\x20defined(SS_TRANSLUCENCY)\x0ain\x20vec3\x20surfaceAlbedo,\x0a#endif\x0a#ifdef\x20SS_REFRACTION\x0ain\x20vec3\x20vPositionW,\x0ain\x20vec3\x20viewDirectionW,\x0ain\x20mat4\x20view,\x0ain\x20vec4\x20vRefractionInfos,\x0ain\x20mat4\x20refractionMatrix,\x0ain\x20vec4\x20vRefractionMicrosurfaceInfos,\x0ain\x20vec4\x20vLightingIntensity,\x0a#ifdef\x20SS_LINKREFRACTIONTOTRANSPARENCY\x0ain\x20float\x20alpha,\x0a#endif\x0a#ifdef\x20SS_LODINREFRACTIONALPHA\x0ain\x20float\x20NdotVUnclamped,\x0a#endif\x0a#ifdef\x20SS_LINEARSPECULARREFRACTION\x0ain\x20float\x20roughness,\x0a#endif\x0ain\x20float\x20alphaG,\x0a#ifdef\x20SS_REFRACTIONMAP_3D\x0ain\x20samplerCube\x20refractionSampler,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0ain\x20samplerCube\x20refractionSamplerLow,\x0ain\x20samplerCube\x20refractionSamplerHigh,\x0a#endif\x0a#else\x0ain\x20sampler2D\x20refractionSampler,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0ain\x20sampler2D\x20refractionSamplerLow,\x0ain\x20sampler2D\x20refractionSamplerHigh,\x0a#endif\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0ain\x20anisotropicOutParams\x20anisotropicOut,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0ain\x20vec2\x20vRefractionFilteringInfo,\x0a#endif\x0a#ifdef\x20SS_USE_LOCAL_REFRACTIONMAP_CUBIC\x0ain\x20vec3\x20refractionPosition,\x0ain\x20vec3\x20refractionSize,\x0a#endif\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCY\x0ain\x20vec3\x20vDiffusionDistance,\x0a#endif\x0aout\x20subSurfaceOutParams\x20outParams\x0a)\x0a{\x0aoutParams.specularEnvironmentReflectance=specularEnvironmentReflectance;\x0a#ifdef\x20SS_REFRACTION\x0afloat\x20refractionIntensity=vSubSurfaceIntensity.x;\x0a#ifdef\x20SS_LINKREFRACTIONTOTRANSPARENCY\x0arefractionIntensity*=(1.0-alpha);\x0aoutParams.alpha=1.0;\x0a#endif\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCY\x0afloat\x20translucencyIntensity=vSubSurfaceIntensity.y;\x0a#endif\x0a#ifdef\x20SS_THICKNESSANDMASK_TEXTURE\x0a#if\x20defined(SS_USE_GLTF_TEXTURES)\x0afloat\x20thickness=thicknessMap.g*vThicknessParam.y+vThicknessParam.x;\x0a#else\x0afloat\x20thickness=thicknessMap.r*vThicknessParam.y+vThicknessParam.x;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0aoutParams.thicknessMap=thicknessMap;\x0a#endif\x0a#ifdef\x20SS_MASK_FROM_THICKNESS_TEXTURE\x0a#if\x20defined(SS_REFRACTION)\x20&&\x20defined(SS_REFRACTION_USE_INTENSITY_FROM_TEXTURE)\x0a#if\x20defined(SS_USE_GLTF_TEXTURES)\x0arefractionIntensity*=thicknessMap.r;\x0a#else\x0arefractionIntensity*=thicknessMap.g;\x0a#endif\x0a#endif\x0a#if\x20defined(SS_TRANSLUCENCY)\x20&&\x20defined(SS_TRANSLUCENCY_USE_INTENSITY_FROM_TEXTURE)\x0atranslucencyIntensity*=thicknessMap.b;\x0a#endif\x0a#endif\x0a#else\x0afloat\x20thickness=vThicknessParam.y;\x0a#endif\x0a#ifdef\x20SS_REFRACTIONINTENSITY_TEXTURE\x0a#ifdef\x20SS_USE_GLTF_TEXTURES\x0arefractionIntensity*=refractionIntensityMap.r;\x0a#else\x0arefractionIntensity*=refractionIntensityMap.g;\x0a#endif\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCYINTENSITY_TEXTURE\x0atranslucencyIntensity*=translucencyIntensityMap.b;\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCY\x0athickness=maxEps(thickness);\x0avec3\x20transmittance=transmittanceBRDF_Burley(vTintColor.rgb,vDiffusionDistance,thickness);\x0atransmittance*=translucencyIntensity;\x0aoutParams.transmittance=transmittance;\x0aoutParams.translucencyIntensity=translucencyIntensity;\x0a#endif\x0a#ifdef\x20SS_REFRACTION\x0avec4\x20environmentRefraction=vec4(0.,0.,0.,0.);\x0a#ifdef\x20ANISOTROPIC\x0avec3\x20refractionVector=refract(-viewDirectionW,anisotropicOut.anisotropicNormal,vRefractionInfos.y);\x0a#else\x0avec3\x20refractionVector=refract(-viewDirectionW,normalW,vRefractionInfos.y);\x0a#endif\x0a#ifdef\x20SS_REFRACTIONMAP_OPPOSITEZ\x0arefractionVector.z*=-1.0;\x0a#endif\x0a#ifdef\x20SS_REFRACTIONMAP_3D\x0a#ifdef\x20SS_USE_LOCAL_REFRACTIONMAP_CUBIC\x0arefractionVector=parallaxCorrectNormal(vPositionW,refractionVector,refractionSize,refractionPosition);\x0a#endif\x0arefractionVector.y=refractionVector.y*vRefractionInfos.w;\x0avec3\x20refractionCoords=refractionVector;\x0arefractionCoords=vec3(refractionMatrix*vec4(refractionCoords,0));\x0a#else\x0a#ifdef\x20SS_USE_THICKNESS_AS_DEPTH\x0avec3\x20vRefractionUVW=vec3(refractionMatrix*(view*vec4(vPositionW+refractionVector*thickness,1.0)));\x0a#else\x0avec3\x20vRefractionUVW=vec3(refractionMatrix*(view*vec4(vPositionW+refractionVector*vRefractionInfos.z,1.0)));\x0a#endif\x0avec2\x20refractionCoords=vRefractionUVW.xy/vRefractionUVW.z;\x0arefractionCoords.y=1.0-refractionCoords.y;\x0a#endif\x0a#ifdef\x20SS_HAS_THICKNESS\x0afloat\x20ior=vRefractionInfos.y;\x0a#else\x0afloat\x20ior=vRefractionMicrosurfaceInfos.w;\x0a#endif\x0a#ifdef\x20SS_LODINREFRACTIONALPHA\x0afloat\x20refractionAlphaG=alphaG;\x0arefractionAlphaG=mix(alphaG,0.0,clamp(ior*3.0-2.0,0.0,1.0));\x0afloat\x20refractionLOD=getLodFromAlphaG(vRefractionMicrosurfaceInfos.x,refractionAlphaG,NdotVUnclamped);\x0a#elif\x20defined(SS_LINEARSPECULARREFRACTION)\x0afloat\x20refractionRoughness=alphaG;\x0arefractionRoughness=mix(alphaG,0.0,clamp(ior*3.0-2.0,0.0,1.0));\x0afloat\x20refractionLOD=getLinearLodFromRoughness(vRefractionMicrosurfaceInfos.x,refractionRoughness);\x0a#else\x0afloat\x20refractionAlphaG=alphaG;\x0arefractionAlphaG=mix(alphaG,0.0,clamp(ior*3.0-2.0,0.0,1.0));\x0afloat\x20refractionLOD=getLodFromAlphaG(vRefractionMicrosurfaceInfos.x,refractionAlphaG);\x0a#endif\x0a#ifdef\x20LODBASEDMICROSFURACE\x0arefractionLOD=refractionLOD*vRefractionMicrosurfaceInfos.y+vRefractionMicrosurfaceInfos.z;\x0a#ifdef\x20SS_LODINREFRACTIONALPHA\x0afloat\x20automaticRefractionLOD=UNPACK_LOD(sampleRefraction(refractionSampler,refractionCoords).a);\x0afloat\x20requestedRefractionLOD=max(automaticRefractionLOD,refractionLOD);\x0a#else\x0afloat\x20requestedRefractionLOD=refractionLOD;\x0a#endif\x0a#if\x20defined(REALTIME_FILTERING)\x20&&\x20defined(SS_REFRACTIONMAP_3D)\x0aenvironmentRefraction=vec4(radiance(alphaG,refractionSampler,refractionCoords,vRefractionFilteringInfo),1.0);\x0a#else\x0aenvironmentRefraction=sampleRefractionLod(refractionSampler,refractionCoords,requestedRefractionLOD);\x0a#endif\x0a#else\x0afloat\x20lodRefractionNormalized=saturate(refractionLOD/log2(vRefractionMicrosurfaceInfos.x));\x0afloat\x20lodRefractionNormalizedDoubled=lodRefractionNormalized*2.0;\x0avec4\x20environmentRefractionMid=sampleRefraction(refractionSampler,refractionCoords);\x0aif\x20(lodRefractionNormalizedDoubled<1.0){\x0aenvironmentRefraction=mix(\x0asampleRefraction(refractionSamplerHigh,refractionCoords),\x0aenvironmentRefractionMid,\x0alodRefractionNormalizedDoubled\x0a);\x0a}\x20else\x20{\x0aenvironmentRefraction=mix(\x0aenvironmentRefractionMid,\x0asampleRefraction(refractionSamplerLow,refractionCoords),\x0alodRefractionNormalizedDoubled-1.0\x0a);\x0a}\x0a#endif\x0a#ifdef\x20SS_RGBDREFRACTION\x0aenvironmentRefraction.rgb=fromRGBD(environmentRefraction);\x0a#endif\x0a#ifdef\x20SS_GAMMAREFRACTION\x0aenvironmentRefraction.rgb=toLinearSpace(environmentRefraction.rgb);\x0a#endif\x0aenvironmentRefraction.rgb*=vRefractionInfos.x;\x0a#endif\x0a#ifdef\x20SS_REFRACTION\x0avec3\x20refractionTransmittance=vec3(refractionIntensity);\x0a#ifdef\x20SS_THICKNESSANDMASK_TEXTURE\x0avec3\x20volumeAlbedo=computeColorAtDistanceInMedia(vTintColor.rgb,vTintColor.w);\x0arefractionTransmittance*=cocaLambert(volumeAlbedo,thickness);\x0a#elif\x20defined(SS_LINKREFRACTIONTOTRANSPARENCY)\x0afloat\x20maxChannel=max(max(surfaceAlbedo.r,surfaceAlbedo.g),surfaceAlbedo.b);\x0avec3\x20volumeAlbedo=saturate(maxChannel*surfaceAlbedo);\x0aenvironmentRefraction.rgb*=volumeAlbedo;\x0a#else\x0avec3\x20volumeAlbedo=computeColorAtDistanceInMedia(vTintColor.rgb,vTintColor.w);\x0arefractionTransmittance*=cocaLambert(volumeAlbedo,vThicknessParam.y);\x0a#endif\x0a#ifdef\x20SS_ALBEDOFORREFRACTIONTINT\x0aenvironmentRefraction.rgb*=surfaceAlbedo.rgb;\x0a#endif\x0aoutParams.surfaceAlbedo=surfaceAlbedo*(1.-refractionIntensity);\x0a#ifdef\x20REFLECTION\x0aoutParams.refractionFactorForIrradiance=(1.-refractionIntensity);\x0a#endif\x0a#ifdef\x20UNUSED_MULTIPLEBOUNCES\x0avec3\x20bounceSpecularEnvironmentReflectance=(2.0*specularEnvironmentReflectance)/(1.0+specularEnvironmentReflectance);\x0aoutParams.specularEnvironmentReflectance=mix(bounceSpecularEnvironmentReflectance,specularEnvironmentReflectance,refractionIntensity);\x0a#endif\x0arefractionTransmittance*=1.0-outParams.specularEnvironmentReflectance;\x0a#if\x20DEBUGMODE>0\x0aoutParams.refractionTransmittance=refractionTransmittance;\x0a#endif\x0aoutParams.finalRefraction=environmentRefraction.rgb*refractionTransmittance*vLightingIntensity.z;\x0a#if\x20DEBUGMODE>0\x0aoutParams.environmentRefraction=environmentRefraction;\x0a#endif\x0a#endif\x0a#if\x20defined(REFLECTION)\x20&&\x20defined(SS_TRANSLUCENCY)\x0a#if\x20defined(NORMAL)\x20&&\x20defined(USESPHERICALINVERTEX)\x20||\x20!defined(USESPHERICALFROMREFLECTIONMAP)\x0avec3\x20irradianceVector=vec3(reflectionMatrix*vec4(normalW,0)).xyz;\x0a#ifdef\x20REFLECTIONMAP_OPPOSITEZ\x0airradianceVector.z*=-1.0;\x0a#endif\x0a#ifdef\x20INVERTCUBICMAP\x0airradianceVector.y*=-1.0;\x0a#endif\x0a#else\x0avec3\x20irradianceVector=irradianceVector_;\x0a#endif\x0a#if\x20defined(USESPHERICALFROMREFLECTIONMAP)\x0a#if\x20defined(REALTIME_FILTERING)\x0avec3\x20refractionIrradiance=irradiance(reflectionSampler,-irradianceVector,vReflectionFilteringInfo);\x0a#else\x0avec3\x20refractionIrradiance=computeEnvironmentIrradiance(-irradianceVector);\x0a#endif\x0a#elif\x20defined(USEIRRADIANCEMAP)\x0a#ifdef\x20REFLECTIONMAP_3D\x0avec3\x20irradianceCoords=irradianceVector;\x0a#else\x0avec2\x20irradianceCoords=irradianceVector.xy;\x0a#ifdef\x20REFLECTIONMAP_PROJECTION\x0airradianceCoords/=irradianceVector.z;\x0a#endif\x0airradianceCoords.y=1.0-irradianceCoords.y;\x0a#endif\x0avec4\x20refractionIrradiance=sampleReflection(irradianceSampler,-irradianceCoords);\x0a#ifdef\x20RGBDREFLECTION\x0arefractionIrradiance.rgb=fromRGBD(refractionIrradiance);\x0a#endif\x0a#ifdef\x20GAMMAREFLECTION\x0arefractionIrradiance.rgb=toLinearSpace(refractionIrradiance.rgb);\x0a#endif\x0a#else\x0avec4\x20refractionIrradiance=vec4(0.);\x0a#endif\x0arefractionIrradiance.rgb*=transmittance;\x0a#ifdef\x20SS_ALBEDOFORTRANSLUCENCYTINT\x0arefractionIrradiance.rgb*=surfaceAlbedo.rgb;\x0a#endif\x0aoutParams.refractionIrradiance=refractionIrradiance.rgb;\x0a#endif\x0a}\x0a#endif\x0a',_0x562d65(0x3328),_0x5636f8['v']['IncludesShadersStore'][_0x2c71a7(0x45c)]=_0x2c71a7(0x283),_0x562d65(0x6664),_0x5636f8['v'][_0x2c71a7(0x281)][_0x2c71a7(0x6d2)]='#if\x20defined(FORCENORMALFORWARD)\x20&&\x20defined(NORMAL)\x0avec3\x20faceNormal=normalize(cross(dFdx(vPositionW),dFdy(vPositionW)))*vEyePosition.w;\x0a#if\x20defined(TWOSIDEDLIGHTING)\x0afaceNormal=gl_FrontFacing\x20?\x20faceNormal\x20:\x20-faceNormal;\x0a#endif\x0anormalW*=sign(dot(normalW,faceNormal));\x0a#endif\x0a#if\x20defined(TWOSIDEDLIGHTING)\x20&&\x20defined(NORMAL)\x0anormalW=gl_FrontFacing\x20?\x20normalW\x20:\x20-normalW;\x0a#endif\x0a',_0x562d65(0x6318),_0x5636f8['v']['IncludesShadersStore'][_0x2c71a7(0x657)]=_0x2c71a7(0xa9b),_0x5636f8['v']['IncludesShadersStore']['pbrBlockGeometryInfo']=_0x2c71a7(0x667),_0x5636f8['v'][_0x2c71a7(0x281)][_0x2c71a7(0xa78)]=_0x2c71a7(0x636),_0x5636f8['v'][_0x2c71a7(0x281)][_0x2c71a7(0xca1)]='#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0avec3\x20specularEnvironmentReflectance=getReflectanceFromBRDFLookup(clearcoatOut.specularEnvironmentR0,specularEnvironmentR90,environmentBrdf);\x0a#ifdef\x20RADIANCEOCCLUSION\x0aspecularEnvironmentReflectance*=seo;\x0a#endif\x0a#ifdef\x20HORIZONOCCLUSION\x0a#ifdef\x20BUMP\x0a#ifdef\x20REFLECTIONMAP_3D\x0aspecularEnvironmentReflectance*=eho;\x0a#endif\x0a#endif\x0a#endif\x0a#else\x0avec3\x20specularEnvironmentReflectance=getReflectanceFromAnalyticalBRDFLookup_Jones(NdotV,clearcoatOut.specularEnvironmentR0,specularEnvironmentR90,sqrt(microSurface));\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0aspecularEnvironmentReflectance*=clearcoatOut.conservationFactor;\x0a#if\x20defined(CLEARCOAT_TINT)\x0aspecularEnvironmentReflectance*=clearcoatOut.absorption;\x0a#endif\x0a#endif\x0a',_0x5636f8['v'][_0x2c71a7(0x281)][_0x2c71a7(0xcff)]='vec3\x20diffuseBase=vec3(0.,0.,0.);\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0avec3\x20clearCoatBase=vec3(0.,0.,0.);\x0a#endif\x0a#ifdef\x20SHEEN\x0avec3\x20sheenBase=vec3(0.,0.,0.);\x0a#endif\x0apreLightingInfo\x20preInfo;\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x20\x0a#if\x20defined(CLEARCOAT)\x20&&\x20defined(CLEARCOAT_TINT)\x0avec3\x20absorption=vec3(0.);\x0a#endif\x0a',_0x562d65(0xb0bc),_0x5636f8['v'][_0x2c71a7(0x281)][_0x2c71a7(0x5e2)]='#if\x20defined(ENVIRONMENTBRDF)\x0a#ifdef\x20MS_BRDF_ENERGY_CONSERVATION\x0avec3\x20energyConservationFactor=getEnergyConservationFactor(clearcoatOut.specularEnvironmentR0,environmentBrdf);\x0a#endif\x0a#endif\x0a#ifndef\x20METALLICWORKFLOW\x0a#ifdef\x20SPECULAR_GLOSSINESS_ENERGY_CONSERVATION\x0asurfaceAlbedo.rgb=(1.-reflectance)*surfaceAlbedo.rgb;\x0a#endif\x0a#endif\x0a#if\x20defined(SHEEN)\x20&&\x20defined(SHEEN_ALBEDOSCALING)\x20&&\x20defined(ENVIRONMENTBRDF)\x0asurfaceAlbedo.rgb=sheenOut.sheenAlbedoScaling*surfaceAlbedo.rgb;\x0a#endif\x0a#ifdef\x20REFLECTION\x0avec3\x20finalIrradiance=reflectionOut.environmentIrradiance;\x0a#if\x20defined(CLEARCOAT)\x0afinalIrradiance*=clearcoatOut.conservationFactor;\x0a#if\x20defined(CLEARCOAT_TINT)\x0afinalIrradiance*=clearcoatOut.absorption;\x0a#endif\x0a#endif\x0a#if\x20defined(SS_REFRACTION)\x0afinalIrradiance*=subSurfaceOut.refractionFactorForIrradiance;\x0a#endif\x0a#if\x20defined(SS_TRANSLUCENCY)\x0afinalIrradiance*=(1.0-subSurfaceOut.translucencyIntensity);\x0afinalIrradiance+=subSurfaceOut.refractionIrradiance;\x0a#endif\x0afinalIrradiance*=surfaceAlbedo.rgb;\x0afinalIrradiance*=vLightingIntensity.z;\x0afinalIrradiance*=aoOut.ambientOcclusionColor;\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20finalSpecular=specularBase;\x0afinalSpecular=max(finalSpecular,0.0);\x0avec3\x20finalSpecularScaled=finalSpecular*vLightingIntensity.x*vLightingIntensity.w;\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(MS_BRDF_ENERGY_CONSERVATION)\x0afinalSpecularScaled*=energyConservationFactor;\x0a#endif\x0a#if\x20defined(SHEEN)\x20&&\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(SHEEN_ALBEDOSCALING)\x0afinalSpecularScaled*=sheenOut.sheenAlbedoScaling;\x0a#endif\x0a#endif\x0a#ifdef\x20REFLECTION\x0avec3\x20finalRadiance=reflectionOut.environmentRadiance.rgb;\x0afinalRadiance*=subSurfaceOut.specularEnvironmentReflectance;\x0avec3\x20finalRadianceScaled=finalRadiance*vLightingIntensity.z;\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(MS_BRDF_ENERGY_CONSERVATION)\x0afinalRadianceScaled*=energyConservationFactor;\x0a#endif\x0a#if\x20defined(SHEEN)\x20&&\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(SHEEN_ALBEDOSCALING)\x0afinalRadianceScaled*=sheenOut.sheenAlbedoScaling;\x0a#endif\x0a#endif\x0a#ifdef\x20SHEEN\x0avec3\x20finalSheen=sheenBase*sheenOut.sheenColor;\x0afinalSheen=max(finalSheen,0.0);\x0avec3\x20finalSheenScaled=finalSheen*vLightingIntensity.x*vLightingIntensity.w;\x0a#if\x20defined(CLEARCOAT)\x20&&\x20defined(REFLECTION)\x20&&\x20defined(ENVIRONMENTBRDF)\x0asheenOut.finalSheenRadianceScaled*=clearcoatOut.conservationFactor;\x0a#if\x20defined(CLEARCOAT_TINT)\x0asheenOut.finalSheenRadianceScaled*=clearcoatOut.absorption;\x0a#endif\x0a#endif\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0avec3\x20finalClearCoat=clearCoatBase;\x0afinalClearCoat=max(finalClearCoat,0.0);\x0avec3\x20finalClearCoatScaled=finalClearCoat*vLightingIntensity.x*vLightingIntensity.w;\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(MS_BRDF_ENERGY_CONSERVATION)\x0afinalClearCoatScaled*=clearcoatOut.energyConservationFactorClearCoat;\x0a#endif\x0a#ifdef\x20SS_REFRACTION\x0asubSurfaceOut.finalRefraction*=clearcoatOut.conservationFactor;\x0a#ifdef\x20CLEARCOAT_TINT\x0asubSurfaceOut.finalRefraction*=clearcoatOut.absorption;\x0a#endif\x0a#endif\x0a#endif\x0a#ifdef\x20ALPHABLEND\x0afloat\x20luminanceOverAlpha=0.0;\x0a#if\x20defined(REFLECTION)\x20&&\x20defined(RADIANCEOVERALPHA)\x0aluminanceOverAlpha+=getLuminance(finalRadianceScaled);\x0a#if\x20defined(CLEARCOAT)\x0aluminanceOverAlpha+=getLuminance(clearcoatOut.finalClearCoatRadianceScaled);\x0a#endif\x0a#endif\x0a#if\x20defined(SPECULARTERM)\x20&&\x20defined(SPECULAROVERALPHA)\x0aluminanceOverAlpha+=getLuminance(finalSpecularScaled);\x0a#endif\x0a#if\x20defined(CLEARCOAT)\x20&&\x20defined(CLEARCOATOVERALPHA)\x0aluminanceOverAlpha+=getLuminance(finalClearCoatScaled);\x0a#endif\x0a#if\x20defined(RADIANCEOVERALPHA)\x20||\x20defined(SPECULAROVERALPHA)\x20||\x20defined(CLEARCOATOVERALPHA)\x0aalpha=saturate(alpha+luminanceOverAlpha*luminanceOverAlpha);\x0a#endif\x0a#endif\x0a',_0x5636f8['v'][_0x2c71a7(0x281)]['pbrBlockFinalUnlitComponents']=_0x2c71a7(0x8f5),_0x5636f8['v'][_0x2c71a7(0x281)][_0x2c71a7(0x8b1)]='vec4\x20finalColor=vec4(\x0a#ifndef\x20UNLIT\x0a#ifdef\x20REFLECTION\x0afinalIrradiance\x20+\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0afinalSpecularScaled\x20+\x0a#endif\x0a#ifdef\x20SHEEN\x0afinalSheenScaled\x20+\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0afinalClearCoatScaled\x20+\x0a#endif\x0a#ifdef\x20REFLECTION\x0afinalRadianceScaled\x20+\x0a#if\x20defined(SHEEN)\x20&&\x20defined(ENVIRONMENTBRDF)\x0asheenOut.finalSheenRadianceScaled\x20+\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0aclearcoatOut.finalClearCoatRadianceScaled\x20+\x0a#endif\x0a#endif\x0a#ifdef\x20SS_REFRACTION\x0asubSurfaceOut.finalRefraction\x20+\x0a#endif\x0a#endif\x0afinalAmbient\x20+\x0afinalDiffuse,\x0aalpha);\x0a#ifdef\x20LIGHTMAP\x0a#ifndef\x20LIGHTMAPEXCLUDED\x0a#ifdef\x20USELIGHTMAPASSHADOWMAP\x0afinalColor.rgb*=lightmapColor.rgb;\x0a#else\x0afinalColor.rgb+=lightmapColor.rgb;\x0a#endif\x0a#endif\x0a#endif\x0afinalColor.rgb+=finalEmissive;\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_FOG\x0afinalColor=max(finalColor,0.0);\x0a',_0x562d65(0x1445f),_0x562d65(0x10ef),_0x5636f8['v']['IncludesShadersStore']['pbrBlockImageProcessing']='#if\x20defined(IMAGEPROCESSINGPOSTPROCESS)\x20||\x20defined(SS_SCATTERING)\x0a#if\x20!defined(SKIPFINALCOLORCLAMP)\x0afinalColor.rgb=clamp(finalColor.rgb,0.,30.0);\x0a#endif\x0a#else\x0afinalColor=applyImageProcessing(finalColor);\x0a#endif\x0afinalColor.a*=visibility;\x0a#ifdef\x20PREMULTIPLYALPHA\x0afinalColor.rgb*=finalColor.a;\x0a#endif\x0a',_0x562d65(0xa965),_0x5636f8['v']['IncludesShadersStore'][_0x2c71a7(0x88c)]='#if\x20DEBUGMODE>0\x0aif\x20(vClipSpacePosition.x/vClipSpacePosition.w>=vDebugMode.x)\x20{\x0a#if\x20DEBUGMODE==1\x0agl_FragColor.rgb=vPositionW.rgb;\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==2\x20&&\x20defined(NORMAL)\x0agl_FragColor.rgb=vNormalW.rgb;\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==3\x20&&\x20defined(BUMP)\x20||\x20DEBUGMODE==3\x20&&\x20defined(PARALLAX)\x20||\x20DEBUGMODE==3\x20&&\x20defined(ANISOTROPIC)\x0agl_FragColor.rgb=TBN[0];\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==4\x20&&\x20defined(BUMP)\x20||\x20DEBUGMODE==4\x20&&\x20defined(PARALLAX)\x20||\x20DEBUGMODE==4\x20&&\x20defined(ANISOTROPIC)\x0agl_FragColor.rgb=TBN[1];\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==5\x0agl_FragColor.rgb=normalW;\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==6\x20&&\x20defined(MAINUV1)\x0agl_FragColor.rgb=vec3(vMainUV1,0.0);\x0a#elif\x20DEBUGMODE==7\x20&&\x20defined(MAINUV2)\x0agl_FragColor.rgb=vec3(vMainUV2,0.0);\x0a#elif\x20DEBUGMODE==8\x20&&\x20defined(CLEARCOAT)\x20&&\x20defined(CLEARCOAT_BUMP)\x0agl_FragColor.rgb=clearcoatOut.TBNClearCoat[0];\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==9\x20&&\x20defined(CLEARCOAT)\x20&&\x20defined(CLEARCOAT_BUMP)\x0agl_FragColor.rgb=clearcoatOut.TBNClearCoat[1];\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==10\x20&&\x20defined(CLEARCOAT)\x0agl_FragColor.rgb=clearcoatOut.clearCoatNormalW;\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==11\x20&&\x20defined(ANISOTROPIC)\x0agl_FragColor.rgb=anisotropicOut.anisotropicNormal;\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==12\x20&&\x20defined(ANISOTROPIC)\x0agl_FragColor.rgb=anisotropicOut.anisotropicTangent;\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==13\x20&&\x20defined(ANISOTROPIC)\x0agl_FragColor.rgb=anisotropicOut.anisotropicBitangent;\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==20\x20&&\x20defined(ALBEDO)\x0agl_FragColor.rgb=albedoTexture.rgb;\x0a#elif\x20DEBUGMODE==21\x20&&\x20defined(AMBIENT)\x0agl_FragColor.rgb=aoOut.ambientOcclusionColorMap.rgb;\x0a#elif\x20DEBUGMODE==22\x20&&\x20defined(OPACITY)\x0agl_FragColor.rgb=opacityMap.rgb;\x0a#elif\x20DEBUGMODE==23\x20&&\x20defined(EMISSIVE)\x0agl_FragColor.rgb=emissiveColorTex.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==24\x20&&\x20defined(LIGHTMAP)\x0agl_FragColor.rgb=lightmapColor.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==25\x20&&\x20defined(REFLECTIVITY)\x20&&\x20defined(METALLICWORKFLOW)\x0agl_FragColor.rgb=reflectivityOut.surfaceMetallicColorMap.rgb;\x0a#elif\x20DEBUGMODE==26\x20&&\x20defined(REFLECTIVITY)\x20&&\x20!defined(METALLICWORKFLOW)\x0agl_FragColor.rgb=reflectivityOut.surfaceReflectivityColorMap.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==27\x20&&\x20defined(CLEARCOAT)\x20&&\x20defined(CLEARCOAT_TEXTURE)\x0agl_FragColor.rgb=vec3(clearcoatOut.clearCoatMapData.rg,0.0);\x0a#elif\x20DEBUGMODE==28\x20&&\x20defined(CLEARCOAT)\x20&&\x20defined(CLEARCOAT_TINT)\x20&&\x20defined(CLEARCOAT_TINT_TEXTURE)\x0agl_FragColor.rgb=clearcoatOut.clearCoatTintMapData.rgb;\x0a#elif\x20DEBUGMODE==29\x20&&\x20defined(SHEEN)\x20&&\x20defined(SHEEN_TEXTURE)\x0agl_FragColor.rgb=sheenOut.sheenMapData.rgb;\x0a#elif\x20DEBUGMODE==30\x20&&\x20defined(ANISOTROPIC)\x20&&\x20defined(ANISOTROPIC_TEXTURE)\x0agl_FragColor.rgb=anisotropicOut.anisotropyMapData.rgb;\x0a#elif\x20DEBUGMODE==31\x20&&\x20defined(SUBSURFACE)\x20&&\x20defined(SS_THICKNESSANDMASK_TEXTURE)\x0agl_FragColor.rgb=subSurfaceOut.thicknessMap.rgb;\x0a#elif\x20DEBUGMODE==40\x20&&\x20defined(SS_REFRACTION)\x0agl_FragColor.rgb=subSurfaceOut.environmentRefraction.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==41\x20&&\x20defined(REFLECTION)\x0agl_FragColor.rgb=reflectionOut.environmentRadiance.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==42\x20&&\x20defined(CLEARCOAT)\x20&&\x20defined(REFLECTION)\x0agl_FragColor.rgb=clearcoatOut.environmentClearCoatRadiance.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==50\x0agl_FragColor.rgb=diffuseBase.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==51\x20&&\x20defined(SPECULARTERM)\x0agl_FragColor.rgb=specularBase.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==52\x20&&\x20defined(CLEARCOAT)\x0agl_FragColor.rgb=clearCoatBase.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==53\x20&&\x20defined(SHEEN)\x0agl_FragColor.rgb=sheenBase.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==54\x20&&\x20defined(REFLECTION)\x0agl_FragColor.rgb=reflectionOut.environmentIrradiance.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==60\x0agl_FragColor.rgb=surfaceAlbedo.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==61\x0agl_FragColor.rgb=clearcoatOut.specularEnvironmentR0;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==62\x20&&\x20defined(METALLICWORKFLOW)\x0agl_FragColor.rgb=vec3(reflectivityOut.metallicRoughness.r);\x0a#elif\x20DEBUGMODE==71\x20&&\x20defined(METALLICWORKFLOW)\x0agl_FragColor.rgb=reflectivityOut.metallicF0;\x0a#elif\x20DEBUGMODE==63\x0agl_FragColor.rgb=vec3(roughness);\x0a#elif\x20DEBUGMODE==64\x0agl_FragColor.rgb=vec3(alphaG);\x0a#elif\x20DEBUGMODE==65\x0agl_FragColor.rgb=vec3(NdotV);\x0a#elif\x20DEBUGMODE==66\x20&&\x20defined(CLEARCOAT)\x20&&\x20defined(CLEARCOAT_TINT)\x0agl_FragColor.rgb=clearcoatOut.clearCoatColor.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==67\x20&&\x20defined(CLEARCOAT)\x0agl_FragColor.rgb=vec3(clearcoatOut.clearCoatRoughness);\x0a#elif\x20DEBUGMODE==68\x20&&\x20defined(CLEARCOAT)\x0agl_FragColor.rgb=vec3(clearcoatOut.clearCoatNdotV);\x0a#elif\x20DEBUGMODE==69\x20&&\x20defined(SUBSURFACE)\x20&&\x20defined(SS_TRANSLUCENCY)\x0agl_FragColor.rgb=subSurfaceOut.transmittance;\x0a#elif\x20DEBUGMODE==70\x20&&\x20defined(SUBSURFACE)\x20&&\x20defined(SS_REFRACTION)\x0agl_FragColor.rgb=subSurfaceOut.refractionTransmittance;\x0a#elif\x20DEBUGMODE==80\x20&&\x20defined(RADIANCEOCCLUSION)\x0agl_FragColor.rgb=vec3(seo);\x0a#elif\x20DEBUGMODE==81\x20&&\x20defined(HORIZONOCCLUSION)\x0agl_FragColor.rgb=vec3(eho);\x0a#elif\x20DEBUGMODE==82\x20&&\x20defined(MS_BRDF_ENERGY_CONSERVATION)\x0agl_FragColor.rgb=vec3(energyConservationFactor);\x0a#elif\x20DEBUGMODE==83\x20&&\x20defined(ENVIRONMENTBRDF)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0agl_FragColor.rgb=specularEnvironmentReflectance;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==84\x20&&\x20defined(CLEARCOAT)\x20&&\x20defined(ENVIRONMENTBRDF)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0agl_FragColor.rgb=clearcoatOut.clearCoatEnvironmentReflectance;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==85\x20&&\x20defined(SHEEN)\x20&&\x20defined(REFLECTION)\x0agl_FragColor.rgb=sheenOut.sheenEnvironmentReflectance;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==86\x20&&\x20defined(ALPHABLEND)\x0agl_FragColor.rgb=vec3(luminanceOverAlpha);\x0a#elif\x20DEBUGMODE==87\x0agl_FragColor.rgb=vec3(alpha);\x0a#endif\x0agl_FragColor.rgb*=vDebugMode.y;\x0a#ifdef\x20DEBUGMODE_NORMALIZE\x0agl_FragColor.rgb=normalize(gl_FragColor.rgb)*0.5+0.5;\x0a#endif\x0a#ifdef\x20DEBUGMODE_GAMMA\x0agl_FragColor.rgb=toGammaSpace(gl_FragColor.rgb);\x0a#endif\x0agl_FragColor.a=1.0;\x0a#ifdef\x20PREPASS\x0agl_FragData[0]=toLinearSpace(gl_FragColor);\x20\x0agl_FragData[1]=vec4(0.,0.,0.,0.);\x20\x0a#endif\x0areturn;\x0a}\x0a#endif\x0a',_0x5636f8['v'][_0x2c71a7(0x6d9)][_0x2c71a7(0x5d8)]=_0x2c71a7(0x912);},0x93ab:(_0x4d30d6,_0x223eae,_0x5e736f)=>{var _0x5290b0=a7_0x1ed280,_0x2eda23=_0x5e736f(0x17a92);_0x5e736f(0x2826),_0x2eda23['v'][_0x5290b0(0x281)][_0x5290b0(0x67d)]=_0x5290b0(0x4ec),_0x5e736f(0xc853),_0x5e736f(0x17bd8),_0x5e736f(0x94fa),_0x5e736f(0x175b0),_0x5e736f(0x13f9a),_0x5e736f(0x12929),_0x5e736f(0x12bc6),_0x5e736f(0x18442),_0x5e736f(0x15b7a),_0x5e736f(0x14535),_0x5e736f(0x8785),_0x5e736f(0x13216),_0x5e736f(0x6a99),_0x5e736f(0x1b3f),_0x5e736f(0xc971),_0x5e736f(0x9ea3),_0x5e736f(0x12abc),_0x5e736f(0x17bd9),_0x5e736f(0x13906),_0x5e736f(0x1070),_0x5e736f(0x733d),_0x5e736f(0xb434),_0x5e736f(0xdcea),_0x5e736f(0x1abd),_0x5e736f(0xd68d),_0x5e736f(0x2f27),_0x5e736f(0xced6),_0x5e736f(0x6efd),_0x5e736f(0x9871),_0x5e736f(0x6e75),_0x5e736f(0xedb9),_0x5e736f(0x13da6),_0x2eda23['v']['ShadersStore'][_0x5290b0(0x632)]=_0x5290b0(0xc2c);},0x4617:(_0x4c1532,_0x697aea,_0x336821)=>{var _0x1f6119=a7_0x1ed280;_0x336821(0x17a92)['v'][_0x1f6119(0x6d9)][_0x1f6119(0x679)]=_0x1f6119(0x7c2);},0x18235:(_0x5bb9d7,_0x261094,_0x5c3691)=>{var _0x2a1fb7=a7_0x1ed280;_0x5c3691(0x17a92)['v'][_0x2a1fb7(0x6d9)][_0x2a1fb7(0x395)]=_0x2a1fb7(0x321);},0x52aa:(_0x579a07,_0x444f8b,_0x1152ee)=>{var _0x1fd72f=a7_0x1ed280;_0x1152ee(0x17a92)['v'][_0x1fd72f(0x6d9)][_0x1fd72f(0x488)]='varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20refractionSampler;\x0auniform\x20vec3\x20baseColor;\x0auniform\x20float\x20depth;\x0auniform\x20float\x20colorLevel;\x0avoid\x20main()\x20{\x0afloat\x20ref=1.0-texture2D(refractionSampler,vUV).r;\x0avec2\x20uv=vUV-vec2(0.5);\x0avec2\x20offset=uv*depth*ref;\x0avec3\x20sourceColor=texture2D(textureSampler,vUV-offset).rgb;\x0agl_FragColor=vec4(sourceColor+sourceColor*ref*colorLevel,1.0);\x0a}';},0x11c21:(_0x2f4542,_0x575545,_0x14d318)=>{var _0x105668=a7_0x1ed280,_0x6c91bc=_0x14d318(0x17a92);_0x14d318(0x175b0),_0x6c91bc['v'][_0x105668(0x6d9)]['rgbdDecodePixelShader']=_0x105668(0xcc8);},0x10c45:(_0x35f795,_0x18d647,_0x281bd2)=>{var _0x90e05b=a7_0x1ed280,_0x38a8ad=_0x281bd2(0x17a92);_0x281bd2(0x175b0),_0x38a8ad['v'][_0x90e05b(0x6d9)][_0x90e05b(0x418)]=_0x90e05b(0x6a6);},0x16b3d:(_0x1bbad8,_0x594082,_0x2a4940)=>{var _0x21d310=a7_0x1ed280;_0x2a4940(0x17a92)['v'][_0x21d310(0x6d9)][_0x21d310(0x16a)]=_0x21d310(0x663);},0x869c:(_0xe52bc2,_0x2f7564,_0x56ebf8)=>{var _0x4741cd=a7_0x1ed280;_0x56ebf8(0x17a92)['v'][_0x4741cd(0x6d9)][_0x4741cd(0x39d)]='uniform\x20sampler2D\x20textureSampler;\x0a#ifdef\x20SSR_SUPPORTED\x0auniform\x20sampler2D\x20reflectivitySampler;\x0auniform\x20sampler2D\x20normalSampler;\x0auniform\x20sampler2D\x20positionSampler;\x0a#endif\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20float\x20stepSize;\x0auniform\x20float\x20strength;\x0auniform\x20float\x20threshold;\x0auniform\x20float\x20roughnessFactor;\x0auniform\x20float\x20reflectionSpecularFalloffExponent;\x0avarying\x20vec2\x20vUV;\x0a#ifdef\x20SSR_SUPPORTED\x0astruct\x20ReflectionInfo\x20{\x0avec3\x20color;\x0avec4\x20coords;\x0a};\x0a/**\x0a*\x20According\x20to\x20specular,see\x20https:\x0a*/\x0avec3\x20fresnelSchlick(float\x20cosTheta,vec3\x20F0)\x0a{\x0areturn\x20F0+(1.0-F0)*pow(1.0-cosTheta,5.0);\x0a}\x0a/**\x0a*\x20Once\x20the\x20pixel\x27s\x20coordinates\x20has\x20been\x20found,let\x27s\x20adjust\x20(smooth)\x20a\x20little\x20bit\x0a*\x20by\x20sampling\x20multiple\x20reflection\x20pixels.\x0a*/\x0aReflectionInfo\x20smoothReflectionInfo(vec3\x20dir,vec3\x20hitCoord)\x0a{\x0aReflectionInfo\x20info;\x0ainfo.color=vec3(0.0);\x0avec4\x20projectedCoord;\x0afloat\x20sampledDepth;\x0afor(int\x20i=0;\x20i0.0)\x0ahitCoord-=dir;\x0aelse\x0ahitCoord+=dir;\x0ainfo.color+=texture2D(textureSampler,projectedCoord.xy).rgb;\x0a}\x0aprojectedCoord=projection*vec4(hitCoord,1.0);\x0aprojectedCoord.xy/=projectedCoord.w;\x0aprojectedCoord.xy=0.5*projectedCoord.xy+vec2(0.5);\x0ainfo.coords=vec4(projectedCoord.xy,sampledDepth,1.0);\x0ainfo.color+=texture2D(textureSampler,projectedCoord.xy).rgb;\x0ainfo.color/=float(SMOOTH_STEPS+1);\x0areturn\x20info;\x0a}\x0a/**\x0a*\x20Tests\x20the\x20given\x20world\x20position\x20(hitCoord)\x20according\x20to\x20the\x20given\x20reflection\x20vector\x20(dir)\x0a*\x20until\x20it\x20finds\x20a\x20collision\x20(means\x20that\x20depth\x20is\x20enough\x20close\x20to\x20say\x20\x22it\x27s\x20the\x20pixel\x20to\x20sample!\x22).\x0a*/\x0aReflectionInfo\x20getReflectionInfo(vec3\x20dir,vec3\x20hitCoord)\x0a{\x0aReflectionInfo\x20info;\x0avec4\x20projectedCoord;\x0afloat\x20sampledDepth;\x0adir*=stepSize;\x0afor(int\x20i=0;\x20i{var _0x3c3d0a=a7_0x1ed280,_0x771dc6=_0x2e8423(0x17a92);_0x2e8423(0x175b0),_0x771dc6['v'][_0x3c3d0a(0x281)][_0x3c3d0a(0x8a4)]=_0x3c3d0a(0x81a),_0x771dc6['v'][_0x3c3d0a(0x6d9)][_0x3c3d0a(0xaab)]='#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20TEXTUREFUNC(s,c,lod)\x20texture2DLodEXT(s,c,lod)\x0a#define\x20TEXTURECUBEFUNC(s,c,lod)\x20textureLod(s,c,lod)\x0a#else\x0a#define\x20TEXTUREFUNC(s,c,bias)\x20texture2D(s,c,bias)\x0a#define\x20TEXTURECUBEFUNC(s,c,bias)\x20textureCube(s,c,bias)\x0a#endif\x0auniform\x20sampler2D\x20textureSampler;\x0avarying\x20vec2\x20vUV;\x0a#ifdef\x20SSR_SUPPORTED\x0auniform\x20sampler2D\x20reflectivitySampler;\x0auniform\x20sampler2D\x20normalSampler;\x0auniform\x20sampler2D\x20depthSampler;\x0a#ifdef\x20SSRAYTRACE_USE_BACK_DEPTHBUFFER\x0auniform\x20sampler2D\x20backDepthSampler;\x0auniform\x20float\x20backSizeFactor;\x0a#endif\x0a#ifdef\x20SSR_USE_ENVIRONMENT_CUBE\x0auniform\x20samplerCube\x20envCubeSampler;\x0a#ifdef\x20SSR_USE_LOCAL_REFLECTIONMAP_CUBIC\x0auniform\x20vec3\x20vReflectionPosition;\x0auniform\x20vec3\x20vReflectionSize;\x0a#endif\x0a#endif\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20invView;\x0auniform\x20mat4\x20projection;\x0auniform\x20mat4\x20invProjectionMatrix;\x0auniform\x20mat4\x20projectionPixel;\x0auniform\x20float\x20nearPlaneZ;\x0auniform\x20float\x20stepSize;\x0auniform\x20float\x20maxSteps;\x0auniform\x20float\x20strength;\x0auniform\x20float\x20thickness;\x0auniform\x20float\x20roughnessFactor;\x0auniform\x20float\x20reflectionSpecularFalloffExponent;\x0auniform\x20float\x20maxDistance;\x0auniform\x20float\x20selfCollisionNumSkip;\x0auniform\x20float\x20reflectivityThreshold;\x0a#include\x0a#include\x0avec3\x20fresnelSchlick(float\x20cosTheta,vec3\x20F0)\x0a{\x0areturn\x20F0+(1.0-F0)*pow(1.0-cosTheta,5.0);\x0a}\x0avec3\x20hash(vec3\x20a)\x0a{\x0aa=fract(a*0.8);\x0aa+=dot(a,a.yxz+19.19);\x0areturn\x20fract((a.xxy+a.yxx)*a.zyx);\x0a}\x0avec3\x20computeViewPosFromUVDepth(vec2\x20texCoord,float\x20depth)\x20{\x0avec4\x20ndc;\x0andc.xy=texCoord*2.0-1.0;\x0a#ifdef\x20SSRAYTRACE_RIGHT_HANDED_SCENE\x0andc.z=-projection[2].z-projection[3].z/depth;\x0a#else\x0andc.z=projection[2].z+projection[3].z/depth;\x0a#endif\x0andc.w=1.0;\x0avec4\x20eyePos=invProjectionMatrix*ndc;\x0aeyePos.xyz/=eyePos.w;\x0areturn\x20eyePos.xyz;\x0a}\x0afloat\x20computeAttenuationForIntersection(ivec2\x20hitPixel,vec2\x20hitUV,vec3\x20vsRayOrigin,vec3\x20vsHitPoint,vec3\x20reflectionVector,float\x20maxRayDistance,float\x20numIterations)\x20{\x0afloat\x20attenuation=1.0;\x0a#ifdef\x20SSR_ATTENUATE_SCREEN_BORDERS\x0avec2\x20dCoords=smoothstep(0.2,0.6,abs(vec2(0.5,0.5)-hitUV.xy));\x0aattenuation*=clamp(1.0-(dCoords.x+dCoords.y),0.0,1.0);\x0a#endif\x0a#ifdef\x20SSR_ATTENUATE_INTERSECTION_DISTANCE\x0aattenuation*=1.0-clamp(distance(vsRayOrigin,vsHitPoint)/maxRayDistance,0.0,1.0);\x0a#endif\x0a#ifdef\x20SSR_ATTENUATE_INTERSECTION_NUMITERATIONS\x0aattenuation*=1.0-(numIterations/maxSteps);\x0a#endif\x0a#ifdef\x20SSR_ATTENUATE_BACKFACE_REFLECTION\x0avec3\x20reflectionNormal=texelFetch(normalSampler,hitPixel,0).xyz;\x0afloat\x20directionBasedAttenuation=smoothstep(-0.17,0.0,dot(reflectionNormal,-reflectionVector));\x0aattenuation*=directionBasedAttenuation;\x0a#endif\x0areturn\x20attenuation;\x0a}\x0a#endif\x0avoid\x20main()\x0a{\x0a#ifdef\x20SSR_SUPPORTED\x0avec4\x20colorFull=TEXTUREFUNC(textureSampler,vUV,0.0);\x0avec3\x20color=colorFull.rgb;\x0avec4\x20reflectivity=TEXTUREFUNC(reflectivitySampler,vUV,0.0);\x0aif\x20(max(reflectivity.r,max(reflectivity.g,reflectivity.b))<=reflectivityThreshold)\x20{\x0a#ifdef\x20SSR_USE_BLUR\x0agl_FragColor=vec4(0.);\x0a#else\x0agl_FragColor=colorFull;\x0a#endif\x0areturn;\x0a}\x0a#ifdef\x20SSR_INPUT_IS_GAMMA_SPACE\x0acolor=toLinearSpace(color);\x0a#endif\x0avec2\x20texSize=vec2(textureSize(depthSampler,0));\x0avec3\x20csNormal=texelFetch(normalSampler,ivec2(vUV*texSize),0).xyz;\x20\x0afloat\x20depth=texelFetch(depthSampler,ivec2(vUV*texSize),0).r;\x0avec3\x20csPosition=computeViewPosFromUVDepth(vUV,depth);\x0avec3\x20csViewDirection=normalize(csPosition);\x0avec3\x20csReflectedVector=reflect(csViewDirection,csNormal);\x0a#ifdef\x20SSR_USE_ENVIRONMENT_CUBE\x0avec3\x20wReflectedVector=vec3(invView*vec4(csReflectedVector,0.0));\x0a#ifdef\x20SSR_USE_LOCAL_REFLECTIONMAP_CUBIC\x0avec4\x20worldPos=invView*vec4(csPosition,1.0);\x0awReflectedVector=parallaxCorrectNormal(worldPos.xyz,normalize(wReflectedVector),vReflectionSize,vReflectionPosition);\x0a#endif\x0a#ifdef\x20SSR_INVERTCUBICMAP\x0awReflectedVector.y*=-1.0;\x0a#endif\x0a#ifdef\x20SSRAYTRACE_RIGHT_HANDED_SCENE\x0awReflectedVector.z*=-1.0;\x0a#endif\x0avec3\x20envColor=TEXTURECUBEFUNC(envCubeSampler,wReflectedVector,0.0).xyz;\x0a#ifdef\x20SSR_ENVIRONMENT_CUBE_IS_GAMMASPACE\x0aenvColor=toLinearSpace(envColor);\x0a#endif\x0a#else\x0avec3\x20envColor=color;\x0a#endif\x0afloat\x20reflectionAttenuation=1.0;\x0abool\x20rayHasHit=false;\x0avec2\x20startPixel;\x0avec2\x20hitPixel;\x0avec3\x20hitPoint;\x0afloat\x20numIterations;\x0a#ifdef\x20SSRAYTRACE_DEBUG\x0avec3\x20debugColor;\x0a#endif\x0a#ifdef\x20SSR_ATTENUATE_FACING_CAMERA\x0areflectionAttenuation*=1.0-smoothstep(0.25,0.5,dot(-csViewDirection,csReflectedVector));\x0a#endif\x0aif\x20(reflectionAttenuation>0.0)\x20{\x0a#ifdef\x20SSR_USE_BLUR\x0avec3\x20jitt=vec3(0.);\x0a#else\x0afloat\x20roughness=1.0-reflectivity.a;\x0avec3\x20jitt=mix(vec3(0.0),hash(csPosition),roughness)*roughnessFactor;\x20\x0a#endif\x0avec2\x20uv2=vUV*texSize;\x0afloat\x20c=(uv2.x+uv2.y)*0.25;\x0afloat\x20jitter=mod(c,1.0);\x20\x0arayHasHit=traceScreenSpaceRay1(\x0acsPosition,\x0anormalize(csReflectedVector+jitt),\x0aprojectionPixel,\x0adepthSampler,\x0atexSize,\x0a#ifdef\x20SSRAYTRACE_USE_BACK_DEPTHBUFFER\x0abackDepthSampler,\x0abackSizeFactor,\x0a#endif\x0athickness,\x0anearPlaneZ,\x0astepSize,\x0ajitter,\x0amaxSteps,\x0amaxDistance,\x0aselfCollisionNumSkip,\x0astartPixel,\x0ahitPixel,\x0ahitPoint,\x0anumIterations\x0a#ifdef\x20SSRAYTRACE_DEBUG\x0a,debugColor\x0a#endif\x0a);\x0a}\x0a#ifdef\x20SSRAYTRACE_DEBUG\x0agl_FragColor=vec4(debugColor,1.);\x0areturn;\x0a#endif\x0avec3\x20F0=reflectivity.rgb;\x0avec3\x20fresnel=fresnelSchlick(max(dot(csNormal,-csViewDirection),0.0),F0);\x0avec3\x20SSR=envColor;\x0aif\x20(rayHasHit)\x20{\x0avec3\x20reflectedColor=texelFetch(textureSampler,ivec2(hitPixel),0).rgb;\x0a#ifdef\x20SSR_INPUT_IS_GAMMA_SPACE\x0areflectedColor=toLinearSpace(reflectedColor);\x0a#endif\x0areflectionAttenuation*=computeAttenuationForIntersection(ivec2(hitPixel),hitPixel/texSize,csPosition,hitPoint,csReflectedVector,maxDistance,numIterations);\x0aSSR=reflectedColor*reflectionAttenuation+(1.0-reflectionAttenuation)*envColor;\x0a}\x0aSSR*=fresnel;\x0a#ifdef\x20SSR_USE_BLUR\x0afloat\x20blur_radius=0.0;\x0afloat\x20roughness=1.0-reflectivity.a*(1.0-roughnessFactor);\x0aif\x20(roughness>0.001)\x20{\x0afloat\x20cone_angle=min(roughness,0.999)*3.14159265*0.5;\x0afloat\x20cone_len=distance(startPixel,hitPixel);\x0afloat\x20op_len=2.0*tan(cone_angle)*cone_len;\x20\x0afloat\x20a=op_len;\x0afloat\x20h=cone_len;\x0afloat\x20a2=a*a;\x0afloat\x20fh2=4.0f*h*h;\x0ablur_radius=(a*(sqrt(a2+fh2)-a))/(4.0f*h);\x0a}\x0agl_FragColor=vec4(SSR,blur_radius/255.0);\x20\x0a#else\x0avec3\x20reflectionMultiplier=clamp(pow(reflectivity.rgb*strength,vec3(reflectionSpecularFalloffExponent)),0.0,1.0);\x0avec3\x20colorMultiplier=1.0-reflectionMultiplier;\x0avec3\x20finalColor=(color*colorMultiplier)+(SSR*reflectionMultiplier);\x0a#ifdef\x20SSR_OUTPUT_IS_GAMMA_SPACE\x0afinalColor=toGammaSpace(finalColor);\x0a#endif\x0agl_FragColor=vec4(finalColor,colorFull.a);\x0a#endif\x0a#else\x0agl_FragColor=TEXTUREFUNC(textureSampler,vUV,0.0);\x0a#endif\x0a}\x0a';},0x138a8:(_0x3fc0d5,_0x52d60f,_0x261864)=>{var _0x45b99a=a7_0x1ed280;_0x261864(0x17a92)['v'][_0x45b99a(0x6d9)][_0x45b99a(0x211)]=_0x45b99a(0x82d);},0x2797:(_0x488a00,_0xc1a85a,_0x2e8b37)=>{var _0x5cb2d0=a7_0x1ed280,_0x568410=_0x2e8b37(0x17a92);_0x2e8b37(0x175b0),_0x568410['v'][_0x5cb2d0(0x6d9)][_0x5cb2d0(0x477)]=_0x5cb2d0(0x80e);},0x134a9:(_0x49db32,_0x1b734b,_0x30491f)=>{var _0x5e4ad4=a7_0x1ed280,_0x248e75=_0x30491f(0x17a92);_0x30491f(0xe85e),_0x248e75['v']['IncludesShadersStore']['bayerDitherFunctions']='float\x20bayerDither2(vec2\x20_P)\x20{\x0areturn\x20mod(2.0*_P.y+_P.x+1.0,4.0);\x0a}\x0afloat\x20bayerDither4(vec2\x20_P)\x20{\x0avec2\x20P1=mod(_P,2.0);\x20\x0avec2\x20P2=floor(0.5*mod(_P,4.0));\x20\x0areturn\x204.0*bayerDither2(P1)+bayerDither2(P2);\x0a}\x0afloat\x20bayerDither8(vec2\x20_P)\x20{\x0avec2\x20P1=mod(_P,2.0);\x20\x0avec2\x20P2=floor(0.5\x20*mod(_P,4.0));\x20\x0avec2\x20P4=floor(0.25*mod(_P,8.0));\x20\x0areturn\x204.0*(4.0*bayerDither2(P1)+bayerDither2(P2))+bayerDither2(P4);\x0a}\x0a',_0x248e75['v']['IncludesShadersStore'][_0x5e4ad4(0x69b)]='#if\x20SM_FLOAT==0\x0a#include\x0a#endif\x0a#if\x20SM_SOFTTRANSPARENTSHADOW==1\x0a#include\x0auniform\x20float\x20softTransparentShadowSM;\x0a#endif\x0avarying\x20float\x20vDepthMetricSM;\x0a#if\x20SM_USEDISTANCE==1\x0auniform\x20vec3\x20lightDataSM;\x0avarying\x20vec3\x20vPositionWSM;\x0a#endif\x0auniform\x20vec3\x20biasAndScaleSM;\x0auniform\x20vec2\x20depthValuesSM;\x0a#if\x20defined(SM_DEPTHCLAMP)\x20&&\x20SM_DEPTHCLAMP==1\x0avarying\x20float\x20zSM;\x0a#endif\x0a',_0x30491f(0xff1b),_0x30491f(0x3328),_0x248e75['v']['IncludesShadersStore'][_0x5e4ad4(0x299)]='float\x20depthSM=vDepthMetricSM;\x0a#if\x20defined(SM_DEPTHCLAMP)\x20&&\x20SM_DEPTHCLAMP==1\x0a#if\x20SM_USEDISTANCE==1\x0adepthSM=(length(vPositionWSM-lightDataSM)+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;\x0a#else\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0adepthSM=(-zSM+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;\x0a#else\x0adepthSM=(zSM+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;\x0a#endif\x0a#endif\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0agl_FragDepth=clamp(1.0-depthSM,0.0,1.0);\x0a#else\x0agl_FragDepth=clamp(depthSM,0.0,1.0);\x20\x0a#endif\x0a#elif\x20SM_USEDISTANCE==1\x0adepthSM=(length(vPositionWSM-lightDataSM)+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;\x0a#endif\x0a#if\x20SM_ESM==1\x0adepthSM=clamp(exp(-min(87.,biasAndScaleSM.z*depthSM)),0.,1.);\x0a#endif\x0a#if\x20SM_FLOAT==1\x0agl_FragColor=vec4(depthSM,1.0,1.0,1.0);\x0a#else\x0agl_FragColor=pack(depthSM);\x0a#endif\x0areturn;',_0x248e75['v'][_0x5e4ad4(0x6d9)][_0x5e4ad4(0x239)]=_0x5e4ad4(0xa42);},0x13168:(_0xdd3e48,_0x4074a0,_0x518d70)=>{var _0x185d50=a7_0x1ed280,_0x379c50=_0x518d70(0x17a92);_0x518d70(0x13f9a),_0x518d70(0x12929),_0x518d70(0x9ea3),_0x518d70(0x12abc),_0x518d70(0x175b0),_0x379c50['v'][_0x185d50(0x281)]['sceneVertexDeclaration']=_0x185d50(0x372),_0x379c50['v'][_0x185d50(0x281)]['meshVertexDeclaration']=_0x185d50(0x741),_0x379c50['v'][_0x185d50(0x281)][_0x185d50(0x267)]=_0x185d50(0x39a),_0x518d70(0x6cce),_0x518d70(0x11fa6),_0x379c50['v'][_0x185d50(0x281)][_0x185d50(0x5cf)]='layout(std140,column_major)\x20uniform;\x0a#include\x0a#include\x0a',_0x379c50['v'][_0x185d50(0x281)][_0x185d50(0xcc0)]=_0x185d50(0xba5),_0x518d70(0x13216),_0x518d70(0x13906),_0x518d70(0x1070),_0x518d70(0x733d),_0x518d70(0xb434),_0x518d70(0xdcea),_0x379c50['v'][_0x185d50(0x281)]['shadowMapVertexNormalBias']='#if\x20SM_NORMALBIAS==1\x0a#if\x20SM_DIRECTIONINLIGHTDATA==1\x0avec3\x20worldLightDirSM=normalize(-lightDataSM.xyz);\x0a#else\x0avec3\x20directionToLightSM=lightDataSM.xyz-worldPos.xyz;\x0avec3\x20worldLightDirSM=normalize(directionToLightSM);\x0a#endif\x0afloat\x20ndlSM=dot(vNormalW,worldLightDirSM);\x0afloat\x20sinNLSM=sqrt(1.0-ndlSM*ndlSM);\x0afloat\x20normalBiasSM=biasAndScaleSM.y*sinNLSM;\x0aworldPos.xyz-=vNormalW*normalBiasSM;\x0a#endif\x0a',_0x379c50['v'][_0x185d50(0x281)]['shadowMapVertexMetric']=_0x185d50(0x384),_0x518d70(0x6efd),_0x379c50['v'][_0x185d50(0x6d9)][_0x185d50(0xb3a)]=_0x185d50(0x53b);},0x48c1:(_0x533d78,_0x514c01,_0x2b5d79)=>{var _0x609985=a7_0x1ed280;_0x2b5d79(0x17a92)['v'][_0x609985(0x6d9)][_0x609985(0x169)]=_0x609985(0xb13);},0x7a4e:(_0x3a1308,_0x4278eb,_0x439100)=>{var _0xdb0a11=a7_0x1ed280;_0x439100(0x17a92)['v'][_0xdb0a11(0x6d9)][_0xdb0a11(0x496)]=_0xdb0a11(0xb67);},0xa16d:(_0x579fd4,_0x3516b5,_0x423986)=>{var _0x1d0cff=a7_0x1ed280;_0x423986(0x17a92)['v'][_0x1d0cff(0x6d9)][_0x1d0cff(0x29f)]=_0x1d0cff(0x811);},0xea77:(_0x565a35,_0x332c39,_0x5e0f5c)=>{var _0x519518=a7_0x1ed280;_0x5e0f5c(0x17a92)['v']['ShadersStore'][_0x519518(0x954)]='uniform\x20sampler2D\x20textureSampler;\x0avarying\x20vec2\x20vUV;\x0a#ifdef\x20SSAO\x0auniform\x20sampler2D\x20randomSampler;\x0auniform\x20float\x20randTextureTiles;\x0auniform\x20float\x20samplesFactor;\x0auniform\x20vec3\x20sampleSphere[SAMPLES];\x0auniform\x20float\x20totalStrength;\x0auniform\x20float\x20radius;\x0auniform\x20float\x20area;\x0auniform\x20float\x20fallOff;\x0auniform\x20float\x20base;\x0avec3\x20normalFromDepth(float\x20depth,vec2\x20coords)\x0a{\x0avec2\x20offset1=vec2(0.0,radius);\x0avec2\x20offset2=vec2(radius,0.0);\x0afloat\x20depth1=texture2D(textureSampler,coords+offset1).r;\x0afloat\x20depth2=texture2D(textureSampler,coords+offset2).r;\x0avec3\x20p1=vec3(offset1,depth1-depth);\x0avec3\x20p2=vec3(offset2,depth2-depth);\x0avec3\x20normal=cross(p1,p2);\x0anormal.z=-normal.z;\x0areturn\x20normalize(normal);\x0a}\x0avoid\x20main()\x0a{\x0avec3\x20random=normalize(texture2D(randomSampler,vUV*randTextureTiles).rgb);\x0afloat\x20depth=texture2D(textureSampler,vUV).r;\x0avec3\x20position=vec3(vUV,depth);\x0avec3\x20normal=normalFromDepth(depth,vUV);\x0afloat\x20radiusDepth=radius/depth;\x0afloat\x20occlusion=0.0;\x0avec3\x20ray;\x0avec3\x20hemiRay;\x0afloat\x20occlusionDepth;\x0afloat\x20difference;\x0afor\x20(int\x20i=0;\x20i{var _0x465290=a7_0x1ed280;_0x23c4c9(0x17a92)['v'][_0x465290(0x6d9)]['ssao2PixelShader']=_0x465290(0x190);},0xce3e:(_0x50678c,_0x1ba46f,_0x52eb6c)=>{var _0x13da9c=a7_0x1ed280;_0x52eb6c(0x17a92)['v']['ShadersStore']['ssaoCombinePixelShader']=_0x13da9c(0xa45);},0x152db:(_0x577886,_0x27c83b,_0x54e1ec)=>{var _0x4cba1a=a7_0x1ed280,_0xa47f3d=_0x54e1ec(0x17a92);_0x54e1ec(0xe85e),_0xa47f3d['v'][_0x4cba1a(0x6d9)][_0x4cba1a(0x6b7)]='uniform\x20sampler2D\x20textureSampler;\x0avarying\x20vec2\x20vUV;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0a#if\x20defined(PASS_POST_PROCESS)\x0avoid\x20main(void)\x0a{\x0avec4\x20color=texture2D(textureSampler,vUV);\x0agl_FragColor=color;\x0a}\x0a#endif\x0a#if\x20defined(DOWN_SAMPLE_X4)\x0auniform\x20vec2\x20dsOffsets[16];\x0avoid\x20main(void)\x0a{\x0avec4\x20average=vec4(0.0,0.0,0.0,0.0);\x0aaverage=texture2D(textureSampler,vUV+dsOffsets[0]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[1]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[2]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[3]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[4]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[5]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[6]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[7]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[8]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[9]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[10]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[11]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[12]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[13]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[14]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[15]);\x0aaverage/=16.0;\x0agl_FragColor=average;\x0a}\x0a#endif\x0a#if\x20defined(BRIGHT_PASS)\x0auniform\x20vec2\x20dsOffsets[4];\x0auniform\x20float\x20brightThreshold;\x0avoid\x20main(void)\x0a{\x0avec4\x20average=vec4(0.0,0.0,0.0,0.0);\x0aaverage=texture2D(textureSampler,vUV+vec2(dsOffsets[0].x,dsOffsets[0].y));\x0aaverage+=texture2D(textureSampler,vUV+vec2(dsOffsets[1].x,dsOffsets[1].y));\x0aaverage+=texture2D(textureSampler,vUV+vec2(dsOffsets[2].x,dsOffsets[2].y));\x0aaverage+=texture2D(textureSampler,vUV+vec2(dsOffsets[3].x,dsOffsets[3].y));\x0aaverage*=0.25;\x0afloat\x20luminance=length(average.rgb);\x0aif\x20(luminanceshadowPixelDepth)\x0aaccumFog+=sunColor*computeScattering(dot(rayDirection,sunDirection));\x0acurrentPosition+=stepL;\x0a}\x0aaccumFog/=NB_STEPS;\x0avec3\x20color=accumFog*scatteringPower;\x0agl_FragColor=vec4(color*exp(color)\x20,1.0);\x0a}\x0a#endif\x0a#if\x20defined(VLSMERGE)\x0auniform\x20sampler2D\x20originalSampler;\x0avoid\x20main(void)\x0a{\x0agl_FragColor=texture2D(originalSampler,vUV)+texture2D(textureSampler,vUV);\x0a}\x0a#endif\x0a#if\x20defined(LUMINANCE)\x0auniform\x20vec2\x20lumOffsets[4];\x0avoid\x20main()\x0a{\x0afloat\x20average=0.0;\x0avec4\x20color=vec4(0.0);\x0afloat\x20maximum=-1e20;\x0avec3\x20weight=vec3(0.299,0.587,0.114);\x0afor\x20(int\x20i=0;\x20i<4;\x20i++)\x0a{\x0acolor=texture2D(textureSampler,vUV+\x20lumOffsets[i]);\x0afloat\x20GreyValue=dot(color.rgb,vec3(0.33,0.33,0.33));\x0a#ifdef\x20WEIGHTED_AVERAGE\x0afloat\x20GreyValue=dot(color.rgb,weight);\x0a#endif\x0a#ifdef\x20BRIGHTNESS\x0afloat\x20GreyValue=max(color.r,max(color.g,color.b));\x0a#endif\x0a#ifdef\x20HSL_COMPONENT\x0afloat\x20GreyValue=0.5*(max(color.r,max(color.g,color.b))+min(color.r,min(color.g,color.b)));\x0a#endif\x0a#ifdef\x20MAGNITUDE\x0afloat\x20GreyValue=length(color.rgb);\x0a#endif\x0amaximum=max(maximum,GreyValue);\x0aaverage+=(0.25*log(1e-5+GreyValue));\x0a}\x0aaverage=exp(average);\x0agl_FragColor=vec4(average,maximum,0.0,1.0);\x0a}\x0a#endif\x0a#if\x20defined(LUMINANCE_DOWN_SAMPLE)\x0auniform\x20vec2\x20dsOffsets[9];\x0auniform\x20float\x20halfDestPixelSize;\x0a#ifdef\x20FINAL_DOWN_SAMPLER\x0a#include\x0a#endif\x0avoid\x20main()\x0a{\x0avec4\x20color=vec4(0.0);\x0afloat\x20average=0.0;\x0afor\x20(int\x20i=0;\x20i<9;\x20i++)\x0a{\x0acolor=texture2D(textureSampler,vUV+vec2(halfDestPixelSize,halfDestPixelSize)+dsOffsets[i]);\x0aaverage+=color.r;\x0a}\x0aaverage/=9.0;\x0a#ifdef\x20FINAL_DOWN_SAMPLER\x0agl_FragColor=pack(average);\x0a#else\x0agl_FragColor=vec4(average,average,0.0,1.0);\x0a#endif\x0a}\x0a#endif\x0a#if\x20defined(HDR)\x0auniform\x20sampler2D\x20textureAdderSampler;\x0auniform\x20float\x20averageLuminance;\x0avoid\x20main()\x0a{\x0avec4\x20color=texture2D(textureAdderSampler,vUV);\x0a#ifndef\x20AUTO_EXPOSURE\x0avec4\x20adjustedColor=color/averageLuminance;\x0acolor=adjustedColor;\x0acolor.a=1.0;\x0a#endif\x0agl_FragColor=color;\x0a}\x0a#endif\x0a#if\x20defined(LENS_FLARE)\x0a#define\x20GHOSTS\x203\x0auniform\x20sampler2D\x20lensColorSampler;\x0auniform\x20float\x20strength;\x0auniform\x20float\x20ghostDispersal;\x0auniform\x20float\x20haloWidth;\x0auniform\x20vec2\x20resolution;\x0auniform\x20float\x20distortionStrength;\x0afloat\x20hash(vec2\x20p)\x0a{\x0afloat\x20h=dot(p,vec2(127.1,311.7));\x0areturn\x20-1.0+2.0*fract(sin(h)*43758.5453123);\x0a}\x0afloat\x20noise(in\x20vec2\x20p)\x0a{\x0avec2\x20i=floor(p);\x0avec2\x20f=fract(p);\x0avec2\x20u=f*f*(3.0-2.0*f);\x0areturn\x20mix(mix(hash(i+vec2(0.0,0.0)),\x0ahash(i+vec2(1.0,0.0)),u.x),\x0amix(hash(i+vec2(0.0,1.0)),\x0ahash(i+vec2(1.0,1.0)),u.x),u.y);\x0a}\x0afloat\x20fbm(vec2\x20p)\x0a{\x0afloat\x20f=0.0;\x0af+=0.5000*noise(p);\x20p*=2.02;\x0af+=0.2500*noise(p);\x20p*=2.03;\x0af+=0.1250*noise(p);\x20p*=2.01;\x0af+=0.0625*noise(p);\x20p*=2.04;\x0af/=0.9375;\x0areturn\x20f;\x0a}\x0avec3\x20pattern(vec2\x20uv)\x0a{\x0avec2\x20p=-1.0+2.0*uv;\x0afloat\x20p2=dot(p,p);\x0afloat\x20f=fbm(vec2(15.0*p2))/2.0;\x0afloat\x20r=0.2+0.6*sin(12.5*length(uv-vec2(0.5)));\x0afloat\x20g=0.2+0.6*sin(20.5*length(uv-vec2(0.5)));\x0afloat\x20b=0.2+0.6*sin(17.2*length(uv-vec2(0.5)));\x0areturn\x20(1.0-f)*vec3(r,g,b);\x0a}\x0afloat\x20luminance(vec3\x20color)\x0a{\x0areturn\x20dot(color.rgb,vec3(0.2126,0.7152,0.0722));\x0a}\x0avec4\x20textureDistorted(sampler2D\x20tex,vec2\x20texcoord,vec2\x20direction,vec3\x20distortion)\x0a{\x0areturn\x20vec4(\x0atexture2D(tex,texcoord+direction*distortion.r).r,\x0atexture2D(tex,texcoord+direction*distortion.g).g,\x0atexture2D(tex,texcoord+direction*distortion.b).b,\x0a1.0\x0a);\x0a}\x0avoid\x20main(void)\x0a{\x0avec2\x20uv=-vUV+vec2(1.0);\x0avec2\x20ghostDir=(vec2(0.5)-uv)*ghostDispersal;\x0avec2\x20texelSize=1.0/resolution;\x0avec3\x20distortion=vec3(-texelSize.x*distortionStrength,0.0,texelSize.x*distortionStrength);\x0avec4\x20result=vec4(0.0);\x0afloat\x20ghostIndice=1.0;\x0afor\x20(int\x20i=0;\x20i=nSamples)\x0abreak;\x0avec2\x20offset1=vUV+velocity*(float(i)/float(nSamples-1)-0.5);\x0aresult+=texture2D(textureSampler,offset1);\x0a}\x0agl_FragColor=result/float(nSamples);\x0a}\x0a#endif\x0a';},0xb043:(_0x317ff6,_0x23d170,_0x58991a)=>{var _0x1003f5=a7_0x1ed280;_0x58991a(0x17a92)['v'][_0x1003f5(0x6d9)]['stereoscopicInterlacePixelShader']=_0x1003f5(0x521);},0xa69a:(_0xb03002,_0x145a41,_0x3af8a3)=>{var _0x621b7a=a7_0x1ed280;_0x3af8a3(0x17a92)['v']['ShadersStore'][_0x621b7a(0x192)]=_0x621b7a(0x92a);},0xccd3:(_0x207a0b,_0x364c88,_0x1b80e4)=>{var _0x525374=a7_0x1ed280;_0x1b80e4(0x17a92)['v'][_0x525374(0x6d9)][_0x525374(0x656)]=_0x525374(0x3d3);},0xf877:(_0x4aa180,_0x19c01d,_0x449203)=>{var _0x180f60=a7_0x1ed280;_0x449203(0x17a92)['v'][_0x180f60(0x6d9)][_0x180f60(0x99f)]=_0x180f60(0x4fd);},0xae44:(_0x3bcae2,_0x3cf918,_0x58df8b)=>{var _0x1273aa=a7_0x1ed280,_0x3e9910=_0x58df8b(0x17a92);_0x58df8b(0x13f9a),_0x58df8b(0x12929),_0x58df8b(0x9ea3),_0x58df8b(0x12abc),_0x58df8b(0x12bc6),_0x58df8b(0x13906),_0x58df8b(0x1070),_0x58df8b(0x733d),_0x58df8b(0xb434),_0x58df8b(0xdcea),_0x3e9910['v'][_0x1273aa(0x6d9)][_0x1273aa(0x205)]='attribute\x20vec3\x20position;\x0a#include\x0a#include\x0a#include\x0a#include[0..maxSimultaneousMorphTargets]\x0a#include\x0auniform\x20mat4\x20viewProjection;\x0auniform\x20vec2\x20depthValues;\x0a#if\x20defined(ALPHATEST)\x20||\x20defined(NEED_UV)\x0avarying\x20vec2\x20vUV;\x0auniform\x20mat4\x20diffuseMatrix;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec3\x20positionUpdated=position;\x0a#if\x20(defined(ALPHATEST)\x20||\x20defined(NEED_UV))\x20&&\x20defined(UV1)\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#include\x0a#include[0..maxSimultaneousMorphTargets]\x0a#include\x0a#include\x0a#include\x0agl_Position=viewProjection*finalWorld*vec4(positionUpdated,1.0);\x0a#if\x20defined(ALPHATEST)\x20||\x20defined(BASIC_RENDER)\x0a#ifdef\x20UV1\x0avUV=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20UV2\x0avUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a}\x0a';},0xfad:(_0x3ff168,_0x1b8fe1,_0x23a7fa)=>{var _0x43497d=a7_0x1ed280;_0x23a7fa(0x17a92)['v'][_0x43497d(0x6d9)]['vrDistortionCorrectionPixelShader']=_0x43497d(0x80a);},0x106e:(_0x4c337f,_0x70854,_0x1859bf)=>{var _0x230cf8=a7_0x1ed280;_0x1859bf(0x17a92)['v']['ShadersStore'][_0x230cf8(0x60c)]=_0x230cf8(0x3e3);},0x557f:(_0x5b6f17,_0x377344,_0x4b19dc)=>{var _0x3f6dd6=a7_0x1ed280;_0x4b19dc['d'](_0x377344,{'T':()=>_0x96b488});var _0x507594=_0x4b19dc(0x77a5),_0xdd045e=_0x4b19dc(0x1a27),_0x1be5b4=_0x4b19dc(0xcef),_0x377344=(_0x4b19dc(0x59fc),_0x4b19dc(0x13479),_0x4b19dc(0x17a92));_0x4b19dc(0x12a16),_0x4b19dc(0x10ef),_0x4b19dc(0x17ef8),_0x377344['v'][_0x3f6dd6(0x6d9)][_0x3f6dd6(0x204)]='uniform\x20bool\x20alphaTest;\x0avarying\x20vec4\x20vColor;\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0a#ifdef\x20PIXEL_PERFECT\x0avec2\x20uvPixelPerfect(vec2\x20uv)\x20{\x0avec2\x20res=vec2(textureSize(diffuseSampler,0));\x0auv=uv*res;\x0avec2\x20seam=floor(uv+0.5);\x0auv=seam+clamp((uv-seam)/fwidth(uv),-0.5,0.5);\x0areturn\x20uv/res;\x0a}\x0a#endif\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#ifdef\x20PIXEL_PERFECT\x0avec2\x20uv=uvPixelPerfect(vUV);\x0a#else\x0avec2\x20uv=vUV;\x0a#endif\x0avec4\x20color=texture2D(diffuseSampler,uv);\x0afloat\x20fAlphaTest=float(alphaTest);\x0aif\x20(fAlphaTest\x20!=\x200.)\x0a{\x0aif\x20(color.a<0.95)\x0adiscard;\x0a}\x0acolor*=vColor;\x0a#include\x0agl_FragColor=color;\x0a#include\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}',_0x4b19dc(0x6a99),_0x377344['v'][_0x3f6dd6(0x6d9)][_0x3f6dd6(0x94a)]=_0x3f6dd6(0xc2e);class _0x96b488{constructor(_0x31ceed,_0x59e111,_0x8f2bca=0.01,_0x42cefe=null){var _0x1ec066=_0x3f6dd6;this[_0x1ec066(0xa34)]=_0x507594['g'][_0x1ec066(0x975)],this[_0x1ec066(0x80c)]=!0x0,this[_0x1ec066(0xa73)]=!0x1,this[_0x1ec066(0x72e)]=!0x0,this['_pixelPerfect']=!0x1,this[_0x1ec066(0x41c)]=!0x1,this[_0x1ec066(0x4b3)]=!0x1,this[_0x1ec066(0xba1)]={},this[_0x1ec066(0x1c0)]=_0x59e111,this[_0x1ec066(0xc83)]=_0x8f2bca,this[_0x1ec066(0x3f5)]=_0x31ceed,this['_useInstancing']=_0x31ceed[_0x1ec066(0x19e)]()[_0x1ec066(0x318)]&&_0x31ceed['_features'][_0x1ec066(0xbc3)],this[_0x1ec066(0x41c)]=_0x31ceed[_0x1ec066(0x19e)]()[_0x1ec066(0x263)]&&!_0x31ceed['disableVertexArrayObjects'],this[_0x1ec066(0x1a8)]=_0x42cefe,this['_useInstancing']||this[_0x1ec066(0x8cf)](),this[_0x1ec066(0x451)]=this[_0x1ec066(0x4b3)]?0x10:0x12,this[_0x1ec066(0x2bd)]=new Float32Array(_0x59e111*this[_0x1ec066(0x451)]*(this['_useInstancing']?0x1:0x4)),this[_0x1ec066(0xb39)]=new _0xdd045e['l'](_0x31ceed,this['_vertexData'],!0x0,this[_0x1ec066(0x451)]),(_0x8f2bca=this[_0x1ec066(0xb39)]['createVertexBuffer'](_0xdd045e['o'][_0x1ec066(0x76f)],0x0,0x4,this[_0x1ec066(0x451)],this[_0x1ec066(0x4b3)]),_0x42cefe=this[_0x1ec066(0xb39)][_0x1ec066(0x731)](_0x1ec066(0xbe6),0x4,0x2,this['_vertexBufferSize'],this[_0x1ec066(0x4b3)]));let _0x3119ab=0x6,_0x398e4b;this['_useInstancing']?(_0x59e111=new Float32Array([0x0,0x0,0x1,0x0,0x0,0x1,0x1,0x1]),this[_0x1ec066(0xc26)]=new _0xdd045e['l'](_0x31ceed,_0x59e111,!0x1,0x2),_0x398e4b=this['_spriteBuffer'][_0x1ec066(0x731)]('offsets',0x0,0x2)):(_0x398e4b=this[_0x1ec066(0xb39)]['createVertexBuffer'](_0x1ec066(0x833),_0x3119ab,0x2,this['_vertexBufferSize'],this[_0x1ec066(0x4b3)]),_0x3119ab+=0x2);var _0x31ceed=this[_0x1ec066(0xb39)][_0x1ec066(0x731)](_0x1ec066(0xc9b),_0x3119ab,0x2,this[_0x1ec066(0x451)],this['_useInstancing']),_0x59e111=this['_buffer'][_0x1ec066(0x731)](_0x1ec066(0xcb8),_0x3119ab+0x2,0x4,this[_0x1ec066(0x451)],this['_useInstancing']),_0x4eb9b1=this[_0x1ec066(0xb39)][_0x1ec066(0x731)](_0xdd045e['o'][_0x1ec066(0x9f7)],_0x3119ab+0x6,0x4,this[_0x1ec066(0x451)],this[_0x1ec066(0x4b3)]);this['_vertexBuffers'][_0xdd045e['o']['PositionKind']]=_0x8f2bca,this[_0x1ec066(0xba1)][_0x1ec066(0xbe6)]=_0x42cefe,this[_0x1ec066(0xba1)][_0x1ec066(0x833)]=_0x398e4b,this[_0x1ec066(0xba1)][_0x1ec066(0xc9b)]=_0x31ceed,this[_0x1ec066(0xba1)][_0x1ec066(0xcb8)]=_0x59e111,this[_0x1ec066(0xba1)][_0xdd045e['o']['ColorKind']]=_0x4eb9b1,this['_createEffects']();}get[_0x3f6dd6(0x4c3)](){var _0x335451=_0x3f6dd6;return this[_0x335451(0x1c0)];}get[_0x3f6dd6(0xccd)](){var _0x2287a8=_0x3f6dd6;return this[_0x2287a8(0x1ec)];}set['pixelPerfect'](_0x4110f8){this['_pixelPerfect']!==_0x4110f8&&(this['_pixelPerfect']=_0x4110f8,this['_createEffects']());}[_0x3f6dd6(0x284)](){var _0x5cc0cc=_0x3f6dd6;null!=(_0x343222=this[_0x5cc0cc(0x629)])&&_0x343222[_0x5cc0cc(0x27f)](),null!=(_0x343222=this['_drawWrapperFog'])&&_0x343222['dispose'](),null!=(_0x343222=this[_0x5cc0cc(0xc90)])&&_0x343222['dispose'](),null!=(_0x343222=this[_0x5cc0cc(0x208)])&&_0x343222[_0x5cc0cc(0x27f)](),this[_0x5cc0cc(0x629)]=new _0x1be5b4['q'](this[_0x5cc0cc(0x3f5)]),this[_0x5cc0cc(0x252)]=new _0x1be5b4['q'](this[_0x5cc0cc(0x3f5)]),this[_0x5cc0cc(0xc90)]=new _0x1be5b4['q'](this['_engine'],!0x1),this['_drawWrapperFogDepth']=new _0x1be5b4['q'](this['_engine'],!0x1),this['_drawWrapperBase'][_0x5cc0cc(0x7b5)]&&(this['_drawWrapperBase'][_0x5cc0cc(0x7b5)]['useInstancing']=this['_useInstancing']),this['_drawWrapperFog']['drawContext']&&(this['_drawWrapperFog'][_0x5cc0cc(0x7b5)]['useInstancing']=this['_useInstancing']),this[_0x5cc0cc(0xc90)][_0x5cc0cc(0x7b5)]&&(this['_drawWrapperDepth'][_0x5cc0cc(0x7b5)][_0x5cc0cc(0x7b0)]=this[_0x5cc0cc(0x4b3)]),this[_0x5cc0cc(0x208)][_0x5cc0cc(0x7b5)]&&(this[_0x5cc0cc(0x208)][_0x5cc0cc(0x7b5)][_0x5cc0cc(0x7b0)]=this[_0x5cc0cc(0x4b3)]);var _0x343222=this[_0x5cc0cc(0x1ec)]?_0x5cc0cc(0x96f):'';this[_0x5cc0cc(0x629)][_0x5cc0cc(0x98f)]=this[_0x5cc0cc(0x3f5)]['createEffect'](_0x5cc0cc(0xb3d),[_0xdd045e['o'][_0x5cc0cc(0x76f)],'options',_0x5cc0cc(0x833),_0x5cc0cc(0xc9b),_0x5cc0cc(0xcb8),_0xdd045e['o'][_0x5cc0cc(0x9f7)]],[_0x5cc0cc(0x557),_0x5cc0cc(0x427),'textureInfos',_0x5cc0cc(0x564)],[_0x5cc0cc(0xbd5)],_0x343222),this['_drawWrapperDepth']['effect']=this[_0x5cc0cc(0x629)][_0x5cc0cc(0x98f)],this[_0x5cc0cc(0xc90)][_0x5cc0cc(0x1a7)]=this[_0x5cc0cc(0x629)]['materialContext'],this['_scene']&&(this['_drawWrapperFog'][_0x5cc0cc(0x98f)]=this[_0x5cc0cc(0x1a8)][_0x5cc0cc(0x489)]()[_0x5cc0cc(0x77e)](_0x5cc0cc(0xb3d),[_0xdd045e['o'][_0x5cc0cc(0x76f)],'options',_0x5cc0cc(0x833),_0x5cc0cc(0xc9b),_0x5cc0cc(0xcb8),_0xdd045e['o']['ColorKind']],[_0x5cc0cc(0x557),_0x5cc0cc(0x427),_0x5cc0cc(0x4dd),_0x5cc0cc(0x564),_0x5cc0cc(0x932),_0x5cc0cc(0x935)],[_0x5cc0cc(0xbd5)],_0x343222+_0x5cc0cc(0x949)),this[_0x5cc0cc(0x208)][_0x5cc0cc(0x98f)]=this[_0x5cc0cc(0x252)][_0x5cc0cc(0x98f)],this[_0x5cc0cc(0x208)][_0x5cc0cc(0x1a7)]=this['_drawWrapperFog'][_0x5cc0cc(0x1a7)]);}[_0x3f6dd6(0xbc7)](_0x478ba1,_0x584ce3,_0x3cca24,_0x1edd93,_0x181be5=null){var _0x5bd169=_0x3f6dd6;if(this[_0x5bd169(0x7a3)]&&this[_0x5bd169(0x7a3)][_0x5bd169(0xae3)]()&&_0x478ba1['length']){let _0x127573=this[_0x5bd169(0x629)],_0x110b31=this[_0x5bd169(0xc90)],_0x175c73=!0x1;this[_0x5bd169(0x72e)]&&this[_0x5bd169(0x1a8)]&&this[_0x5bd169(0x1a8)][_0x5bd169(0x72e)]&&0x0!==this[_0x5bd169(0x1a8)][_0x5bd169(0x31c)]&&(_0x127573=this[_0x5bd169(0x252)],_0x110b31=this[_0x5bd169(0x208)],_0x175c73=!0x0);const _0x4ce0f8=_0x127573[_0x5bd169(0x98f)];if(_0x4ce0f8[_0x5bd169(0xae3)]()){const _0x32b1f9=this['_engine'];var _0x199ae6,_0x1591af,_0x866f1b,_0x36ce1d=!(!this[_0x5bd169(0x1a8)]||!this[_0x5bd169(0x1a8)][_0x5bd169(0x17e)]),_0x592111=this[_0x5bd169(0x7a3)][_0x5bd169(0x9ee)](),_0x5d205f=Math[_0x5bd169(0x686)](this[_0x5bd169(0x1c0)],_0x478ba1[_0x5bd169(0x78d)]);let _0x329aa9=0x0,_0x445094=!0x0;for(let _0x5269f=0x0;_0x5269f<_0x5d205f;_0x5269f++){const _0x5c228a=_0x478ba1[_0x5269f];_0x5c228a&&_0x5c228a[_0x5bd169(0x391)]&&(_0x445094=!0x1,_0x5c228a['_animate'](_0x584ce3),this[_0x5bd169(0x710)](_0x329aa9++,_0x5c228a,0x0,0x0,_0x592111,_0x36ce1d,_0x181be5),this['_useInstancing']||(this[_0x5bd169(0x710)](_0x329aa9++,_0x5c228a,0x1,0x0,_0x592111,_0x36ce1d,_0x181be5),this[_0x5bd169(0x710)](_0x329aa9++,_0x5c228a,0x1,0x1,_0x592111,_0x36ce1d,_0x181be5),this[_0x5bd169(0x710)](_0x329aa9++,_0x5c228a,0x0,0x1,_0x592111,_0x36ce1d,_0x181be5)));}_0x445094||(this[_0x5bd169(0xb39)]['update'](this[_0x5bd169(0x2bd)]),_0x199ae6=!!_0x32b1f9[_0x5bd169(0x8a7)][_0x5bd169(0x2eb)],_0x1591af=_0x32b1f9[_0x5bd169(0x8a7)][_0x5bd169(0x215)],_0x866f1b=_0x32b1f9['depthCullingState']['zOffsetUnits'],_0x32b1f9[_0x5bd169(0x3ea)](_0x199ae6,_0x1591af,!0x1,!0x1,void 0x0,void 0x0,_0x866f1b),_0x32b1f9['enableEffect'](_0x127573),_0x4ce0f8[_0x5bd169(0xc00)](_0x5bd169(0xbd5),this['texture']),_0x4ce0f8[_0x5bd169(0x96d)](_0x5bd169(0x557),_0x3cca24),_0x4ce0f8['setMatrix'](_0x5bd169(0x427),_0x1edd93),_0x175c73&&(_0x3cca24=this['_scene'],_0x4ce0f8[_0x5bd169(0x20e)](_0x5bd169(0x932),_0x3cca24['fogMode'],_0x3cca24[_0x5bd169(0xc7b)],_0x3cca24[_0x5bd169(0xb5d)],_0x3cca24[_0x5bd169(0x367)]),_0x4ce0f8[_0x5bd169(0xaeb)](_0x5bd169(0x935),_0x3cca24[_0x5bd169(0x31b)])),this['_useVAO']?(this[_0x5bd169(0xa19)]||(this['_vertexArrayObject']=_0x32b1f9['recordVertexArrayObject'](this[_0x5bd169(0xba1)],this[_0x5bd169(0x187)],_0x4ce0f8)),_0x32b1f9[_0x5bd169(0x86e)](this[_0x5bd169(0xa19)],this[_0x5bd169(0x187)])):_0x32b1f9[_0x5bd169(0x145)](this[_0x5bd169(0xba1)],this[_0x5bd169(0x187)],_0x4ce0f8),_0x32b1f9[_0x5bd169(0x8a7)][_0x5bd169(0x43c)]=_0x32b1f9[_0x5bd169(0x501)]?_0x507594['g'][_0x5bd169(0x48b)]:_0x507594['g'][_0x5bd169(0x3e2)],this['disableDepthWrite']||(_0x4ce0f8[_0x5bd169(0x229)]('alphaTest',!0x0),_0x32b1f9[_0x5bd169(0xb5e)](!0x1),_0x32b1f9[_0x5bd169(0x2af)](_0x110b31),this[_0x5bd169(0x4b3)]?_0x32b1f9[_0x5bd169(0x54b)](_0x507594['g'][_0x5bd169(0x4ad)],0x0,0x4,_0x329aa9):_0x32b1f9[_0x5bd169(0x870)](_0x507594['g'][_0x5bd169(0x6e4)],0x0,_0x329aa9/0x4*0x6),_0x32b1f9['enableEffect'](_0x127573),_0x32b1f9[_0x5bd169(0xb5e)](!0x0),_0x4ce0f8[_0x5bd169(0x229)](_0x5bd169(0x564),!0x1)),_0x32b1f9[_0x5bd169(0x8a8)](this[_0x5bd169(0xa34)]),this[_0x5bd169(0x4b3)]?_0x32b1f9[_0x5bd169(0x54b)](_0x507594['g'][_0x5bd169(0x4ad)],0x0,0x4,_0x329aa9):_0x32b1f9[_0x5bd169(0x870)](_0x507594['g'][_0x5bd169(0x6e4)],0x0,_0x329aa9/0x4*0x6),this[_0x5bd169(0x80c)]&&_0x32b1f9[_0x5bd169(0x8a8)](_0x507594['g'][_0x5bd169(0xa55)]),_0x36ce1d&&this['_scene'][_0x5bd169(0x489)]()[_0x5bd169(0x3ea)](_0x199ae6,_0x1591af,!0x1,!0x0,void 0x0,void 0x0,_0x866f1b),_0x32b1f9[_0x5bd169(0x2d3)]());}}}[_0x3f6dd6(0x710)](_0x2a7804,_0x18e54c,_0x363c2e,_0x4a2ba6,_0x417ed5,_0x19b41f,_0x36e1c7){var _0x46e9e9=_0x3f6dd6;let _0x37ad45=_0x2a7804*this[_0x46e9e9(0x451)];0x0===_0x363c2e?_0x363c2e=this[_0x46e9e9(0xc83)]:0x1===_0x363c2e&&(_0x363c2e=0x1-this[_0x46e9e9(0xc83)]),0x0===_0x4a2ba6?_0x4a2ba6=this[_0x46e9e9(0xc83)]:0x1===_0x4a2ba6&&(_0x4a2ba6=0x1-this[_0x46e9e9(0xc83)]),_0x36e1c7?_0x36e1c7(_0x18e54c,_0x417ed5):(_0x18e54c[_0x46e9e9(0x90a)]||(_0x18e54c[_0x46e9e9(0x90a)]=0x0),_0x2a7804=_0x417ed5[_0x46e9e9(0xb58)]/this[_0x46e9e9(0x4c8)],_0x36e1c7=_0x18e54c[_0x46e9e9(0x90a)]/_0x2a7804>>0x0,_0x18e54c[_0x46e9e9(0x850)]=(_0x18e54c[_0x46e9e9(0x90a)]-_0x36e1c7*_0x2a7804)*this['cellWidth']/_0x417ed5['width'],_0x18e54c[_0x46e9e9(0x570)]=_0x36e1c7*this[_0x46e9e9(0x7ca)]/_0x417ed5[_0x46e9e9(0x520)],_0x18e54c[_0x46e9e9(0x2bb)]=this[_0x46e9e9(0x4c8)],_0x18e54c['_ySize']=this[_0x46e9e9(0x7ca)]),this[_0x46e9e9(0x2bd)][_0x37ad45]=_0x18e54c[_0x46e9e9(0x9e3)]['x'],this['_vertexData'][_0x37ad45+0x1]=_0x18e54c[_0x46e9e9(0x9e3)]['y'],this[_0x46e9e9(0x2bd)][_0x37ad45+0x2]=_0x18e54c[_0x46e9e9(0x9e3)]['z'],this[_0x46e9e9(0x2bd)][_0x37ad45+0x3]=_0x18e54c[_0x46e9e9(0x8b9)],this[_0x46e9e9(0x2bd)][_0x37ad45+0x4]=_0x18e54c[_0x46e9e9(0xb58)],this['_vertexData'][_0x37ad45+0x5]=_0x18e54c['height'],this[_0x46e9e9(0x4b3)]?_0x37ad45-=0x2:(this[_0x46e9e9(0x2bd)][_0x37ad45+0x6]=_0x363c2e,this['_vertexData'][_0x37ad45+0x7]=_0x4a2ba6),this[_0x46e9e9(0x2bd)][_0x37ad45+0x8]=_0x19b41f?_0x18e54c[_0x46e9e9(0x1fa)]?0x0:0x1:_0x18e54c[_0x46e9e9(0x1fa)]?0x1:0x0,this[_0x46e9e9(0x2bd)][_0x37ad45+0x9]=_0x18e54c[_0x46e9e9(0xcb9)]?0x1:0x0,this[_0x46e9e9(0x2bd)][_0x37ad45+0xa]=_0x18e54c[_0x46e9e9(0x850)],this[_0x46e9e9(0x2bd)][_0x37ad45+0xb]=_0x18e54c[_0x46e9e9(0x570)],this['_vertexData'][_0x37ad45+0xc]=_0x18e54c['_xSize']/_0x417ed5[_0x46e9e9(0xb58)],this[_0x46e9e9(0x2bd)][_0x37ad45+0xd]=_0x18e54c[_0x46e9e9(0x7f8)]/_0x417ed5[_0x46e9e9(0x520)],this[_0x46e9e9(0x2bd)][_0x37ad45+0xe]=_0x18e54c[_0x46e9e9(0xc02)]['r'],this[_0x46e9e9(0x2bd)][_0x37ad45+0xf]=_0x18e54c[_0x46e9e9(0xc02)]['g'],this[_0x46e9e9(0x2bd)][_0x37ad45+0x10]=_0x18e54c[_0x46e9e9(0xc02)]['b'],this[_0x46e9e9(0x2bd)][_0x37ad45+0x11]=_0x18e54c[_0x46e9e9(0xc02)]['a'];}[_0x3f6dd6(0x8cf)](){var _0x545e08=_0x3f6dd6;const _0x1ef06c=[];let _0x3ff0f7=0x0;for(let _0x1f0c3c=0x0;_0x1f0c3c{var _0x12d80f=a7_0x1ed280;_0x40c0f7['d'](_0x40cf4c,{'l':()=>_0x2fae49});class _0x2fae49{constructor(){var _0x3bf36b=a7_0x3908;this['width']=0x1,this['height']=0x1,this['angle']=0x0,this[_0x3bf36b(0x1fa)]=!0x1,this[_0x3bf36b(0xcb9)]=!0x1,this['isVisible']=!0x0,this[_0x3bf36b(0x6ef)]=!0x1,this[_0x3bf36b(0xba0)]=!0x1,this[_0x3bf36b(0x25b)]=0x0,this[_0x3bf36b(0xac1)]=0x0,this[_0x3bf36b(0x9fa)]=0x0,this[_0x3bf36b(0xbc2)]=0x1,this['_time']=0x0,this[_0x3bf36b(0x53a)]=null,this[_0x3bf36b(0x9e3)]={'x':0x1,'y':0x1,'z':0x1},this[_0x3bf36b(0xc02)]={'r':0x1,'g':0x1,'b':0x1,'a':0x1};}get[_0x12d80f(0x9d4)](){var _0x3c0a04=_0x12d80f;return this[_0x3c0a04(0x6ef)];}get['fromIndex'](){var _0x12b7c2=_0x12d80f;return this[_0x12b7c2(0x25b)];}get['toIndex'](){var _0xc91f8d=_0x12d80f;return this[_0xc91f8d(0xac1)];}get[_0x12d80f(0x26e)](){var _0x5ad691=_0x12d80f;return this[_0x5ad691(0xba0)];}get['delay'](){var _0x4fa001=_0x12d80f;return Math[_0x4fa001(0x843)](this['_delay'],0x1);}[_0x12d80f(0x89e)](_0xb4603f,_0x50848d,_0x474dc5,_0x385536,_0x36b16a){var _0xcab0bc=_0x12d80f;this[_0xcab0bc(0x25b)]=_0xb4603f,this[_0xcab0bc(0xac1)]=_0x50848d,this[_0xcab0bc(0xba0)]=_0x474dc5,this['_delay']=_0x385536||0x1,this[_0xcab0bc(0x6ef)]=!0x0,this[_0xcab0bc(0x53a)]=_0x36b16a,_0xb4603f<_0x50848d?this[_0xcab0bc(0xbc2)]=0x1:(this[_0xcab0bc(0xbc2)]=-0x1,this[_0xcab0bc(0xac1)]=_0xb4603f,this[_0xcab0bc(0x25b)]=_0x50848d),this['cellIndex']=_0xb4603f,this[_0xcab0bc(0x1c9)]=0x0;}[_0x12d80f(0xa0f)](){this['_animationStarted']=!0x1;}[_0x12d80f(0xa29)](_0x2bcad5){var _0x22cb41=_0x12d80f;this['_animationStarted']&&(this['_time']+=_0x2bcad5,this[_0x22cb41(0x1c9)]>this[_0x22cb41(0x9fa)]&&(this['_time']=this[_0x22cb41(0x1c9)]%this['_delay'],this[_0x22cb41(0x90a)]+=this[_0x22cb41(0xbc2)],(0x0this[_0x22cb41(0xac1)]||this[_0x22cb41(0xbc2)]<0x0&&this[_0x22cb41(0x90a)]{var _0x3ba711=a7_0x1ed280;_0x58cbcb['d'](_0x16d898,{'Q':()=>_0x5e549f});class _0x5e549f{constructor(){var _0xc24d5=a7_0x3908;this[_0xc24d5(0x20d)]=new Array(0x4),this['_blendEquationParameters']=new Array(0x2),this[_0xc24d5(0xb94)]=new Array(0x4),this[_0xc24d5(0x8b8)]=!0x1,this[_0xc24d5(0x412)]=!0x1,this[_0xc24d5(0x9d8)]=!0x1,this[_0xc24d5(0x163)]=!0x1,this['_isBlendEquationParametersDirty']=!0x1,this['reset']();}get[_0x3ba711(0x77f)](){var _0x469924=_0x3ba711;return this[_0x469924(0x9d8)]||this['_isBlendFunctionParametersDirty']||this[_0x469924(0x63f)];}get[_0x3ba711(0x57d)](){return this['_alphaBlend'];}set[_0x3ba711(0x57d)](_0xb76b8e){var _0x90cd14=_0x3ba711;this[_0x90cd14(0x412)]!==_0xb76b8e&&(this['_alphaBlend']=_0xb76b8e,this[_0x90cd14(0x9d8)]=!0x0);}['setAlphaBlendConstants'](_0x225eab,_0x5e6bc8,_0xacf1bd,_0x39232f){var _0x4001f9=_0x3ba711;this['_blendConstants'][0x0]===_0x225eab&&this[_0x4001f9(0xb94)][0x1]===_0x5e6bc8&&this['_blendConstants'][0x2]===_0xacf1bd&&this['_blendConstants'][0x3]===_0x39232f||(this[_0x4001f9(0xb94)][0x0]=_0x225eab,this[_0x4001f9(0xb94)][0x1]=_0x5e6bc8,this['_blendConstants'][0x2]=_0xacf1bd,this[_0x4001f9(0xb94)][0x3]=_0x39232f,this[_0x4001f9(0x8b8)]=!0x0);}[_0x3ba711(0x230)](_0x2d4f85,_0x1bcc14,_0x56d28d,_0x469f3d){var _0x49fe08=_0x3ba711;this['_blendFunctionParameters'][0x0]===_0x2d4f85&&this['_blendFunctionParameters'][0x1]===_0x1bcc14&&this[_0x49fe08(0x20d)][0x2]===_0x56d28d&&this[_0x49fe08(0x20d)][0x3]===_0x469f3d||(this[_0x49fe08(0x20d)][0x0]=_0x2d4f85,this[_0x49fe08(0x20d)][0x1]=_0x1bcc14,this['_blendFunctionParameters'][0x2]=_0x56d28d,this[_0x49fe08(0x20d)][0x3]=_0x469f3d,this[_0x49fe08(0x163)]=!0x0);}[_0x3ba711(0x70e)](_0x26566e,_0x48d67d){var _0x27b19e=_0x3ba711;this['_blendEquationParameters'][0x0]===_0x26566e&&this[_0x27b19e(0x946)][0x1]===_0x48d67d||(this[_0x27b19e(0x946)][0x0]=_0x26566e,this[_0x27b19e(0x946)][0x1]=_0x48d67d,this[_0x27b19e(0x63f)]=!0x0);}['reset'](){var _0x2e6b6c=_0x3ba711;this['_alphaBlend']=!0x1,this[_0x2e6b6c(0x20d)][0x0]=null,this[_0x2e6b6c(0x20d)][0x1]=null,this[_0x2e6b6c(0x20d)][0x2]=null,this[_0x2e6b6c(0x20d)][0x3]=null,this[_0x2e6b6c(0x946)][0x0]=null,this[_0x2e6b6c(0x946)][0x1]=null,this[_0x2e6b6c(0xb94)][0x0]=null,this[_0x2e6b6c(0xb94)][0x1]=null,this[_0x2e6b6c(0xb94)][0x2]=null,this['_blendConstants'][0x3]=null,this['_isAlphaBlendDirty']=!0x0,this[_0x2e6b6c(0x163)]=!0x1,this['_isBlendEquationParametersDirty']=!0x1,this[_0x2e6b6c(0x8b8)]=!0x1;}['apply'](_0x1af862){var _0x2d01dd=_0x3ba711;this[_0x2d01dd(0x77f)]&&(this[_0x2d01dd(0x9d8)]&&(this[_0x2d01dd(0x412)]?_0x1af862['enable'](_0x1af862['BLEND']):_0x1af862[_0x2d01dd(0x1c4)](_0x1af862['BLEND']),this[_0x2d01dd(0x9d8)]=!0x1),this[_0x2d01dd(0x163)]&&(_0x1af862[_0x2d01dd(0x516)](this['_blendFunctionParameters'][0x0],this['_blendFunctionParameters'][0x1],this[_0x2d01dd(0x20d)][0x2],this[_0x2d01dd(0x20d)][0x3]),this[_0x2d01dd(0x163)]=!0x1),this[_0x2d01dd(0x63f)]&&(_0x1af862[_0x2d01dd(0xa3c)](this[_0x2d01dd(0x946)][0x0],this[_0x2d01dd(0x946)][0x1]),this['_isBlendEquationParametersDirty']=!0x1),this['_isBlendConstantsDirty']&&(_0x1af862['blendColor'](this[_0x2d01dd(0xb94)][0x0],this['_blendConstants'][0x1],this[_0x2d01dd(0xb94)][0x2],this[_0x2d01dd(0xb94)][0x3]),this[_0x2d01dd(0x8b8)]=!0x1));}}},0x12621:(_0x54e09d,_0x1a6f35,_0x26b8e7)=>{var _0x2675f6=a7_0x1ed280;_0x26b8e7['d'](_0x1a6f35,{'k':()=>_0x1a2591});class _0x1a2591{constructor(_0x521f1b=!0x0){var _0x24ac74=a7_0x3908;this[_0x24ac74(0x817)]=!0x1,this[_0x24ac74(0x9d1)]=!0x1,this[_0x24ac74(0xa1d)]=!0x1,this[_0x24ac74(0xcab)]=!0x1,this[_0x24ac74(0x55e)]=!0x1,this[_0x24ac74(0x68d)]=!0x1,this[_0x24ac74(0x70a)]=!0x1,_0x521f1b&&this['reset']();}get[_0x2675f6(0x77f)](){var _0x33cd6e=_0x2675f6;return this[_0x33cd6e(0xa1d)]||this['_isDepthTestDirty']||this[_0x33cd6e(0x9d1)]||this[_0x33cd6e(0xcab)]||this[_0x33cd6e(0x55e)]||this[_0x33cd6e(0x68d)]||this[_0x33cd6e(0x70a)];}get['zOffset'](){var _0x3ec260=_0x2675f6;return this[_0x3ec260(0x559)];}set[_0x2675f6(0x215)](_0x26fdd2){var _0x202c9b=_0x2675f6;this[_0x202c9b(0x559)]!==_0x26fdd2&&(this[_0x202c9b(0x559)]=_0x26fdd2,this[_0x202c9b(0x68d)]=!0x0);}get[_0x2675f6(0x3cc)](){var _0x1ff6b8=_0x2675f6;return this[_0x1ff6b8(0x699)];}set['zOffsetUnits'](_0x288445){var _0x571071=_0x2675f6;this['_zOffsetUnits']!==_0x288445&&(this[_0x571071(0x699)]=_0x288445,this['_isZOffsetDirty']=!0x0);}get[_0x2675f6(0x34a)](){var _0x2cbf89=_0x2675f6;return this[_0x2cbf89(0x354)];}set[_0x2675f6(0x34a)](_0xdeaffe){var _0x4fcb95=_0x2675f6;this['_cullFace']!==_0xdeaffe&&(this[_0x4fcb95(0x354)]=_0xdeaffe,this[_0x4fcb95(0xcab)]=!0x0);}get[_0x2675f6(0x2eb)](){var _0x56747e=_0x2675f6;return this[_0x56747e(0x8fb)];}set[_0x2675f6(0x2eb)](_0x408ed2){var _0x237de7=_0x2675f6;this[_0x237de7(0x8fb)]!==_0x408ed2&&(this[_0x237de7(0x8fb)]=_0x408ed2,this['_isCullDirty']=!0x0);}get[_0x2675f6(0x43c)](){var _0x4fbc23=_0x2675f6;return this[_0x4fbc23(0x701)];}set[_0x2675f6(0x43c)](_0xe44b56){var _0xb671d4=_0x2675f6;this[_0xb671d4(0x701)]!==_0xe44b56&&(this[_0xb671d4(0x701)]=_0xe44b56,this[_0xb671d4(0xa1d)]=!0x0);}get[_0x2675f6(0x255)](){var _0x61055b=_0x2675f6;return this[_0x61055b(0x529)];}set[_0x2675f6(0x255)](_0x2b428a){var _0x2b492f=_0x2675f6;this[_0x2b492f(0x529)]!==_0x2b428a&&(this[_0x2b492f(0x529)]=_0x2b428a,this[_0x2b492f(0x9d1)]=!0x0);}get[_0x2675f6(0x59e)](){var _0x545cae=_0x2675f6;return this[_0x545cae(0xbc4)];}set['depthTest'](_0x270adf){var _0x4fab5a=_0x2675f6;this[_0x4fab5a(0xbc4)]!==_0x270adf&&(this[_0x4fab5a(0xbc4)]=_0x270adf,this[_0x4fab5a(0x817)]=!0x0);}get[_0x2675f6(0x2be)](){var _0x761721=_0x2675f6;return this[_0x761721(0xa2b)];}set[_0x2675f6(0x2be)](_0x313b09){var _0x19e6e0=_0x2675f6;this['_frontFace']!==_0x313b09&&(this[_0x19e6e0(0xa2b)]=_0x313b09,this[_0x19e6e0(0x70a)]=!0x0);}['reset'](){var _0x1e27f6=_0x2675f6;this['_depthMask']=!0x0,this['_depthTest']=!0x0,this[_0x1e27f6(0x701)]=null,this[_0x1e27f6(0x354)]=null,this['_cull']=null,this['_zOffset']=0x0,this[_0x1e27f6(0x699)]=0x0,this['_frontFace']=null,this[_0x1e27f6(0x817)]=!0x0,this[_0x1e27f6(0x9d1)]=!0x0,this[_0x1e27f6(0xa1d)]=!0x1,this['_isCullFaceDirty']=!0x1,this[_0x1e27f6(0x55e)]=!0x1,this[_0x1e27f6(0x68d)]=!0x0,this[_0x1e27f6(0x70a)]=!0x1;}[_0x2675f6(0xcca)](_0x244607){var _0x45ec6e=_0x2675f6;this[_0x45ec6e(0x77f)]&&(this[_0x45ec6e(0x55e)]&&(this[_0x45ec6e(0x2eb)]?_0x244607[_0x45ec6e(0xc94)](_0x244607[_0x45ec6e(0x1fe)]):_0x244607[_0x45ec6e(0x1c4)](_0x244607['CULL_FACE']),this[_0x45ec6e(0x55e)]=!0x1),this[_0x45ec6e(0xcab)]&&(_0x244607[_0x45ec6e(0x34a)](this['cullFace']),this[_0x45ec6e(0xcab)]=!0x1),this['_isDepthMaskDirty']&&(_0x244607[_0x45ec6e(0x255)](this['depthMask']),this[_0x45ec6e(0x9d1)]=!0x1),this[_0x45ec6e(0x817)]&&(this['depthTest']?_0x244607[_0x45ec6e(0xc94)](_0x244607[_0x45ec6e(0x17a)]):_0x244607['disable'](_0x244607[_0x45ec6e(0x17a)]),this[_0x45ec6e(0x817)]=!0x1),this[_0x45ec6e(0xa1d)]&&(_0x244607['depthFunc'](this[_0x45ec6e(0x43c)]),this[_0x45ec6e(0xa1d)]=!0x1),this['_isZOffsetDirty']&&(this[_0x45ec6e(0x215)]||this['zOffsetUnits']?(_0x244607[_0x45ec6e(0xc94)](_0x244607[_0x45ec6e(0x5e3)]),_0x244607[_0x45ec6e(0x519)](this[_0x45ec6e(0x215)],this[_0x45ec6e(0x3cc)])):_0x244607[_0x45ec6e(0x1c4)](_0x244607[_0x45ec6e(0x5e3)]),this[_0x45ec6e(0x68d)]=!0x1),this[_0x45ec6e(0x70a)]&&(_0x244607['frontFace'](this[_0x45ec6e(0x2be)]),this[_0x45ec6e(0x70a)]=!0x1));}}},0x2902:(_0x57fd34,_0x11055c,_0x3f9051)=>{var _0x4e1d63=a7_0x1ed280;_0x3f9051['d'](_0x11055c,{'C':()=>_0x39a0fe});class _0x39a0fe{constructor(_0x5512fb=!0x0){var _0x50d252=a7_0x3908;this[_0x50d252(0x5df)]=!0x1,this['_isStencilMaskDirty']=!0x1,this['_isStencilFuncDirty']=!0x1,this[_0x50d252(0xbb9)]=!0x1,this['useStencilGlobalOnly']=!0x1,_0x5512fb&&this[_0x50d252(0xa4d)]();}get[_0x4e1d63(0x77f)](){var _0x39ac7f=_0x4e1d63;return this[_0x39ac7f(0x5df)]||this[_0x39ac7f(0x55b)]||this[_0x39ac7f(0x58d)]||this['_isStencilOpDirty'];}get[_0x4e1d63(0x6aa)](){return this['_func'];}set['func'](_0x1b45bc){var _0x2bfa97=_0x4e1d63;this[_0x2bfa97(0x754)]!==_0x1b45bc&&(this['_func']=_0x1b45bc,this[_0x2bfa97(0x58d)]=!0x0);}get[_0x4e1d63(0x454)](){var _0xcfdf6d=_0x4e1d63;return this[_0xcfdf6d(0x7cb)];}set[_0x4e1d63(0x454)](_0x3491d8){var _0x3ffeec=_0x4e1d63;this['_funcRef']!==_0x3491d8&&(this['_funcRef']=_0x3491d8,this[_0x3ffeec(0x58d)]=!0x0);}get[_0x4e1d63(0x540)](){var _0x4668e0=_0x4e1d63;return this[_0x4668e0(0x9dd)];}set['funcMask'](_0x55b600){var _0x12f387=_0x4e1d63;this[_0x12f387(0x9dd)]!==_0x55b600&&(this[_0x12f387(0x9dd)]=_0x55b600,this[_0x12f387(0x58d)]=!0x0);}get[_0x4e1d63(0x91e)](){var _0x143670=_0x4e1d63;return this[_0x143670(0xbaa)];}set['opStencilFail'](_0x4f6631){var _0x423437=_0x4e1d63;this['_opStencilFail']!==_0x4f6631&&(this[_0x423437(0xbaa)]=_0x4f6631,this[_0x423437(0xbb9)]=!0x0);}get['opDepthFail'](){var _0x534b42=_0x4e1d63;return this[_0x534b42(0xb29)];}set[_0x4e1d63(0x64b)](_0xc26a94){var _0x53b952=_0x4e1d63;this['_opDepthFail']!==_0xc26a94&&(this[_0x53b952(0xb29)]=_0xc26a94,this[_0x53b952(0xbb9)]=!0x0);}get[_0x4e1d63(0x95d)](){return this['_opStencilDepthPass'];}set[_0x4e1d63(0x95d)](_0x4c16b1){var _0xb6c111=_0x4e1d63;this[_0xb6c111(0x3a9)]!==_0x4c16b1&&(this[_0xb6c111(0x3a9)]=_0x4c16b1,this[_0xb6c111(0xbb9)]=!0x0);}get[_0x4e1d63(0x18f)](){var _0x2c4e97=_0x4e1d63;return this[_0x2c4e97(0x1cb)];}set[_0x4e1d63(0x18f)](_0x2882bb){var _0x129d46=_0x4e1d63;this[_0x129d46(0x1cb)]!==_0x2882bb&&(this[_0x129d46(0x1cb)]=_0x2882bb,this['_isStencilMaskDirty']=!0x0);}get[_0x4e1d63(0xcf4)](){var _0xc0a857=_0x4e1d63;return this[_0xc0a857(0x94d)];}set[_0x4e1d63(0xcf4)](_0x7142ac){var _0x536e91=_0x4e1d63;this[_0x536e91(0x94d)]!==_0x7142ac&&(this[_0x536e91(0x94d)]=_0x7142ac,this[_0x536e91(0x5df)]=!0x0);}[_0x4e1d63(0xa4d)](){var _0x4c7b76=_0x4e1d63,_0x3d6923;this[_0x4c7b76(0x83e)]=void 0x0,null!=(_0x3d6923=this['stencilGlobal'])&&_0x3d6923['reset'](),this[_0x4c7b76(0x5df)]=!0x0,this['_isStencilMaskDirty']=!0x0,this[_0x4c7b76(0x58d)]=!0x0,this[_0x4c7b76(0xbb9)]=!0x0;}['apply'](_0x12d9f6){var _0x439fe7=_0x4e1d63,_0x510028;_0x12d9f6&&(_0x510028=!this[_0x439fe7(0x5b5)]&&!(null==(_0x510028=this['stencilMaterial'])||!_0x510028['enabled']),this[_0x439fe7(0xcf4)]=(_0x510028?this[_0x439fe7(0x83e)]:this['stencilGlobal'])[_0x439fe7(0xcf4)],this[_0x439fe7(0x6aa)]=(_0x510028?this[_0x439fe7(0x83e)]:this[_0x439fe7(0xc46)])[_0x439fe7(0x6aa)],this[_0x439fe7(0x454)]=(_0x510028?this['stencilMaterial']:this[_0x439fe7(0xc46)])['funcRef'],this['funcMask']=(_0x510028?this[_0x439fe7(0x83e)]:this['stencilGlobal'])['funcMask'],this[_0x439fe7(0x91e)]=(_0x510028?this[_0x439fe7(0x83e)]:this[_0x439fe7(0xc46)])[_0x439fe7(0x91e)],this['opDepthFail']=(_0x510028?this[_0x439fe7(0x83e)]:this[_0x439fe7(0xc46)])[_0x439fe7(0x64b)],this[_0x439fe7(0x95d)]=(_0x510028?this[_0x439fe7(0x83e)]:this[_0x439fe7(0xc46)])[_0x439fe7(0x95d)],this[_0x439fe7(0x18f)]=(_0x510028?this[_0x439fe7(0x83e)]:this[_0x439fe7(0xc46)])[_0x439fe7(0x18f)],this['isDirty']&&(this[_0x439fe7(0x5df)]&&(this[_0x439fe7(0xcf4)]?_0x12d9f6[_0x439fe7(0xc94)](_0x12d9f6[_0x439fe7(0x180)]):_0x12d9f6[_0x439fe7(0x1c4)](_0x12d9f6[_0x439fe7(0x180)]),this[_0x439fe7(0x5df)]=!0x1),this['_isStencilMaskDirty']&&(_0x12d9f6[_0x439fe7(0xbbf)](this['mask']),this[_0x439fe7(0x55b)]=!0x1),this['_isStencilFuncDirty']&&(_0x12d9f6['stencilFunc'](this[_0x439fe7(0x6aa)],this[_0x439fe7(0x454)],this[_0x439fe7(0x540)]),this[_0x439fe7(0x58d)]=!0x1),this[_0x439fe7(0xbb9)]&&(_0x12d9f6['stencilOp'](this[_0x439fe7(0x91e)],this['opDepthFail'],this[_0x439fe7(0x95d)]),this['_isStencilOpDirty']=!0x1)));}}},0xde31:(_0x3e7fc0,_0x45b4ac,_0x1bc1a1)=>{var _0x1a73a0=a7_0x1ed280;_0x1bc1a1['d'](_0x45b4ac,{'F':()=>_0x11f1bb});class _0x11f1bb{constructor(_0x3f8a16){var _0x43a9ff=a7_0x3908;this['_xrSessionManager']=_0x3f8a16,this[_0x43a9ff(0x828)]=!0x1,this[_0x43a9ff(0xd15)]=[],this[_0x43a9ff(0x19a)]=!0x1,this[_0x43a9ff(0x405)]=!0x1,this[_0x43a9ff(0x356)]='';}get[_0x1a73a0(0x30a)](){var _0x204f43=_0x1a73a0;return this[_0x204f43(0x828)];}[_0x1a73a0(0x7aa)](_0x21c4da){var _0x4c0828=_0x1a73a0;if(this['isDisposed'])return!0x1;if(_0x21c4da)this[_0x4c0828(0x30a)]&&this[_0x4c0828(0xa62)]();else{if(this['attached'])return!0x1;}return this['_attached']=!0x0,this[_0x4c0828(0xa58)](this[_0x4c0828(0x485)][_0x4c0828(0x854)],_0x263924=>this[_0x4c0828(0x1d7)](_0x263924)),!0x0;}[_0x1a73a0(0xa62)](){var _0x402bef=_0x1a73a0;return this[_0x402bef(0x828)]?(this[_0x402bef(0x828)]=!0x1,this[_0x402bef(0xd15)]['forEach'](_0xe81008=>{var _0x1167b5=_0x402bef;_0xe81008[_0x1167b5(0x6c8)][_0x1167b5(0x961)](_0xe81008[_0x1167b5(0xae9)]);}),!0x0):!(this['disableAutoAttach']=!0x0);}[_0x1a73a0(0x27f)](){var _0x226391=_0x1a73a0;this[_0x226391(0xa62)](),this['isDisposed']=!0x0;}[_0x1a73a0(0xb56)](){return!0x0;}[_0x1a73a0(0xa58)](_0x4a5838,_0x3816da){var _0x318db9=_0x1a73a0;this[_0x318db9(0xd15)][_0x318db9(0x6fe)]({'observable':_0x4a5838,'observer':_0x4a5838[_0x318db9(0x95e)](_0x3816da)});}}},0x3a6b:(_0x1f7456,_0x513624,_0x2a0ddc)=>{var _0xd4f85b=a7_0x1ed280;_0x2a0ddc['d'](_0x513624,{'s':()=>_0x11ab45});class _0x11ab45{constructor(_0x17b3cb,_0x3e052b,_0x1033e6,_0x2de8eb,_0x115c56){var _0x51d50e=a7_0x3908;this[_0x51d50e(0x6e6)]=_0x17b3cb,this['getHeight']=_0x3e052b,this[_0x51d50e(0x4d3)]=_0x1033e6,this['layerType']=_0x2de8eb,this[_0x51d50e(0x65d)]=_0x115c56;}get['isFixedFoveationSupported'](){var _0x48bcba=a7_0x3908;return _0x48bcba(0x490)==this['layerType']&&_0x48bcba(0x7ed)==typeof this['layer'][_0x48bcba(0xbac)];}get[_0xd4f85b(0xbac)](){var _0x21f76d=_0xd4f85b;return this[_0x21f76d(0x93b)]?this[_0x21f76d(0x4d3)]['fixedFoveation']:null;}set[_0xd4f85b(0xbac)](_0x2242c8){var _0x27a6b5=_0xd4f85b;this['isFixedFoveationSupported']&&(_0x2242c8=Math[_0x27a6b5(0x843)](0x0,Math['min'](0x1,_0x2242c8||0x0)),this[_0x27a6b5(0x4d3)]['fixedFoveation']=_0x2242c8);}}},0x43e9:(_0x4d3a10,_0x1d0ad1,_0x588eef)=>{var _0x757ac7=a7_0x1ed280;_0x588eef['d'](_0x1d0ad1,{'T':()=>_0x471445});var _0xb0e5c4=_0x588eef(0x2f9d);class _0x471445{constructor(_0xc206f7,_0x12fe5f){var _0x188923=a7_0x3908;this[_0x188923(0x953)]=0x0,this[_0x188923(0x842)]={},this[_0x188923(0xc60)]=0x0,_0xc206f7 instanceof SharedArrayBuffer?(this[_0x188923(0x4ba)]=_0xc206f7,this[_0x188923(0x953)]=_0xc206f7[_0x188923(0xbda)]/(0x4*_0x471445[_0x188923(0x646)]),this[_0x188923(0x842)]=_0x12fe5f):(this[_0x188923(0x4ba)]=new SharedArrayBuffer(_0xc206f7*(0x4*_0x471445[_0x188923(0x646)])),this[_0x188923(0x953)]=_0xc206f7),this['textE']=new TextEncoder(),this[_0x188923(0x984)]=new TextDecoder(),this[_0x188923(0xa46)]=new Float32Array(this[_0x188923(0x4ba)]),this[_0x188923(0x1f9)]=new Int32Array(this[_0x188923(0x4ba)]),this[_0x188923(0x4ae)]=new Uint8Array(this[_0x188923(0x4ba)]),this[_0x188923(0x4fa)]=new Uint8Array(0xc8);}[_0x757ac7(0x203)](_0x24fdd2){var _0x1eb58a=_0x757ac7;return _0x24fdd2=this[_0x1eb58a(0x842)][_0x24fdd2],this[_0x1eb58a(0xa46)][_0x1eb58a(0xba9)](_0x24fdd2,_0x24fdd2+0x3);}[_0x757ac7(0xae2)](_0x176696){var _0x255233=_0x757ac7;return _0x176696=this['modelIndexOffsetStart'][_0x176696]+0x3,this[_0x255233(0xa46)][_0x255233(0xba9)](_0x176696,_0x176696+0x3);}[_0x757ac7(0x28f)](_0x3c778c){var _0x34669c=_0x757ac7;return _0x3c778c=this[_0x34669c(0x842)][_0x3c778c]+0x6,this[_0x34669c(0xa46)][_0x34669c(0xba9)](_0x3c778c,_0x3c778c+0x10);}['customizeMaterialCount'](_0xe2c389){var _0x57024f=_0x757ac7;return _0xe2c389=this[_0x57024f(0x842)][_0xe2c389]+0x1d,this['i32d'][_0x57024f(0xba9)](_0xe2c389,_0xe2c389+0x1);}[_0x757ac7(0x54f)](_0xef67dd){var _0x587d40=_0x757ac7;return _0xef67dd=this['modelIndexOffsetStart'][_0xef67dd]+0x1c,this[_0x587d40(0x1f9)][_0x587d40(0xba9)](_0xef67dd,_0xef67dd+0x1);}['dataOffsetStart'](_0x5ced45){var _0xcfed71=_0x757ac7;return _0x5ced45=this[_0xcfed71(0x842)][_0x5ced45]+0x1b,this[_0xcfed71(0x1f9)][_0xcfed71(0xba9)](_0x5ced45,_0x5ced45+0x1);}['废弃'](_0xf76afa){var _0x4efac4=_0x757ac7;return _0xf76afa=this[_0x4efac4(0x842)][_0xf76afa]+0x1a,this[_0x4efac4(0x1f9)][_0x4efac4(0xba9)](_0xf76afa,_0xf76afa+0x1);}[_0x757ac7(0x8c0)](_0x560dab){var _0x5a1d64=_0x757ac7;return _0x560dab=this[_0x5a1d64(0x842)][_0x560dab]+0x19,this[_0x5a1d64(0x1f9)][_0x5a1d64(0xba9)](_0x560dab,_0x560dab+0x1);}[_0x757ac7(0xaf8)](_0x5884b6){var _0x271f95=_0x757ac7;return _0x5884b6=this['modelIndexOffsetStart'][_0x5884b6]+0x18,this[_0x271f95(0x1f9)]['subarray'](_0x5884b6,_0x5884b6+0x1);}[_0x757ac7(0x2a0)](_0xe84db0){var _0x48cdb0=_0x757ac7;return _0xe84db0=this[_0x48cdb0(0x842)][_0xe84db0]+0x17,this[_0x48cdb0(0x1f9)][_0x48cdb0(0xba9)](_0xe84db0,_0xe84db0+0x1);}['componentCount'](_0x35d7d8){var _0x266573=_0x757ac7;return _0x35d7d8=this['modelIndexOffsetStart'][_0x35d7d8]+0x16,this[_0x266573(0x1f9)][_0x266573(0xba9)](_0x35d7d8,_0x35d7d8+0x1);}[_0x757ac7(0x8a3)](_0x38f2ac){var _0x1e0f68=_0x757ac7;return _0x38f2ac=0x4*this[_0x1e0f68(0x842)][_0x38f2ac]+0x78,_0x38f2ac=this['ui8d'][_0x1e0f68(0xba9)](_0x38f2ac,0xc8+_0x38f2ac),(this[_0x1e0f68(0x4fa)]['set'](_0x38f2ac),this[_0x1e0f68(0x984)][_0x1e0f68(0x464)](this[_0x1e0f68(0x4fa)])[_0x1e0f68(0xa09)](/\x00/g,''));}[_0x757ac7(0x855)](_0x2f1284,_0x2a5a44){var _0x4c2bc1=_0x757ac7;if(_0x2a5a44){_0x2f1284=0x4*this[_0x4c2bc1(0x842)][_0x2f1284]+0x78;let _0x1a6bb9=this[_0x4c2bc1(0x4ae)][_0x4c2bc1(0xba9)](_0x2f1284,0xc8+_0x2f1284);_0x1a6bb9['set'](this['textE']['encode'](_0x2a5a44));}}[_0x757ac7(0x641)](_0x2ae414){var _0x34f2c9=_0x757ac7;return _0x2ae414=0x4*this['modelIndexOffsetStart'][_0x2ae414]+0x140,_0x2ae414=this[_0x34f2c9(0x4ae)][_0x34f2c9(0xba9)](_0x2ae414,0x20+_0x2ae414),0x0!==_0x2ae414[0x0]?(this[_0x34f2c9(0x4fa)][_0x34f2c9(0x532)](_0x2ae414),this['textD']['decode'](this[_0x34f2c9(0x4fa)][_0x34f2c9(0xba9)](0x0,0x20))):'';}[_0x757ac7(0xa0d)](_0x20d786,_0x8e2599){var _0x1f15f9=_0x757ac7;if(_0x8e2599){_0x20d786=0x4*this[_0x1f15f9(0x842)][_0x20d786]+0x140;let _0x33d8ae=this[_0x1f15f9(0x4ae)][_0x1f15f9(0xba9)](_0x20d786,0x20+_0x20d786);_0x33d8ae[_0x1f15f9(0x532)](this[_0x1f15f9(0x916)][_0x1f15f9(0x590)](_0x8e2599));}}[_0x757ac7(0x2df)](_0x5ba432){var _0x39c14a=_0x757ac7;this[_0x39c14a(0x842)][_0x5ba432['id']]=this[_0x39c14a(0xc60)],this[_0x39c14a(0xc60)]+=_0x471445[_0x39c14a(0x646)];var _0x333d45=this[_0x39c14a(0x842)][_0x5ba432['id']];let _0x14ca14=this[_0x39c14a(0xa46)]['subarray'](_0x333d45,_0x333d45+0x16),_0xfb9cb3=[0x1,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x1];_0x5ba432[_0x39c14a(0x28f)]&&(_0xfb9cb3=(0x0,_0xb0e5c4['ux'])(_0x5ba432['transform'][_0x39c14a(0x962)]('\x20'))),_0x14ca14['set']([...(0x0,_0xb0e5c4['ux'])(_0x5ba432[_0x39c14a(0x203)][_0x39c14a(0x962)]('\x20')),...(0x0,_0xb0e5c4['ux'])(_0x5ba432[_0x39c14a(0xae2)][_0x39c14a(0x962)]('\x20')),..._0xfb9cb3]),_0x333d45=this['modelIndexOffsetStart'][_0x5ba432['id']]+0x16;let _0x52606d=this[_0x39c14a(0x1f9)][_0x39c14a(0xba9)](_0x333d45,_0x333d45+0x7);_0x52606d['set']([_0x5ba432['componentCount'],_0x5ba432['meshInstancesCount'],_0x5ba432[_0x39c14a(0xaf8)],_0x5ba432[_0x39c14a(0x8c0)],0x0,-0x1,_0x5ba432[_0x39c14a(0x54f)]||0x1]),this[_0x39c14a(0x855)](_0x5ba432['id'],_0x5ba432['fileName']),this[_0x39c14a(0xa0d)](_0x5ba432['id'],_0x5ba432[_0x39c14a(0xa35)]);}['modelList'](){var _0x2fea60=_0x757ac7;let _0x1ea838={};for(var _0x4d0b9e in this[_0x2fea60(0x842)]){var _0x4d0b9e=~~_0x4d0b9e,_0x577e60=this[_0x2fea60(0x842)][_0x4d0b9e];let _0x1181fc=this['f32d'][_0x2fea60(0xba9)](_0x577e60,_0x577e60+0x16);_0x577e60=this[_0x2fea60(0x842)][_0x4d0b9e]+0x16,_0x577e60=this[_0x2fea60(0x1f9)][_0x2fea60(0xba9)](_0x577e60,_0x577e60+0x7),_0x1ea838[_0x4d0b9e]={'id':_0x4d0b9e,'boxMin':_0x1181fc[_0x2fea60(0xba9)](0x0,0x3),'boxMax':_0x1181fc[_0x2fea60(0xba9)](0x3,0x6),'transform':_0x1181fc['subarray'](0x6,0x16),'componentCount':_0x577e60[0x0],'meshInstancesCount':_0x577e60[0x1],'meshCount':_0x577e60[0x2],'materialCount':_0x577e60[0x3],'fileName':this[_0x2fea60(0x8a3)](_0x4d0b9e),'uniqueId':this[_0x2fea60(0x641)](_0x4d0b9e),'status':_0x577e60[0x6]};}return _0x1ea838;}['model'](_0x3ddedc){var _0x56e1e9=_0x757ac7,_0x43aba0=this[_0x56e1e9(0x842)][_0x3ddedc];let _0x132294=this[_0x56e1e9(0xa46)][_0x56e1e9(0xba9)](_0x43aba0,_0x43aba0+0x16);return _0x43aba0=this[_0x56e1e9(0x842)][_0x3ddedc]+0x16,_0x43aba0=this[_0x56e1e9(0x1f9)][_0x56e1e9(0xba9)](_0x43aba0,_0x43aba0+0x7),{'id':_0x3ddedc,'boxMin':_0x132294[_0x56e1e9(0xba9)](0x0,0x3),'boxMax':_0x132294['subarray'](0x3,0x6),'transform':_0x132294[_0x56e1e9(0xba9)](0x6,0x16),'componentCount':_0x43aba0[0x0],'meshInstancesCount':_0x43aba0[0x1],'meshCount':_0x43aba0[0x2],'materialCount':_0x43aba0[0x3],'fileName':this[_0x56e1e9(0x8a3)](_0x3ddedc),'uniqueId':this[_0x56e1e9(0x641)](_0x3ddedc),'status':_0x43aba0[0x6]};}[_0x757ac7(0x4e3)](_0x25f822){var _0x571792=_0x757ac7;return this[_0x571792(0x842)][_0x571792(0x171)](_0x25f822);}}_0x471445[_0x757ac7(0x646)]=0x58;},0x15a31:(_0x4fd97b,_0x3e5fc4,_0x528caf)=>{var _0x47c46a=a7_0x1ed280,_0x3f5849;_0x528caf['d'](_0x3e5fc4,{'p':()=>_0x4a1dc9}),_0x3f5849={'cameraId':0x0,0x0:_0x47c46a(0x88b),'cameraWorldPosition':0x1,0x1:_0x47c46a(0x4d7),'worldDirection':0x2,0x2:_0x47c46a(0x4b8),'worldUp':0x3,0x3:_0x47c46a(0x825),'viewMatrix':0x4,0x4:'viewMatrix','worldMatrix':0x5,0x5:_0x47c46a(0x985),'projectionMatrix':0x6,0x6:'projectionMatrix','heartbeat':0x7,0x7:_0x47c46a(0x75b),'useCache':0x8,0x8:_0x47c46a(0x5ea),'maxRenderTriangleCount':0x9,0x9:_0x47c46a(0xc59),'frameMaxRenderMemoryLength':0xa,0xa:'frameMaxRenderMemoryLength','pickId':0xb,0xb:_0x47c46a(0xbc5),'pickWorldPosition':0xc,0xc:_0x47c46a(0x838),'pickWorldNormal':0xd,0xd:_0x47c46a(0x142),'getBox':0xe,0xe:_0x47c46a(0x722),'maxTextureSize':0xf,0xf:_0x47c46a(0x9e9),'renderPageFocus':0x10,0x10:_0x47c46a(0x43f),'renderWidthHeight':0x11,0x11:'renderWidthHeight','allowSingleMeshMaxTriangleFaceQuantity':0x12,0x12:_0x47c46a(0x808),'visibleModelBox':0x13,0x13:_0x47c46a(0xa96),'isMainRender':0x14,0x14:_0x47c46a(0xd06),'mousePosition':0x15,0x15:_0x47c46a(0x4e2),'sunDirection':0x16,0x16:_0x47c46a(0x9b2),'startTime':0x17,0x17:_0x47c46a(0x31d),'onlyShowShells':0x18,0x18:_0x47c46a(0x2e9),'enableMouseHover':0x19,0x19:_0x47c46a(0x49b)};class _0x4a1dc9{constructor(_0x301adc,_0x2e7f0a){var _0x3e3f07=_0x47c46a;if(this[_0x3e3f07(0x510)]={},this[_0x3e3f07(0x2c1)]=0x0,this[_0x3e3f07(0x1be)]=0x0,this[_0x3e3f07(0x815)]=0x7fe00000,this[_0x3e3f07(0xbd6)]=0x0,this[_0x3e3f07(0x9a7)]=Float64Array,_0x301adc||_0x2e7f0a){for(var _0x52eb16 in(this[_0x3e3f07(0x531)]=_0x2e7f0a,_0x301adc))this[_0x3e3f07(0xb0f)](_0x52eb16,_0x301adc[_0x52eb16]['length']);}else{this['dataStoreArrayBuffer']=[],_0x2e7f0a=0x6f*Float64Array[_0x3e3f07(0xc0e)];if(this[_0x3e3f07(0xbd6)]=Math[_0x3e3f07(0x68f)](_0x2e7f0a/this[_0x3e3f07(0x815)]),0x0===this[_0x3e3f07(0xbd6)])this[_0x3e3f07(0x531)]['push'](new SharedArrayBuffer(_0x2e7f0a));else{for(let _0x3d1fab=0x0;_0x3d1fabthis['arrayBufferBlockMaxByteLength']&&(this['dataStoreDataCurrentBufferBlockIndex']++,this[_0x543036(0x1be)]=0x0),this[_0x543036(0x510)][_0x125dab][_0x543036(0x557)]=new this[(_0x543036(0x9a7))](this[_0x543036(0x531)][this[_0x543036(0x2c1)]],this[_0x543036(0x1be)],this['dataStoreObject'][_0x125dab][_0x543036(0x78d)]),this['dataStoreObject'][_0x125dab]['byteOffset']=this[_0x543036(0x1be)],this[_0x543036(0x1be)]+=this['dataType']['BYTES_PER_ELEMENT']*this[_0x543036(0x510)][_0x125dab]['length']);}['SetData'](_0x1310b6,_0x1e7cbc){var _0x262bb2=_0x47c46a;_0x1e7cbc&&this[_0x262bb2(0x510)][_0x1310b6]['view'][_0x262bb2(0x532)](_0x1e7cbc);}[_0x47c46a(0x802)](_0x3eb0f2){var _0x557852=_0x47c46a;return null==(_0x3eb0f2=this[_0x557852(0x510)][_0x3eb0f2])?void 0x0:_0x3eb0f2['view'];}}}}]);