<!-- SOLID CITY · part 3366 -->
(i.useProgram(F),M=F,!0):!1}let xt={[hs]:i.FUNC_ADD,[md]:i.FUNC_SUBTRACT,[gd]:i.FUNC_REVERSE_SUBTRACT};xt[_d]=i.MIN,xt[xd]=i.MAX;let te={[vd]:i.ZERO,[yd]:i.ONE,[Md]:i.SRC_COLOR,[hh]:i.SRC_ALPHA,[Ad]:i.SRC_ALPHA_SATURATE,[Td]:i.DST_COLOR,[bd]:i.DST_ALPHA,[Sd]:i.ONE_MINUS_SRC_COLOR,[uh]:i.ONE_MINUS_SRC_ALPHA,[wd]:i.ONE_MINUS_DST_COLOR,[Ed]:i.ONE_MINUS_DST_ALPHA,[Rd]:i.CONSTANT_COLOR,[Cd]:i.ONE_MINUS_CONSTANT_COLOR,[Id]:i.CONSTANT_ALPHA,[Pd]:i.ONE_MINUS_CONSTANT_ALPHA};function re(F,pe,K,me,Se,se,Ue,Ce,Et,mt){if(F===ui){m===!0&&(ve(i.BLEND),m=!1);return}if(m===!1&&(ee(i.BLEND),m=!0),F!==pd){if(F!==p||mt!==I){if((b!==hs||T!==hs)&&(i.blendEquation(i.FUNC_ADD),b=hs,T=hs),mt)switch(F){case nr:i.blendFuncSeparate(i.ONE,i.ONE_MINUS_SRC_ALPHA,i.ONE,i.ONE_MINUS_SRC_ALPHA);break;case Wt:i.blendFunc(i.ONE,i.ONE);break;case lh:i.blendFuncSeparate(i.ZERO,i.ONE_MINUS_SRC_COLOR,i.ZERO,i.ONE);break;case ch:i.blendFuncSeparate(i.DST_COLOR,i.ONE_MINUS_SRC_ALPHA,i.ZERO,i.ONE);break;default:ke("WebGLState: Invalid blending: ",F);break}else switch(F){case nr:i.blendFuncSeparate(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA,i.ONE,i.ONE_MINUS_SRC_ALPHA);break;case Wt:i.blendFuncSeparate(i.SRC_ALPHA,i.ONE,i.ONE,i.ONE);break;case lh:ke("WebGLState: SubtractiveBlending requires material.premultipliedAlpha = true");break;case ch:ke("WebGLState: MultiplyBlending requires material.premultipliedAlpha = true");break;default:ke("WebGLState: Invalid blending: ",F);break}A=null,v=null,E=null,C=null,x.set(0,0,0),w=0,p=F,I=mt}return}Se=Se||pe,se=se||K,Ue=Ue||me,(pe!==b||Se!==T)&&(i.blendEquationSeparate(xt[pe],xt[Se]),b=pe,T=Se),(K!==A||me!==v||se!==E||Ue!==C)&&(i.blendFuncSeparate(te[K],te[me],te[se],te[Ue]),A=K,v=me,E=se,C=Ue),(Ce.equals(x)===!1||Et!==w)&&(i.blendColor(Ce.r,Ce.g,Ce.b,Et),x.copy(Ce),w=Et),p=F,I=!1}function ae(F,pe){F.side===vn?ve(i.CULL_FACE):ee(i.CULL_FACE);let K=F.side===jt;pe&&(K=!K),oe(K),F.blending===nr&&F.transparent===!1?re(ui):re(F.blending,F.blendEquation,F.blendSrc,F.blendDst,F.blendEquationAlpha,F.blendSrcAlpha,F.blendDstAlpha,F.blendColor,F.blendAlpha,F.premultipliedAlpha),a.setFunc(F.depthFunc),a.setTest(F.depthTest),a.setMask(F.depthWrite),r.setMask(F.colorWrite);let me=F.stencilWrite;o.setTest(me),me&&(o.setMask(F.stencilWriteMask),o.setFunc(F.stencilFunc,F.stencilRef,F.stencilFuncMask),o.setOp(F.stencilFail,F.stencilZFail,F.stencilZPass)),Fe(F.polygonOffset,F.polygonOffsetFactor,F.polygonOffsetUnits),F.alphaToCoverage===!0?ee(i.SAMPLE_ALPHA_TO_COVERAGE):ve(i.SAMPLE_ALPHA_TO_COVERAGE)}function oe(F){D!==F&&(F?i.frontFace(i.CW):i.frontFace(i.CCW),D=F)}function ue(F){F!==ud?(ee(i.CULL_FACE),F!==O&&(F===oh?i.cullFace(i.BACK):F===dd?i.cullFace(i.FRONT):i.cullFace(i.FRONT_AND_BACK))):ve(i.CULL_FACE),O=F}function ze(F){F!==V&&(X&&i.lineWidth(F),V=F)}function Fe(F,pe,K){F?(ee(i.POLYGON_OFFSET_FILL),(N!==pe||z!==K)&&(N=pe,z=K,a.getReversed()&&(pe=-pe),i.polygonOffset(pe,K))):ve(i.POLYGON_OFFSET_FILL)}function We(F){F?ee(i.SCISSOR_TEST):ve(i.SCISSOR_TEST)}function qe(F){F===void 0&&(F=i.TEXTURE0+q-1),j!==F&&(i.activeTexture(F),j=F)}function L(F,pe,K){K===void 0&&(j===null?K=i.TEXTURE0+q-1:K=j);let me=ne[K];me===void 0&&(me={type:void 0,texture:void 0},ne[K]=me),(me.type!==F||me.texture!==pe)&&(j!==K&&(i.activeTexture(K),j=K),i.bindTexture(F,pe||$[F]),me.type=F,me.texture=pe)}function pt(){let F=ne[j];F!==void 0&&F.type!==void 0&&(i.bindTexture(F.type,null),F.type=void 0,F.texture=void 0)}function nt(){try{i.compressedTexImage2D(...arguments)}catch(F){ke("WebGLState:",F)}}function R(){try{i.compressedTexImage3D(...arguments)}catch(F){ke("WebGLState:",F)}}function _(){try{i.texSubImage2D(...arguments)}catch(F){ke("WebGLState:",F)}}function B(){try{i.texSubImage3D(...arguments)}catch(F){ke("WebGLState:",F)}}function G(){try{i.compressedTexSubImage2D(...arguments)}catch(F){ke("WebGLState:",F)}}function Z(){try{i.compressedTexSubImage3D(...arguments)}catch(F){ke("WebGLState:",F)}}function ce(){try{i.texStorage2D(...arguments)}catch(F){ke("WebGLState:",F)}}function he(){try{i.texStorage3D(...arguments)}catch(F){ke("WebGLState:",F)}}function J(){try{i.texImage2D(...arguments)}catch(F){ke("WebGLState:",F)}}function Q(){try{i.texImage3D(...arguments)}catch(F){ke("WebGLState:",F)}}function de(F){return f[F]!==void 0?f[F]:i.getParameter(F)}function Le(F,pe){f[F]!==pe&&(i.pixelStorei(F,pe),f[F]=pe)}function _e(F){dt.equals(F)===!1&&(i.scissor(F.x,F.y,F.z,F.w),dt.copy(F))}function fe(F){tt.equals(F)===!1&&(i.viewport(F.x,F.y,F.z,F.w),tt.copy(F))}function De(F,pe){let K=c.get(pe);K===void 0&&(K=new WeakMap,c.set(pe,K));let me=K.get(F);me===void 0&&(me=i.getUniformBlockIndex(pe,F.name),K.set(F,me))}function He(F,pe){let me=c.get(pe).get(F);l.get(pe)!==me&&(i.uniformBlockBinding(pe,me,F.__bindingPointIndex),l.set(pe,me))}function Ye(){i.disable(i.BLEND),i.disable(i.CULL_FACE),i.disable(i.DEPTH_TEST),i.disable(i.POLYGON_OFFSET_FILL),i.disable(i.SCISSOR_TEST),i.disable(i.STENCIL_TEST),i.disable(i.SAMPLE_ALPHA_TO_COVER