'use strict';var a7_0x425593=a7_0x5572;(function(_0x2a95cc,_0xf945f8){var _0x21c846=a7_0x5572,_0x5acc5f=_0x2a95cc();while(!![]){try{var _0x447e45=parseInt(_0x21c846(0xd47))/0x1*(parseInt(_0x21c846(0xc0a))/0x2)+-parseInt(_0x21c846(0x633))/0x3*(-parseInt(_0x21c846(0x2f7))/0x4)+-parseInt(_0x21c846(0x1d6))/0x5*(-parseInt(_0x21c846(0x277))/0x6)+-parseInt(_0x21c846(0xd2a))/0x7+-parseInt(_0x21c846(0xc59))/0x8*(-parseInt(_0x21c846(0xc33))/0x9)+-parseInt(_0x21c846(0xd3d))/0xa+-parseInt(_0x21c846(0x5a1))/0xb;if(_0x447e45===_0xf945f8)break;else _0x5acc5f['push'](_0x5acc5f['shift']());}catch(_0x4b0185){_0x5acc5f['push'](_0x5acc5f['shift']());}}}(a7_0x51ae,0x47302));function a7_0x51ae(){var _0x3a1566=['RGB10A2Unorm','oitDeclaration','ssDiffusionProfileColors','lightFragment','asArray','colorPixelShader','E2d','useEquirectangularFOV','offsets','is32Bits','prePassDeclaration','backgroundVertexDeclaration','query','stencilMask','spritesVertexShader','copyWithInvertY','Ubo','_getVRDisplaysAsync','setMatrix2x2','functions','isInVRExclusivePointerMode','updateVector3','supportsUniformBuffers','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<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\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<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\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<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','framebufferTextureMultiviewOVR','pointerId','_setColorFormat','samplerFragmentAlternateDeclaration','createDynamicUniformBuffer','subMeshId','HALF_FLOAT_OES','getDescendants','buildUniformLayout','clipPlane6','Render\x20to\x20half\x20float\x20textures\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20forced\x20to\x20false.','mapAsync','_currentRenderTextureInd','setStencilEnabled','baseDepth','setEnabled','doNotHandleCursors','subSurfaceScatteringFunctions','pbrVertexDeclaration','TEXTUREFORMAT_RG_INTEGER','setAlphaBlendConstants','ALPHA_EQUATION_SUBSTRACT','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}','viewMatrix','createEffectForParticles','fogMode','#elif','ASTC5x4Unorm',';\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20','minmaxReduxPixelShader','left','_onPointerUp','reflectionColor','_halfDomeMask','onDeviceConnectedObservable','_defineSkyboxName','_varyingsWGSL','function','BC2RGBAUnormSRGB','firePixelShader','TEXTURE_BILINEAR_SAMPLINGMODE','updateRenderTargetTextureSampleCount','CreateNewFromScene','restoreSingleAttachment','_swipeButtonPressed','needPOTTextures','updateId','_needUVs','readFromStorageBuffer','fluidRenderingBilateralBlur','_directionWName','trim','pointerdown','MAINUV2','actionManager','Depth24PlusStencil8','RGB_INTEGER\x20format\x20not\x20supported\x20in\x20WebGPU','TEXTURE_CREATIONFLAG_STORAGE','bufferSubData','MAINUV3','setAlphaMode','_defineExplicitName','particleSize','Serialize','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(','enableEffect','loadCubeData','_frontFace','\x0a#define\x20CONEEMITTERSPAWNPOINT','_swapRenderTargetWrapper','ALPHA_EXCLUSION','out','computeDispatch','BABYLON.ReflectionTextureBaseBlock','_list','.texture\x20=\x20new\x20BABYLON.Texture(\x22','_radius','lineProcessor','_engine','availableAttributes','updateDynamicIndexBuffer','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(luminance<brightThreshold)\x20{\x0aaverage=vec4(0.0,0.0,0.0,1.0);\x0a}\x0agl_FragColor=average;\x0a}\x0a#endif\x0a#if\x20defined(TEXTURE_ADDER)\x0auniform\x20sampler2D\x20otherSampler;\x0auniform\x20sampler2D\x20lensSampler;\x0auniform\x20float\x20exposure;\x0avoid\x20main(void)\x0a{\x0avec3\x20colour=texture2D(textureSampler,vUV).rgb;\x0acolour*=exposure;\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;\x0acolour+=colour*texture2D(lensSampler,vUV).rgb;\x0avec4\x20finalColor=vec4(colour.rgb,1.0)+texture2D(otherSampler,vUV);\x0agl_FragColor=finalColor;\x0a}\x0a#endif\x0a#if\x20defined(VLS)\x0a#define\x20PI\x203.1415926535897932384626433832795\x0auniform\x20mat4\x20shadowViewProjection;\x0auniform\x20mat4\x20lightWorld;\x0auniform\x20vec3\x20cameraPosition;\x0auniform\x20vec3\x20sunDirection;\x0auniform\x20vec3\x20sunColor;\x0auniform\x20vec2\x20depthValues;\x0auniform\x20float\x20scatteringCoefficient;\x0auniform\x20float\x20scatteringPower;\x0auniform\x20sampler2D\x20shadowMapSampler;\x0auniform\x20sampler2D\x20positionSampler;\x0afloat\x20computeScattering(float\x20lightDotView)\x0a{\x0afloat\x20result=1.0-scatteringCoefficient*scatteringCoefficient;\x0aresult/=(4.0*PI*pow(1.0+scatteringCoefficient*scatteringCoefficient-(2.0*scatteringCoefficient)*lightDotView,1.5));\x0areturn\x20result;\x0a}\x0avoid\x20main(void)\x0a{\x0avec3\x20worldPos=texture2D(positionSampler,vUV).rgb;\x0avec3\x20startPosition=cameraPosition;\x0avec3\x20rayVector=worldPos-startPosition;\x0afloat\x20rayLength=length(rayVector);\x0avec3\x20rayDirection=rayVector/rayLength;\x0afloat\x20stepLength=rayLength/NB_STEPS;\x0avec3\x20stepL=rayDirection*stepLength;\x0avec3\x20currentPosition=startPosition;\x0avec3\x20accumFog=vec3(0.0);\x0afor\x20(int\x20i=0;\x20i<int(NB_STEPS);\x20i++)\x0a{\x0avec4\x20worldInShadowCameraSpace=shadowViewProjection*vec4(currentPosition,1.0);\x0afloat\x20depthMetric=\x20(worldInShadowCameraSpace.z+depthValues.x)/(depthValues.y);\x0afloat\x20shadowPixelDepth=clamp(depthMetric,0.0,1.0);\x0aworldInShadowCameraSpace.xyz/=worldInShadowCameraSpace.w;\x0aworldInShadowCameraSpace.xyz=0.5*worldInShadowCameraSpace.xyz+vec3(0.5);\x0afloat\x20shadowMapValue=texture2D(shadowMapSampler,worldInShadowCameraSpace.xy).r;\x0aif\x20(shadowMapValue>shadowPixelDepth)\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<packingFunctions>\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<GHOSTS;\x20++i)\x0a{\x0avec2\x20offset=fract(uv+ghostDir*ghostIndice);\x0afloat\x20weight=length(vec2(0.5)-offset)/length(vec2(0.5));\x0aweight=pow(1.0-weight,10.0);\x0aresult+=textureDistorted(textureSampler,offset,normalize(ghostDir),distortion)*weight*strength;\x0aghostIndice+=1.0;\x0a}\x0avec2\x20haloVec=normalize(ghostDir)*haloWidth;\x0afloat\x20weight=length(vec2(0.5)-fract(uv+haloVec))/length(vec2(0.5));\x0aweight=pow(1.0-weight,10.0);\x0aresult+=textureDistorted(textureSampler,fract(uv+haloVec),normalize(ghostDir),distortion)*weight*strength;\x0aresult*=texture2D(lensColorSampler,vec2(length(vec2(0.5)-uv)/length(vec2(0.5))));\x0agl_FragColor=result;\x0a}\x0a#endif\x0a#if\x20defined(LENS_FLARE_COMPOSE)\x0auniform\x20sampler2D\x20otherSampler;\x0auniform\x20sampler2D\x20lensDirtSampler;\x0auniform\x20sampler2D\x20lensStarSampler;\x0auniform\x20mat4\x20lensStarMatrix;\x0avoid\x20main(void)\x0a{\x0avec2\x20lensFlareCoords=(lensStarMatrix*vec4(vUV,1.0,1.0)).xy;\x0avec4\x20lensMod=texture2D(lensDirtSampler,vUV);\x0alensMod+=texture2D(lensStarSampler,vUV/*lensFlareCoords*/);\x0avec4\x20result=texture2D(textureSampler,vUV)*lensMod;\x0agl_FragColor=texture2D(otherSampler,vUV)+result;\x0a}\x0a#endif\x0a#if\x20defined(DEPTH_OF_FIELD)\x0auniform\x20sampler2D\x20otherSampler;\x0auniform\x20sampler2D\x20depthSampler;\x0auniform\x20float\x20distance;\x0avoid\x20main(void)\x0a{\x0avec4\x20sharp=texture2D(otherSampler,vUV);\x0avec4\x20blur=texture2D(textureSampler,vUV);\x0afloat\x20dist=clamp(texture2D(depthSampler,vUV).r*distance,0.0,1.0);\x0afloat\x20factor=0.0;\x0aif\x20(dist<0.05)\x0afactor=1.0;\x0aelse\x20if\x20(dist<0.1)\x0afactor=20.0*(0.1-dist);\x0aelse\x20if\x20(dist<0.5)\x0afactor=0.0;\x0aelse\x0afactor=2.0*(dist-0.5);\x0afactor=clamp(factor,0.0,0.90);\x0agl_FragColor=mix(sharp,blur,factor);\x0a}\x0a#endif\x0a#if\x20defined(MOTION_BLUR)\x0auniform\x20mat4\x20inverseViewProjection;\x0auniform\x20mat4\x20prevViewProjection;\x0auniform\x20vec2\x20screenSize;\x0auniform\x20float\x20motionScale;\x0auniform\x20float\x20motionStrength;\x0auniform\x20sampler2D\x20depthSampler;\x0avoid\x20main(void)\x0a{\x0avec2\x20texelSize=1.0/screenSize;\x0afloat\x20depth=texture2D(depthSampler,vUV).r;\x0avec4\x20cpos=vec4(vUV*2.0-1.0,depth,1.0);\x0acpos=cpos*inverseViewProjection;\x0avec4\x20ppos=cpos*prevViewProjection;\x0appos.xyz/=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,MAX_MOTION_SAMPLES));\x0avec4\x20result=texture2D(textureSampler,vUV);\x0afor\x20(int\x20i=1;\x20i<int(MAX_MOTION_SAMPLES);\x20++i)\x20{\x0aif\x20(i>=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','#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','_onGenerateOnlyFragmentCodeChanged','Occlusion','updateFloat3','TEXTURE_LINEAR_LINEAR_MIPLINEAR','createCubeTexture','UNPACK_ALIGNMENT','blurFilterSize','_unIndexed','13894hidGOP','TEXTUREFORMAT_RGBA_INTEGER','_uploadEncoder','varyingFragmentKeywordName','_getCurrentRenderPassIndex','#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a','POINTERDOWN','_maxRank','_TextureLoaders','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','useSRGBBuffers','setVerticesBuffer','wrapV','vOffset','_isFrontFaceDirty','boundingVectors','verticesCount','FluidRenderingRTT-','ONE_MINUS_SRC_COLOR','projection','vScale','GLSL','importanceSampling','maxZ','program','arrayBufferBlockMaxByteLength','_define3DName','defineNames','ASTC10x6Unorm','_onKeyUp','Dot','_previousButtonPressed','_bufferManager','projectedParticleConstant','ALPHA_ONEONE_ONEONE','_resetVertexBufferBinding','pbrBlockReflectivity','Depth24UnormStencil8','RG11B10UFloat','MouseWheelZ','depthTextureFormat','85878hfPEzK','pixelStorei','preventDefaultOnPointerDown','screenSpaceReflections2','sampler2DArray','#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','RandomRange','ALPHA_ONEONE_ONEZERO','glFragCoord_','allowSingleMeshMaxTriangleFaceQuantity','_getComputeShaderCode','_mode','_vertexArrayObject','vClipPlane6','PREPASS_IRRADIANCE_TEXTURE_TYPE','vertexArrayObject','hasPointerTriggers','BC7RGBAUnormSRGB','getTimeStep','TEXTUREFORMAT_ALPHA','samplers','#include<fibonacci>\x0a#include<helperFunctions>\x0a#include<subSurfaceScatteringFunctions>\x0a#include<diffusionProfile>\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<n;\x20i++)\x0a{\x0aEvaluateSample(i,n,S,d,centerPosVS,mmPerUnit,pixelsPerMm,\x0aphase,totalIrradiance,totalWeight);\x0a}\x0atotalWeight=max(totalWeight,HALF_MIN);\x0agl_FragColor=vec4(inputColor.rgb+albedo*max(totalIrradiance/totalWeight,vec3(0.0)),1.);\x0a}','hasOwnProperty','markAsTexturesDirty','_blurTextureSizeX','boxMin','updateInt','_currentMaterialContext','freeBindingIndex','.texture.coordinatesMode\x20=\x20','heightRange','compute','removeVaryings','button','modelIndexOffsetStart','2DSampler','autoClear','create\x20cube\x20mipmaps\x20-\x20','464FwBlWA','onPreKeyboardObservable','glowMapMergeVertexShader','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','_updateParameters','_excludeVariableName','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','varying\x20','deleteTexture','_samplerDeclaration','bind','MODE_TOPBOTTOM','shift','_indexBuffer','vrDistortionCorrectionPixelShader','_addNewAttachObserver','Not\x20implemented','preProcessor','glowMapGenerationPixelShader','@group(','_isDepthMaskDirty','_multiviewTexture','minimizeInPlace','\x20:\x20','setVector2','scene_multiview','faceIndices','gl_VertexIndex','_videoSampler','_vrSupported','TextureCube_','markAsFresnelDirty','_currentItemIsBundle','pbrBlockNormalGeometric','setSize','createRenderBundleEncoder','#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<clipPlaneFragmentDeclaration>\x0a#include<mrtFragmentDeclaration>[RENDER_TARGET_COUNT]\x0a#include<bumpFragmentMainFunctions>\x0a#include<bumpFragmentFunctions>\x0a#include<helperFunctions>\x0avoid\x20main()\x20{\x0a#include<clipPlaneFragment>\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<bumpFragment>\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','MODE_MONOSCOPIC','TextureWithoutSampler','lightFragmentDeclaration','\x20=\x20computeCubicCoords(','_getBuffer','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20','#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','#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','_occlusionQuery','RG32Float','freeGroupIndex','framebufferTextureLayer','getMaterial','bindGroupLayoutEntryInfo','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0a#include<imageProcessingDeclaration>\x0a#include<helperFunctions>\x0a#include<imageProcessingFunctions>\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}','_onVrDisplayConnect','PrePass\x20and\x20subsurface\x20configuration\x20needs\x20to\x20be\x20enabled\x20for\x20subsurface\x20scattering.','setDepthCompare','//\x20Internals\x20UBO\x0d\x0auniform\x20','TEXTURE_CUBIC_MODE','resetTextureCache','_getVideoPipeline','MouseWheelX','_mipmapSampler','updateFloat4','_source','invertYPreMultiplyAlpha','_MSAARenderBuffers','rebuild','getAspectRatio','_prepareVRComponent','StorageTexture','_cacheFloat2','_blendEquationParameters','#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))<depth)\x20visibility-=0.25;\x0aif\x20(unpack(textureCube(shadowSampler,directionToLight+poissonDisk[1]*mapSize))<depth)\x20visibility-=0.25;\x0aif\x20(unpack(textureCube(shadowSampler,directionToLight+poissonDisk[2]*mapSize))<depth)\x20visibility-=0.25;\x0aif\x20(unpack(textureCube(shadowSampler,directionToLight+poissonDisk[3]*mapSize))<depth)\x20visibility-=0.25;\x0a#else\x0aif\x20(textureCube(shadowSampler,directionToLight+poissonDisk[0]*mapSize).x<depth)\x20visibility-=0.25;\x0aif\x20(textureCube(shadowSampler,directionToLight+poissonDisk[1]*mapSize).x<depth)\x20visibility-=0.25;\x0aif\x20(textureCube(shadowSampler,directionToLight+poissonDisk[2]*mapSize).x<depth)\x20visibility-=0.25;\x0aif\x20(textureCube(shadowSampler,directionToLight+poissonDisk[3]*mapSize).x<depth)\x20visibility-=0.25;\x0a#endif\x0areturn\x20min(1.0,visibility+darkness);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithESMCube(vec3\x20lightPosition,samplerCube\x20shadowSampler,float\x20darkness,float\x20depthScale,vec2\x20depthValues)\x0a{\x0avec3\x20directionToLight=vPositionW-lightPosition;\x0afloat\x20depth=length(directionToLight);\x0adepth=(depth+depthValues.x)/(depthValues.y);\x0afloat\x20shadowPixelDepth=clamp(depth,0.,1.0);\x0adirectionToLight=normalize(directionToLight);\x0adirectionToLight.y=-directionToLight.y;\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20shadowMapSample=unpack(textureCube(shadowSampler,directionToLight));\x0a#else\x0afloat\x20shadowMapSample=textureCube(shadowSampler,directionToLight).x;\x0a#endif\x0afloat\x20esm=1.0-clamp(exp(min(87.,depthScale*shadowPixelDepth))*shadowMapSample,0.,1.-darkness);\x20\x0areturn\x20esm;\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithCloseESMCube(vec3\x20lightPosition,samplerCube\x20shadowSampler,float\x20darkness,float\x20depthScale,vec2\x20depthValues)\x0a{\x0avec3\x20directionToLight=vPositionW-lightPosition;\x0afloat\x20depth=length(directionToLight);\x0adepth=(depth+depthValues.x)/(depthValues.y);\x0afloat\x20shadowPixelDepth=clamp(depth,0.,1.0);\x0adirectionToLight=normalize(directionToLight);\x0adirectionToLight.y=-directionToLight.y;\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20shadowMapSample=unpack(textureCube(shadowSampler,directionToLight));\x0a#else\x0afloat\x20shadowMapSample=textureCube(shadowSampler,directionToLight).x;\x0a#endif\x0afloat\x20esm=clamp(exp(min(87.,-depthScale*(shadowPixelDepth-shadowMapSample))),darkness,1.);\x0areturn\x20esm;\x0a}\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20inline\x0afloat\x20computeShadowCSM(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArray\x20shadowSampler,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec2\x20uv=0.5*clipSpace.xy+vec2(0.5);\x0avec3\x20uvLayer=vec3(uv.x,uv.y,layer);\x0afloat\x20shadowPixelDepth=clamp(depthMetric,0.,1.0);\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20shadow=unpack(texture2D(shadowSampler,uvLayer));\x0a#else\x0afloat\x20shadow=texture2D(shadowSampler,uvLayer).x;\x0a#endif\x0areturn\x20shadowPixelDepth>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.))<shadowPixelDepth)\x20visibility-=0.25;\x0aif\x20(unpack(TEXTUREFUNC(shadowSampler,uv+poissonDisk[1]*mapSize,0.))<shadowPixelDepth)\x20visibility-=0.25;\x0aif\x20(unpack(TEXTUREFUNC(shadowSampler,uv+poissonDisk[2]*mapSize,0.))<shadowPixelDepth)\x20visibility-=0.25;\x0aif\x20(unpack(TEXTUREFUNC(shadowSampler,uv+poissonDisk[3]*mapSize,0.))<shadowPixelDepth)\x20visibility-=0.25;\x0a#else\x0aif\x20(TEXTUREFUNC(shadowSampler,uv+poissonDisk[0]*mapSize,0.).x<shadowPixelDepth)\x20visibility-=0.25;\x0aif\x20(TEXTUREFUNC(shadowSampler,uv+poissonDisk[1]*mapSize,0.).x<shadowPixelDepth)\x20visibility-=0.25;\x0aif\x20(TEXTUREFUNC(shadowSampler,uv+poissonDisk[2]*mapSize,0.).x<shadowPixelDepth)\x20visibility-=0.25;\x0aif\x20(TEXTUREFUNC(shadowSampler,uv+poissonDisk[3]*mapSize,0.).x<shadowPixelDepth)\x20visibility-=0.25;\x0a#endif\x0areturn\x20computeFallOff(min(1.0,visibility+darkness),clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithESM(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);\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;\x20i<searchTapCount;\x20i\x20++)\x20{\x0ablockerDepth=texture2D(depthSampler,vec3(uvDepth.xy+(lightSizeUV*lightSizeUVCorrection*shadowMapSizeInverse*PoissonSamplers32[i].xy),layer)).r;\x0aif\x20(blockerDepth<depthMetric)\x20{\x0asumBlockerDepth+=blockerDepth;\x0anumBlocker++;\x0a}\x0a}\x0afloat\x20avgBlockerDepth=sumBlockerDepth/numBlocker;\x0afloat\x20AAOffset=shadowMapSizeInverse*10.;\x0afloat\x20penumbraRatio=((depthMetric-avgBlockerDepth)*depthCorrection+AAOffset);\x0avec4\x20filterRadius=vec4(penumbraRatio*lightSizeUV*lightSizeUVCorrection*shadowMapSizeInverse,0.,0.);\x0afloat\x20random=getRand(vPositionFromLight.xy);\x0afloat\x20rotationAngle=random*3.1415926;\x0avec2\x20rotationVector=vec2(cos(rotationAngle),sin(rotationAngle));\x0afloat\x20shadow=0.;\x0afor\x20(int\x20i=0;\x20i<pcfTapCount;\x20i++)\x20{\x0avec4\x20offset=vec4(poissonSamplers[i],0.);\x0aoffset=vec4(offset.x*rotationVector.x-offset.y*rotationVector.y,offset.y*rotationVector.x+offset.x*rotationVector.y,0.,0.);\x0ashadow+=texture2D(shadowSampler,uvDepthLayer+offset*filterRadius);\x0a}\x0ashadow/=float(pcfTapCount);\x0ashadow=mix(shadow,1.,min((depthMetric-avgBlockerDepth)*depthCorrection*penumbraDarkness,1.));\x0ashadow=mix(darkness,1.,shadow);\x0aif\x20(numBlocker<1.0)\x20{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPCSS(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20depthSampler,highp\x20sampler2DShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff,int\x20searchTapCount,int\x20pcfTapCount,vec3[64]\x20poissonSamplers)\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\x20blockerDepth=0.0;\x0afloat\x20sumBlockerDepth=0.0;\x0afloat\x20numBlocker=0.0;\x0afor\x20(int\x20i=0;\x20i<searchTapCount;\x20i\x20++)\x20{\x0ablockerDepth=TEXTUREFUNC(depthSampler,uvDepth.xy+(lightSizeUV*shadowMapSizeInverse*PoissonSamplers32[i].xy),0.).r;\x0aif\x20(blockerDepth<depthMetric)\x20{\x0asumBlockerDepth+=blockerDepth;\x0anumBlocker++;\x0a}\x0a}\x0aif\x20(numBlocker<1.0)\x20{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0afloat\x20avgBlockerDepth=sumBlockerDepth/numBlocker;\x0afloat\x20AAOffset=shadowMapSizeInverse*10.;\x0afloat\x20penumbraRatio=((depthMetric-avgBlockerDepth)+AAOffset);\x0afloat\x20filterRadius=penumbraRatio*lightSizeUV*shadowMapSizeInverse;\x0afloat\x20random=getRand(vPositionFromLight.xy);\x0afloat\x20rotationAngle=random*3.1415926;\x0avec2\x20rotationVector=vec2(cos(rotationAngle),sin(rotationAngle));\x0afloat\x20shadow=0.;\x0afor\x20(int\x20i=0;\x20i<pcfTapCount;\x20i++)\x20{\x0avec3\x20offset=poissonSamplers[i];\x0aoffset=vec3(offset.x*rotationVector.x-offset.y*rotationVector.y,offset.y*rotationVector.x+offset.x*rotationVector.y,0.);\x0ashadow+=TEXTUREFUNC(shadowSampler,uvDepth+offset*filterRadius,0.);\x0a}\x0ashadow/=float(pcfTapCount);\x0ashadow=mix(shadow,1.,depthMetric-avgBlockerDepth);\x0ashadow=mix(darkness,1.,shadow);\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPCSS16(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20depthSampler,highp\x20sampler2DShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0areturn\x20computeShadowWithPCSS(vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,16,PoissonSamplers32);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPCSS32(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20depthSampler,highp\x20sampler2DShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0areturn\x20computeShadowWithPCSS(vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,32,PoissonSamplers32);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPCSS64(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20depthSampler,highp\x20sampler2DShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0areturn\x20computeShadowWithPCSS(vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,32,64,PoissonSamplers64);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithCSMPCSS16(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArray\x20depthSampler,highp\x20sampler2DArrayShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff,vec2\x20lightSizeUVCorrection,float\x20depthCorrection,float\x20penumbraDarkness)\x0a{\x0areturn\x20computeShadowWithCSMPCSS(layer,vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,16,PoissonSamplers32,lightSizeUVCorrection,depthCorrection,penumbraDarkness);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithCSMPCSS32(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArray\x20depthSampler,highp\x20sampler2DArrayShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff,vec2\x20lightSizeUVCorrection,float\x20depthCorrection,float\x20penumbraDarkness)\x0a{\x0areturn\x20computeShadowWithCSMPCSS(layer,vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,32,PoissonSamplers32,lightSizeUVCorrection,depthCorrection,penumbraDarkness);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithCSMPCSS64(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArray\x20depthSampler,highp\x20sampler2DArrayShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff,vec2\x20lightSizeUVCorrection,float\x20depthCorrection,float\x20penumbraDarkness)\x0a{\x0areturn\x20computeShadowWithCSMPCSS(layer,vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,32,64,PoissonSamplers64,lightSizeUVCorrection,depthCorrection,penumbraDarkness);\x0a}\x0a#endif\x0a#endif\x0a','setAlphaBlendFactors','vClipPlane2','_availableIndices','_getTexture','SRC_ALPHA','_getUseSRGBBuffer','compileGLSL','_yOffset','TEXTURE_MAX_LEVEL','sizes','meshInstancesCount','gpuUpdateParticlesPixelShader','size','internal\x20process\x20texture\x20-\x20invertY=','setVector4','texImage2D','true','Warn','bindBuffer','generateDepthBuffer','materialCount','clearQuadPixelShader','setFloatArray2','initWebVRAsync','_initActionManager','BuildTuple','CylinderParticleEmitter','@location(','#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','passPixelShader','_externalProperties','_isAlphaBlendDirty','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\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<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\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<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','TEXTUREFORMAT_LUMINANCE_ALPHA','#ifdef\x20FOG\x0afloat\x20fog=CalcFogFactor();\x0a#ifdef\x20PBR\x0afog=toLinearSpace(fog);\x0a#endif\x0acolor.rgb=mix(vFogColor,color.rgb,fog);\x0a#endif\x0a','getFileName','ADVANCED','GL_ALPHA_FUNCTION_ONE_MINUS_SRC_COLOR','pbrBlockSubSurface','CreateNewFromSprite','#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','CLAMP_ADDRESSMODE','#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','TEXTURETYPE_BYTE','BilateralBlurX','_setDefaultValue','#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;\x20i<NUM_SAMPLES;\x20++i)\x0a#else\x0afor(int\x20i=0;\x20i<NUM_SAMPLES;\x20++i)\x0a#endif\x0a{\x0avec2\x20Xi=hammersley(i,NUM_SAMPLES);\x0avec3\x20Ls=hemisphereCosSample(Xi);\x0aLs=normalize(Ls);\x0avec3\x20Ns=vec3(0.,0.,1.);\x0afloat\x20NoL=dot(Ns,Ls);\x0aif\x20(NoL>0.)\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;\x20i<NUM_SAMPLES;\x20++i)\x0a#else\x0afor(int\x20i=0;\x20i<NUM_SAMPLES;\x20++i)\x0a#endif\x0a{\x0avec2\x20Xi=hammersley(i,NUM_SAMPLES);\x0avec3\x20H=hemisphereImportanceSampleDggx(Xi,alphaG);\x0afloat\x20NoV=1.;\x0afloat\x20NoH=H.z;\x0afloat\x20NoH2=H.z*H.z;\x0afloat\x20NoL=2.*NoH2-1.;\x0avec3\x20L=vec3(2.*NoH*H.x,2.*NoH*H.y,NoL);\x0aL=normalize(L);\x0aif\x20(NoL>0.)\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','UNSIGNED_INT_24_8','vAng','furVertexShader','bindMultiviewFramebuffer','createEffect','HingeJoint','_arePrePassDirty','setArray2','Error','_alphaEquation','TEXTUREFORMAT_COMPRESSED_RGBA8_ETC2_EAC','faceIndex','MATERIAL_TriangleStripDrawMode','TEXTURETYPE_UNSIGNED_INT_2_10_10_10_REV','_getEngine','markAsLightDirty','_projectOnUnIndexedTrianglesToRef','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<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\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<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\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<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','ssaoCombinePixelShader','TempTextureForCopyWithInvertY','createDepthStencilTexture','TEXTURE_INVCUBIC_MODE','#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','create\x20mipmaps\x20for\x20face\x20#','shadowOnlyPixelShader','shaderProcessingContext','vClipPlane4','ASTC12x10Unorm',')\x20||\x20defined(','CLIPPLANE2','RG16Uint','beginOcclusionQuery','_hasSwiped','_transformTextureUrl','POLYGON_OFFSET_FILL','#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','attribute\x20vec3\x20position;\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<clipPlaneVertexDeclaration>\x0a#include<instancesDeclaration>\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<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\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<clipPlaneVertex>\x0a#include<vertexColorMixing>\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','FIXED_EQUIRECTANGULAR_MIRRORED_MODE','BC4RSnorm','_defineSphericalName','uniform\x20vec3\x20diffusionS[5];\x0auniform\x20float\x20diffusionD[5];\x0auniform\x20float\x20filterRadii[5];','getPluginVersion','coneAngle','fxaaPixelShader','Unable\x20to\x20create\x20dummy\x20framebuffer','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<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\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<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\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<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','modelDataLength','operand','boundingBoxRendererFragmentDeclaration','stencilGlobal','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20','autoConfigure','observers','enableEffectInPipeline','_areLightsDisposed','webpackChunkBim','lookForClosingBracketForUniformBuffer','hdrFilteringVertexShader','TEXTURETYPE_UNSIGNED_INT',')\x20is\x20not\x20a\x20storage\x20texture!','ShadersInclude/','HemisphericParticleEmitter','TEXTURE_CUBE_MAP_NEGATIVE_X','_getVertexShaderCode','ETC2RGB8UnormSRGB','opStencilDepthPass','bakedVertexAnimationDeclaration','pointermove','MATERIAL_TriangleFillMode','_xSize','wmips','>,\x0a','createIndexBuffer','close','alphaTest','layerMask','constants','EACRG11Snorm','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','varyingVertexKeywordName','fxaaVertexShader','_verifyPointerLock','#endif','ETC2RGB8Unorm','compressedTexImage2D','LIGHTTYPEID_DIRECTIONALLIGHT','#ifdef\x20SHADOWS\x0a#if\x20defined(SHADOWCSM{X})\x0avPositionFromCamera{X}=view*worldPos;\x0afor\x20(int\x20i=0;\x20i<SHADOWCSMNUM_CASCADES{X};\x20i++)\x20{\x0avPositionFromLight{X}[i]=lightMatrix{X}[i]*worldPos;\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0avDepthMetric{X}[i]=(-vPositionFromLight{X}[i].z+light{X}.depthValues.x)/light{X}.depthValues.y;\x0a#else\x0avDepthMetric{X}[i]=(vPositionFromLight{X}[i].z+light{X}.depthValues.x)/light{X}.depthValues.y;\x0a#endif\x0a}\x0a#elif\x20defined(SHADOW{X})\x20&&\x20!defined(SHADOWCUBE{X})\x0avPositionFromLight{X}=lightMatrix{X}*worldPos;\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0avDepthMetric{X}=(-vPositionFromLight{X}.z+light{X}.depthValues.x)/light{X}.depthValues.y;\x0a#else\x0avDepthMetric{X}=(vPositionFromLight{X}.z+light{X}.depthValues.x)/light{X}.depthValues.y;\x0a#endif\x0a#endif\x0a#endif\x0a','_internalTexturesCache','process','outlinePixelShader','1745065TOttIW','_renderMultiviewToSingleView','style','rightOperand','_camera','\x0a#define\x20BILLBOARD\x0a','faceForward','_internalAbstractMeshDataInfo','setStorageBuffer:\x20Unsupported\x20method\x20in\x20this\x20engine!','unshift','createCommandEncoder','HasSpecificTrigger','isAsync','_mask','Invalid\x20multiview\x20frame\x20buffer','vFogInfos','createRawTexture2DArray','vrdisplaydisconnect','\x20-\x20','5072330gHLVXS','depthVertexShader','//\x20Internals\x20UBO','isPointerLock','getWidth','RGB\x20format\x20not\x20supported\x20in\x20WebGPU','setImmediate','#include<helperFunctions>\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}','_localPosition','/*\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','61cEAhZn','updateCubeTextures','_BuildSubExpression','premultipliedAlpha','ShadersStore','buttons','setAsSystemValue','getVaryingNextLocation','numBoneInfluencers','rawBoundingInfo','computePipeline','writeOutputs','vEyePosition','uniform\x20float\x20brightness;\x0auniform\x20float\x20persistence;\x0auniform\x20float\x20timeScale;\x0avarying\x20vec2\x20vUV;\x0avec2\x20hash22(vec2\x20p)\x0a{\x0ap=p*mat2(127.1,311.7,269.5,183.3);\x0ap=-1.0+2.0*fract(sin(p)*43758.5453123);\x0areturn\x20sin(p*6.283+timeScale);\x0a}\x0afloat\x20interpolationNoise(vec2\x20p)\x0a{\x0avec2\x20pi=floor(p);\x0avec2\x20pf=p-pi;\x0avec2\x20w=pf*pf*(3.-2.*pf);\x0afloat\x20f00=dot(hash22(pi+vec2(.0,.0)),pf-vec2(.0,.0));\x0afloat\x20f01=dot(hash22(pi+vec2(.0,1.)),pf-vec2(.0,1.));\x0afloat\x20f10=dot(hash22(pi+vec2(1.0,0.)),pf-vec2(1.0,0.));\x0afloat\x20f11=dot(hash22(pi+vec2(1.0,1.)),pf-vec2(1.0,1.));\x0afloat\x20xm1=mix(f00,f10,w.x);\x0afloat\x20xm2=mix(f01,f11,w.x);\x0afloat\x20ym=mix(xm1,xm2,w.y);\x20\x0areturn\x20ym;\x0a}\x0afloat\x20perlinNoise2D(float\x20x,float\x20y)\x0a{\x0afloat\x20sum=0.0;\x0afloat\x20frequency=0.0;\x0afloat\x20amplitude=0.0;\x0afor(int\x20i=0;\x20i<OCTAVES;\x20i++)\x0a{\x0afrequency=pow(2.0,float(i));\x0aamplitude=pow(persistence,float(i));\x0asum=sum+interpolationNoise(vec2(x*frequency,y*frequency))*amplitude;\x0a}\x0areturn\x20sum;\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0afloat\x20x=abs(vUV.x);\x0afloat\x20y=abs(vUV.y);\x0afloat\x20noise=brightness+(1.0-brightness)*perlinNoise2D(x,y);\x0agl_FragColor=vec4(noise,noise,noise,1.0);\x0a}\x0a','colorVertexShader','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20','___###','TEXTURETYPE_UNSIGNED_INT_10F_11F_11F_REV','_buildIndexBuffer','cancelAllCoroutines','texelSize','reduce','autoResetAlpha','GL_ALPHA_EQUATION_MAX','generateMipmaps','createStorageBuffer','_caps','RGBA16Sint','bumpFragmentMainFunctions','stop','recordVertexArrayObject','-dxt.ktx','textureDome','parse','setUInt3','_resetPostProcessChain','#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}','_getNextFreeBinding','_depthStencilTexture','textureProcessor','#include\x20<','TEXTURETYPE_UNSIGNED_SHORT_5_6_5\x20format\x20not\x20supported\x20in\x20WebGPU','EnableFor','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<decalFragment>\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(alpha<ALPHATESTVALUE)\x0adiscard;\x0a#ifndef\x20ALPHABLEND\x0aalpha=1.0;\x0a#endif\x0a#endif\x0a#endif\x0aoutParams.surfaceAlbedo=surfaceAlbedo;\x0aoutParams.alpha=alpha;\x0a}\x0a','RENDERBUFFER','focus','Object','updateUniformBuffer','gpuUpdateParticlesVertexShader','_PreparePreProcessors','emitComments','compilationString','_areLightsDirty','layerType','reflectionMatrix','addMSAARenderBuffer','_singleClick','beginRenderPass','removeEventListener','RGBA8UnormSRGB','FALLOFF_GLTF','angle','exec','_thinInstanceDataStorage','vec3\x20','isAnimationSheetEnabled','layerIndex','No\x20Physics\x20Body\x20for\x20TransformNode','isRightCamera','PositionKind','_builtCompilationString','backgroundVertexShader','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}','_attached','_fillEffectInformation','#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<SHADOWCSMNUM_CASCADES{X};\x20i++)\x20\x0a{\x0a#ifdef\x20SHADOWCSM_RIGHTHANDED{X}\x0adiff{X}=viewFrustumZ{X}[i]+vPositionFromCamera{X}.z;\x0a#else\x0adiff{X}=viewFrustumZ{X}[i]-vPositionFromCamera{X}.z;\x0a#endif\x0aif\x20(diff{X}>=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','IsExternalTexture','#ifdef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0auniform\x20bakedVertexAnimationTime:\x20f32;\x0auniform\x20bakedVertexAnimationTextureSizeInverted:\x20vec2<f32>;\x0auniform\x20bakedVertexAnimationSettings:\x20vec4<f32>;\x0avar\x20bakedVertexAnimationTexture\x20:\x20texture_2d<f32>;\x0a#ifdef\x20INSTANCES\x0aattribute\x20bakedVertexAnimationSettingsInstanced\x20:\x20vec4<f32>;\x0a#endif\x0afn\x20readMatrixFromRawSamplerVAT(smp\x20:\x20texture_2d<f32>,index\x20:\x20f32,frame\x20:\x20f32)->mat4x4<f32>\x0a{\x0alet\x20offset=i32(index)*4;\x0alet\x20frameUV=i32(frame);\x0alet\x20m0=textureLoad(smp,vec2<i32>(offset+0,frameUV),0);\x0alet\x20m1=textureLoad(smp,vec2<i32>(offset+1,frameUV),0);\x0alet\x20m2=textureLoad(smp,vec2<i32>(offset+2,frameUV),0);\x0alet\x20m3=textureLoad(smp,vec2<i32>(offset+3,frameUV),0);\x0areturn\x20mat4x4<f32>(m0,m1,m2,m3);\x0a}\x0a#endif\x0a','Vertex','ALPHA_ALPHATOCOLOR','ASTC6x6Unorm','_enabled',')\x0d\x0a','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}','deleteFramebuffer','fovMultiplier','#ifdef\x20UV{X}\x0aattribute\x20vec2\x20uv{X};\x0a#endif\x0a','rgbdEncodePixelShader','_setRayOnPointerInfo','_isStencilOpDirty','depthFunc','defined(','resetDepthCullingState','_debugPushGroup','_uniformDeclaration','setAlphaBlendEnabled','RGBA32Sint','error','ASTC8x8UnormSRGB','bufferNames','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}','GL_ALPHA_FUNCTION_DST_COLOR','_GpuTextureViewDimensionByWebGPUTextureType','removeTags','version','onPointerMove','_Counter','_modeSaved','_codeVariableName','_beforeCompositionPostProcesses','InvertYPremultiplyAlpha','uniformBufferRegexp','_submitVRFrame','decalVertexDeclaration','struct\x20Scene\x20{\x0aviewProjection\x20:\x20mat4x4<f32>,\x0a#ifdef\x20MULTIVIEW\x0aviewProjectionR\x20:\x20mat4x4<f32>,\x0a#endif\x20\x0aview\x20:\x20mat4x4<f32>,\x0aprojection\x20:\x20mat4x4<f32>,\x0avEyePosition\x20:\x20vec4<f32>,\x0a};\x0avar<uniform>\x20scene\x20:\x20Scene;\x0a','faceId','TEXTURE_TRILINEAR_SAMPLINGMODE','_isCullDirty','#include<clipPlaneFragmentDeclaration>\x0auniform\x20vec4\x20color;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0agl_FragColor=color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','#if\x20','DoubleClickDelay','format','SetData','opDepthFail','toFixed','engine','tan','bilinearFiltering','_uniforms','markAsUnprocessed','texStorage3D','ray','#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<helperFunctions>\x0a#include<screenSpaceRayTrace>\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','abs','videoHeight','getOwnPropertyDescriptor','_mainRenderPassWrapper','samplingMode','setInt','toGlobal','number','throw','\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\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#ifdef\x20INVERTY\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20color\x20=\x20texelFetch(img,\x20ivec2(gl_FragCoord.x,\x20vTextureSize.y\x20-\x20gl_FragCoord.y),\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','createShaderModule','_framebuffer','_delayQuerySetDispose','sprites','\x20\x20return\x20fragmentOutputs;','subtractToRef','setTexture','depthValue','copy','premultiplyAlpha','captureGPUFrameTime','_invalidateMesh','setViewport','mixPixelShader','varyingDeclaration','bindArrayBuffer','glFragData','dispose','createRenderTargetCubeTexture','\x20=\x20texture2DLodEXT(','is3D','attribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#ifdef\x20INSTANCES\x0aattribute\x20vec4\x20world0;\x0aattribute\x20vec4\x20world1;\x0aattribute\x20vec4\x20world2;\x0aattribute\x20vec4\x20world3;\x0a#endif\x0a#include<helperFunctions>\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<shadowMapVertexExtraDeclaration>\x0a#include<clipPlaneVertexDeclaration>\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<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\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<shadowMapVertexNormalBias>\x0agl_Position=viewProjection*worldPos;\x0a#include<shadowMapVertexMetric>\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<clipPlaneVertex>\x0a}','setFloat4','_initClickEvent','flushFramebuffer','getHardwareScalingLevel','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','TEXTUREFORMAT_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT','97615ExnlAq','clipPlaneVertex','#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','lightsFragmentFunctions','PREPASS_ALBEDO_SQRT_TEXTURE_TYPE','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','inverts','_opStencilFail','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','pbrDirectLightingSetupFunctions','_tempVector','ui8d','group','_delayedClicks','\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<f32>\x0a\x20\x20\x20\x20)\x20->\x20@location(0)\x20vec4<f32>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20textureSampleBaseClampToEdge(videoTexture,\x20videoSampler,\x20vec2<f32>(fragUV.x,\x201.0\x20-\x20fragUV.y));\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','updateDirectly','getUniforms','shadowMapVertexExtraDeclaration','_bindTextureDirectly','startsWith','maximum','ETC2RGB8A1UnormSRGB','TEXTURE_NEAREST_LINEAR','diffusionD','sceneUboDeclaration','clearQuad','_depthTest','from','_ExtractOperation','maxCubemapTextureSize','#if\x20defined(','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}','ALPHA_ADD','R16Uint','_videoPipelines','uniform\x20float\x20conversion;\x0auniform\x20sampler2D\x20textureSampler;\x0avarying\x20vec2\x20vUV;\x0a#include<helperFunctions>\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','getBindGroups','_readTexturePixelsSync','vec4\x20glFragCoord_;\x0a','_DefaultIndexOfRefraction','\x0a\x20\x20vertexInputs\x20=\x20input;\x0a','TEXTURE_WRAP_T','onPointerObservable','updateVideoTexture','_getFreeVariableName','uniformBuffer','availableSamplers','sceneVertexDeclaration','data','_uniformBufferLayoutBuilt','#define\x20','R8Snorm','setStencilPassOp','resetStencilState','_partialLoadImg','cellInfo','AddIndividualParser','_onBeforeCameraRenderObserver','_clearDepthValue','invertU','ColorInstanceKind','_sphericalPolynomial','fixedFoveation','surface','RemoveTagsFrom','_currentRenderTarget','blockingBlocks','ASTC4x4UnormSRGB','setStencilFailOp','_buffer','isReady','_copyInvertYBindGroup','_doubleClick','DEPTH_ATTACHMENT','motionBlur','_copyInvertYBindGroupWithOfst','_ProcessShaderConversion','textureLod(','TransformNormalToRef','handleFragmentSideCodeReflectionCoords','harmonicsFunctions','simulatePointerUp','createDrawContext','R8Uint','#include<sceneUboDeclaration>\x0a','IridescenceBlock','\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','disableVR','#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','_Stack','doubleClick','//#define\x20','ASTC12x10UnormSRGB','_isUbo','_updateMultiviewUbo','maxRenderTriangleCount','\x0d\x0a#endif','textureBlur','triplanarVertexShader','MAINUV7','isTrue','getBaseSize','BrowserForward','blackAndWhitePixelShader','void\x20DUMMYFUNC','startFrame','pbrBlockFinalUnlitComponents','irradianceSampler','emitter','leftOver-','loop','GL_ES','_mipmapGenRenderPassDescr','getDiffusionProfileParameters','_defaultAttachments','references',']\x20is\x20not\x20connected\x20and\x20is\x20not\x20optional.\x0d\x0a','anisotropicFilteringLevel','#ifdef\x20DECAL\x0auniform\x20vec4\x20vDecalInfos;\x0a#endif\x0a','TextureBinding','_coroutineScheduler','func','_tags','_ssDiffusionS','getRenderPipeline','updateFloat','dataStoreObject','stereoscopicInterlacePixelShader','copyExternalImageToTexture','-pvrtc.ktx','getMeshUnderPointerByPointerId','ACTION_OnKeyUpTrigger','ASTC10x6UnormSRGB','isFragment','metersPerUnit','log','_compiledComputeEffects','#ifdef\x20DECAL\x0auniform\x20vec4\x20vDecalInfos;\x0auniform\x20mat4\x20decalMatrix;\x0a#endif\x0a',',\x20falling\x20back\x20to\x20the\x20','TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT1','pollInput','TEXTURE_3D','decorate','_createBlurPostProcesses','blendEquationSeparate','thinInstanceSetMatrixAt','#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','pbrIBLFunctions','_samples','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<helperFunctions>\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<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<fogFragmentDeclaration>\x0a#include<clipPlaneFragmentDeclaration>\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<clipPlaneFragment>\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<depthPrePass>\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<furOffset)\x20{discard;}\x0afloat\x20occlusion=mix(0.0,furTextureColor.b*1.2,furOffset);baseColor=vec4(baseColor.xyz*max(occlusion,furOcclusion),1.1-furOffset);\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);lightingInfo\x20info;float\x20shadow=1.;float\x20glossiness=0.;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0a#endif\x0a#include<lightFragment>[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<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','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<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\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<clipPlaneVertex>\x0a#include<fogVertex>\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','#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','updateRawTexture','enableBlur','Thin\x20Instances\x20are\x20not\x20supported\x20on\x20this\x20device\x20as\x20Instanced\x20Array\x20extension\x20not\x20supported','\x22\x20is\x20not\x20declared\x20in\x20the\x20vertex\x20shader!\x20This\x20declaration\x20will\x20be\x20ignored.','_emitCodeFromInclude','timeoutId','TEXTURE_MAG_FILTER','_generateDepthBuffer','Unknown','96QvPrUt','_DefaultMaximumThickness','GL_ALPHA_FUNCTION_SRC_ALPHA','_updatePointerPosition','TEXTURE_FIXED_EQUIRECTANGULAR_MODE','stopAnimation','resolution','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<helperFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\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<lightFragment>[0..1]\x0avec4\x20color=vec4(shadowColor,(1.0-clamp(shadow,0.,1.))*alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','_useVAO','MultiRenderTarget','mPreviousBones','setIntArray3','getAlphaMode','isArray','ShadersStoreWGSL','\x5cs*\x5c[(.+)?\x5c]','struct\x20Particle\x20{\x0aposition\x20:\x20vec3<f32>,\x0aage\x20:\x20f32,\x0asize\x20:\x20vec3<f32>,\x0alife\x20:\x20f32,\x0aseed\x20:\x20vec4<f32>,\x0adirection\x20:\x20vec3<f32>,\x0adummy0:\x20f32,\x0a#ifdef\x20CUSTOMEMITTER\x0ainitialPosition\x20:\x20vec3<f32>,\x0adummy1:\x20f32,\x0a#endif\x0a#ifndef\x20COLORGRADIENTS\x0acolor\x20:\x20vec4<f32>,\x0a#endif\x0a#ifndef\x20BILLBOARD\x0ainitialDirection\x20:\x20vec3<f32>,\x0adummy2:\x20f32,\x0a#endif\x0a#ifdef\x20NOISE\x0anoiseCoordinates1\x20:\x20vec3<f32>,\x0adummy3:\x20f32,\x0anoiseCoordinates2\x20:\x20vec3<f32>,\x0adummy4:\x20f32,\x0a#endif\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0aangle\x20:\x20f32,\x0a#else\x0aangle\x20:\x20vec2<f32>,\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<Particle>,\x0a};\x0astruct\x20SimParams\x20{\x0acurrentCount\x20:\x20f32,\x0atimeDelta\x20:\x20f32,\x0astopFactor\x20:\x20f32,\x0arandomTextureSize:\x20i32,\x0alifeTime\x20:\x20vec2<f32>,\x0aemitPower\x20:\x20vec2<f32>,\x0a#ifndef\x20COLORGRADIENTS\x0acolor1\x20:\x20vec4<f32>,\x0acolor2\x20:\x20vec4<f32>,\x0a#endif\x0asizeRange\x20:\x20vec2<f32>,\x0ascaleRange\x20:\x20vec4<f32>,\x0aangleRange\x20:\x20vec4<f32>,\x0agravity\x20:\x20vec3<f32>,\x0a#ifdef\x20LIMITVELOCITYGRADIENTS\x0alimitVelocityDamping\x20:\x20f32,\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x0acellInfos\x20:\x20vec4<f32>,\x0a#endif\x0a#ifdef\x20NOISE\x0anoiseStrength\x20:\x20vec3<f32>,\x0a#endif\x0a#ifndef\x20LOCAL\x0aemitterWM\x20:\x20mat4x4<f32>,\x0a#endif\x0a#ifdef\x20BOXEMITTER\x0adirection1\x20:\x20vec3<f32>,\x0adirection2\x20:\x20vec3<f32>,\x0aminEmitBox\x20:\x20vec3<f32>,\x0amaxEmitBox\x20:\x20vec3<f32>,\x0a#endif\x0a#ifdef\x20CONEEMITTER\x0aradius\x20:\x20vec2<f32>,\x0aconeAngle\x20:\x20f32,\x0aheight\x20:\x20vec2<f32>,\x0adirectionRandomizer\x20:\x20f32,\x0a#endif\x0a#ifdef\x20CYLINDEREMITTER\x0aradius\x20:\x20f32,\x0aheight\x20:\x20f32,\x0aradiusRange\x20:\x20f32,\x0a#ifdef\x20DIRECTEDCYLINDEREMITTER\x0adirection1\x20:\x20vec3<f32>,\x0adirection2\x20:\x20vec3<f32>,\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<f32>,\x0adirection2\x20:\x20vec3<f32>,\x0a#endif\x0a#ifdef\x20SPHEREEMITTER\x0aradius\x20:\x20f32,\x0aradiusRange\x20:\x20f32,\x0a#ifdef\x20DIRECTEDSPHEREEMITTER\x0adirection1\x20:\x20vec3<f32>,\x0adirection2\x20:\x20vec3<f32>,\x0a#else\x0adirectionRandomizer\x20:\x20f32,\x0a#endif\x0a#endif\x0a};\x0a@binding(0)\x20@group(0)\x20var<uniform>\x20params\x20:\x20SimParams;\x0a@binding(1)\x20@group(0)\x20var<storage,read>\x20particlesIn\x20:\x20Particles;\x0a@binding(2)\x20@group(0)\x20var<storage,read_write>\x20particlesOut\x20:\x20Particles;\x0a@binding(3)\x20@group(0)\x20var\x20randomTexture\x20:\x20texture_2d<f32>;\x0a@binding(4)\x20@group(0)\x20var\x20randomTexture2\x20:\x20texture_2d<f32>;\x0a#ifdef\x20SIZEGRADIENTS\x0a@binding(0)\x20@group(1)\x20var\x20sizeGradientSampler\x20:\x20sampler;\x0a@binding(1)\x20@group(1)\x20var\x20sizeGradientTexture\x20:\x20texture_2d<f32>;\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<f32>;\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<f32>;\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<f32>;\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<f32>;\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<f32>;\x0a#endif\x0afn\x20getRandomVec3(offset\x20:\x20f32,vertexID\x20:\x20f32)->vec3<f32>\x20{\x0areturn\x20textureLoad(randomTexture2,vec2<i32>(i32(vertexID*offset/params.currentCount*f32(params.randomTextureSize))\x20%\x20params.randomTextureSize,0),0).rgb;\x0a}\x0afn\x20getRandomVec4(offset\x20:\x20f32,vertexID\x20:\x20f32)->vec4<f32>\x20{\x0areturn\x20textureLoad(randomTexture,vec2<i32>(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<u32>)\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<f32>=particlesIn.particles[index].seed;\x0alet\x20direction\x20:\x20vec3<f32>=particlesIn.particles[index].direction;\x0aif\x20(newAge>=life\x20&&\x20params.stopFactor\x20!=\x200.)\x20{\x0avar\x20newPosition\x20:\x20vec3<f32>;\x0avar\x20newDirection\x20:\x20vec3<f32>;\x0alet\x20randoms\x20:\x20vec4<f32>=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<f32>(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<f32>(\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<f32>(\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<f32>=getRandomVec3(seed.y,vertexID);\x0alet\x20randoms3\x20:\x20vec3<f32>=getRandomVec3(seed.z,vertexID);\x0anewPosition=vec3<f32>(0.,0.,0.);\x0anewDirection=params.direction1+(params.direction2-params.direction1)*randoms3;\x0a#elif\x20defined(BOXEMITTER)\x0alet\x20randoms2\x20:\x20vec3<f32>=getRandomVec3(seed.y,vertexID);\x0alet\x20randoms3\x20:\x20vec3<f32>=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<f32>=getRandomVec3(seed.y,vertexID);\x0alet\x20randoms3\x20:\x20vec3<f32>=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<f32>(randX,abs(randY),randZ);\x0anewDirection=normalize(newPosition+params.directionRandomizer*randoms3);\x0a#elif\x20defined(SPHEREEMITTER)\x0alet\x20randoms2\x20:\x20vec3<f32>=getRandomVec3(seed.y,vertexID);\x0alet\x20randoms3\x20:\x20vec3<f32>=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<f32>(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<f32>=getRandomVec3(seed.y,vertexID);\x0alet\x20randoms3\x20:\x20vec3<f32>=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<f32>(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<f32>(cos(angle),(-0.5+randoms3.y)*params.directionRandomizer,sin(angle));\x0anewDirection=normalize(newDirection);\x0a#endif\x0a#elif\x20defined(CONEEMITTER)\x0alet\x20randoms2\x20:\x20vec3<f32>=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<f32>(randX,randY,randZ);\x20\x0aif\x20(abs(cos(params.coneAngle))==1.0)\x20{\x0anewDirection=vec3<f32>(0.,1.0,0.);\x0a}\x20else\x20{\x0alet\x20randoms3\x20:\x20vec3<f32>=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<f32>(0.,0.,0.);\x0anewDirection=2.0*(getRandomVec3(seed.w,vertexID)-vec3<f32>(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<f32>(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<f32>=newDirection;\x0a#else\x20\x0alet\x20initial\x20:\x20vec3<f32>=(params.emitterWM*vec4<f32>(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<f32>(ageGradient,0.),0.).r;\x0a#endif\x0a#ifdef\x20DRAGGRADIENTS\x0adirectionScale=directionScale*(1.0-textureSampleLevel(dragGradientTexture,dragGradientSampler,vec2<f32>(ageGradient,0.),0.).r);\x0a#endif\x0alet\x20position\x20:\x20vec3<f32>=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<f32>(\x0atextureSampleLevel(sizeGradientTexture,sizeGradientSampler,vec2<f32>(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<f32>=direction+params.gravity*timeDelta;\x0a#ifdef\x20LIMITVELOCITYGRADIENTS\x0alet\x20limitVelocity\x20:\x20f32=textureSampleLevel(limitVelocityGradientTexture,limitVelocityGradientSampler,vec2<f32>(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<f32>=particlesIn.particles[index].noiseCoordinates1;\x0alet\x20noiseCoordinates2\x20:\x20vec3<f32>=particlesIn.particles[index].noiseCoordinates2;\x0alet\x20fetchedR\x20:\x20f32=textureSampleLevel(noiseTexture,noiseSampler,vec2<f32>(noiseCoordinates1.x,noiseCoordinates1.y)*vec2<f32>(0.5,0.5)+vec2<f32>(0.5,0.5),0.).r;\x0alet\x20fetchedG\x20:\x20f32=textureSampleLevel(noiseTexture,noiseSampler,vec2<f32>(noiseCoordinates1.z,noiseCoordinates2.x)*vec2<f32>(0.5,0.5)+vec2<f32>(0.5,0.5),0.).r;\x0alet\x20fetchedB\x20:\x20f32=textureSampleLevel(noiseTexture,noiseSampler,vec2<f32>(noiseCoordinates2.y,noiseCoordinates2.z)*vec2<f32>(0.5,0.5)+vec2<f32>(0.5,0.5),0.).r;\x0alet\x20force\x20:\x20vec3<f32>=vec3<f32>(-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<f32>(ageGradient,0.),0.).r;\x0aparticlesOut.particles[index].angle=particlesIn.particles[index].angle+angularSpeed*timeDelta;\x0a#else\x0alet\x20angle\x20:\x20vec2<f32>=particlesIn.particles[index].angle;\x0aparticlesOut.particles[index].angle=vec2<f32>(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','sunDirection','cellVertexShader','_removeOnDetach','fluidRenderingStandardBlurPixelShader','pbrDirectLightingFalloffFunctions','#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<prePassDeclaration>[SCENE_MRT_COUNT]\x0aprecision\x20highp\x20float;\x0a#include<oitDeclaration>\x0a#ifndef\x20FROMLINEARSPACE\x0a#define\x20FROMLINEARSPACE\x0a#endif\x0a#include<__decl__pbrFragment>\x0a#include<pbrFragmentExtraDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<pbrFragmentSamplersDeclaration>\x0a#include<imageProcessingDeclaration>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<logDepthDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#include<helperFunctions>\x0a#include<subSurfaceScatteringFunctions>\x0a#include<importanceSampling>\x0a#include<pbrHelperFunctions>\x0a#include<imageProcessingFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<harmonicsFunctions>\x0a#include<pbrDirectLightingSetupFunctions>\x0a#include<pbrDirectLightingFalloffFunctions>\x0a#include<pbrBRDFFunctions>\x0a#include<hdrFilteringFunctions>\x0a#include<pbrDirectLightingFunctions>\x0a#include<pbrIBLFunctions>\x0a#include<bumpFragmentMainFunctions>\x0a#include<bumpFragmentFunctions>\x0a#ifdef\x20REFLECTION\x0a#include<reflectionFunction>\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0a#include<pbrBlockAlbedoOpacity>\x0a#include<pbrBlockReflectivity>\x0a#include<pbrBlockAmbientOcclusion>\x0a#include<pbrBlockAlphaFresnel>\x0a#include<pbrBlockAnisotropic>\x0a#include<pbrBlockReflection>\x0a#include<pbrBlockSheen>\x0a#include<pbrBlockClearcoat>\x0a#include<pbrBlockIridescence>\x0a#include<pbrBlockSubSurface>\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0a#include<pbrBlockNormalGeometric>\x0a#include<bumpFragment>\x0a#include<pbrBlockNormalFinal>\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<depthPrePass>\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<pbrBlockLightmapInit>\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<pbrBlockGeometryInfo>\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<pbrBlockReflectance0>\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<pbrBlockReflectance>\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<pbrBlockDirectLighting>\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0a#include<pbrBlockFinalLitComponents>\x0a#endif\x20\x0a#include<pbrBlockFinalUnlitComponents>\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_FINALCOLORCOMPOSITION\x0a#include<pbrBlockFinalColorComposition>\x0a#include<logDepthFragment>\x0a#include<fogFragment>(color,finalColor)\x0a#include<pbrBlockImageProcessing>\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<oitFragment>\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<pbrDebug>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','_onBaseAnimationEnd','_irradianceTexture','renderPassDescriptor','next','dataStoreDataByteOffset','f32d','indexOfRefraction','#ifdef\x20IMAGEPROCESSINGPOSTPROCESS\x0agl_FragColor.rgb=pow(gl_FragColor.rgb,vec3(2.2));\x0a#endif\x0a','mrtFragmentDeclaration','#if\x20defined(DIFFUSE_ISLINEAR)\x20||\x20defined(EMISSIVE_ISLINEAR)\x0a#include<helperFunctions>\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<clipPlaneFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#include<clipPlaneFragment>\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.a<ALPHATESTVALUE)\x0adiscard;\x0a#endif\x0a#ifdef\x20EMISSIVE\x0avec4\x20emissive=texture2D(emissiveSampler,vUVEmissive);\x0a#ifdef\x20EMISSIVE_ISLINEAR\x0aemissive=toGammaSpace(emissive);\x0a#endif\x0agl_FragColor=emissive*finalColor*glowIntensity;\x0a#else\x0agl_FragColor=finalColor;\x0a#endif\x0a#ifdef\x20HIGHLIGHT\x0agl_FragColor.a=glowColor.a;\x0a#endif\x0a}','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','BC5RGUnorm','setUInt4','previousWorldMatrices','MipMap','setIntArray4','stencilFunc','additionalData','getUniqueId','getPipelineContext','ASTC12x12UnormSRGB','\x22,\x20undefined,\x20undefined,\x20','constructor','_bundleList','TEXTUREFORMAT_DEPTH32_FLOAT','endOfUniformBufferProcessor','ssaoPixelShader','FRAMEBUFFER','spritesPixelShader','bindBuffers','_animate','setFloat2','hints','pointerUpPredicate','EACR11Unorm','_appendSpriteVertex','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','occlusionQuerySet','byteOffset','_pointerDownStage','filterSize','setMatrix3x3','_name','_addTextureBindingDescription','_capacity','updateRawTexture2DArray','_wasPreviouslyReady','_unpackFlipY','createCanvas','getInput','SHADER\x20ERROR','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}','textureUsages','_useDirectMapping','CopyVideoToTexture_','viewProjection','\x0a//','_zOffsetUnits','blendColor','pickId','uScale','attached','_tintWASM','//Constants\x0d\x0a','setTextureFormatToUse','_gl','Instantiate','MAINUV4','iridescenceOut','setTimeout','_cacheMatrix','renderTargetTexture','_deferredReleaseTextures','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}','worldPosition','updateUInt2','associatedVariableName','onCompiled','bindAttachments','Render\x20to\x20float\x20textures\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20forced\x20to\x20false.','TransformNormalFromFloatsToRef','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','createStorageBuffer:\x20Unsupported\x20method\x20in\x20this\x20engine!','Depth32Float','array','DEPTH_TEST','uniformProcessor','_frameHandler','_getWebGLTextureType','_loadFile','xrNativeFeatureName','object','updateMatrices','generateStencilBuffer','_ySize','depthOfFieldMergePixelShader','TEXTURE_LINEAR_LINEAR_MIPNEAREST','indexCount','_copyInvertYTempTexture','endOcclusionQuery','_timeElapsedQueryEnded','meshUVSpaceRendererVertexShader','applyToShader','_MoveCursorWithinIf','renderPass','26192gScwHr','_rebuild','getContext','UNSIGNED_INT','BC5RGSnorm','invertY','HALF_FLOAT','ASTC10x5Unorm','getInputBlockByPredicate','_startingPointerTime','pbrBlockAlphaFresnel','TEXTURETYPE_UNSIGNED_INT_5_9_9_9_REV\x20format\x20not\x20supported\x20in\x20WebGPU','push','\x20\x20vertexOutputs.position.y\x20=\x20vertexOutputs.position.y\x20*\x20internals.yFactor_;\x0a\x20\x20return\x20vertexOutputs;','releaseMSAARenderBuffers','viewport','setColor4','fogEnd','fibonacci','_onPointerMove','#ifndef','hasTags','TEXTURETYPE_SHORT','_releaseFramebufferObjects','uniformBufferProcessor','keyup','_rt','forcedBindableBlocks','boundingBoxPosition','LastCreatedScene','_workingCanvas','Color3','_loopAnimation','unBindMultiColorAttachmentFramebuffer','readPixels','updateRawTexture3D','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0a#include<helperFunctions>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0agl_FragColor=toRGBD(texture2D(textureSampler,vUV).rgb);\x0a}','_compiledShaders','setAlphaEquationParameters','_pointerOverMesh','diffusionS','noPrecision','renderPriority','Store','_canUseMultipleBuffers','lines','\x20=\x20computeFixedEquirectangularCoords(','blendFuncSeparate','ETC2RGBA8UnormSRGB','runCoroutineAsync','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','null','_prepareWorkingCanvas','vReflectionPosition','womips','};\x0avar<private>\x20fragmentOutputs\x20:\x20FragmentOutputs;\x0a','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}','getTranslation','#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<helperFunctions>\x0a#include<imageProcessingDeclaration>\x0a#include<imageProcessingFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\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<clipPlaneFragmentDeclaration>\x0a#include<logDepthDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\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<lightFragment>[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<lightFragment>[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<logDepthFragment>\x0a#include<fogFragment>\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','#ifdef\x20DEPTHPREPASS\x0agl_FragColor=vec4(0.,0.,0.,1.0);\x0areturn;\x0a#endif\x0a','#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','DontInvertY','cellPixelShader','direction2','float','_previousStartingPointerTime','cancelAnimationFrame','_compression','_renderEncoder','_keys','_userThinInstanceBuffersStorage','#ifdef\x20LOGARITHMICDEPTH\x0auniform\x20float\x20logarithmicDepthConstant;\x0avarying\x20float\x20vFragmentDepth;\x0a#endif\x0a','mainUVVaryingDeclaration','fogDensity','struct\x20VertexInputs\x20{\x0a\x20\x20@builtin(vertex_index)\x20vertexIndex\x20:\x20u32,\x0a\x20\x20@builtin(instance_index)\x20instanceIndex\x20:\x20u32,\x0a','ONE_MINUS_DST_ALPHA','bumpVertex','FALLOFF_DEFAULT','[$1].el','sphericalPolynomial','_getFreeDefineName','BACKSIDE','unnamed','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#else\x0d\x0a','samplerVertexImplementation','CylinderDirectedParticleEmitter','_fragmentSourceCode','diffuseBase','LIGHTTYPEID_HEMISPHERICLIGHT','uv2','_MoveCursor','prepareDefines','attributeKeywordName','removeVerticesData','hasSpecificTrigger','_pickingAvailable','canRead','RG8Sint','uOffset','ALPHA_INTERPOLATE','FLOAT_32_UNSIGNED_INT_24_8_REV','ASTC8x5Unorm','updateEffect','Unable\x20to\x20create\x20webGL\x20texture','addItem','endRenderTargetPass','_reportDrawCall','defined($1)','_pixelPerfect','Parse','_unTranslatedPointerX','ALPHA_MULTIPLY','meshUboDeclaration','_shareDepth','_renderTargetEncoder','temps','readValue','data:','clipPlaneVertexDeclaration','worldMatrices','matchesTagsQuery','uniform\x20mat4\x20viewProjection;\x0auniform\x20mat4\x20view;','morphTargetsVertexDeclaration','ComputeNumMipmapLevels','_retrieveQueryBuffer','LeftOvertUBOName','layerPixelShader','oculusMultiview','getReflectionTextureMatrix','binding','_getFragmentShaderCode','Depth24Plus','textBuffer','then','getEmittedParticleSystems','Unable\x20to\x20get\x202d\x20context','bundles','precision\x20highp\x20float;\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\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<fogFragmentDeclaration>\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<helperFunctions>\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\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<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','cellWidth','meshVertexDeclaration',')\x20uniform','TEXTUREFORMAT_DEPTH24UNORM_STENCIL8','repeatKey','blurNumIterations','PREPASS_REFLECTIVITY_TEXTURE_TYPE','addEventListener','ALPHA_SRC_DSTONEMINUSSRCALPHA','_partialLoadFile','pointerup','defineProperty','_constantDeclaration','_KnownUBOs','deleteCompoundImpostor','_toIndex','_device','REFLECTIONMAP_OPPOSITEZ','logDepthFragment','_getDepthThreshold','type','detach','getRenderHeight','scheduler','_currentRenderPass','clipPlaneVertexDeclaration2','Depth\x20cube\x20texture\x20is\x20not\x20supported\x20by\x20WebGL\x201.','MATERIAL_LineStripDrawMode','postprocessVertexShader','getEffect','setWriteMask','_areImageProcessingDirty','BC1RGBAUnormSRGB','onPointerDown','geometryVertexShader','_pointerCaptures','TEXTUREFORMAT_BGRA','setBuffer','storageTexture','samples','_currentPickResult','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}','.xyz;\x0d\x0a','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}','imageProcessingPixelShader','_buildHeight','DEPTH24_STENCIL8','_bindTexture','clipPlane2','_textureHelper','getEyeParameters','_useInstancing','MAINUV5','pbrBlockDirectLighting','Multiview\x20is\x20not\x20supported','__framebuffer','customizeMaterialCount','pbrBlockLightmapInit','kernelBlurFragment2','importExternalTexture','REFLECTIONMAP_CUBIC','getHeight','_glslang','removeUniforms',')\x20in\x20','vClipPlane','_measureDurationState','thinInstanceRefreshBoundingInfo','i32d','R32Float','Color4','Mouse','blocksWithFallbacks','DYNAMIC_DRAW','_isDisabled','BC6HRGBFloat','_keyTemp','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<sceneUboDeclaration>\x0a','preventDefault','//Attributes\x0d\x0a','hasMoreFallbacks','boundingBoxSize','disableAutoAttach','\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','onlyShowShells','uniform\x20sampler2DArray\x20','thinInstanceGetWorldMatrices','availableBuffers','handleFragmentSideCodeReflectionColor','extensions','\x20/=\x20','renderPageFocus','reflectionTexture','DEPTH_STENCIL_ATTACHMENT','\x20premultiplyAlpha=','##INJECTCODE##','restoreSingleAttachmentForRenderTarget','viewForWriting','byteLength','_worldPositionNameInFragmentOnlyMode','writeTimestamp','_cachedWrapU','zOffsetUnits','_outputPostProcess','getPointerOverMesh','-etc1.ktx','_depthRTWrapper','_rigCameras','copyBufferToBuffer','_useSRGBBuffer','updateInt4','IncludesShadersStoreWGSL','_attachments','getBox','initializeShaders','addFallback','GL_ALPHA_FUNCTION_DST_ALPHA','_ssDiffusionD','struct\x20','_opDepthFail','#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','_copyInvertYRenderPassDescr','TEXTURE_CUBE_MAP_POSITIVE_Z','ALPHA_EQUATION_DARKEN',';\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','_bundleLists',',\x20null,\x20undefined,\x20undefined,\x20undefined,\x20','getBuffer','_currentBundleList','updateTextureSamplingMode','useInstancing','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<fogVertexDeclaration>\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}','_cascadeLoadFiles','position','_sampleBurleyDiffusionProfile','decalMap','precision\x20mediump\x20float;\x0a','texture3D','_alphaState','ASTC10x10Unorm','textureSampler','getBindGroupLayout','end','isConnected','GL_ALPHA_EQUATION_REVERSE_SUBTRACT','Clone','#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','updateMatrix2x2','_effect','keys','#ifdef\x20MAINUV{X}\x0avarying\x20vec2\x20vMainUV{X};\x0a#endif\x0a','targetTypes','TEXTURE_2D','instancedArrays','substitutionVars','cull','Engine\x20does\x20not\x20have\x20gl\x20rendering\x20context.','_vrDisplay','_AddTagTo','attribute\x20vec2\x20position;\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\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);\x0asampleCoordS=vUV+vec2(\x200.0,1.0)*texelSize;\x0asampleCoordE=vUV+vec2(\x201.0,0.0)*texelSize;\x0asampleCoordN=vUV+vec2(\x200.0,-1.0)*texelSize;\x0asampleCoordW=vUV+vec2(-1.0,0.0)*texelSize;\x0asampleCoordNW=vUV+vec2(-1.0,-1.0)*texelSize;\x0asampleCoordSE=vUV+vec2(\x201.0,1.0)*texelSize;\x0asampleCoordNE=vUV+vec2(\x201.0,-1.0)*texelSize;\x0asampleCoordSW=vUV+vec2(-1.0,1.0)*texelSize;\x0agl_Position=vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','\x20\x20@builtin(frag_depth)\x20fragDepth:\x20f32,\x0a','_rtBlur','uv5','BLEND','##INJECTCODE##\x0a','layerIndices','getScene','vertexShader','_valueCache','isVisible','removeIfDef','_pickedUpMesh','_depthStencilTextureWithStencil','createComputePipelineContext','ACTION_OnPointerOutTrigger','BYTES_PER_ELEMENT','No\x20fixed\x20size\x20for\x20Stencil8\x20format!','is2DArray','useReverseDepthBuffer','matrixBuffer','HasStencilAspect','READ_FRAMEBUFFER','_glSRGBExtensionValues','sampler3D',');\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','_SimplifyNegation','_outputs','BGRA8UnormSRGB','TEXTURE_CUBE_MAP_POSITIVE_X','isPickable','matricesWeights','struct\x20FragmentInputs\x20{\x0a\x20\x20@builtin(position)\x20position\x20:\x20vec4<f32>,\x0a\x20\x20@builtin(front_facing)\x20frontFacing\x20:\x20bool,\x0a','register','_createDepthStencilTexture','UniformSizes','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}','screenSpaceReflection2BlurCombinerPixelShader','ACTION_OnDoublePickTrigger','LIGHTTYPEID_POINTLIGHT','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}','_connectVREvents','hasTexture','TEXTURE_WRAP_S','_depthTextureFormat','updateFloat2','useRightHandedSystem','markAllMaterialsAsDirty','pbrDebug','tabIndex','create','_vertexIsGLES3','diffuseTexture','UNIFORM_BUFFER','textureInfos','setLayerAndFaceIndex','_doubleClickOccured','_enableEffect','getSampler','InternalsUBOName','_generateLeftOverUBOCode','outlineVertexShader','setDepthWriteEnabled','hasQueries','_defineMirroredEquirectangularFixedName','attachCamerasToRenderPipeline','creationFlags','cameraToUseForPointers','#if','fluidRenderingRenderPixelShader','TEXTUREFORMAT_RGB_INTEGER','offsetY','splice','Forward','Texture','requestPresent','bakedVertexAnimation','copyBufferToTexture','RGB','IsImageBitmap','MATERIAL_TriangleFanDrawMode','R32Uint','NEGATIVE_INFINITY','shadowMapPixelShader','skyVertexShader','heartbeat','\x22,\x20null);\x0d\x0a','_processSamplers','depthSampler','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}','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','_funcRef','Sint','false','add','_growArray','Raw2DArray','cellHeight','addDiffusionProfile','glowMapMergePixelShader','_sphericalPolynomialComputed','BABYLON.IridescenceBlock','setIntArray2','_physicsEngine','IncludesShadersStore','_webgpuTexture','shadowMapUboDeclaration','precision\x20highp\x20float;\x0a#include<__decl__backgroundVertex>\x0a#include<helperFunctions>\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\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<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\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<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\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<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[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','_lines','scene','depthMask','void\x20main(void)\x20{\x0d\x0a','GetSamplerHashCode','getQueryResult','#define\x20FOG','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','_WEBGL','setRawData','isPhysicsEnabled','//Samplers\x0d\x0a','_getRGBAMultiSampleBufferFormat','pointerX','_emitFunctionFromInclude','_pickedDownMesh','samplerVertexDeclaration','bumpVertexDeclaration','applyImpulse','_isDepthFuncDirty','supportSpriteInstancing','cameraId','mixVertexShader','CLIPPLANE5','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','emitVertex','_ubCopyWithOfst','clearAllDiffusionProfiles','_stridedUniformArrays','processCodeAfterIncludes','pbrBlockReflectance','_currentLayer','#ifdef','_projectionMatrix','postfixToInfix','geometryVertexDeclaration','ASTC6x5UnormSRGB','externalTextureSamplerBinding','RGBA8Snorm','children','RG8Uint','(-internals.yFactor_)*dpdy','bindUniformBuffer','finalizeShaders','#define\x20CLIPPLANE6','ACTION_OnLeftPickTrigger','setInt2','incrementReferences','CLIPPLANE6','isParallelCompiled','_workingContext','ACTION_OnPickOutTrigger','_leftOverUniformsByName','createRawBuffer','defines','diffuseSampler','ssDiffusionD','ONE_MINUS_CONSTANT_ALPHA','lavaVertexShader','writeBuffer','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<NUM_SAMPLES;\x20i++)\x20{\x0atc-=deltaTexCoord;\x0avec4\x20dataSample=texture2D(lightScatteringSampler,tc)*0.4;\x0adataSample*=illuminationDecay*weight;\x0acolor+=dataSample;\x0ailluminationDecay*=decay;\x0a}\x0avec4\x20realColor=texture2D(textureSampler,vUV);\x0agl_FragColor=((vec4((vec3(color.r,color.g,color.b)*exposure),1))+(realColor*(1.5-0.4)));\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','first','_width','ssao2','supportSRGBBuffers','_declareOutput','vec4\x20','AutoSamplerSuffix','previousWorld','bindGroupLayouts','parseGLES3','TEXTURETYPE_UNSIGNED_SHORT_4_4_4_4\x20format\x20not\x20supported\x20in\x20WebGPU','_prefiltered','ConeParticleEmitter','{X}','WGSL','pbrBlockNormalFinal','subMeshes','thinInstanceAddSelf','setValue','availableTextures','textureFloat','_deleteComputePipelineContext','#define\x20CLIPPLANE5','DEPTH_STENCIL','CreateNew','\x20=\x20textureCube(','ASTC8x6Unorm','decalFragmentDeclaration','HasTags','_onXRFrame','setMatrices','hasObservers','_xOffset','fogEnabled','#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','All','setCullFace','depthBoxBlurPixelShader','currentViewProjection','fillMode','texture2D','shadowMapVertexMetric','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}','reset','_registeredActions','pbrBlockClearcoat','#if\x20SM_SOFTTRANSPARENTSHADOW==1\x0aif\x20((bayerDither8(floor(mod(gl_FragCoord.xy,8.0))))/64.0>=softTransparentShadowSM*alpha)\x20discard;\x0a#endif\x0a','capacity','isIntermediate','TEXTUREFORMAT_RGB_INTEGER\x20format\x20not\x20supported\x20in\x20WebGPU','TEXTURE_EXPLICIT_MODE','enable','_unTranslatedPointerY','rttBlurred','frontFace','E1d','externalTexture','Cannot\x20create\x20canvas\x20to\x20resize\x20texture.','_cacheFloat4','_record','No\x20fixed\x20size\x20for\x20Depth24PlusStencil8\x20format!','_getPipeline','isQueryResultAvailable','ELEMENT_ARRAY_BUFFER','shadowEnabled','#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','hashCode','PreProcess','ACTION_OnPointerOverTrigger','_webgpuMSAATexture','vec','BilateralBlurY','ACTION_OnRightPickTrigger','LIGHTMAP_SHADOWSONLY','\x20=\x20textureCubeLodEXT(','pushDebugGroup','disableVertexArrayObjects','KEYDOWN','subSurfaceScatteringPixelShader','ALPHA_LAYER_ACCUMULATE','createVertexBuffer','_startingPointerPosition','#define\x20CYLINDEREMITTER\x0a#define\x20DIRECTEDCYLINDEREMITTER','filterPixelShader','\x20=\x20computeSphericalCoords(','underlyingResource','RG32Sint','_isBlendEquationParametersDirty','subarray','model','boundingBox','programLinkError',')\x20@binding(','readBuffer','setUniqueId','isWebGPU','POINTERWHEEL','_deserialize','GetCode','\x0d\x0a}','repeatableContentBlocks','charCodeAt','updateInt3','label','instancesVertex','useCache','fluidRenderingStandardBlur','struct\x20FragmentInputs\x20{\x0a\x20\x20@builtin(position)\x20position\x20:\x20vec4<f32>,\x0a','AddSamplers','_finalizeFrame','_bundleEncoder','createSceneUniformBuffer','ASTC8x8Unorm','TEXTURE_NEAREST_LINEAR_MIPLINEAR','_areMiscDirty','addPendingData','layerCounts','ASTC8x6UnormSRGB','_defineOppositeZ','ALPHA_EQUATION_MIN','copyTo','_EvaluatePreProcessors','uniformBlockBinding','enableGPUDebugMarkers','blurSizeDivisor','setPointerOverMesh','Float','_cacheSampler','ETC2RGBA8Unorm','textD','\x0a\x20\x20\x20\x20struct\x20VertexOutput\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20@builtin(position)\x20Position\x20:\x20vec4<f32>,\x0a\x20\x20\x20\x20\x20\x20\x20\x20@location(0)\x20fragUV\x20:\x20vec2<f32>\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<vec2<f32>,\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<vec2<f32>,\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<f32>(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','mask','#ifdef\x20INSTANCES\x0avar\x20finalWorld=mat4x4<f32>(vertexInputs.world0,vertexInputs.world1,vertexInputs.world2,vertexInputs.world3);\x0a#if\x20defined(PREPASS_VELOCITY)\x20||\x20defined(VELOCITY)\x0avar\x20finalPreviousWorld=mat4x4<f32>(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','RG8Unorm','clipPlane4','removeAttributes','variableNames','#define\x20POINTEMITTER','dataType','Finalize','TEXTUREFORMAT_COMPRESSED_RGBA_BPTC_UNORM','REFLECTIONMAP_SPHERICAL','dataStoreDataCurrentBufferBlockIndex','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<helperFunctions>\x0a#include<__decl__lightFragment>[0]\x0a#include<__decl__lightFragment>[1]\x0a#include<__decl__lightFragment>[2]\x0a#include<__decl__lightFragment>[3]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;uniform\x20sampler2D\x20diffuseSampler;uniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\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<clipPlaneFragment>\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<depthPrePass>\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<lightFragment>[0]\x0a#include<lightFragment>[1]\x0a#include<lightFragment>[2]\x0a#include<lightFragment>[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<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','canLoad','Internals','some','TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT3','_epsilon','LeftClick','visibility','setInt4','_prepareEffect','\x20\x20fragmentInputs\x20=\x20input;\x0a\x20\x20','_textureArrayProcessing','TEXTUREFORMAT_ALPHA\x20format\x20not\x20supported\x20in\x20WebGPU',');\x0d\x0a','blurDir','pbrBlockSheen','screenSpaceReflectionPixelShader','Float\x20textures\x20are\x20not\x20supported.\x20Cube\x20render\x20target\x20forced\x20to\x20TEXTURETYPE_UNESIGNED_BYTE\x20type','skipPointerUpPicking','_drawWrapperBase','#version\x20450\x0d\x0a','_blurNumIterations','createDynamicTexture','LIGHTMAP_SPECULAR','waterVertexShader',';\x0d\x0a','uv3','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<helperFunctions>\x0a#include<__decl__lightFragment>[0]\x0a#include<__decl__lightFragment>[1]\x0a#include<__decl__lightFragment>[2]\x0a#include<__decl__lightFragment>[3]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#endif\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\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<depthPrePass>\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<lightFragment>[0]\x0a#include<lightFragment>[1]\x0a#include<lightFragment>[2]\x0a#include<lightFragment>[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<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','_depthStencilTextureArray','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','apply','blurDepthScale','matrixBufferSize','#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<rangeMaxClamped)\x20\x0a{\x0agl_FragColor=rgbyM;\x0areturn;\x0a}\x0a#endif\x0afloat\x20lumaNW=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordNW,0.0));\x0afloat\x20lumaSE=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordSE,0.0));\x0afloat\x20lumaNE=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordNE,0.0));\x0afloat\x20lumaSW=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordSW,0.0));\x0afloat\x20lumaNS=lumaN+lumaS;\x0afloat\x20lumaWE=lumaW+lumaE;\x0afloat\x20subpixRcpRange=1.0/range;\x0afloat\x20subpixNSWE=lumaNS+lumaWE;\x0afloat\x20edgeHorz1=(-2.0*lumaM)+lumaNS;\x0afloat\x20edgeVert1=(-2.0*lumaM)+lumaWE;\x0afloat\x20lumaNESE=lumaNE+lumaSE;\x0afloat\x20lumaNWNE=lumaNW+lumaNE;\x0afloat\x20edgeHorz2=(-2.0*lumaE)+lumaNESE;\x0afloat\x20edgeVert2=(-2.0*lumaN)+lumaNWNE;\x0afloat\x20lumaNWSW=lumaNW+lumaSW;\x0afloat\x20lumaSWSE=lumaSW+lumaSE;\x0afloat\x20edgeHorz4=(abs(edgeHorz1)*2.0)+abs(edgeHorz2);\x0afloat\x20edgeVert4=(abs(edgeVert1)*2.0)+abs(edgeVert2);\x0afloat\x20edgeHorz3=(-2.0*lumaW)+lumaNWSW;\x0afloat\x20edgeVert3=(-2.0*lumaS)+lumaSWSE;\x0afloat\x20edgeHorz=abs(edgeHorz3)+edgeHorz4;\x0afloat\x20edgeVert=abs(edgeVert3)+edgeVert4;\x0afloat\x20subpixNWSWNESE=lumaNWSW+lumaNESE;\x0afloat\x20lengthSign=texelSize.x;\x0abool\x20horzSpan=edgeHorz>=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<dstP;\x0afloat\x20dst=min(dstN,dstP);\x0abool\x20goodSpan=directionN\x20?\x20goodSpanN\x20:\x20goodSpanP;\x0afloat\x20subpixG=subpixF*subpixF;\x0afloat\x20pixelOffset=(dst*(-spanLengthRcp))+0.5;\x0afloat\x20subpixH=subpixG*fxaaQualitySubpix;\x0afloat\x20pixelOffsetGood=goodSpan\x20?\x20pixelOffset\x20:\x200.0;\x0afloat\x20pixelOffsetSubpix=max(pixelOffsetGood,subpixH);\x0aif\x20(!horzSpan)\x0a{\x0aposM.x+=pixelOffsetSubpix*lengthSign;\x0a}\x0aif\x20(horzSpan)\x0a{\x0aposM.y+=pixelOffsetSubpix*lengthSign;\x0a}\x0a#ifdef\x20MALI\x0aif(range<rangeMaxClamped)\x20\x0a{\x0agl_FragColor=rgbyM;\x0a}\x0aelse\x0a{\x0agl_FragColor=TEXTUREFUNC(textureSampler,posM,0.0);\x0a}\x0a#else\x0agl_FragColor=TEXTUREFUNC(textureSampler,posM,0.0);\x0a#endif\x0a}','STATIC_DRAW','blocksWithDefines','#define\x20RECIPROCAL_PI2\x200.15915494','fn\x20main','_createRenderTarget','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}','_alphaMode','line','bindGroupLayoutEntries','bindUniformBlock','_reflectionSizeName','bindTexture','vFogColor','bool\x20testLightingForSSS(float\x20diffusionProfile)\x0a{\x0areturn\x20diffusionProfile<1.;\x0a}','SubSurfaceScatteringPostProcess','COLOR_ATTACHMENT0','counters','\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','setExternalTexture:\x20This\x20engine\x20does\x20not\x20support\x20external\x20textures!','#endif\x0d\x0a','skipOnKeyboardObservable','textureBlocks','StorageBuffer','Process','_querySet','TEXTUREFORMAT_COMPRESSED_RGB_S3TC_DXT1','morphTargetsVertexGlobal','TEXTUREFORMAT_RGB','updateIntArray','lineIndex','TEXTURE_PROJECTION_MODE','morphTargetsVertexGlobalDeclaration','\x20{\x0a\x20\x20\x20\x20','updateFlag','_addSamplerBindingDescription','vClipPlane3','radiusRange','_HandleParenthesisContent','onPointerPick','4744839rHfXSo','_buildBlock','setAlphaBlendFunctionParameters','_internalTextureDirty','Raw','renderTarget','_currentDrawContext','Move','setTextureSampler','clipPlane5','addPipeline','useDirectMapping','postProcessor','_xrSessionManager','platformName','RGBA16Float','search','__framebufferDepthStencil','_renderPipelines','setState','SNAPSHOTRENDERING_FAST','verticesStart','#version\x20300\x20es','copyTextureToBuffer','createComputeContext','_onPointerDown','_currentTotalIndices','file:','depthThreshold','ALPHA_ONEONE','_reflectionColorName','shadowOnlyVertexShader','readDataFromBuffer','bumpFragment','fillUniformsAttributesAndSamplerNames','kernelBlurVertex','intensity','_isBlendConstantsDirty','ALPHA_SCREENMODE','updateDynamicVertexBuffer','_debugFlushPendingCommands','isCube','internal\x20copy\x20texture\x20with\x20invertY','particles','_inputs','#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','pbrBlockFinalLitComponents','simpleVertexShader','textureCubeArray','#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0a#define\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#else\x0auniform\x20vec4\x20color;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\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}','_getGLType','infixToPostfix','triplanarPixelShader','baseWidth','vec3','destroyDeferredTextures','ZERO','shadersRepository','fluidRenderingParticleDepthVertexShader','createMaterialContext','fragment','REPLACE','generateStencil','substring','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\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<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\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<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','IsCompressedFormat','_mipmapGenBindGroup','ACTION_OnPickUpTrigger','postprocess','_generateStencilBuffer','vertexColorMixing','diffusionProfile','#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','pbrHelperFunctions','shadowMapVertexShader','MATERIAL_TextureDirtyFlag','#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<clipPlaneFragmentDeclaration>\x0a#include<imageProcessingDeclaration>\x0a#include<logDepthDeclaration>\x0a#include<helperFunctions>\x0a#include<imageProcessingFunctions>\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<clipPlaneFragment>\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<logDepthFragment>\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}','setHardwareScalingLevel','skipPointerMovePicking','Unable\x20to\x20create\x20multi\x20sampled\x20framebuffer','mousePosition','frameId','ReadOnlyStorage','pixelPerfect','getViewMatrix','dynamicUniformBlocks','BC6HRGBUFloat','_vertexSourceCode','onVRRequestPresentComplete','glFragColor','defaultVertexDeclaration','setLayerAndFaceIndices','_delayedSimpleClick','_RemoveTagFrom','previous','_context','vectors','funcRef','_webGLTexture','RGBA8Unorm','normalize(','View','.xyz','DeepCopy','generateDepthTexture','catch','createRawCubeTexture','setArray3','initWebVR','evt','doNotSyncBoundingInfo','Comparison','_createEffects','vrPresentationAttributes','!false','setBindGroup','onError','_advancePhysicsEngineStep','worldMatrix','exitPointerLock','_IsInternalTexture','#ifdef\x20CLIPPLANE\x0auniform\x20vClipPlane:\x20vec4<f32>;\x0avarying\x20fClipDistance:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0auniform\x20vClipPlane2:\x20vec4<f32>;\x0avarying\x20fClipDistance2:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0auniform\x20vClipPlane3:\x20vec4<f32>;\x0avarying\x20fClipDistance3:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0auniform\x20vClipPlane4:\x20vec4<f32>;\x0avarying\x20fClipDistance4:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0auniform\x20vClipPlane5:\x20vec4<f32>;\x0avarying\x20fClipDistance5:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0auniform\x20vClipPlane6:\x20vec4<f32>;\x0avarying\x20fClipDistance6:\x20f32;\x0a#endif\x0a','sources','getViewCount','subSurfaceConfiguration','map','setMatrix','setMSAATexture','groupIndex','boundingBoxRendererVertexShader','#ifdef\x20TEXTURELODSUPPORT\x0a#extension\x20GL_EXT_shader_texture_lod\x20:\x20enable\x0a#endif\x0aprecision\x20highp\x20float;\x0a#include<__decl__backgroundFragment>\x0a#include<helperFunctions>\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<reflectionFunction>\x0a#endif\x0a#ifndef\x20FROMLINEARSPACE\x0a#define\x20FROMLINEARSPACE;\x0a#endif\x0a#ifndef\x20SHADOWONLY\x0a#define\x20SHADOWONLY;\x0a#endif\x0a#include<imageProcessingDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<imageProcessingFunctions>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\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<clipPlaneFragment>\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<lightFragment>[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<fogFragment>\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','updateUInt','normalize','BC4RUnorm','releaseMSAATexture','_IsGPUBuffer','rotate','_currentRank','decode','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<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\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<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\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<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\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<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','screenSpaceReflections','_preCreateBindGroupEntries','_maxLodLevel','defined[$1]','layout(std140,column_major)\x20uniform;\x0a#include<sceneUboDeclaration>\x0a#include<meshUboDeclaration>\x0a','kernelBlurVertexShader','87ubbXix','setStencilReadMask','viewProjectionR','leftOverUniforms','fluidRenderingParticleDepthPixelShader','_addUniformToLeftOverUBO','width','Clear','activeTexture','#define\x20CONEEMITTER','Unknown\x20format\x20','release','isFloatTexture','mag','_previousPickResult','copyFromFloats','bonesDeclaration','isMainRender','vrdisplayconnect','postProcess','getAlphaEquation','_physicsTimeAccumulator','textures','Textures\x20type\x20does\x20not\x20support\x20cascades.','disablePhysicsEngine','#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','backgroundUboDeclaration','observable','Storage','enabled','LongPressDelay','endMainRenderPass','setFileName','TEXTURE0','arrayBufferBlockCount','STENCIL_TEST','pbrBlockReflection','#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','alphaBlend','!!INVALID\x20EXPRESSION!!','createRenderTargetTexture','_bindGroups','colorAttachmentViewDescriptor','_allocateNewIndices','_mrtAttachments','_play','reflectionCoords','//Entry\x20point\x0d\x0a','#define\x20CLIPPLANE2','compilationError','setDepthBiasSlopeScale','_blurTextureSizeY','setStencilCompare','_processPointerMove','destroy','setStencilWriteMask','TEXTURE_LINEAR_LINEAR','TEXTURETYPE_UNSIGNED_INTEGER','#extension\x20GL_OVR_multiview2\x20:\x20require\x0alayout\x20(num_views\x20=\x202)\x20in;\x0a','_emit2DSampler','videoWidth','getRenderWidth','createUniformBuffer','.xyz,\x200.0)));\x0d\x0a','detachControl','isSupported','MapRead','#define\x20MULTIVIEW','sin','_frameLastBuffer','_thinInstanceUpdateBufferSize','precision\x20mediump\x20float','unTranslatedPointer','attachControl','renderbufferStorageMultisample','etc1','#define\x20CLEARCOATREFLECTANCE90\x201.0\x0astruct\x20lightingInfo\x0a{\x0avec3\x20diffuse;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specular;\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0avec4\x20clearCoat;\x0a#endif\x0a#ifdef\x20SHEEN\x0avec3\x20sheen;\x0a#endif\x0a};\x0afloat\x20adjustRoughnessFromLightProperties(float\x20roughness,float\x20lightRadius,float\x20lightDistance)\x20{\x0a#if\x20defined(USEPHYSICALLIGHTFALLOFF)\x20||\x20defined(USEGLTFLIGHTFALLOFF)\x0afloat\x20lightRoughness=lightRadius/lightDistance;\x0afloat\x20totalRoughness=saturate(lightRoughness+roughness);\x0areturn\x20totalRoughness;\x0a#else\x0areturn\x20roughness;\x0a#endif\x0a}\x0avec3\x20computeHemisphericDiffuseLighting(preLightingInfo\x20info,vec3\x20lightColor,vec3\x20groundColor)\x20{\x0areturn\x20mix(groundColor,lightColor,info.NdotL);\x0a}\x0avec3\x20computeDiffuseLighting(preLightingInfo\x20info,vec3\x20lightColor)\x20{\x0afloat\x20diffuseTerm=diffuseBRDF_Burley(info.NdotL,info.NdotV,info.VdotH,info.roughness);\x0areturn\x20diffuseTerm*info.attenuation*info.NdotL*lightColor;\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\x20toLinearSpace(textureColor);\x0a}\x0a#ifdef\x20SS_TRANSLUCENCY\x0avec3\x20computeDiffuseAndTransmittedLighting(preLightingInfo\x20info,vec3\x20lightColor,vec3\x20transmittance)\x20{\x0afloat\x20NdotL=absEps(info.NdotLUnclamped);\x0afloat\x20wrapNdotL=computeWrappedDiffuseNdotL(NdotL,0.02);\x0afloat\x20trAdapt=step(0.,info.NdotLUnclamped);\x0avec3\x20transmittanceNdotL=mix(transmittance*wrapNdotL,vec3(wrapNdotL),trAdapt);\x0afloat\x20diffuseTerm=diffuseBRDF_Burley(NdotL,info.NdotV,info.VdotH,info.roughness);\x0areturn\x20diffuseTerm*transmittanceNdotL*info.attenuation*lightColor;\x0a}\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20computeSpecularLighting(preLightingInfo\x20info,vec3\x20N,vec3\x20reflectance0,vec3\x20reflectance90,float\x20geometricRoughnessFactor,vec3\x20lightColor)\x20{\x0afloat\x20NdotH=saturateEps(dot(N,info.H));\x0afloat\x20roughness=max(info.roughness,geometricRoughnessFactor);\x0afloat\x20alphaG=convertRoughnessToAverageSlope(roughness);\x0avec3\x20fresnel=fresnelSchlickGGX(info.VdotH,reflectance0,reflectance90);\x0a#ifdef\x20IRIDESCENCE\x0afresnel=mix(fresnel,reflectance0,info.iridescenceIntensity);\x0a#endif\x0afloat\x20distribution=normalDistributionFunction_TrowbridgeReitzGGX(NdotH,alphaG);\x0a#ifdef\x20BRDF_V_HEIGHT_CORRELATED\x0afloat\x20smithVisibility=smithVisibility_GGXCorrelated(info.NdotL,info.NdotV,alphaG);\x0a#else\x0afloat\x20smithVisibility=smithVisibility_TrowbridgeReitzGGXFast(info.NdotL,info.NdotV,alphaG);\x0a#endif\x0avec3\x20specTerm=fresnel*distribution*smithVisibility;\x0areturn\x20specTerm*info.attenuation*info.NdotL*lightColor;\x0a}\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0avec3\x20computeAnisotropicSpecularLighting(preLightingInfo\x20info,vec3\x20V,vec3\x20N,vec3\x20T,vec3\x20B,float\x20anisotropy,vec3\x20reflectance0,vec3\x20reflectance90,float\x20geometricRoughnessFactor,vec3\x20lightColor)\x20{\x0afloat\x20NdotH=saturateEps(dot(N,info.H));\x0afloat\x20TdotH=dot(T,info.H);\x0afloat\x20BdotH=dot(B,info.H);\x0afloat\x20TdotV=dot(T,V);\x0afloat\x20BdotV=dot(B,V);\x0afloat\x20TdotL=dot(T,info.L);\x0afloat\x20BdotL=dot(B,info.L);\x0afloat\x20alphaG=convertRoughnessToAverageSlope(info.roughness);\x0avec2\x20alphaTB=getAnisotropicRoughness(alphaG,anisotropy);\x0aalphaTB=max(alphaTB,square(geometricRoughnessFactor));\x0avec3\x20fresnel=fresnelSchlickGGX(info.VdotH,reflectance0,reflectance90);\x0a#ifdef\x20IRIDESCENCE\x0afresnel=mix(fresnel,reflectance0,info.iridescenceIntensity);\x0a#endif\x0afloat\x20distribution=normalDistributionFunction_BurleyGGX_Anisotropic(NdotH,TdotH,BdotH,alphaTB);\x0afloat\x20smithVisibility=smithVisibility_GGXCorrelated_Anisotropic(info.NdotL,info.NdotV,TdotV,BdotV,TdotL,BdotL,alphaTB);\x0avec3\x20specTerm=fresnel*distribution*smithVisibility;\x0areturn\x20specTerm*info.attenuation*info.NdotL*lightColor;\x0a}\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0avec4\x20computeClearCoatLighting(preLightingInfo\x20info,vec3\x20Ncc,float\x20geometricRoughnessFactor,float\x20clearCoatIntensity,vec3\x20lightColor)\x20{\x0afloat\x20NccdotL=saturateEps(dot(Ncc,info.L));\x0afloat\x20NccdotH=saturateEps(dot(Ncc,info.H));\x0afloat\x20clearCoatRoughness=max(info.roughness,geometricRoughnessFactor);\x0afloat\x20alphaG=convertRoughnessToAverageSlope(clearCoatRoughness);\x0afloat\x20fresnel=fresnelSchlickGGX(info.VdotH,vClearCoatRefractionParams.x,CLEARCOATREFLECTANCE90);\x0afresnel*=clearCoatIntensity;\x0afloat\x20distribution=normalDistributionFunction_TrowbridgeReitzGGX(NccdotH,alphaG);\x0afloat\x20kelemenVisibility=visibility_Kelemen(info.VdotH);\x0afloat\x20clearCoatTerm=fresnel*distribution*kelemenVisibility;\x0areturn\x20vec4(\x0aclearCoatTerm*info.attenuation*NccdotL*lightColor,\x0a1.0-fresnel\x0a);\x0a}\x0avec3\x20computeClearCoatLightingAbsorption(float\x20NdotVRefract,vec3\x20L,vec3\x20Ncc,vec3\x20clearCoatColor,float\x20clearCoatThickness,float\x20clearCoatIntensity)\x20{\x0avec3\x20LRefract=-refract(L,Ncc,vClearCoatRefractionParams.y);\x0afloat\x20NdotLRefract=saturateEps(dot(Ncc,LRefract));\x0avec3\x20absorption=computeClearCoatAbsorption(NdotVRefract,NdotLRefract,clearCoatColor,clearCoatThickness,clearCoatIntensity);\x0areturn\x20absorption;\x0a}\x0a#endif\x0a#ifdef\x20SHEEN\x0avec3\x20computeSheenLighting(preLightingInfo\x20info,vec3\x20N,vec3\x20reflectance0,vec3\x20reflectance90,float\x20geometricRoughnessFactor,vec3\x20lightColor)\x20{\x0afloat\x20NdotH=saturateEps(dot(N,info.H));\x0afloat\x20roughness=max(info.roughness,geometricRoughnessFactor);\x0afloat\x20alphaG=convertRoughnessToAverageSlope(roughness);\x0afloat\x20fresnel=1.;\x0afloat\x20distribution=normalDistributionFunction_CharlieSheen(NdotH,alphaG);\x0a/*#ifdef\x20SHEEN_SOFTER\x0afloat\x20visibility=visibility_CharlieSheen(info.NdotL,info.NdotV,alphaG);\x0a#else\x20*/\x0afloat\x20visibility=visibility_Ashikhmin(info.NdotL,info.NdotV);\x0a/*\x20#endif\x20*/\x0afloat\x20sheenTerm=fresnel*distribution*visibility;\x0areturn\x20sheenTerm*info.attenuation*info.NdotL*lightColor;\x0a}\x0a#endif\x0a','cos','dbgShowShaderCode','colorAttachmentGPUTextures','addCPUSkinningFallback','simplePixelShader','fluidRenderingParticleThicknessVertexShader','Half\x20float\x20texture\x20filtering\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20and\x20sampling\x20mode\x20are\x20forced\x20to\x20false\x20and\x20TEXTURE_NEAREST_SAMPLINGMODE,\x20respectively.','frameMaxRenderMemoryLength','_releaseComputeEffect','vIridescenceParams','status','#version\x203','boundingBoxRendererPixelShader','IsWrapper','.xyz,\x20','notConnectedNonOptionalInputs','height','MODE_SIDEBYSIDE','_MSAAFramebuffer','\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','_defineLocalCubicName','test','_pipelineContext','setFloat3','TransformCoordinatesToRef','#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','layout(location\x20=\x200)\x20','\x20=\x20vec3(0,\x200,\x200);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0d\x0a','onLoadErrorObservable','tangent','TEXTURETYPE_UNSIGNED_INT_24_8','createQuerySet','polygonOffset','setColorWrite','setQuaternion','stencilOp','pow','start','updateStorageBuffer','_pointerX','particlesPixelShader','glowBlurPostProcessPixelShader','color','GetExponentOfTwo','ILog2',')\x20uniform\x20','NodeMaterial\x20does\x20not\x20have\x20a\x20vertex\x20output.\x20You\x20need\x20to\x20at\x20least\x20add\x20a\x20block\x20that\x20generates\x20a\x20glPosition\x20value.\x0d\x0a','framebufferTexture2D','webVR\x20submitFrame\x20has\x20had\x20an\x20unexpected\x20failure:\x20','layer','startDirectionFunction','Uint16','TEXTURE_EQUIRECTANGULAR_MODE','GetTags','Depth','\x20=\x20','CopyDst','modelList',',\x20H:\x20','_bufferViewArray','_pipelines','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0a#include<helperFunctions>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0agl_FragColor=vec4(fromRGBD(texture2D(textureSampler,vUV)),1.0);\x0a}','RG16Sint','TEXTUREFORMAT_RGB\x20format\x20not\x20supported\x20in\x20WebGPU','isFixedFoveationSupported','TEXTUREFORMAT_DEPTH32FLOAT_STENCIL8','_processStridedUniformArrays','stages','MAINUV1','CONSTANT_COLOR','setCompressedTextureExclusions','getBoundingInfo','defaultFragmentDeclaration','E3d','uv4','_func','setTextures','clone','uv6','updateMatrix3x3','Dynamic','deleteQuery','uvAttributeDeclaration','onLoadedObservable','_useStandardBlur','#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','#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avColor=vec4(1.0);\x0a#ifdef\x20VERTEXCOLOR\x0a#ifdef\x20VERTEXALPHA\x0avColor*=color;\x0a#else\x0avColor.rgb*=color.rgb;\x0a#endif\x0a#endif\x0a#ifdef\x20INSTANCESCOLOR\x0avColor*=instanceColor;\x0a#endif\x0a#endif\x0a','\x20=\x20computeMirroredFixedEquirectangularCoords(','BUFFER_CREATIONFLAG_STORAGE','_createComputePipelineStageDescriptor','_bufferView','_opStencilDepthPass','#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<uvAttributeDeclaration>[2..7]\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<helperFunctions>\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0a#include<prePassVertexDeclaration>\x0a#include<mainUVVaryingDeclaration>[1..7]\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,DIFFUSE,_VARYINGNAME_,Diffuse)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap)\x0a#if\x20defined(SPECULARTERM)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,SPECULAR,_VARYINGNAME_,Specular)\x0a#endif\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump)\x0a#include<samplerVertexDeclaration>(_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<bumpVertexDeclaration>\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightVxFragment>[0..maxSimultaneousLights]\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[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<logDepthDeclaration>\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<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avPositionUVW=positionUpdated;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_UPDATE_POSITION\x0a#define\x20CUSTOM_VERTEX_UPDATE_NORMAL\x0a#include<instancesVertex>\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<bonesVertex>\x0a#include<bakedVertexAnimation>\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<prePassVertex>\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<uvVariableDeclaration>[2..7]\x0a#include<samplerVertexImplementation>(_DEFINENAME_,DIFFUSE,_VARYINGNAME_,Diffuse,_MATRIXNAME_,diffuse,_INFONAME_,DiffuseInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail,_MATRIXNAME_,detail,_INFONAME_,DetailInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient,_MATRIXNAME_,ambient,_INFONAME_,AmbientInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity,_MATRIXNAME_,opacity,_INFONAME_,OpacityInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive,_MATRIXNAME_,emissive,_INFONAME_,EmissiveInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap,_MATRIXNAME_,lightmap,_INFONAME_,LightmapInfos.x)\x0a#if\x20defined(SPECULARTERM)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,SPECULAR,_VARYINGNAME_,Specular,_MATRIXNAME_,specular,_INFONAME_,SpecularInfos.x)\x0a#endif\x0a#include<samplerVertexImplementation>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump,_MATRIXNAME_,bump,_INFONAME_,BumpInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal,_MATRIXNAME_,decal,_INFONAME_,DecalInfos.x)\x0a#include<bumpVertex>\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#include<pointCloudVertex>\x0a#include<logDepthVertex>\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','#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<clipPlaneFragmentDeclaration>\x0a#include<logDepthDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0a#ifdef\x20ALPHATEST\x0aif\x20(texture2D(diffuseSampler,vUV).a<0.4)\x0adiscard;\x0a#endif\x0a#include<logDepthFragment>\x0agl_FragColor=color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','imageProcessingCompatibility','componentCount','framebufferTextureMultisampleMultiviewOVR','INTENSITYMODE_AUTOMATIC','_renderTargetWrapperCache','_OperatorPriority','kernelBlurPixelShader','_thinInstanceInitializeUserStorage','halfDome','texture(','TEXTURETYPE_UNSIGNED_SHORT_5_6_5','TransformCoordinatesFromFloatsToRef','ASTC12x12Unorm','DEPTH32F_STENCIL8','__decl__','inlineShaderCode','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','vertex',',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}','NAME_PARTICLESYSTEM','textureFloatLinearFiltering','HasTriggers','zOffset','_SimplifiedKnownBindings','stencilMaterial','createExternalTexture','vertexBuffers','Timestamp','_deviceInputSystem','world','matricesIndices','lensFlareVertexShader','Touch','RG16Float','TEXTURE_MIN_FILTER','Depth16Unorm','setMRTAttachments','setDepthTestEnabled','StorageBinding','atan2','float\x20distanceSquared(vec2\x20a,vec2\x20b)\x20{\x20a-=b;\x20return\x20dot(a,a);\x20}\x0a/**\x0aparam\x20csOrigin\x20Camera-space\x20ray\x20origin,which\x20must\x20be\x20\x0awithin\x20the\x20view\x20volume\x20and\x20must\x20have\x20z>0.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)<nearPlaneZ\x20?\x20(nearPlaneZ-csOrigin.z)/csDirection.z\x20:\x20maxRayTraceDistance;\x0a#endif\x0avec3\x20csEndPoint=csOrigin+csDirection*rayLength;\x0ahitPixel=vec2(-1.0,-1.0);\x0avec4\x20H0=projectToPixelMatrix*vec4(csOrigin,1.0);\x0avec4\x20H1=projectToPixelMatrix*vec4(csEndPoint,1.0);\x0afloat\x20k0=1.0/H0.w;\x0afloat\x20k1=1.0/H1.w;\x0avec3\x20Q0=csOrigin*k0;\x0avec3\x20Q1=csEndPoint*k1;\x0avec2\x20P0=H0.xy*k0;\x0avec2\x20P1=H1.xy*k1;\x0a#ifdef\x20SSRAYTRACE_CLIP_TO_FRUSTUM\x0afloat\x20xMax=csZBufferSize.x-0.5,xMin=0.5,yMax=csZBufferSize.y-0.5,yMin=0.5;\x0afloat\x20alpha=0.0;\x0aif\x20((P1.y>yMax)\x20||\x20(P1.y<yMin))\x20{\x0aalpha=(P1.y-((P1.y>yMax)\x20?\x20yMax\x20:\x20yMin))/(P1.y-P0.y);\x0a}\x0aif\x20((P1.x>xMax)\x20||\x20(P1.x<xMin))\x20{\x0aalpha=max(alpha,(P1.x-((P1.x>xMax)\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)<abs(delta.y))\x20{\x20\x0apermute=true;\x0adelta=delta.yx;\x0aP0=P0.yx;\x0aP1=P1.yx;\x20\x0a}\x0afloat\x20stepDirection=sign(delta.x);\x0afloat\x20invdx=stepDirection/delta.x;\x0avec2\x20dP=vec2(stepDirection,delta.y*invdx);\x0avec3\x20dQ=(Q1-Q0)*invdx;\x0afloat\x20dk=(k1-k0)*invdx;\x0afloat\x20zMin=min(csEndPoint.z,csOrigin.z);\x0afloat\x20zMax=max(csEndPoint.z,csOrigin.z);\x0adP*=stride;\x20dQ*=stride;\x20dk*=stride;\x0aP0+=dP*jitterFraction;\x20Q0+=dQ*jitterFraction;\x20k0+=dk*jitterFraction;\x0avec4\x20pqk=vec4(P0,Q0.z,k0);\x0avec4\x20dPQK=vec4(dP,dQ.z,dk);\x0astartPixel=permute\x20?\x20P0.yx\x20:\x20P0.xy;\x0afloat\x20prevZMaxEstimate=csOrigin.z;\x0afloat\x20rayZMin=prevZMaxEstimate,rayZMax=prevZMaxEstimate;\x0afloat\x20sceneZMax=rayZMax+1e4;\x0afloat\x20end=P1.x*stepDirection;\x0abool\x20hit=false;\x0afloat\x20stepCount;\x0afor\x20(stepCount=0.0;\x0astepCount<=selfCollisionNumSkip\x20||\x0a(pqk.x*stepDirection)<=end\x20&&\x0astepCount<maxSteps\x20&&\x0a!hit\x20&&\x0asceneZMax\x20!=\x200.0;\x20\x0apqk+=dPQK,++stepCount)\x0a{\x0ahitPixel=permute\x20?\x20pqk.yx\x20:\x20pqk.xy;\x0arayZMin=prevZMaxEstimate;\x0arayZMax=(dPQK.z*0.5+pqk.z)/(dPQK.w*0.5+pqk.w);\x0arayZMax=clamp(rayZMax,zMin,zMax);\x0aprevZMaxEstimate=rayZMax;\x0aif\x20(rayZMin>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(rayZMax<sceneZMax)\x20&&\x20(sceneZMax\x20!=\x200.0);\x0apqk+=dPQK,refinementStepCount+=1.0)\x0a{\x0arayZMin=prevZMaxEstimate;\x0arayZMax=(dPQK.z*0.5+pqk.z)/(dPQK.w*0.5+pqk.w);\x0arayZMax=clamp(rayZMax,zMin,zMax);\x0aprevZMaxEstimate=rayZMax;\x0arayZMax=max(rayZMax,rayZMin);\x0ahitPixel=permute\x20?\x20pqk.yx\x20:\x20pqk.xy;\x0asceneZMax=texelFetch(csZBuffer,ivec2(hitPixel),0).r;\x0a}\x0apqk-=dPQK;\x0arefinementStepCount-=1.0;\x0astepCount+=refinementStepCount/stride;\x0a}\x0a#endif\x0aQ0.xy+=dQ.xy*stepCount;\x0aQ0.z=pqk.z;\x0acsHitPoint=Q0/pqk.w;\x0anumIterations=stepCount+1.0;\x0a#ifdef\x20SSRAYTRACE_DEBUG\x0aif\x20(((pqk.x+dPQK.x)*stepDirection)>end)\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','Too\x20many\x20textures\x20or\x20UBOs\x20have\x20been\x20declared\x20and\x20it\x20is\x20not\x20supported\x20in\x20WebGPU.','Vector3','sampleType','initialize','ReciprocalPI','_getShaderSource','_finishBundle','createPostProcess','_texture','precision\x20mediump\x20sampler2DArray;\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2DArray\x20multiviewSampler;\x0auniform\x20int\x20imageIndex;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0agl_FragColor=texture2D(multiviewSampler,vec3(vUV,imageIndex));\x0a}','CubeRaw','_setInternalTexture','max','BACK','attribute','hasSpecificMask','setDirectColor4','\x20not\x20found,\x20you\x20may\x20have\x20missed\x20an\x20import.','FluidRenderingDepthTextureCopyRTTDepthStencil','_createCompositionEffect','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<decalFragmentDeclaration>\x0a#define\x20ADDITIONAL_FRAGMENT_DECLARATION\x0a','shadowMapFragment','clipPlaneFragmentDeclaration2','_isDepthTestDirty','textureCount','_OnGenerateOnlyFragmentCodeChanged','setVector3','GetDepthFormatOnly','#ifdef\x20ORDER_INDEPENDENT_TRANSPARENCY\x0a#extension\x20GL_EXT_draw_buffers\x20:\x20require\x0alayout(location=0)\x20out\x20vec2\x20depth;\x20\x0alayout(location=1)\x20out\x20vec4\x20frontColor;\x0alayout(location=2)\x20out\x20vec4\x20backColor;\x0a#define\x20MAX_DEPTH\x2099999.0\x0ahighp\x20vec4\x20gl_FragColor;\x0auniform\x20sampler2D\x20oitDepthSampler;\x0auniform\x20sampler2D\x20oitFrontColorSampler;\x0a#endif\x0a','_definePlanarName','TEXTUREFORMAT_RED','isAttribute','BC3RGBAUnorm','MAINUV6','gradientVertexShader','setIntArray','LINEAR_MIPMAP_LINEAR','geometryUboDeclaration','updateMatrix','ssDiffusionS','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}','playAnimation','.z\x20*=\x20-1.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0d\x0a','DEPTH_COMPONENT','#if\x20NUM_BONE_INFLUENCERS>0\x0aattribute\x20matricesIndices\x20:\x20vec4<f32>;\x0aattribute\x20matricesWeights\x20:\x20vec4<f32>;\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0aattribute\x20matricesIndicesExtra\x20:\x20vec4<f32>;\x0aattribute\x20matricesWeightsExtra\x20:\x20vec4<f32>;\x0a#endif\x0a#ifndef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0a#ifdef\x20BONETEXTURE\x0avar\x20boneSampler\x20:\x20texture_2d<f32>;\x0auniform\x20boneTextureWidth\x20:\x20f32;\x0a#else\x0auniform\x20mBones\x20:\x20array<mat4x4,BonesPerMesh>;\x0a#ifdef\x20BONES_VELOCITY_ENABLED\x0auniform\x20mPreviousBones\x20:\x20array<mat4x4,BonesPerMesh>;\x0a#endif\x0a#endif\x0a#ifdef\x20BONETEXTURE\x0afn\x20readMatrixFromRawSampler(smp\x20:\x20texture_2d<f32>,index\x20:\x20f32)->mat4x4<f32>\x0a{\x0alet\x20offset=i32(index)\x20*4;\x20\x0alet\x20m0=textureLoad(smp,vec2<i32>(offset+0,0),0);\x0alet\x20m1=textureLoad(smp,vec2<i32>(offset+1,0),0);\x0alet\x20m2=textureLoad(smp,vec2<i32>(offset+2,0),0);\x0alet\x20m3=textureLoad(smp,vec2<i32>(offset+3,0),0);\x0areturn\x20mat4x4<f32>(m0,m1,m2,m3);\x0a}\x0a#endif\x0a#endif\x0a#endif\x0a','default','done','_videoCompiledShaders','ignore','EACR11Snorm','isMultiview','standardPixelShader','setUIntArray4','INTENSITYMODE_LUMINANCE','PREPASS_DEPTH_TEXTURE_TYPE','UniformBuffer','_fragmentIsGLES3','GetIndividualParser','cursor','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','_lastUpdateFrameId','TEXTUREFORMAT_RG','subSurfaceScattering','#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','_createRenderBuffer','needsPreviousWorldMatrices','_alreadyAttachedTo','_defines','_GetBlockInformationFromFormat','_rebuildComputeEffects','getHostWindow','maxTextureSize','_videoTextureSupported','#if\x20defined(_DEFINENAME_)\x20&&\x20_DEFINENAME_DIRECTUV==0\x0avarying\x20vec2\x20v_VARYINGNAME_UV;\x0a#endif\x0a','hoverCursor','material','renderTargets','_setupFramebufferDepthAttachments','#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','_registerTempVariable','#define\x20INVERTY\x0d\x0a','RenderAttachment','DisableFor','attribute\x20vec2\x20position;\x0auniform\x20vec2\x20delta;\x0avarying\x20vec2\x20sampleCenter;\x0a#include<kernelBlurVaryingDeclaration>[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<kernelBlurVertex>[0..varyingCount]\x0agl_Position=vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','_isRenderingStateCompiled','url','_positionUVWName','_count','subtract','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<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\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<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\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<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','_cameraObserverCount','acos','fogVertexDeclaration','visibleModelBox','TEXTURE_CUBE_MAP_NEGATIVE_Y','TEXTURE_CUBE_MAP_POSITIVE_Y','_isMultiTouchGesture','RGBA8Uint','_applyTextureArrayProcessing','cullFace','substr','R16Float','_defineEquirectangularName','includesShadersStore','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<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\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<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\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<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','layout(set\x20=\x20','readFromStorageBuffer:\x20Unsupported\x20method\x20in\x20this\x20engine!','inputIndex','_requestVRFrame','_cacheFloat3','Fragment','replaceStrings','needsImageProcessing','#else','crossEyeMode','_defineCubicName','vec4','setSampler','copyTextureToTexture','finish','samplingModes','singleClick','varyings','projectionMatrix','meshUnderPointer','updateCount','thinInstanceCount','_spriteBuffer','processingContext','framebufferRenderbuffer','_readTexturePixelsSync\x20is\x20unsupported\x20in\x20WebGPU!','ARRAY_BUFFER','RGBA16Uint','ALPHA_PREMULTIPLIED_PORTERDUFF','.xy;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20','getHierarchyEmittedParticleSystems','REFLECTIONMAP_PROJECTION','Failed\x20to\x20load\x20','oitBackBlendPixelShader','#define\x20NUM_BONE_INFLUENCERS\x20','isValid','notifyObservers','NAME_PHYSICSENGINE','funcMask','#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','BC1RGBAUnorm',',\x20binding\x20=\x20','_numFloatTextures','_physicsBody','multiview','#define\x20SPHEREEMITTER','#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','getError','unBindMesh','source','Uniform','readTwoValuesAndSubtract','GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA','sampler2DShadow','vrdisplaypresentchange','_height','createComputeEffect','TEXTUREFORMAT_RGBA','get','CreateNewFromPrimitive','_cull','mipLevelCount','texturesRequired','onAfterPhysicsObservable','_checkSize','pointerY','_onAfterUnbindFrameBufferObservable','_lastBuffer','\x20BILLBOARD','refractionPixelShader','physicsImpostor','TEXTUREFORMAT_DEPTH24','DEPTH_COMPONENT24','volumetricLightScatteringPassPixelShader','GL_ALPHA_FUNCTION_CONSTANT_COLOR','_setCubeMapTextureParams','ALWAYS','_addBufferBindingDescription','bindableBlocks','_resizeOrCreateMultiviewTexture','_meshPickProceed','_deviceSourceManager','_totalPointersPressed','createCubeTextureBase','blurMaxFilterSize','texture','webGLVersion','_checkForPicking','uniform\x20sampler2D\x20','.y;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0d\x0a','texture2DArray','onBeforeCameraRenderObservable','shadowMapVertexDeclaration','uniform\x20vec4\x20color;\x0a','clipPlaneFragmentDeclaration','getInputElement','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}','_processPointerUp','#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','deviceSlot','ONE_MINUS_DST_COLOR','mesh','_postProcessRunningIndex','setColor3','physicsBody','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20float\x20motionStrength;\x0auniform\x20float\x20motionScale;\x0auniform\x20vec2\x20screenSize;\x0a#ifdef\x20OBJECT_BASED\x0auniform\x20sampler2D\x20velocitySampler;\x0a#else\x0auniform\x20sampler2D\x20depthSampler;\x0auniform\x20mat4\x20inverseViewProjection;\x0auniform\x20mat4\x20prevViewProjection;\x0auniform\x20mat4\x20projection;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#ifdef\x20GEOMETRY_SUPPORTED\x0a#ifdef\x20OBJECT_BASED\x0avec2\x20texelSize=1.0/screenSize;\x0avec4\x20velocityColor=texture2D(velocitySampler,vUV);\x0avelocityColor.rg=velocityColor.rg*2.0-vec2(1.0);\x0avec2\x20velocity=vec2(pow(velocityColor.r,3.0),pow(velocityColor.g,3.0))*velocityColor.a;\x0avelocity*=motionScale*motionStrength;\x0afloat\x20speed=length(velocity/texelSize);\x0aint\x20samplesCount=int(clamp(speed,1.0,SAMPLES));\x0avelocity=normalize(velocity)*texelSize;\x0afloat\x20hlim=float(-samplesCount)*0.5+0.5;\x0avec4\x20result=texture2D(textureSampler,vUV);\x0afor\x20(int\x20i=1;\x20i<int(SAMPLES);\x20++i)\x0a{\x0aif\x20(i>=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<int(SAMPLES);\x20++i)\x20{\x0aif\x20(i>=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','buffer','count','CopySrc','_injectStartingAndEndingCode','depthAttachmentViewDescriptor','__VERSION__','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}','_doNotHandleContextLost','x6_','vTBN','isEnabled','_depthStencilBuffer','getIndex','ONE_MINUS_SRC_ALPHA','querySet','FluidRenderingDepthTextureCopyRTT','_SamplerFunctionByWebGLSamplerType','maxMSAASamples','hasFloatTextures','\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<f32>\x0a\x20\x20\x20\x20)\x20->\x20@location(0)\x20vec4<f32>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20textureSampleBaseClampToEdge(videoTexture,\x20videoSampler,\x20fragUV);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','_getInternalFormat','TEXTURE_PLANAR_MODE','_cache','_webgpuProcessingContext','ASTC5x5Unorm','originalPickingInfo','Load','IsImageBitmapArray','#ifdef\x20LOGARITHMICDEPTH\x0agl_FragDepthEXT=log2(vFragmentDepth)*logarithmicDepthConstant*0.5;\x0a#endif\x0a','pbrVertexShader','_direction','refreshBoundingInfo','UNSIGNED_BYTE','onDisposeObservable','createQuery','ASTC6x5Unorm','_isStencilFuncDirty','setBlendConstant','connectTo','_cubeSamplerName','\x5cs*\x5c[(.*)\x5c]','generateMipmap','_zOffset','isRenderTarget','INTENSITYMODE_LUMINOUSPOWER','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<decalVertexDeclaration>\x0a#define\x20ADDITIONAL_VERTEX_DECLARATION\x0a','pbrBlockIridescence','\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','terrainVertexShader','ACTION_OnPickDownTrigger','setColorFormat','\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','BC7RGBAUnorm','E2dArray','kernelBlurVaryingDeclaration','shaderLanguage','_alphaBlend','\x20needs\x20to\x20be\x20imported\x20before\x20as\x20it\x20contains\x20a\x20side-effect\x20required\x20by\x20your\x20code.','storage','createMultipleRenderTarget','isVRDevicePresent','Uint','setStorageBuffer','index','match','reflectionUVW','depthRTWrapper','enablePointerMoveEvents','\x20ANIMATESHEET','_disposeThinInstanceSpecificData','pbrBlockReflectance0','setPipeline','main','_bindGroupEntries','MATERIAL_LineListDrawMode','#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','DST_ALPHA','MAINUV0','view','_decalMap','FluidRenderingRTTBlur-','ASTC4x4Unorm','_BuildExpression','readValues','hdrFilteringPixelShader','fogFragment','_createInternalTexture','now','instancesCount','Initialize','_SimplifiedKnownUBOs','indexInGroupEntries','_isZOffsetDirty','_varyingTransfer','RGBA32Uint','onVRRequestPresentStart','draw','UNPACK_PREMULTIPLY_ALPHA_WEBGL','createMultiviewRenderTargetTexture','releaseBuffer','cellIndex','set','_debugPopGroup','REFLECTIONMAP_SKYBOX','_onVrDisplayDisconnect','createSampler','_alreadyAttached','DEPTH_COMPONENT32F','#ifdef\x20MORPHTARGETS\x0a#ifdef\x20MORPHTARGETS_TEXTURE\x0afloat\x20vertexID;\x0a#endif\x0a#endif\x0a','_oldHardwareScaleFactor','hasEndpoints','getBundleEncoder','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<decalVertexDeclaration>\x0a#define\x20ADDITIONAL_VERTEX_DECLARATION\x0a','#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','ssao2PixelShader','bayerDitherFunctions','releaseTexture','testValue','oitFinalPixelShader','_scene','computeElement','setFrontFace','_data','ASTC6x6UnormSRGB','_collectBindingNames','#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','_emitVaryingFromString','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','prototype','not','PREPASS_NORMAL_TEXTURE_TYPE','_emitFunction','precision\x20highp\x20float;\x0d\x0a','processTrigger','floor','_nativeTexture','_handlesSpectorRebuildCallback','_ubInvertY','pickedMesh','\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','fragmentShader','getAttributes','bindGroupEntries','offlineProvider','texImage3D','TEXTURE_NEAREST_LINEAR_MIPNEAREST','_getActionManagerForTrigger','Read','length','varying\x20vec3\x20vPositionW;\x0a#if\x20DEBUGMODE>0\x0avarying\x20vec4\x20vClipSpacePosition;\x0a#endif\x0a#include<mainUVVaryingDeclaration>[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','direction1','kernelBlurFragment','Matrix','SphereParticleEmitter','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','directionRandomizer','output','POINTERMOVE','_bundleCache','Float\x20texture\x20filtering\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20and\x20sampling\x20mode\x20are\x20forced\x20to\x20false\x20and\x20TEXTURE_NEAREST_SAMPLINGMODE,\x20respectively.','_physicsImpostor','pbrBlockAlbedoOpacity','thickness','toString','ASTC10x5UnormSRGB','TEXTURETYPE_UNSIGNED_INT_5_9_9_9_REV','action','logDepthDeclaration','_time','document','matrix','_bindTextureRenderTarget','pickWorldNormal','_bindFrameBuffer','SNAPSHOTRENDERING_STANDARD','#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','_update','halfDomeMode','anaglyphPixelShader','disable','radius','TEXTUREFORMAT_RED_INTEGER','_crossEye','fogVertex','astc','.fx','lastIndexOf','updateColor3','Eval','getUniform','inputTexture','_timestampQuery','Declaration','ssFilterRadii','setFloat','AddParser','_blurTextureFormat','prePassRenderer','ACTION_OnPickTrigger','POINTERTAP','setUInt','DragMovementThreshold','_rigPostProcess','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<clipPlaneVertexDeclaration2>\x0a#include<logDepthDeclaration>\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<clipPlaneVertex>\x0a#include<logDepthVertex>\x0a}','updateRawCubeTexture','_vertexBuffers','_createMultiviewUbo','\x5c$&','_attachCameras','colorFormats','CONSTANT_ALPHA','circleOfConfusionPixelShader','CLIPPLANE4','TEXTURE','_meshUnderPointerId','\x20\x20\x20\x20','_deferredReleaseBuffers','TEXTURE_CUBE_MAP','CLAMP_TO_EDGE','bufferData','gl_Position.y\x20*=\x20yFactor_;\x0a','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20passSampler;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0agl_FragColor=texture2D(passSampler,vUV);\x0a}','BILINEAR_SAMPLINGMODE','setBool','onApplyObservable','defaultUboDeclaration','charAt','colorBufferFloat','slice','#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','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<helperFunctions>\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<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\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<depthPrePass>\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<lightFragment>[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<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','_emitExtension','_blendFunctionParameters','#if\x20defined(WEBGL2)\x20||\x20defines(WEBGPU)\x0d\x0aprecision\x20highp\x20sampler2DArray;\x0d\x0a#endif\x0d\x0a','_projectOnTrianglesToRef','_isStencilMaskDirty','RegisteredExternalClasses','RGBA8Sint','setScissorRect','iridescence','_animationStarted','fragmentOutputs.fragDepth','fragmentCompilationError','BGRA8Unorm','string','setFloatArray3','crossEye','additionalDefineKey','startTime','getTransformMatrix','#define','depthTextureExtension','maxFilterSize','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}','copy\x20video\x20to\x20texture\x20-\x20invertY=','attach','_options','Output','createView','_dstBuffers','pbrUboDeclaration','matrixData','addCount','fluidRenderingParticleThicknessPixelShader','value','cameraWorldPosition','pointerDownPredicate','worldDirection','ceil','bonesVertex','vClipPlane5','ReflectionTextureBaseBlock','insert','_resetIndexBufferBinding','fogStart','generateMipMaps','effect','_ignore','markAsMiscDirty','#include<samplerFragmentDeclaration>(_DEFINENAME_,ALBEDO,_VARYINGNAME_,Albedo,_SAMPLERNAME_,albedo)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient,_SAMPLERNAME_,ambient)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity,_SAMPLERNAME_,opacity)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive,_SAMPLERNAME_,emissive)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap,_SAMPLERNAME_,lightmap)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,REFLECTIVITY,_VARYINGNAME_,Reflectivity,_SAMPLERNAME_,reflectivity)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,MICROSURFACEMAP,_VARYINGNAME_,MicroSurfaceSampler,_SAMPLERNAME_,microSurface)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,METALLIC_REFLECTANCE,_VARYINGNAME_,MetallicReflectance,_SAMPLERNAME_,metallicReflectance)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,REFLECTANCE,_VARYINGNAME_,Reflectance,_SAMPLERNAME_,reflectance)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal,_SAMPLERNAME_,decal)\x0a#ifdef\x20CLEARCOAT\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,CLEARCOAT_TEXTURE,_VARYINGNAME_,ClearCoat,_SAMPLERNAME_,clearCoat)\x0a#include<samplerFragmentAlternateDeclaration>(_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<samplerFragmentDeclaration>(_DEFINENAME_,CLEARCOAT_BUMP,_VARYINGNAME_,ClearCoatBump,_SAMPLERNAME_,clearCoatBump)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,CLEARCOAT_TINT_TEXTURE,_VARYINGNAME_,ClearCoatTint,_SAMPLERNAME_,clearCoatTint)\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,IRIDESCENCE_TEXTURE,_VARYINGNAME_,Iridescence,_SAMPLERNAME_,iridescence)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,IRIDESCENCE_THICKNESS_TEXTURE,_VARYINGNAME_,IridescenceThickness,_SAMPLERNAME_,iridescenceThickness)\x0a#endif\x0a#ifdef\x20SHEEN\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,SHEEN_TEXTURE,_VARYINGNAME_,Sheen,_SAMPLERNAME_,sheen)\x0a#include<samplerFragmentAlternateDeclaration>(_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<samplerFragmentDeclaration>(_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<samplerFragmentDeclaration>(_DEFINENAME_,SS_THICKNESSANDMASK_TEXTURE,_VARYINGNAME_,Thickness,_SAMPLERNAME_,thickness)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,SS_REFRACTIONINTENSITY_TEXTURE,_VARYINGNAME_,RefractionIntensity,_SAMPLERNAME_,refractionIntensity)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,SS_TRANSLUCENCYINTENSITY_TEXTURE,_VARYINGNAME_,TranslucencyIntensity,_SAMPLERNAME_,translucencyIntensity)\x0a#endif\x0a','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20','_measureDuration','BC3RGBAUnormSRGB','markAsImageProcessingDirty','resource','filterRadii','precision\x20highp\x20float;\x0a','setCommandEncoder','_reflectionCoordsName','struct\x20reflectivityOutParams\x0a{\x0afloat\x20microSurface;\x0afloat\x20roughness;\x0avec3\x20surfaceReflectivityColor;\x0a#ifdef\x20METALLICWORKFLOW\x0avec3\x20surfaceAlbedo;\x0a#endif\x0a#if\x20defined(METALLICWORKFLOW)\x20&&\x20defined(REFLECTIVITY)\x20&&\x20defined(AOSTOREINMETALMAPRED)\x0avec3\x20ambientOcclusionColor;\x0a#endif\x0a#if\x20DEBUGMODE>0\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','precision\x20highp\x20float','replace','DepthOnly','R16Sint','#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','ALPHA_PREMULTIPLIED','opStencilFail','\x20=\x20computeSkyBoxCoords(','sampler2DArrayShadow','onXRFrameObservable','void\x20main(','setSubData','_movePointerInfo','geometryPixelShader','depthCullingState','TEXTURETYPE_INT','_drawWrapperDepth','_reflectionMatrixName','_createHardwareRenderTargetWrapper','run','pointCloudVertex','#define\x20HEMISPHERICEMITTER','releaseComputeEffects','onBeforePhysicsObservable','_currentFramebuffer','TEXTURETYPE_UNSIGNED_SHORT','convolutionPixelShader','_injectAtEnd','_isBlendFunctionParametersDirty','_previousStartingPointerPosition','drawBuffersExtension','_onKeyDown','_checkPrePointerObservable','varyingProcessor','matricesIndicesExtra','depthTest','TEXTUREFORMAT_STENCIL8','_disposePhysicsObserver','You\x20already\x20reached\x20the\x20maximum\x20number\x20of\x20diffusion\x20profiles.','fetchNewFrame','baseHeight','_step','Depth32FloatStencil8','uniform','computeToken','materialContext','createBindGroup','InvertY','_isStencilTestDirty','_ssFilterRadii','forEach','attributeProcessor','#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.alpha<ALPHATESTVALUE)\x0adiscard;\x0a#ifndef\x20ALPHABLEND\x0aoutParams.alpha=1.0;\x0a#endif\x0a#endif\x0a}\x0a#endif\x0a#endif\x0a','orderedAttributes','dataStoreArrayBuffer',';\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','LIGHTMAP_DEFAULT','previousMatrix','Depth\x20texture\x20format\x20is\x20not\x20supported.','TEXTURETYPE_FLOAT','projectToRef','#ifdef\x20FOG\x0avFogDistance=(view*worldPos).xyz;\x0a#endif\x0a','addUniform','Auto','createRawCubeTextureFromUrl','drawElementsType','RGB9E5UFloat','#define\x20CLIPPLANE','_bundleListRenderTarget','mat4','computeBonesUsingShaders','_vrExclusivePointerMode','setArray4','_multiviewSceneUbo','struct\x20Mesh\x20{\x0aworld\x20:\x20mat4x4<f32>,\x0avisibility\x20:\x20f32,\x0a};\x0avar<uniform>\x20mesh\x20:\x20Mesh;\x0a#define\x20WORLD_UBO\x0a','Depth\x20texture\x20is\x20not\x20supported\x20by\x20your\x20browser\x20or\x20hardware.','isDirty','_bindUnboundFramebuffer','ColorKind','lightVxFragmentDeclaration','canBeginQuery','texParameteri','_IsHardwareTexture','attributes','_missingVaryings','min','Cannot\x20load\x20cubemap\x20because\x20files\x20were\x20not\x20defined','ASTC10x10UnormSRGB','onKeyboardObservable','setUIntArray2','_transformMatrixR','samplerFragmentDeclaration','_blurPostProcesses','additionalDefineValue','NodeMaterial\x20does\x20not\x20have\x20a\x20fragment\x20output.\x20You\x20need\x20to\x20at\x20least\x20add\x20a\x20block\x20that\x20generates\x20a\x20glFragColor\x20value.\x0d\x0a','shadowsVertex','#define\x20PIXEL_PERFECT\x0a','!true','_textureFormatInUse','thinInstanceBufferUpdated','isExternalTexture','normalVertexShader','_cascadeLoadImgs','AddTagsTo','_material','addTags','InvertYPremultiplyAlphaWithOfst','_cachedWrapV',');\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','wrapU','_numExternalTextures','attribute\x20vec3\x20position;\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#include<clipPlaneVertexDeclaration>\x0a#include<instancesDeclaration>\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<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(positionUpdated,1.0);\x0a#include<clipPlaneVertex>\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','GL_ALPHA_EQUATION_ADD','_areTexturesDirty','BrowserBack','_queryBuffer','WriteOnly','textE','outputRenderTarget','_updateBoundingInfo','uniformRegexp','GL_ALPHA_EQUATION_SUBTRACT','transform','GetData','updateVector4','processor','setUInt2','createRawTexture3D','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<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\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<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<logDepthDeclaration>\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<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\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<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\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<logDepthVertex>\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','copyVideoToTexture','layout(location\x20=\x20','TEXTURE_NEAREST_SAMPLINGMODE','setFloatArray','POINTERDOUBLETAP','s3tc','createBuffer','TEXTUREFORMAT_LUMINANCE_ALPHA\x20format\x20not\x20supported\x20in\x20WebGPU','setInt3','TEXTURETYPE_HALF_FLOAT','setDepthWrite','REFLECTIONMAP_PLANAR','getEngine','volumetricLightScatteringPixelShader','FromArray','autoPlay','getEffectDefines','fragmentInputs.position','\x0a};\x0avar<private>\x20vertexInputs\x20:\x20VertexInputs;\x0a','_webVRInitPromise','lensFlarePixelShader','_createDepthStencilCubeTexture','drawBuffers','colorCorrectionPixelShader','FLOAT','prePassVertexDeclaration','_renderTarget','getMappedRange','highlightsPixelShader','_setCursorAndPointerOverMesh','pick','helperFunctions','hasSwiped','renderWidthHeight','GL_ALPHA_FUNCTION_ONE_MINUS_DST_ALPHA','updateArray','_blurTextureType','isPointerCaptured','indexOf','_readTexturePixels','shadowsFragmentFunctions','requestPointerLock','_textureType','_colorTextureArray','uniform\x20samplerCube\x20','postProcessManager','createRenderPipeline','ALPHA_EQUATION_REVERSE_SUBTRACT','nameInArrayOfTexture','vrdisplaypointerunrestricted','_isCullFaceDirty','target','RGBA32Float','checks','drawImage','layout(location\x20=\x200)\x20out\x20vec4\x20glFragColor;\x0a','layers','forceBindGroupCreation','GetEffect','addOnce','ALPHA_COMBINE','hdrFilteringFunctions','clipPlaneFragment','DRAW_FRAMEBUFFER','isTextureArray','_getRGBABufferInternalSizedFormat','_fromIndex','_activeCamera','opacityFresnel','_boundRenderFunction','AddUniforms','statusText','tonemapPixelShader','setCullEnabled','_cacheRenderPipeline','blendMode','onLoadObservable','_preProcessors','viewportSize','_halfDome','registerInput','message','_ubDontInvertY','volumetricLightScatteringPassVertexShader','onPrePointerObservable','_getArraySize','ALPHA_EQUATION_MAX','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}','#ifndef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0a#if\x20NUM_BONE_INFLUENCERS>0\x0avar\x20influence\x20:\x20mat4x4<f32>;\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','No\x20fixed\x20size\x20for\x20Depth24Plus\x20format!','remove','Cube','contains','nearInteractionPickingInfo','copyFrom','_reflectionPositionName','sampler_comparison','split','_textureBlurred','_ProcessIncludes','getAttributeNextLocation','call','CLIPPLANE3','setArray','oitFragment','modelArrayBuff','TEXTUREFORMAT_DEPTH24_STENCIL8','leftOperand','_perfCollector','_sphericalPolynomialPromise','TEXTURE_CLAMP_ADDRESSMODE','\x20{\x0a','multiplyByFloats','timerQuery','#include<','HasDepthAndStencilAspects','previousBones','setUIntArray','PREPASS_VELOCITY_TEXTURE_TYPE','depthPixelShader','NONE','_emitUniformFromString','lensHighlightsPixelShader','#ifdef\x20LOGARITHMICDEPTH\x0avFragmentDepth=1.0+gl_Position.w;\x0agl_Position.z=log2(max(0.000001,vFragmentDepth))*logarithmicDepthConstant;\x0a#endif\x0a','_funcMask','resolveQuerySet','i32','copyTextureToTexturePixelShader','updateTexture','buildTextureLayout','pbrFragmentDeclaration','R8Sint','#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','unBindFramebuffer','#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','_onVRDisplayPointerUnrestricted','KnownUBOs','ExclusiveDoubleClickMode','#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||\x20fragDepth<furthestDepth)\x20{\x0a#else\x0aif\x20(fragDepth<nearestDepth\x20||\x20fragDepth>furthestDepth)\x20{\x0a#endif\x0areturn;\x0a}\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0aif\x20(fragDepth<nearestDepth\x20&&\x20fragDepth>furthestDepth)\x20{\x0a#else\x0aif\x20(fragDepth>nearestDepth\x20&&\x20fragDepth<furthestDepth)\x20{\x0a#endif\x0adepth.rg=vec2(-fragDepth,fragDepth);\x0areturn;\x0a}\x0a#endif\x0a','Invalid\x20fragment\x20shader:\x20The\x20varying\x20named\x20\x22','GetWebGPUTextureFormat','decalFragment','createRawTexture','needShaderCodeInlining','\x20\x20@location(','_attributesWGSL','sampler','createFramebuffer','_fixReusablePostProcess','getClassName','TEXTURETYPE_UNSIGNED_SHORT_5_5_5_1','Zero','_createBuffer','boxMax','DepthStencil','_dumpPropertiesCode','_pointerUpStage','particleSystems','_buildLeftOverUBO','isPresenting','isReadyOrNotBlocking','#include<helperFunctions>\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}','_vertexData','createImageBitmap','_vertexBufferSize','writeTexture','Iridescence\x20thickness','submit','updateInt2','invertV','loopAnimation','createTexture','_setTarget','createMipMaps','deleteRenderbuffer','rgbdDecodePixelShader','_gpuFrameTimeCounter','handleVertexSide','_changeTextureMode','setUIntArray3','_commandEncoderForCreation','pbrBRDFFunctions','_angle','ASTC8x5UnormSRGB','_pickMove','supportedPipelines','QueueNewFrame','releaseVertexArrayObject','_cloneRenderTargetWrapper','spriteMapPixelShader','renderTargetBlur','TEXTUREFORMAT_R','setPhysicsLinkWith','precision\x20highp\x20float;\x0auniform\x20sampler2D\x20textureSampler;\x0avarying\x20vec2\x20vUV;\x0a#ifdef\x20SSAO\x0afloat\x20scales[16]=float[16](\x0a0.1,\x0a0.11406250000000001,\x0a0.131640625,\x0a0.15625,\x0a0.187890625,\x0a0.2265625,\x0a0.272265625,\x0a0.325,\x0a0.384765625,\x0a0.4515625,\x0a0.525390625,\x0a0.60625,\x0a0.694140625,\x0a0.7890625,\x0a0.891015625,\x0a1.0\x0a);\x0auniform\x20float\x20near;\x0auniform\x20float\x20radius;\x0auniform\x20sampler2D\x20depthSampler;\x0auniform\x20sampler2D\x20randomSampler;\x0auniform\x20sampler2D\x20normalSampler;\x0auniform\x20float\x20randTextureTiles;\x0auniform\x20float\x20samplesFactor;\x0auniform\x20vec3\x20sampleSphere[SAMPLES];\x0auniform\x20float\x20totalStrength;\x0auniform\x20float\x20base;\x0auniform\x20float\x20xViewport;\x0auniform\x20float\x20yViewport;\x0auniform\x20mat3\x20depthProjection;\x0auniform\x20float\x20maxZ;\x0auniform\x20float\x20minZAspect;\x0auniform\x20vec2\x20texelSize;\x0auniform\x20mat4\x20projection;\x0avoid\x20main()\x0a{\x0avec3\x20random=textureLod(randomSampler,vUV*randTextureTiles,0.0).rgb;\x0afloat\x20depth=textureLod(depthSampler,vUV,0.0).r;\x0afloat\x20depthSign=depth/abs(depth);\x0adepth=depth*depthSign;\x0avec3\x20normal=textureLod(normalSampler,vUV,0.0).rgb;\x0afloat\x20occlusion=0.0;\x0afloat\x20correctedRadius=min(radius,minZAspect*depth/near);\x0avec3\x20vViewRay=vec3((vUV.x*2.0-1.0)*xViewport,(vUV.y*2.0-1.0)*yViewport,depthSign);\x0avec3\x20vDepthFactor=depthProjection*vec3(1.0,1.0,depth);\x0avec3\x20origin=vViewRay*vDepthFactor;\x0avec3\x20rvec=random*2.0-1.0;\x0arvec.z=0.0;\x0afloat\x20dotProduct=dot(rvec,normal);\x0arvec=1.0-abs(dotProduct)>1e-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;\x20i<SAMPLES;\x20++i)\x20{\x0avec3\x20samplePosition=scales[(i+int(random.x*16.0))\x20%\x2016]*tbn*sampleSphere[(i+int(random.y*16.0))\x20%\x2016];\x0asamplePosition=samplePosition*correctedRadius+origin;\x0avec4\x20offset=vec4(samplePosition,1.0);\x0aoffset=projection*offset;\x0aoffset.xyz/=offset.w;\x0aoffset.xy=offset.xy*0.5+0.5;\x0aif\x20(offset.x<0.0\x20||\x20offset.y<0.0\x20||\x20offset.x>1.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<samples;\x20i+=2)\x0a{\x0avec2\x20samplePos=vUV+step*(float(i)+0.5);\x0afloat\x20sampleDepth=abs(textureLod(depthSampler,samplePos,0.0).r);\x0afloat\x20falloff=smoothstep(0.0,\x0afloat(samples),\x0afloat(samples)-abs(float(i))*soften);\x0afloat\x20minDivider=tolerance*0.5+0.003;\x0afloat\x20weight=falloff/(\x20minDivider+abs(compareDepth-sampleDepth));\x0aresult+=textureLod(textureSampler,samplePos,0.0).r*weight;\x0aweightSum+=weight;\x0a}\x0aresult/=weightSum;\x0a#endif\x0a#endif\x0agl_FragColor.rgb=vec3(result);\x0agl_FragColor.a=1.0;\x0a}\x0a#endif\x0a','#version\x20300\x20es\x0avoid\x20main()\x20{\x0adiscard;\x0a}\x0a','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','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','_onVRDisplayPointerRestricted','GetRightPlaneToRef','multiplyToRef','MatchesQuery','lineVertexShader','endFrame','#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',',\x20uniqueId=','getRenderTarget','emitErrors','GetNumChannelsFromWebGPUTextureFormat','BuildArray','handleFragmentSideInits','#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','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}','getCaps','_hardwareTexture','XRWebGLLayer','setUsage','attributeLocationsFromEffect','_listLength','Iridescence\x20ior','vertexShaderName','mode','toLowerCase','TEXTURE_CUBE_MAP_NEGATIVE_Z','gl_FragDepth','_varyingNextLocation','previousMatrixData','};\x0a\x0a','#define\x20NUM_BONE_INFLUENCERS\x200','computeSource','_disableEffect','_pendingDebugCommands','popDebugGroup','bindBufferBase','vec2','name','ASTC5x4UnormSRGB','setAll','Unable\x20to\x20create\x20uniform\x20buffer','_SamplerTypeByWebGLSamplerType','preProcessShaderCode','Raw3D','unmap','pickWorldPosition','generateCubeMipmaps','clickInfo','renderWidth','_copyTextureToTexture','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','_itemLength','vrdisplaypointerrestricted','_features','getPhysicsImpostor','backgroundPixelShader','lastIndex','stage','gpuRenderParticlesPixelShader','NEVER','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<helperFunctions>\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<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\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<clipPlaneFragment>\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<depthPrePass>\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<lightFragment>[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<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','POINTERUP','proceduralVertexShader','_generateMipmaps','ASTC10x8UnormSRGB','textureHalfFloatLinearFiltering','_textureMode','_2DSamplerName','startPositionFunction','_processCustomBuffers','depthOrArrayLayers','_currentBoundBuffer','pop','setDepthStencilFormat','clipPlane','CLIPPLANE','MapWrite','uniform\x20vec4\x20color;\x0avoid\x20main()\x20{\x0agl_FragColor=color;\x0a}\x0a','sharpenPixelShader','updateColor4','previousViewProjection','_areAttributesDirty','join','activeCamera','.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','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}','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<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\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<instancesDeclaration>\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<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\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<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\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<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','[0..','_drawWrapperFogDepth','TEXTURETYPE_UNSIGNED_SHORT_4_4_4_4','createGPUTextureForInternalTexture','-astc.ktx','varying','\x0a};\x0avar<private>\x20vertexOutputs\x20:\x20FragmentInputs;\x0a','types','testExpression','coordinatesMode','u32','ASTC10x8Unorm','isNDCHalfZRange','numDrawCalls','\x20=\x20texture2D(','Keyboard','R32Sint','meshes','useStencilGlobalOnly','drawContext','setAlphaEquation','vertexCompilationError','previousMatrixBuffer','_dummyFramebuffer','read_write','clickToPlay','createMSAATexture','currentLine','\x20levels','instancesDeclaration','bindingIndex','_view','TEXTURE_SPHERICAL_MODE','FromArrayToRef','defaultCursor','_GetTextureTypeFromFormat','copyToArray','\x20=\x20computePlanarCoords(','simulatePointerMove','meshUVSpaceRendererPixelShader','removePendingData','depth','textureNames','GL_ALPHA_FUNCTION_ONE_MINUS_CONSTANT_ALPHA','textureRegexp','_excludedCompressedTextures','backgroundFragmentDeclaration','isCompatible','#else\x0d\x0a','strides','NAME_SUBSURFACE','availableVaryings','clientY','_processPointerDown','offset','RG32Uint','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','_SceneComponentInitialization','#define\x20PREMULTIPLYALPHA\x0d\x0a','_skipPointerTap','GL_ALPHA_EQUATION_MIN','exitPresent','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}','pointerMovePredicate','#include<helperFunctions>\x0a#include<importanceSampling>\x0a#include<pbrBRDFFunctions>\x0a#include<hdrFilteringFunctions>\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}','Linear','_mainPassBundleList','CubeArray','_pointerMoveStage','unbindInstanceAttributes','gpuUpdateParticlesComputeShader','programValidationError','#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','\x0a#define\x20ANIMATESHEET\x0a','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','_addComponent','systemValue','hasPickTriggers','_thinInstanceCreateMatrixBuffer','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;\x20i<SMOOTH_STEPS;\x20i++)\x0a{\x0aprojectedCoord=projection*vec4(hitCoord,1.0);\x0aprojectedCoord.xy/=projectedCoord.w;\x0aprojectedCoord.xy=0.5*projectedCoord.xy+vec2(0.5);\x0asampledDepth=(view*texture2D(positionSampler,projectedCoord.xy)).z;\x0afloat\x20depth=sampledDepth-hitCoord.z;\x0adir*=0.5;\x0aif(depth>0.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<REFLECTION_SAMPLES;\x20i++)\x0a{\x0ahitCoord+=dir;\x0aprojectedCoord=projection*vec4(hitCoord,1.0);\x0aprojectedCoord.xy/=projectedCoord.w;\x0aprojectedCoord.xy=0.5*projectedCoord.xy+vec2(0.5);\x0asampledDepth=(view*texture2D(positionSampler,projectedCoord.xy)).z;\x0afloat\x20depth=sampledDepth-hitCoord.z;\x0a#ifdef\x20RIGHT_HANDED_SCENE\x0adepth*=-1.0;\x0a#endif\x0aif(((depth-dir.z)<threshold)\x20&&\x20depth<=0.0)\x0a{\x0a#ifdef\x20ENABLE_SMOOTH_REFLECTIONS\x0areturn\x20smoothReflectionInfo(dir,hitCoord);\x0a#else\x0ainfo.color=texture2D(textureSampler,projectedCoord.xy).rgb;\x0ainfo.coords=vec4(projectedCoord.xy,sampledDepth,0.0);\x0areturn\x20info;\x0a#endif\x0a}\x0a}\x0ainfo.color=texture2D(textureSampler,projectedCoord.xy).rgb;\x0ainfo.coords=vec4(projectedCoord.xy,sampledDepth,0.0);\x0areturn\x20info;\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}\x0a#endif\x0avoid\x20main()\x0a{\x0a#ifdef\x20SSR_SUPPORTED\x0avec4\x20albedoFull=texture2D(textureSampler,vUV);\x0avec3\x20albedo=albedoFull.rgb;\x0afloat\x20spec=texture2D(reflectivitySampler,vUV).r;\x0aif\x20(spec==0.0)\x20{\x0agl_FragColor=albedoFull;\x0areturn;\x0a}\x0avec3\x20normal=(texture2D(normalSampler,vUV)).xyz;\x0avec3\x20position=(view*texture2D(positionSampler,vUV)).xyz;\x0avec3\x20reflected=normalize(reflect(normalize(position),normalize(normal)));\x0afloat\x20roughness=1.0-texture2D(reflectivitySampler,vUV).a;\x0avec3\x20jitt=mix(vec3(0.0),hash(position),roughness)*roughnessFactor;\x0aReflectionInfo\x20info=getReflectionInfo(jitt+reflected,position);\x0avec2\x20dCoords=smoothstep(0.2,0.6,abs(vec2(0.5,0.5)-info.coords.xy));\x0afloat\x20screenEdgefactor=clamp(1.0-(dCoords.x+dCoords.y),0.0,1.0);\x0avec3\x20F0=vec3(0.04);\x0aF0\x20=mix(F0,albedo,spec);\x0avec3\x20fresnel=fresnelSchlick(max(dot(normalize(normal),normalize(position)),0.0),F0);\x0a#ifdef\x20RIGHT_HANDED_SCENE\x0areflected.z*=-1.0;\x0a#endif\x0afloat\x20reflectionMultiplier=clamp(pow(spec*strength,reflectionSpecularFalloffExponent)*screenEdgefactor*reflected.z,0.0,0.9);\x0afloat\x20albedoMultiplier=1.0-reflectionMultiplier;\x0avec3\x20SSR=info.color*fresnel;\x0agl_FragColor=vec4((albedo*albedoMultiplier)+(SSR*reflectionMultiplier),albedoFull.a);\x0a#else\x0agl_FragColor=texture2D(textureSampler,vUV);\x0a#endif\x0a}\x0a','Stencil8','KEYUP','_getProjectedParticleConstant','onVRDisplayChangedObservable','_textures','clearQuadVertexShader','screenSpaceRayTrace','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<kernelBlurVaryingDeclaration>[0..varyingCount]\x0a#ifdef\x20PACKEDFLOAT\x0a#include<packingFunctions>\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<kernelBlurFragment>[0..varyingCount]\x0a#include<kernelBlurFragment2>[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}','applyBlurPostProcesses','attribute\x20vec3\x20position;\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#include<clipPlaneVertexDeclaration>\x0a#include<instancesDeclaration>\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<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\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<clipPlaneVertex>\x0a}','_repeatableContentAnchorIndex','BC2RGBAUnorm','samplerCube','_setReady','textureCube','albedoSampler','_prepareFrame','ProjectOnTriangleToRef','_cullFace','define','uniqueId','#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<outsideIOR)\x20phi12=PI;\x0afloat\x20phi21=PI-phi12;\x0avec3\x20baseIOR=getIORTfromAirToSurfaceR0(clamp(baseF0,0.0,0.9999));\x20\x0avec3\x20R1=getR0fromIORs(baseIOR,iridescenceIOR);\x0avec3\x20R23=fresnelSchlickGGX(cosTheta2,R1,vec3(1.));\x0avec3\x20phi23=vec3(0.0);\x0aif\x20(baseIOR[0]<iridescenceIOR)\x20phi23[0]=PI;\x0aif\x20(baseIOR[1]<iridescenceIOR)\x20phi23[1]=PI;\x0aif\x20(baseIOR[2]<iridescenceIOR)\x20phi23[2]=PI;\x0afloat\x20opd=2.0*iridescenceIOR*thinFilmThickness*cosTheta2;\x0avec3\x20phi=vec3(phi21)+phi23;\x0avec3\x20R123=clamp(R12*R23,1e-5,0.9999);\x0avec3\x20r123=sqrt(R123);\x0avec3\x20Rs=square(T121)*R23/(vec3(1.0)-R123);\x0avec3\x20C0=R12+Rs;\x0aI=C0;\x0avec3\x20Cm=Rs-T121;\x0afor\x20(int\x20m=1;\x20m<=2;\x20++m)\x0a{\x0aCm*=r123;\x0avec3\x20Sm=2.0*evalSensitivity(float(m)*opd,float(m)*phi);\x0aI+=Cm*Sm;\x0a}\x0areturn\x20max(I,vec3(0.0));\x0a}\x0a#endif\x0afloat\x20normalDistributionFunction_TrowbridgeReitzGGX(float\x20NdotH,float\x20alphaG)\x0a{\x0afloat\x20a2=square(alphaG);\x0afloat\x20d=NdotH*NdotH*(a2-1.0)+1.0;\x0areturn\x20a2/(PI*d*d);\x0a}\x0a#ifdef\x20SHEEN\x0afloat\x20normalDistributionFunction_CharlieSheen(float\x20NdotH,float\x20alphaG)\x0a{\x0afloat\x20invR=1./alphaG;\x0afloat\x20cos2h=NdotH*NdotH;\x0afloat\x20sin2h=1.-cos2h;\x0areturn\x20(2.+invR)*pow(sin2h,invR*.5)/(2.*PI);\x0a}\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0afloat\x20normalDistributionFunction_BurleyGGX_Anisotropic(float\x20NdotH,float\x20TdotH,float\x20BdotH,const\x20vec2\x20alphaTB)\x20{\x0afloat\x20a2=alphaTB.x*alphaTB.y;\x0avec3\x20v=vec3(alphaTB.y*TdotH,alphaTB.x\x20*BdotH,a2*NdotH);\x0afloat\x20v2=dot(v,v);\x0afloat\x20w2=a2/v2;\x0areturn\x20a2*w2*w2*RECIPROCAL_PI;\x0a}\x0a#endif\x0a#ifdef\x20BRDF_V_HEIGHT_CORRELATED\x0afloat\x20smithVisibility_GGXCorrelated(float\x20NdotL,float\x20NdotV,float\x20alphaG)\x20{\x0a#ifdef\x20MOBILE\x0afloat\x20GGXV=NdotL*(NdotV*(1.0-alphaG)+alphaG);\x0afloat\x20GGXL=NdotV*(NdotL*(1.0-alphaG)+alphaG);\x0areturn\x200.5/(GGXV+GGXL);\x0a#else\x0afloat\x20a2=alphaG*alphaG;\x0afloat\x20GGXV=NdotL*sqrt(NdotV*(NdotV-a2*NdotV)+a2);\x0afloat\x20GGXL=NdotV*sqrt(NdotL*(NdotL-a2*NdotL)+a2);\x0areturn\x200.5/(GGXV+GGXL);\x0a#endif\x0a}\x0a#else\x0afloat\x20smithVisibilityG1_TrowbridgeReitzGGXFast(float\x20dot,float\x20alphaG)\x0a{\x0a#ifdef\x20MOBILE\x0areturn\x201.0/(dot+alphaG+(1.0-alphaG)*dot\x20));\x0a#else\x0afloat\x20alphaSquared=alphaG*alphaG;\x0areturn\x201.0/(dot+sqrt(alphaSquared+(1.0-alphaSquared)*dot*dot));\x0a#endif\x0a}\x0afloat\x20smithVisibility_TrowbridgeReitzGGXFast(float\x20NdotL,float\x20NdotV,float\x20alphaG)\x0a{\x0afloat\x20visibility=smithVisibilityG1_TrowbridgeReitzGGXFast(NdotL,alphaG)*smithVisibilityG1_TrowbridgeReitzGGXFast(NdotV,alphaG);\x0areturn\x20visibility;\x0a}\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0afloat\x20smithVisibility_GGXCorrelated_Anisotropic(float\x20NdotL,float\x20NdotV,float\x20TdotV,float\x20BdotV,float\x20TdotL,float\x20BdotL,const\x20vec2\x20alphaTB)\x20{\x0afloat\x20lambdaV=NdotL*length(vec3(alphaTB.x*TdotV,alphaTB.y*BdotV,NdotV));\x0afloat\x20lambdaL=NdotV*length(vec3(alphaTB.x*TdotL,alphaTB.y*BdotL,NdotL));\x0afloat\x20v=0.5/(lambdaV+lambdaL);\x0areturn\x20v;\x0a}\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0afloat\x20visibility_Kelemen(float\x20VdotH)\x20{\x0areturn\x200.25/(VdotH*VdotH);\x20\x0a}\x0a#endif\x0a#ifdef\x20SHEEN\x0afloat\x20visibility_Ashikhmin(float\x20NdotL,float\x20NdotV)\x0a{\x0areturn\x201./(4.*(NdotL+NdotV-NdotL*NdotV));\x0a}\x0a/*\x20NOT\x20USED\x0a#ifdef\x20SHEEN_SOFTER\x0afloat\x20l(float\x20x,float\x20alphaG)\x0a{\x0afloat\x20oneMinusAlphaSq=(1.0-alphaG)*(1.0-alphaG);\x0afloat\x20a=mix(21.5473,25.3245,oneMinusAlphaSq);\x0afloat\x20b=mix(3.82987,3.32435,oneMinusAlphaSq);\x0afloat\x20c=mix(0.19823,0.16801,oneMinusAlphaSq);\x0afloat\x20d=mix(-1.97760,-1.27393,oneMinusAlphaSq);\x0afloat\x20e=mix(-4.32054,-4.85967,oneMinusAlphaSq);\x0areturn\x20a/(1.0+b*pow(x,c))+d*x+e;\x0a}\x0afloat\x20lambdaSheen(float\x20cosTheta,float\x20alphaG)\x0a{\x0areturn\x20abs(cosTheta)<0.5\x20?\x20exp(l(cosTheta,alphaG))\x20:\x20exp(2.0*l(0.5,alphaG)-l(1.0-cosTheta,alphaG));\x0a}\x0afloat\x20visibility_CharlieSheen(float\x20NdotL,float\x20NdotV,float\x20alphaG)\x0a{\x0afloat\x20G=1.0/(1.0+lambdaSheen(NdotV,alphaG)+lambdaSheen(NdotL,alphaG));\x0areturn\x20G/(4.0*NdotV*NdotL);\x0a}\x0a#endif\x0a*/\x0a#endif\x0afloat\x20diffuseBRDF_Burley(float\x20NdotL,float\x20NdotV,float\x20VdotH,float\x20roughness)\x20{\x0afloat\x20diffuseFresnelNV=pow5(saturateEps(1.0-NdotL));\x0afloat\x20diffuseFresnelNL=pow5(saturateEps(1.0-NdotV));\x0afloat\x20diffuseFresnel90=0.5+2.0*VdotH*VdotH*roughness;\x0afloat\x20fresnel\x20=\x0a(1.0+(diffuseFresnel90-1.0)*diffuseFresnelNL)\x20*\x0a(1.0+(diffuseFresnel90-1.0)*diffuseFresnelNV);\x0areturn\x20fresnel/PI;\x0a}\x0a#ifdef\x20SS_TRANSLUCENCY\x0avec3\x20transmittanceBRDF_Burley(const\x20vec3\x20tintColor,const\x20vec3\x20diffusionDistance,float\x20thickness)\x20{\x0avec3\x20S=1./maxEps(diffusionDistance);\x0avec3\x20temp=exp((-0.333333333*thickness)*S);\x0areturn\x20tintColor.rgb*0.25*(temp*temp*temp+3.0*temp);\x0a}\x0afloat\x20computeWrappedDiffuseNdotL(float\x20NdotL,float\x20w)\x20{\x0afloat\x20t=1.0+w;\x0afloat\x20invt2=1.0/square(t);\x0areturn\x20saturate((NdotL+w)*invt2);\x0a}\x0a#endif\x0a','POSITIVE_INFINITY','insertDebugMarker','_setupDepthStencilTexture',']\x0d\x0a','_IsComparisonSamplerByWebGPUSamplerType','generateOnlyFragmentCode','comparisonFunction','setMRT','renderHeight','gl_Position.z\x20=\x20(gl_Position.z\x20+\x20gl_Position.w)\x20/\x202.0;\x0a','FileTools','TEXTURETYPE_UNSIGNED_BYTE','thinInstanceAdd','TEXTURETYPE_UNSIGNED_SHORT_5_5_5_1\x20format\x20not\x20supported\x20in\x20WebGPU','currentOffsetStartTemp','modelTotalCount','onPointerUp','grainPixelShader','_pointerY','updateDynamicTexture','_isDirty','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}','emitFromSpawnPointOnly','_depthFunc','_defineEquirectangularFixedName','sharedData','_getGlobalDefines','LINEAR','RGBA','clear','resolve','originMesh','normal','};\x0a','_depthMask','COLOR_ATTACHMENT','_framebufferDepthStencil','ASTC5x5UnormSRGB','TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT5','_areFresnelDirty','uniform\x20mat4\x20world;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20MULTIVIEW\x0auniform\x20mat4\x20viewProjectionR;\x0a#endif\x0a','display','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','ref','KEEP','int','setAlphaConstants','worldUp','attribute\x20vec3\x20position;\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#include<instancesDeclaration>\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<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\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','_defineProjectionName','assign','varying\x20vec2\x20sampleCoord{X};','encode','gridPixelShader','uniform\x20','parent','ONE_MINUS_CONSTANT_COLOR','TEXTUREFORMAT_COMPRESSED_RGB_BPTC_SIGNED_FLOAT','_coroutineSchedulerDispose','#ifdef\x20','#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','destroyDeferredBuffers','ACTION_OnLongPressTrigger','getPhysicsEngine','ONE','DEPTH_COMPONENT16','ALPHA_DISABLE','_delay','_drawWrapperFog','VertexAndFragment','getVRDisplays','TEXTUREFORMAT_DEPTH16','_isPointerSwiping','NEAREST','_endRenderTargetRenderPass','\x20=\x20computeEquirectangularCoords(','_attributeDeclaration','uniform\x20mat4\x20viewProjection;\x0a#ifdef\x20MULTIVIEW\x0auniform\x20mat4\x20viewProjectionR;\x0a#endif\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20vec4\x20vEyePosition;\x0a','serialize','updateMultipleRenderTargetTextureSampleCount','isEqual','linePixelShader','_repeatableContentAnchor','queue','AddStore','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<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\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<clipPlaneFragment>\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<depthPrePass>\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<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','_prepareComputePipelineContext','_debugInsertMarker','_oldSize','removePipeline','_getSamplingParameters','lightVxUboDeclaration','onSizeChangedObservable','getDeterministicFrameTime','INVERTCUBICMAP','_findStartingGroupBinding','_normals','textureAdditionalUsages','indexStart','_onVrDisplayPresentChange','animatedInputs','textureMode','_mesh','setExternalTexture','highRefreshRate','TEXTUREFORMAT_COMPRESSED_RGB_ETC1_WEBGL','toArray','WebGPUComputeContext.getBindGroups:\x20bindingsMapping\x20is\x20required\x20until\x20browsers\x20support\x20reflection\x20for\x20wgsl\x20shaders!','options','RG8Snorm','getMSAATexture','_setDepthTextureFormat','_TextureTypeByWebGLSamplerType','_getHalfFloatAsFloatRGBAArrayBuffer','_isSwiping','_ApplyPreProcessing','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','ETC2RGB8A1Unorm','Float\x20textures\x20are\x20not\x20supported.\x20Render\x20target\x20forced\x20to\x20TEXTURETYPE_UNSIGNED_BYTE\x20type','Unable\x20to\x20create\x20dynamic\x20uniform\x20buffer','LEQUAL','TriangleStrip','_blendConstants','bindForSubMesh','Filtering','#define\x20CLIPPLANE3','RenderTarget','etc2','_internalCount','MaterialStencilState','FALLOFF_STANDARD','allowEmptyVertexProgram','IgnoreTexturesAtLoadTime','clipPlane3','_detachCameras','_attributeNextLocation','getNextFreeUBOBinding','_reflectionVectorName','blitFramebuffer','bindFramebuffer','_removeCameraPointerObserver','TEXTURE_2D_ARRAY','formats','TempTextureForUpdateTexture','#ifdef\x20ALPHATEST\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0avarying\x20float\x20vDepthMetric;\x0a#ifdef\x20PACKED\x0a#include<packingFunctions>\x0a#endif\x0a#ifdef\x20STORE_CAMERASPACE_Z\x0avarying\x20vec4\x20vViewPos;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#include<clipPlaneFragment>\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}','IsExponentOfTwo','deviceType','imageProcessingPostProcess','\x20{\x0afloat\x20yFactor_;\x0afloat\x20textureOutputHeight_;\x0a};\x0a','fresnelFunction','morphTargetsVertex','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<helperFunctions>\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<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\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<depthPrePass>\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<lightFragment>[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<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a'];a7_0x51ae=function(){return _0x3a1566;};return a7_0x51ae();}function a7_0x5572(_0x5e231b,_0x1e817e){var _0x51aeaa=a7_0x51ae();return a7_0x5572=function(_0x557212,_0xda0fd8){_0x557212=_0x557212-0x166;var _0x1e5c5f=_0x51aeaa[_0x557212];return _0x1e5c5f;},a7_0x5572(_0x5e231b,_0x1e817e);}(Object(self||this)[a7_0x425593(0xd07)]=Object(self||this)['webpackChunkBim']||[])[a7_0x425593(0x303)]([[0x162],{0x2b0:(_0x196fcf,_0x4f71c0,_0xe6eb9d)=>{var _0x583227=a7_0x425593;_0xe6eb9d['d'](_0x4f71c0,{'V':()=>_0x10e2ad});class _0x10e2ad{constructor(_0xba3568,_0x1bf062,_0x203e0d,_0x1b4cb8,_0x39826b,_0x4f110d){var _0x4137b7=a7_0x5572;this[_0x4137b7(0x7a1)]=_0xba3568,this[_0x4137b7(0x499)]=_0x1bf062,this[_0x4137b7(0x7b1)]=_0x203e0d,this[_0x4137b7(0x783)]=_0x1b4cb8,this['sourceEvent']=_0x39826b,this[_0x4137b7(0x29f)]=_0x4f110d;}static[_0x583227(0x4e1)](_0x24d512,_0x29b18a,_0x33ad5d){var _0x54b136=_0x583227,_0x45143c=_0x24d512[_0x54b136(0x427)]();return new _0x10e2ad(_0x24d512,_0x45143c[_0x54b136(0x499)],_0x45143c[_0x54b136(0x7b1)],_0x45143c[_0x54b136(0x783)]||_0x24d512,_0x29b18a,_0x33ad5d);}static[_0x583227(0xcc8)](_0x2cac84,_0x590cda,_0x5ec243,_0x591cfe){var _0x4257b1=_0x583227;return new _0x10e2ad(_0x2cac84,_0x590cda['pointerX'],_0x590cda[_0x4257b1(0x7b1)],_0x590cda[_0x4257b1(0x783)],_0x5ec243,_0x591cfe);}static[_0x583227(0xbd9)](_0xe9fe3e,_0x5c28a9){var _0x5c8de4=_0x583227;return new _0x10e2ad(null,_0xe9fe3e[_0x5c8de4(0x499)],_0xe9fe3e[_0x5c8de4(0x7b1)],_0xe9fe3e['meshUnderPointer'],_0x5c28a9);}static[_0x583227(0x7ab)](_0x34a29f,_0x2901a7,_0xa055d8,_0x4afde6){return new _0x10e2ad(_0x34a29f,_0x2901a7['x'],_0x2901a7['y'],null,_0xa055d8,_0x4afde6);}}},0x71:(_0x44f135,_0x5b48ee,_0x54b89e)=>{var _0x381403=a7_0x425593;_0x54b89e['d'](_0x5b48ee,{'X':()=>_0x10168a});class _0x10168a{constructor(_0x355ea1,_0xcefcf7,_0x19e183){var _0x53b711=a7_0x5572;this[_0x53b711(0xa67)]=_0x355ea1,this['from']=_0xcefcf7,this['to']=_0x19e183;}[_0x381403(0x6cd)](){var _0x96378=_0x381403;return new _0x10168a(this[_0x96378(0xa67)],this[_0x96378(0x1f1)],this['to']);}}},0xf2a6:(_0x2e6290,_0x4dbdda,_0x5e379d)=>{_0x5e379d['d'](_0x4dbdda,{'c':()=>_0x168f66});class _0x168f66{constructor(_0x1f5d1d,_0x1e7c79,_0xf07954){var _0x1cc460=a7_0x5572;this['bu']=_0x1f5d1d,this['bv']=_0x1e7c79,this['distance']=_0xf07954,this[_0x1cc460(0x19e)]=0x0,this[_0x1cc460(0xbb4)]=0x0;}}},0x13ea8:(_0x14e068,_0x24691c,_0x1b3cbb)=>{_0x1b3cbb['d'](_0x24691c,{'p':()=>_0x3477b8});var _0x238610=_0x1b3cbb(0xf96c);class _0x3477b8{constructor(_0x45263f,_0x3c6b5f,_0x1ea1ec=0x0){var _0x5c21e8=a7_0x5572;this['deviceType']=_0x3c6b5f,this[_0x5c21e8(0x7d3)]=_0x1ea1ec,this['onInputChangedObservable']=new _0x238610['y$'](),this[_0x5c21e8(0x6fa)]=_0x45263f;}['getInput'](_0x384397){var _0x216783=a7_0x5572;return this[_0x216783(0x6fa)][_0x216783(0x262)](this[_0x216783(0xb91)],this[_0x216783(0x7d3)],_0x384397);}}},0x59fc:(_0x6d716f,_0x4bea9f,_0x120661)=>{var _0x3d2af5=a7_0x425593,_0x2e56c6=_0x120661(0x202a),_0x1ccb8a=_0x120661(0x77a5);_0x2e56c6['B'][_0x3d2af5(0x85a)][_0x3d2af5(0xb2d)]=function(_0x229b3d,_0x58a28d,_0x179c02,_0x42b6e3){var _0x37e8b7=_0x3d2af5;this[_0x37e8b7(0x40b)][_0x37e8b7(0xbc3)](_0x229b3d,_0x58a28d,_0x179c02,_0x42b6e3);},_0x2e56c6['B'][_0x3d2af5(0x85a)][_0x3d2af5(0xbeb)]=function(_0x44a113,_0x530b47=!0x1){var _0x11bf53=_0x3d2af5,_0x3902c9;if(this[_0x11bf53(0x580)]===_0x44a113)_0x530b47||(_0x3902c9=_0x44a113===_0x1ccb8a['g']['ALPHA_DISABLE'],this['depthCullingState'][_0x11bf53(0x48e)]!==_0x3902c9&&(this[_0x11bf53(0x90a)][_0x11bf53(0x48e)]=_0x3902c9));else{switch(_0x44a113){case _0x1ccb8a['g'][_0x11bf53(0xb41)]:this[_0x11bf53(0x40b)][_0x11bf53(0x659)]=!0x1;break;case _0x1ccb8a['g'][_0x11bf53(0x901)]:this[_0x11bf53(0x40b)]['setAlphaBlendFunctionParameters'](this[_0x11bf53(0x2cf)]['ONE'],this[_0x11bf53(0x2cf)][_0x11bf53(0x7e7)],this[_0x11bf53(0x2cf)]['ONE'],this[_0x11bf53(0x2cf)][_0x11bf53(0xb3f)]),this['_alphaState']['alphaBlend']=!0x0;break;case _0x1ccb8a['g'][_0x11bf53(0x78c)]:this[_0x11bf53(0x40b)][_0x11bf53(0x5a3)](this[_0x11bf53(0x2cf)]['ONE'],this['_gl'][_0x11bf53(0x7e7)],this[_0x11bf53(0x2cf)][_0x11bf53(0xb3f)],this[_0x11bf53(0x2cf)]['ONE_MINUS_SRC_ALPHA']),this[_0x11bf53(0x40b)][_0x11bf53(0x659)]=!0x0;break;case _0x1ccb8a['g'][_0x11bf53(0x9b9)]:this[_0x11bf53(0x40b)][_0x11bf53(0x5a3)](this[_0x11bf53(0x2cf)]['SRC_ALPHA'],this[_0x11bf53(0x2cf)][_0x11bf53(0x7e7)],this[_0x11bf53(0x2cf)][_0x11bf53(0xb3f)],this[_0x11bf53(0x2cf)][_0x11bf53(0xb3f)]),this[_0x11bf53(0x40b)][_0x11bf53(0x659)]=!0x0;break;case _0x1ccb8a['g'][_0x11bf53(0x5be)]:this[_0x11bf53(0x40b)][_0x11bf53(0x5a3)](this[_0x11bf53(0x2cf)][_0x11bf53(0xb3f)],this['_gl'][_0x11bf53(0xb3f)],this[_0x11bf53(0x2cf)][_0x11bf53(0x5d9)],this[_0x11bf53(0x2cf)][_0x11bf53(0xb3f)]),this[_0x11bf53(0x40b)][_0x11bf53(0x659)]=!0x0;break;case _0x1ccb8a['g'][_0x11bf53(0x1f6)]:this[_0x11bf53(0x40b)]['setAlphaBlendFunctionParameters'](this['_gl']['SRC_ALPHA'],this[_0x11bf53(0x2cf)][_0x11bf53(0xb3f)],this[_0x11bf53(0x2cf)][_0x11bf53(0x5d9)],this[_0x11bf53(0x2cf)][_0x11bf53(0xb3f)]),this['_alphaState'][_0x11bf53(0x659)]=!0x0;break;case _0x1ccb8a['g']['ALPHA_SUBTRACT']:this[_0x11bf53(0x40b)]['setAlphaBlendFunctionParameters'](this['_gl']['ZERO'],this['_gl'][_0x11bf53(0xc1c)],this[_0x11bf53(0x2cf)][_0x11bf53(0xb3f)],this[_0x11bf53(0x2cf)][_0x11bf53(0xb3f)]),this[_0x11bf53(0x40b)][_0x11bf53(0x659)]=!0x0;break;case _0x1ccb8a['g'][_0x11bf53(0x366)]:this[_0x11bf53(0x40b)]['setAlphaBlendFunctionParameters'](this[_0x11bf53(0x2cf)]['DST_COLOR'],this[_0x11bf53(0x2cf)][_0x11bf53(0x5d9)],this[_0x11bf53(0x2cf)][_0x11bf53(0xb3f)],this[_0x11bf53(0x2cf)][_0x11bf53(0xb3f)]),this[_0x11bf53(0x40b)][_0x11bf53(0x659)]=!0x0;break;case _0x1ccb8a['g']['ALPHA_MAXIMIZED']:this[_0x11bf53(0x40b)]['setAlphaBlendFunctionParameters'](this['_gl']['SRC_ALPHA'],this[_0x11bf53(0x2cf)][_0x11bf53(0xc1c)],this[_0x11bf53(0x2cf)][_0x11bf53(0xb3f)],this[_0x11bf53(0x2cf)][_0x11bf53(0xb3f)]),this[_0x11bf53(0x40b)]['alphaBlend']=!0x0;break;case _0x1ccb8a['g'][_0x11bf53(0x35a)]:this['_alphaState'][_0x11bf53(0x5a3)](this['_gl'][_0x11bf53(0x6c5)],this[_0x11bf53(0x2cf)][_0x11bf53(0xb37)],this[_0x11bf53(0x2cf)][_0x11bf53(0x8ac)],this[_0x11bf53(0x2cf)][_0x11bf53(0x4c5)]),this['_alphaState']['alphaBlend']=!0x0;break;case _0x1ccb8a['g'][_0x11bf53(0x5c7)]:this['_alphaState']['setAlphaBlendFunctionParameters'](this[_0x11bf53(0x2cf)][_0x11bf53(0xb3f)],this[_0x11bf53(0x2cf)][_0x11bf53(0xc1c)],this[_0x11bf53(0x2cf)][_0x11bf53(0xb3f)],this['_gl'][_0x11bf53(0x7e7)]),this[_0x11bf53(0x40b)][_0x11bf53(0x659)]=!0x0;break;case _0x1ccb8a['g'][_0x11bf53(0xc2c)]:this[_0x11bf53(0x40b)]['setAlphaBlendFunctionParameters'](this[_0x11bf53(0x2cf)]['ONE'],this[_0x11bf53(0x2cf)][_0x11bf53(0xb3f)],this[_0x11bf53(0x2cf)]['ONE'],this[_0x11bf53(0x2cf)][_0x11bf53(0xb3f)]),this[_0x11bf53(0x40b)][_0x11bf53(0x659)]=!0x0;break;case _0x1ccb8a['g'][_0x11bf53(0x17a)]:this[_0x11bf53(0x40b)][_0x11bf53(0x5a3)](this['_gl'][_0x11bf53(0x826)],this[_0x11bf53(0x2cf)][_0x11bf53(0xb3f)],this[_0x11bf53(0x2cf)][_0x11bf53(0x5d9)],this[_0x11bf53(0x2cf)]['ZERO']),this[_0x11bf53(0x40b)]['alphaBlend']=!0x0;break;case _0x1ccb8a['g']['ALPHA_REVERSEONEMINUS']:this[_0x11bf53(0x40b)][_0x11bf53(0x5a3)](this[_0x11bf53(0x2cf)][_0x11bf53(0x7d4)],this['_gl'][_0x11bf53(0xc1c)],this[_0x11bf53(0x2cf)][_0x11bf53(0x342)],this['_gl'][_0x11bf53(0x7e7)]),this[_0x11bf53(0x40b)][_0x11bf53(0x659)]=!0x0;break;case _0x1ccb8a['g'][_0x11bf53(0x389)]:this[_0x11bf53(0x40b)][_0x11bf53(0x5a3)](this[_0x11bf53(0x2cf)][_0x11bf53(0xb3f)],this[_0x11bf53(0x2cf)][_0x11bf53(0x7e7)],this[_0x11bf53(0x2cf)]['ONE'],this[_0x11bf53(0x2cf)][_0x11bf53(0x7e7)]),this['_alphaState'][_0x11bf53(0x659)]=!0x0;break;case _0x1ccb8a['g'][_0x11bf53(0xc3a)]:this['_alphaState'][_0x11bf53(0x5a3)](this['_gl'][_0x11bf53(0xb3f)],this['_gl'][_0x11bf53(0xb3f)],this[_0x11bf53(0x2cf)][_0x11bf53(0xb3f)],this[_0x11bf53(0x2cf)][_0x11bf53(0x5d9)]),this[_0x11bf53(0x40b)][_0x11bf53(0x659)]=!0x0;break;case _0x1ccb8a['g'][_0x11bf53(0xbf5)]:this['_alphaState']['setAlphaBlendFunctionParameters'](this[_0x11bf53(0x2cf)][_0x11bf53(0x7d4)],this[_0x11bf53(0x2cf)]['ONE_MINUS_SRC_COLOR'],this[_0x11bf53(0x2cf)]['ZERO'],this[_0x11bf53(0x2cf)][_0x11bf53(0xb3f)]),this[_0x11bf53(0x40b)][_0x11bf53(0x659)]=!0x0;break;case _0x1ccb8a['g'][_0x11bf53(0x518)]:this['_alphaState'][_0x11bf53(0x5a3)](this['_gl'][_0x11bf53(0xca5)],this['_gl']['ONE_MINUS_SRC_ALPHA'],this[_0x11bf53(0x2cf)]['ONE'],this['_gl'][_0x11bf53(0x7e7)]),this[_0x11bf53(0x40b)][_0x11bf53(0x659)]=!0x0;}_0x530b47||(this['depthCullingState']['depthMask']=_0x44a113===_0x1ccb8a['g'][_0x11bf53(0xb41)]),this['_alphaMode']=_0x44a113;}},_0x2e56c6['B'][_0x3d2af5(0x85a)][_0x3d2af5(0x283)]=function(){var _0x399c06=_0x3d2af5;return this[_0x399c06(0x580)];},_0x2e56c6['B']['prototype'][_0x3d2af5(0xaad)]=function(_0x3c5691){var _0x28c407=_0x3d2af5;if(this[_0x28c407(0xcd9)]!==_0x3c5691){switch(_0x3c5691){case _0x1ccb8a['g']['ALPHA_EQUATION_ADD']:this[_0x28c407(0x40b)][_0x28c407(0x31d)](_0x1ccb8a['g'][_0x28c407(0x96c)],_0x1ccb8a['g'][_0x28c407(0x96c)]);break;case _0x1ccb8a['g'][_0x28c407(0xbc4)]:this[_0x28c407(0x40b)][_0x28c407(0x31d)](_0x1ccb8a['g']['GL_ALPHA_EQUATION_SUBTRACT'],_0x1ccb8a['g'][_0x28c407(0x975)]);break;case _0x1ccb8a['g'][_0x28c407(0x9ac)]:this[_0x28c407(0x40b)]['setAlphaEquationParameters'](_0x1ccb8a['g'][_0x28c407(0x411)],_0x1ccb8a['g'][_0x28c407(0x411)]);break;case _0x1ccb8a['g'][_0x28c407(0x9d3)]:this[_0x28c407(0x40b)][_0x28c407(0x31d)](_0x1ccb8a['g'][_0x28c407(0xd5e)],_0x1ccb8a['g'][_0x28c407(0xd5e)]);break;case _0x1ccb8a['g'][_0x28c407(0x540)]:this[_0x28c407(0x40b)][_0x28c407(0x31d)](_0x1ccb8a['g'][_0x28c407(0xad5)],_0x1ccb8a['g'][_0x28c407(0xad5)]);break;case _0x1ccb8a['g'][_0x28c407(0x3fc)]:this[_0x28c407(0x40b)][_0x28c407(0x31d)](_0x1ccb8a['g'][_0x28c407(0xad5)],_0x1ccb8a['g'][_0x28c407(0x96c)]);}this[_0x28c407(0xcd9)]=_0x3c5691;}},_0x2e56c6['B']['prototype'][_0x3d2af5(0x647)]=function(){var _0x1a1bc3=_0x3d2af5;return this[_0x1a1bc3(0xcd9)];};},0x4dec:(_0x3b9b2c,_0xa4185b,_0x5e29ec)=>{var _0x3e689b=a7_0x425593,_0x4374aa=_0x5e29ec(0x202a),_0x2f2674=_0x5e29ec(0x25b1),_0x5a16f0=_0x5e29ec(0x10ea4),_0x2b912e=_0x5e29ec(0x2560),_0x5dcf6c=_0x5e29ec(0x9f19),_0x4d2cfd=_0x5e29ec(0x77a5);_0x4374aa['B'][_0x3e689b(0x85a)][_0x3e689b(0x992)]=function(_0x522c7f,_0x4c6a94,_0x19844c){var _0x1bb6c0=_0x3e689b;const _0xe7d39d=new _0x2f2674['l'](this,_0x2f2674['S'][_0x1bb6c0(0xa17)]);if(_0xe7d39d['isCube']=!0x0,0x1===this[_0x1bb6c0(0x7c6)])return _0x5a16f0['Y'][_0x1bb6c0(0xcd8)](_0x1bb6c0(0x39b)),_0xe7d39d;var _0x203299=Object['assign']({'bilinearFiltering':!0x1,'comparisonFunction':0x0,'generateStencil':!0x1},_0x4c6a94);const _0x4ae5e2=this[_0x1bb6c0(0x2cf)];this[_0x1bb6c0(0x1e8)](_0x4ae5e2['TEXTURE_CUBE_MAP'],_0xe7d39d,!0x0),this['_setupDepthStencilTexture'](_0xe7d39d,_0x522c7f,_0x203299[_0x1bb6c0(0x5df)],_0x203299[_0x1bb6c0(0x1aa)],_0x203299['comparisonFunction']),_0x19844c[_0x1bb6c0(0xd6d)]=_0xe7d39d,_0x19844c[_0x1bb6c0(0x42d)]=_0x203299[_0x1bb6c0(0x5df)];for(let _0x1b6b9f=0x0;_0x1b6b9f<0x6;_0x1b6b9f++)_0x203299[_0x1bb6c0(0x5df)]?_0x4ae5e2['texImage2D'](_0x4ae5e2['TEXTURE_CUBE_MAP_POSITIVE_X']+_0x1b6b9f,0x0,_0x4ae5e2[_0x1bb6c0(0x3af)],_0x522c7f,_0x522c7f,0x0,_0x4ae5e2[_0x1bb6c0(0x4e0)],_0x4ae5e2['UNSIGNED_INT_24_8'],null):_0x4ae5e2[_0x1bb6c0(0xcb0)](_0x4ae5e2[_0x1bb6c0(0x43d)]+_0x1b6b9f,0x0,_0x4ae5e2['DEPTH_COMPONENT24'],_0x522c7f,_0x522c7f,0x0,_0x4ae5e2[_0x1bb6c0(0x732)],_0x4ae5e2[_0x1bb6c0(0x2fa)],null);return this[_0x1bb6c0(0x1e8)](_0x4ae5e2['TEXTURE_CUBE_MAP'],null),this[_0x1bb6c0(0xd27)][_0x1bb6c0(0x303)](_0xe7d39d),_0xe7d39d;},_0x4374aa['B'][_0x3e689b(0x85a)][_0x3e689b(0x38a)]=function(_0x37a0ed,_0x407400,_0x3461c8,_0x353815,_0xc36b03=null){var _0x394ce4=_0x3e689b;this[_0x394ce4(0x2e7)](_0x37a0ed,_0x23b1df=>{var _0x4af233=_0x394ce4;_0x3461c8[_0x407400]=_0x23b1df,_0x3461c8[_0x4af233(0xb7f)]++,0x6===_0x3461c8['_internalCount']&&_0x353815(_0x3461c8);},void 0x0,void 0x0,!0x0,(_0x3d8039,_0x4b06d5)=>{var _0x2906d1=_0x394ce4;_0xc36b03&&_0x3d8039&&_0xc36b03(_0x3d8039[_0x2906d1(0x68a)]+'\x20'+_0x3d8039[_0x2906d1(0x9c4)],_0x4b06d5);});},_0x4374aa['B'][_0x3e689b(0x85a)][_0x3e689b(0x405)]=function(_0x47a51f,_0x8ad5d,_0x34c0b0,_0x42dc1c=null){var _0x417b5f=_0x3e689b;const _0x53da70=[];for(let _0x53e62c=_0x53da70[_0x417b5f(0xb7f)]=0x0;_0x53e62c<0x6;_0x53e62c++)this['_partialLoadFile'](_0x34c0b0[_0x53e62c],_0x53e62c,_0x53da70,_0x8ad5d,_0x42dc1c);},_0x4374aa['B'][_0x3e689b(0x85a)][_0x3e689b(0x962)]=function(_0x28b941,_0x4d2e46,_0x482ad6,_0x53745b,_0x1c08db=null,_0x5bf705){var _0x567bec=_0x3e689b;const _0x29fbbe=[];for(let _0x372a18=_0x29fbbe[_0x567bec(0xb7f)]=0x0;_0x372a18<0x6;_0x372a18++)this[_0x567bec(0x20c)](_0x53745b[_0x372a18],_0x372a18,_0x29fbbe,_0x28b941,_0x4d2e46,_0x482ad6,_0x1c08db,_0x5bf705);},_0x4374aa['B'][_0x3e689b(0x85a)]['_partialLoadImg']=function(_0xe8c407,_0x499484,_0x4d53eb,_0x47d5c4,_0x5af794,_0x437c8c,_0x596361=null,_0x7afebf){var _0x36eb51=_0x3e689b;const _0x5535eb=(0x0,_0x5dcf6c['f'])();(0x0,_0x2b912e['r6'])(_0xe8c407,_0x104099=>{var _0x3ed1f7=a7_0x5572;_0x4d53eb[_0x499484]=_0x104099,_0x4d53eb[_0x3ed1f7(0xb7f)]++,_0x47d5c4&&_0x47d5c4[_0x3ed1f7(0xac1)](_0x5535eb),0x6===_0x4d53eb[_0x3ed1f7(0xb7f)]&&_0x437c8c&&_0x437c8c(_0x5af794,_0x4d53eb);},(_0x3c58d5,_0x4a5765)=>{var _0xd5a311=a7_0x5572;_0x47d5c4&&_0x47d5c4[_0xd5a311(0xac1)](_0x5535eb),_0x596361&&_0x596361(_0x3c58d5,_0x4a5765);},_0x47d5c4?_0x47d5c4[_0x36eb51(0x869)]:null,_0x7afebf),_0x47d5c4&&_0x47d5c4[_0x36eb51(0x53c)](_0x5535eb);},_0x4374aa['B']['prototype'][_0x3e689b(0x7bb)]=function(_0x17ceaa,_0x13318a,_0x359ed6){var _0x6e42d7=_0x3e689b;const _0x3f2ff7=this[_0x6e42d7(0x2cf)];_0x3f2ff7[_0x6e42d7(0x94d)](_0x3f2ff7[_0x6e42d7(0x8b3)],_0x3f2ff7[_0x6e42d7(0x274)],_0x3f2ff7[_0x6e42d7(0xb1a)]),_0x3f2ff7[_0x6e42d7(0x94d)](_0x3f2ff7[_0x6e42d7(0x8b3)],_0x3f2ff7['TEXTURE_MIN_FILTER'],_0x13318a?_0x3f2ff7[_0x6e42d7(0x72b)]:_0x3f2ff7[_0x6e42d7(0xb1a)]),_0x3f2ff7['texParameteri'](_0x3f2ff7[_0x6e42d7(0x8b3)],_0x3f2ff7[_0x6e42d7(0x44b)],_0x3f2ff7[_0x6e42d7(0x8b4)]),_0x3f2ff7[_0x6e42d7(0x94d)](_0x3f2ff7[_0x6e42d7(0x8b3)],_0x3f2ff7[_0x6e42d7(0x1ff)],_0x3f2ff7[_0x6e42d7(0x8b4)]),_0x17ceaa[_0x6e42d7(0x1b4)]=_0x13318a?_0x4d2cfd['g'][_0x6e42d7(0x19f)]:_0x4d2cfd['g'][_0x6e42d7(0x66b)],_0x13318a&&this[_0x6e42d7(0xa51)]()['textureMaxLevel']&&void 0x0!==_0x359ed6&&0x0<_0x359ed6&&(_0x3f2ff7[_0x6e42d7(0x94d)](_0x3f2ff7[_0x6e42d7(0x8b3)],_0x3f2ff7[_0x6e42d7(0xca9)],_0x359ed6),_0x17ceaa['_maxLodLevel']=_0x359ed6),this[_0x6e42d7(0x1e8)](_0x3f2ff7[_0x6e42d7(0x8b3)],null);},_0x4374aa['B'][_0x3e689b(0x85a)][_0x3e689b(0x7c3)]=function(_0x4f77d1,_0x3a04d3,_0x1ba8fc,_0x3c69fa,_0x6537f9=null,_0x39e3c2=null,_0xd7d2b7,_0x4c0bc4=null,_0x1439e0=!0x1,_0x5b47d2=0x0,_0x1799ba=0x0,_0x39748f=null,_0x4d95fb=null,_0x3db625=null,_0x1c5772=!0x1){var _0x3ab1b0=_0x3e689b;const _0x40b1aa=_0x39748f||new _0x2f2674['l'](this,_0x2f2674['S'][_0x3ab1b0(0x9d8)]),_0x2f903c=(_0x40b1aa[_0x3ab1b0(0x5ca)]=!0x0,_0x40b1aa[_0x3ab1b0(0x75c)]=_0x4f77d1,_0x40b1aa[_0x3ab1b0(0x8ed)]=!_0x3c69fa,_0x40b1aa['_lodGenerationScale']=_0x5b47d2,_0x40b1aa['_lodGenerationOffset']=_0x1799ba,_0x40b1aa[_0x3ab1b0(0x3ee)]=!!_0x1c5772&&this['_caps']['supportSRGBBuffers']&&(0x1<this[_0x3ab1b0(0x7c6)]||this[_0x3ab1b0(0x528)]||!!_0x3c69fa),_0x40b1aa!==_0x39748f&&(_0x40b1aa['label']=_0x4f77d1['substring'](0x0,0x3c)),this['_doNotHandleContextLost']||(_0x40b1aa['_extension']=_0x4c0bc4,_0x40b1aa['_files']=_0x1ba8fc),_0x4f77d1),_0x174613=(_0x4f77d1=this[_0x3ab1b0(0xcf1)]&&!_0x39748f?this[_0x3ab1b0(0xcf1)](_0x4f77d1):_0x4f77d1)[_0x3ab1b0(0x9de)]('?')[0x0];var _0x39748f=_0x174613[_0x3ab1b0(0x894)]('.'),_0x47a4db=_0x4c0bc4||(-0x1<_0x39748f?_0x174613[_0x3ab1b0(0x5e0)](_0x39748f)['toLowerCase']():'');let _0x36c1a4=null;for(const _0x35a6e3 of _0x4374aa['B'][_0x3ab1b0(0xc12)])if(_0x35a6e3[_0x3ab1b0(0x559)](_0x47a4db)){_0x36c1a4=_0x35a6e3;break;}_0x39748f=(_0x4b7b04,_0x46a6ac)=>{var _0x2d5ef7=_0x3ab1b0;_0x4f77d1===_0x2f903c?_0x39e3c2&&_0x4b7b04&&_0x39e3c2(_0x4b7b04[_0x2d5ef7(0x68a)]+'\x20'+_0x4b7b04['statusText'],_0x46a6ac):(_0x5a16f0['Y']['Warn'](_0x2d5ef7(0x790)+_0x4f77d1+_0x2d5ef7(0x260)+_0x2f903c),this[_0x2d5ef7(0x7c3)](_0x2f903c,_0x3a04d3,_0x1ba8fc,!!_0x3c69fa,_0x6537f9,_0x39e3c2,_0xd7d2b7,_0x4c0bc4,_0x1439e0,_0x5b47d2,_0x1799ba,_0x40b1aa,_0x4d95fb,_0x3db625,_0x1c5772));};if(_0x36c1a4){const _0x179aa0=_0x3c818c=>{var _0xa3511b=_0x3ab1b0;_0x4d95fb&&_0x4d95fb(_0x40b1aa,_0x3c818c),_0x36c1a4[_0xa3511b(0xbf1)](_0x3c818c,_0x40b1aa,_0x1439e0,_0x6537f9,_0x39e3c2);};_0x1ba8fc&&0x6===_0x1ba8fc[_0x3ab1b0(0x86e)]?_0x36c1a4['supportCascades']?this['_cascadeLoadFiles'](_0x3a04d3,_0x21426d=>_0x179aa0(_0x21426d['map'](_0x32254=>new Uint8Array(_0x32254))),_0x1ba8fc,_0x39e3c2):_0x39e3c2?_0x39e3c2(_0x3ab1b0(0x64a)):_0x5a16f0['Y']['Warn']('Texture\x20loader\x20does\x20not\x20support\x20cascades.'):this[_0x3ab1b0(0x2e7)](_0x4f77d1,_0x373b57=>_0x179aa0(new Uint8Array(_0x373b57)),void 0x0,void 0x0,!0x0,_0x39748f);}else{if(!_0x1ba8fc)throw new Error(_0x3ab1b0(0x952));this[_0x3ab1b0(0x962)](_0x3a04d3,_0x40b1aa,(_0x50e90b,_0x5b6742)=>{_0x3db625&&_0x3db625(_0x50e90b,_0x5b6742);},_0x1ba8fc,_0x39e3c2);}return this[_0x3ab1b0(0xd27)]['push'](_0x40b1aa),_0x40b1aa;},_0x4374aa['B'][_0x3e689b(0x85a)][_0x3e689b(0xc06)]=function(_0x180137,_0x1ecd7d,_0x443e20,_0xe8ad2,_0x1e1b85=null,_0xb288ce=null,_0x35bcde,_0x1601f1=null,_0x2a24ee=!0x1,_0x20906b=0x0,_0x314319=0x0,_0x5180ca=null,_0x39d917,_0x2dcf05=!0x1){var _0x2cb03b=_0x3e689b;const _0x2ed76a=this['_gl'];return this['createCubeTextureBase'](_0x180137,_0x1ecd7d,_0x443e20,!!_0xe8ad2,_0x1e1b85,_0xb288ce,_0x35bcde,_0x1601f1,_0x2a24ee,_0x20906b,_0x314319,_0x5180ca,_0x1a0a4e=>this['_bindTextureDirectly'](_0x2ed76a[_0x2cb03b(0x8b3)],_0x1a0a4e,!0x0),(_0x34ed6b,_0x12b877)=>{var _0x5de959=_0x2cb03b,_0x38c7a4=this[_0x5de959(0xbdc)]?_0x4374aa['B'][_0x5de959(0x6ab)](_0x12b877[0x0][_0x5de959(0x639)],this[_0x5de959(0xd61)][_0x5de959(0x1f3)]):_0x12b877[0x0][_0x5de959(0x639)],_0x5226a9=_0x38c7a4,_0x117bbc=[_0x2ed76a['TEXTURE_CUBE_MAP_POSITIVE_X'],_0x2ed76a[_0x5de959(0x766)],_0x2ed76a[_0x5de959(0x3fb)],_0x2ed76a[_0x5de959(0xd0e)],_0x2ed76a[_0x5de959(0x765)],_0x2ed76a[_0x5de959(0xa5b)]],_0x46482c=(this['_bindTextureDirectly'](_0x2ed76a[_0x5de959(0x8b3)],_0x34ed6b,!0x0),this[_0x5de959(0x2bd)](!0x1),_0x35bcde?this[_0x5de959(0x7ee)](_0x35bcde,_0x34ed6b[_0x5de959(0x3ee)]):_0x34ed6b[_0x5de959(0x3ee)]?this[_0x5de959(0x437)]['SRGB8_ALPHA8']:_0x2ed76a['RGBA']);let _0x2175ca=_0x35bcde?this[_0x5de959(0x7ee)](_0x35bcde):_0x2ed76a[_0x5de959(0xb1b)];_0x34ed6b['_useSRGBBuffer']&&0x1===this['webGLVersion']&&(_0x2175ca=_0x46482c);for(let _0x1de761=0x0;_0x1de761<_0x117bbc[_0x5de959(0x86e)];_0x1de761++)if(_0x12b877[_0x1de761]['width']!==_0x38c7a4||_0x12b877[_0x1de761][_0x5de959(0x690)]!==_0x5226a9){if(this[_0x5de959(0x32b)](),!this['_workingCanvas']||!this[_0x5de959(0x4be)])return void _0x5a16f0['Y'][_0x5de959(0xcb2)](_0x5de959(0x502));this[_0x5de959(0x315)]['width']=_0x38c7a4,this[_0x5de959(0x315)][_0x5de959(0x690)]=_0x5226a9,this[_0x5de959(0x4be)][_0x5de959(0x9b3)](_0x12b877[_0x1de761],0x0,0x0,_0x12b877[_0x1de761][_0x5de959(0x639)],_0x12b877[_0x1de761][_0x5de959(0x690)],0x0,0x0,_0x38c7a4,_0x5226a9),_0x2ed76a[_0x5de959(0xcb0)](_0x117bbc[_0x1de761],0x0,_0x46482c,_0x2175ca,_0x2ed76a['UNSIGNED_BYTE'],this[_0x5de959(0x315)]);}else _0x2ed76a[_0x5de959(0xcb0)](_0x117bbc[_0x1de761],0x0,_0x46482c,_0x2175ca,_0x2ed76a[_0x5de959(0x7fa)],_0x12b877[_0x1de761]);_0xe8ad2||_0x2ed76a[_0x5de959(0x803)](_0x2ed76a[_0x5de959(0x8b3)]),this[_0x5de959(0x7bb)](_0x34ed6b,!_0xe8ad2),_0x34ed6b[_0x5de959(0x639)]=_0x38c7a4,_0x34ed6b[_0x5de959(0x690)]=_0x5226a9,_0x34ed6b['isReady']=!0x0,_0x35bcde&&(_0x34ed6b[_0x5de959(0x1a4)]=_0x35bcde),_0x34ed6b[_0x5de959(0x6d3)][_0x5de959(0x794)](_0x34ed6b),_0x34ed6b[_0x5de959(0x6d3)][_0x5de959(0xb1c)](),_0x1e1b85&&_0x1e1b85();},!!_0x2dcf05);};},0x1410a:(_0x163354,_0xa9a75b,_0x5d9808)=>{var _0x14c8b2=a7_0x425593;_0x5d9808=_0x5d9808(0x202a),(_0x5d9808['B'][_0x14c8b2(0x85a)][_0x14c8b2(0x188)]=function(_0x37b49d,_0x44d0da){},_0x5d9808['B'][_0x14c8b2(0x85a)]['_debugPopGroup']=function(_0x2026c5){},_0x5d9808['B'][_0x14c8b2(0x85a)][_0x14c8b2(0xb56)]=function(_0x413bc2,_0x26e868){},_0x5d9808['B']['prototype'][_0x14c8b2(0x5c9)]=function(){});},0x13479:(_0x5772f6,_0x52a32e,_0x17388a)=>{var _0x5cd8e0=a7_0x425593;_0x17388a=_0x17388a(0x202a),(_0x17388a['B'][_0x5cd8e0(0x85a)]['updateDynamicIndexBuffer']=function(_0xded13,_0x2303a4,_0x47dc07=0x0){var _0x55b22c=_0x5cd8e0;this[_0x55b22c(0xa89)][this['_gl'][_0x55b22c(0x508)]]=null,this['bindIndexBuffer'](_0xded13),_0xded13=_0x2303a4 instanceof Uint16Array||_0x2303a4 instanceof Uint32Array?_0x2303a4:new(_0xded13[(_0x55b22c(0xba0))]?Uint32Array:Uint16Array)(_0x2303a4),this[_0x55b22c(0x2cf)][_0x55b22c(0xbe9)](this[_0x55b22c(0x2cf)]['ELEMENT_ARRAY_BUFFER'],_0x47dc07,_0xded13),this[_0x55b22c(0x8eb)]();},_0x17388a['B'][_0x5cd8e0(0x85a)][_0x5cd8e0(0x5c8)]=function(_0x5b4d4c,_0x1b2804,_0x26fe38,_0x1e3705){var _0x1e14fb=_0x5cd8e0;this[_0x1e14fb(0x1c9)](_0x5b4d4c),void 0x0===_0x26fe38&&(_0x26fe38=0x0),_0x5b4d4c=_0x1b2804[_0x1e14fb(0x3e3)]||_0x1b2804[_0x1e14fb(0x86e)],(void 0x0===_0x1e3705||_0x5b4d4c<=_0x1e3705&&0x0===_0x26fe38?_0x1b2804 instanceof Array?this[_0x1e14fb(0x2cf)][_0x1e14fb(0xbe9)](this[_0x1e14fb(0x2cf)][_0x1e14fb(0x78a)],_0x26fe38,new Float32Array(_0x1b2804)):this[_0x1e14fb(0x2cf)][_0x1e14fb(0xbe9)](this['_gl']['ARRAY_BUFFER'],_0x26fe38,_0x1b2804):_0x1b2804 instanceof Array?this[_0x1e14fb(0x2cf)][_0x1e14fb(0xbe9)](this['_gl']['ARRAY_BUFFER'],0x0,new Float32Array(_0x1b2804)[_0x1e14fb(0x521)](_0x26fe38,_0x26fe38+_0x1e3705)):(_0x1b2804=_0x1b2804 instanceof ArrayBuffer?new Uint8Array(_0x1b2804,_0x26fe38,_0x1e3705):new Uint8Array(_0x1b2804[_0x1e14fb(0x7da)],_0x1b2804[_0x1e14fb(0x2b4)]+_0x26fe38,_0x1e3705),this[_0x1e14fb(0x2cf)][_0x1e14fb(0xbe9)](this[_0x1e14fb(0x2cf)][_0x1e14fb(0x78a)],0x0,_0x1b2804)),this[_0x1e14fb(0xc2d)]());});},0xecbf:(_0x490d85,_0x1c78e5,_0x2a710d)=>{var _0x18d6f5=a7_0x425593,_0x2e93be=_0x2a710d(0x202a),_0x5ded3f=_0x2a710d(0x25b1);_0x2e93be['B']['prototype'][_0x18d6f5(0x56e)]=function(_0x19274c,_0x4c8880,_0x4cd81d,_0x4c1594){var _0x235ebc=_0x18d6f5;const _0x58489d=new _0x5ded3f['l'](this,_0x5ded3f['S'][_0x235ebc(0x6d0)]);return _0x58489d[_0x235ebc(0x5d6)]=_0x19274c,_0x58489d[_0x235ebc(0x924)]=_0x4c8880,_0x4cd81d&&(_0x19274c=this[_0x235ebc(0xbdc)]?_0x2e93be['B']['GetExponentOfTwo'](_0x19274c,this[_0x235ebc(0xd61)][_0x235ebc(0x74e)]):_0x19274c,_0x4c8880=this[_0x235ebc(0xbdc)]?_0x2e93be['B'][_0x235ebc(0x6ab)](_0x4c8880,this['_caps']['maxTextureSize']):_0x4c8880),_0x58489d[_0x235ebc(0x639)]=_0x19274c,_0x58489d[_0x235ebc(0x690)]=_0x4c8880,_0x58489d[_0x235ebc(0x21c)]=!0x1,_0x58489d[_0x235ebc(0x8ed)]=_0x4cd81d,_0x58489d['samplingMode']=_0x4c1594,this[_0x235ebc(0x402)](_0x4c1594,_0x58489d),this['_internalTexturesCache'][_0x235ebc(0x303)](_0x58489d),_0x58489d;},_0x2e93be['B'][_0x18d6f5(0x85a)][_0x18d6f5(0xb12)]=function(_0x37f2da,_0x316ef5,_0x3e178f,_0x24631b=!0x1,_0x34f274,_0xa0dcd8=!0x1,_0xe1859f){var _0x19d332=_0x18d6f5;if(_0x37f2da){const _0x599a7c=this[_0x19d332(0x2cf)];var _0xdb4812=_0x599a7c[_0x19d332(0x419)],_0xa0dcd8=this[_0x19d332(0x1e8)](_0xdb4812,_0x37f2da,!0x0,_0xa0dcd8),_0x3e178f=(this[_0x19d332(0x2bd)](void 0x0===_0x3e178f?_0x37f2da['invertY']:_0x3e178f),_0x24631b&&_0x599a7c[_0x19d332(0xc34)](_0x599a7c[_0x19d332(0x83b)],0x1),this['_getWebGLTextureType'](_0x37f2da[_0x19d332(0x395)])),_0x34f274=this['_getInternalFormat'](_0x34f274||_0x37f2da[_0x19d332(0x1a4)]),_0x135d2a=this[_0x19d332(0x9be)](_0x37f2da[_0x19d332(0x395)],_0x34f274);_0x599a7c[_0x19d332(0xcb0)](_0xdb4812,0x0,_0x135d2a,_0x34f274,_0x3e178f,_0x316ef5),_0x37f2da[_0x19d332(0x8ed)]&&_0x599a7c[_0x19d332(0x803)](_0xdb4812),_0xa0dcd8||this[_0x19d332(0x1e8)](_0xdb4812,null),_0x24631b&&_0x599a7c['pixelStorei'](_0x599a7c[_0x19d332(0x83b)],0x0),_0x37f2da[_0x19d332(0x21c)]=!0x0;}};},0x64df:(_0x407cbd,_0x58a11b,_0x593a9f)=>{var _0x59d841=a7_0x425593;_0x593a9f=_0x593a9f(0x202a),(_0x593a9f['B']['prototype'][_0x59d841(0x6f7)]=function(_0x76ccc2){return null;},_0x593a9f['B']['prototype'][_0x59d841(0xb66)]=function(_0x1195a4,_0x4a1c1d){var _0x282ec7=_0x59d841;throw new Error(_0x282ec7(0x58c));});},0x39f0:(_0x11bec1,_0x169d5f,_0x49bd06)=>{var _0x6b4679=a7_0x425593,_0x40a543=_0x49bd06(0x25b1),_0x55740a=_0x49bd06(0x10ea4),_0x5a47a8=_0x49bd06(0x77a5),_0x49bd06=_0x49bd06(0x202a);_0x49bd06['B'][_0x6b4679(0x85a)][_0x6b4679(0xbda)]=function(){var _0x34d972=_0x6b4679,_0x3f01e0=this[_0x34d972(0x2cf)];this[_0x34d972(0x2dc)]([_0x3f01e0[_0x34d972(0x714)]]);},_0x49bd06['B'][_0x6b4679(0x85a)][_0x6b4679(0x3e1)]=function(){var _0x1cdeb1=_0x6b4679,_0x2f9d6c=this['_gl'];this[_0x1cdeb1(0x2dc)]([_0x2f9d6c['COLOR_ATTACHMENT0']]);},_0x49bd06['B'][_0x6b4679(0x85a)]['buildTextureLayout']=function(_0x5327b0){var _0x83dda9=_0x6b4679,_0x93adad=this['_gl'];const _0x3c2200=[];for(let _0x175cb7=0x0;_0x175cb7<_0x5327b0[_0x83dda9(0x86e)];_0x175cb7++)_0x5327b0[_0x175cb7]?_0x3c2200[_0x83dda9(0x303)](_0x93adad[_0x83dda9(0xb22)+_0x175cb7]):_0x3c2200[_0x83dda9(0x303)](_0x93adad[_0x83dda9(0x9f5)]);return _0x3c2200;},_0x49bd06['B'][_0x6b4679(0x85a)][_0x6b4679(0x2dc)]=function(_0x4e39db){var _0x24a4ec=_0x6b4679;const _0x4aada8=this[_0x24a4ec(0x2cf)];_0x4aada8[_0x24a4ec(0x993)](_0x4e39db);},_0x49bd06['B'][_0x6b4679(0x85a)][_0x6b4679(0x318)]=function(_0x125f35,_0x544288=!0x1,_0x436e82){var _0x57d381=_0x6b4679;this[_0x57d381(0x217)]=null;const _0x969ab7=this[_0x57d381(0x2cf)],_0x11634d=_0x125f35[_0x57d381(0x3f1)];var _0x2d1fc8=_0x11634d['length'];if(_0x125f35[_0x57d381(0x692)]){_0x969ab7[_0x57d381(0xb8a)](_0x969ab7[_0x57d381(0x436)],_0x125f35[_0x57d381(0x692)]),_0x969ab7[_0x57d381(0xb8a)](_0x969ab7['DRAW_FRAMEBUFFER'],_0x125f35[_0x57d381(0x1bb)]);for(let _0x2905d6=0x0;_0x2905d6<_0x2d1fc8;_0x2905d6++){var _0x5e3bbc=_0x125f35[_0x57d381(0x649)][_0x2905d6];for(let _0xfda40=0x0;_0xfda40<_0x2d1fc8;_0xfda40++)_0x11634d[_0xfda40]=_0x969ab7['NONE'];_0x11634d[_0x2905d6]=_0x969ab7[0x1<this[_0x57d381(0x7c6)]?_0x57d381(0xb22)+_0x2905d6:_0x57d381(0xb22)+_0x2905d6+_0x57d381(0x494)],_0x969ab7[_0x57d381(0x526)](_0x11634d[_0x2905d6]),_0x969ab7[_0x57d381(0x993)](_0x11634d),_0x969ab7[_0x57d381(0xb89)](0x0,0x0,_0x5e3bbc['width'],_0x5e3bbc[_0x57d381(0x690)],0x0,0x0,_0x5e3bbc[_0x57d381(0x639)],_0x5e3bbc['height'],_0x969ab7['COLOR_BUFFER_BIT'],_0x969ab7[_0x57d381(0xb48)]);}for(let _0x33165b=0x0;_0x33165b<_0x2d1fc8;_0x33165b++)_0x11634d[_0x33165b]=_0x969ab7[0x1<this[_0x57d381(0x7c6)]?_0x57d381(0xb22)+_0x33165b:_0x57d381(0xb22)+_0x33165b+'_WEBGL'];_0x969ab7[_0x57d381(0x993)](_0x11634d);}for(let _0x10f4fc=0x0;_0x10f4fc<_0x2d1fc8;_0x10f4fc++){var _0x4842ef=_0x125f35[_0x57d381(0x649)][_0x10f4fc];null==_0x4842ef||!_0x4842ef[_0x57d381(0x8ed)]||_0x544288||_0x4842ef[_0x57d381(0x5ca)]||(this[_0x57d381(0x1e8)](_0x969ab7[_0x57d381(0x419)],_0x4842ef,!0x0),_0x969ab7[_0x57d381(0x803)](_0x969ab7['TEXTURE_2D']),this[_0x57d381(0x1e8)](_0x969ab7['TEXTURE_2D'],null));}_0x436e82&&(_0x125f35[_0x57d381(0x692)]&&this[_0x57d381(0x949)](_0x125f35[_0x57d381(0x1bb)]),_0x436e82()),this['_bindUnboundFramebuffer'](null);},_0x49bd06['B'][_0x6b4679(0x85a)][_0x6b4679(0x815)]=function(_0x5b18c0,_0x51add8,_0x3a7730=!0x0){var _0x5a3f7b=_0x6b4679;let _0x327678=!0x1,_0x3fd3ac=!0x0,_0x502a77=!0x1,_0x57dee8=!0x1,_0x56d202=_0x5a47a8['g'][_0x5a3f7b(0xb46)],_0x58fe3e=0x1;var _0x5db1a9=_0x5a47a8['g'][_0x5a3f7b(0xd0a)],_0x1b1a35=_0x5a47a8['g'][_0x5a3f7b(0x19f)],_0x2f4411=_0x5a47a8['g'][_0x5a3f7b(0x7a9)],_0x1472a3=_0x5a47a8['g'][_0x5a3f7b(0x419)];let _0xc8dd2c=new Array(),_0x18db4e=new Array(),_0x4a67b6=new Array(),_0x43d507=new Array(),_0x1ee610=new Array(),_0x27b228=new Array(),_0xf9bce4=new Array(),_0x4a6c0b=new Array();const _0x4734db=this[_0x5a3f7b(0x90e)](!0x0,!0x1,_0x5b18c0),_0x193810=(void 0x0!==_0x51add8&&(_0x327678=void 0x0!==_0x51add8[_0x5a3f7b(0x8ed)]&&_0x51add8[_0x5a3f7b(0x8ed)],_0x3fd3ac=void 0x0===_0x51add8[_0x5a3f7b(0xcb4)]||_0x51add8[_0x5a3f7b(0xcb4)],_0x502a77=void 0x0!==_0x51add8['generateStencilBuffer']&&_0x51add8[_0x5a3f7b(0x2eb)],_0x57dee8=void 0x0!==_0x51add8[_0x5a3f7b(0x609)]&&_0x51add8['generateDepthTexture'],_0x58fe3e=_0x51add8[_0x5a3f7b(0x71f)]||0x1,_0x51add8[_0x5a3f7b(0xaa0)]&&(_0xc8dd2c=_0x51add8[_0x5a3f7b(0xaa0)]),_0x51add8[_0x5a3f7b(0x77f)]&&(_0x18db4e=_0x51add8['samplingModes']),_0x51add8[_0x5a3f7b(0xc14)]&&(_0x4a67b6=_0x51add8['useSRGBBuffers']),_0x51add8[_0x5a3f7b(0xb8d)]&&(_0x43d507=_0x51add8[_0x5a3f7b(0xb8d)]),_0x51add8['targetTypes']&&(_0x1ee610=_0x51add8[_0x5a3f7b(0x418)]),_0x51add8['faceIndex']&&(_0x27b228=_0x51add8[_0x5a3f7b(0xcdb)]),_0x51add8[_0x5a3f7b(0x16d)]&&(_0xf9bce4=_0x51add8[_0x5a3f7b(0x16d)]),_0x51add8['layerCounts']&&(_0x4a6c0b=_0x51add8[_0x5a3f7b(0x53d)]),0x1<this[_0x5a3f7b(0x7c6)]&&(_0x51add8[_0x5a3f7b(0xc32)]===_0x5a47a8['g'][_0x5a3f7b(0x9e7)]||_0x51add8[_0x5a3f7b(0xc32)]===_0x5a47a8['g']['TEXTUREFORMAT_DEPTH24UNORM_STENCIL8']||_0x51add8[_0x5a3f7b(0xc32)]===_0x5a47a8['g']['TEXTUREFORMAT_DEPTH24']||_0x51add8[_0x5a3f7b(0xc32)]===_0x5a47a8['g']['TEXTUREFORMAT_DEPTH32_FLOAT']||_0x51add8[_0x5a3f7b(0xc32)]===_0x5a47a8['g'][_0x5a3f7b(0x6c1)])&&(_0x56d202=_0x51add8['depthTextureFormat'])),this[_0x5a3f7b(0x2cf)]);var _0x17fe93=_0x193810['createFramebuffer'](),_0x2fda29=(this[_0x5a3f7b(0x949)](_0x17fe93),_0x5b18c0[_0x5a3f7b(0x639)]||_0x5b18c0),_0x43c6db=_0x5b18c0[_0x5a3f7b(0x690)]||_0x5b18c0;const _0x19c1c1=[],_0x37e710=[];_0x5b18c0=0x1<this['webGLVersion']&&_0x57dee8&&(_0x51add8[_0x5a3f7b(0xc32)]===_0x5a47a8['g'][_0x5a3f7b(0x9e7)]||_0x51add8[_0x5a3f7b(0xc32)]===_0x5a47a8['g'][_0x5a3f7b(0x384)]||_0x51add8[_0x5a3f7b(0xc32)]===_0x5a47a8['g']['TEXTUREFORMAT_DEPTH32FLOAT_STENCIL8']),_0x51add8=this['_setupFramebufferDepthAttachments'](!_0x5b18c0&&_0x502a77,!_0x57dee8&&_0x3fd3ac,_0x2fda29,_0x43c6db),(_0x4734db['_framebuffer']=_0x17fe93,_0x4734db[_0x5a3f7b(0x7e5)]=_0x51add8,_0x4734db[_0x5a3f7b(0x275)]=!_0x57dee8&&_0x3fd3ac,_0x4734db[_0x5a3f7b(0x5e6)]=!_0x5b18c0&&_0x502a77,_0x4734db[_0x5a3f7b(0x3f1)]=_0x37e710);for(let _0x2e6da9=0x0;_0x2e6da9<_0x58fe3e;_0x2e6da9++){let _0x6455ea=_0x18db4e[_0x2e6da9]||_0x1b1a35,_0x50c3e3=_0xc8dd2c[_0x2e6da9]||_0x5db1a9;var _0x14557f=_0x4a67b6[_0x2e6da9]||!0x1,_0x587d72=_0x43d507[_0x2e6da9]||_0x2f4411,_0x18e6c9=_0x1ee610[_0x2e6da9]||_0x1472a3,_0x187da2=null!=(_0x187da2=_0x4a6c0b[_0x2e6da9])?_0x187da2:0x1,_0x1221d3=((_0x50c3e3===_0x5a47a8['g'][_0x5a3f7b(0x937)]&&!this['_caps'][_0x5a3f7b(0x6f2)]||_0x50c3e3===_0x5a47a8['g']['TEXTURETYPE_HALF_FLOAT']&&!this[_0x5a3f7b(0xd61)][_0x5a3f7b(0xa83)])&&(_0x6455ea=_0x5a47a8['g'][_0x5a3f7b(0x97f)]),this[_0x5a3f7b(0xb59)](_0x6455ea,_0x327678)),_0x443e98=(_0x50c3e3!==_0x5a47a8['g']['TEXTURETYPE_FLOAT']||this[_0x5a3f7b(0xd61)][_0x5a3f7b(0x4dd)]||(_0x50c3e3=_0x5a47a8['g']['TEXTURETYPE_UNSIGNED_INT'],_0x55740a['Y'][_0x5a3f7b(0xcb2)](_0x5a3f7b(0xb75))),_0x14557f=_0x14557f&&this[_0x5a3f7b(0xd61)][_0x5a3f7b(0x4cc)]&&(0x1<this[_0x5a3f7b(0x7c6)]||this[_0x5a3f7b(0x528)]),0x1<this[_0x5a3f7b(0x7c6)]),_0x17833b=_0x193810[_0x443e98?_0x5a3f7b(0xb22)+_0x2e6da9:'COLOR_ATTACHMENT'+_0x2e6da9+_0x5a3f7b(0x494)];if(_0x37e710[_0x5a3f7b(0x303)](_0x17833b),-0x1!==_0x18e6c9){const _0x3df5dc=new _0x40a543['l'](this,_0x40a543['S'][_0x5a3f7b(0x280)]);_0x19c1c1[_0x2e6da9]=_0x3df5dc,_0x193810[_0x5a3f7b(0x63b)](_0x193810[_0x5a3f7b(0x8af)+_0x2e6da9]),_0x193810[_0x5a3f7b(0x585)](_0x18e6c9,_0x3df5dc['_hardwareTexture'][_0x5a3f7b(0x51e)]),_0x193810[_0x5a3f7b(0x94d)](_0x18e6c9,_0x193810[_0x5a3f7b(0x274)],_0x1221d3[_0x5a3f7b(0x640)]),_0x193810[_0x5a3f7b(0x94d)](_0x18e6c9,_0x193810[_0x5a3f7b(0x700)],_0x1221d3[_0x5a3f7b(0x951)]),_0x193810[_0x5a3f7b(0x94d)](_0x18e6c9,_0x193810[_0x5a3f7b(0x44b)],_0x193810[_0x5a3f7b(0x8b4)]),_0x193810[_0x5a3f7b(0x94d)](_0x18e6c9,_0x193810[_0x5a3f7b(0x1ff)],_0x193810[_0x5a3f7b(0x8b4)]);var _0x571fef=this[_0x5a3f7b(0x9be)](_0x50c3e3,_0x587d72,_0x14557f),_0x465c76=this[_0x5a3f7b(0x7ee)](_0x587d72),_0x14dc26=this[_0x5a3f7b(0x2e6)](_0x50c3e3);if(!_0x443e98||_0x18e6c9!==_0x5a47a8['g'][_0x5a3f7b(0xb8c)]&&_0x18e6c9!==_0x5a47a8['g']['TEXTURE_3D']){if(_0x18e6c9===_0x5a47a8['g']['TEXTURE_CUBE_MAP']){for(let _0x26c2be=0x0;_0x26c2be<0x6;_0x26c2be++)_0x193810[_0x5a3f7b(0xcb0)](_0x193810[_0x5a3f7b(0x43d)]+_0x26c2be,0x0,_0x571fef,_0x2fda29,_0x43c6db,0x0,_0x465c76,_0x14dc26,null);_0x3df5dc[_0x5a3f7b(0x5ca)]=!0x0;}else _0x193810[_0x5a3f7b(0xcb0)](_0x193810[_0x5a3f7b(0x419)],0x0,_0x571fef,_0x2fda29,_0x43c6db,0x0,_0x465c76,_0x14dc26,null);}else _0x18e6c9===_0x5a47a8['g'][_0x5a3f7b(0xb8c)]?_0x3df5dc[_0x5a3f7b(0x432)]=!0x0:_0x3df5dc[_0x5a3f7b(0x1ce)]=!0x0,_0x3df5dc[_0x5a3f7b(0xbbd)]=_0x3df5dc['depth']=_0x187da2,_0x193810[_0x5a3f7b(0x86a)](_0x18e6c9,0x0,_0x571fef,_0x2fda29,_0x43c6db,_0x187da2,0x0,_0x465c76,_0x14dc26,null);_0x327678&&_0x193810[_0x5a3f7b(0x803)](_0x18e6c9),this[_0x5a3f7b(0x1e8)](_0x18e6c9,null),_0x3df5dc[_0x5a3f7b(0x5d6)]=_0x2fda29,_0x3df5dc[_0x5a3f7b(0x924)]=_0x43c6db,_0x3df5dc[_0x5a3f7b(0x639)]=_0x2fda29,_0x3df5dc[_0x5a3f7b(0x690)]=_0x43c6db,_0x3df5dc[_0x5a3f7b(0x21c)]=!0x0,_0x3df5dc[_0x5a3f7b(0x3a8)]=0x1,_0x3df5dc['generateMipMaps']=_0x327678,_0x3df5dc[_0x5a3f7b(0x1b4)]=_0x6455ea,_0x3df5dc[_0x5a3f7b(0x395)]=_0x50c3e3,_0x3df5dc[_0x5a3f7b(0x3ee)]=_0x14557f,_0x3df5dc[_0x5a3f7b(0x1a4)]=_0x587d72,this[_0x5a3f7b(0xd27)][_0x5a3f7b(0x303)](_0x3df5dc);}}if(_0x57dee8&&this[_0x5a3f7b(0xd61)][_0x5a3f7b(0x8d5)]){const _0x498d38=new _0x40a543['l'](this,_0x40a543['S'][_0x5a3f7b(0x6b6)]);let _0x290e00=_0x5a47a8['g'][_0x5a3f7b(0x915)],_0x1c5d29=_0x193810[_0x5a3f7b(0xb40)],_0x6117ad=_0x193810[_0x5a3f7b(0x732)],_0x9296fe=_0x193810['UNSIGNED_SHORT'],_0x9ae663=_0x193810['DEPTH_ATTACHMENT'];this[_0x5a3f7b(0x7c6)]<0x2?_0x1c5d29=_0x193810['DEPTH_COMPONENT']:_0x56d202===_0x5a47a8['g']['TEXTUREFORMAT_DEPTH32_FLOAT']?(_0x290e00=_0x5a47a8['g'][_0x5a3f7b(0x937)],_0x9296fe=_0x193810[_0x5a3f7b(0x995)],_0x1c5d29=_0x193810[_0x5a3f7b(0x845)]):_0x56d202===_0x5a47a8['g']['TEXTUREFORMAT_DEPTH32FLOAT_STENCIL8']?(_0x290e00=_0x5a47a8['g'][_0x5a3f7b(0xd0a)],_0x9296fe=_0x193810[_0x5a3f7b(0x35b)],_0x1c5d29=_0x193810[_0x5a3f7b(0x6eb)],_0x6117ad=_0x193810['DEPTH_STENCIL'],_0x9ae663=_0x193810[_0x5a3f7b(0x3de)]):_0x56d202===_0x5a47a8['g']['TEXTUREFORMAT_DEPTH24']?(_0x290e00=_0x5a47a8['g'][_0x5a3f7b(0xd0a)],_0x9296fe=_0x193810[_0x5a3f7b(0x2fa)],_0x1c5d29=_0x193810[_0x5a3f7b(0x7b8)],_0x9ae663=_0x193810[_0x5a3f7b(0x21f)]):_0x56d202!==_0x5a47a8['g'][_0x5a3f7b(0x9e7)]&&_0x56d202!==_0x5a47a8['g']['TEXTUREFORMAT_DEPTH24UNORM_STENCIL8']||(_0x290e00=_0x5a47a8['g'][_0x5a3f7b(0x69e)],_0x9296fe=_0x193810[_0x5a3f7b(0xcd0)],_0x1c5d29=_0x193810['DEPTH24_STENCIL8'],_0x6117ad=_0x193810[_0x5a3f7b(0x4e0)],_0x9ae663=_0x193810[_0x5a3f7b(0x3de)]),_0x193810[_0x5a3f7b(0x63b)](_0x193810[_0x5a3f7b(0x654)]),_0x193810[_0x5a3f7b(0x585)](_0x193810[_0x5a3f7b(0x419)],_0x498d38[_0x5a3f7b(0xa52)][_0x5a3f7b(0x51e)]),_0x193810[_0x5a3f7b(0x94d)](_0x193810[_0x5a3f7b(0x419)],_0x193810['TEXTURE_MAG_FILTER'],_0x193810[_0x5a3f7b(0xb48)]),_0x193810[_0x5a3f7b(0x94d)](_0x193810[_0x5a3f7b(0x419)],_0x193810[_0x5a3f7b(0x700)],_0x193810[_0x5a3f7b(0xb48)]),_0x193810[_0x5a3f7b(0x94d)](_0x193810[_0x5a3f7b(0x419)],_0x193810[_0x5a3f7b(0x44b)],_0x193810['CLAMP_TO_EDGE']),_0x193810[_0x5a3f7b(0x94d)](_0x193810[_0x5a3f7b(0x419)],_0x193810[_0x5a3f7b(0x1ff)],_0x193810['CLAMP_TO_EDGE']),_0x193810[_0x5a3f7b(0xcb0)](_0x193810[_0x5a3f7b(0x419)],0x0,_0x1c5d29,_0x2fda29,_0x43c6db,0x0,_0x6117ad,_0x9296fe,null),_0x193810[_0x5a3f7b(0x6af)](_0x193810[_0x5a3f7b(0x2a9)],_0x9ae663,_0x193810['TEXTURE_2D'],_0x498d38[_0x5a3f7b(0xa52)][_0x5a3f7b(0x51e)],0x0),_0x498d38['baseWidth']=_0x2fda29,_0x498d38[_0x5a3f7b(0x924)]=_0x43c6db,_0x498d38[_0x5a3f7b(0x639)]=_0x2fda29,_0x498d38[_0x5a3f7b(0x690)]=_0x43c6db,_0x498d38[_0x5a3f7b(0x21c)]=!0x0,_0x498d38[_0x5a3f7b(0x3a8)]=0x1,_0x498d38['generateMipMaps']=_0x327678,_0x498d38[_0x5a3f7b(0x1b4)]=_0x5a47a8['g']['TEXTURE_NEAREST_SAMPLINGMODE'],_0x498d38['format']=_0x56d202,_0x498d38[_0x5a3f7b(0x395)]=_0x290e00,_0x19c1c1[_0x58fe3e]=_0x498d38,this['_internalTexturesCache']['push'](_0x498d38);}return _0x4734db['setTextures'](_0x19c1c1),_0x3a7730&&_0x193810[_0x5a3f7b(0x993)](_0x37e710),this[_0x5a3f7b(0x949)](null),_0x4734db[_0x5a3f7b(0x5fc)](_0xf9bce4,_0x27b228),this[_0x5a3f7b(0xc92)](),_0x4734db;},_0x49bd06['B'][_0x6b4679(0x85a)][_0x6b4679(0xb4e)]=function(_0x43ed0a,_0x19ce30,_0x1d6354=!0x0){var _0x5ab1c9=_0x6b4679;if(this['webGLVersion']<0x2||!_0x43ed0a||!_0x43ed0a[_0x5ab1c9(0x7c5)])return 0x1;if(_0x43ed0a[_0x5ab1c9(0x3a8)]===_0x19ce30)return _0x19ce30;var _0xc36d56=_0x43ed0a[_0x5ab1c9(0x3f1)][_0x5ab1c9(0x86e)];if(0x0===_0xc36d56)return 0x1;const _0x1a9e19=this[_0x5ab1c9(0x2cf)];_0x19ce30=Math[_0x5ab1c9(0x951)](_0x19ce30,this[_0x5ab1c9(0xa51)]()['maxMSAASamples']);var _0x31795e=!!_0x43ed0a[_0x5ab1c9(0x7e5)];if(_0x31795e&&(_0x1a9e19['deleteRenderbuffer'](_0x43ed0a['_depthStencilBuffer']),_0x43ed0a[_0x5ab1c9(0x7e5)]=null),_0x43ed0a[_0x5ab1c9(0x692)]&&(_0x1a9e19[_0x5ab1c9(0x17f)](_0x43ed0a['_MSAAFramebuffer']),_0x43ed0a[_0x5ab1c9(0x692)]=null),0x1<_0x19ce30&&_0x5ab1c9(0xbd4)==typeof _0x1a9e19[_0x5ab1c9(0x67d)]){var _0x141405=_0x1a9e19[_0x5ab1c9(0xa10)]();if(!_0x141405)throw new Error(_0x5ab1c9(0x5f0));_0x43ed0a[_0x5ab1c9(0x692)]=_0x141405,this[_0x5ab1c9(0x949)](_0x141405);const _0x2dd27a=[];for(let _0x331dc0=0x0;_0x331dc0<_0xc36d56;_0x331dc0++){const _0x55e496=_0x43ed0a['textures'][_0x331dc0]['_hardwareTexture'];_0x55e496[_0x5ab1c9(0x305)]();}for(let _0x24ed29=0x0;_0x24ed29<_0xc36d56;_0x24ed29++){const _0x23d844=_0x43ed0a['textures'][_0x24ed29],_0x705cc9=_0x23d844['_hardwareTexture'];var _0x45b82a=_0x1a9e19[0x1<this[_0x5ab1c9(0x7c6)]?_0x5ab1c9(0xb22)+_0x24ed29:_0x5ab1c9(0xb22)+_0x24ed29+_0x5ab1c9(0x494)],_0x3da2e5=this[_0x5ab1c9(0x747)](_0x23d844['width'],_0x23d844[_0x5ab1c9(0x690)],_0x19ce30,-0x1,this[_0x5ab1c9(0x498)](_0x23d844[_0x5ab1c9(0x395)],_0x23d844[_0x5ab1c9(0x1a4)]),_0x45b82a);if(!_0x3da2e5)throw new Error('Unable\x20to\x20create\x20multi\x20sampled\x20framebuffer');_0x705cc9[_0x5ab1c9(0xd7e)](_0x3da2e5),_0x23d844['samples']=_0x19ce30,_0x2dd27a[_0x5ab1c9(0x303)](_0x45b82a);}_0x1d6354&&_0x1a9e19[_0x5ab1c9(0x993)](_0x2dd27a);}else this[_0x5ab1c9(0x949)](_0x43ed0a[_0x5ab1c9(0x1bb)]);return _0x31795e&&(_0x43ed0a[_0x5ab1c9(0x7e5)]=this[_0x5ab1c9(0x754)](_0x43ed0a[_0x5ab1c9(0x5e6)],_0x43ed0a['_generateDepthBuffer'],_0x43ed0a[_0x5ab1c9(0x7c5)]['width'],_0x43ed0a[_0x5ab1c9(0x7c5)][_0x5ab1c9(0x690)],_0x19ce30)),this['_bindUnboundFramebuffer'](null),_0x19ce30;};},0x17cc7:(_0x3d34f1,_0x336260,_0x42524d)=>{var _0x357daf=a7_0x425593,_0x5df124=_0x42524d(0xdef7),_0x2ddcc1=_0x42524d(0xee04),_0x48bec1=_0x42524d(0x1446b),_0x56e8cf=_0x42524d(0x25b1),_0x28f836=_0x42524d(0x9fd1),_0x523567=_0x42524d(0x149c5),_0x444c00=_0x42524d(0x15556),_0x31fd56=_0x42524d(0x126cd);function _0x26452c(_0x437ec7,_0x203427){var _0x43396e=a7_0x5572;const _0x26fcef=new _0x523567['M'](_0x437ec7,void 0x0,!0x0,_0x203427);return _0x26fcef[_0x43396e(0x93a)](_0x43396e(0x2c5),0x10),_0x26fcef[_0x43396e(0x93a)](_0x43396e(0x635),0x10),_0x26fcef['addUniform'](_0x43396e(0x828),0x10),_0x26fcef[_0x43396e(0x93a)](_0x43396e(0xc1d),0x10),_0x26fcef[_0x43396e(0x93a)](_0x43396e(0xd53),0x4),_0x26fcef;}_0x2ddcc1['D'][_0x357daf(0x85a)][_0x357daf(0x83c)]=function(_0x2f0180,_0x2afd86){var _0x2e40c9=_0x357daf;const _0x5e986d=this[_0x2e40c9(0x2cf)];if(!this[_0x2e40c9(0xa51)]()[_0x2e40c9(0x79c)])throw _0x2e40c9(0x3b7);const _0x208fcf=this[_0x2e40c9(0x90e)](!0x1,!0x1,{'width':_0x2f0180,'height':_0x2afd86}),_0x2c9e5a=(_0x208fcf[_0x2e40c9(0x1bb)]=_0x5e986d[_0x2e40c9(0xa10)](),new _0x56e8cf['l'](this,_0x56e8cf['S'][_0x2e40c9(0x276)],!0x0));return _0x2c9e5a['width']=_0x2f0180,_0x2c9e5a[_0x2e40c9(0x690)]=_0x2afd86,_0x2c9e5a[_0x2e40c9(0x739)]=!0x0,_0x208fcf[_0x2e40c9(0x9a8)]=_0x5e986d[_0x2e40c9(0xa28)](),_0x5e986d['bindTexture'](_0x5e986d['TEXTURE_2D_ARRAY'],_0x208fcf[_0x2e40c9(0x9a8)]),_0x5e986d[_0x2e40c9(0x1ad)](_0x5e986d[_0x2e40c9(0xb8c)],0x1,_0x5e986d['RGBA8'],_0x2f0180,_0x2afd86,0x2),_0x208fcf[_0x2e40c9(0x574)]=_0x5e986d[_0x2e40c9(0xa28)](),_0x5e986d[_0x2e40c9(0x585)](_0x5e986d['TEXTURE_2D_ARRAY'],_0x208fcf['_depthStencilTextureArray']),_0x5e986d[_0x2e40c9(0x1ad)](_0x5e986d[_0x2e40c9(0xb8c)],0x1,_0x5e986d['DEPTH24_STENCIL8'],_0x2f0180,_0x2afd86,0x2),_0x2c9e5a[_0x2e40c9(0x21c)]=!0x0,_0x208fcf['setTextures'](_0x2c9e5a),_0x208fcf[_0x2e40c9(0xd6d)]=_0x2c9e5a,_0x208fcf;},_0x2ddcc1['D'][_0x357daf(0x85a)][_0x357daf(0xcd3)]=function(_0x400eda){var _0xfa71e=_0x357daf;const _0x1fc143=this[_0xfa71e(0x2cf)],_0x2a5313=this[_0xfa71e(0xa51)]()[_0xfa71e(0x376)]||this[_0xfa71e(0xa51)]()[_0xfa71e(0x79c)];if(this[_0xfa71e(0xb8a)](_0x400eda,void 0x0,void 0x0,void 0x0,!0x0),_0x1fc143['bindFramebuffer'](_0x1fc143[_0xfa71e(0x9bc)],_0x400eda['_framebuffer']),!_0x400eda[_0xfa71e(0x9a8)]||!_0x400eda[_0xfa71e(0x574)])throw _0xfa71e(0xd38);this[_0xfa71e(0xa51)]()['oculusMultiview']?(_0x2a5313['framebufferTextureMultisampleMultiviewOVR'](_0x1fc143[_0xfa71e(0x9bc)],_0x1fc143['COLOR_ATTACHMENT0'],_0x400eda[_0xfa71e(0x9a8)],0x0,_0x400eda['samples'],0x0,0x2),_0x2a5313[_0xfa71e(0x6e0)](_0x1fc143[_0xfa71e(0x9bc)],_0x1fc143[_0xfa71e(0x3de)],_0x400eda[_0xfa71e(0x574)],0x0,_0x400eda[_0xfa71e(0x3a8)],0x0,0x2)):(_0x2a5313['framebufferTextureMultiviewOVR'](_0x1fc143[_0xfa71e(0x9bc)],_0x1fc143[_0xfa71e(0x589)],_0x400eda[_0xfa71e(0x9a8)],0x0,0x0,0x2),_0x2a5313[_0xfa71e(0xbaf)](_0x1fc143['DRAW_FRAMEBUFFER'],_0x1fc143['DEPTH_STENCIL_ATTACHMENT'],_0x400eda[_0xfa71e(0x574)],0x0,0x0,0x2));},_0x5df124['V'][_0x357daf(0x85a)]['_useMultiviewToSingleView']=!0x1,_0x5df124['V'][_0x357daf(0x85a)]['_multiviewTexture']=null,_0x5df124['V'][_0x357daf(0x85a)][_0x357daf(0x7bf)]=function(_0x3cfea4,_0x3904db){var _0x139084=_0x357daf;this[_0x139084(0xc6e)]?this[_0x139084(0xc6e)]['getRenderWidth']()==_0x3cfea4&&this['_multiviewTexture']['getRenderHeight']()==_0x3904db||(this[_0x139084(0xc6e)][_0x139084(0x1cb)](),this[_0x139084(0xc6e)]=new _0x444c00['x'](this['getScene'](),{'width':_0x3cfea4,'height':_0x3904db})):this[_0x139084(0xc6e)]=new _0x444c00['x'](this[_0x139084(0x427)](),{'width':_0x3cfea4,'height':_0x3904db});};const _0x4a9ab3=_0x48bec1['x'][_0x357daf(0x85a)][_0x357daf(0x538)];_0x48bec1['x'][_0x357daf(0x85a)][_0x357daf(0x956)]=_0x28f836['y3'][_0x357daf(0xa14)](),_0x48bec1['x'][_0x357daf(0x85a)]['_multiviewSceneUbo']=null,_0x48bec1['x']['prototype'][_0x357daf(0x8a8)]=function(){var _0x5b807f=_0x357daf;this['_multiviewSceneUbo']=_0x26452c(this['getEngine'](),_0x5b807f(0xc72));},_0x48bec1['x']['prototype'][_0x357daf(0x538)]=function(_0x388838){var _0x50a94d=_0x357daf;return this[_0x50a94d(0x945)]?_0x26452c(this[_0x50a94d(0x989)](),_0x388838):_0x4a9ab3['bind'](this)(_0x388838);},_0x48bec1['x'][_0x357daf(0x85a)][_0x357daf(0x234)]=function(_0x1a407d,_0x3e5ba0){var _0x1ec69d=_0x357daf;_0x1a407d&&_0x3e5ba0&&_0x1a407d[_0x1ec69d(0xa44)](_0x3e5ba0,this[_0x1ec69d(0x956)]),_0x1a407d&&_0x3e5ba0&&(_0x1a407d[_0x1ec69d(0xa44)](_0x3e5ba0,_0x28f836['jp'][_0x1ec69d(0x872)][0x0]),_0x31fd56['i'][_0x1ec69d(0xa43)](_0x28f836['jp'][_0x1ec69d(0x872)][0x0],this['_frustumPlanes'][0x3])),this[_0x1ec69d(0x945)]&&(this['_multiviewSceneUbo'][_0x1ec69d(0x72d)](_0x1ec69d(0x2c5),this[_0x1ec69d(0x8d3)]()),this[_0x1ec69d(0x945)]['updateMatrix'](_0x1ec69d(0x635),this[_0x1ec69d(0x956)]),this[_0x1ec69d(0x945)][_0x1ec69d(0x72d)](_0x1ec69d(0x828),this['_viewMatrix']),this['_multiviewSceneUbo'][_0x1ec69d(0x72d)](_0x1ec69d(0xc1d),this[_0x1ec69d(0x4ad)]));},_0x48bec1['x'][_0x357daf(0x85a)][_0x357daf(0xd2b)]=function(_0x42e1ec){var _0x33329f=_0x357daf;_0x42e1ec[_0x33329f(0x7bf)](_0x42e1ec[_0x33329f(0x8a4)]&&_0x42e1ec[_0x33329f(0x8a4)]&&0x0<_0x42e1ec[_0x33329f(0x8a4)][_0x33329f(0x639)]?_0x42e1ec[_0x33329f(0x8a4)][_0x33329f(0x639)]:this['getEngine']()[_0x33329f(0x670)](!0x0),_0x42e1ec[_0x33329f(0x8a4)]&&_0x42e1ec[_0x33329f(0x8a4)]&&0x0<_0x42e1ec[_0x33329f(0x8a4)][_0x33329f(0x690)]?_0x42e1ec[_0x33329f(0x8a4)][_0x33329f(0x690)]:this['getEngine']()[_0x33329f(0x397)](!0x0)),this['_multiviewSceneUbo']||this['_createMultiviewUbo'](),_0x42e1ec['outputRenderTarget']=_0x42e1ec['_multiviewTexture'],this['_renderForCamera'](_0x42e1ec),_0x42e1ec[_0x33329f(0x972)]=null;for(let _0xc4704a=0x0;_0xc4704a<_0x42e1ec[_0x33329f(0x3ec)][_0x33329f(0x86e)];_0xc4704a++){const _0x3328be=this[_0x33329f(0x989)]();this[_0x33329f(0x9c0)]=_0x42e1ec[_0x33329f(0x3ec)][_0xc4704a],_0x3328be['setViewport'](this[_0x33329f(0x9c0)][_0x33329f(0x306)]),this['postProcessManager']&&(this['postProcessManager'][_0x33329f(0xaf9)](),this[_0x33329f(0x9aa)][_0x33329f(0x536)](this[_0x33329f(0x9c0)][_0x33329f(0x4f9)]));}};},0x1293:(_0x10ab14,_0x53087a,_0x48f082)=>{var _0x2d35d6=a7_0x425593,_0xd52fdf=_0x48f082(0x25b1),_0x4f591b=_0x48f082(0x10ea4),_0x4a8d0e=_0x48f082(0xe222),_0x4d1c86=_0x48f082(0x77a5),_0x48f082=_0x48f082(0x202a);function _0x438cda(_0x446521,_0x2e8619,_0x40a91f,_0x422267){var _0x36336c=a7_0x5572;let _0x443ee8,_0x3e4ca0=0x1;_0x422267===_0x4d1c86['g'][_0x36336c(0x937)]?_0x443ee8=new Float32Array(_0x2e8619*_0x40a91f*0x4):_0x422267===_0x4d1c86['g']['TEXTURETYPE_HALF_FLOAT']?(_0x443ee8=new Uint16Array(_0x2e8619*_0x40a91f*0x4),_0x3e4ca0=0x3c00):_0x443ee8=new(_0x422267===_0x4d1c86['g'][(_0x36336c(0x66c))]?Uint32Array:Uint8Array)(_0x2e8619*_0x40a91f*0x4);for(let _0x1ed361=0x0;_0x1ed361<_0x2e8619;_0x1ed361++)for(let _0x19e424=0x0;_0x19e424<_0x40a91f;_0x19e424++){var _0x40680a=0x3*(_0x19e424*_0x2e8619+_0x1ed361),_0x59fe2d=0x4*(_0x19e424*_0x2e8619+_0x1ed361);_0x443ee8[0x0+_0x59fe2d]=_0x446521[0x0+_0x40680a],_0x443ee8[0x1+_0x59fe2d]=_0x446521[0x1+_0x40680a],_0x443ee8[0x2+_0x59fe2d]=_0x446521[0x2+_0x40680a],_0x443ee8[0x3+_0x59fe2d]=_0x3e4ca0;}return _0x443ee8;}function _0x4c835f(_0x49ea2e){var _0x240599=a7_0x5572;return function(_0x5cd06e,_0x47137f,_0x17dd0c,_0x35fb17,_0x5d113e,_0x5240c0,_0x4e1615,_0x16de07,_0x2ff6a9=null,_0x2df5e6=_0x4d1c86['g'][_0x240599(0xd0a)]){var _0x276ec5=_0x240599,_0x13fd8c=_0x49ea2e?this[_0x276ec5(0x2cf)][_0x276ec5(0x263)]:this[_0x276ec5(0x2cf)]['TEXTURE_2D_ARRAY'],_0x214f0b=_0x49ea2e?_0xd52fdf['S'][_0x276ec5(0xa6d)]:_0xd52fdf['S'][_0x276ec5(0x480)];const _0x56f008=new _0xd52fdf['l'](this,_0x214f0b);return _0x56f008['baseWidth']=_0x47137f,_0x56f008[_0x276ec5(0x924)]=_0x17dd0c,_0x56f008[_0x276ec5(0xbbd)]=_0x35fb17,_0x56f008[_0x276ec5(0x639)]=_0x47137f,_0x56f008['height']=_0x17dd0c,_0x56f008['depth']=_0x35fb17,_0x56f008[_0x276ec5(0x1a4)]=_0x5d113e,_0x56f008[_0x276ec5(0x395)]=_0x2df5e6,_0x56f008['generateMipMaps']=_0x5240c0,_0x56f008[_0x276ec5(0x1b4)]=_0x16de07,_0x49ea2e?_0x56f008['is3D']=!0x0:_0x56f008['is2DArray']=!0x0,this['_doNotHandleContextLost']||(_0x56f008[_0x276ec5(0x6da)]=_0x5cd06e),_0x49ea2e?this[_0x276ec5(0x31a)](_0x56f008,_0x5cd06e,_0x5d113e,_0x4e1615,_0x2ff6a9,_0x2df5e6):this['updateRawTexture2DArray'](_0x56f008,_0x5cd06e,_0x5d113e,_0x4e1615,_0x2ff6a9,_0x2df5e6),this[_0x276ec5(0x1e8)](_0x13fd8c,_0x56f008,!0x0),_0x214f0b=this['_getSamplingParameters'](_0x16de07,_0x5240c0),(this[_0x276ec5(0x2cf)][_0x276ec5(0x94d)](_0x13fd8c,this[_0x276ec5(0x2cf)]['TEXTURE_MAG_FILTER'],_0x214f0b[_0x276ec5(0x640)]),this[_0x276ec5(0x2cf)][_0x276ec5(0x94d)](_0x13fd8c,this[_0x276ec5(0x2cf)]['TEXTURE_MIN_FILTER'],_0x214f0b[_0x276ec5(0x951)]),_0x5240c0&&this[_0x276ec5(0x2cf)][_0x276ec5(0x803)](_0x13fd8c),this[_0x276ec5(0x1e8)](_0x13fd8c,null),this[_0x276ec5(0xd27)][_0x276ec5(0x303)](_0x56f008),_0x56f008);};}function _0xcb514e(_0x3576ed){var _0x146e63=a7_0x5572;return function(_0x3ef787,_0x14370d,_0x2b6bdc,_0x39e37,_0x54b809=null,_0x5a07de=_0x4d1c86['g'][_0x146e63(0xd0a)]){var _0x1f3fb1=_0x146e63,_0x383dab=_0x3576ed?this[_0x1f3fb1(0x2cf)][_0x1f3fb1(0x263)]:this[_0x1f3fb1(0x2cf)]['TEXTURE_2D_ARRAY'],_0x542771=this[_0x1f3fb1(0x2e6)](_0x5a07de),_0x2a2835=this[_0x1f3fb1(0x7ee)](_0x2b6bdc),_0x5a07de=this[_0x1f3fb1(0x9be)](_0x5a07de,_0x2b6bdc);this[_0x1f3fb1(0x1e8)](_0x383dab,_0x3ef787,!0x0),this[_0x1f3fb1(0x2bd)](void 0x0===_0x39e37||!!_0x39e37),this[_0x1f3fb1(0x7e1)]||(_0x3ef787[_0x1f3fb1(0x6da)]=_0x14370d,_0x3ef787[_0x1f3fb1(0x1a4)]=_0x2b6bdc,_0x3ef787[_0x1f3fb1(0x2fc)]=_0x39e37,_0x3ef787[_0x1f3fb1(0x33a)]=_0x54b809),_0x3ef787[_0x1f3fb1(0x639)]%0x4!=0x0&&this[_0x1f3fb1(0x2cf)]['pixelStorei'](this[_0x1f3fb1(0x2cf)][_0x1f3fb1(0xc07)],0x1),_0x54b809&&_0x14370d?this['_gl']['compressedTexImage3D'](_0x383dab,0x0,this[_0x1f3fb1(0xa51)]()[_0x1f3fb1(0x982)][_0x54b809],_0x3ef787[_0x1f3fb1(0x639)],_0x3ef787['height'],_0x3ef787['depth'],0x0,_0x14370d):this[_0x1f3fb1(0x2cf)]['texImage3D'](_0x383dab,0x0,_0x5a07de,_0x3ef787['width'],_0x3ef787[_0x1f3fb1(0x690)],_0x3ef787['depth'],0x0,_0x2a2835,_0x542771,_0x14370d),_0x3ef787[_0x1f3fb1(0x8ed)]&&this['_gl']['generateMipmap'](_0x383dab),this[_0x1f3fb1(0x1e8)](_0x383dab,null),_0x3ef787[_0x1f3fb1(0x21c)]=!0x0;};}_0x48f082['B']['prototype'][_0x2d35d6(0x26e)]=function(_0x188b37,_0x220fce,_0x4eeb52,_0x1643a8,_0x2b0934=null,_0x6d5739=_0x4d1c86['g']['TEXTURETYPE_UNSIGNED_INT'],_0x56889f=!0x1){var _0x246af3=_0x2d35d6,_0x2f6e45,_0x1fb1c9;_0x188b37&&(_0x56889f=this[_0x246af3(0x9be)](_0x6d5739,_0x4eeb52,_0x56889f),_0x2f6e45=this[_0x246af3(0x7ee)](_0x4eeb52),_0x1fb1c9=this[_0x246af3(0x2e6)](_0x6d5739),this[_0x246af3(0x1e8)](this[_0x246af3(0x2cf)][_0x246af3(0x419)],_0x188b37,!0x0),this[_0x246af3(0x2bd)](void 0x0===_0x1643a8||!!_0x1643a8),this[_0x246af3(0x7e1)]||(_0x188b37[_0x246af3(0x6da)]=_0x220fce,_0x188b37[_0x246af3(0x1a4)]=_0x4eeb52,_0x188b37[_0x246af3(0x395)]=_0x6d5739,_0x188b37[_0x246af3(0x2fc)]=_0x1643a8,_0x188b37[_0x246af3(0x33a)]=_0x2b0934),_0x188b37['width']%0x4!=0x0&&this['_gl'][_0x246af3(0xc34)](this[_0x246af3(0x2cf)][_0x246af3(0xc07)],0x1),_0x2b0934&&_0x220fce?this[_0x246af3(0x2cf)]['compressedTexImage2D'](this[_0x246af3(0x2cf)][_0x246af3(0x419)],0x0,this['getCaps']()[_0x246af3(0x982)][_0x2b0934],_0x188b37[_0x246af3(0x639)],_0x188b37[_0x246af3(0x690)],0x0,_0x220fce):this[_0x246af3(0x2cf)]['texImage2D'](this[_0x246af3(0x2cf)][_0x246af3(0x419)],0x0,_0x56889f,_0x188b37[_0x246af3(0x639)],_0x188b37[_0x246af3(0x690)],0x0,_0x2f6e45,_0x1fb1c9,_0x220fce),_0x188b37[_0x246af3(0x8ed)]&&this['_gl'][_0x246af3(0x803)](this[_0x246af3(0x2cf)][_0x246af3(0x419)]),this[_0x246af3(0x1e8)](this[_0x246af3(0x2cf)][_0x246af3(0x419)],null),_0x188b37[_0x246af3(0x21c)]=!0x0);},_0x48f082['B'][_0x2d35d6(0x85a)][_0x2d35d6(0xa0b)]=function(_0x32eab4,_0x464130,_0xa1b697,_0x309604,_0x155e00,_0x3a8743,_0x436500,_0x4f91ba=null,_0x5ed135=_0x4d1c86['g'][_0x2d35d6(0xd0a)],_0x2a95cd,_0x539fe4=!0x1){var _0xd80d7=_0x2d35d6;const _0x588d40=new _0xd52fdf['l'](this,_0xd52fdf['S'][_0xd80d7(0x5a5)]);return _0x588d40[_0xd80d7(0x5d6)]=_0x464130,_0x588d40[_0xd80d7(0x924)]=_0xa1b697,_0x588d40[_0xd80d7(0x639)]=_0x464130,_0x588d40[_0xd80d7(0x690)]=_0xa1b697,_0x588d40[_0xd80d7(0x1a4)]=_0x309604,_0x588d40[_0xd80d7(0x8ed)]=_0x155e00,_0x588d40[_0xd80d7(0x1b4)]=_0x436500,_0x588d40[_0xd80d7(0x2fc)]=_0x3a8743,_0x588d40[_0xd80d7(0x33a)]=_0x4f91ba,_0x588d40[_0xd80d7(0x395)]=_0x5ed135,_0x588d40[_0xd80d7(0x3ee)]=this[_0xd80d7(0xca6)](_0x539fe4,!_0x155e00),this[_0xd80d7(0x7e1)]||(_0x588d40['_bufferView']=_0x32eab4),this['updateRawTexture'](_0x588d40,_0x32eab4,_0x309604,_0x3a8743,_0x4f91ba,_0x5ed135,_0x588d40[_0xd80d7(0x3ee)]),this['_bindTextureDirectly'](this[_0xd80d7(0x2cf)][_0xd80d7(0x419)],_0x588d40,!0x0),_0x464130=this[_0xd80d7(0xb59)](_0x436500,_0x155e00),(this[_0xd80d7(0x2cf)][_0xd80d7(0x94d)](this['_gl'][_0xd80d7(0x419)],this[_0xd80d7(0x2cf)]['TEXTURE_MAG_FILTER'],_0x464130[_0xd80d7(0x640)]),this[_0xd80d7(0x2cf)][_0xd80d7(0x94d)](this[_0xd80d7(0x2cf)][_0xd80d7(0x419)],this['_gl'][_0xd80d7(0x700)],_0x464130[_0xd80d7(0x951)]),_0x155e00&&this[_0xd80d7(0x2cf)][_0xd80d7(0x803)](this[_0xd80d7(0x2cf)]['TEXTURE_2D']),this['_bindTextureDirectly'](this[_0xd80d7(0x2cf)][_0xd80d7(0x419)],null),this[_0xd80d7(0xd27)][_0xd80d7(0x303)](_0x588d40),_0x588d40);},_0x48f082['B'][_0x2d35d6(0x85a)]['createRawCubeTexture']=function(_0xc255de,_0x241d49,_0x3753e7,_0x3a1fdb,_0x5cf99e,_0xcfca88,_0x38093d,_0x5341c2=null){var _0x41c197=_0x2d35d6;const _0x348038=this[_0x41c197(0x2cf)],_0x574f5f=new _0xd52fdf['l'](this,_0xd52fdf['S']['CubeRaw']);_0x574f5f[_0x41c197(0x5ca)]=!0x0,_0x574f5f[_0x41c197(0x1a4)]=_0x3753e7,_0x574f5f[_0x41c197(0x395)]=_0x3a1fdb,this[_0x41c197(0x7e1)]||(_0x574f5f['_bufferViewArray']=_0xc255de);var _0x2a359e=this[_0x41c197(0x2e6)](_0x3a1fdb);let _0x506e40=this[_0x41c197(0x7ee)](_0x3753e7);_0x506e40===_0x348038[_0x41c197(0x46e)]&&(_0x506e40=_0x348038[_0x41c197(0xb1b)]),_0x2a359e!==_0x348038[_0x41c197(0x995)]||this['_caps']['textureFloatLinearFiltering']?_0x2a359e!==this[_0x41c197(0x2cf)][_0x41c197(0xbb5)]||this[_0x41c197(0xd61)][_0x41c197(0xa83)]?_0x2a359e!==_0x348038[_0x41c197(0x995)]||this[_0x41c197(0xd61)]['textureFloatRender']?_0x2a359e!==_0x348038[_0x41c197(0x2fd)]||this[_0x41c197(0xd61)][_0x41c197(0x8bd)]||(_0x5cf99e=!0x1,_0x4f591b['Y'][_0x41c197(0xcb2)](_0x41c197(0xbb9))):(_0x5cf99e=!0x1,_0x4f591b['Y'][_0x41c197(0xcb2)](_0x41c197(0x2dd))):(_0x5cf99e=!0x1,_0x38093d=_0x4d1c86['g']['TEXTURE_NEAREST_SAMPLINGMODE'],_0x4f591b['Y']['Warn'](_0x41c197(0x686))):(_0x5cf99e=!0x1,_0x38093d=_0x4d1c86['g'][_0x41c197(0x97f)],_0x4f591b['Y'][_0x41c197(0xcb2)](_0x41c197(0x879)));var _0x4b588a=_0x241d49;if(_0x574f5f[_0x41c197(0x639)]=_0x241d49,_0x574f5f[_0x41c197(0x690)]=_0x4b588a,_0x574f5f[_0x41c197(0x2fc)]=_0xcfca88,_0x574f5f['_compression']=_0x5341c2,!this['needPOTTextures']||_0x4a8d0e['w1'][_0x41c197(0xb90)](_0x574f5f[_0x41c197(0x639)])&&_0x4a8d0e['w1'][_0x41c197(0xb90)](_0x574f5f[_0x41c197(0x690)])||(_0x5cf99e=!0x1),_0xc255de)this[_0x41c197(0x8a6)](_0x574f5f,_0xc255de,_0x3753e7,_0x3a1fdb,_0xcfca88,_0x5341c2);else{var _0x3d2a44=this[_0x41c197(0x9be)](_0x3a1fdb);this[_0x41c197(0x1e8)](_0x348038[_0x41c197(0x8b3)],_0x574f5f,!0x0);for(let _0x413daa=0x0;_0x413daa<0x6;_0x413daa++)_0x5341c2?_0x348038[_0x41c197(0xd24)](_0x348038[_0x41c197(0x43d)]+_0x413daa,0x0,this[_0x41c197(0xa51)]()['s3tc'][_0x5341c2],_0x574f5f[_0x41c197(0x639)],_0x574f5f[_0x41c197(0x690)],0x0,void 0x0):_0x348038[_0x41c197(0xcb0)](_0x348038['TEXTURE_CUBE_MAP_POSITIVE_X']+_0x413daa,0x0,_0x3d2a44,_0x574f5f[_0x41c197(0x639)],_0x574f5f[_0x41c197(0x690)],0x0,_0x506e40,_0x2a359e,null);this['_bindTextureDirectly'](this[_0x41c197(0x2cf)][_0x41c197(0x8b3)],null);}return this['_bindTextureDirectly'](this['_gl'][_0x41c197(0x8b3)],_0x574f5f,!0x0),_0xc255de&&_0x5cf99e&&this[_0x41c197(0x2cf)][_0x41c197(0x803)](this['_gl'][_0x41c197(0x8b3)]),_0x241d49=this['_getSamplingParameters'](_0x38093d,_0x5cf99e),(_0x348038[_0x41c197(0x94d)](_0x348038['TEXTURE_CUBE_MAP'],_0x348038[_0x41c197(0x274)],_0x241d49['mag']),_0x348038['texParameteri'](_0x348038[_0x41c197(0x8b3)],_0x348038[_0x41c197(0x700)],_0x241d49['min']),_0x348038[_0x41c197(0x94d)](_0x348038['TEXTURE_CUBE_MAP'],_0x348038['TEXTURE_WRAP_S'],_0x348038[_0x41c197(0x8b4)]),_0x348038[_0x41c197(0x94d)](_0x348038['TEXTURE_CUBE_MAP'],_0x348038[_0x41c197(0x1ff)],_0x348038['CLAMP_TO_EDGE']),this['_bindTextureDirectly'](_0x348038['TEXTURE_CUBE_MAP'],null),_0x574f5f[_0x41c197(0x8ed)]=_0x5cf99e,_0x574f5f[_0x41c197(0x1b4)]=_0x38093d,_0x574f5f['isReady']=!0x0,_0x574f5f);},_0x48f082['B']['prototype'][_0x2d35d6(0x8a6)]=function(_0x5da477,_0x9ca44b,_0x56945e,_0x4abae3,_0x4c44e4,_0x2b3972=null,_0x348797=0x0){var _0x3ebcb2=_0x2d35d6;_0x5da477[_0x3ebcb2(0x6bb)]=_0x9ca44b,_0x5da477['format']=_0x56945e,_0x5da477[_0x3ebcb2(0x395)]=_0x4abae3,_0x5da477[_0x3ebcb2(0x2fc)]=_0x4c44e4,_0x5da477[_0x3ebcb2(0x33a)]=_0x2b3972;const _0x399f03=this['_gl'];var _0x32d836=this['_getWebGLTextureType'](_0x4abae3);let _0x491a6f=this[_0x3ebcb2(0x7ee)](_0x56945e);var _0x347f6e=this[_0x3ebcb2(0x9be)](_0x4abae3);let _0x3ef7c3=!0x1;_0x491a6f===_0x399f03['RGB']&&(_0x491a6f=_0x399f03[_0x3ebcb2(0xb1b)],_0x3ef7c3=!0x0),this[_0x3ebcb2(0x1e8)](_0x399f03[_0x3ebcb2(0x8b3)],_0x5da477,!0x0),this[_0x3ebcb2(0x2bd)](void 0x0===_0x4c44e4||!!_0x4c44e4),_0x5da477[_0x3ebcb2(0x639)]%0x4!=0x0&&_0x399f03[_0x3ebcb2(0xc34)](_0x399f03['UNPACK_ALIGNMENT'],0x1);for(let _0x5c8025=0x0;_0x5c8025<0x6;_0x5c8025++){let _0x1ce7ad=_0x9ca44b[_0x5c8025];_0x2b3972?_0x399f03[_0x3ebcb2(0xd24)](_0x399f03['TEXTURE_CUBE_MAP_POSITIVE_X']+_0x5c8025,_0x348797,this[_0x3ebcb2(0xa51)]()[_0x3ebcb2(0x982)][_0x2b3972],_0x5da477[_0x3ebcb2(0x639)],_0x5da477[_0x3ebcb2(0x690)],0x0,_0x1ce7ad):(_0x3ef7c3&&(_0x1ce7ad=_0x438cda(_0x1ce7ad,_0x5da477[_0x3ebcb2(0x639)],_0x5da477['height'],_0x4abae3)),_0x399f03[_0x3ebcb2(0xcb0)](_0x399f03[_0x3ebcb2(0x43d)]+_0x5c8025,_0x348797,_0x347f6e,_0x5da477[_0x3ebcb2(0x639)],_0x5da477[_0x3ebcb2(0x690)],0x0,_0x491a6f,_0x32d836,_0x1ce7ad));}(!this[_0x3ebcb2(0xbdc)]||_0x4a8d0e['w1'][_0x3ebcb2(0xb90)](_0x5da477[_0x3ebcb2(0x639)])&&_0x4a8d0e['w1'][_0x3ebcb2(0xb90)](_0x5da477[_0x3ebcb2(0x690)]))&&_0x5da477[_0x3ebcb2(0x8ed)]&&0x0===_0x348797&&this[_0x3ebcb2(0x2cf)][_0x3ebcb2(0x803)](this['_gl'][_0x3ebcb2(0x8b3)]),this[_0x3ebcb2(0x1e8)](this[_0x3ebcb2(0x2cf)]['TEXTURE_CUBE_MAP'],null),_0x5da477['isReady']=!0x0;},_0x48f082['B'][_0x2d35d6(0x85a)]['createRawCubeTextureFromUrl']=function(_0x226eb9,_0x13ba08,_0x116be1,_0x43d702,_0x1e9558,_0x418d33,_0x5c9079,_0x1f8e09,_0x26a462=null,_0x255cd0=null,_0x4aa33c=_0x4d1c86['g'][_0x2d35d6(0x19f)],_0x3573cb=!0x1){var _0x4b6775=_0x2d35d6;const _0x3757c4=this[_0x4b6775(0x2cf)],_0x5dcc7a=this['createRawCubeTexture'](null,_0x116be1,_0x43d702,_0x1e9558,!_0x418d33,_0x3573cb,_0x4aa33c,null),_0x4a94cd=(null!=_0x13ba08&&_0x13ba08[_0x4b6775(0x53c)](_0x5dcc7a),_0x5dcc7a['url']=_0x226eb9,_0x5dcc7a[_0x4b6775(0x21c)]=!0x1,this[_0x4b6775(0xd27)]['push'](_0x5dcc7a),_0x424b33=>{var _0x43bf45=_0x4b6775,_0x70531f=_0x5dcc7a[_0x43bf45(0x639)],_0x424b33=_0x5c9079(_0x424b33);if(_0x424b33){if(_0x1f8e09){var _0xa64d18=this[_0x43bf45(0x2e6)](_0x1e9558);let _0x44d7b9=this[_0x43bf45(0x7ee)](_0x43d702);var _0x2ae8e9=this[_0x43bf45(0x9be)](_0x1e9558);let _0x4829b9=!0x1;_0x44d7b9===_0x3757c4[_0x43bf45(0x46e)]&&(_0x44d7b9=_0x3757c4['RGBA'],_0x4829b9=!0x0),this[_0x43bf45(0x1e8)](_0x3757c4[_0x43bf45(0x8b3)],_0x5dcc7a,!0x0),this[_0x43bf45(0x2bd)](!0x1);var _0xa35dc1=_0x1f8e09(_0x424b33);for(let _0x4842c2=0x0;_0x4842c2<_0xa35dc1[_0x43bf45(0x86e)];_0x4842c2++){var _0xe01bf8=_0x70531f>>_0x4842c2;for(let _0xfa931a=0x0;_0xfa931a<0x6;_0xfa931a++){let _0x469c87=_0xa35dc1[_0x4842c2][_0xfa931a];_0x4829b9&&(_0x469c87=_0x438cda(_0x469c87,_0xe01bf8,_0xe01bf8,_0x1e9558)),_0x3757c4[_0x43bf45(0xcb0)](_0xfa931a,_0x4842c2,_0x2ae8e9,_0xe01bf8,_0xe01bf8,0x0,_0x44d7b9,_0xa64d18,_0x469c87);}}this[_0x43bf45(0x1e8)](_0x3757c4[_0x43bf45(0x8b3)],null);}else this[_0x43bf45(0x8a6)](_0x5dcc7a,_0x424b33,_0x43d702,_0x1e9558,_0x3573cb);_0x5dcc7a[_0x43bf45(0x21c)]=!0x0,null!=_0x13ba08&&_0x13ba08[_0x43bf45(0xac1)](_0x5dcc7a),_0x5dcc7a[_0x43bf45(0x6d3)][_0x43bf45(0x794)](_0x5dcc7a),_0x5dcc7a['onLoadedObservable'][_0x43bf45(0xb1c)](),_0x26a462&&_0x26a462();}});return this['_loadFile'](_0x226eb9,_0x5e2ac5=>{_0x4a94cd(_0x5e2ac5);},void 0x0,null==_0x13ba08?void 0x0:_0x13ba08['offlineProvider'],!0x0,(_0x34bf75,_0x43f97a)=>{var _0x2e2677=_0x4b6775;null!=_0x13ba08&&_0x13ba08[_0x2e2677(0xac1)](_0x5dcc7a),_0x255cd0&&_0x34bf75&&_0x255cd0(_0x34bf75[_0x2e2677(0x68a)]+'\x20'+_0x34bf75[_0x2e2677(0x9c4)],_0x43f97a);}),_0x5dcc7a;},_0x48f082['B'][_0x2d35d6(0x85a)][_0x2d35d6(0xd3a)]=_0x4c835f(!0x1),_0x48f082['B'][_0x2d35d6(0x85a)][_0x2d35d6(0x97b)]=_0x4c835f(!0x0),_0x48f082['B'][_0x2d35d6(0x85a)]['updateRawTexture2DArray']=_0xcb514e(!0x1),_0x48f082['B'][_0x2d35d6(0x85a)][_0x2d35d6(0x31a)]=_0xcb514e(!0x0);},0x3c27:(_0x454fe7,_0x49deba,_0x4d3ed0)=>{var _0x2c11f1=a7_0x425593;_0x4d3ed0['d'](_0x49deba,{'A':()=>_0x5d8259});var _0x49deba=_0x4d3ed0(0x202a),_0x51e8f5=_0x4d3ed0(0x77a5);function _0x5d8259(_0x234123,_0x8cd30d,_0x8c89ca=!0x1,_0x4dfe95){var _0x56e89d=a7_0x5572;switch(_0x234123){case _0x51e8f5['g'][_0x56e89d(0xccc)]:{ArrayBuffer;const _0x20b491=new Int8Array(_0x8cd30d);return _0x4dfe95&&_0x20b491[_0x56e89d(0x83f)](new Int8Array(_0x4dfe95)),_0x20b491;}case _0x51e8f5['g'][_0x56e89d(0xb0a)]:{ArrayBuffer;const _0x466ecb=new Uint8Array(_0x8cd30d);return _0x4dfe95&&_0x466ecb[_0x56e89d(0x83f)](new Uint8Array(_0x4dfe95)),_0x466ecb;}case _0x51e8f5['g'][_0x56e89d(0x30d)]:{const _0x24d43e=_0x8cd30d instanceof ArrayBuffer?new Int16Array(_0x8cd30d):new Int16Array(_0x8c89ca?_0x8cd30d/0x2:_0x8cd30d);return _0x4dfe95&&_0x24d43e[_0x56e89d(0x83f)](new Int16Array(_0x4dfe95)),_0x24d43e;}case _0x51e8f5['g'][_0x56e89d(0x915)]:case _0x51e8f5['g'][_0x56e89d(0xa9b)]:case _0x51e8f5['g'][_0x56e89d(0xa13)]:case _0x51e8f5['g'][_0x56e89d(0x6e8)]:case _0x51e8f5['g'][_0x56e89d(0x986)]:{const _0x327f8a=_0x8cd30d instanceof ArrayBuffer?new Uint16Array(_0x8cd30d):new Uint16Array(_0x8c89ca?_0x8cd30d/0x2:_0x8cd30d);return _0x4dfe95&&_0x327f8a['set'](new Uint16Array(_0x4dfe95)),_0x327f8a;}case _0x51e8f5['g'][_0x56e89d(0x90b)]:{const _0x4448e1=_0x8cd30d instanceof ArrayBuffer?new Int32Array(_0x8cd30d):new Int32Array(_0x8c89ca?_0x8cd30d/0x4:_0x8cd30d);return _0x4dfe95&&_0x4448e1[_0x56e89d(0x83f)](new Int32Array(_0x4dfe95)),_0x4448e1;}case _0x51e8f5['g'][_0x56e89d(0x66c)]:case _0x51e8f5['g'][_0x56e89d(0xcdd)]:case _0x51e8f5['g'][_0x56e89d(0x69e)]:case _0x51e8f5['g'][_0x56e89d(0xd58)]:case _0x51e8f5['g'][_0x56e89d(0x87f)]:case _0x51e8f5['g']['TEXTURETYPE_FLOAT_32_UNSIGNED_INT_24_8_REV']:{const _0x21ac8c=_0x8cd30d instanceof ArrayBuffer?new Uint32Array(_0x8cd30d):new Uint32Array(_0x8c89ca?_0x8cd30d/0x4:_0x8cd30d);return _0x4dfe95&&_0x21ac8c[_0x56e89d(0x83f)](new Uint32Array(_0x4dfe95)),_0x21ac8c;}case _0x51e8f5['g']['TEXTURETYPE_FLOAT']:{const _0x40b133=_0x8cd30d instanceof ArrayBuffer?new Float32Array(_0x8cd30d):new Float32Array(_0x8c89ca?_0x8cd30d/0x4:_0x8cd30d);return _0x4dfe95&&_0x40b133[_0x56e89d(0x83f)](new Float32Array(_0x4dfe95)),_0x40b133;}}ArrayBuffer;const _0x1a14f5=new Uint8Array(_0x8cd30d);return _0x4dfe95&&_0x1a14f5['set'](new Uint8Array(_0x4dfe95)),_0x1a14f5;}_0x49deba['B']['prototype'][_0x2c11f1(0x1fb)]=function(_0x374894,_0x477ca5,_0x267d27,_0x1653a3=-0x1,_0x41d375=0x0,_0x474c68=null,_0x3eaa99=!0x0,_0x3797a9=!0x1,_0xb11f28=0x0,_0xd44c21=0x0){var _0x47b8a6=_0x2c11f1;const _0x5384ca=this[_0x47b8a6(0x2cf)];if(!_0x5384ca)throw new Error(_0x47b8a6(0x41d));if(!this['_dummyFramebuffer']){var _0xe5cf0d=_0x5384ca[_0x47b8a6(0xa10)]();if(!_0xe5cf0d)throw new Error(_0x47b8a6(0xcfc));this[_0x47b8a6(0xab0)]=_0xe5cf0d;}_0x5384ca[_0x47b8a6(0xb8a)](_0x5384ca[_0x47b8a6(0x2a9)],this[_0x47b8a6(0xab0)]),-0x1<_0x1653a3?_0x5384ca[_0x47b8a6(0x6af)](_0x5384ca[_0x47b8a6(0x2a9)],_0x5384ca[_0x47b8a6(0x589)],_0x5384ca[_0x47b8a6(0x43d)]+_0x1653a3,null==(_0xe5cf0d=_0x374894[_0x47b8a6(0xa52)])?void 0x0:_0xe5cf0d[_0x47b8a6(0x51e)],_0x41d375):_0x5384ca[_0x47b8a6(0x6af)](_0x5384ca['FRAMEBUFFER'],_0x5384ca[_0x47b8a6(0x589)],_0x5384ca[_0x47b8a6(0x419)],null==(_0x1653a3=_0x374894['_hardwareTexture'])?void 0x0:_0x1653a3['underlyingResource'],_0x41d375);let _0x25ac0c=void 0x0!==_0x374894[_0x47b8a6(0x395)]?this['_getWebGLTextureType'](_0x374894[_0x47b8a6(0x395)]):_0x5384ca[_0x47b8a6(0x7fa)];return _0x3797a9?_0x474c68=_0x474c68||_0x5d8259(_0x374894[_0x47b8a6(0x395)],0x4*_0x477ca5*_0x267d27):_0x25ac0c=_0x25ac0c===_0x5384ca['UNSIGNED_BYTE']?(_0x474c68=_0x474c68||new Uint8Array(0x4*_0x477ca5*_0x267d27),_0x5384ca[_0x47b8a6(0x7fa)]):(_0x474c68=_0x474c68||new Float32Array(0x4*_0x477ca5*_0x267d27),_0x5384ca['FLOAT']),_0x3eaa99&&this[_0x47b8a6(0x1d2)](),_0x5384ca[_0x47b8a6(0x319)](_0xb11f28,_0xd44c21,_0x477ca5,_0x267d27,_0x5384ca['RGBA'],_0x25ac0c,_0x474c68),_0x5384ca[_0x47b8a6(0xb8a)](_0x5384ca[_0x47b8a6(0x2a9)],this['_currentFramebuffer']),_0x474c68;},_0x49deba['B'][_0x2c11f1(0x85a)][_0x2c11f1(0x9a4)]=function(_0x5b3c2d,_0x13a513,_0x4f6fa6,_0x22364b=-0x1,_0x1ca63a=0x0,_0x37a31b=null,_0x386f59=!0x0,_0x241cf=!0x1,_0x5eb6ed=0x0,_0x4cfe1c=0x0){var _0x575017=_0x2c11f1;return Promise[_0x575017(0xb1d)](this[_0x575017(0x1fb)](_0x5b3c2d,_0x13a513,_0x4f6fa6,_0x22364b,_0x1ca63a,_0x37a31b,_0x386f59,_0x241cf,_0x5eb6ed,_0x4cfe1c));};},0xd75:(_0x272bc8,_0x7b34b2,_0x2eda48)=>{var _0xac02ff=a7_0x425593,_0x3129cb=_0x2eda48(0x25b1),_0x34eb63=_0x2eda48(0x10ea4),_0x224d33=_0x2eda48(0x202a);class _0x4579ec extends _0x2eda48(0x758)['r']{constructor(_0x3ada50,_0x3d9498,_0x5e9700,_0x19adb3,_0x5e0559){var _0x1d2b5a=a7_0x5572;super(_0x3ada50,_0x3d9498,_0x5e9700,_0x19adb3),this[_0x1d2b5a(0x1bb)]=null,this[_0x1d2b5a(0x7e5)]=null,this[_0x1d2b5a(0x692)]=null,this['_colorTextureArray']=null,this[_0x1d2b5a(0x574)]=null,this[_0x1d2b5a(0x600)]=_0x5e0559;}['_cloneRenderTargetWrapper'](){var _0x542658=a7_0x5572;let _0x4fccb6=null;return this[_0x542658(0x9a8)]&&this[_0x542658(0x574)]?(_0x4fccb6=this[_0x542658(0xbfd)][_0x542658(0x83c)](this[_0x542658(0x639)],this[_0x542658(0x690)]))['texture']['isReady']=!0x0:_0x4fccb6=super[_0x542658(0xa39)](),_0x4fccb6;}[_0xac02ff(0xbf4)](_0x175b01){var _0x143e1d=_0xac02ff;super['_swapRenderTargetWrapper'](_0x175b01),_0x175b01[_0x143e1d(0x1bb)]=this[_0x143e1d(0x1bb)],_0x175b01[_0x143e1d(0x7e5)]=this[_0x143e1d(0x7e5)],_0x175b01[_0x143e1d(0x692)]=this[_0x143e1d(0x692)],_0x175b01['_colorTextureArray']=this[_0x143e1d(0x9a8)],_0x175b01[_0x143e1d(0x574)]=this[_0x143e1d(0x574)],this[_0x143e1d(0x1bb)]=this[_0x143e1d(0x7e5)]=this[_0x143e1d(0x692)]=this[_0x143e1d(0x9a8)]=this[_0x143e1d(0x574)]=null;}['_shareDepth'](_0x40e63e){var _0x4006d5=_0xac02ff;super[_0x4006d5(0x368)](_0x40e63e);const _0x59ed36=this['_context'];var _0x51e381=this[_0x4006d5(0x7e5)],_0x3d8516=_0x40e63e[_0x4006d5(0x692)]||_0x40e63e[_0x4006d5(0x1bb)];_0x40e63e[_0x4006d5(0x7e5)]&&_0x59ed36[_0x4006d5(0xa2b)](_0x40e63e['_depthStencilBuffer']),_0x40e63e[_0x4006d5(0x7e5)]=this[_0x4006d5(0x7e5)],this['_engine'][_0x4006d5(0x949)](_0x3d8516),_0x59ed36[_0x4006d5(0x788)](_0x59ed36['FRAMEBUFFER'],_0x59ed36['DEPTH_ATTACHMENT'],_0x59ed36[_0x4006d5(0xd73)],_0x51e381),this['_engine'][_0x4006d5(0x949)](null);}[_0xac02ff(0x885)](_0x57a475,_0xa45d77=0x0,_0x25d30c,_0xcaf407=0x0){var _0x343ad0=_0xac02ff;if(_0x57a475[_0x343ad0(0xa52)]){var _0x5aa931=this[_0x343ad0(0x1bb)],_0x43c238=this['_engine']['_currentFramebuffer'];if(this[_0x343ad0(0xbfd)][_0x343ad0(0x949)](_0x5aa931),0x1<this[_0x343ad0(0xbfd)][_0x343ad0(0x7c6)]){const _0x1f9818=this[_0x343ad0(0x600)];_0x5aa931=_0x1f9818['COLOR_ATTACHMENT'+_0xa45d77],_0x57a475[_0x343ad0(0x432)]||_0x57a475['is3D']?(_0x25d30c=null!=(_0x156534=null!=_0x25d30c?_0x25d30c:null==(_0x156534=this['layerIndices'])?void 0x0:_0x156534[_0xa45d77])?_0x156534:0x0,_0x1f9818[_0x343ad0(0xc89)](_0x1f9818['FRAMEBUFFER'],_0x5aa931,_0x57a475['_hardwareTexture']['underlyingResource'],_0xcaf407,_0x25d30c)):_0x57a475[_0x343ad0(0x5ca)]?(_0x25d30c=null!=(_0x156534=null!=_0x25d30c?_0x25d30c:null==(_0x156534=this['faceIndices'])?void 0x0:_0x156534[_0xa45d77])?_0x156534:0x0,_0x1f9818[_0x343ad0(0x6af)](_0x1f9818['FRAMEBUFFER'],_0x5aa931,_0x1f9818[_0x343ad0(0x43d)]+_0x25d30c,_0x57a475[_0x343ad0(0xa52)][_0x343ad0(0x51e)],_0xcaf407)):_0x1f9818[_0x343ad0(0x6af)](_0x1f9818[_0x343ad0(0x2a9)],_0x5aa931,_0x1f9818[_0x343ad0(0x419)],_0x57a475[_0x343ad0(0xa52)][_0x343ad0(0x51e)],_0xcaf407);}else{const _0x2f0b27=this[_0x343ad0(0x600)];var _0x156534=_0x2f0b27['COLOR_ATTACHMENT'+_0xa45d77+_0x343ad0(0x494)],_0x5aa931=void 0x0!==_0x25d30c?_0x2f0b27[_0x343ad0(0x43d)]+_0x25d30c:_0x2f0b27[_0x343ad0(0x419)];_0x2f0b27['framebufferTexture2D'](_0x2f0b27[_0x343ad0(0x2a9)],_0x156534,_0x5aa931,_0x57a475['_hardwareTexture']['underlyingResource'],_0xcaf407);}this[_0x343ad0(0xbfd)][_0x343ad0(0x949)](_0x43c238);}}[_0xac02ff(0x1c0)](_0x220917,_0x1350bd=0x0,_0x44d891=!0x0){var _0x639f95=_0xac02ff;super[_0x639f95(0x1c0)](_0x220917,_0x1350bd,_0x44d891),this[_0x639f95(0x885)](_0x220917,_0x1350bd);}[_0xac02ff(0x5fc)](_0x12a09d,_0x3f97ff){var _0x3997aa=_0xac02ff;if(super[_0x3997aa(0x5fc)](_0x12a09d,_0x3f97ff),this[_0x3997aa(0x649)]&&this[_0x3997aa(0x426)]&&this[_0x3997aa(0xc73)]){var _0x19b23b=null!=(_0x3f97ff=null==(_0x12a09d=this[_0x3997aa(0x3f1)])?void 0x0:_0x12a09d['length'])?_0x3f97ff:this[_0x3997aa(0x649)][_0x3997aa(0x86e)];for(let _0x409536=0x0;_0x409536<_0x19b23b;_0x409536++){var _0xa3a044=this[_0x3997aa(0x649)][_0x409536];_0xa3a044&&(_0xa3a044[_0x3997aa(0x432)]||_0xa3a044[_0x3997aa(0x1ce)]?this['_bindTextureRenderTarget'](_0xa3a044,_0x409536,this[_0x3997aa(0x426)][_0x409536]):_0xa3a044['isCube']?this[_0x3997aa(0x885)](_0xa3a044,_0x409536,this[_0x3997aa(0xc73)][_0x409536]):this[_0x3997aa(0x885)](_0xa3a044,_0x409536));}}}[_0xac02ff(0x457)](_0x365dc8=0x0,_0x317da4,_0x2324b7){var _0xd8aed4=_0xac02ff;super[_0xd8aed4(0x457)](_0x365dc8,_0x317da4,_0x2324b7),this[_0xd8aed4(0x649)]&&this[_0xd8aed4(0x426)]&&this[_0xd8aed4(0xc73)]&&((_0x317da4=this[_0xd8aed4(0x649)][_0x365dc8])[_0xd8aed4(0x432)]||_0x317da4['is3D']?this[_0xd8aed4(0x885)](this[_0xd8aed4(0x649)][_0x365dc8],_0x365dc8,this[_0xd8aed4(0x426)][_0x365dc8]):_0x317da4[_0xd8aed4(0x5ca)]&&this[_0xd8aed4(0x885)](this['textures'][_0x365dc8],_0x365dc8,this[_0xd8aed4(0xc73)][_0x365dc8]));}['dispose'](_0x43596f=!0x1){var _0x15b0b3=_0xac02ff;const _0xb13f23=this[_0x15b0b3(0x600)];_0x43596f||(this['_colorTextureArray']&&(this[_0x15b0b3(0x600)][_0x15b0b3(0xc61)](this[_0x15b0b3(0x9a8)]),this['_colorTextureArray']=null),this[_0x15b0b3(0x574)]&&(this[_0x15b0b3(0x600)]['deleteTexture'](this[_0x15b0b3(0x574)]),this[_0x15b0b3(0x574)]=null)),this[_0x15b0b3(0x1bb)]&&(_0xb13f23[_0x15b0b3(0x17f)](this['_framebuffer']),this['_framebuffer']=null),this['_depthStencilBuffer']&&(_0xb13f23[_0x15b0b3(0xa2b)](this['_depthStencilBuffer']),this['_depthStencilBuffer']=null),this['_MSAAFramebuffer']&&(_0xb13f23['deleteFramebuffer'](this[_0x15b0b3(0x692)]),this[_0x15b0b3(0x692)]=null),super[_0x15b0b3(0x1cb)](_0x43596f);}}var _0x6bbe34=_0x2eda48(0x77a5);_0x224d33['B'][_0xac02ff(0x85a)][_0xac02ff(0x90e)]=function(_0x5f198e,_0x3af121,_0x214d71){var _0x5a074a=_0xac02ff;return _0x5f198e=new _0x4579ec(_0x5f198e,_0x3af121,_0x214d71,this,this[_0x5a074a(0x2cf)]),(this[_0x5a074a(0x6e2)][_0x5a074a(0x303)](_0x5f198e),_0x5f198e);},_0x224d33['B'][_0xac02ff(0x85a)]['createRenderTargetTexture']=function(_0x4a1bf6,_0x581d7e){var _0x4d3b06=_0xac02ff;const _0x5acb35=this[_0x4d3b06(0x90e)](!0x1,!0x1,_0x4a1bf6);let _0x467290=!0x0,_0x42c311=!0x1,_0x4c49e1=!0x1,_0x29ec85=void 0x0,_0x1e91d3=0x1;void 0x0!==_0x581d7e&&_0x4d3b06(0x2e9)==typeof _0x581d7e&&(_0x467290=null==(_0x4f14af=_0x581d7e['generateDepthBuffer'])||_0x4f14af,_0x42c311=!!_0x581d7e[_0x4d3b06(0x2eb)],_0x4c49e1=!!_0x581d7e['noColorAttachment'],_0x29ec85=_0x581d7e['colorAttachment'],_0x1e91d3=null!=(_0x4f14af=_0x581d7e[_0x4d3b06(0x3a8)])?_0x4f14af:0x1);var _0x4f14af=_0x29ec85||(_0x4c49e1?null:this[_0x4d3b06(0x830)](_0x4a1bf6,_0x581d7e,!0x0,_0x3129cb['S'][_0x4d3b06(0xb7d)])),_0x581d7e=_0x4a1bf6[_0x4d3b06(0x639)]||_0x4a1bf6,_0x4a1bf6=_0x4a1bf6['height']||_0x4a1bf6,_0x2f8e1f=this['_currentFramebuffer'];const _0x1c0a4c=this[_0x4d3b06(0x2cf)];var _0x417923=_0x1c0a4c[_0x4d3b06(0xa10)]();return this[_0x4d3b06(0x949)](_0x417923),_0x5acb35[_0x4d3b06(0x7e5)]=this['_setupFramebufferDepthAttachments'](_0x42c311,_0x467290,_0x581d7e,_0x4a1bf6),_0x4f14af&&!_0x4f14af[_0x4d3b06(0x432)]&&_0x1c0a4c['framebufferTexture2D'](_0x1c0a4c[_0x4d3b06(0x2a9)],_0x1c0a4c['COLOR_ATTACHMENT0'],_0x1c0a4c[_0x4d3b06(0x419)],_0x4f14af['_hardwareTexture'][_0x4d3b06(0x51e)],0x0),this[_0x4d3b06(0x949)](_0x2f8e1f),_0x5acb35['_framebuffer']=_0x417923,_0x5acb35[_0x4d3b06(0x275)]=_0x467290,_0x5acb35[_0x4d3b06(0x5e6)]=_0x42c311,_0x5acb35[_0x4d3b06(0x6cc)](_0x4f14af),this[_0x4d3b06(0xbd8)](_0x5acb35,_0x1e91d3),_0x5acb35;},_0x224d33['B'][_0xac02ff(0x85a)][_0xac02ff(0xce4)]=function(_0x32cd7b,_0x4ab91b,_0x121111){var _0x3242a0=_0xac02ff,_0x3f40be;return _0x4ab91b[_0x3242a0(0x5ca)]?(_0x3f40be=_0x32cd7b['width']||_0x32cd7b,this[_0x3242a0(0x992)](_0x3f40be,_0x4ab91b,_0x121111)):this[_0x3242a0(0x442)](_0x32cd7b,_0x4ab91b,_0x121111);},_0x224d33['B'][_0xac02ff(0x85a)]['_createDepthStencilTexture']=function(_0x14f2fb,_0x323bde,_0x2eac1c){var _0xa54b4b=_0xac02ff;const _0x43e4a6=this[_0xa54b4b(0x2cf)];var _0x367498=_0x14f2fb[_0xa54b4b(0x9b5)]||0x0,_0x49859a=0x0!==_0x367498?_0x43e4a6['TEXTURE_2D_ARRAY']:_0x43e4a6['TEXTURE_2D'];const _0x3bf6d9=new _0x3129cb['l'](this,_0x3129cb['S'][_0xa54b4b(0xa17)]);if(!this[_0xa54b4b(0xd61)][_0xa54b4b(0x8d5)])return _0x34eb63['Y'][_0xa54b4b(0xcd8)](_0xa54b4b(0x947)),_0x3bf6d9;_0x323bde=Object[_0xa54b4b(0xb31)]({'bilinearFiltering':!0x1,'comparisonFunction':0x0,'generateStencil':!0x1},_0x323bde);if(this[_0xa54b4b(0x1e8)](_0x49859a,_0x3bf6d9,!0x0),this[_0xa54b4b(0xb01)](_0x3bf6d9,_0x14f2fb,_0x323bde['generateStencil'],0x0!==_0x323bde[_0xa54b4b(0xb05)]&&_0x323bde[_0xa54b4b(0x1aa)],_0x323bde[_0xa54b4b(0xb05)],_0x323bde[_0xa54b4b(0x3a8)]),void 0x0!==_0x323bde['depthTextureFormat']){if(_0x323bde[_0xa54b4b(0xc32)]!==_0x6bbe34['g'][_0xa54b4b(0xb46)]&&_0x323bde[_0xa54b4b(0xc32)]!==_0x6bbe34['g'][_0xa54b4b(0x7b7)]&&_0x323bde[_0xa54b4b(0xc32)]!==_0x6bbe34['g']['TEXTUREFORMAT_DEPTH24UNORM_STENCIL8']&&_0x323bde[_0xa54b4b(0xc32)]!==_0x6bbe34['g'][_0xa54b4b(0x9e7)]&&_0x323bde[_0xa54b4b(0xc32)]!==_0x6bbe34['g'][_0xa54b4b(0x2a6)]&&_0x323bde[_0xa54b4b(0xc32)]!==_0x6bbe34['g'][_0xa54b4b(0x6c1)])return _0x34eb63['Y'][_0xa54b4b(0xcd8)](_0xa54b4b(0x936)),_0x3bf6d9;_0x3bf6d9[_0xa54b4b(0x1a4)]=_0x323bde[_0xa54b4b(0xc32)];}else _0x3bf6d9[_0xa54b4b(0x1a4)]=_0x323bde[_0xa54b4b(0x5df)]?_0x6bbe34['g'][_0xa54b4b(0x9e7)]:_0x6bbe34['g'][_0xa54b4b(0x7b7)];_0x14f2fb=_0x3bf6d9[_0xa54b4b(0x1a4)]===_0x6bbe34['g'][_0xa54b4b(0x384)]||_0x3bf6d9[_0xa54b4b(0x1a4)]===_0x6bbe34['g'][_0xa54b4b(0x9e7)]||_0x3bf6d9[_0xa54b4b(0x1a4)]===_0x6bbe34['g']['TEXTUREFORMAT_DEPTH32FLOAT_STENCIL8'],(_0x2eac1c[_0xa54b4b(0xd6d)]=_0x3bf6d9,_0x2eac1c[_0xa54b4b(0x42d)]=_0x14f2fb);let _0x570f22=_0x43e4a6[_0xa54b4b(0x2fa)];_0x3bf6d9[_0xa54b4b(0x1a4)]===_0x6bbe34['g'][_0xa54b4b(0xb46)]?_0x570f22=_0x43e4a6['UNSIGNED_SHORT']:_0x3bf6d9[_0xa54b4b(0x1a4)]===_0x6bbe34['g'][_0xa54b4b(0x384)]||_0x3bf6d9['format']===_0x6bbe34['g'][_0xa54b4b(0x9e7)]?_0x570f22=_0x43e4a6[_0xa54b4b(0xcd0)]:_0x3bf6d9['format']===_0x6bbe34['g'][_0xa54b4b(0x2a6)]?_0x570f22=_0x43e4a6[_0xa54b4b(0x995)]:_0x3bf6d9[_0xa54b4b(0x1a4)]===_0x6bbe34['g'][_0xa54b4b(0x6c1)]&&(_0x570f22=_0x43e4a6[_0xa54b4b(0x35b)]),_0x323bde=_0x14f2fb?_0x43e4a6[_0xa54b4b(0x4e0)]:_0x43e4a6[_0xa54b4b(0x732)];let _0x5117c4=_0x323bde;0x1<this[_0xa54b4b(0x7c6)]&&(_0x3bf6d9[_0xa54b4b(0x1a4)]===_0x6bbe34['g'][_0xa54b4b(0xb46)]?_0x5117c4=_0x43e4a6[_0xa54b4b(0xb40)]:_0x3bf6d9[_0xa54b4b(0x1a4)]===_0x6bbe34['g']['TEXTUREFORMAT_DEPTH24']?_0x5117c4=_0x43e4a6[_0xa54b4b(0x7b8)]:_0x3bf6d9[_0xa54b4b(0x1a4)]===_0x6bbe34['g'][_0xa54b4b(0x384)]||_0x3bf6d9[_0xa54b4b(0x1a4)]===_0x6bbe34['g'][_0xa54b4b(0x9e7)]?_0x5117c4=_0x43e4a6[_0xa54b4b(0x3af)]:_0x3bf6d9['format']===_0x6bbe34['g'][_0xa54b4b(0x2a6)]?_0x5117c4=_0x43e4a6['DEPTH_COMPONENT32F']:_0x3bf6d9[_0xa54b4b(0x1a4)]===_0x6bbe34['g'][_0xa54b4b(0x6c1)]&&(_0x5117c4=_0x43e4a6[_0xa54b4b(0x6eb)])),_0x3bf6d9['is2DArray']?_0x43e4a6[_0xa54b4b(0x86a)](_0x49859a,0x0,_0x5117c4,_0x3bf6d9[_0xa54b4b(0x639)],_0x3bf6d9[_0xa54b4b(0x690)],_0x367498,0x0,_0x323bde,_0x570f22,null):_0x43e4a6[_0xa54b4b(0xcb0)](_0x49859a,0x0,_0x5117c4,_0x3bf6d9[_0xa54b4b(0x639)],_0x3bf6d9[_0xa54b4b(0x690)],0x0,_0x323bde,_0x570f22,null),this[_0xa54b4b(0x1e8)](_0x49859a,null),this[_0xa54b4b(0xd27)][_0xa54b4b(0x303)](_0x3bf6d9);const _0x1cdd75=_0x2eac1c;return _0x1cdd75[_0xa54b4b(0x7e5)]&&(_0x14f2fb=this[_0xa54b4b(0x914)],this['_bindUnboundFramebuffer'](_0x1cdd75[_0xa54b4b(0x1bb)]),_0x43e4a6[_0xa54b4b(0x788)](_0x43e4a6[_0xa54b4b(0x2a9)],_0x43e4a6[_0xa54b4b(0x3de)],_0x43e4a6[_0xa54b4b(0xd73)],null),_0x43e4a6[_0xa54b4b(0x788)](_0x43e4a6[_0xa54b4b(0x2a9)],_0x43e4a6[_0xa54b4b(0x21f)],_0x43e4a6[_0xa54b4b(0xd73)],null),_0x43e4a6[_0xa54b4b(0x788)](_0x43e4a6[_0xa54b4b(0x2a9)],_0x43e4a6['STENCIL_ATTACHMENT'],_0x43e4a6['RENDERBUFFER'],null),this[_0xa54b4b(0x949)](_0x14f2fb),_0x43e4a6[_0xa54b4b(0xa2b)](_0x1cdd75[_0xa54b4b(0x7e5)]),_0x1cdd75[_0xa54b4b(0x7e5)]=null),_0x3bf6d9;},_0x224d33['B'][_0xac02ff(0x85a)][_0xac02ff(0xbd8)]=function(_0x182867,_0x4f0741){var _0x3b6349=_0xac02ff;if(this[_0x3b6349(0x7c6)]<0x2||!_0x182867||!_0x182867[_0x3b6349(0x7c5)])return 0x1;if(_0x182867[_0x3b6349(0x3a8)]===_0x4f0741)return _0x4f0741;const _0x375584=this[_0x3b6349(0x2cf)],_0x9ae1df=(_0x4f0741=Math[_0x3b6349(0x951)](_0x4f0741,this[_0x3b6349(0xa51)]()['maxMSAASamples']),_0x182867[_0x3b6349(0x7e5)]&&(_0x375584['deleteRenderbuffer'](_0x182867[_0x3b6349(0x7e5)]),_0x182867[_0x3b6349(0x7e5)]=null),_0x182867[_0x3b6349(0x692)]&&(_0x375584['deleteFramebuffer'](_0x182867[_0x3b6349(0x692)]),_0x182867['_MSAAFramebuffer']=null),_0x182867[_0x3b6349(0x7c5)][_0x3b6349(0xa52)]);if(_0x9ae1df['releaseMSAARenderBuffers'](),0x1<_0x4f0741&&_0x3b6349(0xbd4)==typeof _0x375584[_0x3b6349(0x67d)]){var _0x1d7d6b=_0x375584['createFramebuffer']();if(!_0x1d7d6b)throw new Error(_0x3b6349(0x5f0));_0x182867[_0x3b6349(0x692)]=_0x1d7d6b,this['_bindUnboundFramebuffer'](_0x182867[_0x3b6349(0x692)]),_0x1d7d6b=this[_0x3b6349(0x747)](_0x182867['texture'][_0x3b6349(0x639)],_0x182867[_0x3b6349(0x7c5)]['height'],_0x4f0741,-0x1,this[_0x3b6349(0x498)](_0x182867[_0x3b6349(0x7c5)]['type']),_0x375584[_0x3b6349(0x589)],!0x1);if(!_0x1d7d6b)throw new Error(_0x3b6349(0x5f0));_0x9ae1df[_0x3b6349(0xd7e)](_0x1d7d6b);}else this[_0x3b6349(0x949)](_0x182867[_0x3b6349(0x1bb)]);return _0x182867[_0x3b6349(0x7c5)][_0x3b6349(0x3a8)]=_0x4f0741,_0x182867[_0x3b6349(0x26a)]=_0x4f0741,_0x182867['_depthStencilBuffer']=this[_0x3b6349(0x754)](_0x182867['_generateStencilBuffer'],_0x182867[_0x3b6349(0x275)],_0x182867[_0x3b6349(0x7c5)][_0x3b6349(0x639)],_0x182867[_0x3b6349(0x7c5)][_0x3b6349(0x690)],_0x4f0741),this[_0x3b6349(0x949)](null),_0x4f0741;};},0xf29:(_0x1f50f9,_0x391845,_0x3d2c61)=>{var _0x4f1f17=a7_0x425593,_0x19b46a=_0x3d2c61(0x25b1),_0x109f05=_0x3d2c61(0x10ea4),_0x5c7ad0=_0x3d2c61(0x77a5);_0x3d2c61(0x202a)['B'][_0x4f1f17(0x85a)][_0x4f1f17(0x1cc)]=function(_0x47fe20,_0x44d862){var _0x543bc4=_0x4f1f17;const _0x466e77=this[_0x543bc4(0x90e)](!0x1,!0x0,_0x47fe20),_0x483f3e=Object[_0x543bc4(0xb31)]({'generateMipMaps':!0x0,'generateDepthBuffer':!0x0,'generateStencilBuffer':!0x1,'type':_0x5c7ad0['g'][_0x543bc4(0xd0a)],'samplingMode':_0x5c7ad0['g'][_0x543bc4(0x19f)],'format':_0x5c7ad0['g']['TEXTUREFORMAT_RGBA']},_0x44d862),_0x6bbcec=(_0x483f3e[_0x543bc4(0x2eb)]=_0x483f3e[_0x543bc4(0xcb4)]&&_0x483f3e[_0x543bc4(0x2eb)],(_0x483f3e[_0x543bc4(0x395)]===_0x5c7ad0['g']['TEXTURETYPE_FLOAT']&&!this[_0x543bc4(0xd61)][_0x543bc4(0x6f2)]||_0x483f3e['type']===_0x5c7ad0['g']['TEXTURETYPE_HALF_FLOAT']&&!this[_0x543bc4(0xd61)][_0x543bc4(0xa83)])&&(_0x483f3e['samplingMode']=_0x5c7ad0['g'][_0x543bc4(0x97f)]),this['_gl']),_0x5941be=new _0x19b46a['l'](this,_0x19b46a['S'][_0x543bc4(0xb7d)]);this[_0x543bc4(0x1e8)](_0x6bbcec['TEXTURE_CUBE_MAP'],_0x5941be,!0x0),_0x44d862=this[_0x543bc4(0xb59)](_0x483f3e[_0x543bc4(0x1b4)],_0x483f3e[_0x543bc4(0x8ed)]),(_0x483f3e[_0x543bc4(0x395)]!==_0x5c7ad0['g'][_0x543bc4(0x937)]||this[_0x543bc4(0xd61)][_0x543bc4(0x4dd)]||(_0x483f3e[_0x543bc4(0x395)]=_0x5c7ad0['g'][_0x543bc4(0xd0a)],_0x109f05['Y'][_0x543bc4(0xcb2)](_0x543bc4(0x569))),_0x6bbcec[_0x543bc4(0x94d)](_0x6bbcec[_0x543bc4(0x8b3)],_0x6bbcec[_0x543bc4(0x274)],_0x44d862[_0x543bc4(0x640)]),_0x6bbcec[_0x543bc4(0x94d)](_0x6bbcec[_0x543bc4(0x8b3)],_0x6bbcec['TEXTURE_MIN_FILTER'],_0x44d862[_0x543bc4(0x951)]),_0x6bbcec[_0x543bc4(0x94d)](_0x6bbcec[_0x543bc4(0x8b3)],_0x6bbcec[_0x543bc4(0x44b)],_0x6bbcec['CLAMP_TO_EDGE']),_0x6bbcec[_0x543bc4(0x94d)](_0x6bbcec[_0x543bc4(0x8b3)],_0x6bbcec['TEXTURE_WRAP_T'],_0x6bbcec[_0x543bc4(0x8b4)]));for(let _0x54a655=0x0;_0x54a655<0x6;_0x54a655++)_0x6bbcec[_0x543bc4(0xcb0)](_0x6bbcec[_0x543bc4(0x43d)]+_0x54a655,0x0,this[_0x543bc4(0x9be)](_0x483f3e[_0x543bc4(0x395)],_0x483f3e[_0x543bc4(0x1a4)]),_0x47fe20,_0x47fe20,0x0,this[_0x543bc4(0x7ee)](_0x483f3e[_0x543bc4(0x1a4)]),this[_0x543bc4(0x2e6)](_0x483f3e[_0x543bc4(0x395)]),null);return _0x44d862=_0x6bbcec[_0x543bc4(0xa10)](),(this[_0x543bc4(0x949)](_0x44d862),_0x466e77[_0x543bc4(0x7e5)]=this[_0x543bc4(0x754)](_0x483f3e[_0x543bc4(0x2eb)],_0x483f3e[_0x543bc4(0xcb4)],_0x47fe20,_0x47fe20),_0x483f3e[_0x543bc4(0x8ed)]&&_0x6bbcec[_0x543bc4(0x803)](_0x6bbcec[_0x543bc4(0x8b3)]),this[_0x543bc4(0x1e8)](_0x6bbcec['TEXTURE_CUBE_MAP'],null),this[_0x543bc4(0x949)](null),_0x466e77['_framebuffer']=_0x44d862,_0x466e77[_0x543bc4(0x275)]=_0x483f3e[_0x543bc4(0xcb4)],_0x466e77[_0x543bc4(0x5e6)]=_0x483f3e['generateStencilBuffer'],_0x5941be[_0x543bc4(0x639)]=_0x47fe20,_0x5941be[_0x543bc4(0x690)]=_0x47fe20,_0x5941be[_0x543bc4(0x21c)]=!0x0,_0x5941be[_0x543bc4(0x5ca)]=!0x0,_0x5941be[_0x543bc4(0x3a8)]=0x1,_0x5941be[_0x543bc4(0x8ed)]=_0x483f3e['generateMipMaps'],_0x5941be['samplingMode']=_0x483f3e['samplingMode'],_0x5941be[_0x543bc4(0x395)]=_0x483f3e[_0x543bc4(0x395)],_0x5941be[_0x543bc4(0x1a4)]=_0x483f3e[_0x543bc4(0x1a4)],this['_internalTexturesCache'][_0x543bc4(0x303)](_0x5941be),_0x466e77[_0x543bc4(0x6cc)](_0x5941be),_0x466e77);};},0x2505:(_0x326807,_0x249c45,_0x11358a)=>{var _0x4ddf58=a7_0x425593;_0x11358a=_0x11358a(0x202a),(_0x11358a['B'][_0x4ddf58(0x85a)][_0x4ddf58(0xd60)]=function(_0x2ed5e2,_0x547cb1){var _0x1f87ab=_0x4ddf58;throw new Error(_0x1f87ab(0x2e0));},_0x11358a['B'][_0x4ddf58(0x85a)][_0x4ddf58(0x6a6)]=function(_0x5009bc,_0x39276b,_0xf80162,_0x5cd002){},_0x11358a['B'][_0x4ddf58(0x85a)]['readFromStorageBuffer']=function(_0x2a5900,_0x176b7a,_0x3bf877,_0xaaf05c){var _0x33325e=_0x4ddf58;throw new Error(_0x33325e(0x771));},_0x11358a['B']['prototype']['setStorageBuffer']=function(_0x3b07a6,_0x5571f5){var _0x4ca695=_0x4ddf58;throw new Error(_0x4ca695(0xd32));});},0x100b5:(_0x20266b,_0x4c1a15,_0x1ccc24)=>{var _0x45bd73=a7_0x425593;_0x1ccc24(0x202a)['B'][_0x45bd73(0x85a)]['setTextureSampler']=function(_0xde19fa,_0x155cba){throw new Error('setTextureSampler:\x20This\x20engine\x20does\x20not\x20support\x20separate\x20texture\x20sampler\x20objects!');};},0x4c3:(_0x2c4750,_0x45a405,_0x17a171)=>{var _0x4b55ba=a7_0x425593;_0x17a171=_0x17a171(0xee04);function _0x21683d(_0x3811af){var _0x4584f7=a7_0x5572;if(this[_0x4584f7(0xac6)]&&this[_0x4584f7(0xac6)][_0x4584f7(0x55b)](_0x42273e=>_0x3811af&&(_0x3811af===_0x42273e||_0x3811af[_0x4584f7(0x81a)](new RegExp('\x5cb'+_0x42273e+'\x5cb','g')))))return _0x3811af;var _0x41918e=_0x3811af['lastIndexOf']('.'),_0x258dee=_0x3811af['lastIndexOf']('?'),_0x258dee=-0x1<_0x258dee?_0x3811af[_0x4584f7(0x5e0)](_0x258dee,_0x3811af[_0x4584f7(0x86e)]):'';return(-0x1<_0x41918e?_0x3811af[_0x4584f7(0x5e0)](0x0,_0x41918e):_0x3811af)+this['_textureFormatInUse']+_0x258dee;}Object[_0x4b55ba(0x38c)](_0x17a171['D'][_0x4b55ba(0x85a)],'texturesSupported',{'get':function(){var _0x3e6454=_0x4b55ba;const _0x2d944d=new Array();return this[_0x3e6454(0xd61)][_0x3e6454(0x892)]&&_0x2d944d[_0x3e6454(0x303)](_0x3e6454(0xa9d)),this[_0x3e6454(0xd61)]['s3tc']&&_0x2d944d[_0x3e6454(0x303)](_0x3e6454(0xd66)),this['_caps']['pvrtc']&&_0x2d944d['push'](_0x3e6454(0x257)),this[_0x3e6454(0xd61)][_0x3e6454(0xb7e)]&&_0x2d944d['push']('-etc2.ktx'),this[_0x3e6454(0xd61)][_0x3e6454(0x67e)]&&_0x2d944d['push'](_0x3e6454(0x3ea)),_0x2d944d;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x4b55ba(0x38c)](_0x17a171['D'][_0x4b55ba(0x85a)],'textureFormatInUse',{'get':function(){var _0x5db28d=_0x4b55ba;return this[_0x5db28d(0x95e)]||null;},'enumerable':!0x0,'configurable':!0x0}),_0x17a171['D'][_0x4b55ba(0x85a)][_0x4b55ba(0x6c6)]=function(_0x3892e9){var _0x40fd29=_0x4b55ba;this[_0x40fd29(0xac6)]=_0x3892e9;},_0x17a171['D'][_0x4b55ba(0x85a)][_0x4b55ba(0x2ce)]=function(_0x4c8659){var _0x40378e=_0x4b55ba,_0x5a309c=this['texturesSupported'];for(let _0x145a54=0x0,_0x5e0742=_0x5a309c['length'];_0x145a54<_0x5e0742;_0x145a54++)for(let _0x1127ec=0x0,_0x498f22=_0x4c8659['length'];_0x1127ec<_0x498f22;_0x1127ec++)if(_0x5a309c[_0x145a54]===_0x4c8659[_0x1127ec]['toLowerCase']())return this[_0x40378e(0xcf1)]=_0x21683d[_0x40378e(0xc63)](this),this['_textureFormatInUse']=_0x5a309c[_0x145a54];return this[_0x40378e(0x95e)]='',this[_0x40378e(0xcf1)]=null;};},0xa758:(_0x20c78b,_0x414b7a,_0x2409ce)=>{var _0x33c33e=a7_0x425593,_0x2259ce=_0x2409ce(0x202a),_0xde3681=_0x2409ce(0xc7ed);_0x2259ce['B']['prototype'][_0x33c33e(0x671)]=function(_0xecd2ad){var _0x1696ed=_0x33c33e,_0x421d07=this['_gl']['createBuffer']();if(!_0x421d07)throw new Error(_0x1696ed(0xa6a));const _0x42937b=new _0xde3681['M'](_0x421d07);return this[_0x1696ed(0x4b6)](_0x42937b),_0xecd2ad instanceof Float32Array?this[_0x1696ed(0x2cf)][_0x1696ed(0x8b5)](this['_gl']['UNIFORM_BUFFER'],_0xecd2ad,this[_0x1696ed(0x2cf)][_0x1696ed(0x57a)]):this[_0x1696ed(0x2cf)]['bufferData'](this['_gl'][_0x1696ed(0x455)],new Float32Array(_0xecd2ad),this[_0x1696ed(0x2cf)][_0x1696ed(0x57a)]),this[_0x1696ed(0x4b6)](null),_0x42937b[_0x1696ed(0x249)]=0x1,_0x42937b;},_0x2259ce['B'][_0x33c33e(0x85a)][_0x33c33e(0xbb3)]=function(_0x3c51d1){var _0x48983b=_0x33c33e,_0x563eb2=this[_0x48983b(0x2cf)][_0x48983b(0x983)]();if(!_0x563eb2)throw new Error(_0x48983b(0xb76));const _0x4f88f6=new _0xde3681['M'](_0x563eb2);return this[_0x48983b(0x4b6)](_0x4f88f6),_0x3c51d1 instanceof Float32Array?this[_0x48983b(0x2cf)][_0x48983b(0x8b5)](this[_0x48983b(0x2cf)][_0x48983b(0x455)],_0x3c51d1,this['_gl'][_0x48983b(0x3ca)]):this[_0x48983b(0x2cf)][_0x48983b(0x8b5)](this[_0x48983b(0x2cf)][_0x48983b(0x455)],new Float32Array(_0x3c51d1),this['_gl'][_0x48983b(0x3ca)]),this[_0x48983b(0x4b6)](null),_0x4f88f6[_0x48983b(0x249)]=0x1,_0x4f88f6;},_0x2259ce['B']['prototype'][_0x33c33e(0xd76)]=function(_0x5a4f89,_0x42d3ad,_0x32dbd6,_0x1e2fbf){var _0x27c0ad=_0x33c33e;this[_0x27c0ad(0x4b6)](_0x5a4f89),void 0x0===_0x32dbd6&&(_0x32dbd6=0x0),void 0x0===_0x1e2fbf?_0x42d3ad instanceof Float32Array?this[_0x27c0ad(0x2cf)][_0x27c0ad(0xbe9)](this[_0x27c0ad(0x2cf)]['UNIFORM_BUFFER'],_0x32dbd6,_0x42d3ad):this[_0x27c0ad(0x2cf)]['bufferSubData'](this[_0x27c0ad(0x2cf)][_0x27c0ad(0x455)],_0x32dbd6,new Float32Array(_0x42d3ad)):_0x42d3ad instanceof Float32Array?this[_0x27c0ad(0x2cf)][_0x27c0ad(0xbe9)](this[_0x27c0ad(0x2cf)][_0x27c0ad(0x455)],0x0,_0x42d3ad[_0x27c0ad(0x521)](_0x32dbd6,_0x32dbd6+_0x1e2fbf)):this[_0x27c0ad(0x2cf)][_0x27c0ad(0xbe9)](this[_0x27c0ad(0x2cf)]['UNIFORM_BUFFER'],0x0,new Float32Array(_0x42d3ad)['subarray'](_0x32dbd6,_0x32dbd6+_0x1e2fbf)),this[_0x27c0ad(0x4b6)](null);},_0x2259ce['B'][_0x33c33e(0x85a)][_0x33c33e(0x4b6)]=function(_0x5e395d){var _0x257e34=_0x33c33e;this[_0x257e34(0x2cf)][_0x257e34(0xcb3)](this[_0x257e34(0x2cf)][_0x257e34(0x455)],_0x5e395d?_0x5e395d[_0x257e34(0x51e)]:null);},_0x2259ce['B'][_0x33c33e(0x85a)]['bindUniformBufferBase']=function(_0x15f0b8,_0x391902,_0x770369){var _0x16907b=_0x33c33e;this[_0x16907b(0x2cf)][_0x16907b(0xa65)](this[_0x16907b(0x2cf)]['UNIFORM_BUFFER'],_0x391902,_0x15f0b8?_0x15f0b8[_0x16907b(0x51e)]:null);},_0x2259ce['B'][_0x33c33e(0x85a)][_0x33c33e(0x583)]=function(_0x504752,_0x111ccf,_0x3b51b5){var _0x194bf9=_0x33c33e;_0x504752=_0x504752[_0x194bf9(0xc22)],_0x111ccf=this[_0x194bf9(0x2cf)]['getUniformBlockIndex'](_0x504752,_0x111ccf),0xffffffff!==_0x111ccf&&this[_0x194bf9(0x2cf)][_0x194bf9(0x543)](_0x504752,_0x111ccf,_0x3b51b5);};},0x89d3:(_0x38d2df,_0x1493b8,_0x529699)=>{var _0xcf4a55=a7_0x425593,_0x1ae60b=_0x529699(0x202a),_0x292262=_0x529699(0x77a5);_0x1ae60b['B'][_0xcf4a55(0x85a)][_0xcf4a55(0x201)]=function(_0x106973,_0xf04977,_0x2a4d12){var _0x390f72=_0xcf4a55;if(_0x106973&&!_0x106973['_isDisabled']){var _0x12a564=this['_getInternalFormat'](_0x106973[_0x390f72(0x1a4)]),_0x15c20d=this[_0x390f72(0x9be)](_0x292262['g']['TEXTURETYPE_UNSIGNED_BYTE'],_0x106973[_0x390f72(0x1a4)]),_0x391e62=this[_0x390f72(0x1e8)](this[_0x390f72(0x2cf)]['TEXTURE_2D'],_0x106973,!0x0);this[_0x390f72(0x2bd)](!_0x2a4d12);try{if(void 0x0===this[_0x390f72(0x74f)]&&(this[_0x390f72(0x2cf)][_0x390f72(0x79f)](),this[_0x390f72(0x2cf)][_0x390f72(0xcb0)](this[_0x390f72(0x2cf)][_0x390f72(0x419)],0x0,_0x15c20d,_0x12a564,this[_0x390f72(0x2cf)][_0x390f72(0x7fa)],_0xf04977),0x0!==this[_0x390f72(0x2cf)][_0x390f72(0x79f)]()?this[_0x390f72(0x74f)]=!0x1:this['_videoTextureSupported']=!0x0),this['_videoTextureSupported'])this[_0x390f72(0x2cf)][_0x390f72(0xcb0)](this['_gl'][_0x390f72(0x419)],0x0,_0x15c20d,_0x12a564,this[_0x390f72(0x2cf)][_0x390f72(0x7fa)],_0xf04977);else{if(!_0x106973['_workingCanvas']){_0x106973[_0x390f72(0x315)]=this[_0x390f72(0x2be)](_0x106973[_0x390f72(0x639)],_0x106973[_0x390f72(0x690)]);var _0x418e6d=_0x106973[_0x390f72(0x315)][_0x390f72(0x2f9)]('2d');if(!_0x418e6d)throw new Error(_0x390f72(0x37e));_0x106973[_0x390f72(0x4be)]=_0x418e6d,_0x106973[_0x390f72(0x315)][_0x390f72(0x639)]=_0x106973['width'],_0x106973[_0x390f72(0x315)][_0x390f72(0x690)]=_0x106973['height'];}_0x106973['_workingContext']['clearRect'](0x0,0x0,_0x106973[_0x390f72(0x639)],_0x106973['height']),_0x106973[_0x390f72(0x4be)][_0x390f72(0x9b3)](_0xf04977,0x0,0x0,_0xf04977[_0x390f72(0x66f)],_0xf04977[_0x390f72(0x1b1)],0x0,0x0,_0x106973[_0x390f72(0x639)],_0x106973[_0x390f72(0x690)]),this[_0x390f72(0x2cf)]['texImage2D'](this[_0x390f72(0x2cf)][_0x390f72(0x419)],0x0,_0x15c20d,_0x12a564,this[_0x390f72(0x2cf)][_0x390f72(0x7fa)],_0x106973['_workingCanvas']);}_0x106973[_0x390f72(0x8ed)]&&this[_0x390f72(0x2cf)][_0x390f72(0x803)](this['_gl'][_0x390f72(0x419)]),_0x391e62||this[_0x390f72(0x1e8)](this['_gl']['TEXTURE_2D'],null),_0x106973[_0x390f72(0x21c)]=!0x0;}catch(_0x2f40c6){_0x106973[_0x390f72(0x3cb)]=!0x0;}}};},0xeefc:(_0x7b73f7,_0x42296a,_0x3aa406)=>{var _0x449300=a7_0x425593,_0xd94515=_0x3aa406(0xee04),_0x4a9dcf=_0x3aa406(0xceed),_0x2eb12d=_0x3aa406(0xf96c),_0x3daede=_0x3aa406(0xe222),_0x1d887=_0x3aa406(0x18233);Object[_0x449300(0x38c)](_0xd94515['D'][_0x449300(0x85a)],_0x449300(0xbab),{'get':function(){var _0x10aec3=_0x449300;return this[_0x10aec3(0x943)];},'enumerable':!0x0,'configurable':!0x0}),_0xd94515['D']['prototype'][_0x449300(0xc9c)]=function(){var _0x5703aa=_0x449300;this[_0x5703aa(0xc76)]=!0x1,this[_0x5703aa(0x943)]=!0x1,this[_0x5703aa(0xaec)]=new _0x2eb12d['y$'](),this[_0x5703aa(0x5f9)]=new _0x2eb12d['y$'](),this[_0x5703aa(0x839)]=new _0x2eb12d['y$']();},_0xd94515['D'][_0x449300(0x85a)][_0x449300(0x816)]=function(){var _0x25adeb=_0x449300;return!!this[_0x25adeb(0x41e)];},_0xd94515['D'][_0x449300(0x85a)]['getVRDevice']=function(){var _0x54baf9=_0x449300;return this[_0x54baf9(0x41e)];},_0xd94515['D']['prototype'][_0x449300(0x60d)]=function(){var _0xa1a8c=_0x449300;return this[_0xa1a8c(0xcb8)](),this['onVRDisplayChangedObservable'];},_0xd94515['D'][_0x449300(0x85a)]['initWebVRAsync']=function(){var _0x151886=_0x449300;const _0x4b41a7=()=>{var _0x111836=a7_0x5572;const _0x3b133d={'vrDisplay':this[_0x111836(0x41e)],'vrSupported':this[_0x111836(0xc76)]};this[_0x111836(0xaec)][_0x111836(0x794)](_0x3b133d),this['_webVRInitPromise']=new Promise(_0x4bdea6=>{_0x4bdea6(_0x3b133d);});};if(!this[_0x151886(0xc8d)]){this[_0x151886(0xc8d)]=_0x25d267=>{var _0x20f681=_0x151886;this[_0x20f681(0x41e)]=_0x25d267[_0x20f681(0xb28)],_0x4b41a7();},this[_0x151886(0x842)]=()=>{var _0x2fcee5=_0x151886;this[_0x2fcee5(0x41e)][_0x2fcee5(0x339)](this[_0x2fcee5(0x2e5)]),this['_vrDisplay']=void 0x0,this[_0x2fcee5(0x2e5)]=_0xd94515['D'][_0x2fcee5(0xa37)](this[_0x2fcee5(0x9c2)]),_0x4b41a7();},this[_0x151886(0xb62)]=()=>{var _0x2e0b46=_0x151886;this[_0x2e0b46(0x943)]=this[_0x2e0b46(0x41e)]&&this[_0x2e0b46(0x41e)][_0x2e0b46(0xa1c)];};const _0x122b27=this[_0x151886(0x74d)]();_0x122b27&&(_0x122b27['addEventListener'](_0x151886(0x645),this[_0x151886(0xc8d)]),_0x122b27[_0x151886(0x388)](_0x151886(0xd3b),this['_onVrDisplayDisconnect']),_0x122b27['addEventListener'](_0x151886(0x7a6),this[_0x151886(0xb62)]));}return this['_webVRInitPromise']=this['_webVRInitPromise']||this[_0x151886(0xba8)](),this['_webVRInitPromise'][_0x151886(0x37c)](_0x4b41a7),this[_0x151886(0x990)];},_0xd94515['D'][_0x449300(0x85a)][_0x449300(0xba8)]=function(){return new Promise(_0x3b58b5=>{var _0x45c5a4=a7_0x5572;navigator[_0x45c5a4(0xb45)]?navigator[_0x45c5a4(0xb45)]()[_0x45c5a4(0x37c)](_0x216bbd=>{var _0x4233a1=_0x45c5a4;this[_0x4233a1(0xc76)]=!0x0,this[_0x4233a1(0x41e)]=_0x216bbd[0x0],_0x3b58b5({'vrDisplay':this['_vrDisplay'],'vrSupported':this[_0x4233a1(0xc76)]});}):(this[_0x45c5a4(0x41e)]=void 0x0,this[_0x45c5a4(0xc76)]=!0x1,_0x3b58b5({'vrDisplay':this[_0x45c5a4(0x41e)],'vrSupported':this[_0x45c5a4(0xc76)]}));});},_0xd94515['D'][_0x449300(0x85a)]['enableVR']=function(_0x3a8360){var _0x151b73=_0x449300;this[_0x151b73(0x41e)]&&!this[_0x151b73(0x41e)][_0x151b73(0xa1c)]&&(this['onVRRequestPresentStart'][_0x151b73(0x794)](this),_0x3a8360={'highRefreshRate':!!this[_0x151b73(0x612)]&&this['vrPresentationAttributes'][_0x151b73(0xb67)],'foveationLevel':this[_0x151b73(0x612)]?this[_0x151b73(0x612)]['foveationLevel']:0x1,'multiview':(this[_0x151b73(0xa51)]()[_0x151b73(0x79c)]||this[_0x151b73(0xa51)]()[_0x151b73(0x376)])&&_0x3a8360['useMultiview']},this[_0x151b73(0x41e)][_0x151b73(0x46b)]([Object[_0x151b73(0xb31)]({'source':this['getRenderingCanvas'](),'attributes':_0x3a8360},_0x3a8360)])[_0x151b73(0x37c)](()=>{var _0x24d959=_0x151b73;this['onVRRequestPresentComplete'][_0x24d959(0x794)](!0x0),this['_onVRFullScreenTriggered']();})[_0x151b73(0x60a)](()=>{var _0x16a1b3=_0x151b73;this[_0x16a1b3(0x5f9)][_0x16a1b3(0x794)](!0x1);}));},_0xd94515['D']['prototype']['_onVRFullScreenTriggered']=function(){var _0x5d6206=_0x449300,_0x79646c;this[_0x5d6206(0x41e)]&&this['_vrDisplay'][_0x5d6206(0xa1c)]?(this[_0x5d6206(0xb57)]=new _0x4a9dcf['$'](this[_0x5d6206(0x670)](),this[_0x5d6206(0x397)]()),this[_0x5d6206(0x847)]=this[_0x5d6206(0x1d3)](),_0x79646c=this[_0x5d6206(0x41e)][_0x5d6206(0x3b3)](_0x5d6206(0xbcd)),this[_0x5d6206(0x5ee)](0x1),this[_0x5d6206(0xc7b)](0x2*_0x79646c[_0x5d6206(0xa72)],_0x79646c[_0x5d6206(0xb07)])):(this[_0x5d6206(0x5ee)](this[_0x5d6206(0x847)]),this[_0x5d6206(0xc7b)](this[_0x5d6206(0xb57)][_0x5d6206(0x639)],this[_0x5d6206(0xb57)][_0x5d6206(0x690)]));},_0xd94515['D'][_0x449300(0x85a)][_0x449300(0x22d)]=function(){var _0x3287c7=_0x449300;this['_vrDisplay']&&this['_vrDisplay']['isPresenting']&&this['_vrDisplay'][_0x3287c7(0xad6)]()[_0x3287c7(0x37c)](()=>this['_onVRFullScreenTriggered']())[_0x3287c7(0x60a)](()=>this['_onVRFullScreenTriggered']()),(0x0,_0x1d887['CG'])()&&(window['removeEventListener']('vrdisplaypointerrestricted',this[_0x3287c7(0xa42)]),window['removeEventListener'](_0x3287c7(0x9ae),this[_0x3287c7(0xa04)]),this['_onVrDisplayConnect']&&(window['removeEventListener'](_0x3287c7(0x645),this[_0x3287c7(0xc8d)]),this['_onVrDisplayDisconnect']&&window[_0x3287c7(0xd81)]('vrdisplaydisconnect',this[_0x3287c7(0x842)]),this[_0x3287c7(0xb62)]&&window[_0x3287c7(0xd81)](_0x3287c7(0x7a6),this[_0x3287c7(0xb62)]),this[_0x3287c7(0xc8d)]=null,this[_0x3287c7(0x842)]=null));},_0xd94515['D'][_0x449300(0x85a)][_0x449300(0x449)]=function(_0x1b1b6c,_0x4cf0d2){var _0x2c4966=_0x449300;if(this['_onVRDisplayPointerRestricted']=()=>{var _0x150c78=a7_0x5572;_0x1b1b6c&&_0x1b1b6c[_0x150c78(0x9a6)]();},this[_0x2c4966(0xa04)]=()=>{var _0x21e071=_0x2c4966;if(_0x4cf0d2)_0x4cf0d2['exitPointerLock']&&_0x4cf0d2[_0x21e071(0x618)]();else{const _0x3d4db4=this['getHostWindow']();_0x3d4db4[_0x21e071(0x883)]&&_0x3d4db4[_0x21e071(0x883)][_0x21e071(0x618)]&&_0x3d4db4[_0x21e071(0x883)]['exitPointerLock']();}},(0x0,_0x1d887['CG'])()){const _0x966920=this[_0x2c4966(0x74d)]();_0x966920[_0x2c4966(0x388)](_0x2c4966(0xa76),this['_onVRDisplayPointerRestricted'],!0x1),_0x966920[_0x2c4966(0x388)](_0x2c4966(0x9ae),this['_onVRDisplayPointerUnrestricted'],!0x1);}},_0xd94515['D'][_0x449300(0x85a)][_0x449300(0x19b)]=function(){var _0x20a283=_0x449300;if(this['_vrDisplay']&&this[_0x20a283(0x41e)][_0x20a283(0xa1c)])try{this['_vrDisplay']['submitFrame']();}catch(_0x181909){_0x3daede['w1'][_0x20a283(0xcb2)](_0x20a283(0x6b0)+_0x181909);}},_0xd94515['D']['prototype']['isVRPresenting']=function(){var _0x3d20c7=_0x449300;return this[_0x3d20c7(0x41e)]&&this[_0x3d20c7(0x41e)][_0x3d20c7(0xa1c)];},_0xd94515['D'][_0x449300(0x85a)][_0x449300(0x773)]=function(){var _0x2d7300=_0x449300;this[_0x2d7300(0x2e5)]=_0xd94515['D'][_0x2d7300(0xa37)](this[_0x2d7300(0x9c2)],this['_vrDisplay']);};},0x16651:(_0x27cedb,_0x5d5276,_0x8a9138)=>{var _0x39a03d=a7_0x425593;_0x8a9138['d'](_0x5d5276,{'E':()=>_0x1c70d4});class _0x1c70d4{constructor(_0xbf65df,_0x409ff4){var _0x1f7cbd=a7_0x5572;this[_0x1f7cbd(0xbfd)]=_0x409ff4,this[_0x1f7cbd(0x83f)](_0xbf65df);}get['underlyingResource'](){var _0x5bcae0=a7_0x5572;return this[_0x5bcae0(0x861)];}[_0x39a03d(0xa54)](){}[_0x39a03d(0x83f)](_0x194ecb){var _0x2710e4=_0x39a03d;this[_0x2710e4(0x861)]=_0x194ecb;}[_0x39a03d(0x4f4)](){var _0x4004c7=_0x39a03d;this[_0x4004c7(0x861)]=null;}['release'](){var _0x5883b1=_0x39a03d;this['_nativeTexture']&&this['_engine']['deleteTexture'](this[_0x5883b1(0x861)]),this[_0x5883b1(0x4f4)]();}}},0xa218:(_0x559f47,_0xe2de40,_0x219576)=>{var _0x24ca1f=a7_0x425593;_0x219576['d'](_0xe2de40,{'G':()=>_0x40a596});class _0x40a596{constructor(_0xa58725){var _0x144434=a7_0x5572;this['isParallelCompiled']=!0x0,this['isCompiled']=!0x1,this[_0x144434(0x429)]={},this[_0x144434(0xbfd)]=_0xa58725;}get[_0x24ca1f(0xd36)](){var _0x4a3ccb=_0x24ca1f;return this[_0x4a3ccb(0x4bd)];}get[_0x24ca1f(0x21c)](){var _0x3779ab=_0x24ca1f,_0x12b597;if(this[_0x3779ab(0x664)])throw _0x12b597=this[_0x3779ab(0x664)][_0x3779ab(0x9ce)],new Error(_0x3779ab(0x2c0)+(_0x3779ab(0x8ce)==typeof _0x12b597?'\x0a'+_0x12b597:''));return this['isCompiled'];}[_0x24ca1f(0xd0f)](){return null;}[_0x24ca1f(0x379)](){return null;}[_0x24ca1f(0x862)](_0x20953e){var _0x320807=_0x24ca1f;throw new Error(_0x320807(0xc69));}['_fillEffectInformation'](_0x10048e,_0x2cba2c,_0x4e5604,_0x740624,_0x1472db,_0x552e26,_0x5ee8b3,_0x2d1752){var _0x4ca392=_0x24ca1f;const _0x422c8e=this[_0x4ca392(0xbfd)];if(_0x422c8e[_0x4ca392(0xbad)]){for(const _0x3c4637 in _0x2cba2c)_0x10048e[_0x4ca392(0x583)](_0x3c4637,_0x2cba2c[_0x3c4637]);}const _0x329d8a=this[_0x4ca392(0xbfd)][_0x4ca392(0x1e6)](this,_0x4e5604);_0x329d8a['forEach']((_0x2b85a0,_0x48df55)=>{_0x740624[_0x4e5604[_0x48df55]]=_0x2b85a0;}),this[_0x4ca392(0x1ab)]=_0x740624;let _0x2929b4;for(_0x2929b4=0x0;_0x2929b4<_0x1472db[_0x4ca392(0x86e)];_0x2929b4++)null==_0x10048e[_0x4ca392(0x897)](_0x1472db[_0x2929b4])&&(_0x1472db[_0x4ca392(0x468)](_0x2929b4,0x1),_0x2929b4--);_0x1472db[_0x4ca392(0x92e)]((_0x56ea05,_0x15546d)=>{_0x552e26[_0x56ea05]=_0x15546d;}),_0x2d1752[_0x4ca392(0x303)](..._0x422c8e['getAttributes'](this,_0x5ee8b3));}['dispose'](){var _0x4bdf13=_0x24ca1f;this[_0x4bdf13(0x1ab)]={};}[_0x24ca1f(0x2d4)](_0x727179,_0xdfd198){var _0xcf1712=_0x24ca1f,_0x2a7c86=this[_0xcf1712(0x429)][_0x727179],_0xdfd198=_0xdfd198['updateFlag'];return(void 0x0===_0x2a7c86||_0x2a7c86!==_0xdfd198)&&(this[_0xcf1712(0x429)][_0x727179]=_0xdfd198,!0x0);}[_0x24ca1f(0xc9e)](_0x1d9bed,_0x17a5b4,_0xe3ba4a){let _0x433ca7=this['_valueCache'][_0x1d9bed];if(!_0x433ca7)return _0x433ca7=[_0x17a5b4,_0xe3ba4a],this['_valueCache'][_0x1d9bed]=_0x433ca7,!0x0;let _0x5048de=!0x1;return _0x433ca7[0x0]!==_0x17a5b4&&(_0x433ca7[0x0]=_0x17a5b4,_0x5048de=!0x0),_0x433ca7[0x1]!==_0xe3ba4a&&(_0x433ca7[0x1]=_0xe3ba4a,_0x5048de=!0x0),_0x5048de;}[_0x24ca1f(0x774)](_0x5a6ea7,_0x459a4d,_0x312e14,_0xb1bb15){var _0x37c003=_0x24ca1f;let _0x489978=this[_0x37c003(0x429)][_0x5a6ea7];if(!_0x489978)return _0x489978=[_0x459a4d,_0x312e14,_0xb1bb15],this[_0x37c003(0x429)][_0x5a6ea7]=_0x489978,!0x0;let _0x1fe5a2=!0x1;return _0x489978[0x0]!==_0x459a4d&&(_0x489978[0x0]=_0x459a4d,_0x1fe5a2=!0x0),_0x489978[0x1]!==_0x312e14&&(_0x489978[0x1]=_0x312e14,_0x1fe5a2=!0x0),_0x489978[0x2]!==_0xb1bb15&&(_0x489978[0x2]=_0xb1bb15,_0x1fe5a2=!0x0),_0x1fe5a2;}[_0x24ca1f(0x503)](_0x5cdb31,_0x5912bb,_0x2f8240,_0x5d206b,_0x2966c8){var _0x52f95f=_0x24ca1f;let _0x40c7dc=this[_0x52f95f(0x429)][_0x5cdb31];if(!_0x40c7dc)return _0x40c7dc=[_0x5912bb,_0x2f8240,_0x5d206b,_0x2966c8],this['_valueCache'][_0x5cdb31]=_0x40c7dc,!0x0;let _0x5cc70e=!0x1;return _0x40c7dc[0x0]!==_0x5912bb&&(_0x40c7dc[0x0]=_0x5912bb,_0x5cc70e=!0x0),_0x40c7dc[0x1]!==_0x2f8240&&(_0x40c7dc[0x1]=_0x2f8240,_0x5cc70e=!0x0),_0x40c7dc[0x2]!==_0x5d206b&&(_0x40c7dc[0x2]=_0x5d206b,_0x5cc70e=!0x0),_0x40c7dc[0x3]!==_0x2966c8&&(_0x40c7dc[0x3]=_0x2966c8,_0x5cc70e=!0x0),_0x5cc70e;}['setInt'](_0x412cfe,_0x9b58cc){var _0x240040=_0x24ca1f,_0x19de95=this['_valueCache'][_0x412cfe];void 0x0!==_0x19de95&&_0x19de95===_0x9b58cc||this['_engine'][_0x240040(0x1b5)](this[_0x240040(0x1ab)][_0x412cfe],_0x9b58cc)&&(this[_0x240040(0x429)][_0x412cfe]=_0x9b58cc);}[_0x24ca1f(0x4ba)](_0xf16744,_0x2a8583,_0x131078){var _0x46869a=_0x24ca1f;this['_cacheFloat2'](_0xf16744,_0x2a8583,_0x131078)&&!this[_0x46869a(0xbfd)][_0x46869a(0x4ba)](this[_0x46869a(0x1ab)][_0xf16744],_0x2a8583,_0x131078)&&(this[_0x46869a(0x429)][_0xf16744]=null);}['setInt3'](_0x473328,_0x6d3a6a,_0x5bd804,_0x10bdc5){var _0x5e2d4d=_0x24ca1f;this[_0x5e2d4d(0x774)](_0x473328,_0x6d3a6a,_0x5bd804,_0x10bdc5)&&!this[_0x5e2d4d(0xbfd)][_0x5e2d4d(0x985)](this[_0x5e2d4d(0x1ab)][_0x473328],_0x6d3a6a,_0x5bd804,_0x10bdc5)&&(this['_valueCache'][_0x473328]=null);}[_0x24ca1f(0x560)](_0x4579a1,_0x3826db,_0x1bd6bf,_0x250a96,_0x43bcdf){var _0x5a5bba=_0x24ca1f;this[_0x5a5bba(0x503)](_0x4579a1,_0x3826db,_0x1bd6bf,_0x250a96,_0x43bcdf)&&!this[_0x5a5bba(0xbfd)][_0x5a5bba(0x560)](this['_uniforms'][_0x4579a1],_0x3826db,_0x1bd6bf,_0x250a96,_0x43bcdf)&&(this[_0x5a5bba(0x429)][_0x4579a1]=null);}['setIntArray'](_0xca2fd9,_0x31b991){var _0x479202=_0x24ca1f;this['_valueCache'][_0xca2fd9]=null,this[_0x479202(0xbfd)][_0x479202(0x72a)](this[_0x479202(0x1ab)][_0xca2fd9],_0x31b991);}['setIntArray2'](_0x51744c,_0x28d5bd){var _0x5d13cd=_0x24ca1f;this[_0x5d13cd(0x429)][_0x51744c]=null,this[_0x5d13cd(0xbfd)][_0x5d13cd(0x486)](this[_0x5d13cd(0x1ab)][_0x51744c],_0x28d5bd);}[_0x24ca1f(0x282)](_0x42d5e6,_0x50c41f){var _0x36e313=_0x24ca1f;this[_0x36e313(0x429)][_0x42d5e6]=null,this[_0x36e313(0xbfd)][_0x36e313(0x282)](this['_uniforms'][_0x42d5e6],_0x50c41f);}['setIntArray4'](_0x3a3a41,_0x217f5a){var _0x320928=_0x24ca1f;this['_valueCache'][_0x3a3a41]=null,this[_0x320928(0xbfd)][_0x320928(0x29d)](this[_0x320928(0x1ab)][_0x3a3a41],_0x217f5a);}[_0x24ca1f(0x8a2)](_0x38dc9f,_0x1b05d1){var _0x3d2713=_0x24ca1f,_0x2358bf=this[_0x3d2713(0x429)][_0x38dc9f];void 0x0!==_0x2358bf&&_0x2358bf===_0x1b05d1||this[_0x3d2713(0xbfd)]['setUInt'](this[_0x3d2713(0x1ab)][_0x38dc9f],_0x1b05d1)&&(this[_0x3d2713(0x429)][_0x38dc9f]=_0x1b05d1);}[_0x24ca1f(0x97a)](_0x577cce,_0x1dec21,_0x3cfbd9){var _0x5232d3=_0x24ca1f;this['_cacheFloat2'](_0x577cce,_0x1dec21,_0x3cfbd9)&&!this[_0x5232d3(0xbfd)][_0x5232d3(0x97a)](this['_uniforms'][_0x577cce],_0x1dec21,_0x3cfbd9)&&(this[_0x5232d3(0x429)][_0x577cce]=null);}[_0x24ca1f(0xd69)](_0x371efc,_0x2166d5,_0x255913,_0x19f883){var _0xaa83eb=_0x24ca1f;this[_0xaa83eb(0x774)](_0x371efc,_0x2166d5,_0x255913,_0x19f883)&&!this[_0xaa83eb(0xbfd)][_0xaa83eb(0xd69)](this['_uniforms'][_0x371efc],_0x2166d5,_0x255913,_0x19f883)&&(this['_valueCache'][_0x371efc]=null);}[_0x24ca1f(0x29a)](_0x31e5cc,_0x50c0ed,_0x485077,_0x344574,_0x8006c8){var _0x1d12a1=_0x24ca1f;this[_0x1d12a1(0x503)](_0x31e5cc,_0x50c0ed,_0x485077,_0x344574,_0x8006c8)&&!this[_0x1d12a1(0xbfd)][_0x1d12a1(0x29a)](this[_0x1d12a1(0x1ab)][_0x31e5cc],_0x50c0ed,_0x485077,_0x344574,_0x8006c8)&&(this[_0x1d12a1(0x429)][_0x31e5cc]=null);}[_0x24ca1f(0x9f2)](_0x38f24d,_0x2127ea){var _0x5dcd70=_0x24ca1f;this[_0x5dcd70(0x429)][_0x38f24d]=null,this[_0x5dcd70(0xbfd)]['setUIntArray'](this[_0x5dcd70(0x1ab)][_0x38f24d],_0x2127ea);}[_0x24ca1f(0x955)](_0x5c4f73,_0x13e51d){var _0x3ffc33=_0x24ca1f;this['_valueCache'][_0x5c4f73]=null,this['_engine'][_0x3ffc33(0x955)](this['_uniforms'][_0x5c4f73],_0x13e51d);}[_0x24ca1f(0xa30)](_0x1d240b,_0x594c12){var _0x84e0b0=_0x24ca1f;this['_valueCache'][_0x1d240b]=null,this[_0x84e0b0(0xbfd)][_0x84e0b0(0xa30)](this[_0x84e0b0(0x1ab)][_0x1d240b],_0x594c12);}[_0x24ca1f(0x73b)](_0x1be96f,_0x40ca86){var _0x246131=_0x24ca1f;this[_0x246131(0x429)][_0x1be96f]=null,this['_engine'][_0x246131(0x73b)](this[_0x246131(0x1ab)][_0x1be96f],_0x40ca86);}[_0x24ca1f(0x980)](_0x3a8d92,_0x2dafb9){var _0x14dc5c=_0x24ca1f;this['_valueCache'][_0x3a8d92]=null,this['_engine'][_0x14dc5c(0x980)](this[_0x14dc5c(0x1ab)][_0x3a8d92],_0x2dafb9);}[_0x24ca1f(0xcb7)](_0x4e1751,_0x2290b8){var _0x1b1ff9=_0x24ca1f;this[_0x1b1ff9(0x429)][_0x4e1751]=null,this['_engine'][_0x1b1ff9(0xcb7)](this[_0x1b1ff9(0x1ab)][_0x4e1751],_0x2290b8);}['setFloatArray3'](_0x57a329,_0x394b2a){var _0x340b06=_0x24ca1f;this[_0x340b06(0x429)][_0x57a329]=null,this[_0x340b06(0xbfd)][_0x340b06(0x8cf)](this[_0x340b06(0x1ab)][_0x57a329],_0x394b2a);}['setFloatArray4'](_0xf3a1da,_0x39fb9f){var _0x1f162a=_0x24ca1f;this[_0x1f162a(0x429)][_0xf3a1da]=null,this[_0x1f162a(0xbfd)]['setFloatArray4'](this[_0x1f162a(0x1ab)][_0xf3a1da],_0x39fb9f);}[_0x24ca1f(0x9e4)](_0x132e73,_0xc873a4){var _0x261c35=_0x24ca1f;this['_valueCache'][_0x132e73]=null,this['_engine'][_0x261c35(0x9e4)](this[_0x261c35(0x1ab)][_0x132e73],_0xc873a4);}[_0x24ca1f(0xcd7)](_0xe77367,_0x18ca26){var _0x5c9f03=_0x24ca1f;this['_valueCache'][_0xe77367]=null,this[_0x5c9f03(0xbfd)][_0x5c9f03(0xcd7)](this[_0x5c9f03(0x1ab)][_0xe77367],_0x18ca26);}[_0x24ca1f(0x60c)](_0x328260,_0x13a0d0){var _0x5b7f9b=_0x24ca1f;this[_0x5b7f9b(0x429)][_0x328260]=null,this['_engine'][_0x5b7f9b(0x60c)](this['_uniforms'][_0x328260],_0x13a0d0);}[_0x24ca1f(0x944)](_0x348ae7,_0xb2ac05){var _0x5bca62=_0x24ca1f;this[_0x5bca62(0x429)][_0x348ae7]=null,this['_engine']['setArray4'](this['_uniforms'][_0x348ae7],_0xb2ac05);}[_0x24ca1f(0x4e7)](_0x39c980,_0x41afeb){var _0x34bf3a=_0x24ca1f;_0x41afeb&&(this[_0x34bf3a(0x429)][_0x39c980]=null,this['_engine'][_0x34bf3a(0x4e7)](this[_0x34bf3a(0x1ab)][_0x39c980],_0x41afeb));}['setMatrix'](_0x3153b2,_0x3ff041){var _0x482efb=_0x24ca1f;this[_0x482efb(0x2d4)](_0x3153b2,_0x3ff041)&&!this['_engine'][_0x482efb(0x4e7)](this[_0x482efb(0x1ab)][_0x3153b2],_0x3ff041[_0x482efb(0xb69)]())&&(this[_0x482efb(0x429)][_0x3153b2]=null);}[_0x24ca1f(0x2b7)](_0x10f15b,_0x799936){var _0x3c8728=_0x24ca1f;this[_0x3c8728(0x429)][_0x10f15b]=null,this[_0x3c8728(0xbfd)]['setMatrix3x3'](this[_0x3c8728(0x1ab)][_0x10f15b],_0x799936);}[_0x24ca1f(0xba9)](_0x523cd1,_0x43afc1){var _0x3f43bf=_0x24ca1f;this[_0x3f43bf(0x429)][_0x523cd1]=null,this[_0x3f43bf(0xbfd)][_0x3f43bf(0xba9)](this['_uniforms'][_0x523cd1],_0x43afc1);}['setFloat'](_0x4c73f3,_0x4ddabd){var _0x4cd15d=_0x24ca1f,_0x4b086c=this['_valueCache'][_0x4c73f3];void 0x0!==_0x4b086c&&_0x4b086c===_0x4ddabd||this[_0x4cd15d(0xbfd)][_0x4cd15d(0x89c)](this[_0x4cd15d(0x1ab)][_0x4c73f3],_0x4ddabd)&&(this[_0x4cd15d(0x429)][_0x4c73f3]=_0x4ddabd);}[_0x24ca1f(0x8b9)](_0x2ec5c2,_0x54fec5){var _0x2a05e3=_0x24ca1f,_0x58fabb=this[_0x2a05e3(0x429)][_0x2ec5c2];void 0x0!==_0x58fabb&&_0x58fabb===_0x54fec5||this[_0x2a05e3(0xbfd)][_0x2a05e3(0x1b5)](this[_0x2a05e3(0x1ab)][_0x2ec5c2],_0x54fec5?0x1:0x0)&&(this[_0x2a05e3(0x429)][_0x2ec5c2]=_0x54fec5?0x1:0x0);}['setVector2'](_0x32827a,_0x324581){var _0x4c6e0c=_0x24ca1f;this['_cacheFloat2'](_0x32827a,_0x324581['x'],_0x324581['y'])&&!this[_0x4c6e0c(0xbfd)][_0x4c6e0c(0x2ad)](this[_0x4c6e0c(0x1ab)][_0x32827a],_0x324581['x'],_0x324581['y'])&&(this[_0x4c6e0c(0x429)][_0x32827a]=null);}['setFloat2'](_0xd01dd9,_0x5944d5,_0xe431f5){var _0x5530c2=_0x24ca1f;this[_0x5530c2(0xc9e)](_0xd01dd9,_0x5944d5,_0xe431f5)&&!this[_0x5530c2(0xbfd)][_0x5530c2(0x2ad)](this[_0x5530c2(0x1ab)][_0xd01dd9],_0x5944d5,_0xe431f5)&&(this[_0x5530c2(0x429)][_0xd01dd9]=null);}[_0x24ca1f(0x721)](_0xf9da53,_0x58c311){var _0x52c502=_0x24ca1f;this['_cacheFloat3'](_0xf9da53,_0x58c311['x'],_0x58c311['y'],_0x58c311['z'])&&!this['_engine'][_0x52c502(0x697)](this['_uniforms'][_0xf9da53],_0x58c311['x'],_0x58c311['y'],_0x58c311['z'])&&(this[_0x52c502(0x429)][_0xf9da53]=null);}[_0x24ca1f(0x697)](_0x3deac6,_0x206f14,_0x208345,_0x294aec){var _0x2cb1d5=_0x24ca1f;this[_0x2cb1d5(0x774)](_0x3deac6,_0x206f14,_0x208345,_0x294aec)&&!this[_0x2cb1d5(0xbfd)][_0x2cb1d5(0x697)](this[_0x2cb1d5(0x1ab)][_0x3deac6],_0x206f14,_0x208345,_0x294aec)&&(this[_0x2cb1d5(0x429)][_0x3deac6]=null);}[_0x24ca1f(0xcaf)](_0x26b7d4,_0x4d90b8){var _0x389639=_0x24ca1f;this[_0x389639(0x503)](_0x26b7d4,_0x4d90b8['x'],_0x4d90b8['y'],_0x4d90b8['z'],_0x4d90b8['w'])&&!this[_0x389639(0xbfd)][_0x389639(0x1d0)](this['_uniforms'][_0x26b7d4],_0x4d90b8['x'],_0x4d90b8['y'],_0x4d90b8['z'],_0x4d90b8['w'])&&(this[_0x389639(0x429)][_0x26b7d4]=null);}[_0x24ca1f(0x6a2)](_0x442971,_0x454047){var _0x33dd06=_0x24ca1f;this[_0x33dd06(0x503)](_0x442971,_0x454047['x'],_0x454047['y'],_0x454047['z'],_0x454047['w'])&&!this[_0x33dd06(0xbfd)][_0x33dd06(0x1d0)](this['_uniforms'][_0x442971],_0x454047['x'],_0x454047['y'],_0x454047['z'],_0x454047['w'])&&(this[_0x33dd06(0x429)][_0x442971]=null);}[_0x24ca1f(0x1d0)](_0x214688,_0xa089ef,_0x227e11,_0x3af85a,_0x18b4dc){var _0x24cec7=_0x24ca1f;this[_0x24cec7(0x503)](_0x214688,_0xa089ef,_0x227e11,_0x3af85a,_0x18b4dc)&&!this[_0x24cec7(0xbfd)][_0x24cec7(0x1d0)](this['_uniforms'][_0x214688],_0xa089ef,_0x227e11,_0x3af85a,_0x18b4dc)&&(this[_0x24cec7(0x429)][_0x214688]=null);}['setColor3'](_0x2f3831,_0x3f37f4){var _0x838db5=_0x24ca1f;this[_0x838db5(0x774)](_0x2f3831,_0x3f37f4['r'],_0x3f37f4['g'],_0x3f37f4['b'])&&!this['_engine']['setFloat3'](this['_uniforms'][_0x2f3831],_0x3f37f4['r'],_0x3f37f4['g'],_0x3f37f4['b'])&&(this[_0x838db5(0x429)][_0x2f3831]=null);}[_0x24ca1f(0x307)](_0x1952e2,_0x218575,_0x49d8e4){var _0x76124e=_0x24ca1f;this['_cacheFloat4'](_0x1952e2,_0x218575['r'],_0x218575['g'],_0x218575['b'],_0x49d8e4)&&!this['_engine']['setFloat4'](this[_0x76124e(0x1ab)][_0x1952e2],_0x218575['r'],_0x218575['g'],_0x218575['b'],_0x49d8e4)&&(this['_valueCache'][_0x1952e2]=null);}[_0x24ca1f(0x717)](_0x8ec5d9,_0x410e5f){var _0x1acfc0=_0x24ca1f;this[_0x1acfc0(0x503)](_0x8ec5d9,_0x410e5f['r'],_0x410e5f['g'],_0x410e5f['b'],_0x410e5f['a'])&&!this[_0x1acfc0(0xbfd)][_0x1acfc0(0x1d0)](this[_0x1acfc0(0x1ab)][_0x8ec5d9],_0x410e5f['r'],_0x410e5f['g'],_0x410e5f['b'],_0x410e5f['a'])&&(this['_valueCache'][_0x8ec5d9]=null);}}},0x1581f:(_0x225e56,_0xdb5b06,_0x4e8cff)=>{var _0x307a20=a7_0x425593;_0x4e8cff['d'](_0xdb5b06,{'o':()=>_0x4236ac});class _0x4236ac extends _0x4e8cff(0x758)['r']{constructor(_0x245850,_0x86fc5,_0x1eb0a7,_0x142f05){var _0x556930=a7_0x5572;super(_0x245850,_0x86fc5,_0x1eb0a7,_0x142f05),this[_0x556930(0x3b8)]=null,this[_0x556930(0x5b2)]=null,this[_0x556930(0xbfd)]=_0x142f05;}get['_framebuffer'](){var _0x571e32=a7_0x5572;return this[_0x571e32(0x3b8)];}set[_0x307a20(0x1bb)](_0x1d4f2a){var _0x217cd9=_0x307a20;this['__framebuffer']&&this['_engine'][_0x217cd9(0x30e)](this[_0x217cd9(0x3b8)]),this[_0x217cd9(0x3b8)]=_0x1d4f2a;}get[_0x307a20(0xb23)](){var _0x3c0661=_0x307a20;return this[_0x3c0661(0x5b2)];}set[_0x307a20(0xb23)](_0x1ad08a){var _0x4bd80d=_0x307a20;this[_0x4bd80d(0x5b2)]&&this[_0x4bd80d(0xbfd)][_0x4bd80d(0x30e)](this[_0x4bd80d(0x5b2)]),this['__framebufferDepthStencil']=_0x1ad08a;}['dispose'](_0x4bc10b=!0x1){var _0x53bb55=_0x307a20;this[_0x53bb55(0x1bb)]=null,this[_0x53bb55(0xb23)]=null,super['dispose'](_0x4bc10b);}}},0x5c6e:(_0x2a7000,_0x2de65f,_0x1ba1de)=>{var _0x194c6d=a7_0x425593;_0x1ba1de['d'](_0x2de65f,{'L':()=>_0x57d089});class _0x48fb6c{constructor(){var _0x1af77e=a7_0x5572;this[_0x1af77e(0x4b3)]=[];}[_0x194c6d(0x793)](_0x4e1115){return!0x0;}[_0x194c6d(0xd28)](_0x43f103,_0x1a52d3){var _0x1dc823=_0x194c6d;let _0x1de8d3='';if(this[_0x1dc823(0x581)]){let _0x14da9f=this[_0x1dc823(0x581)];const _0x2e4324=_0x1a52d3[_0x1dc823(0x979)];if(_0x2e4324){_0x2e4324[_0x1dc823(0xbfc)]&&(_0x14da9f=_0x2e4324['lineProcessor'](_0x14da9f,_0x1a52d3['isFragment'],_0x1a52d3['processingContext']));var _0xbcf34c=null!=(_0xbcf34c=null==(_0xbcf34c=_0x1a52d3[_0x1dc823(0x979)])?void 0x0:_0xbcf34c[_0x1dc823(0x353)])?_0xbcf34c:_0x1dc823(0x715),_0x5c7d45=_0x1a52d3[_0x1dc823(0x25b)]&&null!=(_0x5c7d45=_0x1a52d3[_0x1dc823(0x979)])&&_0x5c7d45[_0x1dc823(0xc0d)]?null==(_0x5c7d45=_0x1a52d3['processor'])?void 0x0:_0x5c7d45[_0x1dc823(0xc0d)]:!_0x1a52d3['isFragment']&&null!=(_0x5c7d45=_0x1a52d3[_0x1dc823(0x979)])&&_0x5c7d45[_0x1dc823(0xd1f)]?null==(_0x5c7d45=_0x1a52d3[_0x1dc823(0x979)])?void 0x0:_0x5c7d45[_0x1dc823(0xd1f)]:_0x1dc823(0xa9e);if(!_0x1a52d3[_0x1dc823(0x25b)]&&_0x2e4324['attributeProcessor']&&this[_0x1dc823(0x581)]['startsWith'](_0xbcf34c))_0x14da9f=_0x2e4324[_0x1dc823(0x92f)](this[_0x1dc823(0x581)],_0x43f103,_0x1a52d3[_0x1dc823(0x787)]);else{if(_0x2e4324['varyingProcessor']&&this[_0x1dc823(0x581)][_0x1dc823(0x1e9)](_0x5c7d45))_0x14da9f=_0x2e4324[_0x1dc823(0x91d)](this[_0x1dc823(0x581)],_0x1a52d3[_0x1dc823(0x25b)],_0x43f103,_0x1a52d3[_0x1dc823(0x787)]);else{if(_0x2e4324['uniformProcessor']&&_0x2e4324['uniformRegexp']&&_0x2e4324[_0x1dc823(0x974)][_0x1dc823(0x695)](this[_0x1dc823(0x581)]))_0x1a52d3[_0x1dc823(0xd08)]||(_0x14da9f=_0x2e4324[_0x1dc823(0x2e4)](this[_0x1dc823(0x581)],_0x1a52d3[_0x1dc823(0x25b)],_0x43f103,_0x1a52d3['processingContext']));else{if(_0x2e4324[_0x1dc823(0x30f)]&&_0x2e4324[_0x1dc823(0x19a)]&&_0x2e4324[_0x1dc823(0x19a)][_0x1dc823(0x695)](this[_0x1dc823(0x581)]))_0x1a52d3[_0x1dc823(0xd08)]||(_0x14da9f=_0x2e4324['uniformBufferProcessor'](this['line'],_0x1a52d3[_0x1dc823(0x25b)],_0x1a52d3[_0x1dc823(0x787)]),_0x1a52d3[_0x1dc823(0xd08)]=!0x0);else{if(_0x2e4324[_0x1dc823(0xd6e)]&&_0x2e4324[_0x1dc823(0xac5)]&&_0x2e4324['textureRegexp'][_0x1dc823(0x695)](this[_0x1dc823(0x581)]))_0x14da9f=_0x2e4324[_0x1dc823(0xd6e)](this['line'],_0x1a52d3[_0x1dc823(0x25b)],_0x43f103,_0x1a52d3[_0x1dc823(0x787)]);else{if((_0x2e4324['uniformProcessor']||_0x2e4324[_0x1dc823(0x30f)])&&this['line'][_0x1dc823(0x1e9)](_0x1dc823(0x927))&&!_0x1a52d3[_0x1dc823(0xd08)]){const _0x37ad9e=/uniform\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s+(\S+)\s*;/;_0x37ad9e['test'](this['line'])?_0x2e4324[_0x1dc823(0x2e4)]&&(_0x14da9f=_0x2e4324[_0x1dc823(0x2e4)](this[_0x1dc823(0x581)],_0x1a52d3[_0x1dc823(0x25b)],_0x43f103,_0x1a52d3[_0x1dc823(0x787)])):_0x2e4324['uniformBufferProcessor']&&(_0x14da9f=_0x2e4324[_0x1dc823(0x30f)](this[_0x1dc823(0x581)],_0x1a52d3[_0x1dc823(0x25b)],_0x1a52d3[_0x1dc823(0x787)]),_0x1a52d3['lookForClosingBracketForUniformBuffer']=!0x0);}}}}}}_0x1a52d3[_0x1dc823(0xd08)]&&-0x1!==this[_0x1dc823(0x581)]['indexOf']('}')&&(_0x1a52d3[_0x1dc823(0xd08)]=!0x1,_0x2e4324[_0x1dc823(0x2a7)]&&(_0x14da9f=_0x2e4324[_0x1dc823(0x2a7)](this[_0x1dc823(0x581)],_0x1a52d3[_0x1dc823(0x25b)],_0x1a52d3[_0x1dc823(0x787)])));}_0x1de8d3+=_0x14da9f+'\x0d\x0a';}return this[_0x1dc823(0x4b3)][_0x1dc823(0x92e)](_0x5b941b=>{var _0x6b2684=_0x1dc823;_0x1de8d3+=_0x5b941b[_0x6b2684(0xd28)](_0x43f103,_0x1a52d3);}),this[_0x1dc823(0x8d1)]&&(_0x43f103[this[_0x1dc823(0x8d1)]]=this[_0x1dc823(0x959)]||_0x1dc823(0xcb1)),_0x1de8d3;}}class _0x1f200e{constructor(){this['_lines']=[];}get[_0x194c6d(0xab4)](){var _0xdcc772=_0x194c6d;return this[_0xdcc772(0x48c)][this['lineIndex']];}get[_0x194c6d(0x357)](){var _0x1aba1c=_0x194c6d;return this[_0x1aba1c(0x597)]<this['_lines']['length']-0x1;}set['lines'](_0x323785){var _0x2906d8=_0x194c6d;this[_0x2906d8(0x48c)][_0x2906d8(0x86e)]=0x0;for(const _0x45242a of _0x323785)if('#'===_0x45242a[0x0])this[_0x2906d8(0x48c)]['push'](_0x45242a);else{if(_0x45242a['trim']()[_0x2906d8(0x1e9)]('//'))this['_lines'][_0x2906d8(0x303)](_0x45242a);else{var _0x5a920c=_0x45242a[_0x2906d8(0x9de)](';');for(let _0x3f11c4=0x0;_0x3f11c4<_0x5a920c[_0x2906d8(0x86e)];_0x3f11c4++){let _0x58547f=_0x5a920c[_0x3f11c4];(_0x58547f=_0x58547f['trim']())&&this[_0x2906d8(0x48c)]['push'](_0x58547f+(_0x3f11c4!==_0x5a920c['length']-0x1?';':''));}}}}}class _0x20522d extends _0x48fb6c{[_0x194c6d(0xd28)](_0x5ce993,_0xadba15){var _0x329183=_0x194c6d;for(let _0x448ddc=0x0;_0x448ddc<this[_0x329183(0x4b3)][_0x329183(0x86e)];_0x448ddc++){const _0x5a1834=this[_0x329183(0x4b3)][_0x448ddc];if(_0x5a1834[_0x329183(0x793)](_0x5ce993))return _0x5a1834[_0x329183(0xd28)](_0x5ce993,_0xadba15);}return'';}}class _0x3ec777 extends _0x48fb6c{[_0x194c6d(0x793)](_0x8a9ffc){var _0x4e52b1=_0x194c6d;return this[_0x4e52b1(0xaa1)][_0x4e52b1(0x23a)](_0x8a9ffc);}}class _0x358e1d{['isTrue'](_0xdf1dde){return!0x0;}static[_0x194c6d(0x4ae)](_0x4832a1){var _0x48a9ed=_0x194c6d;const _0x513446=[];for(const _0x413e82 of _0x4832a1){var _0x278c66,_0x3dfb4a;void 0x0===_0x358e1d[_0x48a9ed(0x6e3)][_0x413e82]?_0x513446[_0x48a9ed(0x303)](_0x413e82):(_0x278c66=_0x513446[_0x513446[_0x48a9ed(0x86e)]-0x1],_0x3dfb4a=_0x513446[_0x513446[_0x48a9ed(0x86e)]-0x2],_0x513446[_0x48a9ed(0x86e)]-=0x2,_0x513446[_0x48a9ed(0x303)]('('+_0x3dfb4a+_0x413e82+_0x278c66+')'));}return _0x513446[_0x513446[_0x48a9ed(0x86e)]-0x1];}static[_0x194c6d(0x5d4)](_0x984f79){var _0x1ba306=_0x194c6d;const _0x108319=[];let _0x4aec8f=-0x1;var _0x249adb=()=>{var _0x15ab88=a7_0x5572;''!==(_0x395d3a=_0x395d3a[_0x15ab88(0xbe2)]())&&(_0x108319[_0x15ab88(0x303)](_0x395d3a),_0x395d3a='');},_0x21b927=_0x428553=>{var _0x31f3e0=a7_0x5572;_0x4aec8f<_0x358e1d[_0x31f3e0(0x22f)][_0x31f3e0(0x86e)]-0x1&&(_0x358e1d[_0x31f3e0(0x22f)][++_0x4aec8f]=_0x428553);},_0x2d9496=()=>_0x358e1d[_0x1ba306(0x22f)][_0x4aec8f],_0x3b01d8=()=>-0x1===_0x4aec8f?_0x1ba306(0x65a):_0x358e1d['_Stack'][_0x4aec8f--];let _0x3dd1bf=0x0,_0x395d3a='';for(;_0x3dd1bf<_0x984f79[_0x1ba306(0x86e)];){var _0x5c7786=_0x984f79['charAt'](_0x3dd1bf),_0x47d015=_0x3dd1bf<_0x984f79[_0x1ba306(0x86e)]-0x1?_0x984f79[_0x1ba306(0x76b)](_0x3dd1bf,0x2):'';if('('===_0x5c7786)_0x395d3a='',_0x21b927(_0x5c7786);else{if(')'===_0x5c7786){for(_0x249adb();-0x1!==_0x4aec8f&&'('!==_0x2d9496();)_0x108319['push'](_0x3b01d8());_0x3b01d8();}else{if(0x1<_0x358e1d['_OperatorPriority'][_0x47d015]){for(_0x249adb();-0x1!==_0x4aec8f&&_0x358e1d[_0x1ba306(0x6e3)][_0x2d9496()]>=_0x358e1d[_0x1ba306(0x6e3)][_0x47d015];)_0x108319[_0x1ba306(0x303)](_0x3b01d8());_0x21b927(_0x47d015),_0x3dd1bf++;}else _0x395d3a+=_0x5c7786;}}_0x3dd1bf++;}for(_0x249adb();-0x1!==_0x4aec8f;)'('===_0x2d9496()?_0x3b01d8():_0x108319[_0x1ba306(0x303)](_0x3b01d8());return _0x108319;}}_0x358e1d[_0x194c6d(0x6e3)]={')':0x0,'(':0x1,'||':0x2,'&&':0x3},_0x358e1d[_0x194c6d(0x22f)]=['','','','','','','','','','','','','','','','','','','',''];class _0x50e292 extends _0x358e1d{constructor(_0x2e7fe6,_0x319691=!0x1){var _0x5f000d=_0x194c6d;super(),this[_0x5f000d(0xafc)]=_0x2e7fe6,this[_0x5f000d(0x85b)]=_0x319691;}[_0x194c6d(0x23a)](_0x3677f6){var _0x5403e6=_0x194c6d;let _0x21217e=void 0x0!==_0x3677f6[this[_0x5403e6(0xafc)]];return _0x21217e=this[_0x5403e6(0x85b)]?!_0x21217e:_0x21217e;}}class _0x21116c extends _0x358e1d{['isTrue'](_0x13b15b){var _0x9bc4ee=_0x194c6d;return this['leftOperand'][_0x9bc4ee(0x23a)](_0x13b15b)||this[_0x9bc4ee(0xd2d)][_0x9bc4ee(0x23a)](_0x13b15b);}}class _0x389c48 extends _0x358e1d{[_0x194c6d(0x23a)](_0x3b29ef){var _0x4ea9e5=_0x194c6d;return this[_0x4ea9e5(0x9e8)][_0x4ea9e5(0x23a)](_0x3b29ef)&&this['rightOperand'][_0x4ea9e5(0x23a)](_0x3b29ef);}}class _0x56253e extends _0x358e1d{constructor(_0x19f715,_0x5d0061,_0x3769a0){var _0x149179=_0x194c6d;super(),this[_0x149179(0xafc)]=_0x19f715,this[_0x149179(0xcff)]=_0x5d0061,this[_0x149179(0x84f)]=_0x3769a0;}[_0x194c6d(0x23a)](_0x581aeb){var _0x2c06b0=_0x194c6d;let _0x39e8ce=_0x581aeb[this[_0x2c06b0(0xafc)]],_0x36e296=(void 0x0===_0x39e8ce&&(_0x39e8ce=this['define']),!0x1);var _0x1cae06=parseInt(_0x39e8ce),_0x33f6b6=parseInt(this[_0x2c06b0(0x84f)]);switch(this[_0x2c06b0(0xcff)]){case'>':_0x36e296=_0x33f6b6<_0x1cae06;break;case'<':_0x36e296=_0x1cae06<_0x33f6b6;break;case'<=':_0x36e296=_0x1cae06<=_0x33f6b6;break;case'>=':_0x36e296=_0x33f6b6<=_0x1cae06;break;case'==':_0x36e296=_0x1cae06===_0x33f6b6;}return _0x36e296;}}var _0x44097c=_0x1ba1de(0x15cb9),_0x49fde9=_0x1ba1de(0x11722);const _0x35ffa4=/defined\s*?\((.+?)\)/g,_0xdecf71=/defined\s*?\[(.+?)\]/g,_0x1f7705=/#include\s?<(.+)>(\((.*)\))*(\[(.*)\])*/g;class _0x57d089{static[_0x194c6d(0x833)](_0x55f55d){var _0x3250da=_0x194c6d;_0x55f55d[_0x3250da(0x979)]&&_0x55f55d['processor'][_0x3250da(0x3f3)]&&_0x55f55d['processor']['initializeShaders'](_0x55f55d['processingContext']);}static[_0x194c6d(0x591)](_0x4933a8,_0xa5797,_0xbf48dc,_0x187658){var _0x5cad60=_0x194c6d,_0x27c360;null!=(_0x27c360=_0xa5797[_0x5cad60(0x979)])&&_0x27c360[_0x5cad60(0xa6c)]&&(_0x4933a8=_0xa5797[_0x5cad60(0x979)][_0x5cad60(0xa6c)](_0x4933a8,_0xa5797[_0x5cad60(0x25b)])),this['_ProcessIncludes'](_0x4933a8,_0xa5797,_0x3eb1a9=>{var _0x5e2f63=_0x5cad60;_0xa5797['processCodeAfterIncludes']&&(_0x3eb1a9=_0xa5797['processCodeAfterIncludes'](_0xa5797[_0x5e2f63(0x25b)]?_0x5e2f63(0x5dd):_0x5e2f63(0x6ef),_0x3eb1a9));var _0x37a60=this['_ProcessShaderConversion'](_0x3eb1a9,_0xa5797,_0x187658);_0xbf48dc(_0x37a60,_0x3eb1a9);});}static[_0x194c6d(0x50c)](_0x325df4,_0x45babf,_0x359adc,_0x2ef17c){var _0x182462=_0x194c6d,_0x37db25;null!=(_0x37db25=_0x45babf[_0x182462(0x979)])&&_0x37db25[_0x182462(0xa6c)]&&(_0x325df4=_0x45babf[_0x182462(0x979)][_0x182462(0xa6c)](_0x325df4,_0x45babf[_0x182462(0x25b)])),this['_ProcessIncludes'](_0x325df4,_0x45babf,_0x4fa867=>{var _0x2ea89d=_0x182462;_0x45babf[_0x2ea89d(0x4a9)]&&(_0x4fa867=_0x45babf[_0x2ea89d(0x4a9)](_0x45babf[_0x2ea89d(0x25b)]?_0x2ea89d(0x5dd):_0x2ea89d(0x6ef),_0x4fa867));var _0x52a782=this[_0x2ea89d(0xb72)](_0x4fa867,_0x45babf,_0x2ef17c);_0x359adc(_0x52a782,_0x4fa867);});}static[_0x194c6d(0x554)](_0x1537c3,_0x37de24,_0x8548c9){var _0x44b0fe=_0x194c6d;return _0x8548c9[_0x44b0fe(0x979)]&&_0x8548c9['processor'][_0x44b0fe(0x4b7)]?_0x8548c9[_0x44b0fe(0x979)][_0x44b0fe(0x4b7)](_0x1537c3,_0x37de24,_0x8548c9[_0x44b0fe(0x787)]):{'vertexCode':_0x1537c3,'fragmentCode':_0x37de24};}static['_ProcessPrecision'](_0x82d4ee,_0x48e81a){var _0x273703=_0x194c6d;if(null!=(_0x5989e7=_0x48e81a['processor'])&&_0x5989e7['noPrecision'])return _0x82d4ee;var _0x5989e7=_0x48e81a['shouldUseHighPrecisionShader'];return-0x1===_0x82d4ee[_0x273703(0x9a3)](_0x273703(0x8fc))?_0x82d4ee=_0x5989e7?_0x273703(0x8f8)+_0x82d4ee:_0x273703(0x409)+_0x82d4ee:_0x5989e7||(_0x82d4ee=_0x82d4ee[_0x273703(0x8fd)]('precision\x20highp\x20float',_0x273703(0x67a))),_0x82d4ee;}static[_0x194c6d(0x1f2)](_0x1b9720){var _0x5a4b59=_0x194c6d;const _0x41b166=/defined\((.+)\)/[_0x5a4b59(0x169)](_0x1b9720);if(_0x41b166&&_0x41b166[_0x5a4b59(0x86e)])return new _0x50e292(_0x41b166[0x1][_0x5a4b59(0xbe2)](),'!'===_0x1b9720[0x0]);let _0x1a9ede='',_0x116bdc=0x0;for(_0x1a9ede of['==','>=','<=','<','>'])if(-0x1<(_0x116bdc=_0x1b9720['indexOf'](_0x1a9ede)))break;if(-0x1===_0x116bdc)return new _0x50e292(_0x1b9720);var _0x3ac61e=_0x1b9720[_0x5a4b59(0x5e0)](0x0,_0x116bdc)[_0x5a4b59(0xbe2)](),_0x182fd3=_0x1b9720['substring'](_0x116bdc+_0x1a9ede[_0x5a4b59(0x86e)])[_0x5a4b59(0xbe2)]();return new _0x56253e(_0x3ac61e,_0x1a9ede,_0x182fd3);}static['_BuildSubExpression'](_0x1cd663){var _0x4c14e0=_0x194c6d;_0x1cd663=_0x1cd663[_0x4c14e0(0x8fd)](_0x35ffa4,_0x4c14e0(0x630));const _0x34aa98=[];for(const _0x43afea of _0x358e1d[_0x4c14e0(0x5d4)](_0x1cd663))if('||'!==_0x43afea&&'&&'!==_0x43afea)_0x34aa98[_0x4c14e0(0x303)](_0x43afea);else{if(0x2<=_0x34aa98[_0x4c14e0(0x86e)]){let _0x24a13a=_0x34aa98[_0x34aa98[_0x4c14e0(0x86e)]-0x1],_0x581810=_0x34aa98[_0x34aa98[_0x4c14e0(0x86e)]-0x2];_0x34aa98[_0x4c14e0(0x86e)]-=0x2;const _0x4a12dd=new('&&'==_0x43afea?_0x389c48:_0x21116c)();_0x4c14e0(0x8ce)==typeof _0x24a13a&&(_0x24a13a=_0x24a13a['replace'](_0xdecf71,_0x4c14e0(0x362))),_0x4c14e0(0x8ce)==typeof _0x581810&&(_0x581810=_0x581810[_0x4c14e0(0x8fd)](_0xdecf71,_0x4c14e0(0x362))),_0x4a12dd[_0x4c14e0(0x9e8)]=_0x4c14e0(0x8ce)==typeof _0x581810?this[_0x4c14e0(0x1f2)](_0x581810):_0x581810,_0x4a12dd[_0x4c14e0(0xd2d)]=_0x4c14e0(0x8ce)==typeof _0x24a13a?this[_0x4c14e0(0x1f2)](_0x24a13a):_0x24a13a,_0x34aa98[_0x4c14e0(0x303)](_0x4a12dd);}}let _0x228c92=_0x34aa98[_0x34aa98[_0x4c14e0(0x86e)]-0x1];return _0x4c14e0(0x8ce)==typeof(_0x228c92=_0x4c14e0(0x8ce)==typeof _0x228c92?_0x228c92[_0x4c14e0(0x8fd)](_0xdecf71,_0x4c14e0(0x362)):_0x228c92)?this[_0x4c14e0(0x1f2)](_0x228c92):_0x228c92;}static[_0x194c6d(0x82c)](_0x4ba343,_0x3c889a){var _0x40748d=_0x194c6d;const _0x3a727f=new _0x3ec777();var _0x42ea26=_0x4ba343[_0x40748d(0x5e0)](0x0,_0x3c889a);let _0x4c48ba=_0x4ba343[_0x40748d(0x5e0)](_0x3c889a);return _0x4c48ba=_0x4c48ba[_0x40748d(0x5e0)](0x0,(_0x4c48ba[_0x40748d(0x9a3)]('//')+0x1||_0x4c48ba['length']+0x1)-0x1)[_0x40748d(0xbe2)](),_0x3a727f[_0x40748d(0xaa1)]=_0x40748d(0x4ac)===_0x42ea26?new _0x50e292(_0x4c48ba):_0x40748d(0x30b)===_0x42ea26?new _0x50e292(_0x4c48ba,!0x0):this[_0x40748d(0xd49)](_0x4c48ba),_0x3a727f;}static[_0x194c6d(0x2f5)](_0x830e63,_0x52837a,_0x46575b){var _0x1c0e36=_0x194c6d;let _0x5374da=_0x830e63['currentLine'];for(;this[_0x1c0e36(0x351)](_0x830e63,_0x46575b);){var _0x3f458a,_0x490317=(_0x5374da=_0x830e63['currentLine'])[_0x1c0e36(0x5e0)](0x0,0x5)[_0x1c0e36(0xa5a)]();if(_0x1c0e36(0x778)===_0x490317)return _0x3f458a=new _0x48fb6c(),_0x52837a[_0x1c0e36(0x4b3)][_0x1c0e36(0x303)](_0x3f458a),void this['_MoveCursor'](_0x830e63,_0x3f458a);_0x1c0e36(0xbc9)===_0x490317&&(_0x3f458a=this['_BuildExpression'](_0x5374da,0x5),_0x52837a[_0x1c0e36(0x4b3)][_0x1c0e36(0x303)](_0x3f458a),_0x46575b=_0x3f458a);}}static['_MoveCursor'](_0x806ac6,_0x4a5c18){var _0x5bd41f=_0x194c6d;for(;_0x806ac6[_0x5bd41f(0x357)];){_0x806ac6['lineIndex']++;const _0x537b5e=_0x806ac6[_0x5bd41f(0xab4)],_0x87b7eb=/(#ifdef)|(#else)|(#elif)|(#endif)|(#ifndef)|(#if)/;var _0x193c16=_0x87b7eb['exec'](_0x537b5e);if(_0x193c16&&_0x193c16['length'])switch(_0x193c16[0x0]){case _0x5bd41f(0x4ac):{const _0x3b159e=new _0x20522d();_0x4a5c18[_0x5bd41f(0x4b3)][_0x5bd41f(0x303)](_0x3b159e);var _0x2546dc=this[_0x5bd41f(0x82c)](_0x537b5e,0x6);_0x3b159e[_0x5bd41f(0x4b3)][_0x5bd41f(0x303)](_0x2546dc),this[_0x5bd41f(0x2f5)](_0x806ac6,_0x3b159e,_0x2546dc);break;}case'#else':case _0x5bd41f(0xbc9):return!0x0;case _0x5bd41f(0xd22):return!0x1;case _0x5bd41f(0x30b):{const _0x17ecf7=new _0x20522d();_0x4a5c18[_0x5bd41f(0x4b3)][_0x5bd41f(0x303)](_0x17ecf7),_0x2546dc=this[_0x5bd41f(0x82c)](_0x537b5e,0x7),(_0x17ecf7[_0x5bd41f(0x4b3)][_0x5bd41f(0x303)](_0x2546dc),this[_0x5bd41f(0x2f5)](_0x806ac6,_0x17ecf7,_0x2546dc));break;}case _0x5bd41f(0x464):{const _0x4cb835=new _0x20522d();var _0x3e1a40=this['_BuildExpression'](_0x537b5e,0x3);_0x4a5c18['children']['push'](_0x4cb835),_0x4cb835['children'][_0x5bd41f(0x303)](_0x3e1a40),this[_0x5bd41f(0x2f5)](_0x806ac6,_0x4cb835,_0x3e1a40);break;}}else{const _0x51b915=new _0x48fb6c();_0x51b915[_0x5bd41f(0x581)]=_0x537b5e,_0x4a5c18[_0x5bd41f(0x4b3)]['push'](_0x51b915),'#'===_0x537b5e[0x0]&&'d'===_0x537b5e[0x1]&&(_0x193c16=_0x537b5e[_0x5bd41f(0x8fd)](';','')['split']('\x20'),_0x51b915[_0x5bd41f(0x8d1)]=_0x193c16[0x1],0x3===_0x193c16[_0x5bd41f(0x86e)]&&(_0x51b915[_0x5bd41f(0x959)]=_0x193c16[0x2]));}}return!0x1;}static[_0x194c6d(0x542)](_0x1c5469,_0x3404ee,_0x2014a9){var _0x57313b=_0x194c6d;const _0x1e7e2b=new _0x48fb6c(),_0xb4a2ba=new _0x1f200e();return _0xb4a2ba[_0x57313b(0x597)]=-0x1,_0xb4a2ba[_0x57313b(0x324)]=_0x1c5469[_0x57313b(0x9de)]('\x0a'),this['_MoveCursor'](_0xb4a2ba,_0x1e7e2b),_0x1e7e2b['process'](_0x3404ee,_0x2014a9);}static['_PreparePreProcessors'](_0x1c1f29,_0x4387c2){var _0x1d3475=_0x194c6d,_0x165050;const _0x42774b={};for(const _0x50191c of _0x1c1f29[_0x1d3475(0x4c2)]){const _0x1bdfe6=_0x50191c[_0x1d3475(0x8fd)](_0x1d3475(0x8d4),'')[_0x1d3475(0x8fd)](';','')[_0x1d3475(0xbe2)]();var _0x334275=_0x1bdfe6['split']('\x20');_0x42774b[_0x334275[0x0]]=0x1<_0x334275[_0x1d3475(0x86e)]?_0x334275[0x1]:'';}return(null==(_0x165050=_0x1c1f29[_0x1d3475(0x979)])?void 0x0:_0x165050[_0x1d3475(0x811)])===_0x49fde9['x'][_0x1d3475(0xc1f)]&&(_0x42774b[_0x1d3475(0x245)]='true'),_0x42774b[_0x1d3475(0x7df)]=_0x1c1f29[_0x1d3475(0x193)],_0x42774b[_0x1c1f29[_0x1d3475(0x5af)]]=_0x1d3475(0xcb1),_0x4387c2[_0x1d3475(0xb19)](_0x42774b),_0x42774b;}static[_0x194c6d(0x222)](_0x53df1,_0x49694d,_0x51a36d){var _0x37f2eb=_0x194c6d;let _0x3c264d=this['_ProcessPrecision'](_0x53df1,_0x49694d);if(!_0x49694d[_0x37f2eb(0x979)])return _0x3c264d;if(_0x49694d[_0x37f2eb(0x979)][_0x37f2eb(0x811)]===_0x49fde9['x'][_0x37f2eb(0xc1f)]&&-0x1!==_0x3c264d[_0x37f2eb(0x9a3)]('#version\x203')&&(_0x3c264d=_0x3c264d[_0x37f2eb(0x8fd)](_0x37f2eb(0x5b7),''),!_0x49694d[_0x37f2eb(0x979)][_0x37f2eb(0x4d2)]))return _0x3c264d;var _0x53df1=_0x49694d[_0x37f2eb(0x4c2)],_0x1e5af3=this[_0x37f2eb(0xd78)](_0x49694d,_0x51a36d);return _0x49694d[_0x37f2eb(0x979)][_0x37f2eb(0xc6a)]&&(_0x3c264d=_0x49694d['processor'][_0x37f2eb(0xc6a)](_0x3c264d,_0x53df1,_0x49694d[_0x37f2eb(0x25b)],_0x49694d[_0x37f2eb(0x787)])),_0x3c264d=this['_EvaluatePreProcessors'](_0x3c264d,_0x1e5af3,_0x49694d),_0x49694d['processor'][_0x37f2eb(0x5ad)]&&(_0x3c264d=_0x49694d[_0x37f2eb(0x979)]['postProcessor'](_0x3c264d,_0x53df1,_0x49694d[_0x37f2eb(0x25b)],_0x49694d[_0x37f2eb(0x787)],_0x51a36d)),_0x3c264d=_0x51a36d[_0x37f2eb(0xa77)][_0x37f2eb(0xa0c)]?_0x51a36d[_0x37f2eb(0x6ed)](_0x3c264d):_0x3c264d;}static[_0x194c6d(0xb72)](_0x11b9e4,_0x13e998,_0x5c1999){var _0x39c8ee=_0x194c6d,_0x1f5adc;let _0xb00447=_0x11b9e4;var _0x11b9e4=_0x13e998['defines'],_0x208ebe=this[_0x39c8ee(0xd78)](_0x13e998,_0x5c1999);return null!=(_0x1f5adc=_0x13e998[_0x39c8ee(0x979)])&&_0x1f5adc['preProcessor']&&(_0xb00447=_0x13e998[_0x39c8ee(0x979)][_0x39c8ee(0xc6a)](_0xb00447,_0x11b9e4,_0x13e998[_0x39c8ee(0x25b)],_0x13e998[_0x39c8ee(0x787)])),_0xb00447=this[_0x39c8ee(0x542)](_0xb00447,_0x208ebe,_0x13e998),null!=(_0x1f5adc=_0x13e998[_0x39c8ee(0x979)])&&_0x1f5adc[_0x39c8ee(0x5ad)]&&(_0xb00447=_0x13e998['processor'][_0x39c8ee(0x5ad)](_0xb00447,_0x11b9e4,_0x13e998['isFragment'],_0x13e998[_0x39c8ee(0x787)],_0x5c1999)),_0xb00447=_0x5c1999[_0x39c8ee(0xa77)][_0x39c8ee(0xa0c)]?_0x5c1999[_0x39c8ee(0x6ed)](_0xb00447):_0xb00447;}static[_0x194c6d(0x9e0)](_0x4dd8cb,_0x2faef6,_0x2fa84d){var _0x9bb1e1=_0x194c6d;let _0x5622ec=_0x1f7705[_0x9bb1e1(0x169)](_0x4dd8cb),_0x1c66e5=new String(_0x4dd8cb),_0x372736=!0x1;for(;null!=_0x5622ec;){let _0x3cc61b=_0x5622ec[0x1];if(-0x1!==_0x3cc61b[_0x9bb1e1(0x9a3)](_0x9bb1e1(0x6ec))&&(_0x3cc61b=_0x3cc61b[_0x9bb1e1(0x8fd)](/__decl__/,''),_0x2faef6[_0x9bb1e1(0xbad)]&&(_0x3cc61b=(_0x3cc61b=_0x3cc61b[_0x9bb1e1(0x8fd)](/Vertex/,_0x9bb1e1(0xba7)))[_0x9bb1e1(0x8fd)](/Fragment/,_0x9bb1e1(0xba7))),_0x3cc61b+=_0x9bb1e1(0x89a)),!_0x2faef6['includesShadersStore'][_0x3cc61b])return _0x5d9667=_0x2faef6[_0x9bb1e1(0x5da)]+_0x9bb1e1(0xd0c)+_0x3cc61b+_0x9bb1e1(0x893),void _0x57d089['_FileToolsLoadFile'](_0x5d9667,_0x44cd00=>{var _0x1a62bd=_0x9bb1e1;_0x2faef6[_0x1a62bd(0x76e)][_0x3cc61b]=_0x44cd00,this[_0x1a62bd(0x9e0)](_0x1c66e5,_0x2faef6,_0x2fa84d);});{let _0x204409=_0x2faef6[_0x9bb1e1(0x76e)][_0x3cc61b];if(_0x5622ec[0x2]){var _0x2b3a51=_0x5622ec[0x3][_0x9bb1e1(0x9de)](',');for(let _0x7fa6b4=0x0;_0x7fa6b4<_0x2b3a51[_0x9bb1e1(0x86e)];_0x7fa6b4+=0x2){var _0x1651f7=new RegExp(_0x2b3a51[_0x7fa6b4],'g'),_0x1bfc3b=_0x2b3a51[_0x7fa6b4+0x1];_0x204409=_0x204409[_0x9bb1e1(0x8fd)](_0x1651f7,_0x1bfc3b);}}if(_0x5622ec[0x4]){const _0x2d7bd5=_0x5622ec[0x5];if(-0x1!==_0x2d7bd5[_0x9bb1e1(0x9a3)]('..')){var _0x5d9667=_0x2d7bd5['split']('..'),_0x1d3235=parseInt(_0x5d9667[0x0]);let _0x48fea8=parseInt(_0x5d9667[0x1]),_0xb8ab7c=_0x204409[_0x9bb1e1(0x8be)](0x0);_0x204409='',isNaN(_0x48fea8)&&(_0x48fea8=_0x2faef6['indexParameters'][_0x5d9667[0x1]]);for(let _0x533af9=_0x1d3235;_0x533af9<_0x48fea8;_0x533af9++)_0x2faef6[_0x9bb1e1(0xbad)]||(_0xb8ab7c=_0xb8ab7c[_0x9bb1e1(0x8fd)](/light\{X\}.(\w*)/g,(_0xc904a7,_0x4887ad)=>_0x4887ad+_0x9bb1e1(0x4d6))),_0x204409+=_0xb8ab7c['replace'](/\{X\}/g,_0x533af9['toString']())+'\x0a';}else _0x204409=(_0x204409=_0x2faef6[_0x9bb1e1(0xbad)]?_0x204409:_0x204409['replace'](/light\{X\}.(\w*)/g,(_0x1bbcda,_0x2ada90)=>_0x2ada90+_0x9bb1e1(0x4d6)))[_0x9bb1e1(0x8fd)](/\{X\}/g,_0x2d7bd5);}_0x1c66e5=_0x1c66e5[_0x9bb1e1(0x8fd)](_0x5622ec[0x0],_0x204409),_0x372736=_0x372736||0x0<=_0x204409[_0x9bb1e1(0x9a3)]('#include<')||0x0<=_0x204409[_0x9bb1e1(0x9a3)](_0x9bb1e1(0xd6f));}_0x5622ec=_0x1f7705[_0x9bb1e1(0x169)](_0x4dd8cb);}_0x372736?this[_0x9bb1e1(0x9e0)](_0x1c66e5[_0x9bb1e1(0x87d)](),_0x2faef6,_0x2fa84d):_0x2fa84d(_0x1c66e5);}static['_FileToolsLoadFile'](_0x1ed969,_0x7608f6,_0x49cda5,_0x3e16d9,_0x19334d,_0x1e14c3){var _0x37700e=_0x194c6d;throw(0x0,_0x44097c['S'])(_0x37700e(0xb09));}}},0xc627:(_0x2fdefd,_0x474c21,_0x19976b)=>{var _0x50cac2=a7_0x425593;_0x19976b['d'](_0x474c21,{'B':()=>_0x43cc4b});class _0x43cc4b{constructor(_0xb5b841=null,_0x36f6a3){var _0x465595=a7_0x5572;if(this[_0x465595(0xc99)]=null,this[_0x465595(0x600)]=_0x36f6a3,!_0xb5b841&&!(_0xb5b841=_0x36f6a3['createTexture']()))throw new Error(_0x465595(0x35e));this[_0x465595(0x83f)](_0xb5b841);}get[_0x50cac2(0x51e)](){return this['_webGLTexture'];}[_0x50cac2(0xa54)](){}[_0x50cac2(0x83f)](_0x1e326f){this['_webGLTexture']=_0x1e326f;}[_0x50cac2(0x4f4)](){var _0xb7f023=_0x50cac2;this[_0xb7f023(0x603)]=null,this[_0xb7f023(0xc99)]=null;}[_0x50cac2(0xd7e)](_0xcc0c90){var _0x3cb088=_0x50cac2;this[_0x3cb088(0xc99)]||(this[_0x3cb088(0xc99)]=[]),this['_MSAARenderBuffers']['push'](_0xcc0c90);}[_0x50cac2(0x305)](){var _0xdf3cc3=_0x50cac2;if(this[_0xdf3cc3(0xc99)]){for(const _0x372791 of this[_0xdf3cc3(0xc99)])this[_0xdf3cc3(0x600)][_0xdf3cc3(0xa2b)](_0x372791);this[_0xdf3cc3(0xc99)]=null;}}[_0x50cac2(0x63e)](){var _0x398fbc=_0x50cac2;this[_0x398fbc(0x305)](),this[_0x398fbc(0x603)]&&this['_context']['deleteTexture'](this['_webGLTexture']),this[_0x398fbc(0x4f4)]();}}},0x2df4:(_0x4f17dc,_0x2ac490,_0x3ab96c)=>{var _0x139338=a7_0x425593;_0x3ab96c['d'](_0x2ac490,{'y':()=>_0x8949cd});class _0x8949cd{constructor(){var _0x5001af=a7_0x5572;this[_0x5001af(0x429)]={},this[_0x5001af(0xaae)]=null,this[_0x5001af(0x8cc)]=null,this[_0x5001af(0x524)]=null,this[_0x5001af(0xae0)]=null;}get[_0x139338(0xd36)](){var _0x914d20=_0x139338;return this[_0x914d20(0x4bd)];}get[_0x139338(0x21c)](){var _0x212e01=_0x139338;return!!this['program']&&(!this['isParallelCompiled']||this[_0x212e01(0x1a8)][_0x212e01(0x75b)](this));}[_0x139338(0x862)](_0x20028f){var _0x25847b=_0x139338;_0x20028f&&this[_0x25847b(0xc22)]&&_0x20028f(this['program']);}['_fillEffectInformation'](_0x1ae899,_0x32ba42,_0x590cf2,_0x119dd9,_0x13e435,_0x579647,_0x2e2e79,_0x48bf96){var _0x241254=_0x139338;const _0x23840e=this[_0x241254(0x1a8)];if(_0x23840e[_0x241254(0xbad)]){for(const _0xf82dc9 in _0x32ba42)_0x1ae899[_0x241254(0x583)](_0xf82dc9,_0x32ba42[_0xf82dc9]);}const _0xfe5626=this['engine'][_0x241254(0x1e6)](this,_0x590cf2);_0xfe5626['forEach']((_0x11f5e9,_0x36c1bd)=>{_0x119dd9[_0x590cf2[_0x36c1bd]]=_0x11f5e9;}),this[_0x241254(0x1ab)]=_0x119dd9;let _0x303e1f;for(_0x303e1f=0x0;_0x303e1f<_0x13e435[_0x241254(0x86e)];_0x303e1f++)null==_0x1ae899['getUniform'](_0x13e435[_0x303e1f])&&(_0x13e435[_0x241254(0x468)](_0x303e1f,0x1),_0x303e1f--);_0x13e435[_0x241254(0x92e)]((_0x4bfdbd,_0xc73401)=>{_0x579647[_0x4bfdbd]=_0xc73401;});for(const _0xe98e9c of _0x23840e['getAttributes'](this,_0x2e2e79))_0x48bf96[_0x241254(0x303)](_0xe98e9c);}[_0x139338(0x1cb)](){var _0x543a90=_0x139338;this[_0x543a90(0x1ab)]={};}[_0x139338(0x2d4)](_0x35b106,_0x4ab689){var _0x4908a3=_0x139338,_0x59f336=this['_valueCache'][_0x35b106],_0x4ab689=_0x4ab689[_0x4908a3(0x59b)];return(void 0x0===_0x59f336||_0x59f336!==_0x4ab689)&&(this[_0x4908a3(0x429)][_0x35b106]=_0x4ab689,!0x0);}[_0x139338(0xc9e)](_0x3fd5c0,_0x22195d,_0x14e1f5){var _0x1d4f00=_0x139338;let _0x56399a=this[_0x1d4f00(0x429)][_0x3fd5c0];if(!_0x56399a||0x2!==_0x56399a[_0x1d4f00(0x86e)])return _0x56399a=[_0x22195d,_0x14e1f5],this['_valueCache'][_0x3fd5c0]=_0x56399a,!0x0;let _0xd30f88=!0x1;return _0x56399a[0x0]!==_0x22195d&&(_0x56399a[0x0]=_0x22195d,_0xd30f88=!0x0),_0x56399a[0x1]!==_0x14e1f5&&(_0x56399a[0x1]=_0x14e1f5,_0xd30f88=!0x0),_0xd30f88;}[_0x139338(0x774)](_0x378f12,_0x4985e5,_0x53a2e7,_0x54765e){var _0x442b24=_0x139338;let _0x440f82=this[_0x442b24(0x429)][_0x378f12];if(!_0x440f82||0x3!==_0x440f82[_0x442b24(0x86e)])return _0x440f82=[_0x4985e5,_0x53a2e7,_0x54765e],this[_0x442b24(0x429)][_0x378f12]=_0x440f82,!0x0;let _0x2cb8ca=!0x1;return _0x440f82[0x0]!==_0x4985e5&&(_0x440f82[0x0]=_0x4985e5,_0x2cb8ca=!0x0),_0x440f82[0x1]!==_0x53a2e7&&(_0x440f82[0x1]=_0x53a2e7,_0x2cb8ca=!0x0),_0x440f82[0x2]!==_0x54765e&&(_0x440f82[0x2]=_0x54765e,_0x2cb8ca=!0x0),_0x2cb8ca;}['_cacheFloat4'](_0x15652e,_0x37faf6,_0x5ec798,_0x357227,_0x1353d3){var _0xc9a17c=_0x139338;let _0x382810=this[_0xc9a17c(0x429)][_0x15652e];if(!_0x382810||0x4!==_0x382810['length'])return _0x382810=[_0x37faf6,_0x5ec798,_0x357227,_0x1353d3],this[_0xc9a17c(0x429)][_0x15652e]=_0x382810,!0x0;let _0x2ebb05=!0x1;return _0x382810[0x0]!==_0x37faf6&&(_0x382810[0x0]=_0x37faf6,_0x2ebb05=!0x0),_0x382810[0x1]!==_0x5ec798&&(_0x382810[0x1]=_0x5ec798,_0x2ebb05=!0x0),_0x382810[0x2]!==_0x357227&&(_0x382810[0x2]=_0x357227,_0x2ebb05=!0x0),_0x382810[0x3]!==_0x1353d3&&(_0x382810[0x3]=_0x1353d3,_0x2ebb05=!0x0),_0x2ebb05;}[_0x139338(0x1b5)](_0xfee378,_0x2c59b5){var _0x39fead=_0x139338,_0x2d7f90=this[_0x39fead(0x429)][_0xfee378];void 0x0!==_0x2d7f90&&_0x2d7f90===_0x2c59b5||this[_0x39fead(0x1a8)][_0x39fead(0x1b5)](this['_uniforms'][_0xfee378],_0x2c59b5)&&(this[_0x39fead(0x429)][_0xfee378]=_0x2c59b5);}['setInt2'](_0x49444f,_0x4276fd,_0x24a544){var _0xe80d60=_0x139338;this[_0xe80d60(0xc9e)](_0x49444f,_0x4276fd,_0x24a544)&&!this['engine'][_0xe80d60(0x4ba)](this[_0xe80d60(0x1ab)][_0x49444f],_0x4276fd,_0x24a544)&&(this[_0xe80d60(0x429)][_0x49444f]=null);}['setInt3'](_0x324fbd,_0x23e1bb,_0x40ebef,_0x559d11){var _0x5d163c=_0x139338;this[_0x5d163c(0x774)](_0x324fbd,_0x23e1bb,_0x40ebef,_0x559d11)&&!this[_0x5d163c(0x1a8)][_0x5d163c(0x985)](this[_0x5d163c(0x1ab)][_0x324fbd],_0x23e1bb,_0x40ebef,_0x559d11)&&(this[_0x5d163c(0x429)][_0x324fbd]=null);}[_0x139338(0x560)](_0x48ef97,_0x1b1715,_0x1081f5,_0x184f22,_0x49650f){var _0x480e5e=_0x139338;this[_0x480e5e(0x503)](_0x48ef97,_0x1b1715,_0x1081f5,_0x184f22,_0x49650f)&&!this[_0x480e5e(0x1a8)][_0x480e5e(0x560)](this[_0x480e5e(0x1ab)][_0x48ef97],_0x1b1715,_0x1081f5,_0x184f22,_0x49650f)&&(this[_0x480e5e(0x429)][_0x48ef97]=null);}['setIntArray'](_0x16419d,_0x45dd3e){var _0x13e4c6=_0x139338;this[_0x13e4c6(0x429)][_0x16419d]=null,this[_0x13e4c6(0x1a8)][_0x13e4c6(0x72a)](this[_0x13e4c6(0x1ab)][_0x16419d],_0x45dd3e);}[_0x139338(0x486)](_0x467402,_0xc6fa7c){var _0x3d034e=_0x139338;this[_0x3d034e(0x429)][_0x467402]=null,this[_0x3d034e(0x1a8)][_0x3d034e(0x486)](this['_uniforms'][_0x467402],_0xc6fa7c);}[_0x139338(0x282)](_0x5294db,_0x486a90){var _0x1cc216=_0x139338;this[_0x1cc216(0x429)][_0x5294db]=null,this[_0x1cc216(0x1a8)][_0x1cc216(0x282)](this[_0x1cc216(0x1ab)][_0x5294db],_0x486a90);}[_0x139338(0x29d)](_0x5f290f,_0x434d20){var _0x22ebdc=_0x139338;this[_0x22ebdc(0x429)][_0x5f290f]=null,this[_0x22ebdc(0x1a8)][_0x22ebdc(0x29d)](this[_0x22ebdc(0x1ab)][_0x5f290f],_0x434d20);}[_0x139338(0x8a2)](_0x24f77f,_0x19430c){var _0x3424ed=_0x139338,_0x318a9c=this[_0x3424ed(0x429)][_0x24f77f];void 0x0!==_0x318a9c&&_0x318a9c===_0x19430c||this['engine'][_0x3424ed(0x8a2)](this[_0x3424ed(0x1ab)][_0x24f77f],_0x19430c)&&(this[_0x3424ed(0x429)][_0x24f77f]=_0x19430c);}[_0x139338(0x97a)](_0x21adec,_0x520a14,_0x3971f7){var _0x2f897b=_0x139338;this['_cacheFloat2'](_0x21adec,_0x520a14,_0x3971f7)&&!this[_0x2f897b(0x1a8)][_0x2f897b(0x97a)](this[_0x2f897b(0x1ab)][_0x21adec],_0x520a14,_0x3971f7)&&(this[_0x2f897b(0x429)][_0x21adec]=null);}[_0x139338(0xd69)](_0x419bbe,_0x4931ca,_0x31aef7,_0x5aa987){var _0x488ce9=_0x139338;this[_0x488ce9(0x774)](_0x419bbe,_0x4931ca,_0x31aef7,_0x5aa987)&&!this['engine']['setUInt3'](this[_0x488ce9(0x1ab)][_0x419bbe],_0x4931ca,_0x31aef7,_0x5aa987)&&(this[_0x488ce9(0x429)][_0x419bbe]=null);}[_0x139338(0x29a)](_0x2300dd,_0x2fdfe9,_0x1f9327,_0x3ccec8,_0x36df73){var _0x20cd84=_0x139338;this['_cacheFloat4'](_0x2300dd,_0x2fdfe9,_0x1f9327,_0x3ccec8,_0x36df73)&&!this[_0x20cd84(0x1a8)][_0x20cd84(0x29a)](this[_0x20cd84(0x1ab)][_0x2300dd],_0x2fdfe9,_0x1f9327,_0x3ccec8,_0x36df73)&&(this[_0x20cd84(0x429)][_0x2300dd]=null);}[_0x139338(0x9f2)](_0x6caa78,_0x128cfc){var _0x8abd58=_0x139338;this[_0x8abd58(0x429)][_0x6caa78]=null,this[_0x8abd58(0x1a8)][_0x8abd58(0x9f2)](this[_0x8abd58(0x1ab)][_0x6caa78],_0x128cfc);}['setUIntArray2'](_0x28c3f4,_0x255385){var _0xb76d03=_0x139338;this[_0xb76d03(0x429)][_0x28c3f4]=null,this[_0xb76d03(0x1a8)][_0xb76d03(0x955)](this[_0xb76d03(0x1ab)][_0x28c3f4],_0x255385);}[_0x139338(0xa30)](_0xd39196,_0x28bd2a){var _0x3b7693=_0x139338;this[_0x3b7693(0x429)][_0xd39196]=null,this[_0x3b7693(0x1a8)][_0x3b7693(0xa30)](this[_0x3b7693(0x1ab)][_0xd39196],_0x28bd2a);}[_0x139338(0x73b)](_0x173efa,_0x58cd9f){var _0xaf3d23=_0x139338;this[_0xaf3d23(0x429)][_0x173efa]=null,this[_0xaf3d23(0x1a8)][_0xaf3d23(0x73b)](this['_uniforms'][_0x173efa],_0x58cd9f);}['setArray'](_0x247350,_0x5c8d9f){var _0x31555a=_0x139338;this[_0x31555a(0x429)][_0x247350]=null,this[_0x31555a(0x1a8)][_0x31555a(0x9e4)](this[_0x31555a(0x1ab)][_0x247350],_0x5c8d9f);}['setArray2'](_0x276255,_0x60cb35){var _0x374c73=_0x139338;this[_0x374c73(0x429)][_0x276255]=null,this[_0x374c73(0x1a8)][_0x374c73(0xcd7)](this[_0x374c73(0x1ab)][_0x276255],_0x60cb35);}[_0x139338(0x60c)](_0x359c4b,_0x1ab239){var _0x2c8b5f=_0x139338;this[_0x2c8b5f(0x429)][_0x359c4b]=null,this[_0x2c8b5f(0x1a8)]['setArray3'](this[_0x2c8b5f(0x1ab)][_0x359c4b],_0x1ab239);}[_0x139338(0x944)](_0x3cc105,_0x2bd6a3){var _0x3e3e55=_0x139338;this[_0x3e3e55(0x429)][_0x3cc105]=null,this[_0x3e3e55(0x1a8)][_0x3e3e55(0x944)](this[_0x3e3e55(0x1ab)][_0x3cc105],_0x2bd6a3);}[_0x139338(0x4e7)](_0x286758,_0x1b89db){var _0x1faa32=_0x139338;_0x1b89db&&(this[_0x1faa32(0x429)][_0x286758]=null,this['engine']['setMatrices'](this['_uniforms'][_0x286758],_0x1b89db));}[_0x139338(0x61f)](_0x1ff288,_0x120532){var _0x4eae4f=_0x139338;this[_0x4eae4f(0x2d4)](_0x1ff288,_0x120532)&&!this[_0x4eae4f(0x1a8)][_0x4eae4f(0x4e7)](this[_0x4eae4f(0x1ab)][_0x1ff288],_0x120532[_0x4eae4f(0xb69)]())&&(this['_valueCache'][_0x1ff288]=null);}['setMatrix3x3'](_0x220448,_0x5d811f){var _0x46e74d=_0x139338;this['_valueCache'][_0x220448]=null,this['engine'][_0x46e74d(0x2b7)](this[_0x46e74d(0x1ab)][_0x220448],_0x5d811f);}[_0x139338(0xba9)](_0x593e2c,_0x3cba98){var _0x1df259=_0x139338;this['_valueCache'][_0x593e2c]=null,this[_0x1df259(0x1a8)][_0x1df259(0xba9)](this[_0x1df259(0x1ab)][_0x593e2c],_0x3cba98);}[_0x139338(0x89c)](_0xef82a6,_0x470c9c){var _0xf5ed95=_0x139338,_0x3f9069=this[_0xf5ed95(0x429)][_0xef82a6];void 0x0!==_0x3f9069&&_0x3f9069===_0x470c9c||this[_0xf5ed95(0x1a8)][_0xf5ed95(0x89c)](this['_uniforms'][_0xef82a6],_0x470c9c)&&(this[_0xf5ed95(0x429)][_0xef82a6]=_0x470c9c);}[_0x139338(0xc71)](_0x9275a0,_0x25679b){var _0x7725b7=_0x139338;this[_0x7725b7(0xc9e)](_0x9275a0,_0x25679b['x'],_0x25679b['y'])&&!this['engine']['setFloat2'](this[_0x7725b7(0x1ab)][_0x9275a0],_0x25679b['x'],_0x25679b['y'])&&(this[_0x7725b7(0x429)][_0x9275a0]=null);}[_0x139338(0x2ad)](_0x2f2100,_0x98ff7b,_0x334888){var _0x324afd=_0x139338;this['_cacheFloat2'](_0x2f2100,_0x98ff7b,_0x334888)&&!this['engine']['setFloat2'](this[_0x324afd(0x1ab)][_0x2f2100],_0x98ff7b,_0x334888)&&(this[_0x324afd(0x429)][_0x2f2100]=null);}[_0x139338(0x721)](_0x1ee4ae,_0x28d3b8){var _0x5c5136=_0x139338;this[_0x5c5136(0x774)](_0x1ee4ae,_0x28d3b8['x'],_0x28d3b8['y'],_0x28d3b8['z'])&&!this[_0x5c5136(0x1a8)][_0x5c5136(0x697)](this[_0x5c5136(0x1ab)][_0x1ee4ae],_0x28d3b8['x'],_0x28d3b8['y'],_0x28d3b8['z'])&&(this[_0x5c5136(0x429)][_0x1ee4ae]=null);}[_0x139338(0x697)](_0x296db6,_0x5a82e1,_0x3b0b58,_0x38ce74){var _0xb93f26=_0x139338;this[_0xb93f26(0x774)](_0x296db6,_0x5a82e1,_0x3b0b58,_0x38ce74)&&!this[_0xb93f26(0x1a8)][_0xb93f26(0x697)](this[_0xb93f26(0x1ab)][_0x296db6],_0x5a82e1,_0x3b0b58,_0x38ce74)&&(this[_0xb93f26(0x429)][_0x296db6]=null);}[_0x139338(0xcaf)](_0x3384a7,_0x299671){var _0x577508=_0x139338;this[_0x577508(0x503)](_0x3384a7,_0x299671['x'],_0x299671['y'],_0x299671['z'],_0x299671['w'])&&!this[_0x577508(0x1a8)][_0x577508(0x1d0)](this[_0x577508(0x1ab)][_0x3384a7],_0x299671['x'],_0x299671['y'],_0x299671['z'],_0x299671['w'])&&(this['_valueCache'][_0x3384a7]=null);}[_0x139338(0x6a2)](_0xe9c525,_0x255939){var _0x4acc51=_0x139338;this[_0x4acc51(0x503)](_0xe9c525,_0x255939['x'],_0x255939['y'],_0x255939['z'],_0x255939['w'])&&!this[_0x4acc51(0x1a8)]['setFloat4'](this[_0x4acc51(0x1ab)][_0xe9c525],_0x255939['x'],_0x255939['y'],_0x255939['z'],_0x255939['w'])&&(this[_0x4acc51(0x429)][_0xe9c525]=null);}[_0x139338(0x1d0)](_0x5f2459,_0x53f7b2,_0xabe80a,_0x29d6b7,_0x55435d){var _0x58cbc0=_0x139338;this['_cacheFloat4'](_0x5f2459,_0x53f7b2,_0xabe80a,_0x29d6b7,_0x55435d)&&!this[_0x58cbc0(0x1a8)][_0x58cbc0(0x1d0)](this[_0x58cbc0(0x1ab)][_0x5f2459],_0x53f7b2,_0xabe80a,_0x29d6b7,_0x55435d)&&(this[_0x58cbc0(0x429)][_0x5f2459]=null);}[_0x139338(0x7d7)](_0x579d3e,_0x5f15e){var _0x5d6175=_0x139338;this['_cacheFloat3'](_0x579d3e,_0x5f15e['r'],_0x5f15e['g'],_0x5f15e['b'])&&!this[_0x5d6175(0x1a8)][_0x5d6175(0x697)](this[_0x5d6175(0x1ab)][_0x579d3e],_0x5f15e['r'],_0x5f15e['g'],_0x5f15e['b'])&&(this[_0x5d6175(0x429)][_0x579d3e]=null);}[_0x139338(0x307)](_0x1aa073,_0x475980,_0x2edc46){var _0x593dbe=_0x139338;this[_0x593dbe(0x503)](_0x1aa073,_0x475980['r'],_0x475980['g'],_0x475980['b'],_0x2edc46)&&!this['engine'][_0x593dbe(0x1d0)](this[_0x593dbe(0x1ab)][_0x1aa073],_0x475980['r'],_0x475980['g'],_0x475980['b'],_0x2edc46)&&(this[_0x593dbe(0x429)][_0x1aa073]=null);}[_0x139338(0x717)](_0x12fcd7,_0x2348b6){var _0x18c5ef=_0x139338;this['_cacheFloat4'](_0x12fcd7,_0x2348b6['r'],_0x2348b6['g'],_0x2348b6['b'],_0x2348b6['a'])&&!this[_0x18c5ef(0x1a8)][_0x18c5ef(0x1d0)](this[_0x18c5ef(0x1ab)][_0x12fcd7],_0x2348b6['r'],_0x2348b6['g'],_0x2348b6['b'],_0x2348b6['a'])&&(this['_valueCache'][_0x12fcd7]=null);}['_getVertexShaderCode'](){var _0x1abb1a=_0x139338;return this[_0x1abb1a(0x428)]?this[_0x1abb1a(0x1a8)][_0x1abb1a(0x70c)](this[_0x1abb1a(0x428)]):null;}[_0x139338(0x379)](){var _0x41e919=_0x139338;return this[_0x41e919(0x866)]?this[_0x41e919(0x1a8)][_0x41e919(0x70c)](this[_0x41e919(0x866)]):null;}}},0xb7b8:(_0x21b643,_0x4c2fb4,_0x3d3110)=>{_0x3d3110['d'](_0x4c2fb4,{'f':()=>_0x5f3905});var _0x277b99=_0x3d3110(0x11722);class _0x5f3905{constructor(){var _0x5420d3=a7_0x5572;this[_0x5420d3(0x811)]=_0x277b99['x'][_0x5420d3(0xc1f)];}['postProcessor'](_0x3943fc,_0x4cad9a,_0x388a9a,_0x25388c,_0x2f2c96){var _0x485d37=a7_0x5572;return _0x2f2c96[_0x485d37(0xa51)]()[_0x485d37(0x91a)]?_0x3943fc:_0x3943fc[_0x485d37(0x8fd)](/#extension.+GL_EXT_draw_buffers.+(enable|require)/g,'');}}},0x15e6f:(_0x55523e,_0x75c603,_0x38f542)=>{var _0x508511=a7_0x425593,_0x3400b7=_0x38f542(0x77a5),_0x593729=_0x38f542(0xee04),_0xcaef66=_0x38f542(0x9957),_0x43c8b7=(_0xcaef66['f'][_0x508511(0x85a)]['setAlphaMode']=function(_0x5ebe29,_0x2b35c6=!0x1){var _0x6b46f=_0x508511,_0x34caa1;if(this[_0x6b46f(0x580)]===_0x5ebe29&&(_0x5ebe29===_0x3400b7['g'][_0x6b46f(0xb41)]&&!this[_0x6b46f(0x40b)][_0x6b46f(0x659)]||_0x5ebe29!==_0x3400b7['g'][_0x6b46f(0xb41)]&&this[_0x6b46f(0x40b)]['alphaBlend']))_0x2b35c6||(_0x34caa1=_0x5ebe29===_0x3400b7['g']['ALPHA_DISABLE'],this[_0x6b46f(0x90a)][_0x6b46f(0x48e)]!==_0x34caa1&&(this[_0x6b46f(0x987)](_0x34caa1),this[_0x6b46f(0x9c7)]['setDepthWriteEnabled'](_0x34caa1)));else{switch(_0x5ebe29){case _0x3400b7['g'][_0x6b46f(0xb41)]:this[_0x6b46f(0x40b)][_0x6b46f(0x659)]=!0x1;break;case _0x3400b7['g'][_0x6b46f(0x901)]:this['_alphaState'][_0x6b46f(0x5a3)](0x1,_0x3400b7['g']['GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA'],0x1,0x1),this[_0x6b46f(0x40b)][_0x6b46f(0x659)]=!0x0;break;case _0x3400b7['g'][_0x6b46f(0x78c)]:this[_0x6b46f(0x40b)]['setAlphaBlendFunctionParameters'](0x1,_0x3400b7['g'][_0x6b46f(0x7a4)],0x1,_0x3400b7['g'][_0x6b46f(0x7a4)]),this[_0x6b46f(0x40b)][_0x6b46f(0x659)]=!0x0;break;case _0x3400b7['g']['ALPHA_COMBINE']:this['_alphaState'][_0x6b46f(0x5a3)](_0x3400b7['g'][_0x6b46f(0x279)],_0x3400b7['g']['GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA'],0x1,0x1),this[_0x6b46f(0x40b)][_0x6b46f(0x659)]=!0x0;break;case _0x3400b7['g'][_0x6b46f(0x5be)]:this[_0x6b46f(0x40b)]['setAlphaBlendFunctionParameters'](0x1,0x1,0x0,0x1),this[_0x6b46f(0x40b)]['alphaBlend']=!0x0;break;case _0x3400b7['g'][_0x6b46f(0x1f6)]:this[_0x6b46f(0x40b)]['setAlphaBlendFunctionParameters'](_0x3400b7['g'][_0x6b46f(0x279)],0x1,0x0,0x1),this[_0x6b46f(0x40b)]['alphaBlend']=!0x0;break;case _0x3400b7['g']['ALPHA_SUBTRACT']:this[_0x6b46f(0x40b)]['setAlphaBlendFunctionParameters'](0x0,_0x3400b7['g'][_0x6b46f(0xcc6)],0x1,0x1),this[_0x6b46f(0x40b)][_0x6b46f(0x659)]=!0x0;break;case _0x3400b7['g']['ALPHA_MULTIPLY']:this[_0x6b46f(0x40b)][_0x6b46f(0x5a3)](_0x3400b7['g'][_0x6b46f(0x190)],0x0,0x1,0x1),this['_alphaState']['alphaBlend']=!0x0;break;case _0x3400b7['g']['ALPHA_MAXIMIZED']:this[_0x6b46f(0x40b)][_0x6b46f(0x5a3)](_0x3400b7['g'][_0x6b46f(0x279)],_0x3400b7['g'][_0x6b46f(0xcc6)],0x1,0x1),this[_0x6b46f(0x40b)][_0x6b46f(0x659)]=!0x0;break;case _0x3400b7['g'][_0x6b46f(0x35a)]:this[_0x6b46f(0x40b)][_0x6b46f(0x5a3)](_0x3400b7['g'][_0x6b46f(0x7ba)],_0x3400b7['g']['GL_ALPHA_FUNCTION_ONE_MINUS_CONSTANT_COLOR'],_0x3400b7['g']['GL_ALPHA_FUNCTION_CONSTANT_ALPHA'],_0x3400b7['g'][_0x6b46f(0xac4)]),this[_0x6b46f(0x40b)][_0x6b46f(0x659)]=!0x0;break;case _0x3400b7['g']['ALPHA_SCREENMODE']:this[_0x6b46f(0x40b)][_0x6b46f(0x5a3)](0x1,_0x3400b7['g'][_0x6b46f(0xcc6)],0x1,_0x3400b7['g'][_0x6b46f(0x7a4)]),this[_0x6b46f(0x40b)]['alphaBlend']=!0x0;break;case _0x3400b7['g'][_0x6b46f(0xc2c)]:this['_alphaState'][_0x6b46f(0x5a3)](0x1,0x1,0x1,0x1),this['_alphaState'][_0x6b46f(0x659)]=!0x0;break;case _0x3400b7['g'][_0x6b46f(0x17a)]:this['_alphaState']['setAlphaBlendFunctionParameters'](_0x3400b7['g'][_0x6b46f(0x3f5)],0x1,0x0,0x0),this['_alphaState'][_0x6b46f(0x659)]=!0x0;break;case _0x3400b7['g']['ALPHA_REVERSEONEMINUS']:this[_0x6b46f(0x40b)][_0x6b46f(0x5a3)](_0x3400b7['g']['GL_ALPHA_FUNCTION_ONE_MINUS_DST_COLOR'],_0x3400b7['g'][_0x6b46f(0xcc6)],_0x3400b7['g'][_0x6b46f(0x99f)],_0x3400b7['g']['GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA']),this[_0x6b46f(0x40b)][_0x6b46f(0x659)]=!0x0;break;case _0x3400b7['g'][_0x6b46f(0x389)]:this[_0x6b46f(0x40b)][_0x6b46f(0x5a3)](0x1,_0x3400b7['g'][_0x6b46f(0x7a4)],0x1,_0x3400b7['g'][_0x6b46f(0x7a4)]),this[_0x6b46f(0x40b)]['alphaBlend']=!0x0;break;case _0x3400b7['g'][_0x6b46f(0xc3a)]:this[_0x6b46f(0x40b)][_0x6b46f(0x5a3)](0x1,0x1,0x1,0x0),this[_0x6b46f(0x40b)][_0x6b46f(0x659)]=!0x0;break;case _0x3400b7['g'][_0x6b46f(0xbf5)]:this['_alphaState'][_0x6b46f(0x5a3)](_0x3400b7['g']['GL_ALPHA_FUNCTION_ONE_MINUS_DST_COLOR'],_0x3400b7['g'][_0x6b46f(0xcc6)],0x0,0x1),this['_alphaState']['alphaBlend']=!0x0;break;case _0x3400b7['g'][_0x6b46f(0x518)]:this[_0x6b46f(0x40b)][_0x6b46f(0x5a3)](_0x3400b7['g'][_0x6b46f(0x279)],_0x3400b7['g']['GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA'],0x1,_0x3400b7['g']['GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA']),this[_0x6b46f(0x40b)]['alphaBlend']=!0x0;}_0x2b35c6||(this['setDepthWrite'](_0x5ebe29===_0x593729['D'][_0x6b46f(0xb41)]),this[_0x6b46f(0x9c7)][_0x6b46f(0x45e)](_0x5ebe29===_0x593729['D']['ALPHA_DISABLE'])),this[_0x6b46f(0x580)]=_0x5ebe29,this['_cacheRenderPipeline'][_0x6b46f(0x18a)](this['_alphaState'][_0x6b46f(0x659)]),this['_cacheRenderPipeline']['setAlphaBlendFactors'](this[_0x6b46f(0x40b)][_0x6b46f(0x8c2)],this[_0x6b46f(0x40b)][_0x6b46f(0xc9f)]);}},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0xaad)]=function(_0x798791){var _0x4456c4=_0x508511;_0x593729['D'][_0x4456c4(0x85a)][_0x4456c4(0xaad)]['call'](this,_0x798791),this[_0x4456c4(0x9c7)][_0x4456c4(0xca1)](this[_0x4456c4(0x40b)][_0x4456c4(0x8c2)],this[_0x4456c4(0x40b)][_0x4456c4(0xc9f)]);},_0x38f542(0x7755)),_0x270f36=_0x38f542(0x10ea4),_0x2377ec=_0x38f542(0xe34c),_0x150e51=_0x38f542(0x89a1);class _0x2361c0{constructor(_0x310ddd,_0x1eb598){var _0x14c466=_0x508511;this[_0x14c466(0x391)]=_0x310ddd,this['_cacheSampler']=_0x1eb598,this[_0x14c466(0xafd)]=_0x2361c0[_0x14c466(0x195)]++,this['_bindGroupEntries']=[],this[_0x14c466(0xb1c)]();}[_0x508511(0x1fa)](_0x33aeee,_0x2480b1,_0x33ffac){var _0x4af5a0=_0x508511;if(!_0x33ffac)throw new Error(_0x4af5a0(0xb6a));if(0x0===this[_0x4af5a0(0x65c)][_0x4af5a0(0x86e)]){var _0x16fa84=0x0<this[_0x4af5a0(0x823)][_0x4af5a0(0x86e)];for(const _0x3a7aab in _0x33aeee){const _0xbdc241=_0x33aeee[_0x3a7aab],_0x2cf749=_0x33ffac[_0x3a7aab],_0x20017f=_0x2cf749[_0x4af5a0(0x1e2)],_0x3268e5=_0x2cf749[_0x4af5a0(0x378)],_0x184414=_0xbdc241['type'],_0x54ed5a=_0xbdc241[_0x4af5a0(0x2e9)];let _0x18b356=_0xbdc241[_0x4af5a0(0x835)],_0x4af80f=this[_0x4af5a0(0x823)][_0x20017f];switch(_0x4af80f=_0x4af80f||(this['_bindGroupEntries'][_0x20017f]=[]),_0x184414){case _0x2377ec['t']['Sampler']:var _0x122ed9=_0x54ed5a;void 0x0!==_0x18b356&&_0x16fa84?_0x4af80f[_0x18b356][_0x4af5a0(0x8f6)]=this[_0x4af5a0(0x548)][_0x4af5a0(0x45a)](_0x122ed9):(_0xbdc241[_0x4af5a0(0x835)]=_0x4af80f[_0x4af5a0(0x86e)],_0x4af80f[_0x4af5a0(0x303)]({'binding':_0x3268e5,'resource':this[_0x4af5a0(0x548)]['getSampler'](_0x122ed9)}));break;case _0x2377ec['t']['Texture']:case _0x2377ec['t'][_0x4af5a0(0xc7f)]:var _0x122ed9=_0x54ed5a,_0x55d28a=_0x122ed9[_0x4af5a0(0x70f)][_0x4af5a0(0xa52)];void 0x0!==_0x18b356&&_0x16fa84?(_0x184414===_0x2377ec['t']['Texture']&&(_0x4af80f[_0x18b356++][_0x4af5a0(0x8f6)]=this[_0x4af5a0(0x548)][_0x4af5a0(0x45a)](_0x122ed9['_texture'])),_0x4af80f[_0x18b356][_0x4af5a0(0x8f6)]=_0x55d28a[_0x4af5a0(0x828)]):(_0xbdc241['indexInGroupEntries']=_0x4af80f[_0x4af5a0(0x86e)],_0x184414===_0x2377ec['t']['Texture']&&_0x4af80f['push']({'binding':_0x3268e5-0x1,'resource':this[_0x4af5a0(0x548)][_0x4af5a0(0x45a)](_0x122ed9['_texture'])}),_0x4af80f['push']({'binding':_0x3268e5,'resource':_0x55d28a['view']}));break;case _0x2377ec['t'][_0x4af5a0(0xc9d)]:_0x55d28a=_0x54ed5a[_0x4af5a0(0x70f)][_0x4af5a0(0xa52)],(0x0==(_0x55d28a[_0x4af5a0(0xb60)]&_0x150e51['v2'][_0x4af5a0(0x704)])&&_0x270f36['Y']['Error']('computeDispatch:\x20The\x20texture\x20(name='+_0x54ed5a['name']+_0x4af5a0(0xa49)+_0x54ed5a[_0x4af5a0(0xafd)]+_0x4af5a0(0xd0b),0x32),void 0x0!==_0x18b356&&_0x16fa84?_0x4af80f[_0x18b356][_0x4af5a0(0x8f6)]=_0x55d28a[_0x4af5a0(0x3e2)]:(_0xbdc241[_0x4af5a0(0x835)]=_0x4af80f['length'],_0x4af80f[_0x4af5a0(0x303)]({'binding':_0x3268e5,'resource':_0x55d28a[_0x4af5a0(0x3e2)]})));break;case _0x2377ec['t'][_0x4af5a0(0x73e)]:case _0x2377ec['t'][_0x4af5a0(0x590)]:{_0x2377ec['t']['UniformBuffer'];const _0x505b20=_0x54ed5a;var _0x373431=_0x505b20[_0x4af5a0(0x400)](),_0x41387c=_0x373431[_0x4af5a0(0x51e)];void 0x0!==_0x18b356&&_0x16fa84?(_0x4af80f[_0x18b356]['resource']['buffer']=_0x41387c,_0x4af80f[_0x18b356][_0x4af5a0(0x8f6)][_0x4af5a0(0xcad)]=_0x373431['capacity']):(_0xbdc241['indexInGroupEntries']=_0x4af80f[_0x4af5a0(0x86e)],_0x4af80f[_0x4af5a0(0x303)]({'binding':_0x3268e5,'resource':{'buffer':_0x41387c,'offset':0x0,'size':_0x373431[_0x4af5a0(0x4f8)]}}));break;}}}for(let _0x144e9f=0x0;_0x144e9f<this['_bindGroupEntries'][_0x4af5a0(0x86e)];++_0x144e9f){var _0x238695=this[_0x4af5a0(0x823)][_0x144e9f];this[_0x4af5a0(0x65c)][_0x144e9f]=_0x238695?this[_0x4af5a0(0x391)][_0x4af5a0(0x92a)]({'layout':_0x2480b1[_0x4af5a0(0x40e)](_0x144e9f),'entries':_0x238695}):void 0x0;}this[_0x4af5a0(0x65c)][_0x4af5a0(0x86e)]=this[_0x4af5a0(0x823)][_0x4af5a0(0x86e)];}return this[_0x4af5a0(0x65c)];}[_0x508511(0xb1c)](){var _0x25e100=_0x508511;this[_0x25e100(0x65c)]=[];}}_0x2361c0[_0x508511(0x195)]=0x0;class _0x29085b{constructor(_0xe314b8){var _0x484958=_0x508511;this[_0x484958(0x2b8)]=_0x484958(0x349),this[_0x484958(0x1a8)]=_0xe314b8;}get['isAsync'](){return!0x1;}get[_0x508511(0x21c)](){var _0x401a6b=_0x508511;return!!this[_0x401a6b(0xa7b)];}[_0x508511(0xc3d)](){var _0x404169=_0x508511,_0x22b16d;return null==(_0x22b16d=this[_0x404169(0x61b)])?void 0x0:_0x22b16d['compute'];}['dispose'](){}}var _0x1116ef=_0x38f542(0x6214),_0x2c9fb8=(_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x5b9)]=function(){var _0x579041=_0x508511;return new _0x2361c0(this['_device'],this[_0x579041(0x548)]);},_0xcaef66['f']['prototype'][_0x508511(0x7a8)]=function(_0x2308aa,_0x4541bf){var _0x4d7b8d=_0x508511,_0x959f01=(_0x2308aa[_0x4d7b8d(0x852)]||_0x2308aa[_0x4d7b8d(0xc52)]||_0x2308aa[_0x4d7b8d(0x928)]||_0x2308aa[_0x4d7b8d(0xa61)]||_0x2308aa)+'@'+_0x4541bf[_0x4d7b8d(0x4c2)];if(this['_compiledComputeEffects'][_0x959f01]){const _0x5c6b5d=this[_0x4d7b8d(0x25e)][_0x959f01];return _0x4541bf[_0x4d7b8d(0x2db)]&&_0x5c6b5d[_0x4d7b8d(0x21c)]()&&_0x4541bf[_0x4d7b8d(0x2db)](_0x5c6b5d),_0x5c6b5d;}return _0x2308aa=new _0x43c8b7['n'](_0x2308aa,_0x4541bf,this,_0x959f01),this[_0x4d7b8d(0x25e)][_0x959f01]=_0x2308aa;},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x42e)]=function(){return new _0x29085b(this);},_0xcaef66['f'][_0x508511(0x85a)]['areAllComputeEffectsReady']=function(){var _0x3a726e=_0x508511;for(const _0xba942 in this[_0x3a726e(0x25e)]){const _0x1a434b=this['_compiledComputeEffects'][_0xba942];if(!_0x1a434b[_0x3a726e(0x21c)]())return!0x1;}return!0x0;},_0xcaef66['f']['prototype']['computeDispatch']=function(_0xfa26fe,_0x37d5b7,_0x182218,_0x340b3b,_0x5d8d41,_0x29014e,_0x51ecb0){var _0x45103b=_0x508511;if(this[_0x45103b(0x217)])this[_0x45103b(0x7b2)][_0x45103b(0x9b8)](()=>{var _0x2da45d=_0x45103b;this[_0x2da45d(0xbf7)](_0xfa26fe,_0x37d5b7,_0x182218,_0x340b3b,_0x5d8d41,_0x29014e,_0x51ecb0);});else{const _0x337617=_0xfa26fe[_0x45103b(0x696)],_0x147132=_0x37d5b7,_0x367900=(_0x337617[_0x45103b(0xd51)]||(_0x337617[_0x45103b(0xd51)]=this[_0x45103b(0x391)]['createComputePipeline']({'layout':_0x150e51['fu'][_0x45103b(0x93b)],'compute':_0x337617[_0x45103b(0xa7b)]})),this[_0x45103b(0x369)]),_0x5b36e3=_0x367900['beginComputePass']();_0x5b36e3['setPipeline'](_0x337617[_0x45103b(0xd51)]);var _0x2b531c=_0x147132[_0x45103b(0x1fa)](_0x182218,_0x337617[_0x45103b(0xd51)],_0x51ecb0);for(let _0x1ec521=0x0;_0x1ec521<_0x2b531c[_0x45103b(0x86e)];++_0x1ec521){var _0x46a0a7=_0x2b531c[_0x1ec521];_0x46a0a7&&_0x5b36e3[_0x45103b(0x614)](_0x1ec521,_0x46a0a7);}_0x5b36e3['dispatchWorkgroups'](_0x340b3b,_0x5d8d41,_0x29014e),_0x5b36e3['end']();}},_0xcaef66['f']['prototype'][_0x508511(0x912)]=function(){var _0x53f67b=_0x508511;for(const _0x586859 in this['_compiledComputeEffects']){var _0x5931e5=this[_0x53f67b(0x25e)][_0x586859][_0x53f67b(0x2a1)]();this[_0x53f67b(0x4de)](_0x5931e5);}this[_0x53f67b(0x25e)]={};},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0xb55)]=function(_0x4ec6d9,_0x5472b9,_0x5df4b1,_0x199352,_0x3f45d7){var _0x31fa84=_0x508511;const _0xc0a8dd=_0x4ec6d9;this[_0x31fa84(0x681)]&&(_0x1116ef['log'](_0x199352),_0x1116ef[_0x31fa84(0x25d)](_0x5472b9)),_0xc0a8dd[_0x31fa84(0x61b)]={'compute':_0x5472b9,'rawCompute':_0x5df4b1},_0xc0a8dd[_0x31fa84(0xa7b)]=this['_createComputePipelineStageDescriptor'](_0x5472b9,_0x199352,_0x3f45d7);},_0xcaef66['f']['prototype'][_0x508511(0x688)]=function(_0x3e81e6){var _0x3e8441=_0x508511;this[_0x3e8441(0x25e)][_0x3e81e6['_key']]&&(delete this[_0x3e8441(0x25e)][_0x3e81e6['_key']],this['_deleteComputePipelineContext'](_0x3e81e6[_0x3e8441(0x2a1)]()));},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x74c)]=function(){var _0x593ef0=_0x508511;for(const _0x168203 in this[_0x593ef0(0x25e)]){const _0x866b88=this[_0x593ef0(0x25e)][_0x168203];_0x866b88[_0x593ef0(0x696)]=null,_0x866b88[_0x593ef0(0x2bc)]=!0x1,_0x866b88[_0x593ef0(0x561)]();}},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x4de)]=function(_0x36b505){var _0x1f6fc9=_0x508511;_0x36b505&&_0x36b505[_0x1f6fc9(0x1cb)]();},_0xcaef66['f']['prototype'][_0x508511(0x6d9)]=function(_0x5b5037,_0x460633,_0x19debd){var _0x43c299=_0x508511;return _0x460633=_0x460633?'//'+_0x460633[_0x43c299(0x9de)]('\x0a')[_0x43c299(0xa94)](_0x43c299(0x2c6))+'\x0a':'',{'module':this[_0x43c299(0x391)][_0x43c299(0x1ba)]({'code':_0x460633+_0x5b5037}),'entryPoint':_0x19debd};},_0x38f542(0x25b1));_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x992)]=function(_0x5db585,_0x101b60){var _0x529404=_0x508511;const _0x26ac5d=new _0x2c9fb8['l'](this,_0x2c9fb8['S'][_0x529404(0xa17)]);return _0x26ac5d[_0x529404(0x5ca)]=!0x0,_0x101b60=Object['assign']({'bilinearFiltering':!0x1,'comparisonFunction':0x0,'generateStencil':!0x1,'samples':0x1},_0x101b60),(_0x26ac5d[_0x529404(0x1a4)]=_0x101b60[_0x529404(0x5df)]?_0x3400b7['g'][_0x529404(0x9e7)]:_0x3400b7['g'][_0x529404(0x2a6)],this[_0x529404(0xb01)](_0x26ac5d,_0x5db585,_0x101b60['generateStencil'],_0x101b60[_0x529404(0x1aa)],_0x101b60[_0x529404(0xb05)],_0x101b60[_0x529404(0x3a8)]),this['_textureHelper'][_0x529404(0xa9c)](_0x26ac5d),this[_0x529404(0xd27)][_0x529404(0x303)](_0x26ac5d),_0x26ac5d);},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0xc06)]=function(_0xbbe38d,_0x22357c,_0x16155a,_0x4276da,_0x29cc22=null,_0x5053b6=null,_0x522d2a,_0x1e0557=null,_0x319d03=!0x1,_0x324e42=0x0,_0x434536=0x0,_0x123bac=null,_0x13b092=!0x1){return this['createCubeTextureBase'](_0xbbe38d,_0x22357c,_0x16155a,!!_0x4276da,_0x29cc22,_0x5053b6,_0x522d2a,_0x1e0557,_0x319d03,_0x324e42,_0x434536,_0x123bac,null,(_0xc0ab17,_0x546ac4)=>{var _0x56de0f=a7_0x5572,_0x5aa009=_0x546ac4[0x0][_0x56de0f(0x639)],_0x515918=_0x5aa009,_0x449ee6=(this[_0x56de0f(0x7bb)](_0xc0ab17,!_0x4276da),_0xc0ab17[_0x56de0f(0x1a4)]=null!=_0x522d2a?_0x522d2a:-0x1,this[_0x56de0f(0x3b2)][_0x56de0f(0xa9c)](_0xc0ab17,_0x5aa009,_0x515918));this['_textureHelper']['updateCubeTextures'](_0x546ac4,_0x449ee6[_0x56de0f(0x51e)],_0x5aa009,_0x515918,_0x449ee6['format'],!0x1,!0x1,0x0,0x0),_0x4276da||this[_0x56de0f(0xa81)](_0xc0ab17,this['_uploadEncoder']),_0xc0ab17['isReady']=!0x0,_0xc0ab17[_0x56de0f(0x6d3)][_0x56de0f(0x794)](_0xc0ab17),_0xc0ab17[_0x56de0f(0x6d3)]['clear'](),_0x29cc22&&_0x29cc22();},!!_0x13b092);},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x7bb)]=function(_0x113995,_0x134361,_0x4f02d3){var _0x48f9f6=_0x508511;_0x113995['samplingMode']=_0x134361?_0x3400b7['g'][_0x48f9f6(0x19f)]:_0x3400b7['g']['TEXTURE_BILINEAR_SAMPLINGMODE'],_0x113995[_0x48f9f6(0x3e6)]=_0x3400b7['g']['TEXTURE_CLAMP_ADDRESSMODE'],_0x113995['_cachedWrapV']=_0x3400b7['g'][_0x48f9f6(0x9eb)],_0x4f02d3&&(_0x113995[_0x48f9f6(0x62f)]=_0x4f02d3);},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x188)]=function(_0xd07da3,_0x2f62e7){var _0x29a12d=_0x508511;if(this[_0x29a12d(0x8da)][_0x29a12d(0x544)]){if(0x0===_0x2f62e7||0x1===_0x2f62e7){const _0x1fdbfe=0x0===_0x2f62e7?this['_renderEncoder']:this[_0x29a12d(0x369)];_0x1fdbfe[_0x29a12d(0x514)](_0xd07da3);}else this[_0x29a12d(0x399)]?this['_currentRenderPass'][_0x29a12d(0x514)](_0xd07da3):this[_0x29a12d(0xa63)][_0x29a12d(0x303)](['push',_0xd07da3]);}},_0xcaef66['f']['prototype'][_0x508511(0x840)]=function(_0x37d482){var _0x1064e5=_0x508511;if(this['_options'][_0x1064e5(0x544)]){if(0x0===_0x37d482||0x1===_0x37d482){const _0x24ad2c=0x0===_0x37d482?this['_renderEncoder']:this['_renderTargetEncoder'];_0x24ad2c[_0x1064e5(0xa64)]();}else this[_0x1064e5(0x399)]?this[_0x1064e5(0x399)][_0x1064e5(0xa64)]():this['_pendingDebugCommands'][_0x1064e5(0x303)]([_0x1064e5(0xa8a),null]);}},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0xb56)]=function(_0xbb441e,_0x264c69){var _0x2a26ab=_0x508511;if(this[_0x2a26ab(0x8da)]['enableGPUDebugMarkers']){if(0x0===_0x264c69||0x1===_0x264c69){const _0x309a21=0x0===_0x264c69?this[_0x2a26ab(0x33b)]:this[_0x2a26ab(0x369)];_0x309a21[_0x2a26ab(0xb00)](_0xbb441e);}else this[_0x2a26ab(0x399)]?this[_0x2a26ab(0x399)][_0x2a26ab(0xb00)](_0xbb441e):this[_0x2a26ab(0xa63)]['push']([_0x2a26ab(0x8ea),_0xbb441e]);}},_0xcaef66['f']['prototype'][_0x508511(0x5c9)]=function(){var _0x1f5631=_0x508511;for(let _0x4b02f7=0x0;_0x4b02f7<this['_pendingDebugCommands'][_0x1f5631(0x86e)];++_0x4b02f7){var [_0x4c89f6,_0x45ab69]=this['_pendingDebugCommands'][_0x4b02f7];switch(_0x4c89f6){case _0x1f5631(0x303):this[_0x1f5631(0x188)](_0x45ab69);break;case _0x1f5631(0xa8a):this['_debugPopGroup']();break;case'insert':this['_debugInsertMarker'](_0x45ab69);}}this[_0x1f5631(0xa63)][_0x1f5631(0x86e)]=0x0;},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0xbff)]=function(_0x12b5fa,_0x1dd0d1,_0x520367=0x0){var _0x5a43b3=_0x508511,_0x127303=_0x12b5fa,_0x12b5fa=_0x12b5fa[_0x5a43b3(0xba0)]?_0x1dd0d1 instanceof Uint32Array?_0x1dd0d1:new Uint32Array(_0x1dd0d1):_0x1dd0d1 instanceof Uint16Array?_0x1dd0d1:new Uint16Array(_0x1dd0d1);this[_0x5a43b3(0xc2a)]['setSubData'](_0x127303,_0x520367,_0x12b5fa);},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x5c8)]=function(_0x5631d0,_0x59365e,_0x1f1f2f,_0x42d506){var _0x45162f=_0x508511;void 0x0===_0x1f1f2f&&(_0x1f1f2f=0x0);let _0x1d41ec;void 0x0===_0x42d506?_0x42d506=(_0x1d41ec=_0x59365e instanceof Array?new Float32Array(_0x59365e):_0x59365e instanceof ArrayBuffer?new Uint8Array(_0x59365e):_0x59365e)[_0x45162f(0x3e3)]:_0x1d41ec=_0x59365e instanceof Array?new Float32Array(_0x59365e):_0x59365e instanceof ArrayBuffer?new Uint8Array(_0x59365e):_0x59365e,this['_bufferManager']['setSubData'](_0x5631d0,_0x1f1f2f,_0x1d41ec,0x0,_0x42d506);},_0xcaef66['f'][_0x508511(0x85a)]['updateDynamicTexture']=function(_0x260bf5,_0x15758b,_0x515e34,_0x41de76=!0x1,_0x364a20,_0x2a035e,_0x15b6b7){var _0x52e9f3=_0x508511,_0x5dd3bc;if(_0x260bf5){var _0x3ab666=_0x15758b[_0x52e9f3(0x639)],_0x673ca0=_0x15758b['height'];let _0x2d753d=_0x260bf5[_0x52e9f3(0xa52)];null!=(_0x5dd3bc=_0x260bf5[_0x52e9f3(0xa52)])&&_0x5dd3bc['underlyingResource']||(_0x2d753d=this[_0x52e9f3(0x3b2)][_0x52e9f3(0xa9c)](_0x260bf5,_0x3ab666,_0x673ca0)),this[_0x52e9f3(0x3b2)][_0x52e9f3(0x9fd)](_0x15758b,_0x260bf5,_0x3ab666,_0x673ca0,_0x260bf5[_0x52e9f3(0xac2)],_0x2d753d['format'],0x0,0x0,_0x515e34,_0x41de76,0x0,0x0,_0x15b6b7),_0x260bf5[_0x52e9f3(0x8ed)]&&this[_0x52e9f3(0xa81)](_0x260bf5,this[_0x52e9f3(0xc0c)]),_0x260bf5['isReady']=!0x0;}};class _0x2a3821 extends _0x38f542(0x22dd)['x']{constructor(_0x3ac4a0){super(_0x3ac4a0);}}var _0x4c7d91=_0x38f542(0xf75c),_0x536da2=(_0x4c7d91['Q'][_0x508511(0x85a)][_0x508511(0xb66)]=function(_0x271d01,_0x2e8d0e){var _0x485a3a=_0x508511;this[_0x485a3a(0xbfd)][_0x485a3a(0xb66)](_0x271d01,_0x2e8d0e);},_0xcaef66['f']['prototype'][_0x508511(0x6f7)]=function(_0x1dcd27){return new _0x2a3821(_0x1dcd27);},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0xb66)]=function(_0x49d5ab,_0xd6cceb){var _0x35125e=_0x508511;_0xd6cceb?this[_0x35125e(0x712)](_0x49d5ab,_0xd6cceb):this[_0x35125e(0xc4e)][_0x35125e(0x1c0)](_0x49d5ab,null);},_0xcaef66['f']['prototype'][_0x508511(0x318)]=function(_0x4b33e4,_0x1c27d1=!0x1,_0x2acaee){var _0x5928da=_0x508511;_0x2acaee&&_0x2acaee();var _0x892b63=_0x4b33e4[_0x5928da(0x3f1)][_0x5928da(0x86e)];this[_0x5928da(0x399)]&&this[_0x5928da(0x399)]!==this['_mainRenderPassWrapper'][_0x5928da(0x2f6)]&&this[_0x5928da(0xb49)]();for(let _0x4ecf29=0x0;_0x4ecf29<_0x892b63;_0x4ecf29++){var _0x59b752=_0x4b33e4[_0x5928da(0x649)][_0x4ecf29];!_0x59b752[_0x5928da(0x8ed)]||_0x1c27d1||_0x59b752[_0x5928da(0x5ca)]||this[_0x5928da(0xa81)](_0x59b752);}this[_0x5928da(0x217)]=null,this[_0x5928da(0x65f)]=[],this[_0x5928da(0x9c7)][_0x5928da(0xb06)]([]),this[_0x5928da(0x9c7)]['setMRTAttachments'](this[_0x5928da(0x65f)]),this[_0x5928da(0x399)]=this[_0x5928da(0x1b3)][_0x5928da(0x2f6)],this[_0x5928da(0xb6e)](this['_mainRenderPassWrapper']),this[_0x5928da(0xbb1)](this[_0x5928da(0x1b3)]);},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x815)]=function(_0x82b06,_0x318185,_0x3f5d2e){var _0x42877e=_0x508511,_0x231bc0,_0x2704a8;let _0x2820fb=!0x1,_0x55595d=!0x0,_0x2d1cb8=!0x1,_0x5f1867=!0x1,_0x5cfdfe=_0x3400b7['g'][_0x42877e(0xb46)],_0x1180ec=0x1;var _0xf03031=_0x3400b7['g'][_0x42877e(0xd0a)],_0x332377=_0x3400b7['g'][_0x42877e(0x19f)],_0x914a95=_0x3400b7['g'][_0x42877e(0x7a9)],_0x24818a=_0x3400b7['g'][_0x42877e(0x419)];let _0x46eb36=new Array(),_0x52ee3b=new Array(),_0x3946fd=new Array(),_0x4f21a9=new Array(),_0x21290c=new Array(),_0x48d55b=new Array(),_0x15114d=new Array(),_0x5ced85=new Array();const _0x45c673=this[_0x42877e(0x90e)](!0x0,!0x1,_0x82b06);void 0x0!==_0x318185&&(_0x2820fb=void 0x0!==_0x318185[_0x42877e(0x8ed)]&&_0x318185[_0x42877e(0x8ed)],_0x55595d=void 0x0===_0x318185[_0x42877e(0xcb4)]||_0x318185[_0x42877e(0xcb4)],_0x2d1cb8=void 0x0!==_0x318185[_0x42877e(0x2eb)]&&_0x318185[_0x42877e(0x2eb)],_0x5f1867=void 0x0!==_0x318185[_0x42877e(0x609)]&&_0x318185[_0x42877e(0x609)],_0x1180ec=_0x318185['textureCount']||0x1,_0x5cfdfe=null!=(_0x231bc0=_0x318185['depthTextureFormat'])?_0x231bc0:_0x3400b7['g'][_0x42877e(0xb46)],_0x318185[_0x42877e(0xaa0)]&&(_0x46eb36=_0x318185[_0x42877e(0xaa0)]),_0x318185[_0x42877e(0x77f)]&&(_0x52ee3b=_0x318185[_0x42877e(0x77f)]),_0x318185['useSRGBBuffers']&&(_0x3946fd=_0x318185['useSRGBBuffers']),_0x318185[_0x42877e(0xb8d)]&&(_0x4f21a9=_0x318185[_0x42877e(0xb8d)]),_0x318185[_0x42877e(0x418)]&&(_0x21290c=_0x318185[_0x42877e(0x418)]),_0x318185[_0x42877e(0xcdb)]&&(_0x48d55b=_0x318185[_0x42877e(0xcdb)]),_0x318185[_0x42877e(0x16d)]&&(_0x15114d=_0x318185[_0x42877e(0x16d)]),_0x318185['layerCounts']&&(_0x5ced85=_0x318185[_0x42877e(0x53d)]));var _0x4b5ae1=_0x82b06[_0x42877e(0x639)]||_0x82b06,_0x47fd32=_0x82b06[_0x42877e(0x690)]||_0x82b06;let _0x6bea8b=null;(_0x55595d||_0x2d1cb8||_0x5f1867)&&(_0x5f1867||(_0x5cfdfe=_0x55595d&&_0x2d1cb8?_0x3400b7['g'][_0x42877e(0x9e7)]:_0x55595d?_0x3400b7['g']['TEXTUREFORMAT_DEPTH32_FLOAT']:_0x3400b7['g']['TEXTUREFORMAT_STENCIL8']),_0x6bea8b=_0x45c673[_0x42877e(0xce4)](0x0,!0x1,_0x2d1cb8,0x1,_0x5cfdfe));const _0x475e59=[],_0x1cfac8=[],_0x5487f7=[];_0x45c673[_0x42877e(0x275)]=_0x55595d,_0x45c673['_generateStencilBuffer']=_0x2d1cb8,_0x45c673[_0x42877e(0x3f1)]=_0x1cfac8,_0x45c673[_0x42877e(0x248)]=_0x5487f7;for(let _0x386004=0x0;_0x386004<_0x1180ec;_0x386004++){let _0x5647e5=_0x52ee3b[_0x386004]||_0x332377,_0x647ae9=_0x46eb36[_0x386004]||_0xf03031;var _0x1d46bd=_0x4f21a9[_0x386004]||_0x914a95,_0x154d19=!!_0x3946fd[_0x386004]&&this[_0x42877e(0xd61)]['supportSRGBBuffers'],_0x4e018f=_0x21290c[_0x386004]||_0x24818a,_0x5ac349=null!=(_0x2704a8=_0x5ced85[_0x386004])?_0x2704a8:0x1;if((_0x647ae9===_0x3400b7['g'][_0x42877e(0x937)]&&!this[_0x42877e(0xd61)][_0x42877e(0x6f2)]||_0x647ae9===_0x3400b7['g'][_0x42877e(0x986)]&&!this[_0x42877e(0xd61)][_0x42877e(0xa83)])&&(_0x5647e5=_0x3400b7['g'][_0x42877e(0x97f)]),_0x647ae9!==_0x3400b7['g'][_0x42877e(0x937)]||this['_caps']['textureFloat']||(_0x647ae9=_0x3400b7['g'][_0x42877e(0xd0a)],_0x270f36['Y']['Warn'](_0x42877e(0xb75))),_0x1cfac8[_0x42877e(0x303)](_0x386004+0x1),_0x5487f7['push'](_0x3f5d2e?_0x386004+0x1:0x0===_0x386004?0x1:0x0),-0x1!==_0x4e018f){const _0x54761d=new _0x2c9fb8['l'](this,_0x2c9fb8['S'][_0x42877e(0x280)]);switch(_0x475e59[_0x386004]=_0x54761d,_0x4e018f){case _0x3400b7['g'][_0x42877e(0x8b3)]:_0x54761d[_0x42877e(0x5ca)]=!0x0;break;case _0x3400b7['g']['TEXTURE_3D']:_0x54761d['is3D']=!0x0,_0x54761d[_0x42877e(0xbbd)]=_0x54761d['depth']=_0x5ac349;break;case _0x3400b7['g'][_0x42877e(0xb8c)]:_0x54761d[_0x42877e(0x432)]=!0x0,_0x54761d[_0x42877e(0xbbd)]=_0x54761d['depth']=_0x5ac349;}_0x54761d[_0x42877e(0x5d6)]=_0x4b5ae1,_0x54761d[_0x42877e(0x924)]=_0x47fd32,_0x54761d[_0x42877e(0x639)]=_0x4b5ae1,_0x54761d[_0x42877e(0x690)]=_0x47fd32,_0x54761d[_0x42877e(0x21c)]=!0x0,_0x54761d[_0x42877e(0x3a8)]=0x1,_0x54761d[_0x42877e(0x8ed)]=_0x2820fb,_0x54761d[_0x42877e(0x1b4)]=_0x5647e5,_0x54761d[_0x42877e(0x395)]=_0x647ae9,_0x54761d['_cachedWrapU']=_0x3400b7['g'][_0x42877e(0x9eb)],_0x54761d[_0x42877e(0x967)]=_0x3400b7['g']['TEXTURE_CLAMP_ADDRESSMODE'],_0x54761d[_0x42877e(0x3ee)]=_0x154d19,_0x54761d[_0x42877e(0x1a4)]=_0x1d46bd,this[_0x42877e(0xd27)]['push'](_0x54761d),this[_0x42877e(0x3b2)]['createGPUTextureForInternalTexture'](_0x54761d);}}return _0x6bea8b&&(_0x6bea8b['incrementReferences'](),_0x475e59[_0x1180ec]=_0x6bea8b,this['_internalTexturesCache']['push'](_0x6bea8b)),_0x45c673[_0x42877e(0x6cc)](_0x475e59),_0x45c673['setLayerAndFaceIndices'](_0x15114d,_0x48d55b),_0x45c673;},_0xcaef66['f']['prototype'][_0x508511(0xb4e)]=function(_0x4537c8,_0x2833ef){var _0x2d49a8=_0x508511;if(!_0x4537c8||!_0x4537c8[_0x2d49a8(0x649)]||_0x4537c8['textures'][0x0][_0x2d49a8(0x3a8)]===_0x2833ef)return _0x2833ef;var _0x4c1787=_0x4537c8['textures'][_0x2d49a8(0x86e)];if(0x0===_0x4c1787)return 0x1;_0x2833ef=Math[_0x2d49a8(0x951)](_0x2833ef,this[_0x2d49a8(0xa51)]()['maxMSAASamples']);for(let _0x236675=0x0;_0x236675<_0x4c1787;++_0x236675){const _0x26aee2=_0x4537c8['textures'][_0x236675][_0x2d49a8(0xa52)];null!==_0x26aee2&&void 0x0!==_0x26aee2&&_0x26aee2[_0x2d49a8(0x627)]();}var _0x3689dc=_0x4537c8['_depthStencilTexture']===_0x4537c8[_0x2d49a8(0x649)][_0x4c1787-0x1];for(let _0x4d273a=0x0;_0x4d273a<_0x4c1787;++_0x4d273a){const _0x9b9e6d=_0x4537c8[_0x2d49a8(0x649)][_0x4d273a];this[_0x2d49a8(0x3b2)][_0x2d49a8(0xab3)](_0x9b9e6d,_0x2833ef,!0x1,_0x4d273a===_0x4c1787-0x1&&_0x3689dc?0x0:_0x4d273a),_0x9b9e6d[_0x2d49a8(0x3a8)]=_0x2833ef;}return _0x4537c8['_depthStencilTexture']&&!_0x3689dc&&(this[_0x2d49a8(0x3b2)][_0x2d49a8(0xab3)](_0x4537c8['_depthStencilTexture'],_0x2833ef),_0x4537c8[_0x2d49a8(0xd6d)]['samples']=_0x2833ef),_0x2833ef;},_0xcaef66['f'][_0x508511(0x85a)]['bindAttachments']=function(_0x1c7eb3){var _0x5388e5=_0x508511;0x0!==_0x1c7eb3[_0x5388e5(0x86e)]&&this[_0x5388e5(0x217)]&&(this[_0x5388e5(0x65f)]=_0x1c7eb3,this['_currentRenderPass']&&this['_cacheRenderPipeline'][_0x5388e5(0x702)](_0x1c7eb3));},_0xcaef66['f']['prototype'][_0x508511(0x9fe)]=function(_0x4f6b36){var _0x4872d8=_0x508511;const _0x4c975e=[];for(let _0x42f797=0x0;_0x42f797<_0x4f6b36['length'];_0x42f797++)_0x4f6b36[_0x42f797]?_0x4c975e[_0x4872d8(0x303)](_0x42f797+0x1):_0x4c975e['push'](0x0);return _0x4c975e;},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0xbda)]=function(){},_0xcaef66['f'][_0x508511(0x85a)]['restoreSingleAttachmentForRenderTarget']=function(){},_0x38f542(0x742a));function _0x297d21(_0x548a76,_0x37f1f8,_0x1d78f7,_0x4195ee){var _0x401d81=_0x508511;let _0x464eab,_0x36f817=0x1;_0x4195ee===_0x3400b7['g'][_0x401d81(0x937)]?_0x464eab=new Float32Array(_0x37f1f8*_0x1d78f7*0x4):_0x4195ee===_0x3400b7['g']['TEXTURETYPE_HALF_FLOAT']?(_0x464eab=new Uint16Array(_0x37f1f8*_0x1d78f7*0x4),_0x36f817=0x3c00):_0x464eab=new(_0x4195ee===_0x3400b7['g']['TEXTURETYPE_UNSIGNED_INTEGER']?Uint32Array:Uint8Array)(_0x37f1f8*_0x1d78f7*0x4);for(let _0x5ba99c=0x0;_0x5ba99c<_0x37f1f8;_0x5ba99c++)for(let _0x52f616=0x0;_0x52f616<_0x1d78f7;_0x52f616++){var _0x1f4b02=0x3*(_0x52f616*_0x37f1f8+_0x5ba99c),_0x484af0=0x4*(_0x52f616*_0x37f1f8+_0x5ba99c);_0x464eab[0x0+_0x484af0]=_0x548a76[0x0+_0x1f4b02],_0x464eab[0x1+_0x484af0]=_0x548a76[0x1+_0x1f4b02],_0x464eab[0x2+_0x484af0]=_0x548a76[0x2+_0x1f4b02],_0x464eab[0x3+_0x484af0]=_0x36f817;}return _0x464eab;}_0xcaef66['f'][_0x508511(0x85a)]['getGPUFrameTimeCounter']=function(){var _0x481b7a=_0x508511;return this[_0x481b7a(0x899)]['gpuFrameTimeCounter'];},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x1c4)]=function(_0x205f9d){var _0x4a5f4c=_0x508511;this['_timestampQuery'][_0x4a5f4c(0x4fc)]=_0x205f9d&&!!this[_0x4a5f4c(0xd61)][_0x4a5f4c(0x9ee)];},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x7fc)]=function(){var _0x5c6341=_0x508511;return this[_0x5c6341(0xc86)][_0x5c6341(0x7fc)]();},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x6d1)]=function(_0x29fade){var _0x3fdc4a=_0x508511;return this[_0x3fdc4a(0xc86)][_0x3fdc4a(0x6d1)](_0x29fade),this;},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x507)]=function(_0x56e220){var _0x5b8a7d=_0x508511;return this[_0x5b8a7d(0xc86)]['isQueryResultAvailable'](_0x56e220);},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x491)]=function(_0x1b50ca){var _0x68cee2=_0x508511;return this['_occlusionQuery'][_0x68cee2(0x491)](_0x1b50ca);},_0xcaef66['f']['prototype']['beginOcclusionQuery']=function(_0x57c053,_0x54348b){var _0x2b8398=_0x508511,_0x1b455c;if(this['compatibilityMode'])return!!this['_occlusionQuery'][_0x2b8398(0x94c)]&&(null!=(_0x1b455c=this[_0x2b8398(0x399)])&&_0x1b455c[_0x2b8398(0xcef)](_0x54348b),!0x0);{const _0x1d7a3a=0x0===this[_0x2b8398(0xc0e)]()?this[_0x2b8398(0x2a5)]:this[_0x2b8398(0x940)];return _0x1d7a3a[_0x2b8398(0x35f)](new _0x536da2['GB'](_0x54348b)),!0x0;}},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x2f1)]=function(){var _0x3f89af=_0x508511,_0x373c07;if(this['compatibilityMode'])null!=(_0x373c07=this[_0x3f89af(0x399)])&&_0x373c07[_0x3f89af(0x2f1)]();else{const _0x185f3b=0x0===this['_getCurrentRenderPassIndex']()?this[_0x3f89af(0x2a5)]:this['_bundleListRenderTarget'];_0x185f3b[_0x3f89af(0x35f)](new _0x536da2['fw']());}return this;},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0xa0b)]=function(_0x31d008,_0x1e6a9e,_0x5bc097,_0x14a46b,_0x1b6875,_0x4b4e5e,_0x30c046,_0x3aec6c=null,_0x599650=_0x3400b7['g']['TEXTURETYPE_UNSIGNED_INT'],_0x2eee45=0x0,_0x14b2e3=!0x1){var _0x145d9f=_0x508511;const _0x1c245d=new _0x2c9fb8['l'](this,_0x2c9fb8['S']['Raw']);return _0x1c245d['baseWidth']=_0x1e6a9e,_0x1c245d[_0x145d9f(0x924)]=_0x5bc097,_0x1c245d[_0x145d9f(0x639)]=_0x1e6a9e,_0x1c245d[_0x145d9f(0x690)]=_0x5bc097,_0x1c245d[_0x145d9f(0x1a4)]=_0x14a46b,_0x1c245d['generateMipMaps']=_0x1b6875,_0x1c245d[_0x145d9f(0x1b4)]=_0x30c046,_0x1c245d[_0x145d9f(0x2fc)]=_0x4b4e5e,_0x1c245d[_0x145d9f(0x33a)]=_0x3aec6c,_0x1c245d[_0x145d9f(0x395)]=_0x599650,_0x1c245d[_0x145d9f(0x3ee)]=_0x14b2e3,this['_doNotHandleContextLost']||(_0x1c245d[_0x145d9f(0x6da)]=_0x31d008),this[_0x145d9f(0x3b2)][_0x145d9f(0xa9c)](_0x1c245d,_0x1e6a9e,_0x5bc097,void 0x0,_0x2eee45),this[_0x145d9f(0x26e)](_0x1c245d,_0x31d008,_0x14a46b,_0x4b4e5e,_0x3aec6c,_0x599650,_0x14b2e3),this[_0x145d9f(0xd27)][_0x145d9f(0x303)](_0x1c245d),_0x1c245d;},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x26e)]=function(_0x123f9a,_0x25c2fb,_0x200397,_0x1fffb8,_0x538518=null,_0x112fb1=_0x3400b7['g'][_0x508511(0xd0a)],_0x427586=!0x1){var _0x66172d=_0x508511;_0x123f9a&&(this[_0x66172d(0x7e1)]||(_0x123f9a[_0x66172d(0x6da)]=_0x25c2fb,_0x123f9a[_0x66172d(0x2fc)]=_0x1fffb8,_0x123f9a['_compression']=_0x538518,_0x123f9a[_0x66172d(0x3ee)]=_0x427586),_0x25c2fb&&(_0x538518=_0x123f9a[_0x66172d(0xa52)],_0x200397===_0x3400b7['g'][_0x66172d(0x595)]&&(_0x25c2fb=_0x297d21(_0x25c2fb,_0x123f9a[_0x66172d(0x639)],_0x123f9a[_0x66172d(0x690)],_0x112fb1)),_0x427586=new Uint8Array(_0x25c2fb[_0x66172d(0x7da)],_0x25c2fb[_0x66172d(0x2b4)],_0x25c2fb[_0x66172d(0x3e3)]),this[_0x66172d(0x3b2)][_0x66172d(0x9fd)](_0x427586,_0x123f9a,_0x123f9a[_0x66172d(0x639)],_0x123f9a[_0x66172d(0x690)],_0x123f9a[_0x66172d(0xac2)],_0x538518[_0x66172d(0x1a4)],0x0,0x0,_0x1fffb8,!0x1,0x0,0x0),_0x123f9a['generateMipMaps']&&this[_0x66172d(0xa81)](_0x123f9a,this[_0x66172d(0xc0c)])),_0x123f9a[_0x66172d(0x21c)]=!0x0);},_0xcaef66['f']['prototype'][_0x508511(0x60b)]=function(_0x8a846a,_0x3ee7be,_0x2eacb3,_0xa206c,_0x2d9af8,_0x42caaa,_0x5d8824,_0x3c2444=null){var _0x1a3cb2=_0x508511;const _0x2e6b59=new _0x2c9fb8['l'](this,_0x2c9fb8['S'][_0x1a3cb2(0x711)]);return _0xa206c!==_0x3400b7['g'][_0x1a3cb2(0x937)]||this['_caps'][_0x1a3cb2(0x6f2)]?_0xa206c!==_0x3400b7['g'][_0x1a3cb2(0x986)]||this['_caps'][_0x1a3cb2(0xa83)]?_0xa206c!==_0x3400b7['g'][_0x1a3cb2(0x937)]||this[_0x1a3cb2(0xd61)]['textureFloatRender']?_0xa206c!==_0x3400b7['g'][_0x1a3cb2(0x986)]||this[_0x1a3cb2(0xd61)][_0x1a3cb2(0x8bd)]||(_0x2d9af8=!0x1,_0x270f36['Y']['Warn'](_0x1a3cb2(0xbb9))):(_0x2d9af8=!0x1,_0x270f36['Y'][_0x1a3cb2(0xcb2)](_0x1a3cb2(0x2dd))):(_0x2d9af8=!0x1,_0x5d8824=_0x3400b7['g'][_0x1a3cb2(0x97f)],_0x270f36['Y'][_0x1a3cb2(0xcb2)]('Half\x20float\x20texture\x20filtering\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20and\x20sampling\x20mode\x20are\x20forced\x20to\x20false\x20and\x20TEXTURE_NEAREST_SAMPLINGMODE,\x20respectively.')):(_0x2d9af8=!0x1,_0x5d8824=_0x3400b7['g'][_0x1a3cb2(0x97f)],_0x270f36['Y'][_0x1a3cb2(0xcb2)](_0x1a3cb2(0x879))),_0x2e6b59[_0x1a3cb2(0x5ca)]=!0x0,_0x2e6b59[_0x1a3cb2(0x1a4)]=_0x2eacb3===_0x3400b7['g'][_0x1a3cb2(0x595)]?_0x3400b7['g'][_0x1a3cb2(0x7a9)]:_0x2eacb3,_0x2e6b59[_0x1a3cb2(0x395)]=_0xa206c,_0x2e6b59['generateMipMaps']=_0x2d9af8,_0x2e6b59[_0x1a3cb2(0x639)]=_0x3ee7be,_0x2e6b59[_0x1a3cb2(0x690)]=_0x3ee7be,_0x2e6b59[_0x1a3cb2(0x1b4)]=_0x5d8824,this[_0x1a3cb2(0x7e1)]||(_0x2e6b59[_0x1a3cb2(0x6bb)]=_0x8a846a),_0x2e6b59[_0x1a3cb2(0x2fc)]=_0x42caaa,_0x2e6b59[_0x1a3cb2(0x33a)]=_0x3c2444,_0x2e6b59[_0x1a3cb2(0x3e6)]=_0x3400b7['g'][_0x1a3cb2(0x9eb)],_0x2e6b59[_0x1a3cb2(0x967)]=_0x3400b7['g'][_0x1a3cb2(0x9eb)],this[_0x1a3cb2(0x3b2)][_0x1a3cb2(0xa9c)](_0x2e6b59),_0x8a846a&&this[_0x1a3cb2(0x8a6)](_0x2e6b59,_0x8a846a,_0x2eacb3,_0xa206c,_0x42caaa,_0x3c2444),_0x2e6b59['isReady']=!0x0,_0x2e6b59;},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x8a6)]=function(_0x18a236,_0xc5fd7e,_0x3f78a1,_0x7ac45d,_0x458be7,_0x45feb3=null){var _0x1a4322=_0x508511;_0x18a236[_0x1a4322(0x6bb)]=_0xc5fd7e,_0x18a236['invertY']=_0x458be7,_0x18a236['_compression']=_0x45feb3;var _0x45feb3=_0x18a236[_0x1a4322(0xa52)],_0x37afd5=_0x3f78a1===_0x3400b7['g'][_0x1a4322(0x595)];const _0x16d22f=[];for(let _0x285732=0x0;_0x285732<_0xc5fd7e[_0x1a4322(0x86e)];++_0x285732){let _0x1d9b78=_0xc5fd7e[_0x285732];_0x37afd5&&(_0x1d9b78=_0x297d21(_0xc5fd7e[_0x285732],_0x18a236[_0x1a4322(0x639)],_0x18a236[_0x1a4322(0x690)],_0x7ac45d)),_0x16d22f[_0x1a4322(0x303)](new Uint8Array(_0x1d9b78['buffer'],_0x1d9b78[_0x1a4322(0x2b4)],_0x1d9b78[_0x1a4322(0x3e3)]));}this['_textureHelper'][_0x1a4322(0xd48)](_0x16d22f,_0x45feb3[_0x1a4322(0x51e)],_0x18a236[_0x1a4322(0x639)],_0x18a236[_0x1a4322(0x690)],_0x45feb3[_0x1a4322(0x1a4)],_0x458be7,!0x1,0x0,0x0),_0x18a236['generateMipMaps']&&this[_0x1a4322(0xa81)](_0x18a236,this[_0x1a4322(0xc0c)]),_0x18a236[_0x1a4322(0x21c)]=!0x0;},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x93c)]=function(_0x588e4d,_0x3ca2ec,_0x2fb1bf,_0x55019b,_0x3f94fc,_0x514ef1,_0x389b82,_0x548ccb,_0x90cb85=null,_0x175692=null,_0x2e88a7=_0x3400b7['g'][_0x508511(0x19f)],_0x6bc201=!0x1){var _0x2ff1b4=_0x508511;const _0x25aea0=this[_0x2ff1b4(0x60b)](null,_0x2fb1bf,_0x55019b,_0x3f94fc,!_0x514ef1,_0x6bc201,_0x2e88a7,null),_0x5bf307=(null!=_0x3ca2ec&&_0x3ca2ec[_0x2ff1b4(0x53c)](_0x25aea0),_0x25aea0[_0x2ff1b4(0x75c)]=_0x588e4d,this[_0x2ff1b4(0xd27)][_0x2ff1b4(0x303)](_0x25aea0),_0x2c178f=>{var _0x2a568f=_0x2ff1b4,_0x2686dd=_0x25aea0[_0x2a568f(0x639)],_0x508500=_0x389b82(_0x2c178f);if(_0x508500){var _0x34cb14=[0x0,0x2,0x4,0x1,0x3,0x5];if(_0x548ccb){var _0x5c84fe=_0x55019b===_0x3400b7['g'][_0x2a568f(0x595)],_0x260a40=_0x548ccb(_0x508500),_0x818f32=_0x25aea0['_hardwareTexture'];const _0x5e09cc=[0x0,0x1,0x2,0x3,0x4,0x5];for(let _0x2dc434=0x0;_0x2dc434<_0x260a40['length'];_0x2dc434++){var _0x5f78ce=_0x2686dd>>_0x2dc434;const _0x1f7000=[];for(let _0x432a87=0x0;_0x432a87<0x6;_0x432a87++){let _0x3d1a67=_0x260a40[_0x2dc434][_0x5e09cc[_0x432a87]];_0x5c84fe&&(_0x3d1a67=_0x297d21(_0x3d1a67,_0x5f78ce,_0x5f78ce,_0x3f94fc)),_0x1f7000[_0x2a568f(0x303)](new Uint8Array(_0x3d1a67[_0x2a568f(0x7da)],_0x3d1a67[_0x2a568f(0x2b4)],_0x3d1a67['byteLength']));}this[_0x2a568f(0x3b2)][_0x2a568f(0xd48)](_0x1f7000,_0x818f32[_0x2a568f(0x51e)],_0x5f78ce,_0x5f78ce,_0x818f32[_0x2a568f(0x1a4)],_0x6bc201,!0x1,0x0,0x0);}}else{const _0x4ae043=[];for(let _0x2ec181=0x0;_0x2ec181<0x6;_0x2ec181++)_0x4ae043[_0x2a568f(0x303)](_0x508500[_0x34cb14[_0x2ec181]]);this['updateRawCubeTexture'](_0x25aea0,_0x4ae043,_0x55019b,_0x3f94fc,_0x6bc201);}_0x25aea0[_0x2a568f(0x21c)]=!0x0,null!=_0x3ca2ec&&_0x3ca2ec[_0x2a568f(0xac1)](_0x25aea0),_0x90cb85&&_0x90cb85();}});return this['_loadFile'](_0x588e4d,_0x2714e3=>{_0x5bf307(_0x2714e3);},void 0x0,null==_0x3ca2ec?void 0x0:_0x3ca2ec[_0x2ff1b4(0x869)],!0x0,(_0x32b57a,_0x2a3add)=>{var _0x7e3930=_0x2ff1b4;null!=_0x3ca2ec&&_0x3ca2ec[_0x7e3930(0xac1)](_0x25aea0),_0x175692&&_0x32b57a&&_0x175692(_0x32b57a[_0x7e3930(0x68a)]+'\x20'+_0x32b57a[_0x7e3930(0x9c4)],_0x2a3add);}),_0x25aea0;},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x97b)]=function(_0x44095c,_0x9a4633,_0x2ccf89,_0x2d1f75,_0x25256f,_0x26472d,_0x24d85f,_0x1707fb,_0x3a22dd=null,_0x3583ac=_0x3400b7['g'][_0x508511(0xd0a)],_0x47cad0=0x0){var _0x1d95cf=_0x508511,_0x291770=_0x2c9fb8['S'][_0x1d95cf(0xa6d)];const _0x51260a=new _0x2c9fb8['l'](this,_0x291770);return _0x51260a[_0x1d95cf(0x5d6)]=_0x9a4633,_0x51260a[_0x1d95cf(0x924)]=_0x2ccf89,_0x51260a['baseDepth']=_0x2d1f75,_0x51260a[_0x1d95cf(0x639)]=_0x9a4633,_0x51260a['height']=_0x2ccf89,_0x51260a['depth']=_0x2d1f75,_0x51260a[_0x1d95cf(0x1a4)]=_0x25256f,_0x51260a[_0x1d95cf(0x395)]=_0x3583ac,_0x51260a[_0x1d95cf(0x8ed)]=_0x26472d,_0x51260a[_0x1d95cf(0x1b4)]=_0x1707fb,_0x51260a[_0x1d95cf(0x1ce)]=!0x0,this['_doNotHandleContextLost']||(_0x51260a[_0x1d95cf(0x6da)]=_0x44095c),this[_0x1d95cf(0x3b2)][_0x1d95cf(0xa9c)](_0x51260a,_0x9a4633,_0x2ccf89,void 0x0,_0x47cad0),this[_0x1d95cf(0x31a)](_0x51260a,_0x44095c,_0x25256f,_0x24d85f,_0x3a22dd,_0x3583ac),this[_0x1d95cf(0xd27)]['push'](_0x51260a),_0x51260a;},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x31a)]=function(_0x2a9e4d,_0x2807d5,_0x46ea1e,_0x378dc0,_0x5c08c7=null,_0x121337=_0x3400b7['g']['TEXTURETYPE_UNSIGNED_INT']){var _0x3a93df=_0x508511;this[_0x3a93df(0x7e1)]||(_0x2a9e4d['_bufferView']=_0x2807d5,_0x2a9e4d[_0x3a93df(0x1a4)]=_0x46ea1e,_0x2a9e4d[_0x3a93df(0x2fc)]=_0x378dc0,_0x2a9e4d[_0x3a93df(0x33a)]=_0x5c08c7),_0x2807d5&&(_0x5c08c7=_0x2a9e4d[_0x3a93df(0xa52)],_0x46ea1e===_0x3400b7['g'][_0x3a93df(0x595)]&&(_0x2807d5=_0x297d21(_0x2807d5,_0x2a9e4d['width'],_0x2a9e4d[_0x3a93df(0x690)],_0x121337)),_0x46ea1e=new Uint8Array(_0x2807d5[_0x3a93df(0x7da)],_0x2807d5[_0x3a93df(0x2b4)],_0x2807d5[_0x3a93df(0x3e3)]),this[_0x3a93df(0x3b2)][_0x3a93df(0x9fd)](_0x46ea1e,_0x2a9e4d,_0x2a9e4d[_0x3a93df(0x639)],_0x2a9e4d[_0x3a93df(0x690)],_0x2a9e4d[_0x3a93df(0xac2)],_0x5c08c7['format'],0x0,0x0,_0x378dc0,!0x1,0x0,0x0),_0x2a9e4d[_0x3a93df(0x8ed)]&&this[_0x3a93df(0xa81)](_0x2a9e4d,this[_0x3a93df(0xc0c)])),_0x2a9e4d[_0x3a93df(0x21c)]=!0x0;},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0xd3a)]=function(_0x344def,_0x1037bd,_0x3fee3c,_0x406bfb,_0x2d6fa2,_0x5eea80,_0x598c86,_0x507241,_0x392c8e=null,_0x3185e1=_0x3400b7['g'][_0x508511(0xd0a)],_0x39c3ce=0x0){var _0x27f626=_0x508511,_0x45b3f3=_0x2c9fb8['S'][_0x27f626(0x480)];const _0x32ffdd=new _0x2c9fb8['l'](this,_0x45b3f3);return _0x32ffdd['baseWidth']=_0x1037bd,_0x32ffdd[_0x27f626(0x924)]=_0x3fee3c,_0x32ffdd[_0x27f626(0xbbd)]=_0x406bfb,_0x32ffdd[_0x27f626(0x639)]=_0x1037bd,_0x32ffdd[_0x27f626(0x690)]=_0x3fee3c,_0x32ffdd[_0x27f626(0xac2)]=_0x406bfb,_0x32ffdd[_0x27f626(0x1a4)]=_0x2d6fa2,_0x32ffdd[_0x27f626(0x395)]=_0x3185e1,_0x32ffdd[_0x27f626(0x8ed)]=_0x5eea80,_0x32ffdd['samplingMode']=_0x507241,_0x32ffdd[_0x27f626(0x432)]=!0x0,this[_0x27f626(0x7e1)]||(_0x32ffdd[_0x27f626(0x6da)]=_0x344def),this[_0x27f626(0x3b2)]['createGPUTextureForInternalTexture'](_0x32ffdd,_0x1037bd,_0x3fee3c,_0x406bfb,_0x39c3ce),this['updateRawTexture2DArray'](_0x32ffdd,_0x344def,_0x2d6fa2,_0x598c86,_0x392c8e,_0x3185e1),this['_internalTexturesCache'][_0x27f626(0x303)](_0x32ffdd),_0x32ffdd;},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x2bb)]=function(_0x45dfd9,_0x3b8726,_0x2bb771,_0x3fb791,_0x452749=null,_0x103732=_0x3400b7['g'][_0x508511(0xd0a)]){var _0x319844=_0x508511;this['_doNotHandleContextLost']||(_0x45dfd9[_0x319844(0x6da)]=_0x3b8726,_0x45dfd9[_0x319844(0x1a4)]=_0x2bb771,_0x45dfd9[_0x319844(0x2fc)]=_0x3fb791,_0x45dfd9['_compression']=_0x452749),_0x3b8726&&(_0x452749=_0x45dfd9['_hardwareTexture'],_0x2bb771===_0x3400b7['g']['TEXTUREFORMAT_RGB']&&(_0x3b8726=_0x297d21(_0x3b8726,_0x45dfd9[_0x319844(0x639)],_0x45dfd9[_0x319844(0x690)],_0x103732)),_0x2bb771=new Uint8Array(_0x3b8726['buffer'],_0x3b8726[_0x319844(0x2b4)],_0x3b8726[_0x319844(0x3e3)]),this[_0x319844(0x3b2)][_0x319844(0x9fd)](_0x2bb771,_0x45dfd9,_0x45dfd9['width'],_0x45dfd9['height'],_0x45dfd9[_0x319844(0xac2)],_0x452749[_0x319844(0x1a4)],0x0,0x0,_0x3fb791,!0x1,0x0,0x0),_0x45dfd9[_0x319844(0x8ed)]&&this[_0x319844(0xa81)](_0x45dfd9,this[_0x319844(0xc0c)])),_0x45dfd9[_0x319844(0x21c)]=!0x0;},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x9a4)]=function(_0xaf3e3,_0x5b4b37,_0x59fba5,_0x24ae22=-0x1,_0x382439=0x0,_0x329dfc=null,_0x5c5445=!0x0,_0x52cd3f=!0x1,_0x26c36e=0x0,_0x22b547=0x0){var _0x1f93c2=_0x508511;return _0xaf3e3=_0xaf3e3['_hardwareTexture'],(_0x5c5445&&this[_0x1f93c2(0x1d2)](),this[_0x1f93c2(0x3b2)][_0x1f93c2(0x319)](_0xaf3e3['underlyingResource'],_0x26c36e,_0x22b547,_0x5b4b37,_0x59fba5,_0xaf3e3[_0x1f93c2(0x1a4)],_0x24ae22,_0x382439,_0x329dfc,_0x52cd3f));},_0xcaef66['f'][_0x508511(0x85a)]['_readTexturePixelsSync']=function(){var _0x51404=_0x508511;throw _0x51404(0x789);};class _0x701c70 extends _0x38f542(0x758)['r']{}_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x90e)]=function(_0x549d3f,_0x2b7d43,_0x478740){var _0x15fd63=_0x508511;return _0x549d3f=new _0x701c70(_0x549d3f,_0x2b7d43,_0x478740,this),(this['_renderTargetWrapperCache'][_0x15fd63(0x303)](_0x549d3f),_0x549d3f);},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x65b)]=function(_0x15a47f,_0x30118a){var _0x12fe04=_0x508511,_0x3e69b8;const _0x5b2f07=this[_0x12fe04(0x90e)](!0x1,!0x1,_0x15a47f),_0x450a3c={},_0x5cfc79=(void 0x0!==_0x30118a&&_0x12fe04(0x2e9)==typeof _0x30118a?(_0x450a3c[_0x12fe04(0x8ed)]=_0x30118a['generateMipMaps'],_0x450a3c[_0x12fe04(0xcb4)]=void 0x0===_0x30118a[_0x12fe04(0xcb4)]||_0x30118a[_0x12fe04(0xcb4)],_0x450a3c['generateStencilBuffer']=_0x450a3c['generateDepthBuffer']&&_0x30118a[_0x12fe04(0x2eb)],_0x450a3c['samplingMode']=void 0x0===_0x30118a[_0x12fe04(0x1b4)]?_0x3400b7['g'][_0x12fe04(0x19f)]:_0x30118a[_0x12fe04(0x1b4)],_0x450a3c[_0x12fe04(0x462)]=null!=(_0x3e69b8=_0x30118a['creationFlags'])?_0x3e69b8:0x0,_0x450a3c['noColorAttachment']=!!_0x30118a['noColorAttachment'],_0x450a3c['samples']=_0x30118a[_0x12fe04(0x3a8)],_0x450a3c[_0x12fe04(0x530)]=_0x30118a['label']):(_0x450a3c[_0x12fe04(0x8ed)]=_0x30118a,_0x450a3c['generateDepthBuffer']=!0x0,_0x450a3c[_0x12fe04(0x2eb)]=!0x1,_0x450a3c['samplingMode']=_0x3400b7['g'][_0x12fe04(0x19f)],_0x450a3c['creationFlags']=0x0,_0x450a3c['noColorAttachment']=!0x1),_0x450a3c['noColorAttachment']?null:this[_0x12fe04(0x830)](_0x15a47f,_0x30118a,!0x0,_0x2c9fb8['S'][_0x12fe04(0xb7d)]));return _0x5b2f07['_samples']=null!=(_0x3e69b8=_0x450a3c[_0x12fe04(0x3a8)])?_0x3e69b8:0x1,_0x5b2f07[_0x12fe04(0x275)]=_0x450a3c[_0x12fe04(0xcb4)],_0x5b2f07[_0x12fe04(0x5e6)]=!!_0x450a3c[_0x12fe04(0x2eb)],_0x5b2f07[_0x12fe04(0x6cc)](_0x5cfc79),(_0x5b2f07[_0x12fe04(0x275)]||_0x5b2f07[_0x12fe04(0x5e6)])&&_0x5b2f07[_0x12fe04(0xce4)](0x0,this[_0x12fe04(0xd61)][_0x12fe04(0x6f2)]&&(void 0x0===_0x450a3c[_0x12fe04(0x1b4)]||_0x450a3c[_0x12fe04(0x1b4)]===_0x3400b7['g'][_0x12fe04(0xbd7)]||_0x450a3c[_0x12fe04(0x1b4)]===_0x3400b7['g'][_0x12fe04(0x66b)]||_0x450a3c[_0x12fe04(0x1b4)]===_0x3400b7['g'][_0x12fe04(0x19f)]||_0x450a3c[_0x12fe04(0x1b4)]===_0x3400b7['g'][_0x12fe04(0xc05)]||_0x450a3c[_0x12fe04(0x1b4)]===_0x3400b7['g'][_0x12fe04(0x86b)]||_0x450a3c[_0x12fe04(0x1b4)]===_0x3400b7['g'][_0x12fe04(0x53a)]||_0x450a3c[_0x12fe04(0x1b4)]===_0x3400b7['g'][_0x12fe04(0x1ec)]||_0x450a3c[_0x12fe04(0x1b4)]===_0x3400b7['g'][_0x12fe04(0x2ee)]),_0x5b2f07['_generateStencilBuffer'],_0x5b2f07[_0x12fe04(0x3a8)],_0x450a3c['generateStencilBuffer']?_0x3400b7['g'][_0x12fe04(0x9e7)]:_0x3400b7['g'][_0x12fe04(0x2a6)],_0x450a3c[_0x12fe04(0x530)]?_0x450a3c[_0x12fe04(0x530)]+'-DepthStencil':void 0x0),_0x5cfc79&&(void 0x0!==_0x30118a&&_0x12fe04(0x2e9)==typeof _0x30118a&&_0x30118a[_0x12fe04(0xa2a)]&&!_0x450a3c['generateMipMaps']&&(_0x5cfc79[_0x12fe04(0x8ed)]=!0x0),this['_textureHelper']['createGPUTextureForInternalTexture'](_0x5cfc79,void 0x0,void 0x0,void 0x0,_0x450a3c[_0x12fe04(0x462)]),void 0x0!==_0x30118a&&'object'==typeof _0x30118a&&_0x30118a[_0x12fe04(0xa2a)]&&!_0x450a3c[_0x12fe04(0x8ed)]&&(_0x5cfc79[_0x12fe04(0x8ed)]=!0x1)),_0x5b2f07;},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x442)]=function(_0x232a8d,_0x240383){var _0xf51925=_0x508511;const _0x336938=new _0x2c9fb8['l'](this,_0x2c9fb8['S'][_0xf51925(0xa17)]);return _0x336938[_0xf51925(0x530)]=_0x240383[_0xf51925(0x530)],_0x240383=Object[_0xf51925(0xb31)]({'bilinearFiltering':!0x1,'comparisonFunction':0x0,'generateStencil':!0x1,'samples':0x1,'depthTextureFormat':_0x240383['generateStencil']?_0x3400b7['g'][_0xf51925(0x9e7)]:_0x3400b7['g']['TEXTUREFORMAT_DEPTH32_FLOAT']},_0x240383),(_0x336938[_0xf51925(0x1a4)]=_0x240383[_0xf51925(0xc32)],this[_0xf51925(0xb01)](_0x336938,_0x232a8d,_0x240383[_0xf51925(0x5df)],_0x240383[_0xf51925(0x1aa)],_0x240383[_0xf51925(0xb05)],_0x240383[_0xf51925(0x3a8)]),this[_0xf51925(0x3b2)][_0xf51925(0xa9c)](_0x336938),this[_0xf51925(0xd27)][_0xf51925(0x303)](_0x336938),_0x336938);},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0xb01)]=function(_0x43602f,_0x2e3a94,_0x479881,_0x23484d,_0x531562,_0xbbda65=0x1){var _0x5811c1=_0x508511,_0x2148e0=_0x2e3a94[_0x5811c1(0x639)]||_0x2e3a94,_0x2c359b=_0x2e3a94['height']||_0x2e3a94,_0x2e3a94=_0x2e3a94[_0x5811c1(0x9b5)]||0x0;_0x43602f[_0x5811c1(0x5d6)]=_0x2148e0,_0x43602f[_0x5811c1(0x924)]=_0x2c359b,_0x43602f[_0x5811c1(0x639)]=_0x2148e0,_0x43602f[_0x5811c1(0x690)]=_0x2c359b,_0x43602f[_0x5811c1(0x432)]=0x0<_0x2e3a94,_0x43602f[_0x5811c1(0xac2)]=_0x2e3a94,_0x43602f[_0x5811c1(0x21c)]=!0x0,_0x43602f[_0x5811c1(0x3a8)]=_0xbbda65,_0x43602f[_0x5811c1(0x8ed)]=!0x1,_0x43602f[_0x5811c1(0x1b4)]=_0x23484d?_0x3400b7['g'][_0x5811c1(0xbd7)]:_0x3400b7['g'][_0x5811c1(0x97f)],_0x43602f['type']=_0x3400b7['g'][_0x5811c1(0x937)],_0x43602f['_comparisonFunction']=_0x531562,_0x43602f[_0x5811c1(0x3e6)]=_0x3400b7['g'][_0x5811c1(0x9eb)],_0x43602f[_0x5811c1(0x967)]=_0x3400b7['g'][_0x5811c1(0x9eb)];},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0xbd8)]=function(_0x4d2a14,_0x69d5e5){var _0x4fc653=_0x508511;return _0x4d2a14&&_0x4d2a14[_0x4fc653(0x7c5)]&&_0x4d2a14[_0x4fc653(0x3a8)]!==_0x69d5e5?(_0x69d5e5=Math[_0x4fc653(0x951)](_0x69d5e5,this[_0x4fc653(0xa51)]()[_0x4fc653(0x7eb)]),this[_0x4fc653(0x3b2)][_0x4fc653(0xab3)](_0x4d2a14[_0x4fc653(0x7c5)],_0x69d5e5),_0x4d2a14['_depthStencilTexture']&&(this[_0x4fc653(0x3b2)][_0x4fc653(0xab3)](_0x4d2a14['_depthStencilTexture'],_0x69d5e5),_0x4d2a14[_0x4fc653(0xd6d)][_0x4fc653(0x3a8)]=_0x69d5e5),_0x4d2a14['_samples']=_0x69d5e5,_0x4d2a14[_0x4fc653(0x7c5)][_0x4fc653(0x3a8)]=_0x69d5e5):_0x69d5e5;},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x1cc)]=function(_0x14be91,_0x306dda){var _0x4c2eda=_0x508511;const _0x2aabb9=this[_0x4c2eda(0x90e)](!0x1,!0x0,_0x14be91),_0x3bab14=Object[_0x4c2eda(0xb31)]({'generateMipMaps':!0x0,'generateDepthBuffer':!0x0,'generateStencilBuffer':!0x1,'type':_0x3400b7['g'][_0x4c2eda(0xd0a)],'samplingMode':_0x3400b7['g'][_0x4c2eda(0x19f)],'format':_0x3400b7['g'][_0x4c2eda(0x7a9)],'samples':0x1},_0x306dda),_0x61007b=(_0x3bab14[_0x4c2eda(0x2eb)]=_0x3bab14[_0x4c2eda(0xcb4)]&&_0x3bab14[_0x4c2eda(0x2eb)],_0x2aabb9['_generateDepthBuffer']=_0x3bab14['generateDepthBuffer'],_0x2aabb9[_0x4c2eda(0x5e6)]=_0x3bab14['generateStencilBuffer'],new _0x2c9fb8['l'](this,_0x2c9fb8['S'][_0x4c2eda(0xb7d)]));return _0x61007b[_0x4c2eda(0x639)]=_0x14be91,_0x61007b[_0x4c2eda(0x690)]=_0x14be91,_0x61007b[_0x4c2eda(0xac2)]=0x0,_0x61007b[_0x4c2eda(0x21c)]=!0x0,_0x61007b[_0x4c2eda(0x5ca)]=!0x0,_0x61007b['samples']=_0x3bab14['samples'],_0x61007b['generateMipMaps']=_0x3bab14[_0x4c2eda(0x8ed)],_0x61007b[_0x4c2eda(0x1b4)]=_0x3bab14['samplingMode'],_0x61007b[_0x4c2eda(0x395)]=_0x3bab14['type'],_0x61007b[_0x4c2eda(0x1a4)]=_0x3bab14['format'],this[_0x4c2eda(0xd27)][_0x4c2eda(0x303)](_0x61007b),_0x2aabb9['setTextures'](_0x61007b),(_0x2aabb9[_0x4c2eda(0x275)]||_0x2aabb9[_0x4c2eda(0x5e6)])&&_0x2aabb9['createDepthStencilTexture'](0x0,void 0x0===_0x3bab14['samplingMode']||_0x3bab14[_0x4c2eda(0x1b4)]===_0x3400b7['g'][_0x4c2eda(0xbd7)]||_0x3bab14[_0x4c2eda(0x1b4)]===_0x3400b7['g'][_0x4c2eda(0x66b)]||_0x3bab14[_0x4c2eda(0x1b4)]===_0x3400b7['g']['TEXTURE_TRILINEAR_SAMPLINGMODE']||_0x3bab14[_0x4c2eda(0x1b4)]===_0x3400b7['g'][_0x4c2eda(0xc05)]||_0x3bab14[_0x4c2eda(0x1b4)]===_0x3400b7['g'][_0x4c2eda(0x86b)]||_0x3bab14[_0x4c2eda(0x1b4)]===_0x3400b7['g']['TEXTURE_NEAREST_LINEAR_MIPLINEAR']||_0x3bab14[_0x4c2eda(0x1b4)]===_0x3400b7['g']['TEXTURE_NEAREST_LINEAR']||_0x3bab14[_0x4c2eda(0x1b4)]===_0x3400b7['g'][_0x4c2eda(0x2ee)],_0x2aabb9[_0x4c2eda(0x5e6)],_0x2aabb9['samples']),_0x306dda&&_0x306dda[_0x4c2eda(0xa2a)]&&!_0x3bab14[_0x4c2eda(0x8ed)]&&(_0x61007b[_0x4c2eda(0x8ed)]=!0x0),this[_0x4c2eda(0x3b2)][_0x4c2eda(0xa9c)](_0x61007b),_0x306dda&&_0x306dda[_0x4c2eda(0xa2a)]&&!_0x3bab14['generateMipMaps']&&(_0x61007b[_0x4c2eda(0x8ed)]=!0x1),_0x2aabb9;},_0x4c7d91['Q'][_0x508511(0x85a)][_0x508511(0x5a9)]=function(_0x1ae00d,_0x3181b7){var _0x40e3f1=_0x508511;this[_0x40e3f1(0xbfd)][_0x40e3f1(0x5a9)](_0x1ae00d,_0x3181b7);},_0xcaef66['f'][_0x508511(0x85a)]['setTextureSampler']=function(_0x227b07,_0x235079){var _0x7aa19d=_0x508511,_0x46b5f5;null!=(_0x46b5f5=this['_currentMaterialContext'])&&_0x46b5f5[_0x7aa19d(0x77c)](_0x227b07,_0x235079);},_0x4c7d91['Q'][_0x508511(0x85a)]['setStorageBuffer']=function(_0x501f9c,_0x2ccb40){var _0x4152ad=_0x508511;this[_0x4152ad(0xbfd)][_0x4152ad(0x818)](_0x501f9c,_0x2ccb40);},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0xd60)]=function(_0x59be58,_0x344e93){var _0x750ebd=_0x508511;return this[_0x750ebd(0xa15)](_0x59be58,_0x344e93|_0x3400b7['g'][_0x750ebd(0x6d8)]);},_0xcaef66['f'][_0x508511(0x85a)]['updateStorageBuffer']=function(_0x466d01,_0x26283b,_0x5977eb,_0x273582){var _0x44f3a7=_0x508511;void 0x0===_0x5977eb&&(_0x5977eb=0x0);let _0x316edf;void 0x0===_0x273582?_0x273582=(_0x316edf=_0x26283b instanceof Array?new Float32Array(_0x26283b):_0x26283b instanceof ArrayBuffer?new Uint8Array(_0x26283b):_0x26283b)['byteLength']:_0x316edf=_0x26283b instanceof Array?new Float32Array(_0x26283b):_0x26283b instanceof ArrayBuffer?new Uint8Array(_0x26283b):_0x26283b,this[_0x44f3a7(0xc2a)][_0x44f3a7(0x907)](_0x466d01,_0x5977eb,_0x316edf,0x0,_0x273582);},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0xbdf)]=function(_0x8bfe2d,_0x4f057e,_0x9d8f5c,_0x32a35e){var _0x95f3c1=_0x508511;_0x9d8f5c=_0x9d8f5c||_0x8bfe2d[_0x95f3c1(0x4f8)];const _0x6dfdaa=this['_bufferManager'][_0x95f3c1(0x4c1)](_0x9d8f5c,_0x150e51['FB'][_0x95f3c1(0x675)]|_0x150e51['FB'][_0x95f3c1(0x6b8)]);return this['_renderTargetEncoder'][_0x95f3c1(0x3ed)](_0x8bfe2d['underlyingResource'],null!=_0x4f057e?_0x4f057e:0x0,_0x6dfdaa,0x0,_0x9d8f5c),new Promise((_0xb189af,_0x807802)=>{var _0xb19cfb=_0x95f3c1;this['onEndFrameObservable'][_0xb19cfb(0x9b8)](()=>{var _0x291c7d=_0xb19cfb;_0x6dfdaa['mapAsync'](_0x150e51['gc'][_0x291c7d(0x86d)],0x0,_0x9d8f5c)[_0x291c7d(0x37c)](()=>{var _0x30dd0b=_0x291c7d,_0x3a7a61=_0x6dfdaa[_0x30dd0b(0x998)](0x0,_0x9d8f5c);let _0x2e1522=_0x32a35e;if(void 0x0===_0x2e1522)(_0x2e1522=new Uint8Array(_0x9d8f5c))[_0x30dd0b(0x83f)](new Uint8Array(_0x3a7a61));else{const _0x5ad6c1=_0x2e1522[_0x30dd0b(0x2a4)];(_0x2e1522=new _0x5ad6c1(_0x2e1522[_0x30dd0b(0x7da)]))['set'](new _0x5ad6c1(_0x3a7a61));}_0x6dfdaa['unmap'](),this[_0x30dd0b(0xc2a)]['releaseBuffer'](_0x6dfdaa),_0xb189af(_0x2e1522);},_0x3f1817=>_0x807802(_0x3f1817));});});},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x818)]=function(_0x283de0,_0x841ac7){var _0x111798=_0x508511,_0x14951a;null!=(_0x14951a=this[_0x111798(0x5a7)])&&_0x14951a[_0x111798(0x3a6)](_0x283de0,null!=(_0x14951a=null==_0x841ac7?void 0x0:_0x841ac7[_0x111798(0x400)]())?_0x14951a:null);},_0xcaef66['f']['prototype'][_0x508511(0x671)]=function(_0x242186){var _0x4ddc01=_0x508511;return _0x242186=_0x242186 instanceof Array?new Float32Array(_0x242186):_0x242186,this[_0x4ddc01(0xc2a)][_0x4ddc01(0x983)](_0x242186,_0x150e51['FB'][_0x4ddc01(0x7a2)]|_0x150e51['FB']['CopyDst']);},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0xbb3)]=function(_0x3c1942){var _0x343cdb=_0x508511;return this[_0x343cdb(0x671)](_0x3c1942);},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0xd76)]=function(_0x3966a3,_0x390a65,_0x3a290f,_0x355ca0){var _0x31d9d7=_0x508511;void 0x0===_0x3a290f&&(_0x3a290f=0x0);let _0x559fcf;void 0x0===_0x355ca0?_0x355ca0=(_0x559fcf=_0x390a65 instanceof Float32Array?_0x390a65:new Float32Array(_0x390a65))[_0x31d9d7(0x3e3)]:_0x559fcf=_0x390a65 instanceof Float32Array?_0x390a65:new Float32Array(_0x390a65),this[_0x31d9d7(0xc2a)][_0x31d9d7(0x907)](_0x3966a3,_0x3a290f,_0x559fcf,0x0,_0x355ca0);},_0xcaef66['f'][_0x508511(0x85a)]['bindUniformBufferBase']=function(_0x203e1e,_0x1dc35c,_0xf5cf44){var _0x4f2316=_0x508511;this[_0x4f2316(0x5a7)][_0x4f2316(0x3a6)](_0xf5cf44,_0x203e1e);},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x583)]=function(){},_0xcaef66['f'][_0x508511(0x85a)][_0x508511(0x201)]=function(_0x51db36,_0x1d4f3a,_0x421e14){var _0x157332=_0x508511,_0x28b782;if(_0x51db36&&!_0x51db36[_0x157332(0x3cb)]){void 0x0===this[_0x157332(0x74f)]&&(this[_0x157332(0x74f)]=!0x0);let _0x511a8a=_0x51db36[_0x157332(0xa52)];null!=(_0x28b782=_0x51db36['_hardwareTexture'])&&_0x28b782[_0x157332(0x51e)]||(_0x511a8a=this[_0x157332(0x3b2)][_0x157332(0xa9c)](_0x51db36)),_0x1d4f3a&&void 0x0!==_0x1d4f3a[_0x157332(0x51e)]?(this[_0x157332(0x3b2)][_0x157332(0x97d)](_0x1d4f3a,_0x51db36,_0x511a8a[_0x157332(0x1a4)],!_0x421e14),_0x51db36[_0x157332(0x8ed)]&&this[_0x157332(0xa81)](_0x51db36,this[_0x157332(0xc0c)]),_0x51db36[_0x157332(0x21c)]=!0x0):_0x1d4f3a&&this[_0x157332(0xa20)](_0x1d4f3a)[_0x157332(0x37c)](_0x1f52b8=>{var _0x27fa99=_0x157332;this['_textureHelper'][_0x27fa99(0x9fd)](_0x1f52b8,_0x51db36,_0x51db36[_0x27fa99(0x639)],_0x51db36['height'],_0x51db36[_0x27fa99(0xac2)],_0x511a8a[_0x27fa99(0x1a4)],0x0,0x0,!_0x421e14,!0x1,0x0,0x0),_0x51db36[_0x27fa99(0x8ed)]&&this['_generateMipmaps'](_0x51db36,this[_0x27fa99(0xc0c)]),_0x51db36[_0x27fa99(0x21c)]=!0x0;})[_0x157332(0x60a)](()=>{_0x51db36['isReady']=!0x0;});}};},0x11376:(_0x4ae12e,_0x198fea,_0x17c44e)=>{var _0x5dd81e=a7_0x425593;_0x17c44e['d'](_0x198fea,{'V':()=>_0x5ca2a8});var _0x495cff=_0x17c44e(0x5e45),_0x4a347b=_0x17c44e(0x13869),_0xe2d650=_0x17c44e(0x77a5),_0x4d054=_0x17c44e(0x3c27),_0x38d65f=_0x17c44e(0x89a1);class _0x5ca2a8{constructor(_0x6ec33f){var _0x12cec0=a7_0x5572;this[_0x12cec0(0x8b2)]=[],this['_device']=_0x6ec33f;}static['_IsGPUBuffer'](_0x26e80e){return void 0x0===_0x26e80e['underlyingResource'];}[_0x5dd81e(0x4c1)](_0x36b647,_0x319090,_0x1b78f5=!0x1){var _0xc9678d=_0x5dd81e;return _0x36b647=void 0x0!==_0x36b647[_0xc9678d(0x3e3)]?_0x36b647[_0xc9678d(0x3e3)]+0x3&-0x4:_0x36b647+0x3&-0x4,this['_device'][_0xc9678d(0x983)]({'mappedAtCreation':_0x1b78f5,'size':_0x36b647,'usage':_0x319090});}[_0x5dd81e(0x983)](_0x553e9c,_0x2f1056){var _0xd65a28=_0x5dd81e,_0x37e370=void 0x0!==_0x553e9c['byteLength'],_0x2f1056=this[_0xd65a28(0x4c1)](_0x553e9c,_0x2f1056);const _0x58d330=new _0x495cff['C'](_0x2f1056);return _0x58d330[_0xd65a28(0x249)]=0x1,_0x58d330[_0xd65a28(0x4f8)]=_0x37e370?_0x553e9c[_0xd65a28(0x3e3)]:_0x553e9c,_0x37e370&&this[_0xd65a28(0x907)](_0x58d330,0x0,_0x553e9c),_0x58d330;}[_0x5dd81e(0x495)](_0x1afa0d,_0x5a82d5,_0x584ab5,_0xe4ffb2,_0x495ab8){var _0x1a88cf=_0x5dd81e;this['_device'][_0x1a88cf(0xb52)][_0x1a88cf(0x4c7)](_0x1afa0d,_0x5a82d5,_0x584ab5['buffer'],_0xe4ffb2,_0x495ab8);}['setSubData'](_0x84842a,_0x21452f,_0x571982,_0x21fe1d=0x0,_0x333214=0x0){var _0x209a00=_0x5dd81e,_0x2c5a84=_0x84842a['underlyingResource'];_0x333214=_0x333214||_0x571982[_0x209a00(0x3e3)],_0x333214=Math[_0x209a00(0x951)](_0x333214,_0x84842a[_0x209a00(0x4f8)]-_0x21452f);let _0x321b75=_0x571982[_0x209a00(0x2b4)]+_0x21fe1d,_0x2bfa77=_0x321b75+_0x333214;var _0x1c17f4,_0x84842a=_0x333214+0x3&-0x4,_0x4672a9=(_0x84842a!==_0x333214&&(_0x1c17f4=new Uint8Array(_0x571982[_0x209a00(0x7da)][_0x209a00(0x8be)](_0x321b75,_0x2bfa77)),(_0x571982=new Uint8Array(_0x84842a))[_0x209a00(0x83f)](_0x1c17f4),_0x21fe1d=0x0,_0x321b75=0x0,_0x333214=_0x2bfa77=_0x84842a),0xf00000);let _0x3da0ca=0x0;for(;_0x2bfa77-(_0x321b75+_0x3da0ca)>_0x4672a9;)this['_device'][_0x209a00(0xb52)]['writeBuffer'](_0x2c5a84,_0x21452f+_0x3da0ca,_0x571982[_0x209a00(0x7da)],_0x321b75+_0x3da0ca,_0x4672a9),_0x3da0ca+=_0x4672a9;this[_0x209a00(0x391)][_0x209a00(0xb52)]['writeBuffer'](_0x2c5a84,_0x21452f+_0x3da0ca,_0x571982[_0x209a00(0x7da)],_0x321b75+_0x3da0ca,_0x333214-_0x3da0ca);}['_getHalfFloatAsFloatRGBAArrayBuffer'](_0x1ce12d,_0x575762,_0x32dc03){_0x32dc03=_0x32dc03||new Float32Array(_0x1ce12d);for(var _0x3d126f=new Uint16Array(_0x575762);_0x1ce12d--;)_0x32dc03[_0x1ce12d]=(0x0,_0x4a347b['qZ'])(_0x3d126f[_0x1ce12d]);return _0x32dc03;}[_0x5dd81e(0x5c1)](_0x10f1da,_0x4cfff2,_0x4738b9,_0xf3944f,_0xdaaae1,_0x3719cf,_0x39dcb7=_0xe2d650['g'][_0x5dd81e(0xb0a)],_0x3d07e0=0x0,_0x5e6c31=null,_0x5ddb0e=!0x0,_0x252bf2=!0x1){var _0x45d6d1=_0x5dd81e;const _0x106e23=_0x39dcb7===_0xe2d650['g']['TEXTURETYPE_FLOAT']?0x2:_0x39dcb7===_0xe2d650['g'][_0x45d6d1(0x986)]?0x1:0x0;return new Promise((_0x9dbe73,_0x14066b)=>{var _0x5212cd=_0x45d6d1;_0x10f1da[_0x5212cd(0xbba)](_0x38d65f['gc'][_0x5212cd(0x86d)],_0x3d07e0,_0x4cfff2)['then'](()=>{var _0x550b7a=_0x5212cd,_0x105c19=_0x10f1da[_0x550b7a(0x998)](_0x3d07e0,_0x4cfff2);let _0x286014=_0x5e6c31;if(_0x252bf2)_0x286014=null===_0x286014?(0x0,_0x4d054['A'])(_0x39dcb7,_0x4cfff2,!0x0,_0x105c19):(0x0,_0x4d054['A'])(_0x39dcb7,_0x286014[_0x550b7a(0x7da)],void 0x0,_0x105c19);else{if(null===_0x286014)switch(_0x106e23){case 0x0:(_0x286014=new Uint8Array(_0x4cfff2))['set'](new Uint8Array(_0x105c19));break;case 0x1:_0x286014=this[_0x550b7a(0xb70)](_0x4cfff2/0x2,_0x105c19);break;case 0x2:(_0x286014=new Float32Array(_0x4cfff2/0x4))[_0x550b7a(0x83f)](new Float32Array(_0x105c19));}else switch(_0x106e23){case 0x0:(_0x286014=new Uint8Array(_0x286014[_0x550b7a(0x7da)]))[_0x550b7a(0x83f)](new Uint8Array(_0x105c19));break;case 0x1:_0x286014=this[_0x550b7a(0xb70)](_0x4cfff2/0x2,_0x105c19,_0x5e6c31);break;case 0x2:(_0x286014=new Float32Array(_0x286014[_0x550b7a(0x7da)]))[_0x550b7a(0x83f)](new Float32Array(_0x105c19));}}if(_0xdaaae1!==_0x3719cf){0x1!=_0x106e23||_0x252bf2||(_0xdaaae1*=0x2,_0x3719cf*=0x2);const _0x5bdd47=new Uint8Array(_0x286014[_0x550b7a(0x7da)]);let _0x28897e=_0xdaaae1,_0x2613c8=0x0;for(let _0x2f2f9d=0x1;_0x2f2f9d<_0xf3944f;++_0x2f2f9d){_0x2613c8=_0x2f2f9d*_0x3719cf;for(let _0xd129fd=0x0;_0xd129fd<_0xdaaae1;++_0xd129fd)_0x5bdd47[_0x28897e++]=_0x5bdd47[_0x2613c8++];}_0x286014=0x0==_0x106e23||_0x252bf2?new Uint8Array(_0x5bdd47[_0x550b7a(0x7da)],0x0,_0x28897e):new Float32Array(_0x5bdd47[_0x550b7a(0x7da)],0x0,_0x28897e/0x4);}_0x10f1da['unmap'](),_0x5ddb0e&&this[_0x550b7a(0x83d)](_0x10f1da),_0x9dbe73(_0x286014);},_0x527d9a=>_0x14066b(_0x527d9a));});}[_0x5dd81e(0x83d)](_0x4b1cb0){var _0x456dbb=_0x5dd81e;return _0x5ca2a8[_0x456dbb(0x628)](_0x4b1cb0)?(this[_0x456dbb(0x8b2)]['push'](_0x4b1cb0),!0x0):(_0x4b1cb0[_0x456dbb(0x249)]--,0x0===_0x4b1cb0[_0x456dbb(0x249)]&&(this[_0x456dbb(0x8b2)][_0x456dbb(0x303)](_0x4b1cb0[_0x456dbb(0x51e)]),!0x0));}[_0x5dd81e(0xb3c)](){var _0x1678a6=_0x5dd81e;for(let _0x1cf94a=0x0;_0x1cf94a<this['_deferredReleaseBuffers']['length'];++_0x1cf94a)this[_0x1678a6(0x8b2)][_0x1cf94a]['destroy']();this[_0x1678a6(0x8b2)][_0x1678a6(0x86e)]=0x0;}}},0x742a:(_0x28361a,_0xe0fb8a,_0x376b2a)=>{var _0x3a2c2b=a7_0x425593;_0x376b2a['d'](_0xe0fb8a,{'GB':()=>_0x2a59c5,'fv':()=>_0x9b1319,'fw':()=>_0x260ea8,'kP':()=>_0x3ac5c6,'me':()=>_0x1b3bf4,'nt':()=>_0x312fef,'vr':()=>_0x3ac6a7});class _0x9b1319{constructor(_0x5d8aee,_0x242e19,_0x8199e0,_0x2c53c9){var _0x23872f=a7_0x5572;this['x']=Math['floor'](_0x5d8aee),this['y']=Math['floor'](_0x242e19),this['w']=Math['floor'](_0x8199e0),this['h']=Math[_0x23872f(0x860)](_0x2c53c9);}[_0x3a2c2b(0x90f)](_0x26d001){var _0x4d8042=_0x3a2c2b;_0x26d001[_0x4d8042(0x1c6)](this['x'],this['y'],this['w'],this['h'],0x0,0x1);}['clone'](){return new _0x9b1319(this['x'],this['y'],this['w'],this['h']);}}class _0x1b3bf4{constructor(_0x422e41,_0x50b11b,_0x2ac44d,_0x43f69d){this['x']=_0x422e41,this['y']=_0x50b11b,this['w']=_0x2ac44d,this['h']=_0x43f69d;}[_0x3a2c2b(0x90f)](_0x2b3e79){var _0xbc23ab=_0x3a2c2b;_0x2b3e79[_0xbc23ab(0x8c8)](this['x'],this['y'],this['w'],this['h']);}[_0x3a2c2b(0x6cd)](){return new _0x1b3bf4(this['x'],this['y'],this['w'],this['h']);}}class _0x3ac6a7{constructor(_0x9a2bcd){var _0x1b618a=_0x3a2c2b;this[_0x1b618a(0xb2a)]=_0x9a2bcd;}[_0x3a2c2b(0x90f)](_0x5521dc){var _0x75272e=_0x3a2c2b;_0x5521dc['setStencilReference'](this[_0x75272e(0xb2a)]);}['clone'](){return new _0x3ac6a7(this['ref']);}}class _0x3ac5c6{constructor(_0x63f8d){var _0x3c6ba2=_0x3a2c2b;this[_0x3c6ba2(0x6aa)]=_0x63f8d;}['run'](_0xd8d6a2){var _0x1fc26e=_0x3a2c2b;_0xd8d6a2[_0x1fc26e(0x7ff)](this[_0x1fc26e(0x6aa)]);}[_0x3a2c2b(0x6cd)](){return new _0x3ac5c6(this['color']);}}class _0x2a59c5{constructor(_0x59b5f3){var _0x32e479=_0x3a2c2b;this[_0x32e479(0xba3)]=_0x59b5f3;}[_0x3a2c2b(0x90f)](_0x1c1b22){var _0x579531=_0x3a2c2b;_0x1c1b22[_0x579531(0xcef)](this[_0x579531(0xba3)]);}['clone'](){var _0x333b8d=_0x3a2c2b;return new _0x2a59c5(this[_0x333b8d(0xba3)]);}}class _0x260ea8{constructor(){}[_0x3a2c2b(0x90f)](_0x12fb6b){var _0x1916a5=_0x3a2c2b;_0x12fb6b[_0x1916a5(0x2f1)]();}[_0x3a2c2b(0x6cd)](){return new _0x260ea8();}}class _0x1b7dab{constructor(){var _0x3ef6e2=_0x3a2c2b;this[_0x3ef6e2(0x37f)]=[];}[_0x3a2c2b(0x90f)](_0x38ee22){var _0x24ba74=_0x3a2c2b;_0x38ee22['executeBundles'](this[_0x24ba74(0x37f)]);}[_0x3a2c2b(0x6cd)](){var _0x838764=_0x3a2c2b;const _0x2de3ca=new _0x1b7dab();return _0x2de3ca[_0x838764(0x37f)]=this[_0x838764(0x37f)],_0x2de3ca;}}class _0x312fef{constructor(_0x162d5f){var _0x531f47=_0x3a2c2b;this[_0x531f47(0xaa6)]=0x0,this[_0x531f47(0x391)]=_0x162d5f,this['_list']=new Array(0xa),this[_0x531f47(0xa56)]=0x0;}['addBundle'](_0x1b56de){var _0x29c815=_0x3a2c2b,_0x56e33c;this[_0x29c815(0xc79)]||(_0x56e33c=new _0x1b7dab(),this[_0x29c815(0xbf9)][this[_0x29c815(0xa56)]++]=_0x56e33c,this[_0x29c815(0x401)]=_0x56e33c[_0x29c815(0x37f)],this['_currentItemIsBundle']=!0x0),_0x1b56de&&this[_0x29c815(0x401)][_0x29c815(0x303)](_0x1b56de);}[_0x3a2c2b(0x70d)](){var _0x3c281a=_0x3a2c2b;this['_currentItemIsBundle']&&this[_0x3c281a(0x537)]&&(this[_0x3c281a(0x401)][_0x3c281a(0x303)](this[_0x3c281a(0x537)][_0x3c281a(0x77e)]()),this['_bundleEncoder']=void 0x0,this[_0x3c281a(0xc79)]=!0x1);}[_0x3a2c2b(0x35f)](_0x36b1c4){var _0x5cafc2=_0x3a2c2b;this[_0x5cafc2(0x70d)](),this[_0x5cafc2(0xbf9)][this[_0x5cafc2(0xa56)]++]=_0x36b1c4,this[_0x5cafc2(0xc79)]=!0x1;}[_0x3a2c2b(0x849)](_0x5b288e,_0x2a6afb,_0x4680e7){var _0x5c704e=_0x3a2c2b;return this[_0x5c704e(0xc79)]||(this['addBundle'](),this[_0x5c704e(0x537)]=this[_0x5c704e(0x391)]['createRenderBundleEncoder']({'colorFormats':_0x5b288e,'depthStencilFormat':_0x2a6afb,'sampleCount':_0x4680e7})),this[_0x5c704e(0x537)];}[_0x3a2c2b(0xd19)](){this['_finishBundle']();}[_0x3a2c2b(0x90f)](_0x3fb9ef){var _0x54ae72=_0x3a2c2b;this['close']();for(let _0xbb9200=0x0;_0xbb9200<this[_0x54ae72(0xa56)];++_0xbb9200)this[_0x54ae72(0xbf9)][_0xbb9200][_0x54ae72(0x90f)](_0x3fb9ef);}['reset'](){var _0x51ca47=_0x3a2c2b;this[_0x51ca47(0xa56)]=0x0,this['_currentItemIsBundle']=!0x1,this['numDrawCalls']=0x0;}[_0x3a2c2b(0x6cd)](){var _0x5d4007=_0x3a2c2b;this[_0x5d4007(0xd19)]();const _0xd7b44b=new _0x312fef(this['_device']);_0xd7b44b[_0x5d4007(0xbf9)]=new Array(this[_0x5d4007(0xa56)]),_0xd7b44b[_0x5d4007(0xa56)]=this[_0x5d4007(0xa56)],_0xd7b44b['numDrawCalls']=this[_0x5d4007(0xaa6)];for(let _0x1b5674=0x0;_0x1b5674<this[_0x5d4007(0xa56)];++_0x1b5674)_0xd7b44b[_0x5d4007(0xbf9)][_0x1b5674]=this[_0x5d4007(0xbf9)][_0x1b5674][_0x5d4007(0x6cd)]();return _0xd7b44b;}}},0xb194:(_0x2fd1e2,_0x5ce509,_0x1aa47c)=>{var _0x46fd0b=a7_0x425593;_0x1aa47c['d'](_0x5ce509,{'T':()=>_0x46d858});var _0x2c5444=_0x1aa47c(0x77a5),_0x216c2c=_0x1aa47c(0x9683),_0x4d1749=_0x1aa47c(0x1114f),_0x33a25b=_0x1aa47c(0x59c6),_0x5ce509=_0x1aa47c(0x17a92);_0x5ce509['v']['ShadersStore'][_0x46fd0b(0xaee)]=_0x46fd0b(0x1db),_0x5ce509['v'][_0x46fd0b(0xd4b)][_0x46fd0b(0xcb6)]=_0x46fd0b(0xa8f);class _0x46d858{constructor(_0x14a882,_0x2b5513,_0x4a5c0a){var _0x4a1078=_0x46fd0b;this[_0x4a1078(0x65c)]={},this[_0x4a1078(0x878)]={},this[_0x4a1078(0x3cd)]=[],this['_device']=_0x14a882,this[_0x4a1078(0xbfd)]=_0x2b5513,this[_0x4a1078(0x9c7)]=new _0x216c2c['H'](this[_0x4a1078(0x391)],_0x4a5c0a,!_0x2b5513['_caps'][_0x4a1078(0x6f2)]),this[_0x4a1078(0x9c7)][_0x4a1078(0x703)](!0x1),this[_0x4a1078(0x9c7)][_0x4a1078(0x634)](0xff),this[_0x4a1078(0x415)]=_0x2b5513[_0x4a1078(0xcd4)](_0x4a1078(0x1ef),[],['color',_0x4a1078(0x1c1)]);}['setDepthStencilFormat'](_0x24fcb4){var _0x3e31da=_0x46fd0b;this[_0x3e31da(0x44c)]=_0x24fcb4,this['_cacheRenderPipeline'][_0x3e31da(0xa8b)](_0x24fcb4);}[_0x46fd0b(0x80c)](_0x2b2575){var _0x52382d=_0x46fd0b;this[_0x52382d(0x9c7)][_0x52382d(0x80c)](_0x2b2575);}['setMRTAttachments'](_0x1d9e25,_0x271533,_0x33b7c2){var _0x168ee7=_0x46fd0b;this[_0x168ee7(0x9c7)]['setMRT'](_0x271533,_0x33b7c2),this['_cacheRenderPipeline'][_0x168ee7(0x702)](_0x1d9e25);}[_0x46fd0b(0xb1c)](_0x5cfe7f,_0xab9a29,_0x4250f1,_0xc32153,_0x5665d0=0x1){var _0xa8477a=_0x46fd0b,_0x551491;let _0x86eeb7,_0x4255be=null,_0x1a9c71;var _0x36556e=!!this[_0xa8477a(0xbfd)][_0xa8477a(0x217)];if(_0x5cfe7f)_0x86eeb7=_0x5cfe7f;else{let _0x4b81f6=0x0;for(let _0x427d4d=this['_keyTemp']['length']=0x0;_0x427d4d<this['_cacheRenderPipeline'][_0xa8477a(0x8ab)]['length'];++_0x427d4d)this[_0xa8477a(0x3cd)][_0x4b81f6++]=_0x33a25b['U'][null!=(_0x551491=this[_0xa8477a(0x9c7)][_0xa8477a(0x8ab)][_0x427d4d])?_0x551491:''];var _0x372ff8=_0x33a25b['U'][null!=(_0x372ff8=this[_0xa8477a(0x44c)])?_0x372ff8:0x0];if(this[_0xa8477a(0x3cd)][_0x4b81f6]=(_0xab9a29?_0xab9a29['r']+0x100*_0xab9a29['g']+0x100*_0xab9a29['b']*0x100+0x100*_0xab9a29['a']*0x100*0x100:0x0)+(_0x4250f1?Math[_0xa8477a(0x6a4)](0x2,0x20):0x0)+(_0xc32153?Math[_0xa8477a(0x6a4)](0x2,0x21):0x0)+(this[_0xa8477a(0xbfd)][_0xa8477a(0x433)]?Math[_0xa8477a(0x6a4)](0x2,0x22):0x0)+(_0x36556e?Math[_0xa8477a(0x6a4)](0x2,0x23):0x0)+(0x1<_0x5665d0?Math[_0xa8477a(0x6a4)](0x2,0x24):0x0)+_0x372ff8*Math[_0xa8477a(0x6a4)](0x2,0x25),_0x1a9c71=this[_0xa8477a(0x3cd)][_0xa8477a(0xa94)]('_'),_0x4255be=this[_0xa8477a(0x878)][_0x1a9c71])return _0x4255be;_0x86eeb7=this['_device'][_0xa8477a(0xc7c)]({'colorFormats':this[_0xa8477a(0x9c7)][_0xa8477a(0x8ab)],'depthStencilFormat':this['_depthTextureFormat'],'sampleCount':_0x5665d0});}this[_0xa8477a(0x9c7)][_0xa8477a(0x45e)](!!_0x4250f1),this[_0xa8477a(0x9c7)][_0xa8477a(0xbbc)](!!_0xc32153&&!!this['_depthTextureFormat']&&_0x33a25b['D'][_0xa8477a(0x435)](this[_0xa8477a(0x44c)])),this[_0xa8477a(0x9c7)][_0xa8477a(0x66a)](_0xc32153?0xff:0x0),this[_0xa8477a(0x9c7)][_0xa8477a(0x667)](_0xc32153?_0x2c5444['g']['ALWAYS']:_0x2c5444['g'][_0xa8477a(0xa7d)]),this[_0xa8477a(0x9c7)][_0xa8477a(0x20a)](_0xc32153?_0x2c5444['g']['REPLACE']:_0x2c5444['g'][_0xa8477a(0xb2b)]),this[_0xa8477a(0x9c7)][_0xa8477a(0x39f)](_0xab9a29?0xf:0x0),_0x372ff8=this[_0xa8477a(0x9c7)][_0xa8477a(0x252)](_0x2c5444['g'][_0xa8477a(0xcdc)],this['_effect'],_0x5665d0);const _0x24a955=this[_0xa8477a(0x415)][_0xa8477a(0x696)];_0xab9a29&&this[_0xa8477a(0x415)]['setDirectColor4'](_0xa8477a(0x6aa),_0xab9a29),this[_0xa8477a(0x415)][_0xa8477a(0x89c)](_0xa8477a(0x1c1),this[_0xa8477a(0xbfd)][_0xa8477a(0x433)]?this['_engine']['_clearReverseDepthValue']:this[_0xa8477a(0xbfd)][_0xa8477a(0x210)]),_0x24a955['uniformBuffer']['update'](),(_0x4250f1=_0x36556e?this[_0xa8477a(0xbfd)][_0xa8477a(0x863)]:this[_0xa8477a(0xbfd)][_0xa8477a(0x9cf)],_0xc32153=_0x24a955[_0xa8477a(0x203)][_0xa8477a(0x400)](),_0x5665d0=_0xc32153[_0xa8477a(0xafd)]+'-'+_0x4250f1[_0xa8477a(0xafd)]);let _0x217a85=this[_0xa8477a(0x65c)][_0x5665d0];_0x217a85||(_0xab9a29=_0x24a955[_0xa8477a(0x4d1)],(_0x217a85=this[_0xa8477a(0x65c)][_0x5665d0]=[])['push'](this['_device'][_0xa8477a(0x92a)]({'layout':_0xab9a29[0x0],'entries':[]})),_0x4d1749['d'][_0xa8477a(0x6f5)]||_0x217a85[_0xa8477a(0x303)](this[_0xa8477a(0x391)][_0xa8477a(0x92a)]({'layout':_0xab9a29[0x1],'entries':[]})),_0x217a85['push'](this[_0xa8477a(0x391)][_0xa8477a(0x92a)]({'layout':_0xab9a29[_0x4d1749['d']['_SimplifiedKnownBindings']?0x1:0x2],'entries':[{'binding':0x0,'resource':{'buffer':_0x4250f1[_0xa8477a(0x51e)],'size':_0x4250f1[_0xa8477a(0x4f8)]}},{'binding':0x1,'resource':{'buffer':_0xc32153[_0xa8477a(0x51e)],'size':_0xc32153[_0xa8477a(0x4f8)]}}]}))),_0x86eeb7[_0xa8477a(0x821)](_0x372ff8);for(let _0x1008ec=0x0;_0x1008ec<_0x217a85[_0xa8477a(0x86e)];++_0x1008ec)_0x86eeb7[_0xa8477a(0x614)](_0x1008ec,_0x217a85[_0x1008ec]);return _0x86eeb7[_0xa8477a(0x83a)](0x4,0x1,0x0,0x0),_0x5cfe7f||(_0x4255be=_0x86eeb7[_0xa8477a(0x77e)](),this[_0xa8477a(0x878)][_0x1a9c71]=_0x4255be),_0x4255be;}}},0x2514:(_0x12620d,_0x54ad4d,_0x1260b4)=>{var _0x1957a9=a7_0x425593;_0x1260b4['d'](_0x54ad4d,{'K':()=>_0x2238c3});class _0x2238c3 extends _0x1260b4(0x12621)['k']{constructor(_0x242d81){var _0xf9dcc7=a7_0x5572;super(!0x1),this[_0xf9dcc7(0x7f0)]=_0x242d81,this['reset']();}get['zOffset'](){return this['_zOffset'];}set[_0x1957a9(0x6f4)](_0xade0a5){var _0x5a7013=_0x1957a9;this['_zOffset']!==_0xade0a5&&(this[_0x5a7013(0x804)]=_0xade0a5,this[_0x5a7013(0x836)]=!0x0,this['_cache'][_0x5a7013(0x665)](_0xade0a5));}get[_0x1957a9(0x3e7)](){var _0x4345ae=_0x1957a9;return this[_0x4345ae(0x2c7)];}set[_0x1957a9(0x3e7)](_0x32da02){var _0x30e2f0=_0x1957a9;this[_0x30e2f0(0x2c7)]!==_0x32da02&&(this[_0x30e2f0(0x2c7)]=_0x32da02,this[_0x30e2f0(0x836)]=!0x0,this[_0x30e2f0(0x7f0)]['setDepthBias'](_0x32da02));}get[_0x1957a9(0x76a)](){return this['_cullFace'];}set[_0x1957a9(0x76a)](_0x42b76c){var _0x2ff2a7=_0x1957a9;this[_0x2ff2a7(0xafb)]!==_0x42b76c&&(this[_0x2ff2a7(0xafb)]=_0x42b76c,this['_isCullFaceDirty']=!0x0,this[_0x2ff2a7(0x7f0)][_0x2ff2a7(0x4ed)](null!=_0x42b76c?_0x42b76c:0x1));}get[_0x1957a9(0x41c)](){var _0x59782b=_0x1957a9;return this[_0x59782b(0x7ac)];}set[_0x1957a9(0x41c)](_0x525510){var _0x710f22=_0x1957a9;this['_cull']!==_0x525510&&(this[_0x710f22(0x7ac)]=_0x525510,this[_0x710f22(0x1a0)]=!0x0,this[_0x710f22(0x7f0)][_0x710f22(0x9c6)](!!_0x525510));}get[_0x1957a9(0x185)](){var _0x3c5c80=_0x1957a9;return this[_0x3c5c80(0xb16)];}set[_0x1957a9(0x185)](_0x4c96a6){var _0x387447=_0x1957a9;this[_0x387447(0xb16)]!==_0x4c96a6&&(this[_0x387447(0xb16)]=_0x4c96a6,this[_0x387447(0x49f)]=!0x0,this[_0x387447(0x7f0)][_0x387447(0xc8f)](_0x4c96a6));}get[_0x1957a9(0x48e)](){var _0xf03f36=_0x1957a9;return this[_0xf03f36(0xb21)];}set[_0x1957a9(0x48e)](_0x3b050a){var _0x4801ce=_0x1957a9;this[_0x4801ce(0xb21)]!==_0x3b050a&&(this['_depthMask']=_0x3b050a,this['_isDepthMaskDirty']=!0x0,this[_0x4801ce(0x7f0)][_0x4801ce(0x45e)](_0x3b050a));}get[_0x1957a9(0x91f)](){var _0x5b95ae=_0x1957a9;return this[_0x5b95ae(0x1f0)];}set['depthTest'](_0xb7b210){var _0x4446c6=_0x1957a9;this[_0x4446c6(0x1f0)]!==_0xb7b210&&(this[_0x4446c6(0x1f0)]=_0xb7b210,this[_0x4446c6(0x71e)]=!0x0,this[_0x4446c6(0x7f0)]['setDepthTestEnabled'](_0xb7b210));}get[_0x1957a9(0x4ff)](){return this['_frontFace'];}set['frontFace'](_0xf9fec7){var _0xf53aef=_0x1957a9;this[_0xf53aef(0xbf2)]!==_0xf9fec7&&(this['_frontFace']=_0xf9fec7,this[_0xf53aef(0xc18)]=!0x0,this['_cache'][_0xf53aef(0x853)](null!=_0xf9fec7?_0xf9fec7:0x2));}[_0x1957a9(0x4f4)](){var _0x5b81a2=_0x1957a9;super['reset'](),this[_0x5b81a2(0x7f0)][_0x5b81a2(0x187)]();}['apply'](){}}},0x18215:(_0x3aba2c,_0x2d3ce9,_0x4f9e1)=>{var _0x31ed3d=a7_0x425593;_0x4f9e1['d'](_0x2d3ce9,{'Z':()=>_0x13cf55});var _0x1ef247=_0x4f9e1(0x1b5c),_0x2c46fc=_0x4f9e1(0x89a1);class _0x13cf55{constructor(_0x241151=null){var _0x553433=a7_0x5572;this[_0x553433(0x1a4)]=_0x2c46fc['EV'][_0x553433(0x604)],this[_0x553433(0x2c2)]=0x0,this['textureAdditionalUsages']=0x0,this[_0x553433(0x489)]=_0x241151,this[_0x553433(0x50e)]=null,this[_0x553433(0x828)]=null,this[_0x553433(0x3e2)]=null;}get[_0x31ed3d(0x51e)](){var _0x1f417d=_0x31ed3d;return this[_0x1f417d(0x489)];}[_0x31ed3d(0xb6d)](_0xb9d710=0x0){var _0x367641=_0x31ed3d,_0x5786f1;return null!=(_0x5786f1=null==(_0x5786f1=this[_0x367641(0x50e)])?void 0x0:_0x5786f1[_0xb9d710])?_0x5786f1:null;}[_0x31ed3d(0x620)](_0x23fc35,_0x886f58=-0x1){var _0xf19b24=_0x31ed3d;this[_0xf19b24(0x50e)]||(this[_0xf19b24(0x50e)]=[]),-0x1===_0x886f58&&(_0x886f58=this[_0xf19b24(0x50e)][_0xf19b24(0x86e)]),this['_webgpuMSAATexture'][_0x886f58]=_0x23fc35;}[_0x31ed3d(0x627)](){var _0x4b9773=_0x31ed3d;if(this['_webgpuMSAATexture']){for(const _0x440685 of this['_webgpuMSAATexture'])_0x440685['destroy']();this[_0x4b9773(0x50e)]=null;}}[_0x31ed3d(0x83f)](_0x274858){var _0x2c74cb=_0x31ed3d;this[_0x2c74cb(0x489)]=_0x274858;}[_0x31ed3d(0xa54)](_0x3f6707,_0x1d80a2,_0x4e5e6c,_0x11affd,_0xaf77bf){var _0x278f98=_0x31ed3d;this['createView']({'format':this['format'],'dimension':_0x4e5e6c?_0x2c46fc['p_']['Cube']:_0x2c46fc['p_'][_0x278f98(0xb9d)],'mipLevelCount':_0x1d80a2?_0x1ef247['R']['ILog2'](Math[_0x278f98(0x713)](_0x11affd,_0xaf77bf))+0x1:0x1,'baseArrayLayer':0x0,'baseMipLevel':0x0,'arrayLayerCount':_0x4e5e6c?0x6:0x1,'aspect':_0x2c46fc['H7'][_0x278f98(0x4ec)]});}[_0x31ed3d(0x8dc)](_0x40827f,_0x5eeb41=!0x1){var _0x495059=_0x31ed3d;this[_0x495059(0x828)]=this[_0x495059(0x489)][_0x495059(0x8dc)](_0x40827f),_0x5eeb41&&_0x40827f&&(_0x5eeb41=_0x40827f[_0x495059(0x7ad)],_0x40827f[_0x495059(0x7ad)]=0x1,this[_0x495059(0x3e2)]=this[_0x495059(0x489)][_0x495059(0x8dc)](_0x40827f),_0x40827f[_0x495059(0x7ad)]=_0x5eeb41);}[_0x31ed3d(0x4f4)](){var _0x544d6c=_0x31ed3d;this['_webgpuTexture']=null,this[_0x544d6c(0x50e)]=null,this[_0x544d6c(0x828)]=null,this[_0x544d6c(0x3e2)]=null;}[_0x31ed3d(0x63e)](){var _0x767ac9=_0x31ed3d,_0x490690;null!=(_0x490690=this['_webgpuTexture'])&&_0x490690['destroy'](),this[_0x767ac9(0x627)](),null!=(_0x490690=this['_copyInvertYTempTexture'])&&_0x490690[_0x767ac9(0x669)](),this[_0x767ac9(0x4f4)]();}}},0x10431:(_0x3159df,_0x5860ef,_0x2a7643)=>{var _0x5eaee5=a7_0x425593;_0x2a7643['d'](_0x5860ef,{'D':()=>_0x2dd7e3});var _0x4153ea=_0x2a7643(0x22dd),_0x4dd340=_0x2a7643(0x77a5),_0x2bbdf2=_0x2a7643(0x14e86);class _0x2dd7e3{constructor(){var _0x195209=a7_0x5572;this[_0x195209(0xafd)]=_0x2dd7e3[_0x195209(0x195)]++,this[_0x195209(0xbdd)]=0x0,this[_0x195209(0x4f4)]();}get[_0x5eaee5(0x9b6)](){var _0x67a8d9=_0x5eaee5;return 0x0<this[_0x67a8d9(0x96a)];}get[_0x5eaee5(0x7ec)](){var _0xcb4b56=_0x5eaee5;return 0x0<this[_0xcb4b56(0x79a)];}[_0x5eaee5(0x4f4)](){var _0x588d68=_0x5eaee5;this[_0x588d68(0xc47)]={},this[_0x588d68(0x649)]={},this[_0x588d68(0x948)]=!0x0,this['_numFloatTextures']=0x0,this[_0x588d68(0x96a)]=0x0;}['setSampler'](_0x35e670,_0x3b8d98){var _0x5dd1a2=_0x5eaee5;let _0x2705d6=this[_0x5dd1a2(0xc47)][_0x35e670],_0x51a2b0=-0x1;_0x2705d6?_0x51a2b0=_0x2705d6[_0x5dd1a2(0x50b)]:this[_0x5dd1a2(0xc47)][_0x35e670]=_0x2705d6={'sampler':_0x3b8d98,'hashCode':0x0},_0x2705d6[_0x5dd1a2(0xa0f)]=_0x3b8d98,_0x2705d6[_0x5dd1a2(0x50b)]=_0x3b8d98?_0x2bbdf2['W'][_0x5dd1a2(0x490)](_0x3b8d98):0x0,_0x35e670=_0x51a2b0!==_0x2705d6[_0x5dd1a2(0x50b)],(_0x35e670&&this[_0x5dd1a2(0xbdd)]++,this['isDirty']||(this['isDirty']=_0x35e670));}['setTexture'](_0x1ca313,_0x1170d2){var _0x90dfc7=_0x5eaee5,_0x30c55b;let _0x4d0648=this[_0x90dfc7(0x649)][_0x1ca313],_0xb1535=-0x1;_0x4d0648?_0xb1535=null!=(_0x30c55b=null==(_0x30c55b=_0x4d0648[_0x90dfc7(0x7c5)])?void 0x0:_0x30c55b[_0x90dfc7(0xafd)])?_0x30c55b:-0x1:this['textures'][_0x1ca313]=_0x4d0648={'texture':_0x1170d2,'isFloatTexture':!0x1,'isExternalTexture':!0x1},_0x4d0648[_0x90dfc7(0x960)]&&this['_numExternalTextures']--,_0x4d0648[_0x90dfc7(0x63f)]&&this['_numFloatTextures']--,_0x1170d2?(_0x4d0648[_0x90dfc7(0x63f)]=_0x1170d2[_0x90dfc7(0x395)]===_0x4dd340['g'][_0x90dfc7(0x937)],_0x4d0648[_0x90dfc7(0x960)]=_0x4153ea['x'][_0x90dfc7(0x177)](_0x1170d2),_0x4d0648['isFloatTexture']&&this[_0x90dfc7(0x79a)]++,_0x4d0648[_0x90dfc7(0x960)]&&this['_numExternalTextures']++):(_0x4d0648[_0x90dfc7(0x63f)]=!0x1,_0x4d0648[_0x90dfc7(0x960)]=!0x1),_0x4d0648[_0x90dfc7(0x7c5)]=_0x1170d2,_0x1ca313=_0xb1535!==(null!=(_0x30c55b=null==_0x1170d2?void 0x0:_0x1170d2[_0x90dfc7(0xafd)])?_0x30c55b:-0x1),(_0x1ca313&&this[_0x90dfc7(0xbdd)]++,this[_0x90dfc7(0x948)]||(this[_0x90dfc7(0x948)]=_0x1ca313));}}_0x2dd7e3[_0x5eaee5(0x195)]=0x0;},0x12546:(_0x41dfff,_0x292b17,_0x4b18ed)=>{var _0x1f0f98=a7_0x425593;_0x4b18ed['d'](_0x292b17,{'D':()=>_0x439776});var _0x135ab8=_0x4b18ed(0x89a1),_0x5f4644=_0x4b18ed(0x16268);class _0x439776{constructor(_0x2619f1,_0x232767,_0x526e5c,_0x115e5a=0x32,_0x201add=0x64){var _0xcf9da8=a7_0x5572;this['_availableIndices']=[],this[_0xcf9da8(0xbfd)]=_0x2619f1,this[_0xcf9da8(0x391)]=_0x232767,this['_bufferManager']=_0x526e5c,this['_frameLastBuffer']=-0x1,this[_0xcf9da8(0x5bb)]=0x0,this['_countIncrement']=_0x201add,this[_0xcf9da8(0x65e)](_0x115e5a);}get[_0x1f0f98(0x7e8)](){var _0x4dd173=_0x1f0f98;return this[_0x4dd173(0x592)][_0x4dd173(0x7e8)];}get[_0x1f0f98(0x45f)](){var _0xbf4ae3=_0x1f0f98;return this[_0xbf4ae3(0x5bb)]!==this[_0xbf4ae3(0xca3)]['length'];}get[_0x1f0f98(0x94c)](){var _0x317fe9=_0x1f0f98;switch(this[_0x317fe9(0xbfd)]['_getCurrentRenderPassIndex']()){case 0x0:return void 0x0!==this[_0x317fe9(0xbfd)][_0x317fe9(0x1b3)][_0x317fe9(0x290)][_0x317fe9(0x2b3)];case 0x1:return void 0x0!==this[_0x317fe9(0xbfd)]['_rttRenderPassWrapper'][_0x317fe9(0x290)][_0x317fe9(0x2b3)];}return!0x1;}[_0x1f0f98(0x7fc)](){var _0x2f2293=_0x1f0f98;0x0===this[_0x2f2293(0xca3)][_0x2f2293(0x86e)]&&this[_0x2f2293(0x65e)]();var _0xf23067=this[_0x2f2293(0xca3)][this[_0x2f2293(0xca3)][_0x2f2293(0x86e)]-0x1];return this[_0x2f2293(0xca3)][_0x2f2293(0x86e)]--,_0xf23067;}[_0x1f0f98(0x6d1)](_0x5e896a){var _0x1d6624=_0x1f0f98;this[_0x1d6624(0xca3)][this['_availableIndices'][_0x1d6624(0x86e)]-0x1]=_0x5e896a;}['isQueryResultAvailable'](_0x4183d7){var _0x2d5f81=_0x1f0f98;return this[_0x2d5f81(0x373)](),!!this['_lastBuffer']&&_0x4183d7<this[_0x2d5f81(0x7b3)][_0x2d5f81(0x86e)];}[_0x1f0f98(0x491)](_0x3b5612){var _0x3707f8=_0x1f0f98,_0x5356ca;return Number(null!=(_0x5356ca=null==(_0x5356ca=this[_0x3707f8(0x7b3)])?void 0x0:_0x5356ca[_0x3b5612])?_0x5356ca:-0x1);}[_0x1f0f98(0x373)](){var _0x9a0a16=_0x1f0f98;this['_lastBuffer']&&this[_0x9a0a16(0x678)]===this['_engine']['frameId']||this[_0x9a0a16(0x678)]!==this[_0x9a0a16(0xbfd)][_0x9a0a16(0x5f2)]&&(this[_0x9a0a16(0x678)]=this[_0x9a0a16(0xbfd)][_0x9a0a16(0x5f2)],this[_0x9a0a16(0x592)][_0x9a0a16(0x82d)](0x0,this[_0x9a0a16(0x5bb)])[_0x9a0a16(0x37c)](_0x2f140f=>{var _0x44c5ca=_0x9a0a16;this[_0x44c5ca(0x7b3)]=_0x2f140f;}));}[_0x1f0f98(0x65e)](_0x4a0dec){var _0x2f5947=_0x1f0f98;_0x4a0dec=null!=_0x4a0dec?_0x4a0dec:this['_countIncrement'],this[_0x2f5947(0x1bc)]();for(let _0x4eade5=0x0;_0x4eade5<_0x4a0dec;++_0x4eade5)this[_0x2f5947(0xca3)][_0x2f5947(0x303)](this[_0x2f5947(0x5bb)]+_0x4eade5);this['_currentTotalIndices']+=_0x4a0dec,this[_0x2f5947(0x592)]=new _0x5f4644['t'](this[_0x2f5947(0x5bb)],_0x135ab8['xL'][_0x2f5947(0xc03)],this[_0x2f5947(0x391)],this[_0x2f5947(0xc2a)],!0x1);}[_0x1f0f98(0x1bc)](){var _0x2cf011=_0x1f0f98;const _0x3edd2d=this[_0x2cf011(0x592)];_0x3edd2d&&setTimeout(()=>_0x3edd2d[_0x2cf011(0x1cb)],0x3e8);}[_0x1f0f98(0x1cb)](){var _0x223d52=_0x1f0f98,_0x57c0d5;null!=(_0x57c0d5=this[_0x223d52(0x592)])&&_0x57c0d5[_0x223d52(0x1cb)](),this[_0x223d52(0xca3)]['length']=0x0;}}},0xf715:(_0x131a78,_0x37e623,_0x124ecd)=>{var _0x2bb3e0=a7_0x425593;_0x124ecd['d'](_0x37e623,{'$':()=>_0x4992c0});var _0x5d01bf=_0x124ecd(0x149c5),_0x22e514=_0x124ecd(0xe83b);class _0x4992c0{constructor(_0xee1529,_0x2d5e5a){var _0xdbf325=a7_0x5572;this[_0xdbf325(0x2b8)]=_0xdbf325(0x349),this[_0xdbf325(0xce9)]=_0xee1529,this[_0xdbf325(0x4c0)]={},this['engine']=_0x2d5e5a;}get['isAsync'](){return!0x1;}get[_0x2bb3e0(0x21c)](){var _0x2836ac=_0x2bb3e0;return!!this[_0x2836ac(0x6c3)];}[_0x2bb3e0(0x862)](){}[_0x2bb3e0(0x175)](_0x5b52d0,_0x4ce563,_0x58b7c1,_0x4d2768,_0xc22bc6,_0x3e2378,_0x39d142,_0x387a8e){var _0x5acf5a=_0x2bb3e0;const _0x145693=this[_0x5acf5a(0x1a8)];_0x5b52d0[_0x5acf5a(0x34d)]='',_0x5b52d0[_0x5acf5a(0x5f8)]='';var _0x108916=this[_0x5acf5a(0xce9)][_0x5acf5a(0x4dc)];let _0x407c88;for(_0x407c88=0x0;_0x407c88<_0xc22bc6['length'];_0x407c88++){var _0x258224=_0xc22bc6[_0x407c88];null==_0x108916[_0xc22bc6[_0x407c88]]?(_0xc22bc6[_0x5acf5a(0x468)](_0x407c88,0x1),_0x407c88--):_0x3e2378[_0x258224]=_0x407c88;}for(const _0x58c4f8 of _0x145693[_0x5acf5a(0x867)](this,_0x39d142))_0x387a8e[_0x5acf5a(0x303)](_0x58c4f8);this[_0x5acf5a(0xbb7)]();const _0x8b2992=[],_0x4228be=[];for(_0x407c88=0x0;_0x407c88<_0x39d142[_0x5acf5a(0x86e)];_0x407c88++){var _0x1a4af2=_0x387a8e[_0x407c88];0x0<=_0x1a4af2&&(_0x8b2992[_0x5acf5a(0x303)](_0x39d142[_0x407c88]),_0x4228be['push'](_0x1a4af2));}this[_0x5acf5a(0xce9)]['attributeNamesFromEffect']=_0x8b2992,this[_0x5acf5a(0xce9)][_0x5acf5a(0xa55)]=_0x4228be;}[_0x2bb3e0(0xbb7)](){var _0x3099a4=_0x2bb3e0;if(this[_0x3099a4(0xce9)][_0x3099a4(0x636)][_0x3099a4(0x86e)]){this['uniformBuffer']=new _0x5d01bf['M'](this[_0x3099a4(0x1a8)],void 0x0,void 0x0,_0x3099a4(0x243)+this['_name']);for(const _0x2e430d of this['shaderProcessingContext'][_0x3099a4(0x636)]){var _0x256e73=_0x2e430d[_0x3099a4(0x395)][_0x3099a4(0x8fd)](/^(.*?)(<.*>)?$/,'$1'),_0x256e73=_0x22e514['e'][_0x3099a4(0x443)][_0x256e73];this[_0x3099a4(0x203)][_0x3099a4(0x93a)](_0x2e430d[_0x3099a4(0xa67)],_0x256e73,_0x2e430d[_0x3099a4(0x86e)]),this[_0x3099a4(0x4c0)][_0x2e430d[_0x3099a4(0xa67)]]=_0x2e430d[_0x3099a4(0x395)];}this[_0x3099a4(0x203)][_0x3099a4(0x452)]();}}[_0x2bb3e0(0x1cb)](){var _0x192069=_0x2bb3e0;this['uniformBuffer']&&this[_0x192069(0x203)]['dispose']();}[_0x2bb3e0(0x1b5)](_0x3c2511,_0x338f26){var _0x568d14=_0x2bb3e0;this[_0x568d14(0x203)]&&this['_leftOverUniformsByName'][_0x3c2511]&&this[_0x568d14(0x203)][_0x568d14(0xc4d)](_0x3c2511,_0x338f26);}['setInt2'](_0x77129e,_0x18596e,_0x178f5a){var _0x9954a=_0x2bb3e0;this[_0x9954a(0x203)]&&this[_0x9954a(0x4c0)][_0x77129e]&&this[_0x9954a(0x203)]['updateInt2'](_0x77129e,_0x18596e,_0x178f5a);}['setInt3'](_0x31e4bc,_0x993604,_0xef842b,_0x1614f1){var _0xc0b038=_0x2bb3e0;this['uniformBuffer']&&this['_leftOverUniformsByName'][_0x31e4bc]&&this['uniformBuffer'][_0xc0b038(0x52f)](_0x31e4bc,_0x993604,_0xef842b,_0x1614f1);}[_0x2bb3e0(0x560)](_0x127438,_0x4589cc,_0x44eed5,_0x9ecdd3,_0x592fd9){var _0x2b4590=_0x2bb3e0;this['uniformBuffer']&&this['_leftOverUniformsByName'][_0x127438]&&this[_0x2b4590(0x203)][_0x2b4590(0x3ef)](_0x127438,_0x4589cc,_0x44eed5,_0x9ecdd3,_0x592fd9);}[_0x2bb3e0(0x72a)](_0x1f496b,_0x496d68){var _0x3511f3=_0x2bb3e0;this['uniformBuffer']&&this['_leftOverUniformsByName'][_0x1f496b]&&this[_0x3511f3(0x203)][_0x3511f3(0x596)](_0x1f496b,_0x496d68);}[_0x2bb3e0(0x486)](_0x2272f5,_0x1277ca){var _0x2f945f=_0x2bb3e0;this[_0x2f945f(0x72a)](_0x2272f5,_0x1277ca);}[_0x2bb3e0(0x282)](_0x18a050,_0x5af4d6){this['setIntArray'](_0x18a050,_0x5af4d6);}[_0x2bb3e0(0x29d)](_0x3019ac,_0x44bbaa){var _0x2cc339=_0x2bb3e0;this[_0x2cc339(0x72a)](_0x3019ac,_0x44bbaa);}[_0x2bb3e0(0x8a2)](_0x3529d4,_0x493eda){var _0x2b3412=_0x2bb3e0;this[_0x2b3412(0x203)]&&this[_0x2b3412(0x4c0)][_0x3529d4]&&this[_0x2b3412(0x203)][_0x2b3412(0x624)](_0x3529d4,_0x493eda);}[_0x2bb3e0(0x97a)](_0x20e728,_0xb1accf,_0x5599e7){var _0x38769a=_0x2bb3e0;this[_0x38769a(0x203)]&&this['_leftOverUniformsByName'][_0x20e728]&&this[_0x38769a(0x203)][_0x38769a(0x2d9)](_0x20e728,_0xb1accf,_0x5599e7);}[_0x2bb3e0(0xd69)](_0x29e39a,_0x15ef6a,_0x4434c4,_0x9a4327){var _0x5d74af=_0x2bb3e0;this[_0x5d74af(0x203)]&&this[_0x5d74af(0x4c0)][_0x29e39a]&&this[_0x5d74af(0x203)]['updateUInt3'](_0x29e39a,_0x15ef6a,_0x4434c4,_0x9a4327);}[_0x2bb3e0(0x29a)](_0x34281d,_0x4b404b,_0x5dcd32,_0x393e9c,_0x4f0259){var _0x531ddf=_0x2bb3e0;this[_0x531ddf(0x203)]&&this[_0x531ddf(0x4c0)][_0x34281d]&&this[_0x531ddf(0x203)]['updateUInt4'](_0x34281d,_0x4b404b,_0x5dcd32,_0x393e9c,_0x4f0259);}[_0x2bb3e0(0x9f2)](_0xb23695,_0x431939){var _0x476238=_0x2bb3e0;this['uniformBuffer']&&this['_leftOverUniformsByName'][_0xb23695]&&this[_0x476238(0x203)]['updateUIntArray'](_0xb23695,_0x431939);}[_0x2bb3e0(0x955)](_0x5213ab,_0x3ea423){var _0x426a37=_0x2bb3e0;this[_0x426a37(0x9f2)](_0x5213ab,_0x3ea423);}[_0x2bb3e0(0xa30)](_0x5234eb,_0x471a48){var _0x185f8b=_0x2bb3e0;this[_0x185f8b(0x9f2)](_0x5234eb,_0x471a48);}['setUIntArray4'](_0x264542,_0x8466d){var _0x14483b=_0x2bb3e0;this[_0x14483b(0x9f2)](_0x264542,_0x8466d);}['setArray'](_0x118f37,_0x2f2467){var _0x2d3112=_0x2bb3e0;this['uniformBuffer']&&this['_leftOverUniformsByName'][_0x118f37]&&this[_0x2d3112(0x203)][_0x2d3112(0x9a0)](_0x118f37,_0x2f2467);}[_0x2bb3e0(0xcd7)](_0x41858a,_0x1f1b53){var _0x373ff2=_0x2bb3e0;this[_0x373ff2(0x9e4)](_0x41858a,_0x1f1b53);}[_0x2bb3e0(0x60c)](_0x3a82ea,_0xaee3cb){var _0x2cee56=_0x2bb3e0;this[_0x2cee56(0x9e4)](_0x3a82ea,_0xaee3cb);}[_0x2bb3e0(0x944)](_0x1f3350,_0x4e55db){var _0x5766a1=_0x2bb3e0;this[_0x5766a1(0x9e4)](_0x1f3350,_0x4e55db);}[_0x2bb3e0(0x4e7)](_0x550dda,_0x5bad63){var _0x3fff8e=_0x2bb3e0;this[_0x3fff8e(0x203)]&&this['_leftOverUniformsByName'][_0x550dda]&&this[_0x3fff8e(0x203)][_0x3fff8e(0x2ea)](_0x550dda,_0x5bad63);}[_0x2bb3e0(0x61f)](_0x154107,_0x9505cd){var _0x5ecece=_0x2bb3e0;this[_0x5ecece(0x203)]&&this[_0x5ecece(0x4c0)][_0x154107]&&this[_0x5ecece(0x203)][_0x5ecece(0x72d)](_0x154107,_0x9505cd);}['setMatrix3x3'](_0xa34671,_0x503b97){var _0x2340a7=_0x2bb3e0;this[_0x2340a7(0x203)]&&this['_leftOverUniformsByName'][_0xa34671]&&this[_0x2340a7(0x203)][_0x2340a7(0x6cf)](_0xa34671,_0x503b97);}['setMatrix2x2'](_0x4f3c87,_0x42cec8){var _0xffd67=_0x2bb3e0;this[_0xffd67(0x203)]&&this[_0xffd67(0x4c0)][_0x4f3c87]&&this['uniformBuffer'][_0xffd67(0x414)](_0x4f3c87,_0x42cec8);}[_0x2bb3e0(0x89c)](_0x1d9389,_0x31aa72){var _0x2fafee=_0x2bb3e0;this['uniformBuffer']&&this['_leftOverUniformsByName'][_0x1d9389]&&this[_0x2fafee(0x203)][_0x2fafee(0x253)](_0x1d9389,_0x31aa72);}['setVector2'](_0x293b9d,_0x359b7b){var _0x443778=_0x2bb3e0;this[_0x443778(0x2ad)](_0x293b9d,_0x359b7b['x'],_0x359b7b['y']);}['setFloat2'](_0x247902,_0x5ec55a,_0xc47b93){var _0x48a68b=_0x2bb3e0;this[_0x48a68b(0x203)]&&this['_leftOverUniformsByName'][_0x247902]&&this[_0x48a68b(0x203)][_0x48a68b(0x44d)](_0x247902,_0x5ec55a,_0xc47b93);}[_0x2bb3e0(0x721)](_0x55ca37,_0x1f2657){var _0x1bbb15=_0x2bb3e0;this[_0x1bbb15(0x697)](_0x55ca37,_0x1f2657['x'],_0x1f2657['y'],_0x1f2657['z']);}['setFloat3'](_0x5dcc00,_0x1b0f16,_0x5ba6ba,_0x48c35c){var _0x71a2cd=_0x2bb3e0;this[_0x71a2cd(0x203)]&&this[_0x71a2cd(0x4c0)][_0x5dcc00]&&this['uniformBuffer'][_0x71a2cd(0xc04)](_0x5dcc00,_0x1b0f16,_0x5ba6ba,_0x48c35c);}['setVector4'](_0x4b483a,_0x12823e){var _0xf80e48=_0x2bb3e0;this[_0xf80e48(0x1d0)](_0x4b483a,_0x12823e['x'],_0x12823e['y'],_0x12823e['z'],_0x12823e['w']);}[_0x2bb3e0(0x6a2)](_0x254f2a,_0x174aff){var _0x201e30=_0x2bb3e0;this[_0x201e30(0x1d0)](_0x254f2a,_0x174aff['x'],_0x174aff['y'],_0x174aff['z'],_0x174aff['w']);}[_0x2bb3e0(0x1d0)](_0x40cb1c,_0x5f0a26,_0x1f670b,_0x11dddd,_0xc51678){var _0x1a7cc9=_0x2bb3e0;this[_0x1a7cc9(0x203)]&&this[_0x1a7cc9(0x4c0)][_0x40cb1c]&&this[_0x1a7cc9(0x203)]['updateFloat4'](_0x40cb1c,_0x5f0a26,_0x1f670b,_0x11dddd,_0xc51678);}[_0x2bb3e0(0x7d7)](_0x104763,_0x353310){this['setFloat3'](_0x104763,_0x353310['r'],_0x353310['g'],_0x353310['b']);}['setColor4'](_0x481088,_0x1b23b2,_0x159394){var _0x3236e6=_0x2bb3e0;this[_0x3236e6(0x1d0)](_0x481088,_0x1b23b2['r'],_0x1b23b2['g'],_0x1b23b2['b'],_0x159394);}[_0x2bb3e0(0x717)](_0x5c3fb7,_0x5a47d5){var _0x40e32e=_0x2bb3e0;this[_0x40e32e(0x1d0)](_0x5c3fb7,_0x5a47d5['r'],_0x5a47d5['g'],_0x5a47d5['b'],_0x5a47d5['a']);}[_0x2bb3e0(0xd0f)](){var _0x2821d3;return null==(_0x2821d3=this['sources'])?void 0x0:_0x2821d3['vertex'];}[_0x2bb3e0(0x379)](){var _0x1a15c4=_0x2bb3e0,_0x12a6ca;return null==(_0x12a6ca=this[_0x1a15c4(0x61b)])?void 0x0:_0x12a6ca[_0x1a15c4(0x5dd)];}}},0x16268:(_0x185a98,_0x18cdd3,_0x82b4b0)=>{var _0x4ed074=a7_0x425593;_0x82b4b0['d'](_0x18cdd3,{'t':()=>_0x576e8c});function _0x591491(_0x2d068d,_0x569dd4,_0x14794a,_0x10edb5){return new(_0x14794a=_0x14794a||Promise)(function(_0x3db969,_0x2316c7){var _0x690022=a7_0x5572;function _0x3d1b20(_0x202d8f){try{_0x47d54(_0x10edb5['next'](_0x202d8f));}catch(_0x5e51ca){_0x2316c7(_0x5e51ca);}}function _0x4906bb(_0x48db86){var _0x41eeef=a7_0x5572;try{_0x47d54(_0x10edb5[_0x41eeef(0x1b8)](_0x48db86));}catch(_0xb5740b){_0x2316c7(_0xb5740b);}}function _0x47d54(_0x26959e){var _0x4becee=a7_0x5572,_0x2ff417;_0x26959e['done']?_0x3db969(_0x26959e[_0x4becee(0x8e2)]):((_0x2ff417=_0x26959e['value'])instanceof _0x14794a?_0x2ff417:new _0x14794a(function(_0x160b6d){_0x160b6d(_0x2ff417);}))[_0x4becee(0x37c)](_0x3d1b20,_0x4906bb);}_0x47d54((_0x10edb5=_0x10edb5[_0x690022(0x576)](_0x2d068d,_0x569dd4||[]))[_0x690022(0x291)]());});}var _0x3798fc=_0x82b4b0(0x89a1);class _0x576e8c{constructor(_0x523778,_0x3b8ad2,_0x2b7f9e,_0x3e1a77,_0x5121f4=!0x0){var _0x276c60=a7_0x5572;this['_dstBuffers']=[],this[_0x276c60(0x391)]=_0x2b7f9e,this['_bufferManager']=_0x3e1a77,this[_0x276c60(0x75e)]=_0x523778,this[_0x276c60(0x323)]=_0x5121f4,this[_0x276c60(0x592)]=_0x2b7f9e[_0x276c60(0x69f)]({'type':_0x3b8ad2,'count':_0x523778}),this['_queryBuffer']=_0x3e1a77[_0x276c60(0x4c1)](0x8*_0x523778,_0x3798fc['FB']['QueryResolve']|_0x3798fc['FB'][_0x276c60(0x7dc)]),_0x5121f4||this['_dstBuffers']['push'](this['_bufferManager'][_0x276c60(0x4c1)](0x8*this[_0x276c60(0x75e)],_0x3798fc['FB'][_0x276c60(0x675)]|_0x3798fc['FB']['CopyDst']));}get[_0x4ed074(0x7e8)](){return this['_querySet'];}['_getBuffer'](_0x3e901a,_0x258fb0){var _0x2956ef=_0x4ed074;if(!this[_0x2956ef(0x323)]&&0x0===this[_0x2956ef(0x8dd)][_0x2956ef(0x86e)])return null;const _0x56fc7a=this[_0x2956ef(0x391)][_0x2956ef(0xd34)]();let _0x3f5256;return 0x0===this['_dstBuffers'][_0x2956ef(0x86e)]?_0x3f5256=this['_bufferManager'][_0x2956ef(0x4c1)](0x8*this[_0x2956ef(0x75e)],_0x3798fc['FB'][_0x2956ef(0x675)]|_0x3798fc['FB'][_0x2956ef(0x6b8)]):(_0x3f5256=this[_0x2956ef(0x8dd)][this[_0x2956ef(0x8dd)][_0x2956ef(0x86e)]-0x1],this['_dstBuffers']['length']--),_0x56fc7a[_0x2956ef(0x9fa)](this[_0x2956ef(0x592)],_0x3e901a,_0x258fb0,this[_0x2956ef(0x96f)],0x0),_0x56fc7a['copyBufferToBuffer'](this[_0x2956ef(0x96f)],0x0,_0x3f5256,0x0,0x8*_0x258fb0),this[_0x2956ef(0x391)][_0x2956ef(0xb52)][_0x2956ef(0xa24)]([_0x56fc7a[_0x2956ef(0x77e)]()]),_0x3f5256;}[_0x4ed074(0x82d)](_0x45ebac=0x0,_0x4575c7=0x1){return _0x591491(this,void 0x0,void 0x0,function*(){var _0x1ad3b4=a7_0x5572;const _0x1f6fa0=this[_0x1ad3b4(0xc82)](_0x45ebac,_0x4575c7);if(null===_0x1f6fa0)return null;yield _0x1f6fa0[_0x1ad3b4(0xbba)](_0x3798fc['gc'][_0x1ad3b4(0x86d)]);var _0x1a0409=new BigUint64Array(_0x1f6fa0[_0x1ad3b4(0x998)]())['slice']();return _0x1f6fa0[_0x1ad3b4(0xa6e)](),this[_0x1ad3b4(0x8dd)][this[_0x1ad3b4(0x8dd)][_0x1ad3b4(0x86e)]]=_0x1f6fa0,_0x1a0409;});}[_0x4ed074(0x36b)](_0x1268f3=0x0){return _0x591491(this,void 0x0,void 0x0,function*(){var _0xd7d623=a7_0x5572;const _0x14e972=this['_getBuffer'](_0x1268f3,0x1);if(null===_0x14e972)return null;yield _0x14e972[_0xd7d623(0xbba)](_0x3798fc['gc'][_0xd7d623(0x86d)]);var _0x42b652=new BigUint64Array(_0x14e972[_0xd7d623(0x998)]()),_0x42b652=Number(_0x42b652[0x0]);return _0x14e972[_0xd7d623(0xa6e)](),this[_0xd7d623(0x8dd)][this[_0xd7d623(0x8dd)][_0xd7d623(0x86e)]]=_0x14e972,_0x42b652;});}[_0x4ed074(0x7a3)](_0x467469=0x0){return _0x591491(this,void 0x0,void 0x0,function*(){var _0x3b0ceb=a7_0x5572;const _0x3e8907=this[_0x3b0ceb(0xc82)](_0x467469,0x2);if(null===_0x3e8907)return null;yield _0x3e8907['mapAsync'](_0x3798fc['gc'][_0x3b0ceb(0x86d)]);var _0x3b31d3=new BigUint64Array(_0x3e8907[_0x3b0ceb(0x998)]()),_0x3b31d3=Number(_0x3b31d3[0x1]-_0x3b31d3[0x0]);return _0x3e8907[_0x3b0ceb(0xa6e)](),this['_dstBuffers'][this['_dstBuffers'][_0x3b0ceb(0x86e)]]=_0x3e8907,_0x3b31d3;});}[_0x4ed074(0x1cb)](){var _0x1c2a10=_0x4ed074;this['_querySet'][_0x1c2a10(0x669)](),this['_bufferManager'][_0x1c2a10(0x83d)](this[_0x1c2a10(0x96f)]);for(let _0x29e85c=0x0;_0x29e85c<this['_dstBuffers'][_0x1c2a10(0x86e)];++_0x29e85c)this[_0x1c2a10(0xc2a)][_0x1c2a10(0x83d)](this[_0x1c2a10(0x8dd)][_0x29e85c]);}}},0x7d48:(_0x3e3e8a,_0xc9883d,_0xe5b360)=>{var _0x3f098f=a7_0x425593;_0xe5b360['d'](_0xc9883d,{'B':()=>_0x4b45aa});class _0x4b45aa{constructor(){var _0x37cd50=a7_0x5572;this[_0x37cd50(0x682)]=[],this['reset']();}[_0x3f098f(0x4f4)](_0x4d411c=!0x1){var _0xca7baa=_0x3f098f;this[_0xca7baa(0x2f6)]=null,_0x4d411c&&(this[_0xca7baa(0x290)]=null,this[_0xca7baa(0x65d)]=null,this[_0xca7baa(0x7de)]=null,this[_0xca7baa(0x682)]=[],this['depthTextureFormat']=void 0x0);}}},0x1114f:(_0x4e4d46,_0x3d149a,_0x306610)=>{var _0x2b0019=a7_0x425593;_0x306610['d'](_0x3d149a,{'d':()=>_0x1af09f});const _0x172fc4={'mat2':0x2,'mat3':0x3,'mat4':0x4,'mat2x2':0x2,'mat3x3':0x3,'mat4x4':0x4};class _0x1af09f{constructor(_0x46fc5f){var _0x388801=a7_0x5572;this['shaderLanguage']=_0x46fc5f,this[_0x388801(0xb86)]=0x0,this[_0x388801(0xa5d)]=0x0,this['freeGroupIndex']=0x0,this[_0x388801(0xc4f)]=0x0,this[_0x388801(0xacc)]={},this[_0x388801(0xbfe)]={},this[_0x388801(0x3d8)]={},this['availableTextures']={},this['availableSamplers']={},this[_0x388801(0x931)]=[],this['bindGroupLayoutEntries']=[],this[_0x388801(0xc8b)]=[],this[_0x388801(0x868)]=[],this[_0x388801(0x18e)]=[],this[_0x388801(0xac3)]=[],this['samplerNames']=[],this['leftOverUniforms']=[],this[_0x388801(0xb5e)]();}static get[_0x2b0019(0xa05)](){var _0x317aa4=_0x2b0019;return _0x1af09f[_0x317aa4(0x6f5)]?_0x1af09f[_0x317aa4(0x834)]:_0x1af09f[_0x317aa4(0x38e)];}[_0x2b0019(0xb5e)](){var _0xbc0bfc=_0x2b0019,_0x3c9b8a=_0x1af09f[_0xbc0bfc(0xa05)];const _0x101a51=[];for(const _0x5f38e4 in _0x3c9b8a){var _0x8ed9f9=_0x3c9b8a[_0x5f38e4][_0xbc0bfc(0x378)];-0x1!==_0x8ed9f9['groupIndex']&&(void 0x0===_0x101a51[_0x8ed9f9[_0xbc0bfc(0x621)]]?_0x101a51[_0x8ed9f9['groupIndex']]=_0x8ed9f9['bindingIndex']:_0x101a51[_0x8ed9f9[_0xbc0bfc(0x621)]]=Math['max'](_0x101a51[_0x8ed9f9[_0xbc0bfc(0x621)]],_0x8ed9f9[_0xbc0bfc(0xab7)]));}this[_0xbc0bfc(0xc88)]=_0x101a51['length']-0x1,0x0===this['freeGroupIndex']?(this[_0xbc0bfc(0xc88)]++,this[_0xbc0bfc(0xc4f)]=0x0):this[_0xbc0bfc(0xc4f)]=_0x101a51[_0x101a51['length']-0x1]+0x1;}[_0x2b0019(0x9e1)](_0xd9f3d2,_0x3f2747=0x0){var _0x2fe5a=_0x2b0019,_0x22c3a7=this[_0x2fe5a(0xb86)];return this[_0x2fe5a(0xb86)]+=(null!=(_0xd9f3d2=_0x172fc4[_0xd9f3d2])?_0xd9f3d2:0x1)*(_0x3f2747||0x1),_0x22c3a7;}[_0x2b0019(0xd4e)](_0x5dba3f,_0x3e5695=0x0){var _0x3d9c28=_0x2b0019,_0x3eea37=this[_0x3d9c28(0xa5d)];return this[_0x3d9c28(0xa5d)]+=(null!=(_0x5dba3f=_0x172fc4[_0x5dba3f])?_0x5dba3f:0x1)*(_0x3e5695||0x1),_0x3eea37;}[_0x2b0019(0xb87)](){var _0x598784=_0x2b0019;return this[_0x598784(0xd6c)](0x1);}['_getNextFreeBinding'](_0x56afd5){var _0x5f4639=_0x2b0019;if(this[_0x5f4639(0xc4f)]>0x10000-_0x56afd5&&(this[_0x5f4639(0xc88)]++,this[_0x5f4639(0xc4f)]=0x0),0x4===this[_0x5f4639(0xc88)])throw _0x5f4639(0x707);var _0x3d6b02={'groupIndex':this[_0x5f4639(0xc88)],'bindingIndex':this[_0x5f4639(0xc4f)]};return this['freeBindingIndex']+=_0x56afd5,_0x3d6b02;}}_0x1af09f[_0x2b0019(0x6f5)]=!0x0,_0x1af09f[_0x2b0019(0x834)]={'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}}},_0x1af09f[_0x2b0019(0x38e)]={'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:(_0x43e1dc,_0x2292b8,_0x3dece3)=>{var _0x4c3761=a7_0x425593;_0x3dece3['d'](_0x2292b8,{'e':()=>_0x1f4411});var _0x247254=_0x3dece3(0x11722),_0xf2d462=_0x3dece3(0x89a1),_0x5ac62c=_0x3dece3(0x6214);class _0x1f4411{constructor(){var _0x5409c2=a7_0x5572;this[_0x5409c2(0x811)]=_0x247254['x'][_0x5409c2(0xc1f)];}[_0x4c3761(0x638)](_0x2d1b62,_0x5c86fd,_0x4c341d){var _0x27e1bb=_0x4c3761,_0x4ad8dc=0x0;[_0x2d1b62,_0x5c86fd,_0x4ad8dc]=this[_0x27e1bb(0x9d2)](_0x2d1b62,_0x5c86fd,_0x4c341d);for(let _0x2c99af=0x0;_0x2c99af<this[_0x27e1bb(0x7f1)][_0x27e1bb(0x636)][_0x27e1bb(0x86e)];_0x2c99af++)if(this['_webgpuProcessingContext'][_0x27e1bb(0x636)][_0x2c99af][_0x27e1bb(0xa67)]===_0x2d1b62)return;this[_0x27e1bb(0x7f1)][_0x27e1bb(0x636)][_0x27e1bb(0x303)]({'name':_0x2d1b62,'type':_0x5c86fd,'length':_0x4ad8dc});}[_0x4c3761(0xa1b)](){var _0x48e5e8=_0x4c3761;if(!this[_0x48e5e8(0x7f1)][_0x48e5e8(0x636)][_0x48e5e8(0x86e)])return'';var _0x15720b=_0x1f4411['LeftOvertUBOName'];let _0x1ff977=this[_0x48e5e8(0x7f1)][_0x48e5e8(0x3d8)][_0x15720b];return _0x1ff977||(_0x1ff977={'binding':this[_0x48e5e8(0x7f1)]['getNextFreeUBOBinding']()},this[_0x48e5e8(0x7f1)]['availableBuffers'][_0x15720b]=_0x1ff977,this[_0x48e5e8(0x7bd)](_0x15720b,_0x1ff977,_0xf2d462['Rs']['Uniform'],!0x0),this[_0x48e5e8(0x7bd)](_0x15720b,_0x1ff977,_0xf2d462['Rs'][_0x48e5e8(0x7a2)],!0x1)),this[_0x48e5e8(0x45c)](_0x15720b,_0x1ff977);}[_0x4c3761(0x856)](){var _0x58b723=_0x4c3761;for(let _0x5178cb=0x0;_0x5178cb<this[_0x58b723(0x7f1)]['bindGroupLayoutEntries'][_0x58b723(0x86e)];_0x5178cb++){var _0x3c7a35=this['_webgpuProcessingContext'][_0x58b723(0x582)][_0x5178cb];if(void 0x0===_0x3c7a35)this[_0x58b723(0x7f1)][_0x58b723(0x582)][_0x5178cb]=[];else for(let _0x1b725b=0x0;_0x1b725b<_0x3c7a35[_0x58b723(0x86e)];_0x1b725b++){var _0xc85bbe=this[_0x58b723(0x7f1)]['bindGroupLayoutEntries'][_0x5178cb][_0x1b725b],_0x1d413f=this[_0x58b723(0x7f1)][_0x58b723(0xc8b)][_0x5178cb][_0xc85bbe[_0x58b723(0x378)]][_0x58b723(0xa67)],_0x53150b=this[_0x58b723(0x7f1)][_0x58b723(0xc8b)][_0x5178cb][_0xc85bbe['binding']][_0x58b723(0x9ad)];_0xc85bbe&&(_0xc85bbe[_0x58b723(0x7c5)]||_0xc85bbe[_0x58b723(0x501)]||_0xc85bbe[_0x58b723(0x3a7)]?this[_0x58b723(0x7f1)][_0x58b723(0xac3)][_0x58b723(0x303)](_0x53150b):_0xc85bbe[_0x58b723(0xa0f)]?this[_0x58b723(0x7f1)]['samplerNames'][_0x58b723(0x303)](_0x1d413f):_0xc85bbe[_0x58b723(0x7da)]&&this[_0x58b723(0x7f1)][_0x58b723(0x18e)][_0x58b723(0x303)](_0x1d413f));}}}['_preCreateBindGroupEntries'](){var _0xb6162b=_0x4c3761;const _0x22530c=this[_0xb6162b(0x7f1)][_0xb6162b(0x868)];for(let _0x39b86f=0x0;_0x39b86f<this[_0xb6162b(0x7f1)]['bindGroupLayoutEntries']['length'];_0x39b86f++){var _0x40d9c3=this[_0xb6162b(0x7f1)][_0xb6162b(0x582)][_0x39b86f];const _0x307700=[];for(let _0x19fcb0=0x0;_0x19fcb0<_0x40d9c3['length'];_0x19fcb0++){var _0x5beacc=this[_0xb6162b(0x7f1)][_0xb6162b(0x582)][_0x39b86f][_0x19fcb0];_0x5beacc['sampler']||_0x5beacc[_0xb6162b(0x7c5)]||_0x5beacc[_0xb6162b(0x3a7)]||_0x5beacc[_0xb6162b(0x501)]?_0x307700['push']({'binding':_0x5beacc['binding'],'resource':void 0x0}):_0x5beacc[_0xb6162b(0x7da)]&&_0x307700[_0xb6162b(0x303)]({'binding':_0x5beacc['binding'],'resource':{'buffer':void 0x0,'offset':0x0,'size':0x0}});}_0x22530c[_0x39b86f]=_0x307700;}}[_0x4c3761(0x2b9)](_0x414e48,_0x16d818,_0x1d4bef,_0x200d14,_0xc5ccc9,_0x496bfb){var _0x12fbbb=_0x4c3761;let {groupIndex:_0x5879f2,bindingIndex:_0x61dedf}=_0x16d818[_0x12fbbb(0x649)][_0x1d4bef];this[_0x12fbbb(0x7f1)][_0x12fbbb(0x582)][_0x5879f2]||(this['_webgpuProcessingContext']['bindGroupLayoutEntries'][_0x5879f2]=[],this[_0x12fbbb(0x7f1)]['bindGroupLayoutEntryInfo'][_0x5879f2]=[]),this[_0x12fbbb(0x7f1)]['bindGroupLayoutEntryInfo'][_0x5879f2][_0x61dedf]||(_0xc5ccc9=null===_0x200d14?this['_webgpuProcessingContext'][_0x12fbbb(0x582)][_0x5879f2][_0x12fbbb(0x303)]({'binding':_0x61dedf,'visibility':0x0,'externalTexture':{}}):_0xc5ccc9?this[_0x12fbbb(0x7f1)][_0x12fbbb(0x582)][_0x5879f2]['push']({'binding':_0x61dedf,'visibility':0x0,'storageTexture':{'access':_0xf2d462['Gt'][_0x12fbbb(0x970)],'format':_0xc5ccc9,'viewDimension':_0x200d14}}):this[_0x12fbbb(0x7f1)]['bindGroupLayoutEntries'][_0x5879f2][_0x12fbbb(0x303)]({'binding':_0x61dedf,'visibility':0x0,'texture':{'sampleType':_0x16d818[_0x12fbbb(0x709)],'viewDimension':_0x200d14,'multisampled':!0x1}}),_0x200d14=_0x16d818[_0x12fbbb(0x9bd)]?_0x414e48+_0x1d4bef:_0x414e48,this[_0x12fbbb(0x7f1)][_0x12fbbb(0xc8b)][_0x5879f2][_0x61dedf]={'name':_0x414e48,'index':_0xc5ccc9-0x1,'nameInArrayOfTexture':_0x200d14}),_0x61dedf=this['_webgpuProcessingContext'][_0x12fbbb(0xc8b)][_0x5879f2][_0x61dedf][_0x12fbbb(0x819)],this[_0x12fbbb(0x7f1)][_0x12fbbb(0x582)][_0x5879f2][_0x61dedf][_0x12fbbb(0x55f)]|=_0x496bfb?_0xf2d462['$X']['Vertex']:_0xf2d462['$X'][_0x12fbbb(0x775)];}[_0x4c3761(0x59c)](_0x2000b7,_0x2ce742,_0x48f34d){var _0x3df8a4=_0x4c3761;let {groupIndex:_0x411ad0,bindingIndex:_0x36700c}=_0x2ce742[_0x3df8a4(0x378)];this[_0x3df8a4(0x7f1)]['bindGroupLayoutEntries'][_0x411ad0]||(this[_0x3df8a4(0x7f1)]['bindGroupLayoutEntries'][_0x411ad0]=[],this[_0x3df8a4(0x7f1)]['bindGroupLayoutEntryInfo'][_0x411ad0]=[]),this[_0x3df8a4(0x7f1)][_0x3df8a4(0xc8b)][_0x411ad0][_0x36700c]||(_0x2ce742=this['_webgpuProcessingContext']['bindGroupLayoutEntries'][_0x411ad0][_0x3df8a4(0x303)]({'binding':_0x36700c,'visibility':0x0,'sampler':{'type':_0x2ce742['type']}}),this[_0x3df8a4(0x7f1)][_0x3df8a4(0xc8b)][_0x411ad0][_0x36700c]={'name':_0x2000b7,'index':_0x2ce742-0x1}),_0x36700c=this[_0x3df8a4(0x7f1)]['bindGroupLayoutEntryInfo'][_0x411ad0][_0x36700c][_0x3df8a4(0x819)],this[_0x3df8a4(0x7f1)]['bindGroupLayoutEntries'][_0x411ad0][_0x36700c][_0x3df8a4(0x55f)]|=_0x48f34d?_0xf2d462['$X'][_0x3df8a4(0x179)]:_0xf2d462['$X'][_0x3df8a4(0x775)];}[_0x4c3761(0x7bd)](_0xeef043,_0x4e87c1,_0x3286c6,_0x1b52f4){var _0x31e530=_0x4c3761;let {groupIndex:_0x64fc45,bindingIndex:_0x4677fc}=_0x4e87c1['binding'];this[_0x31e530(0x7f1)][_0x31e530(0x582)][_0x64fc45]||(this['_webgpuProcessingContext'][_0x31e530(0x582)][_0x64fc45]=[],this[_0x31e530(0x7f1)]['bindGroupLayoutEntryInfo'][_0x64fc45]=[]),this[_0x31e530(0x7f1)][_0x31e530(0xc8b)][_0x64fc45][_0x4677fc]||(_0x4e87c1=this[_0x31e530(0x7f1)][_0x31e530(0x582)][_0x64fc45][_0x31e530(0x303)]({'binding':_0x4677fc,'visibility':0x0,'buffer':{'type':_0x3286c6}}),this[_0x31e530(0x7f1)][_0x31e530(0xc8b)][_0x64fc45][_0x4677fc]={'name':_0xeef043,'index':_0x4e87c1-0x1}),_0x4677fc=this[_0x31e530(0x7f1)]['bindGroupLayoutEntryInfo'][_0x64fc45][_0x4677fc][_0x31e530(0x819)],this['_webgpuProcessingContext'][_0x31e530(0x582)][_0x64fc45][_0x4677fc][_0x31e530(0x55f)]|=_0x1b52f4?_0xf2d462['$X']['Vertex']:_0xf2d462['$X'][_0x31e530(0x775)];}['_injectStartingAndEndingCode'](_0x4964b7,_0x3a28bf,_0x5a9e85,_0x295763){var _0x3b09a6=_0x4c3761;let _0x10db95=_0x4964b7['indexOf'](_0x3a28bf);if(_0x10db95<0x0)return _0x5ac62c[_0x3b09a6(0x18c)]('No\x20\x22main\x22\x20function\x20found\x20in\x20shader\x20code!\x20Processing\x20aborted.'),_0x4964b7;if(_0x5a9e85){for(;_0x10db95++<_0x4964b7['length']&&'{'!=_0x4964b7['charAt'](_0x10db95););_0x10db95<_0x4964b7[_0x3b09a6(0x86e)]&&(_0x4964b7=_0x4964b7[_0x3b09a6(0x5e0)](0x0,_0x10db95+0x1)+_0x5a9e85+_0x4964b7[_0x3b09a6(0x5e0)](_0x10db95+0x1));}return _0x295763&&(_0x3a28bf=_0x4964b7['lastIndexOf']('}'),_0x4964b7=_0x4964b7['substring'](0x0,_0x3a28bf),_0x4964b7+=_0x295763+'\x0a}'),_0x4964b7;}}_0x1f4411[_0x4c3761(0x4cf)]='Sampler',_0x1f4411[_0x4c3761(0x374)]='LeftOver',_0x1f4411[_0x4c3761(0x45b)]=_0x4c3761(0x55a),_0x1f4411['UniformSizes']={'bool':0x1,'int':0x1,'float':0x1,'vec2':0x2,'ivec2':0x2,'vec3':0x3,'ivec3':0x3,'vec4':0x4,'ivec4':0x4,'mat2':0x4,'mat3':0xc,'mat4':0x10,'i32':0x1,'u32':0x1,'f32':0x1,'mat2x2':0x4,'mat3x3':0xc,'mat4x4':0x10},_0x1f4411['_SamplerFunctionByWebGLSamplerType']={'sampler2D':'sampler2D','sampler2DArray':_0x4c3761(0xc37),'sampler2DShadow':_0x4c3761(0x7a5),'sampler2DArrayShadow':_0x4c3761(0x904),'samplerCube':_0x4c3761(0xaf5),'sampler3D':_0x4c3761(0x438)},_0x1f4411[_0x4c3761(0xb6f)]={'sampler2D':'texture2D','sampler2DArray':_0x4c3761(0x7ca),'sampler2DShadow':_0x4c3761(0x4f1),'sampler2DArrayShadow':_0x4c3761(0x7ca),'samplerCube':_0x4c3761(0xaf7),'samplerCubeArray':_0x4c3761(0x5d1),'sampler3D':_0x4c3761(0x40a)},_0x1f4411['_GpuTextureViewDimensionByWebGPUTextureType']={'textureCube':_0xf2d462['p_'][_0x4c3761(0x9d8)],'textureCubeArray':_0xf2d462['p_']['CubeArray'],'texture2D':_0xf2d462['p_'][_0x4c3761(0xb9d)],'texture2DArray':_0xf2d462['p_'][_0x4c3761(0x80f)],'texture3D':_0xf2d462['p_']['E3d']},_0x1f4411[_0x4c3761(0xa6b)]={'sampler2DShadow':'samplerShadow','sampler2DArrayShadow':'samplerShadow'},_0x1f4411['_IsComparisonSamplerByWebGPUSamplerType']={'samplerShadow':!0x0,'samplerArrayShadow':!0x0,'sampler':!0x1};},0x3a2d:(_0x246929,_0x53ecff,_0x2c1c7d)=>{var _0x226aef=a7_0x425593;_0x2c1c7d['d'](_0x53ecff,{'s':()=>_0x4ceb46});var _0x2e319a=_0x2c1c7d(0x1114f),_0x320fdb=_0x2c1c7d(0x89a1),_0x3c6005=_0x2c1c7d(0x10ea4),_0xa91928=_0x2c1c7d(0xe83b),_0x2e4994=_0x2c1c7d(0x11722);class _0x4ceb46 extends _0xa91928['e']{constructor(){var _0x17e4e3=a7_0x5572;super(...arguments),this['_missingVaryings']=[],this[_0x17e4e3(0x563)]=[],this[_0x17e4e3(0x453)]=!0x1,this[_0x17e4e3(0x73f)]=!0x1,this['shaderLanguage']=_0x2e4994['x'][_0x17e4e3(0xc1f)],this[_0x17e4e3(0x4d2)]=!0x0;}['_getArraySize'](_0x128770,_0xeda31a,_0x56fd6d){var _0x252627=a7_0x5572;let _0x35ba3f=0x0;var _0xff7b86=_0x128770['indexOf']('['),_0x162776=_0x128770[_0x252627(0x9a3)](']');if(0x0<_0xff7b86&&0x0<_0x162776){const _0x471369=_0x128770['substring'](_0xff7b86+0x1,_0x162776);_0x35ba3f=+_0x471369,isNaN(_0x35ba3f)&&(_0x35ba3f=+_0x56fd6d[_0x471369[_0x252627(0xbe2)]()]),_0x128770=_0x128770['substr'](0x0,_0xff7b86);}return[_0x128770,_0xeda31a,_0x35ba3f];}[_0x226aef(0x3f3)](_0x2d70b3){var _0x381af4=_0x226aef;this[_0x381af4(0x7f1)]=_0x2d70b3,this[_0x381af4(0x950)][_0x381af4(0x86e)]=0x0,this['_textureArrayProcessing']['length']=0x0,this['attributeKeywordName']=void 0x0,this[_0x381af4(0xd1f)]=void 0x0,this['varyingFragmentKeywordName']=void 0x0;}[_0x226aef(0xa6c)](_0x430242,_0xecb70f){var _0xfce88=_0x226aef,_0x4e7f65=_0xfce88(0xc90)+_0xa91928['e'][_0xfce88(0x45b)]+_0xfce88(0xb93),_0x18f77f=-0x1!==_0x430242[_0xfce88(0x9a3)](_0xfce88(0xd3f));return _0xecb70f?(this[_0xfce88(0x73f)]=-0x1!==_0x430242[_0xfce88(0x9a3)](_0xfce88(0x68b)),this['_fragmentIsGLES3']&&(this[_0xfce88(0xc0d)]='in'),_0x18f77f?_0x430242:_0x4e7f65+_0xfce88(0x425)+_0x430242):(this['_vertexIsGLES3']=-0x1!==_0x430242['indexOf'](_0xfce88(0x68b)),this[_0xfce88(0x453)]&&(this[_0xfce88(0x353)]='in',this['varyingVertexKeywordName']=_0xfce88(0xbf6)),_0x18f77f?_0x430242:_0x4e7f65+_0x430242);}[_0x226aef(0x91d)](_0xbb243b,_0x3d292a,_0x3f2f68){var _0x402b34=_0x226aef;this[_0x402b34(0x9ca)]=_0x3f2f68;const _0x46527e=_0x3d292a&&this[_0x402b34(0x73f)]?/\s*in\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s+(\S+)\s*;/gm:!_0x3d292a&&this['_vertexIsGLES3']?/\s*out\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s+(\S+)\s*;/gm:/\s*varying\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s+(\S+)\s*;/gm;var _0x272a95=_0x46527e[_0x402b34(0x169)](_0xbb243b);if(null!==_0x272a95){var _0x4eb0f5=_0x272a95[0x1],_0x5ed8a5=_0x272a95[0x2];let _0x3d27bb;_0x3d292a?(_0x3d27bb=this[_0x402b34(0x7f1)][_0x402b34(0xacc)][_0x5ed8a5],this[_0x402b34(0x950)][_0x3d27bb]='',void 0x0===_0x3d27bb&&_0x3c6005['Y'][_0x402b34(0xcb2)](_0x402b34(0xa08)+_0x5ed8a5+_0x402b34(0x271))):(_0x3d27bb=this[_0x402b34(0x7f1)]['getVaryingNextLocation'](_0x4eb0f5,this['_getArraySize'](_0x5ed8a5,_0x4eb0f5,_0x3f2f68)[0x2]),this['_webgpuProcessingContext'][_0x402b34(0xacc)][_0x5ed8a5]=_0x3d27bb,this['_missingVaryings'][_0x3d27bb]='layout(location\x20=\x20'+_0x3d27bb+')\x20in\x20'+_0x4eb0f5+'\x20'+_0x5ed8a5+';'),_0xbb243b=_0xbb243b[_0x402b34(0x8fd)](_0x272a95[0x0],void 0x0===_0x3d27bb?'':_0x402b34(0x97e)+_0x3d27bb+')\x20'+(_0x3d292a?'in':_0x402b34(0xbf6))+'\x20'+_0x4eb0f5+'\x20'+_0x5ed8a5+';');}return _0xbb243b;}['attributeProcessor'](_0x217e7a,_0x298cab){var _0x50190e=_0x226aef;this[_0x50190e(0x9ca)]=_0x298cab;const _0x1f2b71=this[_0x50190e(0x453)]?/\s*in\s+(\S+)\s+(\S+)\s*;/gm:/\s*attribute\s+(\S+)\s+(\S+)\s*;/gm;var _0x1c19ca,_0x4715d0,_0x538c8d=_0x1f2b71['exec'](_0x217e7a);return null!==_0x538c8d&&(_0x1c19ca=_0x538c8d[0x1],_0x4715d0=_0x538c8d[0x2],_0x298cab=this[_0x50190e(0x7f1)][_0x50190e(0x9e1)](_0x1c19ca,this[_0x50190e(0x9d2)](_0x4715d0,_0x1c19ca,_0x298cab)[0x2]),this['_webgpuProcessingContext']['availableAttributes'][_0x4715d0]=_0x298cab,this['_webgpuProcessingContext']['orderedAttributes'][_0x298cab]=_0x4715d0,_0x217e7a=_0x217e7a[_0x50190e(0x8fd)](_0x538c8d[0x0],_0x50190e(0x97e)+_0x298cab+_0x50190e(0x3c1)+_0x1c19ca+'\x20'+_0x4715d0+';')),_0x217e7a;}[_0x226aef(0x2e4)](_0x3f1869,_0x4c7d85,_0x52c886){var _0xa72047=_0x226aef;this[_0xa72047(0x9ca)]=_0x52c886;var _0x49ce23=/\s*uniform\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s+(\S+)\s*;/gm[_0xa72047(0x169)](_0x3f1869);if(null!==_0x49ce23){let _0x16120e=_0x49ce23[0x1],_0x2ff5f5=_0x49ce23[0x2];if(0x0===_0x16120e['indexOf'](_0xa72047(0xa0f))||0x1===_0x16120e[_0xa72047(0x9a3)](_0xa72047(0xa0f))){let _0x579d53=0x0,_0x307ce0=([_0x2ff5f5,_0x16120e,_0x579d53]=this[_0xa72047(0x9d2)](_0x2ff5f5,_0x16120e,_0x52c886),this[_0xa72047(0x7f1)][_0xa72047(0x4dc)][_0x2ff5f5]);if(!_0x307ce0){_0x307ce0={'autoBindSampler':!0x0,'isTextureArray':0x0<_0x579d53,'isStorageTexture':!0x1,'textures':[],'sampleType':_0x320fdb['oD'][_0xa72047(0x547)]};for(let _0x3044d7=0x0;_0x3044d7<(_0x579d53||0x1);++_0x3044d7)_0x307ce0[_0xa72047(0x649)][_0xa72047(0x303)](this[_0xa72047(0x7f1)][_0xa72047(0xb87)]());}var _0x49ce23=null!=(_0x49ce23=_0xa91928['e'][_0xa72047(0xa6b)][_0x16120e])?_0x49ce23:_0xa72047(0xa0f),_0x192f51=!!_0xa91928['e'][_0xa72047(0xb03)][_0x49ce23],_0x4ae954=_0x192f51?_0x320fdb['dV']['Comparison']:_0x320fdb['dV'][_0xa72047(0xb7b)],_0x526887=_0x2ff5f5+_0xa91928['e'][_0xa72047(0x4cf)],_0x4ae954=this[_0xa72047(0x7f1)][_0xa72047(0x204)][_0x526887]||{'binding':this[_0xa72047(0x7f1)][_0xa72047(0xb87)](),'type':_0x4ae954},_0x213cab='u'===_0x16120e[_0xa72047(0x8bc)](0x0)?'u':'i'===_0x16120e[_0xa72047(0x8bc)](0x0)?'i':'',_0x192f51=(_0x213cab&&(_0x16120e=_0x16120e['substr'](0x1)),_0x192f51?_0x320fdb['oD']['Depth']:'u'==_0x213cab?_0x320fdb['oD'][_0xa72047(0x817)]:'i'==_0x213cab?_0x320fdb['oD'][_0xa72047(0x47c)]:_0x320fdb['oD'][_0xa72047(0x547)]),_0x192f51=(_0x307ce0['sampleType']=_0x192f51,0x0<_0x579d53),_0x48e371=_0x4ae954['binding'][_0xa72047(0x621)],_0x26da37=_0x4ae954['binding'][_0xa72047(0xab7)],_0x3fb781=_0xa91928['e'][_0xa72047(0x7ea)][_0x16120e],_0x13b772=_0xa91928['e'][_0xa72047(0xb6f)][_0x16120e],_0x35186b=_0xa91928['e'][_0xa72047(0x191)][_0x13b772];if(_0x192f51){const _0x3b2c87=[];_0x3b2c87[_0xa72047(0x303)](_0xa72047(0x770)+_0x48e371+_0xa72047(0x799)+_0x26da37+')\x20uniform\x20'+_0x213cab+_0x49ce23+'\x20'+_0x526887+';'),_0x3f1869='\x0d\x0a';for(let _0x3c4f30=0x0;_0x3c4f30<_0x579d53;++_0x3c4f30){var _0x85a6a4=_0x307ce0[_0xa72047(0x649)][_0x3c4f30][_0xa72047(0x621)],_0x4ec329=_0x307ce0[_0xa72047(0x649)][_0x3c4f30]['bindingIndex'];_0x3b2c87[_0xa72047(0x303)](_0xa72047(0x770)+_0x85a6a4+_0xa72047(0x799)+_0x4ec329+_0xa72047(0x6ad)+_0x13b772+'\x20'+_0x2ff5f5+'Texture'+_0x3c4f30+';'),_0x3f1869+=(0x0<_0x3c4f30?'\x0d\x0a':'')+_0xa72047(0x208)+_0x2ff5f5+_0x3c4f30+'\x20'+_0x213cab+_0x3fb781+'('+_0x2ff5f5+_0xa72047(0x46a)+_0x3c4f30+',\x20'+_0x526887+')';}_0x3f1869=_0x3b2c87[_0xa72047(0xa94)]('\x0d\x0a')+_0x3f1869,this['_textureArrayProcessing']['push'](_0x2ff5f5);}else _0x579d53=0x1,_0x3f1869=_0xa72047(0x770)+_0x48e371+_0xa72047(0x799)+_0x26da37+_0xa72047(0x6ad)+_0x213cab+_0x49ce23+'\x20'+_0x526887+_0xa72047(0x933)+_0x307ce0['textures'][0x0][_0xa72047(0x621)]+',\x20binding\x20=\x20'+_0x307ce0[_0xa72047(0x649)][0x0]['bindingIndex']+_0xa72047(0x6ad)+_0x13b772+'\x20'+_0x2ff5f5+_0xa72047(0xae3)+_0x2ff5f5+'\x20'+_0x213cab+_0x3fb781+'('+_0x2ff5f5+'Texture,\x20'+_0x526887+')';this[_0xa72047(0x7f1)]['availableTextures'][_0x2ff5f5]=_0x307ce0,this['_webgpuProcessingContext'][_0xa72047(0x204)][_0x526887]=_0x4ae954,this['_addSamplerBindingDescription'](_0x526887,_0x4ae954,!_0x4c7d85);for(let _0x4517a7=0x0;_0x4517a7<_0x579d53;++_0x4517a7)this[_0xa72047(0x2b9)](_0x2ff5f5,_0x307ce0,_0x4517a7,_0x35186b,null,!_0x4c7d85);}else this[_0xa72047(0x638)](_0x2ff5f5,_0x16120e,_0x52c886),_0x3f1869='';}return _0x3f1869;}['uniformBufferProcessor'](_0x51ea20,_0x2a278c){var _0x2047db=_0x226aef,_0x41a737=/uniform\s+(\w+)/gm['exec'](_0x51ea20);if(null!==_0x41a737){var _0x4e34da,_0x41a737=_0x41a737[0x1];let _0x40c5c9=this['_webgpuProcessingContext'][_0x2047db(0x3d8)][_0x41a737];_0x40c5c9||(_0x4e34da=(_0x4e34da=_0x2e319a['d']['KnownUBOs'][_0x41a737])&&-0x1!==_0x4e34da[_0x2047db(0x378)][_0x2047db(0x621)]?_0x4e34da['binding']:this['_webgpuProcessingContext'][_0x2047db(0xb87)](),_0x40c5c9={'binding':_0x4e34da},this[_0x2047db(0x7f1)][_0x2047db(0x3d8)][_0x41a737]=_0x40c5c9),this[_0x2047db(0x7bd)](_0x41a737,_0x40c5c9,_0x320fdb['Rs'][_0x2047db(0x7a2)],!_0x2a278c),_0x51ea20=_0x51ea20['replace'](_0x2047db(0x927),_0x2047db(0x770)+_0x40c5c9[_0x2047db(0x378)][_0x2047db(0x621)]+_0x2047db(0x799)+_0x40c5c9['binding'][_0x2047db(0xab7)]+_0x2047db(0x383));}return _0x51ea20;}['postProcessor'](_0x437130,_0x2ed0da,_0x50348e,_0x445e4d,_0x1e8828){var _0x55ac89=_0x226aef,_0x1db249=-0x1!==_0x437130[_0x55ac89(0x5b1)](/#extension.+GL_EXT_draw_buffers.+require/);if(_0x437130=(_0x437130=_0x437130['replace'](/#extension.+(GL_OVR_multiview2|GL_OES_standard_derivatives|GL_EXT_shader_texture_lod|GL_EXT_frag_depth|GL_EXT_draw_buffers).+(enable|require)/g,''))[_0x55ac89(0x8fd)](/texture2D\s*\(/g,_0x55ac89(0x6e7)),_0x50348e){var _0x1ad720,_0x366c09=0x0<=_0x437130[_0x55ac89(0x9a3)]('gl_FragCoord'),_0x344ca6=_0x366c09?_0x55ac89(0x1fc):'';_0x437130=(_0x437130=(_0x437130=(_0x437130=(_0x437130=(_0x437130=(_0x437130=_0x437130[_0x55ac89(0x8fd)](/texture2DLodEXT\s*\(/g,_0x55ac89(0x223)))[_0x55ac89(0x8fd)](/textureCubeLodEXT\s*\(/g,_0x55ac89(0x223)))[_0x55ac89(0x8fd)](/textureCube\s*\(/g,_0x55ac89(0x6e7)))['replace'](/gl_FragDepthEXT/g,_0x55ac89(0xa5c)))[_0x55ac89(0x8fd)](/gl_FragColor/g,_0x55ac89(0x5fa)))[_0x55ac89(0x8fd)](/gl_FragData/g,_0x55ac89(0x1ca)))[_0x55ac89(0x8fd)](/gl_FragCoord/g,_0x55ac89(0xc3b)),this['_fragmentIsGLES3']?null!==(_0x1ad720=/^\s*out\s+\S+\s+\S+\s*;/gm[_0x55ac89(0x169)](_0x437130))&&(_0x437130=_0x437130[_0x55ac89(0x5e0)](0x0,_0x1ad720[_0x55ac89(0x819)])+_0x55ac89(0x69a)+_0x437130[_0x55ac89(0x5e0)](_0x1ad720[_0x55ac89(0x819)])):_0x437130=_0x437130[_0x55ac89(0x8fd)](/void\s+?main\s*\(/g,(_0x1db249?'':_0x55ac89(0x9b4))+_0x55ac89(0x906)),_0x437130=(_0x437130=_0x437130[_0x55ac89(0x8fd)](/dFdy/g,'(-yFactor_)*dFdy'))[_0x55ac89(0x8fd)](_0x55ac89(0x3e0),_0x344ca6),_0x366c09&&(_0x437130=this[_0x55ac89(0x7dd)](_0x437130,'void\x20main','\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'));}else{if(_0x437130=(_0x437130=_0x437130['replace'](/gl_InstanceID/g,'gl_InstanceIndex'))[_0x55ac89(0x8fd)](/gl_VertexID/g,_0x55ac89(0xc74)),-0x1!==_0x2ed0da['indexOf'](_0x55ac89(0x676)))return _0x55ac89(0x66d)+_0x437130;}return _0x50348e||(_0x1ad720=_0x437130[_0x55ac89(0x894)]('}'),_0x437130=_0x437130[_0x55ac89(0x5e0)](0x0,_0x1ad720),_0x437130+=_0x55ac89(0x8b6),_0x1e8828[_0x55ac89(0xaa5)]||(_0x437130+=_0x55ac89(0xb08)),_0x437130+='}'),_0x437130;}[_0x226aef(0x769)](_0x54a595,_0x2b720c){var _0x4c78d2=_0x226aef;const _0x1a0c39=new RegExp(_0x2b720c+_0x4c78d2(0x286),'gm');let _0x1f5398=_0x1a0c39[_0x4c78d2(0x169)](_0x54a595);for(;null!==_0x1f5398;){const _0x585eb0=_0x1f5398[0x1];let _0x2fa6ec=+_0x585eb0;this[_0x4c78d2(0x9ca)]&&isNaN(_0x2fa6ec)&&(_0x2fa6ec=+this[_0x4c78d2(0x9ca)][_0x585eb0[_0x4c78d2(0xbe2)]()]),_0x54a595=_0x54a595[_0x4c78d2(0x8fd)](_0x1f5398[0x0],_0x2b720c+_0x2fa6ec),_0x1f5398=_0x1a0c39[_0x4c78d2(0x169)](_0x54a595);}return _0x54a595;}[_0x226aef(0x45c)](_0x532d02,_0x4460ab){var _0x1a0235=_0x226aef;let _0x58b85d=_0x1a0235(0x770)+_0x4460ab['binding'][_0x1a0235(0x621)]+_0x1a0235(0x799)+_0x4460ab[_0x1a0235(0x378)][_0x1a0235(0xab7)]+')\x20uniform\x20'+_0x532d02+_0x1a0235(0x59a);for(const _0x41a34e of this[_0x1a0235(0x7f1)][_0x1a0235(0x636)])0x0<_0x41a34e[_0x1a0235(0x86e)]?_0x58b85d+='\x20\x20\x20\x20'+_0x41a34e['type']+'\x20'+_0x41a34e[_0x1a0235(0xa67)]+'['+_0x41a34e[_0x1a0235(0x86e)]+'];\x0a':_0x58b85d+=_0x1a0235(0x8b1)+_0x41a34e[_0x1a0235(0x395)]+'\x20'+_0x41a34e['name']+';\x0a';return _0x58b85d+=_0x1a0235(0xa5f);}[_0x226aef(0x4b7)](_0x42bb9c,_0x192c17){var _0x287afa=_0x226aef;for(let _0x1bd7e7=0x0;_0x1bd7e7<this[_0x287afa(0x563)][_0x287afa(0x86e)];++_0x1bd7e7){var _0x2586b1=this[_0x287afa(0x563)][_0x1bd7e7];_0x42bb9c=this[_0x287afa(0x769)](_0x42bb9c,_0x2586b1),_0x192c17=this['_applyTextureArrayProcessing'](_0x192c17,_0x2586b1);}for(let _0x237086=0x0;_0x237086<this['_missingVaryings'][_0x287afa(0x86e)];++_0x237086){var _0x1a4bb2=this['_missingVaryings'][_0x237086];_0x1a4bb2&&0x0<_0x1a4bb2['length']&&(_0x192c17=_0x1a4bb2+'\x0a'+_0x192c17);}var _0x2daea5=this[_0x287afa(0xa1b)]();return _0x42bb9c=_0x2daea5+_0x42bb9c,_0x192c17=_0x2daea5+_0x192c17,this[_0x287afa(0x856)](),this[_0x287afa(0x62e)](),this['_preProcessors']=null,{'vertexCode':_0x42bb9c,'fragmentCode':_0x192c17};}}},0x1577e:(_0x31d49b,_0x5b42fa,_0x11e085)=>{var _0x3078b1=a7_0x425593;_0x11e085['d'](_0x5b42fa,{'o':()=>_0x1f9ccf});var _0x13a8b4=_0x11e085(0x1114f),_0x15d66b=_0x11e085(0x89a1),_0x5373bf=_0x11e085(0x10ea4),_0x1e7888=_0x11e085(0xe83b),_0x47dbb8=_0x11e085(0x75be),_0x5b42fa=_0x11e085(0x17a92),_0x34dcd4=(_0x5b42fa['v'][_0x3078b1(0x3f0)][_0x3078b1(0x643)]=_0x3078b1(0x733),_0x5b42fa['v']['IncludesShadersStoreWGSL'][_0x3078b1(0x8e7)]=_0x3078b1(0x9d5),_0x5b42fa['v'][_0x3078b1(0x3f0)][_0x3078b1(0xd12)]=_0x3078b1(0x178),_0x5b42fa['v'][_0x3078b1(0x3f0)][_0x3078b1(0x46c)]='#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<f32>;\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',_0x5b42fa['v'][_0x3078b1(0x3f0)][_0x3078b1(0x9bb)]=_0x3078b1(0x26d),_0x5b42fa['v'][_0x3078b1(0x3f0)][_0x3078b1(0x7ce)]=_0x3078b1(0xa01),_0x5b42fa['v'][_0x3078b1(0x3f0)][_0x3078b1(0x1d7)]=_0x3078b1(0x22e),_0x5b42fa['v']['IncludesShadersStoreWGSL'][_0x3078b1(0x36d)]=_0x3078b1(0x61a),_0x5b42fa['v'][_0x3078b1(0x3f0)][_0x3078b1(0xab6)]='#ifdef\x20INSTANCES\x0aattribute\x20world0\x20:\x20vec4<f32>;\x0aattribute\x20world1\x20:\x20vec4<f32>;\x0aattribute\x20world2\x20:\x20vec4<f32>;\x0aattribute\x20world3\x20:\x20vec4<f32>;\x0a#ifdef\x20INSTANCESCOLOR\x0aattribute\x20instanceColor\x20:\x20vec4<f32>;\x0a#endif\x0a#if\x20defined(THIN_INSTANCES)\x20&&\x20!defined(WORLD_UBO)\x0auniform\x20world\x20:\x20mat4x4<f32>;\x0a#endif\x0a#if\x20defined(VELOCITY)\x20||\x20defined(PREPASS_VELOCITY)\x0aattribute\x20previousWorld0\x20:\x20vec4<f32>;\x0aattribute\x20previousWorld1\x20:\x20vec4<f32>;\x0aattribute\x20previousWorld2\x20:\x20vec4<f32>;\x0aattribute\x20previousWorld3\x20:\x20vec4<f32>;\x0a#ifdef\x20THIN_INSTANCES\x0auniform\x20previousWorld\x20:\x20mat4x4<f32>;\x0a#endif\x0a#endif\x0a#else\x0a#if\x20!defined(WORLD_UBO)\x0auniform\x20world\x20:\x20mat4x4<f32>;\x0a#endif\x0a#if\x20defined(VELOCITY)\x20||\x20defined(PREPASS_VELOCITY)\x0auniform\x20previousWorld\x20:\x20mat4x4<f32>;\x0a#endif\x0a#endif\x0a',_0x5b42fa['v'][_0x3078b1(0x3f0)][_0x3078b1(0x531)]=_0x3078b1(0x54d),_0x5b42fa['v'][_0x3078b1(0x3f0)][_0x3078b1(0x367)]=_0x3078b1(0x946),_0x5b42fa['v']['IncludesShadersStoreWGSL'][_0x3078b1(0xb95)]=_0x3078b1(0xa4f),_0x5b42fa['v'][_0x3078b1(0x3f0)][_0x3078b1(0x371)]='#ifdef\x20MORPHTARGETS\x0a#ifndef\x20MORPHTARGETS_TEXTURE\x0aattribute\x20position{X}\x20:\x20vec3<f32>;\x0a#ifdef\x20MORPHTARGETS_NORMAL\x0aattribute\x20normal{X}\x20:\x20vec3<f32>;\x0a#endif\x0a#ifdef\x20MORPHTARGETS_TANGENT\x0aattribute\x20tangent{X}\x20:\x20vec3<f32>;\x0a#endif\x0a#ifdef\x20MORPHTARGETS_UV\x0aattribute\x20uv_{X}\x20:\x20vec2<f32>;\x0a#endif\x0a#endif\x0a#endif\x0a',_0x5b42fa['v'][_0x3078b1(0x3f0)][_0x3078b1(0x594)]='#ifdef\x20MORPHTARGETS\x0a#ifdef\x20MORPHTARGETS_TEXTURE\x0avar\x20vertexID\x20:\x20f32;\x0a#endif\x0a#endif\x0a',_0x5b42fa['v'][_0x3078b1(0x3f0)][_0x3078b1(0x599)]='#ifdef\x20MORPHTARGETS\x0auniform\x20morphTargetInfluences\x20:\x20array<f32,NUM_MORPH_INFLUENCERS>;\x0a#ifdef\x20MORPHTARGETS_TEXTURE\x20\x0auniform\x20morphTargetTextureIndices\x20:\x20array<f32,NUM_MORPH_INFLUENCERS>;\x0auniform\x20morphTargetTextureInfo\x20:\x20vec3<f32>;\x0avar\x20morphTargets\x20:\x20texture_2d_array<f32>;\x0avar\x20morphTargetsSampler\x20:\x20sampler;\x0afn\x20readVector3FromRawSampler(targetIndex\x20:\x20i32,vertexIndex\x20:\x20f32)->vec3<f32>\x0a{\x20\x0alet\x20y=floor(vertexIndex/uniforms.morphTargetTextureInfo.y);\x0alet\x20x=vertexIndex-y*uniforms.morphTargetTextureInfo.y;\x0alet\x20textureUV=vec2<f32>((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',_0x5b42fa['v']['IncludesShadersStoreWGSL'][_0x3078b1(0x1ee)]=_0x3078b1(0x19d),_0x11e085(0x11722));const _0xfeeb65=_0x3078b1(0x8cb),_0x242419={'texture_1d':_0x15d66b['p_']['E1d'],'texture_2d':_0x15d66b['p_']['E2d'],'texture_2d_array':_0x15d66b['p_'][_0x3078b1(0x80f)],'texture_3d':_0x15d66b['p_'][_0x3078b1(0x6c9)],'texture_cube':_0x15d66b['p_'][_0x3078b1(0x9d8)],'texture_cube_array':_0x15d66b['p_'][_0x3078b1(0xadc)],'texture_multisampled_2d':_0x15d66b['p_'][_0x3078b1(0xb9d)],'texture_depth_2d':_0x15d66b['p_'][_0x3078b1(0xb9d)],'texture_depth_2d_array':_0x15d66b['p_'][_0x3078b1(0x80f)],'texture_depth_cube':_0x15d66b['p_'][_0x3078b1(0x9d8)],'texture_depth_cube_array':_0x15d66b['p_'][_0x3078b1(0xadc)],'texture_depth_multisampled_2d':_0x15d66b['p_']['E2d'],'texture_storage_1d':_0x15d66b['p_'][_0x3078b1(0x500)],'texture_storage_2d':_0x15d66b['p_'][_0x3078b1(0xb9d)],'texture_storage_2d_array':_0x15d66b['p_'][_0x3078b1(0x80f)],'texture_storage_3d':_0x15d66b['p_'][_0x3078b1(0x6c9)],'texture_external':null};class _0x1f9ccf extends _0x1e7888['e']{constructor(){var _0x7a5d48=_0x3078b1;super(...arguments),this[_0x7a5d48(0x811)]=_0x34dcd4['x'][_0x7a5d48(0x4d7)],this['uniformRegexp']=/uniform\s+(\w+)\s*:\s*(.+)\s*;/,this[_0x7a5d48(0xac5)]=/var\s+(\w+)\s*:\s*((array<\s*)?(texture_\w+)\s*(<\s*(.+)\s*>)?\s*(,\s*\w+\s*>\s*)?);/,this[_0x7a5d48(0x320)]=!0x0;}[_0x3078b1(0x9d2)](_0x3477c5,_0x5f24e9,_0x338c9b){var _0x40ffe7=_0x3078b1;let _0x173a27=0x0;var _0x269db6=_0x5f24e9[_0x40ffe7(0x894)]('>');if(0x0<=_0x5f24e9['indexOf'](_0x40ffe7(0x2e2))&&0x0<_0x269db6){let _0x48546b=_0x269db6;for(;0x0<_0x48546b&&'\x20'!==_0x5f24e9['charAt'](_0x48546b)&&','!==_0x5f24e9[_0x40ffe7(0x8bc)](_0x48546b);)_0x48546b--;const _0x24695b=_0x5f24e9[_0x40ffe7(0x5e0)](_0x48546b+0x1,_0x269db6);for(_0x173a27=+_0x24695b,isNaN(_0x173a27)&&(_0x173a27=+_0x338c9b[_0x24695b[_0x40ffe7(0xbe2)]()]);0x0<_0x48546b&&('\x20'===_0x5f24e9[_0x40ffe7(0x8bc)](_0x48546b)||','===_0x5f24e9[_0x40ffe7(0x8bc)](_0x48546b));)_0x48546b--;_0x5f24e9=_0x5f24e9[_0x40ffe7(0x5e0)](_0x5f24e9[_0x40ffe7(0x9a3)]('<')+0x1,_0x48546b+0x1);}return[_0x3477c5,_0x5f24e9,_0x173a27];}[_0x3078b1(0x3f3)](_0x126f99){var _0x566628=_0x3078b1;this[_0x566628(0x7f1)]=_0x126f99,this[_0x566628(0xa0e)]=[],this['_varyingsWGSL']=[],this['_varyingNamesWGSL']=[],this[_0x566628(0x4a8)]=[];}['preProcessShaderCode'](_0x2bea29){var _0x1fd5c4=_0x3078b1;return'struct\x20'+_0x1e7888['e'][_0x1fd5c4(0x45b)]+'\x20{\x0a\x20\x20yFactor_:\x20f32,\x0a\x20\x20textureOutputHeight_:\x20f32,\x0a};\x0avar<uniform>\x20internals\x20:\x20'+_0x1e7888['e'][_0x1fd5c4(0x45b)]+';\x0a'+(0x0,_0x47dbb8['Kt'])(_0x2bea29);}[_0x3078b1(0x91d)](_0x3c4a34,_0x1f579c,_0x3ba4ca){var _0x44adfa=_0x3078b1,_0x8743c9=/\s*varying\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s*:\s*(.+)\s*;/gm[_0x44adfa(0x169)](_0x3c4a34);if(null!==_0x8743c9){var _0x13d4ea=_0x8743c9[0x2],_0x8743c9=_0x8743c9[0x1];let _0x370cb0;_0x1f579c?void 0x0===(_0x370cb0=this['_webgpuProcessingContext']['availableVaryings'][_0x8743c9])&&_0x5373bf['Y'][_0x44adfa(0xcb2)](_0x44adfa(0xa08)+_0x8743c9+_0x44adfa(0x271)):(_0x370cb0=this[_0x44adfa(0x7f1)][_0x44adfa(0xd4e)](_0x13d4ea,this['_getArraySize'](_0x8743c9,_0x13d4ea,_0x3ba4ca)[0x2]),this['_webgpuProcessingContext'][_0x44adfa(0xacc)][_0x8743c9]=_0x370cb0,this['_varyingsWGSL']['push'](_0x44adfa(0xa0d)+_0x370cb0+')\x20'+_0x8743c9+'\x20:\x20'+_0x13d4ea+','),this['_varyingNamesWGSL'][_0x44adfa(0x303)](_0x8743c9)),_0x3c4a34='';}return _0x3c4a34;}['attributeProcessor'](_0x7c9234,_0x53b6ab){var _0x30f2b4=_0x3078b1,_0x125c6b,_0x674870=/\s*attribute\s+(\S+)\s*:\s*(.+)\s*;/gm[_0x30f2b4(0x169)](_0x7c9234);return null!==_0x674870&&(_0x125c6b=_0x674870[0x2],_0x674870=_0x674870[0x1],_0x53b6ab=this['_webgpuProcessingContext'][_0x30f2b4(0x9e1)](_0x125c6b,this[_0x30f2b4(0x9d2)](_0x674870,_0x125c6b,_0x53b6ab)[0x2]),this[_0x30f2b4(0x7f1)][_0x30f2b4(0xbfe)][_0x674870]=_0x53b6ab,this[_0x30f2b4(0x7f1)][_0x30f2b4(0x931)][_0x53b6ab]=_0x674870,this[_0x30f2b4(0xa0e)]['push'](_0x30f2b4(0xcbc)+_0x53b6ab+')\x20'+_0x674870+_0x30f2b4(0xc70)+_0x125c6b+','),_0x7c9234=''),_0x7c9234;}[_0x3078b1(0x2e4)](_0x3c0aa9,_0x34aa00,_0x669f1a){var _0x10eb6b=_0x3078b1,_0x50686a,_0x1207c9=this[_0x10eb6b(0x974)][_0x10eb6b(0x169)](_0x3c0aa9);return null!==_0x1207c9&&(_0x50686a=_0x1207c9[0x2],_0x1207c9=_0x1207c9[0x1],this[_0x10eb6b(0x638)](_0x1207c9,_0x50686a,_0x669f1a),_0x3c0aa9=''),_0x3c0aa9;}[_0x3078b1(0xd6e)](_0x2bfb55,_0x333fb6,_0x590481){var _0x4625b9=_0x3078b1,_0x1f1c1f=this[_0x4625b9(0xac5)][_0x4625b9(0x169)](_0x2bfb55);if(null!==_0x1f1c1f){var _0x41d487=_0x1f1c1f[0x1],_0x2d2750=_0x1f1c1f[0x2],_0x34a18d=!!_0x1f1c1f[0x3];const _0x298561=_0x1f1c1f[0x4];var _0x5ce022=0x0<_0x298561[_0x4625b9(0x9a3)](_0x4625b9(0x814));const _0x38b085=_0x1f1c1f[0x6];var _0x16b62d=_0x5ce022?_0x38b085['substring'](0x0,_0x38b085['indexOf'](','))['trim']():null;let _0x572827=_0x34a18d?this[_0x4625b9(0x9d2)](_0x41d487,_0x2d2750,_0x590481)[0x2]:0x0,_0x41aa32=this['_webgpuProcessingContext'][_0x4625b9(0x4dc)][_0x41d487];if(_0x41aa32)_0x572827=_0x41aa32[_0x4625b9(0x649)][_0x4625b9(0x86e)];else{_0x41aa32={'isTextureArray':0x0<_0x572827,'isStorageTexture':_0x5ce022,'textures':[],'sampleType':_0x15d66b['oD'][_0x4625b9(0x547)]},_0x572827=_0x572827||0x1;for(let _0x3a4a12=0x0;_0x3a4a12<_0x572827;++_0x3a4a12)_0x41aa32['textures']['push'](this[_0x4625b9(0x7f1)][_0x4625b9(0xb87)]());}this[_0x4625b9(0x7f1)][_0x4625b9(0x4dc)][_0x41d487]=_0x41aa32;var _0x1f1c1f=0x0<_0x298561[_0x4625b9(0x9a3)](_0x4625b9(0xac2)),_0x11fed9=_0x242419[_0x298561],_0x34a18d=_0x1f1c1f?_0x15d66b['oD']['Depth']:_0x4625b9(0xaa3)===_0x38b085?_0x15d66b['oD'][_0x4625b9(0x817)]:_0x4625b9(0x9fb)===_0x38b085?_0x15d66b['oD'][_0x4625b9(0x47c)]:_0x15d66b['oD'][_0x4625b9(0x547)];if(_0x41aa32[_0x4625b9(0x709)]=_0x34a18d,void 0x0===_0x11fed9)throw'Can\x27t\x20get\x20the\x20texture\x20dimension\x20corresponding\x20to\x20the\x20texture\x20function\x20\x22'+_0x298561+'\x22!';for(let _0x30a292=0x0;_0x30a292<_0x572827;++_0x30a292){var {groupIndex:_0x592d4e,bindingIndex:_0x1e7e3c}=_0x41aa32[_0x4625b9(0x649)][_0x30a292];0x0===_0x30a292&&(_0x2bfb55=_0x4625b9(0xc6c)+_0x592d4e+_0x4625b9(0x525)+_0x1e7e3c+')\x20'+_0x2bfb55),this[_0x4625b9(0x2b9)](_0x41d487,_0x41aa32,_0x30a292,_0x11fed9,_0x16b62d,!_0x333fb6);}}return _0x2bfb55;}[_0x3078b1(0x5ad)](_0x50ce6c){return _0x50ce6c;}[_0x3078b1(0x4b7)](_0x439ff1,_0x492939){var _0x4e844b=_0x3078b1,_0x12642f=0x0<=_0x492939['indexOf'](_0x4e844b(0x98e))?_0x4e844b(0x80d):'',_0xaec367=(_0x439ff1=this['_processSamplers'](_0x439ff1,!0x0),_0x492939=this['_processSamplers'](_0x492939,!0x1),_0x439ff1=this['_processCustomBuffers'](_0x439ff1,!0x0),_0x492939=this[_0x4e844b(0xa87)](_0x492939,!0x1),this['_buildLeftOverUBO']());_0x492939=_0xaec367+_0x492939,_0x439ff1=(_0x439ff1=_0xaec367+_0x439ff1)[_0x4e844b(0x8fd)](/#define /g,'//#define\x20'),_0x439ff1=this[_0x4e844b(0x6c2)](_0x439ff1);let _0x19cc61=_0x4e844b(0x341),_0xb7e74=(0x0<this[_0x4e844b(0xa0e)][_0x4e844b(0x86e)]&&(_0x19cc61+=this[_0x4e844b(0xa0e)][_0x4e844b(0xa94)]('\x0a')),_0x19cc61+=_0x4e844b(0x98f),_0x4e844b(0x534)),_0x5ca1be=(0x0<this[_0x4e844b(0xbd3)][_0x4e844b(0x86e)]&&(_0xb7e74+=this[_0x4e844b(0xbd3)][_0x4e844b(0xa94)]('\x0a')),_0xb7e74+=_0x4e844b(0xa9f),_0x439ff1=_0x19cc61+_0xb7e74+_0x439ff1,_0x439ff1=this[_0x4e844b(0x7dd)](_0x439ff1,'fn\x20main',_0x4e844b(0x1fe),_0x4e844b(0x304)),_0x492939=_0x492939[_0x4e844b(0x8fd)](/#define /g,_0x4e844b(0x231)),_0x492939=(_0x492939=this['_processStridedUniformArrays'](_0x492939))[_0x4e844b(0x8fd)](/dpdy/g,_0x4e844b(0x4b5)),_0x4e844b(0x440)),_0x1b4ada=(0x0<this[_0x4e844b(0xbd3)][_0x4e844b(0x86e)]&&(_0x5ca1be+=this[_0x4e844b(0xbd3)][_0x4e844b(0xa94)]('\x0a')),_0x5ca1be+='\x0a};\x0avar<private>\x20fragmentInputs\x20:\x20FragmentInputs;\x0a','struct\x20FragmentOutputs\x20{\x0a\x20\x20@location(0)\x20color\x20:\x20vec4<f32>,\x0a'),_0x44b764=!0x1,_0x1347e8=0x0;for(;!(_0x44b764||(_0x1347e8=_0x492939['indexOf'](_0xfeeb65,_0x1347e8))<0x0);){var _0x192a35=_0x1347e8;for(_0x44b764=!0x0;0x1<_0x1347e8&&'\x0a'!==_0x492939[_0x4e844b(0x8bc)](_0x1347e8);){if('/'===_0x492939[_0x4e844b(0x8bc)](_0x1347e8)&&'/'===_0x492939[_0x4e844b(0x8bc)](_0x1347e8-0x1)){_0x44b764=!0x1;break;}_0x1347e8--;}_0x1347e8=_0x192a35+_0xfeeb65[_0x4e844b(0x86e)];}return _0x44b764&&(_0x1b4ada+=_0x4e844b(0x421)),_0x1b4ada+=_0x4e844b(0x32e),_0x492939=_0x5ca1be+_0x1b4ada+_0x492939,_0x492939=this['_injectStartingAndEndingCode'](_0x492939,_0x4e844b(0x57d),_0x4e844b(0x562)+_0x12642f,_0x4e844b(0x1be)),this[_0x4e844b(0x856)](),this['_preCreateBindGroupEntries'](),{'vertexCode':_0x439ff1,'fragmentCode':_0x492939};}[_0x3078b1(0x45c)](_0x347c60,_0x41266e){var _0x23499b=_0x3078b1;let _0x58774a='',_0xb220a5=_0x23499b(0x3f7)+_0x347c60+_0x23499b(0x9ec);for(const _0x2d09d3 of this['_webgpuProcessingContext']['leftOverUniforms']){var _0x530e50=_0x2d09d3[_0x23499b(0x395)][_0x23499b(0x8fd)](/^(.*?)(<.*>)?$/,'$1'),_0x493e5d=_0x1e7888['e']['UniformSizes'][_0x530e50];0x0<_0x2d09d3['length']?_0x493e5d<=0x2?(_0x493e5d=_0x347c60+'_'+this[_0x23499b(0x4a8)][_0x23499b(0x86e)]+'_strided_arr',_0x58774a+='struct\x20'+_0x493e5d+_0x23499b(0x809)+_0x530e50+_0x23499b(0x6f0),this[_0x23499b(0x4a8)][_0x23499b(0x303)](_0x2d09d3[_0x23499b(0xa67)]),_0xb220a5+='\x20@align(16)\x20'+_0x2d09d3['name']+'\x20:\x20array<'+_0x493e5d+',\x20'+_0x2d09d3[_0x23499b(0x86e)]+'>,\x0a'):_0xb220a5+='\x20'+_0x2d09d3[_0x23499b(0xa67)]+'\x20:\x20array<'+_0x2d09d3[_0x23499b(0x395)]+',\x20'+_0x2d09d3['length']+_0x23499b(0xd17):_0xb220a5+='\x20\x20'+_0x2d09d3[_0x23499b(0xa67)]+_0x23499b(0xc70)+_0x2d09d3[_0x23499b(0x395)]+',\x0a';}return _0xb220a5+=_0x23499b(0xb20),_0xb220a5=_0x58774a+'\x0a'+_0xb220a5,_0xb220a5+=_0x23499b(0xc6c)+_0x41266e['binding'][_0x23499b(0x621)]+_0x23499b(0x525)+_0x41266e[_0x23499b(0x378)]['bindingIndex']+')\x20var<uniform>\x20uniforms\x20:\x20'+_0x347c60+';\x0a';}[_0x3078b1(0x477)](_0x5b2e6c,_0x21427b){var _0x3e26dc=_0x3078b1;const _0x2cdc46=/var\s+(\w+Sampler)\s*:\s*(sampler|sampler_comparison)\s*;/gm;for(;;){var _0x2587e4=_0x2cdc46[_0x3e26dc(0x169)](_0x5b2e6c);if(null===_0x2587e4)break;const _0x565a08=_0x2587e4[0x1];var _0x45524c=_0x2587e4[0x2],_0xde6945=_0x565a08['indexOf'](_0x1e7888['e']['AutoSamplerSuffix'])===_0x565a08['length']-_0x1e7888['e']['AutoSamplerSuffix'][_0x3e26dc(0x86e)]?_0x565a08[_0x3e26dc(0x5e0)](0x0,_0x565a08[_0x3e26dc(0x9a3)](_0x1e7888['e'][_0x3e26dc(0x4cf)])):null,_0x45524c=_0x3e26dc(0x9dd)===_0x45524c?_0x15d66b['dV'][_0x3e26dc(0x610)]:_0x15d66b['dV'][_0x3e26dc(0xb7b)];if(_0xde6945){const _0x163d2c=this[_0x3e26dc(0x7f1)][_0x3e26dc(0x4dc)][_0xde6945];_0x163d2c&&(_0x163d2c['autoBindSampler']=!0x0);}let _0x3bba30=this[_0x3e26dc(0x7f1)][_0x3e26dc(0x204)][_0x565a08];_0x3bba30||(_0x3bba30={'binding':this[_0x3e26dc(0x7f1)][_0x3e26dc(0xb87)](),'type':_0x45524c},this['_webgpuProcessingContext'][_0x3e26dc(0x204)][_0x565a08]=_0x3bba30),this[_0x3e26dc(0x59c)](_0x565a08,_0x3bba30,_0x21427b),(_0xde6945=_0x5b2e6c[_0x3e26dc(0x5e0)](0x0,_0x2587e4[_0x3e26dc(0x819)]),_0x45524c=_0x3e26dc(0xc6c)+_0x3bba30['binding'][_0x3e26dc(0x621)]+_0x3e26dc(0x525)+_0x3bba30[_0x3e26dc(0x378)][_0x3e26dc(0xab7)]+')\x20'),(_0x5b2e6c=_0xde6945+_0x45524c+_0x5b2e6c['substring'](_0x2587e4[_0x3e26dc(0x819)]),_0x2cdc46[_0x3e26dc(0xa7a)]+=_0x45524c[_0x3e26dc(0x86e)]);}return _0x5b2e6c;}[_0x3078b1(0xa87)](_0x2278fe,_0xcddee5){var _0x1580b0=_0x3078b1;const _0x427937=/var<\s*(uniform|storage)\s*(,\s*(read|read_write)\s*)?>\s+(\S+)\s*:\s*(\S+)\s*;/gm;for(;;){var _0x1295ce=_0x427937['exec'](_0x2278fe);if(null===_0x1295ce)break;var _0x2f149d=_0x1295ce[0x1],_0x3077fa=_0x1295ce[0x3];let _0x2c1e92=_0x1295ce[0x4];var _0x390405=_0x1295ce[0x5];let _0x5931ad=this[_0x1580b0(0x7f1)]['availableBuffers'][_0x2c1e92];if(!_0x5931ad){var _0xde130f=_0x1580b0(0x927)===_0x2f149d?_0x13a8b4['d'][_0x1580b0(0xa05)][_0x390405]:null;let _0x2ffa5f;_0xde130f?(_0x2c1e92=_0x390405,-0x1===(_0x2ffa5f=_0xde130f[_0x1580b0(0x378)])[_0x1580b0(0x621)]&&(_0x2ffa5f=this[_0x1580b0(0x7f1)]['getNextFreeUBOBinding']())):_0x2ffa5f=this['_webgpuProcessingContext']['getNextFreeUBOBinding'](),_0x5931ad={'binding':_0x2ffa5f},this[_0x1580b0(0x7f1)][_0x1580b0(0x3d8)][_0x2c1e92]=_0x5931ad;}this[_0x1580b0(0x7bd)](_0x2c1e92,this[_0x1580b0(0x7f1)][_0x1580b0(0x3d8)][_0x2c1e92],_0x1580b0(0xab1)===_0x3077fa?_0x15d66b['Rs'][_0x1580b0(0x64f)]:_0x1580b0(0x814)===_0x2f149d?_0x15d66b['Rs'][_0x1580b0(0x5f3)]:_0x15d66b['Rs'][_0x1580b0(0x7a2)],_0xcddee5),_0x390405=_0x1580b0(0xc6c)+_0x5931ad['binding'][_0x1580b0(0x621)]+_0x1580b0(0x525)+_0x5931ad[_0x1580b0(0x378)][_0x1580b0(0xab7)]+')\x20',(_0x2278fe=_0x2278fe[_0x1580b0(0x5e0)](0x0,_0x1295ce[_0x1580b0(0x819)])+_0x390405+_0x2278fe[_0x1580b0(0x5e0)](_0x1295ce[_0x1580b0(0x819)]),_0x427937[_0x1580b0(0xa7a)]+=_0x390405[_0x1580b0(0x86e)]);}return _0x2278fe;}[_0x3078b1(0x6c2)](_0x4712c4){var _0x24b058=_0x3078b1;for(const _0x314d42 of this[_0x24b058(0x4a8)])_0x4712c4=_0x4712c4[_0x24b058(0x8fd)](new RegExp(_0x314d42+_0x24b058(0x802),'g'),_0x314d42+_0x24b058(0x345));return _0x4712c4;}}},0x99e2:(_0x57e7a8,_0x1d0684,_0x39b1b8)=>{var _0x38b8e1=a7_0x425593;_0x39b1b8['d'](_0x1d0684,{'w':()=>_0x4d15c1});var _0xb708f=_0x39b1b8(0x77a5);class _0x4d15c1{constructor(_0x1f706c,_0x54c2d1,_0x1d153a,_0x2e8f21){var _0x1f2c4a=a7_0x5572;this[_0x1f2c4a(0x504)]=!0x1,this[_0x1f2c4a(0x660)]=!0x1,this['_mainPassBundleList']=[],this[_0x1f2c4a(0x17c)]=!0x1,this[_0x1f2c4a(0xbfd)]=_0x1f706c,this[_0x1f2c4a(0xc3e)]=_0x54c2d1,this[_0x1f2c4a(0x2a5)]=_0x1d153a,this[_0x1f2c4a(0x940)]=_0x2e8f21;}get[_0x38b8e1(0x650)](){return this['_enabled'];}get['play'](){var _0xb6d21=_0x38b8e1;return this[_0xb6d21(0x660)];}get['record'](){var _0x1d26e8=_0x38b8e1;return this[_0x1d26e8(0x504)];}set[_0x38b8e1(0x650)](_0x4881b7){var _0x4ae330=_0x38b8e1;this[_0x4ae330(0xadb)][_0x4ae330(0x86e)]=0x0,this['_record']=this[_0x4ae330(0x17c)]=_0x4881b7,this['_play']=!0x1,_0x4881b7&&(this['_modeSaved']=this['_mode'],this[_0x4ae330(0xc3e)]=_0xb708f['g'][_0x4ae330(0x888)]);}get[_0x38b8e1(0xa59)](){var _0x3060f7=_0x38b8e1;return this[_0x3060f7(0xc3e)];}set[_0x38b8e1(0xa59)](_0xff222){var _0x34a9b8=_0x38b8e1;this[_0x34a9b8(0x504)]?this[_0x34a9b8(0x196)]=_0xff222:this[_0x34a9b8(0xc3e)]=_0xff222;}[_0x38b8e1(0x652)](){var _0xbb806b=_0x38b8e1;this[_0xbb806b(0x504)]&&this[_0xbb806b(0xadb)][_0xbb806b(0x303)](this[_0xbb806b(0x2a5)][_0xbb806b(0x6cd)]());}[_0x38b8e1(0x360)](_0x23f39d,_0x2f115d){var _0x26268c=_0x38b8e1,_0x509498;if(this['_play'])null!=(_0x509498=null==(_0x509498=_0x2f115d['_bundleLists'])?void 0x0:_0x509498[_0x2f115d[_0x26268c(0x4ab)]])&&_0x509498['run'](_0x23f39d),this[_0x26268c(0xc3e)]===_0xb708f['g'][_0x26268c(0x5b5)]&&this['_engine']['_reportDrawCall'](null==(_0x509498=null==(_0x509498=_0x2f115d[_0x26268c(0x3fe)])?void 0x0:_0x509498[_0x2f115d[_0x26268c(0x4ab)]])?void 0x0:_0x509498[_0x26268c(0xaa6)]);else{if(!this[_0x26268c(0x504)])return!0x1;_0x2f115d[_0x26268c(0x3fe)]||(_0x2f115d[_0x26268c(0x3fe)]=[]),_0x2f115d[_0x26268c(0x3fe)][_0x2f115d[_0x26268c(0x4ab)]]=this[_0x26268c(0x940)]['clone'](),_0x2f115d['_bundleLists'][_0x2f115d[_0x26268c(0x4ab)]]['run'](_0x23f39d),this[_0x26268c(0x940)]['reset']();}return!0x0;}[_0x38b8e1(0xa47)](_0xe97658){var _0x583082=_0x38b8e1;if(this[_0x583082(0x504)]&&(this['_mainPassBundleList']['push'](this[_0x583082(0x2a5)]['clone']()),this[_0x583082(0x504)]=!0x1,this['_play']=!0x0,this[_0x583082(0xc3e)]=this[_0x583082(0x196)]),null!==_0xe97658&&this[_0x583082(0x660)]){for(let _0x89b63c=0x0;_0x89b63c<this[_0x583082(0xadb)][_0x583082(0x86e)];++_0x89b63c)this[_0x583082(0xadb)][_0x89b63c][_0x583082(0x90f)](_0xe97658),this['_mode']===_0xb708f['g'][_0x583082(0x5b5)]&&this[_0x583082(0xbfd)][_0x583082(0x361)](this['_mainPassBundleList'][_0x89b63c][_0x583082(0xaa6)]);}}[_0x38b8e1(0x4f4)](){var _0x56da2f=_0x38b8e1;this[_0x56da2f(0x650)]=!0x1,this[_0x56da2f(0x650)]=!0x0;}}},0x6c74:(_0x3e8b8f,_0x27197d,_0xc3cf35)=>{var _0x2639d1=a7_0x425593;_0xc3cf35['d'](_0x27197d,{'F':()=>_0x975879});class _0x975879 extends _0xc3cf35(0x2902)['C']{constructor(_0x3d7b4a){var _0x1a80c0=a7_0x5572;super(!0x1),this['_cache']=_0x3d7b4a,this[_0x1a80c0(0x4f4)]();}get[_0x2639d1(0x24f)](){var _0x287843=_0x2639d1;return this[_0x287843(0x6cb)];}set[_0x2639d1(0x24f)](_0x29083b){var _0x46cdd8=_0x2639d1;this['_func']!==_0x29083b&&(this[_0x46cdd8(0x6cb)]=_0x29083b,this['_cache'][_0x46cdd8(0x667)](_0x29083b));}get[_0x2639d1(0x796)](){return this['_funcMask'];}set[_0x2639d1(0x796)](_0x16738e){var _0x5d704c=_0x2639d1;this[_0x5d704c(0x9f9)]!==_0x16738e&&(this[_0x5d704c(0x9f9)]=_0x16738e,this[_0x5d704c(0x7f0)]['setStencilReadMask'](_0x16738e));}get[_0x2639d1(0x902)](){var _0x1530c6=_0x2639d1;return this[_0x1530c6(0x1dd)];}set[_0x2639d1(0x902)](_0x4c6a40){var _0x105e53=_0x2639d1;this[_0x105e53(0x1dd)]!==_0x4c6a40&&(this[_0x105e53(0x1dd)]=_0x4c6a40,this[_0x105e53(0x7f0)][_0x105e53(0x21a)](_0x4c6a40));}get['opDepthFail'](){return this['_opDepthFail'];}set[_0x2639d1(0x1a6)](_0x4c72bc){var _0x56b6aa=_0x2639d1;this[_0x56b6aa(0x3f8)]!==_0x4c72bc&&(this[_0x56b6aa(0x3f8)]=_0x4c72bc,this[_0x56b6aa(0x7f0)]['setStencilDepthFailOp'](_0x4c72bc));}get[_0x2639d1(0xd11)](){var _0x3f03d9=_0x2639d1;return this[_0x3f03d9(0x6db)];}set['opStencilDepthPass'](_0x25ec22){var _0x8d76a2=_0x2639d1;this[_0x8d76a2(0x6db)]!==_0x25ec22&&(this['_opStencilDepthPass']=_0x25ec22,this['_cache']['setStencilPassOp'](_0x25ec22));}get['mask'](){var _0x1fac2e=_0x2639d1;return this[_0x1fac2e(0xd37)];}set[_0x2639d1(0x54c)](_0x35c9e4){var _0x2bb08e=_0x2639d1;this[_0x2bb08e(0xd37)]!==_0x35c9e4&&(this[_0x2bb08e(0xd37)]=_0x35c9e4,this[_0x2bb08e(0x7f0)]['setStencilWriteMask'](_0x35c9e4));}get['enabled'](){var _0x970426=_0x2639d1;return this[_0x970426(0x17c)];}set['enabled'](_0x4ee883){var _0x312b53=_0x2639d1;this[_0x312b53(0x17c)]!==_0x4ee883&&(this[_0x312b53(0x17c)]=_0x4ee883,this['_cache'][_0x312b53(0xbbc)](_0x4ee883));}[_0x2639d1(0x4f4)](){var _0x40ea25=_0x2639d1;super[_0x40ea25(0x4f4)](),this['_cache'][_0x40ea25(0x20b)]();}['apply'](){var _0x122b3f=_0x2639d1,_0x12a982=null==(_0x12a982=this[_0x122b3f(0x6f6)])?void 0x0:_0x12a982['enabled'];this[_0x122b3f(0x650)]=(_0x12a982?this['stencilMaterial']:this[_0x122b3f(0xd01)])[_0x122b3f(0x650)],this['enabled']&&(this[_0x122b3f(0x24f)]=(_0x12a982?this[_0x122b3f(0x6f6)]:this[_0x122b3f(0xd01)])['func'],this[_0x122b3f(0x602)]=(_0x12a982?this[_0x122b3f(0x6f6)]:this[_0x122b3f(0xd01)])['funcRef'],this[_0x122b3f(0x796)]=(_0x12a982?this[_0x122b3f(0x6f6)]:this[_0x122b3f(0xd01)])[_0x122b3f(0x796)],this[_0x122b3f(0x902)]=(_0x12a982?this['stencilMaterial']:this[_0x122b3f(0xd01)])[_0x122b3f(0x902)],this['opDepthFail']=(_0x12a982?this[_0x122b3f(0x6f6)]:this[_0x122b3f(0xd01)])[_0x122b3f(0x1a6)],this[_0x122b3f(0xd11)]=(_0x12a982?this['stencilMaterial']:this['stencilGlobal'])['opStencilDepthPass'],this[_0x122b3f(0x54c)]=(_0x12a982?this['stencilMaterial']:this[_0x122b3f(0xd01)])['mask']);}}},0x59c6:(_0x6bdf10,_0x2134ab,_0x1804d3)=>{var _0x3fe237=a7_0x425593;_0x1804d3['d'](_0x2134ab,{'D':()=>_0x3854cd,'U':()=>_0x3bfdde});var _0x5e276f,_0x282eb4,_0xe02be6=_0x1804d3(0x89a1),_0x2a9fbe=_0x1804d3(0x1b5c),_0x51f9e2=_0x1804d3(0x77a5),_0x556e52=_0x1804d3(0x25b1),_0x5e86b8=_0x1804d3(0x18215);_0x5e276f={'MipMap':0x0,0x0:'MipMap','InvertYPremultiplyAlpha':0x1,0x1:_0x3fe237(0x199),'Clear':0x2,0x2:_0x3fe237(0x63a),'InvertYPremultiplyAlphaWithOfst':0x3,0x3:_0x3fe237(0x966)},_0x282eb4={'DontInvertY':0x0,0x0:_0x3fe237(0x334),'InvertY':0x1,0x1:_0x3fe237(0x92b)};const _0x7c8fe3=[{'vertex':_0x3fe237(0x22c),'fragment':_0x3fe237(0x58b)},{'vertex':_0x3fe237(0x693),'fragment':_0x3fe237(0x1b9)},{'vertex':_0x3fe237(0x3d4),'fragment':'\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'},{'vertex':_0x3fe237(0x693),'fragment':_0x3fe237(0x865)}],_0x3bfdde={'':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 _0x3854cd{constructor(_0x2e2367,_0x11f969,_0x2c8fc8,_0xff712e){var _0x2c1b37=_0x3fe237;this[_0x2c1b37(0x6bc)]={},this[_0x2c1b37(0x31c)]=[],this[_0x2c1b37(0x1f8)]={},this['_videoCompiledShaders']=[],this[_0x2c1b37(0x2d6)]=[],this[_0x2c1b37(0x391)]=_0x2e2367,this[_0x2c1b37(0x3bf)]=_0x11f969,this[_0x2c1b37(0x2cc)]=_0x2c8fc8,this[_0x2c1b37(0xc2a)]=_0xff712e,this[_0x2c1b37(0xc95)]=_0x2e2367['createSampler']({'minFilter':_0xe02be6['X9'][_0x2c1b37(0xada)]}),this[_0x2c1b37(0xc75)]=_0x2e2367[_0x2c1b37(0x843)]({'minFilter':_0xe02be6['X9']['Linear']}),this[_0x2c1b37(0x4a6)]=this[_0x2c1b37(0xc2a)][_0x2c1b37(0x983)](0x10,_0xe02be6['FB']['Uniform']|_0xe02be6['FB'][_0x2c1b37(0x6b8)])[_0x2c1b37(0x51e)],this[_0x2c1b37(0x506)](_0xe02be6['EV'][_0x2c1b37(0x604)]),this[_0x2c1b37(0xc93)](_0xe02be6['EV'][_0x2c1b37(0x604)]);}static[_0x3fe237(0x372)](_0x14b341,_0x1a7335){var _0x562b9e=_0x3fe237;return _0x2a9fbe['R'][_0x562b9e(0x6ac)](Math[_0x562b9e(0x713)](_0x14b341,_0x1a7335))+0x1;}[_0x3fe237(0x506)](_0x49674e,_0x37fbdc=_0x5e276f['MipMap'],_0x1f16d2){var _0x1a7720=_0x3fe237,_0x54dcd9=_0x37fbdc===_0x5e276f[_0x1a7720(0x29c)]?0x1:_0x37fbdc===_0x5e276f['InvertYPremultiplyAlpha']?((_0x1f16d2[_0x1a7720(0x2fc)]?0x1:0x0)<<0x1)+((_0x1f16d2['premultiplyAlpha']?0x1:0x0)<<0x2):_0x37fbdc===_0x5e276f['Clear']?0x8:_0x37fbdc===_0x5e276f[_0x1a7720(0x966)]?((_0x1f16d2[_0x1a7720(0x2fc)]?0x1:0x0)<<0x4)+((_0x1f16d2[_0x1a7720(0x1c3)]?0x1:0x0)<<0x5):0x0;this[_0x1a7720(0x6bc)][_0x49674e]||(this[_0x1a7720(0x6bc)][_0x49674e]=[]);let _0x474cdf=this[_0x1a7720(0x6bc)][_0x49674e][_0x54dcd9];if(!_0x474cdf){let _0x3ebe47=_0x1a7720(0x56c),_0x215c8b=(_0x37fbdc!==_0x5e276f['InvertYPremultiplyAlpha']&&_0x37fbdc!==_0x5e276f[_0x1a7720(0x966)]||(_0x1f16d2[_0x1a7720(0x2fc)]&&(_0x3ebe47+=_0x1a7720(0x757)),_0x1f16d2['premultiplyAlpha']&&(_0x3ebe47+=_0x1a7720(0xad3))),this[_0x1a7720(0x31c)][_0x54dcd9]);if(!_0x215c8b){let _0x3e3004=this[_0x1a7720(0x3bf)]['compileGLSL'](_0x3ebe47+_0x7c8fe3[_0x37fbdc]['vertex'],_0x1a7720(0x6ef)),_0x274e36=this[_0x1a7720(0x3bf)][_0x1a7720(0xca7)](_0x3ebe47+_0x7c8fe3[_0x37fbdc]['fragment'],_0x1a7720(0x5dd));this[_0x1a7720(0x2cc)]&&(_0x3e3004=this[_0x1a7720(0x2cc)]['convertSpirV2WGSL'](_0x3e3004),_0x274e36=this[_0x1a7720(0x2cc)]['convertSpirV2WGSL'](_0x274e36)),(_0x1f16d2=this[_0x1a7720(0x391)][_0x1a7720(0x1ba)]({'code':_0x3e3004}),_0x37fbdc=this[_0x1a7720(0x391)]['createShaderModule']({'code':_0x274e36})),_0x215c8b=this[_0x1a7720(0x31c)][_0x54dcd9]=[_0x1f16d2,_0x37fbdc];}const _0x402caf=this[_0x1a7720(0x391)]['createRenderPipeline']({'layout':_0xe02be6['fu'][_0x1a7720(0x93b)],'vertex':{'module':_0x215c8b[0x0],'entryPoint':_0x1a7720(0x822)},'fragment':{'module':_0x215c8b[0x1],'entryPoint':_0x1a7720(0x822),'targets':[{'format':_0x49674e}]},'primitive':{'topology':_0xe02be6['YV']['TriangleStrip'],'stripIndexFormat':_0xe02be6['iD'][_0x1a7720(0x6b3)]}});_0x474cdf=this[_0x1a7720(0x6bc)][_0x49674e][_0x54dcd9]=[_0x402caf,_0x402caf[_0x1a7720(0x40e)](0x0)];}return _0x474cdf;}['_getVideoPipeline'](_0xe9da80,_0x1aa94b=_0x282eb4[_0x3fe237(0x334)]){var _0x1bf968=_0x3fe237,_0xcf8b80,_0x237415,_0x1aa94b=_0x1aa94b===_0x282eb4[_0x1bf968(0x92b)]?0x1:0x0;this['_videoPipelines'][_0xe9da80]||(this[_0x1bf968(0x1f8)][_0xe9da80]=[]);let _0x33ed3a=this[_0x1bf968(0x1f8)][_0xe9da80][_0x1aa94b];if(!_0x33ed3a){let _0x189b35=this[_0x1bf968(0x736)][_0x1aa94b];_0x189b35||(_0xcf8b80=this[_0x1bf968(0x391)][_0x1bf968(0x1ba)]({'code':_0x1bf968(0x54b)}),_0x237415=this[_0x1bf968(0x391)]['createShaderModule']({'code':0x0==_0x1aa94b?_0x1bf968(0x7ed):_0x1bf968(0x1e4)}),_0x189b35=this[_0x1bf968(0x736)][_0x1aa94b]=[_0xcf8b80,_0x237415]);const _0x1189ae=this[_0x1bf968(0x391)][_0x1bf968(0x9ab)]({'label':_0x1bf968(0x2c4)+_0xe9da80+'_'+(0x0==_0x1aa94b?_0x1bf968(0x334):_0x1bf968(0x92b)),'layout':_0xe02be6['fu'][_0x1bf968(0x93b)],'vertex':{'module':_0x189b35[0x0],'entryPoint':_0x1bf968(0x822)},'fragment':{'module':_0x189b35[0x1],'entryPoint':_0x1bf968(0x822),'targets':[{'format':_0xe9da80}]},'primitive':{'topology':_0xe02be6['YV'][_0x1bf968(0xb78)],'stripIndexFormat':_0xe02be6['iD'][_0x1bf968(0x6b3)]}});_0x33ed3a=this[_0x1bf968(0x1f8)][_0xe9da80][_0x1aa94b]=[_0x1189ae,_0x1189ae[_0x1bf968(0x40e)](0x0)];}return _0x33ed3a;}static['_GetTextureTypeFromFormat'](_0x340c71){var _0x3ec4dc=_0x3fe237;switch(_0x340c71){case _0xe02be6['EV']['R8Unorm']:case _0xe02be6['EV'][_0x3ec4dc(0x209)]:case _0xe02be6['EV'][_0x3ec4dc(0x229)]:case _0xe02be6['EV'][_0x3ec4dc(0xa00)]:case _0xe02be6['EV'][_0x3ec4dc(0x54e)]:case _0xe02be6['EV'][_0x3ec4dc(0xb6c)]:case _0xe02be6['EV'][_0x3ec4dc(0x4b4)]:case _0xe02be6['EV'][_0x3ec4dc(0x358)]:case _0xe02be6['EV']['RGBA8Unorm']:case _0xe02be6['EV'][_0x3ec4dc(0x166)]:case _0xe02be6['EV']['RGBA8Snorm']:case _0xe02be6['EV'][_0x3ec4dc(0x768)]:case _0xe02be6['EV'][_0x3ec4dc(0x8c7)]:case _0xe02be6['EV'][_0x3ec4dc(0x8cd)]:case _0xe02be6['EV'][_0x3ec4dc(0x43c)]:case _0xe02be6['EV'][_0x3ec4dc(0xb97)]:case _0xe02be6['EV'][_0x3ec4dc(0x93e)]:case _0xe02be6['EV'][_0x3ec4dc(0xc30)]:case _0xe02be6['EV'][_0x3ec4dc(0xc2f)]:case _0xe02be6['EV'][_0x3ec4dc(0x926)]:case _0xe02be6['EV'][_0x3ec4dc(0x80e)]:case _0xe02be6['EV'][_0x3ec4dc(0xc44)]:case _0xe02be6['EV'][_0x3ec4dc(0x5f7)]:case _0xe02be6['EV']['BC6HRGBFloat']:case _0xe02be6['EV'][_0x3ec4dc(0x299)]:case _0xe02be6['EV'][_0x3ec4dc(0x2fb)]:case _0xe02be6['EV'][_0x3ec4dc(0x727)]:case _0xe02be6['EV'][_0x3ec4dc(0x8f4)]:case _0xe02be6['EV'][_0x3ec4dc(0xaf4)]:case _0xe02be6['EV']['BC2RGBAUnormSRGB']:case _0xe02be6['EV'][_0x3ec4dc(0x626)]:case _0xe02be6['EV'][_0x3ec4dc(0xcf6)]:case _0xe02be6['EV']['BC1RGBAUnorm']:case _0xe02be6['EV'][_0x3ec4dc(0x3a1)]:case _0xe02be6['EV'][_0x3ec4dc(0xd23)]:case _0xe02be6['EV'][_0x3ec4dc(0xd10)]:case _0xe02be6['EV']['ETC2RGB8A1Unorm']:case _0xe02be6['EV'][_0x3ec4dc(0x1eb)]:case _0xe02be6['EV'][_0x3ec4dc(0x549)]:case _0xe02be6['EV']['ETC2RGBA8UnormSRGB']:case _0xe02be6['EV'][_0x3ec4dc(0x2b0)]:case _0xe02be6['EV'][_0x3ec4dc(0x738)]:case _0xe02be6['EV']['EACRG11Unorm']:case _0xe02be6['EV'][_0x3ec4dc(0xd1d)]:case _0xe02be6['EV'][_0x3ec4dc(0x82b)]:case _0xe02be6['EV'][_0x3ec4dc(0x219)]:case _0xe02be6['EV'][_0x3ec4dc(0xbca)]:case _0xe02be6['EV'][_0x3ec4dc(0xa68)]:case _0xe02be6['EV']['ASTC5x5Unorm']:case _0xe02be6['EV']['ASTC5x5UnormSRGB']:case _0xe02be6['EV'][_0x3ec4dc(0x7fd)]:case _0xe02be6['EV']['ASTC6x5UnormSRGB']:case _0xe02be6['EV'][_0x3ec4dc(0x17b)]:case _0xe02be6['EV'][_0x3ec4dc(0x855)]:case _0xe02be6['EV'][_0x3ec4dc(0x35c)]:case _0xe02be6['EV'][_0x3ec4dc(0xa34)]:case _0xe02be6['EV']['ASTC8x6Unorm']:case _0xe02be6['EV'][_0x3ec4dc(0x53e)]:case _0xe02be6['EV'][_0x3ec4dc(0x539)]:case _0xe02be6['EV'][_0x3ec4dc(0x18d)]:case _0xe02be6['EV'][_0x3ec4dc(0x2fe)]:case _0xe02be6['EV'][_0x3ec4dc(0x87e)]:case _0xe02be6['EV']['ASTC10x6Unorm']:case _0xe02be6['EV']['ASTC10x6UnormSRGB']:case _0xe02be6['EV'][_0x3ec4dc(0xaa4)]:case _0xe02be6['EV'][_0x3ec4dc(0xa82)]:case _0xe02be6['EV'][_0x3ec4dc(0x40c)]:case _0xe02be6['EV'][_0x3ec4dc(0x953)]:case _0xe02be6['EV'][_0x3ec4dc(0xceb)]:case _0xe02be6['EV'][_0x3ec4dc(0x232)]:case _0xe02be6['EV']['ASTC12x12Unorm']:case _0xe02be6['EV'][_0x3ec4dc(0x2a2)]:return _0x51f9e2['g'][_0x3ec4dc(0xb0a)];case _0xe02be6['EV']['R16Uint']:case _0xe02be6['EV'][_0x3ec4dc(0x8ff)]:case _0xe02be6['EV'][_0x3ec4dc(0xcee)]:case _0xe02be6['EV']['RG16Sint']:case _0xe02be6['EV'][_0x3ec4dc(0x78b)]:case _0xe02be6['EV'][_0x3ec4dc(0xd62)]:case _0xe02be6['EV'][_0x3ec4dc(0x701)]:return _0x51f9e2['g'][_0x3ec4dc(0x915)];case _0xe02be6['EV']['R16Float']:case _0xe02be6['EV']['RG16Float']:case _0xe02be6['EV']['RGBA16Float']:return _0x51f9e2['g'][_0x3ec4dc(0x986)];case _0xe02be6['EV'][_0x3ec4dc(0x471)]:case _0xe02be6['EV'][_0x3ec4dc(0xaa9)]:case _0xe02be6['EV'][_0x3ec4dc(0xad0)]:case _0xe02be6['EV']['RG32Sint']:case _0xe02be6['EV'][_0x3ec4dc(0x838)]:case _0xe02be6['EV']['RGBA32Sint']:return _0x51f9e2['g'][_0x3ec4dc(0x66c)];case _0xe02be6['EV'][_0x3ec4dc(0x3c6)]:case _0xe02be6['EV'][_0x3ec4dc(0xc87)]:case _0xe02be6['EV']['RGBA32Float']:case _0xe02be6['EV'][_0x3ec4dc(0x2e1)]:return _0x51f9e2['g'][_0x3ec4dc(0x937)];case _0xe02be6['EV'][_0x3ec4dc(0xae9)]:throw _0x3ec4dc(0x431);case _0xe02be6['EV'][_0x3ec4dc(0x37a)]:throw _0x3ec4dc(0x9d6);case _0xe02be6['EV'][_0x3ec4dc(0xbe6)]:throw'No\x20fixed\x20size\x20for\x20Depth24PlusStencil8\x20format!';}return _0x51f9e2['g'][_0x3ec4dc(0xb0a)];}static[_0x3fe237(0x74b)](_0x471e4){var _0x2fddee=_0x3fe237;switch(_0x471e4){case _0xe02be6['EV']['R8Unorm']:case _0xe02be6['EV'][_0x2fddee(0x209)]:case _0xe02be6['EV']['R8Uint']:case _0xe02be6['EV'][_0x2fddee(0xa00)]:return{'width':0x1,'height':0x1,'length':0x1};case _0xe02be6['EV'][_0x2fddee(0x1f7)]:case _0xe02be6['EV'][_0x2fddee(0x8ff)]:case _0xe02be6['EV'][_0x2fddee(0x76c)]:case _0xe02be6['EV'][_0x2fddee(0x54e)]:case _0xe02be6['EV'][_0x2fddee(0xb6c)]:case _0xe02be6['EV'][_0x2fddee(0x4b4)]:case _0xe02be6['EV'][_0x2fddee(0x358)]:return{'width':0x1,'height':0x1,'length':0x2};case _0xe02be6['EV'][_0x2fddee(0x471)]:case _0xe02be6['EV'][_0x2fddee(0xaa9)]:case _0xe02be6['EV'][_0x2fddee(0x3c6)]:case _0xe02be6['EV'][_0x2fddee(0xcee)]:case _0xe02be6['EV'][_0x2fddee(0x6be)]:case _0xe02be6['EV'][_0x2fddee(0x6ff)]:case _0xe02be6['EV'][_0x2fddee(0x604)]:case _0xe02be6['EV']['RGBA8UnormSRGB']:case _0xe02be6['EV']['RGBA8Snorm']:case _0xe02be6['EV'][_0x2fddee(0x768)]:case _0xe02be6['EV'][_0x2fddee(0x8c7)]:case _0xe02be6['EV'][_0x2fddee(0x8cd)]:case _0xe02be6['EV'][_0x2fddee(0x43c)]:case _0xe02be6['EV']['RGB9E5UFloat']:case _0xe02be6['EV'][_0x2fddee(0xb97)]:case _0xe02be6['EV'][_0x2fddee(0xc30)]:return{'width':0x1,'height':0x1,'length':0x4};case _0xe02be6['EV'][_0x2fddee(0xad0)]:case _0xe02be6['EV'][_0x2fddee(0x51f)]:case _0xe02be6['EV'][_0x2fddee(0xc87)]:case _0xe02be6['EV'][_0x2fddee(0x78b)]:case _0xe02be6['EV'][_0x2fddee(0xd62)]:case _0xe02be6['EV'][_0x2fddee(0x5b0)]:return{'width':0x1,'height':0x1,'length':0x8};case _0xe02be6['EV']['RGBA32Uint']:case _0xe02be6['EV'][_0x2fddee(0x18b)]:case _0xe02be6['EV'][_0x2fddee(0x9b1)]:return{'width':0x1,'height':0x1,'length':0x10};case _0xe02be6['EV']['Stencil8']:throw _0x2fddee(0x431);case _0xe02be6['EV'][_0x2fddee(0x701)]:return{'width':0x1,'height':0x1,'length':0x2};case _0xe02be6['EV'][_0x2fddee(0x37a)]:throw _0x2fddee(0x9d6);case _0xe02be6['EV'][_0x2fddee(0xbe6)]:throw _0x2fddee(0x505);case _0xe02be6['EV']['Depth32Float']:case _0xe02be6['EV']['Depth24UnormStencil8']:return{'width':0x1,'height':0x1,'length':0x4};case _0xe02be6['EV'][_0x2fddee(0x926)]:return{'width':0x1,'height':0x1,'length':0x5};case _0xe02be6['EV'][_0x2fddee(0x80e)]:case _0xe02be6['EV'][_0x2fddee(0xc44)]:case _0xe02be6['EV'][_0x2fddee(0x5f7)]:case _0xe02be6['EV'][_0x2fddee(0x3cc)]:case _0xe02be6['EV'][_0x2fddee(0x299)]:case _0xe02be6['EV'][_0x2fddee(0x2fb)]:case _0xe02be6['EV']['BC3RGBAUnorm']:case _0xe02be6['EV'][_0x2fddee(0x8f4)]:case _0xe02be6['EV'][_0x2fddee(0xaf4)]:case _0xe02be6['EV'][_0x2fddee(0xbd5)]:return{'width':0x4,'height':0x4,'length':0x10};case _0xe02be6['EV'][_0x2fddee(0x626)]:case _0xe02be6['EV'][_0x2fddee(0xcf6)]:case _0xe02be6['EV'][_0x2fddee(0x798)]:case _0xe02be6['EV'][_0x2fddee(0x3a1)]:return{'width':0x4,'height':0x4,'length':0x8};case _0xe02be6['EV']['ETC2RGB8Unorm']:case _0xe02be6['EV']['ETC2RGB8UnormSRGB']:case _0xe02be6['EV'][_0x2fddee(0xb74)]:case _0xe02be6['EV'][_0x2fddee(0x1eb)]:case _0xe02be6['EV']['EACR11Unorm']:case _0xe02be6['EV'][_0x2fddee(0x738)]:return{'width':0x4,'height':0x4,'length':0x8};case _0xe02be6['EV'][_0x2fddee(0x549)]:case _0xe02be6['EV']['ETC2RGBA8UnormSRGB']:case _0xe02be6['EV']['EACRG11Unorm']:case _0xe02be6['EV']['EACRG11Snorm']:return{'width':0x4,'height':0x4,'length':0x10};case _0xe02be6['EV'][_0x2fddee(0x82b)]:case _0xe02be6['EV'][_0x2fddee(0x219)]:return{'width':0x4,'height':0x4,'length':0x10};case _0xe02be6['EV']['ASTC5x4Unorm']:case _0xe02be6['EV'][_0x2fddee(0xa68)]:return{'width':0x5,'height':0x4,'length':0x10};case _0xe02be6['EV'][_0x2fddee(0x7f2)]:case _0xe02be6['EV'][_0x2fddee(0xb24)]:return{'width':0x5,'height':0x5,'length':0x10};case _0xe02be6['EV']['ASTC6x5Unorm']:case _0xe02be6['EV']['ASTC6x5UnormSRGB']:return{'width':0x6,'height':0x5,'length':0x10};case _0xe02be6['EV'][_0x2fddee(0x17b)]:case _0xe02be6['EV']['ASTC6x6UnormSRGB']:return{'width':0x6,'height':0x6,'length':0x10};case _0xe02be6['EV'][_0x2fddee(0x35c)]:case _0xe02be6['EV']['ASTC8x5UnormSRGB']:return{'width':0x8,'height':0x5,'length':0x10};case _0xe02be6['EV'][_0x2fddee(0x4e3)]:case _0xe02be6['EV']['ASTC8x6UnormSRGB']:return{'width':0x8,'height':0x6,'length':0x10};case _0xe02be6['EV']['ASTC8x8Unorm']:case _0xe02be6['EV'][_0x2fddee(0x18d)]:return{'width':0x8,'height':0x8,'length':0x10};case _0xe02be6['EV'][_0x2fddee(0x2fe)]:case _0xe02be6['EV'][_0x2fddee(0x87e)]:return{'width':0xa,'height':0x5,'length':0x10};case _0xe02be6['EV'][_0x2fddee(0xc26)]:case _0xe02be6['EV'][_0x2fddee(0x25a)]:return{'width':0xa,'height':0x6,'length':0x10};case _0xe02be6['EV'][_0x2fddee(0xaa4)]:case _0xe02be6['EV'][_0x2fddee(0xa82)]:return{'width':0xa,'height':0x8,'length':0x10};case _0xe02be6['EV'][_0x2fddee(0x40c)]:case _0xe02be6['EV'][_0x2fddee(0x953)]:return{'width':0xa,'height':0xa,'length':0x10};case _0xe02be6['EV'][_0x2fddee(0xceb)]:case _0xe02be6['EV'][_0x2fddee(0x232)]:return{'width':0xc,'height':0xa,'length':0x10};case _0xe02be6['EV']['ASTC12x12Unorm']:case _0xe02be6['EV'][_0x2fddee(0x2a2)]:return{'width':0xc,'height':0xc,'length':0x10};}return{'width':0x1,'height':0x1,'length':0x4};}static[_0x3fe237(0x94e)](_0x5835e3){var _0x93b044=_0x3fe237;return!!_0x5835e3[_0x93b044(0x63e)];}static[_0x3fe237(0x619)](_0x1d866b){var _0x4c5b4b=_0x3fe237;return!!_0x1d866b[_0x4c5b4b(0x1cb)];}static[_0x3fe237(0x46f)](_0x23ce7f){var _0x385b3f=_0x3fe237;return void 0x0!==_0x23ce7f[_0x385b3f(0xd19)];}static[_0x3fe237(0x7f5)](_0x2bc5dc){var _0x46c767=_0x3fe237;return Array[_0x46c767(0x284)](_0x2bc5dc)&&void 0x0!==_0x2bc5dc[0x0]['close'];}[_0x3fe237(0x8f9)](_0x5827e2){this['_commandEncoderForCreation']=_0x5827e2;}static[_0x3fe237(0x5e2)](_0x1031d4){var _0x4ec547=_0x3fe237;switch(_0x1031d4){case _0xe02be6['EV']['BC7RGBAUnormSRGB']:case _0xe02be6['EV']['BC7RGBAUnorm']:case _0xe02be6['EV'][_0x4ec547(0x3cc)]:case _0xe02be6['EV'][_0x4ec547(0x5f7)]:case _0xe02be6['EV']['BC5RGSnorm']:case _0xe02be6['EV']['BC5RGUnorm']:case _0xe02be6['EV'][_0x4ec547(0xcf6)]:case _0xe02be6['EV'][_0x4ec547(0x626)]:case _0xe02be6['EV'][_0x4ec547(0x8f4)]:case _0xe02be6['EV']['BC3RGBAUnorm']:case _0xe02be6['EV']['BC2RGBAUnormSRGB']:case _0xe02be6['EV'][_0x4ec547(0xaf4)]:case _0xe02be6['EV'][_0x4ec547(0x3a1)]:case _0xe02be6['EV'][_0x4ec547(0x798)]:case _0xe02be6['EV']['ETC2RGB8Unorm']:case _0xe02be6['EV']['ETC2RGB8UnormSRGB']:case _0xe02be6['EV'][_0x4ec547(0xb74)]:case _0xe02be6['EV'][_0x4ec547(0x1eb)]:case _0xe02be6['EV'][_0x4ec547(0x549)]:case _0xe02be6['EV'][_0x4ec547(0x327)]:case _0xe02be6['EV'][_0x4ec547(0x2b0)]:case _0xe02be6['EV'][_0x4ec547(0x738)]:case _0xe02be6['EV']['EACRG11Unorm']:case _0xe02be6['EV'][_0x4ec547(0xd1d)]:case _0xe02be6['EV'][_0x4ec547(0x82b)]:case _0xe02be6['EV'][_0x4ec547(0x219)]:case _0xe02be6['EV']['ASTC5x4Unorm']:case _0xe02be6['EV'][_0x4ec547(0xa68)]:case _0xe02be6['EV']['ASTC5x5Unorm']:case _0xe02be6['EV']['ASTC5x5UnormSRGB']:case _0xe02be6['EV'][_0x4ec547(0x7fd)]:case _0xe02be6['EV'][_0x4ec547(0x4b0)]:case _0xe02be6['EV']['ASTC6x6Unorm']:case _0xe02be6['EV']['ASTC6x6UnormSRGB']:case _0xe02be6['EV']['ASTC8x5Unorm']:case _0xe02be6['EV'][_0x4ec547(0xa34)]:case _0xe02be6['EV'][_0x4ec547(0x4e3)]:case _0xe02be6['EV'][_0x4ec547(0x53e)]:case _0xe02be6['EV'][_0x4ec547(0x539)]:case _0xe02be6['EV'][_0x4ec547(0x18d)]:case _0xe02be6['EV'][_0x4ec547(0x2fe)]:case _0xe02be6['EV'][_0x4ec547(0x87e)]:case _0xe02be6['EV'][_0x4ec547(0xc26)]:case _0xe02be6['EV'][_0x4ec547(0x25a)]:case _0xe02be6['EV']['ASTC10x8Unorm']:case _0xe02be6['EV'][_0x4ec547(0xa82)]:case _0xe02be6['EV'][_0x4ec547(0x40c)]:case _0xe02be6['EV'][_0x4ec547(0x953)]:case _0xe02be6['EV'][_0x4ec547(0xceb)]:case _0xe02be6['EV'][_0x4ec547(0x232)]:case _0xe02be6['EV'][_0x4ec547(0x6ea)]:case _0xe02be6['EV'][_0x4ec547(0x2a2)]:return!0x0;}return!0x1;}static[_0x3fe237(0xa09)](_0x97e335,_0xdf9f0c,_0x52601=!0x1){var _0x26715b=_0x3fe237;switch(_0xdf9f0c){case _0x51f9e2['g'][_0x26715b(0xb46)]:return _0xe02be6['EV'][_0x26715b(0x701)];case _0x51f9e2['g'][_0x26715b(0x7b7)]:return _0xe02be6['EV']['Depth24Plus'];case _0x51f9e2['g']['TEXTUREFORMAT_DEPTH24_STENCIL8']:return _0xe02be6['EV'][_0x26715b(0xbe6)];case _0x51f9e2['g'][_0x26715b(0x2a6)]:return _0xe02be6['EV'][_0x26715b(0x2e1)];case _0x51f9e2['g']['TEXTUREFORMAT_DEPTH24UNORM_STENCIL8']:return _0xe02be6['EV'][_0x26715b(0xc2f)];case _0x51f9e2['g'][_0x26715b(0x6c1)]:return _0xe02be6['EV'][_0x26715b(0x926)];case _0x51f9e2['g'][_0x26715b(0x920)]:return _0xe02be6['EV']['Stencil8'];case _0x51f9e2['g'][_0x26715b(0x555)]:return _0x52601?_0xe02be6['EV'][_0x26715b(0xc44)]:_0xe02be6['EV'][_0x26715b(0x80e)];case _0x51f9e2['g'][_0x26715b(0x1d5)]:return _0xe02be6['EV']['BC6HRGBUFloat'];case _0x51f9e2['g'][_0x26715b(0xb38)]:return _0xe02be6['EV'][_0x26715b(0x3cc)];case _0x51f9e2['g'][_0x26715b(0xb25)]:return _0x52601?_0xe02be6['EV']['BC3RGBAUnormSRGB']:_0xe02be6['EV'][_0x26715b(0x727)];case _0x51f9e2['g'][_0x26715b(0x55c)]:return _0x52601?_0xe02be6['EV']['BC2RGBAUnormSRGB']:_0xe02be6['EV'][_0x26715b(0xaf4)];case _0x51f9e2['g'][_0x26715b(0x261)]:case _0x51f9e2['g'][_0x26715b(0x593)]:return _0x52601?_0xe02be6['EV'][_0x26715b(0x3a1)]:_0xe02be6['EV']['BC1RGBAUnorm'];case _0x51f9e2['g']['TEXTUREFORMAT_COMPRESSED_RGBA_ASTC_4x4']:return _0x52601?_0xe02be6['EV'][_0x26715b(0x219)]:_0xe02be6['EV'][_0x26715b(0x82b)];case _0x51f9e2['g'][_0x26715b(0xb68)]:case _0x51f9e2['g']['TEXTUREFORMAT_COMPRESSED_RGB8_ETC2']:return _0x52601?_0xe02be6['EV'][_0x26715b(0xd10)]:_0xe02be6['EV'][_0x26715b(0xd23)];case _0x51f9e2['g'][_0x26715b(0xcda)]:return _0x52601?_0xe02be6['EV']['ETC2RGBA8UnormSRGB']:_0xe02be6['EV'][_0x26715b(0x549)];}switch(_0x97e335){case _0x51f9e2['g'][_0x26715b(0xccc)]:switch(_0xdf9f0c){case _0x51f9e2['g'][_0x26715b(0x725)]:return _0xe02be6['EV'][_0x26715b(0x209)];case _0x51f9e2['g'][_0x26715b(0x744)]:return _0xe02be6['EV'][_0x26715b(0xb6c)];case _0x51f9e2['g'][_0x26715b(0x595)]:throw _0x26715b(0xd42);case _0x51f9e2['g'][_0x26715b(0x88f)]:return _0xe02be6['EV'][_0x26715b(0xa00)];case _0x51f9e2['g'][_0x26715b(0xbc2)]:return _0xe02be6['EV']['RG8Sint'];case _0x51f9e2['g'][_0x26715b(0x466)]:throw _0x26715b(0xbe7);case _0x51f9e2['g'][_0x26715b(0xc0b)]:return _0xe02be6['EV']['RGBA8Sint'];default:return _0xe02be6['EV']['RGBA8Snorm'];}case _0x51f9e2['g'][_0x26715b(0xb0a)]:switch(_0xdf9f0c){case _0x51f9e2['g'][_0x26715b(0x725)]:return _0xe02be6['EV']['R8Unorm'];case _0x51f9e2['g'][_0x26715b(0x744)]:return _0xe02be6['EV'][_0x26715b(0x54e)];case _0x51f9e2['g'][_0x26715b(0x595)]:throw _0x26715b(0x6bf);case _0x51f9e2['g'][_0x26715b(0x7a9)]:return _0x52601?_0xe02be6['EV'][_0x26715b(0x166)]:_0xe02be6['EV'][_0x26715b(0x604)];case _0x51f9e2['g'][_0x26715b(0x3a5)]:return _0x52601?_0xe02be6['EV'][_0x26715b(0x43c)]:_0xe02be6['EV'][_0x26715b(0x8cd)];case _0x51f9e2['g']['TEXTUREFORMAT_RED_INTEGER']:return _0xe02be6['EV']['R8Uint'];case _0x51f9e2['g'][_0x26715b(0xbc2)]:return _0xe02be6['EV'][_0x26715b(0x4b4)];case _0x51f9e2['g'][_0x26715b(0x466)]:throw _0x26715b(0xbe7);case _0x51f9e2['g'][_0x26715b(0xc0b)]:return _0xe02be6['EV']['RGBA8Uint'];case _0x51f9e2['g'][_0x26715b(0xc46)]:throw _0x26715b(0x564);case _0x51f9e2['g']['TEXTUREFORMAT_LUMINANCE']:throw'TEXTUREFORMAT_LUMINANCE\x20format\x20not\x20supported\x20in\x20WebGPU';case _0x51f9e2['g'][_0x26715b(0xcc2)]:throw _0x26715b(0x984);default:return _0xe02be6['EV'][_0x26715b(0x604)];}case _0x51f9e2['g'][_0x26715b(0x30d)]:switch(_0xdf9f0c){case _0x51f9e2['g']['TEXTUREFORMAT_RED_INTEGER']:return _0xe02be6['EV']['R16Sint'];case _0x51f9e2['g']['TEXTUREFORMAT_RG_INTEGER']:return _0xe02be6['EV'][_0x26715b(0x6be)];case _0x51f9e2['g'][_0x26715b(0x466)]:throw _0x26715b(0x4fa);default:return _0x51f9e2['g']['TEXTUREFORMAT_RGBA_INTEGER'],_0xe02be6['EV']['RGBA16Sint'];}case _0x51f9e2['g'][_0x26715b(0x915)]:switch(_0xdf9f0c){case _0x51f9e2['g']['TEXTUREFORMAT_RED_INTEGER']:return _0xe02be6['EV'][_0x26715b(0x1f7)];case _0x51f9e2['g'][_0x26715b(0xbc2)]:return _0xe02be6['EV'][_0x26715b(0xcee)];case _0x51f9e2['g']['TEXTUREFORMAT_RGB_INTEGER']:throw _0x26715b(0x4fa);default:return _0x51f9e2['g']['TEXTUREFORMAT_RGBA_INTEGER'],_0xe02be6['EV'][_0x26715b(0x78b)];}case _0x51f9e2['g'][_0x26715b(0x90b)]:switch(_0xdf9f0c){case _0x51f9e2['g'][_0x26715b(0x88f)]:return _0xe02be6['EV'][_0x26715b(0xaa9)];case _0x51f9e2['g'][_0x26715b(0xbc2)]:return _0xe02be6['EV'][_0x26715b(0x51f)];case _0x51f9e2['g'][_0x26715b(0x466)]:throw'TEXTUREFORMAT_RGB_INTEGER\x20format\x20not\x20supported\x20in\x20WebGPU';default:return _0x51f9e2['g'][_0x26715b(0xc0b)],_0xe02be6['EV'][_0x26715b(0x18b)];}case _0x51f9e2['g'][_0x26715b(0x66c)]:switch(_0xdf9f0c){case _0x51f9e2['g'][_0x26715b(0x88f)]:return _0xe02be6['EV'][_0x26715b(0x471)];case _0x51f9e2['g']['TEXTUREFORMAT_RG_INTEGER']:return _0xe02be6['EV'][_0x26715b(0xad0)];case _0x51f9e2['g'][_0x26715b(0x466)]:throw'TEXTUREFORMAT_RGB_INTEGER\x20format\x20not\x20supported\x20in\x20WebGPU';default:return _0x51f9e2['g'][_0x26715b(0xc0b)],_0xe02be6['EV'][_0x26715b(0x838)];}case _0x51f9e2['g']['TEXTURETYPE_FLOAT']:switch(_0xdf9f0c){case _0x51f9e2['g']['TEXTUREFORMAT_RED']:return _0xe02be6['EV']['R32Float'];case _0x51f9e2['g']['TEXTUREFORMAT_RG']:return _0xe02be6['EV']['RG32Float'];case _0x51f9e2['g'][_0x26715b(0x595)]:throw'TEXTUREFORMAT_RGB\x20format\x20not\x20supported\x20in\x20WebGPU';default:return _0x51f9e2['g'][_0x26715b(0x7a9)],_0xe02be6['EV'][_0x26715b(0x9b1)];}case _0x51f9e2['g'][_0x26715b(0x986)]:switch(_0xdf9f0c){case _0x51f9e2['g'][_0x26715b(0x725)]:return _0xe02be6['EV'][_0x26715b(0x76c)];case _0x51f9e2['g'][_0x26715b(0x744)]:return _0xe02be6['EV']['RG16Float'];case _0x51f9e2['g'][_0x26715b(0x595)]:throw'TEXTUREFORMAT_RGB\x20format\x20not\x20supported\x20in\x20WebGPU';default:return _0x51f9e2['g'][_0x26715b(0x7a9)],_0xe02be6['EV'][_0x26715b(0x5b0)];}case _0x51f9e2['g']['TEXTURETYPE_UNSIGNED_SHORT_5_6_5']:throw _0x26715b(0xd70);case _0x51f9e2['g'][_0x26715b(0xd58)]:throw'TEXTURETYPE_UNSIGNED_INT_10F_11F_11F_REV\x20format\x20not\x20supported\x20in\x20WebGPU';case _0x51f9e2['g'][_0x26715b(0x87f)]:throw _0x26715b(0x302);case _0x51f9e2['g'][_0x26715b(0xa9b)]:throw _0x26715b(0x4d3);case _0x51f9e2['g']['TEXTURETYPE_UNSIGNED_SHORT_5_5_5_1']:throw _0x26715b(0xb0c);case _0x51f9e2['g'][_0x26715b(0xcdd)]:switch(_0xdf9f0c){case _0x51f9e2['g'][_0x26715b(0x7a9)]:return _0xe02be6['EV'][_0x26715b(0xb97)];case _0x51f9e2['g'][_0x26715b(0xc0b)]:throw'TEXTUREFORMAT_RGBA_INTEGER\x20format\x20not\x20supported\x20in\x20WebGPU\x20when\x20type\x20is\x20TEXTURETYPE_UNSIGNED_INT_2_10_10_10_REV';default:return _0xe02be6['EV'][_0x26715b(0xb97)];}}return _0x52601?_0xe02be6['EV'][_0x26715b(0x166)]:_0xe02be6['EV'][_0x26715b(0x604)];}static[_0x3fe237(0xa4c)](_0x3124ec){var _0x1cc5d4=_0x3fe237;switch(_0x3124ec){case _0xe02be6['EV']['R8Unorm']:case _0xe02be6['EV'][_0x1cc5d4(0x209)]:case _0xe02be6['EV'][_0x1cc5d4(0x229)]:case _0xe02be6['EV'][_0x1cc5d4(0xa00)]:case _0xe02be6['EV'][_0x1cc5d4(0x626)]:case _0xe02be6['EV'][_0x1cc5d4(0xcf6)]:case _0xe02be6['EV']['R16Uint']:case _0xe02be6['EV']['R16Sint']:case _0xe02be6['EV'][_0x1cc5d4(0x701)]:case _0xe02be6['EV'][_0x1cc5d4(0x76c)]:case _0xe02be6['EV'][_0x1cc5d4(0x471)]:case _0xe02be6['EV']['R32Sint']:case _0xe02be6['EV']['R32Float']:case _0xe02be6['EV'][_0x1cc5d4(0x2e1)]:case _0xe02be6['EV'][_0x1cc5d4(0xae9)]:case _0xe02be6['EV'][_0x1cc5d4(0x37a)]:case _0xe02be6['EV'][_0x1cc5d4(0x2b0)]:case _0xe02be6['EV']['EACR11Snorm']:return 0x1;case _0xe02be6['EV'][_0x1cc5d4(0x54e)]:case _0xe02be6['EV']['RG8Snorm']:case _0xe02be6['EV'][_0x1cc5d4(0x4b4)]:case _0xe02be6['EV'][_0x1cc5d4(0x358)]:case _0xe02be6['EV'][_0x1cc5d4(0xc2f)]:case _0xe02be6['EV'][_0x1cc5d4(0x926)]:case _0xe02be6['EV']['BC5RGUnorm']:case _0xe02be6['EV']['BC5RGSnorm']:case _0xe02be6['EV'][_0x1cc5d4(0xcee)]:case _0xe02be6['EV'][_0x1cc5d4(0x6be)]:case _0xe02be6['EV'][_0x1cc5d4(0x6ff)]:case _0xe02be6['EV'][_0x1cc5d4(0xad0)]:case _0xe02be6['EV'][_0x1cc5d4(0x51f)]:case _0xe02be6['EV']['RG32Float']:case _0xe02be6['EV'][_0x1cc5d4(0xbe6)]:case _0xe02be6['EV']['EACRG11Unorm']:case _0xe02be6['EV'][_0x1cc5d4(0xd1d)]:return 0x2;case _0xe02be6['EV'][_0x1cc5d4(0x93e)]:case _0xe02be6['EV'][_0x1cc5d4(0xc30)]:case _0xe02be6['EV']['BC6HRGBUFloat']:case _0xe02be6['EV'][_0x1cc5d4(0x3cc)]:case _0xe02be6['EV'][_0x1cc5d4(0xd23)]:case _0xe02be6['EV'][_0x1cc5d4(0xd10)]:return 0x3;case _0xe02be6['EV'][_0x1cc5d4(0x604)]:case _0xe02be6['EV'][_0x1cc5d4(0x166)]:case _0xe02be6['EV'][_0x1cc5d4(0x4b2)]:case _0xe02be6['EV'][_0x1cc5d4(0x768)]:case _0xe02be6['EV']['RGBA8Sint']:case _0xe02be6['EV']['BGRA8Unorm']:case _0xe02be6['EV'][_0x1cc5d4(0x43c)]:case _0xe02be6['EV'][_0x1cc5d4(0xb97)]:case _0xe02be6['EV'][_0x1cc5d4(0x80e)]:case _0xe02be6['EV'][_0x1cc5d4(0xc44)]:case _0xe02be6['EV'][_0x1cc5d4(0x727)]:case _0xe02be6['EV']['BC3RGBAUnormSRGB']:case _0xe02be6['EV'][_0x1cc5d4(0xaf4)]:case _0xe02be6['EV'][_0x1cc5d4(0xbd5)]:case _0xe02be6['EV'][_0x1cc5d4(0x798)]:case _0xe02be6['EV'][_0x1cc5d4(0x3a1)]:case _0xe02be6['EV'][_0x1cc5d4(0x78b)]:case _0xe02be6['EV'][_0x1cc5d4(0xd62)]:case _0xe02be6['EV']['RGBA16Float']:case _0xe02be6['EV'][_0x1cc5d4(0x838)]:case _0xe02be6['EV'][_0x1cc5d4(0x18b)]:case _0xe02be6['EV'][_0x1cc5d4(0x9b1)]:case _0xe02be6['EV'][_0x1cc5d4(0xb74)]:case _0xe02be6['EV']['ETC2RGB8A1UnormSRGB']:case _0xe02be6['EV'][_0x1cc5d4(0x549)]:case _0xe02be6['EV'][_0x1cc5d4(0x327)]:case _0xe02be6['EV']['ASTC4x4Unorm']:case _0xe02be6['EV'][_0x1cc5d4(0x219)]:case _0xe02be6['EV'][_0x1cc5d4(0xbca)]:case _0xe02be6['EV'][_0x1cc5d4(0xa68)]:case _0xe02be6['EV']['ASTC5x5Unorm']:case _0xe02be6['EV']['ASTC5x5UnormSRGB']:case _0xe02be6['EV']['ASTC6x5Unorm']:case _0xe02be6['EV'][_0x1cc5d4(0x4b0)]:case _0xe02be6['EV'][_0x1cc5d4(0x17b)]:case _0xe02be6['EV'][_0x1cc5d4(0x855)]:case _0xe02be6['EV'][_0x1cc5d4(0x35c)]:case _0xe02be6['EV'][_0x1cc5d4(0xa34)]:case _0xe02be6['EV']['ASTC8x6Unorm']:case _0xe02be6['EV'][_0x1cc5d4(0x53e)]:case _0xe02be6['EV']['ASTC8x8Unorm']:case _0xe02be6['EV'][_0x1cc5d4(0x18d)]:case _0xe02be6['EV'][_0x1cc5d4(0x2fe)]:case _0xe02be6['EV'][_0x1cc5d4(0x87e)]:case _0xe02be6['EV']['ASTC10x6Unorm']:case _0xe02be6['EV'][_0x1cc5d4(0x25a)]:case _0xe02be6['EV'][_0x1cc5d4(0xaa4)]:case _0xe02be6['EV'][_0x1cc5d4(0xa82)]:case _0xe02be6['EV'][_0x1cc5d4(0x40c)]:case _0xe02be6['EV'][_0x1cc5d4(0x953)]:case _0xe02be6['EV'][_0x1cc5d4(0xceb)]:case _0xe02be6['EV']['ASTC12x10UnormSRGB']:case _0xe02be6['EV']['ASTC12x12Unorm']:case _0xe02be6['EV']['ASTC12x12UnormSRGB']:return 0x4;}throw _0x1cc5d4(0x63d)+_0x3124ec+'!';}static[_0x3fe237(0x435)](_0xfbc607){var _0x2a3543=_0x3fe237;switch(_0xfbc607){case _0xe02be6['EV'][_0x2a3543(0xae9)]:case _0xe02be6['EV'][_0x2a3543(0xc2f)]:case _0xe02be6['EV'][_0x2a3543(0x926)]:case _0xe02be6['EV'][_0x2a3543(0xbe6)]:return!0x0;}return!0x1;}static[_0x3fe237(0x9f0)](_0x296037){var _0x2a3a85=_0x3fe237;switch(_0x296037){case _0xe02be6['EV'][_0x2a3a85(0xc2f)]:case _0xe02be6['EV']['Depth32FloatStencil8']:case _0xe02be6['EV']['Depth24PlusStencil8']:return!0x0;}return!0x1;}static[_0x3fe237(0x722)](_0x40209c){var _0x40fbe0=_0x3fe237;switch(_0x40209c){case _0xe02be6['EV'][_0x40fbe0(0x701)]:return _0xe02be6['EV'][_0x40fbe0(0x701)];case _0xe02be6['EV']['Depth24Plus']:case _0xe02be6['EV'][_0x40fbe0(0xbe6)]:case _0xe02be6['EV']['Depth24UnormStencil8']:return _0xe02be6['EV'][_0x40fbe0(0x37a)];case _0xe02be6['EV'][_0x40fbe0(0x2e1)]:case _0xe02be6['EV'][_0x40fbe0(0x926)]:return _0xe02be6['EV'][_0x40fbe0(0x2e1)];}return _0x40209c;}[_0x3fe237(0x97d)](_0x43d725,_0x593cff,_0x349a2b,_0x3d6dcb=!0x1,_0x520fc2){var _0x2e72d4=_0x3fe237,_0x5bb775=void 0x0===_0x520fc2,[_0x44014a,_0x5baa1c]=this[_0x2e72d4(0xc93)](_0x349a2b,_0x3d6dcb?_0x282eb4[_0x2e72d4(0x92b)]:_0x282eb4[_0x2e72d4(0x334)]);null!=(_0x48d42d=(_0x4a4143=_0x520fc2=_0x5bb775?this['_device'][_0x2e72d4(0xd34)]({}):_0x520fc2)[_0x2e72d4(0x514)])&&_0x48d42d[_0x2e72d4(0x9e2)](_0x4a4143,_0x2e72d4(0x8d8)+_0x3d6dcb);const _0x5061ca=_0x593cff[_0x2e72d4(0xa52)];var _0x48d42d={'colorAttachments':[{'view':_0x5061ca[_0x2e72d4(0x51e)][_0x2e72d4(0x8dc)]({'format':_0x349a2b,'dimension':_0xe02be6['p_'][_0x2e72d4(0xb9d)],'mipLevelCount':0x1,'baseArrayLayer':0x0,'baseMipLevel':0x0,'arrayLayerCount':0x1,'aspect':_0xe02be6['H7']['All']}),'loadOp':_0xe02be6['Ws'][_0x2e72d4(0x7f4)],'storeOp':_0xe02be6['EG']['Store']}]};const _0xb2b6b8=_0x520fc2[_0x2e72d4(0xd80)](_0x48d42d);var _0x4a4143={'layout':_0x5baa1c,'entries':[{'binding':0x0,'resource':this[_0x2e72d4(0xc75)]},{'binding':0x1,'resource':this[_0x2e72d4(0x391)][_0x2e72d4(0x3bc)]({'source':_0x43d725[_0x2e72d4(0x51e)]})}]},_0x3d6dcb=this['_device'][_0x2e72d4(0x92a)](_0x4a4143);_0xb2b6b8[_0x2e72d4(0x821)](_0x44014a),_0xb2b6b8[_0x2e72d4(0x614)](0x0,_0x3d6dcb),_0xb2b6b8[_0x2e72d4(0x83a)](0x4,0x1,0x0,0x0),_0xb2b6b8['end'](),null!=(_0x349a2b=(_0x593cff=_0x520fc2)[_0x2e72d4(0xa64)])&&_0x349a2b[_0x2e72d4(0x9e2)](_0x593cff),_0x5bb775&&this[_0x2e72d4(0x391)][_0x2e72d4(0xb52)]['submit']([_0x520fc2[_0x2e72d4(0x77e)]()]);}['invertYPreMultiplyAlpha'](_0xde1711,_0x230bd2,_0x4cde64,_0x15a228,_0x1f244c=!0x1,_0x27d6fa=!0x1,_0x4f15b3=0x0,_0x2ddb52=0x0,_0x14a080=0x1,_0x2729a4=0x0,_0x2ba8f6=0x0,_0x155041=0x0,_0x456b9c=0x0,_0x2c9015,_0x5a3f43){var _0x26358f=_0x3fe237,_0x37569b,_0x433626,_0x2e22b9=0x0!==_0x155041,_0x4632d9=void 0x0===_0x2c9015,[_0x2815aa,_0x1ba3d4]=this[_0x26358f(0x506)](_0x15a228,_0x2e22b9?_0x5e276f['InvertYPremultiplyAlphaWithOfst']:_0x5e276f[_0x26358f(0x199)],{'invertY':_0x1f244c,'premultiplyAlpha':_0x27d6fa});_0x4f15b3=Math['max'](_0x4f15b3,0x0),null!=(_0x37569b=(_0x433626=_0x2c9015=_0x4632d9?this[_0x26358f(0x391)][_0x26358f(0xd34)]({}):_0x2c9015)[_0x26358f(0x514)])&&_0x37569b[_0x26358f(0x9e2)](_0x433626,_0x26358f(0xcae)+_0x1f244c+_0x26358f(0x3df)+_0x27d6fa);let _0x20ce21;if(_0x3854cd[_0x26358f(0x94e)](_0xde1711)?(_0x20ce21=_0xde1711[_0x26358f(0x51e)],_0x1f244c&&!_0x27d6fa&&0x1===_0x14a080&&0x0===_0x4f15b3||(_0xde1711=void 0x0)):(_0x20ce21=_0xde1711,_0xde1711=void 0x0),_0x20ce21){_0x2e22b9&&this[_0x26358f(0xc2a)][_0x26358f(0x495)](this[_0x26358f(0x4a6)],0x0,new Float32Array([_0x2729a4,_0x2ba8f6,_0x155041,_0x456b9c]),0x0,0x10);const _0x1da566=_0xde1711,_0x43a6c3=null!=(_0x37569b=null===_0x1da566||void 0x0===_0x1da566?void 0x0:_0x1da566[_0x26358f(0x2f0)])?_0x37569b:this[_0x26358f(0xa28)]({'width':_0x230bd2,'height':_0x4cde64,'layers':0x1},!0x1,!0x1,!0x1,!0x1,!0x1,_0x15a228,0x1,_0x2c9015,_0xe02be6['v2'][_0x26358f(0x7dc)]|_0xe02be6['v2'][_0x26358f(0x758)]|_0xe02be6['v2']['TextureBinding'],void 0x0,_0x26358f(0xce3));_0x1f244c=null!=(_0x433626=null===_0x1da566||void 0x0===_0x1da566?void 0x0:_0x1da566[_0x26358f(0x3fa)])?_0x433626:{'colorAttachments':[{'view':_0x43a6c3['createView']({'format':_0x15a228,'dimension':_0xe02be6['p_'][_0x26358f(0xb9d)],'baseMipLevel':0x0,'mipLevelCount':0x1,'arrayLayerCount':0x1,'baseArrayLayer':0x0}),'loadOp':_0xe02be6['Ws']['Load'],'storeOp':_0xe02be6['EG'][_0x26358f(0x322)]}]};const _0xc89d05=_0x2c9015[_0x26358f(0xd80)](_0x1f244c);let _0x592d2b=_0x2e22b9?null===_0x1da566||void 0x0===_0x1da566?void 0x0:_0x1da566[_0x26358f(0x221)]:null===_0x1da566||void 0x0===_0x1da566?void 0x0:_0x1da566[_0x26358f(0x21d)];if(!_0x592d2b){const _0xc5a391={'layout':_0x1ba3d4,'entries':[{'binding':0x0,'resource':_0x20ce21[_0x26358f(0x8dc)]({'format':_0x15a228,'dimension':_0xe02be6['p_'][_0x26358f(0xb9d)],'baseMipLevel':_0x2ddb52,'mipLevelCount':0x1,'arrayLayerCount':_0x14a080,'baseArrayLayer':_0x4f15b3})}]};_0x2e22b9&&_0xc5a391['entries'][_0x26358f(0x303)]({'binding':0x1,'resource':{'buffer':this[_0x26358f(0x4a6)]}}),_0x592d2b=this['_device'][_0x26358f(0x92a)](_0xc5a391);}_0xc89d05['setPipeline'](_0x2815aa),_0xc89d05[_0x26358f(0x614)](0x0,_0x592d2b),_0xc89d05['draw'](0x4,0x1,0x0,0x0),_0xc89d05[_0x26358f(0x40f)](),_0x2c9015['copyTextureToTexture']({'texture':_0x43a6c3},{'texture':_0x20ce21,'mipLevel':_0x2ddb52,'origin':{'x':0x0,'y':0x0,'z':_0x4f15b3}},{'width':_0x230bd2,'height':_0x4cde64,'depthOrArrayLayers':0x1}),_0x1da566?(_0x1da566[_0x26358f(0x2f0)]=_0x43a6c3,_0x1da566[_0x26358f(0x3fa)]=_0x1f244c,_0x2e22b9?_0x1da566['_copyInvertYBindGroupWithOfst']=_0x592d2b:_0x1da566['_copyInvertYBindGroup']=_0x592d2b):this[_0x26358f(0x2d6)][_0x26358f(0x303)]([_0x43a6c3,null]),null!=(_0x2729a4=(_0x27d6fa=_0x2c9015)[_0x26358f(0xa64)])&&_0x2729a4[_0x26358f(0x9e2)](_0x27d6fa),_0x4632d9&&this[_0x26358f(0x391)]['queue'][_0x26358f(0xa24)]([_0x2c9015[_0x26358f(0x77e)]()]);}}[_0x3fe237(0xba6)](_0x407238,_0x25d46c,_0x266302,_0xbdd276){var _0x1db29e=_0x3fe237,_0x5d3742,_0x185758=void 0x0===_0xbdd276,[_0x25d46c,_0xbf1c4c]=this[_0x1db29e(0x506)](_0x25d46c,_0x5e276f['InvertYPremultiplyAlpha'],{'invertY':!0x0,'premultiplyAlpha':!0x1});null!=(_0x4cc246=(_0x5d3742=_0xbdd276=_0x185758?this['_device'][_0x1db29e(0xd34)]({}):_0xbdd276)[_0x1db29e(0x514)])&&_0x4cc246[_0x1db29e(0x9e2)](_0x5d3742,_0x1db29e(0x5cb));const _0x304eb2=_0xbdd276[_0x1db29e(0xd80)](_0x266302);var _0x4cc246=this[_0x1db29e(0x391)][_0x1db29e(0x92a)]({'layout':_0xbf1c4c,'entries':[{'binding':0x0,'resource':_0x407238}]});_0x304eb2[_0x1db29e(0x821)](_0x25d46c),_0x304eb2['setBindGroup'](0x0,_0x4cc246),_0x304eb2[_0x1db29e(0x83a)](0x4,0x1,0x0,0x0),_0x304eb2[_0x1db29e(0x40f)](),null!=(_0x266302=(_0x5d3742=_0xbdd276)[_0x1db29e(0xa64)])&&_0x266302['call'](_0x5d3742),_0x185758&&this[_0x1db29e(0x391)][_0x1db29e(0xb52)][_0x1db29e(0xa24)]([_0xbdd276[_0x1db29e(0x77e)]()]);}[_0x3fe237(0xa28)](_0x16f4e2,_0x49c7df=!0x1,_0x478705=!0x1,_0x560b37=!0x1,_0x4cd5fc=!0x1,_0x1a5a11=!0x1,_0x416b83=_0xe02be6['EV'][_0x3fe237(0x604)],_0xfb8cf2=0x1,_0x2295b2,_0x1eb954=-0x1,_0x9680ce=0x0,_0x1b2726){var _0x14ad6b=_0x3fe237;0x1<_0xfb8cf2&&(_0xfb8cf2=0x4);var _0x3f5810=_0x16f4e2[_0x14ad6b(0x9b5)]||0x1,_0x3c41f0={'width':_0x16f4e2[_0x14ad6b(0x639)],'height':_0x16f4e2[_0x14ad6b(0x690)],'depthOrArrayLayers':_0x3f5810},_0x56071d=_0x3854cd[_0x14ad6b(0x5e2)](_0x416b83),_0x1b6b56=_0x49c7df?_0x3854cd[_0x14ad6b(0x372)](_0x16f4e2['width'],_0x16f4e2[_0x14ad6b(0x690)]):0x1,_0x1eb954=0x0<=_0x1eb954?_0x1eb954:_0xe02be6['v2'][_0x14ad6b(0x7dc)]|_0xe02be6['v2'][_0x14ad6b(0x6b8)]|_0xe02be6['v2'][_0x14ad6b(0x24d)],_0x56071d=(_0x9680ce|=_0x49c7df&&!_0x56071d?_0xe02be6['v2'][_0x14ad6b(0x7dc)]|_0xe02be6['v2'][_0x14ad6b(0x758)]:0x0,_0x56071d||_0x1a5a11||(_0x9680ce|=_0xe02be6['v2'][_0x14ad6b(0x758)]|_0xe02be6['v2'][_0x14ad6b(0x6b8)]),this[_0x14ad6b(0x391)][_0x14ad6b(0xa28)]({'label':_0x14ad6b(0x46a)+(_0x1a5a11?'3D':'2D')+'_'+(_0x1b2726?_0x1b2726+'_':'')+_0x3c41f0['width']+'x'+_0x3c41f0[_0x14ad6b(0x690)]+'x'+_0x3c41f0[_0x14ad6b(0xa88)]+'_'+(_0x49c7df?_0x14ad6b(0xd16):_0x14ad6b(0x32d))+'_'+_0x416b83+_0x14ad6b(0x26a)+_0xfb8cf2,'size':_0x3c41f0,'dimension':_0x1a5a11?_0xe02be6['kd'][_0x14ad6b(0x6c9)]:_0xe02be6['kd'][_0x14ad6b(0xb9d)],'format':_0x416b83,'usage':_0x1eb954|_0x9680ce,'sampleCount':_0xfb8cf2,'mipLevelCount':_0x1b6b56}));return _0x3854cd['IsImageBitmap'](_0x16f4e2)&&(this[_0x14ad6b(0x9fd)](_0x16f4e2,_0x56071d,_0x16f4e2[_0x14ad6b(0x639)],_0x16f4e2[_0x14ad6b(0x690)],_0x3f5810,_0x416b83,0x0,0x0,_0x560b37,_0x4cd5fc,0x0,0x0),_0x49c7df&&_0x478705&&this[_0x14ad6b(0xd5f)](_0x56071d,_0x416b83,_0x1b6b56,0x0,_0x2295b2)),_0x56071d;}[_0x3fe237(0xc06)](_0x3ca31c,_0x3bcf26=!0x1,_0x175362=!0x1,_0x14348e=!0x1,_0x3e9970=!0x1,_0x49093b=_0xe02be6['EV'][_0x3fe237(0x604)],_0x3a7b6f=0x1,_0x546598,_0x2db0f9=-0x1,_0x5b5054=0x0,_0xb1e15){var _0x1988c1=_0x3fe237;0x1<_0x3a7b6f&&(_0x3a7b6f=0x4);var _0x4bdf4c=(_0x3854cd[_0x1988c1(0x7f5)](_0x3ca31c)?_0x3ca31c[0x0]:_0x3ca31c)[_0x1988c1(0x639)],_0x3a35a0=(_0x3854cd['IsImageBitmapArray'](_0x3ca31c)?_0x3ca31c[0x0]:_0x3ca31c)[_0x1988c1(0x690)],_0x54ac5d=_0x3854cd[_0x1988c1(0x5e2)](_0x49093b),_0x5aa076=_0x3bcf26?_0x3854cd[_0x1988c1(0x372)](_0x4bdf4c,_0x3a35a0):0x1,_0x2db0f9=0x0<=_0x2db0f9?_0x2db0f9:_0xe02be6['v2'][_0x1988c1(0x7dc)]|_0xe02be6['v2']['CopyDst']|_0xe02be6['v2'][_0x1988c1(0x24d)],_0x54ac5d=(_0x5b5054|=_0x3bcf26&&!_0x54ac5d?_0xe02be6['v2'][_0x1988c1(0x7dc)]|_0xe02be6['v2'][_0x1988c1(0x758)]:0x0,_0x54ac5d||(_0x5b5054|=_0xe02be6['v2'][_0x1988c1(0x758)]|_0xe02be6['v2'][_0x1988c1(0x6b8)]),this[_0x1988c1(0x391)][_0x1988c1(0xa28)]({'label':_0x1988c1(0xc77)+(_0xb1e15?_0xb1e15+'_':'')+_0x4bdf4c+'x'+_0x3a35a0+_0x1988c1(0x7e2)+(_0x3bcf26?_0x1988c1(0xd16):_0x1988c1(0x32d))+'_'+_0x49093b+_0x1988c1(0x26a)+_0x3a7b6f,'size':{'width':_0x4bdf4c,'height':_0x3a35a0,'depthOrArrayLayers':0x6},'dimension':_0xe02be6['kd'][_0x1988c1(0xb9d)],'format':_0x49093b,'usage':_0x2db0f9|_0x5b5054,'sampleCount':_0x3a7b6f,'mipLevelCount':_0x5aa076}));return _0x3854cd[_0x1988c1(0x7f5)](_0x3ca31c)&&(this[_0x1988c1(0xd48)](_0x3ca31c,_0x54ac5d,_0x4bdf4c,_0x3a35a0,_0x49093b,_0x14348e,_0x3e9970,0x0,0x0),_0x3bcf26&&_0x175362&&this[_0x1988c1(0xa70)](_0x54ac5d,_0x49093b,_0x5aa076,_0x546598)),_0x54ac5d;}[_0x3fe237(0xa70)](_0x3f43af,_0x287259,_0x116606,_0x451d49){var _0x3291bc=_0x3fe237,_0x2abad4,_0x1c1741,_0x51f112=void 0x0===_0x451d49;null!=(_0x2abad4=(_0x1c1741=_0x451d49=_0x51f112?this[_0x3291bc(0x391)][_0x3291bc(0xd34)]({}):_0x451d49)[_0x3291bc(0x514)])&&_0x2abad4[_0x3291bc(0x9e2)](_0x1c1741,_0x3291bc(0xc58)+_0x116606+'\x20levels');for(let _0x4b7b92=0x0;_0x4b7b92<0x6;++_0x4b7b92)this[_0x3291bc(0xd5f)](_0x3f43af,_0x287259,_0x116606,_0x4b7b92,_0x451d49);null!=(_0x1c1741=(_0x2abad4=_0x451d49)[_0x3291bc(0xa64)])&&_0x1c1741[_0x3291bc(0x9e2)](_0x2abad4),_0x51f112&&this['_device'][_0x3291bc(0xb52)][_0x3291bc(0xa24)]([_0x451d49[_0x3291bc(0x77e)]()]);}['generateMipmaps'](_0x3ee3c7,_0x3f7a5e,_0x20ee10,_0x41cb3f=0x0,_0x21e294){var _0x2e9f3e=_0x3fe237,_0x32b9b6,_0x5ee211,_0x1036e2=void 0x0===_0x21e294,[_0x1bcd20,_0x568f7e]=this[_0x2e9f3e(0x506)](_0x3f7a5e);_0x41cb3f=Math[_0x2e9f3e(0x713)](_0x41cb3f,0x0),null!=(_0x32b9b6=(_0x5ee211=_0x21e294=_0x1036e2?this[_0x2e9f3e(0x391)]['createCommandEncoder']({}):_0x21e294)['pushDebugGroup'])&&_0x32b9b6[_0x2e9f3e(0x9e2)](_0x5ee211,_0x2e9f3e(0xce7)+_0x41cb3f+_0x2e9f3e(0xd3c)+_0x20ee10+_0x2e9f3e(0xab5));let _0x52f1e0;if(_0x3854cd[_0x2e9f3e(0x94e)](_0x3ee3c7)?(_0x52f1e0=_0x3ee3c7[_0x2e9f3e(0x51e)],_0x3ee3c7[_0x2e9f3e(0x246)]=_0x3ee3c7[_0x2e9f3e(0x246)]||[],_0x3ee3c7[_0x2e9f3e(0x5e3)]=_0x3ee3c7[_0x2e9f3e(0x5e3)]||[]):(_0x52f1e0=_0x3ee3c7,_0x3ee3c7=void 0x0),_0x52f1e0){const _0x11a52e=_0x3ee3c7;for(let _0x5a51a2=0x1;_0x5a51a2<_0x20ee10;++_0x5a51a2){var _0x359c9a=null!=(_0x359c9a=null==(_0x359c9a=null===_0x11a52e||void 0x0===_0x11a52e?void 0x0:_0x11a52e[_0x2e9f3e(0x246)][_0x41cb3f])?void 0x0:_0x359c9a[_0x5a51a2-0x1])?_0x359c9a:{'colorAttachments':[{'view':_0x52f1e0[_0x2e9f3e(0x8dc)]({'format':_0x3f7a5e,'dimension':_0xe02be6['p_'][_0x2e9f3e(0xb9d)],'baseMipLevel':_0x5a51a2,'mipLevelCount':0x1,'arrayLayerCount':0x1,'baseArrayLayer':_0x41cb3f}),'loadOp':_0xe02be6['Ws']['Load'],'storeOp':_0xe02be6['EG'][_0x2e9f3e(0x322)]}]};_0x11a52e&&(_0x11a52e[_0x2e9f3e(0x246)][_0x41cb3f]=_0x11a52e[_0x2e9f3e(0x246)][_0x41cb3f]||[],_0x11a52e['_mipmapGenRenderPassDescr'][_0x41cb3f][_0x5a51a2-0x1]=_0x359c9a);const _0x1f8cb3=_0x21e294[_0x2e9f3e(0xd80)](_0x359c9a);_0x359c9a=null!=(_0x359c9a=null==(_0x359c9a=null===_0x11a52e||void 0x0===_0x11a52e?void 0x0:_0x11a52e[_0x2e9f3e(0x5e3)][_0x41cb3f])?void 0x0:_0x359c9a[_0x5a51a2-0x1])?_0x359c9a:this[_0x2e9f3e(0x391)][_0x2e9f3e(0x92a)]({'layout':_0x568f7e,'entries':[{'binding':0x0,'resource':this[_0x2e9f3e(0xc95)]},{'binding':0x1,'resource':_0x52f1e0[_0x2e9f3e(0x8dc)]({'format':_0x3f7a5e,'dimension':_0xe02be6['p_']['E2d'],'baseMipLevel':_0x5a51a2-0x1,'mipLevelCount':0x1,'arrayLayerCount':0x1,'baseArrayLayer':_0x41cb3f})}]}),(_0x11a52e&&(_0x11a52e[_0x2e9f3e(0x5e3)][_0x41cb3f]=_0x11a52e[_0x2e9f3e(0x5e3)][_0x41cb3f]||[],_0x11a52e[_0x2e9f3e(0x5e3)][_0x41cb3f][_0x5a51a2-0x1]=_0x359c9a),_0x1f8cb3[_0x2e9f3e(0x821)](_0x1bcd20),_0x1f8cb3['setBindGroup'](0x0,_0x359c9a),_0x1f8cb3[_0x2e9f3e(0x83a)](0x4,0x1,0x0,0x0),_0x1f8cb3[_0x2e9f3e(0x40f)]());}null!=(_0x5ee211=(_0x32b9b6=_0x21e294)[_0x2e9f3e(0xa64)])&&_0x5ee211[_0x2e9f3e(0x9e2)](_0x32b9b6),_0x1036e2&&this['_device']['queue'][_0x2e9f3e(0xa24)]([_0x21e294[_0x2e9f3e(0x77e)]()]);}}[_0x3fe237(0xa9c)](_0x22bd48,_0x13257a,_0x3af35d,_0x3707ab,_0x355cd8){var _0x81e7bb=_0x3fe237;_0x22bd48['_hardwareTexture']||(_0x22bd48[_0x81e7bb(0xa52)]=new _0x5e86b8['Z']()),void 0x0===_0x13257a&&(_0x13257a=_0x22bd48['width']),void 0x0===_0x3af35d&&(_0x3af35d=_0x22bd48[_0x81e7bb(0x690)]),void 0x0===_0x3707ab&&(_0x3707ab=_0x22bd48['depth']);const _0x479142=_0x22bd48[_0x81e7bb(0xa52)];var _0x52c21c,_0x355cd8=0x0!=((null!=_0x355cd8?_0x355cd8:0x0)&_0x51f9e2['g'][_0x81e7bb(0xbe8)]),_0x3e64e1=(_0x479142[_0x81e7bb(0x1a4)]=_0x3854cd['GetWebGPUTextureFormat'](_0x22bd48[_0x81e7bb(0x395)],_0x22bd48[_0x81e7bb(0x1a4)],_0x22bd48[_0x81e7bb(0x3ee)]),_0x479142[_0x81e7bb(0x2c2)]=_0x22bd48[_0x81e7bb(0xc97)]===_0x556e52['S'][_0x81e7bb(0xb7d)]||_0x22bd48[_0x81e7bb(0x7a1)]===_0x556e52['S']['MultiRenderTarget']?_0xe02be6['v2']['TextureBinding']|_0xe02be6['v2'][_0x81e7bb(0x7dc)]|_0xe02be6['v2'][_0x81e7bb(0x758)]:_0x22bd48[_0x81e7bb(0xc97)]===_0x556e52['S']['DepthStencil']?_0xe02be6['v2'][_0x81e7bb(0x24d)]|_0xe02be6['v2'][_0x81e7bb(0x758)]:-0x1,_0x479142[_0x81e7bb(0xb60)]=_0x355cd8?_0xe02be6['v2'][_0x81e7bb(0x704)]:0x0,_0x22bd48[_0x81e7bb(0x8ed)]),_0x351383=_0x3707ab||0x1,_0x3e64e1=null!==_0x22bd48[_0x81e7bb(0x62f)]?_0x22bd48[_0x81e7bb(0x62f)]:_0x3e64e1?_0x3854cd[_0x81e7bb(0x372)](_0x13257a,_0x3af35d):0x1;return _0x22bd48[_0x81e7bb(0x5ca)]?(_0x52c21c=this[_0x81e7bb(0xc06)]({'width':_0x13257a,'height':_0x3af35d},_0x22bd48[_0x81e7bb(0x8ed)],_0x22bd48[_0x81e7bb(0x8ed)],_0x22bd48[_0x81e7bb(0x2fc)],!0x1,_0x479142['format'],0x1,this[_0x81e7bb(0xa31)],_0x479142[_0x81e7bb(0x2c2)],_0x479142[_0x81e7bb(0xb60)],_0x22bd48['label']),_0x479142[_0x81e7bb(0x83f)](_0x52c21c),_0x479142['createView']({'format':_0x3854cd['GetDepthFormatOnly'](_0x479142[_0x81e7bb(0x1a4)]),'dimension':_0xe02be6['p_'][_0x81e7bb(0x9d8)],'mipLevelCount':_0x3e64e1,'baseArrayLayer':0x0,'baseMipLevel':0x0,'arrayLayerCount':0x6,'aspect':_0x3854cd[_0x81e7bb(0x9f0)](_0x479142[_0x81e7bb(0x1a4)])?_0xe02be6['H7'][_0x81e7bb(0x8fe)]:_0xe02be6['H7'][_0x81e7bb(0x4ec)]},_0x355cd8)):(_0x52c21c=this[_0x81e7bb(0xa28)]({'width':_0x13257a,'height':_0x3af35d,'layers':_0x351383},_0x22bd48[_0x81e7bb(0x8ed)],_0x22bd48[_0x81e7bb(0x8ed)],_0x22bd48[_0x81e7bb(0x2fc)],!0x1,_0x22bd48[_0x81e7bb(0x1ce)],_0x479142[_0x81e7bb(0x1a4)],0x1,this[_0x81e7bb(0xa31)],_0x479142[_0x81e7bb(0x2c2)],_0x479142[_0x81e7bb(0xb60)],_0x22bd48[_0x81e7bb(0x530)]),_0x479142[_0x81e7bb(0x83f)](_0x52c21c),_0x479142[_0x81e7bb(0x8dc)]({'format':_0x3854cd['GetDepthFormatOnly'](_0x479142['format']),'dimension':_0x22bd48[_0x81e7bb(0x432)]?_0xe02be6['p_'][_0x81e7bb(0x80f)]:_0x22bd48[_0x81e7bb(0x1ce)]?_0xe02be6['kd'][_0x81e7bb(0x6c9)]:_0xe02be6['p_'][_0x81e7bb(0xb9d)],'mipLevelCount':_0x3e64e1,'baseArrayLayer':0x0,'baseMipLevel':0x0,'arrayLayerCount':_0x22bd48[_0x81e7bb(0x1ce)]?0x1:_0x351383,'aspect':_0x3854cd[_0x81e7bb(0x9f0)](_0x479142['format'])?_0xe02be6['H7']['DepthOnly']:_0xe02be6['H7'][_0x81e7bb(0x4ec)]},_0x355cd8)),_0x22bd48[_0x81e7bb(0x639)]=_0x22bd48[_0x81e7bb(0x5d6)]=_0x13257a,_0x22bd48[_0x81e7bb(0x690)]=_0x22bd48[_0x81e7bb(0x924)]=_0x3af35d,_0x22bd48[_0x81e7bb(0xac2)]=_0x22bd48[_0x81e7bb(0xbbd)]=_0x3707ab,this['createMSAATexture'](_0x22bd48,_0x22bd48[_0x81e7bb(0x3a8)]),_0x479142;}[_0x3fe237(0xab3)](_0x8e29b0,_0xae49da,_0x130fbb=!0x0,_0x51d7ee=-0x1){var _0x4bcc9b=_0x3fe237;const _0x1744cd=_0x8e29b0[_0x4bcc9b(0xa52)];var _0x345da7;_0x130fbb&&null!==_0x1744cd&&void 0x0!==_0x1744cd&&_0x1744cd[_0x4bcc9b(0x627)](),!_0x1744cd||(null!=_0xae49da?_0xae49da:0x1)<=0x1||(_0x130fbb=_0x8e29b0[_0x4bcc9b(0x639)],_0x345da7=_0x8e29b0[_0x4bcc9b(0x690)],_0x130fbb=this[_0x4bcc9b(0xa28)]({'width':_0x130fbb,'height':_0x345da7,'layers':0x1},!0x1,!0x1,!0x1,!0x1,!0x1,_0x1744cd[_0x4bcc9b(0x1a4)],_0xae49da,this[_0x4bcc9b(0xa31)],_0xe02be6['v2']['RenderAttachment'],0x0,_0x8e29b0[_0x4bcc9b(0x530)]?'MSAA'+_0x8e29b0[_0x4bcc9b(0x530)]:void 0x0),_0x1744cd['setMSAATexture'](_0x130fbb,_0x51d7ee));}[_0x3fe237(0xd48)](_0x5efaff,_0x1dc4b8,_0x370f6b,_0x4fd0b1,_0x5e77b6,_0x47ed1d=!0x1,_0x21b77f=!0x1,_0x27b0e4=0x0,_0x14b15b=0x0){var _0x877588=_0x3fe237,_0x229358=[0x0,0x3,0x1,0x4,0x2,0x5];for(let _0x3b5556=0x0;_0x3b5556<_0x229358[_0x877588(0x86e)];++_0x3b5556){var _0x515b75=_0x5efaff[_0x229358[_0x3b5556]];this[_0x877588(0x9fd)](_0x515b75,_0x1dc4b8,_0x370f6b,_0x4fd0b1,0x1,_0x5e77b6,_0x3b5556,0x0,_0x47ed1d,_0x21b77f,_0x27b0e4,_0x14b15b);}}['updateTexture'](_0x22a1ba,_0xeb9946,_0x520791,_0x1adf45,_0x1c01f1,_0x458e8f,_0x1eb84d=0x0,_0x559b0d=0x0,_0x3b1c41=!0x1,_0x294209=!0x1,_0x5c0a02=0x0,_0xe12775=0x0,_0x47911a){var _0x4a2a0e=_0x3fe237,_0x4e9fe6=_0x3854cd[_0x4a2a0e(0x619)](_0xeb9946)?_0xeb9946[_0x4a2a0e(0xa52)]['underlyingResource']:_0xeb9946,_0x154456=_0x3854cd['_GetBlockInformationFromFormat'](_0x458e8f),_0x1ee554=_0x3854cd['_IsInternalTexture'](_0xeb9946)?_0xeb9946[_0x4a2a0e(0xa52)]:_0xeb9946;const _0x2ae055={'texture':_0x4e9fe6,'origin':{'x':_0x5c0a02,'y':_0xe12775,'z':Math[_0x4a2a0e(0x713)](_0x1eb84d,0x0)},'mipLevel':_0x559b0d,'premultipliedAlpha':_0x294209},_0x5958c1={'width':Math[_0x4a2a0e(0x8e6)](_0x520791/_0x154456[_0x4a2a0e(0x639)])*_0x154456[_0x4a2a0e(0x639)],'height':Math[_0x4a2a0e(0x8e6)](_0x1adf45/_0x154456['height'])*_0x154456[_0x4a2a0e(0x690)],'depthOrArrayLayers':_0x1c01f1||0x1};if(void 0x0!==_0x22a1ba[_0x4a2a0e(0x3e3)]){_0x4e9fe6=Math[_0x4a2a0e(0x8e6)](_0x520791/_0x154456[_0x4a2a0e(0x639)])*_0x154456[_0x4a2a0e(0x86e)];if(0x100*Math['ceil'](_0x4e9fe6/0x100)==_0x4e9fe6){const _0x1bab37=this['_device'][_0x4a2a0e(0xd34)]({}),_0x24a774=this[_0x4a2a0e(0xc2a)][_0x4a2a0e(0x4c1)](_0x22a1ba[_0x4a2a0e(0x3e3)],_0xe02be6['FB'][_0x4a2a0e(0xa8e)]|_0xe02be6['FB'][_0x4a2a0e(0x7dc)],!0x0);_0x154456=_0x24a774[_0x4a2a0e(0x998)](),(new Uint8Array(_0x154456)[_0x4a2a0e(0x83f)](_0x22a1ba),_0x24a774[_0x4a2a0e(0xa6e)](),_0x1bab37[_0x4a2a0e(0x46d)]({'buffer':_0x24a774,'offset':0x0,'bytesPerRow':_0x4e9fe6,'rowsPerImage':_0x1adf45},_0x2ae055,_0x5958c1),this[_0x4a2a0e(0x391)][_0x4a2a0e(0xb52)][_0x4a2a0e(0xa24)]([_0x1bab37[_0x4a2a0e(0x77e)]()]),this[_0x4a2a0e(0xc2a)]['releaseBuffer'](_0x24a774));}else this['_device'][_0x4a2a0e(0xb52)][_0x4a2a0e(0xa22)](_0x2ae055,_0x22a1ba,{'offset':0x0,'bytesPerRow':_0x4e9fe6,'rowsPerImage':_0x1adf45},_0x5958c1);if(_0x3b1c41||_0x294209){if(!_0x3854cd[_0x4a2a0e(0x619)](_0xeb9946))throw'updateTexture:\x20Can\x27t\x20process\x20the\x20texture\x20data\x20because\x20a\x20GPUTexture\x20was\x20provided\x20instead\x20of\x20an\x20InternalTexture!';_0x154456=0x0===_0x5c0a02&&0x0===_0xe12775&&_0x520791===_0xeb9946['width']&&_0x1adf45===_0xeb9946[_0x4a2a0e(0x690)],this[_0x4a2a0e(0xc98)](_0x1ee554,_0xeb9946[_0x4a2a0e(0x639)],_0xeb9946[_0x4a2a0e(0x690)],_0x458e8f,_0x3b1c41,_0x294209,_0x1eb84d,_0x559b0d,_0x1c01f1||0x1,_0x5c0a02,_0xe12775,_0x154456?0x0:_0x520791,_0x154456?0x0:_0x1adf45,void 0x0,_0x47911a);}}else{if(_0x3b1c41){if(_0x2ae055[_0x4a2a0e(0xd4a)]=!0x1,_0x3854cd[_0x4a2a0e(0x619)](_0xeb9946)&&0x0===_0x5c0a02&&0x0===_0xe12775&&_0x520791===_0xeb9946[_0x4a2a0e(0x639)]&&_0x1adf45===_0xeb9946['height'])this['_device']['queue'][_0x4a2a0e(0x256)]({'source':_0x22a1ba},_0x2ae055,_0x5958c1),this[_0x4a2a0e(0xc98)](_0x1ee554,_0x520791,_0x1adf45,_0x458e8f,_0x3b1c41,_0x294209,_0x1eb84d,_0x559b0d,_0x1c01f1||0x1,0x0,0x0,0x0,0x0,void 0x0,_0x47911a);else{const _0x2ce283=this[_0x4a2a0e(0x391)]['createCommandEncoder']({});_0x4e9fe6=this[_0x4a2a0e(0xa28)]({'width':_0x520791,'height':_0x1adf45,'layers':0x1},!0x1,!0x1,!0x1,!0x1,!0x1,_0x458e8f,0x1,_0x2ce283,_0xe02be6['v2'][_0x4a2a0e(0x7dc)]|_0xe02be6['v2'][_0x4a2a0e(0x24d)],void 0x0,_0x4a2a0e(0xb8e)),(this[_0x4a2a0e(0x2d6)][_0x4a2a0e(0x303)]([_0x4e9fe6,null]),_0x5958c1[_0x4a2a0e(0xa88)]=0x1,this['_device'][_0x4a2a0e(0xb52)]['copyExternalImageToTexture']({'source':_0x22a1ba},{'texture':_0x4e9fe6},_0x5958c1),_0x5958c1[_0x4a2a0e(0xa88)]=_0x1c01f1||0x1,this[_0x4a2a0e(0xc98)](_0x4e9fe6,_0x520791,_0x1adf45,_0x458e8f,_0x3b1c41,_0x294209,_0x1eb84d,_0x559b0d,_0x1c01f1||0x1,0x0,0x0,0x0,0x0,_0x2ce283,_0x47911a),_0x2ce283[_0x4a2a0e(0x77d)]({'texture':_0x4e9fe6},_0x2ae055,_0x5958c1),this[_0x4a2a0e(0x391)][_0x4a2a0e(0xb52)][_0x4a2a0e(0xa24)]([_0x2ce283[_0x4a2a0e(0x77e)]()]));}}else this['_device'][_0x4a2a0e(0xb52)][_0x4a2a0e(0x256)]({'source':_0x22a1ba},_0x2ae055,_0x5958c1);}}[_0x3fe237(0x319)](_0x2d9953,_0x1f8eb2,_0x3b9440,_0x125b19,_0x35003b,_0xf4602b,_0x2cc9d2=0x0,_0x5e93d5=0x0,_0x3b6a53=null,_0x14b874=!0x1){var _0x4fcccf=_0x3fe237,_0x5704d5=_0x3854cd['_GetBlockInformationFromFormat'](_0xf4602b),_0x5704d5=Math[_0x4fcccf(0x8e6)](_0x125b19/_0x5704d5[_0x4fcccf(0x639)])*_0x5704d5[_0x4fcccf(0x86e)],_0x1e5527=0x100*Math[_0x4fcccf(0x8e6)](_0x5704d5/0x100),_0x24ab88=_0x1e5527*_0x35003b,_0xadd4b4=this['_bufferManager'][_0x4fcccf(0x4c1)](_0x24ab88,_0xe02be6['FB'][_0x4fcccf(0x675)]|_0xe02be6['FB'][_0x4fcccf(0x6b8)]);const _0x2f35a2=this[_0x4fcccf(0x391)][_0x4fcccf(0xd34)]({});return _0x2f35a2[_0x4fcccf(0x5b8)]({'texture':_0x2d9953,'mipLevel':_0x5e93d5,'origin':{'x':_0x1f8eb2,'y':_0x3b9440,'z':Math['max'](_0x2cc9d2,0x0)}},{'buffer':_0xadd4b4,'offset':0x0,'bytesPerRow':_0x1e5527},{'width':_0x125b19,'height':_0x35003b,'depthOrArrayLayers':0x1}),this[_0x4fcccf(0x391)][_0x4fcccf(0xb52)][_0x4fcccf(0xa24)]([_0x2f35a2[_0x4fcccf(0x77e)]()]),this[_0x4fcccf(0xc2a)]['readDataFromBuffer'](_0xadd4b4,_0x24ab88,_0x125b19,_0x35003b,_0x5704d5,_0x1e5527,_0x3854cd[_0x4fcccf(0xabc)](_0xf4602b),0x0,_0x3b6a53,!0x0,_0x14b874);}[_0x3fe237(0x84e)](_0x56bb49){var _0x2658e7=_0x3fe237,_0x1490a6,_0x3f2989;_0x3854cd[_0x2658e7(0x619)](_0x56bb49)?(_0x1490a6=_0x56bb49[_0x2658e7(0xa52)],_0x3f2989=_0x56bb49[_0x2658e7(0x28f)],this['_deferredReleaseTextures'][_0x2658e7(0x303)]([_0x1490a6,_0x3f2989])):this['_deferredReleaseTextures'][_0x2658e7(0x303)]([_0x56bb49,null]);}[_0x3fe237(0x5d8)](){var _0x3caeee=_0x3fe237;for(let _0x4a73ca=0x0;_0x4a73ca<this[_0x3caeee(0x2d6)][_0x3caeee(0x86e)];++_0x4a73ca){const [_0x3f77c9,_0x4cd346]=this['_deferredReleaseTextures'][_0x4a73ca];_0x3f77c9&&(_0x3854cd[_0x3caeee(0x94e)](_0x3f77c9)?_0x3f77c9[_0x3caeee(0x63e)]():_0x3f77c9['destroy']()),null!==_0x4cd346&&void 0x0!==_0x4cd346&&_0x4cd346[_0x3caeee(0x1cb)]();}this['_deferredReleaseTextures'][_0x3caeee(0x86e)]=0x0;}}},0x17bd:(_0x12b78e,_0x1eaecb,_0x12afef)=>{var _0x44d31f=a7_0x425593;_0x12afef['d'](_0x1eaecb,{'b':()=>_0x59cfe5});var _0x3996c0=_0x12afef(0x89a1),_0xb6d85c=_0x12afef(0x360b),_0xfed9bd=_0x12afef(0x16268);class _0x59cfe5{constructor(_0xf22c80,_0x8a90b8){var _0x3ea2d0=a7_0x5572;this[_0x3ea2d0(0x17c)]=!0x1,this[_0x3ea2d0(0xa2d)]=new _0xb6d85c['z'](),this[_0x3ea2d0(0x3c3)]=0x0,this['_device']=_0xf22c80,this[_0x3ea2d0(0xc2a)]=_0x8a90b8;}get['gpuFrameTimeCounter'](){var _0x523d0e=a7_0x5572;return this[_0x523d0e(0xa2d)];}get[_0x44d31f(0x4fc)](){var _0x2701ec=_0x44d31f;return this[_0x2701ec(0x17c)];}set[_0x44d31f(0x4fc)](_0xbfdab8){var _0x49acdf=_0x44d31f;this[_0x49acdf(0x17c)]!==_0xbfdab8&&(this['_enabled']=_0xbfdab8,this[_0x49acdf(0x3c3)]=0x0,_0xbfdab8?this[_0x49acdf(0x8f3)]=new _0x177f2a(this[_0x49acdf(0x391)],this[_0x49acdf(0xc2a)]):this['_measureDuration']['dispose']());}[_0x44d31f(0x23f)](_0x3b156f){var _0x488489=_0x44d31f;this[_0x488489(0x17c)]&&0x0===this['_measureDurationState']&&(this['_measureDuration'][_0x488489(0x6a5)](_0x3b156f),this['_measureDurationState']=0x1);}[_0x44d31f(0xa47)](_0x132998){var _0x4cfb1d=_0x44d31f;0x1===this[_0x4cfb1d(0x3c3)]&&(this['_measureDurationState']=0x2,this['_measureDuration'][_0x4cfb1d(0xd64)](_0x132998)[_0x4cfb1d(0x37c)](_0x7819c2=>{var _0x4583fe=_0x4cfb1d;null!==_0x7819c2&&0x0<=_0x7819c2&&(this['_gpuFrameTimeCounter'][_0x4583fe(0x923)](),this[_0x4583fe(0xa2d)][_0x4583fe(0x8e0)](_0x7819c2,!0x0)),this[_0x4583fe(0x3c3)]=0x0;}));}}class _0x177f2a{constructor(_0x480c2c,_0x4be7c6){var _0x503f08=_0x44d31f;this[_0x503f08(0x592)]=new _0xfed9bd['t'](0x2,_0x3996c0['xL'][_0x503f08(0x6f9)],_0x480c2c,_0x4be7c6);}['start'](_0x5634a3){var _0x1ad49a=_0x44d31f;_0x5634a3[_0x1ad49a(0x3e5)](this[_0x1ad49a(0x592)][_0x1ad49a(0x7e8)],0x0);}[_0x44d31f(0xd64)](_0x14e7df){return _0x2c81e0=this,_0x2818c7=function*(){var _0x3ba5c6=a7_0x5572;return _0x14e7df[_0x3ba5c6(0x3e5)](this[_0x3ba5c6(0x592)][_0x3ba5c6(0x7e8)],0x1),this['_querySet']['readTwoValuesAndSubtract'](0x0);},new(_0xce8710=(_0xce8710=_0x4e21a1=void 0x0)||Promise)(function(_0x99272c,_0x394327){var _0x4c8bb7=a7_0x5572;function _0x51920a(_0x20d4f5){var _0x5a7a5c=a7_0x5572;try{_0x43c810(_0x2818c7[_0x5a7a5c(0x291)](_0x20d4f5));}catch(_0x5e90a8){_0x394327(_0x5e90a8);}}function _0x1aecba(_0x30cade){var _0x470195=a7_0x5572;try{_0x43c810(_0x2818c7[_0x470195(0x1b8)](_0x30cade));}catch(_0xa5f38c){_0x394327(_0xa5f38c);}}function _0x43c810(_0x52fd8d){var _0x8c229f=a7_0x5572,_0x294fba;_0x52fd8d[_0x8c229f(0x735)]?_0x99272c(_0x52fd8d[_0x8c229f(0x8e2)]):((_0x294fba=_0x52fd8d[_0x8c229f(0x8e2)])instanceof _0xce8710?_0x294fba:new _0xce8710(function(_0xb0fbc2){_0xb0fbc2(_0x294fba);}))[_0x8c229f(0x37c)](_0x51920a,_0x1aecba);}_0x43c810((_0x2818c7=_0x2818c7[_0x4c8bb7(0x576)](_0x2c81e0,_0x4e21a1||[]))[_0x4c8bb7(0x291)]());});var _0x2c81e0,_0x4e21a1,_0xce8710,_0x2818c7;}[_0x44d31f(0x1cb)](){var _0x2f0bba=_0x44d31f;this[_0x2f0bba(0x592)][_0x2f0bba(0x1cb)]();}}},0x1181f:(_0x2722c3,_0x1cfcf1,_0x3c52c9)=>{var _0x589946=a7_0x425593;_0x3c52c9['d'](_0x1cfcf1,{'o':()=>_0x201e74});var _0x1cfcf1=_0x3c52c9(0xa838),_0x209a22=_0x3c52c9(0x1dad),_0x16b64b=_0x3c52c9(0xbac7),_0x1ad715=_0x3c52c9(0x13708),_0x5344c3=_0x3c52c9(0x58b),_0x247691=_0x3c52c9(0xf96c),_0x48d817=_0x3c52c9(0x9fd1),_0x225f82=_0x3c52c9(0x15857);class _0x201e74 extends _0x1cfcf1['Y']{constructor(_0x1854d7,_0x6106de,_0x4bf7b2,_0x4adb76,_0x6c45ab=null){var _0x1ae7d2=a7_0x5572;super(_0x1854d7,_0x4adb76),this[_0x1ae7d2(0x615)]=_0x6c45ab,this[_0x1ae7d2(0x9cc)]=!0x1,this[_0x1ae7d2(0x890)]=!0x1,this['_useDirectMapping']=!0x1,this['_textureMode']=_0x201e74[_0x1ae7d2(0xc7e)],this[_0x1ae7d2(0x20f)]=null,this[_0x1ae7d2(0x69c)]=new _0x247691['y$'](),this[_0x1ae7d2(0x9c9)]=new _0x247691['y$'](),_0x4adb76=this['getScene'](),_0x1854d7=_0x1854d7||_0x1ae7d2(0xd67),_0x4bf7b2[_0x1ae7d2(0x27d)]=0x0|Math['abs'](_0x4bf7b2[_0x1ae7d2(0x27d)])||0x20,_0x4bf7b2['clickToPlay']=Boolean(_0x4bf7b2[_0x1ae7d2(0xab2)]),_0x4bf7b2[_0x1ae7d2(0x98c)]=void 0x0===_0x4bf7b2[_0x1ae7d2(0x98c)]||Boolean(_0x4bf7b2[_0x1ae7d2(0x98c)]),_0x4bf7b2[_0x1ae7d2(0x244)]=void 0x0===_0x4bf7b2['loop']||Boolean(_0x4bf7b2[_0x1ae7d2(0x244)]),_0x4bf7b2[_0x1ae7d2(0xcad)]=Math['abs'](_0x4bf7b2['size'])||(_0x4adb76['activeCamera']?0.48*_0x4adb76['activeCamera'][_0x1ae7d2(0xc21)]:0x3e8),void 0x0===_0x4bf7b2['useDirectMapping']?this[_0x1ae7d2(0x2c3)]=!0x0:this[_0x1ae7d2(0x2c3)]=_0x4bf7b2[_0x1ae7d2(0x5ac)],void 0x0===_0x4bf7b2[_0x1ae7d2(0xd30)]&&(_0x4bf7b2[_0x1ae7d2(0xd30)]=!0x0),this['_setReady'](!0x1),_0x4bf7b2[_0x1ae7d2(0x7d5)]?this[_0x1ae7d2(0xb65)]=_0x4bf7b2[_0x1ae7d2(0x7d5)]:this[_0x1ae7d2(0xb65)]=(0x0,_0x5344c3['Qk'])(_0x1854d7+_0x1ae7d2(0xb65),{'segments':_0x4bf7b2['resolution'],'diameter':_0x4bf7b2[_0x1ae7d2(0xcad)],'updatable':!0x1,'sideOrientation':_0x209a22['Kj']['BACKSIDE']},_0x4adb76);const _0x41e7f3=this[_0x1ae7d2(0x964)]=new _0x1ad715['I'](_0x1854d7+_0x1ae7d2(0x964),_0x4adb76);_0x41e7f3[_0x1ae7d2(0xb9e)]=!0x0,_0x41e7f3[_0x1ae7d2(0x180)]=0x1,_0x41e7f3[_0x1ae7d2(0x9c1)]=!0x1,_0x6c45ab=this['_initTexture'](_0x6106de,_0x4adb76,_0x4bf7b2);if(this[_0x1ae7d2(0x7c5)]=_0x6c45ab,this[_0x1ae7d2(0xb65)][_0x1ae7d2(0x752)]=_0x41e7f3,(this[_0x1ae7d2(0xb65)][_0x1ae7d2(0xb36)]=this)['_halfDomeMask']=(0x0,_0x5344c3['Qk'])('',{'slice':0.5,'diameter':0.98*_0x4bf7b2[_0x1ae7d2(0xcad)],'segments':0x2*_0x4bf7b2[_0x1ae7d2(0x27d)],'sideOrientation':_0x209a22['Kj'][_0x1ae7d2(0x348)]},_0x4adb76),this['_halfDomeMask'][_0x1ae7d2(0x629)](_0x225f82['RD']['X'],-Math['PI']/0x2),this[_0x1ae7d2(0xbd0)][_0x1ae7d2(0xb36)]=this[_0x1ae7d2(0xb65)],this[_0x1ae7d2(0x9cc)]=!!_0x4bf7b2[_0x1ae7d2(0x88b)],this[_0x1ae7d2(0xbd0)]['setEnabled'](this[_0x1ae7d2(0x9cc)]),this[_0x1ae7d2(0x890)]=!!_0x4bf7b2[_0x1ae7d2(0x779)],this['_texture'][_0x1ae7d2(0x24b)]=0x1,this[_0x1ae7d2(0x70f)][_0x1ae7d2(0x9c9)][_0x1ae7d2(0x9b8)](()=>{var _0x1a06ae=_0x1ae7d2;this[_0x1a06ae(0xaf6)](!0x0);}),_0x4bf7b2['faceForward']&&_0x4adb76[_0x1ae7d2(0xa95)]){const _0x53dd00=_0x4adb76[_0x1ae7d2(0xa95)];_0x1854d7=_0x48d817['P'][_0x1ae7d2(0x469)]();const _0xa17221=_0x48d817['P']['TransformNormal'](_0x1854d7,_0x53dd00[_0x1ae7d2(0x5f5)]());_0xa17221[_0x1ae7d2(0x625)](),this['rotation']['y']=Math['acos'](_0x48d817['P'][_0x1ae7d2(0xc28)](_0x1854d7,_0xa17221));}this[_0x1ae7d2(0xa2f)](this[_0x1ae7d2(0xa84)]);}get[_0x589946(0x7c5)](){var _0x297c89=_0x589946;return this[_0x297c89(0x70f)];}set[_0x589946(0x7c5)](_0x3abdb7){var _0x419ead=_0x589946;this[_0x419ead(0x70f)]!==_0x3abdb7&&(this[_0x419ead(0x70f)]=_0x3abdb7,this['_useDirectMapping']?(this['_texture'][_0x419ead(0x969)]=_0x16b64b['x'][_0x419ead(0xcca)],this[_0x419ead(0x70f)]['wrapV']=_0x16b64b['x'][_0x419ead(0xcca)],this[_0x419ead(0x964)][_0x419ead(0x454)]=this[_0x419ead(0x70f)]):(this['_texture']['coordinatesMode']=_0x16b64b['x'][_0x419ead(0xcf5)],this[_0x419ead(0x70f)]['wrapV']=_0x16b64b['x'][_0x419ead(0xcca)],this['_material'][_0x419ead(0x3dd)]=this[_0x419ead(0x70f)]),this[_0x419ead(0xa2f)](this['_textureMode']));}get['mesh'](){var _0x3b0470=_0x589946;return this[_0x3b0470(0xb65)];}get[_0x589946(0x180)](){var _0x12f37f=_0x589946;return this[_0x12f37f(0x964)][_0x12f37f(0x180)];}set[_0x589946(0x180)](_0x2849d2){var _0x485559=_0x589946;this[_0x485559(0x964)]['fovMultiplier']=_0x2849d2;}get[_0x589946(0xb64)](){var _0x3422fd=_0x589946;return this[_0x3422fd(0xa84)];}set['textureMode'](_0x2b2606){var _0x432b54=_0x589946;this[_0x432b54(0xa84)]!==_0x2b2606&&this[_0x432b54(0xa2f)](_0x2b2606);}get['halfDome'](){var _0x11d499=_0x589946;return this[_0x11d499(0x9cc)];}set[_0x589946(0x6e6)](_0x22b27e){var _0x112299=_0x589946;this[_0x112299(0x9cc)]=_0x22b27e,this[_0x112299(0xbd0)][_0x112299(0xbbe)](_0x22b27e),this[_0x112299(0xa2f)](this[_0x112299(0xa84)]);}set[_0x589946(0x8d0)](_0x491363){var _0x3f2033=_0x589946;this[_0x3f2033(0x890)]=_0x491363,this[_0x3f2033(0xa2f)](this[_0x3f2033(0xa84)]);}get[_0x589946(0x8d0)](){var _0x418030=_0x589946;return this[_0x418030(0x890)];}get[_0x589946(0x752)](){return this['_material'];}[_0x589946(0xa2f)](_0x151078){var _0x292dad=_0x589946;switch(this['_scene'][_0x292dad(0x7cb)][_0x292dad(0x9d7)](this['_onBeforeCameraRenderObserver']),this[_0x292dad(0xa84)]=_0x151078,this[_0x292dad(0x70f)][_0x292dad(0x2ca)]=0x1,this[_0x292dad(0x70f)][_0x292dad(0xc1e)]=0x1,this[_0x292dad(0x70f)][_0x292dad(0x359)]=0x0,this[_0x292dad(0x70f)][_0x292dad(0xc17)]=0x0,this[_0x292dad(0x70f)][_0x292dad(0xcd1)]=0x0,_0x151078){case _0x201e74[_0x292dad(0xc7e)]:this[_0x292dad(0x9cc)]&&(this[_0x292dad(0x70f)][_0x292dad(0x2ca)]=0x2,this[_0x292dad(0x70f)][_0x292dad(0x359)]=-0x1);break;case _0x201e74[_0x292dad(0x691)]:{this[_0x292dad(0x70f)][_0x292dad(0x2ca)]=this[_0x292dad(0x9cc)]?0.99999:0.5;const _0x344a3e=this[_0x292dad(0x9cc)]?0x0:0.5,_0x2f0c6c=this['_halfDome']?-0.5:0x0;this['_onBeforeCameraRenderObserver']=this[_0x292dad(0x851)]['onBeforeCameraRenderObservable']['add'](_0x3d5ca4=>{var _0x3969ce=_0x292dad;let _0xdda8c6=_0x3d5ca4[_0x3969ce(0x16f)];(_0xdda8c6=this[_0x3969ce(0x890)]?!_0xdda8c6:_0xdda8c6)?this[_0x3969ce(0x70f)]['uOffset']=_0x344a3e:this[_0x3969ce(0x70f)]['uOffset']=_0x2f0c6c;});break;}case _0x201e74[_0x292dad(0xc64)]:this[_0x292dad(0x70f)]['vScale']=this[_0x292dad(0x9cc)]?0.99999:0.5,this[_0x292dad(0x20f)]=this[_0x292dad(0x851)][_0x292dad(0x7cb)][_0x292dad(0x47e)](_0x2216db=>{var _0xf69734=_0x292dad;let _0x4fb6dc=_0x2216db['isRightCamera'];this['_crossEye']&&(_0x4fb6dc=!_0x4fb6dc),this[_0xf69734(0x70f)][_0xf69734(0xc17)]=_0x4fb6dc?0.5:0x0;});}}[_0x589946(0x1cb)](_0x4b16fe,_0x2ac846=!0x1){var _0x4a1a63=_0x589946;this[_0x4a1a63(0x70f)][_0x4a1a63(0x1cb)](),this[_0x4a1a63(0xb65)][_0x4a1a63(0x1cb)](),this[_0x4a1a63(0x964)][_0x4a1a63(0x1cb)](),this[_0x4a1a63(0x851)]['onBeforeCameraRenderObservable'][_0x4a1a63(0x9d7)](this[_0x4a1a63(0x20f)]),this[_0x4a1a63(0x69c)][_0x4a1a63(0xb1c)](),this[_0x4a1a63(0x9c9)][_0x4a1a63(0xb1c)](),super[_0x4a1a63(0x1cb)](_0x4b16fe,_0x2ac846);}}_0x201e74['MODE_MONOSCOPIC']=0x0,_0x201e74[_0x589946(0xc64)]=0x1,_0x201e74[_0x589946(0x691)]=0x2;},0x231f:(_0x55fe79,_0x3cc080,_0x2ec3c8)=>{var _0x443eea=a7_0x425593;_0x2ec3c8['d'](_0x3cc080,{'$':()=>_0x11c626});var _0x3badd0=_0x2ec3c8(0x1272b),_0x2665ab=_0x2ec3c8(0x9927),_0x258438=_0x2ec3c8(0x364b),_0x26ca96=_0x2ec3c8(0x9fd1),_0x5125d3=_0x2ec3c8(0x77a5),_0x286241=_0x2ec3c8(0x2b0),_0x2b8232=_0x2ec3c8(0x93b9),_0x3ea301=_0x2ec3c8(0x16067),_0x4e0c10=_0x2ec3c8(0xda41),_0x347017=_0x2ec3c8(0xf8c1);class _0x562c4c{constructor(){var _0x2ce841=a7_0x5572;this[_0x2ce841(0xd7f)]=!0x1,this[_0x2ce841(0x21e)]=!0x1,this[_0x2ce841(0xcf0)]=!0x1,this[_0x2ce841(0x8ef)]=!0x1;}get['singleClick'](){var _0x2ebcad=a7_0x5572;return this[_0x2ebcad(0xd7f)];}get[_0x443eea(0x230)](){var _0x158d60=_0x443eea;return this[_0x158d60(0x21e)];}get[_0x443eea(0x99d)](){return this['_hasSwiped'];}get[_0x443eea(0x737)](){return this['_ignore'];}set[_0x443eea(0x780)](_0x11014b){var _0x2cc9df=_0x443eea;this[_0x2cc9df(0xd7f)]=_0x11014b;}set[_0x443eea(0x230)](_0x1a39c2){var _0x5aab5f=_0x443eea;this[_0x5aab5f(0x21e)]=_0x1a39c2;}set[_0x443eea(0x99d)](_0x124fcb){var _0xf2a66f=_0x443eea;this[_0xf2a66f(0xcf0)]=_0x124fcb;}set[_0x443eea(0x737)](_0x2a695b){var _0x420735=_0x443eea;this[_0x420735(0x8ef)]=_0x2a695b;}}class _0x11c626{constructor(_0x3a0d4c){var _0x855b7b=_0x443eea;this[_0x855b7b(0x844)]=!0x1,this[_0x855b7b(0x7c0)]=!0x1,this[_0x855b7b(0x3a9)]=null,this[_0x855b7b(0x641)]=null,this['_totalPointersPressed']=0x0,this[_0x855b7b(0x458)]=!0x1,this[_0x855b7b(0xb71)]=!0x1,this[_0x855b7b(0xbdb)]=-0x1,this['_skipPointerTap']=!0x1,this[_0x855b7b(0x767)]=!0x1,this[_0x855b7b(0x6a7)]=0x0,this[_0x855b7b(0xb11)]=0x0,this[_0x855b7b(0x51a)]=new _0x26ca96['FM'](0x0,0x0),this[_0x855b7b(0x919)]=new _0x26ca96['FM'](0x0,0x0),this['_startingPointerTime']=0x0,this[_0x855b7b(0x338)]=0x0,this[_0x855b7b(0x3a4)]={},this[_0x855b7b(0x8b0)]={},this[_0x855b7b(0x908)]=null,this[_0x855b7b(0x761)]=0x0,this['_delayedClicks']=[null,null,null,null,null],this[_0x855b7b(0x7c1)]=null,this['_scene']=_0x3a0d4c||_0x347017['l']['LastCreatedScene'],this[_0x855b7b(0x851)];}get[_0x443eea(0x783)](){var _0x51be7a=_0x443eea;return this[_0x51be7a(0x908)]&&(this[_0x51be7a(0x908)]['_generatePickInfo'](),this[_0x51be7a(0x908)]=null),this[_0x51be7a(0x31e)];}[_0x443eea(0x258)](_0x358f9c){var _0x5c18b2=_0x443eea;return this[_0x5c18b2(0x8b0)][_0x358f9c]||null;}get[_0x443eea(0x67b)](){var _0x57251b=_0x443eea;return new _0x26ca96['FM'](this[_0x57251b(0x365)],this[_0x57251b(0x4fd)]);}get['pointerX'](){var _0x4b0e0c=_0x443eea;return this[_0x4b0e0c(0x6a7)];}set['pointerX'](_0x19464e){var _0x54ff52=_0x443eea;this[_0x54ff52(0x6a7)]=_0x19464e;}get[_0x443eea(0x7b1)](){var _0x1a6299=_0x443eea;return this[_0x1a6299(0xb11)];}set[_0x443eea(0x7b1)](_0x3b9f45){var _0x537667=_0x443eea;this[_0x537667(0xb11)]=_0x3b9f45;}['_updatePointerPosition'](_0x16306e){var _0x54ad9e=_0x443eea,_0x56773e=this[_0x54ad9e(0x851)]['getEngine']()['getInputElementClientRect']();_0x56773e&&(this[_0x54ad9e(0x6a7)]=_0x16306e['clientX']-_0x56773e[_0x54ad9e(0xbcd)],this[_0x54ad9e(0xb11)]=_0x16306e[_0x54ad9e(0xacd)]-_0x56773e['top'],this[_0x54ad9e(0x365)]=this[_0x54ad9e(0x6a7)],this[_0x54ad9e(0x4fd)]=this['_pointerY']);}['_processPointerMove'](_0x23111a,_0x4221fa){var _0x16c279=_0x443eea;const _0x420131=this[_0x16c279(0x851)],_0x5157d9=_0x420131['getEngine'](),_0x8bc94a=_0x5157d9[_0x16c279(0x7cf)]();_0x8bc94a&&(_0x8bc94a[_0x16c279(0x451)]=_0x5157d9['canvasTabIndex'],_0x420131['doNotHandleCursors']||(_0x8bc94a[_0x16c279(0xd2c)][_0x16c279(0x741)]=_0x420131[_0x16c279(0xabb)])),this[_0x16c279(0x99a)](_0x23111a,_0x4221fa,_0x420131);for(const _0x2aaabc of _0x420131[_0x16c279(0xadd)]){var _0xa9d55d=!(null==_0x23111a||!_0x23111a[_0x16c279(0x864)]);_0x23111a=_0x2aaabc[_0x16c279(0x880)](this[_0x16c279(0x365)],this[_0x16c279(0x4fd)],_0x23111a,_0xa9d55d,_0x8bc94a);}var _0x5e0771=_0x4221fa[_0x16c279(0x772)]>=_0x3ea301['Fz'][_0x16c279(0xc94)]&&_0x4221fa['inputIndex']<=_0x3ea301['Fz'][_0x16c279(0xc31)]?_0x3badd0['kD'][_0x16c279(0x529)]:_0x3badd0['kD']['POINTERMOVE'];_0x420131[_0x16c279(0x194)]&&(_0x23111a=_0x23111a||this[_0x16c279(0xa35)](_0x4221fa),_0x420131[_0x16c279(0x194)](_0x4221fa,_0x23111a,_0x5e0771));let _0x42c1c5;_0x23111a?(_0x42c1c5=new _0x3badd0['R5'](_0x5e0771,_0x4221fa,_0x23111a),this[_0x16c279(0x183)](_0x23111a,_0x4221fa)):(_0x42c1c5=new _0x3badd0['R5'](_0x5e0771,_0x4221fa,null,this),this[_0x16c279(0x908)]=_0x42c1c5),_0x420131[_0x16c279(0x200)]['hasObservers']()&&_0x420131['onPointerObservable'][_0x16c279(0x794)](_0x42c1c5,_0x5e0771);}[_0x443eea(0x183)](_0x5b117a,_0x54d8a9){var _0x53f397=_0x443eea;const _0x56c878=this[_0x53f397(0x851)];_0x5b117a&&_0x56c878[_0x53f397(0x356)]&&(_0x5b117a[_0x53f397(0x1ae)]||(_0x5b117a['ray']=_0x56c878['createPickingRay'](_0x54d8a9['offsetX'],_0x54d8a9[_0x53f397(0x467)],_0x26ca96['y3']['Identity'](),_0x56c878[_0x53f397(0xa95)])));}['_addCameraPointerObserver'](_0x1df7a0,_0x25dfea){var _0xee62cf=_0x443eea;return this[_0xee62cf(0x761)]++,this[_0xee62cf(0x851)]['onPointerObservable'][_0xee62cf(0x47e)](_0x1df7a0,_0x25dfea);}[_0x443eea(0xb8b)](_0x47aeda){var _0x31d4b7=_0x443eea;return this[_0x31d4b7(0x761)]--,this[_0x31d4b7(0x851)]['onPointerObservable'][_0x31d4b7(0x9d7)](_0x47aeda);}[_0x443eea(0x7c7)](){var _0x2cd7a1=_0x443eea;return!!(this['_scene'][_0x2cd7a1(0x200)][_0x2cd7a1(0xd04)]['length']>this[_0x2cd7a1(0x761)]||this[_0x2cd7a1(0x851)][_0x2cd7a1(0x5a0)]);}['_checkPrePointerObservable'](_0x4ed54b,_0x5e77dd,_0x40b35a){var _0xd1f7fd=_0x443eea;const _0x4afc94=this[_0xd1f7fd(0x851)],_0x48cb47=new _0x3badd0['FV'](_0x40b35a,_0x5e77dd,this['_unTranslatedPointerX'],this['_unTranslatedPointerY']);return _0x4ed54b&&(_0x48cb47[_0xd1f7fd(0x7f3)]=_0x4ed54b,_0x48cb47['ray']=_0x4ed54b[_0xd1f7fd(0x1ae)],_0x4ed54b[_0xd1f7fd(0xb1e)]&&(_0x48cb47[_0xd1f7fd(0x9da)]=_0x4ed54b)),_0x4afc94[_0xd1f7fd(0x9d1)][_0xd1f7fd(0x794)](_0x48cb47,_0x40b35a),!!_0x48cb47['skipOnPointerObservable'];}['_pickMove'](_0x19f7e9){var _0x175a8a=_0x443eea;const _0x145e80=this['_scene'];var _0xa3c7c3=_0x145e80['pick'](this[_0x175a8a(0x365)],this[_0x175a8a(0x4fd)],_0x145e80[_0x175a8a(0xad8)],!0x1,_0x145e80[_0x175a8a(0x463)],_0x145e80['pointerMoveTrianglePredicate']);return this[_0x175a8a(0x99a)](_0xa3c7c3,_0x19f7e9,_0x145e80),_0xa3c7c3;}[_0x443eea(0x99a)](_0x357d80,_0x5941f0,_0x4ff8cd){var _0x232eba=_0x443eea;const _0x33e94f=_0x4ff8cd[_0x232eba(0x989)](),_0x4009cc=_0x33e94f[_0x232eba(0x7cf)]();var _0x4eda59;null!=_0x357d80&&_0x357d80[_0x232eba(0x864)]?(this[_0x232eba(0x546)](_0x357d80['pickedMesh'],_0x5941f0[_0x232eba(0xbb0)],_0x357d80,_0x5941f0),!_0x4ff8cd[_0x232eba(0xbbf)]&&_0x4009cc&&this[_0x232eba(0x31e)]&&(_0x4eda59=this[_0x232eba(0x31e)]['_getActionManagerForTrigger']())&&_0x4eda59[_0x232eba(0xc43)]&&(_0x4009cc[_0x232eba(0xd2c)][_0x232eba(0x741)]=_0x4eda59[_0x232eba(0x751)]||_0x4ff8cd['hoverCursor'])):this[_0x232eba(0x546)](null,_0x5941f0[_0x232eba(0xbb0)],_0x357d80,_0x5941f0);}[_0x443eea(0xabf)](_0xbf04cd,_0x56db84){var _0x11b673=_0x443eea;const _0x28b83a=new PointerEvent(_0x11b673(0xd13),_0x56db84);_0x28b83a[_0x11b673(0x772)]=_0x3ea301['Fz'][_0x11b673(0x5a8)],this[_0x11b673(0x91c)](_0xbf04cd,_0x28b83a,_0x3badd0['kD'][_0x11b673(0x877)])||this[_0x11b673(0x668)](_0xbf04cd,_0x28b83a);}['simulatePointerDown'](_0xae83ee,_0xdb96fc){var _0x4bfeed=_0x443eea;const _0x4aabd8=new PointerEvent(_0x4bfeed(0xbe3),_0xdb96fc);_0x4aabd8['inputIndex']=_0x4aabd8[_0x4bfeed(0xc54)]+0x2,this['_checkPrePointerObservable'](_0xae83ee,_0x4aabd8,_0x3badd0['kD'][_0x4bfeed(0xc10)])||this[_0x4bfeed(0xace)](_0xae83ee,_0x4aabd8);}[_0x443eea(0xace)](_0x5bde97,_0x436e97){var _0x236eb0=_0x443eea;const _0x110b06=this[_0x236eb0(0x851)];if(null!=_0x5bde97&&_0x5bde97[_0x236eb0(0x864)]){this[_0x236eb0(0x49b)]=_0x5bde97[_0x236eb0(0x864)];const _0xafb469=_0x5bde97[_0x236eb0(0x864)][_0x236eb0(0x86c)]();if(_0xafb469){if(_0xafb469[_0x236eb0(0xae6)])switch(_0xafb469[_0x236eb0(0x85f)](_0x5125d3['g'][_0x236eb0(0x80b)],_0x286241['V']['CreateNew'](_0x5bde97[_0x236eb0(0x864)],_0x436e97)),_0x436e97[_0x236eb0(0xc54)]){case 0x0:_0xafb469[_0x236eb0(0x85f)](_0x5125d3['g'][_0x236eb0(0x4b9)],_0x286241['V']['CreateNew'](_0x5bde97[_0x236eb0(0x864)],_0x436e97));break;case 0x1:_0xafb469['processTrigger'](_0x5125d3['g']['ACTION_OnCenterPickTrigger'],_0x286241['V'][_0x236eb0(0x4e1)](_0x5bde97[_0x236eb0(0x864)],_0x436e97));break;case 0x2:_0xafb469[_0x236eb0(0x85f)](_0x5125d3['g'][_0x236eb0(0x511)],_0x286241['V'][_0x236eb0(0x4e1)](_0x5bde97[_0x236eb0(0x864)],_0x436e97));}_0xafb469[_0x236eb0(0x355)](_0x5125d3['g']['ACTION_OnLongPressTrigger'])&&window[_0x236eb0(0x2d3)](()=>{var _0x17bad3=_0x236eb0,_0x20e632=_0x110b06[_0x17bad3(0x99b)](this['_unTranslatedPointerX'],this[_0x17bad3(0x4fd)],_0x453142=>_0x453142[_0x17bad3(0x43e)]&&_0x453142[_0x17bad3(0x42a)]&&_0x453142[_0x17bad3(0x21c)]()&&_0x453142['actionManager']&&_0x453142[_0x17bad3(0xbe5)]['hasSpecificTrigger'](_0x5125d3['g'][_0x17bad3(0xb3d)])&&_0x453142===this[_0x17bad3(0x49b)],!0x1,_0x110b06[_0x17bad3(0x463)]);null!=_0x20e632&&_0x20e632['pickedMesh']&&_0xafb469&&0x0!==this['_totalPointersPressed']&&Date[_0x17bad3(0x831)]()-this[_0x17bad3(0x300)]>_0x11c626['LongPressDelay']&&!this[_0x17bad3(0xb47)]()&&(this[_0x17bad3(0x300)]=0x0,_0xafb469['processTrigger'](_0x5125d3['g'][_0x17bad3(0xb3d)],_0x286241['V']['CreateNew'](_0x20e632[_0x17bad3(0x864)],_0x436e97)));},_0x11c626[_0x236eb0(0x651)]);}}else{for(const _0xef50ef of _0x110b06[_0x236eb0(0x2b5)])_0x5bde97=_0xef50ef['action'](this[_0x236eb0(0x365)],this[_0x236eb0(0x4fd)],_0x5bde97,_0x436e97,!0x1);}let _0x528603;var _0x4bafe1=_0x3badd0['kD'][_0x236eb0(0xc10)];_0x5bde97?(_0x110b06[_0x236eb0(0x3a2)]&&_0x110b06[_0x236eb0(0x3a2)](_0x436e97,_0x5bde97,_0x4bafe1),_0x528603=new _0x3badd0['R5'](_0x4bafe1,_0x436e97,_0x5bde97),this[_0x236eb0(0x183)](_0x5bde97,_0x436e97)):_0x528603=new _0x3badd0['R5'](_0x4bafe1,_0x436e97,null,this),_0x110b06[_0x236eb0(0x200)][_0x236eb0(0x4e8)]()&&_0x110b06[_0x236eb0(0x200)]['notifyObservers'](_0x528603,_0x4bafe1);}[_0x443eea(0xb47)](){var _0x120fd6=_0x443eea;return this[_0x120fd6(0xb71)];}[_0x443eea(0x227)](_0x539b16,_0x4511b7,_0x511b23){var _0xf2b4a1=_0x443eea;const _0x3846bc=new PointerEvent(_0xf2b4a1(0x38b),_0x4511b7),_0x376432=(_0x3846bc[_0xf2b4a1(0x772)]=_0x3ea301['Fz'][_0xf2b4a1(0x5a8)],new _0x562c4c());_0x511b23?_0x376432[_0xf2b4a1(0x230)]=!0x0:_0x376432['singleClick']=!0x0,this['_checkPrePointerObservable'](_0x539b16,_0x3846bc,_0x3badd0['kD']['POINTERUP'])||this[_0xf2b4a1(0x7d1)](_0x539b16,_0x3846bc,_0x376432);}[_0x443eea(0x7d1)](_0x282db6,_0x3b9590,_0xc91ac3){var _0x2c5f62=_0x443eea;const _0x1fe778=this[_0x2c5f62(0x851)];if(null!=_0x282db6&&_0x282db6['pickedMesh']){this[_0x2c5f62(0x42c)]=_0x282db6[_0x2c5f62(0x864)],this['_pickedDownMesh']===this[_0x2c5f62(0x42c)]&&(_0x1fe778[_0x2c5f62(0x5a0)]&&_0x1fe778[_0x2c5f62(0x5a0)](_0x3b9590,_0x282db6),_0xc91ac3[_0x2c5f62(0x780)]&&!_0xc91ac3[_0x2c5f62(0x737)]&&_0x1fe778[_0x2c5f62(0x200)][_0x2c5f62(0xd04)]['length']>this[_0x2c5f62(0x761)]&&(_0x4cbfff=_0x3badd0['kD']['POINTERPICK'],_0x4e19c8=new _0x3badd0['R5'](_0x4cbfff,_0x3b9590,_0x282db6),this[_0x2c5f62(0x183)](_0x282db6,_0x3b9590),_0x1fe778[_0x2c5f62(0x200)][_0x2c5f62(0x794)](_0x4e19c8,_0x4cbfff)));const _0x4f8d59=_0x282db6[_0x2c5f62(0x864)]['_getActionManagerForTrigger']();if(_0x4f8d59&&!_0xc91ac3[_0x2c5f62(0x737)]){_0x4f8d59['processTrigger'](_0x5125d3['g'][_0x2c5f62(0x5e4)],_0x286241['V'][_0x2c5f62(0x4e1)](_0x282db6['pickedMesh'],_0x3b9590,_0x282db6)),!_0xc91ac3[_0x2c5f62(0x99d)]&&_0xc91ac3['singleClick']&&_0x4f8d59[_0x2c5f62(0x85f)](_0x5125d3['g'][_0x2c5f62(0x8a0)],_0x286241['V']['CreateNew'](_0x282db6[_0x2c5f62(0x864)],_0x3b9590,_0x282db6));const _0x4d2c5b=_0x282db6[_0x2c5f62(0x864)]['_getActionManagerForTrigger'](_0x5125d3['g'][_0x2c5f62(0x446)]);_0xc91ac3[_0x2c5f62(0x230)]&&_0x4d2c5b&&_0x4d2c5b[_0x2c5f62(0x85f)](_0x5125d3['g'][_0x2c5f62(0x446)],_0x286241['V']['CreateNew'](_0x282db6[_0x2c5f62(0x864)],_0x3b9590,_0x282db6));}}else{if(!_0xc91ac3[_0x2c5f62(0x737)]){for(const _0x2da962 of _0x1fe778[_0x2c5f62(0xa19)])_0x282db6=_0x2da962[_0x2c5f62(0x880)](this[_0x2c5f62(0x365)],this[_0x2c5f62(0x4fd)],_0x282db6,_0x3b9590,_0xc91ac3[_0x2c5f62(0x230)]);}}if(this[_0x2c5f62(0x49b)]&&this['_pickedDownMesh']!==this[_0x2c5f62(0x42c)]){const _0xd22c18=this['_pickedDownMesh'][_0x2c5f62(0x86c)](_0x5125d3['g'][_0x2c5f62(0x4bf)]);_0xd22c18&&_0xd22c18[_0x2c5f62(0x85f)](_0x5125d3['g'][_0x2c5f62(0x4bf)],_0x286241['V'][_0x2c5f62(0x4e1)](this['_pickedDownMesh'],_0x3b9590));}if(!_0xc91ac3[_0x2c5f62(0x737)]){var _0x4cbfff,_0x4e19c8=new _0x3badd0['R5'](_0x3badd0['kD']['POINTERUP'],_0x3b9590,_0x282db6);if(this['_setRayOnPointerInfo'](_0x282db6,_0x3b9590),_0x1fe778['onPointerObservable'][_0x2c5f62(0x794)](_0x4e19c8,_0x3badd0['kD']['POINTERUP']),_0x1fe778[_0x2c5f62(0xb0f)]&&_0x1fe778['onPointerUp'](_0x3b9590,_0x282db6,_0x3badd0['kD'][_0x2c5f62(0xa7f)]),!_0xc91ac3['hasSwiped']&&!this[_0x2c5f62(0xad4)]&&!this[_0x2c5f62(0x767)]){let _0x1cc305=0x0;_0xc91ac3[_0x2c5f62(0x780)]?_0x1cc305=_0x3badd0['kD'][_0x2c5f62(0x8a1)]:_0xc91ac3[_0x2c5f62(0x230)]&&(_0x1cc305=_0x3badd0['kD'][_0x2c5f62(0x981)]),_0x1cc305&&(_0x4cbfff=new _0x3badd0['R5'](_0x1cc305,_0x3b9590,_0x282db6),_0x1fe778['onPointerObservable'][_0x2c5f62(0x4e8)]()&&_0x1fe778[_0x2c5f62(0x200)][_0x2c5f62(0x716)](_0x1cc305)&&_0x1fe778['onPointerObservable'][_0x2c5f62(0x794)](_0x4cbfff,_0x1cc305));}}}[_0x443eea(0x9a2)](_0x4ff271=0x0){var _0x517bd9=_0x443eea;return this[_0x517bd9(0x3a4)][_0x4ff271];}[_0x443eea(0x67c)](_0x2a82ae=!0x0,_0x3cda55=!0x0,_0x4dfea8=!0x0,_0x1988d9=null){var _0x5235d2=_0x443eea;const _0x16999b=this[_0x5235d2(0x851)],_0x4c4309=_0x16999b[_0x5235d2(0x989)]();_0x1988d9=_0x1988d9||_0x4c4309['getInputElement'](),this[_0x5235d2(0x844)]&&this[_0x5235d2(0x673)](),_0x1988d9&&(this[_0x5235d2(0x749)]=_0x1988d9),this[_0x5235d2(0x7c1)]=new _0x4e0c10['U'](_0x4c4309),this[_0x5235d2(0xcb9)]=_0x51ced6=>{var _0x5978dd=_0x5235d2;if(!this['_meshPickProceed']){const _0x1934b7=_0x16999b[_0x5978dd(0x56a)]||0x0===_0x16999b[_0x5978dd(0x4f5)]&&!this['_checkForPicking']()&&!_0x16999b[_0x5978dd(0xb0f)]?null:_0x16999b['pick'](this[_0x5978dd(0x365)],this[_0x5978dd(0x4fd)],_0x16999b['pointerUpPredicate'],!0x1,_0x16999b['cameraToUseForPointers']);(this[_0x5978dd(0x3a9)]=_0x1934b7)&&(_0x51ced6=_0x1934b7['hit']&&_0x1934b7[_0x5978dd(0x864)]?_0x1934b7[_0x5978dd(0x864)][_0x5978dd(0x86c)]():null),this['_meshPickProceed']=!0x0;}return _0x51ced6;},this[_0x5235d2(0x5fd)]=(_0x3723b7,_0x2bd2c7,_0x160a04)=>{var _0x1ee9b2=_0x5235d2,_0x144ef4;(Date[_0x1ee9b2(0x831)]()-this[_0x1ee9b2(0x338)]>_0x11c626[_0x1ee9b2(0x1a3)]&&!this['_doubleClickOccured']||_0x3723b7!==this['_previousButtonPressed'])&&(this['_doubleClickOccured']=!0x1,_0x2bd2c7[_0x1ee9b2(0x780)]=!0x0,_0x2bd2c7[_0x1ee9b2(0x737)]=!0x1,this['_delayedClicks'][_0x3723b7]&&(_0x2bd2c7=this[_0x1ee9b2(0x1e3)][_0x3723b7][_0x1ee9b2(0x60e)],_0x144ef4=_0x3badd0['kD'][_0x1ee9b2(0x8a1)],_0x2bd2c7=new _0x3badd0['R5'](_0x144ef4,_0x2bd2c7,this[_0x1ee9b2(0x3a9)]),_0x16999b[_0x1ee9b2(0x200)][_0x1ee9b2(0x4e8)]()&&_0x16999b[_0x1ee9b2(0x200)][_0x1ee9b2(0x716)](_0x144ef4)&&_0x16999b[_0x1ee9b2(0x200)][_0x1ee9b2(0x794)](_0x2bd2c7,_0x144ef4),this[_0x1ee9b2(0x1e3)][_0x3723b7]=null));},this[_0x5235d2(0x1d1)]=(_0x13339e,_0x9fdd59,_0x39f4cc,_0x593062)=>{var _0x253be2=_0x5235d2;const _0x33be1f=new _0x562c4c();let _0x30db04=this[_0x253be2(0x3a9)]=null,_0x2bfaa3=_0x13339e['hasSpecificMask'](_0x3badd0['kD']['POINTERPICK'])||_0x9fdd59[_0x253be2(0x716)](_0x3badd0['kD']['POINTERPICK'])||_0x13339e[_0x253be2(0x716)](_0x3badd0['kD'][_0x253be2(0x8a1)])||_0x9fdd59[_0x253be2(0x716)](_0x3badd0['kD']['POINTERTAP'])||_0x13339e[_0x253be2(0x716)](_0x3badd0['kD'][_0x253be2(0x981)])||_0x9fdd59[_0x253be2(0x716)](_0x3badd0['kD'][_0x253be2(0x981)]),_0x20a80b=!0x1;if(_0x2bfaa3=!_0x2bfaa3&&_0x2665ab['O']&&(_0x30db04=this[_0x253be2(0xcb9)](_0x30db04,_0x33be1f))?_0x30db04[_0x253be2(0xae6)]:_0x2bfaa3){var _0x5789e5=_0x39f4cc[_0x253be2(0xc54)];if(_0x33be1f[_0x253be2(0x99d)]=this[_0x253be2(0xb47)](),!_0x33be1f['hasSwiped']){let _0x352761=!_0x11c626[_0x253be2(0xa06)],_0x7f97cc=(_0x352761||(_0x352761=!_0x13339e[_0x253be2(0x716)](_0x3badd0['kD'][_0x253be2(0x981)])&&!_0x9fdd59[_0x253be2(0x716)](_0x3badd0['kD'][_0x253be2(0x981)]))&&!_0x2665ab['O']['HasSpecificTrigger'](_0x5125d3['g'][_0x253be2(0x446)])&&(_0x30db04=this[_0x253be2(0xcb9)](_0x30db04,_0x33be1f))&&(_0x352761=!_0x30db04[_0x253be2(0x355)](_0x5125d3['g'][_0x253be2(0x446)])),_0x352761?(Date[_0x253be2(0x831)]()-this['_previousStartingPointerTime']>_0x11c626[_0x253be2(0x1a3)]||_0x5789e5!==this[_0x253be2(0xc29)])&&(_0x33be1f[_0x253be2(0x780)]=!0x0,_0x593062(_0x33be1f,this[_0x253be2(0x3a9)]),_0x20a80b=!0x0):(_0x39f4cc={'evt':_0x39f4cc,'clickInfo':_0x33be1f,'timeoutId':window[_0x253be2(0x2d3)](this[_0x253be2(0x5fd)][_0x253be2(0xc63)](this,_0x5789e5,_0x33be1f,_0x593062),_0x11c626[_0x253be2(0x1a3)])},this[_0x253be2(0x1e3)][_0x5789e5]=_0x39f4cc),_0x13339e[_0x253be2(0x716)](_0x3badd0['kD'][_0x253be2(0x981)])||_0x9fdd59[_0x253be2(0x716)](_0x3badd0['kD'][_0x253be2(0x981)]));(_0x7f97cc=!_0x7f97cc&&_0x2665ab['O'][_0x253be2(0xd35)](_0x5125d3['g'][_0x253be2(0x446)])&&(_0x30db04=this[_0x253be2(0xcb9)](_0x30db04,_0x33be1f))?_0x30db04[_0x253be2(0x355)](_0x5125d3['g']['ACTION_OnDoublePickTrigger']):_0x7f97cc)&&(_0x5789e5===this['_previousButtonPressed']&&Date[_0x253be2(0x831)]()-this[_0x253be2(0x338)]<_0x11c626['DoubleClickDelay']&&!this[_0x253be2(0x458)]?(_0x33be1f[_0x253be2(0x99d)]||this['_isPointerSwiping']()?(this[_0x253be2(0x458)]=!0x1,this[_0x253be2(0x338)]=this[_0x253be2(0x300)],this[_0x253be2(0x919)]['x']=this[_0x253be2(0x51a)]['x'],this[_0x253be2(0x919)]['y']=this[_0x253be2(0x51a)]['y'],this['_previousButtonPressed']=_0x5789e5,_0x11c626[_0x253be2(0xa06)]?(this[_0x253be2(0x1e3)][_0x5789e5]&&(clearTimeout(null==(_0x39f4cc=this['_delayedClicks'][_0x5789e5])?void 0x0:_0x39f4cc[_0x253be2(0x273)]),this[_0x253be2(0x1e3)][_0x5789e5]=null),_0x593062(_0x33be1f,this[_0x253be2(0x641)])):_0x593062(_0x33be1f,this[_0x253be2(0x3a9)])):(this[_0x253be2(0x338)]=0x0,this['_doubleClickOccured']=!0x0,_0x33be1f[_0x253be2(0x230)]=!0x0,_0x33be1f[_0x253be2(0x737)]=!0x1,_0x11c626['ExclusiveDoubleClickMode']&&this[_0x253be2(0x1e3)][_0x5789e5]&&(clearTimeout(null==(_0x13339e=this['_delayedClicks'][_0x5789e5])?void 0x0:_0x13339e[_0x253be2(0x273)]),this[_0x253be2(0x1e3)][_0x5789e5]=null),_0x593062(_0x33be1f,this['_currentPickResult'])),_0x20a80b=!0x0):(this[_0x253be2(0x458)]=!0x1,this[_0x253be2(0x338)]=this[_0x253be2(0x300)],this[_0x253be2(0x919)]['x']=this[_0x253be2(0x51a)]['x'],this['_previousStartingPointerPosition']['y']=this[_0x253be2(0x51a)]['y'],this[_0x253be2(0xc29)]=_0x5789e5));}}_0x20a80b||_0x593062(_0x33be1f,this[_0x253be2(0x3a9)]);},this[_0x5235d2(0x30a)]=_0x138ae1=>{var _0x3eeb4a=_0x5235d2,_0x444720;this['_updatePointerPosition'](_0x138ae1),this[_0x3eeb4a(0xb71)]||-0x1===this[_0x3eeb4a(0xbdb)]||(this[_0x3eeb4a(0xb71)]=Math[_0x3eeb4a(0x1b0)](this[_0x3eeb4a(0x51a)]['x']-this[_0x3eeb4a(0x6a7)])>_0x11c626['DragMovementThreshold']||Math[_0x3eeb4a(0x1b0)](this[_0x3eeb4a(0x51a)]['y']-this[_0x3eeb4a(0xb11)])>_0x11c626[_0x3eeb4a(0x8a3)]),_0x4c4309[_0x3eeb4a(0xd40)]&&_0x4c4309[_0x3eeb4a(0xd21)](),this['_checkPrePointerObservable'](null,_0x138ae1,_0x138ae1[_0x3eeb4a(0x772)]>=_0x3ea301['Fz']['MouseWheelX']&&_0x138ae1[_0x3eeb4a(0x772)]<=_0x3ea301['Fz'][_0x3eeb4a(0xc31)]?_0x3badd0['kD'][_0x3eeb4a(0x529)]:_0x3badd0['kD'][_0x3eeb4a(0x877)])||(_0x16999b[_0x3eeb4a(0x463)]||_0x16999b['activeCamera'])&&(_0x16999b[_0x3eeb4a(0x5ef)]?this[_0x3eeb4a(0x668)](new _0x258438['p'](),_0x138ae1):(_0x16999b[_0x3eeb4a(0xad8)]||(_0x16999b['pointerMovePredicate']=_0x517823=>_0x517823[_0x3eeb4a(0x43e)]&&_0x517823['isVisible']&&_0x517823[_0x3eeb4a(0x21c)]()&&_0x517823['isEnabled']()&&(_0x517823[_0x3eeb4a(0x81d)]||_0x16999b['constantlyUpdateMeshUnderPointer']||null!==_0x517823[_0x3eeb4a(0x86c)]())&&(!_0x16999b[_0x3eeb4a(0x463)]||0x0!=(_0x16999b[_0x3eeb4a(0x463)][_0x3eeb4a(0xd1b)]&_0x517823[_0x3eeb4a(0xd1b)]))),_0x444720=0x0<_0x16999b[_0x3eeb4a(0x4f5)]?this[_0x3eeb4a(0xa35)](_0x138ae1):null,this[_0x3eeb4a(0x668)](_0x444720,_0x138ae1)));},this[_0x5235d2(0x5ba)]=_0x33808b=>{var _0x572dbe=_0x5235d2,_0x573cf2;if(this[_0x572dbe(0x7c2)]++,this['_pickedDownMesh']=null,this[_0x572dbe(0x7c0)]=!0x1,_0x11c626[_0x572dbe(0xa06)]){for(let _0x13bc4f=0x0;_0x13bc4f<this[_0x572dbe(0x1e3)][_0x572dbe(0x86e)];_0x13bc4f++)if(this[_0x572dbe(0x1e3)][_0x13bc4f]){if(_0x33808b[_0x572dbe(0xc54)]===_0x13bc4f)clearTimeout(null==(_0x416a45=this[_0x572dbe(0x1e3)][_0x13bc4f])?void 0x0:_0x416a45['timeoutId']);else{const _0x26a082=this['_delayedClicks'][_0x13bc4f][_0x572dbe(0xa71)];this[_0x572dbe(0x458)]=!0x1,_0x26a082['singleClick']=!0x0,_0x26a082[_0x572dbe(0x737)]=!0x1;var _0x416a45=this[_0x572dbe(0x1e3)][_0x13bc4f][_0x572dbe(0x60e)],_0x420278=_0x3badd0['kD'][_0x572dbe(0x8a1)],_0x1c5277=new _0x3badd0['R5'](_0x420278,_0x416a45,this[_0x572dbe(0x3a9)]);_0x16999b[_0x572dbe(0x200)][_0x572dbe(0x4e8)]()&&_0x16999b['onPointerObservable'][_0x572dbe(0x716)](_0x420278)&&_0x16999b[_0x572dbe(0x200)]['notifyObservers'](_0x1c5277,_0x420278),this['_delayedClicks'][_0x13bc4f]=null;}}}this[_0x572dbe(0x27a)](_0x33808b),-0x1===this[_0x572dbe(0xbdb)]&&(this['_swipeButtonPressed']=_0x33808b[_0x572dbe(0xc54)]),_0x16999b[_0x572dbe(0xc35)]&&_0x1988d9&&(_0x33808b[_0x572dbe(0x3cf)](),_0x1988d9['focus']()),this[_0x572dbe(0x51a)]['x']=this['_pointerX'],this[_0x572dbe(0x51a)]['y']=this[_0x572dbe(0xb11)],this[_0x572dbe(0x300)]=Date[_0x572dbe(0x831)](),this[_0x572dbe(0x91c)](null,_0x33808b,_0x3badd0['kD']['POINTERDOWN'])||!_0x16999b[_0x572dbe(0x463)]&&!_0x16999b[_0x572dbe(0xa95)]||(this[_0x572dbe(0x3a4)][_0x33808b['pointerId']]=!0x0,_0x16999b[_0x572dbe(0x8e4)]||(_0x16999b[_0x572dbe(0x8e4)]=_0xccc149=>_0xccc149['isPickable']&&_0xccc149['isVisible']&&_0xccc149[_0x572dbe(0x21c)]()&&_0xccc149['isEnabled']()&&(!_0x16999b['cameraToUseForPointers']||0x0!=(_0x16999b[_0x572dbe(0x463)][_0x572dbe(0xd1b)]&_0xccc149['layerMask']))),this[_0x572dbe(0x49b)]=null,_0x573cf2=_0x16999b['skipPointerDownPicking']||0x0===_0x16999b[_0x572dbe(0x4f5)]&&!this[_0x572dbe(0x7c7)]()&&!_0x16999b[_0x572dbe(0x3a2)]?new _0x258438['p']():_0x16999b[_0x572dbe(0x99b)](this[_0x572dbe(0x365)],this[_0x572dbe(0x4fd)],_0x16999b['pointerDownPredicate'],!0x1,_0x16999b[_0x572dbe(0x463)]),this[_0x572dbe(0xace)](_0x573cf2,_0x33808b));},this[_0x5235d2(0xbce)]=_0x4acc21=>{var _0x182842=_0x5235d2;0x0!==this[_0x182842(0x7c2)]&&(this[_0x182842(0x7c2)]--,this[_0x182842(0x42c)]=null,this[_0x182842(0x7c0)]=!0x1,this[_0x182842(0x27a)](_0x4acc21),_0x16999b['preventDefaultOnPointerUp']&&_0x1988d9&&(_0x4acc21[_0x182842(0x3cf)](),_0x1988d9[_0x182842(0xd74)]()),this[_0x182842(0x1d1)](_0x16999b['onPrePointerObservable'],_0x16999b[_0x182842(0x200)],_0x4acc21,(_0x171caf,_0x4a87d0)=>{var _0x30578a=_0x182842;if(_0x16999b['onPrePointerObservable'][_0x30578a(0x4e8)]()&&(this[_0x30578a(0xad4)]=!0x1,!_0x171caf[_0x30578a(0x737)])){if(this[_0x30578a(0x91c)](null,_0x4acc21,_0x3badd0['kD'][_0x30578a(0xa7f)]))return void(this[_0x30578a(0xbdb)]===_0x4acc21[_0x30578a(0xc54)]&&(this[_0x30578a(0xb71)]=!0x1,this[_0x30578a(0xbdb)]=-0x1));_0x171caf['hasSwiped']||(_0x171caf[_0x30578a(0x780)]&&_0x16999b[_0x30578a(0x9d1)]['hasSpecificMask'](_0x3badd0['kD']['POINTERTAP'])&&this[_0x30578a(0x91c)](null,_0x4acc21,_0x3badd0['kD'][_0x30578a(0x8a1)])&&(this['_skipPointerTap']=!0x0),_0x171caf[_0x30578a(0x230)]&&_0x16999b['onPrePointerObservable'][_0x30578a(0x716)](_0x3badd0['kD'][_0x30578a(0x981)])&&this[_0x30578a(0x91c)](null,_0x4acc21,_0x3badd0['kD'][_0x30578a(0x981)])&&(this[_0x30578a(0xad4)]=!0x0));}this[_0x30578a(0x3a4)][_0x4acc21[_0x30578a(0xbb0)]]?(0x0===_0x4acc21[_0x30578a(0xd4c)]&&(this['_pointerCaptures'][_0x4acc21[_0x30578a(0xbb0)]]=!0x1),(_0x16999b[_0x30578a(0x463)]||_0x16999b[_0x30578a(0xa95)])&&(_0x16999b[_0x30578a(0x2af)]||(_0x16999b[_0x30578a(0x2af)]=_0x5d02f2=>_0x5d02f2[_0x30578a(0x43e)]&&_0x5d02f2['isVisible']&&_0x5d02f2['isReady']()&&_0x5d02f2[_0x30578a(0x7e4)]()&&(!_0x16999b[_0x30578a(0x463)]||0x0!=(_0x16999b[_0x30578a(0x463)]['layerMask']&_0x5d02f2['layerMask']))),!this[_0x30578a(0x7c0)]&&(_0x2665ab['O']&&_0x2665ab['O'][_0x30578a(0x6f3)]||this[_0x30578a(0x7c7)]()||_0x16999b['onPointerUp'])&&this[_0x30578a(0xcb9)](null,_0x171caf),_0x4a87d0=_0x4a87d0||this[_0x30578a(0x3a9)],this[_0x30578a(0x7d1)](_0x4a87d0,_0x4acc21,_0x171caf),this[_0x30578a(0x641)]=this[_0x30578a(0x3a9)],this[_0x30578a(0xbdb)]===_0x4acc21[_0x30578a(0xc54)]&&(this[_0x30578a(0xb71)]=!0x1,this['_swipeButtonPressed']=-0x1))):this[_0x30578a(0xbdb)]===_0x4acc21[_0x30578a(0xc54)]&&(this[_0x30578a(0xb71)]=!0x1,this[_0x30578a(0xbdb)]=-0x1);}));},this['_onKeyDown']=_0x1baaa5=>{var _0x20f7e9=_0x5235d2,_0x18387f=_0x2b8232['OG'][_0x20f7e9(0x516)];if(_0x16999b[_0x20f7e9(0xc5a)][_0x20f7e9(0x4e8)]()){var _0x2c4c30=new _0x2b8232['WZ'](_0x18387f,_0x1baaa5);if(_0x16999b[_0x20f7e9(0xc5a)][_0x20f7e9(0x794)](_0x2c4c30,_0x18387f),_0x2c4c30[_0x20f7e9(0x58e)])return;}_0x16999b['onKeyboardObservable']['hasObservers']()&&(_0x2c4c30=new _0x2b8232['NG'](_0x18387f,_0x1baaa5),_0x16999b[_0x20f7e9(0x954)]['notifyObservers'](_0x2c4c30,_0x18387f)),_0x16999b[_0x20f7e9(0xbe5)]&&_0x16999b[_0x20f7e9(0xbe5)][_0x20f7e9(0x85f)](_0x5125d3['g']['ACTION_OnKeyDownTrigger'],_0x286241['V'][_0x20f7e9(0xbd9)](_0x16999b,_0x1baaa5));},this['_onKeyUp']=_0xc349a4=>{var _0x465dc3=_0x5235d2,_0x1ee110=_0x2b8232['OG'][_0x465dc3(0xaea)];if(_0x16999b['onPreKeyboardObservable'][_0x465dc3(0x4e8)]()){var _0x95d660=new _0x2b8232['WZ'](_0x1ee110,_0xc349a4);if(_0x16999b['onPreKeyboardObservable'][_0x465dc3(0x794)](_0x95d660,_0x1ee110),_0x95d660[_0x465dc3(0x58e)])return;}_0x16999b[_0x465dc3(0x954)][_0x465dc3(0x4e8)]()&&(_0x95d660=new _0x2b8232['NG'](_0x1ee110,_0xc349a4),_0x16999b[_0x465dc3(0x954)][_0x465dc3(0x794)](_0x95d660,_0x1ee110)),_0x16999b[_0x465dc3(0xbe5)]&&_0x16999b[_0x465dc3(0xbe5)]['processTrigger'](_0x5125d3['g'][_0x465dc3(0x259)],_0x286241['V'][_0x465dc3(0xbd9)](_0x16999b,_0xc349a4));},this['_deviceSourceManager'][_0x5235d2(0xbd1)][_0x5235d2(0x47e)](_0x5e02c3=>{var _0x3b5e01=_0x5235d2;_0x5e02c3[_0x3b5e01(0xb91)]===_0x3ea301['Yi'][_0x3b5e01(0x3c8)]?_0x5e02c3['onInputChangedObservable'][_0x3b5e01(0x47e)](_0x3f7fad=>{var _0x587448=_0x3b5e01;_0x3f7fad['inputIndex']===_0x3ea301['Fz'][_0x587448(0x55e)]||_0x3f7fad['inputIndex']===_0x3ea301['Fz']['MiddleClick']||_0x3f7fad[_0x587448(0x772)]===_0x3ea301['Fz']['RightClick']||_0x3f7fad[_0x587448(0x772)]===_0x3ea301['Fz'][_0x587448(0x96e)]||_0x3f7fad[_0x587448(0x772)]===_0x3ea301['Fz'][_0x587448(0x23c)]?_0x3cda55&&0x1===_0x5e02c3[_0x587448(0x2bf)](_0x3f7fad[_0x587448(0x772)])?this[_0x587448(0x5ba)](_0x3f7fad):_0x2a82ae&&0x0===_0x5e02c3['getInput'](_0x3f7fad[_0x587448(0x772)])&&this[_0x587448(0xbce)](_0x3f7fad):!_0x4dfea8||_0x3f7fad[_0x587448(0x772)]!==_0x3ea301['Fz'][_0x587448(0x5a8)]&&_0x3f7fad['inputIndex']!==_0x3ea301['Fz'][_0x587448(0xc94)]&&_0x3f7fad[_0x587448(0x772)]!==_0x3ea301['Fz']['MouseWheelY']&&_0x3f7fad[_0x587448(0x772)]!==_0x3ea301['Fz'][_0x587448(0xc31)]||this[_0x587448(0x30a)](_0x3f7fad);}):_0x5e02c3[_0x3b5e01(0xb91)]===_0x3ea301['Yi'][_0x3b5e01(0x6fe)]?_0x5e02c3['onInputChangedObservable']['add'](_0x2b5690=>{var _0x4c8a07=_0x3b5e01;_0x2b5690[_0x4c8a07(0x772)]===_0x3ea301['Fz']['LeftClick']&&(_0x3cda55&&0x1===_0x5e02c3[_0x4c8a07(0x2bf)](_0x2b5690[_0x4c8a07(0x772)])?(this['_onPointerDown'](_0x2b5690),0x1<this[_0x4c8a07(0x7c2)]&&(this[_0x4c8a07(0x767)]=!0x0)):_0x2a82ae&&0x0===_0x5e02c3[_0x4c8a07(0x2bf)](_0x2b5690[_0x4c8a07(0x772)])&&(this[_0x4c8a07(0xbce)](_0x2b5690),0x0===this[_0x4c8a07(0x7c2)]&&(this[_0x4c8a07(0x767)]=!0x1))),_0x4dfea8&&_0x2b5690[_0x4c8a07(0x772)]===_0x3ea301['Fz'][_0x4c8a07(0x5a8)]&&this[_0x4c8a07(0x30a)](_0x2b5690);}):_0x5e02c3[_0x3b5e01(0xb91)]===_0x3ea301['Yi'][_0x3b5e01(0xaa8)]&&_0x5e02c3['onInputChangedObservable']['add'](_0x4dbf0b=>{var _0x34906b=_0x3b5e01;'keydown'===_0x4dbf0b[_0x34906b(0x395)]?this[_0x34906b(0x91b)](_0x4dbf0b):_0x34906b(0x310)===_0x4dbf0b[_0x34906b(0x395)]&&this[_0x34906b(0xc27)](_0x4dbf0b);});}),this[_0x5235d2(0x844)]=!0x0;}['detachControl'](){var _0x2788c8=_0x443eea;this[_0x2788c8(0x844)]&&(this[_0x2788c8(0x7c1)][_0x2788c8(0x1cb)](),this['_deviceSourceManager']=null,this[_0x2788c8(0x749)]&&!this[_0x2788c8(0x851)][_0x2788c8(0xbbf)]&&(this[_0x2788c8(0x749)][_0x2788c8(0xd2c)][_0x2788c8(0x741)]=this[_0x2788c8(0x851)]['defaultCursor']),this[_0x2788c8(0x844)]=!0x1,this[_0x2788c8(0x749)]=null);}['setPointerOverMesh'](_0x221e6d,_0x5cb206=0x0,_0x3ed9bc,_0x2f1f29){var _0x471cc2=_0x443eea;if(this[_0x471cc2(0x8b0)][_0x5cb206]!==_0x221e6d||_0x221e6d&&_0x221e6d[_0x471cc2(0xd31)]['_pointerOverDisableMeshTesting']){const _0xdb7f50=this[_0x471cc2(0x8b0)][_0x5cb206];let _0x18ccfa;_0xdb7f50&&(_0x18ccfa=_0xdb7f50[_0x471cc2(0x86c)](_0x5125d3['g'][_0x471cc2(0x42f)]))&&_0x18ccfa[_0x471cc2(0x85f)](_0x5125d3['g'][_0x471cc2(0x42f)],_0x286241['V'][_0x471cc2(0x4e1)](_0xdb7f50,_0x2f1f29,{'pointerId':_0x5cb206})),_0x221e6d?(this[_0x471cc2(0x8b0)][_0x5cb206]=_0x221e6d,this[_0x471cc2(0x31e)]=_0x221e6d,(_0x18ccfa=_0x221e6d[_0x471cc2(0x86c)](_0x5125d3['g']['ACTION_OnPointerOverTrigger']))&&_0x18ccfa['processTrigger'](_0x5125d3['g'][_0x471cc2(0x50d)],_0x286241['V'][_0x471cc2(0x4e1)](_0x221e6d,_0x2f1f29,{'pointerId':_0x5cb206,'pickResult':_0x3ed9bc}))):(delete this['_meshUnderPointerId'][_0x5cb206],this[_0x471cc2(0x31e)]=null);}}[_0x443eea(0x3e9)](){return this['meshUnderPointer'];}[_0x443eea(0x1c5)](_0x188e1c){var _0x355d93=_0x443eea;this[_0x355d93(0x31e)]===_0x188e1c&&(this[_0x355d93(0x31e)]=null),this[_0x355d93(0x49b)]===_0x188e1c&&(this['_pickedDownMesh']=null),this[_0x355d93(0x42c)]===_0x188e1c&&(this['_pickedUpMesh']=null);for(const _0x586689 in this[_0x355d93(0x8b0)])this[_0x355d93(0x8b0)][_0x586689]===_0x188e1c&&delete this['_meshUnderPointerId'][_0x586689];}}_0x11c626[_0x443eea(0x8a3)]=0xa,_0x11c626[_0x443eea(0x651)]=0x1f4,_0x11c626[_0x443eea(0x1a3)]=0x12c,_0x11c626['ExclusiveDoubleClickMode']=!0x1;},0x11fc5:(_0x4e4504,_0x3f99bb,_0x1df9cd)=>{_0x1df9cd['d'](_0x3f99bb,{'W':()=>_0x27b9b7});class _0x27b9b7{constructor(){var _0x4d2a69=a7_0x5572;this[_0x4d2a69(0x2f2)]=!0x1;}}},0x72fb:(_0x409032,_0x7f9a71,_0x14e51b)=>{var _0xd575fd=a7_0x425593;_0x14e51b['d'](_0x7f9a71,{'m':()=>_0x4c2ea9});class _0x4c2ea9{static['CompareLightsPriority'](_0x27ba34,_0x2eaaab){var _0x5cfa08=a7_0x5572;return _0x27ba34[_0x5cfa08(0x509)]!==_0x2eaaab['shadowEnabled']?(_0x2eaaab[_0x5cfa08(0x509)]?0x1:0x0)-(_0x27ba34['shadowEnabled']?0x1:0x0):_0x2eaaab[_0x5cfa08(0x321)]-_0x27ba34[_0x5cfa08(0x321)];}}_0x4c2ea9[_0xd575fd(0x344)]=0x0,_0x4c2ea9['FALLOFF_PHYSICAL']=0x1,_0x4c2ea9[_0xd575fd(0x167)]=0x2,_0x4c2ea9[_0xd575fd(0xb81)]=0x3,_0x4c2ea9[_0xd575fd(0x934)]=0x0,_0x4c2ea9[_0xd575fd(0x56f)]=0x1,_0x4c2ea9[_0xd575fd(0x512)]=0x2,_0x4c2ea9[_0xd575fd(0x6e1)]=0x0,_0x4c2ea9[_0xd575fd(0x806)]=0x1,_0x4c2ea9['INTENSITYMODE_LUMINOUSINTENSITY']=0x2,_0x4c2ea9['INTENSITYMODE_ILLUMINANCE']=0x3,_0x4c2ea9[_0xd575fd(0x73c)]=0x4,_0x4c2ea9[_0xd575fd(0x447)]=0x0,_0x4c2ea9[_0xd575fd(0xd25)]=0x1,_0x4c2ea9['LIGHTTYPEID_SPOTLIGHT']=0x2,_0x4c2ea9[_0xd575fd(0x34f)]=0x3;},0xdd81:(_0x511f77,_0x2a791f,_0xbc4c9)=>{var _0x282db9=a7_0x425593,_0x283434=_0xbc4c9(0x17a92);_0xbc4c9(0x175b0),_0xbc4c9(0xe6c7),_0xbc4c9(0x15fb5),_0xbc4c9(0x1f57),_0xbc4c9(0x1f85),_0xbc4c9(0xff1b),_0xbc4c9(0x12a16),_0xbc4c9(0x3328),_0xbc4c9(0x6318),_0xbc4c9(0xb0bc),_0xbc4c9(0x10ef),_0xbc4c9(0x17ef8),_0x283434['v'][_0x282db9(0xd4b)][_0x282db9(0x335)]='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<helperFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\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<clipPlaneFragment>\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<depthPrePass>\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<lightFragment>[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<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}';},0x6953:(_0x99e662,_0x5b1060,_0xdadca0)=>{var _0x2e4752=a7_0x425593,_0x4a15ae=_0xdadca0(0x17a92);_0xdadca0(0x13f9a),_0xdadca0(0x12929),_0xdadca0(0x12bc6),_0xdadca0(0x13216),_0xdadca0(0x6a99),_0xdadca0(0xe6c7),_0xdadca0(0x15fb5),_0xdadca0(0x733d),_0xdadca0(0xb434),_0xdadca0(0xdcea),_0xdadca0(0x6efd),_0xdadca0(0x9871),_0xdadca0(0x6e75),_0xdadca0(0xedb9),_0x4a15ae['v']['ShadersStore'][_0x2e4752(0x289)]=_0x2e4752(0x760);},0x2c85:(_0x213fa0,_0x9aee33,_0x51df53)=>{var _0x46484d=a7_0x425593,_0x98eb8a=_0x51df53(0x17a92);_0x51df53(0xff1b),_0x51df53(0x12a16),_0x51df53(0x3328),_0x51df53(0x6318),_0x51df53(0x10ef),_0x51df53(0x17ef8),_0x98eb8a['v'][_0x46484d(0xd4b)][_0x46484d(0xbd6)]=_0x46484d(0xb54);},0x16f95:(_0x5eb467,_0x171636,_0x24acc9)=>{var _0x445e6a=a7_0x425593,_0x4311a9=_0x24acc9(0x17a92);_0x24acc9(0x13f9a),_0x24acc9(0x12929),_0x24acc9(0x12bc6),_0x24acc9(0x13216),_0x24acc9(0x6a99),_0x24acc9(0x733d),_0x24acc9(0xb434),_0x24acc9(0xdcea),_0x24acc9(0x6efd),_0x24acc9(0x9871),_0x24acc9(0xedb9),_0x4311a9['v'][_0x445e6a(0xd4b)]['fireVertexShader']='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<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\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<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\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<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\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<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<vertexColorMixing>\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';},0x10367:(_0x24466f,_0x423e5c,_0x5e8502)=>{var _0xbf67cd=a7_0x425593,_0x355a2c=_0x5e8502(0x17a92);_0x5e8502(0x175b0),_0x5e8502(0xe6c7),_0x5e8502(0x15fb5),_0x5e8502(0x1f57),_0x5e8502(0x1f85),_0x5e8502(0x12a16),_0x5e8502(0xff1b),_0x5e8502(0x3328),_0x5e8502(0x6318),_0x5e8502(0xb0bc),_0x5e8502(0x10ef),_0x5e8502(0x17ef8),_0x355a2c['v'][_0xbf67cd(0xd4b)]['furPixelShader']=_0xbf67cd(0x26b);},0xe461:(_0x37e1bc,_0x458544,_0xa5baf8)=>{var _0x3a4151=a7_0x425593,_0x1df188=_0xa5baf8(0x17a92);_0xa5baf8(0x13f9a),_0xa5baf8(0x12929),_0xa5baf8(0x12bc6),_0xa5baf8(0x13216),_0xa5baf8(0x6a99),_0xa5baf8(0xe6c7),_0xa5baf8(0x15fb5),_0xa5baf8(0x733d),_0xa5baf8(0xb434),_0xa5baf8(0xdcea),_0xa5baf8(0x6efd),_0xa5baf8(0x9871),_0xa5baf8(0x6e75),_0xa5baf8(0xedb9),_0x1df188['v']['ShadersStore'][_0x3a4151(0xcd2)]=_0x3a4151(0xa98);},0xbd74:(_0x26b84a,_0x18a81b,_0x37c2a5)=>{var _0x5c2197=a7_0x425593,_0x583f91=_0x37c2a5(0x17a92);_0x37c2a5(0x175b0),_0x37c2a5(0xe6c7),_0x37c2a5(0x15fb5),_0x37c2a5(0x1f57),_0x37c2a5(0x1f85),_0x37c2a5(0xff1b),_0x37c2a5(0x12a16),_0x37c2a5(0x3328),_0x37c2a5(0x6318),_0x37c2a5(0xb0bc),_0x37c2a5(0x10ef),_0x37c2a5(0x17ef8),_0x583f91['v'][_0x5c2197(0xd4b)]['gradientPixelShader']='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<helperFunctions>\x0a#include<__decl__lightFragment>[0]\x0a#include<__decl__lightFragment>[1]\x0a#include<__decl__lightFragment>[2]\x0a#include<__decl__lightFragment>[3]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\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<depthPrePass>\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<lightFragment>[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<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a';},0x4a05:(_0x1fef04,_0x6e1b4a,_0x15549f)=>{var _0x5529ac=a7_0x425593,_0x282043=_0x15549f(0x17a92);_0x15549f(0x13f9a),_0x15549f(0x12929),_0x15549f(0x12bc6),_0x15549f(0x13216),_0x15549f(0x6a99),_0x15549f(0xe6c7),_0x15549f(0x15fb5),_0x15549f(0x733d),_0x15549f(0xb434),_0x15549f(0xdcea),_0x15549f(0x6efd),_0x15549f(0x9871),_0x15549f(0x6e75),_0x15549f(0xedb9),_0x282043['v'][_0x5529ac(0xd4b)][_0x5529ac(0x729)]=_0x5529ac(0xbae);},0x1072f:(_0x239641,_0xf3a438,_0x49ab16)=>{var _0x15ad50=a7_0x425593,_0x162592=_0x49ab16(0x17a92);_0x49ab16(0x12a16),_0x49ab16(0x10ef),_0x49ab16(0x17ef8),_0x162592['v']['ShadersStore'][_0x15ad50(0xb34)]='#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<fogFragmentDeclaration>\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<fogFragment>\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<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a';},0x5442:(_0x547398,_0x241013,_0x281237)=>{var _0x1f807a=_0x281237(0x17a92);_0x281237(0x12bc6),_0x281237(0x6a99),_0x281237(0x733d),_0x281237(0x9871),_0x1f807a['v']['ShadersStore']['gridVertexShader']='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<instancesDeclaration>\x0auniform\x20mat4\x20projection;\x0auniform\x20mat4\x20view;\x0avarying\x20vec3\x20vPosition;\x0avarying\x20vec3\x20vNormal;\x0a#include<fogVertexDeclaration>\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<instancesVertex>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0a#include<fogVertex>\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}';},0x36d3:(_0x1c4819,_0xd99598,_0x305007)=>{var _0xcd1b3f=a7_0x425593,_0x1cc610=_0x305007(0x17a92);_0x305007(0x175b0),_0x305007(0xe6c7),_0x305007(0x15fb5),_0x305007(0x1f57),_0x305007(0x1f85),_0x305007(0xff1b),_0x305007(0x12a16),_0x305007(0x3328),_0x305007(0x6318),_0x305007(0xb0bc),_0x305007(0x10ef),_0x305007(0x17ef8),_0x1cc610['v'][_0xcd1b3f(0xd4b)]['lavaPixelShader']=_0xcd1b3f(0x558);},0xbb43:(_0x46c7fc,_0x5114a6,_0x2f4729)=>{var _0x4b4398=a7_0x425593,_0x1de09c=_0x2f4729(0x17a92);_0x2f4729(0x13f9a),_0x2f4729(0x12929),_0x2f4729(0x12bc6),_0x2f4729(0x13216),_0x2f4729(0x6a99),_0x2f4729(0xe6c7),_0x2f4729(0x15fb5),_0x2f4729(0x733d),_0x2f4729(0xb434),_0x2f4729(0xdcea),_0x2f4729(0x6efd),_0x2f4729(0x9871),_0x2f4729(0x6e75),_0x2f4729(0xedb9),_0x1de09c['v']['ShadersStore'][_0x4b4398(0x4c6)]=_0x4b4398(0x62c);},0x1968:(_0x424557,_0x3bf5de,_0x5c1e01)=>{var _0x4a82c1=a7_0x425593,_0x51081f=_0x5c1e01(0x17a92);_0x5c1e01(0x175b0),_0x5c1e01(0xe6c7),_0x5c1e01(0x15fb5),_0x5c1e01(0x1f57),_0x5c1e01(0x1f85),_0x5c1e01(0xff1b),_0x5c1e01(0x12a16),_0x5c1e01(0x3328),_0x5c1e01(0x6318),_0x5c1e01(0xb0bc),_0x5c1e01(0x10ef),_0x5c1e01(0x17ef8),_0x51081f['v'][_0x4a82c1(0xd4b)][_0x4a82c1(0x1c7)]=_0x4a82c1(0xb96);},0x7d18:(_0xfc0ada,_0x4282ed,_0x3d8f94)=>{var _0x5764f3=a7_0x425593,_0x29f655=_0x3d8f94(0x17a92);_0x3d8f94(0x13f9a),_0x3d8f94(0x12929),_0x3d8f94(0x12bc6),_0x3d8f94(0x13216),_0x3d8f94(0x6a99),_0x3d8f94(0xe6c7),_0x3d8f94(0x15fb5),_0x3d8f94(0x733d),_0x3d8f94(0xb434),_0x3d8f94(0xdcea),_0x3d8f94(0x6efd),_0x3d8f94(0x9871),_0x3d8f94(0x6e75),_0x3d8f94(0xedb9),_0x29f655['v'][_0x5764f3(0xd4b)][_0x5764f3(0x4a2)]=_0x5764f3(0xcfd);},0xc97e:(_0x1c5da4,_0x12ffc3,_0x164b82)=>{var _0x37eb33=a7_0x425593,_0x2b5da1=_0x164b82(0x17a92);_0x164b82(0x175b0),_0x164b82(0xe6c7),_0x164b82(0x15fb5),_0x164b82(0x1f57),_0x164b82(0x1f85),_0x164b82(0xff1b),_0x164b82(0x12a16),_0x164b82(0x3328),_0x164b82(0x6318),_0x164b82(0xb0bc),_0x164b82(0x10ef),_0x164b82(0x17ef8),_0x2b5da1['v'][_0x37eb33(0xd4b)]['normalPixelShader']=_0x37eb33(0x573);},0x8f3b:(_0x50214c,_0x8e8a9e,_0x11b5e9)=>{var _0x10b5dd=a7_0x425593,_0x36ed8c=_0x11b5e9(0x17a92);_0x11b5e9(0x13f9a),_0x11b5e9(0x12929),_0x11b5e9(0x12bc6),_0x11b5e9(0x13216),_0x11b5e9(0x6a99),_0x11b5e9(0xe6c7),_0x11b5e9(0x15fb5),_0x11b5e9(0x733d),_0x11b5e9(0xb434),_0x11b5e9(0xdcea),_0x11b5e9(0x6efd),_0x11b5e9(0x9871),_0x11b5e9(0x6e75),_0x36ed8c['v'][_0x10b5dd(0xd4b)][_0x10b5dd(0x961)]=_0x10b5dd(0x76f);},0x15bd0:(_0x3adf73,_0x2833d7,_0x4f8c9a)=>{var _0x4190f2=a7_0x425593,_0xab0179=_0x4f8c9a(0x17a92);_0x4f8c9a(0x175b0),_0x4f8c9a(0xe6c7),_0x4f8c9a(0x15fb5),_0x4f8c9a(0x1f57),_0x4f8c9a(0x1f85),_0x4f8c9a(0xff1b),_0x4f8c9a(0x12a16),_0x4f8c9a(0x3328),_0x4f8c9a(0xb0bc),_0x4f8c9a(0x10ef),_0x4f8c9a(0x17ef8),_0xab0179['v'][_0x4190f2(0xd4b)][_0x4190f2(0xce8)]=_0x4190f2(0x27e);},0x3e31:(_0x1804ac,_0x28bc4f,_0x18fec8)=>{var _0x57b341=a7_0x425593,_0x1c2f2b=_0x18fec8(0x17a92);_0x18fec8(0x13f9a),_0x18fec8(0x12929),_0x18fec8(0x12bc6),_0x18fec8(0x13216),_0x18fec8(0x6a99),_0x18fec8(0xe6c7),_0x18fec8(0x15fb5),_0x18fec8(0x733d),_0x18fec8(0xb434),_0x18fec8(0xdcea),_0x18fec8(0x6efd),_0x18fec8(0x9871),_0x18fec8(0x6e75),_0x1c2f2b['v'][_0x57b341(0xd4b)][_0x57b341(0x5c0)]=_0x57b341(0xcc1);},0x1b5e:(_0x37a69b,_0x4bea76,_0x193caa)=>{var _0x2879d5=a7_0x425593,_0x3a3126=_0x193caa(0x17a92);_0x193caa(0x175b0),_0x193caa(0xe6c7),_0x193caa(0x15fb5),_0x193caa(0x1f57),_0x193caa(0x1f85),_0x193caa(0xff1b),_0x193caa(0x12a16),_0x193caa(0x3328),_0x193caa(0x6318),_0x193caa(0xb0bc),_0x193caa(0x10ef),_0x193caa(0x17ef8),_0x3a3126['v'][_0x2879d5(0xd4b)][_0x2879d5(0x684)]='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<helperFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\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<depthPrePass>\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<lightFragment>[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<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}';},0xcd2d:(_0x17f685,_0x53c477,_0x476b63)=>{var _0x484233=a7_0x425593,_0x141700=_0x476b63(0x17a92);_0x476b63(0x13f9a),_0x476b63(0x12929),_0x476b63(0x12bc6),_0x476b63(0x13216),_0x476b63(0x6a99),_0x476b63(0xe6c7),_0x476b63(0x15fb5),_0x476b63(0x733d),_0x476b63(0xb434),_0x476b63(0xdcea),_0x476b63(0x6efd),_0x476b63(0x9871),_0x476b63(0x6e75),_0x476b63(0xedb9),_0x141700['v'][_0x484233(0xd4b)][_0x484233(0x5d0)]=_0x484233(0xce1);},0x717d:(_0x17ac1e,_0x17a789,_0x5f5064)=>{var _0x5e45a8=a7_0x425593,_0x23cfbc=_0x5f5064(0x17a92);_0x5f5064(0xff1b),_0x5f5064(0x12a16),_0x5f5064(0x175b0),_0x5f5064(0x3328),_0x5f5064(0x10ef),_0x5f5064(0x17ef8),_0x23cfbc['v'][_0x5e45a8(0xd4b)]['skyPixelShader']=_0x5e45a8(0x380);},0xa7:(_0x4e8a08,_0xafe0d0,_0x144738)=>{var _0x38d77e=a7_0x425593,_0xe2cd4f=_0x144738(0x17a92);_0x144738(0x13216),_0x144738(0x6a99),_0x144738(0x6efd),_0x144738(0x9871),_0xe2cd4f['v']['ShadersStore'][_0x38d77e(0x474)]=_0x38d77e(0x26c);},0x1528a:(_0x3b1a58,_0x55c7b7,_0x2cf4fc)=>{var _0x480e8d=a7_0x425593,_0x381d83=_0x2cf4fc(0x17a92);_0x2cf4fc(0x175b0),_0x2cf4fc(0xe6c7),_0x2cf4fc(0x15fb5),_0x2cf4fc(0x1f57),_0x2cf4fc(0x1f85),_0x2cf4fc(0xff1b),_0x2cf4fc(0x12a16),_0x2cf4fc(0x3328),_0x2cf4fc(0x6318),_0x2cf4fc(0xb0bc),_0x2cf4fc(0x10ef),_0x2cf4fc(0x17ef8),_0x381d83['v']['ShadersStore']['terrainPixelShader']=_0x480e8d(0xa7e);},0x136e8:(_0x34e4d9,_0x4dfcb4,_0x2d38cc)=>{var _0x29f05c=a7_0x425593,_0x56797c=_0x2d38cc(0x17a92);_0x2d38cc(0x13f9a),_0x2d38cc(0x12929),_0x2d38cc(0x12bc6),_0x2d38cc(0x13216),_0x2d38cc(0x6a99),_0x2d38cc(0xe6c7),_0x2d38cc(0x15fb5),_0x2d38cc(0x733d),_0x2d38cc(0xb434),_0x2d38cc(0xdcea),_0x2d38cc(0x6efd),_0x2d38cc(0x9871),_0x2d38cc(0x6e75),_0x2d38cc(0xedb9),_0x56797c['v'][_0x29f05c(0xd4b)][_0x29f05c(0x80a)]='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<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\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<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\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<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a';},0x109eb:(_0x4e9008,_0x53f48f,_0x3059c1)=>{var _0x2ac637=a7_0x425593,_0x5b116c=_0x3059c1(0x17a92);_0x3059c1(0x175b0),_0x3059c1(0xe6c7),_0x3059c1(0x15fb5),_0x3059c1(0x1f57),_0x3059c1(0x1f85),_0x3059c1(0xff1b),_0x3059c1(0x12a16),_0x3059c1(0x3328),_0x3059c1(0x6318),_0x3059c1(0xb0bc),_0x3059c1(0x10ef),_0x3059c1(0x17ef8),_0x5b116c['v'][_0x2ac637(0xd4b)][_0x2ac637(0x5d5)]=_0x2ac637(0x8c0);},0x1444:(_0x318df7,_0x127277,_0x114be3)=>{var _0x1d34c8=a7_0x425593,_0x5889f0=_0x114be3(0x17a92);_0x114be3(0x13f9a),_0x114be3(0x12929),_0x114be3(0x12bc6),_0x114be3(0x13216),_0x114be3(0x6a99),_0x114be3(0xe6c7),_0x114be3(0x15fb5),_0x114be3(0x733d),_0x114be3(0xb434),_0x114be3(0xdcea),_0x114be3(0x6efd),_0x114be3(0x9871),_0x114be3(0x6e75),_0x114be3(0xedb9),_0x5889f0['v'][_0x1d34c8(0xd4b)][_0x1d34c8(0x238)]=_0x1d34c8(0x5e1);},0x17ba7:(_0x5e2484,_0x1e1efd,_0x43ea70)=>{var _0x34aca7=a7_0x425593,_0x3ca07f=_0x43ea70(0x17a92);_0x43ea70(0x175b0),_0x43ea70(0x16c11),_0x43ea70(0x119a9),_0x43ea70(0xe6c7),_0x43ea70(0x15fb5),_0x43ea70(0x1f57),_0x43ea70(0x1f85),_0x43ea70(0xff1b),_0x43ea70(0x17bd9),_0x43ea70(0x12a16),_0x43ea70(0x3328),_0x43ea70(0xb0bc),_0x43ea70(0x1445f),_0x43ea70(0x10ef),_0x3ca07f['v'][_0x34aca7(0xd4b)]['waterPixelShader']=_0x34aca7(0x331);},0xf5bf:(_0x1e9f68,_0x1058ee,_0x2ba7cd)=>{var _0xecd9e9=a7_0x425593,_0xb9fcf6=_0x2ba7cd(0x17a92);_0x2ba7cd(0x13f9a),_0x2ba7cd(0x12929),_0x2ba7cd(0x12bc6),_0x2ba7cd(0x13216),_0x2ba7cd(0x6a99),_0x2ba7cd(0xe6c7),_0x2ba7cd(0x15fb5),_0x2ba7cd(0x17bd9),_0x2ba7cd(0x733d),_0x2ba7cd(0xb434),_0x2ba7cd(0xdcea),_0x2ba7cd(0x6efd),_0x2ba7cd(0x9871),_0x2ba7cd(0x6e75),_0x2ba7cd(0xedb9),_0x2ba7cd(0x13da6),_0xb9fcf6['v']['ShadersStore'][_0xecd9e9(0x570)]=_0xecd9e9(0x97c);},0xd482:(_0x5bfd31,_0x1776bc,_0xf1c016)=>{var _0x234919=a7_0x425593;_0xf1c016['d'](_0x1776bc,{'W':()=>_0x4af0d7});var _0x1776bc=_0xf1c016(0x15a52),_0x49d92d=_0xf1c016(0x16ad5),_0x1f1aa5=_0xf1c016(0xe779),_0x59cd94=_0xf1c016(0xe456),_0x57ba33=_0xf1c016(0x11c74),_0x5f1f94=_0xf1c016(0x13cd1),_0x157ef6=_0xf1c016(0x77a5),_0x5d119c=(_0xf1c016(0x11645),_0xf1c016(0x2dc8)),_0x7dea04=_0xf1c016(0xbac7),_0x343bf2=_0xf1c016(0xf8c1),_0xf1c016=_0xf1c016(0x159af);class _0x4af0d7 extends _0x1776bc['k']{constructor(_0x15d04e){var _0x3a34ee=a7_0x5572;super(_0x15d04e,_0x49d92d['u'][_0x3a34ee(0xb44)]),this['generateOnlyFragmentCode']=!0x1;}get[_0x234919(0x7c5)](){var _0x5d89c1=_0x234919;return this[_0x5d89c1(0x70f)];}set['texture'](_0x2e4a91){var _0x278c0f=_0x234919,_0xf5184e;if(this[_0x278c0f(0x70f)]!==_0x2e4a91){const _0x41b69c=null!=(_0xf5184e=null==_0x2e4a91?void 0x0:_0x2e4a91[_0x278c0f(0x427)]())?_0xf5184e:_0x343bf2['l'][_0x278c0f(0x314)];!_0x2e4a91&&_0x41b69c&&_0x41b69c[_0x278c0f(0x44f)](_0x157ef6['g'][_0x278c0f(0x5ec)],_0x593556=>_0x593556[_0x278c0f(0x44a)](this[_0x278c0f(0x70f)])),(this[_0x278c0f(0x70f)]=_0x2e4a91)&&_0x41b69c&&_0x41b69c[_0x278c0f(0x44f)](_0x157ef6['g'][_0x278c0f(0x5ec)],_0x3e905c=>_0x3e905c['hasTexture'](_0x2e4a91));}}static[_0x234919(0x720)](_0x127173,_0x4967b8){var _0x37d200=_0x234919;const _0xc01cbf=_0x127173;return _0xc01cbf[_0x37d200(0xc02)]();}[_0x234919(0xc02)](){return this['_setTarget'](),!0x0;}['_setTarget'](){var _0x1d2536=_0x234919;this['_setInitialTarget'](this[_0x1d2536(0xb04)]?_0x49d92d['u'][_0x1d2536(0x775)]:_0x49d92d['u'][_0x1d2536(0xb44)]);}[_0x234919(0xa12)](){var _0x263e54=_0x234919;return _0x263e54(0x8e9);}['_getTexture'](){var _0x130b0b=_0x234919;return this[_0x130b0b(0x7c5)];}[_0x234919(0xd03)](_0x34689d){var _0x359ec1=_0x234919;if(!this['position'][_0x359ec1(0x410)]){let _0x58d0c7=_0x34689d[_0x359ec1(0x2ff)](_0x23a9df=>_0x23a9df[_0x359ec1(0x726)]&&_0x359ec1(0x406)===_0x23a9df[_0x359ec1(0xa67)]);_0x58d0c7||(_0x58d0c7=new _0x57ba33['S'](_0x359ec1(0x406)))['setAsAttribute'](),_0x58d0c7[_0x359ec1(0x876)][_0x359ec1(0x800)](this[_0x359ec1(0x406)]);}if(!this[_0x359ec1(0x6fb)]['isConnected']){let _0x4be2dc=_0x34689d['getInputBlockByPredicate'](_0x2a93fa=>_0x2a93fa[_0x359ec1(0xae5)]===_0x5f1f94['$']['World']);_0x4be2dc||(_0x4be2dc=new _0x57ba33['S'](_0x359ec1(0x6fb)))[_0x359ec1(0xd4d)](_0x5f1f94['$']['World']),_0x4be2dc['output']['connectTo'](this[_0x359ec1(0x6fb)]);}if(this[_0x359ec1(0x828)]&&!this[_0x359ec1(0x828)][_0x359ec1(0x410)]){let _0x17e3ec=_0x34689d[_0x359ec1(0x2ff)](_0x2408e8=>_0x2408e8[_0x359ec1(0xae5)]===_0x5f1f94['$'][_0x359ec1(0x606)]);_0x17e3ec||(_0x17e3ec=new _0x57ba33['S'](_0x359ec1(0x828)))['setAsSystemValue'](_0x5f1f94['$'][_0x359ec1(0x606)]),_0x17e3ec['output'][_0x359ec1(0x800)](this[_0x359ec1(0x828)]);}}[_0x234919(0x352)](_0x1f6da0,_0x158d52,_0x15c08c){var _0x411584=_0x234919,_0x1afdf0;_0x15c08c[_0x411584(0x96d)]&&(_0x1afdf0=this[_0x411584(0xca4)]())&&_0x1afdf0['getTextureMatrix']&&(_0x15c08c[_0x411584(0x4db)](this[_0x411584(0xc24)],_0x1afdf0[_0x411584(0x5ca)],!0x0),_0x15c08c['setValue'](this[_0x411584(0x694)],!!_0x1afdf0[_0x411584(0x3d2)],!0x0),_0x15c08c[_0x411584(0x4db)](this[_0x411584(0xbec)],_0x1afdf0['coordinatesMode']===_0x157ef6['g'][_0x411584(0x4fb)],!0x0),_0x15c08c['setValue'](this[_0x411584(0xbd2)],_0x1afdf0[_0x411584(0xaa2)]===_0x157ef6['g']['TEXTURE_SKYBOX_MODE'],!0x0),_0x15c08c[_0x411584(0x4db)](this[_0x411584(0x77a)],_0x1afdf0[_0x411584(0xaa2)]===_0x157ef6['g'][_0x411584(0xc91)]||_0x1afdf0[_0x411584(0xaa2)]===_0x157ef6['g'][_0x411584(0xce5)],!0x0),_0x15c08c[_0x411584(0x4db)](_0x411584(0xb5d),_0x1afdf0[_0x411584(0xaa2)]===_0x157ef6['g'][_0x411584(0xce5)],!0x0),_0x15c08c[_0x411584(0x4db)](this[_0x411584(0xcf7)],_0x1afdf0[_0x411584(0xaa2)]===_0x157ef6['g'][_0x411584(0xab9)],!0x0),_0x15c08c[_0x411584(0x4db)](this[_0x411584(0x724)],_0x1afdf0[_0x411584(0xaa2)]===_0x157ef6['g'][_0x411584(0x7ef)],!0x0),_0x15c08c[_0x411584(0x4db)](this[_0x411584(0xb30)],_0x1afdf0[_0x411584(0xaa2)]===_0x157ef6['g'][_0x411584(0x598)],!0x0),_0x15c08c[_0x411584(0x4db)](this['_defineEquirectangularName'],_0x1afdf0[_0x411584(0xaa2)]===_0x157ef6['g'][_0x411584(0x6b4)],!0x0),_0x15c08c[_0x411584(0x4db)](this[_0x411584(0xb17)],_0x1afdf0[_0x411584(0xaa2)]===_0x157ef6['g'][_0x411584(0x27b)],!0x0),_0x15c08c[_0x411584(0x4db)](this[_0x411584(0x460)],_0x1afdf0[_0x411584(0xaa2)]===_0x157ef6['g']['TEXTURE_FIXED_EQUIRECTANGULAR_MIRRORED_MODE'],!0x0));}['isReady'](){var _0x3e5ba4=_0x234919;const _0x5e2a34=this[_0x3e5ba4(0xca4)]();return!(_0x5e2a34&&!_0x5e2a34[_0x3e5ba4(0xa1d)]());}[_0x234919(0xc63)](_0x5d8f38,_0x4f803f,_0x5ef55f){var _0x2f5d16=_0x234919;const _0x56ca2a=this['_getTexture']();_0x5ef55f&&_0x56ca2a&&(_0x5d8f38['setMatrix'](this[_0x2f5d16(0x90d)],_0x56ca2a[_0x2f5d16(0x377)]()),_0x56ca2a['isCube']?_0x5d8f38[_0x2f5d16(0x1c0)](this[_0x2f5d16(0x801)],_0x56ca2a):_0x5d8f38[_0x2f5d16(0x1c0)](this[_0x2f5d16(0xa85)],_0x56ca2a),_0x56ca2a['boundingBoxSize']&&(_0x5ef55f=_0x56ca2a,_0x5d8f38[_0x2f5d16(0x721)](this['_reflectionPositionName'],_0x5ef55f[_0x2f5d16(0x313)]),_0x5d8f38[_0x2f5d16(0x721)](this[_0x2f5d16(0x584)],_0x5ef55f['boundingBoxSize'])));}[_0x234919(0xa2e)](_0x1fe4a1){var _0x12e265=_0x234919;if(this[_0x12e265(0xb04)]&&_0x1fe4a1['target']===_0x49d92d['u'][_0x12e265(0x179)])return'';this[_0x12e265(0xc24)]=_0x1fe4a1[_0x12e265(0x347)]('REFLECTIONMAP_3D'),this[_0x12e265(0x77a)]=_0x1fe4a1['_getFreeDefineName'](_0x12e265(0x3bd)),this[_0x12e265(0xcf7)]=_0x1fe4a1[_0x12e265(0x347)](_0x12e265(0x556)),this[_0x12e265(0x724)]=_0x1fe4a1[_0x12e265(0x347)](_0x12e265(0x988)),this[_0x12e265(0xb30)]=_0x1fe4a1['_getFreeDefineName'](_0x12e265(0x78f)),this[_0x12e265(0xbec)]=_0x1fe4a1[_0x12e265(0x347)]('REFLECTIONMAP_EXPLICIT'),this[_0x12e265(0x76d)]=_0x1fe4a1[_0x12e265(0x347)]('REFLECTIONMAP_EQUIRECTANGULAR'),this[_0x12e265(0x694)]=_0x1fe4a1[_0x12e265(0x347)]('USE_LOCAL_REFLECTIONMAP_CUBIC'),this[_0x12e265(0x460)]=_0x1fe4a1['_getFreeDefineName']('REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED'),this[_0x12e265(0xb17)]=_0x1fe4a1[_0x12e265(0x347)]('REFLECTIONMAP_EQUIRECTANGULAR_FIXED'),this[_0x12e265(0xbd2)]=_0x1fe4a1['_getFreeDefineName'](_0x12e265(0x841)),this[_0x12e265(0x53f)]=_0x1fe4a1[_0x12e265(0x347)](_0x12e265(0x392)),this[_0x12e265(0x90d)]=_0x1fe4a1[_0x12e265(0x202)](_0x12e265(0xd7d)),_0x1fe4a1[_0x12e265(0x9f6)](this[_0x12e265(0x90d)],_0x12e265(0x941));let _0x190535='';this[_0x12e265(0x3e4)]=_0x1fe4a1['_getFreeVariableName'](_0x12e265(0x2d8));var _0x1c7a99=this['generateOnlyFragmentCode']?this['_worldPositionNameInFragmentOnlyMode']:'v_'+this[_0x12e265(0x2d8)]['associatedVariableName'];return(this[_0x12e265(0xb04)]||_0x1fe4a1[_0x12e265(0x858)](_0x1c7a99,_0x12e265(0x77b)))&&(_0x190535+=(this['generateOnlyFragmentCode']?_0x12e265(0x4ce):'')+_0x1c7a99+('\x20=\x20'+this[_0x12e265(0x2d8)][_0x12e265(0x2da)]+';\x0d\x0a')),this[_0x12e265(0x75d)]=_0x1fe4a1[_0x12e265(0x202)]('positionUVW'),this[_0x12e265(0xbe1)]=_0x1fe4a1[_0x12e265(0x202)]('directionW'),(this[_0x12e265(0xb04)]||_0x1fe4a1[_0x12e265(0x858)](this[_0x12e265(0x75d)],_0x12e265(0x5d7),this[_0x12e265(0xbd2)]))&&(_0x190535=(_0x190535+='#ifdef\x20'+this[_0x12e265(0xbd2)]+'\x0d\x0a')+(this[_0x12e265(0xb04)]?_0x12e265(0x16b):'')+this[_0x12e265(0x75d)]+(_0x12e265(0x6b7)+this[_0x12e265(0x406)]['associatedVariableName']+_0x12e265(0x3ab))+_0x12e265(0x58d)),_0x190535=this['generateOnlyFragmentCode']||_0x1fe4a1['_emitVaryingFromString'](this['_directionWName'],_0x12e265(0x5d7),_0x12e265(0x186)+this[_0x12e265(0xb17)]+_0x12e265(0xcec)+this[_0x12e265(0x460)]+')')?(_0x190535+=_0x12e265(0x1f4)+this[_0x12e265(0xb17)]+_0x12e265(0xcec)+this[_0x12e265(0x460)]+_0x12e265(0x17d))+(this[_0x12e265(0xb04)]?_0x12e265(0x16b):'')+this[_0x12e265(0xbe1)]+('\x20=\x20normalize(vec3('+this[_0x12e265(0x6fb)][_0x12e265(0x2da)]+'\x20*\x20vec4('+this[_0x12e265(0x406)][_0x12e265(0x2da)]+_0x12e265(0x672))+_0x12e265(0x58d):_0x190535;}[_0x234919(0xa4e)](_0xd89f80){var _0x9db24=_0x234919;_0xd89f80[_0x9db24(0xb18)][_0x9db24(0x218)]['push'](this),_0xd89f80[_0x9db24(0xb18)][_0x9db24(0x58f)]['push'](this),this[_0x9db24(0x801)]=_0xd89f80[_0x9db24(0x202)](this['name']+'CubeSampler'),_0xd89f80['samplers'][_0x9db24(0x303)](this[_0x9db24(0x801)]),this[_0x9db24(0xa85)]=_0xd89f80[_0x9db24(0x202)](this['name']+_0x9db24(0xc56)),_0xd89f80[_0x9db24(0xc47)][_0x9db24(0x303)](this[_0x9db24(0xa85)]),_0xd89f80[_0x9db24(0xc62)]+=_0x9db24(0xb3a)+this[_0x9db24(0xc24)]+'\x0d\x0a',_0xd89f80['_samplerDeclaration']+=_0x9db24(0x9a9)+this[_0x9db24(0x801)]+_0x9db24(0x571),_0xd89f80[_0x9db24(0xc62)]+=_0x9db24(0xac9),_0xd89f80[_0x9db24(0xc62)]+=_0x9db24(0x7c8)+this[_0x9db24(0xa85)]+_0x9db24(0x571),_0xd89f80['_samplerDeclaration']+='#endif\x0d\x0a',_0xd89f80['sharedData']['blocksWithDefines'][_0x9db24(0x303)](this),_0xd89f80[_0x9db24(0xb18)][_0x9db24(0x7be)][_0x9db24(0x303)](this);var _0x27c95a='//'+this[_0x9db24(0xa67)];_0xd89f80[_0x9db24(0x85d)](_0x9db24(0x70b),_0x9db24(0x57c),''),_0xd89f80[_0x9db24(0x49a)](_0x9db24(0x99c),_0x27c95a),_0xd89f80[_0x9db24(0x49a)]('reflectionFunction',_0x27c95a,{'replaceStrings':[{'search':/vec3 computeReflectionCoords/g,'replace':_0x9db24(0x23e)}]}),this[_0x9db24(0x5bf)]=_0xd89f80[_0x9db24(0x202)](_0x9db24(0xbcf)),this[_0x9db24(0xb88)]=_0xd89f80['_getFreeVariableName'](_0x9db24(0x81b)),this[_0x9db24(0x8fa)]=_0xd89f80[_0x9db24(0x202)](_0x9db24(0x661)),this[_0x9db24(0x9dc)]=_0xd89f80['_getFreeVariableName'](_0x9db24(0x32c)),_0xd89f80[_0x9db24(0x9f6)](this[_0x9db24(0x9dc)],'vec3'),this[_0x9db24(0x584)]=_0xd89f80[_0x9db24(0x202)](_0x9db24(0x32c)),_0xd89f80[_0x9db24(0x9f6)](this[_0x9db24(0x584)],'vec3');}[_0x234919(0x225)](_0x4b290d,_0x58ebdd,_0x3d88cb=!0x1,_0x2421e2=!0x1){var _0x4e48ea=_0x234919;_0x58ebdd=_0x58ebdd||(this['generateOnlyFragmentCode']?this[_0x4e48ea(0x3e4)]:'v_'+this[_0x4e48ea(0x2d8)][_0x4e48ea(0x2da)]);var _0x27512a=this[_0x4e48ea(0x90d)],_0x28be6e=_0x4e48ea(0x605)+this[_0x4e48ea(0xbe1)]+')',_0x4470aa=''+this[_0x4e48ea(0x75d)],_0x204715=''+this['cameraPosition'][_0x4e48ea(0x2da)],_0x536f64=''+this[_0x4e48ea(0x828)][_0x4e48ea(0x2da)];let _0x48559f=_0x4e48ea(0xc83)+this[_0x4e48ea(0x460)]+_0x4e48ea(0xd02)+this[_0x4e48ea(0xb88)]+_0x4e48ea(0x6d7)+_0x58ebdd+',\x20'+(_0x4b290d+=_0x4e48ea(0x607))+',\x20'+_0x28be6e+_0x4e48ea(0x439)+this[_0x4e48ea(0xb17)]+_0x4e48ea(0xd02)+this[_0x4e48ea(0xb88)]+_0x4e48ea(0x325)+_0x58ebdd+',\x20'+_0x4b290d+',\x20'+_0x28be6e+');\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[_0x4e48ea(0x76d)]+_0x4e48ea(0xd02)+this[_0x4e48ea(0xb88)]+_0x4e48ea(0xb4a)+_0x58ebdd+',\x20'+_0x4b290d+',\x20'+_0x204715+_0x4e48ea(0x68e)+_0x27512a+_0x4e48ea(0x439)+this['_defineSphericalName']+_0x4e48ea(0xd02)+this['_reflectionVectorName']+_0x4e48ea(0x51d)+_0x58ebdd+',\x20'+_0x4b290d+',\x20'+_0x536f64+',\x20'+_0x27512a+');\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[_0x4e48ea(0x724)]+_0x4e48ea(0xd02)+this[_0x4e48ea(0xb88)]+_0x4e48ea(0xabe)+_0x58ebdd+',\x20'+_0x4b290d+',\x20'+_0x204715+_0x4e48ea(0x68e)+_0x27512a+_0x4e48ea(0x439)+this[_0x4e48ea(0x77a)]+_0x4e48ea(0x8f2)+this[_0x4e48ea(0x694)]+_0x4e48ea(0xd56)+this['_reflectionVectorName']+'\x20=\x20computeCubicLocalCoords('+_0x58ebdd+',\x20'+_0x4b290d+',\x20'+_0x204715+_0x4e48ea(0x68e)+_0x27512a+',\x20'+this[_0x4e48ea(0x584)]+',\x20'+this[_0x4e48ea(0x9dc)]+');\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[_0x4e48ea(0xb88)]+_0x4e48ea(0xc81)+_0x58ebdd+',\x20'+_0x4b290d+',\x20'+_0x204715+'.xyz,\x20'+_0x27512a+_0x4e48ea(0x968)+this[_0x4e48ea(0xb30)]+_0x4e48ea(0xd02)+this['_reflectionVectorName']+'\x20=\x20computeProjectionCoords('+_0x58ebdd+',\x20'+_0x536f64+',\x20'+_0x27512a+_0x4e48ea(0x439)+this[_0x4e48ea(0xbd2)]+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20'+this[_0x4e48ea(0xb88)]+_0x4e48ea(0x903)+_0x4470aa+',\x20'+_0x27512a+_0x4e48ea(0x439)+this['_defineExplicitName']+_0x4e48ea(0xd02)+this[_0x4e48ea(0xb88)]+_0x4e48ea(0x69b);return _0x2421e2||(_0x48559f+=_0x4e48ea(0xb3a)+this[_0x4e48ea(0x53f)]+_0x4e48ea(0x329)+this[_0x4e48ea(0xb88)]+_0x4e48ea(0x731)),_0x3d88cb||(_0x48559f+='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20'+this[_0x4e48ea(0xc24)]+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20'+this['_reflectionCoordsName']+_0x4e48ea(0x6b7)+this[_0x4e48ea(0xb88)]+_0x4e48ea(0x3fd)+this[_0x4e48ea(0x8fa)]+_0x4e48ea(0x6b7)+this[_0x4e48ea(0xb88)]+_0x4e48ea(0x78d)+this[_0x4e48ea(0xb30)]+'\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'+this[_0x4e48ea(0x8fa)]+_0x4e48ea(0x3db)+this['_reflectionVectorName']+_0x4e48ea(0xa96)+this['_reflectionCoordsName']+'.y\x20=\x201.0\x20-\x20'+this[_0x4e48ea(0x8fa)]+_0x4e48ea(0x7c9)),_0x48559f;}[_0x234919(0x3d9)](_0x5d40d0,_0x1d0441='.rgb'){var _0x270696=_0x234919,_0x5c331a=_0x270696(0x50f)+(0x0===_0x1d0441[_0x270696(0x86e)]?'4':_0x1d0441[_0x270696(0x86e)]-0x1)+('\x20'+this['_reflectionColorName']+_0x270696(0xbcb)+this[_0x270696(0xc24)]+'\x0d\x0a');return(_0x5c331a=_0x5c331a+(_0x5d40d0?this[_0x270696(0x5bf)]+_0x270696(0x513)+this[_0x270696(0x801)]+',\x20'+this[_0x270696(0xb88)]+',\x20'+_0x5d40d0+')'+_0x1d0441+_0x270696(0x571):this[_0x270696(0x5bf)]+_0x270696(0x4e2)+this[_0x270696(0x801)]+',\x20'+this[_0x270696(0xb88)]+')'+_0x1d0441+_0x270696(0x571))+_0x270696(0x34a))+(_0x5d40d0?this[_0x270696(0x5bf)]+_0x270696(0x1cd)+this[_0x270696(0xa85)]+',\x20'+this[_0x270696(0x8fa)]+',\x20'+_0x5d40d0+')'+_0x1d0441+_0x270696(0x571):this[_0x270696(0x5bf)]+_0x270696(0xaa7)+this[_0x270696(0xa85)]+',\x20'+this[_0x270696(0x8fa)]+')'+_0x1d0441+_0x270696(0x571))+_0x270696(0x58d);}[_0x234919(0xd52)](_0x28956d,_0x12d7cb){var _0x56ac30=_0x234919;let _0x37bec3='';if(_0x28956d['target']===_0x49d92d['u'][_0x56ac30(0x775)]){for(const _0x3b36ac of this[_0x56ac30(0x43b)])_0x3b36ac[_0x56ac30(0x848)]&&(_0x37bec3+=this[_0x56ac30(0x4cd)](_0x3b36ac,_0x28956d)+_0x56ac30(0x6b7)+_0x12d7cb+'.'+_0x3b36ac[_0x56ac30(0xa67)]+_0x56ac30(0x571));}return _0x37bec3;}[_0x234919(0x5a2)](_0x1e4e0f){var _0x53978c=_0x234919;return super[_0x53978c(0x5a2)](_0x1e4e0f),this;}['_dumpPropertiesCode'](){var _0x3c9974=_0x234919;let _0xfa29dc=super[_0x3c9974(0xa18)]();return this[_0x3c9974(0x7c5)]?(this[_0x3c9974(0x7c5)][_0x3c9974(0x5ca)]?(_0x5c9629=this['texture']['forcedExtension'],_0xfa29dc+=this[_0x3c9974(0x197)]+'.texture\x20=\x20new\x20BABYLON.CubeTexture(\x22'+this[_0x3c9974(0x7c5)]['name']+_0x3c9974(0x2a3)+this[_0x3c9974(0x7c5)]['noMipmap']+_0x3c9974(0x3ff)+this[_0x3c9974(0x7c5)][_0x3c9974(0x4d4)]+',\x20'+(_0x5c9629?'\x22'+_0x5c9629+'\x22':_0x3c9974(0x32a))+_0x3c9974(0x565)):_0xfa29dc+=this[_0x3c9974(0x197)]+_0x3c9974(0xbfa)+this['texture']['name']+_0x3c9974(0x476),_0xfa29dc+=this[_0x3c9974(0x197)]+_0x3c9974(0xc50)+this[_0x3c9974(0x7c5)][_0x3c9974(0xaa2)]+_0x3c9974(0x571)):_0xfa29dc;var _0x5c9629;}[_0x234919(0xb4d)](){var _0x2d13e5=_0x234919;const _0x2fe51a=super[_0x2d13e5(0xb4d)]();return this[_0x2d13e5(0x7c5)]&&!this[_0x2d13e5(0x7c5)][_0x2d13e5(0x805)]&&(_0x2fe51a['texture']=this[_0x2d13e5(0x7c5)][_0x2d13e5(0xb4d)]()),_0x2fe51a[_0x2d13e5(0xb04)]=this[_0x2d13e5(0xb04)],_0x2fe51a;}[_0x234919(0x52a)](_0x49bbf0,_0x470016,_0x182162){var _0x20fd60=_0x234919;super[_0x20fd60(0x52a)](_0x49bbf0,_0x470016,_0x182162),_0x49bbf0[_0x20fd60(0x7c5)]&&!_0x1f1aa5['O'][_0x20fd60(0xb83)]&&(_0x182162=0x0===_0x49bbf0[_0x20fd60(0x7c5)]['url'][_0x20fd60(0x9a3)](_0x20fd60(0x36c))?'':_0x182162,_0x49bbf0['texture'][_0x20fd60(0x5ca)]?this[_0x20fd60(0x7c5)]=_0x5d119c['B'][_0x20fd60(0x364)](_0x49bbf0['texture'],_0x470016,_0x182162):this[_0x20fd60(0x7c5)]=_0x7dea04['x']['Parse'](_0x49bbf0[_0x20fd60(0x7c5)],_0x470016,_0x182162)),this[_0x20fd60(0xb04)]=_0x49bbf0['generateOnlyFragmentCode'],this[_0x20fd60(0xa29)]();}}(function(_0x4a9bb1,_0x3d81d2,_0x5682b9,_0x973b44){var _0x217bc7=_0x234919,_0x56a4ed,_0x3c8d02=arguments[_0x217bc7(0x86e)],_0x37fa43=_0x3c8d02<0x3?_0x3d81d2:null===_0x973b44?_0x973b44=Object[_0x217bc7(0x1b2)](_0x3d81d2,_0x5682b9):_0x973b44;if(_0x217bc7(0x2e9)==typeof Reflect&&'function'==typeof Reflect['decorate'])_0x37fa43=Reflect[_0x217bc7(0x264)](_0x4a9bb1,_0x3d81d2,_0x5682b9,_0x973b44);else{for(var _0x4b46e7=_0x4a9bb1[_0x217bc7(0x86e)]-0x1;0x0<=_0x4b46e7;_0x4b46e7--)(_0x56a4ed=_0x4a9bb1[_0x4b46e7])&&(_0x37fa43=(_0x3c8d02<0x3?_0x56a4ed(_0x37fa43):0x3<_0x3c8d02?_0x56a4ed(_0x3d81d2,_0x5682b9,_0x37fa43):_0x56a4ed(_0x3d81d2,_0x5682b9))||_0x37fa43);}0x3<_0x3c8d02&&_0x37fa43&&Object['defineProperty'](_0x3d81d2,_0x5682b9,_0x37fa43);}([(0x0,_0xf1c016['p'])('Generate\x20only\x20fragment\x20code',_0xf1c016['U']['Boolean'],_0x234919(0xcc5),{'notifiers':{'rebuild':!0x0,'update':!0x0,'onValidation':_0x4af0d7[_0x234919(0x720)]}})],_0x4af0d7['prototype'],_0x234919(0xb04),void 0x0),(0x0,_0x59cd94['H'])(_0x234919(0xbf8),_0x4af0d7));},0x107c1:(_0x1b097f,_0x4f9514,_0x2b8746)=>{var _0x2e4d0e=a7_0x425593;_0x2b8746['d'](_0x4f9514,{'$':()=>_0x11b425});var _0x4f9514=_0x2b8746(0x15a52),_0x287074=_0x2b8746(0x1137a),_0x27d93c=_0x2b8746(0xec3c),_0x3b2ad6=_0x2b8746(0x16ad5),_0x33abb5=_0x2b8746(0xe456),_0x4a4007=_0x2b8746(0x11c74),_0x4a114a=_0x2b8746(0xd646),_0x41329b=_0x2b8746(0xebd3);class _0x11b425 extends _0x4f9514['k']{constructor(_0x2c4ea1){var _0x523671=a7_0x5572;super(_0x2c4ea1,_0x3b2ad6['u']['Fragment']),this['_isUnique']=!0x0,this[_0x523671(0x9cd)](_0x523671(0x5c5),_0x287074['E'][_0x523671(0x547)],!0x0,_0x3b2ad6['u']['Fragment']),this[_0x523671(0x9cd)](_0x523671(0x294),_0x287074['E'][_0x523671(0x547)],!0x0,_0x3b2ad6['u'][_0x523671(0x775)]),this[_0x523671(0x9cd)](_0x523671(0x87c),_0x287074['E'][_0x523671(0x547)],!0x0,_0x3b2ad6['u']['Fragment']),this['registerOutput'](_0x523671(0x8c9),_0x287074['E'][_0x523671(0xd75)],_0x3b2ad6['u'][_0x523671(0x775)],new _0x4a114a['C'](_0x523671(0x8c9),this,_0x27d93c['Ab'][_0x523671(0x8db)],_0x11b425,'IridescenceBlock'));}[_0x2e4d0e(0x70a)](_0x3f51cc){var _0x327ad5=_0x2e4d0e;_0x3f51cc[_0x327ad5(0xc5e)](_0x327ad5(0x2d2)),_0x3f51cc[_0x327ad5(0xc5e)](_0x327ad5(0x689));}[_0x2e4d0e(0xa12)](){var _0x455785=_0x2e4d0e;return _0x455785(0x22b);}get[_0x2e4d0e(0x5c5)](){var _0x448042=_0x2e4d0e;return this[_0x448042(0x5cd)][0x0];}get[_0x2e4d0e(0x294)](){var _0x28dad0=_0x2e4d0e;return this[_0x28dad0(0x5cd)][0x1];}get[_0x2e4d0e(0x87c)](){return this['_inputs'][0x2];}get[_0x2e4d0e(0x8c9)](){return this['_outputs'][0x0];}[_0x2e4d0e(0xd03)](){var _0x46d838=_0x2e4d0e;if(!this[_0x46d838(0x5c5)]['isConnected']){const _0x1f0372=new _0x4a4007['S']('Iridescence\x20intensity',_0x3b2ad6['u'][_0x46d838(0x775)],_0x287074['E'][_0x46d838(0x547)]),_0x195057=(_0x1f0372['value']=0x1,_0x1f0372[_0x46d838(0x876)][_0x46d838(0x800)](this['intensity']),new _0x4a4007['S'](_0x46d838(0xa57),_0x3b2ad6['u'][_0x46d838(0x775)],_0x287074['E'][_0x46d838(0x547)])),_0x44f84b=(_0x195057[_0x46d838(0x8e2)]=1.3,_0x195057[_0x46d838(0x876)][_0x46d838(0x800)](this[_0x46d838(0x294)]),new _0x4a4007['S'](_0x46d838(0xa23),_0x3b2ad6['u']['Fragment'],_0x287074['E']['Float']));_0x44f84b[_0x46d838(0x8e2)]=0x190,_0x44f84b[_0x46d838(0x876)][_0x46d838(0x800)](this[_0x46d838(0x87c)]);}}[_0x2e4d0e(0x352)](_0x2a9ff4,_0x57f5bd,_0x5234b8){var _0x5598cb=_0x2e4d0e;super[_0x5598cb(0x352)](_0x2a9ff4,_0x57f5bd,_0x5234b8),_0x5234b8['setValue']('IRIDESCENCE',!0x0,!0x0),_0x5234b8['setValue']('IRIDESCENCE_TEXTURE',!0x1,!0x0),_0x5234b8[_0x5598cb(0x4db)]('IRIDESCENCE_THICKNESS_TEXTURE',!0x1,!0x0);}static[_0x2e4d0e(0x52b)](_0x566c39){var _0x3c1750=_0x2e4d0e;return''+(_0x3c1750(0xbef)+(null!=_0x566c39&&_0x566c39[_0x3c1750(0x5c5)][_0x3c1750(0x410)]?_0x566c39[_0x3c1750(0x5c5)]['associatedVariableName']:'1.')+',\x20'+(null!=_0x566c39&&_0x566c39[_0x3c1750(0x294)][_0x3c1750(0x410)]?_0x566c39[_0x3c1750(0x294)][_0x3c1750(0x2da)]:_0x41329b['B'][_0x3c1750(0x1fd)])+',\x201.,\x20'+(null!=_0x566c39&&_0x566c39[_0x3c1750(0x87c)][_0x3c1750(0x410)]?_0x566c39['thickness']['associatedVariableName']:_0x41329b['B'][_0x3c1750(0x278)])+'),\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');}['_buildBlock'](_0xd35b10){var _0x820790=_0x2e4d0e;return _0xd35b10['target']===_0x3b2ad6['u'][_0x820790(0x775)]&&(_0xd35b10[_0x820790(0xb18)]['bindableBlocks'][_0x820790(0x303)](this),_0xd35b10[_0x820790(0xb18)][_0x820790(0x57b)][_0x820790(0x303)](this)),this;}[_0x2e4d0e(0xb4d)](){var _0x269566=_0x2e4d0e;return super[_0x269566(0xb4d)]();}['_deserialize'](_0x102492,_0x306576,_0x51b405){var _0x4639a5=_0x2e4d0e;super[_0x4639a5(0x52a)](_0x102492,_0x306576,_0x51b405);}}(0x0,_0x33abb5['H'])(_0x2e4d0e(0x485),_0x11b425);},0x18495:(_0x54f182,_0xe3c99f,_0x172461)=>{var _0x10ddab=a7_0x425593;_0x172461['d'](_0xe3c99f,{'u':()=>_0x31f6ce});var _0x57273a=_0x172461(0x1137a),_0x36c269=_0x172461(0x16ad5),_0x1e8981=_0x172461(0xf75c);class _0x31f6ce{constructor(){var _0x46e599=a7_0x5572;this['supportUniformBuffers']=!0x1,this[_0x46e599(0x94f)]=new Array(),this['uniforms']=new Array(),this[_0x46e599(0xd1c)]=new Array(),this[_0x46e599(0xc47)]=new Array(),this[_0x46e599(0xbaa)]={},this['extensions']={},this[_0x46e599(0x58a)]={},this[_0x46e599(0xb4b)]='',this['_uniformDeclaration']='',this['_constantDeclaration']='',this['_samplerDeclaration']='',this[_0x46e599(0x837)]='',this[_0x46e599(0x917)]='',this[_0x46e599(0xaf3)]=0x0,this['_builtCompilationString']='',this[_0x46e599(0xd7a)]='';}['finalize'](_0x3e47e5){var _0x586635=a7_0x5572,_0x3e47e5=_0x3e47e5[_0x586635(0xb18)][_0x586635(0xd79)],_0x3afb48=this[_0x586635(0x9b0)]===_0x36c269['u'][_0x586635(0x775)];this[_0x586635(0xd7a)]='\x0d\x0a'+(_0x3e47e5?_0x586635(0x662):'')+_0x586635(0x48f)+this[_0x586635(0xd7a)],this[_0x586635(0x38d)]&&(this[_0x586635(0xd7a)]='\x0d\x0a'+(_0x3e47e5?_0x586635(0x2cd):'')+this[_0x586635(0x38d)]+'\x0d\x0a'+this[_0x586635(0xd7a)]);let _0x5cb95d='';for(const _0x119bd8 in this[_0x586635(0xbaa)])_0x5cb95d+=this[_0x586635(0xbaa)][_0x119bd8]+'\x0d\x0a';this[_0x586635(0xd7a)]='\x0d\x0a'+_0x5cb95d+'\x0d\x0a'+this['compilationString'],!_0x3afb48&&this[_0x586635(0x837)]&&(this[_0x586635(0xd7a)]=this['compilationString']+'\x0d\x0a'+this[_0x586635(0x837)]),this[_0x586635(0x917)]&&(this[_0x586635(0xd7a)]=this[_0x586635(0xd7a)]+'\x0d\x0a'+this[_0x586635(0x917)]),this[_0x586635(0xd7a)]=this['compilationString']+_0x586635(0x52c),this[_0x586635(0xb18)][_0x586635(0x1c8)]&&(this[_0x586635(0xd7a)]='\x0d\x0a'+(_0x3e47e5?'//Varyings\x0d\x0a':'')+this[_0x586635(0xb18)]['varyingDeclaration']+'\x0d\x0a'+this[_0x586635(0xd7a)]),this[_0x586635(0xc62)]&&(this['compilationString']='\x0d\x0a'+(_0x3e47e5?_0x586635(0x497):'')+this[_0x586635(0xc62)]+'\x0d\x0a'+this[_0x586635(0xd7a)]),this['_uniformDeclaration']&&(this[_0x586635(0xd7a)]='\x0d\x0a'+(_0x3e47e5?'//Uniforms\x0d\x0a':'')+this[_0x586635(0x189)]+'\x0d\x0a'+this[_0x586635(0xd7a)]),this[_0x586635(0xb4b)]&&!_0x3afb48&&(this['compilationString']='\x0d\x0a'+(_0x3e47e5?_0x586635(0x3d0):'')+this[_0x586635(0xb4b)]+'\x0d\x0a'+this['compilationString']),this[_0x586635(0xd7a)]=_0x586635(0x85e)+this['compilationString'],this['compilationString']=_0x586635(0x8c3)+this[_0x586635(0xd7a)];for(const _0x4eafb1 in this[_0x586635(0x3da)]){var _0x249cef=this[_0x586635(0x3da)][_0x4eafb1];this[_0x586635(0xd7a)]='\x0d\x0a'+_0x249cef+'\x0d\x0a'+this[_0x586635(0xd7a)];}this[_0x586635(0x171)]=this[_0x586635(0xd7a)];}get[_0x10ddab(0xb51)](){var _0x9da681=_0x10ddab;return'###___ANCHOR'+this[_0x9da681(0xaf3)]++ +_0x9da681(0xd57);}['_getFreeVariableName'](_0x2dc49a){var _0x4e1093=_0x10ddab;return _0x2dc49a=_0x2dc49a['replace'](/[^a-zA-Z_]+/g,''),void 0x0===this['sharedData']['variableNames'][_0x2dc49a]?(this[_0x4e1093(0xb18)][_0x4e1093(0x551)][_0x2dc49a]=0x0,_0x4e1093(0x876)===_0x2dc49a||'texture'===_0x2dc49a?_0x2dc49a+this[_0x4e1093(0xb18)]['variableNames'][_0x2dc49a]:_0x2dc49a):(this[_0x4e1093(0xb18)]['variableNames'][_0x2dc49a]++,_0x2dc49a+this['sharedData'][_0x4e1093(0x551)][_0x2dc49a]);}[_0x10ddab(0x347)](_0x21ef71){var _0x26b5c0=_0x10ddab;return void 0x0===this[_0x26b5c0(0xb18)][_0x26b5c0(0xc25)][_0x21ef71]?this[_0x26b5c0(0xb18)][_0x26b5c0(0xc25)][_0x21ef71]=0x0:this['sharedData'][_0x26b5c0(0xc25)][_0x21ef71]++,_0x21ef71+this[_0x26b5c0(0xb18)][_0x26b5c0(0xc25)][_0x21ef71];}[_0x10ddab(0xc5e)](_0x507f13){var _0x325e5f=_0x10ddab;this[_0x325e5f(0xb18)][_0x325e5f(0x551)][_0x507f13]=0x0;}[_0x10ddab(0x66e)](_0x411cf0){var _0x2162a5=_0x10ddab;this[_0x2162a5(0xc47)][_0x2162a5(0x9a3)](_0x411cf0)<0x0&&(this[_0x2162a5(0xc62)]+=_0x2162a5(0x7c8)+_0x411cf0+_0x2162a5(0x571),this[_0x2162a5(0xc47)]['push'](_0x411cf0));}['_emit2DArraySampler'](_0x4f88e1){var _0x24d12b=_0x10ddab;this['samplers'][_0x24d12b(0x9a3)](_0x4f88e1)<0x0&&(this[_0x24d12b(0xc62)]+=_0x24d12b(0x3d6)+_0x4f88e1+_0x24d12b(0x571),this[_0x24d12b(0xc47)][_0x24d12b(0x303)](_0x4f88e1));}[_0x10ddab(0x5d3)](_0x55ff9e){var _0x3b95d3=_0x10ddab;switch(_0x55ff9e){case _0x57273a['E'][_0x3b95d3(0x547)]:return _0x3b95d3(0x337);case _0x57273a['E']['Int']:return _0x3b95d3(0xb2c);case _0x57273a['E']['Vector2']:return _0x3b95d3(0xa66);case _0x57273a['E'][_0x3b95d3(0x316)]:case _0x57273a['E'][_0x3b95d3(0x708)]:return _0x3b95d3(0x5d7);case _0x57273a['E'][_0x3b95d3(0x3c7)]:case _0x57273a['E']['Vector4']:return'vec4';case _0x57273a['E']['Matrix']:return _0x3b95d3(0x941);}return'';}[_0x10ddab(0x8c1)](_0x612750,_0x1f08db,_0x219e02=''){var _0x50e94c=_0x10ddab;this['extensions'][_0x612750]||(this['extensions'][_0x612750]=_0x1f08db=_0x219e02?'#if\x20'+_0x219e02+'\x0d\x0a'+_0x1f08db+_0x50e94c(0x236):_0x1f08db);}[_0x10ddab(0x85d)](_0x5a0d97,_0x4c8c93,_0x11832d){var _0x490389=_0x10ddab;this[_0x490389(0xbaa)][_0x5a0d97]||(this[_0x490389(0xb18)]['emitComments']&&(_0x4c8c93=_0x11832d+'\x0d\x0a'+_0x4c8c93),this['functions'][_0x5a0d97]=_0x4c8c93);}[_0x10ddab(0x272)](_0x35bfec,_0x4f02cd,_0x542c64){var _0x59f54e=_0x10ddab;if(_0x542c64&&_0x542c64[_0x59f54e(0x385)])return _0x59f54e(0x9ef)+_0x35bfec+'>'+(_0x542c64[_0x59f54e(0x41b)]?'('+_0x542c64[_0x59f54e(0x41b)]+')':'')+_0x59f54e(0xa99)+_0x542c64['repeatKey']+']\x0d\x0a';let _0x5baff7=_0x1e8981['Q'][_0x59f54e(0x488)][_0x35bfec]+'\x0d\x0a';if(this['sharedData'][_0x59f54e(0xd79)]&&(_0x5baff7=_0x4f02cd+'\x0d\x0a'+_0x5baff7),!_0x542c64)return _0x5baff7;if(_0x542c64['replaceStrings'])for(let _0x278f10=0x0;_0x278f10<_0x542c64['replaceStrings']['length'];_0x278f10++){var _0x59d6ce=_0x542c64[_0x59f54e(0x776)][_0x278f10];_0x5baff7=_0x5baff7[_0x59f54e(0x8fd)](_0x59d6ce['search'],_0x59d6ce[_0x59f54e(0x8fd)]);}return _0x5baff7;}[_0x10ddab(0x49a)](_0x2013d4,_0x3b4940,_0xa8dc6b,_0x4411ac=''){var _0x5ed5ca=_0x10ddab,_0x149738=_0x2013d4+_0x4411ac;if(!this[_0x5ed5ca(0xbaa)][_0x149738]){if(!_0xa8dc6b||!(_0xa8dc6b[_0x5ed5ca(0x550)]||_0xa8dc6b[_0x5ed5ca(0x3c0)]||_0xa8dc6b['removeVaryings']||_0xa8dc6b[_0x5ed5ca(0x42b)]||_0xa8dc6b['replaceStrings']))return _0xa8dc6b&&_0xa8dc6b[_0x5ed5ca(0x385)]?this[_0x5ed5ca(0xbaa)][_0x149738]=_0x5ed5ca(0x9ef)+_0x2013d4+'>'+(_0xa8dc6b[_0x5ed5ca(0x41b)]?'('+_0xa8dc6b[_0x5ed5ca(0x41b)]+')':'')+'[0..'+_0xa8dc6b[_0x5ed5ca(0x385)]+_0x5ed5ca(0xb02):this[_0x5ed5ca(0xbaa)][_0x149738]=_0x5ed5ca(0x9ef)+_0x2013d4+'>'+(null!=_0xa8dc6b&&_0xa8dc6b['substitutionVars']?'('+(null==_0xa8dc6b?void 0x0:_0xa8dc6b[_0x5ed5ca(0x41b)])+')':'')+'\x0d\x0a',void(this[_0x5ed5ca(0xb18)][_0x5ed5ca(0xd79)]&&(this[_0x5ed5ca(0xbaa)][_0x149738]=_0x3b4940+'\x0d\x0a'+this[_0x5ed5ca(0xbaa)][_0x149738]));if(this['functions'][_0x149738]=_0x1e8981['Q']['IncludesShadersStore'][_0x2013d4],this[_0x5ed5ca(0xb18)][_0x5ed5ca(0xd79)]&&(this[_0x5ed5ca(0xbaa)][_0x149738]=_0x3b4940+'\x0d\x0a'+this['functions'][_0x149738]),_0xa8dc6b[_0x5ed5ca(0x42b)]&&(this[_0x5ed5ca(0xbaa)][_0x149738]=this[_0x5ed5ca(0xbaa)][_0x149738]['replace'](/^\s*?#ifdef.+$/gm,''),this['functions'][_0x149738]=this['functions'][_0x149738][_0x5ed5ca(0x8fd)](/^\s*?#endif.*$/gm,''),this[_0x5ed5ca(0xbaa)][_0x149738]=this[_0x5ed5ca(0xbaa)][_0x149738][_0x5ed5ca(0x8fd)](/^\s*?#else.*$/gm,''),this['functions'][_0x149738]=this['functions'][_0x149738]['replace'](/^\s*?#elif.*$/gm,'')),_0xa8dc6b[_0x5ed5ca(0x550)]&&(this[_0x5ed5ca(0xbaa)][_0x149738]=this['functions'][_0x149738][_0x5ed5ca(0x8fd)](/^\s*?attribute.+$/gm,'')),_0xa8dc6b['removeUniforms']&&(this[_0x5ed5ca(0xbaa)][_0x149738]=this[_0x5ed5ca(0xbaa)][_0x149738][_0x5ed5ca(0x8fd)](/^\s*?uniform.+$/gm,'')),_0xa8dc6b[_0x5ed5ca(0xc53)]&&(this[_0x5ed5ca(0xbaa)][_0x149738]=this[_0x5ed5ca(0xbaa)][_0x149738]['replace'](/^\s*?varying.+$/gm,'')),_0xa8dc6b[_0x5ed5ca(0x776)])for(let _0x47bc04=0x0;_0x47bc04<_0xa8dc6b[_0x5ed5ca(0x776)][_0x5ed5ca(0x86e)];_0x47bc04++){var _0x3b8533=_0xa8dc6b[_0x5ed5ca(0x776)][_0x47bc04];this[_0x5ed5ca(0xbaa)][_0x149738]=this[_0x5ed5ca(0xbaa)][_0x149738][_0x5ed5ca(0x8fd)](_0x3b8533[_0x5ed5ca(0x5b1)],_0x3b8533[_0x5ed5ca(0x8fd)]);}}}[_0x10ddab(0x756)](_0x55b302){var _0x46f67b=_0x10ddab;return-0x1===this[_0x46f67b(0xb18)][_0x46f67b(0x36a)]['indexOf'](_0x55b302)&&(this[_0x46f67b(0xb18)]['temps'][_0x46f67b(0x303)](_0x55b302),!0x0);}[_0x10ddab(0x858)](_0x281811,_0xc35ff4,_0x1084c9='',_0xd5a256=!0x1){var _0x19ba65=_0x10ddab;return-0x1===this['sharedData'][_0x19ba65(0x781)][_0x19ba65(0x9a3)](_0x281811)&&(this[_0x19ba65(0xb18)]['varyings'][_0x19ba65(0x303)](_0x281811),_0x1084c9&&(_0x1084c9[_0x19ba65(0x1e9)](_0x19ba65(0x186))?this[_0x19ba65(0xb18)][_0x19ba65(0x1c8)]+=_0x19ba65(0x1a2)+_0x1084c9+'\x0d\x0a':this['sharedData'][_0x19ba65(0x1c8)]+=(_0xd5a256?_0x19ba65(0x30b):_0x19ba65(0x4ac))+('\x20'+_0x1084c9+'\x0d\x0a')),this[_0x19ba65(0xb18)][_0x19ba65(0x1c8)]+=_0x19ba65(0xc60)+_0xc35ff4+'\x20'+_0x281811+_0x19ba65(0x571),_0x1084c9&&(this[_0x19ba65(0xb18)][_0x19ba65(0x1c8)]+=_0x19ba65(0x58d)),!0x0);}[_0x10ddab(0x9f6)](_0x50cce8,_0x3a24ed,_0x24b986='',_0x96a893=!0x1){var _0x1ecdff=_0x10ddab;-0x1===this['uniforms'][_0x1ecdff(0x9a3)](_0x50cce8)&&(this['uniforms']['push'](_0x50cce8),_0x24b986&&(_0x24b986[_0x1ecdff(0x1e9)]('defined(')?this['_uniformDeclaration']+=_0x1ecdff(0x1a2)+_0x24b986+'\x0d\x0a':this['_uniformDeclaration']+=(_0x96a893?_0x1ecdff(0x30b):_0x1ecdff(0x4ac))+('\x20'+_0x24b986+'\x0d\x0a')),this['_uniformDeclaration']+=_0x1ecdff(0xb35)+_0x3a24ed+'\x20'+_0x50cce8+_0x1ecdff(0x571),_0x24b986&&(this['_uniformDeclaration']+='#endif\x0d\x0a'));}['_emitFloat'](_0x3d6266){var _0xd0305a=_0x10ddab;return _0x3d6266[_0xd0305a(0x87d)]()===_0x3d6266[_0xd0305a(0x1a7)](0x0)?_0x3d6266+'.0':_0x3d6266['toString']();}}},0x13764:(_0x23c9eb,_0x45b857,_0x3e28e)=>{var _0x25a62a=a7_0x425593;_0x3e28e['d'](_0x45b857,{'U':()=>_0x1d39ff});class _0x1d39ff{constructor(){var _0xe538ac=a7_0x5572;this[_0xe538ac(0x36a)]=new Array(),this[_0xe538ac(0x781)]=new Array(),this['varyingDeclaration']='',this['inputBlocks']=new Array(),this[_0xe538ac(0x58f)]=new Array(),this[_0xe538ac(0x7be)]=new Array(),this[_0xe538ac(0x312)]=new Array(),this[_0xe538ac(0x3c9)]=new Array(),this[_0xe538ac(0x57b)]=new Array(),this[_0xe538ac(0x52d)]=new Array(),this[_0xe538ac(0x5f6)]=new Array(),this['blockingBlocks']=new Array(),this[_0xe538ac(0xb63)]=new Array(),this[_0xe538ac(0x551)]={},this[_0xe538ac(0xc25)]={},this[_0xe538ac(0x2ae)]={'needWorldViewMatrix':!0x1,'needWorldViewProjectionMatrix':!0x1,'needAlphaBlending':!0x1,'needAlphaTesting':!0x1},this[_0xe538ac(0x9b2)]={'emitVertex':!0x1,'emitFragment':!0x1,'notConnectedNonOptionalInputs':new Array()},this[_0xe538ac(0xb82)]=!0x1,this['variableNames'][_0xe538ac(0x406)]=0x0,this[_0xe538ac(0x551)][_0xe538ac(0xb1f)]=0x0,this[_0xe538ac(0x551)][_0xe538ac(0x69d)]=0x0,this[_0xe538ac(0x551)]['uv']=0x0,this[_0xe538ac(0x551)][_0xe538ac(0x350)]=0x0,this[_0xe538ac(0x551)][_0xe538ac(0x572)]=0x0,this['variableNames'][_0xe538ac(0x6ca)]=0x0,this[_0xe538ac(0x551)][_0xe538ac(0x423)]=0x0,this['variableNames'][_0xe538ac(0x6ce)]=0x0,this['variableNames'][_0xe538ac(0x6aa)]=0x0,this[_0xe538ac(0x551)][_0xe538ac(0x6fc)]=0x0,this[_0xe538ac(0x551)][_0xe538ac(0x43f)]=0x0,this['variableNames'][_0xe538ac(0x91e)]=0x0,this[_0xe538ac(0x551)]['matricesWeightsExtra']=0x0,this[_0xe538ac(0x551)][_0xe538ac(0x34e)]=0x0,this[_0xe538ac(0x551)]['specularBase']=0x0,this[_0xe538ac(0x551)]['worldPos']=0x0,this[_0xe538ac(0x551)]['shadow']=0x0,this[_0xe538ac(0x551)]['view']=0x0,this[_0xe538ac(0x551)][_0xe538ac(0x7e3)]=0x0,this[_0xe538ac(0xc25)][_0xe538ac(0x827)]=0x0,this[_0xe538ac(0xc25)][_0xe538ac(0x6c4)]=0x0,this[_0xe538ac(0xc25)][_0xe538ac(0xbe4)]=0x0,this[_0xe538ac(0xc25)][_0xe538ac(0xbea)]=0x0,this[_0xe538ac(0xc25)][_0xe538ac(0x2d1)]=0x0,this[_0xe538ac(0xc25)][_0xe538ac(0x3b5)]=0x0,this[_0xe538ac(0xc25)][_0xe538ac(0x728)]=0x0,this['defineNames'][_0xe538ac(0x239)]=0x0;}[_0x25a62a(0xa4b)](){var _0x52c19e=_0x25a62a;let _0x275503='';this[_0x52c19e(0x9b2)][_0x52c19e(0x4a5)]||this['allowEmptyVertexProgram']||(_0x275503+=_0x52c19e(0x6ae)),this[_0x52c19e(0x9b2)]['emitFragment']||(_0x275503+=_0x52c19e(0x95a));for(const _0x5d8d64 of this[_0x52c19e(0x9b2)][_0x52c19e(0x68f)])_0x275503+='input\x20'+_0x5d8d64['name']+'\x20from\x20block\x20'+_0x5d8d64['ownerBlock'][_0x52c19e(0xa67)]+'['+_0x5d8d64['ownerBlock'][_0x52c19e(0xa12)]()+_0x52c19e(0x24a);if(_0x275503)throw'Build\x20of\x20NodeMaterial\x20failed:\x0d\x0a'+_0x275503;}}},0x15556:(_0x38cbcc,_0x1963b9,_0x263df7)=>{var _0x265dd0=a7_0x425593;_0x263df7['d'](_0x1963b9,{'x':()=>_0x48d189});var _0x1963b9=_0x263df7(0x8af2),_0x5434d5=_0x263df7(0x77a5);class _0x48d189 extends _0x1963b9['_']{set[_0x265dd0(0x3a8)](_0x39d031){var _0x773bcf=_0x265dd0;this[_0x773bcf(0x26a)]=_0x39d031;}get[_0x265dd0(0x3a8)](){var _0x341a25=_0x265dd0;return this[_0x341a25(0x26a)];}constructor(_0x40d734,_0x5c66f4=0x200){var _0x2a83be=_0x265dd0;super('multiview\x20rtt',_0x5c66f4,_0x40d734,!0x1,!0x0,_0x5434d5['g'][_0x2a83be(0xd0a)],!0x1,void 0x0,!0x1,!0x1,!0x0,void 0x0,!0x0),this[_0x2a83be(0x997)]=this['getScene']()['getEngine']()['createMultiviewRenderTargetTexture'](this[_0x2a83be(0x670)](),this['getRenderHeight']()),this[_0x2a83be(0x70f)]=this[_0x2a83be(0x997)][_0x2a83be(0x7c5)],this['_texture'][_0x2a83be(0x739)]=!0x0,this['_texture']['format']=_0x5434d5['g'][_0x2a83be(0x7a9)],this[_0x2a83be(0x3a8)]=this[_0x2a83be(0xcde)]()[_0x2a83be(0xa51)]()['maxSamples']||this['samples'],this['_texture']['samples']=this[_0x2a83be(0x26a)];}[_0x265dd0(0x887)](){var _0x5b0606=_0x265dd0;this[_0x5b0606(0x997)]&&this['getScene']()[_0x5b0606(0x989)]()[_0x5b0606(0xcd3)](this['_renderTarget']);}[_0x265dd0(0x61c)](){return 0x2;}}},0xb120:(_0x3aa45c,_0x13553e,_0x2d444f)=>{_0x2d444f['d'](_0x13553e,{'p':()=>_0x2e64b2});class _0x2e64b2{constructor(_0x14d846,_0x4f578c,_0x28266a){var _0x2a1f73=a7_0x5572;this['id']=_0x14d846,this['scale']=_0x4f578c,this[_0x2a1f73(0xacf)]=_0x28266a;}}},0x174f7:(_0x538e01,_0x4a455d,_0xc4408b)=>{var _0x17baec=a7_0x425593,_0x5b5b6d=_0xc4408b(0xe303),_0xc4408b=_0xc4408b(0x11929);_0xc4408b['V'][_0x17baec(0x85a)]['forceSphericalPolynomialsRecompute']=function(){var _0x17e8c4=_0x17baec;this['_texture']&&(this['_texture']['_sphericalPolynomial']=null,this[_0x17e8c4(0x70f)]['_sphericalPolynomialPromise']=null,this[_0x17e8c4(0x70f)][_0x17e8c4(0x484)]=!0x1);},Object[_0x17baec(0x38c)](_0xc4408b['V'][_0x17baec(0x85a)],_0x17baec(0x346),{'get':function(){var _0x2bf281=_0x17baec;if(this[_0x2bf281(0x70f)]){if(this['_texture'][_0x2bf281(0x213)]||this[_0x2bf281(0x70f)][_0x2bf281(0x484)])return this[_0x2bf281(0x70f)][_0x2bf281(0x213)];if(this[_0x2bf281(0x70f)][_0x2bf281(0x21c)])return this[_0x2bf281(0x70f)][_0x2bf281(0x9ea)]||(this[_0x2bf281(0x70f)]['_sphericalPolynomialPromise']=_0x5b5b6d['$']['ConvertCubeMapTextureToSphericalPolynomial'](this),null===this[_0x2bf281(0x70f)][_0x2bf281(0x9ea)]?this[_0x2bf281(0x70f)][_0x2bf281(0x484)]=!0x0:this['_texture']['_sphericalPolynomialPromise']['then'](_0x2e91c6=>{var _0x28f770=_0x2bf281;this[_0x28f770(0x70f)][_0x28f770(0x213)]=_0x2e91c6,this[_0x28f770(0x70f)]['_sphericalPolynomialComputed']=!0x0;})),null;}return null;},'set':function(_0x5e74d3){var _0x49501d=_0x17baec;this[_0x49501d(0x70f)]&&(this[_0x49501d(0x70f)][_0x49501d(0x213)]=_0x5e74d3);},'enumerable':!0x0,'configurable':!0x0});},0x16ea5:(_0x451177,_0x5cb3e4,_0x24f595)=>{var _0x591d9f=a7_0x425593;_0x24f595['d'](_0x5cb3e4,{'N':()=>_0x155d16});var _0x5cb3e4=_0x24f595(0x163e6),_0x5a1919=_0x24f595(0xc3ae);class _0x155d16 extends _0x5cb3e4['K']{constructor(_0x2b480e,_0x35fd59,_0x29a9f5,_0x392496,_0x17f29d,_0x394f4f){var _0x53cce1=a7_0x5572;super(_0x2b480e,_0x29a9f5,_0x392496,_0x17f29d,_0x394f4f),this[_0x53cce1(0x198)]=[],this['_internalTextureDirty']=!0x1,this[_0x53cce1(0x650)]=!0x1,this['renderTargetTexture']=null,this[_0x53cce1(0x2d5)]=_0x35fd59;}[_0x591d9f(0x71a)](){var _0xfce980=_0x591d9f;this[_0xfce980(0xb92)]=new _0x5a1919['z']('prePassComposition',0x1,null,void 0x0,this[_0xfce980(0xbfd)]),this[_0xfce980(0xb92)][_0xfce980(0xc5d)]();}[_0x591d9f(0x7b0)](){var _0x3c4fb9=_0x591d9f,_0x53d497=this[_0x3c4fb9(0xbfd)]['getRenderWidth'](!0x0),_0x4da880=this['_engine'][_0x3c4fb9(0x397)](!0x0),_0xa2c724=this['getRenderWidth'](),_0x444555=this[_0x3c4fb9(0x397)]();_0xa2c724===_0x53d497&&_0x444555===_0x4da880||(this['resize']({'width':_0x53d497,'height':_0x4da880}),this[_0x3c4fb9(0x5a4)]=!0x0);}[_0x591d9f(0x784)](_0x48114e,_0x39a5bb,_0x2ffecb){var _0x472601=_0x591d9f;super['updateCount'](_0x48114e,_0x39a5bb,_0x2ffecb),this[_0x472601(0x5a4)]=!0x0;}[_0x591d9f(0xd6a)](){var _0x16acca=_0x591d9f;this[_0x16acca(0x198)][_0x16acca(0x86e)]=0x0;}[_0x591d9f(0x1cb)](){var _0x3290d5=_0x591d9f;const _0x5532c4=this[_0x3290d5(0x851)];var _0x101eb0;super[_0x3290d5(0x1cb)](),_0x5532c4&&_0x5532c4[_0x3290d5(0x89f)]&&-0x1!==(_0x101eb0=_0x5532c4[_0x3290d5(0x89f)][_0x3290d5(0x753)][_0x3290d5(0x9a3)](this))&&_0x5532c4[_0x3290d5(0x89f)][_0x3290d5(0x753)][_0x3290d5(0x468)](_0x101eb0,0x1),this[_0x3290d5(0xb92)]&&this[_0x3290d5(0xb92)][_0x3290d5(0x1cb)](),this['renderTargetTexture']&&(this[_0x3290d5(0x2d5)]['_prePassRenderTarget']=null),this['_outputPostProcess']&&(this[_0x3290d5(0x3e8)][_0x3290d5(0xc57)]=!0x0,this[_0x3290d5(0x3e8)]['restoreDefaultInputTexture']());}}},0x2088:(_0x3eddaa,_0xfc9da,_0x198421)=>{function _0x1e9e0c(_0x28f398,_0x516a59,_0xddcd36){var _0xaa8744=a7_0x5572;_0xddcd36&&_0x28f398[_0xaa8744(0x1d0)](_0x516a59,_0xddcd36['normal']['x'],_0xddcd36[_0xaa8744(0xb1f)]['y'],_0xddcd36[_0xaa8744(0xb1f)]['z'],_0xddcd36['d']);}_0x198421['d'](_0xfc9da,{'AN':()=>function(_0x5e56fb,_0x1bcba,_0x14c0a9){var _0x5596a2=a7_0x5572;let _0x103ebb=!0x1;var _0x26ea33=!!(null!=(_0x26ea33=_0x5e56fb['clipPlane'])?_0x26ea33:_0x1bcba[_0x5596a2(0xa8c)]),_0x5a9777=!!(null!=(_0x5a9777=_0x5e56fb[_0x5596a2(0x3b1)])?_0x5a9777:_0x1bcba['clipPlane2']),_0x4b4ad1=!!(null!=(_0x4b4ad1=_0x5e56fb[_0x5596a2(0xb84)])?_0x4b4ad1:_0x1bcba['clipPlane3']),_0x1eadcd=!!(null!=(_0x1eadcd=_0x5e56fb[_0x5596a2(0x54f)])?_0x1eadcd:_0x1bcba['clipPlane4']),_0x14f788=!!(null!=(_0x14f788=_0x5e56fb[_0x5596a2(0x5aa)])?_0x14f788:_0x1bcba[_0x5596a2(0x5aa)]),_0x5e56fb=!!(null!=(_0x5e56fb=_0x5e56fb[_0x5596a2(0xbb8)])?_0x5e56fb:_0x1bcba['clipPlane6']);return _0x14c0a9[_0x5596a2(0xa8d)]!==_0x26ea33&&(_0x14c0a9[_0x5596a2(0xa8d)]=_0x26ea33,_0x103ebb=!0x0),_0x14c0a9[_0x5596a2(0xced)]!==_0x5a9777&&(_0x14c0a9['CLIPPLANE2']=_0x5a9777,_0x103ebb=!0x0),_0x14c0a9[_0x5596a2(0x9e3)]!==_0x4b4ad1&&(_0x14c0a9[_0x5596a2(0x9e3)]=_0x4b4ad1,_0x103ebb=!0x0),_0x14c0a9[_0x5596a2(0x8ae)]!==_0x1eadcd&&(_0x14c0a9[_0x5596a2(0x8ae)]=_0x1eadcd,_0x103ebb=!0x0),_0x14c0a9[_0x5596a2(0x4a3)]!==_0x14f788&&(_0x14c0a9[_0x5596a2(0x4a3)]=_0x14f788,_0x103ebb=!0x0),_0x14c0a9['CLIPPLANE6']!==_0x5e56fb&&(_0x14c0a9[_0x5596a2(0x4bc)]=_0x5e56fb,_0x103ebb=!0x0),_0x103ebb;},'an':()=>function(_0x5d0348,_0x45ca75,_0x11f56a){var _0x4bb6dd=a7_0x5572,_0x1c6f25;_0x1e9e0c(_0x5d0348,_0x4bb6dd(0x3c2),null!=(_0x1c6f25=_0x45ca75[_0x4bb6dd(0xa8c)])?_0x1c6f25:_0x11f56a['clipPlane']),_0x1e9e0c(_0x5d0348,'vClipPlane2',null!=(_0x1c6f25=_0x45ca75['clipPlane2'])?_0x1c6f25:_0x11f56a['clipPlane2']),_0x1e9e0c(_0x5d0348,_0x4bb6dd(0x59d),null!=(_0x1c6f25=_0x45ca75[_0x4bb6dd(0xb84)])?_0x1c6f25:_0x11f56a[_0x4bb6dd(0xb84)]),_0x1e9e0c(_0x5d0348,_0x4bb6dd(0xcea),null!=(_0x1c6f25=_0x45ca75[_0x4bb6dd(0x54f)])?_0x1c6f25:_0x11f56a[_0x4bb6dd(0x54f)]),_0x1e9e0c(_0x5d0348,_0x4bb6dd(0x8e8),null!=(_0x1c6f25=_0x45ca75[_0x4bb6dd(0x5aa)])?_0x1c6f25:_0x11f56a[_0x4bb6dd(0x5aa)]),_0x1e9e0c(_0x5d0348,_0x4bb6dd(0xc40),null!=(_0x1c6f25=_0x45ca75[_0x4bb6dd(0xbb8)])?_0x1c6f25:_0x11f56a[_0x4bb6dd(0xbb8)]);},'lK':()=>function(_0xb209e6,_0x172aa8,_0x181c08){var _0x1ee436=a7_0x5572,_0x2641cd=!!(null!=(_0x2641cd=_0xb209e6['clipPlane'])?_0x2641cd:_0x172aa8[_0x1ee436(0xa8c)]),_0x323876=!!(null!=(_0x323876=_0xb209e6[_0x1ee436(0x3b1)])?_0x323876:_0x172aa8[_0x1ee436(0x3b1)]),_0x110711=!!(null!=(_0x110711=_0xb209e6[_0x1ee436(0xb84)])?_0x110711:_0x172aa8[_0x1ee436(0xb84)]),_0x50c07b=!!(null!=(_0x50c07b=_0xb209e6[_0x1ee436(0x54f)])?_0x50c07b:_0x172aa8[_0x1ee436(0x54f)]),_0x24382f=!!(null!=(_0x24382f=_0xb209e6[_0x1ee436(0x5aa)])?_0x24382f:_0x172aa8['clipPlane5']),_0xb209e6=!!(null!=(_0xb209e6=_0xb209e6['clipPlane6'])?_0xb209e6:_0x172aa8[_0x1ee436(0xbb8)]);_0x2641cd&&_0x181c08['push'](_0x1ee436(0x93f)),_0x323876&&_0x181c08['push'](_0x1ee436(0x663)),_0x110711&&_0x181c08[_0x1ee436(0x303)](_0x1ee436(0xb7c)),_0x50c07b&&_0x181c08[_0x1ee436(0x303)]('#define\x20CLIPPLANE4'),_0x24382f&&_0x181c08[_0x1ee436(0x303)](_0x1ee436(0x4df)),_0xb209e6&&_0x181c08['push'](_0x1ee436(0x4b8));},'qx':()=>function(_0x52d7ff){var _0x56feee=a7_0x5572;-0x1===_0x52d7ff[_0x56feee(0x9a3)](_0x56feee(0x3c2))&&_0x52d7ff['push'](_0x56feee(0x3c2)),-0x1===_0x52d7ff['indexOf'](_0x56feee(0xca2))&&_0x52d7ff[_0x56feee(0x303)](_0x56feee(0xca2)),-0x1===_0x52d7ff['indexOf'](_0x56feee(0x59d))&&_0x52d7ff[_0x56feee(0x303)]('vClipPlane3'),-0x1===_0x52d7ff[_0x56feee(0x9a3)]('vClipPlane4')&&_0x52d7ff[_0x56feee(0x303)](_0x56feee(0xcea)),-0x1===_0x52d7ff[_0x56feee(0x9a3)](_0x56feee(0x8e8))&&_0x52d7ff[_0x56feee(0x303)]('vClipPlane5'),-0x1===_0x52d7ff[_0x56feee(0x9a3)]('vClipPlane6')&&_0x52d7ff['push'](_0x56feee(0xc40));}});},0xcef:(_0x39b819,_0x35cd95,_0xaff2f5)=>{var _0x5302a7=a7_0x425593;_0xaff2f5['d'](_0x35cd95,{'q':()=>_0x49dc4f});class _0x49dc4f{constructor(_0xdaed69,_0x242955=!0x0){var _0x163d2d=a7_0x5572;this[_0x163d2d(0x8ee)]=null,this[_0x163d2d(0x4c2)]=null,this[_0x163d2d(0xaac)]=_0xdaed69[_0x163d2d(0x228)](),_0x242955&&(this[_0x163d2d(0x929)]=_0xdaed69[_0x163d2d(0x5dc)]());}static[_0x5302a7(0x68d)](_0x10dce7){var _0x42de49=_0x5302a7;return void 0x0===_0x10dce7[_0x42de49(0x2a1)];}static[_0x5302a7(0x9b7)](_0x5a2d92){var _0x421fbf=_0x5302a7;return void 0x0===_0x5a2d92[_0x421fbf(0x2a1)]?_0x5a2d92[_0x421fbf(0x8ee)]:_0x5a2d92;}['setEffect'](_0x512adf,_0x21f36f,_0x40cd00=!0x0){var _0x514b8a=_0x5302a7;this['effect']=_0x512adf,void 0x0!==_0x21f36f&&(this['defines']=_0x21f36f),_0x40cd00&&null!=(_0x512adf=this[_0x514b8a(0xaac)])&&_0x512adf[_0x514b8a(0x4f4)]();}[_0x5302a7(0x1cb)](){var _0x5aa0bc=_0x5302a7,_0x190c64;null!=(_0x190c64=this[_0x5aa0bc(0xaac)])&&_0x190c64['dispose']();}}},0x6421:(_0x9b663d,_0x5f1e2a,_0x4f61ca)=>{var _0x389296=a7_0x425593;_0x4f61ca['d'](_0x5f1e2a,{'L':()=>_0x49a401});class _0x49a401{constructor(){var _0x250d9f=a7_0x5572;this[_0x250d9f(0x74a)]={},this[_0x250d9f(0x62a)]=0x20,this[_0x250d9f(0xc11)]=-0x1,this[_0x250d9f(0xb65)]=null;}[_0x389296(0x7a0)](){this['_mesh']=null;}[_0x389296(0x3f4)](_0x4b8bbd,_0x8dcb9c){var _0x43781e=_0x389296;this[_0x43781e(0x74a)][_0x4b8bbd]||(_0x4b8bbd<this[_0x43781e(0x62a)]&&(this[_0x43781e(0x62a)]=_0x4b8bbd),_0x4b8bbd>this[_0x43781e(0xc11)]&&(this['_maxRank']=_0x4b8bbd),this[_0x43781e(0x74a)][_0x4b8bbd]=new Array()),this['_defines'][_0x4b8bbd][_0x43781e(0x303)](_0x8dcb9c);}[_0x389296(0x683)](_0x17bf84,_0x47edca){var _0x1fd2d6=_0x389296;this[_0x1fd2d6(0xb65)]=_0x47edca,_0x17bf84<this[_0x1fd2d6(0x62a)]&&(this['_currentRank']=_0x17bf84),_0x17bf84>this[_0x1fd2d6(0xc11)]&&(this['_maxRank']=_0x17bf84);}get[_0x389296(0x3d1)](){var _0x5e78cf=_0x389296;return this[_0x5e78cf(0x62a)]<=this[_0x5e78cf(0xc11)];}[_0x389296(0xd5c)](_0x898dc2,_0x2307d8){var _0x19e3ef=_0x389296;if(this[_0x19e3ef(0xb65)]&&this[_0x19e3ef(0xb65)]['computeBonesUsingShaders']&&0x0<this[_0x19e3ef(0xb65)][_0x19e3ef(0xd4f)]){this[_0x19e3ef(0xb65)][_0x19e3ef(0x942)]=!0x1,_0x898dc2=_0x898dc2['replace'](_0x19e3ef(0x792)+this[_0x19e3ef(0xb65)][_0x19e3ef(0xd4f)],_0x19e3ef(0xa60)),_0x2307d8['_bonesComputationForcedToCPU']=!0x0;var _0x2c5707=this['_mesh'][_0x19e3ef(0x427)]();for(let _0x315558=0x0;_0x315558<_0x2c5707[_0x19e3ef(0xaaa)][_0x19e3ef(0x86e)];_0x315558++){const _0x488632=_0x2c5707['meshes'][_0x315558];if(_0x488632[_0x19e3ef(0x752)]){if(_0x488632[_0x19e3ef(0x942)]&&0x0!==_0x488632[_0x19e3ef(0xd4f)]){if(_0x488632[_0x19e3ef(0x752)][_0x19e3ef(0x39e)]()===_0x2307d8)_0x488632[_0x19e3ef(0x942)]=!0x1;else{if(_0x488632['subMeshes']){for(const _0x4ea0da of _0x488632[_0x19e3ef(0x4d9)])if(_0x4ea0da[_0x19e3ef(0x8ee)]===_0x2307d8){_0x488632[_0x19e3ef(0x942)]=!0x1;break;}}}}}else!this[_0x19e3ef(0xb65)][_0x19e3ef(0x752)]&&_0x488632['computeBonesUsingShaders']&&0x0<_0x488632[_0x19e3ef(0xd4f)]&&(_0x488632[_0x19e3ef(0x942)]=!0x1);}}else{var _0x4c13fe=this[_0x19e3ef(0x74a)][this[_0x19e3ef(0x62a)]];if(_0x4c13fe){for(let _0x5679fd=0x0;_0x5679fd<_0x4c13fe[_0x19e3ef(0x86e)];_0x5679fd++)_0x898dc2=_0x898dc2[_0x19e3ef(0x8fd)](_0x19e3ef(0x208)+_0x4c13fe[_0x5679fd],'');}this[_0x19e3ef(0x62a)]++;}return _0x898dc2;}}},0x3c2a:(_0x3c2cda,_0x44b32e,_0x38b7fc)=>{var _0x491695=a7_0x425593,_0x4c9c0f=_0x38b7fc(0x12fad),_0x290721=_0x38b7fc(0x7c4f),_0x290721=(Object[_0x491695(0x38c)](_0x290721['K'][_0x491695(0x85a)],_0x491695(0x408),{'get':function(){var _0x775177=_0x491695;if(!this[_0x775177(0x829)]){if(this[_0x775177(0x207)])return null;this['_decalMap']=new _0x4c9c0f['E'](this);}return this[_0x775177(0x829)];},'enumerable':!0x0,'configurable':!0x0}),_0x38b7fc(0x1ee0));Object['defineProperty'](_0x290721['m'][_0x491695(0x85a)],_0x491695(0x408),{'get':function(){var _0xd651e8=_0x491695;if(!this[_0xd651e8(0x829)]){if(this[_0xd651e8(0x207)])return null;this[_0xd651e8(0x829)]=new _0x4c9c0f['E'](this);}return this['_decalMap'];},'enumerable':!0x0,'configurable':!0x0}),_0x38b7fc(0x19ba);},0x11e40:(_0x2625e4,_0x935528,_0x5ea5c8)=>{var _0x48b10f=a7_0x425593;_0x5ea5c8['d'](_0x935528,{'H':()=>_0x41a2a6});class _0x41a2a6{constructor(_0x3fe51e){var _0x1fb457=a7_0x5572;if(this[_0x1fb457(0x33c)]=[],this['_isDirty']=!0x0,this['_areLightsDirty']=!0x0,this[_0x1fb457(0xd06)]=!0x1,this['_areAttributesDirty']=!0x0,this[_0x1fb457(0x96d)]=!0x0,this['_areFresnelDirty']=!0x0,this[_0x1fb457(0x53b)]=!0x0,this[_0x1fb457(0xcd6)]=!0x0,this[_0x1fb457(0x3a0)]=!0x0,this[_0x1fb457(0xb5f)]=!0x1,this['_uvs']=!0x1,this['_needNormals']=!0x1,this[_0x1fb457(0xbde)]=!0x1,this[_0x1fb457(0xcbf)]=_0x3fe51e){for(const _0x546190 in _0x3fe51e)Object['prototype'][_0x1fb457(0xc49)][_0x1fb457(0x9e2)](_0x3fe51e,_0x546190)&&this['_setDefaultValue'](_0x546190);}}get[_0x48b10f(0x948)](){var _0x4aea33=_0x48b10f;return this[_0x4aea33(0xb13)];}['markAsProcessed'](){var _0x37d121=_0x48b10f;this[_0x37d121(0xb13)]=!0x1,this[_0x37d121(0xa93)]=!0x1,this['_areTexturesDirty']=!0x1,this[_0x37d121(0xb26)]=!0x1,this[_0x37d121(0xd7b)]=!0x1,this[_0x37d121(0xd06)]=!0x1,this['_areMiscDirty']=!0x1,this[_0x37d121(0xcd6)]=!0x1,this[_0x37d121(0x3a0)]=!0x1;}[_0x48b10f(0x1ac)](){var _0x2db66b=_0x48b10f;this[_0x2db66b(0xb13)]=!0x0;}['markAllAsDirty'](){var _0x5c784b=_0x48b10f;this[_0x5c784b(0x96d)]=!0x0,this['_areAttributesDirty']=!0x0,this['_areLightsDirty']=!0x0,this[_0x5c784b(0xb26)]=!0x0,this['_areMiscDirty']=!0x0,this[_0x5c784b(0x3a0)]=!0x0,this[_0x5c784b(0xb13)]=!0x0;}[_0x48b10f(0x8f5)](){var _0xd3e656=_0x48b10f;this[_0xd3e656(0x3a0)]=!0x0,this['_isDirty']=!0x0;}[_0x48b10f(0xcdf)](_0x105843=!0x1){var _0x22dba1=_0x48b10f;this['_areLightsDirty']=!0x0,this['_areLightsDisposed']=this['_areLightsDisposed']||_0x105843,this[_0x22dba1(0xb13)]=!0x0;}['markAsAttributesDirty'](){var _0x5294f7=_0x48b10f;this[_0x5294f7(0xa93)]=!0x0,this['_isDirty']=!0x0;}[_0x48b10f(0xc4a)](){var _0xa4c69a=_0x48b10f;this[_0xa4c69a(0x96d)]=!0x0,this['_isDirty']=!0x0;}[_0x48b10f(0xc78)](){var _0x2cadf6=_0x48b10f;this[_0x2cadf6(0xb26)]=!0x0,this['_isDirty']=!0x0;}[_0x48b10f(0x8f0)](){this['_areMiscDirty']=!0x0,this['_isDirty']=!0x0;}['markAsPrePassDirty'](){var _0x4b320a=_0x48b10f;this[_0x4b320a(0xcd6)]=!0x0,this[_0x4b320a(0xb13)]=!0x0;}['rebuild'](){var _0x5ccc14=_0x48b10f;this[_0x5ccc14(0x33c)][_0x5ccc14(0x86e)]=0x0;for(const _0x40c066 of Object[_0x5ccc14(0x416)](this))'_'!==_0x40c066[0x0]&&this['_keys'][_0x5ccc14(0x303)](_0x40c066);if(this[_0x5ccc14(0xcbf)]){for(const _0x20d197 in this['_externalProperties'])-0x1===this[_0x5ccc14(0x33c)]['indexOf'](_0x20d197)&&this['_keys'][_0x5ccc14(0x303)](_0x20d197);}}[_0x48b10f(0xb4f)](_0x4e17ea){var _0x503642=_0x48b10f;if(this[_0x503642(0x33c)][_0x503642(0x86e)]!==_0x4e17ea['_keys'][_0x503642(0x86e)])return!0x1;for(let _0xb76d0a=0x0;_0xb76d0a<this[_0x503642(0x33c)]['length'];_0xb76d0a++){var _0x25e6a7=this[_0x503642(0x33c)][_0xb76d0a];if(this[_0x25e6a7]!==_0x4e17ea[_0x25e6a7])return!0x1;}return!0x0;}['cloneTo'](_0x13a719){var _0xec8e6c=_0x48b10f;this[_0xec8e6c(0x33c)][_0xec8e6c(0x86e)]!==_0x13a719[_0xec8e6c(0x33c)][_0xec8e6c(0x86e)]&&(_0x13a719[_0xec8e6c(0x33c)]=this[_0xec8e6c(0x33c)][_0xec8e6c(0x8be)](0x0));for(let _0x9f3bbe=0x0;_0x9f3bbe<this[_0xec8e6c(0x33c)][_0xec8e6c(0x86e)];_0x9f3bbe++){var _0x3c729b=this[_0xec8e6c(0x33c)][_0x9f3bbe];_0x13a719[_0x3c729b]=this[_0x3c729b];}}[_0x48b10f(0x4f4)](){var _0x38c8c5=_0x48b10f;this['_keys'][_0x38c8c5(0x92e)](_0x5e52bd=>this[_0x38c8c5(0xcce)](_0x5e52bd));}[_0x48b10f(0xcce)](_0x4d7ca8){var _0x4f6935=_0x48b10f,_0xd9a325,_0x4f6263=null!=(_0x4f6263=null==(_0x4f6263=null==(_0x4f6263=this[_0x4f6935(0xcbf)])?void 0x0:_0x4f6263[_0x4d7ca8])?void 0x0:_0x4f6263[_0x4f6935(0x395)])?_0x4f6263:typeof this[_0x4d7ca8],_0x281a36=null==(_0xd9a325=null==(_0xd9a325=this[_0x4f6935(0xcbf)])?void 0x0:_0xd9a325[_0x4d7ca8])?void 0x0:_0xd9a325[_0x4f6935(0x734)];switch(_0x4f6263){case _0x4f6935(0x1b7):this[_0x4d7ca8]=null!=_0x281a36?_0x281a36:0x0;break;case _0x4f6935(0x8ce):this[_0x4d7ca8]=null!=_0x281a36?_0x281a36:'';break;default:this[_0x4d7ca8]=null!=_0x281a36&&_0x281a36;}}[_0x48b10f(0x87d)](){var _0x540c6b=_0x48b10f;let _0x523545='';for(let _0x17360c=0x0;_0x17360c<this[_0x540c6b(0x33c)][_0x540c6b(0x86e)];_0x17360c++){var _0xe75622=this[_0x540c6b(0x33c)][_0x17360c],_0x3c4f9e=this[_0xe75622];switch(typeof _0x3c4f9e){case _0x540c6b(0x1b7):case _0x540c6b(0x8ce):_0x523545+=_0x540c6b(0x208)+_0xe75622+'\x20'+_0x3c4f9e+'\x0a';break;default:_0x3c4f9e&&(_0x523545+=_0x540c6b(0x208)+_0xe75622+'\x0a');}}return _0x523545;}}},0x627e:(_0x2e28ff,_0x57d4c2,_0x32bce5)=>{var _0x396b97=a7_0x425593;_0x32bce5['d'](_0x57d4c2,{'S':()=>_0x178b93});function _0x20b393(_0x4ac914,_0x1969c8,_0x551926,_0x536b07){var _0x10f124=a7_0x5572,_0x36c4d7,_0x281a20=arguments['length'],_0x3145bc=_0x281a20<0x3?_0x1969c8:null===_0x536b07?_0x536b07=Object['getOwnPropertyDescriptor'](_0x1969c8,_0x551926):_0x536b07;if(_0x10f124(0x2e9)==typeof Reflect&&_0x10f124(0xbd4)==typeof Reflect['decorate'])_0x3145bc=Reflect['decorate'](_0x4ac914,_0x1969c8,_0x551926,_0x536b07);else{for(var _0x27e11e=_0x4ac914['length']-0x1;0x0<=_0x27e11e;_0x27e11e--)(_0x36c4d7=_0x4ac914[_0x27e11e])&&(_0x3145bc=(_0x281a20<0x3?_0x36c4d7(_0x3145bc):0x3<_0x281a20?_0x36c4d7(_0x1969c8,_0x551926,_0x3145bc):_0x36c4d7(_0x1969c8,_0x551926))||_0x3145bc);}0x3<_0x281a20&&_0x3145bc&&Object[_0x10f124(0x38c)](_0x1969c8,_0x551926,_0x3145bc);}var _0x5706e4=_0x32bce5(0x77a5),_0x451faa=_0x32bce5(0x153ad);class _0x178b93{constructor(){var _0x361f61=a7_0x5572;this[_0x361f61(0x4f4)]();}[_0x396b97(0x4f4)](){var _0x20916b=_0x396b97;this[_0x20916b(0x650)]=!0x1,this[_0x20916b(0x54c)]=0xff,this[_0x20916b(0x24f)]=_0x5706e4['g'][_0x20916b(0x7bc)],this[_0x20916b(0x602)]=0x1,this[_0x20916b(0x796)]=0xff,this['opStencilFail']=_0x5706e4['g'][_0x20916b(0xb2b)],this[_0x20916b(0x1a6)]=_0x5706e4['g']['KEEP'],this[_0x20916b(0xd11)]=_0x5706e4['g'][_0x20916b(0x5de)];}get['func'](){var _0x6638b9=_0x396b97;return this[_0x6638b9(0x6cb)];}set['func'](_0x23eca9){var _0x5d9491=_0x396b97;this[_0x5d9491(0x6cb)]=_0x23eca9;}get['funcRef'](){var _0xa9acef=_0x396b97;return this[_0xa9acef(0x47b)];}set[_0x396b97(0x602)](_0x4379d1){var _0x265932=_0x396b97;this[_0x265932(0x47b)]=_0x4379d1;}get[_0x396b97(0x796)](){var _0x5ad638=_0x396b97;return this[_0x5ad638(0x9f9)];}set[_0x396b97(0x796)](_0x2aa29a){this['_funcMask']=_0x2aa29a;}get[_0x396b97(0x902)](){var _0x324dbd=_0x396b97;return this[_0x324dbd(0x1dd)];}set['opStencilFail'](_0x411ef1){var _0x2254b4=_0x396b97;this[_0x2254b4(0x1dd)]=_0x411ef1;}get[_0x396b97(0x1a6)](){var _0x45f692=_0x396b97;return this[_0x45f692(0x3f8)];}set[_0x396b97(0x1a6)](_0x270c8b){this['_opDepthFail']=_0x270c8b;}get[_0x396b97(0xd11)](){return this['_opStencilDepthPass'];}set[_0x396b97(0xd11)](_0x1fbf1d){var _0x5ef1cc=_0x396b97;this[_0x5ef1cc(0x6db)]=_0x1fbf1d;}get[_0x396b97(0x54c)](){var _0x332bc3=_0x396b97;return this[_0x332bc3(0xd37)];}set[_0x396b97(0x54c)](_0x4c04af){this['_mask']=_0x4c04af;}get['enabled'](){var _0x3d00ab=_0x396b97;return this[_0x3d00ab(0x17c)];}set['enabled'](_0x194c5c){this['_enabled']=_0x194c5c;}[_0x396b97(0xa12)](){var _0x3dadc6=_0x396b97;return _0x3dadc6(0xb80);}[_0x396b97(0x541)](_0x2229f2){var _0x24c3e7=_0x396b97;_0x451faa['p4'][_0x24c3e7(0x412)](()=>_0x2229f2,this);}[_0x396b97(0xb4d)](){var _0x147c35=_0x396b97;return _0x451faa['p4'][_0x147c35(0xbee)](this);}[_0x396b97(0xd68)](_0x5e9f77,_0x477e7d,_0x580de1){var _0x523964=_0x396b97;_0x451faa['p4'][_0x523964(0x364)](()=>this,_0x5e9f77,_0x477e7d,_0x580de1);}}_0x20b393([(0x0,_0x451faa['qC'])()],_0x178b93['prototype'],'func',null),_0x20b393([(0x0,_0x451faa['qC'])()],_0x178b93[_0x396b97(0x85a)],_0x396b97(0x602),null),_0x20b393([(0x0,_0x451faa['qC'])()],_0x178b93[_0x396b97(0x85a)],'funcMask',null),_0x20b393([(0x0,_0x451faa['qC'])()],_0x178b93[_0x396b97(0x85a)],_0x396b97(0x902),null),_0x20b393([(0x0,_0x451faa['qC'])()],_0x178b93[_0x396b97(0x85a)],_0x396b97(0x1a6),null),_0x20b393([(0x0,_0x451faa['qC'])()],_0x178b93['prototype'],_0x396b97(0xd11),null),_0x20b393([(0x0,_0x451faa['qC'])()],_0x178b93[_0x396b97(0x85a)],_0x396b97(0x54c),null),_0x20b393([(0x0,_0x451faa['qC'])()],_0x178b93['prototype'],'enabled',null);},0x1836a:(_0x25f5f2,_0xc775fe,_0xf8951d)=>{var _0x223156=a7_0x425593;_0xf8951d['d'](_0xc775fe,{'o':()=>_0x526def});var _0x2d325a=_0xf8951d(0x77a5);class _0x526def{constructor(){var _0x5c6270=a7_0x5572;this[_0x5c6270(0x29b)]={},this[_0x5c6270(0x9f1)]={};}static[_0x223156(0x9c3)](_0x4c8b12){var _0x469d2b=_0x223156;_0x4c8b12[_0x469d2b(0x303)](_0x469d2b(0x4d0),'previousViewProjection',_0x469d2b(0x281));}static[_0x223156(0x535)](_0x29c907){}[_0x223156(0xb7a)](_0x5903be,_0x21d270,_0x5925f8,_0x423ce4,_0x3c2915){var _0x540e08=_0x223156,_0x29b270;_0x21d270[_0x540e08(0x89f)]&&_0x21d270[_0x540e08(0x89f)][_0x540e08(0x650)]&&_0x21d270['prePassRenderer']['currentRTisSceneRT']&&-0x1!==_0x21d270[_0x540e08(0x89f)]['getIndex'](_0x2d325a['g']['PREPASS_VELOCITY_TEXTURE_TYPE'])&&(this[_0x540e08(0x29b)][_0x5925f8[_0x540e08(0xafd)]]||(this[_0x540e08(0x29b)][_0x5925f8[_0x540e08(0xafd)]]=_0x423ce4[_0x540e08(0x6cd)]()),this[_0x540e08(0xa92)]||(this[_0x540e08(0xa92)]=_0x21d270[_0x540e08(0x8d3)]()[_0x540e08(0x6cd)](),this['currentViewProjection']=_0x21d270[_0x540e08(0x8d3)]()[_0x540e08(0x6cd)]()),_0x29b270=_0x21d270[_0x540e08(0x989)](),this[_0x540e08(0x4ef)][_0x540e08(0x59b)]!==_0x21d270[_0x540e08(0x8d3)]()['updateFlag']?(this['_lastUpdateFrameId']=_0x29b270['frameId'],this['previousViewProjection']['copyFrom'](this['currentViewProjection']),this['currentViewProjection'][_0x540e08(0x9db)](_0x21d270[_0x540e08(0x8d3)]())):this[_0x540e08(0x743)]!==_0x29b270[_0x540e08(0x5f2)]&&(this[_0x540e08(0x743)]=_0x29b270[_0x540e08(0x5f2)],this[_0x540e08(0xa92)][_0x540e08(0x9db)](this[_0x540e08(0x4ef)])),_0x5903be['setMatrix'](_0x540e08(0x4d0),this['previousWorldMatrices'][_0x5925f8['uniqueId']]),_0x5903be[_0x540e08(0x61f)](_0x540e08(0xa92),this['previousViewProjection']),this[_0x540e08(0x29b)][_0x5925f8[_0x540e08(0xafd)]]=_0x423ce4[_0x540e08(0x6cd)]());}}},0x58c8:(_0x3b6014,_0x4ab05b,_0x14ec61)=>{var _0x1ff8f8=a7_0x425593;_0x14ec61['d'](_0x4ab05b,{'c':()=>_0x98d6ed});class _0x98d6ed{constructor(_0x275a06){var _0x42e0bf=a7_0x5572;this[_0x42e0bf(0x233)](_0x275a06)?(this[_0x42e0bf(0x2b7)]=_0x275a06[_0x42e0bf(0x6cf)][_0x42e0bf(0xc63)](_0x275a06),this[_0x42e0bf(0xba9)]=_0x275a06[_0x42e0bf(0x414)][_0x42e0bf(0xc63)](_0x275a06),this[_0x42e0bf(0x89c)]=_0x275a06['updateFloat'][_0x42e0bf(0xc63)](_0x275a06),this[_0x42e0bf(0x2ad)]=_0x275a06[_0x42e0bf(0x44d)]['bind'](_0x275a06),this[_0x42e0bf(0x697)]=_0x275a06[_0x42e0bf(0xc04)]['bind'](_0x275a06),this[_0x42e0bf(0x1d0)]=_0x275a06[_0x42e0bf(0xc96)][_0x42e0bf(0xc63)](_0x275a06),this['setFloatArray']=_0x275a06['updateFloatArray'][_0x42e0bf(0xc63)](_0x275a06),this[_0x42e0bf(0x9e4)]=_0x275a06[_0x42e0bf(0x9a0)][_0x42e0bf(0xc63)](_0x275a06),this[_0x42e0bf(0x72a)]=_0x275a06[_0x42e0bf(0x596)][_0x42e0bf(0xc63)](_0x275a06),this['setMatrix']=_0x275a06[_0x42e0bf(0x72d)][_0x42e0bf(0xc63)](_0x275a06),this[_0x42e0bf(0x4e7)]=_0x275a06[_0x42e0bf(0x2ea)][_0x42e0bf(0xc63)](_0x275a06),this[_0x42e0bf(0x721)]=_0x275a06[_0x42e0bf(0xbac)][_0x42e0bf(0xc63)](_0x275a06),this[_0x42e0bf(0xcaf)]=_0x275a06[_0x42e0bf(0x978)][_0x42e0bf(0xc63)](_0x275a06),this[_0x42e0bf(0x7d7)]=_0x275a06[_0x42e0bf(0x895)][_0x42e0bf(0xc63)](_0x275a06),this['setColor4']=_0x275a06[_0x42e0bf(0xa91)][_0x42e0bf(0xc63)](_0x275a06),this[_0x42e0bf(0x717)]=_0x275a06['updateDirectColor4'][_0x42e0bf(0xc63)](_0x275a06),this[_0x42e0bf(0x1b5)]=_0x275a06['updateInt'][_0x42e0bf(0xc63)](_0x275a06),this[_0x42e0bf(0x4ba)]=_0x275a06[_0x42e0bf(0xa25)][_0x42e0bf(0xc63)](_0x275a06),this[_0x42e0bf(0x985)]=_0x275a06[_0x42e0bf(0x52f)][_0x42e0bf(0xc63)](_0x275a06),this[_0x42e0bf(0x560)]=_0x275a06['updateInt4'][_0x42e0bf(0xc63)](_0x275a06)):(this['setMatrix3x3']=_0x275a06[_0x42e0bf(0x2b7)][_0x42e0bf(0xc63)](_0x275a06),this[_0x42e0bf(0xba9)]=_0x275a06[_0x42e0bf(0xba9)][_0x42e0bf(0xc63)](_0x275a06),this[_0x42e0bf(0x89c)]=_0x275a06[_0x42e0bf(0x89c)][_0x42e0bf(0xc63)](_0x275a06),this[_0x42e0bf(0x2ad)]=_0x275a06[_0x42e0bf(0x2ad)][_0x42e0bf(0xc63)](_0x275a06),this[_0x42e0bf(0x697)]=_0x275a06['setFloat3'][_0x42e0bf(0xc63)](_0x275a06),this['setFloat4']=_0x275a06[_0x42e0bf(0x1d0)][_0x42e0bf(0xc63)](_0x275a06),this[_0x42e0bf(0x980)]=_0x275a06[_0x42e0bf(0x980)][_0x42e0bf(0xc63)](_0x275a06),this[_0x42e0bf(0x9e4)]=_0x275a06[_0x42e0bf(0x9e4)][_0x42e0bf(0xc63)](_0x275a06),this[_0x42e0bf(0x72a)]=_0x275a06[_0x42e0bf(0x72a)][_0x42e0bf(0xc63)](_0x275a06),this['setMatrix']=_0x275a06[_0x42e0bf(0x61f)][_0x42e0bf(0xc63)](_0x275a06),this[_0x42e0bf(0x4e7)]=_0x275a06['setMatrices'][_0x42e0bf(0xc63)](_0x275a06),this[_0x42e0bf(0x721)]=_0x275a06[_0x42e0bf(0x721)][_0x42e0bf(0xc63)](_0x275a06),this[_0x42e0bf(0xcaf)]=_0x275a06[_0x42e0bf(0xcaf)][_0x42e0bf(0xc63)](_0x275a06),this[_0x42e0bf(0x7d7)]=_0x275a06[_0x42e0bf(0x7d7)][_0x42e0bf(0xc63)](_0x275a06),this['setColor4']=_0x275a06[_0x42e0bf(0x307)][_0x42e0bf(0xc63)](_0x275a06),this['setDirectColor4']=_0x275a06[_0x42e0bf(0x717)]['bind'](_0x275a06),this[_0x42e0bf(0x1b5)]=_0x275a06[_0x42e0bf(0x1b5)][_0x42e0bf(0xc63)](_0x275a06),this[_0x42e0bf(0x4ba)]=_0x275a06['setInt2'][_0x42e0bf(0xc63)](_0x275a06),this[_0x42e0bf(0x985)]=_0x275a06[_0x42e0bf(0x985)][_0x42e0bf(0xc63)](_0x275a06),this[_0x42e0bf(0x560)]=_0x275a06[_0x42e0bf(0x560)][_0x42e0bf(0xc63)](_0x275a06));}[_0x1ff8f8(0x233)](_0x41026f){var _0x39cc00=_0x1ff8f8;return void 0x0!==_0x41026f[_0x39cc00(0x93a)];}}},0xceed:(_0x2617c4,_0x353173,_0x19c6db)=>{var _0x564422=a7_0x425593;_0x19c6db['d'](_0x353173,{'$':()=>_0x47de23});class _0x47de23{constructor(_0xa4f4dc,_0x3e3de0){var _0x58e438=a7_0x5572;this[_0x58e438(0x639)]=_0xa4f4dc,this['height']=_0x3e3de0;}['toString'](){var _0xf9d437=a7_0x5572;return'{W:\x20'+this[_0xf9d437(0x639)]+_0xf9d437(0x6ba)+this[_0xf9d437(0x690)]+'}';}[_0x564422(0xa12)](){return'Size';}['getHashCode'](){return 0x18d*(0x0|this['width'])^(0x0|this['height']);}[_0x564422(0x9db)](_0x2f035a){var _0x131775=_0x564422;this[_0x131775(0x639)]=_0x2f035a[_0x131775(0x639)],this[_0x131775(0x690)]=_0x2f035a[_0x131775(0x690)];}['copyFromFloats'](_0x124c13,_0x2c3282){var _0x2e05bb=_0x564422;return this[_0x2e05bb(0x639)]=_0x124c13,this[_0x2e05bb(0x690)]=_0x2c3282,this;}[_0x564422(0x83f)](_0x523a28,_0x5982ff){var _0x29e05b=_0x564422;return this[_0x29e05b(0x642)](_0x523a28,_0x5982ff);}[_0x564422(0x9ed)](_0x472c31,_0x156199){var _0x48ba4a=_0x564422;return new _0x47de23(this['width']*_0x472c31,this[_0x48ba4a(0x690)]*_0x156199);}[_0x564422(0x6cd)](){var _0x4a4d7d=_0x564422;return new _0x47de23(this[_0x4a4d7d(0x639)],this[_0x4a4d7d(0x690)]);}['equals'](_0x59b23e){var _0x1bd94b=_0x564422;return!!_0x59b23e&&this[_0x1bd94b(0x639)]===_0x59b23e[_0x1bd94b(0x639)]&&this[_0x1bd94b(0x690)]===_0x59b23e['height'];}get[_0x564422(0x215)](){var _0x4ed2c9=_0x564422;return this[_0x4ed2c9(0x639)]*this['height'];}static[_0x564422(0xa14)](){return new _0x47de23(0x0,0x0);}[_0x564422(0x47e)](_0x1b6cb8){var _0x2126ec=_0x564422;return new _0x47de23(this[_0x2126ec(0x639)]+_0x1b6cb8['width'],this[_0x2126ec(0x690)]+_0x1b6cb8['height']);}[_0x564422(0x75f)](_0x20ace4){var _0x25836d=_0x564422;return new _0x47de23(this[_0x25836d(0x639)]-_0x20ace4[_0x25836d(0x639)],this[_0x25836d(0x690)]-_0x20ace4[_0x25836d(0x690)]);}static['Lerp'](_0x135825,_0x1532f1,_0x1124c7){var _0x1fe6e2=_0x564422,_0xd981c6=_0x135825['width']+(_0x1532f1['width']-_0x135825[_0x1fe6e2(0x639)])*_0x1124c7,_0x1532f1=_0x135825['height']+(_0x1532f1['height']-_0x135825[_0x1fe6e2(0x690)])*_0x1124c7;return new _0x47de23(_0xd981c6,_0x1532f1);}}},0x6fac:(_0x34e0ba,_0x2f139f,_0xeffe68)=>{var _0x57d7bf=a7_0x425593;_0xeffe68['d'](_0x2f139f,{'l':()=>_0x5718ae});class _0x5718ae{constructor(_0x4302c6,_0x1cb9dc,_0x2eb663,_0x2ca3b4){var _0x2d5679=a7_0x5572;this['x']=_0x4302c6,this['y']=_0x1cb9dc,this['width']=_0x2eb663,this[_0x2d5679(0x690)]=_0x2ca3b4;}[_0x57d7bf(0x1b6)](_0x32e893,_0xc48e73){var _0x50fb57=_0x57d7bf;return new _0x5718ae(this['x']*_0x32e893,this['y']*_0xc48e73,this[_0x50fb57(0x639)]*_0x32e893,this['height']*_0xc48e73);}['toGlobalToRef'](_0x56bea5,_0x4af9ba,_0x3b2a6e){var _0xb040b0=_0x57d7bf;return _0x3b2a6e['x']=this['x']*_0x56bea5,_0x3b2a6e['y']=this['y']*_0x4af9ba,_0x3b2a6e['width']=this[_0xb040b0(0x639)]*_0x56bea5,_0x3b2a6e['height']=this[_0xb040b0(0x690)]*_0x4af9ba,this;}[_0x57d7bf(0x6cd)](){var _0x4d0864=_0x57d7bf;return new _0x5718ae(this['x'],this['y'],this[_0x4d0864(0x639)],this[_0x4d0864(0x690)]);}}},0x19ba:(_0x573210,_0x378db1,_0x3ad954)=>{var _0x3087fd=a7_0x425593;_0x3ad954=_0x3ad954(0x51f),Object[_0x3087fd(0x38c)](_0x3ad954['x'][_0x3087fd(0x85a)],_0x3087fd(0x408),{'get':function(){var _0x1eece8=_0x3087fd;return this[_0x1eece8(0x829)];},'set':function(_0xd73f19){var _0x37a8a9=_0x3087fd;this[_0x37a8a9(0x829)]=_0xd73f19;},'enumerable':!0x0,'configurable':!0x0});},0x7bfa:(_0x16f3fd,_0x588765,_0x2391a3)=>{_0x2391a3['d'](_0x588765,{'g':()=>_0x30980f});class _0x30980f{constructor(_0x67a902,_0x237ef6){var _0x226eb0=a7_0x5572;this['distanceOrScreenCoverage']=_0x67a902,this[_0x226eb0(0x7d5)]=_0x237ef6;}}},0x53f7:(_0x27d11b,_0x3d8508,_0x5d21f6)=>{var _0x348125=a7_0x425593,_0x489755=_0x5d21f6(0x77a5),_0x28225b=_0x5d21f6(0x9fd1),_0x5d21f6=_0x5d21f6(0x10187);_0x5d21f6['P'][_0x348125(0x85a)][_0x348125(0x8c4)]=function(_0x3b7d50,_0x3031ce,_0x2bfab6,_0x2b26d3,_0x58f89f,_0x2b1c7a){var _0xa5fe8=_0x348125;const _0xf3e98f=_0x28225b['jp'][_0xa5fe8(0x708)][0x0];var _0xdf6f56=_0x28225b['jp']['Vector3'][0x1];let _0x17ad15=Infinity;for(let _0x493e13=this[_0xa5fe8(0xb61)];_0x493e13<this['indexStart']+this[_0xa5fe8(0x2ef)]-(0x3-_0x2b26d3);_0x493e13+=_0x2b26d3){var _0x3f66c7=_0x2bfab6[_0x493e13],_0xf39cb3=_0x2bfab6[_0x493e13+0x1],_0x1e04d5=_0x2bfab6[_0x493e13+0x2];_0x58f89f&&0xffffffff===_0x1e04d5?_0x493e13+=0x2:(_0x3f66c7=_0x3031ce[_0x3f66c7],_0xf39cb3=_0x3031ce[_0xf39cb3],_0x1e04d5=_0x3031ce[_0x1e04d5],_0x3f66c7&&_0xf39cb3&&_0x1e04d5&&(_0x3f66c7=_0x28225b['P'][_0xa5fe8(0xafa)](_0x3b7d50,_0x3f66c7,_0xf39cb3,_0x1e04d5,_0xdf6f56))<_0x17ad15&&(_0xf3e98f[_0xa5fe8(0x9db)](_0xdf6f56),_0x17ad15=_0x3f66c7));}return _0x2b1c7a[_0xa5fe8(0x9db)](_0xf3e98f),_0x17ad15;},_0x5d21f6['P'][_0x348125(0x85a)][_0x348125(0xce0)]=function(_0x2d3fb1,_0x1f6b58,_0x11fa9b,_0x26c1bf){var _0x27c2eb=_0x348125;const _0x3ecb01=_0x28225b['jp'][_0x27c2eb(0x708)][0x0];var _0x539aea=_0x28225b['jp'][_0x27c2eb(0x708)][0x1];let _0x17fe0c=Infinity;for(let _0x111e24=this[_0x27c2eb(0x5b6)];_0x111e24<this[_0x27c2eb(0x5b6)]+this[_0x27c2eb(0xc1a)];_0x111e24+=0x3){var _0x366e97=_0x1f6b58[_0x111e24],_0x55eb80=_0x1f6b58[_0x111e24+0x1],_0x22914c=_0x1f6b58[_0x111e24+0x2],_0x366e97=_0x28225b['P'][_0x27c2eb(0xafa)](_0x2d3fb1,_0x366e97,_0x55eb80,_0x22914c,_0x539aea);_0x366e97<_0x17fe0c&&(_0x3ecb01[_0x27c2eb(0x9db)](_0x539aea),_0x17fe0c=_0x366e97);}return _0x26c1bf[_0x27c2eb(0x9db)](_0x3ecb01),_0x17fe0c;},_0x5d21f6['P'][_0x348125(0x85a)][_0x348125(0x938)]=function(_0x1c6e53,_0x30864e,_0x40803b,_0x6db833){var _0x3c5f6e=_0x348125,_0x401a21=this[_0x3c5f6e(0xc8a)]();if(!_0x401a21)return-0x1;let _0xe1360c=0x3,_0x332867=!0x1;switch(_0x401a21[_0x3c5f6e(0x4f0)]){case _0x489755['g']['MATERIAL_PointListDrawMode']:case _0x489755['g']['MATERIAL_LineLoopDrawMode']:case _0x489755['g'][_0x3c5f6e(0x39c)]:case _0x489755['g'][_0x3c5f6e(0x470)]:return-0x1;case _0x489755['g']['MATERIAL_TriangleStripDrawMode']:_0xe1360c=0x1,_0x332867=!0x0;}return _0x401a21['fillMode']===_0x489755['g'][_0x3c5f6e(0x824)]?-0x1:!_0x40803b[_0x3c5f6e(0x86e)]&&this[_0x3c5f6e(0xb65)][_0x3c5f6e(0xc09)]?this[_0x3c5f6e(0xce0)](_0x1c6e53,_0x30864e,_0x40803b,_0x6db833):this[_0x3c5f6e(0x8c4)](_0x1c6e53,_0x30864e,_0x40803b,_0xe1360c,_0x332867,_0x6db833);};},0xb1d7:(_0x3bd084,_0x22ca66,_0x190f1a)=>{var _0x1d8a48=a7_0x425593,_0x35cc0b=_0x190f1a(0x1dad),_0x33c9d5=_0x190f1a(0x1a27),_0x2e83b7=_0x190f1a(0x9fd1),_0x4daa3b=_0x190f1a(0x10ea4),_0x55d2c3=_0x190f1a(0xe30c);_0x35cc0b['Kj'][_0x1d8a48(0x85a)][_0x1d8a48(0xb0b)]=function(_0x4f9506,_0x12a683=!0x0){var _0x1f1084=_0x1d8a48;if(!this[_0x1f1084(0x427)]()[_0x1f1084(0x989)]()[_0x1f1084(0xa51)]()[_0x1f1084(0x41a)])return _0x4daa3b['Y'][_0x1f1084(0xcd8)](_0x1f1084(0x270)),-0x1;this[_0x1f1084(0x679)](_0x1f1084(0x884),Array['isArray'](_0x4f9506)?_0x4f9506['length']:0x1);var _0x4e2116=this['_thinInstanceDataStorage'][_0x1f1084(0x832)];if(Array['isArray'](_0x4f9506)){for(let _0x2af85c=0x0;_0x2af85c<_0x4f9506['length'];++_0x2af85c)this[_0x1f1084(0x267)](this[_0x1f1084(0x16a)][_0x1f1084(0x832)]++,_0x4f9506[_0x2af85c],_0x2af85c===_0x4f9506[_0x1f1084(0x86e)]-0x1&&_0x12a683);}else this[_0x1f1084(0x267)](this[_0x1f1084(0x16a)][_0x1f1084(0x832)]++,_0x4f9506,_0x12a683);return _0x4e2116;},_0x35cc0b['Kj'][_0x1d8a48(0x85a)][_0x1d8a48(0x4da)]=function(_0x3ce430=!0x0){var _0x10fda6=_0x1d8a48;return this[_0x10fda6(0xb0b)](_0x2e83b7['y3']['IdentityReadOnly'],_0x3ce430);},_0x35cc0b['Kj'][_0x1d8a48(0x85a)]['thinInstanceRegisterAttribute']=function(_0x16cd56,_0x2fec75){var _0x31484c=_0x1d8a48;_0x16cd56===_0x33c9d5['o'][_0x31484c(0x94a)]&&(_0x16cd56=_0x33c9d5['o'][_0x31484c(0x212)]),this[_0x31484c(0x354)](_0x16cd56),this[_0x31484c(0x6e5)](),this[_0x31484c(0x33d)][_0x31484c(0xaca)][_0x16cd56]=_0x2fec75,this[_0x31484c(0x33d)][_0x31484c(0xcaa)][_0x16cd56]=_0x2fec75*Math[_0x31484c(0x713)](0x20,this[_0x31484c(0x16a)][_0x31484c(0x832)]),this['_userThinInstanceBuffersStorage']['data'][_0x16cd56]=new Float32Array(this['_userThinInstanceBuffersStorage'][_0x31484c(0xcaa)][_0x16cd56]),this['_userThinInstanceBuffersStorage'][_0x31484c(0x6f8)][_0x16cd56]=new _0x33c9d5['o'](this['getEngine'](),this['_userThinInstanceBuffersStorage']['data'][_0x16cd56],_0x16cd56,!0x0,!0x1,_0x2fec75,!0x0),this[_0x31484c(0xc15)](this[_0x31484c(0x33d)][_0x31484c(0x6f8)][_0x16cd56]);},_0x35cc0b['Kj'][_0x1d8a48(0x85a)][_0x1d8a48(0x267)]=function(_0x414f3c,_0x895bed,_0x478da6=!0x0){var _0x3335dd=_0x1d8a48;if(!this[_0x3335dd(0x16a)][_0x3335dd(0x8df)]||_0x414f3c>=this[_0x3335dd(0x16a)]['instancesCount'])return!0x1;var _0x1010d5=this[_0x3335dd(0x16a)]['matrixData'];return _0x895bed[_0x3335dd(0xabd)](_0x1010d5,0x10*_0x414f3c),this['_thinInstanceDataStorage'][_0x3335dd(0x36e)]&&(this['_thinInstanceDataStorage'][_0x3335dd(0x36e)][_0x414f3c]=_0x895bed),_0x478da6&&(this['thinInstanceBufferUpdated'](_0x3335dd(0x884)),this['doNotSyncBoundingInfo']||this[_0x3335dd(0x3c4)](!0x1)),!0x0;},_0x35cc0b['Kj']['prototype']['thinInstanceSetAttributeAt']=function(_0x17152a,_0x1f6a1a,_0x16bdf6,_0x5c5ebb=!0x0){var _0x3f04bc=_0x1d8a48;return _0x17152a===_0x33c9d5['o'][_0x3f04bc(0x94a)]&&(_0x17152a=_0x33c9d5['o'][_0x3f04bc(0x212)]),!(!this[_0x3f04bc(0x33d)]||!this[_0x3f04bc(0x33d)][_0x3f04bc(0x206)][_0x17152a]||_0x1f6a1a>=this['_thinInstanceDataStorage'][_0x3f04bc(0x832)]||(this[_0x3f04bc(0x679)](_0x17152a,0x0),this[_0x3f04bc(0x33d)][_0x3f04bc(0x206)][_0x17152a][_0x3f04bc(0x83f)](_0x16bdf6,_0x1f6a1a*this[_0x3f04bc(0x33d)][_0x3f04bc(0xaca)][_0x17152a]),_0x5c5ebb&&this[_0x3f04bc(0x95f)](_0x17152a),0x0));},Object['defineProperty'](_0x35cc0b['Kj'][_0x1d8a48(0x85a)],_0x1d8a48(0x785),{'get':function(){var _0x1c6196=_0x1d8a48;return this['_thinInstanceDataStorage'][_0x1c6196(0x832)];},'set':function(_0x2ef397){var _0x443fc3=_0x1d8a48,_0x2d37df=null!=(_0x2d37df=this[_0x443fc3(0x16a)]['matrixData'])?_0x2d37df:null==(_0x2d37df=this[_0x443fc3(0x7a1)])?void 0x0:_0x2d37df[_0x443fc3(0x16a)][_0x443fc3(0x8df)];_0x2ef397<=(_0x2d37df?_0x2d37df[_0x443fc3(0x86e)]/0x10:0x0)&&(this[_0x443fc3(0x16a)][_0x443fc3(0x832)]=_0x2ef397);},'enumerable':!0x0,'configurable':!0x0}),_0x35cc0b['Kj'][_0x1d8a48(0x85a)]['_thinInstanceCreateMatrixBuffer']=function(_0x40a028,_0x1935fd,_0x20ea24=!0x1){var _0x18b209=_0x1d8a48;_0x40a028===_0x33c9d5['o'][_0x18b209(0x94a)]&&(_0x40a028=_0x33c9d5['o'][_0x18b209(0x212)]);const _0x33f0d8=new _0x33c9d5['l'](this['getEngine'](),_0x1935fd,!_0x20ea24,0x10,!0x1,!0x0);for(let _0x40c56=0x0;_0x40c56<0x4;_0x40c56++)this['setVerticesBuffer'](_0x33f0d8[_0x18b209(0x519)](_0x40a028+_0x40c56,0x4*_0x40c56,0x4));return _0x33f0d8;},_0x35cc0b['Kj']['prototype']['thinInstanceSetBuffer']=function(_0x3a474b,_0x55746e,_0x51bb3c=0x0,_0x160d69=!0x1){var _0x3ca18c=_0x1d8a48,_0x12cab6;_0x51bb3c=_0x51bb3c||0x10,'matrix'===_0x3a474b?(null!=(_0x12cab6=this[_0x3ca18c(0x16a)]['matrixBuffer'])&&_0x12cab6['dispose'](),this[_0x3ca18c(0x16a)][_0x3ca18c(0x434)]=null,this[_0x3ca18c(0x16a)][_0x3ca18c(0x578)]=_0x55746e?_0x55746e[_0x3ca18c(0x86e)]:0x20*_0x51bb3c,this['_thinInstanceDataStorage'][_0x3ca18c(0x8df)]=_0x55746e,(this[_0x3ca18c(0x16a)][_0x3ca18c(0x36e)]=null)!==_0x55746e?(this[_0x3ca18c(0x16a)]['instancesCount']=_0x55746e['length']/_0x51bb3c,this[_0x3ca18c(0x16a)][_0x3ca18c(0x434)]=this['_thinInstanceCreateMatrixBuffer']('world',_0x55746e,_0x160d69),this[_0x3ca18c(0x60f)]||this[_0x3ca18c(0x3c4)](!0x1)):(this[_0x3ca18c(0x16a)][_0x3ca18c(0x832)]=0x0,this[_0x3ca18c(0x60f)]||this['refreshBoundingInfo']())):'previousMatrix'===_0x3a474b?(null!=(_0x12cab6=this['_thinInstanceDataStorage'][_0x3ca18c(0xaaf)])&&_0x12cab6[_0x3ca18c(0x1cb)](),(this[_0x3ca18c(0x16a)][_0x3ca18c(0xaaf)]=null)!==(this['_thinInstanceDataStorage']['previousMatrixData']=_0x55746e)&&(this['_thinInstanceDataStorage'][_0x3ca18c(0xaaf)]=this[_0x3ca18c(0xae7)](_0x3ca18c(0x4d0),_0x55746e,_0x160d69))):(_0x3a474b===_0x33c9d5['o']['ColorKind']&&(_0x3a474b=_0x33c9d5['o'][_0x3ca18c(0x212)]),null===_0x55746e?null!=(_0x12cab6=this['_userThinInstanceBuffersStorage'])&&_0x12cab6[_0x3ca18c(0x206)][_0x3a474b]&&(this[_0x3ca18c(0x354)](_0x3a474b),delete this[_0x3ca18c(0x33d)][_0x3ca18c(0x206)][_0x3a474b],delete this[_0x3ca18c(0x33d)][_0x3ca18c(0xaca)][_0x3a474b],delete this[_0x3ca18c(0x33d)][_0x3ca18c(0xcaa)][_0x3a474b],delete this[_0x3ca18c(0x33d)][_0x3ca18c(0x6f8)][_0x3a474b]):(this[_0x3ca18c(0x6e5)](),this[_0x3ca18c(0x33d)][_0x3ca18c(0x206)][_0x3a474b]=_0x55746e,this[_0x3ca18c(0x33d)][_0x3ca18c(0xaca)][_0x3a474b]=_0x51bb3c,this[_0x3ca18c(0x33d)][_0x3ca18c(0xcaa)][_0x3a474b]=_0x55746e[_0x3ca18c(0x86e)],this['_userThinInstanceBuffersStorage']['vertexBuffers'][_0x3a474b]=new _0x33c9d5['o'](this[_0x3ca18c(0x989)](),_0x55746e,_0x3a474b,!_0x160d69,!0x1,_0x51bb3c,!0x0),this[_0x3ca18c(0xc15)](this['_userThinInstanceBuffersStorage']['vertexBuffers'][_0x3a474b])));},_0x35cc0b['Kj']['prototype'][_0x1d8a48(0x95f)]=function(_0x434337){var _0x2e75c9=_0x1d8a48,_0x34e085;_0x2e75c9(0x884)===_0x434337?null!=(_0x34e085=this[_0x2e75c9(0x16a)][_0x2e75c9(0x434)])&&_0x34e085[_0x2e75c9(0x1e5)](this[_0x2e75c9(0x16a)]['matrixData'],0x0,this[_0x2e75c9(0x16a)][_0x2e75c9(0x832)]):_0x2e75c9(0x935)===_0x434337?null!=(_0x34e085=this[_0x2e75c9(0x16a)][_0x2e75c9(0xaaf)])&&_0x34e085[_0x2e75c9(0x1e5)](this[_0x2e75c9(0x16a)][_0x2e75c9(0xa5e)],0x0,this['_thinInstanceDataStorage'][_0x2e75c9(0x832)]):(_0x434337===_0x33c9d5['o'][_0x2e75c9(0x94a)]&&(_0x434337=_0x33c9d5['o']['ColorInstanceKind']),null!=(_0x34e085=this[_0x2e75c9(0x33d)])&&_0x34e085[_0x2e75c9(0x6f8)][_0x434337]&&this[_0x2e75c9(0x33d)]['vertexBuffers'][_0x434337][_0x2e75c9(0x1e5)](this[_0x2e75c9(0x33d)][_0x2e75c9(0x206)][_0x434337],0x0));},_0x35cc0b['Kj'][_0x1d8a48(0x85a)]['thinInstancePartialBufferUpdate']=function(_0x35876f,_0x17614a,_0x1a16ab){var _0x50e7e9=_0x1d8a48,_0x40a0f5;_0x50e7e9(0x884)===_0x35876f?this[_0x50e7e9(0x16a)][_0x50e7e9(0x434)]&&this['_thinInstanceDataStorage'][_0x50e7e9(0x434)][_0x50e7e9(0x1e5)](_0x17614a,_0x1a16ab):(_0x35876f===_0x33c9d5['o'][_0x50e7e9(0x94a)]&&(_0x35876f=_0x33c9d5['o'][_0x50e7e9(0x212)]),null!=(_0x40a0f5=this[_0x50e7e9(0x33d)])&&_0x40a0f5['vertexBuffers'][_0x35876f]&&this['_userThinInstanceBuffersStorage'][_0x50e7e9(0x6f8)][_0x35876f][_0x50e7e9(0x1e5)](_0x17614a,_0x1a16ab));},_0x35cc0b['Kj']['prototype'][_0x1d8a48(0x3d7)]=function(){var _0x15c847=_0x1d8a48;if(!this[_0x15c847(0x16a)][_0x15c847(0x8df)]||!this[_0x15c847(0x16a)][_0x15c847(0x434)])return[];var _0x22cb2f=this['_thinInstanceDataStorage']['matrixData'];if(!this['_thinInstanceDataStorage'][_0x15c847(0x36e)]){this[_0x15c847(0x16a)][_0x15c847(0x36e)]=new Array();for(let _0x483a98=0x0;_0x483a98<this[_0x15c847(0x16a)]['instancesCount'];++_0x483a98)this['_thinInstanceDataStorage'][_0x15c847(0x36e)][_0x483a98]=_0x2e83b7['y3'][_0x15c847(0x98b)](_0x22cb2f,0x10*_0x483a98);}return this['_thinInstanceDataStorage']['worldMatrices'];},_0x35cc0b['Kj'][_0x1d8a48(0x85a)]['thinInstanceRefreshBoundingInfo']=function(_0x2750d1=!0x1,_0x5a7c55=!0x1,_0xa7f748=!0x1){var _0x5d1dfa=_0x1d8a48;if(this[_0x5d1dfa(0x16a)][_0x5d1dfa(0x8df)]&&this[_0x5d1dfa(0x16a)][_0x5d1dfa(0x434)]){const _0x2ed9f1=this['_thinInstanceDataStorage'][_0x5d1dfa(0xc19)];if(_0x2750d1||!this[_0x5d1dfa(0xd50)]){_0x2ed9f1[_0x5d1dfa(0x86e)]=0x0,this[_0x5d1dfa(0x7f9)](_0x5a7c55,_0xa7f748);const _0x51c131=this[_0x5d1dfa(0x6c7)]();this[_0x5d1dfa(0xd50)]=new _0x55d2c3['j'](_0x51c131['minimum'],_0x51c131[_0x5d1dfa(0x1ea)]);}const _0x17a9a8=this[_0x5d1dfa(0x6c7)]();var _0x179fdc=this[_0x5d1dfa(0x16a)][_0x5d1dfa(0x8df)];if(0x0===_0x2ed9f1[_0x5d1dfa(0x86e)]){for(let _0x35be4b=0x0;_0x35be4b<_0x17a9a8[_0x5d1dfa(0x523)]['vectors'][_0x5d1dfa(0x86e)];++_0x35be4b)_0x2ed9f1[_0x5d1dfa(0x303)](_0x17a9a8[_0x5d1dfa(0x523)][_0x5d1dfa(0x601)][_0x35be4b][_0x5d1dfa(0x6cd)]());}_0x2e83b7['jp'][_0x5d1dfa(0x708)][0x0][_0x5d1dfa(0xa69)](Number[_0x5d1dfa(0xaff)]),_0x2e83b7['jp'][_0x5d1dfa(0x708)][0x1][_0x5d1dfa(0xa69)](Number[_0x5d1dfa(0x472)]);for(let _0x3a10a6=0x0;_0x3a10a6<this[_0x5d1dfa(0x16a)]['instancesCount'];++_0x3a10a6){_0x2e83b7['y3'][_0x5d1dfa(0xaba)](_0x179fdc,0x10*_0x3a10a6,_0x2e83b7['jp'][_0x5d1dfa(0x872)][0x0]);for(let _0x20bb8b=0x0;_0x20bb8b<_0x2ed9f1[_0x5d1dfa(0x86e)];++_0x20bb8b)_0x2e83b7['P'][_0x5d1dfa(0x698)](_0x2ed9f1[_0x20bb8b],_0x2e83b7['jp']['Matrix'][0x0],_0x2e83b7['jp'][_0x5d1dfa(0x708)][0x2]),_0x2e83b7['jp']['Vector3'][0x0][_0x5d1dfa(0xc6f)](_0x2e83b7['jp']['Vector3'][0x2]),_0x2e83b7['jp'][_0x5d1dfa(0x708)][0x1]['maximizeInPlace'](_0x2e83b7['jp'][_0x5d1dfa(0x708)][0x2]);}_0x17a9a8['reConstruct'](_0x2e83b7['jp'][_0x5d1dfa(0x708)][0x0],_0x2e83b7['jp'][_0x5d1dfa(0x708)][0x1]),this[_0x5d1dfa(0x973)]();}},_0x35cc0b['Kj'][_0x1d8a48(0x85a)][_0x1d8a48(0x679)]=function(_0x2b6e8,_0x535118=0x1){var _0x1605a9=_0x1d8a48,_0x4765c3=_0x1605a9(0x884)===(_0x2b6e8=_0x2b6e8===_0x33c9d5['o'][_0x1605a9(0x94a)]?_0x33c9d5['o'][_0x1605a9(0x212)]:_0x2b6e8);if(_0x4765c3||this[_0x1605a9(0x33d)]&&this[_0x1605a9(0x33d)][_0x1605a9(0xaca)][_0x2b6e8]){var _0x49d3d6=_0x4765c3?0x10:this[_0x1605a9(0x33d)][_0x1605a9(0xaca)][_0x2b6e8],_0x1db6fe=_0x4765c3?this[_0x1605a9(0x16a)]['matrixBufferSize']:this[_0x1605a9(0x33d)][_0x1605a9(0xcaa)][_0x2b6e8];let _0x4d35bc=_0x4765c3?this[_0x1605a9(0x16a)][_0x1605a9(0x8df)]:this[_0x1605a9(0x33d)]['data'][_0x2b6e8];var _0x577f64=(this[_0x1605a9(0x16a)]['instancesCount']+_0x535118)*_0x49d3d6;let _0x5c5611=_0x1db6fe;for(;_0x5c5611<_0x577f64;)_0x5c5611*=0x2;if(!_0x4d35bc||_0x1db6fe!=_0x5c5611){if(_0x4d35bc){const _0x1868e4=new Float32Array(_0x5c5611);_0x1868e4[_0x1605a9(0x83f)](_0x4d35bc,0x0),_0x4d35bc=_0x1868e4;}else _0x4d35bc=new Float32Array(_0x5c5611);_0x4765c3?(null!=(_0x535118=this[_0x1605a9(0x16a)][_0x1605a9(0x434)])&&_0x535118[_0x1605a9(0x1cb)](),this[_0x1605a9(0x16a)][_0x1605a9(0x434)]=this[_0x1605a9(0xae7)](_0x1605a9(0x6fb),_0x4d35bc,!0x1),this[_0x1605a9(0x16a)]['matrixData']=_0x4d35bc,this[_0x1605a9(0x16a)][_0x1605a9(0x578)]=_0x5c5611,this[_0x1605a9(0x851)][_0x1605a9(0x748)]&&!this['_thinInstanceDataStorage']['previousMatrixData']&&(null!=(_0x1db6fe=this['_thinInstanceDataStorage'][_0x1605a9(0xaaf)])&&_0x1db6fe['dispose'](),this[_0x1605a9(0x16a)]['previousMatrixBuffer']=this['_thinInstanceCreateMatrixBuffer'](_0x1605a9(0x4d0),_0x4d35bc,!0x1))):(null!=(_0x4765c3=this[_0x1605a9(0x33d)][_0x1605a9(0x6f8)][_0x2b6e8])&&_0x4765c3[_0x1605a9(0x1cb)](),this[_0x1605a9(0x33d)][_0x1605a9(0x206)][_0x2b6e8]=_0x4d35bc,this[_0x1605a9(0x33d)][_0x1605a9(0xcaa)][_0x2b6e8]=_0x5c5611,this[_0x1605a9(0x33d)][_0x1605a9(0x6f8)][_0x2b6e8]=new _0x33c9d5['o'](this[_0x1605a9(0x989)](),_0x4d35bc,_0x2b6e8,!0x0,!0x1,_0x49d3d6,!0x0),this[_0x1605a9(0xc15)](this[_0x1605a9(0x33d)][_0x1605a9(0x6f8)][_0x2b6e8]));}}},_0x35cc0b['Kj']['prototype'][_0x1d8a48(0x6e5)]=function(){var _0x45de86=_0x1d8a48;this['_userThinInstanceBuffersStorage']||(this[_0x45de86(0x33d)]={'data':{},'sizes':{},'vertexBuffers':{},'strides':{}});},_0x35cc0b['Kj'][_0x1d8a48(0x85a)][_0x1d8a48(0x81f)]=function(){var _0x58e768=_0x1d8a48,_0x2f40fd;null!=(_0x2f40fd=this[_0x58e768(0x16a)])&&_0x2f40fd['matrixBuffer']&&(this['_thinInstanceDataStorage'][_0x58e768(0x434)][_0x58e768(0x1cb)](),this['_thinInstanceDataStorage']['matrixBuffer']=null);};},0x11b46:(_0x5242c1,_0x99894b,_0x2d35da)=>{var _0xc33c96=a7_0x425593;_0x2d35da['d'](_0x99894b,{'s':()=>_0x128da4});class _0x128da4{constructor(_0x41bd5d){var _0x481623=a7_0x5572;this[_0x481623(0xab8)]=new Float32Array(_0x41bd5d),this[_0x481623(0xa75)]=0x0;}get['itemLength'](){var _0x4676b6=a7_0x5572;return this[_0x4676b6(0xa75)];}['at'](_0x278427){var _0x4b5c9a=a7_0x5572;return _0x278427<0x0||_0x278427>=this[_0x4b5c9a(0xa75)]?NaN:this[_0x4b5c9a(0xab8)][_0x278427];}['subarray'](_0x584c6f,_0x24673d){var _0x1c6eaf=a7_0x5572;return _0x24673d<=_0x584c6f||_0x584c6f<0x0?new Float32Array(0x0):(_0x24673d>this[_0x1c6eaf(0xa75)]&&(_0x24673d=this[_0x1c6eaf(0xa75)]),this[_0x1c6eaf(0xab8)][_0x1c6eaf(0x521)](_0x584c6f,_0x24673d));}[_0xc33c96(0x303)](_0x540e4a){var _0xc4d721=_0xc33c96;this['_view'][this['_itemLength']]=_0x540e4a,this[_0xc4d721(0xa75)]++,this[_0xc4d721(0xa75)]>=this['_view'][_0xc4d721(0x86e)]&&this['_growArray']();}[_0xc33c96(0x47f)](){var _0x2a08ea=_0xc33c96,_0x124578=Math[_0x2a08ea(0x860)](1.5*this['_view']['length']);const _0x2188f2=new Float32Array(_0x124578);_0x2188f2[_0x2a08ea(0x83f)](this[_0x2a08ea(0xab8)]),this[_0x2a08ea(0xab8)]=_0x2188f2;}}},0x13e71:(_0x5abebf,_0x37ee7f,_0x4afa11)=>{var _0x4f8571=a7_0x425593,_0x5d7254=_0x4afa11(0x1446b),_0xf3b6c1=_0x4afa11(0xf75);_0x5d7254['x'][_0x4f8571(0x85a)]['getPerfCollector']=function(){var _0x5cc560=_0x4f8571;return this[_0x5cc560(0x9e9)]||(this[_0x5cc560(0x9e9)]=new _0xf3b6c1['P'](this)),this['_perfCollector'];};},0x17a1c:(_0x34708d,_0x1f5bc4,_0x2c8907)=>{var _0x35cfc5=a7_0x425593;_0x2c8907['d'](_0x1f5bc4,{'q':()=>_0x317cb6});class _0x317cb6{static[_0x35cfc5(0x896)](_0x17aa44,_0x437dc6){var _0x5d3f9d=_0x35cfc5;return _0x5d3f9d(0xcb1)===(_0x17aa44=_0x17aa44['match'](/\([^()]*\)/g)?_0x17aa44[_0x5d3f9d(0x8fd)](/\([^()]*\)/g,_0x5012e6=>(_0x5012e6=_0x5012e6[_0x5d3f9d(0x8be)](0x1,_0x5012e6['length']-0x1),_0x317cb6['_HandleParenthesisContent'](_0x5012e6,_0x437dc6))):_0x317cb6[_0x5d3f9d(0x59f)](_0x17aa44,_0x437dc6))||_0x5d3f9d(0x47d)!==_0x17aa44&&_0x317cb6[_0x5d3f9d(0x896)](_0x17aa44,_0x437dc6);}static[_0x35cfc5(0x59f)](_0x48ac52,_0xfda238){var _0x5cb00a=_0x35cfc5;_0xfda238=_0xfda238||(_0x4f2de8=>_0x5cb00a(0xcb1)===_0x4f2de8);let _0x2296c6;const _0x334c94=_0x48ac52['split']('||');for(const _0x5b11c0 in _0x334c94)if(Object[_0x5cb00a(0x85a)][_0x5cb00a(0xc49)][_0x5cb00a(0x9e2)](_0x334c94,_0x5b11c0)){let _0x330113=_0x317cb6['_SimplifyNegation'](_0x334c94[_0x5b11c0][_0x5cb00a(0xbe2)]());const _0xa87566=_0x330113[_0x5cb00a(0x9de)]('&&');if(0x1<_0xa87566[_0x5cb00a(0x86e)])for(let _0x49d5ac=0x0;_0x49d5ac<_0xa87566[_0x5cb00a(0x86e)];++_0x49d5ac){const _0x301675=_0x317cb6[_0x5cb00a(0x43a)](_0xa87566[_0x49d5ac][_0x5cb00a(0xbe2)]());if(!(_0x2296c6=_0x5cb00a(0xcb1)!==_0x301675&&_0x5cb00a(0x47d)!==_0x301675?'!'===_0x301675[0x0]?!_0xfda238(_0x301675[_0x5cb00a(0x5e0)](0x1)):_0xfda238(_0x301675):_0x5cb00a(0xcb1)===_0x301675)){_0x330113='false';break;}}if(_0x2296c6||_0x5cb00a(0xcb1)===_0x330113){_0x2296c6=!0x0;break;}_0x2296c6='true'!==_0x330113&&_0x5cb00a(0x47d)!==_0x330113?'!'===_0x330113[0x0]?!_0xfda238(_0x330113[_0x5cb00a(0x5e0)](0x1)):_0xfda238(_0x330113):_0x5cb00a(0xcb1)===_0x330113;}return _0x2296c6?_0x5cb00a(0xcb1):_0x5cb00a(0x47d);}static[_0x35cfc5(0x43a)](_0x20e23c){var _0x24d26e=_0x35cfc5;return _0x24d26e(0x95d)===(_0x20e23c=(_0x20e23c=_0x20e23c[_0x24d26e(0x8fd)](/^[\s!]+/,_0x4f1f3b=>(_0x4f1f3b=_0x4f1f3b[_0x24d26e(0x8fd)](/[\s]/g,()=>''))[_0x24d26e(0x86e)]%0x2?'!':''))[_0x24d26e(0xbe2)]())?_0x20e23c=_0x24d26e(0x47d):_0x24d26e(0x613)===_0x20e23c&&(_0x20e23c='true'),_0x20e23c;}}},0x5898:(_0x484301,_0x1dac1c,_0x19c5a5)=>{var _0x1f928e=a7_0x425593;_0x19c5a5['d'](_0x1dac1c,{'B':()=>_0x79f673,'M':()=>function(_0xffa122,_0x10dbcf){var _0x2d5116=a7_0x5572;const _0x35be44=_0x4a168a[_0x2d5116(0x61e)](_0x1c88d7=>{var _0x442950=_0x2d5116;{var _0x646fd7=_0xffa122,_0x3c5ecd=_0x1c88d7,_0x32860d=_0x10dbcf;const _0x1fe328=_0x646fd7[_0x3c5ecd];return _0x442950(0xbd4)!=typeof _0x1fe328?null:((_0x1fe328[_0x442950(0x291)]=_0x440300)[_0x442950(0x5ff)]=_0x1fe328,_0x646fd7[_0x3c5ecd]=_0x440300,()=>{var _0x446e71=_0x442950;const _0x571f27=_0x440300[_0x446e71(0x5ff)];if(_0x571f27){const _0x55bf33=_0x440300['next'];_0x55bf33?(_0x571f27[_0x446e71(0x291)]=_0x55bf33)[_0x446e71(0x5ff)]=_0x571f27:(_0x571f27[_0x446e71(0x291)]=void 0x0,_0x646fd7[_0x3c5ecd]=_0x571f27),_0x440300[_0x446e71(0x291)]=void 0x0,_0x440300[_0x446e71(0x5ff)]=void 0x0;}});function _0x440300(){var _0x164d3e=_0x442950,_0x4c07c7=_0x646fd7['length'],_0x40cc6a=_0x440300[_0x164d3e(0x5ff)][_0x164d3e(0x576)](_0x646fd7,arguments);return _0x32860d(_0x3c5ecd,_0x4c07c7),_0x40cc6a;}}});return()=>{var _0x5d36c1=_0x2d5116;_0x35be44[_0x5d36c1(0x92e)](_0x250876=>{null!=_0x250876&&_0x250876();});};}});class _0x79f673{static[_0x1f928e(0xa4d)](_0x368000,_0x1555ea){const _0x43fb3c=[];for(let _0x36ff84=0x0;_0x36ff84<_0x368000;++_0x36ff84)_0x43fb3c['push'](_0x1555ea());return _0x43fb3c;}static[_0x1f928e(0xcba)](_0x263430,_0x8bc5a3){var _0xdb057d=_0x1f928e;return _0x79f673[_0xdb057d(0xa4d)](_0x263430,_0x8bc5a3);}}const _0x4a168a=[_0x1f928e(0x303),_0x1f928e(0x468),_0x1f928e(0xa8a),_0x1f928e(0xc65),_0x1f928e(0xd33)];},0x75be:(_0x519651,_0x56b372,_0x26cf35)=>{_0x26cf35['d'](_0x56b372,{'AW':()=>function(_0x5bfae6){var _0x5c981d=a7_0x5572;return _0x5bfae6['replace'](/[.*+?^${}()|[\]\\]/g,_0x5c981d(0x8a9));},'Kt':()=>function(_0x1f1d58){var _0x21f50c=a7_0x5572;let _0x18a96e=0x0,_0x572b4f='',_0x4172d9=!0x1;const _0x41463a=[];for(;_0x18a96e<_0x1f1d58[_0x21f50c(0x86e)];){var _0x4e8d18,_0x173dec=_0x1f1d58[_0x21f50c(0x8bc)](_0x18a96e);if(_0x572b4f)_0x173dec===_0x572b4f?'\x22'===_0x572b4f||'\x27'===_0x572b4f?('\x5c'!==_0x1f1d58[_0x21f50c(0x8bc)](_0x18a96e-0x1)&&(_0x572b4f=''),_0x41463a['push'](_0x173dec)):(_0x572b4f='',_0x4172d9=!0x1):'*/'===_0x572b4f&&'*'===_0x173dec&&_0x18a96e+0x1<_0x1f1d58[_0x21f50c(0x86e)]?''===(_0x572b4f='/'===_0x1f1d58[_0x21f50c(0x8bc)](_0x18a96e+0x1)?'':_0x572b4f)&&(_0x4172d9=!0x1,_0x18a96e++):_0x4172d9||_0x41463a['push'](_0x173dec);else{switch(_0x173dec){case'\x22':case'\x27':case'`':_0x572b4f=_0x173dec;break;case'/':_0x18a96e+0x1<_0x1f1d58[_0x21f50c(0x86e)]&&('/'===(_0x4e8d18=_0x1f1d58[_0x21f50c(0x8bc)](_0x18a96e+0x1))?(_0x572b4f='\x0a',_0x4172d9=!0x0):'*'===_0x4e8d18&&(_0x572b4f='*/',_0x4172d9=!0x0));}_0x4172d9||_0x41463a['push'](_0x173dec);}_0x18a96e++;}return _0x41463a['join']('');},'Pm':()=>function(_0x21d5a1,_0x1c3748){var _0x292390=a7_0x5572;for(;_0x1c3748<_0x21d5a1[_0x292390(0x86e)];){var _0x2a4eaf=_0x21d5a1[_0x1c3748];if('\x20'!==_0x2a4eaf&&'\x0a'!==_0x2a4eaf&&'\x0d'!==_0x2a4eaf&&'\x09'!==_0x2a4eaf&&'\x0a'!==_0x2a4eaf&&'\u00a0'!==_0x2a4eaf)break;_0x1c3748++;}return _0x1c3748;},'uA':()=>function(_0x496c4f){var _0x397206=a7_0x5572;return _0x496c4f=_0x496c4f[_0x397206(0x52e)](0x0),0x30<=_0x496c4f&&_0x496c4f<=0x39||0x41<=_0x496c4f&&_0x496c4f<=0x5a||0x61<=_0x496c4f&&_0x496c4f<=0x7a||0x5f==_0x496c4f;},'vt':()=>function(_0x365ecc,_0x556a33,_0x1e9fc0,_0x5b97e5){var _0x14de01=a7_0x5572;let _0x30fa08=_0x5b97e5,_0x2cb622=0x0,_0x3b0189='';for(;_0x30fa08<_0x1e9fc0['length'];){var _0x4ddd19,_0x2896ed=_0x1e9fc0[_0x14de01(0x8bc)](_0x30fa08);if(_0x3b0189)_0x2896ed===_0x3b0189?('\x22'!==_0x3b0189&&'\x27'!==_0x3b0189||'\x5c'!==_0x1e9fc0[_0x14de01(0x8bc)](_0x30fa08-0x1))&&(_0x3b0189=''):'*/'===_0x3b0189&&'*'===_0x2896ed&&_0x30fa08+0x1<_0x1e9fc0[_0x14de01(0x86e)]&&''===(_0x3b0189='/'===_0x1e9fc0[_0x14de01(0x8bc)](_0x30fa08+0x1)?'':_0x3b0189)&&_0x30fa08++;else switch(_0x2896ed){case _0x365ecc:_0x2cb622++;break;case _0x556a33:_0x2cb622--;break;case'\x22':case'\x27':case'`':_0x3b0189=_0x2896ed;break;case'/':_0x30fa08+0x1<_0x1e9fc0['length']&&('/'===(_0x4ddd19=_0x1e9fc0[_0x14de01(0x8bc)](_0x30fa08+0x1))?_0x3b0189='\x0a':'*'===_0x4ddd19&&(_0x3b0189='*/'));}if(_0x30fa08++,0x0===_0x2cb622)break;}return 0x0===_0x2cb622?_0x30fa08-0x1:-0x1;},'wm':()=>function(_0x2395bb,_0x360ee7,_0x1ed63a){for(;0x0<=_0x360ee7&&_0x2395bb['charAt'](_0x360ee7)!==_0x1ed63a;)_0x360ee7--;return _0x360ee7;}});},0x15cb9:(_0xeebbc4,_0x46c71a,_0x5230ac)=>{_0x5230ac['d'](_0x46c71a,{'S':()=>function(_0x204c2e){var _0x509e47=a7_0x5572;return _0x204c2e+_0x509e47(0x813);}});},0x15d46:(_0x441687,_0x154f5d,_0x35f8d5)=>{var _0x3e0034=a7_0x425593;_0x35f8d5['d'](_0x154f5d,{'K':()=>_0x3d7c3f});var _0x39cca4=_0x35f8d5(0x10ea4),_0x33fb3f=_0x35f8d5(0xe456);class _0x3d7c3f{static[_0x3e0034(0x2d0)](_0x45752e){var _0x3a0b96=_0x3e0034;if(this[_0x3a0b96(0x8c6)]&&this[_0x3a0b96(0x8c6)][_0x45752e])return this[_0x3a0b96(0x8c6)][_0x45752e];var _0x355936=(0x0,_0x33fb3f['q'])(_0x45752e);if(_0x355936)return _0x355936;_0x39cca4['Y'][_0x3a0b96(0xcb2)](_0x45752e+_0x3a0b96(0x718));var _0x329a21=_0x45752e['split']('.');let _0x125186=window||this;for(let _0x5e6c0f=0x0,_0x522843=_0x329a21[_0x3a0b96(0x86e)];_0x5e6c0f<_0x522843;_0x5e6c0f++)_0x125186=_0x125186[_0x329a21[_0x5e6c0f]];return _0x3a0b96(0xbd4)!=typeof _0x125186?null:_0x125186;}}_0x3d7c3f['RegisteredExternalClasses']={};},0xd78e:(_0x3da1a9,_0x283d89,_0xd37fef)=>{var _0x48b920=a7_0x425593,_0x36a5bb=_0xd37fef(0xf96c),_0x4f6bca=_0xd37fef(0x9bf);_0x36a5bb['y$']['prototype'][_0x48b920(0x328)]=function(_0x3f2dda){var _0x41e2be=_0x48b920,_0x1863be;return this[_0x41e2be(0x24e)]||(_0x1863be=function(_0xd06818){var _0x46e796=_0x41e2be;const _0x27302e=new Array(),_0x3b6c82=new Array(),_0x35fcc2=new Array(),_0x3bcbaa=_0xd06818[_0x46e796(0x47e)](()=>{var _0x4fd8e4=_0x46e796,_0x246229=_0x27302e[_0x4fd8e4(0x86e)];for(let _0x538423=0x0;_0x538423<_0x246229;_0x538423++)(0x0,_0x4f6bca['WP'])(_0x27302e[_0x4fd8e4(0xc65)](),_0x3b6c82[_0x4fd8e4(0xc65)](),_0x35fcc2[_0x4fd8e4(0xc65)]());});return{'scheduler':(_0x9237fa,_0x478875,_0x5599c5)=>{var _0x77d9b8=_0x46e796;_0x27302e['push'](_0x9237fa),_0x3b6c82[_0x77d9b8(0x303)](_0x478875),_0x35fcc2[_0x77d9b8(0x303)](_0x5599c5);},'dispose':()=>{var _0x4844e5=_0x46e796;_0xd06818[_0x4844e5(0x9d7)](_0x3bcbaa);}};}(this),this[_0x41e2be(0x24e)]=_0x1863be[_0x41e2be(0x398)],this['_coroutineSchedulerDispose']=_0x1863be[_0x41e2be(0x1cb)]),(0x0,_0x4f6bca['sM'])(_0x3f2dda,this['_coroutineScheduler']);},_0x36a5bb['y$']['prototype'][_0x48b920(0xd5a)]=function(){var _0x2e2920=_0x48b920;this[_0x2e2920(0xb39)]&&this['_coroutineSchedulerDispose'](),this[_0x2e2920(0x24e)]=void 0x0,this[_0x2e2920(0xb39)]=void 0x0;};},0x1447:(_0x5e2840,_0x873cf1,_0x447771)=>{_0x447771['d'](_0x873cf1,{'b':()=>_0x5183b5});class _0x5183b5{static['ExponentialBackoff'](_0x9658c1=0x3,_0x27df2c=0x1f4){var _0x1b67f8=a7_0x5572;return(_0x20c349,_0x1a8016,_0x4a9716)=>0x0!==_0x1a8016[_0x1b67f8(0x68a)]||_0x9658c1<=_0x4a9716||-0x1!==_0x20c349[_0x1b67f8(0x9a3)](_0x1b67f8(0x5bc))?-0x1:Math[_0x1b67f8(0x6a4)](0x2,_0x4a9716)*_0x27df2c;}}},0x5de7:(_0x5414ab,_0x5c957a,_0x177985)=>{var _0x21cd7b=a7_0x425593;_0x177985['d'](_0x5c957a,{'x':()=>_0x49cf59});class _0x49cf59{constructor(){var _0x33335f=a7_0x5572;this[_0x33335f(0x75e)]=0x0,this[_0x33335f(0x854)]={};}['copyFrom'](_0x486c98){var _0x54d315=a7_0x5572;this['clear'](),_0x486c98[_0x54d315(0x92e)]((_0x29f2e4,_0x14624a)=>this['add'](_0x29f2e4,_0x14624a));}[_0x21cd7b(0x7aa)](_0x281ced){var _0x3045ec=_0x21cd7b;_0x281ced=this[_0x3045ec(0x854)][_0x281ced];if(void 0x0!==_0x281ced)return _0x281ced;}['getOrAddWithFactory'](_0x11e74c,_0x3c4398){var _0x3b4085=_0x21cd7b;let _0x2fcb13=this[_0x3b4085(0x7aa)](_0x11e74c);return void 0x0===_0x2fcb13&&(_0x2fcb13=_0x3c4398(_0x11e74c))&&this['add'](_0x11e74c,_0x2fcb13),_0x2fcb13;}['getOrAdd'](_0x3fc76c,_0x5b8bd6){var _0x1a2dd6=_0x21cd7b,_0x38128f=this[_0x1a2dd6(0x7aa)](_0x3fc76c);return void 0x0!==_0x38128f?_0x38128f:(this[_0x1a2dd6(0x47e)](_0x3fc76c,_0x5b8bd6),_0x5b8bd6);}[_0x21cd7b(0x9d9)](_0x1e283a){return void 0x0!==this['_data'][_0x1e283a];}[_0x21cd7b(0x47e)](_0x1f2215,_0x1e767f){var _0x4269bf=_0x21cd7b;return void 0x0===this['_data'][_0x1f2215]&&(this[_0x4269bf(0x854)][_0x1f2215]=_0x1e767f,++this['_count'],!0x0);}[_0x21cd7b(0x83f)](_0x21fca6,_0x1463c0){return void 0x0!==this['_data'][_0x21fca6]&&(this['_data'][_0x21fca6]=_0x1463c0,!0x0);}['getAndRemove'](_0x3e9256){var _0x2bd5bc=_0x21cd7b,_0x3274ad=this['get'](_0x3e9256);return void 0x0!==_0x3274ad?(delete this['_data'][_0x3e9256],--this[_0x2bd5bc(0x75e)],_0x3274ad):null;}['remove'](_0x1666ca){var _0x5c0821=_0x21cd7b;return!!this['contains'](_0x1666ca)&&(delete this[_0x5c0821(0x854)][_0x1666ca],--this[_0x5c0821(0x75e)],!0x0);}['clear'](){var _0x30a8c6=_0x21cd7b;this[_0x30a8c6(0x854)]={},this[_0x30a8c6(0x75e)]=0x0;}get[_0x21cd7b(0x7db)](){var _0x25ceb0=_0x21cd7b;return this[_0x25ceb0(0x75e)];}[_0x21cd7b(0x92e)](_0x40b49e){var _0x19d2bc=_0x21cd7b;for(const _0x1c6ef0 in this['_data']){var _0x7ae23d=this[_0x19d2bc(0x854)][_0x1c6ef0];_0x40b49e(_0x1c6ef0,_0x7ae23d);}}[_0x21cd7b(0x4c9)](_0x421515){for(const _0x3912cf in this['_data']){var _0x596ad8=this['_data'][_0x3912cf],_0x596ad8=_0x421515(_0x3912cf,_0x596ad8);if(_0x596ad8)return _0x596ad8;}return null;}}},0x16361:(_0x14d00f,_0x404083,_0x19e23d)=>{var _0x164f6d=a7_0x425593;_0x19e23d['d'](_0x404083,{'$':()=>_0x58958c});var _0x2f9a42=_0x19e23d(0x17a1c);class _0x58958c{static['EnableFor'](_0x4e0693){var _0xce76ce=a7_0x5572;_0x4e0693[_0xce76ce(0x250)]=_0x4e0693[_0xce76ce(0x250)]||{},_0x4e0693['hasTags']=()=>_0x58958c[_0xce76ce(0x4e5)](_0x4e0693),_0x4e0693[_0xce76ce(0x965)]=_0x30c51b=>_0x58958c['AddTagsTo'](_0x4e0693,_0x30c51b),_0x4e0693[_0xce76ce(0x192)]=_0x1894ae=>_0x58958c['RemoveTagsFrom'](_0x4e0693,_0x1894ae),_0x4e0693[_0xce76ce(0x36f)]=_0x440b6f=>_0x58958c[_0xce76ce(0xa45)](_0x4e0693,_0x440b6f);}static[_0x164f6d(0x759)](_0x41f28f){var _0x32978b=_0x164f6d;delete _0x41f28f['_tags'],delete _0x41f28f[_0x32978b(0x30c)],delete _0x41f28f[_0x32978b(0x965)],delete _0x41f28f[_0x32978b(0x192)],delete _0x41f28f['matchesTagsQuery'];}static[_0x164f6d(0x4e5)](_0x1380ae){var _0x13f87f=_0x164f6d;if(!_0x1380ae[_0x13f87f(0x250)])return!0x1;var _0x475703=_0x1380ae[_0x13f87f(0x250)];for(const _0x338b4e in _0x475703)if(Object[_0x13f87f(0x85a)]['hasOwnProperty'][_0x13f87f(0x9e2)](_0x475703,_0x338b4e))return!0x0;return!0x1;}static[_0x164f6d(0x6b5)](_0x221563,_0x11e09b=!0x0){var _0x5574f5=_0x164f6d;if(!_0x221563[_0x5574f5(0x250)])return null;if(_0x11e09b){const _0x4add3e=[];for(const _0x498b45 in _0x221563[_0x5574f5(0x250)])Object[_0x5574f5(0x85a)][_0x5574f5(0xc49)][_0x5574f5(0x9e2)](_0x221563['_tags'],_0x498b45)&&!0x0===_0x221563[_0x5574f5(0x250)][_0x498b45]&&_0x4add3e[_0x5574f5(0x303)](_0x498b45);return _0x4add3e[_0x5574f5(0xa94)]('\x20');}return _0x221563['_tags'];}static[_0x164f6d(0x963)](_0x52cace,_0x52c0b1){var _0x1be99a=_0x164f6d;if(_0x52c0b1&&_0x1be99a(0x8ce)==typeof _0x52c0b1){const _0x4f9390=_0x52c0b1['split']('\x20');_0x4f9390[_0x1be99a(0x92e)](function(_0xd03224){_0x58958c['_AddTagTo'](_0x52cace,_0xd03224);});}}static[_0x164f6d(0x41f)](_0x393611,_0x26fdf2){var _0x2b6604=_0x164f6d;''===(_0x26fdf2=_0x26fdf2[_0x2b6604(0xbe2)]())||_0x2b6604(0xcb1)===_0x26fdf2||_0x2b6604(0x47d)===_0x26fdf2||_0x26fdf2[_0x2b6604(0x81a)](/[\s]/)||_0x26fdf2[_0x2b6604(0x81a)](/^([!]|([|]|[&]){2})/)||(_0x58958c[_0x2b6604(0xd71)](_0x393611),_0x393611[_0x2b6604(0x250)][_0x26fdf2]=!0x0);}static[_0x164f6d(0x216)](_0x551b3e,_0x494f55){var _0x6fb1f9=_0x164f6d;if(_0x58958c[_0x6fb1f9(0x4e5)](_0x551b3e)){var _0x45ef36=_0x494f55[_0x6fb1f9(0x9de)]('\x20');for(const _0x411e0d in _0x45ef36)_0x58958c[_0x6fb1f9(0x5fe)](_0x551b3e,_0x45ef36[_0x411e0d]);}}static[_0x164f6d(0x5fe)](_0x467b58,_0x42f258){var _0x101352=_0x164f6d;delete _0x467b58[_0x101352(0x250)][_0x42f258];}static['MatchesQuery'](_0x107924,_0x545522){var _0x4312a5=_0x164f6d;return void 0x0===_0x545522||(''===_0x545522?_0x58958c[_0x4312a5(0x4e5)](_0x107924):_0x2f9a42['q']['Eval'](_0x545522,_0x32a3a5=>_0x58958c[_0x4312a5(0x4e5)](_0x107924)&&_0x107924['_tags'][_0x32a3a5]));}}},0xd84a:(_0x21f902,_0x5b2d4f,_0x45b8e5)=>{_0x45b8e5['d'](_0x5b2d4f,{'Q':()=>_0x190b5e});var _0x912e49=_0x45b8e5(0x18233);class _0x190b5e{static['SetImmediate'](_0x248b41){var _0x55e342=a7_0x5572;(0x0,_0x912e49['CG'])()&&window[_0x55e342(0xd43)]?window[_0x55e342(0xd43)](_0x248b41):setTimeout(_0x248b41,0x1);}}},0xc98:(_0x118ba3,_0x5da744,_0x1b7a05)=>{var _0x5c5577=a7_0x425593;_0x1b7a05['d'](_0x5da744,{'L':()=>_0x332875});var _0x388e46=_0x1b7a05(0x1266b),_0x50746d=_0x1b7a05(0x9fd1),_0x1f4359=_0x1b7a05(0x1b5c);class _0x332875{constructor(_0x152af8=0x1,_0x29f5a7=Math['PI'],_0x564be2=0x0){var _0x5a5c14=a7_0x5572;this[_0x5a5c14(0x875)]=_0x564be2,this['radiusRange']=0x1,this[_0x5a5c14(0xc51)]=0x1,this[_0x5a5c14(0xb15)]=!0x1,this[_0x5a5c14(0x168)]=_0x29f5a7,this[_0x5a5c14(0x88e)]=_0x152af8;}get[_0x5c5577(0x88e)](){var _0x4358a0=_0x5c5577;return this[_0x4358a0(0xbfb)];}set[_0x5c5577(0x88e)](_0x57d77b){var _0x24ed04=_0x5c5577;this[_0x24ed04(0xbfb)]=_0x57d77b,this[_0x24ed04(0x3ae)]();}get[_0x5c5577(0x168)](){var _0x32cb15=_0x5c5577;return this[_0x32cb15(0xa33)];}set[_0x5c5577(0x168)](_0x32100f){var _0x2e91b4=_0x5c5577;this[_0x2e91b4(0xa33)]=_0x32100f,this[_0x2e91b4(0x3ae)]();}['_buildHeight'](){var _0x5414f8=_0x5c5577;0x0!==this[_0x5414f8(0xa33)]?this[_0x5414f8(0x7a7)]=this['_radius']/Math[_0x5414f8(0x1a9)](this[_0x5414f8(0xa33)]/0x2):this[_0x5414f8(0x7a7)]=0x1;}[_0x5c5577(0x6b2)](_0x44a9b3,_0x37b194,_0x30fef6,_0x4bf1ef){var _0x90a508=_0x5c5577;(_0x4bf1ef?_0x50746d['jp']['Vector3'][0x0]['copyFrom'](_0x30fef6[_0x90a508(0xd45)]):_0x30fef6[_0x90a508(0x406)][_0x90a508(0x1bf)](_0x44a9b3[_0x90a508(0x330)](),_0x50746d['jp'][_0x90a508(0x708)][0x0]))[_0x90a508(0x625)](),(_0x4bf1ef=_0x1f4359['R']['RandomRange'](0x0,this['directionRandomizer']),_0x30fef6=_0x1f4359['R'][_0x90a508(0xc39)](0x0,this['directionRandomizer']),_0x44a9b3=_0x1f4359['R'][_0x90a508(0xc39)](0x0,this[_0x90a508(0x875)])),(_0x37b194['x']=_0x50746d['jp'][_0x90a508(0x708)][0x0]['x']+_0x4bf1ef,_0x37b194['y']=_0x50746d['jp'][_0x90a508(0x708)][0x0]['y']+_0x30fef6,_0x37b194['z']=_0x50746d['jp']['Vector3'][0x0]['z']+_0x44a9b3,_0x37b194[_0x90a508(0x625)]());}['startPositionFunction'](_0x26c3eb,_0xaead8e,_0x19f2b8,_0x44b6f3){var _0x66063d=_0x5c5577,_0x4212ad=_0x1f4359['R']['RandomRange'](0x0,0x2*Math['PI']);let _0x26d646;_0x26d646=this[_0x66063d(0xb15)]?0.0001:0x1-(_0x26d646=_0x1f4359['R'][_0x66063d(0xc39)](0x0,this[_0x66063d(0xc51)]))*_0x26d646;var _0x336c92=this[_0x66063d(0xbfb)]-_0x1f4359['R']['RandomRange'](0x0,this[_0x66063d(0xbfb)]*this[_0x66063d(0x59e)]),_0x44c3b3=(_0x336c92*=_0x26d646)*Math[_0x66063d(0x677)](_0x4212ad),_0x336c92=_0x336c92*Math[_0x66063d(0x680)](_0x4212ad),_0x4212ad=_0x26d646*this[_0x66063d(0x7a7)];if(_0x44b6f3)return _0xaead8e['x']=_0x44c3b3,_0xaead8e['y']=_0x4212ad,void(_0xaead8e['z']=_0x336c92);_0x50746d['P']['TransformCoordinatesFromFloatsToRef'](_0x44c3b3,_0x4212ad,_0x336c92,_0x26c3eb,_0xaead8e);}[_0x5c5577(0x6cd)](){var _0xdf0512=_0x5c5577,_0x5f4de8=new _0x332875(this[_0xdf0512(0xbfb)],this[_0xdf0512(0xa33)],this[_0xdf0512(0x875)]);return _0x388e46['j'][_0xdf0512(0x608)](this,_0x5f4de8),_0x5f4de8;}[_0x5c5577(0x2f4)](_0x1efb1f){var _0xc51cf0=_0x5c5577;_0x1efb1f[_0xc51cf0(0x2ad)](_0xc51cf0(0x88e),this[_0xc51cf0(0xbfb)],this[_0xc51cf0(0x59e)]),_0x1efb1f[_0xc51cf0(0x89c)](_0xc51cf0(0xcfa),this[_0xc51cf0(0xa33)]),_0x1efb1f[_0xc51cf0(0x2ad)](_0xc51cf0(0x690),this['_height'],this[_0xc51cf0(0xc51)]),_0x1efb1f[_0xc51cf0(0x89c)](_0xc51cf0(0x875),this[_0xc51cf0(0x875)]);}[_0x5c5577(0xbb7)](_0x35830f){var _0x16ef0b=_0x5c5577;_0x35830f[_0x16ef0b(0x93a)](_0x16ef0b(0x88e),0x2),_0x35830f[_0x16ef0b(0x93a)](_0x16ef0b(0xcfa),0x1),_0x35830f[_0x16ef0b(0x93a)](_0x16ef0b(0x690),0x2),_0x35830f[_0x16ef0b(0x93a)](_0x16ef0b(0x875),0x1);}[_0x5c5577(0x98d)](){var _0x29befd=_0x5c5577;let _0x29c798=_0x29befd(0x63c);return this['emitFromSpawnPointOnly']&&(_0x29c798+=_0x29befd(0xbf3)),_0x29c798;}[_0x5c5577(0xa12)](){var _0x170b97=_0x5c5577;return _0x170b97(0x4d5);}[_0x5c5577(0xb4d)](){var _0x1aca68=_0x5c5577;const _0x222a96={};return _0x222a96[_0x1aca68(0x395)]=this[_0x1aca68(0xa12)](),_0x222a96[_0x1aca68(0x88e)]=this[_0x1aca68(0xbfb)],_0x222a96[_0x1aca68(0x168)]=this[_0x1aca68(0xa33)],_0x222a96[_0x1aca68(0x875)]=this[_0x1aca68(0x875)],_0x222a96['radiusRange']=this[_0x1aca68(0x59e)],_0x222a96[_0x1aca68(0xc51)]=this[_0x1aca68(0xc51)],_0x222a96[_0x1aca68(0xb15)]=this[_0x1aca68(0xb15)],_0x222a96;}[_0x5c5577(0xd68)](_0x1b31af){var _0x558c5c=_0x5c5577;this[_0x558c5c(0x88e)]=_0x1b31af[_0x558c5c(0x88e)],this[_0x558c5c(0x168)]=_0x1b31af['angle'],this[_0x558c5c(0x875)]=_0x1b31af[_0x558c5c(0x875)],this[_0x558c5c(0x59e)]=void 0x0!==_0x1b31af[_0x558c5c(0x59e)]?_0x1b31af[_0x558c5c(0x59e)]:0x1,this[_0x558c5c(0xc51)]=void 0x0!==_0x1b31af[_0x558c5c(0x59e)]?_0x1b31af[_0x558c5c(0xc51)]:0x1,this[_0x558c5c(0xb15)]=void 0x0!==_0x1b31af[_0x558c5c(0xb15)]&&_0x1b31af[_0x558c5c(0xb15)];}}},0x3694:(_0x2f2497,_0x784795,_0x546a3e)=>{var _0x63ce90=a7_0x425593;_0x546a3e['d'](_0x784795,{'k':()=>_0x4af61b,'z':()=>_0x51f552});var _0x27dcac=_0x546a3e(0x9fd1),_0x582b08=_0x546a3e(0x1b5c),_0x64dd01=_0x546a3e(0x1266b);class _0x4af61b{constructor(_0x48a2a2=0x1,_0x1184ef=0x1,_0x12f23e=0x1,_0x25125f=0x0){var _0x5dc381=a7_0x5572;this['radius']=_0x48a2a2,this[_0x5dc381(0x690)]=_0x1184ef,this[_0x5dc381(0x59e)]=_0x12f23e,this[_0x5dc381(0x875)]=_0x25125f,this[_0x5dc381(0x1e0)]=_0x27dcac['P'][_0x5dc381(0xa14)]();}['startDirectionFunction'](_0x195f0d,_0x1f955c,_0x157dea,_0x349f05,_0x11664d){var _0x1b3b5e=a7_0x5572;_0x157dea[_0x1b3b5e(0x406)][_0x1b3b5e(0x1bf)](_0x195f0d[_0x1b3b5e(0x330)](),this[_0x1b3b5e(0x1e0)]),this[_0x1b3b5e(0x1e0)][_0x1b3b5e(0x625)](),_0x27dcac['P'][_0x1b3b5e(0x224)](this[_0x1b3b5e(0x1e0)],_0x11664d,this[_0x1b3b5e(0x1e0)]),(_0x157dea=_0x582b08['R'][_0x1b3b5e(0xc39)](-this[_0x1b3b5e(0x875)]/0x2,this['directionRandomizer']/0x2),_0x11664d=Math[_0x1b3b5e(0x705)](this[_0x1b3b5e(0x1e0)]['x'],this[_0x1b3b5e(0x1e0)]['z'])),(_0x11664d+=_0x582b08['R'][_0x1b3b5e(0xc39)](-Math['PI']/0x2,Math['PI']/0x2)*this[_0x1b3b5e(0x875)],this[_0x1b3b5e(0x1e0)]['y']=_0x157dea,this[_0x1b3b5e(0x1e0)]['x']=Math[_0x1b3b5e(0x677)](_0x11664d),this[_0x1b3b5e(0x1e0)]['z']=Math['cos'](_0x11664d),this['_tempVector'][_0x1b3b5e(0x625)](),_0x349f05?_0x1f955c[_0x1b3b5e(0x9db)](this[_0x1b3b5e(0x1e0)]):_0x27dcac['P'][_0x1b3b5e(0x2de)](this['_tempVector']['x'],this[_0x1b3b5e(0x1e0)]['y'],this['_tempVector']['z'],_0x195f0d,_0x1f955c));}[_0x63ce90(0xa86)](_0x2082a3,_0xcace17,_0x33af1e,_0x534d9c){var _0x3ddc53=_0x63ce90,_0x5bcc6c=_0x582b08['R'][_0x3ddc53(0xc39)](-this['height']/0x2,this[_0x3ddc53(0x690)]/0x2),_0x30d4a7=_0x582b08['R'][_0x3ddc53(0xc39)](0x0,0x2*Math['PI']),_0x1aadbe=_0x582b08['R'][_0x3ddc53(0xc39)]((0x1-this[_0x3ddc53(0x59e)])*(0x1-this['radiusRange']),0x1),_0x1aadbe=Math['sqrt'](_0x1aadbe)*this[_0x3ddc53(0x88e)],_0x399e77=_0x1aadbe*Math[_0x3ddc53(0x680)](_0x30d4a7),_0x1aadbe=_0x1aadbe*Math[_0x3ddc53(0x677)](_0x30d4a7);_0x534d9c?_0xcace17[_0x3ddc53(0x642)](_0x399e77,_0x5bcc6c,_0x1aadbe):_0x27dcac['P'][_0x3ddc53(0x6e9)](_0x399e77,_0x5bcc6c,_0x1aadbe,_0x2082a3,_0xcace17);}[_0x63ce90(0x6cd)](){var _0x126d09=_0x63ce90,_0x5b2b1c=new _0x4af61b(this['radius'],this['directionRandomizer']);return _0x64dd01['j'][_0x126d09(0x608)](this,_0x5b2b1c),_0x5b2b1c;}[_0x63ce90(0x2f4)](_0x2ce882){var _0xdae939=_0x63ce90;_0x2ce882['setFloat'](_0xdae939(0x88e),this[_0xdae939(0x88e)]),_0x2ce882['setFloat'](_0xdae939(0x690),this[_0xdae939(0x690)]),_0x2ce882[_0xdae939(0x89c)]('radiusRange',this['radiusRange']),_0x2ce882[_0xdae939(0x89c)]('directionRandomizer',this['directionRandomizer']);}['buildUniformLayout'](_0x36edb9){var _0x316d08=_0x63ce90;_0x36edb9[_0x316d08(0x93a)](_0x316d08(0x88e),0x1),_0x36edb9[_0x316d08(0x93a)](_0x316d08(0x690),0x1),_0x36edb9[_0x316d08(0x93a)](_0x316d08(0x59e),0x1),_0x36edb9['addUniform'](_0x316d08(0x875),0x1);}[_0x63ce90(0x98d)](){return'#define\x20CYLINDEREMITTER';}[_0x63ce90(0xa12)](){var _0x58a0ab=_0x63ce90;return _0x58a0ab(0xcbb);}[_0x63ce90(0xb4d)](){var _0x403df0=_0x63ce90;const _0x1af605={};return _0x1af605[_0x403df0(0x395)]=this['getClassName'](),_0x1af605[_0x403df0(0x88e)]=this[_0x403df0(0x88e)],_0x1af605[_0x403df0(0x690)]=this[_0x403df0(0x690)],_0x1af605[_0x403df0(0x59e)]=this[_0x403df0(0x59e)],_0x1af605[_0x403df0(0x875)]=this[_0x403df0(0x875)],_0x1af605;}[_0x63ce90(0xd68)](_0x4ffc8f){var _0x34b3ac=_0x63ce90;this[_0x34b3ac(0x88e)]=_0x4ffc8f[_0x34b3ac(0x88e)],this[_0x34b3ac(0x690)]=_0x4ffc8f['height'],this[_0x34b3ac(0x59e)]=_0x4ffc8f[_0x34b3ac(0x59e)],this['directionRandomizer']=_0x4ffc8f[_0x34b3ac(0x875)];}}class _0x51f552 extends _0x4af61b{constructor(_0x1de498=0x1,_0x538c54=0x1,_0x2aa1f9=0x1,_0x117e56=new _0x27dcac['P'](0x0,0x1,0x0),_0x4766aa=new _0x27dcac['P'](0x0,0x1,0x0)){var _0x523469=_0x63ce90;super(_0x1de498,_0x538c54,_0x2aa1f9),this[_0x523469(0x870)]=_0x117e56,this['direction2']=_0x4766aa;}[_0x63ce90(0x6b2)](_0xd8b6ec,_0x570bd9){var _0x5d15f6=_0x63ce90,_0x3ac278=_0x582b08['R'][_0x5d15f6(0xc39)](this[_0x5d15f6(0x870)]['x'],this['direction2']['x']),_0x5be314=_0x582b08['R']['RandomRange'](this[_0x5d15f6(0x870)]['y'],this['direction2']['y']),_0xd6750e=_0x582b08['R'][_0x5d15f6(0xc39)](this[_0x5d15f6(0x870)]['z'],this['direction2']['z']);_0x27dcac['P'][_0x5d15f6(0x2de)](_0x3ac278,_0x5be314,_0xd6750e,_0xd8b6ec,_0x570bd9);}[_0x63ce90(0x6cd)](){var _0x4c534e=_0x63ce90,_0x2a297f=new _0x51f552(this['radius'],this[_0x4c534e(0x690)],this['radiusRange'],this[_0x4c534e(0x870)],this[_0x4c534e(0x336)]);return _0x64dd01['j'][_0x4c534e(0x608)](this,_0x2a297f),_0x2a297f;}[_0x63ce90(0x2f4)](_0x1c5819){var _0x16f2d1=_0x63ce90;_0x1c5819['setFloat'](_0x16f2d1(0x88e),this[_0x16f2d1(0x88e)]),_0x1c5819[_0x16f2d1(0x89c)](_0x16f2d1(0x690),this[_0x16f2d1(0x690)]),_0x1c5819[_0x16f2d1(0x89c)](_0x16f2d1(0x59e),this[_0x16f2d1(0x59e)]),_0x1c5819[_0x16f2d1(0x721)]('direction1',this['direction1']),_0x1c5819[_0x16f2d1(0x721)](_0x16f2d1(0x336),this[_0x16f2d1(0x336)]);}[_0x63ce90(0xbb7)](_0x5b5361){var _0x38e93d=_0x63ce90;_0x5b5361['addUniform']('radius',0x1),_0x5b5361[_0x38e93d(0x93a)](_0x38e93d(0x690),0x1),_0x5b5361[_0x38e93d(0x93a)]('radiusRange',0x1),_0x5b5361[_0x38e93d(0x93a)]('direction1',0x3),_0x5b5361['addUniform']('direction2',0x3);}['getEffectDefines'](){var _0x507e95=_0x63ce90;return _0x507e95(0x51b);}['getClassName'](){var _0x4ed140=_0x63ce90;return _0x4ed140(0x34c);}['serialize'](){var _0x3a4a38=_0x63ce90;const _0x57512e=super[_0x3a4a38(0xb4d)]();return _0x57512e[_0x3a4a38(0x870)]=this['direction1'][_0x3a4a38(0xb9b)](),_0x57512e['direction2']=this[_0x3a4a38(0x336)][_0x3a4a38(0xb9b)](),_0x57512e;}[_0x63ce90(0xd68)](_0x59e60d){var _0x5b0f20=_0x63ce90;super[_0x5b0f20(0xd68)](_0x59e60d),this['direction1'][_0x5b0f20(0x9db)](_0x59e60d[_0x5b0f20(0x870)]),this['direction2'][_0x5b0f20(0x9db)](_0x59e60d[_0x5b0f20(0x336)]);}}},0x139b8:(_0x540e6b,_0xd82722,_0x530eb3)=>{var _0x59de44=a7_0x425593;_0x530eb3['d'](_0xd82722,{'V':()=>_0x557df7});var _0x21df43=_0x530eb3(0x1266b),_0x1872dc=_0x530eb3(0x9fd1),_0xef68c8=_0x530eb3(0x1b5c);class _0x557df7{constructor(_0x8f8670=0x1,_0x4eb555=0x1,_0x25d5a3=0x0){var _0x23705d=a7_0x5572;this['radius']=_0x8f8670,this[_0x23705d(0x59e)]=_0x4eb555,this[_0x23705d(0x875)]=_0x25d5a3;}[_0x59de44(0x6b2)](_0x419008,_0xb7b85e,_0x437260,_0x404d43){var _0x395f9b=_0x59de44;const _0xdf89b1=_0x437260['position'][_0x395f9b(0x75f)](_0x419008[_0x395f9b(0x330)]())[_0x395f9b(0x625)]();var _0x437260=_0xef68c8['R'][_0x395f9b(0xc39)](0x0,this[_0x395f9b(0x875)]),_0xca7b48=_0xef68c8['R'][_0x395f9b(0xc39)](0x0,this['directionRandomizer']),_0x256f01=_0xef68c8['R'][_0x395f9b(0xc39)](0x0,this[_0x395f9b(0x875)]);_0xdf89b1['x']+=_0x437260,_0xdf89b1['y']+=_0xca7b48,_0xdf89b1['z']+=_0x256f01,_0xdf89b1[_0x395f9b(0x625)](),_0x404d43?_0xb7b85e[_0x395f9b(0x9db)](_0xdf89b1):_0x1872dc['P'][_0x395f9b(0x2de)](_0xdf89b1['x'],_0xdf89b1['y'],_0xdf89b1['z'],_0x419008,_0xb7b85e);}['startPositionFunction'](_0x21f191,_0x5710a4,_0x19f619,_0x2f41b3){var _0x440f68=_0x59de44,_0x2cdd47=this['radius']-_0xef68c8['R']['RandomRange'](0x0,this[_0x440f68(0x88e)]*this['radiusRange']),_0x1898c2=_0xef68c8['R']['RandomRange'](0x0,0x1),_0x44804a=_0xef68c8['R'][_0x440f68(0xc39)](0x0,0x2*Math['PI']),_0x1898c2=Math['acos'](0x2*_0x1898c2-0x1),_0x80582e=_0x2cdd47*Math['cos'](_0x44804a)*Math['sin'](_0x1898c2),_0x255691=_0x2cdd47*Math[_0x440f68(0x680)](_0x1898c2),_0x2cdd47=_0x2cdd47*Math[_0x440f68(0x677)](_0x44804a)*Math[_0x440f68(0x677)](_0x1898c2);_0x2f41b3?_0x5710a4[_0x440f68(0x642)](_0x80582e,Math[_0x440f68(0x1b0)](_0x255691),_0x2cdd47):_0x1872dc['P'][_0x440f68(0x6e9)](_0x80582e,Math[_0x440f68(0x1b0)](_0x255691),_0x2cdd47,_0x21f191,_0x5710a4);}[_0x59de44(0x6cd)](){var _0x5b227b=_0x59de44,_0x431ccf=new _0x557df7(this[_0x5b227b(0x88e)],this[_0x5b227b(0x875)]);return _0x21df43['j']['DeepCopy'](this,_0x431ccf),_0x431ccf;}[_0x59de44(0x2f4)](_0x4d23da){var _0x1dbc2c=_0x59de44;_0x4d23da[_0x1dbc2c(0x89c)](_0x1dbc2c(0x88e),this[_0x1dbc2c(0x88e)]),_0x4d23da[_0x1dbc2c(0x89c)](_0x1dbc2c(0x59e),this['radiusRange']),_0x4d23da[_0x1dbc2c(0x89c)]('directionRandomizer',this[_0x1dbc2c(0x875)]);}[_0x59de44(0xbb7)](_0x46b3f7){var _0x130137=_0x59de44;_0x46b3f7[_0x130137(0x93a)](_0x130137(0x88e),0x1),_0x46b3f7[_0x130137(0x93a)](_0x130137(0x59e),0x1),_0x46b3f7[_0x130137(0x93a)]('directionRandomizer',0x1);}[_0x59de44(0x98d)](){var _0xa15c1=_0x59de44;return _0xa15c1(0x911);}[_0x59de44(0xa12)](){var _0x11b01c=_0x59de44;return _0x11b01c(0xd0d);}[_0x59de44(0xb4d)](){var _0x427370=_0x59de44;const _0x4ca963={};return _0x4ca963[_0x427370(0x395)]=this[_0x427370(0xa12)](),_0x4ca963['radius']=this[_0x427370(0x88e)],_0x4ca963['radiusRange']=this[_0x427370(0x59e)],_0x4ca963[_0x427370(0x875)]=this[_0x427370(0x875)],_0x4ca963;}[_0x59de44(0xd68)](_0x17588c){var _0x263079=_0x59de44;this[_0x263079(0x88e)]=_0x17588c['radius'],this['radiusRange']=_0x17588c['radiusRange'],this[_0x263079(0x875)]=_0x17588c[_0x263079(0x875)];}}},0x14ce1:(_0x15556f,_0x81c110,_0x2eaa3d)=>{var _0x38996b=a7_0x425593;_0x2eaa3d['d'](_0x81c110,{'c':()=>_0x2042fb});var _0x115ccc=_0x2eaa3d(0x1266b),_0x241a9a=_0x2eaa3d(0x9fd1),_0x308431=_0x2eaa3d(0x1b5c);class _0x2042fb{constructor(){var _0x19cf3e=a7_0x5572;this[_0x19cf3e(0x870)]=new _0x241a9a['P'](0x0,0x1,0x0),this['direction2']=new _0x241a9a['P'](0x0,0x1,0x0);}['startDirectionFunction'](_0x5a9d49,_0xf3a2a6,_0x31504a,_0x528ab3){var _0xb6cc99=a7_0x5572,_0x55d811=_0x308431['R'][_0xb6cc99(0xc39)](this[_0xb6cc99(0x870)]['x'],this['direction2']['x']),_0x3d2665=_0x308431['R'][_0xb6cc99(0xc39)](this[_0xb6cc99(0x870)]['y'],this[_0xb6cc99(0x336)]['y']),_0x1a5fa5=_0x308431['R']['RandomRange'](this[_0xb6cc99(0x870)]['z'],this[_0xb6cc99(0x336)]['z']);_0x528ab3?_0xf3a2a6[_0xb6cc99(0x642)](_0x55d811,_0x3d2665,_0x1a5fa5):_0x241a9a['P'][_0xb6cc99(0x2de)](_0x55d811,_0x3d2665,_0x1a5fa5,_0x5a9d49,_0xf3a2a6);}[_0x38996b(0xa86)](_0x2ef431,_0x1cadce,_0x704a74,_0x3ff3c5){var _0x28c090=_0x38996b;_0x3ff3c5?_0x1cadce[_0x28c090(0x642)](0x0,0x0,0x0):_0x241a9a['P'][_0x28c090(0x6e9)](0x0,0x0,0x0,_0x2ef431,_0x1cadce);}[_0x38996b(0x6cd)](){var _0x16fbcb=new _0x2042fb();return _0x115ccc['j']['DeepCopy'](this,_0x16fbcb),_0x16fbcb;}[_0x38996b(0x2f4)](_0x381dac){var _0x2e3730=_0x38996b;_0x381dac['setVector3'](_0x2e3730(0x870),this[_0x2e3730(0x870)]),_0x381dac[_0x2e3730(0x721)](_0x2e3730(0x336),this['direction2']);}['buildUniformLayout'](_0x5b2fd9){var _0x1855ae=_0x38996b;_0x5b2fd9[_0x1855ae(0x93a)](_0x1855ae(0x870),0x3),_0x5b2fd9[_0x1855ae(0x93a)](_0x1855ae(0x336),0x3);}[_0x38996b(0x98d)](){var _0x4a6f07=_0x38996b;return _0x4a6f07(0x552);}[_0x38996b(0xa12)](){return'PointParticleEmitter';}[_0x38996b(0xb4d)](){var _0x201a5b=_0x38996b;const _0xaabefb={};return _0xaabefb[_0x201a5b(0x395)]=this['getClassName'](),_0xaabefb[_0x201a5b(0x870)]=this[_0x201a5b(0x870)]['asArray'](),_0xaabefb['direction2']=this[_0x201a5b(0x336)][_0x201a5b(0xb9b)](),_0xaabefb;}[_0x38996b(0xd68)](_0x279f01){var _0xf6fed6=_0x38996b;_0x241a9a['P'][_0xf6fed6(0xaba)](_0x279f01['direction1'],0x0,this[_0xf6fed6(0x870)]),_0x241a9a['P'][_0xf6fed6(0xaba)](_0x279f01['direction2'],0x0,this[_0xf6fed6(0x336)]);}}},0x1511c:(_0x1f9028,_0x3051a9,_0x55a417)=>{var _0x5b3d28=a7_0x425593;_0x55a417['d'](_0x3051a9,{'A':()=>_0x4b2baf,'c':()=>_0x485821});var _0x1eb8f8=_0x55a417(0x9fd1),_0x178a4d=_0x55a417(0x1b5c),_0x2e4aa0=_0x55a417(0x1266b);class _0x4b2baf{constructor(_0x52efc8=0x1,_0x27dac7=0x1,_0x3d59a4=0x0){var _0x537ec7=a7_0x5572;this[_0x537ec7(0x88e)]=_0x52efc8,this[_0x537ec7(0x59e)]=_0x27dac7,this[_0x537ec7(0x875)]=_0x3d59a4;}[_0x5b3d28(0x6b2)](_0x20658f,_0x1d6236,_0x164672,_0x410f4d){var _0x163f4b=_0x5b3d28;const _0x3757e6=_0x164672[_0x163f4b(0x406)][_0x163f4b(0x75f)](_0x20658f[_0x163f4b(0x330)]())[_0x163f4b(0x625)]();var _0x164672=_0x178a4d['R'][_0x163f4b(0xc39)](0x0,this['directionRandomizer']),_0x4e4937=_0x178a4d['R'][_0x163f4b(0xc39)](0x0,this['directionRandomizer']),_0x22adbe=_0x178a4d['R'][_0x163f4b(0xc39)](0x0,this[_0x163f4b(0x875)]);_0x3757e6['x']+=_0x164672,_0x3757e6['y']+=_0x4e4937,_0x3757e6['z']+=_0x22adbe,_0x3757e6[_0x163f4b(0x625)](),_0x410f4d?_0x1d6236[_0x163f4b(0x9db)](_0x3757e6):_0x1eb8f8['P'][_0x163f4b(0x2de)](_0x3757e6['x'],_0x3757e6['y'],_0x3757e6['z'],_0x20658f,_0x1d6236);}[_0x5b3d28(0xa86)](_0x52da1b,_0x24fb1c,_0x47e637,_0x34360e){var _0xc818a8=_0x5b3d28,_0x2ce272=this[_0xc818a8(0x88e)]-_0x178a4d['R'][_0xc818a8(0xc39)](0x0,this[_0xc818a8(0x88e)]*this[_0xc818a8(0x59e)]),_0x568ac3=_0x178a4d['R'][_0xc818a8(0xc39)](0x0,0x1),_0x55de1e=_0x178a4d['R'][_0xc818a8(0xc39)](0x0,0x2*Math['PI']),_0x568ac3=Math[_0xc818a8(0x762)](0x2*_0x568ac3-0x1),_0xca109f=_0x2ce272*Math['cos'](_0x55de1e)*Math[_0xc818a8(0x677)](_0x568ac3),_0x1270c5=_0x2ce272*Math[_0xc818a8(0x680)](_0x568ac3),_0x2ce272=_0x2ce272*Math[_0xc818a8(0x677)](_0x55de1e)*Math[_0xc818a8(0x677)](_0x568ac3);_0x34360e?_0x24fb1c['copyFromFloats'](_0xca109f,_0x1270c5,_0x2ce272):_0x1eb8f8['P'][_0xc818a8(0x6e9)](_0xca109f,_0x1270c5,_0x2ce272,_0x52da1b,_0x24fb1c);}[_0x5b3d28(0x6cd)](){var _0x5227d5=_0x5b3d28,_0x276c88=new _0x4b2baf(this[_0x5227d5(0x88e)],this[_0x5227d5(0x875)]);return _0x2e4aa0['j']['DeepCopy'](this,_0x276c88),_0x276c88;}[_0x5b3d28(0x2f4)](_0x5d4dc9){var _0x33056c=_0x5b3d28;_0x5d4dc9[_0x33056c(0x89c)](_0x33056c(0x88e),this[_0x33056c(0x88e)]),_0x5d4dc9[_0x33056c(0x89c)](_0x33056c(0x59e),this[_0x33056c(0x59e)]),_0x5d4dc9[_0x33056c(0x89c)](_0x33056c(0x875),this['directionRandomizer']);}[_0x5b3d28(0xbb7)](_0x76d79f){var _0x1f0d1c=_0x5b3d28;_0x76d79f[_0x1f0d1c(0x93a)]('radius',0x1),_0x76d79f[_0x1f0d1c(0x93a)](_0x1f0d1c(0x59e),0x1),_0x76d79f[_0x1f0d1c(0x93a)](_0x1f0d1c(0x875),0x1);}['getEffectDefines'](){var _0x2ee924=_0x5b3d28;return _0x2ee924(0x79d);}[_0x5b3d28(0xa12)](){var _0x2a6af2=_0x5b3d28;return _0x2a6af2(0x873);}[_0x5b3d28(0xb4d)](){var _0x2838a2=_0x5b3d28;const _0x3ef329={};return _0x3ef329[_0x2838a2(0x395)]=this[_0x2838a2(0xa12)](),_0x3ef329[_0x2838a2(0x88e)]=this[_0x2838a2(0x88e)],_0x3ef329['radiusRange']=this[_0x2838a2(0x59e)],_0x3ef329[_0x2838a2(0x875)]=this[_0x2838a2(0x875)],_0x3ef329;}[_0x5b3d28(0xd68)](_0x6e3dc7){var _0x32fc9f=_0x5b3d28;this['radius']=_0x6e3dc7[_0x32fc9f(0x88e)],this[_0x32fc9f(0x59e)]=_0x6e3dc7['radiusRange'],this[_0x32fc9f(0x875)]=_0x6e3dc7[_0x32fc9f(0x875)];}}class _0x485821 extends _0x4b2baf{constructor(_0x5d817c=0x1,_0x344b9e=new _0x1eb8f8['P'](0x0,0x1,0x0),_0x45f97a=new _0x1eb8f8['P'](0x0,0x1,0x0)){var _0x387f2f=_0x5b3d28;super(_0x5d817c),this[_0x387f2f(0x870)]=_0x344b9e,this['direction2']=_0x45f97a;}[_0x5b3d28(0x6b2)](_0x3cbcc6,_0x136964){var _0x149bdd=_0x5b3d28,_0x5c56b1=_0x178a4d['R'][_0x149bdd(0xc39)](this[_0x149bdd(0x870)]['x'],this['direction2']['x']),_0x189f29=_0x178a4d['R']['RandomRange'](this[_0x149bdd(0x870)]['y'],this[_0x149bdd(0x336)]['y']),_0x43fe07=_0x178a4d['R'][_0x149bdd(0xc39)](this[_0x149bdd(0x870)]['z'],this[_0x149bdd(0x336)]['z']);_0x1eb8f8['P'][_0x149bdd(0x2de)](_0x5c56b1,_0x189f29,_0x43fe07,_0x3cbcc6,_0x136964);}['clone'](){var _0x19319f=_0x5b3d28,_0x20dd83=new _0x485821(this[_0x19319f(0x88e)],this[_0x19319f(0x870)],this[_0x19319f(0x336)]);return _0x2e4aa0['j'][_0x19319f(0x608)](this,_0x20dd83),_0x20dd83;}[_0x5b3d28(0x2f4)](_0x40c28b){var _0x5d22e7=_0x5b3d28;_0x40c28b[_0x5d22e7(0x89c)](_0x5d22e7(0x88e),this[_0x5d22e7(0x88e)]),_0x40c28b[_0x5d22e7(0x89c)](_0x5d22e7(0x59e),this[_0x5d22e7(0x59e)]),_0x40c28b['setVector3']('direction1',this[_0x5d22e7(0x870)]),_0x40c28b[_0x5d22e7(0x721)](_0x5d22e7(0x336),this['direction2']);}[_0x5b3d28(0xbb7)](_0x520d6a){var _0x4842f4=_0x5b3d28;_0x520d6a['addUniform'](_0x4842f4(0x88e),0x1),_0x520d6a['addUniform'](_0x4842f4(0x59e),0x1),_0x520d6a['addUniform'](_0x4842f4(0x870),0x3),_0x520d6a[_0x4842f4(0x93a)](_0x4842f4(0x336),0x3);}['getEffectDefines'](){return'#define\x20SPHEREEMITTER\x0a#define\x20DIRECTEDSPHEREEMITTER';}[_0x5b3d28(0xa12)](){return'SphereDirectedParticleEmitter';}[_0x5b3d28(0xb4d)](){var _0x4fdbb2=_0x5b3d28;const _0xbe65ff=super[_0x4fdbb2(0xb4d)]();return _0xbe65ff[_0x4fdbb2(0x870)]=this[_0x4fdbb2(0x870)][_0x4fdbb2(0xb9b)](),_0xbe65ff['direction2']=this[_0x4fdbb2(0x336)][_0x4fdbb2(0xb9b)](),_0xbe65ff;}[_0x5b3d28(0xd68)](_0x5999bb){var _0x531292=_0x5b3d28;super['parse'](_0x5999bb),this[_0x531292(0x870)][_0x531292(0x9db)](_0x5999bb['direction1']),this[_0x531292(0x336)][_0x531292(0x9db)](_0x5999bb[_0x531292(0x336)]);}}},0x5bc8:(_0x3e754f,_0x167e00,_0x409e15)=>{var _0x1ff152=a7_0x425593,_0x189f39=_0x409e15(0x1dad),_0x3fe7aa=_0x409e15(0xd8dd),_0xf896d3=_0x409e15(0xe0c0),_0x1db542=_0x409e15(0xee04),_0x5a4a4d=_0x409e15(0x17dd3),_0x30273e=_0x409e15(0xbb85);_0x409e15(0x1560d),_0xf896d3['p'][_0x1ff152(0x89d)](_0x30273e['l'][_0x1ff152(0x6f1)],(_0x1737ca,_0x2aadd4,_0x47f36b,_0x40860c)=>{var _0x296b51=_0x1ff152;const _0x1ffd6b=_0xf896d3['p'][_0x296b51(0x740)](_0x30273e['l'][_0x296b51(0x6f1)]);if(_0x1ffd6b&&void 0x0!==_0x1737ca[_0x296b51(0xa1a)]&&null!==_0x1737ca[_0x296b51(0xa1a)])for(let _0x57cefa=0x0,_0x3a5473=_0x1737ca[_0x296b51(0xa1a)][_0x296b51(0x86e)];_0x57cefa<_0x3a5473;_0x57cefa++){var _0x36576f=_0x1737ca['particleSystems'][_0x57cefa];_0x47f36b[_0x296b51(0xa1a)]['push'](_0x1ffd6b(_0x36576f,_0x2aadd4,_0x40860c));}}),_0xf896d3['p'][_0x1ff152(0x20e)](_0x30273e['l'][_0x1ff152(0x6f1)],(_0x44fa0c,_0x4c8b23,_0x5782ed)=>(_0x44fa0c['activeParticleCount']?_0x3fe7aa['h']:_0x5a4a4d['p'])[_0x1ff152(0x364)](_0x44fa0c,_0x4c8b23,_0x5782ed)),_0x1db542['D'][_0x1ff152(0x85a)][_0x1ff152(0xbc7)]=function(_0x5959,_0xc3ee00=[],_0x1fc686=[],_0x50ac0f='',_0x36029c,_0x361288,_0x8f2877,_0x1c4afa){var _0x2acdfd=_0x1ff152;let _0x3a2395=[],_0x214979=[];const _0x3f25cf=[];return _0x1c4afa?_0x1c4afa[_0x2acdfd(0x5c3)](_0x214979,_0x3a2395,_0x3f25cf):(_0x3a2395=_0x5a4a4d['p']['_GetAttributeNamesOrOptions'](),_0x214979=_0x5a4a4d['p']['_GetEffectCreationOptions']()),-0x1===_0x50ac0f[_0x2acdfd(0x9a3)](_0x2acdfd(0x7b4))&&(_0x50ac0f+=_0x2acdfd(0xd2f)),null!=_0x1c4afa&&_0x1c4afa[_0x2acdfd(0x16c)]&&-0x1===_0x50ac0f[_0x2acdfd(0x9a3)](_0x2acdfd(0x81e))&&(_0x50ac0f+=_0x2acdfd(0xae2)),-0x1===_0x1fc686[_0x2acdfd(0x9a3)](_0x2acdfd(0x4c3))&&_0x1fc686[_0x2acdfd(0x303)](_0x2acdfd(0x4c3)),this['createEffect']({'vertex':null!=(_0x1c4afa=null==_0x1c4afa?void 0x0:_0x1c4afa[_0x2acdfd(0xa58)])?_0x1c4afa:_0x2acdfd(0x5cc),'fragmentElement':_0x5959},_0x3a2395,_0x214979['concat'](_0xc3ee00),_0x3f25cf['concat'](_0x1fc686),_0x50ac0f,_0x36029c,_0x361288,_0x8f2877);},_0x189f39['Kj']['prototype'][_0x1ff152(0x37d)]=function(){var _0x4b5503=_0x1ff152;const _0x3b35b3=new Array();for(let _0x5b2986=0x0;_0x5b2986<this[_0x4b5503(0x427)]()[_0x4b5503(0xa1a)][_0x4b5503(0x86e)];_0x5b2986++){var _0x524060=this[_0x4b5503(0x427)]()[_0x4b5503(0xa1a)][_0x5b2986];_0x524060[_0x4b5503(0x242)]===this&&_0x3b35b3[_0x4b5503(0x303)](_0x524060);}return _0x3b35b3;},_0x189f39['Kj'][_0x1ff152(0x85a)][_0x1ff152(0x78e)]=function(){var _0x1da4c1=_0x1ff152;const _0x2e3748=new Array(),_0x16e871=this[_0x1da4c1(0xbb6)]();_0x16e871[_0x1da4c1(0x303)](this);for(let _0xaef5d0=0x0;_0xaef5d0<this[_0x1da4c1(0x427)]()[_0x1da4c1(0xa1a)][_0x1da4c1(0x86e)];_0xaef5d0++){var _0x285ad2=this[_0x1da4c1(0x427)]()['particleSystems'][_0xaef5d0],_0x56f2c4=_0x285ad2[_0x1da4c1(0x242)];_0x56f2c4[_0x1da4c1(0x406)]&&-0x1!==_0x16e871[_0x1da4c1(0x9a3)](_0x56f2c4)&&_0x2e3748[_0x1da4c1(0x303)](_0x285ad2);}return _0x2e3748;};},0xad11:(_0x439c5d,_0x438e81,_0x3d6cd4)=>{var _0x4b3ba2=a7_0x425593,_0x3795cc=_0x3d6cd4(0x10ea4),_0x256d76=_0x3d6cd4(0xf96c),_0x13c2a6=_0x3d6cd4(0xbb85),_0x1a5ce1=_0x3d6cd4(0x1446b),_0x141d0b=_0x3d6cd4(0x38ef),_0x348f0f=_0x3d6cd4(0x12b14);_0x1a5ce1['x'][_0x4b3ba2(0x85a)][_0x4b3ba2(0xb3e)]=function(){var _0x532e15=_0x4b3ba2;return this[_0x532e15(0x487)];},_0x1a5ce1['x'][_0x4b3ba2(0x85a)]['enablePhysics']=function(_0x1f33c8=null,_0x51e29b){var _0x5ae952=_0x4b3ba2;if(this[_0x5ae952(0x487)])return!0x0;var _0x3ef894;this['_getComponent'](_0x13c2a6['l'][_0x5ae952(0x795)])||(_0x3ef894=new _0x3b69fe(this),this[_0x5ae952(0xae4)](_0x3ef894));try{if(_0x51e29b&&0x1!==(null==_0x51e29b?void 0x0:_0x51e29b[_0x5ae952(0xcf9)]())){if(0x2!==(null==_0x51e29b?void 0x0:_0x51e29b[_0x5ae952(0xcf9)]()))throw new Error('Unsupported\x20Physics\x20plugin\x20version.');this[_0x5ae952(0x487)]=new _0x348f0f['T'](_0x1f33c8,_0x51e29b);}else this[_0x5ae952(0x487)]=new _0x141d0b['T'](_0x1f33c8,_0x51e29b);return!(this[_0x5ae952(0x648)]=0x0);}catch(_0x2d7f7e){return _0x3795cc['Y'][_0x5ae952(0xcd8)](_0x2d7f7e['message']),!0x1;}},_0x1a5ce1['x'][_0x4b3ba2(0x85a)][_0x4b3ba2(0x64b)]=function(){var _0x1b8268=_0x4b3ba2;this[_0x1b8268(0x487)]&&(this[_0x1b8268(0x487)][_0x1b8268(0x1cb)](),this[_0x1b8268(0x487)]=null);},_0x1a5ce1['x']['prototype'][_0x4b3ba2(0x496)]=function(){var _0x3ca67a=_0x4b3ba2;return void 0x0!==this[_0x3ca67a(0x487)];},_0x1a5ce1['x']['prototype'][_0x4b3ba2(0x38f)]=function(_0x5ce46b){var _0x546674=_0x4b3ba2;const _0x2d7cf3=_0x5ce46b['parts'][0x0][_0x546674(0x7d5)];_0x2d7cf3[_0x546674(0x7b6)]&&(_0x2d7cf3[_0x546674(0x7b6)][_0x546674(0x1cb)](),_0x2d7cf3[_0x546674(0x7b6)]=null);},_0x1a5ce1['x'][_0x4b3ba2(0x85a)][_0x4b3ba2(0x616)]=function(_0x529997){var _0x26a3f4=_0x4b3ba2;if(this[_0x26a3f4(0x487)]){var _0x4a33ce=this[_0x26a3f4(0x487)]['getSubTimeStep']();if(0x0<_0x4a33ce){for(this[_0x26a3f4(0x648)]+=_0x529997;this[_0x26a3f4(0x648)]>_0x4a33ce;)this[_0x26a3f4(0x913)][_0x26a3f4(0x794)](this),this[_0x26a3f4(0x487)][_0x26a3f4(0x925)](_0x4a33ce/0x3e8),this['onAfterPhysicsObservable']['notifyObservers'](this),this[_0x26a3f4(0x648)]-=_0x4a33ce;}else this[_0x26a3f4(0x913)][_0x26a3f4(0x794)](this),this['_physicsEngine'][_0x26a3f4(0x925)](_0x529997/0x3e8),this[_0x26a3f4(0x7af)][_0x26a3f4(0x794)](this);}};class _0x3b69fe{constructor(_0x3a1db0){var _0x29530b=_0x4b3ba2;this[_0x29530b(0xa67)]=_0x13c2a6['l'][_0x29530b(0x795)],this['scene']=_0x3a1db0,this['scene']['onBeforePhysicsObservable']=new _0x256d76['y$'](),this[_0x29530b(0x48d)][_0x29530b(0x7af)]=new _0x256d76['y$'](),this[_0x29530b(0x48d)][_0x29530b(0xb5c)]=()=>this[_0x29530b(0x48d)][_0x29530b(0x487)]?0x3e8*this['scene']['_physicsEngine'][_0x29530b(0xc45)]():0x3e8/0x3c;}[_0x4b3ba2(0x441)](){}[_0x4b3ba2(0xc9a)](){}[_0x4b3ba2(0x1cb)](){var _0xb2628=_0x4b3ba2;this[_0xb2628(0x48d)][_0xb2628(0x913)]['clear'](),this[_0xb2628(0x48d)][_0xb2628(0x7af)][_0xb2628(0xb1c)](),this[_0xb2628(0x48d)][_0xb2628(0x487)]&&this['scene']['disablePhysicsEngine']();}}_0x3d6cd4(0x643f),_0x1a5ce1=_0x3d6cd4(0xa838),(Object['defineProperty'](_0x1a5ce1['Y']['prototype'],_0x4b3ba2(0x7d8),{'get':function(){var _0x5922d5=_0x4b3ba2;return this[_0x5922d5(0x79b)];},'set':function(_0x4287f8){var _0x16a165=_0x4b3ba2;this[_0x16a165(0x79b)]!==_0x4287f8&&(this[_0x16a165(0x921)]&&this[_0x16a165(0x7fb)][_0x16a165(0x9d7)](this[_0x16a165(0x921)]),(this[_0x16a165(0x79b)]=_0x4287f8)&&(this['_disposePhysicsObserver']=this[_0x16a165(0x7fb)][_0x16a165(0x47e)](()=>{var _0x49ab35=_0x16a165;this[_0x49ab35(0x7d8)]&&(this[_0x49ab35(0x7d8)][_0x49ab35(0x1cb)](),this[_0x49ab35(0x7d8)]=null);})));},'enumerable':!0x0,'configurable':!0x0}),_0x1a5ce1['Y'][_0x4b3ba2(0x85a)]['getPhysicsBody']=function(){var _0x543194=_0x4b3ba2;return this[_0x543194(0x7d8)];},_0x1a5ce1['Y'][_0x4b3ba2(0x85a)]['applyImpulse']=function(_0x10dbeb,_0x152460){var _0x1c6773=_0x4b3ba2;if(this[_0x1c6773(0x7d8)])return this[_0x1c6773(0x7d8)]['applyImpulse'](_0x10dbeb,_0x152460),this;throw new Error(_0x1c6773(0x16e));});},0x643f:(_0x138ccb,_0x42a190,_0x1c4e5e)=>{var _0x46dac4=a7_0x425593,_0x53f74c=_0x1c4e5e(0x51f),_0x94a60=_0x1c4e5e(0x10abe);Object[_0x46dac4(0x38c)](_0x53f74c['x'][_0x46dac4(0x85a)],'physicsImpostor',{'get':function(){var _0x5254da=_0x46dac4;return this[_0x5254da(0x87a)];},'set':function(_0x4c328e){var _0x5f6e2f=_0x46dac4;this['_physicsImpostor']!==_0x4c328e&&(this[_0x5f6e2f(0x921)]&&this[_0x5f6e2f(0x7fb)]['remove'](this[_0x5f6e2f(0x921)]),(this['_physicsImpostor']=_0x4c328e)&&(this['_disposePhysicsObserver']=this[_0x5f6e2f(0x7fb)][_0x5f6e2f(0x47e)](()=>{var _0x4cc2f1=_0x5f6e2f;this[_0x4cc2f1(0x7b6)]&&(this['physicsImpostor']['dispose'](),this[_0x4cc2f1(0x7b6)]=null);})));},'enumerable':!0x0,'configurable':!0x0}),_0x53f74c['x'][_0x46dac4(0x85a)][_0x46dac4(0xa78)]=function(){var _0x43bccd=_0x46dac4;return this[_0x43bccd(0x7b6)];},_0x53f74c['x'][_0x46dac4(0x85a)][_0x46dac4(0x49e)]=function(_0x36fa77,_0x9121a0){var _0x112bfa=_0x46dac4;return this['physicsImpostor']&&this['physicsImpostor'][_0x112bfa(0x49e)](_0x36fa77,_0x9121a0),this;},_0x53f74c['x'][_0x46dac4(0x85a)][_0x46dac4(0xa3d)]=function(_0x442063,_0x2855cc,_0x266aa1,_0x259472){var _0x3181e4=_0x46dac4;return this[_0x3181e4(0x7b6)]&&_0x442063[_0x3181e4(0x7b6)]&&this['physicsImpostor']['createJoint'](_0x442063[_0x3181e4(0x7b6)],_0x94a60['q7'][_0x3181e4(0xcd5)],{'mainPivot':_0x2855cc,'connectedPivot':_0x266aa1,'nativeParams':_0x259472}),this;};},0x7f34:(_0x4ed5a0,_0x23b064,_0x215e6d)=>{var _0x446861=a7_0x425593;_0x215e6d['d'](_0x23b064,{'a':()=>_0x41efb2});class _0x41efb2{constructor(){var _0x28ae07=a7_0x5572;this[_0x28ae07(0x5b3)]={};}get[_0x446861(0xa36)](){var _0x35ed16=_0x446861;const _0x1dba73=[];for(const _0xd7f6c6 in this[_0x35ed16(0x5b3)]){var _0x25c657;Object[_0x35ed16(0x85a)][_0x35ed16(0xc49)][_0x35ed16(0x9e2)](this[_0x35ed16(0x5b3)],_0xd7f6c6)&&(_0x25c657=this[_0x35ed16(0x5b3)][_0xd7f6c6])['isSupported']&&_0x1dba73['push'](_0x25c657);}return _0x1dba73;}[_0x446861(0x5ab)](_0x254aee){var _0x1abce8=_0x446861;this[_0x1abce8(0x5b3)][_0x254aee[_0x1abce8(0x2b8)]]=_0x254aee;}[_0x446861(0xb58)](_0x270b20){var _0x26f704=_0x446861;delete this[_0x26f704(0x5b3)][_0x270b20];}[_0x446861(0x461)](_0x559c39,_0x28d88c,_0x20f386=!0x1){var _0x3d5059=_0x446861;const _0x32a4e9=this[_0x3d5059(0x5b3)][_0x559c39];_0x32a4e9&&_0x32a4e9[_0x3d5059(0x8aa)](_0x28d88c,_0x20f386);}['detachCamerasFromRenderPipeline'](_0x54c26e,_0x4f04ca){var _0x4c066e=_0x446861;const _0x47025a=this[_0x4c066e(0x5b3)][_0x54c26e];_0x47025a&&_0x47025a[_0x4c066e(0xb85)](_0x4f04ca);}[_0x446861(0xd05)](_0xc427a2,_0x45c496,_0x31067d){var _0x4383de=_0x446861;const _0x49fd4a=this['_renderPipelines'][_0xc427a2];_0x49fd4a&&_0x49fd4a[_0x4383de(0x459)](_0x45c496,_0x31067d);}['disableEffectInPipeline'](_0x3df985,_0x4740f4,_0x1800bb){var _0x2d2cfb=_0x446861;const _0x52e016=this[_0x2d2cfb(0x5b3)][_0x3df985];_0x52e016&&_0x52e016[_0x2d2cfb(0xa62)](_0x4740f4,_0x1800bb);}['update'](){var _0x2de8f9=_0x446861;for(const _0x2c6936 in this['_renderPipelines'])if(Object[_0x2de8f9(0x85a)][_0x2de8f9(0xc49)][_0x2de8f9(0x9e2)](this[_0x2de8f9(0x5b3)],_0x2c6936)){const _0x2ab8dd=this[_0x2de8f9(0x5b3)][_0x2c6936];_0x2ab8dd[_0x2de8f9(0x674)]?_0x2ab8dd[_0x2de8f9(0x88a)]():(_0x2ab8dd[_0x2de8f9(0x1cb)](),delete this[_0x2de8f9(0x5b3)][_0x2c6936]);}}[_0x446861(0x2f8)](){var _0x3e9dce=_0x446861;for(const _0x2e0aaa in this[_0x3e9dce(0x5b3)])if(Object[_0x3e9dce(0x85a)]['hasOwnProperty'][_0x3e9dce(0x9e2)](this[_0x3e9dce(0x5b3)],_0x2e0aaa)){const _0x258182=this['_renderPipelines'][_0x2e0aaa];_0x258182[_0x3e9dce(0x2f8)]();}}[_0x446861(0x1cb)](){var _0x120fa5=_0x446861;for(const _0x442811 in this[_0x120fa5(0x5b3)])if(Object[_0x120fa5(0x85a)]['hasOwnProperty'][_0x120fa5(0x9e2)](this[_0x120fa5(0x5b3)],_0x442811)){const _0x4e2772=this[_0x120fa5(0x5b3)][_0x442811];_0x4e2772[_0x120fa5(0x1cb)]();}}}},0x13aac:(_0x15dde6,_0x33871c,_0x188e6f)=>{var _0x2bee51=a7_0x425593;_0x188e6f['d'](_0x33871c,{'B':()=>_0x23d7d6});var _0x198073=_0x188e6f(0x77a5),_0x3a6a54=_0x188e6f(0x1097c);class _0x23d7d6{constructor(_0x266c89,_0x37048f,_0x1e94cb,_0x244aa0=0x1){var _0x28654e=a7_0x5572;this['_engine']=_0x266c89,this[_0x28654e(0xa73)]=new _0x3a6a54['p'](_0x266c89,!0x0),this['_depthRTWrapper']=this[_0x28654e(0xbfd)][_0x28654e(0x65b)]({'width':_0x37048f,'height':_0x1e94cb},{'generateMipMaps':!0x1,'type':_0x198073['g']['TEXTURETYPE_UNSIGNED_BYTE'],'format':_0x198073['g']['TEXTUREFORMAT_R'],'samplingMode':_0x198073['g'][_0x28654e(0x97f)],'generateDepthBuffer':!0x0,'generateStencilBuffer':!0x1,'samples':_0x244aa0,'noColorAttachment':!0x0,'label':_0x28654e(0x7e9)}),this[_0x28654e(0x3eb)]['createDepthStencilTexture'](0x0,!0x1,!0x1,0x1,void 0x0,_0x28654e(0x719));}get[_0x2bee51(0x81c)](){return this['_depthRTWrapper'];}[_0x2bee51(0x1c2)](_0x294c4c){var _0x46eedf=_0x2bee51;return this[_0x46eedf(0xa73)]['copy'](_0x294c4c,this['_depthRTWrapper']);}[_0x2bee51(0x1cb)](){var _0x2a958c=_0x2bee51;this['_depthRTWrapper'][_0x2a958c(0x1cb)](),this[_0x2a958c(0xa73)][_0x2a958c(0x1cb)]();}}},0xeff9:(_0x333b6b,_0x327131,_0x5ce7bd)=>{var _0x28ace9=a7_0x425593;_0x5ce7bd['d'](_0x327131,{'a':()=>_0x50ba90});var _0x36da3e=_0x5ce7bd(0x77a5),_0x6294e4=_0x5ce7bd(0xbac7),_0x21ce41=_0x5ce7bd(0x9fd1),_0x4e7e9c=_0x5ce7bd(0x5f28),_0x298dc1=_0x5ce7bd(0xf96c);class _0x50ba90{constructor(_0x19465e,_0x5180bb,_0x1881e3,_0x48b390,_0x57978c,_0x59684f,_0x1ebc31=_0x36da3e['g']['TEXTURETYPE_FLOAT'],_0x536d13=_0x36da3e['g'][_0x28ace9(0xa3c)],_0x555526=_0x36da3e['g'][_0x28ace9(0x937)],_0x2affff=_0x36da3e['g'][_0x28ace9(0xa3c)],_0x202f86=!0x1,_0x4d53b7=null,_0x518fa7=!0x0,_0x33a0cc=0x1){var _0x24205b=_0x28ace9;this['enableBlur']=!0x0,this[_0x24205b(0x545)]=0x1,this['blurFilterSize']=0x7,this['_blurNumIterations']=0x3,this[_0x24205b(0x7c4)]=0x64,this[_0x24205b(0x577)]=0xa,this[_0x24205b(0xbed)]=0.02,this[_0x24205b(0x7fb)]=new _0x298dc1['y$'](),this['_name']=_0x19465e,this['_scene']=_0x5180bb,this[_0x24205b(0xd2e)]=_0x4d53b7,this[_0x24205b(0xbfd)]=_0x5180bb[_0x24205b(0x989)](),this[_0x24205b(0x4ca)]=_0x1881e3,this[_0x24205b(0x7a7)]=_0x48b390,this[_0x24205b(0xc4b)]=_0x57978c,this[_0x24205b(0x666)]=_0x59684f,this[_0x24205b(0x9a7)]=_0x1ebc31,this['_textureFormat']=_0x536d13,this[_0x24205b(0x9a1)]=_0x555526,this[_0x24205b(0x89e)]=_0x2affff,this[_0x24205b(0x6d4)]=_0x202f86,this[_0x24205b(0x275)]=_0x518fa7,this['_samples']=_0x33a0cc,this['_postProcessRunningIndex']=0x0,this['enableBlur']=0x0!==_0x57978c&&0x0!==_0x59684f,this[_0x24205b(0x311)]=null,this[_0x24205b(0x70f)]=null,this['_rtBlur']=null,this['_textureBlurred']=null,this[_0x24205b(0x958)]=null;}get[_0x28ace9(0x386)](){var _0x3e3767=_0x28ace9;return this[_0x3e3767(0x56d)];}set['blurNumIterations'](_0x5ae86a){var _0x531c81=_0x28ace9;if(this[_0x531c81(0x56d)]!==_0x5ae86a&&(this[_0x531c81(0x56d)]=_0x5ae86a,null!==this[_0x531c81(0x958)])){var _0x197493=this['_blurPostProcesses'][0x0],_0x3edac8=this['_blurPostProcesses'][0x1];this[_0x531c81(0x958)]=[];for(let _0xcd9806=0x0;_0xcd9806<0x2*this[_0x531c81(0x56d)];++_0xcd9806)this[_0x531c81(0x958)][_0xcd9806]=0x1&_0xcd9806?_0x3edac8:_0x197493;}}get[_0x28ace9(0x5a6)](){var _0x2e1336=_0x28ace9;return this[_0x2e1336(0x311)];}get[_0x28ace9(0xa3b)](){var _0x4c8b42=_0x28ace9;return this[_0x4c8b42(0x422)];}get[_0x28ace9(0x7c5)](){var _0x1e5f29=_0x28ace9;return this[_0x1e5f29(0x70f)];}get[_0x28ace9(0x237)](){var _0x3d1312=_0x28ace9;return this[_0x3d1312(0x9df)];}['initialize'](){var _0x2b04e8=_0x28ace9,_0x6996bb,_0x3dbba3,_0x157053;this[_0x2b04e8(0x1cb)](),this[_0x2b04e8(0x57e)](),this[_0x2b04e8(0x26f)]&&this[_0x2b04e8(0x70f)]&&([_0x6996bb,_0x3dbba3,_0x157053]=this[_0x2b04e8(0x265)](this[_0x2b04e8(0x70f)],this[_0x2b04e8(0x9a1)],this[_0x2b04e8(0x89e)],this['blurSizeDivisor'],this[_0x2b04e8(0x2b8)],this[_0x2b04e8(0x6d4)]),this[_0x2b04e8(0x422)]=_0x6996bb,this[_0x2b04e8(0x9df)]=_0x3dbba3,this['_blurPostProcesses']=_0x157053);}[_0x28ace9(0xaf1)](){var _0xc59953=_0x28ace9;this[_0xc59953(0x26f)]&&this[_0xc59953(0x958)]&&(this[_0xc59953(0x7d6)]=0x0,this[_0xc59953(0x851)]['postProcessManager']['directRender'](this['_blurPostProcesses'],this['_rtBlur'],!0x0),this['_engine'][_0xc59953(0xa02)](this['_rtBlur']));}[_0x28ace9(0x57e)](){var _0x2d262f=_0x28ace9;this[_0x2d262f(0x311)]=this[_0x2d262f(0xbfd)][_0x2d262f(0x65b)]({'width':this[_0x2d262f(0x4ca)],'height':this[_0x2d262f(0x7a7)]},{'generateMipMaps':!0x1,'type':this['_textureType'],'format':this['_textureFormat'],'samplingMode':_0x36da3e['g'][_0x2d262f(0x97f)],'generateDepthBuffer':this[_0x2d262f(0x275)],'generateStencilBuffer':!0x1,'samples':this['_samples'],'label':_0x2d262f(0xc1b)+this[_0x2d262f(0x2b8)]});const _0x246ba2=this['_rt'][_0x2d262f(0x7c5)];_0x246ba2[_0x2d262f(0x4bb)](),this[_0x2d262f(0x70f)]=new _0x6294e4['x'](null,this['_scene']),this['_texture']['name']='rtt'+this['_name'],this['_texture'][_0x2d262f(0x70f)]=_0x246ba2,this[_0x2d262f(0x70f)][_0x2d262f(0x969)]=_0x6294e4['x'][_0x2d262f(0xcca)],this[_0x2d262f(0x70f)][_0x2d262f(0xc16)]=_0x6294e4['x'][_0x2d262f(0xcca)],this[_0x2d262f(0x70f)][_0x2d262f(0x24b)]=0x1;}[_0x28ace9(0x265)](_0x222a00,_0x34089f,_0xf4e903,_0x3b4dce,_0x2143b5,_0x58443d=!0x1){var _0x33623b=_0x28ace9;const _0x4be471=this['_scene']['getEngine']();var _0x3b4dce=new _0x21ce41['FM'](Math[_0x33623b(0x860)](this[_0x33623b(0xc4b)]/_0x3b4dce),Math[_0x33623b(0x860)](this[_0x33623b(0x666)]/_0x3b4dce)),_0x536643=_0x34089f===_0x36da3e['g'][_0x33623b(0x937)]&&_0x4be471[_0x33623b(0xa51)]()[_0x33623b(0x6f2)]||_0x34089f===_0x36da3e['g'][_0x33623b(0x986)]&&_0x4be471[_0x33623b(0xa51)]()[_0x33623b(0xa83)],_0x3b4dce=this[_0x33623b(0xbfd)][_0x33623b(0x65b)]({'width':_0x3b4dce['x'],'height':_0x3b4dce['y']},{'generateMipMaps':!0x1,'type':_0x34089f,'format':_0xf4e903,'samplingMode':_0x536643?_0x36da3e['g'][_0x33623b(0xbd7)]:_0x36da3e['g'][_0x33623b(0x97f)],'generateDepthBuffer':!0x1,'generateStencilBuffer':!0x1,'samples':this[_0x33623b(0x26a)],'label':_0x33623b(0x82a)+_0x2143b5});const _0x1344d1=_0x3b4dce[_0x33623b(0x7c5)],_0x2ecd8e=(_0x1344d1[_0x33623b(0x4bb)](),new _0x6294e4['x'](null,this[_0x33623b(0x851)]));if(_0x2ecd8e['name']=_0x33623b(0x4fe)+_0x2143b5,_0x2ecd8e['_texture']=_0x1344d1,_0x2ecd8e[_0x33623b(0x969)]=_0x6294e4['x'][_0x33623b(0xcca)],_0x2ecd8e[_0x33623b(0xc16)]=_0x6294e4['x']['CLAMP_ADDRESSMODE'],_0x2ecd8e[_0x33623b(0x24b)]=0x1,_0x58443d){const _0x44a083=new _0x4e7e9c['D'](_0x33623b(0xccd),_0x33623b(0x533),[_0x33623b(0x2b6),_0x33623b(0x566)],null,0x1,null,_0x36da3e['g'][_0x33623b(0x97f)],_0x4be471,!0x0,null,_0x34089f,void 0x0,void 0x0,void 0x0,_0xf4e903),_0x362537=(_0x44a083[_0x33623b(0x3a8)]=this[_0x33623b(0x26a)],_0x44a083[_0x33623b(0x4b1)]=!0x0,_0x44a083['onApplyObservable']['add'](_0x2b9200=>{var _0x3feae7=_0x33623b;0x0===this[_0x3feae7(0x7d6)]?_0x2b9200[_0x3feae7(0x1c0)]('textureSampler',_0x222a00):_0x2b9200[_0x3feae7(0x3b0)]('textureSampler',_0x44a083[_0x3feae7(0x898)]['texture']),_0x2b9200['setInt'](_0x3feae7(0x2b6),this[_0x3feae7(0xc08)]),_0x2b9200[_0x3feae7(0x2ad)]('blurDir',0x1/this[_0x3feae7(0xc4b)],0x0),this['_postProcessRunningIndex']++;}),_0x44a083['onSizeChangedObservable']['add'](()=>{var _0x1c9918=_0x33623b;_0x44a083[_0x1c9918(0xaed)]['forEach'](_0x253b91=>{var _0x434a21=_0x1c9918;_0x253b91[_0x434a21(0x7c5)][_0x434a21(0x969)]=_0x6294e4['x'][_0x434a21(0xcca)],_0x253b91[_0x434a21(0x7c5)][_0x434a21(0xc16)]=_0x6294e4['x'][_0x434a21(0xcca)];});}),this[_0x33623b(0xa11)](_0x44a083),new _0x4e7e9c['D'](_0x33623b(0x510),_0x33623b(0x533),[_0x33623b(0x2b6),_0x33623b(0x566)],null,0x1,null,_0x36da3e['g'][_0x33623b(0x97f)],_0x4be471,!0x0,null,_0x34089f,void 0x0,void 0x0,void 0x0,_0xf4e903)),_0x4961d4=(_0x362537['samples']=this['_samples'],_0x362537[_0x33623b(0x8ba)][_0x33623b(0x47e)](_0x1ff474=>{var _0x477cca=_0x33623b;_0x1ff474[_0x477cca(0x1b5)](_0x477cca(0x2b6),this[_0x477cca(0xc08)]),_0x1ff474[_0x477cca(0x2ad)]('blurDir',0x0,0x1/this[_0x477cca(0x666)]),this[_0x477cca(0x7d6)]++;}),_0x362537[_0x33623b(0xb5b)]['add'](()=>{var _0x2c1254=_0x33623b;_0x362537[_0x2c1254(0xaed)]['forEach'](_0x2b7d28=>{var _0x25f8f7=_0x2c1254;_0x2b7d28['texture'][_0x25f8f7(0x969)]=_0x6294e4['x'][_0x25f8f7(0xcca)],_0x2b7d28[_0x25f8f7(0x7c5)][_0x25f8f7(0xc16)]=_0x6294e4['x'][_0x25f8f7(0xcca)];});}),this[_0x33623b(0xa11)](_0x362537),_0x44a083[_0x33623b(0xc57)]=!0x1,_0x362537[_0x33623b(0xc57)]=!0x1,[]);for(let _0x22c7fd=0x0;_0x22c7fd<0x2*this[_0x33623b(0x56d)];++_0x22c7fd)_0x4961d4[_0x22c7fd]=0x1&_0x22c7fd?_0x362537:_0x44a083;return[_0x3b4dce,_0x2ecd8e,_0x4961d4];}{_0x536643=[_0x33623b(0x8d6),_0x33623b(0x566),_0x33623b(0xc2b),_0x33623b(0x5bd)];const _0x5290b1=new _0x4e7e9c['D'](_0x33623b(0xccd),'fluidRenderingBilateralBlur',_0x536643,null,0x1,null,_0x36da3e['g'][_0x33623b(0x97f)],_0x4be471,!0x0,null,_0x34089f,void 0x0,void 0x0,void 0x0,_0xf4e903),_0x3f338a=(_0x5290b1[_0x33623b(0x3a8)]=this['_samples'],_0x5290b1[_0x33623b(0x4b1)]=!0x0,_0x5290b1[_0x33623b(0x8ba)][_0x33623b(0x47e)](_0x4b5402=>{var _0x205a74=_0x33623b;0x0===this['_postProcessRunningIndex']?_0x4b5402['setTexture']('textureSampler',_0x222a00):_0x4b5402[_0x205a74(0x3b0)](_0x205a74(0x40d),_0x5290b1[_0x205a74(0x898)][_0x205a74(0x7c5)]),_0x4b5402[_0x205a74(0x1b5)]('maxFilterSize',this['blurMaxFilterSize']),_0x4b5402[_0x205a74(0x2ad)](_0x205a74(0x566),0x1/this['_blurTextureSizeX'],0x0),_0x4b5402[_0x205a74(0x89c)](_0x205a74(0xc2b),this['_getProjectedParticleConstant']()),_0x4b5402[_0x205a74(0x89c)](_0x205a74(0x5bd),this[_0x205a74(0x394)]()),this['_postProcessRunningIndex']++;}),_0x5290b1[_0x33623b(0xb5b)][_0x33623b(0x47e)](()=>{var _0x31c1a4=_0x33623b;_0x5290b1[_0x31c1a4(0xaed)][_0x31c1a4(0x92e)](_0x457416=>{var _0x47dbda=_0x31c1a4;_0x457416[_0x47dbda(0x7c5)][_0x47dbda(0x969)]=_0x6294e4['x']['CLAMP_ADDRESSMODE'],_0x457416['texture'][_0x47dbda(0xc16)]=_0x6294e4['x'][_0x47dbda(0xcca)];});}),this[_0x33623b(0xa11)](_0x5290b1),new _0x4e7e9c['D'](_0x33623b(0x510),_0x33623b(0xbe0),_0x536643,null,0x1,null,_0x36da3e['g']['TEXTURE_NEAREST_SAMPLINGMODE'],_0x4be471,!0x0,null,_0x34089f,void 0x0,void 0x0,void 0x0,_0xf4e903)),_0x5d6353=(_0x3f338a['samples']=this[_0x33623b(0x26a)],_0x3f338a[_0x33623b(0x8ba)][_0x33623b(0x47e)](_0x13f6e4=>{var _0x558266=_0x33623b;_0x13f6e4[_0x558266(0x1b5)](_0x558266(0x8d6),this['blurMaxFilterSize']),_0x13f6e4['setFloat2'](_0x558266(0x566),0x0,0x1/this[_0x558266(0x666)]),_0x13f6e4[_0x558266(0x89c)](_0x558266(0xc2b),this['_getProjectedParticleConstant']()),_0x13f6e4[_0x558266(0x89c)](_0x558266(0x5bd),this[_0x558266(0x394)]()),this['_postProcessRunningIndex']++;}),_0x3f338a[_0x33623b(0xb5b)]['add'](()=>{var _0x12f05b=_0x33623b;_0x3f338a[_0x12f05b(0xaed)][_0x12f05b(0x92e)](_0x64aad8=>{var _0xeeb94f=_0x12f05b;_0x64aad8[_0xeeb94f(0x7c5)][_0xeeb94f(0x969)]=_0x6294e4['x'][_0xeeb94f(0xcca)],_0x64aad8['texture'][_0xeeb94f(0xc16)]=_0x6294e4['x'][_0xeeb94f(0xcca)];});}),this[_0x33623b(0xa11)](_0x3f338a),_0x5290b1[_0x33623b(0xc57)]=!0x1,_0x3f338a[_0x33623b(0xc57)]=!0x1,[]);for(let _0x410bf0=0x0;_0x410bf0<0x2*this['_blurNumIterations'];++_0x410bf0)_0x5d6353[_0x410bf0]=0x1&_0x410bf0?_0x3f338a:_0x5290b1;return[_0x3b4dce,_0x2ecd8e,_0x5d6353];}}[_0x28ace9(0xa11)](_0x1ec857){var _0x1ce88a=_0x28ace9;_0x1ec857['isReusable']()&&(_0x1ec857['onActivateObservable'][_0x1ce88a(0x47e)](()=>{var _0x2d389b=_0x1ce88a;_0x1ec857[_0x2d389b(0xbbb)]=(_0x1ec857[_0x2d389b(0xbbb)]+0x1)%0x2;}),_0x1ec857['onApplyObservable']['add'](()=>{var _0x5a7bd9=_0x1ce88a;_0x1ec857[_0x5a7bd9(0xbbb)]=(_0x1ec857[_0x5a7bd9(0xbbb)]+0x1)%0x2;}));}[_0x28ace9(0xaeb)](){var _0x2460be=_0x28ace9,_0x435108;return this['blurFilterSize']*this[_0x2460be(0xbed)]*0.05*(this[_0x2460be(0x7a7)]/0x2)/Math[_0x2460be(0x1a9)]((null!=(_0x435108=null==(_0x435108=this[_0x2460be(0xd2e)])?void 0x0:_0x435108['fov'])?_0x435108:0x2d*Math['PI']/0xb4)/0x2);}['_getDepthThreshold'](){var _0x83f204=_0x28ace9;return this[_0x83f204(0xbed)]/0x2*this['blurDepthScale'];}[_0x28ace9(0x1cb)](){var _0x4901bd=_0x28ace9,_0x468b44;this['onDisposeObservable'][_0x4901bd(0x4e8)]()&&this[_0x4901bd(0x7fb)]['notifyObservers'](this),null!=(_0x468b44=this[_0x4901bd(0x311)])&&_0x468b44['dispose'](),(this[_0x4901bd(0x311)]=null)!=(_0x468b44=this['_texture'])&&_0x468b44['dispose'](),(this['_texture']=null)!=(_0x468b44=this[_0x4901bd(0x422)])&&_0x468b44[_0x4901bd(0x1cb)](),(this[_0x4901bd(0x422)]=null)!=(_0x468b44=this[_0x4901bd(0x9df)])&&_0x468b44[_0x4901bd(0x1cb)](),this[_0x4901bd(0x9df)]=null,this[_0x4901bd(0x958)]&&(this[_0x4901bd(0x958)][0x0]['dispose'](),this['_blurPostProcesses'][0x1][_0x4901bd(0x1cb)]()),this['_blurPostProcesses']=null;}}},0x1616b:(_0x1e495b,_0x5c51c9,_0x46d4df)=>{_0x46d4df['d'](_0x5c51c9,{'p':()=>_0x7d55db});var _0x48f915=_0x46d4df(0x77a5);class _0x7d55db{constructor(){var _0x3954bb=a7_0x5572;this['enabled']=!0x1,this['name']=_0x3954bb(0x220),this[_0x3954bb(0x7ae)]=[_0x48f915['g'][_0x3954bb(0x9f3)]];}}},0xbf60:(_0x3952ea,_0xfa4e8a,_0x15b498)=>{_0x15b498['d'](_0xfa4e8a,{'g':()=>_0x44c2c5});var _0x27674f=_0x15b498(0x77a5);class _0x44c2c5{constructor(){var _0x155b65=a7_0x5572;this['enabled']=!0x1,this[_0x155b65(0xa67)]=_0x155b65(0xc36),this[_0x155b65(0x7ae)]=[_0x27674f['g']['PREPASS_NORMAL_TEXTURE_TYPE'],_0x27674f['g'][_0x155b65(0x387)],_0x27674f['g'][_0x155b65(0x73d)]];}}},0x498b:(_0x1d1a2f,_0x23e0d9,_0x1a6f8b)=>{_0x1a6f8b['d'](_0x23e0d9,{'y':()=>_0x59cd1d});var _0xb6451e=_0x1a6f8b(0x77a5);class _0x59cd1d{constructor(){var _0x4cbc6e=a7_0x5572;this[_0x4cbc6e(0x650)]=!0x1,this['name']=_0x4cbc6e(0x62d),this[_0x4cbc6e(0x7ae)]=[_0xb6451e['g'][_0x4cbc6e(0x85c)],_0xb6451e['g']['PREPASS_REFLECTIVITY_TEXTURE_TYPE'],_0xb6451e['g']['PREPASS_POSITION_TEXTURE_TYPE']];}}},0x10748:(_0x578c44,_0x460844,_0x20c201)=>{_0x20c201['d'](_0x460844,{'M':()=>_0x4403b0});var _0x2d5eb8=_0x20c201(0x77a5);class _0x4403b0{constructor(){var _0x4fe291=a7_0x5572;this[_0x4fe291(0x650)]=!0x1,this['name']=_0x4fe291(0x4cb),this['texturesRequired']=[_0x2d5eb8['g'][_0x4fe291(0x85c)],_0x2d5eb8['g'][_0x4fe291(0x73d)]];}}},0x8362:(_0x2a8e68,_0x3f91cb,_0xcc0a34)=>{var _0x1b931b=a7_0x425593;_0xcc0a34['d'](_0x3f91cb,{'u':()=>_0x10dba9});var _0x38493c=_0xcc0a34(0x10ea4),_0x5f0b58=_0xcc0a34(0xc84b),_0x4a70b8=_0xcc0a34(0xbac7),_0x3f91cb=_0xcc0a34(0x5f28),_0x54eaa0=_0xcc0a34(0x77a5),_0xe9b219=(_0xcc0a34(0x816b),_0xcc0a34(0x17a92));_0xe9b219['v'][_0x1b931b(0x488)][_0x1b931b(0x309)]=_0x1b931b(0xd6b),_0xcc0a34(0x175b0),_0xcc0a34(0x6b23),_0xe9b219['v'][_0x1b931b(0x488)][_0x1b931b(0x5e8)]=_0x1b931b(0xcf8),(_0xe9b219['v']['ShadersStore'][_0x1b931b(0x517)]=_0x1b931b(0xc48),_0xcc0a34(0x4617));class _0x49e818 extends _0x3f91cb['D']{[_0x1b931b(0xa12)](){var _0x2adbd3=_0x1b931b;return _0x2adbd3(0x588);}constructor(_0x4ebd60,_0x554891,_0x44101d,_0x182b50=null,_0xc031db,_0x2f8ebe,_0x201123,_0x26db3c=_0x54eaa0['g'][_0x1b931b(0xd0a)]){var _0x291098=_0x1b931b;super(_0x4ebd60,'subSurfaceScattering',[_0x291098(0xd5b),'viewportSize',_0x291098(0x25c)],['diffusionS',_0x291098(0x1ed),_0x291098(0x8f7),_0x291098(0x241),_0x291098(0x478),_0x291098(0xaf8)],_0x44101d,_0x182b50,_0xc031db||_0x4a70b8['x'][_0x291098(0x8b8)],_0x2f8ebe,_0x201123,null,_0x26db3c,_0x291098(0x5e5),void 0x0,!0x0),this[_0x291098(0x851)]=_0x554891,this[_0x291098(0x35d)](),this[_0x291098(0x8ba)][_0x291098(0x47e)](_0x52af59=>{var _0x5aeef1=_0x291098,_0x19b61d;_0x554891[_0x5aeef1(0x89f)]&&_0x554891[_0x5aeef1(0x61d)]?(_0x19b61d=this[_0x5aeef1(0xd5b)],_0x52af59['setFloat'](_0x5aeef1(0x25c),_0x554891[_0x5aeef1(0x61d)][_0x5aeef1(0x25c)]),_0x52af59[_0x5aeef1(0x2ad)](_0x5aeef1(0xd5b),_0x19b61d['x'],_0x19b61d['y']),_0x52af59[_0x5aeef1(0x1c0)](_0x5aeef1(0x241),_0x554891[_0x5aeef1(0x89f)][_0x5aeef1(0xa4a)]()['textures'][_0x554891['prePassRenderer']['getIndex'](_0x54eaa0['g'][_0x5aeef1(0xc41)])]),_0x52af59[_0x5aeef1(0x1c0)]('depthSampler',_0x554891[_0x5aeef1(0x89f)]['getRenderTarget']()[_0x5aeef1(0x649)][_0x554891[_0x5aeef1(0x89f)][_0x5aeef1(0x7e6)](_0x54eaa0['g']['PREPASS_DEPTH_TEXTURE_TYPE'])]),_0x52af59[_0x5aeef1(0x1c0)](_0x5aeef1(0xaf8),_0x554891[_0x5aeef1(0x89f)][_0x5aeef1(0xa4a)]()[_0x5aeef1(0x649)][_0x554891[_0x5aeef1(0x89f)][_0x5aeef1(0x7e6)](_0x54eaa0['g']['PREPASS_ALBEDO_SQRT_TEXTURE_TYPE'])]),_0x52af59[_0x5aeef1(0x2ad)](_0x5aeef1(0x9cb),Math['tan'](_0x554891[_0x5aeef1(0xa95)]['fov']/0x2)*_0x554891[_0x5aeef1(0x989)]()[_0x5aeef1(0xc9b)](_0x554891[_0x5aeef1(0xa95)],!0x0),Math['tan'](_0x554891[_0x5aeef1(0xa95)]['fov']/0x2)),_0x52af59[_0x5aeef1(0x60c)](_0x5aeef1(0x31f),_0x554891['subSurfaceConfiguration'][_0x5aeef1(0x72e)]),_0x52af59['setArray'](_0x5aeef1(0x1ed),_0x554891[_0x5aeef1(0x61d)]['ssDiffusionD']),_0x52af59[_0x5aeef1(0x9e4)](_0x5aeef1(0x8f7),_0x554891[_0x5aeef1(0x61d)][_0x5aeef1(0x89b)])):_0x38493c['Y'][_0x5aeef1(0xcd8)](_0x5aeef1(0xc8e));});}}var _0x3fa36d=_0xcc0a34(0xbb85),_0x442c68=_0xcc0a34(0x15cb9);class _0x10dba9{constructor(_0x298a48){var _0x4f57a1=_0x1b931b;this[_0x4f57a1(0x251)]=[],this[_0x4f57a1(0x92d)]=[],this[_0x4f57a1(0x3f6)]=[],this[_0x4f57a1(0x650)]=!0x1,this[_0x4f57a1(0x777)]=!0x0,this[_0x4f57a1(0xa67)]=_0x3fa36d['l'][_0x4f57a1(0xacb)],this['ssDiffusionProfileColors']=[],this[_0x4f57a1(0x25c)]=0x1,this[_0x4f57a1(0x7ae)]=[_0x54eaa0['g']['PREPASS_DEPTH_TEXTURE_TYPE'],_0x54eaa0['g'][_0x4f57a1(0x1da)],_0x54eaa0['g']['PREPASS_COLOR_TEXTURE_TYPE'],_0x54eaa0['g'][_0x4f57a1(0xc41)]],this[_0x4f57a1(0x482)](new _0x5f0b58['Wo'](0x1,0x1,0x1)),this[_0x4f57a1(0x851)]=_0x298a48,_0x10dba9[_0x4f57a1(0xad2)](this[_0x4f57a1(0x851)]);}get[_0x1b931b(0x72e)](){var _0x26e9ca=_0x1b931b;return this[_0x26e9ca(0x251)];}get[_0x1b931b(0x4c4)](){return this['_ssDiffusionD'];}get[_0x1b931b(0x89b)](){return this['_ssFilterRadii'];}[_0x1b931b(0x482)](_0x4174d6){var _0xa91c82=_0x1b931b;if(0x5<=this[_0xa91c82(0x4c4)][_0xa91c82(0x86e)])return _0x38493c['Y'][_0xa91c82(0xcd8)](_0xa91c82(0x922)),0x0;for(let _0x3c3296=0x0;_0x3c3296<this[_0xa91c82(0x251)][_0xa91c82(0x86e)]/0x3;_0x3c3296++)if(this[_0xa91c82(0x251)][0x3*_0x3c3296]===_0x4174d6['r']&&this[_0xa91c82(0x251)][0x3*_0x3c3296+0x1]===_0x4174d6['g']&&this[_0xa91c82(0x251)][0x3*_0x3c3296+0x2]===_0x4174d6['b'])return _0x3c3296;return this['_ssDiffusionS'][_0xa91c82(0x303)](_0x4174d6['r'],_0x4174d6['b'],_0x4174d6['g']),this[_0xa91c82(0x3f6)]['push'](Math[_0xa91c82(0x713)](Math[_0xa91c82(0x713)](_0x4174d6['r'],_0x4174d6['b']),_0x4174d6['g'])),this['_ssFilterRadii'][_0xa91c82(0x303)](this[_0xa91c82(0x247)](_0x4174d6)),this[_0xa91c82(0xb99)][_0xa91c82(0x303)](_0x4174d6),this['_ssDiffusionD']['length']-0x1;}[_0x1b931b(0x70e)](){var _0x1e5787=_0x1b931b;return this['postProcess']=new _0x49e818(_0x1e5787(0x745),this[_0x1e5787(0x851)],0x1,null,void 0x0,this[_0x1e5787(0x851)][_0x1e5787(0x989)]()),this[_0x1e5787(0x646)][_0x1e5787(0xc57)]=!0x1,this[_0x1e5787(0x646)];}[_0x1b931b(0x4a7)](){var _0xb58745=_0x1b931b;this[_0xb58745(0x3f6)]=[],this[_0xb58745(0x251)]=[],this[_0xb58745(0x92d)]=[],this[_0xb58745(0xb99)]=[];}[_0x1b931b(0x1cb)](){var _0x5c7ae6=_0x1b931b;this[_0x5c7ae6(0x4a7)](),this[_0x5c7ae6(0x646)]&&this[_0x5c7ae6(0x646)][_0x5c7ae6(0x1cb)]();}[_0x1b931b(0x247)](_0x3fc554){var _0x31e411=_0x1b931b;return _0x3fc554=Math['max'](_0x3fc554['r'],_0x3fc554['g'],_0x3fc554['b']),this[_0x31e411(0x407)](0.997,_0x3fc554);}['_sampleBurleyDiffusionProfile'](_0x3368ea,_0x3a5fc4){var _0x4be167=_0x1b931b,_0x4a5fb0=0x1+0x4*(_0x3368ea=0x1-_0x3368ea)*(0x2*_0x3368ea+Math['sqrt'](0x1+0x4*_0x3368ea*_0x3368ea)),_0x49ae7f=Math['pow'](_0x4a5fb0,-0x1/0x3);return 0x3*Math[_0x4be167(0x25d)]((0x1+_0x4a5fb0*_0x49ae7f*_0x49ae7f+_0x49ae7f)/(0x4*_0x3368ea))*_0x3a5fc4;}}_0x10dba9['_SceneComponentInitialization']=_0x15bff8=>{throw(0x0,_0x442c68['S'])('SubSurfaceSceneComponent');};},0x15a7:(_0x5b25a7,_0x259b96,_0xb3e7f6)=>{var _0x1a719e=a7_0x425593;_0xb3e7f6(0x17a92)['v'][_0x1a719e(0x285)][_0x1a719e(0xadf)]=_0x1a719e(0x287);},0x6052:(_0x23ebbc,_0x15e3e6,_0x10d6c3)=>{var _0x5952d8=a7_0x425593,_0x462e18=_0x10d6c3(0x17a92);_0x10d6c3(0x6cce),_0x462e18['v']['IncludesShadersStore'][_0x5952d8(0x64d)]=_0x5952d8(0x3ce);},0xdcea:(_0x256ff5,_0xffd6db,_0x3cb741)=>{var _0x23a41e=a7_0x425593;_0x3cb741(0x17a92)['v'][_0x23a41e(0x488)][_0x23a41e(0x46c)]='#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';},0x12929:(_0x26cae8,_0x451d30,_0x22e6d9)=>{var _0x2394c1=a7_0x425593;_0x22e6d9(0x17a92)['v'][_0x2394c1(0x488)][_0x2394c1(0xd12)]=_0x2394c1(0xc84);},0x13f9a:(_0x31ff44,_0x4cfd7d,_0x1f642c)=>{var _0x374bce=a7_0x425593;_0x1f642c(0x17a92)['v']['IncludesShadersStore']['bonesDeclaration']=_0x374bce(0x79e);},0xb434:(_0x3f13db,_0xe72e68,_0x537098)=>{var _0x2dd726=a7_0x425593;_0x537098(0x17a92)['v']['IncludesShadersStore'][_0x2dd726(0x8e7)]=_0x2dd726(0xa03);},0x140f3:(_0x164ab5,_0xdfbb56,_0x3d39dc)=>{var _0x3610c5=a7_0x425593;_0x3d39dc(0x17a92)['v'][_0x3610c5(0x488)]['boundingBoxRendererUboDeclaration']=_0x3610c5(0x746);},0x6664:(_0x58b7f1,_0x51684a,_0x10be2c)=>{var _0x1e2f9a=a7_0x425593;_0x10be2c(0x17a92)['v']['IncludesShadersStore'][_0x1e2f9a(0x5c2)]=_0x1e2f9a(0x742);},0xe577:(_0x548384,_0x23df34,_0x590cd1)=>{var _0x39672b=a7_0x425593,_0x180f85=_0x590cd1(0x17a92);_0x590cd1(0x126e8),_0x180f85['v'][_0x39672b(0x488)]['bumpFragmentFunctions']='#if\x20defined(BUMP)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump,_SAMPLERNAME_,bump)\x0a#endif\x0a#if\x20defined(DETAIL)\x0a#include<samplerFragmentDeclaration>(_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;\x20i<iMaxSamples;\x20i++)\x0a{\x0acurrSampledHeight=texture2D(bumpSampler,texCoord+vCurrOffset).w;\x0aif\x20(!keepWorking)\x0a{\x0a}\x0aelse\x20if\x20(currSampledHeight>currRayHeight)\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';},0x8cac:(_0x199c94,_0x36a0cf,_0x3ce98c)=>{var _0x5a2f5c=a7_0x425593;_0x3ce98c(0x17a92)['v'][_0x5a2f5c(0x488)][_0x5a2f5c(0xd63)]=_0x5a2f5c(0xcf3);},0xced6:(_0xdc93d9,_0x586288,_0xb75267)=>{var _0x1e9dd8=a7_0x425593;_0xb75267(0x17a92)['v']['IncludesShadersStore'][_0x1e9dd8(0x343)]=_0x1e9dd8(0x7d2);},0x8785:(_0x213124,_0x36682f,_0x393554)=>{var _0xead39d=a7_0x425593;_0x393554(0x17a92)['v'][_0xead39d(0x488)][_0xead39d(0x49d)]='#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';},0x3328:(_0x3bbc56,_0x3e0cca,_0x3370ac)=>{var _0x33cafe=a7_0x425593;_0x3370ac(0x17a92)['v'][_0x33cafe(0x488)][_0x33cafe(0x9bb)]=_0x33cafe(0xce6);},0xff1b:(_0x41c2e9,_0x105e7f,_0x2b0f94)=>{var _0x41bc0f=a7_0x425593;_0x2b0f94(0x17a92)['v']['IncludesShadersStore'][_0x41bc0f(0x7ce)]='#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';},0x6efd:(_0x525dc8,_0x17ddcf,_0x5c2628)=>{var _0x5abb50=a7_0x425593;_0x5c2628(0x17a92)['v'][_0x5abb50(0x488)][_0x5abb50(0x1d7)]='#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';},0x13216:(_0x2597b5,_0x535582,_0x1640eb)=>{var _0x407861=a7_0x425593;_0x1640eb(0x17a92)['v'][_0x407861(0x488)][_0x407861(0x36d)]='#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:(_0x2255cf,_0x194f82,_0x4b2397)=>{var _0x384187=a7_0x425593;_0x4b2397(0x17a92)['v'][_0x384187(0x488)][_0x384187(0xa0a)]='#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';},0xf57c:(_0x1260c9,_0x1c2a22,_0x3b8fdf)=>{var _0x4a3da7=a7_0x425593;_0x3b8fdf(0x17a92)['v'][_0x4a3da7(0x488)][_0x4a3da7(0x4e4)]=_0x4a3da7(0x24c);},0x2826:(_0x5195b6,_0x2342a8,_0x2760aa)=>{var _0x1c4394=a7_0x425593;_0x2760aa(0x17a92)['v'][_0x1c4394(0x488)][_0x1c4394(0x19c)]=_0x1c4394(0x25f);},0x4bc6:(_0x16813e,_0x7bc207,_0x8a43d4)=>{var _0x59403a=a7_0x425593,_0x40c0f4=_0x8a43d4(0x17a92);_0x8a43d4(0x6cce),_0x8a43d4(0x11fa6),_0x40c0f4['v']['IncludesShadersStore'][_0x59403a(0x8bb)]='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<sceneUboDeclaration>\x0a#include<meshUboDeclaration>\x0a';},0x6318:(_0x232169,_0x363c1d,_0x5ab853)=>{var _0x56cfd5=a7_0x425593;_0x5ab853(0x17a92)['v']['IncludesShadersStore']['depthPrePass']=_0x56cfd5(0x332);},0x10ef:(_0x5aef75,_0x30e1bb,_0x2e26fc)=>{var _0x3866e9=a7_0x425593;_0x2e26fc(0x17a92)['v'][_0x3866e9(0x488)][_0x3866e9(0x82f)]=_0x3866e9(0xcc3);},0x12a16:(_0x223034,_0x5e5110,_0x40eb0e)=>{var _0xc98e24=a7_0x425593;_0x40eb0e(0x17a92)['v'][_0xc98e24(0x488)]['fogFragmentDeclaration']=_0xc98e24(0xc01);},0x9871:(_0x1ff770,_0x5daf72,_0x61ab05)=>{var _0x1a2fe8=a7_0x425593;_0x61ab05(0x17a92)['v']['IncludesShadersStore'][_0x1a2fe8(0x891)]=_0x1a2fe8(0x939);},0x6a99:(_0x3d5bfa,_0x13b33c,_0x8d6ce)=>{var _0x50d1e4=a7_0x425593;_0x8d6ce(0x17a92)['v']['IncludesShadersStore'][_0x50d1e4(0x763)]='#ifdef\x20FOG\x0avarying\x20vec3\x20vFogDistance;\x0a#endif\x0a';},0xb008:(_0x1ce769,_0x44564c,_0x3c23d8)=>{var _0x1db345=a7_0x425593;_0x3c23d8(0x17a92)['v'][_0x1db345(0x488)][_0x1db345(0xb94)]='#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';},0x14535:(_0x4558e3,_0x2847ab,_0x1493d0)=>{var _0x2b3f01=a7_0x425593;_0x1493d0(0x17a92)['v']['IncludesShadersStore'][_0x2b3f01(0x226)]=_0x2b3f01(0x797);},0x16b85:(_0x2f3a2a,_0x21e5be,_0x23be69)=>{var _0xb22b13=a7_0x425593;_0x23be69(0x17a92)['v'][_0xb22b13(0x488)][_0xb22b13(0x9ba)]=_0xb22b13(0xccf);},0x175b0:(_0x2e4762,_0x2395d2,_0x186ba7)=>{var _0x193e18=a7_0x425593;_0x186ba7(0x17a92)['v'][_0x193e18(0x488)]['helperFunctions']=_0x193e18(0xad1);},0x17ef8:(_0x574ce3,_0x22d09f,_0x22a56f)=>{var _0x308d79=a7_0x425593;_0x22a56f(0x17a92)['v'][_0x308d79(0x488)][_0x308d79(0x6de)]=_0x308d79(0x295);},0x16c11:(_0x5e941a,_0x4c666c,_0xc9aa5f)=>{var _0x5a4e3a=a7_0x425593;_0xc9aa5f(0x17a92)['v'][_0x5a4e3a(0x488)]['imageProcessingDeclaration']=_0x5a4e3a(0x825);},0x119a9:(_0xeb6686,_0xe3c8,_0x3a3bf)=>{var _0x3ecc8b=a7_0x425593;_0x3a3bf(0x17a92)['v'][_0x3ecc8b(0x488)]['imageProcessingFunctions']='#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}';},0x1b98:(_0x5828dd,_0x3d8a58,_0x32bfd7)=>{var _0x553d5d=a7_0x425593;_0x32bfd7(0x17a92)['v'][_0x553d5d(0x488)][_0x553d5d(0xc20)]=_0x553d5d(0xad7);},0x12bc6:(_0x233b3e,_0x3dcdfc,_0x448d62)=>{var _0x47d2cc=a7_0x425593;_0x448d62(0x17a92)['v']['IncludesShadersStore'][_0x47d2cc(0xab6)]=_0x47d2cc(0x4eb);},0x733d:(_0x5d9474,_0x52cdbd,_0x1c2753)=>{var _0xa60cfb=a7_0x425593;_0x1c2753(0x17a92)['v']['IncludesShadersStore'][_0xa60cfb(0x531)]=_0xa60cfb(0xc85);},0x1610b:(_0x1b90cc,_0x1b8328,_0x39285b)=>{var _0x45b24a=a7_0x425593;_0x39285b(0x17a92)['v']['IncludesShadersStore'][_0x45b24a(0x810)]=_0x45b24a(0xb32);},0xb0bc:(_0x45f6bd,_0x50bfea,_0x161df2)=>{var _0xa3917=a7_0x425593;_0x161df2(0x17a92)['v'][_0xa3917(0x488)][_0xa3917(0xb9a)]=_0xa3917(0x176);},0xe6c7:(_0x2ee690,_0x5b495b,_0xb5093c)=>{var _0x5608ba=a7_0x425593;_0xb5093c(0x17a92)['v'][_0x5608ba(0x488)][_0x5608ba(0xc80)]=_0x5608ba(0x413);},0x15fb5:(_0x3aac3d,_0x148c13,_0x30c8b4)=>{var _0x4067d7=a7_0x425593;_0x30c8b4(0x17a92)['v']['IncludesShadersStore']['lightUboDeclaration']=_0x4067d7(0x333);},0x1b3f:(_0x503e64,_0x2b0d29,_0x4dd3db)=>{var _0x5856fb=a7_0x425593;_0x4dd3db(0x17a92)['v'][_0x5856fb(0x488)][_0x5856fb(0x94b)]=_0x5856fb(0x5ce);},0xc971:(_0x3032fd,_0x3169c1,_0x43587b)=>{var _0x2099e6=a7_0x425593;_0x43587b(0x17a92)['v'][_0x2099e6(0x488)][_0x2099e6(0xb5a)]=_0x2099e6(0x50a);},0x1f57:(_0x348e0e,_0x50c846,_0x197453)=>{var _0x49a3ba=a7_0x425593;_0x197453(0x17a92)['v'][_0x49a3ba(0x488)][_0x49a3ba(0x1d9)]='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:(_0x4d17a9,_0x46779f,_0x96b9e9)=>{var _0x4c4103=a7_0x425593;_0x96b9e9(0x17a92)['v'][_0x4c4103(0x488)][_0x4c4103(0x881)]=_0x4c4103(0x33e);},0x1445f:(_0x2a3618,_0x9afa61,_0x5538b)=>{var _0x436439=a7_0x425593;_0x5538b(0x17a92)['v'][_0x436439(0x488)][_0x436439(0x393)]=_0x436439(0x7f6);},0x13da6:(_0x350304,_0x376187,_0x25ab1b)=>{var _0x161394=a7_0x425593;_0x25ab1b(0x17a92)['v'][_0x161394(0x488)]['logDepthVertex']=_0x161394(0x9f8);},0x94fa:(_0x1b3bb,_0x93da7,_0x1d9941)=>{var _0x2e907a=a7_0x425593;_0x1d9941(0x17a92)['v'][_0x2e907a(0x488)][_0x2e907a(0x33f)]=_0x2e907a(0x417);},0x11fa6:(_0x1d36a1,_0xab3e75,_0x4cdc67)=>{var _0x2e059d=a7_0x425593;_0x4cdc67(0x17a92)['v'][_0x2e059d(0x488)][_0x2e059d(0x367)]=_0x2e059d(0x8bf);},0x1070:(_0x228f08,_0x3e7ea9,_0x284caa)=>{var _0xdc6148=a7_0x425593;_0x284caa(0x17a92)['v'][_0xdc6148(0x488)][_0xdc6148(0xb95)]=_0xdc6148(0xa48);},0x12abc:(_0xb97155,_0x258756,_0x5b1eec)=>{var _0x2a06c3=a7_0x425593;_0x5b1eec(0x17a92)['v'][_0x2a06c3(0x488)][_0x2a06c3(0x371)]=_0x2a06c3(0x268);},0x13906:(_0x51debc,_0x95327,_0x4d8acc)=>{var _0x5977b1=a7_0x425593;_0x4d8acc(0x17a92)['v'][_0x5977b1(0x488)][_0x5977b1(0x594)]=_0x5977b1(0x846);},0x9ea3:(_0x3470ce,_0x5440cc,_0x26138c)=>{var _0xd1c18d=a7_0x425593;_0x26138c(0x17a92)['v']['IncludesShadersStore'][_0xd1c18d(0x599)]=_0xd1c18d(0x658);},0xa8cd:(_0x59b3b,_0x20a74d,_0x4d1cba)=>{var _0x7a3bd9=a7_0x425593;_0x4d1cba(0x17a92)['v'][_0x7a3bd9(0x488)][_0x7a3bd9(0xb98)]=_0x7a3bd9(0x723);},0xa965:(_0x34de40,_0x233ec7,_0x1d43cf)=>{var _0x393f1f=a7_0x425593;_0x1d43cf(0x17a92)['v'][_0x393f1f(0x488)][_0x393f1f(0x9e5)]=_0x393f1f(0xa07);},0xe85e:(_0x1925c1,_0x47cea0,_0x2919eb)=>{var _0x474e21=a7_0x425593;_0x2919eb(0x17a92)['v'][_0x474e21(0x488)]['packingFunctions']='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}';},0x10b3e:(_0x5746da,_0x450da1,_0x3282c9)=>{var _0xb249c3=a7_0x425593;_0x3282c9(0x17a92)['v']['IncludesShadersStore'][_0xb249c3(0xa32)]=_0xb249c3(0xafe);},0xc853:(_0x268523,_0x18fd06,_0xd949a)=>{var _0x54de72=a7_0x425593,_0x3fe091=_0xd949a(0x17a92);_0xd949a(0x6cce),_0xd949a(0x11fa6),_0x3fe091['v'][_0x54de72(0x488)][_0x54de72(0x8de)]='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<sceneUboDeclaration>\x0a#include<meshUboDeclaration>\x0a';},0x67c9:(_0x41d887,_0x1cf134,_0x2d9037)=>{var _0x252765=a7_0x425593;_0x2d9037(0x17a92)['v'][_0x252765(0x488)][_0x252765(0xba1)]=_0x252765(0xc38);},0x1abd:(_0x49214a,_0xde50bf,_0x1221ae)=>{var _0x40ad90=a7_0x425593;_0x1221ae(0x17a92)['v'][_0x40ad90(0x488)]['prePassVertex']='#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';},0x18442:(_0x429075,_0xe56881,_0x3791e0)=>{var _0x44811a=a7_0x425593;_0x3791e0(0x17a92)['v']['IncludesShadersStore'][_0x44811a(0x996)]=_0x44811a(0xcbd);},0x11645:(_0x6b404e,_0x3a0ef3,_0x2c18e1)=>{var _0x1c7517=a7_0x425593;_0x2c18e1(0x17a92)['v'][_0x1c7517(0x488)]['reflectionFunction']=_0x1c7517(0xb73);},0x126e8:(_0x3e3c1b,_0x22ae18,_0x5b3975)=>{var _0x561980=a7_0x425593;_0x5b3975(0x17a92)['v'][_0x561980(0x488)][_0x561980(0x957)]=_0x561980(0x900);},0x15b7a:(_0x3c294b,_0x433216,_0x429f3a)=>{var _0x26cc09=a7_0x425593;_0x429f3a(0x17a92)['v']['IncludesShadersStore'][_0x26cc09(0x49c)]=_0x26cc09(0x750);},0x2f27:(_0xba2d65,_0x42d7b2,_0x361602)=>{var _0x4ee100=a7_0x425593;_0x361602(0x17a92)['v'][_0x4ee100(0x488)][_0x4ee100(0x34b)]=_0x4ee100(0x64c);},0x6cce:(_0x1a3caf,_0x10e86a,_0x26e0e6)=>{var _0x2b68d4=a7_0x425593;_0x26e0e6(0x17a92)['v'][_0x2b68d4(0x488)][_0x2b68d4(0x1ee)]=_0x2b68d4(0x298);},0x4547:(_0x20c47d,_0x2ffba0,_0x506f2a)=>{var _0x45da00=a7_0x425593;_0x506f2a(0x17a92)['v'][_0x45da00(0x488)]['shadowMapFragmentSoftTransparentShadow']=_0x45da00(0x4f7);},0x1f85:(_0x1bcf0e,_0x376549,_0x224946)=>{var _0x39e711=a7_0x425593;_0x224946(0x17a92)['v']['IncludesShadersStore'][_0x39e711(0x9a5)]=_0x39e711(0xca0);},0x6e75:(_0x5db9a9,_0x1d3fe4,_0x411604)=>{var _0x354c53=a7_0x425593;_0x411604(0x17a92)['v'][_0x354c53(0x488)][_0x354c53(0x95b)]=_0x354c53(0xd26);},0x6b23:(_0x373a19,_0x105252,_0x22bfff)=>{var _0x2a7a53=a7_0x425593;_0x22bfff(0x17a92)['v'][_0x2a7a53(0x488)][_0x2a7a53(0xbc0)]=_0x2a7a53(0x587);},0x17bd8:(_0x4330f0,_0x3df8b6,_0xc861d)=>{var _0x9d8a75=a7_0x425593;_0xc861d(0x17a92)['v'][_0x9d8a75(0x488)][_0x9d8a75(0x6d2)]=_0x9d8a75(0x181);},0xd68d:(_0x1beff9,_0x12d66e,_0x5de5b4)=>{var _0x14cb00=a7_0x425593;_0x5de5b4(0x17a92)['v'][_0x14cb00(0x488)]['uvVariableDeclaration']=_0x14cb00(0xae1);},0xedb9:(_0x1fa752,_0xd2c58d,_0x5b6e48)=>{var _0x2021dc=a7_0x425593;_0x5b6e48(0x17a92)['v'][_0x2021dc(0x488)][_0x2021dc(0x5e7)]=_0x2021dc(0x6d6);},0x16944:(_0x51bbad,_0x2b30df,_0x58703c)=>{var _0x35e0e2=a7_0x425593;_0x58703c(0x17a92)['v'][_0x35e0e2(0xd4b)][_0x35e0e2(0x88c)]=_0x35e0e2(0xa97);},0x2318:(_0x34e206,_0x16a762,_0x3df630)=>{var _0x41df5b=a7_0x425593,_0x1d558d=_0x3df630(0x17a92);_0x1d558d['v'][_0x41df5b(0x488)][_0x41df5b(0xac7)]='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',_0x3df630(0x6052),_0x3df630(0x175b0),_0x3df630(0x11645),_0x3df630(0x16c11),_0x3df630(0xe6c7),_0x3df630(0x15fb5),_0x3df630(0x1f57),_0x3df630(0x1f85),_0x3df630(0x119a9),_0x3df630(0xff1b),_0x3df630(0x12a16),_0x3df630(0x3328),_0x3df630(0xb0bc),_0x3df630(0x10ef),_0x1d558d['v'][_0x41df5b(0xd4b)][_0x41df5b(0xa79)]=_0x41df5b(0x623);},0xa0d7:(_0x1402d2,_0x3c9382,_0x11da87)=>{var _0x2539b7=a7_0x425593,_0x1d6f9e=_0x11da87(0x17a92);_0x1d6f9e['v'][_0x2539b7(0x488)][_0x2539b7(0xba2)]=_0x2539b7(0x2b2),_0x11da87(0x6052),_0x11da87(0x175b0),_0x11da87(0x13f9a),_0x11da87(0x12929),_0x11da87(0x12bc6),_0x11da87(0x13216),_0x11da87(0x6a99),_0x11da87(0x1b3f),_0x11da87(0xc971),_0x11da87(0x733d),_0x11da87(0xb434),_0x11da87(0xdcea),_0x11da87(0x6efd),_0x11da87(0x9871),_0x11da87(0x6e75),_0x1d6f9e['v'][_0x2539b7(0xd4b)][_0x2539b7(0x172)]=_0x2539b7(0x48b);},0x16de7:(_0x3a517b,_0x40bea1,_0xd44efa)=>{var _0x4caaf8=a7_0x425593;_0xd44efa(0x17a92)['v'][_0x4caaf8(0xd4b)][_0x4caaf8(0x23d)]=_0x4caaf8(0x444);},0x51b7:(_0x585a40,_0x11f4fb,_0x40724b)=>{var _0x1d4bbb=a7_0x425593;_0x40724b(0x17a92)['v'][_0x1d4bbb(0xd4b)]['bloomMergePixelShader']=_0x1d4bbb(0xa40);},0x1660e:(_0x2b65de,_0x3280f9,_0x175540)=>{var _0x155f79=a7_0x425593,_0x4b22cb=_0x175540(0x17a92);_0x4b22cb['v']['IncludesShadersStore'][_0x155f79(0xd00)]=_0x155f79(0x7cd),_0x175540(0x140f3),_0x4b22cb['v'][_0x155f79(0xd4b)][_0x155f79(0x68c)]='#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:(_0x1c0213,_0x25a9f6,_0x2339a3)=>{var _0x26c071=a7_0x425593,_0x688a23=_0x2339a3(0x17a92);_0x688a23['v'][_0x26c071(0x488)]['boundingBoxRendererVertexDeclaration']=_0x26c071(0xb27),_0x2339a3(0x140f3),_0x688a23['v']['ShadersStore'][_0x26c071(0x622)]=_0x26c071(0x859);},0x9518:(_0xf71644,_0x3e55aa,_0x281bda)=>{var _0x123965=a7_0x425593;_0x281bda(0x17a92)['v'][_0x123965(0xd4b)]['chromaticAberrationPixelShader']=_0x123965(0xbc5);},0x1411e:(_0x5d0a10,_0x5f2ec8,_0x65a32a)=>{var _0x2f4c6d=a7_0x425593;_0x65a32a(0x17a92)['v'][_0x2f4c6d(0xd4b)][_0x2f4c6d(0x8ad)]=_0x2f4c6d(0x2df);},0x119:(_0x40050d,_0xfd692b,_0x2e1419)=>{var _0x121ae6=a7_0x425593,_0x4b4220=_0x2e1419(0x17a92);_0x2e1419(0xff1b),_0x2e1419(0x3328),_0x4b4220['v'][_0x121ae6(0xd4b)][_0x121ae6(0xb9c)]=_0x121ae6(0x5d2);},0x17a74:(_0x5850a8,_0x30814e,_0x39c350)=>{var _0x5b911c=a7_0x425593,_0x4fa67e=_0x39c350(0x17a92);_0x39c350(0x13f9a),_0x39c350(0x12929),_0x39c350(0x13216),_0x39c350(0x12bc6),_0x39c350(0x733d),_0x39c350(0xb434),_0x39c350(0xdcea),_0x39c350(0x6efd),_0x39c350(0xedb9),_0x4fa67e['v'][_0x5b911c(0xd4b)][_0x5b911c(0xd55)]=_0x5b911c(0xcf4);},0xbba1:(_0xaeb583,_0x2a0b49,_0x3aa78c)=>{var _0x445602=a7_0x425593;_0x3aa78c(0x17a92)['v'][_0x445602(0xd4b)][_0x445602(0x994)]=_0x445602(0x3aa);},0x10824:(_0x49cbe1,_0x52c944,_0x2bcb0c)=>{var _0x766b72=a7_0x425593;_0x2bcb0c(0x17a92)['v'][_0x766b72(0xd4b)][_0x766b72(0x916)]=_0x766b72(0x72f);},0x11840:(_0x8d26bb,_0x206949,_0x24b643)=>{var _0x3b2f2b=a7_0x425593,_0x91aabc=_0x24b643(0x17a92);_0x24b643(0x175b0),_0x91aabc['v'][_0x3b2f2b(0xd4b)][_0x3b2f2b(0x9fc)]=_0x3b2f2b(0x1f9);},0x1859e:(_0x535b0d,_0x3d1137,_0x5665c6)=>{var _0xd758a4=a7_0x425593,_0x3d3627=_0x5665c6(0x17a92);_0x5665c6(0xf57c),_0x3d3627['v'][_0xd758a4(0x488)][_0xd758a4(0x6c8)]=_0xd758a4(0x71b),_0x5665c6(0x4bc6),_0x5665c6(0x67c9),_0x5665c6(0xa8cd),_0x5665c6(0x94fa),_0x5665c6(0x175b0),_0x5665c6(0xe6c7),_0x5665c6(0x15fb5),_0x5665c6(0x1f57),_0x5665c6(0x1f85),_0x5665c6(0x126e8),_0x5665c6(0xb008),_0x5665c6(0x11645),_0x5665c6(0x16c11),_0x5665c6(0x119a9),_0x5665c6(0x8cac),_0x5665c6(0xe577),_0x5665c6(0xff1b),_0x5665c6(0x17bd9),_0x5665c6(0x12a16),_0x5665c6(0x3328),_0x5665c6(0x6664),_0x5665c6(0xcff7),_0x5665c6(0x6318),_0x5665c6(0xb0bc),_0x5665c6(0x1445f),_0x5665c6(0x10ef),_0x5665c6(0xa965),_0x3d3627['v']['ShadersStore']['defaultPixelShader']='#include<__decl__defaultFragment>\x0a#if\x20defined(BUMP)\x20||\x20!defined(NORMAL)\x0a#extension\x20GL_OES_standard_derivatives\x20:\x20enable\x0a#endif\x0a#include<prePassDeclaration>[SCENE_MRT_COUNT]\x0a#include<oitDeclaration>\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<mainUVVaryingDeclaration>[1..7]\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,DIFFUSE,_VARYINGNAME_,Diffuse,_SAMPLERNAME_,diffuse)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient,_SAMPLERNAME_,ambient)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity,_SAMPLERNAME_,opacity)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive,_SAMPLERNAME_,emissive)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap,_SAMPLERNAME_,lightmap)\x0a#include<samplerFragmentDeclaration>(_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<samplerFragmentDeclaration>(_DEFINENAME_,SPECULAR,_VARYINGNAME_,Specular,_SAMPLERNAME_,specular)\x0a#endif\x0a#include<fresnelFunction>\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<reflectionFunction>\x0a#endif\x0a#include<imageProcessingDeclaration>\x0a#include<imageProcessingFunctions>\x0a#include<bumpFragmentMainFunctions>\x0a#include<bumpFragmentFunctions>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<logDepthDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\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<bumpFragment>\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<alphaCutOff)\x0adiscard;\x0a#endif\x0a#ifdef\x20ALPHAFROMDIFFUSE\x0aalpha*=baseColor.a;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_UPDATE_ALPHA\x0abaseColor.rgb*=vDiffuseInfos.y;\x0a#endif\x0a#ifdef\x20DECAL\x0avec4\x20decalColor=texture2D(decalSampler,vDecalUV+uvOffset);\x0a#include<decalFragment>(surfaceAlbedo,baseColor,GAMMADECAL,_GAMMADECAL_NOTUSED_)\x0a#endif\x0a#include<depthPrePass>\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<lightFragment>[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<alphaCutOff)\x0adiscard;\x0a#endif\x0a#ifndef\x20ALPHABLEND\x0aalpha=1.0;\x0a#endif\x0a#endif\x0avec3\x20emissiveColor=vEmissiveColor;\x0a#ifdef\x20EMISSIVE\x0aemissiveColor+=texture2D(emissiveSampler,vEmissiveUV+uvOffset).rgb*vEmissiveInfos.y;\x0a#endif\x0a#ifdef\x20EMISSIVEFRESNEL\x0afloat\x20emissiveFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,emissiveRightColor.a,emissiveLeftColor.a);\x0aemissiveColor*=emissiveLeftColor.rgb*(1.0-emissiveFresnelTerm)+emissiveFresnelTerm*emissiveRightColor.rgb;\x0a#endif\x0a#ifdef\x20DIFFUSEFRESNEL\x0afloat\x20diffuseFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,diffuseRightColor.a,diffuseLeftColor.a);\x0adiffuseBase*=diffuseLeftColor.rgb*(1.0-diffuseFresnelTerm)+diffuseFresnelTerm*diffuseRightColor.rgb;\x0a#endif\x0a#ifdef\x20EMISSIVEASILLUMINATION\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor+vAmbientColor,0.0,1.0)*baseColor.rgb;\x0a#else\x0a#ifdef\x20LINKEMISSIVEWITHDIFFUSE\x0avec3\x20finalDiffuse=clamp((diffuseBase+emissiveColor)*diffuseColor+vAmbientColor,0.0,1.0)*baseColor.rgb;\x0a#else\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor+emissiveColor+vAmbientColor,0.0,1.0)*baseColor.rgb;\x0a#endif\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20finalSpecular=specularBase*specularColor;\x0a#ifdef\x20SPECULAROVERALPHA\x0aalpha=clamp(alpha+dot(finalSpecular,vec3(0.3,0.59,0.11)),0.,1.);\x0a#endif\x0a#else\x0avec3\x20finalSpecular=vec3(0.0);\x0a#endif\x0a#ifdef\x20REFLECTIONOVERALPHA\x0aalpha=clamp(alpha+dot(reflectionColor.rgb,vec3(0.3,0.59,0.11)),0.,1.);\x0a#endif\x0a#ifdef\x20EMISSIVEASILLUMINATION\x0avec4\x20color=vec4(clamp(finalDiffuse*baseAmbientColor+finalSpecular+reflectionColor.rgb+emissiveColor+refractionColor.rgb,0.0,1.0),alpha);\x0a#else\x0avec4\x20color=vec4(finalDiffuse*baseAmbientColor+finalSpecular+reflectionColor.rgb+refractionColor.rgb,alpha);\x0a#endif\x0a#ifdef\x20LIGHTMAP\x0a#ifndef\x20LIGHTMAPEXCLUDED\x0a#ifdef\x20USELIGHTMAPASSHADOWMAP\x0acolor.rgb*=lightmapColor.rgb;\x0a#else\x0acolor.rgb+=lightmapColor.rgb;\x0a#endif\x0a#endif\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_FOG\x0acolor.rgb=max(color.rgb,0.);\x0a#include<logDepthFragment>\x0a#include<fogFragment>\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<oitFragment>\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:(_0x5a313a,_0x1c26ba,_0x1cc9d4)=>{var _0x3abac7=a7_0x425593,_0x39255f=_0x1cc9d4(0x17a92);_0x1cc9d4(0x2826),_0x39255f['v'][_0x3abac7(0x488)][_0x3abac7(0x5fb)]=_0x3abac7(0x84a),_0x1cc9d4(0x4bc6),_0x1cc9d4(0x17bd8),_0x1cc9d4(0x175b0),_0x1cc9d4(0x13f9a),_0x1cc9d4(0x12929),_0x1cc9d4(0x12bc6),_0x1cc9d4(0x18442),_0x1cc9d4(0x94fa),_0x1cc9d4(0x15b7a),_0x1cc9d4(0x8785),_0x1cc9d4(0x13216),_0x1cc9d4(0x6a99),_0x1cc9d4(0x1b3f),_0x1cc9d4(0xc971),_0x1cc9d4(0x9ea3),_0x1cc9d4(0x12abc),_0x1cc9d4(0x17bd9),_0x1cc9d4(0x13906),_0x1cc9d4(0x1070),_0x1cc9d4(0x733d),_0x1cc9d4(0xb434),_0x1cc9d4(0xdcea),_0x1cc9d4(0x1abd),_0x1cc9d4(0xd68d),_0x1cc9d4(0x2f27),_0x1cc9d4(0xced6),_0x1cc9d4(0x6efd),_0x1cc9d4(0x9871),_0x1cc9d4(0x6e75),_0x1cc9d4(0xedb9),_0x39255f['v']['IncludesShadersStore'][_0x3abac7(0x910)]=_0x3abac7(0xc0f),_0x1cc9d4(0x13da6),_0x39255f['v'][_0x3abac7(0xd4b)]['defaultVertexShader']=_0x3abac7(0x6dc);},0x5012:(_0xf4e301,_0x1bcb0b,_0x4cb8fd)=>{var _0x44c59b=a7_0x425593,_0x556fe0=_0x4cb8fd(0x17a92);_0x4cb8fd(0xff1b),_0x4cb8fd(0xe85e),_0x4cb8fd(0x3328),_0x556fe0['v'][_0x44c59b(0xd4b)][_0x44c59b(0x9f4)]=_0x44c59b(0xb8f);},0xcf33:(_0x2078fd,_0x255ac6,_0x252556)=>{var _0x5a3120=a7_0x425593,_0x5a935d=_0x252556(0x17a92);_0x252556(0x13f9a),_0x252556(0x12929),_0x252556(0x9ea3),_0x252556(0x12abc),_0x252556(0x13216),_0x252556(0x12bc6),_0x252556(0x13906),_0x252556(0x1070),_0x252556(0x733d),_0x252556(0xb434),_0x252556(0xdcea),_0x252556(0x6efd),_0x5a935d['v'][_0x5a3120(0xd4b)][_0x5a3120(0xd3e)]=_0x5a3120(0x96b);},0x66e6:(_0x15cf7b,_0x52dcc9,_0x196a09)=>{var _0x2d8619=a7_0x425593;_0x196a09(0x17a92)['v'][_0x2d8619(0xd4b)][_0x2d8619(0x4ee)]=_0x2d8619(0x3ac);},0x1006d:(_0x1c2648,_0x3f7777,_0x32a8a5)=>{var _0x5a799e=a7_0x425593;_0x32a8a5(0x17a92)['v'][_0x5a799e(0xd4b)]['depthOfFieldPixelShader']='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:(_0x295904,_0x46c692,_0x3f1dd4)=>{var _0x5f3e7b=a7_0x425593;_0x3f1dd4(0x17a92)['v'][_0x5f3e7b(0xd4b)][_0x5f3e7b(0x2ed)]=_0x5f3e7b(0x755);},0x1157d:(_0x773542,_0x4e39c3,_0x2069c4)=>{var _0x48425f=a7_0x425593;_0x2069c4(0x17a92)['v'][_0x48425f(0xd4b)]['displayPassPixelShader']=_0x48425f(0x8b7);},0x2d30:(_0x54ca0a,_0x2501f0,_0x580e04)=>{var _0x579521=a7_0x425593,_0x9bd352=_0x580e04(0x17a92);_0x580e04(0x175b0),_0x9bd352['v']['ShadersStore']['extractHighlightsPixelShader']=_0x579521(0xd44);},0x5b3f:(_0x3e3996,_0x241dbd,_0x48ad1e)=>{var _0x561b64=a7_0x425593;_0x48ad1e(0x17a92)['v']['ShadersStore'][_0x561b64(0x51c)]=_0x561b64(0x9d4);},0xf945:(_0x520aa3,_0x12aa72,_0x5504d5)=>{_0x5504d5(0x17a92)['v']['ShadersStore']['fluidRenderingBilateralBlurPixelShader']='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:(_0x195e78,_0x3788b4,_0x41354a)=>{var _0x29dca9=a7_0x425593;_0x41354a(0x17a92)['v']['ShadersStore'][_0x29dca9(0x637)]='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';},0xd43b:(_0xd39322,_0x32afc9,_0x2b425d)=>{var _0x15d834=a7_0x425593;_0x2b425d(0x17a92)['v'][_0x15d834(0xd4b)][_0x15d834(0x5db)]=_0x15d834(0x1d4);},0x7cc8:(_0x3b8af1,_0x16f82b,_0x115ab7)=>{_0x115ab7(0x17a92)['v']['ShadersStore']['fluidRenderingParticleDiffusePixelShader']='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';},0x10c8:(_0x16b78e,_0x169e90,_0x4af3af)=>{var _0x3ac620=a7_0x425593;_0x4af3af(0x17a92)['v']['ShadersStore']['fluidRenderingParticleDiffuseVertexShader']=_0x3ac620(0x1de);},0xd599:(_0x3cd7c,_0x32d3a9,_0x558869)=>{var _0x2ef53e=a7_0x425593;_0x558869(0x17a92)['v']['ShadersStore'][_0x2ef53e(0x8e1)]=_0x2ef53e(0x493);},0x11576:(_0x49f9f9,_0xf7156,_0x1f0634)=>{var _0xbea3f2=a7_0x425593;_0x1f0634(0x17a92)['v'][_0xbea3f2(0xd4b)][_0xbea3f2(0x685)]='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:(_0x4087b0,_0x44a0c5,_0x2ee94b)=>{var _0x53ab38=a7_0x425593;_0x2ee94b(0x17a92)['v'][_0x53ab38(0xd4b)][_0x53ab38(0x465)]=_0x53ab38(0xd46);},0xdc0e:(_0x851bc4,_0x26c4ec,_0xa0f4d6)=>{var _0x38886a=a7_0x425593;_0xa0f4d6(0x17a92)['v'][_0x38886a(0xd4b)][_0x38886a(0x28b)]='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:(_0x4bb997,_0x225c78,_0x104ced)=>{var _0x142e73=a7_0x425593;_0x104ced(0x17a92)['v'][_0x142e73(0xd4b)][_0x142e73(0xcfb)]=_0x142e73(0x579);},0x10cef:(_0x50f237,_0x54c5cf,_0x2f0c9b)=>{var _0x408f11=a7_0x425593;_0x2f0c9b(0x17a92)['v'][_0x408f11(0xd4b)][_0x408f11(0xd20)]=_0x408f11(0x420);},0x16ef7:(_0x21d88d,_0x593016,_0x2e0d5f)=>{var _0xf79c1b=a7_0x425593,_0x2fa76b=_0x2e0d5f(0x17a92);_0x2e0d5f(0xff1b),_0x2fa76b['v']['IncludesShadersStore'][_0xf79c1b(0x296)]='#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0alayout(location=0)\x20out\x20vec4\x20glFragData[{X}];\x0a#endif\x0a',_0x2e0d5f(0x8cac),_0x2e0d5f(0xe577),_0x2e0d5f(0x175b0),_0x2e0d5f(0x3328),_0x2e0d5f(0x6664),_0x2fa76b['v'][_0xf79c1b(0xd4b)][_0xf79c1b(0x909)]=_0xf79c1b(0xc7d);},0x147cd:(_0x236d4c,_0x359f81,_0x5d87f3)=>{var _0x286431=a7_0x425593,_0x52526a=_0x5d87f3(0x17a92);_0x5d87f3(0x13f9a),_0x5d87f3(0x12929),_0x5d87f3(0x9ea3),_0x5d87f3(0x12abc),_0x5d87f3(0x12bc6),_0x52526a['v'][_0x286431(0x488)][_0x286431(0x4af)]=_0x286431(0x370),_0x5d87f3(0x6cce),_0x52526a['v'][_0x286431(0x488)][_0x286431(0x72c)]=_0x286431(0x22a),_0x5d87f3(0x13216),_0x5d87f3(0x13906),_0x5d87f3(0x1070),_0x5d87f3(0x733d),_0x5d87f3(0xb434),_0x5d87f3(0xdcea),_0x5d87f3(0x6efd),_0x5d87f3(0xced6),_0x52526a['v']['ShadersStore'][_0x286431(0x3a3)]='precision\x20highp\x20float;\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#include<instancesDeclaration>\x0a#include<__decl__geometryVertex>\x0a#include<clipPlaneVertexDeclaration>\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<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#include<instancesVertex>\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<bonesVertex>\x0a#include<bakedVertexAnimation>\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<clipPlaneVertex>\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<bumpVertex>\x0a}\x0a';},0x969e:(_0x5f28db,_0x48e513,_0x2f246e)=>{var _0xe339ea=a7_0x425593;_0x2f246e(0x17a92)['v'][_0xe339ea(0xd4b)][_0xe339ea(0x6a9)]='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}';},0x2a8d:(_0x2900d6,_0x87d384,_0x28e509)=>{var _0x17e14a=a7_0x425593,_0x2722a3=_0x28e509(0x17a92);_0x28e509(0x175b0),_0x28e509(0xff1b),_0x28e509(0x3328),_0x2722a3['v'][_0x17e14a(0xd4b)][_0x17e14a(0xc6b)]=_0x17e14a(0x297);},0x14398:(_0x136dab,_0x39cfda,_0xcb344a)=>{var _0x23dfe5=a7_0x425593,_0x147f20=_0xcb344a(0x17a92);_0xcb344a(0x13f9a),_0xcb344a(0x12929),_0xcb344a(0x9ea3),_0xcb344a(0x12abc),_0xcb344a(0x13216),_0xcb344a(0x12bc6),_0xcb344a(0x13906),_0xcb344a(0x1070),_0xcb344a(0x733d),_0xcb344a(0xb434),_0xcb344a(0xdcea),_0xcb344a(0x6efd),_0x147f20['v'][_0x23dfe5(0xd4b)]['glowMapGenerationVertexShader']=_0x23dfe5(0xaf2);},0x16980:(_0x275cde,_0x326e9b,_0x1f9d08)=>{var _0x50a03c=a7_0x425593;_0x1f9d08(0x17a92)['v']['ShadersStore'][_0x50a03c(0x483)]=_0x50a03c(0x2d7);},0x13824:(_0x56f3ce,_0x44f8f8,_0x268524)=>{var _0x5e0309=a7_0x425593;_0x268524(0x17a92)['v'][_0x5e0309(0xd4b)][_0x5e0309(0xc5b)]=_0x5e0309(0x479);},0x136d7:(_0x12d84e,_0x1b80de,_0x1e3803)=>{var _0x20d487=a7_0x425593,_0x585a2c=_0x1e3803(0x17a92);_0x585a2c['v'][_0x20d487(0x488)][_0x20d487(0x71d)]=_0x20d487(0x84b),_0x1e3803(0x16c11),_0x1e3803(0x17bd9),_0x1e3803(0x175b0),_0x1e3803(0x119a9),_0x1e3803(0x3328),_0x1e3803(0x1445f),_0x585a2c['v'][_0x20d487(0xd4b)][_0x20d487(0xa7c)]='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<clipPlaneFragmentDeclaration2>\x20\x0a#include<imageProcessingDeclaration>\x0a#include<logDepthDeclaration>\x0a#include<helperFunctions>\x0a#include<imageProcessingFunctions>\x0avoid\x20main()\x20{\x0a#include<clipPlaneFragment>\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<logDepthFragment>\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';},0x4618:(_0x144ee7,_0x5b2756,_0x589fb5)=>{var _0xe11ef4=a7_0x425593,_0x36352b=_0x589fb5(0x17a92);_0x36352b['v'][_0xe11ef4(0x488)][_0xe11ef4(0x39a)]='#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',_0x589fb5(0x17bd9),_0x589fb5(0x6efd),_0x589fb5(0x13da6),_0x36352b['v'][_0xe11ef4(0xd4b)]['gpuRenderParticlesVertexShader']=_0xe11ef4(0x8a5);},0x820b:(_0x267ac6,_0x1d7cf8,_0x51a911)=>{var _0x1fbf5b=a7_0x425593;_0x51a911(0x17a92)['v'][_0x1fbf5b(0xd4b)][_0x1fbf5b(0xcac)]=_0x1fbf5b(0xa3f);},0x5913:(_0x5c39c7,_0x4d3598,_0x34e263)=>{var _0x36727d=a7_0x425593;_0x34e263(0x17a92)['v'][_0x36727d(0xd4b)][_0x36727d(0xd77)]='#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}';},0x4ad4:(_0xeed71c,_0x2d6660,_0x36859e)=>{var _0x88cdd7=a7_0x425593,_0x4c6f88=_0x36859e(0x17a92);_0x36859e(0x175b0),_0x4c6f88['v'][_0x88cdd7(0xd4b)][_0x88cdd7(0xb10)]=_0x88cdd7(0xa1e);},0x87f9:(_0x9ec12f,_0xa10607,_0x1b7f97)=>{var _0x4713ae=a7_0x425593,_0x50d252=_0x1b7f97(0x17a92);_0x1b7f97(0x175b0),_0x1b7f97(0x1b98),_0x1b7f97(0x10b3e),_0x1b7f97(0x16b85),_0x50d252['v']['ShadersStore'][_0x4713ae(0x82e)]=_0x4713ae(0xad9);},0x11e17:(_0x556a4b,_0x3afb08,_0x5852bf)=>{var _0x54ace6=a7_0x425593;_0x5852bf(0x17a92)['v']['ShadersStore'][_0x54ace6(0xd09)]=_0x54ace6(0x7d0);},0xd5bd:(_0xc326ee,_0x208377,_0x2593dd)=>{var _0xcb6d15=a7_0x425593;_0x2593dd(0x17a92)['v'][_0xcb6d15(0xd4b)][_0xcb6d15(0x999)]=_0xcb6d15(0x7e0);},0x816b:(_0x1a22f0,_0x311616,_0x5b7caa)=>{var _0x51a05b=a7_0x425593,_0x5ddf61=_0x5b7caa(0x17a92);_0x5b7caa(0x16c11),_0x5b7caa(0x175b0),_0x5b7caa(0x119a9),_0x5ddf61['v'][_0x51a05b(0xd4b)][_0x51a05b(0x3ad)]=_0x51a05b(0xc8c);},0x12a58:(_0x1962fa,_0x1e590e,_0x2956e9)=>{var _0x59a233=a7_0x425593,_0x344be3=_0x2956e9(0x17a92);_0x2956e9(0x1610b),_0x2956e9(0xe85e),_0x344be3['v']['IncludesShadersStore'][_0x59a233(0x871)]=_0x59a233(0x857),_0x344be3['v']['IncludesShadersStore'][_0x59a233(0x3bb)]='#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',_0x344be3['v'][_0x59a233(0xd4b)][_0x59a233(0x6e4)]=_0x59a233(0xaf0);},0x147a8:(_0x54487f,_0x5f1192,_0x5e6fb2)=>{var _0x1f7723=a7_0x425593,_0x4570a2=_0x5e6fb2(0x17a92);_0x5e6fb2(0x1610b),_0x4570a2['v']['IncludesShadersStore'][_0x1f7723(0x5c4)]='sampleCoord{X}=sampleCenter+delta*KERNEL_OFFSET{X};',_0x4570a2['v'][_0x1f7723(0xd4b)][_0x1f7723(0x632)]=_0x1f7723(0x75a);},0x1814a:(_0x5615fe,_0x3251ef,_0x346dcc)=>{var _0x3672d6=a7_0x425593,_0x36a380=_0x346dcc(0x17a92);_0x346dcc(0x175b0),_0x36a380['v'][_0x3672d6(0xd4b)][_0x3672d6(0x375)]='varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec4\x20color;\x0a#include<helperFunctions>\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}';},0xc8f5:(_0x8e33f2,_0x550f56,_0xbeff9b)=>{var _0x2e667e=a7_0x425593;_0xbeff9b(0x17a92)['v'][_0x2e667e(0xd4b)]['layerVertexShader']='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}';},0x139b9:(_0x52df60,_0x547ce3,_0x227485)=>{var _0x1fef8c=a7_0x425593;_0x227485(0x17a92)['v'][_0x1fef8c(0xd4b)][_0x1fef8c(0x991)]=_0x1fef8c(0x8d7);},0xc013:(_0x5855de,_0x37aae0,_0x36e7fd)=>{var _0x24cad9=a7_0x425593;_0x36e7fd(0x17a92)['v'][_0x24cad9(0xd4b)][_0x24cad9(0x6fd)]=_0x24cad9(0x57f);},0xd962:(_0x5ea2c8,_0x5246b1,_0x25b877)=>{var _0x5e18ae=a7_0x425593;_0x25b877(0x17a92)['v'][_0x5e18ae(0xd4b)][_0x5e18ae(0x9f7)]=_0x5e18ae(0xb14);},0x6909:(_0x586ece,_0x127ce6,_0x4a3e99)=>{var _0x566686=a7_0x425593,_0x1f8e17=_0x4a3e99(0x17a92);_0x4a3e99(0xff1b),_0x4a3e99(0x3328),_0x1f8e17['v'][_0x566686(0xd4b)][_0x566686(0xb50)]=_0x566686(0x1a1);},0x8559:(_0xa5ef17,_0x12f4d7,_0x4b4f7d)=>{var _0x15c048=a7_0x425593,_0x34cfae=_0x4b4f7d(0x17a92);_0x4b4f7d(0x12bc6),_0x4b4f7d(0x13216),_0x4b4f7d(0x733d),_0x4b4f7d(0x6efd),_0x34cfae['v'][_0x15c048(0xd4b)][_0x15c048(0xa46)]='#include<instancesDeclaration>\x0a#include<clipPlaneVertexDeclaration>\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<instancesVertex>\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<clipPlaneVertex>\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}';},0x12903:(_0x5c8882,_0x359a84,_0x5d8c8b)=>{var _0x3e7a46=a7_0x425593;_0x5d8c8b(0x17a92)['v'][_0x3e7a46(0xd4b)][_0x3e7a46(0xac0)]=_0x3e7a46(0x4a4);},0x15005:(_0x3d2343,_0x187d21,_0xa5a365)=>{var _0x17e2c9=a7_0x425593,_0x1684d2=_0xa5a365(0x17a92);_0xa5a365(0x13f9a),_0xa5a365(0x12929),_0xa5a365(0x9ea3),_0xa5a365(0x12abc),_0xa5a365(0x12bc6),_0xa5a365(0x13906),_0xa5a365(0x1070),_0xa5a365(0x733d),_0xa5a365(0xb434),_0xa5a365(0xdcea),_0x1684d2['v'][_0x17e2c9(0xd4b)][_0x17e2c9(0x2f3)]='precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0aattribute\x20vec3\x20normal;\x0aattribute\x20vec2\x20uv;\x0auniform\x20mat4\x20projMatrix;\x0avarying\x20vec2\x20vDecalTC;\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#include<instancesDeclaration>\x0avoid\x20main(void)\x20{\x0avec3\x20positionUpdated=position;\x0avec3\x20normalUpdated=normal;\x0a#include<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\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';},0x13733:(_0x10dcc3,_0x7770e6,_0x4e02f1)=>{var _0x5f2e64=a7_0x425593;_0x4e02f1(0x17a92)['v'][_0x5f2e64(0xd4b)][_0x5f2e64(0xbcc)]=_0x5f2e64(0xa74);},0x366b:(_0x1620b8,_0x3af934,_0x570388)=>{var _0x51d60c=a7_0x425593;_0x570388(0x17a92)['v']['ShadersStore']['motionBlurPixelShader']=_0x51d60c(0x7d9);},0xf422:(_0x369a63,_0x13e2fe,_0x47a20a)=>{var _0x448882=a7_0x425593;_0x47a20a(0x17a92)['v']['ShadersStore']['noisePixelShader']=_0x448882(0xd54);},0xcfa6:(_0x1b9ea3,_0x4ab91c,_0x43bb4b)=>{var _0x31a50a=a7_0x425593;_0x43bb4b(0x17a92)['v'][_0x31a50a(0xd4b)][_0x31a50a(0x791)]='precision\x20highp\x20float;\x0auniform\x20sampler2D\x20uBackColor;\x0avoid\x20main()\x20{\x0aglFragColor=texelFetch(uBackColor,ivec2(gl_FragCoord.xy),0);\x0aif\x20(glFragColor.a==0.0)\x20{\x20\x0adiscard;\x0a}\x0a}';},0x1d0b:(_0x2a927e,_0x4d6250,_0x5755f1)=>{var _0x21fa3d=a7_0x425593;_0x5755f1(0x17a92)['v'][_0x21fa3d(0xd4b)][_0x21fa3d(0x850)]=_0x21fa3d(0x17e);},0x4ae5:(_0x4625a3,_0xe84fa9,_0x191319)=>{var _0x2c94af=a7_0x425593,_0x3cd87c=_0x191319(0x17a92);_0x191319(0xff1b),_0x191319(0x17bd9),_0x191319(0x3328),_0x191319(0x1445f),_0x3cd87c['v'][_0x2c94af(0xd4b)][_0x2c94af(0xd29)]=_0x2c94af(0x6dd);},0x1294f:(_0x11bee7,_0x4fd423,_0x3dee75)=>{var _0x37cfa0=a7_0x425593,_0x5ae293=_0x3dee75(0x17a92);_0x3dee75(0x13f9a),_0x3dee75(0x12929),_0x3dee75(0x9ea3),_0x3dee75(0x12abc),_0x3dee75(0x13216),_0x3dee75(0x12bc6),_0x3dee75(0x17bd9),_0x3dee75(0x13906),_0x3dee75(0x1070),_0x3dee75(0x733d),_0x3dee75(0xb434),_0x3dee75(0xdcea),_0x3dee75(0x6efd),_0x3dee75(0x13da6),_0x5ae293['v']['ShadersStore'][_0x37cfa0(0x45d)]='attribute\x20vec3\x20position;\x0aattribute\x20vec3\x20normal;\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#include<clipPlaneVertexDeclaration>\x0auniform\x20float\x20offset;\x0a#include<instancesDeclaration>\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<logDepthDeclaration>\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<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0avec3\x20offsetPosition=positionUpdated+(normalUpdated*offset);\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\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<clipPlaneVertex>\x0a#include<logDepthVertex>\x0a}\x0a';},0x5215:(_0x2294ce,_0x49407a,_0x110efc)=>{var _0x139c13=a7_0x425593,_0x380cfe=_0x110efc(0x17a92);_0x110efc(0xff1b),_0x110efc(0x16c11),_0x110efc(0x17bd9),_0x110efc(0x175b0),_0x110efc(0x119a9),_0x110efc(0x3328),_0x110efc(0x1445f),_0x380cfe['v'][_0x139c13(0xd4b)][_0x139c13(0x6a8)]=_0x139c13(0x5ed);},0x1560d:(_0x57b05f,_0x4336fd,_0x1db25b)=>{var _0x3baf1e=a7_0x425593,_0x134a36=_0x1db25b(0x17a92);_0x1db25b(0x13216),_0x1db25b(0x17bd9),_0x1db25b(0x6efd),_0x1db25b(0x13da6),_0x134a36['v'][_0x3baf1e(0xd4b)]['particlesVertexShader']='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<clipPlaneVertexDeclaration>\x0a#include<logDepthDeclaration>\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<clipPlaneVertex>\x0a#include<logDepthVertex>\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}';},0x8262:(_0x478fa0,_0x5aff70,_0x10e6c0)=>{var _0x4f376b=a7_0x425593;_0x10e6c0['d'](_0x5aff70,{'T':()=>_0x50fe94}),_0x5aff70=_0x4f376b(0xcbe);const _0x50fe94={'name':_0x5aff70,'shader':_0x10e6c0(0x17a92)['v']['ShadersStore'][_0x5aff70]='varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0agl_FragColor=texture2D(textureSampler,vUV);\x0a}'};},0x5f4b:(_0x2a3465,_0x522997,_0x2fe695)=>{var _0x359beb=a7_0x425593;_0x2fe695(0x17a92)['v'][_0x359beb(0xd4b)]['passCubePixelShader']=_0x359beb(0x4f3);},0x11f54:(_0x16572e,_0xa1b954,_0x5282ea)=>{var _0x2343d6=a7_0x425593,_0x1815ef=_0x5282ea(0x17a92);_0x5282ea(0x67c9),_0x5282ea(0xa8cd),_0x5282ea(0xf57c),_0x1815ef['v'][_0x2343d6(0x488)][_0x2343d6(0x9ff)]='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<decalFragmentDeclaration>\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',_0x5282ea(0xc853),_0x5282ea(0x94fa),_0x1815ef['v'][_0x2343d6(0x488)]['pbrFragmentExtraDeclaration']=_0x2343d6(0x86f),_0x5282ea(0xe6c7),_0x5282ea(0x15fb5),_0x5282ea(0x126e8),_0x1815ef['v']['IncludesShadersStore'][_0x2343d6(0xbb2)]=_0x2343d6(0x1d8),_0x1815ef['v'][_0x2343d6(0x488)]['pbrFragmentSamplersDeclaration']=_0x2343d6(0x8f1),_0x5282ea(0x16c11),_0x5282ea(0xff1b),_0x5282ea(0x17bd9),_0x5282ea(0x12a16),_0x5282ea(0x175b0),_0x5282ea(0x6b23),_0x5282ea(0x1b98),_0x1815ef['v'][_0x2343d6(0x488)][_0x2343d6(0x5ea)]=_0x2343d6(0x699),_0x5282ea(0x119a9),_0x5282ea(0x1f85),_0x5282ea(0x14535),_0x1815ef['v'][_0x2343d6(0x488)][_0x2343d6(0x1df)]='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}',_0x1815ef['v'][_0x2343d6(0x488)][_0x2343d6(0x28c)]=_0x2343d6(0x1f5),_0x5282ea(0x10b3e),_0x5282ea(0x16b85),_0x1815ef['v'][_0x2343d6(0x488)]['pbrDirectLightingFunctions']=_0x2343d6(0x67f),_0x1815ef['v']['IncludesShadersStore'][_0x2343d6(0x269)]=_0x2343d6(0xcc9),_0x5282ea(0x8cac),_0x5282ea(0xe577),_0x5282ea(0x11645),_0x5282ea(0xcff7),_0x1815ef['v'][_0x2343d6(0x488)][_0x2343d6(0x87b)]=_0x2343d6(0xd72),_0x1815ef['v'][_0x2343d6(0x488)][_0x2343d6(0xc2e)]=_0x2343d6(0x8fb),_0x1815ef['v']['IncludesShadersStore']['pbrBlockAmbientOcclusion']=_0x2343d6(0xc5c),_0x1815ef['v'][_0x2343d6(0x488)][_0x2343d6(0x301)]=_0x2343d6(0x930),_0x1815ef['v'][_0x2343d6(0x488)]['pbrBlockAnisotropic']=_0x2343d6(0x889),_0x1815ef['v'][_0x2343d6(0x488)][_0x2343d6(0x657)]='#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',_0x1815ef['v']['IncludesShadersStore'][_0x2343d6(0x567)]='#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',_0x1815ef['v'][_0x2343d6(0x488)][_0x2343d6(0x4f6)]=_0x2343d6(0xc5f),_0x1815ef['v'][_0x2343d6(0x488)][_0x2343d6(0x808)]='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',_0x1815ef['v'][_0x2343d6(0x488)][_0x2343d6(0xcc7)]=_0x2343d6(0xb29),_0x5282ea(0x3328),_0x1815ef['v'][_0x2343d6(0x488)][_0x2343d6(0xc7a)]=_0x2343d6(0x47a),_0x5282ea(0x6664),_0x1815ef['v']['IncludesShadersStore'][_0x2343d6(0x4d8)]='#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',_0x5282ea(0x6318),_0x1815ef['v'][_0x2343d6(0x488)][_0x2343d6(0x3ba)]='#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',_0x1815ef['v'][_0x2343d6(0x488)]['pbrBlockGeometryInfo']=_0x2343d6(0xd1e),_0x1815ef['v'][_0x2343d6(0x488)][_0x2343d6(0x820)]=_0x2343d6(0x575),_0x1815ef['v'][_0x2343d6(0x488)][_0x2343d6(0x4aa)]=_0x2343d6(0x6d5),_0x1815ef['v'][_0x2343d6(0x488)][_0x2343d6(0x3b6)]='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',_0x5282ea(0xb0bc),_0x1815ef['v'][_0x2343d6(0x488)][_0x2343d6(0x5cf)]=_0x2343d6(0x3f9),_0x1815ef['v']['IncludesShadersStore'][_0x2343d6(0x240)]=_0x2343d6(0x874),_0x1815ef['v'][_0x2343d6(0x488)]['pbrBlockFinalColorComposition']=_0x2343d6(0x6ee),_0x5282ea(0x1445f),_0x5282ea(0x10ef),_0x1815ef['v'][_0x2343d6(0x488)]['pbrBlockImageProcessing']=_0x2343d6(0x5e9),_0x5282ea(0xa965),_0x1815ef['v'][_0x2343d6(0x488)][_0x2343d6(0x450)]='#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',_0x1815ef['v'][_0x2343d6(0xd4b)]['pbrPixelShader']=_0x2343d6(0x28d);},0x93ab:(_0x1e07fc,_0x47bb0d,_0x50ea4f)=>{var _0x21680e=a7_0x425593,_0x39638b=_0x50ea4f(0x17a92);_0x50ea4f(0x2826),_0x39638b['v']['IncludesShadersStore'][_0x21680e(0xbc1)]=_0x21680e(0x807),_0x50ea4f(0xc853),_0x50ea4f(0x17bd8),_0x50ea4f(0x94fa),_0x50ea4f(0x175b0),_0x50ea4f(0x13f9a),_0x50ea4f(0x12929),_0x50ea4f(0x12bc6),_0x50ea4f(0x18442),_0x50ea4f(0x15b7a),_0x50ea4f(0x14535),_0x50ea4f(0x8785),_0x50ea4f(0x13216),_0x50ea4f(0x6a99),_0x50ea4f(0x1b3f),_0x50ea4f(0xc971),_0x50ea4f(0x9ea3),_0x50ea4f(0x12abc),_0x50ea4f(0x17bd9),_0x50ea4f(0x13906),_0x50ea4f(0x1070),_0x50ea4f(0x733d),_0x50ea4f(0xb434),_0x50ea4f(0xdcea),_0x50ea4f(0x1abd),_0x50ea4f(0xd68d),_0x50ea4f(0x2f27),_0x50ea4f(0xced6),_0x50ea4f(0x6efd),_0x50ea4f(0x9871),_0x50ea4f(0x6e75),_0x50ea4f(0xedb9),_0x50ea4f(0x13da6),_0x39638b['v']['ShadersStore'][_0x21680e(0x7f7)]='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<uvAttributeDeclaration>[2..7]\x0a#include<mainUVVaryingDeclaration>[1..7]\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<helperFunctions>\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0a#include<prePassVertexDeclaration>\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,ALBEDO,_VARYINGNAME_,Albedo)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,REFLECTIVITY,_VARYINGNAME_,Reflectivity)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,MICROSURFACEMAP,_VARYINGNAME_,MicroSurfaceSampler)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,METALLIC_REFLECTANCE,_VARYINGNAME_,MetallicReflectance)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,REFLECTANCE,_VARYINGNAME_,Reflectance)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal)\x0a#ifdef\x20CLEARCOAT\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,CLEARCOAT_TEXTURE,_VARYINGNAME_,ClearCoat)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,CLEARCOAT_TEXTURE_ROUGHNESS,_VARYINGNAME_,ClearCoatRoughness)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,CLEARCOAT_BUMP,_VARYINGNAME_,ClearCoatBump)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,CLEARCOAT_TINT_TEXTURE,_VARYINGNAME_,ClearCoatTint)\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,IRIDESCENCE_TEXTURE,_VARYINGNAME_,Iridescence)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,IRIDESCENCE_THICKNESS_TEXTURE,_VARYINGNAME_,IridescenceThickness)\x0a#endif\x0a#ifdef\x20SHEEN\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,SHEEN_TEXTURE,_VARYINGNAME_,Sheen)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,SHEEN_TEXTURE_ROUGHNESS,_VARYINGNAME_,SheenRoughness)\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,ANISOTROPIC_TEXTURE,_VARYINGNAME_,Anisotropy)\x0a#endif\x0a#ifdef\x20SUBSURFACE\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,SS_THICKNESSANDMASK_TEXTURE,_VARYINGNAME_,Thickness)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,SS_REFRACTIONINTENSITY_TEXTURE,_VARYINGNAME_,RefractionIntensity)\x0a#include<samplerVertexDeclaration>(_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<harmonicsFunctions>\x0a#endif\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<bumpVertexDeclaration>\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightVxFragment>[0..maxSimultaneousLights]\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[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<logDepthDeclaration>\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<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avPositionUVW=positionUpdated;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_UPDATE_POSITION\x0a#define\x20CUSTOM_VERTEX_UPDATE_NORMAL\x0a#include<instancesVertex>\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<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(positionUpdated,1.0);\x0avPositionW=vec3(worldPos);\x0a#include<prePassVertex>\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<uvVariableDeclaration>[2..7]\x0a#include<samplerVertexImplementation>(_DEFINENAME_,ALBEDO,_VARYINGNAME_,Albedo,_MATRIXNAME_,albedo,_INFONAME_,AlbedoInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail,_MATRIXNAME_,detail,_INFONAME_,DetailInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient,_MATRIXNAME_,ambient,_INFONAME_,AmbientInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity,_MATRIXNAME_,opacity,_INFONAME_,OpacityInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive,_MATRIXNAME_,emissive,_INFONAME_,EmissiveInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap,_MATRIXNAME_,lightmap,_INFONAME_,LightmapInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,REFLECTIVITY,_VARYINGNAME_,Reflectivity,_MATRIXNAME_,reflectivity,_INFONAME_,ReflectivityInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,MICROSURFACEMAP,_VARYINGNAME_,MicroSurfaceSampler,_MATRIXNAME_,microSurfaceSampler,_INFONAME_,MicroSurfaceSamplerInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,METALLIC_REFLECTANCE,_VARYINGNAME_,MetallicReflectance,_MATRIXNAME_,metallicReflectance,_INFONAME_,MetallicReflectanceInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,REFLECTANCE,_VARYINGNAME_,Reflectance,_MATRIXNAME_,reflectance,_INFONAME_,ReflectanceInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump,_MATRIXNAME_,bump,_INFONAME_,BumpInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal,_MATRIXNAME_,decal,_INFONAME_,DecalInfos.x)\x0a#ifdef\x20CLEARCOAT\x0a#include<samplerVertexImplementation>(_DEFINENAME_,CLEARCOAT_TEXTURE,_VARYINGNAME_,ClearCoat,_MATRIXNAME_,clearCoat,_INFONAME_,ClearCoatInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,CLEARCOAT_TEXTURE_ROUGHNESS,_VARYINGNAME_,ClearCoatRoughness,_MATRIXNAME_,clearCoatRoughness,_INFONAME_,ClearCoatInfos.z)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,CLEARCOAT_BUMP,_VARYINGNAME_,ClearCoatBump,_MATRIXNAME_,clearCoatBump,_INFONAME_,ClearCoatBumpInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,CLEARCOAT_TINT_TEXTURE,_VARYINGNAME_,ClearCoatTint,_MATRIXNAME_,clearCoatTint,_INFONAME_,ClearCoatTintInfos.x)\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0a#include<samplerVertexImplementation>(_DEFINENAME_,IRIDESCENCE_TEXTURE,_VARYINGNAME_,Iridescence,_MATRIXNAME_,iridescence,_INFONAME_,IridescenceInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,IRIDESCENCE_THICKNESS_TEXTURE,_VARYINGNAME_,IridescenceThickness,_MATRIXNAME_,iridescenceThickness,_INFONAME_,IridescenceInfos.z)\x0a#endif\x0a#ifdef\x20SHEEN\x0a#include<samplerVertexImplementation>(_DEFINENAME_,SHEEN_TEXTURE,_VARYINGNAME_,Sheen,_MATRIXNAME_,sheen,_INFONAME_,SheenInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,SHEEN_TEXTURE_ROUGHNESS,_VARYINGNAME_,SheenRoughness,_MATRIXNAME_,sheen,_INFONAME_,SheenInfos.z)\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0a#include<samplerVertexImplementation>(_DEFINENAME_,ANISOTROPIC_TEXTURE,_VARYINGNAME_,Anisotropy,_MATRIXNAME_,anisotropy,_INFONAME_,AnisotropyInfos.x)\x0a#endif\x0a#ifdef\x20SUBSURFACE\x0a#include<samplerVertexImplementation>(_DEFINENAME_,SS_THICKNESSANDMASK_TEXTURE,_VARYINGNAME_,Thickness,_MATRIXNAME_,thickness,_INFONAME_,ThicknessInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,SS_REFRACTIONINTENSITY_TEXTURE,_VARYINGNAME_,RefractionIntensity,_MATRIXNAME_,refractionIntensity,_INFONAME_,RefractionIntensityInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,SS_TRANSLUCENCYINTENSITY_TEXTURE,_VARYINGNAME_,TranslucencyIntensity,_MATRIXNAME_,translucencyIntensity,_INFONAME_,TranslucencyIntensityInfos.x)\x0a#endif\x0a#include<bumpVertex>\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#include<logDepthVertex>\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}';},0x4617:(_0x1604e3,_0x3247b6,_0x517825)=>{var _0x3a5b55=a7_0x425593;_0x517825(0x17a92)['v'][_0x3a5b55(0xd4b)][_0x3a5b55(0x39d)]=_0x3a5b55(0x32f);},0x18235:(_0xeb113c,_0x4c62ac,_0x2dabc6)=>{var _0x1579ad=a7_0x425593;_0x2dabc6(0x17a92)['v']['ShadersStore'][_0x1579ad(0xa80)]=_0x1579ad(0x2c1);},0x52aa:(_0x322bd0,_0x36b09f,_0x3a1a67)=>{var _0x55fb12=a7_0x425593;_0x3a1a67(0x17a92)['v'][_0x55fb12(0xd4b)][_0x55fb12(0x7b5)]='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:(_0x24e4f3,_0x192db0,_0x109643)=>{var _0x27d022=a7_0x425593,_0x317512=_0x109643(0x17a92);_0x109643(0x175b0),_0x317512['v']['ShadersStore'][_0x27d022(0xa2c)]=_0x27d022(0x6bd);},0x10c45:(_0x2108f9,_0x92ed27,_0x41552c)=>{var _0xde04da=a7_0x425593,_0x3f3976=_0x41552c(0x17a92);_0x41552c(0x175b0),_0x3f3976['v'][_0xde04da(0xd4b)][_0xde04da(0x182)]=_0xde04da(0x31b);},0x16b3d:(_0x16b621,_0x20b9e2,_0x4fc68d)=>{var _0x350cf9=a7_0x425593;_0x4fc68d(0x17a92)['v'][_0x350cf9(0xd4b)]['screenSpaceCurvaturePixelShader']=_0x350cf9(0x173);},0x869c:(_0x5708c0,_0xc71481,_0x350330)=>{var _0x284e53=a7_0x425593;_0x350330(0x17a92)['v'][_0x284e53(0xd4b)][_0x284e53(0x568)]=_0x284e53(0xae8);},0x943:(_0x458196,_0x23a36e,_0x176d5e)=>{var _0x47b068=a7_0x425593,_0x423741=_0x176d5e(0x17a92);_0x176d5e(0x175b0),_0x423741['v'][_0x47b068(0x488)][_0x47b068(0xaef)]=_0x47b068(0x706),_0x423741['v'][_0x47b068(0xd4b)]['screenSpaceReflection2PixelShader']=_0x47b068(0x1af);},0x138a8:(_0x1a71f7,_0x5258bf,_0xca0cde)=>{var _0x9ff045=a7_0x425593;_0xca0cde(0x17a92)['v'][_0x9ff045(0xd4b)]['screenSpaceReflection2BlurPixelShader']='#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';},0x2797:(_0x14d127,_0x52dc85,_0x3a8133)=>{var _0x2df91a=a7_0x425593,_0x9d4f4a=_0x3a8133(0x17a92);_0x3a8133(0x175b0),_0x9d4f4a['v'][_0x2df91a(0xd4b)][_0x2df91a(0x445)]='uniform\x20sampler2D\x20textureSampler;\x20\x0auniform\x20sampler2D\x20mainSampler;\x0auniform\x20sampler2D\x20reflectivitySampler;\x0auniform\x20float\x20strength;\x0auniform\x20float\x20reflectionSpecularFalloffExponent;\x0auniform\x20float\x20reflectivityThreshold;\x0avarying\x20vec2\x20vUV;\x0a#include<helperFunctions>\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';},0x134a9:(_0x553316,_0x4e2e00,_0x9dea70)=>{var _0x5ecedc=a7_0x425593,_0x187f64=_0x9dea70(0x17a92);_0x9dea70(0xe85e),_0x187f64['v']['IncludesShadersStore'][_0x5ecedc(0x84d)]='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',_0x187f64['v'][_0x5ecedc(0x488)]['shadowMapFragmentExtraDeclaration']='#if\x20SM_FLOAT==0\x0a#include<packingFunctions>\x0a#endif\x0a#if\x20SM_SOFTTRANSPARENTSHADOW==1\x0a#include<bayerDitherFunctions>\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',_0x9dea70(0xff1b),_0x9dea70(0x3328),_0x187f64['v'][_0x5ecedc(0x488)][_0x5ecedc(0x71c)]='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;',_0x187f64['v']['ShadersStore'][_0x5ecedc(0x473)]='#include<shadowMapFragmentExtraDeclaration>\x0a#ifdef\x20ALPHATEXTURE\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#include<clipPlaneFragment>\x0a#ifdef\x20ALPHATEXTURE\x0afloat\x20alphaFromAlphaTexture=texture2D(diffuseSampler,vUV).a;\x0a#ifdef\x20ALPHATESTVALUE\x0aif\x20(alphaFromAlphaTexture<ALPHATESTVALUE)\x0adiscard;\x0a#endif\x0a#endif\x0a#if\x20SM_SOFTTRANSPARENTSHADOW==1\x0a#ifdef\x20ALPHATEXTURE\x0aif\x20((bayerDither8(floor(mod(gl_FragCoord.xy,8.0))))/64.0>=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<shadowMapFragment>\x0a}';},0x13168:(_0x5fea58,_0x2f527c,_0x13776d)=>{var _0x431997=a7_0x425593,_0x13ea0c=_0x13776d(0x17a92);_0x13776d(0x13f9a),_0x13776d(0x12929),_0x13776d(0x9ea3),_0x13776d(0x12abc),_0x13776d(0x175b0),_0x13ea0c['v'][_0x431997(0x488)][_0x431997(0x205)]=_0x431997(0xb4c),_0x13ea0c['v'][_0x431997(0x488)][_0x431997(0x382)]='uniform\x20mat4\x20world;\x0auniform\x20float\x20visibility;\x0a',_0x13ea0c['v'][_0x431997(0x488)][_0x431997(0x7cc)]='#include<sceneVertexDeclaration>\x0a#include<meshVertexDeclaration>\x0a',_0x13776d(0x6cce),_0x13776d(0x11fa6),_0x13ea0c['v'][_0x431997(0x488)][_0x431997(0x48a)]=_0x431997(0x631),_0x13ea0c['v'][_0x431997(0x488)][_0x431997(0x1e7)]='#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',_0x13776d(0x13216),_0x13776d(0x13906),_0x13776d(0x1070),_0x13776d(0x733d),_0x13776d(0xb434),_0x13776d(0xdcea),_0x13ea0c['v'][_0x431997(0x488)]['shadowMapVertexNormalBias']=_0x431997(0xccb),_0x13ea0c['v'][_0x431997(0x488)][_0x431997(0x4f2)]=_0x431997(0xb3b),_0x13776d(0x6efd),_0x13ea0c['v']['ShadersStore'][_0x431997(0x5eb)]=_0x431997(0x1cf);},0x48c1:(_0x279db2,_0x29e22c,_0x181468)=>{var _0x3fd0fd=a7_0x425593;_0x181468(0x17a92)['v'][_0x3fd0fd(0xd4b)][_0x3fd0fd(0xa90)]='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}';},0x7a4e:(_0x5e9c83,_0x293f7a,_0x3c4f50)=>{var _0x4b96c5=a7_0x425593;_0x3c4f50(0x17a92)['v'][_0x4b96c5(0xd4b)][_0x4b96c5(0xa3a)]='#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;\x20i<LAYERS;\x20i++)\x20{\x0afloat\x20frameID;\x0a#define\x20LAYER_ID_SWITCH\x0avec4\x20animationData=TEXTUREFUNC(animationMap,vec2((frameID+0.5)/spriteCount,0.),0.);\x0aif(animationData.y>0.)\x20{\x0amt=mod(time*animationData.z,1.0);\x0afor(float\x20f=0.;\x20f<MAX_ANIMATION_FRAMES;\x20f++){\x0aif(animationData.y>mt){\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}';},0xa16d:(_0x39d2b6,_0x37a245,_0x563ab9)=>{var _0x2d4ad6=a7_0x425593;_0x563ab9(0x17a92)['v'][_0x2d4ad6(0xd4b)]['spriteMapVertexShader']=_0x2d4ad6(0x448);},0xea77:(_0x1926cf,_0x410ce9,_0x3aa015)=>{var _0x15206e=a7_0x425593;_0x3aa015(0x17a92)['v'][_0x15206e(0xd4b)][_0x15206e(0x2a8)]='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<SAMPLES;\x20i++)\x0a{\x0aray=radiusDepth*reflect(sampleSphere[i],random);\x0ahemiRay=position+sign(dot(ray,normal))*ray;\x0aocclusionDepth=texture2D(textureSampler,clamp(hemiRay.xy,vec2(0.001,0.001),vec2(0.999,0.999))).r;\x0adifference=depth-occlusionDepth;\x0aocclusion+=step(fallOff,difference)*(1.0-smoothstep(fallOff,area,difference));\x0a}\x0afloat\x20ao=1.0-totalStrength*occlusion*samplesFactor;\x0afloat\x20result=clamp(ao+base,0.0,1.0);\x0agl_FragColor.r=result;\x0agl_FragColor.g=result;\x0agl_FragColor.b=result;\x0agl_FragColor.a=1.0;\x0a}\x0a#endif\x0a';},0xbb2a:(_0x5b66f1,_0x1debec,_0xb0cedb)=>{var _0x1b6ddf=a7_0x425593;_0xb0cedb(0x17a92)['v'][_0x1b6ddf(0xd4b)][_0x1b6ddf(0x84c)]=_0x1b6ddf(0xa3e);},0xce3e:(_0x12f402,_0x8ed688,_0x299c07)=>{var _0x2ede7a=a7_0x425593;_0x299c07(0x17a92)['v'][_0x2ede7a(0xd4b)][_0x2ede7a(0xce2)]=_0x2ede7a(0xa41);},0x152db:(_0x4735e7,_0x175ec1,_0x2579cf)=>{var _0x124234=a7_0x425593,_0x55f31e=_0x2579cf(0x17a92);_0x2579cf(0xe85e),_0x55f31e['v'][_0x124234(0xd4b)][_0x124234(0x73a)]=_0x124234(0xc00);},0xb043:(_0x1e62e8,_0x158450,_0x3f71f5)=>{var _0x27ba64=a7_0x425593;_0x3f71f5(0x17a92)['v'][_0x27ba64(0xd4b)][_0x27ba64(0x255)]=_0x27ba64(0xc13);},0xa69a:(_0xbf93dd,_0x4ae85f,_0xda8223)=>{var _0x8953b9=a7_0x425593;_0xda8223(0x17a92)['v'][_0x8953b9(0xd4b)][_0x8953b9(0x9c5)]=_0x8953b9(0x18f);},0xccd3:(_0x4232b2,_0x5bf820,_0x639587)=>{var _0x4a57ff=a7_0x425593;_0x639587(0x17a92)['v'][_0x4a57ff(0xd4b)][_0x4a57ff(0x98a)]=_0x4a57ff(0x4c8);},0xf877:(_0x4fc5bc,_0x3b4f6d,_0x523e6e)=>{var _0x5e3984=a7_0x425593;_0x523e6e(0x17a92)['v'][_0x5e3984(0xd4b)][_0x5e3984(0x7b9)]='#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';},0xae44:(_0x1f4ae9,_0x3b392d,_0x47807e)=>{var _0x13d039=a7_0x425593,_0x4db40f=_0x47807e(0x17a92);_0x47807e(0x13f9a),_0x47807e(0x12929),_0x47807e(0x9ea3),_0x47807e(0x12abc),_0x47807e(0x12bc6),_0x47807e(0x13906),_0x47807e(0x1070),_0x47807e(0x733d),_0x47807e(0xb434),_0x47807e(0xdcea),_0x4db40f['v'][_0x13d039(0xd4b)][_0x13d039(0x9d0)]=_0x13d039(0xb2f);},0xfad:(_0x3d3b92,_0x545d34,_0x218093)=>{var _0x59d405=a7_0x425593;_0x218093(0x17a92)['v']['ShadersStore'][_0x59d405(0xc67)]=_0x59d405(0xa50);},0x106e:(_0x189861,_0x531e43,_0xdac698)=>{var _0x323e65=a7_0x425593;_0xdac698(0x17a92)['v'][_0x323e65(0xd4b)]['vrMultiviewToSingleviewPixelShader']=_0x323e65(0x710);},0x557f:(_0xe833b5,_0x413e4f,_0x3dfe81)=>{var _0x275fcc=a7_0x425593;_0x3dfe81['d'](_0x413e4f,{'T':()=>_0x47f810});var _0x3fbf0e=_0x3dfe81(0x77a5),_0x1b3f41=_0x3dfe81(0x1a27),_0x52a0e1=_0x3dfe81(0xcef),_0x413e4f=(_0x3dfe81(0x59fc),_0x3dfe81(0x13479),_0x3dfe81(0x17a92));_0x3dfe81(0x12a16),_0x3dfe81(0x10ef),_0x3dfe81(0x17ef8),_0x413e4f['v']['ShadersStore'][_0x275fcc(0x2aa)]='uniform\x20bool\x20alphaTest;\x0avarying\x20vec4\x20vColor;\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#include<fogFragmentDeclaration>\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<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}',_0x3dfe81(0x6a99),_0x413e4f['v']['ShadersStore'][_0x275fcc(0xba5)]=_0x275fcc(0x404);class _0x47f810{constructor(_0x11681a,_0x1a0b57,_0x1f9348=0.01,_0x17ca0a=null){var _0x137a81=_0x275fcc;this[_0x137a81(0x9c8)]=_0x3fbf0e['g']['ALPHA_COMBINE'],this[_0x137a81(0xd5d)]=!0x0,this['disableDepthWrite']=!0x1,this['fogEnabled']=!0x0,this[_0x137a81(0x363)]=!0x1,this['_useVAO']=!0x1,this[_0x137a81(0x3b4)]=!0x1,this[_0x137a81(0x8a7)]={},this['_capacity']=_0x1a0b57,this['_epsilon']=_0x1f9348,this[_0x137a81(0xbfd)]=_0x11681a,this['_useInstancing']=_0x11681a[_0x137a81(0xa51)]()[_0x137a81(0x41a)]&&_0x11681a[_0x137a81(0xa77)][_0x137a81(0x4a0)],this[_0x137a81(0x27f)]=_0x11681a[_0x137a81(0xa51)]()[_0x137a81(0xc42)]&&!_0x11681a[_0x137a81(0x515)],this[_0x137a81(0x851)]=_0x17ca0a,this[_0x137a81(0x3b4)]||this[_0x137a81(0xd59)](),this['_vertexBufferSize']=this[_0x137a81(0x3b4)]?0x10:0x12,this[_0x137a81(0xa1f)]=new Float32Array(_0x1a0b57*this['_vertexBufferSize']*(this[_0x137a81(0x3b4)]?0x1:0x4)),this[_0x137a81(0x21b)]=new _0x1b3f41['l'](_0x11681a,this['_vertexData'],!0x0,this[_0x137a81(0xa21)]),(_0x1f9348=this[_0x137a81(0x21b)]['createVertexBuffer'](_0x1b3f41['o'][_0x137a81(0x170)],0x0,0x4,this[_0x137a81(0xa21)],this[_0x137a81(0x3b4)]),_0x17ca0a=this[_0x137a81(0x21b)][_0x137a81(0x519)]('options',0x4,0x2,this[_0x137a81(0xa21)],this[_0x137a81(0x3b4)]));let _0x476d4f=0x6,_0x4413b6;this[_0x137a81(0x3b4)]?(_0x1a0b57=new Float32Array([0x0,0x0,0x1,0x0,0x0,0x1,0x1,0x1]),this['_spriteBuffer']=new _0x1b3f41['l'](_0x11681a,_0x1a0b57,!0x1,0x2),_0x4413b6=this[_0x137a81(0x786)][_0x137a81(0x519)](_0x137a81(0xb9f),0x0,0x2)):(_0x4413b6=this[_0x137a81(0x21b)][_0x137a81(0x519)](_0x137a81(0xb9f),_0x476d4f,0x2,this[_0x137a81(0xa21)],this[_0x137a81(0x3b4)]),_0x476d4f+=0x2);var _0x11681a=this[_0x137a81(0x21b)][_0x137a81(0x519)]('inverts',_0x476d4f,0x2,this[_0x137a81(0xa21)],this[_0x137a81(0x3b4)]),_0x1a0b57=this[_0x137a81(0x21b)][_0x137a81(0x519)](_0x137a81(0x20d),_0x476d4f+0x2,0x4,this[_0x137a81(0xa21)],this[_0x137a81(0x3b4)]),_0x98a46=this[_0x137a81(0x21b)][_0x137a81(0x519)](_0x1b3f41['o'][_0x137a81(0x94a)],_0x476d4f+0x6,0x4,this['_vertexBufferSize'],this[_0x137a81(0x3b4)]);this[_0x137a81(0x8a7)][_0x1b3f41['o'][_0x137a81(0x170)]]=_0x1f9348,this[_0x137a81(0x8a7)][_0x137a81(0xb6b)]=_0x17ca0a,this[_0x137a81(0x8a7)][_0x137a81(0xb9f)]=_0x4413b6,this[_0x137a81(0x8a7)][_0x137a81(0x1dc)]=_0x11681a,this['_vertexBuffers'][_0x137a81(0x20d)]=_0x1a0b57,this[_0x137a81(0x8a7)][_0x1b3f41['o']['ColorKind']]=_0x98a46,this[_0x137a81(0x611)]();}get[_0x275fcc(0x4f8)](){var _0x53cd47=_0x275fcc;return this[_0x53cd47(0x2ba)];}get[_0x275fcc(0x5f4)](){return this['_pixelPerfect'];}set[_0x275fcc(0x5f4)](_0x143ddb){var _0x242919=_0x275fcc;this['_pixelPerfect']!==_0x143ddb&&(this['_pixelPerfect']=_0x143ddb,this[_0x242919(0x611)]());}['_createEffects'](){var _0x575b9a=_0x275fcc;null!=(_0x22f3d0=this[_0x575b9a(0x56b)])&&_0x22f3d0[_0x575b9a(0x1cb)](),null!=(_0x22f3d0=this[_0x575b9a(0xb43)])&&_0x22f3d0['dispose'](),null!=(_0x22f3d0=this[_0x575b9a(0x90c)])&&_0x22f3d0[_0x575b9a(0x1cb)](),null!=(_0x22f3d0=this[_0x575b9a(0xa9a)])&&_0x22f3d0[_0x575b9a(0x1cb)](),this[_0x575b9a(0x56b)]=new _0x52a0e1['q'](this[_0x575b9a(0xbfd)]),this['_drawWrapperFog']=new _0x52a0e1['q'](this[_0x575b9a(0xbfd)]),this['_drawWrapperDepth']=new _0x52a0e1['q'](this[_0x575b9a(0xbfd)],!0x1),this[_0x575b9a(0xa9a)]=new _0x52a0e1['q'](this['_engine'],!0x1),this['_drawWrapperBase']['drawContext']&&(this[_0x575b9a(0x56b)]['drawContext'][_0x575b9a(0x403)]=this[_0x575b9a(0x3b4)]),this[_0x575b9a(0xb43)][_0x575b9a(0xaac)]&&(this['_drawWrapperFog'][_0x575b9a(0xaac)][_0x575b9a(0x403)]=this[_0x575b9a(0x3b4)]),this['_drawWrapperDepth'][_0x575b9a(0xaac)]&&(this[_0x575b9a(0x90c)]['drawContext'][_0x575b9a(0x403)]=this[_0x575b9a(0x3b4)]),this['_drawWrapperFogDepth'][_0x575b9a(0xaac)]&&(this['_drawWrapperFogDepth'][_0x575b9a(0xaac)]['useInstancing']=this['_useInstancing']);var _0x22f3d0=this[_0x575b9a(0x363)]?_0x575b9a(0x95c):'';this[_0x575b9a(0x56b)][_0x575b9a(0x8ee)]=this['_engine'][_0x575b9a(0xcd4)](_0x575b9a(0x1bd),[_0x1b3f41['o'][_0x575b9a(0x170)],_0x575b9a(0xb6b),_0x575b9a(0xb9f),_0x575b9a(0x1dc),'cellInfo',_0x1b3f41['o']['ColorKind']],[_0x575b9a(0x828),_0x575b9a(0xc1d),_0x575b9a(0x456),'alphaTest'],[_0x575b9a(0x4c3)],_0x22f3d0),this[_0x575b9a(0x90c)]['effect']=this[_0x575b9a(0x56b)][_0x575b9a(0x8ee)],this['_drawWrapperDepth'][_0x575b9a(0x929)]=this[_0x575b9a(0x56b)][_0x575b9a(0x929)],this[_0x575b9a(0x851)]&&(this[_0x575b9a(0xb43)]['effect']=this['_scene'][_0x575b9a(0x989)]()[_0x575b9a(0xcd4)](_0x575b9a(0x1bd),[_0x1b3f41['o'][_0x575b9a(0x170)],'options','offsets',_0x575b9a(0x1dc),_0x575b9a(0x20d),_0x1b3f41['o']['ColorKind']],[_0x575b9a(0x828),_0x575b9a(0xc1d),_0x575b9a(0x456),_0x575b9a(0xd1a),_0x575b9a(0xd39),_0x575b9a(0x586)],[_0x575b9a(0x4c3)],_0x22f3d0+_0x575b9a(0x492)),this['_drawWrapperFogDepth']['effect']=this[_0x575b9a(0xb43)][_0x575b9a(0x8ee)],this['_drawWrapperFogDepth'][_0x575b9a(0x929)]=this['_drawWrapperFog'][_0x575b9a(0x929)]);}['render'](_0x401fe5,_0x4bac49,_0x567c4d,_0x5c01e5,_0x372f7d=null){var _0x10803c=_0x275fcc;if(this['texture']&&this['texture'][_0x10803c(0x21c)]()&&_0x401fe5[_0x10803c(0x86e)]){let _0xca230e=this[_0x10803c(0x56b)],_0x172ef3=this['_drawWrapperDepth'],_0x5bfed6=!0x1;this[_0x10803c(0x4ea)]&&this[_0x10803c(0x851)]&&this[_0x10803c(0x851)][_0x10803c(0x4ea)]&&0x0!==this[_0x10803c(0x851)]['fogMode']&&(_0xca230e=this[_0x10803c(0xb43)],_0x172ef3=this['_drawWrapperFogDepth'],_0x5bfed6=!0x0);const _0x936d79=_0xca230e[_0x10803c(0x8ee)];if(_0x936d79['isReady']()){const _0x398024=this[_0x10803c(0xbfd)];var _0x394e7d,_0x35886e,_0x25b687,_0x55f4b2=!(!this['_scene']||!this['_scene'][_0x10803c(0x44e)]),_0x5c6539=this[_0x10803c(0x7c5)][_0x10803c(0x23b)](),_0x51d67d=Math['min'](this[_0x10803c(0x2ba)],_0x401fe5['length']);let _0x1664cc=0x0,_0x3dd392=!0x0;for(let _0x44b174=0x0;_0x44b174<_0x51d67d;_0x44b174++){const _0x215434=_0x401fe5[_0x44b174];_0x215434&&_0x215434[_0x10803c(0x42a)]&&(_0x3dd392=!0x1,_0x215434[_0x10803c(0x2ac)](_0x4bac49),this[_0x10803c(0x2b1)](_0x1664cc++,_0x215434,0x0,0x0,_0x5c6539,_0x55f4b2,_0x372f7d),this[_0x10803c(0x3b4)]||(this['_appendSpriteVertex'](_0x1664cc++,_0x215434,0x1,0x0,_0x5c6539,_0x55f4b2,_0x372f7d),this[_0x10803c(0x2b1)](_0x1664cc++,_0x215434,0x1,0x1,_0x5c6539,_0x55f4b2,_0x372f7d),this[_0x10803c(0x2b1)](_0x1664cc++,_0x215434,0x0,0x1,_0x5c6539,_0x55f4b2,_0x372f7d)));}_0x3dd392||(this[_0x10803c(0x21b)]['update'](this[_0x10803c(0xa1f)]),_0x394e7d=!!_0x398024['depthCullingState'][_0x10803c(0x41c)],_0x35886e=_0x398024[_0x10803c(0x90a)][_0x10803c(0x6f4)],_0x25b687=_0x398024[_0x10803c(0x90a)]['zOffsetUnits'],_0x398024[_0x10803c(0x5b4)](_0x394e7d,_0x35886e,!0x1,!0x1,void 0x0,void 0x0,_0x25b687),_0x398024[_0x10803c(0xbf0)](_0xca230e),_0x936d79[_0x10803c(0x1c0)](_0x10803c(0x4c3),this[_0x10803c(0x7c5)]),_0x936d79[_0x10803c(0x61f)]('view',_0x567c4d),_0x936d79[_0x10803c(0x61f)]('projection',_0x5c01e5),_0x5bfed6&&(_0x567c4d=this['_scene'],_0x936d79['setFloat4'](_0x10803c(0xd39),_0x567c4d[_0x10803c(0xbc8)],_0x567c4d[_0x10803c(0x8ec)],_0x567c4d[_0x10803c(0x308)],_0x567c4d[_0x10803c(0x340)]),_0x936d79[_0x10803c(0x7d7)]('vFogColor',_0x567c4d['fogColor'])),this['_useVAO']?(this[_0x10803c(0xc3f)]||(this[_0x10803c(0xc3f)]=_0x398024[_0x10803c(0xd65)](this[_0x10803c(0x8a7)],this[_0x10803c(0xc66)],_0x936d79)),_0x398024['bindVertexArrayObject'](this[_0x10803c(0xc3f)],this['_indexBuffer'])):_0x398024[_0x10803c(0x2ab)](this['_vertexBuffers'],this['_indexBuffer'],_0x936d79),_0x398024[_0x10803c(0x90a)][_0x10803c(0x185)]=_0x398024[_0x10803c(0x433)]?_0x3fbf0e['g']['GEQUAL']:_0x3fbf0e['g'][_0x10803c(0xb77)],this['disableDepthWrite']||(_0x936d79[_0x10803c(0x8b9)](_0x10803c(0xd1a),!0x0),_0x398024[_0x10803c(0x6a1)](!0x1),_0x398024[_0x10803c(0xbf0)](_0x172ef3),this['_useInstancing']?_0x398024['drawArraysType'](_0x3fbf0e['g']['MATERIAL_TriangleStripDrawMode'],0x0,0x4,_0x1664cc):_0x398024[_0x10803c(0x93d)](_0x3fbf0e['g'][_0x10803c(0xd14)],0x0,_0x1664cc/0x4*0x6),_0x398024[_0x10803c(0xbf0)](_0xca230e),_0x398024[_0x10803c(0x6a1)](!0x0),_0x936d79[_0x10803c(0x8b9)](_0x10803c(0xd1a),!0x1)),_0x398024['setAlphaMode'](this['blendMode']),this[_0x10803c(0x3b4)]?_0x398024['drawArraysType'](_0x3fbf0e['g'][_0x10803c(0xcdc)],0x0,0x4,_0x1664cc):_0x398024['drawElementsType'](_0x3fbf0e['g'][_0x10803c(0xd14)],0x0,_0x1664cc/0x4*0x6),this[_0x10803c(0xd5d)]&&_0x398024['setAlphaMode'](_0x3fbf0e['g'][_0x10803c(0xb41)]),_0x55f4b2&&this['_scene'][_0x10803c(0x989)]()[_0x10803c(0x5b4)](_0x394e7d,_0x35886e,!0x1,!0x0,void 0x0,void 0x0,_0x25b687),_0x398024[_0x10803c(0xade)]());}}}[_0x275fcc(0x2b1)](_0x47ba05,_0x57df88,_0x452f58,_0x4d8649,_0x26db98,_0x2930e7,_0x535843){var _0x1142b2=_0x275fcc;let _0x1cc6a2=_0x47ba05*this['_vertexBufferSize'];0x0===_0x452f58?_0x452f58=this[_0x1142b2(0x55d)]:0x1===_0x452f58&&(_0x452f58=0x1-this['_epsilon']),0x0===_0x4d8649?_0x4d8649=this['_epsilon']:0x1===_0x4d8649&&(_0x4d8649=0x1-this['_epsilon']),_0x535843?_0x535843(_0x57df88,_0x26db98):(_0x57df88[_0x1142b2(0x83e)]||(_0x57df88[_0x1142b2(0x83e)]=0x0),_0x47ba05=_0x26db98[_0x1142b2(0x639)]/this[_0x1142b2(0x381)],_0x535843=_0x57df88[_0x1142b2(0x83e)]/_0x47ba05>>0x0,_0x57df88['_xOffset']=(_0x57df88[_0x1142b2(0x83e)]-_0x535843*_0x47ba05)*this[_0x1142b2(0x381)]/_0x26db98[_0x1142b2(0x639)],_0x57df88[_0x1142b2(0xca8)]=_0x535843*this['cellHeight']/_0x26db98[_0x1142b2(0x690)],_0x57df88[_0x1142b2(0xd15)]=this[_0x1142b2(0x381)],_0x57df88[_0x1142b2(0x2ec)]=this[_0x1142b2(0x481)]),this[_0x1142b2(0xa1f)][_0x1cc6a2]=_0x57df88[_0x1142b2(0x406)]['x'],this[_0x1142b2(0xa1f)][_0x1cc6a2+0x1]=_0x57df88[_0x1142b2(0x406)]['y'],this[_0x1142b2(0xa1f)][_0x1cc6a2+0x2]=_0x57df88[_0x1142b2(0x406)]['z'],this[_0x1142b2(0xa1f)][_0x1cc6a2+0x3]=_0x57df88[_0x1142b2(0x168)],this['_vertexData'][_0x1cc6a2+0x4]=_0x57df88[_0x1142b2(0x639)],this['_vertexData'][_0x1cc6a2+0x5]=_0x57df88['height'],this['_useInstancing']?_0x1cc6a2-=0x2:(this['_vertexData'][_0x1cc6a2+0x6]=_0x452f58,this[_0x1142b2(0xa1f)][_0x1cc6a2+0x7]=_0x4d8649),this[_0x1142b2(0xa1f)][_0x1cc6a2+0x8]=_0x2930e7?_0x57df88['invertU']?0x0:0x1:_0x57df88[_0x1142b2(0x211)]?0x1:0x0,this[_0x1142b2(0xa1f)][_0x1cc6a2+0x9]=_0x57df88[_0x1142b2(0xa26)]?0x1:0x0,this['_vertexData'][_0x1cc6a2+0xa]=_0x57df88[_0x1142b2(0x4e9)],this[_0x1142b2(0xa1f)][_0x1cc6a2+0xb]=_0x57df88[_0x1142b2(0xca8)],this[_0x1142b2(0xa1f)][_0x1cc6a2+0xc]=_0x57df88[_0x1142b2(0xd15)]/_0x26db98[_0x1142b2(0x639)],this[_0x1142b2(0xa1f)][_0x1cc6a2+0xd]=_0x57df88[_0x1142b2(0x2ec)]/_0x26db98[_0x1142b2(0x690)],this[_0x1142b2(0xa1f)][_0x1cc6a2+0xe]=_0x57df88['color']['r'],this['_vertexData'][_0x1cc6a2+0xf]=_0x57df88[_0x1142b2(0x6aa)]['g'],this[_0x1142b2(0xa1f)][_0x1cc6a2+0x10]=_0x57df88[_0x1142b2(0x6aa)]['b'],this[_0x1142b2(0xa1f)][_0x1cc6a2+0x11]=_0x57df88[_0x1142b2(0x6aa)]['a'];}['_buildIndexBuffer'](){var _0x2e9845=_0x275fcc;const _0x20e09e=[];let _0x49ecf6=0x0;for(let _0x4b5125=0x0;_0x4b5125<this[_0x2e9845(0x2ba)];_0x4b5125++)_0x20e09e[_0x2e9845(0x303)](_0x49ecf6),_0x20e09e['push'](_0x49ecf6+0x1),_0x20e09e[_0x2e9845(0x303)](_0x49ecf6+0x2),_0x20e09e[_0x2e9845(0x303)](_0x49ecf6),_0x20e09e['push'](_0x49ecf6+0x2),_0x20e09e[_0x2e9845(0x303)](_0x49ecf6+0x3),_0x49ecf6+=0x4;this[_0x2e9845(0xc66)]=this[_0x2e9845(0xbfd)][_0x2e9845(0xd18)](_0x20e09e);}['rebuild'](){var _0x1d2122=_0x275fcc,_0x2ec542;this[_0x1d2122(0xc66)]&&this[_0x1d2122(0xd59)](),this[_0x1d2122(0x27f)]&&(this[_0x1d2122(0xc3f)]=void 0x0),this[_0x1d2122(0x21b)][_0x1d2122(0x2f8)]();for(const _0x50ccc0 in this[_0x1d2122(0x8a7)]){const _0x22dba=this['_vertexBuffers'][_0x50ccc0];_0x22dba[_0x1d2122(0x2f8)]();}null!=(_0x2ec542=this[_0x1d2122(0x786)])&&_0x2ec542[_0x1d2122(0x2f8)]();}[_0x275fcc(0x1cb)](){var _0x353bfd=_0x275fcc;this[_0x353bfd(0x21b)]&&(this[_0x353bfd(0x21b)]['dispose'](),this[_0x353bfd(0x21b)]=null),this[_0x353bfd(0x786)]&&(this[_0x353bfd(0x786)][_0x353bfd(0x1cb)](),this[_0x353bfd(0x786)]=null),this[_0x353bfd(0xc66)]&&(this[_0x353bfd(0xbfd)]['_releaseBuffer'](this[_0x353bfd(0xc66)]),this[_0x353bfd(0xc66)]=null),this[_0x353bfd(0xc3f)]&&(this[_0x353bfd(0xbfd)][_0x353bfd(0xa38)](this['_vertexArrayObject']),this[_0x353bfd(0xc3f)]=null),this[_0x353bfd(0x7c5)]&&(this[_0x353bfd(0x7c5)]['dispose'](),this[_0x353bfd(0x7c5)]=null),this[_0x353bfd(0x56b)][_0x353bfd(0x1cb)](),this['_drawWrapperFog'][_0x353bfd(0x1cb)](),this[_0x353bfd(0x90c)][_0x353bfd(0x1cb)](),this[_0x353bfd(0xa9a)][_0x353bfd(0x1cb)]();}}},0x1796e:(_0x1038f4,_0x18b514,_0x47d9cd)=>{var _0x10bdb7=a7_0x425593;_0x47d9cd['d'](_0x18b514,{'l':()=>_0x25844c});class _0x25844c{constructor(){var _0x1a78a2=a7_0x5572;this['width']=0x1,this['height']=0x1,this['angle']=0x0,this[_0x1a78a2(0x211)]=!0x1,this['invertV']=!0x1,this['isVisible']=!0x0,this[_0x1a78a2(0x8ca)]=!0x1,this[_0x1a78a2(0x317)]=!0x1,this[_0x1a78a2(0x9bf)]=0x0,this[_0x1a78a2(0x390)]=0x0,this[_0x1a78a2(0xb42)]=0x0,this[_0x1a78a2(0x7f8)]=0x1,this['_time']=0x0,this[_0x1a78a2(0x28e)]=null,this[_0x1a78a2(0x406)]={'x':0x1,'y':0x1,'z':0x1},this[_0x1a78a2(0x6aa)]={'r':0x1,'g':0x1,'b':0x1,'a':0x1};}get['animationStarted'](){var _0x46b614=a7_0x5572;return this[_0x46b614(0x8ca)];}get['fromIndex'](){var _0x5d6373=a7_0x5572;return this[_0x5d6373(0x9bf)];}get['toIndex'](){var _0x5dd617=a7_0x5572;return this[_0x5dd617(0x390)];}get[_0x10bdb7(0xa27)](){var _0x4541c0=_0x10bdb7;return this[_0x4541c0(0x317)];}get['delay'](){var _0x541d7b=_0x10bdb7;return Math[_0x541d7b(0x713)](this[_0x541d7b(0xb42)],0x1);}[_0x10bdb7(0x730)](_0x982fd0,_0x31e80d,_0x1d0003,_0x31a42b,_0x31af4c){var _0x5152d6=_0x10bdb7;this[_0x5152d6(0x9bf)]=_0x982fd0,this[_0x5152d6(0x390)]=_0x31e80d,this[_0x5152d6(0x317)]=_0x1d0003,this[_0x5152d6(0xb42)]=_0x31a42b||0x1,this[_0x5152d6(0x8ca)]=!0x0,this['_onBaseAnimationEnd']=_0x31af4c,_0x982fd0<_0x31e80d?this[_0x5152d6(0x7f8)]=0x1:(this[_0x5152d6(0x7f8)]=-0x1,this['_toIndex']=_0x982fd0,this[_0x5152d6(0x9bf)]=_0x31e80d),this[_0x5152d6(0x83e)]=_0x982fd0,this[_0x5152d6(0x882)]=0x0;}[_0x10bdb7(0x27c)](){var _0x1f92cd=_0x10bdb7;this[_0x1f92cd(0x8ca)]=!0x1;}[_0x10bdb7(0x2ac)](_0x3978ef){var _0x561c2f=_0x10bdb7;this[_0x561c2f(0x8ca)]&&(this[_0x561c2f(0x882)]+=_0x3978ef,this[_0x561c2f(0x882)]>this['_delay']&&(this[_0x561c2f(0x882)]=this[_0x561c2f(0x882)]%this[_0x561c2f(0xb42)],this[_0x561c2f(0x83e)]+=this[_0x561c2f(0x7f8)],(0x0<this[_0x561c2f(0x7f8)]&&this['cellIndex']>this[_0x561c2f(0x390)]||this[_0x561c2f(0x7f8)]<0x0&&this[_0x561c2f(0x83e)]<this['_fromIndex'])&&(this[_0x561c2f(0x317)]?this[_0x561c2f(0x83e)]=0x0<this[_0x561c2f(0x7f8)]?this[_0x561c2f(0x9bf)]:this[_0x561c2f(0x390)]:(this[_0x561c2f(0x83e)]=this[_0x561c2f(0x390)],this[_0x561c2f(0x8ca)]=!0x1,this['_onBaseAnimationEnd']&&this[_0x561c2f(0x28e)]()))));}}},0x91e:(_0x2c9a41,_0x17f0ba,_0x576890)=>{var _0xfe4758=a7_0x425593;_0x576890['d'](_0x17f0ba,{'Q':()=>_0x413142});class _0x413142{constructor(){var _0x2d8038=a7_0x5572;this[_0x2d8038(0x8c2)]=new Array(0x4),this[_0x2d8038(0xc9f)]=new Array(0x2),this[_0x2d8038(0xb79)]=new Array(0x4),this[_0x2d8038(0x5c6)]=!0x1,this[_0x2d8038(0x812)]=!0x1,this[_0x2d8038(0xcc0)]=!0x1,this[_0x2d8038(0x918)]=!0x1,this['_isBlendEquationParametersDirty']=!0x1,this[_0x2d8038(0x4f4)]();}get[_0xfe4758(0x948)](){var _0x2df7b3=_0xfe4758;return this['_isAlphaBlendDirty']||this[_0x2df7b3(0x918)]||this[_0x2df7b3(0x520)];}get[_0xfe4758(0x659)](){var _0x151461=_0xfe4758;return this[_0x151461(0x812)];}set[_0xfe4758(0x659)](_0x1f87a5){var _0x1dfe83=_0xfe4758;this[_0x1dfe83(0x812)]!==_0x1f87a5&&(this[_0x1dfe83(0x812)]=_0x1f87a5,this[_0x1dfe83(0xcc0)]=!0x0);}[_0xfe4758(0xbc3)](_0x4663b6,_0x40204f,_0x2feb93,_0x164a98){var _0x20ac7c=_0xfe4758;this[_0x20ac7c(0xb79)][0x0]===_0x4663b6&&this[_0x20ac7c(0xb79)][0x1]===_0x40204f&&this['_blendConstants'][0x2]===_0x2feb93&&this[_0x20ac7c(0xb79)][0x3]===_0x164a98||(this['_blendConstants'][0x0]=_0x4663b6,this[_0x20ac7c(0xb79)][0x1]=_0x40204f,this[_0x20ac7c(0xb79)][0x2]=_0x2feb93,this[_0x20ac7c(0xb79)][0x3]=_0x164a98,this['_isBlendConstantsDirty']=!0x0);}[_0xfe4758(0x5a3)](_0x98191b,_0x153f62,_0x51720e,_0x22e995){var _0x441b4f=_0xfe4758;this['_blendFunctionParameters'][0x0]===_0x98191b&&this[_0x441b4f(0x8c2)][0x1]===_0x153f62&&this[_0x441b4f(0x8c2)][0x2]===_0x51720e&&this['_blendFunctionParameters'][0x3]===_0x22e995||(this[_0x441b4f(0x8c2)][0x0]=_0x98191b,this[_0x441b4f(0x8c2)][0x1]=_0x153f62,this[_0x441b4f(0x8c2)][0x2]=_0x51720e,this[_0x441b4f(0x8c2)][0x3]=_0x22e995,this[_0x441b4f(0x918)]=!0x0);}[_0xfe4758(0x31d)](_0x59c104,_0x25abf4){var _0x5b8071=_0xfe4758;this['_blendEquationParameters'][0x0]===_0x59c104&&this[_0x5b8071(0xc9f)][0x1]===_0x25abf4||(this[_0x5b8071(0xc9f)][0x0]=_0x59c104,this[_0x5b8071(0xc9f)][0x1]=_0x25abf4,this[_0x5b8071(0x520)]=!0x0);}[_0xfe4758(0x4f4)](){var _0x3b9ddd=_0xfe4758;this['_alphaBlend']=!0x1,this[_0x3b9ddd(0x8c2)][0x0]=null,this['_blendFunctionParameters'][0x1]=null,this[_0x3b9ddd(0x8c2)][0x2]=null,this[_0x3b9ddd(0x8c2)][0x3]=null,this[_0x3b9ddd(0xc9f)][0x0]=null,this['_blendEquationParameters'][0x1]=null,this['_blendConstants'][0x0]=null,this[_0x3b9ddd(0xb79)][0x1]=null,this[_0x3b9ddd(0xb79)][0x2]=null,this[_0x3b9ddd(0xb79)][0x3]=null,this['_isAlphaBlendDirty']=!0x0,this[_0x3b9ddd(0x918)]=!0x1,this['_isBlendEquationParametersDirty']=!0x1,this[_0x3b9ddd(0x5c6)]=!0x1;}[_0xfe4758(0x576)](_0x2e3dae){var _0x2dba86=_0xfe4758;this[_0x2dba86(0x948)]&&(this[_0x2dba86(0xcc0)]&&(this['_alphaBlend']?_0x2e3dae[_0x2dba86(0x4fc)](_0x2e3dae[_0x2dba86(0x424)]):_0x2e3dae['disable'](_0x2e3dae[_0x2dba86(0x424)]),this[_0x2dba86(0xcc0)]=!0x1),this[_0x2dba86(0x918)]&&(_0x2e3dae[_0x2dba86(0x326)](this[_0x2dba86(0x8c2)][0x0],this[_0x2dba86(0x8c2)][0x1],this[_0x2dba86(0x8c2)][0x2],this['_blendFunctionParameters'][0x3]),this['_isBlendFunctionParametersDirty']=!0x1),this[_0x2dba86(0x520)]&&(_0x2e3dae[_0x2dba86(0x266)](this['_blendEquationParameters'][0x0],this[_0x2dba86(0xc9f)][0x1]),this['_isBlendEquationParametersDirty']=!0x1),this[_0x2dba86(0x5c6)]&&(_0x2e3dae[_0x2dba86(0x2c8)](this['_blendConstants'][0x0],this['_blendConstants'][0x1],this[_0x2dba86(0xb79)][0x2],this[_0x2dba86(0xb79)][0x3]),this[_0x2dba86(0x5c6)]=!0x1));}}},0x12621:(_0x29ca32,_0x52682a,_0x2702ef)=>{var _0x17b8eb=a7_0x425593;_0x2702ef['d'](_0x52682a,{'k':()=>_0x5a033a});class _0x5a033a{constructor(_0x276b01=!0x0){var _0x354eac=a7_0x5572;this[_0x354eac(0x71e)]=!0x1,this[_0x354eac(0xc6d)]=!0x1,this[_0x354eac(0x49f)]=!0x1,this[_0x354eac(0x9af)]=!0x1,this[_0x354eac(0x1a0)]=!0x1,this['_isZOffsetDirty']=!0x1,this['_isFrontFaceDirty']=!0x1,_0x276b01&&this[_0x354eac(0x4f4)]();}get[_0x17b8eb(0x948)](){var _0x155ddb=_0x17b8eb;return this[_0x155ddb(0x49f)]||this[_0x155ddb(0x71e)]||this['_isDepthMaskDirty']||this[_0x155ddb(0x9af)]||this['_isCullDirty']||this[_0x155ddb(0x836)]||this[_0x155ddb(0xc18)];}get['zOffset'](){var _0x519288=_0x17b8eb;return this[_0x519288(0x804)];}set[_0x17b8eb(0x6f4)](_0x3678a1){var _0x3fc5ba=_0x17b8eb;this[_0x3fc5ba(0x804)]!==_0x3678a1&&(this[_0x3fc5ba(0x804)]=_0x3678a1,this['_isZOffsetDirty']=!0x0);}get[_0x17b8eb(0x3e7)](){var _0x10b0a4=_0x17b8eb;return this[_0x10b0a4(0x2c7)];}set[_0x17b8eb(0x3e7)](_0x3c8a8f){var _0x133dbf=_0x17b8eb;this[_0x133dbf(0x2c7)]!==_0x3c8a8f&&(this['_zOffsetUnits']=_0x3c8a8f,this[_0x133dbf(0x836)]=!0x0);}get[_0x17b8eb(0x76a)](){var _0x34c673=_0x17b8eb;return this[_0x34c673(0xafb)];}set['cullFace'](_0x1f70c6){var _0x5a80d2=_0x17b8eb;this[_0x5a80d2(0xafb)]!==_0x1f70c6&&(this[_0x5a80d2(0xafb)]=_0x1f70c6,this[_0x5a80d2(0x9af)]=!0x0);}get['cull'](){var _0x5ed334=_0x17b8eb;return this[_0x5ed334(0x7ac)];}set[_0x17b8eb(0x41c)](_0x61e243){var _0x2b989f=_0x17b8eb;this[_0x2b989f(0x7ac)]!==_0x61e243&&(this[_0x2b989f(0x7ac)]=_0x61e243,this['_isCullDirty']=!0x0);}get['depthFunc'](){var _0x172cb4=_0x17b8eb;return this[_0x172cb4(0xb16)];}set[_0x17b8eb(0x185)](_0x7d7c87){var _0x141294=_0x17b8eb;this[_0x141294(0xb16)]!==_0x7d7c87&&(this[_0x141294(0xb16)]=_0x7d7c87,this[_0x141294(0x49f)]=!0x0);}get[_0x17b8eb(0x48e)](){var _0x449e0a=_0x17b8eb;return this[_0x449e0a(0xb21)];}set[_0x17b8eb(0x48e)](_0x4abb6c){var _0x25af29=_0x17b8eb;this['_depthMask']!==_0x4abb6c&&(this['_depthMask']=_0x4abb6c,this[_0x25af29(0xc6d)]=!0x0);}get[_0x17b8eb(0x91f)](){var _0x20b2a0=_0x17b8eb;return this[_0x20b2a0(0x1f0)];}set[_0x17b8eb(0x91f)](_0x42f375){var _0x2a87df=_0x17b8eb;this[_0x2a87df(0x1f0)]!==_0x42f375&&(this[_0x2a87df(0x1f0)]=_0x42f375,this[_0x2a87df(0x71e)]=!0x0);}get[_0x17b8eb(0x4ff)](){var _0x24dc7e=_0x17b8eb;return this[_0x24dc7e(0xbf2)];}set[_0x17b8eb(0x4ff)](_0x2a45a3){var _0xbb2219=_0x17b8eb;this['_frontFace']!==_0x2a45a3&&(this[_0xbb2219(0xbf2)]=_0x2a45a3,this[_0xbb2219(0xc18)]=!0x0);}['reset'](){var _0x3a5044=_0x17b8eb;this[_0x3a5044(0xb21)]=!0x0,this[_0x3a5044(0x1f0)]=!0x0,this[_0x3a5044(0xb16)]=null,this[_0x3a5044(0xafb)]=null,this[_0x3a5044(0x7ac)]=null,this[_0x3a5044(0x804)]=0x0,this[_0x3a5044(0x2c7)]=0x0,this[_0x3a5044(0xbf2)]=null,this[_0x3a5044(0x71e)]=!0x0,this['_isDepthMaskDirty']=!0x0,this[_0x3a5044(0x49f)]=!0x1,this[_0x3a5044(0x9af)]=!0x1,this[_0x3a5044(0x1a0)]=!0x1,this[_0x3a5044(0x836)]=!0x0,this[_0x3a5044(0xc18)]=!0x1;}['apply'](_0x290827){var _0x492bef=_0x17b8eb;this['isDirty']&&(this[_0x492bef(0x1a0)]&&(this[_0x492bef(0x41c)]?_0x290827[_0x492bef(0x4fc)](_0x290827['CULL_FACE']):_0x290827['disable'](_0x290827['CULL_FACE']),this[_0x492bef(0x1a0)]=!0x1),this[_0x492bef(0x9af)]&&(_0x290827[_0x492bef(0x76a)](this[_0x492bef(0x76a)]),this[_0x492bef(0x9af)]=!0x1),this[_0x492bef(0xc6d)]&&(_0x290827[_0x492bef(0x48e)](this[_0x492bef(0x48e)]),this['_isDepthMaskDirty']=!0x1),this[_0x492bef(0x71e)]&&(this[_0x492bef(0x91f)]?_0x290827[_0x492bef(0x4fc)](_0x290827[_0x492bef(0x2e3)]):_0x290827[_0x492bef(0x88d)](_0x290827[_0x492bef(0x2e3)]),this[_0x492bef(0x71e)]=!0x1),this[_0x492bef(0x49f)]&&(_0x290827[_0x492bef(0x185)](this[_0x492bef(0x185)]),this[_0x492bef(0x49f)]=!0x1),this[_0x492bef(0x836)]&&(this[_0x492bef(0x6f4)]||this[_0x492bef(0x3e7)]?(_0x290827[_0x492bef(0x4fc)](_0x290827[_0x492bef(0xcf2)]),_0x290827[_0x492bef(0x6a0)](this[_0x492bef(0x6f4)],this['zOffsetUnits'])):_0x290827[_0x492bef(0x88d)](_0x290827[_0x492bef(0xcf2)]),this['_isZOffsetDirty']=!0x1),this[_0x492bef(0xc18)]&&(_0x290827[_0x492bef(0x4ff)](this['frontFace']),this[_0x492bef(0xc18)]=!0x1));}}},0x2902:(_0x3a9ee6,_0x366f0a,_0x1becb5)=>{var _0x3b2646=a7_0x425593;_0x1becb5['d'](_0x366f0a,{'C':()=>_0x5e3a78});class _0x5e3a78{constructor(_0x46e10a=!0x0){var _0x20abfa=a7_0x5572;this[_0x20abfa(0x92c)]=!0x1,this[_0x20abfa(0x8c5)]=!0x1,this[_0x20abfa(0x7fe)]=!0x1,this[_0x20abfa(0x184)]=!0x1,this[_0x20abfa(0xaab)]=!0x1,_0x46e10a&&this[_0x20abfa(0x4f4)]();}get[_0x3b2646(0x948)](){var _0x5a5478=_0x3b2646;return this[_0x5a5478(0x92c)]||this[_0x5a5478(0x8c5)]||this['_isStencilFuncDirty']||this[_0x5a5478(0x184)];}get[_0x3b2646(0x24f)](){return this['_func'];}set[_0x3b2646(0x24f)](_0x238a1b){var _0x4a37df=_0x3b2646;this[_0x4a37df(0x6cb)]!==_0x238a1b&&(this[_0x4a37df(0x6cb)]=_0x238a1b,this[_0x4a37df(0x7fe)]=!0x0);}get[_0x3b2646(0x602)](){var _0x4a4edf=_0x3b2646;return this[_0x4a4edf(0x47b)];}set[_0x3b2646(0x602)](_0x1648b1){var _0x3a3d70=_0x3b2646;this[_0x3a3d70(0x47b)]!==_0x1648b1&&(this[_0x3a3d70(0x47b)]=_0x1648b1,this[_0x3a3d70(0x7fe)]=!0x0);}get['funcMask'](){var _0x14a4c3=_0x3b2646;return this[_0x14a4c3(0x9f9)];}set[_0x3b2646(0x796)](_0x5981c2){var _0x24329a=_0x3b2646;this[_0x24329a(0x9f9)]!==_0x5981c2&&(this[_0x24329a(0x9f9)]=_0x5981c2,this[_0x24329a(0x7fe)]=!0x0);}get['opStencilFail'](){var _0x4f28fc=_0x3b2646;return this[_0x4f28fc(0x1dd)];}set[_0x3b2646(0x902)](_0x143cf5){var _0x1664a3=_0x3b2646;this[_0x1664a3(0x1dd)]!==_0x143cf5&&(this[_0x1664a3(0x1dd)]=_0x143cf5,this['_isStencilOpDirty']=!0x0);}get[_0x3b2646(0x1a6)](){var _0x1caffe=_0x3b2646;return this[_0x1caffe(0x3f8)];}set[_0x3b2646(0x1a6)](_0x4c661d){var _0x415a2f=_0x3b2646;this[_0x415a2f(0x3f8)]!==_0x4c661d&&(this[_0x415a2f(0x3f8)]=_0x4c661d,this[_0x415a2f(0x184)]=!0x0);}get[_0x3b2646(0xd11)](){var _0x3960d6=_0x3b2646;return this[_0x3960d6(0x6db)];}set[_0x3b2646(0xd11)](_0x2dd893){var _0x175d25=_0x3b2646;this['_opStencilDepthPass']!==_0x2dd893&&(this[_0x175d25(0x6db)]=_0x2dd893,this[_0x175d25(0x184)]=!0x0);}get[_0x3b2646(0x54c)](){var _0x1b84ff=_0x3b2646;return this[_0x1b84ff(0xd37)];}set[_0x3b2646(0x54c)](_0x45016c){var _0x1a60fa=_0x3b2646;this[_0x1a60fa(0xd37)]!==_0x45016c&&(this[_0x1a60fa(0xd37)]=_0x45016c,this['_isStencilMaskDirty']=!0x0);}get[_0x3b2646(0x650)](){return this['_enabled'];}set[_0x3b2646(0x650)](_0x3bfab3){var _0x20eb0b=_0x3b2646;this['_enabled']!==_0x3bfab3&&(this[_0x20eb0b(0x17c)]=_0x3bfab3,this[_0x20eb0b(0x92c)]=!0x0);}[_0x3b2646(0x4f4)](){var _0xc73f=_0x3b2646,_0x356689;this['stencilMaterial']=void 0x0,null!=(_0x356689=this[_0xc73f(0xd01)])&&_0x356689[_0xc73f(0x4f4)](),this['_isStencilTestDirty']=!0x0,this[_0xc73f(0x8c5)]=!0x0,this[_0xc73f(0x7fe)]=!0x0,this[_0xc73f(0x184)]=!0x0;}[_0x3b2646(0x576)](_0x2b648c){var _0x13253b=_0x3b2646,_0x1ff3de;_0x2b648c&&(_0x1ff3de=!this['useStencilGlobalOnly']&&!(null==(_0x1ff3de=this['stencilMaterial'])||!_0x1ff3de['enabled']),this[_0x13253b(0x650)]=(_0x1ff3de?this['stencilMaterial']:this[_0x13253b(0xd01)])['enabled'],this[_0x13253b(0x24f)]=(_0x1ff3de?this[_0x13253b(0x6f6)]:this[_0x13253b(0xd01)])[_0x13253b(0x24f)],this[_0x13253b(0x602)]=(_0x1ff3de?this[_0x13253b(0x6f6)]:this[_0x13253b(0xd01)])[_0x13253b(0x602)],this[_0x13253b(0x796)]=(_0x1ff3de?this[_0x13253b(0x6f6)]:this[_0x13253b(0xd01)])[_0x13253b(0x796)],this[_0x13253b(0x902)]=(_0x1ff3de?this[_0x13253b(0x6f6)]:this['stencilGlobal'])[_0x13253b(0x902)],this['opDepthFail']=(_0x1ff3de?this[_0x13253b(0x6f6)]:this[_0x13253b(0xd01)])[_0x13253b(0x1a6)],this[_0x13253b(0xd11)]=(_0x1ff3de?this[_0x13253b(0x6f6)]:this[_0x13253b(0xd01)])['opStencilDepthPass'],this[_0x13253b(0x54c)]=(_0x1ff3de?this['stencilMaterial']:this[_0x13253b(0xd01)])[_0x13253b(0x54c)],this['isDirty']&&(this[_0x13253b(0x92c)]&&(this['enabled']?_0x2b648c[_0x13253b(0x4fc)](_0x2b648c[_0x13253b(0x656)]):_0x2b648c[_0x13253b(0x88d)](_0x2b648c['STENCIL_TEST']),this['_isStencilTestDirty']=!0x1),this[_0x13253b(0x8c5)]&&(_0x2b648c[_0x13253b(0xba4)](this[_0x13253b(0x54c)]),this[_0x13253b(0x8c5)]=!0x1),this[_0x13253b(0x7fe)]&&(_0x2b648c[_0x13253b(0x29e)](this[_0x13253b(0x24f)],this[_0x13253b(0x602)],this[_0x13253b(0x796)]),this['_isStencilFuncDirty']=!0x1),this['_isStencilOpDirty']&&(_0x2b648c[_0x13253b(0x6a3)](this[_0x13253b(0x902)],this[_0x13253b(0x1a6)],this[_0x13253b(0xd11)]),this[_0x13253b(0x184)]=!0x1)));}}},0xde31:(_0x159f2e,_0x4601ca,_0x100a74)=>{var _0x2d9a54=a7_0x425593;_0x100a74['d'](_0x4601ca,{'F':()=>_0x5deff6});class _0x5deff6{constructor(_0x4c93af){var _0x3bd723=a7_0x5572;this[_0x3bd723(0x5ae)]=_0x4c93af,this[_0x3bd723(0x174)]=!0x1,this['_removeOnDetach']=[],this['isDisposed']=!0x1,this[_0x3bd723(0x3d3)]=!0x1,this[_0x3bd723(0x2e8)]='';}get[_0x2d9a54(0x2cb)](){var _0x4659bc=_0x2d9a54;return this[_0x4659bc(0x174)];}[_0x2d9a54(0x8d9)](_0x582599){var _0x2cf213=_0x2d9a54;if(this['isDisposed'])return!0x1;if(_0x582599)this[_0x2cf213(0x2cb)]&&this['detach']();else{if(this[_0x2cf213(0x2cb)])return!0x1;}return this[_0x2cf213(0x174)]=!0x0,this[_0x2cf213(0xc68)](this[_0x2cf213(0x5ae)][_0x2cf213(0x905)],_0x4906b3=>this[_0x2cf213(0x4e6)](_0x4906b3)),!0x0;}[_0x2d9a54(0x396)](){var _0x35bd64=_0x2d9a54;return this[_0x35bd64(0x174)]?(this[_0x35bd64(0x174)]=!0x1,this[_0x35bd64(0x28a)][_0x35bd64(0x92e)](_0x2af9d9=>{var _0xe3b08a=_0x35bd64;_0x2af9d9[_0xe3b08a(0x64e)]['remove'](_0x2af9d9['observer']);}),!0x0):!(this[_0x35bd64(0x3d3)]=!0x0);}[_0x2d9a54(0x1cb)](){var _0x1b03c9=_0x2d9a54;this[_0x1b03c9(0x396)](),this['isDisposed']=!0x0;}[_0x2d9a54(0xac8)](){return!0x0;}['_addNewAttachObserver'](_0x5e2404,_0x39f8cc){var _0x48b5a1=_0x2d9a54;this[_0x48b5a1(0x28a)][_0x48b5a1(0x303)]({'observable':_0x5e2404,'observer':_0x5e2404[_0x48b5a1(0x47e)](_0x39f8cc)});}}},0x3a6b:(_0x2d2e30,_0x12e996,_0x1254bf)=>{var _0x4f1f77=a7_0x425593;_0x1254bf['d'](_0x12e996,{'s':()=>_0x57ea55});class _0x57ea55{constructor(_0x484cf1,_0x5c039a,_0x424faf,_0x3e6698,_0x49f308){var _0x321071=a7_0x5572;this[_0x321071(0xd41)]=_0x484cf1,this[_0x321071(0x3be)]=_0x5c039a,this[_0x321071(0x6b1)]=_0x424faf,this[_0x321071(0xd7c)]=_0x3e6698,this['createRenderTargetTextureProvider']=_0x49f308;}get[_0x4f1f77(0x6c0)](){var _0x2b4149=_0x4f1f77;return _0x2b4149(0xa53)==this['layerType']&&_0x2b4149(0x1b7)==typeof this[_0x2b4149(0x6b1)]['fixedFoveation'];}get[_0x4f1f77(0x214)](){var _0x306c9f=_0x4f1f77;return this[_0x306c9f(0x6c0)]?this[_0x306c9f(0x6b1)][_0x306c9f(0x214)]:null;}set[_0x4f1f77(0x214)](_0xbb0a34){var _0xa5652d=_0x4f1f77;this[_0xa5652d(0x6c0)]&&(_0xbb0a34=Math['max'](0x0,Math[_0xa5652d(0x951)](0x1,_0xbb0a34||0x0)),this[_0xa5652d(0x6b1)][_0xa5652d(0x214)]=_0xbb0a34);}}},0x43e9:(_0x532e4f,_0x5d3515,_0x46d42d)=>{var _0x5a6f65=a7_0x425593;_0x46d42d['d'](_0x5d3515,{'T':()=>_0x4332ac});var _0x3f4b8b=_0x46d42d(0x2f9d);class _0x4332ac{constructor(_0x285e5b,_0x5ba183){var _0x13347c=a7_0x5572;this[_0x13347c(0xb0e)]=0x0,this[_0x13347c(0xc55)]={},this[_0x13347c(0xb0d)]=0x0,_0x285e5b instanceof SharedArrayBuffer?(this[_0x13347c(0x9e6)]=_0x285e5b,this[_0x13347c(0xb0e)]=_0x285e5b[_0x13347c(0x3e3)]/(0x4*_0x4332ac[_0x13347c(0xcfe)]),this[_0x13347c(0xc55)]=_0x5ba183):(this[_0x13347c(0x9e6)]=new SharedArrayBuffer(_0x285e5b*(0x4*_0x4332ac['modelDataLength'])),this['modelTotalCount']=_0x285e5b),this[_0x13347c(0x971)]=new TextEncoder(),this[_0x13347c(0x54a)]=new TextDecoder(),this[_0x13347c(0x293)]=new Float32Array(this['modelArrayBuff']),this[_0x13347c(0x3c5)]=new Int32Array(this[_0x13347c(0x9e6)]),this[_0x13347c(0x1e1)]=new Uint8Array(this[_0x13347c(0x9e6)]),this['textBuffer']=new Uint8Array(0xc8);}[_0x5a6f65(0xc4c)](_0x3b23d5){var _0x35711e=_0x5a6f65;return _0x3b23d5=this[_0x35711e(0xc55)][_0x3b23d5],this['f32d']['subarray'](_0x3b23d5,_0x3b23d5+0x3);}[_0x5a6f65(0xa16)](_0x31e7f3){var _0x2f1eb7=_0x5a6f65;return _0x31e7f3=this[_0x2f1eb7(0xc55)][_0x31e7f3]+0x3,this[_0x2f1eb7(0x293)][_0x2f1eb7(0x521)](_0x31e7f3,_0x31e7f3+0x3);}[_0x5a6f65(0x976)](_0x7d33af){var _0x2681f0=_0x5a6f65;return _0x7d33af=this[_0x2681f0(0xc55)][_0x7d33af]+0x6,this['f32d'][_0x2681f0(0x521)](_0x7d33af,_0x7d33af+0x10);}[_0x5a6f65(0x3b9)](_0x59c330){var _0x70e53e=_0x5a6f65;return _0x59c330=this[_0x70e53e(0xc55)][_0x59c330]+0x1d,this['i32d']['subarray'](_0x59c330,_0x59c330+0x1);}[_0x5a6f65(0x68a)](_0x127477){var _0x403b58=_0x5a6f65;return _0x127477=this[_0x403b58(0xc55)][_0x127477]+0x1c,this['i32d'][_0x403b58(0x521)](_0x127477,_0x127477+0x1);}['dataOffsetStart'](_0x4d3f5a){var _0x52c512=_0x5a6f65;return _0x4d3f5a=this[_0x52c512(0xc55)][_0x4d3f5a]+0x1b,this[_0x52c512(0x3c5)]['subarray'](_0x4d3f5a,_0x4d3f5a+0x1);}['废弃'](_0x5556ac){var _0x2ca7f7=_0x5a6f65;return _0x5556ac=this[_0x2ca7f7(0xc55)][_0x5556ac]+0x1a,this[_0x2ca7f7(0x3c5)]['subarray'](_0x5556ac,_0x5556ac+0x1);}[_0x5a6f65(0xcb5)](_0x539e25){var _0x43c5ba=_0x5a6f65;return _0x539e25=this[_0x43c5ba(0xc55)][_0x539e25]+0x19,this[_0x43c5ba(0x3c5)][_0x43c5ba(0x521)](_0x539e25,_0x539e25+0x1);}['meshCount'](_0x2544a2){var _0x31722f=_0x5a6f65;return _0x2544a2=this['modelIndexOffsetStart'][_0x2544a2]+0x18,this['i32d'][_0x31722f(0x521)](_0x2544a2,_0x2544a2+0x1);}[_0x5a6f65(0xcab)](_0x3c5239){var _0x2ba4b0=_0x5a6f65;return _0x3c5239=this[_0x2ba4b0(0xc55)][_0x3c5239]+0x17,this[_0x2ba4b0(0x3c5)][_0x2ba4b0(0x521)](_0x3c5239,_0x3c5239+0x1);}[_0x5a6f65(0x6df)](_0x1f10b9){var _0x2c8e52=_0x5a6f65;return _0x1f10b9=this[_0x2c8e52(0xc55)][_0x1f10b9]+0x16,this[_0x2c8e52(0x3c5)][_0x2c8e52(0x521)](_0x1f10b9,_0x1f10b9+0x1);}[_0x5a6f65(0xcc4)](_0x57b5d2){var _0x20acc2=_0x5a6f65;return _0x57b5d2=0x4*this[_0x20acc2(0xc55)][_0x57b5d2]+0x78,_0x57b5d2=this[_0x20acc2(0x1e1)][_0x20acc2(0x521)](_0x57b5d2,0xc8+_0x57b5d2),(this[_0x20acc2(0x37b)]['set'](_0x57b5d2),this['textD'][_0x20acc2(0x62b)](this[_0x20acc2(0x37b)])['replace'](/\x00/g,''));}[_0x5a6f65(0x653)](_0x25fab0,_0x588fe1){var _0x360529=_0x5a6f65;if(_0x588fe1){_0x25fab0=0x4*this['modelIndexOffsetStart'][_0x25fab0]+0x78;let _0x41db4b=this[_0x360529(0x1e1)]['subarray'](_0x25fab0,0xc8+_0x25fab0);_0x41db4b[_0x360529(0x83f)](this[_0x360529(0x971)]['encode'](_0x588fe1));}}['getUniqueId'](_0x3264c7){var _0x31ca63=_0x5a6f65;return _0x3264c7=0x4*this[_0x31ca63(0xc55)][_0x3264c7]+0x140,_0x3264c7=this[_0x31ca63(0x1e1)]['subarray'](_0x3264c7,0x20+_0x3264c7),0x0!==_0x3264c7[0x0]?(this['textBuffer'][_0x31ca63(0x83f)](_0x3264c7),this[_0x31ca63(0x54a)]['decode'](this[_0x31ca63(0x37b)][_0x31ca63(0x521)](0x0,0x20))):'';}[_0x5a6f65(0x527)](_0x4ba389,_0x2dba5f){var _0x18e5f1=_0x5a6f65;if(_0x2dba5f){_0x4ba389=0x4*this[_0x18e5f1(0xc55)][_0x4ba389]+0x140;let _0xab53b6=this['ui8d'][_0x18e5f1(0x521)](_0x4ba389,0x20+_0x4ba389);_0xab53b6[_0x18e5f1(0x83f)](this[_0x18e5f1(0x971)][_0x18e5f1(0xb33)](_0x2dba5f));}}['AddModel'](_0x5d5fbf){var _0x376291=_0x5a6f65;this[_0x376291(0xc55)][_0x5d5fbf['id']]=this[_0x376291(0xb0d)],this[_0x376291(0xb0d)]+=_0x4332ac[_0x376291(0xcfe)];var _0x345db1=this[_0x376291(0xc55)][_0x5d5fbf['id']];let _0x41d07f=this[_0x376291(0x293)]['subarray'](_0x345db1,_0x345db1+0x16),_0x53f339=[0x1,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x1];_0x5d5fbf[_0x376291(0x976)]&&(_0x53f339=(0x0,_0x3f4b8b['ux'])(_0x5d5fbf[_0x376291(0x976)][_0x376291(0x9de)]('\x20'))),_0x41d07f[_0x376291(0x83f)]([...(0x0,_0x3f4b8b['ux'])(_0x5d5fbf['boxMin'][_0x376291(0x9de)]('\x20')),...(0x0,_0x3f4b8b['ux'])(_0x5d5fbf[_0x376291(0xa16)][_0x376291(0x9de)]('\x20')),..._0x53f339]),_0x345db1=this[_0x376291(0xc55)][_0x5d5fbf['id']]+0x16;let _0x151d31=this[_0x376291(0x3c5)]['subarray'](_0x345db1,_0x345db1+0x7);_0x151d31[_0x376291(0x83f)]([_0x5d5fbf[_0x376291(0x6df)],_0x5d5fbf[_0x376291(0xcab)],_0x5d5fbf['meshCount'],_0x5d5fbf[_0x376291(0xcb5)],0x0,-0x1,_0x5d5fbf['status']||0x1]),this[_0x376291(0x653)](_0x5d5fbf['id'],_0x5d5fbf['fileName']),this[_0x376291(0x527)](_0x5d5fbf['id'],_0x5d5fbf[_0x376291(0xafd)]);}[_0x5a6f65(0x6b9)](){var _0x209bf1=_0x5a6f65;let _0x3a4ac6={};for(var _0x186879 in this[_0x209bf1(0xc55)]){var _0x186879=~~_0x186879,_0x1dcda9=this[_0x209bf1(0xc55)][_0x186879];let _0x4b72a1=this[_0x209bf1(0x293)][_0x209bf1(0x521)](_0x1dcda9,_0x1dcda9+0x16);_0x1dcda9=this[_0x209bf1(0xc55)][_0x186879]+0x16,_0x1dcda9=this[_0x209bf1(0x3c5)][_0x209bf1(0x521)](_0x1dcda9,_0x1dcda9+0x7),_0x3a4ac6[_0x186879]={'id':_0x186879,'boxMin':_0x4b72a1['subarray'](0x0,0x3),'boxMax':_0x4b72a1[_0x209bf1(0x521)](0x3,0x6),'transform':_0x4b72a1[_0x209bf1(0x521)](0x6,0x16),'componentCount':_0x1dcda9[0x0],'meshInstancesCount':_0x1dcda9[0x1],'meshCount':_0x1dcda9[0x2],'materialCount':_0x1dcda9[0x3],'fileName':this[_0x209bf1(0xcc4)](_0x186879),'uniqueId':this[_0x209bf1(0x2a0)](_0x186879),'status':_0x1dcda9[0x6]};}return _0x3a4ac6;}[_0x5a6f65(0x522)](_0x5fcfd3){var _0xb2afcf=_0x5a6f65,_0x540876=this[_0xb2afcf(0xc55)][_0x5fcfd3];let _0x3e3b5a=this[_0xb2afcf(0x293)][_0xb2afcf(0x521)](_0x540876,_0x540876+0x16);return _0x540876=this[_0xb2afcf(0xc55)][_0x5fcfd3]+0x16,_0x540876=this[_0xb2afcf(0x3c5)][_0xb2afcf(0x521)](_0x540876,_0x540876+0x7),{'id':_0x5fcfd3,'boxMin':_0x3e3b5a['subarray'](0x0,0x3),'boxMax':_0x3e3b5a[_0xb2afcf(0x521)](0x3,0x6),'transform':_0x3e3b5a[_0xb2afcf(0x521)](0x6,0x16),'componentCount':_0x540876[0x0],'meshInstancesCount':_0x540876[0x1],'meshCount':_0x540876[0x2],'materialCount':_0x540876[0x3],'fileName':this[_0xb2afcf(0xcc4)](_0x5fcfd3),'uniqueId':this['getUniqueId'](_0x5fcfd3),'status':_0x540876[0x6]};}['isExist'](_0x4bc97a){var _0x9bb2eb=_0x5a6f65;return this[_0x9bb2eb(0xc55)][_0x9bb2eb(0xc49)](_0x4bc97a);}}_0x4332ac[_0x5a6f65(0xcfe)]=0x58;},0x15a31:(_0x29d92b,_0x50668a,_0x9eccaf)=>{var _0x23608b=a7_0x425593,_0x17baf3;_0x9eccaf['d'](_0x50668a,{'p':()=>_0x576d11}),_0x17baf3={'cameraId':0x0,0x0:_0x23608b(0x4a1),'cameraWorldPosition':0x1,0x1:_0x23608b(0x8e3),'worldDirection':0x2,0x2:_0x23608b(0x8e5),'worldUp':0x3,0x3:_0x23608b(0xb2e),'viewMatrix':0x4,0x4:_0x23608b(0xbc6),'worldMatrix':0x5,0x5:'worldMatrix','projectionMatrix':0x6,0x6:_0x23608b(0x782),'heartbeat':0x7,0x7:_0x23608b(0x475),'useCache':0x8,0x8:_0x23608b(0x532),'maxRenderTriangleCount':0x9,0x9:_0x23608b(0x235),'frameMaxRenderMemoryLength':0xa,0xa:_0x23608b(0x687),'pickId':0xb,0xb:_0x23608b(0x2c9),'pickWorldPosition':0xc,0xc:'pickWorldPosition','pickWorldNormal':0xd,0xd:_0x23608b(0x886),'getBox':0xe,0xe:_0x23608b(0x3f2),'maxTextureSize':0xf,0xf:'maxTextureSize','renderPageFocus':0x10,0x10:_0x23608b(0x3dc),'renderWidthHeight':0x11,0x11:_0x23608b(0x99e),'allowSingleMeshMaxTriangleFaceQuantity':0x12,0x12:_0x23608b(0xc3c),'visibleModelBox':0x13,0x13:_0x23608b(0x764),'isMainRender':0x14,0x14:'isMainRender','mousePosition':0x15,0x15:_0x23608b(0x5f1),'sunDirection':0x16,0x16:'sunDirection','startTime':0x17,0x17:_0x23608b(0x8d2),'onlyShowShells':0x18,0x18:_0x23608b(0x3d5)};class _0x576d11{constructor(_0x2df900,_0x392d4e){var _0x1b1809=_0x23608b;if(this[_0x1b1809(0x254)]={},this[_0x1b1809(0x557)]=0x0,this[_0x1b1809(0x292)]=0x0,this[_0x1b1809(0xc23)]=0x7fe00000,this[_0x1b1809(0x655)]=0x0,this[_0x1b1809(0x553)]=Float64Array,_0x2df900||_0x392d4e){for(var _0xbf6ff0 in(this[_0x1b1809(0x932)]=_0x392d4e,_0x2df900))this[_0x1b1809(0xb53)](_0xbf6ff0,_0x2df900[_0xbf6ff0][_0x1b1809(0x86e)]);}else{this[_0x1b1809(0x932)]=[],_0x392d4e=0x6e*Float64Array['BYTES_PER_ELEMENT'];if(this[_0x1b1809(0x655)]=Math[_0x1b1809(0x860)](_0x392d4e/this[_0x1b1809(0xc23)]),0x0===this['arrayBufferBlockCount'])this['dataStoreArrayBuffer']['push'](new SharedArrayBuffer(_0x392d4e));else{for(let _0x5e4020=0x0;_0x5e4020<this[_0x1b1809(0x655)];_0x5e4020++)this[_0x1b1809(0x932)][_0x1b1809(0x303)](new SharedArrayBuffer(this[_0x1b1809(0xc23)]));this['dataStoreArrayBuffer'][_0x1b1809(0x303)](new SharedArrayBuffer(_0x392d4e%this[_0x1b1809(0xc23)]));}this[_0x1b1809(0xb53)](_0x17baf3[_0x1b1809(0x4a1)],0x1),this[_0x1b1809(0xb53)](_0x17baf3[_0x1b1809(0x8e3)],0x3),this[_0x1b1809(0xb53)](_0x17baf3['worldDirection'],0x3),this[_0x1b1809(0xb53)](_0x17baf3[_0x1b1809(0xb2e)],0x3),this['AddStore'](_0x17baf3['viewMatrix'],0x10),this[_0x1b1809(0xb53)](_0x17baf3['worldMatrix'],0x10),this[_0x1b1809(0xb53)](_0x17baf3[_0x1b1809(0x782)],0x15),this[_0x1b1809(0xb53)](_0x17baf3[_0x1b1809(0x475)],0x1),this[_0x1b1809(0xb53)](_0x17baf3[_0x1b1809(0x532)],0x1),this[_0x1b1809(0xb53)](_0x17baf3[_0x1b1809(0x235)],0x1),this['AddStore'](_0x17baf3[_0x1b1809(0x687)],0x1),this[_0x1b1809(0xb53)](_0x17baf3[_0x1b1809(0x2c9)],0x5),this[_0x1b1809(0xb53)](_0x17baf3[_0x1b1809(0xa6f)],0x4),this[_0x1b1809(0xb53)](_0x17baf3[_0x1b1809(0x886)],0x4),this[_0x1b1809(0xb53)](_0x17baf3[_0x1b1809(0x3f2)],0x7),this[_0x1b1809(0xb53)](_0x17baf3[_0x1b1809(0x74e)],0x1),this['AddStore'](_0x17baf3[_0x1b1809(0x3dc)],0x1),this[_0x1b1809(0xb53)](_0x17baf3[_0x1b1809(0x99e)],0x2),this[_0x1b1809(0xb53)](_0x17baf3[_0x1b1809(0xc3c)],0x1),this['AddStore'](_0x17baf3[_0x1b1809(0x764)],0xa),this['AddStore'](_0x17baf3['isMainRender'],0x1),this[_0x1b1809(0xb53)](_0x17baf3['mousePosition'],0x2),this['AddStore'](_0x17baf3[_0x1b1809(0x288)],0x3),this[_0x1b1809(0xb53)](_0x17baf3[_0x1b1809(0x8d2)],0x1),this[_0x1b1809(0xb53)](_0x17baf3[_0x1b1809(0x3d5)],0x1);}}get['onlyShowShells'](){var _0x57a84c=_0x23608b;return this['GetData'](_0x17baf3[_0x57a84c(0x3d5)])[0x0];}set[_0x23608b(0x3d5)](_0x4e126a){var _0x1e9a0d=_0x23608b;this[_0x1e9a0d(0x977)](_0x17baf3[_0x1e9a0d(0x3d5)])[0x0]=_0x4e126a;}get[_0x23608b(0x8d2)](){var _0x5101ed=_0x23608b;return this[_0x5101ed(0x977)](_0x17baf3[_0x5101ed(0x8d2)])[0x0];}set[_0x23608b(0x8d2)](_0x9fa35a){var _0x9ec3d8=_0x23608b;this[_0x9ec3d8(0x977)](_0x17baf3[_0x9ec3d8(0x8d2)])[0x0]=_0x9fa35a;}set[_0x23608b(0x288)](_0x5780af){var _0x21641f=_0x23608b;this['SetData'](_0x17baf3[_0x21641f(0x288)],_0x5780af);}get[_0x23608b(0x288)](){var _0x24db70=_0x23608b;return this[_0x24db70(0x977)](_0x17baf3[_0x24db70(0x288)]);}set[_0x23608b(0x5f1)](_0x2ed873){var _0xd3f43=_0x23608b;this[_0xd3f43(0x1a5)](_0x17baf3[_0xd3f43(0x5f1)],_0x2ed873);}get[_0x23608b(0x5f1)](){var _0x3f6219=_0x23608b;return this[_0x3f6219(0x977)](_0x17baf3[_0x3f6219(0x5f1)]);}get[_0x23608b(0x644)](){var _0x4c6967=_0x23608b;return this['GetData'](_0x17baf3[_0x4c6967(0x644)])[0x0];}set[_0x23608b(0x644)](_0x262cfc){var _0x31d09b=_0x23608b;this[_0x31d09b(0x977)](_0x17baf3['isMainRender'])[0x0]=_0x262cfc;}get[_0x23608b(0xc3c)](){var _0x1b6ad2=_0x23608b;return this[_0x1b6ad2(0x977)](_0x17baf3[_0x1b6ad2(0xc3c)])[0x0];}set[_0x23608b(0xc3c)](_0x17a9f6){var _0x24ef7f=_0x23608b;this[_0x24ef7f(0x977)](_0x17baf3[_0x24ef7f(0xc3c)])[0x0]=_0x17a9f6;}get[_0x23608b(0x764)](){var _0x3fd800=_0x23608b;return this[_0x3fd800(0x977)](_0x17baf3[_0x3fd800(0x764)]);}set[_0x23608b(0x764)](_0xd7b641){var _0x179b3a=_0x23608b;this[_0x179b3a(0x1a5)](_0x17baf3[_0x179b3a(0x764)],_0xd7b641);}get[_0x23608b(0x99e)](){var _0x33ff36=_0x23608b;return this[_0x33ff36(0x977)](_0x17baf3[_0x33ff36(0x99e)]);}set['renderWidthHeight'](_0x4f6f52){var _0x8a3703=_0x23608b;this[_0x8a3703(0x1a5)](_0x17baf3[_0x8a3703(0x99e)],_0x4f6f52);}get[_0x23608b(0x3dc)](){var _0x67a7d1=_0x23608b;return this['GetData'](_0x17baf3[_0x67a7d1(0x3dc)])[0x0];}set[_0x23608b(0x3dc)](_0x5229e0){var _0x46a97f=_0x23608b;this[_0x46a97f(0x977)](_0x17baf3['renderPageFocus'])[0x0]=_0x5229e0;}get[_0x23608b(0x74e)](){var _0x417a51=_0x23608b;return this[_0x417a51(0x977)](_0x17baf3['maxTextureSize'])[0x0];}set[_0x23608b(0x74e)](_0x797609){var _0x48c309=_0x23608b;this['GetData'](_0x17baf3[_0x48c309(0x74e)])[0x0]=_0x797609;}get[_0x23608b(0x3f2)](){var _0x3d6859=_0x23608b;return this[_0x3d6859(0x977)](_0x17baf3[_0x3d6859(0x3f2)]);}set[_0x23608b(0x3f2)](_0x3c1d03){var _0x3dc121=_0x23608b;this[_0x3dc121(0x1a5)](_0x17baf3[_0x3dc121(0x3f2)],_0x3c1d03);}get['pickWorldNormal'](){var _0x4022cd=_0x23608b;return this[_0x4022cd(0x977)](_0x17baf3['pickWorldNormal']);}set[_0x23608b(0x886)](_0x54fad1){var _0xf063df=_0x23608b;this[_0xf063df(0x1a5)](_0x17baf3[_0xf063df(0x886)],_0x54fad1);}get[_0x23608b(0xa6f)](){var _0x22da31=_0x23608b;return this[_0x22da31(0x977)](_0x17baf3['pickWorldPosition']);}set[_0x23608b(0xa6f)](_0x2f4e21){var _0x40308e=_0x23608b;this[_0x40308e(0x1a5)](_0x17baf3[_0x40308e(0xa6f)],_0x2f4e21);}get['pickId'](){var _0x10ebdc=_0x23608b;return this['GetData'](_0x17baf3[_0x10ebdc(0x2c9)]);}set[_0x23608b(0x2c9)](_0x34fc58){var _0x1c05d5=_0x23608b;this[_0x1c05d5(0x1a5)](_0x17baf3[_0x1c05d5(0x2c9)],_0x34fc58);}get[_0x23608b(0x687)](){return this['GetData'](_0x17baf3['frameMaxRenderMemoryLength'])[0x0];}set[_0x23608b(0x687)](_0x257e51){var _0x350bb8=_0x23608b;this[_0x350bb8(0x977)](_0x17baf3[_0x350bb8(0x687)])[0x0]=_0x257e51;}get[_0x23608b(0x235)](){var _0x4971cb=_0x23608b;return this[_0x4971cb(0x977)](_0x17baf3['maxRenderTriangleCount'])[0x0];}set[_0x23608b(0x235)](_0x3e2fd5){var _0x4c1ad2=_0x23608b;this[_0x4c1ad2(0x977)](_0x17baf3[_0x4c1ad2(0x235)])[0x0]=_0x3e2fd5;}get[_0x23608b(0x532)](){var _0x16f4f1=_0x23608b;return this[_0x16f4f1(0x977)](_0x17baf3[_0x16f4f1(0x532)])[0x0];}set[_0x23608b(0x532)](_0x18d77e){this['GetData'](_0x17baf3['useCache'])[0x0]=_0x18d77e;}get[_0x23608b(0x4a1)](){var _0x5c21a3=_0x23608b;return this[_0x5c21a3(0x977)](_0x17baf3[_0x5c21a3(0x4a1)])[0x0];}set[_0x23608b(0x4a1)](_0x16f0d9){var _0x5e0515=_0x23608b;this[_0x5e0515(0x977)](_0x17baf3[_0x5e0515(0x4a1)])[0x0]=0xf423f<_0x16f0d9?0x2:_0x16f0d9;}get[_0x23608b(0x8e3)](){var _0x400071=_0x23608b;return this['GetData'](_0x17baf3[_0x400071(0x8e3)]);}set[_0x23608b(0x8e3)](_0xecf172){var _0x4f23b1=_0x23608b;this[_0x4f23b1(0x1a5)](_0x17baf3[_0x4f23b1(0x8e3)],_0xecf172);}get[_0x23608b(0x8e5)](){var _0x1e92b4=_0x23608b;return this['GetData'](_0x17baf3[_0x1e92b4(0x8e5)]);}set[_0x23608b(0x8e5)](_0xb483dd){var _0x52b934=_0x23608b;this[_0x52b934(0x1a5)](_0x17baf3[_0x52b934(0x8e5)],_0xb483dd);}get[_0x23608b(0xb2e)](){var _0x31de03=_0x23608b;return this[_0x31de03(0x977)](_0x17baf3['worldUp']);}set[_0x23608b(0xb2e)](_0x2958c7){var _0x362508=_0x23608b;this[_0x362508(0x1a5)](_0x17baf3['worldUp'],_0x2958c7);}get[_0x23608b(0xbc6)](){var _0x2d012c=_0x23608b;return this['GetData'](_0x17baf3[_0x2d012c(0xbc6)]);}set[_0x23608b(0xbc6)](_0x98ae2d){var _0x5a2aeb=_0x23608b;this[_0x5a2aeb(0x1a5)](_0x17baf3[_0x5a2aeb(0xbc6)],_0x98ae2d);}get[_0x23608b(0x617)](){var _0x4af604=_0x23608b;return this[_0x4af604(0x977)](_0x17baf3[_0x4af604(0x617)]);}set[_0x23608b(0x617)](_0x1e895b){var _0x2a4b91=_0x23608b;this[_0x2a4b91(0x1a5)](_0x17baf3[_0x2a4b91(0x617)],_0x1e895b);}get[_0x23608b(0x782)](){var _0xda9595=_0x23608b;return this['GetData'](_0x17baf3[_0xda9595(0x782)]);}set[_0x23608b(0x782)](_0x443e74){var _0x1e9605=_0x23608b;this[_0x1e9605(0x1a5)](_0x17baf3[_0x1e9605(0x782)],_0x443e74);}get[_0x23608b(0x475)](){var _0x888802=_0x23608b;return this[_0x888802(0x977)](_0x17baf3['heartbeat'])[0x0];}set[_0x23608b(0x475)](_0x2d92f2){var _0x2c5c56=_0x23608b;this[_0x2c5c56(0x977)](_0x17baf3[_0x2c5c56(0x475)])[0x0]=_0x2d92f2;}[_0x23608b(0xb53)](_0x2b36f6,_0x1b0378){var _0x4e0bfe=_0x23608b;this[_0x4e0bfe(0x254)][_0x4e0bfe(0xc49)](_0x2b36f6)||(this[_0x4e0bfe(0x254)][_0x2b36f6]={},this[_0x4e0bfe(0x254)][_0x2b36f6]['length']=_0x1b0378,this[_0x4e0bfe(0x292)]+_0x1b0378*this[_0x4e0bfe(0x553)]['BYTES_PER_ELEMENT']>this[_0x4e0bfe(0xc23)]&&(this[_0x4e0bfe(0x557)]++,this[_0x4e0bfe(0x292)]=0x0),this[_0x4e0bfe(0x254)][_0x2b36f6]['view']=new this[(_0x4e0bfe(0x553))](this[_0x4e0bfe(0x932)][this[_0x4e0bfe(0x557)]],this['dataStoreDataByteOffset'],this[_0x4e0bfe(0x254)][_0x2b36f6][_0x4e0bfe(0x86e)]),this['dataStoreObject'][_0x2b36f6][_0x4e0bfe(0x2b4)]=this[_0x4e0bfe(0x292)],this[_0x4e0bfe(0x292)]+=this[_0x4e0bfe(0x553)][_0x4e0bfe(0x430)]*this['dataStoreObject'][_0x2b36f6][_0x4e0bfe(0x86e)]);}[_0x23608b(0x1a5)](_0x1359ee,_0x5509a8){var _0x374359=_0x23608b;_0x5509a8&&this[_0x374359(0x254)][_0x1359ee][_0x374359(0x828)][_0x374359(0x83f)](_0x5509a8);}[_0x23608b(0x977)](_0x5a244e){var _0x3ae5df=_0x23608b;return null==(_0x5a244e=this['dataStoreObject'][_0x5a244e])?void 0x0:_0x5a244e[_0x3ae5df(0x828)];}}}}]);
|