当前位置: 首页 > news >正文

成都金牛网站建设公司建e室内设计

成都金牛网站建设公司,建e室内设计,没有注册公司可以做网站吗,设计绘图软件声明 此次案例只为学习交流使用#xff0c;抓包内容、敏感网址、数据接口均已做脱敏处理#xff0c;切勿用于其他非法用途#xff1b; 文章目录声明一、资源推荐二、逆向目标三、抓包分析 下断分析逆向3.1 抓包分析3.2 下断分析逆向拿到混淆JS代码3.3 AAEncode解决方… 声明 此次案例只为学习交流使用抓包内容、敏感网址、数据接口均已做脱敏处理切勿用于其他非法用途 文章目录声明一、资源推荐二、逆向目标三、抓包分析 下断分析逆向3.1 抓包分析3.2 下断分析逆向拿到混淆JS代码3.3 AAEncode解决方式四、JS代码调试 完整JS代码4.1 JS代码调试4.2 完整JS代码五、python代码实现总结提示以下是本篇文章正文内容下面案例可供参考 一、资源推荐 Web Spider 常见混淆EVAL、AA、JJ、JSFUCKhttps://blog.csdn.net/EXIxiaozhou/article/details/128767669 网洛者 - 反反爬虫训练平台网址https://wangluozhe.com/ JS逆向加密解密工具Crypto Magician、乐易助手、WT-JS 下载使用:https://blog.csdn.net/EXIxiaozhou/article/details/128034062 二、逆向目标 本次案例会使用三种方式解析混淆JS代码 三、抓包分析 下断分析逆向 3.1 抓包分析 1、POSThttps://wangluozhe.com/challenge/api/3 2、逆向加密参数_signature可以发现加密参数的长度是112 3.2 下断分析逆向拿到混淆JS代码 1、通过启动器进入代码定义处 2、在此处下断点window.get_sign(); 3、翻页刷新网站 4、复制混淆JS代码 window.date Date.now().toString().slice(5,13);ω /´ ~┻━┻ //*´∇*/ [_]; o() _3; c(Θ) ()-(); (Д) (Θ) (o^_^o)/ (o^_^o);(Д){Θ: _ ,ω : ((ω3) _) [Θ] , :(ω _)[o^_^o -(Θ)] ,Д:((3) _)[] }; (Д) [Θ] ((ω3) _) [c^_^o];(Д) [c] ((Д)_) [ ()()-(Θ) ];(Д) [o] ((Д)_) [Θ];(o)(Д) [c](Д) [o](ω _)[Θ] ((ω3) _) [] ((Д) _) [()()] ((3) _) [Θ]((3) _) [() - (Θ)](Д) [c]((Д)_) [()()] (Д) [o]((3) _) [Θ];(Д) [_] (o^_^o) [o] [o];(ε)((3) _) [Θ] (Д) .Д((Д)_) [() ()]((3) _) [o^_^o -Θ]((3) _) [Θ] (ω _) [Θ]; ()(Θ); (Д)[ε]\\; (Д).Θ(Д )[o^_^o -(Θ)];(oo)(ω _)[c^_^o];(Д) [o]\;(Д) [_] ( (Д) [_] (ε/*´∇*/(Д)[o] (Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)(() (o^_^o))(Θ)(Д)[ε](Θ)(() (o^_^o))(o^_^o)(Д)[ε](() (Θ))(c^_^o)(Д)[ε](Θ)()((o^_^o) (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))(() (Θ))(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)(() (Θ))(Θ)(Д)[ε](Θ)(() (Θ))(() (o^_^o))(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](() (Θ))(c^_^o)(Д)[ε](() (Θ))(Θ)(Д)[ε](Θ)(() (o^_^o))(o^_^o)(Д)[ε]()(() (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε](Θ)()(() (Θ))(Д)[ε]()(c^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)(() (Θ))(Θ)(Д)[ε](Θ)()(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε]()(() (o^_^o))(Д)[ε](() (o^_^o))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) (o^_^o))(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε]()(c^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)(() (Θ))(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))(c^_^o)(Д)[ε](() (o^_^o))(() (Θ))(Д)[ε]()((o^_^o) - (Θ))(Д)[ε]()((o^_^o) - (Θ))(Д)[ε](() (o^_^o))(o^_^o)(Д)[ε](Θ)(Θ)(() (o^_^o))(Д)[ε](Θ)()((o^_^o) - (Θ))(Д)[ε](Θ)(() (Θ))((o^_^o) - (Θ))(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)()(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()()(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)()((o^_^o) (o^_^o))(Д)[ε](Θ)(() (Θ))(Θ)(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)((o^_^o) - (Θ))(c^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)(() (Θ))(() (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))(c^_^o)(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)(() (o^_^o))(Θ)(Д)[ε](() (Θ))(c^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))(() (o^_^o))(Д)[ε](Θ)(() (Θ))(Θ)(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()()(Д)[ε](Θ)(() (Θ))(() (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))(() (o^_^o))(Д)[ε](() (Θ))()(Д)[ε]()(() (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε](Θ)(() (Θ))(Θ)(Д)[ε](Θ)()(() (o^_^o))(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε]()(() (o^_^o))(Д)[ε](() (Θ))()(Д)[ε](Θ)(() (o^_^o))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](() (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)()((o^_^o) (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))(() (Θ))(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)(() (Θ))(Θ)(Д)[ε](Θ)(() (Θ))(() (o^_^o))(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](() (Θ))(c^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) (o^_^o))(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)(() (Θ))()(Д)[ε](() (Θ))(Θ)(Д)[ε](Θ)(() (o^_^o))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)(() (Θ))(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))(c^_^o)(Д)[ε](() (o^_^o))(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) (o^_^o))(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)(() (Θ))()(Д)[ε](() (o^_^o))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)((o^_^o) (o^_^o))(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε]()(c^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) (o^_^o))(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)(() (Θ))()(Д)[ε](() (o^_^o))(o^_^o)(Д)[ε](Θ)(() (o^_^o))(() (Θ))(Д)[ε](() (Θ))()(Д)[ε](Θ)()(() (o^_^o))(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](() (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)()((o^_^o) (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))(() (Θ))(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)(() (Θ))(Θ)(Д)[ε](Θ)(() (Θ))(() (o^_^o))(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](() (Θ))(c^_^o)(Д)[ε](() (Θ))(Θ)(Д)[ε](Θ)(() (o^_^o))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)((o^_^o) (o^_^o))(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε]()(c^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)(() (Θ))(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))(c^_^o)(Д)[ε](() (o^_^o))(o^_^o)(Д)[ε](Θ)(() (o^_^o))(() (Θ))(Д)[ε](Θ)(() (o^_^o))(() (Θ))(Д)[ε](() (Θ))(Θ)(Д)[ε](() (o^_^o))(o^_^o)(Д)[ε](Θ)(() (o^_^o))(() (Θ))(Д)[ε](() (Θ))(Θ)(Д)[ε](() (Θ))(c^_^o)(Д)[ε](() (Θ))(Θ)(Д)[ε](() (o^_^o))(o^_^o)(Д)[ε](Θ)(() (o^_^o))(() (Θ))(Д)[ε](Θ)()(o^_^o)(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)()(o^_^o)(Д)[ε](Θ)(() (Θ))(c^_^o)(Д)[ε](() (Θ))(c^_^o)(Д)[ε](Θ)()(() (Θ))(Д)[ε](() (Θ))(Θ)(Д)[ε](Θ)(() (o^_^o))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)((o^_^o) (o^_^o))(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε]()(c^_^o)(Д)[ε]((o^_^o) (o^_^o))(c^_^o)(Д)[ε](() (o^_^o))(o^_^o)(Д)[ε](Θ)(() (o^_^o))(() (Θ))(Д)[ε](Θ)()()(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)(() (Θ))()(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)()(() (Θ))(Д)[ε]()(c^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))(() (o^_^o))(Д)[ε](Θ)(() (Θ))(Θ)(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()()(Д)[ε](Θ)(() (Θ))(() (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))(() (o^_^o))(Д)[ε](() (o^_^o))(o^_^o)(Д)[ε](Θ)()()(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)(() (Θ))()(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)()(() (Θ))(Д)[ε]()(c^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))(() (o^_^o))(Д)[ε](Θ)(() (Θ))(Θ)(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()()(Д)[ε](Θ)(() (Θ))(() (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))(() (o^_^o))(Д)[ε](() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε](Θ)(() (Θ))(Θ)(Д)[ε](Θ)()(() (o^_^o))(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](() (o^_^o))(o^_^o)(Д)[ε](Θ)()((o^_^o) (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))(() (Θ))(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)(() (Θ))(Θ)(Д)[ε](Θ)(() (Θ))(() (o^_^o))(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε]()(c^_^o)(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)(() (o^_^o))(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))(c^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)(c^_^o)((o^_^o) - (Θ))(Д)[ε](Θ)(() (o^_^o))(Θ)(Д)[ε](Θ)(c^_^o)()(Д)[ε](Θ)(c^_^o)(() (Θ))(Д)[ε](Θ)((o^_^o) - (Θ))(o^_^o)(Д)[ε](() (Θ))(c^_^o)(Д)[ε](Θ)(() (Θ))(() (Θ))(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)()(() (o^_^o))(Д)[ε](Θ)()(() (Θ))(Д)[ε](() (Θ))()(Д)[ε](Θ)(() (Θ))(o^_^o)(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)(() (o^_^o))(Θ)(Д)[ε](() (Θ))(Θ)(Д)[ε](Θ)(() (o^_^o))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) (o^_^o))(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε]()(c^_^o)(Д)[ε](Θ)(() (Θ))(o^_^o)(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)(() (o^_^o))(Θ)(Д)[ε](Θ)(Θ)(c^_^o)(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)(() (o^_^o))(c^_^o)(Д)[ε](() (o^_^o))(() (Θ))(Д)[ε](Θ)(c^_^o)(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)(() (o^_^o))(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))(c^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)(() (Θ))(() (o^_^o))(Д)[ε](Θ)(Θ)((o^_^o) - (Θ))(Д)[ε](Θ)((o^_^o) - (Θ))(o^_^o)(Д)[ε](() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()(o^_^o)(Д)[ε](() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)((o^_^o) - (Θ))(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)()((o^_^o) (o^_^o))(Д)[ε](() (o^_^o))(c^_^o)(Д)[ε](() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))(c^_^o)(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε](Θ)()(() (Θ))(Д)[ε](() (Θ))(c^_^o)(Д)[ε](Θ)(() (Θ))(o^_^o)(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)(() (o^_^o))(Θ)(Д)[ε](() (Θ))(Θ)(Д)[ε](() (o^_^o))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) (o^_^o))(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε]()(c^_^o)(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)(() (o^_^o))(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))(c^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)()()(Д)[ε](() (o^_^o))(() (Θ))(Д)[ε](Θ)(c^_^o)(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)(() (o^_^o))(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))(c^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)(() (Θ))(() (o^_^o))(Д)[ε](Θ)(Θ)((o^_^o) - (Θ))(Д)[ε](Θ)((o^_^o) - (Θ))(o^_^o)(Д)[ε](() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)(c^_^o)()(Д)[ε](Θ)(c^_^o)(() (Θ))(Д)[ε](Θ)((o^_^o) - (Θ))(o^_^o)(Д)[ε](() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)(() (o^_^o))(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))(c^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](() (Θ))(c^_^o)(Д)[ε](Θ)(() (Θ))(() (Θ))(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)()(() (o^_^o))(Д)[ε](Θ)()(() (Θ))(Д)[ε](() (Θ))()(Д)[ε](Θ)(() (Θ))(o^_^o)(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)(() (o^_^o))(Θ)(Д)[ε](Θ)(Θ)(c^_^o)(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)(() (o^_^o))(c^_^o)(Д)[ε](() (Θ))()(Д)[ε](Θ)(() (o^_^o))(o^_^o)(Д)[ε](Θ)(() (Θ))(() (Θ))(Д)[ε](Θ)(() (Θ))(() (o^_^o))(Д)[ε](Θ)()()(Д)[ε](Θ)()(() (Θ))(Д)[ε](() (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)(c^_^o)(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)(() (o^_^o))(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))(c^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)(() (Θ))(() (o^_^o))(Д)[ε](Θ)(Θ)((o^_^o) - (Θ))(Д)[ε](Θ)((o^_^o) - (Θ))(o^_^o)(Д)[ε](() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)(() (Θ))(() (Θ))(Д)[ε](Θ)(() (Θ))(() (o^_^o))(Д)[ε](Θ)()()(Д)[ε](Θ)()(() (Θ))(Д)[ε](() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)(c^_^o)(() (Θ))(Д)[ε](Θ)(c^_^o)(o^_^o)(Д)[ε](Θ)(c^_^o)((o^_^o) - (Θ))(Д)[ε](() (Θ))()(Д)[ε](Θ)((o^_^o) (o^_^o))(c^_^o)(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)()()(Д)[ε](Θ)()()(Д)[ε](Θ)(() (Θ))(Θ)(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()(() (o^_^o))(Д)[ε](() (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)(c^_^o)(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)(() (o^_^o))(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))(c^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)(() (Θ))(() (o^_^o))(Д)[ε](Θ)(Θ)((o^_^o) - (Θ))(Д)[ε](Θ)((o^_^o) - (Θ))(o^_^o)(Д)[ε](() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))(c^_^o)(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)()()(Д)[ε](() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)((o^_^o) - (Θ))(c^_^o)(Д)[ε](Θ)(() (Θ))(o^_^o)(Д)[ε](Θ)()(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε]((o^_^o) (o^_^o))(() (o^_^o))(Д)[ε](Θ)(() (o^_^o))(() (Θ))(Д)[ε](() (Θ))(Θ)(Д)[ε](() (o^_^o))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)((o^_^o) (o^_^o))(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε]()(c^_^o)(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)(() (o^_^o))(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))(c^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)()()(Д)[ε](() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()(o^_^o)(Д)[ε](Θ)(() (Θ))(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))(c^_^o)(Д)[ε](Θ)(() (Θ))(c^_^o)(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)(() (o^_^o))(c^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)(() (Θ))(() (o^_^o))(Д)[ε](Θ)((o^_^o) - (Θ))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)(() (Θ))(Θ)(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()(() (o^_^o))(Д)[ε](() (Θ))(c^_^o)(Д)[ε](() (Θ))(Θ)(Д)[ε](() (o^_^o))(o^_^o)(Д)[ε](Θ)(() (o^_^o))(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)(() (o^_^o))(Θ)(Д)[ε](Θ)(() (o^_^o))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) (o^_^o))(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε]()(c^_^o)(Д)[ε](Θ)(() (Θ))(() (Θ))(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)()(() (o^_^o))(Д)[ε](Θ)()(() (Θ))(Д)[ε](() (o^_^o))(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))(() (o^_^o))(Д)[ε](Θ)(() (Θ))(Θ)(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()()(Д)[ε](Θ)(() (Θ))(() (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))(() (o^_^o))(Д)[ε](() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()()(Д)[ε](Θ)(() (Θ))(() (o^_^o))(Д)[ε](Θ)()(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))(() (Θ))(Д)[ε](Θ)(() (Θ))(() (Θ))(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)(() (Θ))()(Д)[ε](Θ)(() (Θ))(() (o^_^o))(Д)[ε](Θ)()(o^_^o)(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)(() (Θ))(Θ)(Д)[ε](Θ)(() (Θ))(() (o^_^o))(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)(() (Θ))(c^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)()((o^_^o) (o^_^o))(Д)[ε](() (o^_^o))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) (o^_^o))(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε]()(c^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)(() (Θ))(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))(c^_^o)(Д)[ε](() (o^_^o))(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))(() (o^_^o))(Д)[ε](Θ)(() (Θ))(Θ)(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()()(Д)[ε](Θ)(() (Θ))(() (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))(() (o^_^o))(Д)[ε](() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)(c^_^o)()(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) (o^_^o))(Д)[ε](Θ)(() (Θ))(Θ)(Д)[ε](Θ)()(o^_^o)(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)(Θ)(() (Θ))(Д)[ε](Θ)(() (Θ))(() (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)(() (Θ))(Θ)(Д)[ε](Θ)(() (Θ))(() (o^_^o))(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)(c^_^o)(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) (o^_^o))(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](() (o^_^o))(o^_^o)(Д)[ε](Θ)(() (Θ))(() (Θ))(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)()(() (o^_^o))(Д)[ε](Θ)()(() (Θ))(Д)[ε](() (o^_^o))(() (Θ))(Д)[ε](Θ)(() (Θ))(() (Θ))(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)()(() (o^_^o))(Д)[ε](Θ)()(() (Θ))(Д)[ε](() (Θ))(o^_^o)(Д)[ε]()(() (o^_^o))(Д)[ε](Θ)(() (o^_^o))()(Д)[ε]()(() (o^_^o))(Д)[ε](() (Θ))(o^_^o)(Д)[ε](Θ)(c^_^o)()(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)()(() (Θ))(Д)[ε](() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))(c^_^o)(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε](Θ)()(() (Θ))(Д)[ε](() (Θ))(c^_^o)(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))(() (o^_^o))(Д)[ε]()(c^_^o)(Д)[ε](Θ)(c^_^o)()(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)()(() (Θ))(Д)[ε](() (Θ))(c^_^o)(Д)[ε](() (Θ))(Θ)(Д)[ε](() (Θ))(Θ)(Д)[ε](() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)(() (Θ))(() (o^_^o))(Д)[ε](Θ)((o^_^o) - (Θ))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)(() (Θ))(Θ)(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()(() (o^_^o))(Д)[ε](() (Θ))(c^_^o)(Д)[ε](() (Θ))(Θ)(Д)[ε](() (o^_^o))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) (o^_^o))(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε]()(c^_^o)(Д)[ε](Θ)(() (Θ))(o^_^o)(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)(() (o^_^o))(Θ)(Д)[ε](() (o^_^o))(() (Θ))(Д)[ε](Θ)(c^_^o)()(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)()(() (Θ))(Д)[ε](() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))(c^_^o)(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε](Θ)()(() (Θ))(Д)[ε](() (Θ))(c^_^o)(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))(() (o^_^o))(Д)[ε]()(c^_^o)(Д)[ε](Θ)(c^_^o)()(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)()(() (Θ))(Д)[ε](() (Θ))(c^_^o)(Д)[ε](() (Θ))(Θ)(Д)[ε](() (Θ))(Θ)(Д)[ε](() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)(() (Θ))(() (o^_^o))(Д)[ε](Θ)((o^_^o) - (Θ))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)(() (Θ))(Θ)(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()(() (o^_^o))(Д)[ε](() (Θ))(c^_^o)(Д)[ε](() (Θ))(Θ)(Д)[ε](() (o^_^o))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))(() (o^_^o))(Д)[ε](Θ)(() (Θ))(Θ)(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()()(Д)[ε](Θ)(() (Θ))(() (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))(() (o^_^o))(Д)[ε](() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε](Θ)(() (Θ))(Θ)(Д)[ε](Θ)()(() (o^_^o))(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](() (o^_^o))(() (Θ))(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)(() (o^_^o))(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))(c^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)(c^_^o)((o^_^o) - (Θ))(Д)[ε](Θ)(() (o^_^o))(Θ)(Д)[ε](Θ)(c^_^o)()(Д)[ε](Θ)(c^_^o)(() (Θ))(Д)[ε](Θ)((o^_^o) - (Θ))(o^_^o)(Д)[ε](() (Θ))(c^_^o)(Д)[ε](Θ)(() (Θ))(() (Θ))(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)()(() (o^_^o))(Д)[ε](Θ)()(() (Θ))(Д)[ε](() (Θ))()(Д)[ε](Θ)(() (Θ))(o^_^o)(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)(() (o^_^o))(Θ)(Д)[ε](() (Θ))(Θ)(Д)[ε](() (o^_^o))(o^_^o)(Д)[ε](Θ)(() (o^_^o))(() (Θ))(Д)[ε](Θ)()(o^_^o)(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)()(o^_^o)(Д)[ε](Θ)(() (Θ))(c^_^o)(Д)[ε](() (Θ))(c^_^o)(Д)[ε](Θ)()(() (Θ))(Д)[ε](() (Θ))(Θ)(Д)[ε](Θ)(() (o^_^o))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) (o^_^o))(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε]()(c^_^o)(Д)[ε](Θ)(() (Θ))(() (Θ))(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)()(() (o^_^o))(Д)[ε](Θ)()(() (Θ))(Д)[ε](() (o^_^o))(() (Θ))(Д)[ε]()(() (o^_^o))(Д)[ε]((o^_^o) (o^_^o))(Θ)(Д)[ε]((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε]((o^_^o) (o^_^o))(o^_^o)(Д)[ε]((o^_^o) (o^_^o))()(Д)[ε]((o^_^o) (o^_^o))(() (Θ))(Д)[ε]((o^_^o) (o^_^o))((o^_^o) (o^_^o))(Д)[ε]((o^_^o) (o^_^o))(() (o^_^o))(Д)[ε](() (o^_^o))(c^_^o)(Д)[ε](() (o^_^o))(Θ)(Д)[ε]((o^_^o) (o^_^o))(c^_^o)(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)()((o^_^o) - (Θ))(Д)[ε](Θ)()(o^_^o)(Д)[ε](Θ)()()(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)()((o^_^o) (o^_^o))(Д)[ε](Θ)()(() (o^_^o))(Д)[ε](Θ)(() (Θ))(c^_^o)(Д)[ε](Θ)(() (Θ))(Θ)(Д)[ε](Θ)(() (Θ))((o^_^o) - (Θ))(Д)[ε](Θ)(() (Θ))(o^_^o)(Д)[ε](Θ)(() (Θ))()(Д)[ε](Θ)(() (Θ))(() (Θ))(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)(() (Θ))(() (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))(c^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)((o^_^o) (o^_^o))(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))(() (o^_^o))(Д)[ε](Θ)(() (o^_^o))(c^_^o)(Д)[ε](Θ)(() (o^_^o))(Θ)(Д)[ε](Θ)(() (o^_^o))((o^_^o) - (Θ))(Д)[ε]()(() (o^_^o))(Д)[ε](() (o^_^o))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) (o^_^o))(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε]()(c^_^o)(Д)[ε](Θ)(() (Θ))(o^_^o)(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)(() (o^_^o))(Θ)(Д)[ε](() (o^_^o))(() (Θ))(Д)[ε](Θ)(c^_^o)()(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)()(() (Θ))(Д)[ε](() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))(c^_^o)(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε](Θ)()(() (Θ))(Д)[ε](() (Θ))(c^_^o)(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))(() (o^_^o))(Д)[ε]()(c^_^o)(Д)[ε](Θ)(c^_^o)()(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)()(() (Θ))(Д)[ε](() (Θ))(c^_^o)(Д)[ε](() (Θ))(Θ)(Д)[ε](() (Θ))(Θ)(Д)[ε](() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)(() (Θ))(() (o^_^o))(Д)[ε](Θ)((o^_^o) - (Θ))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)(() (Θ))(Θ)(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()(() (o^_^o))(Д)[ε](() (Θ))(c^_^o)(Д)[ε](() (Θ))(Θ)(Д)[ε](() (Θ))(o^_^o)(Д)[ε]()(() (o^_^o))(Д)[ε]((o^_^o) (o^_^o))(Θ)(Д)[ε]((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε]((o^_^o) (o^_^o))(o^_^o)(Д)[ε]()(() (o^_^o))(Д)[ε](() (o^_^o))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))(() (o^_^o))(Д)[ε](Θ)(() (Θ))(Θ)(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()()(Д)[ε](Θ)(() (Θ))(() (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))(() (o^_^o))(Д)[ε](() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε](Θ)(() (Θ))(Θ)(Д)[ε](Θ)()(() (o^_^o))(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](() (o^_^o))(() (Θ))(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)(() (Θ))((o^_^o) (o^_^o))(Д)[ε](Θ)()(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))((o^_^o) - (Θ))(Д)[ε](Θ)(() (o^_^o))(Θ)(Д)[ε](Θ)((o^_^o) (o^_^o))(c^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))()(Д)[ε](Θ)(c^_^o)((o^_^o) - (Θ))(Д)[ε](Θ)(() (o^_^o))(Θ)(Д)[ε](Θ)(c^_^o)()(Д)[ε](Θ)(c^_^o)(() (Θ))(Д)[ε](Θ)((o^_^o) - (Θ))(o^_^o)(Д)[ε](() (Θ))(c^_^o)(Д)[ε](Θ)(() (Θ))(() (Θ))(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε](Θ)((o^_^o) (o^_^o))(o^_^o)(Д)[ε](Θ)()(Θ)(Д)[ε](Θ)()(() (o^_^o))(Д)[ε](Θ)()(() (Θ))(Д)[ε](() (Θ))()(Д)[ε](Θ)(() (Θ))(o^_^o)(Д)[ε](Θ)()(() (Θ))(Д)[ε](Θ)(() (o^_^o))(Θ)(Д)[ε](() (Θ))(Θ)(Д)[ε](() (o^_^o))(o^_^o)(Д)[ε](Θ)(() (o^_^o))(() (Θ))(Д)[o]) (Θ)) (_);3.3 AAEncode解决方式 常见的三种AAEncode解决方式 1、加密解密地址http://www.hiencode.com/aaencode.html2、去掉代码最后一个符号 (‘_’) 后复制代码在浏览器控制台打印即可看到源码3、在混淆代码处打断点一步一步往下跟就能跟到源码处 1、在线解密有些时候不起作用不能解决大部分的混淆 2、去掉代码最后一个符号 (‘_’) 后复制代码在浏览器控制台打印即可看到源码点进去可以看到详细的JS代码 3、在混淆代码处打断点一步一步往下跟就能跟到源码处 四、JS代码调试 完整JS代码 4.1 JS代码调试 1、跟进加密代码处可以发现使用了encryptByDES加密方式并且检测了window.document.location.href走的是try的调用方式 window.document.location.href‘https://wangluozhe.com/challenge/3’ key‘1677760251000’ // 时间戳 message ‘https://wangluozhe.com/challenge/3’ ‘|’ Date.parse(new Date()).toString(); 2、通过以上的代码分析可以将代码修改一下并补充检测的属性(window.document.location.href) 3、关于CryptoJS 模块可以通过npm安装再引入模块也可以通过工具生成CryptoJS 的源码我这边直接复制了CryptoJS 的源码 4.2 完整JS代码 window this;var CryptoJS new CryptoJS; function CryptoJS (root, factory) {var CryptoJS CryptoJS || (function(Math, undefined) {var create Object.create || (function() {function F() {};return function(obj) {var subtype;F.prototype obj;subtype new F();F.prototype null;return subtype;};}())var C {};var C_lib C.lib {};var Base C_lib.Base (function() {return {extend: function(overrides) {var subtype create(this);if (overrides) {subtype.mixIn(overrides);}if (!subtype.hasOwnProperty(init) || this.init subtype.init) {subtype.init function() {subtype.$super.init.apply(this, arguments);};}subtype.init.prototype subtype;subtype.$super this;return subtype;},create: function() {var instance this.extend();instance.init.apply(instance, arguments);return instance;},init: function() {},mixIn: function(properties) {for (var propertyName in properties) {if (properties.hasOwnProperty(propertyName)) {this[propertyName] properties[propertyName];}}if (properties.hasOwnProperty(toString)) {this.toString properties.toString;}},clone: function() {return this.init.prototype.extend(this);}};}());var WordArray C_lib.WordArray Base.extend({init: function(words, sigBytes) {words this.words words || [];if (sigBytes ! undefined) {this.sigBytes sigBytes;} else {this.sigBytes words.length * 4;}},toString: function(encoder) {return (encoder || Hex).stringify(this);},concat: function(wordArray) {var thisWords this.words;var thatWords wordArray.words;var thisSigBytes this.sigBytes;var thatSigBytes wordArray.sigBytes;this.clamp();if (thisSigBytes % 4) {for (var i 0; i thatSigBytes; i) {var thatByte (thatWords[i 2] (24 - (i % 4) * 8)) 0xff;thisWords[(thisSigBytes i) 2] | thatByte (24 - ((thisSigBytes i) % 4) * 8);}} else {for (var i 0; i thatSigBytes; i 4) {thisWords[(thisSigBytes i) 2] thatWords[i 2];}}this.sigBytes thatSigBytes;return this;},clamp: function() {var words this.words;var sigBytes this.sigBytes;words[sigBytes 2] 0xffffffff (32 - (sigBytes % 4) * 8);words.length Math.ceil(sigBytes / 4);},clone: function() {var clone Base.clone.call(this);clone.words this.words.slice(0);return clone;},random: function(nBytes) {var words [];var r (function(m_w) {var m_w m_w;var m_z 0x3ade68b1;var mask 0xffffffff;return function() {m_z (0x9069 * (m_z 0xFFFF) (m_z 0x10)) mask;m_w (0x4650 * (m_w 0xFFFF) (m_w 0x10)) mask;var result ((m_z 0x10) m_w) mask;result / 0x100000000;result 0.5;return result * (Math.random() .5 ? 1 : -1);}});for (var i 0, rcache; i nBytes; i 4) {var _r r((rcache || Math.random()) * 0x100000000);rcache _r() * 0x3ade67b7;words.push((_r() * 0x100000000) | 0);}return new WordArray.init(words, nBytes);}});var C_enc C.enc {};var Hex C_enc.Hex {stringify: function(wordArray) {var words wordArray.words;var sigBytes wordArray.sigBytes;var hexChars [];for (var i 0; i sigBytes; i) {var bite (words[i 2] (24 - (i % 4) * 8)) 0xff;hexChars.push((bite 4).toString(16));hexChars.push((bite 0x0f).toString(16));}return hexChars.join();},parse: function(hexStr) {var hexStrLength hexStr.length;var words [];for (var i 0; i hexStrLength; i 2) {words[i 3] | parseInt(hexStr.substr(i, 2), 16) (24 - (i % 8) * 4);}return new WordArray.init(words, hexStrLength / 2);}};var Latin1 C_enc.Latin1 {stringify: function(wordArray) {var words wordArray.words;var sigBytes wordArray.sigBytes;var latin1Chars [];for (var i 0; i sigBytes; i) {var bite (words[i 2] (24 - (i % 4) * 8)) 0xff;latin1Chars.push(String.fromCharCode(bite));}return latin1Chars.join();},parse: function(latin1Str) {var latin1StrLength latin1Str.length;var words [];for (var i 0; i latin1StrLength; i) {words[i 2] | (latin1Str.charCodeAt(i) 0xff) (24 - (i % 4) * 8);}return new WordArray.init(words, latin1StrLength);}};var Utf8 C_enc.Utf8 {stringify: function(wordArray) {try {return decodeURIComponent(escape(Latin1.stringify(wordArray)));} catch (e) {throw new Error(Malformed UTF-8 data);}},parse: function(utf8Str) {return Latin1.parse(unescape(encodeURIComponent(utf8Str)));}};var BufferedBlockAlgorithm C_lib.BufferedBlockAlgorithm Base.extend({reset: function() {this._data new WordArray.init();this._nDataBytes 0;},_append: function(data) {if (typeof data string) {data Utf8.parse(data);}this._data.concat(data);this._nDataBytes data.sigBytes;},_process: function(doFlush) {var data this._data;var dataWords data.words;var dataSigBytes data.sigBytes;var blockSize this.blockSize;var blockSizeBytes blockSize * 4;var nBlocksReady dataSigBytes / blockSizeBytes;if (doFlush) {nBlocksReady Math.ceil(nBlocksReady);} else {nBlocksReady Math.max((nBlocksReady | 0) - this._minBufferSize, 0);}var nWordsReady nBlocksReady * blockSize;var nBytesReady Math.min(nWordsReady * 4, dataSigBytes);if (nWordsReady) {for (var offset 0; offset nWordsReady; offset blockSize) {this._doProcessBlock(dataWords, offset);}var processedWords dataWords.splice(0, nWordsReady);data.sigBytes - nBytesReady;}return new WordArray.init(processedWords, nBytesReady);},clone: function() {var clone Base.clone.call(this);clone._data this._data.clone();return clone;},_minBufferSize: 0});var Hasher C_lib.Hasher BufferedBlockAlgorithm.extend({cfg: Base.extend(),init: function(cfg) {this.cfg this.cfg.extend(cfg);this.reset();},reset: function() {BufferedBlockAlgorithm.reset.call(this);this._doReset();},update: function(messageUpdate) {this._append(messageUpdate);this._process();return this;},finalize: function(messageUpdate) {if (messageUpdate) {this._append(messageUpdate);}var hash this._doFinalize();return hash;},blockSize: 512 / 32,_createHelper: function(hasher) {return function(message, cfg) {return new hasher.init(cfg).finalize(message);};},_createHmacHelper: function(hasher) {return function(message, key) {return new C_algo.HMAC.init(hasher, key).finalize(message);};}});var C_algo C.algo {};return C;}(Math));(function() {var C CryptoJS;var C_lib C.lib;var WordArray C_lib.WordArray;var C_enc C.enc;var Base64 C_enc.Base64 {stringify: function(wordArray) {var words wordArray.words;var sigBytes wordArray.sigBytes;var map this._map;wordArray.clamp();var base64Chars [];for (var i 0; i sigBytes; i 3) {var byte1 (words[i 2] (24 - (i % 4) * 8)) 0xff;var byte2 (words[(i 1) 2] (24 - ((i 1) % 4) * 8)) 0xff;var byte3 (words[(i 2) 2] (24 - ((i 2) % 4) * 8)) 0xff;var triplet (byte1 16) | (byte2 8) | byte3;for (var j 0;(j 4) (i j * 0.75 sigBytes); j) {base64Chars.push(map.charAt((triplet (6 * (3 - j))) 0x3f));}}var paddingChar map.charAt(64);if (paddingChar) {while (base64Chars.length % 4) {base64Chars.push(paddingChar);}}return base64Chars.join();},parse: function(base64Str) {var base64StrLength base64Str.length;var map this._map;var reverseMap this._reverseMap;if (!reverseMap) {reverseMap this._reverseMap [];for (var j 0; j map.length; j) {reverseMap[map.charCodeAt(j)] j;}}var paddingChar map.charAt(64);if (paddingChar) {var paddingIndex base64Str.indexOf(paddingChar);if (paddingIndex ! -1) {base64StrLength paddingIndex;}}return parseLoop(base64Str, base64StrLength, reverseMap);},_map: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789/};function parseLoop(base64Str, base64StrLength, reverseMap) {var words [];var nBytes 0;for (var i 0; i base64StrLength; i) {if (i % 4) {var bits1 reverseMap[base64Str.charCodeAt(i - 1)] ((i % 4) * 2);var bits2 reverseMap[base64Str.charCodeAt(i)] (6 - (i % 4) * 2);words[nBytes 2] | (bits1 | bits2) (24 - (nBytes % 4) * 8);nBytes;}}return WordArray.create(words, nBytes);}}());(function(Math) {var C CryptoJS;var C_lib C.lib;var WordArray C_lib.WordArray;var Hasher C_lib.Hasher;var C_algo C.algo;var T [];(function() {for (var i 0; i 64; i) {T[i] (Math.abs(Math.sin(i 1)) * 0x100000000) | 0;}}());var MD5 C_algo.MD5 Hasher.extend({_doReset: function() {this._hash new WordArray.init([0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476]);},_doProcessBlock: function(M, offset) {for (var i 0; i 16; i) {var offset_i offset i;var M_offset_i M[offset_i];M[offset_i] ((((M_offset_i 8) | (M_offset_i 24)) 0x00ff00ff) | (((M_offset_i 24) | (M_offset_i 8)) 0xff00ff00));}var H this._hash.words;var M_offset_0 M[offset 0];var M_offset_1 M[offset 1];var M_offset_2 M[offset 2];var M_offset_3 M[offset 3];var M_offset_4 M[offset 4];var M_offset_5 M[offset 5];var M_offset_6 M[offset 6];var M_offset_7 M[offset 7];var M_offset_8 M[offset 8];var M_offset_9 M[offset 9];var M_offset_10 M[offset 10];var M_offset_11 M[offset 11];var M_offset_12 M[offset 12];var M_offset_13 M[offset 13];var M_offset_14 M[offset 14];var M_offset_15 M[offset 15];var a H[0];var b H[1];var c H[2];var d H[3];a FF(a, b, c, d, M_offset_0, 7, T[0]);d FF(d, a, b, c, M_offset_1, 12, T[1]);c FF(c, d, a, b, M_offset_2, 17, T[2]);b FF(b, c, d, a, M_offset_3, 22, T[3]);a FF(a, b, c, d, M_offset_4, 7, T[4]);d FF(d, a, b, c, M_offset_5, 12, T[5]);c FF(c, d, a, b, M_offset_6, 17, T[6]);b FF(b, c, d, a, M_offset_7, 22, T[7]);a FF(a, b, c, d, M_offset_8, 7, T[8]);d FF(d, a, b, c, M_offset_9, 12, T[9]);c FF(c, d, a, b, M_offset_10, 17, T[10]);b FF(b, c, d, a, M_offset_11, 22, T[11]);a FF(a, b, c, d, M_offset_12, 7, T[12]);d FF(d, a, b, c, M_offset_13, 12, T[13]);c FF(c, d, a, b, M_offset_14, 17, T[14]);b FF(b, c, d, a, M_offset_15, 22, T[15]);a GG(a, b, c, d, M_offset_1, 5, T[16]);d GG(d, a, b, c, M_offset_6, 9, T[17]);c GG(c, d, a, b, M_offset_11, 14, T[18]);b GG(b, c, d, a, M_offset_0, 20, T[19]);a GG(a, b, c, d, M_offset_5, 5, T[20]);d GG(d, a, b, c, M_offset_10, 9, T[21]);c GG(c, d, a, b, M_offset_15, 14, T[22]);b GG(b, c, d, a, M_offset_4, 20, T[23]);a GG(a, b, c, d, M_offset_9, 5, T[24]);d GG(d, a, b, c, M_offset_14, 9, T[25]);c GG(c, d, a, b, M_offset_3, 14, T[26]);b GG(b, c, d, a, M_offset_8, 20, T[27]);a GG(a, b, c, d, M_offset_13, 5, T[28]);d GG(d, a, b, c, M_offset_2, 9, T[29]);c GG(c, d, a, b, M_offset_7, 14, T[30]);b GG(b, c, d, a, M_offset_12, 20, T[31]);a HH(a, b, c, d, M_offset_5, 4, T[32]);d HH(d, a, b, c, M_offset_8, 11, T[33]);c HH(c, d, a, b, M_offset_11, 16, T[34]);b HH(b, c, d, a, M_offset_14, 23, T[35]);a HH(a, b, c, d, M_offset_1, 4, T[36]);d HH(d, a, b, c, M_offset_4, 11, T[37]);c HH(c, d, a, b, M_offset_7, 16, T[38]);b HH(b, c, d, a, M_offset_10, 23, T[39]);a HH(a, b, c, d, M_offset_13, 4, T[40]);d HH(d, a, b, c, M_offset_0, 11, T[41]);c HH(c, d, a, b, M_offset_3, 16, T[42]);b HH(b, c, d, a, M_offset_6, 23, T[43]);a HH(a, b, c, d, M_offset_9, 4, T[44]);d HH(d, a, b, c, M_offset_12, 11, T[45]);c HH(c, d, a, b, M_offset_15, 16, T[46]);b HH(b, c, d, a, M_offset_2, 23, T[47]);a II(a, b, c, d, M_offset_0, 6, T[48]);d II(d, a, b, c, M_offset_7, 10, T[49]);c II(c, d, a, b, M_offset_14, 15, T[50]);b II(b, c, d, a, M_offset_5, 21, T[51]);a II(a, b, c, d, M_offset_12, 6, T[52]);d II(d, a, b, c, M_offset_3, 10, T[53]);c II(c, d, a, b, M_offset_10, 15, T[54]);b II(b, c, d, a, M_offset_1, 21, T[55]);a II(a, b, c, d, M_offset_8, 6, T[56]);d II(d, a, b, c, M_offset_15, 10, T[57]);c II(c, d, a, b, M_offset_6, 15, T[58]);b II(b, c, d, a, M_offset_13, 21, T[59]);a II(a, b, c, d, M_offset_4, 6, T[60]);d II(d, a, b, c, M_offset_11, 10, T[61]);c II(c, d, a, b, M_offset_2, 15, T[62]);b II(b, c, d, a, M_offset_9, 21, T[63]);H[0] (H[0] a) | 0;H[1] (H[1] b) | 0;H[2] (H[2] c) | 0;H[3] (H[3] d) | 0;},_doFinalize: function() {var data this._data;var dataWords data.words;var nBitsTotal this._nDataBytes * 8;var nBitsLeft data.sigBytes * 8;dataWords[nBitsLeft 5] | 0x80 (24 - nBitsLeft % 32);var nBitsTotalH Math.floor(nBitsTotal / 0x100000000);var nBitsTotalL nBitsTotal;dataWords[(((nBitsLeft 64) 9) 4) 15] ((((nBitsTotalH 8) | (nBitsTotalH 24)) 0x00ff00ff) | (((nBitsTotalH 24) | (nBitsTotalH 8)) 0xff00ff00));dataWords[(((nBitsLeft 64) 9) 4) 14] ((((nBitsTotalL 8) | (nBitsTotalL 24)) 0x00ff00ff) | (((nBitsTotalL 24) | (nBitsTotalL 8)) 0xff00ff00));data.sigBytes (dataWords.length 1) * 4;this._process();var hash this._hash;var H hash.words;for (var i 0; i 4; i) {var H_i H[i];H[i] (((H_i 8) | (H_i 24)) 0x00ff00ff) | (((H_i 24) | (H_i 8)) 0xff00ff00);}return hash;},clone: function() {var clone Hasher.clone.call(this);clone._hash this._hash.clone();return clone;}});function FF(a, b, c, d, x, s, t) {var n a ((b c) | (~b d)) x t;return ((n s) | (n (32 - s))) b;}function GG(a, b, c, d, x, s, t) {var n a ((b d) | (c ~d)) x t;return ((n s) | (n (32 - s))) b;}function HH(a, b, c, d, x, s, t) {var n a (b ^ c ^ d) x t;return ((n s) | (n (32 - s))) b;}function II(a, b, c, d, x, s, t) {var n a (c ^ (b | ~d)) x t;return ((n s) | (n (32 - s))) b;}C.MD5 Hasher._createHelper(MD5);C.HmacMD5 Hasher._createHmacHelper(MD5);}(Math));(function() {var C CryptoJS;var C_lib C.lib;var WordArray C_lib.WordArray;var Hasher C_lib.Hasher;var C_algo C.algo;var W [];var SHA1 C_algo.SHA1 Hasher.extend({_doReset: function() {this._hash new WordArray.init([0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0]);},_doProcessBlock: function(M, offset) {var H this._hash.words;var a H[0];var b H[1];var c H[2];var d H[3];var e H[4];for (var i 0; i 80; i) {if (i 16) {W[i] M[offset i] | 0;} else {var n W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];W[i] (n 1) | (n 31);}var t ((a 5) | (a 27)) e W[i];if (i 20) {t ((b c) | (~b d)) 0x5a827999;} else if (i 40) {t (b ^ c ^ d) 0x6ed9eba1;} else if (i 60) {t ((b c) | (b d) | (c d)) - 0x70e44324;} else {t (b ^ c ^ d) - 0x359d3e2a;}e d;d c;c (b 30) | (b 2);b a;a t;}H[0] (H[0] a) | 0;H[1] (H[1] b) | 0;H[2] (H[2] c) | 0;H[3] (H[3] d) | 0;H[4] (H[4] e) | 0;},_doFinalize: function() {var data this._data;var dataWords data.words;var nBitsTotal this._nDataBytes * 8;var nBitsLeft data.sigBytes * 8;dataWords[nBitsLeft 5] | 0x80 (24 - nBitsLeft % 32);dataWords[(((nBitsLeft 64) 9) 4) 14] Math.floor(nBitsTotal / 0x100000000);dataWords[(((nBitsLeft 64) 9) 4) 15] nBitsTotal;data.sigBytes dataWords.length * 4;this._process();return this._hash;},clone: function() {var clone Hasher.clone.call(this);clone._hash this._hash.clone();return clone;}});C.SHA1 Hasher._createHelper(SHA1);C.HmacSHA1 Hasher._createHmacHelper(SHA1);}());(function(Math) {var C CryptoJS;var C_lib C.lib;var WordArray C_lib.WordArray;var Hasher C_lib.Hasher;var C_algo C.algo;var H [];var K [];(function() {function isPrime(n) {var sqrtN Math.sqrt(n);for (var factor 2; factor sqrtN; factor) {if (!(n % factor)) {return false;}}return true;}function getFractionalBits(n) {return ((n - (n | 0)) * 0x100000000) | 0;}var n 2;var nPrime 0;while (nPrime 64) {if (isPrime(n)) {if (nPrime 8) {H[nPrime] getFractionalBits(Math.pow(n, 1 / 2));}K[nPrime] getFractionalBits(Math.pow(n, 1 / 3));nPrime;}n;}}());var W [];var SHA256 C_algo.SHA256 Hasher.extend({_doReset: function() {this._hash new WordArray.init(H.slice(0));},_doProcessBlock: function(M, offset) {var H this._hash.words;var a H[0];var b H[1];var c H[2];var d H[3];var e H[4];var f H[5];var g H[6];var h H[7];for (var i 0; i 64; i) {if (i 16) {W[i] M[offset i] | 0;} else {var gamma0x W[i - 15];var gamma0 ((gamma0x 25) | (gamma0x 7)) ^ ((gamma0x 14) | (gamma0x 18)) ^ (gamma0x 3);var gamma1x W[i - 2];var gamma1 ((gamma1x 15) | (gamma1x 17)) ^ ((gamma1x 13) | (gamma1x 19)) ^ (gamma1x 10);W[i] gamma0 W[i - 7] gamma1 W[i - 16];}var ch (e f) ^ (~e g);var maj (a b) ^ (a c) ^ (b c);var sigma0 ((a 30) | (a 2)) ^ ((a 19) | (a 13)) ^ ((a 10) | (a 22));var sigma1 ((e 26) | (e 6)) ^ ((e 21) | (e 11)) ^ ((e 7) | (e 25));var t1 h sigma1 ch K[i] W[i];var t2 sigma0 maj;h g;g f;f e;e (d t1) | 0;d c;c b;b a;a (t1 t2) | 0;}H[0] (H[0] a) | 0;H[1] (H[1] b) | 0;H[2] (H[2] c) | 0;H[3] (H[3] d) | 0;H[4] (H[4] e) | 0;H[5] (H[5] f) | 0;H[6] (H[6] g) | 0;H[7] (H[7] h) | 0;},_doFinalize: function() {var data this._data;var dataWords data.words;var nBitsTotal this._nDataBytes * 8;var nBitsLeft data.sigBytes * 8;dataWords[nBitsLeft 5] | 0x80 (24 - nBitsLeft % 32);dataWords[(((nBitsLeft 64) 9) 4) 14] Math.floor(nBitsTotal / 0x100000000);dataWords[(((nBitsLeft 64) 9) 4) 15] nBitsTotal;data.sigBytes dataWords.length * 4;this._process();return this._hash;},clone: function() {var clone Hasher.clone.call(this);clone._hash this._hash.clone();return clone;}});C.SHA256 Hasher._createHelper(SHA256);C.HmacSHA256 Hasher._createHmacHelper(SHA256);}(Math));(function() {var C CryptoJS;var C_lib C.lib;var WordArray C_lib.WordArray;var C_enc C.enc;var Utf16BE C_enc.Utf16 C_enc.Utf16BE {stringify: function(wordArray) {var words wordArray.words;var sigBytes wordArray.sigBytes;var utf16Chars [];for (var i 0; i sigBytes; i 2) {var codePoint (words[i 2] (16 - (i % 4) * 8)) 0xffff;utf16Chars.push(String.fromCharCode(codePoint));}return utf16Chars.join();},parse: function(utf16Str) {var utf16StrLength utf16Str.length;var words [];for (var i 0; i utf16StrLength; i) {words[i 1] | utf16Str.charCodeAt(i) (16 - (i % 2) * 16);}return WordArray.create(words, utf16StrLength * 2);}};C_enc.Utf16LE {stringify: function(wordArray) {var words wordArray.words;var sigBytes wordArray.sigBytes;var utf16Chars [];for (var i 0; i sigBytes; i 2) {var codePoint swapEndian((words[i 2] (16 - (i % 4) * 8)) 0xffff);utf16Chars.push(String.fromCharCode(codePoint));}return utf16Chars.join();},parse: function(utf16Str) {var utf16StrLength utf16Str.length;var words [];for (var i 0; i utf16StrLength; i) {words[i 1] | swapEndian(utf16Str.charCodeAt(i) (16 - (i % 2) * 16));}return WordArray.create(words, utf16StrLength * 2);}};function swapEndian(word) {return ((word 8) 0xff00ff00) | ((word 8) 0x00ff00ff);}}());(function() {if (typeof ArrayBuffer ! function) {return;}var C CryptoJS;var C_lib C.lib;var WordArray C_lib.WordArray;var superInit WordArray.init;var subInit WordArray.init function(typedArray) {if (typedArray instanceof ArrayBuffer) {typedArray new Uint8Array(typedArray);}if (typedArray instanceof Int8Array || (typeof Uint8ClampedArray ! undefined typedArray instanceof Uint8ClampedArray) || typedArray instanceof Int16Array || typedArray instanceof Uint16Array || typedArray instanceof Int32Array || typedArray instanceof Uint32Array || typedArray instanceof Float32Array || typedArray instanceof Float64Array) {typedArray new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength);}if (typedArray instanceof Uint8Array) {var typedArrayByteLength typedArray.byteLength;var words [];for (var i 0; i typedArrayByteLength; i) {words[i 2] | typedArray[i] (24 - (i % 4) * 8);}superInit.call(this, words, typedArrayByteLength);} else {superInit.apply(this, arguments);}};subInit.prototype WordArray;}());(function(Math) {var C CryptoJS;var C_lib C.lib;var WordArray C_lib.WordArray;var Hasher C_lib.Hasher;var C_algo C.algo;var _zl WordArray.create([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]);var _zr WordArray.create([5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]);var _sl WordArray.create([11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6]);var _sr WordArray.create([8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11]);var _hl WordArray.create([0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E]);var _hr WordArray.create([0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000]);var RIPEMD160 C_algo.RIPEMD160 Hasher.extend({_doReset: function() {this._hash WordArray.create([0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]);},_doProcessBlock: function(M, offset) {for (var i 0; i 16; i) {var offset_i offset i;var M_offset_i M[offset_i];M[offset_i] ((((M_offset_i 8) | (M_offset_i 24)) 0x00ff00ff) | (((M_offset_i 24) | (M_offset_i 8)) 0xff00ff00));}var H this._hash.words;var hl _hl.words;var hr _hr.words;var zl _zl.words;var zr _zr.words;var sl _sl.words;var sr _sr.words;var al, bl, cl, dl, el;var ar, br, cr, dr, er;ar al H[0];br bl H[1];cr cl H[2];dr dl H[3];er el H[4];var t;for (var i 0; i 80; i 1) {t (al M[offset zl[i]]) | 0;if (i 16) {t f1(bl, cl, dl) hl[0];} else if (i 32) {t f2(bl, cl, dl) hl[1];} else if (i 48) {t f3(bl, cl, dl) hl[2];} else if (i 64) {t f4(bl, cl, dl) hl[3];} else {t f5(bl, cl, dl) hl[4];}t t | 0;t rotl(t, sl[i]);t (t el) | 0;al el;el dl;dl rotl(cl, 10);cl bl;bl t;t (ar M[offset zr[i]]) | 0;if (i 16) {t f5(br, cr, dr) hr[0];} else if (i 32) {t f4(br, cr, dr) hr[1];} else if (i 48) {t f3(br, cr, dr) hr[2];} else if (i 64) {t f2(br, cr, dr) hr[3];} else {t f1(br, cr, dr) hr[4];}t t | 0;t rotl(t, sr[i]);t (t er) | 0;ar er;er dr;dr rotl(cr, 10);cr br;br t;}t (H[1] cl dr) | 0;H[1] (H[2] dl er) | 0;H[2] (H[3] el ar) | 0;H[3] (H[4] al br) | 0;H[4] (H[0] bl cr) | 0;H[0] t;},_doFinalize: function() {var data this._data;var dataWords data.words;var nBitsTotal this._nDataBytes * 8;var nBitsLeft data.sigBytes * 8;dataWords[nBitsLeft 5] | 0x80 (24 - nBitsLeft % 32);dataWords[(((nBitsLeft 64) 9) 4) 14] ((((nBitsTotal 8) | (nBitsTotal 24)) 0x00ff00ff) | (((nBitsTotal 24) | (nBitsTotal 8)) 0xff00ff00));data.sigBytes (dataWords.length 1) * 4;this._process();var hash this._hash;var H hash.words;for (var i 0; i 5; i) {var H_i H[i];H[i] (((H_i 8) | (H_i 24)) 0x00ff00ff) | (((H_i 24) | (H_i 8)) 0xff00ff00);}return hash;},clone: function() {var clone Hasher.clone.call(this);clone._hash this._hash.clone();return clone;}});function f1(x, y, z) {return ((x) ^ (y) ^ (z));}function f2(x, y, z) {return (((x) (y)) | ((~x) (z)));}function f3(x, y, z) {return (((x) | (~ (y))) ^ (z));}function f4(x, y, z) {return (((x) (z)) | ((y) (~ (z))));}function f5(x, y, z) {return ((x) ^ ((y) | (~ (z))));}function rotl(x, n) {return (x n) | (x (32 - n));}C.RIPEMD160 Hasher._createHelper(RIPEMD160);C.HmacRIPEMD160 Hasher._createHmacHelper(RIPEMD160);}(Math));(function() {var C CryptoJS;var C_lib C.lib;var Base C_lib.Base;var C_enc C.enc;var Utf8 C_enc.Utf8;var C_algo C.algo;var HMAC C_algo.HMAC Base.extend({init: function(hasher, key) {hasher this._hasher new hasher.init();if (typeof key string) {key Utf8.parse(key);}var hasherBlockSize hasher.blockSize;var hasherBlockSizeBytes hasherBlockSize * 4;if (key.sigBytes hasherBlockSizeBytes) {key hasher.finalize(key);}key.clamp();var oKey this._oKey key.clone();var iKey this._iKey key.clone();var oKeyWords oKey.words;var iKeyWords iKey.words;for (var i 0; i hasherBlockSize; i) {oKeyWords[i] ^ 0x5c5c5c5c;iKeyWords[i] ^ 0x36363636;}oKey.sigBytes iKey.sigBytes hasherBlockSizeBytes;this.reset();},reset: function() {var hasher this._hasher;hasher.reset();hasher.update(this._iKey);},update: function(messageUpdate) {this._hasher.update(messageUpdate);return this;},finalize: function(messageUpdate) {var hasher this._hasher;var innerHash hasher.finalize(messageUpdate);hasher.reset();var hmac hasher.finalize(this._oKey.clone().concat(innerHash));return hmac;}});}());(function() {var C CryptoJS;var C_lib C.lib;var Base C_lib.Base;var WordArray C_lib.WordArray;var C_algo C.algo;var SHA1 C_algo.SHA1;var HMAC C_algo.HMAC;var PBKDF2 C_algo.PBKDF2 Base.extend({cfg: Base.extend({keySize: 128 / 32,hasher: SHA1,iterations: 1}),init: function(cfg) {this.cfg this.cfg.extend(cfg);},compute: function(password, salt) {var cfg this.cfg;var hmac HMAC.create(cfg.hasher, password);var derivedKey WordArray.create();var blockIndex WordArray.create([0x00000001]);var derivedKeyWords derivedKey.words;var blockIndexWords blockIndex.words;var keySize cfg.keySize;var iterations cfg.iterations;while (derivedKeyWords.length keySize) {var block hmac.update(salt).finalize(blockIndex);hmac.reset();var blockWords block.words;var blockWordsLength blockWords.length;var intermediate block;for (var i 1; i iterations; i) {intermediate hmac.finalize(intermediate);hmac.reset();var intermediateWords intermediate.words;for (var j 0; j blockWordsLength; j) {blockWords[j] ^ intermediateWords[j];}}derivedKey.concat(block);blockIndexWords[0];}derivedKey.sigBytes keySize * 4;return derivedKey;}});C.PBKDF2 function(password, salt, cfg) {return PBKDF2.create(cfg).compute(password, salt);};}());(function() {var C CryptoJS;var C_lib C.lib;var Base C_lib.Base;var WordArray C_lib.WordArray;var C_algo C.algo;var MD5 C_algo.MD5;var EvpKDF C_algo.EvpKDF Base.extend({cfg: Base.extend({keySize: 128 / 32,hasher: MD5,iterations: 1}),init: function(cfg) {this.cfg this.cfg.extend(cfg);},compute: function(password, salt) {var cfg this.cfg;var hasher cfg.hasher.create();var derivedKey WordArray.create();var derivedKeyWords derivedKey.words;var keySize cfg.keySize;var iterations cfg.iterations;while (derivedKeyWords.length keySize) {if (block) {hasher.update(block);}var block hasher.update(password).finalize(salt);hasher.reset();for (var i 1; i iterations; i) {block hasher.finalize(block);hasher.reset();}derivedKey.concat(block);}derivedKey.sigBytes keySize * 4;return derivedKey;}});C.EvpKDF function(password, salt, cfg) {return EvpKDF.create(cfg).compute(password, salt);};}());(function() {var C CryptoJS;var C_lib C.lib;var WordArray C_lib.WordArray;var C_algo C.algo;var SHA256 C_algo.SHA256;var SHA224 C_algo.SHA224 SHA256.extend({_doReset: function() {this._hash new WordArray.init([0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4]);},_doFinalize: function() {var hash SHA256._doFinalize.call(this);hash.sigBytes - 4;return hash;}});C.SHA224 SHA256._createHelper(SHA224);C.HmacSHA224 SHA256._createHmacHelper(SHA224);}());(function(undefined) {var C CryptoJS;var C_lib C.lib;var Base C_lib.Base;var X32WordArray C_lib.WordArray;var C_x64 C.x64 {};var X64Word C_x64.Word Base.extend({init: function(high, low) {this.high high;this.low low;}});var X64WordArray C_x64.WordArray Base.extend({init: function(words, sigBytes) {words this.words words || [];if (sigBytes ! undefined) {this.sigBytes sigBytes;} else {this.sigBytes words.length * 8;}},toX32: function() {var x64Words this.words;var x64WordsLength x64Words.length;var x32Words [];for (var i 0; i x64WordsLength; i) {var x64Word x64Words[i];x32Words.push(x64Word.high);x32Words.push(x64Word.low);}return X32WordArray.create(x32Words, this.sigBytes);},clone: function() {var clone Base.clone.call(this);var words clone.words this.words.slice(0);var wordsLength words.length;for (var i 0; i wordsLength; i) {words[i] words[i].clone();}return clone;}});}());(function(Math) {var C CryptoJS;var C_lib C.lib;var WordArray C_lib.WordArray;var Hasher C_lib.Hasher;var C_x64 C.x64;var X64Word C_x64.Word;var C_algo C.algo;var RHO_OFFSETS [];var PI_INDEXES [];var ROUND_CONSTANTS [];(function() {var x 1,y 0;for (var t 0; t 24; t) {RHO_OFFSETS[x 5 * y] ((t 1) * (t 2) / 2) % 64;var newX y % 5;var newY (2 * x 3 * y) % 5;x newX;y newY;}for (var x 0; x 5; x) {for (var y 0; y 5; y) {PI_INDEXES[x 5 * y] y ((2 * x 3 * y) % 5) * 5;}}var LFSR 0x01;for (var i 0; i 24; i) {var roundConstantMsw 0;var roundConstantLsw 0;for (var j 0; j 7; j) {if (LFSR 0x01) {var bitPosition (1 j) - 1;if (bitPosition 32) {roundConstantLsw ^ 1 bitPosition;} else {roundConstantMsw ^ 1 (bitPosition - 32);}}if (LFSR 0x80) {LFSR (LFSR 1) ^ 0x71;} else {LFSR 1;}}ROUND_CONSTANTS[i] X64Word.create(roundConstantMsw, roundConstantLsw);}}());var T [];(function() {for (var i 0; i 25; i) {T[i] X64Word.create();}}());var SHA3 C_algo.SHA3 Hasher.extend({cfg: Hasher.cfg.extend({outputLength: 512}),_doReset: function() {var state this._state []for (var i 0; i 25; i) {state[i] new X64Word.init();}this.blockSize (1600 - 2 * this.cfg.outputLength) / 32;},_doProcessBlock: function(M, offset) {var state this._state;var nBlockSizeLanes this.blockSize / 2;for (var i 0; i nBlockSizeLanes; i) {var M2i M[offset 2 * i];var M2i1 M[offset 2 * i 1];M2i ((((M2i 8) | (M2i 24)) 0x00ff00ff) | (((M2i 24) | (M2i 8)) 0xff00ff00));M2i1 ((((M2i1 8) | (M2i1 24)) 0x00ff00ff) | (((M2i1 24) | (M2i1 8)) 0xff00ff00));var lane state[i];lane.high ^ M2i1;lane.low ^ M2i;}for (var round 0; round 24; round) {for (var x 0; x 5; x) {var tMsw 0,tLsw 0;for (var y 0; y 5; y) {var lane state[x 5 * y];tMsw ^ lane.high;tLsw ^ lane.low;}var Tx T[x];Tx.high tMsw;Tx.low tLsw;}for (var x 0; x 5; x) {var Tx4 T[(x 4) % 5];var Tx1 T[(x 1) % 5];var Tx1Msw Tx1.high;var Tx1Lsw Tx1.low;var tMsw Tx4.high ^ ((Tx1Msw 1) | (Tx1Lsw 31));var tLsw Tx4.low ^ ((Tx1Lsw 1) | (Tx1Msw 31));for (var y 0; y 5; y) {var lane state[x 5 * y];lane.high ^ tMsw;lane.low ^ tLsw;}}for (var laneIndex 1; laneIndex 25; laneIndex) {var lane state[laneIndex];var laneMsw lane.high;var laneLsw lane.low;var rhoOffset RHO_OFFSETS[laneIndex];if (rhoOffset 32) {var tMsw (laneMsw rhoOffset) | (laneLsw (32 - rhoOffset));var tLsw (laneLsw rhoOffset) | (laneMsw (32 - rhoOffset));} else {var tMsw (laneLsw (rhoOffset - 32)) | (laneMsw (64 - rhoOffset));var tLsw (laneMsw (rhoOffset - 32)) | (laneLsw (64 - rhoOffset));}var TPiLane T[PI_INDEXES[laneIndex]];TPiLane.high tMsw;TPiLane.low tLsw;}var T0 T[0];var state0 state[0];T0.high state0.high;T0.low state0.low;for (var x 0; x 5; x) {for (var y 0; y 5; y) {var laneIndex x 5 * y;var lane state[laneIndex];var TLane T[laneIndex];var Tx1Lane T[((x 1) % 5) 5 * y];var Tx2Lane T[((x 2) % 5) 5 * y];lane.high TLane.high ^ (~Tx1Lane.high Tx2Lane.high);lane.low TLane.low ^ (~Tx1Lane.low Tx2Lane.low);}}var lane state[0];var roundConstant ROUND_CONSTANTS[round];lane.high ^ roundConstant.high;lane.low ^ roundConstant.low;;}},_doFinalize: function() {var data this._data;var dataWords data.words;var nBitsTotal this._nDataBytes * 8;var nBitsLeft data.sigBytes * 8;var blockSizeBits this.blockSize * 32;dataWords[nBitsLeft 5] | 0x1 (24 - nBitsLeft % 32);dataWords[((Math.ceil((nBitsLeft 1) / blockSizeBits) * blockSizeBits) 5) - 1] | 0x80;data.sigBytes dataWords.length * 4;this._process();var state this._state;var outputLengthBytes this.cfg.outputLength / 8;var outputLengthLanes outputLengthBytes / 8;var hashWords [];for (var i 0; i outputLengthLanes; i) {var lane state[i];var laneMsw lane.high;var laneLsw lane.low;laneMsw ((((laneMsw 8) | (laneMsw 24)) 0x00ff00ff) | (((laneMsw 24) | (laneMsw 8)) 0xff00ff00));laneLsw ((((laneLsw 8) | (laneLsw 24)) 0x00ff00ff) | (((laneLsw 24) | (laneLsw 8)) 0xff00ff00));hashWords.push(laneLsw);hashWords.push(laneMsw);}return new WordArray.init(hashWords, outputLengthBytes);},clone: function() {var clone Hasher.clone.call(this);var state clone._state this._state.slice(0);for (var i 0; i 25; i) {state[i] state[i].clone();}return clone;}});C.SHA3 Hasher._createHelper(SHA3);C.HmacSHA3 Hasher._createHmacHelper(SHA3);}(Math));(function() {var C CryptoJS;var C_lib C.lib;var Hasher C_lib.Hasher;var C_x64 C.x64;var X64Word C_x64.Word;var X64WordArray C_x64.WordArray;var C_algo C.algo;function X64Word_create() {return X64Word.create.apply(X64Word, arguments);}var K [X64Word_create(0x428a2f98, 0xd728ae22), X64Word_create(0x71374491, 0x23ef65cd), X64Word_create(0xb5c0fbcf, 0xec4d3b2f), X64Word_create(0xe9b5dba5, 0x8189dbbc), X64Word_create(0x3956c25b, 0xf348b538), X64Word_create(0x59f111f1, 0xb605d019), X64Word_create(0x923f82a4, 0xaf194f9b), X64Word_create(0xab1c5ed5, 0xda6d8118), X64Word_create(0xd807aa98, 0xa3030242), X64Word_create(0x12835b01, 0x45706fbe), X64Word_create(0x243185be, 0x4ee4b28c), X64Word_create(0x550c7dc3, 0xd5ffb4e2), X64Word_create(0x72be5d74, 0xf27b896f), X64Word_create(0x80deb1fe, 0x3b1696b1), X64Word_create(0x9bdc06a7, 0x25c71235), X64Word_create(0xc19bf174, 0xcf692694), X64Word_create(0xe49b69c1, 0x9ef14ad2), X64Word_create(0xefbe4786, 0x384f25e3), X64Word_create(0x0fc19dc6, 0x8b8cd5b5), X64Word_create(0x240ca1cc, 0x77ac9c65), X64Word_create(0x2de92c6f, 0x592b0275), X64Word_create(0x4a7484aa, 0x6ea6e483), X64Word_create(0x5cb0a9dc, 0xbd41fbd4), X64Word_create(0x76f988da, 0x831153b5), X64Word_create(0x983e5152, 0xee66dfab), X64Word_create(0xa831c66d, 0x2db43210), X64Word_create(0xb00327c8, 0x98fb213f), X64Word_create(0xbf597fc7, 0xbeef0ee4), X64Word_create(0xc6e00bf3, 0x3da88fc2), X64Word_create(0xd5a79147, 0x930aa725), X64Word_create(0x06ca6351, 0xe003826f), X64Word_create(0x14292967, 0x0a0e6e70), X64Word_create(0x27b70a85, 0x46d22ffc), X64Word_create(0x2e1b2138, 0x5c26c926), X64Word_create(0x4d2c6dfc, 0x5ac42aed), X64Word_create(0x53380d13, 0x9d95b3df), X64Word_create(0x650a7354, 0x8baf63de), X64Word_create(0x766a0abb, 0x3c77b2a8), X64Word_create(0x81c2c92e, 0x47edaee6), X64Word_create(0x92722c85, 0x1482353b), X64Word_create(0xa2bfe8a1, 0x4cf10364), X64Word_create(0xa81a664b, 0xbc423001), X64Word_create(0xc24b8b70, 0xd0f89791), X64Word_create(0xc76c51a3, 0x0654be30), X64Word_create(0xd192e819, 0xd6ef5218), X64Word_create(0xd6990624, 0x5565a910), X64Word_create(0xf40e3585, 0x5771202a), X64Word_create(0x106aa070, 0x32bbd1b8), X64Word_create(0x19a4c116, 0xb8d2d0c8), X64Word_create(0x1e376c08, 0x5141ab53), X64Word_create(0x2748774c, 0xdf8eeb99), X64Word_create(0x34b0bcb5, 0xe19b48a8), X64Word_create(0x391c0cb3, 0xc5c95a63), X64Word_create(0x4ed8aa4a, 0xe3418acb), X64Word_create(0x5b9cca4f, 0x7763e373), X64Word_create(0x682e6ff3, 0xd6b2b8a3), X64Word_create(0x748f82ee, 0x5defb2fc), X64Word_create(0x78a5636f, 0x43172f60), X64Word_create(0x84c87814, 0xa1f0ab72), X64Word_create(0x8cc70208, 0x1a6439ec), X64Word_create(0x90befffa, 0x23631e28), X64Word_create(0xa4506ceb, 0xde82bde9), X64Word_create(0xbef9a3f7, 0xb2c67915), X64Word_create(0xc67178f2, 0xe372532b), X64Word_create(0xca273ece, 0xea26619c), X64Word_create(0xd186b8c7, 0x21c0c207), X64Word_create(0xeada7dd6, 0xcde0eb1e), X64Word_create(0xf57d4f7f, 0xee6ed178), X64Word_create(0x06f067aa, 0x72176fba), X64Word_create(0x0a637dc5, 0xa2c898a6), X64Word_create(0x113f9804, 0xbef90dae), X64Word_create(0x1b710b35, 0x131c471b), X64Word_create(0x28db77f5, 0x23047d84), X64Word_create(0x32caab7b, 0x40c72493), X64Word_create(0x3c9ebe0a, 0x15c9bebc), X64Word_create(0x431d67c4, 0x9c100d4c), X64Word_create(0x4cc5d4be, 0xcb3e42b6), X64Word_create(0x597f299c, 0xfc657e2a), X64Word_create(0x5fcb6fab, 0x3ad6faec), X64Word_create(0x6c44198c, 0x4a475817)];var W [];(function() {for (var i 0; i 80; i) {W[i] X64Word_create();}}());var SHA512 C_algo.SHA512 Hasher.extend({_doReset: function() {this._hash new X64WordArray.init([new X64Word.init(0x6a09e667, 0xf3bcc908), new X64Word.init(0xbb67ae85, 0x84caa73b), new X64Word.init(0x3c6ef372, 0xfe94f82b), new X64Word.init(0xa54ff53a, 0x5f1d36f1), new X64Word.init(0x510e527f, 0xade682d1), new X64Word.init(0x9b05688c, 0x2b3e6c1f), new X64Word.init(0x1f83d9ab, 0xfb41bd6b), new X64Word.init(0x5be0cd19, 0x137e2179)]);},_doProcessBlock: function(M, offset) {var H this._hash.words;var H0 H[0];var H1 H[1];var H2 H[2];var H3 H[3];var H4 H[4];var H5 H[5];var H6 H[6];var H7 H[7];var H0h H0.high;var H0l H0.low;var H1h H1.high;var H1l H1.low;var H2h H2.high;var H2l H2.low;var H3h H3.high;var H3l H3.low;var H4h H4.high;var H4l H4.low;var H5h H5.high;var H5l H5.low;var H6h H6.high;var H6l H6.low;var H7h H7.high;var H7l H7.low;var ah H0h;var al H0l;var bh H1h;var bl H1l;var ch H2h;var cl H2l;var dh H3h;var dl H3l;var eh H4h;var el H4l;var fh H5h;var fl H5l;var gh H6h;var gl H6l;var hh H7h;var hl H7l;for (var i 0; i 80; i) {var Wi W[i];if (i 16) {var Wih Wi.high M[offset i * 2] | 0;var Wil Wi.low M[offset i * 2 1] | 0;} else {var gamma0x W[i - 15];var gamma0xh gamma0x.high;var gamma0xl gamma0x.low;var gamma0h ((gamma0xh 1) | (gamma0xl 31)) ^ ((gamma0xh 8) | (gamma0xl 24)) ^ (gamma0xh 7);var gamma0l ((gamma0xl 1) | (gamma0xh 31)) ^ ((gamma0xl 8) | (gamma0xh 24)) ^ ((gamma0xl 7) | (gamma0xh 25));var gamma1x W[i - 2];var gamma1xh gamma1x.high;var gamma1xl gamma1x.low;var gamma1h ((gamma1xh 19) | (gamma1xl 13)) ^ ((gamma1xh 3) | (gamma1xl 29)) ^ (gamma1xh 6);var gamma1l ((gamma1xl 19) | (gamma1xh 13)) ^ ((gamma1xl 3) | (gamma1xh 29)) ^ ((gamma1xl 6) | (gamma1xh 26));var Wi7 W[i - 7];var Wi7h Wi7.high;var Wi7l Wi7.low;var Wi16 W[i - 16];var Wi16h Wi16.high;var Wi16l Wi16.low;var Wil gamma0l Wi7l;var Wih gamma0h Wi7h ((Wil 0) (gamma0l 0) ? 1 : 0);var Wil Wil gamma1l;var Wih Wih gamma1h ((Wil 0) (gamma1l 0) ? 1 : 0);var Wil Wil Wi16l;var Wih Wih Wi16h ((Wil 0) (Wi16l 0) ? 1 : 0);Wi.high Wih;Wi.low Wil;}var chh (eh fh) ^ (~eh gh);var chl (el fl) ^ (~el gl);var majh (ah bh) ^ (ah ch) ^ (bh ch);var majl (al bl) ^ (al cl) ^ (bl cl);var sigma0h ((ah 28) | (al 4)) ^ ((ah 30) | (al 2)) ^ ((ah 25) | (al 7));var sigma0l ((al 28) | (ah 4)) ^ ((al 30) | (ah 2)) ^ ((al 25) | (ah 7));var sigma1h ((eh 14) | (el 18)) ^ ((eh 18) | (el 14)) ^ ((eh 23) | (el 9));var sigma1l ((el 14) | (eh 18)) ^ ((el 18) | (eh 14)) ^ ((el 23) | (eh 9));var Ki K[i];var Kih Ki.high;var Kil Ki.low;var t1l hl sigma1l;var t1h hh sigma1h ((t1l 0) (hl 0) ? 1 : 0);var t1l t1l chl;var t1h t1h chh ((t1l 0) (chl 0) ? 1 : 0);var t1l t1l Kil;var t1h t1h Kih ((t1l 0) (Kil 0) ? 1 : 0);var t1l t1l Wil;var t1h t1h Wih ((t1l 0) (Wil 0) ? 1 : 0);var t2l sigma0l majl;var t2h sigma0h majh ((t2l 0) (sigma0l 0) ? 1 : 0);hh gh;hl gl;gh fh;gl fl;fh eh;fl el;el (dl t1l) | 0;eh (dh t1h ((el 0) (dl 0) ? 1 : 0)) | 0;dh ch;dl cl;ch bh;cl bl;bh ah;bl al;al (t1l t2l) | 0;ah (t1h t2h ((al 0) (t1l 0) ? 1 : 0)) | 0;}H0l H0.low (H0l al);H0.high (H0h ah ((H0l 0) (al 0) ? 1 : 0));H1l H1.low (H1l bl);H1.high (H1h bh ((H1l 0) (bl 0) ? 1 : 0));H2l H2.low (H2l cl);H2.high (H2h ch ((H2l 0) (cl 0) ? 1 : 0));H3l H3.low (H3l dl);H3.high (H3h dh ((H3l 0) (dl 0) ? 1 : 0));H4l H4.low (H4l el);H4.high (H4h eh ((H4l 0) (el 0) ? 1 : 0));H5l H5.low (H5l fl);H5.high (H5h fh ((H5l 0) (fl 0) ? 1 : 0));H6l H6.low (H6l gl);H6.high (H6h gh ((H6l 0) (gl 0) ? 1 : 0));H7l H7.low (H7l hl);H7.high (H7h hh ((H7l 0) (hl 0) ? 1 : 0));},_doFinalize: function() {var data this._data;var dataWords data.words;var nBitsTotal this._nDataBytes * 8;var nBitsLeft data.sigBytes * 8;dataWords[nBitsLeft 5] | 0x80 (24 - nBitsLeft % 32);dataWords[(((nBitsLeft 128) 10) 5) 30] Math.floor(nBitsTotal / 0x100000000);dataWords[(((nBitsLeft 128) 10) 5) 31] nBitsTotal;data.sigBytes dataWords.length * 4;this._process();var hash this._hash.toX32();return hash;},clone: function() {var clone Hasher.clone.call(this);clone._hash this._hash.clone();return clone;},blockSize: 1024 / 32});C.SHA512 Hasher._createHelper(SHA512);C.HmacSHA512 Hasher._createHmacHelper(SHA512);}());(function() {var C CryptoJS;var C_x64 C.x64;var X64Word C_x64.Word;var X64WordArray C_x64.WordArray;var C_algo C.algo;var SHA512 C_algo.SHA512;var SHA384 C_algo.SHA384 SHA512.extend({_doReset: function() {this._hash new X64WordArray.init([new X64Word.init(0xcbbb9d5d, 0xc1059ed8), new X64Word.init(0x629a292a, 0x367cd507), new X64Word.init(0x9159015a, 0x3070dd17), new X64Word.init(0x152fecd8, 0xf70e5939), new X64Word.init(0x67332667, 0xffc00b31), new X64Word.init(0x8eb44a87, 0x68581511), new X64Word.init(0xdb0c2e0d, 0x64f98fa7), new X64Word.init(0x47b5481d, 0xbefa4fa4)]);},_doFinalize: function() {var hash SHA512._doFinalize.call(this);hash.sigBytes - 16;return hash;}});C.SHA384 SHA512._createHelper(SHA384);C.HmacSHA384 SHA512._createHmacHelper(SHA384);}());CryptoJS.lib.Cipher || (function(undefined) {var C CryptoJS;var C_lib C.lib;var Base C_lib.Base;var WordArray C_lib.WordArray;var BufferedBlockAlgorithm C_lib.BufferedBlockAlgorithm;var C_enc C.enc;var Utf8 C_enc.Utf8;var Base64 C_enc.Base64;var C_algo C.algo;var EvpKDF C_algo.EvpKDF;var Cipher C_lib.Cipher BufferedBlockAlgorithm.extend({cfg: Base.extend(),createEncryptor: function(key, cfg) {return this.create(this._ENC_XFORM_MODE, key, cfg);},createDecryptor: function(key, cfg) {return this.create(this._DEC_XFORM_MODE, key, cfg);},init: function(xformMode, key, cfg) {this.cfg this.cfg.extend(cfg);this._xformMode xformMode;this._key key;this.reset();},reset: function() {BufferedBlockAlgorithm.reset.call(this);this._doReset();},process: function(dataUpdate) {this._append(dataUpdate);return this._process();},finalize: function(dataUpdate) {if (dataUpdate) {this._append(dataUpdate);}var finalProcessedData this._doFinalize();return finalProcessedData;},keySize: 128 / 32,ivSize: 128 / 32,_ENC_XFORM_MODE: 1,_DEC_XFORM_MODE: 2,_createHelper: (function() {function selectCipherStrategy(key) {if (typeof key string) {return PasswordBasedCipher;} else {return SerializableCipher;}}return function(cipher) {return {encrypt: function(message, key, cfg) {return selectCipherStrategy(key).encrypt(cipher, message, key, cfg);},decrypt: function(ciphertext, key, cfg) {return selectCipherStrategy(key).decrypt(cipher, ciphertext, key, cfg);}};};}())});var StreamCipher C_lib.StreamCipher Cipher.extend({_doFinalize: function() {var finalProcessedBlocks this._process( !! flush);return finalProcessedBlocks;},blockSize: 1});var C_mode C.mode {};var BlockCipherMode C_lib.BlockCipherMode Base.extend({createEncryptor: function(cipher, iv) {return this.Encryptor.create(cipher, iv);},createDecryptor: function(cipher, iv) {return this.Decryptor.create(cipher, iv);},init: function(cipher, iv) {this._cipher cipher;this._iv iv;}});var CBC C_mode.CBC (function() {var CBC BlockCipherMode.extend();CBC.Encryptor CBC.extend({processBlock: function(words, offset) {var cipher this._cipher;var blockSize cipher.blockSize;xorBlock.call(this, words, offset, blockSize);cipher.encryptBlock(words, offset);this._prevBlock words.slice(offset, offset blockSize);}});CBC.Decryptor CBC.extend({processBlock: function(words, offset) {var cipher this._cipher;var blockSize cipher.blockSize;var thisBlock words.slice(offset, offset blockSize);cipher.decryptBlock(words, offset);xorBlock.call(this, words, offset, blockSize);this._prevBlock thisBlock;}});function xorBlock(words, offset, blockSize) {var iv this._iv;if (iv) {var block iv;this._iv undefined;} else {var block this._prevBlock;}for (var i 0; i blockSize; i) {words[offset i] ^ block[i];}}return CBC;}());var C_pad C.pad {};var Pkcs7 C_pad.Pkcs7 {pad: function(data, blockSize) {var blockSizeBytes blockSize * 4;var nPaddingBytes blockSizeBytes - data.sigBytes % blockSizeBytes;var paddingWord (nPaddingBytes 24) | (nPaddingBytes 16) | (nPaddingBytes 8) | nPaddingBytes;var paddingWords [];for (var i 0; i nPaddingBytes; i 4) {paddingWords.push(paddingWord);}var padding WordArray.create(paddingWords, nPaddingBytes);data.concat(padding);},unpad: function(data) {var nPaddingBytes data.words[(data.sigBytes - 1) 2] 0xff;data.sigBytes - nPaddingBytes;}};var BlockCipher C_lib.BlockCipher Cipher.extend({cfg: Cipher.cfg.extend({mode: CBC,padding: Pkcs7}),reset: function() {Cipher.reset.call(this);var cfg this.cfg;var iv cfg.iv;var mode cfg.mode;if (this._xformMode this._ENC_XFORM_MODE) {var modeCreator mode.createEncryptor;} else {var modeCreator mode.createDecryptor;this._minBufferSize 1;}if (this._mode this._mode.__creator modeCreator) {this._mode.init(this, iv iv.words);} else {this._mode modeCreator.call(mode, this, iv iv.words);this._mode.__creator modeCreator;}},_doProcessBlock: function(words, offset) {this._mode.processBlock(words, offset);},_doFinalize: function() {var padding this.cfg.padding;if (this._xformMode this._ENC_XFORM_MODE) {padding.pad(this._data, this.blockSize);var finalProcessedBlocks this._process( !! flush);} else {var finalProcessedBlocks this._process( !! flush);padding.unpad(finalProcessedBlocks);}return finalProcessedBlocks;},blockSize: 128 / 32});var CipherParams C_lib.CipherParams Base.extend({init: function(cipherParams) {this.mixIn(cipherParams);},toString: function(formatter) {return (formatter || this.formatter).stringify(this);}});var C_format C.format {};var OpenSSLFormatter C_format.OpenSSL {stringify: function(cipherParams) {var ciphertext cipherParams.ciphertext;var salt cipherParams.salt;if (salt) {var wordArray WordArray.create([0x53616c74, 0x65645f5f]).concat(salt).concat(ciphertext);} else {var wordArray ciphertext;}return wordArray.toString(Base64);},parse: function(openSSLStr) {var ciphertext Base64.parse(openSSLStr);var ciphertextWords ciphertext.words;if (ciphertextWords[0] 0x53616c74 ciphertextWords[1] 0x65645f5f) {var salt WordArray.create(ciphertextWords.slice(2, 4));ciphertextWords.splice(0, 4);ciphertext.sigBytes - 16;}return CipherParams.create({ciphertext: ciphertext,salt: salt});}};var SerializableCipher C_lib.SerializableCipher Base.extend({cfg: Base.extend({format: OpenSSLFormatter}),encrypt: function(cipher, message, key, cfg) {cfg this.cfg.extend(cfg);var encryptor cipher.createEncryptor(key, cfg);var ciphertext encryptor.finalize(message);var cipherCfg encryptor.cfg;return CipherParams.create({ciphertext: ciphertext,key: key,iv: cipherCfg.iv,algorithm: cipher,mode: cipherCfg.mode,padding: cipherCfg.padding,blockSize: cipher.blockSize,formatter: cfg.format});},decrypt: function(cipher, ciphertext, key, cfg) {cfg this.cfg.extend(cfg);ciphertext this._parse(ciphertext, cfg.format);var plaintext cipher.createDecryptor(key, cfg).finalize(ciphertext.ciphertext);return plaintext;},_parse: function(ciphertext, format) {if (typeof ciphertext string) {return format.parse(ciphertext, this);} else {return ciphertext;}}});var C_kdf C.kdf {};var OpenSSLKdf C_kdf.OpenSSL {execute: function(password, keySize, ivSize, salt) {if (!salt) {salt WordArray.random(64 / 8);}var key EvpKDF.create({keySize: keySize ivSize}).compute(password, salt);var iv WordArray.create(key.words.slice(keySize), ivSize * 4);key.sigBytes keySize * 4;return CipherParams.create({key: key,iv: iv,salt: salt});}};var PasswordBasedCipher C_lib.PasswordBasedCipher SerializableCipher.extend({cfg: SerializableCipher.cfg.extend({kdf: OpenSSLKdf}),encrypt: function(cipher, message, password, cfg) {cfg this.cfg.extend(cfg);var derivedParams cfg.kdf.execute(password, cipher.keySize, cipher.ivSize);cfg.iv derivedParams.iv;var ciphertext SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg);ciphertext.mixIn(derivedParams);return ciphertext;},decrypt: function(cipher, ciphertext, password, cfg) {cfg this.cfg.extend(cfg);ciphertext this._parse(ciphertext, cfg.format);var derivedParams cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt);cfg.iv derivedParams.iv;var plaintext SerializableCipher.decrypt.call(this, cipher, ciphertext, derivedParams.key, cfg);return plaintext;}});}());CryptoJS.mode.CFB (function() {var CFB CryptoJS.lib.BlockCipherMode.extend();CFB.Encryptor CFB.extend({processBlock: function(words, offset) {var cipher this._cipher;var blockSize cipher.blockSize;generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);this._prevBlock words.slice(offset, offset blockSize);}});CFB.Decryptor CFB.extend({processBlock: function(words, offset) {var cipher this._cipher;var blockSize cipher.blockSize;var thisBlock words.slice(offset, offset blockSize);generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);this._prevBlock thisBlock;}});function generateKeystreamAndEncrypt(words, offset, blockSize, cipher) {var iv this._iv;if (iv) {var keystream iv.slice(0);this._iv undefined;} else {var keystream this._prevBlock;}cipher.encryptBlock(keystream, 0);for (var i 0; i blockSize; i) {words[offset i] ^ keystream[i];}}return CFB;}());CryptoJS.mode.ECB (function() {var ECB CryptoJS.lib.BlockCipherMode.extend();ECB.Encryptor ECB.extend({processBlock: function(words, offset) {this._cipher.encryptBlock(words, offset);}});ECB.Decryptor ECB.extend({processBlock: function(words, offset) {this._cipher.decryptBlock(words, offset);}});return ECB;}());CryptoJS.pad.AnsiX923 {pad: function(data, blockSize) {var dataSigBytes data.sigBytes;var blockSizeBytes blockSize * 4;var nPaddingBytes blockSizeBytes - dataSigBytes % blockSizeBytes;var lastBytePos dataSigBytes nPaddingBytes - 1;data.clamp();data.words[lastBytePos 2] | nPaddingBytes (24 - (lastBytePos % 4) * 8);data.sigBytes nPaddingBytes;},unpad: function(data) {var nPaddingBytes data.words[(data.sigBytes - 1) 2] 0xff;data.sigBytes - nPaddingBytes;}};CryptoJS.pad.Iso10126 {pad: function(data, blockSize) {var blockSizeBytes blockSize * 4;var nPaddingBytes blockSizeBytes - data.sigBytes % blockSizeBytes;data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes - 1)).concat(CryptoJS.lib.WordArray.create([nPaddingBytes 24], 1));},unpad: function(data) {var nPaddingBytes data.words[(data.sigBytes - 1) 2] 0xff;data.sigBytes - nPaddingBytes;}};CryptoJS.pad.Iso97971 {pad: function(data, blockSize) {data.concat(CryptoJS.lib.WordArray.create([0x80000000], 1));CryptoJS.pad.ZeroPadding.pad(data, blockSize);},unpad: function(data) {CryptoJS.pad.ZeroPadding.unpad(data);data.sigBytes--;}};CryptoJS.mode.OFB (function() {var OFB CryptoJS.lib.BlockCipherMode.extend();var Encryptor OFB.Encryptor OFB.extend({processBlock: function(words, offset) {var cipher this._ciphervar blockSize cipher.blockSize;var iv this._iv;var keystream this._keystream;if (iv) {keystream this._keystream iv.slice(0);this._iv undefined;}cipher.encryptBlock(keystream, 0);for (var i 0; i blockSize; i) {words[offset i] ^ keystream[i];}}});OFB.Decryptor Encryptor;return OFB;}());CryptoJS.pad.NoPadding {pad: function() {},unpad: function() {}};(function(undefined) {var C CryptoJS;var C_lib C.lib;var CipherParams C_lib.CipherParams;var C_enc C.enc;var Hex C_enc.Hex;var C_format C.format;var HexFormatter C_format.Hex {stringify: function(cipherParams) {return cipherParams.ciphertext.toString(Hex);},parse: function(input) {var ciphertext Hex.parse(input);return CipherParams.create({ciphertext: ciphertext});}};}());(function() {var C CryptoJS;var C_lib C.lib;var BlockCipher C_lib.BlockCipher;var C_algo C.algo;var SBOX [];var INV_SBOX [];var SUB_MIX_0 [];var SUB_MIX_1 [];var SUB_MIX_2 [];var SUB_MIX_3 [];var INV_SUB_MIX_0 [];var INV_SUB_MIX_1 [];var INV_SUB_MIX_2 [];var INV_SUB_MIX_3 [];(function() {var d [];for (var i 0; i 256; i) {if (i 128) {d[i] i 1;} else {d[i] (i 1) ^ 0x11b;}}var x 0;var xi 0;for (var i 0; i 256; i) {var sx xi ^ (xi 1) ^ (xi 2) ^ (xi 3) ^ (xi 4);sx (sx 8) ^ (sx 0xff) ^ 0x63;SBOX[x] sx;INV_SBOX[sx] x;var x2 d[x];var x4 d[x2];var x8 d[x4];var t (d[sx] * 0x101) ^ (sx * 0x1010100);SUB_MIX_0[x] (t 24) | (t 8);SUB_MIX_1[x] (t 16) | (t 16);SUB_MIX_2[x] (t 8) | (t 24);SUB_MIX_3[x] t;var t (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100);INV_SUB_MIX_0[sx] (t 24) | (t 8);INV_SUB_MIX_1[sx] (t 16) | (t 16);INV_SUB_MIX_2[sx] (t 8) | (t 24);INV_SUB_MIX_3[sx] t;if (!x) {x xi 1;} else {x x2 ^ d[d[d[x8 ^ x2]]];xi ^ d[d[xi]];}}}());var RCON [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36];var AES C_algo.AES BlockCipher.extend({_doReset: function() {if (this._nRounds this._keyPriorReset this._key) {return;}var key this._keyPriorReset this._key;var keyWords key.words;var keySize key.sigBytes / 4;var nRounds this._nRounds keySize 6;var ksRows (nRounds 1) * 4;var keySchedule this._keySchedule [];for (var ksRow 0; ksRow ksRows; ksRow) {if (ksRow keySize) {keySchedule[ksRow] keyWords[ksRow];} else {var t keySchedule[ksRow - 1];if (!(ksRow % keySize)) {t (t 8) | (t 24);t (SBOX[t 24] 24) | (SBOX[(t 16) 0xff] 16) | (SBOX[(t 8) 0xff] 8) | SBOX[t 0xff];t ^ RCON[(ksRow / keySize) | 0] 24;} else if (keySize 6 ksRow % keySize 4) {t (SBOX[t 24] 24) | (SBOX[(t 16) 0xff] 16) | (SBOX[(t 8) 0xff] 8) | SBOX[t 0xff];}keySchedule[ksRow] keySchedule[ksRow - keySize] ^ t;}}var invKeySchedule this._invKeySchedule [];for (var invKsRow 0; invKsRow ksRows; invKsRow) {var ksRow ksRows - invKsRow;if (invKsRow % 4) {var t keySchedule[ksRow];} else {var t keySchedule[ksRow - 4];}if (invKsRow 4 || ksRow 4) {invKeySchedule[invKsRow] t;} else {invKeySchedule[invKsRow] INV_SUB_MIX_0[SBOX[t 24]] ^ INV_SUB_MIX_1[SBOX[(t 16) 0xff]] ^ INV_SUB_MIX_2[SBOX[(t 8) 0xff]] ^ INV_SUB_MIX_3[SBOX[t 0xff]];}}},encryptBlock: function(M, offset) {this._doCryptBlock(M, offset, this._keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX);},decryptBlock: function(M, offset) {var t M[offset 1];M[offset 1] M[offset 3];M[offset 3] t;this._doCryptBlock(M, offset, this._invKeySchedule, INV_SUB_MIX_0, INV_SUB_MIX_1, INV_SUB_MIX_2, INV_SUB_MIX_3, INV_SBOX);var t M[offset 1];M[offset 1] M[offset 3];M[offset 3] t;},_doCryptBlock: function(M, offset, keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX) {var nRounds this._nRounds;var s0 M[offset] ^ keySchedule[0];var s1 M[offset 1] ^ keySchedule[1];var s2 M[offset 2] ^ keySchedule[2];var s3 M[offset 3] ^ keySchedule[3];var ksRow 4;for (var round 1; round nRounds; round) {var t0 SUB_MIX_0[s0 24] ^ SUB_MIX_1[(s1 16) 0xff] ^ SUB_MIX_2[(s2 8) 0xff] ^ SUB_MIX_3[s3 0xff] ^ keySchedule[ksRow];var t1 SUB_MIX_0[s1 24] ^ SUB_MIX_1[(s2 16) 0xff] ^ SUB_MIX_2[(s3 8) 0xff] ^ SUB_MIX_3[s0 0xff] ^ keySchedule[ksRow];var t2 SUB_MIX_0[s2 24] ^ SUB_MIX_1[(s3 16) 0xff] ^ SUB_MIX_2[(s0 8) 0xff] ^ SUB_MIX_3[s1 0xff] ^ keySchedule[ksRow];var t3 SUB_MIX_0[s3 24] ^ SUB_MIX_1[(s0 16) 0xff] ^ SUB_MIX_2[(s1 8) 0xff] ^ SUB_MIX_3[s2 0xff] ^ keySchedule[ksRow];s0 t0;s1 t1;s2 t2;s3 t3;}var t0 ((SBOX[s0 24] 24) | (SBOX[(s1 16) 0xff] 16) | (SBOX[(s2 8) 0xff] 8) | SBOX[s3 0xff]) ^ keySchedule[ksRow];var t1 ((SBOX[s1 24] 24) | (SBOX[(s2 16) 0xff] 16) | (SBOX[(s3 8) 0xff] 8) | SBOX[s0 0xff]) ^ keySchedule[ksRow];var t2 ((SBOX[s2 24] 24) | (SBOX[(s3 16) 0xff] 16) | (SBOX[(s0 8) 0xff] 8) | SBOX[s1 0xff]) ^ keySchedule[ksRow];var t3 ((SBOX[s3 24] 24) | (SBOX[(s0 16) 0xff] 16) | (SBOX[(s1 8) 0xff] 8) | SBOX[s2 0xff]) ^ keySchedule[ksRow];M[offset] t0;M[offset 1] t1;M[offset 2] t2;M[offset 3] t3;},keySize: 256 / 32});C.AES BlockCipher._createHelper(AES);}());(function() {var C CryptoJS;var C_lib C.lib;var WordArray C_lib.WordArray;var BlockCipher C_lib.BlockCipher;var C_algo C.algo;var PC1 [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4];var PC2 [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32];var BIT_SHIFTS [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28];var SBOX_P [{0x0: 0x808200,0x10000000: 0x8000,0x20000000: 0x808002,0x30000000: 0x2,0x40000000: 0x200,0x50000000: 0x808202,0x60000000: 0x800202,0x70000000: 0x800000,0x80000000: 0x202,0x90000000: 0x800200,0xa0000000: 0x8200,0xb0000000: 0x808000,0xc0000000: 0x8002,0xd0000000: 0x800002,0xe0000000: 0x0,0xf0000000: 0x8202,0x8000000: 0x0,0x18000000: 0x808202,0x28000000: 0x8202,0x38000000: 0x8000,0x48000000: 0x808200,0x58000000: 0x200,0x68000000: 0x808002,0x78000000: 0x2,0x88000000: 0x800200,0x98000000: 0x8200,0xa8000000: 0x808000,0xb8000000: 0x800202,0xc8000000: 0x800002,0xd8000000: 0x8002,0xe8000000: 0x202,0xf8000000: 0x800000,0x1: 0x8000,0x10000001: 0x2,0x20000001: 0x808200,0x30000001: 0x800000,0x40000001: 0x808002,0x50000001: 0x8200,0x60000001: 0x200,0x70000001: 0x800202,0x80000001: 0x808202,0x90000001: 0x808000,0xa0000001: 0x800002,0xb0000001: 0x8202,0xc0000001: 0x202,0xd0000001: 0x800200,0xe0000001: 0x8002,0xf0000001: 0x0,0x8000001: 0x808202,0x18000001: 0x808000,0x28000001: 0x800000,0x38000001: 0x200,0x48000001: 0x8000,0x58000001: 0x800002,0x68000001: 0x2,0x78000001: 0x8202,0x88000001: 0x8002,0x98000001: 0x800202,0xa8000001: 0x202,0xb8000001: 0x808200,0xc8000001: 0x800200,0xd8000001: 0x0,0xe8000001: 0x8200,0xf8000001: 0x808002}, {0x0: 0x40084010,0x1000000: 0x4000,0x2000000: 0x80000,0x3000000: 0x40080010,0x4000000: 0x40000010,0x5000000: 0x40084000,0x6000000: 0x40004000,0x7000000: 0x10,0x8000000: 0x84000,0x9000000: 0x40004010,0xa000000: 0x40000000,0xb000000: 0x84010,0xc000000: 0x80010,0xd000000: 0x0,0xe000000: 0x4010,0xf000000: 0x40080000,0x800000: 0x40004000,0x1800000: 0x84010,0x2800000: 0x10,0x3800000: 0x40004010,0x4800000: 0x40084010,0x5800000: 0x40000000,0x6800000: 0x80000,0x7800000: 0x40080010,0x8800000: 0x80010,0x9800000: 0x0,0xa800000: 0x4000,0xb800000: 0x40080000,0xc800000: 0x40000010,0xd800000: 0x84000,0xe800000: 0x40084000,0xf800000: 0x4010,0x10000000: 0x0,0x11000000: 0x40080010,0x12000000: 0x40004010,0x13000000: 0x40084000,0x14000000: 0x40080000,0x15000000: 0x10,0x16000000: 0x84010,0x17000000: 0x4000,0x18000000: 0x4010,0x19000000: 0x80000,0x1a000000: 0x80010,0x1b000000: 0x40000010,0x1c000000: 0x84000,0x1d000000: 0x40004000,0x1e000000: 0x40000000,0x1f000000: 0x40084010,0x10800000: 0x84010,0x11800000: 0x80000,0x12800000: 0x40080000,0x13800000: 0x4000,0x14800000: 0x40004000,0x15800000: 0x40084010,0x16800000: 0x10,0x17800000: 0x40000000,0x18800000: 0x40084000,0x19800000: 0x40000010,0x1a800000: 0x40004010,0x1b800000: 0x80010,0x1c800000: 0x0,0x1d800000: 0x4010,0x1e800000: 0x40080010,0x1f800000: 0x84000}, {0x0: 0x104,0x100000: 0x0,0x200000: 0x4000100,0x300000: 0x10104,0x400000: 0x10004,0x500000: 0x4000004,0x600000: 0x4010104,0x700000: 0x4010000,0x800000: 0x4000000,0x900000: 0x4010100,0xa00000: 0x10100,0xb00000: 0x4010004,0xc00000: 0x4000104,0xd00000: 0x10000,0xe00000: 0x4,0xf00000: 0x100,0x80000: 0x4010100,0x180000: 0x4010004,0x280000: 0x0,0x380000: 0x4000100,0x480000: 0x4000004,0x580000: 0x10000,0x680000: 0x10004,0x780000: 0x104,0x880000: 0x4,0x980000: 0x100,0xa80000: 0x4010000,0xb80000: 0x10104,0xc80000: 0x10100,0xd80000: 0x4000104,0xe80000: 0x4010104,0xf80000: 0x4000000,0x1000000: 0x4010100,0x1100000: 0x10004,0x1200000: 0x10000,0x1300000: 0x4000100,0x1400000: 0x100,0x1500000: 0x4010104,0x1600000: 0x4000004,0x1700000: 0x0,0x1800000: 0x4000104,0x1900000: 0x4000000,0x1a00000: 0x4,0x1b00000: 0x10100,0x1c00000: 0x4010000,0x1d00000: 0x104,0x1e00000: 0x10104,0x1f00000: 0x4010004,0x1080000: 0x4000000,0x1180000: 0x104,0x1280000: 0x4010100,0x1380000: 0x0,0x1480000: 0x10004,0x1580000: 0x4000100,0x1680000: 0x100,0x1780000: 0x4010004,0x1880000: 0x10000,0x1980000: 0x4010104,0x1a80000: 0x10104,0x1b80000: 0x4000004,0x1c80000: 0x4000104,0x1d80000: 0x4010000,0x1e80000: 0x4,0x1f80000: 0x10100}, {0x0: 0x80401000,0x10000: 0x80001040,0x20000: 0x401040,0x30000: 0x80400000,0x40000: 0x0,0x50000: 0x401000,0x60000: 0x80000040,0x70000: 0x400040,0x80000: 0x80000000,0x90000: 0x400000,0xa0000: 0x40,0xb0000: 0x80001000,0xc0000: 0x80400040,0xd0000: 0x1040,0xe0000: 0x1000,0xf0000: 0x80401040,0x8000: 0x80001040,0x18000: 0x40,0x28000: 0x80400040,0x38000: 0x80001000,0x48000: 0x401000,0x58000: 0x80401040,0x68000: 0x0,0x78000: 0x80400000,0x88000: 0x1000,0x98000: 0x80401000,0xa8000: 0x400000,0xb8000: 0x1040,0xc8000: 0x80000000,0xd8000: 0x400040,0xe8000: 0x401040,0xf8000: 0x80000040,0x100000: 0x400040,0x110000: 0x401000,0x120000: 0x80000040,0x130000: 0x0,0x140000: 0x1040,0x150000: 0x80400040,0x160000: 0x80401000,0x170000: 0x80001040,0x180000: 0x80401040,0x190000: 0x80000000,0x1a0000: 0x80400000,0x1b0000: 0x401040,0x1c0000: 0x80001000,0x1d0000: 0x400000,0x1e0000: 0x40,0x1f0000: 0x1000,0x108000: 0x80400000,0x118000: 0x80401040,0x128000: 0x0,0x138000: 0x401000,0x148000: 0x400040,0x158000: 0x80000000,0x168000: 0x80001040,0x178000: 0x40,0x188000: 0x80000040,0x198000: 0x1000,0x1a8000: 0x80001000,0x1b8000: 0x80400040,0x1c8000: 0x1040,0x1d8000: 0x80401000,0x1e8000: 0x400000,0x1f8000: 0x401040}, {0x0: 0x80,0x1000: 0x1040000,0x2000: 0x40000,0x3000: 0x20000000,0x4000: 0x20040080,0x5000: 0x1000080,0x6000: 0x21000080,0x7000: 0x40080,0x8000: 0x1000000,0x9000: 0x20040000,0xa000: 0x20000080,0xb000: 0x21040080,0xc000: 0x21040000,0xd000: 0x0,0xe000: 0x1040080,0xf000: 0x21000000,0x800: 0x1040080,0x1800: 0x21000080,0x2800: 0x80,0x3800: 0x1040000,0x4800: 0x40000,0x5800: 0x20040080,0x6800: 0x21040000,0x7800: 0x20000000,0x8800: 0x20040000,0x9800: 0x0,0xa800: 0x21040080,0xb800: 0x1000080,0xc800: 0x20000080,0xd800: 0x21000000,0xe800: 0x1000000,0xf800: 0x40080,0x10000: 0x40000,0x11000: 0x80,0x12000: 0x20000000,0x13000: 0x21000080,0x14000: 0x1000080,0x15000: 0x21040000,0x16000: 0x20040080,0x17000: 0x1000000,0x18000: 0x21040080,0x19000: 0x21000000,0x1a000: 0x1040000,0x1b000: 0x20040000,0x1c000: 0x40080,0x1d000: 0x20000080,0x1e000: 0x0,0x1f000: 0x1040080,0x10800: 0x21000080,0x11800: 0x1000000,0x12800: 0x1040000,0x13800: 0x20040080,0x14800: 0x20000000,0x15800: 0x1040080,0x16800: 0x80,0x17800: 0x21040000,0x18800: 0x40080,0x19800: 0x21040080,0x1a800: 0x0,0x1b800: 0x21000000,0x1c800: 0x1000080,0x1d800: 0x40000,0x1e800: 0x20040000,0x1f800: 0x20000080}, {0x0: 0x10000008,0x100: 0x2000,0x200: 0x10200000,0x300: 0x10202008,0x400: 0x10002000,0x500: 0x200000,0x600: 0x200008,0x700: 0x10000000,0x800: 0x0,0x900: 0x10002008,0xa00: 0x202000,0xb00: 0x8,0xc00: 0x10200008,0xd00: 0x202008,0xe00: 0x2008,0xf00: 0x10202000,0x80: 0x10200000,0x180: 0x10202008,0x280: 0x8,0x380: 0x200000,0x480: 0x202008,0x580: 0x10000008,0x680: 0x10002000,0x780: 0x2008,0x880: 0x200008,0x980: 0x2000,0xa80: 0x10002008,0xb80: 0x10200008,0xc80: 0x0,0xd80: 0x10202000,0xe80: 0x202000,0xf80: 0x10000000,0x1000: 0x10002000,0x1100: 0x10200008,0x1200: 0x10202008,0x1300: 0x2008,0x1400: 0x200000,0x1500: 0x10000000,0x1600: 0x10000008,0x1700: 0x202000,0x1800: 0x202008,0x1900: 0x0,0x1a00: 0x8,0x1b00: 0x10200000,0x1c00: 0x2000,0x1d00: 0x10002008,0x1e00: 0x10202000,0x1f00: 0x200008,0x1080: 0x8,0x1180: 0x202000,0x1280: 0x200000,0x1380: 0x10000008,0x1480: 0x10002000,0x1580: 0x2008,0x1680: 0x10202008,0x1780: 0x10200000,0x1880: 0x10202000,0x1980: 0x10200008,0x1a80: 0x2000,0x1b80: 0x202008,0x1c80: 0x200008,0x1d80: 0x0,0x1e80: 0x10000000,0x1f80: 0x10002008}, {0x0: 0x100000,0x10: 0x2000401,0x20: 0x400,0x30: 0x100401,0x40: 0x2100401,0x50: 0x0,0x60: 0x1,0x70: 0x2100001,0x80: 0x2000400,0x90: 0x100001,0xa0: 0x2000001,0xb0: 0x2100400,0xc0: 0x2100000,0xd0: 0x401,0xe0: 0x100400,0xf0: 0x2000000,0x8: 0x2100001,0x18: 0x0,0x28: 0x2000401,0x38: 0x2100400,0x48: 0x100000,0x58: 0x2000001,0x68: 0x2000000,0x78: 0x401,0x88: 0x100401,0x98: 0x2000400,0xa8: 0x2100000,0xb8: 0x100001,0xc8: 0x400,0xd8: 0x2100401,0xe8: 0x1,0xf8: 0x100400,0x100: 0x2000000,0x110: 0x100000,0x120: 0x2000401,0x130: 0x2100001,0x140: 0x100001,0x150: 0x2000400,0x160: 0x2100400,0x170: 0x100401,0x180: 0x401,0x190: 0x2100401,0x1a0: 0x100400,0x1b0: 0x1,0x1c0: 0x0,0x1d0: 0x2100000,0x1e0: 0x2000001,0x1f0: 0x400,0x108: 0x100400,0x118: 0x2000401,0x128: 0x2100001,0x138: 0x1,0x148: 0x2000000,0x158: 0x100000,0x168: 0x401,0x178: 0x2100400,0x188: 0x2000001,0x198: 0x2100000,0x1a8: 0x0,0x1b8: 0x2100401,0x1c8: 0x100401,0x1d8: 0x400,0x1e8: 0x2000400,0x1f8: 0x100001}, {0x0: 0x8000820,0x1: 0x20000,0x2: 0x8000000,0x3: 0x20,0x4: 0x20020,0x5: 0x8020820,0x6: 0x8020800,0x7: 0x800,0x8: 0x8020000,0x9: 0x8000800,0xa: 0x20800,0xb: 0x8020020,0xc: 0x820,0xd: 0x0,0xe: 0x8000020,0xf: 0x20820,0x80000000: 0x800,0x80000001: 0x8020820,0x80000002: 0x8000820,0x80000003: 0x8000000,0x80000004: 0x8020000,0x80000005: 0x20800,0x80000006: 0x20820,0x80000007: 0x20,0x80000008: 0x8000020,0x80000009: 0x820,0x8000000a: 0x20020,0x8000000b: 0x8020800,0x8000000c: 0x0,0x8000000d: 0x8020020,0x8000000e: 0x8000800,0x8000000f: 0x20000,0x10: 0x20820,0x11: 0x8020800,0x12: 0x20,0x13: 0x800,0x14: 0x8000800,0x15: 0x8000020,0x16: 0x8020020,0x17: 0x20000,0x18: 0x0,0x19: 0x20020,0x1a: 0x8020000,0x1b: 0x8000820,0x1c: 0x8020820,0x1d: 0x20800,0x1e: 0x820,0x1f: 0x8000000,0x80000010: 0x20000,0x80000011: 0x800,0x80000012: 0x8020020,0x80000013: 0x20820,0x80000014: 0x20,0x80000015: 0x8020000,0x80000016: 0x8000000,0x80000017: 0x8000820,0x80000018: 0x8020820,0x80000019: 0x8000020,0x8000001a: 0x8000800,0x8000001b: 0x0,0x8000001c: 0x20800,0x8000001d: 0x820,0x8000001e: 0x20020,0x8000001f: 0x8020800}];var SBOX_MASK [0xf8000001, 0x1f800000, 0x01f80000, 0x001f8000, 0x0001f800, 0x00001f80, 0x000001f8, 0x8000001f];var DES C_algo.DES BlockCipher.extend({_doReset: function() {var key this._key;var keyWords key.words;var keyBits [];for (var i 0; i 56; i) {var keyBitPos PC1[i] - 1;keyBits[i] (keyWords[keyBitPos 5] (31 - keyBitPos % 32)) 1;}var subKeys this._subKeys [];for (var nSubKey 0; nSubKey 16; nSubKey) {var subKey subKeys[nSubKey] [];var bitShift BIT_SHIFTS[nSubKey];for (var i 0; i 24; i) {subKey[(i / 6) | 0] | keyBits[((PC2[i] - 1) bitShift) % 28] (31 - i % 6);subKey[4 ((i / 6) | 0)] | keyBits[28 (((PC2[i 24] - 1) bitShift) % 28)] (31 - i % 6);}subKey[0] (subKey[0] 1) | (subKey[0] 31);for (var i 1; i 7; i) {subKey[i] subKey[i] ((i - 1) * 4 3);}subKey[7] (subKey[7] 5) | (subKey[7] 27);}var invSubKeys this._invSubKeys [];for (var i 0; i 16; i) {invSubKeys[i] subKeys[15 - i];}},encryptBlock: function(M, offset) {this._doCryptBlock(M, offset, this._subKeys);},decryptBlock: function(M, offset) {this._doCryptBlock(M, offset, this._invSubKeys);},_doCryptBlock: function(M, offset, subKeys) {this._lBlock M[offset];this._rBlock M[offset 1];exchangeLR.call(this, 4, 0x0f0f0f0f);exchangeLR.call(this, 16, 0x0000ffff);exchangeRL.call(this, 2, 0x33333333);exchangeRL.call(this, 8, 0x00ff00ff);exchangeLR.call(this, 1, 0x55555555);for (var round 0; round 16; round) {var subKey subKeys[round];var lBlock this._lBlock;var rBlock this._rBlock;var f 0;for (var i 0; i 8; i) {f | SBOX_P[i][((rBlock ^ subKey[i]) SBOX_MASK[i]) 0];}this._lBlock rBlock;this._rBlock lBlock ^ f;}var t this._lBlock;this._lBlock this._rBlock;this._rBlock t;exchangeLR.call(this, 1, 0x55555555);exchangeRL.call(this, 8, 0x00ff00ff);exchangeRL.call(this, 2, 0x33333333);exchangeLR.call(this, 16, 0x0000ffff);exchangeLR.call(this, 4, 0x0f0f0f0f);M[offset] this._lBlock;M[offset 1] this._rBlock;},keySize: 64 / 32,ivSize: 64 / 32,blockSize: 64 / 32});function exchangeLR(offset, mask) {var t ((this._lBlock offset) ^ this._rBlock) mask;this._rBlock ^ t;this._lBlock ^ t offset;}function exchangeRL(offset, mask) {var t ((this._rBlock offset) ^ this._lBlock) mask;this._lBlock ^ t;this._rBlock ^ t offset;}C.DES BlockCipher._createHelper(DES);var TripleDES C_algo.TripleDES BlockCipher.extend({_doReset: function() {var key this._key;var keyWords key.words;this._des1 DES.createEncryptor(WordArray.create(keyWords.slice(0, 2)));this._des2 DES.createEncryptor(WordArray.create(keyWords.slice(2, 4)));this._des3 DES.createEncryptor(WordArray.create(keyWords.slice(4, 6)));},encryptBlock: function(M, offset) {this._des1.encryptBlock(M, offset);this._des2.decryptBlock(M, offset);this._des3.encryptBlock(M, offset);},decryptBlock: function(M, offset) {this._des3.decryptBlock(M, offset);this._des2.encryptBlock(M, offset);this._des1.decryptBlock(M, offset);},keySize: 192 / 32,ivSize: 64 / 32,blockSize: 64 / 32});C.TripleDES BlockCipher._createHelper(TripleDES);}());(function() {var C CryptoJS;var C_lib C.lib;var StreamCipher C_lib.StreamCipher;var C_algo C.algo;var RC4 C_algo.RC4 StreamCipher.extend({_doReset: function() {var key this._key;var keyWords key.words;var keySigBytes key.sigBytes;var S this._S [];for (var i 0; i 256; i) {S[i] i;}for (var i 0, j 0; i 256; i) {var keyByteIndex i % keySigBytes;var keyByte (keyWords[keyByteIndex 2] (24 - (keyByteIndex % 4) * 8)) 0xff;j (j S[i] keyByte) % 256;var t S[i];S[i] S[j];S[j] t;}this._i this._j 0;},_doProcessBlock: function(M, offset) {M[offset] ^ generateKeystreamWord.call(this);},keySize: 256 / 32,ivSize: 0});function generateKeystreamWord() {var S this._S;var i this._i;var j this._j;var keystreamWord 0;for (var n 0; n 4; n) {i (i 1) % 256;j (j S[i]) % 256;var t S[i];S[i] S[j];S[j] t;keystreamWord | S[(S[i] S[j]) % 256] (24 - n * 8);}this._i i;this._j j;return keystreamWord;}C.RC4 StreamCipher._createHelper(RC4);var RC4Drop C_algo.RC4Drop RC4.extend({cfg: RC4.cfg.extend({drop: 192}),_doReset: function() {RC4._doReset.call(this);for (var i this.cfg.drop; i 0; i--) {generateKeystreamWord.call(this);}}});C.RC4Drop StreamCipher._createHelper(RC4Drop);}());CryptoJS.mode.CTRGladman (function() {var CTRGladman CryptoJS.lib.BlockCipherMode.extend();function incWord(word) {if (((word 24) 0xff) 0xff) {var b1 (word 16) 0xff;var b2 (word 8) 0xff;var b3 word 0xff;if (b1 0xff) {b1 0;if (b2 0xff) {b2 0;if (b3 0xff) {b3 0;} else {b3;}} else {b2;}} else {b1;}word 0;word (b1 16);word (b2 8);word b3;} else {word (0x01 24);}return word;}function incCounter(counter) {if ((counter[0] incWord(counter[0])) 0) {counter[1] incWord(counter[1]);}return counter;}var Encryptor CTRGladman.Encryptor CTRGladman.extend({processBlock: function(words, offset) {var cipher this._ciphervar blockSize cipher.blockSize;var iv this._iv;var counter this._counter;if (iv) {counter this._counter iv.slice(0);this._iv undefined;}incCounter(counter);var keystream counter.slice(0);cipher.encryptBlock(keystream, 0);for (var i 0; i blockSize; i) {words[offset i] ^ keystream[i];}}});CTRGladman.Decryptor Encryptor;return CTRGladman;}());(function() {var C CryptoJS;var C_lib C.lib;var StreamCipher C_lib.StreamCipher;var C_algo C.algo;var S [];var C_ [];var G [];var Rabbit C_algo.Rabbit StreamCipher.extend({_doReset: function() {var K this._key.words;var iv this.cfg.iv;for (var i 0; i 4; i) {K[i] (((K[i] 8) | (K[i] 24)) 0x00ff00ff) | (((K[i] 24) | (K[i] 8)) 0xff00ff00);}var X this._X [K[0], (K[3] 16) | (K[2] 16), K[1], (K[0] 16) | (K[3] 16), K[2], (K[1] 16) | (K[0] 16), K[3], (K[2] 16) | (K[1] 16)];var C this._C [(K[2] 16) | (K[2] 16), (K[0] 0xffff0000) | (K[1] 0x0000ffff), (K[3] 16) | (K[3] 16), (K[1] 0xffff0000) | (K[2] 0x0000ffff), (K[0] 16) | (K[0] 16), (K[2] 0xffff0000) | (K[3] 0x0000ffff), (K[1] 16) | (K[1] 16), (K[3] 0xffff0000) | (K[0] 0x0000ffff)];this._b 0;for (var i 0; i 4; i) {nextState.call(this);}for (var i 0; i 8; i) {C[i] ^ X[(i 4) 7];}if (iv) {var IV iv.words;var IV_0 IV[0];var IV_1 IV[1];var i0 (((IV_0 8) | (IV_0 24)) 0x00ff00ff) | (((IV_0 24) | (IV_0 8)) 0xff00ff00);var i2 (((IV_1 8) | (IV_1 24)) 0x00ff00ff) | (((IV_1 24) | (IV_1 8)) 0xff00ff00);var i1 (i0 16) | (i2 0xffff0000);var i3 (i2 16) | (i0 0x0000ffff);C[0] ^ i0;C[1] ^ i1;C[2] ^ i2;C[3] ^ i3;C[4] ^ i0;C[5] ^ i1;C[6] ^ i2;C[7] ^ i3;for (var i 0; i 4; i) {nextState.call(this);}}},_doProcessBlock: function(M, offset) {var X this._X;nextState.call(this);S[0] X[0] ^ (X[5] 16) ^ (X[3] 16);S[1] X[2] ^ (X[7] 16) ^ (X[5] 16);S[2] X[4] ^ (X[1] 16) ^ (X[7] 16);S[3] X[6] ^ (X[3] 16) ^ (X[1] 16);for (var i 0; i 4; i) {S[i] (((S[i] 8) | (S[i] 24)) 0x00ff00ff) | (((S[i] 24) | (S[i] 8)) 0xff00ff00);M[offset i] ^ S[i];}},blockSize: 128 / 32,ivSize: 64 / 32});function nextState() {var X this._X;var C this._C;for (var i 0; i 8; i) {C_[i] C[i];}C[0] (C[0] 0x4d34d34d this._b) | 0;C[1] (C[1] 0xd34d34d3 ((C[0] 0) (C_[0] 0) ? 1 : 0)) | 0;C[2] (C[2] 0x34d34d34 ((C[1] 0) (C_[1] 0) ? 1 : 0)) | 0;C[3] (C[3] 0x4d34d34d ((C[2] 0) (C_[2] 0) ? 1 : 0)) | 0;C[4] (C[4] 0xd34d34d3 ((C[3] 0) (C_[3] 0) ? 1 : 0)) | 0;C[5] (C[5] 0x34d34d34 ((C[4] 0) (C_[4] 0) ? 1 : 0)) | 0;C[6] (C[6] 0x4d34d34d ((C[5] 0) (C_[5] 0) ? 1 : 0)) | 0;C[7] (C[7] 0xd34d34d3 ((C[6] 0) (C_[6] 0) ? 1 : 0)) | 0;this._b (C[7] 0) (C_[7] 0) ? 1 : 0;for (var i 0; i 8; i) {var gx X[i] C[i];var ga gx 0xffff;var gb gx 16;var gh ((((ga * ga) 17) ga * gb) 15) gb * gb;var gl (((gx 0xffff0000) * gx) | 0) (((gx 0x0000ffff) * gx) | 0);G[i] gh ^ gl;}X[0] (G[0] ((G[7] 16) | (G[7] 16)) ((G[6] 16) | (G[6] 16))) | 0;X[1] (G[1] ((G[0] 8) | (G[0] 24)) G[7]) | 0;X[2] (G[2] ((G[1] 16) | (G[1] 16)) ((G[0] 16) | (G[0] 16))) | 0;X[3] (G[3] ((G[2] 8) | (G[2] 24)) G[1]) | 0;X[4] (G[4] ((G[3] 16) | (G[3] 16)) ((G[2] 16) | (G[2] 16))) | 0;X[5] (G[5] ((G[4] 8) | (G[4] 24)) G[3]) | 0;X[6] (G[6] ((G[5] 16) | (G[5] 16)) ((G[4] 16) | (G[4] 16))) | 0;X[7] (G[7] ((G[6] 8) | (G[6] 24)) G[5]) | 0;}C.Rabbit StreamCipher._createHelper(Rabbit);}());CryptoJS.mode.CTR (function() {var CTR CryptoJS.lib.BlockCipherMode.extend();var Encryptor CTR.Encryptor CTR.extend({processBlock: function(words, offset) {var cipher this._ciphervar blockSize cipher.blockSize;var iv this._iv;var counter this._counter;if (iv) {counter this._counter iv.slice(0);this._iv undefined;}var keystream counter.slice(0);cipher.encryptBlock(keystream, 0);counter[blockSize - 1] (counter[blockSize - 1] 1) | 0for (var i 0; i blockSize; i) {words[offset i] ^ keystream[i];}}});CTR.Decryptor Encryptor;return CTR;}());(function() {var C CryptoJS;var C_lib C.lib;var StreamCipher C_lib.StreamCipher;var C_algo C.algo;var S [];var C_ [];var G [];var RabbitLegacy C_algo.RabbitLegacy StreamCipher.extend({_doReset: function() {var K this._key.words;var iv this.cfg.iv;var X this._X [K[0], (K[3] 16) | (K[2] 16), K[1], (K[0] 16) | (K[3] 16), K[2], (K[1] 16) | (K[0] 16), K[3], (K[2] 16) | (K[1] 16)];var C this._C [(K[2] 16) | (K[2] 16), (K[0] 0xffff0000) | (K[1] 0x0000ffff), (K[3] 16) | (K[3] 16), (K[1] 0xffff0000) | (K[2] 0x0000ffff), (K[0] 16) | (K[0] 16), (K[2] 0xffff0000) | (K[3] 0x0000ffff), (K[1] 16) | (K[1] 16), (K[3] 0xffff0000) | (K[0] 0x0000ffff)];this._b 0;for (var i 0; i 4; i) {nextState.call(this);}for (var i 0; i 8; i) {C[i] ^ X[(i 4) 7];}if (iv) {var IV iv.words;var IV_0 IV[0];var IV_1 IV[1];var i0 (((IV_0 8) | (IV_0 24)) 0x00ff00ff) | (((IV_0 24) | (IV_0 8)) 0xff00ff00);var i2 (((IV_1 8) | (IV_1 24)) 0x00ff00ff) | (((IV_1 24) | (IV_1 8)) 0xff00ff00);var i1 (i0 16) | (i2 0xffff0000);var i3 (i2 16) | (i0 0x0000ffff);C[0] ^ i0;C[1] ^ i1;C[2] ^ i2;C[3] ^ i3;C[4] ^ i0;C[5] ^ i1;C[6] ^ i2;C[7] ^ i3;for (var i 0; i 4; i) {nextState.call(this);}}},_doProcessBlock: function(M, offset) {var X this._X;nextState.call(this);S[0] X[0] ^ (X[5] 16) ^ (X[3] 16);S[1] X[2] ^ (X[7] 16) ^ (X[5] 16);S[2] X[4] ^ (X[1] 16) ^ (X[7] 16);S[3] X[6] ^ (X[3] 16) ^ (X[1] 16);for (var i 0; i 4; i) {S[i] (((S[i] 8) | (S[i] 24)) 0x00ff00ff) | (((S[i] 24) | (S[i] 8)) 0xff00ff00);M[offset i] ^ S[i];}},blockSize: 128 / 32,ivSize: 64 / 32});function nextState() {var X this._X;var C this._C;for (var i 0; i 8; i) {C_[i] C[i];}C[0] (C[0] 0x4d34d34d this._b) | 0;C[1] (C[1] 0xd34d34d3 ((C[0] 0) (C_[0] 0) ? 1 : 0)) | 0;C[2] (C[2] 0x34d34d34 ((C[1] 0) (C_[1] 0) ? 1 : 0)) | 0;C[3] (C[3] 0x4d34d34d ((C[2] 0) (C_[2] 0) ? 1 : 0)) | 0;C[4] (C[4] 0xd34d34d3 ((C[3] 0) (C_[3] 0) ? 1 : 0)) | 0;C[5] (C[5] 0x34d34d34 ((C[4] 0) (C_[4] 0) ? 1 : 0)) | 0;C[6] (C[6] 0x4d34d34d ((C[5] 0) (C_[5] 0) ? 1 : 0)) | 0;C[7] (C[7] 0xd34d34d3 ((C[6] 0) (C_[6] 0) ? 1 : 0)) | 0;this._b (C[7] 0) (C_[7] 0) ? 1 : 0;for (var i 0; i 8; i) {var gx X[i] C[i];var ga gx 0xffff;var gb gx 16;var gh ((((ga * ga) 17) ga * gb) 15) gb * gb;var gl (((gx 0xffff0000) * gx) | 0) (((gx 0x0000ffff) * gx) | 0);G[i] gh ^ gl;}X[0] (G[0] ((G[7] 16) | (G[7] 16)) ((G[6] 16) | (G[6] 16))) | 0;X[1] (G[1] ((G[0] 8) | (G[0] 24)) G[7]) | 0;X[2] (G[2] ((G[1] 16) | (G[1] 16)) ((G[0] 16) | (G[0] 16))) | 0;X[3] (G[3] ((G[2] 8) | (G[2] 24)) G[1]) | 0;X[4] (G[4] ((G[3] 16) | (G[3] 16)) ((G[2] 16) | (G[2] 16))) | 0;X[5] (G[5] ((G[4] 8) | (G[4] 24)) G[3]) | 0;X[6] (G[6] ((G[5] 16) | (G[5] 16)) ((G[4] 16) | (G[4] 16))) | 0;X[7] (G[7] ((G[6] 8) | (G[6] 24)) G[5]) | 0;}C.RabbitLegacy StreamCipher._createHelper(RabbitLegacy);}());CryptoJS.pad.ZeroPadding {pad: function(data, blockSize) {var blockSizeBytes blockSize * 4;data.clamp();data.sigBytes blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes);},unpad: function(data) {var dataWords data.words;var i data.sigBytes - 1;while (!((dataWords[i 2] (24 - (i % 4) * 8)) 0xff)) {i--;}data.sigBytes i 1;}};return CryptoJS; }function encryptByDES(message, key) {var keyHex CryptoJS.enc.Utf8.parse(key);var encrypted CryptoJS.DES.encrypt(message, keyHex, {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});return encrypted.ciphertext.toString(); }function getSign(){var message https://wangluozhe.com/challenge/3;message message | Date.parse(new Date()).toString();var key Date.parse(new Date()).toString();window.sign encryptByDES(message, key);return window.sign }// console.log(getSign());五、python代码实现 import time import execjs import requestsclass Spider(object):def __init__(self):with open(filejs_encrypt.js, moder, encodingutf-8) as fis:js_code fis.read() # 读取JS代码文件self.js_obj execjs.compile(js_code) # 激将JS代码传入self.headers {Accept: application/json, text/javascript, */*; q0.01,Content-Type: application/x-www-form-urlencoded; charsetUTF-8,User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36,Cookie: 自己账户的cookie}self.url https://wangluozhe.com/challenge/api/3self.count_number 0def getParams(self, page):form_data {page: page,count: 10,_signature: self.js_obj.call(getSign)}return form_datadef request_server(self, page):form_data self.getParams(page)print(当前参数, form_data)response requests.post(urlself.url, headersself.headers, dataform_data)for items in response.json()[data]:print(f当前值:{self.count_number} {items[value]} {self.count_numberitems[value]})self.count_number items[value]def runs(self):for page in range(1, 1001):self.request_server(pagepage)time.sleep(1.5)print(f100页的所有数据并加和{self.count_number})if __name__ __main__:Spider().runs()总结 推荐 - 网洛者反爬练习平台第三题AAEncode 加密https://blog.csdn.net/kdl_csdn/article/details/121977337
http://www.tj-hxxt.cn/news/221919.html

