!function(a){function b(){return{type:48,children:Array.prototype.slice.call(arguments)}}function c(a){return{type:6,content:a}}function d(a){return{type:3,encapsulates:a}}function e(a){return{type:2,out:a}}function f(a){return{type:4,out:a}}function i(a,b){function d(){return a.charCodeAt(c++)}function e(){var a=d();if(128&a){var b=127&a;if(b>2||0==b)throw"Unsupported length";a=0;for(var c=0;b>c;c++)a+=d()<<8*(b-1-c);return a}return a}function f(b){var h=d(),i=e();if("type"in b&&b.type!=h)throw"Unexpected type";if("content"in b&&b.content!=a.substr(c,i))throw"Unexpected content";if("out"in b&&(g[b.out]=new BigInteger(a.substr(c,i),256)),"children"in b){var j,k;for(j=0,k=c+i;k>c;j++){if(j>=b.children.length)throw"Too many children";f(b.children[j])}if(j<b.children.length)throw"Too few children";if(c>k)throw"Children too large"}else if("encapsulates"in b){if(0!=d())throw"Encapsulation expected";f(b.encapsulates)}else c+=i}var c=0,g={};if(f(b),c!=a.length)throw"Too much data";return g}function j(a){try{return i(atob(a),g)}catch(b){return console.log("Invalid RSA public key: "+b),null}}function k(a,b,c){function k(){return f.charCodeAt(g++)}var d=j(a);if(!d)return!1;d.e=parseInt(d.e.toString(16),16);var e=new BigInteger(atob(b),256),f=e.modPowInt(d.e,d.n).toString(256);try{var g=0;if(1!=k())throw"Wrong padding in signature digest";for(;255==k(););if(0!=f.charCodeAt(g-1))throw"Wrong padding in signature digest";var l=i(f.substr(g),h).sha1,m=new BigInteger(SHA1(c),16);return 0==l.compareTo(m)}catch(n){return console.log("Invalid encrypted signature: "+n),!1}}var g=b(b(c("*\x86H\x86\xf7\r"),{}),d(b(e("n"),e("e")))),h=b(b(c("+"),{}),f("sha1"));a.verifySignature=k}(this);