0x122cdf09…f8b5sent to0x99a9b7c1…b069·#16,578,512·view on Etherscan
function n(n){return n&&n.__esModule?n.default:n}const e=(n,e,r)=>{const t=n.createShader(r);if(n.shaderSource(t,e),n.compileShader(t),!n.getShaderParameter(t,n.COMPILE_STATUS)){const e=n.getShaderInfoLog(t);throw new Error(e)}return t},r=(n,r,t,o)=>{const a=e(n,r,n.VERTEX_SHADER),i=e(n,t,n.FRAGMENT_SHADER),s=n.createProgram();if(n.attachShader(s,a),n.attachShader(s,i),o){const e=[];for(let n in o)e.push(o[n].varying);n.transformFeedbackVaryings(s,e,n.SEPARATE_ATTRIBS)}if(n.linkProgram(s),!n.getProgramParameter(s,n.LINK_STATUS)){const e=n.getProgramInfoLog(s);throw new Error(e)}return s},t=(n,e)=>{const r=n.getProgramParameter(e,n.ACTIVE_UNIFORMS),t={};for(let o=0;o<r;o++){const{name:r,type:a}=n.getActiveUniform(e,o);t[r]={location:n.getUniformLocation(e,r),type:a}}return t},o=(n,e,r=n.STATIC_DRAW,t=n.ARRAY_BUFFER)=>{const o=n.createBuffer();return n.bindBuffer(t,o),n.bufferData(t,e,r),o},a=(n,e,r)=>{if(!r)return null;const t=n.createVertexArray(),a=Object.keys(r);n.bindVertexArray(t);for(let t=0;t<a.length;t++){let{size:i=1,type:s=n.FLOAT,normalize:d=!1,stride:u=0,offset:f=0,buffer:c,data:l,usage:m=n.STATIC_DRAW,buffertype:v=n.ARRAY_BUFFER}=r[a[t]];l&&!c&&(c=o(n,l,m,v)),n.bindAttribLocation(e,t,a[t]),n.enableVertexAttribArray(t),n.bindBuffer(n.ARRAY_BUFFER,c),n.vertexAttribPointer(t,i,s,d,u,f)}return t},i=(n,e,r)=>{if(!r)return null;const t=[n.createVertexArray(),n.createVertexArray()],a=[n.createTransformFeedback(),n.createTransformFeedback()],i=[],s=Object.keys(r);return t.forEach(((t,d)=>{n.bindVertexArray(t);const u=[],f={};for(let t=0;t<s.length;t++){let{size:a=1,type:i=n.FLOAT,normalize:d=!1,stride:c=0,offset:l=0,buffer:m,data:v,usage:_=n.STATIC_DRAW,buffertype:p=n.ARRAY_BUFFER}=r[s[t]];v&&!m&&(m=o(n,v,_,p)),f[s[t]]={i:t,buffer:m},n.bindAttribLocation(e,t,s[t]),n.enableVertexAttribArray(t),n.bindBuffer(n.ARRAY_BUFFER,m),n.vertexAttribPointer(t,a,i,d,c,l),u.push(m)}n.bindBuffer(n.ARRAY_BUFFER,null),n.bindTransformFeedback(n.TRANSFORM_FEEDBACK,a[d]),u.forEach(((e,r)=>{n.bindBufferBase(n.TRANSFORM_FEEDBACK_BUFFER,r,e)})),n.bindVertexArray(null),i.push(f)})),{vaos:t,tfbs:a,tfbBuffers:i}},s=(n,{vert:e,frag:o,attributes:s,transformFeedbacks:d,count:u,offset:f=0,mode:c=n.TRIANGLES}={})=>{const l=r(n,e,o,d),m=t(n,l),v=a(n,l,s),_=i(n,l,d);let p=0;return{uniforms:m,bindUniform(e,r){if(void 0===r)return;if(!m[e])return;const{type:t,location:o}=m[e];switch(t){case 5126:return r instanceof Array?n.uniform1fv(o,r):("number"==typeof r&&n.uniform1f(o,r),null);case 35664:return n.uniform2fv(o,r);case 35665:return n.uniform3fv(o,r);case 35666:return n.uniform4fv(o,r);case 35670:case 5124:case 35678:case 35680:return r.length?n.uniform1iv(o,r):n.uniform1i(o,r);case 35671:case 35667:return n.uniform2iv(o,r);case 35672:case 35668:return n.uniform3iv(o,r);case 35673:case 35669:return n.uniform4iv(o,r);case 35674:return n.uniformMatrix2fv(o,!1,r);case 35675:return n.uniformMatrix3fv(o,!1,r);case 35676:if(null===r)return;return n.uniformMatrix4fv(o,!1,r)}},bindVAOs(){n.useProgram(l),v&&n.bindVertexArray(v)},bindTransformFeedbacks(){if(!_)return;const e=(p+1)%2,r=_.vaos[p],t=_.tfbs[e],o=_.tfbBuffers[e];this.readTFB=r,this.writeTFB=_.vaos[e],n.bindVertexArray(r),n.bindTransformFeedback(n.TRANSFORM_FEEDBACK,t);for(let e in o){const r=o[e];n.bindBufferBase(n.TRANSFORM_FEEDBACK_BUFFER,r.i,r.buffer)}p=e},render(e,r){n.viewport(0,0,e||n.canvas.width,r||n.canvas.height),_&&n.beginTransformFeedback(c),n.drawArrays(c,f,u),_&&n.endTransformFeedback()}}},d=(n,{width:e,height:r,tiling:t=n.CLAMP_TO_EDGE,type:o=n.UNSIGNED_BYTE,format:a=n.RGBA,internalFormat:i=n.RGBA,data:s=null,singular:d=!1,minFilter:u=n.LINEAR,magFilter:f=u,mips:c=!1}={})=>{const l=({w:d=e,h:l=r}={})=>{const m=n.createTexture();n.bindTexture(n.TEXTURE_2D,m),n.texImage2D(n.TEXTURE_2D,0,i,d,l,0,a,o,s),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,u),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,f),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,t);const v=n.createFramebuffer();return n.bindFramebuffer(n.FRAMEBUFFER,v),n.framebufferTexture2D(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0,n.TEXTURE_2D,m,0),c&&n.generateMipmap(n.TEXTURE_2D),{fb:v,targetTexture:m}};return{width:e,height:r,read:l({w:e,h:r}),write:d?null:l({w:e,h:r}),resize(n,e){this.width=n,this.height=e,this.read=l({w:n,h:e}),this.write=l({w:n,h:e})},swap(){if(d)return;const n=this.read;this.read=this.write,this.write=n}}};class u{constructor(n){this.useA=!1;let e=function(n){let e=parseInt(n.substr(0,8),16),r=parseInt(n.substr(8,8),16),t=parseInt(n.substr(16,8),16),o=parseInt(n.substr(24,8),16);return function(){e|=0,r|=0,t|=0,o|=0;let n=(e+r|0)+o|0;return o=o+1|0,e=r^r>>>9,r=t+(t<<3)|0,t=t<<21|t>>>11,t=t+n|0,(n>>>0)/4294967296}};this.prngA=new e(n.hash.substr(2,32)),this.prngB=new e(n.hash.substr(34,32));for(let n=0;n<1e6;n+=2)this.prngA(),this.prngB()}random_dec(){return this.useA=!this.useA,this.useA?this.prngA():this.prngB()}random_num(n,e){return n+(e-n)*this.random_dec()}random_int(n,e){return Math.floor(this.random_num(n,e+1))}random_bool(n){return this.random_dec()<n}random_choice(n){return n[this.random_int(0,n.length-1)]}}let f;function c(n){return n||(n=tokenData),f instanceof u||(f=new u(n)),f}const l=c();let m=parseInt(1835),v=parseInt(2400),_=[l.random_num(-500,500),l.random_num(-500,500)],p=0,b=l.random_dec();p=b<.9?0:b<.97?1:2;let g=0,h=l.random_dec();g=h<.05?0:h<.35?1:h<.55?2:h<.62?3:h<.9?4:5,p>0&&(g=l.random_int(1,2));let x=0,y=l.random_dec();x=y<.2?0:y<.4?1:y<.6?2:y<.8?3:y<.9?4:y<.92?5:y<.98?6:7,p>0&&(x=2*l.random_int(0,1)),4==x?g=l.random_int(4,5):5==x?g=5:6==x&&(g=l.random_int(3,5));let T=v/2,E=v/2,R=50,F=Math.sign(l.random_dec()-.5),U=Math.sqrt(l.random_num(.85,1.5));0==g&&(U=2);let w=7e3*U+8e3,A=1;if(0==x)R=l.random_num(100,150);else if(1==x)R=l.random_num(220,350);else if(2==x)R=l.random_num(100,150),E+=l.random_num(200,400);else if(3==x)R=l.random_num(220,350),E+=l.random_num(200,400);else if(4==x)R=l.random_num(800,1800),E+=l.random_num(1250,1500)*F;else if(5==x)R=l.random_num(1500,2400),T+=l.random_num(.99*R,1.1*R)*F;else if(6==x)R=l.random_num(600,1e3);else if(7==x){R=4e3;let n=l.random_num(0,6.28318),e=l.random_num(.95*R,1.05*R);T+=Math.cos(n)*e,E+=Math.sin(n)*e,g=2}let z=[T,E];p>0&&(R=l.random_num(70,100));0==g&&(A=3.5);let P=parseInt(R/12),S=8*P,D=parseInt(l.random_int(P+15*U,S+50*U)/4+5);4!=x&&5!=x||(D=l.random_int(50,80)),7==x&&(D=200);let I=parseInt(R/20*U)+2,M=parseInt(R/10*U)+4,B=Math.min(40,l.random_int(I,M)),C=[1,1,1,2,2,6],L=l.random_int(1,C[g]);5==g&&(L=l.random_int(2,C[g]));let O=1==g?1:0,X=0;7==x&&(X=1),6==x&&(X=.5);let k=0,G=l.random_dec();k=G<.6?0:G<.85?1:2;let N=l.random_num(.005,.015),V=.2*Math.pow(l.random_dec(),3)+.05,q=l.random_num(.15,.25),Y=.3*Math.pow(l.random_dec(),3)+.025,H=.5*Math.pow(l.random_dec(),2),W=Math.pow(2,l.random_int(2,4));W=parseInt(W*(1-H)*(1-Y));let K=l.random_int(1840,1890),j=.3*Math.pow(1-(parseFloat(K)-1840)/50,5),J=0,Q=l.random_dec();J=Q<.18?0:Q<.36?1:Q<.48?2:Q<.6?3:Q<.68?4:Q<.78?5:Q<.93?6:Q<.96?7:8,J>=7&&(k=0),0==x||2==x?8==J&&(J=l.random_int(0,7)):7==x&&(J=l.random_int(4,6)),p>0&&(J=l.random_int(0,5));let Z=l.random_num(.8,1.1);5==x&&(Z=Math.min(Z,.95));let $=parseInt(150*Z),nn=[.2,.8,.2,.8,1.5,1.5,1.25,1.25];1==g&&(nn=[1.2,1.2,1.2,1.2,1.5,1.5,1,1.25]);let en=nn[x],rn=[1.4,1.2,1.4,1.2,.92,.92,1.1,.9][x],tn=[.9,1,.8,1,1,1,1,1][x],on=["Solar Flare","Total Eclipse","Partial Eclipse","Annular Eclipse","Transit","Alignment"][g];7==x&&(on="Transit");const an={width:m,height:v,nOff:_,mapSize:1024,mapScale:32,numParticles:2e5,compId:x,eventId:g,sunPos:z,sunRad:R,sunSign:F,solarActivity:U,solarIntensity:w,flareIntensity:A,atmos:X,numForces:D,numSpots:B,numStars:W,numPlanets:L,bailyBeads:O,borderId:k,borderWidth:N,borderCornerRad:V,damage:j,cityHaze:Y,cloudiness:H,environmentId:p,groundLevel:q,exposure:Z,exposureFrames:$,tintId:J,rf0:l.random_dec(),rf1:l.random_dec(),coronaMulti:en,surfaceMulti:rn,coronaGlowMulti:tn};var sn;sn="#version 300 es\nprecision highp float;\n#define GLSLIFY 1\nin vec2 position;\nin vec2 uv;\nout vec2 v_uv;\n\nvoid main() {\n v_uv = uv;\n gl_Position = vec4( position, 0, 1 );\n}";const dn=new Float32Array([-1,-1,3,-1,-1,3]),un=new Float32Array([0,0,2,0,0,2]),fn=1/an.mapSize,cn=e=>{const r={};return r.renderer=s(e,{vert:n(sn),frag:n("#version 300 es\nprecision highp float;\n#define GLSLIFY 1\nin vec2 v_uv;\nout vec4 color;\n\nuniform vec2 u_inverseResolution;\nuniform vec2 u_direction;\nuniform vec2 u_resolution;\nuniform sampler2D u_buffer;\n\nvec4 blur(sampler2D image, vec2 uv, vec2 inverseResolution, vec2 direction) {\n vec4 color = vec4(0.0);\n vec2 off1 = vec2(1.411764705882353) * direction;\n vec2 off2 = vec2(3.2941176470588234) * direction;\n vec2 off3 = vec2(5.176470588235294) * direction;\n color += texture(image, uv) * 0.1964825501511404;\n color += texture(image, uv + (off1 * inverseResolution)) * 0.2969069646728344;\n color += texture(image, uv - (off1 * inverseResolution)) * 0.2969069646728344;\n color += texture(image, uv + (off2 * inverseResolution)) * 0.09447039785044732;\n color += texture(image, uv - (off2 * inverseResolution)) * 0.09447039785044732;\n color += texture(image, uv + (off3 * inverseResolution)) * 0.010381362401148057;\n color += texture(image, uv - (off3 * inverseResolution)) * 0.010381362401148057;\n return color;\n}\n\nvoid main() {\n vec2 uv = gl_FragCoord.xy / u_resolution;\n color = blur(u_buffer, uv, u_inverseResolution, u_direction);\n}"),attributes:{position:{data:dn,size:2},uv:{data:un,size:2}},count:3}),r.fb=d(e,{width:an.mapSize,height:an.mapSize,tiling:e.REPEAT,type:e.FLOAT,internalFormat:e.RGBA32F}),r},ln=(n,e,r,t,o,a)=>{e.renderer.bindVAOs(),n.bindFramebuffer(n.FRAMEBUFFER,e.fb.write.fb),n.activeTexture(n.TEXTURE0),n.bindTexture(n.TEXTURE_2D,r),e.renderer.bindUniform("u_buffer",0),e.renderer.bindUniform("u_direction",t),e.renderer.bindUniform("u_inverseResolution",[fn,fn]),e.renderer.bindUniform("u_resolution",[o,a]),e.renderer.render(o,a),e.fb.swap()},mn=(n,e,r,t,o)=>(ln(n,r,e,[1,0],t,o),ln(n,r,r.fb.read.targetTexture,[0,1],t,o),r.fb.read.targetTexture),vn={},_n=e=>{const r=an.numParticles;vn.renderer=s(e,{vert:n("#version 300 es\n#define GLSLIFY 1\n\nin vec2 a_position;\nin vec2 a_velocity;\n\nuniform vec2 u_screensize;\n\nout vec2 state;\n\nvoid main() {\n gl_PointSize = 1.;\n state = a_position / u_screensize;\n gl_Position = vec4( state * 2. - 1., 0., 1.);\n}"),frag:n("#version 300 es\nprecision