diff --git a/code/pom.xml b/code/pom.xml index 747a2cc..884ef26 100644 --- a/code/pom.xml +++ b/code/pom.xml @@ -63,9 +63,8 @@ com.google.code.findbugs - annotations - 3.0.1u2 - compile + jsr305 + 3.0.2 org.ow2.asm @@ -239,7 +238,7 @@ io.prometheus simpleclient - 0.15.0 + 0.16.0 diff --git a/code/src/main/java/org/nocturne/ddos/PowFilter.java b/code/src/main/java/org/nocturne/ddos/PowFilter.java index 6dc9c3d..7cfe6fb 100644 --- a/code/src/main/java/org/nocturne/ddos/PowFilter.java +++ b/code/src/main/java/org/nocturne/ddos/PowFilter.java @@ -1,351 +1,429 @@ -package org.nocturne.ddos; - -import org.apache.commons.codec.digest.DigestUtils; -import org.nocturne.util.StringUtil; - -import javax.servlet.*; -import javax.servlet.http.Cookie; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; -import java.io.IOException; -import java.io.PrintWriter; -import java.nio.charset.StandardCharsets; -import java.security.SecureRandom; -import java.util.ArrayList; -import java.util.List; -import java.util.Random; -import java.util.concurrent.TimeUnit; - -@SuppressWarnings("unused") -public class PowFilter implements Filter { - private static final String X_REAL_IP = "X-Real-IP"; - - private static final Random RANDOM = new SecureRandom(Long.toString(System.nanoTime() - ^ System.currentTimeMillis() - ^ Runtime.getRuntime().freeMemory()).getBytes(StandardCharsets.UTF_8)); - - private static final List REQUEST_FILTERS = new ArrayList<>(); - - @Override - public void init(FilterConfig filterConfig) { - // No operations. - } - - @Override - public void destroy() { - // No operations. - } - - @Override - public void doFilter(ServletRequest request, ServletResponse response, - FilterChain chain) throws IOException, ServletException { - if (request instanceof HttpServletRequest && response instanceof HttpServletResponse) { - HttpServletRequest httpServletRequest = (HttpServletRequest) request; - HttpServletResponse httpServletResponse = (HttpServletResponse) response; - for (RequestFilter requestFilter : REQUEST_FILTERS) { - Integer verdict = requestFilter.filter(httpServletRequest); - if (verdict != null) { - if (verdict == 0) { - chain.doFilter(request, response); - } else { - httpServletResponse.sendError(verdict); - } - return; - } - } - doInternalFilter(httpServletRequest, httpServletResponse, chain); - } else { - chain.doFilter(request, response); - } - } - - private static String getIp(HttpServletRequest httpRequest) { - String ip = httpRequest.getHeader(X_REAL_IP); - if (StringUtil.isNotEmpty(ip)) { - return ip; - } else { - return httpRequest.getRemoteAddr(); - } - } - - private static String getUserAgent(HttpServletRequest httpRequest) { - return httpRequest.getHeader("User-Agent"); - } - - private static String getRequestFingerprint(HttpServletRequest request) { - return "#" + getIp(request) + "!" + getUserAgent(request); - } - - private void doInternalFilter(HttpServletRequest request, HttpServletResponse response, FilterChain chain) - throws IOException, ServletException { - HttpSession session = request.getSession(); - - String secret = (String) session.getAttribute("secret"); - String sha = (String) session.getAttribute("sha"); - String requestFingerprint = getRequestFingerprint(request); - - if (StringUtil.isEmpty(secret) - || StringUtil.isEmpty(sha) - || !sha.equals(DigestUtils.sha1Hex(secret + requestFingerprint))) { - secret = nextSecret(); - session.setAttribute("secret", secret); - sha = DigestUtils.sha1Hex(secret + requestFingerprint); - session.setAttribute("sha", sha); - } - - String half = sha.substring(0, 20); - String cookie = null; - if (request.getCookies() != null) { - for (Cookie c : request.getCookies()) { - if (c.getName().equals("pow")) { - cookie = c.getValue(); - break; - } - } - } - - if (cookie != null && cookie.equals(sha)) { - chain.doFilter(request, response); - } else if (cookie != null && isResult(cookie, half)) { - Cookie powCookie = new Cookie("pow", sha); - powCookie.setMaxAge((int) TimeUnit.DAYS.toSeconds(1)); - response.addCookie(powCookie); - chain.doFilter(request, response); - } else { - Cookie powCookie = new Cookie("pow", half); - powCookie.setMaxAge((int) TimeUnit.DAYS.toSeconds(1)); - response.addCookie(powCookie); - response.setContentType("text/html"); - PrintWriter writer = response.getWriter(); - writer.println("\n

Please wait. Your browser is being checked. It may take a few seconds...

"); - writer.println(""); - writer.flush(); - } - } - - private boolean isResult(String cookie, String halfSecret) { - if (cookie.endsWith(":" + halfSecret)) { - String hash = DigestUtils.sha1Hex(cookie); - return hash.startsWith("0000"); - } else { - return false; - } - } - - private synchronized static String nextSecret() { - StringBuilder result = new StringBuilder(); - for (int i = 0; i < 4; i++) { - result.append(RANDOM.nextInt()); - } - return DigestUtils.sha1Hex(result.toString()); - } - - private static String getObfuscatedJsCode() { - return "(function(_0x31b5c4,_0x372ca0){var _0x1fff81=_0x263d,_0x2f7321=_0x31b5c4();while(!![]){try{var _0x10372f=-parseInt(_0x1fff81(0x146))/0x1+-parseInt(_0x1fff81(0x12f))/0x2*(parseInt(_0x1fff81(0xea))/0x3)+-parseInt(_0x1fff81(0xd1))/0x4+-parseInt(_0x1fff81(0x177))/0x5*(-parseInt(_0x1fff81(0x10f))/0x6)+parseInt(_0x1fff81(0xe9))/0x7*(-parseInt(_0x1fff81(0x157))/0x8)+parseInt(_0x1fff81(0x11a))/0x9*(-parseInt(_0x1fff81(0x114))/0xa)+-parseInt(_0x1fff81(0x16e))/0xb*(-parseInt(_0x1fff81(0xe0))/0xc);if(_0x10372f===_0x372ca0)break;else _0x2f7321['push'](_0x2f7321['shift']());}catch(_0x57fa13){_0x2f7321['push'](_0x2f7321['shift']());}}}(_0x32fa,0xc3936),(function(_0x343cb7,_0x2124b4){var _0x1b78d6=_0x263d,_0x1839e4=_0x24d6,_0x5bda12=_0x343cb7();while(!![]){try{var _0x259831=parseInt(_0x1839e4(0xb4))/(-0x1a81*0x1+-0x644+-0x20c6*-0x1)*(-parseInt(_0x1839e4(0xaa))/(0xb*-0x211+0x220f+-0x7*0x19e))+parseInt(_0x1839e4(0xf5))/(0x5ea*0x6+0x72a+-0x2aa3)+-parseInt(_0x1839e4(0xe1))/(-0x1*0x174b+-0x11*-0x3d+0x3a*0x55)*(-parseInt(_0x1839e4(0xb0))/(-0x21b6+0xa90+0x7b9*0x3))+parseInt(_0x1839e4(0x12d))/(-0x5*-0x2f+0x1012+0x2b*-0x65)+-parseInt(_0x1839e4(0x95))/(0x92e*0x3+0x19f8+-0x357b)+-parseInt(_0x1839e4(0x174))/(0x1069*-0x1+0x178f*0x1+-0x71e*0x1)*(-parseInt(_0x1839e4(0xcb))/(-0x23d+-0x111*-0xd+-0x3*0x3dd))+-parseInt(_0x1839e4(0x162))/(0x2166+-0x1d9e+-0x3be)*(parseInt(_0x1839e4(0x131))/(-0x27*0xe3+-0x1a84+0x16c*0x2b));if(_0x259831===_0x2124b4)break;else _0x5bda12[_0x1b78d6(0xc9)](_0x5bda12[_0x1b78d6(0x13c)]());}catch(_0x348ec4){_0x5bda12[_0x1b78d6(0xc9)](_0x5bda12[_0x1b78d6(0x13c)]());}}}(_0x6083,0xafa1d+-0x1d3*0x26f+0x3f41*0x5),function(_0x134a3a,_0x1cf86c){var _0x2b6aa4=_0x24d6,_0x4f42e1={'kslMF':function(_0x590670){return _0x590670();},'ymEoe':function(_0x5778fc,_0x3cdbb7){return _0x5778fc+_0x3cdbb7;},'rKYwc':function(_0x4e3f15,_0x1ab1d1){return _0x4e3f15+_0x1ab1d1;},'grIxm':function(_0xa762d7,_0x19194c){return _0xa762d7*_0x19194c;},'RDMgE':function(_0x380ced,_0x3612b3){return _0x380ced/_0x3612b3;},'YNXDS':function(_0x1afbf9,_0x505445){return _0x1afbf9(_0x505445);},'vBcqg':function(_0x17a731,_0x4300ce){return _0x17a731(_0x4300ce);},'wFjPg':function(_0x3fa56d,_0x45ed88){return _0x3fa56d/_0x45ed88;},'gQaJS':function(_0x557dc8,_0x36a319){return _0x557dc8(_0x36a319);},'kMqgW':function(_0x3b844f,_0x2c985f){return _0x3b844f/_0x2c985f;},'YOYjc':function(_0x5cda13,_0xa1f068){return _0x5cda13(_0xa1f068);},'TGgAF':function(_0x451410,_0x142c11){return _0x451410(_0x142c11);},'lTeUs':function(_0xcc6cd0,_0x39c3f9){return _0xcc6cd0(_0x39c3f9);},'KAWmB':function(_0x20deca,_0x294c2f){return _0x20deca/_0x294c2f;},'IvVhg':function(_0x3fdfe4,_0x5eba4f){return _0x3fdfe4(_0x5eba4f);},'pAziV':function(_0x44a78e,_0x1976a7){return _0x44a78e(_0x1976a7);},'OeIxb':function(_0x3bc387,_0x2233e2){return _0x3bc387/_0x2233e2;},'xRCPs':function(_0x5f58af,_0x286511){return _0x5f58af(_0x286511);},'boqnX':function(_0x53066c,_0x3a069a){return _0x53066c*_0x3a069a;},'ndVqi':function(_0x589317,_0x43b570){return _0x589317/_0x43b570;},'eyDRF':function(_0x1e4f79,_0x4fb763){return _0x1e4f79===_0x4fb763;},'Hpsnu':_0x2b6aa4(0xc7),'bBGff':_0x2b6aa4(0x142)},_0x54147e=_0x5119,_0x212759=_0x4f42e1[_0x2b6aa4(0xb5)](_0x134a3a);while(!![]){try{var _0x4fe3bb=_0x4f42e1[_0x2b6aa4(0x12a)](_0x4f42e1[_0x2b6aa4(0x12a)](_0x4f42e1[_0x2b6aa4(0xdc)](_0x4f42e1[_0x2b6aa4(0xdc)](_0x4f42e1[_0x2b6aa4(0x12a)](_0x4f42e1[_0x2b6aa4(0xdc)](_0x4f42e1[_0x2b6aa4(0x16f)](_0x4f42e1[_0x2b6aa4(0x13e)](_0x4f42e1[_0x2b6aa4(0x90)](parseInt,_0x4f42e1[_0x2b6aa4(0x90)](_0x54147e,-0xe26*0x1+0x1*-0x7b2+-0x1*-0x16c5)),-0x1f78+-0x13d*0x9+0x2a9e),_0x4f42e1[_0x2b6aa4(0x13e)](_0x4f42e1[_0x2b6aa4(0x90)](parseInt,_0x4f42e1[_0x2b6aa4(0xba)](_0x54147e,0x1264+0x19*-0x15b+0x17f*0xb)),0x2*-0xceb+-0xc*-0x3+0x19b4)),_0x4f42e1[_0x2b6aa4(0x146)](_0x4f42e1[_0x2b6aa4(0xd1)](parseInt,_0x4f42e1[_0x2b6aa4(0xd1)](_0x54147e,-0x1*0x1972+-0x56e*-0x1+0x14ec)),0x885+-0x1e95+-0x1613*-0x1)),_0x4f42e1[_0x2b6aa4(0x116)](-_0x4f42e1[_0x2b6aa4(0x148)](parseInt,_0x4f42e1[_0x2b6aa4(0xfb)](_0x54147e,0x2535+0x2*-0x8aa+0x65*-0x30)),-0x15c4+0x6e*-0x3b+0x1791*0x2)),_0x4f42e1[_0x2b6aa4(0x116)](_0x4f42e1[_0x2b6aa4(0xbc)](parseInt,_0x4f42e1[_0x2b6aa4(0xd1)](_0x54147e,-0x5a6*0x1+0xf84+0x1*-0x8f5)),-0x79f*-0x5+0x5e6+0x233*-0x14)),_0x4f42e1[_0x2b6aa4(0x16f)](_0x4f42e1[_0x2b6aa4(0x14d)](_0x4f42e1[_0x2b6aa4(0x107)](parseInt,_0x4f42e1[_0x2b6aa4(0x13f)](_0x54147e,-0x11e3+0x33f*-0x9+0x2ffe)),0x262d*-0x1+-0xfa9+0x35dc),_0x4f42e1[_0x2b6aa4(0xe0)](-_0x4f42e1[_0x2b6aa4(0xba)](parseInt,_0x4f42e1[_0x2b6aa4(0x12f)](_0x54147e,0x70e+-0x929+0x307)),-0x17bc+-0x98*-0xb+0x113b*0x1))),_0x4f42e1[_0x2b6aa4(0x14d)](_0x4f42e1[_0x2b6aa4(0xd1)](parseInt,_0x4f42e1[_0x2b6aa4(0xd1)](_0x54147e,0x236a+-0x14cc+-0xdaf)),-0x2230*0x1+-0x243+0x247b)),_0x4f42e1[_0x2b6aa4(0x165)](_0x4f42e1[_0x2b6aa4(0x143)](-_0x4f42e1[_0x2b6aa4(0x12f)](parseInt,_0x4f42e1[_0x2b6aa4(0x12f)](_0x54147e,0x1d39+0x10a2*0x2+-0xb*0x598)),-0x1*-0x16a1+-0x1e25+0x78d),_0x4f42e1[_0x2b6aa4(0xe0)](_0x4f42e1[_0x2b6aa4(0xba)](parseInt,_0x4f42e1[_0x2b6aa4(0xd1)](_0x54147e,0x991*0x4+0xca6+-0x31f1)),0x727+-0x5c*0x8+-0x7*0x9b)));if(_0x4f42e1[_0x2b6aa4(0xb9)](_0x4fe3bb,_0x1cf86c))break;else _0x212759[_0x4f42e1[_0x2b6aa4(0xa5)]](_0x212759[_0x4f42e1[_0x2b6aa4(0xa0)]]());}catch(_0x5a5c05){_0x212759[_0x4f42e1[_0x2b6aa4(0xa5)]](_0x212759[_0x4f42e1[_0x2b6aa4(0xa0)]]());}}}(_0x205d,-0x1b9ad+0x1aff+0x55412)));function _0x24d6(_0x8e5687,_0x23fa5f){var _0x361ed4=_0x6083();return _0x24d6=function(_0x4c0e3d,_0x14c9c6){_0x4c0e3d=_0x4c0e3d-(0x2342+-0x1238+-0x107e);var _0xe6a8e8=_0x361ed4[_0x4c0e3d];return _0xe6a8e8;},_0x24d6(_0x8e5687,_0x23fa5f);}function _0x32fa(){var _0x24c511=['cnGIS','Glfpd','qcmWI','622293bGOJPm','bqvGk','36QXrODV','ltw','oZnLz','pVIQD','IvVhg','reload','rmRVW','length','1|0|6|2|4|','fDlSd','VNlqe','1gZniPI','kxBwH','xRCPs','Bcxhq','921264AqzzCT','BccfS','NVKrP','eyDRF','indexOf','dXbLq','nXtKA','VCgjZ','ehbZq','rbmQk','OcjPU','AZJpP','uxXHo','450FvAzdU','4279MjaXMd','jiBgZ','IIo','NiNXl','30yCJhHm','utV','qzAZX','hPeTp','PuTxj','tHsMI','149571yTgMmn','getTime','2601729DeOiEj','IFGyK','lLvbg','nwAFT','cookie','NOmyg','charAt','ghFKN','setTime','DbeiT','AWUQr','OeIxb','170ifxVgF','expires=','DSUMB','kslMF','BObCW','fWWBD','KJqom','148CmKlwZ','pow','fcWRa','HGxhy','YCEEl','YNXDS','xwPkX','pHbJw','IeeFc','jcNbX','toUTCStrin','NfwAA','LXyks','shift','1066050Mwd','TGgAF','dvciN','pmscZ','81CVufoX','0000','miIoF','ouInc','uzqgi','325062mWjRIg','lKkAL','GukGg','PmAML','Hpsnu','VVAHf','ubpFn','tucsr','scnDI','wFjPg','eNYXv','substring','IIrpF','956588DeIi','ztNAv','7HKDtGS','XsWpH','2028808bqOgIK','mDyWK','HCbuz','3|5|7','opxDA','HsrnC','mWuME','YOYjc','bgTQi','403994GuPU','bBGff','4|0|1|2|3','FvSIi','mvKQE','eSaMb','VUcQq','toString','IwToP','QIold','sNezZ','vxYyM','GpZqu','FNRbq','11GDyGyh','zhJWz','KRhfh','fromCharCo','SEtMK','XmUtC','vxZNb','CzaEE','wrkxW','67635vdOCFC','83668KZlDvE','798130xLXX','tclmV','pAziV','kdrcy','PMUux','Jqanm','gidku','WUVcH','BAqwZ','CwUuc','push','YvTAM','moDDI','RDMgE','RRQYr','KkGRy','wANzU','RtCcw','2468640xOfjjG','lDwos','LuFYv','tMkPO','FMAEo','raklx','tBptI','niMFJ','lTeUs','yesbK','wrzCd','BABsh','TlNto','kMqgW','yXOOg','42209568LOvekF','QMQSn','eUuHn','vBcqg','cEdxv','3513256ZXE','umUTB','mvRqx','1873878iJK','42HNsSQR','49347kjQECs','eCHwh','grIxm','sDIBj'];_0x32fa=function(){return _0x24c511;};return _0x32fa();}function _0x205d(){var _0xd84788=_0x24d6,_0x7879cf={'niMFJ':_0xd84788(0xd7)+'e','dXbLq':_0xd84788(0x8e),'uCNZn':_0xd84788(0x128)+_0xd84788(0x14b),'VVAHf':_0xd84788(0xc1),'IwToP':_0xd84788(0xc7),'vxZNb':_0xd84788(0xe7),'scnDI':_0xd84788(0x139)+_0xd84788(0xd2),'OcjPU':_0xd84788(0x12b)+_0xd84788(0x137),'TlNto':_0xd84788(0xb2),'XsWpH':_0xd84788(0x154),'ubpFn':_0xd84788(0xcf),'ghFKN':_0xd84788(0x13b),'LLTDV':_0xd84788(0x11b)+'de','sDIBj':_0xd84788(0x101)+_0xd84788(0xaf),'VNlqe':_0xd84788(0x119),'FNRbq':_0xd84788(0x125)+'wD','FMAEo':_0xd84788(0xc3),'HsrnC':_0xd84788(0xf9),'gidku':_0xd84788(0x15a),'Glfpd':_0xd84788(0x96),'mvKQE':_0xd84788(0x8f)+'WF','fWWBD':_0xd84788(0x140),'GukGg':_0xd84788(0x13c),'gonmI':_0xd84788(0x141)+'qs','AWUQr':function(_0x37c548){return _0x37c548();}},_0x584135=[_0x7879cf[_0xd84788(0x97)],_0x7879cf[_0xd84788(0x120)],_0x7879cf[_0xd84788(0x118)],_0x7879cf[_0xd84788(0x9d)],_0x7879cf[_0xd84788(0x135)],_0x7879cf[_0xd84788(0x157)],_0x7879cf[_0xd84788(0xf7)],_0x7879cf[_0xd84788(0xfe)],_0x7879cf[_0xd84788(0xf2)],_0x7879cf[_0xd84788(0xde)],_0x7879cf[_0xd84788(0xc5)],_0x7879cf[_0xd84788(0x161)],_0x7879cf[_0xd84788(0xf4)],_0x7879cf[_0xd84788(0x127)],_0x7879cf[_0xd84788(0x136)],_0x7879cf[_0xd84788(0x16d)],_0x7879cf[_0xd84788(0x10f)],_0x7879cf[_0xd84788(0xb6)],_0x7879cf[_0xd84788(0x113)],_0x7879cf[_0xd84788(0x13d)],_0x7879cf[_0xd84788(0x93)],_0x7879cf[_0xd84788(0x10a)],_0x7879cf[_0xd84788(0x112)],_0x7879cf[_0xd84788(0x14e)]];return _0x205d=function(){return _0x584135;},_0x7879cf[_0xd84788(0xe4)](_0x205d);}function sha1(_0x1cf4c7){var _0x5dd955=_0x24d6,_0x3f3947={'vmfQt':function(_0x1bb826,_0x138c87){return _0x1bb826|_0x138c87;},'LNHxO':function(_0x14ddfa,_0x48bcde){return _0x14ddfa<<_0x48bcde;},'mvRqx':function(_0x5aae84,_0x4adbaa){return _0x5aae84>>>_0x4adbaa;},'oZnLz':function(_0x50482a,_0x1f5de9){return _0x50482a-_0x1f5de9;},'AZJpP':function(_0x892446,_0x1e3dfb){return _0x892446<=_0x1e3dfb;},'WUVcH':function(_0x313175,_0x5050a6){return _0x313175&_0x5050a6;},'YCEEl':function(_0xf01abe,_0x1bfcef){return _0xf01abe+_0x1bfcef;},'kdrcy':function(_0x32e4bb,_0x209ff8){return _0x32e4bb*_0x209ff8;},'BObCW':function(_0x3dad94,_0x505d54){return _0x3dad94>>>_0x505d54;},'wMnHD':function(_0x4b73be,_0x56d07f){return _0x4b73be*_0x56d07f;},'tMkPO':function(_0x3532e0,_0x2779d1){return _0x3532e0+_0x2779d1;},'ouInc':function(_0x250de5,_0x4b4f26){return _0x250de5(_0x4b4f26);},'CzaEE':function(_0x5dd454,_0x811aa7){return _0x5dd454>=_0x811aa7;},'pmscZ':function(_0x2aa800,_0x314e){return _0x2aa800*_0x314e;},'IIrpF':function(_0x32e2df,_0x1b8170){return _0x32e2df(_0x1b8170);},'ztNAv':_0x5dd955(0x104),'HGVBE':_0x5dd955(0xc4),'YvTAM':function(_0xeca72,_0x3e0348){return _0xeca72<_0x3e0348;},'tHsMI':_0x5dd955(0x13c),'VCgjZ':function(_0x44a8e1,_0x56d5ee){return _0x44a8e1<_0x56d5ee;},'opxDA':_0x5dd955(0x11b)+'de','qzAZX':function(_0x567600,_0x4f1775){return _0x567600>_0x4f1775;},'RtCcw':function(_0x562ca3,_0x3a84a1){return _0x562ca3(_0x3a84a1);},'qqQKw':function(_0x2477c0,_0x525975){return _0x2477c0|_0x525975;},'bSWXO':function(_0x59081a,_0x275716){return _0x59081a>>_0x275716;},'qcmWI':function(_0x317b19,_0x46ea5c){return _0x317b19&_0x46ea5c;},'GSmLQ':function(_0x5a39b5,_0x2f5b4d){return _0x5a39b5|_0x2f5b4d;},'uzqgi':function(_0x56b20c,_0xfb7097){return _0x56b20c>>_0xfb7097;},'nXtKA':function(_0x1ee368,_0x268cce){return _0x1ee368&_0x268cce;},'yXOOg':function(_0xbead4f,_0xc6c00f){return _0xbead4f(_0xc6c00f);},'ITuzH':function(_0x232d18,_0x5739fa){return _0x232d18(_0x5739fa);},'umUTB':function(_0x3d5d25,_0x3d8bf0){return _0x3d5d25|_0x3d8bf0;},'NVxPQ':function(_0x123268,_0x35ce0f){return _0x123268<<_0x35ce0f;},'QxHwi':function(_0x3870bd,_0x409b52){return _0x3870bd+_0x409b52;},'RcMeI':function(_0x13814b,_0x6f49f0){return _0x13814b(_0x6f49f0);},'sNezZ':function(_0x5ac3bd,_0x1a9dea){return _0x5ac3bd(_0x1a9dea);},'cnGIS':function(_0x1b1975,_0x13b2a0){return _0x1b1975%_0x13b2a0;},'VAETf':function(_0x49b7b0,_0x18621a){return _0x49b7b0<<_0x18621a;},'NVKrP':function(_0x3407c9,_0xea2ab8){return _0x3407c9(_0xea2ab8);},'xwPkX':function(_0x10f675,_0x15a3f3){return _0x10f675|_0x15a3f3;},'XmUtC':function(_0x182577,_0x1abb68){return _0x182577|_0x1abb68;},'KJqom':function(_0xab9618,_0x3a2b3f){return _0xab9618(_0x3a2b3f);},'mDyWK':function(_0x1fad07,_0x16c9d5){return _0x1fad07<<_0x16c9d5;},'pHbJw':function(_0x58ea9f,_0x4dbfbd){return _0x58ea9f-_0x4dbfbd;},'DSUMB':function(_0x4d4be9,_0x522f27){return _0x4d4be9|_0x522f27;},'zhJWz':function(_0x1be85e,_0x50375a){return _0x1be85e|_0x50375a;},'PuTxj':function(_0x1781ea,_0x49ce9d){return _0x1781ea-_0x49ce9d;},'xkITY':function(_0x2bb70a,_0x5682c3){return _0x2bb70a<<_0x5682c3;},'wANzU':function(_0x5bc85e,_0x5182a5){return _0x5bc85e<<_0x5182a5;},'PbOPZ':function(_0x4fbb54,_0x351d18){return _0x4fbb54(_0x351d18);},'tclmV':function(_0x176b83,_0x3d92fe){return _0x176b83-_0x3d92fe;},'BAqwZ':_0x5dd955(0xc7),'fcWRa':function(_0x5f4411,_0x32b8ed){return _0x5f4411!=_0x32b8ed;},'lKkAL':function(_0x2bb495,_0x5760ad){return _0x2bb495%_0x5760ad;},'moDDI':function(_0x12c800,_0x19d347){return _0x12c800(_0x19d347);},'bqvGk':function(_0x4ac6c7,_0x54cfe3){return _0x4ac6c7(_0x54cfe3);},'QIold':function(_0x1bdb8b,_0x1bb16e){return _0x1bdb8b&_0x1bb16e;},'NOmyg':function(_0x52cea9,_0xd068d2){return _0x52cea9<<_0xd068d2;},'aeaVo':function(_0x4d579e,_0x4e5733){return _0x4d579e<_0x4e5733;},'NWitB':_0x5dd955(0x119),'RRQYr':_0x5dd955(0xbe)+_0x5dd955(0x102),'tucsr':function(_0x46c6c4,_0x59bddf){return _0x46c6c4<=_0x59bddf;},'LXyks':function(_0x5dada6,_0x4237a8,_0x4853ab){return _0x5dada6(_0x4237a8,_0x4853ab);},'eSaMb':function(_0x4165f0,_0x4cb90e){return _0x4165f0^_0x4cb90e;},'cSSWR':function(_0x775f08,_0x250372){return _0x775f08^_0x250372;},'VUcQq':function(_0x404b94,_0x63f3e6){return _0x404b94+_0x63f3e6;},'raklx':function(_0x49f714,_0x1db3db){return _0x49f714<=_0x1db3db;},'Drpgi':function(_0x4fe7a7,_0x20685c){return _0x4fe7a7+_0x20685c;},'tBptI':function(_0x383d33,_0x36c005){return _0x383d33+_0x36c005;},'NiNXl':function(_0x238747,_0x53898a){return _0x238747+_0x53898a;},'DbeiT':function(_0xb73535,_0x1f79ec,_0x359dff){return _0xb73535(_0x1f79ec,_0x359dff);},'Mtokz':function(_0x5c14c3,_0x5984fd){return _0x5c14c3&_0x5984fd;},'TDUzS':function(_0x3795e8,_0x3eb653){return _0x3795e8<=_0x3eb653;},'dAwTj':function(_0x4d7e0c,_0x37cb7d){return _0x4d7e0c+_0x37cb7d;},'mWuME':function(_0xc7cd2e,_0x33503f){return _0xc7cd2e+_0x33503f;},'nwAFT':function(_0x2ade77,_0x30ba44){return _0x2ade77+_0x30ba44;},'HCbuz':function(_0x207c66,_0x560257){return _0x207c66+_0x560257;},'GpZqu':function(_0x4f77a4,_0x5dea24,_0x50a944){return _0x4f77a4(_0x5dea24,_0x50a944);},'pVIQD':function(_0x94659c,_0x3f793d){return _0x94659c|_0x3f793d;},'MInZg':function(_0x10142f,_0x4644aa){return _0x10142f&_0x4644aa;},'dZSbO':function(_0x34cfd9,_0x8e556a,_0x5f5df1){return _0x34cfd9(_0x8e556a,_0x5f5df1);},'dvciN':function(_0xfc880e,_0x35e5eb){return _0xfc880e&_0x35e5eb;},'wrzCd':function(_0x1f5cb8,_0x254a21){return _0x1f5cb8+_0x254a21;},'BABsh':function(_0x3bf392,_0x3ad7ea){return _0x3bf392+_0x3ad7ea;},'eCHwh':function(_0x60ccd0,_0x9b7128,_0x39579f){return _0x60ccd0(_0x9b7128,_0x39579f);},'rKnfA':function(_0x167ad2,_0x49ff63){return _0x167ad2^_0x49ff63;},'yesbK':function(_0x5911bd,_0x2ebfa5,_0x505eef){return _0x5911bd(_0x2ebfa5,_0x505eef);},'rmRVW':function(_0x327a17,_0x15ed20){return _0x327a17&_0x15ed20;},'lLvbg':function(_0x20e78c,_0xe62a0){return _0x20e78c+_0xe62a0;},'LuFYv':function(_0x42cdd2,_0xd0e8f5){return _0x42cdd2+_0xd0e8f5;},'KRhfh':function(_0x41f0d8,_0x22e8e6,_0x4d7997){return _0x41f0d8(_0x22e8e6,_0x4d7997);},'jcNbX':function(_0x2edc96,_0x4e7f23,_0x5e3f0e){return _0x2edc96(_0x4e7f23,_0x5e3f0e);},'wrkxW':function(_0x412b0,_0x189582){return _0x412b0+_0x189582;},'fDlSd':function(_0x423d71,_0x483e5c){return _0x423d71&_0x483e5c;},'HGxhy':function(_0x20c3c4,_0x44b135){return _0x20c3c4&_0x44b135;},'KkGRy':function(_0x22b08b,_0x55834b){return _0x22b08b&_0x55834b;},'CwUuc':function(_0x56e06,_0x2352ac){return _0x56e06+_0x2352ac;},'QMQSn':function(_0x30170b,_0x120398){return _0x30170b+_0x120398;},'bgTQi':function(_0x272ee6,_0x38e710){return _0x272ee6+_0x38e710;},'SEtMK':function(_0x53c523,_0x41584f){return _0x53c523(_0x41584f);},'uxXHo':function(_0x569665,_0x399619){return _0x569665(_0x399619);}},_0x50cae3=_0x5119;function _0xc8550e(_0x69311c,_0x3e461a){var _0x4ed622=_0x5dd955;return _0x3f3947[_0x4ed622(0x159)](_0x3f3947[_0x4ed622(0xef)](_0x69311c,_0x3e461a),_0x3f3947[_0x4ed622(0x151)](_0x69311c,_0x3f3947[_0x4ed622(0xa1)](0x134+0x1c14+-0x1d28,_0x3e461a)));}function _0x4f3bd9(_0x1c884b){var _0xafc39d=_0x5dd955,_0x25f7e5=_0x5119,_0x477e73='',_0x1b55aa,_0x3eeccd,_0x1aef19;for(_0x1b55aa=0xf95*0x2+0x26ca+-0x45f4;_0x3f3947[_0xafc39d(0x149)](_0x1b55aa,0x13*-0x3d+-0x262+0x19*0x47);_0x1b55aa+=0xc5*0x1f+0xf3+-0x18cc){_0x3eeccd=_0x3f3947[_0xafc39d(0x117)](_0x3f3947[_0xafc39d(0x151)](_0x1c884b,_0x3f3947[_0xafc39d(0x98)](_0x3f3947[_0xafc39d(0x158)](_0x1b55aa,0x1255+-0xa*0xbf+-0xadb),0x682+0x714+-0x12*0xc1)),-0x3*-0x725+0x105b+0x25bb*-0x1),_0x1aef19=_0x3f3947[_0xafc39d(0x117)](_0x3f3947[_0xafc39d(0x152)](_0x1c884b,_0x3f3947[_0xafc39d(0x169)](_0x1b55aa,-0x1ca0+0x86*0x14+0x122c*0x1)),0x3*-0x30+0x3*0x1c7+-0x4b6),_0x477e73+=_0x3f3947[_0xafc39d(0xad)](_0x3eeccd[_0x3f3947[_0xafc39d(0x9c)](_0x25f7e5,0x1ea1*0x1+0x5b0+-0x236c*0x1)](-0x78d+0x1385+-0xbe8),_0x1aef19[_0x3f3947[_0xafc39d(0x9c)](_0x25f7e5,-0xe2*-0xc+-0xe08+0x455)](0x1*-0x21f5+-0x13b*-0x15+-0x1*-0x82e));}return _0x477e73;}function _0x4222b7(_0x54169f){var _0x267072=_0x5dd955,_0x249cb6=_0x5119,_0x3c4b14='',_0x3b2ed4,_0x2ea2f7;for(_0x3b2ed4=-0x44*-0x89+0x1b20+0x1*-0x3f7d;_0x3f3947[_0x267072(0x13a)](_0x3b2ed4,-0x3bd*0xa+-0xdbc+-0x12*-0x2d7);_0x3b2ed4--){_0x2ea2f7=_0x3f3947[_0x267072(0x117)](_0x3f3947[_0x267072(0x152)](_0x54169f,_0x3f3947[_0x267072(0x11a)](_0x3b2ed4,0x1067*-0x2+0x15*0xb+0x1feb*0x1)),-0x11*0x9d+0x2d8+0x7a4),_0x3c4b14+=_0x2ea2f7[_0x3f3947[_0x267072(0xce)](_0x249cb6,-0xb2a+0x1906+-0x1*0xcf7)](0x602+0x51e*0x3+0x2*-0xaa6);}return _0x3c4b14;}function _0x4ce85b(_0x4ceed7){var _0x13fe9a=_0x5dd955,_0x1f72c5=_0x3f3947[_0x13fe9a(0xd3)][_0x13fe9a(0x123)]('|'),_0x2eae19=-0x47b*0x1+0x2041*-0x1+0x24bc;while(!![]){switch(_0x1f72c5[_0x2eae19++]){case'0':_0x4ceed7=_0x4ceed7[_0x3f3947[_0x13fe9a(0x164)]](/\\r\\n/g,'\\x0a');continue;case'1':var _0x43dbcc='';continue;case'2':for(var _0x3311e9=-0x9*-0x269+-0x9cb+0xbe6*-0x1;_0x3f3947[_0x13fe9a(0x110)](_0x3311e9,_0x4ceed7[_0x3f3947[_0x13fe9a(0x9c)](_0x9a8402,-0x1f*0x7f+0xeab+0x1a6)]);_0x3311e9++){var _0x3f4114=_0x4ceed7[_0x3f3947[_0x13fe9a(0xdb)]](_0x3311e9);if(_0x3f3947[_0x13fe9a(0x12c)](_0x3f4114,0x6d*-0x49+0x78d*-0x1+0x1391*0x2))_0x43dbcc+=String[_0x3f3947[_0x13fe9a(0xac)]](_0x3f4114);else _0x3f3947[_0x13fe9a(0x15c)](_0x3f4114,0x189d+-0x26b9+-0xe9b*-0x1)&&_0x3f3947[_0x13fe9a(0x110)](_0x3f4114,0x133*-0x18+0x1736+-0x243*-0x6)?(_0x43dbcc+=String[_0x3f3947[_0x13fe9a(0x170)](_0x9a8402,0x2641+-0x1f*-0x62+0x101*-0x31)](_0x3f3947[_0x13fe9a(0x8c)](_0x3f3947[_0x13fe9a(0xf6)](_0x3f4114,0x26e0*0x1+-0x18d*-0x3+0x7*-0x637),0x410+0xb73*-0x1+0x823)),_0x43dbcc+=String[_0x3f3947[_0x13fe9a(0x9c)](_0x9a8402,-0x893+-0x943*-0x2+0x1*-0x905)](_0x3f3947[_0x13fe9a(0x8c)](_0x3f3947[_0x13fe9a(0x16e)](_0x3f4114,-0x163c+-0x19c6+0x3041*0x1),-0x1902+-0x2651+0x3fd3))):(_0x43dbcc+=String[_0x3f3947[_0x13fe9a(0x170)](_0x9a8402,0xb60+0xa23*0x3+-0x28db*0x1)](_0x3f3947[_0x13fe9a(0xa7)](_0x3f3947[_0x13fe9a(0xa4)](_0x3f4114,-0xaa3+0x673*-0x5+0x2*0x1577),0xeaa*-0x2+0x2267*-0x1+-0x1*-0x409b)),_0x43dbcc+=String[_0x3f3947[_0x13fe9a(0x170)](_0x9a8402,-0x1145*-0x1+0xf22+0x7*-0x47f)](_0x3f3947[_0x13fe9a(0xa7)](_0x3f3947[_0x13fe9a(0x10d)](_0x3f3947[_0x13fe9a(0xf6)](_0x3f4114,0x264e+0x267b+-0x1c9*0x2b),-0x29a*-0xa+-0x1*0x204e+0x689),-0x9a*0x2+-0x136+0x2ea*0x1)),_0x43dbcc+=String[_0x3f3947[_0x13fe9a(0x170)](_0x9a8402,0xb6b*0x1+-0x1*-0x75d+-0x11da)](_0x3f3947[_0x13fe9a(0xa7)](_0x3f3947[_0x13fe9a(0x16e)](_0x3f4114,-0x29*0x52+0x1*0x2358+-0x15f7),0xd3f+0x1b51+0x502*-0x8)));}continue;case'3':return _0x43dbcc;case'4':var _0x9a8402=_0x5119;continue;}break;}}var _0x3b8d17,_0x4afb0f,_0x5342c4,_0x3e774d=new Array(0x84*0x1+0x2e*0x89+-0x18d2),_0x7c73a9=-0x854acf*-0x13d+0x92245dc4+0xeab9*-0xe2c6,_0x1bc788=-0x1ad731ad4+-0x13594c095+-0x2*-0x1e96ac379,_0x71ea4a=0x92f4f9f3+-0x2fec93a1+0x35b276ac,_0x47c3b4=-0x11c17bc1*0x1+-0x223495a+0x24171991,_0x24ef88=0x975f690f+0x14801*-0xb28b+0x11136436c,_0x45526c,_0x29ebe7,_0x317685,_0x10f6a4,_0x5c1780,_0x1a22b2;_0x1cf4c7=_0x3f3947[_0x5dd955(0xab)](_0x4ce85b,_0x1cf4c7);var _0x5ee444=_0x1cf4c7[_0x3f3947[_0x5dd955(0x103)](_0x50cae3,-0x2d0+-0x445*-0x3+0x305*-0x3)],_0x840bfd=new Array();for(_0x4afb0f=-0x1543+0x193e+-0x3fb;_0x3f3947[_0x5dd955(0x110)](_0x4afb0f,_0x3f3947[_0x5dd955(0xa1)](_0x5ee444,0x2d2*0x6+0x6b8*0x1+-0x17a1));_0x4afb0f+=-0x265d+-0x10cc+-0x1*-0x372d){_0x5342c4=_0x3f3947[_0x5dd955(0xa7)](_0x3f3947[_0x5dd955(0x9f)](_0x3f3947[_0x5dd955(0x8c)](_0x3f3947[_0x5dd955(0xef)](_0x1cf4c7[_0x3f3947[_0x5dd955(0xdb)]](_0x4afb0f),-0x1*0xb67+-0xf34+0x1ab3),_0x3f3947[_0x5dd955(0x156)](_0x1cf4c7[_0x3f3947[_0x5dd955(0xce)](_0x50cae3,-0x178d+-0x21c0+0x3a45)](_0x3f3947[_0x5dd955(0x115)](_0x4afb0f,-0x1b47*0x1+0x508+0x2c8*0x8)),-0x7d1*0x3+-0x3*0xb57+0x3988*0x1)),_0x3f3947[_0x5dd955(0x156)](_0x1cf4c7[_0x3f3947[_0x5dd955(0x9c)](_0x50cae3,0x1999+0x9c+-0x193d)](_0x3f3947[_0x5dd955(0x98)](_0x4afb0f,-0xf4e+0x1047+-0x13*0xd)),-0x5*-0x2e3+0x977+-0x2f*0x82)),_0x1cf4c7[_0x3f3947[_0x5dd955(0x168)](_0x50cae3,-0x877+-0x2*-0xde+-0xdb*-0x9)](_0x3f3947[_0x5dd955(0x98)](_0x4afb0f,0xc57+0x1b17+0x1*-0x276b))),_0x840bfd[_0x3f3947[_0x5dd955(0x106)](_0x50cae3,0xd*0x1d5+0x12a6+-0x2991)](_0x5342c4);}switch(_0x3f3947[_0x5dd955(0xdd)](_0x5ee444,0x2313+0x1fa6+0x1*-0x42b5)){case-0x8db+0x3d5+0x506:_0x4afb0f=0xd1c0a93a+0x23dabd4*0x3+-0x5879acb6;break;case-0x786+0x9*-0x283+0x1e22:_0x4afb0f=_0x3f3947[_0x5dd955(0x8c)](_0x3f3947[_0x5dd955(0xf3)](_0x1cf4c7[_0x3f3947[_0x5dd955(0x94)](_0x50cae3,0x2*-0xf1+-0xdf4+0x10ce)](_0x3f3947[_0x5dd955(0xa1)](_0x5ee444,0x1db6+-0xce6*-0x3+-0x4467)),-0x5a7+0xac2+-0x503),0x3a2*-0x39a1+-0x1272aa+0x163cd8c);break;case 0x206c+-0x1eb8+-0x1b2:_0x4afb0f=_0x3f3947[_0x5dd955(0x9b)](_0x3f3947[_0x5dd955(0x11e)](_0x3f3947[_0x5dd955(0x156)](_0x1cf4c7[_0x3f3947[_0x5dd955(0x155)](_0x50cae3,0x4b5*0x1+0x3*-0x2c3+0x184*0x3)](_0x3f3947[_0x5dd955(0xa1)](_0x5ee444,-0xe65+0x334+0x2f*0x3d)),0x119a*-0x1+-0x3bb*0x8+0x2f8a),_0x3f3947[_0x5dd955(0xb8)](_0x1cf4c7[_0x3f3947[_0x5dd955(0x94)](_0x50cae3,0x297+-0x1f1c+0x1d7d*0x1)](_0x3f3947[_0x5dd955(0x99)](_0x5ee444,0x829*-0x2+0xd9b+0x2b8)),0x1c9*-0x2+-0x1e10+0x1c6*0x13)),-0x61b7+-0x7480+-0x125*-0x12b);break;case 0x11b6*0x1+0x458*-0x1+-0x107*0xd:_0x4afb0f=_0x3f3947[_0x5dd955(0xea)](_0x3f3947[_0x5dd955(0xe2)](_0x3f3947[_0x5dd955(0x9f)](_0x3f3947[_0x5dd955(0xef)](_0x1cf4c7[_0x3f3947[_0x5dd955(0xdb)]](_0x3f3947[_0x5dd955(0xc6)](_0x5ee444,-0x17b0+0x827*0x2+0x765*0x1)),0xed*0x25+-0x1178+-0x10b1*0x1),_0x3f3947[_0x5dd955(0x10e)](_0x1cf4c7[_0x3f3947[_0x5dd955(0xce)](_0x50cae3,0x19d5+0xc1*-0x2b+0x78e*0x1)](_0x3f3947[_0x5dd955(0xc6)](_0x5ee444,0x25af+-0xa6*0x1f+-0x1193)),0xea6+0x1*0x79a+-0x1630)),_0x3f3947[_0x5dd955(0x14f)](_0x1cf4c7[_0x3f3947[_0x5dd955(0x16c)](_0x50cae3,0x2*-0x56d+0x2af*0xb+-0x11b3)](_0x3f3947[_0x5dd955(0x172)](_0x5ee444,-0x7a2+0x1d7*0x1+0xe*0x6a)),0xc41+-0xc20+0x19*-0x1)),0x25*0x80+0x1ed9+-0x30d9);break;}_0x840bfd[_0x3f3947[_0x5dd955(0xb1)]](_0x4afb0f);while(_0x3f3947[_0x5dd955(0x144)](_0x3f3947[_0x5dd955(0x138)](_0x840bfd[_0x3f3947[_0x5dd955(0x130)](_0x50cae3,-0x1*-0x18f+-0x1ead*-0x1+-0x1f4c)],0x1*0x164f+0x1216+-0x7*0x5c3),-0x2ea+0x459*-0x7+0x2167))_0x840bfd[_0x3f3947[_0x5dd955(0xb1)]](-0x4ea+0x202*-0x4+0xcf2);_0x840bfd[_0x3f3947[_0x5dd955(0xb1)]](_0x3f3947[_0x5dd955(0x151)](_0x5ee444,0x1ce1+0x168e*-0x1+-0x636)),_0x840bfd[_0x3f3947[_0x5dd955(0x150)](_0x50cae3,0x5de+0x152*0x5+0x5c9*-0x2)](_0x3f3947[_0x5dd955(0xdf)](_0x3f3947[_0x5dd955(0x105)](_0x5ee444,0x3*0xb46+-0x1029+-0x11a6*0x1),-0x1ae9def6b*0x1+0x1*-0x6fe4fdf4+0x31e82ed5e));for(_0x3b8d17=0x2670+-0xa9*0x19+-0x15ef;_0x3f3947[_0x5dd955(0x124)](_0x3b8d17,_0x840bfd[_0x3f3947[_0x5dd955(0xd4)]]);_0x3b8d17+=0x1*-0xcbf+0x2687+-0x19b8){var _0x3b3b67=_0x3f3947[_0x5dd955(0xc2)][_0x5dd955(0x123)]('|'),_0x5efd88=-0x1*0x1f6f+0x2*-0x1b1+0x22d1;while(!![]){switch(_0x3b3b67[_0x5efd88++]){case'0':for(_0x4afb0f=-0x1*0x242f+0x7*-0x3aa+-0xc61*-0x5;_0x3f3947[_0x5dd955(0x14c)](_0x4afb0f,0x1699+-0xb*0x242+0x28c);_0x4afb0f++)_0x3e774d[_0x4afb0f]=_0x3f3947[_0x5dd955(0x10b)](_0xc8550e,_0x3f3947[_0x5dd955(0x111)](_0x3f3947[_0x5dd955(0x111)](_0x3f3947[_0x5dd955(0x121)](_0x3e774d[_0x3f3947[_0x5dd955(0x172)](_0x4afb0f,0x2461+0x121f*0x1+-0x367d)],_0x3e774d[_0x3f3947[_0x5dd955(0x172)](_0x4afb0f,0x1a40+0x1a8d+0x13*-0x2c7)]),_0x3e774d[_0x3f3947[_0x5dd955(0xa1)](_0x4afb0f,-0x67a+-0x13c8+-0xd28*-0x2)]),_0x3e774d[_0x3f3947[_0x5dd955(0x99)](_0x4afb0f,-0x1d64+-0xa7f+-0x1*-0x27f3)]),0x20e2+0x2310+-0x43f1);continue;case'1':for(_0x4afb0f=0x1*0xb03+0x50b*0x2+-0x1519*0x1;_0x3f3947[_0x5dd955(0x124)](_0x4afb0f,0x532+-0x195a+0x287*0x8);_0x4afb0f++)_0x3e774d[_0x4afb0f]=_0x840bfd[_0x3f3947[_0x5dd955(0xa9)](_0x3b8d17,_0x4afb0f)];continue;case'2':for(_0x4afb0f=-0x187+-0x3*0x248+-0x85f*-0x1;_0x3f3947[_0x5dd955(0x145)](_0x4afb0f,-0x1bff+-0x1778+0x338a);_0x4afb0f++){_0x1a22b2=_0x3f3947[_0x5dd955(0xdf)](_0x3f3947[_0x5dd955(0x129)](_0x3f3947[_0x5dd955(0xbb)](_0x3f3947[_0x5dd955(0x163)](_0x3f3947[_0x5dd955(0xad)](_0x3f3947[_0x5dd955(0xf0)](_0xc8550e,_0x45526c,0x186f+0xb9a+-0x2404),_0x3f3947[_0x5dd955(0x9f)](_0x3f3947[_0x5dd955(0xed)](_0x29ebe7,_0x317685),_0x3f3947[_0x5dd955(0xed)](~_0x29ebe7,_0x10f6a4))),_0x5c1780),_0x3e774d[_0x4afb0f]),-0x2*0x400b7cc9+0x7a297bfd*-0x1+-0x3*-0x71964fb8),0x17e37a34b+0x298989e*-0x4+0x1*-0x73d540d4),_0x5c1780=_0x10f6a4,_0x10f6a4=_0x317685,_0x317685=_0x3f3947[_0x5dd955(0x10b)](_0xc8550e,_0x29ebe7,-0x1759+-0x81*0x9+0x1c00),_0x29ebe7=_0x45526c,_0x45526c=_0x1a22b2;}continue;case'3':for(_0x4afb0f=-0x2*0x135d+0xd01+0x1*0x19e1;_0x3f3947[_0x5dd955(0xd6)](_0x4afb0f,0x1006*-0x2+0x3*0x74d+0x14c*0x8);_0x4afb0f++){_0x1a22b2=_0x3f3947[_0x5dd955(0x16e)](_0x3f3947[_0x5dd955(0xf8)](_0x3f3947[_0x5dd955(0xc9)](_0x3f3947[_0x5dd955(0x9e)](_0x3f3947[_0x5dd955(0xd9)](_0x3f3947[_0x5dd955(0x11f)](_0xc8550e,_0x45526c,-0x1913*-0x1+-0xa*-0x203+-0x2d2c),_0x3f3947[_0x5dd955(0x16a)](_0x3f3947[_0x5dd955(0xa7)](_0x3f3947[_0x5dd955(0xc0)](_0x29ebe7,_0x317685),_0x3f3947[_0x5dd955(0x10d)](_0x29ebe7,_0x10f6a4)),_0x3f3947[_0x5dd955(0xc0)](_0x317685,_0x10f6a4))),_0x5c1780),_0x3e774d[_0x4afb0f]),0x511f45b4*0x1+-0xe075*-0xd508+-0x7ccbe580),-0xb1*-0x29ec09f+0x26b*-0xa17f6d+0x1*0xb6bbee9f),_0x5c1780=_0x10f6a4,_0x10f6a4=_0x317685,_0x317685=_0x3f3947[_0x5dd955(0x114)](_0xc8550e,_0x29ebe7,0xa71+0x1d08+-0x275b),_0x29ebe7=_0x45526c,_0x45526c=_0x1a22b2;}continue;case'4':for(_0x4afb0f=0x26ea+0x1*-0xb91+0x1b45*-0x1;_0x3f3947[_0x5dd955(0xd6)](_0x4afb0f,-0x1*-0x989+-0x1dea+0x1488);_0x4afb0f++){_0x1a22b2=_0x3f3947[_0x5dd955(0x11d)](_0x3f3947[_0x5dd955(0xad)](_0x3f3947[_0x5dd955(0x11c)](_0x3f3947[_0x5dd955(0x10c)](_0x3f3947[_0x5dd955(0xa9)](_0x3f3947[_0x5dd955(0x91)](_0xc8550e,_0x45526c,0x476*-0x7+-0x1b91+0x3ad0),_0x3f3947[_0x5dd955(0xc8)](_0x3f3947[_0x5dd955(0x111)](_0x29ebe7,_0x317685),_0x10f6a4)),_0x5c1780),_0x3e774d[_0x4afb0f]),-0x44b06e*0x257+0x9fbf6bfb+0x25467058*0x3),0xfd0e2cc3+0xb99d57f3+-0xb6ab84b7),_0x5c1780=_0x10f6a4,_0x10f6a4=_0x317685,_0x317685=_0x3f3947[_0x5dd955(0xeb)](_0xc8550e,_0x29ebe7,0x1*0x2357+-0x1*0x218b+-0x5*0x56),_0x29ebe7=_0x45526c,_0x45526c=_0x1a22b2;}continue;case'5':for(_0x4afb0f=-0x1864+-0x129f+0x1*0x2b3f;_0x3f3947[_0x5dd955(0x14c)](_0x4afb0f,-0x667+0x1907+-0x1251);_0x4afb0f++){_0x1a22b2=_0x3f3947[_0x5dd955(0xfd)](_0x3f3947[_0x5dd955(0x98)](_0x3f3947[_0x5dd955(0x129)](_0x3f3947[_0x5dd955(0xd0)](_0x3f3947[_0x5dd955(0x132)](_0x3f3947[_0x5dd955(0xfc)](_0xc8550e,_0x45526c,-0x61*0x5b+-0x149*0x11+-0x5*-0xb45),_0x3f3947[_0x5dd955(0x121)](_0x3f3947[_0x5dd955(0x121)](_0x29ebe7,_0x317685),_0x10f6a4)),_0x5c1780),_0x3e774d[_0x4afb0f]),0x15bae4107*-0x1+0x13eed250*0x8+0x1869a705d),-0x476b30*0x251+-0xf1ddc8c*-0x7+0x33a0d7*0x61d),_0x5c1780=_0x10f6a4,_0x10f6a4=_0x317685,_0x317685=_0x3f3947[_0x5dd955(0x15e)](_0xc8550e,_0x29ebe7,0x2629+0x77e+0x1*-0x2d89),_0x29ebe7=_0x45526c,_0x45526c=_0x1a22b2;}continue;case'6':_0x45526c=_0x7c73a9,_0x29ebe7=_0x1bc788,_0x317685=_0x71ea4a,_0x10f6a4=_0x47c3b4,_0x5c1780=_0x24ef88;continue;case'7':_0x7c73a9=_0x3f3947[_0x5dd955(0x10d)](_0x3f3947[_0x5dd955(0x109)](_0x7c73a9,_0x45526c),-0x5e40d90c+0x9041124+0x1553cc7e7*0x1),_0x1bc788=_0x3f3947[_0x5dd955(0x126)](_0x3f3947[_0x5dd955(0x98)](_0x1bc788,_0x29ebe7),0xd7a5e50f+-0x10869795b+-0x130c3944b*-0x1),_0x71ea4a=_0x3f3947[_0x5dd955(0x92)](_0x3f3947[_0x5dd955(0xa9)](_0x71ea4a,_0x317685),0x34147710+-0x1a19e3c83*0x1+0x26d89c572),_0x47c3b4=_0x3f3947[_0x5dd955(0xdf)](_0x3f3947[_0x5dd955(0xc9)](_0x47c3b4,_0x10f6a4),-0x12ff64b4f+0x16982becb+0xc6738c83),_0x24ef88=_0x3f3947[_0x5dd955(0xcd)](_0x3f3947[_0x5dd955(0xbd)](_0x24ef88,_0x5c1780),-0x21b*-0xda90a5+0xc5a776d3+-0x191d6023b);continue;}break;}}var _0x1a22b2=_0x3f3947[_0x5dd955(0xa9)](_0x3f3947[_0x5dd955(0xb7)](_0x3f3947[_0x5dd955(0x100)](_0x3f3947[_0x5dd955(0x100)](_0x3f3947[_0x5dd955(0x16c)](_0x4222b7,_0x7c73a9),_0x3f3947[_0x5dd955(0x103)](_0x4222b7,_0x1bc788)),_0x3f3947[_0x5dd955(0xce)](_0x4222b7,_0x71ea4a)),_0x3f3947[_0x5dd955(0xb3)](_0x4222b7,_0x47c3b4)),_0x3f3947[_0x5dd955(0xe3)](_0x4222b7,_0x24ef88));return _0x1a22b2[_0x3f3947[_0x5dd955(0x170)](_0x50cae3,-0x23bd+0x1e22+-0x97*-0xb)]();}function getCookie(_0x16abd6){var _0x5bea04=_0x24d6,_0x39fe92={'IeeFc':function(_0x231c8a,_0x6dc120){return _0x231c8a+_0x6dc120;},'FZXMG':function(_0x21e47e,_0x4e561c){return _0x21e47e(_0x4e561c);},'kxBwH':function(_0xd830cb,_0x231ca4){return _0xd830cb(_0x231ca4);},'IFGyK':_0x5bea04(0x123),'lDwos':function(_0x422912,_0x55bbe0){return _0x422912<_0x55bbe0;},'ctuRl':function(_0x3fdfaa,_0x136094){return _0x3fdfaa==_0x136094;},'ZMhWh':function(_0x593783,_0x223c4b){return _0x593783(_0x223c4b);},'FvSIi':function(_0x2b23eb,_0x1a7e4e){return _0x2b23eb(_0x1a7e4e);},'kqlXb':_0x5bea04(0xe9),'WkQzP':function(_0x5309a8,_0x54f4d6){return _0x5309a8(_0x54f4d6);}},_0x2d004d=_0x5119;let _0x3fcac8=_0x39fe92[_0x5bea04(0x15b)](_0x16abd6,'='),_0x207ad5=_0x39fe92[_0x5bea04(0xa6)](decodeURIComponent,document[_0x39fe92[_0x5bea04(0x16b)](_0x2d004d,0x2409+-0x61f+-0xe7c*0x2)]),_0x1a54d6=_0x207ad5[_0x39fe92[_0x5bea04(0xff)]](';');for(let _0x1e89ca=-0x25ab+0x2087+-0x2f*-0x1c;_0x39fe92[_0x5bea04(0x153)](_0x1e89ca,_0x1a54d6[_0x39fe92[_0x5bea04(0xa6)](_0x2d004d,-0x16*0x1c6+0x1fa8+0x84c)]);_0x1e89ca++){let _0x3a2f03=_0x1a54d6[_0x1e89ca];while(_0x39fe92[_0x5bea04(0x134)](_0x3a2f03[_0x39fe92[_0x5bea04(0x147)](_0x2d004d,-0x240c+0x1*-0xb02+0x2ff9*0x1)](-0xffa+-0xaf9+0x1af3*0x1),'\\x20')){_0x3a2f03=_0x3a2f03[_0x39fe92[_0x5bea04(0xec)](_0x2d004d,0x3*0x907+-0x1cc+-0x1852)](0x2*-0xc89+-0x12af+-0x3*-0xe96);}if(_0x39fe92[_0x5bea04(0x134)](_0x3a2f03[_0x39fe92[_0x5bea04(0xe8)]](_0x3fcac8),-0xb*0x296+-0x51*0x22+0x2734))return _0x3a2f03[_0x39fe92[_0x5bea04(0x147)](_0x2d004d,0x1*0x1cac+0x1*0x144d+-0x5*0x99a)](_0x3fcac8[_0x39fe92[_0x5bea04(0x133)](_0x2d004d,-0xe14+-0x1*-0x15b9+-0x6b5)],_0x3a2f03[_0x39fe92[_0x5bea04(0x16b)](_0x2d004d,0x19c6*-0x1+0x65*-0xa+0x1ea8)]);}return'';}function _0x263d(_0x258b37,_0x23bf8c){var _0x32fa64=_0x32fa();return _0x263d=function(_0x263d44,_0x218f38){_0x263d44=_0x263d44-0xc1;var _0x553386=_0x32fa64[_0x263d44];return _0x553386;},_0x263d(_0x258b37,_0x23bf8c);}function _0x6083(){var _0x125d12=_0x263d,_0x44b33e=[_0x125d12(0x170),_0x125d12(0xf9),_0x125d12(0x10c),_0x125d12(0x11d),_0x125d12(0x15f),_0x125d12(0xe5),_0x125d12(0x15a),'ITuzH',_0x125d12(0x162),_0x125d12(0x121),_0x125d12(0x16a),_0x125d12(0xf7),_0x125d12(0x117),_0x125d12(0x176),_0x125d12(0x12d),_0x125d12(0x13b),_0x125d12(0xdc),_0x125d12(0x108),'xkITY',_0x125d12(0xd5),_0x125d12(0xca),_0x125d12(0x165),_0x125d12(0x148),_0x125d12(0xc5),'dZSbO','QxHwi',_0x125d12(0xde),_0x125d12(0xc6),'uCNZn',_0x125d12(0xfa),_0x125d12(0x140),_0x125d12(0x171),_0x125d12(0xdb),_0x125d12(0x13f),_0x125d12(0x173),_0x125d12(0x16c),_0x125d12(0x107),'cSSWR','xUOCv','split','aeaVo',_0x125d12(0x153),_0x125d12(0xfc),_0x125d12(0xed),_0x125d12(0xe8),'Drpgi','ymEoe',_0x125d12(0x13d),_0x125d12(0x109),'1549446tANWzQ','rLGCx',_0x125d12(0x100),_0x125d12(0xcb),_0x125d12(0x110),_0x125d12(0xd3),'WkQzP','ctuRl',_0x125d12(0x168),_0x125d12(0xfd),_0x125d12(0xf4),_0x125d12(0x147),'1369380Kti',_0x125d12(0x175),'2zNxvXJ','charCodeAt',_0x125d12(0xef),_0x125d12(0xcc),_0x125d12(0xc1),_0x125d12(0x151),_0x125d12(0x179),_0x125d12(0x13c),'ndVqi',_0x125d12(0x131),_0x125d12(0xd6),_0x125d12(0x14f),'ZMhWh',_0x125d12(0x15e),_0x125d12(0x10d),_0x125d12(0x149),_0x125d12(0x115),_0x125d12(0x14d),'KAWmB','gonmI',_0x125d12(0xcf),_0x125d12(0xf2),_0x125d12(0xe7),_0x125d12(0x12c),_0x125d12(0xd2),_0x125d12(0x122),_0x125d12(0x12e),'NVxPQ',_0x125d12(0x174),_0x125d12(0xc2),'vmfQt',_0x125d12(0x130),_0x125d12(0x137),_0x125d12(0x116),_0x125d12(0xc3),_0x125d12(0x138),_0x125d12(0xe2),_0x125d12(0x124),_0x125d12(0x123),'25810cMZmZX',_0x125d12(0x113),'HGVBE','boqnX',_0x125d12(0x16b),_0x125d12(0x13a),'RcMeI','wMnHD',_0x125d12(0xf6),_0x125d12(0xff),'PbOPZ',_0x125d12(0x16d),_0x125d12(0xf0),_0x125d12(0xec),_0x125d12(0xd0),_0x125d12(0x101),_0x125d12(0x17a),_0x125d12(0x139),_0x125d12(0x102),'qqQKw','EhkZc',_0x125d12(0x142),_0x125d12(0x160),_0x125d12(0x134),_0x125d12(0xeb),_0x125d12(0x132),_0x125d12(0x164),_0x125d12(0x104),_0x125d12(0xf1),_0x125d12(0x141),_0x125d12(0xd8),_0x125d12(0x133),_0x125d12(0x136),'zEppz',_0x125d12(0x135),_0x125d12(0x144),_0x125d12(0x14b),_0x125d12(0x11f),_0x125d12(0xe6),_0x125d12(0x161),_0x125d12(0xf5),_0x125d12(0xf8),_0x125d12(0x111),_0x125d12(0x145),_0x125d12(0x14a),'FZXMG','GSmLQ',_0x125d12(0x143),_0x125d12(0x166),'1389946LuDnQV',_0x125d12(0xdf),_0x125d12(0x15b),_0x125d12(0xd4),_0x125d12(0x10b),'XkZ',_0x125d12(0x128),_0x125d12(0xc7),';path=/',_0x125d12(0x172),_0x125d12(0xfe),_0x125d12(0x12b),_0x125d12(0x15c),_0x125d12(0xe1),_0x125d12(0x158),_0x125d12(0x105),_0x125d12(0xe3),_0x125d12(0xd7),_0x125d12(0xd9),_0x125d12(0xc8),_0x125d12(0xfb),_0x125d12(0x150),'MInZg',_0x125d12(0x167),_0x125d12(0xcd),_0x125d12(0x120),'replace',_0x125d12(0x14c),_0x125d12(0x118),_0x125d12(0xc9),'rKnfA',_0x125d12(0x15d),'UVElv',_0x125d12(0xf3),_0x125d12(0xe4),_0x125d12(0xce),_0x125d12(0x152),_0x125d12(0x155),_0x125d12(0x11e),'gQaJS',_0x125d12(0x112),_0x125d12(0x154),'NWitB','fARdy','TDUzS','toLowerCas','LCIQh',_0x125d12(0x159),_0x125d12(0x10a),_0x125d12(0x119),'rKYwc',_0x125d12(0xee),_0x125d12(0x156),_0x125d12(0x169),_0x125d12(0x127),_0x125d12(0x178),_0x125d12(0x16f),_0x125d12(0x10e),_0x125d12(0x126),'RlCXC',_0x125d12(0x103),_0x125d12(0x129),'kqlXb',_0x125d12(0x106),_0x125d12(0x12a),_0x125d12(0xda),_0x125d12(0x163),'Mtokz','KhnJy','LNHxO',_0x125d12(0x125),'gBxXh',_0x125d12(0xdd),'VAETf','LLTDV',_0x125d12(0x11c),'bSWXO',_0x125d12(0x14e),'dAwTj',_0x125d12(0x11b),_0x125d12(0xc4),_0x125d12(0x13e)];return _0x6083=function(){return _0x44b33e;},_0x6083();}function setCookie(_0x1878bd,_0x200104,_0x5801c0){var _0x37799f=_0x24d6,_0x487f05={'miIoF':_0x37799f(0x160),'KhnJy':function(_0x5f2cf3,_0x4b0213){return _0x5f2cf3+_0x4b0213;},'PmAML':function(_0x40cc94,_0x4f6c4f){return _0x40cc94(_0x4f6c4f);},'vxYyM':function(_0x5048fc,_0x3876ac){return _0x5048fc*_0x3876ac;},'Bcxhq':function(_0x39a058,_0x55a731){return _0x39a058*_0x55a731;},'gBxXh':function(_0x1c9546,_0xc7f186){return _0x1c9546*_0xc7f186;},'rbmQk':function(_0x4fdf75,_0x3300b7){return _0x4fdf75*_0x3300b7;},'UVElv':function(_0x1f5587,_0x52d3da){return _0x1f5587(_0x52d3da);},'hPeTp':_0x37799f(0x173)+'g','cEdxv':function(_0x4c5fb9,_0x322958){return _0x4c5fb9(_0x322958);},'xUOCv':function(_0x3cc52c,_0x174280){return _0x3cc52c+_0x174280;},'PMUux':function(_0x2f74bb,_0x5dfab1){return _0x2f74bb+_0x5dfab1;},'EhkZc':function(_0x1db48d,_0x1c73a4){return _0x1db48d+_0x1c73a4;},'NfwAA':function(_0x47e69a,_0x28e020){return _0x47e69a(_0x28e020);}},_0x12a8eb=_0x5119;const _0x16fcac=new Date();_0x16fcac[_0x487f05[_0x37799f(0xa8)]](_0x487f05[_0x37799f(0xee)](_0x16fcac[_0x487f05[_0x37799f(0x14a)](_0x12a8eb,0x27a+-0xd42+0x21*0x5b)](),_0x487f05[_0x37799f(0x166)](_0x487f05[_0x37799f(0x171)](_0x487f05[_0x37799f(0xf1)](_0x487f05[_0x37799f(0xae)](_0x5801c0,-0x608+0x313*0x1+0x30d),-0x6e1+-0xff0+0x170d),0x18cf+-0x639+-0x57*0x36),0x2011+-0x2ed*0x1+-0x193c)));let _0x4ba4eb=_0x487f05[_0x37799f(0xee)](_0x487f05[_0x37799f(0xca)](_0x12a8eb,0xe*-0x2ab+-0x2e*0xa1+0x432f),_0x16fcac[_0x487f05[_0x37799f(0x108)]]());document[_0x487f05[_0x37799f(0xcc)](_0x12a8eb,0xf8f*0x1+0x1*-0x2635+0x1798)]=_0x487f05[_0x37799f(0xee)](_0x487f05[_0x37799f(0x122)](_0x487f05[_0x37799f(0x15d)](_0x487f05[_0x37799f(0x8d)](_0x487f05[_0x37799f(0x8d)](_0x1878bd,'='),_0x200104),';'),_0x4ba4eb),_0x487f05[_0x37799f(0x167)](_0x12a8eb,0x83*-0x2f+0xa82*0x2+0x3f3));}function _0x5119(_0x245a44,_0x16a131){var _0x4507c9=_0x24d6,_0x175047={'fARdy':function(_0x29a68d,_0xc82a54){return _0x29a68d-_0xc82a54;},'eUuHn':function(_0x2803e9){return _0x2803e9();},'RlCXC':function(_0x465d9e,_0x590515,_0xa3252d){return _0x465d9e(_0x590515,_0xa3252d);}},_0x5c4301=_0x175047[_0x4507c9(0x15f)](_0x205d);return _0x5119=function(_0x1fe93b,_0x3717f5){var _0x5dca7a=_0x4507c9;_0x1fe93b=_0x175047[_0x5dca7a(0xd5)](_0x1fe93b,0x1fde+0xed4+-0x2dd0);var _0x34582b=_0x5c4301[_0x1fe93b];return _0x34582b;},_0x175047[_0x4507c9(0xe5)](_0x5119,_0x245a44,_0x16a131);}setTimeout(function(){var _0x12c850=_0x24d6,_0x5c7d7f={'Jqanm':function(_0x39ba36,_0x36495a){return _0x39ba36(_0x36495a);},'zEppz':_0x12c850(0x15a),'jiBgZ':function(_0x1fd3d8,_0x4a2f43){return _0x1fd3d8+_0x4a2f43;},'BccfS':function(_0x32c23a,_0x12ec3d){return _0x32c23a(_0x12ec3d);},'eNYXv':function(_0x91c3c2,_0xa2565d){return _0x91c3c2===_0xa2565d;},'LCIQh':function(_0x44024c,_0x3ffddb,_0x3246b1,_0x39bdf3){return _0x44024c(_0x3ffddb,_0x3246b1,_0x39bdf3);},'ehbZq':function(_0x278e12,_0x5e9e68){return _0x278e12(_0x5e9e68);},'rLGCx':_0x12c850(0xa2)},_0x1a12f7=_0x5119,_0x287481=_0x5c7d7f[_0x12c850(0xfa)](getCookie,_0x5c7d7f[_0x12c850(0x9a)])[_0x5c7d7f[_0x12c850(0xfa)](_0x1a12f7,0x5*-0x5fd+-0xb8b+0x2a73)](-0x343+-0x1*0x5dd+0x920,0x40a+0x12ea*0x2+-0x29ca),_0x5bd1c1=-0x6d5*-0x3+0x6*0x13d+0x1bed*-0x1;for(_0x5bd1c1=0xe20+0x5f3+-0x1413*0x1;;_0x5bd1c1++){var _0x503ad3=_0x5c7d7f[_0x12c850(0xa3)](_0x5c7d7f[_0x12c850(0xa3)](_0x5bd1c1[_0x5c7d7f[_0x12c850(0xfa)](_0x1a12f7,-0x76*-0x36+-0xf7*0x1+0x10c*-0x16)](),':'),_0x287481),_0x209986=_0x5c7d7f[_0x12c850(0xe6)](sha1,_0x503ad3),_0x3f1160=_0x209986[_0x5c7d7f[_0x12c850(0xe6)](_0x1a12f7,0x2343+-0x1e76+0x1*-0x3d6)](-0x761*0x2+-0x1*0x5c6+0x1488,-0x10e8+-0x3*0x565+-0x4b*-0x71);if(_0x5c7d7f[_0x12c850(0xbf)](_0x3f1160,_0x5c7d7f[_0x12c850(0xe6)](_0x1a12f7,-0x13c7*0x1+0x6*0x445+-0x27a*0x2))){_0x5c7d7f[_0x12c850(0xd8)](setCookie,_0x5c7d7f[_0x12c850(0xda)](_0x1a12f7,-0x14*0x8a+0x5*-0x49d+0x22cd*0x1),_0x503ad3,0x93*0x3d+0xa3*-0x1+0x1*-0x2263),location[_0x5c7d7f[_0x12c850(0x12e)]]();break;}}},-0x1ac6+0x11a+0x1a10);"; - } - - @SuppressWarnings("unused") - private static String getJsCode() { - return getSha1Code() + getAndSetCookieCode() + getPowCode(); - } - - private static String getSha1Code() { - return "function sha1(msg) {\n" + - " function rotate_left(n, s) {\n" + - " return (n << s) | (n >>> (32 - s));\n" + - " }\n" + - "\n" + - " function lsb_hex(val) {\n" + - " var str = '';\n" + - " var i;\n" + - " var vh;\n" + - " var vl;\n" + - " for (i = 0; i <= 6; i += 2) {\n" + - " vh = (val >>> (i * 4 + 4)) & 0x0f;\n" + - " vl = (val >>> (i * 4)) & 0x0f;\n" + - " str += vh.toString(16) + vl.toString(16);\n" + - " }\n" + - " return str;\n" + - " }\n" + - "\n" + - " function cvt_hex(val) {\n" + - " var str = '';\n" + - " var i;\n" + - " var v;\n" + - " for (i = 7; i >= 0; i--) {\n" + - " v = (val >>> (i * 4)) & 0x0f;\n" + - " str += v.toString(16);\n" + - " }\n" + - " return str;\n" + - " }\n" + - "\n" + - " function Utf8Encode(string) {\n" + - " string = string.replace(/\\r\\n/g, '\\n');\n" + - " var utftext = '';\n" + - " for (var n = 0; n < string.length; n++) {\n" + - " var c = string.charCodeAt(n);\n" + - " if (c < 128) {\n" + - " utftext += String.fromCharCode(c);\n" + - " } else if ((c > 127) && (c < 2048)) {\n" + - " utftext += String.fromCharCode((c >> 6) | 192);\n" + - " utftext += String.fromCharCode((c & 63) | 128);\n" + - " } else {\n" + - " utftext += String.fromCharCode((c >> 12) | 224);\n" + - " utftext += String.fromCharCode(((c >> 6) & 63) | 128);\n" + - " utftext += String.fromCharCode((c & 63) | 128);\n" + - " }\n" + - " }\n" + - " return utftext;\n" + - " }\n" + - "\n" + - " var blockstart;\n" + - " var i, j;\n" + - " var W = new Array(80);\n" + - " var H0 = 0x67452301;\n" + - " var H1 = 0xEFCDAB89;\n" + - " var H2 = 0x98BADCFE;\n" + - " var H3 = 0x10325476;\n" + - " var H4 = 0xC3D2E1F0;\n" + - " var A, B, C, D, E;\n" + - " var temp;\n" + - " msg = Utf8Encode(msg);\n" + - " var msg_len = msg.length;\n" + - " var word_array = new Array();\n" + - " for (i = 0; i < msg_len - 3; i += 4) {\n" + - " j = msg.charCodeAt(i) << 24 | msg.charCodeAt(i + 1) << 16 |\n" + - " msg.charCodeAt(i + 2) << 8 | msg.charCodeAt(i + 3);\n" + - " word_array.push(j);\n" + - " }\n" + - " switch (msg_len % 4) {\n" + - " case 0:\n" + - " i = 0x080000000;\n" + - " break;\n" + - " case 1:\n" + - " i = msg.charCodeAt(msg_len - 1) << 24 | 0x0800000;\n" + - " break;\n" + - " case 2:\n" + - " i = msg.charCodeAt(msg_len - 2) << 24 | msg.charCodeAt(msg_len - 1) << 16 | 0x08000;\n" + - " break;\n" + - " case 3:\n" + - " i = msg.charCodeAt(msg_len - 3) << 24 | msg.charCodeAt(msg_len - 2) << 16 | msg.charCodeAt(msg_len - 1) << 8 | 0x80;\n" + - " break;\n" + - " }\n" + - " word_array.push(i);\n" + - " while ((word_array.length % 16) != 14) word_array.push(0);\n" + - " word_array.push(msg_len >>> 29);\n" + - " word_array.push((msg_len << 3) & 0x0ffffffff);\n" + - " for (blockstart = 0; blockstart < word_array.length; blockstart += 16) {\n" + - " for (i = 0; i < 16; i++) W[i] = word_array[blockstart + i];\n" + - " for (i = 16; i <= 79; i++) W[i] = rotate_left(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);\n" + - " A = H0;\n" + - " B = H1;\n" + - " C = H2;\n" + - " D = H3;\n" + - " E = H4;\n" + - " for (i = 0; i <= 19; i++) {\n" + - " temp = (rotate_left(A, 5) + ((B & C) | (~B & D)) + E + W[i] + 0x5A827999) & 0x0ffffffff;\n" + - " E = D;\n" + - " D = C;\n" + - " C = rotate_left(B, 30);\n" + - " B = A;\n" + - " A = temp;\n" + - " }\n" + - " for (i = 20; i <= 39; i++) {\n" + - " temp = (rotate_left(A, 5) + (B ^ C ^ D) + E + W[i] + 0x6ED9EBA1) & 0x0ffffffff;\n" + - " E = D;\n" + - " D = C;\n" + - " C = rotate_left(B, 30);\n" + - " B = A;\n" + - " A = temp;\n" + - " }\n" + - " for (i = 40; i <= 59; i++) {\n" + - " temp = (rotate_left(A, 5) + ((B & C) | (B & D) | (C & D)) + E + W[i] + 0x8F1BBCDC) & 0x0ffffffff;\n" + - " E = D;\n" + - " D = C;\n" + - " C = rotate_left(B, 30);\n" + - " B = A;\n" + - " A = temp;\n" + - " }\n" + - " for (i = 60; i <= 79; i++) {\n" + - " temp = (rotate_left(A, 5) + (B ^ C ^ D) + E + W[i] + 0xCA62C1D6) & 0x0ffffffff;\n" + - " E = D;\n" + - " D = C;\n" + - " C = rotate_left(B, 30);\n" + - " B = A;\n" + - " A = temp;\n" + - " }\n" + - " H0 = (H0 + A) & 0x0ffffffff;\n" + - " H1 = (H1 + B) & 0x0ffffffff;\n" + - " H2 = (H2 + C) & 0x0ffffffff;\n" + - " H3 = (H3 + D) & 0x0ffffffff;\n" + - " H4 = (H4 + E) & 0x0ffffffff;\n" + - " }\n" + - " var temp = cvt_hex(H0) + cvt_hex(H1) + cvt_hex(H2) + cvt_hex(H3) + cvt_hex(H4);\n" + - "\n" + - " return temp.toLowerCase();\n" + - "}\n\n"; - } - - private static String getAndSetCookieCode() { - return "function getCookie(cname) {\n" + - " let name = cname + \"=\";\n" + - " let decodedCookie = decodeURIComponent(document.cookie);\n" + - " let ca = decodedCookie.split(';');\n" + - " for(let i = 0; i REQUEST_FILTERS = new ArrayList<>(); + + private static final ThreadLocal rayIdLocal = new ThreadLocal<>(); + + @Override + public void init(FilterConfig filterConfig) { + // No operations. + } + + @Override + public void destroy() { + // No operations. + } + + private void info(String message) { + if (logging) { + message = "PowFilter: powRayId=" + rayIdLocal.get() + ": " + message; + logger.info(message); + + String print = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + ": " + message; + System.out.println(print); + System.err.println(print); + } + } + + @Override + public void doFilter(ServletRequest request, ServletResponse response, + FilterChain chain) throws IOException, ServletException { + if (request instanceof HttpServletRequest && response instanceof HttpServletResponse) { + HttpServletRequest httpServletRequest = (HttpServletRequest) request; + HttpServletResponse httpServletResponse = (HttpServletResponse) response; + + String rayId = RandomStringUtils.randomAlphanumeric(8); + rayIdLocal.set(rayId); + + info("Starting processing request [uri=" + httpServletRequest.getRequestURI() + + ", url=" + httpServletRequest.getRequestURL() + + ", query=" + httpServletRequest.getQueryString() + + ", ip=" + getIp(httpServletRequest) + "]."); + + if (logging) { + info("Headers:"); + Enumeration headerNames = httpServletRequest.getHeaderNames(); + while (headerNames.hasMoreElements()) { + String headerName = headerNames.nextElement(); + info(" " + headerName + ": " + httpServletRequest.getHeader(headerName)); + } + + HttpSession session = httpServletRequest.getSession(true); + if (session != null) { + info("Session attributes:"); + Enumeration attributeNames = session.getAttributeNames(); + while (attributeNames.hasMoreElements()) { + String attributeName = attributeNames.nextElement(); + info(" " + attributeName + ": " + session.getAttribute(attributeName)); + } + } + + info("Cookies:"); + Cookie[] cookies = httpServletRequest.getCookies(); + if (cookies != null) { + for (Cookie cookie : cookies) { + info(" " + cookie.getName() + ": " + cookie.getValue()); + } + } + } + + for (RequestFilter requestFilter : REQUEST_FILTERS) { + Integer verdict = requestFilter.filter(httpServletRequest); + info("Request filter " + requestFilter.getClass().getSimpleName() + " returned " + verdict + "."); + + if (verdict != null) { + if (verdict == 0) { + info("Do 'chain.doFilter(request, response);' and return."); + chain.doFilter(request, response); + } else { + info("Send error " + verdict + " and return."); + httpServletResponse.sendError(verdict); + } + return; + } + } + + doInternalFilter(httpServletRequest, httpServletResponse, chain); + } else { + chain.doFilter(request, response); + } + } + + private static String getIp(HttpServletRequest httpRequest) { + String ip = httpRequest.getHeader(X_REAL_IP); + if (StringUtil.isNotEmpty(ip)) { + return ip; + } else { + return httpRequest.getRemoteAddr(); + } + } + + private static String getUserAgent(HttpServletRequest httpRequest) { + return httpRequest.getHeader("User-Agent"); + } + + private static String getRequestFingerprint(HttpServletRequest request) { + return "#" + getIp(request) + "!" + getUserAgent(request); + } + + private void doInternalFilter(HttpServletRequest request, HttpServletResponse response, FilterChain chain) + throws IOException, ServletException { + HttpSession session = request.getSession(); + + String secret = (String) session.getAttribute("secret"); + String sha = (String) session.getAttribute("sha"); + String requestFingerprint = getRequestFingerprint(request); + + info("sessionId= " + session.getId() + + ", secret=" + secret + + ", sha=" + sha + + ", requestFingerprint=" + requestFingerprint + "."); + + if (StringUtil.isEmpty(secret) + || StringUtil.isEmpty(sha) + || !sha.equals(DigestUtils.sha1Hex(secret + requestFingerprint))) { + secret = nextSecret(); + session.setAttribute("secret", secret); + sha = DigestUtils.sha1Hex(secret + requestFingerprint); + session.setAttribute("sha", sha); + info("If empty case: secret=" + secret + ", sha=" + sha + "."); + } + + String half = sha.substring(0, 20); + String cookie = null; + if (request.getCookies() != null) { + for (Cookie c : request.getCookies()) { + if (c.getName().equals("pow")) { + cookie = c.getValue(); + break; + } + } + } + + info("half=" + half + ", cookie=" + cookie + "."); + + if (cookie != null && cookie.equals(sha)) { + info("cookie != null && cookie.equals(sha)."); + chain.doFilter(request, response); + } else if (cookie != null && isResult(cookie, half)) { + info("cookie != null && isResult(cookie, half): cookie=" + cookie + ", half=" + half + "."); + Cookie powCookie = new Cookie("pow", sha); + powCookie.setPath("/"); + powCookie.setMaxAge((int) TimeUnit.DAYS.toSeconds(1)); + response.addCookie(powCookie); + info("Set-Cookie: pow=" + sha + "."); + chain.doFilter(request, response); + } else { + info("else case: cookie=" + cookie + ", half=" + half + "."); + Cookie powCookie = new Cookie("pow", half); + powCookie.setPath("/"); + powCookie.setMaxAge((int) TimeUnit.DAYS.toSeconds(1)); + response.addCookie(powCookie); + response.setContentType("text/html"); + printResponse(response); + info("writer.flush(), Set-Cookie: pow=" + half + "."); + } + } + + private static void printResponse(HttpServletResponse response) throws IOException { + PrintWriter writer = response.getWriter(); + writer.println("\n

Please wait. Your browser is being checked. It may take a few seconds...

"); + writer.println(""); + writer.flush(); + } + + private boolean isResult(String cookie, String halfSecret) { + if (StringUtil.isNotEmpty(cookie) && cookie.endsWith("_" + halfSecret)) { + String hash = DigestUtils.sha1Hex(cookie); + return hash.startsWith("0000"); + } else { + return false; + } + } + + private synchronized static String nextSecret() { + StringBuilder result = new StringBuilder(); + for (int i = 0; i < 4; i++) { + result.append(RANDOM.nextInt()); + } + return DigestUtils.sha1Hex(result.toString()); + } + + private static String getObfuscatedJsCode() { + return "var _0x3e09e3=_0x4bf8;(function(_0x42d959,_0x647252){var _0x25aba4=_0x4bf8,_0x437db0=_0x42d959();while(!![]){try{var _0x8e1627=-parseInt(_0x25aba4(0xa7))/0x1*(-parseInt(_0x25aba4(0x74))/0x2)+-parseInt(_0x25aba4(0xac))/0x3*(-parseInt(_0x25aba4(0x80))/0x4)+parseInt(_0x25aba4(0x98))/0x5*(parseInt(_0x25aba4(0xaa))/0x6)+parseInt(_0x25aba4(0x9d))/0x7+-parseInt(_0x25aba4(0x8a))/0x8*(-parseInt(_0x25aba4(0xab))/0x9)+parseInt(_0x25aba4(0x91))/0xa*(-parseInt(_0x25aba4(0x89))/0xb)+parseInt(_0x25aba4(0x72))/0xc*(-parseInt(_0x25aba4(0x7a))/0xd);if(_0x8e1627===_0x647252)break;else _0x437db0['push'](_0x437db0['shift']());}catch(_0x5d7d1d){_0x437db0['push'](_0x437db0['shift']());}}}(_0x2d66,0x4a27d));var _cs=['s=',_0x3e09e3(0xb6),_0x3e09e3(0x9a),'1024','0',_0x3e09e3(0xad),_0x3e09e3(0x94),';',_0x3e09e3(0x97),'=',_0x3e09e3(0x70),'\\x20','_',_0x3e09e3(0xae),'\\x0a',';p','000','=/','By',';','+','e','rCa','nav',_0x3e09e3(0xb5),'lo','bx','bst','bs','St',_0x3e09e3(0x9b),'it','arC','6c','th','ch',_0x3e09e3(0xa9),'mC','uk',_0x3e09e3(0xa6),'-',_0x3e09e3(0xb2),_0x3e09e3(0x96),'eAt','o7r','lz','omC','su','tr','c9','ri','eA','vi',_0x3e09e3(0x71),_0x3e09e3(0xb0),'h',_0x3e09e3(0x9c),'n6','gth','xl','jp','t','b64',_0x3e09e3(0x73),'b8y','ym','0','st','Of','hu','v4','co','gt',_0x3e09e3(0x8c),'4v','Ti','30','2n',_0x3e09e3(0x78),'pu','s9',_0x3e09e3(0x6f),'By','mCh','st','ki','zone','&','spl',_0x3e09e3(0x95),_0x3e09e3(0x76),'xnf','f7v','gbs','set',_0x3e09e3(0xa5),_0x3e09e3(0x7d),'re','h3q','zx','ad',_0x3e09e3(0x8d),'uhd',_0x3e09e3(0x86),'gt','ng',_0x3e09e3(0xb3),_0x3e09e3(0x81),_0x3e09e3(0x7b),'efm','ye','Ch',_0x3e09e3(0xa3),_0x3e09e3(0x9f),'hf','for','1wy',_0x3e09e3(0x88),'ow',_0x3e09e3(0xad),'Lo','to',_0x3e09e3(0xb1),'le','5r',_0x3e09e3(0xaf),'wph','get','7f','y3','Co',_0x3e09e3(0xa1),'sd','ce',_0x3e09e3(0xa4),_0x3e09e3(0x99),'fr','h7','t2','7y','dex','7c',_0x3e09e3(0x92),_0x3e09e3(0x83),'rC',_0x3e09e3(0xb6),_0x3e09e3(0xb4),'dow','od',_0x3e09e3(0x84),_0x3e09e3(0x7f),_0x3e09e3(0x79),'math','de',_0x3e09e3(0xa8),_0x3e09e3(0x8f),'At',_0x3e09e3(0x77),_0x3e09e3(0x7c),'in',_0x3e09e3(0x75),_0x3e09e3(0x82),_0x3e09e3(0x85),'har','fz',_0x3e09e3(0xa0),'Id','pa','9h','we','sh','me','se','m9','om','toU',_0x3e09e3(0x93),'rCo','g','w2',_0x3e09e3(0x7e),_0x3e09e3(0x8b),'hm','+','9v','0s',_0x3e09e3(0x9e),'h4',_0x3e09e3(0x8e),_0x3e09e3(0xa2),'%','t3z','5dk','bn',_0x3e09e3(0x99),'len',_0x3e09e3(0x87),'ar','ji',_0x3e09e3(0x90)];function _0x2d66(){var _0x9a6442=['nfl','n9s','pla','83v','fro','cha','60hKQkDX','abs','loc','ath','get','1024','ire','342455dubHwB','time','pow','mkk','nea','11382oqgMyh','Cha','7ox','qny','TCS','lau','win','geo','func','gs8','16181BJNMSb','Cod','sls','48axsGzc','95094eEcjTt','3CeVykH','Ele','exp','801','8jn','p66','tion','oki','sgg','0fi','pop','smp','nav','68m','60zvMLPs','rin','42qVGOUy','djt','ment','pus','ode','while','2725346qegrXi','sub','9ig','16u','tri','Str','392408ydMhjj','8a5','5i0','toS','pc2','nci','coo','l5u','irs','125972wOBRSc','328tXaqCx'];_0x2d66=function(){return _0x9a6442;};return _0x2d66();}function _f6(_0x2a5a76){function _0x2c4077(_0x4cb62a,_0x58288a){return _0x4cb62a<<_0x58288a|_0x4cb62a>>>0x20-_0x58288a;}function _0x22e96f(_0x1a925f){var _0x6b87c1='',_0x3b5310,_0x6446c7,_0x3a0707;for(_0x3b5310=0x0;_0x3b5310<=0x6;_0x3b5310+=0x2){_0x6446c7=_0x1a925f>>>_0x3b5310*0x4+0x4&0xf,_0x3a0707=_0x1a925f>>>_0x3b5310*0x4&0xf,_0x6b87c1+=_0x6446c7[_cs[0x8f]+_cs[0xb4]+_cs[0x69]](0x10)+_0x3a0707[_cs[0x79]+_cs[0x1d]+_cs[0x3f]+_cs[0xb2]](0x10);}return _0x6b87c1;}function _0x21b5bb(_0x5336ac){var _0x27054a='',_0x23d630,_0xc498df;for(_0x23d630=0x7;_0x23d630>=0x0;_0x23d630--){_0xc498df=_0x5336ac>>>_0x23d630*0x4&0xf,_0x27054a+=_0xc498df[_cs[0x8f]+_cs[0x30]+_cs[0x9f]+_cs[0xb2]](0x10);}return _0x27054a;}function _0x1d3ea3(_0x29925b){_0x29925b=_0x29925b[_cs[0x61]+_cs[0x65]+_cs[0x85]](/\\r\\_vs/g,_cs[0xe]);var _0x429bd5='';for(var _0x2911f=0x0;_0x2911f<_0x29925b[_cs[0x7b]+_cs[0x69]+_cs[0x22]];_0x2911f++){var _0x25f897=_0x29925b[_cs[0x23]+_cs[0x20]+_cs[0x4e]+_cs[0x9c]](_0x2911f);if(_0x25f897<0x80)_0x429bd5+=String[_cs[0x88]+_cs[0x2e]+_cs[0xa3]+_cs[0x9a]+_cs[0x15]](_0x25f897);else _0x25f897>0x7f&&_0x25f897<0x800?(_0x429bd5+=String[_cs[0x9b]+_cs[0x25]+_cs[0xa3]+_cs[0x9a]+_cs[0x15]](_0x25f897>>0x6|0xc0),_0x429bd5+=String[_cs[0x88]+_cs[0xae]+_cs[0xba]+_cs[0x90]+_cs[0x4e]](_0x25f897&0x3f|0x80)):(_0x429bd5+=String[_cs[0x9b]+_cs[0x53]+_cs[0xc5]+_cs[0x9a]+_cs[0x15]](_0x25f897>>0xc|0xe0),_0x429bd5+=String[_cs[0x88]+_cs[0xae]+_cs[0xba]+_cs[0x90]+_cs[0x4e]](_0x25f897>>0x6&0x3f|0x80),_0x429bd5+=String[_cs[0x88]+_cs[0xae]+_cs[0x6f]+_cs[0xc5]+_cs[0x82]+_cs[0x99]](_0x25f897&0x3f|0x80));}return _0x429bd5;}var _0x12612f,_0x12ad81,_0x1fd6c0,_0x1236c6=new Array(0x50),_0x199b1a=0x67452301,_0x475b8a=0xefcdab89,_0x45b004=0x98badcfe,_0x52f4a0=0x10325476,_0x871e14=0xc3d2e1f0,_0x183503,_0x76a6cd,_0x3e39cc,_0x19c81d,_0x50622b,_0x365471;_0x2a5a76=_0x1d3ea3(_0x2a5a76);var _0x46ffd3=_0x2a5a76[_cs[0x7b]+_cs[0x69]+_cs[0x22]],_0x13016d=new Array();for(_0x12ad81=0x0;_0x12ad81<_0x46ffd3-0x3;_0x12ad81+=0x4){_0x1fd6c0=_0x2a5a76[_cs[0x23]+_cs[0xc5]+_cs[0x9a]+_cs[0x33]+_cs[0x3d]](_0x12ad81)<<0x18|_0x2a5a76[_cs[0xc7]+_cs[0x90]+_cs[0x94]+_cs[0x2b]](_0x12ad81+0x1)<<0x10|_0x2a5a76[_cs[0xc7]+_cs[0xb1]+_cs[0x99]+_cs[0x9c]](_0x12ad81+0x2)<<0x8|_0x2a5a76[_cs[0xc7]+_cs[0x90]+_cs[0x4e]+_cs[0x9c]](_0x12ad81+0x3),_0x13016d[_cs[0x4f]+_cs[0xaa]](_0x1fd6c0);}switch(_0x46ffd3%0x4){case 0x0:_0x12ad81=0x80000000;break;case 0x1:_0x12ad81=_0x2a5a76[_cs[0x23]+_cs[0xc5]+_cs[0x9a]+_cs[0x2b]](_0x46ffd3-0x1)<<0x18|0x800000;break;case 0x2:_0x12ad81=_0x2a5a76[_cs[0x23]+_cs[0xc5]+_cs[0x82]+_cs[0x99]+_cs[0x9c]](_0x46ffd3-0x2)<<0x18|_0x2a5a76[_cs[0xc7]+_cs[0x90]+_cs[0x4e]+_cs[0x9c]](_0x46ffd3-0x1)<<0x10|0x8000;break;case 0x3:_0x12ad81=_0x2a5a76[_cs[0x23]+_cs[0xc5]+_cs[0x82]+_cs[0x99]+_cs[0x9c]](_0x46ffd3-0x3)<<0x18|_0x2a5a76[_cs[0x23]+_cs[0xc5]+_cs[0x9a]+_cs[0x2b]](_0x46ffd3-0x2)<<0x10|_0x2a5a76[_cs[0x23]+_cs[0xc5]+_cs[0x9a]+_cs[0x2b]](_0x46ffd3-0x1)<<0x8|0x80;break;}_0x13016d[_cs[0x4f]+_cs[0xaa]](_0x12ad81);while(_0x13016d[_cs[0x7b]+_cs[0x69]+_cs[0x22]]%0x10!=0xe)_0x13016d[_cs[0x9d]+_cs[0x37]](0x0);_0x13016d[_cs[0x9d]+_cs[0x37]](_0x46ffd3>>>0x1d),_0x13016d[_cs[0x4f]+_cs[0xaa]](_0x46ffd3<<0x3&0xffffffff);for(_0x12612f=0x0;_0x12612f<_0x13016d[_cs[0xc3]+_cs[0x48]+_cs[0x37]];_0x12612f+=0x10){for(_0x12ad81=0x0;_0x12ad81<0x10;_0x12ad81++)_0x1236c6[_0x12ad81]=_0x13016d[_0x12612f+_0x12ad81];for(_0x12ad81=0x10;_0x12ad81<=0x4f;_0x12ad81++)_0x1236c6[_0x12ad81]=_0x2c4077(_0x1236c6[_0x12ad81-0x3]^_0x1236c6[_0x12ad81-0x8]^_0x1236c6[_0x12ad81-0xe]^_0x1236c6[_0x12ad81-0x10],0x1);_0x183503=_0x199b1a,_0x76a6cd=_0x475b8a,_0x3e39cc=_0x45b004,_0x19c81d=_0x52f4a0,_0x50622b=_0x871e14;for(_0x12ad81=0x0;_0x12ad81<=0x13;_0x12ad81++){_0x365471=_0x2c4077(_0x183503,0x5)+(_0x76a6cd&_0x3e39cc|~_0x76a6cd&_0x19c81d)+_0x50622b+_0x1236c6[_0x12ad81]+0x5a827999&0xffffffff,_0x50622b=_0x19c81d,_0x19c81d=_0x3e39cc,_0x3e39cc=_0x2c4077(_0x76a6cd,0x1e),_0x76a6cd=_0x183503,_0x183503=_0x365471;}for(_0x12ad81=0x14;_0x12ad81<=0x27;_0x12ad81++){_0x365471=_0x2c4077(_0x183503,0x5)+(_0x76a6cd^_0x3e39cc^_0x19c81d)+_0x50622b+_0x1236c6[_0x12ad81]+0x6ed9eba1&0xffffffff,_0x50622b=_0x19c81d,_0x19c81d=_0x3e39cc,_0x3e39cc=_0x2c4077(_0x76a6cd,0x1e),_0x76a6cd=_0x183503,_0x183503=_0x365471;}for(_0x12ad81=0x28;_0x12ad81<=0x3b;_0x12ad81++){_0x365471=_0x2c4077(_0x183503,0x5)+(_0x76a6cd&_0x3e39cc|_0x76a6cd&_0x19c81d|_0x3e39cc&_0x19c81d)+_0x50622b+_0x1236c6[_0x12ad81]+0x8f1bbcdc&0xffffffff,_0x50622b=_0x19c81d,_0x19c81d=_0x3e39cc,_0x3e39cc=_0x2c4077(_0x76a6cd,0x1e),_0x76a6cd=_0x183503,_0x183503=_0x365471;}for(_0x12ad81=0x3c;_0x12ad81<=0x4f;_0x12ad81++){_0x365471=_0x2c4077(_0x183503,0x5)+(_0x76a6cd^_0x3e39cc^_0x19c81d)+_0x50622b+_0x1236c6[_0x12ad81]+0xca62c1d6&0xffffffff,_0x50622b=_0x19c81d,_0x19c81d=_0x3e39cc,_0x3e39cc=_0x2c4077(_0x76a6cd,0x1e),_0x76a6cd=_0x183503,_0x183503=_0x365471;}_0x199b1a=_0x199b1a+_0x183503&0xffffffff,_0x475b8a=_0x475b8a+_0x76a6cd&0xffffffff,_0x45b004=_0x45b004+_0x3e39cc&0xffffffff,_0x52f4a0=_0x52f4a0+_0x19c81d&0xffffffff,_0x871e14=_0x871e14+_0x50622b&0xffffffff;}var _0x365471=_0x21b5bb(_0x199b1a)+_0x21b5bb(_0x475b8a)+_0x21b5bb(_0x45b004)+_0x21b5bb(_0x52f4a0)+_0x21b5bb(_0x871e14);return _0x365471[_cs[0x79]+_cs[0x78]+_cs[0xa9]+_cs[0x16]+_cs[0xac]]();}function _f1(_0x115978){let _0x4b525c=_0x115978+_cs[0x9],_0x31b88d=decodeURIComponent(document[_cs[0x67]+_cs[0x55]+_cs[0x15]]),_0xcde38c=_0x31b88d[_cs[0x58]+_cs[0x1f]](_cs[0x13]);for(let _0x39e78f=0x0;_0x39e78f<_0xcde38c[_cs[0x7b]+_cs[0x69]+_cs[0x22]];_0x39e78f++){let _0xde7646=_0xcde38c[_0x39e78f];while(_0xde7646[_cs[0x23]+_cs[0xc5]+_cs[0x9c]](0x0)==_cs[0xb]){_0xde7646=_0xde7646[_cs[0x2f]+_cs[0x1c]+_cs[0x30]+_cs[0x9f]+_cs[0xb2]](0x1);}if(_0xde7646[_cs[0x9f]+_cs[0x8c]+_cs[0x44]](_0x4b525c)==0x0)return _0xde7646[_cs[0x2f]+_cs[0x1b]+_cs[0x32]+_cs[0x69]](_0x4b525c[_cs[0xc3]+_cs[0x3a]],_0xde7646[_cs[0xc3]+_cs[0x48]+_cs[0x37]]);}return'';}function _f0(_0x50f2e7,_0x4ba3c7,_0x12bed1){const _0x27a246=new Date();_0x27a246[_cs[0x5e]+_cs[0x4b]+_cs[0xab]](_0x27a246[_cs[0x59]+_cs[0x4b]+_cs[0xab]]()+_0x12bed1*0x18*0x3c*0x3c*0x3e8);let _0x30919e=_cs[0xd]+_cs[0x8]+_cs[0x0]+_0x27a246[_cs[0xaf]+_cs[0x83]+_cs[0xb4]+_cs[0x69]]();document[_cs[0x47]+_cs[0x6a]+_cs[0x15]]=_0x50f2e7+_cs[0x9]+_0x4ba3c7+_cs[0x7]+_0x30919e+_cs[0xf]+_cs[0x6]+_cs[0x11];}function _0x4bf8(_0x146005,_0x391096){var _0x2d6660=_0x2d66();return _0x4bf8=function(_0x4bf803,_0x159e44){_0x4bf803=_0x4bf803-0x6f;var _0x3d171d=_0x2d6660[_0x4bf803];return _0x3d171d;},_0x4bf8(_0x146005,_0x391096);}setTimeout(function(){var _0x2de4ef=_f1(_cs[0x2])[_cs[0x6c]+_cs[0x43]+_cs[0x3f]+_cs[0xb2]](0x0,0x14),_0x1758c1=0x0;for(_0x1758c1=0x0;;_0x1758c1++){var _0x1bbbb5=_0x1758c1[_cs[0x79]+_cs[0x96]+_cs[0x9f]+_cs[0xb2]]()+_cs[0xc]+_0x2de4ef,_0x2f8ab6=_f6(_0x1bbbb5),_0x2a4818=_0x2f8ab6[_cs[0x6c]+_cs[0x43]+_cs[0x32]+_cs[0x69]](0x0,0x4);if(_0x2a4818===_cs[0x10]+_cs[0x4]){_f0(_cs[0x2],_0x1bbbb5,0x1),location[_cs[0x61]+_cs[0x19]+_cs[0x64]]();break;}}},0x64);"; + } + + @SuppressWarnings("unused") + private static String getJsCode() { + return getSha1Code() + getAndSetCookieCode() + getPowCode(); + } + + private static String getSha1Code() { + return "function sha1(msg) {\n" + + " function rotate_left(n, s) {\n" + + " return (n << s) | (n >>> (32 - s));\n" + + " }\n" + + "\n" + + " function lsb_hex(val) {\n" + + " var str = '';\n" + + " var i;\n" + + " var vh;\n" + + " var vl;\n" + + " for (i = 0; i <= 6; i += 2) {\n" + + " vh = (val >>> (i * 4 + 4)) & 0x0f;\n" + + " vl = (val >>> (i * 4)) & 0x0f;\n" + + " str += vh.toString(16) + vl.toString(16);\n" + + " }\n" + + " return str;\n" + + " }\n" + + "\n" + + " function cvt_hex(val) {\n" + + " var str = '';\n" + + " var i;\n" + + " var v;\n" + + " for (i = 7; i >= 0; i--) {\n" + + " v = (val >>> (i * 4)) & 0x0f;\n" + + " str += v.toString(16);\n" + + " }\n" + + " return str;\n" + + " }\n" + + "\n" + + " function Utf8Encode(string) {\n" + + " string = string.replace(/\\r\\n/g, '\\n');\n" + + " var utftext = '';\n" + + " for (var n = 0; n < string.length; n++) {\n" + + " var c = string.charCodeAt(n);\n" + + " if (c < 128) {\n" + + " utftext += String.fromCharCode(c);\n" + + " } else if ((c > 127) && (c < 2048)) {\n" + + " utftext += String.fromCharCode((c >> 6) | 192);\n" + + " utftext += String.fromCharCode((c & 63) | 128);\n" + + " } else {\n" + + " utftext += String.fromCharCode((c >> 12) | 224);\n" + + " utftext += String.fromCharCode(((c >> 6) & 63) | 128);\n" + + " utftext += String.fromCharCode((c & 63) | 128);\n" + + " }\n" + + " }\n" + + " return utftext;\n" + + " }\n" + + "\n" + + " var blockstart;\n" + + " var i, j;\n" + + " var W = new Array(80);\n" + + " var H0 = 0x67452301;\n" + + " var H1 = 0xEFCDAB89;\n" + + " var H2 = 0x98BADCFE;\n" + + " var H3 = 0x10325476;\n" + + " var H4 = 0xC3D2E1F0;\n" + + " var A, B, C, D, E;\n" + + " var temp;\n" + + " msg = Utf8Encode(msg);\n" + + " var msg_len = msg.length;\n" + + " var word_array = new Array();\n" + + " for (i = 0; i < msg_len - 3; i += 4) {\n" + + " j = msg.charCodeAt(i) << 24 | msg.charCodeAt(i + 1) << 16 |\n" + + " msg.charCodeAt(i + 2) << 8 | msg.charCodeAt(i + 3);\n" + + " word_array.push(j);\n" + + " }\n" + + " switch (msg_len % 4) {\n" + + " case 0:\n" + + " i = 0x080000000;\n" + + " break;\n" + + " case 1:\n" + + " i = msg.charCodeAt(msg_len - 1) << 24 | 0x0800000;\n" + + " break;\n" + + " case 2:\n" + + " i = msg.charCodeAt(msg_len - 2) << 24 | msg.charCodeAt(msg_len - 1) << 16 | 0x08000;\n" + + " break;\n" + + " case 3:\n" + + " i = msg.charCodeAt(msg_len - 3) << 24 | msg.charCodeAt(msg_len - 2) << 16 | msg.charCodeAt(msg_len - 1) << 8 | 0x80;\n" + + " break;\n" + + " }\n" + + " word_array.push(i);\n" + + " while ((word_array.length % 16) != 14) word_array.push(0);\n" + + " word_array.push(msg_len >>> 29);\n" + + " word_array.push((msg_len << 3) & 0x0ffffffff);\n" + + " for (blockstart = 0; blockstart < word_array.length; blockstart += 16) {\n" + + " for (i = 0; i < 16; i++) W[i] = word_array[blockstart + i];\n" + + " for (i = 16; i <= 79; i++) W[i] = rotate_left(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);\n" + + " A = H0;\n" + + " B = H1;\n" + + " C = H2;\n" + + " D = H3;\n" + + " E = H4;\n" + + " for (i = 0; i <= 19; i++) {\n" + + " temp = (rotate_left(A, 5) + ((B & C) | (~B & D)) + E + W[i] + 0x5A827999) & 0x0ffffffff;\n" + + " E = D;\n" + + " D = C;\n" + + " C = rotate_left(B, 30);\n" + + " B = A;\n" + + " A = temp;\n" + + " }\n" + + " for (i = 20; i <= 39; i++) {\n" + + " temp = (rotate_left(A, 5) + (B ^ C ^ D) + E + W[i] + 0x6ED9EBA1) & 0x0ffffffff;\n" + + " E = D;\n" + + " D = C;\n" + + " C = rotate_left(B, 30);\n" + + " B = A;\n" + + " A = temp;\n" + + " }\n" + + " for (i = 40; i <= 59; i++) {\n" + + " temp = (rotate_left(A, 5) + ((B & C) | (B & D) | (C & D)) + E + W[i] + 0x8F1BBCDC) & 0x0ffffffff;\n" + + " E = D;\n" + + " D = C;\n" + + " C = rotate_left(B, 30);\n" + + " B = A;\n" + + " A = temp;\n" + + " }\n" + + " for (i = 60; i <= 79; i++) {\n" + + " temp = (rotate_left(A, 5) + (B ^ C ^ D) + E + W[i] + 0xCA62C1D6) & 0x0ffffffff;\n" + + " E = D;\n" + + " D = C;\n" + + " C = rotate_left(B, 30);\n" + + " B = A;\n" + + " A = temp;\n" + + " }\n" + + " H0 = (H0 + A) & 0x0ffffffff;\n" + + " H1 = (H1 + B) & 0x0ffffffff;\n" + + " H2 = (H2 + C) & 0x0ffffffff;\n" + + " H3 = (H3 + D) & 0x0ffffffff;\n" + + " H4 = (H4 + E) & 0x0ffffffff;\n" + + " }\n" + + " var temp = cvt_hex(H0) + cvt_hex(H1) + cvt_hex(H2) + cvt_hex(H3) + cvt_hex(H4);\n" + + "\n" + + " return temp.toLowerCase();\n" + + "}\n\n"; + } + + private static String getAndSetCookieCode() { + return "function getCookie(cname) {\n" + + " let name = cname + \"=\";\n" + + " let decodedCookie = decodeURIComponent(document.cookie);\n" + + " let ca = decodedCookie.split(';');\n" + + " for(let i = 0; i