PageSourceSearch

https://insperia.ru/wp-content/themes/twentytwentyfour/js/home/home.js?ver=1791193884

js insperia.ru collected 2026-10-06 04:26:18 UTC 109,837 bytes, 233 lines download raw bytes

1(()=>{function W(t){let e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)}function ce(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function lt(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}function Se(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}function we(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}function ct(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t}function dt(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}function he(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}function ht(t,e){let r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}function ut(t,e){let r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}function Te(t){let e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}function ft(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}function mt(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}function de(t,e){let r=e[0],n=e[1],i=e[2],s=r*r+n*n+i*i;return s>0&&(s=1/Math.sqrt(s)),t[0]=e[0]*s,t[1]=e[1]*s,t[2]=e[2]*s,t}function be(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Ae(t,e,r){let n=e[0],i=e[1],s=e[2],a=r[0],l=r[1],o=r[2];return t[0]=i*o-s*l,t[1]=s*a-n*o,t[2]=n*l-i*a,t}function pt(t,e,r,n){let i=e[0],s=e[1],a=e[2];return t[0]=i+n*(r[0]-i),t[1]=s+n*(r[1]-s),t[2]=a+n*(r[2]-a),t}function gt(t,e,r,n,i){let s=Math.exp(-n*i),a=e[0],l=e[1],o=e[2];return t[0]=r[0]+(a-r[0])*s,t[1]=r[1]+(l-r[1])*s,t[2]=r[2]+(o-r[2])*s,t}function yt(t,e,r){let n=e[0],i=e[1],s=e[2],a=r[3]*n+r[7]*i+r[11]*s+r[15];return a=a||1,t[0]=(r[0]*n+r[4]*i+r[8]*s+r[12])/a,t[1]=(r[1]*n+r[5]*i+r[9]*s+r[13])/a,t[2]=(r[2]*n+r[6]*i+r[10]*s+r[14])/a,t}function Et(t,e,r){let n=e[0],i=e[1],s=e[2],a=r[3]*n+r[7]*i+r[11]*s+r[15];return a=a||1,t[0]=(r[0]*n+r[4]*i+r[8]*s)/a,t[1]=(r[1]*n+r[5]*i+r[9]*s)/a,t[2]=(r[2]*n+r[6]*i+r[10]*s)/a,t}function xt(t,e,r){let n=e[0],i=e[1],s=e[2];return t[0]=n*r[0]+i*r[3]+s*r[6],t[1]=n*r[1]+i*r[4]+s*r[7],t[2]=n*r[2]+i*r[5]+s*r[8],t}function vt(t,e,r){let n=e[0],i=e[1],s=e[2],a=r[0],l=r[1],o=r[2],c=r[3],d=l*s-o*i,m=o*n-a*s,h=a*i-l*n,f=l*h-o*m,u=o*d-a*h,p=a*m-l*d,g=c*2;return d*=g,m*=g,h*=g,f*=2,u*=2,p*=2,t[0]=n+d+f,t[1]=i+m+u,t[2]=s+h+p,t}var Mt=(function(){let t=[0,0,0],e=[0,0,0];return function(r,n){ce(t,r),ce(e,n),de(t,t),de(e,e);let i=be(t,e);return i>1?0:i<-1?Math.PI:Math.acos(i)}})();function Lt(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}var D=class t extends Array{constructor(e=0,r=e,n=e){return super(e,r,n),this}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}set x(e){this[0]=e}set y(e){this[1]=e}set z(e){this[2]=e}set(e,r=e,n=e){return e.length?this.copy(e):(lt(this,e,r,n),this)}copy(e){return ce(this,e),this}add(e,r){return r?Se(this,e,r):Se(this,this,e),this}sub(e,r){return r?we(this,e,r):we(this,this,e),this}multiply(e){return e.length?ct(this,this,e):he(this,this,e),this}divide(e){return e.length?dt(this,this,e):he(this,this,1/e),this}inverse(e=this){return mt(this,e),this}len(){return W(this)}distance(e){return e?ht(this,e):W(this)}squaredLen(){return Te(this)}squaredDistance(e){return e?ut(this,e):Te(this)}negate(e=this){return ft(this,e),this}cross(e,r){return r?Ae(this,e,r):Ae(this,this,e),this}scale(e){return he(this,this,e),this}normalize(){return de(this,this),this}dot(e){return be(this,e)}equals(e){return Lt(this,e)}applyMatrix3(e){return xt(this,this,e),this}applyMatrix4(e){return yt(this,this,e),this}scaleRotateMatrix4(e){return Et(this,this,e),this}applyQuaternion(e){return vt(this,this,e),this}angle(e){return Mt(this,e)}lerp(e,r){return pt(this,this,e,r),this}smoothLerp(e,r,n){return gt(this,this,e,r,n),this}clone(){return new t(this[0],this[1],this[2])}fromArray(e,r=0){return this[0]=e[r],this[1]=e[r+1],this[2]=e[r+2],this}toArray(e=[],r=0){return e[r]=this[0],e[r+1]=this[1],e[r+2]=this[2],e}transformDirection(e){let r=this[0],n=this[1],i=this[2];return this[0]=e[0]*r+e[4]*n+e[8]*i,this[1]=e[1]*r+e[5]*n+e[9]*i,this[2]=e[2]*r+e[6]*n+e[10]*i,this.normalize()}};var wt=new D,Nn=1,Gn=1,Tt=!1,ue=class{constructor(e,r={}){e.canvas||console.error("gl not passed as first argument to Geometry"),this.gl=e,this.attributes=r,this.id=Nn++,this.VAOs={},this.drawRange={start:0,count:0},this.instancedCount=0,this.gl.renderer.bindVertexArray(null),this.gl.renderer.currentGeometry=null,this.glState=this.gl.renderer.state;for(let n in r)this.addAttribute(n,r[n])}addAttribute(e,r){if(this.attributes[e]=r,r.id=Gn++,r.size=r.size||1,r.type=r.type||(r.data.constructor===Float32Array?this.gl.FLOAT:r.data.constructor===Uint16Array?this.gl.UNSIGNED_SHORT:this.gl.UNSIGNED_INT),r.target=e==="index"?this.gl.ELEMENT_ARRAY_BUFFER:this.gl.ARRAY_BUFFER,r.n
1ormalized=r.normalized||!1,r.stride=r.stride||0,r.offset=r.offset||0,r.count=r.count||(r.stride?r.data.byteLength/r.stride:r.data.length/r.size),r.divisor=r.instanced||0,r.needsUpdate=!1,r.usage=r.usage||this.gl.STATIC_DRAW,r.buffer||this.updateAttribute(r),r.divisor){if(this.isInstanced=!0,this.instancedCount&&this.instancedCount!==r.count*r.divisor)return console.warn("geometry has multiple instanced buffers of different length"),this.instancedCount=Math.min(this.instancedCount,r.count*r.divisor);this.instancedCount=r.count*r.divisor}else e==="index"?this.drawRange.count=r.count:this.attributes.index||(this.drawRange.count=Math.max(this.drawRange.count,r.count))}updateAttribute(e){let r=!e.buffer;r&&(e.buffer=this.gl.createBuffer()),this.glState.boundBuffer!==e.buffer&&(this.gl.bindBuffer(e.target,e.buffer),this.glState.boundBuffer=e.buffer),r?this.gl.bufferData(e.target,e.data,e.usage):this.gl.bufferSubData(e.target,0,e.data),e.needsUpdate=!1}setIndex(e){this.addAttribute("index",e)}setDrawRange(e,r){this.drawRange.start=e,this.drawRange.count=r}setInstancedCount(e){this.instancedCount=e}createVAO(e){this.VAOs[e.attributeOrder]=this.gl.renderer.createVertexArray(),this.gl.renderer.bindVertexArray(this.VAOs[e.attributeOrder]),this.bindAttributes(e)}bindAttributes(e){e.attributeLocations.forEach((r,{name:n,type:i})=>{if(!this.attributes[n]){console.warn(`active attribute ${n} not being supplied`);return}let s=this.attributes[n];this.gl.bindBuffer(s.target,s.buffer),this.glState.boundBuffer=s.buffer;let a=1;i===35674&&(a=2),i===35675&&(a=3),i===35676&&(a=4);let l=s.size/a,o=a===1?0:a*a*4,c=a===1?0:a*4;for(let d=0;d<a;d++)this.gl.vertexAttribPointer(r+d,l,s.type,s.normalized,s.stride+o,s.offset+d*c),this.gl.enableVertexAttribArray(r+d),this.gl.renderer.vertexAttribDivisor(r+d,s.divisor)}),this.attributes.index&&this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,this.attributes.index.buffer)}draw({program:e,mode:r=this.gl.TRIANGLES}){this.gl.renderer.currentGeometry!==`${this.id}_${e.attributeOrder}`&&(this.VAOs[e.attributeOrder]||this.createVAO(e),this.gl.renderer.bindVertexArray(this.VAOs[e.attributeOrder]),this.gl.renderer.currentGeometry=`${this.id}_${e.attributeOrder}`),e.attributeLocations.forEach((i,{name:s})=>{let a=this.attributes[s];a.needsUpdate&&this.updateAttribute(a)});let n=2;this.attributes.index?.type===this.gl.UNSIGNED_INT&&(n=4),this.isInstanced?this.attributes.index?this.gl.renderer.drawElementsInstanced(r,this.drawRange.count,this.attributes.index.type,this.attributes.index.offset+this.drawRange.start*n,this.instancedCount):this.gl.renderer.drawArraysInstanced(r,this.drawRange.start,this.drawRange.count,this.instancedCount):this.attributes.index?this.gl.drawElements(r,this.drawRange.count,this.attributes.index.type,this.attributes.index.offset+this.drawRange.start*n):this.gl.drawArrays(r,this.drawRange.start,this.drawRange.count)}getPosition(){let e=this.attributes.position;if(e.data)return e;if(!Tt)return console.warn("No position buffer data found to compute bounds"),Tt=!0}computeBoundingBox(e){e||(e=this.getPosition());let r=e.data,n=e.size;this.bounds||(this.bounds={min:new D,max:new D,center:new D,scale:new D,radius:1/0});let i=this.bounds.min,s=this.bounds.max,a=this.bounds.center,l=this.bounds.scale;i.set(1/0),s.set(-1/0);for(let o=0,c=r.length;o<c;o+=n){let d=r[o],m=r[o+1],h=r[o+2];i.x=Math.min(d,i.x),i.y=Math.min(m,i.y),i.z=Math.min(h,i.z),s.x=Math.max(d,s.x),s.y=Math.max(m,s.y),s.z=Math.max(h,s.z)}l.sub(s,i),a.add(i,s).divide(2)}computeBoundingSphere(e){e||(e=this.getPosition());let r=e.data,n=e.size;this.bounds||this.computeBoundingBox(e);let i=0;for(let s=0,a=r.length;s<a;s+=n)wt.fromArray(r,s),i=Math.max(i,this.bounds.center.squaredDistance(wt));this.bounds.radius=Math.sqrt(i)}remove(){for(let e in this.VAOs)this.gl.renderer.deleteVertexArray(this.VAOs[e]),delete this.VAOs[e];for(let e in this.attributes)this.gl.deleteBuffer(this.attributes[e].buffer),delete this.attributes[e]}};var Xn=1,bt={},te=class{constructor(e,{vertex:r,fragment:n,uniforms:i={},transparent:s=!1,cullFace:a=e.BACK,frontFace:l=e.CCW,depthTest:o=!0,depthWrite:c=!0,depthFunc:d=e.LEQUAL}={}){e.canvas||console.error("gl not passed as first argument to Program"),this.gl=e,this.uniforms=i,this.id=Xn++,r||console.warn("vertex shader not supplied"),n||console.warn("fragment shader not supplied"),this.transparent=s,this.cullFace=a,this.frontFace=l,this.depthTest=o,this.depthWrite=c,this.depthFunc=d,this.blendFunc={},this.blendEquation={},this.stencilFunc={},this.stencilOp={},this.transparent&&!this.blendFunc.src&&(this.gl.renderer.premultipliedAlpha?this.setBlendFunc(this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA):this.setBlendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA)),this.vertexShader=e.createShader(e.VERTEX_SHADER),this.fragmentShader=e.createShader(e.FRAGMENT_SHADER),this.program=e.createProgram(),e.attachShader(this.program,this.vertexShader),e.attachShader(this.program,this.fragmentShader),this.setShaders({vertex:r,fragment:n})}setShaders({vertex:e,fragment:r}){if(e&&(this.gl.shaderSource(this.vertexShader,e),this.gl.compileShader(this.vertexShader),this.gl.getShaderInfoLog(this.vertexShader)!==""&&console.warn(`${this.gl.getShaderInfoLog(this.vertexShader)}
2Vertex Shader
3${At(e)}`)),r&&(this.gl.shaderSource(this.fragmentShader,r),this.gl.compileShader(this.fragmentShader),this.gl.getShaderInfoLog(this.fragmentShader)!==""&&console.warn(`${this.gl.getShaderInfoLog(this.fragmentShader)}
4Fragment Shader
5${At(r)}`)),this.gl.linkProgram(this.program),!this.gl.getProgramParameter(this.program,this.gl.LINK_STATUS))return console.warn(this.gl.getProgramInfoLog(this.program));this.uniformLocations=new Map;let n=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_UNIFORMS);for(let a=0;a<n;a++){let l=this.gl.getActiveUniform(this.program,a);this.uniformLocations.set(l,this.gl.getUniformLocation(this.program,l.name));let o=l.name.match(/(\w+)/g);l.uniformName=o[0],l.nameComponents=o.slice(1)}this.attributeLocations=new Map;let i=[],s=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_ATTRIBUTES);for(let a=0;a<s;a++){let l=this.gl.getActiveAttrib(this.program,a),o=this.gl.getAttribLocation(this.program,l.name);o!==-1&&(i[o]=l.name,this.attributeLocations.set(l,o))}this.attributeOrder=i.join("")}setBlendFunc(e,r,n,i){this.blendFunc.src=e,this.blendFunc.dst=r,this.blendFunc.srcAlpha=n,this.blendFunc.dstAlpha=i,e&&(this.transparent=!0)}setBlendEquation(e,r){this.blendEquation.modeRGB=e,this.blendEquation.modeAlpha=r}setStencilFunc(e,r,n){this.stencilRef=r,this.stencilFunc.func=e,this.stencilFunc.ref=r,this.stencilFunc.mask=n}setStencilOp(e,r,n){this.stencilOp.stencilFail=e,this.stencilOp.depthFail=r,this.stencilOp.depthPass=n}applyState(){this.depthTest?this.gl.renderer.enable(this.gl.DEPTH_TEST):this.gl.renderer.disable(this.gl.DEPTH_TEST),this.cullFace?this.gl.renderer.enable(this.gl.CULL_FACE):this.gl.renderer.disable(this.gl.CULL_FACE),this.blendFunc.src?this.gl.renderer.enable(this.gl.BLEND):this.gl.renderer.disable(this.gl.BLEND),this.cullFace&&this.gl.renderer.setCullFace(this.cullFace),this.gl.renderer.setFrontFace(this.frontFace),this.gl.renderer.setDepthMask(this.depthWrite),this.gl.renderer.setDepthFunc(this.depthFunc),this.blendFunc.src&&this.gl.renderer.setBlendFunc(this.blendFunc.src,this.blendFunc.dst,this.blendFunc.srcAlpha,this.blendFunc.dstAlpha),this.gl.renderer.setBlendEquation(this.blendEquation.modeRGB,this.blendEquation.modeAlpha),this.stencilFunc.func||this.stencilOp.stencilFail?this.gl.renderer.enable(this.gl.STENCIL_TEST):this.gl.renderer.disable(this.gl.STENCIL_TEST),this.gl.renderer.setStencilFunc(this.stencilFunc.func,this.stencilFunc.ref,this.stencilFunc.mask),this.gl.renderer.setStencilOp(this.stencilOp.stencilFail,this.stencilOp.depthFail,this.stencilOp.depthPass)}use({flipFaces:e=!1}={}){let r=-1;this.gl.renderer.state.currentProgram===this.id||(this.gl.useProgram(this.program),this.gl.renderer.state.currentProgram=this.id
5),this.uniformLocations.forEach((i,s)=>{let a=this.uniforms[s.uniformName];for(let l of s.nameComponents){if(!a)break;if(l in a)a=a[l];else{if(Array.isArray(a.value))break;a=void 0;break}}if(!a)return Ft(`Active uniform ${s.name} has not been supplied`);if(a&&a.value===void 0)return Ft(`${s.name} uniform is missing a value parameter`);if(a.value.texture)return r=r+1,a.value.update(r),Fe(this.gl,s.type,i,r);if(a.value.length&&a.value[0].texture){let l=[];return a.value.forEach(o=>{r=r+1,o.update(r),l.push(r)}),Fe(this.gl,s.type,i,l)}Fe(this.gl,s.type,i,a.value)}),this.applyState(),e&&this.gl.renderer.setFrontFace(this.frontFace===this.gl.CCW?this.gl.CW:this.gl.CCW)}remove(){this.gl.deleteProgram(this.program)}};function Fe(t,e,r,n){n=n.length?Wn(n):n;let i=t.renderer.state.uniformLocations.get(r);if(n.length)if(i===void 0||i.length!==n.length)t.renderer.state.uniformLocations.set(r,n.slice(0));else{if(Yn(i,n))return;i.set?i.set(n):Qn(i,n),t.renderer.state.uniformLocations.set(r,i)}else{if(i===n)return;t.renderer.state.uniformLocations.set(r,n)}switch(e){case 5126:return n.length?t.uniform1fv(r,n):t.uniform1f(r,n);case 35664:return t.uniform2fv(r,n);case 35665:return t.uniform3fv(r,n);case 35666:return t.uniform4fv(r,n);case 35670:case 5124:case 35678:case 36306:case 35680:case 36289:return n.length?t.uniform1iv(r,n):t.uniform1i(r,n);case 35671:case 35667:return t.uniform2iv(r,n);case 35672:case 35668:return t.uniform3iv(r,n);case 35673:case 35669:return t.uniform4iv(r,n);case 35674:return t.uniformMatrix2fv(r,!1,n);case 35675:return t.uniformMatrix3fv(r,!1,n);case 35676:return t.uniformMatrix4fv(r,!1,n)}}function At(t){let e=t.split(`
6`);for(let r=0;r<e.length;r++)e[r]=r+1+": "+e[r];return e.join(`
7`)}function Wn(t){let e=t.length,r=t[0].length;if(r===void 0)return t;let n=e*r,i=bt[n];i||(bt[n]=i=new Float32Array(n));for(let s=0;s<e;s++)i.set(t[s],s*r);return i}function Yn(t,e){if(t.length!==e.length)return!1;for(let r=0,n=t.length;r<n;r++)if(t[r]!==e[r])return!1;return!0}function Qn(t,e){for(let r=0,n=t.length;r<n;r++)t[r]=e[r]}var _e=0;function Ft(t){_e>100||(console.warn(t),_e++,_e>100&&console.warn("More than 100 program warnings - stopping logs."))}var Ie=new D,$n=1,re=class{constructor({canvas:e=document.createElement("canvas"),width:r=300,height:n=150,dpr:i=1,alpha:s=!1,depth:a=!0,stencil:l=!1,antialias:o=!1,premultipliedAlpha:c=!1,preserveDrawingBuffer:d=!1,powerPreference:m="default",autoClear:h=!0,webgl:f=2}={}){let u={alpha:s,depth:a,stencil:l,antialias:o,premultipliedAlpha:c,preserveDrawingBuffer:d,powerPreference:m};this.dpr=i,this.alpha=s,this.color=!0,this.depth=a,this.stencil=l,this.premultipliedAlpha=c,this.autoClear=h,this.id=$n++,f===2&&(this.gl=e.getContext("webgl2",u)),this.isWebgl2=!!this.gl,this.gl||(this.gl=e.getContext("webgl",u)),this.gl||console.error("unable to create webgl context"),this.gl.renderer=this,this.setSize(r,n),this.state={},this.state.blendFunc={src:this.gl.ONE,dst:this.gl.ZERO},this.state.blendEquation={modeRGB:this.gl.FUNC_ADD},this.state.cullFace=!1,this.state.frontFace=this.gl.CCW,this.state.depthMask=!0,this.state.depthFunc=this.gl.LEQUAL,this.state.premultiplyAlpha=!1,this.state.flipY=!1,this.state.unpackAlignment=4,this.state.framebuffer=null,this.state.viewport={x:0,y:0,width:null,height:null},this.state.textureUnits=[],this.state.activeTextureUnit=0,this.state.boundBuffer=null,this.state.uniformLocations=new Map,this.state.currentProgram=null,this.extensions={},this.isWebgl2?(this.getExtension("EXT_color_buffer_float"),this.getExtension("OES_texture_float_linear")):(this.getExtension("OES_texture_float"),this.getExtension("OES_texture_float_linear"),this.getExtension("OES_texture_half_float"),this.getExtension("OES_texture_half_float_linear"),this.getExtension("OES_element_index_uint"),this.getExtension("OES_standard_derivatives"),this.getExtension("EXT_sRGB"),this.getExtension("WEBGL_depth_texture"),this.getExtension("WEBGL_draw_buffers")),this.getExtension("WEBGL_compressed_texture_astc"),this.getExtension("EXT_texture_compression_bptc"),this.getExtension("WEBGL_compressed_texture_s3tc"),this.getExtension("WEBGL_compressed_texture_etc1"),this.getExtension("WEBGL_compressed_texture_pvrtc"),this.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"),this.vertexAttribDivisor=this.getExtension("ANGLE_instanced_arrays","vertexAttribDivisor","vertexAttribDivisorANGLE"),this.drawArraysInstanced=this.getExtension("ANGLE_instanced_arrays","drawArraysInstanced","drawArraysInstancedANGLE"),this.drawElementsInstanced=this.getExtension("ANGLE_instanced_arrays","drawElementsInstanced","drawElementsInstancedANGLE"),this.createVertexArray=this.getExtension("OES_vertex_array_object","createVertexArray","createVertexArrayOES"),this.bindVertexArray=this.getExtension("OES_vertex_array_object","bindVertexArray","bindVertexArrayOES"),this.deleteVertexArray=this.getExtension("OES_vertex_array_object","deleteVertexArray","deleteVertexArrayOES"),this.drawBuffers=this.getExtension("WEBGL_draw_buffers","drawBuffers","drawBuffersWEBGL"),this.parameters={},this.parameters.maxTextureUnits=this.gl.getParameter(this.gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS),this.parameters.maxAnisotropy=this.getExtension("EXT_texture_filter_anisotropic")?this.gl.getParameter(this.getExtension("EXT_texture_filter_anisotropic").MAX_TEXTURE_MAX_ANISOTROPY_EXT):0}setSize(e,r){this.width=e,this.height=r,this.gl.canvas.width=e*this.dpr,this.gl.canvas.height=r*this.dpr,this.gl.canvas.style&&Object.assign(this.gl.canvas.style,{width:e+"px",height:r+"px"})}setViewport(e,r,n=0,i=0){this.state.viewport.width===e&&this.state.viewport.height===r||(this.state.viewport.width=e,this.state.viewport.height=r,this.state.viewport.x=n,this.state.viewport.y=i,this.gl.viewport(n,i,e,r))}setScissor(e,r,n=0,i=0){this.gl.scissor(n,i,e,r)}enable(e){this.state[e]!==!0&&(this.gl.enable(e),this.state[e]=!0)}disable(e){this.state[e]!==!1&&(this.gl.disable(e),this.state[e]=!1)}setBlendFunc(e,r,n,i){this.state.blendFunc.src===e&&this.state.blendFunc.dst===r&&this.state.blendFunc.srcAlpha===n&&this.state.blendFunc.dstAlpha===i||(this.state.blendFunc.src=e,this.state.blendFunc.dst=r,this.state.blendFunc.srcAlpha=n,this.state.blendFunc.dstAlpha=i,n!==void 0?this.gl.blendFuncSeparate(e,r,n,i):this.gl.blendFunc(e,r))}setBlendEquation(e,r){e=e||this.gl.FUNC_ADD,!(this.state.blendEquation.modeRGB===e&&this.state.blendEquation.modeAlpha===r)&&(this.state.blendEquation.modeRGB=e,this.state.blendEquation.modeAlpha=r,r!==void 0?this.gl.blendEquationSeparate(e,r):this.gl.blendEquation(e))}setCullFace(e){this.state.cullFace!==e&&(this.state.cullFace=e,this.gl.cullFace(e))}setFrontFace(e){this.state.frontFace!==e&&(this.state.frontFace=e,this.gl.frontFace(e))}setDepthMask(e){this.state.depthMask!==e&&(this.state.depthMask=e,this.gl.depthMask(e))}setDepthFunc(e){this.state.depthFunc!==e&&(this.state.depthFunc=e,this.gl.depthFunc(e))}setStencilMask(e){this.state.stencilMask!==e&&(this.state.stencilMask=e,this.gl.stencilMask(e))}setStencilFunc(e,r,n){this.state.stencilFunc===e&&this.state.stencilRef===r&&this.state.stencilFuncMask===n||(this.state.stencilFunc=e||this.gl.ALWAYS,this.state.stencilRef=r||0,this.state.stencilFuncMask=n||0,this.gl.stencilFunc(e||this.gl.ALWAYS,r||0,n||0))}setStencilOp(e,r,n){this.state.stencilFail===e&&this.state.stencilDepthFail===r&&this.state.stencilDepthPass===n||(this.state.stencilFail=e,this.state.stencilDepthFail=r,this.state.stencilDepthPass=n,this.gl.stencilOp(e,r,n))}activeTexture(e){this.state.activeTextureUnit!==e&&(this.state.activeTextureUnit=e,this.gl.activeTexture(this.gl.TEXTURE0+e))}bindFramebuffer({target:e=this.gl.FRAMEBUFFER,buffer:r=null}={}){this.state.framebuffer!==r&&(this.state.framebuffer=r,this.gl.bindFramebuffer(e,r))}getExtension(e,r,n){return r&&this.gl[r]?this.gl[r].bind(this.gl):(this.extensions[e]||(this.extensions[e]=this.gl.getExtension(e)),r?this.extensions[e]?this.extensions[e][n].bind(this.extensions[e]):null:this.extensions[e])}sortOpaque(e,r){return e.renderOrder!==r.renderOrder?e.renderOrder-r.renderOrder:e.program.id!==r.program.id?e.program.id-r.program.id:e.zDepth!==r.zDepth?e.zDepth-r.zDepth:r.id-e.id}
7sortTransparent(e,r){return e.renderOrder!==r.renderOrder?e.renderOrder-r.renderOrder:e.zDepth!==r.zDepth?r.zDepth-e.zDepth:r.id-e.id}sortUI(e,r){return e.renderOrder!==r.renderOrder?e.renderOrder-r.renderOrder:e.program.id!==r.program.id?e.program.id-r.program.id:r.id-e.id}getRenderList({scene:e,camera:r,frustumCull:n,sort:i}){let s=[];if(r&&n&&r.updateFrustum(),e.traverse(a=>{if(!a.visible)return!0;a.draw&&(n&&a.frustumCulled&&r&&!r.frustumIntersectsMesh(a)||s.push(a))}),i){let a=[],l=[],o=[];s.forEach(c=>{c.program.transparent?c.program.depthTest?l.push(c):o.push(c):a.push(c),c.zDepth=0,!(c.renderOrder!==0||!c.program.depthTest||!r)&&(c.worldMatrix.getTranslation(Ie),Ie.applyMatrix4(r.projectionViewMatrix),c.zDepth=Ie.z)}),a.sort(this.sortOpaque),l.sort(this.sortTransparent),o.sort(this.sortUI),s=a.concat(l,o)}return s}render({scene:e,camera:r,target:n=null,update:i=!0,sort:s=!0,frustumCull:a=!0,clear:l}){n===null?(this.bindFramebuffer(),this.setViewport(this.width*this.dpr,this.height*this.dpr)):(this.bindFramebuffer(n),this.setViewport(n.width,n.height)),(l||this.autoClear&&l!==!1)&&(this.depth&&(!n||n.depth)&&(this.enable(this.gl.DEPTH_TEST),this.setDepthMask(!0)),(this.stencil||!n||n.stencil)&&(this.enable(this.gl.STENCIL_TEST),this.setStencilMask(255)),this.gl.clear((this.color?this.gl.COLOR_BUFFER_BIT:0)|(this.depth?this.gl.DEPTH_BUFFER_BIT:0)|(this.stencil?this.gl.STENCIL_BUFFER_BIT:0))),i&&e.updateMatrixWorld(),r&&r.updateMatrixWorld(),this.getRenderList({scene:e,camera:r,frustumCull:a,sort:s}).forEach(c=>{c.draw({camera:r})})}};function _t(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function It(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t}function Ct(t,e){let r=e[0],n=e[1],i=e[2],s=e[3],a=r*r+n*n+i*i+s*s;return a>0&&(a=1/Math.sqrt(a)),t[0]=r*a,t[1]=n*a,t[2]=i*a,t[3]=s*a,t}function Rt(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function Ht(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t}function kt(t,e,r){r=r*.5;let n=Math.sin(r);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(r),t}function Ce(t,e,r){let n=e[0],i=e[1],s=e[2],a=e[3],l=r[0],o=r[1],c=r[2],d=r[3];return t[0]=n*d+a*l+i*c-s*o,t[1]=i*d+a*o+s*l-n*c,t[2]=s*d+a*c+n*o-i*l,t[3]=a*d-n*l-i*o-s*c,t}function Pt(t,e,r){r*=.5;let n=e[0],i=e[1],s=e[2],a=e[3],l=Math.sin(r),o=Math.cos(r);return t[0]=n*o+a*l,t[1]=i*o+s*l,t[2]=s*o-i*l,t[3]=a*o-n*l,t}function Dt(t,e,r){r*=.5;let n=e[0],i=e[1],s=e[2],a=e[3],l=Math.sin(r),o=Math.cos(r);return t[0]=n*o-s*l,t[1]=i*o+a*l,t[2]=s*o+n*l,t[3]=a*o-i*l,t}function Vt(t,e,r){r*=.5;let n=e[0],i=e[1],s=e[2],a=e[3],l=Math.sin(r),o=Math.cos(r);return t[0]=n*o+i*l,t[1]=i*o-n*l,t[2]=s*o+a*l,t[3]=a*o-s*l,t}function qt(t,e,r,n){let i=e[0],s=e[1],a=e[2],l=e[3],o=r[0],c=r[1],d=r[2],m=r[3],h,f,u,p,g;return f=i*o+s*c+a*d+l*m,f<0&&(f=-f,o=-o,c=-c,d=-d,m=-m),1-f>1e-6?(h=Math.acos(f),u=Math.sin(h),p=Math.sin((1-n)*h)/u,g=Math.sin(n*h)/u):(p=1-n,g=n),t[0]=p*i+g*o,t[1]=p*s+g*c,t[2]=p*a+g*d,t[3]=p*l+g*m,t}function Ot(t,e){let r=e[0],n=e[1],i=e[2],s=e[3],a=r*r+n*n+i*i+s*s,l=a?1/a:0;return t[0]=-r*l,t[1]=-n*l,t[2]=-i*l,t[3]=s*l,t}function zt(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t}function Ut(t,e){let r=e[0]+e[4]+e[8],n;if(r>0)n=Math.sqrt(r+1),t[3]=.5*n,n=.5/n,t[0]=(e[5]-e[7])*n,t[1]=(e[6]-e[2])*n,t[2]=(e[1]-e[3])*n;else{let i=0;e[4]>e[0]&&(i=1),e[8]>e[i*3+i]&&(i=2);let s=(i+1)%3,a=(i+2)%3;n=Math.sqrt(e[i*3+i]-e[s*3+s]-e[a*3+a]+1),t[i]=.5*n,n=.5/n,t[3]=(e[s*3+a]-e[a*3+s])*n,t[s]=(e[s*3+i]+e[i*3+s])*n,t[a]=(e[a*3+i]+e[i*3+a])*n}return t}function Bt(t,e,r="YXZ"){let n=Math.sin(e[0]*.5),i=Math.cos(e[0]*.5),s=Math.sin(e[1]*.5),a=Math.cos(e[1]*.5),l=Math.sin(e[2]*.5),o=Math.cos(e[2]*.5);return r==="XYZ"?(t[0]=n*a*o+i*s*l,t[1]=i*s*o-n*a*l,t[2]=i*a*l+n*s*o,t[3]=i*a*o-n*s*l):r==="YXZ"?(t[0]=n*a*o+i*s*l,t[1]=i*s*o-n*a*l,t[2]=i*a*l-n*s*o,t[3]=i*a*o+n*s*l):r==="ZXY"?(t[0]=n*a*o-i*s*l,t[1]=i*s*o+n*a*l,t[2]=i*a*l+n*s*o,t[3]=i*a*o-n*s*l):r==="ZYX"?(t[0]=n*a*o-i*s*l,t[1]=i*s*o+n*a*l,t[2]=i*a*l-n*s*o,t[3]=i*a*o+n*s*l):r==="YZX"?(t[0]=n*a*o+i*s*l,t[1]=i*s*o+n*a*l,t[2]=i*a*l-n*s*o,t[3]=i*a*o-n*s*l):r==="XZY"&&(t[0]=n*a*o-i*s*l,t[1]=i*s*o-n*a*l,t[2]=i*a*l+n*s*o,t[3]=i*a*o+n*s*l),t}var Nt=_t,Gt=It;var Xt=Rt;var Wt=Ct;var fe=class extends Array{constructor(e=0,r=0,n=0,i=1){super(e,r,n,i),this.onChange=()=>{},this._target=this;let s=["0","1","2","3"];return new Proxy(this,{set(a,l){let o=Reflect.set(...arguments);return o&&s.includes(l)&&a.onChange(),o}})}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}get w(){return this[3]}set x(e){this._target[0]=e,this.onChange()}set y(e){this._target[1]=e,this.onChange()}set z(e){this._target[2]=e,this.onChange()}set w(e){this._target[3]=e,this.onChange()}identity(){return Ht(this._target),this.onChange(),this}set(e,r,n,i){return e.length?this.copy(e):(Gt(this._target,e,r,n,i),this.onChange(),this)}rotateX(e){return Pt(this._target,this._target,e),this.onChange(),this}rotateY(e){return Dt(this._target,this._target,e),this.onChange(),this}rotateZ(e){return Vt(this._target,this._target,e),this.onChange(),this}inverse(e=this._target){return Ot(this._target,e),this.onChange(),this}conjugate(e=this._target){return zt(this._target,e),this.onChange(),this}copy(e){return Nt(this._target,e),this.onChange(),this}normalize(e=this._target){return Wt(this._target,e),this.onChange(),this}multiply(e,r){return r?Ce(this._target,e,r):Ce(this._target,this._target,e),this.onChange(),this}dot(e){return Xt(this._target,e)}fromMatrix3(e){return Ut(this._target,e),this.onChange(),this}fromEuler(e,r){return Bt(this._target,e,e.order),r||this.onChange(),this}fromAxisAngle(e,r){return kt(this._target,e,r),this.onChange(),this}slerp(e,r){return qt(this._target,this._target,e,r),this.onChange(),this}fromArray(e,r=0){return this._target[0]=e[r],this._target[1]=e[r+1],this._target[2]=e[r+2],this._target[3]=e[r+3],this.onChange(),this}toArray(e=[],r=0){return e[r]=this[0],e[r+1]=this[1],e[r+2]=this[2],e[r+3]=this[3],e}};var Zn=1e-6;function Yt(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Qt(t,e,r,n,i,s,a,l,o,c,d,m,h,f,u,p,g){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=s,t[5]=a,t[6]=l,t[7]=o,t[8]=c,t[9]=d,t[10]=m,t[11]=h,t[12]=f,t[13]=u,t[14]=
7p,t[15]=g,t}function $t(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function jt(t,e){let r=e[0],n=e[1],i=e[2],s=e[3],a=e[4],l=e[5],o=e[6],c=e[7],d=e[8],m=e[9],h=e[10],f=e[11],u=e[12],p=e[13],g=e[14],y=e[15],S=r*l-n*a,v=r*o-i*a,T=r*c-s*a,x=n*o-i*l,M=n*c-s*l,_=i*c-s*o,w=d*p-m*u,E=d*g-h*u,L=d*y-f*u,I=m*g-h*p,F=m*y-f*p,k=h*y-f*g,A=S*k-v*F+T*I+x*L-M*E+_*w;return A?(A=1/A,t[0]=(l*k-o*F+c*I)*A,t[1]=(i*F-n*k-s*I)*A,t[2]=(p*_-g*M+y*x)*A,t[3]=(h*M-m*_-f*x)*A,t[4]=(o*L-a*k-c*E)*A,t[5]=(r*k-i*L+s*E)*A,t[6]=(g*T-u*_-y*v)*A,t[7]=(d*_-h*T+f*v)*A,t[8]=(a*F-l*L+c*w)*A,t[9]=(n*L-r*F-s*w)*A,t[10]=(u*M-p*T+y*S)*A,t[11]=(m*T-d*M-f*S)*A,t[12]=(l*E-a*I-o*w)*A,t[13]=(r*I-n*E+i*w)*A,t[14]=(p*v-u*x-g*S)*A,t[15]=(d*x-m*v+h*S)*A,t):null}function Re(t){let e=t[0],r=t[1],n=t[2],i=t[3],s=t[4],a=t[5],l=t[6],o=t[7],c=t[8],d=t[9],m=t[10],h=t[11],f=t[12],u=t[13],p=t[14],g=t[15],y=e*a-r*s,S=e*l-n*s,v=e*o-i*s,T=r*l-n*a,x=r*o-i*a,M=n*o-i*l,_=c*u-d*f,w=c*p-m*f,E=c*g-h*f,L=d*p-m*u,I=d*g-h*u,F=m*g-h*p;return y*F-S*I+v*L+T*E-x*w+M*_}function He(t,e,r){let n=e[0],i=e[1],s=e[2],a=e[3],l=e[4],o=e[5],c=e[6],d=e[7],m=e[8],h=e[9],f=e[10],u=e[11],p=e[12],g=e[13],y=e[14],S=e[15],v=r[0],T=r[1],x=r[2],M=r[3];return t[0]=v*n+T*l+x*m+M*p,t[1]=v*i+T*o+x*h+M*g,t[2]=v*s+T*c+x*f+M*y,t[3]=v*a+T*d+x*u+M*S,v=r[4],T=r[5],x=r[6],M=r[7],t[4]=v*n+T*l+x*m+M*p,t[5]=v*i+T*o+x*h+M*g,t[6]=v*s+T*c+x*f+M*y,t[7]=v*a+T*d+x*u+M*S,v=r[8],T=r[9],x=r[10],M=r[11],t[8]=v*n+T*l+x*m+M*p,t[9]=v*i+T*o+x*h+M*g,t[10]=v*s+T*c+x*f+M*y,t[11]=v*a+T*d+x*u+M*S,v=r[12],T=r[13],x=r[14],M=r[15],t[12]=v*n+T*l+x*m+M*p,t[13]=v*i+T*o+x*h+M*g,t[14]=v*s+T*c+x*f+M*y,t[15]=v*a+T*d+x*u+M*S,t}function Kt(t,e,r){let n=r[0],i=r[1],s=r[2],a,l,o,c,d,m,h,f,u,p,g,y;return e===t?(t[12]=e[0]*n+e[4]*i+e[8]*s+e[12],t[13]=e[1]*n+e[5]*i+e[9]*s+e[13],t[14]=e[2]*n+e[6]*i+e[10]*s+e[14],t[15]=e[3]*n+e[7]*i+e[11]*s+e[15]):(a=e[0],l=e[1],o=e[2],c=e[3],d=e[4],m=e[5],h=e[6],f=e[7],u=e[8],p=e[9],g=e[10],y=e[11],t[0]=a,t[1]=l,t[2]=o,t[3]=c,t[4]=d,t[5]=m,t[6]=h,t[7]=f,t[8]=u,t[9]=p,t[10]=g,t[11]=y,t[12]=a*n+d*i+u*s+e[12],t[13]=l*n+m*i+p*s+e[13],t[14]=o*n+h*i+g*s+e[14],t[15]=c*n+f*i+y*s+e[15]),t}function Zt(t,e,r){let n=r[0],i=r[1],s=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*s,t[9]=e[9]*s,t[10]=e[10]*s,t[11]=e[11]*s,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Jt(t,e,r,n){let i=n[0],s=n[1],a=n[2],l=Math.hypot(i,s,a),o,c,d,m,h,f,u,p,g,y,S,v,T,x,M,_,w,E,L,I,F,k,A,b;return Math.abs(l)<Zn?null:(l=1/l,i*=l,s*=l,a*=l,o=Math.sin(r),c=Math.cos(r),d=1-c,m=e[0],h=e[1],f=e[2],u=e[3],p=e[4],g=e[5],y=e[6],S=e[7],v=e[8],T=e[9],x=e[10],M=e[11],_=i*i*d+c,w=s*i*d+a*o,E=a*i*d-s*o,L=i*s*d-a*o,I=s*s*d+c,F=a*s*d+i*o,k=i*a*d+s*o,A=s*a*d-i*o,b=a*a*d+c,t[0]=m*_+p*w+v*E,t[1]=h*_+g*w+T*E,t[2]=f*_+y*w+x*E,t[3]=u*_+S*w+M*E,t[4]=m*L+p*I+v*F,t[5]=h*L+g*I+T*F,t[6]=f*L+y*I+x*F,t[7]=u*L+S*I+M*F,t[8]=m*k+p*A+v*b,t[9]=h*k+g*A+T*b,t[10]=f*k+y*A+x*b,t[11]=u*k+S*A+M*b,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}function er(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t}function ke(t,e){let r=e[0],n=e[1],i=e[2],s=e[4],a=e[5],l=e[6],o=e[8],c=e[9],d=e[10];return t[0]=Math.hypot(r,n,i),t[1]=Math.hypot(s,a,l),t[2]=Math.hypot(o,c,d),t}function tr(t){let e=t[0],r=t[1],n=t[2],i=t[4],s=t[5],a=t[6],l=t[8],o=t[9],c=t[10],d=e*e+r*r+n*n,m=i*i+s*s+a*a,h=l*l+o*o+c*c;return Math.sqrt(Math.max(d,m,h))}var Pe=(function(){let t=[1,1,1];return function(e,r){let n=t;ke(n,r);let i=1/n[0],s=1/n[1],a=1/n[2],l=r[0]*i,o=r[1]*s,c=r[2]*a,d=r[4]*i,m=r[5]*s,h=r[6]*a,f=r[8]*i,u=r[9]*s,p=r[10]*a,g=l+m+p,y=0;return g>0?(y=Math.sqrt(g+1)*2,e[3]=.25*y,e[0]=(h-u)/y,e[1]=(f-c)/y,e[2]=(o-d)/y):l>m&&l>p?(y=Math.sqrt(1+l-m-p)*2,e[3]=(h-u)/y,e[0]=.25*y,e[1]=(o+d)/y,e[2]=(f+c)/y):m>p?(y=Math.sqrt(1+m-l-p)*2,e[3]=(f-c)/y,e[0]=(o+d)/y,e[1]=.25*y,e[2]=(h+u)/y):(y=Math.sqrt(1+p-l-m)*2,e[3]=(o-d)/y,e[0]=(f+c)/y,e[1]=(h+u)/y,e[2]=.25*y),e}})();function rr(t,e,r,n){let i=W([t[0],t[1],t[2]]),s=W([t[4],t[5],t[6]]),a=W([t[8],t[9],t[10]]);Re(t)<0&&(i=-i),r[0]=t[12],r[1]=t[13],r[2]=t[14];let o=t.slice(),c=1/i,d=1/s,m=1/a;o[0]*=c,o[1]*=c,o[2]*=c,o[4]*=d,o[5]*=d,o[6]*=d,o[8]*=m,o[9]*=m,o[10]*=m,Pe(e,o),n[0]=i,n[1]=s,n[2]=a}function nr(t,e,r,n){let i=t,s=e[0],a=e[1],l=e[2],o=e[3],c=s+s,d=a+a,m=l+l,h=s*c,f=s*d,u=s*m,p=a*d,g=a*m,y=l*m,S=o*c,v=o*d,T=o*m,x=n[0],M=n[1],_=n[2];return i[0]=(1-(p+y))*x,i[1]=(f+T)*x,i[2]=(u-v)*x,i[3]=0,i[4]=(f-T)*M,i[5]=(1-(h+y))*M,i[6]=(g+S)*M,i[7]=0,i[8]=(u+v)*_,i[9]=(g-S)*_,i[10]=(1-(h+p))*_,i[11]=0,i[12]=r[0],i[13]=r[1],i[14]=r[2],i[15]=1,i}function ir(t,e){let r=e[0],n=e[1],i=e[2],s=e[3],a=r+r,l=n+n,o=i+i,c=r*a,d=n*a,m=n*l,h=i*a,f=i*l,u=i*o,p=s*a,g=s*l,y=s*o;return t[0]=1-m-u,t[1]=d+y,t[2]=h-g,t[3]=0,t[4]=d-y,t[5]=1-c-u,t[6]=f+p,t[7]=0,t[8]=h+g,t[9]=f-p,t[10]=1-c-m,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function sr(t,e,r,n,i){let s=1/Math.tan(e/2),a=1/(n-i);return t[0]=s/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=s,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*a,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*a,t[15]=0,t}function ar(t,e,r,n,i,s,a){let l=1/(e-r),o=1/(n-i),c=1/(s-a);return t[0]=-2*l,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+r)*l,t[13]=(i+n)*o,t[14]=(a+s)*c,t[15]=1,t}function or(t,e,r,n){let i=e[0],s=e[1],a=e[2],l=n[0],o=n[1],c=n[2],d=i-r[0],m=s-r[1],h=a-r[2],f=d*d+m*m+h*h;f===0?h=1:(f=1/Math.sqrt(f),d*=f,m*=f,h*=f);let u=o*h-c*m,p=c*d-l*h,g=l*m-o*d;return f=u*u+p*p+g*g,f===0&&(c?l+=1e-6:o?c+=1e-6:o+=1e-6,u=o*h-c*m,p=c*d-l*h,g=l*m-o*d,f=u*u+p*p+g*g),f=1/Math.sqrt(f),u*=f,p*=f,g*=f,t[0]=u,t[1]=p,t[2]=g,t[3]=0,t[4]=m*g-h*p,t[5]=h*u-d*g,t[6]=d*p-m*u,t[7]=0,t[8]=d,t[9]=m,t[10]=h,t[11]=0,t[12]=i,t[13]=s,t[14]=a,t[15]=1,t}function De(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t[9]=e[9]+r[9],t[10]=e[10]+r[10],t[11]=e[11]+r[11
7],t[12]=e[12]+r[12],t[13]=e[13]+r[13],t[14]=e[14]+r[14],t[15]=e[15]+r[15],t}function Ve(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t[9]=e[9]-r[9],t[10]=e[10]-r[10],t[11]=e[11]-r[11],t[12]=e[12]-r[12],t[13]=e[13]-r[13],t[14]=e[14]-r[14],t[15]=e[15]-r[15],t}function lr(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t}var B=class extends Array{constructor(e=1,r=0,n=0,i=0,s=0,a=1,l=0,o=0,c=0,d=0,m=1,h=0,f=0,u=0,p=0,g=1){return super(e,r,n,i,s,a,l,o,c,d,m,h,f,u,p,g),this}get x(){return this[12]}get y(){return this[13]}get z(){return this[14]}get w(){return this[15]}set x(e){this[12]=e}set y(e){this[13]=e}set z(e){this[14]=e}set w(e){this[15]=e}set(e,r,n,i,s,a,l,o,c,d,m,h,f,u,p,g){return e.length?this.copy(e):(Qt(this,e,r,n,i,s,a,l,o,c,d,m,h,f,u,p,g),this)}translate(e,r=this){return Kt(this,r,e),this}rotate(e,r,n=this){return Jt(this,n,e,r),this}scale(e,r=this){return Zt(this,r,typeof e=="number"?[e,e,e]:e),this}add(e,r){return r?De(this,e,r):De(this,this,e),this}sub(e,r){return r?Ve(this,e,r):Ve(this,this,e),this}multiply(e,r){return e.length?r?He(this,e,r):He(this,this,e):lr(this,this,e),this}identity(){return $t(this),this}copy(e){return Yt(this,e),this}fromPerspective({fov:e,aspect:r,near:n,far:i}={}){return sr(this,e,r,n,i),this}fromOrthogonal({left:e,right:r,bottom:n,top:i,near:s,far:a}){return ar(this,e,r,n,i,s,a),this}fromQuaternion(e){return ir(this,e),this}setPosition(e){return this.x=e[0],this.y=e[1],this.z=e[2],this}inverse(e=this){return jt(this,e),this}compose(e,r,n){return nr(this,e,r,n),this}decompose(e,r,n){return rr(this,e,r,n),this}getRotation(e){return Pe(e,this),this}getTranslation(e){return er(e,this),this}getScaling(e){return ke(e,this),this}getMaxScaleOnAxis(){return tr(this)}lookAt(e,r,n){return or(this,e,r,n),this}determinant(){return Re(this)}fromArray(e,r=0){return this[0]=e[r],this[1]=e[r+1],this[2]=e[r+2],this[3]=e[r+3],this[4]=e[r+4],this[5]=e[r+5],this[6]=e[r+6],this[7]=e[r+7],this[8]=e[r+8],this[9]=e[r+9],this[10]=e[r+10],this[11]=e[r+11],this[12]=e[r+12],this[13]=e[r+13],this[14]=e[r+14],this[15]=e[r+15],this}toArray(e=[],r=0){return e[r]=this[0],e[r+1]=this[1],e[r+2]=this[2],e[r+3]=this[3],e[r+4]=this[4],e[r+5]=this[5],e[r+6]=this[6],e[r+7]=this[7],e[r+8]=this[8],e[r+9]=this[9],e[r+10]=this[10],e[r+11]=this[11],e[r+12]=this[12],e[r+13]=this[13],e[r+14]=this[14],e[r+15]=this[15],e}};function cr(t,e,r="YXZ"){return r==="XYZ"?(t[1]=Math.asin(Math.min(Math.max(e[8],-1),1)),Math.abs(e[8])<.99999?(t[0]=Math.atan2(-e[9],e[10]),t[2]=Math.atan2(-e[4],e[0])):(t[0]=Math.atan2(e[6],e[5]),t[2]=0)):r==="YXZ"?(t[0]=Math.asin(-Math.min(Math.max(e[9],-1),1)),Math.abs(e[9])<.99999?(t[1]=Math.atan2(e[8],e[10]),t[2]=Math.atan2(e[1],e[5])):(t[1]=Math.atan2(-e[2],e[0]),t[2]=0)):r==="ZXY"?(t[0]=Math.asin(Math.min(Math.max(e[6],-1),1)),Math.abs(e[6])<.99999?(t[1]=Math.atan2(-e[2],e[10]),t[2]=Math.atan2(-e[4],e[5])):(t[1]=0,t[2]=Math.atan2(e[1],e[0]))):r==="ZYX"?(t[1]=Math.asin(-Math.min(Math.max(e[2],-1),1)),Math.abs(e[2])<.99999?(t[0]=Math.atan2(e[6],e[10]),t[2]=Math.atan2(e[1],e[0])):(t[0]=0,t[2]=Math.atan2(-e[4],e[5]))):r==="YZX"?(t[2]=Math.asin(Math.min(Math.max(e[1],-1),1)),Math.abs(e[1])<.99999?(t[0]=Math.atan2(-e[9],e[5]),t[1]=Math.atan2(-e[2],e[0])):(t[0]=0,t[1]=Math.atan2(e[8],e[10]))):r==="XZY"&&(t[2]=Math.asin(-Math.min(Math.max(e[4],-1),1)),Math.abs(e[4])<.99999?(t[0]=Math.atan2(e[6],e[5]),t[1]=Math.atan2(e[8],e[0])):(t[0]=Math.atan2(-e[9],e[10]),t[1]=0)),t}var dr=new B,me=class extends Array{constructor(e=0,r=e,n=e,i="YXZ"){super(e,r,n),this.order=i,this.onChange=()=>{},this._target=this;let s=["0","1","2"];return new Proxy(this,{set(a,l){let o=Reflect.set(...arguments);return o&&s.includes(l)&&a.onChange(),o}})}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}set x(e){this._target[0]=e,this.onChange()}set y(e){this._target[1]=e,this.onChange()}set z(e){this._target[2]=e,this.onChange()}set(e,r=e,n=e){return e.length?this.copy(e):(this._target[0]=e,this._target[1]=r,this._target[2]=n,this.onChange(),this)}copy(e){return this._target[0]=e[0],this._target[1]=e[1],this._target[2]=e[2],this.onChange(),this}reorder(e){return this._target.order=e,this.onChange(),this}fromRotationMatrix(e,r=this.order){return cr(this._target,e,r),this.onChange(),this}fromQuaternion(e,r=this.order,n){return dr.fromQuaternion(e),this._target.fromRotationMatrix(dr,r),n||this.onChange(),this}fromArray(e,r=0){return this._target[0]=e[r],this._target[1]=e[r+1],this._target[2]=e[r+2],this}toArray(e=[],r=0){return e[r]=this[0],e[r+1]=this[1],e[r+2]=this[2],e}};var pe=class{constructor(){this.parent=null,this.children=[],this.visible=!0,this.matrix=new B,this.worldMatrix=new B,this.matrixAutoUpdate=!0,this.worldMatrixNeedsUpdate=!1,this.position=new D,this.quaternion=new fe,this.scale=new D(1),this.rotation=new me,this.up=new D(0,1,0),this.rotation._target.onChange=()=>this.quaternion.fromEuler(this.rotation,!0),this.quaternion._target.onChange=()=>this.rotation.fromQuaternion(this.quaternion,void 0,!0)}setParent(e,r=!0){this.parent&&e!==this.parent&&this.parent.removeChild(this,!1),this.parent=e,r&&e&&e.addChild(this,!1)}addChild(e,r=!0){~this.children.indexOf(e)||this.children.push(e),r&&e.setParent(this,!1)}removeChild(e,r=!0){~this.children.indexOf(e)&&this.children.splice(this.children.indexOf(e),1),r&&e.setParent(null,!1)}updateMatrixWorld(e){this.matrixAutoUpdate&&this.updateMatrix(),(this.worldMatrixNeedsUpdate||e)&&(this.parent===null?this.worldMatrix.copy(this.matrix
7):this.worldMatrix.multiply(this.parent.worldMatrix,this.matrix),this.worldMatrixNeedsUpdate=!1,e=!0);for(let r=0,n=this.children.length;r<n;r++)this.children[r].updateMatrixWorld(e)}updateMatrix(){this.matrix.compose(this.quaternion,this.position,this.scale),this.worldMatrixNeedsUpdate=!0}traverse(e){if(!e(this))for(let r=0,n=this.children.length;r<n;r++)this.children[r].traverse(e)}decompose(){this.matrix.decompose(this.quaternion._target,this.position,this.scale),this.rotation.fromQuaternion(this.quaternion)}lookAt(e,r=!1){r?this.matrix.lookAt(this.position,e,this.up):this.matrix.lookAt(e,this.position,this.up),this.matrix.getRotation(this.quaternion._target),this.rotation.fromQuaternion(this.quaternion)}};function hr(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t}function ur(t,e){let r=e[0],n=e[1],i=e[2],s=e[3],a=r+r,l=n+n,o=i+i,c=r*a,d=n*a,m=n*l,h=i*a,f=i*l,u=i*o,p=s*a,g=s*l,y=s*o;return t[0]=1-m-u,t[3]=d-y,t[6]=h+g,t[1]=d+y,t[4]=1-c-u,t[7]=f-p,t[2]=h-g,t[5]=f+p,t[8]=1-c-m,t}function fr(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function mr(t,e,r,n,i,s,a,l,o,c){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=s,t[5]=a,t[6]=l,t[7]=o,t[8]=c,t}function pr(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function gr(t,e){let r=e[0],n=e[1],i=e[2],s=e[3],a=e[4],l=e[5],o=e[6],c=e[7],d=e[8],m=d*a-l*c,h=-d*s+l*o,f=c*s-a*o,u=r*m+n*h+i*f;return u?(u=1/u,t[0]=m*u,t[1]=(-d*n+i*c)*u,t[2]=(l*n-i*a)*u,t[3]=h*u,t[4]=(d*r-i*o)*u,t[5]=(-l*r+i*s)*u,t[6]=f*u,t[7]=(-c*r+n*o)*u,t[8]=(a*r-n*s)*u,t):null}function qe(t,e,r){let n=e[0],i=e[1],s=e[2],a=e[3],l=e[4],o=e[5],c=e[6],d=e[7],m=e[8],h=r[0],f=r[1],u=r[2],p=r[3],g=r[4],y=r[5],S=r[6],v=r[7],T=r[8];return t[0]=h*n+f*a+u*c,t[1]=h*i+f*l+u*d,t[2]=h*s+f*o+u*m,t[3]=p*n+g*a+y*c,t[4]=p*i+g*l+y*d,t[5]=p*s+g*o+y*m,t[6]=S*n+v*a+T*c,t[7]=S*i+v*l+T*d,t[8]=S*s+v*o+T*m,t}function yr(t,e,r){let n=e[0],i=e[1],s=e[2],a=e[3],l=e[4],o=e[5],c=e[6],d=e[7],m=e[8],h=r[0],f=r[1];return t[0]=n,t[1]=i,t[2]=s,t[3]=a,t[4]=l,t[5]=o,t[6]=h*n+f*a+c,t[7]=h*i+f*l+d,t[8]=h*s+f*o+m,t}function Er(t,e,r){let n=e[0],i=e[1],s=e[2],a=e[3],l=e[4],o=e[5],c=e[6],d=e[7],m=e[8],h=Math.sin(r),f=Math.cos(r);return t[0]=f*n+h*a,t[1]=f*i+h*l,t[2]=f*s+h*o,t[3]=f*a-h*n,t[4]=f*l-h*i,t[5]=f*o-h*s,t[6]=c,t[7]=d,t[8]=m,t}function xr(t,e,r){let n=r[0],i=r[1];return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=i*e[3],t[4]=i*e[4],t[5]=i*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function vr(t,e){let r=e[0],n=e[1],i=e[2],s=e[3],a=e[4],l=e[5],o=e[6],c=e[7],d=e[8],m=e[9],h=e[10],f=e[11],u=e[12],p=e[13],g=e[14],y=e[15],S=r*l-n*a,v=r*o-i*a,T=r*c-s*a,x=n*o-i*l,M=n*c-s*l,_=i*c-s*o,w=d*p-m*u,E=d*g-h*u,L=d*y-f*u,I=m*g-h*p,F=m*y-f*p,k=h*y-f*g,A=S*k-v*F+T*I+x*L-M*E+_*w;return A?(A=1/A,t[0]=(l*k-o*F+c*I)*A,t[1]=(o*L-a*k-c*E)*A,t[2]=(a*F-l*L+c*w)*A,t[3]=(i*F-n*k-s*I)*A,t[4]=(r*k-i*L+s*E)*A,t[5]=(n*L-r*F-s*w)*A,t[6]=(p*_-g*M+y*x)*A,t[7]=(g*T-u*_-y*v)*A,t[8]=(u*M-p*T+y*S)*A,t):null}var ge=class extends Array{constructor(e=1,r=0,n=0,i=0,s=1,a=0,l=0,o=0,c=1){return super(e,r,n,i,s,a,l,o,c),this}set(e,r,n,i,s,a,l,o,c){return e.length?this.copy(e):(mr(this,e,r,n,i,s,a,l,o,c),this)}translate(e,r=this){return yr(this,r,e),this}rotate(e,r=this){return Er(this,r,e),this}scale(e,r=this){return xr(this,r,e),this}multiply(e,r){return r?qe(this,e,r):qe(this,this,e),this}identity(){return pr(this),this}copy(e){return fr(this,e),this}fromMatrix4(e){return hr(this,e),this}fromQuaternion(e){return ur(this,e),this}fromBasis(e,r,n){return this.set(e[0],e[1],e[2],r[0],r[1],r[2],n[0],n[1],n[2]),this}inverse(e=this){return gr(this,e),this}getNormalMatrix(e){return vr(this,e),this}};var ri=0,ne=class extends pe{constructor(e,{geometry:r,program:n,mode:i=e.TRIANGLES,frustumCulled:s=!0,renderOrder:a=0}={}){super(),e.canvas||console.error("gl not passed as first argument to Mesh"),this.gl=e,this.id=ri++,this.geometry=r,this.program=n,this.mode=i,this.frustumCulled=s,this.renderOrder=a,this.modelViewMatrix=new B,this.normalMatrix=new ge,this.beforeRenderCallbacks=[],this.afterRenderCallbacks=[]}onBeforeRender(e){return this.beforeRenderCallbacks.push(e),this}onAfterRender(e){return this.afterRenderCallbacks.push(e),this}draw({camera:e}={}){e&&(this.program.uniforms.modelMatrix||Object.assign(this.program.uniforms,{modelMatrix:{value:null},viewMatrix:{value:null},modelViewMatrix:{value:null},normalMatrix:{value:null},projectionMatrix:{value:null},cameraPosition:{value:null}}),this.program.uniforms.projectionMatrix.value=e.projectionMatrix,this.program.uniforms.cameraPosition.value=e.worldPosition,this.program.uniforms.viewMatrix.value=e.viewMatrix,this.modelViewMatrix.multiply(e.viewMatrix,this.worldMatrix),this.normalMatrix.getNormalMatrix(this.modelViewMatrix),this.program.uniforms.modelMatrix.value=this.worldMatrix,this.program.uniforms.modelViewMatrix.value=this.modelViewMatrix,this.program.uniforms.normalMatrix.value=this.normalMatrix),this.beforeRenderCallbacks.forEach(n=>n&&n({mesh:this,camera:e}));let r=this.program.cullFace&&this.worldMatrix.determinant()<0;this.program.use({flipFaces:r}),this.geometry.draw({mode:this.mode,program:this.program}),this.afterRenderCallbacks.forEach(n=>n&&n({mesh:this,camera:e}))}};var Mr=new Uint8Array(4);function Lr(t){return(t&t-1)===0}var ni=1,ie=class{constructor(e,{image:r,target:n=e.TEXTURE_2D,type:i=e.UNSIGNED_BYTE,format:s=e.RGBA,internalFormat:a=s,wrapS:l=e.CLAMP_TO_EDGE,wrapT:
7o=e.CLAMP_TO_EDGE,wrapR:c=e.CLAMP_TO_EDGE,generateMipmaps:d=n===(e.TEXTURE_2D||e.TEXTURE_CUBE_MAP),minFilter:m=d?e.NEAREST_MIPMAP_LINEAR:e.LINEAR,magFilter:h=e.LINEAR,premultiplyAlpha:f=!1,unpackAlignment:u=4,flipY:p=n==(e.TEXTURE_2D||e.TEXTURE_3D),anisotropy:g=0,level:y=0,width:S,height:v=S,length:T=1}={}){this.gl=e,this.id=ni++,this.image=r,this.target=n,this.type=i,this.format=s,this.internalFormat=a,this.minFilter=m,this.magFilter=h,this.wrapS=l,this.wrapT=o,this.wrapR=c,this.generateMipmaps=d,this.premultiplyAlpha=f,this.unpackAlignment=u,this.flipY=p,this.anisotropy=Math.min(g,this.gl.renderer.parameters.maxAnisotropy),this.level=y,this.width=S,this.height=v,this.length=T,this.texture=this.gl.createTexture(),this.store={image:null},this.glState=this.gl.renderer.state,this.state={},this.state.minFilter=this.gl.NEAREST_MIPMAP_LINEAR,this.state.magFilter=this.gl.LINEAR,this.state.wrapS=this.gl.REPEAT,this.state.wrapT=this.gl.REPEAT,this.state.anisotropy=0}bind(){this.glState.textureUnits[this.glState.activeTextureUnit]!==this.id&&(this.gl.bindTexture(this.target,this.texture),this.glState.textureUnits[this.glState.activeTextureUnit]=this.id)}update(e=0){let r=!(this.image===this.store.image&&!this.needsUpdate);if((r||this.glState.textureUnits[e]!==this.id)&&(this.gl.renderer.activeTexture(e),this.bind()),!!r){if(this.needsUpdate=!1,this.flipY!==this.glState.flipY&&(this.gl.pixelStorei(this.gl.UNPACK_FLIP_Y_WEBGL,this.flipY),this.glState.flipY=this.flipY),this.premultiplyAlpha!==this.glState.premultiplyAlpha&&(this.gl.pixelStorei(this.gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha),this.glState.premultiplyAlpha=this.premultiplyAlpha),this.unpackAlignment!==this.glState.unpackAlignment&&(this.gl.pixelStorei(this.gl.UNPACK_ALIGNMENT,this.unpackAlignment),this.glState.unpackAlignment=this.unpackAlignment),this.minFilter!==this.state.minFilter&&(this.gl.texParameteri(this.target,this.gl.TEXTURE_MIN_FILTER,this.minFilter),this.state.minFilter=this.minFilter),this.magFilter!==this.state.magFilter&&(this.gl.texParameteri(this.target,this.gl.TEXTURE_MAG_FILTER,this.magFilter),this.state.magFilter=this.magFilter),this.wrapS!==this.state.wrapS&&(this.gl.texParameteri(this.target,this.gl.TEXTURE_WRAP_S,this.wrapS),this.state.wrapS=this.wrapS),this.wrapT!==this.state.wrapT&&(this.gl.texParameteri(this.target,this.gl.TEXTURE_WRAP_T,this.wrapT),this.state.wrapT=this.wrapT),this.wrapR!==this.state.wrapR&&(this.gl.texParameteri(this.target,this.gl.TEXTURE_WRAP_R,this.wrapR),this.state.wrapR=this.wrapR),this.anisotropy&&this.anisotropy!==this.state.anisotropy&&(this.gl.texParameterf(this.target,this.gl.renderer.getExtension("EXT_texture_filter_anisotropic").TEXTURE_MAX_ANISOTROPY_EXT,this.anisotropy),this.state.anisotropy=this.anisotropy),this.image){if(this.image.width&&(this.width=this.image.width,this.height=this.image.height),this.target===this.gl.TEXTURE_CUBE_MAP)for(let n=0;n<6;n++)this.gl.texImage2D(this.gl.TEXTURE_CUBE_MAP_POSITIVE_X+n,this.level,this.internalFormat,this.format,this.type,this.image[n]);else if(ArrayBuffer.isView(this.image))this.target===this.gl.TEXTURE_2D?this.gl.texImage2D(this.target,this.level,this.internalFormat,this.width,this.height,0,this.format,this.type,this.image):(this.target===this.gl.TEXTURE_2D_ARRAY||this.target===this.gl.TEXTURE_3D)&&this.gl.texImage3D(this.target,this.level,this.internalFormat,this.width,this.height,this.length,0,this.format,this.type,this.image);else if(this.image.isCompressedTexture)for(let n=0;n<this.image.length;n++)this.gl.compressedTexImage2D(this.target,n,this.internalFormat,this.image[n].width,this.image[n].height,0,this.image[n].data);else this.target===this.gl.TEXTURE_2D?this.gl.texImage2D(this.target,this.level,this.internalFormat,this.format,this.type,this.image):this.gl.texImage3D(this.target,this.level,this.internalFormat,this.width,this.height,this.length,0,this.format,this.type,this.image);this.generateMipmaps&&(!this.gl.renderer.isWebgl2&&(!Lr(this.image.width)||!Lr(this.image.height))?(this.generateMipmaps=!1,this.wrapS=this.wrapT=this.gl.CLAMP_TO_EDGE,this.minFilter=this.gl.LINEAR):this.gl.generateMipmap(this.target)),this.onUpdate&&this.onUpdate()}else if(this.target===this.gl.TEXTURE_CUBE_MAP)for(let n=0;n<6;n++)this.gl.texImage2D(this.gl.TEXTURE_CUBE_MAP_POSITIVE_X+n,0,this.gl.RGBA,1,1,0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,Mr);else this.width?this.target===this.gl.TEXTURE_2D?this.gl.texImage2D(this.target,this.level,this.internalFormat,this.width,this.height,0,this.format,this.type,null):this.gl.texImage3D(this.target,this.level,this.internalFormat,this.width,this.height,this.length,0,this.format,this.type,null):this.gl.texImage2D(this.target,0,this.gl.RGBA,1,1,0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,Mr);this.store.image=this.image}}};function Sr(t,e){return t[0]=e[0],t[1]=e[1],t}function wr(t,e,r){return t[0]=e,t[1]=r,t}function Oe(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t}function ze(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t}function Tr(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t}function br(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t}function ye(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t}function Ar(t,e){var r=e[0]-t[0],n=e[1]-t[1];return Math.sqrt(r*r+n*n)}function Fr(t,e){var r=e[0]-t[0],n=e[1]-t[1];return r*r+n*n}function Ue(t){var e=t[0],r=t[1];return Math.sqrt(e*e+r*r)}function _r(t){var e=t[0],r=t[1];return e*e+r*r}function Ir(t,e){return t[0]=-e[0],t[1]=-e[1],t}function Cr(t,e){return t[0]=1/e[0],t[1]=1/e[1],t}function Rr(t,e){var r=e[0],n=e[1],i=r*r+n*n;return i>0&&(i=1/Math.sqrt(i)),t[0]=e[0]*i,t[1]=e[1]*i,t}function Hr(t,e){return t[0]*e[0]+t[1]*e[1]}function Be(t,e){return t[0]*e[1]-t[1]*e[0]}function kr(t,e,r,n){var i=e[0],s=e[1];return t[0]=i+n*(r[0]-i),t[1]=s+n*(r[1]-s),t}function Pr(t,e,r,n,i){let s=Math.exp(-n*i),a=e[0],l=e[1];return t[0]=r[0]+(a-r[0])*s,t[1]=r[1]+(l-r[1])*s,t}function Dr(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[3]*i+r[6],t[1]=r[1]*n+r[4]*i+r[7],t}function Vr(t,e,r){let n=e[0],i=e[1];return t[0]=r[0]*n+r[4]*i+r[12],t[1]=r[1]*n+r[5]*i+r[13],t}function qr(t,e){return t[0]===e[0]&&t[1]===e[1]}var K=class t extends Array{constructor(e=0,r=e){return super(e,r),this}get x(){return this[0]}get y(){return this[1]}set x(e){this[0]=e}set y(e){this[1]=e}set(e,r=e){return e.length?this.copy(e):(wr(this,e,r),this)}copy(e){return Sr(this,e),this}add(e,r){return r?Oe(this,e,r):Oe(this,this,e),this}sub(e,r){return r?ze(this,e,r):ze(this,this,e),this}multiply(e){return e.length?Tr(this,this,e):ye(this,this,e),this}divide(e){return e.length?br(this,this,e):ye(this,this,1/e),this}inverse(e=this){return Cr(this,e),this}len(){return Ue(this)}distance(e){return e?Ar(this,e):Ue(this)}squaredLen(){return this.squaredDistance()}squaredDistance(e){return e?Fr(this,e):_r(this)}negate(e=this){return Ir(this,e),this}cross(e,r){return r?Be(e,r):Be(this,e)}scale(e){return ye(this,this,e),this}normalize(){return Rr(this,this),this}dot(e){return Hr(this,e)}equals(e){return qr(this,e)}applyMatrix3(e){return Dr(this,this,e),this}applyMatrix4(e){return Vr(this,this,e),this}lerp(e,r){return kr(this,this,e,r),this}smoothLerp(e,r,n){return Pr(this,this,e,r,n),this}clone(){return new t(this[0],this[1])}fromArray(e,r=0){return this[0]=e[r],this[1]=e[r+1],this}toArray(e=[],r=0){return e[r]=this[0],e[r+1]=this[1],e}};var se=class extends ue{constructor(e,{attributes:r={}}={}){Object.assign(r,{position:{size:2,data:new Float32Array([-1,-1,3,-1,-1,3])},uv:{size:2,data:new Float32Array([0,0,2,0,0,2])}}),super(e,r)}};function Or({canvas:t,effect:e,fit:r,mobileMediaQuery:n,onFailure:i,onFirstFrame:s,parent:a,source:l}){let o=matchMedia(n),c=()=>{let R=o.matches?"mobile":"desktop";return{frameIntervalSeconds:1/e.quality.framesPerSecond[R],resolutionScale:e.quality.resolutionScale[R],speed:e.speed[R]}},d=R=>Math.min(devicePixelRatio*R,e.quality.maximumDevicePixelRatio),m=c(),h=new re({alpha:!0,canvas:t,dpr:d(m.resolutionScale),premultipliedAlpha:!0}),f=h.gl,u={},p=!1,g=!1,y=m.speed,S=m.frameIntervalSeconds,v=R=>{try{R()}catch{}},T=()=>{if(g)return;g=!0;let R=u.effectContext;u.effectContext=void 0,R&&!p&&(p=!0,v(()=>e.onDispose?.(R)));let P=u.geometry;u.geometry=void 0,P&&v(()=>P.remove());let X=u.program;u.program=void 0,X&&v(()=>X.remove());let ee=u.texture;u.texture=void 0,ee&&v(()=>f.deleteTexture(ee.texture)),v(()=>{t.width=1,t.height=1})},{mesh:x,resolutionUniform:M,runtimeContext:_,timeUniform:w}=(()=>{try{f.clearColor(0,0,0,0);let R=new ie(f,{flipY:!0,generateMipmaps:!1,image:l,magFilter:f.LINEAR,minFilter:f.LINEAR,wrapS:f.CLAMP_TO_EDGE,wrapT:f.CLAMP_TO_EDGE});u.texture=R;let P={canvas:t,gl:f,parent:a,renderer:h,source:l,texture:R},X={value:new K},ee={value:0},it={uResolution:X,uStretch:{value:r==="stretch"?1:0},uTexture:{value:R}
7,uTextureSize:{value:new K(l.naturalWidth,l.naturalHeight)},uTime:ee},Le={...it},st={...P,uniforms:Le};u.effectContext=st;let Bn=e.createUniforms?.(P)??{};Object.assign(Le,Bn,it);let at=new te(f,{fragment:e.fragmentShader,uniforms:Le,vertex:e.vertexShader});u.program=at;let ot=new se(f);return u.geometry=ot,{mesh:new ne(f,{geometry:ot,program:at}),resolutionUniform:X,runtimeContext:st,timeUniform:ee}}catch(R){throw T(),R}})(),E=0,L=0,I,F=0,k=!1,A=!1,b=!1,C=0,H=0,V=()=>{b=!1,cancelAnimationFrame(E),E=0,I=void 0,F=S},G=()=>{if(A)return!1;let{height:R,width:P}=a.getBoundingClientRect();if(R<=0||P<=0)return!1;if(P===C&&R===H)return!0;if(C=P,H=R,h.setSize(P,R),M.value.set(f.drawingBufferWidth,f.drawingBufferHeight),e.onResize?.({..._,drawingBufferHeight:f.drawingBufferHeight,drawingBufferWidth:f.drawingBufferWidth,height:R,width:P}),b&&k)try{h.render({scene:x}),F=0}catch{return U(),!1}return!0};try{if(!G())throw new Error("Image deformation surface has no render size")}catch(R){throw A=!0,T(),R}let U=()=>{A||(V(),i())},J=()=>{A||!b||E||(E=requestAnimationFrame(On))},On=R=>{if(E=0,A||!b)return;let P=(R-(I??R))/1e3;if(L+=P,I=R,w.value+=P*y,F+=P,k&&F+P/2<S){J();return}let X=F;F=0;try{if(e.onFrame?.({..._,deltaSeconds:X,elapsedSeconds:L,time:w.value}),A||!b||(h.render({scene:x}),A||!b))return;k||(k=!0,s())}catch{U();return}J()},zn=()=>{try{G()}catch{U()}},Un=()=>{let R=c();y=R.speed,S=R.frameIntervalSeconds,h.dpr=d(R.resolutionScale)},le=()=>{if(!A)try{Un(),G()}catch{U()}},rt=R=>{R.preventDefault(),U()},nt=new ResizeObserver(zn);return t.addEventListener("webglcontextlost",rt),o.addEventListener("change",le),window.addEventListener("resize",le),nt.observe(a),{dispose:()=>{A||(A=!0,v(V),v(()=>nt.disconnect()),v(()=>o.removeEventListener("change",le)),v(()=>window.removeEventListener("resize",le)),v(()=>t.removeEventListener("webglcontextlost",rt)),T())},pause:V,resume:()=>{A||b||(b=!0,J())}}}var zr=`
8  attribute vec2 position;
9
10  void main() {
11    gl_Position = vec4(position, 0.0, 1.0);
12  }
13`,Ur=`
14  #ifdef GL_ES
15  precision highp float;
16  #endif
17
18  uniform sampler2D uTexture;
19  uniform vec2 uResolution;
20  uniform vec2 uTextureSize;
21  uniform float uTime;
22  uniform float uStretch;
23
24  vec2 coverUv(vec2 screenUv) {
25    float screenAspect = uResolution.x / uResolution.y;
26    float textureAspect = uTextureSize.x / uTextureSize.y;
27    vec2 uv = screenUv;
28
29    if (screenAspect > textureAspect) {
30      uv.y = (screenUv.y - 0.5) * (textureAspect / screenAspect) + 0.5;
31    } else {
32      uv.x = (screenUv.x - 0.5) * (screenAspect / textureAspect) + 0.5;
33    }
34
35    return uv;
36  }
37
38  vec2 fitUv(vec2 screenUv) {
39    if (uStretch > 0.5) {
40      return screenUv;
41    }
42
43    return coverUv(screenUv);
44  }
45
46  vec2 auroraOffset(vec2 screenUv, float phase) {
47    float horizontalFlow =
48      sin(screenUv.y * 7.2 - uTime * 0.88 + phase) +
49      0.42 * sin(screenUv.y * 14.4 + uTime * 0.54 + phase * 1.7);
50    float verticalFlow =
51      sin(screenUv.x * 6.4 + uTime * 0.74 + phase * 0.8) +
52      0.38 * sin(screenUv.x * 12.8 - uTime * 0.46 + phase * 1.3);
53    float longWave = sin(
54      (screenUv.x - screenUv.y) * 3.6 -
55      uTime * 0.42 +
56      phase
57    );
58
59    return vec2(
60      horizontalFlow * 0.010 + longWave * 0.004,
61      verticalFlow * 0.014 + longWave * 0.006
62    );
63  }
64
65  vec3 auroraColor(vec2 screenUv) {
66    vec2 sourceUv = fitUv(screenUv);
67    vec2 firstUv = clamp(
68      sourceUv + auroraOffset(screenUv, 0.0),
69      vec2(0.001),
70      vec2(0.999)
71    );
72    vec2 secondUv = clamp(
73      sourceUv - auroraOffset(screenUv, 2.35) * 0.72,
74      vec2(0.001),
75      vec2(0.999)
76    );
77
78    vec3 original = texture2D(uTexture, sourceUv).rgb;
79    vec3 firstFlow = texture2D(uTexture, firstUv).rgb;
80    vec3 secondFlow = texture2D(uTexture, secondUv).rgb;
81    float phaseBlend = 0.48 + 0.12 * sin(uTime * 0.58);
82    vec3 flowing = mix(firstFlow, secondFlow, phaseBlend);
83
84    return mix(original, flowing, 0.78);
85  }
86
87  float auroraShimmer(vec2 screenUv) {
88    return
89      0.96 +
90      0.08 * sin(
91        uTime * 0.82 +
92        screenUv.x * 4.2 -
93        screenUv.y * 2.8
94      );
95  }
96`,Br=`
97  ${Ur}
98
99  void main() {
100    vec2 screenUv = gl_FragCoord.xy / uResolution.xy;
101    vec3 color = auroraColor(screenUv);
102
103    float mintEnergy = smoothstep(
104      0.06,
105      0.48,
106      max(color.g - color.r * 0.35, color.b * 0.45)
107    );
108    color *= mix(1.0, auroraShimmer(screenUv), mintEnergy);
109
110    float alpha = pow(mintEnergy, 0.85);
111
112    gl_FragColor = vec4(color * alpha, alpha);
113  }
114`,Nr=`
115  ${Ur}
116
117  void main() {
118    vec2 screenUv = gl_FragCoord.xy / uResolution.xy;
119    vec3 color = auroraColor(screenUv);
120
121    float minChannel = min(color.r, min(color.g, color.b));
122    float tint = 1.0 - minChannel;
123    float alpha = clamp(tint * auroraShimmer(screenUv), 0.0, 1.0);
124
125    if (tint <= 0.001) {
126      gl_FragColor = vec4(0.0);
127    } else {
128      vec3 pure = clamp((color - minChannel) / tint, 0.0, 1.0);
129
130      gl_FragColor = vec4(pure * alpha, alpha);
131    }
132  }
133`;var Ee={fragmentShader:Br,quality:{framesPerSecond:{desktop:30,mobile:24},maximumDevicePixelRatio:.9,resolutionScale:{desktop:.45,mobile:.45}},speed:{desktop:1.6,mobile:1.32},vertexShader:zr};var Gr={...Ee,fragmentShader:Nr};var N=new Map,si=4;function ai(t,e){N.delete(t),N.set(t,e)}function oi(){for(;N.size>si;){let t=N.keys().next().value;if(t===void 0)return;N.delete(t)}}function Xr(t){let e=N.get(t);if(e)return ai(t,e),e;let r;return r=new Promise((n,i)=>{let s=new window.Image,a=!1,l=()=>{s.removeEventListener("load",d),s.removeEventListener("error",m)},o=()=>{a||(a=!0,l(),n(s))},c=h=>{a||(a=!0,l(),i(h))},d=()=>{try{s.decode().then(o,c)}catch(h){c(h)}},m=h=>c(h);s.decoding="async",s.addEventListener("load",d,{once:!0}),s.addEventListener("error",m,{once:!0});try{s.src=t}catch(h){c(h)}}),N.set(t,r),oi(),r.catch(()=>{N.get(t)===r&&N.delete(t)}),r}var li="(prefers-reduced-motion: reduce)",ci="15% 0%",di=1e3,hi={auroraFlow:Ee,auroraFlowLight:Gr};function ui(t){let e=t.dataset.deform;if(e)try{let r=JSON.parse(e);return r.desktop&&r.effect?r:void 0}catch{return}}function fi(t){let e=t.parentElement,r=ui(t);if(!e||!r)return;let n=hi[r.effect];if(!n)return;let i=r.fit??"cover",s=r.fitMobile??i,a=e.querySelector("[data-deform-still]"),l=r.mobileQuery??e.querySelector("source[media]")?.getAttribute("media")??"(max-width: 0px)",o=matchMedia(l),c=matchMedia(li),d,m,h=!1,f=!1,u,p,g=()=>o.matches&&r.mobile?r.mobile:r.desktop,y=()=>o.matches?s:i,S=()=>f&&document.visibilityState==="visible"&&!c.matches,v=I=>{t.classList.toggle("invisible",I),a?.classList.toggle("hidden",!I)},T=()=>{m!==void 0&&(clearTimeout(m),m=void 0)},x=()=>{T();try{d?.dispose()}finally{d=void 0,u=void 0,p=void 0,v(!0)}},M=()=>{m!==void 0||!d||(m=setTimeout(()=>{m=void 0,!S()&&x()},di))},_=async()=>{if(h||d||!S())return;h=!0;let I=g();try{let F=await Xr(I);if(!S()||d)return;d=Or({canvas:t,effect:n,fit:y(),mobileMediaQuery:l,onFailure:x,onFirstFrame:()=>v(!1),parent:e,source:F}),u=I,p=y(),d.resume()}catch{v(!0)}finally{h=!1}},w=()=>{if(!S()){d?.pause(),M();return}T(),d?d.resume():_()},E=()=>{(u!==void 0&&u!==g()||p!==void 0&&p!==y())&&x(),w()},L=()=>
133{if(c.matches){x();return}w()};new IntersectionObserver(([I])=>{f=I?.isIntersecting??!1,w()},{rootMargin:ci}).observe(e),o.addEventListener("change",E),c.addEventListener("change",L),document.addEventListener("visibilitychange",w)}function Wr(){for(let t of document.querySelectorAll("canvas[data-deform]"))fi(t)}function mi(t){let e=t.dataset.catalogHeroPick,r=t.querySelector("img[data-catalog-hero-slide-photo]"),i=t.closest("li")?.querySelector("img[data-catalog-hero-slide-decor]"),s=t.getAttribute("aria-label")||r?.alt;return!e||!r||!i||!s?null:{id:e,name:s,slideSrc:r.getAttribute("src")||r.currentSrc||r.src,decorSrc:i.getAttribute("src")||i.currentSrc||i.src}}function pi(t,e){t.dataset.catalogHeroPick=e.id,t.setAttribute("aria-label",e.name);let r=t.querySelector("img[data-catalog-hero-slide-photo]"),i=t.closest("li")?.querySelector("img[data-catalog-hero-slide-decor]");r&&(r.src=e.slideSrc),i&&(i.src=e.decorSrc)}function Yr(t,e){t.querySelectorAll("[data-catalog-hero-panel]").forEach(r=>{let n=r.dataset.teacherId===e;r.hidden=!n,r.classList.toggle("hidden",!n)})}function gi(t){let e=t.dataset.teacherId,r=t.dataset.teacherName,n=t.dataset.slideSrc,i=t.dataset.decorSrc;return!e||!r||!n||!i?null:{id:e,name:r,slideSrc:n,decorSrc:i}}function Qr(){let t=document.querySelector("[data-catalog-hero-media]");if(!t)return;let e=Array.from(t.querySelectorAll("[data-catalog-hero-panel]"));if(e.length===0)return;let r=e.find(n=>!n.hidden&&!n.classList.contains("hidden"))?.dataset.teacherId??e[0]?.dataset.teacherId;r&&(Yr(t,r),t.addEventListener("click",n=>{let i=n.target;if(!(i instanceof Element))return;let s=i.closest("[data-catalog-hero-pick]");if(!s||!t.contains(s))return;let a=mi(s);if(!a||a.id===r)return;let l=e.find(c=>c.dataset.teacherId===r),o=l?gi(l):null;o&&(pi(s,o),r=a.id,Yr(t,r))}))}function Y(t,e,r){let i=window.ym;return typeof i!="function"?!1:(i(88989116,"reachGoal",t,e,r),!0)}function ae(t){if(t)try{return JSON.parse(t)}catch{console.error("[home] data-ym-params \u043D\u0435 \u0440\u0430\u0437\u043E\u0431\u0440\u0430\u043B\u0441\u044F:",t);return}}function yi(t){return ae(t.dataset.ymParams)}function Ei(t,e){if(t.defaultPrevented||t.button!==0||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey)return!1;let r=e.closest("a");if(!(r instanceof HTMLAnchorElement)||r.target==="_blank")return!1;let n=r.getAttribute("href");return n!==null&&n!==""&&!n.startsWith("#")}var $r=.5;function jr(t,e=!1){try{return e&&sessionStorage.setItem(t,"1"),sessionStorage.getItem(t)==="1"}catch{return!1}}function xi(){let t=document.querySelectorAll("[data-ym-view-goal]");if(t.length===0||!("IntersectionObserver"in window))return;let e=new IntersectionObserver(r=>{for(let n of r){if(n.intersectionRatio<$r)continue;let i=n.target,s=i.dataset.ymViewGoal??"",a=ae(i.dataset.ymViewParams),l=`ym-view:${s}:${a?.page??location.pathname}`;if(jr(l)){e.unobserve(i);continue}e.unobserve(i),Y(s,a)?jr(l,!0):window.setTimeout(()=>e.observe(i),1e3)}},{threshold:$r});t.forEach(r=>e.observe(r))}function Kr(){xi(),document.addEventListener("click",t=>{let e=t.target;if(!(e instanceof Element))return;let r=e.closest("[data-ym-goal]"),n=r?.dataset.ymGoal;if(!r||!n)return;let i=yi(r);if(!Ei(t,r)){Y(n,i);return}let s=r.closest("a"),a=!1,l=()=>{a||(a=!0,window.location.href=s.href)};if(t.preventDefault(),!Y(n,i,l)){l();return}window.setTimeout(l,300)})}var vi=500,Mi=20;function Zr(){let t=document.querySelector("#besales-widget-container")?.shadowRoot?.querySelector(".widget-button");return t||document.querySelector("[data-solo-widget-root] .solo_input")}var Li={prodaishka:"start_interaction_with_prodaishka",sologpt:"start_interaction_with_solo"},Jr=new Set;function oe(t){if(window.insperiaChatLoaderStarted===!0||!document.querySelector("script[data-chat-starter]")){t();return}window.addEventListener("insperia-chat-loader",()=>t(),{once:!0})}function Ne(t,e){let r=Li[t];Jr.has(r)||(Jr.add(r),Y(r,{source:e}))}var Si=".chat-input, .message-buttons, .scenario-buttons, .popup-buttons";function wi(){document.addEventListener("click",t=>{let e=t.target;if(e instanceof Element&&e.closest(".solo_input, .soloAnswers")){Ne("sologpt","widget");return}(typeof t.composedPath=="function"?t.composedPath():[e]).some(i=>i instanceof Element&&i.closest(Si)!==null)&&Ne("prodaishka","widget")})}function en(){let t=window.insperiaHome;(typeof t=="object"&&t!==null?!!t.legacyHeaderJs:!1)||wi();let r=Array.from(document.querySelectorAll("[data-chat-open]"));if(r.length!==0){for(let n of r)n.addEventListener("click",()=>{let i=Zr();i&&(Ne(i.classList.contains("solo_input")?"sologpt":"prodaishka",n.dataset.chatGoalSource??"after_faq"),i.click())});oe(()=>{let n=0,i=setInterval(()=>{if(n+=1,Zr()){for(let s of r)s.style.display="";clearInterval(i)}else n>=Mi&&clearInterval(i)},vi)})}}var Ti="besales-widget-container",tn="insperia-prodaishka-ask-button",Ge={background:"oklch(0.9125 0.0847 170.45)",fontFamily:'"Raleway", system-ui, sans-serif',radius:"0.45rem"};function Xe(t,e){let r=getComputedStyle(document.documentElement).getPropertyValue(t).trim();return r===""?e:r}function bi(t){let e=Xe("--subject-primary-light-1",Ge.background),r=Xe("--font-primary",Ge.fontFamily),n=Xe("--radius",Ge.radius),i=`url("${t}") center / contain no-repeat`;return`
134:host {
135  --insperia-ask-bg: ${e};
136  --insperia-ask-font: ${r};
137  --insperia-ask-radius: ${n};
138}
139.widget-container {
140  z-index: 49 !important;
141  right: 1.5rem !important;
142  bottom: var(--ask-button-bottom, 1.25rem) !important;
143  transition: bottom 300ms ease !important;
144}
145.widget-button {
146  display: inline-flex !important;
147  align-items: center !important;
148  justify-content: center !important;
149  gap: 0.625rem !important;
150  width: 2.5rem !important;
151  height: 2.5rem !important;
152  padding: 0.75rem !important;
153  border: 0 !important;
154  border-radius: 9999px !important;
155  background: var(--insperia-ask-bg) !important;
156  box-shadow: none !important;
157  color: black !important;
158  font-family: var(--insperia-ask-font) !important;
159  font-size: 1.125rem !important;
160  font-weight: 600 !important;
161  line-height: 1.375rem !important;
162  white-space: nowrap !important;
163  transform: none !important;
164  transition: background-color 200ms !important;
165}
166.widget-button:hover {
167  background: var(--insperia-ask-bg) !important;
168  box-shadow: none !important;
169  transform: none !important;
170}
171/* \u041B\u043E\u0433\u043E\u0442\u0438\u043F \u2014 \u043C\u0430\u0441\u043A\u043E\u0439, \u0430 \u043D\u0435 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u043E\u0439: \u0442\u0430\u043A \u043E\u043D \u043A\u0440\u0430\u0441\u0438\u0442\u0441\u044F currentColor. */
172.widget-button::before {
173  content: "";
174  display: block;
175  width: 1rem;
176  height: 1rem;
177  flex-shrink: 0;
178  background: currentColor;
179  mask: ${i};
180  -webkit-mask: ${i};
181}
182.widget-button-logo,
183.widget-button > svg {
184  display: none !important;
185}
186.widget-button > span:not(.widget-button-badge) {
187  display: none !important;
188  font-family: var(--insperia-ask-font) !important;
189  font-size: 1.125rem !important;
190  font-weight: 600 !important;
191  line-height: 1.375rem !important;
192}
193/*
194 * \u0414\u043E md \u043E\u043A\u043D\u043E \u0447\u0430\u0442\u0430 \u0440\u0430\u0437\u0432\u043E\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u0432\u043E \u0432\u0435\u0441\u044C \u044D\u043A\u0440\u0430\u043D \u0438 \u043F\u0440\u0438\u0436\u0438\u043C\u0430\u0435\u0442\u0441\u044F \u043A \u0435\u0433\u043E \u0432\u0435\u0440\u0445\u0443
195 * (top: 56px \u0443 \u0441\u0430\u043C\u043E\u0433\u043E \u0432\u0438\u0434\u0436\u0435\u0442\u0430). \u041D\u0430\u0448\u0430 \u0448\u0430\u043F\u043A\u0430 \u0432\u044B\u0448\u0435 \u2014 \u0441 \u043F\u0440\u043E\u043C\u043E-\u043F\u043E\u043B\u043E\u0441\u043E\u0439 \u044D\u0442\u043E 126px, \u2014
196 * \u0438 \u0435\u0451 \u0444\u0438\u043A\u0441\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0439 \u0441\u043B\u043E\u0439 (z-200) \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u0435\u0442 \u0432\u0435\u0440\u0445 \u043E\u043A\u043D\u0430: \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A \u0438 \u0441\u0442\u0440\u0435\u043B\u043A\u0443
197 * \xAB\u043D\u0430\u0437\u0430\u0434\xBB, \u0442\u043E \u0435\u0441\u0442\u044C \u0435\u0434\u0438\u043D\u0441\u0442\u0432\u0435\u043D\u043D\u0443\u044
197E \u043A\u043D\u043E\u043F\u043A\u0443 \u0437\u0430\u043A\u0440\u044B\u0442\u0438\u044F. \u041E\u043F\u0443\u0441\u043A\u0430\u0435\u043C \u043E\u043A\u043D\u043E \u043F\u043E\u0434 \u0448\u0430\u043F\u043A\u0443 \u0438 \u043D\u0430
198 * \u0441\u0442\u043E\u043B\u044C\u043A\u043E \u0436\u0435 \u0443\u043A\u043E\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043C, \u0447\u0442\u043E\u0431\u044B \u043D\u0438\u0437 \u043E\u0441\u0442\u0430\u043B\u0441\u044F \u043D\u0430 \u043C\u0435\u0441\u0442\u0435.
199 *
200 * \u041F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u0443\u044E \u0441\u0442\u0430\u0432\u0438\u0442 js/home/src/header.ts, \u043F\u0440\u0438\u0447\u0451\u043C \u043D\u0430 :root: \u0441\u044E\u0434\u0430, \u0432 shadow DOM
201 * \u0432\u0438\u0434\u0436\u0435\u0442\u0430, \u043E\u043D\u0430 \u043F\u0440\u0438\u0445\u043E\u0434\u0438\u0442 \u043F\u043E \u043D\u0430\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u043D\u0438\u044E \u043E\u0442 <html>, \u0430 \u043E\u0431\u0451\u0440\u0442\u043A\u0443 \u043C\u0430\u043A\u0435\u0442\u0430 \u044D\u0442\u043E\u0442
202 * \u0445\u043E\u0441\u0442-\u044D\u043B\u0435\u043C\u0435\u043D\u0442 \u043D\u0435 \u0432\u0438\u0434\u0438\u0442 \u2014 \u043E\u043D \u043B\u0435\u0436\u0438\u0442 \u043F\u0440\u044F\u043C\u044B\u043C \u043F\u043E\u0442\u043E\u043C\u043A\u043E\u043C <body>. \u0424\u043E\u043B\u0431\u044D\u043A 3.5rem \u2014
203 * \u044D\u0442\u043E \u0442\u0435 \u0436\u0435 56px, \u0442\u043E \u0435\u0441\u0442\u044C \u043F\u043E\u0432\u0435\u0434\u0435\u043D\u0438\u0435 \u0432\u0438\u0434\u0436\u0435\u0442\u0430 \u0434\u043E \u043D\u0430\u0448\u0435\u0433\u043E \u0432\u043C\u0435\u0448\u0430\u0442\u0435\u043B\u044C\u0441\u0442\u0432\u0430.
204 */
205@media (max-width: 768px) {
206  .chat-window {
207    top: var(--site-header-height, 3.5rem) !important;
208    height: calc(100dvh - var(--site-header-height, 3.5rem)) !important;
209    /*
210     * \u0421\u0432\u043E\u0435\u0433\u043E translateY(20px) \u0432\u0438\u0434\u0436\u0435\u0442 \u043D\u0435 \u0443\u0431\u0438\u0440\u0430\u0435\u0442 \u043F\u043E\u0441\u043B\u0435 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u044F, \u0438 \u043D\u0430 \u044D\u0442\u0438 \u0436\u0435
211     * 20px \u043E\u043A\u043D\u043E \u0441\u0432\u0438\u0441\u0430\u0435\u0442 \u043D\u0438\u0436\u0435 \u044D\u043A\u0440\u0430\u043D\u0430 \u2014 \u0442\u0430\u043C \u043A\u0440\u0430\u0439 \u043F\u043E\u043B\u044F \u0432\u0432\u043E\u0434\u0430. \u0417\u0430\u043C\u0435\u0442\u043D\u043E \u044D\u0442\u043E \u0441\u0442\u0430\u043B\u043E
212     * \u0442\u043E\u043B\u044C\u043A\u043E \u0441\u0435\u0439\u0447\u0430\u0441: \u043F\u043E\u043A\u0430 \u043E\u043A\u043D\u043E \u043B\u0435\u0437\u043B\u043E \u043F\u043E\u0434 \u0448\u0430\u043F\u043A\u0443, \u043D\u0438\u0437 \u0431\u044B\u043B \u043C\u0435\u043D\u044C\u0448\u0435\u0439 \u0438\u0437 \u0431\u0435\u0434.
213     */
214    transform: none !important;
215  }
216}
217@media (min-width: 769px) {
218  /* \u0412\u0440\u043E\u0432\u0435\u043D\u044C \u0441 \u043F\u043B\u0430\u0432\u0430\u044E\u0449\u0435\u0439 \u043F\u0430\u043D\u0435\u043B\u044C\u044E, \u0430 \u043D\u0435 \u043D\u0430\u0434 \u043D\u0435\u0439 \u2014 \u0442\u0430\u043A \u0432 \u043C\u0430\u043A\u0435\u0442\u0435. */
219  .widget-container {
220    bottom: 2rem !important;
221  }
222}
223@media (min-width: 898px) {
224  .widget-button {
225    width: auto !important;
226    height: auto !important;
227    border-radius: calc(var(--insperia-ask-radius) + 4px) !important;
228  }
229  .widget-button > span:not(.widget-button-badge) {
230    display: inline !important;
231  }
232}
233`}function We(t){let e=document.getElementById(Ti)?.shadowRoot;if(!e)return!1;let r=e.getElementById(tn);return r===null&&(r=document.createElement("style"),r.id=tn,e.appendChild(r)),r.textContent=bi(t),!0}function rn(){let t=window.homeAssets?.logoMini;t===void 0||t===""||oe(()=>{if(We(t))return;let e=Date.now(),r=new MutationObserver(()=>{We(t)&&i()}),n=window.setInterval(()=>{(We(t)||Date.now()-e>3e4)&&i()},50);function i(){r.disconnect(),window.clearInterval(n)}r.observe(document.body,{childList:!0,subtree:!0})})}var nn="insperia-cookies";function Ai(){try{return localStorage.getItem(nn)}catch{return null}}function sn(){let t=Array.from(document.querySelectorAll("[data-cookie-consent]"));if(t.length===0||Ai()!==null)return;let e=r=>{try{localStorage.setItem(nn,r)}catch{}document.documentElement.setAttribute("data-cookie-decided",""),t.forEach(n=>
233{n.style.display="none"}),window.dispatchEvent(new Event("insperia-cookie-consent"))};t.forEach(r=>{r.querySelector("[data-cookie-consent-accept]")?.addEventListener("click",()=>e("accepted")),r.querySelector("[data-cookie-consent-decline]")?.addEventListener("click",()=>e("declined"))})}var Fi="300% 0px -60% 0px";var _i="(min-width: 1234px)",Ii="rotate-y-180",Ci=["invisible","opacity-0"],Ri="delay-(--fears-flip-half)";function an(t,e){if(t){for(let r of Ci)t.classList.toggle(r,!e);t.classList.toggle(Ri,e)}}function Hi(t){let e=Array.from(t.querySelectorAll("[data-fears-row]")).map(o=>Array.from(o.querySelectorAll("[data-fears-card]")).flatMap(c=>{let d=c.firstElementChild;return d?[{frame:c,inner:d}]:[]}));if(e.length===0)return;let r=t.querySelector('[data-fears-heading="fear"]'),n=t.querySelector('[data-fears-heading="promise"]'),i=matchMedia(_i),s=new Set,a=()=>{let o=!1;e.forEach((c,d)=>{let m=c.some(h=>s.has(h.frame));c.forEach((h,f)=>{let u=i.matches?m:s.has(h.frame);h.inner.classList.toggle(Ii,u),d===0&&f===0&&(o=u)})}),an(r,!o),an(n,o)},l=new IntersectionObserver(o=>{for(let c of o)c.isIntersecting?s.add(c.target):s.delete(c.target);a()},{rootMargin:Fi,threshold:0});for(let o of e)for(let c of o)l.observe(c.frame);i.addEventListener("change",a)}function on(){for(let t of Array.from(document.querySelectorAll("[data-fears]")))Hi(t)}var ki="(min-width: 1234px)";function Pi(t){let e=t.parentElement;if(e===null)return;let r=()=>{let n=`${Math.round(t.getBoundingClientRect().height)}px`;e.style.paddingTop=n,e.style.setProperty("--site-header-height",n),document.documentElement.style.setProperty("--site-header-height",n)};r(),new ResizeObserver(r).observe(t),window.addEventListener("resize",r)}var ln="insperia-header-banner-dismissed";function Di(t){let e=t.querySelector("[data-header-banner]");if(e===null)return;let r=()=>{e.classList.add("hidden")};try{sessionStorage.getItem(ln)==="1"&&r()}catch{}e.querySelector("[data-header-banner-dismiss]")?.addEventListener("click",()=>{r();try{sessionStorage.setItem(ln,"1")}catch{}})}var Vi="insperia-card-in-basket-";function qi(){let t=0;try{for(let e=0;e<localStorage.length;e+=1){let r=localStorage.key(e);r!==null&&r.startsWith(Vi)&&localStorage.getItem(r)==="true"&&(t+=1)}}catch{}return t}function Oi(t){let e=Array.from(t.querySelectorAll("[data-cart-badge]"));if(e.length===0)return;let r=-1,n=()=>{let i=qi();i!==r&&(r=i,e.forEach(s=>{s.textContent=i>9?"9+":String(i),s.classList.toggle("hidden",i===0),s.classList.toggle("inline-flex",i>0),s.parentElement?.querySelector("[aria-label]")?.setAttribute("aria-label",i===0?"\u041A\u043E\u0440\u0437\u0438\u043D\u0430":`\u041A\u043E\u0440\u0437\u0438\u043D\u0430, \u0442\u043E\u0432\u0430\u0440\u043E\u0432: ${i}`)}))};n(),setInterval(n,1e3)}function zi(t){let e=Array.from(t.querySelectorAll("[data-header-nav-trigger]"));if(e.length===0)return;let r=(o,c)=>{let d=o.parentElement?.querySelector("[data-header-nav-content]");o.dataset.state=c?"open":"closed",o.setAttribute("aria-expanded",String(c)),d!=null&&(d.dataset.state=c?"open":"closed",d.classList.toggle("hidden",!c))},n=0,i=()=>{window.clearTimeout(n)},s=()=>{i(),e.forEach(o=>{r(o,!1)})},a=()=>{i(),n=window.setTimeout(s,150)},l=o=>{i(),e.forEach(c=>{r(c,c===o)})};e.forEach(o=>{let c=o.parentElement;o.addEventListener("click",()=>{o.dataset.state==="open"?s():l(o)}),c!==null&&(c.addEventListener("pointerenter",()=>{l(o)}),c.addEventListener("pointerleave",a))}),document.addEventListener("keydown",o=>{o.key==="Escape"&&s()}),document.addEventListener("pointerdown",o=>{let c=o.target;c instanceof Node&&!t.contains(c)&&s()}),window.addEventListener("blur",s),document.addEventListener("visibilitychange",s)}function Ui(t){let e=document.querySelector("[data-header-menu]"),r=t.querySelector("[data-header-menu-open]");if(e===null||r===null)return;let n=document.documentElement,i=n.style.overflow,s=o=>{e.classList.toggle("hidden",!o),r.setAttribute("aria-expanded",String(o)),n.style.overflow=o?"hidden":i};r.addEventListener("click",()=>{s(!0)}),e.querySelector("[data-header-menu-close]")?.addEventListener("click",()=>{s(!1)}),document.addEventListener("keydown",o=>{o.key==="Escape"&&s(!1)});let a=window.matchMedia(ki),l=()=>{a.matches&&s(!1)};l(),a.addEventListener("change",l)}function Bi(){document.querySelectorAll("[data-header-grade-tabs]").forEach(t=>{let e=Array.from(t.querySelectorAll("[data-header-grade-tab]")),r=Array.from(t.querySelectorAll("[data-header-grade-panel]"));e.forEach(n=>
233{n.addEventListener("click",()=>{let i=n.dataset.headerGradeTab;e.forEach(s=>{let a=s===n;s.dataset.state=a?"on":"off",s.setAttribute("aria-pressed",String(a))}),r.forEach(s=>{s.classList.toggle("hidden",s.dataset.headerGradePanel!==i)})})})})}function cn(){let t=document.querySelector("header[data-home-chrome]")??document.querySelector("header");t!==null&&(Pi(t),Di(t),Oi(t),zi(t),Ui(t),Bi())}var Q={consentRequired:"\u041D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0441\u043E\u0433\u043B\u0430\u0441\u0438\u0435 \u043D\u0430 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0443 \u0434\u0430\u043D\u043D\u044B\u0445",gradeRequired:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043A\u043B\u0430\u0441\u0441",incomplete:"\u041D\u0435 \u0437\u0430\u043F\u043E\u043B\u043D\u0435\u043D\u044B \u0432\u0441\u0435 \u043D\u0443\u0436\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435",nameRequired:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0438\u043C\u044F",nameUnset:"\u041D\u0435 \u0443\u043A\u0430\u0437\u0430\u043D\u043E",phoneInvalid:"\u041D\u0435\u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u044B\u0439 \u043D\u043E\u043C\u0435\u0440 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430. \u041F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044E\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u0440\u043E\u0441\u0441\u0438\u0439\u0441\u043A\u0438\u0435 \u0438 \u0431\u0435\u043B\u043E\u0440\u0443\u0441\u0441\u043A\u0438\u0435 \u043D\u043E\u043C\u0435\u0440\u0430.",phoneRequired:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043D\u043E\u043C\u0435\u0440 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430",subject:"\u041D\u0435 \u0443\u043A\u0430\u0437\u0430\u043D\u043E"};function $(t,e){e?t.setAttribute("aria-invalid","true"):t.removeAttribute("aria-invalid")}var Ni="https://devinsperia.ru/new_call",hn="",un;function dn(t){let e=document.cookie.match(new RegExp("(^| )"+t+"=([^;]+)"));return e?decodeURIComponent(e[2]):null}async function Gi(t,e){let r=t.getPartnerParams(),n={phone:e.phone,class:e.class,yaId:await t.getClientId(),login_page:t.getReferrer(),...t.getUTMParams()},i=dn("admitad_uid"),s=dn("utm_source");return i!==null&&(n.admitad_uid=i),s!==null&&(n.utm_source=s),r.click_id!==null&&(n.click_id=r.click_id),r.click!==null&&(n.click=r.click),fetch(Ni,{body:JSON.stringify(n),headers:{"Content-Type":"application/json"},method:"POST"})}function Ye(t){t!==null&&(t.querySelectorAll("[data-lead-form-close]").forEach(e=>{e.addEventListener("click",()=>t.close())}),t.addEventListener("click",e=>{e.target===t&&t.close()}))}function Xi(t,e,r){if(t.dataset.leadFormReady==="1")return;t.dataset.leadFormReady="1";let n=t.querySelector(".vvodniy-urok__button"),i=t.querySelector('[name="name"]'),s=t.querySelector('[name="phone"]'),a=t.querySelector('select[name="student-class"]'),l=t.querySelector("[data-lead-form-consent]"),o=t.querySelector("[data-lead-form-status]");if(n===null||i===null||s===null||a===null||l===null||o===null)return;let c=o.querySelector("p"),d=n.textContent??"",m=u=>{c!==null&&(c.textContent=u),o.style.height=u===""?"0":"auto"};n.addEventListener("click",u=>{let p=String(h.phoneField.phone).length<=1,g=!l.checked,y=[];if(p&&y.push(Q.phoneRequired),g&&y.push(Q.consentRequired),$(s,p),$(l,g),$(i,!1),$(a,!1),y.length===0){i.value.trim()===""&&(i.value=Q.nameUnset);return}u.stopImmediatePropagation(),m(y.length>1?Q.incomplete:y[0])});let h=new VvodniyUrok(t);t.dataset.leadFormLayout==="modal"&&(h.sendToDevinsperia=u=>Gi(h,u));let f=t.querySelector(".input-subject-field__field-list-input");f!==null&&(f.textContent=Q.subject),n.addEventListener("click",()=>{if(h.sending){m("");return}let u=s.classList.contains("input-error");$(s,u),m(u?String(h.phoneField.phone).length>1?Q.phoneInvalid:Q.phoneRequired:"")}),h.toThanksPage=(u=!1)=>{if(u){let p=t.dataset.vuGoal||"send_request_for_lesson",g=t.dataset.ymSource||hn,y=t.dataset.ymSource?{...ae(t.dataset.ymParams)}:{...un},S=t.querySelector('select[name="student-class"]')?.value;t.dataset.ymSource&&S&&(y.grade=S),g&&(y.source=g),Y(p,Object.keys(y).length>0?y:void 0)}if(h.stopLoadingAnimation(),h.submitBtn.textContent=d,t.reset(),h.phoneField.setPhone(""),m(""),$(a,!1),$(l,!1),t.dataset.leadFormLayout==="modal"){t.closest("dialog")?.close(),r?.showModal();return}e?.showModal()}}function Wi(){try{return typeof(0,eval)("PhoneField1")=="function"}catch{return!1}}function Qe(){let t=document.querySelectorAll("[data-lead-form]");if(t.length===0)return;if(typeof VvodniyUrok>"u"||!Wi()){if(document.readyState==="complete"){console.error("\u041B\u0438\u0434-\u0444\u043E\u0440\u043C\u0430: VvodniyUrok \u0438\u043B\u0438 PhoneField \u043D\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u044B, \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u044F\u0442\u044C \u0437\u0430\u044F\u0432\u043A\u0443 \u043D\u0435\u0447\u0435\u043C");return}window.addEventListener("load",Qe,{once:!0});return}
233let e=document.querySelector("[data-lead-form-dialog]"),r=document.querySelector("[data-lead-form-booking]"),n=document.querySelector("[data-lead-form-success]");t.forEach(a=>Xi(a,r,n)),Ye(e),Ye(r),Ye(n);let i=e?document.getElementById(e.getAttribute("aria-labelledby")??""):null,s=i?.textContent??"";document.querySelectorAll("[data-lead-form-open]").forEach(a=>{a.addEventListener("click",l=>{l.preventDefault(),hn=a.dataset.ymSource??"",un=ae(a.dataset.ymParams),i&&(i.textContent=a.dataset.leadFormTitle||s),e?.showModal()})})}var Yi="(min-width: 1234px)";function Qi(){return typeof window.matchMedia=="function"&&window.matchMedia(Yi).matches}function $e(t){return t===void 0?"":typeof t=="string"?t:(Qi()?t.desktop:t.mobile)??t.mobile??t.desktop??""}function Z(t,e,r="100% 0px"){if(typeof IntersectionObserver>"u"){e();return}let n=new IntersectionObserver(i=>{i.some(s=>s.isIntersecting)&&(n.disconnect(),e())},{rootMargin:r});n.observe(t)}function xe(t){if(document.readyState==="complete"){t();return}window.addEventListener("load",t,{once:!0})}function q(t){let e=$e({mobile:t.dataset.srcMobile,desktop:t.dataset.srcDesktop})||t.dataset.src||"";return e===""?t.getAttribute("src")!==null:(t.getAttribute("src")!==e&&(t.src=e),!0)}var $i="(prefers-reduced-motion: reduce)";var ji=["absolute","top-0","left-0","h-full","will-change-transform"],Ki=["relative","size-full","justify-center"];function fn(){let t=document.querySelector("[data-path]");if(!t)return;let e=t.querySelector("[data-path-viewport]"),r=t.querySelector("[data-path-scroll]"),n=t.querySelector("[data-path-track]"),i=Array.from(t.querySelectorAll("[data-path-set]")),s=i[0];if(!e||!r||!n||!s)return;let a=!1,l=!1,o=!1,c=!1,d=!0,m=!1,h=0,f=0,u=0,p=0,g=0,y,S=()=>!a||l||o||c||!d,v=()=>{n.style.transform=`translate3d(${-h}px, 0, 0)`},T=()=>{u=s.scrollWidth,u>0&&(h%=u)},x=b=>{let C=Math.min(.064,(b-g)/1e3);g=b;let H=S()?0:28,V=1-Math.exp(-C/(400/1e3));f+=(H-f)*V,Math.abs(f)<.01&&H===0&&(f=0),u>0&&f!==0&&(h=(h+f*C)%u,h<0&&(h+=u)),v(),p=requestAnimationFrame(x)},M=()=>{p!==0&&(cancelAnimationFrame(p),p=0)},_=()=>{if(!d||m){M(),f=0,d||(h=0),v();return}p===0&&(g=performance.now(),p=requestAnimationFrame(x))},w=()=>{let b=s.scrollWidth>r.clientWidth;if(b!==d){d=b;for(let C of ji)n.classList.toggle(C,d);for(let C of Ki)n.classList.toggle(C,!d);for(let C of i.slice(1))C.classList.toggle("hidden",!d)}T(),_()},E=matchMedia($i),L=()=>{m=E.matches,_()};L(),E.addEventListener("change",L),new IntersectionObserver(([b])=>{a=b?.isIntersecting??!1},{threshold:.15}).observe(e);let F=new ResizeObserver(()=>{w()});F.observe(r),F.observe(s),e.addEventListener("mouseenter",()=>{d&&(l=!0)}),e.addEventListener("mouseleave",()=>{l=!1});let k=()=>{clearTimeout(y),y=void 0};e.addEventListener("touchstart",()=>{d&&(k(),l=!1,o=!0)},{passive:!0});let A=()=>{d&&(k(),y=setTimeout(()=>{o=!1,y=void 0},400))};e.addEventListener("touchend",A,{passive:!0}),e.addEventListener("touchcancel",A,{passive:!0});for(let b of t.querySelectorAll("[data-path-subject]"))b.addEventListener("change",()=>{h=0,f=0,v(),w()});Zi(t,b=>{c=b}),w()}function Zi(t,e){let r=t.querySelector("[data-path-video]"),n=t.querySelector("[data-path-video-player]"),i=t.querySelector("[data-path-video-title]"),s=t.querySelector("[data-path-video-description]");if(!(!r||!n)){for(let a of t.querySelectorAll("[data-path-video-open]"))a.addEventListener("click",()=>{let l=a.dataset.pathVideoSrc??"";l!==""&&(i&&(i.textContent=a.dataset.pathVideoName??""),s&&(s.textContent=a.dataset.pathVideoBadge??""),n.poster=a.dataset.pathVideoPoster??"",n.src=l,n.currentTime=0,n.muted=!1,r.showModal(),e(!0),n.play().catch(()=>{}))});r.addEventListener("click",a=>{a.target===r&&r.close()}),r.addEventListener("close",()=>{n.pause(),e(!1)})}}var Ji=[["days",864e5,1/0],["hours",36e5,24],["minutes",6e4,60],["seconds",1e3,60]];function es(t){let e=Number(t.dataset.promoTimer)*1e3,r=Math.max(0,e-Date.now());if(r===0){t.style.display="none";return}for(let[n,i,s]of Ji){let a=t.querySelectorAll(`[data-promo-unit="${n}"] [data-promo-digit]`),l=Math.min(99,Math.floor(r/i)%s),o=String(l).padStart(2,"0");a.forEach((c,d)=>{c.textContent=o[d]??"0"})}}function mn(){let t=Array.from(document.querySelectorAll("[data-promo-timer]"));if(t.length===0)return;let e=()=>t.forEach(es);e(),window.setInterval(e,1e3)}var ts="-50% 0px -49% 0px",rs=["pointer-events-none","opacity-0"];function pn(){let t=document.querySelector("[data-floating-cta-range]"),e=document.querySelector("[data-floating-cta-bar]");
233if(!t||!e)return;new IntersectionObserver(([n])=>{let i=n?.isIntersecting??!1;for(let s of rs)e.classList.toggle(s,!i);for(let s of[e,document.documentElement])i?s.setAttribute("data-floating-cta","visible"):s.removeAttribute("data-floating-cta")},{rootMargin:ts,threshold:0}).observe(t)}var yn="(prefers-reduced-motion: reduce)",En="(width < 1234px)",ns=6e3,is=80,ss=.18,gn="--results-mobile-dim-opacity";function je(t){return Math.min(1,Math.max(0,t))}function as(t){let e=t.querySelector("[data-results-showcase]"),r=Array.from(t.querySelectorAll("[data-results-step]")),n=Array.from(t.querySelectorAll("[data-results-video]")),i=t.querySelector("[data-results-indicator]"),s=t.querySelector("[data-results-indicator-fill]"),a=t.querySelector("[data-results-media]");if(!e||r.length===0)return;let l=a?.dataset.resultsMedia??"",o=matchMedia(En),c=0,d=1,m=null,h=null,f=!1,u=document.visibilityState==="visible",p=!1,g=!1,y=0,S=null,v=0,T=0,x=()=>h===c||m===c;function M(){s&&(s.style.transform=`scaleY(${d})`)}function _(){r.forEach((b,C)=>{let H=C===c,V=b.querySelector("[data-results-trigger]"),G=b.querySelector("[data-results-panel]");H?b.setAttribute("aria-current","step"):b.removeAttribute("aria-current"),V?.setAttribute("aria-expanded",String(H)),G?.setAttribute("data-state",H?"open":"closed"),G?.setAttribute("aria-hidden",String(!H)),H&&i&&i.parentElement!==b&&b.insertBefore(i,V?.nextSibling??null)}),n.forEach((b,C)=>{let H=C===c;b.classList.toggle("z-10",H),b.classList.toggle("z-0",!H),b.classList.toggle("opacity-100",H),b.classList.toggle("opacity-0",!H),b.setAttribute("aria-hidden",String(!H)),H?b.setAttribute("aria-label",l):b.removeAttribute("aria-label")})}function w(){y=0,S=null,d=1,M()}function E(){window.clearTimeout(T),g=p,n.forEach(C=>{C.pause()});let b=n[c];b&&(b.currentTime=0),!p&&(T=window.setTimeout(()=>{g=!0,L()},is))}function L(){let b=n[c];if(b&&(!u||!f||p||x()||!g?b.pause():!o.matches&&q(b)&&b.play().catch(()=>{})),u&&f&&g&&!p){v||(S=null,v=requestAnimationFrame(k));return}v&&(cancelAnimationFrame(v),v=0)}function I(b){w(),c=b,_(),E(),L()}function F(){I((c+1)%r.length)}function k(b){v=0;let C=n[c],H=C?C.duration:Number.NaN,V=!!C?.currentSrc&&Number.isFinite(H)&&H>0&&!C?.paused;if(x())S=b;else if(V&&C)d=je(1-C.currentTime/H),M();else if(S!==null&&(y+=b-S),d=je(1-y/ns),M(),d===0){F();return}S=b,v=requestAnimationFrame(k)}r.forEach((b,C)=>{let H=b.querySelector("[data-results-trigger]");b.addEventListener("mouseenter",()=>{m=C,L()}),b.addEventListener("mouseleave",()=>{m===C&&(m=null),L()}),H?.addEventListener("click",()=>{I(C)}),H?.addEventListener("focus",()=>{H.matches(":focus-visible")&&(h=C,L())}),H?.addEventListener("blur",()=>{h===C&&(h=null),L()})}),n.forEach((b,C)=>{b.addEventListener("ended",()=>{C===c&&F()})}),document.addEventListener("visibilitychange",()=>{u=document.visibilityState==="visible",L()});let A=matchMedia(yn);A.addEventListener("change",()=>{w(),p=A.matches,E(),L()}),new IntersectionObserver(([b])=>{f=b?.isIntersecting??!1,f||(m=null),L()}).observe(e),p=A.matches,_(),M(),E(),L()}function os(t){let e=Array.from(t.querySelectorAll("[data-results-card]"));if(e.length===0)return;let r=e.map(m=>m.querySelector("[data-results-dim]")),n=matchMedia(En),i=matchMedia(yn),s=0,a=!1;function l(){s=0,e.forEach((m,h)=>{let f=r[h],u=e[h+1];if(!f)return;let p=0;if(u){let g=m.getBoundingClientRect(),y=u.getBoundingClientRect(),S=g.height||1,v=je((S-(y.top-g.top))/S);p=ss*v}f.style.setProperty(gn,String(p))})}function o(){s||(s=requestAnimationFrame(l))}function c(){if(n.matches&&!i.matches){a||(window.addEventListener("scroll",o,{passive:!0}),window.addEventListener("resize",o),a=!0),o();return}a&&(window.removeEventListener("scroll",o),window.removeEventListener("resize",o),a=!1),s&&(cancelAnimationFrame(s),s=0),r.forEach(m=>{m?.style.setProperty(gn,"0")})}function d(){let m=Array.from(t.querySelectorAll("[data-results-mobile-video]"));if(m.length===0)return;let h=new WeakSet,f=g=>{if(!(h.has(g)&&n.matches&&!i.matches&&document.visibilityState==="visible")){g.pause();return}q(g),g.play().catch(()=>{})},u=()=>{m.forEach(f)},p=new IntersectionObserver(g=>{g.forEach(y=>{let S=y.target;y.isIntersecting?h.add(S):h.delete(S),f(S)})},{threshold:.35});m.forEach(g=>{p.observe(g)}),document.addEventListener("visibilitychange",u),n.addEventListener("change",u),i.addEventListener("change",u)}n.addEventListener("change",c),i.addEventListener("change",c),c(),d()}function xn(){let t=document.querySelector("[data-results]");t&&(as(t),os(t))}var ls="--fears-mobile-card-opacity";function vn(t){return Math.min(1,Math.max(0,t))}function cs(t,e){return(t%e+e)%e}function ds(t){let e=t.querySelector("[data-rus-ege-fears-inner]"),r=t.querySelector("[data-rus-ege-fears-prev]"),n=t.querySelector("[data-rus-ege-fears-next]");if(!e||!r||!n)return;let i=Array.from(t.querySelectorAll("[data-rus-ege-fears-step]")),s=Array.from(t.querySelectorAll("[data-rus-ege-fears-slot]")),a=Array.from(t.querySelectorAll("[data-rus-ege-fears-card]")),l=0,o=0;function c(f){l=f;let u=cs(l,s.length);e.style.transform=`rotateY(${l*180}deg)`;for(let p of i){let g=Number(p.dataset.rusEgeFearsStep);g%2===u%2&&p.classList.toggle("hidden",g!==u)}s.forEach((p,g)=>{let y=g===u;p.classList.toggle("opacity-100",y),p.classList.toggle("delay-500",y),p.classList.toggle("pointer-events-none",!y),p.classList.toggle("opacity-0",!y),y?p.removeAttribute("aria-hidden"):p.setAttribute("aria-hidden","true")})}r.addEventListener("click",()=>c(l-1)),n.addEventListener("click",()=>c(l+1));function d(){a.forEach((f,u)=>{let p=a[u+1],g=0;if(p){let y=f.getBoundingClientRect(),S=y.height||1;g=vn((S-(p.getBoundingClientRect().top-y.top))/S)}f.style.setProperty(ls,String(1-vn(g/.775)))})}function m(){o=0,a[0]?.offsetParent&&d()}function h(){o||(o=requestAnimationFrame(m))}window.addEventListener("scroll",h,{passive:!0}),window.addEventListener("resize",h,{passive:!0}),h()}function Mn(){for(let t of Array.from(document.querySelectorAll("[data-rus-ege-fears]")))ds(t)}function Ln(){let t=document.querySelector("#rus-ege-hero-video");t!==null&&(window.matchMedia("(prefers-reduced-motion: reduce)").matches||xe(()=>{Z(t,()=>{q(t)&&t.play().catch(()=>{})},"0px")}))}var Sn="(prefers-reduced-motion: reduce)",hs="(width < 1234px)",us=6e3,fs=80;function ms(t){let e=t.querySelector("[data-rus-ege-platform-tabs]"),r=Array.from(t.querySelectorAll("[data-rus-ege-platform-tab]")),n=Array.from(t.querySelectorAll("[data-rus-ege-platform-video]")),i=t.querySelector("[data-rus-ege-platform-media]");if(!e||r.length===0||n.length!==r.length)return;let s=i?.dataset.rusEgePlatformMedia??"",a=matchMedia(Sn),l=!1,o=document.visibilityState==="visible",c=a.matches,d=!1,m=0,h=null,f=0,u=0;function p(){let w=r.findIndex(E=>E.checked);return w===-1?0:w}function g(){let w=r[p()];return w?w.matches(":focus-visible")||!!w.closest("label")?.matches(":hover"):!1}function y(){let w=p();
233n.forEach((E,L)=>{let I=L===w;E.setAttribute("aria-hidden",String(!I)),I?E.setAttribute("aria-label",s):E.removeAttribute("aria-label")})}function S(){window.clearTimeout(u),m=0,h=null,d=c,n.forEach(E=>{E.pause()});let w=n[p()];w&&(w.currentTime=0),!c&&(u=window.setTimeout(()=>{d=!0,T()},fs))}function v(){let w=n[p()];if(!w)return;o&&l&&d&&!c&&!g()?w.paused&&q(w)&&w.play().catch(()=>{}):w.paused||w.pause()}function T(){let w=o&&l&&d&&!c;if(v(),w){f||(h=null,f=requestAnimationFrame(_));return}f&&(cancelAnimationFrame(f),f=0)}function x(){y(),S(),T()}function M(w){let E=r[w];E&&(E.checked=!0,x())}function _(w){f=0,v();let E=n[p()],L=E?E.duration:Number.NaN;if(!(Number.isFinite(L)&&L>0&&!E?.paused)&&!g()&&(h!==null&&(m+=w-h),m>=us)){M((p()+1)%r.length);return}h=w,f=requestAnimationFrame(_)}e.addEventListener("change",x),["mouseover","mouseout","focusin","focusout"].forEach(w=>{e.addEventListener(w,T)}),n.forEach((w,E)=>{w.addEventListener("ended",()=>{E===p()&&M((E+1)%r.length)})}),document.addEventListener("visibilitychange",()=>{o=document.visibilityState==="visible",T()}),a.addEventListener("change",()=>{c=a.matches,x()}),new IntersectionObserver(([w])=>{l=w?.isIntersecting??!1,T()}).observe(t),x()}function ps(t){let e=Array.from(t.querySelectorAll("[data-rus-ege-platform-mobile-video]"));if(e.length===0)return;let r=matchMedia(hs),n=matchMedia(Sn),i=new WeakSet;function s(o){if(!(i.has(o)&&r.matches&&!n.matches&&document.visibilityState==="visible")){o.pause();return}let d=o.dataset.src;d&&(delete o.dataset.src,o.src=d),o.play().catch(()=>{})}function a(){e.forEach(s)}let l=new IntersectionObserver(o=>{o.forEach(c=>{let d=c.target;c.isIntersecting?i.add(d):i.delete(d),s(d)})},{threshold:.35});e.forEach(o=>{l.observe(o)}),document.addEventListener("visibilitychange",a),r.addEventListener("change",a),n.addEventListener("change",a)}function wn(){let t=document.querySelector('[data-rus-ege-section="platform"]');if(!t)return;let e=t.querySelector("[data-rus-ege-platform]");e&&ms(e),ps(t)}var gs=.18;function Tn(){let t=Array.from(document.querySelectorAll("[data-rus-ege-platform-card]"));if(t.length===0)return;let e=t.map(s=>s.querySelector("[data-rus-ege-platform-dim]")),r=null,n=()=>{r=null,t.forEach((s,a)=>{let l=e[a],o=t[a+1];if(!l)return;let c=0;if(o){let d=s.getBoundingClientRect(),m=o.getBoundingClientRect(),h=d.height||1;c=Math.min(1,Math.max(0,(h-(m.top-d.top))/h))}l.style.setProperty("--platform-mobile-dim-opacity",String(gs*c))})},i=()=>{r===null&&(r=requestAnimationFrame(n))};window.addEventListener("scroll",i,{passive:!0}),window.addEventListener("resize",i,{passive:!0}),n()}function bn(){let t=document.querySelector("[data-rus-ege-tariffs-track]");if(t===null)return;let e=t.scrollWidth-t.clientWidth;if(e<=0)return;let r=t.children[Math.floor(t.children.length/2)];if(!(r instanceof HTMLElement))return;let n=t.getBoundingClientRect(),i=r.getBoundingClientRect(),s=t.scrollLeft+(i.left-n.left)+i.width/2;t.scrollLeft=Math.max(0,Math.min(s-t.clientWidth/2,e))}function An(){document.addEventListener("click",t=>{let e=t.target;if(!(e instanceof Element))return;let r=e.closest("[data-scroll-to]");if(r===null)return;let n=document.getElementById(r.dataset.scrollTo??"");if(n===null)return;if(t.preventDefault(),window.matchMedia("(prefers-reduced-motion: reduce)").matches){n.scrollIntoView();return}let i=window.scrollY;n.scrollIntoView({behavior:"smooth"}),window.setTimeout(()=>{window.scrollY===i&&n.scrollIntoView()},120)})}function ys(t,e){return(t%e+e)%e}function Fn(t,e,r){return ys(t-e+2,r)-2}function _n(){let t=document.querySelector("[data-steps]");if(!t)return;let e=Array.from(t.querySelectorAll("[data-steps-slide]")),r=t.querySelector("[data-steps-prev]"),n=t.querySelector("[data-steps-next]"),i=t.querySelector("[data-steps-viewport]");if(e.length===0)return;let s=0,a=0,l=()=>{let c=e.length;e.forEach((d,m)=>{let h=Fn(m,s,c),f=Fn(m,a,c);d.style.setProperty("--slot",String(h)),d.style.zIndex=String(c-Math.abs(h)),d.classList.toggle("transition-none",Math.abs(h-f)>1)})},o=c=>{a=s,s+=c,l()};if(r?.addEventListener("click",()=>o(-1)),n?.addEventListener("click",()=>o(1)),i){let c;i.addEventListener("pointerdown",d=>{c={x:d.clientX,y:d.clientY}}),i.addEventListener("pointerup",d=>{if(c===void 0)return;let m=d.clientX-c.x,h=d.clientY-c.y;c=void 0,Math.abs(m)>=45&&Math.abs(m)>Math.abs(h)&&o(m<0?1:-1)}),i.addEventListener("pointercancel",()=>{c=void 0})}l()}var ve={play:"\u0412\u043E\u0441\u043F\u0440\u043E\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0432\u0438\u0434\u0435\u043E",pause:"\u041F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0432\u0438\u0434\u0435\u043E \u043D\u0430 \u043F\u0430\u0443\u0437\u0443",mute:"\u0412\u044B\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0437\u0432\u0443\u043A",unmute:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0437\u0432\u0443\u043A"};function Ke(t){if(!Number.isFinite(t)||t<=0)return"00:00";let e=Math.floor(t),r=Math.floor(e/60),n=e%60;return`${String(r).padStart(2,"0")}
233:${String(n).padStart(2,"0")}`}function Me(t){let e=t.querySelector("[data-video-player]");if(e===null)return;let r=t.querySelector("video"),n=e.querySelector("[data-video-player-time]"),i=e.querySelector("[data-video-player-seek]"),s=e.querySelector("[data-video-player-progress]"),a=e.querySelector("[data-video-player-mute]");if(r===null||n===null||i===null||s===null||a===null)return;let l=a.querySelector("[data-video-player-icon='on']"),o=a.querySelector("[data-video-player-icon='off']"),c=()=>{let u=Number.isFinite(r.duration)?r.duration:0,p=u>0;n.textContent=Ke(u),i.disabled=!p,i.max=String(p?u:1)},d=()=>{let u=Number.isFinite(r.duration)?r.duration:0;if(u<=0){s.style.width="0%",i.value="0";return}let p=Math.min(r.currentTime,u);s.style.width=`${Math.min(p/u*100,100)}%`,i.value=String(p),i.setAttribute("aria-valuetext",`${Ke(p)} / ${Ke(u)}`)},m=()=>{let u=r.muted||r.volume===0;a.setAttribute("aria-label",u?ve.unmute:ve.mute),l?.toggleAttribute("hidden",u),o?.toggleAttribute("hidden",!u)},h=()=>{r.setAttribute("aria-label",r.paused?ve.play:ve.pause)},f=()=>{if(r.paused){r.play().catch(()=>{});return}r.pause()};r.addEventListener("click",f),r.addEventListener("keydown",u=>{u.key!=="Enter"&&u.key!==" "||(u.preventDefault(),f())}),r.addEventListener("durationchange",c),r.addEventListener("loadedmetadata",c),r.addEventListener("timeupdate",d),r.addEventListener("play",h),r.addEventListener("pause",h),r.addEventListener("volumechange",m),r.addEventListener("emptied",()=>{c(),d()}),i.addEventListener("input",()=>{let u=i.valueAsNumber;Number.isFinite(u)&&(r.currentTime=u,d())}),a.addEventListener("click",()=>{if(r.muted||r.volume===0){r.volume===0&&(r.volume=1),r.muted=!1;return}r.muted=!0}),c(),d(),m(),h()}var In="russian";function Ze(t,e){t.style.display=e?"":"none"}function Je(t){return t.find(e=>e.checked)?.value??""}function Cn(){let t=document.querySelector("[data-teachers]");if(!t)return;let e=Array.from(t.querySelectorAll("[data-teachers-card]")),r=Array.from(t.querySelectorAll("input[data-teachers-grade]")),n=Array.from(t.querySelectorAll("input[data-teachers-subject]")),i=Array.from(t.querySelectorAll("input[data-teachers-teacher-pick]"));if(e.length===0||r.length===0)return;let s={};try{s=JSON.parse(t.dataset.teachersDates??"{}")}catch{}let a=new Map,l=[];for(let h of e){for(let u of(h.dataset.teachersCard??"").split(" "))u!==""&&a.set(u,[...a.get(u)??[],h]);Me(h);let f=h.querySelector("[data-teachers-video]");if(f!==null){let u={};try{u=JSON.parse(f.dataset.teachersVideoSources??"{}")}catch{}l.push({card:h,sources:u,video:f})}}let o=Je(i),c=!1,d=()=>{let h=n.find(f=>f.value===In);h!==void 0&&(h.checked=!0)},m=()=>{let h=Je(r),f=Je(n);if(!a.has(`${h}:${f}`)){let x=n.find(M=>M.value===In);if(x===void 0)return;x.checked=!0,f=x.value}let u=`${h}:${f}`,p=a.get(u)??[],g=p.length>1,y=g?p.find(x=>x.dataset.teachersTeacher===o)??p[0]:p[0];if(y===void 0)return;for(let x of e){Ze(x,x===y);let M=x.querySelector("[data-teachers-chips]");M!==null&&Ze(M,x===y&&g)}if(g){let x=y.dataset.teachersTeacher??"";for(let M of i)M.checked=M.value===x}for(let x of l){if(!(x.card===y)){x.video.pause(),x.video.currentTime=0;continue}if(!c)continue;let _=x.sources[u],w=$e(_);_?.poster&&x.video.poster!==_.poster&&(x.video.poster=_.poster),w&&x.video.src!==w&&(x.video.src=w,x.video.load()),x.video.muted=!0,x.video.currentTime=0,x.video.play().catch(()=>{})}let S=y.querySelector("[data-teachers-course]");if(S!==null){for(let x of(S.dataset.teachersCourse??"").split(" ")){let M=x.indexOf("=");M!==-1&&x.slice(0,M)===u&&S.setAttribute("href",x.slice(M+1))}try{let x=JSON.parse(S.dataset.teachersCourseGoals??"{}");x[u]!==void 0&&(S.dataset.ymParams=JSON.stringify(x[u]))}catch{}}let v=y.querySelector("[data-teachers-date]"),T=s[g?`${u}@${y.dataset.teachersTeacher??""}`:u];v!==null&&T!==void 0&&(v.textContent=T);for(let x of n){let M=x.closest("label");M!==null&&Ze(M,a.has(`${h}:${x.value}`))}};t.addEventListener("change",h=>{let f=h.target;if(f.matches("[data-teachers-grade]"))d();else if(f.matches("[data-teachers-teacher-pick]"))o=f.value;else if(!f.matches("[data-teachers-subject]"))return;m()}),m(),Z(t,()=>{c=!0,m()})}var et='[data-rus-ege-section="teacher"], [data-teacher-video]';function Rn(){document.querySelectorAll(et).forEach(Es)}function Es(t){Me(t);let e=t.querySelector("video");if(e===null)return;if(t.hasAttribute("data-teacher-video")){let o=()=>{e.videoWidth>0&&e.videoHeight>0&&(t.style.aspectRatio=`${e.videoWidth} / ${e.videoHeight}`)};e.addEventListener("loadedmetadata",o),o()}let r=o=>{e.muted&&(o.preventDefault(),o.stopImmediatePropagation(),e.muted=!1,e.volume===0&&(e.volume=1),e.paused&&e.play().catch(()=>{}))};if(e.addEventListener("click",r,!0),e.addEventListener("keydown",o=>{(o.key==="Enter"||o.key===" ")&&r(o)},!0),window.matchMedia("(prefers-reduced-motion: reduce)").matches)return;let i=!1,s=!1,a=()=>{!i||s||e.play().catch(()=>{})};e.addEventListener("canplay",a),e.addEventListener("loadeddata",a),e.addEventListener("pause",()=>{i&&(s=!0)}),e.addEventListener("play",()=>{s=!1}),new IntersectionObserver(([o])=>{if(i=o.isIntersecting,!i){e.pause();return}q(e),a()},{threshold:.4}).observe(t)}var xs=630,vs=300,Hn=240,Ms=450,j={intoCenter:"cubic-bezier(0, 0, 0.2, 1)",outOfCenter:"cubic-bezier(0.4, 0, 1, 1)",lateral:"cubic-bezier(0.4, 0, 0.2, 1)",arc:"cubic-bezier(0.45, 0, 0.55, 1)",easeIn:"cubic-bezier(0.42, 0, 1, 1)",easeOut:"cubic-bezier(0, 0, 0.58, 1)"},O=-50,z=-50,Ls={slots:[{x:O+74,y:z-30,scale:.8,rotate:4,dim:.6,z:2},{x:O+41,y:z-12,scale:.9,rotate:2,dim:.4,z:3},{x:O,y:z,scale:1,rotate:0,dim:0,z:4},{x:O-41,y:z-12,scale:.9,rotate:-2,dim:.4,z:3},{x:O-74,y:z-30,scale:.8,rotate:-4,dim:.6,z:2}
233],parked:{x:O,y:z-25,scale:.68,rotate:0,dim:.7,z:1}},Ss={slots:[{x:O+30,y:z,scale:.901,rotate:3,dim:.45,z:2},{x:O,y:z,scale:1,rotate:0,dim:0,z:3},{x:O-30,y:z,scale:.901,rotate:-3,dim:.45,z:2}],parked:{x:O,y:z-30,scale:.7,rotate:0,dim:.7,z:1}},ws="(min-width: 1025px)",Ts=45,kn=10,bs="\u0412\u044B\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0437\u0432\u0443\u043A",As="\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0437\u0432\u0443\u043A";function Pn(t,e){return(t%e+e)%e}function Fs(t,e,r){let n=t<r,i=e<r;if(n!==i)return j.arc;if(!i)return j.lateral;let s=Math.floor(r/2);return e===s?j.intoCenter:t===s?j.outOfCenter:j.lateral}function _s(t){let e=Array.from(t.querySelectorAll("[data-vt-card]")),r=Array.from(t.querySelectorAll("[data-vt-label]")),n=t.querySelector("[data-vt-mute]"),i=t.querySelector("[data-vt-frame]")??t;if(e.length===0)return;let s=e.map(E=>({figure:E,video:E.querySelector("[data-vt-video]"),dim:E.querySelector("[data-vt-dim]"),icon:E.querySelector("[data-vt-mute-icon]"),iconOn:E.querySelector("[data-vt-mute-state='on']"),iconOff:E.querySelector("[data-vt-mute-state='off']"),labels:Is(E.dataset.vtLabels)}
233)),a=window.matchMedia(ws),l=0,o=0,c=0,d=!0,m=!1,h=!1,f=0,u,p;function g(){let E=a.matches?Ls:Ss,L=E.slots.length,I=Math.floor(L/2);s.forEach((F,k)=>{let A=J=>Pn(I-k+J,s.length),b=A(l),C=A(o),H=E.slots[b]??E.parked,V=E.slots[A(c)]??E.parked,G=b<L,U=b===I;F.figure.style.transitionTimingFunction=Fs(C,b,L),F.figure.style.transform=`translate(${H.x}%, ${H.y}%) scale(${H.scale}) rotate(${H.rotate}deg)`,F.figure.style.opacity=G?"1":"0",F.figure.style.zIndex=String(V.z),F.dim&&(F.dim.style.opacity=String(H.dim)),F.icon&&F.icon.classList.toggle("hidden",!U),F.iconOn&&F.iconOn.toggleAttribute("hidden",d),F.iconOff&&F.iconOff.toggleAttribute("hidden",!d),F.video&&(F.video.style.opacity=U?"1":"0",F.video.muted=d,U&&m&&h&&q(F.video)?(F.video.preload="auto",Dn(F.video)):F.video.pause())}),n&&(n.textContent=d?As:bs)}function y(E){s.length<2||Date.now()<f||(f=Date.now()+xs,o=l,l=Pn(l+E,s.length),c=o,clearTimeout(u),u=setTimeout(()=>{c=l,g()},vs),S(s[l].labels),g())}function S(E){clearTimeout(p),r.forEach(L=>{L.style.transitionDuration=`${Hn}ms`,L.style.transitionTimingFunction=j.easeIn,L.style.opacity="0",L.style.translate="0 -8px"}),p=setTimeout(()=>{r.forEach((L,I)=>{let F=E[I]??"";L.textContent=F,L.style.display=F===""?"none":"",L.style.transitionProperty="none",L.style.translate="0 12px"}),r[0]?.offsetWidth,requestAnimationFrame(()=>{r.forEach(L=>{L.style.transitionProperty="",L.style.transitionDuration=`${Ms}ms`,L.style.transitionTimingFunction=j.easeOut,L.style.opacity="1",L.style.translate="0 0"})})},Hn)}function v(){d=!d,g()}let T=0,x=0,M,_=!1;t.addEventListener("pointerdown",E=>{E.target.closest("[data-vt-mute]")||(t.setPointerCapture(E.pointerId),_=!0,M=void 0,T=E.clientX,x=E.clientY)}),t.addEventListener("pointermove",E=>{if(!_)return;let L=E.clientX-T,I=E.clientY-x;!M&&(Math.abs(L)>kn||Math.abs(I)>kn)&&(M=Math.abs(L)>Math.abs(I)?"x":"y"),M==="x"&&E.cancelable&&E.preventDefault()}),t.addEventListener("pointerup",E=>{if(!_)return;_=!1;let L=E.clientX-T;M==="x"&&Math.abs(L)>=Ts?y(L<0?1:-1):M||v()}),t.addEventListener("pointercancel",()=>{_=!1}),t.addEventListener("keydown",E=>{E.key==="ArrowRight"?(E.preventDefault(),y(1)):E.key==="ArrowLeft"&&(E.preventDefault(),y(-1))}),n?.addEventListener("click",v),s.forEach((E,L)=>{E.video?.addEventListener("ended",()=>{L===l&&y(1)}),E.video?.addEventListener("canplay",()=>{m&&L===l&&E.video&&Dn(E.video)})}),xe(()=>{h=!0,g()}),new IntersectionObserver(E=>{m=E[0]?.isIntersecting??!1,g()},{threshold:.3}).observe(i),a.addEventListener("change",g);let w=[...e,...s.map(E=>E.dim)];w.forEach(E=>{E&&(E.style.transitionProperty="none")}),g(),t.offsetHeight,w.forEach(E=>{E&&(E.style.transitionProperty="")})}function Is(t){if(!t)return[];try{let e=JSON.parse(t);return Array.isArray(e)?e.map(String):[]}catch{return[]}}function Dn(t){t.ended&&(t.currentTime=0),t.play().catch(()=>{})}function Vn(){document.querySelectorAll("[data-video-testimonials]").forEach(_s)}var Cs=[["header",cn,"now"],["cookieConsent",sn,"now"],["deformationSurfaces",Wr,"now"],["floatingCta",pn,"now"],["promoTimer",mn,"now"],["scroll",An,"now"],["leadForm",Qe,"now"],["metrikaGoals",Kr,"now"],["catalogHeroMedia",Qr,"now"],["chatButton",en,"chat"],["chatWidgetStyles",rn,"chat"],["videoTestimonials",Vn,{near:"[data-video-testimonials]"}],["fears",on,{near:"[data-fears]"}],["teachers",Cn,{near:"[data-teachers]"}],["results",xn,{near:"[data-results]"}],["path",fn,{near:"[data-path]"}],["steps",_n,{near:"[data-steps]"}],["rusEgeHero",Ln,{near:"#rus-ege-hero-video"}],["rusEgeFears",Mn,{near:"[data-rus-ege-fears]"}],["rusEgePlatform",wn,{near:'[data-rus-ege-section="platform"]'}],["rusEgePlatformDim",Tn,{near:"[data-rus-ege-platform-card]"}],["teacherVideos",Rn,{near:et}],["rusEgeTariffs",bn,{near:"[data-rus-ege-tariffs-track]"}]];function tt(t,e){try{e()}catch(r){console.error(`[home] ${t} \u043D\u0435 \u043F\u043E\u0434\u043D\u044F\u043B\u0441\u044F:`,r)}}function qn(){for(let[t,e,r]of Cs)if(r==="now")tt(t,e);else if(r==="chat")oe(()=>tt(t,e));else{let n=document.querySelectorAll(r.near),i=!1;n.forEach(s=>{Z(s,()=>{i||(i=!0,tt(t,e))})})}}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",qn,{once:!0}):qn();})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.