<div id="app">
<canvas id="c"></canvas>
<div id="hints">
<div>↕︎ rain</div>
<div>↔︎ time</div>
<div>blur ↕︎</div>
<div>
<label class="btn" for="file">browse</label>
<input type="file" id="file" accept="image/*" />
</div>
</div>
</div>
#app{width:100%;height:100%;display:flex;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;touch-action:none;background:#000;color:#fff}canvas{display:block;width:100%;height:100%}#file{display:none}.btn{cursor:pointer;pointer-events:all}#hints{position:fixed;bottom:0px;width:100%;display:flex;justify-content:space-evenly;opacity:.5;transition:opacity .66s ease,visibility .66s ease;pointer-events:none;color:#fff}#hints.fade{opacity:0;visibility:hidden}
function X(W,h){W=W-0x1c3;const e=o();let g=e[W];return g;}const hp=X;(function(e,g){const Wk=X,n=e();while(!![]){try{const L=parseInt(Wk(0x227))/0x1*(-parseInt(Wk(0x263))/0x2)+-parseInt(Wk(0x27a))/0x3+parseInt(Wk(0x243))/0x4*(-parseInt(Wk(0x246))/0x5)+parseInt(Wk(0x29d))/0x6+parseInt(Wk(0x219))/0x7*(parseInt(Wk(0x250))/0x8)+-parseInt(Wk(0x229))/0x9*(-parseInt(Wk(0x2a7))/0xa)+parseInt(Wk(0x276))/0xb*(parseInt(Wk(0x231))/0xc);if(L===g)break;else n['push'](n['shift']());}catch(y){n['push'](n['shift']());}}}(o,0x560ab));function o(){const hm=['u_water\x20u_bg\x20u_b0\x20u_b1\x20u_wet\x20u_res\x20u_blur\x20u_bright','TEXTURE_MIN_FILTER','count','ARRAY_BUFFER','SLDTsI6VqYWR8EIZ46/mAs/Jo2KE1+fgCBIwfWpK08BkFVgTeJ','pointerup','ONE_MINUS_SRC_ALPHA','MAX_TEXTURE_SIZE','u_texel','innerWidth','DYNAMIC_DRAW','from','rHROUjXgsEjAZdZJ26ijNjV0ed1WaJId2KwzxSv30maEPVZSWx','TEXTURE_2D','bindFramebuffer','COMPILE_STATUS','dragover','call','invalidateFramebuffer','gzip','frame','getShaderParameter','RGBA8','QoKdMGNd7dUKMuFGX7/8ufzNyh6ZRuYB1FgN2sNVgoH5TqVLZw','B5LmELJN2SyEdc25ptWnClL++QJG4UYR1QAAAA==','classList','OfEB+cWZJZn5ebZlqckmGmBJHQMdQ03rWgCqvR5DZgAAAA==','XwrJBjrlp4v6uern0SlfmLyna4ApH9h4v9KErCk/NZMuHvilln','finished','FRAMEBUFFER','SolZTSuxeTUpjVzMc3x2JiwuDhyhiYdFiiUbgVFie7wOiCzBw9','B6dAGnpZ1pBFKQgoAfEbNPCYUkoh5OzdwlLQkcImrk+5fxdr+q','getAttribLocation','length','ceil','sqrt','min','bright','H4sIAAAAAAAACjWOSw7CIABE956CxE1bW2yrO8IdvAEhLVUSCs','OsJ43s/A2IywG2A7wE5HmIqbmhG2fTvU6PsD6w1AcgABAAA=','entries','19334BGWUdx','time','getProgramParameter','createTexture','resize','bindBuffer','u_tex','uniform1f','iyjL8rUkPAHKJHVgdNuXMxDkUy1ebnq1HtcfmduPh8AbdpZ+qs','jq0Qsh4l69WILmjqcMVYEbPB98nD/eI0aqtgdR4LCat6zxhjbH','clientX','text','COLOR_BUFFER_BIT','addEventListener','23akVBqE','pointermove','9819vzWTve','useProgram','texParameteri','vertexAttribPointer','water','wet','search','opacity','444YAJenY','clientY','CBSnqjbjA2SjP+3AyVHxWJQlZlYIwRLuQssm0zCQ/jgBlxLpb1','clear','linkProgram','animate','compileShader','3xU7akmsjP1K3NLFciH+nfvGi7CVlHKeU4En0vIlKNScmo+dDX','H4sIAAAAAAAACk2OTQrDIBBG9z3FQDdakjT92Ul6hRxBrJo4YD','H4sIAAAAAAAAClMuSy0qzszPUzA2MFBILebKzFMoS002UkiML8','drawArraysInstanced','isPrimary','/uCW5o+tm7nI/QAe+qRhSSo5L1o18zBe5AlJZEDaqc61far5hA','error','TEXTURE_MAG_FILTER','getElementById','q+Uwwkj0QcQfLBln4UQXBSTOU1j4z5EvvzThaPP+6L3++6MX46','then','740rvNQWF','src','enableVertexAttribArray','17715Muwnjm','jNnkIhR1gJKZafdAXvJFmTUznhhmkfIuy0CEmqjYjUyFQgXFZ7','UNSIGNED_BYTE','u_res','SRC_ALPHA','0g+s5Pqi5pe6t6pGFDItRTdKa2ZlYP14/f4rUycEQRzESRweKU','disable','QwdZyzNkbr0Ulg1WJEC3bSFzY6vMA/sjYpqZf6RydoWeZY8KJo','COLOR_ATTACHMENT0','createBuffer','1592yYolwN','a_depth','bufferData','BSLqv6U1K4DJYI/g/sTTrifADGdMrBphjvF7oLclOWO64k3s5W','CLAMP_TO_EDGE','cover','nAuT+emCTNpMDYNGbIea4/eByWnorJavSH2SrXIaGDKzzRjW64','pixelStorei','TEXTURE_WRAP_S','BLEND','LdqIXD4Srab2GqsLOj0TrcbfZpzVvRfLYC9u7DO0qLGdhFvmXA','generateMipmap','type','u_src','a_pos','a_xyrr','abs','timeTint','enable','52418DZnYCG','uniform1i','aF7qxRXFDPJKJZJqgOaVCjuIWiVnDWkF7boSg/k4BnMlmAdaOe','subarray','a_amp','qCFPbSaXWAOlcN41dvaPtU++1gGCPsyRpkfjAYrnHRny+LVCw/','compile','setPointerCapture','\x20u_flash\x20u_flashPos\x20u_timeTint\x20u_cover','files','FKMuUIQLSjo+OpkB/b5CEdY1RUQenrlyNxh4CahhlugJfe+U7p','Uh+51DmTGDDe7d3lJeBF2qVCj3rfB16h7cF/i5gT4ndjeyUumb','FiizCqEUhUs4jeGXTTbqrqrywITOYQuh8k8PP9+UGMDLwNTBQ9','onchange','H4sIAAAAAAAACmWOTW7DIBBG9z0FUjczKaGYJJsgp0fIESLEkB','GO0NcWUZ3VbkyGFDH5ipulmsRCxD3+yJPWq79tKKUMB6JumQeq','wq5jMFn7mRVnFSuXMVgz1n19sHIht+RBh3uuxJ6ddQme2GT8DP','apply','createVertexArray','280225trLAqf','/BfrDVuHcD1ERnnMM9n3vvo50X5yf0wBiyy52bULTXDmn1vmkj','/+OgOLsDOgkpu4/m2UCaQshDym4BKXgnOOE74bE2Bol8tXViSw','devicePixelRatio','265116mUApNF','TEXTURE_WRAP_T','04g8t29MAjNFnZGnoQU/9+7LjoBlBvfnGr85NMd6gCo/slr0p3','innerHeight','ease','max','FRAMEBUFFER_COMPLETE','style','blur','HUGCB5J7dlP1I4JtQD96D4lXZJVJDsMAQhiGyII1KJy90KD8KI','slice','pointerdown','RGBA','width','set','crossOrigin','hints','framebufferTexture2D','height','uniform2f','bufferSubData','flipY','bindTexture','clearColor','FUNC_ADD','keydown','drop','floor','sort','H4sIAAAAAAAACoXNTQqDMBCG4X1PMdBN4k+wtq6Cu+49gogda0','ZERO','LINEAR','a_rad','shaderSource','qoc0xSSiJe28gV2abUXf3yFOAfOf1wTipOWMwsVQ0huMIjmawU','1090530vCWpWd','toString','dataTransfer','pointerId','all','lbjBFjvpXixIET8LiToxtEXDbwzp3RgqWKkzVHClHsZULQ2mLm','media/rain/back.webp','blendFuncSeparate','file','LINEAR_MIPMAP_LINEAR','230NaJBYM','STATIC_DRAW','RHL/HC4EDh4B+CxE9inPJOFfjWnE9zOnW8EkNrjUXbN2zwX60p','add','XobKoWJp9bMWkawUIbJXxm9CfIA2dhEtNGbA10+MWHaGtAa75F','webgl2','hP0Hh304LLmcybmWNgxnIlwaXvAbMHLkFg0wgoeXo6oyyvgJKY','preventDefault','imul','bindVertexArray','blendEquation','CnxEWi12SKgHr1ek1ayN2CbX+/lWBJua7SL8thYYFfirBtGDXl','exp','res','0+Xbr3y0bg54B3D9Qcpx+z4GerLXiH8LsmtGSPZCOfUhenmtpQ','tex','t4I4KYy9sdXpMTwdIBAAA=','target','texImage2D','createShader','now','TRIANGLE_STRIP','split','(((.+)+)+)+$','push','activeTexture','getParameter','pipeThrough','AAAA','UNPACK_FLIP_Y_WEBGL','charCodeAt','random','has','FLOAT','H4sIAAAAAAAACj2MQQrDIBAA733FQi9aQghpb5Jb73lCELM2C1','TEXTURE0','scale','a_seg','MAX','attachShader','FRAGMENT_SHADER','A3K4IaZV6cQpK9XYsUPaw0v9sfFU41nErx9Q2ccxRk4AEAAA==','round','ZWiB9epAhIkPqaF3zha40SIrm6Lt0QILicEJgLpAPdgq+zXz4M','sin','flashPos','fade','ATiZOgLb17iZRCF8XtOw/fHD3aWRkN5ywDnA+TxVZtoVf3foJu','flash'];o=function(){return hm;};return o();}const h=(function(){let e=!![];return function(g,n){const L=e?function(){const Wu=X;if(n){const y=n[Wu(0x274)](g,arguments);return n=null,y;}}:function(){};return e=![],L;};}()),W=h(this,function(){const Wv=X;return W['toString']()[Wv(0x22f)](Wv(0x1d6))[Wv(0x29e)]()['constructor'](W)['search'](Wv(0x1d6));});W(),function(){const h0=X;var e=0x14,g=0x32,n=0.35,L=0x4,w=0x32,d=[0x3,7.5],j=!0x0,D=0x1,Q=0x1,c=[-0.1,0.95],s=[0.25,0.35],t,i=[0.5,0x0];let E=0x3039;const H=()=>{const WY=X;let Wd=E+=0x6d2b79f5;return Wd=Math[WY(0x1c7)](Wd^Wd>>>0xf,Wd|0x1),Wd^=Wd+Math[WY(0x1c7)](Wd^Wd>>>0x7,Wd|0x3d),((Wd^Wd>>>0xe)>>>0x0)/0x100000000;},A=(Wd=0x0,Wj=0x1)=>Wd+H()*(Wj-Wd),R=Wd=>H()<=Wd,a=Wd=>new Response(new Response(Uint8Array[h0(0x1fb)](atob(Wd),Wj=>Wj[h0(0x1dd)](0x0)))['body'][h0(0x1da)](new DecompressionStream(h0(0x203))))[h0(0x224)]();let q={};q={'U':h0(0x23a)+'gvts4vLYFwy+JLy6zL8jNTFHITM/M0NKtBArZgRVp6ptp6ptbp'+h0(0x20a),'Na':h0(0x216)+h0(0x1c5)+h0(0x247)+h0(0x253)+h0(0x217),'Ma':'H4sIAAAAAAAAClVQS07FIBSduwoSJy2lPKg6kaBbcAeEPGhLcl'+h0(0x277)+h0(0x1ca)+h0(0x26f)+h0(0x1f4)+h0(0x27c)+'3NGWU8JpGxg9TvbAHSW5x3kBmf3/+5I/+WnwLCuimmUJ/v4B9t'+'QURJgBAAA=','Ha':h0(0x271)+'rJNg4Q1B/l7hEuu65GM/O+p++1uJh8mNlOSubSyxKd9eth8J/D'+h0(0x273)+'j7B5HqKWRoYd4man8FUqdOIPlkTSTd8D7dYgZSqM99lcIc4mRG'+h0(0x278)+'oRxdf3RhzexIG36vxfuqKI+vEENRh/hBsBAAA=','Ga':h0(0x1e1)+'GDUWNb+veihV5nmDkn9Ds5C9euA9xPm0dFFSz0WDbQq5NBkIWE'+h0(0x29c)+h0(0x221)+h0(0x1db),'Da':'H4sIAAAAAAAACj2NTQrDIBSE9z3Fg24UktT+7CS9Qo4gVk18YD'+h0(0x20e)+h0(0x26d)+h0(0x238)+h0(0x208),'Oa':'H4sIAAAAAAAAClVQy1LEIBC8+xVUecmDzMLqXqTQX/APKGrJbq'+'iaBMwDEy3/3QKirieYnumenr4P7ThZN5AHxkg73dmBhPZ8JFq9'+h0(0x25a)+h0(0x265)+'7/+Pd2qk541nIpNRYjtc564wpTASn4Ex/mIO+BQ1CkZ5uQ92KL'+'GCU53v8EwWntWelxEzVb4dtqrDOjEbAxs15U9jrTLviurVTXa2'+'bpAxpcIzWA/pdFirIzQcKIfGM9h2dKuOQJOPPRGZ9P/r0pv9cX'+h0(0x1e8),'Ia':h0(0x239)+'SolZTSuxeTUgqzevPNm2+fdYjoHVzaFnTczUFLXIHB0cwwWC8S'+h0(0x24d)+h0(0x272)+'MEoRFOu78oHEyftkYtIzaZvqVKZWxxI8rF0oe38AQtPVN+oAAA'+'A=','Ca':'H4sIAAAAAAAACo3PQQ6CMBAF0L2nmMRNq1ABiZvGnXuPQAiO0g'+h0(0x207)+h0(0x1fc)+h0(0x268)+h0(0x241)+h0(0x1cf),'Fa':h0(0x297)+h0(0x1ee)+'MA1JpcFjm4OvnZdOq87YEeZmnAa0+RVcPdv22zfpasIFB2kchX'+h0(0x233)+'Ef+7pySWhMS6w4JK91n663gk8iI5cfl6Ay7w7a8wAQAA','Ea':'H4sIAAAAAAAACnVTTY+bMBC991cg9WIbM8t3ghA97aVSpa2q3h'+'EhJlgCjMB8JKv975VtSLJVewBZnpk3b97zfJ3ZMHLRWYHrWmz8'+h0(0x24b)+h0(0x2a9)+h0(0x20b)+'TKq6YY6+fCwJpyyVv2m3efAENryksxs+HvLhrhpxhTMUmT+JZq'+h0(0x256)+h0(0x1cd)+h0(0x1ea)+h0(0x1c3)+'TMjxIcJP8dTgtcWK9IVzJh5E2AhfZkrNXf58mslmHaxXez/eFt'+'oIpRdRyR48HgUEmG7Futp2+pUMFUFJDPaZhEfA+L+IRBOjNTcH'+h0(0x2a2)+h0(0x20f)+h0(0x26e)+h0(0x283)+h0(0x222)+h0(0x23d)+'lL6pUUNU6tw/n+n26RkFAAA='};function C(Wd,Wj){const h1=h0;if(Wj<Wd[h1(0x204)]){var WD=null,WQ=Math[h1(0x214)](Wd['j'],0x12c);for(var Wc=0x0;Wc<WQ;Wc++){var Ws=Wd['l'][Wc];Ws[h1(0x204)]<=Wj&&(!WD||Ws['frame']>WD['frame'])&&(WD=Ws);}if(WD&&WD[h1(0x204)]>0x0){if(WQ=WD,Wd[h1(0x204)]=WQ[h1(0x204)],Wd['i']=WQ['count'],Wd['H']=WQ['H'],Wd['F'][h1(0x288)](WQ['P'][h1(0x266)](0x0,Wd['i']*0xd)),Wd['A']=WQ['A'],Wd['T']=[],Wd['R']=[],WQ['K']&&WQ['ha']>0x0){for(WD=WQ['ha'],Wd['B']=Array(WD),WQ=WQ['K'],Wc=0x0;Wc<WD;Wc++)Wd['B'][Wc]={'x':WQ[Wc*0x3],'y':WQ[Wc*0x3+0x1],'r':WQ[Wc*0x3+0x2]};}else Wd['B']=[];}else Wd[h1(0x204)]=0x0,Wd['i']=0x0,Wd['A']=0x0,Wd['H']=0x0,Wd['B']=[];Wd['O']=!0x0;}for(;Wd['frame']<Wj;){WD=Wd;if(WD[h1(0x204)]%0xa===0x0){Wc=WD,WQ=Wc['l'][Wc['h']],WQ['frame']=Wc['frame'],WQ[h1(0x1f2)]=Wc['i'],WQ['A']=Wc['A'],WQ['H']=Wc['H'];if(!WQ['P']||WQ['P'][h1(0x211)]<Wc['i']*0xd)WQ['P']=new Float32Array(Wc['i']*0xd);WQ['P']['set'](Wc['F'][h1(0x266)](0x0,Wc['i']*0xd)),Wc=Wc['B'];if(!WQ['K']||WQ['K']['length']<Wc[h1(0x211)]*0x3)WQ['K']=new Float32Array(Wc[h1(0x211)]*0x3);Ws=WQ['K'];for(let Wt=0x0;Wt<Wc['length'];Wt++)Ws[Wt*0x3]=Wc[Wt]['x'],Ws[Wt*0x3+0x1]=Wc[Wt]['y'],Ws[Wt*0x3+0x2]=Wc[Wt]['r'];WQ['ha']=Wc[h1(0x211)],WD['h']=(WD['h']+0x1)%0x12c,WD['j']++;}E=0x12fd1+WD[h1(0x204)]>>>0x0,WD['o'][h1(0x211)]=0x0,WD['T']=WD['o'],WD['m'][h1(0x211)]=0x0,WD['R']=WD['m'],l(WD),WD[h1(0x204)]++;}}function f(Wd){const h2=h0;Wd[h2(0x204)]=0x0,Wd['i']=0x0,Wd['A']=0x0,Wd['H']=0x0,Wd['B']=[],Wd['R']=[],Wd['j']=0x0,Wd['h']=0x0,Wd['O']=!0x0;}function l(Wd){const h3=h0;var Wj=Wd[h3(0x287)]/Wd[h3(0x1e3)],WD=Wd[h3(0x28c)]/Wd[h3(0x1e3)],WQ=Wd['u'],Wc=d[0x0],Ws=d[0x1],Wt=s[0x0],WB=s[0x1];if(j)for(Wd['A']+=w*WQ;Wd['A']>0x0;){Wd['A']--;var Wi=A(Wj),WT=A(WD),WE=A(Wc,Ws);Wd['B'][h3(0x211)]<0x1770&&(Wi={'x':Wi,'y':WT,'r':WE},Wd['T']['push'](Wi),Wd['B'][h3(0x1d7)](Wi));}if(j){for(Wc=L*WQ,Ws=0x0,Wi=0x258*WQ*(t||0x1);R(n*WQ)&&Ws<Wc&&Wd['i']<Wi;)Ws++,WT=A(e,g),p(Wd,A(Wj),A(WD*c[0x0],WD*c[0x1]),WT,1.5,1.5,0x1+(WT-e)*0.1+A(0x2),!0x0,WT);}Wc=Wd['D'],Ws=Wd['i'],Wi=Wd['F'];for(WQ=0x0;WQ<Ws;WQ++)Wc[WQ]=WQ;for(WQ=0x1;WQ<Ws;WQ++){WT=Wc[WQ],WE=Wi[WT*0xd+0x1]*Wj+Wi[WT*0xd];for(var WP=WQ-0x1;WP>=0x0;){var WS=Wc[WP],WH=Wi[WS*0xd+0x1]*Wj+Wi[WS*0xd];if(Math[h3(0x260)](WH-WE)>0.001){if(WH<=WE)break;}else{if(Wi[WS*0xd+0xc]<=Wi[WT*0xd+0xc])break;}Wc[WP+0x1]=WS,WP--;}Wc[WP+0x1]=WT;}WQ=Wd['R'],WT=w>0x0,WE=Wd['v'],WP=0x0;for(WS=0x0;WS<Ws;WS++){WH=Wc[WS]*0xd;if(Wi[WH+0xb]===-0x1){Wi[WH+0xb]=0x0;continue;}var WF=Wi[WH+0x2],WA=Wi[WH+0x1],WM=!0x1;R(0.1/Wd['fa']*(WF-e*1.3))&&(Wi[WH+0x6]+=A(WF/g*0x4)),WF<=e&&(WF-=0.05);if(WF<=0x0||WA>WD+WF)WM=!0x0;var WR=Wi[WH+0x8],Wa=Wi[WH+0x9],Wq=Wi[WH+0x6];const WO=Wi[WH],WJ=Wi[WH+0xc];j&&!WM&&(WR+=Wq*Q,WR>Wa&&(WR=WF*A(Wt,WB),WP<Wd['g']&&(Wa=WP*0xd,WE[Wa]=WO+A(-WF,WF)*0.1,WE[Wa+0x1]=WA-WF*0.01,WE[Wa+0x2]=WR,WE[Wa+0x3]=WR||0x14,WE[Wa+0x4]=0x0,WE[Wa+0x5]=Wq*0.1,WE[Wa+0x6]=0x0,WE[Wa+0x7]=0x0,WE[Wa+0x8]=0x0,WE[Wa+0x9]=0x0,WE[Wa+0xa]=WJ,WE[Wa+0xb]=0x1,WE[Wa+0xc]=++Wd['H'],WP++),WF*=0.97,WR=0x0,Wa=A(e,g)-Wq*0x2*Q+(g-WF))),Wi[WH+0x2]=WF,Wi[WH+0x8]=WR,Wi[WH+0x9]=Wa,WR=Wi[WH+0x4]*0.5,Wa=Wi[WH+0x5]*0.7;const WI=Wq>0x0;let Wl=Wi[WH+0x7];WM||(WA+=Wq*D,Wi[WH]+=Wl*D);var WV=Wi[WH+0xb]===0x1;WV=(WI||WV)&&!WM,Wi[WH+0xb]=0x0;if(WV){WV=Math['min'](Ws,WS+0x47);const Wp=Wi[WH+0xa];let Wm=Wi[WH+0x3];for(let WK=WS+0x1;WK<WV;WK++){const Wr=Wc[WK]*0xd;var WC=Wi[Wr+0x2],Wf=Wi[Wr+0xa],WN=Wi[Wr+0xc];if(Wi[Wr+0xb]===-0x1||WF<=WC||Wp===WN||Wf===WJ)continue;Wf=Wi[Wr]-Wi[WH],WN=Wi[Wr+0x1]-WA;const Wb=(WF+WC)*(0.45+Wq*0.0002);Wf*Wf+WN*WN<Wb*Wb&&(Wm=WF=WC=Math[h3(0x214)](g,Math[h3(0x213)](WF*WF+WC*WC*0.8)),Wl+=Wf*0.1,Wa=WR=0x0,Wi[Wr+0xb]=-0x1,Wq=Math[h3(0x27f)](Wi[Wr+0x6],Math['min'](0x28,Wq+WC*0.05+0x1)));}Wi[WH+0x2]=WF,Wi[WH+0x3]=Wm;}Wq-=Math[h3(0x27f)](0x1,e*0.5-Wq)*0.1,Wq<0x0&&(Wq=0x0),Wl*=0.7,WM||(WP<Wd['g']&&(WM=WP*0xd,WE[WM]=Wi[WH],WE[WM+0x1]=WA,WE[WM+0x2]=WF,WE[WM+0x3]=Wi[WH+0x3],WE[WM+0x4]=WR,WE[WM+0x5]=Wa,WE[WM+0x6]=Wq,WE[WM+0x7]=Wl,WE[WM+0x8]=Wi[WH+0x8],WE[WM+0x9]=Wi[WH+0x9],WE[WM+0xa]=Wi[WH+0xa],WE[WM+0xb]=0x0,WE[WM+0xc]=Wi[WH+0xc],WP++),WI&&WT&&WQ[h3(0x1d7)]({'x':Wi[WH],'y':WA,'L':WO,'M':Wi[WH+0x1],'r':WF*0.2}));}Wd['F']=WE,Wd['v']=Wi,Wd['i']=WP;if(WQ[h3(0x211)]>0x0){Wt=Wd['B'];const WU=Math[h3(0x27f)](0x1,Math[h3(0x212)](Wj/0x40)),Wx=Math['max'](0x1,Math[h3(0x212)](WD/0x40));Wd=Wd['C'],Wj=WU*Wx;if(Wd[h3(0x211)]<Wj){for(WD=Wd[h3(0x211)];WD<Wj;WD++)Wd['push']([]);}for(WD=0x0;WD<Wj;WD++)Wd[WD][h3(0x211)]=0x0;Wj=WG=>WG<0x0?0x0:WG>=WU?WU-0x1:WG,WD=WG=>WG<0x0?0x0:WG>=Wx?Wx-0x1:WG;for(WB=0x0;WB<WQ['length'];WB++)for(Wc=WQ[WB],Ws=Wj(Math[h3(0x295)]((Math[h3(0x214)](Wc['L'],Wc['x'])-Wc['r'])/0x40)),Wi=Wj(Math[h3(0x295)]((Math[h3(0x27f)](Wc['L'],Wc['x'])+Wc['r'])/0x40)),WE=WD(Math['floor']((Math[h3(0x214)](Wc['M'],Wc['y'])-Wc['r'])/0x40)),WT=WD(Math['floor']((Math[h3(0x27f)](Wc['M'],Wc['y'])+Wc['r'])/0x40));WE<=WT;WE++)for(WP=Ws;WP<=Wi;WP++)Wd[WE*WU+WP][h3(0x1d7)](Wc);WB=0x0;for(WQ=0x0;WQ<Wt[h3(0x211)];WQ++){Wc=Wt[WQ],Ws=Wc['x'],Wi=Wc['y'],WT=Wd[WD(Math[h3(0x295)](Wi/0x40))*WU+Wj(Math[h3(0x295)](Ws/0x40))],WE=!0x1;if(WT&&WT[h3(0x211)]>0x0){for(WP=0x0;WP<WT[h3(0x211)];WP++)if(WS=WT[WP],WA=WS['x']-WS['L'],WH=WS['y']-WS['M'],Wq=WA*WA+WH*WH,WF=0x0,Wq>0x0&&(WF=((Ws-WS['L'])*WA+(Wi-WS['M'])*WH)/Wq,WF=WF<0x0?0x0:WF>0x1?0x1:WF),WA=Ws-(WS['L']+WF*WA),WH=Wi-(WS['M']+WF*WH),WA*WA+WH*WH<WS['r']*WS['r']){WE=!0x0;break;}}WE||(Wt[WB++]=Wc);}Wt[h3(0x211)]=WB;}}function p(Wd,Wj,WD,WQ,Wc,Ws,Wt,WB,Wi=0x0){if(!(Wd['i']>=Wd['g'])){var WT=Wd['i']*0xd,WE=Wd['F'];WE[WT]=Wj,WE[WT+0x1]=WD,WE[WT+0x2]=WQ,WE[WT+0x3]=Wi||WQ||0x14,WE[WT+0x4]=Wc,WE[WT+0x5]=Ws,WE[WT+0x6]=Wt,WE[WT+0x7]=0x0,WE[WT+0x8]=0x0,WE[WT+0x9]=0x0,WE[WT+0xa]=-0x1,WE[WT+0xb]=WB?0x1:0x0,WE[WT+0xc]=++Wd['H'],Wd['i']++;}}class m{constructor(Wd,Wj){const h4=h0;var WD=Math[h4(0x214)](window[h4(0x279)]||0x1,0x2);this[h4(0x287)]=Wd,this['height']=Wj,this[h4(0x1e3)]=WD,this['g']=Math[h4(0x27f)](0x4b0,Math[h4(0x212)](0x258*Math[h4(0x213)](this[h4(0x287)]*this[h4(0x28c)]/(WD*WD)/0xc0000)*0x4)),this['F']=new Float32Array(this['g']*0xd),this['v']=new Float32Array(this['g']*0xd),this['i']=0x0,this['T']=[],this['R']=[],this['B']=[],this[h4(0x204)]=this['A']=0x0,this['l']=Array(0x12c);for(Wd=0x0;Wd<0x12c;Wd++)this['l'][Wd]={'frame':0x0,'P':null,'count':0x0,'A':0x0,'K':null};this['H']=this['h']=this['j']=0x0,this['o']=[],this['m']=[],this['C']=[],this['O']=!0x0,this['D']=new Int32Array(this['g']);}get['fa'](){return g-e;}get['G'](){const h5=h0;return this[h5(0x287)]*this['height']/(this[h5(0x1e3)]*this[h5(0x1e3)]);}get['u'](){const h6=h0;return Math[h6(0x213)](this['G']/0xc0000);}}const r=(Wd,Wj)=>(Wd['N']!==-0x1?Wd['N']:Wd['id'])-(Wj['N']!==-0x1?Wj['N']:Wj['id'])||Wd['y']-Wj['y'];function b(Wd,Wj,WD){const h7=h0,WQ=Wd['g'],Wc=WQ['createProgram']();return WQ[h7(0x1e6)](Wc,Wd[h7(0x269)](WQ['VERTEX_SHADER'],Wj)),WQ[h7(0x1e6)](Wc,Wd['compile'](WQ[h7(0x1e7)],WD)),WQ[h7(0x235)](Wc),WQ[h7(0x21b)](Wc,WQ['LINK_STATUS'])||console[h7(0x23e)](WQ['getProgramInfoLog'](Wc)),Wc;}function x(Wd,Wj,WD){const h8=h0,WQ={};for(const Wc of WD)WQ[Wc[h8(0x284)](0x2)]=Wd['g']['getUniformLocation'](Wj,Wc);return WQ;}function G(Wd,Wj,WD){const h9=h0;Wd=Wd['g'];const WQ=Wd[h9(0x24f)]();return Wd['bindBuffer'](Wd['ARRAY_BUFFER'],WQ),Wd[h9(0x252)](Wd['ARRAY_BUFFER'],Wj,WD),WQ;}function k(Wd,Wj){const hW=h0,WD=Wd['g'],WQ=WD['createVertexArray']();return WD[hW(0x1c8)](WQ),WD['bindBuffer'](WD[hW(0x1f3)],Wd['la']),Wd=WD[hW(0x210)](Wj,hW(0x25e)),WD[hW(0x245)](Wd),WD[hW(0x22c)](Wd,0x2,WD[hW(0x1e0)],!0x1,0x0,0x0),WD[hW(0x1c8)](null),WQ;}function u(Wd,Wj,WD,WQ,Wc=0x5){const hh=h0,Ws=Wd['g'],Wt=Ws[hh(0x275)]();Wc*=0x4,Ws['bindVertexArray'](Wt),Ws[hh(0x21e)](Ws['ARRAY_BUFFER'],Wd['ra']),Wd=Ws[hh(0x210)](Wj,'a_quad'),Ws[hh(0x245)](Wd),Ws[hh(0x22c)](Wd,0x2,Ws[hh(0x1e0)],!0x1,0x0,0x0),Ws[hh(0x21e)](Ws['ARRAY_BUFFER'],WD);for(const [WB,Wi,WT]of WQ)WD=Ws[hh(0x210)](Wj,WB),Ws[hh(0x245)](WD),Ws[hh(0x22c)](WD,Wi,Ws['FLOAT'],!0x1,Wc,WT),Ws['vertexAttribDivisor'](WD,0x1);return Ws[hh(0x1c8)](null),Wt;}function v(Wd){const ho=h0,Wj=Wd['g'];Wd=Y(Wd,Wj[ho(0x299)],Wj['LINEAR']),Wj[ho(0x290)](Wj['TEXTURE_2D'],Wd),Wj[ho(0x1d1)](Wj[ho(0x1fd)],0x0,Wj[ho(0x206)],0x1,0x1,0x0,Wj[ho(0x286)],Wj[ho(0x248)],null);const WD=Wj['createFramebuffer']();return Wj[ho(0x1fe)](Wj['FRAMEBUFFER'],WD),Wj[ho(0x28b)](Wj['FRAMEBUFFER'],Wj[ho(0x24e)],Wj[ho(0x1fd)],Wd,0x0),Wj[ho(0x1fe)](Wj['FRAMEBUFFER'],null),{'S':WD,'tex':Wd};}function Y(Wd,Wj,WD){const hX=h0;Wd=Wd['g'];const WQ=Wd[hX(0x21c)]();return Wd[hX(0x290)](Wd[hX(0x1fd)],WQ),Wd[hX(0x22b)](Wd[hX(0x1fd)],Wd[hX(0x258)],Wd[hX(0x254)]),Wd[hX(0x22b)](Wd[hX(0x1fd)],Wd[hX(0x27b)],Wd[hX(0x254)]),Wd[hX(0x22b)](Wd[hX(0x1fd)],Wd[hX(0x1f1)],Wj||Wd[hX(0x299)]),Wd['texParameteri'](Wd[hX(0x1fd)],Wd[hX(0x23f)],WD||Wd[hX(0x299)]),WQ;}function W0(Wd){const he=h0,Wj=Wd['g'];var WD=Math[he(0x214)](window[he(0x279)]||0x1,0x2);const WQ=Wj[he(0x1d9)](Wj[he(0x1f7)]),Wc=Wd['l'][he(0x287)]=Math[he(0x214)](Math[he(0x1e9)](window[he(0x1f9)]*WD),WQ);WD=Wd['l'][he(0x28c)]=Math[he(0x214)](Math['round'](window[he(0x27d)]*WD),WQ),Wj['viewport'](0x0,0x0,Wc,WD),W1(Wd,Wd['o'],Wc,WD),W1(Wd,Wd['u'],Wc,WD),W1(Wd,Wd['v'],Wc,WD),W1(Wd,Wd['j'],Math[he(0x27f)](0x1,Wc>>0x3),Math[he(0x27f)](0x1,WD>>0x3)),W1(Wd,Wd['m'],Math[he(0x27f)](0x1,Wc>>0x6),Math['max'](0x1,WD>>0x6)),W2(Wd,Wd['o'],Wc,WD),Wj[he(0x291)](0x0,0x0,0x0,0x0),Wj[he(0x234)](Wj[he(0x225)]),W2(Wd,Wd['v'],Wc,WD),Wj[he(0x234)](Wj[he(0x225)]),Wj[he(0x1fe)](Wj['FRAMEBUFFER'],null);}function W1(Wd,Wj,WD,WQ){const hg=h0;Wd=Wd['g'],Wd[hg(0x290)](Wd[hg(0x1fd)],Wj[hg(0x1ce)]),Wd[hg(0x1d1)](Wd['TEXTURE_2D'],0x0,Wd[hg(0x206)],WD,WQ,0x0,Wd['RGBA'],Wd[hg(0x248)],null),Wd[hg(0x1fe)](Wd[hg(0x20d)],Wj['S']),Wd[hg(0x28b)](Wd[hg(0x20d)],Wd[hg(0x24e)],Wd['TEXTURE_2D'],Wj['tex'],0x0),Wd['checkFramebufferStatus'](Wd[hg(0x20d)])!==Wd[hg(0x280)]&&console['error']('FBO\x20incomplete:',WD,'x',WQ),Wd[hg(0x1fe)](Wd[hg(0x20d)],null);}function W2(Wd,Wj,WD,WQ){const hn=h0;Wd=Wd['g'],Wd[hn(0x1fe)](Wd['FRAMEBUFFER'],Wj?Wj['S']:null),Wd['viewport'](0x0,0x0,WD,WQ);}function W3(Wd,Wj){const hy=h0,WD=Wd['g'],WQ=Wc=>{const hL=X;Wd['ba']=Wc[hL(0x287)]/Wc['height'],WD[hL(0x290)](WD[hL(0x1fd)],Wd['C']),WD[hL(0x257)](WD[hL(0x1dc)],!0x0),WD[hL(0x1d1)](WD[hL(0x1fd)],0x0,WD[hL(0x286)],WD[hL(0x286)],WD[hL(0x248)],Wc),WD[hL(0x25b)](WD[hL(0x1fd)]),WD[hL(0x22b)](WD[hL(0x1fd)],WD[hL(0x1f1)],WD[hL(0x2a6)]);};return Wj instanceof File?createImageBitmap(Wj,{'imageOrientation':hy(0x28f)})[hy(0x242)](WQ):new Promise((Wc,Ws)=>{const hz=hy,Wt=new Image();Wt[hz(0x289)]='anonymous',Wt['onload']=()=>{WQ(Wt),Wc();},Wt['onerror']=Ws,Wt['src']=Wj;});}function W4(Wd,Wj,WD,WQ,Wc,Ws,Wt=0x0){const hw=h0;Wc=Math[hw(0x214)](Wj[hw(0x211)]-Wt,Wc);for(let WB=0x0;WB<Wc;WB++)Ws(Wj[Wt+WB],WB*0x5,WD);return Wd=Wd['g'],Wd[hw(0x21e)](Wd[hw(0x1f3)],WQ),Wd['bufferSubData'](Wd['ARRAY_BUFFER'],0x0,WD,0x0,Wc*0x5),Wc;}function W5(Wd,Wj){const hZ=h0;var WD=Wj[hZ(0x1e3)];const WQ=Wj['fa'],Wc=Math['min'](Wj['i'],0x4b0),Ws=Wj['F'];Wj=Wd['F'];for(let Wt=0x0;Wt<Wc;Wt++){const WB=Wt*0xd,Wi=Ws[WB+0x2],WT=Ws[WB+0x4],WE=Ws[WB+0x5];let WP=Math['max'](0x0,Math[hZ(0x214)](0x1,(Wi-e)/WQ*0.9));WP/=(WT+WE)*0.5+0x1;const WS=Wt*0x5;Wj[WS]=Ws[WB]*WD,Wj[WS+0x1]=Ws[WB+0x1]*WD,Wj[WS+0x2]=Wi*(WT+0x1)*WD,Wj[WS+0x3]=Wi*(WE+0x1)*1.5*WD,Wj[WS+0x4]=WP;}return WD=Wd['g'],WD[hZ(0x21e)](WD['ARRAY_BUFFER'],Wd['$']),WD['bufferSubData'](WD[hZ(0x1f3)],0x0,Wj,0x0,Wc*0x5),Wc;}function W6(Wd,Wj){const hd=h0,WD=Wj[hd(0x1e3)];return W4(Wd,Wj['T'],Wd['aa'],Wd['D'],0x190,({x:WQ,y:Wc,r:Ws},Wt,WB)=>{WB[Wt]=WQ*WD,WB[Wt+0x1]=Wc*WD,WB[Wt+0x2]=Ws*WD,WB[Wt+0x3]=Ws*WD,WB[Wt+0x4]=0x0;});}function W7(Wd,Wj){const hj=h0,WD=Wj[hj(0x1e3)];return W4(Wd,Wj['R'],Wd['ja'],Wd['Z'],0x320,(WQ,Wc,Ws)=>{Ws[Wc]=WQ['L']*WD,Ws[Wc+0x1]=WQ['M']*WD,Ws[Wc+0x2]=WQ['x']*WD,Ws[Wc+0x3]=WQ['y']*WD,Ws[Wc+0x4]=WQ['r']*WD;});}function W8(Wd,Wj,WD,WQ,Wc,Ws){const hD=h0,Wt=Ws(WQ);Ws=Ws(Wc);if(Wt<=0x0&&Ws<=0x0)return WD;var WB=Wc['x']-WQ['x'],Wi=Wc['y']-WQ['y'];const WT=Math[hD(0x27f)]((WQ['r']+Wc['r'])*0x3,0x28);if(WB*WB+Wi*Wi>WT*WT)return WD;return WB=Math[hD(0x27f)]((WQ['r']+Wc['r'])*0.5,0x7)*0.8,Wi=WD*0x7,Wd[Wi]=WQ['x']*Wj,Wd[Wi+0x1]=WQ['y']*Wj,Wd[Wi+0x2]=Wc['x']*Wj,Wd[Wi+0x3]=Wc['y']*Wj,Wd[Wi+0x4]=WB*Wj,Wd[Wi+0x5]=Wt,Wd[Wi+0x6]=Ws,WD+0x1;}function W9(Wd,Wj){const hQ=h0,WD=Wd['g'],WQ=Wj['scale'];var Wc=Wj['i'],Ws=Wj['F'];Wj=Wd['Aa'];var Wt=Wd['Ba'];const WB=Wd['Ja'];Wt[hQ(0x234)](),WB['length']=0x0;for(var Wi=0x0;Wi<Wc;Wi++){var WT=Ws[Wi*0xd+0xa];WT!==-0x1&&Wt[hQ(0x2aa)](WT);}for(Wi=0x0;Wi<Wc;Wi++){WT=Wi*0xd;var WE=Ws[WT+0xa],WP=Ws[WT+0xc];(WE!==-0x1||Wt[hQ(0x1df)](WP))&&WB[hQ(0x1d7)]({'x':Ws[WT],'y':Ws[WT+0x1],'r':Ws[WT+0x2],'ga':Ws[WT+0x3],'N':WE,'id':WP});}WB[hQ(0x296)](r),Wc=WB[hQ(0x211)],WE=Ws=0x0,Wt=WS=>WS['N']!==-0x1?WS['N']:WS['id'];for(Wi=WS=>WS['ga']>0x0?Math['min'](0x1,Math['max'](0x0,WS['r']/WS['ga'])):0x0;WE<Wc&&Ws<0x4b0;){WP=Wt(WB[WE]);for(WT=WE+0x1;WT<Wc&&Wt(WB[WT])===WP;)WT++;if(WT-WE===0x1)Ws=W8(Wj,WQ,Ws,WB[WE],WB[WE],Wi);else{for(;WE<WT-0x1&&Ws<0x4b0;WE++)Ws=W8(Wj,WQ,Ws,WB[WE],WB[WE+0x1],Wi);}WE=WT;}return WD[hQ(0x21e)](WD[hQ(0x1f3)],Wd['ea']),WD[hQ(0x28e)](WD[hQ(0x1f3)],0x0,Wj,0x0,Ws*0x7),Ws;}function WW(Wd,Wj,WD,WQ){const hc=h0;Wd=Wd['g'],Wd[hc(0x22a)](Wj),WD(),Wd[hc(0x1c8)](WQ),Wd['drawArrays'](Wd['TRIANGLE_STRIP'],0x0,0x4);}function Wh(Wd,Wj,WD,WQ,Wc,Ws,Wt,WB,Wi){const hs=h0;Wc<=0x0||(Wd=Wd['g'],Wd['enable'](Wd[hs(0x259)]),Wd[hs(0x2a4)](Ws,Wt,WB,Wi),Wd[hs(0x22a)](Wj),WD(),Wd[hs(0x1c8)](WQ),Wd['drawArraysInstanced'](Wd['TRIANGLE_STRIP'],0x0,0x4,Wc));}function Wo(Wd,Wj,WD){const hi=h0,WQ=Wd['g'],Wc=(Ws,Wt,WB,Wi,WT,WE)=>{const ht=X;W2(Wd,WB,Wi,WT),WQ[ht(0x24c)](WQ['BLEND']),WW(Wd,Ws,()=>{const hB=ht;WQ[hB(0x1d8)](WQ['TEXTURE0']),WQ[hB(0x290)](WQ[hB(0x1fd)],WE),WQ['uniform1i'](Wt[hB(0x244)],0x0),WQ[hB(0x28d)](Wt['texel'],0x1/Wi,0x1/WT);},Wd['sa']);};Wc(Wd['ca'],Wd['oa'],Wd['j'],Math[hi(0x27f)](0x1,Wj>>0x3),Math[hi(0x27f)](0x1,WD>>0x3),Wd['C']),Wc(Wd['G'],Wd['ma'],Wd['m'],Math[hi(0x27f)](0x1,Wj>>0x6),Math[hi(0x27f)](0x1,WD>>0x6),Wd['j'][hi(0x1ce)]);}function WX(Wd,Wj,WD,WQ,Wc,Ws=0x0,Wt=i){const hT=h0,WB=Wd['g'],Wi=Wd['l'][hT(0x287)],WT=Wd['l'][hT(0x28c)];Wo(Wd,Wi,WT);var WE=W5(Wd,Wj);const WP=Wj[hT(0x1e3)],WS=WB[hT(0x24a)],WH=WB[hT(0x1f6)],WF=WB['ONE'],WA=()=>WB[hT(0x28d)](Wd['pa'][hT(0x1cc)],Wi,WT);var WM=0x0;W2(Wd,Wd['o'],Wi,WT);if(Wj['O']){WB['clearColor'](0x0,0x0,0x0,0x0),WB[hT(0x234)](WB[hT(0x225)]),WM=Wj['B'];const WR=({x:Wa,y:Wq,r:WV},WC,Wf)=>{Wf[WC]=Wa*WP,Wf[WC+0x1]=Wq*WP,Wf[WC+0x2]=WV*WP,Wf[WC+0x3]=WV*WP,Wf[WC+0x4]=0x0;};for(let Wa=0x0;Wa<WM[hT(0x211)];Wa+=0x190){const Wq=W4(Wd,WM,Wd['aa'],Wd['D'],0x190,WR,Wa);Wh(Wd,Wd['h'],WA,Wd['da'],Wq,WS,WH,WF,WH);}Wj['O']=!0x1;}else WM=W7(Wd,Wj),WM>0x0&&(WB[hT(0x262)](WB[hT(0x259)]),WB[hT(0x2a4)](WB[hT(0x298)],WB['ONE_MINUS_SRC_ALPHA'],WB[hT(0x298)],WB[hT(0x1f6)]),WB[hT(0x22a)](Wd['I']),WB['uniform2f'](Wd['na'][hT(0x1cc)],Wi,WT),WB['bindVertexArray'](Wd['ia']),WB[hT(0x23b)](WB[hT(0x1d4)],0x0,0x4,WM),WB[hT(0x24c)](WB['BLEND'])),WM=W6(Wd,Wj),WM>0x0&&Wh(Wd,Wd['h'],WA,Wd['da'],WM,WS,WH,WF,WH);W2(Wd,Wd['v'],Wi,WT),WB['clearColor'](0x0,0x0,0x0,0x0),WB[hT(0x234)](WB[hT(0x225)]),Wj=W9(Wd,Wj),Wj>0x0&&(WB[hT(0x262)](WB['BLEND']),WB[hT(0x1c9)](WB[hT(0x1e5)]),WB['useProgram'](Wd['W']),WB[hT(0x28d)](Wd['qa'][hT(0x1cc)],Wi,WT),WB[hT(0x1c8)](Wd['xa']),WB['drawArraysInstanced'](WB[hT(0x1d4)],0x0,0x4,Wj),WB[hT(0x1c9)](WB[hT(0x292)]),WB[hT(0x24c)](WB[hT(0x259)])),W2(Wd,Wd['u'],Wi,WT),WB['clearColor'](0x0,0x0,0x0,0x0),WB[hT(0x234)](WB['COLOR_BUFFER_BIT']),WB[hT(0x24c)](WB[hT(0x259)]),WW(Wd,Wd['V'],()=>{const hE=hT;WB['activeTexture'](WB[hE(0x1e2)]),WB[hE(0x290)](WB['TEXTURE_2D'],Wd['o'][hE(0x1ce)]),WB[hE(0x264)](Wd['Y'][hE(0x1ce)],0x0),WB['uniform1f'](Wd['Y'][hE(0x1ed)],0x1);},Wd['wa']),Wh(Wd,Wd['h'],WA,Wd['va'],WE,WS,WH,WF,WH),W2(Wd,null,Wi,WT),WB[hT(0x24c)](WB['BLEND']),WW(Wd,Wd['J'],()=>{const hP=hT,WV=Wd['ka'];var WC=[Wd['u'][hP(0x1ce)],Wd['C'],Wd['j'][hP(0x1ce)],Wd['m'][hP(0x1ce)],Wd['v']['tex']];for(var Wf=0x0;Wf<WC[hP(0x211)];Wf++)WB[hP(0x1d8)](WB[hP(0x1e2)]+Wf),WB[hP(0x290)](WB[hP(0x1fd)],WC[Wf]);WB[hP(0x264)](WV[hP(0x22d)],0x0),WB[hP(0x264)](WV['bg'],0x1),WB[hP(0x264)](WV['b0'],0x2),WB[hP(0x264)](WV['b1'],0x3),WB['uniform1i'](WV[hP(0x22e)],0x4),WB['uniform2f'](WV[hP(0x1cc)],Wi,WT),WB['uniform1f'](WV[hP(0x282)],WD),WB['uniform1f'](WV[hP(0x215)],Wc),WB[hP(0x220)](WV[hP(0x1ef)],Ws),WB[hP(0x28d)](WV[hP(0x1ec)],Wt[0x0],Wt[0x1]),WC=Math[hP(0x1eb)](WQ*0.1)*0.5+0.5,WB['uniform3f'](WV[hP(0x261)],0x1+(0.8-0x1)*WC,0x1+(0.9-0x1)*WC,0x1+(1.3-0x1)*WC),WC=Wi/WT/Wd['ba'];let WN=Wf=0x1,WO=0x0,WJ=0x0;WC>0x1?(WN=0x1/WC,WJ=(0x1-WN)*0.5):(Wf=WC,WO=(0x1-Wf)*0.5),WB['uniform4f'](WV[hP(0x255)],Wf,WN,WO,WJ);},Wd['ta']),WE=[WB[hT(0x24e)]];for(const WV of[Wd['u']['S'],Wd['j']['S'],Wd['m']['S']])WB['bindFramebuffer'](WB[hT(0x20d)],WV),WB[hT(0x202)](WB[hT(0x20d)],WE);WB[hT(0x1fe)](WB[hT(0x20d)],null);}class We{constructor(Wd){const hS=h0;this['l']=Wd;if(Wd=this['g']=Wd['getContext'](hS(0x1c4),{'alpha':!0x1,'antialias':!0x1})){this['V']=b(this,q['U'],q['Ga']),this['G']=b(this,q['U'],q['Ca']),this['ca']=b(this,q['U'],q['Fa']),this['h']=b(this,q['Na'],q['Ha']),this['I']=b(this,q['Ma'],q['Da']),this['W']=b(this,q['Oa'],q['Ia']),this['J']=b(this,q['U'],q['Ea']),this['Y']=x(this,this['V'],[hS(0x21f),'u_fade']),this['ma']=x(this,this['G'],[hS(0x25d),hS(0x1f8)]),this['oa']=x(this,this['ca'],[hS(0x25d),hS(0x1f8)]),this['pa']=x(this,this['h'],[hS(0x249)]),this['na']=x(this,this['I'],['u_res']),this['qa']=x(this,this['W'],[hS(0x249)]),this['ka']=x(this,this['J'],(hS(0x1f0)+hS(0x26b))[hS(0x1d5)]('\x20'));var Wj=new Float32Array([-0x1,-0x1,0x1,-0x1,-0x1,0x1,0x1,0x1]);this['la']=G(this,Wj,Wd[hS(0x2a8)]),this['ra']=G(this,Wj,Wd['STATIC_DRAW']),this['$']=G(this,0x5dc0,Wd[hS(0x1fa)]),this['D']=G(this,0x1f40,Wd[hS(0x1fa)]),this['Z']=G(this,0x3e80,Wd[hS(0x1fa)]),this['ea']=G(this,0x8340,Wd[hS(0x1fa)]),this['F']=new Float32Array(0x1770),this['aa']=new Float32Array(0x7d0),this['ja']=new Float32Array(0xfa0),this['Aa']=new Float32Array(0x20d0),this['Ja']=[],this['Ba']=new Set(),this['wa']=k(this,this['V']),this['sa']=k(this,this['G']),this['ta']=k(this,this['J']),this['va']=u(this,this['h'],this['$'],[['a_xyrr',0x4,0x0],[hS(0x251),0x1,0x10]]),this['da']=u(this,this['h'],this['D'],[[hS(0x25f),0x4,0x0],['a_depth',0x1,0x10]]),this['ia']=u(this,this['I'],this['Z'],[[hS(0x1e4),0x4,0x0],['a_rad',0x1,0x10]]),this['xa']=u(this,this['W'],this['ea'],[[hS(0x1e4),0x4,0x0],[hS(0x29a),0x1,0x10],[hS(0x267),0x2,0x14]],0x7),this['o']=v(this),this['u']=v(this),this['v']=v(this),this['j']=v(this),this['m']=v(this),this['C']=Y(this,Wd[hS(0x2a6)],Wd[hS(0x299)]),this['ba']=0x1,W0(this);}}[h0(0x269)](Wd,Wj){const hH=h0,WD=this['g'];return Wd=WD[hH(0x1d2)](Wd),WD[hH(0x29b)](Wd,Wj),WD[hH(0x237)](Wd),WD[hH(0x205)](Wd,WD[hH(0x1ff)])||console[hH(0x23e)](WD['getShaderInfoLog'](Wd)),Wd;}}async function Wg(Wd,Wj,WD=0x14d){const hF=h0;if(Wj){var WQ=Wd['g'],Wc=Ws=>WQ[hF(0x236)]([{'opacity':0x1-Ws},{'opacity':Ws}],{'duration':WD,'easing':hF(0x27e),'fill':'both'})[hF(0x20c)];Wd['J']&&(await Wc(0x0),f(Wd['j']),Wd['l']=0x0,Wd['h']=0x0,Wd['D']=!0x1),await W3(Wd['C'],Wj),Wd['J']=!0x0,await Wc(0x1),Wd['D']=!0x0;}}function Wn(Wd){const hM=h0;var Wj=0x0,WD=0x0,WQ=0x0,Wc=0x0,Ws=0x0;let Wt=0x0,WB=!0x1;const Wi=WT=>{const hA=X;if(WT[hA(0x23c)]){if(WT[hA(0x25c)]==='pointerdown')WB=!0x0,WD=Wj=WT[hA(0x223)],WQ=WT[hA(0x232)],Wc=Wd['h'],Ws=Wd[hA(0x282)],Wt=0x0,Wd['u']=!0x1,Wd['g'][hA(0x26a)](WT[hA(0x2a0)]);else{if(WT[hA(0x25c)]===hA(0x1f5))WB=!0x1,Wt=0x0,Wd['o']=0x0,Wd['u']=!0x1,Wd['g']['releasePointerCapture'](WT[hA(0x2a0)]);else{if(WT[hA(0x25c)]===hA(0x228)&&WB){var WE=WT[hA(0x223)]-Wj,WP=-(WT[hA(0x232)]-WQ)/window[hA(0x27d)];Wt===0x0&&(Math[hA(0x260)](WT['clientX']-WD)>0x5||Math['abs'](WT[hA(0x232)]-WQ)>0x5)&&(Wt=Math['abs'](WT[hA(0x223)]-WD)>Math['abs'](WT['clientY']-WQ)?0x1:0x2);if(Wt===0x1)Wd['u']=!0x0,Wd['o']+=WE*0.3;else{if(Wt===0x2){if(WT[hA(0x223)]<window[hA(0x1f9)]/0x2){Wd['h']=Math[hA(0x27f)](0x0,Math[hA(0x214)](1.5,Wc+WP*0x2)),Wd['v']=Wd['h'],Wz(Wd),WE=Wd['j'],WP=WE[hA(0x287)]/WE['scale'];const WH=WE['height']/WE[hA(0x1e3)];var WS=Math['floor'](0x258*WE['u']*Wd['h']);if(WS>WE['i']){WS-=WE['i'];const WF=e*1.3;for(let WA=0x0;WA<WS;WA++){const WM=A(e,g),WR=WM>WF&&H()<=0.5?A(e*0.5,e*0.5+WM*0.6):0x1+(WM-e)*0.1+A(0x2);p(WE,A(WP),A(WH),WM,0x0,0x0,WR,!0x1,WM);}}else WS<WE['i']&&(WE['i']=WS);}else Wd[hA(0x282)]=Math[hA(0x27f)](0x0,Math[hA(0x214)](0x5,Ws+WP*0x3));}}Wj=WT[hA(0x223)];}}}}};for(const WT of[hM(0x285),hM(0x228),hM(0x1f5)])Wd['g'][hM(0x226)](WT,Wi);}function WL(Wd,Wj){const hR=h0;let WD=performance[hR(0x1d3)](),WQ=!0x1,Wc=0x1b00;const Ws=()=>{const ha=hR;WD=performance[ha(0x1d3)](),Wc=0xd80,WQ&&(WQ=!0x1,Wj(),Wt());},Wt=()=>{const hq=hR,WB=performance[hq(0x1d3)]()-WD;WB>=Wc?(WQ=!0x0,Wd()):setTimeout(Wt,Wc-WB);};['pointerdown',hR(0x228),hR(0x293)]['forEach'](WB=>{const hV=hR;window[hV(0x226)](WB,Ws,{'passive':!0x0});}),Wt();}function Wy(Wd,Wj){const hC=h0;var WD=(Wj-Wd['I'])/0x3e8;WD>0.1&&(WD=0.1),Wd['I']=Wj,Wd['u']?(Wd['l']+=Wd['o'],Wd['o']=0x0):Wd['l']+=0x1,Wd['l']<0x0&&(Wd['l']=0x0),Wd['D']&&Wd['h']<Wd['v']&&(Wd['h']=Math[hC(0x214)](Wd['v'],Wd['h']+Wd['v']*WD/0x3)),Wz(Wd),Wj=Math[hC(0x295)](Wd['l']),Wj!==Wd['j'][hC(0x204)]&&C(Wd['j'],Wj),Wd['time']=Wd['l']/0x3c,Wd['h']>0.5&&!Wd['m']&&Math[hC(0x1de)]()<0.0035&&(Wd['m']=Ww()),Wd[hC(0x1ef)]=0x0;if(Wd['m']){Wj=Wd['m'],Wj['t']+=WD,WD=0x0;for(const WQ of Wj['La']){const Wc=Wj['t']-WQ['t'];Wc>=0x0&&(WD+=WQ['ua']*(Wc<WQ['X']?Wc/WQ['X']:Math[hC(0x1cb)](-(Wc-WQ['X'])/WQ['ya'])));}Wd['flash']=Math[hC(0x214)](1.35,WD),Wd['flashPos']=Wj['Ka'],Wj['t']>Wj['za']&&(Wd['m']=void 0x0);}Wd['G']=1.03,WX(Wd['C'],Wd['j'],Wd[hC(0x282)],Wd[hC(0x21a)],Wd['G'],Wd['flash'],Wd[hC(0x1ec)]),requestAnimationFrame(Ws=>Wy(Wd,Ws));}function Wz(Wd){Wd=Wd['h'],j=Wd>0.02,n=Wd*0.4,L=0x1+Wd*0x4,w=Wd*0x3c,d=[0x2,0x3+Wd*0x3],Q=0.5+Wd*0x2,e=0xa+Wd*0xa,g=0x1e+Wd*0x19,D=0x1,t=Wd;}function Ww(){const hf=h0,Wd=[],Wj=0x2+(Math[hf(0x1de)]()*0x3|0x0);let WD=0x0;for(let WQ=0x0;WQ<Wj;WQ++)Wd['push']({'t':WD,'ua':WQ===0x0?0x1:0.3+Math[hf(0x1de)]()*0.6,'X':0.008+Math['random']()*0.012,'ya':0.05+Math['random']()*0.11}),WD+=0.025+Math[hf(0x1de)]()*0.08;return{'t':0x0,'za':WD+0.45,'Ka':[0.15+Math[hf(0x1de)]()*0.7,0x0],'La':Wd};}class WZ{constructor(){const hN=h0;this['g']=document[hN(0x240)]('c'),this['g'][hN(0x281)][hN(0x230)]='0',this['C']=new We(this['g']);if(this['C']['g']){this['v']=0.93,this['h']=0x0,this['J']=this['D']=!0x1,this['blur']=1.93,this['l']=this['time']=0x0,this['G']=1.03,this['I']=0x0,this['m']=void 0x0,this[hN(0x1ef)]=0x0,this['flashPos']=[...i],this['o']=0x0,this['u']=!0x1,this['j']=new m(this['g'][hN(0x287)],this['g'][hN(0x28c)]),Wg(this,hN(0x2a3),0x29a),Wn(this),document['getElementById'](hN(0x2a5))[hN(0x270)]=Wj=>Wg(this,Wj[hN(0x1d0)]?.[hN(0x26c)]?.[0x0]),window[hN(0x226)](hN(0x200),Wj=>Wj['preventDefault']()),window[hN(0x226)](hN(0x294),Wj=>{const hO=hN;Wj[hO(0x1c6)](),Wg(this,Wj[hO(0x29f)]?.['files']?.[0x0]);}),window[hN(0x226)](hN(0x21d),()=>{const hJ=hN;W0(this['C']),this['j'][hJ(0x287)]=this['g']['width'],this['j']['height']=this['g']['height'],this['j']['scale']=Math[hJ(0x214)](window[hJ(0x279)]||0x1,0x2),this['j']['O']=!0x0;}),this['g'][hN(0x226)]('touchstart',Wj=>Wj['preventDefault']());var Wd=document[hN(0x240)](hN(0x28a));WL(()=>{const hI=hN;Wd[hI(0x209)][hI(0x2aa)](hI(0x1ed));},()=>{const hl=hN;Wd['classList']['remove'](hl(0x1ed));}),requestAnimationFrame(Wj=>Wy(this,Wj));}}}Promise[h0(0x2a1)](Object[h0(0x218)](q)['map'](([Wd,Wj])=>a(Wj)[h0(0x242)](WD=>q[Wd]=WD)))[h0(0x242)](()=>new WZ());}[hp(0x201)](this);