相关文章:

  • 做网站需要些什么网站创作
  • 网站迁移教材旅游类网站如何做推广
  • 公司域名让做网站的做个网上平台大概要多少钱
  • 自助网站建设系统软件郑州哪家做网站好
  • 支持ipv6网站开发临沂免费模板建站
  • 枣庄学习建设网站培训小语种外贸网站建设
  • 酒店如何做团购网站网站怎么做快捷方式
  • 如何做商业网站网站空间在哪里买
  • 机械毕业设计代做网站c 可以用来做网站吗
  • 做网站推广话术怎么键卖东西的网站
  • 买东西的网站都有哪些聊城哪里可以学网站建设呢
  • 做电商网站需要注意哪些创意100图片欣赏
  • 网站图片一般多大住房和城乡建设部网站
  • 一站式网站建设比较好wordpress 淘客网站
  • 做网站要钱吗广州论坛建站模板
  • 做知识产权服务的网站网页模板下载 可以赚钱吗?
  • 网站建设的技术难点食品类网站模板
  • 网站软件app网络管理系统平台
  • 爱站网ip反域名查询自学网站建设要看什么书
  • 阿里云自助建站教程自适应网站如何做移动适配
  • 武夷山市建设局网站广告模板网站
  • 网站推广渠道怎么做wordpress带会员中心的主题
  • 商城网站流程wordpress qps
  • 流量卡分销平台seo优化价格
  • 网站策划案内容2万一3万电动汽车
  • 邯郸市建设局网站2017网站建设的软件叫啥
  • 卓越 网站中国交通建设监理协会网站打不开
  • iis5.1怎么发布网站做馋嘴小栈官方网站
  • html5网站开发框架灰色关键词排名优化
  • 自己网站做电子签章有效么首页关键词排名代发