Created
January 21, 2024 06:12
-
-
Save dingcang/bab673e8c9685106d75daff3bd35dc60 to your computer and use it in GitHub Desktop.
某md5解密网站代码分析结果
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html lang="zh-cn"> | |
<head> | |
<meta charset="utf-8" /> | |
<meta name="baidu_union_verify" content="df1a9a844ad16db7b31cc021f2ff13e4"> | |
<link rel="dns-prefetch" href="//cdn.sojson.com" /> | |
<link rel="dns-prefetch" href="//cdn.vfan.top" /> | |
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport" /> | |
<meta http-equiv="X-UA-Compatible" content="IE=edge"> | |
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> | |
<meta name="apple-mobile-web-app-status-bar-style" content="black"> | |
<meta name="apple-mobile-web-app-capable" content="yes"> | |
<meta name="format-detection" content="telephone=no"> | |
<link rel="icon" type="image/png" sizes="16x16" href="//cdn.sojson.com/sojson/favicon16.png" /> | |
<link rel="icon" type="image/png" sizes="32x32" href="//cdn.sojson.com/sojson/favicon32.png" /> | |
<link rel="icon" type="image/png" sizes="48x48" href="//cdn.sojson.com/sojson/favicon48.png" /> | |
<link rel="icon" type="image/png" sizes="64x64" href="//cdn.sojson.com/sojson/favicon64.png" /> | |
<script> | |
window.DOMAIN = { www: "https://www.sojson.com", www_m: "https://m.sojson.com", admin: "http://admin1.sojson.com", fang: "", cdn: "//cdn.sojson.com", _v: "202211140930", _ip: "125.35.69.14", _address: { mainInfo: "北京市", subInfo: "联通" } }; window.MS = { top: "新版陆续上线,<a target='_blank' href='http://www.sojson.com/other/3.0.html'>SOJSON 3.0</a>", bar: "" }; try { top.location.hostname; if (top.location.hostname != window.location.hostname) { top.location.href = window.location.href; } } catch (e) { top.location.href = window.location.href; }; | |
</script> | |
<meta name="keywords" content="md5加密,md5加密算法,md5加密工具" /> | |
<meta name="description" | |
content="在线md5加密,md5解密,md5加密算法,md5加密工具,免费MD5在线加密,MD5在线解密破解,MD5在线查询,免费MD5解密,支持32位MD5&6位MD5 。" /> | |
<title>MD5在线加密/解密/破解—MD5在线</title> | |
<link rel="alternate" media="only screen and(max-width: 780px)" href="https://m.sojson.com/encrypt_md5.html"> | |
<meta name="mobile-agent" content="format=html5; url=https://m.sojson.com/encrypt_md5.html"> | |
<meta name="applicable-device" content="pc"> | |
<script> | |
window.TOOL = { "groups": [{ "id": 2, "name": "加密/解密", "url": "/encrypt/" }, { "id": 6, "name": "在线转换", "url": "/convert/" }], "id": 20, "name": "MD5加密/解密", "title": "MD5在线加密/解密/破解—MD5在线", "url": "/encrypt_md5.html", "description": "在线md5加密,md5解密,md5加密算法,md5加密工具,免费MD5在线加密,MD5在线解密破解,MD5在线查询,免费MD5解密,支持32位MD5\u00266位MD5 。", "keywords": "md5加密,md5加密算法,md5加密工具", "intro": "在线MD5加密/MD5解密,支持32位和16位。", "icon": "", "type": 3 } | |
</script> | |
<link rel="stylesheet" href="//cdn.sojson.com/ui/layui/css/layui.css" /> | |
<link rel="stylesheet" href="//cdn.sojson.com/ui/css/index.css" /> | |
<style> | |
@media screen and (max-width:450px) { | |
.apend-txt { | |
display: none; | |
} | |
.layui-form-item .layui-input-inline { | |
display: block; | |
float: left; | |
left: 0px; | |
width: auto; | |
margin: 5px 10px; | |
} | |
.mr0.fr, | |
.xpswd, | |
.mbt, | |
.layui-input-inline.fr { | |
float: none !important; | |
margin-left: 10px !important; | |
padding-top: 10px; | |
} | |
.layui-form-item { | |
margin-bottom: 0px; | |
} | |
} | |
</style> | |
</head> | |
<body> | |
<div class="layout"> | |
<div id="so_box" class="layui-row layout-container"> | |
<div class="layui-row layui-anim-scale pt10" style="width: 100%;"> | |
<div class="layui-col-md5"> | |
<div> <textarea style="resize: none;height: 200px;" placeholder="原文放到这里即可。" class="layui-textarea w99 fl " | |
id='source' maxlength="1000"></textarea> </div> | |
<div style="display: inline-block;margin-top: 10px;margin-bottom:20px;"> <button class="layui-btn" | |
id="enmd5">MD5加密<i class="layui-icon"></i></button> <a href="/jsdecode.html" | |
class="blue">Javascript脚本人工解密</a> <a target="_blank" | |
href="//promotion.aliyun.com/ntms/yunparter/invite.html?userCode=lpbnxpc2" class="blue" | |
rel="external nofollow noindex">领取阿里云1888优惠券</a> </div> | |
<h2>MD5解密<small>目前只能解密1~8位数字</small></h2> | |
<hr> | |
<div class="layui-form layui-form-pane"> | |
<div class="layui-form-item"> <label class="layui-form-label">MD5</label> | |
<div class="layui-input-inline" style="width: 295px;"> <input type="text" id="demd5Source" | |
style="width: 300px;" placeholder="在这里输入16 & 32位 MD5,再点击MD5解密。" autocomplete="off" | |
class="layui-input"> | |
</div> <button class="layui-btn" id="demd5">MD5解密<i class="layui-icon"></i></button> | |
</div> | |
</div> | |
<div class="layui-form-item "> | |
<div class="layui-form-mid layui-word-aux ">目前只能解密8位的数字16/32位MD5。正在努力收集更多 MD5数据。</div> | |
</div> <ins class="adsbygoogle" style="display:block; text-align:center;" data-ad-layout="in-article" | |
data-ad-format="fluid" data-ad-client="ca-pub-5366069415012676" data-ad-slot="9990104427"></ins> | |
<script>(adsbygoogle = window.adsbygoogle || []).push({});</script> | |
</div> | |
<div class="layui-col-md4"> | |
<form class="layui-form" action="" onsubmit="return !1;"> | |
<div class="layui-form-item"> <label class="layui-form-label">32位大写</label> | |
<div class="layui-input-block"> <input type="text" id="_32Up" placeholder="32位大写。" click-type="copycode" | |
data-clipboard-target="#_32Up" autocomplete="off" readonly class="layui-input"> </div> | |
</div> | |
<div class="layui-form-item"> <label class="layui-form-label">32位小写</label> | |
<div class="layui-input-block"> <input type="text" id="_32Low" placeholder="32位小写。" click-type="copycode" | |
data-clipboard-target="#_32Low" autocomplete="off" readonly class="layui-input"> </div> | |
</div> | |
<div class="layui-form-item"> <label class="layui-form-label">16位大写</label> | |
<div class="layui-input-block"> <input type="text" id="_16Up" placeholder="16位大写。" click-type="copycode" | |
data-clipboard-target="#_16Up" autocomplete="off" readonly class="layui-input"> </div> | |
</div> | |
<div class="layui-form-item"> <label class="layui-form-label">16位小写</label> | |
<div class="layui-input-block"> <input type="text" id="_16Low" placeholder="16位小写。" click-type="copycode" | |
data-clipboard-target="#_16Low" autocomplete="off" readonly class="layui-input"> </div> | |
</div> | |
<div class="layui-form-item"> <ins class="adsbygoogle" style="display:block; text-align:center;" | |
data-ad-layout="in-article" data-ad-format="fluid" data-ad-client="ca-pub-5366069415012676" | |
data-ad-slot="9990104427"></ins> | |
<script>(adsbygoogle = window.adsbygoogle || []).push({});</script> | |
</div> | |
</form> | |
</div> | |
<div class="layui-col-md3 pl10"> <ins class="adsbygoogle" style="display:inline-block;width:300px;height:600px" | |
data-ad-client="ca-pub-5366069415012676" data-ad-slot="6173043800"></ins> | |
<script>(adsbygoogle = window.adsbygoogle || []).push({});</script> | |
</div> | |
</div> | |
<fieldset class="layui-elem-field layui-field-title site-title"> | |
<legend> | |
<h1 name="grid">MD5解密说明</h1> | |
</legend> | |
</fieldset> | |
<div class="site-text"> | |
<div class="layui-text pl40"> | |
<ul> | |
<li>MD5再次申明没有解密的方法,最好的反驳就是:数据源是无穷尽的,而 MD5密文是有限的。</li> | |
<li>本工具是采用先加密存储,然后再反查询,上千 PB 级别毫秒级响应。</li> | |
<li>16位 MD5和32位 MD5区别是取的是8~24位。</li> | |
<li>目前 MD5 数据正在拓展,拓展一个量级会同步到工具中来。</li> | |
</ul> | |
</div> | |
</div> | |
</div> | |
</div> | |
<script src="//cdn.sojson.com/ui/js/common/sojson.security.m.js"></script> | |
<script src="//cdn.sojson.com/ui/js/common/sojson.core.2.0.js"></script> | |
<script src="//cdn.sojson.com/ui/layui/layui.js"></script> | |
<script src="/format.js"></script> | |
<script> | |
setTimeout(function () { try { so.insert.js('//nos.netease.com/yyimgs/kVpqwysXxxwFiIkU1iWX1A==/109951163721200422'); } catch (e) { } }, 2e3); | |
</script> | |
</body> | |
</html> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var encode_version = "sojson.v4"; | |
const coreArray = [ | |
"w4Rcaw==", | |
"wrdcwppEwpU=", | |
"w4kPwoIZBw==", | |
"wpYmRGfDkQ==", | |
"w4rDs2powos=", | |
"BUMhWsO6w5vCp8KaBFMpEcOtCkXDmw==", | |
"d8K/c8KbD8OCwqITwptZw59BRS0vSzfCryrDnj9VGsKwOsKbw7wQDcO0wrbCvsOgw48nw5XDgk55w54EKsKbCkN8fMKpwpsCJ8Ozwo8mPcO8E3hbw7PCih8=", | |
"YcK/wqnCrw==", | |
"w5rCmsK7T8KZ", | |
"wrNawq5+wpA=", | |
"ClHDmE7Cpg==", | |
"KAjDrgRQ", | |
"wqEiwqY6w4s=", | |
"TcKkwofCv8KP", | |
"Q1YSwos1", | |
"w4TDuUsb", | |
"wp3DqcOWUMOj", | |
"HG1cw4Qh", | |
"w5NOwrZk", | |
"w6/DhFtLwp0=", | |
"w6QhcC8g", | |
"JFzDnX7Ctw==", | |
"JkfDl3zCgw==", | |
"wo03JMKO", | |
"CMOFwo5nAmo=", | |
"wpEgMsKc", | |
"wq7ChcOQQw==", | |
"PF/DvAjCiA==", | |
"PWx2w7QdZg==", | |
"wqXCk8Ob", | |
"wrQzwqd0Om7Cqg==", | |
"w5JYwqA=", | |
"CRXDlQBrBw==", | |
"wpPDuF0Cw6TCnA==", | |
"w63CucOvw53Cog==", | |
"R8O7w6N3w5pI", | |
"PgFrVcKw", | |
"wq3CjhPCt8KL", | |
"GGMnCgQ=", | |
"SQbCjw8wFcKgw4jDvMOKwqQ=", | |
"w49pwqQ=", | |
"w7fCrsOc", | |
"6K+O6LyK5YWY6Z+q6KeJ6Kak5a2855mhFsKCwqnDmuOBiQ==", | |
"wpPDlcKELgVbw7t2T8OOanXDhMO8NVjCvWZhVsO6w4Zqwop4WMO7wqZ2KcOHfx3Dvh8=", | |
"w4bDpy94", | |
"5q2I56O055qHQ8O5wq7lub3orYzmm7rmlL3lrZXlkablrLvmrJnnmqznuaTlk4DvvIrlu6bkuJjmmL45I+S+peaLqOiCu3nCveS+tOOAqQ==", | |
"wprClsK/S8KTP2gnXV3Cuig=", | |
"w4doWcKvXw==", | |
"w5fCisOZAcOo", | |
"w5PDtMOcBBc=", | |
"SMKowrVSHw==", | |
"w5PDlHUFw4I=", | |
"RsOpZA==", | |
"w73DkQPDgsKj", | |
"w53Cl8K8SA==", | |
"wqfCh8OFScOP", | |
"w67DnB3Drw==", | |
"wpEoRU7Dhw==", | |
"wrLCtAU=", | |
"w6TCr8Kie8OV", | |
"YMKawqw=", | |
"KEMD", | |
"6KaR5a+y5oq+5Yu6", | |
"6Kaq5ayr5Lml5oua5Ym/772p5oi05LqF5q2d5Z+75YqS5YqE44K6", | |
"wrXCuTXCncKo", | |
"wrzCoATClcKr", | |
"w6c0dA4/", | |
"FsOmPsO7w4o=", | |
"PkYGKBg=", | |
"wrcbaVHDsyw=", | |
"w4nCgMK1S8KHfg==", | |
"w57DtF03w6w=", | |
"EcOrJcOp", | |
"JShZ", | |
"w5fDpsKRwpbDmQ==", | |
"w7rDlgjDtQ==", | |
"C04BSsOM", | |
"w4XCvgAXw5k=", | |
"wotowobCtQ==", | |
"BlHDnRE=", | |
"FwnDmA==", | |
"w63CkiEYw7U=", | |
"LcKIDsKk", | |
"PcKfAcKn", | |
"RmEbwoQt", | |
"wqcCQMKgDA==", | |
"w7vCp8Kv", | |
"AMOFwoJi", | |
"wpQEwrgUw7k=", | |
"w7YLwoguCA==", | |
"IMO8FsOyw6I=", | |
"w4/CmBM=", | |
"D8OSwqU=", | |
"6K626L6M5YeO6Z2N6KWO6Kay5a+M55iOw6/ChQTDnuOCmA==", | |
"wpVXw7Rsw6gocMOqRg==", | |
"wpoKDw==", | |
"6KyI5Z2t5baC5aSH5qCM6LyY5YSH6ZyB6KStwq7CoBLnm6/lhq/lr5DjgKM=", | |
"QEUgTMO8w5HCrQ==", | |
"DVE3wpksw6YtZ15tw4cgwqxUZsO4FsKRDRTDh8O4VcKeHcKMwrHDklnCmFjCpHnCsio=", | |
"6ZyI6KWQwo3Cn8OD5Yqs5a+R55uX5a2u56665LiV6IO+6LWK6L2IwrhjQ8Kq44OH", | |
"NcOWw4hKw6Y=", | |
"wpsDMFcp", | |
"J8O7O8OSw4U=", | |
"w53Dr18=", | |
"wpQlw7gfw5Y=", | |
"wqAIwqQs", | |
"cMK1wqfClcKh", | |
"UMK6wo1SIg==", | |
"w6UaQTw=", | |
"w4nCmsOWw63Cug==", | |
"XMOcf8OITg==", | |
"wo4aB8KCwpA=", | |
"w4VLfsKddA==", | |
"w6PCpsOh", | |
"SF8zwog1", | |
"R8KvwodV", | |
"GMOYwopr", | |
"DQdUbsKo", | |
"FsOaw6VNw7o=", | |
"wrDClsOZ", | |
"w4DDs0sb", | |
"wpcmCmIJ", | |
"w7dSRQ==", | |
"RFc6wqwF", | |
"w6hRwoI=", | |
"IsKLGw==", | |
"w6oyH8K7ecODw5DDuwZvRQ==", | |
"wrgZw71pHHLDsg==", | |
"wpPDgwlZw5XDmQ==", | |
"5Yu95ay25ouJ5Yqc", | |
"w5waVxIfw7s=", | |
"wq3CisK3wojChTbCvA==", | |
"C8OAwq1uAA==", | |
"BlPDr0/CnA==", | |
"O8KgwqFWwoE=", | |
"RsK9wqPCgsKX", | |
"wo/DqEjDvMKw", | |
"XMOiS1rDsA==", | |
"w400eig5", | |
"XcO1Qw==", | |
"w7PDvcKG", | |
"N2jDmQ7Cgg==", | |
"w4nCnyoxw5c=", | |
"wqxVwrI=", | |
"RsOwGsKBGQ==", | |
"X8O7esOAX8KNw7hvw4B1woo=", | |
"w57Dklo=", | |
"w6BiwqNgwrA=", | |
"E8OTAMOtw40=", | |
"BcKIJsKpwok=", | |
"w5LCm8OZ", | |
"RsOwGg==", | |
"w5/DrE90woJuwrAaw5Frw5Y=", | |
"LnkPAyw=", | |
"OFpJw7cW", | |
"IlMEVsO0", | |
"wpjCgBs=", | |
"w4bDpy81w4Q=", | |
"wrhbwq9Zwo8=", | |
"HnAoOS8=", | |
"wqgKZkLDsjc=", | |
"w6bChAU=", | |
"w5cIwr02AA==", | |
"XcO8W8KE", | |
"PW9c", | |
"wo1nwoc=", | |
"w6JkQQ==", | |
"wpEMaQ==", | |
"w64yGMK7e8ODw5HDuwE=", | |
"wpzDosKHwqHDusOqHg==", | |
"wpDDsMKdwqDDoMOWDVnCins5QnJmcV5OR8Knw6YbJsO2wr0HRQFlU3LCuxBuNsKq", | |
"6Z+86KSZacORw7HlibblrLrnm4/lrb7nrbnkuKTog4botazovq7DqcKYCxbjg5g=", | |
"6K2O5Z+a5bS85aSB5qKx6L6Z5YWe6Z2I6KapYsKdeOebpeWFk+Wsr+OBnw==", | |
"wr7CtcOc", | |
"MmvDmSTCoTY=", | |
"asKtwq0=", | |
"Nlpe", | |
"wqXCjcOU", | |
"w41PwrU=", | |
"w4tOwqt3wqg8", | |
"6KaZ5a685oqv5Yus", | |
"6Ka+5ay25LuU5oiT5YmU776V5omF5Li65qyi5Z6P5YiV5YuD44Oi", | |
"ccOMbMKwLA==", | |
"wpULFMKzwp0=", | |
"w4tywoZZwrA=", | |
"w7EEwroSEw==", | |
"wrUXw7UKw6A=", | |
"w6fChMK3X8OT", | |
"wpvDmmPDrcKH", | |
"wrNfwp9Owo8=", | |
"QMK4wrFQDg==", | |
"w6BEwqFVwpY=", | |
"w6pnRsKWbQ==", | |
"c1UJwpcS", | |
"Skkowr03", | |
"w6QdRzIH", | |
"csKAwoxpDg==", | |
"HWRhw78u", | |
"w4PCosKwRsOX", | |
"BsOowpdPKA==", | |
"wqkXBkow", | |
"w4bDhsKHCxU=", | |
"QMKmwo5IMw==", | |
"wrVdwp3CrMOM", | |
"EEIuTcO7w4E=", | |
"w7vChQ0/w4Et", | |
"b8OXacOzQg==", | |
"HhvDixI=", | |
"w5TCgcK9", | |
"Om87Q8OM", | |
"w5LDrsOZHik=", | |
"CxXDsjxT", | |
"bsO1c2nDjw==", | |
"w5fDmRvDjsKO", | |
"w6tcwq9EwrU=", | |
"w5nDjH1swoo=", | |
"CMObw7R5w5I=", | |
"DjTDtSVi", | |
"Mm/DhyTCuw==", | |
"wrjDuMO3ew==", | |
"KEPDr0/ChQ==", | |
"w5zCgMOBw7jCmg==", | |
"FVcj", | |
"w6fCmAM2", | |
"HMOFwpBy", | |
"H8KpwpB5wrI=", | |
"G8OdwpQ=", | |
"EsKWwp9Hwpg=", | |
"w6cpwqoTwp3DuXF3w4M/GA==", | |
"wqoqE2oGBQ==", | |
"wr3DrF3CqcKJw5LDlg==", | |
"wr3DrF/CrcKQw40=", | |
"5Ym+5a6I5oi85YmY", | |
"w43CvkbCg0Elwo4=", | |
"wqzCtg3DmmE=", | |
"w63DgwLDssKx", | |
"w5bDqm8Nw6g=", | |
"w4LDvl4Iw5U=", | |
"w53DonY=", | |
"JMKJXQ==", | |
"w5DClcOgGMOsw75kw6Mnw5TDqg==", | |
"w73DtcOcOSU=", | |
"w6ZTZcK9Rg==", | |
"wp/CvcOSd8O6", | |
"w4pPw7A=", | |
"w4fChSgCw5A=", | |
"w7bCtsOxLsOM", | |
"F0jDtg==", | |
"w53DuA1ewrY=", | |
"DhXDqgN0DMOgw7fCqMOFw7A=", | |
"IGYH", | |
"wpUvwrA3w7Y=", | |
"w7/Dk3fCt8O0", | |
"GsO8OcOrw6o=", | |
"DBvDkw==", | |
"DlJ6CMK4", | |
"FQRgXsKD", | |
"JcKIBsKtwpQN", | |
"DFrDvQ==", | |
"w4jDu8K3FTg=", | |
"bMK0wqbCtQ==", | |
"GMO5Ng==", | |
"CcKSwptZwrk=", | |
"wqLCksOTSw==" | |
] // 147位转换后的。 | |
/** | |
* | |
* @description 这段代码注释掉了。主要功能是将coreArray的前147位拼接到最后。并做了反格式化,引起页面崩溃。 | |
*/ | |
// (function (_0xd643ec, _0x4526c0) { | |
// var _0x35d6c3 = function (_0xc81e8b) { | |
// while (--_0xc81e8b) { | |
// _0xd643ec["push"](_0xd643ec["shift"]()); | |
// } | |
// }; | |
// var _0x243eb6 = function () { | |
// var _0x251c73 = { | |
// data: { key: "cookie", value: "timeout" }, | |
// setCookie: function (_0x19599a, _0x5672dd, _0x57c295, _0x241421) { | |
// _0x241421 = _0x241421 || {}; | |
// var _0x5dcc4b = _0x5672dd + "=" + _0x57c295; | |
// var _0xe20a36 = 0x0; | |
// for ( | |
// var _0xe20a36 = 0x0, _0x2bbce2 = _0x19599a["length"]; | |
// _0xe20a36 < _0x2bbce2; | |
// _0xe20a36++ | |
// ) { | |
// var _0x4866db = _0x19599a[_0xe20a36]; | |
// _0x5dcc4b += ";\x20" + _0x4866db; | |
// var _0x37465f = _0x19599a[_0x4866db]; | |
// _0x19599a["push"](_0x37465f); | |
// _0x2bbce2 = _0x19599a["length"]; | |
// if (_0x37465f !== !![]) { | |
// _0x5dcc4b += "=" + _0x37465f; | |
// } | |
// } | |
// _0x241421["cookie"] = _0x5dcc4b; | |
// }, | |
// removeCookie: function () { | |
// return "dev"; | |
// }, | |
// getCookie: function (_0xa21fcd, _0xdac422) { | |
// _0xa21fcd = | |
// _0xa21fcd || | |
// function (_0x4dfd88) { | |
// return _0x4dfd88; | |
// }; | |
// var _0x22809f = _0xa21fcd( | |
// new RegExp( | |
// "(?:^|;\x20)" + | |
// _0xdac422["replace"](/([.$?*|{}()[]\/+^])/g, "$1") + | |
// "=([^;]*)" | |
// ) | |
// ); | |
// var _0x43556a = function (_0x408559, _0x45c7da) { | |
// _0x408559(++_0x45c7da); | |
// }; | |
// _0x43556a(_0x35d6c3, _0x4526c0); | |
// return _0x22809f ? decodeURIComponent(_0x22809f[0x1]) : undefined; | |
// }, | |
// }; | |
// var _0x288c41 = function () { | |
// var _0x279436 = new RegExp( | |
// "\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*[\x27|\x22].+[\x27|\x22];?\x20*}" | |
// ); | |
// return _0x279436["test"](_0x251c73["removeCookie"]["toString"]()); | |
// }; | |
// _0x251c73["updateCookie"] = _0x288c41; | |
// var _0x47c801 = ""; | |
// var _0x3e9624 = _0x251c73["updateCookie"](); | |
// if (!_0x3e9624) { | |
// _0x251c73["setCookie"](["*"], "counter", 0x1); | |
// } else if (_0x3e9624) { | |
// _0x47c801 = _0x251c73["getCookie"](null, "counter"); | |
// } else { | |
// _0x251c73["removeCookie"](); | |
// } | |
// }; | |
// _0x243eb6(); | |
// })(coreArray, 146); | |
const format = function (paramA, paramB) { | |
paramA -= 0; | |
let str = coreArray[paramA]; | |
if (format.initialized === undefined) { | |
format.rc4= function (str1, str2) { | |
const arr = []; | |
let _0x38b90d = 0; | |
let _0x208c8f; | |
let _0x4b54ca = ''; | |
let _0x3a26d8 = ''; | |
str1 = atob(str1); | |
for ( | |
let _0x11d8c4 = 0, _0x2f1d75 = str1.length; | |
_0x11d8c4 < _0x2f1d75; | |
_0x11d8c4++ | |
) { | |
_0x3a26d8 | |
+= `%${ | |
(`00${str1.charCodeAt(_0x11d8c4).toString(0x10)}`).slice(-2)}`; | |
} | |
str1 = decodeURIComponent(_0x3a26d8); | |
for (var _0x4d0792 = 0; _0x4d0792 < 0x100; _0x4d0792++) { | |
arr[_0x4d0792] = _0x4d0792; | |
} | |
for (_0x4d0792 = 0; _0x4d0792 < 0x100; _0x4d0792++) { | |
_0x38b90d = (_0x38b90d | |
+ arr[_0x4d0792] | |
+ str2.charCodeAt(_0x4d0792 % str2.length)) | |
% 0x100; | |
_0x208c8f = arr[_0x4d0792]; | |
arr[_0x4d0792] = arr[_0x38b90d]; | |
arr[_0x38b90d] = _0x208c8f; | |
} | |
_0x4d0792 = 0; | |
_0x38b90d = 0; | |
for (let _0x332b4d = 0; _0x332b4d < str1.length; _0x332b4d++) { | |
_0x4d0792 = (_0x4d0792 + 1) % 0x100; | |
_0x38b90d = (_0x38b90d + arr[_0x4d0792]) % 0x100; | |
_0x208c8f = arr[_0x4d0792]; | |
arr[_0x4d0792] = arr[_0x38b90d]; | |
arr[_0x38b90d] = _0x208c8f; | |
_0x4b54ca += String.fromCharCode( | |
str1.charCodeAt(_0x332b4d) | |
^ arr[(arr[_0x4d0792] + arr[_0x38b90d]) % 0x100], | |
); | |
} | |
return _0x4b54ca; | |
}; | |
format.data = {}; | |
format.initialized = true; | |
} | |
const res = format.data[paramA]; | |
if (res === undefined) { | |
// if (format.once === undefined) { | |
// const formatOnce = function (format) { | |
// this.format = format; | |
// this.states = [1, 0, 0]; | |
// this.newState=function(){return'newState';}; | |
// // this.firstState = '\x5cw+ *\x5c(\x5c) *{\x5cw+ *'; | |
// // this.secondState = '[\x27|\x22].+[\x27|\x22];? *}'; | |
// this.firstState = '\\w+ *\\(\\) *{\\w+ *'; | |
// this.secondState = `['|"].+['|"];? *}`; | |
// }; | |
// formatOnce.prototype.checkState = function () { | |
// // const reg = new RegExp(this.firstState + this.secondState); | |
// const reg = new RegExp(`\\w+ *\\(\\) *{\\w+ *['|"].+['|"];? *}`); | |
// return this.runState( | |
// reg.test(this.newState.toString()) | |
// ? --this.states[1] // 后面会转为true | |
// : --this.states[0], // false | |
// ); | |
// }; | |
// formatOnce.prototype.runState = function (_0x14b102) { | |
// if (!~_0x14b102) { | |
// return _0x14b102; | |
// } | |
// return this.getState(this.format); | |
// }; | |
// formatOnce.prototype.getState = function (format) { | |
// for ( | |
// let _0x320545 = 0, _0xcd64af = this.states.length; | |
// _0x320545 < _0xcd64af; | |
// _0x320545++ | |
// ) { | |
// this.states.push(Math.round(Math.random())); | |
// _0xcd64af = this.states.length; | |
// } | |
// return format(this.states[0]); | |
// }; | |
// new formatOnce(format).checkState(); | |
// format.once = true; | |
// } | |
str = format.rc4(str, paramB); | |
format.data[paramA] = str; | |
} else { | |
str = res; | |
} | |
return str; | |
}; | |
const _0x68e87f = (function () { | |
let _0x4d8331 = true; | |
return function (_0x48d0ba, _0x3f5548) { | |
const _0x486edd = _0x4d8331 | |
? function () { | |
if (_0x3f5548) { | |
const _0x48e531 = _0x3f5548.apply(_0x48d0ba, arguments); | |
_0x3f5548 = null; | |
return _0x48e531; | |
} | |
} | |
: function () { }; | |
_0x4d8331 = false; | |
return _0x486edd; | |
}; | |
}()); | |
const _0x28f610 = _0x68e87f(this, () => { | |
const _0x19a427 = function () { | |
return 'dev'; | |
}; | |
const _0x57a871 = function () { | |
return 'window'; | |
}; | |
const _0x460570 = function () { | |
const _0x150fdc = /\w+ *\(\) *{\w+ *['|"].+['|"];? *}/; | |
return !_0x150fdc.test( | |
_0x19a427.toString(), | |
); // false | |
}; | |
const _0x3f9948 = function () { | |
const _0x51495f = /(\\[x|u](\w){2,4})+/; | |
return _0x51495f.test( | |
_0x57a871.toString(), | |
); | |
}; | |
const _0x280b6c = function (_0x34e3b7) { | |
const _0x506245 = ~-1 >> (1 + (0xff % 0)); | |
console.log("🚀 ~ const_0x28f610=_0x68e87f ~ _0x506245:", _0x506245); | |
if (_0x34e3b7.indexOf(_0x506245 === '\x69')) { | |
console.log(1); | |
_0x2e5de9(_0x34e3b7); | |
} | |
console.log(2); | |
}; | |
var _0x2e5de9 = function (_0x44b3be) { | |
const _0x25ce16 = ~-4 >> (1 + (0xff % 0)); | |
if ( | |
_0x44b3be.indexOf((`${ true}`)[3]) !== _0x25ce16 | |
) { | |
_0x280b6c(_0x44b3be); | |
} | |
}; | |
if (!_0x460570()) { // 正常流程 | |
if (!_0x3f9948()) { | |
_0x280b6c('\x69\x6e\x64\u0435\x78\x4f\x66'); // 'indеxOf' | |
} else { | |
// 正常流程 | |
_0x280b6c('\x69\x6e\x64\x65\x78\x4f\x66'); // 'indexOf' | |
} | |
} else { | |
_0x280b6c('\x69\x6e\x64\u0435\x78\x4f\x66'); | |
} | |
}); | |
// _0x28f610(); // 检测代码格式化,函数无限循环调用,堆栈溢出 | |
const applyFn = (function () { | |
let _0x406873 = true; | |
return function (_0x2e9e79, _0x2a72a0) { | |
const _0x2a2007 = _0x406873 | |
? function () { | |
const _0x517b46 = { | |
mhDOq: function _0x4ad968(_0x5e8a05, _0x341ccb) { | |
return _0x5e8a05 !== _0x341ccb; | |
}, | |
RILBW: 'DyY', // DyY | |
}; | |
if ( | |
_0x517b46['mhDOq']( // mhDOq | |
_0x517b46['RILBW'], // RILBW | |
_0x517b46['RILBW'], // RILBW | |
) | |
) { | |
debugger; | |
} else if (_0x2a72a0) { | |
const _0x59b231 = _0x2a72a0[format('4', '[O*8')]( // apply | |
_0x2e9e79, | |
arguments, | |
); | |
_0x2a72a0 = null; | |
return _0x59b231; | |
} | |
} | |
: function () { }; | |
_0x406873 = false; | |
return _0x2a2007; | |
}; | |
}()); | |
(function () { | |
const operaObj = { | |
RrQwT: 'function *\\( *\\)', | |
eOdxd: '\\+\\+ *(?:_0x(?:[a-f0-9]){4,6}|(?:\\b|\\d)[a-z0-9]{1,4}(?:\\b|\\d))', | |
EuGdy: function (a, b) { | |
return a(b); | |
}, | |
afPfq: 'init', | |
QcHFS: function (a, b) { | |
return a + b; | |
}, | |
BnDVU: 'chain', | |
DGAOo: function (a, b) { | |
return a + b; | |
}, | |
mTPws: 'input', | |
GnMfM: function (fn) { | |
return fn(); | |
}, | |
kxBTh: function (fn, a, b) { | |
return fn(a, b); | |
}, | |
}; | |
applyFn(this, () => { | |
const _0x119078 = /function *\( *\)/; | |
const _0x5dd1c6 = /\+\+ *(?:_0x(?:[a-f0-9]){4,6}|(?:\b|\d)[a-z0-9]{1,4}(?:\b|\d))/i; // | |
const _0x197c83 = core('init'); | |
if ( | |
!_0x119078.test(_0x197c83 + 'chain') | |
|| !_0x5dd1c6.test(_0x197c83 + 'input') | |
) { | |
// _0x197c83('0'); // 有毒 | |
} else { | |
core(); | |
} | |
})(); | |
}()); | |
// if ( | |
// !/^((([a-z0-9]{1,10})\.)?sojson\.com)/.test( | |
// document['domain'], | |
// ) | |
// ) { | |
// for (!0; !0;) { | |
// location['href'] = location['href']; | |
// } | |
// } // 域名不对,无限刷新页面 | |
setInterval(() => { | |
// core(); | |
}, 4000); | |
layui['config']({ | |
base: DOMAIN['cdn'] + '/ui/js/', | |
version: DOMAIN._v, | |
}).use('sojson', () => { | |
const operateObj4 = { | |
rKNHJ: function (a, b) { | |
return a(b); | |
}, | |
hMaLW: '#demd5', | |
UvGzM: 'click', | |
PizVV: function (a, b) { | |
return a(b); | |
}, | |
mMFuX: '#enmd5', | |
}; | |
so('#demd5').on('click', () => { | |
const operaObj2 = { | |
GMkpq: '3|0|4|2|5|1', | |
MmoNW: function _0x240363(a, b) { | |
return a !== b; | |
}, | |
kbTiI: 'VMD', | |
cHMjB: 'STi', | |
cbmYf: '请输入需要解密的 MD5。', | |
UGMkA: function _0x14a4ed(a, b) { | |
return a + b; | |
}, | |
iiamE: '/auth_v_1_0/encrypt/decodeMD5.shtml', | |
hxNsB: function _0xdd9a26(a, b) { | |
return a + b; | |
}, | |
NIbEh: 'md5|', | |
feCJD: '正确的MD5应该是数字和字母的组合,并且是16位或者32位。', | |
dQYii: function _0x5a9f4b(a, b) { | |
return a(b); | |
}, | |
yLlgD: '#demd5Source', | |
}; | |
const arr = ['3', '0', '4', '2', '5', '1']; | |
let idx = 0; | |
while ([]) { | |
switch (arr[idx++]) { | |
case '0': | |
if (!demd5Source) { | |
if ( | |
operaObj2[format('0x31', 'z%eD')]( | |
operaObj2[format('0x32', 'IOJ]')], | |
operaObj2[format('0x33', 'mE#h')], | |
) // true | |
) { | |
return ( | |
layer['msg']( | |
'请输入需要解密的 MD5。', | |
so['defn'], | |
), | |
false | |
); | |
} | |
const _0x56fc16 = firstCall | |
? function () { | |
if (fn) { | |
const _0x45dbf2 = fn[format('0x37', 'qOi*')]( | |
context, | |
arguments, | |
); | |
fn = null; | |
return _0x45dbf2; | |
} | |
} | |
: function () { }; | |
firstCall = false; | |
return _0x56fc16; | |
} | |
continue; | |
case '1': | |
so['post']( | |
operaObj2[format('0x39', 'm&yL')]( | |
DOMAIN['www'], | |
'/auth_v_1_0/encrypt/decodeMD5.shtml', | |
), | |
{ text: demd5Source }, | |
(response) => { | |
const operateObj3 = { | |
pzGft: function _0x33f287(a, b) { | |
return a === b; | |
}, | |
ycvnw: 'CPM', | |
nATVl: 'KuL', | |
sSfXQ: function _0x268003(a, b) { | |
return a == b; | |
}, | |
nheXl: '解密成功', | |
hwyBQ: '解密不成功,我们正在努力。', | |
}; | |
if ( | |
operateObj3[format('0x40', 'VgY6')]( | |
operateObj3[format('0x41', 'VgY6')], | |
operateObj3[format('0x42', 'qu)Y')], | |
) // false | |
) { | |
while ([]) { } // 下毒 | |
} else { | |
layer['close'](layerLoad); | |
if ( | |
response | |
&& response['status'] == 200 | |
) { | |
layer[format('0x46', 'i2ZT')]({ | |
title: operateObj3[format('0x47', 'mE#h')], | |
formType: 2, | |
btn: '', | |
value: response[format('0x48', 'BqeZ')], | |
}); | |
} else { | |
layer[format('0x49', 'jhmB')]( | |
operateObj3[format('0x4a', 'Iu^c')], // 'hwyBQ' | |
so[format('0x4b', '^Cci')], | |
); | |
} | |
} | |
}, | |
{ | |
sojsonData: so.sf.en( | |
'md5|' + demd5Source | |
), | |
}, | |
); | |
continue; | |
case '2': | |
if ( | |
!/^[a-zA-Z0-9]{32}$/.test(demd5Source) | |
&& !/^[a-zA-Z0-9]{16}$/.test(demd5Source) | |
) { | |
return ( | |
layer['msg']( | |
'正确的MD5应该是数字和字母的组合,并且是16位或者32位。', | |
so['defn'], | |
), | |
false | |
); | |
} | |
continue; | |
case '3': | |
var demd5Source = so['trim']( | |
so( | |
'#demd5Source', | |
)['val'](), | |
); | |
continue; | |
case '4': | |
continue; | |
case '5': | |
var layerLoad = layer['load'](); | |
continue; | |
} | |
break; | |
} | |
}); | |
so('#enmd5').on('click', () => { | |
const _0x53e65d = { | |
QHEPX: function _0x506195(_0x18d244, _0x2bcedc) { | |
return _0x18d244 === _0x2bcedc; | |
}, | |
dFTwc: format('0x5b', 'ME3B'), | |
RqjZj: format('0x5c', 'U*bz'), | |
Bpbpx: format('0x5d', '5B63'), | |
xdgNW: format('0x5e', 'z)*D'), | |
GOPSs: function _0x3fc8a3(_0x2013f5, _0x2f11a3) { | |
return _0x2013f5 !== _0x2f11a3; | |
}, | |
wHPxa: format('0x5f', 'Q9D4'), | |
EnLBZ: function _0x56ebb1(_0xffbe94) { | |
return _0xffbe94(); | |
}, | |
joqeq: format('0x60', 'Qhi6'), | |
AMqsR: function _0x3ca261(_0xd8125b, _0x1e4a55) { | |
return _0xd8125b(_0x1e4a55); | |
}, | |
rDhWD: format('0x61', 'Edyd'), | |
hcnBC: function _0x1a7f97(_0x18d8a0, _0x1d36c3) { | |
return _0x18d8a0 + _0x1d36c3; | |
}, | |
fgxAA: format('0x62', 'Lq8I'), | |
SeHIf: function _0x4dcb09(_0x1f51a7, _0x5c87a7) { | |
return _0x1f51a7 > _0x5c87a7; | |
}, | |
LNsmP: format('0x63', '&rR@'), | |
}; | |
if ( | |
_0x53e65d[format('0x64', 'jnci')]( | |
_0x53e65d[format('0x65', 'Qhi6')], | |
_0x53e65d[format('0x66', 'BqeZ')], | |
) | |
) { | |
return ( | |
layer[format('0x67', 'mE#h')]( | |
_0x53e65d[format('0x68', 'UCRp')], | |
so[format('0x69', '(9OQ')], | |
), | |
false | |
); | |
} | |
const _0xe291eb = _0x53e65d[format('0x6a', '&rR@')][format('0x6b', 'IOJ]')]('|'); | |
let _0xe8bb0f = 0; | |
while ([]) { | |
switch (_0xe291eb[_0xe8bb0f++]) { | |
case '0': | |
var _0x1778d9 = layer[format('0x6c', 'qu)Y')](); | |
continue; | |
case '1': | |
if (!_0x61c5ca) { | |
if ( | |
_0x53e65d[format('0x6d', 'krj0')]( | |
_0x53e65d[format('0x6e', 'A8m!')], | |
_0x53e65d[format('0x6f', 'Q9D4')], | |
) | |
) { | |
_0x53e65d[format('0x70', 'w3tt')](core); | |
} else { | |
return ( | |
layer[format('0x71', 'krj0')]( | |
_0x53e65d[format('0x72', 'Lq8I')], | |
so[format('0x73', 'IOJ]')], | |
), | |
false | |
); | |
} | |
} | |
continue; | |
case '2': | |
var _0x61c5ca = so[format('0x74', 'U*bz')]( | |
_0x53e65d[format('0x75', 'vEj%')]( | |
so, | |
_0x53e65d[format('0x76', 'jnci')], | |
)[format('0x77', 'qOi*')](), | |
); | |
continue; | |
case '3': | |
so['post']( | |
_0x53e65d[format('0x79', 'Qhi6')]( | |
DOMAIN[format('0x7a', 'w3tt')], | |
_0x53e65d['fgxAA'], | |
), | |
{ text: _0x61c5ca }, | |
(_0x388307) => { | |
const _0x2f7153 = { | |
gjNhk: function _0x12c5e6(_0x21844d, _0x5d1edf) { | |
return _0x21844d !== _0x5d1edf; | |
}, | |
gzuUR: format('0x7c', 'UESF'), | |
fPxUJ: format('0x7d', 'Zo3k'), | |
NlcYa: format('0x7e', 'zoKQ'), | |
wxHTM: function _0x1952eb(_0x5935a2, _0x40f1d4) { | |
return _0x5935a2(_0x40f1d4); | |
}, | |
DAZpj: format('0x7f', 'cl@#'), | |
vwrCM: function _0x147987(_0x17b669, _0x51f416) { | |
return _0x17b669(_0x51f416); | |
}, | |
BhHcf: format('0x80', 'mE#h'), | |
GIfpl: format('0x81', '3G9R'), | |
fYQeb: function _0x124646(_0x4b7370, _0x5c686a) { | |
return _0x4b7370(_0x5c686a); | |
}, | |
LeNci: format('0x82', 'Qhi6'), | |
AeKoz: format('0x83', 'krj0'), | |
boqRk: function _0x5db551(_0x2f48e2) { | |
return _0x2f48e2(); | |
}, | |
}; | |
if ( | |
_0x2f7153[format('0x84', 'U*bz')]( | |
_0x2f7153[format('0x85', 'weRA')], | |
_0x2f7153[format('0x86', '3G9R')], | |
) | |
) { | |
const _0x394326 = _0x2f7153[format('0x87', '&rR@')][ | |
format('0x88', 'fnuD') | |
]('|'); | |
let _0x186ed5 = 0; | |
while ([]) { | |
switch (_0x394326[_0x186ed5++]) { | |
case '0': | |
_0x2f7153[format('0x89', '^heg')]( | |
so, | |
_0x2f7153[format('0x8a', 'qu)Y')], | |
)[format('0x8b', 'A8m!')]( | |
_0x388307[format('0x8c', 'z%eD')], | |
); | |
continue; | |
case '1': | |
_0x2f7153[format('0x8d', '5B63')]( | |
so, | |
_0x2f7153[format('0x8e', 'ME3B')], | |
)[format('0x8f', 'ghet')]( | |
_0x388307[format('0x90', 'A8m!')][ | |
format('0x91', 'A8m!') | |
](), | |
); | |
continue; | |
case '2': | |
layer[format('0x92', 'kS!H')]( | |
_0x2f7153[format('0x93', 'z)*D')], | |
); | |
continue; | |
case '3': | |
_0x2f7153[format('0x94', 'BqeZ')]( | |
so, | |
_0x2f7153[format('0x95', 'Zo3k')], | |
)[format('0x96', 'Ccp$')]( | |
_0x388307[format('0x97', 'A8m!')][ | |
format('0x98', '[O*8') | |
](), | |
); | |
continue; | |
case '4': | |
layer[format('0x99', 'cC(v')](_0x1778d9); | |
continue; | |
case '5': | |
_0x2f7153[format('0x9a', 'ZG5j')]( | |
so, | |
_0x2f7153[format('0x9b', 'Edyd')], | |
)[format('0x9c', 'O7np')]( | |
_0x388307[format('0x9d', '[O*8')], | |
); | |
continue; | |
} | |
break; | |
} | |
} else { | |
_0x2f7153[format('0x9e', 'ghet')](core); | |
} | |
}, | |
); | |
continue; | |
case '4': | |
if ( | |
_0x53e65d[format('0x9f', 'cC(v')]( | |
_0x61c5ca[format('0xa0', 'm&yL')], | |
0x3e8, | |
) | |
) { | |
return ( | |
layer[format('0xa1', 'ME3B')]( | |
_0x53e65d[format('0xa2', 'cl@#')], | |
so[format('0xa3', 'aD3G')], | |
), | |
false | |
); | |
} | |
continue; | |
} | |
break; | |
} | |
}); | |
}); // 加密解密事件监听 | |
function core(type) { | |
const operaObj1 = { | |
LwjTi: function (a, b) { | |
return a === b; | |
}, | |
qoMOW: 'clD', | |
Eopgr: 'WSY', | |
IjuUK: function (a, b) { | |
return a(b); | |
}, | |
rOghx: 'bAs', | |
lEycl: 'Uca', | |
tNJVf: '0|4|3|1|2', | |
RUGFS: '#source', | |
BYIzy: function (a, b) { | |
return a + b; | |
}, | |
OfFDS: '/auth_v_1_0/encrypt/encodeMD5.shtml', | |
YNECy: function (a, b) { | |
return a > b; | |
}, | |
tOFOU: '需要MD5加密的字符不能超过1000。', | |
TbBZr: '请在左大框输入需要MD5的内容。', | |
}; | |
function coreInner(paramA) { | |
const operateObj5 = { | |
HUQZd: function (a, b) { | |
return a === b; | |
}, | |
lYCIl: 'xBi', | |
jBtIC: function (a, b) { | |
return a === b; | |
}, | |
cBoeN: 'string', | |
gBGxC: 'IgL', | |
ikAEk: 'hYF', | |
crPkX: function (a, b) {s | |
return a(b); | |
}, | |
GodEJ: function (a) { | |
return a(); | |
}, | |
QeKzV: 'cza', | |
hyjPs: 'jdp', | |
mhgjT: function (a, b) { | |
return a !== b; | |
}, | |
QJmRX: function (a, b) { | |
return a + b; | |
}, | |
CgymZ: function (a, b) { | |
return a / b; | |
}, | |
NdsPG: 'length', | |
VRbjz: function (a, b) { | |
return a % b; | |
}, | |
zrvQx: function (a, b) { | |
return a(b); | |
}, | |
JPhmq: function (a, b) { | |
return a == b; | |
}, | |
DCFCm: '解密成功', | |
YYtzB: '解密不成功,我们正在努力。', | |
}; | |
if ( | |
operateObj5[format('0xb6', 'aD3G')]( | |
operateObj5[format('0xb7', 'Q9D4')], | |
operateObj5[format('0xb8', 'z)*D')], | |
) // true | |
) { | |
if ( | |
typeof paramA === 'string' | |
) { | |
if ( | |
operateObj5[format('0xbb', 'bP!u')]( | |
operateObj5[format('0xbc', 'fnuD')], | |
operateObj5[format('0xbd', 'ghet')], | |
) // false | |
) { | |
if (type) { | |
return coreInner; | |
} | |
operateObj5[format('0xbe', 'IOJ]')](coreInner, 0); | |
} else { | |
console.log('下毒'); | |
// const _0xce9755 = function () { | |
// while ([]) { } | |
// }; | |
// return _0xce9755(); | |
} | |
} else if ( | |
operateObj5[format('0xc0', 'w3tt')]( | |
operateObj5[format('0xc1', 'Lq8I')], | |
operateObj5[format('0xc2', 'Lq8I')], | |
) // false | |
) { | |
} else if ( | |
('' + paramA / paramA).length !== 1 | |
|| | |
paramA % 20 ===0 | |
) { | |
debugger; | |
} else { | |
debugger; | |
} | |
operateObj5[format('0xc9', '@8[3')](coreInner, ++paramA); | |
} else { | |
layer[format('0xca', 'IOJ]')](load); | |
if ( | |
result | |
&& result['status'] == 200 | |
) { | |
layer['prompt']({ | |
title: '解密成功', | |
formType: 2, | |
btn: '', | |
value: result['data'], | |
}); | |
} else { | |
layer['msg']( | |
'解密不成功,我们正在努力。', | |
so['defn'], | |
); | |
} | |
} | |
} | |
try { | |
if (type) { | |
return coreInner; | |
} | |
if ( | |
operaObj1[format('0xd2', 'z%eD')]( | |
operaObj1[format('0xd3', '#Uhc')], | |
operaObj1[format('0xd4', '^heg')], | |
) // false | |
) { | |
debugger; | |
} else { | |
coreInner(0); | |
} | |
} catch (_0x3154f3) { | |
if ( | |
operaObj1[format('0xd6', 'z)*D')]( | |
operaObj1[format('0xd7', '[O*8')], | |
operaObj1[format('0xd8', 'jnci')], | |
) // false | |
) { | |
const _0x4dc636 = [ | |
"0", | |
"4", | |
"3", | |
"1", | |
"2" | |
]; | |
let _0x535336 = 0; | |
while ([]) { | |
switch (_0x4dc636[_0x535336++]) { | |
case '0': | |
var _0x5bf915 = so[format('0xdb', 'y]hN')]( | |
operaObj1[format('0xdc', 'weRA')]( | |
so, | |
operaObj1[format('0xdd', 'krj0')], | |
)[format('0xde', 'Edyd')](), | |
); | |
continue; | |
case '1': | |
var _0x2675ff = layer[format('0xdf', 'ME3B')](); | |
continue; | |
case '2': | |
so[format('0xe0', 'U*bz')]( | |
operaObj1[format('0xe1', '3G9R')]( | |
DOMAIN[format('0xe2', 'U*bz')], | |
operaObj1[format('0xe3', '3G9R')], | |
), | |
{ text: _0x5bf915 }, | |
(_0xd46bd4) => { | |
const _0xcac8f6 = { | |
BWzol: format('0xe4', 'UCRp'), | |
fvWbh: function _0x58ef02(_0xd564f2, _0x2215f4) { | |
return _0xd564f2(_0x2215f4); | |
}, | |
rbfgU: format('0xe5', 'qu)Y'), | |
YJgRL: format('0xe6', '^Cci'), | |
LrJPa: function _0x1e0605(_0x4236fa, _0x1dad91) { | |
return _0x4236fa(_0x1dad91); | |
}, | |
RLDFP: format('0xe7', '^Cci'), | |
QBruY: format('0xe8', 'zoKQ'), | |
ovhcE: format('0xe9', 'O7np'), | |
}; | |
const _0x4a8041 = _0xcac8f6[format('0xea', 'O7np')][format('0xeb', '^Cci')]( | |
'|', | |
); | |
let _0x49729e = 0; | |
while ([]) { | |
switch (_0x4a8041[_0x49729e++]) { | |
case '0': | |
_0xcac8f6[format('0xec', 'mE#h')]( | |
so, | |
_0xcac8f6[format('0xed', 'mE#h')], | |
)[format('0xee', '[O*8')]( | |
_0xd46bd4[format('0xef', 'Zo3k')][ | |
format('0xf0', 'Ccp$') | |
](), | |
); | |
continue; | |
case '1': | |
layer[format('0xf1', 'z%eD')](_0x2675ff); | |
continue; | |
case '2': | |
_0xcac8f6[format('0xf2', 'w3tt')]( | |
so, | |
_0xcac8f6[format('0xf3', 'qOi*')], | |
)[format('0x56', 'bP!u')]( | |
_0xd46bd4[format('0xf4', 'z)*D')], | |
); | |
continue; | |
case '3': | |
_0xcac8f6[format('0xf5', 'ME3B')]( | |
so, | |
_0xcac8f6[format('0xf6', 'Ccp$')], | |
)[format('0xf7', 'weRA')]( | |
_0xd46bd4[format('0xf8', 'mE#h')][ | |
format('0xf9', '#Uhc') | |
](), | |
); | |
continue; | |
case '4': | |
layer[format('0xfa', 'cC(v')]( | |
_0xcac8f6[format('0xfb', '(9OQ')], | |
); | |
continue; | |
case '5': | |
_0xcac8f6[format('0xfc', 'kS!H')]( | |
so, | |
_0xcac8f6[format('0xfd', 'BqeZ')], | |
)[format('0xfe', '#Uhc')]( | |
_0xd46bd4[format('0xff', 'Edyd')], | |
); | |
continue; | |
} | |
break; | |
} | |
}, | |
); | |
continue; | |
case '3': | |
if ( | |
operaObj1[format('0x100', 'vEj%')]( | |
_0x5bf915[format('0x101', 'Zo3k')], | |
0x3e8, | |
) | |
) { | |
return ( | |
layer[format('0x102', 'weRA')]( | |
operaObj1[format('0x103', '@8[3')], | |
so[format('0x104', '&rR@')], | |
), | |
false | |
); | |
} | |
continue; | |
case '4': | |
if (!_0x5bf915) { | |
return ( | |
layer[format('0x105', 'BqeZ')]( | |
operaObj1[format('0x106', '3G9R')], | |
so[format('0x107', 'qOi*')], | |
), | |
false | |
); | |
} | |
continue; | |
} | |
break; | |
} | |
} else { | |
} | |
} | |
} | |
var encode_version = "sojson.v4"; | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*! jQuery v1.9.1 | (c) jQuery Foundation | jquery.org/license */ | |
(function (r, n) { | |
function Ba(a) { | |
var b = a.length, | |
d = c.type(a); | |
return c.isWindow(a) | |
? !1 | |
: 1 === a.nodeType && b | |
? !0 | |
: "array" === d || | |
("function" !== d && | |
(0 === b || ("number" === typeof b && 0 < b && b - 1 in a))); | |
} | |
function Sb(a) { | |
var b = (Va[a] = {}); | |
c.each(a.match(R) || [], function (a, c) { | |
b[c] = !0; | |
}); | |
return b; | |
} | |
function Wa(a, b, d, e) { | |
if (c.acceptData(a)) { | |
var f = c.expando, | |
g = "string" === typeof b, | |
h = a.nodeType, | |
k = h ? c.cache : a, | |
l = h ? a[f] : a[f] && f; | |
if ((l && k[l] && (e || k[l].data)) || !g || d !== n) { | |
l || (h ? (a[f] = l = aa.pop() || c.guid++) : (l = f)); | |
k[l] || ((k[l] = {}), h || (k[l].toJSON = c.noop)); | |
if ("object" === typeof b || "function" === typeof b) | |
e ? (k[l] = c.extend(k[l], b)) : (k[l].data = c.extend(k[l].data, b)); | |
a = k[l]; | |
e || (a.data || (a.data = {}), (a = a.data)); | |
d !== n && (a[c.camelCase(b)] = d); | |
g ? ((d = a[b]), null == d && (d = a[c.camelCase(b)])) : (d = a); | |
return d; | |
} | |
} | |
} | |
function Xa(a, b, d) { | |
if (c.acceptData(a)) { | |
var e, | |
f, | |
g = a.nodeType, | |
h = g ? c.cache : a, | |
k = g ? a[c.expando] : c.expando; | |
if (h[k]) { | |
if (b && (f = d ? h[k] : h[k].data)) { | |
c.isArray(b) | |
? (b = b.concat(c.map(b, c.camelCase))) | |
: b in f | |
? (b = [b]) | |
: ((b = c.camelCase(b)), (b = b in f ? [b] : b.split(" "))); | |
var l = 0; | |
for (e = b.length; l < e; l++) delete f[b[l]]; | |
if (!(d ? Ca : c.isEmptyObject)(f)) return; | |
} | |
if (!d && (delete h[k].data, !Ca(h[k]))) return; | |
g | |
? c.cleanData([a], !0) | |
: c.support.deleteExpando || h != h.window | |
? delete h[k] | |
: (h[k] = null); | |
} | |
} | |
} | |
function Ya(a, b, d) { | |
if (d === n && 1 === a.nodeType) | |
if ( | |
((d = "data-" + b.replace(Tb, "-$1").toLowerCase()), | |
(d = a.getAttribute(d)), | |
"string" === typeof d) | |
) { | |
try { | |
d = | |
"true" === d | |
? !0 | |
: "false" === d | |
? !1 | |
: "null" === d | |
? null | |
: +d + "" === d | |
? +d | |
: Ub.test(d) | |
? c.parseJSON(d) | |
: d; | |
} catch (e) {} | |
c.data(a, b, d); | |
} else d = n; | |
return d; | |
} | |
function Ca(a) { | |
for (var b in a) | |
if (("data" !== b || !c.isEmptyObject(a[b])) && "toJSON" !== b) return !1; | |
return !0; | |
} | |
function qa() { | |
return !0; | |
} | |
function W() { | |
return !1; | |
} | |
function Za(a, b) { | |
do a = a[b]; | |
while (a && 1 !== a.nodeType); | |
return a; | |
} | |
function $a(a, b, d) { | |
b = b || 0; | |
if (c.isFunction(b)) | |
return c.grep(a, function (a, c) { | |
return !!b.call(a, c, a) === d; | |
}); | |
if (b.nodeType) | |
return c.grep(a, function (a) { | |
return (a === b) === d; | |
}); | |
if ("string" === typeof b) { | |
var e = c.grep(a, function (a) { | |
return 1 === a.nodeType; | |
}); | |
if (Vb.test(b)) return c.filter(b, e, !d); | |
b = c.filter(b, e); | |
} | |
return c.grep(a, function (a) { | |
return 0 <= c.inArray(a, b) === d; | |
}); | |
} | |
function ab(a) { | |
var b = bb.split("|"); | |
a = a.createDocumentFragment(); | |
if (a.createElement) for (; b.length; ) a.createElement(b.pop()); | |
return a; | |
} | |
function Wb(a, b) { | |
return ( | |
a.getElementsByTagName(b)[0] || | |
a.appendChild(a.ownerDocument.createElement(b)) | |
); | |
} | |
function cb(a) { | |
var b = a.getAttributeNode("type"); | |
a.type = (b && b.specified) + "/" + a.type; | |
return a; | |
} | |
function db(a) { | |
var b = Xb.exec(a.type); | |
b ? (a.type = b[1]) : a.removeAttribute("type"); | |
return a; | |
} | |
function Da(a, b) { | |
for (var d, e = 0; null != (d = a[e]); e++) | |
c._data(d, "globalEval", !b || c._data(b[e], "globalEval")); | |
} | |
function eb(a, b) { | |
if (1 === b.nodeType && c.hasData(a)) { | |
var d, e; | |
var f = c._data(a); | |
a = c._data(b, f); | |
var g = f.events; | |
if (g) | |
for (d in (delete a.handle, (a.events = {}), g)) | |
for (f = 0, e = g[d].length; f < e; f++) c.event.add(b, d, g[d][f]); | |
a.data && (a.data = c.extend({}, a.data)); | |
} | |
} | |
function x(a, b) { | |
var d, | |
e, | |
f = 0, | |
g = | |
typeof a.getElementsByTagName !== H | |
? a.getElementsByTagName(b || "*") | |
: typeof a.querySelectorAll !== H | |
? a.querySelectorAll(b || "*") | |
: n; | |
if (!g) | |
for (g = [], d = a.childNodes || a; null != (e = d[f]); f++) | |
!b || c.nodeName(e, b) ? g.push(e) : c.merge(g, x(e, b)); | |
return b === n || (b && c.nodeName(a, b)) ? c.merge([a], g) : g; | |
} | |
function Yb(a) { | |
Ea.test(a.type) && (a.defaultChecked = a.checked); | |
} | |
function fb(a, b) { | |
if (b in a) return b; | |
for ( | |
var c = b.charAt(0).toUpperCase() + b.slice(1), e = b, f = gb.length; | |
f--; | |
) | |
if (((b = gb[f] + c), b in a)) return b; | |
return e; | |
} | |
function X(a, b) { | |
a = b || a; | |
return "none" === c.css(a, "display") || !c.contains(a.ownerDocument, a); | |
} | |
function hb(a, b) { | |
for (var d, e, f, g = [], h = 0, k = a.length; h < k; h++) | |
(e = a[h]), | |
e.style && | |
((g[h] = c._data(e, "olddisplay")), | |
(d = e.style.display), | |
b | |
? (g[h] || "none" !== d || (e.style.display = ""), | |
"" === e.style.display && | |
X(e) && | |
(g[h] = c._data(e, "olddisplay", ib(e.nodeName)))) | |
: g[h] || | |
((f = X(e)), | |
((d && "none" !== d) || !f) && | |
c._data(e, "olddisplay", f ? d : c.css(e, "display")))); | |
for (h = 0; h < k; h++) | |
(e = a[h]), | |
!e.style || | |
(b && "none" !== e.style.display && "" !== e.style.display) || | |
(e.style.display = b ? g[h] || "" : "none"); | |
return a; | |
} | |
function jb(a, b, c) { | |
return (a = Zb.exec(b)) ? Math.max(0, a[1] - (c || 0)) + (a[2] || "px") : b; | |
} | |
function kb(a, b, d, e, f) { | |
b = d === (e ? "border" : "content") ? 4 : "width" === b ? 1 : 0; | |
for (var g = 0; 4 > b; b += 2) | |
"margin" === d && (g += c.css(a, d + ba[b], !0, f)), | |
e | |
? ("content" === d && (g -= c.css(a, "padding" + ba[b], !0, f)), | |
"margin" !== d && | |
(g -= c.css(a, "border" + ba[b] + "Width", !0, f))) | |
: ((g += c.css(a, "padding" + ba[b], !0, f)), | |
"padding" !== d && | |
(g += c.css(a, "border" + ba[b] + "Width", !0, f))); | |
return g; | |
} | |
function lb(a, b, d) { | |
var e = !0, | |
f = "width" === b ? a.offsetWidth : a.offsetHeight, | |
g = S(a), | |
h = c.support.boxSizing && "border-box" === c.css(a, "boxSizing", !1, g); | |
if (0 >= f || null == f) { | |
f = ea(a, b, g); | |
if (0 > f || null == f) f = a.style[b]; | |
if (ra.test(f)) return f; | |
e = h && (c.support.boxSizingReliable || f === a.style[b]); | |
f = parseFloat(f) || 0; | |
} | |
return f + kb(a, b, d || (h ? "border" : "content"), e, g) + "px"; | |
} | |
function ib(a) { | |
var b = q, | |
d = mb[a]; | |
d || | |
((d = nb(a, b)), | |
("none" !== d && d) || | |
((ca = ( | |
ca || | |
c("<iframe frameborder='0' width='0' height='0'/>").css( | |
"cssText", | |
"display:block !important" | |
) | |
).appendTo(b.documentElement)), | |
(b = (ca[0].contentWindow || ca[0].contentDocument).document), | |
b.write("<!doctype html><html><body>"), | |
b.close(), | |
(d = nb(a, b)), | |
ca.detach()), | |
(mb[a] = d)); | |
return d; | |
} | |
function nb(a, b) { | |
a = c(b.createElement(a)).appendTo(b.body); | |
b = c.css(a[0], "display"); | |
a.remove(); | |
return b; | |
} | |
function Fa(a, b, d, e) { | |
var f; | |
if (c.isArray(b)) | |
c.each(b, function (b, c) { | |
d || $b.test(a) | |
? e(a, c) | |
: Fa(a + "[" + ("object" === typeof c ? b : "") + "]", c, d, e); | |
}); | |
else if (d || "object" !== c.type(b)) e(a, b); | |
else for (f in b) Fa(a + "[" + f + "]", b[f], d, e); | |
} | |
function ob(a) { | |
return function (b, d) { | |
"string" !== typeof b && ((d = b), (b = "*")); | |
var e = 0, | |
f = b.toLowerCase().match(R) || []; | |
if (c.isFunction(d)) | |
for (; (b = f[e++]); ) | |
"+" === b[0] | |
? ((b = b.slice(1) || "*"), (a[b] = a[b] || []).unshift(d)) | |
: (a[b] = a[b] || []).push(d); | |
}; | |
} | |
function pb(a, b, d, e) { | |
function f(k) { | |
var l; | |
g[k] = !0; | |
c.each(a[k] || [], function (a, c) { | |
a = c(b, d, e); | |
if ("string" === typeof a && !h && !g[a]) | |
return b.dataTypes.unshift(a), f(a), !1; | |
if (h) return !(l = a); | |
}); | |
return l; | |
} | |
var g = {}, | |
h = a === Ga; | |
return f(b.dataTypes[0]) || (!g["*"] && f("*")); | |
} | |
function Ha(a, b) { | |
var d, | |
e, | |
f = c.ajaxSettings.flatOptions || {}; | |
for (e in b) b[e] !== n && ((f[e] ? a : d || (d = {}))[e] = b[e]); | |
d && c.extend(!0, a, d); | |
return a; | |
} | |
function qb() { | |
try { | |
return new r.XMLHttpRequest(); | |
} catch (a) {} | |
} | |
function rb() { | |
setTimeout(function () { | |
fa = n; | |
}); | |
return (fa = c.now()); | |
} | |
function ac(a, b) { | |
c.each(b, function (b, c) { | |
for ( | |
var d = (da[b] || []).concat(da["*"]), e = 0, h = d.length; | |
e < h && !d[e].call(a, b, c); | |
e++ | |
); | |
}); | |
} | |
function sb(a, b, d) { | |
var e, | |
f = 0, | |
g = sa.length, | |
h = c.Deferred().always(function () { | |
delete k.elem; | |
}), | |
k = function () { | |
if (e) return !1; | |
var b = fa || rb(); | |
b = Math.max(0, l.startTime + l.duration - b); | |
for ( | |
var c = 1 - (b / l.duration || 0), d = 0, f = l.tweens.length; | |
d < f; | |
d++ | |
) | |
l.tweens[d].run(c); | |
h.notifyWith(a, [l, c, b]); | |
if (1 > c && f) return b; | |
h.resolveWith(a, [l]); | |
return !1; | |
}, | |
l = h.promise({ | |
elem: a, | |
props: c.extend({}, b), | |
opts: c.extend( | |
!0, | |
{ | |
specialEasing: {}, | |
}, | |
d | |
), | |
originalProperties: b, | |
originalOptions: d, | |
startTime: fa || rb(), | |
duration: d.duration, | |
tweens: [], | |
createTween: function (b, d) { | |
b = c.Tween( | |
a, | |
l.opts, | |
b, | |
d, | |
l.opts.specialEasing[b] || l.opts.easing | |
); | |
l.tweens.push(b); | |
return b; | |
}, | |
stop: function (b) { | |
var c = 0, | |
d = b ? l.tweens.length : 0; | |
if (e) return this; | |
for (e = !0; c < d; c++) l.tweens[c].run(1); | |
b ? h.resolveWith(a, [l, b]) : h.rejectWith(a, [l, b]); | |
return this; | |
}, | |
}); | |
d = l.props; | |
for (bc(d, l.opts.specialEasing); f < g; f++) | |
if ((b = sa[f].call(l, a, d, l.opts))) return b; | |
ac(l, d); | |
c.isFunction(l.opts.start) && l.opts.start.call(a, l); | |
c.fx.timer( | |
c.extend(k, { | |
elem: a, | |
anim: l, | |
queue: l.opts.queue, | |
}) | |
); | |
return l | |
.progress(l.opts.progress) | |
.done(l.opts.done, l.opts.complete) | |
.fail(l.opts.fail) | |
.always(l.opts.always); | |
} | |
function bc(a, b) { | |
var d, e; | |
for (d in a) { | |
var f = c.camelCase(d); | |
var g = b[f]; | |
var h = a[d]; | |
c.isArray(h) && ((g = h[1]), (h = a[d] = h[0])); | |
d !== f && ((a[f] = h), delete a[d]); | |
if ((e = c.cssHooks[f]) && "expand" in e) | |
for (d in ((h = e.expand(h)), delete a[f], h)) | |
d in a || ((a[d] = h[d]), (b[d] = g)); | |
else b[f] = g; | |
} | |
} | |
function D(a, b, c, e, f) { | |
return new D.prototype.init(a, b, c, e, f); | |
} | |
function ta(a, b) { | |
var c = { | |
height: a, | |
}, | |
e = 0; | |
for (b = b ? 1 : 0; 4 > e; e += 2 - b) { | |
var f = ba[e]; | |
c["margin" + f] = c["padding" + f] = a; | |
} | |
b && (c.opacity = c.width = a); | |
return c; | |
} | |
function tb(a) { | |
return c.isWindow(a) | |
? a | |
: 9 === a.nodeType | |
? a.defaultView || a.parentWindow | |
: !1; | |
} | |
var ha, | |
H = typeof n, | |
q = r.document, | |
cc = r.location, | |
dc = r.jQuery, | |
ec = r.$, | |
ma = {}, | |
aa = [], | |
ub = aa.concat, | |
Ia = aa.push, | |
O = aa.slice, | |
vb = aa.indexOf, | |
fc = ma.toString, | |
na = ma.hasOwnProperty, | |
Ja = "2.0".trim, | |
c = function (a, b) { | |
return new c.fn.init(a, b, gc); | |
}, | |
xa = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, | |
R = /\S+/g, | |
hc = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, | |
ic = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/, | |
wb = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, | |
jc = /^[\],:{}\s]*$/, | |
kc = /(?:^|:|,)(?:\s*\[)+/g, | |
lc = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, | |
mc = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g, | |
nc = /^-ms-/, | |
oc = /-([\da-z])/gi, | |
pc = function (a, b) { | |
return b.toUpperCase(); | |
}, | |
F = function (a) { | |
if ( | |
q.addEventListener || | |
"load" === a.type || | |
"complete" === q.readyState | |
) | |
xb(), c.ready(); | |
}, | |
xb = function () { | |
q.addEventListener | |
? (q.removeEventListener("DOMContentLoaded", F, !1), | |
r.removeEventListener("load", F, !1)) | |
: (q.detachEvent("onreadystatechange", F), r.detachEvent("onload", F)); | |
}; | |
c.fn = c.prototype = { | |
jquery: "2.0", | |
constructor: c, | |
init: function (a, b, d) { | |
if (!a) return this; | |
if ("string" === typeof a) { | |
var e = | |
"<" === a.charAt(0) && ">" === a.charAt(a.length - 1) && 3 <= a.length | |
? [null, a, null] | |
: ic.exec(a); | |
if (!e || (!e[1] && b)) | |
return !b || b.jquery | |
? (b || d).find(a) | |
: this.constructor(b).find(a); | |
if (e[1]) { | |
if ( | |
(b instanceof c && (b = b[0]), | |
c.merge( | |
this, | |
c.parseHTML(e[1], b && b.nodeType ? b.ownerDocument || b : q, !0) | |
), | |
wb.test(e[1]) && c.isPlainObject(b)) | |
) | |
for (e in b) | |
if (c.isFunction(this[e])) this[e](b[e]); | |
else this.attr(e, b[e]); | |
} else { | |
if ((b = q.getElementById(e[2])) && b.parentNode) { | |
if (b.id !== e[2]) return d.find(a); | |
this.length = 1; | |
this[0] = b; | |
} | |
this.context = q; | |
this.selector = a; | |
} | |
return this; | |
} | |
if (a.nodeType) | |
return (this.context = this[0] = a), (this.length = 1), this; | |
if (c.isFunction(a)) return d.ready(a); | |
a.selector !== n && | |
((this.selector = a.selector), (this.context = a.context)); | |
return c.makeArray(a, this); | |
}, | |
selector: "", | |
length: 0, | |
size: function () { | |
return this.length; | |
}, | |
toArray: function () { | |
return O.call(this); | |
}, | |
get: function (a) { | |
return null == a | |
? this.toArray() | |
: 0 > a | |
? this[this.length + a] | |
: this[a]; | |
}, | |
pushStack: function (a) { | |
a = c.merge(this.constructor(), a); | |
a.prevObject = this; | |
a.context = this.context; | |
return a; | |
}, | |
each: function (a, b) { | |
return c.each(this, a, b); | |
}, | |
ready: function (a) { | |
c.ready.promise().done(a); | |
return this; | |
}, | |
slice: function () { | |
return this.pushStack(O.apply(this, arguments)); | |
}, | |
first: function () { | |
return this.eq(0); | |
}, | |
last: function () { | |
return this.eq(-1); | |
}, | |
eq: function (a) { | |
var b = this.length; | |
a = +a + (0 > a ? b : 0); | |
return this.pushStack(0 <= a && a < b ? [this[a]] : []); | |
}, | |
map: function (a) { | |
return this.pushStack( | |
c.map(this, function (b, c) { | |
return a.call(b, c, b); | |
}) | |
); | |
}, | |
end: function () { | |
return this.prevObject || this.constructor(null); | |
}, | |
push: Ia, | |
sort: [].sort, | |
splice: [].splice, | |
}; | |
c.fn.init.prototype = c.fn; | |
c.extend = c.fn.extend = function () { | |
var a, | |
b, | |
d, | |
e = arguments[0] || {}, | |
f = 1, | |
g = arguments.length, | |
h = !1; | |
"boolean" === typeof e && ((h = e), (e = arguments[1] || {}), (f = 2)); | |
"object" === typeof e || c.isFunction(e) || (e = {}); | |
g === f && ((e = this), --f); | |
for (; f < g; f++) | |
if (null != (d = arguments[f])) | |
for (b in d) { | |
var k = e[b]; | |
var l = d[b]; | |
e !== l && | |
(h && l && (c.isPlainObject(l) || (a = c.isArray(l))) | |
? (a | |
? ((a = !1), (k = k && c.isArray(k) ? k : [])) | |
: (k = k && c.isPlainObject(k) ? k : {}), | |
(e[b] = c.extend(h, k, l))) | |
: l !== n && (e[b] = l)); | |
} | |
return e; | |
}; | |
c.extend({ | |
noConflict: function (a) { | |
r.$ === c && (r.$ = ec); | |
a && r.jQuery === c && (r.jQuery = dc); | |
return c; | |
}, | |
isReady: !1, | |
readyWait: 1, | |
holdReady: function (a) { | |
a ? c.readyWait++ : c.ready(!0); | |
}, | |
ready: function (a) { | |
if (!0 === a ? !--c.readyWait : !c.isReady) { | |
if (!q.body) return setTimeout(c.ready); | |
c.isReady = !0; | |
(!0 !== a && 0 < --c.readyWait) || | |
(ha.resolveWith(q, [c]), | |
c.fn.trigger && c(q).trigger("ready").off("ready")); | |
} | |
}, | |
isFunction: function (a) { | |
return "function" === c.type(a); | |
}, | |
isArray: | |
Array.isArray || | |
function (a) { | |
return "array" === c.type(a); | |
}, | |
isWindow: function (a) { | |
return null != a && a == a.window; | |
}, | |
isNumeric: function (a) { | |
return !isNaN(parseFloat(a)) && isFinite(a); | |
}, | |
type: function (a) { | |
return null == a | |
? String(a) | |
: "object" === typeof a || "function" === typeof a | |
? ma[fc.call(a)] || "object" | |
: typeof a; | |
}, | |
isPlainObject: function (a) { | |
if (!a || "object" !== c.type(a) || a.nodeType || c.isWindow(a)) | |
return !1; | |
try { | |
if ( | |
a.constructor && | |
!na.call(a, "constructor") && | |
!na.call(a.constructor.prototype, "isPrototypeOf") | |
) | |
return !1; | |
} catch (d) { | |
return !1; | |
} | |
for (var b in a); | |
return b === n || na.call(a, b); | |
}, | |
isEmptyObject: function (a) { | |
for (var b in a) return !1; | |
return !0; | |
}, | |
error: function (a) { | |
throw Error(a); | |
}, | |
parseHTML: function (a, b, d) { | |
if (!a || "string" !== typeof a) return null; | |
"boolean" === typeof b && ((d = b), (b = !1)); | |
b = b || q; | |
var e = wb.exec(a); | |
d = !d && []; | |
if (e) return [b.createElement(e[1])]; | |
e = c.buildFragment([a], b, d); | |
d && c(d).remove(); | |
return c.merge([], e.childNodes); | |
}, | |
parseJSON: function (a) { | |
if (r.JSON && r.JSON.parse) return r.JSON.parse(a); | |
if (null === a) return a; | |
if ( | |
"string" === typeof a && | |
(a = c.trim(a)) && | |
jc.test(a.replace(lc, "@").replace(mc, "]").replace(kc, "")) | |
) | |
return new Function("return " + a)(); | |
c.error("Invalid JSON: " + a); | |
}, | |
parseXML: function (a) { | |
if (!a || "string" !== typeof a) return null; | |
try { | |
if (r.DOMParser) { | |
var b = new DOMParser(); | |
var d = b.parseFromString(a, "text/xml"); | |
} else | |
(d = new ActiveXObject("Microsoft.XMLDOM")), | |
(d.async = "false"), | |
d.loadXML(a); | |
} catch (e) { | |
d = n; | |
} | |
(d && | |
d.documentElement && | |
!d.getElementsByTagName("parsererror").length) || | |
c.error("Invalid XML: " + a); | |
return d; | |
}, | |
noop: function () {}, | |
globalEval: function (a) { | |
a && | |
c.trim(a) && | |
( | |
r.execScript || | |
function (a) { | |
r.eval.call(r, a); | |
} | |
)(a); | |
}, | |
camelCase: function (a) { | |
return a.replace(nc, "ms-").replace(oc, pc); | |
}, | |
nodeName: function (a, b) { | |
return a.nodeName && a.nodeName.toLowerCase() === b.toLowerCase(); | |
}, | |
each: function (a, b, c) { | |
var d = 0, | |
f = a.length; | |
var g = Ba(a); | |
if (c) | |
if (g) for (; d < f && ((g = b.apply(a[d], c)), !1 !== g); d++); | |
else | |
for (d in a) { | |
if (((g = b.apply(a[d], c)), !1 === g)) break; | |
} | |
else if (g) for (; d < f && ((g = b.call(a[d], d, a[d])), !1 !== g); d++); | |
else for (d in a) if (((g = b.call(a[d], d, a[d])), !1 === g)) break; | |
return a; | |
}, | |
trim: | |
Ja && !Ja.call("\ufeff\u00a0") | |
? function (a) { | |
return null == a ? "" : Ja.call(a); | |
} | |
: function (a) { | |
return null == a ? "" : (a + "").replace(hc, ""); | |
}, | |
makeArray: function (a, b) { | |
b = b || []; | |
null != a && | |
(Ba(Object(a)) | |
? c.merge(b, "string" === typeof a ? [a] : a) | |
: Ia.call(b, a)); | |
return b; | |
}, | |
inArray: function (a, b, c) { | |
if (b) { | |
if (vb) return vb.call(b, a, c); | |
var d = b.length; | |
for (c = c ? (0 > c ? Math.max(0, d + c) : c) : 0; c < d; c++) | |
if (c in b && b[c] === a) return c; | |
} | |
return -1; | |
}, | |
merge: function (a, b) { | |
var c = b.length, | |
e = a.length, | |
f = 0; | |
if ("number" === typeof c) for (; f < c; f++) a[e++] = b[f]; | |
else for (; b[f] !== n; ) a[e++] = b[f++]; | |
a.length = e; | |
return a; | |
}, | |
grep: function (a, b, c) { | |
var d = [], | |
f = 0, | |
g = a.length; | |
for (c = !!c; f < g; f++) { | |
var h = !!b(a[f], f); | |
c !== h && d.push(a[f]); | |
} | |
return d; | |
}, | |
map: function (a, b, c) { | |
var d = 0, | |
f = a.length, | |
g = []; | |
if (Ba(a)) | |
for (; d < f; d++) { | |
var h = b(a[d], d, c); | |
null != h && (g[g.length] = h); | |
} | |
else for (d in a) (h = b(a[d], d, c)), null != h && (g[g.length] = h); | |
return ub.apply([], g); | |
}, | |
guid: 1, | |
proxy: function (a, b) { | |
if ("string" === typeof b) { | |
var d = a[b]; | |
b = a; | |
a = d; | |
} | |
if (!c.isFunction(a)) return n; | |
var e = O.call(arguments, 2); | |
d = function () { | |
return a.apply(b || this, e.concat(O.call(arguments))); | |
}; | |
d.guid = a.guid = a.guid || c.guid++; | |
return d; | |
}, | |
access: function (a, b, d, e, f, g, h) { | |
var k = 0, | |
l = a.length, | |
m = null == d; | |
if ("object" === c.type(d)) | |
for (k in ((f = !0), d)) c.access(a, b, k, d[k], !0, g, h); | |
else if ( | |
e !== n && | |
((f = !0), | |
c.isFunction(e) || (h = !0), | |
m && | |
(h | |
? (b.call(a, e), (b = null)) | |
: ((m = b), | |
(b = function (a, b, d) { | |
return m.call(c(a), d); | |
}))), | |
b) | |
) | |
for (; k < l; k++) b(a[k], d, h ? e : e.call(a[k], k, b(a[k], d))); | |
return f ? a : m ? b.call(a) : l ? b(a[0], d) : g; | |
}, | |
now: function () { | |
return new Date().getTime(); | |
}, | |
}); | |
c.ready.promise = function (a) { | |
if (!ha) | |
if (((ha = c.Deferred()), "complete" === q.readyState)) | |
setTimeout(c.ready); | |
else if (q.addEventListener) | |
q.addEventListener("DOMContentLoaded", F, !1), | |
r.addEventListener("load", F, !1); | |
else { | |
q.attachEvent("onreadystatechange", F); | |
r.attachEvent("onload", F); | |
var b = !1; | |
try { | |
b = null == r.frameElement && q.documentElement; | |
} catch (d) {} | |
b && | |
b.doScroll && | |
(function e() { | |
if (!c.isReady) { | |
try { | |
b.doScroll("left"); | |
} catch (f) { | |
return setTimeout(e, 50); | |
} | |
xb(); | |
c.ready(); | |
} | |
})(); | |
} | |
return ha.promise(a); | |
}; | |
c.each( | |
"Boolean Number String Function Array Date RegExp Object Error".split(" "), | |
function (a, b) { | |
ma["[object " + b + "]"] = b.toLowerCase(); | |
} | |
); | |
var gc = c(q); | |
var Va = {}; | |
c.Callbacks = function (a) { | |
a = "string" === typeof a ? Va[a] || Sb(a) : c.extend({}, a); | |
var b, | |
d, | |
e, | |
f, | |
g, | |
h, | |
k = [], | |
l = !a.once && [], | |
m = function (c) { | |
d = a.memory && c; | |
e = !0; | |
g = h || 0; | |
h = 0; | |
f = k.length; | |
for (b = !0; k && g < f; g++) | |
if (!1 === k[g].apply(c[0], c[1]) && a.stopOnFalse) { | |
d = !1; | |
break; | |
} | |
b = !1; | |
k && (l ? l.length && m(l.shift()) : d ? (k = []) : t.disable()); | |
}, | |
t = { | |
add: function () { | |
if (k) { | |
var e = k.length; | |
(function qc(b) { | |
c.each(b, function (b, d) { | |
b = c.type(d); | |
"function" === b | |
? (a.unique && t.has(d)) || k.push(d) | |
: d && d.length && "string" !== b && qc(d); | |
}); | |
})(arguments); | |
b ? (f = k.length) : d && ((h = e), m(d)); | |
} | |
return this; | |
}, | |
remove: function () { | |
k && | |
c.each(arguments, function (a, d) { | |
for (var e; -1 < (e = c.inArray(d, k, e)); ) | |
k.splice(e, 1), b && (e <= f && f--, e <= g && g--); | |
}); | |
return this; | |
}, | |
has: function (a) { | |
return a ? -1 < c.inArray(a, k) : !(!k || !k.length); | |
}, | |
empty: function () { | |
k = []; | |
return this; | |
}, | |
disable: function () { | |
k = l = d = n; | |
return this; | |
}, | |
disabled: function () { | |
return !k; | |
}, | |
lock: function () { | |
l = n; | |
d || t.disable(); | |
return this; | |
}, | |
locked: function () { | |
return !l; | |
}, | |
fireWith: function (a, c) { | |
c = c || []; | |
c = [a, c.slice ? c.slice() : c]; | |
!k || (e && !l) || (b ? l.push(c) : m(c)); | |
return this; | |
}, | |
fire: function () { | |
t.fireWith(this, arguments); | |
return this; | |
}, | |
fired: function () { | |
return !!e; | |
}, | |
}; | |
return t; | |
}; | |
c.extend({ | |
Deferred: function (a) { | |
var b = [ | |
["resolve", "done", c.Callbacks("once memory"), "resolved"], | |
["reject", "fail", c.Callbacks("once memory"), "rejected"], | |
["notify", "progress", c.Callbacks("memory")], | |
], | |
d = "pending", | |
e = { | |
state: function () { | |
return d; | |
}, | |
always: function () { | |
f.done(arguments).fail(arguments); | |
return this; | |
}, | |
then: function () { | |
var a = arguments; | |
return c | |
.Deferred(function (d) { | |
c.each(b, function (b, g) { | |
var h = g[0], | |
k = c.isFunction(a[b]) && a[b]; | |
f[g[1]](function () { | |
var a = k && k.apply(this, arguments); | |
if (a && c.isFunction(a.promise)) | |
a.promise() | |
.done(d.resolve) | |
.fail(d.reject) | |
.progress(d.notify); | |
else | |
d[h + "With"]( | |
this === e ? d.promise() : this, | |
k ? [a] : arguments | |
); | |
}); | |
}); | |
a = null; | |
}) | |
.promise(); | |
}, | |
promise: function (a) { | |
return null != a ? c.extend(a, e) : e; | |
}, | |
}, | |
f = {}; | |
e.pipe = e.then; | |
c.each(b, function (a, c) { | |
var g = c[2], | |
h = c[3]; | |
e[c[1]] = g.add; | |
h && | |
g.add( | |
function () { | |
d = h; | |
}, | |
b[a ^ 1][2].disable, | |
b[2][2].lock | |
); | |
f[c[0]] = function () { | |
f[c[0] + "With"](this === f ? e : this, arguments); | |
return this; | |
}; | |
f[c[0] + "With"] = g.fireWith; | |
}); | |
e.promise(f); | |
a && a.call(f, f); | |
return f; | |
}, | |
when: function (a) { | |
var b = 0, | |
d = O.call(arguments), | |
e = d.length, | |
f = 1 !== e || (a && c.isFunction(a.promise)) ? e : 0, | |
g = 1 === f ? a : c.Deferred(), | |
h = function (a, b, c) { | |
return function (d) { | |
b[a] = this; | |
c[a] = 1 < arguments.length ? O.call(arguments) : d; | |
c === l ? g.notifyWith(b, c) : --f || g.resolveWith(b, c); | |
}; | |
}, | |
k; | |
if (1 < e) { | |
var l = Array(e); | |
var m = Array(e); | |
for (k = Array(e); b < e; b++) | |
d[b] && c.isFunction(d[b].promise) | |
? d[b] | |
.promise() | |
.done(h(b, k, d)) | |
.fail(g.reject) | |
.progress(h(b, m, l)) | |
: --f; | |
} | |
f || g.resolveWith(k, d); | |
return g.promise(); | |
}, | |
}); | |
c.support = (function () { | |
var a, | |
b, | |
d = q.createElement("div"); | |
d.setAttribute("className", "t"); | |
d.innerHTML = | |
" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"; | |
var e = d.getElementsByTagName("*"); | |
var f = d.getElementsByTagName("a")[0]; | |
if (!e || !f || !e.length) return {}; | |
var g = q.createElement("select"); | |
var h = g.appendChild(q.createElement("option")); | |
e = d.getElementsByTagName("input")[0]; | |
f.style.cssText = "top:1px;float:left;opacity:.5"; | |
var k = { | |
getSetAttribute: "t" !== d.className, | |
leadingWhitespace: 3 === d.firstChild.nodeType, | |
tbody: !d.getElementsByTagName("tbody").length, | |
htmlSerialize: !!d.getElementsByTagName("link").length, | |
style: /top/.test(f.getAttribute("style")), | |
hrefNormalized: "/a" === f.getAttribute("href"), | |
opacity: /^0.5/.test(f.style.opacity), | |
cssFloat: !!f.style.cssFloat, | |
checkOn: !!e.value, | |
optSelected: h.selected, | |
enctype: !!q.createElement("form").enctype, | |
html5Clone: | |
"<:nav></:nav>" !== q.createElement("nav").cloneNode(!0).outerHTML, | |
boxModel: "CSS1Compat" === q.compatMode, | |
deleteExpando: !0, | |
noCloneEvent: !0, | |
inlineBlockNeedsLayout: !1, | |
shrinkWrapBlocks: !1, | |
reliableMarginRight: !0, | |
boxSizingReliable: !0, | |
pixelPosition: !1, | |
}; | |
e.checked = !0; | |
k.noCloneChecked = e.cloneNode(!0).checked; | |
g.disabled = !0; | |
k.optDisabled = !h.disabled; | |
try { | |
delete d.test; | |
} catch (l) { | |
k.deleteExpando = !1; | |
} | |
e = q.createElement("input"); | |
e.setAttribute("value", ""); | |
k.input = "" === e.getAttribute("value"); | |
e.value = "t"; | |
e.setAttribute("type", "radio"); | |
k.radioValue = "t" === e.value; | |
e.setAttribute("checked", "t"); | |
e.setAttribute("name", "t"); | |
f = q.createDocumentFragment(); | |
f.appendChild(e); | |
k.appendChecked = e.checked; | |
k.checkClone = f.cloneNode(!0).cloneNode(!0).lastChild.checked; | |
d.attachEvent && | |
(d.attachEvent("onclick", function () { | |
k.noCloneEvent = !1; | |
}), | |
d.cloneNode(!0).click()); | |
for (b in { | |
submit: !0, | |
change: !0, | |
focusin: !0, | |
}) | |
d.setAttribute((f = "on" + b), "t"), | |
(k[b + "Bubbles"] = f in r || !1 === d.attributes[f].expando); | |
d.style.backgroundClip = "content-box"; | |
d.cloneNode(!0).style.backgroundClip = ""; | |
k.clearCloneStyle = "content-box" === d.style.backgroundClip; | |
c(function () { | |
var b = q.getElementsByTagName("body")[0]; | |
if (b) { | |
var c = q.createElement("div"); | |
c.style.cssText = | |
"border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px"; | |
b.appendChild(c).appendChild(d); | |
d.innerHTML = "<table><tr><td></td><td>t</td></tr></table>"; | |
var e = d.getElementsByTagName("td"); | |
e[0].style.cssText = "padding:0;margin:0;border:0;display:none"; | |
a = 0 === e[0].offsetHeight; | |
e[0].style.display = ""; | |
e[1].style.display = "none"; | |
k.reliableHiddenOffsets = a && 0 === e[0].offsetHeight; | |
d.innerHTML = ""; | |
d.style.cssText = | |
"box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;"; | |
k.boxSizing = 4 === d.offsetWidth; | |
k.doesNotIncludeMarginInBodyOffset = 1 !== b.offsetTop; | |
r.getComputedStyle && | |
((k.pixelPosition = "1%" !== (r.getComputedStyle(d, null) || {}).top), | |
(k.boxSizingReliable = | |
"4px" === | |
( | |
r.getComputedStyle(d, null) || { | |
width: "4px", | |
} | |
).width), | |
(e = d.appendChild(q.createElement("div"))), | |
(e.style.cssText = d.style.cssText = | |
"padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;"), | |
(e.style.marginRight = e.style.width = "0"), | |
(d.style.width = "1px"), | |
(k.reliableMarginRight = !parseFloat( | |
(r.getComputedStyle(e, null) || {}).marginRight | |
))); | |
typeof d.style.zoom !== H && | |
((d.style.cssText = | |
"padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;width:1px;padding:1px;display:inline;zoom:1"), | |
(k.inlineBlockNeedsLayout = 3 === d.offsetWidth), | |
(d.style.display = "block"), | |
(d.innerHTML = "<div></div>"), | |
(d.firstChild.style.width = "5px"), | |
(k.shrinkWrapBlocks = 3 !== d.offsetWidth), | |
k.inlineBlockNeedsLayout && (b.style.zoom = 1)); | |
b.removeChild(c); | |
d = null; | |
} | |
}); | |
e = g = f = h = f = e = null; | |
return k; | |
})(); | |
var Ub = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, | |
Tb = /([A-Z])/g; | |
c.extend({ | |
cache: {}, | |
expando: "jQuery" + ("2.0" + Math.random()).replace(/\D/g, ""), | |
noData: { | |
embed: !0, | |
object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", | |
applet: !0, | |
}, | |
hasData: function (a) { | |
a = a.nodeType ? c.cache[a[c.expando]] : a[c.expando]; | |
return !!a && !Ca(a); | |
}, | |
data: function (a, b, c) { | |
return Wa(a, b, c); | |
}, | |
removeData: function (a, b) { | |
return Xa(a, b); | |
}, | |
_data: function (a, b, c) { | |
return Wa(a, b, c, !0); | |
}, | |
_removeData: function (a, b) { | |
return Xa(a, b, !0); | |
}, | |
acceptData: function (a) { | |
if (a.nodeType && 1 !== a.nodeType && 9 !== a.nodeType) return !1; | |
var b = a.nodeName && c.noData[a.nodeName.toLowerCase()]; | |
return !b || (!0 !== b && a.getAttribute("classid") === b); | |
}, | |
}); | |
c.fn.extend({ | |
data: function (a, b) { | |
var d, | |
e = this[0], | |
f = 0, | |
g = null; | |
if (a === n) { | |
if ( | |
this.length && | |
((g = c.data(e)), 1 === e.nodeType && !c._data(e, "parsedAttrs")) | |
) { | |
for (d = e.attributes; f < d.length; f++) { | |
var h = d[f].name; | |
h.indexOf("data-") || | |
((h = c.camelCase(h.slice(5))), Ya(e, h, g[h])); | |
} | |
c._data(e, "parsedAttrs", !0); | |
} | |
return g; | |
} | |
return "object" === typeof a | |
? this.each(function () { | |
c.data(this, a); | |
}) | |
: c.access( | |
this, | |
function (b) { | |
if (b === n) return e ? Ya(e, a, c.data(e, a)) : null; | |
this.each(function () { | |
c.data(this, a, b); | |
}); | |
}, | |
null, | |
b, | |
1 < arguments.length, | |
null, | |
!0 | |
); | |
}, | |
removeData: function (a) { | |
return this.each(function () { | |
c.removeData(this, a); | |
}); | |
}, | |
}); | |
c.extend({ | |
queue: function (a, b, d) { | |
if (a) { | |
b = (b || "fx") + "queue"; | |
var e = c._data(a, b); | |
d && | |
(!e || c.isArray(d) | |
? (e = c._data(a, b, c.makeArray(d))) | |
: e.push(d)); | |
return e || []; | |
} | |
}, | |
dequeue: function (a, b) { | |
b = b || "fx"; | |
var d = c.queue(a, b), | |
e = d.length, | |
f = d.shift(), | |
g = c._queueHooks(a, b), | |
h = function () { | |
c.dequeue(a, b); | |
}; | |
"inprogress" === f && ((f = d.shift()), e--); | |
if ((g.cur = f)) | |
"fx" === b && d.unshift("inprogress"), delete g.stop, f.call(a, h, g); | |
!e && g && g.empty.fire(); | |
}, | |
_queueHooks: function (a, b) { | |
var d = b + "queueHooks"; | |
return ( | |
c._data(a, d) || | |
c._data(a, d, { | |
empty: c.Callbacks("once memory").add(function () { | |
c._removeData(a, b + "queue"); | |
c._removeData(a, d); | |
}), | |
}) | |
); | |
}, | |
}); | |
c.fn.extend({ | |
queue: function (a, b) { | |
var d = 2; | |
"string" !== typeof a && ((b = a), (a = "fx"), d--); | |
return arguments.length < d | |
? c.queue(this[0], a) | |
: b === n | |
? this | |
: this.each(function () { | |
var d = c.queue(this, a, b); | |
c._queueHooks(this, a); | |
"fx" === a && "inprogress" !== d[0] && c.dequeue(this, a); | |
}); | |
}, | |
dequeue: function (a) { | |
return this.each(function () { | |
c.dequeue(this, a); | |
}); | |
}, | |
delay: function (a, b) { | |
a = c.fx ? c.fx.speeds[a] || a : a; | |
return this.queue(b || "fx", function (b, c) { | |
var d = setTimeout(b, a); | |
c.stop = function () { | |
clearTimeout(d); | |
}; | |
}); | |
}, | |
clearQueue: function (a) { | |
return this.queue(a || "fx", []); | |
}, | |
promise: function (a, b) { | |
var d, | |
e = 1, | |
f = c.Deferred(), | |
g = this, | |
h = this.length, | |
k = function () { | |
--e || f.resolveWith(g, [g]); | |
}; | |
"string" !== typeof a && ((b = a), (a = n)); | |
for (a = a || "fx"; h--; ) | |
(d = c._data(g[h], a + "queueHooks")) && | |
d.empty && | |
(e++, d.empty.add(k)); | |
k(); | |
return f.promise(b); | |
}, | |
}); | |
var Ka = /[\t\r\n]/g, | |
rc = /\r/g, | |
sc = /^(?:input|select|textarea|button|object)$/i, | |
tc = /^(?:a|area)$/i, | |
zb = | |
/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i, | |
La = /^(?:checked|selected)$/i, | |
P = c.support.getSetAttribute, | |
Ma = c.support.input; | |
c.fn.extend({ | |
attr: function (a, b) { | |
return c.access(this, c.attr, a, b, 1 < arguments.length); | |
}, | |
removeAttr: function (a) { | |
return this.each(function () { | |
c.removeAttr(this, a); | |
}); | |
}, | |
prop: function (a, b) { | |
return c.access(this, c.prop, a, b, 1 < arguments.length); | |
}, | |
removeProp: function (a) { | |
a = c.propFix[a] || a; | |
return this.each(function () { | |
try { | |
(this[a] = n), delete this[a]; | |
} catch (b) {} | |
}); | |
}, | |
addClass: function (a) { | |
var b, | |
d, | |
e, | |
f = 0, | |
g = this.length; | |
var h = "string" === typeof a && a; | |
if (c.isFunction(a)) | |
return this.each(function (b) { | |
c(this).addClass(a.call(this, b, this.className)); | |
}); | |
if (h) | |
for (h = (a || "").match(R) || []; f < g; f++) { | |
var k = this[f]; | |
if ( | |
(b = | |
1 === k.nodeType && | |
(k.className ? (" " + k.className + " ").replace(Ka, " ") : " ")) | |
) { | |
for (e = 0; (d = h[e++]); ) | |
0 > b.indexOf(" " + d + " ") && (b += d + " "); | |
k.className = c.trim(b); | |
} | |
} | |
return this; | |
}, | |
removeClass: function (a) { | |
var b, | |
d, | |
e, | |
f = 0, | |
g = this.length; | |
var h = 0 === arguments.length || ("string" === typeof a && a); | |
if (c.isFunction(a)) | |
return this.each(function (b) { | |
c(this).removeClass(a.call(this, b, this.className)); | |
}); | |
if (h) | |
for (h = (a || "").match(R) || []; f < g; f++) { | |
var k = this[f]; | |
if ( | |
(b = | |
1 === k.nodeType && | |
(k.className ? (" " + k.className + " ").replace(Ka, " ") : "")) | |
) { | |
for (e = 0; (d = h[e++]); ) | |
for (; 0 <= b.indexOf(" " + d + " "); ) | |
b = b.replace(" " + d + " ", " "); | |
k.className = a ? c.trim(b) : ""; | |
} | |
} | |
return this; | |
}, | |
toggleClass: function (a, b) { | |
var d = typeof a, | |
e = "boolean" === typeof b; | |
return c.isFunction(a) | |
? this.each(function (d) { | |
c(this).toggleClass(a.call(this, d, this.className, b), b); | |
}) | |
: this.each(function () { | |
if ("string" === d) | |
for ( | |
var f, g = 0, h = c(this), k = b, l = a.match(R) || []; | |
(f = l[g++]); | |
) | |
(k = e ? k : !h.hasClass(f)), | |
h[k ? "addClass" : "removeClass"](f); | |
else if (d === H || "boolean" === d) | |
this.className && c._data(this, "__className__", this.className), | |
(this.className = | |
this.className || !1 === a | |
? "" | |
: c._data(this, "__className__") || ""); | |
}); | |
}, | |
hasClass: function (a) { | |
a = " " + a + " "; | |
for (var b = 0, c = this.length; b < c; b++) | |
if ( | |
1 === this[b].nodeType && | |
0 <= (" " + this[b].className + " ").replace(Ka, " ").indexOf(a) | |
) | |
return !0; | |
return !1; | |
}, | |
val: function (a) { | |
var b, | |
d, | |
e = this[0]; | |
if (arguments.length) { | |
var f = c.isFunction(a); | |
return this.each(function (b) { | |
var e = c(this); | |
1 === this.nodeType && | |
((b = f ? a.call(this, b, e.val()) : a), | |
null == b | |
? (b = "") | |
: "number" === typeof b | |
? (b += "") | |
: c.isArray(b) && | |
(b = c.map(b, function (a) { | |
return null == a ? "" : a + ""; | |
})), | |
(d = | |
c.valHooks[this.type] || c.valHooks[this.nodeName.toLowerCase()]), | |
(d && "set" in d && d.set(this, b, "value") !== n) || | |
(this.value = b)); | |
}); | |
} | |
if (e) { | |
if ( | |
(d = c.valHooks[e.type] || c.valHooks[e.nodeName.toLowerCase()]) && | |
"get" in d && | |
(b = d.get(e, "value")) !== n | |
) | |
return b; | |
b = e.value; | |
return "string" === typeof b ? b.replace(rc, "") : null == b ? "" : b; | |
} | |
}, | |
}); | |
c.extend({ | |
valHooks: { | |
option: { | |
get: function (a) { | |
var b = a.attributes.value; | |
return !b || b.specified ? a.value : a.text; | |
}, | |
}, | |
select: { | |
get: function (a) { | |
for ( | |
var b, | |
d = a.options, | |
e = a.selectedIndex, | |
f = (a = "select-one" === a.type || 0 > e) ? null : [], | |
g = a ? e + 1 : d.length, | |
h = 0 > e ? g : a ? e : 0; | |
h < g; | |
h++ | |
) | |
if ( | |
((b = d[h]), | |
!( | |
(!b.selected && h !== e) || | |
(c.support.optDisabled | |
? b.disabled | |
: null !== b.getAttribute("disabled")) || | |
(b.parentNode.disabled && c.nodeName(b.parentNode, "optgroup")) | |
)) | |
) { | |
b = c(b).val(); | |
if (a) return b; | |
f.push(b); | |
} | |
return f; | |
}, | |
set: function (a, b) { | |
var d = c.makeArray(b); | |
c(a) | |
.find("option") | |
.each(function () { | |
this.selected = 0 <= c.inArray(c(this).val(), d); | |
}); | |
d.length || (a.selectedIndex = -1); | |
return d; | |
}, | |
}, | |
}, | |
attr: function (a, b, d) { | |
var e; | |
var f = a.nodeType; | |
if (a && 3 !== f && 8 !== f && 2 !== f) { | |
if (typeof a.getAttribute === H) return c.prop(a, b, d); | |
if ((f = 1 !== f || !c.isXMLDoc(a))) { | |
b = b.toLowerCase(); | |
var g = c.attrHooks[b] || (zb.test(b) ? uc : oa); | |
} | |
if (d !== n) | |
if (null === d) c.removeAttr(a, b); | |
else { | |
if (g && f && "set" in g && (e = g.set(a, d, b)) !== n) return e; | |
a.setAttribute(b, d + ""); | |
return d; | |
} | |
else { | |
if (g && f && "get" in g && null !== (e = g.get(a, b))) return e; | |
typeof a.getAttribute !== H && (e = a.getAttribute(b)); | |
return null == e ? n : e; | |
} | |
} | |
}, | |
removeAttr: function (a, b) { | |
var d = 0, | |
e = b && b.match(R); | |
if (e && 1 === a.nodeType) | |
for (; (b = e[d++]); ) { | |
var f = c.propFix[b] || b; | |
zb.test(b) | |
? !P && La.test(b) | |
? (a[c.camelCase("default-" + b)] = a[f] = !1) | |
: (a[f] = !1) | |
: c.attr(a, b, ""); | |
a.removeAttribute(P ? b : f); | |
} | |
}, | |
attrHooks: { | |
type: { | |
set: function (a, b) { | |
if ( | |
!c.support.radioValue && | |
"radio" === b && | |
c.nodeName(a, "input") | |
) { | |
var d = a.value; | |
a.setAttribute("type", b); | |
d && (a.value = d); | |
return b; | |
} | |
}, | |
}, | |
}, | |
propFix: { | |
tabindex: "tabIndex", | |
readonly: "readOnly", | |
for: "htmlFor", | |
class: "className", | |
maxlength: "maxLength", | |
cellspacing: "cellSpacing", | |
cellpadding: "cellPadding", | |
rowspan: "rowSpan", | |
colspan: "colSpan", | |
usemap: "useMap", | |
frameborder: "frameBorder", | |
contenteditable: "contentEditable", | |
}, | |
prop: function (a, b, d) { | |
var e, | |
f = a.nodeType; | |
if (a && 3 !== f && 8 !== f && 2 !== f) { | |
if (1 !== f || !c.isXMLDoc(a)) { | |
b = c.propFix[b] || b; | |
var g = c.propHooks[b]; | |
} | |
return d !== n | |
? g && "set" in g && (e = g.set(a, d, b)) !== n | |
? e | |
: (a[b] = d) | |
: g && "get" in g && null !== (e = g.get(a, b)) | |
? e | |
: a[b]; | |
} | |
}, | |
propHooks: { | |
tabIndex: { | |
get: function (a) { | |
var b = a.getAttributeNode("tabindex"); | |
return b && b.specified | |
? parseInt(b.value, 10) | |
: sc.test(a.nodeName) || (tc.test(a.nodeName) && a.href) | |
? 0 | |
: n; | |
}, | |
}, | |
}, | |
}); | |
var uc = { | |
get: function (a, b) { | |
var d = c.prop(a, b), | |
e = "boolean" === typeof d && a.getAttribute(b); | |
return (a = | |
"boolean" === typeof d | |
? Ma && P | |
? null != e | |
: La.test(b) | |
? a[c.camelCase("default-" + b)] | |
: !!e | |
: a.getAttributeNode(b)) && !1 !== a.value | |
? b.toLowerCase() | |
: n; | |
}, | |
set: function (a, b, d) { | |
!1 === b | |
? c.removeAttr(a, d) | |
: (Ma && P) || !La.test(d) | |
? a.setAttribute((!P && c.propFix[d]) || d, d) | |
: (a[c.camelCase("default-" + d)] = a[d] = !0); | |
return d; | |
}, | |
}; | |
(Ma && P) || | |
(c.attrHooks.value = { | |
get: function (a, b) { | |
b = a.getAttributeNode(b); | |
return c.nodeName(a, "input") | |
? a.defaultValue | |
: b && b.specified | |
? b.value | |
: n; | |
}, | |
set: function (a, b, d) { | |
if (c.nodeName(a, "input")) a.defaultValue = b; | |
else return oa && oa.set(a, b, d); | |
}, | |
}); | |
if (!P) { | |
var oa = (c.valHooks.button = { | |
get: function (a, b) { | |
return (a = a.getAttributeNode(b)) && | |
("id" === b || "name" === b || "coords" === b | |
? "" !== a.value | |
: a.specified) | |
? a.value | |
: n; | |
}, | |
set: function (a, b, c) { | |
var d = a.getAttributeNode(c); | |
d || a.setAttributeNode((d = a.ownerDocument.createAttribute(c))); | |
d.value = b += ""; | |
return "value" === c || b === a.getAttribute(c) ? b : n; | |
}, | |
}); | |
c.attrHooks.contenteditable = { | |
get: oa.get, | |
set: function (a, b, c) { | |
oa.set(a, "" === b ? !1 : b, c); | |
}, | |
}; | |
c.each(["width", "height"], function (a, b) { | |
c.attrHooks[b] = c.extend(c.attrHooks[b], { | |
set: function (a, c) { | |
if ("" === c) return a.setAttribute(b, "auto"), c; | |
}, | |
}); | |
}); | |
} | |
c.support.hrefNormalized || | |
(c.each(["href", "src", "width", "height"], function (a, b) { | |
c.attrHooks[b] = c.extend(c.attrHooks[b], { | |
get: function (a) { | |
a = a.getAttribute(b, 2); | |
return null == a ? n : a; | |
}, | |
}); | |
}), | |
c.each(["href", "src"], function (a, b) { | |
c.propHooks[b] = { | |
get: function (a) { | |
return a.getAttribute(b, 4); | |
}, | |
}; | |
})); | |
c.support.style || | |
(c.attrHooks.style = { | |
get: function (a) { | |
return a.style.cssText || n; | |
}, | |
set: function (a, b) { | |
return (a.style.cssText = b + ""); | |
}, | |
}); | |
c.support.optSelected || | |
(c.propHooks.selected = c.extend(c.propHooks.selected, { | |
get: function (a) { | |
if ((a = a.parentNode)) | |
a.selectedIndex, a.parentNode && a.parentNode.selectedIndex; | |
return null; | |
}, | |
})); | |
c.support.enctype || (c.propFix.enctype = "encoding"); | |
c.support.checkOn || | |
c.each(["radio", "checkbox"], function () { | |
c.valHooks[this] = { | |
get: function (a) { | |
return null === a.getAttribute("value") ? "on" : a.value; | |
}, | |
}; | |
}); | |
c.each(["radio", "checkbox"], function () { | |
c.valHooks[this] = c.extend(c.valHooks[this], { | |
set: function (a, b) { | |
if (c.isArray(b)) return (a.checked = 0 <= c.inArray(c(a).val(), b)); | |
}, | |
}); | |
}); | |
var Na = /^(?:input|select|textarea)$/i, | |
vc = /^key/, | |
wc = /^(?:mouse|contextmenu)|click/, | |
Ab = /^(?:focusinfocus|focusoutblur)$/, | |
Bb = /^([^.]*)(?:\.(.+)|)$/; | |
c.event = { | |
global: {}, | |
add: function (a, b, d, e, f) { | |
var g, h, k, l, m; | |
if ((h = c._data(a))) { | |
if (d.handler) { | |
var t = d; | |
d = t.handler; | |
f = t.selector; | |
} | |
d.guid || (d.guid = c.guid++); | |
(g = h.events) || (g = h.events = {}); | |
(k = h.handle) || | |
((k = h.handle = | |
function (a) { | |
return typeof c === H || (a && c.event.triggered === a.type) | |
? n | |
: c.event.dispatch.apply(k.elem, arguments); | |
}), | |
(k.elem = a)); | |
b = (b || "").match(R) || [""]; | |
for (h = b.length; h--; ) { | |
var p = Bb.exec(b[h]) || []; | |
var u = (l = p[1]); | |
var q = (p[2] || "").split(".").sort(); | |
p = c.event.special[u] || {}; | |
u = (f ? p.delegateType : p.bindType) || u; | |
p = c.event.special[u] || {}; | |
l = c.extend( | |
{ | |
type: u, | |
origType: l, | |
data: e, | |
handler: d, | |
guid: d.guid, | |
selector: f, | |
needsContext: f && c.expr.match.needsContext.test(f), | |
namespace: q.join("."), | |
}, | |
t | |
); | |
(m = g[u]) || | |
((m = g[u] = []), | |
(m.delegateCount = 0), | |
(p.setup && !1 !== p.setup.call(a, e, q, k)) || | |
(a.addEventListener | |
? a.addEventListener(u, k, !1) | |
: a.attachEvent && a.attachEvent("on" + u, k))); | |
p.add && | |
(p.add.call(a, l), l.handler.guid || (l.handler.guid = d.guid)); | |
f ? m.splice(m.delegateCount++, 0, l) : m.push(l); | |
c.event.global[u] = !0; | |
} | |
a = null; | |
} | |
}, | |
remove: function (a, b, d, e, f) { | |
var g, | |
h, | |
k, | |
l, | |
m, | |
n = c.hasData(a) && c._data(a); | |
if (n && (l = n.events)) { | |
b = (b || "").match(R) || [""]; | |
for (k = b.length; k--; ) { | |
var p = Bb.exec(b[k]) || []; | |
var u = (m = p[1]); | |
var q = (p[2] || "").split(".").sort(); | |
if (u) { | |
var r = c.event.special[u] || {}; | |
u = (e ? r.delegateType : r.bindType) || u; | |
var x = l[u] || []; | |
p = | |
p[2] && | |
new RegExp("(^|\\.)" + q.join("\\.(?:.*\\.|)") + "(\\.|$)"); | |
for (h = g = x.length; g--; ) { | |
var D = x[g]; | |
(!f && m !== D.origType) || | |
(d && d.guid !== D.guid) || | |
(p && !p.test(D.namespace)) || | |
(e && e !== D.selector && ("**" !== e || !D.selector)) || | |
(x.splice(g, 1), | |
D.selector && x.delegateCount--, | |
r.remove && r.remove.call(a, D)); | |
} | |
h && | |
!x.length && | |
((r.teardown && !1 !== r.teardown.call(a, q, n.handle)) || | |
c.removeEvent(a, u, n.handle), | |
delete l[u]); | |
} else for (u in l) c.event.remove(a, u + b[k], d, e, !0); | |
} | |
c.isEmptyObject(l) && (delete n.handle, c._removeData(a, "events")); | |
} | |
}, | |
trigger: function (a, b, d, e) { | |
var f, | |
g, | |
h = [d || q], | |
k = na.call(a, "type") ? a.type : a; | |
var l = na.call(a, "namespace") ? a.namespace.split(".") : []; | |
var m = (f = d = d || q); | |
if ( | |
3 !== d.nodeType && | |
8 !== d.nodeType && | |
!Ab.test(k + c.event.triggered) | |
) { | |
0 <= k.indexOf(".") && ((l = k.split(".")), (k = l.shift()), l.sort()); | |
var t = 0 > k.indexOf(":") && "on" + k; | |
a = a[c.expando] ? a : new c.Event(k, "object" === typeof a && a); | |
a.isTrigger = !0; | |
a.namespace = l.join("."); | |
a.namespace_re = a.namespace | |
? new RegExp("(^|\\.)" + l.join("\\.(?:.*\\.|)") + "(\\.|$)") | |
: null; | |
a.result = n; | |
a.target || (a.target = d); | |
b = null == b ? [a] : c.makeArray(b, [a]); | |
l = c.event.special[k] || {}; | |
if (e || !l.trigger || !1 !== l.trigger.apply(d, b)) { | |
if (!e && !l.noBubble && !c.isWindow(d)) { | |
var p = l.delegateType || k; | |
Ab.test(p + k) || (m = m.parentNode); | |
for (; m; m = m.parentNode) h.push(m), (f = m); | |
f === (d.ownerDocument || q) && | |
h.push(f.defaultView || f.parentWindow || r); | |
} | |
for (g = 0; (m = h[g++]) && !a.isPropagationStopped(); ) | |
(a.type = 1 < g ? p : l.bindType || k), | |
(f = | |
(c._data(m, "events") || {})[a.type] && c._data(m, "handle")) && | |
f.apply(m, b), | |
(f = t && m[t]) && | |
c.acceptData(m) && | |
f.apply && | |
!1 === f.apply(m, b) && | |
a.preventDefault(); | |
a.type = k; | |
if ( | |
!( | |
e || | |
a.isDefaultPrevented() || | |
(l._default && !1 !== l._default.apply(d.ownerDocument, b)) || | |
("click" === k && c.nodeName(d, "a")) | |
) && | |
c.acceptData(d) && | |
t && | |
d[k] && | |
!c.isWindow(d) | |
) { | |
(f = d[t]) && (d[t] = null); | |
c.event.triggered = k; | |
try { | |
d[k](); | |
} catch (u) {} | |
c.event.triggered = n; | |
f && (d[t] = f); | |
} | |
return a.result; | |
} | |
} | |
}, | |
dispatch: function (a) { | |
a = c.event.fix(a); | |
var b, | |
d, | |
e, | |
f = O.call(arguments); | |
var g = (c._data(this, "events") || {})[a.type] || []; | |
var h = c.event.special[a.type] || {}; | |
f[0] = a; | |
a.delegateTarget = this; | |
if (!h.preDispatch || !1 !== h.preDispatch.call(this, a)) { | |
var k = c.event.handlers.call(this, a, g); | |
for (g = 0; (d = k[g++]) && !a.isPropagationStopped(); ) | |
for ( | |
a.currentTarget = d.elem, e = 0; | |
(b = d.handlers[e++]) && !a.isImmediatePropagationStopped(); | |
) | |
if (!a.namespace_re || a.namespace_re.test(b.namespace)) | |
(a.handleObj = b), | |
(a.data = b.data), | |
(b = ( | |
(c.event.special[b.origType] || {}).handle || b.handler | |
).apply(d.elem, f)), | |
b !== n && | |
!1 === (a.result = b) && | |
(a.preventDefault(), a.stopPropagation()); | |
h.postDispatch && h.postDispatch.call(this, a); | |
return a.result; | |
} | |
}, | |
handlers: function (a, b) { | |
var d, | |
e = [], | |
f = b.delegateCount, | |
g = a.target; | |
if (f && g.nodeType && (!a.button || "click" !== a.type)) | |
for (; g != this; g = g.parentNode || this) | |
if (1 === g.nodeType && (!0 !== g.disabled || "click" !== a.type)) { | |
var h = []; | |
for (d = 0; d < f; d++) { | |
var k = b[d]; | |
var l = k.selector + " "; | |
h[l] === n && | |
(h[l] = k.needsContext | |
? 0 <= c(l, this).index(g) | |
: c.find(l, this, null, [g]).length); | |
h[l] && h.push(k); | |
} | |
h.length && | |
e.push({ | |
elem: g, | |
handlers: h, | |
}); | |
} | |
f < b.length && | |
e.push({ | |
elem: this, | |
handlers: b.slice(f), | |
}); | |
return e; | |
}, | |
fix: function (a) { | |
if (a[c.expando]) return a; | |
var b = a.type; | |
var d = a, | |
e = this.fixHooks[b]; | |
e || | |
(this.fixHooks[b] = e = | |
wc.test(b) ? this.mouseHooks : vc.test(b) ? this.keyHooks : {}); | |
var f = e.props ? this.props.concat(e.props) : this.props; | |
a = new c.Event(d); | |
for (b = f.length; b--; ) { | |
var g = f[b]; | |
a[g] = d[g]; | |
} | |
a.target || (a.target = d.srcElement || q); | |
3 === a.target.nodeType && (a.target = a.target.parentNode); | |
a.metaKey = !!a.metaKey; | |
return e.filter ? e.filter(a, d) : a; | |
}, | |
props: | |
"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split( | |
" " | |
), | |
fixHooks: {}, | |
keyHooks: { | |
props: ["char", "charCode", "key", "keyCode"], | |
filter: function (a, b) { | |
null == a.which && | |
(a.which = null != b.charCode ? b.charCode : b.keyCode); | |
return a; | |
}, | |
}, | |
mouseHooks: { | |
props: | |
"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split( | |
" " | |
), | |
filter: function (a, b) { | |
var c = b.button, | |
e = b.fromElement; | |
if (null == a.pageX && null != b.clientX) { | |
var f = a.target.ownerDocument || q; | |
var g = f.documentElement; | |
f = f.body; | |
a.pageX = | |
b.clientX + | |
((g && g.scrollLeft) || (f && f.scrollLeft) || 0) - | |
((g && g.clientLeft) || (f && f.clientLeft) || 0); | |
a.pageY = | |
b.clientY + | |
((g && g.scrollTop) || (f && f.scrollTop) || 0) - | |
((g && g.clientTop) || (f && f.clientTop) || 0); | |
} | |
!a.relatedTarget && | |
e && | |
(a.relatedTarget = e === a.target ? b.toElement : e); | |
a.which || c === n || (a.which = c & 1 ? 1 : c & 2 ? 3 : c & 4 ? 2 : 0); | |
return a; | |
}, | |
}, | |
special: { | |
load: { | |
noBubble: !0, | |
}, | |
click: { | |
trigger: function () { | |
if ( | |
c.nodeName(this, "input") && | |
"checkbox" === this.type && | |
this.click | |
) | |
return this.click(), !1; | |
}, | |
}, | |
focus: { | |
trigger: function () { | |
if (this !== q.activeElement && this.focus) | |
try { | |
return this.focus(), !1; | |
} catch (a) {} | |
}, | |
delegateType: "focusin", | |
}, | |
blur: { | |
trigger: function () { | |
if (this === q.activeElement && this.blur) return this.blur(), !1; | |
}, | |
delegateType: "focusout", | |
}, | |
beforeunload: { | |
postDispatch: function (a) { | |
a.result !== n && (a.originalEvent.returnValue = a.result); | |
}, | |
}, | |
}, | |
simulate: function (a, b, d, e) { | |
a = c.extend(new c.Event(), d, { | |
type: a, | |
isSimulated: !0, | |
originalEvent: {}, | |
}); | |
e ? c.event.trigger(a, null, b) : c.event.dispatch.call(b, a); | |
a.isDefaultPrevented() && d.preventDefault(); | |
}, | |
}; | |
c.removeEvent = q.removeEventListener | |
? function (a, b, c) { | |
a.removeEventListener && a.removeEventListener(b, c, !1); | |
} | |
: function (a, b, c) { | |
b = "on" + b; | |
a.detachEvent && | |
(typeof a[b] === H && (a[b] = null), a.detachEvent(b, c)); | |
}; | |
c.Event = function (a, b) { | |
if (!(this instanceof c.Event)) return new c.Event(a, b); | |
a && a.type | |
? ((this.originalEvent = a), | |
(this.type = a.type), | |
(this.isDefaultPrevented = | |
a.defaultPrevented || | |
!1 === a.returnValue || | |
(a.getPreventDefault && a.getPreventDefault()) | |
? qa | |
: W)) | |
: (this.type = a); | |
b && c.extend(this, b); | |
this.timeStamp = (a && a.timeStamp) || c.now(); | |
this[c.expando] = !0; | |
}; | |
c.Event.prototype = { | |
isDefaultPrevented: W, | |
isPropagationStopped: W, | |
isImmediatePropagationStopped: W, | |
preventDefault: function () { | |
var a = this.originalEvent; | |
this.isDefaultPrevented = qa; | |
a && (a.preventDefault ? a.preventDefault() : (a.returnValue = !1)); | |
}, | |
stopPropagation: function () { | |
var a = this.originalEvent; | |
this.isPropagationStopped = qa; | |
a && (a.stopPropagation && a.stopPropagation(), (a.cancelBubble = !0)); | |
}, | |
stopImmediatePropagation: function () { | |
this.isImmediatePropagationStopped = qa; | |
this.stopPropagation(); | |
}, | |
}; | |
c.each( | |
{ | |
mouseenter: "mouseover", | |
mouseleave: "mouseout", | |
}, | |
function (a, b) { | |
c.event.special[a] = { | |
delegateType: b, | |
bindType: b, | |
handle: function (a) { | |
var d = a.relatedTarget, | |
f = a.handleObj; | |
if (!d || (d !== this && !c.contains(this, d))) { | |
a.type = f.origType; | |
var g = f.handler.apply(this, arguments); | |
a.type = b; | |
} | |
return g; | |
}, | |
}; | |
} | |
); | |
c.support.submitBubbles || | |
(c.event.special.submit = { | |
setup: function () { | |
if (c.nodeName(this, "form")) return !1; | |
c.event.add(this, "click._submit keypress._submit", function (a) { | |
a = a.target; | |
(a = | |
c.nodeName(a, "input") || c.nodeName(a, "button") ? a.form : n) && | |
!c._data(a, "submitBubbles") && | |
(c.event.add(a, "submit._submit", function (a) { | |
a._submit_bubble = !0; | |
}), | |
c._data(a, "submitBubbles", !0)); | |
}); | |
}, | |
postDispatch: function (a) { | |
a._submit_bubble && | |
(delete a._submit_bubble, | |
this.parentNode && | |
!a.isTrigger && | |
c.event.simulate("submit", this.parentNode, a, !0)); | |
}, | |
teardown: function () { | |
if (c.nodeName(this, "form")) return !1; | |
c.event.remove(this, "._submit"); | |
}, | |
}); | |
c.support.changeBubbles || | |
(c.event.special.change = { | |
setup: function () { | |
if (Na.test(this.nodeName)) { | |
if ("checkbox" === this.type || "radio" === this.type) | |
c.event.add(this, "propertychange._change", function (a) { | |
"checked" === a.originalEvent.propertyName && | |
(this._just_changed = !0); | |
}), | |
c.event.add(this, "click._change", function (a) { | |
this._just_changed && !a.isTrigger && (this._just_changed = !1); | |
c.event.simulate("change", this, a, !0); | |
}); | |
return !1; | |
} | |
c.event.add(this, "beforeactivate._change", function (a) { | |
a = a.target; | |
Na.test(a.nodeName) && | |
!c._data(a, "changeBubbles") && | |
(c.event.add(a, "change._change", function (a) { | |
!this.parentNode || | |
a.isSimulated || | |
a.isTrigger || | |
c.event.simulate("change", this.parentNode, a, !0); | |
}), | |
c._data(a, "changeBubbles", !0)); | |
}); | |
}, | |
handle: function (a) { | |
var b = a.target; | |
if ( | |
this !== b || | |
a.isSimulated || | |
a.isTrigger || | |
("radio" !== b.type && "checkbox" !== b.type) | |
) | |
return a.handleObj.handler.apply(this, arguments); | |
}, | |
teardown: function () { | |
c.event.remove(this, "._change"); | |
return !Na.test(this.nodeName); | |
}, | |
}); | |
c.support.focusinBubbles || | |
c.each( | |
{ | |
focus: "focusin", | |
blur: "focusout", | |
}, | |
function (a, b) { | |
var d = 0, | |
e = function (a) { | |
c.event.simulate(b, a.target, c.event.fix(a), !0); | |
}; | |
c.event.special[b] = { | |
setup: function () { | |
0 === d++ && q.addEventListener(a, e, !0); | |
}, | |
teardown: function () { | |
0 === --d && q.removeEventListener(a, e, !0); | |
}, | |
}; | |
} | |
); | |
c.fn.extend({ | |
on: function (a, b, d, e, f) { | |
var g; | |
if ("object" === typeof a) { | |
"string" !== typeof b && ((d = d || b), (b = n)); | |
for (g in a) this.on(g, b, d, a[g], f); | |
return this; | |
} | |
null == d && null == e | |
? ((e = b), (d = b = n)) | |
: null == e && | |
("string" === typeof b | |
? ((e = d), (d = n)) | |
: ((e = d), (d = b), (b = n))); | |
if (!1 === e) e = W; | |
else if (!e) return this; | |
if (1 === f) { | |
var h = e; | |
e = function (a) { | |
c().off(a); | |
return h.apply(this, arguments); | |
}; | |
e.guid = h.guid || (h.guid = c.guid++); | |
} | |
return this.each(function () { | |
c.event.add(this, a, e, d, b); | |
}); | |
}, | |
one: function (a, b, c, e) { | |
return this.on(a, b, c, e, 1); | |
}, | |
off: function (a, b, d) { | |
if (a && a.preventDefault && a.handleObj) { | |
var e = a.handleObj; | |
c(a.delegateTarget).off( | |
e.namespace ? e.origType + "." + e.namespace : e.origType, | |
e.selector, | |
e.handler | |
); | |
return this; | |
} | |
if ("object" === typeof a) { | |
for (e in a) this.off(e, b, a[e]); | |
return this; | |
} | |
if (!1 === b || "function" === typeof b) (d = b), (b = n); | |
!1 === d && (d = W); | |
return this.each(function () { | |
c.event.remove(this, a, d, b); | |
}); | |
}, | |
bind: function (a, b, c) { | |
return this.on(a, null, b, c); | |
}, | |
unbind: function (a, b) { | |
return this.off(a, null, b); | |
}, | |
delegate: function (a, b, c, e) { | |
return this.on(b, a, c, e); | |
}, | |
undelegate: function (a, b, c) { | |
return 1 === arguments.length | |
? this.off(a, "**") | |
: this.off(b, a || "**", c); | |
}, | |
trigger: function (a, b) { | |
return this.each(function () { | |
c.event.trigger(a, b, this); | |
}); | |
}, | |
triggerHandler: function (a, b) { | |
var d = this[0]; | |
if (d) return c.event.trigger(a, b, d, !0); | |
}, | |
}); | |
(function (a, b) { | |
function d() { | |
var a, | |
b = []; | |
return (a = function (c, d) { | |
b.push((c += " ")) > B.cacheLength && delete a[b.shift()]; | |
return (a[c] = d); | |
}); | |
} | |
function e(a) { | |
a[C] = !0; | |
return a; | |
} | |
function f(a) { | |
var b = I.createElement("div"); | |
try { | |
return a(b); | |
} catch (v) { | |
return !1; | |
} finally { | |
} | |
} | |
function g(a, b, c, d) { | |
var e, f, g, h; | |
(b ? b.ownerDocument || b : A) !== I && va(b); | |
b = b || I; | |
c = c || []; | |
if (!a || "string" !== typeof a) return c; | |
if (1 !== (h = b.nodeType) && 9 !== h) return []; | |
if (!T && !d) { | |
if ((e = na.exec(a))) | |
if ((g = e[1])) | |
if (9 === h) | |
if ((f = b.getElementById(g)) && f.parentNode) { | |
if (f.id === g) return c.push(f), c; | |
} else return c; | |
else { | |
if ( | |
b.ownerDocument && | |
(f = b.ownerDocument.getElementById(g)) && | |
wa(b, f) && | |
f.id === g | |
) | |
return c.push(f), c; | |
} | |
else { | |
if (e[2]) | |
return O.apply(c, P.call(b.getElementsByTagName(a), 0)), c; | |
if ((g = e[3]) && z.getByClassName && b.getElementsByClassName) | |
return O.apply(c, P.call(b.getElementsByClassName(g), 0)), c; | |
} | |
if (z.qsa && !Z.test(a)) { | |
e = !0; | |
f = C; | |
g = b; | |
var y = 9 === h && a; | |
if (1 === h && "object" !== b.nodeName.toLowerCase()) { | |
h = n(a); | |
(e = b.getAttribute("id")) | |
? (f = e.replace(ra, "\\$&")) | |
: b.setAttribute("id", f); | |
f = "[id='" + f + "'] "; | |
for (g = h.length; g--; ) h[g] = f + p(h[g]); | |
g = (ca.test(a) && b.parentNode) || b; | |
y = h.join(","); | |
} | |
if (y) | |
try { | |
return O.apply(c, P.call(g.querySelectorAll(y), 0)), c; | |
} catch (Xc) { | |
} finally { | |
e || b.removeAttribute("id"); | |
} | |
} | |
} | |
var v; | |
a: { | |
a = a.replace(S, "$1"); | |
f = n(a); | |
if (!d && 1 === f.length) { | |
e = f[0] = f[0].slice(0); | |
if ( | |
2 < e.length && | |
"ID" === (v = e[0]).type && | |
9 === b.nodeType && | |
!T && | |
B.relative[e[1].type] | |
) { | |
b = B.find.ID(v.matches[0].replace(ia, ja), b)[0]; | |
if (!b) { | |
v = c; | |
break a; | |
} | |
a = a.slice(e.shift().value.length); | |
} | |
for (h = X.needsContext.test(a) ? 0 : e.length; h--; ) { | |
v = e[h]; | |
if (B.relative[(g = v.type)]) break; | |
if ((g = B.find[g])) | |
if ( | |
(d = g( | |
v.matches[0].replace(ia, ja), | |
(ca.test(e[0].type) && b.parentNode) || b | |
)) | |
) { | |
e.splice(h, 1); | |
a = d.length && p(e); | |
if (!a) { | |
O.apply(c, P.call(d, 0)); | |
v = c; | |
break a; | |
} | |
break; | |
} | |
} | |
} | |
ma(a, f)(d, b, T, c, ca.test(a)); | |
v = c; | |
} | |
return v; | |
} | |
function h(a, b) { | |
var c = b && a, | |
d = | |
c && | |
(~b.sourceIndex || -2147483648) - (~a.sourceIndex || -2147483648); | |
if (d) return d; | |
if (c) for (; (c = c.nextSibling); ) if (c === b) return -1; | |
return a ? 1 : -1; | |
} | |
function k(a) { | |
return function (b) { | |
return "input" === b.nodeName.toLowerCase() && b.type === a; | |
}; | |
} | |
function l(a) { | |
return function (b) { | |
var c = b.nodeName.toLowerCase(); | |
return ("input" === c || "button" === c) && b.type === a; | |
}; | |
} | |
function m(a) { | |
return e(function (b) { | |
b = +b; | |
return e(function (c, d) { | |
for (var e, f = a([], c.length, b), g = f.length; g--; ) | |
c[(e = f[g])] && (c[e] = !(d[e] = c[e])); | |
}); | |
}); | |
} | |
function n(a, b) { | |
var c, d, e, f, h; | |
if ((f = R[a + " "])) return b ? 0 : f.slice(0); | |
f = a; | |
var y = []; | |
for (h = B.preFilter; f; ) { | |
if (!k || (c = ea.exec(f))) | |
c && (f = f.slice(c[0].length) || f), y.push((d = [])); | |
var k = !1; | |
if ((c = fa.exec(f))) | |
(k = c.shift()), | |
d.push({ | |
value: k, | |
type: c[0].replace(S, " "), | |
}), | |
(f = f.slice(k.length)); | |
for (e in B.filter) | |
!(c = X[e].exec(f)) || | |
(h[e] && !(c = h[e](c))) || | |
((k = c.shift()), | |
d.push({ | |
value: k, | |
type: e, | |
matches: c, | |
}), | |
(f = f.slice(k.length))); | |
if (!k) break; | |
} | |
return b ? f.length : f ? g.error(a) : R(a, y).slice(0); | |
} | |
function p(a) { | |
for (var b = 0, c = a.length, d = ""; b < c; b++) d += a[b].value; | |
return d; | |
} | |
function u(a, b, c) { | |
var d = b.dir, | |
e = c && "parentNode" === d, | |
f = xc++; | |
return b.first | |
? function (b, c, f) { | |
for (; (b = b[d]); ) if (1 === b.nodeType || e) return a(b, c, f); | |
} | |
: function (b, c, g) { | |
var h, | |
k, | |
y = G + " " + f; | |
if (g) | |
for (; (b = b[d]); ) { | |
if ((1 === b.nodeType || e) && a(b, c, g)) return !0; | |
} | |
else | |
for (; (b = b[d]); ) | |
if (1 === b.nodeType || e) { | |
var v = b[C] || (b[C] = {}); | |
if ((k = v[d]) && k[0] === y) { | |
if (!0 === (h = k[1]) || h === L) return !0 === h; | |
} else if ( | |
((k = v[d] = [y]), (k[1] = a(b, c, g) || L), !0 === k[1]) | |
) | |
return !0; | |
} | |
}; | |
} | |
function q(a) { | |
return 1 < a.length | |
? function (b, c, d) { | |
for (var e = a.length; e--; ) if (!a[e](b, c, d)) return !1; | |
return !0; | |
} | |
: a[0]; | |
} | |
function r(a, b, c, d, e) { | |
for (var f, g = [], h = 0, k = a.length, y = null != b; h < k; h++) | |
if ((f = a[h])) if (!c || c(f, d, e)) g.push(f), y && b.push(h); | |
return g; | |
} | |
function D(a, b, c, d, f, h) { | |
d && !d[C] && (d = D(d)); | |
f && !f[C] && (f = D(f, h)); | |
return e(function (e, h, k, y) { | |
var v, | |
l = [], | |
m = [], | |
Y = h.length, | |
K; | |
if (!(K = e)) { | |
K = b || "*"; | |
for ( | |
var n = k.nodeType ? [k] : k, p = [], u = 0, q = n.length; | |
u < q; | |
u++ | |
) | |
g(K, n[u], p); | |
K = p; | |
} | |
K = !a || (!e && b) ? K : r(K, l, a, k, y); | |
n = c ? (f || (e ? a : Y || d) ? [] : h) : K; | |
c && c(K, n, k, y); | |
if (d) { | |
var t = r(n, m); | |
d(t, [], k, y); | |
for (k = t.length; k--; ) if ((v = t[k])) n[m[k]] = !(K[m[k]] = v); | |
} | |
if (e) { | |
if (f || a) { | |
if (f) { | |
t = []; | |
for (k = n.length; k--; ) (v = n[k]) && t.push((K[k] = v)); | |
f(null, (n = []), t, y); | |
} | |
for (k = n.length; k--; ) | |
(v = n[k]) && | |
-1 < (t = f ? V.call(e, v) : l[k]) && | |
(e[t] = !(h[t] = v)); | |
} | |
} else (n = r(n === h ? n.splice(Y, n.length) : n)), f ? f(null, h, n, y) : O.apply(h, n); | |
}); | |
} | |
function x(a) { | |
var b, | |
c, | |
d = a.length, | |
e = B.relative[a[0].type]; | |
var f = e || B.relative[" "]; | |
for ( | |
var g = e ? 1 : 0, | |
h = u( | |
function (a) { | |
return a === b; | |
}, | |
f, | |
!0 | |
), | |
k = u( | |
function (a) { | |
return -1 < V.call(b, a); | |
}, | |
f, | |
!0 | |
), | |
y = [ | |
function (a, c, d) { | |
return ( | |
(!e && (d || c !== pa)) || | |
((b = c).nodeType ? h(a, c, d) : k(a, c, d)) | |
); | |
}, | |
]; | |
g < d; | |
g++ | |
) | |
if ((f = B.relative[a[g].type])) y = [u(q(y), f)]; | |
else { | |
f = B.filter[a[g].type].apply(null, a[g].matches); | |
if (f[C]) { | |
for (c = ++g; c < d && !B.relative[a[c].type]; c++); | |
return D( | |
1 < g && q(y), | |
1 < g && p(a.slice(0, g - 1)).replace(S, "$1"), | |
f, | |
g < c && x(a.slice(g, c)), | |
c < d && x((a = a.slice(c))), | |
c < d && p(a) | |
); | |
} | |
y.push(f); | |
} | |
return q(y); | |
} | |
function yc(a, b) { | |
var c = 0, | |
d = 0 < b.length, | |
f = 0 < a.length, | |
h = function (e, h, k, y, v) { | |
var l, | |
m, | |
Y = [], | |
K = 0, | |
n = "0", | |
p = e && [], | |
t = null != v, | |
u = pa, | |
q = e || (f && B.find.TAG("*", (v && h.parentNode) || h)), | |
Cb = (G += null == u ? 1 : Math.random() || 0.1); | |
t && ((pa = h !== I && h), (L = c)); | |
for (; null != (v = q[n]); n++) { | |
if (f && v) { | |
for (l = 0; (m = a[l++]); ) | |
if (m(v, h, k)) { | |
y.push(v); | |
break; | |
} | |
t && ((G = Cb), (L = ++c)); | |
} | |
d && ((v = !m && v) && K--, e && p.push(v)); | |
} | |
K += n; | |
if (d && n !== K) { | |
for (l = 0; (m = b[l++]); ) m(p, Y, h, k); | |
if (e) { | |
if (0 < K) for (; n--; ) p[n] || Y[n] || (Y[n] = ba.call(y)); | |
Y = r(Y); | |
} | |
O.apply(y, Y); | |
t && !e && 0 < Y.length && 1 < K + b.length && g.uniqueSort(y); | |
} | |
t && ((G = Cb), (pa = u)); | |
return p; | |
}; | |
return d ? e(h) : h; | |
} | |
function E() {} | |
var w, | |
L, | |
J, | |
pa, | |
I, | |
Q, | |
T, | |
Z, | |
ua, | |
ya, | |
wa, | |
H, | |
C = "sizzle" + -new Date(), | |
A = a.document, | |
z = {}, | |
G = 0, | |
xc = 0, | |
M = d(), | |
R = d(), | |
N = d(), | |
U = typeof b, | |
F = [], | |
ba = F.pop, | |
O = F.push, | |
P = F.slice, | |
V = | |
F.indexOf || | |
function (a) { | |
for (var b = 0, c = this.length; b < c; b++) | |
if (this[b] === a) return b; | |
return -1; | |
}; | |
F = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+".replace("w", "w#"); | |
var aa = | |
"\\[[\\x20\\t\\r\\n\\f]*((?:\\\\.|[\\w-]|[^\\x00-\\xa0])+)[\\x20\\t\\r\\n\\f]*(?:([*^$|!~]?=)[\\x20\\t\\r\\n\\f]*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + | |
F + | |
")|)|)[\\x20\\t\\r\\n\\f]*\\]", | |
W = | |
":((?:\\\\.|[\\w-]|[^\\x00-\\xa0])+)(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + | |
aa.replace(3, 8) + | |
")*)|.*)\\)|)", | |
S = /^[\x20\t\r\n\f]+|((?:^|[^\\])(?:\\.)*)[\x20\t\r\n\f]+$/g, | |
ea = /^[\x20\t\r\n\f]*,[\x20\t\r\n\f]*/, | |
fa = /^[\x20\t\r\n\f]*([\x20\t\r\n\f>+~])[\x20\t\r\n\f]*/, | |
ka = new RegExp(W), | |
la = new RegExp("^" + F + "$"), | |
X = { | |
ID: /^#((?:\\.|[\w-]|[^\x00-\xa0])+)/, | |
CLASS: /^\.((?:\\.|[\w-]|[^\x00-\xa0])+)/, | |
NAME: /^\[name=['"]?((?:\\.|[\w-]|[^\x00-\xa0])+)['"]?\]/, | |
TAG: new RegExp( | |
"^(" + "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+".replace("w", "w*") + ")" | |
), | |
ATTR: new RegExp("^" + aa), | |
PSEUDO: new RegExp("^" + W), | |
CHILD: | |
/^:(only|first|last|nth|nth-last)-(child|of-type)(?:\([\x20\t\r\n\f]*(even|odd|(([+-]|)(\d*)n|)[\x20\t\r\n\f]*(?:([+-]|)[\x20\t\r\n\f]*(\d+)|))[\x20\t\r\n\f]*\)|)/i, | |
needsContext: | |
/^[\x20\t\r\n\f]*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\([\x20\t\r\n\f]*((?:-\d)?\d*)[\x20\t\r\n\f]*\)|)(?=[^-]|$)/i, | |
}, | |
ca = /[\x20\t\r\n\f]*[+~]/, | |
da = /^[^{]+\{\s*\[native code/, | |
na = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, | |
oa = /^(?:input|select|textarea|button)$/i, | |
qa = /^h\d$/i, | |
ra = /'|\\/g, | |
sa = /=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g, | |
ia = /\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g, | |
ja = function (a, b) { | |
a = "0x" + b - 65536; | |
return a !== a | |
? b | |
: 0 > a | |
? String.fromCharCode(a + 65536) | |
: String.fromCharCode((a >> 10) | 55296, (a & 1023) | 56320); | |
}; | |
try { | |
P.call(A.documentElement.childNodes, 0)[0].nodeType; | |
} catch (y) { | |
P = function (a) { | |
for (var b, c = []; (b = this[a++]); ) c.push(b); | |
return c; | |
}; | |
} | |
var ta = (g.isXML = function (a) { | |
return (a = a && (a.ownerDocument || a).documentElement) | |
? "HTML" !== a.nodeName | |
: !1; | |
}); | |
var va = (g.setDocument = function (a) { | |
var c = a ? a.ownerDocument || a : A; | |
if (c === I || 9 !== c.nodeType || !c.documentElement) return I; | |
I = c; | |
Q = c.documentElement; | |
T = ta(c); | |
z.tagNameNoComments = f(function (a) { | |
a.appendChild(c.createComment("")); | |
return !a.getElementsByTagName("*").length; | |
}); | |
z.attributes = f(function (a) { | |
a.innerHTML = "<select></select>"; | |
a = typeof a.lastChild.getAttribute("multiple"); | |
return "boolean" !== a && "string" !== a; | |
}); | |
z.getByClassName = f(function (a) { | |
a.innerHTML = "<div class='hidden e'></div><div class='hidden'></div>"; | |
if (!a.getElementsByClassName || !a.getElementsByClassName("e").length) | |
return !1; | |
a.lastChild.className = "e"; | |
return 2 === a.getElementsByClassName("e").length; | |
}); | |
z.getByName = f(function (a) { | |
a.id = C + 0; | |
a.innerHTML = "<a name='" + C + "'></a><div name='" + C + "'></div>"; | |
Q.insertBefore(a, Q.firstChild); | |
var b = | |
c.getElementsByName && | |
c.getElementsByName(C).length === | |
2 + c.getElementsByName(C + 0).length; | |
z.getIdNotName = !c.getElementById(C); | |
Q.removeChild(a); | |
return b; | |
}); | |
B.attrHandle = f(function (a) { | |
a.innerHTML = "<a href='#'></a>"; | |
return ( | |
a.firstChild && | |
typeof a.firstChild.getAttribute !== U && | |
"#" === a.firstChild.getAttribute("href") | |
); | |
}) | |
? {} | |
: { | |
href: function (a) { | |
return a.getAttribute("href", 2); | |
}, | |
type: function (a) { | |
return a.getAttribute("type"); | |
}, | |
}; | |
z.getIdNotName | |
? ((B.find.ID = function (a, b) { | |
if (typeof b.getElementById !== U && !T) | |
return (a = b.getElementById(a)) && a.parentNode ? [a] : []; | |
}), | |
(B.filter.ID = function (a) { | |
var b = a.replace(ia, ja); | |
return function (a) { | |
return a.getAttribute("id") === b; | |
}; | |
})) | |
: ((B.find.ID = function (a, c) { | |
if (typeof c.getElementById !== U && !T) | |
return (c = c.getElementById(a)) | |
? c.id === a || | |
(typeof c.getAttributeNode !== U && | |
c.getAttributeNode("id").value === a) | |
? [c] | |
: b | |
: []; | |
}), | |
(B.filter.ID = function (a) { | |
var b = a.replace(ia, ja); | |
return function (a) { | |
return ( | |
(a = | |
typeof a.getAttributeNode !== U && | |
a.getAttributeNode("id")) && a.value === b | |
); | |
}; | |
})); | |
B.find.TAG = z.tagNameNoComments | |
? function (a, b) { | |
if (typeof b.getElementsByTagName !== U) | |
return b.getElementsByTagName(a); | |
} | |
: function (a, b) { | |
var c = [], | |
d = 0; | |
b = b.getElementsByTagName(a); | |
if ("*" === a) { | |
for (; (a = b[d++]); ) 1 === a.nodeType && c.push(a); | |
return c; | |
} | |
return b; | |
}; | |
B.find.NAME = | |
z.getByName && | |
function (a, b) { | |
if (typeof b.getElementsByName !== U) | |
return b.getElementsByName(name); | |
}; | |
B.find.CLASS = | |
z.getByClassName && | |
function (a, b) { | |
if (typeof b.getElementsByClassName !== U && !T) | |
return b.getElementsByClassName(a); | |
}; | |
ua = []; | |
Z = [":focus"]; | |
if ((z.qsa = da.test(c.querySelectorAll + ""))) | |
f(function (a) { | |
a.innerHTML = "<select><option selected=''></option></select>"; | |
a.querySelectorAll("[selected]").length || | |
Z.push( | |
"\\[[\\x20\\t\\r\\n\\f]*(?:checked|disabled|ismap|multiple|readonly|selected|value)" | |
); | |
a.querySelectorAll(":checked").length || Z.push(":checked"); | |
}), | |
f(function (a) { | |
a.innerHTML = "<input type='hidden' i=''/>"; | |
a.querySelectorAll("[i^='']").length && | |
Z.push("[*^$]=[\\x20\\t\\r\\n\\f]*(?:\"\"|'')"); | |
a.querySelectorAll(":enabled").length || | |
Z.push(":enabled", ":disabled"); | |
a.querySelectorAll("*,:x"); | |
Z.push(",.*:"); | |
}); | |
(z.matchesSelector = da.test( | |
(ya = | |
Q.matchesSelector || | |
Q.mozMatchesSelector || | |
Q.webkitMatchesSelector || | |
Q.oMatchesSelector || | |
Q.msMatchesSelector) + "" | |
)) && | |
f(function (a) { | |
z.disconnectedMatch = ya.call(a, "div"); | |
ya.call(a, "[s!='']:x"); | |
ua.push("!=", W); | |
}); | |
Z = new RegExp(Z.join("|")); | |
ua = new RegExp(ua.join("|")); | |
wa = | |
da.test(Q.contains + "") || Q.compareDocumentPosition | |
? function (a, b) { | |
var c = 9 === a.nodeType ? a.documentElement : a; | |
b = b && b.parentNode; | |
return ( | |
a === b || | |
!!( | |
b && | |
1 === b.nodeType && | |
(c.contains | |
? c.contains(b) | |
: a.compareDocumentPosition && | |
a.compareDocumentPosition(b) & 16) | |
) | |
); | |
} | |
: function (a, b) { | |
if (b) for (; (b = b.parentNode); ) if (b === a) return !0; | |
return !1; | |
}; | |
H = Q.compareDocumentPosition | |
? function (a, b) { | |
var d; | |
return a === b | |
? ((J = !0), 0) | |
: (d = | |
b.compareDocumentPosition && | |
a.compareDocumentPosition && | |
a.compareDocumentPosition(b)) | |
? d & 1 || (a.parentNode && 11 === a.parentNode.nodeType) | |
? a === c || wa(A, a) | |
? -1 | |
: b === c || wa(A, b) | |
? 1 | |
: 0 | |
: d & 4 | |
? -1 | |
: 1 | |
: a.compareDocumentPosition | |
? -1 | |
: 1; | |
} | |
: function (a, b) { | |
var d = 0, | |
e = a.parentNode, | |
f = b.parentNode, | |
g = [a], | |
k = [b]; | |
if (a === b) return (J = !0), 0; | |
if (!e || !f) | |
return a === c ? -1 : b === c ? 1 : e ? -1 : f ? 1 : 0; | |
if (e === f) return h(a, b); | |
for (; (a = a.parentNode); ) g.unshift(a); | |
for (a = b; (a = a.parentNode); ) k.unshift(a); | |
for (; g[d] === k[d]; ) d++; | |
return d ? h(g[d], k[d]) : g[d] === A ? -1 : k[d] === A ? 1 : 0; | |
}; | |
J = !1; | |
[0, 0].sort(H); | |
z.detectDuplicates = J; | |
return I; | |
}); | |
g.matches = function (a, b) { | |
return g(a, null, null, b); | |
}; | |
g.matchesSelector = function (a, b) { | |
(a.ownerDocument || a) !== I && va(a); | |
b = b.replace(sa, "='$1']"); | |
if (!(!z.matchesSelector || T || (ua && ua.test(b)) || Z.test(b))) | |
try { | |
var c = ya.call(a, b); | |
if ( | |
c || | |
z.disconnectedMatch || | |
(a.document && 11 !== a.document.nodeType) | |
) | |
return c; | |
} catch (K) {} | |
return 0 < g(b, I, null, [a]).length; | |
}; | |
g.contains = function (a, b) { | |
(a.ownerDocument || a) !== I && va(a); | |
return wa(a, b); | |
}; | |
g.attr = function (a, b) { | |
var c; | |
(a.ownerDocument || a) !== I && va(a); | |
T || (b = b.toLowerCase()); | |
return (c = B.attrHandle[b]) | |
? c(a) | |
: T || z.attributes | |
? a.getAttribute(b) | |
: ((c = a.getAttributeNode(b)) || a.getAttribute(b)) && !0 === a[b] | |
? b | |
: c && c.specified | |
? c.value | |
: null; | |
}; | |
g.error = function (a) { | |
throw Error("Syntax error, unrecognized expression: " + a); | |
}; | |
g.uniqueSort = function (a) { | |
var b, | |
c = [], | |
d = 1, | |
e = 0; | |
J = !z.detectDuplicates; | |
a.sort(H); | |
if (J) { | |
for (; (b = a[d]); d++) b === a[d - 1] && (e = c.push(d)); | |
for (; e--; ) a.splice(c[e], 1); | |
} | |
return a; | |
}; | |
var ha = (g.getText = function (a) { | |
var b = "", | |
c = 0; | |
var d = a.nodeType; | |
if (!d) for (; (d = a[c]); c++) b += ha(d); | |
else if (1 === d || 9 === d || 11 === d) { | |
if ("string" === typeof a.textContent) return a.textContent; | |
for (a = a.firstChild; a; a = a.nextSibling) b += ha(a); | |
} else if (3 === d || 4 === d) return a.nodeValue; | |
return b; | |
}); | |
var B = (g.selectors = { | |
cacheLength: 50, | |
createPseudo: e, | |
match: X, | |
find: {}, | |
relative: { | |
">": { | |
dir: "parentNode", | |
first: !0, | |
}, | |
" ": { | |
dir: "parentNode", | |
}, | |
"+": { | |
dir: "previousSibling", | |
first: !0, | |
}, | |
"~": { | |
dir: "previousSibling", | |
}, | |
}, | |
preFilter: { | |
ATTR: function (a) { | |
a[1] = a[1].replace(ia, ja); | |
a[3] = (a[4] || a[5] || "").replace(ia, ja); | |
"~=" === a[2] && (a[3] = " " + a[3] + " "); | |
return a.slice(0, 4); | |
}, | |
CHILD: function (a) { | |
a[1] = a[1].toLowerCase(); | |
"nth" === a[1].slice(0, 3) | |
? (a[3] || g.error(a[0]), | |
(a[4] = +(a[4] | |
? a[5] + (a[6] || 1) | |
: 2 * ("even" === a[3] || "odd" === a[3]))), | |
(a[5] = +(a[7] + a[8] || "odd" === a[3]))) | |
: a[3] && g.error(a[0]); | |
return a; | |
}, | |
PSEUDO: function (a) { | |
var b, | |
c = !a[5] && a[2]; | |
if (X.CHILD.test(a[0])) return null; | |
a[4] | |
? (a[2] = a[4]) | |
: c && | |
ka.test(c) && | |
(b = n(c, !0)) && | |
(b = c.indexOf(")", c.length - b) - c.length) && | |
((a[0] = a[0].slice(0, b)), (a[2] = c.slice(0, b))); | |
return a.slice(0, 3); | |
}, | |
}, | |
filter: { | |
TAG: function (a) { | |
if ("*" === a) | |
return function () { | |
return !0; | |
}; | |
a = a.replace(ia, ja).toLowerCase(); | |
return function (b) { | |
return b.nodeName && b.nodeName.toLowerCase() === a; | |
}; | |
}, | |
CLASS: function (a) { | |
var b = M[a + " "]; | |
return ( | |
b || | |
((b = new RegExp( | |
"(^|[\\x20\\t\\r\\n\\f])" + a + "([\\x20\\t\\r\\n\\f]|$)" | |
)), | |
M(a, function (a) { | |
return b.test( | |
a.className || | |
(typeof a.getAttribute !== U && a.getAttribute("class")) || | |
"" | |
); | |
})) | |
); | |
}, | |
ATTR: function (a, b, c) { | |
return function (d) { | |
d = g.attr(d, a); | |
if (null == d) return "!=" === b; | |
if (!b) return !0; | |
d += ""; | |
return "=" === b | |
? d === c | |
: "!=" === b | |
? d !== c | |
: "^=" === b | |
? c && 0 === d.indexOf(c) | |
: "*=" === b | |
? c && -1 < d.indexOf(c) | |
: "$=" === b | |
? c && d.slice(-c.length) === c | |
: "~=" === b | |
? -1 < (" " + d + " ").indexOf(c) | |
: "|=" === b | |
? d === c || d.slice(0, c.length + 1) === c + "-" | |
: !1; | |
}; | |
}, | |
CHILD: function (a, b, c, d, e) { | |
var f = "nth" !== a.slice(0, 3), | |
g = "last" !== a.slice(-4), | |
h = "of-type" === b; | |
return 1 === d && 0 === e | |
? function (a) { | |
return !!a.parentNode; | |
} | |
: function (b, c, k) { | |
var l; | |
c = f !== g ? "nextSibling" : "previousSibling"; | |
var m = b.parentNode, | |
n = h && b.nodeName.toLowerCase(); | |
k = !k && !h; | |
if (m) { | |
if (f) { | |
for (; c; ) { | |
for (l = b; (l = l[c]); ) | |
if ( | |
h ? l.nodeName.toLowerCase() === n : 1 === l.nodeType | |
) | |
return !1; | |
var y = (c = "only" === a && !y && "nextSibling"); | |
} | |
return !0; | |
} | |
y = [g ? m.firstChild : m.lastChild]; | |
if (g && k) { | |
k = m[C] || (m[C] = {}); | |
var p = k[a] || []; | |
var t = p[0] === G && p[1]; | |
var v = p[0] === G && p[2]; | |
for ( | |
l = t && m.childNodes[t]; | |
(l = (++t && l && l[c]) || (v = t = 0) || y.pop()); | |
) | |
if (1 === l.nodeType && ++v && l === b) { | |
k[a] = [G, t, v]; | |
break; | |
} | |
} else if (k && (p = (b[C] || (b[C] = {}))[a]) && p[0] === G) | |
v = p[1]; | |
else | |
for ( | |
; | |
(l = (++t && l && l[c]) || (v = t = 0) || y.pop()) && | |
((h | |
? l.nodeName.toLowerCase() !== n | |
: 1 !== l.nodeType) || | |
!++v || | |
(k && ((l[C] || (l[C] = {}))[a] = [G, v]), l !== b)); | |
); | |
v -= e; | |
return v === d || (0 === v % d && 0 <= v / d); | |
} | |
}; | |
}, | |
PSEUDO: function (a, b) { | |
var c = | |
B.pseudos[a] || | |
B.setFilters[a.toLowerCase()] || | |
g.error("unsupported pseudo: " + a); | |
if (c[C]) return c(b); | |
if (1 < c.length) { | |
var d = [a, a, "", b]; | |
return B.setFilters.hasOwnProperty(a.toLowerCase()) | |
? e(function (a, d) { | |
for (var e, f = c(a, b), g = f.length; g--; ) | |
(e = V.call(a, f[g])), (a[e] = !(d[e] = f[g])); | |
}) | |
: function (a) { | |
return c(a, 0, d); | |
}; | |
} | |
return c; | |
}, | |
}, | |
pseudos: { | |
not: e(function (a) { | |
var b = [], | |
c = [], | |
d = ma(a.replace(S, "$1")); | |
return d[C] | |
? e(function (a, b, c, e) { | |
e = d(a, null, e, []); | |
for (var f = a.length; f--; ) | |
if ((c = e[f])) a[f] = !(b[f] = c); | |
}) | |
: function (a, e, f) { | |
b[0] = a; | |
d(b, null, f, c); | |
return !c.pop(); | |
}; | |
}), | |
has: e(function (a) { | |
return function (b) { | |
return 0 < g(a, b).length; | |
}; | |
}), | |
contains: e(function (a) { | |
return function (b) { | |
return -1 < (b.textContent || b.innerText || ha(b)).indexOf(a); | |
}; | |
}), | |
lang: e(function (a) { | |
la.test(a || "") || g.error("unsupported lang: " + a); | |
a = a.replace(ia, ja).toLowerCase(); | |
return function (b) { | |
var c; | |
do | |
if ( | |
(c = T | |
? b.getAttribute("xml:lang") || b.getAttribute("lang") | |
: b.lang) | |
) | |
return ( | |
(c = c.toLowerCase()), c === a || 0 === c.indexOf(a + "-") | |
); | |
while ((b = b.parentNode) && 1 === b.nodeType); | |
return !1; | |
}; | |
}), | |
target: function (b) { | |
var c = a.location && a.location.hash; | |
return c && c.slice(1) === b.id; | |
}, | |
root: function (a) { | |
return a === Q; | |
}, | |
focus: function (a) { | |
return ( | |
a === I.activeElement && | |
(!I.hasFocus || I.hasFocus()) && | |
!!(a.type || a.href || ~a.tabIndex) | |
); | |
}, | |
enabled: function (a) { | |
return !1 === a.disabled; | |
}, | |
disabled: function (a) { | |
return !0 === a.disabled; | |
}, | |
checked: function (a) { | |
var b = a.nodeName.toLowerCase(); | |
return ( | |
("input" === b && !!a.checked) || ("option" === b && !!a.selected) | |
); | |
}, | |
selected: function (a) { | |
a.parentNode && a.parentNode.selectedIndex; | |
return !0 === a.selected; | |
}, | |
empty: function (a) { | |
for (a = a.firstChild; a; a = a.nextSibling) | |
if ("@" < a.nodeName || 3 === a.nodeType || 4 === a.nodeType) | |
return !1; | |
return !0; | |
}, | |
parent: function (a) { | |
return !B.pseudos.empty(a); | |
}, | |
header: function (a) { | |
return qa.test(a.nodeName); | |
}, | |
input: function (a) { | |
return oa.test(a.nodeName); | |
}, | |
button: function (a) { | |
var b = a.nodeName.toLowerCase(); | |
return ("input" === b && "button" === a.type) || "button" === b; | |
}, | |
text: function (a) { | |
var b; | |
return ( | |
"input" === a.nodeName.toLowerCase() && | |
"text" === a.type && | |
(null == (b = a.getAttribute("type")) || b.toLowerCase() === a.type) | |
); | |
}, | |
first: m(function () { | |
return [0]; | |
}), | |
last: m(function (a, b) { | |
return [b - 1]; | |
}), | |
eq: m(function (a, b, c) { | |
return [0 > c ? c + b : c]; | |
}), | |
even: m(function (a, b) { | |
for (var c = 0; c < b; c += 2) a.push(c); | |
return a; | |
}), | |
odd: m(function (a, b) { | |
for (var c = 1; c < b; c += 2) a.push(c); | |
return a; | |
}), | |
lt: m(function (a, b, c) { | |
for (b = 0 > c ? c + b : c; 0 <= --b; ) a.push(b); | |
return a; | |
}), | |
gt: m(function (a, b, c) { | |
for (c = 0 > c ? c + b : c; ++c < b; ) a.push(c); | |
return a; | |
}), | |
}, | |
}); | |
for (w in { | |
radio: !0, | |
checkbox: !0, | |
file: !0, | |
password: !0, | |
image: !0, | |
}) | |
B.pseudos[w] = k(w); | |
for (w in { | |
submit: !0, | |
reset: !0, | |
}) | |
B.pseudos[w] = l(w); | |
var ma = (g.compile = function (a, b) { | |
var c, | |
d = [], | |
e = [], | |
f = N[a + " "]; | |
if (!f) { | |
b || (b = n(a)); | |
for (c = b.length; c--; ) (f = x(b[c])), f[C] ? d.push(f) : e.push(f); | |
f = N(a, yc(e, d)); | |
} | |
return f; | |
}); | |
B.pseudos.nth = B.pseudos.eq; | |
B.filters = E.prototype = B.pseudos; | |
B.setFilters = new E(); | |
va(); | |
g.attr = c.attr; | |
c.find = g; | |
c.expr = g.selectors; | |
c.expr[":"] = c.expr.pseudos; | |
c.unique = g.uniqueSort; | |
c.text = g.getText; | |
c.isXMLDoc = g.isXML; | |
c.contains = g.contains; | |
})(r); | |
var zc = /Until$/, | |
Ac = /^(?:parents|prev(?:Until|All))/, | |
Vb = /^.[^:#\[\.,]*$/, | |
Db = c.expr.match.needsContext, | |
Bc = { | |
children: !0, | |
contents: !0, | |
next: !0, | |
prev: !0, | |
}; | |
c.fn.extend({ | |
find: function (a) { | |
var b, | |
d = this.length; | |
if ("string" !== typeof a) { | |
var e = this; | |
return this.pushStack( | |
c(a).filter(function () { | |
for (b = 0; b < d; b++) if (c.contains(e[b], this)) return !0; | |
}) | |
); | |
} | |
var f = []; | |
for (b = 0; b < d; b++) c.find(a, this[b], f); | |
f = this.pushStack(1 < d ? c.unique(f) : f); | |
f.selector = (this.selector ? this.selector + " " : "") + a; | |
return f; | |
}, | |
has: function (a) { | |
var b, | |
d = c(a, this), | |
e = d.length; | |
return this.filter(function () { | |
for (b = 0; b < e; b++) if (c.contains(this, d[b])) return !0; | |
}); | |
}, | |
not: function (a) { | |
return this.pushStack($a(this, a, !1)); | |
}, | |
filter: function (a) { | |
return this.pushStack($a(this, a, !0)); | |
}, | |
is: function (a) { | |
return ( | |
!!a && | |
("string" === typeof a | |
? Db.test(a) | |
? 0 <= c(a, this.context).index(this[0]) | |
: 0 < c.filter(a, this).length | |
: 0 < this.filter(a).length) | |
); | |
}, | |
closest: function (a, b) { | |
for ( | |
var d, | |
e = 0, | |
f = this.length, | |
g = [], | |
h = Db.test(a) || "string" !== typeof a ? c(a, b || this.context) : 0; | |
e < f; | |
e++ | |
) | |
for ( | |
d = this[e]; | |
d && d.ownerDocument && d !== b && 11 !== d.nodeType; | |
) { | |
if (h ? -1 < h.index(d) : c.find.matchesSelector(d, a)) { | |
g.push(d); | |
break; | |
} | |
d = d.parentNode; | |
} | |
return this.pushStack(1 < g.length ? c.unique(g) : g); | |
}, | |
index: function (a) { | |
return a | |
? "string" === typeof a | |
? c.inArray(this[0], c(a)) | |
: c.inArray(a.jquery ? a[0] : a, this) | |
: this[0] && this[0].parentNode | |
? this.first().prevAll().length | |
: -1; | |
}, | |
add: function (a, b) { | |
a = | |
"string" === typeof a | |
? c(a, b) | |
: c.makeArray(a && a.nodeType ? [a] : a); | |
a = c.merge(this.get(), a); | |
return this.pushStack(c.unique(a)); | |
}, | |
addBack: function (a) { | |
return this.add(null == a ? this.prevObject : this.prevObject.filter(a)); | |
}, | |
}); | |
c.fn.andSelf = c.fn.addBack; | |
c.each( | |
{ | |
parent: function (a) { | |
return (a = a.parentNode) && 11 !== a.nodeType ? a : null; | |
}, | |
parents: function (a) { | |
return c.dir(a, "parentNode"); | |
}, | |
parentsUntil: function (a, b, d) { | |
return c.dir(a, "parentNode", d); | |
}, | |
next: function (a) { | |
return Za(a, "nextSibling"); | |
}, | |
prev: function (a) { | |
return Za(a, "previousSibling"); | |
}, | |
nextAll: function (a) { | |
return c.dir(a, "nextSibling"); | |
}, | |
prevAll: function (a) { | |
return c.dir(a, "previousSibling"); | |
}, | |
nextUntil: function (a, b, d) { | |
return c.dir(a, "nextSibling", d); | |
}, | |
prevUntil: function (a, b, d) { | |
return c.dir(a, "previousSibling", d); | |
}, | |
siblings: function (a) { | |
return c.sibling((a.parentNode || {}).firstChild, a); | |
}, | |
children: function (a) { | |
return c.sibling(a.firstChild); | |
}, | |
contents: function (a) { | |
return c.nodeName(a, "iframe") | |
? a.contentDocument || a.contentWindow.document | |
: c.merge([], a.childNodes); | |
}, | |
}, | |
function (a, b) { | |
c.fn[a] = function (d, e) { | |
var f = c.map(this, b, d); | |
zc.test(a) || (e = d); | |
e && "string" === typeof e && (f = c.filter(e, f)); | |
f = 1 < this.length && !Bc[a] ? c.unique(f) : f; | |
1 < this.length && Ac.test(a) && (f = f.reverse()); | |
return this.pushStack(f); | |
}; | |
} | |
); | |
c.extend({ | |
filter: function (a, b, d) { | |
d && (a = ":not(" + a + ")"); | |
return 1 === b.length | |
? c.find.matchesSelector(b[0], a) | |
? [b[0]] | |
: [] | |
: c.find.matches(a, b); | |
}, | |
dir: function (a, b, d) { | |
var e = []; | |
for ( | |
a = a[b]; | |
a && 9 !== a.nodeType && (d === n || 1 !== a.nodeType || !c(a).is(d)); | |
) | |
1 === a.nodeType && e.push(a), (a = a[b]); | |
return e; | |
}, | |
sibling: function (a, b) { | |
for (var c = []; a; a = a.nextSibling) | |
1 === a.nodeType && a !== b && c.push(a); | |
return c; | |
}, | |
}); | |
var bb = | |
"abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", | |
Cc = / jQuery\d+="(?:null|\d+)"/g, | |
Eb = new RegExp("<(?:" + bb + ")[\\s/>]", "i"), | |
Oa = /^\s+/, | |
Fb = | |
/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, | |
Gb = /<([\w:]+)/, | |
Hb = /<tbody/i, | |
Dc = /<|&#?\w+;/, | |
Ec = /<(?:script|style|link)/i, | |
Ea = /^(?:checkbox|radio)$/i, | |
Fc = /checked\s*(?:[^=]|=\s*.checked.)/i, | |
Ib = /^$|\/(?:java|ecma)script/i, | |
Xb = /^true\/(.*)/, | |
Gc = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g, | |
E = { | |
option: [1, "<select multiple='multiple'>", "</select>"], | |
legend: [1, "<fieldset>", "</fieldset>"], | |
area: [1, "<map>", "</map>"], | |
param: [1, "<object>", "</object>"], | |
thead: [1, "<table>", "</table>"], | |
tr: [2, "<table><tbody>", "</tbody></table>"], | |
col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"], | |
td: [3, "<table><tbody><tr>", "</tr></tbody></table>"], | |
_default: c.support.htmlSerialize ? [0, "", ""] : [1, "X<div>", "</div>"], | |
}, | |
Pa = ab(q).appendChild(q.createElement("div")); | |
E.optgroup = E.option; | |
E.tbody = E.tfoot = E.colgroup = E.caption = E.thead; | |
E.th = E.td; | |
c.fn.extend({ | |
text: function (a) { | |
return c.access( | |
this, | |
function (a) { | |
return a === n | |
? c.text(this) | |
: this.empty().append( | |
((this[0] && this[0].ownerDocument) || q).createTextNode(a) | |
); | |
}, | |
null, | |
a, | |
arguments.length | |
); | |
}, | |
wrapAll: function (a) { | |
if (c.isFunction(a)) | |
return this.each(function (b) { | |
c(this).wrapAll(a.call(this, b)); | |
}); | |
if (this[0]) { | |
var b = c(a, this[0].ownerDocument).eq(0).clone(!0); | |
this[0].parentNode && b.insertBefore(this[0]); | |
b.map(function () { | |
for (var a = this; a.firstChild && 1 === a.firstChild.nodeType; ) | |
a = a.firstChild; | |
return a; | |
}).append(this); | |
} | |
return this; | |
}, | |
wrapInner: function (a) { | |
return c.isFunction(a) | |
? this.each(function (b) { | |
c(this).wrapInner(a.call(this, b)); | |
}) | |
: this.each(function () { | |
var b = c(this), | |
d = b.contents(); | |
d.length ? d.wrapAll(a) : b.append(a); | |
}); | |
}, | |
wrap: function (a) { | |
var b = c.isFunction(a); | |
return this.each(function (d) { | |
c(this).wrapAll(b ? a.call(this, d) : a); | |
}); | |
}, | |
unwrap: function () { | |
return this.parent() | |
.each(function () { | |
c.nodeName(this, "body") || c(this).replaceWith(this.childNodes); | |
}) | |
.end(); | |
}, | |
append: function () { | |
return this.domManip(arguments, !0, function (a) { | |
(1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType) || | |
this.appendChild(a); | |
}); | |
}, | |
prepend: function () { | |
return this.domManip(arguments, !0, function (a) { | |
(1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType) || | |
this.insertBefore(a, this.firstChild); | |
}); | |
}, | |
before: function () { | |
return this.domManip(arguments, !1, function (a) { | |
this.parentNode && this.parentNode.insertBefore(a, this); | |
}); | |
}, | |
after: function () { | |
return this.domManip(arguments, !1, function (a) { | |
this.parentNode && this.parentNode.insertBefore(a, this.nextSibling); | |
}); | |
}, | |
remove: function (a, b) { | |
for (var d, e = 0; null != (d = this[e]); e++) | |
if (!a || 0 < c.filter(a, [d]).length) | |
b || 1 !== d.nodeType || c.cleanData(x(d)), | |
d.parentNode && | |
(b && c.contains(d.ownerDocument, d) && Da(x(d, "script")), | |
d.parentNode.removeChild(d)); | |
return this; | |
}, | |
empty: function () { | |
for (var a, b = 0; null != (a = this[b]); b++) { | |
for (1 === a.nodeType && c.cleanData(x(a, !1)); a.firstChild; ) | |
a.removeChild(a.firstChild); | |
a.options && c.nodeName(a, "select") && (a.options.length = 0); | |
} | |
return this; | |
}, | |
clone: function (a, b) { | |
a = null == a ? !1 : a; | |
b = null == b ? a : b; | |
return this.map(function () { | |
return c.clone(this, a, b); | |
}); | |
}, | |
html: function (a) { | |
return c.access( | |
this, | |
function (a) { | |
var b = this[0] || {}, | |
e = 0, | |
f = this.length; | |
if (a === n) | |
return 1 === b.nodeType ? b.innerHTML.replace(Cc, "") : n; | |
if ( | |
!( | |
"string" !== typeof a || | |
Ec.test(a) || | |
(!c.support.htmlSerialize && Eb.test(a)) || | |
(!c.support.leadingWhitespace && Oa.test(a)) || | |
E[(Gb.exec(a) || ["", ""])[1].toLowerCase()] | |
) | |
) { | |
a = a.replace(Fb, "<$1></$2>"); | |
try { | |
for (; e < f; e++) | |
(b = this[e] || {}), | |
1 === b.nodeType && | |
(c.cleanData(x(b, !1)), (b.innerHTML = a)); | |
b = 0; | |
} catch (g) {} | |
} | |
b && this.empty().append(a); | |
}, | |
null, | |
a, | |
arguments.length | |
); | |
}, | |
replaceWith: function (a) { | |
c.isFunction(a) || "string" === typeof a || (a = c(a).not(this).detach()); | |
return this.domManip([a], !0, function (a) { | |
var b = this.nextSibling, | |
e = this.parentNode; | |
e && (c(this).remove(), e.insertBefore(a, b)); | |
}); | |
}, | |
detach: function (a) { | |
return this.remove(a, !0); | |
}, | |
domManip: function (a, b, d) { | |
a = ub.apply([], a); | |
var e, | |
f = 0, | |
g = this.length, | |
h = this, | |
k = g - 1, | |
l = a[0], | |
m = c.isFunction(l); | |
if ( | |
m || | |
(!(1 >= g || "string" !== typeof l || c.support.checkClone) && | |
Fc.test(l)) | |
) | |
return this.each(function (c) { | |
var e = h.eq(c); | |
m && (a[0] = l.call(this, c, b ? e.html() : n)); | |
e.domManip(a, b, d); | |
}); | |
if (g) { | |
var t = c.buildFragment(a, this[0].ownerDocument, !1, this); | |
var p = t.firstChild; | |
1 === t.childNodes.length && (t = p); | |
if (p) { | |
b = b && c.nodeName(p, "tr"); | |
var u = c.map(x(t, "script"), cb); | |
for (e = u.length; f < g; f++) | |
(p = t), | |
f !== k && | |
((p = c.clone(p, !0, !0)), e && c.merge(u, x(p, "script"))), | |
d.call( | |
b && c.nodeName(this[f], "table") | |
? Wb(this[f], "tbody") | |
: this[f], | |
p, | |
f | |
); | |
if (e) | |
for ( | |
t = u[u.length - 1].ownerDocument, c.map(u, db), f = 0; | |
f < e; | |
f++ | |
) | |
(p = u[f]), | |
Ib.test(p.type || "") && | |
!c._data(p, "globalEval") && | |
c.contains(t, p) && | |
(p.src | |
? c.ajax({ | |
url: p.src, | |
type: "GET", | |
dataType: "script", | |
async: !1, | |
global: !1, | |
throws: !0, | |
}) | |
: c.globalEval( | |
(p.text || p.textContent || p.innerHTML || "").replace( | |
Gc, | |
"" | |
) | |
)); | |
t = p = null; | |
} | |
} | |
return this; | |
}, | |
}); | |
c.each( | |
{ | |
appendTo: "append", | |
prependTo: "prepend", | |
insertBefore: "before", | |
insertAfter: "after", | |
replaceAll: "replaceWith", | |
}, | |
function (a, b) { | |
c.fn[a] = function (a) { | |
for (var d = 0, f = [], g = c(a), h = g.length - 1; d <= h; d++) | |
(a = d === h ? this : this.clone(!0)), | |
c(g[d])[b](a), | |
Ia.apply(f, a.get()); | |
return this.pushStack(f); | |
}; | |
} | |
); | |
c.extend({ | |
clone: function (a, b, d) { | |
var e, | |
f, | |
g = c.contains(a.ownerDocument, a); | |
if ( | |
c.support.html5Clone || | |
c.isXMLDoc(a) || | |
!Eb.test("<" + a.nodeName + ">") | |
) | |
var h = a.cloneNode(!0); | |
else (Pa.innerHTML = a.outerHTML), Pa.removeChild((h = Pa.firstChild)); | |
if ( | |
!( | |
(c.support.noCloneEvent && c.support.noCloneChecked) || | |
(1 !== a.nodeType && 11 !== a.nodeType) || | |
c.isXMLDoc(a) | |
) | |
) { | |
var k = x(h); | |
var l = x(a); | |
for (f = 0; null != (e = l[f]); ++f) | |
if (k[f]) { | |
var m = void 0, | |
n = e, | |
p = k[f]; | |
if (1 === p.nodeType) { | |
var u = p.nodeName.toLowerCase(); | |
if (!c.support.noCloneEvent && p[c.expando]) { | |
e = c._data(p); | |
for (m in e.events) c.removeEvent(p, m, e.handle); | |
p.removeAttribute(c.expando); | |
} | |
if ("script" === u && p.text !== n.text) | |
(cb(p).text = n.text), db(p); | |
else if ("object" === u) | |
p.parentNode && (p.outerHTML = n.outerHTML), | |
c.support.html5Clone && | |
n.innerHTML && | |
!c.trim(p.innerHTML) && | |
(p.innerHTML = n.innerHTML); | |
else if ("input" === u && Ea.test(n.type)) | |
(p.defaultChecked = p.checked = n.checked), | |
p.value !== n.value && (p.value = n.value); | |
else if ("option" === u) | |
p.defaultSelected = p.selected = n.defaultSelected; | |
else if ("input" === u || "textarea" === u) | |
p.defaultValue = n.defaultValue; | |
} | |
} | |
} | |
if (b) | |
if (d) | |
for (l = l || x(a), k = k || x(h), f = 0; null != (e = l[f]); f++) | |
eb(e, k[f]); | |
else eb(a, h); | |
k = x(h, "script"); | |
0 < k.length && Da(k, !g && x(a, "script")); | |
return h; | |
}, | |
buildFragment: function (a, b, d, e) { | |
for ( | |
var f, g, h, k, l, m, n = a.length, p = ab(b), u = [], q = 0; | |
q < n; | |
q++ | |
) | |
if ((g = a[q]) || 0 === g) | |
if ("object" === c.type(g)) c.merge(u, g.nodeType ? [g] : g); | |
else if (Dc.test(g)) { | |
h = h || p.appendChild(b.createElement("div")); | |
k = (Gb.exec(g) || ["", ""])[1].toLowerCase(); | |
m = E[k] || E._default; | |
h.innerHTML = m[1] + g.replace(Fb, "<$1></$2>") + m[2]; | |
for (f = m[0]; f--; ) h = h.lastChild; | |
!c.support.leadingWhitespace && | |
Oa.test(g) && | |
u.push(b.createTextNode(Oa.exec(g)[0])); | |
if (!c.support.tbody) | |
for ( | |
f = | |
(g = | |
"table" !== k || Hb.test(g) | |
? "<table>" !== m[1] || Hb.test(g) | |
? 0 | |
: h | |
: h.firstChild) && g.childNodes.length; | |
f--; | |
) | |
c.nodeName((l = g.childNodes[f]), "tbody") && | |
!l.childNodes.length && | |
g.removeChild(l); | |
c.merge(u, h.childNodes); | |
for (h.textContent = ""; h.firstChild; ) | |
h.removeChild(h.firstChild); | |
h = p.lastChild; | |
} else u.push(b.createTextNode(g)); | |
h && p.removeChild(h); | |
c.support.appendChecked || c.grep(x(u, "input"), Yb); | |
for (q = 0; (g = u[q++]); ) | |
if (!e || -1 === c.inArray(g, e)) | |
if ( | |
((a = c.contains(g.ownerDocument, g)), | |
(h = x(p.appendChild(g), "script")), | |
a && Da(h), | |
d) | |
) | |
for (f = 0; (g = h[f++]); ) Ib.test(g.type || "") && d.push(g); | |
return p; | |
}, | |
cleanData: function (a, b) { | |
for ( | |
var d, | |
e, | |
f, | |
g, | |
h = 0, | |
k = c.expando, | |
l = c.cache, | |
m = c.support.deleteExpando, | |
n = c.event.special; | |
null != (d = a[h]); | |
h++ | |
) | |
if (b || c.acceptData(d)) | |
if ((g = (f = d[k]) && l[f])) { | |
if (g.events) | |
for (e in g.events) | |
n[e] ? c.event.remove(d, e) : c.removeEvent(d, e, g.handle); | |
l[f] && | |
(delete l[f], | |
m | |
? delete d[k] | |
: typeof d.removeAttribute !== H | |
? d.removeAttribute(k) | |
: (d[k] = null), | |
aa.push(f)); | |
} | |
}, | |
}); | |
var ca, | |
Qa = /alpha\([^)]*\)/i, | |
Hc = /opacity\s*=\s*([^)]*)/, | |
Ic = /^(top|right|bottom|left)$/, | |
Jc = /^(none|table(?!-c[ea]).+)/, | |
Jb = /^margin/, | |
Zb = new RegExp("^(" + xa + ")(.*)$", "i"), | |
ra = new RegExp("^(" + xa + ")(?!px)[a-z%]+$", "i"), | |
Kc = new RegExp("^([+-])=(" + xa + ")", "i"), | |
mb = { | |
BODY: "block", | |
}, | |
Lc = { | |
position: "absolute", | |
visibility: "hidden", | |
display: "block", | |
}, | |
Kb = { | |
letterSpacing: 0, | |
fontWeight: 400, | |
}, | |
ba = ["Top", "Right", "Bottom", "Left"], | |
gb = ["Webkit", "O", "Moz", "ms"]; | |
c.fn.extend({ | |
css: function (a, b) { | |
return c.access( | |
this, | |
function (a, b, f) { | |
var d = {}, | |
e = 0; | |
if (c.isArray(b)) { | |
var k = S(a); | |
for (f = b.length; e < f; e++) d[b[e]] = c.css(a, b[e], !1, k); | |
return d; | |
} | |
return f !== n ? c.style(a, b, f) : c.css(a, b); | |
}, | |
a, | |
b, | |
1 < arguments.length | |
); | |
}, | |
show: function () { | |
return hb(this, !0); | |
}, | |
hide: function () { | |
return hb(this); | |
}, | |
toggle: function (a) { | |
var b = "boolean" === typeof a; | |
return this.each(function () { | |
(b ? a : X(this)) ? c(this).show() : c(this).hide(); | |
}); | |
}, | |
}); | |
c.extend({ | |
cssHooks: { | |
opacity: { | |
get: function (a, b) { | |
if (b) return (a = ea(a, "opacity")), "" === a ? "1" : a; | |
}, | |
}, | |
}, | |
cssNumber: { | |
columnCount: !0, | |
fillOpacity: !0, | |
fontWeight: !0, | |
lineHeight: !0, | |
opacity: !0, | |
orphans: !0, | |
widows: !0, | |
zIndex: !0, | |
zoom: !0, | |
}, | |
cssProps: { | |
float: c.support.cssFloat ? "cssFloat" : "styleFloat", | |
}, | |
style: function (a, b, d, e) { | |
if (a && 3 !== a.nodeType && 8 !== a.nodeType && a.style) { | |
var f, | |
g = c.camelCase(b), | |
h = a.style; | |
b = c.cssProps[g] || (c.cssProps[g] = fb(h, g)); | |
var k = c.cssHooks[b] || c.cssHooks[g]; | |
if (d !== n) { | |
var l = typeof d; | |
"string" === l && | |
(f = Kc.exec(d)) && | |
((d = (f[1] + 1) * f[2] + parseFloat(c.css(a, b))), (l = "number")); | |
if ( | |
!( | |
null == d || | |
("number" === l && isNaN(d)) || | |
("number" !== l || c.cssNumber[g] || (d += "px"), | |
c.support.clearCloneStyle || | |
"" !== d || | |
0 !== b.indexOf("background") || | |
(h[b] = "inherit"), | |
k && "set" in k && (d = k.set(a, d, e)) === n) | |
) | |
) | |
try { | |
h[b] = d; | |
} catch (m) {} | |
} else return k && "get" in k && (f = k.get(a, !1, e)) !== n ? f : h[b]; | |
} | |
}, | |
css: function (a, b, d, e) { | |
var f; | |
var g = c.camelCase(b); | |
b = c.cssProps[g] || (c.cssProps[g] = fb(a.style, g)); | |
(g = c.cssHooks[b] || c.cssHooks[g]) && | |
"get" in g && | |
(f = g.get(a, !0, d)); | |
f === n && (f = ea(a, b, e)); | |
"normal" === f && b in Kb && (f = Kb[b]); | |
return "" === d || d | |
? ((a = parseFloat(f)), !0 === d || c.isNumeric(a) ? a || 0 : f) | |
: f; | |
}, | |
swap: function (a, b, c, e) { | |
var d, | |
g = {}; | |
for (d in b) (g[d] = a.style[d]), (a.style[d] = b[d]); | |
c = c.apply(a, e || []); | |
for (d in b) a.style[d] = g[d]; | |
return c; | |
}, | |
}); | |
if (r.getComputedStyle) { | |
var S = function (a) { | |
return r.getComputedStyle(a, null); | |
}; | |
var ea = function (a, b, d) { | |
var e = (d = d || S(a)) ? d.getPropertyValue(b) || d[b] : n, | |
f = a.style; | |
if ( | |
d && | |
("" !== e || c.contains(a.ownerDocument, a) || (e = c.style(a, b)), | |
ra.test(e) && Jb.test(b)) | |
) { | |
a = f.width; | |
b = f.minWidth; | |
var g = f.maxWidth; | |
f.minWidth = f.maxWidth = f.width = e; | |
e = d.width; | |
f.width = a; | |
f.minWidth = b; | |
f.maxWidth = g; | |
} | |
return e; | |
}; | |
} else | |
q.documentElement.currentStyle && | |
((S = function (a) { | |
return a.currentStyle; | |
}), | |
(ea = function (a, b, c) { | |
var d, f; | |
c = (c = c || S(a)) ? c[b] : n; | |
var g = a.style; | |
null == c && g && g[b] && (c = g[b]); | |
if (ra.test(c) && !Ic.test(b)) { | |
b = g.left; | |
if ((f = (d = a.runtimeStyle) && d.left)) | |
d.left = a.currentStyle.left; | |
c = g.pixelLeft + "px"; | |
g.left = b; | |
f && (d.left = f); | |
} | |
return "" === c ? "auto" : c; | |
})); | |
c.each(["height", "width"], function (a, b) { | |
c.cssHooks[b] = { | |
get: function (a, e, f) { | |
if (e) | |
return 0 === a.offsetWidth && Jc.test(c.css(a, "display")) | |
? c.swap(a, Lc, function () { | |
return lb(a, b, f); | |
}) | |
: lb(a, b, f); | |
}, | |
set: function (a, e, f) { | |
var d = f && S(a); | |
return jb( | |
a, | |
e, | |
f | |
? kb( | |
a, | |
b, | |
f, | |
c.support.boxSizing && | |
"border-box" === c.css(a, "boxSizing", !1, d), | |
d | |
) | |
: 0 | |
); | |
}, | |
}; | |
}); | |
c.support.opacity || | |
(c.cssHooks.opacity = { | |
get: function (a, b) { | |
return Hc.test( | |
(b && a.currentStyle ? a.currentStyle.filter : a.style.filter) || "" | |
) | |
? 0.01 * parseFloat(RegExp.$1) + "" | |
: b | |
? "1" | |
: ""; | |
}, | |
set: function (a, b) { | |
var d = a.style; | |
a = a.currentStyle; | |
var e = c.isNumeric(b) ? "alpha(opacity=" + 100 * b + ")" : "", | |
f = (a && a.filter) || d.filter || ""; | |
d.zoom = 1; | |
if ( | |
(1 <= b || "" === b) && | |
"" === c.trim(f.replace(Qa, "")) && | |
d.removeAttribute && | |
(d.removeAttribute("filter"), "" === b || (a && !a.filter)) | |
) | |
return; | |
d.filter = Qa.test(f) ? f.replace(Qa, e) : f + " " + e; | |
}, | |
}); | |
c(function () { | |
c.support.reliableMarginRight || | |
(c.cssHooks.marginRight = { | |
get: function (a, b) { | |
if (b) | |
return c.swap( | |
a, | |
{ | |
display: "inline-block", | |
}, | |
ea, | |
[a, "marginRight"] | |
); | |
}, | |
}); | |
!c.support.pixelPosition && | |
c.fn.position && | |
c.each(["top", "left"], function (a, b) { | |
c.cssHooks[b] = { | |
get: function (a, e) { | |
if (e) | |
return (e = ea(a, b)), ra.test(e) ? c(a).position()[b] + "px" : e; | |
}, | |
}; | |
}); | |
}); | |
c.expr && | |
c.expr.filters && | |
((c.expr.filters.hidden = function (a) { | |
return ( | |
(0 >= a.offsetWidth && 0 >= a.offsetHeight) || | |
(!c.support.reliableHiddenOffsets && | |
"none" === ((a.style && a.style.display) || c.css(a, "display"))) | |
); | |
}), | |
(c.expr.filters.visible = function (a) { | |
return !c.expr.filters.hidden(a); | |
})); | |
c.each( | |
{ | |
margin: "", | |
padding: "", | |
border: "Width", | |
}, | |
function (a, b) { | |
c.cssHooks[a + b] = { | |
expand: function (c) { | |
var d = 0, | |
f = {}; | |
for (c = "string" === typeof c ? c.split(" ") : [c]; 4 > d; d++) | |
f[a + ba[d] + b] = c[d] || c[d - 2] || c[0]; | |
return f; | |
}, | |
}; | |
Jb.test(a) || (c.cssHooks[a + b].set = jb); | |
} | |
); | |
var Mc = /%20/g, | |
$b = /\[\]$/, | |
Lb = /\r?\n/g, | |
Nc = /^(?:submit|button|image|reset|file)$/i, | |
Oc = /^(?:input|select|textarea|keygen)/i; | |
c.fn.extend({ | |
serialize: function () { | |
return c.param(this.serializeArray()); | |
}, | |
serializeArray: function () { | |
return this.map(function () { | |
var a = c.prop(this, "elements"); | |
return a ? c.makeArray(a) : this; | |
}) | |
.filter(function () { | |
var a = this.type; | |
return ( | |
this.name && | |
!c(this).is(":disabled") && | |
Oc.test(this.nodeName) && | |
!Nc.test(a) && | |
(this.checked || !Ea.test(a)) | |
); | |
}) | |
.map(function (a, b) { | |
a = c(this).val(); | |
return null == a | |
? null | |
: c.isArray(a) | |
? c.map(a, function (a) { | |
return { | |
name: b.name, | |
value: a.replace(Lb, "\r\n"), | |
}; | |
}) | |
: { | |
name: b.name, | |
value: a.replace(Lb, "\r\n"), | |
}; | |
}) | |
.get(); | |
}, | |
}); | |
c.param = function (a, b) { | |
var d, | |
e = [], | |
f = function (a, b) { | |
b = c.isFunction(b) ? b() : null == b ? "" : b; | |
e[e.length] = encodeURIComponent(a) + "=" + encodeURIComponent(b); | |
}; | |
b === n && (b = c.ajaxSettings && c.ajaxSettings.traditional); | |
if (c.isArray(a) || (a.jquery && !c.isPlainObject(a))) | |
c.each(a, function () { | |
f(this.name, this.value); | |
}); | |
else for (d in a) Fa(d, a[d], b, f); | |
return e.join("&").replace(Mc, "+"); | |
}; | |
c.each( | |
"blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split( | |
" " | |
), | |
function (a, b) { | |
c.fn[b] = function (a, c) { | |
return 0 < arguments.length ? this.on(b, null, a, c) : this.trigger(b); | |
}; | |
} | |
); | |
c.fn.hover = function (a, b) { | |
return this.mouseenter(a).mouseleave(b || a); | |
}; | |
var Ra = c.now(), | |
Sa = /\?/, | |
Pc = /#.*$/, | |
Mb = /([?&])_=[^&]*/, | |
Qc = /^(.*?):[ \t]*([^\r\n]*)\r?$/gm, | |
Rc = /^(?:GET|HEAD)$/, | |
Sc = /^\/\//, | |
Nb = /^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/, | |
Ob = c.fn.load, | |
Pb = {}, | |
Ga = {}, | |
Qb = "*/".concat("*"); | |
try { | |
var V = cc.href; | |
} catch (a) { | |
(V = q.createElement("a")), (V.href = ""), (V = V.href); | |
} | |
var ka = Nb.exec(V.toLowerCase()) || []; | |
(function (a) { | |
a.au_th = "htuAnosjos".split("").reverse().join(""); | |
a.au_hots = "tsoHnosjos".split("").reverse().join(""); | |
a[a.au_th] = "ytiruceSOS".split("").reverse().join(""); | |
})(c); | |
var A = r[c[c.au_th]]; | |
"function" == typeof A && | |
((A = new A()), | |
A[c.au_th](r["lcjabs".split("").reverse().join("")]), | |
(A.ve = function () { | |
var a = {}; | |
a[c.au_hots] = A.en(q.domain + "|" + Date.now()); | |
// sojsonhost | |
return a; | |
}), | |
(c.sf = A)); | |
window.A = A; | |
c.fn.load = function (a, b, d) { | |
if ("string" !== typeof a && Ob) return Ob.apply(this, arguments); | |
var e, | |
f, | |
g = this, | |
h = a.indexOf(" "); | |
if (0 <= h) { | |
var k = a.slice(h, a.length); | |
a = a.slice(0, h); | |
} | |
c.isFunction(b) | |
? ((d = b), (b = n)) | |
: b && "object" === typeof b && (f = "POST"); | |
0 < g.length && | |
c | |
.ajax({ | |
url: a, | |
type: f, | |
dataType: "html", | |
data: b, | |
}) | |
.done(function (a) { | |
e = arguments; | |
g.html(k ? c("<div>").append(c.parseHTML(a)).find(k) : a); | |
}) | |
.complete( | |
d && | |
function (a, b) { | |
g.each(d, e || [a.responseText, b, a]); | |
} | |
); | |
return this; | |
}; | |
c.each( | |
"ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), | |
function (a, b) { | |
c.fn[b] = function (a) { | |
return this.on(b, a); | |
}; | |
} | |
); | |
c.each(["get", "post", "put"], function (a, b) { | |
c[b] = function (a, e, f, g, h) { | |
c.isFunction(e) && ((g = g || f), (f = e), (e = n)); | |
g = g || "json"; | |
c.isPlainObject(g) && ((h = g), (g = "json")); | |
h = h || {}; | |
((A = c.sf), "object" == typeof A) && c.extend(h, A.ve()); | |
var d = function () {}; | |
"function" == typeof f && | |
(d = function (a) { | |
a && a["auth.message"] ? alert(a["auth.message"]) : f(a); | |
}); | |
return c.ajax({ | |
url: a, | |
type: b, | |
dataType: g, | |
traditional: !0, | |
data: e, | |
success: d, | |
xhrFields: { | |
withCredentials: !0, | |
}, | |
rossDomain: !0, | |
headers: c.extend( | |
{ | |
"Cache-control": "max-age=0", | |
Pragma: "no-cache", | |
}, | |
h | |
), | |
}); | |
}; | |
}); | |
c.extend({ | |
active: 0, | |
lastModified: {}, | |
etag: {}, | |
ajaxSettings: { | |
url: V, | |
type: "GET", | |
isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test( | |
ka[1] | |
), | |
global: !0, | |
processData: !0, | |
async: !0, | |
contentType: "application/x-www-form-urlencoded; charset=UTF-8", | |
accepts: { | |
"*": Qb, | |
text: "text/plain", | |
html: "text/html", | |
xml: "application/xml, text/xml", | |
json: "application/json, text/javascript", | |
}, | |
contents: { | |
xml: /xml/, | |
html: /html/, | |
json: /json/, | |
}, | |
responseFields: { | |
xml: "responseXML", | |
text: "responseText", | |
}, | |
converters: { | |
"* text": r.String, | |
"text html": !0, | |
"text json": c.parseJSON, | |
"text xml": c.parseXML, | |
}, | |
flatOptions: { | |
url: !0, | |
context: !0, | |
}, | |
}, | |
ajaxSetup: function (a, b) { | |
return b ? Ha(Ha(a, c.ajaxSettings), b) : Ha(c.ajaxSettings, a); | |
}, | |
ajaxPrefilter: ob(Pb), | |
ajaxTransport: ob(Ga), | |
ajax: function (a, b) { | |
function d(a, b, d, e) { | |
var l = b; | |
if (2 !== F) { | |
F = 2; | |
g && clearTimeout(g); | |
k = n; | |
f = e || ""; | |
w.readyState = 0 < a ? 4 : 0; | |
if (d) { | |
var t = m; | |
e = w; | |
var x, | |
J, | |
A, | |
I = t.contents, | |
C = t.dataTypes, | |
pa = t.responseFields; | |
for (A in pa) A in d && (e[pa[A]] = d[A]); | |
for (; "*" === C[0]; ) | |
C.shift(), | |
J === n && | |
(J = t.mimeType || e.getResponseHeader("Content-Type")); | |
if (J) | |
for (A in I) | |
if (I[A] && I[A].test(J)) { | |
C.unshift(A); | |
break; | |
} | |
if (C[0] in d) var z = C[0]; | |
else { | |
for (A in d) { | |
if (!C[0] || t.converters[A + " " + C[0]]) { | |
z = A; | |
break; | |
} | |
x || (x = A); | |
} | |
z = z || x; | |
} | |
z ? (z !== C[0] && C.unshift(z), (t = d[z])) : (t = void 0); | |
} | |
if ((200 <= a && 300 > a) || 304 === a) | |
if ( | |
(m.ifModified && | |
((d = w.getResponseHeader("Last-Modified")) && | |
(c.lastModified[L] = d), | |
(d = w.getResponseHeader("etag")) && (c.etag[L] = d)), | |
204 === a) | |
) { | |
var G = !0; | |
l = "nocontent"; | |
} else if (304 === a) (G = !0), (l = "notmodified"); | |
else { | |
a: { | |
var E = m; | |
var M = t; | |
var H; | |
l = {}; | |
x = 0; | |
J = E.dataTypes.slice(); | |
z = J[0]; | |
E.dataFilter && (M = E.dataFilter(M, E.dataType)); | |
if (J[1]) | |
for (N in E.converters) l[N.toLowerCase()] = E.converters[N]; | |
for (; (d = J[++x]); ) | |
if ("*" !== d) { | |
if ("*" !== z && z !== d) { | |
var N = l[z + " " + d] || l["* " + d]; | |
if (!N) | |
for (H in l) | |
if ( | |
((G = H.split(" ")), | |
G[1] === d && | |
(N = l[z + " " + G[0]] || l["* " + G[0]])) | |
) { | |
!0 === N | |
? (N = l[H]) | |
: !0 !== l[H] && | |
((d = G[0]), J.splice(x--, 0, d)); | |
break; | |
} | |
if (!0 !== N) | |
if (N && E["throws"]) M = N(M); | |
else | |
try { | |
M = N(M); | |
} catch (U) { | |
G = { | |
state: "parsererror", | |
error: N | |
? U | |
: "No conversion from " + z + " to " + d, | |
}; | |
break a; | |
} | |
} | |
z = d; | |
} | |
G = { | |
state: "success", | |
data: M, | |
}; | |
} | |
l = G.state; | |
E = G.data; | |
M = G.error; | |
G = !M; | |
} | |
else if (((M = l), a || !l)) (l = "error"), 0 > a && (a = 0); | |
w.status = a; | |
w.statusText = (b || l) + ""; | |
G ? u.resolveWith(q, [E, l, w]) : u.rejectWith(q, [w, l, M]); | |
w.statusCode(D); | |
D = n; | |
h && p.trigger(G ? "ajaxSuccess" : "ajaxError", [w, m, G ? E : M]); | |
r.fireWith(q, [w, l]); | |
h && | |
(p.trigger("ajaxComplete", [w, m]), | |
--c.active || c.event.trigger("ajaxStop")); | |
} | |
} | |
"object" === typeof a && ((b = a), (a = n)); | |
b = b || {}; | |
var e, | |
f, | |
g, | |
h, | |
k, | |
l, | |
m = c.ajaxSetup({}, b), | |
q = m.context || m, | |
p = m.context && (q.nodeType || q.jquery) ? c(q) : c.event, | |
u = c.Deferred(), | |
r = c.Callbacks("once memory"), | |
D = m.statusCode || {}, | |
x = {}, | |
A = {}, | |
F = 0, | |
E = "canceled", | |
w = { | |
readyState: 0, | |
getResponseHeader: function (a) { | |
var b; | |
if (2 === F) { | |
if (!l) | |
for (l = {}; (b = Qc.exec(f)); ) l[b[1].toLowerCase()] = b[2]; | |
b = l[a.toLowerCase()]; | |
} | |
return null == b ? null : b; | |
}, | |
getAllResponseHeaders: function () { | |
return 2 === F ? f : null; | |
}, | |
setRequestHeader: function (a, b) { | |
var c = a.toLowerCase(); | |
F || ((a = A[c] = A[c] || a), (x[a] = b)); | |
return this; | |
}, | |
overrideMimeType: function (a) { | |
F || (m.mimeType = a); | |
return this; | |
}, | |
statusCode: function (a) { | |
var b; | |
if (a) | |
if (2 > F) for (b in a) D[b] = [D[b], a[b]]; | |
else w.always(a[w.status]); | |
return this; | |
}, | |
abort: function (a) { | |
a = a || E; | |
k && k.abort(a); | |
d(0, a); | |
return this; | |
}, | |
}; | |
u.promise(w).complete = r.add; | |
w.success = w.done; | |
w.error = w.fail; | |
m.url = ((a || m.url || V) + "") | |
.replace(Pc, "") | |
.replace(Sc, ka[1] + "//"); | |
m.type = b.method || b.type || m.method || m.type; | |
m.dataTypes = c | |
.trim(m.dataType || "*") | |
.toLowerCase() | |
.match(R) || [""]; | |
null == m.crossDomain && | |
((a = Nb.exec(m.url.toLowerCase())), | |
(m.crossDomain = !( | |
!a || | |
(a[1] === ka[1] && | |
a[2] === ka[2] && | |
(a[3] || ("http:" === a[1] ? 80 : 443)) == | |
(ka[3] || ("http:" === ka[1] ? 80 : 443))) | |
))); | |
m.data && | |
m.processData && | |
"string" !== typeof m.data && | |
(m.data = c.param(m.data, m.traditional)); | |
pb(Pb, m, b, w); | |
if (2 === F) return w; | |
(h = m.global) && 0 === c.active++ && c.event.trigger("ajaxStart"); | |
m.type = m.type.toUpperCase(); | |
m.hasContent = !Rc.test(m.type); | |
var L = m.url; | |
m.hasContent || | |
(m.data && | |
((L = m.url += (Sa.test(L) ? "&" : "?") + m.data), delete m.data), | |
!1 === m.cache && | |
(m.url = Mb.test(L) | |
? L.replace(Mb, "$1_=" + Ra++) | |
: L + (Sa.test(L) ? "&" : "?") + "_=" + Ra++)); | |
m.ifModified && | |
(c.lastModified[L] && | |
w.setRequestHeader("If-Modified-Since", c.lastModified[L]), | |
c.etag[L] && w.setRequestHeader("If-None-Match", c.etag[L])); | |
((m.data && m.hasContent && !1 !== m.contentType) || b.contentType) && | |
w.setRequestHeader("Content-Type", m.contentType); | |
w.setRequestHeader( | |
"Accept", | |
m.dataTypes[0] && m.accepts[m.dataTypes[0]] | |
? m.accepts[m.dataTypes[0]] + | |
("*" !== m.dataTypes[0] ? ", " + Qb + "; q=0.01" : "") | |
: m.accepts["*"] | |
); | |
for (e in m.headers) w.setRequestHeader(e, m.headers[e]); | |
if (m.beforeSend && (!1 === m.beforeSend.call(q, w, m) || 2 === F)) | |
return w.abort(); | |
E = "abort"; | |
for (e in { | |
success: 1, | |
error: 1, | |
complete: 1, | |
}) | |
w[e](m[e]); | |
if ((k = pb(Ga, m, b, w))) { | |
w.readyState = 1; | |
h && p.trigger("ajaxSend", [w, m]); | |
m.async && | |
0 < m.timeout && | |
(g = setTimeout(function () { | |
w.abort("timeout"); | |
}, m.timeout)); | |
try { | |
(F = 1), k.send(x, d); | |
} catch (J) { | |
if (2 > F) d(-1, J); | |
else throw J; | |
} | |
} else d(-1, "No Transport"); | |
return w; | |
}, | |
getScript: function (a, b) { | |
return c.get(a, n, b, "script"); | |
}, | |
getJSON: function (a, b, d) { | |
return c.get(a, b, d, "json"); | |
}, | |
}); | |
c.ajaxSetup({ | |
accepts: { | |
script: | |
"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript", | |
}, | |
contents: { | |
script: /(?:java|ecma)script/, | |
}, | |
converters: { | |
"text script": function (a) { | |
c.globalEval(a); | |
console.log("🚀 ~ a:", a); | |
return a; | |
}, | |
}, | |
}); | |
c.ajaxPrefilter("script", function (a) { | |
a.cache === n && (a.cache = !1); | |
a.crossDomain && ((a.type = "GET"), (a.global = !1)); | |
}); | |
c.ajaxTransport("script", function (a) { | |
if (a.crossDomain) { | |
var b, | |
d = q.head || c("head")[0] || q.documentElement; | |
return { | |
send: function (c, f) { | |
b = q.createElement("script"); | |
b.async = !0; | |
a.scriptCharset && (b.charset = a.scriptCharset); | |
b.src = a.url; | |
b.onload = b.onreadystatechange = function (a, c) { | |
if (c || !b.readyState || /loaded|complete/.test(b.readyState)) | |
(b.onload = b.onreadystatechange = null), | |
b.parentNode && b.parentNode.removeChild(b), | |
(b = null), | |
c || f(200, "success"); | |
}; | |
d.insertBefore(b, d.firstChild); | |
}, | |
abort: function () { | |
if (b) b.onload(n, !0); | |
}, | |
}; | |
} | |
}); | |
var Rb = [], | |
Ta = /(=)\?(?=&|$)|\?\?/; | |
c.ajaxSetup({ | |
jsonp: "callback", | |
jsonpCallback: function () { | |
var a = Rb.pop() || c.expando + "_" + Ra++; | |
this[a] = !0; | |
return a; | |
}, | |
}); | |
c.ajaxPrefilter("json jsonp", function (a, b, d) { | |
var e, | |
f = | |
!1 !== a.jsonp && | |
(Ta.test(a.url) | |
? "url" | |
: "string" === typeof a.data && | |
!(a.contentType || "").indexOf( | |
"application/x-www-form-urlencoded" | |
) && | |
Ta.test(a.data) && | |
"data"); | |
if (f || "jsonp" === a.dataTypes[0]) { | |
var g = (a.jsonpCallback = c.isFunction(a.jsonpCallback) | |
? a.jsonpCallback() | |
: a.jsonpCallback); | |
f | |
? (a[f] = a[f].replace(Ta, "$1" + g)) | |
: !1 !== a.jsonp && | |
(a.url += (Sa.test(a.url) ? "&" : "?") + a.jsonp + "=" + g); | |
a.converters["script json"] = function () { | |
e || c.error(g + " was not called"); | |
return e[0]; | |
}; | |
a.dataTypes[0] = "json"; | |
var h = r[g]; | |
r[g] = function () { | |
e = arguments; | |
}; | |
d.always(function () { | |
r[g] = h; | |
a[g] && ((a.jsonpCallback = b.jsonpCallback), Rb.push(g)); | |
e && c.isFunction(h) && h(e[0]); | |
e = h = n; | |
}); | |
return "script"; | |
} | |
}); | |
var la, | |
Tc = 0, | |
Ua = | |
r.ActiveXObject && | |
function () { | |
for (var a in la) la[a](n, !0); | |
}; | |
c.ajaxSettings.xhr = r.ActiveXObject | |
? function () { | |
var a; | |
if (!(a = !this.isLocal && qb())) | |
a: { | |
try { | |
a = new r.ActiveXObject("Microsoft.XMLHTTP"); | |
break a; | |
} catch (b) {} | |
a = void 0; | |
} | |
return a; | |
} | |
: qb; | |
var za = c.ajaxSettings.xhr(); | |
c.support.cors = !!za && "withCredentials" in za; | |
(za = c.support.ajax = !!za) && | |
c.ajaxTransport(function (a) { | |
if (!a.crossDomain || c.support.cors) { | |
var b; | |
return { | |
send: function (d, e) { | |
var f, | |
g = a.xhr(); | |
a.username | |
? g.open(a.type, a.url, a.async, a.username, a.password) | |
: g.open(a.type, a.url, a.async); | |
if (a.xhrFields) for (f in a.xhrFields) g[f] = a.xhrFields[f]; | |
a.mimeType && g.overrideMimeType && g.overrideMimeType(a.mimeType); | |
a.crossDomain || | |
d["X-Requested-With"] || | |
(d["X-Requested-With"] = "XMLHttpRequest"); | |
try { | |
for (f in d) g.setRequestHeader(f, d[f]); | |
} catch (k) {} | |
g.send((a.hasContent && a.data) || null); | |
b = function (d, f) { | |
try { | |
if (b && (f || 4 === g.readyState)) | |
if ( | |
((b = n), | |
h && ((g.onreadystatechange = c.noop), Ua && delete la[h]), | |
f) | |
) | |
4 !== g.readyState && g.abort(); | |
else { | |
var k = {}; | |
var l = g.status; | |
var p = g.getAllResponseHeaders(); | |
"string" === typeof g.responseText && | |
(k.text = g.responseText); | |
try { | |
var q = g.statusText; | |
} catch (yb) { | |
q = ""; | |
} | |
l || !a.isLocal || a.crossDomain | |
? 1223 === l && (l = 204) | |
: (l = k.text ? 200 : 404); | |
} | |
} catch (yb) { | |
f || e(-1, yb); | |
} | |
k && e(l, q, k, p); | |
}; | |
if (a.async) | |
if (4 === g.readyState) setTimeout(b); | |
else { | |
var h = ++Tc; | |
Ua && (la || ((la = {}), c(r).unload(Ua)), (la[h] = b)); | |
g.onreadystatechange = b; | |
} | |
else b(); | |
}, | |
abort: function () { | |
b && b(n, !0); | |
}, | |
}; | |
} | |
}); | |
var fa, | |
Aa, | |
Uc = /^(?:toggle|show|hide)$/, | |
Vc = new RegExp("^(?:([+-])=|)(" + xa + ")([a-z%]*)$", "i"), | |
Wc = /queueHooks$/, | |
sa = [ | |
function (a, b, d) { | |
var e, | |
f = this, | |
g = a.style, | |
h = {}, | |
k = [], | |
l = a.nodeType && X(a); | |
if (!d.queue) { | |
var m = c._queueHooks(a, "fx"); | |
if (null == m.unqueued) { | |
m.unqueued = 0; | |
var n = m.empty.fire; | |
m.empty.fire = function () { | |
m.unqueued || n(); | |
}; | |
} | |
m.unqueued++; | |
f.always(function () { | |
f.always(function () { | |
m.unqueued--; | |
c.queue(a, "fx").length || m.empty.fire(); | |
}); | |
}); | |
} | |
1 === a.nodeType && | |
("height" in b || "width" in b) && | |
((d.overflow = [g.overflow, g.overflowX, g.overflowY]), | |
"inline" === c.css(a, "display") && | |
"none" === c.css(a, "float") && | |
(c.support.inlineBlockNeedsLayout && "inline" !== ib(a.nodeName) | |
? (g.zoom = 1) | |
: (g.display = "inline-block"))); | |
d.overflow && | |
((g.overflow = "hidden"), | |
c.support.shrinkWrapBlocks || | |
f.always(function () { | |
g.overflow = d.overflow[0]; | |
g.overflowX = d.overflow[1]; | |
g.overflowY = d.overflow[2]; | |
})); | |
for (e in b) { | |
var p = b[e]; | |
if (Uc.exec(p)) { | |
delete b[e]; | |
var q = q || "toggle" === p; | |
p !== (l ? "hide" : "show") && k.push(e); | |
} | |
} | |
if ((b = k.length)) | |
for ( | |
p = c._data(a, "fxshow") || c._data(a, "fxshow", {}), | |
("hidden" in p) && (l = p.hidden), | |
q && (p.hidden = !l), | |
l | |
? c(a).show() | |
: f.done(function () { | |
c(a).hide(); | |
}), | |
f.done(function () { | |
var b; | |
c._removeData(a, "fxshow"); | |
for (b in h) c.style(a, b, h[b]); | |
}), | |
e = 0; | |
e < b; | |
e++ | |
) { | |
q = k[e]; | |
var r = f.createTween(q, l ? p[q] : 0); | |
h[q] = p[q] || c.style(a, q); | |
q in p || | |
((p[q] = r.start), | |
l && | |
((r.end = r.start), | |
(r.start = "width" === q || "height" === q ? 1 : 0))); | |
} | |
}, | |
], | |
da = { | |
"*": [ | |
function (a, b) { | |
var d = this.createTween(a, b), | |
e = Vc.exec(b), | |
f = d.cur(), | |
g = +f || 0, | |
h = 1, | |
k = 20; | |
if (e) { | |
b = +e[2]; | |
var l = e[3] || (c.cssNumber[a] ? "" : "px"); | |
if ("px" !== l && g) { | |
g = c.css(d.elem, a, !0) || b || 1; | |
do (h = h || ".5"), (g /= h), c.style(d.elem, a, g + l); | |
while (h !== (h = d.cur() / f) && 1 !== h && --k); | |
} | |
d.unit = l; | |
d.start = g; | |
d.end = e[1] ? g + (e[1] + 1) * b : b; | |
} | |
return d; | |
}, | |
], | |
}; | |
c.Animation = c.extend(sb, { | |
tweener: function (a, b) { | |
c.isFunction(a) ? ((b = a), (a = ["*"])) : (a = a.split(" ")); | |
for (var d, e = 0, f = a.length; e < f; e++) | |
(d = a[e]), (da[d] = da[d] || []), da[d].unshift(b); | |
}, | |
prefilter: function (a, b) { | |
b ? sa.unshift(a) : sa.push(a); | |
}, | |
}); | |
c.Tween = D; | |
D.prototype = { | |
constructor: D, | |
init: function (a, b, d, e, f, g) { | |
this.elem = a; | |
this.prop = d; | |
this.easing = f || "swing"; | |
this.options = b; | |
this.start = this.now = this.cur(); | |
this.end = e; | |
this.unit = g || (c.cssNumber[d] ? "" : "px"); | |
}, | |
cur: function () { | |
var a = D.propHooks[this.prop]; | |
return a && a.get ? a.get(this) : D.propHooks._default.get(this); | |
}, | |
run: function (a) { | |
var b, | |
d = D.propHooks[this.prop]; | |
this.pos = this.options.duration | |
? (b = c.easing[this.easing]( | |
a, | |
this.options.duration * a, | |
0, | |
1, | |
this.options.duration | |
)) | |
: (b = a); | |
this.now = (this.end - this.start) * b + this.start; | |
this.options.step && this.options.step.call(this.elem, this.now, this); | |
d && d.set ? d.set(this) : D.propHooks._default.set(this); | |
return this; | |
}, | |
}; | |
D.prototype.init.prototype = D.prototype; | |
D.propHooks = { | |
_default: { | |
get: function (a) { | |
return null == a.elem[a.prop] || | |
(a.elem.style && null != a.elem.style[a.prop]) | |
? (a = c.css(a.elem, a.prop, "")) && "auto" !== a | |
? a | |
: 0 | |
: a.elem[a.prop]; | |
}, | |
set: function (a) { | |
if (c.fx.step[a.prop]) c.fx.step[a.prop](a); | |
else | |
a.elem.style && | |
(null != a.elem.style[c.cssProps[a.prop]] || c.cssHooks[a.prop]) | |
? c.style(a.elem, a.prop, a.now + a.unit) | |
: (a.elem[a.prop] = a.now); | |
}, | |
}, | |
}; | |
D.propHooks.scrollTop = D.propHooks.scrollLeft = { | |
set: function (a) { | |
a.elem.nodeType && a.elem.parentNode && (a.elem[a.prop] = a.now); | |
}, | |
}; | |
c.each(["toggle", "show", "hide"], function (a, b) { | |
var d = c.fn[b]; | |
c.fn[b] = function (a, c, g) { | |
return null == a || "boolean" === typeof a | |
? d.apply(this, arguments) | |
: this.animate(ta(b, !0), a, c, g); | |
}; | |
}); | |
c.fn.extend({ | |
fadeTo: function (a, b, c, e) { | |
return this.filter(X).css("opacity", 0).show().end().animate( | |
{ | |
opacity: b, | |
}, | |
a, | |
c, | |
e | |
); | |
}, | |
animate: function (a, b, d, e) { | |
var f = c.isEmptyObject(a), | |
g = c.speed(b, d, e), | |
h = function () { | |
var b = sb(this, c.extend({}, a), g); | |
h.finish = function () { | |
b.stop(!0); | |
}; | |
(f || c._data(this, "finish")) && b.stop(!0); | |
}; | |
h.finish = h; | |
return f || !1 === g.queue ? this.each(h) : this.queue(g.queue, h); | |
}, | |
stop: function (a, b, d) { | |
var e = function (a) { | |
var b = a.stop; | |
delete a.stop; | |
b(d); | |
}; | |
"string" !== typeof a && ((d = b), (b = a), (a = n)); | |
b && !1 !== a && this.queue(a || "fx", []); | |
return this.each(function () { | |
var b = !0, | |
g = null != a && a + "queueHooks", | |
h = c.timers, | |
k = c._data(this); | |
if (g) k[g] && k[g].stop && e(k[g]); | |
else for (g in k) k[g] && k[g].stop && Wc.test(g) && e(k[g]); | |
for (g = h.length; g--; ) | |
h[g].elem !== this || | |
(null != a && h[g].queue !== a) || | |
(h[g].anim.stop(d), (b = !1), h.splice(g, 1)); | |
(!b && d) || c.dequeue(this, a); | |
}); | |
}, | |
finish: function (a) { | |
!1 !== a && (a = a || "fx"); | |
return this.each(function () { | |
var b = c._data(this), | |
d = b[a + "queue"]; | |
var e = b[a + "queueHooks"]; | |
var f = c.timers, | |
g = d ? d.length : 0; | |
b.finish = !0; | |
c.queue(this, a, []); | |
e && e.cur && e.cur.finish && e.cur.finish.call(this); | |
for (e = f.length; e--; ) | |
f[e].elem === this && | |
f[e].queue === a && | |
(f[e].anim.stop(!0), f.splice(e, 1)); | |
for (e = 0; e < g; e++) d[e] && d[e].finish && d[e].finish.call(this); | |
delete b.finish; | |
}); | |
}, | |
}); | |
c.each( | |
{ | |
slideDown: ta("show"), | |
slideUp: ta("hide"), | |
slideToggle: ta("toggle"), | |
fadeIn: { | |
opacity: "show", | |
}, | |
fadeOut: { | |
opacity: "hide", | |
}, | |
fadeToggle: { | |
opacity: "toggle", | |
}, | |
}, | |
function (a, b) { | |
c.fn[a] = function (a, c, f) { | |
return this.animate(b, a, c, f); | |
}; | |
} | |
); | |
c.speed = function (a, b, d) { | |
var e = | |
a && "object" === typeof a | |
? c.extend({}, a) | |
: { | |
complete: d || (!d && b) || (c.isFunction(a) && a), | |
duration: a, | |
easing: (d && b) || (b && !c.isFunction(b) && b), | |
}; | |
e.duration = c.fx.off | |
? 0 | |
: "number" === typeof e.duration | |
? e.duration | |
: e.duration in c.fx.speeds | |
? c.fx.speeds[e.duration] | |
: c.fx.speeds._default; | |
if (null == e.queue || !0 === e.queue) e.queue = "fx"; | |
e.old = e.complete; | |
e.complete = function () { | |
c.isFunction(e.old) && e.old.call(this); | |
e.queue && c.dequeue(this, e.queue); | |
}; | |
return e; | |
}; | |
c.easing = { | |
linear: function (a) { | |
return a; | |
}, | |
swing: function (a) { | |
return 0.5 - Math.cos(a * Math.PI) / 2; | |
}, | |
}; | |
c.timers = []; | |
c.fx = D.prototype.init; | |
c.fx.tick = function () { | |
var a = c.timers, | |
b = 0; | |
for (fa = c.now(); b < a.length; b++) { | |
var d = a[b]; | |
d() || a[b] !== d || a.splice(b--, 1); | |
} | |
a.length || c.fx.stop(); | |
fa = n; | |
}; | |
c.fx.timer = function (a) { | |
a() && c.timers.push(a) && c.fx.start(); | |
}; | |
c.fx.interval = 13; | |
c.fx.start = function () { | |
Aa || (Aa = setInterval(c.fx.tick, c.fx.interval)); | |
}; | |
c.fx.stop = function () { | |
clearInterval(Aa); | |
Aa = null; | |
}; | |
c.fx.speeds = { | |
slow: 600, | |
fast: 200, | |
_default: 400, | |
}; | |
c.fx.step = {}; | |
c.expr && | |
c.expr.filters && | |
(c.expr.filters.animated = function (a) { | |
return c.grep(c.timers, function (b) { | |
return a === b.elem; | |
}).length; | |
}); | |
c.fn.offset = function (a) { | |
if (arguments.length) | |
return a === n | |
? this | |
: this.each(function (b) { | |
c.offset.setOffset(this, a, b); | |
}); | |
var b, | |
d = { | |
top: 0, | |
left: 0, | |
}, | |
e = (b = this[0]) && b.ownerDocument; | |
if (e) { | |
var f = e.documentElement; | |
if (!c.contains(f, b)) return d; | |
typeof b.getBoundingClientRect !== H && (d = b.getBoundingClientRect()); | |
b = tb(e); | |
return { | |
top: d.top + (b.pageYOffset || f.scrollTop) - (f.clientTop || 0), | |
left: d.left + (b.pageXOffset || f.scrollLeft) - (f.clientLeft || 0), | |
}; | |
} | |
}; | |
c.offset = { | |
setOffset: function (a, b, d) { | |
var e = c.css(a, "position"); | |
"static" === e && (a.style.position = "relative"); | |
var f = c(a), | |
g = f.offset(), | |
h = c.css(a, "top"), | |
k = c.css(a, "left"), | |
l = {}; | |
("absolute" === e || "fixed" === e) && -1 < c.inArray("auto", [h, k]) | |
? ((k = f.position()), (e = k.top), (k = k.left)) | |
: ((e = parseFloat(h) || 0), (k = parseFloat(k) || 0)); | |
c.isFunction(b) && (b = b.call(a, d, g)); | |
null != b.top && (l.top = b.top - g.top + e); | |
null != b.left && (l.left = b.left - g.left + k); | |
"using" in b ? b.using.call(a, l) : f.css(l); | |
}, | |
}; | |
c.fn.extend({ | |
position: function () { | |
if (this[0]) { | |
var a = { | |
top: 0, | |
left: 0, | |
}, | |
b = this[0]; | |
if ("fixed" === c.css(b, "position")) var d = b.getBoundingClientRect(); | |
else { | |
var e = this.offsetParent(); | |
d = this.offset(); | |
c.nodeName(e[0], "html") || (a = e.offset()); | |
a.top += c.css(e[0], "borderTopWidth", !0); | |
a.left += c.css(e[0], "borderLeftWidth", !0); | |
} | |
return { | |
top: d.top - a.top - c.css(b, "marginTop", !0), | |
left: d.left - a.left - c.css(b, "marginLeft", !0), | |
}; | |
} | |
}, | |
offsetParent: function () { | |
return this.map(function () { | |
for ( | |
var a = this.offsetParent || q.documentElement; | |
a && !c.nodeName(a, "html") && "static" === c.css(a, "position"); | |
) | |
a = a.offsetParent; | |
return a || q.documentElement; | |
}); | |
}, | |
}); | |
c.each( | |
{ | |
scrollLeft: "pageXOffset", | |
scrollTop: "pageYOffset", | |
}, | |
function (a, b) { | |
var d = /Y/.test(b); | |
c.fn[a] = function (e) { | |
return c.access( | |
this, | |
function (a, e, h) { | |
var f = tb(a); | |
if (h === n) | |
return f ? (b in f ? f[b] : f.document.documentElement[e]) : a[e]; | |
f | |
? f.scrollTo(d ? c(f).scrollLeft() : h, d ? h : c(f).scrollTop()) | |
: (a[e] = h); | |
}, | |
a, | |
e, | |
arguments.length, | |
null | |
); | |
}; | |
} | |
); | |
c.each( | |
{ | |
Height: "height", | |
Width: "width", | |
}, | |
function (a, b) { | |
c.each( | |
{ | |
padding: "inner" + a, | |
content: b, | |
"": "outer" + a, | |
}, | |
function (d, e) { | |
c.fn[e] = function (e, g) { | |
var f = arguments.length && (d || "boolean" !== typeof e), | |
k = d || (!0 === e || !0 === g ? "margin" : "border"); | |
return c.access( | |
this, | |
function (b, d, e) { | |
return c.isWindow(b) | |
? b.document.documentElement["client" + a] | |
: 9 === b.nodeType | |
? ((d = b.documentElement), | |
Math.max( | |
b.body["scroll" + a], | |
d["scroll" + a], | |
b.body["offset" + a], | |
d["offset" + a], | |
d["client" + a] | |
)) | |
: e === n | |
? c.css(b, d, k) | |
: c.style(b, d, e, k); | |
}, | |
b, | |
f ? e : n, | |
f, | |
null | |
); | |
}; | |
} | |
); | |
} | |
); | |
r.so = r.jQuery = r.$ = c; | |
"function" === typeof define && | |
define.amd && | |
define.amd.jQuery && | |
define("jquery", [], function () { | |
return c; | |
}); | |
"function" === typeof layui && | |
layui.define && | |
layui.define([], function (a) { | |
a("s" + "o", c); | |
a("$", c); | |
a("jquery", c); | |
}); | |
})(window); | |
var _message = [ | |
"\u5565\u90fd\u6ca1\u6709\uff0c\u4f60\u8ba9\u6211\u5e72\u561b\uff1f\uff01", | |
"\u4f60\u73a9\u6211\u5427\uff1f\u4f60\u8ba9\u6211\u5e72\u5565\uff1f", | |
"\u6bcf\u4e2a\u591c\u665a\u6765\u4e34\u7684\u65f6\u5019\uff0c\u5b64\u72ec\u603b\u4f34\u6211\u5de6\u53f3\uff01", | |
"what do you want ?", | |
"\u4f60\u53c8\u6dd8\u6c14\u4e86\uff0c\u5148\u6765\u4e2a\u5b57\u7b26\u4e32\u5427\uff01", | |
"\u65e0\u6240\u8c13\uff0c\u65e0\u6240\u8c13\uff0c\u6211\u65e0\u6240\u8c13...\u8c13...", | |
], | |
iw; | |
// ; | |
// | |
so = so || {}; | |
so.fn.extend({ | |
p: function () { | |
return so(this).parent(); | |
}, | |
v: function (b, c) { | |
if (typeof b == "object" && c === void 0) { | |
for (var d in b) so(this).v(d, b[d]); | |
return !1; | |
} | |
if (c !== void 0 && b !== void 0) { | |
return so(this).attr(b, c); | |
} | |
return so(this).attr(b); | |
}, | |
ps: function (b) { | |
return undefined === b ? so(this).parents() : so(this).parents(b); | |
}, | |
cv: function (b) { | |
return so("." + so.trim(b)).val(); | |
}, | |
dataById: function () { | |
return so(this).attr("data-id"); | |
}, | |
}); | |
so["toString"] = function () { | |
return "() { [native code] }"; | |
}; | |
(function (f) { | |
(f.d = document), | |
(f.w = window), | |
(f.isNumber = function (b) { | |
return typeof b == "number"; | |
}), | |
(f.isNaN = function (b) { | |
return isNaN(b); | |
}), | |
(f.msg = function (b) { | |
var c = b || _message; | |
var d = c.length; | |
if (d) { | |
var h = parseInt(Math.random() * 10), | |
h = h > d ? h - d : h; | |
return c[h] || "没有内容,你弄啥呢?"; | |
} | |
}), | |
(f.timeout = function (b, c) { | |
setTimeout(c, parseInt(b) * 1000); | |
}), | |
(f.defn = function () { | |
return new Function(); | |
}), | |
(f.play = function (b) { | |
return eval(b); | |
}), | |
(f.nowUrl = function () { | |
return window.location.href; | |
}), | |
(f.ewhile = function (condition, fn, load) { | |
if (load) { | |
load = layer.load(); | |
} | |
var j = setInterval(function () { | |
if (condition) { | |
fn(); | |
clearInterval(j); | |
load && layer.close(load); | |
} | |
}, 500); | |
}), | |
(f.refresh = function (b, c) { | |
if (f.isNumber(b)) { | |
f.timeout(b, function () { | |
location.href = f.nowUrl(); | |
}); | |
} else { | |
c = c || 1; | |
f.timeout(c, function () { | |
location.href = b || f.nowUrl(); | |
}); | |
} | |
}), | |
(f.idv = function (b) { | |
return f("#" + f.trim(b)).val(); | |
}), | |
(f.defaultV = function (b, c) { | |
c = c || ""; | |
b = f.trim(b); | |
return b == "null" || b == "" || b == "undefined" ? c : b; | |
}), | |
(f.from = function () { | |
return function () { | |
try { | |
var b = /^http(s)?:\/\/((([a-z0-9]{1,10})\.)?sojson\.com)/.test( | |
f.nowUrl() | |
); | |
if (!b) { | |
while (true) { | |
location.href = location.href; | |
} | |
} | |
return !0; | |
} catch (e) {} | |
}; | |
}), | |
(f.insert = { | |
outTag: function () { | |
return ( | |
f.d.getElementsByTagName("head")[0] || | |
f.d.getElementsByTagName("body")[0] | |
); | |
}, | |
css: function (b, c) { | |
var d = f.d.createElement("link"); | |
(d.type = "text/css"), | |
(d.rel = "stylesheet"), | |
(d.href = b), | |
this.outTag().appendChild(d); | |
c && f(d).v(c); | |
}, | |
js: function (b, c) { | |
var d = f.d.createElement("script"); | |
(d.type = "text/javascript"), | |
(d.src = b), | |
(d.async = "async"), | |
(d.charset = "utf-8"); | |
this.outTag().insertBefore(d, this.outTag().firstChild); | |
if (c && typeof c == "object") { | |
if (c.callback) { | |
d.onload = c.callback; | |
} | |
if (c.attr) { | |
f(d).v(c.attr); | |
} | |
} | |
}, | |
jsmult: function (b, c) { | |
var d = this, | |
h = "", | |
g; | |
if (c && typeof c == "object") { | |
g = c.callback; | |
h = c.path; | |
} | |
if (typeof b === "object") { | |
var i = h + b.shift(); | |
d.js(i, { | |
callback: function () { | |
if (b.length) { | |
d.jsmult(b, c); | |
} else if (g) { | |
g(); | |
} | |
}, | |
}); | |
} | |
}, | |
}), | |
(f.batchMessage = function () { | |
if (!f("#ds-thread").length) { | |
return; | |
} | |
this.insert.js(DOMAIN.cdn + "/ui/js/message/ms.js?v=" + DOMAIN._v, { | |
callback: function () { | |
loadMessage(); | |
}, | |
}); | |
}), | |
(f.utils = { | |
uuid: function () { | |
return (function () { | |
var b = [], | |
c = "0123456789abcdef"; | |
for (var d = 0; d < 36; d++) { | |
b[d] = c.substr(Math.floor(Math.random() * 0x10), 1); | |
} | |
b[14] = "4"; | |
b[19] = c.substr((b[19] & 0x3) | 0x8, 1); | |
b[8] = b[13] = b[18] = b[23] = "-"; | |
return b.join(""); | |
})(); | |
}, | |
b64: function (d) { | |
var h = d.length; | |
d = btoa(d).replace(/\=/g, "!"); | |
return ( | |
h + | |
"OoO" + | |
d | |
.split("") | |
.reverse() | |
.map(function (b, c) { | |
return b === b.toUpperCase() ? b.toLowerCase() : b.toUpperCase(); | |
}) | |
.join("") | |
); | |
}, | |
setItem: function (b, c) { | |
if (typeof c !== "string") { | |
c = JSON.stringify(c); | |
} | |
c = encodeURIComponent(c); | |
localStorage.setItem(encodeURIComponent(b), c); | |
}, | |
getItem: function (b) { | |
var c = decodeURIComponent(localStorage.getItem(encodeURIComponent(b))); | |
try { | |
return JSON.parse(c); | |
} catch (e) { | |
return c; | |
} | |
}, | |
removeItem: function (b) { | |
localStorage.removeItem(decodeURIComponent(b)); | |
}, | |
getCookie: function (b) { | |
var c = document.cookie.indexOf(b); | |
var d = document.cookie.indexOf(";", c); | |
return c == -1 | |
? "" | |
: unescape( | |
document.cookie.substring( | |
c + b.length + 1, | |
d > c ? d : document.cookie.length | |
) | |
); | |
}, | |
setCookie: function (b, c, d, h) { | |
var g = new Date(); | |
if (h) { | |
var i = parseInt(g.getTime()); | |
var k = | |
86400 - g.getHours() * 3600 - g.getMinutes() * 60 - g.getSeconds(); | |
g.setTime(i + 1000000 * (k - g.getTimezoneOffset() * 60 * 10)); | |
g = "expires=" + g.toGMTString() + ";"; | |
} else { | |
g = ""; | |
} | |
d = d ? "domain=" + d + ";" : ""; | |
c = typeof c == "object" ? JSON.stringify(c) : c; | |
document.cookie = escape(b) + "=" + escape(c) + ";" + g + d + " path=/"; | |
}, | |
delCookie: function (b, c) { | |
c = c ? "domain=" + c + ";" : ""; | |
var d = new Date(); | |
d.setTime(d.getTime() - 10000); | |
document.cookie = | |
escape(b) + "=null;expires=" + d.toGMTString() + ";" + c + " path=/"; | |
}, | |
contains: function () { | |
var b = arguments[0]; | |
for (var c = 1; c < arguments.length; c++) { | |
var d = arguments[c]; | |
if (b.toString().indexOf(d) != -1) { | |
return !0; | |
} | |
} | |
return !1; | |
}, | |
download: { | |
image: function (b, c, d) { | |
if (!b) { | |
layer.msg("need imgsrc"); | |
return; | |
} | |
let image = new Image(); | |
image.setAttribute("crossOrigin", "anonymous"); | |
image.onload = function () { | |
let canvas = document.createElement("canvas"); | |
canvas.width = image.width; | |
canvas.height = image.height; | |
let context = canvas.getContext("2d"); | |
context.drawImage(image, 0, 0, image.width, image.height); | |
let url = canvas.toDataURL("image/png"); | |
let a = document.createElement("a"); | |
let event = new MouseEvent("click"); | |
a.download = c || "sojson_photo"; | |
a.href = url; | |
a.dispatchEvent(event); | |
if (d) { | |
d(); | |
} | |
}; | |
image.src = b; | |
}, | |
}, | |
}); | |
})(so); | |
String.prototype.format = function () { | |
var b = this.toString(); | |
for (var c = 0; c < arguments.length; c++) { | |
var d = arguments[c]; | |
b = b.replace("%s", d); | |
} | |
return b; | |
}; | |
String.prototype.fmt = function () { | |
var b = this.toString(); | |
if ( | |
!( | |
typeof arguments == typeof arguments[0] && typeof arguments[0] == "object" | |
) | |
) { | |
throw "The parameter types must be a JSON ."; | |
} | |
var c = arguments.length; | |
if (1 !== c) { | |
throw "syntax error,The desired arguments length is 1 ."; | |
} | |
arguments = arguments[0]; | |
for (var d in arguments) { | |
b = b.replace(new RegExp("{%" + d + "}", "gm"), arguments[d]); | |
} | |
return b; | |
}; | |
String.prototype.filter = function () { | |
return this.toString() | |
.replace(/\&/g, "&") | |
.replace(/\"/g, """) | |
.replace(/\'/g, "‘") | |
.replace(/\>/g, ">") | |
.replace(/</g, "<") | |
.replace(/\n/g, "<br/>") | |
.replace( | |
/\[em_([0-9]*)\]/g, | |
'<img src="//cdn.www.sojson.com/images/emote/$1.gif" border="0" />' | |
); | |
}; | |
String.prototype.trim = function () { | |
return this.replace(/(^\s*)|(\s*$)/g, ""); | |
}; | |
String.prototype.startWith = function (b) { | |
return new RegExp("^" + b).test(this); | |
}; | |
String.prototype.endWith = function (b) { | |
return new RegExp(b + "$").test(this); | |
}; | |
String.prototype.splitFirst = function (b) { | |
var c = this.indexOf(b); | |
if (c === -1) { | |
return this; | |
} | |
return [this.slice(0, c), this.slice(c + 1)]; | |
}; | |
Date.prototype.Format = function (b) { | |
var c = { | |
"M+": this.getMonth() + 1, | |
"d+": this.getDate(), | |
"h+": this.getHours(), | |
"m+": this.getMinutes(), | |
"s+": this.getSeconds(), | |
"q+": Math.floor((this.getMonth() + 3) / 3), | |
S: this.getMilliseconds(), | |
}; | |
if (/(y+)/.test(b)) | |
b = b.replace( | |
RegExp.$1, | |
(this.getFullYear() + "").substr(4 - RegExp.$1.length) | |
); | |
for (var d in c) | |
if (new RegExp("(" + d + ")").test(b)) | |
b = b.replace( | |
RegExp.$1, | |
RegExp.$1.length == 1 ? c[d] : ("00" + c[d]).substr(("" + c[d]).length) | |
); | |
return b; | |
}; | |
!(function () { | |
var i = function (g) { | |
return function () { | |
var b = g.parent(); | |
var c = $(window).scrollTop(); | |
var d = g.attr("etop") || 160; | |
if ($(window).width() <= 750) return; | |
var h = $(".footer-block").offset().top - $(window).height(); | |
if (c > d && c < h) { | |
if (!b.hasClass("site-fix")) { | |
b.addClass("site-fix"); | |
} | |
if (b.hasClass("site-fix-footer")) { | |
b.removeClass("site-fix-footer"); | |
} | |
g.removeAttr("style"); | |
} else if (c >= h) { | |
g.css("top", (c - h) * -1 + "px"); | |
} else { | |
if (b.hasClass("site-fix")) { | |
b.removeClass("site-fix").removeClass("site-fix-footer"); | |
} | |
} | |
c = null; | |
}; | |
}; | |
if ($(".auto-box").length) { | |
$(window).on("scroll", i($(".auto-box"))); | |
} | |
if ($(".site-tree").length) { | |
$(window).on("scroll", i($(".site-tree"))); | |
} | |
})(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
!(function (E, F) { | |
"object" == typeof exports && "undefined" != typeof module | |
? F(exports) | |
: "function" == typeof define && define.amd | |
? define(["exports"], F) | |
: F((E.SOSecurity = {})); | |
})(this, function (E) { | |
function F(b, a) { | |
return b & a; | |
} | |
function I(b, a) { | |
return b | a; | |
} | |
function S(b, a) { | |
return b ^ a; | |
} | |
function T(b, a) { | |
return b & ~a; | |
} | |
function J(b) { | |
var a, | |
c = ""; | |
for (a = 0; a + 3 <= b.length; a += 3) { | |
var d = parseInt(b.substring(a, a + 3), 16); | |
c += | |
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt( | |
d >> 6 | |
) + | |
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt( | |
63 & d | |
); | |
} | |
for ( | |
a + 1 == b.length | |
? ((d = parseInt(b.substring(a, a + 1), 16)), | |
(c += | |
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt( | |
d << 2 | |
))) | |
: a + 2 == b.length && | |
((d = parseInt(b.substring(a, a + 2), 16)), | |
(c += | |
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt( | |
d >> 2 | |
) + | |
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt( | |
(3 & d) << 4 | |
))); | |
0 < (3 & c.length); | |
) | |
c += "="; | |
return c; | |
} | |
function U(b) { | |
var a, | |
c = "", | |
d = 0, | |
g = 0; | |
for (a = 0; a < b.length && "=" != b.charAt(a); ++a) { | |
var e = | |
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf( | |
b.charAt(a) | |
); | |
0 > e || | |
(0 == d | |
? ((c += "0123456789abcdefghijklmnopqrstuvwxyz".charAt(e >> 2)), | |
(g = 3 & e), | |
(d = 1)) | |
: 1 == d | |
? ((c += "0123456789abcdefghijklmnopqrstuvwxyz".charAt( | |
(g << 2) | (e >> 4) | |
)), | |
(g = 15 & e), | |
(d = 2)) | |
: 2 == d | |
? ((c += "0123456789abcdefghijklmnopqrstuvwxyz".charAt(g)), | |
(c += "0123456789abcdefghijklmnopqrstuvwxyz".charAt(e >> 2)), | |
(g = 3 & e), | |
(d = 3)) | |
: ((c += "0123456789abcdefghijklmnopqrstuvwxyz".charAt( | |
(g << 2) | (e >> 4) | |
)), | |
(c += "0123456789abcdefghijklmnopqrstuvwxyz".charAt(15 & e)), | |
(d = 0))); | |
} | |
return ( | |
1 == d && (c += "0123456789abcdefghijklmnopqrstuvwxyz".charAt(g << 2)), c | |
); | |
} | |
function C(b, a) { | |
return b.length > a && (b = b.substring(0, a) + "\u2026"), b; | |
} | |
function n() { | |
return new l(null); | |
} | |
function r(b, a) { | |
return new l(b, a); | |
} | |
function V(b, a) { | |
b = K[b.charCodeAt(a)]; | |
return null == b ? -1 : b; | |
} | |
function x(b) { | |
var a = n(); | |
return a.fromInt(b), a; | |
} | |
function L(b) { | |
var a, | |
c = 1; | |
return ( | |
0 != (a = b >>> 16) && ((b = a), (c += 16)), | |
0 != (a = b >> 8) && ((b = a), (c += 8)), | |
0 != (a = b >> 4) && ((b = a), (c += 4)), | |
0 != (a = b >> 2) && ((b = a), (c += 2)), | |
0 != b >> 1 && (c += 1), | |
c | |
); | |
} | |
var y = | |
"BAQADIw9BH0KeVWy3GCDSEvbyybst4644+D4GK3idt7z0tPXQlt5pBoOmF72W81fdChZHqFJhRR57SIo6NWvdrooeggo6N8SbE30XH9mxI0ZTihk+7hFXhTB76dsnYx3L3suKQGCAa3n2dMirPjwf1mpH5kk/YPU6hU9vbL7LpNS5Qe2MCQgBKQiBCDANG4AAUQABEQD3bISGqSCG0AMfGIM".split( | |
"" | |
); | |
(function (b, a, c) { | |
c[b(location['host'], 6).toLowerCase()] = y | |
.reverse() | |
.join(""); | |
console.log(b(location['host'], 6).toLowerCase(), c[b(location['host'], 6).toLowerCase()]); | |
})( | |
function (b, a) { | |
var c, | |
d = 0, | |
g = []; | |
a = a || 8; | |
for (c = 0; c < a; c++) g[c] = 9 * c; | |
for (; d < b.length; ) { | |
var e = b.charCodeAt(d++); | |
for (c = 0; c < a; c++) g[c] = g[c] ^ c ^ e; | |
} | |
for (c = 0; c < a; c++) g[c] = String.fromCharCode((g[c] % 26) + 65); | |
return g.join(""); | |
}, | |
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", | |
window | |
); | |
var D, | |
W = function (b, a) { | |
return (W = | |
Object.setPrototypeOf || | |
({ __proto__: [] } instanceof Array && | |
function (a, d) { | |
a.__proto__ = d; | |
}) || | |
function (a, d) { | |
for (var c in d) d.hasOwnProperty(c) && (a[c] = d[c]); | |
})(b, a); | |
}, | |
G, | |
P = { | |
decode: function (b) { | |
var a; | |
if (void 0 === G) { | |
G = Object.create(null); | |
for (a = 0; 64 > a; ++a) | |
G[ | |
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt( | |
a | |
) | |
] = a; | |
for (a = 0; 9 > a; ++a) | |
G["= \f\n\r\t\u00a0\u2028\u2029".charAt(a)] = -1; | |
} | |
var c = [], | |
d = 0, | |
g = 0; | |
for (a = 0; a < b.length; ++a) { | |
var e = b.charAt(a); | |
if ("=" == e) break; | |
if (-1 != (e = G[e])) { | |
if (void 0 === e) throw Error("Illegal character at offset " + a); | |
d |= e; | |
4 <= ++g | |
? ((c[c.length] = d >> 16), | |
(c[c.length] = (d >> 8) & 255), | |
(c[c.length] = 255 & d), | |
(g = d = 0)) | |
: (d <<= 6); | |
} | |
} | |
switch (g) { | |
case 1: | |
throw Error("Base64 encoding incomplete: at least 2 bits missing"); | |
case 2: | |
c[c.length] = d >> 10; | |
break; | |
case 3: | |
(c[c.length] = d >> 16), (c[c.length] = (d >> 8) & 255); | |
} | |
return c; | |
}, | |
re: /-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----|begin-base64[^\n]+\n([A-Za-z0-9+\/=\s]+)====/, | |
unarmor: function (b) { | |
var a = P.re.exec(b); | |
if (a) | |
if (a[1]) b = a[1]; | |
else { | |
if (!a[2]) throw Error("RegExp out of sync"); | |
b = a[2]; | |
} | |
return P.decode(b); | |
}, | |
}, | |
H = (function () { | |
function b(a) { | |
this.buf = [+a || 0]; | |
} | |
return ( | |
(b.prototype.mulAdd = function (a, c) { | |
var d, | |
b, | |
e = this.buf, | |
k = e.length; | |
for (d = 0; d < k; ++d) | |
1e13 > (b = e[d] * a + c) | |
? (c = 0) | |
: (b -= 1e13 * (c = 0 | (b / 1e13))), | |
(e[d] = b); | |
0 < c && (e[d] = c); | |
}), | |
(b.prototype.sub = function (a) { | |
var c, | |
d, | |
b = this.buf, | |
e = b.length; | |
for (c = 0; c < e; ++c) | |
0 > (d = b[c] - a) ? ((d += 1e13), (a = 1)) : (a = 0), (b[c] = d); | |
for (; 0 === b[b.length - 1]; ) b.pop(); | |
}), | |
(b.prototype.toString = function (a) { | |
if (10 != (a || 10)) throw Error("only base 10 is supported"); | |
a = this.buf; | |
for ( | |
var c = a[a.length - 1].toString(), d = a.length - 2; | |
0 <= d; | |
--d | |
) | |
c += (1e13 + a[d]).toString().substring(1); | |
return c; | |
}), | |
(b.prototype.valueOf = function () { | |
for (var a = this.buf, c = 0, d = a.length - 1; 0 <= d; --d) | |
c = 1e13 * c + a[d]; | |
return c; | |
}), | |
(b.prototype.simplify = function () { | |
var a = this.buf; | |
return 1 == a.length ? a[0] : this; | |
}), | |
b | |
); | |
})(), | |
ba = | |
/^(\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/, | |
ca = | |
/^(\d\d\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/, | |
p, | |
Q = (function () { | |
function b(a, c) { | |
this.hexDigits = "0123456789ABCDEF"; | |
a instanceof b | |
? ((this.enc = a.enc), (this.pos = a.pos)) | |
: ((this.enc = a), (this.pos = c)); | |
} | |
return ( | |
(b.prototype.get = function (a) { | |
if ((void 0 === a && (a = this.pos++), a >= this.enc.length)) | |
throw Error( | |
"Requesting byte offset " + | |
a + | |
" on a stream of length " + | |
this.enc.length | |
); | |
return "string" == typeof this.enc | |
? this.enc.charCodeAt(a) | |
: this.enc[a]; | |
}), | |
(b.prototype.hexByte = function (a) { | |
return ( | |
this.hexDigits.charAt((a >> 4) & 15) + this.hexDigits.charAt(15 & a) | |
); | |
}), | |
(b.prototype.hexDump = function (a, c, d) { | |
for (var b = ""; a < c; ++a) | |
if (((b += this.hexByte(this.get(a))), !0 !== d)) | |
switch (15 & a) { | |
case 7: | |
b += " "; | |
break; | |
case 15: | |
b += "\n"; | |
break; | |
default: | |
b += " "; | |
} | |
return b; | |
}), | |
(b.prototype.isASCII = function (a, c) { | |
for (; a < c; ++a) { | |
var d = this.get(a); | |
if (32 > d || 176 < d) return !1; | |
} | |
return !0; | |
}), | |
(b.prototype.parseStringISO = function (a, c) { | |
for (var d = ""; a < c; ++a) d += String.fromCharCode(this.get(a)); | |
return d; | |
}), | |
(b.prototype.parseStringUTF = function (a, c) { | |
for (var d = ""; a < c; ) { | |
var b = this.get(a++); | |
d += | |
128 > b | |
? String.fromCharCode(b) | |
: 191 < b && 224 > b | |
? String.fromCharCode(((31 & b) << 6) | (63 & this.get(a++))) | |
: String.fromCharCode( | |
((15 & b) << 12) | | |
((63 & this.get(a++)) << 6) | | |
(63 & this.get(a++)) | |
); | |
} | |
return d; | |
}), | |
(b.prototype.parseStringBMP = function (a, c) { | |
for (var d, b = "", e = a; e < c; ) | |
(a = this.get(e++)), | |
(d = this.get(e++)), | |
(b += String.fromCharCode((a << 8) | d)); | |
return b; | |
}), | |
(b.prototype.parseTime = function (a, c, d) { | |
a = this.parseStringISO(a, c); | |
return (c = (d ? ba : ca).exec(a)) | |
? (d && ((c[1] = +c[1]), (c[1] += 70 > +c[1] ? 2e3 : 1900)), | |
(a = c[1] + "-" + c[2] + "-" + c[3] + " " + c[4]), | |
c[5] && | |
((a += ":" + c[5]), | |
c[6] && ((a += ":" + c[6]), c[7] && (a += "." + c[7]))), | |
c[8] && | |
((a += " UTC"), | |
"Z" != c[8] && ((a += c[8]), c[9] && (a += ":" + c[9]))), | |
a) | |
: "Unrecognized time: " + a; | |
}), | |
(b.prototype.parseInteger = function (a, c) { | |
for ( | |
var d, b = this.get(a), e = 127 < b, k = e ? 255 : 0, h = ""; | |
b == k && ++a < c; | |
) | |
b = this.get(a); | |
if (0 === (d = c - a)) return e ? -1 : 0; | |
if (4 < d) { | |
h = b; | |
for (d <<= 3; 0 == (128 & (+h ^ k)); ) (h = +h << 1), --d; | |
h = "(" + d + " bit)\n"; | |
} | |
e && (b -= 256); | |
d = new H(b); | |
for (a += 1; a < c; ++a) d.mulAdd(256, this.get(a)); | |
return h + d.toString(); | |
}), | |
(b.prototype.parseBitString = function (a, c, d) { | |
var b = this.get(a), | |
e = "(" + (((c - a - 1) << 3) - b) + " bit)\n", | |
k = ""; | |
for (a += 1; a < c; ++a) { | |
for ( | |
var h = this.get(a), f = a == c - 1 ? b : 0, u = 7; | |
f <= u; | |
--u | |
) | |
k += (h >> u) & 1 ? "1" : "0"; | |
if (k.length > d) return e + C(k, d); | |
} | |
return e + k; | |
}), | |
(b.prototype.parseOctetString = function (a, c, d) { | |
if (this.isASCII(a, c)) return C(this.parseStringISO(a, c), d); | |
var b = c - a, | |
e = "(" + b + " byte)\n"; | |
for ((d /= 2) < b && (c = a + d); a < c; ++a) | |
e += this.hexByte(this.get(a)); | |
return d < b && (e += "\u2026"), e; | |
}), | |
(b.prototype.parseOID = function (a, c, d) { | |
for (var b = "", e = new H(), k = 0; a < c; ++a) { | |
var h = this.get(a); | |
if ((e.mulAdd(128, 127 & h), (k += 7), !(128 & h))) { | |
"" === b | |
? (e = e.simplify()) instanceof H | |
? (e.sub(80), (b = "2." + e.toString())) | |
: ((b = 80 > e ? (40 > e ? 0 : 1) : 2), | |
(b = b + "." + (e - 40 * b))) | |
: (b += "." + e.toString()); | |
if (b.length > d) return C(b, d); | |
e = new H(); | |
k = 0; | |
} | |
} | |
return 0 < k && (b += ".incomplete"), b; | |
}), | |
b | |
); | |
})(), | |
ea = (function () { | |
function b(a, c, d, b, e) { | |
if (!(b instanceof X)) throw Error("Invalid tag value."); | |
this.stream = a; | |
this.header = c; | |
this.length = d; | |
this.tag = b; | |
this.sub = e; | |
} | |
return ( | |
(b.prototype.typeName = function () { | |
switch (this.tag.tagClass) { | |
case 0: | |
switch (this.tag.tagNumber) { | |
case 0: | |
return "EOC"; | |
case 1: | |
return "BOOLEAN"; | |
case 2: | |
return "INTEGER"; | |
case 3: | |
return "BIT_STRING"; | |
case 4: | |
return "OCTET_STRING"; | |
case 5: | |
return "NULL"; | |
case 6: | |
return "OBJECT_IDENTIFIER"; | |
case 7: | |
return "ObjectDescriptor"; | |
case 8: | |
return "EXTERNAL"; | |
case 9: | |
return "REAL"; | |
case 10: | |
return "ENUMERATED"; | |
case 11: | |
return "EMBEDDED_PDV"; | |
case 12: | |
return "UTF8String"; | |
case 16: | |
return "SEQUENCE"; | |
case 17: | |
return "SET"; | |
case 18: | |
return "NumericString"; | |
case 19: | |
return "PrintableString"; | |
case 20: | |
return "TeletexString"; | |
case 21: | |
return "VideotexString"; | |
case 22: | |
return "IA5String"; | |
case 23: | |
return "UTCTime"; | |
case 24: | |
return "GeneralizedTime"; | |
case 25: | |
return "GraphicString"; | |
case 26: | |
return "VisibleString"; | |
case 27: | |
return "GeneralString"; | |
case 28: | |
return "UniversalString"; | |
case 30: | |
return "BMPString"; | |
} | |
return "Universal_" + this.tag.tagNumber.toString(); | |
case 1: | |
return "Application_" + this.tag.tagNumber.toString(); | |
case 2: | |
return "[" + this.tag.tagNumber.toString() + "]"; | |
case 3: | |
return "Private_" + this.tag.tagNumber.toString(); | |
} | |
}), | |
(b.prototype.content = function (a) { | |
if (void 0 === this.tag) return null; | |
void 0 === a && (a = 1 / 0); | |
var c = this.posContent(), | |
d = Math.abs(this.length); | |
if (!this.tag.isUniversal()) | |
return null !== this.sub | |
? "(" + this.sub.length + " elem)" | |
: this.stream.parseOctetString(c, c + d, a); | |
switch (this.tag.tagNumber) { | |
case 1: | |
return 0 === this.stream.get(c) ? "false" : "true"; | |
case 2: | |
return this.stream.parseInteger(c, c + d); | |
case 3: | |
return this.sub | |
? "(" + this.sub.length + " elem)" | |
: this.stream.parseBitString(c, c + d, a); | |
case 4: | |
return this.sub | |
? "(" + this.sub.length + " elem)" | |
: this.stream.parseOctetString(c, c + d, a); | |
case 6: | |
return this.stream.parseOID(c, c + d, a); | |
case 16: | |
case 17: | |
return null !== this.sub | |
? "(" + this.sub.length + " elem)" | |
: "(no elem)"; | |
case 12: | |
return C(this.stream.parseStringUTF(c, c + d), a); | |
case 18: | |
case 19: | |
case 20: | |
case 21: | |
case 22: | |
case 26: | |
return C(this.stream.parseStringISO(c, c + d), a); | |
case 30: | |
return C(this.stream.parseStringBMP(c, c + d), a); | |
case 23: | |
case 24: | |
return this.stream.parseTime(c, c + d, 23 == this.tag.tagNumber); | |
} | |
return null; | |
}), | |
(b.prototype.toString = function () { | |
return ( | |
this.typeName() + | |
"@" + | |
this.stream.pos + | |
"[header:" + | |
this.header + | |
",length:" + | |
this.length + | |
",sub:" + | |
(null === this.sub ? "null" : this.sub.length) + | |
"]" | |
); | |
}), | |
(b.prototype.toPrettyString = function (a) { | |
void 0 === a && (a = ""); | |
var c = a + this.typeName() + " @" + this.stream.pos; | |
if ( | |
(0 <= this.length && (c += "+"), | |
(c += this.length), | |
this.tag.tagConstructed | |
? (c += " (constructed)") | |
: !this.tag.isUniversal() || | |
(3 != this.tag.tagNumber && 4 != this.tag.tagNumber) || | |
null === this.sub || | |
(c += " (encapsulates)"), | |
(c += "\n"), | |
null !== this.sub) | |
) { | |
a += " "; | |
for (var d = 0, b = this.sub.length; d < b; ++d) | |
c += this.sub[d].toPrettyString(a); | |
} | |
return c; | |
}), | |
(b.prototype.posStart = function () { | |
return this.stream.pos; | |
}), | |
(b.prototype.posContent = function () { | |
return this.stream.pos + this.header; | |
}), | |
(b.prototype.posEnd = function () { | |
return this.stream.pos + this.header + Math.abs(this.length); | |
}), | |
(b.prototype.toHexString = function () { | |
return this.stream.hexDump(this.posStart(), this.posEnd(), !0); | |
}), | |
(b.decodeLength = function (a) { | |
var c = a.get(), | |
d = 127 & c; | |
if (d == c) return d; | |
if (6 < d) | |
throw Error( | |
"Length over 48 bits not supported at position " + (a.pos - 1) | |
); | |
if (0 === d) return null; | |
for (var b = (c = 0); b < d; ++b) c = 256 * c + a.get(); | |
return c; | |
}), | |
(b.prototype.getHexStringValue = function () { | |
return this.toHexString().substr(2 * this.header, 2 * this.length); | |
}), | |
(b.decode = function (a) { | |
var c = a instanceof Q ? a : new Q(a, 0); | |
a = new Q(c); | |
var d = new X(c), | |
g = b.decodeLength(c), | |
e = c.pos, | |
k = e - a.pos, | |
h = null, | |
f = function () { | |
var a = []; | |
if (null !== g) { | |
for (var d = e + g; c.pos < d; ) a[a.length] = b.decode(c); | |
if (c.pos != d) | |
throw Error( | |
"Content size is not correct for container starting at offset " + | |
e | |
); | |
} else | |
try { | |
for (;;) { | |
d = b.decode(c); | |
if (d.tag.isEOC()) break; | |
a[a.length] = d; | |
} | |
g = e - c.pos; | |
} catch (da) { | |
throw Error( | |
"Exception while decoding undefined length content: " + da | |
); | |
} | |
return a; | |
}; | |
if (d.tagConstructed) h = f(); | |
else if (d.isUniversal() && (3 == d.tagNumber || 4 == d.tagNumber)) | |
try { | |
if (3 == d.tagNumber && 0 != c.get()) | |
throw Error("BIT STRINGs with unused bits cannot encapsulate."); | |
h = f(); | |
for (f = 0; f < h.length; ++f) | |
if (h[f].tag.isEOC()) | |
throw Error("EOC is not supposed to be actual content."); | |
} catch (u) { | |
h = null; | |
} | |
if (null === h) { | |
if (null === g) | |
throw Error( | |
"We can't skip over an invalid tag with undefined length at offset " + | |
e | |
); | |
c.pos = e + Math.abs(g); | |
} | |
return new b(a, k, g, d, h); | |
}), | |
b | |
); | |
})(), | |
X = (function () { | |
function b(a) { | |
var c = a.get(); | |
if ( | |
((this.tagClass = c >> 6), | |
(this.tagConstructed = 0 != (32 & c)), | |
(this.tagNumber = 31 & c), | |
31 == this.tagNumber) | |
) { | |
for ( | |
var d = new H(); | |
(c = a.get()), d.mulAdd(128, 127 & c), 128 & c; | |
); | |
this.tagNumber = d.simplify(); | |
} | |
} | |
return ( | |
(b.prototype.isUniversal = function () { | |
return 0 === this.tagClass; | |
}), | |
(b.prototype.isEOC = function () { | |
return 0 === this.tagClass && 0 === this.tagNumber; | |
}), | |
b | |
); | |
})(), | |
w = [ | |
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, | |
71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, | |
151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, | |
233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, | |
317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, | |
419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, | |
503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, | |
607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, | |
701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, | |
811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, | |
911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997, | |
], | |
fa = 67108864 / w[w.length - 1], | |
l = (function () { | |
function b(a, c, d) { | |
null != a && | |
("number" == typeof a | |
? this.fromNumber(a, c, d) | |
: null == c && "string" != typeof a | |
? this.fromString(a, 256) | |
: this.fromString(a, c)); | |
} | |
return ( | |
(b.prototype.toString = function (a) { | |
if (0 > this.s) return "-" + this.negate().toString(a); | |
if (16 == a) a = 4; | |
else if (8 == a) a = 3; | |
else if (2 == a) a = 1; | |
else if (32 == a) a = 5; | |
else { | |
if (4 != a) return this.toRadix(a); | |
a = 2; | |
} | |
var c, | |
d = (1 << a) - 1, | |
b = !1, | |
e = "", | |
k = this.t, | |
h = this.DB - ((k * this.DB) % a); | |
if (0 < k--) | |
for ( | |
h < this.DB && | |
0 < (c = this[k] >> h) && | |
((b = !0), | |
(e = "0123456789abcdefghijklmnopqrstuvwxyz".charAt(c))); | |
0 <= k; | |
) | |
h < a | |
? ((c = (this[k] & ((1 << h) - 1)) << (a - h)), | |
(c |= this[--k] >> (h += this.DB - a))) | |
: ((c = (this[k] >> (h -= a)) & d), | |
0 >= h && ((h += this.DB), --k)), | |
0 < c && (b = !0), | |
b && (e += "0123456789abcdefghijklmnopqrstuvwxyz".charAt(c)); | |
return b ? e : "0"; | |
}), | |
(b.prototype.negate = function () { | |
var a = n(); | |
return b.ZERO.subTo(this, a), a; | |
}), | |
(b.prototype.abs = function () { | |
return 0 > this.s ? this.negate() : this; | |
}), | |
(b.prototype.compareTo = function (a) { | |
var c = this.s - a.s; | |
if (0 != c) return c; | |
var d = this.t; | |
if (0 != (c = d - a.t)) return 0 > this.s ? -c : c; | |
for (; 0 <= --d; ) if (0 != (c = this[d] - a[d])) return c; | |
return 0; | |
}), | |
(b.prototype.bitLength = function () { | |
return 0 >= this.t | |
? 0 | |
: this.DB * (this.t - 1) + L(this[this.t - 1] ^ (this.s & this.DM)); | |
}), | |
(b.prototype.mod = function (a) { | |
var c = n(); | |
return ( | |
this.abs().divRemTo(a, null, c), | |
0 > this.s && 0 < c.compareTo(b.ZERO) && a.subTo(c, c), | |
c | |
); | |
}), | |
(b.prototype.modPowInt = function (a, c) { | |
var d; | |
return ( | |
(d = 256 > a || c.isEven() ? new Y(c) : new Z(c)), this.exp(a, d) | |
); | |
}), | |
(b.prototype.clone = function () { | |
var a = n(); | |
return this.copyTo(a), a; | |
}), | |
(b.prototype.intValue = function () { | |
if (0 > this.s) { | |
if (1 == this.t) return this[0] - this.DV; | |
if (0 == this.t) return -1; | |
} else { | |
if (1 == this.t) return this[0]; | |
if (0 == this.t) return 0; | |
} | |
return ((this[1] & ((1 << (32 - this.DB)) - 1)) << this.DB) | this[0]; | |
}), | |
(b.prototype.byteValue = function () { | |
return 0 == this.t ? this.s : (this[0] << 24) >> 24; | |
}), | |
(b.prototype.shortValue = function () { | |
return 0 == this.t ? this.s : (this[0] << 16) >> 16; | |
}), | |
(b.prototype.signum = function () { | |
return 0 > this.s | |
? -1 | |
: 0 >= this.t || (1 == this.t && 0 >= this[0]) | |
? 0 | |
: 1; | |
}), | |
(b.prototype.toByteArray = function () { | |
var a = this.t, | |
c = []; | |
c[0] = this.s; | |
var d, | |
b = this.DB - ((a * this.DB) % 8), | |
e = 0; | |
if (0 < a--) | |
for ( | |
b < this.DB && | |
(d = this[a] >> b) != (this.s & this.DM) >> b && | |
(c[e++] = d | (this.s << (this.DB - b))); | |
0 <= a; | |
) | |
8 > b | |
? ((d = (this[a] & ((1 << b) - 1)) << (8 - b)), | |
(d |= this[--a] >> (b += this.DB - 8))) | |
: ((d = (this[a] >> (b -= 8)) & 255), | |
0 >= b && ((b += this.DB), --a)), | |
0 != (128 & d) && (d |= -256), | |
0 == e && (128 & this.s) != (128 & d) && ++e, | |
(0 < e || d != this.s) && (c[e++] = d); | |
return c; | |
}), | |
(b.prototype.equals = function (a) { | |
return 0 == this.compareTo(a); | |
}), | |
(b.prototype.min = function (a) { | |
return 0 > this.compareTo(a) ? this : a; | |
}), | |
(b.prototype.max = function (a) { | |
return 0 < this.compareTo(a) ? this : a; | |
}), | |
(b.prototype.and = function (a) { | |
var c = n(); | |
return this.bitwiseTo(a, F, c), c; | |
}), | |
(b.prototype.or = function (a) { | |
var c = n(); | |
return this.bitwiseTo(a, I, c), c; | |
}), | |
(b.prototype.xor = function (a) { | |
var c = n(); | |
return this.bitwiseTo(a, S, c), c; | |
}), | |
(b.prototype.andNot = function (a) { | |
var c = n(); | |
return this.bitwiseTo(a, T, c), c; | |
}), | |
(b.prototype.not = function () { | |
for (var a = n(), c = 0; c < this.t; ++c) a[c] = this.DM & ~this[c]; | |
return (a.t = this.t), (a.s = ~this.s), a; | |
}), | |
(b.prototype.shiftLeft = function (a) { | |
var c = n(); | |
return 0 > a ? this.rShiftTo(-a, c) : this.lShiftTo(a, c), c; | |
}), | |
(b.prototype.shiftRight = function (a) { | |
var c = n(); | |
return 0 > a ? this.lShiftTo(-a, c) : this.rShiftTo(a, c), c; | |
}), | |
(b.prototype.getLowestSetBit = function () { | |
for (var a = 0; a < this.t; ++a) | |
if (0 != this[a]) { | |
var c = a * this.DB; | |
var d = this[a]; | |
if (0 == d) a = -1; | |
else { | |
var b = 0; | |
a = | |
(0 == (65535 & d) && ((d >>= 16), (b += 16)), | |
0 == (255 & d) && ((d >>= 8), (b += 8)), | |
0 == (15 & d) && ((d >>= 4), (b += 4)), | |
0 == (3 & d) && ((d >>= 2), (b += 2)), | |
0 == (1 & d) && ++b, | |
b); | |
} | |
return c + a; | |
} | |
return 0 > this.s ? this.t * this.DB : -1; | |
}), | |
(b.prototype.bitCount = function () { | |
for (var a = 0, c = this.s & this.DM, d = 0; d < this.t; ++d) { | |
for (var b = this[d] ^ c, e = 0; 0 != b; ) (b &= b - 1), ++e; | |
a += e; | |
} | |
return a; | |
}), | |
(b.prototype.testBit = function (a) { | |
var c = Math.floor(a / this.DB); | |
return c >= this.t | |
? 0 != this.s | |
: 0 != (this[c] & (1 << a % this.DB)); | |
}), | |
(b.prototype.setBit = function (a) { | |
return this.changeBit(a, I); | |
}), | |
(b.prototype.clearBit = function (a) { | |
return this.changeBit(a, T); | |
}), | |
(b.prototype.flipBit = function (a) { | |
return this.changeBit(a, S); | |
}), | |
(b.prototype.add = function (a) { | |
var c = n(); | |
return this.addTo(a, c), c; | |
}), | |
(b.prototype.subtract = function (a) { | |
var c = n(); | |
return this.subTo(a, c), c; | |
}), | |
(b.prototype.multiply = function (a) { | |
var c = n(); | |
return this.multiplyTo(a, c), c; | |
}), | |
(b.prototype.divide = function (a) { | |
var c = n(); | |
return this.divRemTo(a, c, null), c; | |
}), | |
(b.prototype.remainder = function (a) { | |
var c = n(); | |
return this.divRemTo(a, null, c), c; | |
}), | |
(b.prototype.divideAndRemainder = function (a) { | |
var c = n(), | |
d = n(); | |
return this.divRemTo(a, c, d), [c, d]; | |
}), | |
(b.prototype.modPow = function (a, c) { | |
var d = a.bitLength(), | |
b = x(1); | |
if (0 >= d) return b; | |
var e = 18 > d ? 1 : 48 > d ? 3 : 144 > d ? 4 : 768 > d ? 5 : 6; | |
c = 8 > d ? new Y(c) : c.isEven() ? new ha(c) : new Z(c); | |
var k = [], | |
h = 3, | |
f = e - 1, | |
u = (1 << e) - 1; | |
if (((k[1] = c.convert(this)), 1 < e)) | |
for (d = n(), c.sqrTo(k[1], d); h <= u; ) | |
(k[h] = n()), c.mulTo(d, k[h - 2], k[h]), (h += 2); | |
var l, | |
m, | |
v = a.t - 1, | |
p = !0, | |
t = n(); | |
for (d = L(a[v]) - 1; 0 <= v; ) { | |
f <= d | |
? (l = (a[v] >> (d - f)) & u) | |
: ((l = (a[v] & ((1 << (d + 1)) - 1)) << (f - d)), | |
0 < v && (l |= a[v - 1] >> (this.DB + d - f))); | |
for (h = e; 0 == (1 & l); ) (l >>= 1), --h; | |
if ((0 > (d -= h) && ((d += this.DB), --v), p)) | |
k[l].copyTo(b), (p = !1); | |
else { | |
for (; 1 < h; ) c.sqrTo(b, t), c.sqrTo(t, b), (h -= 2); | |
0 < h ? c.sqrTo(b, t) : ((m = b), (b = t), (t = m)); | |
c.mulTo(t, k[l], b); | |
} | |
for (; 0 <= v && 0 == (a[v] & (1 << d)); ) | |
c.sqrTo(b, t), | |
(m = b), | |
(b = t), | |
(t = m), | |
0 > --d && ((d = this.DB - 1), --v); | |
} | |
return c.revert(b); | |
}), | |
(b.prototype.modInverse = function (a) { | |
var c = a.isEven(); | |
if ((this.isEven() && c) || 0 == a.signum()) return b.ZERO; | |
for ( | |
var d = a.clone(), | |
g = this.clone(), | |
e = x(1), | |
k = x(0), | |
h = x(0), | |
f = x(1); | |
0 != d.signum(); | |
) { | |
for (; d.isEven(); ) | |
d.rShiftTo(1, d), | |
c | |
? ((e.isEven() && k.isEven()) || | |
(e.addTo(this, e), k.subTo(a, k)), | |
e.rShiftTo(1, e)) | |
: k.isEven() || k.subTo(a, k), | |
k.rShiftTo(1, k); | |
for (; g.isEven(); ) | |
g.rShiftTo(1, g), | |
c | |
? ((h.isEven() && f.isEven()) || | |
(h.addTo(this, h), f.subTo(a, f)), | |
h.rShiftTo(1, h)) | |
: f.isEven() || f.subTo(a, f), | |
f.rShiftTo(1, f); | |
0 <= d.compareTo(g) | |
? (d.subTo(g, d), c && e.subTo(h, e), k.subTo(f, k)) | |
: (g.subTo(d, g), c && h.subTo(e, h), f.subTo(k, f)); | |
} | |
return 0 != g.compareTo(b.ONE) | |
? b.ZERO | |
: 0 <= f.compareTo(a) | |
? f.subtract(a) | |
: 0 > f.signum() | |
? (f.addTo(a, f), 0 > f.signum() ? f.add(a) : f) | |
: f; | |
}), | |
(b.prototype.pow = function (a) { | |
return this.exp(a, new ia()); | |
}), | |
(b.prototype.gcd = function (a) { | |
var c = 0 > this.s ? this.negate() : this.clone(); | |
a = 0 > a.s ? a.negate() : a.clone(); | |
if (0 > c.compareTo(a)) { | |
var d = c; | |
c = a; | |
a = d; | |
} | |
d = c.getLowestSetBit(); | |
var b = a.getLowestSetBit(); | |
if (0 > b) return c; | |
d < b && (b = d); | |
for (0 < b && (c.rShiftTo(b, c), a.rShiftTo(b, a)); 0 < c.signum(); ) | |
0 < (d = c.getLowestSetBit()) && c.rShiftTo(d, c), | |
0 < (d = a.getLowestSetBit()) && a.rShiftTo(d, a), | |
0 <= c.compareTo(a) | |
? (c.subTo(a, c), c.rShiftTo(1, c)) | |
: (a.subTo(c, a), a.rShiftTo(1, a)); | |
return 0 < b && a.lShiftTo(b, a), a; | |
}), | |
(b.prototype.isProbablePrime = function (a) { | |
var c, | |
d = this.abs(); | |
if (1 == d.t && d[0] <= w[w.length - 1]) { | |
for (c = 0; c < w.length; ++c) if (d[0] == w[c]) return !0; | |
return !1; | |
} | |
if (d.isEven()) return !1; | |
for (c = 1; c < w.length; ) { | |
for (var b = w[c], e = c + 1; e < w.length && b < fa; ) b *= w[e++]; | |
for (b = d.modInt(b); c < e; ) if (0 == b % w[c++]) return !1; | |
} | |
return d.millerRabin(a); | |
}), | |
(b.prototype.copyTo = function (a) { | |
for (var c = this.t - 1; 0 <= c; --c) a[c] = this[c]; | |
a.t = this.t; | |
a.s = this.s; | |
}), | |
(b.prototype.fromInt = function (a) { | |
this.t = 1; | |
this.s = 0 > a ? -1 : 0; | |
0 < a | |
? (this[0] = a) | |
: -1 > a | |
? (this[0] = a + this.DV) | |
: (this.t = 0); | |
}), | |
(b.prototype.fromString = function (a, c) { | |
if (16 == c) c = 4; | |
else if (8 == c) c = 3; | |
else if (256 == c) c = 8; | |
else if (2 == c) c = 1; | |
else if (32 == c) c = 5; | |
else { | |
if (4 != c) return void this.fromRadix(a, c); | |
c = 2; | |
} | |
this.s = this.t = 0; | |
for (var d = a.length, g = !1, e = 0; 0 <= --d; ) { | |
var k = 8 == c ? 255 & +a[d] : V(a, d); | |
0 > k | |
? "-" == a.charAt(d) && (g = !0) | |
: ((g = !1), | |
0 == e | |
? (this[this.t++] = k) | |
: e + c > this.DB | |
? ((this[this.t - 1] |= | |
(k & ((1 << (this.DB - e)) - 1)) << e), | |
(this[this.t++] = k >> (this.DB - e))) | |
: (this[this.t - 1] |= k << e), | |
(e += c) >= this.DB && (e -= this.DB)); | |
} | |
8 == c && | |
0 != (128 & +a[0]) && | |
((this.s = -1), | |
0 < e && (this[this.t - 1] |= ((1 << (this.DB - e)) - 1) << e)); | |
this.clamp(); | |
g && b.ZERO.subTo(this, this); | |
}), | |
(b.prototype.clamp = function () { | |
for (var a = this.s & this.DM; 0 < this.t && this[this.t - 1] == a; ) | |
--this.t; | |
}), | |
(b.prototype.dlShiftTo = function (a, c) { | |
var d; | |
for (d = this.t - 1; 0 <= d; --d) c[d + a] = this[d]; | |
for (d = a - 1; 0 <= d; --d) c[d] = 0; | |
c.t = this.t + a; | |
c.s = this.s; | |
}), | |
(b.prototype.drShiftTo = function (a, c) { | |
for (var d = a; d < this.t; ++d) c[d - a] = this[d]; | |
c.t = Math.max(this.t - a, 0); | |
c.s = this.s; | |
}), | |
(b.prototype.lShiftTo = function (a, c) { | |
var d = a % this.DB, | |
b = this.DB - d, | |
e = (1 << b) - 1; | |
a = Math.floor(a / this.DB); | |
for (var k = (this.s << d) & this.DM, h = this.t - 1; 0 <= h; --h) | |
(c[h + a + 1] = (this[h] >> b) | k), (k = (this[h] & e) << d); | |
for (h = a - 1; 0 <= h; --h) c[h] = 0; | |
c[a] = k; | |
c.t = this.t + a + 1; | |
c.s = this.s; | |
c.clamp(); | |
}), | |
(b.prototype.rShiftTo = function (a, c) { | |
c.s = this.s; | |
var d = Math.floor(a / this.DB); | |
if (d >= this.t) c.t = 0; | |
else { | |
a %= this.DB; | |
var b = this.DB - a, | |
e = (1 << a) - 1; | |
c[0] = this[d] >> a; | |
for (var k = d + 1; k < this.t; ++k) | |
(c[k - d - 1] |= (this[k] & e) << b), (c[k - d] = this[k] >> a); | |
0 < a && (c[this.t - d - 1] |= (this.s & e) << b); | |
c.t = this.t - d; | |
c.clamp(); | |
} | |
}), | |
(b.prototype.subTo = function (a, c) { | |
for (var d = 0, b = 0, e = Math.min(a.t, this.t); d < e; ) | |
(b += this[d] - a[d]), (c[d++] = b & this.DM), (b >>= this.DB); | |
if (a.t < this.t) { | |
for (b -= a.s; d < this.t; ) | |
(b += this[d]), (c[d++] = b & this.DM), (b >>= this.DB); | |
b += this.s; | |
} else { | |
for (b += this.s; d < a.t; ) | |
(b -= a[d]), (c[d++] = b & this.DM), (b >>= this.DB); | |
b -= a.s; | |
} | |
c.s = 0 > b ? -1 : 0; | |
-1 > b ? (c[d++] = this.DV + b) : 0 < b && (c[d++] = b); | |
c.t = d; | |
c.clamp(); | |
}), | |
(b.prototype.multiplyTo = function (a, c) { | |
var d = this.abs(), | |
g = a.abs(), | |
e = d.t; | |
for (c.t = e + g.t; 0 <= --e; ) c[e] = 0; | |
for (e = 0; e < g.t; ++e) c[e + d.t] = d.am(0, g[e], c, e, 0, d.t); | |
c.s = 0; | |
c.clamp(); | |
this.s != a.s && b.ZERO.subTo(c, c); | |
}), | |
(b.prototype.squareTo = function (a) { | |
for (var c = this.abs(), b = (a.t = 2 * c.t); 0 <= --b; ) a[b] = 0; | |
for (b = 0; b < c.t - 1; ++b) { | |
var g = c.am(b, c[b], a, 2 * b, 0, 1); | |
(a[b + c.t] += c.am( | |
b + 1, | |
2 * c[b], | |
a, | |
2 * b + 1, | |
g, | |
c.t - b - 1 | |
)) >= c.DV && ((a[b + c.t] -= c.DV), (a[b + c.t + 1] = 1)); | |
} | |
0 < a.t && (a[a.t - 1] += c.am(b, c[b], a, 2 * b, 0, 1)); | |
a.s = 0; | |
a.clamp(); | |
}), | |
(b.prototype.divRemTo = function (a, c, d) { | |
var g = a.abs(); | |
if (!(0 >= g.t)) { | |
var e = this.abs(); | |
if (e.t < g.t) | |
return ( | |
null != c && c.fromInt(0), void (null != d && this.copyTo(d)) | |
); | |
null == d && (d = n()); | |
var k = n(), | |
h = this.s; | |
a = a.s; | |
var f = this.DB - L(g[g.t - 1]); | |
0 < f | |
? (g.lShiftTo(f, k), e.lShiftTo(f, d)) | |
: (g.copyTo(k), e.copyTo(d)); | |
g = k.t; | |
e = k[g - 1]; | |
if (0 != e) { | |
var u = e * (1 << this.F1) + (1 < g ? k[g - 2] >> this.F2 : 0), | |
l = this.FV / u; | |
u = (1 << this.F1) / u; | |
var m = 1 << this.F2, | |
v = d.t, | |
p = v - g, | |
t = null == c ? n() : c; | |
k.dlShiftTo(p, t); | |
0 <= d.compareTo(t) && ((d[d.t++] = 1), d.subTo(t, d)); | |
b.ONE.dlShiftTo(g, t); | |
for (t.subTo(k, k); k.t < g; ) k[k.t++] = 0; | |
for (; 0 <= --p; ) { | |
var r = | |
d[--v] == e | |
? this.DM | |
: Math.floor(d[v] * l + (d[v - 1] + m) * u); | |
if ((d[v] += k.am(0, r, d, p, 0, g)) < r) | |
for (k.dlShiftTo(p, t), d.subTo(t, d); d[v] < --r; ) | |
d.subTo(t, d); | |
} | |
null != c && (d.drShiftTo(g, c), h != a && b.ZERO.subTo(c, c)); | |
d.t = g; | |
d.clamp(); | |
0 < f && d.rShiftTo(f, d); | |
0 > h && b.ZERO.subTo(d, d); | |
} | |
} | |
}), | |
(b.prototype.invDigit = function () { | |
if (1 > this.t) return 0; | |
var a = this[0]; | |
if (0 == (1 & a)) return 0; | |
var c = 3 & a; | |
return 0 < | |
(c = | |
((c = | |
((c = | |
((c = (c * (2 - (15 & a) * c)) & 15) * (2 - (255 & a) * c)) & | |
255) * | |
(2 - (((65535 & a) * c) & 65535))) & | |
65535) * | |
(2 - ((a * c) % this.DV))) % | |
this.DV) | |
? this.DV - c | |
: -c; | |
}), | |
(b.prototype.isEven = function () { | |
return 0 == (0 < this.t ? 1 & this[0] : this.s); | |
}), | |
(b.prototype.exp = function (a, c) { | |
if (4294967295 < a || 1 > a) return b.ONE; | |
var d = n(), | |
g = n(), | |
e = c.convert(this), | |
k = L(a) - 1; | |
for (e.copyTo(d); 0 <= --k; ) | |
if ((c.sqrTo(d, g), 0 < (a & (1 << k)))) c.mulTo(g, e, d); | |
else { | |
var f = d; | |
d = g; | |
g = f; | |
} | |
return c.revert(d); | |
}), | |
(b.prototype.chunkSize = function (a) { | |
return Math.floor((Math.LN2 * this.DB) / Math.log(a)); | |
}), | |
(b.prototype.toRadix = function (a) { | |
if ((null == a && (a = 10), 0 == this.signum() || 2 > a || 36 < a)) | |
return "0"; | |
var c = this.chunkSize(a); | |
c = Math.pow(a, c); | |
var b = x(c), | |
g = n(), | |
e = n(), | |
k = ""; | |
for (this.divRemTo(b, g, e); 0 < g.signum(); ) | |
(k = (c + e.intValue()).toString(a).substr(1) + k), | |
g.divRemTo(b, g, e); | |
return e.intValue().toString(a) + k; | |
}), | |
(b.prototype.fromRadix = function (a, c) { | |
this.fromInt(0); | |
null == c && (c = 10); | |
for ( | |
var d = this.chunkSize(c), | |
g = Math.pow(c, d), | |
e = !1, | |
k = 0, | |
f = 0, | |
l = 0; | |
l < a.length; | |
++l | |
) { | |
var u = V(a, l); | |
0 > u | |
? "-" == a.charAt(l) && 0 == this.signum() && (e = !0) | |
: ((f = c * f + u), | |
++k >= d && | |
(this.dMultiply(g), this.dAddOffset(f, 0), (f = k = 0))); | |
} | |
0 < k && (this.dMultiply(Math.pow(c, k)), this.dAddOffset(f, 0)); | |
e && b.ZERO.subTo(this, this); | |
}), | |
(b.prototype.fromNumber = function (a, c, d) { | |
if ("number" == typeof c) | |
if (2 > a) this.fromInt(1); | |
else | |
for ( | |
this.fromNumber(a, d), | |
this.testBit(a - 1) || | |
this.bitwiseTo(b.ONE.shiftLeft(a - 1), I, this), | |
this.isEven() && this.dAddOffset(1, 0); | |
!this.isProbablePrime(c); | |
) | |
this.dAddOffset(2, 0), | |
this.bitLength() > a && | |
this.subTo(b.ONE.shiftLeft(a - 1), this); | |
else { | |
d = []; | |
var g = 7 & a; | |
d.length = 1 + (a >> 3); | |
c.nextBytes(d); | |
0 < g ? (d[0] &= (1 << g) - 1) : (d[0] = 0); | |
this.fromString(d, 256); | |
} | |
}), | |
(b.prototype.bitwiseTo = function (a, c, b) { | |
var d, | |
e = Math.min(a.t, this.t); | |
for (d = 0; d < e; ++d) b[d] = c(this[d], a[d]); | |
if (a.t < this.t) { | |
var k = a.s & this.DM; | |
for (d = e; d < this.t; ++d) b[d] = c(this[d], k); | |
b.t = this.t; | |
} else { | |
k = this.s & this.DM; | |
for (d = e; d < a.t; ++d) b[d] = c(k, a[d]); | |
b.t = a.t; | |
} | |
b.s = c(this.s, a.s); | |
b.clamp(); | |
}), | |
(b.prototype.changeBit = function (a, c) { | |
a = b.ONE.shiftLeft(a); | |
return this.bitwiseTo(a, c, a), a; | |
}), | |
(b.prototype.addTo = function (a, c) { | |
for (var b = 0, g = 0, e = Math.min(a.t, this.t); b < e; ) | |
(g += this[b] + a[b]), (c[b++] = g & this.DM), (g >>= this.DB); | |
if (a.t < this.t) { | |
for (g += a.s; b < this.t; ) | |
(g += this[b]), (c[b++] = g & this.DM), (g >>= this.DB); | |
g += this.s; | |
} else { | |
for (g += this.s; b < a.t; ) | |
(g += a[b]), (c[b++] = g & this.DM), (g >>= this.DB); | |
g += a.s; | |
} | |
c.s = 0 > g ? -1 : 0; | |
0 < g ? (c[b++] = g) : -1 > g && (c[b++] = this.DV + g); | |
c.t = b; | |
c.clamp(); | |
}), | |
(b.prototype.dMultiply = function (a) { | |
this[this.t] = this.am(0, a - 1, this, 0, 0, this.t); | |
++this.t; | |
this.clamp(); | |
}), | |
(b.prototype.dAddOffset = function (a, c) { | |
if (0 != a) { | |
for (; this.t <= c; ) this[this.t++] = 0; | |
for (this[c] += a; this[c] >= this.DV; ) | |
(this[c] -= this.DV), | |
++c >= this.t && (this[this.t++] = 0), | |
++this[c]; | |
} | |
}), | |
(b.prototype.multiplyLowerTo = function (a, c, b) { | |
var d = Math.min(this.t + a.t, c); | |
b.s = 0; | |
for (b.t = d; 0 < d; ) b[--d] = 0; | |
for (var e = b.t - this.t; d < e; ++d) | |
b[d + this.t] = this.am(0, a[d], b, d, 0, this.t); | |
for (e = Math.min(a.t, c); d < e; ++d) | |
this.am(0, a[d], b, d, 0, c - d); | |
b.clamp(); | |
}), | |
(b.prototype.multiplyUpperTo = function (a, c, b) { | |
--c; | |
var d = (b.t = this.t + a.t - c); | |
for (b.s = 0; 0 <= --d; ) b[d] = 0; | |
for (d = Math.max(c - this.t, 0); d < a.t; ++d) | |
b[this.t + d - c] = this.am(c - d, a[d], b, 0, 0, this.t + d - c); | |
b.clamp(); | |
b.drShiftTo(1, b); | |
}), | |
(b.prototype.modInt = function (a) { | |
if (0 >= a) return 0; | |
var c = this.DV % a, | |
b = 0 > this.s ? a - 1 : 0; | |
if (0 < this.t) | |
if (0 == c) b = this[0] % a; | |
else | |
for (var g = this.t - 1; 0 <= g; --g) b = (c * b + this[g]) % a; | |
return b; | |
}), | |
(b.prototype.millerRabin = function (a) { | |
var c = this.subtract(b.ONE), | |
d = c.getLowestSetBit(); | |
if (0 >= d) return !1; | |
var g = c.shiftRight(d); | |
w.length < (a = (a + 1) >> 1) && (a = w.length); | |
for (var e = n(), k = 0; k < a; ++k) { | |
e.fromInt(w[Math.floor(Math.random() * w.length)]); | |
var f = e.modPow(g, this); | |
if (0 != f.compareTo(b.ONE) && 0 != f.compareTo(c)) { | |
for (var l = 1; l++ < d && 0 != f.compareTo(c); ) | |
if (0 == (f = f.modPowInt(2, this)).compareTo(b.ONE)) return !1; | |
if (0 != f.compareTo(c)) return !1; | |
} | |
} | |
return !0; | |
}), | |
(b.prototype.square = function () { | |
var a = n(); | |
return this.squareTo(a), a; | |
}), | |
(b.prototype.gcda = function (a, c) { | |
var b = 0 > this.s ? this.negate() : this.clone(), | |
g = 0 > a.s ? a.negate() : a.clone(); | |
0 > b.compareTo(g) && ((a = b), (b = g), (g = a)); | |
var e = b.getLowestSetBit(), | |
f = g.getLowestSetBit(); | |
if (0 > f) c(b); | |
else { | |
e < f && (f = e); | |
0 < f && (b.rShiftTo(f, b), g.rShiftTo(f, g)); | |
var h = function () { | |
0 < (e = b.getLowestSetBit()) && b.rShiftTo(e, b); | |
0 < (e = g.getLowestSetBit()) && g.rShiftTo(e, g); | |
0 <= b.compareTo(g) | |
? (b.subTo(g, b), b.rShiftTo(1, b)) | |
: (g.subTo(b, g), g.rShiftTo(1, g)); | |
0 < b.signum() | |
? setTimeout(h, 0) | |
: (0 < f && g.lShiftTo(f, g), | |
setTimeout(function () { | |
c(g); | |
}, 0)); | |
}; | |
setTimeout(h, 10); | |
} | |
}), | |
(b.prototype.fromNumberAsync = function (a, c, d, g) { | |
if ("number" == typeof c) | |
if (2 > a) this.fromInt(1); | |
else { | |
this.fromNumber(a, d); | |
this.testBit(a - 1) || | |
this.bitwiseTo(b.ONE.shiftLeft(a - 1), I, this); | |
this.isEven() && this.dAddOffset(1, 0); | |
var e = this, | |
f = function () { | |
e.dAddOffset(2, 0); | |
e.bitLength() > a && e.subTo(b.ONE.shiftLeft(a - 1), e); | |
e.isProbablePrime(c) | |
? setTimeout(function () { | |
g(); | |
}, 0) | |
: setTimeout(f, 0); | |
}; | |
setTimeout(f, 0); | |
} | |
else { | |
d = []; | |
var h = 7 & a; | |
d.length = 1 + (a >> 3); | |
c.nextBytes(d); | |
0 < h ? (d[0] &= (1 << h) - 1) : (d[0] = 0); | |
this.fromString(d, 256); | |
} | |
}), | |
b | |
); | |
})(), | |
ia = (function () { | |
function b() {} | |
return ( | |
(b.prototype.convert = function (a) { | |
return a; | |
}), | |
(b.prototype.revert = function (a) { | |
return a; | |
}), | |
(b.prototype.mulTo = function (a, c, b) { | |
a.multiplyTo(c, b); | |
}), | |
(b.prototype.sqrTo = function (a, c) { | |
a.squareTo(c); | |
}), | |
b | |
); | |
})(), | |
Y = (function () { | |
function b(a) { | |
this.m = a; | |
} | |
return ( | |
(b.prototype.convert = function (a) { | |
return 0 > a.s || 0 <= a.compareTo(this.m) ? a.mod(this.m) : a; | |
}), | |
(b.prototype.revert = function (a) { | |
return a; | |
}), | |
(b.prototype.reduce = function (a) { | |
a.divRemTo(this.m, null, a); | |
}), | |
(b.prototype.mulTo = function (a, c, b) { | |
a.multiplyTo(c, b); | |
this.reduce(b); | |
}), | |
(b.prototype.sqrTo = function (a, c) { | |
a.squareTo(c); | |
this.reduce(c); | |
}), | |
b | |
); | |
})(), | |
Z = (function () { | |
function b(a) { | |
this.m = a; | |
this.mp = a.invDigit(); | |
this.mpl = 32767 & this.mp; | |
this.mph = this.mp >> 15; | |
this.um = (1 << (a.DB - 15)) - 1; | |
this.mt2 = 2 * a.t; | |
} | |
return ( | |
(b.prototype.convert = function (a) { | |
var c = n(); | |
return ( | |
a.abs().dlShiftTo(this.m.t, c), | |
c.divRemTo(this.m, null, c), | |
0 > a.s && 0 < c.compareTo(l.ZERO) && this.m.subTo(c, c), | |
c | |
); | |
}), | |
(b.prototype.revert = function (a) { | |
var c = n(); | |
return a.copyTo(c), this.reduce(c), c; | |
}), | |
(b.prototype.reduce = function (a) { | |
for (; a.t <= this.mt2; ) a[a.t++] = 0; | |
for (var c = 0; c < this.m.t; ++c) { | |
var b = 32767 & a[c], | |
g = | |
(b * this.mpl + | |
(((b * this.mph + (a[c] >> 15) * this.mpl) & this.um) << | |
15)) & | |
a.DM; | |
for ( | |
a[(b = c + this.m.t)] += this.m.am(0, g, a, c, 0, this.m.t); | |
a[b] >= a.DV; | |
) | |
(a[b] -= a.DV), a[++b]++; | |
} | |
a.clamp(); | |
a.drShiftTo(this.m.t, a); | |
0 <= a.compareTo(this.m) && a.subTo(this.m, a); | |
}), | |
(b.prototype.mulTo = function (a, c, b) { | |
a.multiplyTo(c, b); | |
this.reduce(b); | |
}), | |
(b.prototype.sqrTo = function (a, c) { | |
a.squareTo(c); | |
this.reduce(c); | |
}), | |
b | |
); | |
})(), | |
ha = (function () { | |
function b(a) { | |
this.m = a; | |
this.r2 = n(); | |
this.q3 = n(); | |
l.ONE.dlShiftTo(2 * a.t, this.r2); | |
this.mu = this.r2.divide(a); | |
} | |
return ( | |
(b.prototype.convert = function (a) { | |
if (0 > a.s || a.t > 2 * this.m.t) return a.mod(this.m); | |
if (0 > a.compareTo(this.m)) return a; | |
var c = n(); | |
return a.copyTo(c), this.reduce(c), c; | |
}), | |
(b.prototype.revert = function (a) { | |
return a; | |
}), | |
(b.prototype.reduce = function (a) { | |
a.drShiftTo(this.m.t - 1, this.r2); | |
a.t > this.m.t + 1 && ((a.t = this.m.t + 1), a.clamp()); | |
this.mu.multiplyUpperTo(this.r2, this.m.t + 1, this.q3); | |
for ( | |
this.m.multiplyLowerTo(this.q3, this.m.t + 1, this.r2); | |
0 > a.compareTo(this.r2); | |
) | |
a.dAddOffset(1, this.m.t + 1); | |
for (a.subTo(this.r2, a); 0 <= a.compareTo(this.m); ) | |
a.subTo(this.m, a); | |
}), | |
(b.prototype.mulTo = function (a, c, b) { | |
a.multiplyTo(c, b); | |
this.reduce(b); | |
}), | |
(b.prototype.sqrTo = function (a, c) { | |
a.squareTo(c); | |
this.reduce(c); | |
}), | |
b | |
); | |
})(); | |
"Microsoft Internet Explorer" == navigator.appName | |
? ((l.prototype.am = function (b, a, c, d, g, e) { | |
var f = 32767 & a; | |
for (a >>= 15; 0 <= --e; ) { | |
var h = 32767 & this[b], | |
l = this[b++] >> 15, | |
u = a * h + l * f; | |
g = | |
((h = f * h + ((32767 & u) << 15) + c[d] + (1073741823 & g)) >>> | |
30) + | |
(u >>> 15) + | |
a * l + | |
(g >>> 30); | |
c[d++] = 1073741823 & h; | |
} | |
return g; | |
}), | |
(p = 30)) | |
: "Netscape" != navigator.appName | |
? ((l.prototype.am = function (b, a, c, d, g, e) { | |
for (; 0 <= --e; ) { | |
var f = a * this[b++] + c[d] + g; | |
g = Math.floor(f / 67108864); | |
c[d++] = 67108863 & f; | |
} | |
return g; | |
}), | |
(p = 26)) | |
: ((l.prototype.am = function (b, a, c, d, g, e) { | |
var f = 16383 & a; | |
for (a >>= 14; 0 <= --e; ) { | |
var h = 16383 & this[b], | |
l = this[b++] >> 14, | |
u = a * h + l * f; | |
g = | |
((h = f * h + ((16383 & u) << 14) + c[d] + g) >> 28) + | |
(u >> 14) + | |
a * l; | |
c[d++] = 268435455 & h; | |
} | |
return g; | |
}), | |
(p = 28)); | |
l.prototype.DB = p; | |
l.prototype.DM = (1 << p) - 1; | |
l.prototype.DV = 1 << p; | |
l.prototype.FV = Math.pow(2, 52); | |
l.prototype.F1 = 52 - p; | |
l.prototype.F2 = 2 * p - 52; | |
var m, | |
K = []; | |
p = 48; | |
for (m = 0; 9 >= m; ++m) K[p++] = m; | |
p = 97; | |
for (m = 10; 36 > m; ++m) K[p++] = m; | |
p = 65; | |
for (m = 10; 36 > m; ++m) K[p++] = m; | |
l.ZERO = x(0); | |
l.ONE = x(1); | |
var i = (function () { | |
function b() { | |
this.j = this.i = 0; | |
this.S = []; | |
} | |
return ( | |
(b.prototype.init = function (a) { | |
var c, b; | |
for (c = 0; 256 > c; ++c) this.S[c] = c; | |
for (c = b = 0; 256 > c; ++c) { | |
b = (b + this.S[c] + a[c % a.length]) & 255; | |
var g = this.S[c]; | |
this.S[c] = this.S[b]; | |
this.S[b] = g; | |
} | |
this.j = this.i = 0; | |
}), | |
(b.prototype.next = function () { | |
var a; | |
return ( | |
(this.i = (this.i + 1) & 255), | |
(this.j = (this.j + this.S[this.i]) & 255), | |
(a = this.S[this.i]), | |
(this.S[this.i] = this.S[this.j]), | |
(this.S[this.j] = a), | |
this.S[(a + this.S[this.i]) & 255] | |
); | |
}), | |
b | |
); | |
})(), | |
M, | |
B = null; | |
if (null == B) { | |
B = []; | |
console.log("🚀 ~ B:", B); | |
p = void (y = 0); | |
if (window.crypto && window.crypto.getRandomValues) | |
for ( | |
m = new Uint32Array(256), window.crypto.getRandomValues(m), p = 0; | |
p < m.length; | |
++p | |
) | |
B[y++] = 255 & m[p]; | |
var N = function (b) { | |
if (((this.count = this.count || 0), 256 <= this.count || 256 <= y)) | |
window.removeEventListener | |
? window.removeEventListener("mousemove", N, !1) | |
: window.detachEvent && window.detachEvent("onmousemove", N); | |
else | |
try { | |
var a = b.x + b.y; | |
B[y++] = 255 & a; | |
console.log(B[y++]); | |
this.count += 1; | |
} catch (c) {} | |
}; | |
window.addEventListener | |
? window.addEventListener("mousemove", N, !1) | |
: window.attachEvent && window.attachEvent("onmousemove", N); | |
} | |
var R = (function () { | |
function b() {} | |
return ( | |
(b.prototype.nextBytes = function (a) { | |
for (var c = 0; c < a.length; ++c) { | |
var b = c; | |
if (null == M) { | |
for (M = new i(); 256 > y; ) { | |
var g = Math.floor(65536 * Math.random()); | |
B[y++] = 255 & g; | |
} | |
M.init(B); | |
for (y = 0; y < B.length; ++y) B[y] = 0; | |
y = 0; | |
} | |
g = M.next(); | |
a[b] = g; | |
} | |
}), | |
b | |
); | |
})(); | |
p = (function () { | |
function b() { | |
this.n = null; | |
this.e = 0; | |
this.coeff = this.dmq1 = this.dmp1 = this.q = this.p = this.d = null; | |
} | |
return ( | |
(b.prototype.doPublic = function (a) { | |
return a.modPowInt(this.e, this.n); | |
}), | |
(b.prototype.doPrivate = function (a) { | |
if (null == this.p || null == this.q) return a.modPow(this.d, this.n); | |
var c = a.mod(this.p).modPow(this.dmp1, this.p); | |
for (a = a.mod(this.q).modPow(this.dmq1, this.q); 0 > c.compareTo(a); ) | |
c = c.add(this.p); | |
return c | |
.subtract(a) | |
.multiply(this.coeff) | |
.mod(this.p) | |
.multiply(this.q) | |
.add(a); | |
}), | |
(b.prototype.setPublic = function (a, c) { | |
null != a && null != c && 0 < a.length && 0 < c.length | |
? ((this.n = r(a, 16)), (this.e = parseInt(c, 16))) | |
: console.error("Invalid RSA public key"); | |
}), | |
(b.prototype.encrypt = function (a) { | |
var c = (this.n.bitLength() + 7) >> 3; | |
if (c < a.length + 11) | |
c = (console.error("Message too long for RSA"), null); | |
else { | |
for (var b = [], g = a.length - 1; 0 <= g && 0 < c; ) { | |
var e = a.charCodeAt(g--); | |
128 > e | |
? (b[--c] = e) | |
: 127 < e && 2048 > e | |
? ((b[--c] = (63 & e) | 128), (b[--c] = (e >> 6) | 192)) | |
: ((b[--c] = (63 & e) | 128), | |
(b[--c] = ((e >> 6) & 63) | 128), | |
(b[--c] = (e >> 12) | 224)); | |
} | |
b[--c] = 0; | |
a = new R(); | |
for (g = []; 2 < c; ) { | |
for (g[0] = 0; 0 == g[0]; ) a.nextBytes(g); | |
b[--c] = g[0]; | |
} | |
c = ((b[--c] = 2), (b[--c] = 0), new l(b)); | |
} | |
if (null == c) return null; | |
c = this.doPublic(c); | |
if (null == c) return null; | |
c = c.toString(16); | |
return 0 == (1 & c.length) ? c : "0" + c; | |
}), | |
(b.prototype.setPrivate = function (a, c, b) { | |
null != a && null != c && 0 < a.length && 0 < c.length | |
? ((this.n = r(a, 16)), | |
(this.e = parseInt(c, 16)), | |
(this.d = r(b, 16))) | |
: console.error("Invalid RSA private key"); | |
}), | |
(b.prototype.setPrivateEx = function (a, c, b, g, e, f, h, l) { | |
null != a && null != c && 0 < a.length && 0 < c.length | |
? ((this.n = r(a, 16)), | |
(this.e = parseInt(c, 16)), | |
(this.d = r(b, 16)), | |
(this.p = r(g, 16)), | |
(this.q = r(e, 16)), | |
(this.dmp1 = r(f, 16)), | |
(this.dmq1 = r(h, 16)), | |
(this.coeff = r(l, 16))) | |
: console.error("Invalid RSA private key"); | |
}), | |
(b.prototype.generate = function (a, c) { | |
var b = new R(), | |
g = a >> 1; | |
this.e = parseInt(c, 16); | |
for (c = new l(c, 16); !0; ) { | |
for ( | |
; | |
(this.p = new l(a - g, 1, b)), | |
0 != this.p.subtract(l.ONE).gcd(c).compareTo(l.ONE) || | |
!this.p.isProbablePrime(10); | |
); | |
for ( | |
; | |
(this.q = new l(g, 1, b)), | |
0 != this.q.subtract(l.ONE).gcd(c).compareTo(l.ONE) || | |
!this.q.isProbablePrime(10); | |
); | |
if (0 >= this.p.compareTo(this.q)) { | |
var e = this.p; | |
this.p = this.q; | |
this.q = e; | |
} | |
e = this.p.subtract(l.ONE); | |
var f = this.q.subtract(l.ONE), | |
h = e.multiply(f); | |
if (0 == h.gcd(c).compareTo(l.ONE)) { | |
this.n = this.p.multiply(this.q); | |
this.d = c.modInverse(h); | |
this.dmp1 = this.d.mod(e); | |
this.dmq1 = this.d.mod(f); | |
this.coeff = this.q.modInverse(this.p); | |
break; | |
} | |
} | |
}), | |
(b.prototype.decrypt = function (a) { | |
a = r(a, 16); | |
a = this.doPrivate(a); | |
if (null == a) a = null; | |
else | |
a: { | |
var c = (this.n.bitLength() + 7) >> 3; | |
a = a.toByteArray(); | |
for (var b = 0; b < a.length && 0 == a[b]; ) ++b; | |
if (a.length - b != c - 1 || 2 != a[b]) a = null; | |
else { | |
for (++b; 0 != a[b]; ) | |
if (++b >= a.length) { | |
a = null; | |
break a; | |
} | |
for (c = ""; ++b < a.length; ) { | |
var g = 255 & a[b]; | |
128 > g | |
? (c += String.fromCharCode(g)) | |
: 191 < g && 224 > g | |
? ((c += String.fromCharCode( | |
((31 & g) << 6) | (63 & a[b + 1]) | |
)), | |
++b) | |
: ((c += String.fromCharCode( | |
((15 & g) << 12) | | |
((63 & a[b + 1]) << 6) | | |
(63 & a[b + 2]) | |
)), | |
(b += 2)); | |
} | |
a = c; | |
} | |
} | |
return a; | |
}), | |
(b.prototype.generateAsync = function (a, c, b) { | |
var d = new R(), | |
e = a >> 1; | |
this.e = parseInt(c, 16); | |
var f = new l(c, 16), | |
h = this, | |
m = function () { | |
var c = function () { | |
if (0 >= h.p.compareTo(h.q)) { | |
var a = h.p; | |
h.p = h.q; | |
h.q = a; | |
} | |
a = h.p.subtract(l.ONE); | |
var c = h.q.subtract(l.ONE), | |
d = a.multiply(c); | |
0 == d.gcd(f).compareTo(l.ONE) | |
? ((h.n = h.p.multiply(h.q)), | |
(h.d = f.modInverse(d)), | |
(h.dmp1 = h.d.mod(a)), | |
(h.dmq1 = h.d.mod(c)), | |
(h.coeff = h.q.modInverse(h.p)), | |
setTimeout(function () { | |
b(); | |
}, 0)) | |
: setTimeout(m, 0); | |
}, | |
g = function () { | |
h.q = n(); | |
h.q.fromNumberAsync(e, 1, d, function () { | |
h.q.subtract(l.ONE).gcda(f, function (a) { | |
0 == a.compareTo(l.ONE) && h.q.isProbablePrime(10) | |
? setTimeout(c, 0) | |
: setTimeout(g, 0); | |
}); | |
}); | |
}, | |
k = function () { | |
h.p = n(); | |
h.p.fromNumberAsync(a - e, 1, d, function () { | |
h.p.subtract(l.ONE).gcda(f, function (a) { | |
0 == a.compareTo(l.ONE) && h.p.isProbablePrime(10) | |
? setTimeout(g, 0) | |
: setTimeout(k, 0); | |
}); | |
}); | |
}; | |
setTimeout(k, 0); | |
}; | |
setTimeout(m, 0); | |
}), | |
(b.prototype.sign = function (a, c, b) { | |
a = (O[b] || "") + c(a).toString(); | |
c = this.n.bitLength() / 4; | |
if (c < a.length + 22) | |
a = (console.error("Message too long for RSA"), null); | |
else { | |
c = c - a.length - 6; | |
b = ""; | |
for (var d = 0; d < c; d += 2) b += "ff"; | |
a = r("0001" + b + "00" + a, 16); | |
} | |
if (null == a) return null; | |
a = this.doPrivate(a); | |
if (null == a) return null; | |
a = a.toString(16); | |
return 0 == (1 & a.length) ? a : "0" + a; | |
}), | |
(b.prototype.verify = function (a, c, b) { | |
c = r(c, 16); | |
c = this.doPublic(c); | |
if (null == c) a = null; | |
else { | |
a: { | |
c = c.toString(16).replace(/^1f+00/, ""); | |
for (f in O) | |
if (O.hasOwnProperty(f)) { | |
var d = O[f], | |
e = d.length; | |
if (c.substr(0, e) == d) { | |
var f = c.substr(e); | |
break a; | |
} | |
} | |
f = c; | |
} | |
a = f == b(a).toString(); | |
} | |
return a; | |
}), | |
b | |
); | |
})(); | |
var O = { | |
md2: "3020300c06082a864886f70d020205000410", | |
md5: "3020300c06082a864886f70d020505000410", | |
sha1: "3021300906052b0e03021a05000414", | |
sha224: "302d300d06096086480165030402040500041c", | |
sha256: "3031300d060960864801650304020105000420", | |
sha384: "3041300d060960864801650304020205000430", | |
sha512: "3051300d060960864801650304020305000440", | |
ripemd160: "3021300906052b2403020105000414", | |
}; | |
m = { | |
extend: function (b, a, c) { | |
if (!a || !b) | |
throw Error( | |
"YAHOO.lang.extend failed, please check that all dependencies are included." | |
); | |
var d = function () {}; | |
if ( | |
((d.prototype = a.prototype), | |
(b.prototype = new d()), | |
((b.prototype.constructor = b).superclass = a.prototype), | |
a.prototype.constructor == Object.prototype.constructor && | |
(a.prototype.constructor = a), | |
c) | |
) { | |
for (var g in c) b.prototype[g] = c[g]; | |
a = function () {}; | |
var e = ["toString", "valueOf"]; | |
try { | |
/MSIE/.test(navigator.userAgent) && | |
(a = function (a, c) { | |
for (g = 0; g < e.length; g += 1) { | |
var b = e[g], | |
d = c[b]; | |
"function" == typeof d && | |
d != Object.prototype[b] && | |
(a[b] = d); | |
} | |
}); | |
} catch (k) {} | |
a(b.prototype, c); | |
} | |
}, | |
}; | |
var f = {}; | |
(void 0 !== f.asn1 && f.asn1) || (f.asn1 = {}); | |
f.asn1.ASN1Util = new (function () { | |
this.integerToByteHex = function (b) { | |
b = b.toString(16); | |
return 1 == b.length % 2 && (b = "0" + b), b; | |
}; | |
this.bigIntToMinTwosComplementsHex = function (b) { | |
var a = b.toString(16); | |
if ("-" != a.substr(0, 1)) | |
1 == a.length % 2 ? (a = "0" + a) : a.match(/^[0-7]/) || (a = "00" + a); | |
else { | |
var c = a.substr(1).length; | |
1 == c % 2 ? (c += 1) : a.match(/^[0-7]/) || (c += 2); | |
a = ""; | |
for (var d = 0; d < c; d++) a += "f"; | |
a = new l(a, 16).xor(b).add(l.ONE).toString(16).replace(/^-/, ""); | |
} | |
return a; | |
}; | |
this.getPEMStringFromHex = function (b, a) { | |
return hextopem(b, a); | |
}; | |
this.newObject = function (b) { | |
var a = f.asn1, | |
c = a.DERBoolean, | |
d = a.DERInteger, | |
g = a.DERBitString, | |
e = a.DEROctetString, | |
k = a.DERNull, | |
h = a.DERObjectIdentifier, | |
l = a.DEREnumerated, | |
m = a.DERUTF8String, | |
n = a.DERNumericString, | |
p = a.DERPrintableString, | |
r = a.DERTeletexString, | |
w = a.DERIA5String, | |
t = a.DERUTCTime, | |
y = a.DERGeneralizedTime, | |
z = a.DERSequence, | |
x = a.DERSet, | |
A = a.DERTaggedObject; | |
a = a.ASN1Util.newObject; | |
var q = Object.keys(b); | |
if (1 != q.length) throw "key of param shall be only one."; | |
q = q[0]; | |
if ( | |
-1 == | |
":bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:seq:set:tag:".indexOf( | |
":" + q + ":" | |
) | |
) | |
throw "undefined key: " + q; | |
if ("bool" == q) return new c(b[q]); | |
if ("int" == q) return new d(b[q]); | |
if ("bitstr" == q) return new g(b[q]); | |
if ("octstr" == q) return new e(b[q]); | |
if ("null" == q) return new k(b[q]); | |
if ("oid" == q) return new h(b[q]); | |
if ("enum" == q) return new l(b[q]); | |
if ("utf8str" == q) return new m(b[q]); | |
if ("numstr" == q) return new n(b[q]); | |
if ("prnstr" == q) return new p(b[q]); | |
if ("telstr" == q) return new r(b[q]); | |
if ("ia5str" == q) return new w(b[q]); | |
if ("utctime" == q) return new t(b[q]); | |
if ("gentime" == q) return new y(b[q]); | |
if ("seq" == q) { | |
A = b[q]; | |
b = []; | |
for (c = 0; c < A.length; c++) (d = a(A[c])), b.push(d); | |
return new z({ array: b }); | |
} | |
if ("set" == q) { | |
A = b[q]; | |
b = []; | |
for (c = 0; c < A.length; c++) (d = a(A[c])), b.push(d); | |
return new x({ array: b }); | |
} | |
if ("tag" == q) { | |
z = b[q]; | |
if ( | |
"[object Array]" === Object.prototype.toString.call(z) && | |
3 == z.length | |
) | |
return (a = a(z[2])), new A({ tag: z[0], explicit: z[1], obj: a }); | |
x = {}; | |
if ( | |
(void 0 !== z.explicit && (x.explicit = z.explicit), | |
void 0 !== z.tag && (x.tag = z.tag), | |
void 0 === z.obj) | |
) | |
throw "obj shall be specified for 'tag'."; | |
return (x.obj = a(z.obj)), new A(x); | |
} | |
}; | |
this.jsonToASN1HEX = function (b) { | |
return this.newObject(b).getEncodedHex(); | |
}; | |
})(); | |
f.asn1.ASN1Util.oidHexToInt = function (b) { | |
var a = parseInt(b.substr(0, 2), 16); | |
for ( | |
var c = ((a = Math.floor(a / 40) + "." + (a % 40)), ""), d = 2; | |
d < b.length; | |
d += 2 | |
) { | |
var g = ("00000000" + parseInt(b.substr(d, 2), 16).toString(2)).slice(-8); | |
if (((c += g.substr(1, 7)), "0" == g.substr(0, 1))) | |
(a = a + "." + new l(c, 2).toString(10)), (c = ""); | |
} | |
return a; | |
}; | |
f.asn1.ASN1Util.oidIntToHex = function (b) { | |
var a = function (a) { | |
a = a.toString(16); | |
return 1 == a.length && (a = "0" + a), a; | |
}, | |
c = function (c) { | |
var b = ""; | |
c = new l(c, 10).toString(2); | |
var d = 7 - (c.length % 7); | |
7 == d && (d = 0); | |
for (var e = "", g = 0; g < d; g++) e += "0"; | |
c = e + c; | |
for (g = 0; g < c.length - 1; g += 7) | |
(d = c.substr(g, 7)), | |
g != c.length - 7 && (d = "1" + d), | |
(b += a(parseInt(d, 2))); | |
return b; | |
}; | |
if (!b.match(/^[0-9.]+$/)) throw "malformed oid string: " + b; | |
var d = ""; | |
b = b.split("."); | |
var g = 40 * parseInt(b[0]) + parseInt(b[1]); | |
d += a(g); | |
b.splice(0, 2); | |
for (g = 0; g < b.length; g++) d += c(b[g]); | |
return d; | |
}; | |
f.asn1.ASN1Object = function () { | |
this.getLengthHexFromValue = function () { | |
if (void 0 === this.hV || null == this.hV) | |
throw "this.hV is null or undefined."; | |
if (1 == this.hV.length % 2) throw "33,v=" + this.hV; | |
var b = this.hV.length / 2, | |
a = b.toString(16); | |
if ((1 == a.length % 2 && (a = "0" + a), 128 > b)) return a; | |
var c = a.length / 2; | |
if (15 < c) | |
throw "ASN.1 length too long to represent by 8x: n = " + b.toString(16); | |
return (128 + c).toString(16) + a; | |
}; | |
this.getEncodedHex = function () { | |
return ( | |
(null == this.hTLV || this.isModified) && | |
((this.hV = this.getFreshValueHex()), | |
(this.hL = this.getLengthHexFromValue()), | |
(this.hTLV = this.hT + this.hL + this.hV), | |
(this.isModified = !1)), | |
this.hTLV | |
); | |
}; | |
this.getValueHex = function () { | |
return this.getEncodedHex(), this.hV; | |
}; | |
this.getFreshValueHex = function () { | |
return ""; | |
}; | |
}; | |
f.asn1.DERAbstractString = function (b) { | |
f.asn1.DERAbstractString.superclass.constructor.call(this); | |
this.getString = function () { | |
return this.s; | |
}; | |
this.setString = function (a) { | |
this.hTLV = null; | |
this.isModified = !0; | |
this.s = a; | |
this.hV = stohex(this.s); | |
}; | |
this.setStringHex = function (a) { | |
this.hTLV = null; | |
this.isModified = !0; | |
this.s = null; | |
this.hV = a; | |
}; | |
this.getFreshValueHex = function () { | |
return this.hV; | |
}; | |
void 0 !== b && | |
("string" == typeof b | |
? this.setString(b) | |
: void 0 !== b.str | |
? this.setString(b.str) | |
: void 0 !== b.hex && this.setStringHex(b.hex)); | |
}; | |
m.extend(f.asn1.DERAbstractString, f.asn1.ASN1Object); | |
f.asn1.DERAbstractTime = function (b) { | |
f.asn1.DERAbstractTime.superclass.constructor.call(this); | |
this.localDateToUTC = function (a) { | |
return (utc = a.getTime() + 6e4 * a.getTimezoneOffset()), new Date(utc); | |
}; | |
this.formatDate = function (a, c, b) { | |
var d = this.zeroPadding; | |
a = this.localDateToUTC(a); | |
var e = String(a.getFullYear()); | |
"utc" == c && (e = e.substr(2, 2)); | |
c = | |
e + | |
d(String(a.getMonth() + 1), 2) + | |
d(String(a.getDate()), 2) + | |
d(String(a.getHours()), 2) + | |
d(String(a.getMinutes()), 2) + | |
d(String(a.getSeconds()), 2); | |
!0 === b && | |
((b = a.getMilliseconds()), | |
0 != b && | |
((d = d(String(b), 3)), (c = c + "." + d.replace(/[0]+$/, "")))); | |
return c + "Z"; | |
}; | |
this.zeroPadding = function (a, c) { | |
return a.length >= c ? a : Array(c - a.length + 1).join("0") + a; | |
}; | |
this.getString = function () { | |
return this.s; | |
}; | |
this.setString = function (a) { | |
this.hTLV = null; | |
this.isModified = !0; | |
this.s = a; | |
this.hV = stohex(a); | |
}; | |
this.setByDateValue = function (a, c, b, g, e, f) { | |
a = new Date(Date.UTC(a, c - 1, b, g, e, f, 0)); | |
this.setByDate(a); | |
}; | |
this.getFreshValueHex = function () { | |
return this.hV; | |
}; | |
}; | |
m.extend(f.asn1.DERAbstractTime, f.asn1.ASN1Object); | |
f.asn1.DERAbstractStructured = function (b) { | |
f.asn1.DERAbstractString.superclass.constructor.call(this); | |
this.setByASN1ObjectArray = function (a) { | |
this.hTLV = null; | |
this.isModified = !0; | |
this.asn1Array = a; | |
}; | |
this.appendASN1Object = function (a) { | |
this.hTLV = null; | |
this.isModified = !0; | |
this.asn1Array.push(a); | |
}; | |
this.asn1Array = []; | |
void 0 !== b && void 0 !== b.array && (this.asn1Array = b.array); | |
}; | |
m.extend(f.asn1.DERAbstractStructured, f.asn1.ASN1Object); | |
f.asn1.DERBoolean = function () { | |
f.asn1.DERBoolean.superclass.constructor.call(this); | |
this.hT = "01"; | |
this.hTLV = "0101ff"; | |
}; | |
m.extend(f.asn1.DERBoolean, f.asn1.ASN1Object); | |
f.asn1.DERInteger = function (b) { | |
f.asn1.DERInteger.superclass.constructor.call(this); | |
this.hT = "02"; | |
this.setByBigInteger = function (a) { | |
this.hTLV = null; | |
this.isModified = !0; | |
this.hV = f.asn1.ASN1Util.bigIntToMinTwosComplementsHex(a); | |
}; | |
this.setByInteger = function (a) { | |
a = new l(String(a), 10); | |
this.setByBigInteger(a); | |
}; | |
this.setValueHex = function (a) { | |
this.hV = a; | |
}; | |
this.getFreshValueHex = function () { | |
return this.hV; | |
}; | |
void 0 !== b && | |
(void 0 !== b.bigint | |
? this.setByBigInteger(b.bigint) | |
: void 0 !== b.int | |
? this.setByInteger(b.int) | |
: "number" == typeof b | |
? this.setByInteger(b) | |
: void 0 !== b.hex && this.setValueHex(b.hex)); | |
}; | |
m.extend(f.asn1.DERInteger, f.asn1.ASN1Object); | |
f.asn1.DERBitString = function (b) { | |
if (void 0 !== b && void 0 !== b.obj) { | |
var a = f.asn1.ASN1Util.newObject(b.obj); | |
b.hex = "00" + a.getEncodedHex(); | |
} | |
f.asn1.DERBitString.superclass.constructor.call(this); | |
this.hT = "03"; | |
this.setHexValueIncludingUnusedBits = function (a) { | |
this.hTLV = null; | |
this.isModified = !0; | |
this.hV = a; | |
}; | |
this.setUnusedBitsAndHexValue = function (a, b) { | |
if (0 > a || 7 < a) throw "unused bits shall be from 0 to 7: u = " + a; | |
this.hTLV = null; | |
this.isModified = !0; | |
this.hV = "0" + a + b; | |
}; | |
this.setByBinaryString = function (a) { | |
var c = 8 - ((a = a.replace(/0+$/, "")).length % 8); | |
8 == c && (c = 0); | |
for (var b = 0; b <= c; b++) a += "0"; | |
var e = ""; | |
for (b = 0; b < a.length - 1; b += 8) { | |
var f = a.substr(b, 8); | |
f = parseInt(f, 2).toString(16); | |
1 == f.length && (f = "0" + f); | |
e += f; | |
} | |
this.hTLV = null; | |
this.isModified = !0; | |
this.hV = "0" + c + e; | |
}; | |
this.setByBooleanArray = function (a) { | |
for (var c = "", b = 0; b < a.length; b++) | |
1 == a[b] ? (c += "1") : (c += "0"); | |
this.setByBinaryString(c); | |
}; | |
this.newFalseArray = function (a) { | |
for (var c = Array(a), b = 0; b < a; b++) c[b] = !1; | |
return c; | |
}; | |
this.getFreshValueHex = function () { | |
return this.hV; | |
}; | |
void 0 !== b && | |
("string" == typeof b && b.toLowerCase().match(/^[0-9a-f]+$/) | |
? this.setHexValueIncludingUnusedBits(b) | |
: void 0 !== b.hex | |
? this.setHexValueIncludingUnusedBits(b.hex) | |
: void 0 !== b.bin | |
? this.setByBinaryString(b.bin) | |
: void 0 !== b.array && this.setByBooleanArray(b.array)); | |
}; | |
m.extend(f.asn1.DERBitString, f.asn1.ASN1Object); | |
f.asn1.DEROctetString = function (b) { | |
if (void 0 !== b && void 0 !== b.obj) { | |
var a = f.asn1.ASN1Util.newObject(b.obj); | |
b.hex = a.getEncodedHex(); | |
} | |
f.asn1.DEROctetString.superclass.constructor.call(this, b); | |
this.hT = "04"; | |
}; | |
m.extend(f.asn1.DEROctetString, f.asn1.DERAbstractString); | |
f.asn1.DERNull = function () { | |
f.asn1.DERNull.superclass.constructor.call(this); | |
this.hT = "05"; | |
this.hTLV = "0500"; | |
}; | |
m.extend(f.asn1.DERNull, f.asn1.ASN1Object); | |
f.asn1.DERObjectIdentifier = function (b) { | |
var a = function (a) { | |
a = a.toString(16); | |
return 1 == a.length && (a = "0" + a), a; | |
}; | |
f.asn1.DERObjectIdentifier.superclass.constructor.call(this); | |
this.hT = "06"; | |
this.setValueHex = function (a) { | |
this.hTLV = null; | |
this.isModified = !0; | |
this.s = null; | |
this.hV = a; | |
}; | |
this.setValueOidString = function (c) { | |
if (!c.match(/^[0-9.]+$/)) throw "malformed oid string: " + c; | |
var b = ""; | |
c = c.split("."); | |
var f = 40 * parseInt(c[0]) + parseInt(c[1]); | |
b += a(f); | |
c.splice(0, 2); | |
for (f = 0; f < c.length; f++) { | |
var e = "", | |
k = new l(c[f], 10).toString(2), | |
h = 7 - (k.length % 7); | |
7 == h && (h = 0); | |
for (var m = "", n = 0; n < h; n++) m += "0"; | |
k = m + k; | |
for (n = 0; n < k.length - 1; n += 7) | |
(h = k.substr(n, 7)), | |
n != k.length - 7 && (h = "1" + h), | |
(e += a(parseInt(h, 2))); | |
b += e; | |
} | |
this.hTLV = null; | |
this.isModified = !0; | |
this.s = null; | |
this.hV = b; | |
}; | |
this.setValueName = function (a) { | |
var c = f.asn1.x509.OID.name2oid(a); | |
if ("" === c) throw "DERObjectIdentifier oidName undefined: " + a; | |
this.setValueOidString(c); | |
}; | |
this.getFreshValueHex = function () { | |
return this.hV; | |
}; | |
void 0 !== b && | |
("string" == typeof b | |
? b.match(/^[0-2].[0-9.]+$/) | |
? this.setValueOidString(b) | |
: this.setValueName(b) | |
: void 0 !== b.oid | |
? this.setValueOidString(b.oid) | |
: void 0 !== b.hex | |
? this.setValueHex(b.hex) | |
: void 0 !== b.name && this.setValueName(b.name)); | |
}; | |
m.extend(f.asn1.DERObjectIdentifier, f.asn1.ASN1Object); | |
f.asn1.DEREnumerated = function (b) { | |
f.asn1.DEREnumerated.superclass.constructor.call(this); | |
this.hT = "0a"; | |
this.setByBigInteger = function (a) { | |
this.hTLV = null; | |
this.isModified = !0; | |
this.hV = f.asn1.ASN1Util.bigIntToMinTwosComplementsHex(a); | |
}; | |
this.setByInteger = function (a) { | |
a = new l(String(a), 10); | |
this.setByBigInteger(a); | |
}; | |
this.setValueHex = function (a) { | |
this.hV = a; | |
}; | |
this.getFreshValueHex = function () { | |
return this.hV; | |
}; | |
void 0 !== b && | |
(void 0 !== b.int | |
? this.setByInteger(b.int) | |
: "number" == typeof b | |
? this.setByInteger(b) | |
: void 0 !== b.hex && this.setValueHex(b.hex)); | |
}; | |
m.extend(f.asn1.DEREnumerated, f.asn1.ASN1Object); | |
f.asn1.DERUTF8String = function (b) { | |
f.asn1.DERUTF8String.superclass.constructor.call(this, b); | |
this.hT = "0c"; | |
}; | |
m.extend(f.asn1.DERUTF8String, f.asn1.DERAbstractString); | |
f.asn1.DERNumericString = function (b) { | |
f.asn1.DERNumericString.superclass.constructor.call(this, b); | |
this.hT = "12"; | |
}; | |
m.extend(f.asn1.DERNumericString, f.asn1.DERAbstractString); | |
f.asn1.DERPrintableString = function (b) { | |
f.asn1.DERPrintableString.superclass.constructor.call(this, b); | |
this.hT = "13"; | |
}; | |
m.extend(f.asn1.DERPrintableString, f.asn1.DERAbstractString); | |
f.asn1.DERTeletexString = function (b) { | |
f.asn1.DERTeletexString.superclass.constructor.call(this, b); | |
this.hT = "14"; | |
}; | |
m.extend(f.asn1.DERTeletexString, f.asn1.DERAbstractString); | |
f.asn1.DERIA5String = function (b) { | |
f.asn1.DERIA5String.superclass.constructor.call(this, b); | |
this.hT = "16"; | |
}; | |
m.extend(f.asn1.DERIA5String, f.asn1.DERAbstractString); | |
f.asn1.DERUTCTime = function (b) { | |
f.asn1.DERUTCTime.superclass.constructor.call(this, b); | |
this.hT = "17"; | |
this.setByDate = function (a) { | |
this.hTLV = null; | |
this.isModified = !0; | |
this.date = a; | |
this.s = this.formatDate(this.date, "utc"); | |
this.hV = stohex(this.s); | |
}; | |
this.getFreshValueHex = function () { | |
return ( | |
void 0 === this.date && | |
void 0 === this.s && | |
((this.date = new Date()), | |
(this.s = this.formatDate(this.date, "utc")), | |
(this.hV = stohex(this.s))), | |
this.hV | |
); | |
}; | |
void 0 !== b && | |
(void 0 !== b.str | |
? this.setString(b.str) | |
: "string" == typeof b && b.match(/^[0-9]{12}Z$/) | |
? this.setString(b) | |
: void 0 !== b.hex | |
? this.setStringHex(b.hex) | |
: void 0 !== b.date && this.setByDate(b.date)); | |
}; | |
m.extend(f.asn1.DERUTCTime, f.asn1.DERAbstractTime); | |
f.asn1.DERGeneralizedTime = function (b) { | |
f.asn1.DERGeneralizedTime.superclass.constructor.call(this, b); | |
this.hT = "18"; | |
this.withMillis = !1; | |
this.setByDate = function (a) { | |
this.hTLV = null; | |
this.isModified = !0; | |
this.date = a; | |
this.s = this.formatDate(this.date, "gen", this.withMillis); | |
this.hV = stohex(this.s); | |
}; | |
this.getFreshValueHex = function () { | |
return ( | |
void 0 === this.date && | |
void 0 === this.s && | |
((this.date = new Date()), | |
(this.s = this.formatDate(this.date, "gen", this.withMillis)), | |
(this.hV = stohex(this.s))), | |
this.hV | |
); | |
}; | |
void 0 !== b && | |
(void 0 !== b.str | |
? this.setString(b.str) | |
: "string" == typeof b && b.match(/^[0-9]{14}Z$/) | |
? this.setString(b) | |
: void 0 !== b.hex | |
? this.setStringHex(b.hex) | |
: void 0 !== b.date && this.setByDate(b.date), | |
!0 === b.millis && (this.withMillis = !0)); | |
}; | |
m.extend(f.asn1.DERGeneralizedTime, f.asn1.DERAbstractTime); | |
f.asn1.DERSequence = function (b) { | |
f.asn1.DERSequence.superclass.constructor.call(this, b); | |
this.hT = "30"; | |
this.getFreshValueHex = function () { | |
for (var a = "", c = 0; c < this.asn1Array.length; c++) | |
a += this.asn1Array[c].getEncodedHex(); | |
return (this.hV = a), this.hV; | |
}; | |
}; | |
m.extend(f.asn1.DERSequence, f.asn1.DERAbstractStructured); | |
f.asn1.DERSet = function (b) { | |
f.asn1.DERSet.superclass.constructor.call(this, b); | |
this.hT = "31"; | |
this.sortFlag = !0; | |
this.getFreshValueHex = function () { | |
for (var a = [], c = 0; c < this.asn1Array.length; c++) | |
a.push(this.asn1Array[c].getEncodedHex()); | |
return 1 == this.sortFlag && a.sort(), (this.hV = a.join("")), this.hV; | |
}; | |
void 0 !== b && | |
void 0 !== b.sortflag && | |
0 == b.sortflag && | |
(this.sortFlag = !1); | |
}; | |
m.extend(f.asn1.DERSet, f.asn1.DERAbstractStructured); | |
f.asn1.DERTaggedObject = function (b) { | |
f.asn1.DERTaggedObject.superclass.constructor.call(this); | |
this.hT = "a0"; | |
this.hV = ""; | |
this.isExplicit = !0; | |
this.asn1Object = null; | |
this.setASN1Object = function (a, c, b) { | |
this.hT = c; | |
this.isExplicit = a; | |
this.asn1Object = b; | |
this.isExplicit | |
? ((this.hV = this.asn1Object.getEncodedHex()), | |
(this.hTLV = null), | |
(this.isModified = !0)) | |
: ((this.hV = null), | |
(this.hTLV = b.getEncodedHex()), | |
(this.hTLV = this.hTLV.replace(/^../, c)), | |
(this.isModified = !1)); | |
}; | |
this.getFreshValueHex = function () { | |
return this.hV; | |
}; | |
void 0 !== b && | |
(void 0 !== b.tag && (this.hT = b.tag), | |
void 0 !== b.explicit && (this.isExplicit = b.explicit), | |
void 0 !== b.obj && | |
((this.asn1Object = b.obj), | |
this.setASN1Object(this.isExplicit, this.hT, this.asn1Object))); | |
}; | |
m.extend(f.asn1.DERTaggedObject, f.asn1.ASN1Object); | |
var j = (function (b) { | |
function a(c) { | |
var d = b.call(this) || this; | |
return ( | |
c && | |
("string" == typeof c | |
? d.parseKey(c) | |
: (a.hasPrivateKeyProperty(c) || a.hasPublicKeyProperty(c)) && | |
d.parsePropertiesFrom(c)), | |
d | |
); | |
} | |
return ( | |
(function (a, b) { | |
function c() { | |
this.constructor = a; | |
} | |
W(a, b); | |
a.prototype = | |
null === b | |
? Object.create(b) | |
: ((c.prototype = b.prototype), new c()); | |
})(a, b), | |
(a.prototype.parseKey = function (a) { | |
try { | |
var b = 0, | |
c = 0; | |
if (/^\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\s*)+$/.test(a)) { | |
var e; | |
if (void 0 === D) { | |
var f = "0123456789ABCDEF"; | |
D = {}; | |
for (e = 0; 16 > e; ++e) D[f.charAt(e)] = e; | |
f = f.toLowerCase(); | |
for (e = 10; 16 > e; ++e) D[f.charAt(e)] = e; | |
for (e = 0; 8 > e; ++e) | |
D[" \f\n\r\t\u00a0\u2028\u2029".charAt(e)] = -1; | |
} | |
f = []; | |
var h = 0, | |
l = 0; | |
for (e = 0; e < a.length; ++e) { | |
var m = a.charAt(e); | |
if ("=" == m) break; | |
if (-1 != (m = D[m])) { | |
if (void 0 === m) | |
throw Error("Illegal character at offset " + e); | |
h |= m; | |
2 <= ++l ? ((f[f.length] = h), (l = h = 0)) : (h <<= 4); | |
} | |
} | |
if (l) throw Error("Hex encoding incomplete: 4 bits missing"); | |
var n = f; | |
} else n = P.unarmor(a); | |
var p = ea.decode(n); | |
if ( | |
(3 === p.sub.length && (p = p.sub[2].sub[0]), 9 === p.sub.length) | |
) { | |
b = p.sub[1].getHexStringValue(); | |
this.n = r(b, 16); | |
c = p.sub[2].getHexStringValue(); | |
this.e = parseInt(c, 16); | |
var v = p.sub[3].getHexStringValue(); | |
this.d = r(v, 16); | |
var w = p.sub[4].getHexStringValue(); | |
this.p = r(w, 16); | |
var t = p.sub[5].getHexStringValue(); | |
this.q = r(t, 16); | |
var x = p.sub[6].getHexStringValue(); | |
this.dmp1 = r(x, 16); | |
var z = p.sub[7].getHexStringValue(); | |
this.dmq1 = r(z, 16); | |
var y = p.sub[8].getHexStringValue(); | |
this.coeff = r(y, 16); | |
} else { | |
if (2 !== p.sub.length) return !1; | |
var A = p.sub[1].sub[0]; | |
b = A.sub[0].getHexStringValue(); | |
this.n = r(b, 16); | |
c = A.sub[1].getHexStringValue(); | |
this.e = parseInt(c, 16); | |
} | |
return !0; | |
} catch (q) { | |
return !1; | |
} | |
}), | |
(a.prototype.getPrivateBaseKey = function () { | |
var a = { | |
array: [ | |
new f.asn1.DERInteger({ int: 0 }), | |
new f.asn1.DERInteger({ bigint: this.n }), | |
new f.asn1.DERInteger({ int: this.e }), | |
new f.asn1.DERInteger({ bigint: this.d }), | |
new f.asn1.DERInteger({ bigint: this.p }), | |
new f.asn1.DERInteger({ bigint: this.q }), | |
new f.asn1.DERInteger({ bigint: this.dmp1 }), | |
new f.asn1.DERInteger({ bigint: this.dmq1 }), | |
new f.asn1.DERInteger({ bigint: this.coeff }), | |
], | |
}; | |
return new f.asn1.DERSequence(a).getEncodedHex(); | |
}), | |
(a.prototype.getPrivateBaseKeyB64 = function () { | |
return J(this.getPrivateBaseKey()); | |
}), | |
(a.prototype.getPublicBaseKey = function () { | |
var a = new f.asn1.DERSequence({ | |
array: [ | |
new f.asn1.DERObjectIdentifier({ oid: "1.2.840.113549.1.1.1" }), | |
new f.asn1.DERNull(), | |
], | |
}), | |
b = new f.asn1.DERSequence({ | |
array: [ | |
new f.asn1.DERInteger({ bigint: this.n }), | |
new f.asn1.DERInteger({ int: this.e }), | |
], | |
}); | |
b = new f.asn1.DERBitString({ hex: "00" + b.getEncodedHex() }); | |
return new f.asn1.DERSequence({ array: [a, b] }).getEncodedHex(); | |
}), | |
(a.prototype.getPublicBaseKeyB64 = function () { | |
return J(this.getPublicBaseKey()); | |
}), | |
(a.wordwrap = function (a, b) { | |
if (!a) return a; | |
var c = "(.{1," + (b = b || 64) + "})( +|$\n?)|(.{1," + b + "})"; | |
return a.match(RegExp(c, "g")).join("\n"); | |
}), | |
(a.prototype.getPrivateKey = function () { | |
var b = "-----BEGIN RSA PRIVATE KEY-----\n"; | |
return ( | |
(b += a.wordwrap(this.getPrivateBaseKeyB64()) + "\n"), | |
b + "-----END RSA PRIVATE KEY-----" | |
); | |
}), | |
(a.prototype.getPublicKey = function () { | |
var b = "-----BEGIN PUBLIC KEY-----\n"; | |
return ( | |
(b += a.wordwrap(this.getPublicBaseKeyB64()) + "\n"), | |
b + "-----END PUBLIC KEY-----" | |
); | |
}), | |
(a.hasPublicKeyProperty = function (a) { | |
return (a = a || {}).hasOwnProperty("n") && a.hasOwnProperty("e"); | |
}), | |
(a.hasPrivateKeyProperty = function (a) { | |
return ( | |
(a = a || {}).hasOwnProperty("n") && | |
a.hasOwnProperty("e") && | |
a.hasOwnProperty("d") && | |
a.hasOwnProperty("p") && | |
a.hasOwnProperty("q") && | |
a.hasOwnProperty("dmp1") && | |
a.hasOwnProperty("dmq1") && | |
a.hasOwnProperty("coeff") | |
); | |
}), | |
(a.prototype.parsePropertiesFrom = function (a) { | |
this.n = a.n; | |
this.e = a.e; | |
a.hasOwnProperty("d") && | |
((this.d = a.d), | |
(this.p = a.p), | |
(this.q = a.q), | |
(this.dmp1 = a.dmp1), | |
(this.dmq1 = a.dmq1), | |
(this.coeff = a.coeff)); | |
}), | |
a | |
); | |
})(p); | |
p = (function () { | |
function b(a) { | |
a = a || {}; | |
this.default_key_size = parseInt(a.default_key_size, 10) || 1024; | |
this.default_public_exponent = a.default_public_exponent || "010001"; | |
this.log = a.log || !1; | |
this.key = null; | |
} | |
return ( | |
(b.prototype.setKey = function (a) { | |
console.log("🚀 ~ a:", a); | |
this.log && | |
this.key && | |
console.warn("A key was already set, overriding existing."); | |
this.key = new j(a); | |
console.log("🚀 ~ this.key:", this.key); | |
}), | |
(b.prototype.setPrivateKey = function (a) { | |
this.setKey(a); | |
}), | |
(b.prototype.setPublicKey = function (a) { | |
this.setKey(a); | |
}), | |
(b.prototype.sojsonAuth = function (a) { | |
this.setKey(a); | |
}), | |
(b.prototype.decrypt = function (a) { | |
try { | |
return this.getKey().decrypt(U(a)); | |
} catch (c) { | |
return !1; | |
} | |
}), | |
(b.prototype.encrypt = function (a) { | |
try { | |
return J(this.getKey().encrypt(a)); | |
} catch (c) { | |
return !1; | |
} | |
}), | |
(b.prototype.en = function (a) { | |
return this.encrypt(a); | |
}), | |
(b.prototype.sign = function (a, b, d) { | |
try { | |
return J(this.getKey().sign(a, b, d)); | |
} catch (g) { | |
return !1; | |
} | |
}), | |
(b.prototype.verify = function (a, b, d) { | |
try { | |
return this.getKey().verify(a, U(b), d); | |
} catch (g) { | |
return !1; | |
} | |
}), | |
(b.prototype.getKey = function (a) { | |
if (!this.key) { | |
if ( | |
((this.key = new j()), | |
a && "[object Function]" === {}.toString.call(a)) | |
) | |
return void this.key.generateAsync( | |
this.default_key_size, | |
this.default_public_exponent, | |
a | |
); | |
this.key.generate( | |
this.default_key_size, | |
this.default_public_exponent | |
); | |
} | |
return this.key; | |
}), | |
(b.prototype.getPrivateKey = function () { | |
return this.getKey().getPrivateKey(); | |
}), | |
(b.prototype.getPrivateKeyB64 = function () { | |
return this.getKey().getPrivateBaseKeyB64(); | |
}), | |
(b.prototype.getPublicKey = function () { | |
return this.getKey().getPublicKey(); | |
}), | |
(b.prototype.getPublicKeyB64 = function () { | |
return this.getKey().getPublicBaseKeyB64(); | |
}), | |
(b.version = "sojson.3.0.0"), | |
b | |
); | |
})(); | |
window['SOSecurity'] = p; | |
E['SOSecurity'] = p; | |
E.default = p; | |
Object.defineProperty(E, "__esModule", { value: !0 }); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment