oidc-spa 8.6.17 → 8.6.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -8
- package/core/createOidc.js +6 -1
- package/core/createOidc.js.map +1 -1
- package/core/loginOrGoToAuthServer.js +0 -7
- package/core/loginOrGoToAuthServer.js.map +1 -1
- package/core/loginSilent.js +0 -8
- package/core/loginSilent.js.map +1 -1
- package/esm/core/createOidc.mjs +6 -1
- package/esm/core/createOidc.mjs.map +1 -1
- package/esm/core/loginOrGoToAuthServer.mjs +0 -7
- package/esm/core/loginOrGoToAuthServer.mjs.map +1 -1
- package/esm/core/loginSilent.mjs +0 -8
- package/esm/core/loginSilent.mjs.map +1 -1
- package/esm/tools/loadWebcryptoLinerShim.d.ts +1 -0
- package/esm/tools/loadWebcryptoLinerShim.mjs +9 -0
- package/esm/tools/loadWebcryptoLinerShim.mjs.map +1 -0
- package/esm/vendor/frontend/webcrypto-liner-shim.d.ts +2 -0
- package/esm/vendor/frontend/webcrypto-liner-shim.mjs +23977 -0
- package/package.json +1 -1
- package/src/core/createOidc.ts +6 -0
- package/src/core/loginOrGoToAuthServer.ts +0 -10
- package/src/core/loginSilent.ts +0 -11
- package/src/tools/loadWebcryptoLinerShim.ts +11 -0
- package/src/vendor/frontend/webcrypto-liner-shim.ts +3 -0
- package/tools/loadWebcryptoLinerShim.d.ts +1 -0
- package/tools/loadWebcryptoLinerShim.js +45 -0
- package/tools/loadWebcryptoLinerShim.js.map +1 -0
- package/vendor/frontend/webcrypto-liner-shim.d.ts +2 -0
- package/vendor/frontend/webcrypto-liner-shim.js +3 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! For license information please see index.js.LICENSE.txt */
|
|
2
|
+
(()=>{var e={603:(e,t,r)=>{var n=["name","optional","primitiveSchema"],i=["value"],a=["isHexOnly"],f=["value","isIndefiniteForm"],o=["value"],s=["isConstructed"],u=["idBlock","lenBlock"],c=["unusedBits","isConstructed"],h=["idBlock","lenBlock"],d=["value"],l=["valueDec","isFirstSid"],p=["value"],v=["valueDec"],y=["value"],b=["value","valueDate"],g=["value"],m=["value","local"];function w(e){return function(e){if(Array.isArray(e))return z(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||F(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function x(){"use strict";x=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,i=Object.defineProperty||function(e,t,r){e[t]=r.value},a="function"==typeof Symbol?Symbol:{},f=a.iterator||"@@iterator",o=a.asyncIterator||"@@asyncIterator",s=a.toStringTag||"@@toStringTag";function u(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,r){return e[t]=r}}function c(e,t,r,n){var a=t&&t.prototype instanceof b?t:b,f=Object.create(a.prototype),o=new U(n||[]);return i(f,"_invoke",{value:M(e,r,o)}),f}function h(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=c;var d="suspendedStart",l="suspendedYield",p="executing",v="completed",y={};function b(){}function g(){}function m(){}var w={};u(w,f,(function(){return this}));var k=Object.getPrototypeOf,A=k&&k(k(I([])));A&&A!==r&&n.call(A,f)&&(w=A);var S=m.prototype=b.prototype=Object.create(w);function E(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function B(e,t){function r(i,a,f,o){var s=h(e[i],e,a);if("throw"!==s.type){var u=s.arg,c=u.value;return c&&"object"==H(c)&&n.call(c,"__await")?t.resolve(c.__await).then((function(e){r("next",e,f,o)}),(function(e){r("throw",e,f,o)})):t.resolve(c).then((function(e){u.value=e,f(u)}),(function(e){return r("throw",e,f,o)}))}o(s.arg)}var a;i(this,"_invoke",{value:function(e,n){function i(){return new t((function(t,i){r(e,n,t,i)}))}return a=a?a.then(i,i):i()}})}function M(t,r,n){var i=d;return function(a,f){if(i===p)throw Error("Generator is already running");if(i===v){if("throw"===a)throw f;return{value:e,done:!0}}for(n.method=a,n.arg=f;;){var o=n.delegate;if(o){var s=C(o,n);if(s){if(s===y)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(i===d)throw i=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);i=p;var u=h(t,r,n);if("normal"===u.type){if(i=n.done?v:l,u.arg===y)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(i=v,n.method="throw",n.arg=u.arg)}}}function C(t,r){var n=r.method,i=t.iterator[n];if(i===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,C(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var a=h(i,t.iterator,r.arg);if("throw"===a.type)return r.method="throw",r.arg=a.arg,r.delegate=null,y;var f=a.arg;return f?f.done?(r[t.resultName]=f.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,y):f:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function _(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function N(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function U(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(_,this),this.reset(!0)}function I(t){if(t||""===t){var r=t[f];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,a=function r(){for(;++i<t.length;)if(n.call(t,i))return r.value=t[i],r.done=!1,r;return r.value=e,r.done=!0,r};return a.next=a}}throw new TypeError(H(t)+" is not iterable")}return g.prototype=m,i(S,"constructor",{value:m,configurable:!0}),i(m,"constructor",{value:g,configurable:!0}),g.displayName=u(m,s,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,u(e,s,"GeneratorFunction")),e.prototype=Object.create(S),e},t.awrap=function(e){return{__await:e}},E(B.prototype),u(B.prototype,o,(function(){return this})),t.AsyncIterator=B,t.async=function(e,r,n,i,a){void 0===a&&(a=Promise);var f=new B(c(e,r,n,i),a);return t.isGeneratorFunction(r)?f:f.next().then((function(e){return e.done?e.value:f.next()}))},E(S),u(S,s,"Generator"),u(S,f,(function(){return this})),u(S,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=I,U.prototype={constructor:U,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(N),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function i(n,i){return o.type="throw",o.arg=t,r.next=n,i&&(r.method="next",r.arg=e),!!i}for(var a=this.tryEntries.length-1;a>=0;--a){var f=this.tryEntries[a],o=f.completion;if("root"===f.tryLoc)return i("end");if(f.tryLoc<=this.prev){var s=n.call(f,"catchLoc"),u=n.call(f,"finallyLoc");if(s&&u){if(this.prev<f.catchLoc)return i(f.catchLoc,!0);if(this.prev<f.finallyLoc)return i(f.finallyLoc)}else if(s){if(this.prev<f.catchLoc)return i(f.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<f.finallyLoc)return i(f.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var a=i;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var f=a?a.completion:{};return f.type=e,f.arg=t,a?(this.method="next",this.next=a.finallyLoc,y):this.complete(f)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),y},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),N(r),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;N(r)}return i}}throw Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:I(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),y}},t}function k(e,t,r,n,i,a,f){try{var o=e[a](f),s=o.value}catch(e){return void r(e)}o.done?t(s):Promise.resolve(s).then(n,i)}function A(e){return function(){var t=this,r=arguments;return new Promise((function(n,i){var a=e.apply(t,r);function f(e){k(a,n,i,f,o,"next",e)}function o(e){k(a,n,i,f,o,"throw",e)}f(void 0)}))}}function S(e){var t="function"==typeof Map?new Map:void 0;return S=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return function(e,t,r){if(K())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,t);var i=new(e.bind.apply(e,n));return r&&R(i,r.prototype),i}(e,arguments,L(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),R(r,e)},S(e)}function E(e){if(null==e)throw new TypeError("Cannot destructure "+e)}function B(){return B=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},B.apply(null,arguments)}function M(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.includes(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.includes(r)||{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function C(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function _(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?C(Object(r),!0).forEach((function(t){N(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):C(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function N(e,t,r){return(t=J(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function U(e,t,r){return t=L(t),I(e,K()?Reflect.construct(t,r||[],L(e).constructor):t.apply(e,r))}function I(e,t){if(t&&("object"==H(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function K(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(K=function(){return!!e})()}function P(e,t,r,n){var i=O(L(1&n?e.prototype:e),t,r);return 2&n?function(e){return i.apply(r,e)}:i}function O(){return O="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=L(e)););return e}(e,t);if(n){var i=Object.getOwnPropertyDescriptor(n,t);return i.get?i.get.call(arguments.length<3?e:r):i.value}},O.apply(null,arguments)}function L(e){return L=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},L(e)}function D(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&R(e,t)}function R(e,t){return R=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},R(e,t)}function H(e){return H="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},H(e)}function T(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=F(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,f=!0,o=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return f=e.done,e},e:function(e){o=!0,a=e},f:function(){try{f||null==r.return||r.return()}finally{if(o)throw a}}}}function F(e,t){if(e){if("string"==typeof e)return z(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?z(e,t):void 0}}function z(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function V(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function j(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,J(n.key),n)}}function q(e,t,r){return t&&j(e.prototype,t),r&&j(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function J(e){var t=function(e){if("object"!=H(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=H(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==H(t)?t:t+""}!function(e){"use strict";function t(e,t){return t.forEach((function(t){t&&"string"!=typeof t&&!Array.isArray(t)&&Object.keys(t).forEach((function(r){if("default"!==r&&!(r in e)){var n=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,n.get?n:{enumerable:!0,get:function(){return t[r]}})}}))})),Object.freeze(e)}var k={};"undefined"!=typeof self&&(k=self),e.nativeCrypto=k.msCrypto||k.crypto||{},e.nativeSubtle=null;try{e.nativeSubtle=(null===e.nativeCrypto||void 0===e.nativeCrypto?void 0:e.nativeCrypto.subtle)||(null===e.nativeCrypto||void 0===e.nativeCrypto?void 0:e.nativeCrypto.webkitSubtle)||null}catch(e){console.warn("Cannot get subtle from crypto",e)}var C=function(){function e(){V(this,e)}return q(e,null,[{key:"isArrayBuffer",value:function(e){return"[object ArrayBuffer]"===Object.prototype.toString.call(e)}},{key:"toArrayBuffer",value:function(e){return this.isArrayBuffer(e)?e:e.byteLength===e.buffer.byteLength||0===e.byteOffset&&e.byteLength===e.buffer.byteLength?e.buffer:this.toUint8Array(e.buffer).slice(e.byteOffset,e.byteOffset+e.byteLength).buffer}},{key:"toUint8Array",value:function(e){return this.toView(e,Uint8Array)}},{key:"toView",value:function(e,t){if(e.constructor===t)return e;if(this.isArrayBuffer(e))return new t(e);if(this.isArrayBufferView(e))return new t(e.buffer,e.byteOffset,e.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}},{key:"isBufferSource",value:function(e){return this.isArrayBufferView(e)||this.isArrayBuffer(e)}},{key:"isArrayBufferView",value:function(e){return ArrayBuffer.isView(e)||e&&this.isArrayBuffer(e.buffer)}},{key:"isEqual",value:function(t,r){var n=e.toUint8Array(t),i=e.toUint8Array(r);if(n.length!==i.byteLength)return!1;for(var a=0;a<n.length;a++)if(n[a]!==i[a])return!1;return!0}},{key:"concat",value:function(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];var i,a=0,f=T(e=!Array.isArray(r[0])||r[1]instanceof Function?Array.isArray(r[0])&&r[1]instanceof Function?r[0]:r[r.length-1]instanceof Function?r.slice(0,r.length-1):r:r[0]);try{for(f.s();!(i=f.n()).done;)a+=i.value.byteLength}catch(e){f.e(e)}finally{f.f()}var o,s=new Uint8Array(a),u=0,c=T(e);try{for(c.s();!(o=c.n()).done;){var h=o.value,d=this.toUint8Array(h);s.set(d,u),u+=d.length}}catch(e){c.e(e)}finally{c.f()}return r[r.length-1]instanceof Function?this.toView(s,r[r.length-1]):s.buffer}}])}(),K="string",O=/^[0-9a-f]+$/i,L=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,R=/^[a-zA-Z0-9-_]+$/,F=function(){return q((function e(){V(this,e)}),null,[{key:"fromString",value:function(e){for(var t=unescape(encodeURIComponent(e)),r=new Uint8Array(t.length),n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r.buffer}},{key:"toString",value:function(e){for(var t=C.toUint8Array(e),r="",n=0;n<t.length;n++)r+=String.fromCharCode(t[n]);return decodeURIComponent(escape(r))}}])}(),z=function(){return q((function e(){V(this,e)}),null,[{key:"toString",value:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=C.toArrayBuffer(e),n=new DataView(r),i="",a=0;a<r.byteLength;a+=2){var f=n.getUint16(a,t);i+=String.fromCharCode(f)}return i}},{key:"fromString",value:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=new ArrayBuffer(2*e.length),n=new DataView(r),i=0;i<e.length;i++)n.setUint16(2*i,e.charCodeAt(i),t);return r}}])}(),j=function(){function e(){V(this,e)}return q(e,null,[{key:"isHex",value:function(e){return H(e)===K&&O.test(e)}},{key:"isBase64",value:function(e){return H(e)===K&&L.test(e)}},{key:"isBase64Url",value:function(e){return H(e)===K&&R.test(e)}},{key:"ToString",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"utf8",r=C.toUint8Array(e);switch(t.toLowerCase()){case"utf8":return this.ToUtf8String(r);case"binary":return this.ToBinary(r);case"hex":return this.ToHex(r);case"base64":return this.ToBase64(r);case"base64url":return this.ToBase64Url(r);case"utf16le":return z.toString(r,!0);case"utf16":case"utf16be":return z.toString(r);default:throw new Error("Unknown type of encoding '".concat(t,"'"))}}},{key:"FromString",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"utf8";if(!e)return new ArrayBuffer(0);switch(t.toLowerCase()){case"utf8":return this.FromUtf8String(e);case"binary":return this.FromBinary(e);case"hex":return this.FromHex(e);case"base64":return this.FromBase64(e);case"base64url":return this.FromBase64Url(e);case"utf16le":return z.fromString(e,!0);case"utf16":case"utf16be":return z.fromString(e);default:throw new Error("Unknown type of encoding '".concat(t,"'"))}}},{key:"ToBase64",value:function(e){var t=C.toUint8Array(e);if("undefined"!=typeof btoa){var r=this.ToString(t,"binary");return btoa(r)}return Buffer.from(t).toString("base64")}},{key:"FromBase64",value:function(t){var r=this.formatString(t);if(!r)return new ArrayBuffer(0);if(!e.isBase64(r))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return"undefined"!=typeof atob?this.FromBinary(atob(r)):new Uint8Array(Buffer.from(r,"base64")).buffer}},{key:"FromBase64Url",value:function(t){var r=this.formatString(t);if(!r)return new ArrayBuffer(0);if(!e.isBase64Url(r))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(r.replace(/\-/g,"+").replace(/\_/g,"/")))}},{key:"ToBase64Url",value:function(e){return this.ToBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}},{key:"FromUtf8String",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.DEFAULT_UTF8_ENCODING;switch(r){case"ascii":return this.FromBinary(t);case"utf8":return F.fromString(t);case"utf16":case"utf16be":return z.fromString(t);case"utf16le":case"usc2":return z.fromString(t,!0);default:throw new Error("Unknown type of encoding '".concat(r,"'"))}}},{key:"ToUtf8String",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.DEFAULT_UTF8_ENCODING;switch(r){case"ascii":return this.ToBinary(t);case"utf8":return F.toString(t);case"utf16":case"utf16be":return z.toString(t);case"utf16le":case"usc2":return z.toString(t,!0);default:throw new Error("Unknown type of encoding '".concat(r,"'"))}}},{key:"FromBinary",value:function(e){for(var t=e.length,r=new Uint8Array(t),n=0;n<t;n++)r[n]=e.charCodeAt(n);return r.buffer}},{key:"ToBinary",value:function(e){for(var t=C.toUint8Array(e),r="",n=0;n<t.length;n++)r+=String.fromCharCode(t[n]);return r}},{key:"ToHex",value:function(e){for(var t=C.toUint8Array(e),r="",n=t.length,i=0;i<n;i++){var a=t[i];a<16&&(r+="0"),r+=a.toString(16)}return r}},{key:"FromHex",value:function(t){var r=this.formatString(t);if(!r)return new ArrayBuffer(0);if(!e.isHex(r))throw new TypeError("Argument 'hexString' is not HEX encoded");r.length%2&&(r="0".concat(r));for(var n=new Uint8Array(r.length/2),i=0;i<r.length;i+=2){var a=r.slice(i,i+2);n[i/2]=parseInt(a,16)}return n.buffer}},{key:"ToUtf16String",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return z.toString(e,t)}},{key:"FromUtf16String",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return z.fromString(e,t)}},{key:"Base64Padding",value:function(e){var t=4-e.length%4;if(t<4)for(var r=0;r<t;r++)e+="=";return e}},{key:"formatString",value:function(e){return(null==e?void 0:e.replace(/[\n\r\t ]/g,""))||""}}])}();function J(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=t.map((function(e){return e.byteLength})).reduce((function(e,t){return e+t})),i=new Uint8Array(n),a=0;return t.map((function(e){return new Uint8Array(e)})).forEach((function(e){var t,r=T(e);try{for(r.s();!(t=r.n()).done;){var n=t.value;i[a++]=n}}catch(e){r.e(e)}finally{r.f()}})),i.buffer}function G(e,t){var r=0;if(1===e.length)return e[0];for(var n=e.length-1;n>=0;n--)r+=e[e.length-1-n]*Math.pow(2,t*n);return r}function Z(e,t){for(var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1,n=e,i=0,a=Math.pow(2,t),f=1;f<8;f++){if(e<a){var o=void 0;if(r<0)o=new ArrayBuffer(f),i=f;else{if(r<f)return new ArrayBuffer(0);o=new ArrayBuffer(r),i=r}for(var s=new Uint8Array(o),u=f-1;u>=0;u--){var c=Math.pow(2,u*t);s[i-u-1]=Math.floor(n/c),n-=s[i-u-1]*c}return o}a*=Math.pow(2,t)}return new ArrayBuffer(0)}function W(){for(var e=0,t=0,r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];for(var a=0,f=n;a<f.length;a++)e+=f[a].length;for(var o=new ArrayBuffer(e),s=new Uint8Array(o),u=0,c=n;u<c.length;u++){var h=c[u];s.set(h,t),t+=h.length}return s}function X(){var e=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){var t=255===e[0]&&128&e[1],r=0===e[0]&&!(128&e[1]);(t||r)&&this.warnings.push("Needlessly long format")}for(var n=new ArrayBuffer(this.valueHex.byteLength),i=new Uint8Array(n),a=0;a<this.valueHex.byteLength;a++)i[a]=0;i[0]=128&e[0];for(var f=G(i,8),o=new ArrayBuffer(this.valueHex.byteLength),s=new Uint8Array(o),u=0;u<this.valueHex.byteLength;u++)s[u]=e[u];return s[0]&=127,G(s,8)-f}function Y(e,t){var r=e.toString(10);if(t<r.length)return"";for(var n=t-r.length,i=new Array(n),a=0;a<n;a++)i[a]="0";return i.join("").concat(r)}function $(){if("undefined"==typeof BigInt)throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function Q(e){for(var t=0,r=0,n=0;n<e.length;n++)t+=e[n].byteLength;for(var i=new Uint8Array(t),a=0;a<e.length;a++){var f=e[a];i.set(new Uint8Array(f),r),r+=f.byteLength}return i.buffer}function ee(e,t,r,n){return t instanceof Uint8Array?t.byteLength?r<0?(e.error="Wrong parameter: inputOffset less than zero",!1):n<0?(e.error="Wrong parameter: inputLength less than zero",!1):!(t.byteLength-r-n<0&&(e.error="End of input reached before message was fully decoded (inconsistent offset and length values)",1)):(e.error="Wrong parameter: inputBuffer has zero length",!1):(e.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}j.DEFAULT_UTF8_ENCODING="utf8";var te=function(){return q((function e(){V(this,e),this.items=[]}),[{key:"write",value:function(e){this.items.push(e)}},{key:"final",value:function(){return Q(this.items)}}])}(),re=[new Uint8Array([1])],ne="0123456789",ie="name",ae="valueHexView",fe="",oe=new ArrayBuffer(0),se=new Uint8Array(0),ue="EndOfContent",ce="OCTET STRING",he="BIT STRING";function de(e){var t;return t=function(e){function t(){var e,r;V(this,t);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];e=U(this,t,[].concat(i));var f=i[0]||{};return e.isHexOnly=null!==(r=f.isHexOnly)&&void 0!==r&&r,e.valueHexView=f.valueHex?C.toUint8Array(f.valueHex):se,e}return D(t,e),q(t,[{key:"valueHex",get:function(){return this.valueHexView.slice().buffer},set:function(e){this.valueHexView=new Uint8Array(e)}},{key:"fromBER",value:function(e,t,r){var n=e instanceof ArrayBuffer?new Uint8Array(e):e;if(!ee(this,n,t,r))return-1;var i=t+r;return this.valueHexView=n.subarray(t,i),this.valueHexView.length?(this.blockLength=r,i):(this.warnings.push("Zero buffer length"),t)}},{key:"toBER",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.isHexOnly?e?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",oe)}},{key:"toJSON",value:function(){return _(_({},P(t,"toJSON",this,3)([])),{},{isHexOnly:this.isHexOnly,valueHex:j.ToHex(this.valueHexView)})}}])}(e),t.NAME="hexBlock",t}var le=function(){return q((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.blockLength,n=void 0===r?0:r,i=t.error,a=void 0===i?fe:i,f=t.warnings,o=void 0===f?[]:f,s=t.valueBeforeDecode,u=void 0===s?se:s;V(this,e),this.blockLength=n,this.error=a,this.warnings=o,this.valueBeforeDecodeView=C.toUint8Array(u)}),[{key:"valueBeforeDecode",get:function(){return this.valueBeforeDecodeView.slice().buffer},set:function(e){this.valueBeforeDecodeView=new Uint8Array(e)}},{key:"toJSON",value:function(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:j.ToHex(this.valueBeforeDecodeView)}}}],[{key:"blockName",value:function(){return this.NAME}}])}();le.NAME="baseBlock";var pe=function(e){function t(){return V(this,t),U(this,t,arguments)}return D(t,e),q(t,[{key:"fromBER",value:function(e,t,r){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}},{key:"toBER",value:function(e,t){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}}])}(le);pe.NAME="valueBlock";var ve=function(e){function t(){var e,r,n,i,a,f=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).idBlock,o=void 0===f?{}:f;return V(this,t),e=U(this,t),o?(e.isHexOnly=null!==(r=o.isHexOnly)&&void 0!==r&&r,e.valueHexView=o.valueHex?C.toUint8Array(o.valueHex):se,e.tagClass=null!==(n=o.tagClass)&&void 0!==n?n:-1,e.tagNumber=null!==(i=o.tagNumber)&&void 0!==i?i:-1,e.isConstructed=null!==(a=o.isConstructed)&&void 0!==a&&a):(e.tagClass=-1,e.tagNumber=-1,e.isConstructed=!1),e}return D(t,e),q(t,[{key:"toBER",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=0;switch(this.tagClass){case 1:t|=0;break;case 2:t|=64;break;case 3:t|=128;break;case 4:t|=192;break;default:return this.error="Unknown tag class",oe}if(this.isConstructed&&(t|=32),this.tagNumber<31&&!this.isHexOnly){var r=new Uint8Array(1);if(!e){var n=this.tagNumber;t|=n&=31,r[0]=t}return r.buffer}if(!this.isHexOnly){var i=Z(this.tagNumber,7),a=new Uint8Array(i),f=i.byteLength,o=new Uint8Array(f+1);if(o[0]=31|t,!e){for(var s=0;s<f-1;s++)o[s+1]=128|a[s];o[f]=a[f-1]}return o.buffer}var u=new Uint8Array(this.valueHexView.byteLength+1);if(u[0]=31|t,!e){for(var c=this.valueHexView,h=0;h<c.length-1;h++)u[h+1]=128|c[h];u[this.valueHexView.byteLength]=c[c.length-1]}return u.buffer}},{key:"fromBER",value:function(e,t,r){var n=C.toUint8Array(e);if(!ee(this,n,t,r))return-1;var i=n.subarray(t,t+r);if(0===i.length)return this.error="Zero buffer length",-1;switch(192&i[0]){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=!(32&~i[0]),this.isHexOnly=!1;var a=31&i[0];if(31!==a)this.tagNumber=a,this.blockLength=1;else{for(var f=1,o=this.valueHexView=new Uint8Array(255),s=255;128&i[f];){if(o[f-1]=127&i[f],++f>=i.length)return this.error="End of input reached before message was fully decoded",-1;if(f===s){s+=255;for(var u=new Uint8Array(s),c=0;c<o.length;c++)u[c]=o[c];o=this.valueHexView=new Uint8Array(s)}}this.blockLength=f+1,o[f-1]=127&i[f];for(var h=new Uint8Array(f),d=0;d<f;d++)h[d]=o[d];(o=this.valueHexView=new Uint8Array(f)).set(h),this.blockLength<=9?this.tagNumber=G(o,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(1===this.tagClass&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return t+this.blockLength}},{key:"toJSON",value:function(){return _(_({},P(t,"toJSON",this,3)([])),{},{tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed})}}])}(de(le));ve.NAME="identificationBlock";var ye=function(e){function t(){var e,r,n,i,a=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).lenBlock,f=void 0===a?{}:a;return V(this,t),(e=U(this,t)).isIndefiniteForm=null!==(r=f.isIndefiniteForm)&&void 0!==r&&r,e.longFormUsed=null!==(n=f.longFormUsed)&&void 0!==n&&n,e.length=null!==(i=f.length)&&void 0!==i?i:0,e}return D(t,e),q(t,[{key:"fromBER",value:function(e,t,r){var n=C.toUint8Array(e);if(!ee(this,n,t,r))return-1;var i=n.subarray(t,t+r);if(0===i.length)return this.error="Zero buffer length",-1;if(255===i[0])return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=128===i[0],this.isIndefiniteForm)return this.blockLength=1,t+this.blockLength;if(this.longFormUsed=!!(128&i[0]),!1===this.longFormUsed)return this.length=i[0],this.blockLength=1,t+this.blockLength;var a=127&i[0];if(a>8)return this.error="Too big integer",-1;if(a+1>i.length)return this.error="End of input reached before message was fully decoded",-1;var f=t+1,o=n.subarray(f,f+a);return 0===o[a-1]&&this.warnings.push("Needlessly long encoded length"),this.length=G(o,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=a+1,t+this.blockLength}},{key:"toBER",value:function(){var e,t,r=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return e=new ArrayBuffer(1),!1===r&&((t=new Uint8Array(e))[0]=128),e;if(this.longFormUsed){var n=Z(this.length,8);if(n.byteLength>127)return this.error="Too big length",oe;if(e=new ArrayBuffer(n.byteLength+1),r)return e;var i=new Uint8Array(n);(t=new Uint8Array(e))[0]=128|n.byteLength;for(var a=0;a<n.byteLength;a++)t[a+1]=i[a];return e}return e=new ArrayBuffer(1),!1===r&&((t=new Uint8Array(e))[0]=this.length),e}},{key:"toJSON",value:function(){return _(_({},P(t,"toJSON",this,3)([])),{},{isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length})}}])}(le);ye.NAME="lengthBlock";var be={},ge=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=r.name,a=void 0===i?fe:i,f=r.optional,o=void 0!==f&&f,s=r.primitiveSchema,u=M(r,n),c=arguments.length>1?arguments[1]:void 0;return V(this,t),(e=U(this,t,[u])).name=a,e.optional=o,s&&(e.primitiveSchema=s),e.idBlock=new ve(u),e.lenBlock=new ye(u),e.valueBlock=c?new c(u):new pe(u),e}return D(t,e),q(t,[{key:"fromBER",value:function(e,t,r){var n=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return-1===n?(this.error=this.valueBlock.error,n):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),n)}},{key:"toBER",value:function(e,t){var r=t||new te;t||me(this);var n=this.idBlock.toBER(e);if(r.write(n),this.lenBlock.isIndefiniteForm)r.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(e,r),r.write(new ArrayBuffer(2));else{var i=this.valueBlock.toBER(e);this.lenBlock.length=i.byteLength;var a=this.lenBlock.toBER(e);r.write(a),r.write(i)}return t?oe:r.final()}},{key:"toJSON",value:function(){var e=_(_({},P(t,"toJSON",this,3)([])),{},{idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional});return this.primitiveSchema&&(e.primitiveSchema=this.primitiveSchema.toJSON()),e}},{key:"toString",value:function(){return"ascii"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"ascii")?this.onAsciiEncoding():j.ToHex(this.toBER())}},{key:"onAsciiEncoding",value:function(){return"".concat(this.constructor.NAME," : ").concat(j.ToHex(this.valueBlock.valueBeforeDecodeView))}},{key:"isEqual",value:function(e){return this===e||e instanceof this.constructor&&function(e,t){if(e.byteLength!==t.byteLength)return!1;for(var r=new Uint8Array(e),n=new Uint8Array(t),i=0;i<r.length;i++)if(r[i]!==n[i])return!1;return!0}(this.toBER(),e.toBER())}}])}(le);function me(e){if(e instanceof be.Constructed){var t,r=T(e.valueBlock.value);try{for(r.s();!(t=r.n()).done;)me(t.value)&&(e.lenBlock.isIndefiniteForm=!0)}catch(e){r.e(e)}finally{r.f()}}return!!e.lenBlock.isIndefiniteForm}ge.NAME="BaseBlock";var we=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=r.value,a=void 0===n?fe:n,f=M(r,i),o=arguments.length>1?arguments[1]:void 0;return V(this,t),e=U(this,t,[f,o]),a&&e.fromString(a),e}return D(t,e),q(t,[{key:"getValue",value:function(){return this.valueBlock.value}},{key:"setValue",value:function(e){this.valueBlock.value=e}},{key:"fromBER",value:function(e,t,r){var n=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return-1===n?(this.error=this.valueBlock.error,n):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),n)}},{key:"onAsciiEncoding",value:function(){return"".concat(this.constructor.NAME," : '").concat(this.valueBlock.value,"'")}}])}(ge);we.NAME="BaseStringBlock";var xe,ke=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=r.isHexOnly,i=void 0===n||n,f=M(r,a);return V(this,t),(e=U(this,t,[f])).isHexOnly=i,e}return D(t,e),q(t)}(de(pe));ke.NAME="PrimitiveValueBlock";var Ae=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return V(this,t),(e=U(this,t,[r,ke])).idBlock.isConstructed=!1,e}return D(t,e),q(t)}(ge);function Se(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,n=t,i=new ge({},pe),a=new le;if(!ee(a,e,t,r))return i.error=a.error,{offset:-1,result:i};if(!e.subarray(t,t+r).length)return i.error="Zero buffer length",{offset:-1,result:i};var f=i.idBlock.fromBER(e,t,r);if(i.idBlock.warnings.length&&i.warnings.concat(i.idBlock.warnings),-1===f)return i.error=i.idBlock.error,{offset:-1,result:i};if(t=f,r-=i.idBlock.blockLength,f=i.lenBlock.fromBER(e,t,r),i.lenBlock.warnings.length&&i.warnings.concat(i.lenBlock.warnings),-1===f)return i.error=i.lenBlock.error,{offset:-1,result:i};if(t=f,r-=i.lenBlock.blockLength,!i.idBlock.isConstructed&&i.lenBlock.isIndefiniteForm)return i.error="Indefinite length form used for primitive encoding form",{offset:-1,result:i};var o=ge;if(1===i.idBlock.tagClass){if(i.idBlock.tagNumber>=37&&!1===i.idBlock.isHexOnly)return i.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:i};switch(i.idBlock.tagNumber){case 0:if(i.idBlock.isConstructed&&i.lenBlock.length>0)return i.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:i};o=be.EndOfContent;break;case 1:o=be.Boolean;break;case 2:o=be.Integer;break;case 3:o=be.BitString;break;case 4:o=be.OctetString;break;case 5:o=be.Null;break;case 6:o=be.ObjectIdentifier;break;case 10:o=be.Enumerated;break;case 12:o=be.Utf8String;break;case 13:o=be.RelativeObjectIdentifier;break;case 14:o=be.TIME;break;case 15:return i.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:i};case 16:o=be.Sequence;break;case 17:o=be.Set;break;case 18:o=be.NumericString;break;case 19:o=be.PrintableString;break;case 20:o=be.TeletexString;break;case 21:o=be.VideotexString;break;case 22:o=be.IA5String;break;case 23:o=be.UTCTime;break;case 24:o=be.GeneralizedTime;break;case 25:o=be.GraphicString;break;case 26:o=be.VisibleString;break;case 27:o=be.GeneralString;break;case 28:o=be.UniversalString;break;case 29:o=be.CharacterString;break;case 30:o=be.BmpString;break;case 31:o=be.DATE;break;case 32:o=be.TimeOfDay;break;case 33:o=be.DateTime;break;case 34:o=be.Duration;break;default:var s=i.idBlock.isConstructed?new be.Constructed:new be.Primitive;s.idBlock=i.idBlock,s.lenBlock=i.lenBlock,s.warnings=i.warnings,i=s}}else o=i.idBlock.isConstructed?be.Constructed:be.Primitive;return i=function(e,t){if(e instanceof t)return e;var r=new t;return r.idBlock=e.idBlock,r.lenBlock=e.lenBlock,r.warnings=e.warnings,r.valueBeforeDecodeView=e.valueBeforeDecodeView,r}(i,o),f=i.fromBER(e,t,i.lenBlock.isIndefiniteForm?r:i.lenBlock.length),i.valueBeforeDecodeView=e.subarray(n,n+i.blockLength),{offset:f,result:i}}function Ee(e){if(!e.byteLength){var t=new ge({},pe);return t.error="Input buffer has zero length",{offset:-1,result:t}}return Se(C.toUint8Array(e).slice(),0,e.byteLength)}xe=Ae,be.Primitive=xe,Ae.NAME="PRIMITIVE";var Be,Me=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=r.value,i=void 0===n?[]:n,a=r.isIndefiniteForm,o=void 0!==a&&a,s=M(r,f);return V(this,t),(e=U(this,t,[s])).value=i,e.isIndefiniteForm=o,e}return D(t,e),q(t,[{key:"fromBER",value:function(e,t,r){var n=C.toUint8Array(e);if(!ee(this,n,t,r))return-1;if(this.valueBeforeDecodeView=n.subarray(t,t+r),0===this.valueBeforeDecodeView.length)return this.warnings.push("Zero buffer length"),t;for(var i=t;(this.isIndefiniteForm?1:r)>0;){var a=Se(n,i,r);if(-1===a.offset)return this.error=a.result.error,this.warnings.concat(a.result.warnings),-1;if(i=a.offset,this.blockLength+=a.result.blockLength,r-=a.result.blockLength,this.value.push(a.result),this.isIndefiniteForm&&a.result.constructor.NAME===ue)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===ue?this.value.pop():this.warnings.push("No EndOfContent block encoded")),i}},{key:"toBER",value:function(e,t){for(var r=t||new te,n=0;n<this.value.length;n++)this.value[n].toBER(e,r);return t?oe:r.final()}},{key:"toJSON",value:function(){var e,r=_(_({},P(t,"toJSON",this,3)([])),{},{isIndefiniteForm:this.isIndefiniteForm,value:[]}),n=T(this.value);try{for(n.s();!(e=n.n()).done;){var i=e.value;r.value.push(i.toJSON())}}catch(e){n.e(e)}finally{n.f()}return r}}])}(pe);Me.NAME="ConstructedValueBlock";var Ce=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return V(this,t),(e=U(this,t,[r,Me])).idBlock.isConstructed=!0,e}return D(t,e),q(t,[{key:"fromBER",value:function(e,t,r){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;var n=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return-1===n?(this.error=this.valueBlock.error,n):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),n)}},{key:"onAsciiEncoding",value:function(){var e,t=[],r=T(this.valueBlock.value);try{for(r.s();!(e=r.n()).done;){var n=e.value;t.push(n.toString("ascii").split("\n").map((function(e){return" ".concat(e)})).join("\n"))}}catch(e){r.e(e)}finally{r.f()}var i=3===this.idBlock.tagClass?"[".concat(this.idBlock.tagNumber,"]"):this.constructor.NAME;return t.length?"".concat(i," :\n").concat(t.join("\n")):"".concat(i," :")}}])}(ge);Be=Ce,be.Constructed=Be,Ce.NAME="CONSTRUCTED";var _e,Ne=function(e){function t(){return V(this,t),U(this,t,arguments)}return D(t,e),q(t,[{key:"fromBER",value:function(e,t,r){return t}},{key:"toBER",value:function(e){return oe}}])}(pe);Ne.override="EndOfContentValueBlock";var Ue,Ie=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return V(this,t),(e=U(this,t,[r,Ne])).idBlock.tagClass=1,e.idBlock.tagNumber=0,e}return D(t,e),q(t)}(ge);_e=Ie,be.EndOfContent=_e,Ie.NAME=ue;var Ke=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return V(this,t),(e=U(this,t,[r,pe])).idBlock.tagClass=1,e.idBlock.tagNumber=5,e}return D(t,e),q(t,[{key:"fromBER",value:function(e,t,r){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=r,t+r>e.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):t+r}},{key:"toBER",value:function(e,t){var r=new ArrayBuffer(2);if(!e){var n=new Uint8Array(r);n[0]=5,n[1]=0}return t&&t.write(r),r}},{key:"onAsciiEncoding",value:function(){return"".concat(this.constructor.NAME)}}])}(ge);Ue=Ke,be.Null=Ue,Ke.NAME="NULL";var Pe,Oe=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=r.value,i=M(r,o);return V(this,t),e=U(this,t,[i]),i.valueHex?e.valueHexView=C.toUint8Array(i.valueHex):e.valueHexView=new Uint8Array(1),n&&(e.value=n),e}return D(t,e),q(t,[{key:"value",get:function(){var e,t=T(this.valueHexView);try{for(t.s();!(e=t.n()).done;)if(e.value>0)return!0}catch(e){t.e(e)}finally{t.f()}return!1},set:function(e){this.valueHexView[0]=e?255:0}},{key:"fromBER",value:function(e,t,r){var n=C.toUint8Array(e);return ee(this,n,t,r)?(this.valueHexView=n.subarray(t,t+r),r>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,X.call(this),this.blockLength=r,t+r):-1}},{key:"toBER",value:function(){return this.valueHexView.slice()}},{key:"toJSON",value:function(){return _(_({},P(t,"toJSON",this,3)([])),{},{value:this.value})}}])}(de(pe));Oe.NAME="BooleanValueBlock";var Le=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return V(this,t),(e=U(this,t,[r,Oe])).idBlock.tagClass=1,e.idBlock.tagNumber=1,e}return D(t,e),q(t,[{key:"getValue",value:function(){return this.valueBlock.value}},{key:"setValue",value:function(e){this.valueBlock.value=e}},{key:"onAsciiEncoding",value:function(){return"".concat(this.constructor.NAME," : ").concat(this.getValue)}}])}(ge);Pe=Le,be.Boolean=Pe,Le.NAME="BOOLEAN";var De,Re=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=r.isConstructed,i=void 0!==n&&n,a=M(r,s);return V(this,t),(e=U(this,t,[a])).isConstructed=i,e}return D(t,e),q(t,[{key:"fromBER",value:function(e,r,n){var i=0;if(this.isConstructed){if(this.isHexOnly=!1,-1===(i=Me.prototype.fromBER.call(this,e,r,n)))return i;for(var a=0;a<this.value.length;a++){var f=this.value[a].constructor.NAME;if(f===ue){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(f!==ce)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,i=P(t,"fromBER",this,3)([e,r,n]),this.blockLength=n;return i}},{key:"toBER",value:function(e,t){return this.isConstructed?Me.prototype.toBER.call(this,e,t):e?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}},{key:"toJSON",value:function(){return _(_({},P(t,"toJSON",this,3)([])),{},{isConstructed:this.isConstructed})}}])}(de(Me));Re.NAME="OctetStringValueBlock";var He=function(e){function t(){var e,r,n,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=i.idBlock,f=void 0===a?{}:a,o=i.lenBlock,s=void 0===o?{}:o,c=M(i,u);return V(this,t),null!==(r=c.isConstructed)&&void 0!==r||(c.isConstructed=!!(null===(n=c.value)||void 0===n?void 0:n.length)),(e=U(this,t,[_({idBlock:_({isConstructed:c.isConstructed},f),lenBlock:_(_({},s),{},{isIndefiniteForm:!!c.isIndefiniteForm})},c),Re])).idBlock.tagClass=1,e.idBlock.tagNumber=4,e}return D(t,e),q(t,[{key:"fromBER",value:function(e,r,n){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,0===n)return 0===this.idBlock.error.length&&(this.blockLength+=this.idBlock.blockLength),0===this.lenBlock.error.length&&(this.blockLength+=this.lenBlock.blockLength),r;if(!this.valueBlock.isConstructed){var i=(e instanceof ArrayBuffer?new Uint8Array(e):e).subarray(r,r+n);try{if(i.byteLength){var a=Se(i,0,i.byteLength);-1!==a.offset&&a.offset===n&&(this.valueBlock.value=[a.result])}}catch(e){}}return P(t,"fromBER",this,3)([e,r,n])}},{key:"onAsciiEncoding",value:function(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?Ce.prototype.onAsciiEncoding.call(this):"".concat(this.constructor.NAME," : ").concat(j.ToHex(this.valueBlock.valueHexView))}},{key:"getValue",value:function(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;var e,r=[],n=T(this.valueBlock.value);try{for(n.s();!(e=n.n()).done;){var i=e.value;i instanceof t&&r.push(i.valueBlock.valueHexView)}}catch(e){n.e(e)}finally{n.f()}return C.concat(r)}}])}(ge);De=He,be.OctetString=De,He.NAME=ce;var Te,Fe=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=r.unusedBits,i=void 0===n?0:n,a=r.isConstructed,f=void 0!==a&&a,o=M(r,c);return V(this,t),(e=U(this,t,[o])).unusedBits=i,e.isConstructed=f,e.blockLength=e.valueHexView.byteLength,e}return D(t,e),q(t,[{key:"fromBER",value:function(e,t,r){if(!r)return t;var n=-1;if(this.isConstructed){if(-1===(n=Me.prototype.fromBER.call(this,e,t,r)))return n;var i,a=T(this.value);try{for(a.s();!(i=a.n()).done;){var f=i.value,o=f.constructor.NAME;if(o===ue){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(o!==he)return this.error="BIT STRING may consists of BIT STRINGs only",-1;var s=f.valueBlock;if(this.unusedBits>0&&s.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=s.unusedBits}}catch(e){a.e(e)}finally{a.f()}return n}var u=C.toUint8Array(e);if(!ee(this,u,t,r))return-1;var c=u.subarray(t,t+r);if(this.unusedBits=c[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){var h=c.subarray(1);try{if(h.byteLength){var d=Se(h,0,h.byteLength);-1!==d.offset&&d.offset===r-1&&(this.value=[d.result])}}catch(e){}}return this.valueHexView=c.subarray(1),this.blockLength=c.length,t+r}},{key:"toBER",value:function(e,t){if(this.isConstructed)return Me.prototype.toBER.call(this,e,t);if(e)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return oe;var r=new Uint8Array(this.valueHexView.length+1);return r[0]=this.unusedBits,r.set(this.valueHexView,1),r.buffer}},{key:"toJSON",value:function(){return _(_({},P(t,"toJSON",this,3)([])),{},{unusedBits:this.unusedBits,isConstructed:this.isConstructed})}}])}(de(Me));Fe.NAME="BitStringValueBlock";var ze,Ve=function(e){function t(){var e,r,n,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=i.idBlock,f=void 0===a?{}:a,o=i.lenBlock,s=void 0===o?{}:o,u=M(i,h);return V(this,t),null!==(r=u.isConstructed)&&void 0!==r||(u.isConstructed=!!(null===(n=u.value)||void 0===n?void 0:n.length)),(e=U(this,t,[_({idBlock:_({isConstructed:u.isConstructed},f),lenBlock:_(_({},s),{},{isIndefiniteForm:!!u.isIndefiniteForm})},u),Fe])).idBlock.tagClass=1,e.idBlock.tagNumber=3,e}return D(t,e),q(t,[{key:"fromBER",value:function(e,r,n){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,P(t,"fromBER",this,3)([e,r,n])}},{key:"onAsciiEncoding",value:function(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Ce.prototype.onAsciiEncoding.call(this);var e,t=[],r=T(this.valueBlock.valueHexView);try{for(r.s();!(e=r.n()).done;){var n=e.value;t.push(n.toString(2).padStart(8,"0"))}}catch(e){r.e(e)}finally{r.f()}var i=t.join("");return"".concat(this.constructor.NAME," : ").concat(i.substring(0,i.length-this.valueBlock.unusedBits))}}])}(ge);function je(e,t){for(var r=new Uint8Array([0]),n=new Uint8Array(e),i=new Uint8Array(t),a=n.slice(0),f=a.length-1,o=i.slice(0),s=o.length-1,u=0,c=0,h=s<f?f:s;h>=0;h--,c++)u=1==c<o.length?a[f-c]+o[s-c]+r[0]:a[f-c]+r[0],r[0]=u/10,1==c>=a.length?a=W(new Uint8Array([u%10]),a):a[f-c]=u%10;return r[0]>0&&(a=W(r,a)),a}function qe(e){if(e>=re.length)for(var t=re.length;t<=e;t++){for(var r=new Uint8Array([0]),n=re[t-1].slice(0),i=n.length-1;i>=0;i--){var a=new Uint8Array([(n[i]<<1)+r[0]]);r[0]=a[0]/10,n[i]=a[0]%10}r[0]>0&&(n=W(r,n)),re.push(n)}return re[e]}function Je(e,t){for(var r,n=0,i=new Uint8Array(e),a=new Uint8Array(t),f=i.slice(0),o=f.length-1,s=a.slice(0),u=s.length-1,c=0,h=u;h>=0;h--,c++)1==(r=f[o-c]-s[u-c]-n)<0?(n=1,f[o-c]=r+10):(n=0,f[o-c]=r);if(n>0)for(var d=o-u+1;d>=0;d--,c++){if(!((r=f[o-c]-n)<0)){n=0,f[o-c]=r;break}n=1,f[o-c]=r+10}return f.slice()}Te=Ve,be.BitString=Te,Ve.NAME=he;var Ge,Ze=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=r.value,i=M(r,d);return V(this,t),(e=U(this,t,[i]))._valueDec=0,i.valueHex&&e.setValueHex(),void 0!==n&&(e.valueDec=n),e}return D(t,e),q(t,[{key:"setValueHex",value:function(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=X.call(this)))}},{key:"valueDec",get:function(){return this._valueDec},set:function(e){this._valueDec=e,this.isHexOnly=!1,this.valueHexView=new Uint8Array(function(e){for(var t=e<0?-1*e:e,r=128,n=1;n<8;n++){if(t<=r){if(e<0){var i=Z(r-t,8,n);return new Uint8Array(i)[0]|=128,i}var a=Z(t,8,n),f=new Uint8Array(a);if(128&f[0]){var o=a.slice(0),s=new Uint8Array(o);a=new ArrayBuffer(a.byteLength+1),f=new Uint8Array(a);for(var u=0;u<o.byteLength;u++)f[u+1]=s[u];f[0]=0}return a}r*=Math.pow(2,8)}return new ArrayBuffer(0)}(e))}},{key:"fromDER",value:function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=this.fromBER(e,t,r);if(-1===i)return i;var a=this.valueHexView;return 0===a[0]&&128&a[1]?this.valueHexView=a.subarray(1):0!==n&&a.length<n&&(n-a.length>1&&(n=a.length+1),this.valueHexView=a.subarray(n-a.length)),i}},{key:"toDER",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.valueHexView;switch(!0){case!!(128&t[0]):var r=new Uint8Array(this.valueHexView.length+1);r[0]=0,r.set(t,1),this.valueHexView=r;break;case 0===t[0]&&!(128&t[1]):this.valueHexView=this.valueHexView.subarray(1)}return this.toBER(e)}},{key:"fromBER",value:function(e,r,n){var i=P(t,"fromBER",this,3)([e,r,n]);return-1===i||this.setValueHex(),i}},{key:"toBER",value:function(e){return e?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}},{key:"toJSON",value:function(){return _(_({},P(t,"toJSON",this,3)([])),{},{valueDec:this.valueDec})}},{key:"toString",value:function(){for(var e,t=8*this.valueHexView.length-1,r=new Uint8Array(8*this.valueHexView.length/3),n=0,i=this.valueHexView,a="",f=!1,o=i.byteLength-1;o>=0;o--){e=i[o];for(var s=0;s<8;s++)1&~e||(n===t?(r=Je(qe(n),r),a="-"):r=je(r,qe(n))),n++,e>>=1}for(var u=0;u<r.length;u++)r[u]&&(f=!0),f&&(a+=ne.charAt(r[u]));return!1===f&&(a+=ne.charAt(0)),a}}])}(de(pe));ze=Ze,Ze.NAME="IntegerValueBlock",Object.defineProperty(ze.prototype,"valueHex",{set:function(e){this.valueHexView=new Uint8Array(e),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var We,Xe=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return V(this,t),(e=U(this,t,[r,Ze])).idBlock.tagClass=1,e.idBlock.tagNumber=2,e}return D(t,e),q(t,[{key:"toBigInt",value:function(){return $(),BigInt(this.valueBlock.toString())}},{key:"convertToDER",value:function(){var e=new t({valueHex:this.valueBlock.valueHexView});return e.valueBlock.toDER(),e}},{key:"convertFromDER",value:function(){return new t({valueHex:0===this.valueBlock.valueHexView[0]?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}},{key:"onAsciiEncoding",value:function(){return"".concat(this.constructor.NAME," : ").concat(this.valueBlock.toString())}}],[{key:"fromBigInt",value:function(e){$();var r=BigInt(e),n=new te,i=r.toString(16).replace(/^-/,""),a=new Uint8Array(j.FromHex(i));if(r<0){var f=new Uint8Array(a.length+(128&a[0]?1:0));f[0]|=128;var o=BigInt("0x".concat(j.ToHex(f)))+r,s=C.toUint8Array(j.FromHex(o.toString(16)));s[0]|=128,n.write(s)}else 128&a[0]&&n.write(new Uint8Array([0])),n.write(a);return new t({valueHex:n.final()})}}])}(ge);Ge=Xe,be.Integer=Ge,Xe.NAME="INTEGER";var Ye=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return V(this,t),(e=U(this,t,[r])).idBlock.tagClass=1,e.idBlock.tagNumber=10,e}return D(t,e),q(t)}(Xe);We=Ye,be.Enumerated=We,Ye.NAME="ENUMERATED";var $e=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=r.valueDec,i=void 0===n?-1:n,a=r.isFirstSid,f=void 0!==a&&a,o=M(r,l);return V(this,t),(e=U(this,t,[o])).valueDec=i,e.isFirstSid=f,e}return D(t,e),q(t,[{key:"fromBER",value:function(e,t,r){if(!r)return t;var n=C.toUint8Array(e);if(!ee(this,n,t,r))return-1;var i=n.subarray(t,t+r);this.valueHexView=new Uint8Array(r);for(var a=0;a<r&&(this.valueHexView[a]=127&i[a],this.blockLength++,128&i[a]);a++);for(var f=new Uint8Array(this.blockLength),o=0;o<this.blockLength;o++)f[o]=this.valueHexView[o];return this.valueHexView=f,128&i[this.blockLength-1]?(this.error="End of input reached before message was fully decoded",-1):(0===this.valueHexView[0]&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=G(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),t+this.blockLength)}},{key:"valueBigInt",set:function(e){$();for(var t=BigInt(e).toString(2);t.length%7;)t="0"+t;for(var r=new Uint8Array(t.length/7),n=0;n<r.length;n++)r[n]=parseInt(t.slice(7*n,7*n+7),2)+(n+1<r.length?128:0);this.fromBER(r.buffer,0,r.length)}},{key:"toBER",value:function(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);for(var t=this.valueHexView,r=new Uint8Array(this.blockLength),n=0;n<this.blockLength-1;n++)r[n]=128|t[n];return r[this.blockLength-1]=t[this.blockLength-1],r.buffer}var i=Z(this.valueDec,7);if(0===i.byteLength)return this.error="Error during encoding SID value",oe;var a=new Uint8Array(i.byteLength);if(!e){for(var f=new Uint8Array(i),o=i.byteLength-1,s=0;s<o;s++)a[s]=128|f[s];a[o]=f[o]}return a}},{key:"toString",value:function(){var e="";if(this.isHexOnly)e=j.ToHex(this.valueHexView);else if(this.isFirstSid){var t=this.valueDec;this.valueDec<=39?e="0.":this.valueDec<=79?(e="1.",t-=40):(e="2.",t-=80),e+=t.toString()}else e=this.valueDec.toString();return e}},{key:"toJSON",value:function(){return _(_({},P(t,"toJSON",this,3)([])),{},{valueDec:this.valueDec,isFirstSid:this.isFirstSid})}}])}(de(pe));$e.NAME="sidBlock";var Qe,et=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=r.value,i=void 0===n?fe:n,a=M(r,p);return V(this,t),(e=U(this,t,[a])).value=[],i&&e.fromString(i),e}return D(t,e),q(t,[{key:"fromBER",value:function(e,t,r){for(var n=t;r>0;){var i=new $e;if(-1===(n=i.fromBER(e,n,r)))return this.blockLength=0,this.error=i.error,n;0===this.value.length&&(i.isFirstSid=!0),this.blockLength+=i.blockLength,r-=i.blockLength,this.value.push(i)}return n}},{key:"toBER",value:function(e){for(var t=[],r=0;r<this.value.length;r++){var n=this.value[r].toBER(e);if(0===n.byteLength)return this.error=this.value[r].error,oe;t.push(n)}return Q(t)}},{key:"fromString",value:function(e){this.value=[];var t=0,r=0,n="",i=!1;do{if(n=-1===(r=e.indexOf(".",t))?e.substring(t):e.substring(t,r),t=r+1,i){var a=this.value[0],f=0;switch(a.valueDec){case 0:break;case 1:f=40;break;case 2:f=80;break;default:return void(this.value=[])}var o=parseInt(n,10);if(isNaN(o))return;a.valueDec=o+f,i=!1}else{var s=new $e;if(n>Number.MAX_SAFE_INTEGER){$();var u=BigInt(n);s.valueBigInt=u}else if(s.valueDec=parseInt(n,10),isNaN(s.valueDec))return;this.value.length||(s.isFirstSid=!0,i=!0),this.value.push(s)}}while(-1!==r)}},{key:"toString",value:function(){for(var e="",t=!1,r=0;r<this.value.length;r++){t=this.value[r].isHexOnly;var n=this.value[r].toString();0!==r&&(e="".concat(e,".")),t?(n="{".concat(n,"}"),this.value[r].isFirstSid?e="2.{".concat(n," - 80}"):e+=n):e+=n}return e}},{key:"toJSON",value:function(){for(var e=_(_({},P(t,"toJSON",this,3)([])),{},{value:this.toString(),sidArray:[]}),r=0;r<this.value.length;r++)e.sidArray.push(this.value[r].toJSON());return e}}])}(pe);et.NAME="ObjectIdentifierValueBlock";var tt=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return V(this,t),(e=U(this,t,[r,et])).idBlock.tagClass=1,e.idBlock.tagNumber=6,e}return D(t,e),q(t,[{key:"getValue",value:function(){return this.valueBlock.toString()}},{key:"setValue",value:function(e){this.valueBlock.fromString(e)}},{key:"onAsciiEncoding",value:function(){return"".concat(this.constructor.NAME," : ").concat(this.valueBlock.toString()||"empty")}},{key:"toJSON",value:function(){return _(_({},P(t,"toJSON",this,3)([])),{},{value:this.getValue()})}}])}(ge);Qe=tt,be.ObjectIdentifier=Qe,tt.NAME="OBJECT IDENTIFIER";var rt=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=r.valueDec,i=void 0===n?0:n,a=M(r,v);return V(this,t),(e=U(this,t,[a])).valueDec=i,e}return D(t,e),q(t,[{key:"fromBER",value:function(e,t,r){if(0===r)return t;var n=C.toUint8Array(e);if(!ee(this,n,t,r))return-1;var i=n.subarray(t,t+r);this.valueHexView=new Uint8Array(r);for(var a=0;a<r&&(this.valueHexView[a]=127&i[a],this.blockLength++,128&i[a]);a++);for(var f=new Uint8Array(this.blockLength),o=0;o<this.blockLength;o++)f[o]=this.valueHexView[o];return this.valueHexView=f,128&i[this.blockLength-1]?(this.error="End of input reached before message was fully decoded",-1):(0===this.valueHexView[0]&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=G(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),t+this.blockLength)}},{key:"toBER",value:function(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);for(var t=this.valueHexView,r=new Uint8Array(this.blockLength),n=0;n<this.blockLength-1;n++)r[n]=128|t[n];return r[this.blockLength-1]=t[this.blockLength-1],r.buffer}var i=Z(this.valueDec,7);if(0===i.byteLength)return this.error="Error during encoding SID value",oe;var a=new Uint8Array(i.byteLength);if(!e){for(var f=new Uint8Array(i),o=i.byteLength-1,s=0;s<o;s++)a[s]=128|f[s];a[o]=f[o]}return a.buffer}},{key:"toString",value:function(){return this.isHexOnly?j.ToHex(this.valueHexView):this.valueDec.toString()}},{key:"toJSON",value:function(){return _(_({},P(t,"toJSON",this,3)([])),{},{valueDec:this.valueDec})}}])}(de(le));rt.NAME="relativeSidBlock";var nt,it=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=r.value,i=void 0===n?fe:n,a=M(r,y);return V(this,t),(e=U(this,t,[a])).value=[],i&&e.fromString(i),e}return D(t,e),q(t,[{key:"fromBER",value:function(e,t,r){for(var n=t;r>0;){var i=new rt;if(-1===(n=i.fromBER(e,n,r)))return this.blockLength=0,this.error=i.error,n;this.blockLength+=i.blockLength,r-=i.blockLength,this.value.push(i)}return n}},{key:"toBER",value:function(e,t){for(var r=[],n=0;n<this.value.length;n++){var i=this.value[n].toBER(e);if(0===i.byteLength)return this.error=this.value[n].error,oe;r.push(i)}return Q(r)}},{key:"fromString",value:function(e){this.value=[];var t=0,r=0,n="";do{n=-1===(r=e.indexOf(".",t))?e.substring(t):e.substring(t,r),t=r+1;var i=new rt;if(i.valueDec=parseInt(n,10),isNaN(i.valueDec))return!0;this.value.push(i)}while(-1!==r);return!0}},{key:"toString",value:function(){for(var e="",t=!1,r=0;r<this.value.length;r++){t=this.value[r].isHexOnly;var n=this.value[r].toString();0!==r&&(e="".concat(e,".")),e+=t?n="{".concat(n,"}"):n}return e}},{key:"toJSON",value:function(){for(var e=_(_({},P(t,"toJSON",this,3)([])),{},{value:this.toString(),sidArray:[]}),r=0;r<this.value.length;r++)e.sidArray.push(this.value[r].toJSON());return e}}])}(pe);it.NAME="RelativeObjectIdentifierValueBlock";var at,ft=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return V(this,t),(e=U(this,t,[r,it])).idBlock.tagClass=1,e.idBlock.tagNumber=13,e}return D(t,e),q(t,[{key:"getValue",value:function(){return this.valueBlock.toString()}},{key:"setValue",value:function(e){this.valueBlock.fromString(e)}},{key:"onAsciiEncoding",value:function(){return"".concat(this.constructor.NAME," : ").concat(this.valueBlock.toString()||"empty")}},{key:"toJSON",value:function(){return _(_({},P(t,"toJSON",this,3)([])),{},{value:this.getValue()})}}])}(ge);nt=ft,be.RelativeObjectIdentifier=nt,ft.NAME="RelativeObjectIdentifier";var ot,st=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return V(this,t),(e=U(this,t,[r])).idBlock.tagClass=1,e.idBlock.tagNumber=16,e}return D(t,e),q(t)}(Ce);at=st,be.Sequence=at,st.NAME="SEQUENCE";var ut=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return V(this,t),(e=U(this,t,[r])).idBlock.tagClass=1,e.idBlock.tagNumber=17,e}return D(t,e),q(t)}(Ce);ot=ut,be.Set=ot,ut.NAME="SET";var ct=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=B({},(E(r),r));return V(this,t),(e=U(this,t,[n])).isHexOnly=!0,e.value=fe,e}return D(t,e),q(t,[{key:"toJSON",value:function(){return _(_({},P(t,"toJSON",this,3)([])),{},{value:this.value})}}])}(de(pe));ct.NAME="StringValueBlock";var ht=function(e){function t(){return V(this,t),U(this,t,arguments)}return D(t,e),q(t)}(ct);ht.NAME="SimpleStringValueBlock";var dt=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=B({},(E(e),e));return V(this,t),U(this,t,[r,ht])}return D(t,e),q(t,[{key:"fromBuffer",value:function(e){this.valueBlock.value=String.fromCharCode.apply(null,C.toUint8Array(e))}},{key:"fromString",value:function(e){for(var t=e.length,r=this.valueBlock.valueHexView=new Uint8Array(t),n=0;n<t;n++)r[n]=e.charCodeAt(n);this.valueBlock.value=e}}])}(we);dt.NAME="SIMPLE STRING";var lt,pt=function(e){function t(){return V(this,t),U(this,t,arguments)}return D(t,e),q(t,[{key:"fromBuffer",value:function(e){this.valueBlock.valueHexView=C.toUint8Array(e);try{this.valueBlock.value=j.ToUtf8String(e)}catch(t){this.warnings.push('Error during "decodeURIComponent": '.concat(t,", using raw string")),this.valueBlock.value=j.ToBinary(e)}}},{key:"fromString",value:function(e){this.valueBlock.valueHexView=new Uint8Array(j.FromUtf8String(e)),this.valueBlock.value=e}}])}(dt);pt.NAME="Utf8StringValueBlock";var vt=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return V(this,t),(e=U(this,t,[r])).idBlock.tagClass=1,e.idBlock.tagNumber=12,e}return D(t,e),q(t)}(pt);lt=vt,be.Utf8String=lt,vt.NAME="UTF8String";var yt,bt=function(e){function t(){return V(this,t),U(this,t,arguments)}return D(t,e),q(t,[{key:"fromBuffer",value:function(e){this.valueBlock.value=j.ToUtf16String(e),this.valueBlock.valueHexView=C.toUint8Array(e)}},{key:"fromString",value:function(e){this.valueBlock.value=e,this.valueBlock.valueHexView=new Uint8Array(j.FromUtf16String(e))}}])}(dt);bt.NAME="BmpStringValueBlock";var gt=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=B({},(E(r),r));return V(this,t),(e=U(this,t,[n])).idBlock.tagClass=1,e.idBlock.tagNumber=30,e}return D(t,e),q(t)}(bt);yt=gt,be.BmpString=yt,gt.NAME="BMPString";var mt,wt=function(e){function t(){return V(this,t),U(this,t,arguments)}return D(t,e),q(t,[{key:"fromBuffer",value:function(e){for(var t=ArrayBuffer.isView(e)?e.slice().buffer:e.slice(0),r=new Uint8Array(t),n=0;n<r.length;n+=4)r[n]=r[n+3],r[n+1]=r[n+2],r[n+2]=0,r[n+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(t))}},{key:"fromString",value:function(e){for(var t=e.length,r=this.valueBlock.valueHexView=new Uint8Array(4*t),n=0;n<t;n++){var i=Z(e.charCodeAt(n),8),a=new Uint8Array(i);if(!(a.length>4))for(var f=4-a.length,o=a.length-1;o>=0;o--)r[4*n+o+f]=a[o]}this.valueBlock.value=e}}])}(dt);wt.NAME="UniversalStringValueBlock";var xt,kt=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=B({},(E(r),r));return V(this,t),(e=U(this,t,[n])).idBlock.tagClass=1,e.idBlock.tagNumber=28,e}return D(t,e),q(t)}(wt);mt=kt,be.UniversalString=mt,kt.NAME="UniversalString";var At,St=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return V(this,t),(e=U(this,t,[r])).idBlock.tagClass=1,e.idBlock.tagNumber=18,e}return D(t,e),q(t)}(dt);xt=St,be.NumericString=xt,St.NAME="NumericString";var Et,Bt=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return V(this,t),(e=U(this,t,[r])).idBlock.tagClass=1,e.idBlock.tagNumber=19,e}return D(t,e),q(t)}(dt);At=Bt,be.PrintableString=At,Bt.NAME="PrintableString";var Mt,Ct=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return V(this,t),(e=U(this,t,[r])).idBlock.tagClass=1,e.idBlock.tagNumber=20,e}return D(t,e),q(t)}(dt);Et=Ct,be.TeletexString=Et,Ct.NAME="TeletexString";var _t,Nt=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return V(this,t),(e=U(this,t,[r])).idBlock.tagClass=1,e.idBlock.tagNumber=21,e}return D(t,e),q(t)}(dt);Mt=Nt,be.VideotexString=Mt,Nt.NAME="VideotexString";var Ut,It=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return V(this,t),(e=U(this,t,[r])).idBlock.tagClass=1,e.idBlock.tagNumber=22,e}return D(t,e),q(t)}(dt);_t=It,be.IA5String=_t,It.NAME="IA5String";var Kt,Pt=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return V(this,t),(e=U(this,t,[r])).idBlock.tagClass=1,e.idBlock.tagNumber=25,e}return D(t,e),q(t)}(dt);Ut=Pt,be.GraphicString=Ut,Pt.NAME="GraphicString";var Ot,Lt=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return V(this,t),(e=U(this,t,[r])).idBlock.tagClass=1,e.idBlock.tagNumber=26,e}return D(t,e),q(t)}(dt);Kt=Lt,be.VisibleString=Kt,Lt.NAME="VisibleString";var Dt,Rt=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return V(this,t),(e=U(this,t,[r])).idBlock.tagClass=1,e.idBlock.tagNumber=27,e}return D(t,e),q(t)}(dt);Ot=Rt,be.GeneralString=Ot,Rt.NAME="GeneralString";var Ht,Tt=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return V(this,t),(e=U(this,t,[r])).idBlock.tagClass=1,e.idBlock.tagNumber=29,e}return D(t,e),q(t)}(dt);Dt=Tt,be.CharacterString=Dt,Tt.NAME="CharacterString";var Ft,zt=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=r.value,i=r.valueDate,a=M(r,b);if(V(this,t),(e=U(this,t,[a])).year=0,e.month=0,e.day=0,e.hour=0,e.minute=0,e.second=0,n){e.fromString(n),e.valueBlock.valueHexView=new Uint8Array(n.length);for(var f=0;f<n.length;f++)e.valueBlock.valueHexView[f]=n.charCodeAt(f)}return i&&(e.fromDate(i),e.valueBlock.valueHexView=new Uint8Array(e.toBuffer())),e.idBlock.tagClass=1,e.idBlock.tagNumber=23,e}return D(t,e),q(t,[{key:"fromBuffer",value:function(e){this.fromString(String.fromCharCode.apply(null,C.toUint8Array(e)))}},{key:"toBuffer",value:function(){for(var e=this.toString(),t=new ArrayBuffer(e.length),r=new Uint8Array(t),n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return t}},{key:"fromDate",value:function(e){this.year=e.getUTCFullYear(),this.month=e.getUTCMonth()+1,this.day=e.getUTCDate(),this.hour=e.getUTCHours(),this.minute=e.getUTCMinutes(),this.second=e.getUTCSeconds()}},{key:"toDate",value:function(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}},{key:"fromString",value:function(e){var t=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/gi.exec(e);if(null!==t){var r=parseInt(t[1],10);this.year=r>=50?1900+r:2e3+r,this.month=parseInt(t[2],10),this.day=parseInt(t[3],10),this.hour=parseInt(t[4],10),this.minute=parseInt(t[5],10),this.second=parseInt(t[6],10)}else this.error="Wrong input string for conversion"}},{key:"toString",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"iso";if("iso"===e){var r=new Array(7);return r[0]=Y(this.year<2e3?this.year-1900:this.year-2e3,2),r[1]=Y(this.month,2),r[2]=Y(this.day,2),r[3]=Y(this.hour,2),r[4]=Y(this.minute,2),r[5]=Y(this.second,2),r[6]="Z",r.join("")}return P(t,"toString",this,3)([e])}},{key:"onAsciiEncoding",value:function(){return"".concat(this.constructor.NAME," : ").concat(this.toDate().toISOString())}},{key:"toJSON",value:function(){return _(_({},P(t,"toJSON",this,3)([])),{},{year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second})}}])}(Lt);Ht=zt,be.UTCTime=Ht,zt.NAME="UTCTime";var Vt,jt=function(e){function t(){var e,r,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return V(this,t),null!==(r=(e=U(this,t,[n])).millisecond)&&void 0!==r||(e.millisecond=0),e.idBlock.tagClass=1,e.idBlock.tagNumber=24,e}return D(t,e),q(t,[{key:"fromDate",value:function(e){P(t,"fromDate",this,3)([e]),this.millisecond=e.getUTCMilliseconds()}},{key:"toDate",value:function(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}},{key:"fromString",value:function(e){var t,r=!1,n="",i="",a=0,f=0,o=0;if("Z"===e[e.length-1])n=e.substring(0,e.length-1),r=!0;else{var s=new Number(e[e.length-1]);if(isNaN(s.valueOf()))throw new Error("Wrong input string for conversion");n=e}if(r){if(-1!==n.indexOf("+"))throw new Error("Wrong input string for conversion");if(-1!==n.indexOf("-"))throw new Error("Wrong input string for conversion")}else{var u=1,c=n.indexOf("+"),h="";if(-1===c&&(c=n.indexOf("-"),u=-1),-1!==c){if(h=n.substring(c+1),n=n.substring(0,c),2!==h.length&&4!==h.length)throw new Error("Wrong input string for conversion");var d=parseInt(h.substring(0,2),10);if(isNaN(d.valueOf()))throw new Error("Wrong input string for conversion");if(f=u*d,4===h.length){if(d=parseInt(h.substring(2,4),10),isNaN(d.valueOf()))throw new Error("Wrong input string for conversion");o=u*d}}}var l=n.indexOf(".");if(-1===l&&(l=n.indexOf(",")),-1!==l){var p=new Number("0".concat(n.substring(l)));if(isNaN(p.valueOf()))throw new Error("Wrong input string for conversion");a=p.valueOf(),i=n.substring(0,l)}else i=n;switch(!0){case 8===i.length:if(t=/(\d{4})(\d{2})(\d{2})/gi,-1!==l)throw new Error("Wrong input string for conversion");break;case 10===i.length:if(t=/(\d{4})(\d{2})(\d{2})(\d{2})/gi,-1!==l){var v=60*a;this.minute=Math.floor(v),v=60*(v-this.minute),this.second=Math.floor(v),v=1e3*(v-this.second),this.millisecond=Math.floor(v)}break;case 12===i.length:if(t=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/gi,-1!==l){var y=60*a;this.second=Math.floor(y),y=1e3*(y-this.second),this.millisecond=Math.floor(y)}break;case 14===i.length:if(t=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/gi,-1!==l){var b=1e3*a;this.millisecond=Math.floor(b)}break;default:throw new Error("Wrong input string for conversion")}var g=t.exec(i);if(null===g)throw new Error("Wrong input string for conversion");for(var m=1;m<g.length;m++)switch(m){case 1:this.year=parseInt(g[m],10);break;case 2:this.month=parseInt(g[m],10);break;case 3:this.day=parseInt(g[m],10);break;case 4:this.hour=parseInt(g[m],10)+f;break;case 5:this.minute=parseInt(g[m],10)+o;break;case 6:this.second=parseInt(g[m],10);break;default:throw new Error("Wrong input string for conversion")}if(!1===r){var w=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=w.getUTCFullYear(),this.month=w.getUTCMonth(),this.day=w.getUTCDay(),this.hour=w.getUTCHours(),this.minute=w.getUTCMinutes(),this.second=w.getUTCSeconds(),this.millisecond=w.getUTCMilliseconds()}}},{key:"toString",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"iso";if("iso"===e){var r=[];return r.push(Y(this.year,4)),r.push(Y(this.month,2)),r.push(Y(this.day,2)),r.push(Y(this.hour,2)),r.push(Y(this.minute,2)),r.push(Y(this.second,2)),0!==this.millisecond&&(r.push("."),r.push(Y(this.millisecond,3))),r.push("Z"),r.join("")}return P(t,"toString",this,3)([e])}},{key:"toJSON",value:function(){return _(_({},P(t,"toJSON",this,3)([])),{},{millisecond:this.millisecond})}}])}(zt);Ft=jt,be.GeneralizedTime=Ft,jt.NAME="GeneralizedTime";var qt,Jt=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return V(this,t),(e=U(this,t,[r])).idBlock.tagClass=1,e.idBlock.tagNumber=31,e}return D(t,e),q(t)}(vt);Vt=Jt,be.DATE=Vt,Jt.NAME="DATE";var Gt,Zt=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return V(this,t),(e=U(this,t,[r])).idBlock.tagClass=1,e.idBlock.tagNumber=32,e}return D(t,e),q(t)}(vt);qt=Zt,be.TimeOfDay=qt,Zt.NAME="TimeOfDay";var Wt,Xt=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return V(this,t),(e=U(this,t,[r])).idBlock.tagClass=1,e.idBlock.tagNumber=33,e}return D(t,e),q(t)}(vt);Gt=Xt,be.DateTime=Gt,Xt.NAME="DateTime";var Yt,$t=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return V(this,t),(e=U(this,t,[r])).idBlock.tagClass=1,e.idBlock.tagNumber=34,e}return D(t,e),q(t)}(vt);Wt=$t,be.Duration=Wt,$t.NAME="Duration";var Qt=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return V(this,t),(e=U(this,t,[r])).idBlock.tagClass=1,e.idBlock.tagNumber=14,e}return D(t,e),q(t)}(vt);Yt=Qt,be.TIME=Yt,Qt.NAME="TIME";var er=q((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.name,n=void 0===r?fe:r,i=t.optional,a=void 0!==i&&i;V(this,e),this.name=n,this.optional=a})),tr=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=r.value,i=void 0===n?[]:n,a=M(r,g);return V(this,t),(e=U(this,t,[a])).value=i,e}return D(t,e),q(t)}(er),rr=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=r.value,i=void 0===n?new er:n,a=r.local,f=void 0!==a&&a,o=M(r,m);return V(this,t),(e=U(this,t,[o])).value=i,e.local=f,e}return D(t,e),q(t)}(er),nr=function(){return q((function e(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).data,r=void 0===t?se:t;V(this,e),this.dataView=C.toUint8Array(r)}),[{key:"data",get:function(){return this.dataView.slice().buffer},set:function(e){this.dataView=C.toUint8Array(e)}},{key:"fromBER",value:function(e,t,r){var n=t+r;return this.dataView=C.toUint8Array(e).subarray(t,n),n}},{key:"toBER",value:function(e){return this.dataView.slice().buffer}}])}();function ir(e,t,r){if(r instanceof tr){for(var n=0;n<r.value.length;n++)if(ir(e,t,r.value[n]).verified)return{verified:!0,result:e};var i={verified:!1,result:{error:"Wrong values for Choice type"}};return r.hasOwnProperty(ie)&&(i.name=r.name),i}if(r instanceof er)return r.hasOwnProperty(ie)&&(e[r.name]=t),{verified:!0,result:e};if(e instanceof Object==0)return{verified:!1,result:{error:"Wrong root object"}};if(t instanceof Object==0)return{verified:!1,result:{error:"Wrong ASN.1 data"}};if(r instanceof Object==0)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if("idBlock"in r==0)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if("fromBER"in r.idBlock==0)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if("toBER"in r.idBlock==0)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};var a=r.idBlock.toBER(!1);if(0===a.byteLength)return{verified:!1,result:{error:"Error encoding idBlock for ASN.1 schema"}};if(-1===r.idBlock.fromBER(a,0,a.byteLength))return{verified:!1,result:{error:"Error decoding idBlock for ASN.1 schema"}};if(!1===r.idBlock.hasOwnProperty("tagClass"))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(r.idBlock.tagClass!==t.idBlock.tagClass)return{verified:!1,result:e};if(!1===r.idBlock.hasOwnProperty("tagNumber"))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(r.idBlock.tagNumber!==t.idBlock.tagNumber)return{verified:!1,result:e};if(!1===r.idBlock.hasOwnProperty("isConstructed"))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(r.idBlock.isConstructed!==t.idBlock.isConstructed)return{verified:!1,result:e};if(!("isHexOnly"in r.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(r.idBlock.isHexOnly!==t.idBlock.isHexOnly)return{verified:!1,result:e};if(r.idBlock.isHexOnly){if(ae in r.idBlock==0)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};var f=r.idBlock.valueHexView,o=t.idBlock.valueHexView;if(f.length!==o.length)return{verified:!1,result:e};for(var s=0;s<f.length;s++)if(f[s]!==o[1])return{verified:!1,result:e}}if(r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,fe),r.name&&(e[r.name]=t)),r instanceof be.Constructed){var u=0,c={verified:!1,result:{error:"Unknown error"}},h=r.valueBlock.value.length;if(h>0&&r.valueBlock.value[0]instanceof rr&&(h=t.valueBlock.value.length),0===h)return{verified:!0,result:e};if(0===t.valueBlock.value.length&&0!==r.valueBlock.value.length){for(var d=!0,l=0;l<r.valueBlock.value.length;l++)d=d&&(r.valueBlock.value[l].optional||!1);return d?{verified:!0,result:e}:(r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,fe),r.name&&delete e[r.name]),e.error="Inconsistent object length",{verified:!1,result:e})}for(var p=0;p<h;p++)if(p-u>=t.valueBlock.value.length){if(!1===r.valueBlock.value[p].optional){var v={verified:!1,result:e};return e.error="Inconsistent length between ASN.1 data and schema",r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,fe),r.name&&(delete e[r.name],v.name=r.name)),v}}else if(r.valueBlock.value[0]instanceof rr){if(!1===(c=ir(e,t.valueBlock.value[p],r.valueBlock.value[0].value)).verified){if(!r.valueBlock.value[0].optional)return r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,fe),r.name&&delete e[r.name]),c;u++}if(ie in r.valueBlock.value[0]&&r.valueBlock.value[0].name.length>0){var y={};void 0===(y="local"in r.valueBlock.value[0]&&r.valueBlock.value[0].local?t:e)[r.valueBlock.value[0].name]&&(y[r.valueBlock.value[0].name]=[]),y[r.valueBlock.value[0].name].push(t.valueBlock.value[p])}}else if(!1===(c=ir(e,t.valueBlock.value[p-u],r.valueBlock.value[p])).verified){if(!r.valueBlock.value[p].optional)return r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,fe),r.name&&delete e[r.name]),c;u++}if(!1===c.verified){var b={verified:!1,result:e};return r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,fe),r.name&&(delete e[r.name],b.name=r.name)),b}return{verified:!0,result:e}}if(r.primitiveSchema&&ae in t.valueBlock){var g=Se(t.valueBlock.valueHexView);if(-1===g.offset){var m={verified:!1,result:g.result};return r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,fe),r.name&&(delete e[r.name],m.name=r.name)),m}return ir(e,g.result,r.primitiveSchema)}return{verified:!0,result:e}}var ar,fr,or=Object.freeze({__proto__:null,Any:er,BaseBlock:ge,BaseStringBlock:we,BitString:Ve,BmpString:gt,Boolean:Le,CharacterString:Tt,Choice:tr,Constructed:Ce,DATE:Jt,DateTime:Xt,Duration:$t,EndOfContent:Ie,Enumerated:Ye,GeneralString:Rt,GeneralizedTime:jt,GraphicString:Pt,HexBlock:de,IA5String:It,Integer:Xe,Null:Ke,NumericString:St,ObjectIdentifier:tt,OctetString:He,Primitive:Ae,PrintableString:Bt,RawData:nr,RelativeObjectIdentifier:ft,Repeated:rr,Sequence:st,Set:ut,TIME:Qt,TeletexString:Ct,TimeOfDay:Zt,UTCTime:zt,UniversalString:kt,Utf8String:vt,ValueBlock:pe,VideotexString:Nt,ViewWriter:te,VisibleString:Lt,compareSchema:ir,fromBER:Ee,verifySchema:function(e,t){if(t instanceof Object==0)return{verified:!1,result:{error:"Wrong ASN.1 schema type"}};var r=Se(C.toUint8Array(e));return-1===r.offset?{verified:!1,result:r.result}:ir(r.result,r.result,t)}});!function(e){e[e.Sequence=0]="Sequence",e[e.Set=1]="Set",e[e.Choice=2]="Choice"}(ar||(ar={})),function(e){e[e.Any=1]="Any",e[e.Boolean=2]="Boolean",e[e.OctetString=3]="OctetString",e[e.BitString=4]="BitString",e[e.Integer=5]="Integer",e[e.Enumerated=6]="Enumerated",e[e.ObjectIdentifier=7]="ObjectIdentifier",e[e.Utf8String=8]="Utf8String",e[e.BmpString=9]="BmpString",e[e.UniversalString=10]="UniversalString",e[e.NumericString=11]="NumericString",e[e.PrintableString=12]="PrintableString",e[e.TeletexString=13]="TeletexString",e[e.VideotexString=14]="VideotexString",e[e.IA5String=15]="IA5String",e[e.GraphicString=16]="GraphicString",e[e.VisibleString=17]="VisibleString",e[e.GeneralString=18]="GeneralString",e[e.CharacterString=19]="CharacterString",e[e.UTCTime=20]="UTCTime",e[e.GeneralizedTime=21]="GeneralizedTime",e[e.DATE=22]="DATE",e[e.TimeOfDay=23]="TimeOfDay",e[e.DateTime=24]="DateTime",e[e.Duration=25]="Duration",e[e.TIME=26]="TIME",e[e.Null=27]="Null"}(fr||(fr={}));var sr=function(){return q((function e(t){V(this,e),"number"==typeof t?this.buffer=new ArrayBuffer(t):C.isBufferSource(t)?this.buffer=C.toArrayBuffer(t):Array.isArray(t)?this.buffer=new Uint8Array(t):this.buffer=new ArrayBuffer(0)}),[{key:"byteLength",get:function(){return this.buffer.byteLength}},{key:"byteOffset",get:function(){return 0}},{key:"fromASN",value:function(e){if(!(e instanceof He))throw new TypeError("Argument 'asn' is not instance of ASN.1 OctetString");return this.buffer=e.valueBlock.valueHex,this}},{key:"toASN",value:function(){return new He({valueHex:this.buffer})}},{key:"toSchema",value:function(e){return new He({name:e})}}])}(),ur={fromASN:function(e){return e instanceof Ke?null:e.valueBeforeDecodeView},toASN:function(e){if(null===e)return new Ke;var t=Ee(e);if(t.result.error)throw new Error(t.result.error);return t.result}},cr={fromASN:function(e){return e.valueBlock.valueHexView.byteLength>=4?e.valueBlock.toString():e.valueBlock.valueDec},toASN:function(e){return new Xe({value:+e})}},hr={fromASN:function(e){return e.valueBlock.valueDec},toASN:function(e){return new Ye({value:e})}},dr={fromASN:function(e){return e.valueBlock.valueHexView},toASN:function(e){return new Ve({valueHex:e})}},lr={fromASN:function(e){return e.valueBlock.toString()},toASN:function(e){return new tt({value:e})}},pr={fromASN:function(e){return e.valueBlock.value},toASN:function(e){return new Le({value:e})}},vr={fromASN:function(e){return e.valueBlock.valueHexView},toASN:function(e){return new He({valueHex:e})}};function yr(e){return{fromASN:function(e){return e.valueBlock.value},toASN:function(t){return new e({value:t})}}}var br=yr(vt),gr=yr(gt),mr=yr(kt),wr=yr(St),xr=yr(Bt),kr=yr(Ct),Ar=yr(Nt),Sr=yr(It),Er=yr(Pt),Br=yr(Lt),Mr=yr(Rt),Cr=yr(Tt),_r={fromASN:function(e){return e.toDate()},toASN:function(e){return new zt({valueDate:e})}},Nr={fromASN:function(e){return e.toDate()},toASN:function(e){return new jt({valueDate:e})}},Ur={fromASN:function(){return null},toASN:function(){return new Ke}};function Ir(e){switch(e){case fr.Any:return ur;case fr.BitString:return dr;case fr.BmpString:return gr;case fr.Boolean:return pr;case fr.CharacterString:return Cr;case fr.Enumerated:return hr;case fr.GeneralString:return Mr;case fr.GeneralizedTime:return Nr;case fr.GraphicString:return Er;case fr.IA5String:return Sr;case fr.Integer:return cr;case fr.Null:return Ur;case fr.NumericString:return wr;case fr.ObjectIdentifier:return lr;case fr.OctetString:return vr;case fr.PrintableString:return xr;case fr.TeletexString:return kr;case fr.UTCTime:return _r;case fr.UniversalString:return mr;case fr.Utf8String:return br;case fr.VideotexString:return Ar;case fr.VisibleString:return Br;default:return null}}function Kr(e){return"function"==typeof e&&e.prototype?!(!e.prototype.toASN||!e.prototype.fromASN)||Kr(e.prototype):!!(e&&"object"===H(e)&&"toASN"in e&&"fromASN"in e)}function Pr(e){var t;if(e){var r=Object.getPrototypeOf(e);return(null===(t=null==r?void 0:r.prototype)||void 0===t?void 0:t.constructor)===Array||Pr(r)}return!1}function Or(e,t){if(!e||!t)return!1;if(e.byteLength!==t.byteLength)return!1;for(var r=new Uint8Array(e),n=new Uint8Array(t),i=0;i<e.byteLength;i++)if(r[i]!==n[i])return!1;return!0}var Lr=function(){return q((function e(){V(this,e),this.items=new WeakMap}),[{key:"has",value:function(e){return this.items.has(e)}},{key:"get",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=this.items.get(e);if(!r)throw new Error("Cannot get schema for '".concat(e.prototype.constructor.name,"' target"));if(t&&!r.schema)throw new Error("Schema '".concat(e.prototype.constructor.name,"' doesn't contain ASN.1 schema. Call 'AsnSchemaStorage.cache'."));return r}},{key:"cache",value:function(e){var t=this.get(e);t.schema||(t.schema=this.create(e,!0))}},{key:"createDefault",value:function(e){var t={type:ar.Sequence,items:{}},r=this.findParentSchema(e);return r&&(Object.assign(t,r),t.items=Object.assign({},t.items,r.items)),t}},{key:"create",value:function(e,t){var r=this.items.get(e)||this.createDefault(e),n=[];for(var i in r.items){var a=r.items[i],f=t?i:"",o=void 0;if("number"==typeof a.type){var s=fr[a.type],u=or[s];if(!u)throw new Error("Cannot get ASN1 class by name '".concat(s,"'"));o=new u({name:f})}else Kr(a.type)?o=(new a.type).toSchema(f):a.optional?this.get(a.type).type===ar.Choice?o=new er({name:f}):(o=this.create(a.type,!1)).name=f:o=new er({name:f});var c=!!a.optional||void 0!==a.defaultValue;if(a.repeated&&(o.name="",o=new("set"===a.repeated?ut:st)({name:"",value:[new rr({name:f,value:o})]})),null!==a.context&&void 0!==a.context)if(a.implicit)if("number"==typeof a.type||Kr(a.type)){var h=a.repeated?Ce:Ae;n.push(new h({name:f,optional:c,idBlock:{tagClass:3,tagNumber:a.context}}))}else{this.cache(a.type);var d=!!a.repeated,l=d?o:this.get(a.type,!0).schema;l="valueBlock"in l?l.valueBlock.value:l.value,n.push(new Ce({name:d?"":f,optional:c,idBlock:{tagClass:3,tagNumber:a.context},value:l}))}else n.push(new Ce({optional:c,idBlock:{tagClass:3,tagNumber:a.context},value:[o]}));else o.optional=c,n.push(o)}switch(r.type){case ar.Sequence:return new st({value:n,name:""});case ar.Set:return new ut({value:n,name:""});case ar.Choice:return new tr({value:n,name:""});default:throw new Error("Unsupported ASN1 type in use")}}},{key:"set",value:function(e,t){return this.items.set(e,t),this}},{key:"findParentSchema",value:function(e){var t=Object.getPrototypeOf(e);return t?this.items.get(t)||this.findParentSchema(t):null}}])}(),Dr=new Lr,Rr=function(e){return function(t){var r;Dr.has(t)?r=Dr.get(t):(r=Dr.createDefault(t),Dr.set(t,r)),Object.assign(r,e)}},Hr=function(e){return function(t,r){var n;Dr.has(t.constructor)?n=Dr.get(t.constructor):(n=Dr.createDefault(t.constructor),Dr.set(t.constructor,n));var i=Object.assign({},e);if("number"==typeof i.type&&!i.converter){var a=Ir(e.type);if(!a)throw new Error("Cannot get default converter for property '".concat(r,"' of ").concat(t.constructor.name));i.converter=a}n.items[r]=i}},Tr=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).schemas=[],e}return D(t,e),q(t)}(S(Error)),Fr=function(){return q((function e(){V(this,e)}),null,[{key:"parse",value:function(e,t){var r=Ee(e);if(r.result.error)throw new Error(r.result.error);return this.fromASN(r.result,t)}},{key:"fromASN",value:function(e,t){var r,n=this;try{if(Kr(t))return(new t).fromASN(e);var i=Dr.get(t);Dr.cache(t);var a=i.schema;if(e.constructor===Ce&&i.type!==ar.Choice)for(var f in a=new Ce({idBlock:{tagClass:3,tagNumber:e.idBlock.tagNumber},value:i.schema.valueBlock.value}),i.items)delete e[f];var o=ir({},e,a);if(!o.verified)throw new Tr("Data does not match to ".concat(t.name," ASN1 schema. ").concat(o.result.error));var s=new t;if(Pr(t)){if(!("value"in e.valueBlock)||!Array.isArray(e.valueBlock.value))throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");var u=i.itemType;if("number"==typeof u){var c=Ir(u);if(!c)throw new Error("Cannot get default converter for array item of ".concat(t.name," ASN1 schema"));return t.from(e.valueBlock.value,(function(e){return c.fromASN(e)}))}return t.from(e.valueBlock.value,(function(e){return n.fromASN(e,u)}))}var h=function(){var e=o.result[d];if(!e)return 1;var t=i.items[d],a=t.type;if("number"==typeof a||Kr(a)){var f=null!==(r=t.converter)&&void 0!==r?r:Kr(a)?new a:null;if(!f)throw new Error("Converter is empty");if(t.repeated)if(t.implicit){var u=new("sequence"===t.repeated?st:ut);u.valueBlock=e.valueBlock;var c=Ee(u.toBER(!1));if(-1===c.offset)throw new Error("Cannot parse the child item. ".concat(c.result.error));if(!("value"in c.result.valueBlock)||!Array.isArray(c.result.valueBlock.value))throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");var h=c.result.valueBlock.value;s[d]=Array.from(h,(function(e){return f.fromASN(e)}))}else s[d]=Array.from(e,(function(e){return f.fromASN(e)}));else{var l=e;if(t.implicit){var p;if(Kr(a))p=(new a).toSchema("");else{var v=fr[a],y=or[v];if(!y)throw new Error("Cannot get '".concat(v,"' class from asn1js module"));p=new y}p.valueBlock=l.valueBlock,l=Ee(p.toBER(!1)).result}s[d]=f.fromASN(l)}}else if(t.repeated){if(!Array.isArray(e))throw new Error("Cannot get list of items from the ASN.1 parsed value. ASN.1 value should be iterable.");s[d]=Array.from(e,(function(e){return n.fromASN(e,a)}))}else s[d]=n.fromASN(e,a)};for(var d in i.items)h();return s}catch(e){throw e instanceof Tr&&e.schemas.push(t.name),e}}}])}(),zr=function(){function e(){V(this,e)}return q(e,null,[{key:"serialize",value:function(e){return e instanceof ge?e.toBER(!1):this.toASN(e).toBER(!1)}},{key:"toASN",value:function(t){var r=this;if(t&&"object"===H(t)&&Kr(t))return t.toASN();if(!t||"object"!==H(t))throw new TypeError("Parameter 1 should be type of Object.");var n=t.constructor,i=Dr.get(n);Dr.cache(n);var a,f=[];if(i.itemType){if(!Array.isArray(t))throw new TypeError("Parameter 1 should be type of Array.");if("number"==typeof i.itemType){var o=Ir(i.itemType);if(!o)throw new Error("Cannot get default converter for array item of ".concat(n.name," ASN1 schema"));f=t.map((function(e){return o.toASN(e)}))}else f=t.map((function(e){return r.toAsnItem({type:i.itemType},"[]",n,e)}))}else for(var s in i.items){var u=i.items[s],c=t[s];if(!(void 0===c||u.defaultValue===c||"object"===H(u.defaultValue)&&"object"===H(c)&&Or(this.serialize(u.defaultValue),this.serialize(c)))){var h=e.toAsnItem(u,s,n,c);if("number"==typeof u.context)if(u.implicit)if(u.repeated||"number"!=typeof u.type&&!Kr(u.type))f.push(new Ce({optional:u.optional,idBlock:{tagClass:3,tagNumber:u.context},value:h.valueBlock.value}));else{var d={};d.valueHex=h instanceof Ke?h.valueBeforeDecodeView:h.valueBlock.toBER(),f.push(new Ae(_({optional:u.optional,idBlock:{tagClass:3,tagNumber:u.context}},d)))}else f.push(new Ce({optional:u.optional,idBlock:{tagClass:3,tagNumber:u.context},value:[h]}));else u.repeated?f=f.concat(h):f.push(h)}}switch(i.type){case ar.Sequence:a=new st({value:f});break;case ar.Set:a=new ut({value:f});break;case ar.Choice:if(!f[0])throw new Error("Schema '".concat(n.name,"' has wrong data. Choice cannot be empty."));a=f[0]}return a}},{key:"toAsnItem",value:function(e,t,r,n){var i,a=this;if("number"==typeof e.type){var f=e.converter;if(!f)throw new Error("Property '".concat(t,"' doesn't have converter for type ").concat(fr[e.type]," in schema '").concat(r.name,"'"));if(e.repeated){if(!Array.isArray(n))throw new TypeError("Parameter 'objProp' should be type of Array.");var o=Array.from(n,(function(e){return f.toASN(e)}));i=new("sequence"===e.repeated?st:ut)({value:o})}else i=f.toASN(n)}else if(e.repeated){if(!Array.isArray(n))throw new TypeError("Parameter 'objProp' should be type of Array.");var s=Array.from(n,(function(e){return a.toASN(e)}));i=new("sequence"===e.repeated?st:ut)({value:s})}else i=this.toASN(n);return i}}])}(),Vr=function(){function e(){V(this,e)}return q(e,null,[{key:"serialize",value:function(e){return zr.serialize(e)}},{key:"parse",value:function(e,t){return Fr.parse(e,t)}},{key:"toString",value:function(t){var r=Ee(C.isBufferSource(t)?C.toArrayBuffer(t):e.serialize(t));if(-1===r.offset)throw new Error("Cannot decode ASN.1 data. ".concat(r.result.error));return r.result.toString()}}])}();function jr(e,t,r,n){var i,a=arguments.length,f=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"===("undefined"==typeof Reflect?"undefined":H(Reflect))&&"function"==typeof Reflect.decorate)f=Reflect.decorate(e,t,r,n);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(f=(a<3?i(f):a>3?i(t,r,f):i(t,r))||f);return a>3&&f&&Object.defineProperty(t,r,f),f}function qr(e,t,r,n){return new(r||(r=Promise))((function(i,a){function f(e){try{s(n.next(e))}catch(e){a(e)}}function o(e){try{s(n.throw(e))}catch(e){a(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(f,o)}s((n=n.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;var Jr,Gr=function(e){function t(e,r){var n;return V(this,t),(n=U(this,t,[r?"".concat(e,". See the inner exception for more details."):e])).message=e,n.innerError=r,n}return D(t,e),q(t)}(S(Error)),Zr=function(e){function t(e,r,n){return V(this,t),U(this,t,[e,"JSON doesn't match to '".concat(e.target.name,"' schema. ").concat(r),n])}return D(t,e),q(t)}(function(e){function t(e,r,n){var i;return V(this,t),(i=U(this,t,[r,n])).schema=e,i}return D(t,e),q(t)}(Gr)),Wr=function(e){function t(){return V(this,t),U(this,t,arguments)}return D(t,e),q(t)}(Gr),Xr=function(e){function t(e,r,n){var i;return V(this,t),(i=U(this,t,["Cannot serialize by '".concat(e,"' schema. ").concat(r),n])).schemaName=e,i}return D(t,e),q(t)}(Gr),Yr=function(e){function t(e,r){var n,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return V(this,t),(n=U(this,t,[e,"Some keys doesn't match to schema"])).keys=r,n.errors=i,n}return D(t,e),q(t)}(Zr);function $r(e,t){if(!function(e,t){switch(t){case Jr.Boolean:return"boolean"==typeof e;case Jr.Number:return"number"==typeof e;case Jr.String:return"string"==typeof e}return!0}(e,t))throw new TypeError("Value must be ".concat(Jr[t]))}function Qr(e){return e&&e.prototype?!(!e.prototype.toJSON||!e.prototype.fromJSON)||Qr(e.prototype):!!(e&&e.toJSON&&e.fromJSON)}!function(e){e[e.Any=0]="Any",e[e.Boolean=1]="Boolean",e[e.Number=2]="Number",e[e.String=3]="String"}(Jr||(Jr={}));var en="default",tn=new(function(){return q((function e(){V(this,e),this.items=new Map}),[{key:"has",value:function(e){return this.items.has(e)||!!this.findParentSchema(e)}},{key:"get",value:function(e){var t=this.items.get(e)||this.findParentSchema(e);if(!t)throw new Error("Cannot get schema for current target");return t}},{key:"create",value:function(e){var t={names:{}},r=this.findParentSchema(e);if(r)for(var n in Object.assign(t,r),t.names={},r.names)t.names[n]=Object.assign({},r.names[n]);return t.target=e,t}},{key:"set",value:function(e,t){return this.items.set(e,t),this}},{key:"findParentSchema",value:function(e){var t=e.__proto__;return t?this.items.get(t)||this.findParentSchema(t):null}}])}()),rn=function(){return q((function e(t){V(this,e),this.pattern=new RegExp(t)}),[{key:"validate",value:function(e){var t=new RegExp(this.pattern.source,this.pattern.flags);if("string"!=typeof e)throw new Wr("Incoming value must be string");if(!t.exec(e))throw new Wr("Value doesn't match to pattern '".concat(t.toString(),"'"))}}])}(),nn=function(){return q((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.MIN_VALUE,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE;V(this,e),this.min=t,this.max=r}),[{key:"validate",value:function(e){if($r(e,Jr.Number),!(this.min<=e&&e<=this.max)){var t=this.min===Number.MIN_VALUE?"MIN":this.min,r=this.max===Number.MAX_VALUE?"MAX":this.max;throw new Wr("Value doesn't match to diapason [".concat(t,",").concat(r,"]"))}}}])}(),an=function(){return q((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.MIN_VALUE,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE;V(this,e),this.min=t,this.max=r}),[{key:"validate",value:function(e){if($r(e,Jr.Number),!(this.min<e&&e<this.max)){var t=this.min===Number.MIN_VALUE?"MIN":this.min,r=this.max===Number.MAX_VALUE?"MAX":this.max;throw new Wr("Value doesn't match to diapason (".concat(t,",").concat(r,")"))}}}])}(),fn=function(){return q((function e(t,r,n){V(this,e),this.length=t,this.minLength=r,this.maxLength=n}),[{key:"validate",value:function(e){if(void 0===this.length){if(void 0!==this.minLength&&e.length<this.minLength)throw new Wr("Value length must be more than ".concat(this.minLength,"."));if(void 0!==this.maxLength&&e.length>this.maxLength)throw new Wr("Value length must be less than ".concat(this.maxLength,"."))}else if(e.length!==this.length)throw new Wr("Value length must be exactly ".concat(this.length,"."))}}])}(),on=function(){return q((function e(t){V(this,e),this.enumeration=t}),[{key:"validate",value:function(e){if($r(e,Jr.String),!this.enumeration.includes(e))throw new Wr("Value must be one of ".concat(this.enumeration.map((function(e){return"'".concat(e,"'")})).join(", ")))}}])}(),sn=function(){return q((function e(){V(this,e)}),null,[{key:"checkValues",value:function(e,t){var r,n=T(Array.isArray(e)?e:[e]);try{for(n.s();!(r=n.n()).done;){var i,a=r.value,f=T(t.validations);try{for(f.s();!(i=f.n()).done;){var o=i.value;o instanceof fn&&t.repeated?o.validate(e):o.validate(a)}}catch(e){f.e(e)}finally{f.f()}}}catch(e){n.e(e)}finally{n.f()}}},{key:"checkTypes",value:function(e,t){if(t.repeated&&!Array.isArray(e))throw new TypeError("Value must be Array");if("number"==typeof t.type){var r,n=T(Array.isArray(e)?e:[e]);try{for(n.s();!(r=n.n()).done;)$r(r.value,t.type)}catch(e){n.e(e)}finally{n.f()}}}},{key:"getSchemaByName",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:en;return _(_({},e.names[en]),e.names[t])}}])}(),un=function(e){function t(){return V(this,t),U(this,t,arguments)}return D(t,e),q(t,null,[{key:"serialize",value:function(e,t,r,n){var i=this.toJSON(e,t);return JSON.stringify(i,r,n)}},{key:"toJSON",value:function(e){var t,r=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.targetSchema,a=n.schemaName||en;if(Qr(e))return e.toJSON();if(Array.isArray(e)){t=[];var f,o=T(e);try{for(o.s();!(f=o.n()).done;){var s=f.value;t.push(this.toJSON(s,n))}}catch(e){o.e(e)}finally{o.f()}}else if("object"===H(e)){if(i&&!tn.has(i))throw new Gr("Cannot get schema for `targetSchema` param");if(i=i||e.constructor,tn.has(i)){var u=tn.get(i);t={};var c=this.getSchemaByName(u,a),h=function(){try{var n,f=c[d],o=e[d];if(f.optional&&void 0===o||void 0!==f.defaultValue&&o===f.defaultValue)return 1;if(!f.optional&&void 0===o)throw new Xr(i.name,"Property '".concat(d,"' is required."));n="number"==typeof f.type?f.converter?f.repeated?o.map((function(t){return f.converter.toJSON(t,e)})):f.converter.toJSON(o,e):o:f.repeated?o.map((function(e){return r.toJSON(e,{schemaName:a})})):r.toJSON(o,{schemaName:a}),r.checkTypes(n,f),r.checkValues(n,f),t[f.name||d]=n}catch(e){throw e instanceof Xr?e:new Xr(u.target.name,"Property '".concat(d,"' is wrong. ").concat(e.message),e)}};for(var d in c)h()}else for(var l in t={},e)t[l]=this.toJSON(e[l],{schemaName:a})}else t=e;return t}}])}(sn),cn=function(e){function t(){return V(this,t),U(this,t,arguments)}return D(t,e),q(t,null,[{key:"parse",value:function(e,t){var r=JSON.parse(e);return this.fromJSON(r,t)}},{key:"fromJSON",value:function(e,r){var n=this,i=r.targetSchema,a=r.schemaName||en,f=new i;if(Qr(f))return f.fromJSON(e);var o=tn.get(i),s=this.getSchemaByName(o,a),u={};r.strictProperty&&!Array.isArray(e)&&t.checkStrictProperty(e,s,o);var c=function(){try{var t=s[h],i=t.name||h,c=e[i];if(void 0===c&&(t.optional||void 0!==t.defaultValue))return 1;if(!t.optional&&void 0===c)throw new Zr(o,"Property '".concat(i,"' is required."));if(n.checkTypes(c,t),n.checkValues(c,t),"number"==typeof t.type)t.converter?t.repeated?f[h]=c.map((function(e){return t.converter.fromJSON(e,f)})):f[h]=t.converter.fromJSON(c,f):f[h]=c;else{var d=_(_({},r),{},{targetSchema:t.type,schemaName:a});t.repeated?f[h]=c.map((function(e){return n.fromJSON(e,d)})):f[h]=n.fromJSON(c,d)}}catch(e){if(e instanceof Zr||(e=new Zr(o,"Property '".concat(h,"' is wrong. ").concat(e.message),e)),!r.strictAllKeys)throw e;u[h]=e}};for(var h in s)c();var d=Object.keys(u);if(d.length)throw new Yr(o,d,u);return f}},{key:"checkStrictProperty",value:function(e,t,r){for(var n=Object.keys(e),i=Object.keys(t),a=[],f=0,o=n;f<o.length;f++){var s=o[f];-1===i.indexOf(s)&&a.push(s)}if(a.length)throw new Yr(r,a)}}])}(sn),hn=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(t,r){var n,i="Cannot set type for ".concat(r," property of ").concat(t.constructor.name," schema");tn.has(t.constructor)?(n=tn.get(t.constructor)).target!==t.constructor&&(n=tn.create(t.constructor),tn.set(t.constructor,n)):(n=tn.create(t.constructor),tn.set(t.constructor,n));var a,f,o={type:Jr.Any,validations:[]},s=Object.assign(o,e);if(s.validations=(f=[],(a=s).pattern&&f.push(new rn(a.pattern)),a.type!==Jr.Number&&a.type!==Jr.Any||(void 0===a.minInclusive&&void 0===a.maxInclusive||f.push(new nn(a.minInclusive,a.maxInclusive)),void 0===a.minExclusive&&void 0===a.maxExclusive||f.push(new an(a.minExclusive,a.maxExclusive)),void 0!==a.enumeration&&f.push(new on(a.enumeration))),(a.type===Jr.String||a.repeated||a.type===Jr.Any)&&(void 0===a.length&&void 0===a.minLength&&void 0===a.maxLength||f.push(new fn(a.length,a.minLength,a.maxLength))),f),"number"!=typeof s.type&&!tn.has(s.type)&&!Qr(s.type))throw new Error("".concat(i,". Assigning type doesn't have schema."));var u,c=T(Array.isArray(e.schema)?e.schema:[e.schema||en]);try{for(c.s();!(u=c.n()).done;){var h=u.value;n.names[h]||(n.names[h]={}),n.names[h][r]=s}}catch(e){c.e(e)}finally{c.f()}}},dn=function(e){function t(){return V(this,t),U(this,t,arguments)}return D(t,e),q(t)}(S(Error)),ln=function(e){function t(){return V(this,t),U(this,t,arguments)}return D(t,e),q(t)}(dn),pn=function(e){function t(e){return V(this,t),U(this,t,["Unsupported operation: ".concat(e?"".concat(e):"")])}return D(t,e),q(t)}(dn),vn=function(e){function t(){return V(this,t),U(this,t,arguments)}return D(t,e),q(t)}(dn),yn=function(e){function t(e){return V(this,t),U(this,t,["".concat(e,": Missing required property")])}return D(t,e),q(t)}(dn);function bn(e){return"object"===H(e)&&"kty"in e}var gn=function(){return q((function e(){V(this,e)}),[{key:"digest",value:(b=A(x().mark((function e(){var t,r,n,i=arguments;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(t=i.length,r=new Array(t),n=0;n<t;n++)r[n]=i[n];return this.checkDigest.apply(this,r),e.abrupt("return",this.onDigest.apply(this,r));case 3:case"end":return e.stop()}}),e,this)}))),function(){return b.apply(this,arguments)})},{key:"checkDigest",value:function(e,t){this.checkAlgorithmName(e)}},{key:"onDigest",value:(y=A(x().mark((function e(t,r){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new pn("digest");case 1:case"end":return e.stop()}}),e)}))),function(e,t){return y.apply(this,arguments)})},{key:"generateKey",value:(v=A(x().mark((function e(){var t,r,n,i=arguments;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(t=i.length,r=new Array(t),n=0;n<t;n++)r[n]=i[n];return this.checkGenerateKey.apply(this,r),e.abrupt("return",this.onGenerateKey.apply(this,r));case 3:case"end":return e.stop()}}),e,this)}))),function(){return v.apply(this,arguments)})},{key:"checkGenerateKey",value:function(e,t,r){if(this.checkAlgorithmName(e),this.checkGenerateKeyParams(e),!r||!r.length)throw new TypeError("Usages cannot be empty when creating a key.");var n;n=Array.isArray(this.usages)?this.usages:this.usages.privateKey.concat(this.usages.publicKey),this.checkKeyUsages(r,n)}},{key:"checkGenerateKeyParams",value:function(e){}},{key:"onGenerateKey",value:(p=A(x().mark((function e(t,r,n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new pn("generateKey");case 1:case"end":return e.stop()}}),e)}))),function(e,t,r){return p.apply(this,arguments)})},{key:"sign",value:(l=A(x().mark((function e(){var t,r,n,i=arguments;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(t=i.length,r=new Array(t),n=0;n<t;n++)r[n]=i[n];return this.checkSign.apply(this,r),e.abrupt("return",this.onSign.apply(this,r));case 3:case"end":return e.stop()}}),e,this)}))),function(){return l.apply(this,arguments)})},{key:"checkSign",value:function(e,t,r){this.checkAlgorithmName(e),this.checkAlgorithmParams(e),this.checkCryptoKey(t,"sign")}},{key:"onSign",value:(d=A(x().mark((function e(t,r,n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new pn("sign");case 1:case"end":return e.stop()}}),e)}))),function(e,t,r){return d.apply(this,arguments)})},{key:"verify",value:(h=A(x().mark((function e(){var t,r,n,i=arguments;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(t=i.length,r=new Array(t),n=0;n<t;n++)r[n]=i[n];return this.checkVerify.apply(this,r),e.abrupt("return",this.onVerify.apply(this,r));case 3:case"end":return e.stop()}}),e,this)}))),function(){return h.apply(this,arguments)})},{key:"checkVerify",value:function(e,t,r,n){this.checkAlgorithmName(e),this.checkAlgorithmParams(e),this.checkCryptoKey(t,"verify")}},{key:"onVerify",value:(c=A(x().mark((function e(t,r,n,i){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new pn("verify");case 1:case"end":return e.stop()}}),e)}))),function(e,t,r,n){return c.apply(this,arguments)})},{key:"encrypt",value:(u=A(x().mark((function e(){var t,r,n,i=arguments;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(t=i.length,r=new Array(t),n=0;n<t;n++)r[n]=i[n];return this.checkEncrypt.apply(this,r),e.abrupt("return",this.onEncrypt.apply(this,r));case 3:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"checkEncrypt",value:function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this.checkAlgorithmName(e),this.checkAlgorithmParams(e),this.checkCryptoKey(t,n.keyUsage?"encrypt":void 0)}},{key:"onEncrypt",value:(s=A(x().mark((function e(t,r,n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new pn("encrypt");case 1:case"end":return e.stop()}}),e)}))),function(e,t,r){return s.apply(this,arguments)})},{key:"decrypt",value:(o=A(x().mark((function e(){var t,r,n,i=arguments;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(t=i.length,r=new Array(t),n=0;n<t;n++)r[n]=i[n];return this.checkDecrypt.apply(this,r),e.abrupt("return",this.onDecrypt.apply(this,r));case 3:case"end":return e.stop()}}),e,this)}))),function(){return o.apply(this,arguments)})},{key:"checkDecrypt",value:function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this.checkAlgorithmName(e),this.checkAlgorithmParams(e),this.checkCryptoKey(t,n.keyUsage?"decrypt":void 0)}},{key:"onDecrypt",value:(f=A(x().mark((function e(t,r,n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new pn("decrypt");case 1:case"end":return e.stop()}}),e)}))),function(e,t,r){return f.apply(this,arguments)})},{key:"deriveBits",value:(a=A(x().mark((function e(){var t,r,n,i=arguments;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(t=i.length,r=new Array(t),n=0;n<t;n++)r[n]=i[n];return this.checkDeriveBits.apply(this,r),e.abrupt("return",this.onDeriveBits.apply(this,r));case 3:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"checkDeriveBits",value:function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(this.checkAlgorithmName(e),this.checkAlgorithmParams(e),this.checkCryptoKey(t,n.keyUsage?"deriveBits":void 0),r%8!=0)throw new vn("length: Is not multiple of 8")}},{key:"onDeriveBits",value:(i=A(x().mark((function e(t,r,n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new pn("deriveBits");case 1:case"end":return e.stop()}}),e)}))),function(e,t,r){return i.apply(this,arguments)})},{key:"exportKey",value:(n=A(x().mark((function e(){var t,r,n,i=arguments;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(t=i.length,r=new Array(t),n=0;n<t;n++)r[n]=i[n];return this.checkExportKey.apply(this,r),e.abrupt("return",this.onExportKey.apply(this,r));case 3:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"checkExportKey",value:function(e,t){if(this.checkKeyFormat(e),this.checkCryptoKey(t),!t.extractable)throw new dn("key: Is not extractable")}},{key:"onExportKey",value:(r=A(x().mark((function e(t,r){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new pn("exportKey");case 1:case"end":return e.stop()}}),e)}))),function(e,t){return r.apply(this,arguments)})},{key:"importKey",value:(t=A(x().mark((function e(){var t,r,n,i=arguments;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(t=i.length,r=new Array(t),n=0;n<t;n++)r[n]=i[n];return this.checkImportKey.apply(this,r),e.abrupt("return",this.onImportKey.apply(this,r));case 3:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"checkImportKey",value:function(e,t,r,n,i){this.checkKeyFormat(e),this.checkKeyData(e,t),this.checkAlgorithmName(r),this.checkImportParams(r),Array.isArray(this.usages)&&this.checkKeyUsages(i,this.usages)}},{key:"onImportKey",value:(e=A(x().mark((function e(t,r,n,i,a){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new pn("importKey");case 1:case"end":return e.stop()}}),e)}))),function(t,r,n,i,a){return e.apply(this,arguments)})},{key:"checkAlgorithmName",value:function(e){if(e.name.toLowerCase()!==this.name.toLowerCase())throw new ln("Unrecognized name")}},{key:"checkAlgorithmParams",value:function(e){}},{key:"checkDerivedKeyParams",value:function(e){}},{key:"checkKeyUsages",value:function(e,t){var r,n=T(e);try{for(n.s();!(r=n.n()).done;){var i=r.value;if(-1===t.indexOf(i))throw new TypeError("Cannot create a key using the specified key usages")}}catch(e){n.e(e)}finally{n.f()}}},{key:"checkCryptoKey",value:function(e,t){if(this.checkAlgorithmName(e.algorithm),t&&-1===e.usages.indexOf(t))throw new dn("key does not match that of operation")}},{key:"checkRequiredProperty",value:function(e,t){if(!(t in e))throw new yn(t)}},{key:"checkHashAlgorithm",value:function(e,t){var r,n=T(t);try{for(n.s();!(r=n.n()).done;)if(r.value.toLowerCase()===e.name.toLowerCase())return}catch(e){n.e(e)}finally{n.f()}throw new vn("hash: Must be one of ".concat(t.join(", ")))}},{key:"checkImportParams",value:function(e){}},{key:"checkKeyFormat",value:function(e){switch(e){case"raw":case"pkcs8":case"spki":case"jwk":break;default:throw new TypeError("format: Is invalid value. Must be 'jwk', 'raw', 'spki', or 'pkcs8'")}}},{key:"checkKeyData",value:function(e,t){if(!t)throw new TypeError("keyData: Cannot be empty on empty on key importing");if("jwk"===e){if(!bn(t))throw new TypeError("keyData: Is not JsonWebToken")}else if(!C.isBufferSource(t))throw new TypeError("keyData: Is not ArrayBufferView or ArrayBuffer")}},{key:"prepareData",value:function(e){return C.toArrayBuffer(e)}}]);var e,t,r,n,i,a,f,o,s,u,c,h,d,l,p,v,y,b}(),mn=function(e){function t(){return V(this,t),U(this,t,arguments)}return D(t,e),q(t,[{key:"checkGenerateKeyParams",value:function(e){if(this.checkRequiredProperty(e,"length"),"number"!=typeof e.length)throw new TypeError("length: Is not of type Number");switch(e.length){case 128:case 192:case 256:break;default:throw new TypeError("length: Must be 128, 192, or 256")}}},{key:"checkDerivedKeyParams",value:function(e){this.checkGenerateKeyParams(e)}}])}(gn),wn=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).name="AES-CBC",e.usages=["encrypt","decrypt","wrapKey","unwrapKey"],e}return D(t,e),q(t,[{key:"checkAlgorithmParams",value:function(e){if(this.checkRequiredProperty(e,"iv"),!(e.iv instanceof ArrayBuffer||ArrayBuffer.isView(e.iv)))throw new TypeError("iv: Is not of type '(ArrayBuffer or ArrayBufferView)'");if(16!==e.iv.byteLength)throw new TypeError("iv: Must have length 16 bytes")}}])}(mn),xn=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).name="AES-CTR",e.usages=["encrypt","decrypt","wrapKey","unwrapKey"],e}return D(t,e),q(t,[{key:"checkAlgorithmParams",value:function(e){if(this.checkRequiredProperty(e,"counter"),!(e.counter instanceof ArrayBuffer||ArrayBuffer.isView(e.counter)))throw new TypeError("counter: Is not of type '(ArrayBuffer or ArrayBufferView)'");if(16!==e.counter.byteLength)throw new TypeError("iv: Must have length 16 bytes");if(this.checkRequiredProperty(e,"length"),"number"!=typeof e.length)throw new TypeError("length: Is not a Number");if(e.length<1)throw new vn("length: Must be more than 0")}}])}(mn),kn=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).name="AES-ECB",e.usages=["encrypt","decrypt","wrapKey","unwrapKey"],e}return D(t,e),q(t)}(mn),An=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).name="AES-GCM",e.usages=["encrypt","decrypt","wrapKey","unwrapKey"],e}return D(t,e),q(t,[{key:"checkAlgorithmParams",value:function(e){if(this.checkRequiredProperty(e,"iv"),!(e.iv instanceof ArrayBuffer||ArrayBuffer.isView(e.iv)))throw new TypeError("iv: Is not of type '(ArrayBuffer or ArrayBufferView)'");if(e.iv.byteLength<1)throw new vn("iv: Must have length more than 0 and less than 2^64 - 1");switch("tagLength"in e||(e.tagLength=128),e.tagLength){case 32:case 64:case 96:case 104:case 112:case 120:case 128:break;default:throw new vn("tagLength: Must be one of 32, 64, 96, 104, 112, 120 or 128")}}}])}(mn),Sn=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).name="AES-KW",e.usages=["wrapKey","unwrapKey"],e}return D(t,e),q(t)}(mn),En=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).usages=["encrypt","decrypt","wrapKey","unwrapKey"],e}return D(t,e),q(t,[{key:"checkAlgorithmParams",value:function(e){if(this.ivSize){if(this.checkRequiredProperty(e,"iv"),!(e.iv instanceof ArrayBuffer||ArrayBuffer.isView(e.iv)))throw new TypeError("iv: Is not of type '(ArrayBuffer or ArrayBufferView)'");if(e.iv.byteLength!==this.ivSize)throw new TypeError("iv: Must have length ".concat(this.ivSize," bytes"))}}},{key:"checkGenerateKeyParams",value:function(e){if(this.checkRequiredProperty(e,"length"),"number"!=typeof e.length)throw new TypeError("length: Is not of type Number");if(e.length!==this.keySizeBits)throw new vn("algorithm.length: Must be ".concat(this.keySizeBits))}},{key:"checkDerivedKeyParams",value:function(e){this.checkGenerateKeyParams(e)}}])}(gn),Bn=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).hashAlgorithms=["SHA-1","SHA-256","SHA-384","SHA-512"],e}return D(t,e),q(t,[{key:"checkGenerateKeyParams",value:function(e){if(this.checkRequiredProperty(e,"hash"),this.checkHashAlgorithm(e.hash,this.hashAlgorithms),this.checkRequiredProperty(e,"publicExponent"),!(e.publicExponent&&e.publicExponent instanceof Uint8Array))throw new TypeError("publicExponent: Missing or not a Uint8Array");var t=j.ToBase64(e.publicExponent);if("Aw=="!==t&&"AQAB"!==t)throw new TypeError("publicExponent: Must be [3] or [1,0,1]");if(this.checkRequiredProperty(e,"modulusLength"),e.modulusLength%8||e.modulusLength<256||e.modulusLength>16384)throw new TypeError("The modulus length must be a multiple of 8 bits and >= 256 and <= 16384")}},{key:"checkImportParams",value:function(e){this.checkRequiredProperty(e,"hash"),this.checkHashAlgorithm(e.hash,this.hashAlgorithms)}}])}(gn),Mn=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).name="RSASSA-PKCS1-v1_5",e.usages={privateKey:["sign"],publicKey:["verify"]},e}return D(t,e),q(t)}(Bn),Cn=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).name="RSA-PSS",e.usages={privateKey:["sign"],publicKey:["verify"]},e}return D(t,e),q(t,[{key:"checkAlgorithmParams",value:function(e){if(this.checkRequiredProperty(e,"saltLength"),"number"!=typeof e.saltLength)throw new TypeError("saltLength: Is not a Number");if(e.saltLength<0)throw new RangeError("saltLength: Must be positive number")}}])}(Bn),_n=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).name="RSA-OAEP",e.usages={privateKey:["decrypt","unwrapKey"],publicKey:["encrypt","wrapKey"]},e}return D(t,e),q(t,[{key:"checkAlgorithmParams",value:function(e){if(e.label&&!(e.label instanceof ArrayBuffer||ArrayBuffer.isView(e.label)))throw new TypeError("label: Is not of type '(ArrayBuffer or ArrayBufferView)'")}}])}(Bn),Nn=function(e){function t(){return V(this,t),U(this,t,arguments)}return D(t,e),q(t,[{key:"checkGenerateKeyParams",value:function(e){this.checkRequiredProperty(e,"namedCurve"),this.checkNamedCurve(e.namedCurve)}},{key:"checkNamedCurve",value:function(e){var t,r=T(this.namedCurves);try{for(r.s();!(t=r.n()).done;)if(t.value.toLowerCase()===e.toLowerCase())return}catch(e){r.e(e)}finally{r.f()}throw new vn("namedCurve: Must be one of ".concat(this.namedCurves.join(", ")))}}])}(gn),Un=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).name="ECDSA",e.hashAlgorithms=["SHA-1","SHA-256","SHA-384","SHA-512"],e.usages={privateKey:["sign"],publicKey:["verify"]},e.namedCurves=["P-256","P-384","P-521","K-256"],e}return D(t,e),q(t,[{key:"checkAlgorithmParams",value:function(e){this.checkRequiredProperty(e,"hash"),this.checkHashAlgorithm(e.hash,this.hashAlgorithms)}}])}(Nn),In=["secret","private","public"],Kn=function(){return q((function e(){V(this,e)}),[{key:Symbol.toStringTag,get:function(){return"CryptoKey"}}],[{key:"create",value:function(e,t,r,n){var i=new this;return i.algorithm=e,i.type=t,i.extractable=r,i.usages=n,i}},{key:"isKeyType",value:function(e){return-1!==In.indexOf(e)}}])}(),Pn=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).name="ECDH",e.usages={privateKey:["deriveBits","deriveKey"],publicKey:[]},e.namedCurves=["P-256","P-384","P-521","K-256"],e}return D(t,e),q(t,[{key:"checkAlgorithmParams",value:function(e){if(this.checkRequiredProperty(e,"public"),!(e.public instanceof Kn))throw new TypeError("public: Is not a CryptoKey");if("public"!==e.public.type)throw new vn("public: Is not a public key");if(e.public.algorithm.name!==this.name)throw new vn("public: Is not ".concat(this.name," key"))}}])}(Nn),On=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).name="ECDH-ES",e.namedCurves=["X25519","X448"],e}return D(t,e),q(t)}(Pn),Ln=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).name="EdDSA",e.usages={privateKey:["sign"],publicKey:["verify"]},e.namedCurves=["Ed25519","Ed448"],e}return D(t,e),q(t)}(Nn),Dn=q((function e(t){V(this,e),t&&(this.value=t)}));jr([Hr({type:fr.ObjectIdentifier})],Dn.prototype,"value",void 0),Dn=jr([Rr({type:ar.Choice})],Dn);var Rn=q((function e(t){V(this,e),Object.assign(this,t)}));jr([Hr({type:fr.ObjectIdentifier})],Rn.prototype,"algorithm",void 0),jr([Hr({type:fr.Any,optional:!0})],Rn.prototype,"parameters",void 0);var Hn=q((function e(){V(this,e),this.version=0,this.privateKeyAlgorithm=new Rn,this.privateKey=new ArrayBuffer(0)}));jr([Hr({type:fr.Integer})],Hn.prototype,"version",void 0),jr([Hr({type:Rn})],Hn.prototype,"privateKeyAlgorithm",void 0),jr([Hr({type:fr.OctetString})],Hn.prototype,"privateKey",void 0),jr([Hr({type:fr.Any,optional:!0})],Hn.prototype,"attributes",void 0);var Tn=q((function e(){V(this,e),this.publicKeyAlgorithm=new Rn,this.publicKey=new ArrayBuffer(0)}));jr([Hr({type:Rn})],Tn.prototype,"publicKeyAlgorithm",void 0),jr([Hr({type:fr.BitString})],Tn.prototype,"publicKey",void 0);var Fn={fromJSON:function(e){return j.FromBase64Url(e)},toJSON:function(e){return j.ToBase64Url(new Uint8Array(e))}},zn={fromASN:function(e){var t=e.valueBlock.valueHex;return new Uint8Array(t)[0]?e.valueBlock.valueHex:e.valueBlock.valueHex.slice(1)},toASN:function(e){var t=new Uint8Array(e)[0]>127?J(new Uint8Array([0]).buffer,e):e;return new Xe({valueHex:t})}},Vn=q((function e(){V(this,e),this.version=0,this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),this.privateExponent=new ArrayBuffer(0),this.prime1=new ArrayBuffer(0),this.prime2=new ArrayBuffer(0),this.exponent1=new ArrayBuffer(0),this.exponent2=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0)}));jr([Hr({type:fr.Integer,converter:cr})],Vn.prototype,"version",void 0),jr([Hr({type:fr.Integer,converter:zn}),hn({name:"n",converter:Fn})],Vn.prototype,"modulus",void 0),jr([Hr({type:fr.Integer,converter:zn}),hn({name:"e",converter:Fn})],Vn.prototype,"publicExponent",void 0),jr([Hr({type:fr.Integer,converter:zn}),hn({name:"d",converter:Fn})],Vn.prototype,"privateExponent",void 0),jr([Hr({type:fr.Integer,converter:zn}),hn({name:"p",converter:Fn})],Vn.prototype,"prime1",void 0),jr([Hr({type:fr.Integer,converter:zn}),hn({name:"q",converter:Fn})],Vn.prototype,"prime2",void 0),jr([Hr({type:fr.Integer,converter:zn}),hn({name:"dp",converter:Fn})],Vn.prototype,"exponent1",void 0),jr([Hr({type:fr.Integer,converter:zn}),hn({name:"dq",converter:Fn})],Vn.prototype,"exponent2",void 0),jr([Hr({type:fr.Integer,converter:zn}),hn({name:"qi",converter:Fn})],Vn.prototype,"coefficient",void 0),jr([Hr({type:fr.Any,optional:!0})],Vn.prototype,"otherPrimeInfos",void 0);var jn=q((function e(){V(this,e),this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0)}));jr([Hr({type:fr.Integer,converter:zn}),hn({name:"n",converter:Fn})],jn.prototype,"modulus",void 0),jr([Hr({type:fr.Integer,converter:zn}),hn({name:"e",converter:Fn})],jn.prototype,"publicExponent",void 0);var qn=function(){return q((function e(t){V(this,e),this.value=new ArrayBuffer(0),t&&(this.value=t)}),[{key:"toJSON",value:function(){var e=new Uint8Array(this.value);if(4!==e[0])throw new dn("Wrong ECPoint. Current version supports only Uncompressed (0x04) point");var t=(e=new Uint8Array(this.value.slice(1))).length/2;return{x:j.ToBase64Url(e.buffer.slice(0,0+t)),y:j.ToBase64Url(e.buffer.slice(0+t,0+t+t))}}},{key:"fromJSON",value:function(e){if(!("x"in e))throw new Error("x: Missing required property");if(!("y"in e))throw new Error("y: Missing required property");var t=j.FromBase64Url(e.x),r=j.FromBase64Url(e.y),n=J(new Uint8Array([4]).buffer,t,r);return this.value=new Uint8Array(n).buffer,this}}])}();jr([Hr({type:fr.OctetString})],qn.prototype,"value",void 0),qn=jr([Rr({type:ar.Choice})],qn);var Jn=function(){return q((function e(){V(this,e),this.version=1,this.privateKey=new ArrayBuffer(0)}),[{key:"fromJSON",value:function(e){if(!("d"in e))throw new Error("d: Missing required property");if(this.privateKey=j.FromBase64Url(e.d),"x"in e){var t=new qn;t.fromJSON(e);var r=zr.toASN(t);"valueHex"in r.valueBlock&&(this.publicKey=r.valueBlock.valueHex)}return this}},{key:"toJSON",value:function(){var e={};return e.d=j.ToBase64Url(this.privateKey),this.publicKey&&Object.assign(e,new qn(this.publicKey).toJSON()),e}}])}();jr([Hr({type:fr.Integer,converter:cr})],Jn.prototype,"version",void 0),jr([Hr({type:fr.OctetString})],Jn.prototype,"privateKey",void 0),jr([Hr({context:0,type:fr.Any,optional:!0})],Jn.prototype,"parameters",void 0),jr([Hr({context:1,type:fr.BitString,optional:!0})],Jn.prototype,"publicKey",void 0);var Gn={fromASN:function(e){var t=new Uint8Array(e.valueBlock.valueHex);return 0===t[0]?t.buffer.slice(1):t.buffer},toASN:function(e){var t=new Uint8Array(e);if(t[0]>127){var r=new Uint8Array(t.length+1);return r.set(t,1),new Xe({valueHex:r.buffer})}return new Xe({valueHex:e})}},Zn=Object.freeze({__proto__:null,AsnIntegerWithoutPaddingConverter:Gn}),Wn=function(){return q((function e(){V(this,e)}),null,[{key:"decodePoint",value:function(e,t){var r=C.toUint8Array(e);if(0===r.length||4!==r[0])throw new Error("Only uncompressed point format supported");var n=(r.length-1)/2;if(n!==Math.ceil(t/8))throw new Error("Point does not match field size");return{x:r.slice(1,n+1),y:r.slice(n+1,n+1+n)}}},{key:"encodePoint",value:function(e,t){var r=Math.ceil(t/8);if(e.x.byteLength!==r||e.y.byteLength!==r)throw new Error("X,Y coordinates don't match point size criteria");var n=C.toUint8Array(e.x),i=C.toUint8Array(e.y),a=new Uint8Array(2*r+1);return a[0]=4,a.set(n,1),a.set(i,r+1),a}},{key:"getSize",value:function(e){return Math.ceil(e/8)}},{key:"encodeSignature",value:function(e,t){var r=this.getSize(t),n=C.toUint8Array(e.r),i=C.toUint8Array(e.s),a=new Uint8Array(2*r);return a.set(this.padStart(n,r)),a.set(this.padStart(i,r),r),a}},{key:"decodeSignature",value:function(e,t){var r=this.getSize(t),n=C.toUint8Array(e);if(n.length!==2*r)throw new Error("Incorrect size of the signature");var i=n.slice(0,r),a=n.slice(r);return{r:this.trimStart(i),s:this.trimStart(a)}}},{key:"trimStart",value:function(e){for(var t=0;t<e.length-1&&0===e[t];)t++;return 0===t?e:e.slice(t,e.length)}},{key:"padStart",value:function(e,t){if(t===e.length)return e;var r=new Uint8Array(t);return r.set(e,t-e.length),r}}])}(),Xn=function(){function e(){V(this,e),this.r=new ArrayBuffer(0),this.s=new ArrayBuffer(0)}return q(e,[{key:"toWebCryptoSignature",value:function(e){return null!=e||(e=8*Math.max(this.r.byteLength,this.s.byteLength)),Wn.encodeSignature(this,e).buffer}}],[{key:"fromWebCryptoSignature",value:function(t){var r=t.byteLength/2,n=Wn.decodeSignature(t,8*r),i=new e;return i.r=C.toArrayBuffer(n.r),i.s=C.toArrayBuffer(n.s),i}}])}();jr([Hr({type:fr.Integer,converter:Gn})],Xn.prototype,"r",void 0),jr([Hr({type:fr.Integer,converter:Gn})],Xn.prototype,"s",void 0);var Yn=function(e){function t(){return V(this,t),U(this,t,arguments)}return D(t,e),q(t)}(Hn);jr([Hr({context:1,implicit:!0,type:fr.BitString,optional:!0})],Yn.prototype,"publicKey",void 0);var $n=function(){return q((function e(){V(this,e),this.value=new ArrayBuffer(0)}),[{key:"fromJSON",value:function(e){if(!e.d)throw new Error("d: Missing required property");return this.value=j.FromBase64Url(e.d),this}},{key:"toJSON",value:function(){return{d:j.ToBase64Url(this.value)}}}])}();jr([Hr({type:fr.OctetString})],$n.prototype,"value",void 0),$n=jr([Rr({type:ar.Choice})],$n);var Qn=function(){return q((function e(t){V(this,e),this.value=new ArrayBuffer(0),t&&(this.value=t)}),[{key:"toJSON",value:function(){return{x:j.ToBase64Url(this.value)}}},{key:"fromJSON",value:function(e){if(!("x"in e))throw new Error("x: Missing required property");return this.value=j.FromBase64Url(e.x),this}}])}();jr([Hr({type:fr.BitString})],Qn.prototype,"value",void 0),Qn=jr([Rr({type:ar.Choice})],Qn);var ei=q((function e(){V(this,e)}));jr([Hr({type:fr.OctetString}),hn({type:Jr.String,converter:Fn})],ei.prototype,"d",void 0),ei=jr([Rr({type:ar.Choice})],ei);var ti="1.2.840.10045.3.1.7",ri="1.3.132.0",ni="".concat(ri,".34"),ii="".concat(ri,".35"),ai="".concat(ri,".10"),fi="1.3.36.3.3.2.8.1.1",oi="".concat(fi,".1"),si="".concat(fi,".2"),ui="".concat(fi,".3"),ci="".concat(fi,".4"),hi="".concat(fi,".5"),di="".concat(fi,".6"),li="".concat(fi,".7"),pi="".concat(fi,".8"),vi="".concat(fi,".9"),yi="".concat(fi,".10"),bi="".concat(fi,".11"),gi="".concat(fi,".12"),mi="".concat(fi,".13"),wi="".concat(fi,".14"),xi=Object.freeze({__proto__:null,AlgorithmIdentifier:Rn,get CurvePrivateKey(){return ei},EcDsaSignature:Xn,EcPrivateKey:Jn,get EcPublicKey(){return qn},get EdPrivateKey(){return $n},get EdPublicKey(){return Qn},get ObjectIdentifier(){return Dn},OneAsymmetricKey:Yn,PrivateKeyInfo:Hn,PublicKeyInfo:Tn,RsaPrivateKey:Vn,RsaPublicKey:jn,converters:Zn,idBrainpoolP160r1:oi,idBrainpoolP160t1:si,idBrainpoolP192r1:ui,idBrainpoolP192t1:ci,idBrainpoolP224r1:hi,idBrainpoolP224t1:di,idBrainpoolP256r1:li,idBrainpoolP256t1:pi,idBrainpoolP320r1:vi,idBrainpoolP320t1:yi,idBrainpoolP384r1:bi,idBrainpoolP384t1:gi,idBrainpoolP512r1:mi,idBrainpoolP512t1:wi,idEd25519:"1.3.101.112",idEd448:"1.3.101.113",idEllipticCurve:ri,idSecp256k1:ai,idSecp256r1:ti,idSecp384r1:ni,idSecp521r1:ii,idVersionOne:fi,idX25519:"1.3.101.110",idX448:"1.3.101.111"}),ki=function(){return q((function e(){V(this,e)}),null,[{key:"register",value:function(e){var t=new Dn;t.value=e.id;var r=Vr.serialize(t);this.items.push(_(_({},e),{},{raw:r})),this.names.push(e.name)}},{key:"find",value:function(e){e=e.toUpperCase();var t,r=T(this.items);try{for(r.s();!(t=r.n()).done;){var n=t.value;if(n.name.toUpperCase()===e||n.id.toUpperCase()===e)return n}}catch(e){r.e(e)}finally{r.f()}return null}},{key:"get",value:function(e){var t=this.find(e);if(!t)throw new Error("Unsupported EC named curve '".concat(e,"'"));return t}}])}();ki.items=[],ki.names=[],ki.register({name:"P-256",id:ti,size:256}),ki.register({name:"P-384",id:ni,size:384}),ki.register({name:"P-521",id:ii,size:521}),ki.register({name:"K-256",id:ai,size:256}),ki.register({name:"brainpoolP160r1",id:oi,size:160}),ki.register({name:"brainpoolP160t1",id:si,size:160}),ki.register({name:"brainpoolP192r1",id:ui,size:192}),ki.register({name:"brainpoolP192t1",id:ci,size:192}),ki.register({name:"brainpoolP224r1",id:hi,size:224}),ki.register({name:"brainpoolP224t1",id:di,size:224}),ki.register({name:"brainpoolP256r1",id:li,size:256}),ki.register({name:"brainpoolP256t1",id:pi,size:256}),ki.register({name:"brainpoolP320r1",id:vi,size:320}),ki.register({name:"brainpoolP320t1",id:yi,size:320}),ki.register({name:"brainpoolP384r1",id:bi,size:384}),ki.register({name:"brainpoolP384t1",id:gi,size:384}),ki.register({name:"brainpoolP512r1",id:mi,size:512}),ki.register({name:"brainpoolP512t1",id:wi,size:512});var Ai,Si=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).name="HMAC",e.hashAlgorithms=["SHA-1","SHA-256","SHA-384","SHA-512"],e.usages=["sign","verify"],e}return D(t,e),q(t,[{key:"getDefaultLength",value:function(e){switch(e.toUpperCase()){case"SHA-1":case"SHA-256":case"SHA-384":case"SHA-512":return 512;default:throw new Error("Unknown algorithm name '".concat(e,"'"))}}},{key:"checkGenerateKeyParams",value:function(e){if(this.checkRequiredProperty(e,"hash"),this.checkHashAlgorithm(e.hash,this.hashAlgorithms),"length"in e){if("number"!=typeof e.length)throw new TypeError("length: Is not a Number");if(e.length<1)throw new RangeError("length: Number is out of range")}}},{key:"checkImportParams",value:function(e){this.checkRequiredProperty(e,"hash"),this.checkHashAlgorithm(e.hash,this.hashAlgorithms)}}])}(gn),Ei=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).name="PBKDF2",e.hashAlgorithms=["SHA-1","SHA-256","SHA-384","SHA-512"],e.usages=["deriveBits","deriveKey"],e}return D(t,e),q(t,[{key:"checkAlgorithmParams",value:function(e){if(this.checkRequiredProperty(e,"hash"),this.checkHashAlgorithm(e.hash,this.hashAlgorithms),this.checkRequiredProperty(e,"salt"),!(e.salt instanceof ArrayBuffer||ArrayBuffer.isView(e.salt)))throw new TypeError("salt: Is not of type '(ArrayBuffer or ArrayBufferView)'");if(this.checkRequiredProperty(e,"iterations"),"number"!=typeof e.iterations)throw new TypeError("iterations: Is not a Number");if(e.iterations<1)throw new TypeError("iterations: Is less than 1")}},{key:"checkImportKey",value:function(e,r,n,i,a){for(var f=arguments.length,o=new Array(f>5?f-5:0),s=5;s<f;s++)o[s-5]=arguments[s];if(P(t,"checkImportKey",this,3)([e,r,n,i,a].concat(o)),i)throw new SyntaxError("extractable: Must be 'false'")}}])}(gn),Bi=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).usages=[],e.defaultLength=0,e}return D(t,e),q(t,[{key:"digest",value:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return r[0]=_({length:this.defaultLength},r[0]),P(t,"digest",this,1).apply(this,r)}},{key:"checkDigest",value:function(e,r){P(t,"checkDigest",this,3)([e,r]);var n=e.length||0;if("number"!=typeof n)throw new TypeError("length: Is not a Number");if(n<0)throw new TypeError("length: Is negative")}}])}(gn),Mi=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).name="shake128",e.defaultLength=16,e}return D(t,e),q(t)}(Bi),Ci=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).name="shake256",e.defaultLength=32,e}return D(t,e),q(t)}(Bi),_i=function(){return q((function e(){V(this,e)}),[{key:Symbol.toStringTag,get:function(){return"Crypto"}},{key:"randomUUID",value:function(){var e=this.getRandomValues(new Uint8Array(16));e[6]=15&e[6]|64,e[8]=63&e[8]|128;var t=j.ToHex(e).toLowerCase();return"".concat(t.substring(0,8),"-").concat(t.substring(8,12),"-").concat(t.substring(12,16),"-").concat(t.substring(16,20),"-").concat(t.substring(20))}}])}(),Ni=function(){return q((function e(){V(this,e),this.items={}}),[{key:"get",value:function(e){return this.items[e.toLowerCase()]||null}},{key:"set",value:function(e){this.items[e.name.toLowerCase()]=e}},{key:"removeAt",value:function(e){var t=this.get(e.toLowerCase());return t&&delete this.items[e],t}},{key:"has",value:function(e){return!!this.get(e)}},{key:"length",get:function(){return Object.keys(this.items).length}},{key:"algorithms",get:function(){var e=[];for(var t in this.items){var r=this.items[t];e.push(r.name)}return e.sort()}}])}(),Ui=function(){function e(){V(this,e),this.providers=new Ni}return q(e,[{key:Symbol.toStringTag,get:function(){return"SubtleCrypto"}},{key:"digest",value:(d=A(x().mark((function e(){var t,r,n,i,a,f,o,s,u,c,h=arguments;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(t=h.length,r=new Array(t),n=0;n<t;n++)r[n]=h[n];return this.checkRequiredArguments(r,2,"digest"),i=r[0],a=r[1],f=r.slice(2),o=this.prepareAlgorithm(i),s=C.toArrayBuffer(a),u=this.getProvider(o.name),e.next=8,u.digest.apply(u,[o,s].concat(w(f)));case 8:return c=e.sent,e.abrupt("return",c);case 10:case"end":return e.stop()}}),e,this)}))),function(){return d.apply(this,arguments)})},{key:"generateKey",value:(h=A(x().mark((function e(){var t,r,n,i,a,f,o,s,u,c,h=arguments;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(t=h.length,r=new Array(t),n=0;n<t;n++)r[n]=h[n];return this.checkRequiredArguments(r,3,"generateKey"),i=r[0],a=r[1],f=r[2],o=r.slice(3),s=this.prepareAlgorithm(i),u=this.getProvider(s.name),e.next=7,u.generateKey.apply(u,[_(_({},s),{},{name:u.name}),a,f].concat(w(o)));case 7:return c=e.sent,e.abrupt("return",c);case 9:case"end":return e.stop()}}),e,this)}))),function(){return h.apply(this,arguments)})},{key:"sign",value:(c=A(x().mark((function e(){var t,r,n,i,a,f,o,s,u,c,h,d=arguments;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(t=d.length,r=new Array(t),n=0;n<t;n++)r[n]=d[n];return this.checkRequiredArguments(r,3,"sign"),i=r[0],a=r[1],f=r[2],o=r.slice(3),this.checkCryptoKey(a),s=this.prepareAlgorithm(i),u=C.toArrayBuffer(f),c=this.getProvider(s.name),e.next=9,c.sign.apply(c,[_(_({},s),{},{name:c.name}),a,u].concat(w(o)));case 9:return h=e.sent,e.abrupt("return",h);case 11:case"end":return e.stop()}}),e,this)}))),function(){return c.apply(this,arguments)})},{key:"verify",value:(u=A(x().mark((function e(){var t,r,n,i,a,f,o,s,u,c,h,d,l,p=arguments;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(t=p.length,r=new Array(t),n=0;n<t;n++)r[n]=p[n];return this.checkRequiredArguments(r,4,"verify"),i=r[0],a=r[1],f=r[2],o=r[3],s=r.slice(4),this.checkCryptoKey(a),u=this.prepareAlgorithm(i),c=C.toArrayBuffer(o),h=C.toArrayBuffer(f),d=this.getProvider(u.name),e.next=10,d.verify.apply(d,[_(_({},u),{},{name:d.name}),a,h,c].concat(w(s)));case 10:return l=e.sent,e.abrupt("return",l);case 12:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"encrypt",value:(s=A(x().mark((function e(){var t,r,n,i,a,f,o,s,u,c,h,d=arguments;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(t=d.length,r=new Array(t),n=0;n<t;n++)r[n]=d[n];return this.checkRequiredArguments(r,3,"encrypt"),i=r[0],a=r[1],f=r[2],o=r.slice(3),this.checkCryptoKey(a),s=this.prepareAlgorithm(i),u=C.toArrayBuffer(f),c=this.getProvider(s.name),e.next=9,c.encrypt.apply(c,[_(_({},s),{},{name:c.name}),a,u,{keyUsage:!0}].concat(w(o)));case 9:return h=e.sent,e.abrupt("return",h);case 11:case"end":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:"decrypt",value:(o=A(x().mark((function e(){var t,r,n,i,a,f,o,s,u,c,h,d=arguments;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(t=d.length,r=new Array(t),n=0;n<t;n++)r[n]=d[n];return this.checkRequiredArguments(r,3,"decrypt"),i=r[0],a=r[1],f=r[2],o=r.slice(3),this.checkCryptoKey(a),s=this.prepareAlgorithm(i),u=C.toArrayBuffer(f),c=this.getProvider(s.name),e.next=9,c.decrypt.apply(c,[_(_({},s),{},{name:c.name}),a,u,{keyUsage:!0}].concat(w(o)));case 9:return h=e.sent,e.abrupt("return",h);case 11:case"end":return e.stop()}}),e,this)}))),function(){return o.apply(this,arguments)})},{key:"deriveBits",value:(f=A(x().mark((function e(){var t,r,n,i,a,f,o,s,u,c,h=arguments;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(t=h.length,r=new Array(t),n=0;n<t;n++)r[n]=h[n];return this.checkRequiredArguments(r,3,"deriveBits"),i=r[0],a=r[1],f=r[2],o=r.slice(3),this.checkCryptoKey(a),s=this.prepareAlgorithm(i),u=this.getProvider(s.name),e.next=8,u.deriveBits.apply(u,[_(_({},s),{},{name:u.name}),a,f,{keyUsage:!0}].concat(w(o)));case 8:return c=e.sent,e.abrupt("return",c);case 10:case"end":return e.stop()}}),e,this)}))),function(){return f.apply(this,arguments)})},{key:"deriveKey",value:(a=A(x().mark((function e(){var t,r,n,i,a,f,o,s,u,c,h,d,l,p=arguments;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(t=p.length,r=new Array(t),n=0;n<t;n++)r[n]=p[n];return this.checkRequiredArguments(r,5,"deriveKey"),i=r[0],a=r[1],f=r[2],o=r[3],s=r[4],u=r.slice(5),c=this.prepareAlgorithm(f),this.getProvider(c.name).checkDerivedKeyParams(c),h=this.prepareAlgorithm(i),(d=this.getProvider(h.name)).checkCryptoKey(a,"deriveKey"),e.next=11,d.deriveBits.apply(d,[_(_({},h),{},{name:d.name}),a,f.length||512,{keyUsage:!1}].concat(w(u)));case 11:return l=e.sent,e.abrupt("return",this.importKey.apply(this,["raw",l,f,o,s].concat(w(u))));case 13:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"exportKey",value:(i=A(x().mark((function e(){var t,r,n,i,a,f,o,s,u=arguments;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(t=u.length,r=new Array(t),n=0;n<t;n++)r[n]=u[n];return this.checkRequiredArguments(r,2,"exportKey"),i=r[0],a=r[1],f=r.slice(2),this.checkCryptoKey(a),o=this.getProvider(a.algorithm.name),e.next=7,o.exportKey.apply(o,[i,a].concat(w(f)));case 7:return s=e.sent,e.abrupt("return",s);case 9:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"importKey",value:(n=A(x().mark((function e(){var t,r,n,i,a,f,o,s,u,c,h,d,l=arguments;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(t=l.length,r=new Array(t),n=0;n<t;n++)r[n]=l[n];if(this.checkRequiredArguments(r,5,"importKey"),i=r[0],a=r[1],f=r[2],o=r[3],s=r[4],u=r.slice(5),c=this.prepareAlgorithm(f),h=this.getProvider(c.name),-1===["pkcs8","spki","raw"].indexOf(i)){e.next=10;break}return d=C.toArrayBuffer(a),e.abrupt("return",h.importKey.apply(h,[i,d,_(_({},c),{},{name:h.name}),o,s].concat(w(u))));case 10:if(a.kty){e.next=12;break}throw new TypeError("keyData: Is not JSON");case 12:return e.abrupt("return",h.importKey.apply(h,[i,a,_(_({},c),{},{name:h.name}),o,s].concat(w(u))));case 13:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"wrapKey",value:(r=A(x().mark((function e(t,r,n,i){var a,f,o,s,u,c,h,d,l=arguments;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(a=l.length,f=new Array(a>4?a-4:0),o=4;o<a;o++)f[o-4]=l[o];return e.next=3,this.exportKey.apply(this,[t,r].concat(f));case 3:return s=e.sent,"jwk"===t&&(u=JSON.stringify(s),s=j.FromUtf8String(u)),c=this.prepareAlgorithm(i),h=C.toArrayBuffer(s),d=this.getProvider(c.name),e.abrupt("return",d.encrypt.apply(d,[_(_({},c),{},{name:d.name}),n,h,{keyUsage:!1}].concat(f)));case 9:case"end":return e.stop()}}),e,this)}))),function(e,t,n,i){return r.apply(this,arguments)})},{key:"unwrapKey",value:(t=A(x().mark((function e(t,r,n,i,a,f,o){var s,u,c,h,d,l,p,v,y=arguments;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(s=this.prepareAlgorithm(i),u=C.toArrayBuffer(r),c=this.getProvider(s.name),h=y.length,d=new Array(h>7?h-7:0),l=7;l<h;l++)d[l-7]=y[l];return e.next=6,c.decrypt.apply(c,[_(_({},s),{},{name:c.name}),n,u,{keyUsage:!1}].concat(d));case 6:if(p=e.sent,"jwk"!==t){e.next=17;break}e.prev=8,p=JSON.parse(j.ToUtf8String(p)),e.next=17;break;case 12:throw e.prev=12,e.t0=e.catch(8),(v=new TypeError("wrappedKey: Is not a JSON")).internal=e.t0,v;case 17:return e.abrupt("return",this.importKey.apply(this,[t,p,a,f,o].concat(d)));case 18:case"end":return e.stop()}}),e,this,[[8,12]])}))),function(e,r,n,i,a,f,o){return t.apply(this,arguments)})},{key:"checkRequiredArguments",value:function(e,t,r){if(e.length<t)throw new TypeError("Failed to execute '".concat(r,"' on 'SubtleCrypto': ").concat(t," arguments required, but only ").concat(e.length," present"))}},{key:"prepareAlgorithm",value:function(t){if("string"==typeof t)return{name:t};if(e.isHashedAlgorithm(t)){var r=_({},t);return r.hash=this.prepareAlgorithm(t.hash),r}return _({},t)}},{key:"getProvider",value:function(e){var t=this.providers.get(e);if(!t)throw new ln("Unrecognized name");return t}},{key:"checkCryptoKey",value:function(e){if(!(e instanceof Kn))throw new TypeError("Key is not of type 'CryptoKey'")}}],[{key:"isHashedAlgorithm",value:function(e){return!!(e&&"object"===H(e)&&"name"in e&&"hash"in e)}}]);var t,r,n,i,a,f,o,s,u,c,h,d}(),Ii=function(){return q((function e(){V(this,e)}),null,[{key:"enabled",get:function(){return"undefined"!=typeof self&&self.PV_WEBCRYPTO_LINER_LOG}},{key:"log",value:function(){var e;this.enabled&&(e=console).log.apply(e,arguments)}},{key:"error",value:function(){var e;this.enabled&&(e=console).error.apply(e,arguments)}},{key:"info",value:function(){var e;this.enabled&&(e=console).info.apply(e,arguments)}},{key:"warn",value:function(){var e;this.enabled&&(e=console).warn.apply(e,arguments)}},{key:"trace",value:function(){var e;this.enabled&&(e=console).trace.apply(e,arguments)}}])}();function Ki(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=new Uint8Array(t.map((function(e){return e.length})).reduce((function(e,t){return e+t}))),i=0;return t.forEach((function(e){for(var t=0;t<e.length;t++)n[i+t]=e[t];i+=e.length})),n}!function(e){e.Unknown="Unknown",e.IE="Internet Explorer",e.Safari="Safari",e.Edge="Edge",e.Chrome="Chrome",e.Firefox="Firefox Mozilla",e.Mobile="Mobile"}(Ai||(Ai={}));var Pi=function(e){function t(e,r,n,i){var a;return V(this,t),(a=U(this,t)).extractable=r,a.type=n,a.usages=i,a.algorithm=Object.assign({},e),a}return D(t,e),q(t)}(Kn);function Oi(e){return e instanceof Uint8Array}function Li(e,t){var r=e?e.byteLength:t||65536;if(4095&r||r<=0)throw new Error("heap size must be a positive integer and a multiple of 4096");return e||new Uint8Array(new ArrayBuffer(r))}function Di(e,t,r,n,i){var a=e.length-t,f=a<i?a:i;return e.set(r.subarray(n,n+f),t),f}function Ri(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];for(var n=t.reduce((function(e,t){return e+t.length}),0),i=new Uint8Array(n),a=0,f=0;f<t.length;f++)i.set(t[f],a),a+=t[f].length;return i}var Hi=function(e){function t(){V(this,t);for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return U(this,t,[].concat(r))}return D(t,e),q(t)}(S(Error)),Ti=function(e){function t(){V(this,t);for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return U(this,t,[].concat(r))}return D(t,e),q(t)}(S(Error)),Fi=function(e){function t(){V(this,t);for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return U(this,t,[].concat(r))}return D(t,e),q(t)}(S(Error)),zi=function(){var e,t,r=!1;function n(r,n){var i=e[(t[r]+t[n])%255];return 0!==r&&0!==n||(i=0),i}var i,a,f,o,s=!1;var u=function(u,c){s||function(){function u(r){var n,i,a;for(i=a=function(r){var n=e[255-t[r]];return 0===r&&(n=0),n}(r),n=0;n<4;n++)a^=i=255&(i<<1|i>>>7);return 99^a}r||function(){e=[],t=[];var n,i,a=1;for(n=0;n<255;n++)e[n]=a,i=128&a,a<<=1,a&=255,128===i&&(a^=27),a^=e[n],t[e[n]]=n;e[255]=e[0],t[0]=0,r=!0}(),i=[],a=[],f=[[],[],[],[]],o=[[],[],[],[]];for(var c=0;c<256;c++){var h=u(c);i[c]=h,a[h]=c,f[0][c]=n(2,h)<<24|h<<16|h<<8|n(3,h),o[0][h]=n(14,c)<<24|n(9,c)<<16|n(13,c)<<8|n(11,c);for(var d=1;d<4;d++)f[d][c]=f[d-1][c]>>>8|f[d-1][c]<<24,o[d][h]=o[d-1][h]>>>8|o[d-1][h]<<24}s=!0}();var h=new Uint32Array(c);h.set(i,512),h.set(a,768);for(var d=0;d<4;d++)h.set(f[d],4096+1024*d>>2),h.set(o[d],8192+1024*d>>2);var l=function(e,t,r){"use asm";var n=0,i=0,a=0,f=0,o=0,s=0,u=0,c=0,h=0,d=0,l=0,p=0,v=0,y=0,b=0,g=0,m=0,w=0,x=0,k=0,A=0;var S=new e.Uint32Array(r),E=new e.Uint8Array(r);function B(e,t,r,o,s,u,c,h){e=e|0;t=t|0;r=r|0;o=o|0;s=s|0;u=u|0;c=c|0;h=h|0;var d=0,l=0,p=0,v=0,y=0,b=0,g=0,m=0;d=r|0x400,l=r|0x800,p=r|0xc00;s=s^S[(e|0)>>2],u=u^S[(e|4)>>2],c=c^S[(e|8)>>2],h=h^S[(e|12)>>2];for(m=16;(m|0)<=o<<4;m=m+16|0){v=S[(r|s>>22&1020)>>2]^S[(d|u>>14&1020)>>2]^S[(l|c>>6&1020)>>2]^S[(p|h<<2&1020)>>2]^S[(e|m|0)>>2],y=S[(r|u>>22&1020)>>2]^S[(d|c>>14&1020)>>2]^S[(l|h>>6&1020)>>2]^S[(p|s<<2&1020)>>2]^S[(e|m|4)>>2],b=S[(r|c>>22&1020)>>2]^S[(d|h>>14&1020)>>2]^S[(l|s>>6&1020)>>2]^S[(p|u<<2&1020)>>2]^S[(e|m|8)>>2],g=S[(r|h>>22&1020)>>2]^S[(d|s>>14&1020)>>2]^S[(l|u>>6&1020)>>2]^S[(p|c<<2&1020)>>2]^S[(e|m|12)>>2];s=v,u=y,c=b,h=g}n=S[(t|s>>22&1020)>>2]<<24^S[(t|u>>14&1020)>>2]<<16^S[(t|c>>6&1020)>>2]<<8^S[(t|h<<2&1020)>>2]^S[(e|m|0)>>2],i=S[(t|u>>22&1020)>>2]<<24^S[(t|c>>14&1020)>>2]<<16^S[(t|h>>6&1020)>>2]<<8^S[(t|s<<2&1020)>>2]^S[(e|m|4)>>2],a=S[(t|c>>22&1020)>>2]<<24^S[(t|h>>14&1020)>>2]<<16^S[(t|s>>6&1020)>>2]<<8^S[(t|u<<2&1020)>>2]^S[(e|m|8)>>2],f=S[(t|h>>22&1020)>>2]<<24^S[(t|s>>14&1020)>>2]<<16^S[(t|u>>6&1020)>>2]<<8^S[(t|c<<2&1020)>>2]^S[(e|m|12)>>2]}function M(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;B(0x0000,0x0800,0x1000,A,e,t,r,n)}function C(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;var a=0;B(0x0400,0x0c00,0x2000,A,e,n,r,t);a=i,i=f,f=a}function _(e,t,r,h){e=e|0;t=t|0;r=r|0;h=h|0;B(0x0000,0x0800,0x1000,A,o^e,s^t,u^r,c^h);o=n,s=i,u=a,c=f}function N(e,t,r,h){e=e|0;t=t|0;r=r|0;h=h|0;var d=0;B(0x0400,0x0c00,0x2000,A,e,h,r,t);d=i,i=f,f=d;n=n^o,i=i^s,a=a^u,f=f^c;o=e,s=t,u=r,c=h}function U(e,t,r,h){e=e|0;t=t|0;r=r|0;h=h|0;B(0x0000,0x0800,0x1000,A,o,s,u,c);o=n=n^e,s=i=i^t,u=a=a^r,c=f=f^h}function I(e,t,r,h){e=e|0;t=t|0;r=r|0;h=h|0;B(0x0000,0x0800,0x1000,A,o,s,u,c);n=n^e,i=i^t,a=a^r,f=f^h;o=e,s=t,u=r,c=h}function K(e,t,r,h){e=e|0;t=t|0;r=r|0;h=h|0;B(0x0000,0x0800,0x1000,A,o,s,u,c);o=n,s=i,u=a,c=f;n=n^e,i=i^t,a=a^r,f=f^h}function P(e,t,r,o){e=e|0;t=t|0;r=r|0;o=o|0;B(0x0000,0x0800,0x1000,A,h,d,l,p);p=~g&p|g&p+1;l=~b&l|b&l+((p|0)==0);d=~y&d|y&d+((l|0)==0);h=~v&h|v&h+((d|0)==0);n=n^e;i=i^t;a=a^r;f=f^o}function O(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;var i=0,a=0,f=0,h=0,d=0,l=0,p=0,v=0,y=0,b=0;e=e^o,t=t^s,r=r^u,n=n^c;i=m|0,a=w|0,f=x|0,h=k|0;for(;(y|0)<128;y=y+1|0){if(i>>>31){d=d^e,l=l^t,p=p^r,v=v^n}i=i<<1|a>>>31,a=a<<1|f>>>31,f=f<<1|h>>>31,h=h<<1;b=n&1;n=n>>>1|r<<31,r=r>>>1|t<<31,t=t>>>1|e<<31,e=e>>>1;if(b)e=e^0xe1000000}o=d,s=l,u=p,c=v}function L(e){e=e|0;A=e}function D(e,t,r,o){e=e|0;t=t|0;r=r|0;o=o|0;n=e,i=t,a=r,f=o}function R(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;o=e,s=t,u=r,c=n}function H(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;h=e,d=t,l=r,p=n}function T(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;v=e,y=t,b=r,g=n}function F(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;p=~g&p|g&n,l=~b&l|b&r,d=~y&d|y&t,h=~v&h|v&e}function z(e){e=e|0;if(e&15)return-1;E[e|0]=n>>>24,E[e|1]=n>>>16&255,E[e|2]=n>>>8&255,E[e|3]=n&255,E[e|4]=i>>>24,E[e|5]=i>>>16&255,E[e|6]=i>>>8&255,E[e|7]=i&255,E[e|8]=a>>>24,E[e|9]=a>>>16&255,E[e|10]=a>>>8&255,E[e|11]=a&255,E[e|12]=f>>>24,E[e|13]=f>>>16&255,E[e|14]=f>>>8&255,E[e|15]=f&255;return 16}function V(e){e=e|0;if(e&15)return-1;E[e|0]=o>>>24,E[e|1]=o>>>16&255,E[e|2]=o>>>8&255,E[e|3]=o&255,E[e|4]=s>>>24,E[e|5]=s>>>16&255,E[e|6]=s>>>8&255,E[e|7]=s&255,E[e|8]=u>>>24,E[e|9]=u>>>16&255,E[e|10]=u>>>8&255,E[e|11]=u&255,E[e|12]=c>>>24,E[e|13]=c>>>16&255,E[e|14]=c>>>8&255,E[e|15]=c&255;return 16}function j(){M(0,0,0,0);m=n,w=i,x=a,k=f}function q(e,t,r){e=e|0;t=t|0;r=r|0;var o=0;if(t&15)return-1;while((r|0)>=16){G[e&7](E[t|0]<<24|E[t|1]<<16|E[t|2]<<8|E[t|3],E[t|4]<<24|E[t|5]<<16|E[t|6]<<8|E[t|7],E[t|8]<<24|E[t|9]<<16|E[t|10]<<8|E[t|11],E[t|12]<<24|E[t|13]<<16|E[t|14]<<8|E[t|15]);E[t|0]=n>>>24,E[t|1]=n>>>16&255,E[t|2]=n>>>8&255,E[t|3]=n&255,E[t|4]=i>>>24,E[t|5]=i>>>16&255,E[t|6]=i>>>8&255,E[t|7]=i&255,E[t|8]=a>>>24,E[t|9]=a>>>16&255,E[t|10]=a>>>8&255,E[t|11]=a&255,E[t|12]=f>>>24,E[t|13]=f>>>16&255,E[t|14]=f>>>8&255,E[t|15]=f&255;o=o+16|0,t=t+16|0,r=r-16|0}return o|0}function J(e,t,r){e=e|0;t=t|0;r=r|0;var n=0;if(t&15)return-1;while((r|0)>=16){Z[e&1](E[t|0]<<24|E[t|1]<<16|E[t|2]<<8|E[t|3],E[t|4]<<24|E[t|5]<<16|E[t|6]<<8|E[t|7],E[t|8]<<24|E[t|9]<<16|E[t|10]<<8|E[t|11],E[t|12]<<24|E[t|13]<<16|E[t|14]<<8|E[t|15]);n=n+16|0,t=t+16|0,r=r-16|0}return n|0}var G=[M,C,_,N,U,I,K,P];var Z=[_,O];return{set_rounds:L,set_state:D,set_iv:R,set_nonce:H,set_mask:T,set_counter:F,get_state:z,get_iv:V,gcm_init:j,cipher:q,mac:J}}({Uint8Array,Uint32Array},0,c);return l.set_key=function(e,t,r,n,a,f,s,u,c){var d=h.subarray(0,60),p=h.subarray(256,316);d.set([t,r,n,a,f,s,u,c]);for(var v=e,y=1;v<4*e+28;v++){var b=d[v-1];(v%e==0||8===e&&v%e==4)&&(b=i[b>>>24]<<24^i[b>>>16&255]<<16^i[b>>>8&255]<<8^i[255&b]),v%e==0&&(b=b<<8^b>>>24^y<<24,y=y<<1^(128&y?27:0)),d[v]=d[v-e]^b}for(var g=0;g<v;g+=4)for(var m=0;m<4;m++)b=d[v-(4+g)+(4-m)%4],p[g+m]=g<4||g>=v-4?b:o[0][i[b>>>24]]^o[1][i[b>>>16&255]]^o[2][i[b>>>8&255]]^o[3][i[255&b]];l.set_rounds(e+5)},l};return u.ENC={ECB:0,CBC:2,CFB:4,OFB:6,CTR:7},u.DEC={ECB:1,CBC:3,CFB:5,OFB:6,CTR:7},u.MAC={CBC:0,GCM:1},u.HEAP_DATA=16384,u}(),Vi=function(){return q((function e(t,r){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=arguments.length>3?arguments[3]:void 0;V(this,e),this.pos=0,this.len=0,this.mode=i,this.heap=Li().subarray(zi.HEAP_DATA),this.asm=new zi(null,this.heap.buffer),this.pos=0,this.len=0;var a=t.length;if(16!==a&&24!==a&&32!==a)throw new Ti("illegal key size");var f=new DataView(t.buffer,t.byteOffset,t.byteLength);if(this.asm.set_key(a>>2,f.getUint32(0),f.getUint32(4),f.getUint32(8),f.getUint32(12),a>16?f.getUint32(16):0,a>16?f.getUint32(20):0,a>24?f.getUint32(24):0,a>24?f.getUint32(28):0),void 0!==r){if(16!==r.length)throw new Ti("illegal iv size");var o=new DataView(r.buffer,r.byteOffset,r.byteLength);this.asm.set_iv(o.getUint32(0),o.getUint32(4),o.getUint32(8),o.getUint32(12))}else this.asm.set_iv(0,0,0,0);this.padding=n}),[{key:"AES_Encrypt_process",value:function(e){if(!Oi(e))throw new TypeError("data isn't of expected type");for(var t=this.asm,r=this.heap,n=zi.ENC[this.mode],i=zi.HEAP_DATA,a=this.pos,f=this.len,o=0,s=e.length||0,u=0,c=0,h=new Uint8Array(f+s&-16);s>0;)f+=c=Di(r,a+f,e,o,s),o+=c,s-=c,(c=t.cipher(n,i+a,f))&&h.set(r.subarray(a,a+c),u),u+=c,c<f?(a+=c,f-=c):(a=0,f=0);return this.pos=a,this.len=f,h}},{key:"AES_Encrypt_finish",value:function(){var e=this.asm,t=this.heap,r=zi.ENC[this.mode],n=zi.HEAP_DATA,i=this.pos,a=this.len,f=16-a%16,o=a;if(this.hasOwnProperty("padding")){if(this.padding){for(var s=0;s<f;++s)t[i+a+s]=f;o=a+=f}else if(a%16)throw new Ti("data length must be a multiple of the block size")}else a+=f;var u=new Uint8Array(o);return a&&e.cipher(r,n+i,a),o&&u.set(t.subarray(i,i+o)),this.pos=0,this.len=0,u}},{key:"AES_Decrypt_process",value:function(e){if(!Oi(e))throw new TypeError("data isn't of expected type");var t=this.asm,r=this.heap,n=zi.DEC[this.mode],i=zi.HEAP_DATA,a=this.pos,f=this.len,o=0,s=e.length||0,u=0,c=f+s&-16,h=0,d=0;this.padding&&(c-=h=f+s-c||16);for(var l=new Uint8Array(c);s>0;)f+=d=Di(r,a+f,e,o,s),o+=d,s-=d,(d=t.cipher(n,i+a,f-(s?0:h)))&&l.set(r.subarray(a,a+d),u),u+=d,d<f?(a+=d,f-=d):(a=0,f=0);return this.pos=a,this.len=f,l}},{key:"AES_Decrypt_finish",value:function(){var e=this.asm,t=this.heap,r=zi.DEC[this.mode],n=zi.HEAP_DATA,i=this.pos,a=this.len,f=a;if(a>0){if(a%16){if(this.hasOwnProperty("padding"))throw new Ti("data length must be a multiple of the block size");a+=16-a%16}if(e.cipher(r,n+i,a),this.hasOwnProperty("padding")&&this.padding){var o=t[i+f-1];if(o<1||o>16||o>f)throw new Fi("bad padding");for(var s=0,u=o;u>1;u--)s|=o^t[i+f-u];if(s)throw new Fi("bad padding");f-=o}}var c=new Uint8Array(f);return f>0&&c.set(t.subarray(i,i+f)),this.pos=0,this.len=0,c}}])}(),ji=function(e){function t(e,r){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return V(this,t),U(this,t,[e,r,n,"CBC"])}return D(t,e),q(t,[{key:"encrypt",value:function(e){return Ri(this.AES_Encrypt_process(e),this.AES_Encrypt_finish())}},{key:"decrypt",value:function(e){return Ri(this.AES_Decrypt_process(e),this.AES_Decrypt_finish())}}],[{key:"encrypt",value:function(e,r){return new t(r,arguments.length>3?arguments[3]:void 0,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]).encrypt(e)}},{key:"decrypt",value:function(e,r){return new t(r,arguments.length>3?arguments[3]:void 0,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]).decrypt(e)}}])}(Vi),qi=function(e){function t(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return V(this,t),U(this,t,[e,void 0,r,"ECB"])}return D(t,e),q(t,[{key:"encrypt",value:function(e){return Ri(this.AES_Encrypt_process(e),this.AES_Encrypt_finish())}},{key:"decrypt",value:function(e){return Ri(this.AES_Decrypt_process(e),this.AES_Decrypt_finish())}}],[{key:"encrypt",value:function(e,r){return new t(r,arguments.length>2&&void 0!==arguments[2]&&arguments[2]).encrypt(e)}},{key:"decrypt",value:function(e,r){return new t(r,arguments.length>2&&void 0!==arguments[2]&&arguments[2]).decrypt(e)}}])}(Vi),Ji=function(e){function t(e,r){var n;return V(this,t),delete(n=U(this,t,[e,void 0,!1,"CTR"])).padding,n.AES_CTR_set_options(r),n}return D(t,e),q(t,[{key:"encrypt",value:function(e){return Ri(this.AES_Encrypt_process(e),this.AES_Encrypt_finish())}},{key:"decrypt",value:function(e){return Ri(this.AES_Encrypt_process(e),this.AES_Encrypt_finish())}},{key:"AES_CTR_set_options",value:function(e,t,r){if(void 0!==r){if(r<8||r>48)throw new Ti("illegal counter size");var n=Math.pow(2,r)-1;this.asm.set_mask(0,0,n/4294967296|0,0|n)}else r=48,this.asm.set_mask(0,0,65535,4294967295);if(void 0===e)throw new Error("nonce is required");var i=e.length;if(!i||i>16)throw new Ti("illegal nonce size");var a=new DataView(new ArrayBuffer(16));if(new Uint8Array(a.buffer).set(e),this.asm.set_nonce(a.getUint32(0),a.getUint32(4),a.getUint32(8),a.getUint32(12)),void 0!==t){if(t<0||t>=Math.pow(2,r))throw new Ti("illegal counter value");this.asm.set_counter(0,0,t/4294967296|0,0|t)}}}],[{key:"encrypt",value:function(e,r,n){return new t(r,n).encrypt(e)}},{key:"decrypt",value:function(e,r,n){return new t(r,n).encrypt(e)}}])}(Vi),Gi=68719476704,Zi=function(e){function t(e,r,n){var i,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:16;if(V(this,t),(i=U(this,t,[e,void 0,!1,"CTR"])).tagSize=a,i.gamma0=0,i.counter=1,i.asm.gcm_init(),i.tagSize<4||i.tagSize>16)throw new Ti("illegal tagSize value");var f=r.length||0,o=new Uint8Array(16);12!==f?(i._gcm_mac_process(r),i.heap[0]=0,i.heap[1]=0,i.heap[2]=0,i.heap[3]=0,i.heap[4]=0,i.heap[5]=0,i.heap[6]=0,i.heap[7]=0,i.heap[8]=0,i.heap[9]=0,i.heap[10]=0,i.heap[11]=f>>>29,i.heap[12]=f>>>21&255,i.heap[13]=f>>>13&255,i.heap[14]=f>>>5&255,i.heap[15]=f<<3&255,i.asm.mac(zi.MAC.GCM,zi.HEAP_DATA,16),i.asm.get_iv(zi.HEAP_DATA),i.asm.set_iv(0,0,0,0),o.set(i.heap.subarray(0,16))):(o.set(r),o[15]=1);var s=new DataView(o.buffer);if(i.gamma0=s.getUint32(12),i.asm.set_nonce(s.getUint32(0),s.getUint32(4),s.getUint32(8),0),i.asm.set_mask(0,0,0,4294967295),void 0!==n){if(n.length>Gi)throw new Ti("illegal adata length");n.length?(i.adata=n,i._gcm_mac_process(n)):i.adata=void 0}else i.adata=void 0;if(i.counter<1||i.counter>4294967295)throw new RangeError("counter must be a positive 32-bit integer");return i.asm.set_counter(0,0,0,i.gamma0+i.counter|0),i}return D(t,e),q(t,[{key:"encrypt",value:function(e){return this.AES_GCM_encrypt(e)}},{key:"decrypt",value:function(e){return this.AES_GCM_decrypt(e)}},{key:"AES_GCM_Encrypt_process",value:function(e){var t=0,r=e.length||0,n=this.asm,i=this.heap,a=this.counter,f=this.pos,o=this.len,s=0,u=o+r&-16,c=0;if((a-1<<4)+o+r>Gi)throw new RangeError("counter overflow");for(var h=new Uint8Array(u);r>0;)o+=c=Di(i,f+o,e,t,r),t+=c,r-=c,c=n.cipher(zi.ENC.CTR,zi.HEAP_DATA+f,o),(c=n.mac(zi.MAC.GCM,zi.HEAP_DATA+f,c))&&h.set(i.subarray(f,f+c),s),a+=c>>>4,s+=c,c<o?(f+=c,o-=c):(f=0,o=0);return this.counter=a,this.pos=f,this.len=o,h}},{key:"AES_GCM_Encrypt_finish",value:function(){var e=this.asm,t=this.heap,r=this.counter,n=this.tagSize,i=this.adata,a=this.pos,f=this.len,o=new Uint8Array(f+n);e.cipher(zi.ENC.CTR,zi.HEAP_DATA+a,f+15&-16),f&&o.set(t.subarray(a,a+f));for(var s=f;15&s;s++)t[a+s]=0;e.mac(zi.MAC.GCM,zi.HEAP_DATA+a,s);var u=void 0!==i?i.length:0,c=(r-1<<4)+f;return t[0]=0,t[1]=0,t[2]=0,t[3]=u>>>29,t[4]=u>>>21,t[5]=u>>>13&255,t[6]=u>>>5&255,t[7]=u<<3&255,t[8]=t[9]=t[10]=0,t[11]=c>>>29,t[12]=c>>>21&255,t[13]=c>>>13&255,t[14]=c>>>5&255,t[15]=c<<3&255,e.mac(zi.MAC.GCM,zi.HEAP_DATA,16),e.get_iv(zi.HEAP_DATA),e.set_counter(0,0,0,this.gamma0),e.cipher(zi.ENC.CTR,zi.HEAP_DATA,16),o.set(t.subarray(0,n),f),this.counter=1,this.pos=0,this.len=0,o}},{key:"AES_GCM_Decrypt_process",value:function(e){var t=0,r=e.length||0,n=this.asm,i=this.heap,a=this.counter,f=this.tagSize,o=this.pos,s=this.len,u=0,c=s+r>f?s+r-f&-16:0,h=s+r-c,d=0;if((a-1<<4)+s+r>Gi)throw new RangeError("counter overflow");for(var l=new Uint8Array(c);r>h;)s+=d=Di(i,o+s,e,t,r-h),t+=d,r-=d,d=n.mac(zi.MAC.GCM,zi.HEAP_DATA+o,d),(d=n.cipher(zi.DEC.CTR,zi.HEAP_DATA+o,d))&&l.set(i.subarray(o,o+d),u),a+=d>>>4,u+=d,o=0,s=0;return r>0&&(s+=Di(i,0,e,t,r)),this.counter=a,this.pos=o,this.len=s,l}},{key:"AES_GCM_Decrypt_finish",value:function(){var e=this.asm,t=this.heap,r=this.tagSize,n=this.adata,i=this.counter,a=this.pos,f=this.len,o=f-r;if(f<r)throw new Hi("authentication tag not found");for(var s=new Uint8Array(o),u=new Uint8Array(t.subarray(a+o,a+f)),c=o;15&c;c++)t[a+c]=0;e.mac(zi.MAC.GCM,zi.HEAP_DATA+a,c),e.cipher(zi.DEC.CTR,zi.HEAP_DATA+a,c),o&&s.set(t.subarray(a,a+o));var h=void 0!==n?n.length:0,d=(i-1<<4)+f-r;t[0]=0,t[1]=0,t[2]=0,t[3]=h>>>29,t[4]=h>>>21,t[5]=h>>>13&255,t[6]=h>>>5&255,t[7]=h<<3&255,t[8]=t[9]=t[10]=0,t[11]=d>>>29,t[12]=d>>>21&255,t[13]=d>>>13&255,t[14]=d>>>5&255,t[15]=d<<3&255,e.mac(zi.MAC.GCM,zi.HEAP_DATA,16),e.get_iv(zi.HEAP_DATA),e.set_counter(0,0,0,this.gamma0),e.cipher(zi.ENC.CTR,zi.HEAP_DATA,16);for(var l=0,p=0;p<r;++p)l|=u[p]^t[p];if(l)throw new Fi("data integrity check failed");return this.counter=1,this.pos=0,this.len=0,s}},{key:"AES_GCM_decrypt",value:function(e){var t=this.AES_GCM_Decrypt_process(e),r=this.AES_GCM_Decrypt_finish(),n=new Uint8Array(t.length+r.length);return t.length&&n.set(t),r.length&&n.set(r,t.length),n}},{key:"AES_GCM_encrypt",value:function(e){var t=this.AES_GCM_Encrypt_process(e),r=this.AES_GCM_Encrypt_finish(),n=new Uint8Array(t.length+r.length);return t.length&&n.set(t),r.length&&n.set(r,t.length),n}},{key:"_gcm_mac_process",value:function(e){for(var t=this.heap,r=this.asm,n=0,i=e.length||0,a=0;i>0;){for(n+=a=Di(t,0,e,n,i),i-=a;15&a;)t[a++]=0;r.mac(zi.MAC.GCM,zi.HEAP_DATA,a)}}}],[{key:"encrypt",value:function(e,r,n,i,a){return new t(r,n,i,a).encrypt(e)}},{key:"decrypt",value:function(e,r,n,i,a){return new t(r,n,i,a).decrypt(e)}}])}(Vi),Wi=function(e,t,r){"use asm";var n=0;var i=new e.Uint32Array(r);var a=e.Math.imul;function f(e){e=e|0;n=e=e+31&-32;return e|0}function o(e){e=e|0;var t=0;t=n;n=t+(e+31&-32)|0;return t|0}function s(e){e=e|0;n=n-(e+31&-32)|0}function u(e,t,r){e=e|0;t=t|0;r=r|0;var n=0;if((t|0)>(r|0)){for(;(n|0)<(e|0);n=n+4|0){i[r+n>>2]=i[t+n>>2]}}else{for(n=e-4|0;(n|0)>=0;n=n-4|0){i[r+n>>2]=i[t+n>>2]}}}function c(e,t,r){e=e|0;t=t|0;r=r|0;var n=0;for(;(n|0)<(e|0);n=n+4|0){i[r+n>>2]=t}}function h(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;var a=0,f=0,o=0,s=0,u=0;if((n|0)<=0)n=t;if((n|0)<(t|0))t=n;f=1;for(;(u|0)<(t|0);u=u+4|0){a=~i[e+u>>2];o=(a&0xffff)+f|0;s=(a>>>16)+(o>>>16)|0;i[r+u>>2]=s<<16|o&0xffff;f=s>>>16}for(;(u|0)<(n|0);u=u+4|0){i[r+u>>2]=f-1|0}return f|0}function d(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;var a=0,f=0,o=0;if((t|0)>(n|0)){for(o=t-4|0;(o|0)>=(n|0);o=o-4|0){if(i[e+o>>2]|0)return 1}}else{for(o=n-4|0;(o|0)>=(t|0);o=o-4|0){if(i[r+o>>2]|0)return-1}}for(;(o|0)>=0;o=o-4|0){a=i[e+o>>2]|0,f=i[r+o>>2]|0;if(a>>>0<f>>>0)return-1;if(a>>>0>f>>>0)return 1}return 0}function l(e,t){e=e|0;t=t|0;var r=0;for(r=t-4|0;(r|0)>=0;r=r-4|0){if(i[e+r>>2]|0)return r+4|0}return 0}function p(e,t,r,n,a,f){e=e|0;t=t|0;r=r|0;n=n|0;a=a|0;f=f|0;var o=0,s=0,u=0,c=0,h=0,d=0;if((t|0)<(n|0)){c=e,e=r,r=c;c=t,t=n,n=c}if((f|0)<=0)f=t+4|0;if((f|0)<(n|0))t=n=f;for(;(d|0)<(n|0);d=d+4|0){o=i[e+d>>2]|0;s=i[r+d>>2]|0;c=((o&0xffff)+(s&0xffff)|0)+u|0;h=((o>>>16)+(s>>>16)|0)+(c>>>16)|0;i[a+d>>2]=c&0xffff|h<<16;u=h>>>16}for(;(d|0)<(t|0);d=d+4|0){o=i[e+d>>2]|0;c=(o&0xffff)+u|0;h=(o>>>16)+(c>>>16)|0;i[a+d>>2]=c&0xffff|h<<16;u=h>>>16}for(;(d|0)<(f|0);d=d+4|0){i[a+d>>2]=u|0;u=0}return u|0}function v(e,t,r,n,a,f){e=e|0;t=t|0;r=r|0;n=n|0;a=a|0;f=f|0;var o=0,s=0,u=0,c=0,h=0,d=0;if((f|0)<=0)f=(t|0)>(n|0)?t+4|0:n+4|0;if((f|0)<(t|0))t=f;if((f|0)<(n|0))n=f;if((t|0)<(n|0)){for(;(d|0)<(t|0);d=d+4|0){o=i[e+d>>2]|0;s=i[r+d>>2]|0;c=((o&0xffff)-(s&0xffff)|0)+u|0;h=((o>>>16)-(s>>>16)|0)+(c>>16)|0;i[a+d>>2]=c&0xffff|h<<16;u=h>>16}for(;(d|0)<(n|0);d=d+4|0){s=i[r+d>>2]|0;c=u-(s&0xffff)|0;h=(c>>16)-(s>>>16)|0;i[a+d>>2]=c&0xffff|h<<16;u=h>>16}}else{for(;(d|0)<(n|0);d=d+4|0){o=i[e+d>>2]|0;s=i[r+d>>2]|0;c=((o&0xffff)-(s&0xffff)|0)+u|0;h=((o>>>16)-(s>>>16)|0)+(c>>16)|0;i[a+d>>2]=c&0xffff|h<<16;u=h>>16}for(;(d|0)<(t|0);d=d+4|0){o=i[e+d>>2]|0;c=(o&0xffff)+u|0;h=(o>>>16)+(c>>16)|0;i[a+d>>2]=c&0xffff|h<<16;u=h>>16}}for(;(d|0)<(f|0);d=d+4|0){i[a+d>>2]=u|0}return u|0}function y(e,t,r,n,f,o){e=e|0;t=t|0;r=r|0;n=n|0;f=f|0;o=o|0;var s=0,u=0,c=0,h=0,d=0,l=0,p=0,v=0,y=0,b=0,g=0,m=0,w=0,x=0,k=0,A=0,S=0,E=0,B=0,M=0,C=0,_=0,N=0,U=0,I=0,K=0,P=0,O=0,L=0,D=0,R=0,H=0,T=0,F=0,z=0,V=0,j=0,q=0,J=0,G=0,Z=0,W=0,X=0,Y=0,$=0,Q=0,ee=0,te=0,re=0,ne=0,ie=0,ae=0,fe=0,oe=0,se=0,ue=0,ce=0;if((t|0)>(n|0)){re=e,ne=t;e=r,t=n;r=re,n=ne}ae=t+n|0;if((o|0)>(ae|0)|(o|0)<=0)o=ae;if((o|0)<(t|0))t=o;if((o|0)<(n|0))n=o;for(;(fe|0)<(t|0);fe=fe+32|0){oe=e+fe|0;y=i[(oe|0)>>2]|0,b=i[(oe|4)>>2]|0,g=i[(oe|8)>>2]|0,m=i[(oe|12)>>2]|0,w=i[(oe|16)>>2]|0,x=i[(oe|20)>>2]|0,k=i[(oe|24)>>2]|0,A=i[(oe|28)>>2]|0,s=y&0xffff,u=b&0xffff,c=g&0xffff,h=m&0xffff,d=w&0xffff,l=x&0xffff,p=k&0xffff,v=A&0xffff,y=y>>>16,b=b>>>16,g=g>>>16,m=m>>>16,w=w>>>16,x=x>>>16,k=k>>>16,A=A>>>16;Z=W=X=Y=$=Q=ee=te=0;for(se=0;(se|0)<(n|0);se=se+32|0){ue=r+se|0;ce=f+(fe+se|0)|0;I=i[(ue|0)>>2]|0,K=i[(ue|4)>>2]|0,P=i[(ue|8)>>2]|0,O=i[(ue|12)>>2]|0,L=i[(ue|16)>>2]|0,D=i[(ue|20)>>2]|0,R=i[(ue|24)>>2]|0,H=i[(ue|28)>>2]|0,S=I&0xffff,E=K&0xffff,B=P&0xffff,M=O&0xffff,C=L&0xffff,_=D&0xffff,N=R&0xffff,U=H&0xffff,I=I>>>16,K=K>>>16,P=P>>>16,O=O>>>16,L=L>>>16,D=D>>>16,R=R>>>16,H=H>>>16;T=i[(ce|0)>>2]|0,F=i[(ce|4)>>2]|0,z=i[(ce|8)>>2]|0,V=i[(ce|12)>>2]|0,j=i[(ce|16)>>2]|0,q=i[(ce|20)>>2]|0,J=i[(ce|24)>>2]|0,G=i[(ce|28)>>2]|0;re=((a(s,S)|0)+(Z&0xffff)|0)+(T&0xffff)|0;ne=((a(y,S)|0)+(Z>>>16)|0)+(T>>>16)|0;ie=((a(s,I)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(y,I)|0)+(ne>>>16)|0)+(ie>>>16)|0;T=ie<<16|re&0xffff;re=((a(s,E)|0)+(ae&0xffff)|0)+(F&0xffff)|0;ne=((a(y,E)|0)+(ae>>>16)|0)+(F>>>16)|0;ie=((a(s,K)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(y,K)|0)+(ne>>>16)|0)+(ie>>>16)|0;F=ie<<16|re&0xffff;re=((a(s,B)|0)+(ae&0xffff)|0)+(z&0xffff)|0;ne=((a(y,B)|0)+(ae>>>16)|0)+(z>>>16)|0;ie=((a(s,P)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(y,P)|0)+(ne>>>16)|0)+(ie>>>16)|0;z=ie<<16|re&0xffff;re=((a(s,M)|0)+(ae&0xffff)|0)+(V&0xffff)|0;ne=((a(y,M)|0)+(ae>>>16)|0)+(V>>>16)|0;ie=((a(s,O)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(y,O)|0)+(ne>>>16)|0)+(ie>>>16)|0;V=ie<<16|re&0xffff;re=((a(s,C)|0)+(ae&0xffff)|0)+(j&0xffff)|0;ne=((a(y,C)|0)+(ae>>>16)|0)+(j>>>16)|0;ie=((a(s,L)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(y,L)|0)+(ne>>>16)|0)+(ie>>>16)|0;j=ie<<16|re&0xffff;re=((a(s,_)|0)+(ae&0xffff)|0)+(q&0xffff)|0;ne=((a(y,_)|0)+(ae>>>16)|0)+(q>>>16)|0;ie=((a(s,D)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(y,D)|0)+(ne>>>16)|0)+(ie>>>16)|0;q=ie<<16|re&0xffff;re=((a(s,N)|0)+(ae&0xffff)|0)+(J&0xffff)|0;ne=((a(y,N)|0)+(ae>>>16)|0)+(J>>>16)|0;ie=((a(s,R)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(y,R)|0)+(ne>>>16)|0)+(ie>>>16)|0;J=ie<<16|re&0xffff;re=((a(s,U)|0)+(ae&0xffff)|0)+(G&0xffff)|0;ne=((a(y,U)|0)+(ae>>>16)|0)+(G>>>16)|0;ie=((a(s,H)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(y,H)|0)+(ne>>>16)|0)+(ie>>>16)|0;G=ie<<16|re&0xffff;Z=ae;re=((a(u,S)|0)+(W&0xffff)|0)+(F&0xffff)|0;ne=((a(b,S)|0)+(W>>>16)|0)+(F>>>16)|0;ie=((a(u,I)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(b,I)|0)+(ne>>>16)|0)+(ie>>>16)|0;F=ie<<16|re&0xffff;re=((a(u,E)|0)+(ae&0xffff)|0)+(z&0xffff)|0;ne=((a(b,E)|0)+(ae>>>16)|0)+(z>>>16)|0;ie=((a(u,K)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(b,K)|0)+(ne>>>16)|0)+(ie>>>16)|0;z=ie<<16|re&0xffff;re=((a(u,B)|0)+(ae&0xffff)|0)+(V&0xffff)|0;ne=((a(b,B)|0)+(ae>>>16)|0)+(V>>>16)|0;ie=((a(u,P)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(b,P)|0)+(ne>>>16)|0)+(ie>>>16)|0;V=ie<<16|re&0xffff;re=((a(u,M)|0)+(ae&0xffff)|0)+(j&0xffff)|0;ne=((a(b,M)|0)+(ae>>>16)|0)+(j>>>16)|0;ie=((a(u,O)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(b,O)|0)+(ne>>>16)|0)+(ie>>>16)|0;j=ie<<16|re&0xffff;re=((a(u,C)|0)+(ae&0xffff)|0)+(q&0xffff)|0;ne=((a(b,C)|0)+(ae>>>16)|0)+(q>>>16)|0;ie=((a(u,L)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(b,L)|0)+(ne>>>16)|0)+(ie>>>16)|0;q=ie<<16|re&0xffff;re=((a(u,_)|0)+(ae&0xffff)|0)+(J&0xffff)|0;ne=((a(b,_)|0)+(ae>>>16)|0)+(J>>>16)|0;ie=((a(u,D)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(b,D)|0)+(ne>>>16)|0)+(ie>>>16)|0;J=ie<<16|re&0xffff;re=((a(u,N)|0)+(ae&0xffff)|0)+(G&0xffff)|0;ne=((a(b,N)|0)+(ae>>>16)|0)+(G>>>16)|0;ie=((a(u,R)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(b,R)|0)+(ne>>>16)|0)+(ie>>>16)|0;G=ie<<16|re&0xffff;re=((a(u,U)|0)+(ae&0xffff)|0)+(Z&0xffff)|0;ne=((a(b,U)|0)+(ae>>>16)|0)+(Z>>>16)|0;ie=((a(u,H)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(b,H)|0)+(ne>>>16)|0)+(ie>>>16)|0;Z=ie<<16|re&0xffff;W=ae;re=((a(c,S)|0)+(X&0xffff)|0)+(z&0xffff)|0;ne=((a(g,S)|0)+(X>>>16)|0)+(z>>>16)|0;ie=((a(c,I)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(g,I)|0)+(ne>>>16)|0)+(ie>>>16)|0;z=ie<<16|re&0xffff;re=((a(c,E)|0)+(ae&0xffff)|0)+(V&0xffff)|0;ne=((a(g,E)|0)+(ae>>>16)|0)+(V>>>16)|0;ie=((a(c,K)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(g,K)|0)+(ne>>>16)|0)+(ie>>>16)|0;V=ie<<16|re&0xffff;re=((a(c,B)|0)+(ae&0xffff)|0)+(j&0xffff)|0;ne=((a(g,B)|0)+(ae>>>16)|0)+(j>>>16)|0;ie=((a(c,P)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(g,P)|0)+(ne>>>16)|0)+(ie>>>16)|0;j=ie<<16|re&0xffff;re=((a(c,M)|0)+(ae&0xffff)|0)+(q&0xffff)|0;ne=((a(g,M)|0)+(ae>>>16)|0)+(q>>>16)|0;ie=((a(c,O)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(g,O)|0)+(ne>>>16)|0)+(ie>>>16)|0;q=ie<<16|re&0xffff;re=((a(c,C)|0)+(ae&0xffff)|0)+(J&0xffff)|0;ne=((a(g,C)|0)+(ae>>>16)|0)+(J>>>16)|0;ie=((a(c,L)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(g,L)|0)+(ne>>>16)|0)+(ie>>>16)|0;J=ie<<16|re&0xffff;re=((a(c,_)|0)+(ae&0xffff)|0)+(G&0xffff)|0;ne=((a(g,_)|0)+(ae>>>16)|0)+(G>>>16)|0;ie=((a(c,D)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(g,D)|0)+(ne>>>16)|0)+(ie>>>16)|0;G=ie<<16|re&0xffff;re=((a(c,N)|0)+(ae&0xffff)|0)+(Z&0xffff)|0;ne=((a(g,N)|0)+(ae>>>16)|0)+(Z>>>16)|0;ie=((a(c,R)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(g,R)|0)+(ne>>>16)|0)+(ie>>>16)|0;Z=ie<<16|re&0xffff;re=((a(c,U)|0)+(ae&0xffff)|0)+(W&0xffff)|0;ne=((a(g,U)|0)+(ae>>>16)|0)+(W>>>16)|0;ie=((a(c,H)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(g,H)|0)+(ne>>>16)|0)+(ie>>>16)|0;W=ie<<16|re&0xffff;X=ae;re=((a(h,S)|0)+(Y&0xffff)|0)+(V&0xffff)|0;ne=((a(m,S)|0)+(Y>>>16)|0)+(V>>>16)|0;ie=((a(h,I)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(m,I)|0)+(ne>>>16)|0)+(ie>>>16)|0;V=ie<<16|re&0xffff;re=((a(h,E)|0)+(ae&0xffff)|0)+(j&0xffff)|0;ne=((a(m,E)|0)+(ae>>>16)|0)+(j>>>16)|0;ie=((a(h,K)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(m,K)|0)+(ne>>>16)|0)+(ie>>>16)|0;j=ie<<16|re&0xffff;re=((a(h,B)|0)+(ae&0xffff)|0)+(q&0xffff)|0;ne=((a(m,B)|0)+(ae>>>16)|0)+(q>>>16)|0;ie=((a(h,P)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(m,P)|0)+(ne>>>16)|0)+(ie>>>16)|0;q=ie<<16|re&0xffff;re=((a(h,M)|0)+(ae&0xffff)|0)+(J&0xffff)|0;ne=((a(m,M)|0)+(ae>>>16)|0)+(J>>>16)|0;ie=((a(h,O)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(m,O)|0)+(ne>>>16)|0)+(ie>>>16)|0;J=ie<<16|re&0xffff;re=((a(h,C)|0)+(ae&0xffff)|0)+(G&0xffff)|0;ne=((a(m,C)|0)+(ae>>>16)|0)+(G>>>16)|0;ie=((a(h,L)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(m,L)|0)+(ne>>>16)|0)+(ie>>>16)|0;G=ie<<16|re&0xffff;re=((a(h,_)|0)+(ae&0xffff)|0)+(Z&0xffff)|0;ne=((a(m,_)|0)+(ae>>>16)|0)+(Z>>>16)|0;ie=((a(h,D)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(m,D)|0)+(ne>>>16)|0)+(ie>>>16)|0;Z=ie<<16|re&0xffff;re=((a(h,N)|0)+(ae&0xffff)|0)+(W&0xffff)|0;ne=((a(m,N)|0)+(ae>>>16)|0)+(W>>>16)|0;ie=((a(h,R)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(m,R)|0)+(ne>>>16)|0)+(ie>>>16)|0;W=ie<<16|re&0xffff;re=((a(h,U)|0)+(ae&0xffff)|0)+(X&0xffff)|0;ne=((a(m,U)|0)+(ae>>>16)|0)+(X>>>16)|0;ie=((a(h,H)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(m,H)|0)+(ne>>>16)|0)+(ie>>>16)|0;X=ie<<16|re&0xffff;Y=ae;re=((a(d,S)|0)+($&0xffff)|0)+(j&0xffff)|0;ne=((a(w,S)|0)+($>>>16)|0)+(j>>>16)|0;ie=((a(d,I)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(w,I)|0)+(ne>>>16)|0)+(ie>>>16)|0;j=ie<<16|re&0xffff;re=((a(d,E)|0)+(ae&0xffff)|0)+(q&0xffff)|0;ne=((a(w,E)|0)+(ae>>>16)|0)+(q>>>16)|0;ie=((a(d,K)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(w,K)|0)+(ne>>>16)|0)+(ie>>>16)|0;q=ie<<16|re&0xffff;re=((a(d,B)|0)+(ae&0xffff)|0)+(J&0xffff)|0;ne=((a(w,B)|0)+(ae>>>16)|0)+(J>>>16)|0;ie=((a(d,P)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(w,P)|0)+(ne>>>16)|0)+(ie>>>16)|0;J=ie<<16|re&0xffff;re=((a(d,M)|0)+(ae&0xffff)|0)+(G&0xffff)|0;ne=((a(w,M)|0)+(ae>>>16)|0)+(G>>>16)|0;ie=((a(d,O)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(w,O)|0)+(ne>>>16)|0)+(ie>>>16)|0;G=ie<<16|re&0xffff;re=((a(d,C)|0)+(ae&0xffff)|0)+(Z&0xffff)|0;ne=((a(w,C)|0)+(ae>>>16)|0)+(Z>>>16)|0;ie=((a(d,L)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(w,L)|0)+(ne>>>16)|0)+(ie>>>16)|0;Z=ie<<16|re&0xffff;re=((a(d,_)|0)+(ae&0xffff)|0)+(W&0xffff)|0;ne=((a(w,_)|0)+(ae>>>16)|0)+(W>>>16)|0;ie=((a(d,D)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(w,D)|0)+(ne>>>16)|0)+(ie>>>16)|0;W=ie<<16|re&0xffff;re=((a(d,N)|0)+(ae&0xffff)|0)+(X&0xffff)|0;ne=((a(w,N)|0)+(ae>>>16)|0)+(X>>>16)|0;ie=((a(d,R)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(w,R)|0)+(ne>>>16)|0)+(ie>>>16)|0;X=ie<<16|re&0xffff;re=((a(d,U)|0)+(ae&0xffff)|0)+(Y&0xffff)|0;ne=((a(w,U)|0)+(ae>>>16)|0)+(Y>>>16)|0;ie=((a(d,H)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(w,H)|0)+(ne>>>16)|0)+(ie>>>16)|0;Y=ie<<16|re&0xffff;$=ae;re=((a(l,S)|0)+(Q&0xffff)|0)+(q&0xffff)|0;ne=((a(x,S)|0)+(Q>>>16)|0)+(q>>>16)|0;ie=((a(l,I)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(x,I)|0)+(ne>>>16)|0)+(ie>>>16)|0;q=ie<<16|re&0xffff;re=((a(l,E)|0)+(ae&0xffff)|0)+(J&0xffff)|0;ne=((a(x,E)|0)+(ae>>>16)|0)+(J>>>16)|0;ie=((a(l,K)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(x,K)|0)+(ne>>>16)|0)+(ie>>>16)|0;J=ie<<16|re&0xffff;re=((a(l,B)|0)+(ae&0xffff)|0)+(G&0xffff)|0;ne=((a(x,B)|0)+(ae>>>16)|0)+(G>>>16)|0;ie=((a(l,P)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(x,P)|0)+(ne>>>16)|0)+(ie>>>16)|0;G=ie<<16|re&0xffff;re=((a(l,M)|0)+(ae&0xffff)|0)+(Z&0xffff)|0;ne=((a(x,M)|0)+(ae>>>16)|0)+(Z>>>16)|0;ie=((a(l,O)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(x,O)|0)+(ne>>>16)|0)+(ie>>>16)|0;Z=ie<<16|re&0xffff;re=((a(l,C)|0)+(ae&0xffff)|0)+(W&0xffff)|0;ne=((a(x,C)|0)+(ae>>>16)|0)+(W>>>16)|0;ie=((a(l,L)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(x,L)|0)+(ne>>>16)|0)+(ie>>>16)|0;W=ie<<16|re&0xffff;re=((a(l,_)|0)+(ae&0xffff)|0)+(X&0xffff)|0;ne=((a(x,_)|0)+(ae>>>16)|0)+(X>>>16)|0;ie=((a(l,D)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(x,D)|0)+(ne>>>16)|0)+(ie>>>16)|0;X=ie<<16|re&0xffff;re=((a(l,N)|0)+(ae&0xffff)|0)+(Y&0xffff)|0;ne=((a(x,N)|0)+(ae>>>16)|0)+(Y>>>16)|0;ie=((a(l,R)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(x,R)|0)+(ne>>>16)|0)+(ie>>>16)|0;Y=ie<<16|re&0xffff;re=((a(l,U)|0)+(ae&0xffff)|0)+($&0xffff)|0;ne=((a(x,U)|0)+(ae>>>16)|0)+($>>>16)|0;ie=((a(l,H)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(x,H)|0)+(ne>>>16)|0)+(ie>>>16)|0;$=ie<<16|re&0xffff;Q=ae;re=((a(p,S)|0)+(ee&0xffff)|0)+(J&0xffff)|0;ne=((a(k,S)|0)+(ee>>>16)|0)+(J>>>16)|0;ie=((a(p,I)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(k,I)|0)+(ne>>>16)|0)+(ie>>>16)|0;J=ie<<16|re&0xffff;re=((a(p,E)|0)+(ae&0xffff)|0)+(G&0xffff)|0;ne=((a(k,E)|0)+(ae>>>16)|0)+(G>>>16)|0;ie=((a(p,K)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(k,K)|0)+(ne>>>16)|0)+(ie>>>16)|0;G=ie<<16|re&0xffff;re=((a(p,B)|0)+(ae&0xffff)|0)+(Z&0xffff)|0;ne=((a(k,B)|0)+(ae>>>16)|0)+(Z>>>16)|0;ie=((a(p,P)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(k,P)|0)+(ne>>>16)|0)+(ie>>>16)|0;Z=ie<<16|re&0xffff;re=((a(p,M)|0)+(ae&0xffff)|0)+(W&0xffff)|0;ne=((a(k,M)|0)+(ae>>>16)|0)+(W>>>16)|0;ie=((a(p,O)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(k,O)|0)+(ne>>>16)|0)+(ie>>>16)|0;W=ie<<16|re&0xffff;re=((a(p,C)|0)+(ae&0xffff)|0)+(X&0xffff)|0;ne=((a(k,C)|0)+(ae>>>16)|0)+(X>>>16)|0;ie=((a(p,L)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(k,L)|0)+(ne>>>16)|0)+(ie>>>16)|0;X=ie<<16|re&0xffff;re=((a(p,_)|0)+(ae&0xffff)|0)+(Y&0xffff)|0;ne=((a(k,_)|0)+(ae>>>16)|0)+(Y>>>16)|0;ie=((a(p,D)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(k,D)|0)+(ne>>>16)|0)+(ie>>>16)|0;Y=ie<<16|re&0xffff;re=((a(p,N)|0)+(ae&0xffff)|0)+($&0xffff)|0;ne=((a(k,N)|0)+(ae>>>16)|0)+($>>>16)|0;ie=((a(p,R)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(k,R)|0)+(ne>>>16)|0)+(ie>>>16)|0;$=ie<<16|re&0xffff;re=((a(p,U)|0)+(ae&0xffff)|0)+(Q&0xffff)|0;ne=((a(k,U)|0)+(ae>>>16)|0)+(Q>>>16)|0;ie=((a(p,H)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(k,H)|0)+(ne>>>16)|0)+(ie>>>16)|0;Q=ie<<16|re&0xffff;ee=ae;re=((a(v,S)|0)+(te&0xffff)|0)+(G&0xffff)|0;ne=((a(A,S)|0)+(te>>>16)|0)+(G>>>16)|0;ie=((a(v,I)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(A,I)|0)+(ne>>>16)|0)+(ie>>>16)|0;G=ie<<16|re&0xffff;re=((a(v,E)|0)+(ae&0xffff)|0)+(Z&0xffff)|0;ne=((a(A,E)|0)+(ae>>>16)|0)+(Z>>>16)|0;ie=((a(v,K)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(A,K)|0)+(ne>>>16)|0)+(ie>>>16)|0;Z=ie<<16|re&0xffff;re=((a(v,B)|0)+(ae&0xffff)|0)+(W&0xffff)|0;ne=((a(A,B)|0)+(ae>>>16)|0)+(W>>>16)|0;ie=((a(v,P)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(A,P)|0)+(ne>>>16)|0)+(ie>>>16)|0;W=ie<<16|re&0xffff;re=((a(v,M)|0)+(ae&0xffff)|0)+(X&0xffff)|0;ne=((a(A,M)|0)+(ae>>>16)|0)+(X>>>16)|0;ie=((a(v,O)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(A,O)|0)+(ne>>>16)|0)+(ie>>>16)|0;X=ie<<16|re&0xffff;re=((a(v,C)|0)+(ae&0xffff)|0)+(Y&0xffff)|0;ne=((a(A,C)|0)+(ae>>>16)|0)+(Y>>>16)|0;ie=((a(v,L)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(A,L)|0)+(ne>>>16)|0)+(ie>>>16)|0;Y=ie<<16|re&0xffff;re=((a(v,_)|0)+(ae&0xffff)|0)+($&0xffff)|0;ne=((a(A,_)|0)+(ae>>>16)|0)+($>>>16)|0;ie=((a(v,D)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(A,D)|0)+(ne>>>16)|0)+(ie>>>16)|0;$=ie<<16|re&0xffff;re=((a(v,N)|0)+(ae&0xffff)|0)+(Q&0xffff)|0;ne=((a(A,N)|0)+(ae>>>16)|0)+(Q>>>16)|0;ie=((a(v,R)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(A,R)|0)+(ne>>>16)|0)+(ie>>>16)|0;Q=ie<<16|re&0xffff;re=((a(v,U)|0)+(ae&0xffff)|0)+(ee&0xffff)|0;ne=((a(A,U)|0)+(ae>>>16)|0)+(ee>>>16)|0;ie=((a(v,H)|0)+(ne&0xffff)|0)+(re>>>16)|0;ae=((a(A,H)|0)+(ne>>>16)|0)+(ie>>>16)|0;ee=ie<<16|re&0xffff;te=ae;i[(ce|0)>>2]=T,i[(ce|4)>>2]=F,i[(ce|8)>>2]=z,i[(ce|12)>>2]=V,i[(ce|16)>>2]=j,i[(ce|20)>>2]=q,i[(ce|24)>>2]=J,i[(ce|28)>>2]=G}ce=f+(fe+se|0)|0;i[(ce|0)>>2]=Z,i[(ce|4)>>2]=W,i[(ce|8)>>2]=X,i[(ce|12)>>2]=Y,i[(ce|16)>>2]=$,i[(ce|20)>>2]=Q,i[(ce|24)>>2]=ee,i[(ce|28)>>2]=te}}function b(e,t,r){e=e|0;t=t|0;r=r|0;var n=0,f=0,o=0,s=0,u=0,c=0,h=0,d=0,l=0,p=0,v=0,y=0,b=0,g=0,m=0,w=0,x=0,k=0,A=0,S=0,E=0,B=0,M=0,C=0,_=0,N=0,U=0,I=0,K=0,P=0,O=0,L=0,D=0,R=0,H=0,T=0,F=0,z=0,V=0,j=0,q=0,J=0,G=0,Z=0,W=0,X=0,Y=0,$=0,Q=0,ee=0,te=0,re=0,ne=0,ie=0,ae=0,fe=0,oe=0,se=0,ue=0,ce=0,he=0,de=0,le=0,pe=0;for(;(ue|0)<(t|0);ue=ue+4|0){pe=r+(ue<<1)|0;l=i[e+ue>>2]|0,n=l&0xffff,l=l>>>16;Q=a(n,n)|0;ee=(a(n,l)|0)+(Q>>>17)|0;te=(a(l,l)|0)+(ee>>>15)|0;i[pe>>2]=ee<<17|Q&0x1ffff;i[(pe|4)>>2]=te}for(se=0;(se|0)<(t|0);se=se+8|0){de=e+se|0,pe=r+(se<<1)|0;l=i[de>>2]|0,n=l&0xffff,l=l>>>16;_=i[(de|4)>>2]|0,x=_&0xffff,_=_>>>16;Q=a(n,x)|0;ee=(a(n,_)|0)+(Q>>>16)|0;te=(a(l,x)|0)+(ee&0xffff)|0;ie=((a(l,_)|0)+(ee>>>16)|0)+(te>>>16)|0;ae=i[(pe|4)>>2]|0;Q=(ae&0xffff)+((Q&0xffff)<<1)|0;te=((ae>>>16)+((te&0xffff)<<1)|0)+(Q>>>16)|0;i[(pe|4)>>2]=te<<16|Q&0xffff;re=te>>>16;ae=i[(pe|8)>>2]|0;Q=((ae&0xffff)+((ie&0xffff)<<1)|0)+re|0;te=((ae>>>16)+(ie>>>16<<1)|0)+(Q>>>16)|0;i[(pe|8)>>2]=te<<16|Q&0xffff;re=te>>>16;if(re){ae=i[(pe|12)>>2]|0;Q=(ae&0xffff)+re|0;te=(ae>>>16)+(Q>>>16)|0;i[(pe|12)>>2]=te<<16|Q&0xffff}}for(se=0;(se|0)<(t|0);se=se+16|0){de=e+se|0,pe=r+(se<<1)|0;l=i[de>>2]|0,n=l&0xffff,l=l>>>16,p=i[(de|4)>>2]|0,f=p&0xffff,p=p>>>16;_=i[(de|8)>>2]|0,x=_&0xffff,_=_>>>16,N=i[(de|12)>>2]|0,k=N&0xffff,N=N>>>16;Q=a(n,x)|0;ee=a(l,x)|0;te=((a(n,_)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(l,_)|0)+(ee>>>16)|0)+(te>>>16)|0;D=te<<16|Q&0xffff;Q=(a(n,k)|0)+(ie&0xffff)|0;ee=(a(l,k)|0)+(ie>>>16)|0;te=((a(n,N)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(l,N)|0)+(ee>>>16)|0)+(te>>>16)|0;R=te<<16|Q&0xffff;H=ie;Q=(a(f,x)|0)+(R&0xffff)|0;ee=(a(p,x)|0)+(R>>>16)|0;te=((a(f,_)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(p,_)|0)+(ee>>>16)|0)+(te>>>16)|0;R=te<<16|Q&0xffff;Q=((a(f,k)|0)+(H&0xffff)|0)+(ie&0xffff)|0;ee=((a(p,k)|0)+(H>>>16)|0)+(ie>>>16)|0;te=((a(f,N)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(p,N)|0)+(ee>>>16)|0)+(te>>>16)|0;H=te<<16|Q&0xffff;T=ie;ae=i[(pe|8)>>2]|0;Q=(ae&0xffff)+((D&0xffff)<<1)|0;te=((ae>>>16)+(D>>>16<<1)|0)+(Q>>>16)|0;i[(pe|8)>>2]=te<<16|Q&0xffff;re=te>>>16;ae=i[(pe|12)>>2]|0;Q=((ae&0xffff)+((R&0xffff)<<1)|0)+re|0;te=((ae>>>16)+(R>>>16<<1)|0)+(Q>>>16)|0;i[(pe|12)>>2]=te<<16|Q&0xffff;re=te>>>16;ae=i[(pe|16)>>2]|0;Q=((ae&0xffff)+((H&0xffff)<<1)|0)+re|0;te=((ae>>>16)+(H>>>16<<1)|0)+(Q>>>16)|0;i[(pe|16)>>2]=te<<16|Q&0xffff;re=te>>>16;ae=i[(pe|20)>>2]|0;Q=((ae&0xffff)+((T&0xffff)<<1)|0)+re|0;te=((ae>>>16)+(T>>>16<<1)|0)+(Q>>>16)|0;i[(pe|20)>>2]=te<<16|Q&0xffff;re=te>>>16;for(he=24;!!re&(he|0)<32;he=he+4|0){ae=i[(pe|he)>>2]|0;Q=(ae&0xffff)+re|0;te=(ae>>>16)+(Q>>>16)|0;i[(pe|he)>>2]=te<<16|Q&0xffff;re=te>>>16}}for(se=0;(se|0)<(t|0);se=se+32|0){de=e+se|0,pe=r+(se<<1)|0;l=i[de>>2]|0,n=l&0xffff,l=l>>>16,p=i[(de|4)>>2]|0,f=p&0xffff,p=p>>>16,v=i[(de|8)>>2]|0,o=v&0xffff,v=v>>>16,y=i[(de|12)>>2]|0,s=y&0xffff,y=y>>>16;_=i[(de|16)>>2]|0,x=_&0xffff,_=_>>>16,N=i[(de|20)>>2]|0,k=N&0xffff,N=N>>>16,U=i[(de|24)>>2]|0,A=U&0xffff,U=U>>>16,I=i[(de|28)>>2]|0,S=I&0xffff,I=I>>>16;Q=a(n,x)|0;ee=a(l,x)|0;te=((a(n,_)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(l,_)|0)+(ee>>>16)|0)+(te>>>16)|0;D=te<<16|Q&0xffff;Q=(a(n,k)|0)+(ie&0xffff)|0;ee=(a(l,k)|0)+(ie>>>16)|0;te=((a(n,N)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(l,N)|0)+(ee>>>16)|0)+(te>>>16)|0;R=te<<16|Q&0xffff;Q=(a(n,A)|0)+(ie&0xffff)|0;ee=(a(l,A)|0)+(ie>>>16)|0;te=((a(n,U)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(l,U)|0)+(ee>>>16)|0)+(te>>>16)|0;H=te<<16|Q&0xffff;Q=(a(n,S)|0)+(ie&0xffff)|0;ee=(a(l,S)|0)+(ie>>>16)|0;te=((a(n,I)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(l,I)|0)+(ee>>>16)|0)+(te>>>16)|0;T=te<<16|Q&0xffff;F=ie;Q=(a(f,x)|0)+(R&0xffff)|0;ee=(a(p,x)|0)+(R>>>16)|0;te=((a(f,_)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(p,_)|0)+(ee>>>16)|0)+(te>>>16)|0;R=te<<16|Q&0xffff;Q=((a(f,k)|0)+(H&0xffff)|0)+(ie&0xffff)|0;ee=((a(p,k)|0)+(H>>>16)|0)+(ie>>>16)|0;te=((a(f,N)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(p,N)|0)+(ee>>>16)|0)+(te>>>16)|0;H=te<<16|Q&0xffff;Q=((a(f,A)|0)+(T&0xffff)|0)+(ie&0xffff)|0;ee=((a(p,A)|0)+(T>>>16)|0)+(ie>>>16)|0;te=((a(f,U)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(p,U)|0)+(ee>>>16)|0)+(te>>>16)|0;T=te<<16|Q&0xffff;Q=((a(f,S)|0)+(F&0xffff)|0)+(ie&0xffff)|0;ee=((a(p,S)|0)+(F>>>16)|0)+(ie>>>16)|0;te=((a(f,I)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(p,I)|0)+(ee>>>16)|0)+(te>>>16)|0;F=te<<16|Q&0xffff;z=ie;Q=(a(o,x)|0)+(H&0xffff)|0;ee=(a(v,x)|0)+(H>>>16)|0;te=((a(o,_)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(v,_)|0)+(ee>>>16)|0)+(te>>>16)|0;H=te<<16|Q&0xffff;Q=((a(o,k)|0)+(T&0xffff)|0)+(ie&0xffff)|0;ee=((a(v,k)|0)+(T>>>16)|0)+(ie>>>16)|0;te=((a(o,N)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(v,N)|0)+(ee>>>16)|0)+(te>>>16)|0;T=te<<16|Q&0xffff;Q=((a(o,A)|0)+(F&0xffff)|0)+(ie&0xffff)|0;ee=((a(v,A)|0)+(F>>>16)|0)+(ie>>>16)|0;te=((a(o,U)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(v,U)|0)+(ee>>>16)|0)+(te>>>16)|0;F=te<<16|Q&0xffff;Q=((a(o,S)|0)+(z&0xffff)|0)+(ie&0xffff)|0;ee=((a(v,S)|0)+(z>>>16)|0)+(ie>>>16)|0;te=((a(o,I)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(v,I)|0)+(ee>>>16)|0)+(te>>>16)|0;z=te<<16|Q&0xffff;V=ie;Q=(a(s,x)|0)+(T&0xffff)|0;ee=(a(y,x)|0)+(T>>>16)|0;te=((a(s,_)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(y,_)|0)+(ee>>>16)|0)+(te>>>16)|0;T=te<<16|Q&0xffff;Q=((a(s,k)|0)+(F&0xffff)|0)+(ie&0xffff)|0;ee=((a(y,k)|0)+(F>>>16)|0)+(ie>>>16)|0;te=((a(s,N)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(y,N)|0)+(ee>>>16)|0)+(te>>>16)|0;F=te<<16|Q&0xffff;Q=((a(s,A)|0)+(z&0xffff)|0)+(ie&0xffff)|0;ee=((a(y,A)|0)+(z>>>16)|0)+(ie>>>16)|0;te=((a(s,U)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(y,U)|0)+(ee>>>16)|0)+(te>>>16)|0;z=te<<16|Q&0xffff;Q=((a(s,S)|0)+(V&0xffff)|0)+(ie&0xffff)|0;ee=((a(y,S)|0)+(V>>>16)|0)+(ie>>>16)|0;te=((a(s,I)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(y,I)|0)+(ee>>>16)|0)+(te>>>16)|0;V=te<<16|Q&0xffff;j=ie;ae=i[(pe|16)>>2]|0;Q=(ae&0xffff)+((D&0xffff)<<1)|0;te=((ae>>>16)+(D>>>16<<1)|0)+(Q>>>16)|0;i[(pe|16)>>2]=te<<16|Q&0xffff;re=te>>>16;ae=i[(pe|20)>>2]|0;Q=((ae&0xffff)+((R&0xffff)<<1)|0)+re|0;te=((ae>>>16)+(R>>>16<<1)|0)+(Q>>>16)|0;i[(pe|20)>>2]=te<<16|Q&0xffff;re=te>>>16;ae=i[(pe|24)>>2]|0;Q=((ae&0xffff)+((H&0xffff)<<1)|0)+re|0;te=((ae>>>16)+(H>>>16<<1)|0)+(Q>>>16)|0;i[(pe|24)>>2]=te<<16|Q&0xffff;re=te>>>16;ae=i[(pe|28)>>2]|0;Q=((ae&0xffff)+((T&0xffff)<<1)|0)+re|0;te=((ae>>>16)+(T>>>16<<1)|0)+(Q>>>16)|0;i[(pe|28)>>2]=te<<16|Q&0xffff;re=te>>>16;ae=i[pe+32>>2]|0;Q=((ae&0xffff)+((F&0xffff)<<1)|0)+re|0;te=((ae>>>16)+(F>>>16<<1)|0)+(Q>>>16)|0;i[pe+32>>2]=te<<16|Q&0xffff;re=te>>>16;ae=i[pe+36>>2]|0;Q=((ae&0xffff)+((z&0xffff)<<1)|0)+re|0;te=((ae>>>16)+(z>>>16<<1)|0)+(Q>>>16)|0;i[pe+36>>2]=te<<16|Q&0xffff;re=te>>>16;ae=i[pe+40>>2]|0;Q=((ae&0xffff)+((V&0xffff)<<1)|0)+re|0;te=((ae>>>16)+(V>>>16<<1)|0)+(Q>>>16)|0;i[pe+40>>2]=te<<16|Q&0xffff;re=te>>>16;ae=i[pe+44>>2]|0;Q=((ae&0xffff)+((j&0xffff)<<1)|0)+re|0;te=((ae>>>16)+(j>>>16<<1)|0)+(Q>>>16)|0;i[pe+44>>2]=te<<16|Q&0xffff;re=te>>>16;for(he=48;!!re&(he|0)<64;he=he+4|0){ae=i[pe+he>>2]|0;Q=(ae&0xffff)+re|0;te=(ae>>>16)+(Q>>>16)|0;i[pe+he>>2]=te<<16|Q&0xffff;re=te>>>16}}for(fe=32;(fe|0)<(t|0);fe=fe<<1){oe=fe<<1;for(se=0;(se|0)<(t|0);se=se+oe|0){pe=r+(se<<1)|0;ne=0;for(ue=0;(ue|0)<(fe|0);ue=ue+32|0){de=(e+se|0)+ue|0;l=i[de>>2]|0,n=l&0xffff,l=l>>>16,p=i[(de|4)>>2]|0,f=p&0xffff,p=p>>>16,v=i[(de|8)>>2]|0,o=v&0xffff,v=v>>>16,y=i[(de|12)>>2]|0,s=y&0xffff,y=y>>>16,b=i[(de|16)>>2]|0,u=b&0xffff,b=b>>>16,g=i[(de|20)>>2]|0,c=g&0xffff,g=g>>>16,m=i[(de|24)>>2]|0,h=m&0xffff,m=m>>>16,w=i[(de|28)>>2]|0,d=w&0xffff,w=w>>>16;q=J=G=Z=W=X=Y=$=re=0;for(ce=0;(ce|0)<(fe|0);ce=ce+32|0){le=((e+se|0)+fe|0)+ce|0;_=i[le>>2]|0,x=_&0xffff,_=_>>>16,N=i[(le|4)>>2]|0,k=N&0xffff,N=N>>>16,U=i[(le|8)>>2]|0,A=U&0xffff,U=U>>>16,I=i[(le|12)>>2]|0,S=I&0xffff,I=I>>>16,K=i[(le|16)>>2]|0,E=K&0xffff,K=K>>>16,P=i[(le|20)>>2]|0,B=P&0xffff,P=P>>>16,O=i[(le|24)>>2]|0,M=O&0xffff,O=O>>>16,L=i[(le|28)>>2]|0,C=L&0xffff,L=L>>>16;D=R=H=T=F=z=V=j=0;Q=((a(n,x)|0)+(D&0xffff)|0)+(q&0xffff)|0;ee=((a(l,x)|0)+(D>>>16)|0)+(q>>>16)|0;te=((a(n,_)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(l,_)|0)+(ee>>>16)|0)+(te>>>16)|0;D=te<<16|Q&0xffff;Q=((a(n,k)|0)+(R&0xffff)|0)+(ie&0xffff)|0;ee=((a(l,k)|0)+(R>>>16)|0)+(ie>>>16)|0;te=((a(n,N)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(l,N)|0)+(ee>>>16)|0)+(te>>>16)|0;R=te<<16|Q&0xffff;Q=((a(n,A)|0)+(H&0xffff)|0)+(ie&0xffff)|0;ee=((a(l,A)|0)+(H>>>16)|0)+(ie>>>16)|0;te=((a(n,U)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(l,U)|0)+(ee>>>16)|0)+(te>>>16)|0;H=te<<16|Q&0xffff;Q=((a(n,S)|0)+(T&0xffff)|0)+(ie&0xffff)|0;ee=((a(l,S)|0)+(T>>>16)|0)+(ie>>>16)|0;te=((a(n,I)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(l,I)|0)+(ee>>>16)|0)+(te>>>16)|0;T=te<<16|Q&0xffff;Q=((a(n,E)|0)+(F&0xffff)|0)+(ie&0xffff)|0;ee=((a(l,E)|0)+(F>>>16)|0)+(ie>>>16)|0;te=((a(n,K)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(l,K)|0)+(ee>>>16)|0)+(te>>>16)|0;F=te<<16|Q&0xffff;Q=((a(n,B)|0)+(z&0xffff)|0)+(ie&0xffff)|0;ee=((a(l,B)|0)+(z>>>16)|0)+(ie>>>16)|0;te=((a(n,P)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(l,P)|0)+(ee>>>16)|0)+(te>>>16)|0;z=te<<16|Q&0xffff;Q=((a(n,M)|0)+(V&0xffff)|0)+(ie&0xffff)|0;ee=((a(l,M)|0)+(V>>>16)|0)+(ie>>>16)|0;te=((a(n,O)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(l,O)|0)+(ee>>>16)|0)+(te>>>16)|0;V=te<<16|Q&0xffff;Q=((a(n,C)|0)+(j&0xffff)|0)+(ie&0xffff)|0;ee=((a(l,C)|0)+(j>>>16)|0)+(ie>>>16)|0;te=((a(n,L)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(l,L)|0)+(ee>>>16)|0)+(te>>>16)|0;j=te<<16|Q&0xffff;q=ie;Q=((a(f,x)|0)+(R&0xffff)|0)+(J&0xffff)|0;ee=((a(p,x)|0)+(R>>>16)|0)+(J>>>16)|0;te=((a(f,_)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(p,_)|0)+(ee>>>16)|0)+(te>>>16)|0;R=te<<16|Q&0xffff;Q=((a(f,k)|0)+(H&0xffff)|0)+(ie&0xffff)|0;ee=((a(p,k)|0)+(H>>>16)|0)+(ie>>>16)|0;te=((a(f,N)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(p,N)|0)+(ee>>>16)|0)+(te>>>16)|0;H=te<<16|Q&0xffff;Q=((a(f,A)|0)+(T&0xffff)|0)+(ie&0xffff)|0;ee=((a(p,A)|0)+(T>>>16)|0)+(ie>>>16)|0;te=((a(f,U)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(p,U)|0)+(ee>>>16)|0)+(te>>>16)|0;T=te<<16|Q&0xffff;Q=((a(f,S)|0)+(F&0xffff)|0)+(ie&0xffff)|0;ee=((a(p,S)|0)+(F>>>16)|0)+(ie>>>16)|0;te=((a(f,I)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(p,I)|0)+(ee>>>16)|0)+(te>>>16)|0;F=te<<16|Q&0xffff;Q=((a(f,E)|0)+(z&0xffff)|0)+(ie&0xffff)|0;ee=((a(p,E)|0)+(z>>>16)|0)+(ie>>>16)|0;te=((a(f,K)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(p,K)|0)+(ee>>>16)|0)+(te>>>16)|0;z=te<<16|Q&0xffff;Q=((a(f,B)|0)+(V&0xffff)|0)+(ie&0xffff)|0;ee=((a(p,B)|0)+(V>>>16)|0)+(ie>>>16)|0;te=((a(f,P)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(p,P)|0)+(ee>>>16)|0)+(te>>>16)|0;V=te<<16|Q&0xffff;Q=((a(f,M)|0)+(j&0xffff)|0)+(ie&0xffff)|0;ee=((a(p,M)|0)+(j>>>16)|0)+(ie>>>16)|0;te=((a(f,O)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(p,O)|0)+(ee>>>16)|0)+(te>>>16)|0;j=te<<16|Q&0xffff;Q=((a(f,C)|0)+(q&0xffff)|0)+(ie&0xffff)|0;ee=((a(p,C)|0)+(q>>>16)|0)+(ie>>>16)|0;te=((a(f,L)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(p,L)|0)+(ee>>>16)|0)+(te>>>16)|0;q=te<<16|Q&0xffff;J=ie;Q=((a(o,x)|0)+(H&0xffff)|0)+(G&0xffff)|0;ee=((a(v,x)|0)+(H>>>16)|0)+(G>>>16)|0;te=((a(o,_)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(v,_)|0)+(ee>>>16)|0)+(te>>>16)|0;H=te<<16|Q&0xffff;Q=((a(o,k)|0)+(T&0xffff)|0)+(ie&0xffff)|0;ee=((a(v,k)|0)+(T>>>16)|0)+(ie>>>16)|0;te=((a(o,N)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(v,N)|0)+(ee>>>16)|0)+(te>>>16)|0;T=te<<16|Q&0xffff;Q=((a(o,A)|0)+(F&0xffff)|0)+(ie&0xffff)|0;ee=((a(v,A)|0)+(F>>>16)|0)+(ie>>>16)|0;te=((a(o,U)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(v,U)|0)+(ee>>>16)|0)+(te>>>16)|0;F=te<<16|Q&0xffff;Q=((a(o,S)|0)+(z&0xffff)|0)+(ie&0xffff)|0;ee=((a(v,S)|0)+(z>>>16)|0)+(ie>>>16)|0;te=((a(o,I)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(v,I)|0)+(ee>>>16)|0)+(te>>>16)|0;z=te<<16|Q&0xffff;Q=((a(o,E)|0)+(V&0xffff)|0)+(ie&0xffff)|0;ee=((a(v,E)|0)+(V>>>16)|0)+(ie>>>16)|0;te=((a(o,K)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(v,K)|0)+(ee>>>16)|0)+(te>>>16)|0;V=te<<16|Q&0xffff;Q=((a(o,B)|0)+(j&0xffff)|0)+(ie&0xffff)|0;ee=((a(v,B)|0)+(j>>>16)|0)+(ie>>>16)|0;te=((a(o,P)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(v,P)|0)+(ee>>>16)|0)+(te>>>16)|0;j=te<<16|Q&0xffff;Q=((a(o,M)|0)+(q&0xffff)|0)+(ie&0xffff)|0;ee=((a(v,M)|0)+(q>>>16)|0)+(ie>>>16)|0;te=((a(o,O)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(v,O)|0)+(ee>>>16)|0)+(te>>>16)|0;q=te<<16|Q&0xffff;Q=((a(o,C)|0)+(J&0xffff)|0)+(ie&0xffff)|0;ee=((a(v,C)|0)+(J>>>16)|0)+(ie>>>16)|0;te=((a(o,L)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(v,L)|0)+(ee>>>16)|0)+(te>>>16)|0;J=te<<16|Q&0xffff;G=ie;Q=((a(s,x)|0)+(T&0xffff)|0)+(Z&0xffff)|0;ee=((a(y,x)|0)+(T>>>16)|0)+(Z>>>16)|0;te=((a(s,_)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(y,_)|0)+(ee>>>16)|0)+(te>>>16)|0;T=te<<16|Q&0xffff;Q=((a(s,k)|0)+(F&0xffff)|0)+(ie&0xffff)|0;ee=((a(y,k)|0)+(F>>>16)|0)+(ie>>>16)|0;te=((a(s,N)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(y,N)|0)+(ee>>>16)|0)+(te>>>16)|0;F=te<<16|Q&0xffff;Q=((a(s,A)|0)+(z&0xffff)|0)+(ie&0xffff)|0;ee=((a(y,A)|0)+(z>>>16)|0)+(ie>>>16)|0;te=((a(s,U)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(y,U)|0)+(ee>>>16)|0)+(te>>>16)|0;z=te<<16|Q&0xffff;Q=((a(s,S)|0)+(V&0xffff)|0)+(ie&0xffff)|0;ee=((a(y,S)|0)+(V>>>16)|0)+(ie>>>16)|0;te=((a(s,I)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(y,I)|0)+(ee>>>16)|0)+(te>>>16)|0;V=te<<16|Q&0xffff;Q=((a(s,E)|0)+(j&0xffff)|0)+(ie&0xffff)|0;ee=((a(y,E)|0)+(j>>>16)|0)+(ie>>>16)|0;te=((a(s,K)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(y,K)|0)+(ee>>>16)|0)+(te>>>16)|0;j=te<<16|Q&0xffff;Q=((a(s,B)|0)+(q&0xffff)|0)+(ie&0xffff)|0;ee=((a(y,B)|0)+(q>>>16)|0)+(ie>>>16)|0;te=((a(s,P)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(y,P)|0)+(ee>>>16)|0)+(te>>>16)|0;q=te<<16|Q&0xffff;Q=((a(s,M)|0)+(J&0xffff)|0)+(ie&0xffff)|0;ee=((a(y,M)|0)+(J>>>16)|0)+(ie>>>16)|0;te=((a(s,O)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(y,O)|0)+(ee>>>16)|0)+(te>>>16)|0;J=te<<16|Q&0xffff;Q=((a(s,C)|0)+(G&0xffff)|0)+(ie&0xffff)|0;ee=((a(y,C)|0)+(G>>>16)|0)+(ie>>>16)|0;te=((a(s,L)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(y,L)|0)+(ee>>>16)|0)+(te>>>16)|0;G=te<<16|Q&0xffff;Z=ie;Q=((a(u,x)|0)+(F&0xffff)|0)+(W&0xffff)|0;ee=((a(b,x)|0)+(F>>>16)|0)+(W>>>16)|0;te=((a(u,_)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(b,_)|0)+(ee>>>16)|0)+(te>>>16)|0;F=te<<16|Q&0xffff;Q=((a(u,k)|0)+(z&0xffff)|0)+(ie&0xffff)|0;ee=((a(b,k)|0)+(z>>>16)|0)+(ie>>>16)|0;te=((a(u,N)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(b,N)|0)+(ee>>>16)|0)+(te>>>16)|0;z=te<<16|Q&0xffff;Q=((a(u,A)|0)+(V&0xffff)|0)+(ie&0xffff)|0;ee=((a(b,A)|0)+(V>>>16)|0)+(ie>>>16)|0;te=((a(u,U)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(b,U)|0)+(ee>>>16)|0)+(te>>>16)|0;V=te<<16|Q&0xffff;Q=((a(u,S)|0)+(j&0xffff)|0)+(ie&0xffff)|0;ee=((a(b,S)|0)+(j>>>16)|0)+(ie>>>16)|0;te=((a(u,I)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(b,I)|0)+(ee>>>16)|0)+(te>>>16)|0;j=te<<16|Q&0xffff;Q=((a(u,E)|0)+(q&0xffff)|0)+(ie&0xffff)|0;ee=((a(b,E)|0)+(q>>>16)|0)+(ie>>>16)|0;te=((a(u,K)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(b,K)|0)+(ee>>>16)|0)+(te>>>16)|0;q=te<<16|Q&0xffff;Q=((a(u,B)|0)+(J&0xffff)|0)+(ie&0xffff)|0;ee=((a(b,B)|0)+(J>>>16)|0)+(ie>>>16)|0;te=((a(u,P)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(b,P)|0)+(ee>>>16)|0)+(te>>>16)|0;J=te<<16|Q&0xffff;Q=((a(u,M)|0)+(G&0xffff)|0)+(ie&0xffff)|0;ee=((a(b,M)|0)+(G>>>16)|0)+(ie>>>16)|0;te=((a(u,O)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(b,O)|0)+(ee>>>16)|0)+(te>>>16)|0;G=te<<16|Q&0xffff;Q=((a(u,C)|0)+(Z&0xffff)|0)+(ie&0xffff)|0;ee=((a(b,C)|0)+(Z>>>16)|0)+(ie>>>16)|0;te=((a(u,L)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(b,L)|0)+(ee>>>16)|0)+(te>>>16)|0;Z=te<<16|Q&0xffff;W=ie;Q=((a(c,x)|0)+(z&0xffff)|0)+(X&0xffff)|0;ee=((a(g,x)|0)+(z>>>16)|0)+(X>>>16)|0;te=((a(c,_)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(g,_)|0)+(ee>>>16)|0)+(te>>>16)|0;z=te<<16|Q&0xffff;Q=((a(c,k)|0)+(V&0xffff)|0)+(ie&0xffff)|0;ee=((a(g,k)|0)+(V>>>16)|0)+(ie>>>16)|0;te=((a(c,N)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(g,N)|0)+(ee>>>16)|0)+(te>>>16)|0;V=te<<16|Q&0xffff;Q=((a(c,A)|0)+(j&0xffff)|0)+(ie&0xffff)|0;ee=((a(g,A)|0)+(j>>>16)|0)+(ie>>>16)|0;te=((a(c,U)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(g,U)|0)+(ee>>>16)|0)+(te>>>16)|0;j=te<<16|Q&0xffff;Q=((a(c,S)|0)+(q&0xffff)|0)+(ie&0xffff)|0;ee=((a(g,S)|0)+(q>>>16)|0)+(ie>>>16)|0;te=((a(c,I)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(g,I)|0)+(ee>>>16)|0)+(te>>>16)|0;q=te<<16|Q&0xffff;Q=((a(c,E)|0)+(J&0xffff)|0)+(ie&0xffff)|0;ee=((a(g,E)|0)+(J>>>16)|0)+(ie>>>16)|0;te=((a(c,K)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(g,K)|0)+(ee>>>16)|0)+(te>>>16)|0;J=te<<16|Q&0xffff;Q=((a(c,B)|0)+(G&0xffff)|0)+(ie&0xffff)|0;ee=((a(g,B)|0)+(G>>>16)|0)+(ie>>>16)|0;te=((a(c,P)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(g,P)|0)+(ee>>>16)|0)+(te>>>16)|0;G=te<<16|Q&0xffff;Q=((a(c,M)|0)+(Z&0xffff)|0)+(ie&0xffff)|0;ee=((a(g,M)|0)+(Z>>>16)|0)+(ie>>>16)|0;te=((a(c,O)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(g,O)|0)+(ee>>>16)|0)+(te>>>16)|0;Z=te<<16|Q&0xffff;Q=((a(c,C)|0)+(W&0xffff)|0)+(ie&0xffff)|0;ee=((a(g,C)|0)+(W>>>16)|0)+(ie>>>16)|0;te=((a(c,L)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(g,L)|0)+(ee>>>16)|0)+(te>>>16)|0;W=te<<16|Q&0xffff;X=ie;Q=((a(h,x)|0)+(V&0xffff)|0)+(Y&0xffff)|0;ee=((a(m,x)|0)+(V>>>16)|0)+(Y>>>16)|0;te=((a(h,_)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(m,_)|0)+(ee>>>16)|0)+(te>>>16)|0;V=te<<16|Q&0xffff;Q=((a(h,k)|0)+(j&0xffff)|0)+(ie&0xffff)|0;ee=((a(m,k)|0)+(j>>>16)|0)+(ie>>>16)|0;te=((a(h,N)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(m,N)|0)+(ee>>>16)|0)+(te>>>16)|0;j=te<<16|Q&0xffff;Q=((a(h,A)|0)+(q&0xffff)|0)+(ie&0xffff)|0;ee=((a(m,A)|0)+(q>>>16)|0)+(ie>>>16)|0;te=((a(h,U)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(m,U)|0)+(ee>>>16)|0)+(te>>>16)|0;q=te<<16|Q&0xffff;Q=((a(h,S)|0)+(J&0xffff)|0)+(ie&0xffff)|0;ee=((a(m,S)|0)+(J>>>16)|0)+(ie>>>16)|0;te=((a(h,I)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(m,I)|0)+(ee>>>16)|0)+(te>>>16)|0;J=te<<16|Q&0xffff;Q=((a(h,E)|0)+(G&0xffff)|0)+(ie&0xffff)|0;ee=((a(m,E)|0)+(G>>>16)|0)+(ie>>>16)|0;te=((a(h,K)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(m,K)|0)+(ee>>>16)|0)+(te>>>16)|0;G=te<<16|Q&0xffff;Q=((a(h,B)|0)+(Z&0xffff)|0)+(ie&0xffff)|0;ee=((a(m,B)|0)+(Z>>>16)|0)+(ie>>>16)|0;te=((a(h,P)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(m,P)|0)+(ee>>>16)|0)+(te>>>16)|0;Z=te<<16|Q&0xffff;Q=((a(h,M)|0)+(W&0xffff)|0)+(ie&0xffff)|0;ee=((a(m,M)|0)+(W>>>16)|0)+(ie>>>16)|0;te=((a(h,O)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(m,O)|0)+(ee>>>16)|0)+(te>>>16)|0;W=te<<16|Q&0xffff;Q=((a(h,C)|0)+(X&0xffff)|0)+(ie&0xffff)|0;ee=((a(m,C)|0)+(X>>>16)|0)+(ie>>>16)|0;te=((a(h,L)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(m,L)|0)+(ee>>>16)|0)+(te>>>16)|0;X=te<<16|Q&0xffff;Y=ie;Q=((a(d,x)|0)+(j&0xffff)|0)+($&0xffff)|0;ee=((a(w,x)|0)+(j>>>16)|0)+($>>>16)|0;te=((a(d,_)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(w,_)|0)+(ee>>>16)|0)+(te>>>16)|0;j=te<<16|Q&0xffff;Q=((a(d,k)|0)+(q&0xffff)|0)+(ie&0xffff)|0;ee=((a(w,k)|0)+(q>>>16)|0)+(ie>>>16)|0;te=((a(d,N)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(w,N)|0)+(ee>>>16)|0)+(te>>>16)|0;q=te<<16|Q&0xffff;Q=((a(d,A)|0)+(J&0xffff)|0)+(ie&0xffff)|0;ee=((a(w,A)|0)+(J>>>16)|0)+(ie>>>16)|0;te=((a(d,U)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(w,U)|0)+(ee>>>16)|0)+(te>>>16)|0;J=te<<16|Q&0xffff;Q=((a(d,S)|0)+(G&0xffff)|0)+(ie&0xffff)|0;ee=((a(w,S)|0)+(G>>>16)|0)+(ie>>>16)|0;te=((a(d,I)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(w,I)|0)+(ee>>>16)|0)+(te>>>16)|0;G=te<<16|Q&0xffff;Q=((a(d,E)|0)+(Z&0xffff)|0)+(ie&0xffff)|0;ee=((a(w,E)|0)+(Z>>>16)|0)+(ie>>>16)|0;te=((a(d,K)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(w,K)|0)+(ee>>>16)|0)+(te>>>16)|0;Z=te<<16|Q&0xffff;Q=((a(d,B)|0)+(W&0xffff)|0)+(ie&0xffff)|0;ee=((a(w,B)|0)+(W>>>16)|0)+(ie>>>16)|0;te=((a(d,P)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(w,P)|0)+(ee>>>16)|0)+(te>>>16)|0;W=te<<16|Q&0xffff;Q=((a(d,M)|0)+(X&0xffff)|0)+(ie&0xffff)|0;ee=((a(w,M)|0)+(X>>>16)|0)+(ie>>>16)|0;te=((a(d,O)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(w,O)|0)+(ee>>>16)|0)+(te>>>16)|0;X=te<<16|Q&0xffff;Q=((a(d,C)|0)+(Y&0xffff)|0)+(ie&0xffff)|0;ee=((a(w,C)|0)+(Y>>>16)|0)+(ie>>>16)|0;te=((a(d,L)|0)+(ee&0xffff)|0)+(Q>>>16)|0;ie=((a(w,L)|0)+(ee>>>16)|0)+(te>>>16)|0;Y=te<<16|Q&0xffff;$=ie;he=fe+(ue+ce|0)|0;ae=i[pe+he>>2]|0;Q=((ae&0xffff)+((D&0xffff)<<1)|0)+re|0;te=((ae>>>16)+(D>>>16<<1)|0)+(Q>>>16)|0;i[pe+he>>2]=te<<16|Q&0xffff;re=te>>>16;he=he+4|0;ae=i[pe+he>>2]|0;Q=((ae&0xffff)+((R&0xffff)<<1)|0)+re|0;te=((ae>>>16)+(R>>>16<<1)|0)+(Q>>>16)|0;i[pe+he>>2]=te<<16|Q&0xffff;re=te>>>16;he=he+4|0;ae=i[pe+he>>2]|0;Q=((ae&0xffff)+((H&0xffff)<<1)|0)+re|0;te=((ae>>>16)+(H>>>16<<1)|0)+(Q>>>16)|0;i[pe+he>>2]=te<<16|Q&0xffff;re=te>>>16;he=he+4|0;ae=i[pe+he>>2]|0;Q=((ae&0xffff)+((T&0xffff)<<1)|0)+re|0;te=((ae>>>16)+(T>>>16<<1)|0)+(Q>>>16)|0;i[pe+he>>2]=te<<16|Q&0xffff;re=te>>>16;he=he+4|0;ae=i[pe+he>>2]|0;Q=((ae&0xffff)+((F&0xffff)<<1)|0)+re|0;te=((ae>>>16)+(F>>>16<<1)|0)+(Q>>>16)|0;i[pe+he>>2]=te<<16|Q&0xffff;re=te>>>16;he=he+4|0;ae=i[pe+he>>2]|0;Q=((ae&0xffff)+((z&0xffff)<<1)|0)+re|0;te=((ae>>>16)+(z>>>16<<1)|0)+(Q>>>16)|0;i[pe+he>>2]=te<<16|Q&0xffff;re=te>>>16;he=he+4|0;ae=i[pe+he>>2]|0;Q=((ae&0xffff)+((V&0xffff)<<1)|0)+re|0;te=((ae>>>16)+(V>>>16<<1)|0)+(Q>>>16)|0;i[pe+he>>2]=te<<16|Q&0xffff;re=te>>>16;he=he+4|0;ae=i[pe+he>>2]|0;Q=((ae&0xffff)+((j&0xffff)<<1)|0)+re|0;te=((ae>>>16)+(j>>>16<<1)|0)+(Q>>>16)|0;i[pe+he>>2]=te<<16|Q&0xffff;re=te>>>16}he=fe+(ue+ce|0)|0;ae=i[pe+he>>2]|0;Q=(((ae&0xffff)+((q&0xffff)<<1)|0)+re|0)+ne|0;te=((ae>>>16)+(q>>>16<<1)|0)+(Q>>>16)|0;i[pe+he>>2]=te<<16|Q&0xffff;re=te>>>16;he=he+4|0;ae=i[pe+he>>2]|0;Q=((ae&0xffff)+((J&0xffff)<<1)|0)+re|0;te=((ae>>>16)+(J>>>16<<1)|0)+(Q>>>16)|0;i[pe+he>>2]=te<<16|Q&0xffff;re=te>>>16;he=he+4|0;ae=i[pe+he>>2]|0;Q=((ae&0xffff)+((G&0xffff)<<1)|0)+re|0;te=((ae>>>16)+(G>>>16<<1)|0)+(Q>>>16)|0;i[pe+he>>2]=te<<16|Q&0xffff;re=te>>>16;he=he+4|0;ae=i[pe+he>>2]|0;Q=((ae&0xffff)+((Z&0xffff)<<1)|0)+re|0;te=((ae>>>16)+(Z>>>16<<1)|0)+(Q>>>16)|0;i[pe+he>>2]=te<<16|Q&0xffff;re=te>>>16;he=he+4|0;ae=i[pe+he>>2]|0;Q=((ae&0xffff)+((W&0xffff)<<1)|0)+re|0;te=((ae>>>16)+(W>>>16<<1)|0)+(Q>>>16)|0;i[pe+he>>2]=te<<16|Q&0xffff;re=te>>>16;he=he+4|0;ae=i[pe+he>>2]|0;Q=((ae&0xffff)+((X&0xffff)<<1)|0)+re|0;te=((ae>>>16)+(X>>>16<<1)|0)+(Q>>>16)|0;i[pe+he>>2]=te<<16|Q&0xffff;re=te>>>16;he=he+4|0;ae=i[pe+he>>2]|0;Q=((ae&0xffff)+((Y&0xffff)<<1)|0)+re|0;te=((ae>>>16)+(Y>>>16<<1)|0)+(Q>>>16)|0;i[pe+he>>2]=te<<16|Q&0xffff;re=te>>>16;he=he+4|0;ae=i[pe+he>>2]|0;Q=((ae&0xffff)+(($&0xffff)<<1)|0)+re|0;te=((ae>>>16)+($>>>16<<1)|0)+(Q>>>16)|0;i[pe+he>>2]=te<<16|Q&0xffff;ne=te>>>16}for(he=he+4|0;!!ne&(he|0)<oe<<1;he=he+4|0){ae=i[pe+he>>2]|0;Q=(ae&0xffff)+ne|0;te=(ae>>>16)+(Q>>>16)|0;i[pe+he>>2]=te<<16|Q&0xffff;ne=te>>>16}}}}function g(e,t,r,n,f){e=e|0;t=t|0;r=r|0;n=n|0;f=f|0;var o=0,s=0,u=0,c=0,h=0,d=0,l=0,p=0,v=0,y=0,b=0,g=0,m=0,w=0,x=0,k=0,A=0,S=0,E=0;for(A=t-1&-4;(A|0)>=0;A=A-4|0){o=i[e+A>>2]|0;if(o){t=A;break}}for(A=n-1&-4;(A|0)>=0;A=A-4|0){s=i[r+A>>2]|0;if(s){n=A;break}}while((s&0x80000000)==0){s=s<<1;u=u+1|0}h=i[e+t>>2]|0;if(u){c=h>>>(32-u|0);for(A=t-4|0;(A|0)>=0;A=A-4|0){o=i[e+A>>2]|0;i[e+A+4>>2]=h<<u|(u?o>>>(32-u|0):0);h=o}i[e>>2]=h<<u}if(u){d=i[r+n>>2]|0;for(A=n-4|0;(A|0)>=0;A=A-4|0){s=i[r+A>>2]|0;i[r+A+4>>2]=d<<u|s>>>(32-u|0);d=s}i[r>>2]=d<<u}d=i[r+n>>2]|0;l=d>>>16,p=d&0xffff;for(A=t;(A|0)>=(n|0);A=A-4|0){S=A-n|0;h=i[e+A>>2]|0;v=(c>>>0)/(l>>>0)|0,b=(c>>>0)%(l>>>0)|0,m=a(v,p)|0;while((v|0)==0x10000|m>>>0>(b<<16|h>>>16)>>>0){v=v-1|0,b=b+l|0,m=m-p|0;if((b|0)>=0x10000)break}x=0,k=0;for(E=0;(E|0)<=(n|0);E=E+4|0){s=i[r+E>>2]|0;m=(a(v,s&0xffff)|0)+(x>>>16)|0;w=(a(v,s>>>16)|0)+(m>>>16)|0;s=x&0xffff|m<<16;x=w;o=i[e+S+E>>2]|0;m=((o&0xffff)-(s&0xffff)|0)+k|0;w=((o>>>16)-(s>>>16)|0)+(m>>16)|0;i[e+S+E>>2]=w<<16|m&0xffff;k=w>>16}m=((c&0xffff)-(x&0xffff)|0)+k|0;w=((c>>>16)-(x>>>16)|0)+(m>>16)|0;c=w<<16|m&0xffff;k=w>>16;if(k){v=v-1|0;k=0;for(E=0;(E|0)<=(n|0);E=E+4|0){s=i[r+E>>2]|0;o=i[e+S+E>>2]|0;m=(o&0xffff)+k|0;w=(o>>>16)+s+(m>>>16)|0;i[e+S+E>>2]=w<<16|m&0xffff;k=w>>>16}c=c+k|0}h=i[e+A>>2]|0;o=c<<16|h>>>16;y=(o>>>0)/(l>>>0)|0,g=(o>>>0)%(l>>>0)|0,m=a(y,p)|0;while((y|0)==0x10000|m>>>0>(g<<16|h&0xffff)>>>0){y=y-1|0,g=g+l|0,m=m-p|0;if((g|0)>=0x10000)break}x=0,k=0;for(E=0;(E|0)<=(n|0);E=E+4|0){s=i[r+E>>2]|0;m=(a(y,s&0xffff)|0)+(x&0xffff)|0;w=((a(y,s>>>16)|0)+(m>>>16)|0)+(x>>>16)|0;s=m&0xffff|w<<16;x=w>>>16;o=i[e+S+E>>2]|0;m=((o&0xffff)-(s&0xffff)|0)+k|0;w=((o>>>16)-(s>>>16)|0)+(m>>16)|0;k=w>>16;i[e+S+E>>2]=w<<16|m&0xffff}m=((c&0xffff)-(x&0xffff)|0)+k|0;w=((c>>>16)-(x>>>16)|0)+(m>>16)|0;k=w>>16;if(k){y=y-1|0;k=0;for(E=0;(E|0)<=(n|0);E=E+4|0){s=i[r+E>>2]|0;o=i[e+S+E>>2]|0;m=((o&0xffff)+(s&0xffff)|0)+k|0;w=((o>>>16)+(s>>>16)|0)+(m>>>16)|0;k=w>>>16;i[e+S+E>>2]=m&0xffff|w<<16}}i[f+S>>2]=v<<16|y;c=i[e+A>>2]|0}if(u){h=i[e>>2]|0;for(A=4;(A|0)<=(n|0);A=A+4|0){o=i[e+A>>2]|0;i[e+A-4>>2]=o<<(32-u|0)|h>>>u;h=o}i[e+n>>2]=h>>>u}}function m(e,t,r,n,f,h){e=e|0;t=t|0;r=r|0;n=n|0;f=f|0;h=h|0;var l=0,p=0,y=0,b=0,g=0,m=0,w=0,x=0,k=0,A=0,S=0,E=0,B=0,M=0;l=o(n<<1)|0;c(n<<1,0,l);u(t,e,l);for(E=0;(E|0)<(n|0);E=E+4|0){y=i[l+E>>2]|0,b=y&0xffff,y=y>>>16;m=f>>>16,g=f&0xffff;w=a(b,g)|0,x=((a(b,m)|0)+(a(y,g)|0)|0)+(w>>>16)|0;b=w&0xffff,y=x&0xffff;S=0;for(B=0;(B|0)<(n|0);B=B+4|0){M=E+B|0;m=i[r+B>>2]|0,g=m&0xffff,m=m>>>16;A=i[l+M>>2]|0;w=((a(b,g)|0)+(S&0xffff)|0)+(A&0xffff)|0;x=((a(b,m)|0)+(S>>>16)|0)+(A>>>16)|0;k=((a(y,g)|0)+(x&0xffff)|0)+(w>>>16)|0;S=((a(y,m)|0)+(k>>>16)|0)+(x>>>16)|0;A=k<<16|w&0xffff;i[l+M>>2]=A}M=E+B|0;A=i[l+M>>2]|0;w=((A&0xffff)+(S&0xffff)|0)+p|0;x=((A>>>16)+(S>>>16)|0)+(w>>>16)|0;i[l+M>>2]=x<<16|w&0xffff;p=x>>>16}u(n,l+n|0,h);s(n<<1);if(p|(d(r,n,h,n)|0)<=0){v(h,n,r,n,h,n)|0}}return{sreset:f,salloc:o,sfree:s,z:c,tst:l,neg:h,cmp:d,add:p,sub:v,mul:y,sqr:b,div:g,mredc:m}};function Xi(e,t){var r=e.sign,n=t.sign;r<0&&(e=e.negate()),n<0&&(t=t.negate());var i=e.compare(t);if(i<0){var a=e;e=t,t=a;var f=r;r=n,n=f}var o,s,u,c=ra.ONE,h=ra.ZERO,d=t.bitLength,l=ra.ZERO,p=ra.ONE,v=e.bitLength;for(o=e.divide(t);(s=o.remainder)!==ra.ZERO;)u=o.quotient,o=c.subtract(u.multiply(h).clamp(d)).clamp(d),c=h,h=o,o=l.subtract(u.multiply(p).clamp(v)).clamp(v),l=p,p=o,e=t,t=s,o=e.divide(t);if(r<0&&(h=h.negate()),n<0&&(p=p.negate()),i<0){var y=h;h=p,p=y}return{gcd:t,x:h,y:p}}function Yi(e){if("undefined"==typeof process)if(window.crypto&&window.crypto.getRandomValues)window.crypto.getRandomValues(e);else if(self.crypto&&self.crypto.getRandomValues)self.crypto.getRandomValues(e);else{if(!window.msCrypto||!window.msCrypto.getRandomValues)throw new Error("No secure random number generator available.");window.msCrypto.getRandomValues(e)}else{var t=r(579).randomBytes(e.length);e.set(t)}}var $i,Qi={Uint32Array,Math},ea=new Uint32Array(1048576);void 0===Qi.Math.imul?(Qi.Math.imul=function(e,t){return e*t|0},$i=Wi(Qi,0,ea.buffer),delete Qi.Math.imul):$i=Wi(Qi,0,ea.buffer);var ta=new Uint32Array(0),ra=function(){function e(t){V(this,e);var r=ta,n=0,i=0;if(void 0===t);else{for(var a=0;!t[a];a++);if(!(n=8*(t.length-a)))return e.ZERO;r=new Uint32Array(n+31>>5);for(var f=t.length-4;f>=a;f-=4)r[t.length-4-f>>2]=t[f]<<24|t[f+1]<<16|t[f+2]<<8|t[f+3];a-f==3?r[r.length-1]=t[a]:a-f==2?r[r.length-1]=t[a]<<8|t[a+1]:a-f==1&&(r[r.length-1]=t[a]<<16|t[a+1]<<8|t[a+2]),i=1}this.limbs=r,this.bitLength=n,this.sign=i}return q(e,[{key:"toString",value:function(e){e=e||16;var t=this.limbs,r=this.bitLength,n="";if(16!==e)throw new Ti("bad radix");for(var i=(r+31>>5)-1;i>=0;i--){var a=t[i].toString(16);n+="00000000".substr(a.length),n+=a}return(n=n.replace(/^0+/,"")).length||(n="0"),this.sign<0&&(n="-"+n),n}},{key:"toBytes",value:function(){var e=this.bitLength,t=this.limbs;if(0===e)return new Uint8Array(0);for(var r=e+7>>3,n=new Uint8Array(r),i=0;i<r;i++){var a=r-i-1;n[i]=t[a>>2]>>((3&a)<<3)}return n}},{key:"valueOf",value:function(){var e=this.limbs,t=this.bitLength,r=this.sign;if(!r)return 0;if(t<=32)return r*(e[0]>>>0);if(t<=52)return r*(4294967296*(e[1]>>>0)+(e[0]>>>0));var n,i,a=0;for(n=e.length-1;n>=0;n--)if(0!==(i=e[n])){for(;!(i<<a&2147483648);)a++;break}return 0===n?r*(e[0]>>>0):r*(1048576*((e[n]<<a|(a?e[n-1]>>>32-a:0))>>>0)+((e[n-1]<<a|(a&&n>1?e[n-2]>>>32-a:0))>>>12))*Math.pow(2,32*n-a-52)}},{key:"clamp",value:function(t){var r=this.limbs;if(t>=this.bitLength)return this;var n=new e,i=t+31>>5,a=t%32;return n.limbs=new Uint32Array(r.subarray(0,i)),n.bitLength=t,n.sign=this.sign,a&&(n.limbs[i-1]&=-1>>>32-a),n}},{key:"slice",value:function(t,r){var n=this.limbs,i=this.bitLength;if(t<0)throw new RangeError("TODO");if(t>=i)return e.ZERO;(void 0===r||r>i-t)&&(r=i-t);var a=new e,f=t>>5,o=t+r+31>>5,s=r+31>>5,u=t%32,c=r%32,h=new Uint32Array(s);if(u){for(var d=0;d<o-f-1;d++)h[d]=n[f+d]>>>u|n[f+d+1]<<32-u;h[d]=n[f+d]>>>u}else h.set(n.subarray(f,o));return c&&(h[s-1]&=-1>>>32-c),a.limbs=h,a.bitLength=r,a.sign=this.sign,a}},{key:"negate",value:function(){var t=new e;return t.limbs=this.limbs,t.bitLength=this.bitLength,t.sign=-1*this.sign,t}},{key:"compare",value:function(e){var t=this.limbs,r=t.length,n=e.limbs,i=n.length;return this.sign<e.sign?-1:this.sign>e.sign?1:(ea.set(t,0),ea.set(n,r),$i.cmp(0,r<<2,r<<2,i<<2)*this.sign)}},{key:"add",value:function(t){if(!this.sign)return t;if(!t.sign)return this;var r,n,i,a,f=this.bitLength,o=this.limbs,s=o.length,u=this.sign,c=t.bitLength,h=t.limbs,d=h.length,l=t.sign,p=new e;n=(r=(f>c?f:c)+(u*l>0?1:0))+31>>5,$i.sreset();var v=$i.salloc(s<<2),y=$i.salloc(d<<2),b=$i.salloc(n<<2);return $i.z(b-v+(n<<2),0,v),ea.set(o,v>>2),ea.set(h,y>>2),u*l>0?($i.add(v,s<<2,y,d<<2,b,n<<2),i=u):i=u>l?(a=$i.sub(v,s<<2,y,d<<2,b,n<<2))?l:u:(a=$i.sub(y,d<<2,v,s<<2,b,n<<2))?u:l,a&&$i.neg(b,n<<2,b,n<<2),0===$i.tst(b,n<<2)?e.ZERO:(p.limbs=new Uint32Array(ea.subarray(b>>2,(b>>2)+n)),p.bitLength=r,p.sign=i,p)}},{key:"subtract",value:function(e){return this.add(e.negate())}},{key:"square",value:function(){if(!this.sign)return e.ZERO;var t,r,n=this.bitLength,i=this.limbs,a=i.length,f=new e;r=31+(t=n<<1)>>5,$i.sreset();var o=$i.salloc(a<<2),s=$i.salloc(r<<2);return $i.z(s-o+(r<<2),0,o),ea.set(i,o>>2),$i.sqr(o,a<<2,s),f.limbs=new Uint32Array(ea.subarray(s>>2,(s>>2)+r)),f.bitLength=t,f.sign=1,f}},{key:"divide",value:function(t){var r,n,i=this.bitLength,a=this.limbs,f=a.length,o=t.bitLength,s=t.limbs,u=s.length,c=e.ZERO,h=e.ZERO;$i.sreset();var d=$i.salloc(f<<2),l=$i.salloc(u<<2),p=$i.salloc(f<<2);return $i.z(p-d+(f<<2),0,d),ea.set(a,d>>2),ea.set(s,l>>2),$i.div(d,f<<2,l,u<<2,p),(r=$i.tst(p,f<<2)>>2)&&((c=new e).limbs=new Uint32Array(ea.subarray(p>>2,(p>>2)+r)),c.bitLength=i<r<<5?i:r<<5,c.sign=this.sign*t.sign),(n=$i.tst(d,u<<2)>>2)&&((h=new e).limbs=new Uint32Array(ea.subarray(d>>2,(d>>2)+n)),h.bitLength=o<n<<5?o:n<<5,h.sign=this.sign),{quotient:c,remainder:h}}},{key:"multiply",value:function(t){if(!this.sign||!t.sign)return e.ZERO;var r,n,i=this.bitLength,a=this.limbs,f=a.length,o=t.bitLength,s=t.limbs,u=s.length,c=new e;n=(r=i+o)+31>>5,$i.sreset();var h=$i.salloc(f<<2),d=$i.salloc(u<<2),l=$i.salloc(n<<2);return $i.z(l-h+(n<<2),0,h),ea.set(a,h>>2),ea.set(s,d>>2),$i.mul(h,f<<2,d,u<<2,l,n<<2),c.limbs=new Uint32Array(ea.subarray(l>>2,(l>>2)+n)),c.sign=this.sign*t.sign,c.bitLength=r,c}},{key:"isMillerRabinProbablePrime",value:function(t){var r=e.fromConfig(this),n=0;for(r.limbs[0]-=1;0===r.limbs[n>>5];)n+=32;for(;!(r.limbs[n>>5]>>(31&n)&1);)n++;r=r.slice(n);for(var i=new na(this),a=this.subtract(e.ONE),f=e.fromConfig(this),o=this.limbs.length-1;0===f.limbs[o];)o--;for(;--t>=0;){for(Yi(f.limbs),f.limbs[0]<2&&(f.limbs[0]+=2);f.compare(a)>=0;)f.limbs[o]>>>=1;var s=i.power(f,r);if(0!==s.compare(e.ONE)&&0!==s.compare(a)){for(var u=n;--u>0;){if(0===(s=s.square().divide(i).remainder).compare(e.ONE))return!1;if(0===s.compare(a))break}if(0===u)return!1}}return!0}},{key:"isProbablePrime",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:80,t=this.limbs,r=0;if(!(1&t[0]))return!1;if(e<=1)return!0;var n=0,i=0,a=0;for(r=0;r<t.length;r++){for(var f=t[r];f;)n+=3&f,f>>>=2;for(var o=t[r];o;)i+=3&o,i-=3&(o>>>=2),o>>>=2;for(var s=t[r];s;)a+=15&s,a-=15&(s>>>=4),s>>>=4}return!!(n%3&&i%5&&a%17)&&(e<=2||this.isMillerRabinProbablePrime(e>>>1))}}],[{key:"fromString",value:function(t){var r=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e.length,n=new Uint8Array(t?4*r:r),i=0,a=0;i<r;i++){var f=e.charCodeAt(i);if(t&&55296<=f&&f<=56319){if(++i>=r)throw new Error("Malformed string, low surrogate expected at position "+i);f=(55296^f)<<10|65536|56320^e.charCodeAt(i)}else if(!t&&f>>>8)throw new Error("Wide characters are not allowed.");!t||f<=127?n[a++]=f:f<=2047?(n[a++]=192|f>>6,n[a++]=128|63&f):f<=65535?(n[a++]=224|f>>12,n[a++]=128|f>>6&63,n[a++]=128|63&f):(n[a++]=240|f>>18,n[a++]=128|f>>12&63,n[a++]=128|f>>6&63,n[a++]=128|63&f)}return n.subarray(0,a)}(t);return new e(r)}},{key:"fromNumber",value:function(t){var r,n=ta,i=0,a=Math.abs(t);return a>4294967295?((n=new Uint32Array(2))[0]=0|a,n[1]=a/4294967296|0,i=52):a>0?((n=new Uint32Array(1))[0]=a,i=32):(n=ta,i=0),r=t<0?-1:1,e.fromConfig({limbs:n,bitLength:i,sign:r})}},{key:"fromArrayBuffer",value:function(t){return new e(new Uint8Array(t))}},{key:"fromConfig",value:function(t){var r=new e;return r.limbs=new Uint32Array(t.limbs),r.bitLength=t.bitLength,r.sign=t.sign,r}}])}();ra.extGCD=Xi,ra.ZERO=ra.fromNumber(0),ra.ONE=ra.fromNumber(1);var na=function(e){function t(e){var r,n;if(V(this,t),(r=U(this,t)).limbs=e.limbs,r.bitLength=e.bitLength,r.sign=e.sign,r.valueOf()<1)throw new RangeError;if(r.bitLength<=32)return I(r);if(!(1&r.limbs[0]))return I(r);var i=1+(r.bitLength+31&-32),a=new Uint32Array(i+31>>5);a[a.length-1]=1,(n=new ra).sign=1,n.bitLength=i,n.limbs=a;var f=function(e,t){var r,n,i,a,f=e<0?-1:1,o=t<0?-1:1,s=1,u=0,c=0,h=1;for((a=(e*=f)<(t*=o))&&(i=e,e=t,t=i,i=f,f=o,o=i),r=e-(n=Math.floor(e/t))*t;r;)i=s-n*u,s=u,u=i,i=c-n*h,c=h,h=i,e=t,t=r,r=e-(n=Math.floor(e/t))*t;return u*=f,h*=o,a&&(i=u,u=h,h=i),{gcd:t,x:u,y:h}}(4294967296,r.limbs[0]).y;return r.coefficient=f<0?-f:4294967296-f,r.comodulus=n,r.comodulusRemainder=n.divide(r).remainder,r.comodulusRemainderSquare=n.square().divide(r).remainder,r}return D(t,e),q(t,[{key:"reduce",value:function(e){return e.bitLength<=32&&this.bitLength<=32?ra.fromNumber(e.valueOf()%this.valueOf()):e.compare(this)<0?e:e.divide(this).remainder}},{key:"inverse",value:function(e){var t=Xi(this,e=this.reduce(e));if(1!==t.gcd.valueOf())throw new Error("GCD is not 1");return t.y.sign<0?t.y.add(this).clamp(this.bitLength):t.y}},{key:"power",value:function(e,r){for(var n=0,i=0;i<r.limbs.length;i++)for(var a=r.limbs[i];a;)1&a&&n++,a>>>=1;var f=8;r.bitLength<=4536&&(f=7),r.bitLength<=1736&&(f=6),r.bitLength<=630&&(f=5),r.bitLength<=210&&(f=4),r.bitLength<=60&&(f=3),r.bitLength<=12&&(f=2),n<=1<<f-1&&(f=1),e=t._Montgomery_reduce(this.reduce(e).multiply(this.comodulusRemainderSquare),this);var o=t._Montgomery_reduce(e.square(),this),s=new Array(1<<f-1);s[0]=e,s[1]=t._Montgomery_reduce(e.multiply(o),this);for(var u=2;u<1<<f-1;u++)s[u]=t._Montgomery_reduce(s[u-1].multiply(o),this);for(var c=this.comodulusRemainder,h=c,d=r.limbs.length-1;d>=0;d--)for(var l=r.limbs[d],p=32;p>0;)if(2147483648&l){for(var v=l>>>32-f,y=f;!(1&v);)v>>>=1,y--;for(var b=s[v>>>1];v;)v>>>=1,h!==c&&(h=t._Montgomery_reduce(h.square(),this));h=h!==c?t._Montgomery_reduce(h.multiply(b),this):b,l<<=y,p-=y}else h!==c&&(h=t._Montgomery_reduce(h.square(),this)),l<<=1,p--;return t._Montgomery_reduce(h,this)}}],[{key:"_Montgomery_reduce",value:function(e,t){var r=e.limbs,n=r.length,i=t.limbs,a=i.length,f=t.coefficient;$i.sreset();var o=$i.salloc(n<<2),s=$i.salloc(a<<2),u=$i.salloc(a<<2);$i.z(u-o+(a<<2),0,o),ea.set(r,o>>2),ea.set(i,s>>2),$i.mredc(o,n<<2,s,a<<2,f,u);var c=new ra;return c.limbs=new Uint32Array(ea.subarray(u>>2,(u>>2)+a)),c.bitLength=t.bitLength,c.sign=1,c}}])}(ra),ia=function(){return q((function e(){V(this,e),this.pos=0,this.len=0}),[{key:"reset",value:function(){return this.result=null,this.pos=0,this.len=0,this.asm.reset(),this}},{key:"process",value:function(e){if(null!==this.result)throw new Hi("state must be reset before processing new data");for(var t=this.asm,r=this.heap,n=this.pos,i=this.len,a=0,f=e.length,o=0;f>0;)i+=o=Di(r,n+i,e,a,f),a+=o,f-=o,n+=o=t.process(n,i),(i-=o)||(n=0);return this.pos=n,this.len=i,this}},{key:"finish",value:function(){if(null!==this.result)throw new Hi("state must be reset before processing new data");return this.asm.finish(this.pos,this.len,0),this.result=new Uint8Array(this.HASH_SIZE),this.result.set(this.heap.subarray(0,this.HASH_SIZE)),this.pos=0,this.len=0,this}}])}(),aa=function(e){function t(){var e;return V(this,t),(e=U(this,t)).NAME="sha1",e.BLOCK_SIZE=64,e.HASH_SIZE=20,e.heap=Li(),e.asm=function(e,t,r){"use asm";var n=0,i=0,a=0,f=0,o=0,s=0,u=0,c=0,h=0,d=0,l=0,p=0,v=0,y=0,b=0,g=0,m=0,w=new e.Uint8Array(r);function x(e,t,r,s,u,c,h,d,l,p,v,y,b,g,m,w){e=e|0;t=t|0;r=r|0;s=s|0;u=u|0;c=c|0;h=h|0;d=d|0;l=l|0;p=p|0;v=v|0;y=y|0;b=b|0;g=g|0;m=m|0;w=w|0;var x=0,k=0,A=0,S=0,E=0,B=0,M=0,C=0,_=0,N=0,U=0,I=0,K=0,P=0,O=0,L=0,D=0,R=0,H=0,T=0,F=0,z=0,V=0,j=0,q=0,J=0,G=0,Z=0,W=0,X=0,Y=0,$=0,Q=0,ee=0,te=0,re=0,ne=0,ie=0,ae=0,fe=0,oe=0,se=0,ue=0,ce=0,he=0,de=0,le=0,pe=0,ve=0,ye=0,be=0,ge=0,me=0,we=0,xe=0,ke=0,Ae=0,Se=0,Ee=0,Be=0,Me=0,Ce=0,_e=0,Ne=0,Ue=0,Ie=0,Ke=0,Pe=0,Oe=0,Le=0,De=0;x=n;k=i;A=a;S=f;E=o;M=e+(x<<5|x>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;M=t+(x<<5|x>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;M=r+(x<<5|x>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;M=s+(x<<5|x>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;M=u+(x<<5|x>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;M=c+(x<<5|x>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;M=h+(x<<5|x>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;M=d+(x<<5|x>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;M=l+(x<<5|x>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;M=p+(x<<5|x>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;M=v+(x<<5|x>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;M=y+(x<<5|x>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;M=b+(x<<5|x>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;M=g+(x<<5|x>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;M=m+(x<<5|x>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;M=w+(x<<5|x>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=g^l^r^e;C=B<<1|B>>>31;M=C+(x<<5|x>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=m^p^s^t;_=B<<1|B>>>31;M=_+(x<<5|x>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=w^v^u^r;N=B<<1|B>>>31;M=N+(x<<5|x>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=C^y^c^s;U=B<<1|B>>>31;M=U+(x<<5|x>>>27)+E+(k&A|~k&S)+0x5a827999|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=_^b^h^u;I=B<<1|B>>>31;M=I+(x<<5|x>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=N^g^d^c;K=B<<1|B>>>31;M=K+(x<<5|x>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=U^m^l^h;P=B<<1|B>>>31;M=P+(x<<5|x>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=I^w^p^d;O=B<<1|B>>>31;M=O+(x<<5|x>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=K^C^v^l;L=B<<1|B>>>31;M=L+(x<<5|x>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=P^_^y^p;D=B<<1|B>>>31;M=D+(x<<5|x>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=O^N^b^v;R=B<<1|B>>>31;M=R+(x<<5|x>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=L^U^g^y;H=B<<1|B>>>31;M=H+(x<<5|x>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=D^I^m^b;T=B<<1|B>>>31;M=T+(x<<5|x>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=R^K^w^g;F=B<<1|B>>>31;M=F+(x<<5|x>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=H^P^C^m;z=B<<1|B>>>31;M=z+(x<<5|x>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=T^O^_^w;V=B<<1|B>>>31;M=V+(x<<5|x>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=F^L^N^C;j=B<<1|B>>>31;M=j+(x<<5|x>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=z^D^U^_;q=B<<1|B>>>31;M=q+(x<<5|x>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=V^R^I^N;J=B<<1|B>>>31;M=J+(x<<5|x>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=j^H^K^U;G=B<<1|B>>>31;M=G+(x<<5|x>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=q^T^P^I;Z=B<<1|B>>>31;M=Z+(x<<5|x>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=J^F^O^K;W=B<<1|B>>>31;M=W+(x<<5|x>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=G^z^L^P;X=B<<1|B>>>31;M=X+(x<<5|x>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=Z^V^D^O;Y=B<<1|B>>>31;M=Y+(x<<5|x>>>27)+E+(k^A^S)+0x6ed9eba1|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=W^j^R^L;$=B<<1|B>>>31;M=$+(x<<5|x>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=X^q^H^D;Q=B<<1|B>>>31;M=Q+(x<<5|x>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=Y^J^T^R;ee=B<<1|B>>>31;M=ee+(x<<5|x>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=$^G^F^H;te=B<<1|B>>>31;M=te+(x<<5|x>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=Q^Z^z^T;re=B<<1|B>>>31;M=re+(x<<5|x>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=ee^W^V^F;ne=B<<1|B>>>31;M=ne+(x<<5|x>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=te^X^j^z;ie=B<<1|B>>>31;M=ie+(x<<5|x>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=re^Y^q^V;ae=B<<1|B>>>31;M=ae+(x<<5|x>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=ne^$^J^j;fe=B<<1|B>>>31;M=fe+(x<<5|x>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=ie^Q^G^q;oe=B<<1|B>>>31;M=oe+(x<<5|x>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=ae^ee^Z^J;se=B<<1|B>>>31;M=se+(x<<5|x>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=fe^te^W^G;ue=B<<1|B>>>31;M=ue+(x<<5|x>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=oe^re^X^Z;ce=B<<1|B>>>31;M=ce+(x<<5|x>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=se^ne^Y^W;he=B<<1|B>>>31;M=he+(x<<5|x>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=ue^ie^$^X;de=B<<1|B>>>31;M=de+(x<<5|x>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=ce^ae^Q^Y;le=B<<1|B>>>31;M=le+(x<<5|x>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=he^fe^ee^$;pe=B<<1|B>>>31;M=pe+(x<<5|x>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=de^oe^te^Q;ve=B<<1|B>>>31;M=ve+(x<<5|x>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=le^se^re^ee;ye=B<<1|B>>>31;M=ye+(x<<5|x>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=pe^ue^ne^te;be=B<<1|B>>>31;M=be+(x<<5|x>>>27)+E+(k&A|k&S|A&S)-0x70e44324|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=ve^ce^ie^re;ge=B<<1|B>>>31;M=ge+(x<<5|x>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=ye^he^ae^ne;me=B<<1|B>>>31;M=me+(x<<5|x>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=be^de^fe^ie;we=B<<1|B>>>31;M=we+(x<<5|x>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=ge^le^oe^ae;xe=B<<1|B>>>31;M=xe+(x<<5|x>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=me^pe^se^fe;ke=B<<1|B>>>31;M=ke+(x<<5|x>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=we^ve^ue^oe;Ae=B<<1|B>>>31;M=Ae+(x<<5|x>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=xe^ye^ce^se;Se=B<<1|B>>>31;M=Se+(x<<5|x>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=ke^be^he^ue;Ee=B<<1|B>>>31;M=Ee+(x<<5|x>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=Ae^ge^de^ce;Be=B<<1|B>>>31;M=Be+(x<<5|x>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=Se^me^le^he;Me=B<<1|B>>>31;M=Me+(x<<5|x>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=Ee^we^pe^de;Ce=B<<1|B>>>31;M=Ce+(x<<5|x>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=Be^xe^ve^le;_e=B<<1|B>>>31;M=_e+(x<<5|x>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=Me^ke^ye^pe;Ne=B<<1|B>>>31;M=Ne+(x<<5|x>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=Ce^Ae^be^ve;Ue=B<<1|B>>>31;M=Ue+(x<<5|x>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=_e^Se^ge^ye;Ie=B<<1|B>>>31;M=Ie+(x<<5|x>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=Ne^Ee^me^be;Ke=B<<1|B>>>31;M=Ke+(x<<5|x>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=Ue^Be^we^ge;Pe=B<<1|B>>>31;M=Pe+(x<<5|x>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=Ie^Me^xe^me;Oe=B<<1|B>>>31;M=Oe+(x<<5|x>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=Ke^Ce^ke^we;Le=B<<1|B>>>31;M=Le+(x<<5|x>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;B=Pe^_e^Ae^xe;De=B<<1|B>>>31;M=De+(x<<5|x>>>27)+E+(k^A^S)-0x359d3e2a|0;E=S;S=A;A=k<<30|k>>>2;k=x;x=M;n=n+x|0;i=i+k|0;a=a+A|0;f=f+S|0;o=o+E|0}function k(e){e=e|0;x(w[e|0]<<24|w[e|1]<<16|w[e|2]<<8|w[e|3],w[e|4]<<24|w[e|5]<<16|w[e|6]<<8|w[e|7],w[e|8]<<24|w[e|9]<<16|w[e|10]<<8|w[e|11],w[e|12]<<24|w[e|13]<<16|w[e|14]<<8|w[e|15],w[e|16]<<24|w[e|17]<<16|w[e|18]<<8|w[e|19],w[e|20]<<24|w[e|21]<<16|w[e|22]<<8|w[e|23],w[e|24]<<24|w[e|25]<<16|w[e|26]<<8|w[e|27],w[e|28]<<24|w[e|29]<<16|w[e|30]<<8|w[e|31],w[e|32]<<24|w[e|33]<<16|w[e|34]<<8|w[e|35],w[e|36]<<24|w[e|37]<<16|w[e|38]<<8|w[e|39],w[e|40]<<24|w[e|41]<<16|w[e|42]<<8|w[e|43],w[e|44]<<24|w[e|45]<<16|w[e|46]<<8|w[e|47],w[e|48]<<24|w[e|49]<<16|w[e|50]<<8|w[e|51],w[e|52]<<24|w[e|53]<<16|w[e|54]<<8|w[e|55],w[e|56]<<24|w[e|57]<<16|w[e|58]<<8|w[e|59],w[e|60]<<24|w[e|61]<<16|w[e|62]<<8|w[e|63])}function A(e){e=e|0;w[e|0]=n>>>24;w[e|1]=n>>>16&255;w[e|2]=n>>>8&255;w[e|3]=n&255;w[e|4]=i>>>24;w[e|5]=i>>>16&255;w[e|6]=i>>>8&255;w[e|7]=i&255;w[e|8]=a>>>24;w[e|9]=a>>>16&255;w[e|10]=a>>>8&255;w[e|11]=a&255;w[e|12]=f>>>24;w[e|13]=f>>>16&255;w[e|14]=f>>>8&255;w[e|15]=f&255;w[e|16]=o>>>24;w[e|17]=o>>>16&255;w[e|18]=o>>>8&255;w[e|19]=o&255}function S(){n=0x67452301;i=0xefcdab89;a=0x98badcfe;f=0x10325476;o=0xc3d2e1f0;s=u=0}function E(e,t,r,c,h,d,l){e=e|0;t=t|0;r=r|0;c=c|0;h=h|0;d=d|0;l=l|0;n=e;i=t;a=r;f=c;o=h;s=d;u=l}function B(e,t){e=e|0;t=t|0;var r=0;if(e&63)return-1;while((t|0)>=64){k(e);e=e+64|0;t=t-64|0;r=r+64|0}s=s+r|0;if(s>>>0<r>>>0)u=u+1|0;return r|0}function M(e,t,r){e=e|0;t=t|0;r=r|0;var n=0,i=0;if(e&63)return-1;if(~r)if(r&31)return-1;if((t|0)>=64){n=B(e,t)|0;if((n|0)==-1)return-1;e=e+n|0;t=t-n|0}n=n+t|0;s=s+t|0;if(s>>>0<t>>>0)u=u+1|0;w[e|t]=0x80;if((t|0)>=56){for(i=t+1|0;(i|0)<64;i=i+1|0)w[e|i]=0x00;k(e);t=0;w[e|0]=0}for(i=t+1|0;(i|0)<59;i=i+1|0)w[e|i]=0;w[e|56]=u>>>21&255;w[e|57]=u>>>13&255;w[e|58]=u>>>5&255;w[e|59]=u<<3&255|s>>>29;w[e|60]=s>>>21&255;w[e|61]=s>>>13&255;w[e|62]=s>>>5&255;w[e|63]=s<<3&255;k(e);if(~r)A(r);return n|0}function C(){n=c;i=h;a=d;f=l;o=p;s=64;u=0}function _(){n=v;i=y;a=b;f=g;o=m;s=64;u=0}function N(e,t,r,w,k,A,E,B,M,C,_,N,U,I,K,P){e=e|0;t=t|0;r=r|0;w=w|0;k=k|0;A=A|0;E=E|0;B=B|0;M=M|0;C=C|0;_=_|0;N=N|0;U=U|0;I=I|0;K=K|0;P=P|0;S();x(e^0x5c5c5c5c,t^0x5c5c5c5c,r^0x5c5c5c5c,w^0x5c5c5c5c,k^0x5c5c5c5c,A^0x5c5c5c5c,E^0x5c5c5c5c,B^0x5c5c5c5c,M^0x5c5c5c5c,C^0x5c5c5c5c,_^0x5c5c5c5c,N^0x5c5c5c5c,U^0x5c5c5c5c,I^0x5c5c5c5c,K^0x5c5c5c5c,P^0x5c5c5c5c);v=n;y=i;b=a;g=f;m=o;S();x(e^0x36363636,t^0x36363636,r^0x36363636,w^0x36363636,k^0x36363636,A^0x36363636,E^0x36363636,B^0x36363636,M^0x36363636,C^0x36363636,_^0x36363636,N^0x36363636,U^0x36363636,I^0x36363636,K^0x36363636,P^0x36363636);c=n;h=i;d=a;l=f;p=o;s=64;u=0}function U(e,t,r){e=e|0;t=t|0;r=r|0;var s=0,u=0,c=0,h=0,d=0,l=0;if(e&63)return-1;if(~r)if(r&31)return-1;l=M(e,t,-1)|0;s=n,u=i,c=a,h=f,d=o;_();x(s,u,c,h,d,0x80000000,0,0,0,0,0,0,0,0,0,672);if(~r)A(r);return l|0}function I(e,t,r,s,u){e=e|0;t=t|0;r=r|0;s=s|0;u=u|0;var c=0,h=0,d=0,l=0,p=0,v=0,y=0,b=0,g=0,m=0;if(e&63)return-1;if(~u)if(u&31)return-1;w[e+t|0]=r>>>24;w[e+t+1|0]=r>>>16&255;w[e+t+2|0]=r>>>8&255;w[e+t+3|0]=r&255;U(e,t+4|0,-1)|0;c=v=n,h=y=i,d=b=a,l=g=f,p=m=o;s=s-1|0;while((s|0)>0){C();x(v,y,b,g,m,0x80000000,0,0,0,0,0,0,0,0,0,672);v=n,y=i,b=a,g=f,m=o;_();x(v,y,b,g,m,0x80000000,0,0,0,0,0,0,0,0,0,672);v=n,y=i,b=a,g=f,m=o;c=c^n;h=h^i;d=d^a;l=l^f;p=p^o;s=s-1|0}n=c;i=h;a=d;f=l;o=p;if(~u)A(u);return 0}return{reset:S,init:E,process:B,finish:M,hmac_reset:C,hmac_init:N,hmac_finish:U,pbkdf2_generate_block:I}}({Uint8Array},0,e.heap.buffer),e.reset(),e}return D(t,e),q(t)}(ia);aa.NAME="sha1";var fa=function(e){function t(){var e;return V(this,t),(e=U(this,t)).NAME="sha256",e.BLOCK_SIZE=64,e.HASH_SIZE=32,e.heap=Li(),e.asm=function(e,t,r){"use asm";var n=0,i=0,a=0,f=0,o=0,s=0,u=0,c=0,h=0,d=0,l=0,p=0,v=0,y=0,b=0,g=0,m=0,w=0,x=0,k=0,A=0,S=0,E=0,B=0,M=0,C=0,_=new e.Uint8Array(r);function N(e,t,r,h,d,l,p,v,y,b,g,m,w,x,k,A){e=e|0;t=t|0;r=r|0;h=h|0;d=d|0;l=l|0;p=p|0;v=v|0;y=y|0;b=b|0;g=g|0;m=m|0;w=w|0;x=x|0;k=k|0;A=A|0;var S=0,E=0,B=0,M=0,C=0,_=0,N=0,U=0;S=n;E=i;B=a;M=f;C=o;_=s;N=u;U=c;U=e+U+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(N^C&(_^N))+0x428a2f98|0;M=M+U|0;U=U+(S&E^B&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;N=t+N+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(_^M&(C^_))+0x71374491|0;B=B+N|0;N=N+(U&S^E&(U^S))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;_=r+_+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(C^B&(M^C))+0xb5c0fbcf|0;E=E+_|0;_=_+(N&U^S&(N^U))+(N>>>2^N>>>13^N>>>22^N<<30^N<<19^N<<10)|0;C=h+C+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(M^E&(B^M))+0xe9b5dba5|0;S=S+C|0;C=C+(_&N^U&(_^N))+(_>>>2^_>>>13^_>>>22^_<<30^_<<19^_<<10)|0;M=d+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(B^S&(E^B))+0x3956c25b|0;U=U+M|0;M=M+(C&_^N&(C^_))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;B=l+B+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(E^U&(S^E))+0x59f111f1|0;N=N+B|0;B=B+(M&C^_&(M^C))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;E=p+E+(N>>>6^N>>>11^N>>>25^N<<26^N<<21^N<<7)+(S^N&(U^S))+0x923f82a4|0;_=_+E|0;E=E+(B&M^C&(B^M))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;S=v+S+(_>>>6^_>>>11^_>>>25^_<<26^_<<21^_<<7)+(U^_&(N^U))+0xab1c5ed5|0;C=C+S|0;S=S+(E&B^M&(E^B))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;U=y+U+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(N^C&(_^N))+0xd807aa98|0;M=M+U|0;U=U+(S&E^B&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;N=b+N+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(_^M&(C^_))+0x12835b01|0;B=B+N|0;N=N+(U&S^E&(U^S))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;_=g+_+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(C^B&(M^C))+0x243185be|0;E=E+_|0;_=_+(N&U^S&(N^U))+(N>>>2^N>>>13^N>>>22^N<<30^N<<19^N<<10)|0;C=m+C+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(M^E&(B^M))+0x550c7dc3|0;S=S+C|0;C=C+(_&N^U&(_^N))+(_>>>2^_>>>13^_>>>22^_<<30^_<<19^_<<10)|0;M=w+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(B^S&(E^B))+0x72be5d74|0;U=U+M|0;M=M+(C&_^N&(C^_))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;B=x+B+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(E^U&(S^E))+0x80deb1fe|0;N=N+B|0;B=B+(M&C^_&(M^C))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;E=k+E+(N>>>6^N>>>11^N>>>25^N<<26^N<<21^N<<7)+(S^N&(U^S))+0x9bdc06a7|0;_=_+E|0;E=E+(B&M^C&(B^M))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;S=A+S+(_>>>6^_>>>11^_>>>25^_<<26^_<<21^_<<7)+(U^_&(N^U))+0xc19bf174|0;C=C+S|0;S=S+(E&B^M&(E^B))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;e=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(k>>>17^k>>>19^k>>>10^k<<15^k<<13)+e+b|0;U=e+U+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(N^C&(_^N))+0xe49b69c1|0;M=M+U|0;U=U+(S&E^B&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+t+g|0;N=t+N+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(_^M&(C^_))+0xefbe4786|0;B=B+N|0;N=N+(U&S^E&(U^S))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;r=(h>>>7^h>>>18^h>>>3^h<<25^h<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+m|0;_=r+_+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(C^B&(M^C))+0x0fc19dc6|0;E=E+_|0;_=_+(N&U^S&(N^U))+(N>>>2^N>>>13^N>>>22^N<<30^N<<19^N<<10)|0;h=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+h+w|0;C=h+C+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(M^E&(B^M))+0x240ca1cc|0;S=S+C|0;C=C+(_&N^U&(_^N))+(_>>>2^_>>>13^_>>>22^_<<30^_<<19^_<<10)|0;d=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+d+x|0;M=d+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(B^S&(E^B))+0x2de92c6f|0;U=U+M|0;M=M+(C&_^N&(C^_))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;l=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(h>>>17^h>>>19^h>>>10^h<<15^h<<13)+l+k|0;B=l+B+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(E^U&(S^E))+0x4a7484aa|0;N=N+B|0;B=B+(M&C^_&(M^C))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;p=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+p+A|0;E=p+E+(N>>>6^N>>>11^N>>>25^N<<26^N<<21^N<<7)+(S^N&(U^S))+0x5cb0a9dc|0;_=_+E|0;E=E+(B&M^C&(B^M))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;v=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+v+e|0;S=v+S+(_>>>6^_>>>11^_>>>25^_<<26^_<<21^_<<7)+(U^_&(N^U))+0x76f988da|0;C=C+S|0;S=S+(E&B^M&(E^B))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;y=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+y+t|0;U=y+U+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(N^C&(_^N))+0x983e5152|0;M=M+U|0;U=U+(S&E^B&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;b=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+b+r|0;N=b+N+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(_^M&(C^_))+0xa831c66d|0;B=B+N|0;N=N+(U&S^E&(U^S))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;g=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+g+h|0;_=g+_+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(C^B&(M^C))+0xb00327c8|0;E=E+_|0;_=_+(N&U^S&(N^U))+(N>>>2^N>>>13^N>>>22^N<<30^N<<19^N<<10)|0;m=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+m+d|0;C=m+C+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(M^E&(B^M))+0xbf597fc7|0;S=S+C|0;C=C+(_&N^U&(_^N))+(_>>>2^_>>>13^_>>>22^_<<30^_<<19^_<<10)|0;w=(x>>>7^x>>>18^x>>>3^x<<25^x<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+w+l|0;M=w+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(B^S&(E^B))+0xc6e00bf3|0;U=U+M|0;M=M+(C&_^N&(C^_))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;x=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+x+p|0;B=x+B+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(E^U&(S^E))+0xd5a79147|0;N=N+B|0;B=B+(M&C^_&(M^C))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;k=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+k+v|0;E=k+E+(N>>>6^N>>>11^N>>>25^N<<26^N<<21^N<<7)+(S^N&(U^S))+0x06ca6351|0;_=_+E|0;E=E+(B&M^C&(B^M))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;A=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(x>>>17^x>>>19^x>>>10^x<<15^x<<13)+A+y|0;S=A+S+(_>>>6^_>>>11^_>>>25^_<<26^_<<21^_<<7)+(U^_&(N^U))+0x14292967|0;C=C+S|0;S=S+(E&B^M&(E^B))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;e=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(k>>>17^k>>>19^k>>>10^k<<15^k<<13)+e+b|0;U=e+U+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(N^C&(_^N))+0x27b70a85|0;M=M+U|0;U=U+(S&E^B&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+t+g|0;N=t+N+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(_^M&(C^_))+0x2e1b2138|0;B=B+N|0;N=N+(U&S^E&(U^S))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;r=(h>>>7^h>>>18^h>>>3^h<<25^h<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+m|0;_=r+_+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(C^B&(M^C))+0x4d2c6dfc|0;E=E+_|0;_=_+(N&U^S&(N^U))+(N>>>2^N>>>13^N>>>22^N<<30^N<<19^N<<10)|0;h=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+h+w|0;C=h+C+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(M^E&(B^M))+0x53380d13|0;S=S+C|0;C=C+(_&N^U&(_^N))+(_>>>2^_>>>13^_>>>22^_<<30^_<<19^_<<10)|0;d=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+d+x|0;M=d+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(B^S&(E^B))+0x650a7354|0;U=U+M|0;M=M+(C&_^N&(C^_))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;l=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(h>>>17^h>>>19^h>>>10^h<<15^h<<13)+l+k|0;B=l+B+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(E^U&(S^E))+0x766a0abb|0;N=N+B|0;B=B+(M&C^_&(M^C))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;p=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+p+A|0;E=p+E+(N>>>6^N>>>11^N>>>25^N<<26^N<<21^N<<7)+(S^N&(U^S))+0x81c2c92e|0;_=_+E|0;E=E+(B&M^C&(B^M))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;v=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+v+e|0;S=v+S+(_>>>6^_>>>11^_>>>25^_<<26^_<<21^_<<7)+(U^_&(N^U))+0x92722c85|0;C=C+S|0;S=S+(E&B^M&(E^B))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;y=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+y+t|0;U=y+U+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(N^C&(_^N))+0xa2bfe8a1|0;M=M+U|0;U=U+(S&E^B&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;b=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+b+r|0;N=b+N+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(_^M&(C^_))+0xa81a664b|0;B=B+N|0;N=N+(U&S^E&(U^S))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;g=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+g+h|0;_=g+_+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(C^B&(M^C))+0xc24b8b70|0;E=E+_|0;_=_+(N&U^S&(N^U))+(N>>>2^N>>>13^N>>>22^N<<30^N<<19^N<<10)|0;m=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+m+d|0;C=m+C+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(M^E&(B^M))+0xc76c51a3|0;S=S+C|0;C=C+(_&N^U&(_^N))+(_>>>2^_>>>13^_>>>22^_<<30^_<<19^_<<10)|0;w=(x>>>7^x>>>18^x>>>3^x<<25^x<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+w+l|0;M=w+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(B^S&(E^B))+0xd192e819|0;U=U+M|0;M=M+(C&_^N&(C^_))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;x=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+x+p|0;B=x+B+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(E^U&(S^E))+0xd6990624|0;N=N+B|0;B=B+(M&C^_&(M^C))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;k=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+k+v|0;E=k+E+(N>>>6^N>>>11^N>>>25^N<<26^N<<21^N<<7)+(S^N&(U^S))+0xf40e3585|0;_=_+E|0;E=E+(B&M^C&(B^M))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;A=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(x>>>17^x>>>19^x>>>10^x<<15^x<<13)+A+y|0;S=A+S+(_>>>6^_>>>11^_>>>25^_<<26^_<<21^_<<7)+(U^_&(N^U))+0x106aa070|0;C=C+S|0;S=S+(E&B^M&(E^B))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;e=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(k>>>17^k>>>19^k>>>10^k<<15^k<<13)+e+b|0;U=e+U+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(N^C&(_^N))+0x19a4c116|0;M=M+U|0;U=U+(S&E^B&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+t+g|0;N=t+N+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(_^M&(C^_))+0x1e376c08|0;B=B+N|0;N=N+(U&S^E&(U^S))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;r=(h>>>7^h>>>18^h>>>3^h<<25^h<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+m|0;_=r+_+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(C^B&(M^C))+0x2748774c|0;E=E+_|0;_=_+(N&U^S&(N^U))+(N>>>2^N>>>13^N>>>22^N<<30^N<<19^N<<10)|0;h=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+h+w|0;C=h+C+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(M^E&(B^M))+0x34b0bcb5|0;S=S+C|0;C=C+(_&N^U&(_^N))+(_>>>2^_>>>13^_>>>22^_<<30^_<<19^_<<10)|0;d=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+d+x|0;M=d+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(B^S&(E^B))+0x391c0cb3|0;U=U+M|0;M=M+(C&_^N&(C^_))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;l=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(h>>>17^h>>>19^h>>>10^h<<15^h<<13)+l+k|0;B=l+B+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(E^U&(S^E))+0x4ed8aa4a|0;N=N+B|0;B=B+(M&C^_&(M^C))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;p=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+p+A|0;E=p+E+(N>>>6^N>>>11^N>>>25^N<<26^N<<21^N<<7)+(S^N&(U^S))+0x5b9cca4f|0;_=_+E|0;E=E+(B&M^C&(B^M))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;v=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+v+e|0;S=v+S+(_>>>6^_>>>11^_>>>25^_<<26^_<<21^_<<7)+(U^_&(N^U))+0x682e6ff3|0;C=C+S|0;S=S+(E&B^M&(E^B))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;y=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+y+t|0;U=y+U+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(N^C&(_^N))+0x748f82ee|0;M=M+U|0;U=U+(S&E^B&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;b=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+b+r|0;N=b+N+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(_^M&(C^_))+0x78a5636f|0;B=B+N|0;N=N+(U&S^E&(U^S))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;g=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+g+h|0;_=g+_+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(C^B&(M^C))+0x84c87814|0;E=E+_|0;_=_+(N&U^S&(N^U))+(N>>>2^N>>>13^N>>>22^N<<30^N<<19^N<<10)|0;m=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+m+d|0;C=m+C+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(M^E&(B^M))+0x8cc70208|0;S=S+C|0;C=C+(_&N^U&(_^N))+(_>>>2^_>>>13^_>>>22^_<<30^_<<19^_<<10)|0;w=(x>>>7^x>>>18^x>>>3^x<<25^x<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+w+l|0;M=w+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(B^S&(E^B))+0x90befffa|0;U=U+M|0;M=M+(C&_^N&(C^_))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;x=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+x+p|0;B=x+B+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(E^U&(S^E))+0xa4506ceb|0;N=N+B|0;B=B+(M&C^_&(M^C))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;k=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+k+v|0;E=k+E+(N>>>6^N>>>11^N>>>25^N<<26^N<<21^N<<7)+(S^N&(U^S))+0xbef9a3f7|0;_=_+E|0;E=E+(B&M^C&(B^M))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;A=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(x>>>17^x>>>19^x>>>10^x<<15^x<<13)+A+y|0;S=A+S+(_>>>6^_>>>11^_>>>25^_<<26^_<<21^_<<7)+(U^_&(N^U))+0xc67178f2|0;C=C+S|0;S=S+(E&B^M&(E^B))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;n=n+S|0;i=i+E|0;a=a+B|0;f=f+M|0;o=o+C|0;s=s+_|0;u=u+N|0;c=c+U|0}function U(e){e=e|0;N(_[e|0]<<24|_[e|1]<<16|_[e|2]<<8|_[e|3],_[e|4]<<24|_[e|5]<<16|_[e|6]<<8|_[e|7],_[e|8]<<24|_[e|9]<<16|_[e|10]<<8|_[e|11],_[e|12]<<24|_[e|13]<<16|_[e|14]<<8|_[e|15],_[e|16]<<24|_[e|17]<<16|_[e|18]<<8|_[e|19],_[e|20]<<24|_[e|21]<<16|_[e|22]<<8|_[e|23],_[e|24]<<24|_[e|25]<<16|_[e|26]<<8|_[e|27],_[e|28]<<24|_[e|29]<<16|_[e|30]<<8|_[e|31],_[e|32]<<24|_[e|33]<<16|_[e|34]<<8|_[e|35],_[e|36]<<24|_[e|37]<<16|_[e|38]<<8|_[e|39],_[e|40]<<24|_[e|41]<<16|_[e|42]<<8|_[e|43],_[e|44]<<24|_[e|45]<<16|_[e|46]<<8|_[e|47],_[e|48]<<24|_[e|49]<<16|_[e|50]<<8|_[e|51],_[e|52]<<24|_[e|53]<<16|_[e|54]<<8|_[e|55],_[e|56]<<24|_[e|57]<<16|_[e|58]<<8|_[e|59],_[e|60]<<24|_[e|61]<<16|_[e|62]<<8|_[e|63])}function I(e){e=e|0;_[e|0]=n>>>24;_[e|1]=n>>>16&255;_[e|2]=n>>>8&255;_[e|3]=n&255;_[e|4]=i>>>24;_[e|5]=i>>>16&255;_[e|6]=i>>>8&255;_[e|7]=i&255;_[e|8]=a>>>24;_[e|9]=a>>>16&255;_[e|10]=a>>>8&255;_[e|11]=a&255;_[e|12]=f>>>24;_[e|13]=f>>>16&255;_[e|14]=f>>>8&255;_[e|15]=f&255;_[e|16]=o>>>24;_[e|17]=o>>>16&255;_[e|18]=o>>>8&255;_[e|19]=o&255;_[e|20]=s>>>24;_[e|21]=s>>>16&255;_[e|22]=s>>>8&255;_[e|23]=s&255;_[e|24]=u>>>24;_[e|25]=u>>>16&255;_[e|26]=u>>>8&255;_[e|27]=u&255;_[e|28]=c>>>24;_[e|29]=c>>>16&255;_[e|30]=c>>>8&255;_[e|31]=c&255}function K(){n=0x6a09e667;i=0xbb67ae85;a=0x3c6ef372;f=0xa54ff53a;o=0x510e527f;s=0x9b05688c;u=0x1f83d9ab;c=0x5be0cd19;h=d=0}function P(e,t,r,l,p,v,y,b,g,m){e=e|0;t=t|0;r=r|0;l=l|0;p=p|0;v=v|0;y=y|0;b=b|0;g=g|0;m=m|0;n=e;i=t;a=r;f=l;o=p;s=v;u=y;c=b;h=g;d=m}function O(e,t){e=e|0;t=t|0;var r=0;if(e&63)return-1;while((t|0)>=64){U(e);e=e+64|0;t=t-64|0;r=r+64|0}h=h+r|0;if(h>>>0<r>>>0)d=d+1|0;return r|0}function L(e,t,r){e=e|0;t=t|0;r=r|0;var n=0,i=0;if(e&63)return-1;if(~r)if(r&31)return-1;if((t|0)>=64){n=O(e,t)|0;if((n|0)==-1)return-1;e=e+n|0;t=t-n|0}n=n+t|0;h=h+t|0;if(h>>>0<t>>>0)d=d+1|0;_[e|t]=0x80;if((t|0)>=56){for(i=t+1|0;(i|0)<64;i=i+1|0)_[e|i]=0x00;U(e);t=0;_[e|0]=0}for(i=t+1|0;(i|0)<59;i=i+1|0)_[e|i]=0;_[e|56]=d>>>21&255;_[e|57]=d>>>13&255;_[e|58]=d>>>5&255;_[e|59]=d<<3&255|h>>>29;_[e|60]=h>>>21&255;_[e|61]=h>>>13&255;_[e|62]=h>>>5&255;_[e|63]=h<<3&255;U(e);if(~r)I(r);return n|0}function D(){n=l;i=p;a=v;f=y;o=b;s=g;u=m;c=w;h=64;d=0}function R(){n=x;i=k;a=A;f=S;o=E;s=B;u=M;c=C;h=64;d=0}function H(e,t,r,_,U,I,P,O,L,D,R,H,T,F,z,V){e=e|0;t=t|0;r=r|0;_=_|0;U=U|0;I=I|0;P=P|0;O=O|0;L=L|0;D=D|0;R=R|0;H=H|0;T=T|0;F=F|0;z=z|0;V=V|0;K();N(e^0x5c5c5c5c,t^0x5c5c5c5c,r^0x5c5c5c5c,_^0x5c5c5c5c,U^0x5c5c5c5c,I^0x5c5c5c5c,P^0x5c5c5c5c,O^0x5c5c5c5c,L^0x5c5c5c5c,D^0x5c5c5c5c,R^0x5c5c5c5c,H^0x5c5c5c5c,T^0x5c5c5c5c,F^0x5c5c5c5c,z^0x5c5c5c5c,V^0x5c5c5c5c);x=n;k=i;A=a;S=f;E=o;B=s;M=u;C=c;K();N(e^0x36363636,t^0x36363636,r^0x36363636,_^0x36363636,U^0x36363636,I^0x36363636,P^0x36363636,O^0x36363636,L^0x36363636,D^0x36363636,R^0x36363636,H^0x36363636,T^0x36363636,F^0x36363636,z^0x36363636,V^0x36363636);l=n;p=i;v=a;y=f;b=o;g=s;m=u;w=c;h=64;d=0}function T(e,t,r){e=e|0;t=t|0;r=r|0;var h=0,d=0,l=0,p=0,v=0,y=0,b=0,g=0,m=0;if(e&63)return-1;if(~r)if(r&31)return-1;m=L(e,t,-1)|0;h=n,d=i,l=a,p=f,v=o,y=s,b=u,g=c;R();N(h,d,l,p,v,y,b,g,0x80000000,0,0,0,0,0,0,768);if(~r)I(r);return m|0}function F(e,t,r,h,d){e=e|0;t=t|0;r=r|0;h=h|0;d=d|0;var l=0,p=0,v=0,y=0,b=0,g=0,m=0,w=0,x=0,k=0,A=0,S=0,E=0,B=0,M=0,C=0;if(e&63)return-1;if(~d)if(d&31)return-1;_[e+t|0]=r>>>24;_[e+t+1|0]=r>>>16&255;_[e+t+2|0]=r>>>8&255;_[e+t+3|0]=r&255;T(e,t+4|0,-1)|0;l=x=n,p=k=i,v=A=a,y=S=f,b=E=o,g=B=s,m=M=u,w=C=c;h=h-1|0;while((h|0)>0){D();N(x,k,A,S,E,B,M,C,0x80000000,0,0,0,0,0,0,768);x=n,k=i,A=a,S=f,E=o,B=s,M=u,C=c;R();N(x,k,A,S,E,B,M,C,0x80000000,0,0,0,0,0,0,768);x=n,k=i,A=a,S=f,E=o,B=s,M=u,C=c;l=l^n;p=p^i;v=v^a;y=y^f;b=b^o;g=g^s;m=m^u;w=w^c;h=h-1|0}n=l;i=p;a=v;f=y;o=b;s=g;u=m;c=w;if(~d)I(d);return 0}return{reset:K,init:P,process:O,finish:L,hmac_reset:D,hmac_init:H,hmac_finish:T,pbkdf2_generate_block:F}}({Uint8Array},0,e.heap.buffer),e.reset(),e}return D(t,e),q(t)}(ia);fa.NAME="sha256";var oa=function(e){function t(){var e;return V(this,t),(e=U(this,t)).NAME="sha512",e.BLOCK_SIZE=128,e.HASH_SIZE=64,e.heap=Li(),e.asm=function(e,t,r){"use asm";var n=0,i=0,a=0,f=0,o=0,s=0,u=0,c=0,h=0,d=0,l=0,p=0,v=0,y=0,b=0,g=0,m=0,w=0,x=0,k=0,A=0,S=0,E=0,B=0,M=0,C=0,_=0,N=0,U=0,I=0,K=0,P=0,O=0,L=0,D=0,R=0,H=0,T=0,F=0,z=0,V=0,j=0,q=0,J=0,G=0,Z=0,W=0,X=0,Y=0,$=0,Q=new e.Uint8Array(r);function ee(e,t,r,m,w,x,k,A,S,E,B,M,C,_,N,U,I,K,P,O,L,D,R,H,T,F,z,V,j,q,J,G){e=e|0;t=t|0;r=r|0;m=m|0;w=w|0;x=x|0;k=k|0;A=A|0;S=S|0;E=E|0;B=B|0;M=M|0;C=C|0;_=_|0;N=N|0;U=U|0;I=I|0;K=K|0;P=P|0;O=O|0;L=L|0;D=D|0;R=R|0;H=H|0;T=T|0;F=F|0;z=z|0;V=V|0;j=j|0;q=q|0;J=J|0;G=G|0;var Z=0,W=0,X=0,Y=0,$=0,Q=0,ee=0,te=0,re=0,ne=0,ie=0,ae=0,fe=0,oe=0,se=0,ue=0,ce=0,he=0,de=0;Z=n;W=i;X=a;Y=f;$=o;Q=s;ee=u;te=c;re=h;ne=d;ie=l;ae=p;fe=v;oe=y;se=b;ue=g;he=0xd728ae22+t|0;ce=0x428a2f98+e+(he>>>0<t>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;he=0x23ef65cd+m|0;ce=0x71374491+r+(he>>>0<m>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;he=0xec4d3b2f+x|0;ce=0xb5c0fbcf+w+(he>>>0<x>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;he=0x8189dbbc+A|0;ce=0xe9b5dba5+k+(he>>>0<A>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;he=0xf348b538+E|0;ce=0x3956c25b+S+(he>>>0<E>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;he=0xb605d019+M|0;ce=0x59f111f1+B+(he>>>0<M>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;he=0xaf194f9b+_|0;ce=0x923f82a4+C+(he>>>0<_>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;he=0xda6d8118+U|0;ce=0xab1c5ed5+N+(he>>>0<U>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;he=0xa3030242+K|0;ce=0xd807aa98+I+(he>>>0<K>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;he=0x45706fbe+O|0;ce=0x12835b01+P+(he>>>0<O>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;he=0x4ee4b28c+D|0;ce=0x243185be+L+(he>>>0<D>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;he=0xd5ffb4e2+H|0;ce=0x550c7dc3+R+(he>>>0<H>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;he=0xf27b896f+F|0;ce=0x72be5d74+T+(he>>>0<F>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;he=0x3b1696b1+V|0;ce=0x80deb1fe+z+(he>>>0<V>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;he=0x25c71235+q|0;ce=0x9bdc06a7+j+(he>>>0<q>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;he=0xcf692694+G|0;ce=0xc19bf174+J+(he>>>0<G>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;t=t+O|0;e=e+P+(t>>>0<O>>>0?1:0)|0;de=(m>>>1|r<<31)^(m>>>8|r<<24)^(m>>>7|r<<25)|0;t=t+de|0;e=e+((r>>>1|m<<31)^(r>>>8|m<<24)^r>>>7)+(t>>>0<de>>>0?1:0)|0;de=(q>>>19|j<<13)^(q<<3|j>>>29)^(q>>>6|j<<26)|0;t=t+de|0;e=e+((j>>>19|q<<13)^(j<<3|q>>>29)^j>>>6)+(t>>>0<de>>>0?1:0)|0;he=0x9ef14ad2+t|0;ce=0xe49b69c1+e+(he>>>0<t>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;m=m+D|0;r=r+L+(m>>>0<D>>>0?1:0)|0;de=(x>>>1|w<<31)^(x>>>8|w<<24)^(x>>>7|w<<25)|0;m=m+de|0;r=r+((w>>>1|x<<31)^(w>>>8|x<<24)^w>>>7)+(m>>>0<de>>>0?1:0)|0;de=(G>>>19|J<<13)^(G<<3|J>>>29)^(G>>>6|J<<26)|0;m=m+de|0;r=r+((J>>>19|G<<13)^(J<<3|G>>>29)^J>>>6)+(m>>>0<de>>>0?1:0)|0;he=0x384f25e3+m|0;ce=0xefbe4786+r+(he>>>0<m>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;x=x+H|0;w=w+R+(x>>>0<H>>>0?1:0)|0;de=(A>>>1|k<<31)^(A>>>8|k<<24)^(A>>>7|k<<25)|0;x=x+de|0;w=w+((k>>>1|A<<31)^(k>>>8|A<<24)^k>>>7)+(x>>>0<de>>>0?1:0)|0;de=(t>>>19|e<<13)^(t<<3|e>>>29)^(t>>>6|e<<26)|0;x=x+de|0;w=w+((e>>>19|t<<13)^(e<<3|t>>>29)^e>>>6)+(x>>>0<de>>>0?1:0)|0;he=0x8b8cd5b5+x|0;ce=0xfc19dc6+w+(he>>>0<x>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;A=A+F|0;k=k+T+(A>>>0<F>>>0?1:0)|0;de=(E>>>1|S<<31)^(E>>>8|S<<24)^(E>>>7|S<<25)|0;A=A+de|0;k=k+((S>>>1|E<<31)^(S>>>8|E<<24)^S>>>7)+(A>>>0<de>>>0?1:0)|0;de=(m>>>19|r<<13)^(m<<3|r>>>29)^(m>>>6|r<<26)|0;A=A+de|0;k=k+((r>>>19|m<<13)^(r<<3|m>>>29)^r>>>6)+(A>>>0<de>>>0?1:0)|0;he=0x77ac9c65+A|0;ce=0x240ca1cc+k+(he>>>0<A>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;E=E+V|0;S=S+z+(E>>>0<V>>>0?1:0)|0;de=(M>>>1|B<<31)^(M>>>8|B<<24)^(M>>>7|B<<25)|0;E=E+de|0;S=S+((B>>>1|M<<31)^(B>>>8|M<<24)^B>>>7)+(E>>>0<de>>>0?1:0)|0;de=(x>>>19|w<<13)^(x<<3|w>>>29)^(x>>>6|w<<26)|0;E=E+de|0;S=S+((w>>>19|x<<13)^(w<<3|x>>>29)^w>>>6)+(E>>>0<de>>>0?1:0)|0;he=0x592b0275+E|0;ce=0x2de92c6f+S+(he>>>0<E>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;M=M+q|0;B=B+j+(M>>>0<q>>>0?1:0)|0;de=(_>>>1|C<<31)^(_>>>8|C<<24)^(_>>>7|C<<25)|0;M=M+de|0;B=B+((C>>>1|_<<31)^(C>>>8|_<<24)^C>>>7)+(M>>>0<de>>>0?1:0)|0;de=(A>>>19|k<<13)^(A<<3|k>>>29)^(A>>>6|k<<26)|0;M=M+de|0;B=B+((k>>>19|A<<13)^(k<<3|A>>>29)^k>>>6)+(M>>>0<de>>>0?1:0)|0;he=0x6ea6e483+M|0;ce=0x4a7484aa+B+(he>>>0<M>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;_=_+G|0;C=C+J+(_>>>0<G>>>0?1:0)|0;de=(U>>>1|N<<31)^(U>>>8|N<<24)^(U>>>7|N<<25)|0;_=_+de|0;C=C+((N>>>1|U<<31)^(N>>>8|U<<24)^N>>>7)+(_>>>0<de>>>0?1:0)|0;de=(E>>>19|S<<13)^(E<<3|S>>>29)^(E>>>6|S<<26)|0;_=_+de|0;C=C+((S>>>19|E<<13)^(S<<3|E>>>29)^S>>>6)+(_>>>0<de>>>0?1:0)|0;he=0xbd41fbd4+_|0;ce=0x5cb0a9dc+C+(he>>>0<_>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;U=U+t|0;N=N+e+(U>>>0<t>>>0?1:0)|0;de=(K>>>1|I<<31)^(K>>>8|I<<24)^(K>>>7|I<<25)|0;U=U+de|0;N=N+((I>>>1|K<<31)^(I>>>8|K<<24)^I>>>7)+(U>>>0<de>>>0?1:0)|0;de=(M>>>19|B<<13)^(M<<3|B>>>29)^(M>>>6|B<<26)|0;U=U+de|0;N=N+((B>>>19|M<<13)^(B<<3|M>>>29)^B>>>6)+(U>>>0<de>>>0?1:0)|0;he=0x831153b5+U|0;ce=0x76f988da+N+(he>>>0<U>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;K=K+m|0;I=I+r+(K>>>0<m>>>0?1:0)|0;de=(O>>>1|P<<31)^(O>>>8|P<<24)^(O>>>7|P<<25)|0;K=K+de|0;I=I+((P>>>1|O<<31)^(P>>>8|O<<24)^P>>>7)+(K>>>0<de>>>0?1:0)|0;de=(_>>>19|C<<13)^(_<<3|C>>>29)^(_>>>6|C<<26)|0;K=K+de|0;I=I+((C>>>19|_<<13)^(C<<3|_>>>29)^C>>>6)+(K>>>0<de>>>0?1:0)|0;he=0xee66dfab+K|0;ce=0x983e5152+I+(he>>>0<K>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;O=O+x|0;P=P+w+(O>>>0<x>>>0?1:0)|0;de=(D>>>1|L<<31)^(D>>>8|L<<24)^(D>>>7|L<<25)|0;O=O+de|0;P=P+((L>>>1|D<<31)^(L>>>8|D<<24)^L>>>7)+(O>>>0<de>>>0?1:0)|0;de=(U>>>19|N<<13)^(U<<3|N>>>29)^(U>>>6|N<<26)|0;O=O+de|0;P=P+((N>>>19|U<<13)^(N<<3|U>>>29)^N>>>6)+(O>>>0<de>>>0?1:0)|0;he=0x2db43210+O|0;ce=0xa831c66d+P+(he>>>0<O>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;D=D+A|0;L=L+k+(D>>>0<A>>>0?1:0)|0;de=(H>>>1|R<<31)^(H>>>8|R<<24)^(H>>>7|R<<25)|0;D=D+de|0;L=L+((R>>>1|H<<31)^(R>>>8|H<<24)^R>>>7)+(D>>>0<de>>>0?1:0)|0;de=(K>>>19|I<<13)^(K<<3|I>>>29)^(K>>>6|I<<26)|0;D=D+de|0;L=L+((I>>>19|K<<13)^(I<<3|K>>>29)^I>>>6)+(D>>>0<de>>>0?1:0)|0;he=0x98fb213f+D|0;ce=0xb00327c8+L+(he>>>0<D>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;H=H+E|0;R=R+S+(H>>>0<E>>>0?1:0)|0;de=(F>>>1|T<<31)^(F>>>8|T<<24)^(F>>>7|T<<25)|0;H=H+de|0;R=R+((T>>>1|F<<31)^(T>>>8|F<<24)^T>>>7)+(H>>>0<de>>>0?1:0)|0;de=(O>>>19|P<<13)^(O<<3|P>>>29)^(O>>>6|P<<26)|0;H=H+de|0;R=R+((P>>>19|O<<13)^(P<<3|O>>>29)^P>>>6)+(H>>>0<de>>>0?1:0)|0;he=0xbeef0ee4+H|0;ce=0xbf597fc7+R+(he>>>0<H>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;F=F+M|0;T=T+B+(F>>>0<M>>>0?1:0)|0;de=(V>>>1|z<<31)^(V>>>8|z<<24)^(V>>>7|z<<25)|0;F=F+de|0;T=T+((z>>>1|V<<31)^(z>>>8|V<<24)^z>>>7)+(F>>>0<de>>>0?1:0)|0;de=(D>>>19|L<<13)^(D<<3|L>>>29)^(D>>>6|L<<26)|0;F=F+de|0;T=T+((L>>>19|D<<13)^(L<<3|D>>>29)^L>>>6)+(F>>>0<de>>>0?1:0)|0;he=0x3da88fc2+F|0;ce=0xc6e00bf3+T+(he>>>0<F>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;V=V+_|0;z=z+C+(V>>>0<_>>>0?1:0)|0;de=(q>>>1|j<<31)^(q>>>8|j<<24)^(q>>>7|j<<25)|0;V=V+de|0;z=z+((j>>>1|q<<31)^(j>>>8|q<<24)^j>>>7)+(V>>>0<de>>>0?1:0)|0;de=(H>>>19|R<<13)^(H<<3|R>>>29)^(H>>>6|R<<26)|0;V=V+de|0;z=z+((R>>>19|H<<13)^(R<<3|H>>>29)^R>>>6)+(V>>>0<de>>>0?1:0)|0;he=0x930aa725+V|0;ce=0xd5a79147+z+(he>>>0<V>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;q=q+U|0;j=j+N+(q>>>0<U>>>0?1:0)|0;de=(G>>>1|J<<31)^(G>>>8|J<<24)^(G>>>7|J<<25)|0;q=q+de|0;j=j+((J>>>1|G<<31)^(J>>>8|G<<24)^J>>>7)+(q>>>0<de>>>0?1:0)|0;de=(F>>>19|T<<13)^(F<<3|T>>>29)^(F>>>6|T<<26)|0;q=q+de|0;j=j+((T>>>19|F<<13)^(T<<3|F>>>29)^T>>>6)+(q>>>0<de>>>0?1:0)|0;he=0xe003826f+q|0;ce=0x6ca6351+j+(he>>>0<q>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;G=G+K|0;J=J+I+(G>>>0<K>>>0?1:0)|0;de=(t>>>1|e<<31)^(t>>>8|e<<24)^(t>>>7|e<<25)|0;G=G+de|0;J=J+((e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7)+(G>>>0<de>>>0?1:0)|0;de=(V>>>19|z<<13)^(V<<3|z>>>29)^(V>>>6|z<<26)|0;G=G+de|0;J=J+((z>>>19|V<<13)^(z<<3|V>>>29)^z>>>6)+(G>>>0<de>>>0?1:0)|0;he=0xa0e6e70+G|0;ce=0x14292967+J+(he>>>0<G>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;t=t+O|0;e=e+P+(t>>>0<O>>>0?1:0)|0;de=(m>>>1|r<<31)^(m>>>8|r<<24)^(m>>>7|r<<25)|0;t=t+de|0;e=e+((r>>>1|m<<31)^(r>>>8|m<<24)^r>>>7)+(t>>>0<de>>>0?1:0)|0;de=(q>>>19|j<<13)^(q<<3|j>>>29)^(q>>>6|j<<26)|0;t=t+de|0;e=e+((j>>>19|q<<13)^(j<<3|q>>>29)^j>>>6)+(t>>>0<de>>>0?1:0)|0;he=0x46d22ffc+t|0;ce=0x27b70a85+e+(he>>>0<t>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;m=m+D|0;r=r+L+(m>>>0<D>>>0?1:0)|0;de=(x>>>1|w<<31)^(x>>>8|w<<24)^(x>>>7|w<<25)|0;m=m+de|0;r=r+((w>>>1|x<<31)^(w>>>8|x<<24)^w>>>7)+(m>>>0<de>>>0?1:0)|0;de=(G>>>19|J<<13)^(G<<3|J>>>29)^(G>>>6|J<<26)|0;m=m+de|0;r=r+((J>>>19|G<<13)^(J<<3|G>>>29)^J>>>6)+(m>>>0<de>>>0?1:0)|0;he=0x5c26c926+m|0;ce=0x2e1b2138+r+(he>>>0<m>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;x=x+H|0;w=w+R+(x>>>0<H>>>0?1:0)|0;de=(A>>>1|k<<31)^(A>>>8|k<<24)^(A>>>7|k<<25)|0;x=x+de|0;w=w+((k>>>1|A<<31)^(k>>>8|A<<24)^k>>>7)+(x>>>0<de>>>0?1:0)|0;de=(t>>>19|e<<13)^(t<<3|e>>>29)^(t>>>6|e<<26)|0;x=x+de|0;w=w+((e>>>19|t<<13)^(e<<3|t>>>29)^e>>>6)+(x>>>0<de>>>0?1:0)|0;he=0x5ac42aed+x|0;ce=0x4d2c6dfc+w+(he>>>0<x>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;A=A+F|0;k=k+T+(A>>>0<F>>>0?1:0)|0;de=(E>>>1|S<<31)^(E>>>8|S<<24)^(E>>>7|S<<25)|0;A=A+de|0;k=k+((S>>>1|E<<31)^(S>>>8|E<<24)^S>>>7)+(A>>>0<de>>>0?1:0)|0;de=(m>>>19|r<<13)^(m<<3|r>>>29)^(m>>>6|r<<26)|0;A=A+de|0;k=k+((r>>>19|m<<13)^(r<<3|m>>>29)^r>>>6)+(A>>>0<de>>>0?1:0)|0;he=0x9d95b3df+A|0;ce=0x53380d13+k+(he>>>0<A>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;E=E+V|0;S=S+z+(E>>>0<V>>>0?1:0)|0;de=(M>>>1|B<<31)^(M>>>8|B<<24)^(M>>>7|B<<25)|0;E=E+de|0;S=S+((B>>>1|M<<31)^(B>>>8|M<<24)^B>>>7)+(E>>>0<de>>>0?1:0)|0;de=(x>>>19|w<<13)^(x<<3|w>>>29)^(x>>>6|w<<26)|0;E=E+de|0;S=S+((w>>>19|x<<13)^(w<<3|x>>>29)^w>>>6)+(E>>>0<de>>>0?1:0)|0;he=0x8baf63de+E|0;ce=0x650a7354+S+(he>>>0<E>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;M=M+q|0;B=B+j+(M>>>0<q>>>0?1:0)|0;de=(_>>>1|C<<31)^(_>>>8|C<<24)^(_>>>7|C<<25)|0;M=M+de|0;B=B+((C>>>1|_<<31)^(C>>>8|_<<24)^C>>>7)+(M>>>0<de>>>0?1:0)|0;de=(A>>>19|k<<13)^(A<<3|k>>>29)^(A>>>6|k<<26)|0;M=M+de|0;B=B+((k>>>19|A<<13)^(k<<3|A>>>29)^k>>>6)+(M>>>0<de>>>0?1:0)|0;he=0x3c77b2a8+M|0;ce=0x766a0abb+B+(he>>>0<M>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;_=_+G|0;C=C+J+(_>>>0<G>>>0?1:0)|0;de=(U>>>1|N<<31)^(U>>>8|N<<24)^(U>>>7|N<<25)|0;_=_+de|0;C=C+((N>>>1|U<<31)^(N>>>8|U<<24)^N>>>7)+(_>>>0<de>>>0?1:0)|0;de=(E>>>19|S<<13)^(E<<3|S>>>29)^(E>>>6|S<<26)|0;_=_+de|0;C=C+((S>>>19|E<<13)^(S<<3|E>>>29)^S>>>6)+(_>>>0<de>>>0?1:0)|0;he=0x47edaee6+_|0;ce=0x81c2c92e+C+(he>>>0<_>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;U=U+t|0;N=N+e+(U>>>0<t>>>0?1:0)|0;de=(K>>>1|I<<31)^(K>>>8|I<<24)^(K>>>7|I<<25)|0;U=U+de|0;N=N+((I>>>1|K<<31)^(I>>>8|K<<24)^I>>>7)+(U>>>0<de>>>0?1:0)|0;de=(M>>>19|B<<13)^(M<<3|B>>>29)^(M>>>6|B<<26)|0;U=U+de|0;N=N+((B>>>19|M<<13)^(B<<3|M>>>29)^B>>>6)+(U>>>0<de>>>0?1:0)|0;he=0x1482353b+U|0;ce=0x92722c85+N+(he>>>0<U>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;K=K+m|0;I=I+r+(K>>>0<m>>>0?1:0)|0;de=(O>>>1|P<<31)^(O>>>8|P<<24)^(O>>>7|P<<25)|0;K=K+de|0;I=I+((P>>>1|O<<31)^(P>>>8|O<<24)^P>>>7)+(K>>>0<de>>>0?1:0)|0;de=(_>>>19|C<<13)^(_<<3|C>>>29)^(_>>>6|C<<26)|0;K=K+de|0;I=I+((C>>>19|_<<13)^(C<<3|_>>>29)^C>>>6)+(K>>>0<de>>>0?1:0)|0;he=0x4cf10364+K|0;ce=0xa2bfe8a1+I+(he>>>0<K>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;O=O+x|0;P=P+w+(O>>>0<x>>>0?1:0)|0;de=(D>>>1|L<<31)^(D>>>8|L<<24)^(D>>>7|L<<25)|0;O=O+de|0;P=P+((L>>>1|D<<31)^(L>>>8|D<<24)^L>>>7)+(O>>>0<de>>>0?1:0)|0;de=(U>>>19|N<<13)^(U<<3|N>>>29)^(U>>>6|N<<26)|0;O=O+de|0;P=P+((N>>>19|U<<13)^(N<<3|U>>>29)^N>>>6)+(O>>>0<de>>>0?1:0)|0;he=0xbc423001+O|0;ce=0xa81a664b+P+(he>>>0<O>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;D=D+A|0;L=L+k+(D>>>0<A>>>0?1:0)|0;de=(H>>>1|R<<31)^(H>>>8|R<<24)^(H>>>7|R<<25)|0;D=D+de|0;L=L+((R>>>1|H<<31)^(R>>>8|H<<24)^R>>>7)+(D>>>0<de>>>0?1:0)|0;de=(K>>>19|I<<13)^(K<<3|I>>>29)^(K>>>6|I<<26)|0;D=D+de|0;L=L+((I>>>19|K<<13)^(I<<3|K>>>29)^I>>>6)+(D>>>0<de>>>0?1:0)|0;he=0xd0f89791+D|0;ce=0xc24b8b70+L+(he>>>0<D>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;H=H+E|0;R=R+S+(H>>>0<E>>>0?1:0)|0;de=(F>>>1|T<<31)^(F>>>8|T<<24)^(F>>>7|T<<25)|0;H=H+de|0;R=R+((T>>>1|F<<31)^(T>>>8|F<<24)^T>>>7)+(H>>>0<de>>>0?1:0)|0;de=(O>>>19|P<<13)^(O<<3|P>>>29)^(O>>>6|P<<26)|0;H=H+de|0;R=R+((P>>>19|O<<13)^(P<<3|O>>>29)^P>>>6)+(H>>>0<de>>>0?1:0)|0;he=0x654be30+H|0;ce=0xc76c51a3+R+(he>>>0<H>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;F=F+M|0;T=T+B+(F>>>0<M>>>0?1:0)|0;de=(V>>>1|z<<31)^(V>>>8|z<<24)^(V>>>7|z<<25)|0;F=F+de|0;T=T+((z>>>1|V<<31)^(z>>>8|V<<24)^z>>>7)+(F>>>0<de>>>0?1:0)|0;de=(D>>>19|L<<13)^(D<<3|L>>>29)^(D>>>6|L<<26)|0;F=F+de|0;T=T+((L>>>19|D<<13)^(L<<3|D>>>29)^L>>>6)+(F>>>0<de>>>0?1:0)|0;he=0xd6ef5218+F|0;ce=0xd192e819+T+(he>>>0<F>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;V=V+_|0;z=z+C+(V>>>0<_>>>0?1:0)|0;de=(q>>>1|j<<31)^(q>>>8|j<<24)^(q>>>7|j<<25)|0;V=V+de|0;z=z+((j>>>1|q<<31)^(j>>>8|q<<24)^j>>>7)+(V>>>0<de>>>0?1:0)|0;de=(H>>>19|R<<13)^(H<<3|R>>>29)^(H>>>6|R<<26)|0;V=V+de|0;z=z+((R>>>19|H<<13)^(R<<3|H>>>29)^R>>>6)+(V>>>0<de>>>0?1:0)|0;he=0x5565a910+V|0;ce=0xd6990624+z+(he>>>0<V>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;q=q+U|0;j=j+N+(q>>>0<U>>>0?1:0)|0;de=(G>>>1|J<<31)^(G>>>8|J<<24)^(G>>>7|J<<25)|0;q=q+de|0;j=j+((J>>>1|G<<31)^(J>>>8|G<<24)^J>>>7)+(q>>>0<de>>>0?1:0)|0;de=(F>>>19|T<<13)^(F<<3|T>>>29)^(F>>>6|T<<26)|0;q=q+de|0;j=j+((T>>>19|F<<13)^(T<<3|F>>>29)^T>>>6)+(q>>>0<de>>>0?1:0)|0;he=0x5771202a+q|0;ce=0xf40e3585+j+(he>>>0<q>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;G=G+K|0;J=J+I+(G>>>0<K>>>0?1:0)|0;de=(t>>>1|e<<31)^(t>>>8|e<<24)^(t>>>7|e<<25)|0;G=G+de|0;J=J+((e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7)+(G>>>0<de>>>0?1:0)|0;de=(V>>>19|z<<13)^(V<<3|z>>>29)^(V>>>6|z<<26)|0;G=G+de|0;J=J+((z>>>19|V<<13)^(z<<3|V>>>29)^z>>>6)+(G>>>0<de>>>0?1:0)|0;he=0x32bbd1b8+G|0;ce=0x106aa070+J+(he>>>0<G>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;t=t+O|0;e=e+P+(t>>>0<O>>>0?1:0)|0;de=(m>>>1|r<<31)^(m>>>8|r<<24)^(m>>>7|r<<25)|0;t=t+de|0;e=e+((r>>>1|m<<31)^(r>>>8|m<<24)^r>>>7)+(t>>>0<de>>>0?1:0)|0;de=(q>>>19|j<<13)^(q<<3|j>>>29)^(q>>>6|j<<26)|0;t=t+de|0;e=e+((j>>>19|q<<13)^(j<<3|q>>>29)^j>>>6)+(t>>>0<de>>>0?1:0)|0;he=0xb8d2d0c8+t|0;ce=0x19a4c116+e+(he>>>0<t>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;m=m+D|0;r=r+L+(m>>>0<D>>>0?1:0)|0;de=(x>>>1|w<<31)^(x>>>8|w<<24)^(x>>>7|w<<25)|0;m=m+de|0;r=r+((w>>>1|x<<31)^(w>>>8|x<<24)^w>>>7)+(m>>>0<de>>>0?1:0)|0;de=(G>>>19|J<<13)^(G<<3|J>>>29)^(G>>>6|J<<26)|0;m=m+de|0;r=r+((J>>>19|G<<13)^(J<<3|G>>>29)^J>>>6)+(m>>>0<de>>>0?1:0)|0;he=0x5141ab53+m|0;ce=0x1e376c08+r+(he>>>0<m>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;x=x+H|0;w=w+R+(x>>>0<H>>>0?1:0)|0;de=(A>>>1|k<<31)^(A>>>8|k<<24)^(A>>>7|k<<25)|0;x=x+de|0;w=w+((k>>>1|A<<31)^(k>>>8|A<<24)^k>>>7)+(x>>>0<de>>>0?1:0)|0;de=(t>>>19|e<<13)^(t<<3|e>>>29)^(t>>>6|e<<26)|0;x=x+de|0;w=w+((e>>>19|t<<13)^(e<<3|t>>>29)^e>>>6)+(x>>>0<de>>>0?1:0)|0;he=0xdf8eeb99+x|0;ce=0x2748774c+w+(he>>>0<x>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;A=A+F|0;k=k+T+(A>>>0<F>>>0?1:0)|0;de=(E>>>1|S<<31)^(E>>>8|S<<24)^(E>>>7|S<<25)|0;A=A+de|0;k=k+((S>>>1|E<<31)^(S>>>8|E<<24)^S>>>7)+(A>>>0<de>>>0?1:0)|0;de=(m>>>19|r<<13)^(m<<3|r>>>29)^(m>>>6|r<<26)|0;A=A+de|0;k=k+((r>>>19|m<<13)^(r<<3|m>>>29)^r>>>6)+(A>>>0<de>>>0?1:0)|0;he=0xe19b48a8+A|0;ce=0x34b0bcb5+k+(he>>>0<A>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;E=E+V|0;S=S+z+(E>>>0<V>>>0?1:0)|0;de=(M>>>1|B<<31)^(M>>>8|B<<24)^(M>>>7|B<<25)|0;E=E+de|0;S=S+((B>>>1|M<<31)^(B>>>8|M<<24)^B>>>7)+(E>>>0<de>>>0?1:0)|0;de=(x>>>19|w<<13)^(x<<3|w>>>29)^(x>>>6|w<<26)|0;E=E+de|0;S=S+((w>>>19|x<<13)^(w<<3|x>>>29)^w>>>6)+(E>>>0<de>>>0?1:0)|0;he=0xc5c95a63+E|0;ce=0x391c0cb3+S+(he>>>0<E>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;M=M+q|0;B=B+j+(M>>>0<q>>>0?1:0)|0;de=(_>>>1|C<<31)^(_>>>8|C<<24)^(_>>>7|C<<25)|0;M=M+de|0;B=B+((C>>>1|_<<31)^(C>>>8|_<<24)^C>>>7)+(M>>>0<de>>>0?1:0)|0;de=(A>>>19|k<<13)^(A<<3|k>>>29)^(A>>>6|k<<26)|0;M=M+de|0;B=B+((k>>>19|A<<13)^(k<<3|A>>>29)^k>>>6)+(M>>>0<de>>>0?1:0)|0;he=0xe3418acb+M|0;ce=0x4ed8aa4a+B+(he>>>0<M>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;_=_+G|0;C=C+J+(_>>>0<G>>>0?1:0)|0;de=(U>>>1|N<<31)^(U>>>8|N<<24)^(U>>>7|N<<25)|0;_=_+de|0;C=C+((N>>>1|U<<31)^(N>>>8|U<<24)^N>>>7)+(_>>>0<de>>>0?1:0)|0;de=(E>>>19|S<<13)^(E<<3|S>>>29)^(E>>>6|S<<26)|0;_=_+de|0;C=C+((S>>>19|E<<13)^(S<<3|E>>>29)^S>>>6)+(_>>>0<de>>>0?1:0)|0;he=0x7763e373+_|0;ce=0x5b9cca4f+C+(he>>>0<_>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;U=U+t|0;N=N+e+(U>>>0<t>>>0?1:0)|0;de=(K>>>1|I<<31)^(K>>>8|I<<24)^(K>>>7|I<<25)|0;U=U+de|0;N=N+((I>>>1|K<<31)^(I>>>8|K<<24)^I>>>7)+(U>>>0<de>>>0?1:0)|0;de=(M>>>19|B<<13)^(M<<3|B>>>29)^(M>>>6|B<<26)|0;U=U+de|0;N=N+((B>>>19|M<<13)^(B<<3|M>>>29)^B>>>6)+(U>>>0<de>>>0?1:0)|0;he=0xd6b2b8a3+U|0;ce=0x682e6ff3+N+(he>>>0<U>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;K=K+m|0;I=I+r+(K>>>0<m>>>0?1:0)|0;de=(O>>>1|P<<31)^(O>>>8|P<<24)^(O>>>7|P<<25)|0;K=K+de|0;I=I+((P>>>1|O<<31)^(P>>>8|O<<24)^P>>>7)+(K>>>0<de>>>0?1:0)|0;de=(_>>>19|C<<13)^(_<<3|C>>>29)^(_>>>6|C<<26)|0;K=K+de|0;I=I+((C>>>19|_<<13)^(C<<3|_>>>29)^C>>>6)+(K>>>0<de>>>0?1:0)|0;he=0x5defb2fc+K|0;ce=0x748f82ee+I+(he>>>0<K>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;O=O+x|0;P=P+w+(O>>>0<x>>>0?1:0)|0;de=(D>>>1|L<<31)^(D>>>8|L<<24)^(D>>>7|L<<25)|0;O=O+de|0;P=P+((L>>>1|D<<31)^(L>>>8|D<<24)^L>>>7)+(O>>>0<de>>>0?1:0)|0;de=(U>>>19|N<<13)^(U<<3|N>>>29)^(U>>>6|N<<26)|0;O=O+de|0;P=P+((N>>>19|U<<13)^(N<<3|U>>>29)^N>>>6)+(O>>>0<de>>>0?1:0)|0;he=0x43172f60+O|0;ce=0x78a5636f+P+(he>>>0<O>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;D=D+A|0;L=L+k+(D>>>0<A>>>0?1:0)|0;de=(H>>>1|R<<31)^(H>>>8|R<<24)^(H>>>7|R<<25)|0;D=D+de|0;L=L+((R>>>1|H<<31)^(R>>>8|H<<24)^R>>>7)+(D>>>0<de>>>0?1:0)|0;de=(K>>>19|I<<13)^(K<<3|I>>>29)^(K>>>6|I<<26)|0;D=D+de|0;L=L+((I>>>19|K<<13)^(I<<3|K>>>29)^I>>>6)+(D>>>0<de>>>0?1:0)|0;he=0xa1f0ab72+D|0;ce=0x84c87814+L+(he>>>0<D>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;H=H+E|0;R=R+S+(H>>>0<E>>>0?1:0)|0;de=(F>>>1|T<<31)^(F>>>8|T<<24)^(F>>>7|T<<25)|0;H=H+de|0;R=R+((T>>>1|F<<31)^(T>>>8|F<<24)^T>>>7)+(H>>>0<de>>>0?1:0)|0;de=(O>>>19|P<<13)^(O<<3|P>>>29)^(O>>>6|P<<26)|0;H=H+de|0;R=R+((P>>>19|O<<13)^(P<<3|O>>>29)^P>>>6)+(H>>>0<de>>>0?1:0)|0;he=0x1a6439ec+H|0;ce=0x8cc70208+R+(he>>>0<H>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;F=F+M|0;T=T+B+(F>>>0<M>>>0?1:0)|0;de=(V>>>1|z<<31)^(V>>>8|z<<24)^(V>>>7|z<<25)|0;F=F+de|0;T=T+((z>>>1|V<<31)^(z>>>8|V<<24)^z>>>7)+(F>>>0<de>>>0?1:0)|0;de=(D>>>19|L<<13)^(D<<3|L>>>29)^(D>>>6|L<<26)|0;F=F+de|0;T=T+((L>>>19|D<<13)^(L<<3|D>>>29)^L>>>6)+(F>>>0<de>>>0?1:0)|0;he=0x23631e28+F|0;ce=0x90befffa+T+(he>>>0<F>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;V=V+_|0;z=z+C+(V>>>0<_>>>0?1:0)|0;de=(q>>>1|j<<31)^(q>>>8|j<<24)^(q>>>7|j<<25)|0;V=V+de|0;z=z+((j>>>1|q<<31)^(j>>>8|q<<24)^j>>>7)+(V>>>0<de>>>0?1:0)|0;de=(H>>>19|R<<13)^(H<<3|R>>>29)^(H>>>6|R<<26)|0;V=V+de|0;z=z+((R>>>19|H<<13)^(R<<3|H>>>29)^R>>>6)+(V>>>0<de>>>0?1:0)|0;he=0xde82bde9+V|0;ce=0xa4506ceb+z+(he>>>0<V>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;q=q+U|0;j=j+N+(q>>>0<U>>>0?1:0)|0;de=(G>>>1|J<<31)^(G>>>8|J<<24)^(G>>>7|J<<25)|0;q=q+de|0;j=j+((J>>>1|G<<31)^(J>>>8|G<<24)^J>>>7)+(q>>>0<de>>>0?1:0)|0;de=(F>>>19|T<<13)^(F<<3|T>>>29)^(F>>>6|T<<26)|0;q=q+de|0;j=j+((T>>>19|F<<13)^(T<<3|F>>>29)^T>>>6)+(q>>>0<de>>>0?1:0)|0;he=0xb2c67915+q|0;ce=0xbef9a3f7+j+(he>>>0<q>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;G=G+K|0;J=J+I+(G>>>0<K>>>0?1:0)|0;de=(t>>>1|e<<31)^(t>>>8|e<<24)^(t>>>7|e<<25)|0;G=G+de|0;J=J+((e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7)+(G>>>0<de>>>0?1:0)|0;de=(V>>>19|z<<13)^(V<<3|z>>>29)^(V>>>6|z<<26)|0;G=G+de|0;J=J+((z>>>19|V<<13)^(z<<3|V>>>29)^z>>>6)+(G>>>0<de>>>0?1:0)|0;he=0xe372532b+G|0;ce=0xc67178f2+J+(he>>>0<G>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;t=t+O|0;e=e+P+(t>>>0<O>>>0?1:0)|0;de=(m>>>1|r<<31)^(m>>>8|r<<24)^(m>>>7|r<<25)|0;t=t+de|0;e=e+((r>>>1|m<<31)^(r>>>8|m<<24)^r>>>7)+(t>>>0<de>>>0?1:0)|0;de=(q>>>19|j<<13)^(q<<3|j>>>29)^(q>>>6|j<<26)|0;t=t+de|0;e=e+((j>>>19|q<<13)^(j<<3|q>>>29)^j>>>6)+(t>>>0<de>>>0?1:0)|0;he=0xea26619c+t|0;ce=0xca273ece+e+(he>>>0<t>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;m=m+D|0;r=r+L+(m>>>0<D>>>0?1:0)|0;de=(x>>>1|w<<31)^(x>>>8|w<<24)^(x>>>7|w<<25)|0;m=m+de|0;r=r+((w>>>1|x<<31)^(w>>>8|x<<24)^w>>>7)+(m>>>0<de>>>0?1:0)|0;de=(G>>>19|J<<13)^(G<<3|J>>>29)^(G>>>6|J<<26)|0;m=m+de|0;r=r+((J>>>19|G<<13)^(J<<3|G>>>29)^J>>>6)+(m>>>0<de>>>0?1:0)|0;he=0x21c0c207+m|0;ce=0xd186b8c7+r+(he>>>0<m>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;x=x+H|0;w=w+R+(x>>>0<H>>>0?1:0)|0;de=(A>>>1|k<<31)^(A>>>8|k<<24)^(A>>>7|k<<25)|0;x=x+de|0;w=w+((k>>>1|A<<31)^(k>>>8|A<<24)^k>>>7)+(x>>>0<de>>>0?1:0)|0;de=(t>>>19|e<<13)^(t<<3|e>>>29)^(t>>>6|e<<26)|0;x=x+de|0;w=w+((e>>>19|t<<13)^(e<<3|t>>>29)^e>>>6)+(x>>>0<de>>>0?1:0)|0;he=0xcde0eb1e+x|0;ce=0xeada7dd6+w+(he>>>0<x>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;A=A+F|0;k=k+T+(A>>>0<F>>>0?1:0)|0;de=(E>>>1|S<<31)^(E>>>8|S<<24)^(E>>>7|S<<25)|0;A=A+de|0;k=k+((S>>>1|E<<31)^(S>>>8|E<<24)^S>>>7)+(A>>>0<de>>>0?1:0)|0;de=(m>>>19|r<<13)^(m<<3|r>>>29)^(m>>>6|r<<26)|0;A=A+de|0;k=k+((r>>>19|m<<13)^(r<<3|m>>>29)^r>>>6)+(A>>>0<de>>>0?1:0)|0;he=0xee6ed178+A|0;ce=0xf57d4f7f+k+(he>>>0<A>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;E=E+V|0;S=S+z+(E>>>0<V>>>0?1:0)|0;de=(M>>>1|B<<31)^(M>>>8|B<<24)^(M>>>7|B<<25)|0;E=E+de|0;S=S+((B>>>1|M<<31)^(B>>>8|M<<24)^B>>>7)+(E>>>0<de>>>0?1:0)|0;de=(x>>>19|w<<13)^(x<<3|w>>>29)^(x>>>6|w<<26)|0;E=E+de|0;S=S+((w>>>19|x<<13)^(w<<3|x>>>29)^w>>>6)+(E>>>0<de>>>0?1:0)|0;he=0x72176fba+E|0;ce=0x6f067aa+S+(he>>>0<E>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;M=M+q|0;B=B+j+(M>>>0<q>>>0?1:0)|0;de=(_>>>1|C<<31)^(_>>>8|C<<24)^(_>>>7|C<<25)|0;M=M+de|0;B=B+((C>>>1|_<<31)^(C>>>8|_<<24)^C>>>7)+(M>>>0<de>>>0?1:0)|0;de=(A>>>19|k<<13)^(A<<3|k>>>29)^(A>>>6|k<<26)|0;M=M+de|0;B=B+((k>>>19|A<<13)^(k<<3|A>>>29)^k>>>6)+(M>>>0<de>>>0?1:0)|0;he=0xa2c898a6+M|0;ce=0xa637dc5+B+(he>>>0<M>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;_=_+G|0;C=C+J+(_>>>0<G>>>0?1:0)|0;de=(U>>>1|N<<31)^(U>>>8|N<<24)^(U>>>7|N<<25)|0;_=_+de|0;C=C+((N>>>1|U<<31)^(N>>>8|U<<24)^N>>>7)+(_>>>0<de>>>0?1:0)|0;de=(E>>>19|S<<13)^(E<<3|S>>>29)^(E>>>6|S<<26)|0;_=_+de|0;C=C+((S>>>19|E<<13)^(S<<3|E>>>29)^S>>>6)+(_>>>0<de>>>0?1:0)|0;he=0xbef90dae+_|0;ce=0x113f9804+C+(he>>>0<_>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;U=U+t|0;N=N+e+(U>>>0<t>>>0?1:0)|0;de=(K>>>1|I<<31)^(K>>>8|I<<24)^(K>>>7|I<<25)|0;U=U+de|0;N=N+((I>>>1|K<<31)^(I>>>8|K<<24)^I>>>7)+(U>>>0<de>>>0?1:0)|0;de=(M>>>19|B<<13)^(M<<3|B>>>29)^(M>>>6|B<<26)|0;U=U+de|0;N=N+((B>>>19|M<<13)^(B<<3|M>>>29)^B>>>6)+(U>>>0<de>>>0?1:0)|0;he=0x131c471b+U|0;ce=0x1b710b35+N+(he>>>0<U>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;K=K+m|0;I=I+r+(K>>>0<m>>>0?1:0)|0;de=(O>>>1|P<<31)^(O>>>8|P<<24)^(O>>>7|P<<25)|0;K=K+de|0;I=I+((P>>>1|O<<31)^(P>>>8|O<<24)^P>>>7)+(K>>>0<de>>>0?1:0)|0;de=(_>>>19|C<<13)^(_<<3|C>>>29)^(_>>>6|C<<26)|0;K=K+de|0;I=I+((C>>>19|_<<13)^(C<<3|_>>>29)^C>>>6)+(K>>>0<de>>>0?1:0)|0;he=0x23047d84+K|0;ce=0x28db77f5+I+(he>>>0<K>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;O=O+x|0;P=P+w+(O>>>0<x>>>0?1:0)|0;de=(D>>>1|L<<31)^(D>>>8|L<<24)^(D>>>7|L<<25)|0;O=O+de|0;P=P+((L>>>1|D<<31)^(L>>>8|D<<24)^L>>>7)+(O>>>0<de>>>0?1:0)|0;de=(U>>>19|N<<13)^(U<<3|N>>>29)^(U>>>6|N<<26)|0;O=O+de|0;P=P+((N>>>19|U<<13)^(N<<3|U>>>29)^N>>>6)+(O>>>0<de>>>0?1:0)|0;he=0x40c72493+O|0;ce=0x32caab7b+P+(he>>>0<O>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;D=D+A|0;L=L+k+(D>>>0<A>>>0?1:0)|0;de=(H>>>1|R<<31)^(H>>>8|R<<24)^(H>>>7|R<<25)|0;D=D+de|0;L=L+((R>>>1|H<<31)^(R>>>8|H<<24)^R>>>7)+(D>>>0<de>>>0?1:0)|0;de=(K>>>19|I<<13)^(K<<3|I>>>29)^(K>>>6|I<<26)|0;D=D+de|0;L=L+((I>>>19|K<<13)^(I<<3|K>>>29)^I>>>6)+(D>>>0<de>>>0?1:0)|0;he=0x15c9bebc+D|0;ce=0x3c9ebe0a+L+(he>>>0<D>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;H=H+E|0;R=R+S+(H>>>0<E>>>0?1:0)|0;de=(F>>>1|T<<31)^(F>>>8|T<<24)^(F>>>7|T<<25)|0;H=H+de|0;R=R+((T>>>1|F<<31)^(T>>>8|F<<24)^T>>>7)+(H>>>0<de>>>0?1:0)|0;de=(O>>>19|P<<13)^(O<<3|P>>>29)^(O>>>6|P<<26)|0;H=H+de|0;R=R+((P>>>19|O<<13)^(P<<3|O>>>29)^P>>>6)+(H>>>0<de>>>0?1:0)|0;he=0x9c100d4c+H|0;ce=0x431d67c4+R+(he>>>0<H>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;F=F+M|0;T=T+B+(F>>>0<M>>>0?1:0)|0;de=(V>>>1|z<<31)^(V>>>8|z<<24)^(V>>>7|z<<25)|0;F=F+de|0;T=T+((z>>>1|V<<31)^(z>>>8|V<<24)^z>>>7)+(F>>>0<de>>>0?1:0)|0;de=(D>>>19|L<<13)^(D<<3|L>>>29)^(D>>>6|L<<26)|0;F=F+de|0;T=T+((L>>>19|D<<13)^(L<<3|D>>>29)^L>>>6)+(F>>>0<de>>>0?1:0)|0;he=0xcb3e42b6+F|0;ce=0x4cc5d4be+T+(he>>>0<F>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;V=V+_|0;z=z+C+(V>>>0<_>>>0?1:0)|0;de=(q>>>1|j<<31)^(q>>>8|j<<24)^(q>>>7|j<<25)|0;V=V+de|0;z=z+((j>>>1|q<<31)^(j>>>8|q<<24)^j>>>7)+(V>>>0<de>>>0?1:0)|0;de=(H>>>19|R<<13)^(H<<3|R>>>29)^(H>>>6|R<<26)|0;V=V+de|0;z=z+((R>>>19|H<<13)^(R<<3|H>>>29)^R>>>6)+(V>>>0<de>>>0?1:0)|0;he=0xfc657e2a+V|0;ce=0x597f299c+z+(he>>>0<V>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;q=q+U|0;j=j+N+(q>>>0<U>>>0?1:0)|0;de=(G>>>1|J<<31)^(G>>>8|J<<24)^(G>>>7|J<<25)|0;q=q+de|0;j=j+((J>>>1|G<<31)^(J>>>8|G<<24)^J>>>7)+(q>>>0<de>>>0?1:0)|0;de=(F>>>19|T<<13)^(F<<3|T>>>29)^(F>>>6|T<<26)|0;q=q+de|0;j=j+((T>>>19|F<<13)^(T<<3|F>>>29)^T>>>6)+(q>>>0<de>>>0?1:0)|0;he=0x3ad6faec+q|0;ce=0x5fcb6fab+j+(he>>>0<q>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;G=G+K|0;J=J+I+(G>>>0<K>>>0?1:0)|0;de=(t>>>1|e<<31)^(t>>>8|e<<24)^(t>>>7|e<<25)|0;G=G+de|0;J=J+((e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7)+(G>>>0<de>>>0?1:0)|0;de=(V>>>19|z<<13)^(V<<3|z>>>29)^(V>>>6|z<<26)|0;G=G+de|0;J=J+((z>>>19|V<<13)^(z<<3|V>>>29)^z>>>6)+(G>>>0<de>>>0?1:0)|0;he=0x4a475817+G|0;ce=0x6c44198c+J+(he>>>0<G>>>0?1:0)|0;he=he+ue|0;ce=ce+se+(he>>>0<ue>>>0?1:0)|0;de=(ne>>>14|re<<18)^(ne>>>18|re<<14)^(ne<<23|re>>>9)|0;he=he+de|0;ce=ce+((re>>>14|ne<<18)^(re>>>18|ne<<14)^(re<<23|ne>>>9))+(he>>>0<de>>>0?1:0)|0;de=oe^ne&(ae^oe)|0;he=he+de|0;ce=ce+(fe^re&(ie^fe))+(he>>>0<de>>>0?1:0)|0;ue=oe;se=fe;oe=ae;fe=ie;ae=ne;ie=re;ne=te+he|0;re=ee+ce+(ne>>>0<te>>>0?1:0)|0;te=Q;ee=$;Q=Y;$=X;Y=W;X=Z;W=he+(Y&Q^te&(Y^Q))|0;Z=ce+(X&$^ee&(X^$))+(W>>>0<he>>>0?1:0)|0;de=(Y>>>28|X<<4)^(Y<<30|X>>>2)^(Y<<25|X>>>7)|0;W=W+de|0;Z=Z+((X>>>28|Y<<4)^(X<<30|Y>>>2)^(X<<25|Y>>>7))+(W>>>0<de>>>0?1:0)|0;i=i+W|0;n=n+Z+(i>>>0<W>>>0?1:0)|0;f=f+Y|0;a=a+X+(f>>>0<Y>>>0?1:0)|0;s=s+Q|0;o=o+$+(s>>>0<Q>>>0?1:0)|0;c=c+te|0;u=u+ee+(c>>>0<te>>>0?1:0)|0;d=d+ne|0;h=h+re+(d>>>0<ne>>>0?1:0)|0;p=p+ae|0;l=l+ie+(p>>>0<ae>>>0?1:0)|0;y=y+oe|0;v=v+fe+(y>>>0<oe>>>0?1:0)|0;g=g+ue|0;b=b+se+(g>>>0<ue>>>0?1:0)|0}function te(e){e=e|0;ee(Q[e|0]<<24|Q[e|1]<<16|Q[e|2]<<8|Q[e|3],Q[e|4]<<24|Q[e|5]<<16|Q[e|6]<<8|Q[e|7],Q[e|8]<<24|Q[e|9]<<16|Q[e|10]<<8|Q[e|11],Q[e|12]<<24|Q[e|13]<<16|Q[e|14]<<8|Q[e|15],Q[e|16]<<24|Q[e|17]<<16|Q[e|18]<<8|Q[e|19],Q[e|20]<<24|Q[e|21]<<16|Q[e|22]<<8|Q[e|23],Q[e|24]<<24|Q[e|25]<<16|Q[e|26]<<8|Q[e|27],Q[e|28]<<24|Q[e|29]<<16|Q[e|30]<<8|Q[e|31],Q[e|32]<<24|Q[e|33]<<16|Q[e|34]<<8|Q[e|35],Q[e|36]<<24|Q[e|37]<<16|Q[e|38]<<8|Q[e|39],Q[e|40]<<24|Q[e|41]<<16|Q[e|42]<<8|Q[e|43],Q[e|44]<<24|Q[e|45]<<16|Q[e|46]<<8|Q[e|47],Q[e|48]<<24|Q[e|49]<<16|Q[e|50]<<8|Q[e|51],Q[e|52]<<24|Q[e|53]<<16|Q[e|54]<<8|Q[e|55],Q[e|56]<<24|Q[e|57]<<16|Q[e|58]<<8|Q[e|59],Q[e|60]<<24|Q[e|61]<<16|Q[e|62]<<8|Q[e|63],Q[e|64]<<24|Q[e|65]<<16|Q[e|66]<<8|Q[e|67],Q[e|68]<<24|Q[e|69]<<16|Q[e|70]<<8|Q[e|71],Q[e|72]<<24|Q[e|73]<<16|Q[e|74]<<8|Q[e|75],Q[e|76]<<24|Q[e|77]<<16|Q[e|78]<<8|Q[e|79],Q[e|80]<<24|Q[e|81]<<16|Q[e|82]<<8|Q[e|83],Q[e|84]<<24|Q[e|85]<<16|Q[e|86]<<8|Q[e|87],Q[e|88]<<24|Q[e|89]<<16|Q[e|90]<<8|Q[e|91],Q[e|92]<<24|Q[e|93]<<16|Q[e|94]<<8|Q[e|95],Q[e|96]<<24|Q[e|97]<<16|Q[e|98]<<8|Q[e|99],Q[e|100]<<24|Q[e|101]<<16|Q[e|102]<<8|Q[e|103],Q[e|104]<<24|Q[e|105]<<16|Q[e|106]<<8|Q[e|107],Q[e|108]<<24|Q[e|109]<<16|Q[e|110]<<8|Q[e|111],Q[e|112]<<24|Q[e|113]<<16|Q[e|114]<<8|Q[e|115],Q[e|116]<<24|Q[e|117]<<16|Q[e|118]<<8|Q[e|119],Q[e|120]<<24|Q[e|121]<<16|Q[e|122]<<8|Q[e|123],Q[e|124]<<24|Q[e|125]<<16|Q[e|126]<<8|Q[e|127])}function re(e){e=e|0;Q[e|0]=n>>>24;Q[e|1]=n>>>16&255;Q[e|2]=n>>>8&255;Q[e|3]=n&255;Q[e|4]=i>>>24;Q[e|5]=i>>>16&255;Q[e|6]=i>>>8&255;Q[e|7]=i&255;Q[e|8]=a>>>24;Q[e|9]=a>>>16&255;Q[e|10]=a>>>8&255;Q[e|11]=a&255;Q[e|12]=f>>>24;Q[e|13]=f>>>16&255;Q[e|14]=f>>>8&255;Q[e|15]=f&255;Q[e|16]=o>>>24;Q[e|17]=o>>>16&255;Q[e|18]=o>>>8&255;Q[e|19]=o&255;Q[e|20]=s>>>24;Q[e|21]=s>>>16&255;Q[e|22]=s>>>8&255;Q[e|23]=s&255;Q[e|24]=u>>>24;Q[e|25]=u>>>16&255;Q[e|26]=u>>>8&255;Q[e|27]=u&255;Q[e|28]=c>>>24;Q[e|29]=c>>>16&255;Q[e|30]=c>>>8&255;Q[e|31]=c&255;Q[e|32]=h>>>24;Q[e|33]=h>>>16&255;Q[e|34]=h>>>8&255;Q[e|35]=h&255;Q[e|36]=d>>>24;Q[e|37]=d>>>16&255;Q[e|38]=d>>>8&255;Q[e|39]=d&255;Q[e|40]=l>>>24;Q[e|41]=l>>>16&255;Q[e|42]=l>>>8&255;Q[e|43]=l&255;Q[e|44]=p>>>24;Q[e|45]=p>>>16&255;Q[e|46]=p>>>8&255;Q[e|47]=p&255;Q[e|48]=v>>>24;Q[e|49]=v>>>16&255;Q[e|50]=v>>>8&255;Q[e|51]=v&255;Q[e|52]=y>>>24;Q[e|53]=y>>>16&255;Q[e|54]=y>>>8&255;Q[e|55]=y&255;Q[e|56]=b>>>24;Q[e|57]=b>>>16&255;Q[e|58]=b>>>8&255;Q[e|59]=b&255;Q[e|60]=g>>>24;Q[e|61]=g>>>16&255;Q[e|62]=g>>>8&255;Q[e|63]=g&255}function ne(){n=0x6a09e667;i=0xf3bcc908;a=0xbb67ae85;f=0x84caa73b;o=0x3c6ef372;s=0xfe94f82b;u=0xa54ff53a;c=0x5f1d36f1;h=0x510e527f;d=0xade682d1;l=0x9b05688c;p=0x2b3e6c1f;v=0x1f83d9ab;y=0xfb41bd6b;b=0x5be0cd19;g=0x137e2179;m=w=0}function ie(e,t,r,x,k,A,S,E,B,M,C,_,N,U,I,K,P,O){e=e|0;t=t|0;r=r|0;x=x|0;k=k|0;A=A|0;S=S|0;E=E|0;B=B|0;M=M|0;C=C|0;_=_|0;N=N|0;U=U|0;I=I|0;K=K|0;P=P|0;O=O|0;n=e;i=t;a=r;f=x;o=k;s=A;u=S;c=E;h=B;d=M;l=C;p=_;v=N;y=U;b=I;g=K;m=P;w=O}function ae(e,t){e=e|0;t=t|0;var r=0;if(e&127)return-1;while((t|0)>=128){te(e);e=e+128|0;t=t-128|0;r=r+128|0}m=m+r|0;if(m>>>0<r>>>0)w=w+1|0;return r|0}function fe(e,t,r){e=e|0;t=t|0;r=r|0;var n=0,i=0;if(e&127)return-1;if(~r)if(r&63)return-1;if((t|0)>=128){n=ae(e,t)|0;if((n|0)==-1)return-1;e=e+n|0;t=t-n|0}n=n+t|0;m=m+t|0;if(m>>>0<t>>>0)w=w+1|0;Q[e|t]=0x80;if((t|0)>=112){for(i=t+1|0;(i|0)<128;i=i+1|0)Q[e|i]=0x00;te(e);t=0;Q[e|0]=0}for(i=t+1|0;(i|0)<123;i=i+1|0)Q[e|i]=0;Q[e|120]=w>>>21&255;Q[e|121]=w>>>13&255;Q[e|122]=w>>>5&255;Q[e|123]=w<<3&255|m>>>29;Q[e|124]=m>>>21&255;Q[e|125]=m>>>13&255;Q[e|126]=m>>>5&255;Q[e|127]=m<<3&255;te(e);if(~r)re(r);return n|0}function oe(){n=x;i=k;a=A;f=S;o=E;s=B;u=M;c=C;h=_;d=N;l=U;p=I;v=K;y=P;b=O;g=L;m=128;w=0}function se(){n=D;i=R;a=H;f=T;o=F;s=z;u=V;c=j;h=q;d=J;l=G;p=Z;v=W;y=X;b=Y;g=$;m=128;w=0}function ue(e,t,r,Q,te,re,ie,ae,fe,oe,se,ue,ce,he,de,le,pe,ve,ye,be,ge,me,we,xe,ke,Ae,Se,Ee,Be,Me,Ce,_e){e=e|0;t=t|0;r=r|0;Q=Q|0;te=te|0;re=re|0;ie=ie|0;ae=ae|0;fe=fe|0;oe=oe|0;se=se|0;ue=ue|0;ce=ce|0;he=he|0;de=de|0;le=le|0;pe=pe|0;ve=ve|0;ye=ye|0;be=be|0;ge=ge|0;me=me|0;we=we|0;xe=xe|0;ke=ke|0;Ae=Ae|0;Se=Se|0;Ee=Ee|0;Be=Be|0;Me=Me|0;Ce=Ce|0;_e=_e|0;ne();ee(e^0x5c5c5c5c,t^0x5c5c5c5c,r^0x5c5c5c5c,Q^0x5c5c5c5c,te^0x5c5c5c5c,re^0x5c5c5c5c,ie^0x5c5c5c5c,ae^0x5c5c5c5c,fe^0x5c5c5c5c,oe^0x5c5c5c5c,se^0x5c5c5c5c,ue^0x5c5c5c5c,ce^0x5c5c5c5c,he^0x5c5c5c5c,de^0x5c5c5c5c,le^0x5c5c5c5c,pe^0x5c5c5c5c,ve^0x5c5c5c5c,ye^0x5c5c5c5c,be^0x5c5c5c5c,ge^0x5c5c5c5c,me^0x5c5c5c5c,we^0x5c5c5c5c,xe^0x5c5c5c5c,ke^0x5c5c5c5c,Ae^0x5c5c5c5c,Se^0x5c5c5c5c,Ee^0x5c5c5c5c,Be^0x5c5c5c5c,Me^0x5c5c5c5c,Ce^0x5c5c5c5c,_e^0x5c5c5c5c);D=n;R=i;H=a;T=f;F=o;z=s;V=u;j=c;q=h;J=d;G=l;Z=p;W=v;X=y;Y=b;$=g;ne();ee(e^0x36363636,t^0x36363636,r^0x36363636,Q^0x36363636,te^0x36363636,re^0x36363636,ie^0x36363636,ae^0x36363636,fe^0x36363636,oe^0x36363636,se^0x36363636,ue^0x36363636,ce^0x36363636,he^0x36363636,de^0x36363636,le^0x36363636,pe^0x36363636,ve^0x36363636,ye^0x36363636,be^0x36363636,ge^0x36363636,me^0x36363636,we^0x36363636,xe^0x36363636,ke^0x36363636,Ae^0x36363636,Se^0x36363636,Ee^0x36363636,Be^0x36363636,Me^0x36363636,Ce^0x36363636,_e^0x36363636);x=n;k=i;A=a;S=f;E=o;B=s;M=u;C=c;_=h;N=d;U=l;I=p;K=v;P=y;O=b;L=g;m=128;w=0}function ce(e,t,r){e=e|0;t=t|0;r=r|0;var m=0,w=0,x=0,k=0,A=0,S=0,E=0,B=0,M=0,C=0,_=0,N=0,U=0,I=0,K=0,P=0,O=0;if(e&127)return-1;if(~r)if(r&63)return-1;O=fe(e,t,-1)|0;m=n;w=i;x=a;k=f;A=o;S=s;E=u;B=c;M=h;C=d;_=l;N=p;U=v;I=y;K=b;P=g;se();ee(m,w,x,k,A,S,E,B,M,C,_,N,U,I,K,P,0x80000000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1536);if(~r)re(r);return O|0}function he(e,t,r,m,w){e=e|0;t=t|0;r=r|0;m=m|0;w=w|0;var x=0,k=0,A=0,S=0,E=0,B=0,M=0,C=0,_=0,N=0,U=0,I=0,K=0,P=0,O=0,L=0,D=0,R=0,H=0,T=0,F=0,z=0,V=0,j=0,q=0,J=0,G=0,Z=0,W=0,X=0,Y=0,$=0;if(e&127)return-1;if(~w)if(w&63)return-1;Q[e+t|0]=r>>>24;Q[e+t+1|0]=r>>>16&255;Q[e+t+2|0]=r>>>8&255;Q[e+t+3|0]=r&255;ce(e,t+4|0,-1)|0;x=D=n;k=R=i;A=H=a;S=T=f;E=F=o;B=z=s;M=V=u;C=j=c;_=q=h;N=J=d;U=G=l;I=Z=p;K=W=v;P=X=y;O=Y=b;L=$=g;m=m-1|0;while((m|0)>0){oe();ee(D,R,H,T,F,z,V,j,q,J,G,Z,W,X,Y,$,0x80000000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1536);D=n;R=i;H=a;T=f;F=o;z=s;V=u;j=c;q=h;J=d;G=l;Z=p;W=v;X=y;Y=b;$=g;se();ee(D,R,H,T,F,z,V,j,q,J,G,Z,W,X,Y,$,0x80000000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1536);D=n;R=i;H=a;T=f;F=o;z=s;V=u;j=c;q=h;J=d;G=l;Z=p;W=v;X=y;Y=b;$=g;x=x^n;k=k^i;A=A^a;S=S^f;E=E^o;B=B^s;M=M^u;C=C^c;_=_^h;N=N^d;U=U^l;I=I^p;K=K^v;P=P^y;O=O^b;L=L^g;m=m-1|0}n=x;i=k;a=A;f=S;o=E;s=B;u=M;c=C;h=_;d=N;l=U;p=I;v=K;y=P;b=O;g=L;if(~w)re(w);return 0}return{reset:ne,init:ie,process:ae,finish:fe,hmac_reset:oe,hmac_init:ue,hmac_finish:ce,pbkdf2_generate_block:he}}({Uint8Array},0,e.heap.buffer),e.reset(),e}return D(t,e),q(t)}(ia);oa.NAME="sha512";var sa=function(){return q((function e(t,r,n){if(V(this,e),!t.HASH_SIZE)throw new SyntaxError("option 'hash' supplied doesn't seem to be a valid hash function");this.hash=t,this.BLOCK_SIZE=this.hash.BLOCK_SIZE,this.HMAC_SIZE=this.hash.HASH_SIZE,this.result=null,this.key=function(e,t){var r=new Uint8Array(e.BLOCK_SIZE);return t.length>e.BLOCK_SIZE?r.set(e.reset().process(t).finish().result):r.set(t),r}(this.hash,r);for(var i=new Uint8Array(this.key),a=0;a<i.length;++a)i[a]^=54;this.hash.reset().process(i),void 0!==n?this._hmac_init_verify(n):this.verify=null}),[{key:"process",value:function(e){if(null!==this.result)throw new Hi("state must be reset before processing new data");return this.hash.process(e),this}},{key:"finish",value:function(){if(null!==this.result)throw new Hi("state must be reset before processing new data");for(var e=this.hash.finish().result,t=new Uint8Array(this.key),r=0;r<t.length;++r)t[r]^=92;var n=this.verify,i=this.hash.reset().process(t).process(e).finish().result;if(n){if(n.length!==i.length)throw new Error("HMAC verification failed, lengths doesn't match");for(var a=0,f=0;f<n.length;f++)a|=n[f]^i[f];if(0!==a)throw new Error("HMAC verification failed, hash value doesn't match")}return this.result=i,this}},{key:"_hmac_init_verify",value:function(e){if(e.length!==this.HMAC_SIZE)throw new Ti("illegal verification tag size");this.verify=e}}])}(),ua=function(e){function t(e,r){var n;return V(this,t),(n=U(this,t,[new aa,e,r])).reset(),void 0!==r?n._hmac_init_verify(r):n.verify=null,I(n,n)}return D(t,e),q(t,[{key:"reset",value:function(){this.result=null;var e=this.key;return this.hash.reset().asm.hmac_init(e[0]<<24|e[1]<<16|e[2]<<8|e[3],e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[8]<<24|e[9]<<16|e[10]<<8|e[11],e[12]<<24|e[13]<<16|e[14]<<8|e[15],e[16]<<24|e[17]<<16|e[18]<<8|e[19],e[20]<<24|e[21]<<16|e[22]<<8|e[23],e[24]<<24|e[25]<<16|e[26]<<8|e[27],e[28]<<24|e[29]<<16|e[30]<<8|e[31],e[32]<<24|e[33]<<16|e[34]<<8|e[35],e[36]<<24|e[37]<<16|e[38]<<8|e[39],e[40]<<24|e[41]<<16|e[42]<<8|e[43],e[44]<<24|e[45]<<16|e[46]<<8|e[47],e[48]<<24|e[49]<<16|e[50]<<8|e[51],e[52]<<24|e[53]<<16|e[54]<<8|e[55],e[56]<<24|e[57]<<16|e[58]<<8|e[59],e[60]<<24|e[61]<<16|e[62]<<8|e[63]),this}},{key:"finish",value:function(){if(null!==this.result)throw new Hi("state must be reset before processing new data");var e=this.hash,t=this.hash.asm,r=this.hash.heap;t.hmac_finish(e.pos,e.len,0);var n=this.verify,i=new Uint8Array(20);if(i.set(r.subarray(0,20)),n){if(n.length!==i.length)throw new Error("HMAC verification failed, lengths doesn't match");for(var a=0,f=0;f<n.length;f++)a|=n[f]^i[f];if(0!==a)throw new Error("HMAC verification failed, hash value doesn't match")}else this.result=i;return this}}])}(sa),ca=function(e){function t(e,r){var n;return V(this,t),(n=U(this,t,[new fa,e,r])).reset(),void 0!==r?n._hmac_init_verify(r):n.verify=null,I(n,n)}return D(t,e),q(t,[{key:"reset",value:function(){var e=this.key;return this.hash.reset().asm.hmac_init(e[0]<<24|e[1]<<16|e[2]<<8|e[3],e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[8]<<24|e[9]<<16|e[10]<<8|e[11],e[12]<<24|e[13]<<16|e[14]<<8|e[15],e[16]<<24|e[17]<<16|e[18]<<8|e[19],e[20]<<24|e[21]<<16|e[22]<<8|e[23],e[24]<<24|e[25]<<16|e[26]<<8|e[27],e[28]<<24|e[29]<<16|e[30]<<8|e[31],e[32]<<24|e[33]<<16|e[34]<<8|e[35],e[36]<<24|e[37]<<16|e[38]<<8|e[39],e[40]<<24|e[41]<<16|e[42]<<8|e[43],e[44]<<24|e[45]<<16|e[46]<<8|e[47],e[48]<<24|e[49]<<16|e[50]<<8|e[51],e[52]<<24|e[53]<<16|e[54]<<8|e[55],e[56]<<24|e[57]<<16|e[58]<<8|e[59],e[60]<<24|e[61]<<16|e[62]<<8|e[63]),this}},{key:"finish",value:function(){if(null===this.key)throw new Hi("no key is associated with the instance");if(null!==this.result)throw new Hi("state must be reset before processing new data");var e=this.hash,t=this.hash.asm,r=this.hash.heap;t.hmac_finish(e.pos,e.len,0);var n=this.verify,i=new Uint8Array(32);if(i.set(r.subarray(0,32)),n){if(n.length!==i.length)throw new Error("HMAC verification failed, lengths doesn't match");for(var a=0,f=0;f<n.length;f++)a|=n[f]^i[f];if(0!==a)throw new Error("HMAC verification failed, hash value doesn't match")}else this.result=i;return this}}])}(sa),ha=function(e){function t(e,r){var n;return V(this,t),(n=U(this,t,[new oa,e,r])).reset(),void 0!==r?n._hmac_init_verify(r):n.verify=null,I(n,n)}return D(t,e),q(t,[{key:"reset",value:function(){var e=this.key;return this.hash.reset().asm.hmac_init(e[0]<<24|e[1]<<16|e[2]<<8|e[3],e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[8]<<24|e[9]<<16|e[10]<<8|e[11],e[12]<<24|e[13]<<16|e[14]<<8|e[15],e[16]<<24|e[17]<<16|e[18]<<8|e[19],e[20]<<24|e[21]<<16|e[22]<<8|e[23],e[24]<<24|e[25]<<16|e[26]<<8|e[27],e[28]<<24|e[29]<<16|e[30]<<8|e[31],e[32]<<24|e[33]<<16|e[34]<<8|e[35],e[36]<<24|e[37]<<16|e[38]<<8|e[39],e[40]<<24|e[41]<<16|e[42]<<8|e[43],e[44]<<24|e[45]<<16|e[46]<<8|e[47],e[48]<<24|e[49]<<16|e[50]<<8|e[51],e[52]<<24|e[53]<<16|e[54]<<8|e[55],e[56]<<24|e[57]<<16|e[58]<<8|e[59],e[60]<<24|e[61]<<16|e[62]<<8|e[63],e[64]<<24|e[65]<<16|e[66]<<8|e[67],e[68]<<24|e[69]<<16|e[70]<<8|e[71],e[72]<<24|e[73]<<16|e[74]<<8|e[75],e[76]<<24|e[77]<<16|e[78]<<8|e[79],e[80]<<24|e[81]<<16|e[82]<<8|e[83],e[84]<<24|e[85]<<16|e[86]<<8|e[87],e[88]<<24|e[89]<<16|e[90]<<8|e[91],e[92]<<24|e[93]<<16|e[94]<<8|e[95],e[96]<<24|e[97]<<16|e[98]<<8|e[99],e[100]<<24|e[101]<<16|e[102]<<8|e[103],e[104]<<24|e[105]<<16|e[106]<<8|e[107],e[108]<<24|e[109]<<16|e[110]<<8|e[111],e[112]<<24|e[113]<<16|e[114]<<8|e[115],e[116]<<24|e[117]<<16|e[118]<<8|e[119],e[120]<<24|e[121]<<16|e[122]<<8|e[123],e[124]<<24|e[125]<<16|e[126]<<8|e[127]),this}},{key:"finish",value:function(){if(null===this.key)throw new Hi("no key is associated with the instance");if(null!==this.result)throw new Hi("state must be reset before processing new data");var e=this.hash,t=this.hash.asm,r=this.hash.heap;t.hmac_finish(e.pos,e.len,0);var n=this.verify,i=new Uint8Array(64);if(i.set(r.subarray(0,64)),n){if(n.length!==i.length)throw new Error("HMAC verification failed, lengths doesn't match");for(var a=0,f=0;f<n.length;f++)a|=n[f]^i[f];if(0!==a)throw new Error("HMAC verification failed, hash value doesn't match")}else this.result=i;return this}}])}(sa);function da(e,t,r,n){for(var i=new ua(e),a=new Uint8Array(n),f=Math.ceil(n/i.HMAC_SIZE),o=1;o<=f;++o){var s=(o-1)*i.HMAC_SIZE,u=(o<f?0:n%i.HMAC_SIZE)||i.HMAC_SIZE;i.reset().process(t),i.hash.asm.pbkdf2_generate_block(i.hash.pos,i.hash.len,o,r,0),a.set(i.hash.heap.subarray(0,u),s)}return a}function la(e,t,r,n){for(var i=new ca(e),a=new Uint8Array(n),f=Math.ceil(n/i.HMAC_SIZE),o=1;o<=f;++o){var s=(o-1)*i.HMAC_SIZE,u=(o<f?0:n%i.HMAC_SIZE)||i.HMAC_SIZE;i.reset().process(t),i.hash.asm.pbkdf2_generate_block(i.hash.pos,i.hash.len,o,r,0),a.set(i.hash.heap.subarray(0,u),s)}return a}function pa(e,t,r,n){for(var i=new ha(e),a=new Uint8Array(n),f=Math.ceil(n/i.HMAC_SIZE),o=1;o<=f;++o){var s=(o-1)*i.HMAC_SIZE,u=(o<f?0:n%i.HMAC_SIZE)||i.HMAC_SIZE;i.reset().process(t),i.hash.asm.pbkdf2_generate_block(i.hash.pos,i.hash.len,o,r,0),a.set(i.hash.heap.subarray(0,u),s)}return a}var va=function(){return q((function e(t){V(this,e);var r=t.length;if(2!==r&&3!==r&&8!==r)throw new SyntaxError("unexpected key type");var n=new na(new ra(t[0])),i=new ra(t[1]);this.key={0:n,1:i},r>2&&(this.key[2]=new ra(t[2])),r>3&&(this.key[3]=new na(new ra(t[3])),this.key[4]=new na(new ra(t[4])),this.key[5]=new ra(t[5]),this.key[6]=new ra(t[6]),this.key[7]=new ra(t[7]))}),[{key:"encrypt",value:function(e){if(!this.key)throw new Hi("no key is associated with the instance");if(this.key[0].compare(e)<=0)throw new RangeError("data too large");var t=this.key[0],r=this.key[1],n=t.power(e,r).toBytes(),i=t.bitLength+7>>3;if(n.length<i){var a=new Uint8Array(i);a.set(n,i-n.length),n=a}return this.result=n,this}},{key:"decrypt",value:function(e){if(this.key[0].compare(e)<=0)throw new RangeError("data too large");var t,r;if(void 0!==this.key[3]){r=this.key[0];for(var n=this.key[3],i=this.key[4],a=this.key[5],f=this.key[6],o=this.key[7],s=n.power(e,a),u=i.power(e,f),c=s.subtract(u);c.sign<0;)c=c.add(n);t=n.reduce(o.multiply(c)).multiply(i).add(u).clamp(r.bitLength).toBytes()}else{r=this.key[0];var h=this.key[2];t=r.power(e,h).toBytes()}var d=r.bitLength+7>>3;if(t.length<d){var l=new Uint8Array(d);l.set(t,d-t.length),t=l}return this.result=t,this}}])}(),ya=function(){return q((function e(t,r,n){V(this,e),this.rsa=new va(t),this.hash=r,this.label=void 0!==n&&n.length>0?n:null}),[{key:"encrypt",value:function(e,t){var r=Math.ceil(this.rsa.key[0].bitLength/8),n=this.hash.HASH_SIZE,i=e.byteLength||e.length||0,a=r-i-2*n-2;if(i>r-2*this.hash.HASH_SIZE-2)throw new Ti("data too large");var f=new Uint8Array(r),o=f.subarray(1,n+1),s=f.subarray(n+1);if(s.set(e,n+a+1),s.set(this.hash.process(this.label||new Uint8Array(0)).finish().result,0),s[n+a]=1,void 0!==t){if(o.length!==t.length)throw new Ti("random size must equal the hash size");o.set(t)}else Yi(o);for(var u=this.RSA_MGF1_generate(o,s.length),c=0;c<s.length;c++)s[c]^=u[c];for(var h=this.RSA_MGF1_generate(s,o.length),d=0;d<o.length;d++)o[d]^=h[d];return this.rsa.encrypt(new ra(f)),new Uint8Array(this.rsa.result)}},{key:"decrypt",value:function(e){if(!this.rsa.key)throw new Hi("no key is associated with the instance");var t=Math.ceil(this.rsa.key[0].bitLength/8),r=this.hash.HASH_SIZE;if((e.byteLength||e.length||0)!==t)throw new Ti("bad data");this.rsa.decrypt(new ra(e));var n=this.rsa.result[0],i=this.rsa.result.subarray(1,r+1),a=this.rsa.result.subarray(r+1);if(0!==n)throw new Fi("decryption failed");for(var f=this.RSA_MGF1_generate(a,i.length),o=0;o<i.length;o++)i[o]^=f[o];for(var s=this.RSA_MGF1_generate(i,a.length),u=0;u<a.length;u++)a[u]^=s[u];for(var c=this.hash.reset().process(this.label||new Uint8Array(0)).finish().result,h=0;h<r;h++)if(c[h]!==a[h])throw new Fi("decryption failed");for(var d=r;d<a.length;d++){var l=a[d];if(1===l)break;if(0!==l)throw new Fi("decryption failed")}if(d===a.length)throw new Fi("decryption failed");return this.rsa.result=a.subarray(d+1),new Uint8Array(this.rsa.result)}},{key:"RSA_MGF1_generate",value:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=this.hash.HASH_SIZE,n=new Uint8Array(t),i=new Uint8Array(4),a=Math.ceil(t/r),f=0;f<a;f++){i[0]=f>>>24,i[1]=f>>>16&255,i[2]=f>>>8&255,i[3]=255&f;var o=n.subarray(f*r),s=this.hash.reset().process(e).process(i).finish().result;s.length>o.length&&(s=s.subarray(0,o.length)),o.set(s)}return n}}])}(),ba=function(){return q((function e(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:4;if(V(this,e),this.rsa=new va(t),this.hash=r,this.saltLength=n,this.saltLength<0)throw new TypeError("saltLength should be a non-negative number");if(null!==this.rsa.key&&Math.ceil((this.rsa.key[0].bitLength-1)/8)<this.hash.HASH_SIZE+this.saltLength+2)throw new SyntaxError("saltLength is too large")}),[{key:"sign",value:function(e,t){var r=this.rsa.key[0].bitLength,n=this.hash.HASH_SIZE,i=Math.ceil((r-1)/8),a=this.saltLength,f=i-a-n-2,o=new Uint8Array(i),s=o.subarray(i-n-1,i-1),u=o.subarray(0,i-n-1),c=u.subarray(f+1),h=new Uint8Array(8+n+a),d=h.subarray(8,8+n),l=h.subarray(8+n);if(d.set(this.hash.process(e).finish().result),a>0)if(void 0!==t){if(l.length!==t.length)throw new Ti("random size must equal the salt size");l.set(t)}else Yi(l);u[f]=1,c.set(l),s.set(this.hash.reset().process(h).finish().result);for(var p=this.RSA_MGF1_generate(s,u.length),v=0;v<u.length;v++)u[v]^=p[v];o[i-1]=188;var y=8*i-r+1;return y%8&&(o[0]&=255>>>y),this.rsa.decrypt(new ra(o)),this.rsa.result}},{key:"verify",value:function(e,t){var r=this.rsa.key[0].bitLength,n=this.hash.HASH_SIZE,i=Math.ceil((r-1)/8),a=this.saltLength,f=i-a-n-2;this.rsa.encrypt(new ra(e));var o=this.rsa.result;if(188!==o[i-1])throw new Fi("bad signature");var s=o.subarray(i-n-1,i-1),u=o.subarray(0,i-n-1),c=u.subarray(f+1),h=8*i-r+1;if(h%8&&o[0]>>>8-h)throw new Fi("bad signature");for(var d=this.RSA_MGF1_generate(s,u.length),l=0;l<u.length;l++)u[l]^=d[l];h%8&&(o[0]&=255>>>h);for(var p=0;p<f;p++)if(0!==u[p])throw new Fi("bad signature");if(1!==u[f])throw new Fi("bad signature");var v=new Uint8Array(8+n+a),y=v.subarray(8,8+n),b=v.subarray(8+n);y.set(this.hash.reset().process(t).finish().result),b.set(c);for(var g=this.hash.reset().process(v).finish().result,m=0;m<n;m++)if(s[m]!==g[m])throw new Fi("bad signature")}},{key:"RSA_MGF1_generate",value:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=this.hash.HASH_SIZE,n=new Uint8Array(t),i=new Uint8Array(4),a=Math.ceil(t/r),f=0;f<a;f++){i[0]=f>>>24,i[1]=f>>>16&255,i[2]=f>>>8&255,i[3]=255&f;var o=n.subarray(f*r),s=this.hash.reset().process(e).process(i).finish().result;s.length>o.length&&(s=s.subarray(0,o.length)),o.set(s)}return n}}])}(),ga=function(){return q((function e(t,r){V(this,e),this.rsa=new va(t),this.hash=r}),[{key:"sign",value:function(e){if(!this.rsa.key)throw new Hi("no key is associated with the instance");var t=wa(this.hash),r=this.hash.HASH_SIZE,n=t.length+r,i=this.rsa.key[0].bitLength+7>>3;if(i<n+11)throw new Error("Message too long");var a=new Uint8Array(r);a.set(this.hash.process(e).finish().result);var f=new Uint8Array(i),o=0;for(f[o++]=0,f[o++]=1;o<i-n-1;o++)f[o]=255;return f[o++]=0,f.set(t,o),f.set(a,f.length-r),this.rsa.decrypt(new ra(f)),this.rsa.result}},{key:"verify",value:function(e,t){var r=wa(this.hash),n=this.hash.HASH_SIZE,i=r.length+n,a=this.rsa.key[0].bitLength+7>>3;if(a<i+11)throw new Fi("Bad signature");this.rsa.encrypt(new ra(e));var f=new Uint8Array(n);f.set(this.hash.process(t).finish().result);var o=1,s=this.rsa.result,u=0;for(o&=0===s[u++]?1:0,o&=1===s[u++]?1:0;u<a-i-1;u++)o&=255===s[u]?1:0;o&=0===s[u++]?1:0;for(var c=0,h=u+r.length;u<h;u++)o&=s[u]===r[c++]?1:0;for(c=0,h=u+f.length;u<h;u++)o&=s[u]===f[c++]?1:0;if(!o)throw new Fi("Bad signature")}}])}(),ma={sha1:new Uint8Array([48,33,48,9,6,5,43,14,3,2,26,5,0,4,20]),sha256:new Uint8Array([48,49,48,13,6,9,96,134,72,1,101,3,4,2,1,5,0,4,32]),sha384:new Uint8Array([48,65,48,13,6,9,96,134,72,1,101,3,4,2,2,5,0,4,48]),sha512:new Uint8Array([48,81,48,13,6,9,96,134,72,1,101,3,4,2,3,5,0,4,64])};function wa(e){var t=ma[e.NAME];if(!t)throw new Error("Cannot get hash prefix for hash algorithm '"+e.NAME+"'");return t}function xa(e,t){return e.name.toUpperCase()===t.toUpperCase()}var ka=function(e){function t(e,r,n,i){var a;return V(this,t),(a=U(this,t,[e,r,"secret",n])).raw=i,a}return D(t,e),q(t,[{key:"toJSON",value:function(){return{kty:"oct",alg:this.getJwkAlgorithm(),k:j.ToBase64Url(this.raw),ext:this.extractable,key_ops:this.usages}}},{key:"getJwkAlgorithm",value:function(){switch(this.algorithm.name.toUpperCase()){case"AES-CBC":return"A".concat(this.algorithm.length,"CBC");case"AES-CTR":return"A".concat(this.algorithm.length,"CTR");case"AES-GCM":return"A".concat(this.algorithm.length,"GCM");case"AES-ECB":return"A".concat(this.algorithm.length,"ECB");default:throw new ln("Unsupported algorithm name")}}}])}(Pi),Aa=function(){function t(){V(this,t)}return q(t,null,[{key:"checkCryptoKey",value:function(e){if(!(e instanceof ka))throw new TypeError("key: Is not AesCryptoKey")}},{key:"generateKey",value:function(t,r,n){return qr(this,void 0,void 0,x().mark((function i(){var a;return x().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return a=e.nativeCrypto.getRandomValues(new Uint8Array(t.length/8)),i.abrupt("return",new ka(t,r,n,a));case 2:case"end":return i.stop()}}),i)})))}},{key:"encrypt",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",this.cipher(e,t,C.toUint8Array(r),!0));case 1:case"end":return n.stop()}}),n,this)})))}},{key:"decrypt",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",this.cipher(e,t,C.toUint8Array(r),!1));case 1:case"end":return n.stop()}}),n,this)})))}},{key:"exportKey",value:function(e,t){return qr(this,void 0,void 0,x().mark((function r(){return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:r.t0=e,r.next="jwk"===r.t0?3:"raw"===r.t0?4:5;break;case 3:return r.abrupt("return",t.toJSON());case 4:return r.abrupt("return",t.raw.buffer);case 5:throw new vn("format: Must be 'jwk' or 'raw'");case 6:case"end":return r.stop()}}),r)})))}},{key:"importKey",value:function(e,t,r,n,i){return qr(this,void 0,void 0,x().mark((function e(){var a,f;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:a=bn(t)?j.FromBase64Url(t.k):C.toArrayBuffer(t),e.t0=a.byteLength<<3,e.next=128===e.t0||192===e.t0||256===e.t0?4:5;break;case 4:return e.abrupt("break",6);case 5:throw new vn("keyData: Is wrong key length");case 6:return f=new ka({name:r.name,length:a.byteLength<<3},n,i,new Uint8Array(a)),e.abrupt("return",f);case 8:case"end":return e.stop()}}),e)})))}},{key:"cipher",value:function(e,r,n,i){return qr(this,void 0,void 0,x().mark((function a(){var f,o,s,u,c,h;return x().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(f=i?"encrypt":"decrypt",!xa(e,t.AesCBC)){a.next=6;break}s=C.toUint8Array(e.iv),o=ji[f](n,r.raw,void 0,s),a.next=18;break;case 6:if(!xa(e,t.AesGCM)){a.next=13;break}u=C.toUint8Array(e.iv),e.additionalData&&(c=C.toUint8Array(e.additionalData)),h=(e.tagLength||128)/8,o=Zi[f](n,r.raw,u,c,h),a.next=18;break;case 13:if(!xa(e,t.AesECB)){a.next=17;break}o=qi[f](n,r.raw,!0),a.next=18;break;case 17:throw new vn("algorithm: Is not recognized");case 18:return a.abrupt("return",C.toArrayBuffer(o));case 19:case"end":return a.stop()}}),a)})))}}])}();Aa.AesCBC="AES-CBC",Aa.AesECB="AES-ECB",Aa.AesGCM="AES-GCM";var Sa=function(e){function t(){return V(this,t),U(this,t,arguments)}return D(t,e),q(t,[{key:"onGenerateKey",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",Aa.generateKey(e,t,r));case 1:case"end":return n.stop()}}),n)})))}},{key:"onEncrypt",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",Aa.encrypt(e,t,r));case 1:case"end":return n.stop()}}),n)})))}},{key:"onDecrypt",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",Aa.decrypt(e,t,r));case 1:case"end":return n.stop()}}),n)})))}},{key:"onExportKey",value:function(e,t){return qr(this,void 0,void 0,x().mark((function r(){return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",Aa.exportKey(e,t));case 1:case"end":return r.stop()}}),r)})))}},{key:"onImportKey",value:function(e,t,r,n,i){return qr(this,void 0,void 0,x().mark((function a(){return x().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.abrupt("return",Aa.importKey(e,t,r,n,i));case 1:case"end":return a.stop()}}),a)})))}},{key:"checkCryptoKey",value:function(e,r){P(t,"checkCryptoKey",this,3)([e,r]),Aa.checkCryptoKey(e)}}])}(wn),Ea=function(e){function t(){return V(this,t),U(this,t,arguments)}return D(t,e),q(t,[{key:"onGenerateKey",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",Aa.generateKey(e,t,r));case 1:case"end":return n.stop()}}),n)})))}},{key:"onEncrypt",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",Aa.encrypt(e,t,r));case 1:case"end":return n.stop()}}),n)})))}},{key:"onDecrypt",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",Aa.decrypt(e,t,r));case 1:case"end":return n.stop()}}),n)})))}},{key:"onExportKey",value:function(e,t){return qr(this,void 0,void 0,x().mark((function r(){return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",Aa.exportKey(e,t));case 1:case"end":return r.stop()}}),r)})))}},{key:"onImportKey",value:function(e,t,r,n,i){return qr(this,void 0,void 0,x().mark((function a(){return x().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.abrupt("return",Aa.importKey(e,t,r,n,i));case 1:case"end":return a.stop()}}),a)})))}},{key:"checkCryptoKey",value:function(e,r){P(t,"checkCryptoKey",this,3)([e,r]),Aa.checkCryptoKey(e)}}])}(kn),Ba=function(e){function t(){return V(this,t),U(this,t,arguments)}return D(t,e),q(t,[{key:"onGenerateKey",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",Aa.generateKey(e,t,r));case 1:case"end":return n.stop()}}),n)})))}},{key:"onEncrypt",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",Aa.encrypt(e,t,r));case 1:case"end":return n.stop()}}),n)})))}},{key:"onDecrypt",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",Aa.decrypt(e,t,r));case 1:case"end":return n.stop()}}),n)})))}},{key:"onExportKey",value:function(e,t){return qr(this,void 0,void 0,x().mark((function r(){return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",Aa.exportKey(e,t));case 1:case"end":return r.stop()}}),r)})))}},{key:"onImportKey",value:function(e,t,r,n,i){return qr(this,void 0,void 0,x().mark((function a(){return x().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.abrupt("return",Aa.importKey(e,t,r,n,i));case 1:case"end":return a.stop()}}),a)})))}},{key:"checkCryptoKey",value:function(e,r){P(t,"checkCryptoKey",this,3)([e,r]),Aa.checkCryptoKey(e)}}])}(An),Ma=function(e){function t(){return V(this,t),U(this,t,arguments)}return D(t,e),q(t,[{key:"onEncrypt",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){var i;return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return i=new Ji(t.raw,C.toUint8Array(e.counter)).encrypt(C.toUint8Array(r)),n.abrupt("return",C.toArrayBuffer(i));case 2:case"end":return n.stop()}}),n)})))}},{key:"onDecrypt",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){var i;return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return i=new Ji(t.raw,C.toUint8Array(e.counter)).decrypt(C.toUint8Array(r)),n.abrupt("return",C.toArrayBuffer(i));case 2:case"end":return n.stop()}}),n)})))}},{key:"onGenerateKey",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",Aa.generateKey(e,t,r));case 1:case"end":return n.stop()}}),n)})))}},{key:"onExportKey",value:function(e,t){return qr(this,void 0,void 0,x().mark((function r(){return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",Aa.exportKey(e,t));case 1:case"end":return r.stop()}}),r)})))}},{key:"onImportKey",value:function(e,t,r,n,i){return qr(this,void 0,void 0,x().mark((function a(){return x().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.abrupt("return",Aa.importKey(e,t,r,n,i));case 1:case"end":return a.stop()}}),a)})))}},{key:"checkCryptoKey",value:function(e,r){P(t,"checkCryptoKey",this,3)([e,r]),Aa.checkCryptoKey(e)}}])}(xn),Ca=function(e){function t(){return V(this,t),U(this,t,arguments)}return D(t,e),q(t,[{key:"onEncrypt",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("Method not implemented.");case 1:case"end":return e.stop()}}),e)})))}},{key:"onDecrypt",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("Method not implemented.");case 1:case"end":return e.stop()}}),e)})))}},{key:"onGenerateKey",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("Method not implemented.");case 1:case"end":return e.stop()}}),e)})))}},{key:"onExportKey",value:function(e,t){return qr(this,void 0,void 0,x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("Method not implemented.");case 1:case"end":return e.stop()}}),e)})))}},{key:"onImportKey",value:function(e,t,r,n,i){return qr(this,void 0,void 0,x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("Method not implemented.");case 1:case"end":return e.stop()}}),e)})))}},{key:"checkCryptoKey",value:function(e,r){P(t,"checkCryptoKey",this,3)([e,r]),Aa.checkCryptoKey(e)}}])}(Sn),_a=function(e){function t(e,r,n,i,a){var f;return V(this,t),(f=U(this,t,[e,r,n,i])).data=a,f}return D(t,e),q(t)}(Pi),Na=function(){return q((function e(){V(this,e)}),null,[{key:"checkCryptoKey",value:function(e){if(!(e instanceof _a))throw new TypeError("key: Is not RsaCryptoKey")}},{key:"generateKey",value:function(t,r,n){return qr(this,void 0,void 0,x().mark((function i(){var a,f,o,s,u,c,h,d=this;return x().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return a={name:"RSA-PSS",hash:"SHA-256",publicExponent:t.publicExponent,modulusLength:t.modulusLength},i.next=3,e.nativeSubtle.generateKey(a,!0,["sign","verify"]);case 3:return f=i.sent,o=new mh,i.next=7,o.subtle.exportKey("pkcs8",f.privateKey);case 7:return s=i.sent,i.next=10,o.subtle.importKey("pkcs8",s,t,r,n.filter((function(e){return d.privateUsages.includes(e)})));case 10:return u=i.sent,i.next=13,o.subtle.exportKey("spki",f.publicKey);case 13:return c=i.sent,i.next=16,o.subtle.importKey("spki",c,t,!0,n.filter((function(e){return d.publicUsages.includes(e)})));case 16:return h=i.sent,i.abrupt("return",{privateKey:u,publicKey:h});case 18:case"end":return i.stop()}}),i)})))}},{key:"exportKey",value:function(e,t){return qr(this,void 0,void 0,x().mark((function r(){return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:r.t0=e,r.next="pkcs8"===r.t0?3:"spki"===r.t0?4:"jwk"===r.t0?5:6;break;case 3:return r.abrupt("return",this.exportPkcs8Key(t));case 4:return r.abrupt("return",this.exportSpkiKey(t));case 5:return r.abrupt("return",this.exportJwkKey(t));case 6:throw new vn("format: Must be 'jwk', 'pkcs8' or 'spki'");case 7:case"end":return r.stop()}}),r,this)})))}},{key:"importKey",value:function(e,t,r,n,i){return qr(this,void 0,void 0,x().mark((function a(){var f,o;return x().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:a.t0=e,a.next="pkcs8"===a.t0?3:"spki"===a.t0?5:"jwk"===a.t0?7:9;break;case 3:return f=this.importPkcs8Key(t),a.abrupt("break",10);case 5:return f=this.importSpkiKey(t),a.abrupt("break",10);case 7:return f=this.importJwkKey(t),a.abrupt("break",10);case 9:throw new vn("format: Must be 'jwk', 'pkcs8' or 'spki'");case 10:return o=new _a(Object.assign({publicExponent:1===f[1][1]?f[1].slice(1):f[1].slice(3),modulusLength:f[0].byteLength<<3},r),n,2===f.length?"public":"private",i,f),a.abrupt("return",o);case 12:case"end":return a.stop()}}),a,this)})))}},{key:"randomNonZeroValues",value:function(t){return(t=e.nativeCrypto.getRandomValues(t)).map((function(t){for(;!t;)t=e.nativeCrypto.getRandomValues(new Uint8Array(1))[0];return t}))}},{key:"exportPkcs8Key",value:function(e){var t=new xi.PrivateKeyInfo;return t.privateKeyAlgorithm.algorithm="1.2.840.113549.1.1.1",t.privateKeyAlgorithm.parameters=null,t.privateKey=Vr.serialize(this.exportAsmKey(e.data)),Vr.serialize(t)}},{key:"importPkcs8Key",value:function(e){var t=Vr.parse(e,xi.PrivateKeyInfo),r=Vr.parse(t.privateKey,xi.RsaPrivateKey);return this.importAsmKey(r)}},{key:"importSpkiKey",value:function(e){var t=Vr.parse(e,xi.PublicKeyInfo),r=Vr.parse(t.publicKey,xi.RsaPublicKey);return this.importAsmKey(r)}},{key:"exportSpkiKey",value:function(e){var t=new xi.RsaPublicKey;t.modulus=e.data[0].buffer,t.publicExponent=1===e.data[1][1]?e.data[1].buffer.slice(1):e.data[1].buffer.slice(3);var r=new xi.PublicKeyInfo;return r.publicKeyAlgorithm.algorithm="1.2.840.113549.1.1.1",r.publicKeyAlgorithm.parameters=null,r.publicKey=Vr.serialize(t),Vr.serialize(r)}},{key:"importJwkKey",value:function(e){var t;return t=e.d?cn.fromJSON(e,{targetSchema:xi.RsaPrivateKey}):cn.fromJSON(e,{targetSchema:xi.RsaPublicKey}),this.importAsmKey(t)}},{key:"exportJwkKey",value:function(e){var t=this.exportAsmKey(e.data),r=un.toJSON(t);return r.ext=!0,r.key_ops=e.usages,r.kty="RSA",r.alg=this.getJwkAlgorithm(e.algorithm),r}},{key:"getJwkAlgorithm",value:function(e){switch(e.name.toUpperCase()){case"RSA-OAEP":var t=/(\d+)$/.exec(e.hash.name)[1];return"RSA-OAEP".concat("1"!==t?"-".concat(t):"");case"RSASSA-PKCS1-V1_5":return"RS".concat(/(\d+)$/.exec(e.hash.name)[1]);case"RSA-PSS":return"PS".concat(/(\d+)$/.exec(e.hash.name)[1]);case"RSAES-PKCS1-V1_5":return"PS1";default:throw new vn("algorithm: Is not recognized")}}},{key:"exportAsmKey",value:function(e){var t;if(e.length>2){var r=new xi.RsaPrivateKey;r.privateExponent=e[2].buffer,r.prime1=e[3].buffer,r.prime2=e[4].buffer,r.exponent1=e[5].buffer,r.exponent2=e[6].buffer,r.coefficient=e[7].buffer,t=r}else t=new xi.RsaPublicKey;return t.modulus=e[0].buffer,t.publicExponent=1===e[1][1]?e[1].buffer.slice(1):e[1].buffer.slice(3),t}},{key:"importAsmKey",value:function(e){var t=new Uint8Array(4-e.publicExponent.byteLength),r=[new Uint8Array(e.modulus),Ki(t,new Uint8Array(e.publicExponent))];return e instanceof xi.RsaPrivateKey&&(r.push(new Uint8Array(e.privateExponent)),r.push(new Uint8Array(e.prime1)),r.push(new Uint8Array(e.prime2)),r.push(new Uint8Array(e.exponent1)),r.push(new Uint8Array(e.exponent2)),r.push(new Uint8Array(e.coefficient))),r}}])}();Na.RsaSsa="RSASSA-PKCS1-v1_5",Na.RsaPss="RSA-PSS",Na.RsaOaep="RSA-OAEP",Na.privateUsages=["sign","decrypt","unwrapKey"],Na.publicUsages=["verify","encrypt","wrapKey"];var Ua=function(){return q((function e(){V(this,e)}),null,[{key:"getDigest",value:function(e){switch(e){case"SHA-1":return new aa;case"SHA-256":return new fa;case"SHA-512":return new oa;default:throw new ln("keyAlgorithm.hash: Is not recognized")}}},{key:"digest",value:function(e,t){return qr(this,void 0,void 0,x().mark((function r(){var n,i;return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return n=this.getDigest(e.name),i=n.process(C.toUint8Array(t)).finish().result,r.abrupt("return",C.toArrayBuffer(i));case 3:case"end":return r.stop()}}),r,this)})))}}])}(),Ia=function(e){function t(){return V(this,t),U(this,t,arguments)}return D(t,e),q(t,[{key:"onGenerateKey",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",Na.generateKey(e,t,r));case 1:case"end":return n.stop()}}),n)})))}},{key:"onExportKey",value:function(e,t){return qr(this,void 0,void 0,x().mark((function r(){return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",Na.exportKey(e,t));case 1:case"end":return r.stop()}}),r)})))}},{key:"onImportKey",value:function(e,t,r,n,i){return qr(this,void 0,void 0,x().mark((function a(){return x().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.abrupt("return",Na.importKey(e,t,r,n,i));case 1:case"end":return a.stop()}}),a)})))}},{key:"onEncrypt",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",this.cipher(e,t,r));case 1:case"end":return n.stop()}}),n,this)})))}},{key:"onDecrypt",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",this.cipher(e,t,r));case 1:case"end":return n.stop()}}),n,this)})))}},{key:"checkCryptoKey",value:function(e,r){P(t,"checkCryptoKey",this,3)([e,r]),Na.checkCryptoKey(e)}},{key:"cipher",value:function(e,t,r){var n,i=Ua.getDigest(t.algorithm.hash.name);e.label&&(n=C.toUint8Array(e.label));var a,f=new ya(t.data,i,n),o=C.toUint8Array(r);return a="public"===t.type?f.encrypt(o):f.decrypt(o),C.toArrayBuffer(a)}}])}(_n),Ka=function(e){function t(){return V(this,t),U(this,t,arguments)}return D(t,e),q(t,[{key:"onGenerateKey",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",Na.generateKey(e,t,r));case 1:case"end":return n.stop()}}),n)})))}},{key:"onExportKey",value:function(e,t){return qr(this,void 0,void 0,x().mark((function r(){return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",Na.exportKey(e,t));case 1:case"end":return r.stop()}}),r)})))}},{key:"onImportKey",value:function(e,t,r,n,i){return qr(this,void 0,void 0,x().mark((function a(){return x().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.abrupt("return",Na.importKey(e,t,r,n,i));case 1:case"end":return a.stop()}}),a)})))}},{key:"onSign",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){var i,a;return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return i=new ba(t.data,Ua.getDigest(t.algorithm.hash.name),e.saltLength),a=i.sign(C.toUint8Array(r)),n.abrupt("return",C.toArrayBuffer(a));case 3:case"end":return n.stop()}}),n)})))}},{key:"onVerify",value:function(e,t,r,n){return qr(this,void 0,void 0,x().mark((function i(){var a;return x().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:a=new ba(t.data,Ua.getDigest(t.algorithm.hash.name),e.saltLength),i.prev=1,a.verify(C.toUint8Array(r),C.toUint8Array(n)),i.next=8;break;case 5:return i.prev=5,i.t0=i.catch(1),i.abrupt("return",!1);case 8:return i.abrupt("return",!0);case 9:case"end":return i.stop()}}),i,null,[[1,5]])})))}},{key:"checkCryptoKey",value:function(e,r){P(t,"checkCryptoKey",this,3)([e,r]),Na.checkCryptoKey(e)}}])}(Cn),Pa=function(e){function t(){return V(this,t),U(this,t,arguments)}return D(t,e),q(t,[{key:"onGenerateKey",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",Na.generateKey(e,t,r));case 1:case"end":return n.stop()}}),n)})))}},{key:"onExportKey",value:function(e,t){return qr(this,void 0,void 0,x().mark((function r(){return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",Na.exportKey(e,t));case 1:case"end":return r.stop()}}),r)})))}},{key:"onImportKey",value:function(e,t,r,n,i){return qr(this,void 0,void 0,x().mark((function a(){return x().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.abrupt("return",Na.importKey(e,t,r,n,i));case 1:case"end":return a.stop()}}),a)})))}},{key:"onSign",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function e(){var n,i;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=new ga(t.data,Ua.getDigest(t.algorithm.hash.name)),i=n.sign(C.toUint8Array(r)),e.abrupt("return",C.toArrayBuffer(i));case 3:case"end":return e.stop()}}),e)})))}},{key:"onVerify",value:function(e,t,r,n){return qr(this,void 0,void 0,x().mark((function e(){var i;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=new ga(t.data,Ua.getDigest(t.algorithm.hash.name)),e.prev=1,i.verify(C.toUint8Array(r),C.toUint8Array(n)),e.next=8;break;case 5:return e.prev=5,e.t0=e.catch(1),e.abrupt("return",!1);case 8:return e.abrupt("return",!0);case 9:case"end":return e.stop()}}),e,null,[[1,5]])})))}},{key:"checkCryptoKey",value:function(e,r){P(t,"checkCryptoKey",this,3)([e,r]),Na.checkCryptoKey(e)}}])}(Mn),Oa=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).name="RSAES-PKCS1-v1_5",e.usages={publicKey:["encrypt","wrapKey"],privateKey:["decrypt","unwrapKey"]},e.hashAlgorithms=["SHA-1","SHA-256","SHA-384","SHA-512"],e}return D(t,e),q(t,[{key:"onGenerateKey",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",Na.generateKey(e,t,r));case 1:case"end":return n.stop()}}),n)})))}},{key:"checkGenerateKeyParams",value:function(e){if(this.checkRequiredProperty(e,"publicExponent"),!(e.publicExponent&&e.publicExponent instanceof Uint8Array))throw new TypeError("publicExponent: Missing or not a Uint8Array");var t=j.ToBase64(e.publicExponent);if("Aw=="!==t&&"AQAB"!==t)throw new TypeError("publicExponent: Must be [3] or [1,0,1]");switch(this.checkRequiredProperty(e,"modulusLength"),e.modulusLength){case 1024:case 2048:case 4096:break;default:throw new TypeError("modulusLength: Must be 1024, 2048, or 4096")}}},{key:"onDecrypt",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function e(){var n,i,a;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=new va(t.data).decrypt(new ra(C.toUint8Array(r))).result,i=t.algorithm.modulusLength>>3,r.byteLength===i){e.next=4;break}throw new dn("Decryption error. Encrypted message size doesn't match to key length");case 4:if(a=0,!n[a++]&&2===n[a++]){e.next=7;break}throw new dn("Decryption error");case 7:if(0!==n[a++]){e.next=9;break}return e.abrupt("break",10);case 9:if(a<n.length){e.next=7;break}case 10:if(!(a<11)){e.next=12;break}throw new dn("Decryption error. PS is less than 8 octets.");case 12:if(a!==n.length){e.next=14;break}throw new dn("Decryption error. There is no octet with hexadecimal value 0x00 to separate PS from M");case 14:return e.abrupt("return",n.buffer.slice(a));case 15:case"end":return e.stop()}}),e)})))}},{key:"onEncrypt",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function e(){var n,i,a,f,o;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.algorithm.modulusLength>>3,!(r.byteLength>n-11)){e.next=3;break}throw new dn("Message too long");case 3:return i=n-r.byteLength-3,a=Na.randomNonZeroValues(new Uint8Array(i)),(f=new Uint8Array(n))[0]=0,f[1]=2,f.set(a,2),f[2+i]=0,f.set(new Uint8Array(r),3+i),o=new va(t.data).encrypt(new ra(f)).result,e.abrupt("return",C.toArrayBuffer(o));case 13:case"end":return e.stop()}}),e)})))}},{key:"onExportKey",value:function(e,t){return qr(this,void 0,void 0,x().mark((function r(){return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",Na.exportKey(e,t));case 1:case"end":return r.stop()}}),r)})))}},{key:"onImportKey",value:function(e,t,r,n,i){return qr(this,void 0,void 0,x().mark((function a(){var f;return x().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.next=2,Na.importKey(e,t,Object.assign(Object.assign({},r),{name:this.name}),n,i);case 2:return f=a.sent,a.abrupt("return",f);case 4:case"end":return a.stop()}}),a,this)})))}},{key:"checkCryptoKey",value:function(e,r){P(t,"checkCryptoKey",this,3)([e,r]),Na.checkCryptoKey(e)}}])}(gn),La="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==r.g?r.g:"undefined"!=typeof self?self:{},Da={},Ra={},Ha={exports:{}};!function(e){!function(e,t){function n(e,t){if(!e)throw new Error(t||"Assertion failed")}function i(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function a(e,t,r){if(a.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==t&&"be"!==t||(r=t,t=10),this._init(e||0,t||10,r||"be"))}var f;"object"===H(e)?e.exports=a:t.BN=a,a.BN=a,a.wordSize=26;try{f="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(54).Buffer}catch(e){}function o(e,t){var r=e.charCodeAt(t);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function s(e,t,r){var n=o(e,r);return r-1>=t&&(n|=o(e,r-1)<<4),n}function u(e,t,r,n){for(var i=0,a=Math.min(e.length,r),f=t;f<a;f++){var o=e.charCodeAt(f)-48;i*=n,i+=o>=49?o-49+10:o>=17?o-17+10:o}return i}a.isBN=function(e){return e instanceof a||null!==e&&"object"===H(e)&&e.constructor.wordSize===a.wordSize&&Array.isArray(e.words)},a.max=function(e,t){return e.cmp(t)>0?e:t},a.min=function(e,t){return e.cmp(t)<0?e:t},a.prototype._init=function(e,t,r){if("number"==typeof e)return this._initNumber(e,t,r);if("object"===H(e))return this._initArray(e,t,r);"hex"===t&&(t=16),n(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i<e.length&&(16===t?this._parseHex(e,i,r):(this._parseBase(e,t,i),"le"===r&&this._initArray(this.toArray(),t,r)))},a.prototype._initNumber=function(e,t,r){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(n(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),t,r)},a.prototype._initArray=function(e,t,r){if(n("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var a,f,o=0;if("be"===r)for(i=e.length-1,a=0;i>=0;i-=3)f=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[a]|=f<<o&67108863,this.words[a+1]=f>>>26-o&67108863,(o+=24)>=26&&(o-=26,a++);else if("le"===r)for(i=0,a=0;i<e.length;i+=3)f=e[i]|e[i+1]<<8|e[i+2]<<16,this.words[a]|=f<<o&67108863,this.words[a+1]=f>>>26-o&67108863,(o+=24)>=26&&(o-=26,a++);return this.strip()},a.prototype._parseHex=function(e,t,r){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var i,a=0,f=0;if("be"===r)for(n=e.length-1;n>=t;n-=2)i=s(e,t,n)<<a,this.words[f]|=67108863&i,a>=18?(a-=18,f+=1,this.words[f]|=i>>>26):a+=8;else for(n=(e.length-t)%2==0?t+1:t;n<e.length;n+=2)i=s(e,t,n)<<a,this.words[f]|=67108863&i,a>=18?(a-=18,f+=1,this.words[f]|=i>>>26):a+=8;this.strip()},a.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var a=e.length-r,f=a%n,o=Math.min(a,a-f)+r,s=0,c=r;c<o;c+=n)s=u(e,c,c+n,t),this.imuln(i),this.words[0]+s<67108864?this.words[0]+=s:this._iaddn(s);if(0!==f){var h=1;for(s=u(e,c,e.length,t),c=0;c<f;c++)h*=t;this.imuln(h),this.words[0]+s<67108864?this.words[0]+=s:this._iaddn(s)}this.strip()},a.prototype.copy=function(e){e.words=new Array(this.length);for(var t=0;t<this.length;t++)e.words[t]=this.words[t];e.length=this.length,e.negative=this.negative,e.red=this.red},a.prototype.clone=function(){var e=new a(null);return this.copy(e),e},a.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},a.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],h=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function l(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var i=0|e.words[0],a=0|t.words[0],f=i*a,o=67108863&f,s=f/67108864|0;r.words[0]=o;for(var u=1;u<n;u++){for(var c=s>>>26,h=67108863&s,d=Math.min(u,t.length-1),l=Math.max(0,u-e.length+1);l<=d;l++){var p=u-l|0;c+=(f=(i=0|e.words[p])*(a=0|t.words[l])+h)/67108864|0,h=67108863&f}r.words[u]=0|h,s=0|c}return 0!==s?r.words[u]=0|s:r.length--,r.strip()}a.prototype.toString=function(e,t){var r;if(t=0|t||1,16===(e=e||10)||"hex"===e){r="";for(var i=0,a=0,f=0;f<this.length;f++){var o=this.words[f],s=(16777215&(o<<i|a)).toString(16);r=0!=(a=o>>>24-i&16777215)||f!==this.length-1?c[6-s.length]+s+r:s+r,(i+=2)>=26&&(i-=26,f--)}for(0!==a&&(r=a.toString(16)+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(e===(0|e)&&e>=2&&e<=36){var u=h[e],l=d[e];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var v=p.modn(l).toString(e);r=(p=p.idivn(l)).isZero()?v+r:c[u-v.length]+v+r}for(this.isZero()&&(r="0"+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(e,t){return n(void 0!==f),this.toArrayLike(f,e,t)},a.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},a.prototype.toArrayLike=function(e,t,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,"byte array longer than desired length"),n(a>0,"Requested array length <= 0"),this.strip();var f,o,s="le"===t,u=new e(a),c=this.clone();if(s){for(o=0;!c.isZero();o++)f=c.andln(255),c.iushrn(8),u[o]=f;for(;o<a;o++)u[o]=0}else{for(o=0;o<a-i;o++)u[o]=0;for(o=0;!c.isZero();o++)f=c.andln(255),c.iushrn(8),u[a-o-1]=f}return u},Math.clz32?a.prototype._countBits=function(e){return 32-Math.clz32(e)}:a.prototype._countBits=function(e){var t=e,r=0;return t>=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},a.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 8191&t||(r+=13,t>>>=13),127&t||(r+=7,t>>>=7),15&t||(r+=4,t>>>=4),3&t||(r+=2,t>>>=2),1&t||r++,r},a.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t<this.length;t++){var r=this._zeroBits(this.words[t]);if(e+=r,26!==r)break}return e},a.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},a.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},a.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},a.prototype.isNeg=function(){return 0!==this.negative},a.prototype.neg=function(){return this.clone().ineg()},a.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},a.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var t=0;t<e.length;t++)this.words[t]=this.words[t]|e.words[t];return this.strip()},a.prototype.ior=function(e){return n(!(this.negative|e.negative)),this.iuor(e)},a.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},a.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},a.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;r<t.length;r++)this.words[r]=this.words[r]&e.words[r];return this.length=t.length,this.strip()},a.prototype.iand=function(e){return n(!(this.negative|e.negative)),this.iuand(e)},a.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},a.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},a.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var n=0;n<r.length;n++)this.words[n]=t.words[n]^r.words[n];if(this!==t)for(;n<t.length;n++)this.words[n]=t.words[n];return this.length=t.length,this.strip()},a.prototype.ixor=function(e){return n(!(this.negative|e.negative)),this.iuxor(e)},a.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},a.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},a.prototype.inotn=function(e){n("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),r>0&&t--;for(var i=0;i<t;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(e){return this.clone().inotn(e)},a.prototype.setn=function(e,t){n("number"==typeof e&&e>=0);var r=e/26|0,i=e%26;return this._expand(r+1),this.words[r]=t?this.words[r]|1<<i:this.words[r]&~(1<<i),this.strip()},a.prototype.iadd=function(e){var t,r,n;if(0!==this.negative&&0===e.negative)return this.negative=0,t=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,t=this.isub(e),e.negative=1,t._normSign();this.length>e.length?(r=this,n=e):(r=e,n=this);for(var i=0,a=0;a<n.length;a++)t=(0|r.words[a])+(0|n.words[a])+i,this.words[a]=67108863&t,i=t>>>26;for(;0!==i&&a<r.length;a++)t=(0|r.words[a])+i,this.words[a]=67108863&t,i=t>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this},a.prototype.add=function(e){var t;return 0!==e.negative&&0===this.negative?(e.negative=0,t=this.sub(e),e.negative^=1,t):0===e.negative&&0!==this.negative?(this.negative=0,t=e.sub(this),this.negative=1,t):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},a.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,n,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=e):(r=e,n=this);for(var a=0,f=0;f<n.length;f++)a=(t=(0|r.words[f])-(0|n.words[f])+a)>>26,this.words[f]=67108863&t;for(;0!==a&&f<r.length;f++)a=(t=(0|r.words[f])+a)>>26,this.words[f]=67108863&t;if(0===a&&f<r.length&&r!==this)for(;f<r.length;f++)this.words[f]=r.words[f];return this.length=Math.max(this.length,f),r!==this&&(this.negative=1),this.strip()},a.prototype.sub=function(e){return this.clone().isub(e)};var p=function(e,t,r){var n,i,a,f=e.words,o=t.words,s=r.words,u=0,c=0|f[0],h=8191&c,d=c>>>13,l=0|f[1],p=8191&l,v=l>>>13,y=0|f[2],b=8191&y,g=y>>>13,m=0|f[3],w=8191&m,x=m>>>13,k=0|f[4],A=8191&k,S=k>>>13,E=0|f[5],B=8191&E,M=E>>>13,C=0|f[6],_=8191&C,N=C>>>13,U=0|f[7],I=8191&U,K=U>>>13,P=0|f[8],O=8191&P,L=P>>>13,D=0|f[9],R=8191&D,H=D>>>13,T=0|o[0],F=8191&T,z=T>>>13,V=0|o[1],j=8191&V,q=V>>>13,J=0|o[2],G=8191&J,Z=J>>>13,W=0|o[3],X=8191&W,Y=W>>>13,$=0|o[4],Q=8191&$,ee=$>>>13,te=0|o[5],re=8191&te,ne=te>>>13,ie=0|o[6],ae=8191&ie,fe=ie>>>13,oe=0|o[7],se=8191&oe,ue=oe>>>13,ce=0|o[8],he=8191&ce,de=ce>>>13,le=0|o[9],pe=8191&le,ve=le>>>13;r.negative=e.negative^t.negative,r.length=19;var ye=(u+(n=Math.imul(h,F))|0)+((8191&(i=(i=Math.imul(h,z))+Math.imul(d,F)|0))<<13)|0;u=((a=Math.imul(d,z))+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(p,F),i=(i=Math.imul(p,z))+Math.imul(v,F)|0,a=Math.imul(v,z);var be=(u+(n=n+Math.imul(h,j)|0)|0)+((8191&(i=(i=i+Math.imul(h,q)|0)+Math.imul(d,j)|0))<<13)|0;u=((a=a+Math.imul(d,q)|0)+(i>>>13)|0)+(be>>>26)|0,be&=67108863,n=Math.imul(b,F),i=(i=Math.imul(b,z))+Math.imul(g,F)|0,a=Math.imul(g,z),n=n+Math.imul(p,j)|0,i=(i=i+Math.imul(p,q)|0)+Math.imul(v,j)|0,a=a+Math.imul(v,q)|0;var ge=(u+(n=n+Math.imul(h,G)|0)|0)+((8191&(i=(i=i+Math.imul(h,Z)|0)+Math.imul(d,G)|0))<<13)|0;u=((a=a+Math.imul(d,Z)|0)+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(w,F),i=(i=Math.imul(w,z))+Math.imul(x,F)|0,a=Math.imul(x,z),n=n+Math.imul(b,j)|0,i=(i=i+Math.imul(b,q)|0)+Math.imul(g,j)|0,a=a+Math.imul(g,q)|0,n=n+Math.imul(p,G)|0,i=(i=i+Math.imul(p,Z)|0)+Math.imul(v,G)|0,a=a+Math.imul(v,Z)|0;var me=(u+(n=n+Math.imul(h,X)|0)|0)+((8191&(i=(i=i+Math.imul(h,Y)|0)+Math.imul(d,X)|0))<<13)|0;u=((a=a+Math.imul(d,Y)|0)+(i>>>13)|0)+(me>>>26)|0,me&=67108863,n=Math.imul(A,F),i=(i=Math.imul(A,z))+Math.imul(S,F)|0,a=Math.imul(S,z),n=n+Math.imul(w,j)|0,i=(i=i+Math.imul(w,q)|0)+Math.imul(x,j)|0,a=a+Math.imul(x,q)|0,n=n+Math.imul(b,G)|0,i=(i=i+Math.imul(b,Z)|0)+Math.imul(g,G)|0,a=a+Math.imul(g,Z)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,Y)|0)+Math.imul(v,X)|0,a=a+Math.imul(v,Y)|0;var we=(u+(n=n+Math.imul(h,Q)|0)|0)+((8191&(i=(i=i+Math.imul(h,ee)|0)+Math.imul(d,Q)|0))<<13)|0;u=((a=a+Math.imul(d,ee)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(B,F),i=(i=Math.imul(B,z))+Math.imul(M,F)|0,a=Math.imul(M,z),n=n+Math.imul(A,j)|0,i=(i=i+Math.imul(A,q)|0)+Math.imul(S,j)|0,a=a+Math.imul(S,q)|0,n=n+Math.imul(w,G)|0,i=(i=i+Math.imul(w,Z)|0)+Math.imul(x,G)|0,a=a+Math.imul(x,Z)|0,n=n+Math.imul(b,X)|0,i=(i=i+Math.imul(b,Y)|0)+Math.imul(g,X)|0,a=a+Math.imul(g,Y)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,ee)|0)+Math.imul(v,Q)|0,a=a+Math.imul(v,ee)|0;var xe=(u+(n=n+Math.imul(h,re)|0)|0)+((8191&(i=(i=i+Math.imul(h,ne)|0)+Math.imul(d,re)|0))<<13)|0;u=((a=a+Math.imul(d,ne)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(_,F),i=(i=Math.imul(_,z))+Math.imul(N,F)|0,a=Math.imul(N,z),n=n+Math.imul(B,j)|0,i=(i=i+Math.imul(B,q)|0)+Math.imul(M,j)|0,a=a+Math.imul(M,q)|0,n=n+Math.imul(A,G)|0,i=(i=i+Math.imul(A,Z)|0)+Math.imul(S,G)|0,a=a+Math.imul(S,Z)|0,n=n+Math.imul(w,X)|0,i=(i=i+Math.imul(w,Y)|0)+Math.imul(x,X)|0,a=a+Math.imul(x,Y)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,ee)|0)+Math.imul(g,Q)|0,a=a+Math.imul(g,ee)|0,n=n+Math.imul(p,re)|0,i=(i=i+Math.imul(p,ne)|0)+Math.imul(v,re)|0,a=a+Math.imul(v,ne)|0;var ke=(u+(n=n+Math.imul(h,ae)|0)|0)+((8191&(i=(i=i+Math.imul(h,fe)|0)+Math.imul(d,ae)|0))<<13)|0;u=((a=a+Math.imul(d,fe)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(I,F),i=(i=Math.imul(I,z))+Math.imul(K,F)|0,a=Math.imul(K,z),n=n+Math.imul(_,j)|0,i=(i=i+Math.imul(_,q)|0)+Math.imul(N,j)|0,a=a+Math.imul(N,q)|0,n=n+Math.imul(B,G)|0,i=(i=i+Math.imul(B,Z)|0)+Math.imul(M,G)|0,a=a+Math.imul(M,Z)|0,n=n+Math.imul(A,X)|0,i=(i=i+Math.imul(A,Y)|0)+Math.imul(S,X)|0,a=a+Math.imul(S,Y)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,ee)|0)+Math.imul(x,Q)|0,a=a+Math.imul(x,ee)|0,n=n+Math.imul(b,re)|0,i=(i=i+Math.imul(b,ne)|0)+Math.imul(g,re)|0,a=a+Math.imul(g,ne)|0,n=n+Math.imul(p,ae)|0,i=(i=i+Math.imul(p,fe)|0)+Math.imul(v,ae)|0,a=a+Math.imul(v,fe)|0;var Ae=(u+(n=n+Math.imul(h,se)|0)|0)+((8191&(i=(i=i+Math.imul(h,ue)|0)+Math.imul(d,se)|0))<<13)|0;u=((a=a+Math.imul(d,ue)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(O,F),i=(i=Math.imul(O,z))+Math.imul(L,F)|0,a=Math.imul(L,z),n=n+Math.imul(I,j)|0,i=(i=i+Math.imul(I,q)|0)+Math.imul(K,j)|0,a=a+Math.imul(K,q)|0,n=n+Math.imul(_,G)|0,i=(i=i+Math.imul(_,Z)|0)+Math.imul(N,G)|0,a=a+Math.imul(N,Z)|0,n=n+Math.imul(B,X)|0,i=(i=i+Math.imul(B,Y)|0)+Math.imul(M,X)|0,a=a+Math.imul(M,Y)|0,n=n+Math.imul(A,Q)|0,i=(i=i+Math.imul(A,ee)|0)+Math.imul(S,Q)|0,a=a+Math.imul(S,ee)|0,n=n+Math.imul(w,re)|0,i=(i=i+Math.imul(w,ne)|0)+Math.imul(x,re)|0,a=a+Math.imul(x,ne)|0,n=n+Math.imul(b,ae)|0,i=(i=i+Math.imul(b,fe)|0)+Math.imul(g,ae)|0,a=a+Math.imul(g,fe)|0,n=n+Math.imul(p,se)|0,i=(i=i+Math.imul(p,ue)|0)+Math.imul(v,se)|0,a=a+Math.imul(v,ue)|0;var Se=(u+(n=n+Math.imul(h,he)|0)|0)+((8191&(i=(i=i+Math.imul(h,de)|0)+Math.imul(d,he)|0))<<13)|0;u=((a=a+Math.imul(d,de)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(R,F),i=(i=Math.imul(R,z))+Math.imul(H,F)|0,a=Math.imul(H,z),n=n+Math.imul(O,j)|0,i=(i=i+Math.imul(O,q)|0)+Math.imul(L,j)|0,a=a+Math.imul(L,q)|0,n=n+Math.imul(I,G)|0,i=(i=i+Math.imul(I,Z)|0)+Math.imul(K,G)|0,a=a+Math.imul(K,Z)|0,n=n+Math.imul(_,X)|0,i=(i=i+Math.imul(_,Y)|0)+Math.imul(N,X)|0,a=a+Math.imul(N,Y)|0,n=n+Math.imul(B,Q)|0,i=(i=i+Math.imul(B,ee)|0)+Math.imul(M,Q)|0,a=a+Math.imul(M,ee)|0,n=n+Math.imul(A,re)|0,i=(i=i+Math.imul(A,ne)|0)+Math.imul(S,re)|0,a=a+Math.imul(S,ne)|0,n=n+Math.imul(w,ae)|0,i=(i=i+Math.imul(w,fe)|0)+Math.imul(x,ae)|0,a=a+Math.imul(x,fe)|0,n=n+Math.imul(b,se)|0,i=(i=i+Math.imul(b,ue)|0)+Math.imul(g,se)|0,a=a+Math.imul(g,ue)|0,n=n+Math.imul(p,he)|0,i=(i=i+Math.imul(p,de)|0)+Math.imul(v,he)|0,a=a+Math.imul(v,de)|0;var Ee=(u+(n=n+Math.imul(h,pe)|0)|0)+((8191&(i=(i=i+Math.imul(h,ve)|0)+Math.imul(d,pe)|0))<<13)|0;u=((a=a+Math.imul(d,ve)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(R,j),i=(i=Math.imul(R,q))+Math.imul(H,j)|0,a=Math.imul(H,q),n=n+Math.imul(O,G)|0,i=(i=i+Math.imul(O,Z)|0)+Math.imul(L,G)|0,a=a+Math.imul(L,Z)|0,n=n+Math.imul(I,X)|0,i=(i=i+Math.imul(I,Y)|0)+Math.imul(K,X)|0,a=a+Math.imul(K,Y)|0,n=n+Math.imul(_,Q)|0,i=(i=i+Math.imul(_,ee)|0)+Math.imul(N,Q)|0,a=a+Math.imul(N,ee)|0,n=n+Math.imul(B,re)|0,i=(i=i+Math.imul(B,ne)|0)+Math.imul(M,re)|0,a=a+Math.imul(M,ne)|0,n=n+Math.imul(A,ae)|0,i=(i=i+Math.imul(A,fe)|0)+Math.imul(S,ae)|0,a=a+Math.imul(S,fe)|0,n=n+Math.imul(w,se)|0,i=(i=i+Math.imul(w,ue)|0)+Math.imul(x,se)|0,a=a+Math.imul(x,ue)|0,n=n+Math.imul(b,he)|0,i=(i=i+Math.imul(b,de)|0)+Math.imul(g,he)|0,a=a+Math.imul(g,de)|0;var Be=(u+(n=n+Math.imul(p,pe)|0)|0)+((8191&(i=(i=i+Math.imul(p,ve)|0)+Math.imul(v,pe)|0))<<13)|0;u=((a=a+Math.imul(v,ve)|0)+(i>>>13)|0)+(Be>>>26)|0,Be&=67108863,n=Math.imul(R,G),i=(i=Math.imul(R,Z))+Math.imul(H,G)|0,a=Math.imul(H,Z),n=n+Math.imul(O,X)|0,i=(i=i+Math.imul(O,Y)|0)+Math.imul(L,X)|0,a=a+Math.imul(L,Y)|0,n=n+Math.imul(I,Q)|0,i=(i=i+Math.imul(I,ee)|0)+Math.imul(K,Q)|0,a=a+Math.imul(K,ee)|0,n=n+Math.imul(_,re)|0,i=(i=i+Math.imul(_,ne)|0)+Math.imul(N,re)|0,a=a+Math.imul(N,ne)|0,n=n+Math.imul(B,ae)|0,i=(i=i+Math.imul(B,fe)|0)+Math.imul(M,ae)|0,a=a+Math.imul(M,fe)|0,n=n+Math.imul(A,se)|0,i=(i=i+Math.imul(A,ue)|0)+Math.imul(S,se)|0,a=a+Math.imul(S,ue)|0,n=n+Math.imul(w,he)|0,i=(i=i+Math.imul(w,de)|0)+Math.imul(x,he)|0,a=a+Math.imul(x,de)|0;var Me=(u+(n=n+Math.imul(b,pe)|0)|0)+((8191&(i=(i=i+Math.imul(b,ve)|0)+Math.imul(g,pe)|0))<<13)|0;u=((a=a+Math.imul(g,ve)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(R,X),i=(i=Math.imul(R,Y))+Math.imul(H,X)|0,a=Math.imul(H,Y),n=n+Math.imul(O,Q)|0,i=(i=i+Math.imul(O,ee)|0)+Math.imul(L,Q)|0,a=a+Math.imul(L,ee)|0,n=n+Math.imul(I,re)|0,i=(i=i+Math.imul(I,ne)|0)+Math.imul(K,re)|0,a=a+Math.imul(K,ne)|0,n=n+Math.imul(_,ae)|0,i=(i=i+Math.imul(_,fe)|0)+Math.imul(N,ae)|0,a=a+Math.imul(N,fe)|0,n=n+Math.imul(B,se)|0,i=(i=i+Math.imul(B,ue)|0)+Math.imul(M,se)|0,a=a+Math.imul(M,ue)|0,n=n+Math.imul(A,he)|0,i=(i=i+Math.imul(A,de)|0)+Math.imul(S,he)|0,a=a+Math.imul(S,de)|0;var Ce=(u+(n=n+Math.imul(w,pe)|0)|0)+((8191&(i=(i=i+Math.imul(w,ve)|0)+Math.imul(x,pe)|0))<<13)|0;u=((a=a+Math.imul(x,ve)|0)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(R,Q),i=(i=Math.imul(R,ee))+Math.imul(H,Q)|0,a=Math.imul(H,ee),n=n+Math.imul(O,re)|0,i=(i=i+Math.imul(O,ne)|0)+Math.imul(L,re)|0,a=a+Math.imul(L,ne)|0,n=n+Math.imul(I,ae)|0,i=(i=i+Math.imul(I,fe)|0)+Math.imul(K,ae)|0,a=a+Math.imul(K,fe)|0,n=n+Math.imul(_,se)|0,i=(i=i+Math.imul(_,ue)|0)+Math.imul(N,se)|0,a=a+Math.imul(N,ue)|0,n=n+Math.imul(B,he)|0,i=(i=i+Math.imul(B,de)|0)+Math.imul(M,he)|0,a=a+Math.imul(M,de)|0;var _e=(u+(n=n+Math.imul(A,pe)|0)|0)+((8191&(i=(i=i+Math.imul(A,ve)|0)+Math.imul(S,pe)|0))<<13)|0;u=((a=a+Math.imul(S,ve)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(R,re),i=(i=Math.imul(R,ne))+Math.imul(H,re)|0,a=Math.imul(H,ne),n=n+Math.imul(O,ae)|0,i=(i=i+Math.imul(O,fe)|0)+Math.imul(L,ae)|0,a=a+Math.imul(L,fe)|0,n=n+Math.imul(I,se)|0,i=(i=i+Math.imul(I,ue)|0)+Math.imul(K,se)|0,a=a+Math.imul(K,ue)|0,n=n+Math.imul(_,he)|0,i=(i=i+Math.imul(_,de)|0)+Math.imul(N,he)|0,a=a+Math.imul(N,de)|0;var Ne=(u+(n=n+Math.imul(B,pe)|0)|0)+((8191&(i=(i=i+Math.imul(B,ve)|0)+Math.imul(M,pe)|0))<<13)|0;u=((a=a+Math.imul(M,ve)|0)+(i>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,n=Math.imul(R,ae),i=(i=Math.imul(R,fe))+Math.imul(H,ae)|0,a=Math.imul(H,fe),n=n+Math.imul(O,se)|0,i=(i=i+Math.imul(O,ue)|0)+Math.imul(L,se)|0,a=a+Math.imul(L,ue)|0,n=n+Math.imul(I,he)|0,i=(i=i+Math.imul(I,de)|0)+Math.imul(K,he)|0,a=a+Math.imul(K,de)|0;var Ue=(u+(n=n+Math.imul(_,pe)|0)|0)+((8191&(i=(i=i+Math.imul(_,ve)|0)+Math.imul(N,pe)|0))<<13)|0;u=((a=a+Math.imul(N,ve)|0)+(i>>>13)|0)+(Ue>>>26)|0,Ue&=67108863,n=Math.imul(R,se),i=(i=Math.imul(R,ue))+Math.imul(H,se)|0,a=Math.imul(H,ue),n=n+Math.imul(O,he)|0,i=(i=i+Math.imul(O,de)|0)+Math.imul(L,he)|0,a=a+Math.imul(L,de)|0;var Ie=(u+(n=n+Math.imul(I,pe)|0)|0)+((8191&(i=(i=i+Math.imul(I,ve)|0)+Math.imul(K,pe)|0))<<13)|0;u=((a=a+Math.imul(K,ve)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,n=Math.imul(R,he),i=(i=Math.imul(R,de))+Math.imul(H,he)|0,a=Math.imul(H,de);var Ke=(u+(n=n+Math.imul(O,pe)|0)|0)+((8191&(i=(i=i+Math.imul(O,ve)|0)+Math.imul(L,pe)|0))<<13)|0;u=((a=a+Math.imul(L,ve)|0)+(i>>>13)|0)+(Ke>>>26)|0,Ke&=67108863;var Pe=(u+(n=Math.imul(R,pe))|0)+((8191&(i=(i=Math.imul(R,ve))+Math.imul(H,pe)|0))<<13)|0;return u=((a=Math.imul(H,ve))+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,s[0]=ye,s[1]=be,s[2]=ge,s[3]=me,s[4]=we,s[5]=xe,s[6]=ke,s[7]=Ae,s[8]=Se,s[9]=Ee,s[10]=Be,s[11]=Me,s[12]=Ce,s[13]=_e,s[14]=Ne,s[15]=Ue,s[16]=Ie,s[17]=Ke,s[18]=Pe,0!==u&&(s[19]=u,r.length++),r};function v(e,t,r){return(new y).mulp(e,t,r)}function y(e,t){this.x=e,this.y=t}Math.imul||(p=l),a.prototype.mulTo=function(e,t){var r,n=this.length+e.length;return r=10===this.length&&10===e.length?p(this,e,t):n<63?l(this,e,t):n<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,i=0,a=0;a<r.length-1;a++){var f=i;i=0;for(var o=67108863&n,s=Math.min(a,t.length-1),u=Math.max(0,a-e.length+1);u<=s;u++){var c=a-u,h=(0|e.words[c])*(0|t.words[u]),d=67108863&h;o=67108863&(d=d+o|0),i+=(f=(f=f+(h/67108864|0)|0)+(d>>>26)|0)>>>26,f&=67108863}r.words[a]=o,n=f,f=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,e,t):v(this,e,t),r},y.prototype.makeRBT=function(e){for(var t=new Array(e),r=a.prototype._countBits(e)-1,n=0;n<e;n++)t[n]=this.revBin(n,r,e);return t},y.prototype.revBin=function(e,t,r){if(0===e||e===r-1)return e;for(var n=0,i=0;i<t;i++)n|=(1&e)<<t-i-1,e>>=1;return n},y.prototype.permute=function(e,t,r,n,i,a){for(var f=0;f<a;f++)n[f]=t[e[f]],i[f]=r[e[f]]},y.prototype.transform=function(e,t,r,n,i,a){this.permute(a,e,t,r,n,i);for(var f=1;f<i;f<<=1)for(var o=f<<1,s=Math.cos(2*Math.PI/o),u=Math.sin(2*Math.PI/o),c=0;c<i;c+=o)for(var h=s,d=u,l=0;l<f;l++){var p=r[c+l],v=n[c+l],y=r[c+l+f],b=n[c+l+f],g=h*y-d*b;b=h*b+d*y,y=g,r[c+l]=p+y,n[c+l]=v+b,r[c+l+f]=p-y,n[c+l+f]=v-b,l!==o&&(g=s*h-u*d,d=s*d+u*h,h=g)}},y.prototype.guessLen13b=function(e,t){var r=1|Math.max(t,e),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},y.prototype.conjugate=function(e,t,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=e[n];e[n]=e[r-n-1],e[r-n-1]=i,i=t[n],t[n]=-t[r-n-1],t[r-n-1]=-i}},y.prototype.normalize13b=function(e,t){for(var r=0,n=0;n<t/2;n++){var i=8192*Math.round(e[2*n+1]/t)+Math.round(e[2*n]/t)+r;e[n]=67108863&i,r=i<67108864?0:i/67108864|0}return e},y.prototype.convert13b=function(e,t,r,i){for(var a=0,f=0;f<t;f++)a+=0|e[f],r[2*f]=8191&a,a>>>=13,r[2*f+1]=8191&a,a>>>=13;for(f=2*t;f<i;++f)r[f]=0;n(0===a),n(!(-8192&a))},y.prototype.stub=function(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=0;return t},y.prototype.mulp=function(e,t,r){var n=2*this.guessLen13b(e.length,t.length),i=this.makeRBT(n),a=this.stub(n),f=new Array(n),o=new Array(n),s=new Array(n),u=new Array(n),c=new Array(n),h=new Array(n),d=r.words;d.length=n,this.convert13b(e.words,e.length,f,n),this.convert13b(t.words,t.length,u,n),this.transform(f,a,o,s,n,i),this.transform(u,a,c,h,n,i);for(var l=0;l<n;l++){var p=o[l]*c[l]-s[l]*h[l];s[l]=o[l]*h[l]+s[l]*c[l],o[l]=p}return this.conjugate(o,s,n),this.transform(o,s,d,a,n,i),this.conjugate(d,a,n),this.normalize13b(d,n),r.negative=e.negative^t.negative,r.length=e.length+t.length,r.strip()},a.prototype.mul=function(e){var t=new a(null);return t.words=new Array(this.length+e.length),this.mulTo(e,t)},a.prototype.mulf=function(e){var t=new a(null);return t.words=new Array(this.length+e.length),v(this,e,t)},a.prototype.imul=function(e){return this.clone().mulTo(e,this)},a.prototype.imuln=function(e){n("number"==typeof e),n(e<67108864);for(var t=0,r=0;r<this.length;r++){var i=(0|this.words[r])*e,a=(67108863&i)+(67108863&t);t>>=26,t+=i/67108864|0,t+=a>>>26,this.words[r]=67108863&a}return 0!==t&&(this.words[r]=t,this.length++),this},a.prototype.muln=function(e){return this.clone().imuln(e)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r<t.length;r++){var n=r/26|0,i=r%26;t[r]=(e.words[n]&1<<i)>>>i}return t}(e);if(0===t.length)return new a(1);for(var r=this,n=0;n<t.length&&0===t[n];n++,r=r.sqr());if(++n<t.length)for(var i=r.sqr();n<t.length;n++,i=i.sqr())0!==t[n]&&(r=r.mul(i));return r},a.prototype.iushln=function(e){n("number"==typeof e&&e>=0);var t,r=e%26,i=(e-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var f=0;for(t=0;t<this.length;t++){var o=this.words[t]&a,s=(0|this.words[t])-o<<r;this.words[t]=s|f,f=o>>>26-r}f&&(this.words[t]=f,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t<i;t++)this.words[t]=0;this.length+=i}return this.strip()},a.prototype.ishln=function(e){return n(0===this.negative),this.iushln(e)},a.prototype.iushrn=function(e,t,r){var i;n("number"==typeof e&&e>=0),i=t?(t-t%26)/26:0;var a=e%26,f=Math.min((e-a)/26,this.length),o=67108863^67108863>>>a<<a,s=r;if(i-=f,i=Math.max(0,i),s){for(var u=0;u<f;u++)s.words[u]=this.words[u];s.length=f}if(0===f);else if(this.length>f)for(this.length-=f,u=0;u<this.length;u++)this.words[u]=this.words[u+f];else this.words[0]=0,this.length=1;var c=0;for(u=this.length-1;u>=0&&(0!==c||u>=i);u--){var h=0|this.words[u];this.words[u]=c<<26-a|h>>>a,c=h&o}return s&&0!==c&&(s.words[s.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(e,t,r){return n(0===this.negative),this.iushrn(e,t,r)},a.prototype.shln=function(e){return this.clone().ishln(e)},a.prototype.ushln=function(e){return this.clone().iushln(e)},a.prototype.shrn=function(e){return this.clone().ishrn(e)},a.prototype.ushrn=function(e){return this.clone().iushrn(e)},a.prototype.testn=function(e){n("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26,i=1<<t;return!(this.length<=r||!(this.words[r]&i))},a.prototype.imaskn=function(e){n("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==t&&r++,this.length=Math.min(r,this.length),0!==t){var i=67108863^67108863>>>t<<t;this.words[this.length-1]&=i}return this.strip()},a.prototype.maskn=function(e){return this.clone().imaskn(e)},a.prototype.iaddn=function(e){return n("number"==typeof e),n(e<67108864),e<0?this.isubn(-e):0!==this.negative?1===this.length&&(0|this.words[0])<e?(this.words[0]=e-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this):this._iaddn(e)},a.prototype._iaddn=function(e){this.words[0]+=e;for(var t=0;t<this.length&&this.words[t]>=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},a.prototype.isubn=function(e){if(n("number"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t<this.length&&this.words[t]<0;t++)this.words[t]+=67108864,this.words[t+1]-=1;return this.strip()},a.prototype.addn=function(e){return this.clone().iaddn(e)},a.prototype.subn=function(e){return this.clone().isubn(e)},a.prototype.iabs=function(){return this.negative=0,this},a.prototype.abs=function(){return this.clone().iabs()},a.prototype._ishlnsubmul=function(e,t,r){var i,a,f=e.length+r;this._expand(f);var o=0;for(i=0;i<e.length;i++){a=(0|this.words[i+r])+o;var s=(0|e.words[i])*t;o=((a-=67108863&s)>>26)-(s/67108864|0),this.words[i+r]=67108863&a}for(;i<this.length-r;i++)o=(a=(0|this.words[i+r])+o)>>26,this.words[i+r]=67108863&a;if(0===o)return this.strip();for(n(-1===o),o=0,i=0;i<this.length;i++)o=(a=-(0|this.words[i])+o)>>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(e,t){var r=(this.length,e.length),n=this.clone(),i=e,f=0|i.words[i.length-1];0!=(r=26-this._countBits(f))&&(i=i.ushln(r),n.iushln(r),f=0|i.words[i.length-1]);var o,s=n.length-i.length;if("mod"!==t){(o=new a(null)).length=s+1,o.words=new Array(o.length);for(var u=0;u<o.length;u++)o.words[u]=0}var c=n.clone()._ishlnsubmul(i,1,s);0===c.negative&&(n=c,o&&(o.words[s]=1));for(var h=s-1;h>=0;h--){var d=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(d=Math.min(d/f|0,67108863),n._ishlnsubmul(i,d,h);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);o&&(o.words[h]=d)}return o&&o.strip(),n.strip(),"div"!==t&&0!==r&&n.iushrn(r),{div:o||null,mod:n}},a.prototype.divmod=function(e,t,r){return n(!e.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===e.negative?(o=this.neg().divmod(e,t),"mod"!==t&&(i=o.div.neg()),"div"!==t&&(f=o.mod.neg(),r&&0!==f.negative&&f.iadd(e)),{div:i,mod:f}):0===this.negative&&0!==e.negative?(o=this.divmod(e.neg(),t),"mod"!==t&&(i=o.div.neg()),{div:i,mod:o.mod}):this.negative&e.negative?(o=this.neg().divmod(e.neg(),t),"div"!==t&&(f=o.mod.neg(),r&&0!==f.negative&&f.isub(e)),{div:o.div,mod:f}):e.length>this.length||this.cmp(e)<0?{div:new a(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new a(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new a(this.modn(e.words[0]))}:this._wordDiv(e,t);var i,f,o},a.prototype.div=function(e){return this.divmod(e,"div",!1).div},a.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},a.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},a.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},a.prototype.modn=function(e){n(e<=67108863);for(var t=(1<<26)%e,r=0,i=this.length-1;i>=0;i--)r=(t*r+(0|this.words[i]))%e;return r},a.prototype.idivn=function(e){n(e<=67108863);for(var t=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*t;this.words[r]=i/e|0,t=i%e}return this.strip()},a.prototype.divn=function(e){return this.clone().idivn(e)},a.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new a(1),f=new a(0),o=new a(0),s=new a(1),u=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++u;for(var c=r.clone(),h=t.clone();!t.isZero();){for(var d=0,l=1;!(t.words[0]&l)&&d<26;++d,l<<=1);if(d>0)for(t.iushrn(d);d-- >0;)(i.isOdd()||f.isOdd())&&(i.iadd(c),f.isub(h)),i.iushrn(1),f.iushrn(1);for(var p=0,v=1;!(r.words[0]&v)&&p<26;++p,v<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(c),s.isub(h)),o.iushrn(1),s.iushrn(1);t.cmp(r)>=0?(t.isub(r),i.isub(o),f.isub(s)):(r.isub(t),o.isub(i),s.isub(f))}return{a:o,b:s,gcd:r.iushln(u)}},a.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i,f=new a(1),o=new a(0),s=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,c=1;!(t.words[0]&c)&&u<26;++u,c<<=1);if(u>0)for(t.iushrn(u);u-- >0;)f.isOdd()&&f.iadd(s),f.iushrn(1);for(var h=0,d=1;!(r.words[0]&d)&&h<26;++h,d<<=1);if(h>0)for(r.iushrn(h);h-- >0;)o.isOdd()&&o.iadd(s),o.iushrn(1);t.cmp(r)>=0?(t.isub(r),f.isub(o)):(r.isub(t),o.isub(f))}return(i=0===t.cmpn(1)?f:o).cmpn(0)<0&&i.iadd(e),i},a.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var a=t;t=r,r=a}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},a.prototype.invm=function(e){return this.egcd(e).a.umod(e)},a.prototype.isEven=function(){return!(1&this.words[0])},a.prototype.isOdd=function(){return!(1&~this.words[0])},a.prototype.andln=function(e){return this.words[0]&e},a.prototype.bincn=function(e){n("number"==typeof e);var t=e%26,r=(e-t)/26,i=1<<t;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var a=i,f=r;0!==a&&f<this.length;f++){var o=0|this.words[f];a=(o+=a)>>>26,o&=67108863,this.words[f]=o}return 0!==a&&(this.words[f]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(e){var t,r=e<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)t=1;else{r&&(e=-e),n(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:i<e?-1:1}return 0!==this.negative?0|-t:t},a.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var t=this.ucmp(e);return 0!==this.negative?0|-t:t},a.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var t=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|e.words[r];if(n!==i){n<i?t=-1:n>i&&(t=1);break}}return t},a.prototype.gtn=function(e){return 1===this.cmpn(e)},a.prototype.gt=function(e){return 1===this.cmp(e)},a.prototype.gten=function(e){return this.cmpn(e)>=0},a.prototype.gte=function(e){return this.cmp(e)>=0},a.prototype.ltn=function(e){return-1===this.cmpn(e)},a.prototype.lt=function(e){return-1===this.cmp(e)},a.prototype.lten=function(e){return this.cmpn(e)<=0},a.prototype.lte=function(e){return this.cmp(e)<=0},a.prototype.eqn=function(e){return 0===this.cmpn(e)},a.prototype.eq=function(e){return 0===this.cmp(e)},a.red=function(e){return new A(e)},a.prototype.toRed=function(e){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},a.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(e){return this.red=e,this},a.prototype.forceRed=function(e){return n(!this.red,"Already a number in reduction context"),this._forceRed(e)},a.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},a.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},a.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},a.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},a.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},a.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},a.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},a.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var b={k256:null,p224:null,p192:null,p25519:null};function g(e,t){this.name=e,this.p=new a(t,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function m(){g.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){g.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function x(){g.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function k(){g.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function A(e){if("string"==typeof e){var t=a._prime(e);this.m=t.p,this.prime=t}else n(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function S(e){A.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}g.prototype._tmp=function(){var e=new a(null);return e.words=new Array(Math.ceil(this.n/13)),e},g.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var n=t<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},g.prototype.split=function(e,t){e.iushrn(this.n,0,t)},g.prototype.imulK=function(e){return e.imul(this.k)},i(m,g),m.prototype.split=function(e,t){for(var r=4194303,n=Math.min(e.length,9),i=0;i<n;i++)t.words[i]=e.words[i];if(t.length=n,e.length<=9)return e.words[0]=0,void(e.length=1);var a=e.words[9];for(t.words[t.length++]=a&r,i=10;i<e.length;i++){var f=0|e.words[i];e.words[i-10]=(f&r)<<4|a>>>22,a=f}a>>>=22,e.words[i-10]=a,0===a&&e.length>10?e.length-=10:e.length-=9},m.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r<e.length;r++){var n=0|e.words[r];t+=977*n,e.words[r]=67108863&t,t=64*n+(t/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},i(w,g),i(x,g),i(k,g),k.prototype.imulK=function(e){for(var t=0,r=0;r<e.length;r++){var n=19*(0|e.words[r])+t,i=67108863&n;n>>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},a._prime=function(e){if(b[e])return b[e];var t;if("k256"===e)t=new m;else if("p224"===e)t=new w;else if("p192"===e)t=new x;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new k}return b[e]=t,t},A.prototype._verify1=function(e){n(0===e.negative,"red works only with positives"),n(e.red,"red works only with red numbers")},A.prototype._verify2=function(e,t){n(!(e.negative|t.negative),"red works only with positives"),n(e.red&&e.red===t.red,"red works only with red numbers")},A.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},A.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},A.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},A.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},A.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},A.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},A.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},A.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},A.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},A.prototype.isqr=function(e){return this.imul(e,e.clone())},A.prototype.sqr=function(e){return this.mul(e,e)},A.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(n(t%2==1),3===t){var r=this.m.add(new a(1)).iushrn(2);return this.pow(e,r)}for(var i=this.m.subn(1),f=0;!i.isZero()&&0===i.andln(1);)f++,i.iushrn(1);n(!i.isZero());var o=new a(1).toRed(this),s=o.redNeg(),u=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,u).cmp(s);)c.redIAdd(s);for(var h=this.pow(c,i),d=this.pow(e,i.addn(1).iushrn(1)),l=this.pow(e,i),p=f;0!==l.cmp(o);){for(var v=l,y=0;0!==v.cmp(o);y++)v=v.redSqr();n(y<p);var b=this.pow(h,new a(1).iushln(p-y-1));d=d.redMul(b),h=b.redSqr(),l=l.redMul(h),p=y}return d},A.prototype.invm=function(e){var t=e._invmp(this.m);return 0!==t.negative?(t.negative=0,this.imod(t).redNeg()):this.imod(t)},A.prototype.pow=function(e,t){if(t.isZero())return new a(1).toRed(this);if(0===t.cmpn(1))return e.clone();var r=new Array(16);r[0]=new a(1).toRed(this),r[1]=e;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],e);var i=r[0],f=0,o=0,s=t.bitLength()%26;for(0===s&&(s=26),n=t.length-1;n>=0;n--){for(var u=t.words[n],c=s-1;c>=0;c--){var h=u>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==f?(f<<=1,f|=h,(4==++o||0===n&&0===c)&&(i=this.mul(i,r[f]),o=0,f=0)):o=0}s=26}return i},A.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},A.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},a.mont=function(e){return new S(e)},i(S,A),S.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},S.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},S.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},S.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new a(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),f=i;return i.cmp(this.m)>=0?f=i.isub(this.m):i.cmpn(0)<0&&(f=i.iadd(this.m)),f._forceRed(this)},S.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,La)}(Ha);var Ta=Ha.exports,Fa=za;function za(e,t){if(!e)throw new Error(t||"Assertion failed")}za.equal=function(e,t,r){if(e!=t)throw new Error(r||"Assertion failed: "+e+" != "+t)};var Va={};!function(e){var t=e;function r(e){return 1===e.length?"0"+e:e}function n(e){for(var t="",n=0;n<e.length;n++)t+=r(e[n].toString(16));return t}t.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"!=typeof e){for(var n=0;n<e.length;n++)r[n]=0|e[n];return r}if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),n=0;n<e.length;n+=2)r.push(parseInt(e[n]+e[n+1],16));else for(n=0;n<e.length;n++){var i=e.charCodeAt(n),a=i>>8,f=255&i;a?r.push(a,f):r.push(f)}return r},t.zero2=r,t.toHex=n,t.encode=function(e,t){return"hex"===t?n(e):e}}(Va),function(e){var t=e,r=Ta,n=Fa,i=Va;t.assert=n,t.toArray=i.toArray,t.zero2=i.zero2,t.toHex=i.toHex,t.encode=i.encode,t.getNAF=function(e,t){for(var r=[],n=1<<t+1,i=e.clone();i.cmpn(1)>=0;){var a;if(i.isOdd()){var f=i.andln(n-1);a=f>(n>>1)-1?(n>>1)-f:f,i.isubn(a)}else a=0;r.push(a);for(var o=0!==i.cmpn(0)&&0===i.andln(n-1)?t+1:1,s=1;s<o;s++)r.push(0);i.iushrn(o)}return r},t.getJSF=function(e,t){var r=[[],[]];e=e.clone(),t=t.clone();for(var n=0,i=0;e.cmpn(-n)>0||t.cmpn(-i)>0;){var a,f,o,s=e.andln(3)+n&3,u=t.andln(3)+i&3;3===s&&(s=-1),3===u&&(u=-1),a=1&s?3!=(o=e.andln(7)+n&7)&&5!==o||2!==u?s:-s:0,r[0].push(a),f=1&u?3!=(o=t.andln(7)+i&7)&&5!==o||2!==s?u:-u:0,r[1].push(f),2*n===a+1&&(n=1-n),2*i===f+1&&(i=1-i),e.iushrn(1),t.iushrn(1)}return r},t.cachedProperty=function(e,t,r){var n="_"+t;e.prototype[t]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},t.parseBytes=function(e){return"string"==typeof e?t.toArray(e,"hex"):e},t.intFromLE=function(e){return new r(e,"hex","le")}}(Ra);var ja,qa={exports:{}};function Ja(e){this.rand=e}if(qa.exports=function(e){return ja||(ja=new Ja(null)),ja.generate(e)},qa.exports.Rand=Ja,Ja.prototype.generate=function(e){return this._rand(e)},Ja.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),r=0;r<t.length;r++)t[r]=this.rand.getByte();return t},"object"===("undefined"==typeof self?"undefined":H(self)))self.crypto&&self.crypto.getRandomValues?Ja.prototype._rand=function(e){var t=new Uint8Array(e);return self.crypto.getRandomValues(t),t}:self.msCrypto&&self.msCrypto.getRandomValues?Ja.prototype._rand=function(e){var t=new Uint8Array(e);return self.msCrypto.getRandomValues(t),t}:"object"===("undefined"==typeof window?"undefined":H(window))&&(Ja.prototype._rand=function(){throw new Error("Not implemented yet")});else try{var Ga=r(579);if("function"!=typeof Ga.randomBytes)throw new Error("Not supported");Ja.prototype._rand=function(e){return Ga.randomBytes(e)}}catch(e){}var Za=qa.exports,Wa={},Xa=Ta,Ya=Ra,$a=Ya.getNAF,Qa=Ya.getJSF,ef=Ya.assert;function tf(e,t){this.type=e,this.p=new Xa(t.p,16),this.red=t.prime?Xa.red(t.prime):Xa.mont(this.p),this.zero=new Xa(0).toRed(this.red),this.one=new Xa(1).toRed(this.red),this.two=new Xa(2).toRed(this.red),this.n=t.n&&new Xa(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4);var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var rf=tf;function nf(e,t){this.curve=e,this.type=t,this.precomputed=null}tf.prototype.point=function(){throw new Error("Not implemented")},tf.prototype.validate=function(){throw new Error("Not implemented")},tf.prototype._fixedNafMul=function(e,t){ef(e.precomputed);var r=e._getDoubles(),n=$a(t,1),i=(1<<r.step+1)-(r.step%2==0?2:1);i/=3;for(var a=[],f=0;f<n.length;f+=r.step){var o=0;for(t=f+r.step-1;t>=f;t--)o=(o<<1)+n[t];a.push(o)}for(var s=this.jpoint(null,null,null),u=this.jpoint(null,null,null),c=i;c>0;c--){for(f=0;f<a.length;f++)(o=a[f])===c?u=u.mixedAdd(r.points[f]):o===-c&&(u=u.mixedAdd(r.points[f].neg()));s=s.add(u)}return s.toP()},tf.prototype._wnafMul=function(e,t){var r=4,n=e._getNAFPoints(r);r=n.wnd;for(var i=n.points,a=$a(t,r),f=this.jpoint(null,null,null),o=a.length-1;o>=0;o--){for(t=0;o>=0&&0===a[o];o--)t++;if(o>=0&&t++,f=f.dblp(t),o<0)break;var s=a[o];ef(0!==s),f="affine"===e.type?s>0?f.mixedAdd(i[s-1>>1]):f.mixedAdd(i[-s-1>>1].neg()):s>0?f.add(i[s-1>>1]):f.add(i[-s-1>>1].neg())}return"affine"===e.type?f.toP():f},tf.prototype._wnafMulAdd=function(e,t,r,n,i){for(var a=this._wnafT1,f=this._wnafT2,o=this._wnafT3,s=0,u=0;u<n;u++){var c=(A=t[u])._getNAFPoints(e);a[u]=c.wnd,f[u]=c.points}for(u=n-1;u>=1;u-=2){var h=u-1,d=u;if(1===a[h]&&1===a[d]){var l=[t[h],null,null,t[d]];0===t[h].y.cmp(t[d].y)?(l[1]=t[h].add(t[d]),l[2]=t[h].toJ().mixedAdd(t[d].neg())):0===t[h].y.cmp(t[d].y.redNeg())?(l[1]=t[h].toJ().mixedAdd(t[d]),l[2]=t[h].add(t[d].neg())):(l[1]=t[h].toJ().mixedAdd(t[d]),l[2]=t[h].toJ().mixedAdd(t[d].neg()));var p=[-3,-1,-5,-7,0,7,5,1,3],v=Qa(r[h],r[d]);s=Math.max(v[0].length,s),o[h]=new Array(s),o[d]=new Array(s);for(var y=0;y<s;y++){var b=0|v[0][y],g=0|v[1][y];o[h][y]=p[3*(b+1)+(g+1)],o[d][y]=0,f[h]=l}}else o[h]=$a(r[h],a[h]),o[d]=$a(r[d],a[d]),s=Math.max(o[h].length,s),s=Math.max(o[d].length,s)}var m=this.jpoint(null,null,null),w=this._wnafT4;for(u=s;u>=0;u--){for(var x=0;u>=0;){var k=!0;for(y=0;y<n;y++)w[y]=0|o[y][u],0!==w[y]&&(k=!1);if(!k)break;x++,u--}if(u>=0&&x++,m=m.dblp(x),u<0)break;for(y=0;y<n;y++){var A,S=w[y];0!==S&&(S>0?A=f[y][S-1>>1]:S<0&&(A=f[y][-S-1>>1].neg()),m="affine"===A.type?m.mixedAdd(A):m.add(A))}}for(u=0;u<n;u++)f[u]=null;return i?m:m.toP()},tf.BasePoint=nf,nf.prototype.eq=function(){throw new Error("Not implemented")},nf.prototype.validate=function(){return this.curve.validate(this)},tf.prototype.decodePoint=function(e,t){e=Ya.toArray(e,t);var r=this.p.byteLength();if((4===e[0]||6===e[0]||7===e[0])&&e.length-1==2*r)return 6===e[0]?ef(e[e.length-1]%2==0):7===e[0]&&ef(e[e.length-1]%2==1),this.point(e.slice(1,1+r),e.slice(1+r,1+2*r));if((2===e[0]||3===e[0])&&e.length-1===r)return this.pointFromX(e.slice(1,1+r),3===e[0]);throw new Error("Unknown point format")},nf.prototype.encodeCompressed=function(e){return this.encode(e,!0)},nf.prototype._encode=function(e){var t=this.curve.p.byteLength(),r=this.getX().toArray("be",t);return e?[this.getY().isEven()?2:3].concat(r):[4].concat(r,this.getY().toArray("be",t))},nf.prototype.encode=function(e,t){return Ya.encode(this._encode(t),e)},nf.prototype.precompute=function(e){if(this.precomputed)return this;var t={doubles:null,naf:null,beta:null};return t.naf=this._getNAFPoints(8),t.doubles=this._getDoubles(4,e),t.beta=this._getBeta(),this.precomputed=t,this},nf.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var t=this.precomputed.doubles;return!!t&&t.points.length>=Math.ceil((e.bitLength()+1)/t.step)},nf.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;i<t;i+=e){for(var a=0;a<e;a++)n=n.dbl();r.push(n)}return{step:e,points:r}},nf.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var t=[this],r=(1<<e)-1,n=1===r?null:this.dbl(),i=1;i<r;i++)t[i]=t[i-1].add(n);return{wnd:e,points:t}},nf.prototype._getBeta=function(){return null},nf.prototype.dblp=function(e){for(var t=this,r=0;r<e;r++)t=t.dbl();return t};var af,ff={exports:{}},of={exports:{}};try{var sf=r(140);if("function"!=typeof sf.inherits)throw"";ff.exports=sf.inherits}catch(e){ff.exports=(af||(af=1,"function"==typeof Object.create?of.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:of.exports=function(e,t){if(t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}),of.exports)}var uf=ff.exports,cf=Ta,hf=uf,df=rf,lf=Ra.assert;function pf(e){df.call(this,"short",e),this.a=new cf(e.a,16).toRed(this.red),this.b=new cf(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}hf(pf,df);var vf=pf;function yf(e,t,r,n){df.BasePoint.call(this,e,"affine"),null===t&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new cf(t,16),this.y=new cf(r,16),n&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function bf(e,t,r,n){df.BasePoint.call(this,e,"jacobian"),null===t&&null===r&&null===n?(this.x=this.curve.one,this.y=this.curve.one,this.z=new cf(0)):(this.x=new cf(t,16),this.y=new cf(r,16),this.z=new cf(n,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}pf.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,r;if(e.beta)t=new cf(e.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);t=(t=n[0].cmp(n[1])<0?n[0]:n[1]).toRed(this.red)}if(e.lambda)r=new cf(e.lambda,16);else{var i=this._getEndoRoots(this.n);0===this.g.mul(i[0]).x.cmp(this.g.x.redMul(t))?r=i[0]:(r=i[1],lf(0===this.g.mul(r).x.cmp(this.g.x.redMul(t))))}return{beta:t,lambda:r,basis:e.basis?e.basis.map((function(e){return{a:new cf(e.a,16),b:new cf(e.b,16)}})):this._getEndoBasis(r)}}},pf.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:cf.mont(e),r=new cf(2).toRed(t).redInvm(),n=r.redNeg(),i=new cf(3).toRed(t).redNeg().redSqrt().redMul(r);return[n.redAdd(i).fromRed(),n.redSub(i).fromRed()]},pf.prototype._getEndoBasis=function(e){for(var t,r,n,i,a,f,o,s,u,c=this.n.ushrn(Math.floor(this.n.bitLength()/2)),h=e,d=this.n.clone(),l=new cf(1),p=new cf(0),v=new cf(0),y=new cf(1),b=0;0!==h.cmpn(0);){var g=d.div(h);s=d.sub(g.mul(h)),u=v.sub(g.mul(l));var m=y.sub(g.mul(p));if(!n&&s.cmp(c)<0)t=o.neg(),r=l,n=s.neg(),i=u;else if(n&&2==++b)break;o=s,d=h,h=s,v=l,l=u,y=p,p=m}a=s.neg(),f=u;var w=n.sqr().add(i.sqr());return a.sqr().add(f.sqr()).cmp(w)>=0&&(a=t,f=r),n.negative&&(n=n.neg(),i=i.neg()),a.negative&&(a=a.neg(),f=f.neg()),[{a:n,b:i},{a,b:f}]},pf.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],n=t[1],i=n.b.mul(e).divRound(this.n),a=r.b.neg().mul(e).divRound(this.n),f=i.mul(r.a),o=a.mul(n.a),s=i.mul(r.b),u=a.mul(n.b);return{k1:e.sub(f).sub(o),k2:s.add(u).neg()}},pf.prototype.pointFromX=function(e,t){(e=new cf(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(0!==n.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var i=n.fromRed().isOdd();return(t&&!i||!t&&i)&&(n=n.redNeg()),this.point(e,n)},pf.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,r=e.y,n=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},pf.prototype._endoWnafMulAdd=function(e,t,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,a=0;a<e.length;a++){var f=this._endoSplit(t[a]),o=e[a],s=o._getBeta();f.k1.negative&&(f.k1.ineg(),o=o.neg(!0)),f.k2.negative&&(f.k2.ineg(),s=s.neg(!0)),n[2*a]=o,n[2*a+1]=s,i[2*a]=f.k1,i[2*a+1]=f.k2}for(var u=this._wnafMulAdd(1,n,i,2*a,r),c=0;c<2*a;c++)n[c]=null,i[c]=null;return u},hf(yf,df.BasePoint),pf.prototype.point=function(e,t,r){return new yf(this,e,t,r)},pf.prototype.pointFromJSON=function(e,t){return yf.fromJSON(this,e,t)},yf.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var r=this.curve,n=function(e){return r.point(e.x.redMul(r.endo.beta),e.y)};e.beta=t,t.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(n)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(n)}}}return t}},yf.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},yf.fromJSON=function(e,t,r){"string"==typeof t&&(t=JSON.parse(t));var n=e.point(t[0],t[1],r);if(!t[2])return n;function i(t){return e.point(t[0],t[1],r)}var a=t[2];return n.precomputed={beta:null,doubles:a.doubles&&{step:a.doubles.step,points:[n].concat(a.doubles.points.map(i))},naf:a.naf&&{wnd:a.naf.wnd,points:[n].concat(a.naf.points.map(i))}},n},yf.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},yf.prototype.isInfinity=function(){return this.inf},yf.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var r=t.redSqr().redISub(this.x).redISub(e.x),n=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},yf.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,r=this.x.redSqr(),n=e.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(t).redMul(n),a=i.redSqr().redISub(this.x.redAdd(this.x)),f=i.redMul(this.x.redSub(a)).redISub(this.y);return this.curve.point(a,f)},yf.prototype.getX=function(){return this.x.fromRed()},yf.prototype.getY=function(){return this.y.fromRed()},yf.prototype.mul=function(e){return e=new cf(e,16),this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},yf.prototype.mulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},yf.prototype.jmulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},yf.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},yf.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var r=this.precomputed,n=function(e){return e.neg()};t.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return t},yf.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},hf(bf,df.BasePoint),pf.prototype.jpoint=function(e,t,r){return new bf(this,e,t,r)},bf.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),r=this.x.redMul(t),n=this.y.redMul(t).redMul(e);return this.curve.point(r,n)},bf.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},bf.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(t),i=e.x.redMul(r),a=this.y.redMul(t.redMul(e.z)),f=e.y.redMul(r.redMul(this.z)),o=n.redSub(i),s=a.redSub(f);if(0===o.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=o.redSqr(),c=u.redMul(o),h=n.redMul(u),d=s.redSqr().redIAdd(c).redISub(h).redISub(h),l=s.redMul(h.redISub(d)).redISub(a.redMul(c)),p=this.z.redMul(e.z).redMul(o);return this.curve.jpoint(d,l,p)},bf.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),r=this.x,n=e.x.redMul(t),i=this.y,a=e.y.redMul(t).redMul(this.z),f=r.redSub(n),o=i.redSub(a);if(0===f.cmpn(0))return 0!==o.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var s=f.redSqr(),u=s.redMul(f),c=r.redMul(s),h=o.redSqr().redIAdd(u).redISub(c).redISub(c),d=o.redMul(c.redISub(h)).redISub(i.redMul(u)),l=this.z.redMul(f);return this.curve.jpoint(h,d,l)},bf.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var t=this,r=0;r<e;r++)t=t.dbl();return t}var n=this.curve.a,i=this.curve.tinv,a=this.x,f=this.y,o=this.z,s=o.redSqr().redSqr(),u=f.redAdd(f);for(r=0;r<e;r++){var c=a.redSqr(),h=u.redSqr(),d=h.redSqr(),l=c.redAdd(c).redIAdd(c).redIAdd(n.redMul(s)),p=a.redMul(h),v=l.redSqr().redISub(p.redAdd(p)),y=p.redISub(v),b=l.redMul(y);b=b.redIAdd(b).redISub(d);var g=u.redMul(o);r+1<e&&(s=s.redMul(d)),a=v,o=g,u=b}return this.curve.jpoint(a,u.redMul(i),o)},bf.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},bf.prototype._zeroDbl=function(){var e,t,r;if(this.zOne){var n=this.x.redSqr(),i=this.y.redSqr(),a=i.redSqr(),f=this.x.redAdd(i).redSqr().redISub(n).redISub(a);f=f.redIAdd(f);var o=n.redAdd(n).redIAdd(n),s=o.redSqr().redISub(f).redISub(f),u=a.redIAdd(a);u=(u=u.redIAdd(u)).redIAdd(u),e=s,t=o.redMul(f.redISub(s)).redISub(u),r=this.y.redAdd(this.y)}else{var c=this.x.redSqr(),h=this.y.redSqr(),d=h.redSqr(),l=this.x.redAdd(h).redSqr().redISub(c).redISub(d);l=l.redIAdd(l);var p=c.redAdd(c).redIAdd(c),v=p.redSqr(),y=d.redIAdd(d);y=(y=y.redIAdd(y)).redIAdd(y),e=v.redISub(l).redISub(l),t=p.redMul(l.redISub(e)).redISub(y),r=(r=this.y.redMul(this.z)).redIAdd(r)}return this.curve.jpoint(e,t,r)},bf.prototype._threeDbl=function(){var e,t,r;if(this.zOne){var n=this.x.redSqr(),i=this.y.redSqr(),a=i.redSqr(),f=this.x.redAdd(i).redSqr().redISub(n).redISub(a);f=f.redIAdd(f);var o=n.redAdd(n).redIAdd(n).redIAdd(this.curve.a),s=o.redSqr().redISub(f).redISub(f);e=s;var u=a.redIAdd(a);u=(u=u.redIAdd(u)).redIAdd(u),t=o.redMul(f.redISub(s)).redISub(u),r=this.y.redAdd(this.y)}else{var c=this.z.redSqr(),h=this.y.redSqr(),d=this.x.redMul(h),l=this.x.redSub(c).redMul(this.x.redAdd(c));l=l.redAdd(l).redIAdd(l);var p=d.redIAdd(d),v=(p=p.redIAdd(p)).redAdd(p);e=l.redSqr().redISub(v),r=this.y.redAdd(this.z).redSqr().redISub(h).redISub(c);var y=h.redSqr();y=(y=(y=y.redIAdd(y)).redIAdd(y)).redIAdd(y),t=l.redMul(p.redISub(e)).redISub(y)}return this.curve.jpoint(e,t,r)},bf.prototype._dbl=function(){var e=this.curve.a,t=this.x,r=this.y,n=this.z,i=n.redSqr().redSqr(),a=t.redSqr(),f=r.redSqr(),o=a.redAdd(a).redIAdd(a).redIAdd(e.redMul(i)),s=t.redAdd(t),u=(s=s.redIAdd(s)).redMul(f),c=o.redSqr().redISub(u.redAdd(u)),h=u.redISub(c),d=f.redSqr();d=(d=(d=d.redIAdd(d)).redIAdd(d)).redIAdd(d);var l=o.redMul(h).redISub(d),p=r.redAdd(r).redMul(n);return this.curve.jpoint(c,l,p)},bf.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr(),n=t.redSqr(),i=e.redAdd(e).redIAdd(e),a=i.redSqr(),f=this.x.redAdd(t).redSqr().redISub(e).redISub(n),o=(f=(f=(f=f.redIAdd(f)).redAdd(f).redIAdd(f)).redISub(a)).redSqr(),s=n.redIAdd(n);s=(s=(s=s.redIAdd(s)).redIAdd(s)).redIAdd(s);var u=i.redIAdd(f).redSqr().redISub(a).redISub(o).redISub(s),c=t.redMul(u);c=(c=c.redIAdd(c)).redIAdd(c);var h=this.x.redMul(o).redISub(c);h=(h=h.redIAdd(h)).redIAdd(h);var d=this.y.redMul(u.redMul(s.redISub(u)).redISub(f.redMul(o)));d=(d=(d=d.redIAdd(d)).redIAdd(d)).redIAdd(d);var l=this.z.redAdd(f).redSqr().redISub(r).redISub(o);return this.curve.jpoint(h,d,l)},bf.prototype.mul=function(e,t){return e=new cf(e,t),this.curve._wnafMul(this,e)},bf.prototype.eq=function(e){if("affine"===e.type)return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),r=e.z.redSqr();if(0!==this.x.redMul(r).redISub(e.x.redMul(t)).cmpn(0))return!1;var n=t.redMul(this.z),i=r.redMul(e.z);return 0===this.y.redMul(i).redISub(e.y.redMul(n)).cmpn(0)},bf.prototype.eqXToP=function(e){var t=this.z.redSqr(),r=e.toRed(this.curve.red).redMul(t);if(0===this.x.cmp(r))return!0;for(var n=e.clone(),i=this.curve.redN.redMul(t);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},bf.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},bf.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var gf=Ta,mf=uf,wf=rf,xf=Ra;function kf(e){wf.call(this,"mont",e),this.a=new gf(e.a,16).toRed(this.red),this.b=new gf(e.b,16).toRed(this.red),this.i4=new gf(4).toRed(this.red).redInvm(),this.two=new gf(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}mf(kf,wf);var Af=kf;function Sf(e,t,r){wf.BasePoint.call(this,e,"projective"),null===t&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new gf(t,16),this.z=new gf(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}kf.prototype.validate=function(e){var t=e.normalize().x,r=t.redSqr(),n=r.redMul(t).redAdd(r.redMul(this.a)).redAdd(t);return 0===n.redSqrt().redSqr().cmp(n)},mf(Sf,wf.BasePoint),kf.prototype.decodePoint=function(e,t){if(33===(e=xf.toArray(e,t)).length&&64===e[0]&&(e=e.slice(1,33).reverse()),32!==e.length)throw new Error("Unknown point compression format");return this.point(e,1)},kf.prototype.point=function(e,t){return new Sf(this,e,t)},kf.prototype.pointFromJSON=function(e){return Sf.fromJSON(this,e)},Sf.prototype.precompute=function(){},Sf.prototype._encode=function(e){var t=this.curve.p.byteLength();return e?[64].concat(this.getX().toArray("le",t)):this.getX().toArray("be",t)},Sf.fromJSON=function(e,t){return new Sf(e,t[0],t[1]||e.one)},Sf.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},Sf.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},Sf.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),r=e.redSub(t),n=e.redMul(t),i=r.redMul(t.redAdd(this.curve.a24.redMul(r)));return this.curve.point(n,i)},Sf.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},Sf.prototype.diffAdd=function(e,t){var r=this.x.redAdd(this.z),n=this.x.redSub(this.z),i=e.x.redAdd(e.z),a=e.x.redSub(e.z).redMul(r),f=i.redMul(n),o=t.z.redMul(a.redAdd(f).redSqr()),s=t.x.redMul(a.redISub(f).redSqr());return this.curve.point(o,s)},Sf.prototype.mul=function(e){for(var t=(e=new gf(e,16)).clone(),r=this,n=this.curve.point(null,null),i=[];0!==t.cmpn(0);t.iushrn(1))i.push(t.andln(1));for(var a=i.length-1;a>=0;a--)0===i[a]?(r=r.diffAdd(n,this),n=n.dbl()):(n=r.diffAdd(n,this),r=r.dbl());return n},Sf.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},Sf.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},Sf.prototype.eq=function(e){return 0===this.getX().cmp(e.getX())},Sf.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},Sf.prototype.getX=function(){return this.normalize(),this.x.fromRed()};var Ef=Ta,Bf=uf,Mf=rf,Cf=Ra.assert;function _f(e){this.twisted=1!=(0|e.a),this.mOneA=this.twisted&&-1==(0|e.a),this.extended=this.mOneA,Mf.call(this,"edwards",e),this.a=new Ef(e.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new Ef(e.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new Ef(e.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),Cf(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|e.c)}Bf(_f,Mf);var Nf=_f;function Uf(e,t,r,n,i){Mf.BasePoint.call(this,e,"projective"),null===t&&null===r&&null===n?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new Ef(t,16),this.y=new Ef(r,16),this.z=n?new Ef(n,16):this.curve.one,this.t=i&&new Ef(i,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}_f.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},_f.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},_f.prototype.jpoint=function(e,t,r,n){return this.point(e,t,r,n)},_f.prototype.pointFromX=function(e,t){(e=new Ef(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr(),n=this.c2.redSub(this.a.redMul(r)),i=this.one.redSub(this.c2.redMul(this.d).redMul(r)),a=n.redMul(i.redInvm()),f=a.redSqrt();if(0!==f.redSqr().redSub(a).cmp(this.zero))throw new Error("invalid point");var o=f.fromRed().isOdd();return(t&&!o||!t&&o)&&(f=f.redNeg()),this.point(e,f)},_f.prototype.pointFromY=function(e,t){(e=new Ef(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr(),n=r.redSub(this.c2),i=r.redMul(this.d).redMul(this.c2).redSub(this.a),a=n.redMul(i.redInvm());if(0===a.cmp(this.zero)){if(t)throw new Error("invalid point");return this.point(this.zero,e)}var f=a.redSqrt();if(0!==f.redSqr().redSub(a).cmp(this.zero))throw new Error("invalid point");return f.fromRed().isOdd()!==t&&(f=f.redNeg()),this.point(f,e)},_f.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),r=e.y.redSqr(),n=t.redMul(this.a).redAdd(r),i=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(r)));return 0===n.cmp(i)},Bf(Uf,Mf.BasePoint),_f.prototype.pointFromJSON=function(e){return Uf.fromJSON(this,e)},_f.prototype.point=function(e,t,r,n){return new Uf(this,e,t,r,n)},Uf.fromJSON=function(e,t){return new Uf(e,t[0],t[1],t[2])},Uf.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},Uf.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},Uf.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var n=this.curve._mulA(e),i=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),a=n.redAdd(t),f=a.redSub(r),o=n.redSub(t),s=i.redMul(f),u=a.redMul(o),c=i.redMul(o),h=f.redMul(a);return this.curve.point(s,u,h,c)},Uf.prototype._projDbl=function(){var e,t,r,n=this.x.redAdd(this.y).redSqr(),i=this.x.redSqr(),a=this.y.redSqr();if(this.curve.twisted){var f=(u=this.curve._mulA(i)).redAdd(a);if(this.zOne)e=n.redSub(i).redSub(a).redMul(f.redSub(this.curve.two)),t=f.redMul(u.redSub(a)),r=f.redSqr().redSub(f).redSub(f);else{var o=this.z.redSqr(),s=f.redSub(o).redISub(o);e=n.redSub(i).redISub(a).redMul(s),t=f.redMul(u.redSub(a)),r=f.redMul(s)}}else{var u=i.redAdd(a);o=this.curve._mulC(this.z).redSqr(),s=u.redSub(o).redSub(o),e=this.curve._mulC(n.redISub(u)).redMul(s),t=this.curve._mulC(u).redMul(i.redISub(a)),r=u.redMul(s)}return this.curve.point(e,t,r)},Uf.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},Uf.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),r=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),n=this.t.redMul(this.curve.dd).redMul(e.t),i=this.z.redMul(e.z.redAdd(e.z)),a=r.redSub(t),f=i.redSub(n),o=i.redAdd(n),s=r.redAdd(t),u=a.redMul(f),c=o.redMul(s),h=a.redMul(s),d=f.redMul(o);return this.curve.point(u,c,d,h)},Uf.prototype._projAdd=function(e){var t,r,n=this.z.redMul(e.z),i=n.redSqr(),a=this.x.redMul(e.x),f=this.y.redMul(e.y),o=this.curve.d.redMul(a).redMul(f),s=i.redSub(o),u=i.redAdd(o),c=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(a).redISub(f),h=n.redMul(s).redMul(c);return this.curve.twisted?(t=n.redMul(u).redMul(f.redSub(this.curve._mulA(a))),r=s.redMul(u)):(t=n.redMul(u).redMul(f.redSub(a)),r=this.curve._mulC(s).redMul(u)),this.curve.point(h,t,r)},Uf.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},Uf.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},Uf.prototype.mulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!1)},Uf.prototype.jmulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!0)},Uf.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},Uf.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},Uf.prototype.getX=function(){return this.normalize(),this.x.fromRed()},Uf.prototype.getY=function(){return this.normalize(),this.y.fromRed()},Uf.prototype.eq=function(e){return this===e||0===this.getX().cmp(e.getX())&&0===this.getY().cmp(e.getY())},Uf.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(t))return!0;for(var r=e.clone(),n=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(n),0===this.x.cmp(t))return!0}},Uf.prototype.toP=Uf.prototype.normalize,Uf.prototype.mixedAdd=Uf.prototype.add,function(e){var t=e;t.base=rf,t.short=vf,t.mont=Af,t.edwards=Nf}(Wa);var If={},Kf={},Pf={},Of=Fa,Lf=uf;function Df(e,t){return 55296==(64512&e.charCodeAt(t))&&!(t<0||t+1>=e.length)&&56320==(64512&e.charCodeAt(t+1))}function Rf(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function Hf(e){return 1===e.length?"0"+e:e}function Tf(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}Pf.inherits=Lf,Pf.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),i=0;i<e.length;i+=2)r.push(parseInt(e[i]+e[i+1],16))}else for(var n=0,i=0;i<e.length;i++){var a=e.charCodeAt(i);a<128?r[n++]=a:a<2048?(r[n++]=a>>6|192,r[n++]=63&a|128):Df(e,i)?(a=65536+((1023&a)<<10)+(1023&e.charCodeAt(++i)),r[n++]=a>>18|240,r[n++]=a>>12&63|128,r[n++]=a>>6&63|128,r[n++]=63&a|128):(r[n++]=a>>12|224,r[n++]=a>>6&63|128,r[n++]=63&a|128)}else for(i=0;i<e.length;i++)r[i]=0|e[i];return r},Pf.toHex=function(e){for(var t="",r=0;r<e.length;r++)t+=Hf(e[r].toString(16));return t},Pf.htonl=Rf,Pf.toHex32=function(e,t){for(var r="",n=0;n<e.length;n++){var i=e[n];"little"===t&&(i=Rf(i)),r+=Tf(i.toString(16))}return r},Pf.zero2=Hf,Pf.zero8=Tf,Pf.join32=function(e,t,r,n){var i=r-t;Of(i%4==0);for(var a=new Array(i/4),f=0,o=t;f<a.length;f++,o+=4){var s;s="big"===n?e[o]<<24|e[o+1]<<16|e[o+2]<<8|e[o+3]:e[o+3]<<24|e[o+2]<<16|e[o+1]<<8|e[o],a[f]=s>>>0}return a},Pf.split32=function(e,t){for(var r=new Array(4*e.length),n=0,i=0;n<e.length;n++,i+=4){var a=e[n];"big"===t?(r[i]=a>>>24,r[i+1]=a>>>16&255,r[i+2]=a>>>8&255,r[i+3]=255&a):(r[i+3]=a>>>24,r[i+2]=a>>>16&255,r[i+1]=a>>>8&255,r[i]=255&a)}return r},Pf.rotr32=function(e,t){return e>>>t|e<<32-t},Pf.rotl32=function(e,t){return e<<t|e>>>32-t},Pf.sum32=function(e,t){return e+t>>>0},Pf.sum32_3=function(e,t,r){return e+t+r>>>0},Pf.sum32_4=function(e,t,r,n){return e+t+r+n>>>0},Pf.sum32_5=function(e,t,r,n,i){return e+t+r+n+i>>>0},Pf.sum64=function(e,t,r,n){var i=e[t],a=n+e[t+1]>>>0,f=(a<n?1:0)+r+i;e[t]=f>>>0,e[t+1]=a},Pf.sum64_hi=function(e,t,r,n){return(t+n>>>0<t?1:0)+e+r>>>0},Pf.sum64_lo=function(e,t,r,n){return t+n>>>0},Pf.sum64_4_hi=function(e,t,r,n,i,a,f,o){var s=0,u=t;return s+=(u=u+n>>>0)<t?1:0,s+=(u=u+a>>>0)<a?1:0,e+r+i+f+(s+=(u=u+o>>>0)<o?1:0)>>>0},Pf.sum64_4_lo=function(e,t,r,n,i,a,f,o){return t+n+a+o>>>0},Pf.sum64_5_hi=function(e,t,r,n,i,a,f,o,s,u){var c=0,h=t;return c+=(h=h+n>>>0)<t?1:0,c+=(h=h+a>>>0)<a?1:0,c+=(h=h+o>>>0)<o?1:0,e+r+i+f+s+(c+=(h=h+u>>>0)<u?1:0)>>>0},Pf.sum64_5_lo=function(e,t,r,n,i,a,f,o,s,u){return t+n+a+o+u>>>0},Pf.rotr64_hi=function(e,t,r){return(t<<32-r|e>>>r)>>>0},Pf.rotr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0},Pf.shr64_hi=function(e,t,r){return e>>>r},Pf.shr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0};var Ff={},zf=Pf,Vf=Fa;function jf(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}Ff.BlockHash=jf,jf.prototype.update=function(e,t){if(e=zf.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var r=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-r,e.length),0===this.pending.length&&(this.pending=null),e=zf.join32(e,0,e.length-r,this.endian);for(var n=0;n<e.length;n+=this._delta32)this._update(e,n,n+this._delta32)}return this},jf.prototype.digest=function(e){return this.update(this._pad()),Vf(null===this.pending),this._digest(e)},jf.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,r=t-(e+this.padLength)%t,n=new Array(r+this.padLength);n[0]=128;for(var i=1;i<r;i++)n[i]=0;if(e<<=3,"big"===this.endian){for(var a=8;a<this.padLength;a++)n[i++]=0;n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=e>>>24&255,n[i++]=e>>>16&255,n[i++]=e>>>8&255,n[i++]=255&e}else for(n[i++]=255&e,n[i++]=e>>>8&255,n[i++]=e>>>16&255,n[i++]=e>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,a=8;a<this.padLength;a++)n[i++]=0;return n};var qf={},Jf={},Gf=Pf.rotr32;function Zf(e,t,r){return e&t^~e&r}function Wf(e,t,r){return e&t^e&r^t&r}function Xf(e,t,r){return e^t^r}Jf.ft_1=function(e,t,r,n){return 0===e?Zf(t,r,n):1===e||3===e?Xf(t,r,n):2===e?Wf(t,r,n):void 0},Jf.ch32=Zf,Jf.maj32=Wf,Jf.p32=Xf,Jf.s0_256=function(e){return Gf(e,2)^Gf(e,13)^Gf(e,22)},Jf.s1_256=function(e){return Gf(e,6)^Gf(e,11)^Gf(e,25)},Jf.g0_256=function(e){return Gf(e,7)^Gf(e,18)^e>>>3},Jf.g1_256=function(e){return Gf(e,17)^Gf(e,19)^e>>>10};var Yf=Pf,$f=Ff,Qf=Jf,eo=Yf.rotl32,to=Yf.sum32,ro=Yf.sum32_5,no=Qf.ft_1,io=$f.BlockHash,ao=[1518500249,1859775393,2400959708,3395469782];function fo(){if(!(this instanceof fo))return new fo;io.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}Yf.inherits(fo,io);var oo=fo;fo.blockSize=512,fo.outSize=160,fo.hmacStrength=80,fo.padLength=64,fo.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;n<r.length;n++)r[n]=eo(r[n-3]^r[n-8]^r[n-14]^r[n-16],1);var i=this.h[0],a=this.h[1],f=this.h[2],o=this.h[3],s=this.h[4];for(n=0;n<r.length;n++){var u=~~(n/20),c=ro(eo(i,5),no(u,a,f,o),s,r[n],ao[u]);s=o,o=f,f=eo(a,30),a=i,i=c}this.h[0]=to(this.h[0],i),this.h[1]=to(this.h[1],a),this.h[2]=to(this.h[2],f),this.h[3]=to(this.h[3],o),this.h[4]=to(this.h[4],s)},fo.prototype._digest=function(e){return"hex"===e?Yf.toHex32(this.h,"big"):Yf.split32(this.h,"big")};var so=Pf,uo=Ff,co=Jf,ho=Fa,lo=so.sum32,po=so.sum32_4,vo=so.sum32_5,yo=co.ch32,bo=co.maj32,go=co.s0_256,mo=co.s1_256,wo=co.g0_256,xo=co.g1_256,ko=uo.BlockHash,Ao=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function So(){if(!(this instanceof So))return new So;ko.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=Ao,this.W=new Array(64)}so.inherits(So,ko);var Eo=So;So.blockSize=512,So.outSize=256,So.hmacStrength=192,So.padLength=64,So.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;n<r.length;n++)r[n]=po(xo(r[n-2]),r[n-7],wo(r[n-15]),r[n-16]);var i=this.h[0],a=this.h[1],f=this.h[2],o=this.h[3],s=this.h[4],u=this.h[5],c=this.h[6],h=this.h[7];for(ho(this.k.length===r.length),n=0;n<r.length;n++){var d=vo(h,mo(s),yo(s,u,c),this.k[n],r[n]),l=lo(go(i),bo(i,a,f));h=c,c=u,u=s,s=lo(o,d),o=f,f=a,a=i,i=lo(d,l)}this.h[0]=lo(this.h[0],i),this.h[1]=lo(this.h[1],a),this.h[2]=lo(this.h[2],f),this.h[3]=lo(this.h[3],o),this.h[4]=lo(this.h[4],s),this.h[5]=lo(this.h[5],u),this.h[6]=lo(this.h[6],c),this.h[7]=lo(this.h[7],h)},So.prototype._digest=function(e){return"hex"===e?so.toHex32(this.h,"big"):so.split32(this.h,"big")};var Bo=Pf,Mo=Eo;function Co(){if(!(this instanceof Co))return new Co;Mo.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}Bo.inherits(Co,Mo);var _o=Co;Co.blockSize=512,Co.outSize=224,Co.hmacStrength=192,Co.padLength=64,Co.prototype._digest=function(e){return"hex"===e?Bo.toHex32(this.h.slice(0,7),"big"):Bo.split32(this.h.slice(0,7),"big")};var No=Pf,Uo=Ff,Io=Fa,Ko=No.rotr64_hi,Po=No.rotr64_lo,Oo=No.shr64_hi,Lo=No.shr64_lo,Do=No.sum64,Ro=No.sum64_hi,Ho=No.sum64_lo,To=No.sum64_4_hi,Fo=No.sum64_4_lo,zo=No.sum64_5_hi,Vo=No.sum64_5_lo,jo=Uo.BlockHash,qo=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function Jo(){if(!(this instanceof Jo))return new Jo;jo.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=qo,this.W=new Array(160)}No.inherits(Jo,jo);var Go=Jo;function Zo(e,t,r,n,i){var a=e&r^~e&i;return a<0&&(a+=4294967296),a}function Wo(e,t,r,n,i,a){var f=t&n^~t&a;return f<0&&(f+=4294967296),f}function Xo(e,t,r,n,i){var a=e&r^e&i^r&i;return a<0&&(a+=4294967296),a}function Yo(e,t,r,n,i,a){var f=t&n^t&a^n&a;return f<0&&(f+=4294967296),f}function $o(e,t){var r=Ko(e,t,28)^Ko(t,e,2)^Ko(t,e,7);return r<0&&(r+=4294967296),r}function Qo(e,t){var r=Po(e,t,28)^Po(t,e,2)^Po(t,e,7);return r<0&&(r+=4294967296),r}function es(e,t){var r=Ko(e,t,14)^Ko(e,t,18)^Ko(t,e,9);return r<0&&(r+=4294967296),r}function ts(e,t){var r=Po(e,t,14)^Po(e,t,18)^Po(t,e,9);return r<0&&(r+=4294967296),r}function rs(e,t){var r=Ko(e,t,1)^Ko(e,t,8)^Oo(e,t,7);return r<0&&(r+=4294967296),r}function ns(e,t){var r=Po(e,t,1)^Po(e,t,8)^Lo(e,t,7);return r<0&&(r+=4294967296),r}function is(e,t){var r=Ko(e,t,19)^Ko(t,e,29)^Oo(e,t,6);return r<0&&(r+=4294967296),r}function as(e,t){var r=Po(e,t,19)^Po(t,e,29)^Lo(e,t,6);return r<0&&(r+=4294967296),r}Jo.blockSize=1024,Jo.outSize=512,Jo.hmacStrength=192,Jo.padLength=128,Jo.prototype._prepareBlock=function(e,t){for(var r=this.W,n=0;n<32;n++)r[n]=e[t+n];for(;n<r.length;n+=2){var i=is(r[n-4],r[n-3]),a=as(r[n-4],r[n-3]),f=r[n-14],o=r[n-13],s=rs(r[n-30],r[n-29]),u=ns(r[n-30],r[n-29]),c=r[n-32],h=r[n-31];r[n]=To(i,a,f,o,s,u,c,h),r[n+1]=Fo(i,a,f,o,s,u,c,h)}},Jo.prototype._update=function(e,t){this._prepareBlock(e,t);var r=this.W,n=this.h[0],i=this.h[1],a=this.h[2],f=this.h[3],o=this.h[4],s=this.h[5],u=this.h[6],c=this.h[7],h=this.h[8],d=this.h[9],l=this.h[10],p=this.h[11],v=this.h[12],y=this.h[13],b=this.h[14],g=this.h[15];Io(this.k.length===r.length);for(var m=0;m<r.length;m+=2){var w=b,x=g,k=es(h,d),A=ts(h,d),S=Zo(h,0,l,0,v),E=Wo(0,d,0,p,0,y),B=this.k[m],M=this.k[m+1],C=r[m],_=r[m+1],N=zo(w,x,k,A,S,E,B,M,C,_),U=Vo(w,x,k,A,S,E,B,M,C,_);w=$o(n,i),x=Qo(n,i),k=Xo(n,0,a,0,o),A=Yo(0,i,0,f,0,s);var I=Ro(w,x,k,A),K=Ho(w,x,k,A);b=v,g=y,v=l,y=p,l=h,p=d,h=Ro(u,c,N,U),d=Ho(c,c,N,U),u=o,c=s,o=a,s=f,a=n,f=i,n=Ro(N,U,I,K),i=Ho(N,U,I,K)}Do(this.h,0,n,i),Do(this.h,2,a,f),Do(this.h,4,o,s),Do(this.h,6,u,c),Do(this.h,8,h,d),Do(this.h,10,l,p),Do(this.h,12,v,y),Do(this.h,14,b,g)},Jo.prototype._digest=function(e){return"hex"===e?No.toHex32(this.h,"big"):No.split32(this.h,"big")};var fs=Pf,os=Go;function ss(){if(!(this instanceof ss))return new ss;os.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}fs.inherits(ss,os);var us=ss;ss.blockSize=1024,ss.outSize=384,ss.hmacStrength=192,ss.padLength=128,ss.prototype._digest=function(e){return"hex"===e?fs.toHex32(this.h.slice(0,12),"big"):fs.split32(this.h.slice(0,12),"big")},qf.sha1=oo,qf.sha224=_o,qf.sha256=Eo,qf.sha384=us,qf.sha512=Go;var cs={},hs=Pf,ds=Ff,ls=hs.rotl32,ps=hs.sum32,vs=hs.sum32_3,ys=hs.sum32_4,bs=ds.BlockHash;function gs(){if(!(this instanceof gs))return new gs;bs.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function ms(e,t,r,n){return e<=15?t^r^n:e<=31?t&r|~t&n:e<=47?(t|~r)^n:e<=63?t&n|r&~n:t^(r|~n)}function ws(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function xs(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}hs.inherits(gs,bs),cs.ripemd160=gs,gs.blockSize=512,gs.outSize=160,gs.hmacStrength=192,gs.padLength=64,gs.prototype._update=function(e,t){for(var r=this.h[0],n=this.h[1],i=this.h[2],a=this.h[3],f=this.h[4],o=r,s=n,u=i,c=a,h=f,d=0;d<80;d++){var l=ps(ls(ys(r,ms(d,n,i,a),e[ks[d]+t],ws(d)),Ss[d]),f);r=f,f=a,a=ls(i,10),i=n,n=l,l=ps(ls(ys(o,ms(79-d,s,u,c),e[As[d]+t],xs(d)),Es[d]),h),o=h,h=c,c=ls(u,10),u=s,s=l}l=vs(this.h[1],i,c),this.h[1]=vs(this.h[2],a,h),this.h[2]=vs(this.h[3],f,o),this.h[3]=vs(this.h[4],r,s),this.h[4]=vs(this.h[0],n,u),this.h[0]=l},gs.prototype._digest=function(e){return"hex"===e?hs.toHex32(this.h,"little"):hs.split32(this.h,"little")};var ks=[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],As=[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],Ss=[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],Es=[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],Bs=Pf,Ms=Fa;function Cs(e,t,r){if(!(this instanceof Cs))return new Cs(e,t,r);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(Bs.toArray(t,r))}var _s,Ns,Us=Cs;Cs.prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),Ms(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(this.inner=(new this.Hash).update(e),t=0;t<e.length;t++)e[t]^=106;this.outer=(new this.Hash).update(e)},Cs.prototype.update=function(e,t){return this.inner.update(e,t),this},Cs.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)},function(e){var t=e;t.utils=Pf,t.common=Ff,t.sha=qf,t.ripemd=cs,t.hmac=Us,t.sha1=t.sha.sha1,t.sha256=t.sha.sha256,t.sha224=t.sha.sha224,t.sha384=t.sha.sha384,t.sha512=t.sha.sha512,t.ripemd160=t.ripemd.ripemd160}(Kf),function(e){var t,r=e,n=Kf,i=Wa,a=Ra.assert;function f(e){if("short"===e.type)this.curve=new i.short(e);else if("edwards"===e.type)this.curve=new i.edwards(e);else{if("mont"!==e.type)throw new Error("Unknown curve type.");this.curve=new i.mont(e)}this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,a(this.g.validate(),"Invalid curve"),a(this.g.mul(this.n).isInfinity(),"Invalid curve, n*G != O")}function o(e,t){Object.defineProperty(r,e,{configurable:!0,enumerable:!0,get:function(){var n=new f(t);return Object.defineProperty(r,e,{configurable:!0,enumerable:!0,value:n}),n}})}r.PresetCurve=f,o("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:n.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),o("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:n.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),o("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:n.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),o("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:n.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),o("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:n.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),o("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",cofactor:"8",hash:n.sha256,gRed:!1,g:["9"]}),o("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",cofactor:"8",hash:n.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]}),o("brainpoolP256r1",{type:"short",prime:null,p:"A9FB57DB A1EEA9BC 3E660A90 9D838D72 6E3BF623 D5262028 2013481D 1F6E5377",a:"7D5A0975 FC2C3057 EEF67530 417AFFE7 FB8055C1 26DC5C6C E94A4B44 F330B5D9",b:"26DC5C6C E94A4B44 F330B5D9 BBD77CBF 95841629 5CF7E1CE 6BCCDC18 FF8C07B6",n:"A9FB57DB A1EEA9BC 3E660A90 9D838D71 8C397AA3 B561A6F7 901E0E82 974856A7",hash:n.sha256,gRed:!1,g:["8BD2AEB9CB7E57CB2C4B482FFC81B7AFB9DE27E1E3BD23C23A4453BD9ACE3262","547EF835C3DAC4FD97F8461A14611DC9C27745132DED8E545C1D54C72F046997"]}),o("brainpoolP384r1",{type:"short",prime:null,p:"8CB91E82 A3386D28 0F5D6F7E 50E641DF 152F7109 ED5456B4 12B1DA19 7FB71123ACD3A729 901D1A71 87470013 3107EC53",a:"7BC382C6 3D8C150C 3C72080A CE05AFA0 C2BEA28E 4FB22787 139165EF BA91F90F8AA5814A 503AD4EB 04A8C7DD 22CE2826",b:"04A8C7DD 22CE2826 8B39B554 16F0447C 2FB77DE1 07DCD2A6 2E880EA5 3EEB62D57CB43902 95DBC994 3AB78696 FA504C11",n:"8CB91E82 A3386D28 0F5D6F7E 50E641DF 152F7109 ED5456B3 1F166E6C AC0425A7CF3AB6AF 6B7FC310 3B883202 E9046565",hash:n.sha384,gRed:!1,g:["1D1C64F068CF45FFA2A63A81B7C13F6B8847A3E77EF14FE3DB7FCAFE0CBD10E8E826E03436D646AAEF87B2E247D4AF1E","8ABE1D7520F9C2A45CB1EB8E95CFD55262B70B29FEEC5864E19C054FF99129280E4646217791811142820341263C5315"]}),o("brainpoolP512r1",{type:"short",prime:null,p:"AADD9DB8 DBE9C48B 3FD4E6AE 33C9FC07 CB308DB3 B3C9D20E D6639CCA 703308717D4D9B00 9BC66842 AECDA12A E6A380E6 2881FF2F 2D82C685 28AA6056 583A48F3",a:"7830A331 8B603B89 E2327145 AC234CC5 94CBDD8D 3DF91610 A83441CA EA9863BC2DED5D5A A8253AA1 0A2EF1C9 8B9AC8B5 7F1117A7 2BF2C7B9 E7C1AC4D 77FC94CA",b:"3DF91610 A83441CA EA9863BC 2DED5D5A A8253AA1 0A2EF1C9 8B9AC8B5 7F1117A72BF2C7B9 E7C1AC4D 77FC94CA DC083E67 984050B7 5EBAE5DD 2809BD63 8016F723",n:"AADD9DB8 DBE9C48B 3FD4E6AE 33C9FC07 CB308DB3 B3C9D20E D6639CCA 70330870553E5C41 4CA92619 41866119 7FAC1047 1DB1D381 085DDADD B5879682 9CA90069",hash:n.sha512,gRed:!1,g:["81AEE4BDD82ED9645A21322E9C4C6A9385ED9F70B5D916C1B43B62EEF4D0098EFF3B1F78E2D0D48D50D1687B93B97D5F7C6D5047406A5E688B352209BCB9F822","7DDE385D566332ECC0EABFA9CF7822FDF209F70024A57B1AA000C55B881F8111B2DCDE494A5F485E5BCA4BD88A2763AED1CA2B2FA8F0540678CD1E0F3AD80892"]});try{t=Ns?_s:(Ns=1,_s={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}})}catch(e){t=void 0}o("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:n.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",t]})}(If);var Is=Kf,Ks=Va,Ps=Fa;function Os(e){if(!(this instanceof Os))return new Os(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=Ks.toArray(e.entropy,e.entropyEnc||"hex"),r=Ks.toArray(e.nonce,e.nonceEnc||"hex"),n=Ks.toArray(e.pers,e.persEnc||"hex");Ps(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,n)}var Ls=Os;Os.prototype._init=function(e,t,r){var n=e.concat(t).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i<this.V.length;i++)this.K[i]=0,this.V[i]=1;this._update(n),this._reseed=1,this.reseedInterval=281474976710656},Os.prototype._hmac=function(){return new Is.hmac(this.hash,this.K)},Os.prototype._update=function(e){var t=this._hmac().update(this.V).update([0]);e&&(t=t.update(e)),this.K=t.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},Os.prototype.reseed=function(e,t,r,n){"string"!=typeof t&&(n=r,r=t,t=null),e=Ks.toArray(e,t),r=Ks.toArray(r,n),Ps(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(r||[])),this._reseed=1},Os.prototype.generate=function(e,t,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(n=r,r=t,t=null),r&&(r=Ks.toArray(r,n||"hex"),this._update(r));for(var i=[];i.length<e;)this.V=this._hmac().update(this.V).digest(),i=i.concat(this.V);var a=i.slice(0,e);return this._update(r),this._reseed++,Ks.encode(a,t)};var Ds=Ta,Rs=Ra.assert;function Hs(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}var Ts=Hs;Hs.fromPublic=function(e,t,r){return t instanceof Hs?t:new Hs(e,{pub:t,pubEnc:r})},Hs.fromPrivate=function(e,t,r){return t instanceof Hs?t:new Hs(e,{priv:t,privEnc:r})},Hs.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},Hs.prototype.getPublic=function(e,t){return this.pub||(this.pub=this.ec.g.mul(this.priv)),e?this.pub.encode(e,t):this.pub},Hs.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},Hs.prototype._importPrivate=function(e,t){if(this.priv=new Ds(e,t||16),"mont"===this.ec.curve.type){var r=this.ec.curve.one,n=r.ushln(252).sub(r).ushln(3);this.priv=this.priv.or(r.ushln(254)),this.priv=this.priv.and(n)}else this.priv=this.priv.umod(this.ec.curve.n)},Hs.prototype._importPublic=function(e,t){if(e.x||e.y)return"mont"===this.ec.curve.type?Rs(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||Rs(e.x&&e.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(e.x,e.y));this.pub=this.ec.curve.decodePoint(e,t)},Hs.prototype.derive=function(e){return e.mul(this.priv).getX()},Hs.prototype.sign=function(e,t,r){return this.ec.sign(e,this,t,r)},Hs.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},Hs.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var Fs=Ta,zs=Ra,Vs=zs.assert;function js(e,t){if(e instanceof js)return e;this._importDER(e,t)||(Vs(e.r&&e.s,"Signature without r or s"),this.r=new Fs(e.r,16),this.s=new Fs(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}var qs=js;function Js(){this.place=0}function Gs(e,t){var r=e[t.place++];if(!(128&r))return r;for(var n=15&r,i=0,a=0,f=t.place;a<n;a++,f++)i<<=8,i|=e[f];return t.place=f,i}function Zs(e){for(var t=0,r=e.length-1;!e[t]&&!(128&e[t+1])&&t<r;)t++;return 0===t?e:e.slice(t)}function Ws(e,t){if(t<128)e.push(t);else{var r=1+(Math.log(t)/Math.LN2>>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}}js.prototype._importDER=function(e,t){e=zs.toArray(e,t);var r=new Js;if(48!==e[r.place++])return!1;if(Gs(e,r)+r.place!==e.length)return!1;if(2!==e[r.place++])return!1;var n=Gs(e,r),i=e.slice(r.place,n+r.place);if(r.place+=n,2!==e[r.place++])return!1;var a=Gs(e,r);if(e.length!==a+r.place)return!1;var f=e.slice(r.place,a+r.place);return 0===i[0]&&128&i[1]&&(i=i.slice(1)),0===f[0]&&128&f[1]&&(f=f.slice(1)),this.r=new Fs(i),this.s=new Fs(f),this.recoveryParam=null,!0},js.prototype.toDER=function(e){var t=this.r.toArray(),r=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&r[0]&&(r=[0].concat(r)),t=Zs(t),r=Zs(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];Ws(n,t.length),(n=n.concat(t)).push(2),Ws(n,r.length);var i=n.concat(r),a=[48];return Ws(a,i.length),a=a.concat(i),zs.encode(a,e)};var Xs=Ta,Ys=Ls,$s=If,Qs=Za,eu=Ra.assert,tu=Ts,ru=qs;function nu(e){if(!(this instanceof nu))return new nu(e);"string"==typeof e&&(eu($s.hasOwnProperty(e),"Unknown curve "+e),e=$s[e]),e instanceof $s.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}var iu=nu;nu.prototype.keyPair=function(e){return new tu(this,e)},nu.prototype.keyFromPrivate=function(e,t){return tu.fromPrivate(this,e,t)},nu.prototype.keyFromPublic=function(e,t){return tu.fromPublic(this,e,t)},nu.prototype.genKeyPair=function(e){e||(e={});var t=new Ys({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||Qs(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()});if("mont"===this.curve.type){var r=new Xs(t.generate(32));return this.keyFromPrivate(r)}for(var n=this.n.byteLength(),i=this.n.sub(new Xs(2));;)if(!((r=new Xs(t.generate(n))).cmp(i)>0))return r.iaddn(1),this.keyFromPrivate(r)},nu.prototype._truncateToN=function(e,t){var r=8*e.byteLength()-this.n.bitLength();return r>0&&(e=e.ushrn(r)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},nu.prototype.sign=function(e,t,r,n){"object"===H(r)&&(n=r,r=null),n||(n={}),t=this.keyFromPrivate(t,r),e=this._truncateToN(new Xs(e,16));for(var i=this.n.byteLength(),a=t.getPrivate().toArray("be",i),f=e.toArray("be",i),o=new Ys({hash:this.hash,entropy:a,nonce:f,pers:n.pers,persEnc:n.persEnc||"utf8"}),s=this.n.sub(new Xs(1)),u=0;;u++){var c=n.k?n.k(u):new Xs(o.generate(this.n.byteLength()));if(!((c=this._truncateToN(c,!0)).cmpn(1)<=0||c.cmp(s)>=0)){var h=this.g.mul(c);if(!h.isInfinity()){var d=h.getX(),l=d.umod(this.n);if(0!==l.cmpn(0)){var p=c.invm(this.n).mul(l.mul(t.getPrivate()).iadd(e));if(0!==(p=p.umod(this.n)).cmpn(0)){var v=(h.getY().isOdd()?1:0)|(0!==d.cmp(l)?2:0);return n.canonical&&p.cmp(this.nh)>0&&(p=this.n.sub(p),v^=1),new ru({r:l,s:p,recoveryParam:v})}}}}}},nu.prototype.verify=function(e,t,r,n){e=this._truncateToN(new Xs(e,16)),r=this.keyFromPublic(r,n);var i=(t=new ru(t,"hex")).r,a=t.s;if(i.cmpn(1)<0||i.cmp(this.n)>=0)return!1;if(a.cmpn(1)<0||a.cmp(this.n)>=0)return!1;var f,o=a.invm(this.n),s=o.mul(e).umod(this.n),u=o.mul(i).umod(this.n);return this.curve._maxwellTrick?!(f=this.g.jmulAdd(s,r.getPublic(),u)).isInfinity()&&f.eqXToP(i):!(f=this.g.mulAdd(s,r.getPublic(),u)).isInfinity()&&0===f.getX().umod(this.n).cmp(i)},nu.prototype.recoverPubKey=function(e,t,r,n){eu((3&r)===r,"The recovery param is more than two bits"),t=new ru(t,n);var i=this.n,a=new Xs(e),f=t.r,o=t.s,s=1&r,u=r>>1;if(f.cmp(this.curve.p.umod(this.curve.n))>=0&&u)throw new Error("Unable to find sencond key candinate");f=u?this.curve.pointFromX(f.add(this.curve.n),s):this.curve.pointFromX(f,s);var c=t.r.invm(i),h=i.sub(a).mul(c).umod(i),d=o.mul(c).umod(i);return this.g.mulAdd(h,f,d)},nu.prototype.getKeyRecoveryParam=function(e,t,r,n){if(null!==(t=new ru(t,n)).recoveryParam)return t.recoveryParam;for(var i=0;i<4;i++){var a;try{a=this.recoverPubKey(e,t,i)}catch(e){continue}if(a.eq(r))return i}throw new Error("Unable to find valid recovery factor")};var au=Ra,fu=au.assert,ou=au.parseBytes,su=au.cachedProperty;function uu(e,t){if(this.eddsa=e,t.hasOwnProperty("secret")&&(this._secret=ou(t.secret)),e.isPoint(t.pub))this._pub=t.pub;else if(this._pubBytes=ou(t.pub),this._pubBytes&&33===this._pubBytes.length&&64===this._pubBytes[0]&&(this._pubBytes=this._pubBytes.slice(1,33)),this._pubBytes&&32!==this._pubBytes.length)throw new Error("Unknown point compression format")}uu.fromPublic=function(e,t){return t instanceof uu?t:new uu(e,{pub:t})},uu.fromSecret=function(e,t){return t instanceof uu?t:new uu(e,{secret:t})},uu.prototype.secret=function(){return this._secret},su(uu,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),su(uu,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),su(uu,"privBytes",(function(){var e=this.eddsa,t=this.hash(),r=e.encodingLength-1,n=t.slice(0,e.encodingLength);return n[0]&=248,n[r]&=127,n[r]|=64,n})),su(uu,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),su(uu,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),su(uu,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),uu.prototype.sign=function(e){return fu(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)},uu.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)},uu.prototype.getSecret=function(e){return fu(this._secret,"KeyPair is public only"),au.encode(this.secret(),e)},uu.prototype.getPublic=function(e,t){return au.encode((t?[64]:[]).concat(this.pubBytes()),e)};var cu=uu,hu=Ta,du=Ra,lu=du.assert,pu=du.cachedProperty,vu=du.parseBytes;function yu(e,t){this.eddsa=e,"object"!==H(t)&&(t=vu(t)),Array.isArray(t)&&(t={R:t.slice(0,e.encodingLength),S:t.slice(e.encodingLength)}),lu(t.R&&t.S,"Signature without R or S"),e.isPoint(t.R)&&(this._R=t.R),t.S instanceof hu&&(this._S=t.S),this._Rencoded=Array.isArray(t.R)?t.R:t.Rencoded,this._Sencoded=Array.isArray(t.S)?t.S:t.Sencoded}pu(yu,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),pu(yu,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),pu(yu,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),pu(yu,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),yu.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},yu.prototype.toHex=function(){return du.encode(this.toBytes(),"hex").toUpperCase()};var bu,gu,mu,wu=yu;var xu,ku=function e(){return mu||(mu=1,function(t){var r=t;r.utils=Ra,r.rand=Za,r.curve=Wa,r.curves=If,r.ec=iu,r.eddsa=function(){if(gu)return bu;gu=1;var t=Kf,r=If,n=Ra,i=Ls,a=e(),f=n.assert,o=n.parseBytes,s=cu,u=wu;function c(e){if(f("ed25519"===e,"only tested with ed25519 so far"),!(this instanceof c))return new c(e);e=r[e].curve,this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=t.sha512}return bu=c,c.prototype.sign=function(e,t){e=o(e);var r=this.keyFromSecret(t),n=this.hashInt(r.messagePrefix(),e),i=this.g.mul(n),a=this.encodePoint(i),f=this.hashInt(a,r.pubBytes(),e).mul(r.priv()),s=n.add(f).umod(this.curve.n);return this.makeSignature({R:i,S:s,Rencoded:a})},c.prototype.verify=function(e,t,r){e=o(e),t=this.makeSignature(t);var n=this.keyFromPublic(r),i=this.hashInt(t.Rencoded(),n.pubBytes(),e),a=this.g.mul(t.S());return t.R().add(n.pub().mul(i)).eq(a)},c.prototype.hashInt=function(){for(var e=this.hash(),t=0;t<arguments.length;t++)e.update(arguments[t]);return n.intFromLE(e.digest()).umod(this.curve.n)},c.prototype.keyPair=function(e){return new s(this,e)},c.prototype.keyFromPublic=function(e){return s.fromPublic(this,e)},c.prototype.keyFromSecret=function(e){return s.fromSecret(this,e)},c.prototype.genKeyPair=function(e){e||(e={});var t=new i({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||a.rand(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.curve.n.toArray()});return this.keyFromSecret(t.generate(this.hash.outSize>>3))},c.prototype.makeSignature=function(e){return e instanceof u?e:new u(this,e)},c.prototype.encodePoint=function(e){var t=e.getY().toArray("le",this.encodingLength);return t[this.encodingLength-1]|=e.getX().isOdd()?128:0,t},c.prototype.decodePoint=function(e){var t=(e=n.parseBytes(e)).length-1,r=e.slice(0,t).concat(-129&e[t]),i=!!(128&e[t]),a=n.intFromLE(r);return this.curve.pointFromY(a,i)},c.prototype.encodeInt=function(e){return e.toArray("le",this.encodingLength)},c.prototype.decodeInt=function(e){return n.intFromLE(e)},c.prototype.isPoint=function(e){return e instanceof this.pointClass},bu}()}(Da)),Da}(),Au=t({__proto__:null,default:(xu=ku)&&xu.__esModule&&Object.prototype.hasOwnProperty.call(xu,"default")?xu.default:xu},[ku]),Su={"1.2.840.10045.3.1.7":"P-256","P-256":"1.2.840.10045.3.1.7","1.3.132.0.34":"P-384","P-384":"1.3.132.0.34","1.3.132.0.35":"P-521","P-521":"1.3.132.0.35","1.3.132.0.10":"K-256","K-256":"1.3.132.0.10","1.3.36.3.3.2.8.1.1.7":"brainpoolP256r1",brainpoolP256r1:"1.3.36.3.3.2.8.1.1.7","1.3.36.3.3.2.8.1.1.11":"brainpoolP384r1",brainpoolP384r1:"1.3.36.3.3.2.8.1.1.11","1.3.36.3.3.2.8.1.1.13":"brainpoolP512r1",brainpoolP512r1:"1.3.36.3.3.2.8.1.1.13"};function Eu(e){var t=Su[e];if(!t)throw new vn("Cannot convert WebCrypto named curve '".concat(e,"' to OID"));return t}var Bu=function(e){function t(e,r,n,i,a){var f;return V(this,t),(f=U(this,t,[e,r,n,i])).data=a,f}return D(t,e),q(t)}(Pi),Mu=function(){return q((function e(){V(this,e)}),null,[{key:"checkLib",value:function(){if(void 0===Au)throw new vn("Cannot implement EC mechanism. Add 'https://peculiarventures.github.io/pv-webcrypto-tests/src/elliptic.js' script to your project")}},{key:"generateKey",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){var i,a,f,o,s=this;return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return this.checkLib(),i=this.initEcKey(e.namedCurve),(a=i.genKeyPair()).getPublic(),f=new Bu(Object.assign({},e),t,"private",r.filter((function(e){return~s.privateUsages.indexOf(e)})),a),o=new Bu(Object.assign({},e),!0,"public",r.filter((function(e){return~s.publicUsages.indexOf(e)})),a),n.abrupt("return",{privateKey:f,publicKey:o});case 7:case"end":return n.stop()}}),n,this)})))}},{key:"checkCryptoKey",value:function(e){if(!(e instanceof Bu))throw new TypeError("key: Is not EcCryptoKey")}},{key:"concat",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=new Uint8Array(t.map((function(e){return e.length})).reduce((function(e,t){return e+t}))),i=0;return t.forEach((function(e){for(var t=0;t<e.length;t++)n[i+t]=e[t];i+=e.length})),n}},{key:"exportKey",value:function(e,t){return qr(this,void 0,void 0,x().mark((function r(){return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:this.checkLib(),r.t0=e,r.next="pkcs8"===r.t0?4:"spki"===r.t0?5:"jwk"===r.t0?6:"raw"===r.t0?7:8;break;case 4:return r.abrupt("return",this.exportPkcs8Key(t));case 5:return r.abrupt("return",this.exportSpkiKey(t));case 6:return r.abrupt("return",this.exportJwkKey(t));case 7:return r.abrupt("return",new Uint8Array(t.data.getPublic("der")).buffer);case 8:throw new vn("format: Must be 'jwk', 'raw, 'pkcs8' or 'spki'");case 9:case"end":return r.stop()}}),r,this)})))}},{key:"importKey",value:function(e,t,r,n,i){return qr(this,void 0,void 0,x().mark((function a(){var f,o;return x().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:this.checkLib(),a.t0=e,a.next="pkcs8"===a.t0?4:"spki"===a.t0?6:"raw"===a.t0?8:"jwk"===a.t0?10:12;break;case 4:return f=this.importPkcs8Key(t,r.namedCurve),a.abrupt("break",13);case 6:return f=this.importSpkiKey(t,r.namedCurve),a.abrupt("break",13);case 8:return f=this.importEcKey(new xi.EcPublicKey(t),r.namedCurve),a.abrupt("break",13);case 10:return f=this.importJwkKey(t),a.abrupt("break",13);case 12:throw new vn("format: Must be 'jwk', 'raw', 'pkcs8' or 'spki'");case 13:return o=new Bu(Object.assign({},r),n,f.priv?"private":"public",i,f),a.abrupt("return",o);case 15:case"end":return a.stop()}}),a,this)})))}},{key:"getNamedCurve",value:function(e){var t=e.toUpperCase(),r="";if(["P-256","P-384","P-521"].indexOf(t)>-1)r=t.replace("-","").toLowerCase();else if("K-256"===t)r="secp256k1";else{if(!["brainpoolP256r1","brainpoolP384r1","brainpoolP512r1"].includes(e))throw new vn("Unsupported named curve '".concat(e,"'"));r=e}return r}},{key:"initEcKey",value:function(e){return ku.ec(this.getNamedCurve(e))}},{key:"exportPkcs8Key",value:function(e){var t=new xi.PrivateKeyInfo;return t.privateKeyAlgorithm.algorithm=this.ASN_ALGORITHM,t.privateKeyAlgorithm.parameters=Vr.serialize(new xi.ObjectIdentifier(Eu(e.algorithm.namedCurve))),t.privateKey=Vr.serialize(this.exportEcKey(e)),Vr.serialize(t)}},{key:"importPkcs8Key",value:function(e,t){var r=Vr.parse(e,xi.PrivateKeyInfo),n=Vr.parse(r.privateKey,xi.EcPrivateKey);return this.importEcKey(n,t)}},{key:"importSpkiKey",value:function(e,t){var r=Vr.parse(e,xi.PublicKeyInfo),n=new xi.EcPublicKey(r.publicKey);return this.importEcKey(n,t)}},{key:"exportSpkiKey",value:function(e){var t=new xi.EcPublicKey(new Uint8Array(e.data.getPublic("der")).buffer),r=new xi.PublicKeyInfo;return r.publicKeyAlgorithm.algorithm=this.ASN_ALGORITHM,r.publicKeyAlgorithm.parameters=Vr.serialize(new xi.ObjectIdentifier(Eu(e.algorithm.namedCurve))),r.publicKey=t.value,Vr.serialize(r)}},{key:"importJwkKey",value:function(e){var t;return t=e.d?cn.fromJSON(e,{targetSchema:xi.EcPrivateKey}):cn.fromJSON(e,{targetSchema:xi.EcPublicKey}),this.importEcKey(t,e.crv)}},{key:"exportJwkKey",value:function(e){var t=this.exportEcKey(e),r=un.toJSON(t);return r.ext=!0,r.key_ops=e.usages,r.crv=e.algorithm.namedCurve,r.kty="EC",r}},{key:"exportEcKey",value:function(e){if("private"===e.type){var t=new xi.EcPrivateKey,r=new Uint8Array(e.data.getPrivate("der").toArray()),n=new Uint8Array(this.getPointSize(e.algorithm.namedCurve)-r.length);return t.privateKey=Ki(n,r),t.publicKey=new Uint8Array(e.data.getPublic("der")),t}if(e.data.pub)return new xi.EcPublicKey(new Uint8Array(e.data.getPublic("der")).buffer);throw new Error("Cannot get private or public key")}},{key:"importEcKey",value:function(e,t){var r=this.initEcKey(t);return e instanceof xi.EcPublicKey?r.keyFromPublic(new Uint8Array(e.value)):r.keyFromPrivate(new Uint8Array(e.privateKey))}},{key:"getPointSize",value:function(e){switch(e){case"P-256":case"K-256":return 32;case"P-384":return 48;case"P-521":return 66}throw new Error("namedCurve: Is not recognized")}}])}();Mu.privateUsages=["sign","deriveKey","deriveBits"],Mu.publicUsages=["verify"],Mu.ASN_ALGORITHM="1.2.840.10045.2.1";var Cu=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).namedCurves=["P-256","P-384","P-521","K-256","brainpoolP256r1","brainpoolP384r1","brainpoolP512r1"],e}return D(t,e),q(t,[{key:"onGenerateKey",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",Mu.generateKey(e,t,r));case 1:case"end":return n.stop()}}),n)})))}},{key:"onExportKey",value:function(e,t){return qr(this,void 0,void 0,x().mark((function r(){return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",Mu.exportKey(e,t));case 1:case"end":return r.stop()}}),r)})))}},{key:"onImportKey",value:function(e,t,r,n,i){return qr(this,void 0,void 0,x().mark((function a(){return x().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.abrupt("return",Mu.importKey(e,t,r,n,i));case 1:case"end":return a.stop()}}),a)})))}},{key:"onDeriveBits",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){var i,a,f,o;return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return Mu.checkLib(),i=t.data.derive(e.public.data.getPublic()),a=new Uint8Array(i.toArray()),f=(f=a.length)>32?f>48?66:48:32,a.length<f&&(a=Mu.concat(new Uint8Array(f-a.length),a)),o=a.slice(0,r/8).buffer,n.abrupt("return",o);case 8:case"end":return n.stop()}}),n)})))}},{key:"checkCryptoKey",value:function(e,r){P(t,"checkCryptoKey",this,3)([e,r]),Mu.checkCryptoKey(e)}}])}(Pn);function _u(e){for(var t=new Uint8Array(e),r=[],n=0;n<t.length;n++)r.push(t[n]);return r}var Nu=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).hashAlgorithms=["SHA-1","SHA-256","SHA-384","SHA-512","SHA3-256","SHA3-384","SHA3-512"],e.namedCurves=["P-256","P-384","P-521","K-256","brainpoolP256r1","brainpoolP384r1","brainpoolP512r1"],e}return D(t,e),q(t,[{key:"onGenerateKey",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",Mu.generateKey(e,t,r));case 1:case"end":return n.stop()}}),n)})))}},{key:"onExportKey",value:function(e,t){return qr(this,void 0,void 0,x().mark((function r(){return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",Mu.exportKey(e,t));case 1:case"end":return r.stop()}}),r)})))}},{key:"onImportKey",value:function(e,t,r,n,i){return qr(this,void 0,void 0,x().mark((function a(){return x().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.abrupt("return",Mu.importKey(e,t,r,n,i));case 1:case"end":return a.stop()}}),a)})))}},{key:"onSign",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){var i,a,f,o,s;return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return Mu.checkLib(),i=new mh,n.next=4,i.subtle.digest(e.hash,r);case 4:return a=n.sent,f=_u(a),n.next=8,t.data.sign(f);case 8:return o=n.sent,(s=new xi.EcDsaSignature).r=new Uint8Array(o.r.toArray()).buffer,s.s=new Uint8Array(o.s.toArray()).buffer,n.abrupt("return",s.toWebCryptoSignature());case 13:case"end":return n.stop()}}),n)})))}},{key:"onVerify",value:function(e,t,r,n){return qr(this,void 0,void 0,x().mark((function i(){var a,f,o,s;return x().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return Mu.checkLib(),a=new mh,f={r:new Uint8Array(r.slice(0,r.byteLength/2)),s:new Uint8Array(r.slice(r.byteLength/2))},i.next=5,a.subtle.digest(e.hash,n);case 5:return o=i.sent,s=_u(o),i.abrupt("return",t.data.verify(s,f));case 8:case"end":return i.stop()}}),i)})))}},{key:"checkCryptoKey",value:function(e,r){P(t,"checkCryptoKey",this,3)([e,r]),Mu.checkCryptoKey(e)}}])}(Un),Uu=N(N(N(N(N(N(N(N({},xi.idEd448,"Ed448"),"ed448",xi.idEd448),xi.idX448,"X448"),"x448",xi.idX448),xi.idEd25519,"Ed25519"),"ed25519",xi.idEd25519),xi.idX25519,"X25519"),"x25519",xi.idX25519);function Iu(e){var t=Uu[e.toLowerCase()];if(!t)throw new vn("Cannot convert WebCrypto named curve '".concat(e,"' to OID"));return t}var Ku=function(e){function t(e,r,n,i){var a;return V(this,t),(a=U(this,t,[e,r,"private",n])).data=i,a}return D(t,e),q(t,[{key:"toJSON",value:function(){var e={kty:"OKP",crv:this.algorithm.namedCurve,key_ops:this.usages,ext:this.extractable};return Object.assign(e,{d:j.ToBase64Url(j.FromHex(/^ed/i.test(e.crv)?this.data.getSecret("hex"):this.data.getPrivate("hex")))})}},{key:"fromJSON",value:function(e){if(!e.d)throw new vn("Cannot get private data from JWK. Property 'd' is required");if(!e.crv)throw new vn("Cannot get named curve from JWK. Property 'crv' is required");var t=j.ToHex(j.FromBase64Url(e.d));if(/^ed/i.test(e.crv)){var r=new ku.eddsa("ed25519");this.data=r.keyFromSecret(t)}else{var n=ku.ec(e.crv.replace(/^x/i,"curve"));this.data=n.keyFromPrivate(t,"hex")}return this}}])}(Pi),Pu=function(e){function t(e,r,n,i){var a;return V(this,t),(a=U(this,t,[e,r,"public",n])).data=i,a}return D(t,e),q(t,[{key:"toJSON",value:function(){var e={kty:"OKP",crv:this.algorithm.namedCurve,key_ops:this.usages,ext:this.extractable};return Object.assign(e,{x:j.ToBase64Url(j.FromHex(this.data.getPublic("hex")))})}},{key:"fromJSON",value:function(e){if(!e.crv)throw new vn("Cannot get named curve from JWK. Property 'crv' is required");if(!e.x)throw new vn("Cannot get property from JWK. Property 'x' is required");var t=j.ToHex(j.FromBase64Url(e.x));if(/^ed/i.test(e.crv)){var r=new ku.eddsa(e.crv.toLowerCase());this.data=r.keyFromPublic(t,"hex")}else{var n=ku.ec(e.crv.replace(/^x/i,"curve"));this.data=n.keyFromPublic(t,"hex")}return this}}])}(Pi),Ou=function(){function t(){V(this,t)}return q(t,null,[{key:"checkLib",value:function(){if(void 0===Au)throw new vn("Cannot implement EC mechanism. Add 'https://peculiarventures.github.io/pv-webcrypto-tests/src/elliptic.js' script to your project")}},{key:"concat",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=new Uint8Array(t.map((function(e){return e.length})).reduce((function(e,t){return e+t}))),i=0;return t.forEach((function(e){for(var t=0;t<e.length;t++)n[i+t]=e[t];i+=e.length})),n}},{key:"generateKey",value:function(t,r,n){return qr(this,void 0,void 0,x().mark((function i(){var a,f,o,s,u,c=this;return x().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return this.checkLib(),f=e.nativeCrypto.getRandomValues(new Uint8Array(32)),o=new ku.eddsa("ed25519"),a=o.keyFromSecret(f),s=new Ku(t,r,n.filter((function(e){return-1!==c.privateKeyUsages.indexOf(e)})),a),u=new Pu(t,!0,n.filter((function(e){return-1!==c.publicKeyUsages.indexOf(e)})),a),i.abrupt("return",{privateKey:s,publicKey:u});case 8:case"end":return i.stop()}}),i,this)})))}},{key:"sign",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function e(){var n,i;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.checkLib(),n=_u(r),i=t.data.sign(n).toHex(),e.abrupt("return",j.FromHex(i));case 4:case"end":return e.stop()}}),e,this)})))}},{key:"verify",value:function(e,t,r,n){return qr(this,void 0,void 0,x().mark((function e(){var i,a;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.checkLib(),i=_u(n),a=t.data.verify(i,j.ToHex(r)),e.abrupt("return",a);case 4:case"end":return e.stop()}}),e,this)})))}},{key:"deriveBits",value:function(e,r,n){return qr(this,void 0,void 0,x().mark((function i(){var a,f,o,s,u,c,h,d,l;return x().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return this.checkLib(),a=new Uint8Array(j.FromHex(r.data.getSecret("hex"))),f=new ku.ec("curve25519"),o=f.keyFromPrivate(j.ToHex(a),"hex"),s=e.public.data.getPublic("hex"),new Uint8Array(j.FromHex(s)),u=e.public.data.getPublic(),c=o.derive(u),h=new Uint8Array(c.toArray()),d=(d=h.length)>32?d>48?66:48:32,h.length<d&&(h=t.concat(new Uint8Array(d-h.length),h)),l=h.slice(0,n/8).buffer,i.abrupt("return",l);case 14:case"end":return i.stop()}}),i,this)})))}},{key:"exportKey",value:function(e,t){return qr(this,void 0,void 0,x().mark((function r(){var n,i,a,f;return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:this.checkLib(),r.t0=e.toLowerCase(),r.next="jwk"===r.t0?4:"pkcs8"===r.t0?5:"spki"===r.t0?10:"raw"===r.t0?15:16;break;case 4:return r.abrupt("return",un.toJSON(t));case 5:return n=j.FromHex(t.data.getSecret("hex")),(i=new xi.PrivateKeyInfo).privateKeyAlgorithm.algorithm=Iu(t.algorithm.namedCurve),i.privateKey=Vr.serialize(new sr(n)),r.abrupt("return",Vr.serialize(i));case 10:return a=j.FromHex(t.data.getPublic("hex")),(f=new xi.PublicKeyInfo).publicKeyAlgorithm.algorithm=Iu(t.algorithm.namedCurve),f.publicKey=a,r.abrupt("return",Vr.serialize(f));case 15:return r.abrupt("return",j.FromHex(t.data.getPublic("hex")));case 16:throw new vn("format: Must be 'jwk', 'raw', pkcs8' or 'spki'");case 17:case"end":return r.stop()}}),r,this)})))}},{key:"importKey",value:function(e,t,r,n,i){return qr(this,void 0,void 0,x().mark((function a(){var f,o,s,u,c;return x().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:this.checkLib(),a.t0=e.toLowerCase(),a.next="jwk"===a.t0?4:"raw"===a.t0?13:"spki"===a.t0?14:"pkcs8"===a.t0?16:19;break;case 4:if(!(f=t).d){a.next=10;break}return o=cn.fromJSON(t,{targetSchema:xi.CurvePrivateKey}),a.abrupt("return",this.importPrivateKey(o,r,n,i));case 10:if(f.x){a.next=12;break}throw new TypeError("keyData: Cannot get required 'x' field");case 12:return a.abrupt("return",this.importPublicKey(j.FromBase64Url(f.x),r,n,i));case 13:return a.abrupt("return",this.importPublicKey(t,r,n,i));case 14:return s=Vr.parse(new Uint8Array(t),xi.PublicKeyInfo),a.abrupt("return",this.importPublicKey(s.publicKey,r,n,i));case 16:return u=Vr.parse(new Uint8Array(t),xi.PrivateKeyInfo),c=Vr.parse(u.privateKey,xi.CurvePrivateKey),a.abrupt("return",this.importPrivateKey(c,r,n,i));case 19:throw new vn("format: Must be 'jwk', 'raw', 'pkcs8' or 'spki'");case 20:case"end":return a.stop()}}),a,this)})))}},{key:"importPrivateKey",value:function(e,t,r,n){var i=new Ku(Object.assign({},t),r,n,null);return i.fromJSON({crv:t.namedCurve,d:j.ToBase64Url(e.d)}),i}},{key:"importPublicKey",value:function(e,t,r,n){return qr(this,void 0,void 0,x().mark((function i(){var a;return x().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return(a=new Pu(Object.assign({},t),r,n,null)).fromJSON({crv:t.namedCurve,x:j.ToBase64Url(e)}),i.abrupt("return",a);case 3:case"end":return i.stop()}}),i)})))}}])}();Ou.publicKeyUsages=["verify"],Ou.privateKeyUsages=["sign","deriveKey","deriveBits"];var Lu=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).namedCurves=["Ed25519"],e}return D(t,e),q(t,[{key:"onGenerateKey",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){var i;return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,Ou.generateKey({name:this.name,namedCurve:e.namedCurve.replace(/^ed/i,"Ed")},t,r);case 2:return i=n.sent,n.abrupt("return",i);case 4:case"end":return n.stop()}}),n,this)})))}},{key:"onSign",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",Ou.sign(e,t,new Uint8Array(r)));case 1:case"end":return n.stop()}}),n)})))}},{key:"onVerify",value:function(e,t,r,n){return qr(this,void 0,void 0,x().mark((function i(){return x().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return i.abrupt("return",Ou.verify(e,t,new Uint8Array(r),new Uint8Array(n)));case 1:case"end":return i.stop()}}),i)})))}},{key:"onExportKey",value:function(e,t){return qr(this,void 0,void 0,x().mark((function r(){return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",Ou.exportKey(e,t));case 1:case"end":return r.stop()}}),r)})))}},{key:"onImportKey",value:function(e,t,r,n,i){return qr(this,void 0,void 0,x().mark((function a(){var f;return x().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.next=2,Ou.importKey(e,t,Object.assign(Object.assign({},r),{name:this.name}),n,i);case 2:return f=a.sent,a.abrupt("return",f);case 4:case"end":return a.stop()}}),a,this)})))}}])}(Ln),Du=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).namedCurves=["X25519"],e}return D(t,e),q(t,[{key:"onGenerateKey",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){var i;return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,Ou.generateKey({name:this.name,namedCurve:e.namedCurve.replace(/^x/i,"X")},t,r);case 2:return i=n.sent,n.abrupt("return",i);case 4:case"end":return n.stop()}}),n,this)})))}},{key:"onDeriveBits",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){var i;return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,Ou.deriveBits(Object.assign(Object.assign({},e),{public:e.public}),t,r);case 2:return i=n.sent,n.abrupt("return",i);case 4:case"end":return n.stop()}}),n)})))}},{key:"onExportKey",value:function(e,t){return qr(this,void 0,void 0,x().mark((function r(){return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",Ou.exportKey(e,t));case 1:case"end":return r.stop()}}),r)})))}},{key:"onImportKey",value:function(e,t,r,n,i){return qr(this,void 0,void 0,x().mark((function a(){var f;return x().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.next=2,Ou.importKey(e,t,Object.assign(Object.assign({},r),{name:this.name}),n,i);case 2:return f=a.sent,a.abrupt("return",f);case 4:case"end":return a.stop()}}),a,this)})))}}])}(On),Ru=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).name="SHA-1",e.usages=[],e}return D(t,e),q(t,[{key:"onDigest",value:function(e,t){return qr(this,void 0,void 0,x().mark((function r(){return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",Ua.digest(e,t));case 1:case"end":return r.stop()}}),r)})))}}])}(gn),Hu=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).name="SHA-256",e}return D(t,e),q(t)}(Ru),Tu=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).name="SHA-512",e}return D(t,e),q(t)}(Ru),Fu={},zu={},Vu={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.mul=Math.imul||function(e,t){var r=65535&e,n=65535&t;return r*n+((e>>>16&65535)*n+r*(t>>>16&65535)<<16>>>0)|0},e.add=function(e,t){return e+t|0},e.sub=function(e,t){return e-t|0},e.rotl=function(e,t){return e<<t|e>>>32-t},e.rotr=function(e,t){return e<<32-t|e>>>t},e.isInteger=Number.isInteger||function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e},e.MAX_SAFE_INTEGER=9007199254740991,e.isSafeInteger=function(t){return e.isInteger(t)&&t>=-e.MAX_SAFE_INTEGER&&t<=e.MAX_SAFE_INTEGER}}(Vu),Object.defineProperty(zu,"__esModule",{value:!0});var ju=Vu;function qu(e,t,r){return void 0===t&&(t=new Uint8Array(2)),void 0===r&&(r=0),t[r+0]=e>>>8,t[r+1]=e>>>0,t}function Ju(e,t,r){return void 0===t&&(t=new Uint8Array(2)),void 0===r&&(r=0),t[r+0]=e>>>0,t[r+1]=e>>>8,t}function Gu(e,t){return void 0===t&&(t=0),e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]}function Zu(e,t){return void 0===t&&(t=0),(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}function Wu(e,t){return void 0===t&&(t=0),e[t+3]<<24|e[t+2]<<16|e[t+1]<<8|e[t]}function Xu(e,t){return void 0===t&&(t=0),(e[t+3]<<24|e[t+2]<<16|e[t+1]<<8|e[t])>>>0}function Yu(e,t,r){return void 0===t&&(t=new Uint8Array(4)),void 0===r&&(r=0),t[r+0]=e>>>24,t[r+1]=e>>>16,t[r+2]=e>>>8,t[r+3]=e>>>0,t}function $u(e,t,r){return void 0===t&&(t=new Uint8Array(4)),void 0===r&&(r=0),t[r+0]=e>>>0,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24,t}function Qu(e,t,r){return void 0===t&&(t=new Uint8Array(8)),void 0===r&&(r=0),Yu(e/4294967296>>>0,t,r),Yu(e>>>0,t,r+4),t}function ec(e,t,r){return void 0===t&&(t=new Uint8Array(8)),void 0===r&&(r=0),$u(e>>>0,t,r),$u(e/4294967296>>>0,t,r+4),t}zu.readInt16BE=function(e,t){return void 0===t&&(t=0),(e[t+0]<<8|e[t+1])<<16>>16},zu.readUint16BE=function(e,t){return void 0===t&&(t=0),(e[t+0]<<8|e[t+1])>>>0},zu.readInt16LE=function(e,t){return void 0===t&&(t=0),(e[t+1]<<8|e[t])<<16>>16},zu.readUint16LE=function(e,t){return void 0===t&&(t=0),(e[t+1]<<8|e[t])>>>0},zu.writeUint16BE=qu,zu.writeInt16BE=qu,zu.writeUint16LE=Ju,zu.writeInt16LE=Ju,zu.readInt32BE=Gu,zu.readUint32BE=Zu,zu.readInt32LE=Wu,zu.readUint32LE=Xu,zu.writeUint32BE=Yu,zu.writeInt32BE=Yu,zu.writeUint32LE=$u,zu.writeInt32LE=$u,zu.readInt64BE=function(e,t){void 0===t&&(t=0);var r=Gu(e,t),n=Gu(e,t+4);return 4294967296*r+n-4294967296*(n>>31)},zu.readUint64BE=function(e,t){return void 0===t&&(t=0),4294967296*Zu(e,t)+Zu(e,t+4)},zu.readInt64LE=function(e,t){void 0===t&&(t=0);var r=Wu(e,t);return 4294967296*Wu(e,t+4)+r-4294967296*(r>>31)},zu.readUint64LE=function(e,t){void 0===t&&(t=0);var r=Xu(e,t);return 4294967296*Xu(e,t+4)+r},zu.writeUint64BE=Qu,zu.writeInt64BE=Qu,zu.writeUint64LE=ec,zu.writeInt64LE=ec,zu.readUintBE=function(e,t,r){if(void 0===r&&(r=0),e%8!=0)throw new Error("readUintBE supports only bitLengths divisible by 8");if(e/8>t.length-r)throw new Error("readUintBE: array is too short for the given bitLength");for(var n=0,i=1,a=e/8+r-1;a>=r;a--)n+=t[a]*i,i*=256;return n},zu.readUintLE=function(e,t,r){if(void 0===r&&(r=0),e%8!=0)throw new Error("readUintLE supports only bitLengths divisible by 8");if(e/8>t.length-r)throw new Error("readUintLE: array is too short for the given bitLength");for(var n=0,i=1,a=r;a<r+e/8;a++)n+=t[a]*i,i*=256;return n},zu.writeUintBE=function(e,t,r,n){if(void 0===r&&(r=new Uint8Array(e/8)),void 0===n&&(n=0),e%8!=0)throw new Error("writeUintBE supports only bitLengths divisible by 8");if(!ju.isSafeInteger(t))throw new Error("writeUintBE value must be an integer");for(var i=1,a=e/8+n-1;a>=n;a--)r[a]=t/i&255,i*=256;return r},zu.writeUintLE=function(e,t,r,n){if(void 0===r&&(r=new Uint8Array(e/8)),void 0===n&&(n=0),e%8!=0)throw new Error("writeUintLE supports only bitLengths divisible by 8");if(!ju.isSafeInteger(t))throw new Error("writeUintLE value must be an integer");for(var i=1,a=n;a<n+e/8;a++)r[a]=t/i&255,i*=256;return r},zu.readFloat32BE=function(e,t){return void 0===t&&(t=0),new DataView(e.buffer,e.byteOffset,e.byteLength).getFloat32(t)},zu.readFloat32LE=function(e,t){return void 0===t&&(t=0),new DataView(e.buffer,e.byteOffset,e.byteLength).getFloat32(t,!0)},zu.readFloat64BE=function(e,t){return void 0===t&&(t=0),new DataView(e.buffer,e.byteOffset,e.byteLength).getFloat64(t)},zu.readFloat64LE=function(e,t){return void 0===t&&(t=0),new DataView(e.buffer,e.byteOffset,e.byteLength).getFloat64(t,!0)},zu.writeFloat32BE=function(e,t,r){return void 0===t&&(t=new Uint8Array(4)),void 0===r&&(r=0),new DataView(t.buffer,t.byteOffset,t.byteLength).setFloat32(r,e),t},zu.writeFloat32LE=function(e,t,r){return void 0===t&&(t=new Uint8Array(4)),void 0===r&&(r=0),new DataView(t.buffer,t.byteOffset,t.byteLength).setFloat32(r,e,!0),t},zu.writeFloat64BE=function(e,t,r){return void 0===t&&(t=new Uint8Array(8)),void 0===r&&(r=0),new DataView(t.buffer,t.byteOffset,t.byteLength).setFloat64(r,e),t},zu.writeFloat64LE=function(e,t,r){return void 0===t&&(t=new Uint8Array(8)),void 0===r&&(r=0),new DataView(t.buffer,t.byteOffset,t.byteLength).setFloat64(r,e,!0),t};var tc={};Object.defineProperty(tc,"__esModule",{value:!0}),tc.wipe=function(e){for(var t=0;t<e.length;t++)e[t]=0;return e};var rc,nc=La&&La.__extends||(rc=function(e,t){return rc=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},rc(e,t)},function(e,t){function r(){this.constructor=e}rc(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(Fu,"__esModule",{value:!0});var ic=zu,ac=tc,fc=function(){function e(e){if(void 0===e&&(e=32),this.capacity=e,this._sh=new Int32Array(25),this._sl=new Int32Array(25),this._state=new Uint8Array(200),this._pos=0,this._finished=!1,this.clean=this.reset,e<=0||e>128)throw new Error("SHA3: incorrect capacity");this.blockSize=200-e}return e.prototype.reset=function(){return ac.wipe(this._sh),ac.wipe(this._sl),ac.wipe(this._state),this._pos=0,this._finished=!1,this},e.prototype.update=function(e){if(this._finished)throw new Error("SHA3: can't update because hash was finished");for(var t=0;t<e.length;t++)this._state[this._pos++]^=e[t],this._pos>=this.blockSize&&(Ac(this._sh,this._sl,this._state),this._pos=0);return this},e.prototype._padAndPermute=function(e){this._state[this._pos]^=e,this._state[this.blockSize-1]^=128,Ac(this._sh,this._sl,this._state),this._finished=!0,this._pos=0},e.prototype._squeeze=function(e){if(!this._finished)throw new Error("SHA3: squeezing before padAndPermute");for(var t=0;t<e.length;t++)this._pos===this.blockSize&&(Ac(this._sh,this._sl,this._state),this._pos=0),e[t]=this._state[this._pos++]},e}();Fu.Keccak=fc;var oc=function(e){function t(t){void 0===t&&(t=32);var r=e.call(this,2*t)||this;return r.digestLength=t,r}return nc(t,e),t.prototype.finish=function(e){return this._finished?this._pos=0:this._padAndPermute(6),this._squeeze(e),this},t.prototype.digest=function(){var e=new Uint8Array(this.digestLength);return this.finish(e),e},t.prototype.saveState=function(){if(this._finished)throw new Error("SHA3: cannot save finished state");return new Uint8Array(this._state.subarray(0,this._pos))},t.prototype.restoreState=function(e){return this._state.set(e),this._pos=e.length,this._finished=!1,this},t.prototype.cleanSavedState=function(e){ac.wipe(e)},t}(fc);Fu.SHA3=oc;var sc=function(e){function t(){return e.call(this,28)||this}return nc(t,e),t}(oc);Fu.SHA3224=sc;var uc=function(e){function t(){return e.call(this,32)||this}return nc(t,e),t}(oc);Fu.SHA3256=uc;var cc=function(e){function t(){return e.call(this,48)||this}return nc(t,e),t}(oc);Fu.SHA3384=cc;var hc=function(e){function t(){return e.call(this,64)||this}return nc(t,e),t}(oc);function dc(e,t){var r=new oc(e);r.update(t);var n=r.digest();return r.clean(),n}Fu.SHA3512=hc,Fu.hash=dc,Fu.hash224=function(e){return dc(28,e)};var lc=Fu.hash256=function(e){return dc(32,e)},pc=Fu.hash384=function(e){return dc(48,e)},vc=Fu.hash512=function(e){return dc(64,e)},yc=function(e){function t(t){var r=e.call(this,t/8*2)||this;return r.bitSize=t,r}return nc(t,e),t.prototype.stream=function(e){this._finished||this._padAndPermute(31),this._squeeze(e)},t}(fc);Fu.SHAKE=yc;var bc=function(e){function t(){return e.call(this,128)||this}return nc(t,e),t}(yc),gc=Fu.SHAKE128=bc,mc=function(e){function t(){return e.call(this,256)||this}return nc(t,e),t}(yc),wc=Fu.SHAKE256=mc,xc=new Int32Array([0,0,2147483648,2147483648,0,0,2147483648,2147483648,0,0,0,0,0,2147483648,2147483648,2147483648,2147483648,2147483648,0,2147483648,2147483648,2147483648,0,2147483648]),kc=new Int32Array([1,32898,32906,2147516416,32907,2147483649,2147516545,32777,138,136,2147516425,2147483658,2147516555,139,32905,32771,32770,128,32778,2147483658,2147516545,32896,2147483649,2147516424]);function Ac(e,t,r){for(var n,i,a,f,o,s,u,c,h,d,l,p,v=0;v<25;v++)t[v]=ic.readUint32LE(r,8*v),e[v]=ic.readUint32LE(r,8*v+4);for(var y=0;y<24;y++)n=e[0]^e[5]^e[10]^e[15]^e[20],i=e[1]^e[6]^e[11]^e[16]^e[21],a=e[2]^e[7]^e[12]^e[17]^e[22],f=e[3]^e[8]^e[13]^e[18]^e[23],o=e[4]^e[9]^e[14]^e[19]^e[24],s=t[0]^t[5]^t[10]^t[15]^t[20],u=t[1]^t[6]^t[11]^t[16]^t[21],c=t[2]^t[7]^t[12]^t[17]^t[22],h=t[3]^t[8]^t[13]^t[18]^t[23],l=o^(i<<1|u>>>31),p=(d=t[4]^t[9]^t[14]^t[19]^t[24])^(u<<1|i>>>31),e[0]^=l,e[5]^=l,e[10]^=l,e[15]^=l,e[20]^=l,t[0]^=p,t[5]^=p,t[10]^=p,t[15]^=p,t[20]^=p,l=n^(a<<1|c>>>31),p=s^(c<<1|a>>>31),e[1]^=l,e[6]^=l,e[11]^=l,e[16]^=l,e[21]^=l,t[1]^=p,t[6]^=p,t[11]^=p,t[16]^=p,t[21]^=p,l=i^(f<<1|h>>>31),p=u^(h<<1|f>>>31),e[2]^=l,e[7]^=l,e[12]^=l,e[17]^=l,e[22]^=l,t[2]^=p,t[7]^=p,t[12]^=p,t[17]^=p,t[22]^=p,l=a^(o<<1|d>>>31),p=c^(d<<1|o>>>31),e[3]^=l,t[3]^=p,e[8]^=l,t[8]^=p,e[13]^=l,t[13]^=p,e[18]^=l,t[18]^=p,e[23]^=l,t[23]^=p,l=f^(n<<1|s>>>31),p=h^(s<<1|n>>>31),e[4]^=l,e[9]^=l,e[14]^=l,e[19]^=l,e[24]^=l,t[4]^=p,t[9]^=p,t[14]^=p,t[19]^=p,t[24]^=p,l=e[1],p=t[1],n=e[10],s=t[10],e[10]=l<<1|p>>>31,t[10]=p<<1|l>>>31,l=n,p=s,n=e[7],s=t[7],e[7]=l<<3|p>>>29,t[7]=p<<3|l>>>29,l=n,p=s,n=e[11],s=t[11],e[11]=l<<6|p>>>26,t[11]=p<<6|l>>>26,l=n,p=s,n=e[17],s=t[17],e[17]=l<<10|p>>>22,t[17]=p<<10|l>>>22,l=n,p=s,n=e[18],s=t[18],e[18]=l<<15|p>>>17,t[18]=p<<15|l>>>17,l=n,p=s,n=e[3],s=t[3],e[3]=l<<21|p>>>11,t[3]=p<<21|l>>>11,l=n,p=s,n=e[5],s=t[5],e[5]=l<<28|p>>>4,t[5]=p<<28|l>>>4,l=n,p=s,n=e[16],s=t[16],e[16]=p<<4|l>>>28,t[16]=l<<4|p>>>28,l=n,p=s,n=e[8],s=t[8],e[8]=p<<13|l>>>19,t[8]=l<<13|p>>>19,l=n,p=s,n=e[21],s=t[21],e[21]=p<<23|l>>>9,t[21]=l<<23|p>>>9,l=n,p=s,n=e[24],s=t[24],e[24]=l<<2|p>>>30,t[24]=p<<2|l>>>30,l=n,p=s,n=e[4],s=t[4],e[4]=l<<14|p>>>18,t[4]=p<<14|l>>>18,l=n,p=s,n=e[15],s=t[15],e[15]=l<<27|p>>>5,t[15]=p<<27|l>>>5,l=n,p=s,n=e[23],s=t[23],e[23]=p<<9|l>>>23,t[23]=l<<9|p>>>23,l=n,p=s,n=e[19],s=t[19],e[19]=p<<24|l>>>8,t[19]=l<<24|p>>>8,l=n,p=s,n=e[13],s=t[13],e[13]=l<<8|p>>>24,t[13]=p<<8|l>>>24,l=n,p=s,n=e[12],s=t[12],e[12]=l<<25|p>>>7,t[12]=p<<25|l>>>7,l=n,p=s,n=e[2],s=t[2],e[2]=p<<11|l>>>21,t[2]=l<<11|p>>>21,l=n,p=s,n=e[20],s=t[20],e[20]=p<<30|l>>>2,t[20]=l<<30|p>>>2,l=n,p=s,n=e[14],s=t[14],e[14]=l<<18|p>>>14,t[14]=p<<18|l>>>14,l=n,p=s,n=e[22],s=t[22],e[22]=p<<7|l>>>25,t[22]=l<<7|p>>>25,l=n,p=s,n=e[9],s=t[9],e[9]=p<<29|l>>>3,t[9]=l<<29|p>>>3,l=n,p=s,n=e[6],s=t[6],e[6]=l<<20|p>>>12,t[6]=p<<20|l>>>12,l=n,p=s,n=e[1],s=t[1],e[1]=p<<12|l>>>20,t[1]=l<<12|p>>>20,l=n,p=s,n=e[0],i=e[1],a=e[2],f=e[3],o=e[4],e[0]^=~i&a,e[1]^=~a&f,e[2]^=~f&o,e[3]^=~o&n,e[4]^=~n&i,s=t[0],u=t[1],c=t[2],h=t[3],d=t[4],t[0]^=~u&c,t[1]^=~c&h,t[2]^=~h&d,t[3]^=~d&s,t[4]^=~s&u,n=e[5],i=e[6],a=e[7],f=e[8],o=e[9],e[5]^=~i&a,e[6]^=~a&f,e[7]^=~f&o,e[8]^=~o&n,e[9]^=~n&i,s=t[5],u=t[6],c=t[7],h=t[8],d=t[9],t[5]^=~u&c,t[6]^=~c&h,t[7]^=~h&d,t[8]^=~d&s,t[9]^=~s&u,n=e[10],i=e[11],a=e[12],f=e[13],o=e[14],e[10]^=~i&a,e[11]^=~a&f,e[12]^=~f&o,e[13]^=~o&n,e[14]^=~n&i,s=t[10],u=t[11],c=t[12],h=t[13],d=t[14],t[10]^=~u&c,t[11]^=~c&h,t[12]^=~h&d,t[13]^=~d&s,t[14]^=~s&u,n=e[15],i=e[16],a=e[17],f=e[18],o=e[19],e[15]^=~i&a,e[16]^=~a&f,e[17]^=~f&o,e[18]^=~o&n,e[19]^=~n&i,s=t[15],u=t[16],c=t[17],h=t[18],d=t[19],t[15]^=~u&c,t[16]^=~c&h,t[17]^=~h&d,t[18]^=~d&s,t[19]^=~s&u,n=e[20],i=e[21],a=e[22],f=e[23],o=e[24],e[20]^=~i&a,e[21]^=~a&f,e[22]^=~f&o,e[23]^=~o&n,e[24]^=~n&i,s=t[20],u=t[21],c=t[22],h=t[23],d=t[24],t[20]^=~u&c,t[21]^=~c&h,t[22]^=~h&d,t[23]^=~d&s,t[24]^=~s&u,e[0]^=xc[y],t[0]^=kc[y];for(v=0;v<25;v++)ic.writeUint32LE(t[v],r,8*v),ic.writeUint32LE(e[v],r,8*v+4)}var Sc=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).name="SHA3-256",e.usages=[],e}return D(t,e),q(t,[{key:"onDigest",value:function(e,t){return qr(this,void 0,void 0,x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",lc(new Uint8Array(t)).buffer);case 1:case"end":return e.stop()}}),e)})))}}])}(gn),Ec=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).name="SHA3-384",e.usages=[],e}return D(t,e),q(t,[{key:"onDigest",value:function(e,t){return qr(this,void 0,void 0,x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",pc(new Uint8Array(t)).buffer);case 1:case"end":return e.stop()}}),e)})))}}])}(gn),Bc=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).name="SHA3-512",e.usages=[],e}return D(t,e),q(t,[{key:"onDigest",value:function(e,t){return qr(this,void 0,void 0,x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",vc(new Uint8Array(t)).buffer);case 1:case"end":return e.stop()}}),e)})))}}])}(gn),Mc=function(e){function t(){return V(this,t),U(this,t,arguments)}return D(t,e),q(t,[{key:"onDigest",value:function(e,t){return qr(this,void 0,void 0,x().mark((function r(){var n;return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return n=new Uint8Array(e.length),(new gc).update(new Uint8Array(t)).stream(n),r.abrupt("return",n.buffer);case 3:case"end":return r.stop()}}),r)})))}}])}(Mi),Cc=function(e){function t(){return V(this,t),U(this,t,arguments)}return D(t,e),q(t,[{key:"onDigest",value:function(e,t){return qr(this,void 0,void 0,x().mark((function r(){var n;return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return n=new Uint8Array(e.length),(new wc).update(new Uint8Array(t)).stream(n),r.abrupt("return",n.buffer);case 3:case"end":return r.stop()}}),r)})))}}])}(Ci),_c=function(e){function t(e,r,n,i){var a;return V(this,t),(a=U(this,t,[e,r,"secret",n])).raw=i,a}return D(t,e),q(t)}(Pi),Nc=function(e){function t(){return V(this,t),U(this,t,arguments)}return D(t,e),q(t,[{key:"onImportKey",value:function(e,t,r,n,i){return qr(this,void 0,void 0,x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new _c(r,n,i,C.toUint8Array(t)));case 1:case"end":return e.stop()}}),e)})))}},{key:"onDeriveBits",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){var i,a,f;return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:a=C.toUint8Array(e.salt),f=t.raw,n.t0=e.hash.name.toUpperCase(),n.next="SHA-1"===n.t0?5:"SHA-256"===n.t0?7:"SHA-512"===n.t0?9:11;break;case 5:return i=da(f,a,e.iterations,r>>3),n.abrupt("break",12);case 7:return i=la(f,a,e.iterations,r>>3),n.abrupt("break",12);case 9:return i=pa(f,a,e.iterations,r>>3),n.abrupt("break",12);case 11:throw new vn("algorithm.hash: '".concat(e.hash.name,"' hash algorithm is not supported"));case 12:return n.abrupt("return",C.toArrayBuffer(i));case 13:case"end":return n.stop()}}),n)})))}},{key:"checkCryptoKey",value:function(e,r){if(P(t,"checkCryptoKey",this,3)([e,r]),!(e instanceof _c))throw new TypeError("key: Is not PbkdfCryptoKey")}}])}(Ei),Uc={},Ic={readUInt32BE:function(e,t){return(e[0+t]<<24|e[1+t]<<16|e[2+t]<<8|e[3+t])>>>0},writeUInt32BE:function(e,t,r){e[0+r]=t>>>24,e[1+r]=t>>>16&255,e[2+r]=t>>>8&255,e[3+r]=255&t},ip:function(e,t,r,n){for(var i=0,a=0,f=6;f>=0;f-=2){for(var o=0;o<=24;o+=8)i<<=1,i|=t>>>o+f&1;for(o=0;o<=24;o+=8)i<<=1,i|=e>>>o+f&1}for(f=6;f>=0;f-=2){for(o=1;o<=25;o+=8)a<<=1,a|=t>>>o+f&1;for(o=1;o<=25;o+=8)a<<=1,a|=e>>>o+f&1}r[n+0]=i>>>0,r[n+1]=a>>>0},rip:function(e,t,r,n){for(var i=0,a=0,f=0;f<4;f++)for(var o=24;o>=0;o-=8)i<<=1,i|=t>>>o+f&1,i<<=1,i|=e>>>o+f&1;for(f=4;f<8;f++)for(o=24;o>=0;o-=8)a<<=1,a|=t>>>o+f&1,a<<=1,a|=e>>>o+f&1;r[n+0]=i>>>0,r[n+1]=a>>>0},pc1:function(e,t,r,n){for(var i=0,a=0,f=7;f>=5;f--){for(var o=0;o<=24;o+=8)i<<=1,i|=t>>o+f&1;for(o=0;o<=24;o+=8)i<<=1,i|=e>>o+f&1}for(o=0;o<=24;o+=8)i<<=1,i|=t>>o+f&1;for(f=1;f<=3;f++){for(o=0;o<=24;o+=8)a<<=1,a|=t>>o+f&1;for(o=0;o<=24;o+=8)a<<=1,a|=e>>o+f&1}for(o=0;o<=24;o+=8)a<<=1,a|=e>>o+f&1;r[n+0]=i>>>0,r[n+1]=a>>>0},r28shl:function(e,t){return e<<t&268435455|e>>>28-t}},Kc=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];Ic.pc2=function(e,t,r,n){for(var i=0,a=0,f=Kc.length>>>1,o=0;o<f;o++)i<<=1,i|=e>>>Kc[o]&1;for(o=f;o<Kc.length;o++)a<<=1,a|=t>>>Kc[o]&1;r[n+0]=i>>>0,r[n+1]=a>>>0},Ic.expand=function(e,t,r){var n=0,i=0;n=(1&e)<<5|e>>>27;for(var a=23;a>=15;a-=4)n<<=6,n|=e>>>a&63;for(a=11;a>=3;a-=4)i|=e>>>a&63,i<<=6;i|=(31&e)<<1|e>>>31,t[r+0]=n>>>0,t[r+1]=i>>>0};var Pc=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];Ic.substitute=function(e,t){for(var r=0,n=0;n<4;n++)r<<=4,r|=Pc[64*n+(e>>>18-6*n&63)];for(n=0;n<4;n++)r<<=4,r|=Pc[256+64*n+(t>>>18-6*n&63)];return r>>>0};var Oc=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];Ic.permute=function(e){for(var t=0,r=0;r<Oc.length;r++)t<<=1,t|=e>>>Oc[r]&1;return t>>>0},Ic.padSplit=function(e,t,r){for(var n=e.toString(2);n.length<t;)n="0"+n;for(var i=[],a=0;a<t;a+=r)i.push(n.slice(a,a+r));return i.join(" ")};var Lc=Fa;function Dc(e){this.options=e,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0,this.padding=!1!==e.padding}var Rc=Dc;Dc.prototype._init=function(){},Dc.prototype.update=function(e){return 0===e.length?[]:"decrypt"===this.type?this._updateDecrypt(e):this._updateEncrypt(e)},Dc.prototype._buffer=function(e,t){for(var r=Math.min(this.buffer.length-this.bufferOff,e.length-t),n=0;n<r;n++)this.buffer[this.bufferOff+n]=e[t+n];return this.bufferOff+=r,r},Dc.prototype._flushBuffer=function(e,t){return this._update(this.buffer,0,e,t),this.bufferOff=0,this.blockSize},Dc.prototype._updateEncrypt=function(e){var t=0,r=0,n=(this.bufferOff+e.length)/this.blockSize|0,i=new Array(n*this.blockSize);0!==this.bufferOff&&(t+=this._buffer(e,t),this.bufferOff===this.buffer.length&&(r+=this._flushBuffer(i,r)));for(var a=e.length-(e.length-t)%this.blockSize;t<a;t+=this.blockSize)this._update(e,t,i,r),r+=this.blockSize;for(;t<e.length;t++,this.bufferOff++)this.buffer[this.bufferOff]=e[t];return i},Dc.prototype._updateDecrypt=function(e){for(var t=0,r=0,n=Math.ceil((this.bufferOff+e.length)/this.blockSize)-1,i=new Array(n*this.blockSize);n>0;n--)t+=this._buffer(e,t),r+=this._flushBuffer(i,r);return t+=this._buffer(e,t),i},Dc.prototype.final=function(e){var t,r;return e&&(t=this.update(e)),r="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),t?t.concat(r):r},Dc.prototype._pad=function(e,t){if(0===t)return!1;for(;t<e.length;)e[t++]=0;return!0},Dc.prototype._finalEncrypt=function(){if(!this._pad(this.buffer,this.bufferOff))return[];var e=new Array(this.blockSize);return this._update(this.buffer,0,e,0),e},Dc.prototype._unpad=function(e){return e},Dc.prototype._finalDecrypt=function(){Lc.equal(this.bufferOff,this.blockSize,"Not enough data to decrypt");var e=new Array(this.blockSize);return this._flushBuffer(e,0),this._unpad(e)};var Hc=Fa,Tc=Ic,Fc=Rc;function zc(){this.tmp=new Array(2),this.keys=null}function Vc(e){Fc.call(this,e);var t=new zc;this._desState=t,this.deriveKeys(t,e.key)}uf(Vc,Fc);var jc=Vc;Vc.create=function(e){return new Vc(e)};var qc=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];Vc.prototype.deriveKeys=function(e,t){e.keys=new Array(32),Hc.equal(t.length,this.blockSize,"Invalid key length");var r=Tc.readUInt32BE(t,0),n=Tc.readUInt32BE(t,4);Tc.pc1(r,n,e.tmp,0),r=e.tmp[0],n=e.tmp[1];for(var i=0;i<e.keys.length;i+=2){var a=qc[i>>>1];r=Tc.r28shl(r,a),n=Tc.r28shl(n,a),Tc.pc2(r,n,e.keys,i)}},Vc.prototype._update=function(e,t,r,n){var i=this._desState,a=Tc.readUInt32BE(e,t),f=Tc.readUInt32BE(e,t+4);Tc.ip(a,f,i.tmp,0),a=i.tmp[0],f=i.tmp[1],"encrypt"===this.type?this._encrypt(i,a,f,i.tmp,0):this._decrypt(i,a,f,i.tmp,0),a=i.tmp[0],f=i.tmp[1],Tc.writeUInt32BE(r,a,n),Tc.writeUInt32BE(r,f,n+4)},Vc.prototype._pad=function(e,t){if(!1===this.padding)return!1;for(var r=e.length-t,n=t;n<e.length;n++)e[n]=r;return!0},Vc.prototype._unpad=function(e){if(!1===this.padding)return e;for(var t=e[e.length-1],r=e.length-t;r<e.length;r++)Hc.equal(e[r],t);return e.slice(0,e.length-t)},Vc.prototype._encrypt=function(e,t,r,n,i){for(var a=t,f=r,o=0;o<e.keys.length;o+=2){var s=e.keys[o],u=e.keys[o+1];Tc.expand(f,e.tmp,0),s^=e.tmp[0],u^=e.tmp[1];var c=Tc.substitute(s,u),h=f;f=(a^Tc.permute(c))>>>0,a=h}Tc.rip(f,a,n,i)},Vc.prototype._decrypt=function(e,t,r,n,i){for(var a=r,f=t,o=e.keys.length-2;o>=0;o-=2){var s=e.keys[o],u=e.keys[o+1];Tc.expand(a,e.tmp,0),s^=e.tmp[0],u^=e.tmp[1];var c=Tc.substitute(s,u),h=a;a=(f^Tc.permute(c))>>>0,f=h}Tc.rip(a,f,n,i)};var Jc={},Gc=Fa,Zc=uf,Wc={};function Xc(e){Gc.equal(e.length,8,"Invalid IV length"),this.iv=new Array(8);for(var t=0;t<this.iv.length;t++)this.iv[t]=e[t]}Jc.instantiate=function(e){function t(t){e.call(this,t),this._cbcInit()}Zc(t,e);for(var r=Object.keys(Wc),n=0;n<r.length;n++){var i=r[n];t.prototype[i]=Wc[i]}return t.create=function(e){return new t(e)},t},Wc._cbcInit=function(){var e=new Xc(this.options.iv);this._cbcState=e},Wc._update=function(e,t,r,n){var i=this._cbcState,a=this.constructor.super_.prototype,f=i.iv;if("encrypt"===this.type){for(var o=0;o<this.blockSize;o++)f[o]^=e[t+o];for(a._update.call(this,f,0,r,n),o=0;o<this.blockSize;o++)f[o]=r[n+o]}else{for(a._update.call(this,e,t,r,n),o=0;o<this.blockSize;o++)r[n+o]^=f[o];for(o=0;o<this.blockSize;o++)f[o]=e[t+o]}};var Yc=Fa,$c=Rc,Qc=jc;function eh(e,t){Yc.equal(t.length,24,"Invalid key length");var r=t.slice(0,8),n=t.slice(8,16),i=t.slice(16,24);this.ciphers="encrypt"===e?[Qc.create({type:"encrypt",key:r}),Qc.create({type:"decrypt",key:n}),Qc.create({type:"encrypt",key:i})]:[Qc.create({type:"decrypt",key:i}),Qc.create({type:"encrypt",key:n}),Qc.create({type:"decrypt",key:r})]}function th(e){$c.call(this,e);var t=new eh(this.type,this.options.key);this._edeState=t}uf(th,$c);var rh=th;th.create=function(e){return new th(e)},th.prototype._update=function(e,t,r,n){var i=this._edeState;i.ciphers[0]._update(e,t,r,n),i.ciphers[1]._update(r,n,r,n),i.ciphers[2]._update(r,n,r,n)},th.prototype._pad=Qc.prototype._pad,th.prototype._unpad=Qc.prototype._unpad;var nh=Uc.utils=Ic,ih=Uc.Cipher=Rc,ah=Uc.DES=jc,fh=Uc.CBC=Jc,oh=Uc.EDE=rh,sh=t({__proto__:null,CBC:fh,Cipher:ih,DES:ah,EDE:oh,default:Uc,utils:nh},[Uc]),uh=function(e){function t(e,r,n,i){var a;return V(this,t),(a=U(this,t,[e,r,"secret",n])).raw=i,a}return D(t,e),q(t,[{key:"toJSON",value:function(){return{kty:"oct",alg:this.getJwkAlgorithm(),k:j.ToBase64Url(this.raw),ext:this.extractable,key_ops:this.usages}}},{key:"getJwkAlgorithm",value:function(){switch(this.algorithm.name.toUpperCase()){case"DES-CBC":return"DES-CBC";case"DES-EDE3-CBC":return"3DES-CBC";default:throw new ln("Unsupported algorithm name")}}}])}(Pi),ch=function(){return q((function e(){V(this,e)}),null,[{key:"checkLib",value:function(){if(void 0===sh)throw new vn("Cannot implement DES mechanism. Add 'https://peculiarventures.github.io/pv-webcrypto-tests/src/des.js' script to your project")}},{key:"checkCryptoKey",value:function(e){if(!(e instanceof uh))throw new TypeError("key: Is not DesCryptoKey")}},{key:"generateKey",value:function(t,r,n){return qr(this,void 0,void 0,x().mark((function i(){var a;return x().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return this.checkLib(),a=e.nativeCrypto.getRandomValues(new Uint8Array(t.length/8)),i.abrupt("return",new uh(t,r,n,a));case 3:case"end":return i.stop()}}),i,this)})))}},{key:"exportKey",value:function(e,t){return qr(this,void 0,void 0,x().mark((function r(){return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:this.checkLib(),r.t0=e,r.next="jwk"===r.t0?4:"raw"===r.t0?5:6;break;case 4:return r.abrupt("return",t.toJSON());case 5:return r.abrupt("return",t.raw.buffer);case 6:throw new vn("format: Must be 'jwk' or 'raw'");case 7:case"end":return r.stop()}}),r,this)})))}},{key:"importKey",value:function(e,t,r,n,i){return qr(this,void 0,void 0,x().mark((function e(){var a,f;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.checkLib(),a=bn(t)?j.FromBase64Url(t.k):C.toArrayBuffer(t),!("DES-CBC"===r.name&&8!==a.byteLength||"DES-EDE3-CBC"===r.name&&24!==a.byteLength)){e.next=4;break}throw new vn("keyData: Is wrong key length");case 4:return f=new uh({name:r.name,length:a.byteLength<<3},n,i,new Uint8Array(a)),e.abrupt("return",f);case 6:case"end":return e.stop()}}),e,this)})))}},{key:"encrypt",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",this.cipher(e,t,r,!0));case 1:case"end":return n.stop()}}),n,this)})))}},{key:"decrypt",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",this.cipher(e,t,r,!1));case 1:case"end":return n.stop()}}),n,this)})))}},{key:"cipher",value:function(e,t,r,n){return qr(this,void 0,void 0,x().mark((function i(){var a,f,o,s;return x().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:this.checkLib(),a=n?"encrypt":"decrypt",o=C.toUint8Array(e.iv),i.t0=e.name.toUpperCase(),i.next="DES-CBC"===i.t0?6:"DES-EDE3-CBC"===i.t0?8:10;break;case 6:return f=fh.instantiate(ah).create({key:t.raw,type:a,iv:o}),i.abrupt("break",11);case 8:return f=fh.instantiate(oh).create({key:t.raw,type:a,iv:o}),i.abrupt("break",11);case 10:throw new vn("algorithm: Is not recognized");case 11:return s=f.update(new Uint8Array(r)).concat(f.final()),i.abrupt("return",new Uint8Array(s).buffer);case 13:case"end":return i.stop()}}),i,this)})))}}])}(),hh=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).keySizeBits=64,e.ivSize=8,e.name="DES-CBC",e}return D(t,e),q(t,[{key:"onGenerateKey",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",ch.generateKey(e,t,r));case 1:case"end":return n.stop()}}),n)})))}},{key:"onExportKey",value:function(e,t){return qr(this,void 0,void 0,x().mark((function r(){return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",ch.exportKey(e,t));case 1:case"end":return r.stop()}}),r)})))}},{key:"onImportKey",value:function(e,t,r,n,i){return qr(this,void 0,void 0,x().mark((function a(){return x().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.abrupt("return",ch.importKey(e,t,r,n,i));case 1:case"end":return a.stop()}}),a)})))}},{key:"onEncrypt",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",ch.encrypt(e,t,r));case 1:case"end":return n.stop()}}),n)})))}},{key:"onDecrypt",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",ch.decrypt(e,t,r));case 1:case"end":return n.stop()}}),n)})))}},{key:"checkCryptoKey",value:function(e,r){P(t,"checkCryptoKey",this,3)([e,r]),ch.checkCryptoKey(e)}}])}(En),dh=function(e){function t(){var e;return V(this,t),(e=U(this,t,arguments)).keySizeBits=192,e.ivSize=8,e.name="DES-EDE3-CBC",e}return D(t,e),q(t,[{key:"onGenerateKey",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",ch.generateKey(e,t,r));case 1:case"end":return n.stop()}}),n)})))}},{key:"onExportKey",value:function(e,t){return qr(this,void 0,void 0,x().mark((function r(){return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",ch.exportKey(e,t));case 1:case"end":return r.stop()}}),r)})))}},{key:"onImportKey",value:function(e,t,r,n,i){return qr(this,void 0,void 0,x().mark((function a(){return x().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.abrupt("return",ch.importKey(e,t,r,n,i));case 1:case"end":return a.stop()}}),a)})))}},{key:"onEncrypt",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",ch.encrypt(e,t,r));case 1:case"end":return n.stop()}}),n)})))}},{key:"onDecrypt",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",ch.decrypt(e,t,r));case 1:case"end":return n.stop()}}),n)})))}},{key:"checkCryptoKey",value:function(e,r){P(t,"checkCryptoKey",this,3)([e,r]),ch.checkCryptoKey(e)}}])}(En),lh={fromJSON:function(e){return Buffer.from(j.FromBase64Url(e))},toJSON:function(e){return j.ToBase64Url(e)}},ph=function(e){function t(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{name:"HMAC"},n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new Uint8Array(0);return V(this,t),(e=U(this,t,[r,n,"secret",i])).kty="oct",e.data=a,e}return D(t,e),q(t,[{key:"alg",get:function(){var e=this.algorithm.hash.name.toUpperCase();return"HS".concat(e.replace("SHA-",""))},set:function(e){}}])}(Pi);jr([hn({name:"ext",type:Jr.Boolean,optional:!0})],ph.prototype,"extractable",void 0),jr([hn({name:"key_ops",type:Jr.String,repeated:!0,optional:!0})],ph.prototype,"usages",void 0),jr([hn({name:"k",converter:lh})],ph.prototype,"data",void 0),jr([hn({type:Jr.String})],ph.prototype,"kty",void 0),jr([hn({type:Jr.String})],ph.prototype,"alg",null);var vh,yh=function(t){function r(){return V(this,r),U(this,r,arguments)}return D(r,t),q(r,[{key:"onGenerateKey",value:function(t,r,n){return qr(this,void 0,void 0,x().mark((function i(){var a,f,o;return x().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return a=t.length||this.getDefaultLength(t.hash.name),f=e.nativeCrypto.getRandomValues(new Uint8Array(a>>3)),o=new ph(t,r,n,f),i.abrupt("return",o);case 4:case"end":return i.stop()}}),i,this)})))}},{key:"onSign",value:function(e,t,r){return qr(this,void 0,void 0,x().mark((function e(){var n,i;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=t.algorithm.hash.name.toUpperCase(),e.next="SHA-1"===e.t0?3:"SHA-256"===e.t0?5:"SHA-512"===e.t0?7:9;break;case 3:return n=ua,e.abrupt("break",10);case 5:return n=ca,e.abrupt("break",10);case 7:return n=ha,e.abrupt("break",10);case 9:throw new vn("key.algorithm.hash: Is not recognized");case 10:return i=new n(t.data).process(C.toUint8Array(r)).finish().result,e.abrupt("return",C.toArrayBuffer(i));case 12:case"end":return e.stop()}}),e)})))}},{key:"onVerify",value:function(e,t,r,n){return qr(this,void 0,void 0,x().mark((function i(){var a;return x().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return i.next=2,this.onSign(e,t,n);case 2:return a=i.sent,i.abrupt("return",j.ToHex(a)===j.ToHex(r));case 4:case"end":return i.stop()}}),i,this)})))}},{key:"onImportKey",value:function(e,t,r,n,i){return qr(this,void 0,void 0,x().mark((function a(){var f;return x().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:a.t0=e.toLowerCase(),a.next="jwk"===a.t0?3:"raw"===a.t0?5:9;break;case 3:return f=cn.fromJSON(t,{targetSchema:ph}),a.abrupt("break",10);case 5:if(C.isBufferSource(t)){a.next=7;break}throw new TypeError("keyData: Is not ArrayBuffer or ArrayBufferView");case 7:return f=new ph(r,n,i,C.toUint8Array(t)),a.abrupt("break",10);case 9:throw new vn("format: Must be 'jwk' or 'raw'");case 10:return f.algorithm={hash:{name:r.hash.name},name:this.name,length:f.data.length<<3},f.extractable=n,f.usages=i,a.abrupt("return",f);case 14:case"end":return a.stop()}}),a,this)})))}},{key:"onExportKey",value:function(e,t){return qr(this,void 0,void 0,x().mark((function r(){var n;return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:r.t0=e.toLowerCase(),r.next="jwk"===r.t0?3:"raw"===r.t0?5:6;break;case 3:return n=un.toJSON(t),r.abrupt("return",n);case 5:return r.abrupt("return",new Uint8Array(t.data).buffer);case 6:throw new vn("format: Must be 'jwk' or 'raw'");case 7:case"end":return r.stop()}}),r)})))}},{key:"checkCryptoKey",value:function(e,t){if(P(r,"checkCryptoKey",this,3)([e,t]),!(e instanceof ph))throw new TypeError("key: Is not HMAC CryptoKey")}}])}(Si),bh=function(e){function t(e,r,n,i,a){var f;return V(this,t),f=U(this,t,[e,r,n,i]),vh.set(f,void 0),function(e,t,r){if("function"==typeof t||!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");t.set(e,r)}(f,vh,a),f}return D(t,e),q(t,[{key:"getNative",value:function(){return function(e,t){if("function"==typeof t||!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t.get(e)}(this,vh)}}])}(Pi);vh=new WeakMap;var gh=function(t){function r(){var e;return V(this,r),(e=U(this,r)).browserInfo=function(){var e={name:Ai.Unknown,version:"0"};if("undefined"==typeof self)return e;var t=self.navigator.userAgent,r=/edge\/([\d.]+)/i.exec(t);return r?(e.name=Ai.Edge,e.version=r[1]):/msie/i.test(t)?(e.name=Ai.IE,e.version=/msie ([\d.]+)/i.exec(t)[1]):/Trident/i.test(t)?(e.name=Ai.IE,e.version=/rv:([\d.]+)/i.exec(t)[1]):/chrome/i.test(t)?(e.name=Ai.Chrome,e.version=/chrome\/([\d.]+)/i.exec(t)[1]):/firefox/i.test(t)?(e.name=Ai.Firefox,e.version=/firefox\/([\d.]+)/i.exec(t)[1]):/mobile/i.test(t)?(e.name=Ai.Mobile,e.version=/mobile\/([\w]+)/i.exec(t)[1]):/safari/i.test(t)&&(e.name=Ai.Safari,e.version=/version\/([\d.]+)/i.exec(t)[1]),e}(),e.providers.set(new Sa),e.providers.set(new Ma),e.providers.set(new Ea),e.providers.set(new Ba),e.providers.set(new Ca),e.providers.set(new hh),e.providers.set(new dh),e.providers.set(new Pa),e.providers.set(new Ka),e.providers.set(new Ia),e.providers.set(new Oa),e.providers.set(new Nu),e.providers.set(new Cu),e.providers.set(new Ru),e.providers.set(new Hu),e.providers.set(new Tu),e.providers.set(new Nc),e.providers.set(new yh),e.providers.set(new Lu),e.providers.set(new Du),e.providers.set(new Sc),e.providers.set(new Ec),e.providers.set(new Bc),e.providers.set(new Mc),e.providers.set(new Cc),e}return D(r,t),q(r,[{key:"digest",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return qr(this,void 0,void 0,x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.wrapNative.apply(this,["digest"].concat(t)));case 1:case"end":return e.stop()}}),e,this)})))}},{key:"importKey",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return qr(this,void 0,void 0,x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.fixFirefoxEcImportPkcs8(t),e.abrupt("return",this.wrapNative.apply(this,["importKey"].concat(t)));case 2:case"end":return e.stop()}}),e,this)})))}},{key:"exportKey",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return qr(this,void 0,void 0,x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.fixFirefoxEcExportPkcs8(t);case 2:if(e.t0=e.sent,e.t0){e.next=7;break}return e.next=6,this.wrapNative.apply(this,["exportKey"].concat(t));case 6:e.t0=e.sent;case 7:return e.abrupt("return",e.t0);case 8:case"end":return e.stop()}}),e,this)})))}},{key:"generateKey",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return qr(this,void 0,void 0,x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.wrapNative.apply(this,["generateKey"].concat(t)));case 1:case"end":return e.stop()}}),e,this)})))}},{key:"sign",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return qr(this,void 0,void 0,x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.wrapNative.apply(this,["sign"].concat(t)));case 1:case"end":return e.stop()}}),e,this)})))}},{key:"verify",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return qr(this,void 0,void 0,x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.wrapNative.apply(this,["verify"].concat(t)));case 1:case"end":return e.stop()}}),e,this)})))}},{key:"encrypt",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return qr(this,void 0,void 0,x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.wrapNative.apply(this,["encrypt"].concat(t)));case 1:case"end":return e.stop()}}),e,this)})))}},{key:"decrypt",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return qr(this,void 0,void 0,x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.wrapNative.apply(this,["decrypt"].concat(t)));case 1:case"end":return e.stop()}}),e,this)})))}},{key:"wrapKey",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return qr(this,void 0,void 0,x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.wrapNative.apply(this,["wrapKey"].concat(t)));case 1:case"end":return e.stop()}}),e,this)})))}},{key:"unwrapKey",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return qr(this,void 0,void 0,x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.wrapNative.apply(this,["unwrapKey"].concat(t)));case 1:case"end":return e.stop()}}),e,this)})))}},{key:"deriveBits",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return qr(this,void 0,void 0,x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.wrapNative.apply(this,["deriveBits"].concat(t)));case 1:case"end":return e.stop()}}),e,this)})))}},{key:"deriveKey",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return qr(this,void 0,void 0,x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.wrapNative.apply(this,["deriveKey"].concat(t)));case 1:case"end":return e.stop()}}),e,this)})))}},{key:"wrapNative",value:function(t){for(var n=this,i=arguments.length,a=new Array(i>1?i-1:0),f=1;f<i;f++)a[f-1]=arguments[f];return qr(this,void 0,void 0,x().mark((function i(){var f,o,s,u,c,h,d,l,p,v,y,b,g,m,w,k;return x().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(~["generateKey","unwrapKey","deriveKey","importKey"].indexOf(t)&&this.fixAlgorithmName(a),i.prev=1,"digest"===t&&a.some((function(e){return e instanceof Pi}))){i.next=9;break}return f=this.fixNativeArguments(t,a),Ii.info("Call native '".concat(t,"' method"),f),i.next=7,e.nativeSubtle[t].apply(e.nativeSubtle,f);case 7:return o=i.sent,i.abrupt("return",this.fixNativeResult(t,a,o));case 9:i.next=14;break;case 11:i.prev=11,i.t0=i.catch(1),Ii.warn("Error on native '".concat(t,"' calling. ").concat(i.t0.message),i.t0);case 14:if("wrapKey"!==t){i.next=30;break}return i.prev=15,Ii.info("Trying to wrap key by using native functions",a),i.next=19,this.exportKey(a[0],a[1]);case 19:return s=i.sent,u="jwk"===a[0]?j.FromUtf8String(JSON.stringify(s)):s,i.next=23,this.encrypt(a[3],a[2],u);case 23:return c=i.sent,i.abrupt("return",c);case 27:i.prev=27,i.t1=i.catch(15),Ii.warn("Cannot wrap key by native functions. ".concat(i.t1.message),i.t1);case 30:if("unwrapKey"!==t){i.next=46;break}return i.prev=31,Ii.info("Trying to unwrap key by using native functions",a),i.next=35,this.decrypt(a[3],a[2],a[1]);case 35:return h=i.sent,d="jwk"===a[0]?JSON.parse(j.ToUtf8String(h)):h,i.next=39,this.importKey(a[0],d,a[4],a[5],a[6]);case 39:return l=i.sent,i.abrupt("return",l);case 43:i.prev=43,i.t2=i.catch(31),Ii.warn("Cannot unwrap key by native functions. ".concat(i.t2.message),i.t2);case 46:if("deriveKey"!==t){i.next=61;break}return i.prev=47,Ii.info("Trying to derive key by using native functions",a),i.next=51,this.deriveBits(a[0],a[1],a[2].length);case 51:return p=i.sent,i.next=54,this.importKey("raw",p,a[2],a[3],a[4]);case 54:return v=i.sent,i.abrupt("return",v);case 58:i.prev=58,i.t3=i.catch(47),Ii.warn("Cannot derive key by native functions. ".concat(i.t3.message),i.t3);case 61:if("deriveBits"!==t&&"deriveKey"!==t){i.next=72;break}y=0,b=a;case 63:if(!(y<b.length)){i.next=72;break}if("object"!==H(g=b[y])||!g.public||!r.isAnotherKey(g.public)){i.next=69;break}return i.next=68,this.castKey(g.public);case 68:g.public=i.sent;case 69:y++,i.next=63;break;case 72:m=0;case 73:if(!(m<a.length)){i.next=82;break}if(w=a[m],!r.isAnotherKey(w)){i.next=79;break}return i.next=78,this.castKey(w);case 78:a[m]=i.sent;case 79:m++,i.next=73;break;case 82:if("function"!=typeof(k=P(r,t,n,1))){i.next=85;break}return i.abrupt("return",k.apply(this,a));case 85:throw new Error("Incorrect type of 'method'. Must be 'function'.");case 86:case"end":return i.stop()}}),i,this,[[1,11],[15,27],[31,43],[47,58]])})))}},{key:"fixNativeArguments",value:function(e,t){var r,n,i,a,f,o,s,u,c=w(t);if("importKey"===e&&(this.browserInfo.name!==Ai.IE||"jwk"!==(null===(n=null===(r=c[0])||void 0===r?void 0:r.toLowerCase)||void 0===n?void 0:n.call(r))||C.isBufferSource(c[1])||(c[1]=j.FromUtf8String(JSON.stringify(c[1])))),this.browserInfo.name===Ai.IE&&t[1]instanceof bh)switch(e){case"sign":case"verify":case"encrypt":case"decrypt":c[0]=Object.assign(Object.assign({},this.prepareAlgorithm(c[0])),{hash:null===(f=null===(a=null===(i=c[1])||void 0===i?void 0:i.algorithm)||void 0===a?void 0:a.hash)||void 0===f?void 0:f.name});break;case"wrapKey":case"unwrapKey":c[4]=Object.assign(Object.assign({},this.prepareAlgorithm(c[4])),{hash:null===(u=null===(s=null===(o=c[3])||void 0===o?void 0:o.algorithm)||void 0===s?void 0:s.hash)||void 0===u?void 0:u.name})}for(var h=0;h<c.length;h++){var d=c[h];d instanceof bh&&(c[h]=d.getNative())}return c}},{key:"fixNativeResult",value:function(e,t,r){var n,i;if(this.browserInfo.name===Ai.IE){if("exportKey"===e&&"jwk"===(null===(i=null===(n=t[0])||void 0===n?void 0:n.toLowerCase)||void 0===i?void 0:i.call(n))&&r instanceof ArrayBuffer)return JSON.parse(j.ToUtf8String(r));if("privateKey"in r){var a=["sign","decrypt","unwrapKey","deriveKey","deriveBits"],f=["verify","encrypt","wrapKey"];return{privateKey:this.wrapNativeKey(r.privateKey,t[0],t[1],t[2].filter((function(e){return a.includes(e)}))),publicKey:this.wrapNativeKey(r.publicKey,t[0],t[1],t[2].filter((function(e){return f.includes(e)})))}}if("extractable"in r){var o,s;switch(e){case"importKey":o=t[2],s=t[4];break;case"unwrapKey":o=t[4],s=t[6];break;case"generateKey":o=t[0],s=t[2];break;default:throw new vn("Cannot wrap native key. Unsupported method in use")}return this.wrapNativeKey(r,o,r.extractable,s)}}return r}},{key:"wrapNativeKey",value:function(e,t,r,n){if(this.browserInfo.name===Ai.IE){var i=["RSASSA-PKCS1-v1_5","RSA-PSS","RSA-OAEP","AES-CBC","AES-CTR","AES-KW","HMAC"],a=i.map((function(e){return e.toLowerCase()})).indexOf(e.algorithm.name.toLowerCase());if(-1!==a){var f=this.prepareAlgorithm(t),o=Object.assign(Object.assign({},e.algorithm),{name:i[a]});return Ui.isHashedAlgorithm(f)&&(o.hash={name:f.hash.name.toUpperCase()}),Ii.info("Wrapping ".concat(i[a]," crypto key to WrappedNativeCryptoKey")),new bh(o,r,e.type,n,e)}}return e}},{key:"castKey",value:function(e){return qr(this,void 0,void 0,x().mark((function t(){var r,n;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(Ii.info("Cast native CryptoKey to linter key.",e),e.extractable){t.next=3;break}throw new Error("Cannot cast unextractable crypto key");case 3:return r=this.getProvider(e.algorithm.name),t.next=6,this.exportKey("jwk",e);case 6:return n=t.sent,t.abrupt("return",r.importKey("jwk",n,e.algorithm,!0,e.usages));case 8:case"end":return t.stop()}}),t,this)})))}},{key:"fixAlgorithmName",value:function(e){if(this.browserInfo.name===Ai.Edge)for(var t=0;t<e.length;t++){var r=e[0];if("string"==typeof r){var n,i=T(this.providers.algorithms);try{for(i.s();!(n=i.n()).done;){var a=n.value;if(a.toLowerCase()===r.toLowerCase()){e[t]=a;break}}}catch(e){i.e(e)}finally{i.f()}}else if("object"===H(r)&&"string"==typeof r.name){var f,o=T(this.providers.algorithms);try{for(o.s();!(f=o.n()).done;){var s=f.value;s.toLowerCase()===r.name.toLowerCase()&&(r.name=s),("string"==typeof r.hash&&s.toLowerCase()===r.hash.toLowerCase()||"object"===H(r.hash)&&"string"==typeof r.hash.name&&s.toLowerCase()===r.hash.name.toLowerCase())&&(r.hash={name:s})}}catch(e){o.e(e)}finally{o.f()}}}}},{key:"fixFirefoxEcImportPkcs8",value:function(e){var t=this.prepareAlgorithm(e[2]),r=t.name.toUpperCase();if(this.browserInfo.name===Ai.Firefox&&"pkcs8"===e[0]&&~["ECDSA","ECDH"].indexOf(r)&&~["P-256","P-384","P-521"].indexOf(t.namedCurve)){if(!C.isBufferSource(e[1]))throw new TypeError("data: Is not ArrayBuffer or ArrayBufferView");var n=C.toArrayBuffer(e[1]),i=Vr.parse(n,xi.PrivateKeyInfo),a=Vr.parse(i.privateKey,xi.EcPrivateKey),f=un.toJSON(a);f.ext=!0,f.key_ops=e[4],f.crv=t.namedCurve,f.kty="EC",e[0]="jwk",e[1]=f}}},{key:"fixFirefoxEcExportPkcs8",value:function(e){return qr(this,void 0,void 0,x().mark((function t(){var r,n,i;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(t.prev=0,this.browserInfo.name!==Ai.Firefox||"pkcs8"!==e[0]||!~["ECDSA","ECDH"].indexOf(e[1].algorithm.name)||!~["P-256","P-384","P-521"].indexOf(e[1].algorithm.namedCurve)){t.next=11;break}return t.next=4,this.exportKey("jwk",e[1]);case 4:return r=t.sent,n=cn.fromJSON(r,{targetSchema:xi.EcPrivateKey}),(i=new xi.PrivateKeyInfo).privateKeyAlgorithm.algorithm=Mu.ASN_ALGORITHM,i.privateKeyAlgorithm.parameters=Vr.serialize(new xi.ObjectIdentifier(Eu(e[1].algorithm.namedCurve))),i.privateKey=Vr.serialize(n),t.abrupt("return",Vr.serialize(i));case 11:t.next=17;break;case 13:return t.prev=13,t.t0=t.catch(0),Ii.error(t.t0),t.abrupt("return",null);case 17:case"end":return t.stop()}}),t,this,[[0,13]])})))}}],[{key:"isAnotherKey",value:function(e){return"object"===H(e)&&"string"==typeof e.type&&"boolean"==typeof e.extractable&&"object"===H(e.algorithm)&&!(e instanceof Pi)}}])}(Ui);gh.methods=["digest","importKey","exportKey","sign","verify","generateKey","encrypt","decrypt","deriveBits","deriveKey","wrapKey","unwrapKey"];var mh=function(t){function r(){var e;return V(this,r),(e=U(this,r,arguments)).subtle=new gh,e}return D(r,t),q(r,[{key:"nativeCrypto",get:function(){return e.nativeCrypto}},{key:"getRandomValues",value:function(t){return e.nativeCrypto.getRandomValues(t)}}])}(_i);function wh(e,t){var r=e[t];e[t]=function(){var n=arguments;return new Promise((function(i,a){var f=r.apply(e,n);f.oncomplete=function(e){i(e.target.result)},f.onerror=function(e){a("Error on running '".concat(t,"' function"))}}))}}"undefined"!=typeof self&&self.msCrypto&&(wh(e.nativeSubtle,"generateKey"),wh(e.nativeSubtle,"digest"),wh(e.nativeSubtle,"sign"),wh(e.nativeSubtle,"verify"),wh(e.nativeSubtle,"encrypt"),wh(e.nativeSubtle,"decrypt"),wh(e.nativeSubtle,"importKey"),wh(e.nativeSubtle,"exportKey"),wh(e.nativeSubtle,"wrapKey"),wh(e.nativeSubtle,"unwrapKey"),wh(e.nativeSubtle,"deriveKey"),wh(e.nativeSubtle,"deriveBits")),Math.imul||(Math.imul=function(e,t){var r=65535&e,n=65535&t;return r*n+((e>>>16&65535)*n+r*(t>>>16&65535)<<16>>>0)|0});var xh=self;e.nativeCrypto&&Object.freeze(e.nativeCrypto.getRandomValues);try{self.crypto&&self.crypto.subtle||(delete self.crypto,xh.crypto=new mh,Object.freeze(xh.crypto))}catch(e){Ii.error(e)}var kh=xh.crypto;e.Crypto=mh,e.CryptoKey=Pi,e.crypto=kh,e.setCrypto=function(t){e.nativeCrypto=t,e.nativeSubtle=t.subtle}}({})},54:()=>{},579:()=>{},140:()=>{}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}();var n={};(()=>{"use strict";var e=n;Object.defineProperty(e,"__esModule",{value:!0}),r(603)})(),module.exports=n})();
|
|
3
|
+
exports.__oidcSpaBundle = true;
|