@werckmeister/components 1.1.3 → 1.1.6-101
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/IMidiEvent.d.ts +18 -0
- package/README.md +9 -5
- package/index.d.ts +60 -0
- package/index.js +492 -0
- package/libfluidsynth-2.0.2.js +5925 -0
- package/package.json +10 -9
- package/sfcompose.js +21 -0
- package/sfcompose.wasm +0 -0
- package/werckmeister-auxiliaries.json +1 -1
- package/werckmeister-components.js +47 -40
- package/werckmeister.js +1 -1
- package/werckmeister.wasm +0 -0
package/index.js
ADDED
|
@@ -0,0 +1,492 @@
|
|
|
1
|
+
parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcelRequire,u="function"==typeof require&&require;function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequire&&parcelRequire;if(!n&&i)return i(t,!0);if(o)return o(t,!0);if(u&&"string"==typeof t)return u(t);var c=new Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[t][1][r]||r},p.cache={};var l=r[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,this)}return r[t].exports;function p(e){return f(p.resolve(e))}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=r,f.parent=o,f.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]};for(var c=0;c<t.length;c++)try{f(t[c])}catch(e){i||(i=e)}if(t.length){var l=f(t[t.length-1]);"object"==typeof exports&&"undefined"!=typeof module?module.exports=l:"function"==typeof define&&define.amd?define(function(){return l}):n&&(this[n]=l)}if(parcelRequire=f,i)throw i;return f}({"yh9p":[function(require,module,exports) {
|
|
2
|
+
"use strict";exports.byteLength=u,exports.toByteArray=i,exports.fromByteArray=d;for(var r=[],t=[],e="undefined"!=typeof Uint8Array?Uint8Array:Array,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,a=n.length;o<a;++o)r[o]=n[o],t[n.charCodeAt(o)]=o;function h(r){var t=r.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var e=r.indexOf("=");return-1===e&&(e=t),[e,e===t?0:4-e%4]}function u(r){var t=h(r),e=t[0],n=t[1];return 3*(e+n)/4-n}function c(r,t,e){return 3*(t+e)/4-e}function i(r){var n,o,a=h(r),u=a[0],i=a[1],f=new e(c(r,u,i)),A=0,d=i>0?u-4:u;for(o=0;o<d;o+=4)n=t[r.charCodeAt(o)]<<18|t[r.charCodeAt(o+1)]<<12|t[r.charCodeAt(o+2)]<<6|t[r.charCodeAt(o+3)],f[A++]=n>>16&255,f[A++]=n>>8&255,f[A++]=255&n;return 2===i&&(n=t[r.charCodeAt(o)]<<2|t[r.charCodeAt(o+1)]>>4,f[A++]=255&n),1===i&&(n=t[r.charCodeAt(o)]<<10|t[r.charCodeAt(o+1)]<<4|t[r.charCodeAt(o+2)]>>2,f[A++]=n>>8&255,f[A++]=255&n),f}function f(t){return r[t>>18&63]+r[t>>12&63]+r[t>>6&63]+r[63&t]}function A(r,t,e){for(var n,o=[],a=t;a<e;a+=3)n=(r[a]<<16&16711680)+(r[a+1]<<8&65280)+(255&r[a+2]),o.push(f(n));return o.join("")}function d(t){for(var e,n=t.length,o=n%3,a=[],h=0,u=n-o;h<u;h+=16383)a.push(A(t,h,h+16383>u?u:h+16383));return 1===o?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+"==")):2===o&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),a.join("")}t["-".charCodeAt(0)]=62,t["_".charCodeAt(0)]=63;
|
|
3
|
+
},{}],"JgNJ":[function(require,module,exports) {
|
|
4
|
+
exports.read=function(a,o,t,r,h){var M,p,w=8*h-r-1,f=(1<<w)-1,e=f>>1,i=-7,N=t?h-1:0,n=t?-1:1,s=a[o+N];for(N+=n,M=s&(1<<-i)-1,s>>=-i,i+=w;i>0;M=256*M+a[o+N],N+=n,i-=8);for(p=M&(1<<-i)-1,M>>=-i,i+=r;i>0;p=256*p+a[o+N],N+=n,i-=8);if(0===M)M=1-e;else{if(M===f)return p?NaN:1/0*(s?-1:1);p+=Math.pow(2,r),M-=e}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(a,o,t,r,h,M){var p,w,f,e=8*M-h-1,i=(1<<e)-1,N=i>>1,n=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=o<0||0===o&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(w=isNaN(o)?1:0,p=i):(p=Math.floor(Math.log(o)/Math.LN2),o*(f=Math.pow(2,-p))<1&&(p--,f*=2),(o+=p+N>=1?n/f:n*Math.pow(2,1-N))*f>=2&&(p++,f/=2),p+N>=i?(w=0,p=i):p+N>=1?(w=(o*f-1)*Math.pow(2,h),p+=N):(w=o*Math.pow(2,N-1)*Math.pow(2,h),p=0));h>=8;a[t+s]=255&w,s+=u,w/=256,h-=8);for(p=p<<h|w,e+=h;e>0;a[t+s]=255&p,s+=u,p/=256,e-=8);a[t+s-u]|=128*l};
|
|
5
|
+
},{}],"REa7":[function(require,module,exports) {
|
|
6
|
+
var r={}.toString;module.exports=Array.isArray||function(t){return"[object Array]"==r.call(t)};
|
|
7
|
+
},{}],"dskh":[function(require,module,exports) {
|
|
8
|
+
|
|
9
|
+
var global = arguments[3];
|
|
10
|
+
var t=arguments[3],r=require("base64-js"),e=require("ieee754"),n=require("isarray");function i(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&"function"==typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(r){return!1}}function o(){return f.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function u(t,r){if(o()<r)throw new RangeError("Invalid typed array length");return f.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(r)).__proto__=f.prototype:(null===t&&(t=new f(r)),t.length=r),t}function f(t,r,e){if(!(f.TYPED_ARRAY_SUPPORT||this instanceof f))return new f(t,r,e);if("number"==typeof t){if("string"==typeof r)throw new Error("If encoding is specified then the first argument must be a string");return c(this,t)}return s(this,t,r,e)}function s(t,r,e,n){if("number"==typeof r)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&r instanceof ArrayBuffer?g(t,r,e,n):"string"==typeof r?l(t,r,e):y(t,r)}function h(t){if("number"!=typeof t)throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative')}function a(t,r,e,n){return h(r),r<=0?u(t,r):void 0!==e?"string"==typeof n?u(t,r).fill(e,n):u(t,r).fill(e):u(t,r)}function c(t,r){if(h(r),t=u(t,r<0?0:0|w(r)),!f.TYPED_ARRAY_SUPPORT)for(var e=0;e<r;++e)t[e]=0;return t}function l(t,r,e){if("string"==typeof e&&""!==e||(e="utf8"),!f.isEncoding(e))throw new TypeError('"encoding" must be a valid string encoding');var n=0|v(r,e),i=(t=u(t,n)).write(r,e);return i!==n&&(t=t.slice(0,i)),t}function p(t,r){var e=r.length<0?0:0|w(r.length);t=u(t,e);for(var n=0;n<e;n+=1)t[n]=255&r[n];return t}function g(t,r,e,n){if(r.byteLength,e<0||r.byteLength<e)throw new RangeError("'offset' is out of bounds");if(r.byteLength<e+(n||0))throw new RangeError("'length' is out of bounds");return r=void 0===e&&void 0===n?new Uint8Array(r):void 0===n?new Uint8Array(r,e):new Uint8Array(r,e,n),f.TYPED_ARRAY_SUPPORT?(t=r).__proto__=f.prototype:t=p(t,r),t}function y(t,r){if(f.isBuffer(r)){var e=0|w(r.length);return 0===(t=u(t,e)).length?t:(r.copy(t,0,0,e),t)}if(r){if("undefined"!=typeof ArrayBuffer&&r.buffer instanceof ArrayBuffer||"length"in r)return"number"!=typeof r.length||W(r.length)?u(t,0):p(t,r);if("Buffer"===r.type&&n(r.data))return p(t,r.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function w(t){if(t>=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|t}function d(t){return+t!=t&&(t=0),f.alloc(+t)}function v(t,r){if(f.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var e=t.length;if(0===e)return 0;for(var n=!1;;)switch(r){case"ascii":case"latin1":case"binary":return e;case"utf8":case"utf-8":case void 0:return $(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*e;case"hex":return e>>>1;case"base64":return K(t).length;default:if(n)return $(t).length;r=(""+r).toLowerCase(),n=!0}}function E(t,r,e){var n=!1;if((void 0===r||r<0)&&(r=0),r>this.length)return"";if((void 0===e||e>this.length)&&(e=this.length),e<=0)return"";if((e>>>=0)<=(r>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return x(this,r,e);case"utf8":case"utf-8":return Y(this,r,e);case"ascii":return L(this,r,e);case"latin1":case"binary":return D(this,r,e);case"base64":return S(this,r,e);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,r,e);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function b(t,r,e){var n=t[r];t[r]=t[e],t[e]=n}function R(t,r,e,n,i){if(0===t.length)return-1;if("string"==typeof e?(n=e,e=0):e>2147483647?e=2147483647:e<-2147483648&&(e=-2147483648),e=+e,isNaN(e)&&(e=i?0:t.length-1),e<0&&(e=t.length+e),e>=t.length){if(i)return-1;e=t.length-1}else if(e<0){if(!i)return-1;e=0}if("string"==typeof r&&(r=f.from(r,n)),f.isBuffer(r))return 0===r.length?-1:_(t,r,e,n,i);if("number"==typeof r)return r&=255,f.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,r,e):Uint8Array.prototype.lastIndexOf.call(t,r,e):_(t,[r],e,n,i);throw new TypeError("val must be string, number or Buffer")}function _(t,r,e,n,i){var o,u=1,f=t.length,s=r.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||r.length<2)return-1;u=2,f/=2,s/=2,e/=2}function h(t,r){return 1===u?t[r]:t.readUInt16BE(r*u)}if(i){var a=-1;for(o=e;o<f;o++)if(h(t,o)===h(r,-1===a?0:o-a)){if(-1===a&&(a=o),o-a+1===s)return a*u}else-1!==a&&(o-=o-a),a=-1}else for(e+s>f&&(e=f-s),o=e;o>=0;o--){for(var c=!0,l=0;l<s;l++)if(h(t,o+l)!==h(r,l)){c=!1;break}if(c)return o}return-1}function A(t,r,e,n){e=Number(e)||0;var i=t.length-e;n?(n=Number(n))>i&&(n=i):n=i;var o=r.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var u=0;u<n;++u){var f=parseInt(r.substr(2*u,2),16);if(isNaN(f))return u;t[e+u]=f}return u}function m(t,r,e,n){return Q($(r,t.length-e),t,e,n)}function P(t,r,e,n){return Q(G(r),t,e,n)}function T(t,r,e,n){return P(t,r,e,n)}function B(t,r,e,n){return Q(K(r),t,e,n)}function U(t,r,e,n){return Q(H(r,t.length-e),t,e,n)}function S(t,e,n){return 0===e&&n===t.length?r.fromByteArray(t):r.fromByteArray(t.slice(e,n))}function Y(t,r,e){e=Math.min(t.length,e);for(var n=[],i=r;i<e;){var o,u,f,s,h=t[i],a=null,c=h>239?4:h>223?3:h>191?2:1;if(i+c<=e)switch(c){case 1:h<128&&(a=h);break;case 2:128==(192&(o=t[i+1]))&&(s=(31&h)<<6|63&o)>127&&(a=s);break;case 3:o=t[i+1],u=t[i+2],128==(192&o)&&128==(192&u)&&(s=(15&h)<<12|(63&o)<<6|63&u)>2047&&(s<55296||s>57343)&&(a=s);break;case 4:o=t[i+1],u=t[i+2],f=t[i+3],128==(192&o)&&128==(192&u)&&128==(192&f)&&(s=(15&h)<<18|(63&o)<<12|(63&u)<<6|63&f)>65535&&s<1114112&&(a=s)}null===a?(a=65533,c=1):a>65535&&(a-=65536,n.push(a>>>10&1023|55296),a=56320|1023&a),n.push(a),i+=c}return O(n)}exports.Buffer=f,exports.SlowBuffer=d,exports.INSPECT_MAX_BYTES=50,f.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:i(),exports.kMaxLength=o(),f.poolSize=8192,f._augment=function(t){return t.__proto__=f.prototype,t},f.from=function(t,r,e){return s(null,t,r,e)},f.TYPED_ARRAY_SUPPORT&&(f.prototype.__proto__=Uint8Array.prototype,f.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&f[Symbol.species]===f&&Object.defineProperty(f,Symbol.species,{value:null,configurable:!0})),f.alloc=function(t,r,e){return a(null,t,r,e)},f.allocUnsafe=function(t){return c(null,t)},f.allocUnsafeSlow=function(t){return c(null,t)},f.isBuffer=function(t){return!(null==t||!t._isBuffer)},f.compare=function(t,r){if(!f.isBuffer(t)||!f.isBuffer(r))throw new TypeError("Arguments must be Buffers");if(t===r)return 0;for(var e=t.length,n=r.length,i=0,o=Math.min(e,n);i<o;++i)if(t[i]!==r[i]){e=t[i],n=r[i];break}return e<n?-1:n<e?1:0},f.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},f.concat=function(t,r){if(!n(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return f.alloc(0);var e;if(void 0===r)for(r=0,e=0;e<t.length;++e)r+=t[e].length;var i=f.allocUnsafe(r),o=0;for(e=0;e<t.length;++e){var u=t[e];if(!f.isBuffer(u))throw new TypeError('"list" argument must be an Array of Buffers');u.copy(i,o),o+=u.length}return i},f.byteLength=v,f.prototype._isBuffer=!0,f.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var r=0;r<t;r+=2)b(this,r,r+1);return this},f.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var r=0;r<t;r+=4)b(this,r,r+3),b(this,r+1,r+2);return this},f.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var r=0;r<t;r+=8)b(this,r,r+7),b(this,r+1,r+6),b(this,r+2,r+5),b(this,r+3,r+4);return this},f.prototype.toString=function(){var t=0|this.length;return 0===t?"":0===arguments.length?Y(this,0,t):E.apply(this,arguments)},f.prototype.equals=function(t){if(!f.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===f.compare(this,t)},f.prototype.inspect=function(){var t="",r=exports.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),"<Buffer "+t+">"},f.prototype.compare=function(t,r,e,n,i){if(!f.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===r&&(r=0),void 0===e&&(e=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),r<0||e>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&r>=e)return 0;if(n>=i)return-1;if(r>=e)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(n>>>=0),u=(e>>>=0)-(r>>>=0),s=Math.min(o,u),h=this.slice(n,i),a=t.slice(r,e),c=0;c<s;++c)if(h[c]!==a[c]){o=h[c],u=a[c];break}return o<u?-1:u<o?1:0},f.prototype.includes=function(t,r,e){return-1!==this.indexOf(t,r,e)},f.prototype.indexOf=function(t,r,e){return R(this,t,r,e,!0)},f.prototype.lastIndexOf=function(t,r,e){return R(this,t,r,e,!1)},f.prototype.write=function(t,r,e,n){if(void 0===r)n="utf8",e=this.length,r=0;else if(void 0===e&&"string"==typeof r)n=r,e=this.length,r=0;else{if(!isFinite(r))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");r|=0,isFinite(e)?(e|=0,void 0===n&&(n="utf8")):(n=e,e=void 0)}var i=this.length-r;if((void 0===e||e>i)&&(e=i),t.length>0&&(e<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return A(this,t,r,e);case"utf8":case"utf-8":return m(this,t,r,e);case"ascii":return P(this,t,r,e);case"latin1":case"binary":return T(this,t,r,e);case"base64":return B(this,t,r,e);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return U(this,t,r,e);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},f.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var I=4096;function O(t){var r=t.length;if(r<=I)return String.fromCharCode.apply(String,t);for(var e="",n=0;n<r;)e+=String.fromCharCode.apply(String,t.slice(n,n+=I));return e}function L(t,r,e){var n="";e=Math.min(t.length,e);for(var i=r;i<e;++i)n+=String.fromCharCode(127&t[i]);return n}function D(t,r,e){var n="";e=Math.min(t.length,e);for(var i=r;i<e;++i)n+=String.fromCharCode(t[i]);return n}function x(t,r,e){var n=t.length;(!r||r<0)&&(r=0),(!e||e<0||e>n)&&(e=n);for(var i="",o=r;o<e;++o)i+=Z(t[o]);return i}function C(t,r,e){for(var n=t.slice(r,e),i="",o=0;o<n.length;o+=2)i+=String.fromCharCode(n[o]+256*n[o+1]);return i}function M(t,r,e){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+r>e)throw new RangeError("Trying to access beyond buffer length")}function k(t,r,e,n,i,o){if(!f.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(r>i||r<o)throw new RangeError('"value" argument is out of bounds');if(e+n>t.length)throw new RangeError("Index out of range")}function N(t,r,e,n){r<0&&(r=65535+r+1);for(var i=0,o=Math.min(t.length-e,2);i<o;++i)t[e+i]=(r&255<<8*(n?i:1-i))>>>8*(n?i:1-i)}function z(t,r,e,n){r<0&&(r=4294967295+r+1);for(var i=0,o=Math.min(t.length-e,4);i<o;++i)t[e+i]=r>>>8*(n?i:3-i)&255}function F(t,r,e,n,i,o){if(e+n>t.length)throw new RangeError("Index out of range");if(e<0)throw new RangeError("Index out of range")}function j(t,r,n,i,o){return o||F(t,r,n,4,3.4028234663852886e38,-3.4028234663852886e38),e.write(t,r,n,i,23,4),n+4}function q(t,r,n,i,o){return o||F(t,r,n,8,1.7976931348623157e308,-1.7976931348623157e308),e.write(t,r,n,i,52,8),n+8}f.prototype.slice=function(t,r){var e,n=this.length;if((t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(r=void 0===r?n:~~r)<0?(r+=n)<0&&(r=0):r>n&&(r=n),r<t&&(r=t),f.TYPED_ARRAY_SUPPORT)(e=this.subarray(t,r)).__proto__=f.prototype;else{var i=r-t;e=new f(i,void 0);for(var o=0;o<i;++o)e[o]=this[o+t]}return e},f.prototype.readUIntLE=function(t,r,e){t|=0,r|=0,e||M(t,r,this.length);for(var n=this[t],i=1,o=0;++o<r&&(i*=256);)n+=this[t+o]*i;return n},f.prototype.readUIntBE=function(t,r,e){t|=0,r|=0,e||M(t,r,this.length);for(var n=this[t+--r],i=1;r>0&&(i*=256);)n+=this[t+--r]*i;return n},f.prototype.readUInt8=function(t,r){return r||M(t,1,this.length),this[t]},f.prototype.readUInt16LE=function(t,r){return r||M(t,2,this.length),this[t]|this[t+1]<<8},f.prototype.readUInt16BE=function(t,r){return r||M(t,2,this.length),this[t]<<8|this[t+1]},f.prototype.readUInt32LE=function(t,r){return r||M(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},f.prototype.readUInt32BE=function(t,r){return r||M(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},f.prototype.readIntLE=function(t,r,e){t|=0,r|=0,e||M(t,r,this.length);for(var n=this[t],i=1,o=0;++o<r&&(i*=256);)n+=this[t+o]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*r)),n},f.prototype.readIntBE=function(t,r,e){t|=0,r|=0,e||M(t,r,this.length);for(var n=r,i=1,o=this[t+--n];n>0&&(i*=256);)o+=this[t+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*r)),o},f.prototype.readInt8=function(t,r){return r||M(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},f.prototype.readInt16LE=function(t,r){r||M(t,2,this.length);var e=this[t]|this[t+1]<<8;return 32768&e?4294901760|e:e},f.prototype.readInt16BE=function(t,r){r||M(t,2,this.length);var e=this[t+1]|this[t]<<8;return 32768&e?4294901760|e:e},f.prototype.readInt32LE=function(t,r){return r||M(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},f.prototype.readInt32BE=function(t,r){return r||M(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},f.prototype.readFloatLE=function(t,r){return r||M(t,4,this.length),e.read(this,t,!0,23,4)},f.prototype.readFloatBE=function(t,r){return r||M(t,4,this.length),e.read(this,t,!1,23,4)},f.prototype.readDoubleLE=function(t,r){return r||M(t,8,this.length),e.read(this,t,!0,52,8)},f.prototype.readDoubleBE=function(t,r){return r||M(t,8,this.length),e.read(this,t,!1,52,8)},f.prototype.writeUIntLE=function(t,r,e,n){(t=+t,r|=0,e|=0,n)||k(this,t,r,e,Math.pow(2,8*e)-1,0);var i=1,o=0;for(this[r]=255&t;++o<e&&(i*=256);)this[r+o]=t/i&255;return r+e},f.prototype.writeUIntBE=function(t,r,e,n){(t=+t,r|=0,e|=0,n)||k(this,t,r,e,Math.pow(2,8*e)-1,0);var i=e-1,o=1;for(this[r+i]=255&t;--i>=0&&(o*=256);)this[r+i]=t/o&255;return r+e},f.prototype.writeUInt8=function(t,r,e){return t=+t,r|=0,e||k(this,t,r,1,255,0),f.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[r]=255&t,r+1},f.prototype.writeUInt16LE=function(t,r,e){return t=+t,r|=0,e||k(this,t,r,2,65535,0),f.TYPED_ARRAY_SUPPORT?(this[r]=255&t,this[r+1]=t>>>8):N(this,t,r,!0),r+2},f.prototype.writeUInt16BE=function(t,r,e){return t=+t,r|=0,e||k(this,t,r,2,65535,0),f.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=255&t):N(this,t,r,!1),r+2},f.prototype.writeUInt32LE=function(t,r,e){return t=+t,r|=0,e||k(this,t,r,4,4294967295,0),f.TYPED_ARRAY_SUPPORT?(this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=255&t):z(this,t,r,!0),r+4},f.prototype.writeUInt32BE=function(t,r,e){return t=+t,r|=0,e||k(this,t,r,4,4294967295,0),f.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=255&t):z(this,t,r,!1),r+4},f.prototype.writeIntLE=function(t,r,e,n){if(t=+t,r|=0,!n){var i=Math.pow(2,8*e-1);k(this,t,r,e,i-1,-i)}var o=0,u=1,f=0;for(this[r]=255&t;++o<e&&(u*=256);)t<0&&0===f&&0!==this[r+o-1]&&(f=1),this[r+o]=(t/u>>0)-f&255;return r+e},f.prototype.writeIntBE=function(t,r,e,n){if(t=+t,r|=0,!n){var i=Math.pow(2,8*e-1);k(this,t,r,e,i-1,-i)}var o=e-1,u=1,f=0;for(this[r+o]=255&t;--o>=0&&(u*=256);)t<0&&0===f&&0!==this[r+o+1]&&(f=1),this[r+o]=(t/u>>0)-f&255;return r+e},f.prototype.writeInt8=function(t,r,e){return t=+t,r|=0,e||k(this,t,r,1,127,-128),f.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[r]=255&t,r+1},f.prototype.writeInt16LE=function(t,r,e){return t=+t,r|=0,e||k(this,t,r,2,32767,-32768),f.TYPED_ARRAY_SUPPORT?(this[r]=255&t,this[r+1]=t>>>8):N(this,t,r,!0),r+2},f.prototype.writeInt16BE=function(t,r,e){return t=+t,r|=0,e||k(this,t,r,2,32767,-32768),f.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=255&t):N(this,t,r,!1),r+2},f.prototype.writeInt32LE=function(t,r,e){return t=+t,r|=0,e||k(this,t,r,4,2147483647,-2147483648),f.TYPED_ARRAY_SUPPORT?(this[r]=255&t,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24):z(this,t,r,!0),r+4},f.prototype.writeInt32BE=function(t,r,e){return t=+t,r|=0,e||k(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),f.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=255&t):z(this,t,r,!1),r+4},f.prototype.writeFloatLE=function(t,r,e){return j(this,t,r,!0,e)},f.prototype.writeFloatBE=function(t,r,e){return j(this,t,r,!1,e)},f.prototype.writeDoubleLE=function(t,r,e){return q(this,t,r,!0,e)},f.prototype.writeDoubleBE=function(t,r,e){return q(this,t,r,!1,e)},f.prototype.copy=function(t,r,e,n){if(e||(e=0),n||0===n||(n=this.length),r>=t.length&&(r=t.length),r||(r=0),n>0&&n<e&&(n=e),n===e)return 0;if(0===t.length||0===this.length)return 0;if(r<0)throw new RangeError("targetStart out of bounds");if(e<0||e>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-r<n-e&&(n=t.length-r+e);var i,o=n-e;if(this===t&&e<r&&r<n)for(i=o-1;i>=0;--i)t[i+r]=this[i+e];else if(o<1e3||!f.TYPED_ARRAY_SUPPORT)for(i=0;i<o;++i)t[i+r]=this[i+e];else Uint8Array.prototype.set.call(t,this.subarray(e,e+o),r);return o},f.prototype.fill=function(t,r,e,n){if("string"==typeof t){if("string"==typeof r?(n=r,r=0,e=this.length):"string"==typeof e&&(n=e,e=this.length),1===t.length){var i=t.charCodeAt(0);i<256&&(t=i)}if(void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!f.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else"number"==typeof t&&(t&=255);if(r<0||this.length<r||this.length<e)throw new RangeError("Out of range index");if(e<=r)return this;var o;if(r>>>=0,e=void 0===e?this.length:e>>>0,t||(t=0),"number"==typeof t)for(o=r;o<e;++o)this[o]=t;else{var u=f.isBuffer(t)?t:$(new f(t,n).toString()),s=u.length;for(o=0;o<e-r;++o)this[o+r]=u[o%s]}return this};var V=/[^+\/0-9A-Za-z-_]/g;function X(t){if((t=J(t).replace(V,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}function J(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function Z(t){return t<16?"0"+t.toString(16):t.toString(16)}function $(t,r){var e;r=r||1/0;for(var n=t.length,i=null,o=[],u=0;u<n;++u){if((e=t.charCodeAt(u))>55295&&e<57344){if(!i){if(e>56319){(r-=3)>-1&&o.push(239,191,189);continue}if(u+1===n){(r-=3)>-1&&o.push(239,191,189);continue}i=e;continue}if(e<56320){(r-=3)>-1&&o.push(239,191,189),i=e;continue}e=65536+(i-55296<<10|e-56320)}else i&&(r-=3)>-1&&o.push(239,191,189);if(i=null,e<128){if((r-=1)<0)break;o.push(e)}else if(e<2048){if((r-=2)<0)break;o.push(e>>6|192,63&e|128)}else if(e<65536){if((r-=3)<0)break;o.push(e>>12|224,e>>6&63|128,63&e|128)}else{if(!(e<1114112))throw new Error("Invalid code point");if((r-=4)<0)break;o.push(e>>18|240,e>>12&63|128,e>>6&63|128,63&e|128)}}return o}function G(t){for(var r=[],e=0;e<t.length;++e)r.push(255&t.charCodeAt(e));return r}function H(t,r){for(var e,n,i,o=[],u=0;u<t.length&&!((r-=2)<0);++u)n=(e=t.charCodeAt(u))>>8,i=e%256,o.push(i),o.push(n);return o}function K(t){return r.toByteArray(X(t))}function Q(t,r,e,n){for(var i=0;i<n&&!(i+e>=r.length||i>=t.length);++i)r[i+e]=t[i];return i}function W(t){return t!=t}
|
|
11
|
+
},{"base64-js":"yh9p","ieee754":"JgNJ","isarray":"REa7","buffer":"dskh"}],"B1iE":[function(require,module,exports) {
|
|
12
|
+
var global = arguments[3];
|
|
13
|
+
var Buffer = require("buffer").Buffer;
|
|
14
|
+
var define;
|
|
15
|
+
var n,t=arguments[3],r=require("buffer").Buffer;(function(){var r,e=200,u="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",i="Expected a function",o="__lodash_hash_undefined__",f=500,a="__lodash_placeholder__",c=1,l=2,s=4,h=1,p=2,v=1,_=2,g=4,y=8,d=16,b=32,w=64,m=128,x=256,j=512,A=30,k="...",O=800,I=16,R=1,E=2,z=1/0,S=9007199254740991,L=1.7976931348623157e308,W=NaN,C=4294967295,B=C-1,U=C>>>1,T=[["ary",m],["bind",v],["bindKey",_],["curry",y],["curryRight",d],["flip",j],["partial",b],["partialRight",w],["rearg",x]],$="[object Arguments]",D="[object Array]",M="[object AsyncFunction]",F="[object Boolean]",N="[object Date]",P="[object DOMException]",q="[object Error]",Z="[object Function]",K="[object GeneratorFunction]",V="[object Map]",G="[object Number]",H="[object Null]",J="[object Object]",Y="[object Proxy]",Q="[object RegExp]",X="[object Set]",nn="[object String]",tn="[object Symbol]",rn="[object Undefined]",en="[object WeakMap]",un="[object WeakSet]",on="[object ArrayBuffer]",fn="[object DataView]",an="[object Float32Array]",cn="[object Float64Array]",ln="[object Int8Array]",sn="[object Int16Array]",hn="[object Int32Array]",pn="[object Uint8Array]",vn="[object Uint8ClampedArray]",_n="[object Uint16Array]",gn="[object Uint32Array]",yn=/\b__p \+= '';/g,dn=/\b(__p \+=) '' \+/g,bn=/(__e\(.*?\)|\b__t\)) \+\n'';/g,wn=/&(?:amp|lt|gt|quot|#39);/g,mn=/[&<>"']/g,xn=RegExp(wn.source),jn=RegExp(mn.source),An=/<%-([\s\S]+?)%>/g,kn=/<%([\s\S]+?)%>/g,On=/<%=([\s\S]+?)%>/g,In=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Rn=/^\w*$/,En=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,zn=/[\\^$.*+?()[\]{}|]/g,Sn=RegExp(zn.source),Ln=/^\s+|\s+$/g,Wn=/^\s+/,Cn=/\s+$/,Bn=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Un=/\{\n\/\* \[wrapped with (.+)\] \*/,Tn=/,? & /,$n=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Dn=/\\(\\)?/g,Mn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Fn=/\w*$/,Nn=/^[-+]0x[0-9a-f]+$/i,Pn=/^0b[01]+$/i,qn=/^\[object .+?Constructor\]$/,Zn=/^0o[0-7]+$/i,Kn=/^(?:0|[1-9]\d*)$/,Vn=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Gn=/($^)/,Hn=/['\n\r\u2028\u2029\\]/g,Jn="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Yn="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Qn="[\\ud800-\\udfff]",Xn="["+Yn+"]",nt="["+Jn+"]",tt="\\d+",rt="[\\u2700-\\u27bf]",et="[a-z\\xdf-\\xf6\\xf8-\\xff]",ut="[^\\ud800-\\udfff"+Yn+tt+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",it="\\ud83c[\\udffb-\\udfff]",ot="[^\\ud800-\\udfff]",ft="(?:\\ud83c[\\udde6-\\uddff]){2}",at="[\\ud800-\\udbff][\\udc00-\\udfff]",ct="[A-Z\\xc0-\\xd6\\xd8-\\xde]",lt="(?:"+et+"|"+ut+")",st="(?:"+ct+"|"+ut+")",ht="(?:"+nt+"|"+it+")"+"?",pt="[\\ufe0e\\ufe0f]?"+ht+("(?:\\u200d(?:"+[ot,ft,at].join("|")+")[\\ufe0e\\ufe0f]?"+ht+")*"),vt="(?:"+[rt,ft,at].join("|")+")"+pt,_t="(?:"+[ot+nt+"?",nt,ft,at,Qn].join("|")+")",gt=RegExp("['’]","g"),yt=RegExp(nt,"g"),dt=RegExp(it+"(?="+it+")|"+_t+pt,"g"),bt=RegExp([ct+"?"+et+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[Xn,ct,"$"].join("|")+")",st+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[Xn,ct+lt,"$"].join("|")+")",ct+"?"+lt+"+(?:['’](?:d|ll|m|re|s|t|ve))?",ct+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",tt,vt].join("|"),"g"),wt=RegExp("[\\u200d\\ud800-\\udfff"+Jn+"\\ufe0e\\ufe0f]"),mt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,xt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],jt=-1,At={};At[an]=At[cn]=At[ln]=At[sn]=At[hn]=At[pn]=At[vn]=At[_n]=At[gn]=!0,At[$]=At[D]=At[on]=At[F]=At[fn]=At[N]=At[q]=At[Z]=At[V]=At[G]=At[J]=At[Q]=At[X]=At[nn]=At[en]=!1;var kt={};kt[$]=kt[D]=kt[on]=kt[fn]=kt[F]=kt[N]=kt[an]=kt[cn]=kt[ln]=kt[sn]=kt[hn]=kt[V]=kt[G]=kt[J]=kt[Q]=kt[X]=kt[nn]=kt[tn]=kt[pn]=kt[vn]=kt[_n]=kt[gn]=!0,kt[q]=kt[Z]=kt[en]=!1;var Ot={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},It=parseFloat,Rt=parseInt,Et="object"==typeof t&&t&&t.Object===Object&&t,zt="object"==typeof self&&self&&self.Object===Object&&self,St=Et||zt||Function("return this")(),Lt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Wt=Lt&&"object"==typeof module&&module&&!module.nodeType&&module,Ct=Wt&&Wt.exports===Lt,Bt=Ct&&Et.process,Ut=function(){try{var n=Wt&&Wt.require&&Wt.require("util").types;return n||Bt&&Bt.binding&&Bt.binding("util")}catch(t){}}(),Tt=Ut&&Ut.isArrayBuffer,$t=Ut&&Ut.isDate,Dt=Ut&&Ut.isMap,Mt=Ut&&Ut.isRegExp,Ft=Ut&&Ut.isSet,Nt=Ut&&Ut.isTypedArray;function Pt(n,t,r){switch(r.length){case 0:return n.call(t);case 1:return n.call(t,r[0]);case 2:return n.call(t,r[0],r[1]);case 3:return n.call(t,r[0],r[1],r[2])}return n.apply(t,r)}function qt(n,t,r,e){for(var u=-1,i=null==n?0:n.length;++u<i;){var o=n[u];t(e,o,r(o),n)}return e}function Zt(n,t){for(var r=-1,e=null==n?0:n.length;++r<e&&!1!==t(n[r],r,n););return n}function Kt(n,t){for(var r=null==n?0:n.length;r--&&!1!==t(n[r],r,n););return n}function Vt(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(!t(n[r],r,n))return!1;return!0}function Gt(n,t){for(var r=-1,e=null==n?0:n.length,u=0,i=[];++r<e;){var o=n[r];t(o,r,n)&&(i[u++]=o)}return i}function Ht(n,t){return!!(null==n?0:n.length)&&ir(n,t,0)>-1}function Jt(n,t,r){for(var e=-1,u=null==n?0:n.length;++e<u;)if(r(t,n[e]))return!0;return!1}function Yt(n,t){for(var r=-1,e=null==n?0:n.length,u=Array(e);++r<e;)u[r]=t(n[r],r,n);return u}function Qt(n,t){for(var r=-1,e=t.length,u=n.length;++r<e;)n[u+r]=t[r];return n}function Xt(n,t,r,e){var u=-1,i=null==n?0:n.length;for(e&&i&&(r=n[++u]);++u<i;)r=t(r,n[u],u,n);return r}function nr(n,t,r,e){var u=null==n?0:n.length;for(e&&u&&(r=n[--u]);u--;)r=t(r,n[u],u,n);return r}function tr(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(t(n[r],r,n))return!0;return!1}var rr=cr("length");function er(n,t,r){var e;return r(n,function(n,r,u){if(t(n,r,u))return e=r,!1}),e}function ur(n,t,r,e){for(var u=n.length,i=r+(e?1:-1);e?i--:++i<u;)if(t(n[i],i,n))return i;return-1}function ir(n,t,r){return t==t?function(n,t,r){var e=r-1,u=n.length;for(;++e<u;)if(n[e]===t)return e;return-1}(n,t,r):ur(n,fr,r)}function or(n,t,r,e){for(var u=r-1,i=n.length;++u<i;)if(e(n[u],t))return u;return-1}function fr(n){return n!=n}function ar(n,t){var r=null==n?0:n.length;return r?hr(n,t)/r:W}function cr(n){return function(t){return null==t?r:t[n]}}function lr(n){return function(t){return null==n?r:n[t]}}function sr(n,t,r,e,u){return u(n,function(n,u,i){r=e?(e=!1,n):t(r,n,u,i)}),r}function hr(n,t){for(var e,u=-1,i=n.length;++u<i;){var o=t(n[u]);o!==r&&(e=e===r?o:e+o)}return e}function pr(n,t){for(var r=-1,e=Array(n);++r<n;)e[r]=t(r);return e}function vr(n){return function(t){return n(t)}}function _r(n,t){return Yt(t,function(t){return n[t]})}function gr(n,t){return n.has(t)}function yr(n,t){for(var r=-1,e=n.length;++r<e&&ir(t,n[r],0)>-1;);return r}function dr(n,t){for(var r=n.length;r--&&ir(t,n[r],0)>-1;);return r}var br=lr({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),wr=lr({"&":"&","<":"<",">":">",'"':""","'":"'"});function mr(n){return"\\"+Ot[n]}function xr(n){return wt.test(n)}function jr(n){var t=-1,r=Array(n.size);return n.forEach(function(n,e){r[++t]=[e,n]}),r}function Ar(n,t){return function(r){return n(t(r))}}function kr(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){var o=n[r];o!==t&&o!==a||(n[r]=a,i[u++]=r)}return i}function Or(n){var t=-1,r=Array(n.size);return n.forEach(function(n){r[++t]=n}),r}function Ir(n){var t=-1,r=Array(n.size);return n.forEach(function(n){r[++t]=[n,n]}),r}function Rr(n){return xr(n)?function(n){var t=dt.lastIndex=0;for(;dt.test(n);)++t;return t}(n):rr(n)}function Er(n){return xr(n)?function(n){return n.match(dt)||[]}(n):function(n){return n.split("")}(n)}var zr=lr({"&":"&","<":"<",">":">",""":'"',"'":"'"});var Sr=function n(t){var Jn,Yn=(t=null==t?St:Sr.defaults(St.Object(),t,Sr.pick(St,xt))).Array,Qn=t.Date,Xn=t.Error,nt=t.Function,tt=t.Math,rt=t.Object,et=t.RegExp,ut=t.String,it=t.TypeError,ot=Yn.prototype,ft=nt.prototype,at=rt.prototype,ct=t["__core-js_shared__"],lt=ft.toString,st=at.hasOwnProperty,ht=0,pt=(Jn=/[^.]+$/.exec(ct&&ct.keys&&ct.keys.IE_PROTO||""))?"Symbol(src)_1."+Jn:"",vt=at.toString,_t=lt.call(rt),dt=St._,wt=et("^"+lt.call(st).replace(zn,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ot=Ct?t.Buffer:r,Et=t.Symbol,zt=t.Uint8Array,Lt=Ot?Ot.allocUnsafe:r,Wt=Ar(rt.getPrototypeOf,rt),Bt=rt.create,Ut=at.propertyIsEnumerable,rr=ot.splice,lr=Et?Et.isConcatSpreadable:r,Lr=Et?Et.iterator:r,Wr=Et?Et.toStringTag:r,Cr=function(){try{var n=$i(rt,"defineProperty");return n({},"",{}),n}catch(t){}}(),Br=t.clearTimeout!==St.clearTimeout&&t.clearTimeout,Ur=Qn&&Qn.now!==St.Date.now&&Qn.now,Tr=t.setTimeout!==St.setTimeout&&t.setTimeout,$r=tt.ceil,Dr=tt.floor,Mr=rt.getOwnPropertySymbols,Fr=Ot?Ot.isBuffer:r,Nr=t.isFinite,Pr=ot.join,qr=Ar(rt.keys,rt),Zr=tt.max,Kr=tt.min,Vr=Qn.now,Gr=t.parseInt,Hr=tt.random,Jr=ot.reverse,Yr=$i(t,"DataView"),Qr=$i(t,"Map"),Xr=$i(t,"Promise"),ne=$i(t,"Set"),te=$i(t,"WeakMap"),re=$i(rt,"create"),ee=te&&new te,ue={},ie=lo(Yr),oe=lo(Qr),fe=lo(Xr),ae=lo(ne),ce=lo(te),le=Et?Et.prototype:r,se=le?le.valueOf:r,he=le?le.toString:r;function pe(n){if(Ef(n)&&!df(n)&&!(n instanceof ye)){if(n instanceof ge)return n;if(st.call(n,"__wrapped__"))return so(n)}return new ge(n)}var ve=function(){function n(){}return function(t){if(!Rf(t))return{};if(Bt)return Bt(t);n.prototype=t;var e=new n;return n.prototype=r,e}}();function _e(){}function ge(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=r}function ye(n){this.__wrapped__=n,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=C,this.__views__=[]}function de(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function be(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function we(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function me(n){var t=-1,r=null==n?0:n.length;for(this.__data__=new we;++t<r;)this.add(n[t])}function xe(n){var t=this.__data__=new be(n);this.size=t.size}function je(n,t){var r=df(n),e=!r&&yf(n),u=!r&&!e&&xf(n),i=!r&&!e&&!u&&Tf(n),o=r||e||u||i,f=o?pr(n.length,ut):[],a=f.length;for(var c in n)!t&&!st.call(n,c)||o&&("length"==c||u&&("offset"==c||"parent"==c)||i&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||Zi(c,a))||f.push(c);return f}function Ae(n){var t=n.length;return t?n[mu(0,t-1)]:r}function ke(n,t){return fo(ri(n),Ce(t,0,n.length))}function Oe(n){return fo(ri(n))}function Ie(n,t,e){(e===r||vf(n[t],e))&&(e!==r||t in n)||Le(n,t,e)}function Re(n,t,e){var u=n[t];st.call(n,t)&&vf(u,e)&&(e!==r||t in n)||Le(n,t,e)}function Ee(n,t){for(var r=n.length;r--;)if(vf(n[r][0],t))return r;return-1}function ze(n,t,r,e){return De(n,function(n,u,i){t(e,n,r(n),i)}),e}function Se(n,t){return n&&ei(t,ia(t),n)}function Le(n,t,r){"__proto__"==t&&Cr?Cr(n,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):n[t]=r}function We(n,t){for(var e=-1,u=t.length,i=Yn(u),o=null==n;++e<u;)i[e]=o?r:na(n,t[e]);return i}function Ce(n,t,e){return n==n&&(e!==r&&(n=n<=e?n:e),t!==r&&(n=n>=t?n:t)),n}function Be(n,t,e,u,i,o){var f,a=t&c,h=t&l,p=t&s;if(e&&(f=i?e(n,u,i,o):e(n)),f!==r)return f;if(!Rf(n))return n;var v=df(n);if(v){if(f=function(n){var t=n.length,r=new n.constructor(t);return t&&"string"==typeof n[0]&&st.call(n,"index")&&(r.index=n.index,r.input=n.input),r}(n),!a)return ri(n,f)}else{var _=Fi(n),g=_==Z||_==K;if(xf(n))return Ju(n,a);if(_==J||_==$||g&&!i){if(f=h||g?{}:Pi(n),!a)return h?function(n,t){return ei(n,Mi(n),t)}(n,function(n,t){return n&&ei(t,oa(t),n)}(f,n)):function(n,t){return ei(n,Di(n),t)}(n,Se(f,n))}else{if(!kt[_])return i?n:{};f=function(n,t,r){var e,u,i,o=n.constructor;switch(t){case on:return Yu(n);case F:case N:return new o(+n);case fn:return function(n,t){var r=t?Yu(n.buffer):n.buffer;return new n.constructor(r,n.byteOffset,n.byteLength)}(n,r);case an:case cn:case ln:case sn:case hn:case pn:case vn:case _n:case gn:return Qu(n,r);case V:return new o;case G:case nn:return new o(n);case Q:return(i=new(u=n).constructor(u.source,Fn.exec(u))).lastIndex=u.lastIndex,i;case X:return new o;case tn:return e=n,se?rt(se.call(e)):{}}}(n,_,a)}}o||(o=new xe);var y=o.get(n);if(y)return y;o.set(n,f),Cf(n)?n.forEach(function(r){f.add(Be(r,t,e,r,n,o))}):zf(n)&&n.forEach(function(r,u){f.set(u,Be(r,t,e,u,n,o))});var d=v?r:(p?h?Si:zi:h?oa:ia)(n);return Zt(d||n,function(r,u){d&&(r=n[u=r]),Re(f,u,Be(r,t,e,u,n,o))}),f}function Ue(n,t,e){var u=e.length;if(null==n)return!u;for(n=rt(n);u--;){var i=e[u],o=t[i],f=n[i];if(f===r&&!(i in n)||!o(f))return!1}return!0}function Te(n,t,e){if("function"!=typeof n)throw new it(i);return eo(function(){n.apply(r,e)},t)}function $e(n,t,r,u){var i=-1,o=Ht,f=!0,a=n.length,c=[],l=t.length;if(!a)return c;r&&(t=Yt(t,vr(r))),u?(o=Jt,f=!1):t.length>=e&&(o=gr,f=!1,t=new me(t));n:for(;++i<a;){var s=n[i],h=null==r?s:r(s);if(s=u||0!==s?s:0,f&&h==h){for(var p=l;p--;)if(t[p]===h)continue n;c.push(s)}else o(t,h,u)||c.push(s)}return c}pe.templateSettings={escape:An,evaluate:kn,interpolate:On,variable:"",imports:{_:pe}},pe.prototype=_e.prototype,pe.prototype.constructor=pe,ge.prototype=ve(_e.prototype),ge.prototype.constructor=ge,ye.prototype=ve(_e.prototype),ye.prototype.constructor=ye,de.prototype.clear=function(){this.__data__=re?re(null):{},this.size=0},de.prototype.delete=function(n){var t=this.has(n)&&delete this.__data__[n];return this.size-=t?1:0,t},de.prototype.get=function(n){var t=this.__data__;if(re){var e=t[n];return e===o?r:e}return st.call(t,n)?t[n]:r},de.prototype.has=function(n){var t=this.__data__;return re?t[n]!==r:st.call(t,n)},de.prototype.set=function(n,t){var e=this.__data__;return this.size+=this.has(n)?0:1,e[n]=re&&t===r?o:t,this},be.prototype.clear=function(){this.__data__=[],this.size=0},be.prototype.delete=function(n){var t=this.__data__,r=Ee(t,n);return!(r<0||(r==t.length-1?t.pop():rr.call(t,r,1),--this.size,0))},be.prototype.get=function(n){var t=this.__data__,e=Ee(t,n);return e<0?r:t[e][1]},be.prototype.has=function(n){return Ee(this.__data__,n)>-1},be.prototype.set=function(n,t){var r=this.__data__,e=Ee(r,n);return e<0?(++this.size,r.push([n,t])):r[e][1]=t,this},we.prototype.clear=function(){this.size=0,this.__data__={hash:new de,map:new(Qr||be),string:new de}},we.prototype.delete=function(n){var t=Ui(this,n).delete(n);return this.size-=t?1:0,t},we.prototype.get=function(n){return Ui(this,n).get(n)},we.prototype.has=function(n){return Ui(this,n).has(n)},we.prototype.set=function(n,t){var r=Ui(this,n),e=r.size;return r.set(n,t),this.size+=r.size==e?0:1,this},me.prototype.add=me.prototype.push=function(n){return this.__data__.set(n,o),this},me.prototype.has=function(n){return this.__data__.has(n)},xe.prototype.clear=function(){this.__data__=new be,this.size=0},xe.prototype.delete=function(n){var t=this.__data__,r=t.delete(n);return this.size=t.size,r},xe.prototype.get=function(n){return this.__data__.get(n)},xe.prototype.has=function(n){return this.__data__.has(n)},xe.prototype.set=function(n,t){var r=this.__data__;if(r instanceof be){var u=r.__data__;if(!Qr||u.length<e-1)return u.push([n,t]),this.size=++r.size,this;r=this.__data__=new we(u)}return r.set(n,t),this.size=r.size,this};var De=oi(Ve),Me=oi(Ge,!0);function Fe(n,t){var r=!0;return De(n,function(n,e,u){return r=!!t(n,e,u)}),r}function Ne(n,t,e){for(var u=-1,i=n.length;++u<i;){var o=n[u],f=t(o);if(null!=f&&(a===r?f==f&&!Uf(f):e(f,a)))var a=f,c=o}return c}function Pe(n,t){var r=[];return De(n,function(n,e,u){t(n,e,u)&&r.push(n)}),r}function qe(n,t,r,e,u){var i=-1,o=n.length;for(r||(r=qi),u||(u=[]);++i<o;){var f=n[i];t>0&&r(f)?t>1?qe(f,t-1,r,e,u):Qt(u,f):e||(u[u.length]=f)}return u}var Ze=fi(),Ke=fi(!0);function Ve(n,t){return n&&Ze(n,t,ia)}function Ge(n,t){return n&&Ke(n,t,ia)}function He(n,t){return Gt(t,function(t){return kf(n[t])})}function Je(n,t){for(var e=0,u=(t=Ku(t,n)).length;null!=n&&e<u;)n=n[co(t[e++])];return e&&e==u?n:r}function Ye(n,t,r){var e=t(n);return df(n)?e:Qt(e,r(n))}function Qe(n){return null==n?n===r?rn:H:Wr&&Wr in rt(n)?function(n){var t=st.call(n,Wr),e=n[Wr];try{n[Wr]=r;var u=!0}catch(o){}var i=vt.call(n);return u&&(t?n[Wr]=e:delete n[Wr]),i}(n):function(n){return vt.call(n)}(n)}function Xe(n,t){return n>t}function nu(n,t){return null!=n&&st.call(n,t)}function tu(n,t){return null!=n&&t in rt(n)}function ru(n,t,e){for(var u=e?Jt:Ht,i=n[0].length,o=n.length,f=o,a=Yn(o),c=1/0,l=[];f--;){var s=n[f];f&&t&&(s=Yt(s,vr(t))),c=Kr(s.length,c),a[f]=!e&&(t||i>=120&&s.length>=120)?new me(f&&s):r}s=n[0];var h=-1,p=a[0];n:for(;++h<i&&l.length<c;){var v=s[h],_=t?t(v):v;if(v=e||0!==v?v:0,!(p?gr(p,_):u(l,_,e))){for(f=o;--f;){var g=a[f];if(!(g?gr(g,_):u(n[f],_,e)))continue n}p&&p.push(_),l.push(v)}}return l}function eu(n,t,e){var u=null==(n=no(n,t=Ku(t,n)))?n:n[co(jo(t))];return null==u?r:Pt(u,n,e)}function uu(n){return Ef(n)&&Qe(n)==$}function iu(n,t,e,u,i){return n===t||(null==n||null==t||!Ef(n)&&!Ef(t)?n!=n&&t!=t:function(n,t,e,u,i,o){var f=df(n),a=df(t),c=f?D:Fi(n),l=a?D:Fi(t),s=(c=c==$?J:c)==J,v=(l=l==$?J:l)==J,_=c==l;if(_&&xf(n)){if(!xf(t))return!1;f=!0,s=!1}if(_&&!s)return o||(o=new xe),f||Tf(n)?Ri(n,t,e,u,i,o):function(n,t,r,e,u,i,o){switch(r){case fn:if(n.byteLength!=t.byteLength||n.byteOffset!=t.byteOffset)return!1;n=n.buffer,t=t.buffer;case on:return!(n.byteLength!=t.byteLength||!i(new zt(n),new zt(t)));case F:case N:case G:return vf(+n,+t);case q:return n.name==t.name&&n.message==t.message;case Q:case nn:return n==t+"";case V:var f=jr;case X:var a=e&h;if(f||(f=Or),n.size!=t.size&&!a)return!1;var c=o.get(n);if(c)return c==t;e|=p,o.set(n,t);var l=Ri(f(n),f(t),e,u,i,o);return o.delete(n),l;case tn:if(se)return se.call(n)==se.call(t)}return!1}(n,t,c,e,u,i,o);if(!(e&h)){var g=s&&st.call(n,"__wrapped__"),y=v&&st.call(t,"__wrapped__");if(g||y){var d=g?n.value():n,b=y?t.value():t;return o||(o=new xe),i(d,b,e,u,o)}}return!!_&&(o||(o=new xe),function(n,t,e,u,i,o){var f=e&h,a=zi(n),c=a.length,l=zi(t).length;if(c!=l&&!f)return!1;for(var s=c;s--;){var p=a[s];if(!(f?p in t:st.call(t,p)))return!1}var v=o.get(n),_=o.get(t);if(v&&_)return v==t&&_==n;var g=!0;o.set(n,t),o.set(t,n);for(var y=f;++s<c;){p=a[s];var d=n[p],b=t[p];if(u)var w=f?u(b,d,p,t,n,o):u(d,b,p,n,t,o);if(!(w===r?d===b||i(d,b,e,u,o):w)){g=!1;break}y||(y="constructor"==p)}if(g&&!y){var m=n.constructor,x=t.constructor;m!=x&&"constructor"in n&&"constructor"in t&&!("function"==typeof m&&m instanceof m&&"function"==typeof x&&x instanceof x)&&(g=!1)}return o.delete(n),o.delete(t),g}(n,t,e,u,i,o))}(n,t,e,u,iu,i))}function ou(n,t,e,u){var i=e.length,o=i,f=!u;if(null==n)return!o;for(n=rt(n);i--;){var a=e[i];if(f&&a[2]?a[1]!==n[a[0]]:!(a[0]in n))return!1}for(;++i<o;){var c=(a=e[i])[0],l=n[c],s=a[1];if(f&&a[2]){if(l===r&&!(c in n))return!1}else{var v=new xe;if(u)var _=u(l,s,c,n,t,v);if(!(_===r?iu(s,l,h|p,u,v):_))return!1}}return!0}function fu(n){return!(!Rf(n)||(t=n,pt&&pt in t))&&(kf(n)?wt:qn).test(lo(n));var t}function au(n){return"function"==typeof n?n:null==n?Sa:"object"==typeof n?df(n)?vu(n[0],n[1]):pu(n):Ma(n)}function cu(n){if(!Ji(n))return qr(n);var t=[];for(var r in rt(n))st.call(n,r)&&"constructor"!=r&&t.push(r);return t}function lu(n){if(!Rf(n))return function(n){var t=[];if(null!=n)for(var r in rt(n))t.push(r);return t}(n);var t=Ji(n),r=[];for(var e in n)("constructor"!=e||!t&&st.call(n,e))&&r.push(e);return r}function su(n,t){return n<t}function hu(n,t){var r=-1,e=wf(n)?Yn(n.length):[];return De(n,function(n,u,i){e[++r]=t(n,u,i)}),e}function pu(n){var t=Ti(n);return 1==t.length&&t[0][2]?Qi(t[0][0],t[0][1]):function(r){return r===n||ou(r,n,t)}}function vu(n,t){return Vi(n)&&Yi(t)?Qi(co(n),t):function(e){var u=na(e,n);return u===r&&u===t?ta(e,n):iu(t,u,h|p)}}function _u(n,t,e,u,i){n!==t&&Ze(t,function(o,f){if(i||(i=new xe),Rf(o))!function(n,t,e,u,i,o,f){var a=to(n,e),c=to(t,e),l=f.get(c);if(l)Ie(n,e,l);else{var s=o?o(a,c,e+"",n,t,f):r,h=s===r;if(h){var p=df(c),v=!p&&xf(c),_=!p&&!v&&Tf(c);s=c,p||v||_?df(a)?s=a:mf(a)?s=ri(a):v?(h=!1,s=Ju(c,!0)):_?(h=!1,s=Qu(c,!0)):s=[]:Lf(c)||yf(c)?(s=a,yf(a)?s=Zf(a):Rf(a)&&!kf(a)||(s=Pi(c))):h=!1}h&&(f.set(c,s),i(s,c,u,o,f),f.delete(c)),Ie(n,e,s)}}(n,t,f,e,_u,u,i);else{var a=u?u(to(n,f),o,f+"",n,t,i):r;a===r&&(a=o),Ie(n,f,a)}},oa)}function gu(n,t){var e=n.length;if(e)return Zi(t+=t<0?e:0,e)?n[t]:r}function yu(n,t,r){t=t.length?Yt(t,function(n){return df(n)?function(t){return Je(t,1===n.length?n[0]:n)}:n}):[Sa];var e=-1;return t=Yt(t,vr(Bi())),function(n,t){var r=n.length;for(n.sort(t);r--;)n[r]=n[r].value;return n}(hu(n,function(n,r,u){return{criteria:Yt(t,function(t){return t(n)}),index:++e,value:n}}),function(n,t){return function(n,t,r){for(var e=-1,u=n.criteria,i=t.criteria,o=u.length,f=r.length;++e<o;){var a=Xu(u[e],i[e]);if(a){if(e>=f)return a;var c=r[e];return a*("desc"==c?-1:1)}}return n.index-t.index}(n,t,r)})}function du(n,t,r){for(var e=-1,u=t.length,i={};++e<u;){var o=t[e],f=Je(n,o);r(f,o)&&Ou(i,Ku(o,n),f)}return i}function bu(n,t,r,e){var u=e?or:ir,i=-1,o=t.length,f=n;for(n===t&&(t=ri(t)),r&&(f=Yt(n,vr(r)));++i<o;)for(var a=0,c=t[i],l=r?r(c):c;(a=u(f,l,a,e))>-1;)f!==n&&rr.call(f,a,1),rr.call(n,a,1);return n}function wu(n,t){for(var r=n?t.length:0,e=r-1;r--;){var u=t[r];if(r==e||u!==i){var i=u;Zi(u)?rr.call(n,u,1):$u(n,u)}}return n}function mu(n,t){return n+Dr(Hr()*(t-n+1))}function xu(n,t){var r="";if(!n||t<1||t>S)return r;do{t%2&&(r+=n),(t=Dr(t/2))&&(n+=n)}while(t);return r}function ju(n,t){return uo(Xi(n,t,Sa),n+"")}function Au(n){return Ae(va(n))}function ku(n,t){var r=va(n);return fo(r,Ce(t,0,r.length))}function Ou(n,t,e,u){if(!Rf(n))return n;for(var i=-1,o=(t=Ku(t,n)).length,f=o-1,a=n;null!=a&&++i<o;){var c=co(t[i]),l=e;if("__proto__"===c||"constructor"===c||"prototype"===c)return n;if(i!=f){var s=a[c];(l=u?u(s,c,a):r)===r&&(l=Rf(s)?s:Zi(t[i+1])?[]:{})}Re(a,c,l),a=a[c]}return n}var Iu=ee?function(n,t){return ee.set(n,t),n}:Sa,Ru=Cr?function(n,t){return Cr(n,"toString",{configurable:!0,enumerable:!1,value:Ra(t),writable:!0})}:Sa;function Eu(n){return fo(va(n))}function zu(n,t,r){var e=-1,u=n.length;t<0&&(t=-t>u?0:u+t),(r=r>u?u:r)<0&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0;for(var i=Yn(u);++e<u;)i[e]=n[e+t];return i}function Su(n,t){var r;return De(n,function(n,e,u){return!(r=t(n,e,u))}),!!r}function Lu(n,t,r){var e=0,u=null==n?e:n.length;if("number"==typeof t&&t==t&&u<=U){for(;e<u;){var i=e+u>>>1,o=n[i];null!==o&&!Uf(o)&&(r?o<=t:o<t)?e=i+1:u=i}return u}return Wu(n,t,Sa,r)}function Wu(n,t,e,u){var i=0,o=null==n?0:n.length;if(0===o)return 0;for(var f=(t=e(t))!=t,a=null===t,c=Uf(t),l=t===r;i<o;){var s=Dr((i+o)/2),h=e(n[s]),p=h!==r,v=null===h,_=h==h,g=Uf(h);if(f)var y=u||_;else y=l?_&&(u||p):a?_&&p&&(u||!v):c?_&&p&&!v&&(u||!g):!v&&!g&&(u?h<=t:h<t);y?i=s+1:o=s}return Kr(o,B)}function Cu(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){var o=n[r],f=t?t(o):o;if(!r||!vf(f,a)){var a=f;i[u++]=0===o?0:o}}return i}function Bu(n){return"number"==typeof n?n:Uf(n)?W:+n}function Uu(n){if("string"==typeof n)return n;if(df(n))return Yt(n,Uu)+"";if(Uf(n))return he?he.call(n):"";var t=n+"";return"0"==t&&1/n==-z?"-0":t}function Tu(n,t,r){var u=-1,i=Ht,o=n.length,f=!0,a=[],c=a;if(r)f=!1,i=Jt;else if(o>=e){var l=t?null:xi(n);if(l)return Or(l);f=!1,i=gr,c=new me}else c=t?[]:a;n:for(;++u<o;){var s=n[u],h=t?t(s):s;if(s=r||0!==s?s:0,f&&h==h){for(var p=c.length;p--;)if(c[p]===h)continue n;t&&c.push(h),a.push(s)}else i(c,h,r)||(c!==a&&c.push(h),a.push(s))}return a}function $u(n,t){return null==(n=no(n,t=Ku(t,n)))||delete n[co(jo(t))]}function Du(n,t,r,e){return Ou(n,t,r(Je(n,t)),e)}function Mu(n,t,r,e){for(var u=n.length,i=e?u:-1;(e?i--:++i<u)&&t(n[i],i,n););return r?zu(n,e?0:i,e?i+1:u):zu(n,e?i+1:0,e?u:i)}function Fu(n,t){var r=n;return r instanceof ye&&(r=r.value()),Xt(t,function(n,t){return t.func.apply(t.thisArg,Qt([n],t.args))},r)}function Nu(n,t,r){var e=n.length;if(e<2)return e?Tu(n[0]):[];for(var u=-1,i=Yn(e);++u<e;)for(var o=n[u],f=-1;++f<e;)f!=u&&(i[u]=$e(i[u]||o,n[f],t,r));return Tu(qe(i,1),t,r)}function Pu(n,t,e){for(var u=-1,i=n.length,o=t.length,f={};++u<i;){var a=u<o?t[u]:r;e(f,n[u],a)}return f}function qu(n){return mf(n)?n:[]}function Zu(n){return"function"==typeof n?n:Sa}function Ku(n,t){return df(n)?n:Vi(n,t)?[n]:ao(Kf(n))}var Vu=ju;function Gu(n,t,e){var u=n.length;return e=e===r?u:e,!t&&e>=u?n:zu(n,t,e)}var Hu=Br||function(n){return St.clearTimeout(n)};function Ju(n,t){if(t)return n.slice();var r=n.length,e=Lt?Lt(r):new n.constructor(r);return n.copy(e),e}function Yu(n){var t=new n.constructor(n.byteLength);return new zt(t).set(new zt(n)),t}function Qu(n,t){var r=t?Yu(n.buffer):n.buffer;return new n.constructor(r,n.byteOffset,n.length)}function Xu(n,t){if(n!==t){var e=n!==r,u=null===n,i=n==n,o=Uf(n),f=t!==r,a=null===t,c=t==t,l=Uf(t);if(!a&&!l&&!o&&n>t||o&&f&&c&&!a&&!l||u&&f&&c||!e&&c||!i)return 1;if(!u&&!o&&!l&&n<t||l&&e&&i&&!u&&!o||a&&e&&i||!f&&i||!c)return-1}return 0}function ni(n,t,r,e){for(var u=-1,i=n.length,o=r.length,f=-1,a=t.length,c=Zr(i-o,0),l=Yn(a+c),s=!e;++f<a;)l[f]=t[f];for(;++u<o;)(s||u<i)&&(l[r[u]]=n[u]);for(;c--;)l[f++]=n[u++];return l}function ti(n,t,r,e){for(var u=-1,i=n.length,o=-1,f=r.length,a=-1,c=t.length,l=Zr(i-f,0),s=Yn(l+c),h=!e;++u<l;)s[u]=n[u];for(var p=u;++a<c;)s[p+a]=t[a];for(;++o<f;)(h||u<i)&&(s[p+r[o]]=n[u++]);return s}function ri(n,t){var r=-1,e=n.length;for(t||(t=Yn(e));++r<e;)t[r]=n[r];return t}function ei(n,t,e,u){var i=!e;e||(e={});for(var o=-1,f=t.length;++o<f;){var a=t[o],c=u?u(e[a],n[a],a,e,n):r;c===r&&(c=n[a]),i?Le(e,a,c):Re(e,a,c)}return e}function ui(n,t){return function(r,e){var u=df(r)?qt:ze,i=t?t():{};return u(r,n,Bi(e,2),i)}}function ii(n){return ju(function(t,e){var u=-1,i=e.length,o=i>1?e[i-1]:r,f=i>2?e[2]:r;for(o=n.length>3&&"function"==typeof o?(i--,o):r,f&&Ki(e[0],e[1],f)&&(o=i<3?r:o,i=1),t=rt(t);++u<i;){var a=e[u];a&&n(t,a,u,o)}return t})}function oi(n,t){return function(r,e){if(null==r)return r;if(!wf(r))return n(r,e);for(var u=r.length,i=t?u:-1,o=rt(r);(t?i--:++i<u)&&!1!==e(o[i],i,o););return r}}function fi(n){return function(t,r,e){for(var u=-1,i=rt(t),o=e(t),f=o.length;f--;){var a=o[n?f:++u];if(!1===r(i[a],a,i))break}return t}}function ai(n){return function(t){var e=xr(t=Kf(t))?Er(t):r,u=e?e[0]:t.charAt(0),i=e?Gu(e,1).join(""):t.slice(1);return u[n]()+i}}function ci(n){return function(t){return Xt(ka(ya(t).replace(gt,"")),n,"")}}function li(n){return function(){var t=arguments;switch(t.length){case 0:return new n;case 1:return new n(t[0]);case 2:return new n(t[0],t[1]);case 3:return new n(t[0],t[1],t[2]);case 4:return new n(t[0],t[1],t[2],t[3]);case 5:return new n(t[0],t[1],t[2],t[3],t[4]);case 6:return new n(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new n(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var r=ve(n.prototype),e=n.apply(r,t);return Rf(e)?e:r}}function si(n){return function(t,e,u){var i=rt(t);if(!wf(t)){var o=Bi(e,3);t=ia(t),e=function(n){return o(i[n],n,i)}}var f=n(t,e,u);return f>-1?i[o?t[f]:f]:r}}function hi(n){return Ei(function(t){var e=t.length,u=e,o=ge.prototype.thru;for(n&&t.reverse();u--;){var f=t[u];if("function"!=typeof f)throw new it(i);if(o&&!a&&"wrapper"==Wi(f))var a=new ge([],!0)}for(u=a?u:e;++u<e;){var c=Wi(f=t[u]),l="wrapper"==c?Li(f):r;a=l&&Gi(l[0])&&l[1]==(m|y|b|x)&&!l[4].length&&1==l[9]?a[Wi(l[0])].apply(a,l[3]):1==f.length&&Gi(f)?a[c]():a.thru(f)}return function(){var n=arguments,r=n[0];if(a&&1==n.length&&df(r))return a.plant(r).value();for(var u=0,i=e?t[u].apply(this,n):r;++u<e;)i=t[u].call(this,i);return i}})}function pi(n,t,e,u,i,o,f,a,c,l){var s=t&m,h=t&v,p=t&_,g=t&(y|d),b=t&j,w=p?r:li(n);return function v(){for(var _=arguments.length,y=Yn(_),d=_;d--;)y[d]=arguments[d];if(g)var m=Ci(v),x=function(n,t){for(var r=n.length,e=0;r--;)n[r]===t&&++e;return e}(y,m);if(u&&(y=ni(y,u,i,g)),o&&(y=ti(y,o,f,g)),_-=x,g&&_<l){var j=kr(y,m);return wi(n,t,pi,v.placeholder,e,y,j,a,c,l-_)}var A=h?e:this,k=p?A[n]:n;return _=y.length,a?y=function(n,t){for(var e=n.length,u=Kr(t.length,e),i=ri(n);u--;){var o=t[u];n[u]=Zi(o,e)?i[o]:r}return n}(y,a):b&&_>1&&y.reverse(),s&&c<_&&(y.length=c),this&&this!==St&&this instanceof v&&(k=w||li(k)),k.apply(A,y)}}function vi(n,t){return function(r,e){return function(n,t,r,e){return Ve(n,function(n,u,i){t(e,r(n),u,i)}),e}(r,n,t(e),{})}}function _i(n,t){return function(e,u){var i;if(e===r&&u===r)return t;if(e!==r&&(i=e),u!==r){if(i===r)return u;"string"==typeof e||"string"==typeof u?(e=Uu(e),u=Uu(u)):(e=Bu(e),u=Bu(u)),i=n(e,u)}return i}}function gi(n){return Ei(function(t){return t=Yt(t,vr(Bi())),ju(function(r){var e=this;return n(t,function(n){return Pt(n,e,r)})})})}function yi(n,t){var e=(t=t===r?" ":Uu(t)).length;if(e<2)return e?xu(t,n):t;var u=xu(t,$r(n/Rr(t)));return xr(t)?Gu(Er(u),0,n).join(""):u.slice(0,n)}function di(n){return function(t,e,u){return u&&"number"!=typeof u&&Ki(t,e,u)&&(e=u=r),t=Ff(t),e===r?(e=t,t=0):e=Ff(e),function(n,t,r,e){for(var u=-1,i=Zr($r((t-n)/(r||1)),0),o=Yn(i);i--;)o[e?i:++u]=n,n+=r;return o}(t,e,u=u===r?t<e?1:-1:Ff(u),n)}}function bi(n){return function(t,r){return"string"==typeof t&&"string"==typeof r||(t=qf(t),r=qf(r)),n(t,r)}}function wi(n,t,e,u,i,o,f,a,c,l){var s=t&y;t|=s?b:w,(t&=~(s?w:b))&g||(t&=~(v|_));var h=[n,t,i,s?o:r,s?f:r,s?r:o,s?r:f,a,c,l],p=e.apply(r,h);return Gi(n)&&ro(p,h),p.placeholder=u,io(p,n,t)}function mi(n){var t=tt[n];return function(n,r){if(n=qf(n),(r=null==r?0:Kr(Nf(r),292))&&Nr(n)){var e=(Kf(n)+"e").split("e");return+((e=(Kf(t(e[0]+"e"+(+e[1]+r)))+"e").split("e"))[0]+"e"+(+e[1]-r))}return t(n)}}var xi=ne&&1/Or(new ne([,-0]))[1]==z?function(n){return new ne(n)}:Ua;function ji(n){return function(t){var r=Fi(t);return r==V?jr(t):r==X?Ir(t):function(n,t){return Yt(t,function(t){return[t,n[t]]})}(t,n(t))}}function Ai(n,t,e,u,o,f,c,l){var s=t&_;if(!s&&"function"!=typeof n)throw new it(i);var h=u?u.length:0;if(h||(t&=~(b|w),u=o=r),c=c===r?c:Zr(Nf(c),0),l=l===r?l:Nf(l),h-=o?o.length:0,t&w){var p=u,j=o;u=o=r}var A=s?r:Li(n),k=[n,t,e,u,o,p,j,f,c,l];if(A&&function(n,t){var r=n[1],e=t[1],u=r|e,i=u<(v|_|m),o=e==m&&r==y||e==m&&r==x&&n[7].length<=t[8]||e==(m|x)&&t[7].length<=t[8]&&r==y;if(!i&&!o)return n;e&v&&(n[2]=t[2],u|=r&v?0:g);var f=t[3];if(f){var c=n[3];n[3]=c?ni(c,f,t[4]):f,n[4]=c?kr(n[3],a):t[4]}(f=t[5])&&(c=n[5],n[5]=c?ti(c,f,t[6]):f,n[6]=c?kr(n[5],a):t[6]),(f=t[7])&&(n[7]=f),e&m&&(n[8]=null==n[8]?t[8]:Kr(n[8],t[8])),null==n[9]&&(n[9]=t[9]),n[0]=t[0],n[1]=u}(k,A),n=k[0],t=k[1],e=k[2],u=k[3],o=k[4],!(l=k[9]=k[9]===r?s?0:n.length:Zr(k[9]-h,0))&&t&(y|d)&&(t&=~(y|d)),t&&t!=v)O=t==y||t==d?function(n,t,e){var u=li(n);return function i(){for(var o=arguments.length,f=Yn(o),a=o,c=Ci(i);a--;)f[a]=arguments[a];var l=o<3&&f[0]!==c&&f[o-1]!==c?[]:kr(f,c);return(o-=l.length)<e?wi(n,t,pi,i.placeholder,r,f,l,r,r,e-o):Pt(this&&this!==St&&this instanceof i?u:n,this,f)}}(n,t,l):t!=b&&t!=(v|b)||o.length?pi.apply(r,k):function(n,t,r,e){var u=t&v,i=li(n);return function t(){for(var o=-1,f=arguments.length,a=-1,c=e.length,l=Yn(c+f),s=this&&this!==St&&this instanceof t?i:n;++a<c;)l[a]=e[a];for(;f--;)l[a++]=arguments[++o];return Pt(s,u?r:this,l)}}(n,t,e,u);else var O=function(n,t,r){var e=t&v,u=li(n);return function t(){return(this&&this!==St&&this instanceof t?u:n).apply(e?r:this,arguments)}}(n,t,e);return io((A?Iu:ro)(O,k),n,t)}function ki(n,t,e,u){return n===r||vf(n,at[e])&&!st.call(u,e)?t:n}function Oi(n,t,e,u,i,o){return Rf(n)&&Rf(t)&&(o.set(t,n),_u(n,t,r,Oi,o),o.delete(t)),n}function Ii(n){return Lf(n)?r:n}function Ri(n,t,e,u,i,o){var f=e&h,a=n.length,c=t.length;if(a!=c&&!(f&&c>a))return!1;var l=o.get(n),s=o.get(t);if(l&&s)return l==t&&s==n;var v=-1,_=!0,g=e&p?new me:r;for(o.set(n,t),o.set(t,n);++v<a;){var y=n[v],d=t[v];if(u)var b=f?u(d,y,v,t,n,o):u(y,d,v,n,t,o);if(b!==r){if(b)continue;_=!1;break}if(g){if(!tr(t,function(n,t){if(!gr(g,t)&&(y===n||i(y,n,e,u,o)))return g.push(t)})){_=!1;break}}else if(y!==d&&!i(y,d,e,u,o)){_=!1;break}}return o.delete(n),o.delete(t),_}function Ei(n){return uo(Xi(n,r,yo),n+"")}function zi(n){return Ye(n,ia,Di)}function Si(n){return Ye(n,oa,Mi)}var Li=ee?function(n){return ee.get(n)}:Ua;function Wi(n){for(var t=n.name+"",r=ue[t],e=st.call(ue,t)?r.length:0;e--;){var u=r[e],i=u.func;if(null==i||i==n)return u.name}return t}function Ci(n){return(st.call(pe,"placeholder")?pe:n).placeholder}function Bi(){var n=pe.iteratee||La;return n=n===La?au:n,arguments.length?n(arguments[0],arguments[1]):n}function Ui(n,t){var r,e,u=n.__data__;return("string"==(e=typeof(r=t))||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==r:null===r)?u["string"==typeof t?"string":"hash"]:u.map}function Ti(n){for(var t=ia(n),r=t.length;r--;){var e=t[r],u=n[e];t[r]=[e,u,Yi(u)]}return t}function $i(n,t){var e=function(n,t){return null==n?r:n[t]}(n,t);return fu(e)?e:r}var Di=Mr?function(n){return null==n?[]:(n=rt(n),Gt(Mr(n),function(t){return Ut.call(n,t)}))}:Pa,Mi=Mr?function(n){for(var t=[];n;)Qt(t,Di(n)),n=Wt(n);return t}:Pa,Fi=Qe;function Ni(n,t,r){for(var e=-1,u=(t=Ku(t,n)).length,i=!1;++e<u;){var o=co(t[e]);if(!(i=null!=n&&r(n,o)))break;n=n[o]}return i||++e!=u?i:!!(u=null==n?0:n.length)&&If(u)&&Zi(o,u)&&(df(n)||yf(n))}function Pi(n){return"function"!=typeof n.constructor||Ji(n)?{}:ve(Wt(n))}function qi(n){return df(n)||yf(n)||!!(lr&&n&&n[lr])}function Zi(n,t){var r=typeof n;return!!(t=null==t?S:t)&&("number"==r||"symbol"!=r&&Kn.test(n))&&n>-1&&n%1==0&&n<t}function Ki(n,t,r){if(!Rf(r))return!1;var e=typeof t;return!!("number"==e?wf(r)&&Zi(t,r.length):"string"==e&&t in r)&&vf(r[t],n)}function Vi(n,t){if(df(n))return!1;var r=typeof n;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=n&&!Uf(n))||Rn.test(n)||!In.test(n)||null!=t&&n in rt(t)}function Gi(n){var t=Wi(n),r=pe[t];if("function"!=typeof r||!(t in ye.prototype))return!1;if(n===r)return!0;var e=Li(r);return!!e&&n===e[0]}(Yr&&Fi(new Yr(new ArrayBuffer(1)))!=fn||Qr&&Fi(new Qr)!=V||Xr&&"[object Promise]"!=Fi(Xr.resolve())||ne&&Fi(new ne)!=X||te&&Fi(new te)!=en)&&(Fi=function(n){var t=Qe(n),e=t==J?n.constructor:r,u=e?lo(e):"";if(u)switch(u){case ie:return fn;case oe:return V;case fe:return"[object Promise]";case ae:return X;case ce:return en}return t});var Hi=ct?kf:qa;function Ji(n){var t=n&&n.constructor;return n===("function"==typeof t&&t.prototype||at)}function Yi(n){return n==n&&!Rf(n)}function Qi(n,t){return function(e){return null!=e&&e[n]===t&&(t!==r||n in rt(e))}}function Xi(n,t,e){return t=Zr(t===r?n.length-1:t,0),function(){for(var r=arguments,u=-1,i=Zr(r.length-t,0),o=Yn(i);++u<i;)o[u]=r[t+u];u=-1;for(var f=Yn(t+1);++u<t;)f[u]=r[u];return f[t]=e(o),Pt(n,this,f)}}function no(n,t){return t.length<2?n:Je(n,zu(t,0,-1))}function to(n,t){if(("constructor"!==t||"function"!=typeof n[t])&&"__proto__"!=t)return n[t]}var ro=oo(Iu),eo=Tr||function(n,t){return St.setTimeout(n,t)},uo=oo(Ru);function io(n,t,r){var e=t+"";return uo(n,function(n,t){var r=t.length;if(!r)return n;var e=r-1;return t[e]=(r>1?"& ":"")+t[e],t=t.join(r>2?", ":" "),n.replace(Bn,"{\n/* [wrapped with "+t+"] */\n")}(e,function(n,t){return Zt(T,function(r){var e="_."+r[0];t&r[1]&&!Ht(n,e)&&n.push(e)}),n.sort()}(function(n){var t=n.match(Un);return t?t[1].split(Tn):[]}(e),r)))}function oo(n){var t=0,e=0;return function(){var u=Vr(),i=I-(u-e);if(e=u,i>0){if(++t>=O)return arguments[0]}else t=0;return n.apply(r,arguments)}}function fo(n,t){var e=-1,u=n.length,i=u-1;for(t=t===r?u:t;++e<t;){var o=mu(e,i),f=n[o];n[o]=n[e],n[e]=f}return n.length=t,n}var ao=function(n){var t=af(n,function(n){return r.size===f&&r.clear(),n}),r=t.cache;return t}(function(n){var t=[];return 46===n.charCodeAt(0)&&t.push(""),n.replace(En,function(n,r,e,u){t.push(e?u.replace(Dn,"$1"):r||n)}),t});function co(n){if("string"==typeof n||Uf(n))return n;var t=n+"";return"0"==t&&1/n==-z?"-0":t}function lo(n){if(null!=n){try{return lt.call(n)}catch(t){}try{return n+""}catch(t){}}return""}function so(n){if(n instanceof ye)return n.clone();var t=new ge(n.__wrapped__,n.__chain__);return t.__actions__=ri(n.__actions__),t.__index__=n.__index__,t.__values__=n.__values__,t}var ho=ju(function(n,t){return mf(n)?$e(n,qe(t,1,mf,!0)):[]}),po=ju(function(n,t){var e=jo(t);return mf(e)&&(e=r),mf(n)?$e(n,qe(t,1,mf,!0),Bi(e,2)):[]}),vo=ju(function(n,t){var e=jo(t);return mf(e)&&(e=r),mf(n)?$e(n,qe(t,1,mf,!0),r,e):[]});function _o(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=null==r?0:Nf(r);return u<0&&(u=Zr(e+u,0)),ur(n,Bi(t,3),u)}function go(n,t,e){var u=null==n?0:n.length;if(!u)return-1;var i=u-1;return e!==r&&(i=Nf(e),i=e<0?Zr(u+i,0):Kr(i,u-1)),ur(n,Bi(t,3),i,!0)}function yo(n){return null!=n&&n.length?qe(n,1):[]}function bo(n){return n&&n.length?n[0]:r}var wo=ju(function(n){var t=Yt(n,qu);return t.length&&t[0]===n[0]?ru(t):[]}),mo=ju(function(n){var t=jo(n),e=Yt(n,qu);return t===jo(e)?t=r:e.pop(),e.length&&e[0]===n[0]?ru(e,Bi(t,2)):[]}),xo=ju(function(n){var t=jo(n),e=Yt(n,qu);return(t="function"==typeof t?t:r)&&e.pop(),e.length&&e[0]===n[0]?ru(e,r,t):[]});function jo(n){var t=null==n?0:n.length;return t?n[t-1]:r}var Ao=ju(ko);function ko(n,t){return n&&n.length&&t&&t.length?bu(n,t):n}var Oo=Ei(function(n,t){var r=null==n?0:n.length,e=We(n,t);return wu(n,Yt(t,function(n){return Zi(n,r)?+n:n}).sort(Xu)),e});function Io(n){return null==n?n:Jr.call(n)}var Ro=ju(function(n){return Tu(qe(n,1,mf,!0))}),Eo=ju(function(n){var t=jo(n);return mf(t)&&(t=r),Tu(qe(n,1,mf,!0),Bi(t,2))}),zo=ju(function(n){var t=jo(n);return t="function"==typeof t?t:r,Tu(qe(n,1,mf,!0),r,t)});function So(n){if(!n||!n.length)return[];var t=0;return n=Gt(n,function(n){if(mf(n))return t=Zr(n.length,t),!0}),pr(t,function(t){return Yt(n,cr(t))})}function Lo(n,t){if(!n||!n.length)return[];var e=So(n);return null==t?e:Yt(e,function(n){return Pt(t,r,n)})}var Wo=ju(function(n,t){return mf(n)?$e(n,t):[]}),Co=ju(function(n){return Nu(Gt(n,mf))}),Bo=ju(function(n){var t=jo(n);return mf(t)&&(t=r),Nu(Gt(n,mf),Bi(t,2))}),Uo=ju(function(n){var t=jo(n);return t="function"==typeof t?t:r,Nu(Gt(n,mf),r,t)}),To=ju(So);var $o=ju(function(n){var t=n.length,e=t>1?n[t-1]:r;return e="function"==typeof e?(n.pop(),e):r,Lo(n,e)});function Do(n){var t=pe(n);return t.__chain__=!0,t}function Mo(n,t){return t(n)}var Fo=Ei(function(n){var t=n.length,e=t?n[0]:0,u=this.__wrapped__,i=function(t){return We(t,n)};return!(t>1||this.__actions__.length)&&u instanceof ye&&Zi(e)?((u=u.slice(e,+e+(t?1:0))).__actions__.push({func:Mo,args:[i],thisArg:r}),new ge(u,this.__chain__).thru(function(n){return t&&!n.length&&n.push(r),n})):this.thru(i)});var No=ui(function(n,t,r){st.call(n,r)?++n[r]:Le(n,r,1)});var Po=si(_o),qo=si(go);function Zo(n,t){return(df(n)?Zt:De)(n,Bi(t,3))}function Ko(n,t){return(df(n)?Kt:Me)(n,Bi(t,3))}var Vo=ui(function(n,t,r){st.call(n,r)?n[r].push(t):Le(n,r,[t])});var Go=ju(function(n,t,r){var e=-1,u="function"==typeof t,i=wf(n)?Yn(n.length):[];return De(n,function(n){i[++e]=u?Pt(t,n,r):eu(n,t,r)}),i}),Ho=ui(function(n,t,r){Le(n,r,t)});function Jo(n,t){return(df(n)?Yt:hu)(n,Bi(t,3))}var Yo=ui(function(n,t,r){n[r?0:1].push(t)},function(){return[[],[]]});var Qo=ju(function(n,t){if(null==n)return[];var r=t.length;return r>1&&Ki(n,t[0],t[1])?t=[]:r>2&&Ki(t[0],t[1],t[2])&&(t=[t[0]]),yu(n,qe(t,1),[])}),Xo=Ur||function(){return St.Date.now()};function nf(n,t,e){return t=e?r:t,t=n&&null==t?n.length:t,Ai(n,m,r,r,r,r,t)}function tf(n,t){var e;if("function"!=typeof t)throw new it(i);return n=Nf(n),function(){return--n>0&&(e=t.apply(this,arguments)),n<=1&&(t=r),e}}var rf=ju(function(n,t,r){var e=v;if(r.length){var u=kr(r,Ci(rf));e|=b}return Ai(n,e,t,r,u)}),ef=ju(function(n,t,r){var e=v|_;if(r.length){var u=kr(r,Ci(ef));e|=b}return Ai(t,e,n,r,u)});function uf(n,t,e){var u,o,f,a,c,l,s=0,h=!1,p=!1,v=!0;if("function"!=typeof n)throw new it(i);function _(t){var e=u,i=o;return u=o=r,s=t,a=n.apply(i,e)}function g(n){var e=n-l;return l===r||e>=t||e<0||p&&n-s>=f}function y(){var n=Xo();if(g(n))return d(n);c=eo(y,function(n){var r=t-(n-l);return p?Kr(r,f-(n-s)):r}(n))}function d(n){return c=r,v&&u?_(n):(u=o=r,a)}function b(){var n=Xo(),e=g(n);if(u=arguments,o=this,l=n,e){if(c===r)return function(n){return s=n,c=eo(y,t),h?_(n):a}(l);if(p)return Hu(c),c=eo(y,t),_(l)}return c===r&&(c=eo(y,t)),a}return t=qf(t)||0,Rf(e)&&(h=!!e.leading,f=(p="maxWait"in e)?Zr(qf(e.maxWait)||0,t):f,v="trailing"in e?!!e.trailing:v),b.cancel=function(){c!==r&&Hu(c),s=0,u=l=o=c=r},b.flush=function(){return c===r?a:d(Xo())},b}var of=ju(function(n,t){return Te(n,1,t)}),ff=ju(function(n,t,r){return Te(n,qf(t)||0,r)});function af(n,t){if("function"!=typeof n||null!=t&&"function"!=typeof t)throw new it(i);var r=function(){var e=arguments,u=t?t.apply(this,e):e[0],i=r.cache;if(i.has(u))return i.get(u);var o=n.apply(this,e);return r.cache=i.set(u,o)||i,o};return r.cache=new(af.Cache||we),r}function cf(n){if("function"!=typeof n)throw new it(i);return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}af.Cache=we;var lf=Vu(function(n,t){var r=(t=1==t.length&&df(t[0])?Yt(t[0],vr(Bi())):Yt(qe(t,1),vr(Bi()))).length;return ju(function(e){for(var u=-1,i=Kr(e.length,r);++u<i;)e[u]=t[u].call(this,e[u]);return Pt(n,this,e)})}),sf=ju(function(n,t){var e=kr(t,Ci(sf));return Ai(n,b,r,t,e)}),hf=ju(function(n,t){var e=kr(t,Ci(hf));return Ai(n,w,r,t,e)}),pf=Ei(function(n,t){return Ai(n,x,r,r,r,t)});function vf(n,t){return n===t||n!=n&&t!=t}var _f=bi(Xe),gf=bi(function(n,t){return n>=t}),yf=uu(function(){return arguments}())?uu:function(n){return Ef(n)&&st.call(n,"callee")&&!Ut.call(n,"callee")},df=Yn.isArray,bf=Tt?vr(Tt):function(n){return Ef(n)&&Qe(n)==on};function wf(n){return null!=n&&If(n.length)&&!kf(n)}function mf(n){return Ef(n)&&wf(n)}var xf=Fr||qa,jf=$t?vr($t):function(n){return Ef(n)&&Qe(n)==N};function Af(n){if(!Ef(n))return!1;var t=Qe(n);return t==q||t==P||"string"==typeof n.message&&"string"==typeof n.name&&!Lf(n)}function kf(n){if(!Rf(n))return!1;var t=Qe(n);return t==Z||t==K||t==M||t==Y}function Of(n){return"number"==typeof n&&n==Nf(n)}function If(n){return"number"==typeof n&&n>-1&&n%1==0&&n<=S}function Rf(n){var t=typeof n;return null!=n&&("object"==t||"function"==t)}function Ef(n){return null!=n&&"object"==typeof n}var zf=Dt?vr(Dt):function(n){return Ef(n)&&Fi(n)==V};function Sf(n){return"number"==typeof n||Ef(n)&&Qe(n)==G}function Lf(n){if(!Ef(n)||Qe(n)!=J)return!1;var t=Wt(n);if(null===t)return!0;var r=st.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&<.call(r)==_t}var Wf=Mt?vr(Mt):function(n){return Ef(n)&&Qe(n)==Q};var Cf=Ft?vr(Ft):function(n){return Ef(n)&&Fi(n)==X};function Bf(n){return"string"==typeof n||!df(n)&&Ef(n)&&Qe(n)==nn}function Uf(n){return"symbol"==typeof n||Ef(n)&&Qe(n)==tn}var Tf=Nt?vr(Nt):function(n){return Ef(n)&&If(n.length)&&!!At[Qe(n)]};var $f=bi(su),Df=bi(function(n,t){return n<=t});function Mf(n){if(!n)return[];if(wf(n))return Bf(n)?Er(n):ri(n);if(Lr&&n[Lr])return function(n){for(var t,r=[];!(t=n.next()).done;)r.push(t.value);return r}(n[Lr]());var t=Fi(n);return(t==V?jr:t==X?Or:va)(n)}function Ff(n){return n?(n=qf(n))===z||n===-z?(n<0?-1:1)*L:n==n?n:0:0===n?n:0}function Nf(n){var t=Ff(n),r=t%1;return t==t?r?t-r:t:0}function Pf(n){return n?Ce(Nf(n),0,C):0}function qf(n){if("number"==typeof n)return n;if(Uf(n))return W;if(Rf(n)){var t="function"==typeof n.valueOf?n.valueOf():n;n=Rf(t)?t+"":t}if("string"!=typeof n)return 0===n?n:+n;n=n.replace(Ln,"");var r=Pn.test(n);return r||Zn.test(n)?Rt(n.slice(2),r?2:8):Nn.test(n)?W:+n}function Zf(n){return ei(n,oa(n))}function Kf(n){return null==n?"":Uu(n)}var Vf=ii(function(n,t){if(Ji(t)||wf(t))ei(t,ia(t),n);else for(var r in t)st.call(t,r)&&Re(n,r,t[r])}),Gf=ii(function(n,t){ei(t,oa(t),n)}),Hf=ii(function(n,t,r,e){ei(t,oa(t),n,e)}),Jf=ii(function(n,t,r,e){ei(t,ia(t),n,e)}),Yf=Ei(We);var Qf=ju(function(n,t){n=rt(n);var e=-1,u=t.length,i=u>2?t[2]:r;for(i&&Ki(t[0],t[1],i)&&(u=1);++e<u;)for(var o=t[e],f=oa(o),a=-1,c=f.length;++a<c;){var l=f[a],s=n[l];(s===r||vf(s,at[l])&&!st.call(n,l))&&(n[l]=o[l])}return n}),Xf=ju(function(n){return n.push(r,Oi),Pt(aa,r,n)});function na(n,t,e){var u=null==n?r:Je(n,t);return u===r?e:u}function ta(n,t){return null!=n&&Ni(n,t,tu)}var ra=vi(function(n,t,r){null!=t&&"function"!=typeof t.toString&&(t=vt.call(t)),n[t]=r},Ra(Sa)),ea=vi(function(n,t,r){null!=t&&"function"!=typeof t.toString&&(t=vt.call(t)),st.call(n,t)?n[t].push(r):n[t]=[r]},Bi),ua=ju(eu);function ia(n){return wf(n)?je(n):cu(n)}function oa(n){return wf(n)?je(n,!0):lu(n)}var fa=ii(function(n,t,r){_u(n,t,r)}),aa=ii(function(n,t,r,e){_u(n,t,r,e)}),ca=Ei(function(n,t){var r={};if(null==n)return r;var e=!1;t=Yt(t,function(t){return t=Ku(t,n),e||(e=t.length>1),t}),ei(n,Si(n),r),e&&(r=Be(r,c|l|s,Ii));for(var u=t.length;u--;)$u(r,t[u]);return r});var la=Ei(function(n,t){return null==n?{}:function(n,t){return du(n,t,function(t,r){return ta(n,r)})}(n,t)});function sa(n,t){if(null==n)return{};var r=Yt(Si(n),function(n){return[n]});return t=Bi(t),du(n,r,function(n,r){return t(n,r[0])})}var ha=ji(ia),pa=ji(oa);function va(n){return null==n?[]:_r(n,ia(n))}var _a=ci(function(n,t,r){return t=t.toLowerCase(),n+(r?ga(t):t)});function ga(n){return Aa(Kf(n).toLowerCase())}function ya(n){return(n=Kf(n))&&n.replace(Vn,br).replace(yt,"")}var da=ci(function(n,t,r){return n+(r?"-":"")+t.toLowerCase()}),ba=ci(function(n,t,r){return n+(r?" ":"")+t.toLowerCase()}),wa=ai("toLowerCase");var ma=ci(function(n,t,r){return n+(r?"_":"")+t.toLowerCase()});var xa=ci(function(n,t,r){return n+(r?" ":"")+Aa(t)});var ja=ci(function(n,t,r){return n+(r?" ":"")+t.toUpperCase()}),Aa=ai("toUpperCase");function ka(n,t,e){return n=Kf(n),(t=e?r:t)===r?function(n){return mt.test(n)}(n)?function(n){return n.match(bt)||[]}(n):function(n){return n.match($n)||[]}(n):n.match(t)||[]}var Oa=ju(function(n,t){try{return Pt(n,r,t)}catch(e){return Af(e)?e:new Xn(e)}}),Ia=Ei(function(n,t){return Zt(t,function(t){t=co(t),Le(n,t,rf(n[t],n))}),n});function Ra(n){return function(){return n}}var Ea=hi(),za=hi(!0);function Sa(n){return n}function La(n){return au("function"==typeof n?n:Be(n,c))}var Wa=ju(function(n,t){return function(r){return eu(r,n,t)}}),Ca=ju(function(n,t){return function(r){return eu(n,r,t)}});function Ba(n,t,r){var e=ia(t),u=He(t,e);null!=r||Rf(t)&&(u.length||!e.length)||(r=t,t=n,n=this,u=He(t,ia(t)));var i=!(Rf(r)&&"chain"in r&&!r.chain),o=kf(n);return Zt(u,function(r){var e=t[r];n[r]=e,o&&(n.prototype[r]=function(){var t=this.__chain__;if(i||t){var r=n(this.__wrapped__);return(r.__actions__=ri(this.__actions__)).push({func:e,args:arguments,thisArg:n}),r.__chain__=t,r}return e.apply(n,Qt([this.value()],arguments))})}),n}function Ua(){}var Ta=gi(Yt),$a=gi(Vt),Da=gi(tr);function Ma(n){return Vi(n)?cr(co(n)):function(n){return function(t){return Je(t,n)}}(n)}var Fa=di(),Na=di(!0);function Pa(){return[]}function qa(){return!1}var Za=_i(function(n,t){return n+t},0),Ka=mi("ceil"),Va=_i(function(n,t){return n/t},1),Ga=mi("floor");var Ha,Ja=_i(function(n,t){return n*t},1),Ya=mi("round"),Qa=_i(function(n,t){return n-t},0);return pe.after=function(n,t){if("function"!=typeof t)throw new it(i);return n=Nf(n),function(){if(--n<1)return t.apply(this,arguments)}},pe.ary=nf,pe.assign=Vf,pe.assignIn=Gf,pe.assignInWith=Hf,pe.assignWith=Jf,pe.at=Yf,pe.before=tf,pe.bind=rf,pe.bindAll=Ia,pe.bindKey=ef,pe.castArray=function(){if(!arguments.length)return[];var n=arguments[0];return df(n)?n:[n]},pe.chain=Do,pe.chunk=function(n,t,e){t=(e?Ki(n,t,e):t===r)?1:Zr(Nf(t),0);var u=null==n?0:n.length;if(!u||t<1)return[];for(var i=0,o=0,f=Yn($r(u/t));i<u;)f[o++]=zu(n,i,i+=t);return f},pe.compact=function(n){for(var t=-1,r=null==n?0:n.length,e=0,u=[];++t<r;){var i=n[t];i&&(u[e++]=i)}return u},pe.concat=function(){var n=arguments.length;if(!n)return[];for(var t=Yn(n-1),r=arguments[0],e=n;e--;)t[e-1]=arguments[e];return Qt(df(r)?ri(r):[r],qe(t,1))},pe.cond=function(n){var t=null==n?0:n.length,r=Bi();return n=t?Yt(n,function(n){if("function"!=typeof n[1])throw new it(i);return[r(n[0]),n[1]]}):[],ju(function(r){for(var e=-1;++e<t;){var u=n[e];if(Pt(u[0],this,r))return Pt(u[1],this,r)}})},pe.conforms=function(n){return function(n){var t=ia(n);return function(r){return Ue(r,n,t)}}(Be(n,c))},pe.constant=Ra,pe.countBy=No,pe.create=function(n,t){var r=ve(n);return null==t?r:Se(r,t)},pe.curry=function n(t,e,u){var i=Ai(t,y,r,r,r,r,r,e=u?r:e);return i.placeholder=n.placeholder,i},pe.curryRight=function n(t,e,u){var i=Ai(t,d,r,r,r,r,r,e=u?r:e);return i.placeholder=n.placeholder,i},pe.debounce=uf,pe.defaults=Qf,pe.defaultsDeep=Xf,pe.defer=of,pe.delay=ff,pe.difference=ho,pe.differenceBy=po,pe.differenceWith=vo,pe.drop=function(n,t,e){var u=null==n?0:n.length;return u?zu(n,(t=e||t===r?1:Nf(t))<0?0:t,u):[]},pe.dropRight=function(n,t,e){var u=null==n?0:n.length;return u?zu(n,0,(t=u-(t=e||t===r?1:Nf(t)))<0?0:t):[]},pe.dropRightWhile=function(n,t){return n&&n.length?Mu(n,Bi(t,3),!0,!0):[]},pe.dropWhile=function(n,t){return n&&n.length?Mu(n,Bi(t,3),!0):[]},pe.fill=function(n,t,e,u){var i=null==n?0:n.length;return i?(e&&"number"!=typeof e&&Ki(n,t,e)&&(e=0,u=i),function(n,t,e,u){var i=n.length;for((e=Nf(e))<0&&(e=-e>i?0:i+e),(u=u===r||u>i?i:Nf(u))<0&&(u+=i),u=e>u?0:Pf(u);e<u;)n[e++]=t;return n}(n,t,e,u)):[]},pe.filter=function(n,t){return(df(n)?Gt:Pe)(n,Bi(t,3))},pe.flatMap=function(n,t){return qe(Jo(n,t),1)},pe.flatMapDeep=function(n,t){return qe(Jo(n,t),z)},pe.flatMapDepth=function(n,t,e){return e=e===r?1:Nf(e),qe(Jo(n,t),e)},pe.flatten=yo,pe.flattenDeep=function(n){return null!=n&&n.length?qe(n,z):[]},pe.flattenDepth=function(n,t){return null!=n&&n.length?qe(n,t=t===r?1:Nf(t)):[]},pe.flip=function(n){return Ai(n,j)},pe.flow=Ea,pe.flowRight=za,pe.fromPairs=function(n){for(var t=-1,r=null==n?0:n.length,e={};++t<r;){var u=n[t];e[u[0]]=u[1]}return e},pe.functions=function(n){return null==n?[]:He(n,ia(n))},pe.functionsIn=function(n){return null==n?[]:He(n,oa(n))},pe.groupBy=Vo,pe.initial=function(n){return null!=n&&n.length?zu(n,0,-1):[]},pe.intersection=wo,pe.intersectionBy=mo,pe.intersectionWith=xo,pe.invert=ra,pe.invertBy=ea,pe.invokeMap=Go,pe.iteratee=La,pe.keyBy=Ho,pe.keys=ia,pe.keysIn=oa,pe.map=Jo,pe.mapKeys=function(n,t){var r={};return t=Bi(t,3),Ve(n,function(n,e,u){Le(r,t(n,e,u),n)}),r},pe.mapValues=function(n,t){var r={};return t=Bi(t,3),Ve(n,function(n,e,u){Le(r,e,t(n,e,u))}),r},pe.matches=function(n){return pu(Be(n,c))},pe.matchesProperty=function(n,t){return vu(n,Be(t,c))},pe.memoize=af,pe.merge=fa,pe.mergeWith=aa,pe.method=Wa,pe.methodOf=Ca,pe.mixin=Ba,pe.negate=cf,pe.nthArg=function(n){return n=Nf(n),ju(function(t){return gu(t,n)})},pe.omit=ca,pe.omitBy=function(n,t){return sa(n,cf(Bi(t)))},pe.once=function(n){return tf(2,n)},pe.orderBy=function(n,t,e,u){return null==n?[]:(df(t)||(t=null==t?[]:[t]),df(e=u?r:e)||(e=null==e?[]:[e]),yu(n,t,e))},pe.over=Ta,pe.overArgs=lf,pe.overEvery=$a,pe.overSome=Da,pe.partial=sf,pe.partialRight=hf,pe.partition=Yo,pe.pick=la,pe.pickBy=sa,pe.property=Ma,pe.propertyOf=function(n){return function(t){return null==n?r:Je(n,t)}},pe.pull=Ao,pe.pullAll=ko,pe.pullAllBy=function(n,t,r){return n&&n.length&&t&&t.length?bu(n,t,Bi(r,2)):n},pe.pullAllWith=function(n,t,e){return n&&n.length&&t&&t.length?bu(n,t,r,e):n},pe.pullAt=Oo,pe.range=Fa,pe.rangeRight=Na,pe.rearg=pf,pe.reject=function(n,t){return(df(n)?Gt:Pe)(n,cf(Bi(t,3)))},pe.remove=function(n,t){var r=[];if(!n||!n.length)return r;var e=-1,u=[],i=n.length;for(t=Bi(t,3);++e<i;){var o=n[e];t(o,e,n)&&(r.push(o),u.push(e))}return wu(n,u),r},pe.rest=function(n,t){if("function"!=typeof n)throw new it(i);return ju(n,t=t===r?t:Nf(t))},pe.reverse=Io,pe.sampleSize=function(n,t,e){return t=(e?Ki(n,t,e):t===r)?1:Nf(t),(df(n)?ke:ku)(n,t)},pe.set=function(n,t,r){return null==n?n:Ou(n,t,r)},pe.setWith=function(n,t,e,u){return u="function"==typeof u?u:r,null==n?n:Ou(n,t,e,u)},pe.shuffle=function(n){return(df(n)?Oe:Eu)(n)},pe.slice=function(n,t,e){var u=null==n?0:n.length;return u?(e&&"number"!=typeof e&&Ki(n,t,e)?(t=0,e=u):(t=null==t?0:Nf(t),e=e===r?u:Nf(e)),zu(n,t,e)):[]},pe.sortBy=Qo,pe.sortedUniq=function(n){return n&&n.length?Cu(n):[]},pe.sortedUniqBy=function(n,t){return n&&n.length?Cu(n,Bi(t,2)):[]},pe.split=function(n,t,e){return e&&"number"!=typeof e&&Ki(n,t,e)&&(t=e=r),(e=e===r?C:e>>>0)?(n=Kf(n))&&("string"==typeof t||null!=t&&!Wf(t))&&!(t=Uu(t))&&xr(n)?Gu(Er(n),0,e):n.split(t,e):[]},pe.spread=function(n,t){if("function"!=typeof n)throw new it(i);return t=null==t?0:Zr(Nf(t),0),ju(function(r){var e=r[t],u=Gu(r,0,t);return e&&Qt(u,e),Pt(n,this,u)})},pe.tail=function(n){var t=null==n?0:n.length;return t?zu(n,1,t):[]},pe.take=function(n,t,e){return n&&n.length?zu(n,0,(t=e||t===r?1:Nf(t))<0?0:t):[]},pe.takeRight=function(n,t,e){var u=null==n?0:n.length;return u?zu(n,(t=u-(t=e||t===r?1:Nf(t)))<0?0:t,u):[]},pe.takeRightWhile=function(n,t){return n&&n.length?Mu(n,Bi(t,3),!1,!0):[]},pe.takeWhile=function(n,t){return n&&n.length?Mu(n,Bi(t,3)):[]},pe.tap=function(n,t){return t(n),n},pe.throttle=function(n,t,r){var e=!0,u=!0;if("function"!=typeof n)throw new it(i);return Rf(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),uf(n,t,{leading:e,maxWait:t,trailing:u})},pe.thru=Mo,pe.toArray=Mf,pe.toPairs=ha,pe.toPairsIn=pa,pe.toPath=function(n){return df(n)?Yt(n,co):Uf(n)?[n]:ri(ao(Kf(n)))},pe.toPlainObject=Zf,pe.transform=function(n,t,r){var e=df(n),u=e||xf(n)||Tf(n);if(t=Bi(t,4),null==r){var i=n&&n.constructor;r=u?e?new i:[]:Rf(n)&&kf(i)?ve(Wt(n)):{}}return(u?Zt:Ve)(n,function(n,e,u){return t(r,n,e,u)}),r},pe.unary=function(n){return nf(n,1)},pe.union=Ro,pe.unionBy=Eo,pe.unionWith=zo,pe.uniq=function(n){return n&&n.length?Tu(n):[]},pe.uniqBy=function(n,t){return n&&n.length?Tu(n,Bi(t,2)):[]},pe.uniqWith=function(n,t){return t="function"==typeof t?t:r,n&&n.length?Tu(n,r,t):[]},pe.unset=function(n,t){return null==n||$u(n,t)},pe.unzip=So,pe.unzipWith=Lo,pe.update=function(n,t,r){return null==n?n:Du(n,t,Zu(r))},pe.updateWith=function(n,t,e,u){return u="function"==typeof u?u:r,null==n?n:Du(n,t,Zu(e),u)},pe.values=va,pe.valuesIn=function(n){return null==n?[]:_r(n,oa(n))},pe.without=Wo,pe.words=ka,pe.wrap=function(n,t){return sf(Zu(t),n)},pe.xor=Co,pe.xorBy=Bo,pe.xorWith=Uo,pe.zip=To,pe.zipObject=function(n,t){return Pu(n||[],t||[],Re)},pe.zipObjectDeep=function(n,t){return Pu(n||[],t||[],Ou)},pe.zipWith=$o,pe.entries=ha,pe.entriesIn=pa,pe.extend=Gf,pe.extendWith=Hf,Ba(pe,pe),pe.add=Za,pe.attempt=Oa,pe.camelCase=_a,pe.capitalize=ga,pe.ceil=Ka,pe.clamp=function(n,t,e){return e===r&&(e=t,t=r),e!==r&&(e=(e=qf(e))==e?e:0),t!==r&&(t=(t=qf(t))==t?t:0),Ce(qf(n),t,e)},pe.clone=function(n){return Be(n,s)},pe.cloneDeep=function(n){return Be(n,c|s)},pe.cloneDeepWith=function(n,t){return Be(n,c|s,t="function"==typeof t?t:r)},pe.cloneWith=function(n,t){return Be(n,s,t="function"==typeof t?t:r)},pe.conformsTo=function(n,t){return null==t||Ue(n,t,ia(t))},pe.deburr=ya,pe.defaultTo=function(n,t){return null==n||n!=n?t:n},pe.divide=Va,pe.endsWith=function(n,t,e){n=Kf(n),t=Uu(t);var u=n.length,i=e=e===r?u:Ce(Nf(e),0,u);return(e-=t.length)>=0&&n.slice(e,i)==t},pe.eq=vf,pe.escape=function(n){return(n=Kf(n))&&jn.test(n)?n.replace(mn,wr):n},pe.escapeRegExp=function(n){return(n=Kf(n))&&Sn.test(n)?n.replace(zn,"\\$&"):n},pe.every=function(n,t,e){var u=df(n)?Vt:Fe;return e&&Ki(n,t,e)&&(t=r),u(n,Bi(t,3))},pe.find=Po,pe.findIndex=_o,pe.findKey=function(n,t){return er(n,Bi(t,3),Ve)},pe.findLast=qo,pe.findLastIndex=go,pe.findLastKey=function(n,t){return er(n,Bi(t,3),Ge)},pe.floor=Ga,pe.forEach=Zo,pe.forEachRight=Ko,pe.forIn=function(n,t){return null==n?n:Ze(n,Bi(t,3),oa)},pe.forInRight=function(n,t){return null==n?n:Ke(n,Bi(t,3),oa)},pe.forOwn=function(n,t){return n&&Ve(n,Bi(t,3))},pe.forOwnRight=function(n,t){return n&&Ge(n,Bi(t,3))},pe.get=na,pe.gt=_f,pe.gte=gf,pe.has=function(n,t){return null!=n&&Ni(n,t,nu)},pe.hasIn=ta,pe.head=bo,pe.identity=Sa,pe.includes=function(n,t,r,e){n=wf(n)?n:va(n),r=r&&!e?Nf(r):0;var u=n.length;return r<0&&(r=Zr(u+r,0)),Bf(n)?r<=u&&n.indexOf(t,r)>-1:!!u&&ir(n,t,r)>-1},pe.indexOf=function(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=null==r?0:Nf(r);return u<0&&(u=Zr(e+u,0)),ir(n,t,u)},pe.inRange=function(n,t,e){return t=Ff(t),e===r?(e=t,t=0):e=Ff(e),function(n,t,r){return n>=Kr(t,r)&&n<Zr(t,r)}(n=qf(n),t,e)},pe.invoke=ua,pe.isArguments=yf,pe.isArray=df,pe.isArrayBuffer=bf,pe.isArrayLike=wf,pe.isArrayLikeObject=mf,pe.isBoolean=function(n){return!0===n||!1===n||Ef(n)&&Qe(n)==F},pe.isBuffer=xf,pe.isDate=jf,pe.isElement=function(n){return Ef(n)&&1===n.nodeType&&!Lf(n)},pe.isEmpty=function(n){if(null==n)return!0;if(wf(n)&&(df(n)||"string"==typeof n||"function"==typeof n.splice||xf(n)||Tf(n)||yf(n)))return!n.length;var t=Fi(n);if(t==V||t==X)return!n.size;if(Ji(n))return!cu(n).length;for(var r in n)if(st.call(n,r))return!1;return!0},pe.isEqual=function(n,t){return iu(n,t)},pe.isEqualWith=function(n,t,e){var u=(e="function"==typeof e?e:r)?e(n,t):r;return u===r?iu(n,t,r,e):!!u},pe.isError=Af,pe.isFinite=function(n){return"number"==typeof n&&Nr(n)},pe.isFunction=kf,pe.isInteger=Of,pe.isLength=If,pe.isMap=zf,pe.isMatch=function(n,t){return n===t||ou(n,t,Ti(t))},pe.isMatchWith=function(n,t,e){return e="function"==typeof e?e:r,ou(n,t,Ti(t),e)},pe.isNaN=function(n){return Sf(n)&&n!=+n},pe.isNative=function(n){if(Hi(n))throw new Xn(u);return fu(n)},pe.isNil=function(n){return null==n},pe.isNull=function(n){return null===n},pe.isNumber=Sf,pe.isObject=Rf,pe.isObjectLike=Ef,pe.isPlainObject=Lf,pe.isRegExp=Wf,pe.isSafeInteger=function(n){return Of(n)&&n>=-S&&n<=S},pe.isSet=Cf,pe.isString=Bf,pe.isSymbol=Uf,pe.isTypedArray=Tf,pe.isUndefined=function(n){return n===r},pe.isWeakMap=function(n){return Ef(n)&&Fi(n)==en},pe.isWeakSet=function(n){return Ef(n)&&Qe(n)==un},pe.join=function(n,t){return null==n?"":Pr.call(n,t)},pe.kebabCase=da,pe.last=jo,pe.lastIndexOf=function(n,t,e){var u=null==n?0:n.length;if(!u)return-1;var i=u;return e!==r&&(i=(i=Nf(e))<0?Zr(u+i,0):Kr(i,u-1)),t==t?function(n,t,r){for(var e=r+1;e--;)if(n[e]===t)return e;return e}(n,t,i):ur(n,fr,i,!0)},pe.lowerCase=ba,pe.lowerFirst=wa,pe.lt=$f,pe.lte=Df,pe.max=function(n){return n&&n.length?Ne(n,Sa,Xe):r},pe.maxBy=function(n,t){return n&&n.length?Ne(n,Bi(t,2),Xe):r},pe.mean=function(n){return ar(n,Sa)},pe.meanBy=function(n,t){return ar(n,Bi(t,2))},pe.min=function(n){return n&&n.length?Ne(n,Sa,su):r},pe.minBy=function(n,t){return n&&n.length?Ne(n,Bi(t,2),su):r},pe.stubArray=Pa,pe.stubFalse=qa,pe.stubObject=function(){return{}},pe.stubString=function(){return""},pe.stubTrue=function(){return!0},pe.multiply=Ja,pe.nth=function(n,t){return n&&n.length?gu(n,Nf(t)):r},pe.noConflict=function(){return St._===this&&(St._=dt),this},pe.noop=Ua,pe.now=Xo,pe.pad=function(n,t,r){n=Kf(n);var e=(t=Nf(t))?Rr(n):0;if(!t||e>=t)return n;var u=(t-e)/2;return yi(Dr(u),r)+n+yi($r(u),r)},pe.padEnd=function(n,t,r){n=Kf(n);var e=(t=Nf(t))?Rr(n):0;return t&&e<t?n+yi(t-e,r):n},pe.padStart=function(n,t,r){n=Kf(n);var e=(t=Nf(t))?Rr(n):0;return t&&e<t?yi(t-e,r)+n:n},pe.parseInt=function(n,t,r){return r||null==t?t=0:t&&(t=+t),Gr(Kf(n).replace(Wn,""),t||0)},pe.random=function(n,t,e){if(e&&"boolean"!=typeof e&&Ki(n,t,e)&&(t=e=r),e===r&&("boolean"==typeof t?(e=t,t=r):"boolean"==typeof n&&(e=n,n=r)),n===r&&t===r?(n=0,t=1):(n=Ff(n),t===r?(t=n,n=0):t=Ff(t)),n>t){var u=n;n=t,t=u}if(e||n%1||t%1){var i=Hr();return Kr(n+i*(t-n+It("1e-"+((i+"").length-1))),t)}return mu(n,t)},pe.reduce=function(n,t,r){var e=df(n)?Xt:sr,u=arguments.length<3;return e(n,Bi(t,4),r,u,De)},pe.reduceRight=function(n,t,r){var e=df(n)?nr:sr,u=arguments.length<3;return e(n,Bi(t,4),r,u,Me)},pe.repeat=function(n,t,e){return t=(e?Ki(n,t,e):t===r)?1:Nf(t),xu(Kf(n),t)},pe.replace=function(){var n=arguments,t=Kf(n[0]);return n.length<3?t:t.replace(n[1],n[2])},pe.result=function(n,t,e){var u=-1,i=(t=Ku(t,n)).length;for(i||(i=1,n=r);++u<i;){var o=null==n?r:n[co(t[u])];o===r&&(u=i,o=e),n=kf(o)?o.call(n):o}return n},pe.round=Ya,pe.runInContext=n,pe.sample=function(n){return(df(n)?Ae:Au)(n)},pe.size=function(n){if(null==n)return 0;if(wf(n))return Bf(n)?Rr(n):n.length;var t=Fi(n);return t==V||t==X?n.size:cu(n).length},pe.snakeCase=ma,pe.some=function(n,t,e){var u=df(n)?tr:Su;return e&&Ki(n,t,e)&&(t=r),u(n,Bi(t,3))},pe.sortedIndex=function(n,t){return Lu(n,t)},pe.sortedIndexBy=function(n,t,r){return Wu(n,t,Bi(r,2))},pe.sortedIndexOf=function(n,t){var r=null==n?0:n.length;if(r){var e=Lu(n,t);if(e<r&&vf(n[e],t))return e}return-1},pe.sortedLastIndex=function(n,t){return Lu(n,t,!0)},pe.sortedLastIndexBy=function(n,t,r){return Wu(n,t,Bi(r,2),!0)},pe.sortedLastIndexOf=function(n,t){if(null!=n&&n.length){var r=Lu(n,t,!0)-1;if(vf(n[r],t))return r}return-1},pe.startCase=xa,pe.startsWith=function(n,t,r){return n=Kf(n),r=null==r?0:Ce(Nf(r),0,n.length),t=Uu(t),n.slice(r,r+t.length)==t},pe.subtract=Qa,pe.sum=function(n){return n&&n.length?hr(n,Sa):0},pe.sumBy=function(n,t){return n&&n.length?hr(n,Bi(t,2)):0},pe.template=function(n,t,e){var u=pe.templateSettings;e&&Ki(n,t,e)&&(t=r),n=Kf(n),t=Hf({},t,u,ki);var i,o,f=Hf({},t.imports,u.imports,ki),a=ia(f),c=_r(f,a),l=0,s=t.interpolate||Gn,h="__p += '",p=et((t.escape||Gn).source+"|"+s.source+"|"+(s===On?Mn:Gn).source+"|"+(t.evaluate||Gn).source+"|$","g"),v="//# sourceURL="+(st.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++jt+"]")+"\n";n.replace(p,function(t,r,e,u,f,a){return e||(e=u),h+=n.slice(l,a).replace(Hn,mr),r&&(i=!0,h+="' +\n__e("+r+") +\n'"),f&&(o=!0,h+="';\n"+f+";\n__p += '"),e&&(h+="' +\n((__t = ("+e+")) == null ? '' : __t) +\n'"),l=a+t.length,t}),h+="';\n";var _=st.call(t,"variable")&&t.variable;_||(h="with (obj) {\n"+h+"\n}\n"),h=(o?h.replace(yn,""):h).replace(dn,"$1").replace(bn,"$1;"),h="function("+(_||"obj")+") {\n"+(_?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(i?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+h+"return __p\n}";var g=Oa(function(){return nt(a,v+"return "+h).apply(r,c)});if(g.source=h,Af(g))throw g;return g},pe.times=function(n,t){if((n=Nf(n))<1||n>S)return[];var r=C,e=Kr(n,C);t=Bi(t),n-=C;for(var u=pr(e,t);++r<n;)t(r);return u},pe.toFinite=Ff,pe.toInteger=Nf,pe.toLength=Pf,pe.toLower=function(n){return Kf(n).toLowerCase()},pe.toNumber=qf,pe.toSafeInteger=function(n){return n?Ce(Nf(n),-S,S):0===n?n:0},pe.toString=Kf,pe.toUpper=function(n){return Kf(n).toUpperCase()},pe.trim=function(n,t,e){if((n=Kf(n))&&(e||t===r))return n.replace(Ln,"");if(!n||!(t=Uu(t)))return n;var u=Er(n),i=Er(t);return Gu(u,yr(u,i),dr(u,i)+1).join("")},pe.trimEnd=function(n,t,e){if((n=Kf(n))&&(e||t===r))return n.replace(Cn,"");if(!n||!(t=Uu(t)))return n;var u=Er(n);return Gu(u,0,dr(u,Er(t))+1).join("")},pe.trimStart=function(n,t,e){if((n=Kf(n))&&(e||t===r))return n.replace(Wn,"");if(!n||!(t=Uu(t)))return n;var u=Er(n);return Gu(u,yr(u,Er(t))).join("")},pe.truncate=function(n,t){var e=A,u=k;if(Rf(t)){var i="separator"in t?t.separator:i;e="length"in t?Nf(t.length):e,u="omission"in t?Uu(t.omission):u}var o=(n=Kf(n)).length;if(xr(n)){var f=Er(n);o=f.length}if(e>=o)return n;var a=e-Rr(u);if(a<1)return u;var c=f?Gu(f,0,a).join(""):n.slice(0,a);if(i===r)return c+u;if(f&&(a+=c.length-a),Wf(i)){if(n.slice(a).search(i)){var l,s=c;for(i.global||(i=et(i.source,Kf(Fn.exec(i))+"g")),i.lastIndex=0;l=i.exec(s);)var h=l.index;c=c.slice(0,h===r?a:h)}}else if(n.indexOf(Uu(i),a)!=a){var p=c.lastIndexOf(i);p>-1&&(c=c.slice(0,p))}return c+u},pe.unescape=function(n){return(n=Kf(n))&&xn.test(n)?n.replace(wn,zr):n},pe.uniqueId=function(n){var t=++ht;return Kf(n)+t},pe.upperCase=ja,pe.upperFirst=Aa,pe.each=Zo,pe.eachRight=Ko,pe.first=bo,Ba(pe,(Ha={},Ve(pe,function(n,t){st.call(pe.prototype,t)||(Ha[t]=n)}),Ha),{chain:!1}),pe.VERSION="4.17.20",Zt(["bind","bindKey","curry","curryRight","partial","partialRight"],function(n){pe[n].placeholder=pe}),Zt(["drop","take"],function(n,t){ye.prototype[n]=function(e){e=e===r?1:Zr(Nf(e),0);var u=this.__filtered__&&!t?new ye(this):this.clone();return u.__filtered__?u.__takeCount__=Kr(e,u.__takeCount__):u.__views__.push({size:Kr(e,C),type:n+(u.__dir__<0?"Right":"")}),u},ye.prototype[n+"Right"]=function(t){return this.reverse()[n](t).reverse()}}),Zt(["filter","map","takeWhile"],function(n,t){var r=t+1,e=r==R||3==r;ye.prototype[n]=function(n){var t=this.clone();return t.__iteratees__.push({iteratee:Bi(n,3),type:r}),t.__filtered__=t.__filtered__||e,t}}),Zt(["head","last"],function(n,t){var r="take"+(t?"Right":"");ye.prototype[n]=function(){return this[r](1).value()[0]}}),Zt(["initial","tail"],function(n,t){var r="drop"+(t?"":"Right");ye.prototype[n]=function(){return this.__filtered__?new ye(this):this[r](1)}}),ye.prototype.compact=function(){return this.filter(Sa)},ye.prototype.find=function(n){return this.filter(n).head()},ye.prototype.findLast=function(n){return this.reverse().find(n)},ye.prototype.invokeMap=ju(function(n,t){return"function"==typeof n?new ye(this):this.map(function(r){return eu(r,n,t)})}),ye.prototype.reject=function(n){return this.filter(cf(Bi(n)))},ye.prototype.slice=function(n,t){n=Nf(n);var e=this;return e.__filtered__&&(n>0||t<0)?new ye(e):(n<0?e=e.takeRight(-n):n&&(e=e.drop(n)),t!==r&&(e=(t=Nf(t))<0?e.dropRight(-t):e.take(t-n)),e)},ye.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},ye.prototype.toArray=function(){return this.take(C)},Ve(ye.prototype,function(n,t){var e=/^(?:filter|find|map|reject)|While$/.test(t),u=/^(?:head|last)$/.test(t),i=pe[u?"take"+("last"==t?"Right":""):t],o=u||/^find/.test(t);i&&(pe.prototype[t]=function(){var t=this.__wrapped__,f=u?[1]:arguments,a=t instanceof ye,c=f[0],l=a||df(t),s=function(n){var t=i.apply(pe,Qt([n],f));return u&&h?t[0]:t};l&&e&&"function"==typeof c&&1!=c.length&&(a=l=!1);var h=this.__chain__,p=!!this.__actions__.length,v=o&&!h,_=a&&!p;if(!o&&l){t=_?t:new ye(this);var g=n.apply(t,f);return g.__actions__.push({func:Mo,args:[s],thisArg:r}),new ge(g,h)}return v&&_?n.apply(this,f):(g=this.thru(s),v?u?g.value()[0]:g.value():g)})}),Zt(["pop","push","shift","sort","splice","unshift"],function(n){var t=ot[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|shift)$/.test(n);pe.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(df(u)?u:[],n)}return this[r](function(r){return t.apply(df(r)?r:[],n)})}}),Ve(ye.prototype,function(n,t){var r=pe[t];if(r){var e=r.name+"";st.call(ue,e)||(ue[e]=[]),ue[e].push({name:t,func:r})}}),ue[pi(r,_).name]=[{name:"wrapper",func:r}],ye.prototype.clone=function(){var n=new ye(this.__wrapped__);return n.__actions__=ri(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=ri(this.__iteratees__),n.__takeCount__=this.__takeCount__,n.__views__=ri(this.__views__),n},ye.prototype.reverse=function(){if(this.__filtered__){var n=new ye(this);n.__dir__=-1,n.__filtered__=!0}else(n=this.clone()).__dir__*=-1;return n},ye.prototype.value=function(){var n=this.__wrapped__.value(),t=this.__dir__,r=df(n),e=t<0,u=r?n.length:0,i=function(n,t,r){for(var e=-1,u=r.length;++e<u;){var i=r[e],o=i.size;switch(i.type){case"drop":n+=o;break;case"dropRight":t-=o;break;case"take":t=Kr(t,n+o);break;case"takeRight":n=Zr(n,t-o)}}return{start:n,end:t}}(0,u,this.__views__),o=i.start,f=i.end,a=f-o,c=e?f:o-1,l=this.__iteratees__,s=l.length,h=0,p=Kr(a,this.__takeCount__);if(!r||!e&&u==a&&p==a)return Fu(n,this.__actions__);var v=[];n:for(;a--&&h<p;){for(var _=-1,g=n[c+=t];++_<s;){var y=l[_],d=y.iteratee,b=y.type,w=d(g);if(b==E)g=w;else if(!w){if(b==R)continue n;break n}}v[h++]=g}return v},pe.prototype.at=Fo,pe.prototype.chain=function(){return Do(this)},pe.prototype.commit=function(){return new ge(this.value(),this.__chain__)},pe.prototype.next=function(){this.__values__===r&&(this.__values__=Mf(this.value()));var n=this.__index__>=this.__values__.length;return{done:n,value:n?r:this.__values__[this.__index__++]}},pe.prototype.plant=function(n){for(var t,e=this;e instanceof _e;){var u=so(e);u.__index__=0,u.__values__=r,t?i.__wrapped__=u:t=u;var i=u;e=e.__wrapped__}return i.__wrapped__=n,t},pe.prototype.reverse=function(){var n=this.__wrapped__;if(n instanceof ye){var t=n;return this.__actions__.length&&(t=new ye(this)),(t=t.reverse()).__actions__.push({func:Mo,args:[Io],thisArg:r}),new ge(t,this.__chain__)}return this.thru(Io)},pe.prototype.toJSON=pe.prototype.valueOf=pe.prototype.value=function(){return Fu(this.__wrapped__,this.__actions__)},pe.prototype.first=pe.prototype.head,Lr&&(pe.prototype[Lr]=function(){return this}),pe}();"function"==typeof n&&"object"==typeof n.amd&&n.amd?(St._=Sr,n(function(){return Sr})):Wt?((Wt.exports=Sr)._=Sr,Lt._=Sr):St._=Sr}).call(this);
|
|
16
|
+
},{"buffer":"dskh"}],"wXAf":[function(require,module,exports) {
|
|
17
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.MidiEventTypes=void 0,exports.MidiEventTypes={NoteOn:9,NoteOff:8,Pc:12,Cc:11,PitchBend:14};
|
|
18
|
+
},{}],"gVPx":[function(require,module,exports) {
|
|
19
|
+
"use strict";function t(e){var r;if(e){if(!(e instanceof ArrayBuffer))throw Error("Invalid buffer received.");if(this.datas=new DataView(e,0,t.HEADER_LENGTH),"M"!==String.fromCharCode(this.datas.getUint8(0))||"T"!==String.fromCharCode(this.datas.getUint8(1))||"h"!==String.fromCharCode(this.datas.getUint8(2))||"d"!==String.fromCharCode(this.datas.getUint8(3)))throw new Error("Invalid MIDIFileHeader : MThd prefix not found");if(6!==this.datas.getUint32(4))throw new Error("Invalid MIDIFileHeader : Chunk length must be 6")}else(r=new Uint8Array(t.HEADER_LENGTH))[0]=77,r[1]=84,r[2]=104,r[3]=100,r[4]=0,r[5]=0,r[6]=0,r[7]=6,r[8]=0,r[9]=1,r[10]=0,r[11]=1,r[12]=0,r[13]=192,this.datas=new DataView(r.buffer,0,t.HEADER_LENGTH)}t.HEADER_LENGTH=14,t.FRAMES_PER_SECONDS=1,t.TICKS_PER_BEAT=2,t.prototype.getFormat=function(){var t=this.datas.getUint16(8);if(0!==t&&1!==t&&2!==t)throw new Error("Invalid MIDI file : MIDI format ("+t+"), format can be 0, 1 or 2 only.");return t},t.prototype.setFormat=function(t){if(0!==t&&1!==t&&2!==t)throw new Error("Invalid MIDI format given ("+t+"), format can be 0, 1 or 2 only.");this.datas.setUint16(8,t)},t.prototype.getTracksCount=function(){return this.datas.getUint16(10)},t.prototype.setTracksCount=function(t){return this.datas.setUint16(10,t)},t.prototype.getTickResolution=function(t){return 32768&this.datas.getUint16(12)?1e6/(this.getSMPTEFrames()*this.getTicksPerFrame()):(t=t||5e5)/this.getTicksPerBeat()},t.prototype.getTimeDivision=function(){return 32768&this.datas.getUint16(12)?t.FRAMES_PER_SECONDS:t.TICKS_PER_BEAT},t.prototype.getTicksPerBeat=function(){var t=this.datas.getUint16(12);if(32768&t)throw new Error("Time division is not expressed as ticks per beat.");return t},t.prototype.setTicksPerBeat=function(t){this.datas.setUint16(12,32767&t)},t.prototype.getSMPTEFrames=function(){var t,e=this.datas.getUint16(12);if(!(32768&e))throw new Error("Time division is not expressed as frames per seconds.");if(-1===[24,25,29,30].indexOf(t=32512&e))throw new Error("Invalid SMPTE frames value ("+t+").");return 29===t?29.97:t},t.prototype.getTicksPerFrame=function(){var t=this.datas.getUint16(12);if(!(32768&t))throw new Error("Time division is not expressed as frames per seconds.");return 255&t},t.prototype.setSMTPEDivision=function(t,e){if(29.97===t&&(t=29),-1===[24,25,29,30].indexOf(t))throw new Error("Invalid SMPTE frames value given ("+t+").");if(0>e||255<e)throw new Error("Invalid ticks per frame value given ("+t+").");this.datas.setUint8(12,128|t),this.datas.setUint8(13,e)},module.exports=t;
|
|
20
|
+
},{}],"jQRz":[function(require,module,exports) {
|
|
21
|
+
"use strict";function t(e,r){var a,i;if(e){if(!(e instanceof ArrayBuffer))throw new Error("Invalid buffer received.");if(12>e.byteLength-r)throw new Error("Invalid MIDIFileTrack (0x"+r.toString(16)+") : Buffer length must size at least 12bytes");if(this.datas=new DataView(e,r,t.HDR_LENGTH),"M"!==String.fromCharCode(this.datas.getUint8(0))||"T"!==String.fromCharCode(this.datas.getUint8(1))||"r"!==String.fromCharCode(this.datas.getUint8(2))||"k"!==String.fromCharCode(this.datas.getUint8(3)))throw new Error("Invalid MIDIFileTrack (0x"+r.toString(16)+") : MTrk prefix not found");if(i=this.getTrackLength(),e.byteLength-r<i)throw new Error("Invalid MIDIFileTrack (0x"+r.toString(16)+") : The track size exceed the buffer length.");if(this.datas=new DataView(e,r,t.HDR_LENGTH+i),255!==this.datas.getUint8(t.HDR_LENGTH+(i-3))||47!==this.datas.getUint8(t.HDR_LENGTH+(i-2))||0!==this.datas.getUint8(t.HDR_LENGTH+(i-1)))throw new Error("Invalid MIDIFileTrack (0x"+r.toString(16)+") : No track end event found at the expected index ("+(t.HDR_LENGTH+(i-1)).toString(16)+").")}else(a=new Uint8Array(12))[0]=77,a[1]=84,a[2]=114,a[3]=107,a[4]=0,a[5]=0,a[6]=0,a[7]=4,a[8]=0,a[9]=255,a[10]=47,a[11]=0,this.datas=new DataView(a.buffer,0,t.HDR_LENGTH+4)}t.HDR_LENGTH=8,t.prototype.getTrackLength=function(){return this.datas.getUint32(4)},t.prototype.setTrackLength=function(t){return this.datas.setUint32(4,t)},t.prototype.getTrackContent=function(){return new DataView(this.datas.buffer,this.datas.byteOffset+t.HDR_LENGTH,this.datas.byteLength-t.HDR_LENGTH)},t.prototype.setTrackContent=function(e){var r,a,i,n,s=e.byteLength-e.byteOffset;if(4>s)throw new Error("Invalid track length, must size at least 4bytes");for(this.datas=new DataView(new Uint8Array(t.HDR_LENGTH+s).buffer),this.datas.setUint8(0,77),this.datas.setUint8(1,84),this.datas.setUint8(2,114),this.datas.setUint8(3,107),this.datas.setUint32(4,s),r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),a=new Uint8Array(this.datas.buffer,t.HDR_LENGTH,s),i=0,n=r.length;i<n;i++)a[i]=r[i]},module.exports=t;
|
|
22
|
+
},{}],"+m+m":[function(require,module,exports) {
|
|
23
|
+
"use strict";function e(){throw new Error("MIDIEvents function not intended to be run.")}e.EVENT_META=255,e.EVENT_SYSEX=240,e.EVENT_DIVSYSEX=247,e.EVENT_MIDI=8,e.EVENT_META_SEQUENCE_NUMBER=0,e.EVENT_META_TEXT=1,e.EVENT_META_COPYRIGHT_NOTICE=2,e.EVENT_META_TRACK_NAME=3,e.EVENT_META_INSTRUMENT_NAME=4,e.EVENT_META_LYRICS=5,e.EVENT_META_MARKER=6,e.EVENT_META_CUE_POINT=7,e.EVENT_META_MIDI_CHANNEL_PREFIX=32,e.EVENT_META_END_OF_TRACK=47,e.EVENT_META_SET_TEMPO=81,e.EVENT_META_SMTPE_OFFSET=84,e.EVENT_META_TIME_SIGNATURE=88,e.EVENT_META_KEY_SIGNATURE=89,e.EVENT_META_SEQUENCER_SPECIFIC=127,e.EVENT_MIDI_NOTE_OFF=8,e.EVENT_MIDI_NOTE_ON=9,e.EVENT_MIDI_NOTE_AFTERTOUCH=10,e.EVENT_MIDI_CONTROLLER=11,e.EVENT_MIDI_PROGRAM_CHANGE=12,e.EVENT_MIDI_CHANNEL_AFTERTOUCH=13,e.EVENT_MIDI_PITCH_BEND=14,e.MIDI_1PARAM_EVENTS=[e.EVENT_MIDI_PROGRAM_CHANGE,e.EVENT_MIDI_CHANNEL_AFTERTOUCH],e.MIDI_2PARAMS_EVENTS=[e.EVENT_MIDI_NOTE_OFF,e.EVENT_MIDI_NOTE_ON,e.EVENT_MIDI_NOTE_AFTERTOUCH,e.EVENT_MIDI_CONTROLLER,e.EVENT_MIDI_PITCH_BEND],e.createParser=function(E,t,r){var n,a,T,_,s;if(E instanceof DataView&&(E={position:t||0,buffer:E,readUint8:function(){return this.buffer.getUint8(this.position++)},readUint16:function(){var e=this.buffer.getUint16(this.position);return this.position=this.position+2,e},readUint32:function(){var e=this.buffer.getUint16(this.position);return this.position=this.position+2,e},readVarInt:function(){for(var e,E=0,t=0;4>t++;){if(!(128&(e=this.readUint8())))return E+e;E+=127&e,E<<=7}throw new Error("0x"+this.position.toString(16)+": Variable integer length cannot exceed 4 bytes")},readBytes:function(e){for(var E=[];0<e;e--)E.push(this.readUint8());return E},pos:function(){return"0x"+(this.buffer.byteOffset+this.position).toString(16)},end:function(){return this.position===this.buffer.byteLength}},t=0),0<t)for(;t--;)E.readUint8();return{next:function(){if(E.end())return null;if(a={index:E.pos(),delta:E.readVarInt()},240==(240&(n=E.readUint8()))){if(n!==e.EVENT_META){if(n===e.EVENT_SYSEX||n===e.EVENT_DIVSYSEX)return a.type=n,a.length=E.readVarInt(),a.data=E.readBytes(a.length),a;if(r)throw new Error(E.pos()+" Unknown event type "+n.toString(16)+", Delta: "+a.delta+".");return a.type=n,a.badsubtype=E.readVarInt(),a.length=E.readUint8(),a.data=E.readBytes(a.length),a}switch(a.type=e.EVENT_META,a.subtype=E.readUint8(),a.length=E.readVarInt(),a.subtype){case e.EVENT_META_SEQUENCE_NUMBER:if(r&&2!==a.length)throw new Error(E.pos()+" Bad metaevent length.");return a.msb=E.readUint8(),a.lsb=E.readUint8(),a;case e.EVENT_META_TEXT:case e.EVENT_META_COPYRIGHT_NOTICE:case e.EVENT_META_TRACK_NAME:case e.EVENT_META_INSTRUMENT_NAME:case e.EVENT_META_LYRICS:case e.EVENT_META_MARKER:case e.EVENT_META_CUE_POINT:return a.data=E.readBytes(a.length),a;case e.EVENT_META_MIDI_CHANNEL_PREFIX:if(r&&1!==a.length)throw new Error(E.pos()+" Bad metaevent length.");return a.prefix=E.readUint8(),a;case e.EVENT_META_END_OF_TRACK:if(r&&0!==a.length)throw new Error(E.pos()+" Bad metaevent length.");return a;case e.EVENT_META_SET_TEMPO:if(r&&3!==a.length)throw new Error(E.pos()+" Tempo meta event length must be 3.");return a.tempo=(E.readUint8()<<16)+(E.readUint8()<<8)+E.readUint8(),a.tempoBPM=6e7/a.tempo,a;case e.EVENT_META_SMTPE_OFFSET:if(r&&5!==a.length)throw new Error(E.pos()+" Bad metaevent length.");if(a.hour=E.readUint8(),r&&23<a.hour)throw new Error(E.pos()+" SMTPE offset hour value must be part of 0-23.");if(a.minutes=E.readUint8(),r&&59<a.minutes)throw new Error(E.pos()+" SMTPE offset minutes value must be part of 0-59.");if(a.seconds=E.readUint8(),r&&59<a.seconds)throw new Error(E.pos()+" SMTPE offset seconds value must be part of 0-59.");if(a.frames=E.readUint8(),r&&30<a.frames)throw new Error(E.pos()+" SMTPE offset frames value must be part of 0-30.");if(a.subframes=E.readUint8(),r&&99<a.subframes)throw new Error(E.pos()+" SMTPE offset subframes value must be part of 0-99.");return a;case e.EVENT_META_KEY_SIGNATURE:if(r&&2!==a.length)throw new Error(E.pos()+" Bad metaevent length.");if(a.key=E.readUint8(),r&&(-7>a.key||7<a.key))throw new Error(E.pos()+" Bad metaevent length.");if(a.scale=E.readUint8(),r&&0!==a.scale&&1!==a.scale)throw new Error(E.pos()+" Key signature scale value must be 0 or 1.");return a;case e.EVENT_META_TIME_SIGNATURE:if(r&&4!==a.length)throw new Error(E.pos()+" Bad metaevent length.");return a.data=E.readBytes(a.length),a.param1=a.data[0],a.param2=a.data[1],a.param3=a.data[2],a.param4=a.data[3],a;case e.EVENT_META_SEQUENCER_SPECIFIC:return a.data=E.readBytes(a.length),a;default:if(r)throw new Error(E.pos()+" Unknown meta event type ("+a.subtype.toString(16)+").");return a.data=E.readBytes(a.length),a}}else{if(0==(128&n)){if(!T)throw new Error(E.pos()+" Running status without previous event");s=n}else T=n>>4,_=15&n,s=E.readUint8();switch(a.type=e.EVENT_MIDI,a.subtype=T,a.channel=_,a.param1=s,T){case e.EVENT_MIDI_NOTE_OFF:return a.param2=E.readUint8(),a;case e.EVENT_MIDI_NOTE_ON:return a.param2=E.readUint8(),a.param2||(a.subtype=e.EVENT_MIDI_NOTE_OFF,a.param2=127),a;case e.EVENT_MIDI_NOTE_AFTERTOUCH:case e.EVENT_MIDI_CONTROLLER:return a.param2=E.readUint8(),a;case e.EVENT_MIDI_PROGRAM_CHANGE:case e.EVENT_MIDI_CHANNEL_AFTERTOUCH:return a;case e.EVENT_MIDI_PITCH_BEND:return a.param2=E.readUint8(),a;default:if(r)throw new Error(E.pos()+" Unknown MIDI event type ("+T.toString(16)+").");return a}}}}},e.writeToTrack=function(E,t,r){var n,a,T,_,s=0;for(n=0,a=E.length;n<a;n++){if(E[n].delta>>>28)throw Error("Event #"+n+": Maximum delta time value reached ("+E[n].delta+"/134217728 max)");if(E[n].delta>>>21&&(t[s++]=E[n].delta>>>21&127|128),E[n].delta>>>14&&(t[s++]=E[n].delta>>>14&127|128),E[n].delta>>>7&&(t[s++]=E[n].delta>>>7&127|128),t[s++]=127&E[n].delta,E[n].type===e.EVENT_MIDI)t[s++]=(E[n].subtype<<4)+E[n].channel,t[s++]=E[n].param1,-1!==e.MIDI_2PARAMS_EVENTS.indexOf(E[n].subtype)&&(t[s++]=E[n].param2);else{if(t[s++]=E[n].type,E[n].type===e.EVENT_META&&(t[s++]=E[n].subtype),E[n].length>>>28)throw Error("Event #"+n+": Maximum length reached ("+E[n].length+"/134217728 max)");if(E[n].length>>>21&&(t[s++]=E[n].length>>>21&127|128),E[n].length>>>14&&(t[s++]=E[n].length>>>14&127|128),E[n].length>>>7&&(t[s++]=E[n].length>>>7&127|128),t[s++]=127&E[n].length,E[n].type===e.EVENT_META)switch(E[n].subtype){case e.EVENT_META_SEQUENCE_NUMBER:t[s++]=E[n].msb,t[s++]=E[n].lsb;break;case e.EVENT_META_TEXT:case e.EVENT_META_COPYRIGHT_NOTICE:case e.EVENT_META_TRACK_NAME:case e.EVENT_META_INSTRUMENT_NAME:case e.EVENT_META_LYRICS:case e.EVENT_META_MARKER:case e.EVENT_META_CUE_POINT:for(T=0,_=E[n].length;T<_;T++)t[s++]=E[n].data[T];break;case e.EVENT_META_MIDI_CHANNEL_PREFIX:t[s++]=E[n].prefix;break;case e.EVENT_META_END_OF_TRACK:break;case e.EVENT_META_SET_TEMPO:t[s++]=E[n].tempo>>16,t[s++]=E[n].tempo>>8&255,t[s++]=255&E[n].tempo;break;case e.EVENT_META_SMTPE_OFFSET:if(r&&23<E[n].hour)throw new Error("Event #"+n+": SMTPE offset hour value must be part of 0-23.");if(t[s++]=E[n].hour,r&&59<E[n].minutes)throw new Error("Event #"+n+": SMTPE offset minutes value must be part of 0-59.");if(t[s++]=E[n].minutes,r&&59<E[n].seconds)throw new Error("Event #"+n+": SMTPE offset seconds value must be part of 0-59.");if(t[s++]=E[n].seconds,r&&30<E[n].frames)throw new Error("Event #"+n+": SMTPE offset frames amount must be part of 0-30.");if(t[s++]=E[n].frames,r&&99<E[n].subframes)throw new Error("Event #"+n+": SMTPE offset subframes amount must be part of 0-99.");t[s++]=E[n].subframes;break;case e.EVENT_META_KEY_SIGNATURE:if("number"!=typeof E[n].key||-7>E[n].key||7<E[n].scale)throw new Error("Event #"+n+":The key signature key must be between -7 and 7");if("number"!=typeof E[n].scale||0>E[n].scale||1<E[n].scale)throw new Error("Event #"+n+":The key signature scale must be 0 or 1");t[s++]=E[n].key,t[s++]=E[n].scale;break;case e.EVENT_META_TIME_SIGNATURE:case e.EVENT_META_SEQUENCER_SPECIFIC:default:for(T=0,_=E[n].length;T<_;T++)t[s++]=E[n].data[T]}else for(T=0,_=E[n].length;T<_;T++)t[s++]=E[n].data[T]}}},e.getRequiredBufferLength=function(E){var t,r=0,n=0;for(n=0,t=E.length;n<t;n++)r+=E[n].delta>>>21?4:E[n].delta>>>14?3:E[n].delta>>>7?2:1,E[n].type===e.EVENT_MIDI?(r++,r++,-1!==e.MIDI_2PARAMS_EVENTS.indexOf(E[n].subtype)&&r++):(r++,E[n].type===e.EVENT_META&&r++,r+=E[n].length>>>21?4:E[n].length>>>14?3:E[n].length>>>7?2:1,r+=E[n].length);return r},module.exports=e;
|
|
24
|
+
},{}],"tJNq":[function(require,module,exports) {
|
|
25
|
+
function e(e,r,t){try{n(e,r,t,!0)}catch(o){return!0}return!1}function r(e){return 240==(240&e)?4:224==(224&e)?3:192==(192&e)?2:e==(127&e)?1:0}function t(e,t,n){var o=0,i="";if(t=t||0,e.length-t<=0)throw new Error("No more characters remaining in array.");if(0==(n=n||r(e[t])))throw new Error(e[t].toString(2)+" is not a significative byte (offset:"+t+").");if(1===n)return e[t];if(e.length-t<n)throw new Error("Expected at least "+n+" bytes remaining in array.");if(i="00000000".slice(0,n)+1+"00000000".slice(n+1),e[t]&parseInt(i,2))throw Error("Index "+t+": A "+n+" bytes encoded char cannot encode the "+(n+1)+"th rank bit to 1.");for(i="0000".slice(0,n+1)+"11111111".slice(n+1),o+=(e[t]&parseInt(i,2))<<6*--n;n;){if(128!=(128&e[t+1])||64==(64&e[t+1]))throw Error("Index "+(t+1)+': Next bytes of encoded char must begin with a "10" bit sequence.');o+=(63&e[++t])<<6*--n}return o}function n(e,n,o,i){var a,c=[];for(n|=0,o="number"==typeof o?o:e.byteLength||e.length;n<o;n++){if(n+(a=r(e[n]))>o){if(i)throw Error("Index "+n+": Found a "+a+" bytes encoded char declaration but only "+(o-n)+" bytes are available.")}else c.push(String.fromCodePoint(t(e,n,a,i)));n+=a-1}return c.join("")}function o(e){if(e<128)return 1;if(e<2048)return 2;if(e<65536)return 3;if(e<2097152)return 4;throw new Error("CharCode "+e+" cannot be encoded with UTF8.")}function i(e,r,t,n){if(e|=0,r=r||[],t|=0,1==(n=n||o(e)))r[t]=e;else for(r[t++]=(parseInt("1111".slice(0,n),2)<<8-n)+(e>>>6*--n);n>0;)r[t++]=e>>>6*--n&63|128;return r}function a(e,r,t,n,a){e=e||"",r=r||[],t|=0,n="number"==typeof n?n:r.byteLength||1/0;for(var c=0,f=e.length;c<f;c++){var h=o(e[c].codePointAt(0));if(a&&t+h>n)throw new Error('Not enought bytes to encode the char "'+e[c]+'" at the offset "'+t+'".');i(e[c].codePointAt(0),r,t,h,a),t+=h}return r}module.exports={isNotUTF8:e,getCharLength:r,getCharCode:t,getStringFromBytes:n,getBytesForCharCode:o,setBytesFromCharCode:i,setBytesFromString:a};
|
|
26
|
+
},{}],"8Nlt":[function(require,module,exports) {
|
|
27
|
+
"use strict";var t=require("./MIDIFileHeader"),e=require("./MIDIFileTrack"),r=require("midievents"),a=require("utf-8");function n(t){if(t){if(t instanceof ArrayBuffer)return t;if(t instanceof Uint8Array)return new Uint8Array(t).buffer}throw new Error("Unsupported buffer type, need ArrayBuffer or Uint8Array")}function s(r,a){var s,i,o,h;if(r){if(25>(r=n(r)).byteLength)throw new Error("A buffer of a valid MIDI file must have, at least, a size of 25bytes.");for(this.header=new t(r,a),this.tracks=[],i=t.HEADER_LENGTH,o=0,h=this.header.getTracksCount();o<h;o++){if(a&&i>=r.byteLength-1)throw new Error("Couldn't find datas corresponding to the track #"+o+".");s=new e(r,i,a),this.tracks.push(s),i+=s.getTrackLength()+8}if(a&&i!==r.byteLength)throw new Error("It seems that the buffer contains too much datas.")}else this.header=new t,this.tracks=[new e]}s.prototype.getEvents=function(t,e){var a,n,s,i,o,h,c=0,f=[],u=this.header.getFormat(),d=this.header.getTickResolution();if(1!==u||1===this.tracks.length)for(s=0,i=this.tracks.length;s<i;s++)for(c=2===u&&c?c:0,n=(a=r.createParser(this.tracks[s].getTrackContent(),0,!1)).next();n;)c+=n.delta?n.delta*d/1e3:0,n.type===r.EVENT_META&&n.subtype===r.EVENT_META_SET_TEMPO&&(d=this.header.getTickResolution(n.tempo)),t&&n.type!==t||e&&(!n.subtype||n.subtype!==e)||(n.playTime=c,f.push(n)),n=a.next();else{for(o=[],h=-1,s=0,i=this.tracks.length;s<i;s++)o[s]={},o[s].parser=r.createParser(this.tracks[s].getTrackContent(),0,!1),o[s].curEvent=o[s].parser.next();do{for(h=-1,s=0,i=o.length;s<i;s++)o[s].curEvent&&(-1===h||o[s].curEvent.delta<o[h].curEvent.delta)&&(h=s);if(-1!==h){for(s=0,i=o.length;s<i;s++)s!==h&&o[s].curEvent&&(o[s].curEvent.delta-=o[h].curEvent.delta);c+=(n=o[h].curEvent).delta?n.delta*d/1e3:0,n.type===r.EVENT_META&&n.subtype===r.EVENT_META_SET_TEMPO&&(d=this.header.getTickResolution(n.tempo)),t&&n.type!==t||e&&(!n.subtype||n.subtype!==e)||(n.playTime=c,n.track=h,f.push(n)),o[h].curEvent=o[h].parser.next()}}while(-1!==h)}return f},s.prototype.getMidiEvents=function(){return this.getEvents(r.EVENT_MIDI)},s.prototype.getLyrics=function(){var t,e,n,s=this.getEvents(r.EVENT_META),i=[],o=[];for(e=0,n=s.length;e<n;e++)(t=s[e]).subtype===r.EVENT_META_LYRICS?o.push(t):t.subtype===r.EVENT_META_TEXT&&("@"===String.fromCharCode(t.data[0])?"T"===String.fromCharCode(t.data[1])||"I"===String.fromCharCode(t.data[1])||String.fromCharCode(t.data[1]):0===String.fromCharCode.apply(String,t.data).indexOf("words")?i.length=0:0!==t.playTime&&i.push(t));2<o.length?i=o:i.length||(i=[]);try{i.forEach(function(t){t.text=a.getStringFromBytes(t.data,0,t.length,!0)})}catch(h){i.forEach(function(t){t.text=t.data.map(function(t){return String.fromCharCode(t)}).join("")})}return i},s.prototype.getTrackEvents=function(t){var e,a,n=[];if(t>this.tracks.length||0>t)throw Error("Invalid track index ("+t+")");e=(a=r.createParser(this.tracks[t].getTrackContent(),0,!1)).next();do{n.push(e),e=a.next()}while(e);return n},s.prototype.setTrackEvents=function(t,e){var a,n;if(t>this.tracks.length||0>t)throw Error("Invalid track index ("+t+")");if(!e||!e.length)throw Error("A track must contain at least one event, none given.");a=r.getRequiredBufferLength(e),n=new Uint8Array(a),r.writeToTrack(e,n),this.tracks[t].setTrackContent(n)},s.prototype.deleteTrack=function(t){if(t>this.tracks.length||0>t)throw Error("Invalid track index ("+t+")");this.tracks.splice(t,1),this.header.setTracksCount(this.tracks.length)},s.prototype.addTrack=function(t){var r;if(t>this.tracks.length||0>t)throw Error("Invalid track index ("+t+")");r=new e,t===this.tracks.length?this.tracks.push(r):this.tracks.splice(t,0,r),this.header.setTracksCount(this.tracks.length)},s.prototype.getContent=function(){var e,r,a,n,s,i,o,h,c;for(e=t.HEADER_LENGTH,n=0,s=this.tracks.length;n<s;n++)e+=this.tracks[n].getTrackLength()+8;for(r=new Uint8Array(e),a=new Uint8Array(this.header.datas.buffer,this.header.datas.byteOffset,t.HEADER_LENGTH),n=0,s=t.HEADER_LENGTH;n<s;n++)r[n]=a[n];for(i=0,o=this.tracks.length;i<o;i++)for(a=new Uint8Array(this.tracks[i].datas.buffer,this.tracks[i].datas.byteOffset,this.tracks[i].datas.byteLength),h=0,c=this.tracks[i].datas.byteLength;h<c;h++)r[n++]=a[h];return r.buffer},s.Header=t,s.Track=e,module.exports=s;
|
|
28
|
+
},{"./MIDIFileHeader":"gVPx","./MIDIFileTrack":"jQRz","midievents":"+m+m","utf-8":"tJNq"}],"n6dH":[function(require,module,exports) {
|
|
29
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Base64Binary=void 0;var e={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",decodeArrayBuffer:function(e){var r=Math.ceil(3*e.length/4),t=new ArrayBuffer(r);return this.decode(e,t),t},decode:function(e,r){var t,i,n,a,h,c,d,s=this._keyStr.indexOf(e.charAt(e.length-1)),f=this._keyStr.indexOf(e.charAt(e.length-1)),y=Math.ceil(3*e.length/4);64==s&&y--,64==f&&y--;var o=0,A=0;for(t=r?new Uint8Array(r):new Uint8Array(y),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,""),o=0;o<y;o+=3)i=this._keyStr.indexOf(e.charAt(A++))<<2|(h=this._keyStr.indexOf(e.charAt(A++)))>>4,n=(15&h)<<4|(c=this._keyStr.indexOf(e.charAt(A++)))>>2,a=(3&c)<<6|(d=this._keyStr.indexOf(e.charAt(A++))),t[o]=i,64!=c&&(t[o+1]=n),64!=d&&(t[o+2]=a);return t}};exports.Base64Binary=e;
|
|
30
|
+
},{}],"Xnuv":[function(require,module,exports) {
|
|
31
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Constants=void 0,exports.Constants={NOTES:[]};for(var t=[["C"],["C#","Db"],["D"],["D#","Eb"],["E"],["F"],["F#","Gb"],["G"],["G#","Ab"],["A"],["A#","Bb"],["B"]],o=0,n=function(n){t.forEach(function(t){t.forEach(function(t){return exports.Constants.NOTES[o]=t+n}),o++})},e=-1;e<=9;e++)n(e);
|
|
32
|
+
},{}],"pBGv":[function(require,module,exports) {
|
|
33
|
+
|
|
34
|
+
var t,e,n=module.exports={};function r(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function i(e){if(t===setTimeout)return setTimeout(e,0);if((t===r||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}function u(t){if(e===clearTimeout)return clearTimeout(t);if((e===o||!e)&&clearTimeout)return e=clearTimeout,clearTimeout(t);try{return e(t)}catch(n){try{return e.call(null,t)}catch(n){return e.call(this,t)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:r}catch(n){t=r}try{e="function"==typeof clearTimeout?clearTimeout:o}catch(n){e=o}}();var c,s=[],l=!1,a=-1;function f(){l&&c&&(l=!1,c.length?s=c.concat(s):a=-1,s.length&&h())}function h(){if(!l){var t=i(f);l=!0;for(var e=s.length;e;){for(c=s,s=[];++a<e;)c&&c[a].run();a=-1,e=s.length}c=null,l=!1,u(t)}}function m(t,e){this.fun=t,this.array=e}function p(){}n.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];s.push(new m(t,e)),1!==s.length||l||i(h)},m.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.env={},n.argv=[],n.version="",n.versions={},n.on=p,n.addListener=p,n.once=p,n.off=p,n.removeListener=p,n.removeAllListeners=p,n.emit=p,n.prependListener=p,n.prependOnceListener=p,n.listeners=function(t){return[]},n.binding=function(t){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(t){throw new Error("process.chdir is not supported")},n.umask=function(){return 0};
|
|
35
|
+
},{}],"UUq2":[function(require,module,exports) {
|
|
36
|
+
var process = require("process");
|
|
37
|
+
var r=require("process");function t(r,t){for(var e=0,n=r.length-1;n>=0;n--){var o=r[n];"."===o?r.splice(n,1):".."===o?(r.splice(n,1),e++):e&&(r.splice(n,1),e--)}if(t)for(;e--;e)r.unshift("..");return r}function e(r){"string"!=typeof r&&(r+="");var t,e=0,n=-1,o=!0;for(t=r.length-1;t>=0;--t)if(47===r.charCodeAt(t)){if(!o){e=t+1;break}}else-1===n&&(o=!1,n=t+1);return-1===n?"":r.slice(e,n)}function n(r,t){if(r.filter)return r.filter(t);for(var e=[],n=0;n<r.length;n++)t(r[n],n,r)&&e.push(r[n]);return e}exports.resolve=function(){for(var e="",o=!1,s=arguments.length-1;s>=-1&&!o;s--){var i=s>=0?arguments[s]:r.cwd();if("string"!=typeof i)throw new TypeError("Arguments to path.resolve must be strings");i&&(e=i+"/"+e,o="/"===i.charAt(0))}return(o?"/":"")+(e=t(n(e.split("/"),function(r){return!!r}),!o).join("/"))||"."},exports.normalize=function(r){var e=exports.isAbsolute(r),s="/"===o(r,-1);return(r=t(n(r.split("/"),function(r){return!!r}),!e).join("/"))||e||(r="."),r&&s&&(r+="/"),(e?"/":"")+r},exports.isAbsolute=function(r){return"/"===r.charAt(0)},exports.join=function(){var r=Array.prototype.slice.call(arguments,0);return exports.normalize(n(r,function(r,t){if("string"!=typeof r)throw new TypeError("Arguments to path.join must be strings");return r}).join("/"))},exports.relative=function(r,t){function e(r){for(var t=0;t<r.length&&""===r[t];t++);for(var e=r.length-1;e>=0&&""===r[e];e--);return t>e?[]:r.slice(t,e-t+1)}r=exports.resolve(r).substr(1),t=exports.resolve(t).substr(1);for(var n=e(r.split("/")),o=e(t.split("/")),s=Math.min(n.length,o.length),i=s,u=0;u<s;u++)if(n[u]!==o[u]){i=u;break}var f=[];for(u=i;u<n.length;u++)f.push("..");return(f=f.concat(o.slice(i))).join("/")},exports.sep="/",exports.delimiter=":",exports.dirname=function(r){if("string"!=typeof r&&(r+=""),0===r.length)return".";for(var t=r.charCodeAt(0),e=47===t,n=-1,o=!0,s=r.length-1;s>=1;--s)if(47===(t=r.charCodeAt(s))){if(!o){n=s;break}}else o=!1;return-1===n?e?"/":".":e&&1===n?"/":r.slice(0,n)},exports.basename=function(r,t){var n=e(r);return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},exports.extname=function(r){"string"!=typeof r&&(r+="");for(var t=-1,e=0,n=-1,o=!0,s=0,i=r.length-1;i>=0;--i){var u=r.charCodeAt(i);if(47!==u)-1===n&&(o=!1,n=i+1),46===u?-1===t?t=i:1!==s&&(s=1):-1!==t&&(s=-1);else if(!o){e=i+1;break}}return-1===t||-1===n||0===s||1===s&&t===n-1&&t===e+1?"":r.slice(t,n)};var o="b"==="ab".substr(-1)?function(r,t,e){return r.substr(t,e)}:function(r,t,e){return t<0&&(t=r.length+t),r.substr(t,e)};
|
|
38
|
+
},{"process":"pBGv"}],"f88W":[function(require,module,exports) {
|
|
39
|
+
|
|
40
|
+
},{}],"38Wu":[function(require,module,exports) {
|
|
41
|
+
|
|
42
|
+
var r=require("buffer"),e=r.Buffer;function n(r,e){for(var n in r)e[n]=r[n]}function o(r,n,o){return e(r,n,o)}e.from&&e.alloc&&e.allocUnsafe&&e.allocUnsafeSlow?module.exports=r:(n(r,exports),exports.Buffer=o),n(e,o),o.from=function(r,n,o){if("number"==typeof r)throw new TypeError("Argument must not be a number");return e(r,n,o)},o.alloc=function(r,n,o){if("number"!=typeof r)throw new TypeError("Argument must be a number");var f=e(r);return void 0!==n?"string"==typeof o?f.fill(n,o):f.fill(n):f.fill(0),f},o.allocUnsafe=function(r){if("number"!=typeof r)throw new TypeError("Argument must be a number");return e(r)},o.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)};
|
|
43
|
+
},{"buffer":"dskh"}],"/XJN":[function(require,module,exports) {
|
|
44
|
+
|
|
45
|
+
var global = arguments[3];
|
|
46
|
+
var process = require("process");
|
|
47
|
+
var e=arguments[3],r=require("process"),o=65536,n=4294967295;function t(){throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11")}var s=require("safe-buffer").Buffer,u=e.crypto||e.msCrypto;function a(e,t){if(e>n)throw new RangeError("requested too many random bytes");var a=s.allocUnsafe(e);if(e>0)if(e>o)for(var f=0;f<e;f+=o)u.getRandomValues(a.slice(f,f+o));else u.getRandomValues(a);return"function"==typeof t?r.nextTick(function(){t(null,a)}):a}u&&u.getRandomValues?module.exports=a:module.exports=t;
|
|
48
|
+
},{"safe-buffer":"38Wu","process":"pBGv"}],"4Bm0":[function(require,module,exports) {
|
|
49
|
+
"function"==typeof Object.create?module.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:module.exports=function(t,e){t.super_=e;var o=function(){};o.prototype=e.prototype,t.prototype=new o,t.prototype.constructor=t};
|
|
50
|
+
},{}],"wyv4":[function(require,module,exports) {
|
|
51
|
+
|
|
52
|
+
var r=require("buffer"),e=r.Buffer;function o(r,e){for(var o in r)e[o]=r[o]}function n(r,o,n){return e(r,o,n)}e.from&&e.alloc&&e.allocUnsafe&&e.allocUnsafeSlow?module.exports=r:(o(r,exports),exports.Buffer=n),n.prototype=Object.create(e.prototype),o(e,n),n.from=function(r,o,n){if("number"==typeof r)throw new TypeError("Argument must not be a number");return e(r,o,n)},n.alloc=function(r,o,n){if("number"!=typeof r)throw new TypeError("Argument must be a number");var t=e(r);return void 0!==o?"string"==typeof n?t.fill(o,n):t.fill(o):t.fill(0),t},n.allocUnsafe=function(r){if("number"!=typeof r)throw new TypeError("Argument must be a number");return e(r)},n.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)};
|
|
53
|
+
},{"buffer":"dskh"}],"FRpO":[function(require,module,exports) {
|
|
54
|
+
"use strict";var e,t="object"==typeof Reflect?Reflect:null,n=t&&"function"==typeof t.apply?t.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};function r(e){console&&console.warn&&console.warn(e)}e=t&&"function"==typeof t.ownKeys?t.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var i=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this)}module.exports=o,module.exports.once=m,o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var s=10;function u(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function f(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function c(e,t,n,i){var o,s,c;if(u(n),void 0===(s=e._events)?(s=e._events=Object.create(null),e._eventsCount=0):(void 0!==s.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),s=e._events),c=s[t]),void 0===c)c=s[t]=n,++e._eventsCount;else if("function"==typeof c?c=s[t]=i?[n,c]:[c,n]:i?c.unshift(n):c.push(n),(o=f(e))>0&&c.length>o&&!c.warned){c.warned=!0;var v=new Error("Possible EventEmitter memory leak detected. "+c.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");v.name="MaxListenersExceededWarning",v.emitter=e,v.type=t,v.count=c.length,r(v)}return e}function v(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function l(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=v.bind(r);return i.listener=n,r.wrapFn=i,i}function p(e,t,n){var r=e._events;if(void 0===r)return[];var i=r[t];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?d(i):h(i,i.length)}function a(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function h(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e[r];return n}function y(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function d(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}function m(e,t){return new Promise(function(n,r){function i(n){e.removeListener(t,o),r(n)}function o(){"function"==typeof e.removeListener&&e.removeListener("error",i),n([].slice.call(arguments))}g(e,t,o,{once:!0}),"error"!==t&&L(e,i,{once:!0})})}function L(e,t,n){"function"==typeof e.on&&g(e,"error",t,n)}function g(e,t,n,r){if("function"==typeof e.on)r.once?e.once(t,n):e.on(t,n);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,function i(o){r.once&&e.removeEventListener(t,i),n(o)})}}Object.defineProperty(o,"defaultMaxListeners",{enumerable:!0,get:function(){return s},set:function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");s=e}}),o.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},o.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},o.prototype.getMaxListeners=function(){return f(this)},o.prototype.emit=function(e){for(var t=[],r=1;r<arguments.length;r++)t.push(arguments[r]);var i="error"===e,o=this._events;if(void 0!==o)i=i&&void 0===o.error;else if(!i)return!1;if(i){var s;if(t.length>0&&(s=t[0]),s instanceof Error)throw s;var u=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw u.context=s,u}var f=o[e];if(void 0===f)return!1;if("function"==typeof f)n(f,this,t);else{var c=f.length,v=h(f,c);for(r=0;r<c;++r)n(v[r],this,t)}return!0},o.prototype.addListener=function(e,t){return c(this,e,t,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(e,t){return c(this,e,t,!0)},o.prototype.once=function(e,t){return u(t),this.on(e,l(this,e,t)),this},o.prototype.prependOnceListener=function(e,t){return u(t),this.prependListener(e,l(this,e,t)),this},o.prototype.removeListener=function(e,t){var n,r,i,o,s;if(u(t),void 0===(r=this._events))return this;if(void 0===(n=r[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(i=-1,o=n.length-1;o>=0;o--)if(n[o]===t||n[o].listener===t){s=n[o].listener,i=o;break}if(i<0)return this;0===i?n.shift():y(n,i),1===n.length&&(r[e]=n[0]),void 0!==r.removeListener&&this.emit("removeListener",e,s||t)}return this},o.prototype.off=o.prototype.removeListener,o.prototype.removeAllListeners=function(e){var t,n,r;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var i,o=Object.keys(n);for(r=0;r<o.length;++r)"removeListener"!==(i=o[r])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this},o.prototype.listeners=function(e){return p(this,e,!0)},o.prototype.rawListeners=function(e){return p(this,e,!1)},o.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):a.call(e,t)},o.prototype.listenerCount=a,o.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]};
|
|
55
|
+
},{}],"8V4J":[function(require,module,exports) {
|
|
56
|
+
module.exports=require("events").EventEmitter;
|
|
57
|
+
},{"events":"FRpO"}],"bUoY":[function(require,module,exports) {
|
|
58
|
+
|
|
59
|
+
"use strict";function t(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,a)}return n}function e(e){for(var a=1;a<arguments.length;a++){var i=null!=arguments[a]?arguments[a]:{};a%2?t(Object(i),!0).forEach(function(t){n(e,t,i[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):t(Object(i)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))})}return e}function n(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function a(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){for(var n=0;n<e.length;n++){var a=e[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}function r(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}var h=require("buffer"),l=h.Buffer,s=require("util"),u=s.inspect,o=u&&u.custom||"inspect";function c(t,e,n){l.prototype.copy.call(t,e,n)}module.exports=function(){function t(){a(this,t),this.head=null,this.tail=null,this.length=0}return r(t,[{key:"push",value:function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,n=""+e.data;e=e.next;)n+=t+e.data;return n}},{key:"concat",value:function(t){if(0===this.length)return l.alloc(0);for(var e=l.allocUnsafe(t>>>0),n=this.head,a=0;n;)c(n.data,e,a),a+=n.data.length,n=n.next;return e}},{key:"consume",value:function(t,e){var n;return t<this.head.data.length?(n=this.head.data.slice(0,t),this.head.data=this.head.data.slice(t)):n=t===this.head.data.length?this.shift():e?this._getString(t):this._getBuffer(t),n}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(t){var e=this.head,n=1,a=e.data;for(t-=a.length;e=e.next;){var i=e.data,r=t>i.length?i.length:t;if(r===i.length?a+=i:a+=i.slice(0,t),0===(t-=r)){r===i.length?(++n,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(r));break}++n}return this.length-=n,a}},{key:"_getBuffer",value:function(t){var e=l.allocUnsafe(t),n=this.head,a=1;for(n.data.copy(e),t-=n.data.length;n=n.next;){var i=n.data,r=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,r),0===(t-=r)){r===i.length?(++a,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=i.slice(r));break}++a}return this.length-=a,e}},{key:o,value:function(t,n){return u(this,e({},n,{depth:0,customInspect:!1}))}}]),t}();
|
|
60
|
+
},{"buffer":"dskh","util":"f88W"}],"DoEV":[function(require,module,exports) {
|
|
61
|
+
var process = require("process");
|
|
62
|
+
var t=require("process");function e(e,r){var d=this,l=this._readableState&&this._readableState.destroyed,o=this._writableState&&this._writableState.destroyed;return l||o?(r?r(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,t.nextTick(s,this,e)):t.nextTick(s,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(e){!r&&e?d._writableState?d._writableState.errorEmitted?t.nextTick(i,d):(d._writableState.errorEmitted=!0,t.nextTick(a,d,e)):t.nextTick(a,d,e):r?(t.nextTick(i,d),r(e)):t.nextTick(i,d)}),this)}function a(t,e){s(t,e),i(t)}function i(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function r(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function s(t,e){t.emit("error",e)}function d(t,e){var a=t._readableState,i=t._writableState;a&&a.autoDestroy||i&&i.autoDestroy?t.destroy(e):t.emit("error",e)}module.exports={destroy:e,undestroy:r,errorOrDestroy:d};
|
|
63
|
+
},{"process":"pBGv"}],"6eV+":[function(require,module,exports) {
|
|
64
|
+
"use strict";function t(n){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(n)}function n(t,n){t.prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n}var e={};function o(t,o,r){r||(r=Error);var c=function(t){function e(n,e,r){return t.call(this,function(t,n,e){return"string"==typeof o?o:o(t,n,e)}(n,e,r))||this}return n(e,t),e}(r);c.prototype.name=r.name,c.prototype.code=t,e[t]=c}function r(t,n){if(Array.isArray(t)){var e=t.length;return t=t.map(function(t){return String(t)}),e>2?"one of ".concat(n," ").concat(t.slice(0,e-1).join(", "),", or ")+t[e-1]:2===e?"one of ".concat(n," ").concat(t[0]," or ").concat(t[1]):"of ".concat(n," ").concat(t[0])}return"of ".concat(n," ").concat(String(t))}function c(t,n,e){return t.substr(!e||e<0?0:+e,n.length)===n}function a(t,n,e){return(void 0===e||e>t.length)&&(e=t.length),t.substring(e-n.length,e)===n}function u(t,n,e){return"number"!=typeof e&&(e=0),!(e+n.length>t.length)&&-1!==t.indexOf(n,e)}o("ERR_INVALID_OPT_VALUE",function(t,n){return'The value "'+n+'" is invalid for option "'+t+'"'},TypeError),o("ERR_INVALID_ARG_TYPE",function(n,e,o){var i,E;if("string"==typeof e&&c(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be",a(n," argument"))E="The ".concat(n," ").concat(i," ").concat(r(e,"type"));else{var f=u(n,".")?"property":"argument";E='The "'.concat(n,'" ').concat(f," ").concat(i," ").concat(r(e,"type"))}return E+=". Received type ".concat(t(o))},TypeError),o("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),o("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"}),o("ERR_STREAM_PREMATURE_CLOSE","Premature close"),o("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"}),o("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),o("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),o("ERR_STREAM_WRITE_AFTER_END","write after end"),o("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),o("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError),o("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),module.exports.codes=e;
|
|
65
|
+
},{}],"nks4":[function(require,module,exports) {
|
|
66
|
+
"use strict";var r=require("../../../errors").codes.ERR_INVALID_OPT_VALUE;function e(r,e,t){return null!=r.highWaterMark?r.highWaterMark:e?r[t]:null}function t(t,i,o,a){var n=e(i,a,o);if(null!=n){if(!isFinite(n)||Math.floor(n)!==n||n<0)throw new r(a?o:"highWaterMark",n);return Math.floor(n)}return t.objectMode?16:16384}module.exports={getHighWaterMark:t};
|
|
67
|
+
},{"../../../errors":"6eV+"}],"t8EM":[function(require,module,exports) {
|
|
68
|
+
"function"==typeof Object.create?module.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:module.exports=function(t,e){if(e){t.super_=e;var o=function(){};o.prototype=e.prototype,t.prototype=new o,t.prototype.constructor=t}};
|
|
69
|
+
},{}],"yM1o":[function(require,module,exports) {
|
|
70
|
+
var global = arguments[3];
|
|
71
|
+
var r=arguments[3];function t(r,t){if(e("noDeprecation"))return r;var n=!1;return function(){if(!n){if(e("throwDeprecation"))throw new Error(t);e("traceDeprecation")?console.trace(t):console.warn(t),n=!0}return r.apply(this,arguments)}}function e(t){try{if(!r.localStorage)return!1}catch(n){return!1}var e=r.localStorage[t];return null!=e&&"true"===String(e).toLowerCase()}module.exports=t;
|
|
72
|
+
},{}],"2zgA":[function(require,module,exports) {
|
|
73
|
+
|
|
74
|
+
var global = arguments[3];
|
|
75
|
+
var process = require("process");
|
|
76
|
+
var e,t=arguments[3],n=require("process");function r(e,t,n){this.chunk=e,this.encoding=t,this.callback=n,this.next=null}function i(e){var t=this;this.next=null,this.entry=null,this.finish=function(){G(t,e)}}module.exports=x,x.WritableState=m;var o={deprecate:require("util-deprecate")},s=require("./internal/streams/stream"),u=require("buffer").Buffer,f=t.Uint8Array||function(){};function a(e){return u.from(e)}function c(e){return u.isBuffer(e)||e instanceof f}var l,d=require("./internal/streams/destroy"),h=require("./internal/streams/state"),b=h.getHighWaterMark,p=require("../errors").codes,y=p.ERR_INVALID_ARG_TYPE,w=p.ERR_METHOD_NOT_IMPLEMENTED,g=p.ERR_MULTIPLE_CALLBACK,_=p.ERR_STREAM_CANNOT_PIPE,R=p.ERR_STREAM_DESTROYED,k=p.ERR_STREAM_NULL_VALUES,E=p.ERR_STREAM_WRITE_AFTER_END,S=p.ERR_UNKNOWN_ENCODING,q=d.errorOrDestroy;function v(){}function m(t,n,r){e=e||require("./_stream_duplex"),t=t||{},"boolean"!=typeof r&&(r=n instanceof e),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=b(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var o=!1===t.decodeStrings;this.decodeStrings=!o,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){O(n,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new i(this)}function x(t){var n=this instanceof(e=e||require("./_stream_duplex"));if(!n&&!l.call(x,this))return new x(t);this._writableState=new m(t,this,n),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),s.call(this)}function M(e,t){var r=new E;q(e,r),n.nextTick(t,r)}function B(e,t,r,i){var o;return null===r?o=new k:"string"==typeof r||t.objectMode||(o=new y("chunk",["string","Buffer"],r)),!o||(q(e,o),n.nextTick(i,o),!1)}function T(e,t,n){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=u.from(t,n)),t}function D(e,t,n,r,i,o){if(!n){var s=T(t,r,i);r!==s&&(n=!0,i="buffer",r=s)}var u=t.objectMode?1:r.length;t.length+=u;var f=t.length<t.highWaterMark;if(f||(t.needDrain=!0),t.writing||t.corked){var a=t.lastBufferedRequest;t.lastBufferedRequest={chunk:r,encoding:i,isBuf:n,callback:o,next:null},a?a.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else P(e,t,!1,u,r,i,o);return f}function P(e,t,n,r,i,o,s){t.writelen=r,t.writecb=s,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new R("write")):n?e._writev(i,t.onwrite):e._write(i,o,t.onwrite),t.sync=!1}function j(e,t,r,i,o){--t.pendingcb,r?(n.nextTick(o,i),n.nextTick(U,e,t),e._writableState.errorEmitted=!0,q(e,i)):(o(i),e._writableState.errorEmitted=!0,q(e,i),U(e,t))}function C(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function O(e,t){var r=e._writableState,i=r.sync,o=r.writecb;if("function"!=typeof o)throw new g;if(C(r),t)j(e,r,i,t,o);else{var s=I(r)||e.destroyed;s||r.corked||r.bufferProcessing||!r.bufferedRequest||N(e,r),i?n.nextTick(A,e,r,s,o):A(e,r,s,o)}}function A(e,t,n,r){n||L(e,t),t.pendingcb--,r(),U(e,t)}function L(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}function N(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var r=t.bufferedRequestCount,o=new Array(r),s=t.corkedRequestsFree;s.entry=n;for(var u=0,f=!0;n;)o[u]=n,n.isBuf||(f=!1),n=n.next,u+=1;o.allBuffers=f,P(e,t,!0,t.length,o,"",s.finish),t.pendingcb++,t.lastBufferedRequest=null,s.next?(t.corkedRequestsFree=s.next,s.next=null):t.corkedRequestsFree=new i(t),t.bufferedRequestCount=0}else{for(;n;){var a=n.chunk,c=n.encoding,l=n.callback;if(P(e,t,!1,t.objectMode?1:a.length,a,c,l),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function I(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function W(e,t){e._final(function(n){t.pendingcb--,n&&q(e,n),t.prefinished=!0,e.emit("prefinish"),U(e,t)})}function F(e,t){t.prefinished||t.finalCalled||("function"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit("prefinish")):(t.pendingcb++,t.finalCalled=!0,n.nextTick(W,e,t)))}function U(e,t){var n=I(t);if(n&&(F(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"),t.autoDestroy))){var r=e._readableState;(!r||r.autoDestroy&&r.endEmitted)&&e.destroy()}return n}function H(e,t,r){t.ending=!0,U(e,t),r&&(t.finished?n.nextTick(r):e.once("finish",r)),t.ended=!0,e.writable=!1}function G(e,t,n){var r=e.entry;for(e.entry=null;r;){var i=r.callback;t.pendingcb--,i(n),r=r.next}t.corkedRequestsFree.next=e}require("inherits")(x,s),m.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(m.prototype,"buffer",{get:o.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(l=Function.prototype[Symbol.hasInstance],Object.defineProperty(x,Symbol.hasInstance,{value:function(e){return!!l.call(this,e)||this===x&&(e&&e._writableState instanceof m)}})):l=function(e){return e instanceof this},x.prototype.pipe=function(){q(this,new _)},x.prototype.write=function(e,t,n){var r=this._writableState,i=!1,o=!r.objectMode&&c(e);return o&&!u.isBuffer(e)&&(e=a(e)),"function"==typeof t&&(n=t,t=null),o?t="buffer":t||(t=r.defaultEncoding),"function"!=typeof n&&(n=v),r.ending?M(this,n):(o||B(this,r,e,n))&&(r.pendingcb++,i=D(this,r,o,e,t,n)),i},x.prototype.cork=function(){this._writableState.corked++},x.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.bufferProcessing||!e.bufferedRequest||N(this,e))},x.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new S(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(x.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(x.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),x.prototype._write=function(e,t,n){n(new w("_write()"))},x.prototype._writev=null,x.prototype.end=function(e,t,n){var r=this._writableState;return"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||H(this,r,n),this},Object.defineProperty(x.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(x.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),x.prototype.destroy=d.destroy,x.prototype._undestroy=d.undestroy,x.prototype._destroy=function(e,t){t(e)};
|
|
77
|
+
},{"util-deprecate":"yM1o","./internal/streams/stream":"8V4J","buffer":"dskh","./internal/streams/destroy":"DoEV","./internal/streams/state":"nks4","../errors":"6eV+","inherits":"t8EM","./_stream_duplex":"DaSy","process":"pBGv"}],"DaSy":[function(require,module,exports) {
|
|
78
|
+
var process = require("process");
|
|
79
|
+
var e=require("process"),t=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};module.exports=l;var r=require("./_stream_readable"),a=require("./_stream_writable");require("inherits")(l,r);for(var i=t(a.prototype),n=0;n<i.length;n++){var o=i[n];l.prototype[o]||(l.prototype[o]=a.prototype[o])}function l(e){if(!(this instanceof l))return new l(e);r.call(this,e),a.call(this,e),this.allowHalfOpen=!0,e&&(!1===e.readable&&(this.readable=!1),!1===e.writable&&(this.writable=!1),!1===e.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",s)))}function s(){this._writableState.ended||e.nextTick(b,this)}function b(e){e.end()}Object.defineProperty(l.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(l.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(l.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(l.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}});
|
|
80
|
+
},{"./_stream_readable":"Kc+k","./_stream_writable":"2zgA","inherits":"t8EM","process":"pBGv"}],"z0rv":[function(require,module,exports) {
|
|
81
|
+
|
|
82
|
+
"use strict";var t=require("safe-buffer").Buffer,e=t.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function s(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function i(i){var a=s(i);if("string"!=typeof a&&(t.isEncoding===e||!e(i)))throw new Error("Unknown encoding: "+i);return a||i}function a(e){var s;switch(this.encoding=i(e),this.encoding){case"utf16le":this.text=c,this.end=f,s=4;break;case"utf8":this.fillLast=l,s=4;break;case"base64":this.text=d,this.end=g,s=3;break;default:return this.write=N,void(this.end=v)}this.lastNeed=0,this.lastTotal=0,this.lastChar=t.allocUnsafe(s)}function r(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function n(t,e,s){var i=e.length-1;if(i<s)return 0;var a=r(e[i]);return a>=0?(a>0&&(t.lastNeed=a-1),a):--i<s||-2===a?0:(a=r(e[i]))>=0?(a>0&&(t.lastNeed=a-2),a):--i<s||-2===a?0:(a=r(e[i]))>=0?(a>0&&(2===a?a=0:t.lastNeed=a-3),a):0}function h(t,e,s){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}function l(t){var e=this.lastTotal-this.lastNeed,s=h(this,t,e);return void 0!==s?s:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function u(t,e){var s=n(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=s;var i=t.length-(s-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)}function o(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e}function c(t,e){if((t.length-e)%2==0){var s=t.toString("utf16le",e);if(s){var i=s.charCodeAt(s.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],s.slice(0,-1)}return s}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function f(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var s=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,s)}return e}function d(t,e){var s=(t.length-e)%3;return 0===s?t.toString("base64",e):(this.lastNeed=3-s,this.lastTotal=3,1===s?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-s))}function g(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function N(t){return t.toString(this.encoding)}function v(t){return t&&t.length?this.write(t):""}exports.StringDecoder=a,a.prototype.write=function(t){if(0===t.length)return"";var e,s;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";s=this.lastNeed,this.lastNeed=0}else s=0;return s<t.length?e?e+this.text(t,s):this.text(t,s):e||""},a.prototype.end=o,a.prototype.text=u,a.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length};
|
|
83
|
+
},{"safe-buffer":"wyv4"}],"P4rJ":[function(require,module,exports) {
|
|
84
|
+
"use strict";var e=require("../../../errors").codes.ERR_STREAM_PREMATURE_CLOSE;function r(e){var r=!1;return function(){if(!r){r=!0;for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];e.apply(this,n)}}}function t(){}function n(e){return e.setHeader&&"function"==typeof e.abort}function o(i,a,l){if("function"==typeof a)return o(i,null,a);a||(a={}),l=r(l||t);var s=a.readable||!1!==a.readable&&i.readable,c=a.writable||!1!==a.writable&&i.writable,u=function(){i.writable||d()},f=i._writableState&&i._writableState.finished,d=function(){c=!1,f=!0,s||l.call(i)},b=i._readableState&&i._readableState.endEmitted,v=function(){s=!1,b=!0,c||l.call(i)},m=function(e){l.call(i,e)},w=function(){var r;return s&&!b?(i._readableState&&i._readableState.ended||(r=new e),l.call(i,r)):c&&!f?(i._writableState&&i._writableState.ended||(r=new e),l.call(i,r)):void 0},_=function(){i.req.on("finish",d)};return n(i)?(i.on("complete",d),i.on("abort",w),i.req?_():i.on("request",_)):c&&!i._writableState&&(i.on("end",u),i.on("close",u)),i.on("end",v),i.on("finish",d),!1!==a.error&&i.on("error",m),i.on("close",w),function(){i.removeListener("complete",d),i.removeListener("abort",w),i.removeListener("request",_),i.req&&i.req.removeListener("finish",d),i.removeListener("end",u),i.removeListener("close",u),i.removeListener("finish",d),i.removeListener("end",v),i.removeListener("error",m),i.removeListener("close",w)}}module.exports=o;
|
|
85
|
+
},{"../../../errors":"6eV+"}],"2WOa":[function(require,module,exports) {
|
|
86
|
+
var process = require("process");
|
|
87
|
+
var e,n=require("process");function r(e,n,r){return n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}var t=require("./end-of-stream"),l=Symbol("lastResolve"),u=Symbol("lastReject"),i=Symbol("error"),o=Symbol("ended"),a=Symbol("lastPromise"),s=Symbol("handlePromise"),c=Symbol("stream");function f(e,n){return{value:e,done:n}}function v(e){var n=e[l];if(null!==n){var r=e[c].read();null!==r&&(e[a]=null,e[l]=null,e[u]=null,n(f(r,!1)))}}function d(e){n.nextTick(v,e)}function b(e,n){return function(r,t){e.then(function(){n[o]?r(f(void 0,!0)):n[s](r,t)},t)}}var m=Object.getPrototypeOf(function(){}),h=Object.setPrototypeOf((r(e={get stream(){return this[c]},next:function(){var e=this,r=this[i];if(null!==r)return Promise.reject(r);if(this[o])return Promise.resolve(f(void 0,!0));if(this[c].destroyed)return new Promise(function(r,t){n.nextTick(function(){e[i]?t(e[i]):r(f(void 0,!0))})});var t,l=this[a];if(l)t=new Promise(b(l,this));else{var u=this[c].read();if(null!==u)return Promise.resolve(f(u,!1));t=new Promise(this[s])}return this[a]=t,t}},Symbol.asyncIterator,function(){return this}),r(e,"return",function(){var e=this;return new Promise(function(n,r){e[c].destroy(null,function(e){e?r(e):n(f(void 0,!0))})})}),e),m),y=function(e){var n,v=Object.create(h,(r(n={},c,{value:e,writable:!0}),r(n,l,{value:null,writable:!0}),r(n,u,{value:null,writable:!0}),r(n,i,{value:null,writable:!0}),r(n,o,{value:e._readableState.endEmitted,writable:!0}),r(n,s,{value:function(e,n){var r=v[c].read();r?(v[a]=null,v[l]=null,v[u]=null,e(f(r,!1))):(v[l]=e,v[u]=n)},writable:!0}),n));return v[a]=null,t(e,function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var n=v[u];return null!==n&&(v[a]=null,v[l]=null,v[u]=null,n(e)),void(v[i]=e)}var r=v[l];null!==r&&(v[a]=null,v[l]=null,v[u]=null,r(f(void 0,!0))),v[o]=!0}),e.on("readable",d.bind(null,v)),v};module.exports=y;
|
|
88
|
+
},{"./end-of-stream":"P4rJ","process":"pBGv"}],"pIwT":[function(require,module,exports) {
|
|
89
|
+
module.exports=function(){throw new Error("Readable.from is not available in the browser")};
|
|
90
|
+
},{}],"Kc+k":[function(require,module,exports) {
|
|
91
|
+
|
|
92
|
+
var global = arguments[3];
|
|
93
|
+
var process = require("process");
|
|
94
|
+
var e,t=arguments[3],n=require("process");module.exports=j,j.ReadableState=L;var r=require("events").EventEmitter,i=function(e,t){return e.listeners(t).length},a=require("./internal/streams/stream"),d=require("buffer").Buffer,o=t.Uint8Array||function(){};function s(e){return d.from(e)}function l(e){return d.isBuffer(e)||e instanceof o}var u,h=require("util");u=h&&h.debuglog?h.debuglog("stream"):function(){};var p,f,c,b=require("./internal/streams/buffer_list"),g=require("./internal/streams/destroy"),m=require("./internal/streams/state"),y=m.getHighWaterMark,_=require("../errors").codes,v=_.ERR_INVALID_ARG_TYPE,w=_.ERR_STREAM_PUSH_AFTER_EOF,S=_.ERR_METHOD_NOT_IMPLEMENTED,R=_.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;require("inherits")(j,a);var M=g.errorOrDestroy,E=["error","close","destroy","pause","resume"];function k(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}function L(t,n,r){e=e||require("./_stream_duplex"),t=t||{},"boolean"!=typeof r&&(r=n instanceof e),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=y(this,t,"readableHighWaterMark",r),this.buffer=new b,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(p||(p=require("string_decoder/").StringDecoder),this.decoder=new p(t.encoding),this.encoding=t.encoding)}function j(t){if(e=e||require("./_stream_duplex"),!(this instanceof j))return new j(t);var n=this instanceof e;this._readableState=new L(t,this,n),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),a.call(this)}function D(e,t,n,r,i){u("readableAddChunk",t);var a,o=e._readableState;if(null===t)o.reading=!1,A(e,o);else if(i||(a=T(o,t)),a)M(e,a);else if(o.objectMode||t&&t.length>0)if("string"==typeof t||o.objectMode||Object.getPrototypeOf(t)===d.prototype||(t=s(t)),r)o.endEmitted?M(e,new R):C(e,o,t,!0);else if(o.ended)M(e,new w);else{if(o.destroyed)return!1;o.reading=!1,o.decoder&&!n?(t=o.decoder.write(t),o.objectMode||0!==t.length?C(e,o,t,!1):U(e,o)):C(e,o,t,!1)}else r||(o.reading=!1,U(e,o));return!o.ended&&(o.length<o.highWaterMark||0===o.length)}function C(e,t,n,r){t.flowing&&0===t.length&&!t.sync?(t.awaitDrain=0,e.emit("data",n)):(t.length+=t.objectMode?1:n.length,r?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&O(e)),U(e,t)}function T(e,t){var n;return l(t)||"string"==typeof t||void 0===t||e.objectMode||(n=new v("chunk",["string","Buffer","Uint8Array"],t)),n}Object.defineProperty(j.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),j.prototype.destroy=g.destroy,j.prototype._undestroy=g.undestroy,j.prototype._destroy=function(e,t){t(e)},j.prototype.push=function(e,t){var n,r=this._readableState;return r.objectMode?n=!0:"string"==typeof e&&((t=t||r.defaultEncoding)!==r.encoding&&(e=d.from(e,t),t=""),n=!0),D(this,e,t,!1,n)},j.prototype.unshift=function(e){return D(this,e,null,!0,!1)},j.prototype.isPaused=function(){return!1===this._readableState.flowing},j.prototype.setEncoding=function(e){p||(p=require("string_decoder/").StringDecoder);var t=new p(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;for(var n=this._readableState.buffer.head,r="";null!==n;)r+=t.write(n.data),n=n.next;return this._readableState.buffer.clear(),""!==r&&this._readableState.buffer.push(r),this._readableState.length=r.length,this};var q=1073741824;function W(e){return e>=q?e=q:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function x(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=W(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function A(e,t){if(u("onEofChunk"),!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,t.sync?O(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,P(e)))}}function O(e){var t=e._readableState;u("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(u("emitReadable",t.flowing),t.emittedReadable=!0,n.nextTick(P,e))}function P(e){var t=e._readableState;u("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,G(e)}function U(e,t){t.readingMore||(t.readingMore=!0,n.nextTick(N,e,t))}function N(e,t){for(;!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&0===t.length);){var n=t.length;if(u("maybeReadMore read 0"),e.read(0),n===t.length)break}t.readingMore=!1}function H(e){return function(){var t=e._readableState;u("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&i(e,"data")&&(t.flowing=!0,G(e))}}function I(e){var t=e._readableState;t.readableListening=e.listenerCount("readable")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function F(e){u("readable nexttick read 0"),e.read(0)}function B(e,t){t.resumeScheduled||(t.resumeScheduled=!0,n.nextTick(V,e,t))}function V(e,t){u("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),G(e),t.flowing&&!t.reading&&e.read(0)}function G(e){var t=e._readableState;for(u("flow",t.flowing);t.flowing&&null!==e.read(););}function Y(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):n=t.buffer.consume(e,t.decoder),n);var n}function z(e){var t=e._readableState;u("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,n.nextTick(J,t,e))}function J(e,t){if(u("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var n=t._writableState;(!n||n.autoDestroy&&n.finished)&&t.destroy()}}function K(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}j.prototype.read=function(e){u("read",e),e=parseInt(e,10);var t=this._readableState,n=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&((0!==t.highWaterMark?t.length>=t.highWaterMark:t.length>0)||t.ended))return u("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?z(this):O(this),null;if(0===(e=x(e,t))&&t.ended)return 0===t.length&&z(this),null;var r,i=t.needReadable;return u("need readable",i),(0===t.length||t.length-e<t.highWaterMark)&&u("length less than watermark",i=!0),t.ended||t.reading?u("reading or ended",i=!1):i&&(u("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=x(n,t))),null===(r=e>0?Y(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&z(this)),null!==r&&this.emit("data",r),r},j.prototype._read=function(e){M(this,new S("_read()"))},j.prototype.pipe=function(e,t){var r=this,a=this._readableState;switch(a.pipesCount){case 0:a.pipes=e;break;case 1:a.pipes=[a.pipes,e];break;default:a.pipes.push(e)}a.pipesCount+=1,u("pipe count=%d opts=%j",a.pipesCount,t);var d=(!t||!1!==t.end)&&e!==n.stdout&&e!==n.stderr?s:g;function o(t,n){u("onunpipe"),t===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,u("cleanup"),e.removeListener("close",c),e.removeListener("finish",b),e.removeListener("drain",l),e.removeListener("error",f),e.removeListener("unpipe",o),r.removeListener("end",s),r.removeListener("end",g),r.removeListener("data",p),h=!0,!a.awaitDrain||e._writableState&&!e._writableState.needDrain||l())}function s(){u("onend"),e.end()}a.endEmitted?n.nextTick(d):r.once("end",d),e.on("unpipe",o);var l=H(r);e.on("drain",l);var h=!1;function p(t){u("ondata");var n=e.write(t);u("dest.write",n),!1===n&&((1===a.pipesCount&&a.pipes===e||a.pipesCount>1&&-1!==K(a.pipes,e))&&!h&&(u("false write response, pause",a.awaitDrain),a.awaitDrain++),r.pause())}function f(t){u("onerror",t),g(),e.removeListener("error",f),0===i(e,"error")&&M(e,t)}function c(){e.removeListener("finish",b),g()}function b(){u("onfinish"),e.removeListener("close",c),g()}function g(){u("unpipe"),r.unpipe(e)}return r.on("data",p),k(e,"error",f),e.once("close",c),e.once("finish",b),e.emit("pipe",r),a.flowing||(u("pipe resume"),r.resume()),e},j.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n),this);if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a<i;a++)r[a].emit("unpipe",this,{hasUnpiped:!1});return this}var d=K(t.pipes,e);return-1===d?this:(t.pipes.splice(d,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,n),this)},j.prototype.on=function(e,t){var r=a.prototype.on.call(this,e,t),i=this._readableState;return"data"===e?(i.readableListening=this.listenerCount("readable")>0,!1!==i.flowing&&this.resume()):"readable"===e&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,u("on readable",i.length,i.reading),i.length?O(this):i.reading||n.nextTick(F,this))),r},j.prototype.addListener=j.prototype.on,j.prototype.removeListener=function(e,t){var r=a.prototype.removeListener.call(this,e,t);return"readable"===e&&n.nextTick(I,this),r},j.prototype.removeAllListeners=function(e){var t=a.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||n.nextTick(I,this),t},j.prototype.resume=function(){var e=this._readableState;return e.flowing||(u("resume"),e.flowing=!e.readableListening,B(this,e)),e.paused=!1,this},j.prototype.pause=function(){return u("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(u("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},j.prototype.wrap=function(e){var t=this,n=this._readableState,r=!1;for(var i in e.on("end",function(){if(u("wrapped end"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on("data",function(i){(u("wrapped data"),n.decoder&&(i=n.decoder.write(i)),n.objectMode&&null==i)||(n.objectMode||i&&i.length)&&(t.push(i)||(r=!0,e.pause()))}),e)void 0===this[i]&&"function"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var a=0;a<E.length;a++)e.on(E[a],this.emit.bind(this,E[a]));return this._read=function(t){u("wrapped _read",t),r&&(r=!1,e.resume())},this},"function"==typeof Symbol&&(j.prototype[Symbol.asyncIterator]=function(){return void 0===f&&(f=require("./internal/streams/async_iterator")),f(this)}),Object.defineProperty(j.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(j.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(j.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}}),j._fromList=Y,Object.defineProperty(j.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),"function"==typeof Symbol&&(j.from=function(e,t){return void 0===c&&(c=require("./internal/streams/from")),c(j,e,t)});
|
|
95
|
+
},{"events":"FRpO","./internal/streams/stream":"8V4J","buffer":"dskh","util":"f88W","./internal/streams/buffer_list":"bUoY","./internal/streams/destroy":"DoEV","./internal/streams/state":"nks4","../errors":"6eV+","inherits":"t8EM","./_stream_duplex":"DaSy","string_decoder/":"z0rv","./internal/streams/async_iterator":"2WOa","./internal/streams/from":"pIwT","process":"pBGv"}],"pm66":[function(require,module,exports) {
|
|
96
|
+
"use strict";module.exports=o;var t=require("../errors").codes,r=t.ERR_METHOD_NOT_IMPLEMENTED,e=t.ERR_MULTIPLE_CALLBACK,n=t.ERR_TRANSFORM_ALREADY_TRANSFORMING,i=t.ERR_TRANSFORM_WITH_LENGTH_0,a=require("./_stream_duplex");function s(t,r){var n=this._transformState;n.transforming=!1;var i=n.writecb;if(null===i)return this.emit("error",new e);n.writechunk=null,n.writecb=null,null!=r&&this.push(r),i(t);var a=this._readableState;a.reading=!1,(a.needReadable||a.length<a.highWaterMark)&&this._read(a.highWaterMark)}function o(t){if(!(this instanceof o))return new o(t);a.call(this,t),this._transformState={afterTransform:s.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&("function"==typeof t.transform&&(this._transform=t.transform),"function"==typeof t.flush&&(this._flush=t.flush)),this.on("prefinish",h)}function h(){var t=this;"function"!=typeof this._flush||this._readableState.destroyed?f(this,null,null):this._flush(function(r,e){f(t,r,e)})}function f(t,r,e){if(r)return t.emit("error",r);if(null!=e&&t.push(e),t._writableState.length)throw new i;if(t._transformState.transforming)throw new n;return t.push(null)}require("inherits")(o,a),o.prototype.push=function(t,r){return this._transformState.needTransform=!1,a.prototype.push.call(this,t,r)},o.prototype._transform=function(t,e,n){n(new r("_transform()"))},o.prototype._write=function(t,r,e){var n=this._transformState;if(n.writecb=e,n.writechunk=t,n.writeencoding=r,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},o.prototype._read=function(t){var r=this._transformState;null===r.writechunk||r.transforming?r.needTransform=!0:(r.transforming=!0,this._transform(r.writechunk,r.writeencoding,r.afterTransform))},o.prototype._destroy=function(t,r){a.prototype._destroy.call(this,t,function(t){r(t)})};
|
|
97
|
+
},{"../errors":"6eV+","./_stream_duplex":"DaSy","inherits":"t8EM"}],"/0+4":[function(require,module,exports) {
|
|
98
|
+
"use strict";module.exports=t;var r=require("./_stream_transform");function t(e){if(!(this instanceof t))return new t(e);r.call(this,e)}require("inherits")(t,r),t.prototype._transform=function(r,t,e){e(null,r)};
|
|
99
|
+
},{"./_stream_transform":"pm66","inherits":"t8EM"}],"8Qv1":[function(require,module,exports) {
|
|
100
|
+
"use strict";var r;function n(r){var n=!1;return function(){n||(n=!0,r.apply(void 0,arguments))}}var t=require("../../../errors").codes,e=t.ERR_MISSING_ARGS,o=t.ERR_STREAM_DESTROYED;function i(r){if(r)throw r}function u(r){return r.setHeader&&"function"==typeof r.abort}function f(t,e,i,f){f=n(f);var a=!1;t.on("close",function(){a=!0}),void 0===r&&(r=require("./end-of-stream")),r(t,{readable:e,writable:i},function(r){if(r)return f(r);a=!0,f()});var c=!1;return function(r){if(!a&&!c)return c=!0,u(t)?t.abort():"function"==typeof t.destroy?t.destroy():void f(r||new o("pipe"))}}function a(r){r()}function c(r,n){return r.pipe(n)}function p(r){return r.length?"function"!=typeof r[r.length-1]?i:r.pop():i}function s(){for(var r=arguments.length,n=new Array(r),t=0;t<r;t++)n[t]=arguments[t];var o,i=p(n);if(Array.isArray(n[0])&&(n=n[0]),n.length<2)throw new e("streams");var u=n.map(function(r,t){var e=t<n.length-1;return f(r,e,t>0,function(r){o||(o=r),r&&u.forEach(a),e||(u.forEach(a),i(o))})});return n.reduce(c)}module.exports=s;
|
|
101
|
+
},{"../../../errors":"6eV+","./end-of-stream":"P4rJ"}],"FEG8":[function(require,module,exports) {
|
|
102
|
+
exports=module.exports=require("./lib/_stream_readable.js"),exports.Stream=exports,exports.Readable=exports,exports.Writable=require("./lib/_stream_writable.js"),exports.Duplex=require("./lib/_stream_duplex.js"),exports.Transform=require("./lib/_stream_transform.js"),exports.PassThrough=require("./lib/_stream_passthrough.js"),exports.finished=require("./lib/internal/streams/end-of-stream.js"),exports.pipeline=require("./lib/internal/streams/pipeline.js");
|
|
103
|
+
},{"./lib/_stream_readable.js":"Kc+k","./lib/_stream_writable.js":"2zgA","./lib/_stream_duplex.js":"DaSy","./lib/_stream_transform.js":"pm66","./lib/_stream_passthrough.js":"/0+4","./lib/internal/streams/end-of-stream.js":"P4rJ","./lib/internal/streams/pipeline.js":"8Qv1"}],"7UcQ":[function(require,module,exports) {
|
|
104
|
+
|
|
105
|
+
"use strict";var t=require("safe-buffer").Buffer,e=require("readable-stream").Transform,i=require("inherits");function r(e,i){if(!t.isBuffer(e)&&"string"!=typeof e)throw new TypeError(i+" must be a string or a buffer")}function o(i){e.call(this),this._block=t.allocUnsafe(i),this._blockSize=i,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}i(o,e),o.prototype._transform=function(t,e,i){var r=null;try{this.update(t,e)}catch(o){r=o}i(r)},o.prototype._flush=function(t){var e=null;try{this.push(this.digest())}catch(i){e=i}t(e)},o.prototype.update=function(e,i){if(r(e,"Data"),this._finalized)throw new Error("Digest already called");t.isBuffer(e)||(e=t.from(e,i));for(var o=this._block,s=0;this._blockOffset+e.length-s>=this._blockSize;){for(var f=this._blockOffset;f<this._blockSize;)o[f++]=e[s++];this._update(),this._blockOffset=0}for(;s<e.length;)o[this._blockOffset++]=e[s++];for(var n=0,h=8*e.length;h>0;++n)this._length[n]+=h,(h=this._length[n]/4294967296|0)>0&&(this._length[n]-=4294967296*h);return this},o.prototype._update=function(){throw new Error("_update is not implemented")},o.prototype.digest=function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var e=this._digest();void 0!==t&&(e=e.toString(t)),this._block.fill(0),this._blockOffset=0;for(var i=0;i<4;++i)this._length[i]=0;return e},o.prototype._digest=function(){throw new Error("_digest is not implemented")},module.exports=o;
|
|
106
|
+
},{"safe-buffer":"wyv4","readable-stream":"FEG8","inherits":"t8EM"}],"OP64":[function(require,module,exports) {
|
|
107
|
+
|
|
108
|
+
"use strict";var t=require("inherits"),i=require("hash-base"),s=require("safe-buffer").Buffer,e=new Array(16);function h(){i.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function r(t,i){return t<<i|t>>>32-i}function _(t,i,s,e,h,_,n){return r(t+(i&s|~i&e)+h+_|0,n)+i|0}function n(t,i,s,e,h,_,n){return r(t+(i&e|s&~e)+h+_|0,n)+i|0}function c(t,i,s,e,h,_,n){return r(t+(i^s^e)+h+_|0,n)+i|0}function f(t,i,s,e,h,_,n){return r(t+(s^(i|~e))+h+_|0,n)+i|0}t(h,i),h.prototype._update=function(){for(var t=e,i=0;i<16;++i)t[i]=this._block.readInt32LE(4*i);var s=this._a,h=this._b,r=this._c,o=this._d;s=_(s,h,r,o,t[0],3614090360,7),o=_(o,s,h,r,t[1],3905402710,12),r=_(r,o,s,h,t[2],606105819,17),h=_(h,r,o,s,t[3],3250441966,22),s=_(s,h,r,o,t[4],4118548399,7),o=_(o,s,h,r,t[5],1200080426,12),r=_(r,o,s,h,t[6],2821735955,17),h=_(h,r,o,s,t[7],4249261313,22),s=_(s,h,r,o,t[8],1770035416,7),o=_(o,s,h,r,t[9],2336552879,12),r=_(r,o,s,h,t[10],4294925233,17),h=_(h,r,o,s,t[11],2304563134,22),s=_(s,h,r,o,t[12],1804603682,7),o=_(o,s,h,r,t[13],4254626195,12),r=_(r,o,s,h,t[14],2792965006,17),s=n(s,h=_(h,r,o,s,t[15],1236535329,22),r,o,t[1],4129170786,5),o=n(o,s,h,r,t[6],3225465664,9),r=n(r,o,s,h,t[11],643717713,14),h=n(h,r,o,s,t[0],3921069994,20),s=n(s,h,r,o,t[5],3593408605,5),o=n(o,s,h,r,t[10],38016083,9),r=n(r,o,s,h,t[15],3634488961,14),h=n(h,r,o,s,t[4],3889429448,20),s=n(s,h,r,o,t[9],568446438,5),o=n(o,s,h,r,t[14],3275163606,9),r=n(r,o,s,h,t[3],4107603335,14),h=n(h,r,o,s,t[8],1163531501,20),s=n(s,h,r,o,t[13],2850285829,5),o=n(o,s,h,r,t[2],4243563512,9),r=n(r,o,s,h,t[7],1735328473,14),s=c(s,h=n(h,r,o,s,t[12],2368359562,20),r,o,t[5],4294588738,4),o=c(o,s,h,r,t[8],2272392833,11),r=c(r,o,s,h,t[11],1839030562,16),h=c(h,r,o,s,t[14],4259657740,23),s=c(s,h,r,o,t[1],2763975236,4),o=c(o,s,h,r,t[4],1272893353,11),r=c(r,o,s,h,t[7],4139469664,16),h=c(h,r,o,s,t[10],3200236656,23),s=c(s,h,r,o,t[13],681279174,4),o=c(o,s,h,r,t[0],3936430074,11),r=c(r,o,s,h,t[3],3572445317,16),h=c(h,r,o,s,t[6],76029189,23),s=c(s,h,r,o,t[9],3654602809,4),o=c(o,s,h,r,t[12],3873151461,11),r=c(r,o,s,h,t[15],530742520,16),s=f(s,h=c(h,r,o,s,t[2],3299628645,23),r,o,t[0],4096336452,6),o=f(o,s,h,r,t[7],1126891415,10),r=f(r,o,s,h,t[14],2878612391,15),h=f(h,r,o,s,t[5],4237533241,21),s=f(s,h,r,o,t[12],1700485571,6),o=f(o,s,h,r,t[3],2399980690,10),r=f(r,o,s,h,t[10],4293915773,15),h=f(h,r,o,s,t[1],2240044497,21),s=f(s,h,r,o,t[8],1873313359,6),o=f(o,s,h,r,t[15],4264355552,10),r=f(r,o,s,h,t[6],2734768916,15),h=f(h,r,o,s,t[13],1309151649,21),s=f(s,h,r,o,t[4],4149444226,6),o=f(o,s,h,r,t[11],3174756917,10),r=f(r,o,s,h,t[2],718787259,15),h=f(h,r,o,s,t[9],3951481745,21),this._a=this._a+s|0,this._b=this._b+h|0,this._c=this._c+r|0,this._d=this._d+o|0},h.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=s.allocUnsafe(16);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t},module.exports=h;
|
|
109
|
+
},{"inherits":"4Bm0","hash-base":"7UcQ","safe-buffer":"38Wu"}],"quyi":[function(require,module,exports) {
|
|
110
|
+
|
|
111
|
+
"use strict";var t=require("buffer").Buffer,i=require("inherits"),s=require("hash-base"),h=new Array(16),e=[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],_=[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],r=[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],n=[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],c=[0,1518500249,1859775393,2400959708,2840853838],o=[1352829926,1548603684,1836072691,2053994217,0];function f(){s.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function u(t,i){return t<<i|t>>>32-i}function l(t,i,s,h,e,_,r,n){return u(t+(i^s^h)+_+r|0,n)+e|0}function a(t,i,s,h,e,_,r,n){return u(t+(i&s|~i&h)+_+r|0,n)+e|0}function b(t,i,s,h,e,_,r,n){return u(t+((i|~s)^h)+_+r|0,n)+e|0}function d(t,i,s,h,e,_,r,n){return u(t+(i&h|s&~h)+_+r|0,n)+e|0}function k(t,i,s,h,e,_,r,n){return u(t+(i^(s|~h))+_+r|0,n)+e|0}i(f,s),f.prototype._update=function(){for(var t=h,i=0;i<16;++i)t[i]=this._block.readInt32LE(4*i);for(var s=0|this._a,f=0|this._b,w=0|this._c,p=0|this._d,E=0|this._e,I=0|this._a,L=0|this._b,v=0|this._c,O=0|this._d,g=0|this._e,q=0;q<80;q+=1){var y,U;q<16?(y=l(s,f,w,p,E,t[e[q]],c[0],r[q]),U=k(I,L,v,O,g,t[_[q]],o[0],n[q])):q<32?(y=a(s,f,w,p,E,t[e[q]],c[1],r[q]),U=d(I,L,v,O,g,t[_[q]],o[1],n[q])):q<48?(y=b(s,f,w,p,E,t[e[q]],c[2],r[q]),U=b(I,L,v,O,g,t[_[q]],o[2],n[q])):q<64?(y=d(s,f,w,p,E,t[e[q]],c[3],r[q]),U=a(I,L,v,O,g,t[_[q]],o[3],n[q])):(y=k(s,f,w,p,E,t[e[q]],c[4],r[q]),U=l(I,L,v,O,g,t[_[q]],o[4],n[q])),s=E,E=p,p=u(w,10),w=f,f=y,I=g,g=O,O=u(v,10),v=L,L=U}var m=this._b+w+O|0;this._b=this._c+p+g|0,this._c=this._d+E+I|0,this._d=this._e+s+L|0,this._e=this._a+f+v|0,this._a=m},f.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var i=t.alloc?t.alloc(20):new t(20);return i.writeInt32LE(this._a,0),i.writeInt32LE(this._b,4),i.writeInt32LE(this._c,8),i.writeInt32LE(this._d,12),i.writeInt32LE(this._e,16),i},module.exports=f;
|
|
112
|
+
},{"buffer":"dskh","inherits":"4Bm0","hash-base":"7UcQ"}],"VHby":[function(require,module,exports) {
|
|
113
|
+
|
|
114
|
+
var t=require("safe-buffer").Buffer;function i(i,e){this._block=t.alloc(i),this._finalSize=e,this._blockSize=i,this._len=0}i.prototype.update=function(i,e){"string"==typeof i&&(e=e||"utf8",i=t.from(i,e));for(var s=this._block,o=this._blockSize,l=i.length,h=this._len,r=0;r<l;){for(var _=h%o,n=Math.min(l-r,o-_),c=0;c<n;c++)s[_+c]=i[r+c];r+=n,(h+=n)%o==0&&this._update(s)}return this._len+=l,this},i.prototype.digest=function(t){var i=this._len%this._blockSize;this._block[i]=128,this._block.fill(0,i+1),i>=this._finalSize&&(this._update(this._block),this._block.fill(0));var e=8*this._len;if(e<=4294967295)this._block.writeUInt32BE(e,this._blockSize-4);else{var s=(4294967295&e)>>>0,o=(e-s)/4294967296;this._block.writeUInt32BE(o,this._blockSize-8),this._block.writeUInt32BE(s,this._blockSize-4)}this._update(this._block);var l=this._hash();return t?l.toString(t):l},i.prototype._update=function(){throw new Error("_update must be implemented by subclass")},module.exports=i;
|
|
115
|
+
},{"safe-buffer":"38Wu"}],"j9dE":[function(require,module,exports) {
|
|
116
|
+
|
|
117
|
+
var t=require("inherits"),i=require("./hash"),r=require("safe-buffer").Buffer,s=[1518500249,1859775393,-1894007588,-899497514],h=new Array(80);function e(){this.init(),this._w=h,i.call(this,64,56)}function n(t){return t<<5|t>>>27}function _(t){return t<<30|t>>>2}function a(t,i,r,s){return 0===t?i&r|~i&s:2===t?i&r|i&s|r&s:i^r^s}t(e,i),e.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},e.prototype._update=function(t){for(var i=this._w,r=0|this._a,h=0|this._b,e=0|this._c,o=0|this._d,u=0|this._e,f=0;f<16;++f)i[f]=t.readInt32BE(4*f);for(;f<80;++f)i[f]=i[f-3]^i[f-8]^i[f-14]^i[f-16];for(var c=0;c<80;++c){var d=~~(c/20),p=n(r)+a(d,h,e,o)+u+i[c]+s[d]|0;u=o,o=e,e=_(h),h=r,r=p}this._a=r+this._a|0,this._b=h+this._b|0,this._c=e+this._c|0,this._d=o+this._d|0,this._e=u+this._e|0},e.prototype._hash=function(){var t=r.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},module.exports=e;
|
|
118
|
+
},{"inherits":"4Bm0","./hash":"VHby","safe-buffer":"38Wu"}],"oPH4":[function(require,module,exports) {
|
|
119
|
+
|
|
120
|
+
var t=require("inherits"),i=require("./hash"),r=require("safe-buffer").Buffer,s=[1518500249,1859775393,-1894007588,-899497514],e=new Array(80);function h(){this.init(),this._w=e,i.call(this,64,56)}function n(t){return t<<1|t>>>31}function _(t){return t<<5|t>>>27}function u(t){return t<<30|t>>>2}function o(t,i,r,s){return 0===t?i&r|~i&s:2===t?i&r|i&s|r&s:i^r^s}t(h,i),h.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},h.prototype._update=function(t){for(var i=this._w,r=0|this._a,e=0|this._b,h=0|this._c,a=0|this._d,f=0|this._e,c=0;c<16;++c)i[c]=t.readInt32BE(4*c);for(;c<80;++c)i[c]=n(i[c-3]^i[c-8]^i[c-14]^i[c-16]);for(var d=0;d<80;++d){var p=~~(d/20),w=_(r)+o(p,e,h,a)+f+i[d]+s[p]|0;f=a,a=h,h=u(e),e=r,r=w}this._a=r+this._a|0,this._b=e+this._b|0,this._c=h+this._c|0,this._d=a+this._d|0,this._e=f+this._e|0},h.prototype._hash=function(){var t=r.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},module.exports=h;
|
|
121
|
+
},{"inherits":"4Bm0","./hash":"VHby","safe-buffer":"38Wu"}],"IUSb":[function(require,module,exports) {
|
|
122
|
+
|
|
123
|
+
var t=require("inherits"),i=require("./hash"),h=require("safe-buffer").Buffer,s=[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],r=new Array(64);function _(){this.init(),this._w=r,i.call(this,64,56)}function n(t,i,h){return h^t&(i^h)}function e(t,i,h){return t&i|h&(t|i)}function u(t){return(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10)}function f(t){return(t>>>6|t<<26)^(t>>>11|t<<21)^(t>>>25|t<<7)}function o(t){return(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3}function a(t){return(t>>>17|t<<15)^(t>>>19|t<<13)^t>>>10}t(_,i),_.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},_.prototype._update=function(t){for(var i=this._w,h=0|this._a,r=0|this._b,_=0|this._c,c=0|this._d,w=0|this._e,B=0|this._f,E=0|this._g,I=0|this._h,d=0;d<16;++d)i[d]=t.readInt32BE(4*d);for(;d<64;++d)i[d]=a(i[d-2])+i[d-7]+o(i[d-15])+i[d-16]|0;for(var p=0;p<64;++p){var b=I+f(w)+n(w,B,E)+s[p]+i[p]|0,g=u(h)+e(h,r,_)|0;I=E,E=B,B=w,w=c+b|0,c=_,_=r,r=h,h=b+g|0}this._a=h+this._a|0,this._b=r+this._b|0,this._c=_+this._c|0,this._d=c+this._d|0,this._e=w+this._e|0,this._f=B+this._f|0,this._g=E+this._g|0,this._h=I+this._h|0},_.prototype._hash=function(){var t=h.allocUnsafe(32);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t.writeInt32BE(this._h,28),t},module.exports=_;
|
|
124
|
+
},{"inherits":"4Bm0","./hash":"VHby","safe-buffer":"38Wu"}],"MeLE":[function(require,module,exports) {
|
|
125
|
+
|
|
126
|
+
var t=require("inherits"),i=require("./sha256"),e=require("./hash"),r=require("safe-buffer").Buffer,h=new Array(64);function s(){this.init(),this._w=h,e.call(this,64,56)}t(s,i),s.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},s.prototype._hash=function(){var t=r.allocUnsafe(28);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t},module.exports=s;
|
|
127
|
+
},{"inherits":"4Bm0","./sha256":"IUSb","./hash":"VHby","safe-buffer":"38Wu"}],"sILY":[function(require,module,exports) {
|
|
128
|
+
|
|
129
|
+
var h=require("inherits"),t=require("./hash"),i=require("safe-buffer").Buffer,s=[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],_=new Array(160);function l(){this.init(),this._w=_,t.call(this,128,112)}function r(h,t,i){return i^h&(t^i)}function n(h,t,i){return h&t|i&(h|t)}function e(h,t){return(h>>>28|t<<4)^(t>>>2|h<<30)^(t>>>7|h<<25)}function f(h,t){return(h>>>14|t<<18)^(h>>>18|t<<14)^(t>>>9|h<<23)}function u(h,t){return(h>>>1|t<<31)^(h>>>8|t<<24)^h>>>7}function a(h,t){return(h>>>1|t<<31)^(h>>>8|t<<24)^(h>>>7|t<<25)}function c(h,t){return(h>>>19|t<<13)^(t>>>29|h<<3)^h>>>6}function o(h,t){return(h>>>19|t<<13)^(t>>>29|h<<3)^(h>>>6|t<<26)}function d(h,t){return h>>>0<t>>>0?1:0}h(l,t),l.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},l.prototype._update=function(h){for(var t=this._w,i=0|this._ah,_=0|this._bh,l=0|this._ch,b=0|this._dh,g=0|this._eh,p=0|this._fh,v=0|this._gh,w=0|this._hh,B=0|this._al,y=0|this._bl,E=0|this._cl,I=0|this._dl,q=0|this._el,m=0|this._fl,x=0|this._gl,A=0|this._hl,U=0;U<32;U+=2)t[U]=h.readInt32BE(4*U),t[U+1]=h.readInt32BE(4*U+4);for(;U<160;U+=2){var j=t[U-30],k=t[U-30+1],z=u(j,k),C=a(k,j),D=c(j=t[U-4],k=t[U-4+1]),F=o(k,j),G=t[U-14],H=t[U-14+1],J=t[U-32],K=t[U-32+1],L=C+H|0,M=z+G+d(L,C)|0;M=(M=M+D+d(L=L+F|0,F)|0)+J+d(L=L+K|0,K)|0,t[U]=M,t[U+1]=L}for(var N=0;N<160;N+=2){M=t[N],L=t[N+1];var O=n(i,_,l),P=n(B,y,E),Q=e(i,B),R=e(B,i),S=f(g,q),T=f(q,g),V=s[N],W=s[N+1],X=r(g,p,v),Y=r(q,m,x),Z=A+T|0,$=w+S+d(Z,A)|0;$=($=($=$+X+d(Z=Z+Y|0,Y)|0)+V+d(Z=Z+W|0,W)|0)+M+d(Z=Z+L|0,L)|0;var hh=R+P|0,th=Q+O+d(hh,R)|0;w=v,A=x,v=p,x=m,p=g,m=q,g=b+$+d(q=I+Z|0,I)|0,b=l,I=E,l=_,E=y,_=i,y=B,i=$+th+d(B=Z+hh|0,Z)|0}this._al=this._al+B|0,this._bl=this._bl+y|0,this._cl=this._cl+E|0,this._dl=this._dl+I|0,this._el=this._el+q|0,this._fl=this._fl+m|0,this._gl=this._gl+x|0,this._hl=this._hl+A|0,this._ah=this._ah+i+d(this._al,B)|0,this._bh=this._bh+_+d(this._bl,y)|0,this._ch=this._ch+l+d(this._cl,E)|0,this._dh=this._dh+b+d(this._dl,I)|0,this._eh=this._eh+g+d(this._el,q)|0,this._fh=this._fh+p+d(this._fl,m)|0,this._gh=this._gh+v+d(this._gl,x)|0,this._hh=this._hh+w+d(this._hl,A)|0},l.prototype._hash=function(){var h=i.allocUnsafe(64);function t(t,i,s){h.writeInt32BE(t,s),h.writeInt32BE(i,s+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),h},module.exports=l;
|
|
130
|
+
},{"inherits":"4Bm0","./hash":"VHby","safe-buffer":"38Wu"}],"V2o3":[function(require,module,exports) {
|
|
131
|
+
|
|
132
|
+
var h=require("inherits"),t=require("./sha512"),i=require("./hash"),s=require("safe-buffer").Buffer,_=new Array(160);function e(){this.init(),this._w=_,i.call(this,128,112)}h(e,t),e.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},e.prototype._hash=function(){var h=s.allocUnsafe(48);function t(t,i,s){h.writeInt32BE(t,s),h.writeInt32BE(i,s+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),h},module.exports=e;
|
|
133
|
+
},{"inherits":"4Bm0","./sha512":"sILY","./hash":"VHby","safe-buffer":"38Wu"}],"t0b9":[function(require,module,exports) {
|
|
134
|
+
var e=module.exports=function(r){r=r.toLowerCase();var s=e[r];if(!s)throw new Error(r+" is not supported (we accept pull requests)");return new s};e.sha=require("./sha"),e.sha1=require("./sha1"),e.sha224=require("./sha224"),e.sha256=require("./sha256"),e.sha384=require("./sha384"),e.sha512=require("./sha512");
|
|
135
|
+
},{"./sha":"j9dE","./sha1":"oPH4","./sha224":"MeLE","./sha256":"IUSb","./sha384":"V2o3","./sha512":"sILY"}],"Yj0v":[function(require,module,exports) {
|
|
136
|
+
var process = require("process");
|
|
137
|
+
var n=require("process");function e(e,r,t,c){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var i,l,u=arguments.length;switch(u){case 0:case 1:return n.nextTick(e);case 2:return n.nextTick(function(){e.call(null,r)});case 3:return n.nextTick(function(){e.call(null,r,t)});case 4:return n.nextTick(function(){e.call(null,r,t,c)});default:for(i=new Array(u-1),l=0;l<i.length;)i[l++]=arguments[l];return n.nextTick(function(){e.apply(null,i)})}}void 0===n||!n.version||0===n.version.indexOf("v0.")||0===n.version.indexOf("v1.")&&0!==n.version.indexOf("v1.8.")?module.exports={nextTick:e}:module.exports=n;
|
|
138
|
+
},{"process":"pBGv"}],"Q14w":[function(require,module,exports) {
|
|
139
|
+
var Buffer = require("buffer").Buffer;
|
|
140
|
+
var r=require("buffer").Buffer;function t(r){return Array.isArray?Array.isArray(r):"[object Array]"===a(r)}function e(r){return"boolean"==typeof r}function n(r){return null===r}function o(r){return null==r}function i(r){return"number"==typeof r}function u(r){return"string"==typeof r}function s(r){return"symbol"==typeof r}function f(r){return void 0===r}function p(r){return"[object RegExp]"===a(r)}function c(r){return"object"==typeof r&&null!==r}function l(r){return"[object Date]"===a(r)}function y(r){return"[object Error]"===a(r)||r instanceof Error}function x(r){return"function"==typeof r}function b(r){return null===r||"boolean"==typeof r||"number"==typeof r||"string"==typeof r||"symbol"==typeof r||void 0===r}function a(r){return Object.prototype.toString.call(r)}exports.isArray=t,exports.isBoolean=e,exports.isNull=n,exports.isNullOrUndefined=o,exports.isNumber=i,exports.isString=u,exports.isSymbol=s,exports.isUndefined=f,exports.isRegExp=p,exports.isObject=c,exports.isDate=l,exports.isError=y,exports.isFunction=x,exports.isPrimitive=b,exports.isBuffer=r.isBuffer;
|
|
141
|
+
},{"buffer":"dskh"}],"wl+m":[function(require,module,exports) {
|
|
142
|
+
|
|
143
|
+
"use strict";function t(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}var n=require("safe-buffer").Buffer,e=require("util");function i(t,n,e){t.copy(n,e)}module.exports=function(){function e(){t(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(t){var n={data:t,next:null};this.length>0?this.tail.next=n:this.head=n,this.tail=n,++this.length},e.prototype.unshift=function(t){var n={data:t,next:this.head};0===this.length&&(this.tail=n),this.head=n,++this.length},e.prototype.shift=function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(t){if(0===this.length)return"";for(var n=this.head,e=""+n.data;n=n.next;)e+=t+n.data;return e},e.prototype.concat=function(t){if(0===this.length)return n.alloc(0);if(1===this.length)return this.head.data;for(var e=n.allocUnsafe(t>>>0),h=this.head,a=0;h;)i(h.data,e,a),a+=h.data.length,h=h.next;return e},e}(),e&&e.inspect&&e.inspect.custom&&(module.exports.prototype[e.inspect.custom]=function(){var t=e.inspect({length:this.length});return this.constructor.name+" "+t});
|
|
144
|
+
},{"safe-buffer":"38Wu","util":"f88W"}],"GRUB":[function(require,module,exports) {
|
|
145
|
+
"use strict";var t=require("process-nextick-args");function e(e,a){var r=this,s=this._readableState&&this._readableState.destroyed,d=this._writableState&&this._writableState.destroyed;return s||d?(a?a(e):!e||this._writableState&&this._writableState.errorEmitted||t.nextTick(i,this,e),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(e){!a&&e?(t.nextTick(i,r,e),r._writableState&&(r._writableState.errorEmitted=!0)):a&&a(e)}),this)}function a(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function i(t,e){t.emit("error",e)}module.exports={destroy:e,undestroy:a};
|
|
146
|
+
},{"process-nextick-args":"Yj0v"}],"WSyY":[function(require,module,exports) {
|
|
147
|
+
var process = require("process");
|
|
148
|
+
|
|
149
|
+
var global = arguments[3];
|
|
150
|
+
var e=require("process"),t=arguments[3],n=require("process-nextick-args");function r(e,t,n){this.chunk=e,this.encoding=t,this.callback=n,this.next=null}function i(e){var t=this;this.next=null,this.entry=null,this.finish=function(){W(t,e)}}module.exports=g;var o,s=n.nextTick;g.WritableState=y;var f=Object.create(require("core-util-is"));f.inherits=require("inherits");var u={deprecate:require("util-deprecate")},a=require("./internal/streams/stream"),c=require("safe-buffer").Buffer,l=t.Uint8Array||function(){};function d(e){return c.from(e)}function h(e){return c.isBuffer(e)||e instanceof l}var b,p=require("./internal/streams/destroy");function w(){}function y(e,t){o=o||require("./_stream_duplex"),e=e||{};var n=t instanceof o;this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var r=e.highWaterMark,s=e.writableHighWaterMark,f=this.objectMode?16:16384;this.highWaterMark=r||0===r?r:n&&(s||0===s)?s:f,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var u=!1===e.decodeStrings;this.decodeStrings=!u,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){S(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new i(this)}function g(e){if(o=o||require("./_stream_duplex"),!(b.call(g,this)||this instanceof o))return new g(e);this._writableState=new y(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),a.call(this)}function k(e,t){var r=new Error("write after end");e.emit("error",r),n.nextTick(t,r)}function v(e,t,r,i){var o=!0,s=!1;return null===r?s=new TypeError("May not write null values to stream"):"string"==typeof r||void 0===r||t.objectMode||(s=new TypeError("Invalid non-string/buffer chunk")),s&&(e.emit("error",s),n.nextTick(i,s),o=!1),o}function q(e,t,n){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=c.from(t,n)),t}function _(e,t,n,r,i,o){if(!n){var s=q(t,r,i);r!==s&&(n=!0,i="buffer",r=s)}var f=t.objectMode?1:r.length;t.length+=f;var u=t.length<t.highWaterMark;if(u||(t.needDrain=!0),t.writing||t.corked){var a=t.lastBufferedRequest;t.lastBufferedRequest={chunk:r,encoding:i,isBuf:n,callback:o,next:null},a?a.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else m(e,t,!1,f,r,i,o);return u}function m(e,t,n,r,i,o,s){t.writelen=r,t.writecb=s,t.writing=!0,t.sync=!0,n?e._writev(i,t.onwrite):e._write(i,o,t.onwrite),t.sync=!1}function R(e,t,r,i,o){--t.pendingcb,r?(n.nextTick(o,i),n.nextTick(T,e,t),e._writableState.errorEmitted=!0,e.emit("error",i)):(o(i),e._writableState.errorEmitted=!0,e.emit("error",i),T(e,t))}function x(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function S(e,t){var n=e._writableState,r=n.sync,i=n.writecb;if(x(n),t)R(e,n,r,t,i);else{var o=E(n);o||n.corked||n.bufferProcessing||!n.bufferedRequest||B(e,n),r?s(M,e,n,o,i):M(e,n,o,i)}}function M(e,t,n,r){n||j(e,t),t.pendingcb--,r(),T(e,t)}function j(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}function B(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var r=t.bufferedRequestCount,o=new Array(r),s=t.corkedRequestsFree;s.entry=n;for(var f=0,u=!0;n;)o[f]=n,n.isBuf||(u=!1),n=n.next,f+=1;o.allBuffers=u,m(e,t,!0,t.length,o,"",s.finish),t.pendingcb++,t.lastBufferedRequest=null,s.next?(t.corkedRequestsFree=s.next,s.next=null):t.corkedRequestsFree=new i(t),t.bufferedRequestCount=0}else{for(;n;){var a=n.chunk,c=n.encoding,l=n.callback;if(m(e,t,!1,t.objectMode?1:a.length,a,c,l),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function E(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function C(e,t){e._final(function(n){t.pendingcb--,n&&e.emit("error",n),t.prefinished=!0,e.emit("prefinish"),T(e,t)})}function P(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,n.nextTick(C,e,t)):(t.prefinished=!0,e.emit("prefinish")))}function T(e,t){var n=E(t);return n&&(P(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),n}function F(e,t,r){t.ending=!0,T(e,t),r&&(t.finished?n.nextTick(r):e.once("finish",r)),t.ended=!0,e.writable=!1}function W(e,t,n){var r=e.entry;for(e.entry=null;r;){var i=r.callback;t.pendingcb--,i(n),r=r.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}f.inherits(g,a),y.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(y.prototype,"buffer",{get:u.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(b=Function.prototype[Symbol.hasInstance],Object.defineProperty(g,Symbol.hasInstance,{value:function(e){return!!b.call(this,e)||this===g&&(e&&e._writableState instanceof y)}})):b=function(e){return e instanceof this},g.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},g.prototype.write=function(e,t,n){var r=this._writableState,i=!1,o=!r.objectMode&&h(e);return o&&!c.isBuffer(e)&&(e=d(e)),"function"==typeof t&&(n=t,t=null),o?t="buffer":t||(t=r.defaultEncoding),"function"!=typeof n&&(n=w),r.ended?k(this,n):(o||v(this,r,e,n))&&(r.pendingcb++,i=_(this,r,o,e,t,n)),i},g.prototype.cork=function(){this._writableState.corked++},g.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||B(this,e))},g.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(g.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),g.prototype._write=function(e,t,n){n(new Error("_write() is not implemented"))},g.prototype._writev=null,g.prototype.end=function(e,t,n){var r=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||F(this,r,n)},Object.defineProperty(g.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),g.prototype.destroy=p.destroy,g.prototype._undestroy=p.undestroy,g.prototype._destroy=function(e,t){this.end(),t(e)};
|
|
151
|
+
},{"process-nextick-args":"Yj0v","core-util-is":"Q14w","inherits":"4Bm0","util-deprecate":"yM1o","./internal/streams/stream":"8V4J","safe-buffer":"38Wu","./internal/streams/destroy":"GRUB","./_stream_duplex":"Hba+","process":"pBGv"}],"Hba+":[function(require,module,exports) {
|
|
152
|
+
"use strict";var e=require("process-nextick-args"),t=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};module.exports=l;var r=Object.create(require("core-util-is"));r.inherits=require("inherits");var i=require("./_stream_readable"),a=require("./_stream_writable");r.inherits(l,i);for(var o=t(a.prototype),s=0;s<o.length;s++){var n=o[s];l.prototype[n]||(l.prototype[n]=a.prototype[n])}function l(e){if(!(this instanceof l))return new l(e);i.call(this,e),a.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",h)}function h(){this.allowHalfOpen||this._writableState.ended||e.nextTick(d,this)}function d(e){e.end()}Object.defineProperty(l.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(l.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}}),l.prototype._destroy=function(t,r){this.push(null),this.end(),e.nextTick(r,t)};
|
|
153
|
+
},{"process-nextick-args":"Yj0v","core-util-is":"Q14w","inherits":"4Bm0","./_stream_readable":"DHrQ","./_stream_writable":"WSyY"}],"BUbk":[function(require,module,exports) {
|
|
154
|
+
|
|
155
|
+
"use strict";var t=require("safe-buffer").Buffer,e=t.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function s(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function i(i){var a=s(i);if("string"!=typeof a&&(t.isEncoding===e||!e(i)))throw new Error("Unknown encoding: "+i);return a||i}function a(e){var s;switch(this.encoding=i(e),this.encoding){case"utf16le":this.text=c,this.end=f,s=4;break;case"utf8":this.fillLast=l,s=4;break;case"base64":this.text=d,this.end=g,s=3;break;default:return this.write=N,void(this.end=v)}this.lastNeed=0,this.lastTotal=0,this.lastChar=t.allocUnsafe(s)}function r(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function n(t,e,s){var i=e.length-1;if(i<s)return 0;var a=r(e[i]);return a>=0?(a>0&&(t.lastNeed=a-1),a):--i<s||-2===a?0:(a=r(e[i]))>=0?(a>0&&(t.lastNeed=a-2),a):--i<s||-2===a?0:(a=r(e[i]))>=0?(a>0&&(2===a?a=0:t.lastNeed=a-3),a):0}function h(t,e,s){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}function l(t){var e=this.lastTotal-this.lastNeed,s=h(this,t,e);return void 0!==s?s:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function u(t,e){var s=n(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=s;var i=t.length-(s-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)}function o(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e}function c(t,e){if((t.length-e)%2==0){var s=t.toString("utf16le",e);if(s){var i=s.charCodeAt(s.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],s.slice(0,-1)}return s}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function f(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var s=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,s)}return e}function d(t,e){var s=(t.length-e)%3;return 0===s?t.toString("base64",e):(this.lastNeed=3-s,this.lastTotal=3,1===s?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-s))}function g(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function N(t){return t.toString(this.encoding)}function v(t){return t&&t.length?this.write(t):""}exports.StringDecoder=a,a.prototype.write=function(t){if(0===t.length)return"";var e,s;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";s=this.lastNeed,this.lastNeed=0}else s=0;return s<t.length?e?e+this.text(t,s):this.text(t,s):e||""},a.prototype.end=o,a.prototype.text=u,a.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length};
|
|
156
|
+
},{"safe-buffer":"38Wu"}],"DHrQ":[function(require,module,exports) {
|
|
157
|
+
|
|
158
|
+
var global = arguments[3];
|
|
159
|
+
var process = require("process");
|
|
160
|
+
var e=arguments[3],t=require("process"),n=require("process-nextick-args");module.exports=_;var r,i=require("isarray");_.ReadableState=w;var a=require("events").EventEmitter,d=function(e,t){return e.listeners(t).length},o=require("./internal/streams/stream"),s=require("safe-buffer").Buffer,u=e.Uint8Array||function(){};function l(e){return s.from(e)}function h(e){return s.isBuffer(e)||e instanceof u}var p=Object.create(require("core-util-is"));p.inherits=require("inherits");var f=require("util"),c=void 0;c=f&&f.debuglog?f.debuglog("stream"):function(){};var g,b=require("./internal/streams/BufferList"),m=require("./internal/streams/destroy");p.inherits(_,o);var v=["error","close","destroy","pause","resume"];function y(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?i(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}function w(e,t){e=e||{};var n=t instanceof(r=r||require("./_stream_duplex"));this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var i=e.highWaterMark,a=e.readableHighWaterMark,d=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:n&&(a||0===a)?a:d,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new b,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(g||(g=require("string_decoder/").StringDecoder),this.decoder=new g(e.encoding),this.encoding=e.encoding)}function _(e){if(r=r||require("./_stream_duplex"),!(this instanceof _))return new _(e);this._readableState=new w(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),o.call(this)}function M(e,t,n,r,i){var a,d=e._readableState;null===t?(d.reading=!1,x(e,d)):(i||(a=k(d,t)),a?e.emit("error",a):d.objectMode||t&&t.length>0?("string"==typeof t||d.objectMode||Object.getPrototypeOf(t)===s.prototype||(t=l(t)),r?d.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):S(e,d,t,!0):d.ended?e.emit("error",new Error("stream.push() after EOF")):(d.reading=!1,d.decoder&&!n?(t=d.decoder.write(t),d.objectMode||0!==t.length?S(e,d,t,!1):C(e,d)):S(e,d,t,!1))):r||(d.reading=!1));return j(d)}function S(e,t,n,r){t.flowing&&0===t.length&&!t.sync?(e.emit("data",n),e.read(0)):(t.length+=t.objectMode?1:n.length,r?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&q(e)),C(e,t)}function k(e,t){var n;return h(t)||"string"==typeof t||void 0===t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}function j(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}Object.defineProperty(_.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),_.prototype.destroy=m.destroy,_.prototype._undestroy=m.undestroy,_.prototype._destroy=function(e,t){this.push(null),t(e)},_.prototype.push=function(e,t){var n,r=this._readableState;return r.objectMode?n=!0:"string"==typeof e&&((t=t||r.defaultEncoding)!==r.encoding&&(e=s.from(e,t),t=""),n=!0),M(this,e,t,!1,n)},_.prototype.unshift=function(e){return M(this,e,null,!0,!1)},_.prototype.isPaused=function(){return!1===this._readableState.flowing},_.prototype.setEncoding=function(e){return g||(g=require("string_decoder/").StringDecoder),this._readableState.decoder=new g(e),this._readableState.encoding=e,this};var R=8388608;function E(e){return e>=R?e=R:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function L(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=E(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function x(e,t){if(!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,q(e)}}function q(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(c("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?n.nextTick(W,e):W(e))}function W(e){c("emit readable"),e.emit("readable"),B(e)}function C(e,t){t.readingMore||(t.readingMore=!0,n.nextTick(D,e,t))}function D(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(c("maybeReadMore read 0"),e.read(0),n!==t.length);)n=t.length;t.readingMore=!1}function O(e){return function(){var t=e._readableState;c("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&d(e,"data")&&(t.flowing=!0,B(e))}}function T(e){c("readable nexttick read 0"),e.read(0)}function U(e,t){t.resumeScheduled||(t.resumeScheduled=!0,n.nextTick(P,e,t))}function P(e,t){t.reading||(c("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),B(e),t.flowing&&!t.reading&&e.read(0)}function B(e){var t=e._readableState;for(c("flow",t.flowing);t.flowing&&null!==e.read(););}function H(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=I(e,t.buffer,t.decoder),n);var n}function I(e,t,n){var r;return e<t.head.data.length?(r=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):r=e===t.head.data.length?t.shift():n?A(e,t):F(e,t),r}function A(e,t){var n=t.head,r=1,i=n.data;for(e-=i.length;n=n.next;){var a=n.data,d=e>a.length?a.length:e;if(d===a.length?i+=a:i+=a.slice(0,e),0===(e-=d)){d===a.length?(++r,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=a.slice(d));break}++r}return t.length-=r,i}function F(e,t){var n=s.allocUnsafe(e),r=t.head,i=1;for(r.data.copy(n),e-=r.data.length;r=r.next;){var a=r.data,d=e>a.length?a.length:e;if(a.copy(n,n.length-e,0,d),0===(e-=d)){d===a.length?(++i,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=a.slice(d));break}++i}return t.length-=i,n}function z(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,n.nextTick(G,t,e))}function G(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function J(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}_.prototype.read=function(e){c("read",e),e=parseInt(e,10);var t=this._readableState,n=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return c("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?z(this):q(this),null;if(0===(e=L(e,t))&&t.ended)return 0===t.length&&z(this),null;var r,i=t.needReadable;return c("need readable",i),(0===t.length||t.length-e<t.highWaterMark)&&c("length less than watermark",i=!0),t.ended||t.reading?c("reading or ended",i=!1):i&&(c("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=L(n,t))),null===(r=e>0?H(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&z(this)),null!==r&&this.emit("data",r),r},_.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},_.prototype.pipe=function(e,r){var i=this,a=this._readableState;switch(a.pipesCount){case 0:a.pipes=e;break;case 1:a.pipes=[a.pipes,e];break;default:a.pipes.push(e)}a.pipesCount+=1,c("pipe count=%d opts=%j",a.pipesCount,r);var o=(!r||!1!==r.end)&&e!==t.stdout&&e!==t.stderr?u:v;function s(t,n){c("onunpipe"),t===i&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,c("cleanup"),e.removeListener("close",b),e.removeListener("finish",m),e.removeListener("drain",l),e.removeListener("error",g),e.removeListener("unpipe",s),i.removeListener("end",u),i.removeListener("end",v),i.removeListener("data",f),h=!0,!a.awaitDrain||e._writableState&&!e._writableState.needDrain||l())}function u(){c("onend"),e.end()}a.endEmitted?n.nextTick(o):i.once("end",o),e.on("unpipe",s);var l=O(i);e.on("drain",l);var h=!1;var p=!1;function f(t){c("ondata"),p=!1,!1!==e.write(t)||p||((1===a.pipesCount&&a.pipes===e||a.pipesCount>1&&-1!==J(a.pipes,e))&&!h&&(c("false write response, pause",i._readableState.awaitDrain),i._readableState.awaitDrain++,p=!0),i.pause())}function g(t){c("onerror",t),v(),e.removeListener("error",g),0===d(e,"error")&&e.emit("error",t)}function b(){e.removeListener("finish",m),v()}function m(){c("onfinish"),e.removeListener("close",b),v()}function v(){c("unpipe"),i.unpipe(e)}return i.on("data",f),y(e,"error",g),e.once("close",b),e.once("finish",m),e.emit("pipe",i),a.flowing||(c("pipe resume"),i.resume()),e},_.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n),this);if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a<i;a++)r[a].emit("unpipe",this,n);return this}var d=J(t.pipes,e);return-1===d?this:(t.pipes.splice(d,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,n),this)},_.prototype.on=function(e,t){var r=o.prototype.on.call(this,e,t);if("data"===e)!1!==this._readableState.flowing&&this.resume();else if("readable"===e){var i=this._readableState;i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.emittedReadable=!1,i.reading?i.length&&q(this):n.nextTick(T,this))}return r},_.prototype.addListener=_.prototype.on,_.prototype.resume=function(){var e=this._readableState;return e.flowing||(c("resume"),e.flowing=!0,U(this,e)),this},_.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(c("pause"),this._readableState.flowing=!1,this.emit("pause")),this},_.prototype.wrap=function(e){var t=this,n=this._readableState,r=!1;for(var i in e.on("end",function(){if(c("wrapped end"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on("data",function(i){(c("wrapped data"),n.decoder&&(i=n.decoder.write(i)),n.objectMode&&null==i)||(n.objectMode||i&&i.length)&&(t.push(i)||(r=!0,e.pause()))}),e)void 0===this[i]&&"function"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var a=0;a<v.length;a++)e.on(v[a],this.emit.bind(this,v[a]));return this._read=function(t){c("wrapped _read",t),r&&(r=!1,e.resume())},this},Object.defineProperty(_.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),_._fromList=H;
|
|
161
|
+
},{"process-nextick-args":"Yj0v","isarray":"REa7","events":"FRpO","./internal/streams/stream":"8V4J","safe-buffer":"38Wu","core-util-is":"Q14w","inherits":"4Bm0","util":"f88W","./internal/streams/BufferList":"wl+m","./internal/streams/destroy":"GRUB","./_stream_duplex":"Hba+","string_decoder/":"BUbk","process":"pBGv"}],"7tlB":[function(require,module,exports) {
|
|
162
|
+
"use strict";module.exports=n;var t=require("./_stream_duplex"),r=Object.create(require("core-util-is"));function e(t,r){var e=this._transformState;e.transforming=!1;var n=e.writecb;if(!n)return this.emit("error",new Error("write callback called multiple times"));e.writechunk=null,e.writecb=null,null!=r&&this.push(r),n(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function n(r){if(!(this instanceof n))return new n(r);t.call(this,r),this._transformState={afterTransform:e.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,r&&("function"==typeof r.transform&&(this._transform=r.transform),"function"==typeof r.flush&&(this._flush=r.flush)),this.on("prefinish",i)}function i(){var t=this;"function"==typeof this._flush?this._flush(function(r,e){a(t,r,e)}):a(this,null,null)}function a(t,r,e){if(r)return t.emit("error",r);if(null!=e&&t.push(e),t._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(t._transformState.transforming)throw new Error("Calling transform done when still transforming");return t.push(null)}r.inherits=require("inherits"),r.inherits(n,t),n.prototype.push=function(r,e){return this._transformState.needTransform=!1,t.prototype.push.call(this,r,e)},n.prototype._transform=function(t,r,e){throw new Error("_transform() is not implemented")},n.prototype._write=function(t,r,e){var n=this._transformState;if(n.writecb=e,n.writechunk=t,n.writeencoding=r,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},n.prototype._read=function(t){var r=this._transformState;null!==r.writechunk&&r.writecb&&!r.transforming?(r.transforming=!0,this._transform(r.writechunk,r.writeencoding,r.afterTransform)):r.needTransform=!0},n.prototype._destroy=function(r,e){var n=this;t.prototype._destroy.call(this,r,function(t){e(t),n.emit("close")})};
|
|
163
|
+
},{"./_stream_duplex":"Hba+","core-util-is":"Q14w","inherits":"4Bm0"}],"nwyA":[function(require,module,exports) {
|
|
164
|
+
"use strict";module.exports=t;var r=require("./_stream_transform"),e=Object.create(require("core-util-is"));function t(e){if(!(this instanceof t))return new t(e);r.call(this,e)}e.inherits=require("inherits"),e.inherits(t,r),t.prototype._transform=function(r,e,t){t(null,r)};
|
|
165
|
+
},{"./_stream_transform":"7tlB","core-util-is":"Q14w","inherits":"4Bm0"}],"tzeh":[function(require,module,exports) {
|
|
166
|
+
exports=module.exports=require("./lib/_stream_readable.js"),exports.Stream=exports,exports.Readable=exports,exports.Writable=require("./lib/_stream_writable.js"),exports.Duplex=require("./lib/_stream_duplex.js"),exports.Transform=require("./lib/_stream_transform.js"),exports.PassThrough=require("./lib/_stream_passthrough.js");
|
|
167
|
+
},{"./lib/_stream_readable.js":"DHrQ","./lib/_stream_writable.js":"WSyY","./lib/_stream_duplex.js":"Hba+","./lib/_stream_transform.js":"7tlB","./lib/_stream_passthrough.js":"nwyA"}],"LnjZ":[function(require,module,exports) {
|
|
168
|
+
module.exports=require("./lib/_stream_writable.js");
|
|
169
|
+
},{"./lib/_stream_writable.js":"WSyY"}],"kT1X":[function(require,module,exports) {
|
|
170
|
+
module.exports=require("./lib/_stream_duplex.js");
|
|
171
|
+
},{"./lib/_stream_duplex.js":"Hba+"}],"A9/K":[function(require,module,exports) {
|
|
172
|
+
module.exports=require("./readable").Transform;
|
|
173
|
+
},{"./readable":"tzeh"}],"C6nS":[function(require,module,exports) {
|
|
174
|
+
module.exports=require("./readable").PassThrough;
|
|
175
|
+
},{"./readable":"tzeh"}],"fnRj":[function(require,module,exports) {
|
|
176
|
+
module.exports=n;var e=require("events").EventEmitter,r=require("inherits");function n(){e.call(this)}r(n,e),n.Readable=require("readable-stream/readable.js"),n.Writable=require("readable-stream/writable.js"),n.Duplex=require("readable-stream/duplex.js"),n.Transform=require("readable-stream/transform.js"),n.PassThrough=require("readable-stream/passthrough.js"),n.Stream=n,n.prototype.pipe=function(r,n){var o=this;function t(e){r.writable&&!1===r.write(e)&&o.pause&&o.pause()}function s(){o.readable&&o.resume&&o.resume()}o.on("data",t),r.on("drain",s),r._isStdio||n&&!1===n.end||(o.on("end",a),o.on("close",u));var i=!1;function a(){i||(i=!0,r.end())}function u(){i||(i=!0,"function"==typeof r.destroy&&r.destroy())}function d(r){if(l(),0===e.listenerCount(this,"error"))throw r}function l(){o.removeListener("data",t),r.removeListener("drain",s),o.removeListener("end",a),o.removeListener("close",u),o.removeListener("error",d),r.removeListener("error",d),o.removeListener("end",l),o.removeListener("close",l),r.removeListener("close",l)}return o.on("error",d),r.on("error",d),o.on("end",l),o.on("close",l),r.on("close",l),r.emit("pipe",o),r};
|
|
177
|
+
},{"events":"FRpO","inherits":"4Bm0","readable-stream/readable.js":"tzeh","readable-stream/writable.js":"LnjZ","readable-stream/duplex.js":"kT1X","readable-stream/transform.js":"A9/K","readable-stream/passthrough.js":"C6nS"}],"bjfr":[function(require,module,exports) {
|
|
178
|
+
|
|
179
|
+
var t=require("safe-buffer").Buffer,i=require("stream").Transform,r=require("string_decoder").StringDecoder,e=require("inherits");function n(t){i.call(this),this.hashMode="string"==typeof t,this.hashMode?this[t]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}e(n,i),n.prototype.update=function(i,r,e){"string"==typeof i&&(i=t.from(i,r));var n=this._update(i);return this.hashMode?this:(e&&(n=this._toString(n,e)),n)},n.prototype.setAutoPadding=function(){},n.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},n.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},n.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},n.prototype._transform=function(t,i,r){var e;try{this.hashMode?this._update(t):this.push(this._update(t))}catch(n){e=n}finally{r(e)}},n.prototype._flush=function(t){var i;try{this.push(this.__final())}catch(r){i=r}t(i)},n.prototype._finalOrDigest=function(i){var r=this.__final()||t.alloc(0);return i&&(r=this._toString(r,i,!0)),r},n.prototype._toString=function(t,i,e){if(this._decoder||(this._decoder=new r(i),this._encoding=i),this._encoding!==i)throw new Error("can't switch encodings");var n=this._decoder.write(t);return e&&(n+=this._decoder.end()),n},module.exports=n;
|
|
180
|
+
},{"safe-buffer":"38Wu","stream":"fnRj","string_decoder":"z0rv","inherits":"4Bm0"}],"LF8r":[function(require,module,exports) {
|
|
181
|
+
"use strict";var e=require("inherits"),r=require("md5.js"),t=require("ripemd160"),i=require("sha.js"),s=require("cipher-base");function n(e){s.call(this,"digest"),this._hash=e}e(n,s),n.prototype._update=function(e){this._hash.update(e)},n.prototype._final=function(){return this._hash.digest()},module.exports=function(e){return"md5"===(e=e.toLowerCase())?new r:"rmd160"===e||"ripemd160"===e?new t:new n(i(e))};
|
|
182
|
+
},{"inherits":"4Bm0","md5.js":"OP64","ripemd160":"quyi","sha.js":"t0b9","cipher-base":"bjfr"}],"aHbo":[function(require,module,exports) {
|
|
183
|
+
|
|
184
|
+
"use strict";var t=require("inherits"),e=require("safe-buffer").Buffer,a=require("cipher-base"),i=e.alloc(128),s=64;function h(t,h){a.call(this,"digest"),"string"==typeof h&&(h=e.from(h)),this._alg=t,this._key=h,h.length>s?h=t(h):h.length<s&&(h=e.concat([h,i],s));for(var r=this._ipad=e.allocUnsafe(s),o=this._opad=e.allocUnsafe(s),n=0;n<s;n++)r[n]=54^h[n],o[n]=92^h[n];this._hash=[r]}t(h,a),h.prototype._update=function(t){this._hash.push(t)},h.prototype._final=function(){var t=this._alg(e.concat(this._hash));return this._alg(e.concat([this._opad,t]))},module.exports=h;
|
|
185
|
+
},{"inherits":"4Bm0","safe-buffer":"38Wu","cipher-base":"bjfr"}],"Mobq":[function(require,module,exports) {
|
|
186
|
+
var e=require("md5.js");module.exports=function(r){return(new e).update(r).digest()};
|
|
187
|
+
},{"md5.js":"OP64"}],"4Cx6":[function(require,module,exports) {
|
|
188
|
+
|
|
189
|
+
"use strict";var e=require("inherits"),t=require("./legacy"),r=require("cipher-base"),a=require("safe-buffer").Buffer,i=require("create-hash/md5"),s=require("ripemd160"),h=require("sha.js"),n=a.alloc(128);function d(e,t){r.call(this,"digest"),"string"==typeof t&&(t=a.from(t));var i="sha512"===e||"sha384"===e?128:64;(this._alg=e,this._key=t,t.length>i)?t=("rmd160"===e?new s:h(e)).update(t).digest():t.length<i&&(t=a.concat([t,n],i));for(var d=this._ipad=a.allocUnsafe(i),u=this._opad=a.allocUnsafe(i),o=0;o<i;o++)d[o]=54^t[o],u[o]=92^t[o];this._hash="rmd160"===e?new s:h(e),this._hash.update(d)}e(d,r),d.prototype._update=function(e){this._hash.update(e)},d.prototype._final=function(){var e=this._hash.digest();return("rmd160"===this._alg?new s:h(this._alg)).update(this._opad).update(e).digest()},module.exports=function(e,r){return"rmd160"===(e=e.toLowerCase())||"ripemd160"===e?new d("rmd160",r):"md5"===e?new t(i,r):new d(e,r)};
|
|
190
|
+
},{"inherits":"4Bm0","./legacy":"aHbo","cipher-base":"bjfr","safe-buffer":"38Wu","create-hash/md5":"Mobq","ripemd160":"quyi","sha.js":"t0b9"}],"WoCp":[function(require,module,exports) {
|
|
191
|
+
module.exports={sha224WithRSAEncryption:{sign:"rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},"RSA-SHA224":{sign:"ecdsa/rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},sha256WithRSAEncryption:{sign:"rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},"RSA-SHA256":{sign:"ecdsa/rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},sha384WithRSAEncryption:{sign:"rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},"RSA-SHA384":{sign:"ecdsa/rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},sha512WithRSAEncryption:{sign:"rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA512":{sign:"ecdsa/rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA1":{sign:"rsa",hash:"sha1",id:"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{sign:"ecdsa",hash:"sha1",id:""},sha256:{sign:"ecdsa",hash:"sha256",id:""},sha224:{sign:"ecdsa",hash:"sha224",id:""},sha384:{sign:"ecdsa",hash:"sha384",id:""},sha512:{sign:"ecdsa",hash:"sha512",id:""},"DSA-SHA":{sign:"dsa",hash:"sha1",id:""},"DSA-SHA1":{sign:"dsa",hash:"sha1",id:""},DSA:{sign:"dsa",hash:"sha1",id:""},"DSA-WITH-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-WITH-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-WITH-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-WITH-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-RIPEMD160":{sign:"dsa",hash:"rmd160",id:""},ripemd160WithRSA:{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},"RSA-RIPEMD160":{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},md5WithRSAEncryption:{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"},"RSA-MD5":{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"}};
|
|
192
|
+
},{}],"YKr5":[function(require,module,exports) {
|
|
193
|
+
module.exports=require("./browser/algorithms.json");
|
|
194
|
+
},{"./browser/algorithms.json":"WoCp"}],"Zu0X":[function(require,module,exports) {
|
|
195
|
+
var r=Math.pow(2,30)-1;module.exports=function(e,o){if("number"!=typeof e)throw new TypeError("Iterations not a number");if(e<0)throw new TypeError("Bad iterations");if("number"!=typeof o)throw new TypeError("Key length not a number");if(o<0||o>r||o!=o)throw new TypeError("Bad key length")};
|
|
196
|
+
},{}],"ATA7":[function(require,module,exports) {
|
|
197
|
+
var process = require("process");
|
|
198
|
+
var e,r,o=require("process");e="utf-8",module.exports=e;
|
|
199
|
+
},{"process":"pBGv"}],"amCB":[function(require,module,exports) {
|
|
200
|
+
|
|
201
|
+
var r=require("safe-buffer").Buffer;module.exports=function(e,f,u){if(r.isBuffer(e))return e;if("string"==typeof e)return r.from(e,f);if(ArrayBuffer.isView(e))return r.from(e.buffer);throw new TypeError(u+" must be a string, a Buffer, a typed array or a DataView")};
|
|
202
|
+
},{"safe-buffer":"38Wu"}],"yOu+":[function(require,module,exports) {
|
|
203
|
+
|
|
204
|
+
var e=require("create-hash/md5"),r=require("ripemd160"),a=require("sha.js"),t=require("safe-buffer").Buffer,i=require("./precondition"),s=require("./default-encoding"),n=require("./to-buffer"),h=t.alloc(128),o={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function u(e,r,a){var i=c(e),s="sha512"===e||"sha384"===e?128:64;r.length>s?r=i(r):r.length<s&&(r=t.concat([r,h],s));for(var n=t.allocUnsafe(s+o[e]),u=t.allocUnsafe(s+o[e]),l=0;l<s;l++)n[l]=54^r[l],u[l]=92^r[l];var d=t.allocUnsafe(s+a+4);n.copy(d,0,0,s),this.ipad1=d,this.ipad2=n,this.opad=u,this.alg=e,this.blocksize=s,this.hash=i,this.size=o[e]}function c(t){return"rmd160"===t||"ripemd160"===t?function(e){return(new r).update(e).digest()}:"md5"===t?e:function(e){return a(t).update(e).digest()}}function l(e,r,a,h,c){i(a,h);var l=new u(c=c||"sha1",e=n(e,s,"Password"),(r=n(r,s,"Salt")).length),d=t.allocUnsafe(h),f=t.allocUnsafe(r.length+4);r.copy(f,0,0,r.length);for(var p=0,g=o[c],m=Math.ceil(h/g),v=1;v<=m;v++){f.writeUInt32BE(v,r.length);for(var q=l.run(f,l.ipad1),y=q,U=1;U<a;U++){y=l.run(y,l.ipad2);for(var b=0;b<g;b++)q[b]^=y[b]}q.copy(d,p),p+=g}return d}u.prototype.run=function(e,r){return e.copy(r,this.blocksize),this.hash(r).copy(this.opad,this.blocksize),this.hash(this.opad)},module.exports=l;
|
|
205
|
+
},{"create-hash/md5":"Mobq","ripemd160":"quyi","sha.js":"t0b9","safe-buffer":"38Wu","./precondition":"Zu0X","./default-encoding":"ATA7","./to-buffer":"amCB"}],"Q3c6":[function(require,module,exports) {
|
|
206
|
+
|
|
207
|
+
var global = arguments[3];
|
|
208
|
+
var process = require("process");
|
|
209
|
+
var r,e=arguments[3],n=require("process"),t=require("safe-buffer").Buffer,o=require("./precondition"),i=require("./default-encoding"),u=require("./sync"),s=require("./to-buffer"),c=e.crypto&&e.crypto.subtle,f={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},a=[];function h(n){if(e.process&&!e.process.browser)return Promise.resolve(!1);if(!c||!c.importKey||!c.deriveBits)return Promise.resolve(!1);if(void 0!==a[n])return a[n];var o=l(r=r||t.alloc(8),r,10,128,n).then(function(){return!0}).catch(function(){return!1});return a[n]=o,o}function l(r,e,n,o,i){return c.importKey("raw",r,{name:"PBKDF2"},!1,["deriveBits"]).then(function(r){return c.deriveBits({name:"PBKDF2",salt:e,iterations:n,hash:{name:i}},r,o<<3)}).then(function(r){return t.from(r)})}function p(r,e){r.then(function(r){n.nextTick(function(){e(null,r)})},function(r){n.nextTick(function(){e(r)})})}module.exports=function(r,t,c,a,d,v){"function"==typeof d&&(v=d,d=void 0);var m=f[(d=d||"sha1").toLowerCase()];if(!m||"function"!=typeof e.Promise)return n.nextTick(function(){var e;try{e=u(r,t,c,a,d)}catch(n){return v(n)}v(null,e)});if(o(c,a),r=s(r,i,"Password"),t=s(t,i,"Salt"),"function"!=typeof v)throw new Error("No callback provided to pbkdf2");p(h(m).then(function(e){return e?l(r,t,c,a,m):u(r,t,c,a,d)}),v)};
|
|
210
|
+
},{"safe-buffer":"38Wu","./precondition":"Zu0X","./default-encoding":"ATA7","./sync":"yOu+","./to-buffer":"amCB","process":"pBGv"}],"BKdu":[function(require,module,exports) {
|
|
211
|
+
exports.pbkdf2=require("./lib/async"),exports.pbkdf2Sync=require("./lib/sync");
|
|
212
|
+
},{"./lib/async":"Q3c6","./lib/sync":"yOu+"}],"+a95":[function(require,module,exports) {
|
|
213
|
+
"use strict";exports.readUInt32BE=function(r,o){return(r[0+o]<<24|r[1+o]<<16|r[2+o]<<8|r[3+o])>>>0},exports.writeUInt32BE=function(r,o,t){r[0+t]=o>>>24,r[1+t]=o>>>16&255,r[2+t]=o>>>8&255,r[3+t]=255&o},exports.ip=function(r,o,t,f){for(var n=0,e=0,u=6;u>=0;u-=2){for(var i=0;i<=24;i+=8)n<<=1,n|=o>>>i+u&1;for(i=0;i<=24;i+=8)n<<=1,n|=r>>>i+u&1}for(u=6;u>=0;u-=2){for(i=1;i<=25;i+=8)e<<=1,e|=o>>>i+u&1;for(i=1;i<=25;i+=8)e<<=1,e|=r>>>i+u&1}t[f+0]=n>>>0,t[f+1]=e>>>0},exports.rip=function(r,o,t,f){for(var n=0,e=0,u=0;u<4;u++)for(var i=24;i>=0;i-=8)n<<=1,n|=o>>>i+u&1,n<<=1,n|=r>>>i+u&1;for(u=4;u<8;u++)for(i=24;i>=0;i-=8)e<<=1,e|=o>>>i+u&1,e<<=1,e|=r>>>i+u&1;t[f+0]=n>>>0,t[f+1]=e>>>0},exports.pc1=function(r,o,t,f){for(var n=0,e=0,u=7;u>=5;u--){for(var i=0;i<=24;i+=8)n<<=1,n|=o>>i+u&1;for(i=0;i<=24;i+=8)n<<=1,n|=r>>i+u&1}for(i=0;i<=24;i+=8)n<<=1,n|=o>>i+u&1;for(u=1;u<=3;u++){for(i=0;i<=24;i+=8)e<<=1,e|=o>>i+u&1;for(i=0;i<=24;i+=8)e<<=1,e|=r>>i+u&1}for(i=0;i<=24;i+=8)e<<=1,e|=r>>i+u&1;t[f+0]=n>>>0,t[f+1]=e>>>0},exports.r28shl=function(r,o){return r<<o&268435455|r>>>28-o};var r=[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];exports.pc2=function(o,t,f,n){for(var e=0,u=0,i=r.length>>>1,p=0;p<i;p++)e<<=1,e|=o>>>r[p]&1;for(p=i;p<r.length;p++)u<<=1,u|=t>>>r[p]&1;f[n+0]=e>>>0,f[n+1]=u>>>0},exports.expand=function(r,o,t){var f=0,n=0;f=(1&r)<<5|r>>>27;for(var e=23;e>=15;e-=4)f<<=6,f|=r>>>e&63;for(e=11;e>=3;e-=4)n|=r>>>e&63,n<<=6;n|=(31&r)<<1|r>>>31,o[t+0]=f>>>0,o[t+1]=n>>>0};var o=[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];exports.substitute=function(r,t){for(var f=0,n=0;n<4;n++){f<<=4,f|=o[64*n+(r>>>18-6*n&63)]}for(n=0;n<4;n++){f<<=4,f|=o[256+64*n+(t>>>18-6*n&63)]}return f>>>0};var t=[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];exports.permute=function(r){for(var o=0,f=0;f<t.length;f++)o<<=1,o|=r>>>t[f]&1;return o>>>0},exports.padSplit=function(r,o,t){for(var f=r.toString(2);f.length<o;)f="0"+f;for(var n=[],e=0;e<o;e+=t)n.push(f.slice(e,e+t));return n.join(" ")};
|
|
214
|
+
},{}],"MpuC":[function(require,module,exports) {
|
|
215
|
+
function r(r,o){if(!r)throw new Error(o||"Assertion failed")}module.exports=r,r.equal=function(r,o,e){if(r!=o)throw new Error(e||"Assertion failed: "+r+" != "+o)};
|
|
216
|
+
},{}],"6eTz":[function(require,module,exports) {
|
|
217
|
+
"use strict";var t=require("minimalistic-assert");function f(t){this.options=t,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}module.exports=f,f.prototype._init=function(){},f.prototype.update=function(t){return 0===t.length?[]:"decrypt"===this.type?this._updateDecrypt(t):this._updateEncrypt(t)},f.prototype._buffer=function(t,f){for(var e=Math.min(this.buffer.length-this.bufferOff,t.length-f),r=0;r<e;r++)this.buffer[this.bufferOff+r]=t[f+r];return this.bufferOff+=e,e},f.prototype._flushBuffer=function(t,f){return this._update(this.buffer,0,t,f),this.bufferOff=0,this.blockSize},f.prototype._updateEncrypt=function(t){var f=0,e=0,r=(this.bufferOff+t.length)/this.blockSize|0,i=new Array(r*this.blockSize);0!==this.bufferOff&&(f+=this._buffer(t,f),this.bufferOff===this.buffer.length&&(e+=this._flushBuffer(i,e)));for(var h=t.length-(t.length-f)%this.blockSize;f<h;f+=this.blockSize)this._update(t,f,i,e),e+=this.blockSize;for(;f<t.length;f++,this.bufferOff++)this.buffer[this.bufferOff]=t[f];return i},f.prototype._updateDecrypt=function(t){for(var f=0,e=0,r=Math.ceil((this.bufferOff+t.length)/this.blockSize)-1,i=new Array(r*this.blockSize);r>0;r--)f+=this._buffer(t,f),e+=this._flushBuffer(i,e);return f+=this._buffer(t,f),i},f.prototype.final=function(t){var f,e;return t&&(f=this.update(t)),e="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),f?f.concat(e):e},f.prototype._pad=function(t,f){if(0===f)return!1;for(;f<t.length;)t[f++]=0;return!0},f.prototype._finalEncrypt=function(){if(!this._pad(this.buffer,this.bufferOff))return[];var t=new Array(this.blockSize);return this._update(this.buffer,0,t,0),t},f.prototype._unpad=function(t){return t},f.prototype._finalDecrypt=function(){t.equal(this.bufferOff,this.blockSize,"Not enough data to decrypt");var f=new Array(this.blockSize);return this._flushBuffer(f,0),this._unpad(f)};
|
|
218
|
+
},{"minimalistic-assert":"MpuC"}],"4UVx":[function(require,module,exports) {
|
|
219
|
+
"use strict";var t=require("minimalistic-assert"),e=require("inherits"),r=require("./utils"),n=require("./cipher");function p(){this.tmp=new Array(2),this.keys=null}function i(t){n.call(this,t);var e=new p;this._desState=e,this.deriveKeys(e,t.key)}e(i,n),module.exports=i,i.create=function(t){return new i(t)};var s=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];i.prototype.deriveKeys=function(e,n){e.keys=new Array(32),t.equal(n.length,this.blockSize,"Invalid key length");var p=r.readUInt32BE(n,0),i=r.readUInt32BE(n,4);r.pc1(p,i,e.tmp,0),p=e.tmp[0],i=e.tmp[1];for(var a=0;a<e.keys.length;a+=2){var u=s[a>>>1];p=r.r28shl(p,u),i=r.r28shl(i,u),r.pc2(p,i,e.keys,a)}},i.prototype._update=function(t,e,n,p){var i=this._desState,s=r.readUInt32BE(t,e),a=r.readUInt32BE(t,e+4);r.ip(s,a,i.tmp,0),s=i.tmp[0],a=i.tmp[1],"encrypt"===this.type?this._encrypt(i,s,a,i.tmp,0):this._decrypt(i,s,a,i.tmp,0),s=i.tmp[0],a=i.tmp[1],r.writeUInt32BE(n,s,p),r.writeUInt32BE(n,a,p+4)},i.prototype._pad=function(t,e){for(var r=t.length-e,n=e;n<t.length;n++)t[n]=r;return!0},i.prototype._unpad=function(e){for(var r=e[e.length-1],n=e.length-r;n<e.length;n++)t.equal(e[n],r);return e.slice(0,e.length-r)},i.prototype._encrypt=function(t,e,n,p,i){for(var s=e,a=n,u=0;u<t.keys.length;u+=2){var o=t.keys[u],y=t.keys[u+1];r.expand(a,t.tmp,0),o^=t.tmp[0],y^=t.tmp[1];var h=r.substitute(o,y),l=a;a=(s^r.permute(h))>>>0,s=l}r.rip(a,s,p,i)},i.prototype._decrypt=function(t,e,n,p,i){for(var s=n,a=e,u=t.keys.length-2;u>=0;u-=2){var o=t.keys[u],y=t.keys[u+1];r.expand(s,t.tmp,0),o^=t.tmp[0],y^=t.tmp[1];var h=r.substitute(o,y),l=s;s=(a^r.permute(h))>>>0,a=l}r.rip(s,a,p,i)};
|
|
220
|
+
},{"minimalistic-assert":"MpuC","inherits":"4Bm0","./utils":"+a95","./cipher":"6eTz"}],"NN3V":[function(require,module,exports) {
|
|
221
|
+
"use strict";var t=require("minimalistic-assert"),i=require("inherits"),e={};function r(i){t.equal(i.length,8,"Invalid IV length"),this.iv=new Array(8);for(var e=0;e<this.iv.length;e++)this.iv[e]=i[e]}function n(t){function r(i){t.call(this,i),this._cbcInit()}i(r,t);for(var n=Object.keys(e),s=0;s<n.length;s++){var c=n[s];r.prototype[c]=e[c]}return r.create=function(t){return new r(t)},r}exports.instantiate=n,e._cbcInit=function(){var t=new r(this.options.iv);this._cbcState=t},e._update=function(t,i,e,r){var n=this._cbcState,s=this.constructor.super_.prototype,c=n.iv;if("encrypt"===this.type){for(var o=0;o<this.blockSize;o++)c[o]^=t[i+o];s._update.call(this,c,0,e,r);for(o=0;o<this.blockSize;o++)c[o]=e[r+o]}else{s._update.call(this,t,i,e,r);for(o=0;o<this.blockSize;o++)e[r+o]^=c[o];for(o=0;o<this.blockSize;o++)c[o]=t[i+o]}};
|
|
222
|
+
},{"minimalistic-assert":"MpuC","inherits":"4Bm0"}],"jkwx":[function(require,module,exports) {
|
|
223
|
+
"use strict";var e=require("minimalistic-assert"),t=require("inherits"),r=require("./cipher"),p=require("./des");function i(t,r){e.equal(r.length,24,"Invalid key length");var i=r.slice(0,8),c=r.slice(8,16),y=r.slice(16,24);this.ciphers="encrypt"===t?[p.create({type:"encrypt",key:i}),p.create({type:"decrypt",key:c}),p.create({type:"encrypt",key:y})]:[p.create({type:"decrypt",key:y}),p.create({type:"encrypt",key:c}),p.create({type:"decrypt",key:i})]}function c(e){r.call(this,e);var t=new i(this.type,this.options.key);this._edeState=t}t(c,r),module.exports=c,c.create=function(e){return new c(e)},c.prototype._update=function(e,t,r,p){var i=this._edeState;i.ciphers[0]._update(e,t,r,p),i.ciphers[1]._update(r,p,r,p),i.ciphers[2]._update(r,p,r,p)},c.prototype._pad=p.prototype._pad,c.prototype._unpad=p.prototype._unpad;
|
|
224
|
+
},{"minimalistic-assert":"MpuC","inherits":"4Bm0","./cipher":"6eTz","./des":"4UVx"}],"Tikc":[function(require,module,exports) {
|
|
225
|
+
"use strict";exports.utils=require("./des/utils"),exports.Cipher=require("./des/cipher"),exports.DES=require("./des/des"),exports.CBC=require("./des/cbc"),exports.EDE=require("./des/ede");
|
|
226
|
+
},{"./des/utils":"+a95","./des/cipher":"6eTz","./des/des":"4UVx","./des/cbc":"NN3V","./des/ede":"jkwx"}],"sKVA":[function(require,module,exports) {
|
|
227
|
+
|
|
228
|
+
var e=require("cipher-base"),r=require("des.js"),t=require("inherits"),s=require("safe-buffer").Buffer,d={"des-ede3-cbc":r.CBC.instantiate(r.EDE),"des-ede3":r.EDE,"des-ede-cbc":r.CBC.instantiate(r.EDE),"des-ede":r.EDE,"des-cbc":r.CBC.instantiate(r.DES),"des-ecb":r.DES};function i(r){e.call(this);var t,i=r.mode.toLowerCase(),c=d[i];t=r.decrypt?"decrypt":"encrypt";var a=r.key;s.isBuffer(a)||(a=s.from(a)),"des-ede"!==i&&"des-ede-cbc"!==i||(a=s.concat([a,a.slice(0,8)]));var n=r.iv;s.isBuffer(n)||(n=s.from(n)),this._des=c.create({key:a,iv:n,type:t})}d.des=d["des-cbc"],d.des3=d["des-ede3-cbc"],module.exports=i,t(i,e),i.prototype._update=function(e){return s.from(this._des.update(e))},i.prototype._final=function(){return s.from(this._des.final())};
|
|
229
|
+
},{"cipher-base":"bjfr","des.js":"Tikc","inherits":"4Bm0","safe-buffer":"38Wu"}],"7deT":[function(require,module,exports) {
|
|
230
|
+
exports.encrypt=function(r,c){return r._cipher.encryptBlock(c)},exports.decrypt=function(r,c){return r._cipher.decryptBlock(c)};
|
|
231
|
+
},{}],"Bi15":[function(require,module,exports) {
|
|
232
|
+
var Buffer = require("buffer").Buffer;
|
|
233
|
+
var e=require("buffer").Buffer;module.exports=function(r,n){for(var f=Math.min(r.length,n.length),t=new e(f),u=0;u<f;++u)t[u]=r[u]^n[u];return t};
|
|
234
|
+
},{"buffer":"dskh"}],"n4Db":[function(require,module,exports) {
|
|
235
|
+
var r=require("buffer-xor");exports.encrypt=function(e,p){var c=r(p,e._prev);return e._prev=e._cipher.encryptBlock(c),e._prev},exports.decrypt=function(e,p){var c=e._prev;e._prev=p;var t=e._cipher.decryptBlock(p);return r(t,c)};
|
|
236
|
+
},{"buffer-xor":"Bi15"}],"G0zN":[function(require,module,exports) {
|
|
237
|
+
|
|
238
|
+
var e=require("safe-buffer").Buffer,c=require("buffer-xor");function r(r,a,n){var t=a.length,h=c(a,r._cache);return r._cache=r._cache.slice(t),r._prev=e.concat([r._prev,n?a:h]),h}exports.encrypt=function(c,a,n){for(var t,h=e.allocUnsafe(0);a.length;){if(0===c._cache.length&&(c._cache=c._cipher.encryptBlock(c._prev),c._prev=e.allocUnsafe(0)),!(c._cache.length<=a.length)){h=e.concat([h,r(c,a,n)]);break}t=c._cache.length,h=e.concat([h,r(c,a.slice(0,t),n)]),a=a.slice(t)}return h};
|
|
239
|
+
},{"safe-buffer":"38Wu","buffer-xor":"Bi15"}],"GBMF":[function(require,module,exports) {
|
|
240
|
+
|
|
241
|
+
var r=require("safe-buffer").Buffer;function e(e,n,c){var f=e._cipher.encryptBlock(e._prev)[0]^n;return e._prev=r.concat([e._prev.slice(1),r.from([c?n:f])]),f}exports.encrypt=function(n,c,f){for(var t=c.length,o=r.allocUnsafe(t),a=-1;++a<t;)o[a]=e(n,c[a],f);return o};
|
|
242
|
+
},{"safe-buffer":"38Wu"}],"7JZn":[function(require,module,exports) {
|
|
243
|
+
|
|
244
|
+
var r=require("safe-buffer").Buffer;function e(r,e,f){for(var t,o,c=-1,a=0;++c<8;)t=e&1<<7-c?128:0,a+=(128&(o=r._cipher.encryptBlock(r._prev)[0]^t))>>c%8,r._prev=n(r._prev,f?t:o);return a}function n(e,n){var f=e.length,t=-1,o=r.allocUnsafe(e.length);for(e=r.concat([e,r.from([n])]);++t<f;)o[t]=e[t]<<1|e[t+1]>>7;return o}exports.encrypt=function(n,f,t){for(var o=f.length,c=r.allocUnsafe(o),a=-1;++a<o;)c[a]=e(n,f[a],t);return c};
|
|
245
|
+
},{"safe-buffer":"38Wu"}],"5fJ7":[function(require,module,exports) {
|
|
246
|
+
var Buffer = require("buffer").Buffer;
|
|
247
|
+
var e=require("buffer").Buffer,c=require("buffer-xor");function r(e){return e._prev=e._cipher.encryptBlock(e._prev),e._prev}exports.encrypt=function(n,t){for(;n._cache.length<t.length;)n._cache=e.concat([n._cache,r(n)]);var h=n._cache.slice(0,t.length);return n._cache=n._cache.slice(t.length),c(t,h)};
|
|
248
|
+
},{"buffer-xor":"Bi15","buffer":"dskh"}],"E/fO":[function(require,module,exports) {
|
|
249
|
+
function t(t){for(var e,r=t.length;r--;){if(255!==(e=t.readUInt8(r))){e++,t.writeUInt8(e,r);break}t.writeUInt8(0,r)}}module.exports=t;
|
|
250
|
+
},{}],"Iyxz":[function(require,module,exports) {
|
|
251
|
+
|
|
252
|
+
var e=require("buffer-xor"),c=require("safe-buffer").Buffer,r=require("../incr32");function a(e){var c=e._cipher.encryptBlockRaw(e._prev);return r(e._prev),c}var t=16;exports.encrypt=function(r,n){var h=Math.ceil(n.length/t),i=r._cache.length;r._cache=c.concat([r._cache,c.allocUnsafe(h*t)]);for(var _=0;_<h;_++){var f=a(r),l=i+_*t;r._cache.writeUInt32BE(f[0],l+0),r._cache.writeUInt32BE(f[1],l+4),r._cache.writeUInt32BE(f[2],l+8),r._cache.writeUInt32BE(f[3],l+12)}var u=r._cache.slice(0,n.length);return r._cache=r._cache.slice(n.length),e(n,u)};
|
|
253
|
+
},{"buffer-xor":"Bi15","safe-buffer":"38Wu","../incr32":"E/fO"}],"veqz":[function(require,module,exports) {
|
|
254
|
+
module.exports={"aes-128-ecb":{cipher:"AES",key:128,iv:0,mode:"ECB",type:"block"},"aes-192-ecb":{cipher:"AES",key:192,iv:0,mode:"ECB",type:"block"},"aes-256-ecb":{cipher:"AES",key:256,iv:0,mode:"ECB",type:"block"},"aes-128-cbc":{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},"aes-192-cbc":{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},"aes-256-cbc":{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},aes128:{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},aes192:{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},aes256:{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},"aes-128-cfb":{cipher:"AES",key:128,iv:16,mode:"CFB",type:"stream"},"aes-192-cfb":{cipher:"AES",key:192,iv:16,mode:"CFB",type:"stream"},"aes-256-cfb":{cipher:"AES",key:256,iv:16,mode:"CFB",type:"stream"},"aes-128-cfb8":{cipher:"AES",key:128,iv:16,mode:"CFB8",type:"stream"},"aes-192-cfb8":{cipher:"AES",key:192,iv:16,mode:"CFB8",type:"stream"},"aes-256-cfb8":{cipher:"AES",key:256,iv:16,mode:"CFB8",type:"stream"},"aes-128-cfb1":{cipher:"AES",key:128,iv:16,mode:"CFB1",type:"stream"},"aes-192-cfb1":{cipher:"AES",key:192,iv:16,mode:"CFB1",type:"stream"},"aes-256-cfb1":{cipher:"AES",key:256,iv:16,mode:"CFB1",type:"stream"},"aes-128-ofb":{cipher:"AES",key:128,iv:16,mode:"OFB",type:"stream"},"aes-192-ofb":{cipher:"AES",key:192,iv:16,mode:"OFB",type:"stream"},"aes-256-ofb":{cipher:"AES",key:256,iv:16,mode:"OFB",type:"stream"},"aes-128-ctr":{cipher:"AES",key:128,iv:16,mode:"CTR",type:"stream"},"aes-192-ctr":{cipher:"AES",key:192,iv:16,mode:"CTR",type:"stream"},"aes-256-ctr":{cipher:"AES",key:256,iv:16,mode:"CTR",type:"stream"},"aes-128-gcm":{cipher:"AES",key:128,iv:12,mode:"GCM",type:"auth"},"aes-192-gcm":{cipher:"AES",key:192,iv:12,mode:"GCM",type:"auth"},"aes-256-gcm":{cipher:"AES",key:256,iv:12,mode:"GCM",type:"auth"}};
|
|
255
|
+
},{}],"zdSg":[function(require,module,exports) {
|
|
256
|
+
var r={ECB:require("./ecb"),CBC:require("./cbc"),CFB:require("./cfb"),CFB8:require("./cfb8"),CFB1:require("./cfb1"),OFB:require("./ofb"),CTR:require("./ctr"),GCM:require("./ctr")},e=require("./list.json");for(var i in e)e[i].module=r[e[i].mode];module.exports=e;
|
|
257
|
+
},{"./ecb":"7deT","./cbc":"n4Db","./cfb":"G0zN","./cfb8":"GBMF","./cfb1":"7JZn","./ofb":"5fJ7","./ctr":"Iyxz","./list.json":"veqz"}],"dNn4":[function(require,module,exports) {
|
|
258
|
+
|
|
259
|
+
var e=require("safe-buffer").Buffer;function t(t){e.isBuffer(t)||(t=e.from(t));for(var r=t.length/4|0,n=new Array(r),o=0;o<r;o++)n[o]=t.readUInt32BE(4*o);return n}function r(e){for(;0<e.length;e++)e[0]=0}function n(e,t,r,n,o){for(var i,B,S,u,c=r[0],_=r[1],f=r[2],a=r[3],s=e[0]^t[0],y=e[1]^t[1],I=e[2]^t[2],X=e[3]^t[3],h=4,l=1;l<o;l++)i=c[s>>>24]^_[y>>>16&255]^f[I>>>8&255]^a[255&X]^t[h++],B=c[y>>>24]^_[I>>>16&255]^f[X>>>8&255]^a[255&s]^t[h++],S=c[I>>>24]^_[X>>>16&255]^f[s>>>8&255]^a[255&y]^t[h++],u=c[X>>>24]^_[s>>>16&255]^f[y>>>8&255]^a[255&I]^t[h++],s=i,y=B,I=S,X=u;return i=(n[s>>>24]<<24|n[y>>>16&255]<<16|n[I>>>8&255]<<8|n[255&X])^t[h++],B=(n[y>>>24]<<24|n[I>>>16&255]<<16|n[X>>>8&255]<<8|n[255&s])^t[h++],S=(n[I>>>24]<<24|n[X>>>16&255]<<16|n[s>>>8&255]<<8|n[255&y])^t[h++],u=(n[X>>>24]<<24|n[s>>>16&255]<<16|n[y>>>8&255]<<8|n[255&I])^t[h++],[i>>>=0,B>>>=0,S>>>=0,u>>>=0]}var o=[0,1,2,4,8,16,32,64,128,27,54],i=function(){for(var e=new Array(256),t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;for(var r=[],n=[],o=[[],[],[],[]],i=[[],[],[],[]],B=0,S=0,u=0;u<256;++u){var c=S^S<<1^S<<2^S<<3^S<<4;c=c>>>8^255&c^99,r[B]=c,n[c]=B;var _=e[B],f=e[_],a=e[f],s=257*e[c]^16843008*c;o[0][B]=s<<24|s>>>8,o[1][B]=s<<16|s>>>16,o[2][B]=s<<8|s>>>24,o[3][B]=s,s=16843009*a^65537*f^257*_^16843008*B,i[0][c]=s<<24|s>>>8,i[1][c]=s<<16|s>>>16,i[2][c]=s<<8|s>>>24,i[3][c]=s,0===B?B=S=1:(B=_^e[e[e[a^_]]],S^=e[e[S]])}return{SBOX:r,INV_SBOX:n,SUB_MIX:o,INV_SUB_MIX:i}}();function B(e){this._key=t(e),this._reset()}B.blockSize=16,B.keySize=32,B.prototype.blockSize=B.blockSize,B.prototype.keySize=B.keySize,B.prototype._reset=function(){for(var e=this._key,t=e.length,r=t+6,n=4*(r+1),B=[],S=0;S<t;S++)B[S]=e[S];for(S=t;S<n;S++){var u=B[S-1];S%t==0?(u=u<<8|u>>>24,u=i.SBOX[u>>>24]<<24|i.SBOX[u>>>16&255]<<16|i.SBOX[u>>>8&255]<<8|i.SBOX[255&u],u^=o[S/t|0]<<24):t>6&&S%t==4&&(u=i.SBOX[u>>>24]<<24|i.SBOX[u>>>16&255]<<16|i.SBOX[u>>>8&255]<<8|i.SBOX[255&u]),B[S]=B[S-t]^u}for(var c=[],_=0;_<n;_++){var f=n-_,a=B[f-(_%4?0:4)];c[_]=_<4||f<=4?a:i.INV_SUB_MIX[0][i.SBOX[a>>>24]]^i.INV_SUB_MIX[1][i.SBOX[a>>>16&255]]^i.INV_SUB_MIX[2][i.SBOX[a>>>8&255]]^i.INV_SUB_MIX[3][i.SBOX[255&a]]}this._nRounds=r,this._keySchedule=B,this._invKeySchedule=c},B.prototype.encryptBlockRaw=function(e){return n(e=t(e),this._keySchedule,i.SUB_MIX,i.SBOX,this._nRounds)},B.prototype.encryptBlock=function(t){var r=this.encryptBlockRaw(t),n=e.allocUnsafe(16);return n.writeUInt32BE(r[0],0),n.writeUInt32BE(r[1],4),n.writeUInt32BE(r[2],8),n.writeUInt32BE(r[3],12),n},B.prototype.decryptBlock=function(r){var o=(r=t(r))[1];r[1]=r[3],r[3]=o;var B=n(r,this._invKeySchedule,i.INV_SUB_MIX,i.INV_SBOX,this._nRounds),S=e.allocUnsafe(16);return S.writeUInt32BE(B[0],0),S.writeUInt32BE(B[3],4),S.writeUInt32BE(B[2],8),S.writeUInt32BE(B[1],12),S},B.prototype.scrub=function(){r(this._keySchedule),r(this._invKeySchedule),r(this._key)},module.exports.AES=B;
|
|
260
|
+
},{"safe-buffer":"38Wu"}],"vgFu":[function(require,module,exports) {
|
|
261
|
+
|
|
262
|
+
var t=require("safe-buffer").Buffer,e=t.alloc(16,0);function h(t){return[t.readUInt32BE(0),t.readUInt32BE(4),t.readUInt32BE(8),t.readUInt32BE(12)]}function a(e){var h=t.allocUnsafe(16);return h.writeUInt32BE(e[0]>>>0,0),h.writeUInt32BE(e[1]>>>0,4),h.writeUInt32BE(e[2]>>>0,8),h.writeUInt32BE(e[3]>>>0,12),h}function i(e){this.h=e,this.state=t.alloc(16,0),this.cache=t.allocUnsafe(0)}i.prototype.ghash=function(t){for(var e=-1;++e<t.length;)this.state[e]^=t[e];this._multiply()},i.prototype._multiply=function(){for(var t,e,i=h(this.h),c=[0,0,0,0],s=-1;++s<128;){for(0!=(this.state[~~(s/8)]&1<<7-s%8)&&(c[0]^=i[0],c[1]^=i[1],c[2]^=i[2],c[3]^=i[3]),e=0!=(1&i[3]),t=3;t>0;t--)i[t]=i[t]>>>1|(1&i[t-1])<<31;i[0]=i[0]>>>1,e&&(i[0]=i[0]^225<<24)}this.state=a(c)},i.prototype.update=function(e){var h;for(this.cache=t.concat([this.cache,e]);this.cache.length>=16;)h=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(h)},i.prototype.final=function(h,i){return this.cache.length&&this.ghash(t.concat([this.cache,e],16)),this.ghash(a([0,h,0,i])),this.state},module.exports=i;
|
|
263
|
+
},{"safe-buffer":"38Wu"}],"KD+Z":[function(require,module,exports) {
|
|
264
|
+
|
|
265
|
+
var t=require("./aes"),e=require("safe-buffer").Buffer,r=require("cipher-base"),h=require("inherits"),a=require("./ghash"),i=require("buffer-xor"),n=require("./incr32");function s(t,e){var r=0;t.length!==e.length&&r++;for(var h=Math.min(t.length,e.length),a=0;a<h;++a)r+=t[a]^e[a];return r}function o(t,r,h){if(12===r.length)return t._finID=e.concat([r,e.from([0,0,0,1])]),e.concat([r,e.from([0,0,0,2])]);var i=new a(h),s=r.length,o=s%16;i.update(r),o&&(o=16-o,i.update(e.alloc(o,0))),i.update(e.alloc(8,0));var u=8*s,l=e.alloc(8);l.writeUIntBE(u,0,8),i.update(l),t._finID=i.state;var c=e.from(t._finID);return n(c),c}function u(h,i,n,s){r.call(this);var u=e.alloc(4,0);this._cipher=new t.AES(i);var l=this._cipher.encryptBlock(u);this._ghash=new a(l),n=o(this,n,l),this._prev=e.from(n),this._cache=e.allocUnsafe(0),this._secCache=e.allocUnsafe(0),this._decrypt=s,this._alen=0,this._len=0,this._mode=h,this._authTag=null,this._called=!1}h(u,r),u.prototype._update=function(t){if(!this._called&&this._alen){var r=16-this._alen%16;r<16&&(r=e.alloc(r,0),this._ghash.update(r))}this._called=!0;var h=this._mode.encrypt(this,t);return this._decrypt?this._ghash.update(t):this._ghash.update(h),this._len+=t.length,h},u.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var t=i(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&s(t,this._authTag))throw new Error("Unsupported state or unable to authenticate data");this._authTag=t,this._cipher.scrub()},u.prototype.getAuthTag=function(){if(this._decrypt||!e.isBuffer(this._authTag))throw new Error("Attempting to get auth tag in unsupported state");return this._authTag},u.prototype.setAuthTag=function(t){if(!this._decrypt)throw new Error("Attempting to set auth tag in unsupported state");this._authTag=t},u.prototype.setAAD=function(t){if(this._called)throw new Error("Attempting to set AAD in unsupported state");this._ghash.update(t),this._alen+=t.length},module.exports=u;
|
|
266
|
+
},{"./aes":"dNn4","safe-buffer":"38Wu","cipher-base":"bjfr","inherits":"4Bm0","./ghash":"vgFu","buffer-xor":"Bi15","./incr32":"E/fO"}],"XmsB":[function(require,module,exports) {
|
|
267
|
+
|
|
268
|
+
var e=require("./aes"),r=require("safe-buffer").Buffer,t=require("cipher-base"),i=require("inherits");function s(i,s,c,h){t.call(this),this._cipher=new e.AES(s),this._prev=r.from(c),this._cache=r.allocUnsafe(0),this._secCache=r.allocUnsafe(0),this._decrypt=h,this._mode=i}i(s,t),s.prototype._update=function(e){return this._mode.encrypt(this,e,this._decrypt)},s.prototype._final=function(){this._cipher.scrub()},module.exports=s;
|
|
269
|
+
},{"./aes":"dNn4","safe-buffer":"38Wu","cipher-base":"bjfr","inherits":"4Bm0"}],"exU6":[function(require,module,exports) {
|
|
270
|
+
|
|
271
|
+
var e=require("safe-buffer").Buffer,r=require("md5.js");function t(t,a,f,l){if(e.isBuffer(t)||(t=e.from(t,"binary")),a&&(e.isBuffer(a)||(a=e.from(a,"binary")),8!==a.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var n=f/8,i=e.alloc(n),o=e.alloc(l||0),u=e.alloc(0);n>0||l>0;){var h=new r;h.update(u),h.update(t),a&&h.update(a),u=h.digest();var g=0;if(n>0){var s=i.length-n;g=Math.min(n,u.length),u.copy(i,s,0,g),n-=g}if(g<u.length&&l>0){var d=o.length-l,v=Math.min(l,u.length-g);u.copy(o,d,g,g+v),l-=v}}return u.fill(0),{key:i,iv:o}}module.exports=t;
|
|
272
|
+
},{"safe-buffer":"38Wu","md5.js":"OP64"}],"zRzx":[function(require,module,exports) {
|
|
273
|
+
|
|
274
|
+
var e=require("./modes"),t=require("./authCipher"),r=require("safe-buffer").Buffer,i=require("./streamCipher"),n=require("cipher-base"),h=require("./aes"),o=require("evp_bytestokey"),a=require("inherits");function c(e,t,i){n.call(this),this._cache=new u,this._cipher=new h.AES(t),this._prev=r.from(i),this._mode=e,this._autopadding=!0}a(c,n),c.prototype._update=function(e){var t,i;this._cache.add(e);for(var n=[];t=this._cache.get();)i=this._mode.encrypt(this,t),n.push(i);return r.concat(n)};var s=r.alloc(16,16);function u(){this.cache=r.allocUnsafe(0)}function p(n,h,o){var a=e[n.toLowerCase()];if(!a)throw new TypeError("invalid suite type");if("string"==typeof h&&(h=r.from(h)),h.length!==a.key/8)throw new TypeError("invalid key length "+h.length);if("string"==typeof o&&(o=r.from(o)),"GCM"!==a.mode&&o.length!==a.iv)throw new TypeError("invalid iv length "+o.length);return"stream"===a.type?new i(a.module,h,o):"auth"===a.type?new t(a.module,h,o):new c(a.module,h,o)}function f(t,r){var i=e[t.toLowerCase()];if(!i)throw new TypeError("invalid suite type");var n=o(r,!1,i.key,i.iv);return p(t,n.key,n.iv)}c.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return e=this._mode.encrypt(this,e),this._cipher.scrub(),e;if(!e.equals(s))throw this._cipher.scrub(),new Error("data not multiple of block length")},c.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},u.prototype.add=function(e){this.cache=r.concat([this.cache,e])},u.prototype.get=function(){if(this.cache.length>15){var e=this.cache.slice(0,16);return this.cache=this.cache.slice(16),e}return null},u.prototype.flush=function(){for(var e=16-this.cache.length,t=r.allocUnsafe(e),i=-1;++i<e;)t.writeUInt8(e,i);return r.concat([this.cache,t])},exports.createCipheriv=p,exports.createCipher=f;
|
|
275
|
+
},{"./modes":"zdSg","./authCipher":"KD+Z","safe-buffer":"38Wu","./streamCipher":"XmsB","cipher-base":"bjfr","./aes":"dNn4","evp_bytestokey":"exU6","inherits":"4Bm0"}],"qK/8":[function(require,module,exports) {
|
|
276
|
+
|
|
277
|
+
var e=require("./authCipher"),t=require("safe-buffer").Buffer,r=require("./modes"),i=require("./streamCipher"),h=require("cipher-base"),n=require("./aes"),o=require("evp_bytestokey"),a=require("inherits");function c(e,r,i){h.call(this),this._cache=new s,this._last=void 0,this._cipher=new n.AES(r),this._prev=t.from(i),this._mode=e,this._autopadding=!0}function s(){this.cache=t.allocUnsafe(0)}function u(e){var t=e[15];if(t<1||t>16)throw new Error("unable to decrypt data");for(var r=-1;++r<t;)if(e[r+(16-t)]!==t)throw new Error("unable to decrypt data");if(16!==t)return e.slice(0,16-t)}function p(h,n,o){var a=r[h.toLowerCase()];if(!a)throw new TypeError("invalid suite type");if("string"==typeof o&&(o=t.from(o)),"GCM"!==a.mode&&o.length!==a.iv)throw new TypeError("invalid iv length "+o.length);if("string"==typeof n&&(n=t.from(n)),n.length!==a.key/8)throw new TypeError("invalid key length "+n.length);return"stream"===a.type?new i(a.module,n,o,!0):"auth"===a.type?new e(a.module,n,o,!0):new c(a.module,n,o)}function f(e,t){var i=r[e.toLowerCase()];if(!i)throw new TypeError("invalid suite type");var h=o(t,!1,i.key,i.iv);return p(e,h.key,h.iv)}a(c,h),c.prototype._update=function(e){var r,i;this._cache.add(e);for(var h=[];r=this._cache.get(this._autopadding);)i=this._mode.decrypt(this,r),h.push(i);return t.concat(h)},c.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return u(this._mode.decrypt(this,e));if(e)throw new Error("data not multiple of block length")},c.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},s.prototype.add=function(e){this.cache=t.concat([this.cache,e])},s.prototype.get=function(e){var t;if(e){if(this.cache.length>16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t}else if(this.cache.length>=16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t;return null},s.prototype.flush=function(){if(this.cache.length)return this.cache},exports.createDecipher=f,exports.createDecipheriv=p;
|
|
278
|
+
},{"./authCipher":"KD+Z","safe-buffer":"38Wu","./modes":"zdSg","./streamCipher":"XmsB","cipher-base":"bjfr","./aes":"dNn4","evp_bytestokey":"exU6","inherits":"4Bm0"}],"hisC":[function(require,module,exports) {
|
|
279
|
+
var e=require("./encrypter"),r=require("./decrypter"),i=require("./modes/list.json");function p(){return Object.keys(i)}exports.createCipher=exports.Cipher=e.createCipher,exports.createCipheriv=exports.Cipheriv=e.createCipheriv,exports.createDecipher=exports.Decipher=r.createDecipher,exports.createDecipheriv=exports.Decipheriv=r.createDecipheriv,exports.listCiphers=exports.getCiphers=p;
|
|
280
|
+
},{"./encrypter":"zRzx","./decrypter":"qK/8","./modes/list.json":"veqz"}],"V0IC":[function(require,module,exports) {
|
|
281
|
+
exports["des-ecb"]={key:8,iv:0},exports["des-cbc"]=exports.des={key:8,iv:8},exports["des-ede3-cbc"]=exports.des3={key:24,iv:8},exports["des-ede3"]={key:24,iv:0},exports["des-ede-cbc"]={key:16,iv:8},exports["des-ede"]={key:16,iv:0};
|
|
282
|
+
},{}],"+KTb":[function(require,module,exports) {
|
|
283
|
+
var e=require("browserify-des"),r=require("browserify-aes/browser"),i=require("browserify-aes/modes"),t=require("browserify-des/modes"),o=require("evp_bytestokey");function s(e,r){var s,p;if(e=e.toLowerCase(),i[e])s=i[e].key,p=i[e].iv;else{if(!t[e])throw new TypeError("invalid suite type");s=8*t[e].key,p=t[e].iv}var v=o(r,!1,s,p);return n(e,v.key,v.iv)}function p(e,r){var s,p;if(e=e.toLowerCase(),i[e])s=i[e].key,p=i[e].iv;else{if(!t[e])throw new TypeError("invalid suite type");s=8*t[e].key,p=t[e].iv}var n=o(r,!1,s,p);return v(e,n.key,n.iv)}function n(o,s,p){if(o=o.toLowerCase(),i[o])return r.createCipheriv(o,s,p);if(t[o])return new e({key:s,iv:p,mode:o});throw new TypeError("invalid suite type")}function v(o,s,p){if(o=o.toLowerCase(),i[o])return r.createDecipheriv(o,s,p);if(t[o])return new e({key:s,iv:p,mode:o,decrypt:!0});throw new TypeError("invalid suite type")}function y(){return Object.keys(t).concat(r.getCiphers())}exports.createCipher=exports.Cipher=s,exports.createCipheriv=exports.Cipheriv=n,exports.createDecipher=exports.Decipher=p,exports.createDecipheriv=exports.Decipheriv=v,exports.listCiphers=exports.getCiphers=y;
|
|
284
|
+
},{"browserify-des":"sKVA","browserify-aes/browser":"hisC","browserify-aes/modes":"zdSg","browserify-des/modes":"V0IC","evp_bytestokey":"exU6"}],"VXic":[function(require,module,exports) {
|
|
285
|
+
var Buffer = require("buffer").Buffer;
|
|
286
|
+
var t=require("buffer").Buffer;!function(t,i){"use strict";function r(t,i){if(!t)throw new Error(i||"Assertion failed")}function n(t,i){t.super_=i;var r=function(){};r.prototype=i.prototype,t.prototype=new r,t.prototype.constructor=t}function h(t,i,r){if(h.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==i&&"be"!==i||(r=i,i=10),this._init(t||0,i||10,r||"be"))}var e;"object"==typeof t?t.exports=h:i.BN=h,h.BN=h,h.wordSize=26;try{e="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:require("buffer").Buffer}catch(A){}function o(t,i){var r=t.charCodeAt(i);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function s(t,i,r){var n=o(t,r);return r-1>=i&&(n|=o(t,r-1)<<4),n}function u(t,i,r,n){for(var h=0,e=Math.min(t.length,r),o=i;o<e;o++){var s=t.charCodeAt(o)-48;h*=n,h+=s>=49?s-49+10:s>=17?s-17+10:s}return h}h.isBN=function(t){return t instanceof h||null!==t&&"object"==typeof t&&t.constructor.wordSize===h.wordSize&&Array.isArray(t.words)},h.max=function(t,i){return t.cmp(i)>0?t:i},h.min=function(t,i){return t.cmp(i)<0?t:i},h.prototype._init=function(t,i,n){if("number"==typeof t)return this._initNumber(t,i,n);if("object"==typeof t)return this._initArray(t,i,n);"hex"===i&&(i=16),r(i===(0|i)&&i>=2&&i<=36);var h=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(h++,this.negative=1),h<t.length&&(16===i?this._parseHex(t,h,n):(this._parseBase(t,i,h),"le"===n&&this._initArray(this.toArray(),i,n)))},h.prototype._initNumber=function(t,i,n){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),i,n)},h.prototype._initArray=function(t,i,n){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var h=0;h<this.length;h++)this.words[h]=0;var e,o,s=0;if("be"===n)for(h=t.length-1,e=0;h>=0;h-=3)o=t[h]|t[h-1]<<8|t[h-2]<<16,this.words[e]|=o<<s&67108863,this.words[e+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,e++);else if("le"===n)for(h=0,e=0;h<t.length;h+=3)o=t[h]|t[h+1]<<8|t[h+2]<<16,this.words[e]|=o<<s&67108863,this.words[e+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,e++);return this.strip()},h.prototype._parseHex=function(t,i,r){this.length=Math.ceil((t.length-i)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var h,e=0,o=0;if("be"===r)for(n=t.length-1;n>=i;n-=2)h=s(t,i,n)<<e,this.words[o]|=67108863&h,e>=18?(e-=18,o+=1,this.words[o]|=h>>>26):e+=8;else for(n=(t.length-i)%2==0?i+1:i;n<t.length;n+=2)h=s(t,i,n)<<e,this.words[o]|=67108863&h,e>=18?(e-=18,o+=1,this.words[o]|=h>>>26):e+=8;this.strip()},h.prototype._parseBase=function(t,i,r){this.words=[0],this.length=1;for(var n=0,h=1;h<=67108863;h*=i)n++;n--,h=h/i|0;for(var e=t.length-r,o=e%n,s=Math.min(e,e-o)+r,a=0,l=r;l<s;l+=n)a=u(t,l,l+n,i),this.imuln(h),this.words[0]+a<67108864?this.words[0]+=a:this._iaddn(a);if(0!==o){var m=1;for(a=u(t,l,t.length,i),l=0;l<o;l++)m*=i;this.imuln(m),this.words[0]+a<67108864?this.words[0]+=a:this._iaddn(a)}this.strip()},h.prototype.copy=function(t){t.words=new Array(this.length);for(var i=0;i<this.length;i++)t.words[i]=this.words[i];t.length=this.length,t.negative=this.negative,t.red=this.red},h.prototype.clone=function(){var t=new h(null);return this.copy(t),t},h.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},h.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},h.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},h.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var a=["","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"],l=[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],m=[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 f(t,i,r){r.negative=i.negative^t.negative;var n=t.length+i.length|0;r.length=n,n=n-1|0;var h=0|t.words[0],e=0|i.words[0],o=h*e,s=67108863&o,u=o/67108864|0;r.words[0]=s;for(var a=1;a<n;a++){for(var l=u>>>26,m=67108863&u,f=Math.min(a,i.length-1),d=Math.max(0,a-t.length+1);d<=f;d++){var p=a-d|0;l+=(o=(h=0|t.words[p])*(e=0|i.words[d])+m)/67108864|0,m=67108863&o}r.words[a]=0|m,u=0|l}return 0!==u?r.words[a]=0|u:r.length--,r.strip()}h.prototype.toString=function(t,i){var n;if(i=0|i||1,16===(t=t||10)||"hex"===t){n="";for(var h=0,e=0,o=0;o<this.length;o++){var s=this.words[o],u=(16777215&(s<<h|e)).toString(16);n=0!==(e=s>>>24-h&16777215)||o!==this.length-1?a[6-u.length]+u+n:u+n,(h+=2)>=26&&(h-=26,o--)}for(0!==e&&(n=e.toString(16)+n);n.length%i!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(t===(0|t)&&t>=2&&t<=36){var f=l[t],d=m[t];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var M=p.modn(d).toString(t);n=(p=p.idivn(d)).isZero()?M+n:a[f-M.length]+M+n}for(this.isZero()&&(n="0"+n);n.length%i!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},h.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},h.prototype.toJSON=function(){return this.toString(16)},h.prototype.toBuffer=function(t,i){return r(void 0!==e),this.toArrayLike(e,t,i)},h.prototype.toArray=function(t,i){return this.toArrayLike(Array,t,i)},h.prototype.toArrayLike=function(t,i,n){var h=this.byteLength(),e=n||Math.max(1,h);r(h<=e,"byte array longer than desired length"),r(e>0,"Requested array length <= 0"),this.strip();var o,s,u="le"===i,a=new t(e),l=this.clone();if(u){for(s=0;!l.isZero();s++)o=l.andln(255),l.iushrn(8),a[s]=o;for(;s<e;s++)a[s]=0}else{for(s=0;s<e-h;s++)a[s]=0;for(s=0;!l.isZero();s++)o=l.andln(255),l.iushrn(8),a[e-s-1]=o}return a},Math.clz32?h.prototype._countBits=function(t){return 32-Math.clz32(t)}:h.prototype._countBits=function(t){var i=t,r=0;return i>=4096&&(r+=13,i>>>=13),i>=64&&(r+=7,i>>>=7),i>=8&&(r+=4,i>>>=4),i>=2&&(r+=2,i>>>=2),r+i},h.prototype._zeroBits=function(t){if(0===t)return 26;var i=t,r=0;return 0==(8191&i)&&(r+=13,i>>>=13),0==(127&i)&&(r+=7,i>>>=7),0==(15&i)&&(r+=4,i>>>=4),0==(3&i)&&(r+=2,i>>>=2),0==(1&i)&&r++,r},h.prototype.bitLength=function(){var t=this.words[this.length-1],i=this._countBits(t);return 26*(this.length-1)+i},h.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,i=0;i<this.length;i++){var r=this._zeroBits(this.words[i]);if(t+=r,26!==r)break}return t},h.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},h.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},h.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},h.prototype.isNeg=function(){return 0!==this.negative},h.prototype.neg=function(){return this.clone().ineg()},h.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},h.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var i=0;i<t.length;i++)this.words[i]=this.words[i]|t.words[i];return this.strip()},h.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},h.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},h.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},h.prototype.iuand=function(t){var i;i=this.length>t.length?t:this;for(var r=0;r<i.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=i.length,this.strip()},h.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},h.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},h.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},h.prototype.iuxor=function(t){var i,r;this.length>t.length?(i=this,r=t):(i=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=i.words[n]^r.words[n];if(this!==i)for(;n<i.length;n++)this.words[n]=i.words[n];return this.length=i.length,this.strip()},h.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},h.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},h.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},h.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var i=0|Math.ceil(t/26),n=t%26;this._expand(i),n>0&&i--;for(var h=0;h<i;h++)this.words[h]=67108863&~this.words[h];return n>0&&(this.words[h]=~this.words[h]&67108863>>26-n),this.strip()},h.prototype.notn=function(t){return this.clone().inotn(t)},h.prototype.setn=function(t,i){r("number"==typeof t&&t>=0);var n=t/26|0,h=t%26;return this._expand(n+1),this.words[n]=i?this.words[n]|1<<h:this.words[n]&~(1<<h),this.strip()},h.prototype.iadd=function(t){var i,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,i=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,i=this.isub(t),t.negative=1,i._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var h=0,e=0;e<n.length;e++)i=(0|r.words[e])+(0|n.words[e])+h,this.words[e]=67108863&i,h=i>>>26;for(;0!==h&&e<r.length;e++)i=(0|r.words[e])+h,this.words[e]=67108863&i,h=i>>>26;if(this.length=r.length,0!==h)this.words[this.length]=h,this.length++;else if(r!==this)for(;e<r.length;e++)this.words[e]=r.words[e];return this},h.prototype.add=function(t){var i;return 0!==t.negative&&0===this.negative?(t.negative=0,i=this.sub(t),t.negative^=1,i):0===t.negative&&0!==this.negative?(this.negative=0,i=t.sub(this),this.negative=1,i):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},h.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var i=this.iadd(t);return t.negative=1,i._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,h=this.cmp(t);if(0===h)return this.negative=0,this.length=1,this.words[0]=0,this;h>0?(r=this,n=t):(r=t,n=this);for(var e=0,o=0;o<n.length;o++)e=(i=(0|r.words[o])-(0|n.words[o])+e)>>26,this.words[o]=67108863&i;for(;0!==e&&o<r.length;o++)e=(i=(0|r.words[o])+e)>>26,this.words[o]=67108863&i;if(0===e&&o<r.length&&r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this.length=Math.max(this.length,o),r!==this&&(this.negative=1),this.strip()},h.prototype.sub=function(t){return this.clone().isub(t)};var d=function(t,i,r){var n,h,e,o=t.words,s=i.words,u=r.words,a=0,l=0|o[0],m=8191&l,f=l>>>13,d=0|o[1],p=8191&d,M=d>>>13,v=0|o[2],g=8191&v,c=v>>>13,w=0|o[3],y=8191&w,b=w>>>13,_=0|o[4],k=8191&_,A=_>>>13,x=0|o[5],S=8191&x,q=x>>>13,B=0|o[6],Z=8191&B,R=B>>>13,N=0|o[7],L=8191&N,I=N>>>13,z=0|o[8],T=8191&z,E=z>>>13,O=0|o[9],j=8191&O,K=O>>>13,P=0|s[0],F=8191&P,C=P>>>13,D=0|s[1],H=8191&D,J=D>>>13,U=0|s[2],G=8191&U,Q=U>>>13,V=0|s[3],W=8191&V,X=V>>>13,Y=0|s[4],$=8191&Y,tt=Y>>>13,it=0|s[5],rt=8191&it,nt=it>>>13,ht=0|s[6],et=8191&ht,ot=ht>>>13,st=0|s[7],ut=8191&st,at=st>>>13,lt=0|s[8],mt=8191<,ft=lt>>>13,dt=0|s[9],pt=8191&dt,Mt=dt>>>13;r.negative=t.negative^i.negative,r.length=19;var vt=(a+(n=Math.imul(m,F))|0)+((8191&(h=(h=Math.imul(m,C))+Math.imul(f,F)|0))<<13)|0;a=((e=Math.imul(f,C))+(h>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(p,F),h=(h=Math.imul(p,C))+Math.imul(M,F)|0,e=Math.imul(M,C);var gt=(a+(n=n+Math.imul(m,H)|0)|0)+((8191&(h=(h=h+Math.imul(m,J)|0)+Math.imul(f,H)|0))<<13)|0;a=((e=e+Math.imul(f,J)|0)+(h>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(g,F),h=(h=Math.imul(g,C))+Math.imul(c,F)|0,e=Math.imul(c,C),n=n+Math.imul(p,H)|0,h=(h=h+Math.imul(p,J)|0)+Math.imul(M,H)|0,e=e+Math.imul(M,J)|0;var ct=(a+(n=n+Math.imul(m,G)|0)|0)+((8191&(h=(h=h+Math.imul(m,Q)|0)+Math.imul(f,G)|0))<<13)|0;a=((e=e+Math.imul(f,Q)|0)+(h>>>13)|0)+(ct>>>26)|0,ct&=67108863,n=Math.imul(y,F),h=(h=Math.imul(y,C))+Math.imul(b,F)|0,e=Math.imul(b,C),n=n+Math.imul(g,H)|0,h=(h=h+Math.imul(g,J)|0)+Math.imul(c,H)|0,e=e+Math.imul(c,J)|0,n=n+Math.imul(p,G)|0,h=(h=h+Math.imul(p,Q)|0)+Math.imul(M,G)|0,e=e+Math.imul(M,Q)|0;var wt=(a+(n=n+Math.imul(m,W)|0)|0)+((8191&(h=(h=h+Math.imul(m,X)|0)+Math.imul(f,W)|0))<<13)|0;a=((e=e+Math.imul(f,X)|0)+(h>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(k,F),h=(h=Math.imul(k,C))+Math.imul(A,F)|0,e=Math.imul(A,C),n=n+Math.imul(y,H)|0,h=(h=h+Math.imul(y,J)|0)+Math.imul(b,H)|0,e=e+Math.imul(b,J)|0,n=n+Math.imul(g,G)|0,h=(h=h+Math.imul(g,Q)|0)+Math.imul(c,G)|0,e=e+Math.imul(c,Q)|0,n=n+Math.imul(p,W)|0,h=(h=h+Math.imul(p,X)|0)+Math.imul(M,W)|0,e=e+Math.imul(M,X)|0;var yt=(a+(n=n+Math.imul(m,$)|0)|0)+((8191&(h=(h=h+Math.imul(m,tt)|0)+Math.imul(f,$)|0))<<13)|0;a=((e=e+Math.imul(f,tt)|0)+(h>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(S,F),h=(h=Math.imul(S,C))+Math.imul(q,F)|0,e=Math.imul(q,C),n=n+Math.imul(k,H)|0,h=(h=h+Math.imul(k,J)|0)+Math.imul(A,H)|0,e=e+Math.imul(A,J)|0,n=n+Math.imul(y,G)|0,h=(h=h+Math.imul(y,Q)|0)+Math.imul(b,G)|0,e=e+Math.imul(b,Q)|0,n=n+Math.imul(g,W)|0,h=(h=h+Math.imul(g,X)|0)+Math.imul(c,W)|0,e=e+Math.imul(c,X)|0,n=n+Math.imul(p,$)|0,h=(h=h+Math.imul(p,tt)|0)+Math.imul(M,$)|0,e=e+Math.imul(M,tt)|0;var bt=(a+(n=n+Math.imul(m,rt)|0)|0)+((8191&(h=(h=h+Math.imul(m,nt)|0)+Math.imul(f,rt)|0))<<13)|0;a=((e=e+Math.imul(f,nt)|0)+(h>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(Z,F),h=(h=Math.imul(Z,C))+Math.imul(R,F)|0,e=Math.imul(R,C),n=n+Math.imul(S,H)|0,h=(h=h+Math.imul(S,J)|0)+Math.imul(q,H)|0,e=e+Math.imul(q,J)|0,n=n+Math.imul(k,G)|0,h=(h=h+Math.imul(k,Q)|0)+Math.imul(A,G)|0,e=e+Math.imul(A,Q)|0,n=n+Math.imul(y,W)|0,h=(h=h+Math.imul(y,X)|0)+Math.imul(b,W)|0,e=e+Math.imul(b,X)|0,n=n+Math.imul(g,$)|0,h=(h=h+Math.imul(g,tt)|0)+Math.imul(c,$)|0,e=e+Math.imul(c,tt)|0,n=n+Math.imul(p,rt)|0,h=(h=h+Math.imul(p,nt)|0)+Math.imul(M,rt)|0,e=e+Math.imul(M,nt)|0;var _t=(a+(n=n+Math.imul(m,et)|0)|0)+((8191&(h=(h=h+Math.imul(m,ot)|0)+Math.imul(f,et)|0))<<13)|0;a=((e=e+Math.imul(f,ot)|0)+(h>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(L,F),h=(h=Math.imul(L,C))+Math.imul(I,F)|0,e=Math.imul(I,C),n=n+Math.imul(Z,H)|0,h=(h=h+Math.imul(Z,J)|0)+Math.imul(R,H)|0,e=e+Math.imul(R,J)|0,n=n+Math.imul(S,G)|0,h=(h=h+Math.imul(S,Q)|0)+Math.imul(q,G)|0,e=e+Math.imul(q,Q)|0,n=n+Math.imul(k,W)|0,h=(h=h+Math.imul(k,X)|0)+Math.imul(A,W)|0,e=e+Math.imul(A,X)|0,n=n+Math.imul(y,$)|0,h=(h=h+Math.imul(y,tt)|0)+Math.imul(b,$)|0,e=e+Math.imul(b,tt)|0,n=n+Math.imul(g,rt)|0,h=(h=h+Math.imul(g,nt)|0)+Math.imul(c,rt)|0,e=e+Math.imul(c,nt)|0,n=n+Math.imul(p,et)|0,h=(h=h+Math.imul(p,ot)|0)+Math.imul(M,et)|0,e=e+Math.imul(M,ot)|0;var kt=(a+(n=n+Math.imul(m,ut)|0)|0)+((8191&(h=(h=h+Math.imul(m,at)|0)+Math.imul(f,ut)|0))<<13)|0;a=((e=e+Math.imul(f,at)|0)+(h>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(T,F),h=(h=Math.imul(T,C))+Math.imul(E,F)|0,e=Math.imul(E,C),n=n+Math.imul(L,H)|0,h=(h=h+Math.imul(L,J)|0)+Math.imul(I,H)|0,e=e+Math.imul(I,J)|0,n=n+Math.imul(Z,G)|0,h=(h=h+Math.imul(Z,Q)|0)+Math.imul(R,G)|0,e=e+Math.imul(R,Q)|0,n=n+Math.imul(S,W)|0,h=(h=h+Math.imul(S,X)|0)+Math.imul(q,W)|0,e=e+Math.imul(q,X)|0,n=n+Math.imul(k,$)|0,h=(h=h+Math.imul(k,tt)|0)+Math.imul(A,$)|0,e=e+Math.imul(A,tt)|0,n=n+Math.imul(y,rt)|0,h=(h=h+Math.imul(y,nt)|0)+Math.imul(b,rt)|0,e=e+Math.imul(b,nt)|0,n=n+Math.imul(g,et)|0,h=(h=h+Math.imul(g,ot)|0)+Math.imul(c,et)|0,e=e+Math.imul(c,ot)|0,n=n+Math.imul(p,ut)|0,h=(h=h+Math.imul(p,at)|0)+Math.imul(M,ut)|0,e=e+Math.imul(M,at)|0;var At=(a+(n=n+Math.imul(m,mt)|0)|0)+((8191&(h=(h=h+Math.imul(m,ft)|0)+Math.imul(f,mt)|0))<<13)|0;a=((e=e+Math.imul(f,ft)|0)+(h>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(j,F),h=(h=Math.imul(j,C))+Math.imul(K,F)|0,e=Math.imul(K,C),n=n+Math.imul(T,H)|0,h=(h=h+Math.imul(T,J)|0)+Math.imul(E,H)|0,e=e+Math.imul(E,J)|0,n=n+Math.imul(L,G)|0,h=(h=h+Math.imul(L,Q)|0)+Math.imul(I,G)|0,e=e+Math.imul(I,Q)|0,n=n+Math.imul(Z,W)|0,h=(h=h+Math.imul(Z,X)|0)+Math.imul(R,W)|0,e=e+Math.imul(R,X)|0,n=n+Math.imul(S,$)|0,h=(h=h+Math.imul(S,tt)|0)+Math.imul(q,$)|0,e=e+Math.imul(q,tt)|0,n=n+Math.imul(k,rt)|0,h=(h=h+Math.imul(k,nt)|0)+Math.imul(A,rt)|0,e=e+Math.imul(A,nt)|0,n=n+Math.imul(y,et)|0,h=(h=h+Math.imul(y,ot)|0)+Math.imul(b,et)|0,e=e+Math.imul(b,ot)|0,n=n+Math.imul(g,ut)|0,h=(h=h+Math.imul(g,at)|0)+Math.imul(c,ut)|0,e=e+Math.imul(c,at)|0,n=n+Math.imul(p,mt)|0,h=(h=h+Math.imul(p,ft)|0)+Math.imul(M,mt)|0,e=e+Math.imul(M,ft)|0;var xt=(a+(n=n+Math.imul(m,pt)|0)|0)+((8191&(h=(h=h+Math.imul(m,Mt)|0)+Math.imul(f,pt)|0))<<13)|0;a=((e=e+Math.imul(f,Mt)|0)+(h>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(j,H),h=(h=Math.imul(j,J))+Math.imul(K,H)|0,e=Math.imul(K,J),n=n+Math.imul(T,G)|0,h=(h=h+Math.imul(T,Q)|0)+Math.imul(E,G)|0,e=e+Math.imul(E,Q)|0,n=n+Math.imul(L,W)|0,h=(h=h+Math.imul(L,X)|0)+Math.imul(I,W)|0,e=e+Math.imul(I,X)|0,n=n+Math.imul(Z,$)|0,h=(h=h+Math.imul(Z,tt)|0)+Math.imul(R,$)|0,e=e+Math.imul(R,tt)|0,n=n+Math.imul(S,rt)|0,h=(h=h+Math.imul(S,nt)|0)+Math.imul(q,rt)|0,e=e+Math.imul(q,nt)|0,n=n+Math.imul(k,et)|0,h=(h=h+Math.imul(k,ot)|0)+Math.imul(A,et)|0,e=e+Math.imul(A,ot)|0,n=n+Math.imul(y,ut)|0,h=(h=h+Math.imul(y,at)|0)+Math.imul(b,ut)|0,e=e+Math.imul(b,at)|0,n=n+Math.imul(g,mt)|0,h=(h=h+Math.imul(g,ft)|0)+Math.imul(c,mt)|0,e=e+Math.imul(c,ft)|0;var St=(a+(n=n+Math.imul(p,pt)|0)|0)+((8191&(h=(h=h+Math.imul(p,Mt)|0)+Math.imul(M,pt)|0))<<13)|0;a=((e=e+Math.imul(M,Mt)|0)+(h>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(j,G),h=(h=Math.imul(j,Q))+Math.imul(K,G)|0,e=Math.imul(K,Q),n=n+Math.imul(T,W)|0,h=(h=h+Math.imul(T,X)|0)+Math.imul(E,W)|0,e=e+Math.imul(E,X)|0,n=n+Math.imul(L,$)|0,h=(h=h+Math.imul(L,tt)|0)+Math.imul(I,$)|0,e=e+Math.imul(I,tt)|0,n=n+Math.imul(Z,rt)|0,h=(h=h+Math.imul(Z,nt)|0)+Math.imul(R,rt)|0,e=e+Math.imul(R,nt)|0,n=n+Math.imul(S,et)|0,h=(h=h+Math.imul(S,ot)|0)+Math.imul(q,et)|0,e=e+Math.imul(q,ot)|0,n=n+Math.imul(k,ut)|0,h=(h=h+Math.imul(k,at)|0)+Math.imul(A,ut)|0,e=e+Math.imul(A,at)|0,n=n+Math.imul(y,mt)|0,h=(h=h+Math.imul(y,ft)|0)+Math.imul(b,mt)|0,e=e+Math.imul(b,ft)|0;var qt=(a+(n=n+Math.imul(g,pt)|0)|0)+((8191&(h=(h=h+Math.imul(g,Mt)|0)+Math.imul(c,pt)|0))<<13)|0;a=((e=e+Math.imul(c,Mt)|0)+(h>>>13)|0)+(qt>>>26)|0,qt&=67108863,n=Math.imul(j,W),h=(h=Math.imul(j,X))+Math.imul(K,W)|0,e=Math.imul(K,X),n=n+Math.imul(T,$)|0,h=(h=h+Math.imul(T,tt)|0)+Math.imul(E,$)|0,e=e+Math.imul(E,tt)|0,n=n+Math.imul(L,rt)|0,h=(h=h+Math.imul(L,nt)|0)+Math.imul(I,rt)|0,e=e+Math.imul(I,nt)|0,n=n+Math.imul(Z,et)|0,h=(h=h+Math.imul(Z,ot)|0)+Math.imul(R,et)|0,e=e+Math.imul(R,ot)|0,n=n+Math.imul(S,ut)|0,h=(h=h+Math.imul(S,at)|0)+Math.imul(q,ut)|0,e=e+Math.imul(q,at)|0,n=n+Math.imul(k,mt)|0,h=(h=h+Math.imul(k,ft)|0)+Math.imul(A,mt)|0,e=e+Math.imul(A,ft)|0;var Bt=(a+(n=n+Math.imul(y,pt)|0)|0)+((8191&(h=(h=h+Math.imul(y,Mt)|0)+Math.imul(b,pt)|0))<<13)|0;a=((e=e+Math.imul(b,Mt)|0)+(h>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(j,$),h=(h=Math.imul(j,tt))+Math.imul(K,$)|0,e=Math.imul(K,tt),n=n+Math.imul(T,rt)|0,h=(h=h+Math.imul(T,nt)|0)+Math.imul(E,rt)|0,e=e+Math.imul(E,nt)|0,n=n+Math.imul(L,et)|0,h=(h=h+Math.imul(L,ot)|0)+Math.imul(I,et)|0,e=e+Math.imul(I,ot)|0,n=n+Math.imul(Z,ut)|0,h=(h=h+Math.imul(Z,at)|0)+Math.imul(R,ut)|0,e=e+Math.imul(R,at)|0,n=n+Math.imul(S,mt)|0,h=(h=h+Math.imul(S,ft)|0)+Math.imul(q,mt)|0,e=e+Math.imul(q,ft)|0;var Zt=(a+(n=n+Math.imul(k,pt)|0)|0)+((8191&(h=(h=h+Math.imul(k,Mt)|0)+Math.imul(A,pt)|0))<<13)|0;a=((e=e+Math.imul(A,Mt)|0)+(h>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,n=Math.imul(j,rt),h=(h=Math.imul(j,nt))+Math.imul(K,rt)|0,e=Math.imul(K,nt),n=n+Math.imul(T,et)|0,h=(h=h+Math.imul(T,ot)|0)+Math.imul(E,et)|0,e=e+Math.imul(E,ot)|0,n=n+Math.imul(L,ut)|0,h=(h=h+Math.imul(L,at)|0)+Math.imul(I,ut)|0,e=e+Math.imul(I,at)|0,n=n+Math.imul(Z,mt)|0,h=(h=h+Math.imul(Z,ft)|0)+Math.imul(R,mt)|0,e=e+Math.imul(R,ft)|0;var Rt=(a+(n=n+Math.imul(S,pt)|0)|0)+((8191&(h=(h=h+Math.imul(S,Mt)|0)+Math.imul(q,pt)|0))<<13)|0;a=((e=e+Math.imul(q,Mt)|0)+(h>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(j,et),h=(h=Math.imul(j,ot))+Math.imul(K,et)|0,e=Math.imul(K,ot),n=n+Math.imul(T,ut)|0,h=(h=h+Math.imul(T,at)|0)+Math.imul(E,ut)|0,e=e+Math.imul(E,at)|0,n=n+Math.imul(L,mt)|0,h=(h=h+Math.imul(L,ft)|0)+Math.imul(I,mt)|0,e=e+Math.imul(I,ft)|0;var Nt=(a+(n=n+Math.imul(Z,pt)|0)|0)+((8191&(h=(h=h+Math.imul(Z,Mt)|0)+Math.imul(R,pt)|0))<<13)|0;a=((e=e+Math.imul(R,Mt)|0)+(h>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,n=Math.imul(j,ut),h=(h=Math.imul(j,at))+Math.imul(K,ut)|0,e=Math.imul(K,at),n=n+Math.imul(T,mt)|0,h=(h=h+Math.imul(T,ft)|0)+Math.imul(E,mt)|0,e=e+Math.imul(E,ft)|0;var Lt=(a+(n=n+Math.imul(L,pt)|0)|0)+((8191&(h=(h=h+Math.imul(L,Mt)|0)+Math.imul(I,pt)|0))<<13)|0;a=((e=e+Math.imul(I,Mt)|0)+(h>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(j,mt),h=(h=Math.imul(j,ft))+Math.imul(K,mt)|0,e=Math.imul(K,ft);var It=(a+(n=n+Math.imul(T,pt)|0)|0)+((8191&(h=(h=h+Math.imul(T,Mt)|0)+Math.imul(E,pt)|0))<<13)|0;a=((e=e+Math.imul(E,Mt)|0)+(h>>>13)|0)+(It>>>26)|0,It&=67108863;var zt=(a+(n=Math.imul(j,pt))|0)+((8191&(h=(h=Math.imul(j,Mt))+Math.imul(K,pt)|0))<<13)|0;return a=((e=Math.imul(K,Mt))+(h>>>13)|0)+(zt>>>26)|0,zt&=67108863,u[0]=vt,u[1]=gt,u[2]=ct,u[3]=wt,u[4]=yt,u[5]=bt,u[6]=_t,u[7]=kt,u[8]=At,u[9]=xt,u[10]=St,u[11]=qt,u[12]=Bt,u[13]=Zt,u[14]=Rt,u[15]=Nt,u[16]=Lt,u[17]=It,u[18]=zt,0!==a&&(u[19]=a,r.length++),r};function p(t,i,r){return(new M).mulp(t,i,r)}function M(t,i){this.x=t,this.y=i}Math.imul||(d=f),h.prototype.mulTo=function(t,i){var r=this.length+t.length;return 10===this.length&&10===t.length?d(this,t,i):r<63?f(this,t,i):r<1024?function(t,i,r){r.negative=i.negative^t.negative,r.length=t.length+i.length;for(var n=0,h=0,e=0;e<r.length-1;e++){var o=h;h=0;for(var s=67108863&n,u=Math.min(e,i.length-1),a=Math.max(0,e-t.length+1);a<=u;a++){var l=e-a,m=(0|t.words[l])*(0|i.words[a]),f=67108863&m;s=67108863&(f=f+s|0),h+=(o=(o=o+(m/67108864|0)|0)+(f>>>26)|0)>>>26,o&=67108863}r.words[e]=s,n=o,o=h}return 0!==n?r.words[e]=n:r.length--,r.strip()}(this,t,i):p(this,t,i)},M.prototype.makeRBT=function(t){for(var i=new Array(t),r=h.prototype._countBits(t)-1,n=0;n<t;n++)i[n]=this.revBin(n,r,t);return i},M.prototype.revBin=function(t,i,r){if(0===t||t===r-1)return t;for(var n=0,h=0;h<i;h++)n|=(1&t)<<i-h-1,t>>=1;return n},M.prototype.permute=function(t,i,r,n,h,e){for(var o=0;o<e;o++)n[o]=i[t[o]],h[o]=r[t[o]]},M.prototype.transform=function(t,i,r,n,h,e){this.permute(e,t,i,r,n,h);for(var o=1;o<h;o<<=1)for(var s=o<<1,u=Math.cos(2*Math.PI/s),a=Math.sin(2*Math.PI/s),l=0;l<h;l+=s)for(var m=u,f=a,d=0;d<o;d++){var p=r[l+d],M=n[l+d],v=r[l+d+o],g=n[l+d+o],c=m*v-f*g;g=m*g+f*v,v=c,r[l+d]=p+v,n[l+d]=M+g,r[l+d+o]=p-v,n[l+d+o]=M-g,d!==s&&(c=u*m-a*f,f=u*f+a*m,m=c)}},M.prototype.guessLen13b=function(t,i){var r=1|Math.max(i,t),n=1&r,h=0;for(r=r/2|0;r;r>>>=1)h++;return 1<<h+1+n},M.prototype.conjugate=function(t,i,r){if(!(r<=1))for(var n=0;n<r/2;n++){var h=t[n];t[n]=t[r-n-1],t[r-n-1]=h,h=i[n],i[n]=-i[r-n-1],i[r-n-1]=-h}},M.prototype.normalize13b=function(t,i){for(var r=0,n=0;n<i/2;n++){var h=8192*Math.round(t[2*n+1]/i)+Math.round(t[2*n]/i)+r;t[n]=67108863&h,r=h<67108864?0:h/67108864|0}return t},M.prototype.convert13b=function(t,i,n,h){for(var e=0,o=0;o<i;o++)e+=0|t[o],n[2*o]=8191&e,e>>>=13,n[2*o+1]=8191&e,e>>>=13;for(o=2*i;o<h;++o)n[o]=0;r(0===e),r(0==(-8192&e))},M.prototype.stub=function(t){for(var i=new Array(t),r=0;r<t;r++)i[r]=0;return i},M.prototype.mulp=function(t,i,r){var n=2*this.guessLen13b(t.length,i.length),h=this.makeRBT(n),e=this.stub(n),o=new Array(n),s=new Array(n),u=new Array(n),a=new Array(n),l=new Array(n),m=new Array(n),f=r.words;f.length=n,this.convert13b(t.words,t.length,o,n),this.convert13b(i.words,i.length,a,n),this.transform(o,e,s,u,n,h),this.transform(a,e,l,m,n,h);for(var d=0;d<n;d++){var p=s[d]*l[d]-u[d]*m[d];u[d]=s[d]*m[d]+u[d]*l[d],s[d]=p}return this.conjugate(s,u,n),this.transform(s,u,f,e,n,h),this.conjugate(f,e,n),this.normalize13b(f,n),r.negative=t.negative^i.negative,r.length=t.length+i.length,r.strip()},h.prototype.mul=function(t){var i=new h(null);return i.words=new Array(this.length+t.length),this.mulTo(t,i)},h.prototype.mulf=function(t){var i=new h(null);return i.words=new Array(this.length+t.length),p(this,t,i)},h.prototype.imul=function(t){return this.clone().mulTo(t,this)},h.prototype.imuln=function(t){r("number"==typeof t),r(t<67108864);for(var i=0,n=0;n<this.length;n++){var h=(0|this.words[n])*t,e=(67108863&h)+(67108863&i);i>>=26,i+=h/67108864|0,i+=e>>>26,this.words[n]=67108863&e}return 0!==i&&(this.words[n]=i,this.length++),this},h.prototype.muln=function(t){return this.clone().imuln(t)},h.prototype.sqr=function(){return this.mul(this)},h.prototype.isqr=function(){return this.imul(this.clone())},h.prototype.pow=function(t){var i=function(t){for(var i=new Array(t.bitLength()),r=0;r<i.length;r++){var n=r/26|0,h=r%26;i[r]=(t.words[n]&1<<h)>>>h}return i}(t);if(0===i.length)return new h(1);for(var r=this,n=0;n<i.length&&0===i[n];n++,r=r.sqr());if(++n<i.length)for(var e=r.sqr();n<i.length;n++,e=e.sqr())0!==i[n]&&(r=r.mul(e));return r},h.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var i,n=t%26,h=(t-n)/26,e=67108863>>>26-n<<26-n;if(0!==n){var o=0;for(i=0;i<this.length;i++){var s=this.words[i]&e,u=(0|this.words[i])-s<<n;this.words[i]=u|o,o=s>>>26-n}o&&(this.words[i]=o,this.length++)}if(0!==h){for(i=this.length-1;i>=0;i--)this.words[i+h]=this.words[i];for(i=0;i<h;i++)this.words[i]=0;this.length+=h}return this.strip()},h.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},h.prototype.iushrn=function(t,i,n){var h;r("number"==typeof t&&t>=0),h=i?(i-i%26)/26:0;var e=t%26,o=Math.min((t-e)/26,this.length),s=67108863^67108863>>>e<<e,u=n;if(h-=o,h=Math.max(0,h),u){for(var a=0;a<o;a++)u.words[a]=this.words[a];u.length=o}if(0===o);else if(this.length>o)for(this.length-=o,a=0;a<this.length;a++)this.words[a]=this.words[a+o];else this.words[0]=0,this.length=1;var l=0;for(a=this.length-1;a>=0&&(0!==l||a>=h);a--){var m=0|this.words[a];this.words[a]=l<<26-e|m>>>e,l=m&s}return u&&0!==l&&(u.words[u.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},h.prototype.ishrn=function(t,i,n){return r(0===this.negative),this.iushrn(t,i,n)},h.prototype.shln=function(t){return this.clone().ishln(t)},h.prototype.ushln=function(t){return this.clone().iushln(t)},h.prototype.shrn=function(t){return this.clone().ishrn(t)},h.prototype.ushrn=function(t){return this.clone().iushrn(t)},h.prototype.testn=function(t){r("number"==typeof t&&t>=0);var i=t%26,n=(t-i)/26,h=1<<i;return!(this.length<=n)&&!!(this.words[n]&h)},h.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var i=t%26,n=(t-i)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==i&&n++,this.length=Math.min(n,this.length),0!==i){var h=67108863^67108863>>>i<<i;this.words[this.length-1]&=h}return this.strip()},h.prototype.maskn=function(t){return this.clone().imaskn(t)},h.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},h.prototype._iaddn=function(t){this.words[0]+=t;for(var i=0;i<this.length&&this.words[i]>=67108864;i++)this.words[i]-=67108864,i===this.length-1?this.words[i+1]=1:this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},h.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i<this.length&&this.words[i]<0;i++)this.words[i]+=67108864,this.words[i+1]-=1;return this.strip()},h.prototype.addn=function(t){return this.clone().iaddn(t)},h.prototype.subn=function(t){return this.clone().isubn(t)},h.prototype.iabs=function(){return this.negative=0,this},h.prototype.abs=function(){return this.clone().iabs()},h.prototype._ishlnsubmul=function(t,i,n){var h,e,o=t.length+n;this._expand(o);var s=0;for(h=0;h<t.length;h++){e=(0|this.words[h+n])+s;var u=(0|t.words[h])*i;s=((e-=67108863&u)>>26)-(u/67108864|0),this.words[h+n]=67108863&e}for(;h<this.length-n;h++)s=(e=(0|this.words[h+n])+s)>>26,this.words[h+n]=67108863&e;if(0===s)return this.strip();for(r(-1===s),s=0,h=0;h<this.length;h++)s=(e=-(0|this.words[h])+s)>>26,this.words[h]=67108863&e;return this.negative=1,this.strip()},h.prototype._wordDiv=function(t,i){var r=(this.length,t.length),n=this.clone(),e=t,o=0|e.words[e.length-1];0!==(r=26-this._countBits(o))&&(e=e.ushln(r),n.iushln(r),o=0|e.words[e.length-1]);var s,u=n.length-e.length;if("mod"!==i){(s=new h(null)).length=u+1,s.words=new Array(s.length);for(var a=0;a<s.length;a++)s.words[a]=0}var l=n.clone()._ishlnsubmul(e,1,u);0===l.negative&&(n=l,s&&(s.words[u]=1));for(var m=u-1;m>=0;m--){var f=67108864*(0|n.words[e.length+m])+(0|n.words[e.length+m-1]);for(f=Math.min(f/o|0,67108863),n._ishlnsubmul(e,f,m);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(e,1,m),n.isZero()||(n.negative^=1);s&&(s.words[m]=f)}return s&&s.strip(),n.strip(),"div"!==i&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},h.prototype.divmod=function(t,i,n){return r(!t.isZero()),this.isZero()?{div:new h(0),mod:new h(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,i),"mod"!==i&&(e=s.div.neg()),"div"!==i&&(o=s.mod.neg(),n&&0!==o.negative&&o.iadd(t)),{div:e,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),i),"mod"!==i&&(e=s.div.neg()),{div:e,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),i),"div"!==i&&(o=s.mod.neg(),n&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new h(0),mod:this}:1===t.length?"div"===i?{div:this.divn(t.words[0]),mod:null}:"mod"===i?{div:null,mod:new h(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new h(this.modn(t.words[0]))}:this._wordDiv(t,i);var e,o,s},h.prototype.div=function(t){return this.divmod(t,"div",!1).div},h.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},h.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},h.prototype.divRound=function(t){var i=this.divmod(t);if(i.mod.isZero())return i.div;var r=0!==i.div.negative?i.mod.isub(t):i.mod,n=t.ushrn(1),h=t.andln(1),e=r.cmp(n);return e<0||1===h&&0===e?i.div:0!==i.div.negative?i.div.isubn(1):i.div.iaddn(1)},h.prototype.modn=function(t){r(t<=67108863);for(var i=(1<<26)%t,n=0,h=this.length-1;h>=0;h--)n=(i*n+(0|this.words[h]))%t;return n},h.prototype.idivn=function(t){r(t<=67108863);for(var i=0,n=this.length-1;n>=0;n--){var h=(0|this.words[n])+67108864*i;this.words[n]=h/t|0,i=h%t}return this.strip()},h.prototype.divn=function(t){return this.clone().idivn(t)},h.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var i=this,n=t.clone();i=0!==i.negative?i.umod(t):i.clone();for(var e=new h(1),o=new h(0),s=new h(0),u=new h(1),a=0;i.isEven()&&n.isEven();)i.iushrn(1),n.iushrn(1),++a;for(var l=n.clone(),m=i.clone();!i.isZero();){for(var f=0,d=1;0==(i.words[0]&d)&&f<26;++f,d<<=1);if(f>0)for(i.iushrn(f);f-- >0;)(e.isOdd()||o.isOdd())&&(e.iadd(l),o.isub(m)),e.iushrn(1),o.iushrn(1);for(var p=0,M=1;0==(n.words[0]&M)&&p<26;++p,M<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(l),u.isub(m)),s.iushrn(1),u.iushrn(1);i.cmp(n)>=0?(i.isub(n),e.isub(s),o.isub(u)):(n.isub(i),s.isub(e),u.isub(o))}return{a:s,b:u,gcd:n.iushln(a)}},h.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var i=this,n=t.clone();i=0!==i.negative?i.umod(t):i.clone();for(var e,o=new h(1),s=new h(0),u=n.clone();i.cmpn(1)>0&&n.cmpn(1)>0;){for(var a=0,l=1;0==(i.words[0]&l)&&a<26;++a,l<<=1);if(a>0)for(i.iushrn(a);a-- >0;)o.isOdd()&&o.iadd(u),o.iushrn(1);for(var m=0,f=1;0==(n.words[0]&f)&&m<26;++m,f<<=1);if(m>0)for(n.iushrn(m);m-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);i.cmp(n)>=0?(i.isub(n),o.isub(s)):(n.isub(i),s.isub(o))}return(e=0===i.cmpn(1)?o:s).cmpn(0)<0&&e.iadd(t),e},h.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var i=this.clone(),r=t.clone();i.negative=0,r.negative=0;for(var n=0;i.isEven()&&r.isEven();n++)i.iushrn(1),r.iushrn(1);for(;;){for(;i.isEven();)i.iushrn(1);for(;r.isEven();)r.iushrn(1);var h=i.cmp(r);if(h<0){var e=i;i=r,r=e}else if(0===h||0===r.cmpn(1))break;i.isub(r)}return r.iushln(n)},h.prototype.invm=function(t){return this.egcd(t).a.umod(t)},h.prototype.isEven=function(){return 0==(1&this.words[0])},h.prototype.isOdd=function(){return 1==(1&this.words[0])},h.prototype.andln=function(t){return this.words[0]&t},h.prototype.bincn=function(t){r("number"==typeof t);var i=t%26,n=(t-i)/26,h=1<<i;if(this.length<=n)return this._expand(n+1),this.words[n]|=h,this;for(var e=h,o=n;0!==e&&o<this.length;o++){var s=0|this.words[o];e=(s+=e)>>>26,s&=67108863,this.words[o]=s}return 0!==e&&(this.words[o]=e,this.length++),this},h.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},h.prototype.cmpn=function(t){var i,n=t<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)i=1;else{n&&(t=-t),r(t<=67108863,"Number is too big");var h=0|this.words[0];i=h===t?0:h<t?-1:1}return 0!==this.negative?0|-i:i},h.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var i=this.ucmp(t);return 0!==this.negative?0|-i:i},h.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var i=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],h=0|t.words[r];if(n!==h){n<h?i=-1:n>h&&(i=1);break}}return i},h.prototype.gtn=function(t){return 1===this.cmpn(t)},h.prototype.gt=function(t){return 1===this.cmp(t)},h.prototype.gten=function(t){return this.cmpn(t)>=0},h.prototype.gte=function(t){return this.cmp(t)>=0},h.prototype.ltn=function(t){return-1===this.cmpn(t)},h.prototype.lt=function(t){return-1===this.cmp(t)},h.prototype.lten=function(t){return this.cmpn(t)<=0},h.prototype.lte=function(t){return this.cmp(t)<=0},h.prototype.eqn=function(t){return 0===this.cmpn(t)},h.prototype.eq=function(t){return 0===this.cmp(t)},h.red=function(t){return new _(t)},h.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},h.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},h.prototype._forceRed=function(t){return this.red=t,this},h.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},h.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},h.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},h.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},h.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},h.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},h.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},h.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},h.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},h.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},h.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},h.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},h.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},h.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var v={k256:null,p224:null,p192:null,p25519:null};function g(t,i){this.name=t,this.p=new h(i,16),this.n=this.p.bitLength(),this.k=new h(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function c(){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 y(){g.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function b(){g.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var i=h._prime(t);this.m=i.p,this.prime=i}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new h(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 t=new h(null);return t.words=new Array(Math.ceil(this.n/13)),t},g.prototype.ireduce=function(t){var i,r=t;do{this.split(r,this.tmp),i=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(i>this.n);var n=i<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(t,i){t.iushrn(this.n,0,i)},g.prototype.imulK=function(t){return t.imul(this.k)},n(c,g),c.prototype.split=function(t,i){for(var r=Math.min(t.length,9),n=0;n<r;n++)i.words[n]=t.words[n];if(i.length=r,t.length<=9)return t.words[0]=0,void(t.length=1);var h=t.words[9];for(i.words[i.length++]=4194303&h,n=10;n<t.length;n++){var e=0|t.words[n];t.words[n-10]=(4194303&e)<<4|h>>>22,h=e}h>>>=22,t.words[n-10]=h,0===h&&t.length>10?t.length-=10:t.length-=9},c.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var i=0,r=0;r<t.length;r++){var n=0|t.words[r];i+=977*n,t.words[r]=67108863&i,i=64*n+(i/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},n(w,g),n(y,g),n(b,g),b.prototype.imulK=function(t){for(var i=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+i,h=67108863&n;n>>>=26,t.words[r]=h,i=n}return 0!==i&&(t.words[t.length++]=i),t},h._prime=function(t){if(v[t])return v[t];var i;if("k256"===t)i=new c;else if("p224"===t)i=new w;else if("p192"===t)i=new y;else{if("p25519"!==t)throw new Error("Unknown prime "+t);i=new b}return v[t]=i,i},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,i){r(0==(t.negative|i.negative),"red works only with positives"),r(t.red&&t.red===i.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,i){this._verify2(t,i);var r=t.add(i);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,i){this._verify2(t,i);var r=t.iadd(i);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,i){this._verify2(t,i);var r=t.sub(i);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,i){this._verify2(t,i);var r=t.isub(i);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,i){return this._verify1(t),this.imod(t.ushln(i))},_.prototype.imul=function(t,i){return this._verify2(t,i),this.imod(t.imul(i))},_.prototype.mul=function(t,i){return this._verify2(t,i),this.imod(t.mul(i))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var i=this.m.andln(3);if(r(i%2==1),3===i){var n=this.m.add(new h(1)).iushrn(2);return this.pow(t,n)}for(var e=this.m.subn(1),o=0;!e.isZero()&&0===e.andln(1);)o++,e.iushrn(1);r(!e.isZero());var s=new h(1).toRed(this),u=s.redNeg(),a=this.m.subn(1).iushrn(1),l=this.m.bitLength();for(l=new h(2*l*l).toRed(this);0!==this.pow(l,a).cmp(u);)l.redIAdd(u);for(var m=this.pow(l,e),f=this.pow(t,e.addn(1).iushrn(1)),d=this.pow(t,e),p=o;0!==d.cmp(s);){for(var M=d,v=0;0!==M.cmp(s);v++)M=M.redSqr();r(v<p);var g=this.pow(m,new h(1).iushln(p-v-1));f=f.redMul(g),m=g.redSqr(),d=d.redMul(m),p=v}return f},_.prototype.invm=function(t){var i=t._invmp(this.m);return 0!==i.negative?(i.negative=0,this.imod(i).redNeg()):this.imod(i)},_.prototype.pow=function(t,i){if(i.isZero())return new h(1).toRed(this);if(0===i.cmpn(1))return t.clone();var r=new Array(16);r[0]=new h(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var e=r[0],o=0,s=0,u=i.bitLength()%26;for(0===u&&(u=26),n=i.length-1;n>=0;n--){for(var a=i.words[n],l=u-1;l>=0;l--){var m=a>>l&1;e!==r[0]&&(e=this.sqr(e)),0!==m||0!==o?(o<<=1,o|=m,(4===++s||0===n&&0===l)&&(e=this.mul(e,r[o]),s=0,o=0)):s=0}u=26}return e},_.prototype.convertTo=function(t){var i=t.umod(this.m);return i===t?i.clone():i},_.prototype.convertFrom=function(t){var i=t.clone();return i.red=null,i},h.mont=function(t){return new k(t)},n(k,_),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var i=this.imod(t.mul(this.rinv));return i.red=null,i},k.prototype.imul=function(t,i){if(t.isZero()||i.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(i),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),h=r.isub(n).iushrn(this.shift),e=h;return h.cmp(this.m)>=0?e=h.isub(this.m):h.cmpn(0)<0&&(e=h.iadd(this.m)),e._forceRed(this)},k.prototype.mul=function(t,i){if(t.isZero()||i.isZero())return new h(0)._forceRed(this);var r=t.mul(i),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),e=r.isub(n).iushrn(this.shift),o=e;return e.cmp(this.m)>=0?o=e.isub(this.m):e.cmpn(0)<0&&(o=e.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}("undefined"==typeof module||module,this);
|
|
287
|
+
},{"buffer":"f88W"}],"e03B":[function(require,module,exports) {
|
|
288
|
+
var t;function e(t){this.rand=t}if(module.exports=function(r){return t||(t=new e(null)),t.generate(r)},module.exports.Rand=e,e.prototype.generate=function(t){return this._rand(t)},e.prototype._rand=function(t){if(this.rand.getBytes)return this.rand.getBytes(t);for(var e=new Uint8Array(t),r=0;r<e.length;r++)e[r]=this.rand.getByte();return e},"object"==typeof self)self.crypto&&self.crypto.getRandomValues?e.prototype._rand=function(t){var e=new Uint8Array(t);return self.crypto.getRandomValues(e),e}:self.msCrypto&&self.msCrypto.getRandomValues?e.prototype._rand=function(t){var e=new Uint8Array(t);return self.msCrypto.getRandomValues(e),e}:"object"==typeof window&&(e.prototype._rand=function(){throw new Error("Not implemented yet")});else try{var r=require("crypto");if("function"!=typeof r.randomBytes)throw new Error("Not supported");e.prototype._rand=function(t){return r.randomBytes(t)}}catch(n){}
|
|
289
|
+
},{"crypto":"f88W"}],"VQun":[function(require,module,exports) {
|
|
290
|
+
var r=require("bn.js"),e=require("brorand");function n(r){this.rand=r||new e.Rand}module.exports=n,n.create=function(r){return new n(r)},n.prototype._randbelow=function(e){var n=e.bitLength(),t=Math.ceil(n/8);do{var o=new r(this.rand.generate(t))}while(o.cmp(e)>=0);return o},n.prototype._randrange=function(r,e){var n=e.sub(r);return r.add(this._randbelow(n))},n.prototype.test=function(e,n,t){var o=e.bitLength(),a=r.mont(e),d=new r(1).toRed(a);n||(n=Math.max(1,o/48|0));for(var i=e.subn(1),u=0;!i.testn(u);u++);for(var f=e.shrn(u),c=i.toRed(a);n>0;n--){var p=this._randrange(new r(2),i);t&&t(p);var s=p.toRed(a).redPow(f);if(0!==s.cmp(d)&&0!==s.cmp(c)){for(var m=1;m<u;m++){if(0===(s=s.redSqr()).cmp(d))return!1;if(0===s.cmp(c))break}if(m===u)return!1}}return!0},n.prototype.getDivisor=function(e,n){var t=e.bitLength(),o=r.mont(e),a=new r(1).toRed(o);n||(n=Math.max(1,t/48|0));for(var d=e.subn(1),i=0;!d.testn(i);i++);for(var u=e.shrn(i),f=d.toRed(o);n>0;n--){var c=this._randrange(new r(2),d),p=e.gcd(c);if(0!==p.cmpn(1))return p;var s=c.toRed(o).redPow(u);if(0!==s.cmp(a)&&0!==s.cmp(f)){for(var m=1;m<i;m++){if(0===(s=s.redSqr()).cmp(a))return s.fromRed().subn(1).gcd(e);if(0===s.cmp(f))break}if(m===i)return(s=s.redSqr()).fromRed().subn(1).gcd(e)}}return!1};
|
|
291
|
+
},{"bn.js":"VXic","brorand":"e03B"}],"Lj8n":[function(require,module,exports) {
|
|
292
|
+
var e=require("randombytes");module.exports=M,M.simpleSieve=b,M.fermatTest=q;var n=require("bn.js"),r=new n(24),t=require("miller-rabin"),i=new t,o=new n(1),f=new n(2),a=new n(5),u=new n(16),w=new n(8),d=new n(10),m=new n(3),s=new n(7),c=new n(11),l=new n(4),v=new n(12),p=null;function h(){if(null!==p)return p;var e=[];e[0]=2;for(var n=1,r=3;r<1048576;r+=2){for(var t=Math.ceil(Math.sqrt(r)),i=0;i<n&&e[i]<=t&&r%e[i]!=0;i++);n!==i&&e[i]<=t||(e[n++]=r)}return p=e,e}function b(e){for(var n=h(),r=0;r<n.length;r++)if(0===e.modn(n[r]))return 0===e.cmpn(n[r]);return!0}function q(e){var r=n.mont(e);return 0===f.toRed(r).redPow(e.subn(1)).fromRed().cmpn(1)}function M(t,u){if(t<16)return new n(2===u||5===u?[140,123]:[140,39]);var w,s;for(u=new n(u);;){for(w=new n(e(Math.ceil(t/8)));w.bitLength()>t;)w.ishrn(1);if(w.isEven()&&w.iadd(o),w.testn(1)||w.iadd(f),u.cmp(f)){if(!u.cmp(a))for(;w.mod(d).cmp(m);)w.iadd(l)}else for(;w.mod(r).cmp(c);)w.iadd(l);if(b(s=w.shrn(1))&&b(w)&&q(s)&&q(w)&&i.test(s)&&i.test(w))return w}}
|
|
293
|
+
},{"randombytes":"/XJN","bn.js":"VXic","miller-rabin":"VQun"}],"nq14":[function(require,module,exports) {
|
|
294
|
+
module.exports={modp1:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},modp2:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},modp5:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},modp14:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},modp15:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},modp16:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},modp17:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},modp18:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}};
|
|
295
|
+
},{}],"SXPn":[function(require,module,exports) {
|
|
296
|
+
var Buffer = require("buffer").Buffer;
|
|
297
|
+
var e=require("buffer").Buffer,t=require("bn.js"),r=require("miller-rabin"),i=new r,n=new t(24),o=new t(11),s=new t(10),u=new t(3),p=new t(7),h=require("./generatePrime"),f=require("randombytes");function _(r,i){return i=i||"utf8",e.isBuffer(r)||(r=new e(r,i)),this._pub=new t(r),this}function m(r,i){return i=i||"utf8",e.isBuffer(r)||(r=new e(r,i)),this._priv=new t(r),this}module.exports=g;var c={};function a(e,t){var r=t.toString("hex"),f=[r,e.toString(16)].join("_");if(f in c)return c[f];var _,m=0;if(e.isEven()||!h.simpleSieve||!h.fermatTest(e)||!i.test(e))return m+=1,m+="02"===r||"05"===r?8:4,c[f]=m,m;switch(i.test(e.shrn(1))||(m+=2),r){case"02":e.mod(n).cmp(o)&&(m+=8);break;case"05":(_=e.mod(s)).cmp(u)&&_.cmp(p)&&(m+=8);break;default:m+=4}return c[f]=m,m}function g(e,r,i){this.setGenerator(r),this.__prime=new t(e),this._prime=t.mont(this.__prime),this._primeLen=e.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,i?(this.setPublicKey=_,this.setPrivateKey=m):this._primeCode=8}function v(t,r){var i=new e(t.toArray());return r?i.toString(r):i}Object.defineProperty(g.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=a(this.__prime,this.__gen)),this._primeCode}}),g.prototype.generateKeys=function(){return this._priv||(this._priv=new t(f(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},g.prototype.computeSecret=function(r){var i=(r=(r=new t(r)).toRed(this._prime)).redPow(this._priv).fromRed(),n=new e(i.toArray()),o=this.getPrime();if(n.length<o.length){var s=new e(o.length-n.length);s.fill(0),n=e.concat([s,n])}return n},g.prototype.getPublicKey=function(e){return v(this._pub,e)},g.prototype.getPrivateKey=function(e){return v(this._priv,e)},g.prototype.getPrime=function(e){return v(this.__prime,e)},g.prototype.getGenerator=function(e){return v(this._gen,e)},g.prototype.setGenerator=function(r,i){return i=i||"utf8",e.isBuffer(r)||(r=new e(r,i)),this.__gen=r,this._gen=new t(r),this};
|
|
298
|
+
},{"bn.js":"VXic","miller-rabin":"VQun","./generatePrime":"Lj8n","randombytes":"/XJN","buffer":"dskh"}],"9WFL":[function(require,module,exports) {
|
|
299
|
+
var Buffer = require("buffer").Buffer;
|
|
300
|
+
var e=require("buffer").Buffer,r=require("./lib/generatePrime"),i=require("./lib/primes.json"),n=require("./lib/dh");function f(r){var f=new e(i[r].prime,"hex"),a=new e(i[r].gen,"hex");return new n(f,a)}var a={binary:!0,hex:!0,base64:!0};function u(i,f,t,l){return e.isBuffer(f)||void 0===a[f]?u(i,"binary",f,t):(f=f||"binary",l=l||"binary",t=t||new e([2]),e.isBuffer(t)||(t=new e(t,l)),"number"==typeof i?new n(r(i,t),t,!0):(e.isBuffer(i)||(i=new e(i,f)),new n(i,t,!0)))}exports.DiffieHellmanGroup=exports.createDiffieHellmanGroup=exports.getDiffieHellman=f,exports.createDiffieHellman=exports.DiffieHellman=u;
|
|
301
|
+
},{"./lib/generatePrime":"Lj8n","./lib/primes.json":"nq14","./lib/dh":"SXPn","buffer":"dskh"}],"PBOR":[function(require,module,exports) {
|
|
302
|
+
"use strict";var r=require("../../../errors").codes.ERR_INVALID_OPT_VALUE;function e(r,e,t){return null!=r.highWaterMark?r.highWaterMark:e?r[t]:null}function t(t,i,o,a){var n=e(i,a,o);if(null!=n){if(!isFinite(n)||Math.floor(n)!==n||n<0)throw new r(a?o:"highWaterMark",n);return Math.floor(n)}return t.objectMode?16:16384}module.exports={getHighWaterMark:t};
|
|
303
|
+
},{"../../../errors":"6eV+"}],"CFrt":[function(require,module,exports) {
|
|
304
|
+
|
|
305
|
+
var global = arguments[3];
|
|
306
|
+
var process = require("process");
|
|
307
|
+
var e,t=arguments[3],n=require("process");function r(e,t,n){this.chunk=e,this.encoding=t,this.callback=n,this.next=null}function i(e){var t=this;this.next=null,this.entry=null,this.finish=function(){G(t,e)}}module.exports=x,x.WritableState=m;var o={deprecate:require("util-deprecate")},s=require("./internal/streams/stream"),u=require("buffer").Buffer,f=t.Uint8Array||function(){};function a(e){return u.from(e)}function c(e){return u.isBuffer(e)||e instanceof f}var l,d=require("./internal/streams/destroy"),h=require("./internal/streams/state"),b=h.getHighWaterMark,p=require("../errors").codes,y=p.ERR_INVALID_ARG_TYPE,w=p.ERR_METHOD_NOT_IMPLEMENTED,g=p.ERR_MULTIPLE_CALLBACK,_=p.ERR_STREAM_CANNOT_PIPE,R=p.ERR_STREAM_DESTROYED,k=p.ERR_STREAM_NULL_VALUES,E=p.ERR_STREAM_WRITE_AFTER_END,S=p.ERR_UNKNOWN_ENCODING,q=d.errorOrDestroy;function v(){}function m(t,n,r){e=e||require("./_stream_duplex"),t=t||{},"boolean"!=typeof r&&(r=n instanceof e),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=b(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var o=!1===t.decodeStrings;this.decodeStrings=!o,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){O(n,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new i(this)}function x(t){var n=this instanceof(e=e||require("./_stream_duplex"));if(!n&&!l.call(x,this))return new x(t);this._writableState=new m(t,this,n),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),s.call(this)}function M(e,t){var r=new E;q(e,r),n.nextTick(t,r)}function B(e,t,r,i){var o;return null===r?o=new k:"string"==typeof r||t.objectMode||(o=new y("chunk",["string","Buffer"],r)),!o||(q(e,o),n.nextTick(i,o),!1)}function T(e,t,n){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=u.from(t,n)),t}function D(e,t,n,r,i,o){if(!n){var s=T(t,r,i);r!==s&&(n=!0,i="buffer",r=s)}var u=t.objectMode?1:r.length;t.length+=u;var f=t.length<t.highWaterMark;if(f||(t.needDrain=!0),t.writing||t.corked){var a=t.lastBufferedRequest;t.lastBufferedRequest={chunk:r,encoding:i,isBuf:n,callback:o,next:null},a?a.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else P(e,t,!1,u,r,i,o);return f}function P(e,t,n,r,i,o,s){t.writelen=r,t.writecb=s,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new R("write")):n?e._writev(i,t.onwrite):e._write(i,o,t.onwrite),t.sync=!1}function j(e,t,r,i,o){--t.pendingcb,r?(n.nextTick(o,i),n.nextTick(U,e,t),e._writableState.errorEmitted=!0,q(e,i)):(o(i),e._writableState.errorEmitted=!0,q(e,i),U(e,t))}function C(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function O(e,t){var r=e._writableState,i=r.sync,o=r.writecb;if("function"!=typeof o)throw new g;if(C(r),t)j(e,r,i,t,o);else{var s=I(r)||e.destroyed;s||r.corked||r.bufferProcessing||!r.bufferedRequest||N(e,r),i?n.nextTick(A,e,r,s,o):A(e,r,s,o)}}function A(e,t,n,r){n||L(e,t),t.pendingcb--,r(),U(e,t)}function L(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}function N(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var r=t.bufferedRequestCount,o=new Array(r),s=t.corkedRequestsFree;s.entry=n;for(var u=0,f=!0;n;)o[u]=n,n.isBuf||(f=!1),n=n.next,u+=1;o.allBuffers=f,P(e,t,!0,t.length,o,"",s.finish),t.pendingcb++,t.lastBufferedRequest=null,s.next?(t.corkedRequestsFree=s.next,s.next=null):t.corkedRequestsFree=new i(t),t.bufferedRequestCount=0}else{for(;n;){var a=n.chunk,c=n.encoding,l=n.callback;if(P(e,t,!1,t.objectMode?1:a.length,a,c,l),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function I(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function W(e,t){e._final(function(n){t.pendingcb--,n&&q(e,n),t.prefinished=!0,e.emit("prefinish"),U(e,t)})}function F(e,t){t.prefinished||t.finalCalled||("function"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit("prefinish")):(t.pendingcb++,t.finalCalled=!0,n.nextTick(W,e,t)))}function U(e,t){var n=I(t);if(n&&(F(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"),t.autoDestroy))){var r=e._readableState;(!r||r.autoDestroy&&r.endEmitted)&&e.destroy()}return n}function H(e,t,r){t.ending=!0,U(e,t),r&&(t.finished?n.nextTick(r):e.once("finish",r)),t.ended=!0,e.writable=!1}function G(e,t,n){var r=e.entry;for(e.entry=null;r;){var i=r.callback;t.pendingcb--,i(n),r=r.next}t.corkedRequestsFree.next=e}require("inherits")(x,s),m.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(m.prototype,"buffer",{get:o.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(l=Function.prototype[Symbol.hasInstance],Object.defineProperty(x,Symbol.hasInstance,{value:function(e){return!!l.call(this,e)||this===x&&(e&&e._writableState instanceof m)}})):l=function(e){return e instanceof this},x.prototype.pipe=function(){q(this,new _)},x.prototype.write=function(e,t,n){var r=this._writableState,i=!1,o=!r.objectMode&&c(e);return o&&!u.isBuffer(e)&&(e=a(e)),"function"==typeof t&&(n=t,t=null),o?t="buffer":t||(t=r.defaultEncoding),"function"!=typeof n&&(n=v),r.ending?M(this,n):(o||B(this,r,e,n))&&(r.pendingcb++,i=D(this,r,o,e,t,n)),i},x.prototype.cork=function(){this._writableState.corked++},x.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.bufferProcessing||!e.bufferedRequest||N(this,e))},x.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new S(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(x.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(x.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),x.prototype._write=function(e,t,n){n(new w("_write()"))},x.prototype._writev=null,x.prototype.end=function(e,t,n){var r=this._writableState;return"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||H(this,r,n),this},Object.defineProperty(x.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(x.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),x.prototype.destroy=d.destroy,x.prototype._undestroy=d.undestroy,x.prototype._destroy=function(e,t){t(e)};
|
|
308
|
+
},{"util-deprecate":"yM1o","./internal/streams/stream":"8V4J","buffer":"dskh","./internal/streams/destroy":"DoEV","./internal/streams/state":"PBOR","../errors":"6eV+","inherits":"t8EM","./_stream_duplex":"fJIH","process":"pBGv"}],"fJIH":[function(require,module,exports) {
|
|
309
|
+
var process = require("process");
|
|
310
|
+
var e=require("process"),t=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};module.exports=l;var r=require("./_stream_readable"),a=require("./_stream_writable");require("inherits")(l,r);for(var i=t(a.prototype),n=0;n<i.length;n++){var o=i[n];l.prototype[o]||(l.prototype[o]=a.prototype[o])}function l(e){if(!(this instanceof l))return new l(e);r.call(this,e),a.call(this,e),this.allowHalfOpen=!0,e&&(!1===e.readable&&(this.readable=!1),!1===e.writable&&(this.writable=!1),!1===e.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",s)))}function s(){this._writableState.ended||e.nextTick(b,this)}function b(e){e.end()}Object.defineProperty(l.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(l.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(l.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(l.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}});
|
|
311
|
+
},{"./_stream_readable":"BtJo","./_stream_writable":"CFrt","inherits":"t8EM","process":"pBGv"}],"b912":[function(require,module,exports) {
|
|
312
|
+
"use strict";var e=require("../../../errors").codes.ERR_STREAM_PREMATURE_CLOSE;function r(e){var r=!1;return function(){if(!r){r=!0;for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];e.apply(this,n)}}}function t(){}function n(e){return e.setHeader&&"function"==typeof e.abort}function o(i,a,l){if("function"==typeof a)return o(i,null,a);a||(a={}),l=r(l||t);var s=a.readable||!1!==a.readable&&i.readable,c=a.writable||!1!==a.writable&&i.writable,u=function(){i.writable||d()},f=i._writableState&&i._writableState.finished,d=function(){c=!1,f=!0,s||l.call(i)},b=i._readableState&&i._readableState.endEmitted,v=function(){s=!1,b=!0,c||l.call(i)},m=function(e){l.call(i,e)},w=function(){var r;return s&&!b?(i._readableState&&i._readableState.ended||(r=new e),l.call(i,r)):c&&!f?(i._writableState&&i._writableState.ended||(r=new e),l.call(i,r)):void 0},_=function(){i.req.on("finish",d)};return n(i)?(i.on("complete",d),i.on("abort",w),i.req?_():i.on("request",_)):c&&!i._writableState&&(i.on("end",u),i.on("close",u)),i.on("end",v),i.on("finish",d),!1!==a.error&&i.on("error",m),i.on("close",w),function(){i.removeListener("complete",d),i.removeListener("abort",w),i.removeListener("request",_),i.req&&i.req.removeListener("finish",d),i.removeListener("end",u),i.removeListener("close",u),i.removeListener("finish",d),i.removeListener("end",v),i.removeListener("error",m),i.removeListener("close",w)}}module.exports=o;
|
|
313
|
+
},{"../../../errors":"6eV+"}],"aAI+":[function(require,module,exports) {
|
|
314
|
+
var process = require("process");
|
|
315
|
+
var e,n=require("process");function r(e,n,r){return n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}var t=require("./end-of-stream"),l=Symbol("lastResolve"),u=Symbol("lastReject"),i=Symbol("error"),o=Symbol("ended"),a=Symbol("lastPromise"),s=Symbol("handlePromise"),c=Symbol("stream");function f(e,n){return{value:e,done:n}}function v(e){var n=e[l];if(null!==n){var r=e[c].read();null!==r&&(e[a]=null,e[l]=null,e[u]=null,n(f(r,!1)))}}function d(e){n.nextTick(v,e)}function b(e,n){return function(r,t){e.then(function(){n[o]?r(f(void 0,!0)):n[s](r,t)},t)}}var m=Object.getPrototypeOf(function(){}),h=Object.setPrototypeOf((r(e={get stream(){return this[c]},next:function(){var e=this,r=this[i];if(null!==r)return Promise.reject(r);if(this[o])return Promise.resolve(f(void 0,!0));if(this[c].destroyed)return new Promise(function(r,t){n.nextTick(function(){e[i]?t(e[i]):r(f(void 0,!0))})});var t,l=this[a];if(l)t=new Promise(b(l,this));else{var u=this[c].read();if(null!==u)return Promise.resolve(f(u,!1));t=new Promise(this[s])}return this[a]=t,t}},Symbol.asyncIterator,function(){return this}),r(e,"return",function(){var e=this;return new Promise(function(n,r){e[c].destroy(null,function(e){e?r(e):n(f(void 0,!0))})})}),e),m),y=function(e){var n,v=Object.create(h,(r(n={},c,{value:e,writable:!0}),r(n,l,{value:null,writable:!0}),r(n,u,{value:null,writable:!0}),r(n,i,{value:null,writable:!0}),r(n,o,{value:e._readableState.endEmitted,writable:!0}),r(n,s,{value:function(e,n){var r=v[c].read();r?(v[a]=null,v[l]=null,v[u]=null,e(f(r,!1))):(v[l]=e,v[u]=n)},writable:!0}),n));return v[a]=null,t(e,function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var n=v[u];return null!==n&&(v[a]=null,v[l]=null,v[u]=null,n(e)),void(v[i]=e)}var r=v[l];null!==r&&(v[a]=null,v[l]=null,v[u]=null,r(f(void 0,!0))),v[o]=!0}),e.on("readable",d.bind(null,v)),v};module.exports=y;
|
|
316
|
+
},{"./end-of-stream":"b912","process":"pBGv"}],"BtJo":[function(require,module,exports) {
|
|
317
|
+
|
|
318
|
+
var global = arguments[3];
|
|
319
|
+
var process = require("process");
|
|
320
|
+
var e,t=arguments[3],n=require("process");module.exports=j,j.ReadableState=L;var r=require("events").EventEmitter,i=function(e,t){return e.listeners(t).length},a=require("./internal/streams/stream"),d=require("buffer").Buffer,o=t.Uint8Array||function(){};function s(e){return d.from(e)}function l(e){return d.isBuffer(e)||e instanceof o}var u,h=require("util");u=h&&h.debuglog?h.debuglog("stream"):function(){};var p,f,c,b=require("./internal/streams/buffer_list"),g=require("./internal/streams/destroy"),m=require("./internal/streams/state"),y=m.getHighWaterMark,_=require("../errors").codes,v=_.ERR_INVALID_ARG_TYPE,w=_.ERR_STREAM_PUSH_AFTER_EOF,S=_.ERR_METHOD_NOT_IMPLEMENTED,R=_.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;require("inherits")(j,a);var M=g.errorOrDestroy,E=["error","close","destroy","pause","resume"];function k(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}function L(t,n,r){e=e||require("./_stream_duplex"),t=t||{},"boolean"!=typeof r&&(r=n instanceof e),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=y(this,t,"readableHighWaterMark",r),this.buffer=new b,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(p||(p=require("string_decoder/").StringDecoder),this.decoder=new p(t.encoding),this.encoding=t.encoding)}function j(t){if(e=e||require("./_stream_duplex"),!(this instanceof j))return new j(t);var n=this instanceof e;this._readableState=new L(t,this,n),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),a.call(this)}function D(e,t,n,r,i){u("readableAddChunk",t);var a,o=e._readableState;if(null===t)o.reading=!1,A(e,o);else if(i||(a=T(o,t)),a)M(e,a);else if(o.objectMode||t&&t.length>0)if("string"==typeof t||o.objectMode||Object.getPrototypeOf(t)===d.prototype||(t=s(t)),r)o.endEmitted?M(e,new R):C(e,o,t,!0);else if(o.ended)M(e,new w);else{if(o.destroyed)return!1;o.reading=!1,o.decoder&&!n?(t=o.decoder.write(t),o.objectMode||0!==t.length?C(e,o,t,!1):U(e,o)):C(e,o,t,!1)}else r||(o.reading=!1,U(e,o));return!o.ended&&(o.length<o.highWaterMark||0===o.length)}function C(e,t,n,r){t.flowing&&0===t.length&&!t.sync?(t.awaitDrain=0,e.emit("data",n)):(t.length+=t.objectMode?1:n.length,r?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&O(e)),U(e,t)}function T(e,t){var n;return l(t)||"string"==typeof t||void 0===t||e.objectMode||(n=new v("chunk",["string","Buffer","Uint8Array"],t)),n}Object.defineProperty(j.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),j.prototype.destroy=g.destroy,j.prototype._undestroy=g.undestroy,j.prototype._destroy=function(e,t){t(e)},j.prototype.push=function(e,t){var n,r=this._readableState;return r.objectMode?n=!0:"string"==typeof e&&((t=t||r.defaultEncoding)!==r.encoding&&(e=d.from(e,t),t=""),n=!0),D(this,e,t,!1,n)},j.prototype.unshift=function(e){return D(this,e,null,!0,!1)},j.prototype.isPaused=function(){return!1===this._readableState.flowing},j.prototype.setEncoding=function(e){p||(p=require("string_decoder/").StringDecoder);var t=new p(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;for(var n=this._readableState.buffer.head,r="";null!==n;)r+=t.write(n.data),n=n.next;return this._readableState.buffer.clear(),""!==r&&this._readableState.buffer.push(r),this._readableState.length=r.length,this};var q=1073741824;function W(e){return e>=q?e=q:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function x(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=W(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function A(e,t){if(u("onEofChunk"),!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,t.sync?O(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,P(e)))}}function O(e){var t=e._readableState;u("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(u("emitReadable",t.flowing),t.emittedReadable=!0,n.nextTick(P,e))}function P(e){var t=e._readableState;u("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,G(e)}function U(e,t){t.readingMore||(t.readingMore=!0,n.nextTick(N,e,t))}function N(e,t){for(;!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&0===t.length);){var n=t.length;if(u("maybeReadMore read 0"),e.read(0),n===t.length)break}t.readingMore=!1}function H(e){return function(){var t=e._readableState;u("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&i(e,"data")&&(t.flowing=!0,G(e))}}function I(e){var t=e._readableState;t.readableListening=e.listenerCount("readable")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function F(e){u("readable nexttick read 0"),e.read(0)}function B(e,t){t.resumeScheduled||(t.resumeScheduled=!0,n.nextTick(V,e,t))}function V(e,t){u("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),G(e),t.flowing&&!t.reading&&e.read(0)}function G(e){var t=e._readableState;for(u("flow",t.flowing);t.flowing&&null!==e.read(););}function Y(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):n=t.buffer.consume(e,t.decoder),n);var n}function z(e){var t=e._readableState;u("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,n.nextTick(J,t,e))}function J(e,t){if(u("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var n=t._writableState;(!n||n.autoDestroy&&n.finished)&&t.destroy()}}function K(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}j.prototype.read=function(e){u("read",e),e=parseInt(e,10);var t=this._readableState,n=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&((0!==t.highWaterMark?t.length>=t.highWaterMark:t.length>0)||t.ended))return u("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?z(this):O(this),null;if(0===(e=x(e,t))&&t.ended)return 0===t.length&&z(this),null;var r,i=t.needReadable;return u("need readable",i),(0===t.length||t.length-e<t.highWaterMark)&&u("length less than watermark",i=!0),t.ended||t.reading?u("reading or ended",i=!1):i&&(u("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=x(n,t))),null===(r=e>0?Y(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&z(this)),null!==r&&this.emit("data",r),r},j.prototype._read=function(e){M(this,new S("_read()"))},j.prototype.pipe=function(e,t){var r=this,a=this._readableState;switch(a.pipesCount){case 0:a.pipes=e;break;case 1:a.pipes=[a.pipes,e];break;default:a.pipes.push(e)}a.pipesCount+=1,u("pipe count=%d opts=%j",a.pipesCount,t);var d=(!t||!1!==t.end)&&e!==n.stdout&&e!==n.stderr?s:g;function o(t,n){u("onunpipe"),t===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,u("cleanup"),e.removeListener("close",c),e.removeListener("finish",b),e.removeListener("drain",l),e.removeListener("error",f),e.removeListener("unpipe",o),r.removeListener("end",s),r.removeListener("end",g),r.removeListener("data",p),h=!0,!a.awaitDrain||e._writableState&&!e._writableState.needDrain||l())}function s(){u("onend"),e.end()}a.endEmitted?n.nextTick(d):r.once("end",d),e.on("unpipe",o);var l=H(r);e.on("drain",l);var h=!1;function p(t){u("ondata");var n=e.write(t);u("dest.write",n),!1===n&&((1===a.pipesCount&&a.pipes===e||a.pipesCount>1&&-1!==K(a.pipes,e))&&!h&&(u("false write response, pause",a.awaitDrain),a.awaitDrain++),r.pause())}function f(t){u("onerror",t),g(),e.removeListener("error",f),0===i(e,"error")&&M(e,t)}function c(){e.removeListener("finish",b),g()}function b(){u("onfinish"),e.removeListener("close",c),g()}function g(){u("unpipe"),r.unpipe(e)}return r.on("data",p),k(e,"error",f),e.once("close",c),e.once("finish",b),e.emit("pipe",r),a.flowing||(u("pipe resume"),r.resume()),e},j.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n),this);if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a<i;a++)r[a].emit("unpipe",this,{hasUnpiped:!1});return this}var d=K(t.pipes,e);return-1===d?this:(t.pipes.splice(d,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,n),this)},j.prototype.on=function(e,t){var r=a.prototype.on.call(this,e,t),i=this._readableState;return"data"===e?(i.readableListening=this.listenerCount("readable")>0,!1!==i.flowing&&this.resume()):"readable"===e&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,u("on readable",i.length,i.reading),i.length?O(this):i.reading||n.nextTick(F,this))),r},j.prototype.addListener=j.prototype.on,j.prototype.removeListener=function(e,t){var r=a.prototype.removeListener.call(this,e,t);return"readable"===e&&n.nextTick(I,this),r},j.prototype.removeAllListeners=function(e){var t=a.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||n.nextTick(I,this),t},j.prototype.resume=function(){var e=this._readableState;return e.flowing||(u("resume"),e.flowing=!e.readableListening,B(this,e)),e.paused=!1,this},j.prototype.pause=function(){return u("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(u("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},j.prototype.wrap=function(e){var t=this,n=this._readableState,r=!1;for(var i in e.on("end",function(){if(u("wrapped end"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on("data",function(i){(u("wrapped data"),n.decoder&&(i=n.decoder.write(i)),n.objectMode&&null==i)||(n.objectMode||i&&i.length)&&(t.push(i)||(r=!0,e.pause()))}),e)void 0===this[i]&&"function"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var a=0;a<E.length;a++)e.on(E[a],this.emit.bind(this,E[a]));return this._read=function(t){u("wrapped _read",t),r&&(r=!1,e.resume())},this},"function"==typeof Symbol&&(j.prototype[Symbol.asyncIterator]=function(){return void 0===f&&(f=require("./internal/streams/async_iterator")),f(this)}),Object.defineProperty(j.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(j.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(j.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}}),j._fromList=Y,Object.defineProperty(j.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),"function"==typeof Symbol&&(j.from=function(e,t){return void 0===c&&(c=require("./internal/streams/from")),c(j,e,t)});
|
|
321
|
+
},{"events":"FRpO","./internal/streams/stream":"8V4J","buffer":"dskh","util":"f88W","./internal/streams/buffer_list":"bUoY","./internal/streams/destroy":"DoEV","./internal/streams/state":"PBOR","../errors":"6eV+","inherits":"t8EM","./_stream_duplex":"fJIH","string_decoder/":"z0rv","./internal/streams/async_iterator":"aAI+","./internal/streams/from":"pIwT","process":"pBGv"}],"krU2":[function(require,module,exports) {
|
|
322
|
+
"use strict";module.exports=o;var t=require("../errors").codes,r=t.ERR_METHOD_NOT_IMPLEMENTED,e=t.ERR_MULTIPLE_CALLBACK,n=t.ERR_TRANSFORM_ALREADY_TRANSFORMING,i=t.ERR_TRANSFORM_WITH_LENGTH_0,a=require("./_stream_duplex");function s(t,r){var n=this._transformState;n.transforming=!1;var i=n.writecb;if(null===i)return this.emit("error",new e);n.writechunk=null,n.writecb=null,null!=r&&this.push(r),i(t);var a=this._readableState;a.reading=!1,(a.needReadable||a.length<a.highWaterMark)&&this._read(a.highWaterMark)}function o(t){if(!(this instanceof o))return new o(t);a.call(this,t),this._transformState={afterTransform:s.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&("function"==typeof t.transform&&(this._transform=t.transform),"function"==typeof t.flush&&(this._flush=t.flush)),this.on("prefinish",h)}function h(){var t=this;"function"!=typeof this._flush||this._readableState.destroyed?f(this,null,null):this._flush(function(r,e){f(t,r,e)})}function f(t,r,e){if(r)return t.emit("error",r);if(null!=e&&t.push(e),t._writableState.length)throw new i;if(t._transformState.transforming)throw new n;return t.push(null)}require("inherits")(o,a),o.prototype.push=function(t,r){return this._transformState.needTransform=!1,a.prototype.push.call(this,t,r)},o.prototype._transform=function(t,e,n){n(new r("_transform()"))},o.prototype._write=function(t,r,e){var n=this._transformState;if(n.writecb=e,n.writechunk=t,n.writeencoding=r,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},o.prototype._read=function(t){var r=this._transformState;null===r.writechunk||r.transforming?r.needTransform=!0:(r.transforming=!0,this._transform(r.writechunk,r.writeencoding,r.afterTransform))},o.prototype._destroy=function(t,r){a.prototype._destroy.call(this,t,function(t){r(t)})};
|
|
323
|
+
},{"../errors":"6eV+","./_stream_duplex":"fJIH","inherits":"t8EM"}],"50fq":[function(require,module,exports) {
|
|
324
|
+
"use strict";module.exports=t;var r=require("./_stream_transform");function t(e){if(!(this instanceof t))return new t(e);r.call(this,e)}require("inherits")(t,r),t.prototype._transform=function(r,t,e){e(null,r)};
|
|
325
|
+
},{"./_stream_transform":"krU2","inherits":"t8EM"}],"4CFn":[function(require,module,exports) {
|
|
326
|
+
"use strict";var r;function n(r){var n=!1;return function(){n||(n=!0,r.apply(void 0,arguments))}}var t=require("../../../errors").codes,e=t.ERR_MISSING_ARGS,o=t.ERR_STREAM_DESTROYED;function i(r){if(r)throw r}function u(r){return r.setHeader&&"function"==typeof r.abort}function f(t,e,i,f){f=n(f);var a=!1;t.on("close",function(){a=!0}),void 0===r&&(r=require("./end-of-stream")),r(t,{readable:e,writable:i},function(r){if(r)return f(r);a=!0,f()});var c=!1;return function(r){if(!a&&!c)return c=!0,u(t)?t.abort():"function"==typeof t.destroy?t.destroy():void f(r||new o("pipe"))}}function a(r){r()}function c(r,n){return r.pipe(n)}function p(r){return r.length?"function"!=typeof r[r.length-1]?i:r.pop():i}function s(){for(var r=arguments.length,n=new Array(r),t=0;t<r;t++)n[t]=arguments[t];var o,i=p(n);if(Array.isArray(n[0])&&(n=n[0]),n.length<2)throw new e("streams");var u=n.map(function(r,t){var e=t<n.length-1;return f(r,e,t>0,function(r){o||(o=r),r&&u.forEach(a),e||(u.forEach(a),i(o))})});return n.reduce(c)}module.exports=s;
|
|
327
|
+
},{"../../../errors":"6eV+","./end-of-stream":"b912"}],"TgzV":[function(require,module,exports) {
|
|
328
|
+
exports=module.exports=require("./lib/_stream_readable.js"),exports.Stream=exports,exports.Readable=exports,exports.Writable=require("./lib/_stream_writable.js"),exports.Duplex=require("./lib/_stream_duplex.js"),exports.Transform=require("./lib/_stream_transform.js"),exports.PassThrough=require("./lib/_stream_passthrough.js"),exports.finished=require("./lib/internal/streams/end-of-stream.js"),exports.pipeline=require("./lib/internal/streams/pipeline.js");
|
|
329
|
+
},{"./lib/_stream_readable.js":"BtJo","./lib/_stream_writable.js":"CFrt","./lib/_stream_duplex.js":"fJIH","./lib/_stream_transform.js":"krU2","./lib/_stream_passthrough.js":"50fq","./lib/internal/streams/end-of-stream.js":"b912","./lib/internal/streams/pipeline.js":"4CFn"}],"BOxy":[function(require,module,exports) {
|
|
330
|
+
var Buffer = require("buffer").Buffer;
|
|
331
|
+
var t=require("buffer").Buffer;!function(t,i){"use strict";function r(t,i){if(!t)throw new Error(i||"Assertion failed")}function n(t,i){t.super_=i;var r=function(){};r.prototype=i.prototype,t.prototype=new r,t.prototype.constructor=t}function h(t,i,r){if(h.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==i&&"be"!==i||(r=i,i=10),this._init(t||0,i||10,r||"be"))}var e;"object"==typeof t?t.exports=h:i.BN=h,h.BN=h,h.wordSize=26;try{e="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:require("buffer").Buffer}catch(B){}function o(t,i){var n=t.charCodeAt(i);return n>=48&&n<=57?n-48:n>=65&&n<=70?n-55:n>=97&&n<=102?n-87:void r(!1,"Invalid character in "+t)}function s(t,i,r){var n=o(t,r);return r-1>=i&&(n|=o(t,r-1)<<4),n}function u(t,i,n,h){for(var e=0,o=0,s=Math.min(t.length,n),u=i;u<s;u++){var a=t.charCodeAt(u)-48;e*=h,o=a>=49?a-49+10:a>=17?a-17+10:a,r(a>=0&&o<h,"Invalid character"),e+=o}return e}function a(t,i){t.words=i.words,t.length=i.length,t.negative=i.negative,t.red=i.red}if(h.isBN=function(t){return t instanceof h||null!==t&&"object"==typeof t&&t.constructor.wordSize===h.wordSize&&Array.isArray(t.words)},h.max=function(t,i){return t.cmp(i)>0?t:i},h.min=function(t,i){return t.cmp(i)<0?t:i},h.prototype._init=function(t,i,n){if("number"==typeof t)return this._initNumber(t,i,n);if("object"==typeof t)return this._initArray(t,i,n);"hex"===i&&(i=16),r(i===(0|i)&&i>=2&&i<=36);var h=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(h++,this.negative=1),h<t.length&&(16===i?this._parseHex(t,h,n):(this._parseBase(t,i,h),"le"===n&&this._initArray(this.toArray(),i,n)))},h.prototype._initNumber=function(t,i,n){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),i,n)},h.prototype._initArray=function(t,i,n){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var h=0;h<this.length;h++)this.words[h]=0;var e,o,s=0;if("be"===n)for(h=t.length-1,e=0;h>=0;h-=3)o=t[h]|t[h-1]<<8|t[h-2]<<16,this.words[e]|=o<<s&67108863,this.words[e+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,e++);else if("le"===n)for(h=0,e=0;h<t.length;h+=3)o=t[h]|t[h+1]<<8|t[h+2]<<16,this.words[e]|=o<<s&67108863,this.words[e+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,e++);return this._strip()},h.prototype._parseHex=function(t,i,r){this.length=Math.ceil((t.length-i)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var h,e=0,o=0;if("be"===r)for(n=t.length-1;n>=i;n-=2)h=s(t,i,n)<<e,this.words[o]|=67108863&h,e>=18?(e-=18,o+=1,this.words[o]|=h>>>26):e+=8;else for(n=(t.length-i)%2==0?i+1:i;n<t.length;n+=2)h=s(t,i,n)<<e,this.words[o]|=67108863&h,e>=18?(e-=18,o+=1,this.words[o]|=h>>>26):e+=8;this._strip()},h.prototype._parseBase=function(t,i,r){this.words=[0],this.length=1;for(var n=0,h=1;h<=67108863;h*=i)n++;n--,h=h/i|0;for(var e=t.length-r,o=e%n,s=Math.min(e,e-o)+r,a=0,l=r;l<s;l+=n)a=u(t,l,l+n,i),this.imuln(h),this.words[0]+a<67108864?this.words[0]+=a:this._iaddn(a);if(0!==o){var m=1;for(a=u(t,l,t.length,i),l=0;l<o;l++)m*=i;this.imuln(m),this.words[0]+a<67108864?this.words[0]+=a:this._iaddn(a)}this._strip()},h.prototype.copy=function(t){t.words=new Array(this.length);for(var i=0;i<this.length;i++)t.words[i]=this.words[i];t.length=this.length,t.negative=this.negative,t.red=this.red},h.prototype._move=function(t){a(t,this)},h.prototype.clone=function(){var t=new h(null);return this.copy(t),t},h.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},h.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},h.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{h.prototype[Symbol.for("nodejs.util.inspect.custom")]=l}catch(B){h.prototype.inspect=l}else h.prototype.inspect=l;function l(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var m=["","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"],f=[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];h.prototype.toString=function(t,i){var n;if(i=0|i||1,16===(t=t||10)||"hex"===t){n="";for(var h=0,e=0,o=0;o<this.length;o++){var s=this.words[o],u=(16777215&(s<<h|e)).toString(16);n=0!==(e=s>>>24-h&16777215)||o!==this.length-1?m[6-u.length]+u+n:u+n,(h+=2)>=26&&(h-=26,o--)}for(0!==e&&(n=e.toString(16)+n);n.length%i!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(t===(0|t)&&t>=2&&t<=36){var a=f[t],l=d[t];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var M=p.modrn(l).toString(t);n=(p=p.idivn(l)).isZero()?M+n:m[a-M.length]+M+n}for(this.isZero()&&(n="0"+n);n.length%i!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},h.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},h.prototype.toJSON=function(){return this.toString(16,2)},e&&(h.prototype.toBuffer=function(t,i){return this.toArrayLike(e,t,i)}),h.prototype.toArray=function(t,i){return this.toArrayLike(Array,t,i)};function p(t,i,r){r.negative=i.negative^t.negative;var n=t.length+i.length|0;r.length=n,n=n-1|0;var h=0|t.words[0],e=0|i.words[0],o=h*e,s=67108863&o,u=o/67108864|0;r.words[0]=s;for(var a=1;a<n;a++){for(var l=u>>>26,m=67108863&u,f=Math.min(a,i.length-1),d=Math.max(0,a-t.length+1);d<=f;d++){var p=a-d|0;l+=(o=(h=0|t.words[p])*(e=0|i.words[d])+m)/67108864|0,m=67108863&o}r.words[a]=0|m,u=0|l}return 0!==u?r.words[a]=0|u:r.length--,r._strip()}h.prototype.toArrayLike=function(t,i,n){this._strip();var h=this.byteLength(),e=n||Math.max(1,h);r(h<=e,"byte array longer than desired length"),r(e>0,"Requested array length <= 0");var o=function(t,i){return t.allocUnsafe?t.allocUnsafe(i):new t(i)}(t,e);return this["_toArrayLike"+("le"===i?"LE":"BE")](o,h),o},h.prototype._toArrayLikeLE=function(t,i){for(var r=0,n=0,h=0,e=0;h<this.length;h++){var o=this.words[h]<<e|n;t[r++]=255&o,r<t.length&&(t[r++]=o>>8&255),r<t.length&&(t[r++]=o>>16&255),6===e?(r<t.length&&(t[r++]=o>>24&255),n=0,e=0):(n=o>>>24,e+=2)}if(r<t.length)for(t[r++]=n;r<t.length;)t[r++]=0},h.prototype._toArrayLikeBE=function(t,i){for(var r=t.length-1,n=0,h=0,e=0;h<this.length;h++){var o=this.words[h]<<e|n;t[r--]=255&o,r>=0&&(t[r--]=o>>8&255),r>=0&&(t[r--]=o>>16&255),6===e?(r>=0&&(t[r--]=o>>24&255),n=0,e=0):(n=o>>>24,e+=2)}if(r>=0)for(t[r--]=n;r>=0;)t[r--]=0},Math.clz32?h.prototype._countBits=function(t){return 32-Math.clz32(t)}:h.prototype._countBits=function(t){var i=t,r=0;return i>=4096&&(r+=13,i>>>=13),i>=64&&(r+=7,i>>>=7),i>=8&&(r+=4,i>>>=4),i>=2&&(r+=2,i>>>=2),r+i},h.prototype._zeroBits=function(t){if(0===t)return 26;var i=t,r=0;return 0==(8191&i)&&(r+=13,i>>>=13),0==(127&i)&&(r+=7,i>>>=7),0==(15&i)&&(r+=4,i>>>=4),0==(3&i)&&(r+=2,i>>>=2),0==(1&i)&&r++,r},h.prototype.bitLength=function(){var t=this.words[this.length-1],i=this._countBits(t);return 26*(this.length-1)+i},h.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,i=0;i<this.length;i++){var r=this._zeroBits(this.words[i]);if(t+=r,26!==r)break}return t},h.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},h.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},h.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},h.prototype.isNeg=function(){return 0!==this.negative},h.prototype.neg=function(){return this.clone().ineg()},h.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},h.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var i=0;i<t.length;i++)this.words[i]=this.words[i]|t.words[i];return this._strip()},h.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},h.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},h.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},h.prototype.iuand=function(t){var i;i=this.length>t.length?t:this;for(var r=0;r<i.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=i.length,this._strip()},h.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},h.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},h.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},h.prototype.iuxor=function(t){var i,r;this.length>t.length?(i=this,r=t):(i=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=i.words[n]^r.words[n];if(this!==i)for(;n<i.length;n++)this.words[n]=i.words[n];return this.length=i.length,this._strip()},h.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},h.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},h.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},h.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var i=0|Math.ceil(t/26),n=t%26;this._expand(i),n>0&&i--;for(var h=0;h<i;h++)this.words[h]=67108863&~this.words[h];return n>0&&(this.words[h]=~this.words[h]&67108863>>26-n),this._strip()},h.prototype.notn=function(t){return this.clone().inotn(t)},h.prototype.setn=function(t,i){r("number"==typeof t&&t>=0);var n=t/26|0,h=t%26;return this._expand(n+1),this.words[n]=i?this.words[n]|1<<h:this.words[n]&~(1<<h),this._strip()},h.prototype.iadd=function(t){var i,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,i=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,i=this.isub(t),t.negative=1,i._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var h=0,e=0;e<n.length;e++)i=(0|r.words[e])+(0|n.words[e])+h,this.words[e]=67108863&i,h=i>>>26;for(;0!==h&&e<r.length;e++)i=(0|r.words[e])+h,this.words[e]=67108863&i,h=i>>>26;if(this.length=r.length,0!==h)this.words[this.length]=h,this.length++;else if(r!==this)for(;e<r.length;e++)this.words[e]=r.words[e];return this},h.prototype.add=function(t){var i;return 0!==t.negative&&0===this.negative?(t.negative=0,i=this.sub(t),t.negative^=1,i):0===t.negative&&0!==this.negative?(this.negative=0,i=t.sub(this),this.negative=1,i):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},h.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var i=this.iadd(t);return t.negative=1,i._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,h=this.cmp(t);if(0===h)return this.negative=0,this.length=1,this.words[0]=0,this;h>0?(r=this,n=t):(r=t,n=this);for(var e=0,o=0;o<n.length;o++)e=(i=(0|r.words[o])-(0|n.words[o])+e)>>26,this.words[o]=67108863&i;for(;0!==e&&o<r.length;o++)e=(i=(0|r.words[o])+e)>>26,this.words[o]=67108863&i;if(0===e&&o<r.length&&r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this.length=Math.max(this.length,o),r!==this&&(this.negative=1),this._strip()},h.prototype.sub=function(t){return this.clone().isub(t)};var M=function(t,i,r){var n,h,e,o=t.words,s=i.words,u=r.words,a=0,l=0|o[0],m=8191&l,f=l>>>13,d=0|o[1],p=8191&d,M=d>>>13,v=0|o[2],g=8191&v,c=v>>>13,w=0|o[3],y=8191&w,b=w>>>13,_=0|o[4],k=8191&_,A=_>>>13,S=0|o[5],x=8191&S,B=S>>>13,q=0|o[6],R=8191&q,Z=q>>>13,L=0|o[7],N=8191&L,I=L>>>13,E=0|o[8],z=8191&E,T=E>>>13,O=0|o[9],j=8191&O,K=O>>>13,P=0|s[0],F=8191&P,U=P>>>13,C=0|s[1],D=8191&C,H=C>>>13,J=0|s[2],G=8191&J,Q=J>>>13,V=0|s[3],W=8191&V,X=V>>>13,Y=0|s[4],$=8191&Y,tt=Y>>>13,it=0|s[5],rt=8191&it,nt=it>>>13,ht=0|s[6],et=8191&ht,ot=ht>>>13,st=0|s[7],ut=8191&st,at=st>>>13,lt=0|s[8],mt=8191<,ft=lt>>>13,dt=0|s[9],pt=8191&dt,Mt=dt>>>13;r.negative=t.negative^i.negative,r.length=19;var vt=(a+(n=Math.imul(m,F))|0)+((8191&(h=(h=Math.imul(m,U))+Math.imul(f,F)|0))<<13)|0;a=((e=Math.imul(f,U))+(h>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(p,F),h=(h=Math.imul(p,U))+Math.imul(M,F)|0,e=Math.imul(M,U);var gt=(a+(n=n+Math.imul(m,D)|0)|0)+((8191&(h=(h=h+Math.imul(m,H)|0)+Math.imul(f,D)|0))<<13)|0;a=((e=e+Math.imul(f,H)|0)+(h>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(g,F),h=(h=Math.imul(g,U))+Math.imul(c,F)|0,e=Math.imul(c,U),n=n+Math.imul(p,D)|0,h=(h=h+Math.imul(p,H)|0)+Math.imul(M,D)|0,e=e+Math.imul(M,H)|0;var ct=(a+(n=n+Math.imul(m,G)|0)|0)+((8191&(h=(h=h+Math.imul(m,Q)|0)+Math.imul(f,G)|0))<<13)|0;a=((e=e+Math.imul(f,Q)|0)+(h>>>13)|0)+(ct>>>26)|0,ct&=67108863,n=Math.imul(y,F),h=(h=Math.imul(y,U))+Math.imul(b,F)|0,e=Math.imul(b,U),n=n+Math.imul(g,D)|0,h=(h=h+Math.imul(g,H)|0)+Math.imul(c,D)|0,e=e+Math.imul(c,H)|0,n=n+Math.imul(p,G)|0,h=(h=h+Math.imul(p,Q)|0)+Math.imul(M,G)|0,e=e+Math.imul(M,Q)|0;var wt=(a+(n=n+Math.imul(m,W)|0)|0)+((8191&(h=(h=h+Math.imul(m,X)|0)+Math.imul(f,W)|0))<<13)|0;a=((e=e+Math.imul(f,X)|0)+(h>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(k,F),h=(h=Math.imul(k,U))+Math.imul(A,F)|0,e=Math.imul(A,U),n=n+Math.imul(y,D)|0,h=(h=h+Math.imul(y,H)|0)+Math.imul(b,D)|0,e=e+Math.imul(b,H)|0,n=n+Math.imul(g,G)|0,h=(h=h+Math.imul(g,Q)|0)+Math.imul(c,G)|0,e=e+Math.imul(c,Q)|0,n=n+Math.imul(p,W)|0,h=(h=h+Math.imul(p,X)|0)+Math.imul(M,W)|0,e=e+Math.imul(M,X)|0;var yt=(a+(n=n+Math.imul(m,$)|0)|0)+((8191&(h=(h=h+Math.imul(m,tt)|0)+Math.imul(f,$)|0))<<13)|0;a=((e=e+Math.imul(f,tt)|0)+(h>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(x,F),h=(h=Math.imul(x,U))+Math.imul(B,F)|0,e=Math.imul(B,U),n=n+Math.imul(k,D)|0,h=(h=h+Math.imul(k,H)|0)+Math.imul(A,D)|0,e=e+Math.imul(A,H)|0,n=n+Math.imul(y,G)|0,h=(h=h+Math.imul(y,Q)|0)+Math.imul(b,G)|0,e=e+Math.imul(b,Q)|0,n=n+Math.imul(g,W)|0,h=(h=h+Math.imul(g,X)|0)+Math.imul(c,W)|0,e=e+Math.imul(c,X)|0,n=n+Math.imul(p,$)|0,h=(h=h+Math.imul(p,tt)|0)+Math.imul(M,$)|0,e=e+Math.imul(M,tt)|0;var bt=(a+(n=n+Math.imul(m,rt)|0)|0)+((8191&(h=(h=h+Math.imul(m,nt)|0)+Math.imul(f,rt)|0))<<13)|0;a=((e=e+Math.imul(f,nt)|0)+(h>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(R,F),h=(h=Math.imul(R,U))+Math.imul(Z,F)|0,e=Math.imul(Z,U),n=n+Math.imul(x,D)|0,h=(h=h+Math.imul(x,H)|0)+Math.imul(B,D)|0,e=e+Math.imul(B,H)|0,n=n+Math.imul(k,G)|0,h=(h=h+Math.imul(k,Q)|0)+Math.imul(A,G)|0,e=e+Math.imul(A,Q)|0,n=n+Math.imul(y,W)|0,h=(h=h+Math.imul(y,X)|0)+Math.imul(b,W)|0,e=e+Math.imul(b,X)|0,n=n+Math.imul(g,$)|0,h=(h=h+Math.imul(g,tt)|0)+Math.imul(c,$)|0,e=e+Math.imul(c,tt)|0,n=n+Math.imul(p,rt)|0,h=(h=h+Math.imul(p,nt)|0)+Math.imul(M,rt)|0,e=e+Math.imul(M,nt)|0;var _t=(a+(n=n+Math.imul(m,et)|0)|0)+((8191&(h=(h=h+Math.imul(m,ot)|0)+Math.imul(f,et)|0))<<13)|0;a=((e=e+Math.imul(f,ot)|0)+(h>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(N,F),h=(h=Math.imul(N,U))+Math.imul(I,F)|0,e=Math.imul(I,U),n=n+Math.imul(R,D)|0,h=(h=h+Math.imul(R,H)|0)+Math.imul(Z,D)|0,e=e+Math.imul(Z,H)|0,n=n+Math.imul(x,G)|0,h=(h=h+Math.imul(x,Q)|0)+Math.imul(B,G)|0,e=e+Math.imul(B,Q)|0,n=n+Math.imul(k,W)|0,h=(h=h+Math.imul(k,X)|0)+Math.imul(A,W)|0,e=e+Math.imul(A,X)|0,n=n+Math.imul(y,$)|0,h=(h=h+Math.imul(y,tt)|0)+Math.imul(b,$)|0,e=e+Math.imul(b,tt)|0,n=n+Math.imul(g,rt)|0,h=(h=h+Math.imul(g,nt)|0)+Math.imul(c,rt)|0,e=e+Math.imul(c,nt)|0,n=n+Math.imul(p,et)|0,h=(h=h+Math.imul(p,ot)|0)+Math.imul(M,et)|0,e=e+Math.imul(M,ot)|0;var kt=(a+(n=n+Math.imul(m,ut)|0)|0)+((8191&(h=(h=h+Math.imul(m,at)|0)+Math.imul(f,ut)|0))<<13)|0;a=((e=e+Math.imul(f,at)|0)+(h>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(z,F),h=(h=Math.imul(z,U))+Math.imul(T,F)|0,e=Math.imul(T,U),n=n+Math.imul(N,D)|0,h=(h=h+Math.imul(N,H)|0)+Math.imul(I,D)|0,e=e+Math.imul(I,H)|0,n=n+Math.imul(R,G)|0,h=(h=h+Math.imul(R,Q)|0)+Math.imul(Z,G)|0,e=e+Math.imul(Z,Q)|0,n=n+Math.imul(x,W)|0,h=(h=h+Math.imul(x,X)|0)+Math.imul(B,W)|0,e=e+Math.imul(B,X)|0,n=n+Math.imul(k,$)|0,h=(h=h+Math.imul(k,tt)|0)+Math.imul(A,$)|0,e=e+Math.imul(A,tt)|0,n=n+Math.imul(y,rt)|0,h=(h=h+Math.imul(y,nt)|0)+Math.imul(b,rt)|0,e=e+Math.imul(b,nt)|0,n=n+Math.imul(g,et)|0,h=(h=h+Math.imul(g,ot)|0)+Math.imul(c,et)|0,e=e+Math.imul(c,ot)|0,n=n+Math.imul(p,ut)|0,h=(h=h+Math.imul(p,at)|0)+Math.imul(M,ut)|0,e=e+Math.imul(M,at)|0;var At=(a+(n=n+Math.imul(m,mt)|0)|0)+((8191&(h=(h=h+Math.imul(m,ft)|0)+Math.imul(f,mt)|0))<<13)|0;a=((e=e+Math.imul(f,ft)|0)+(h>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(j,F),h=(h=Math.imul(j,U))+Math.imul(K,F)|0,e=Math.imul(K,U),n=n+Math.imul(z,D)|0,h=(h=h+Math.imul(z,H)|0)+Math.imul(T,D)|0,e=e+Math.imul(T,H)|0,n=n+Math.imul(N,G)|0,h=(h=h+Math.imul(N,Q)|0)+Math.imul(I,G)|0,e=e+Math.imul(I,Q)|0,n=n+Math.imul(R,W)|0,h=(h=h+Math.imul(R,X)|0)+Math.imul(Z,W)|0,e=e+Math.imul(Z,X)|0,n=n+Math.imul(x,$)|0,h=(h=h+Math.imul(x,tt)|0)+Math.imul(B,$)|0,e=e+Math.imul(B,tt)|0,n=n+Math.imul(k,rt)|0,h=(h=h+Math.imul(k,nt)|0)+Math.imul(A,rt)|0,e=e+Math.imul(A,nt)|0,n=n+Math.imul(y,et)|0,h=(h=h+Math.imul(y,ot)|0)+Math.imul(b,et)|0,e=e+Math.imul(b,ot)|0,n=n+Math.imul(g,ut)|0,h=(h=h+Math.imul(g,at)|0)+Math.imul(c,ut)|0,e=e+Math.imul(c,at)|0,n=n+Math.imul(p,mt)|0,h=(h=h+Math.imul(p,ft)|0)+Math.imul(M,mt)|0,e=e+Math.imul(M,ft)|0;var St=(a+(n=n+Math.imul(m,pt)|0)|0)+((8191&(h=(h=h+Math.imul(m,Mt)|0)+Math.imul(f,pt)|0))<<13)|0;a=((e=e+Math.imul(f,Mt)|0)+(h>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(j,D),h=(h=Math.imul(j,H))+Math.imul(K,D)|0,e=Math.imul(K,H),n=n+Math.imul(z,G)|0,h=(h=h+Math.imul(z,Q)|0)+Math.imul(T,G)|0,e=e+Math.imul(T,Q)|0,n=n+Math.imul(N,W)|0,h=(h=h+Math.imul(N,X)|0)+Math.imul(I,W)|0,e=e+Math.imul(I,X)|0,n=n+Math.imul(R,$)|0,h=(h=h+Math.imul(R,tt)|0)+Math.imul(Z,$)|0,e=e+Math.imul(Z,tt)|0,n=n+Math.imul(x,rt)|0,h=(h=h+Math.imul(x,nt)|0)+Math.imul(B,rt)|0,e=e+Math.imul(B,nt)|0,n=n+Math.imul(k,et)|0,h=(h=h+Math.imul(k,ot)|0)+Math.imul(A,et)|0,e=e+Math.imul(A,ot)|0,n=n+Math.imul(y,ut)|0,h=(h=h+Math.imul(y,at)|0)+Math.imul(b,ut)|0,e=e+Math.imul(b,at)|0,n=n+Math.imul(g,mt)|0,h=(h=h+Math.imul(g,ft)|0)+Math.imul(c,mt)|0,e=e+Math.imul(c,ft)|0;var xt=(a+(n=n+Math.imul(p,pt)|0)|0)+((8191&(h=(h=h+Math.imul(p,Mt)|0)+Math.imul(M,pt)|0))<<13)|0;a=((e=e+Math.imul(M,Mt)|0)+(h>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(j,G),h=(h=Math.imul(j,Q))+Math.imul(K,G)|0,e=Math.imul(K,Q),n=n+Math.imul(z,W)|0,h=(h=h+Math.imul(z,X)|0)+Math.imul(T,W)|0,e=e+Math.imul(T,X)|0,n=n+Math.imul(N,$)|0,h=(h=h+Math.imul(N,tt)|0)+Math.imul(I,$)|0,e=e+Math.imul(I,tt)|0,n=n+Math.imul(R,rt)|0,h=(h=h+Math.imul(R,nt)|0)+Math.imul(Z,rt)|0,e=e+Math.imul(Z,nt)|0,n=n+Math.imul(x,et)|0,h=(h=h+Math.imul(x,ot)|0)+Math.imul(B,et)|0,e=e+Math.imul(B,ot)|0,n=n+Math.imul(k,ut)|0,h=(h=h+Math.imul(k,at)|0)+Math.imul(A,ut)|0,e=e+Math.imul(A,at)|0,n=n+Math.imul(y,mt)|0,h=(h=h+Math.imul(y,ft)|0)+Math.imul(b,mt)|0,e=e+Math.imul(b,ft)|0;var Bt=(a+(n=n+Math.imul(g,pt)|0)|0)+((8191&(h=(h=h+Math.imul(g,Mt)|0)+Math.imul(c,pt)|0))<<13)|0;a=((e=e+Math.imul(c,Mt)|0)+(h>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(j,W),h=(h=Math.imul(j,X))+Math.imul(K,W)|0,e=Math.imul(K,X),n=n+Math.imul(z,$)|0,h=(h=h+Math.imul(z,tt)|0)+Math.imul(T,$)|0,e=e+Math.imul(T,tt)|0,n=n+Math.imul(N,rt)|0,h=(h=h+Math.imul(N,nt)|0)+Math.imul(I,rt)|0,e=e+Math.imul(I,nt)|0,n=n+Math.imul(R,et)|0,h=(h=h+Math.imul(R,ot)|0)+Math.imul(Z,et)|0,e=e+Math.imul(Z,ot)|0,n=n+Math.imul(x,ut)|0,h=(h=h+Math.imul(x,at)|0)+Math.imul(B,ut)|0,e=e+Math.imul(B,at)|0,n=n+Math.imul(k,mt)|0,h=(h=h+Math.imul(k,ft)|0)+Math.imul(A,mt)|0,e=e+Math.imul(A,ft)|0;var qt=(a+(n=n+Math.imul(y,pt)|0)|0)+((8191&(h=(h=h+Math.imul(y,Mt)|0)+Math.imul(b,pt)|0))<<13)|0;a=((e=e+Math.imul(b,Mt)|0)+(h>>>13)|0)+(qt>>>26)|0,qt&=67108863,n=Math.imul(j,$),h=(h=Math.imul(j,tt))+Math.imul(K,$)|0,e=Math.imul(K,tt),n=n+Math.imul(z,rt)|0,h=(h=h+Math.imul(z,nt)|0)+Math.imul(T,rt)|0,e=e+Math.imul(T,nt)|0,n=n+Math.imul(N,et)|0,h=(h=h+Math.imul(N,ot)|0)+Math.imul(I,et)|0,e=e+Math.imul(I,ot)|0,n=n+Math.imul(R,ut)|0,h=(h=h+Math.imul(R,at)|0)+Math.imul(Z,ut)|0,e=e+Math.imul(Z,at)|0,n=n+Math.imul(x,mt)|0,h=(h=h+Math.imul(x,ft)|0)+Math.imul(B,mt)|0,e=e+Math.imul(B,ft)|0;var Rt=(a+(n=n+Math.imul(k,pt)|0)|0)+((8191&(h=(h=h+Math.imul(k,Mt)|0)+Math.imul(A,pt)|0))<<13)|0;a=((e=e+Math.imul(A,Mt)|0)+(h>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(j,rt),h=(h=Math.imul(j,nt))+Math.imul(K,rt)|0,e=Math.imul(K,nt),n=n+Math.imul(z,et)|0,h=(h=h+Math.imul(z,ot)|0)+Math.imul(T,et)|0,e=e+Math.imul(T,ot)|0,n=n+Math.imul(N,ut)|0,h=(h=h+Math.imul(N,at)|0)+Math.imul(I,ut)|0,e=e+Math.imul(I,at)|0,n=n+Math.imul(R,mt)|0,h=(h=h+Math.imul(R,ft)|0)+Math.imul(Z,mt)|0,e=e+Math.imul(Z,ft)|0;var Zt=(a+(n=n+Math.imul(x,pt)|0)|0)+((8191&(h=(h=h+Math.imul(x,Mt)|0)+Math.imul(B,pt)|0))<<13)|0;a=((e=e+Math.imul(B,Mt)|0)+(h>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,n=Math.imul(j,et),h=(h=Math.imul(j,ot))+Math.imul(K,et)|0,e=Math.imul(K,ot),n=n+Math.imul(z,ut)|0,h=(h=h+Math.imul(z,at)|0)+Math.imul(T,ut)|0,e=e+Math.imul(T,at)|0,n=n+Math.imul(N,mt)|0,h=(h=h+Math.imul(N,ft)|0)+Math.imul(I,mt)|0,e=e+Math.imul(I,ft)|0;var Lt=(a+(n=n+Math.imul(R,pt)|0)|0)+((8191&(h=(h=h+Math.imul(R,Mt)|0)+Math.imul(Z,pt)|0))<<13)|0;a=((e=e+Math.imul(Z,Mt)|0)+(h>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(j,ut),h=(h=Math.imul(j,at))+Math.imul(K,ut)|0,e=Math.imul(K,at),n=n+Math.imul(z,mt)|0,h=(h=h+Math.imul(z,ft)|0)+Math.imul(T,mt)|0,e=e+Math.imul(T,ft)|0;var Nt=(a+(n=n+Math.imul(N,pt)|0)|0)+((8191&(h=(h=h+Math.imul(N,Mt)|0)+Math.imul(I,pt)|0))<<13)|0;a=((e=e+Math.imul(I,Mt)|0)+(h>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,n=Math.imul(j,mt),h=(h=Math.imul(j,ft))+Math.imul(K,mt)|0,e=Math.imul(K,ft);var It=(a+(n=n+Math.imul(z,pt)|0)|0)+((8191&(h=(h=h+Math.imul(z,Mt)|0)+Math.imul(T,pt)|0))<<13)|0;a=((e=e+Math.imul(T,Mt)|0)+(h>>>13)|0)+(It>>>26)|0,It&=67108863;var Et=(a+(n=Math.imul(j,pt))|0)+((8191&(h=(h=Math.imul(j,Mt))+Math.imul(K,pt)|0))<<13)|0;return a=((e=Math.imul(K,Mt))+(h>>>13)|0)+(Et>>>26)|0,Et&=67108863,u[0]=vt,u[1]=gt,u[2]=ct,u[3]=wt,u[4]=yt,u[5]=bt,u[6]=_t,u[7]=kt,u[8]=At,u[9]=St,u[10]=xt,u[11]=Bt,u[12]=qt,u[13]=Rt,u[14]=Zt,u[15]=Lt,u[16]=Nt,u[17]=It,u[18]=Et,0!==a&&(u[19]=a,r.length++),r};function v(t,i,r){r.negative=i.negative^t.negative,r.length=t.length+i.length;for(var n=0,h=0,e=0;e<r.length-1;e++){var o=h;h=0;for(var s=67108863&n,u=Math.min(e,i.length-1),a=Math.max(0,e-t.length+1);a<=u;a++){var l=e-a,m=(0|t.words[l])*(0|i.words[a]),f=67108863&m;s=67108863&(f=f+s|0),h+=(o=(o=o+(m/67108864|0)|0)+(f>>>26)|0)>>>26,o&=67108863}r.words[e]=s,n=o,o=h}return 0!==n?r.words[e]=n:r.length--,r._strip()}function g(t,i,r){return v(t,i,r)}function c(t,i){this.x=t,this.y=i}Math.imul||(M=p),h.prototype.mulTo=function(t,i){var r=this.length+t.length;return 10===this.length&&10===t.length?M(this,t,i):r<63?p(this,t,i):r<1024?v(this,t,i):g(this,t,i)},c.prototype.makeRBT=function(t){for(var i=new Array(t),r=h.prototype._countBits(t)-1,n=0;n<t;n++)i[n]=this.revBin(n,r,t);return i},c.prototype.revBin=function(t,i,r){if(0===t||t===r-1)return t;for(var n=0,h=0;h<i;h++)n|=(1&t)<<i-h-1,t>>=1;return n},c.prototype.permute=function(t,i,r,n,h,e){for(var o=0;o<e;o++)n[o]=i[t[o]],h[o]=r[t[o]]},c.prototype.transform=function(t,i,r,n,h,e){this.permute(e,t,i,r,n,h);for(var o=1;o<h;o<<=1)for(var s=o<<1,u=Math.cos(2*Math.PI/s),a=Math.sin(2*Math.PI/s),l=0;l<h;l+=s)for(var m=u,f=a,d=0;d<o;d++){var p=r[l+d],M=n[l+d],v=r[l+d+o],g=n[l+d+o],c=m*v-f*g;g=m*g+f*v,v=c,r[l+d]=p+v,n[l+d]=M+g,r[l+d+o]=p-v,n[l+d+o]=M-g,d!==s&&(c=u*m-a*f,f=u*f+a*m,m=c)}},c.prototype.guessLen13b=function(t,i){var r=1|Math.max(i,t),n=1&r,h=0;for(r=r/2|0;r;r>>>=1)h++;return 1<<h+1+n},c.prototype.conjugate=function(t,i,r){if(!(r<=1))for(var n=0;n<r/2;n++){var h=t[n];t[n]=t[r-n-1],t[r-n-1]=h,h=i[n],i[n]=-i[r-n-1],i[r-n-1]=-h}},c.prototype.normalize13b=function(t,i){for(var r=0,n=0;n<i/2;n++){var h=8192*Math.round(t[2*n+1]/i)+Math.round(t[2*n]/i)+r;t[n]=67108863&h,r=h<67108864?0:h/67108864|0}return t},c.prototype.convert13b=function(t,i,n,h){for(var e=0,o=0;o<i;o++)e+=0|t[o],n[2*o]=8191&e,e>>>=13,n[2*o+1]=8191&e,e>>>=13;for(o=2*i;o<h;++o)n[o]=0;r(0===e),r(0==(-8192&e))},c.prototype.stub=function(t){for(var i=new Array(t),r=0;r<t;r++)i[r]=0;return i},c.prototype.mulp=function(t,i,r){var n=2*this.guessLen13b(t.length,i.length),h=this.makeRBT(n),e=this.stub(n),o=new Array(n),s=new Array(n),u=new Array(n),a=new Array(n),l=new Array(n),m=new Array(n),f=r.words;f.length=n,this.convert13b(t.words,t.length,o,n),this.convert13b(i.words,i.length,a,n),this.transform(o,e,s,u,n,h),this.transform(a,e,l,m,n,h);for(var d=0;d<n;d++){var p=s[d]*l[d]-u[d]*m[d];u[d]=s[d]*m[d]+u[d]*l[d],s[d]=p}return this.conjugate(s,u,n),this.transform(s,u,f,e,n,h),this.conjugate(f,e,n),this.normalize13b(f,n),r.negative=t.negative^i.negative,r.length=t.length+i.length,r._strip()},h.prototype.mul=function(t){var i=new h(null);return i.words=new Array(this.length+t.length),this.mulTo(t,i)},h.prototype.mulf=function(t){var i=new h(null);return i.words=new Array(this.length+t.length),g(this,t,i)},h.prototype.imul=function(t){return this.clone().mulTo(t,this)},h.prototype.imuln=function(t){var i=t<0;i&&(t=-t),r("number"==typeof t),r(t<67108864);for(var n=0,h=0;h<this.length;h++){var e=(0|this.words[h])*t,o=(67108863&e)+(67108863&n);n>>=26,n+=e/67108864|0,n+=o>>>26,this.words[h]=67108863&o}return 0!==n&&(this.words[h]=n,this.length++),i?this.ineg():this},h.prototype.muln=function(t){return this.clone().imuln(t)},h.prototype.sqr=function(){return this.mul(this)},h.prototype.isqr=function(){return this.imul(this.clone())},h.prototype.pow=function(t){var i=function(t){for(var i=new Array(t.bitLength()),r=0;r<i.length;r++){var n=r/26|0,h=r%26;i[r]=t.words[n]>>>h&1}return i}(t);if(0===i.length)return new h(1);for(var r=this,n=0;n<i.length&&0===i[n];n++,r=r.sqr());if(++n<i.length)for(var e=r.sqr();n<i.length;n++,e=e.sqr())0!==i[n]&&(r=r.mul(e));return r},h.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var i,n=t%26,h=(t-n)/26,e=67108863>>>26-n<<26-n;if(0!==n){var o=0;for(i=0;i<this.length;i++){var s=this.words[i]&e,u=(0|this.words[i])-s<<n;this.words[i]=u|o,o=s>>>26-n}o&&(this.words[i]=o,this.length++)}if(0!==h){for(i=this.length-1;i>=0;i--)this.words[i+h]=this.words[i];for(i=0;i<h;i++)this.words[i]=0;this.length+=h}return this._strip()},h.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},h.prototype.iushrn=function(t,i,n){var h;r("number"==typeof t&&t>=0),h=i?(i-i%26)/26:0;var e=t%26,o=Math.min((t-e)/26,this.length),s=67108863^67108863>>>e<<e,u=n;if(h-=o,h=Math.max(0,h),u){for(var a=0;a<o;a++)u.words[a]=this.words[a];u.length=o}if(0===o);else if(this.length>o)for(this.length-=o,a=0;a<this.length;a++)this.words[a]=this.words[a+o];else this.words[0]=0,this.length=1;var l=0;for(a=this.length-1;a>=0&&(0!==l||a>=h);a--){var m=0|this.words[a];this.words[a]=l<<26-e|m>>>e,l=m&s}return u&&0!==l&&(u.words[u.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},h.prototype.ishrn=function(t,i,n){return r(0===this.negative),this.iushrn(t,i,n)},h.prototype.shln=function(t){return this.clone().ishln(t)},h.prototype.ushln=function(t){return this.clone().iushln(t)},h.prototype.shrn=function(t){return this.clone().ishrn(t)},h.prototype.ushrn=function(t){return this.clone().iushrn(t)},h.prototype.testn=function(t){r("number"==typeof t&&t>=0);var i=t%26,n=(t-i)/26,h=1<<i;return!(this.length<=n)&&!!(this.words[n]&h)},h.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var i=t%26,n=(t-i)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==i&&n++,this.length=Math.min(n,this.length),0!==i){var h=67108863^67108863>>>i<<i;this.words[this.length-1]&=h}return this._strip()},h.prototype.maskn=function(t){return this.clone().imaskn(t)},h.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<=t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},h.prototype._iaddn=function(t){this.words[0]+=t;for(var i=0;i<this.length&&this.words[i]>=67108864;i++)this.words[i]-=67108864,i===this.length-1?this.words[i+1]=1:this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},h.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i<this.length&&this.words[i]<0;i++)this.words[i]+=67108864,this.words[i+1]-=1;return this._strip()},h.prototype.addn=function(t){return this.clone().iaddn(t)},h.prototype.subn=function(t){return this.clone().isubn(t)},h.prototype.iabs=function(){return this.negative=0,this},h.prototype.abs=function(){return this.clone().iabs()},h.prototype._ishlnsubmul=function(t,i,n){var h,e,o=t.length+n;this._expand(o);var s=0;for(h=0;h<t.length;h++){e=(0|this.words[h+n])+s;var u=(0|t.words[h])*i;s=((e-=67108863&u)>>26)-(u/67108864|0),this.words[h+n]=67108863&e}for(;h<this.length-n;h++)s=(e=(0|this.words[h+n])+s)>>26,this.words[h+n]=67108863&e;if(0===s)return this._strip();for(r(-1===s),s=0,h=0;h<this.length;h++)s=(e=-(0|this.words[h])+s)>>26,this.words[h]=67108863&e;return this.negative=1,this._strip()},h.prototype._wordDiv=function(t,i){var r=(this.length,t.length),n=this.clone(),e=t,o=0|e.words[e.length-1];0!==(r=26-this._countBits(o))&&(e=e.ushln(r),n.iushln(r),o=0|e.words[e.length-1]);var s,u=n.length-e.length;if("mod"!==i){(s=new h(null)).length=u+1,s.words=new Array(s.length);for(var a=0;a<s.length;a++)s.words[a]=0}var l=n.clone()._ishlnsubmul(e,1,u);0===l.negative&&(n=l,s&&(s.words[u]=1));for(var m=u-1;m>=0;m--){var f=67108864*(0|n.words[e.length+m])+(0|n.words[e.length+m-1]);for(f=Math.min(f/o|0,67108863),n._ishlnsubmul(e,f,m);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(e,1,m),n.isZero()||(n.negative^=1);s&&(s.words[m]=f)}return s&&s._strip(),n._strip(),"div"!==i&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},h.prototype.divmod=function(t,i,n){return r(!t.isZero()),this.isZero()?{div:new h(0),mod:new h(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,i),"mod"!==i&&(e=s.div.neg()),"div"!==i&&(o=s.mod.neg(),n&&0!==o.negative&&o.iadd(t)),{div:e,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),i),"mod"!==i&&(e=s.div.neg()),{div:e,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),i),"div"!==i&&(o=s.mod.neg(),n&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new h(0),mod:this}:1===t.length?"div"===i?{div:this.divn(t.words[0]),mod:null}:"mod"===i?{div:null,mod:new h(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new h(this.modrn(t.words[0]))}:this._wordDiv(t,i);var e,o,s},h.prototype.div=function(t){return this.divmod(t,"div",!1).div},h.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},h.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},h.prototype.divRound=function(t){var i=this.divmod(t);if(i.mod.isZero())return i.div;var r=0!==i.div.negative?i.mod.isub(t):i.mod,n=t.ushrn(1),h=t.andln(1),e=r.cmp(n);return e<0||1===h&&0===e?i.div:0!==i.div.negative?i.div.isubn(1):i.div.iaddn(1)},h.prototype.modrn=function(t){var i=t<0;i&&(t=-t),r(t<=67108863);for(var n=(1<<26)%t,h=0,e=this.length-1;e>=0;e--)h=(n*h+(0|this.words[e]))%t;return i?-h:h},h.prototype.modn=function(t){return this.modrn(t)},h.prototype.idivn=function(t){var i=t<0;i&&(t=-t),r(t<=67108863);for(var n=0,h=this.length-1;h>=0;h--){var e=(0|this.words[h])+67108864*n;this.words[h]=e/t|0,n=e%t}return this._strip(),i?this.ineg():this},h.prototype.divn=function(t){return this.clone().idivn(t)},h.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var i=this,n=t.clone();i=0!==i.negative?i.umod(t):i.clone();for(var e=new h(1),o=new h(0),s=new h(0),u=new h(1),a=0;i.isEven()&&n.isEven();)i.iushrn(1),n.iushrn(1),++a;for(var l=n.clone(),m=i.clone();!i.isZero();){for(var f=0,d=1;0==(i.words[0]&d)&&f<26;++f,d<<=1);if(f>0)for(i.iushrn(f);f-- >0;)(e.isOdd()||o.isOdd())&&(e.iadd(l),o.isub(m)),e.iushrn(1),o.iushrn(1);for(var p=0,M=1;0==(n.words[0]&M)&&p<26;++p,M<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(l),u.isub(m)),s.iushrn(1),u.iushrn(1);i.cmp(n)>=0?(i.isub(n),e.isub(s),o.isub(u)):(n.isub(i),s.isub(e),u.isub(o))}return{a:s,b:u,gcd:n.iushln(a)}},h.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var i=this,n=t.clone();i=0!==i.negative?i.umod(t):i.clone();for(var e,o=new h(1),s=new h(0),u=n.clone();i.cmpn(1)>0&&n.cmpn(1)>0;){for(var a=0,l=1;0==(i.words[0]&l)&&a<26;++a,l<<=1);if(a>0)for(i.iushrn(a);a-- >0;)o.isOdd()&&o.iadd(u),o.iushrn(1);for(var m=0,f=1;0==(n.words[0]&f)&&m<26;++m,f<<=1);if(m>0)for(n.iushrn(m);m-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);i.cmp(n)>=0?(i.isub(n),o.isub(s)):(n.isub(i),s.isub(o))}return(e=0===i.cmpn(1)?o:s).cmpn(0)<0&&e.iadd(t),e},h.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var i=this.clone(),r=t.clone();i.negative=0,r.negative=0;for(var n=0;i.isEven()&&r.isEven();n++)i.iushrn(1),r.iushrn(1);for(;;){for(;i.isEven();)i.iushrn(1);for(;r.isEven();)r.iushrn(1);var h=i.cmp(r);if(h<0){var e=i;i=r,r=e}else if(0===h||0===r.cmpn(1))break;i.isub(r)}return r.iushln(n)},h.prototype.invm=function(t){return this.egcd(t).a.umod(t)},h.prototype.isEven=function(){return 0==(1&this.words[0])},h.prototype.isOdd=function(){return 1==(1&this.words[0])},h.prototype.andln=function(t){return this.words[0]&t},h.prototype.bincn=function(t){r("number"==typeof t);var i=t%26,n=(t-i)/26,h=1<<i;if(this.length<=n)return this._expand(n+1),this.words[n]|=h,this;for(var e=h,o=n;0!==e&&o<this.length;o++){var s=0|this.words[o];e=(s+=e)>>>26,s&=67108863,this.words[o]=s}return 0!==e&&(this.words[o]=e,this.length++),this},h.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},h.prototype.cmpn=function(t){var i,n=t<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this._strip(),this.length>1)i=1;else{n&&(t=-t),r(t<=67108863,"Number is too big");var h=0|this.words[0];i=h===t?0:h<t?-1:1}return 0!==this.negative?0|-i:i},h.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var i=this.ucmp(t);return 0!==this.negative?0|-i:i},h.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var i=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],h=0|t.words[r];if(n!==h){n<h?i=-1:n>h&&(i=1);break}}return i},h.prototype.gtn=function(t){return 1===this.cmpn(t)},h.prototype.gt=function(t){return 1===this.cmp(t)},h.prototype.gten=function(t){return this.cmpn(t)>=0},h.prototype.gte=function(t){return this.cmp(t)>=0},h.prototype.ltn=function(t){return-1===this.cmpn(t)},h.prototype.lt=function(t){return-1===this.cmp(t)},h.prototype.lten=function(t){return this.cmpn(t)<=0},h.prototype.lte=function(t){return this.cmp(t)<=0},h.prototype.eqn=function(t){return 0===this.cmpn(t)},h.prototype.eq=function(t){return 0===this.cmp(t)},h.red=function(t){return new S(t)},h.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},h.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},h.prototype._forceRed=function(t){return this.red=t,this},h.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},h.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},h.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},h.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},h.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},h.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},h.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},h.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},h.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},h.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},h.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},h.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},h.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},h.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var w={k256:null,p224:null,p192:null,p25519:null};function y(t,i){this.name=t,this.p=new h(i,16),this.n=this.p.bitLength(),this.k=new h(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function k(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function A(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(t){if("string"==typeof t){var i=h._prime(t);this.m=i.p,this.prime=i}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function x(t){S.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new h(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)}y.prototype._tmp=function(){var t=new h(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var i,r=t;do{this.split(r,this.tmp),i=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(i>this.n);var n=i<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},y.prototype.split=function(t,i){t.iushrn(this.n,0,i)},y.prototype.imulK=function(t){return t.imul(this.k)},n(b,y),b.prototype.split=function(t,i){for(var r=Math.min(t.length,9),n=0;n<r;n++)i.words[n]=t.words[n];if(i.length=r,t.length<=9)return t.words[0]=0,void(t.length=1);var h=t.words[9];for(i.words[i.length++]=4194303&h,n=10;n<t.length;n++){var e=0|t.words[n];t.words[n-10]=(4194303&e)<<4|h>>>22,h=e}h>>>=22,t.words[n-10]=h,0===h&&t.length>10?t.length-=10:t.length-=9},b.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var i=0,r=0;r<t.length;r++){var n=0|t.words[r];i+=977*n,t.words[r]=67108863&i,i=64*n+(i/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},n(_,y),n(k,y),n(A,y),A.prototype.imulK=function(t){for(var i=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+i,h=67108863&n;n>>>=26,t.words[r]=h,i=n}return 0!==i&&(t.words[t.length++]=i),t},h._prime=function(t){if(w[t])return w[t];var i;if("k256"===t)i=new b;else if("p224"===t)i=new _;else if("p192"===t)i=new k;else{if("p25519"!==t)throw new Error("Unknown prime "+t);i=new A}return w[t]=i,i},S.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},S.prototype._verify2=function(t,i){r(0==(t.negative|i.negative),"red works only with positives"),r(t.red&&t.red===i.red,"red works only with red numbers")},S.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(a(t,t.umod(this.m)._forceRed(this)),t)},S.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},S.prototype.add=function(t,i){this._verify2(t,i);var r=t.add(i);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},S.prototype.iadd=function(t,i){this._verify2(t,i);var r=t.iadd(i);return r.cmp(this.m)>=0&&r.isub(this.m),r},S.prototype.sub=function(t,i){this._verify2(t,i);var r=t.sub(i);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},S.prototype.isub=function(t,i){this._verify2(t,i);var r=t.isub(i);return r.cmpn(0)<0&&r.iadd(this.m),r},S.prototype.shl=function(t,i){return this._verify1(t),this.imod(t.ushln(i))},S.prototype.imul=function(t,i){return this._verify2(t,i),this.imod(t.imul(i))},S.prototype.mul=function(t,i){return this._verify2(t,i),this.imod(t.mul(i))},S.prototype.isqr=function(t){return this.imul(t,t.clone())},S.prototype.sqr=function(t){return this.mul(t,t)},S.prototype.sqrt=function(t){if(t.isZero())return t.clone();var i=this.m.andln(3);if(r(i%2==1),3===i){var n=this.m.add(new h(1)).iushrn(2);return this.pow(t,n)}for(var e=this.m.subn(1),o=0;!e.isZero()&&0===e.andln(1);)o++,e.iushrn(1);r(!e.isZero());var s=new h(1).toRed(this),u=s.redNeg(),a=this.m.subn(1).iushrn(1),l=this.m.bitLength();for(l=new h(2*l*l).toRed(this);0!==this.pow(l,a).cmp(u);)l.redIAdd(u);for(var m=this.pow(l,e),f=this.pow(t,e.addn(1).iushrn(1)),d=this.pow(t,e),p=o;0!==d.cmp(s);){for(var M=d,v=0;0!==M.cmp(s);v++)M=M.redSqr();r(v<p);var g=this.pow(m,new h(1).iushln(p-v-1));f=f.redMul(g),m=g.redSqr(),d=d.redMul(m),p=v}return f},S.prototype.invm=function(t){var i=t._invmp(this.m);return 0!==i.negative?(i.negative=0,this.imod(i).redNeg()):this.imod(i)},S.prototype.pow=function(t,i){if(i.isZero())return new h(1).toRed(this);if(0===i.cmpn(1))return t.clone();var r=new Array(16);r[0]=new h(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var e=r[0],o=0,s=0,u=i.bitLength()%26;for(0===u&&(u=26),n=i.length-1;n>=0;n--){for(var a=i.words[n],l=u-1;l>=0;l--){var m=a>>l&1;e!==r[0]&&(e=this.sqr(e)),0!==m||0!==o?(o<<=1,o|=m,(4===++s||0===n&&0===l)&&(e=this.mul(e,r[o]),s=0,o=0)):s=0}u=26}return e},S.prototype.convertTo=function(t){var i=t.umod(this.m);return i===t?i.clone():i},S.prototype.convertFrom=function(t){var i=t.clone();return i.red=null,i},h.mont=function(t){return new x(t)},n(x,S),x.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},x.prototype.convertFrom=function(t){var i=this.imod(t.mul(this.rinv));return i.red=null,i},x.prototype.imul=function(t,i){if(t.isZero()||i.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(i),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),h=r.isub(n).iushrn(this.shift),e=h;return h.cmp(this.m)>=0?e=h.isub(this.m):h.cmpn(0)<0&&(e=h.iadd(this.m)),e._forceRed(this)},x.prototype.mul=function(t,i){if(t.isZero()||i.isZero())return new h(0)._forceRed(this);var r=t.mul(i),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),e=r.isub(n).iushrn(this.shift),o=e;return e.cmp(this.m)>=0?o=e.isub(this.m):e.cmpn(0)<0&&(o=e.iadd(this.m)),o._forceRed(this)},x.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}("undefined"==typeof module||module,this);
|
|
332
|
+
},{"buffer":"f88W"}],"1Auk":[function(require,module,exports) {
|
|
333
|
+
var Buffer = require("buffer").Buffer;
|
|
334
|
+
var e=require("buffer").Buffer,r=require("bn.js"),u=require("randombytes");function o(e){var u=n(e);return{blinder:u.toRed(r.mont(e.modulus)).redPow(new r(e.publicExponent)).fromRed(),unblinder:u.invm(e.modulus)}}function n(e){var o,n=e.modulus.byteLength();do{o=new r(u(n))}while(o.cmp(e.modulus)>=0||!o.umod(e.prime1)||!o.umod(e.prime2));return o}function m(u,n){var m=o(n),d=n.modulus.byteLength(),i=new r(u).mul(m.blinder).umod(n.modulus),t=i.toRed(r.mont(n.prime1)),l=i.toRed(r.mont(n.prime2)),b=n.coefficient,f=n.prime1,p=n.prime2,s=t.redPow(n.exponent1).fromRed(),a=l.redPow(n.exponent2).fromRed(),c=s.isub(a).imul(b).umod(f).imul(p);return a.iadd(c).imul(m.unblinder).umod(n.modulus).toArrayLike(e,"be",d)}m.getr=n,module.exports=m;
|
|
335
|
+
},{"bn.js":"BOxy","randombytes":"/XJN","buffer":"dskh"}],"bNi7":[function(require,module,exports) {
|
|
336
|
+
module.exports={_args:[["elliptic@6.5.4","/home/runner/work/midiplayer/midiplayer"]],_development:!0,_from:"elliptic@6.5.4",_id:"elliptic@6.5.4",_inBundle:!1,_integrity:"sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",_location:"/elliptic",_phantomChildren:{},_requested:{type:"version",registry:!0,raw:"elliptic@6.5.4",name:"elliptic",escapedName:"elliptic",rawSpec:"6.5.4",saveSpec:null,fetchSpec:"6.5.4"},_requiredBy:["/browserify-sign","/create-ecdh"],_resolved:"https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",_spec:"6.5.4",_where:"/home/runner/work/midiplayer/midiplayer",author:{name:"Fedor Indutny",email:"fedor@indutny.com"},bugs:{url:"https://github.com/indutny/elliptic/issues"},dependencies:{"bn.js":"^4.11.9",brorand:"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1",inherits:"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"},description:"EC cryptography",devDependencies:{brfs:"^2.0.2",coveralls:"^3.1.0",eslint:"^7.6.0",grunt:"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1",istanbul:"^0.4.5",mocha:"^8.0.1"},files:["lib"],homepage:"https://github.com/indutny/elliptic",keywords:["EC","Elliptic","curve","Cryptography"],license:"MIT",main:"lib/elliptic.js",name:"elliptic",repository:{type:"git",url:"git+ssh://git@github.com/indutny/elliptic.git"},scripts:{lint:"eslint lib test","lint:fix":"npm run lint -- --fix",test:"npm run lint && npm run unit",unit:"istanbul test _mocha --reporter=spec test/index.js",version:"grunt dist && git add dist/"},version:"6.5.4"};
|
|
337
|
+
},{}],"vl2S":[function(require,module,exports) {
|
|
338
|
+
"use strict";var r=exports;function e(r,e){if(Array.isArray(r))return r.slice();if(!r)return[];var t=[];if("string"!=typeof r){for(var n=0;n<r.length;n++)t[n]=0|r[n];return t}if("hex"===e){(r=r.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(r="0"+r);for(n=0;n<r.length;n+=2)t.push(parseInt(r[n]+r[n+1],16))}else for(n=0;n<r.length;n++){var o=r.charCodeAt(n),u=o>>8,i=255&o;u?t.push(u,i):t.push(i)}return t}function t(r){return 1===r.length?"0"+r:r}function n(r){for(var e="",n=0;n<r.length;n++)e+=t(r[n].toString(16));return e}r.toArray=e,r.zero2=t,r.toHex=n,r.encode=function(r,e){return"hex"===e?n(r):r};
|
|
339
|
+
},{}],"F8Ez":[function(require,module,exports) {
|
|
340
|
+
"use strict";var r=exports,n=require("bn.js"),t=require("minimalistic-assert"),e=require("minimalistic-crypto-utils");function i(r,n,t){var e=new Array(Math.max(r.bitLength(),t)+1);e.fill(0);for(var i=1<<n+1,o=r.clone(),a=0;a<e.length;a++){var s,u=o.andln(i-1);o.isOdd()?(s=u>(i>>1)-1?(i>>1)-u:u,o.isubn(s)):s=0,e[a]=s,o.iushrn(1)}return e}function o(r,n){var t=[[],[]];r=r.clone(),n=n.clone();for(var e,i=0,o=0;r.cmpn(-i)>0||n.cmpn(-o)>0;){var a,s,u=r.andln(3)+i&3,c=n.andln(3)+o&3;3===u&&(u=-1),3===c&&(c=-1),a=0==(1&u)?0:3!==(e=r.andln(7)+i&7)&&5!==e||2!==c?u:-u,t[0].push(a),s=0==(1&c)?0:3!==(e=n.andln(7)+o&7)&&5!==e||2!==u?c:-c,t[1].push(s),2*i===a+1&&(i=1-i),2*o===s+1&&(o=1-o),r.iushrn(1),n.iushrn(1)}return t}function a(r,n,t){var e="_"+n;r.prototype[n]=function(){return void 0!==this[e]?this[e]:this[e]=t.call(this)}}function s(n){return"string"==typeof n?r.toArray(n,"hex"):n}function u(r){return new n(r,"hex","le")}r.assert=t,r.toArray=e.toArray,r.zero2=e.zero2,r.toHex=e.toHex,r.encode=e.encode,r.getNAF=i,r.getJSF=o,r.cachedProperty=a,r.parseBytes=s,r.intFromLE=u;
|
|
341
|
+
},{"bn.js":"VXic","minimalistic-assert":"MpuC","minimalistic-crypto-utils":"vl2S"}],"NX8i":[function(require,module,exports) {
|
|
342
|
+
"use strict";var t=require("bn.js"),e=require("../utils"),n=e.getNAF,r=e.getJSF,i=e.assert;function o(e,n){this.type=e,this.p=new t(n.p,16),this.red=n.prime?t.red(n.prime):t.mont(this.p),this.zero=new t(0).toRed(this.red),this.one=new t(1).toRed(this.red),this.two=new t(2).toRed(this.red),this.n=n.n&&new t(n.n,16),this.g=n.g&&this.pointFromJSON(n.g,n.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;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))}function s(t,e){this.curve=t,this.type=e,this.precomputed=null}module.exports=o,o.prototype.point=function(){throw new Error("Not implemented")},o.prototype.validate=function(){throw new Error("Not implemented")},o.prototype._fixedNafMul=function(t,e){i(t.precomputed);var r=t._getDoubles(),o=n(e,1,this._bitLength),s=(1<<r.step+1)-(r.step%2==0?2:1);s/=3;var p,h,d=[];for(p=0;p<o.length;p+=r.step){h=0;for(var u=p+r.step-1;u>=p;u--)h=(h<<1)+o[u];d.push(h)}for(var a=this.jpoint(null,null,null),l=this.jpoint(null,null,null),f=s;f>0;f--){for(p=0;p<d.length;p++)(h=d[p])===f?l=l.mixedAdd(r.points[p]):h===-f&&(l=l.mixedAdd(r.points[p].neg()));a=a.add(l)}return a.toP()},o.prototype._wnafMul=function(t,e){var r=4,o=t._getNAFPoints(r);r=o.wnd;for(var s=o.points,p=n(e,r,this._bitLength),h=this.jpoint(null,null,null),d=p.length-1;d>=0;d--){for(var u=0;d>=0&&0===p[d];d--)u++;if(d>=0&&u++,h=h.dblp(u),d<0)break;var a=p[d];i(0!==a),h="affine"===t.type?a>0?h.mixedAdd(s[a-1>>1]):h.mixedAdd(s[-a-1>>1].neg()):a>0?h.add(s[a-1>>1]):h.add(s[-a-1>>1].neg())}return"affine"===t.type?h.toP():h},o.prototype._wnafMulAdd=function(t,e,i,o,s){var p,h,d,u=this._wnafT1,a=this._wnafT2,l=this._wnafT3,f=0;for(p=0;p<o;p++){var c=(d=e[p])._getNAFPoints(t);u[p]=c.wnd,a[p]=c.points}for(p=o-1;p>=1;p-=2){var g=p-1,m=p;if(1===u[g]&&1===u[m]){var y=[e[g],null,null,e[m]];0===e[g].y.cmp(e[m].y)?(y[1]=e[g].add(e[m]),y[2]=e[g].toJ().mixedAdd(e[m].neg())):0===e[g].y.cmp(e[m].y.redNeg())?(y[1]=e[g].toJ().mixedAdd(e[m]),y[2]=e[g].add(e[m].neg())):(y[1]=e[g].toJ().mixedAdd(e[m]),y[2]=e[g].toJ().mixedAdd(e[m].neg()));var v=[-3,-1,-5,-7,0,7,5,1,3],w=r(i[g],i[m]);for(f=Math.max(w[0].length,f),l[g]=new Array(f),l[m]=new Array(f),h=0;h<f;h++){var b=0|w[0][h],_=0|w[1][h];l[g][h]=v[3*(b+1)+(_+1)],l[m][h]=0,a[g]=y}}else l[g]=n(i[g],u[g],this._bitLength),l[m]=n(i[m],u[m],this._bitLength),f=Math.max(l[g].length,f),f=Math.max(l[m].length,f)}var A=this.jpoint(null,null,null),x=this._wnafT4;for(p=f;p>=0;p--){for(var N=0;p>=0;){var L=!0;for(h=0;h<o;h++)x[h]=0|l[h][p],0!==x[h]&&(L=!1);if(!L)break;N++,p--}if(p>=0&&N++,A=A.dblp(N),p<0)break;for(h=0;h<o;h++){var P=x[h];0!==P&&(P>0?d=a[h][P-1>>1]:P<0&&(d=a[h][-P-1>>1].neg()),A="affine"===d.type?A.mixedAdd(d):A.add(d))}}for(p=0;p<o;p++)a[p]=null;return s?A:A.toP()},o.BasePoint=s,s.prototype.eq=function(){throw new Error("Not implemented")},s.prototype.validate=function(){return this.curve.validate(this)},o.prototype.decodePoint=function(t,n){t=e.toArray(t,n);var r=this.p.byteLength();if((4===t[0]||6===t[0]||7===t[0])&&t.length-1==2*r)return 6===t[0]?i(t[t.length-1]%2==0):7===t[0]&&i(t[t.length-1]%2==1),this.point(t.slice(1,1+r),t.slice(1+r,1+2*r));if((2===t[0]||3===t[0])&&t.length-1===r)return this.pointFromX(t.slice(1,1+r),3===t[0]);throw new Error("Unknown point format")},s.prototype.encodeCompressed=function(t){return this.encode(t,!0)},s.prototype._encode=function(t){var e=this.curve.p.byteLength(),n=this.getX().toArray("be",e);return t?[this.getY().isEven()?2:3].concat(n):[4].concat(n,this.getY().toArray("be",e))},s.prototype.encode=function(t,n){return e.encode(this._encode(n),t)},s.prototype.precompute=function(t){if(this.precomputed)return this;var e={doubles:null,naf:null,beta:null};return e.naf=this._getNAFPoints(8),e.doubles=this._getDoubles(4,t),e.beta=this._getBeta(),this.precomputed=e,this},s.prototype._hasDoubles=function(t){if(!this.precomputed)return!1;var e=this.precomputed.doubles;return!!e&&e.points.length>=Math.ceil((t.bitLength()+1)/e.step)},s.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var n=[this],r=this,i=0;i<e;i+=t){for(var o=0;o<t;o++)r=r.dbl();n.push(r)}return{step:t,points:n}},s.prototype._getNAFPoints=function(t){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var e=[this],n=(1<<t)-1,r=1===n?null:this.dbl(),i=1;i<n;i++)e[i]=e[i-1].add(r);return{wnd:t,points:e}},s.prototype._getBeta=function(){return null},s.prototype.dblp=function(t){for(var e=this,n=0;n<t;n++)e=e.dbl();return e};
|
|
343
|
+
},{"bn.js":"VXic","../utils":"F8Ez"}],"CO0D":[function(require,module,exports) {
|
|
344
|
+
"use strict";var r=require("../utils"),e=require("bn.js"),t=require("inherits"),d=require("./base"),i=r.assert;function n(r){d.call(this,"short",r),this.a=new e(r.a,16).toRed(this.red),this.b=new e(r.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(r),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function u(r,t,i,n){d.BasePoint.call(this,r,"affine"),null===t&&null===i?(this.x=null,this.y=null,this.inf=!0):(this.x=new e(t,16),this.y=new e(i,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 s(r,t,i,n){d.BasePoint.call(this,r,"jacobian"),null===t&&null===i&&null===n?(this.x=this.curve.one,this.y=this.curve.one,this.z=new e(0)):(this.x=new e(t,16),this.y=new e(i,16),this.z=new e(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}t(n,d),module.exports=n,n.prototype._getEndomorphism=function(r){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,d;if(r.beta)t=new e(r.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(r.lambda)d=new e(r.lambda,16);else{var u=this._getEndoRoots(this.n);0===this.g.mul(u[0]).x.cmp(this.g.x.redMul(t))?d=u[0]:(d=u[1],i(0===this.g.mul(d).x.cmp(this.g.x.redMul(t))))}return{beta:t,lambda:d,basis:r.basis?r.basis.map(function(r){return{a:new e(r.a,16),b:new e(r.b,16)}}):this._getEndoBasis(d)}}},n.prototype._getEndoRoots=function(r){var t=r===this.p?this.red:e.mont(r),d=new e(2).toRed(t).redInvm(),i=d.redNeg(),n=new e(3).toRed(t).redNeg().redSqrt().redMul(d);return[i.redAdd(n).fromRed(),i.redSub(n).fromRed()]},n.prototype._getEndoBasis=function(r){for(var t,d,i,n,u,s,o,h,p,l=this.n.ushrn(Math.floor(this.n.bitLength()/2)),a=r,f=this.n.clone(),c=new e(1),S=new e(0),b=new e(0),v=new e(1),I=0;0!==a.cmpn(0);){var y=f.div(a);h=f.sub(y.mul(a)),p=b.sub(y.mul(c));var A=v.sub(y.mul(S));if(!i&&h.cmp(l)<0)t=o.neg(),d=c,i=h.neg(),n=p;else if(i&&2==++I)break;o=h,f=a,a=h,b=c,c=p,v=S,S=A}u=h.neg(),s=p;var m=i.sqr().add(n.sqr());return u.sqr().add(s.sqr()).cmp(m)>=0&&(u=t,s=d),i.negative&&(i=i.neg(),n=n.neg()),u.negative&&(u=u.neg(),s=s.neg()),[{a:i,b:n},{a:u,b:s}]},n.prototype._endoSplit=function(r){var e=this.endo.basis,t=e[0],d=e[1],i=d.b.mul(r).divRound(this.n),n=t.b.neg().mul(r).divRound(this.n),u=i.mul(t.a),s=n.mul(d.a),o=i.mul(t.b),h=n.mul(d.b);return{k1:r.sub(u).sub(s),k2:o.add(h).neg()}},n.prototype.pointFromX=function(r,t){(r=new e(r,16)).red||(r=r.toRed(this.red));var d=r.redSqr().redMul(r).redIAdd(r.redMul(this.a)).redIAdd(this.b),i=d.redSqrt();if(0!==i.redSqr().redSub(d).cmp(this.zero))throw new Error("invalid point");var n=i.fromRed().isOdd();return(t&&!n||!t&&n)&&(i=i.redNeg()),this.point(r,i)},n.prototype.validate=function(r){if(r.inf)return!0;var e=r.x,t=r.y,d=this.a.redMul(e),i=e.redSqr().redMul(e).redIAdd(d).redIAdd(this.b);return 0===t.redSqr().redISub(i).cmpn(0)},n.prototype._endoWnafMulAdd=function(r,e,t){for(var d=this._endoWnafT1,i=this._endoWnafT2,n=0;n<r.length;n++){var u=this._endoSplit(e[n]),s=r[n],o=s._getBeta();u.k1.negative&&(u.k1.ineg(),s=s.neg(!0)),u.k2.negative&&(u.k2.ineg(),o=o.neg(!0)),d[2*n]=s,d[2*n+1]=o,i[2*n]=u.k1,i[2*n+1]=u.k2}for(var h=this._wnafMulAdd(1,d,i,2*n,t),p=0;p<2*n;p++)d[p]=null,i[p]=null;return h},t(u,d.BasePoint),n.prototype.point=function(r,e,t){return new u(this,r,e,t)},n.prototype.pointFromJSON=function(r,e){return u.fromJSON(this,r,e)},u.prototype._getBeta=function(){if(this.curve.endo){var r=this.precomputed;if(r&&r.beta)return r.beta;var e=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(r){var t=this.curve,d=function(r){return t.point(r.x.redMul(t.endo.beta),r.y)};r.beta=e,e.precomputed={beta:null,naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(d)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(d)}}}return e}},u.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]},u.fromJSON=function(r,e,t){"string"==typeof e&&(e=JSON.parse(e));var d=r.point(e[0],e[1],t);if(!e[2])return d;function i(e){return r.point(e[0],e[1],t)}var n=e[2];return d.precomputed={beta:null,doubles:n.doubles&&{step:n.doubles.step,points:[d].concat(n.doubles.points.map(i))},naf:n.naf&&{wnd:n.naf.wnd,points:[d].concat(n.naf.points.map(i))}},d},u.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)+">"},u.prototype.isInfinity=function(){return this.inf},u.prototype.add=function(r){if(this.inf)return r;if(r.inf)return this;if(this.eq(r))return this.dbl();if(this.neg().eq(r))return this.curve.point(null,null);if(0===this.x.cmp(r.x))return this.curve.point(null,null);var e=this.y.redSub(r.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(r.x).redInvm()));var t=e.redSqr().redISub(this.x).redISub(r.x),d=e.redMul(this.x.redSub(t)).redISub(this.y);return this.curve.point(t,d)},u.prototype.dbl=function(){if(this.inf)return this;var r=this.y.redAdd(this.y);if(0===r.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,t=this.x.redSqr(),d=r.redInvm(),i=t.redAdd(t).redIAdd(t).redIAdd(e).redMul(d),n=i.redSqr().redISub(this.x.redAdd(this.x)),u=i.redMul(this.x.redSub(n)).redISub(this.y);return this.curve.point(n,u)},u.prototype.getX=function(){return this.x.fromRed()},u.prototype.getY=function(){return this.y.fromRed()},u.prototype.mul=function(r){return r=new e(r,16),this.isInfinity()?this:this._hasDoubles(r)?this.curve._fixedNafMul(this,r):this.curve.endo?this.curve._endoWnafMulAdd([this],[r]):this.curve._wnafMul(this,r)},u.prototype.mulAdd=function(r,e,t){var d=[this,e],i=[r,t];return this.curve.endo?this.curve._endoWnafMulAdd(d,i):this.curve._wnafMulAdd(1,d,i,2)},u.prototype.jmulAdd=function(r,e,t){var d=[this,e],i=[r,t];return this.curve.endo?this.curve._endoWnafMulAdd(d,i,!0):this.curve._wnafMulAdd(1,d,i,2,!0)},u.prototype.eq=function(r){return this===r||this.inf===r.inf&&(this.inf||0===this.x.cmp(r.x)&&0===this.y.cmp(r.y))},u.prototype.neg=function(r){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(r&&this.precomputed){var t=this.precomputed,d=function(r){return r.neg()};e.precomputed={naf:t.naf&&{wnd:t.naf.wnd,points:t.naf.points.map(d)},doubles:t.doubles&&{step:t.doubles.step,points:t.doubles.points.map(d)}}}return e},u.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},t(s,d.BasePoint),n.prototype.jpoint=function(r,e,t){return new s(this,r,e,t)},s.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var r=this.z.redInvm(),e=r.redSqr(),t=this.x.redMul(e),d=this.y.redMul(e).redMul(r);return this.curve.point(t,d)},s.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},s.prototype.add=function(r){if(this.isInfinity())return r;if(r.isInfinity())return this;var e=r.z.redSqr(),t=this.z.redSqr(),d=this.x.redMul(e),i=r.x.redMul(t),n=this.y.redMul(e.redMul(r.z)),u=r.y.redMul(t.redMul(this.z)),s=d.redSub(i),o=n.redSub(u);if(0===s.cmpn(0))return 0!==o.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var h=s.redSqr(),p=h.redMul(s),l=d.redMul(h),a=o.redSqr().redIAdd(p).redISub(l).redISub(l),f=o.redMul(l.redISub(a)).redISub(n.redMul(p)),c=this.z.redMul(r.z).redMul(s);return this.curve.jpoint(a,f,c)},s.prototype.mixedAdd=function(r){if(this.isInfinity())return r.toJ();if(r.isInfinity())return this;var e=this.z.redSqr(),t=this.x,d=r.x.redMul(e),i=this.y,n=r.y.redMul(e).redMul(this.z),u=t.redSub(d),s=i.redSub(n);if(0===u.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var o=u.redSqr(),h=o.redMul(u),p=t.redMul(o),l=s.redSqr().redIAdd(h).redISub(p).redISub(p),a=s.redMul(p.redISub(l)).redISub(i.redMul(h)),f=this.z.redMul(u);return this.curve.jpoint(l,a,f)},s.prototype.dblp=function(r){if(0===r)return this;if(this.isInfinity())return this;if(!r)return this.dbl();var e;if(this.curve.zeroA||this.curve.threeA){var t=this;for(e=0;e<r;e++)t=t.dbl();return t}var d=this.curve.a,i=this.curve.tinv,n=this.x,u=this.y,s=this.z,o=s.redSqr().redSqr(),h=u.redAdd(u);for(e=0;e<r;e++){var p=n.redSqr(),l=h.redSqr(),a=l.redSqr(),f=p.redAdd(p).redIAdd(p).redIAdd(d.redMul(o)),c=n.redMul(l),S=f.redSqr().redISub(c.redAdd(c)),b=c.redISub(S),v=f.redMul(b);v=v.redIAdd(v).redISub(a);var I=h.redMul(s);e+1<r&&(o=o.redMul(a)),n=S,s=I,h=v}return this.curve.jpoint(n,h.redMul(i),s)},s.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},s.prototype._zeroDbl=function(){var r,e,t;if(this.zOne){var d=this.x.redSqr(),i=this.y.redSqr(),n=i.redSqr(),u=this.x.redAdd(i).redSqr().redISub(d).redISub(n);u=u.redIAdd(u);var s=d.redAdd(d).redIAdd(d),o=s.redSqr().redISub(u).redISub(u),h=n.redIAdd(n);h=(h=h.redIAdd(h)).redIAdd(h),r=o,e=s.redMul(u.redISub(o)).redISub(h),t=this.y.redAdd(this.y)}else{var p=this.x.redSqr(),l=this.y.redSqr(),a=l.redSqr(),f=this.x.redAdd(l).redSqr().redISub(p).redISub(a);f=f.redIAdd(f);var c=p.redAdd(p).redIAdd(p),S=c.redSqr(),b=a.redIAdd(a);b=(b=b.redIAdd(b)).redIAdd(b),r=S.redISub(f).redISub(f),e=c.redMul(f.redISub(r)).redISub(b),t=(t=this.y.redMul(this.z)).redIAdd(t)}return this.curve.jpoint(r,e,t)},s.prototype._threeDbl=function(){var r,e,t;if(this.zOne){var d=this.x.redSqr(),i=this.y.redSqr(),n=i.redSqr(),u=this.x.redAdd(i).redSqr().redISub(d).redISub(n);u=u.redIAdd(u);var s=d.redAdd(d).redIAdd(d).redIAdd(this.curve.a),o=s.redSqr().redISub(u).redISub(u);r=o;var h=n.redIAdd(n);h=(h=h.redIAdd(h)).redIAdd(h),e=s.redMul(u.redISub(o)).redISub(h),t=this.y.redAdd(this.y)}else{var p=this.z.redSqr(),l=this.y.redSqr(),a=this.x.redMul(l),f=this.x.redSub(p).redMul(this.x.redAdd(p));f=f.redAdd(f).redIAdd(f);var c=a.redIAdd(a),S=(c=c.redIAdd(c)).redAdd(c);r=f.redSqr().redISub(S),t=this.y.redAdd(this.z).redSqr().redISub(l).redISub(p);var b=l.redSqr();b=(b=(b=b.redIAdd(b)).redIAdd(b)).redIAdd(b),e=f.redMul(c.redISub(r)).redISub(b)}return this.curve.jpoint(r,e,t)},s.prototype._dbl=function(){var r=this.curve.a,e=this.x,t=this.y,d=this.z,i=d.redSqr().redSqr(),n=e.redSqr(),u=t.redSqr(),s=n.redAdd(n).redIAdd(n).redIAdd(r.redMul(i)),o=e.redAdd(e),h=(o=o.redIAdd(o)).redMul(u),p=s.redSqr().redISub(h.redAdd(h)),l=h.redISub(p),a=u.redSqr();a=(a=(a=a.redIAdd(a)).redIAdd(a)).redIAdd(a);var f=s.redMul(l).redISub(a),c=t.redAdd(t).redMul(d);return this.curve.jpoint(p,f,c)},s.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var r=this.x.redSqr(),e=this.y.redSqr(),t=this.z.redSqr(),d=e.redSqr(),i=r.redAdd(r).redIAdd(r),n=i.redSqr(),u=this.x.redAdd(e).redSqr().redISub(r).redISub(d),s=(u=(u=(u=u.redIAdd(u)).redAdd(u).redIAdd(u)).redISub(n)).redSqr(),o=d.redIAdd(d);o=(o=(o=o.redIAdd(o)).redIAdd(o)).redIAdd(o);var h=i.redIAdd(u).redSqr().redISub(n).redISub(s).redISub(o),p=e.redMul(h);p=(p=p.redIAdd(p)).redIAdd(p);var l=this.x.redMul(s).redISub(p);l=(l=l.redIAdd(l)).redIAdd(l);var a=this.y.redMul(h.redMul(o.redISub(h)).redISub(u.redMul(s)));a=(a=(a=a.redIAdd(a)).redIAdd(a)).redIAdd(a);var f=this.z.redAdd(u).redSqr().redISub(t).redISub(s);return this.curve.jpoint(l,a,f)},s.prototype.mul=function(r,t){return r=new e(r,t),this.curve._wnafMul(this,r)},s.prototype.eq=function(r){if("affine"===r.type)return this.eq(r.toJ());if(this===r)return!0;var e=this.z.redSqr(),t=r.z.redSqr();if(0!==this.x.redMul(t).redISub(r.x.redMul(e)).cmpn(0))return!1;var d=e.redMul(this.z),i=t.redMul(r.z);return 0===this.y.redMul(i).redISub(r.y.redMul(d)).cmpn(0)},s.prototype.eqXToP=function(r){var e=this.z.redSqr(),t=r.toRed(this.curve.red).redMul(e);if(0===this.x.cmp(t))return!0;for(var d=r.clone(),i=this.curve.redN.redMul(e);;){if(d.iadd(this.curve.n),d.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(i),0===this.x.cmp(t))return!0}},s.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)+">"},s.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};
|
|
345
|
+
},{"../utils":"F8Ez","bn.js":"VXic","inherits":"t8EM","./base":"NX8i"}],"PwwO":[function(require,module,exports) {
|
|
346
|
+
"use strict";var t=require("bn.js"),r=require("inherits"),e=require("./base"),i=require("../utils");function o(r){e.call(this,"mont",r),this.a=new t(r.a,16).toRed(this.red),this.b=new t(r.b,16).toRed(this.red),this.i4=new t(4).toRed(this.red).redInvm(),this.two=new t(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function n(r,i,o){e.BasePoint.call(this,r,"projective"),null===i&&null===o?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new t(i,16),this.z=new t(o,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}r(o,e),module.exports=o,o.prototype.validate=function(t){var r=t.normalize().x,e=r.redSqr(),i=e.redMul(r).redAdd(e.redMul(this.a)).redAdd(r);return 0===i.redSqrt().redSqr().cmp(i)},r(n,e.BasePoint),o.prototype.decodePoint=function(t,r){return this.point(i.toArray(t,r),1)},o.prototype.point=function(t,r){return new n(this,t,r)},o.prototype.pointFromJSON=function(t){return n.fromJSON(this,t)},n.prototype.precompute=function(){},n.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},n.fromJSON=function(t,r){return new n(t,r[0],r[1]||t.one)},n.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)+">"},n.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},n.prototype.dbl=function(){var t=this.x.redAdd(this.z).redSqr(),r=this.x.redSub(this.z).redSqr(),e=t.redSub(r),i=t.redMul(r),o=e.redMul(r.redAdd(this.curve.a24.redMul(e)));return this.curve.point(i,o)},n.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},n.prototype.diffAdd=function(t,r){var e=this.x.redAdd(this.z),i=this.x.redSub(this.z),o=t.x.redAdd(t.z),n=t.x.redSub(t.z).redMul(e),d=o.redMul(i),u=r.z.redMul(n.redAdd(d).redSqr()),s=r.x.redMul(n.redISub(d).redSqr());return this.curve.point(u,s)},n.prototype.mul=function(t){for(var r=t.clone(),e=this,i=this.curve.point(null,null),o=[];0!==r.cmpn(0);r.iushrn(1))o.push(r.andln(1));for(var n=o.length-1;n>=0;n--)0===o[n]?(e=e.diffAdd(i,this),i=i.dbl()):(i=e.diffAdd(i,this),e=e.dbl());return i},n.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},n.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},n.prototype.eq=function(t){return 0===this.getX().cmp(t.getX())},n.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},n.prototype.getX=function(){return this.normalize(),this.x.fromRed()};
|
|
347
|
+
},{"bn.js":"VXic","inherits":"t8EM","./base":"NX8i","../utils":"F8Ez"}],"tiqw":[function(require,module,exports) {
|
|
348
|
+
"use strict";var t=require("../utils"),e=require("bn.js"),r=require("inherits"),i=require("./base"),d=t.assert;function s(t){this.twisted=1!=(0|t.a),this.mOneA=this.twisted&&-1==(0|t.a),this.extended=this.mOneA,i.call(this,"edwards",t),this.a=new e(t.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new e(t.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new e(t.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),d(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|t.c)}function u(t,r,d,s,u){i.BasePoint.call(this,t,"projective"),null===r&&null===d&&null===s?(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 e(r,16),this.y=new e(d,16),this.z=s?new e(s,16):this.curve.one,this.t=u&&new e(u,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()))))}r(s,i),module.exports=s,s.prototype._mulA=function(t){return this.mOneA?t.redNeg():this.a.redMul(t)},s.prototype._mulC=function(t){return this.oneC?t:this.c.redMul(t)},s.prototype.jpoint=function(t,e,r,i){return this.point(t,e,r,i)},s.prototype.pointFromX=function(t,r){(t=new e(t,16)).red||(t=t.toRed(this.red));var i=t.redSqr(),d=this.c2.redSub(this.a.redMul(i)),s=this.one.redSub(this.c2.redMul(this.d).redMul(i)),u=d.redMul(s.redInvm()),h=u.redSqrt();if(0!==h.redSqr().redSub(u).cmp(this.zero))throw new Error("invalid point");var n=h.fromRed().isOdd();return(r&&!n||!r&&n)&&(h=h.redNeg()),this.point(t,h)},s.prototype.pointFromY=function(t,r){(t=new e(t,16)).red||(t=t.toRed(this.red));var i=t.redSqr(),d=i.redSub(this.c2),s=i.redMul(this.d).redMul(this.c2).redSub(this.a),u=d.redMul(s.redInvm());if(0===u.cmp(this.zero)){if(r)throw new Error("invalid point");return this.point(this.zero,t)}var h=u.redSqrt();if(0!==h.redSqr().redSub(u).cmp(this.zero))throw new Error("invalid point");return h.fromRed().isOdd()!==r&&(h=h.redNeg()),this.point(h,t)},s.prototype.validate=function(t){if(t.isInfinity())return!0;t.normalize();var e=t.x.redSqr(),r=t.y.redSqr(),i=e.redMul(this.a).redAdd(r),d=this.c2.redMul(this.one.redAdd(this.d.redMul(e).redMul(r)));return 0===i.cmp(d)},r(u,i.BasePoint),s.prototype.pointFromJSON=function(t){return u.fromJSON(this,t)},s.prototype.point=function(t,e,r,i){return new u(this,t,e,r,i)},u.fromJSON=function(t,e){return new u(t,e[0],e[1],e[2])},u.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)+">"},u.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},u.prototype._extDbl=function(){var t=this.x.redSqr(),e=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var i=this.curve._mulA(t),d=this.x.redAdd(this.y).redSqr().redISub(t).redISub(e),s=i.redAdd(e),u=s.redSub(r),h=i.redSub(e),n=d.redMul(u),o=s.redMul(h),c=d.redMul(h),l=u.redMul(s);return this.curve.point(n,o,l,c)},u.prototype._projDbl=function(){var t,e,r,i,d,s,u=this.x.redAdd(this.y).redSqr(),h=this.x.redSqr(),n=this.y.redSqr();if(this.curve.twisted){var o=(i=this.curve._mulA(h)).redAdd(n);this.zOne?(t=u.redSub(h).redSub(n).redMul(o.redSub(this.curve.two)),e=o.redMul(i.redSub(n)),r=o.redSqr().redSub(o).redSub(o)):(d=this.z.redSqr(),s=o.redSub(d).redISub(d),t=u.redSub(h).redISub(n).redMul(s),e=o.redMul(i.redSub(n)),r=o.redMul(s))}else i=h.redAdd(n),d=this.curve._mulC(this.z).redSqr(),s=i.redSub(d).redSub(d),t=this.curve._mulC(u.redISub(i)).redMul(s),e=this.curve._mulC(i).redMul(h.redISub(n)),r=i.redMul(s);return this.curve.point(t,e,r)},u.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},u.prototype._extAdd=function(t){var e=this.y.redSub(this.x).redMul(t.y.redSub(t.x)),r=this.y.redAdd(this.x).redMul(t.y.redAdd(t.x)),i=this.t.redMul(this.curve.dd).redMul(t.t),d=this.z.redMul(t.z.redAdd(t.z)),s=r.redSub(e),u=d.redSub(i),h=d.redAdd(i),n=r.redAdd(e),o=s.redMul(u),c=h.redMul(n),l=s.redMul(n),p=u.redMul(h);return this.curve.point(o,c,p,l)},u.prototype._projAdd=function(t){var e,r,i=this.z.redMul(t.z),d=i.redSqr(),s=this.x.redMul(t.x),u=this.y.redMul(t.y),h=this.curve.d.redMul(s).redMul(u),n=d.redSub(h),o=d.redAdd(h),c=this.x.redAdd(this.y).redMul(t.x.redAdd(t.y)).redISub(s).redISub(u),l=i.redMul(n).redMul(c);return this.curve.twisted?(e=i.redMul(o).redMul(u.redSub(this.curve._mulA(s))),r=n.redMul(o)):(e=i.redMul(o).redMul(u.redSub(s)),r=this.curve._mulC(n).redMul(o)),this.curve.point(l,e,r)},u.prototype.add=function(t){return this.isInfinity()?t:t.isInfinity()?this:this.curve.extended?this._extAdd(t):this._projAdd(t)},u.prototype.mul=function(t){return this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve._wnafMul(this,t)},u.prototype.mulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!1)},u.prototype.jmulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!0)},u.prototype.normalize=function(){if(this.zOne)return this;var t=this.z.redInvm();return this.x=this.x.redMul(t),this.y=this.y.redMul(t),this.t&&(this.t=this.t.redMul(t)),this.z=this.curve.one,this.zOne=!0,this},u.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},u.prototype.getX=function(){return this.normalize(),this.x.fromRed()},u.prototype.getY=function(){return this.normalize(),this.y.fromRed()},u.prototype.eq=function(t){return this===t||0===this.getX().cmp(t.getX())&&0===this.getY().cmp(t.getY())},u.prototype.eqXToP=function(t){var e=t.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(e))return!0;for(var r=t.clone(),i=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(e.redIAdd(i),0===this.x.cmp(e))return!0}},u.prototype.toP=u.prototype.normalize,u.prototype.mixedAdd=u.prototype.add;
|
|
349
|
+
},{"../utils":"F8Ez","bn.js":"VXic","inherits":"t8EM","./base":"NX8i"}],"P4Ml":[function(require,module,exports) {
|
|
350
|
+
"use strict";var r=exports;r.base=require("./base"),r.short=require("./short"),r.mont=require("./mont"),r.edwards=require("./edwards");
|
|
351
|
+
},{"./base":"NX8i","./short":"CO0D","./mont":"PwwO","./edwards":"tiqw"}],"eeOV":[function(require,module,exports) {
|
|
352
|
+
"use strict";var r=require("minimalistic-assert"),t=require("inherits");function n(r,t){return 55296==(64512&r.charCodeAt(t))&&(!(t<0||t+1>=r.length)&&56320==(64512&r.charCodeAt(t+1)))}function e(r,t){if(Array.isArray(r))return r.slice();if(!r)return[];var e=[];if("string"==typeof r)if(t){if("hex"===t)for((r=r.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(r="0"+r),u=0;u<r.length;u+=2)e.push(parseInt(r[u]+r[u+1],16))}else for(var o=0,u=0;u<r.length;u++){var i=r.charCodeAt(u);i<128?e[o++]=i:i<2048?(e[o++]=i>>6|192,e[o++]=63&i|128):n(r,u)?(i=65536+((1023&i)<<10)+(1023&r.charCodeAt(++u)),e[o++]=i>>18|240,e[o++]=i>>12&63|128,e[o++]=i>>6&63|128,e[o++]=63&i|128):(e[o++]=i>>12|224,e[o++]=i>>6&63|128,e[o++]=63&i|128)}else for(u=0;u<r.length;u++)e[u]=0|r[u];return e}function o(r){for(var t="",n=0;n<r.length;n++)t+=s(r[n].toString(16));return t}function u(r){return(r>>>24|r>>>8&65280|r<<8&16711680|(255&r)<<24)>>>0}function i(r,t){for(var n="",e=0;e<r.length;e++){var o=r[e];"little"===t&&(o=u(o)),n+=f(o.toString(16))}return n}function s(r){return 1===r.length?"0"+r:r}function f(r){return 7===r.length?"0"+r:6===r.length?"00"+r:5===r.length?"000"+r:4===r.length?"0000"+r:3===r.length?"00000"+r:2===r.length?"000000"+r:1===r.length?"0000000"+r:r}function c(t,n,e,o){var u=e-n;r(u%4==0);for(var i=new Array(u/4),s=0,f=n;s<i.length;s++,f+=4){var c;c="big"===o?t[f]<<24|t[f+1]<<16|t[f+2]<<8|t[f+3]:t[f+3]<<24|t[f+2]<<16|t[f+1]<<8|t[f],i[s]=c>>>0}return i}function h(r,t){for(var n=new Array(4*r.length),e=0,o=0;e<r.length;e++,o+=4){var u=r[e];"big"===t?(n[o]=u>>>24,n[o+1]=u>>>16&255,n[o+2]=u>>>8&255,n[o+3]=255&u):(n[o+3]=u>>>24,n[o+2]=u>>>16&255,n[o+1]=u>>>8&255,n[o]=255&u)}return n}function l(r,t){return r>>>t|r<<32-t}function p(r,t){return r<<t|r>>>32-t}function a(r,t){return r+t>>>0}function x(r,t,n){return r+t+n>>>0}function g(r,t,n,e){return r+t+n+e>>>0}function _(r,t,n,e,o){return r+t+n+e+o>>>0}function v(r,t,n,e){var o=r[t],u=e+r[t+1]>>>0,i=(u<e?1:0)+n+o;r[t]=i>>>0,r[t+1]=u}function m(r,t,n,e){return(t+e>>>0<t?1:0)+r+n>>>0}function A(r,t,n,e){return t+e>>>0}function y(r,t,n,e,o,u,i,s){var f=0,c=t;return f+=(c=c+e>>>0)<t?1:0,f+=(c=c+u>>>0)<u?1:0,r+n+o+i+(f+=(c=c+s>>>0)<s?1:0)>>>0}function d(r,t,n,e,o,u,i,s){return t+e+u+s>>>0}function C(r,t,n,e,o,u,i,s,f,c){var h=0,l=t;return h+=(l=l+e>>>0)<t?1:0,h+=(l=l+u>>>0)<u?1:0,h+=(l=l+s>>>0)<s?1:0,r+n+o+i+f+(h+=(l=l+c>>>0)<c?1:0)>>>0}function z(r,t,n,e,o,u,i,s,f,c){return t+e+u+s+c>>>0}function b(r,t,n){return(t<<32-n|r>>>n)>>>0}function q(r,t,n){return(r<<32-n|t>>>n)>>>0}function w(r,t,n){return r>>>n}function H(r,t,n){return(r<<32-n|t>>>n)>>>0}exports.inherits=t,exports.toArray=e,exports.toHex=o,exports.htonl=u,exports.toHex32=i,exports.zero2=s,exports.zero8=f,exports.join32=c,exports.split32=h,exports.rotr32=l,exports.rotl32=p,exports.sum32=a,exports.sum32_3=x,exports.sum32_4=g,exports.sum32_5=_,exports.sum64=v,exports.sum64_hi=m,exports.sum64_lo=A,exports.sum64_4_hi=y,exports.sum64_4_lo=d,exports.sum64_5_hi=C,exports.sum64_5_lo=z,exports.rotr64_hi=b,exports.rotr64_lo=q,exports.shr64_hi=w,exports.shr64_lo=H;
|
|
353
|
+
},{"minimalistic-assert":"MpuC","inherits":"4Bm0"}],"p0gz":[function(require,module,exports) {
|
|
354
|
+
"use strict";var t=require("./utils"),i=require("minimalistic-assert");function n(){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}exports.BlockHash=n,n.prototype.update=function(i,n){if(i=t.toArray(i,n),this.pending?this.pending=this.pending.concat(i):this.pending=i,this.pendingTotal+=i.length,this.pending.length>=this._delta8){var e=(i=this.pending).length%this._delta8;this.pending=i.slice(i.length-e,i.length),0===this.pending.length&&(this.pending=null),i=t.join32(i,0,i.length-e,this.endian);for(var h=0;h<i.length;h+=this._delta32)this._update(i,h,h+this._delta32)}return this},n.prototype.digest=function(t){return this.update(this._pad()),i(null===this.pending),this._digest(t)},n.prototype._pad=function(){var t=this.pendingTotal,i=this._delta8,n=i-(t+this.padLength)%i,e=new Array(n+this.padLength);e[0]=128;for(var h=1;h<n;h++)e[h]=0;if(t<<=3,"big"===this.endian){for(var s=8;s<this.padLength;s++)e[h++]=0;e[h++]=0,e[h++]=0,e[h++]=0,e[h++]=0,e[h++]=t>>>24&255,e[h++]=t>>>16&255,e[h++]=t>>>8&255,e[h++]=255&t}else for(e[h++]=255&t,e[h++]=t>>>8&255,e[h++]=t>>>16&255,e[h++]=t>>>24&255,e[h++]=0,e[h++]=0,e[h++]=0,e[h++]=0,s=8;s<this.padLength;s++)e[h++]=0;return e};
|
|
355
|
+
},{"./utils":"eeOV","minimalistic-assert":"MpuC"}],"qR4i":[function(require,module,exports) {
|
|
356
|
+
"use strict";var r=require("../utils"),t=r.rotr32;function n(r,t,n,s){return 0===r?e(t,n,s):1===r||3===r?o(t,n,s):2===r?u(t,n,s):void 0}function e(r,t,n){return r&t^~r&n}function u(r,t,n){return r&t^r&n^t&n}function o(r,t,n){return r^t^n}function s(r){return t(r,2)^t(r,13)^t(r,22)}function i(r){return t(r,6)^t(r,11)^t(r,25)}function c(r){return t(r,7)^t(r,18)^r>>>3}function f(r){return t(r,17)^t(r,19)^r>>>10}exports.ft_1=n,exports.ch32=e,exports.maj32=u,exports.p32=o,exports.s0_256=s,exports.s1_256=i,exports.g0_256=c,exports.g1_256=f;
|
|
357
|
+
},{"../utils":"eeOV"}],"r+iE":[function(require,module,exports) {
|
|
358
|
+
"use strict";var t=require("../utils"),h=require("../common"),i=require("./common"),s=t.rotl32,e=t.sum32,r=t.sum32_5,o=i.ft_1,n=h.BlockHash,u=[1518500249,1859775393,2400959708,3395469782];function a(){if(!(this instanceof a))return new a;n.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}t.inherits(a,n),module.exports=a,a.blockSize=512,a.outSize=160,a.hmacStrength=80,a.padLength=64,a.prototype._update=function(t,h){for(var i=this.W,n=0;n<16;n++)i[n]=t[h+n];for(;n<i.length;n++)i[n]=s(i[n-3]^i[n-8]^i[n-14]^i[n-16],1);var a=this.h[0],c=this.h[1],l=this.h[2],f=this.h[3],m=this.h[4];for(n=0;n<i.length;n++){var p=~~(n/20),g=r(s(a,5),o(p,c,l,f),m,i[n],u[p]);m=f,f=l,l=s(c,30),c=a,a=g}this.h[0]=e(this.h[0],a),this.h[1]=e(this.h[1],c),this.h[2]=e(this.h[2],l),this.h[3]=e(this.h[3],f),this.h[4]=e(this.h[4],m)},a.prototype._digest=function(h){return"hex"===h?t.toHex32(this.h,"big"):t.split32(this.h,"big")};
|
|
359
|
+
},{"../utils":"eeOV","../common":"p0gz","./common":"qR4i"}],"iJWs":[function(require,module,exports) {
|
|
360
|
+
"use strict";var h=require("../utils"),t=require("../common"),i=require("./common"),s=require("minimalistic-assert"),e=h.sum32,r=h.sum32_4,n=h.sum32_5,o=i.ch32,u=i.maj32,a=i.s0_256,c=i.s1_256,l=i.g0_256,m=i.g1_256,g=t.BlockHash,f=[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 p(){if(!(this instanceof p))return new p;g.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=f,this.W=new Array(64)}h.inherits(p,g),module.exports=p,p.blockSize=512,p.outSize=256,p.hmacStrength=192,p.padLength=64,p.prototype._update=function(h,t){for(var i=this.W,g=0;g<16;g++)i[g]=h[t+g];for(;g<i.length;g++)i[g]=r(m(i[g-2]),i[g-7],l(i[g-15]),i[g-16]);var f=this.h[0],p=this.h[1],_=this.h[2],k=this.h[3],d=this.h[4],q=this.h[5],v=this.h[6],b=this.h[7];for(s(this.k.length===i.length),g=0;g<i.length;g++){var x=n(b,c(d),o(d,q,v),this.k[g],i[g]),y=e(a(f),u(f,p,_));b=v,v=q,q=d,d=e(k,x),k=_,_=p,p=f,f=e(x,y)}this.h[0]=e(this.h[0],f),this.h[1]=e(this.h[1],p),this.h[2]=e(this.h[2],_),this.h[3]=e(this.h[3],k),this.h[4]=e(this.h[4],d),this.h[5]=e(this.h[5],q),this.h[6]=e(this.h[6],v),this.h[7]=e(this.h[7],b)},p.prototype._digest=function(t){return"hex"===t?h.toHex32(this.h,"big"):h.split32(this.h,"big")};
|
|
361
|
+
},{"../utils":"eeOV","../common":"p0gz","./common":"qR4i","minimalistic-assert":"MpuC"}],"3NwV":[function(require,module,exports) {
|
|
362
|
+
"use strict";var t=require("../utils"),i=require("./256");function e(){if(!(this instanceof e))return new e;i.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}t.inherits(e,i),module.exports=e,e.blockSize=512,e.outSize=224,e.hmacStrength=192,e.padLength=64,e.prototype._digest=function(i){return"hex"===i?t.toHex32(this.h.slice(0,7),"big"):t.split32(this.h.slice(0,7),"big")};
|
|
363
|
+
},{"../utils":"eeOV","./256":"iJWs"}],"CY40":[function(require,module,exports) {
|
|
364
|
+
"use strict";var t=require("../utils"),h=require("../common"),i=require("minimalistic-assert"),r=t.rotr64_hi,n=t.rotr64_lo,s=t.shr64_hi,e=t.shr64_lo,u=t.sum64,o=t.sum64_hi,a=t.sum64_lo,c=t.sum64_4_hi,f=t.sum64_4_lo,l=t.sum64_5_hi,v=t.sum64_5_lo,_=h.BlockHash,p=[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 m(){if(!(this instanceof m))return new m;_.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=p,this.W=new Array(160)}function g(t,h,i,r,n){var s=t&i^~t&n;return s<0&&(s+=4294967296),s}function k(t,h,i,r,n,s){var e=h&r^~h&s;return e<0&&(e+=4294967296),e}function d(t,h,i,r,n){var s=t&i^t&n^i&n;return s<0&&(s+=4294967296),s}function y(t,h,i,r,n,s){var e=h&r^h&s^r&s;return e<0&&(e+=4294967296),e}function b(t,h){var i=r(t,h,28)^r(h,t,2)^r(h,t,7);return i<0&&(i+=4294967296),i}function q(t,h){var i=n(t,h,28)^n(h,t,2)^n(h,t,7);return i<0&&(i+=4294967296),i}function x(t,h){var i=r(t,h,14)^r(t,h,18)^r(h,t,9);return i<0&&(i+=4294967296),i}function B(t,h){var i=n(t,h,14)^n(t,h,18)^n(h,t,9);return i<0&&(i+=4294967296),i}function S(t,h){var i=r(t,h,1)^r(t,h,8)^s(t,h,7);return i<0&&(i+=4294967296),i}function W(t,h){var i=n(t,h,1)^n(t,h,8)^e(t,h,7);return i<0&&(i+=4294967296),i}function w(t,h){var i=r(t,h,19)^r(h,t,29)^s(t,h,6);return i<0&&(i+=4294967296),i}function z(t,h){var i=n(t,h,19)^n(h,t,29)^e(t,h,6);return i<0&&(i+=4294967296),i}t.inherits(m,_),module.exports=m,m.blockSize=1024,m.outSize=512,m.hmacStrength=192,m.padLength=128,m.prototype._prepareBlock=function(t,h){for(var i=this.W,r=0;r<32;r++)i[r]=t[h+r];for(;r<i.length;r+=2){var n=w(i[r-4],i[r-3]),s=z(i[r-4],i[r-3]),e=i[r-14],u=i[r-13],o=S(i[r-30],i[r-29]),a=W(i[r-30],i[r-29]),l=i[r-32],v=i[r-31];i[r]=c(n,s,e,u,o,a,l,v),i[r+1]=f(n,s,e,u,o,a,l,v)}},m.prototype._update=function(t,h){this._prepareBlock(t,h);var r=this.W,n=this.h[0],s=this.h[1],e=this.h[2],c=this.h[3],f=this.h[4],_=this.h[5],p=this.h[6],m=this.h[7],S=this.h[8],W=this.h[9],w=this.h[10],z=this.h[11],H=this.h[12],A=this.h[13],L=this.h[14],j=this.h[15];i(this.k.length===r.length);for(var C=0;C<r.length;C+=2){var D=L,E=j,F=x(S,W),G=B(S,W),I=g(S,W,w,z,H,A),J=k(S,W,w,z,H,A),K=this.k[C],M=this.k[C+1],N=r[C],O=r[C+1],P=l(D,E,F,G,I,J,K,M,N,O),Q=v(D,E,F,G,I,J,K,M,N,O);D=b(n,s),E=q(n,s),F=d(n,s,e,c,f,_),G=y(n,s,e,c,f,_);var R=o(D,E,F,G),T=a(D,E,F,G);L=H,j=A,H=w,A=z,w=S,z=W,S=o(p,m,P,Q),W=a(m,m,P,Q),p=f,m=_,f=e,_=c,e=n,c=s,n=o(P,Q,R,T),s=a(P,Q,R,T)}u(this.h,0,n,s),u(this.h,2,e,c),u(this.h,4,f,_),u(this.h,6,p,m),u(this.h,8,S,W),u(this.h,10,w,z),u(this.h,12,H,A),u(this.h,14,L,j)},m.prototype._digest=function(h){return"hex"===h?t.toHex32(this.h,"big"):t.split32(this.h,"big")};
|
|
365
|
+
},{"../utils":"eeOV","../common":"p0gz","minimalistic-assert":"MpuC"}],"5sAV":[function(require,module,exports) {
|
|
366
|
+
"use strict";var t=require("../utils"),i=require("./512");function e(){if(!(this instanceof e))return new e;i.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}t.inherits(e,i),module.exports=e,e.blockSize=1024,e.outSize=384,e.hmacStrength=192,e.padLength=128,e.prototype._digest=function(i){return"hex"===i?t.toHex32(this.h.slice(0,12),"big"):t.split32(this.h.slice(0,12),"big")};
|
|
367
|
+
},{"../utils":"eeOV","./512":"CY40"}],"BhcK":[function(require,module,exports) {
|
|
368
|
+
"use strict";exports.sha1=require("./sha/1"),exports.sha224=require("./sha/224"),exports.sha256=require("./sha/256"),exports.sha384=require("./sha/384"),exports.sha512=require("./sha/512");
|
|
369
|
+
},{"./sha/1":"r+iE","./sha/224":"3NwV","./sha/256":"iJWs","./sha/384":"5sAV","./sha/512":"CY40"}],"2tE3":[function(require,module,exports) {
|
|
370
|
+
"use strict";var t=require("./utils"),h=require("./common"),i=t.rotl32,s=t.sum32,e=t.sum32_3,r=t.sum32_4,n=h.BlockHash;function o(){if(!(this instanceof o))return new o;n.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function u(t,h,i,s){return t<=15?h^i^s:t<=31?h&i|~h&s:t<=47?(h|~i)^s:t<=63?h&s|i&~s:h^(i|~s)}function c(t){return t<=15?0:t<=31?1518500249:t<=47?1859775393:t<=63?2400959708:2840853838}function l(t){return t<=15?1352829926:t<=31?1548603684:t<=47?1836072691:t<=63?2053994217:0}t.inherits(o,n),exports.ripemd160=o,o.blockSize=512,o.outSize=160,o.hmacStrength=192,o.padLength=64,o.prototype._update=function(t,h){for(var n=this.h[0],o=this.h[1],d=this.h[2],v=this.h[3],_=this.h[4],g=n,x=o,S=d,k=v,q=_,y=0;y<80;y++){var z=s(i(r(n,u(y,o,d,v),t[a[y]+h],c(y)),p[y]),_);n=_,_=v,v=i(d,10),d=o,o=z,z=s(i(r(g,u(79-y,x,S,k),t[f[y]+h],l(y)),m[y]),q),g=q,q=k,k=i(S,10),S=x,x=z}z=e(this.h[1],d,k),this.h[1]=e(this.h[2],v,q),this.h[2]=e(this.h[3],_,g),this.h[3]=e(this.h[4],n,x),this.h[4]=e(this.h[0],o,S),this.h[0]=z},o.prototype._digest=function(h){return"hex"===h?t.toHex32(this.h,"little"):t.split32(this.h,"little")};var a=[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],f=[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],p=[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],m=[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];
|
|
371
|
+
},{"./utils":"eeOV","./common":"p0gz"}],"A/a3":[function(require,module,exports) {
|
|
372
|
+
"use strict";var t=require("./utils"),i=require("minimalistic-assert");function e(i,s,n){if(!(this instanceof e))return new e(i,s,n);this.Hash=i,this.blockSize=i.blockSize/8,this.outSize=i.outSize/8,this.inner=null,this.outer=null,this._init(t.toArray(s,n))}module.exports=e,e.prototype._init=function(t){t.length>this.blockSize&&(t=(new this.Hash).update(t).digest()),i(t.length<=this.blockSize);for(var e=t.length;e<this.blockSize;e++)t.push(0);for(e=0;e<t.length;e++)t[e]^=54;for(this.inner=(new this.Hash).update(t),e=0;e<t.length;e++)t[e]^=106;this.outer=(new this.Hash).update(t)},e.prototype.update=function(t,i){return this.inner.update(t,i),this},e.prototype.digest=function(t){return this.outer.update(this.inner.digest()),this.outer.digest(t)};
|
|
373
|
+
},{"./utils":"eeOV","minimalistic-assert":"MpuC"}],"fVGI":[function(require,module,exports) {
|
|
374
|
+
var h=exports;h.utils=require("./hash/utils"),h.common=require("./hash/common"),h.sha=require("./hash/sha"),h.ripemd=require("./hash/ripemd"),h.hmac=require("./hash/hmac"),h.sha1=h.sha.sha1,h.sha256=h.sha.sha256,h.sha224=h.sha.sha224,h.sha384=h.sha.sha384,h.sha512=h.sha.sha512,h.ripemd160=h.ripemd.ripemd160;
|
|
375
|
+
},{"./hash/utils":"eeOV","./hash/common":"p0gz","./hash/sha":"BhcK","./hash/ripemd":"2tE3","./hash/hmac":"A/a3"}],"khx4":[function(require,module,exports) {
|
|
376
|
+
module.exports={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"]]}};
|
|
377
|
+
},{}],"1Exa":[function(require,module,exports) {
|
|
378
|
+
"use strict";var f,e=exports,a=require("hash.js"),b=require("./curve"),c=require("./utils"),d=c.assert;function r(f){"short"===f.type?this.curve=new b.short(f):"edwards"===f.type?this.curve=new b.edwards(f):this.curve=new b.mont(f),this.g=this.curve.g,this.n=this.curve.n,this.hash=f.hash,d(this.g.validate(),"Invalid curve"),d(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function s(f,a){Object.defineProperty(e,f,{configurable:!0,enumerable:!0,get:function(){var b=new r(a);return Object.defineProperty(e,f,{configurable:!0,enumerable:!0,value:b}),b}})}e.PresetCurve=r,s("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:a.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),s("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:a.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),s("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:a.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),s("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:a.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"]}),s("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:a.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"]}),s("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:a.sha256,gRed:!1,g:["9"]}),s("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:a.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{f=require("./precomputed/secp256k1")}catch(t){f=void 0}s("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:a.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",f]});
|
|
379
|
+
},{"hash.js":"fVGI","./curve":"P4Ml","./utils":"F8Ez","./precomputed/secp256k1":"khx4"}],"vdhc":[function(require,module,exports) {
|
|
380
|
+
"use strict";var t=require("hash.js"),e=require("minimalistic-crypto-utils"),i=require("minimalistic-assert");function s(t){if(!(this instanceof s))return new s(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var h=e.toArray(t.entropy,t.entropyEnc||"hex"),r=e.toArray(t.nonce,t.nonceEnc||"hex"),n=e.toArray(t.pers,t.persEnc||"hex");i(h.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(h,r,n)}module.exports=s,s.prototype._init=function(t,e,i){var s=t.concat(e).concat(i);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var h=0;h<this.V.length;h++)this.K[h]=0,this.V[h]=1;this._update(s),this._reseed=1,this.reseedInterval=281474976710656},s.prototype._hmac=function(){return new t.hmac(this.hash,this.K)},s.prototype._update=function(t){var e=this._hmac().update(this.V).update([0]);t&&(e=e.update(t)),this.K=e.digest(),this.V=this._hmac().update(this.V).digest(),t&&(this.K=this._hmac().update(this.V).update([1]).update(t).digest(),this.V=this._hmac().update(this.V).digest())},s.prototype.reseed=function(t,s,h,r){"string"!=typeof s&&(r=h,h=s,s=null),t=e.toArray(t,s),h=e.toArray(h,r),i(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(h||[])),this._reseed=1},s.prototype.generate=function(t,i,s,h){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof i&&(h=s,s=i,i=null),s&&(s=e.toArray(s,h||"hex"),this._update(s));for(var r=[];r.length<t;)this.V=this._hmac().update(this.V).digest(),r=r.concat(this.V);var n=r.slice(0,t);return this._update(s),this._reseed++,e.encode(n,i)};
|
|
381
|
+
},{"hash.js":"fVGI","minimalistic-crypto-utils":"vl2S","minimalistic-assert":"MpuC"}],"4YPk":[function(require,module,exports) {
|
|
382
|
+
"use strict";var t=require("bn.js"),i=require("../utils"),e=i.assert;function r(t,i){this.ec=t,this.priv=null,this.pub=null,i.priv&&this._importPrivate(i.priv,i.privEnc),i.pub&&this._importPublic(i.pub,i.pubEnc)}module.exports=r,r.fromPublic=function(t,i,e){return i instanceof r?i:new r(t,{pub:i,pubEnc:e})},r.fromPrivate=function(t,i,e){return i instanceof r?i:new r(t,{priv:i,privEnc:e})},r.prototype.validate=function(){var t=this.getPublic();return t.isInfinity()?{result:!1,reason:"Invalid public key"}:t.validate()?t.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"}},r.prototype.getPublic=function(t,i){return"string"==typeof t&&(i=t,t=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),i?this.pub.encode(i,t):this.pub},r.prototype.getPrivate=function(t){return"hex"===t?this.priv.toString(16,2):this.priv},r.prototype._importPrivate=function(i,e){this.priv=new t(i,e||16),this.priv=this.priv.umod(this.ec.curve.n)},r.prototype._importPublic=function(t,i){if(t.x||t.y)return"mont"===this.ec.curve.type?e(t.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||e(t.x&&t.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(t.x,t.y));this.pub=this.ec.curve.decodePoint(t,i)},r.prototype.derive=function(t){return t.validate()||e(t.validate(),"public point not validated"),t.mul(this.priv).getX()},r.prototype.sign=function(t,i,e){return this.ec.sign(t,this,i,e)},r.prototype.verify=function(t,i){return this.ec.verify(t,i,this)},r.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};
|
|
383
|
+
},{"bn.js":"VXic","../utils":"F8Ez"}],"g9QR":[function(require,module,exports) {
|
|
384
|
+
"use strict";var r=require("bn.js"),e=require("../utils"),t=e.assert;function n(e,a){if(e instanceof n)return e;this._importDER(e,a)||(t(e.r&&e.s,"Signature without r or s"),this.r=new r(e.r,16),this.s=new r(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}function a(){this.place=0}function i(r,e){var t=r[e.place++];if(!(128&t))return t;var n=15&t;if(0===n||n>4)return!1;for(var a=0,i=0,c=e.place;i<n;i++,c++)a<<=8,a|=r[c],a>>>=0;return!(a<=127)&&(e.place=c,a)}function c(r){for(var e=0,t=r.length-1;!r[e]&&!(128&r[e+1])&&e<t;)e++;return 0===e?r:r.slice(e)}function o(r,e){if(e<128)r.push(e);else{var t=1+(Math.log(e)/Math.LN2>>>3);for(r.push(128|t);--t;)r.push(e>>>(t<<3)&255);r.push(e)}}module.exports=n,n.prototype._importDER=function(t,n){t=e.toArray(t,n);var c=new a;if(48!==t[c.place++])return!1;var o=i(t,c);if(!1===o)return!1;if(o+c.place!==t.length)return!1;if(2!==t[c.place++])return!1;var u=i(t,c);if(!1===u)return!1;var s=t.slice(c.place,u+c.place);if(c.place+=u,2!==t[c.place++])return!1;var l=i(t,c);if(!1===l)return!1;if(t.length!==l+c.place)return!1;var f=t.slice(c.place,l+c.place);if(0===s[0]){if(!(128&s[1]))return!1;s=s.slice(1)}if(0===f[0]){if(!(128&f[1]))return!1;f=f.slice(1)}return this.r=new r(s),this.s=new r(f),this.recoveryParam=null,!0},n.prototype.toDER=function(r){var t=this.r.toArray(),n=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&n[0]&&(n=[0].concat(n)),t=c(t),n=c(n);!(n[0]||128&n[1]);)n=n.slice(1);var a=[2];o(a,t.length),(a=a.concat(t)).push(2),o(a,n.length);var i=a.concat(n),u=[48];return o(u,i.length),u=u.concat(i),e.encode(u,r)};
|
|
385
|
+
},{"bn.js":"VXic","../utils":"F8Ez"}],"Ly8t":[function(require,module,exports) {
|
|
386
|
+
"use strict";var e=require("bn.js"),r=require("hmac-drbg"),t=require("../utils"),n=require("../curves"),i=require("brorand"),s=t.assert,o=require("./key"),u=require("./signature");function h(e){if(!(this instanceof h))return new h(e);"string"==typeof e&&(s(Object.prototype.hasOwnProperty.call(n,e),"Unknown curve "+e),e=n[e]),e instanceof n.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}module.exports=h,h.prototype.keyPair=function(e){return new o(this,e)},h.prototype.keyFromPrivate=function(e,r){return o.fromPrivate(this,e,r)},h.prototype.keyFromPublic=function(e,r){return o.fromPublic(this,e,r)},h.prototype.genKeyPair=function(t){t||(t={});for(var n=new r({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||i(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),s=this.n.byteLength(),o=this.n.sub(new e(2));;){var u=new e(n.generate(s));if(!(u.cmp(o)>0))return u.iaddn(1),this.keyFromPrivate(u)}},h.prototype._truncateToN=function(e,r){var t=8*e.byteLength()-this.n.bitLength();return t>0&&(e=e.ushrn(t)),!r&&e.cmp(this.n)>=0?e.sub(this.n):e},h.prototype.sign=function(t,n,i,s){"object"==typeof i&&(s=i,i=null),s||(s={}),n=this.keyFromPrivate(n,i),t=this._truncateToN(new e(t,16));for(var o=this.n.byteLength(),h=n.getPrivate().toArray("be",o),c=t.toArray("be",o),a=new r({hash:this.hash,entropy:h,nonce:c,pers:s.pers,persEnc:s.persEnc||"utf8"}),p=this.n.sub(new e(1)),m=0;;m++){var v=s.k?s.k(m):new e(a.generate(this.n.byteLength()));if(!((v=this._truncateToN(v,!0)).cmpn(1)<=0||v.cmp(p)>=0)){var y=this.g.mul(v);if(!y.isInfinity()){var f=y.getX(),g=f.umod(this.n);if(0!==g.cmpn(0)){var d=v.invm(this.n).mul(g.mul(n.getPrivate()).iadd(t));if(0!==(d=d.umod(this.n)).cmpn(0)){var l=(y.getY().isOdd()?1:0)|(0!==f.cmp(g)?2:0);return s.canonical&&d.cmp(this.nh)>0&&(d=this.n.sub(d),l^=1),new u({r:g,s:d,recoveryParam:l})}}}}}},h.prototype.verify=function(r,t,n,i){r=this._truncateToN(new e(r,16)),n=this.keyFromPublic(n,i);var s=(t=new u(t,"hex")).r,o=t.s;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var h,c=o.invm(this.n),a=c.mul(r).umod(this.n),p=c.mul(s).umod(this.n);return this.curve._maxwellTrick?!(h=this.g.jmulAdd(a,n.getPublic(),p)).isInfinity()&&h.eqXToP(s):!(h=this.g.mulAdd(a,n.getPublic(),p)).isInfinity()&&0===h.getX().umod(this.n).cmp(s)},h.prototype.recoverPubKey=function(r,t,n,i){s((3&n)===n,"The recovery param is more than two bits"),t=new u(t,i);var o=this.n,h=new e(r),c=t.r,a=t.s,p=1&n,m=n>>1;if(c.cmp(this.curve.p.umod(this.curve.n))>=0&&m)throw new Error("Unable to find sencond key candinate");c=m?this.curve.pointFromX(c.add(this.curve.n),p):this.curve.pointFromX(c,p);var v=t.r.invm(o),y=o.sub(h).mul(v).umod(o),f=a.mul(v).umod(o);return this.g.mulAdd(y,c,f)},h.prototype.getKeyRecoveryParam=function(e,r,t,n){if(null!==(r=new u(r,n)).recoveryParam)return r.recoveryParam;for(var i=0;i<4;i++){var s;try{s=this.recoverPubKey(e,r,i)}catch(e){continue}if(s.eq(t))return i}throw new Error("Unable to find valid recovery factor")};
|
|
387
|
+
},{"bn.js":"VXic","hmac-drbg":"vdhc","../utils":"F8Ez","../curves":"1Exa","brorand":"e03B","./key":"4YPk","./signature":"g9QR"}],"mg26":[function(require,module,exports) {
|
|
388
|
+
"use strict";var t=require("../utils"),e=t.assert,s=t.parseBytes,i=t.cachedProperty;function n(t,e){this.eddsa=t,this._secret=s(e.secret),t.isPoint(e.pub)?this._pub=e.pub:this._pubBytes=s(e.pub)}n.fromPublic=function(t,e){return e instanceof n?e:new n(t,{pub:e})},n.fromSecret=function(t,e){return e instanceof n?e:new n(t,{secret:e})},n.prototype.secret=function(){return this._secret},i(n,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())}),i(n,"pub",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),i(n,"privBytes",function(){var t=this.eddsa,e=this.hash(),s=t.encodingLength-1,i=e.slice(0,t.encodingLength);return i[0]&=248,i[s]&=127,i[s]|=64,i}),i(n,"priv",function(){return this.eddsa.decodeInt(this.privBytes())}),i(n,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()}),i(n,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)}),n.prototype.sign=function(t){return e(this._secret,"KeyPair can only verify"),this.eddsa.sign(t,this)},n.prototype.verify=function(t,e){return this.eddsa.verify(t,e,this)},n.prototype.getSecret=function(s){return e(this._secret,"KeyPair is public only"),t.encode(this.secret(),s)},n.prototype.getPublic=function(e){return t.encode(this.pubBytes(),e)},module.exports=n;
|
|
389
|
+
},{"../utils":"F8Ez"}],"p5it":[function(require,module,exports) {
|
|
390
|
+
"use strict";var e=require("bn.js"),t=require("../utils"),n=t.assert,o=t.cachedProperty,d=t.parseBytes;function i(t,o){this.eddsa=t,"object"!=typeof o&&(o=d(o)),Array.isArray(o)&&(o={R:o.slice(0,t.encodingLength),S:o.slice(t.encodingLength)}),n(o.R&&o.S,"Signature without R or S"),t.isPoint(o.R)&&(this._R=o.R),o.S instanceof e&&(this._S=o.S),this._Rencoded=Array.isArray(o.R)?o.R:o.Rencoded,this._Sencoded=Array.isArray(o.S)?o.S:o.Sencoded}o(i,"S",function(){return this.eddsa.decodeInt(this.Sencoded())}),o(i,"R",function(){return this.eddsa.decodePoint(this.Rencoded())}),o(i,"Rencoded",function(){return this.eddsa.encodePoint(this.R())}),o(i,"Sencoded",function(){return this.eddsa.encodeInt(this.S())}),i.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},i.prototype.toHex=function(){return t.encode(this.toBytes(),"hex").toUpperCase()},module.exports=i;
|
|
391
|
+
},{"bn.js":"VXic","../utils":"F8Ez"}],"a3LM":[function(require,module,exports) {
|
|
392
|
+
"use strict";var t=require("hash.js"),e=require("../curves"),n=require("../utils"),r=n.assert,i=n.parseBytes,o=require("./key"),s=require("./signature");function u(n){if(r("ed25519"===n,"only tested with ed25519 so far"),!(this instanceof u))return new u(n);n=e[n].curve,this.curve=n,this.g=n.g,this.g.precompute(n.n.bitLength()+1),this.pointClass=n.point().constructor,this.encodingLength=Math.ceil(n.n.bitLength()/8),this.hash=t.sha512}module.exports=u,u.prototype.sign=function(t,e){t=i(t);var n=this.keyFromSecret(e),r=this.hashInt(n.messagePrefix(),t),o=this.g.mul(r),s=this.encodePoint(o),u=this.hashInt(s,n.pubBytes(),t).mul(n.priv()),h=r.add(u).umod(this.curve.n);return this.makeSignature({R:o,S:h,Rencoded:s})},u.prototype.verify=function(t,e,n){t=i(t),e=this.makeSignature(e);var r=this.keyFromPublic(n),o=this.hashInt(e.Rencoded(),r.pubBytes(),t),s=this.g.mul(e.S());return e.R().add(r.pub().mul(o)).eq(s)},u.prototype.hashInt=function(){for(var t=this.hash(),e=0;e<arguments.length;e++)t.update(arguments[e]);return n.intFromLE(t.digest()).umod(this.curve.n)},u.prototype.keyFromPublic=function(t){return o.fromPublic(this,t)},u.prototype.keyFromSecret=function(t){return o.fromSecret(this,t)},u.prototype.makeSignature=function(t){return t instanceof s?t:new s(this,t)},u.prototype.encodePoint=function(t){var e=t.getY().toArray("le",this.encodingLength);return e[this.encodingLength-1]|=t.getX().isOdd()?128:0,e},u.prototype.decodePoint=function(t){var e=(t=n.parseBytes(t)).length-1,r=t.slice(0,e).concat(-129&t[e]),i=0!=(128&t[e]),o=n.intFromLE(r);return this.curve.pointFromY(o,i)},u.prototype.encodeInt=function(t){return t.toArray("le",this.encodingLength)},u.prototype.decodeInt=function(t){return n.intFromLE(t)},u.prototype.isPoint=function(t){return t instanceof this.pointClass};
|
|
393
|
+
},{"hash.js":"fVGI","../curves":"1Exa","../utils":"F8Ez","./key":"mg26","./signature":"p5it"}],"xha3":[function(require,module,exports) {
|
|
394
|
+
"use strict";var e=exports;e.version=require("../package.json").version,e.utils=require("./elliptic/utils"),e.rand=require("brorand"),e.curve=require("./elliptic/curve"),e.curves=require("./elliptic/curves"),e.ec=require("./elliptic/ec"),e.eddsa=require("./elliptic/eddsa");
|
|
395
|
+
},{"../package.json":"bNi7","./elliptic/utils":"F8Ez","brorand":"e03B","./elliptic/curve":"P4Ml","./elliptic/curves":"1Exa","./elliptic/ec":"Ly8t","./elliptic/eddsa":"a3LM"}],"rE8J":[function(require,module,exports) {
|
|
396
|
+
|
|
397
|
+
var process = require("process");
|
|
398
|
+
var e,r=require("process"),t=require("buffer"),n=t.Buffer,o={};for(e in t)t.hasOwnProperty(e)&&"SlowBuffer"!==e&&"Buffer"!==e&&(o[e]=t[e]);var f=o.Buffer={};for(e in n)n.hasOwnProperty(e)&&"allocUnsafe"!==e&&"allocUnsafeSlow"!==e&&(f[e]=n[e]);if(o.Buffer.prototype=n.prototype,f.from&&f.from!==Uint8Array.from||(f.from=function(e,r,t){if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type '+typeof e);if(e&&void 0===e.length)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);return n(e,r,t)}),f.alloc||(f.alloc=function(e,r,t){if("number"!=typeof e)throw new TypeError('The "size" argument must be of type number. Received type '+typeof e);if(e<0||e>=2*(1<<30))throw new RangeError('The value "'+e+'" is invalid for option "size"');var o=n(e);return r&&0!==r.length?"string"==typeof t?o.fill(r,t):o.fill(r):o.fill(0),o}),!o.kStringMaxLength)try{o.kStringMaxLength=r.binding("buffer").kStringMaxLength}catch(i){}o.constants||(o.constants={MAX_LENGTH:o.kMaxLength},o.kStringMaxLength&&(o.constants.MAX_STRING_LENGTH=o.kStringMaxLength)),module.exports=o;
|
|
399
|
+
},{"buffer":"dskh","process":"pBGv"}],"BhoU":[function(require,module,exports) {
|
|
400
|
+
"use strict";const t=require("inherits");function r(t){this._reporterState={obj:null,path:[],options:t||{},errors:[]}}function e(t,r){this.path=t,this.rethrow(r)}exports.Reporter=r,r.prototype.isError=function(t){return t instanceof e},r.prototype.save=function(){const t=this._reporterState;return{obj:t.obj,pathLen:t.path.length}},r.prototype.restore=function(t){const r=this._reporterState;r.obj=t.obj,r.path=r.path.slice(0,t.pathLen)},r.prototype.enterKey=function(t){return this._reporterState.path.push(t)},r.prototype.exitKey=function(t){const r=this._reporterState;r.path=r.path.slice(0,t-1)},r.prototype.leaveKey=function(t,r,e){const o=this._reporterState;this.exitKey(t),null!==o.obj&&(o.obj[r]=e)},r.prototype.path=function(){return this._reporterState.path.join("/")},r.prototype.enterObject=function(){const t=this._reporterState,r=t.obj;return t.obj={},r},r.prototype.leaveObject=function(t){const r=this._reporterState,e=r.obj;return r.obj=t,e},r.prototype.error=function(t){let r;const o=this._reporterState,n=t instanceof e;if(r=n?t:new e(o.path.map(function(t){return"["+JSON.stringify(t)+"]"}).join(""),t.message||t,t.stack),!o.options.partial)throw r;return n||o.errors.push(r),r},r.prototype.wrapResult=function(t){const r=this._reporterState;return r.options.partial?{result:this.isError(t)?null:t,errors:r.errors}:t},t(e,Error),e.prototype.rethrow=function(t){if(this.message=t+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,e),!this.stack)try{throw new Error(this.message)}catch(r){this.stack=r.stack}return this};
|
|
401
|
+
},{"inherits":"4Bm0"}],"JJX4":[function(require,module,exports) {
|
|
402
|
+
|
|
403
|
+
"use strict";const e=require("inherits"),t=require("../base/reporter").Reporter,r=require("safer-buffer").Buffer;function o(e,o){t.call(this,o),r.isBuffer(e)?(this.base=e,this.offset=0,this.length=e.length):this.error("Input not Buffer")}function f(e,t){if(Array.isArray(e))this.length=0,this.value=e.map(function(e){return f.isEncoderBuffer(e)||(e=new f(e,t)),this.length+=e.length,e},this);else if("number"==typeof e){if(!(0<=e&&e<=255))return t.error("non-byte EncoderBuffer value");this.value=e,this.length=1}else if("string"==typeof e)this.value=e,this.length=r.byteLength(e);else{if(!r.isBuffer(e))return t.error("Unsupported type: "+typeof e);this.value=e,this.length=e.length}}e(o,t),exports.DecoderBuffer=o,o.isDecoderBuffer=function(e){if(e instanceof o)return!0;return"object"==typeof e&&r.isBuffer(e.base)&&"DecoderBuffer"===e.constructor.name&&"number"==typeof e.offset&&"number"==typeof e.length&&"function"==typeof e.save&&"function"==typeof e.restore&&"function"==typeof e.isEmpty&&"function"==typeof e.readUInt8&&"function"==typeof e.skip&&"function"==typeof e.raw},o.prototype.save=function(){return{offset:this.offset,reporter:t.prototype.save.call(this)}},o.prototype.restore=function(e){const r=new o(this.base);return r.offset=e.offset,r.length=this.offset,this.offset=e.offset,t.prototype.restore.call(this,e.reporter),r},o.prototype.isEmpty=function(){return this.offset===this.length},o.prototype.readUInt8=function(e){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(e||"DecoderBuffer overrun")},o.prototype.skip=function(e,t){if(!(this.offset+e<=this.length))return this.error(t||"DecoderBuffer overrun");const r=new o(this.base);return r._reporterState=this._reporterState,r.offset=this.offset,r.length=this.offset+e,this.offset+=e,r},o.prototype.raw=function(e){return this.base.slice(e?e.offset:this.offset,this.length)},exports.EncoderBuffer=f,f.isEncoderBuffer=function(e){if(e instanceof f)return!0;return"object"==typeof e&&"EncoderBuffer"===e.constructor.name&&"number"==typeof e.length&&"function"==typeof e.join},f.prototype.join=function(e,t){return e||(e=r.alloc(this.length)),t||(t=0),0===this.length?e:(Array.isArray(this.value)?this.value.forEach(function(r){r.join(e,t),t+=r.length}):("number"==typeof this.value?e[t]=this.value:"string"==typeof this.value?e.write(this.value,t):r.isBuffer(this.value)&&this.value.copy(e,t),t+=this.length),e)};
|
|
404
|
+
},{"inherits":"4Bm0","../base/reporter":"BhoU","safer-buffer":"rE8J"}],"5k+Z":[function(require,module,exports) {
|
|
405
|
+
"use strict";const e=require("../base/reporter").Reporter,t=require("../base/buffer").EncoderBuffer,n=require("../base/buffer").DecoderBuffer,i=require("minimalistic-assert"),o=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],r=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(o),s=["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"];function c(e,t,n){const i={};this._baseState=i,i.name=n,i.enc=e,i.parent=t||null,i.children=null,i.tag=null,i.args=null,i.reverseArgs=null,i.choice=null,i.optional=!1,i.any=!1,i.obj=!1,i.use=null,i.useDecoder=null,i.key=null,i.default=null,i.explicit=null,i.implicit=null,i.contains=null,i.parent||(i.children=[],this._wrap())}module.exports=c;const l=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];c.prototype.clone=function(){const e=this._baseState,t={};l.forEach(function(n){t[n]=e[n]});const n=new this.constructor(t.parent);return n._baseState=t,n},c.prototype._wrap=function(){const e=this._baseState;r.forEach(function(t){this[t]=function(){const n=new this.constructor(this);return e.children.push(n),n[t].apply(n,arguments)}},this)},c.prototype._init=function(e){const t=this._baseState;i(null===t.parent),e.call(this),t.children=t.children.filter(function(e){return e._baseState.parent===this},this),i.equal(t.children.length,1,"Root node can have only one child")},c.prototype._useArgs=function(e){const t=this._baseState,n=e.filter(function(e){return e instanceof this.constructor},this);e=e.filter(function(e){return!(e instanceof this.constructor)},this),0!==n.length&&(i(null===t.children),t.children=n,n.forEach(function(e){e._baseState.parent=this},this)),0!==e.length&&(i(null===t.args),t.args=e,t.reverseArgs=e.map(function(e){if("object"!=typeof e||e.constructor!==Object)return e;const t={};return Object.keys(e).forEach(function(n){n==(0|n)&&(n|=0);const i=e[n];t[i]=n}),t}))},s.forEach(function(e){c.prototype[e]=function(){const t=this._baseState;throw new Error(e+" not implemented for encoding: "+t.enc)}}),o.forEach(function(e){c.prototype[e]=function(){const t=this._baseState,n=Array.prototype.slice.call(arguments);return i(null===t.tag),t.tag=e,this._useArgs(n),this}}),c.prototype.use=function(e){i(e);const t=this._baseState;return i(null===t.use),t.use=e,this},c.prototype.optional=function(){return this._baseState.optional=!0,this},c.prototype.def=function(e){const t=this._baseState;return i(null===t.default),t.default=e,t.optional=!0,this},c.prototype.explicit=function(e){const t=this._baseState;return i(null===t.explicit&&null===t.implicit),t.explicit=e,this},c.prototype.implicit=function(e){const t=this._baseState;return i(null===t.explicit&&null===t.implicit),t.implicit=e,this},c.prototype.obj=function(){const e=this._baseState,t=Array.prototype.slice.call(arguments);return e.obj=!0,0!==t.length&&this._useArgs(t),this},c.prototype.key=function(e){const t=this._baseState;return i(null===t.key),t.key=e,this},c.prototype.any=function(){return this._baseState.any=!0,this},c.prototype.choice=function(e){const t=this._baseState;return i(null===t.choice),t.choice=e,this._useArgs(Object.keys(e).map(function(t){return e[t]})),this},c.prototype.contains=function(e){const t=this._baseState;return i(null===t.use),t.contains=e,this},c.prototype._decode=function(e,t){const i=this._baseState;if(null===i.parent)return e.wrapResult(i.children[0]._decode(e,t));let o,r=i.default,s=!0,c=null;if(null!==i.key&&(c=e.enterKey(i.key)),i.optional){let n=null;if(null!==i.explicit?n=i.explicit:null!==i.implicit?n=i.implicit:null!==i.tag&&(n=i.tag),null!==n||i.any){if(s=this._peekTag(e,n,i.any),e.isError(s))return s}else{const n=e.save();try{null===i.choice?this._decodeGeneric(i.tag,e,t):this._decodeChoice(e,t),s=!0}catch(l){s=!1}e.restore(n)}}if(i.obj&&s&&(o=e.enterObject()),s){if(null!==i.explicit){const t=this._decodeTag(e,i.explicit);if(e.isError(t))return t;e=t}const o=e.offset;if(null===i.use&&null===i.choice){let t;i.any&&(t=e.save());const n=this._decodeTag(e,null!==i.implicit?i.implicit:i.tag,i.any);if(e.isError(n))return n;i.any?r=e.raw(t):e=n}if(t&&t.track&&null!==i.tag&&t.track(e.path(),o,e.length,"tagged"),t&&t.track&&null!==i.tag&&t.track(e.path(),e.offset,e.length,"content"),i.any||(r=null===i.choice?this._decodeGeneric(i.tag,e,t):this._decodeChoice(e,t)),e.isError(r))return r;if(i.any||null!==i.choice||null===i.children||i.children.forEach(function(n){n._decode(e,t)}),i.contains&&("octstr"===i.tag||"bitstr"===i.tag)){const o=new n(r);r=this._getUse(i.contains,e._reporterState.obj)._decode(o,t)}}return i.obj&&s&&(r=e.leaveObject(o)),null===i.key||null===r&&!0!==s?null!==c&&e.exitKey(c):e.leaveKey(c,i.key,r),r},c.prototype._decodeGeneric=function(e,t,n){const i=this._baseState;return"seq"===e||"set"===e?null:"seqof"===e||"setof"===e?this._decodeList(t,e,i.args[0],n):/str$/.test(e)?this._decodeStr(t,e,n):"objid"===e&&i.args?this._decodeObjid(t,i.args[0],i.args[1],n):"objid"===e?this._decodeObjid(t,null,null,n):"gentime"===e||"utctime"===e?this._decodeTime(t,e,n):"null_"===e?this._decodeNull(t,n):"bool"===e?this._decodeBool(t,n):"objDesc"===e?this._decodeStr(t,e,n):"int"===e||"enum"===e?this._decodeInt(t,i.args&&i.args[0],n):null!==i.use?this._getUse(i.use,t._reporterState.obj)._decode(t,n):t.error("unknown tag: "+e)},c.prototype._getUse=function(e,t){const n=this._baseState;return n.useDecoder=this._use(e,t),i(null===n.useDecoder._baseState.parent),n.useDecoder=n.useDecoder._baseState.children[0],n.implicit!==n.useDecoder._baseState.implicit&&(n.useDecoder=n.useDecoder.clone(),n.useDecoder._baseState.implicit=n.implicit),n.useDecoder},c.prototype._decodeChoice=function(e,t){const n=this._baseState;let i=null,o=!1;return Object.keys(n.choice).some(function(r){const s=e.save(),c=n.choice[r];try{const n=c._decode(e,t);if(e.isError(n))return!1;i={type:r,value:n},o=!0}catch(l){return e.restore(s),!1}return!0},this),o?i:e.error("Choice not matched")},c.prototype._createEncoderBuffer=function(e){return new t(e,this.reporter)},c.prototype._encode=function(e,t,n){const i=this._baseState;if(null!==i.default&&i.default===e)return;const o=this._encodeValue(e,t,n);return void 0===o||this._skipDefault(o,t,n)?void 0:o},c.prototype._encodeValue=function(t,n,i){const o=this._baseState;if(null===o.parent)return o.children[0]._encode(t,n||new e);let r=null;if(this.reporter=n,o.optional&&void 0===t){if(null===o.default)return;t=o.default}let s=null,c=!1;if(o.any)r=this._createEncoderBuffer(t);else if(o.choice)r=this._encodeChoice(t,n);else if(o.contains)s=this._getUse(o.contains,i)._encode(t,n),c=!0;else if(o.children)s=o.children.map(function(e){if("null_"===e._baseState.tag)return e._encode(null,n,t);if(null===e._baseState.key)return n.error("Child should have a key");const i=n.enterKey(e._baseState.key);if("object"!=typeof t)return n.error("Child expected, but input is not object");const o=e._encode(t[e._baseState.key],n,t);return n.leaveKey(i),o},this).filter(function(e){return e}),s=this._createEncoderBuffer(s);else if("seqof"===o.tag||"setof"===o.tag){if(!o.args||1!==o.args.length)return n.error("Too many args for : "+o.tag);if(!Array.isArray(t))return n.error("seqof/setof, but data is not Array");const e=this.clone();e._baseState.implicit=null,s=this._createEncoderBuffer(t.map(function(e){const i=this._baseState;return this._getUse(i.args[0],t)._encode(e,n)},e))}else null!==o.use?r=this._getUse(o.use,i)._encode(t,n):(s=this._encodePrimitive(o.tag,t),c=!0);if(!o.any&&null===o.choice){const e=null!==o.implicit?o.implicit:o.tag,t=null===o.implicit?"universal":"context";null===e?null===o.use&&n.error("Tag could be omitted only for .use()"):null===o.use&&(r=this._encodeComposite(e,c,t,s))}return null!==o.explicit&&(r=this._encodeComposite(o.explicit,!1,"context",r)),r},c.prototype._encodeChoice=function(e,t){const n=this._baseState,o=n.choice[e.type];return o||i(!1,e.type+" not found in "+JSON.stringify(Object.keys(n.choice))),o._encode(e.value,t)},c.prototype._encodePrimitive=function(e,t){const n=this._baseState;if(/str$/.test(e))return this._encodeStr(t,e);if("objid"===e&&n.args)return this._encodeObjid(t,n.reverseArgs[0],n.args[1]);if("objid"===e)return this._encodeObjid(t,null,null);if("gentime"===e||"utctime"===e)return this._encodeTime(t,e);if("null_"===e)return this._encodeNull();if("int"===e||"enum"===e)return this._encodeInt(t,n.args&&n.reverseArgs[0]);if("bool"===e)return this._encodeBool(t);if("objDesc"===e)return this._encodeStr(t,e);throw new Error("Unsupported tag: "+e)},c.prototype._isNumstr=function(e){return/^[0-9 ]*$/.test(e)},c.prototype._isPrintstr=function(e){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(e)};
|
|
406
|
+
},{"../base/reporter":"BhoU","../base/buffer":"JJX4","minimalistic-assert":"MpuC"}],"psPF":[function(require,module,exports) {
|
|
407
|
+
"use strict";function t(t){const s={};return Object.keys(t).forEach(function(e){(0|e)==e&&(e|=0);const r=t[e];s[r]=e}),s}exports.tagClass={0:"universal",1:"application",2:"context",3:"private"},exports.tagClassByName=t(exports.tagClass),exports.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},exports.tagByName=t(exports.tag);
|
|
408
|
+
},{}],"5adT":[function(require,module,exports) {
|
|
409
|
+
|
|
410
|
+
"use strict";const e=require("inherits"),t=require("safer-buffer").Buffer,r=require("../base/node"),n=require("../constants/der");function o(e){this.enc="der",this.name=e.name,this.entity=e,this.tree=new i,this.tree._init(e.body)}function i(e){r.call(this,"der",e)}function s(e){return e<10?"0"+e:e}function f(e,t,r,o){let i;if("seqof"===e?e="seq":"setof"===e&&(e="set"),n.tagByName.hasOwnProperty(e))i=n.tagByName[e];else{if("number"!=typeof e||(0|e)!==e)return o.error("Unknown tag: "+e);i=e}return i>=31?o.error("Multi-octet tag encoding unsupported"):(t||(i|=32),i|=n.tagClassByName[r||"universal"]<<6)}module.exports=o,o.prototype.encode=function(e,t){return this.tree._encode(e,t).join()},e(i,r),i.prototype._encodeComposite=function(e,r,n,o){const i=f(e,r,n,this.reporter);if(o.length<128){const e=t.alloc(2);return e[0]=i,e[1]=o.length,this._createEncoderBuffer([e,o])}let s=1;for(let t=o.length;t>=256;t>>=8)s++;const u=t.alloc(2+s);u[0]=i,u[1]=128|s;for(let t=1+s,f=o.length;f>0;t--,f>>=8)u[t]=255&f;return this._createEncoderBuffer([u,o])},i.prototype._encodeStr=function(e,r){if("bitstr"===r)return this._createEncoderBuffer([0|e.unused,e.data]);if("bmpstr"===r){const r=t.alloc(2*e.length);for(let t=0;t<e.length;t++)r.writeUInt16BE(e.charCodeAt(t),2*t);return this._createEncoderBuffer(r)}return"numstr"===r?this._isNumstr(e)?this._createEncoderBuffer(e):this.reporter.error("Encoding of string type: numstr supports only digits and space"):"printstr"===r?this._isPrintstr(e)?this._createEncoderBuffer(e):this.reporter.error("Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark"):/str$/.test(r)?this._createEncoderBuffer(e):"objDesc"===r?this._createEncoderBuffer(e):this.reporter.error("Encoding of string type: "+r+" unsupported")},i.prototype._encodeObjid=function(e,r,n){if("string"==typeof e){if(!r)return this.reporter.error("string objid given, but no values map found");if(!r.hasOwnProperty(e))return this.reporter.error("objid not found in values map");e=r[e].split(/[\s.]+/g);for(let t=0;t<e.length;t++)e[t]|=0}else if(Array.isArray(e)){e=e.slice();for(let t=0;t<e.length;t++)e[t]|=0}if(!Array.isArray(e))return this.reporter.error("objid() should be either array or string, got: "+JSON.stringify(e));if(!n){if(e[1]>=40)return this.reporter.error("Second objid identifier OOB");e.splice(0,2,40*e[0]+e[1])}let o=0;for(let t=0;t<e.length;t++){let r=e[t];for(o++;r>=128;r>>=7)o++}const i=t.alloc(o);let s=i.length-1;for(let t=e.length-1;t>=0;t--){let r=e[t];for(i[s--]=127&r;(r>>=7)>0;)i[s--]=128|127&r}return this._createEncoderBuffer(i)},i.prototype._encodeTime=function(e,t){let r;const n=new Date(e);return"gentime"===t?r=[s(n.getUTCFullYear()),s(n.getUTCMonth()+1),s(n.getUTCDate()),s(n.getUTCHours()),s(n.getUTCMinutes()),s(n.getUTCSeconds()),"Z"].join(""):"utctime"===t?r=[s(n.getUTCFullYear()%100),s(n.getUTCMonth()+1),s(n.getUTCDate()),s(n.getUTCHours()),s(n.getUTCMinutes()),s(n.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+t+" time is not supported yet"),this._encodeStr(r,"octstr")},i.prototype._encodeNull=function(){return this._createEncoderBuffer("")},i.prototype._encodeInt=function(e,r){if("string"==typeof e){if(!r)return this.reporter.error("String int or enum given, but no values map");if(!r.hasOwnProperty(e))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(e));e=r[e]}if("number"!=typeof e&&!t.isBuffer(e)){const r=e.toArray();!e.sign&&128&r[0]&&r.unshift(0),e=t.from(r)}if(t.isBuffer(e)){let r=e.length;0===e.length&&r++;const n=t.alloc(r);return e.copy(n),0===e.length&&(n[0]=0),this._createEncoderBuffer(n)}if(e<128)return this._createEncoderBuffer(e);if(e<256)return this._createEncoderBuffer([0,e]);let n=1;for(let t=e;t>=256;t>>=8)n++;const o=new Array(n);for(let t=o.length-1;t>=0;t--)o[t]=255&e,e>>=8;return 128&o[0]&&o.unshift(0),this._createEncoderBuffer(t.from(o))},i.prototype._encodeBool=function(e){return this._createEncoderBuffer(e?255:0)},i.prototype._use=function(e,t){return"function"==typeof e&&(e=e(t)),e._getEncoder("der").tree},i.prototype._skipDefault=function(e,t,r){const n=this._baseState;let o;if(null===n.default)return!1;const i=e.join();if(void 0===n.defaultBuffer&&(n.defaultBuffer=this._encodeValue(n.default,t,r).join()),i.length!==n.defaultBuffer.length)return!1;for(o=0;o<i.length;o++)if(i[o]!==n.defaultBuffer[o])return!1;return!0};
|
|
411
|
+
},{"inherits":"4Bm0","safer-buffer":"rE8J","../base/node":"5k+Z","../constants/der":"psPF"}],"Yqnf":[function(require,module,exports) {
|
|
412
|
+
"use strict";const e=require("inherits"),t=require("./der");function n(e){t.call(this,e),this.enc="pem"}e(n,t),module.exports=n,n.prototype.encode=function(e,n){const o=t.prototype.encode.call(this,e).toString("base64"),r=["-----BEGIN "+n.label+"-----"];for(let t=0;t<o.length;t+=64)r.push(o.slice(t,t+64));return r.push("-----END "+n.label+"-----"),r.join("\n")};
|
|
413
|
+
},{"inherits":"4Bm0","./der":"5adT"}],"YGCS":[function(require,module,exports) {
|
|
414
|
+
"use strict";const e=exports;e.der=require("./der"),e.pem=require("./pem");
|
|
415
|
+
},{"./der":"5adT","./pem":"Yqnf"}],"Hd0I":[function(require,module,exports) {
|
|
416
|
+
"use strict";const t=require("inherits"),r=require("bn.js"),e=require("../base/buffer").DecoderBuffer,i=require("../base/node"),o=require("../constants/der");function n(t){this.enc="der",this.name=t.name,this.entity=t,this.tree=new s,this.tree._init(t.body)}function s(t){i.call(this,"der",t)}function c(t,r){let e=t.readUInt8(r);if(t.isError(e))return e;const i=o.tagClass[e>>6],n=0==(32&e);if(31==(31&e)){let i=e;for(e=0;128==(128&i);){if(i=t.readUInt8(r),t.isError(i))return i;e<<=7,e|=127&i}}else e&=31;return{cls:i,primitive:n,tag:e,tagStr:o.tag[e]}}function u(t,r,e){let i=t.readUInt8(e);if(t.isError(i))return i;if(!r&&128===i)return null;if(0==(128&i))return i;const o=127&i;if(o>4)return t.error("length octect is too long");i=0;for(let n=0;n<o;n++){i<<=8;const r=t.readUInt8(e);if(t.isError(r))return r;i|=r}return i}module.exports=n,n.prototype.decode=function(t,r){return e.isDecoderBuffer(t)||(t=new e(t,r)),this.tree._decode(t,r)},t(s,i),s.prototype._peekTag=function(t,r,e){if(t.isEmpty())return!1;const i=t.save(),o=c(t,'Failed to peek tag: "'+r+'"');return t.isError(o)?o:(t.restore(i),o.tag===r||o.tagStr===r||o.tagStr+"of"===r||e)},s.prototype._decodeTag=function(t,r,e){const i=c(t,'Failed to decode tag of "'+r+'"');if(t.isError(i))return i;let o=u(t,i.primitive,'Failed to get length of "'+r+'"');if(t.isError(o))return o;if(!e&&i.tag!==r&&i.tagStr!==r&&i.tagStr+"of"!==r)return t.error('Failed to match tag: "'+r+'"');if(i.primitive||null!==o)return t.skip(o,'Failed to match body of: "'+r+'"');const n=t.save(),s=this._skipUntilEnd(t,'Failed to skip indefinite length body: "'+this.tag+'"');return t.isError(s)?s:(o=t.offset-n.offset,t.restore(n),t.skip(o,'Failed to match body of: "'+r+'"'))},s.prototype._skipUntilEnd=function(t,r){for(;;){const e=c(t,r);if(t.isError(e))return e;const i=u(t,e.primitive,r);if(t.isError(i))return i;let o;if(o=e.primitive||null!==i?t.skip(i):this._skipUntilEnd(t,r),t.isError(o))return o;if("end"===e.tagStr)break}},s.prototype._decodeList=function(t,r,e,i){const o=[];for(;!t.isEmpty();){const r=this._peekTag(t,"end");if(t.isError(r))return r;const n=e.decode(t,"der",i);if(t.isError(n)&&r)break;o.push(n)}return o},s.prototype._decodeStr=function(t,r){if("bitstr"===r){const r=t.readUInt8();return t.isError(r)?r:{unused:r,data:t.raw()}}if("bmpstr"===r){const r=t.raw();if(r.length%2==1)return t.error("Decoding of string type: bmpstr length mismatch");let e="";for(let t=0;t<r.length/2;t++)e+=String.fromCharCode(r.readUInt16BE(2*t));return e}if("numstr"===r){const r=t.raw().toString("ascii");return this._isNumstr(r)?r:t.error("Decoding of string type: numstr unsupported characters")}if("octstr"===r)return t.raw();if("objDesc"===r)return t.raw();if("printstr"===r){const r=t.raw().toString("ascii");return this._isPrintstr(r)?r:t.error("Decoding of string type: printstr unsupported characters")}return/str$/.test(r)?t.raw().toString():t.error("Decoding of string type: "+r+" unsupported")},s.prototype._decodeObjid=function(t,r,e){let i;const o=[];let n=0,s=0;for(;!t.isEmpty();)n<<=7,n|=127&(s=t.readUInt8()),0==(128&s)&&(o.push(n),n=0);128&s&&o.push(n);const c=o[0]/40|0,u=o[0]%40;if(i=e?o:[c,u].concat(o.slice(1)),r){let t=r[i.join(" ")];void 0===t&&(t=r[i.join(".")]),void 0!==t&&(i=t)}return i},s.prototype._decodeTime=function(t,r){const e=t.raw().toString();let i,o,n,s,c,u;if("gentime"===r)i=0|e.slice(0,4),o=0|e.slice(4,6),n=0|e.slice(6,8),s=0|e.slice(8,10),c=0|e.slice(10,12),u=0|e.slice(12,14);else{if("utctime"!==r)return t.error("Decoding "+r+" time is not supported yet");i=0|e.slice(0,2),o=0|e.slice(2,4),n=0|e.slice(4,6),s=0|e.slice(6,8),c=0|e.slice(8,10),u=0|e.slice(10,12),i=i<70?2e3+i:1900+i}return Date.UTC(i,o-1,n,s,c,u,0)},s.prototype._decodeNull=function(){return null},s.prototype._decodeBool=function(t){const r=t.readUInt8();return t.isError(r)?r:0!==r},s.prototype._decodeInt=function(t,e){const i=t.raw();let o=new r(i);return e&&(o=e[o.toString(10)]||o),o},s.prototype._use=function(t,r){return"function"==typeof t&&(t=t(r)),t._getDecoder("der").tree};
|
|
417
|
+
},{"inherits":"4Bm0","bn.js":"VXic","../base/buffer":"JJX4","../base/node":"5k+Z","../constants/der":"psPF"}],"byl7":[function(require,module,exports) {
|
|
418
|
+
|
|
419
|
+
"use strict";const e=require("inherits"),r=require("safer-buffer").Buffer,t=require("./der");function o(e){t.call(this,e),this.enc="pem"}e(o,t),module.exports=o,o.prototype.decode=function(e,o){const i=e.toString().split(/[\r\n]+/g),n=o.label.toUpperCase(),s=/^-----(BEGIN|END) ([^-]+)-----$/;let c=-1,f=-1;for(let r=0;r<i.length;r++){const e=i[r].match(s);if(null!==e&&e[2]===n){if(-1!==c){if("END"!==e[1])break;f=r;break}if("BEGIN"!==e[1])break;c=r}}if(-1===c||-1===f)throw new Error("PEM section not found for: "+n);const l=i.slice(c+1,f).join("");l.replace(/[^a-z0-9+/=]+/gi,"");const a=r.from(l,"base64");return t.prototype.decode.call(this,a,o)};
|
|
420
|
+
},{"inherits":"4Bm0","safer-buffer":"rE8J","./der":"Hd0I"}],"Sn5H":[function(require,module,exports) {
|
|
421
|
+
"use strict";const e=exports;e.der=require("./der"),e.pem=require("./pem");
|
|
422
|
+
},{"./der":"Hd0I","./pem":"byl7"}],"gOko":[function(require,module,exports) {
|
|
423
|
+
"use strict";const e=require("./encoders"),t=require("./decoders"),r=require("inherits"),n=exports;function o(e,t){this.name=e,this.body=t,this.decoders={},this.encoders={}}n.define=function(e,t){return new o(e,t)},o.prototype._createNamed=function(e){const t=this.name;function n(e){this._initNamed(e,t)}return r(n,e),n.prototype._initNamed=function(t,r){e.call(this,t,r)},new n(this)},o.prototype._getDecoder=function(e){return e=e||"der",this.decoders.hasOwnProperty(e)||(this.decoders[e]=this._createNamed(t[e])),this.decoders[e]},o.prototype.decode=function(e,t,r){return this._getDecoder(t).decode(e,r)},o.prototype._getEncoder=function(t){return t=t||"der",this.encoders.hasOwnProperty(t)||(this.encoders[t]=this._createNamed(e[t])),this.encoders[t]},o.prototype.encode=function(e,t,r){return this._getEncoder(t).encode(e,r)};
|
|
424
|
+
},{"./encoders":"YGCS","./decoders":"Sn5H","inherits":"4Bm0"}],"G4cX":[function(require,module,exports) {
|
|
425
|
+
"use strict";const e=exports;e.Reporter=require("./reporter").Reporter,e.DecoderBuffer=require("./buffer").DecoderBuffer,e.EncoderBuffer=require("./buffer").EncoderBuffer,e.Node=require("./node");
|
|
426
|
+
},{"./reporter":"BhoU","./buffer":"JJX4","./node":"5k+Z"}],"yW9S":[function(require,module,exports) {
|
|
427
|
+
"use strict";const e=exports;e._reverse=function(e){const r={};return Object.keys(e).forEach(function(t){(0|t)==t&&(t|=0);const c=e[t];r[c]=t}),r},e.der=require("./der");
|
|
428
|
+
},{"./der":"psPF"}],"NNmB":[function(require,module,exports) {
|
|
429
|
+
"use strict";const e=exports;e.bignum=require("bn.js"),e.define=require("./asn1/api").define,e.base=require("./asn1/base"),e.constants=require("./asn1/constants"),e.decoders=require("./asn1/decoders"),e.encoders=require("./asn1/encoders");
|
|
430
|
+
},{"bn.js":"VXic","./asn1/api":"gOko","./asn1/base":"G4cX","./asn1/constants":"yW9S","./asn1/decoders":"Sn5H","./asn1/encoders":"YGCS"}],"XsN6":[function(require,module,exports) {
|
|
431
|
+
"use strict";var e=require("asn1.js"),i=e.define("Time",function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})}),t=e.define("AttributeTypeValue",function(){this.seq().obj(this.key("type").objid(),this.key("value").any())}),s=e.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())}),n=e.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(s),this.key("subjectPublicKey").bitstr())}),o=e.define("RelativeDistinguishedName",function(){this.setof(t)}),u=e.define("RDNSequence",function(){this.seqof(o)}),h=e.define("Name",function(){this.choice({rdnSequence:this.use(u)})}),c=e.define("Validity",function(){this.seq().obj(this.key("notBefore").use(i),this.key("notAfter").use(i))}),r=e.define("Extension",function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())}),f=e.define("TBSCertificate",function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(s),this.key("issuer").use(h),this.key("validity").use(c),this.key("subject").use(h),this.key("subjectPublicKeyInfo").use(n),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(r).optional())}),y=e.define("X509Certificate",function(){this.seq().obj(this.key("tbsCertificate").use(f),this.key("signatureAlgorithm").use(s),this.key("signatureValue").bitstr())});module.exports=y;
|
|
432
|
+
},{"asn1.js":"NNmB"}],"hfk5":[function(require,module,exports) {
|
|
433
|
+
"use strict";var e=require("asn1.js");exports.certificate=require("./certificate");var i=e.define("RSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())});exports.RSAPrivateKey=i;var t=e.define("RSAPublicKey",function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())});exports.RSAPublicKey=t;var s=e.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(n),this.key("subjectPublicKey").bitstr())});exports.PublicKey=s;var n=e.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())}),o=e.define("PrivateKeyInfo",function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(n),this.key("subjectPrivateKey").octstr())});exports.PrivateKey=o;var r=e.define("EncryptedPrivateKeyInfo",function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())});exports.EncryptedPrivateKey=r;var y=e.define("DSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())});exports.DSAPrivateKey=y,exports.DSAparam=e.define("DSAparam",function(){this.int()});var h=e.define("ECPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(a),this.key("publicKey").optional().explicit(1).bitstr())});exports.ECPrivateKey=h;var a=e.define("ECParameters",function(){this.choice({namedCurve:this.objid()})});exports.signature=e.define("signature",function(){this.seq().obj(this.key("r").int(),this.key("s").int())});
|
|
434
|
+
},{"asn1.js":"NNmB","./certificate":"XsN6"}],"QyaF":[function(require,module,exports) {
|
|
435
|
+
module.exports={"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"};
|
|
436
|
+
},{}],"Pyv/":[function(require,module,exports) {
|
|
437
|
+
|
|
438
|
+
var e=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m,r=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,a=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r+/=]+)-----END \1-----$/m,t=require("evp_bytestokey"),n=require("browserify-aes"),f=require("safe-buffer").Buffer;module.exports=function(s,E){var c,o=s.toString(),i=o.match(e);if(i){var u="aes"+i[1],m=f.from(i[2],"hex"),p=f.from(i[3].replace(/[\r\n]/g,""),"base64"),I=t(E,m.slice(0,8),parseInt(i[1],10)).key,h=[],C=n.createDecipheriv(u,I,m);h.push(C.update(p)),h.push(C.final()),c=f.concat(h)}else{var l=o.match(a);c=f.from(l[2].replace(/[\r\n]/g,""),"base64")}return{tag:o.match(r)[1],data:c}};
|
|
439
|
+
},{"evp_bytestokey":"exU6","browserify-aes":"hisC","safe-buffer":"38Wu"}],"02g6":[function(require,module,exports) {
|
|
440
|
+
|
|
441
|
+
var e=require("./asn1"),r=require("./aesid.json"),a=require("./fixProc"),t=require("browserify-aes"),i=require("pbkdf2"),c=require("safe-buffer").Buffer;function d(r){var t;"object"!=typeof r||c.isBuffer(r)||(t=r.passphrase,r=r.key),"string"==typeof r&&(r=c.from(r));var i,d,u=a(r,t),o=u.tag,n=u.data;switch(o){case"CERTIFICATE":d=e.certificate.decode(n,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(d||(d=e.PublicKey.decode(n,"der")),i=d.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return e.RSAPublicKey.decode(d.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return d.subjectPrivateKey=d.subjectPublicKey,{type:"ec",data:d};case"1.2.840.10040.4.1":return d.algorithm.params.pub_key=e.DSAparam.decode(d.subjectPublicKey.data,"der"),{type:"dsa",data:d.algorithm.params};default:throw new Error("unknown key id "+i)}case"ENCRYPTED PRIVATE KEY":n=s(n=e.EncryptedPrivateKey.decode(n,"der"),t);case"PRIVATE KEY":switch(i=(d=e.PrivateKey.decode(n,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return e.RSAPrivateKey.decode(d.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:d.algorithm.curve,privateKey:e.ECPrivateKey.decode(d.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return d.algorithm.params.priv_key=e.DSAparam.decode(d.subjectPrivateKey,"der"),{type:"dsa",params:d.algorithm.params};default:throw new Error("unknown key id "+i)}case"RSA PUBLIC KEY":return e.RSAPublicKey.decode(n,"der");case"RSA PRIVATE KEY":return e.RSAPrivateKey.decode(n,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:e.DSAPrivateKey.decode(n,"der")};case"EC PRIVATE KEY":return{curve:(n=e.ECPrivateKey.decode(n,"der")).parameters.value,privateKey:n.privateKey};default:throw new Error("unknown key type "+o)}}function s(e,a){var d=e.algorithm.decrypt.kde.kdeparams.salt,s=parseInt(e.algorithm.decrypt.kde.kdeparams.iters.toString(),10),u=r[e.algorithm.decrypt.cipher.algo.join(".")],o=e.algorithm.decrypt.cipher.iv,n=e.subjectPrivateKey,p=parseInt(u.split("-")[1],10)/8,y=i.pbkdf2Sync(a,d,s,p,"sha1"),K=t.createDecipheriv(u,y,o),l=[];return l.push(K.update(n)),l.push(K.final()),c.concat(l)}module.exports=d,d.signature=e.signature;
|
|
442
|
+
},{"./asn1":"hfk5","./aesid.json":"QyaF","./fixProc":"Pyv/","browserify-aes":"hisC","pbkdf2":"BKdu","safe-buffer":"38Wu"}],"1lPV":[function(require,module,exports) {
|
|
443
|
+
module.exports={"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"};
|
|
444
|
+
},{}],"oj83":[function(require,module,exports) {
|
|
445
|
+
|
|
446
|
+
var e=require("safe-buffer").Buffer,r=require("create-hmac"),t=require("browserify-rsa"),n=require("elliptic").ec,a=require("bn.js"),o=require("parse-asn1"),u=require("./curves.json");function i(r,n,a,u,i){var p=o(n);if(p.curve){if("ecdsa"!==u&&"ecdsa/rsa"!==u)throw new Error("wrong private key type");return c(r,p)}if("dsa"===p.type){if("dsa"!==u)throw new Error("wrong private key type");return d(r,p,a)}if("rsa"!==u&&"ecdsa/rsa"!==u)throw new Error("wrong private key type");r=e.concat([i,r]);for(var f=p.modulus.byteLength(),s=[0,1];r.length+s.length+1<f;)s.push(255);s.push(0);for(var l=-1;++l<r.length;)s.push(r[l]);return t(s,p)}function c(r,t){var a=u[t.curve.join(".")];if(!a)throw new Error("unknown curve "+t.curve.join("."));var o=new n(a).keyFromPrivate(t.privateKey).sign(r);return e.from(o.toDER())}function d(e,r,t){for(var n,o=r.params.priv_key,u=r.params.p,i=r.params.q,c=r.params.g,d=new a(0),l=s(e,i).mod(i),h=!1,m=f(o,i,e,t);!1===h;)d=v(c,n=g(i,m,t),u,i),0===(h=n.invm(i).imul(l.add(o.mul(d))).mod(i)).cmpn(0)&&(h=!1,d=new a(0));return p(d,h)}function p(r,t){r=r.toArray(),t=t.toArray(),128&r[0]&&(r=[0].concat(r)),128&t[0]&&(t=[0].concat(t));var n=[48,r.length+t.length+4,2,r.length];return n=n.concat(r,[2,t.length],t),e.from(n)}function f(t,n,a,o){if((t=e.from(t.toArray())).length<n.byteLength()){var u=e.alloc(n.byteLength()-t.length);t=e.concat([u,t])}var i=a.length,c=l(a,n),d=e.alloc(i);d.fill(1);var p=e.alloc(i);return p=r(o,p).update(d).update(e.from([0])).update(t).update(c).digest(),d=r(o,p).update(d).digest(),{k:p=r(o,p).update(d).update(e.from([1])).update(t).update(c).digest(),v:d=r(o,p).update(d).digest()}}function s(e,r){var t=new a(e),n=(e.length<<3)-r.bitLength();return n>0&&t.ishrn(n),t}function l(r,t){r=(r=s(r,t)).mod(t);var n=e.from(r.toArray());if(n.length<t.byteLength()){var a=e.alloc(t.byteLength()-n.length);n=e.concat([a,n])}return n}function g(t,n,a){var o,u;do{for(o=e.alloc(0);8*o.length<t.bitLength();)n.v=r(a,n.k).update(n.v).digest(),o=e.concat([o,n.v]);u=s(o,t),n.k=r(a,n.k).update(n.v).update(e.from([0])).digest(),n.v=r(a,n.k).update(n.v).digest()}while(-1!==u.cmp(t));return u}function v(e,r,t,n){return e.toRed(a.mont(t)).redPow(r).fromRed().mod(n)}module.exports=i,module.exports.getKey=f,module.exports.makeKey=g;
|
|
447
|
+
},{"safe-buffer":"wyv4","create-hmac":"4Cx6","browserify-rsa":"1Auk","elliptic":"xha3","bn.js":"BOxy","parse-asn1":"02g6","./curves.json":"1lPV"}],"pXU/":[function(require,module,exports) {
|
|
448
|
+
|
|
449
|
+
var r=require("safe-buffer").Buffer,e=require("bn.js"),n=require("elliptic").ec,o=require("parse-asn1"),t=require("./curves.json");function a(n,t,a,d,f){var c=o(a);if("ec"===c.type){if("ecdsa"!==d&&"ecdsa/rsa"!==d)throw new Error("wrong public key type");return u(n,t,c)}if("dsa"===c.type){if("dsa"!==d)throw new Error("wrong public key type");return i(n,t,c)}if("rsa"!==d&&"ecdsa/rsa"!==d)throw new Error("wrong public key type");t=r.concat([f,t]);for(var s=c.modulus.byteLength(),m=[1],l=0;t.length+m.length+2<s;)m.push(255),l++;m.push(0);for(var w=-1;++w<t.length;)m.push(t[w]);m=r.from(m);var p=e.mont(c.modulus);n=(n=new e(n).toRed(p)).redPow(new e(c.publicExponent)),n=r.from(n.fromRed().toArray());var h=l<8?1:0;for(s=Math.min(n.length,m.length),n.length!==m.length&&(h=1),w=-1;++w<s;)h|=n[w]^m[w];return 0===h}function u(r,e,o){var a=t[o.data.algorithm.curve.join(".")];if(!a)throw new Error("unknown curve "+o.data.algorithm.curve.join("."));var u=new n(a),i=o.data.subjectPrivateKey.data;return u.verify(e,r,i)}function i(r,n,t){var a=t.data.p,u=t.data.q,i=t.data.g,f=t.data.pub_key,c=o.signature.decode(r,"der"),s=c.s,m=c.r;d(s,u),d(m,u);var l=e.mont(a),w=s.invm(u);return 0===i.toRed(l).redPow(new e(n).mul(w).mod(u)).fromRed().mul(f.toRed(l).redPow(m.mul(w).mod(u)).fromRed()).mod(a).mod(u).cmp(m)}function d(r,e){if(r.cmpn(0)<=0)throw new Error("invalid sig");if(r.cmp(e)>=e)throw new Error("invalid sig")}module.exports=a;
|
|
450
|
+
},{"safe-buffer":"wyv4","bn.js":"BOxy","elliptic":"xha3","parse-asn1":"02g6","./curves.json":"1lPV"}],"BAb/":[function(require,module,exports) {
|
|
451
|
+
|
|
452
|
+
var t=require("safe-buffer").Buffer,e=require("create-hash"),i=require("readable-stream"),r=require("inherits"),s=require("./sign"),h=require("./verify"),n=require("./algorithms.json");function a(t){i.Writable.call(this);var r=n[t];if(!r)throw new Error("Unknown message digest");this._hashType=r.hash,this._hash=e(r.hash),this._tag=r.id,this._signType=r.sign}function o(t){i.Writable.call(this);var r=n[t];if(!r)throw new Error("Unknown message digest");this._hash=e(r.hash),this._tag=r.id,this._signType=r.sign}function u(t){return new a(t)}function f(t){return new o(t)}Object.keys(n).forEach(function(e){n[e].id=t.from(n[e].id,"hex"),n[e.toLowerCase()]=n[e]}),r(a,i.Writable),a.prototype._write=function(t,e,i){this._hash.update(t),i()},a.prototype.update=function(e,i){return"string"==typeof e&&(e=t.from(e,i)),this._hash.update(e),this},a.prototype.sign=function(t,e){this.end();var i=this._hash.digest(),r=s(i,t,this._hashType,this._signType,this._tag);return e?r.toString(e):r},r(o,i.Writable),o.prototype._write=function(t,e,i){this._hash.update(t),i()},o.prototype.update=function(e,i){return"string"==typeof e&&(e=t.from(e,i)),this._hash.update(e),this},o.prototype.verify=function(e,i,r){"string"==typeof i&&(i=t.from(i,r)),this.end();var s=this._hash.digest();return h(i,s,e,this._signType,this._tag)},module.exports={Sign:u,Verify:f,createSign:u,createVerify:f};
|
|
453
|
+
},{"safe-buffer":"wyv4","create-hash":"LF8r","readable-stream":"TgzV","inherits":"t8EM","./sign":"oj83","./verify":"pXU/","./algorithms.json":"WoCp"}],"x3tl":[function(require,module,exports) {
|
|
454
|
+
var Buffer = require("buffer").Buffer;
|
|
455
|
+
var e=require("buffer").Buffer,t=require("elliptic"),r=require("bn.js");module.exports=function(e){return new n(e)};var i={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};function n(e){this.curveType=i[e],this.curveType||(this.curveType={name:e}),this.curve=new t.ec(this.curveType.name),this.keys=void 0}function s(t,r,i){Array.isArray(t)||(t=t.toArray());var n=new e(t);if(i&&n.length<i){var s=new e(i-n.length);s.fill(0),n=e.concat([s,n])}return r?n.toString(r):n}i.p224=i.secp224r1,i.p256=i.secp256r1=i.prime256v1,i.p192=i.secp192r1=i.prime192v1,i.p384=i.secp384r1,i.p521=i.secp521r1,n.prototype.generateKeys=function(e,t){return this.keys=this.curve.genKeyPair(),this.getPublicKey(e,t)},n.prototype.computeSecret=function(t,r,i){return r=r||"utf8",e.isBuffer(t)||(t=new e(t,r)),s(this.curve.keyFromPublic(t).getPublic().mul(this.keys.getPrivate()).getX(),i,this.curveType.byteLength)},n.prototype.getPublicKey=function(e,t){var r=this.keys.getPublic("compressed"===t,!0);return"hybrid"===t&&(r[r.length-1]%2?r[0]=7:r[0]=6),s(r,e)},n.prototype.getPrivateKey=function(e){return s(this.keys.getPrivate(),e)},n.prototype.setPublicKey=function(t,r){return r=r||"utf8",e.isBuffer(t)||(t=new e(t,r)),this.keys._importPublic(t),this},n.prototype.setPrivateKey=function(t,i){i=i||"utf8",e.isBuffer(t)||(t=new e(t,i));var n=new r(t);return n=n.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(n),this};
|
|
456
|
+
},{"elliptic":"xha3","bn.js":"VXic","buffer":"dskh"}],"QJXH":[function(require,module,exports) {
|
|
457
|
+
|
|
458
|
+
var e=require("create-hash"),r=require("safe-buffer").Buffer;function a(e){var a=r.allocUnsafe(4);return a.writeUInt32BE(e,0),a}module.exports=function(t,u){for(var n,f=r.alloc(0),c=0;f.length<u;)n=a(c++),f=r.concat([f,e("sha1").update(t).update(n).digest()]);return f.slice(0,u)};
|
|
459
|
+
},{"create-hash":"LF8r","safe-buffer":"38Wu"}],"C+It":[function(require,module,exports) {
|
|
460
|
+
module.exports=function(r,e){for(var n=r.length,o=-1;++o<n;)r[o]^=e[o];return r};
|
|
461
|
+
},{}],"0kM9":[function(require,module,exports) {
|
|
462
|
+
|
|
463
|
+
var e=require("bn.js"),r=require("safe-buffer").Buffer;function o(o,u){return r.from(o.toRed(e.mont(u.modulus)).redPow(new e(u.publicExponent)).fromRed().toArray())}module.exports=o;
|
|
464
|
+
},{"bn.js":"VXic","safe-buffer":"38Wu"}],"47U4":[function(require,module,exports) {
|
|
465
|
+
|
|
466
|
+
var r=require("parse-asn1"),e=require("randombytes"),o=require("create-hash"),n=require("./mgf"),a=require("./xor"),t=require("bn.js"),u=require("./withPublic"),l=require("browserify-rsa"),i=require("safe-buffer").Buffer;function s(r,u){var l=r.modulus.byteLength(),s=u.length,f=o("sha1").update(i.alloc(0)).digest(),c=f.length,g=2*c;if(s>l-g-2)throw new Error("message too long");var d=i.alloc(l-s-g-2),h=l-c-1,w=e(c),m=a(i.concat([f,d,i.alloc(1,1),u],h),n(w,h)),q=a(w,n(m,c));return new t(i.concat([i.alloc(1),q,m],l))}function f(r,e,o){var n,a=e.length,u=r.modulus.byteLength();if(a>u-11)throw new Error("message too long");return n=o?i.alloc(u-a-3,255):c(u-a-3),new t(i.concat([i.from([0,o?1:2]),n,i.alloc(1),e],u))}function c(r){for(var o,n=i.allocUnsafe(r),a=0,t=e(2*r),u=0;a<r;)u===t.length&&(t=e(2*r),u=0),(o=t[u++])&&(n[a++]=o);return n}module.exports=function(e,o,n){var a;a=e.padding?e.padding:n?1:4;var i,c=r(e);if(4===a)i=s(c,o);else if(1===a)i=f(c,o,n);else{if(3!==a)throw new Error("unknown padding");if((i=new t(o)).cmp(c.modulus)>=0)throw new Error("data too long for modulus")}return n?l(i,c):u(i,c)};
|
|
467
|
+
},{"parse-asn1":"02g6","randombytes":"/XJN","create-hash":"LF8r","./mgf":"QJXH","./xor":"C+It","bn.js":"VXic","./withPublic":"0kM9","browserify-rsa":"1Auk","safe-buffer":"38Wu"}],"mWkL":[function(require,module,exports) {
|
|
468
|
+
|
|
469
|
+
var r=require("parse-asn1"),e=require("./mgf"),n=require("./xor"),t=require("bn.js"),o=require("browserify-rsa"),i=require("create-hash"),u=require("./withPublic"),a=require("safe-buffer").Buffer;function l(r,t){var o=r.modulus.byteLength(),u=i("sha1").update(a.alloc(0)).digest(),l=u.length;if(0!==t[0])throw new Error("decryption error");var f=t.slice(1,l+1),c=t.slice(l+1),s=n(f,e(c,l)),g=n(c,e(s,o-l-1));if(h(u,g.slice(0,l)))throw new Error("decryption error");for(var d=l;0===g[d];)d++;if(1!==g[d++])throw new Error("decryption error");return g.slice(d)}function f(r,e,n){for(var t=e.slice(0,2),o=2,i=0;0!==e[o++];)if(o>=e.length){i++;break}var u=e.slice(2,o-1);if(("0002"!==t.toString("hex")&&!n||"0001"!==t.toString("hex")&&n)&&i++,u.length<8&&i++,i)throw new Error("decryption error");return e.slice(o)}function h(r,e){r=a.from(r),e=a.from(e);var n=0,t=r.length;r.length!==e.length&&(n++,t=Math.min(r.length,e.length));for(var o=-1;++o<t;)n+=r[o]^e[o];return n}module.exports=function(e,n,i){var h;h=e.padding?e.padding:i?1:4;var c,s=r(e),g=s.modulus.byteLength();if(n.length>g||new t(n).cmp(s.modulus)>=0)throw new Error("decryption error");c=i?u(new t(n),s):o(n,s);var d=a.alloc(g-c.length);if(c=a.concat([d,c],g),4===h)return l(s,c);if(1===h)return f(s,c,i);if(3===h)return c;throw new Error("unknown padding")};
|
|
470
|
+
},{"parse-asn1":"02g6","./mgf":"QJXH","./xor":"C+It","bn.js":"VXic","browserify-rsa":"1Auk","create-hash":"LF8r","./withPublic":"0kM9","safe-buffer":"38Wu"}],"2WjU":[function(require,module,exports) {
|
|
471
|
+
exports.publicEncrypt=require("./publicEncrypt"),exports.privateDecrypt=require("./privateDecrypt"),exports.privateEncrypt=function(r,p){return exports.publicEncrypt(r,p,!0)},exports.publicDecrypt=function(r,p){return exports.privateDecrypt(r,p,!0)};
|
|
472
|
+
},{"./publicEncrypt":"47U4","./privateDecrypt":"mWkL"}],"ODza":[function(require,module,exports) {
|
|
473
|
+
|
|
474
|
+
var global = arguments[3];
|
|
475
|
+
var process = require("process");
|
|
476
|
+
var r=arguments[3],e=require("process");function n(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var t=require("safe-buffer"),o=require("randombytes"),f=t.Buffer,u=t.kMaxLength,i=r.crypto||r.msCrypto,a=Math.pow(2,32)-1;function s(r,e){if("number"!=typeof r||r!=r)throw new TypeError("offset must be a number");if(r>a||r<0)throw new TypeError("offset must be a uint32");if(r>u||r>e)throw new RangeError("offset out of range")}function m(r,e,n){if("number"!=typeof r||r!=r)throw new TypeError("size must be a number");if(r>a||r<0)throw new TypeError("size must be a uint32");if(r+e>n||r>u)throw new RangeError("buffer too small")}function l(e,n,t,o){if(!(f.isBuffer(e)||e instanceof r.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof n)o=n,n=0,t=e.length;else if("function"==typeof t)o=t,t=e.length-n;else if("function"!=typeof o)throw new TypeError('"cb" argument must be a function');return s(n,e.length),m(t,n,e.length),p(e,n,t,o)}function p(r,n,t,o){var f=r.buffer,u=new Uint8Array(f,n,t);return i.getRandomValues(u),o?void e.nextTick(function(){o(null,r)}):r}function w(e,n,t){if(void 0===n&&(n=0),!(f.isBuffer(e)||e instanceof r.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');return s(n,e.length),void 0===t&&(t=e.length-n),m(t,n,e.length),p(e,n,t)}i&&i.getRandomValues?(exports.randomFill=l,exports.randomFillSync=w):(exports.randomFill=n,exports.randomFillSync=n);
|
|
477
|
+
},{"safe-buffer":"38Wu","randombytes":"/XJN","process":"pBGv"}],"mRF4":[function(require,module,exports) {
|
|
478
|
+
"use strict";exports.randomBytes=exports.rng=exports.pseudoRandomBytes=exports.prng=require("randombytes"),exports.createHash=exports.Hash=require("create-hash"),exports.createHmac=exports.Hmac=require("create-hmac");var e=require("browserify-sign/algos"),r=Object.keys(e),t=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(r);exports.getHashes=function(){return t};var i=require("pbkdf2");exports.pbkdf2=i.pbkdf2,exports.pbkdf2Sync=i.pbkdf2Sync;var p=require("browserify-cipher");exports.Cipher=p.Cipher,exports.createCipher=p.createCipher,exports.Cipheriv=p.Cipheriv,exports.createCipheriv=p.createCipheriv,exports.Decipher=p.Decipher,exports.createDecipher=p.createDecipher,exports.Decipheriv=p.Decipheriv,exports.createDecipheriv=p.createDecipheriv,exports.getCiphers=p.getCiphers,exports.listCiphers=p.listCiphers;var s=require("diffie-hellman");exports.DiffieHellmanGroup=s.DiffieHellmanGroup,exports.createDiffieHellmanGroup=s.createDiffieHellmanGroup,exports.getDiffieHellman=s.getDiffieHellman,exports.createDiffieHellman=s.createDiffieHellman,exports.DiffieHellman=s.DiffieHellman;var a=require("browserify-sign");exports.createSign=a.createSign,exports.Sign=a.Sign,exports.createVerify=a.createVerify,exports.Verify=a.Verify,exports.createECDH=require("create-ecdh");var o=require("public-encrypt");exports.publicEncrypt=o.publicEncrypt,exports.privateEncrypt=o.privateEncrypt,exports.publicDecrypt=o.publicDecrypt,exports.privateDecrypt=o.privateDecrypt;var c=require("randomfill");exports.randomFill=c.randomFill,exports.randomFillSync=c.randomFillSync,exports.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join("\n"))},exports.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6};
|
|
479
|
+
},{"randombytes":"/XJN","create-hash":"LF8r","create-hmac":"4Cx6","browserify-sign/algos":"YKr5","pbkdf2":"BKdu","browserify-cipher":"+KTb","diffie-hellman":"9WFL","browserify-sign":"BAb/","create-ecdh":"x3tl","public-encrypt":"2WjU","randomfill":"ODza"}],"ZV/H":[function(require,module,exports) {
|
|
480
|
+
var __filename = "/home/runner/work/midiplayer/midiplayer/node_modules/@werckmeister/sfcompose/sfcompose.js";
|
|
481
|
+
var process = require("process");
|
|
482
|
+
var __dirname = "/home/runner/work/midiplayer/midiplayer/node_modules/@werckmeister/sfcompose";
|
|
483
|
+
var Buffer = require("buffer").Buffer;
|
|
484
|
+
var define;
|
|
485
|
+
var e,r="/home/runner/work/midiplayer/midiplayer/node_modules/@werckmeister/sfcompose/sfcompose.js",t=require("process"),n="/home/runner/work/midiplayer/midiplayer/node_modules/@werckmeister/sfcompose",o=require("buffer").Buffer,i=function(){var e="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0;return void 0!==r&&(e=e||r),function(r){var i,a,s=void 0!==(r=r||{})?r:{};s.ready=new Promise(function(e,r){i=e,a=r});var u,c={};for(u in s)s.hasOwnProperty(u)&&(c[u]=s[u]);var f,l=[],d="./this.program",h=function(e,r){throw r},p=!1,m=!1,w=!1;p="object"==typeof window,m="function"==typeof importScripts,w="object"==typeof t&&"object"==typeof t.versions&&"string"==typeof t.versions.node,f=!p&&!w&&!m;var g,v,y,_,E,k="";w?(k=m?require("path").dirname(k)+"/":n+"/",g=function(e,r){return _||(_=require("fs")),E||(E=require("path")),e=E.normalize(e),_.readFileSync(e,r?null:"utf8")},y=function(e){var r=g(e,!0);return r.buffer||(r=new Uint8Array(r)),O(r.buffer),r},t.argv.length>1&&(d=t.argv[1].replace(/\\/g,"/")),l=t.argv.slice(2),t.on("uncaughtException",function(e){if(!(e instanceof $e))throw e}),t.on("unhandledRejection",oe),h=function(e){t.exit(e)},s.inspect=function(){return"[Emscripten Module object]"}):f?("undefined"!=typeof read&&(g=function(e){return read(e)}),y=function(e){var r;return"function"==typeof readbuffer?new Uint8Array(readbuffer(e)):(O("object"==typeof(r=read(e,"binary"))),r)},"undefined"!=typeof scriptArgs?l=scriptArgs:void 0!==arguments&&(l=arguments),"function"==typeof quit&&(h=function(e){quit(e)}),"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(p||m)&&(m?k=self.location.href:"undefined"!=typeof document&&document.currentScript&&(k=document.currentScript.src),e&&(k=e),k=0!==k.indexOf("blob:")?k.substr(0,k.lastIndexOf("/")+1):"",g=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},m&&(y=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),v=function(e,r,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(){200==n.status||0==n.status&&n.response?r(n.response):t()},n.onerror=t,n.send(null)});var b=s.print||console.log.bind(console),D=s.printErr||console.warn.bind(console);for(u in c)c.hasOwnProperty(u)&&(s[u]=c[u]);c=null,s.arguments&&(l=s.arguments),s.thisProgram&&(d=s.thisProgram),s.quit&&(h=s.quit);var F=16;var S,T=0,P=function(e){T=e},M=function(){return T};s.wasmBinary&&(S=s.wasmBinary);var A,x=s.noExitRuntime||!0;"object"!=typeof WebAssembly&&oe("no native wasm support detected");var R=!1;function O(e,r){e||oe("Assertion failed: "+r)}function j(e){var r=s["_"+e];return O(r,"Cannot call unknown function "+e+", make sure it is exported"),r}var N,C,B,z,I,U="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function H(e,r,t){for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;if(o-r>16&&e.subarray&&U)return U.decode(e.subarray(r,o));for(var i="";r<o;){var a=e[r++];if(128&a){var s=63&e[r++];if(192!=(224&a)){var u=63&e[r++];if((a=224==(240&a)?(15&a)<<12|s<<6|u:(7&a)<<18|s<<12|u<<6|63&e[r++])<65536)i+=String.fromCharCode(a);else{var c=a-65536;i+=String.fromCharCode(55296|c>>10,56320|1023&c)}}else i+=String.fromCharCode((31&a)<<6|s)}else i+=String.fromCharCode(a)}return i}function L(e,r){return e?H(B,e,r):""}function Y(e,r,t,n){if(!(n>0))return 0;for(var o=t,i=t+n-1,a=0;a<e.length;++a){var s=e.charCodeAt(a);if(s>=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a);if(s<=127){if(t>=i)break;r[t++]=s}else if(s<=2047){if(t+1>=i)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=i)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=i)break;r[t++]=240|s>>18,r[t++]=128|s>>12&63,r[t++]=128|s>>6&63,r[t++]=128|63&s}}return r[t]=0,t-o}function W(e,r,t){return Y(e,B,r,t)}function q(e){for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n>=55296&&n<=57343&&(n=65536+((1023&n)<<10)|1023&e.charCodeAt(++t)),n<=127?++r:r+=n<=2047?2:n<=65535?3:4}return r}function X(e){var r=q(e)+1,t=Ge(r);return Y(e,C,t,r),t}function G(e,r){C.set(e,r)}s.INITIAL_MEMORY;var V,K=[],Z=[],J=[],$=[];Z.push({func:function(){He()}});var Q=0,ee=null,re=null;function te(e){Q++,s.monitorRunDependencies&&s.monitorRunDependencies(Q)}function ne(e){if(Q--,s.monitorRunDependencies&&s.monitorRunDependencies(Q),0==Q&&(null!==ee&&(clearInterval(ee),ee=null),re)){var r=re;re=null,r()}}function oe(e){s.onAbort&&s.onAbort(e),D(e+=""),R=!0,1,e="abort("+e+"). Build with -s ASSERTIONS=1 for more info.";var r=new WebAssembly.RuntimeError(e);throw a(r),r}function ie(e,r){return String.prototype.startsWith?e.startsWith(r):0===e.indexOf(r)}s.preloadedImages={},s.preloadedAudios={};var ae="data:application/octet-stream;base64,";function se(e){return ie(e,ae)}var ue="file://";function ce(e){return ie(e,ue)}var fe,le,de,he="sfcompose.wasm";function pe(e){try{if(e==he&&S)return new Uint8Array(S);if(y)return y(e);throw"both async and sync fetching of the wasm failed"}catch(D){oe(D)}}function me(e){for(;e.length>0;){var r=e.shift();if("function"!=typeof r){var t=r.func;"number"==typeof t?void 0===r.arg?V.get(t)():V.get(t)(r.arg):t(void 0===r.arg?null:r.arg)}else r(s)}}se(he)||(fe=he,he=s.locateFile?s.locateFile(fe,k):k+fe);var we={DESTRUCTOR_OFFSET:0,REFCOUNT_OFFSET:4,TYPE_OFFSET:8,CAUGHT_OFFSET:12,RETHROWN_OFFSET:13,SIZE:16};function ge(e){this.excPtr=e,this.ptr=e-we.SIZE,this.set_type=function(e){I[this.ptr+we.TYPE_OFFSET>>2]=e},this.get_type=function(){return I[this.ptr+we.TYPE_OFFSET>>2]},this.set_destructor=function(e){I[this.ptr+we.DESTRUCTOR_OFFSET>>2]=e},this.get_destructor=function(){return I[this.ptr+we.DESTRUCTOR_OFFSET>>2]},this.set_refcount=function(e){I[this.ptr+we.REFCOUNT_OFFSET>>2]=e},this.set_caught=function(e){e=e?1:0,C[this.ptr+we.CAUGHT_OFFSET>>0]=e},this.get_caught=function(){return 0!=C[this.ptr+we.CAUGHT_OFFSET>>0]},this.set_rethrown=function(e){e=e?1:0,C[this.ptr+we.RETHROWN_OFFSET>>0]=e},this.get_rethrown=function(){return 0!=C[this.ptr+we.RETHROWN_OFFSET>>0]},this.init=function(e,r){this.set_type(e),this.set_destructor(r),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=I[this.ptr+we.REFCOUNT_OFFSET>>2];I[this.ptr+we.REFCOUNT_OFFSET>>2]=e+1},this.release_ref=function(){var e=I[this.ptr+we.REFCOUNT_OFFSET>>2];return I[this.ptr+we.REFCOUNT_OFFSET>>2]=e-1,1===e}}function ve(e){this.free=function(){Le(this.ptr),this.ptr=0},this.set_base_ptr=function(e){I[this.ptr>>2]=e},this.get_base_ptr=function(){return I[this.ptr>>2]},this.set_adjusted_ptr=function(e){I[this.ptr+4>>2]=e},this.get_adjusted_ptr=function(){return I[this.ptr+4>>2]},this.get_exception_ptr=function(){if(Ke(this.get_exception_info().get_type()))return I[this.get_base_ptr()>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.get_base_ptr()},this.get_exception_info=function(){return new ge(this.get_base_ptr())},void 0===e?(this.ptr=We(8),this.set_adjusted_ptr(0)):this.ptr=e}var ye=[];var _e=0;var Ee=0;function ke(e){try{return Le(new ge(e).ptr)}catch(r){}}var be={splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,r){for(var t=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),t++):t&&(e.splice(n,1),t--)}if(r)for(;t;t--)e.unshift("..");return e},normalize:function(e){var r="/"===e.charAt(0),t="/"===e.substr(-1);return(e=be.normalizeArray(e.split("/").filter(function(e){return!!e}),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:function(e){var r=be.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:function(e){if("/"===e)return"/";var r=(e=(e=be.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===r?e:e.substr(r+1)},extname:function(e){return be.splitPath(e)[3]},join:function(){var e=Array.prototype.slice.call(arguments,0);return be.normalize(e.join("/"))},join2:function(e,r){return be.normalize(e+"/"+r)}};var De={resolve:function(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var n=t>=0?arguments[t]:Pe.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,r="/"===n.charAt(0)}return(r?"/":"")+(e=be.normalizeArray(e.split("/").filter(function(e){return!!e}),!r).join("/"))||"."},relative:function(e,r){function t(e){for(var r=0;r<e.length&&""===e[r];r++);for(var t=e.length-1;t>=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=De.resolve(e).substr(1),r=De.resolve(r).substr(1);for(var n=t(e.split("/")),o=t(r.split("/")),i=Math.min(n.length,o.length),a=i,s=0;s<i;s++)if(n[s]!==o[s]){a=s;break}var u=[];for(s=a;s<n.length;s++)u.push("..");return(u=u.concat(o.slice(a))).join("/")}},Fe={ttys:[],init:function(){},shutdown:function(){},register:function(e,r){Fe.ttys[e]={input:[],output:[],ops:r},Pe.registerDevice(e,Fe.stream_ops)},stream_ops:{open:function(e){var r=Fe.ttys[e.node.rdev];if(!r)throw new Pe.ErrnoError(43);e.tty=r,e.seekable=!1},close:function(e){e.tty.ops.flush(e.tty)},flush:function(e){e.tty.ops.flush(e.tty)},read:function(e,r,t,n,o){if(!e.tty||!e.tty.ops.get_char)throw new Pe.ErrnoError(60);for(var i=0,a=0;a<n;a++){var s;try{s=e.tty.ops.get_char(e.tty)}catch(u){throw new Pe.ErrnoError(29)}if(void 0===s&&0===i)throw new Pe.ErrnoError(6);if(null==s)break;i++,r[t+a]=s}return i&&(e.node.timestamp=Date.now()),i},write:function(e,r,t,n,o){if(!e.tty||!e.tty.ops.put_char)throw new Pe.ErrnoError(60);try{for(var i=0;i<n;i++)e.tty.ops.put_char(e.tty,r[t+i])}catch(a){throw new Pe.ErrnoError(29)}return n&&(e.node.timestamp=Date.now()),i}},default_tty_ops:{get_char:function(e){if(!e.input.length){var r=null;if(w){var n=o.alloc?o.alloc(256):new o(256),i=0;try{i=_.readSync(t.stdin.fd,n,0,256,null)}catch(a){if(-1==a.toString().indexOf("EOF"))throw a;i=0}r=i>0?n.slice(0,i).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(r=window.prompt("Input: "))&&(r+="\n"):"function"==typeof readline&&null!==(r=readline())&&(r+="\n");if(!r)return null;e.input=ze(r,!0)}return e.input.shift()},put_char:function(e,r){null===r||10===r?(b(H(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},flush:function(e){e.output&&e.output.length>0&&(b(H(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,r){null===r||10===r?(D(H(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},flush:function(e){e.output&&e.output.length>0&&(D(H(e.output,0)),e.output=[])}}};function Se(e){for(var r=function(e,r){return r||(r=F),Math.ceil(e/r)*r}(e,16384),t=We(r);e<r;)C[t+e++]=0;return t}var Te={ops_table:null,mount:function(e){return Te.createNode(null,"/",16895,0)},createNode:function(e,r,t,n){if(Pe.isBlkdev(t)||Pe.isFIFO(t))throw new Pe.ErrnoError(63);Te.ops_table||(Te.ops_table={dir:{node:{getattr:Te.node_ops.getattr,setattr:Te.node_ops.setattr,lookup:Te.node_ops.lookup,mknod:Te.node_ops.mknod,rename:Te.node_ops.rename,unlink:Te.node_ops.unlink,rmdir:Te.node_ops.rmdir,readdir:Te.node_ops.readdir,symlink:Te.node_ops.symlink},stream:{llseek:Te.stream_ops.llseek}},file:{node:{getattr:Te.node_ops.getattr,setattr:Te.node_ops.setattr},stream:{llseek:Te.stream_ops.llseek,read:Te.stream_ops.read,write:Te.stream_ops.write,allocate:Te.stream_ops.allocate,mmap:Te.stream_ops.mmap,msync:Te.stream_ops.msync}},link:{node:{getattr:Te.node_ops.getattr,setattr:Te.node_ops.setattr,readlink:Te.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Te.node_ops.getattr,setattr:Te.node_ops.setattr},stream:Pe.chrdev_stream_ops}});var o=Pe.createNode(e,r,t,n);return Pe.isDir(o.mode)?(o.node_ops=Te.ops_table.dir.node,o.stream_ops=Te.ops_table.dir.stream,o.contents={}):Pe.isFile(o.mode)?(o.node_ops=Te.ops_table.file.node,o.stream_ops=Te.ops_table.file.stream,o.usedBytes=0,o.contents=null):Pe.isLink(o.mode)?(o.node_ops=Te.ops_table.link.node,o.stream_ops=Te.ops_table.link.stream):Pe.isChrdev(o.mode)&&(o.node_ops=Te.ops_table.chrdev.node,o.stream_ops=Te.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[r]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,r){var t=e.contents?e.contents.length:0;if(!(t>=r)){r=Math.max(r,t*(t<1048576?2:1.125)>>>0),0!=t&&(r=Math.max(r,256));var n=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,r){if(e.usedBytes!=r)if(0==r)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr:function(e){var r={};return r.dev=Pe.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,Pe.isDir(e.mode)?r.size=4096:Pe.isFile(e.mode)?r.size=e.usedBytes:Pe.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.timestamp),r.mtime=new Date(e.timestamp),r.ctime=new Date(e.timestamp),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr:function(e,r){void 0!==r.mode&&(e.mode=r.mode),void 0!==r.timestamp&&(e.timestamp=r.timestamp),void 0!==r.size&&Te.resizeFileStorage(e,r.size)},lookup:function(e,r){throw Pe.genericErrors[44]},mknod:function(e,r,t,n){return Te.createNode(e,r,t,n)},rename:function(e,r,t){if(Pe.isDir(e.mode)){var n;try{n=Pe.lookupNode(r,t)}catch(i){}if(n)for(var o in n.contents)throw new Pe.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink:function(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir:function(e,r){var t=Pe.lookupNode(e,r);for(var n in t.contents)throw new Pe.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},readdir:function(e){var r=[".",".."];for(var t in e.contents)e.contents.hasOwnProperty(t)&&r.push(t);return r},symlink:function(e,r,t){var n=Te.createNode(e,r,41471,0);return n.link=t,n},readlink:function(e){if(!Pe.isLink(e.mode))throw new Pe.ErrnoError(28);return e.link}},stream_ops:{read:function(e,r,t,n,o){var i=e.node.contents;if(o>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-o,n);if(a>8&&i.subarray)r.set(i.subarray(o,o+a),t);else for(var s=0;s<a;s++)r[t+s]=i[o+s];return a},write:function(e,r,t,n,o,i){if(!n)return 0;var a=e.node;if(a.timestamp=Date.now(),r.subarray&&(!a.contents||a.contents.subarray)){if(i)return a.contents=r.subarray(t,t+n),a.usedBytes=n,n;if(0===a.usedBytes&&0===o)return a.contents=r.slice(t,t+n),a.usedBytes=n,n;if(o+n<=a.usedBytes)return a.contents.set(r.subarray(t,t+n),o),n}if(Te.expandFileStorage(a,o+n),a.contents.subarray&&r.subarray)a.contents.set(r.subarray(t,t+n),o);else for(var s=0;s<n;s++)a.contents[o+s]=r[t+s];return a.usedBytes=Math.max(a.usedBytes,o+n),n},llseek:function(e,r,t){var n=r;if(1===t?n+=e.position:2===t&&Pe.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new Pe.ErrnoError(28);return n},allocate:function(e,r,t){Te.expandFileStorage(e.node,r+t),e.node.usedBytes=Math.max(e.node.usedBytes,r+t)},mmap:function(e,r,t,n,o,i){if(0!==r)throw new Pe.ErrnoError(28);if(!Pe.isFile(e.node.mode))throw new Pe.ErrnoError(43);var a,s,u=e.node.contents;if(2&i||u.buffer!==N){if((n>0||n+t<u.length)&&(u=u.subarray?u.subarray(n,n+t):Array.prototype.slice.call(u,n,n+t)),s=!0,!(a=Se(t)))throw new Pe.ErrnoError(48);C.set(u,a)}else s=!1,a=u.byteOffset;return{ptr:a,allocated:s}},msync:function(e,r,t,n,o){if(!Pe.isFile(e.node.mode))throw new Pe.ErrnoError(43);if(2&o)return 0;Te.stream_ops.write(e,r,0,n,t,!1);return 0}}},Pe={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(e,r){if(r=r||{},!(e=De.resolve(Pe.cwd(),e)))return{path:"",node:null};var t={follow_mount:!0,recurse_count:0};for(var n in t)void 0===r[n]&&(r[n]=t[n]);if(r.recurse_count>8)throw new Pe.ErrnoError(32);for(var o=be.normalizeArray(e.split("/").filter(function(e){return!!e}),!1),i=Pe.root,a="/",s=0;s<o.length;s++){var u=s===o.length-1;if(u&&r.parent)break;if(i=Pe.lookupNode(i,o[s]),a=be.join2(a,o[s]),Pe.isMountpoint(i)&&(!u||u&&r.follow_mount)&&(i=i.mounted.root),!u||r.follow)for(var c=0;Pe.isLink(i.mode);){var f=Pe.readlink(a);if(a=De.resolve(be.dirname(a),f),i=Pe.lookupPath(a,{recurse_count:r.recurse_count}).node,c++>40)throw new Pe.ErrnoError(32)}}return{path:a,node:i}},getPath:function(e){for(var r;;){if(Pe.isRoot(e)){var t=e.mount.mountpoint;return r?"/"!==t[t.length-1]?t+"/"+r:t+r:t}r=r?e.name+"/"+r:e.name,e=e.parent}},hashName:function(e,r){for(var t=0,n=0;n<r.length;n++)t=(t<<5)-t+r.charCodeAt(n)|0;return(e+t>>>0)%Pe.nameTable.length},hashAddNode:function(e){var r=Pe.hashName(e.parent.id,e.name);e.name_next=Pe.nameTable[r],Pe.nameTable[r]=e},hashRemoveNode:function(e){var r=Pe.hashName(e.parent.id,e.name);if(Pe.nameTable[r]===e)Pe.nameTable[r]=e.name_next;else for(var t=Pe.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode:function(e,r){var t=Pe.mayLookup(e);if(t)throw new Pe.ErrnoError(t,e);for(var n=Pe.hashName(e.id,r),o=Pe.nameTable[n];o;o=o.name_next){var i=o.name;if(o.parent.id===e.id&&i===r)return o}return Pe.lookup(e,r)},createNode:function(e,r,t,n){var o=new Pe.FSNode(e,r,t,n);return Pe.hashAddNode(o),o},destroyNode:function(e){Pe.hashRemoveNode(e)},isRoot:function(e){return e===e.parent},isMountpoint:function(e){return!!e.mounted},isFile:function(e){return 32768==(61440&e)},isDir:function(e){return 16384==(61440&e)},isLink:function(e){return 40960==(61440&e)},isChrdev:function(e){return 8192==(61440&e)},isBlkdev:function(e){return 24576==(61440&e)},isFIFO:function(e){return 4096==(61440&e)},isSocket:function(e){return 49152==(49152&e)},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(e){var r=Pe.flagModes[e];if(void 0===r)throw new Error("Unknown file open mode: "+e);return r},flagsToPermissionString:function(e){var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:function(e,r){return Pe.ignorePermissions?0:(-1===r.indexOf("r")||292&e.mode)&&(-1===r.indexOf("w")||146&e.mode)&&(-1===r.indexOf("x")||73&e.mode)?0:2},mayLookup:function(e){var r=Pe.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate:function(e,r){try{Pe.lookupNode(e,r);return 20}catch(t){}return Pe.nodePermissions(e,"wx")},mayDelete:function(e,r,t){var n;try{n=Pe.lookupNode(e,r)}catch(i){return i.errno}var o=Pe.nodePermissions(e,"wx");if(o)return o;if(t){if(!Pe.isDir(n.mode))return 54;if(Pe.isRoot(n)||Pe.getPath(n)===Pe.cwd())return 10}else if(Pe.isDir(n.mode))return 31;return 0},mayOpen:function(e,r){return e?Pe.isLink(e.mode)?32:Pe.isDir(e.mode)&&("r"!==Pe.flagsToPermissionString(r)||512&r)?31:Pe.nodePermissions(e,Pe.flagsToPermissionString(r)):44},MAX_OPEN_FDS:4096,nextfd:function(e,r){e=e||0,r=r||Pe.MAX_OPEN_FDS;for(var t=e;t<=r;t++)if(!Pe.streams[t])return t;throw new Pe.ErrnoError(33)},getStream:function(e){return Pe.streams[e]},createStream:function(e,r,t){Pe.FSStream||(Pe.FSStream=function(){},Pe.FSStream.prototype={object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}});var n=new Pe.FSStream;for(var o in e)n[o]=e[o];e=n;var i=Pe.nextfd(r,t);return e.fd=i,Pe.streams[i]=e,e},closeStream:function(e){Pe.streams[e]=null},chrdev_stream_ops:{open:function(e){var r=Pe.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:function(){throw new Pe.ErrnoError(70)}},major:function(e){return e>>8},minor:function(e){return 255&e},makedev:function(e,r){return e<<8|r},registerDevice:function(e,r){Pe.devices[e]={stream_ops:r}},getDevice:function(e){return Pe.devices[e]},getMounts:function(e){for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push.apply(t,n.mounts)}return r},syncfs:function(e,r){"function"==typeof e&&(r=e,e=!1),Pe.syncFSRequests++,Pe.syncFSRequests>1&&D("warning: "+Pe.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var t=Pe.getMounts(Pe.root.mount),n=0;function o(e){return Pe.syncFSRequests--,r(e)}function i(e){if(e)return i.errored?void 0:(i.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach(function(r){if(!r.type.syncfs)return i(null);r.type.syncfs(r,e,i)})},mount:function(e,r,t){var n,o="/"===t,i=!t;if(o&&Pe.root)throw new Pe.ErrnoError(10);if(!o&&!i){var a=Pe.lookupPath(t,{follow_mount:!1});if(t=a.path,n=a.node,Pe.isMountpoint(n))throw new Pe.ErrnoError(10);if(!Pe.isDir(n.mode))throw new Pe.ErrnoError(54)}var s={type:e,opts:r,mountpoint:t,mounts:[]},u=e.mount(s);return u.mount=s,s.root=u,o?Pe.root=u:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),u},unmount:function(e){var r=Pe.lookupPath(e,{follow_mount:!1});if(!Pe.isMountpoint(r.node))throw new Pe.ErrnoError(28);var t=r.node,n=t.mounted,o=Pe.getMounts(n);Object.keys(Pe.nameTable).forEach(function(e){for(var r=Pe.nameTable[e];r;){var t=r.name_next;-1!==o.indexOf(r.mount)&&Pe.destroyNode(r),r=t}}),t.mounted=null;var i=t.mount.mounts.indexOf(n);t.mount.mounts.splice(i,1)},lookup:function(e,r){return e.node_ops.lookup(e,r)},mknod:function(e,r,t){var n=Pe.lookupPath(e,{parent:!0}).node,o=be.basename(e);if(!o||"."===o||".."===o)throw new Pe.ErrnoError(28);var i=Pe.mayCreate(n,o);if(i)throw new Pe.ErrnoError(i);if(!n.node_ops.mknod)throw new Pe.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},create:function(e,r){return r=void 0!==r?r:438,r&=4095,r|=32768,Pe.mknod(e,r,0)},mkdir:function(e,r){return r=void 0!==r?r:511,r&=1023,r|=16384,Pe.mknod(e,r,0)},mkdirTree:function(e,r){for(var t=e.split("/"),n="",o=0;o<t.length;++o)if(t[o]){n+="/"+t[o];try{Pe.mkdir(n,r)}catch(i){if(20!=i.errno)throw i}}},mkdev:function(e,r,t){return void 0===t&&(t=r,r=438),r|=8192,Pe.mknod(e,r,t)},symlink:function(e,r){if(!De.resolve(e))throw new Pe.ErrnoError(44);var t=Pe.lookupPath(r,{parent:!0}).node;if(!t)throw new Pe.ErrnoError(44);var n=be.basename(r),o=Pe.mayCreate(t,n);if(o)throw new Pe.ErrnoError(o);if(!t.node_ops.symlink)throw new Pe.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename:function(e,r){var t,n,o=be.dirname(e),i=be.dirname(r),a=be.basename(e),s=be.basename(r);if(t=Pe.lookupPath(e,{parent:!0}).node,n=Pe.lookupPath(r,{parent:!0}).node,!t||!n)throw new Pe.ErrnoError(44);if(t.mount!==n.mount)throw new Pe.ErrnoError(75);var u,c=Pe.lookupNode(t,a),f=De.relative(e,i);if("."!==f.charAt(0))throw new Pe.ErrnoError(28);if("."!==(f=De.relative(r,o)).charAt(0))throw new Pe.ErrnoError(55);try{u=Pe.lookupNode(n,s)}catch(h){}if(c!==u){var l=Pe.isDir(c.mode),d=Pe.mayDelete(t,a,l);if(d)throw new Pe.ErrnoError(d);if(d=u?Pe.mayDelete(n,s,l):Pe.mayCreate(n,s))throw new Pe.ErrnoError(d);if(!t.node_ops.rename)throw new Pe.ErrnoError(63);if(Pe.isMountpoint(c)||u&&Pe.isMountpoint(u))throw new Pe.ErrnoError(10);if(n!==t&&(d=Pe.nodePermissions(t,"w")))throw new Pe.ErrnoError(d);try{Pe.trackingDelegate.willMovePath&&Pe.trackingDelegate.willMovePath(e,r)}catch(h){D("FS.trackingDelegate['willMovePath']('"+e+"', '"+r+"') threw an exception: "+h.message)}Pe.hashRemoveNode(c);try{t.node_ops.rename(c,n,s)}catch(h){throw h}finally{Pe.hashAddNode(c)}try{Pe.trackingDelegate.onMovePath&&Pe.trackingDelegate.onMovePath(e,r)}catch(h){D("FS.trackingDelegate['onMovePath']('"+e+"', '"+r+"') threw an exception: "+h.message)}}},rmdir:function(e){var r=Pe.lookupPath(e,{parent:!0}).node,t=be.basename(e),n=Pe.lookupNode(r,t),o=Pe.mayDelete(r,t,!0);if(o)throw new Pe.ErrnoError(o);if(!r.node_ops.rmdir)throw new Pe.ErrnoError(63);if(Pe.isMountpoint(n))throw new Pe.ErrnoError(10);try{Pe.trackingDelegate.willDeletePath&&Pe.trackingDelegate.willDeletePath(e)}catch(i){D("FS.trackingDelegate['willDeletePath']('"+e+"') threw an exception: "+i.message)}r.node_ops.rmdir(r,t),Pe.destroyNode(n);try{Pe.trackingDelegate.onDeletePath&&Pe.trackingDelegate.onDeletePath(e)}catch(i){D("FS.trackingDelegate['onDeletePath']('"+e+"') threw an exception: "+i.message)}},readdir:function(e){var r=Pe.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new Pe.ErrnoError(54);return r.node_ops.readdir(r)},unlink:function(e){var r=Pe.lookupPath(e,{parent:!0}).node,t=be.basename(e),n=Pe.lookupNode(r,t),o=Pe.mayDelete(r,t,!1);if(o)throw new Pe.ErrnoError(o);if(!r.node_ops.unlink)throw new Pe.ErrnoError(63);if(Pe.isMountpoint(n))throw new Pe.ErrnoError(10);try{Pe.trackingDelegate.willDeletePath&&Pe.trackingDelegate.willDeletePath(e)}catch(i){D("FS.trackingDelegate['willDeletePath']('"+e+"') threw an exception: "+i.message)}r.node_ops.unlink(r,t),Pe.destroyNode(n);try{Pe.trackingDelegate.onDeletePath&&Pe.trackingDelegate.onDeletePath(e)}catch(i){D("FS.trackingDelegate['onDeletePath']('"+e+"') threw an exception: "+i.message)}},readlink:function(e){var r=Pe.lookupPath(e).node;if(!r)throw new Pe.ErrnoError(44);if(!r.node_ops.readlink)throw new Pe.ErrnoError(28);return De.resolve(Pe.getPath(r.parent),r.node_ops.readlink(r))},stat:function(e,r){var t=Pe.lookupPath(e,{follow:!r}).node;if(!t)throw new Pe.ErrnoError(44);if(!t.node_ops.getattr)throw new Pe.ErrnoError(63);return t.node_ops.getattr(t)},lstat:function(e){return Pe.stat(e,!0)},chmod:function(e,r,t){var n;"string"==typeof e?n=Pe.lookupPath(e,{follow:!t}).node:n=e;if(!n.node_ops.setattr)throw new Pe.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod:function(e,r){Pe.chmod(e,r,!0)},fchmod:function(e,r){var t=Pe.getStream(e);if(!t)throw new Pe.ErrnoError(8);Pe.chmod(t.node,r)},chown:function(e,r,t,n){var o;"string"==typeof e?o=Pe.lookupPath(e,{follow:!n}).node:o=e;if(!o.node_ops.setattr)throw new Pe.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:function(e,r,t){Pe.chown(e,r,t,!0)},fchown:function(e,r,t){var n=Pe.getStream(e);if(!n)throw new Pe.ErrnoError(8);Pe.chown(n.node,r,t)},truncate:function(e,r){if(r<0)throw new Pe.ErrnoError(28);var t;"string"==typeof e?t=Pe.lookupPath(e,{follow:!0}).node:t=e;if(!t.node_ops.setattr)throw new Pe.ErrnoError(63);if(Pe.isDir(t.mode))throw new Pe.ErrnoError(31);if(!Pe.isFile(t.mode))throw new Pe.ErrnoError(28);var n=Pe.nodePermissions(t,"w");if(n)throw new Pe.ErrnoError(n);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate:function(e,r){var t=Pe.getStream(e);if(!t)throw new Pe.ErrnoError(8);if(0==(2097155&t.flags))throw new Pe.ErrnoError(28);Pe.truncate(t.node,r)},utime:function(e,r,t){var n=Pe.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,t)})},open:function(e,r,t,n,o){if(""===e)throw new Pe.ErrnoError(44);var i;if(t=void 0===t?438:t,t=64&(r="string"==typeof r?Pe.modeStringToFlags(r):r)?4095&t|32768:0,"object"==typeof e)i=e;else{e=be.normalize(e);try{i=Pe.lookupPath(e,{follow:!(131072&r)}).node}catch(l){}}var a=!1;if(64&r)if(i){if(128&r)throw new Pe.ErrnoError(20)}else i=Pe.mknod(e,t,0),a=!0;if(!i)throw new Pe.ErrnoError(44);if(Pe.isChrdev(i.mode)&&(r&=-513),65536&r&&!Pe.isDir(i.mode))throw new Pe.ErrnoError(54);if(!a){var u=Pe.mayOpen(i,r);if(u)throw new Pe.ErrnoError(u)}512&r&&Pe.truncate(i,0),r&=-131713;var c=Pe.createStream({node:i,path:Pe.getPath(i),flags:r,seekable:!0,position:0,stream_ops:i.stream_ops,ungotten:[],error:!1},n,o);c.stream_ops.open&&c.stream_ops.open(c),!s.logReadFiles||1&r||(Pe.readFiles||(Pe.readFiles={}),e in Pe.readFiles||(Pe.readFiles[e]=1,D("FS.trackingDelegate error on read file: "+e)));try{if(Pe.trackingDelegate.onOpenFile){var f=0;1!=(2097155&r)&&(f|=Pe.tracking.openFlags.READ),0!=(2097155&r)&&(f|=Pe.tracking.openFlags.WRITE),Pe.trackingDelegate.onOpenFile(e,f)}}catch(l){D("FS.trackingDelegate['onOpenFile']('"+e+"', flags) threw an exception: "+l.message)}return c},close:function(e){if(Pe.isClosed(e))throw new Pe.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(r){throw r}finally{Pe.closeStream(e.fd)}e.fd=null},isClosed:function(e){return null===e.fd},llseek:function(e,r,t){if(Pe.isClosed(e))throw new Pe.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Pe.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new Pe.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read:function(e,r,t,n,o){if(n<0||o<0)throw new Pe.ErrnoError(28);if(Pe.isClosed(e))throw new Pe.ErrnoError(8);if(1==(2097155&e.flags))throw new Pe.ErrnoError(8);if(Pe.isDir(e.node.mode))throw new Pe.ErrnoError(31);if(!e.stream_ops.read)throw new Pe.ErrnoError(28);var i=void 0!==o;if(i){if(!e.seekable)throw new Pe.ErrnoError(70)}else o=e.position;var a=e.stream_ops.read(e,r,t,n,o);return i||(e.position+=a),a},write:function(e,r,t,n,o,i){if(n<0||o<0)throw new Pe.ErrnoError(28);if(Pe.isClosed(e))throw new Pe.ErrnoError(8);if(0==(2097155&e.flags))throw new Pe.ErrnoError(8);if(Pe.isDir(e.node.mode))throw new Pe.ErrnoError(31);if(!e.stream_ops.write)throw new Pe.ErrnoError(28);e.seekable&&1024&e.flags&&Pe.llseek(e,0,2);var a=void 0!==o;if(a){if(!e.seekable)throw new Pe.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,r,t,n,o,i);a||(e.position+=s);try{e.path&&Pe.trackingDelegate.onWriteToFile&&Pe.trackingDelegate.onWriteToFile(e.path)}catch(u){D("FS.trackingDelegate['onWriteToFile']('"+e.path+"') threw an exception: "+u.message)}return s},allocate:function(e,r,t){if(Pe.isClosed(e))throw new Pe.ErrnoError(8);if(r<0||t<=0)throw new Pe.ErrnoError(28);if(0==(2097155&e.flags))throw new Pe.ErrnoError(8);if(!Pe.isFile(e.node.mode)&&!Pe.isDir(e.node.mode))throw new Pe.ErrnoError(43);if(!e.stream_ops.allocate)throw new Pe.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap:function(e,r,t,n,o,i){if(0!=(2&o)&&0==(2&i)&&2!=(2097155&e.flags))throw new Pe.ErrnoError(2);if(1==(2097155&e.flags))throw new Pe.ErrnoError(2);if(!e.stream_ops.mmap)throw new Pe.ErrnoError(43);return e.stream_ops.mmap(e,r,t,n,o,i)},msync:function(e,r,t,n,o){return e&&e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0},munmap:function(e){return 0},ioctl:function(e,r,t){if(!e.stream_ops.ioctl)throw new Pe.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile:function(e,r){if((r=r||{}).flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw new Error('Invalid encoding type "'+r.encoding+'"');var t,n=Pe.open(e,r.flags),o=Pe.stat(e).size,i=new Uint8Array(o);return Pe.read(n,i,0,o,0),"utf8"===r.encoding?t=H(i,0):"binary"===r.encoding&&(t=i),Pe.close(n),t},writeFile:function(e,r,t){(t=t||{}).flags=t.flags||577;var n=Pe.open(e,t.flags,t.mode);if("string"==typeof r){var o=new Uint8Array(q(r)+1),i=Y(r,o,0,o.length);Pe.write(n,o,0,i,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(r))throw new Error("Unsupported data type");Pe.write(n,r,0,r.byteLength,void 0,t.canOwn)}Pe.close(n)},cwd:function(){return Pe.currentPath},chdir:function(e){var r=Pe.lookupPath(e,{follow:!0});if(null===r.node)throw new Pe.ErrnoError(44);if(!Pe.isDir(r.node.mode))throw new Pe.ErrnoError(54);var t=Pe.nodePermissions(r.node,"x");if(t)throw new Pe.ErrnoError(t);Pe.currentPath=r.path},createDefaultDirectories:function(){Pe.mkdir("/tmp"),Pe.mkdir("/home"),Pe.mkdir("/home/web_user")},createDefaultDevices:function(){Pe.mkdir("/dev"),Pe.registerDevice(Pe.makedev(1,3),{read:function(){return 0},write:function(e,r,t,n,o){return n}}),Pe.mkdev("/dev/null",Pe.makedev(1,3)),Fe.register(Pe.makedev(5,0),Fe.default_tty_ops),Fe.register(Pe.makedev(6,0),Fe.default_tty1_ops),Pe.mkdev("/dev/tty",Pe.makedev(5,0)),Pe.mkdev("/dev/tty1",Pe.makedev(6,0));var e=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return function(){return crypto.getRandomValues(e),e[0]}}if(w)try{var r=require("crypto");return function(){return r.randomBytes(1)[0]}}catch(t){}return function(){oe("randomDevice")}}();Pe.createDevice("/dev","random",e),Pe.createDevice("/dev","urandom",e),Pe.mkdir("/dev/shm"),Pe.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){Pe.mkdir("/proc");var e=Pe.mkdir("/proc/self");Pe.mkdir("/proc/self/fd"),Pe.mount({mount:function(){var r=Pe.createNode(e,"fd",16895,73);return r.node_ops={lookup:function(e,r){var t=+r,n=Pe.getStream(t);if(!n)throw new Pe.ErrnoError(8);var o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return n.path}}};return o.parent=o,o}},r}},{},"/proc/self/fd")},createStandardStreams:function(){s.stdin?Pe.createDevice("/dev","stdin",s.stdin):Pe.symlink("/dev/tty","/dev/stdin"),s.stdout?Pe.createDevice("/dev","stdout",null,s.stdout):Pe.symlink("/dev/tty","/dev/stdout"),s.stderr?Pe.createDevice("/dev","stderr",null,s.stderr):Pe.symlink("/dev/tty1","/dev/stderr");Pe.open("/dev/stdin",0),Pe.open("/dev/stdout",1),Pe.open("/dev/stderr",1)},ensureErrnoError:function(){Pe.ErrnoError||(Pe.ErrnoError=function(e,r){this.node=r,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},Pe.ErrnoError.prototype=new Error,Pe.ErrnoError.prototype.constructor=Pe.ErrnoError,[44].forEach(function(e){Pe.genericErrors[e]=new Pe.ErrnoError(e),Pe.genericErrors[e].stack="<generic error, no stack>"}))},staticInit:function(){Pe.ensureErrnoError(),Pe.nameTable=new Array(4096),Pe.mount(Te,{},"/"),Pe.createDefaultDirectories(),Pe.createDefaultDevices(),Pe.createSpecialDirectories(),Pe.filesystems={MEMFS:Te}},init:function(e,r,t){Pe.init.initialized=!0,Pe.ensureErrnoError(),s.stdin=e||s.stdin,s.stdout=r||s.stdout,s.stderr=t||s.stderr,Pe.createStandardStreams()},quit:function(){Pe.init.initialized=!1;var e=s._fflush;e&&e(0);for(var r=0;r<Pe.streams.length;r++){var t=Pe.streams[r];t&&Pe.close(t)}},getMode:function(e,r){var t=0;return e&&(t|=365),r&&(t|=146),t},findObject:function(e,r){var t=Pe.analyzePath(e,r);return t.exists?t.object:null},analyzePath:function(e,r){try{e=(n=Pe.lookupPath(e,{follow:!r})).path}catch(o){}var t={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=Pe.lookupPath(e,{parent:!0});t.parentExists=!0,t.parentPath=n.path,t.parentObject=n.node,t.name=be.basename(e),n=Pe.lookupPath(e,{follow:!r}),t.exists=!0,t.path=n.path,t.object=n.node,t.name=n.node.name,t.isRoot="/"===n.path}catch(o){t.error=o.errno}return t},createPath:function(e,r,t,n){e="string"==typeof e?e:Pe.getPath(e);for(var o=r.split("/").reverse();o.length;){var i=o.pop();if(i){var a=be.join2(e,i);try{Pe.mkdir(a)}catch(s){}e=a}}return a},createFile:function(e,r,t,n,o){var i=be.join2("string"==typeof e?e:Pe.getPath(e),r),a=Pe.getMode(n,o);return Pe.create(i,a)},createDataFile:function(e,r,t,n,o,i){var a=r?be.join2("string"==typeof e?e:Pe.getPath(e),r):e,s=Pe.getMode(n,o),u=Pe.create(a,s);if(t){if("string"==typeof t){for(var c=new Array(t.length),f=0,l=t.length;f<l;++f)c[f]=t.charCodeAt(f);t=c}Pe.chmod(u,146|s);var d=Pe.open(u,577);Pe.write(d,t,0,t.length,0,i),Pe.close(d),Pe.chmod(u,s)}return u},createDevice:function(e,r,t,n){var o=be.join2("string"==typeof e?e:Pe.getPath(e),r),i=Pe.getMode(!!t,!!n);Pe.createDevice.major||(Pe.createDevice.major=64);var a=Pe.makedev(Pe.createDevice.major++,0);return Pe.registerDevice(a,{open:function(e){e.seekable=!1},close:function(e){n&&n.buffer&&n.buffer.length&&n(10)},read:function(e,r,n,o,i){for(var a=0,s=0;s<o;s++){var u;try{u=t()}catch(c){throw new Pe.ErrnoError(29)}if(void 0===u&&0===a)throw new Pe.ErrnoError(6);if(null==u)break;a++,r[n+s]=u}return a&&(e.node.timestamp=Date.now()),a},write:function(e,r,t,o,i){for(var a=0;a<o;a++)try{n(r[t+a])}catch(s){throw new Pe.ErrnoError(29)}return o&&(e.node.timestamp=Date.now()),a}}),Pe.mkdev(o,i,a)},forceLoadFile:function(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!g)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=ze(g(e.url),!0),e.usedBytes=e.contents.length}catch(r){throw new Pe.ErrnoError(29)}},createLazyFile:function(e,r,t,n,o){function i(){this.lengthKnown=!1,this.chunks=[]}if(i.prototype.get=function(e){if(!(e>this.length-1||e<0)){var r=e%this.chunkSize,t=e/this.chunkSize|0;return this.getter(t)[r]}},i.prototype.setDataGetter=function(e){this.getter=e},i.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",t,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+t+". Status: "+e.status);var r,n=Number(e.getResponseHeader("Content-length")),o=(r=e.getResponseHeader("Accept-Ranges"))&&"bytes"===r,i=(r=e.getResponseHeader("Content-Encoding"))&&"gzip"===r,a=1048576;o||(a=n);var s=this;s.setDataGetter(function(e){var r=e*a,o=(e+1)*a-1;if(o=Math.min(o,n-1),void 0===s.chunks[e]&&(s.chunks[e]=function(e,r){if(e>r)throw new Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==a&&o.setRequestHeader("Range","bytes="+e+"-"+r),"undefined"!=typeof Uint8Array&&(o.responseType="arraybuffer"),o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):ze(o.responseText||"",!0)}(r,o)),void 0===s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]}),!i&&n||(a=n=1,n=this.getter(0).length,a=n,b("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!m)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new i;Object.defineProperties(a,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var s={isDevice:!1,contents:a}}else s={isDevice:!1,url:t};var u=Pe.createFile(e,r,s,n,o);s.contents?u.contents=s.contents:s.url&&(u.contents=null,u.url=s.url),Object.defineProperties(u,{usedBytes:{get:function(){return this.contents.length}}});var c={};return Object.keys(u.stream_ops).forEach(function(e){var r=u.stream_ops[e];c[e]=function(){return Pe.forceLoadFile(u),r.apply(null,arguments)}}),c.read=function(e,r,t,n,o){Pe.forceLoadFile(u);var i=e.node.contents;if(o>=i.length)return 0;var a=Math.min(i.length-o,n);if(i.slice)for(var s=0;s<a;s++)r[t+s]=i[o+s];else for(s=0;s<a;s++)r[t+s]=i.get(o+s);return a},u.stream_ops=c,u},createPreloadedFile:function(e,r,t,n,o,i,a,u,c,f){Browser.init();var l=r?De.resolve(be.join2(e,r)):e;function d(t){function d(t){f&&f(),u||Pe.createDataFile(e,r,t,n,o,c),i&&i(),ne()}var h=!1;s.preloadPlugins.forEach(function(e){h||e.canHandle(l)&&(e.handle(t,l,d,function(){a&&a(),ne()}),h=!0)}),h||d(t)}te(),"string"==typeof t?Browser.asyncLoad(t,function(e){d(e)},a):d(t)},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(e,r,t){r=r||function(){},t=t||function(){};var n=Pe.indexedDB();try{var o=n.open(Pe.DB_NAME(),Pe.DB_VERSION)}catch(i){return t(i)}o.onupgradeneeded=function(){b("creating db"),o.result.createObjectStore(Pe.DB_STORE_NAME)},o.onsuccess=function(){var n=o.result.transaction([Pe.DB_STORE_NAME],"readwrite"),i=n.objectStore(Pe.DB_STORE_NAME),a=0,s=0,u=e.length;function c(){0==s?r():t()}e.forEach(function(e){var r=i.put(Pe.analyzePath(e).object.contents,e);r.onsuccess=function(){++a+s==u&&c()},r.onerror=function(){a+ ++s==u&&c()}}),n.onerror=t},o.onerror=t},loadFilesFromDB:function(e,r,t){r=r||function(){},t=t||function(){};var n=Pe.indexedDB();try{var o=n.open(Pe.DB_NAME(),Pe.DB_VERSION)}catch(i){return t(i)}o.onupgradeneeded=t,o.onsuccess=function(){var n=o.result;try{var a=n.transaction([Pe.DB_STORE_NAME],"readonly")}catch(i){return void t(i)}var s=a.objectStore(Pe.DB_STORE_NAME),u=0,c=0,f=e.length;function l(){0==c?r():t()}e.forEach(function(e){var r=s.get(e);r.onsuccess=function(){Pe.analyzePath(e).exists&&Pe.unlink(e),Pe.createDataFile(be.dirname(e),be.basename(e),r.result,!0,!0,!0),++u+c==f&&l()},r.onerror=function(){u+ ++c==f&&l()}}),a.onerror=t},o.onerror=t}},Me={mappings:{},DEFAULT_POLLMASK:5,umask:511,calculateAt:function(e,r,t){if("/"===r[0])return r;var n;if(-100===e)n=Pe.cwd();else{var o=Pe.getStream(e);if(!o)throw new Pe.ErrnoError(8);n=o.path}if(0==r.length){if(!t)throw new Pe.ErrnoError(44);return n}return be.join2(n,r)},doStat:function(e,r,t){try{var n=e(r)}catch(o){if(o&&o.node&&be.normalize(r)!==be.normalize(Pe.getPath(o.node)))return-54;throw o}return I[t>>2]=n.dev,I[t+4>>2]=0,I[t+8>>2]=n.ino,I[t+12>>2]=n.mode,I[t+16>>2]=n.nlink,I[t+20>>2]=n.uid,I[t+24>>2]=n.gid,I[t+28>>2]=n.rdev,I[t+32>>2]=0,de=[n.size>>>0,(le=n.size,+Math.abs(le)>=1?le>0?(0|Math.min(+Math.floor(le/4294967296),4294967295))>>>0:~~+Math.ceil((le-+(~~le>>>0))/4294967296)>>>0:0)],I[t+40>>2]=de[0],I[t+44>>2]=de[1],I[t+48>>2]=4096,I[t+52>>2]=n.blocks,I[t+56>>2]=n.atime.getTime()/1e3|0,I[t+60>>2]=0,I[t+64>>2]=n.mtime.getTime()/1e3|0,I[t+68>>2]=0,I[t+72>>2]=n.ctime.getTime()/1e3|0,I[t+76>>2]=0,de=[n.ino>>>0,(le=n.ino,+Math.abs(le)>=1?le>0?(0|Math.min(+Math.floor(le/4294967296),4294967295))>>>0:~~+Math.ceil((le-+(~~le>>>0))/4294967296)>>>0:0)],I[t+80>>2]=de[0],I[t+84>>2]=de[1],0},doMsync:function(e,r,t,n,o){var i=B.slice(e,e+t);Pe.msync(r,i,o,t,n)},doMkdir:function(e,r){return"/"===(e=be.normalize(e))[e.length-1]&&(e=e.substr(0,e.length-1)),Pe.mkdir(e,r,0),0},doMknod:function(e,r,t){switch(61440&r){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return Pe.mknod(e,r,t),0},doReadlink:function(e,r,t){if(t<=0)return-28;var n=Pe.readlink(e),o=Math.min(t,q(n)),i=C[r+o];return W(n,r,t+1),C[r+o]=i,o},doAccess:function(e,r){if(-8&r)return-28;var t;if(!(t=Pe.lookupPath(e,{follow:!0}).node))return-44;var n="";return 4&r&&(n+="r"),2&r&&(n+="w"),1&r&&(n+="x"),n&&Pe.nodePermissions(t,n)?-2:0},doDup:function(e,r,t){var n=Pe.getStream(t);return n&&Pe.close(n),Pe.open(e,r,0,t,t).fd},doReadv:function(e,r,t,n){for(var o=0,i=0;i<t;i++){var a=I[r+8*i>>2],s=I[r+(8*i+4)>>2],u=Pe.read(e,C,a,s,n);if(u<0)return-1;if(o+=u,u<s)break}return o},doWritev:function(e,r,t,n){for(var o=0,i=0;i<t;i++){var a=I[r+8*i>>2],s=I[r+(8*i+4)>>2],u=Pe.write(e,C,a,s,n);if(u<0)return-1;o+=u}return o},varargs:void 0,get:function(){return Me.varargs+=4,I[Me.varargs-4>>2]},getStr:function(e){return L(e)},getStreamFromFD:function(e){var r=Pe.getStream(e);if(!r)throw new Pe.ErrnoError(8);return r},get64:function(e,r){return e}};var Ae={};function xe(){if(!xe.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:d||"./this.program"};for(var r in Ae)e[r]=Ae[r];var t=[];for(var r in e)t.push(r+"="+e[r]);xe.strings=t}return xe.strings}function Re(e){return e%4==0&&(e%100!=0||e%400==0)}function Oe(e,r){for(var t=0,n=0;n<=r;t+=e[n++]);return t}var je=[31,29,31,30,31,30,31,31,30,31,30,31],Ne=[31,28,31,30,31,30,31,31,30,31,30,31];function Ce(e,r){for(var t=new Date(e.getTime());r>0;){var n=Re(t.getFullYear()),o=t.getMonth(),i=(n?je:Ne)[o];if(!(r>i-t.getDate()))return t.setDate(t.getDate()+r),t;r-=i-t.getDate()+1,t.setDate(1),o<11?t.setMonth(o+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return t}var Be=function(e,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Pe.nextInode++,this.name=r,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n};function ze(e,r,t){var n=t>0?t:q(e)+1,o=new Array(n),i=Y(e,o,0,o.length);return r&&(o.length=i),o}Object.defineProperties(Be.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return Pe.isDir(this.mode)}},isDevice:{get:function(){return Pe.isChrdev(this.mode)}}}),Pe.FSNode=Be,Pe.staticInit();var Ie,Ue={k:function(e){return We(e+we.SIZE)+we.SIZE},p:function(e){var r=new ve(e),t=r.get_exception_info();return t.get_caught()||(t.set_caught(!0),_e--),t.set_rethrown(!1),ye.push(r),function(e){e.add_ref()}(t),r.get_exception_ptr()},r:function(){_setThrew(0);var e=ye.pop();!function(e){if(e.release_ref()&&!e.get_rethrown()){var r=e.get_destructor();r&&V.get(r)(e.excPtr),ke(e.excPtr)}}(e.get_exception_info()),e.free(),Ee=0},b:function(){var e=Ee;if(!e)return P(0),0;var r=new ge(e).get_type(),t=new ve;if(t.set_base_ptr(e),!r)return P(0),0|t.ptr;var n=Array.prototype.slice.call(arguments),o=qe(),i=Ge(4);I[i>>2]=e;for(var a=0;a<n.length;a++){var s=n[a];if(0===s||s===r)break;if(Ve(s,r,i)){var u=I[i>>2];return e!==u&&t.set_adjusted_ptr(u),P(0|s),0|t.ptr}}return Xe(o),P(0|r),0|t.ptr},g:function(){var e=Ee;if(!e)return P(0),0;var r=new ge(e).get_type(),t=new ve;if(t.set_base_ptr(e),!r)return P(0),0|t.ptr;var n=Array.prototype.slice.call(arguments),o=qe(),i=Ge(4);I[i>>2]=e;for(var a=0;a<n.length;a++){var s=n[a];if(0===s||s===r)break;if(Ve(s,r,i)){var u=I[i>>2];return e!==u&&t.set_adjusted_ptr(u),P(0|s),0|t.ptr}}return Xe(o),P(0|r),0|t.ptr},w:ke,E:function(){var e=ye.pop();e||oe("no exception to throw");var r=e.get_exception_info(),t=e.get_base_ptr();throw r.get_rethrown()?e.free():(ye.push(e),r.set_rethrown(!0),r.set_caught(!1),_e++),Ee=t,t},j:function(e,r,t){throw new ge(e).init(r,t),Ee=e,_e++,e},N:function(){return _e},d:function(e){var r=new ve(e),t=r.get_base_ptr();throw Ee||(Ee=t),r.free(),t},B:function(e,r,t){Me.varargs=t;try{var n=Me.getStreamFromFD(e);switch(r){case 0:return(o=Me.get())<0?-28:Pe.open(n.path,n.flags,0,o).fd;case 1:case 2:return 0;case 3:return n.flags;case 4:var o=Me.get();return n.flags|=o,0;case 12:return o=Me.get(),z[o+0>>1]=2,0;case 13:case 14:return 0;case 16:case 8:return-28;case 9:return i=28,I[Ye()>>2]=i,-1;default:return-28}}catch(a){return void 0!==Pe&&a instanceof Pe.ErrnoError||oe(a),-a.errno}var i},M:function(e,r,t){Me.varargs=t;try{var n=Me.getStreamFromFD(e);switch(r){case 21509:case 21505:return n.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return n.tty?0:-59;case 21519:if(!n.tty)return-59;var o=Me.get();return I[o>>2]=0,0;case 21520:return n.tty?-28:-59;case 21531:return o=Me.get(),Pe.ioctl(n,r,o);case 21523:case 21524:return n.tty?0:-59;default:oe("bad ioctl syscall "+r)}}catch(i){return void 0!==Pe&&i instanceof Pe.ErrnoError||oe(i),-i.errno}},T:function(e,r,t){Me.varargs=t;try{var n=Me.getStr(e),o=t?Me.get():0;return Pe.open(n,r,o).fd}catch(i){return void 0!==Pe&&i instanceof Pe.ErrnoError||oe(i),-i.errno}},R:function(){oe()},K:function(e,r,t){B.copyWithin(e,r,r+t)},L:function(e){oe("OOM")},P:function(e,r){try{var t=0;return xe().forEach(function(n,o){var i=r+t;I[e+4*o>>2]=i,function(e,r,t){for(var n=0;n<e.length;++n)C[r++>>0]=e.charCodeAt(n);t||(C[r>>0]=0)}(n,i),t+=n.length+1}),0}catch(n){return void 0!==Pe&&n instanceof Pe.ErrnoError||oe(n),n.errno}},Q:function(e,r){try{var t=xe();I[e>>2]=t.length;var n=0;return t.forEach(function(e){n+=e.length+1}),I[r>>2]=n,0}catch(o){return void 0!==Pe&&o instanceof Pe.ErrnoError||oe(o),o.errno}},z:function(e){try{var r=Me.getStreamFromFD(e);return Pe.close(r),0}catch(t){return void 0!==Pe&&t instanceof Pe.ErrnoError||oe(t),t.errno}},F:function(e,r,t,n){try{var o=Me.getStreamFromFD(e),i=Me.doReadv(o,r,t);return I[n>>2]=i,0}catch(a){return void 0!==Pe&&a instanceof Pe.ErrnoError||oe(a),a.errno}},I:function(e,r,t,n,o){try{var i=Me.getStreamFromFD(e),a=4294967296*t+(r>>>0);return a<=-9007199254740992||a>=9007199254740992?-61:(Pe.llseek(i,a,n),de=[i.position>>>0,(le=i.position,+Math.abs(le)>=1?le>0?(0|Math.min(+Math.floor(le/4294967296),4294967295))>>>0:~~+Math.ceil((le-+(~~le>>>0))/4294967296)>>>0:0)],I[o>>2]=de[0],I[o+4>>2]=de[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0)}catch(s){return void 0!==Pe&&s instanceof Pe.ErrnoError||oe(s),s.errno}},y:function(e,r,t,n){try{var o=Me.getStreamFromFD(e),i=Me.doWritev(o,r,t);return I[n>>2]=i,0}catch(a){return void 0!==Pe&&a instanceof Pe.ErrnoError||oe(a),a.errno}},a:function(){return 0|M()},A:function(e,r,t,n){var o=qe();try{return V.get(e)(r,t,n)}catch(i){if(Xe(o),i!==i+0&&"longjmp"!==i)throw i;_setThrew(1,0)}},C:function(e,r,t,n){var o=qe();try{return V.get(e)(r,t,n)}catch(i){if(Xe(o),i!==i+0&&"longjmp"!==i)throw i;_setThrew(1,0)}},l:function(e){var r=qe();try{return V.get(e)()}catch(t){if(Xe(r),t!==t+0&&"longjmp"!==t)throw t;_setThrew(1,0)}},c:function(e,r){var t=qe();try{return V.get(e)(r)}catch(n){if(Xe(t),n!==n+0&&"longjmp"!==n)throw n;_setThrew(1,0)}},f:function(e,r,t){var n=qe();try{return V.get(e)(r,t)}catch(o){if(Xe(n),o!==o+0&&"longjmp"!==o)throw o;_setThrew(1,0)}},m:function(e,r,t,n){var o=qe();try{return V.get(e)(r,t,n)}catch(i){if(Xe(o),i!==i+0&&"longjmp"!==i)throw i;_setThrew(1,0)}},i:function(e,r,t,n,o){var i=qe();try{return V.get(e)(r,t,n,o)}catch(a){if(Xe(i),a!==a+0&&"longjmp"!==a)throw a;_setThrew(1,0)}},S:function(e,r,t,n,o,i){var a=qe();try{return V.get(e)(r,t,n,o,i)}catch(s){if(Xe(a),s!==s+0&&"longjmp"!==s)throw s;_setThrew(1,0)}},q:function(e,r,t,n,o,i,a){var s=qe();try{return V.get(e)(r,t,n,o,i,a)}catch(u){if(Xe(s),u!==u+0&&"longjmp"!==u)throw u;_setThrew(1,0)}},D:function(e,r,t,n,o,i,a,s){var u=qe();try{return V.get(e)(r,t,n,o,i,a,s)}catch(c){if(Xe(u),c!==c+0&&"longjmp"!==c)throw c;_setThrew(1,0)}},v:function(e,r,t,n,o,i,a,s,u,c,f,l){var d=qe();try{return V.get(e)(r,t,n,o,i,a,s,u,c,f,l)}catch(h){if(Xe(d),h!==h+0&&"longjmp"!==h)throw h;_setThrew(1,0)}},G:function(e,r,t,n,o){var i=qe();try{return Je(e,r,t,n,o)}catch(a){if(Xe(i),a!==a+0&&"longjmp"!==a)throw a;_setThrew(1,0)}},h:function(e){var r=qe();try{V.get(e)()}catch(t){if(Xe(r),t!==t+0&&"longjmp"!==t)throw t;_setThrew(1,0)}},s:function(e,r){var t=qe();try{V.get(e)(r)}catch(n){if(Xe(t),n!==n+0&&"longjmp"!==n)throw n;_setThrew(1,0)}},e:function(e,r,t){var n=qe();try{V.get(e)(r,t)}catch(o){if(Xe(n),o!==o+0&&"longjmp"!==o)throw o;_setThrew(1,0)}},n:function(e,r,t,n){var o=qe();try{V.get(e)(r,t,n)}catch(i){if(Xe(o),i!==i+0&&"longjmp"!==i)throw i;_setThrew(1,0)}},x:function(e,r,t,n,o){var i=qe();try{V.get(e)(r,t,n,o)}catch(a){if(Xe(i),a!==a+0&&"longjmp"!==a)throw a;_setThrew(1,0)}},o:function(e,r,t,n,o,i,a,s){var u=qe();try{V.get(e)(r,t,n,o,i,a,s)}catch(c){if(Xe(u),c!==c+0&&"longjmp"!==c)throw c;_setThrew(1,0)}},t:function(e,r,t,n,o,i,a,s,u,c,f){var l=qe();try{V.get(e)(r,t,n,o,i,a,s,u,c,f)}catch(d){if(Xe(l),d!==d+0&&"longjmp"!==d)throw d;_setThrew(1,0)}},u:function(e,r,t,n,o,i,a,s,u,c,f,l,d,h,p,m){var w=qe();try{V.get(e)(r,t,n,o,i,a,s,u,c,f,l,d,h,p,m)}catch(g){if(Xe(w),g!==g+0&&"longjmp"!==g)throw g;_setThrew(1,0)}},H:function(e,r,t,n,o,i,a){var s=qe();try{Ze(e,r,t,n,o,i,a)}catch(u){if(Xe(s),u!==u+0&&"longjmp"!==u)throw u;_setThrew(1,0)}},J:function(e){P(0|e)},O:function(e,r,t,n){return function(e,r,t,n){var o=I[n+40>>2],i={tm_sec:I[n>>2],tm_min:I[n+4>>2],tm_hour:I[n+8>>2],tm_mday:I[n+12>>2],tm_mon:I[n+16>>2],tm_year:I[n+20>>2],tm_wday:I[n+24>>2],tm_yday:I[n+28>>2],tm_isdst:I[n+32>>2],tm_gmtoff:I[n+36>>2],tm_zone:o?L(o):""},a=L(t),s={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var u in s)a=a.replace(new RegExp(u,"g"),s[u]);var c=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],f=["January","February","March","April","May","June","July","August","September","October","November","December"];function l(e,r,t){for(var n="number"==typeof e?e.toString():e||"";n.length<r;)n=t[0]+n;return n}function d(e,r){return l(e,r,"0")}function h(e,r){function t(e){return e<0?-1:e>0?1:0}var n;return 0===(n=t(e.getFullYear()-r.getFullYear()))&&0===(n=t(e.getMonth()-r.getMonth()))&&(n=t(e.getDate()-r.getDate())),n}function p(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function m(e){var r=Ce(new Date(e.tm_year+1900,0,1),e.tm_yday),t=new Date(r.getFullYear(),0,4),n=new Date(r.getFullYear()+1,0,4),o=p(t),i=p(n);return h(o,r)<=0?h(i,r)<=0?r.getFullYear()+1:r.getFullYear():r.getFullYear()-1}var w={"%a":function(e){return c[e.tm_wday].substring(0,3)},"%A":function(e){return c[e.tm_wday]},"%b":function(e){return f[e.tm_mon].substring(0,3)},"%B":function(e){return f[e.tm_mon]},"%C":function(e){return d((e.tm_year+1900)/100|0,2)},"%d":function(e){return d(e.tm_mday,2)},"%e":function(e){return l(e.tm_mday,2," ")},"%g":function(e){return m(e).toString().substring(2)},"%G":function(e){return m(e)},"%H":function(e){return d(e.tm_hour,2)},"%I":function(e){var r=e.tm_hour;return 0==r?r=12:r>12&&(r-=12),d(r,2)},"%j":function(e){return d(e.tm_mday+Oe(Re(e.tm_year+1900)?je:Ne,e.tm_mon-1),3)},"%m":function(e){return d(e.tm_mon+1,2)},"%M":function(e){return d(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return d(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return e.tm_wday||7},"%U":function(e){var r=new Date(e.tm_year+1900,0,1),t=0===r.getDay()?r:Ce(r,7-r.getDay()),n=new Date(e.tm_year+1900,e.tm_mon,e.tm_mday);if(h(t,n)<0){var o=Oe(Re(n.getFullYear())?je:Ne,n.getMonth()-1)-31,i=31-t.getDate()+o+n.getDate();return d(Math.ceil(i/7),2)}return 0===h(t,r)?"01":"00"},"%V":function(e){var r,t=new Date(e.tm_year+1900,0,4),n=new Date(e.tm_year+1901,0,4),o=p(t),i=p(n),a=Ce(new Date(e.tm_year+1900,0,1),e.tm_yday);return h(a,o)<0?"53":h(i,a)<=0?"01":(r=o.getFullYear()<e.tm_year+1900?e.tm_yday+32-o.getDate():e.tm_yday+1-o.getDate(),d(Math.ceil(r/7),2))},"%w":function(e){return e.tm_wday},"%W":function(e){var r=new Date(e.tm_year,0,1),t=1===r.getDay()?r:Ce(r,0===r.getDay()?1:7-r.getDay()+1),n=new Date(e.tm_year+1900,e.tm_mon,e.tm_mday);if(h(t,n)<0){var o=Oe(Re(n.getFullYear())?je:Ne,n.getMonth()-1)-31,i=31-t.getDate()+o+n.getDate();return d(Math.ceil(i/7),2)}return 0===h(t,r)?"01":"00"},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var r=e.tm_gmtoff,t=r>=0;return r=(r=Math.abs(r)/60)/60*100+r%60,(t?"+":"-")+String("0000"+r).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var u in w)a.indexOf(u)>=0&&(a=a.replace(new RegExp(u,"g"),w[u](i)));var g=ze(a,!1);return g.length>r?0:(G(g,e),g.length-1)}(e,r,t,n)}},He=(function(){var e={a:Ue};function r(e,r){var t,n=e.exports;s.asm=n,A=s.asm.U,t=A.buffer,N=t,s.HEAP8=C=new Int8Array(t),s.HEAP16=z=new Int16Array(t),s.HEAP32=I=new Int32Array(t),s.HEAPU8=B=new Uint8Array(t),s.HEAPU16=new Uint16Array(t),s.HEAPU32=new Uint32Array(t),s.HEAPF32=new Float32Array(t),s.HEAPF64=new Float64Array(t),V=s.asm.Z,ne()}function t(e){r(e.instance)}function n(r){return function(){if(!S&&(p||m)){if("function"==typeof fetch&&!ce(he))return fetch(he,{credentials:"same-origin"}).then(function(e){if(!e.ok)throw"failed to load wasm binary file at '"+he+"'";return e.arrayBuffer()}).catch(function(){return pe(he)});if(v)return new Promise(function(e,r){v(he,function(r){e(new Uint8Array(r))},r)})}return Promise.resolve().then(function(){return pe(he)})}().then(function(r){return WebAssembly.instantiate(r,e)}).then(r,function(e){D("failed to asynchronously prepare wasm: "+e),oe(e)})}if(te(),s.instantiateWasm)try{return s.instantiateWasm(e,r)}catch(o){return D("Module.instantiateWasm callback failed with error: "+o),!1}(S||"function"!=typeof WebAssembly.instantiateStreaming||se(he)||ce(he)||"function"!=typeof fetch?n(t):fetch(he,{credentials:"same-origin"}).then(function(r){return WebAssembly.instantiateStreaming(r,e).then(t,function(e){return D("wasm streaming compile failed: "+e),D("falling back to ArrayBuffer instantiation"),n(t)})})).catch(a)}(),s.___wasm_call_ctors=function(){return(He=s.___wasm_call_ctors=s.asm.V).apply(null,arguments)}),Le=(s._debug_args=function(){return(s._debug_args=s.asm.W).apply(null,arguments)},s._composejs=function(){return(s._composejs=s.asm.X).apply(null,arguments)},s._main=function(){return(s._main=s.asm.Y).apply(null,arguments)},s._free=function(){return(Le=s._free=s.asm._).apply(null,arguments)}),Ye=s.___errno_location=function(){return(Ye=s.___errno_location=s.asm.$).apply(null,arguments)},We=s._malloc=function(){return(We=s._malloc=s.asm.aa).apply(null,arguments)},qe=s.stackSave=function(){return(qe=s.stackSave=s.asm.ba).apply(null,arguments)},Xe=s.stackRestore=function(){return(Xe=s.stackRestore=s.asm.ca).apply(null,arguments)},Ge=s.stackAlloc=function(){return(Ge=s.stackAlloc=s.asm.da).apply(null,arguments)},Ve=s.___cxa_can_catch=function(){return(Ve=s.___cxa_can_catch=s.asm.ea).apply(null,arguments)},Ke=s.___cxa_is_pointer_type=function(){return(Ke=s.___cxa_is_pointer_type=s.asm.fa).apply(null,arguments)},Ze=s.dynCall_viijii=function(){return(Ze=s.dynCall_viijii=s.asm.ga).apply(null,arguments)},Je=s.dynCall_jiiii=function(){return(Je=s.dynCall_jiiii=s.asm.ha).apply(null,arguments)};function $e(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}s.cwrap=function(e,r,t,n){var o=(t=t||[]).every(function(e){return"number"===e});return"string"!==r&&o&&!n?j(e):function(){return function(e,r,t,n,o){var i={string:function(e){var r=0;if(null!=e&&0!==e){var t=1+(e.length<<2);W(e,r=Ge(t),t)}return r},array:function(e){var r=Ge(e.length);return G(e,r),r}},a=j(e),s=[],u=0;if(n)for(var c=0;c<n.length;c++){var f=i[t[c]];f?(0===u&&(u=qe()),s[c]=f(n[c])):s[c]=n[c]}var l=a.apply(null,s);return l=function(e){return"string"===r?L(e):"boolean"===r?Boolean(e):e}(l),0!==u&&Xe(u),l}(e,r,t,arguments)}},s.UTF8ToString=L,s.FS=Pe;function Qe(e){var r=s._main,t=(e=e||[]).length+1,n=Ge(4*(t+1));I[n>>2]=X(d);for(var o=1;o<t;o++)I[(n>>2)+o]=X(e[o-1]);I[(n>>2)+t]=0;try{!function(e,r){if(r&&x&&0===e)return;x||(e,!0,s.onExit&&s.onExit(e),R=!0);h(e,new $e(e))}(r(t,n),!0)}catch(a){if(a instanceof $e)return;if("unwind"==a)return void(x=!0);var i=a;a&&"object"==typeof a&&a.stack&&(i=[a,a.stack]),D("exception thrown: "+i),h(1,a)}finally{!0}}function er(e){function r(){Ie||(Ie=!0,s.calledRun=!0,R||(!0,s.noFSInit||Pe.init.initialized||Pe.init(),Fe.init(),me(Z),Pe.ignorePermissions=!1,me(J),i(s),s.onRuntimeInitialized&&s.onRuntimeInitialized(),rr&&Qe(e),function(){if(s.postRun)for("function"==typeof s.postRun&&(s.postRun=[s.postRun]);s.postRun.length;)e=s.postRun.shift(),$.unshift(e);var e;me($)}()))}e=e||l,Q>0||(!function(){if(s.preRun)for("function"==typeof s.preRun&&(s.preRun=[s.preRun]);s.preRun.length;)e=s.preRun.shift(),K.unshift(e);var e;me(K)}(),Q>0||(s.setStatus?(s.setStatus("Running..."),setTimeout(function(){setTimeout(function(){s.setStatus("")},1),r()},1)):r()))}if(re=function e(){Ie||er(),Ie||(re=e)},s.run=er,s.preInit)for("function"==typeof s.preInit&&(s.preInit=[s.preInit]);s.preInit.length>0;)s.preInit.pop()();var rr=!0;return s.noInitialRun&&(rr=!1),er(),r.ready}}();"object"==typeof exports&&"object"==typeof module?module.exports=i:"function"==typeof e&&e.amd?e([],function(){return i}):"object"==typeof exports&&(exports.startSfCompose=i);
|
|
486
|
+
},{"path":"UUq2","fs":"f88W","crypto":"mRF4","process":"pBGv","buffer":"dskh"}],"LNaI":[function(require,module,exports) {
|
|
487
|
+
"use strict";function e(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=r(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var a=0,o=function(){};return{s:o,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:o}}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 i,s=!0,c=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return s=e.done,e},e:function(e){c=!0,i=e},f:function(){try{s||null==n.return||n.return()}finally{if(c)throw i}}}}function r(e,r){if(e){if("string"==typeof e)return t(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(e,r):void 0}}function t(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function n(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}function a(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function o(e,r,t){return r&&a(e.prototype,r),t&&a(e,t),e}var i=this&&this.__awaiter||function(e,r,t,n){return new(t||(t=Promise))(function(a,o){function i(e){try{c(n.next(e))}catch(r){o(r)}}function s(e){try{c(n.throw(e))}catch(r){o(r)}}function c(e){var r;e.done?a(e.value):(r=e.value,r instanceof t?r:new t(function(e){e(r)})).then(i,s)}c((n=n.apply(e,r||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SfCompose=void 0;var s=require("@werckmeister/sfcompose/sfcompose"),c=require("fs"),u=require("lodash"),f=function(){function r(){var e=this;n(this,r),this.module=s().then(function(r){return i(e,void 0,void 0,regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.init(r);case 2:return e.abrupt("return",r);case 3:case"end":return e.stop()}},e,this)}))})}return o(r,[{key:"init",value:function(e){return i(this,void 0,void 0,regeneratorRuntime.mark(function r(){return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:this.prepareModule(e);case 1:case"end":return r.stop()}},r,this)}))}},{key:"prepareModule",value:function(e){this.performCompose=e.cwrap("composejs","number",["string"]),this.debugArgs=e.cwrap("debug_args","number",["string"])}},{key:"dirExists",value:function(e){return i(this,void 0,void 0,regeneratorRuntime.mark(function r(){var t,n;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,this.module;case 2:return t=r.sent,n=t.FS.analyzePath(e,!1),r.abrupt("return",n.exists);case 5:case"end":return r.stop()}},r,this)}))}},{key:"writeSamples",value:function(r){return i(this,void 0,void 0,regeneratorRuntime.mark(function t(){var n,a,o,i,s,c;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.module;case 2:n=t.sent,a=e(r),t.prev=4,a.s();case 6:if((o=a.n()).done){t.next=15;break}return i=o.value,t.next=10,i.data.arrayBuffer();case 10:s=t.sent,c="".concat(i.sfName,"/_").concat(i.id,".smpl"),n.FS.writeFile(c,new Uint8Array(s));case 13:t.next=6;break;case 15:t.next=20;break;case 17:t.prev=17,t.t0=t.catch(4),a.e(t.t0);case 20:return t.prev=20,a.f(),t.finish(20);case 23:case"end":return t.stop()}},t,this,[[4,17,20,23]])}))}},{key:"filterExistingSamples",value:function(e,r,t){return t.filter(function(t){return n=t,a=r.sfName,!e.FS.analyzePath("".concat(a,"/_").concat(n,".smpl"),!0).exists;var n,a})}},{key:"getRequiredSampleIds",value:function(e,r){return i(this,void 0,void 0,regeneratorRuntime.mark(function t(){var n,a,o,i,s,c,u,f;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.module;case 2:return n=t.sent,t.next=5,this.dirExists(e.sfName);case 5:if(t.t0=t.sent,!1!==t.t0){t.next=10;break}if(!(e.sfName.indexOf("/")>=0)){t.next=9;break}throw new Error('invalid sfName "'.concat(e.sfName,"\": contains '/' "));case 9:n.FS.mkdir(e.sfName);case 10:return a="".concat(e.sfName,"/skeleton"),t.next=13,e.data.arrayBuffer();case 13:o=t.sent,n.FS.writeFile(a,new Uint8Array(o)),0,s=r.map(function(e){return"".concat(e.bank," ").concat(e.preset)}).join(" "),i=this.performCompose("".concat(a," --getsampleids ").concat(s)),c=n.UTF8ToString(i),n._free(i),u={},t.prev=21,u=JSON.parse(c),t.next=28;break;case 25:throw t.prev=25,t.t1=t.catch(21),new Error("sfcompose: failed to parse result: "+c);case 28:if(!Array.isArray(u)){t.next=31;break}return f=u,t.abrupt("return",this.filterExistingSamples(n,e,f));case 31:if(!u.error){t.next=33;break}throw new Error("sfcompose: "+u.error);case 33:case"end":return t.stop()}},t,this,[[21,25]])}))}},{key:"compose",value:function(e,r){return i(this,void 0,void 0,regeneratorRuntime.mark(function t(){var n,a,o,i,s,c,u,f,p,l,m;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.module;case 2:return n=t.sent,t.next=5,this.dirExists(e);case 5:if(t.t0=t.sent,!1!==t.t0){t.next=8;break}throw new Error("sfcompose: missing data for "+e);case 8:a="".concat(e,"/skeleton"),0,i=r.map(function(e){return"".concat(e.bank," ").concat(e.preset)}).join(" "),"_",s="".concat(e,".sf2"),c=e,u="".concat(a," ").concat(c," ").concat("_"," ").concat(s," ").concat(i),o=this.performCompose(u),f=n.UTF8ToString(o),n._free(o),p={},t.prev=19,p=JSON.parse(f),t.next=26;break;case 23:throw t.prev=23,t.t1=t.catch(19),new Error("sfcompose: failed to parse result: "+f);case 26:if(!p.error){t.next=28;break}throw new Error("sfcompose: "+p.error);case 28:return t.prev=28,l=n.FS.readFile(s),m=new Blob([l],{type:"application/octet-stream"}),t.abrupt("return",{data:m,instruments:r,sfName:e});case 34:throw t.prev=34,t.t2=t.catch(28),new Error("failed to read result");case 37:case"end":return t.stop()}},t,this,[[19,23],[28,34]])}))}}]),r}();exports.SfCompose=f;
|
|
488
|
+
},{"@werckmeister/sfcompose/sfcompose":"ZV/H","fs":"f88W","lodash":"B1iE"}],"Gu12":[function(require,module,exports) {
|
|
489
|
+
"use strict";function e(e,r){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=t(e))||r&&e&&"number"==typeof e.length){n&&(e=n);var a=0,o=function(){};return{s:o,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:o}}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 i,u=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return u=e.done,e},e:function(e){s=!0,i=e},f:function(){try{u||null==n.return||n.return()}finally{if(s)throw i}}}}function t(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(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,n.key,n)}}function o(e,t,r){return t&&a(e.prototype,t),r&&a(e,r),e}var i=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))(function(a,o){function i(e){try{s(n.next(e))}catch(t){o(t)}}function u(e){try{s(n.throw(e))}catch(t){o(t)}}function s(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(i,u)}s((n=n.apply(e,t||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SfRepository=void 0;var u=function(){function t(){n(this,t),this._repoMetaData=null}return o(t,[{key:"repoMetaData",get:function(){if(!this._repoMetaData)throw new Error("missing repo meta data. Did you forgot to set the repo url?");return this._repoMetaData}},{key:"setRepo",value:function(e){return i(this,void 0,void 0,regeneratorRuntime.mark(function t(){var r;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch(e);case 2:return t.next=4,t.sent.json();case 4:if((r=t.sent).baseUrl&&r.sampleTemplate&&r.sfName&&r.skeleton){t.next=7;break}throw new Error("invalid repo url");case 7:this._repoMetaData=r;case 8:case"end":return t.stop()}},t,this)}))}},{key:"getUrl",value:function(e){return"".concat(this.repoMetaData.baseUrl,"/").concat(e)}},{key:"getSkeleton",value:function(){return i(this,void 0,void 0,regeneratorRuntime.mark(function e(){var t,r;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.skeletonFile){e.next=2;break}return e.abrupt("return",this.skeletonFile);case 2:return e.next=4,fetch(this.getUrl(this.repoMetaData.skeleton));case 4:return t=e.sent,e.next=7,t.blob();case 7:return r=e.sent,this.skeletonFile={sfName:this.repoMetaData.sfName,data:r},e.abrupt("return",this.skeletonFile);case 10:case"end":return e.stop()}},e,this)}))}},{key:"getSampleFiles",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){};return i(this,void 0,void 0,regeneratorRuntime.mark(function a(){var o,u,s,c,f,l,p,h=this;return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:o=function(e,t){return i(h,void 0,void 0,regeneratorRuntime.mark(function a(){var o,i;return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return n(e,t),a.next=3,fetch(t);case 3:return o=a.sent,a.next=6,o.blob();case 6:return i=a.sent,r(e,t),a.abrupt("return",{id:e,blob:i});case 9:case"end":return a.stop()}},a)}))},u=[],s=e(t);try{for(s.s();!(c=s.n()).done;)f=c.value,l="".concat(this.repoMetaData.baseUrl,"/").concat(this.repoMetaData.sampleTemplate.replace("$id",f.toString())),u.push(o(f,l))}catch(v){s.e(v)}finally{s.f()}return a.next=6,Promise.all(u);case 6:return p=a.sent,a.abrupt("return",p.map(function(e){return{sfName:h.repoMetaData.sfName,id:e.id,data:e.blob}}));case 8:case"end":return a.stop()}},a,this)}))}}]),t}();exports.SfRepository=u;
|
|
490
|
+
},{}],"VUkl":[function(require,module,exports) {
|
|
491
|
+
"use strict";function A(A,g){if(!(A instanceof g))throw new TypeError("Cannot call a class as a function")}function g(A,g){for(var n=0;n<g.length;n++){var e=g[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(A,e.key,e)}}function n(A,n,e){return n&&g(A.prototype,n),e&&g(A,e),A}var e=this&&this.__createBinding||(Object.create?function(A,g,n,e){void 0===e&&(e=n),Object.defineProperty(A,e,{enumerable:!0,get:function(){return g[n]}})}:function(A,g,n,e){void 0===e&&(e=n),A[e]=g[n]}),I=this&&this.__setModuleDefault||(Object.create?function(A,g){Object.defineProperty(A,"default",{enumerable:!0,value:g})}:function(A,g){A.default=g}),B=this&&this.__importStar||function(A){if(A&&A.__esModule)return A;var g={};if(null!=A)for(var n in A)"default"!==n&&Object.prototype.hasOwnProperty.call(A,n)&&e(g,A,n);return I(g,A),g},E=this&&this.__awaiter||function(A,g,n,e){return new(n||(n=Promise))(function(I,B){function E(A){try{t(e.next(A))}catch(g){B(g)}}function C(A){try{t(e.throw(A))}catch(g){B(g)}}function t(A){var g;A.done?I(A.value):(g=A.value,g instanceof n?g:new n(function(A){A(g)})).then(E,C)}t((e=e.apply(A,g||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.WerckmeisterMidiPlayer=exports.PlayerState=void 0;var C,t=B(require("lodash")),Q=require("./IMidiEvent"),i=B(require("midifile")),o=i.default,r=B(require("midievents")),a=require("./Base64binary"),s=require("./Constants"),l=require("./SfCompose"),u=require("./SfRepository"),d=require("fs"),c='// Copyright 2010 The Emscripten Authors. All rights reserved.\n// Emscripten is available under two separate licenses, the MIT license and the\n// University of Illinois/NCSA Open Source License. Both these licenses can be\n// found in the LICENSE file.\n\n// The Module object: Our interface to the outside world. We import\n// and export values on it. There are various ways Module can be used:\n// 1. Not defined. We create it here\n// 2. A function parameter, function(Module) { ..generated code.. }\n// 3. pre-run appended it, var Module = {}; ..generated code..\n// 4. External script tag defines var Module.\n// We need to check if Module already exists (e.g. case 3 above).\n// Substitution will be replaced with actual code on later stage of the build,\n// this way Closure Compiler will not mangle it (e.g. case 4. above).\n// Note that if you want to run closure, and also to use Module\n// after the generated code, you will need to define var Module = {};\n// before the code. Then that object will be used in the code, and you\n// can continue to use Module afterwards as well.\nvar Module = typeof Module !== \'undefined\' ? Module : {};\n\n// --pre-jses are emitted after the Module integration code, so that they can\n// refer to Module (if they choose; they can also define Module)\n//var Module = typeof Module !== \'undefined\' ? Module : {};\n// (to avoid errors occurred in emscripten\'s code)\nvar document = typeof document !== \'undefined\' ? document : {};\nvar window = typeof window !== \'undefined\' ? window : {};\n// expose wasm API to AudioWorklet\nif (typeof AudioWorkletGlobalScope !== \'undefined\' && AudioWorkletGlobalScope) {\n AudioWorkletGlobalScope.wasmModule = Module;\n AudioWorkletGlobalScope.wasmAddFunction = addFunction;\n AudioWorkletGlobalScope.wasmRemoveFunction = removeFunction;\n}\n\n\n\n// Sometimes an existing Module object exists with properties\n// meant to overwrite the default module functionality. Here\n// we collect those properties and reapply _after_ we configure\n// the current environment\'s defaults to avoid having to be so\n// defensive during initialization.\nvar moduleOverrides = {};\nvar key;\nfor (key in Module) {\n if (Module.hasOwnProperty(key)) {\n moduleOverrides[key] = Module[key];\n }\n}\n\nModule[\'arguments\'] = [];\nModule[\'thisProgram\'] = \'./this.program\';\nModule[\'quit\'] = function(status, toThrow) {\n throw toThrow;\n};\nModule[\'preRun\'] = [];\nModule[\'postRun\'] = [];\n\n// Determine the runtime environment we are in. You can customize this by\n// setting the ENVIRONMENT setting at compile time (see settings.js).\n\nvar ENVIRONMENT_IS_WEB = true;\nvar ENVIRONMENT_IS_WORKER = false;\nvar ENVIRONMENT_IS_NODE = false;\nvar ENVIRONMENT_IS_SHELL = false;\n\n\n// Three configurations we can be running in:\n// 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false)\n// 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false)\n// 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true)\n\n// `/` should be present at the end if `scriptDirectory` is not empty\nvar scriptDirectory = \'\';\nfunction locateFile(path) {\n if (Module[\'locateFile\']) {\n return Module[\'locateFile\'](path, scriptDirectory);\n } else {\n return scriptDirectory + path;\n }\n}\n\nif (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {\n if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled\n scriptDirectory = self.location.href;\n } else if (document.currentScript) { // web\n scriptDirectory = document.currentScript.src;\n }\n // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them.\n // otherwise, slice off the final part of the url to find the script directory.\n // if scriptDirectory does not contain a slash, lastIndexOf will return -1,\n // and scriptDirectory will correctly be replaced with an empty string.\n if (scriptDirectory.indexOf(\'blob:\') !== 0) {\n scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf(\'/\')+1);\n } else {\n scriptDirectory = \'\';\n }\n\n\n Module[\'read\'] = function shell_read(url) {\n try {\n var xhr = new XMLHttpRequest();\n xhr.open(\'GET\', url, false);\n xhr.send(null);\n return xhr.responseText;\n } catch (err) {\n var data = tryParseAsDataURI(url);\n if (data) {\n return intArrayToString(data);\n }\n throw err;\n }\n };\n\n if (ENVIRONMENT_IS_WORKER) {\n Module[\'readBinary\'] = function readBinary(url) {\n try {\n var xhr = new XMLHttpRequest();\n xhr.open(\'GET\', url, false);\n xhr.responseType = \'arraybuffer\';\n xhr.send(null);\n return new Uint8Array(xhr.response);\n } catch (err) {\n var data = tryParseAsDataURI(url);\n if (data) {\n return data;\n }\n throw err;\n }\n };\n }\n\n Module[\'readAsync\'] = function readAsync(url, onload, onerror) {\n var xhr = new XMLHttpRequest();\n xhr.open(\'GET\', url, true);\n xhr.responseType = \'arraybuffer\';\n xhr.onload = function xhr_onload() {\n if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0\n onload(xhr.response);\n return;\n }\n var data = tryParseAsDataURI(url);\n if (data) {\n onload(data.buffer);\n return;\n }\n onerror();\n };\n xhr.onerror = onerror;\n xhr.send(null);\n };\n\n Module[\'setWindowTitle\'] = function(title) { document.title = title };\n} else\n{\n}\n\n// Set up the out() and err() hooks, which are how we can print to stdout or\n// stderr, respectively.\n// If the user provided Module.print or printErr, use that. Otherwise,\n// console.log is checked first, as \'print\' on the web will open a print dialogue\n// printErr is preferable to console.warn (works better in shells)\n// bind(console) is necessary to fix IE/Edge closed dev tools panel behavior.\nvar out = Module[\'print\'] || (typeof console !== \'undefined\' ? console.log.bind(console) : (typeof print !== \'undefined\' ? print : null));\nvar err = Module[\'printErr\'] || (typeof printErr !== \'undefined\' ? printErr : ((typeof console !== \'undefined\' && console.warn.bind(console)) || out));\n\n// Merge back in the overrides\nfor (key in moduleOverrides) {\n if (moduleOverrides.hasOwnProperty(key)) {\n Module[key] = moduleOverrides[key];\n }\n}\n// Free the object hierarchy contained in the overrides, this lets the GC\n// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array.\nmoduleOverrides = undefined;\n\n// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message\n\n\n\n// Copyright 2017 The Emscripten Authors. All rights reserved.\n// Emscripten is available under two separate licenses, the MIT license and the\n// University of Illinois/NCSA Open Source License. Both these licenses can be\n// found in the LICENSE file.\n\n// {{PREAMBLE_ADDITIONS}}\n\nvar STACK_ALIGN = 16;\n\n\nfunction staticAlloc(size) {\n var ret = STATICTOP;\n STATICTOP = (STATICTOP + size + 15) & -16;\n return ret;\n}\n\nfunction dynamicAlloc(size) {\n var ret = HEAP32[DYNAMICTOP_PTR>>2];\n var end = (ret + size + 15) & -16;\n HEAP32[DYNAMICTOP_PTR>>2] = end;\n if (end >= TOTAL_MEMORY) {\n var success = enlargeMemory();\n if (!success) {\n HEAP32[DYNAMICTOP_PTR>>2] = ret;\n return 0;\n }\n }\n return ret;\n}\n\nfunction alignMemory(size, factor) {\n if (!factor) factor = STACK_ALIGN; // stack alignment (16-byte) by default\n var ret = size = Math.ceil(size / factor) * factor;\n return ret;\n}\n\nfunction getNativeTypeSize(type) {\n switch (type) {\n case \'i1\': case \'i8\': return 1;\n case \'i16\': return 2;\n case \'i32\': return 4;\n case \'i64\': return 8;\n case \'float\': return 4;\n case \'double\': return 8;\n default: {\n if (type[type.length-1] === \'*\') {\n return 4; // A pointer\n } else if (type[0] === \'i\') {\n var bits = parseInt(type.substr(1));\n assert(bits % 8 === 0);\n return bits / 8;\n } else {\n return 0;\n }\n }\n }\n}\n\nfunction warnOnce(text) {\n if (!warnOnce.shown) warnOnce.shown = {};\n if (!warnOnce.shown[text]) {\n warnOnce.shown[text] = 1;\n err(text);\n }\n}\n\nvar asm2wasmImports = { // special asm2wasm imports\n "f64-rem": function(x, y) {\n return x % y;\n },\n "debugger": function() {\n debugger;\n }\n};\n\n\n\nvar jsCallStartIndex = 1;\nvar functionPointers = new Array(10);\n\n// \'sig\' parameter is only used on LLVM wasm backend\nfunction addFunction(func, sig) {\n var base = 0;\n for (var i = base; i < base + 10; i++) {\n if (!functionPointers[i]) {\n functionPointers[i] = func;\n return jsCallStartIndex + i;\n }\n }\n throw \'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.\';\n}\n\nfunction removeFunction(index) {\n functionPointers[index-jsCallStartIndex] = null;\n}\n\nvar funcWrappers = {};\n\nfunction getFuncWrapper(func, sig) {\n if (!func) return; // on null pointer, return undefined\n assert(sig);\n if (!funcWrappers[sig]) {\n funcWrappers[sig] = {};\n }\n var sigCache = funcWrappers[sig];\n if (!sigCache[func]) {\n // optimize away arguments usage in common cases\n if (sig.length === 1) {\n sigCache[func] = function dynCall_wrapper() {\n return dynCall(sig, func);\n };\n } else if (sig.length === 2) {\n sigCache[func] = function dynCall_wrapper(arg) {\n return dynCall(sig, func, [arg]);\n };\n } else {\n // general case\n sigCache[func] = function dynCall_wrapper() {\n return dynCall(sig, func, Array.prototype.slice.call(arguments));\n };\n }\n }\n return sigCache[func];\n}\n\n\nfunction makeBigInt(low, high, unsigned) {\n return unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0));\n}\n\nfunction dynCall(sig, ptr, args) {\n if (args && args.length) {\n return Module[\'dynCall_\' + sig].apply(null, [ptr].concat(args));\n } else {\n return Module[\'dynCall_\' + sig].call(null, ptr);\n }\n}\n\n\n\nvar Runtime = {\n // FIXME backwards compatibility layer for ports. Support some Runtime.*\n // for now, fix it there, then remove it from here. That way we\n // can minimize any period of breakage.\n dynCall: dynCall, // for SDL2 port\n};\n\n// The address globals begin at. Very low in memory, for code size and optimization opportunities.\n// Above 0 is static memory, starting with globals.\n// Then the stack.\n// Then \'dynamic\' memory for sbrk.\nvar GLOBAL_BASE = 1024;\n\n\n// === Preamble library stuff ===\n\n// Documentation for the public APIs defined in this file must be updated in:\n// site/source/docs/api_reference/preamble.js.rst\n// A prebuilt local version of the documentation is available at:\n// site/build/text/docs/api_reference/preamble.js.txt\n// You can also build docs locally as HTML or other formats in site/\n// An online HTML version (which may be of a different version of Emscripten)\n// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html\n\n\n\n//========================================\n// Runtime essentials\n//========================================\n\n// whether we are quitting the application. no code should run after this.\n// set in exit() and abort()\nvar ABORT = false;\n\n// set by exit() and abort(). Passed to \'onExit\' handler.\n// NOTE: This is also used as the process return code code in shell environments\n// but only when noExitRuntime is false.\nvar EXITSTATUS = 0;\n\n/** @type {function(*, string=)} */\nfunction assert(condition, text) {\n if (!condition) {\n abort(\'Assertion failed: \' + text);\n }\n}\n\nvar globalScope = this;\n\n// Returns the C function with a specified identifier (for C++, you need to do manual name mangling)\nfunction getCFunc(ident) {\n var func = Module[\'_\' + ident]; // closure exported function\n assert(func, \'Cannot call unknown function \' + ident + \', make sure it is exported\');\n return func;\n}\n\nvar JSfuncs = {\n // Helpers for cwrap -- it can\'t refer to Runtime directly because it might\n // be renamed by closure, instead it calls JSfuncs[\'stackSave\'].body to find\n // out what the minified function name is.\n \'stackSave\': function() {\n stackSave()\n },\n \'stackRestore\': function() {\n stackRestore()\n },\n // type conversion from js to c\n \'arrayToC\' : function(arr) {\n var ret = stackAlloc(arr.length);\n writeArrayToMemory(arr, ret);\n return ret;\n },\n \'stringToC\' : function(str) {\n var ret = 0;\n if (str !== null && str !== undefined && str !== 0) { // null string\n // at most 4 bytes per UTF-8 code point, +1 for the trailing \'\\0\'\n var len = (str.length << 2) + 1;\n ret = stackAlloc(len);\n stringToUTF8(str, ret, len);\n }\n return ret;\n }\n};\n\n// For fast lookup of conversion functions\nvar toC = {\n \'string\': JSfuncs[\'stringToC\'], \'array\': JSfuncs[\'arrayToC\']\n};\n\n\n// C calling interface.\nfunction ccall(ident, returnType, argTypes, args, opts) {\n function convertReturnValue(ret) {\n if (returnType === \'string\') return Pointer_stringify(ret);\n if (returnType === \'boolean\') return Boolean(ret);\n return ret;\n }\n\n var func = getCFunc(ident);\n var cArgs = [];\n var stack = 0;\n if (args) {\n for (var i = 0; i < args.length; i++) {\n var converter = toC[argTypes[i]];\n if (converter) {\n if (stack === 0) stack = stackSave();\n cArgs[i] = converter(args[i]);\n } else {\n cArgs[i] = args[i];\n }\n }\n }\n var ret = func.apply(null, cArgs);\n ret = convertReturnValue(ret);\n if (stack !== 0) stackRestore(stack);\n return ret;\n}\n\nfunction cwrap(ident, returnType, argTypes, opts) {\n argTypes = argTypes || [];\n // When the function takes numbers and returns a number, we can just return\n // the original function\n var numericArgs = argTypes.every(function(type){ return type === \'number\'});\n var numericRet = returnType !== \'string\';\n if (numericRet && numericArgs && !opts) {\n return getCFunc(ident);\n }\n return function() {\n return ccall(ident, returnType, argTypes, arguments, opts);\n }\n}\n\n/** @type {function(number, number, string, boolean=)} */\nfunction setValue(ptr, value, type, noSafe) {\n type = type || \'i8\';\n if (type.charAt(type.length-1) === \'*\') type = \'i32\'; // pointers are 32-bit\n switch(type) {\n case \'i1\': HEAP8[((ptr)>>0)]=value; break;\n case \'i8\': HEAP8[((ptr)>>0)]=value; break;\n case \'i16\': HEAP16[((ptr)>>1)]=value; break;\n case \'i32\': HEAP32[((ptr)>>2)]=value; break;\n case \'i64\': (tempI64 = [value>>>0,(tempDouble=value,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break;\n case \'float\': HEAPF32[((ptr)>>2)]=value; break;\n case \'double\': HEAPF64[((ptr)>>3)]=value; break;\n default: abort(\'invalid type for setValue: \' + type);\n }\n}\n\n/** @type {function(number, string, boolean=)} */\nfunction getValue(ptr, type, noSafe) {\n type = type || \'i8\';\n if (type.charAt(type.length-1) === \'*\') type = \'i32\'; // pointers are 32-bit\n switch(type) {\n case \'i1\': return HEAP8[((ptr)>>0)];\n case \'i8\': return HEAP8[((ptr)>>0)];\n case \'i16\': return HEAP16[((ptr)>>1)];\n case \'i32\': return HEAP32[((ptr)>>2)];\n case \'i64\': return HEAP32[((ptr)>>2)];\n case \'float\': return HEAPF32[((ptr)>>2)];\n case \'double\': return HEAPF64[((ptr)>>3)];\n default: abort(\'invalid type for getValue: \' + type);\n }\n return null;\n}\n\nvar ALLOC_NORMAL = 0; // Tries to use _malloc()\nvar ALLOC_STACK = 1; // Lives for the duration of the current function call\nvar ALLOC_STATIC = 2; // Cannot be freed\nvar ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk\nvar ALLOC_NONE = 4; // Do not allocate\n\n// allocate(): This is for internal use. You can use it yourself as well, but the interface\n// is a little tricky (see docs right below). The reason is that it is optimized\n// for multiple syntaxes to save space in generated code. So you should\n// normally not use allocate(), and instead allocate memory using _malloc(),\n// initialize it with setValue(), and so forth.\n// @slab: An array of data, or a number. If a number, then the size of the block to allocate,\n// in *bytes* (note that this is sometimes confusing: the next parameter does not\n// affect this!)\n// @types: Either an array of types, one for each byte (or 0 if no type at that position),\n// or a single type which is used for the entire block. This only matters if there\n// is initial data - if @slab is a number, then this does not matter at all and is\n// ignored.\n// @allocator: How to allocate memory, see ALLOC_*\n/** @type {function((TypedArray|Array<number>|number), string, number, number=)} */\nfunction allocate(slab, types, allocator, ptr) {\n var zeroinit, size;\n if (typeof slab === \'number\') {\n zeroinit = true;\n size = slab;\n } else {\n zeroinit = false;\n size = slab.length;\n }\n\n var singleType = typeof types === \'string\' ? types : null;\n\n var ret;\n if (allocator == ALLOC_NONE) {\n ret = ptr;\n } else {\n ret = [typeof _malloc === \'function\' ? _malloc : staticAlloc, stackAlloc, staticAlloc, dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length));\n }\n\n if (zeroinit) {\n var stop;\n ptr = ret;\n assert((ret & 3) == 0);\n stop = ret + (size & ~3);\n for (; ptr < stop; ptr += 4) {\n HEAP32[((ptr)>>2)]=0;\n }\n stop = ret + size;\n while (ptr < stop) {\n HEAP8[((ptr++)>>0)]=0;\n }\n return ret;\n }\n\n if (singleType === \'i8\') {\n if (slab.subarray || slab.slice) {\n HEAPU8.set(/** @type {!Uint8Array} */ (slab), ret);\n } else {\n HEAPU8.set(new Uint8Array(slab), ret);\n }\n return ret;\n }\n\n var i = 0, type, typeSize, previousType;\n while (i < size) {\n var curr = slab[i];\n\n type = singleType || types[i];\n if (type === 0) {\n i++;\n continue;\n }\n\n if (type == \'i64\') type = \'i32\'; // special case: we have one i32 here, and one i32 later\n\n setValue(ret+i, curr, type);\n\n // no need to look up size unless type changes, so cache it\n if (previousType !== type) {\n typeSize = getNativeTypeSize(type);\n previousType = type;\n }\n i += typeSize;\n }\n\n return ret;\n}\n\n// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready\nfunction getMemory(size) {\n if (!staticSealed) return staticAlloc(size);\n if (!runtimeInitialized) return dynamicAlloc(size);\n return _malloc(size);\n}\n\n/** @type {function(number, number=)} */\nfunction Pointer_stringify(ptr, length) {\n if (length === 0 || !ptr) return \'\';\n // Find the length, and check for UTF while doing so\n var hasUtf = 0;\n var t;\n var i = 0;\n while (1) {\n t = HEAPU8[(((ptr)+(i))>>0)];\n hasUtf |= t;\n if (t == 0 && !length) break;\n i++;\n if (length && i == length) break;\n }\n if (!length) length = i;\n\n var ret = \'\';\n\n if (hasUtf < 128) {\n var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack\n var curr;\n while (length > 0) {\n curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK)));\n ret = ret ? ret + curr : curr;\n ptr += MAX_CHUNK;\n length -= MAX_CHUNK;\n }\n return ret;\n }\n return UTF8ToString(ptr);\n}\n\n// Given a pointer \'ptr\' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns\n// a copy of that string as a Javascript String object.\n\nfunction AsciiToString(ptr) {\n var str = \'\';\n while (1) {\n var ch = HEAP8[((ptr++)>>0)];\n if (!ch) return str;\n str += String.fromCharCode(ch);\n }\n}\n\n// Copies the given Javascript String object \'str\' to the emscripten HEAP at address \'outPtr\',\n// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP.\n\nfunction stringToAscii(str, outPtr) {\n return writeAsciiToMemory(str, outPtr, false);\n}\n\n// Given a pointer \'ptr\' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns\n// a copy of that string as a Javascript String object.\n\nvar UTF8Decoder = typeof TextDecoder !== \'undefined\' ? new TextDecoder(\'utf8\') : undefined;\nfunction UTF8ArrayToString(u8Array, idx) {\n var endPtr = idx;\n // TextDecoder needs to know the byte length in advance, it doesn\'t stop on null terminator by itself.\n // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage.\n while (u8Array[endPtr]) ++endPtr;\n\n if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) {\n return UTF8Decoder.decode(u8Array.subarray(idx, endPtr));\n } else {\n var u0, u1, u2, u3, u4, u5;\n\n var str = \'\';\n while (1) {\n // For UTF8 byte structure, see:\n // http://en.wikipedia.org/wiki/UTF-8#Description\n // https://www.ietf.org/rfc/rfc2279.txt\n // https://tools.ietf.org/html/rfc3629\n u0 = u8Array[idx++];\n if (!u0) return str;\n if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; }\n u1 = u8Array[idx++] & 63;\n if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; }\n u2 = u8Array[idx++] & 63;\n if ((u0 & 0xF0) == 0xE0) {\n u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;\n } else {\n u3 = u8Array[idx++] & 63;\n if ((u0 & 0xF8) == 0xF0) {\n u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3;\n } else {\n u4 = u8Array[idx++] & 63;\n if ((u0 & 0xFC) == 0xF8) {\n u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4;\n } else {\n u5 = u8Array[idx++] & 63;\n u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5;\n }\n }\n }\n if (u0 < 0x10000) {\n str += String.fromCharCode(u0);\n } else {\n var ch = u0 - 0x10000;\n str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF));\n }\n }\n }\n}\n\n// Given a pointer \'ptr\' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns\n// a copy of that string as a Javascript String object.\n\nfunction UTF8ToString(ptr) {\n return UTF8ArrayToString(HEAPU8,ptr);\n}\n\n// Copies the given Javascript String object \'str\' to the given byte array at address \'outIdx\',\n// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP.\n// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write.\n// Parameters:\n// str: the Javascript string to copy.\n// outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element.\n// outIdx: The starting offset in the array to begin the copying.\n// maxBytesToWrite: The maximum number of bytes this function can write to the array.\n// This count should include the null terminator,\n// i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else.\n// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator.\n// Returns the number of bytes written, EXCLUDING the null terminator.\n\nfunction stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) {\n if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don\'t write out any bytes.\n return 0;\n\n var startIdx = outIdx;\n var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator.\n for (var i = 0; i < str.length; ++i) {\n // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8.\n // See http://unicode.org/faq/utf_bom.html#utf16-3\n // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629\n var u = str.charCodeAt(i); // possibly a lead surrogate\n if (u >= 0xD800 && u <= 0xDFFF) {\n var u1 = str.charCodeAt(++i);\n u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF);\n }\n if (u <= 0x7F) {\n if (outIdx >= endIdx) break;\n outU8Array[outIdx++] = u;\n } else if (u <= 0x7FF) {\n if (outIdx + 1 >= endIdx) break;\n outU8Array[outIdx++] = 0xC0 | (u >> 6);\n outU8Array[outIdx++] = 0x80 | (u & 63);\n } else if (u <= 0xFFFF) {\n if (outIdx + 2 >= endIdx) break;\n outU8Array[outIdx++] = 0xE0 | (u >> 12);\n outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);\n outU8Array[outIdx++] = 0x80 | (u & 63);\n } else if (u <= 0x1FFFFF) {\n if (outIdx + 3 >= endIdx) break;\n outU8Array[outIdx++] = 0xF0 | (u >> 18);\n outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63);\n outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);\n outU8Array[outIdx++] = 0x80 | (u & 63);\n } else if (u <= 0x3FFFFFF) {\n if (outIdx + 4 >= endIdx) break;\n outU8Array[outIdx++] = 0xF8 | (u >> 24);\n outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63);\n outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63);\n outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);\n outU8Array[outIdx++] = 0x80 | (u & 63);\n } else {\n if (outIdx + 5 >= endIdx) break;\n outU8Array[outIdx++] = 0xFC | (u >> 30);\n outU8Array[outIdx++] = 0x80 | ((u >> 24) & 63);\n outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63);\n outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63);\n outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);\n outU8Array[outIdx++] = 0x80 | (u & 63);\n }\n }\n // Null-terminate the pointer to the buffer.\n outU8Array[outIdx] = 0;\n return outIdx - startIdx;\n}\n\n// Copies the given Javascript String object \'str\' to the emscripten HEAP at address \'outPtr\',\n// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP.\n// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write.\n// Returns the number of bytes written, EXCLUDING the null terminator.\n\nfunction stringToUTF8(str, outPtr, maxBytesToWrite) {\n return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite);\n}\n\n// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte.\n\nfunction lengthBytesUTF8(str) {\n var len = 0;\n for (var i = 0; i < str.length; ++i) {\n // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8.\n // See http://unicode.org/faq/utf_bom.html#utf16-3\n var u = str.charCodeAt(i); // possibly a lead surrogate\n if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF);\n if (u <= 0x7F) {\n ++len;\n } else if (u <= 0x7FF) {\n len += 2;\n } else if (u <= 0xFFFF) {\n len += 3;\n } else if (u <= 0x1FFFFF) {\n len += 4;\n } else if (u <= 0x3FFFFFF) {\n len += 5;\n } else {\n len += 6;\n }\n }\n return len;\n}\n\n// Given a pointer \'ptr\' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns\n// a copy of that string as a Javascript String object.\n\nvar UTF16Decoder = typeof TextDecoder !== \'undefined\' ? new TextDecoder(\'utf-16le\') : undefined;\nfunction UTF16ToString(ptr) {\n var endPtr = ptr;\n // TextDecoder needs to know the byte length in advance, it doesn\'t stop on null terminator by itself.\n // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage.\n var idx = endPtr >> 1;\n while (HEAP16[idx]) ++idx;\n endPtr = idx << 1;\n\n if (endPtr - ptr > 32 && UTF16Decoder) {\n return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr));\n } else {\n var i = 0;\n\n var str = \'\';\n while (1) {\n var codeUnit = HEAP16[(((ptr)+(i*2))>>1)];\n if (codeUnit == 0) return str;\n ++i;\n // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through.\n str += String.fromCharCode(codeUnit);\n }\n }\n}\n\n// Copies the given Javascript String object \'str\' to the emscripten HEAP at address \'outPtr\',\n// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP.\n// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write.\n// Parameters:\n// str: the Javascript string to copy.\n// outPtr: Byte address in Emscripten HEAP where to write the string to.\n// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null\n// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else.\n// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator.\n// Returns the number of bytes written, EXCLUDING the null terminator.\n\nfunction stringToUTF16(str, outPtr, maxBytesToWrite) {\n // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed.\n if (maxBytesToWrite === undefined) {\n maxBytesToWrite = 0x7FFFFFFF;\n }\n if (maxBytesToWrite < 2) return 0;\n maxBytesToWrite -= 2; // Null terminator.\n var startPtr = outPtr;\n var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length;\n for (var i = 0; i < numCharsToWrite; ++i) {\n // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP.\n var codeUnit = str.charCodeAt(i); // possibly a lead surrogate\n HEAP16[((outPtr)>>1)]=codeUnit;\n outPtr += 2;\n }\n // Null-terminate the pointer to the HEAP.\n HEAP16[((outPtr)>>1)]=0;\n return outPtr - startPtr;\n}\n\n// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte.\n\nfunction lengthBytesUTF16(str) {\n return str.length*2;\n}\n\nfunction UTF32ToString(ptr) {\n var i = 0;\n\n var str = \'\';\n while (1) {\n var utf32 = HEAP32[(((ptr)+(i*4))>>2)];\n if (utf32 == 0)\n return str;\n ++i;\n // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing.\n // See http://unicode.org/faq/utf_bom.html#utf16-3\n if (utf32 >= 0x10000) {\n var ch = utf32 - 0x10000;\n str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF));\n } else {\n str += String.fromCharCode(utf32);\n }\n }\n}\n\n// Copies the given Javascript String object \'str\' to the emscripten HEAP at address \'outPtr\',\n// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP.\n// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write.\n// Parameters:\n// str: the Javascript string to copy.\n// outPtr: Byte address in Emscripten HEAP where to write the string to.\n// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null\n// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else.\n// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator.\n// Returns the number of bytes written, EXCLUDING the null terminator.\n\nfunction stringToUTF32(str, outPtr, maxBytesToWrite) {\n // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed.\n if (maxBytesToWrite === undefined) {\n maxBytesToWrite = 0x7FFFFFFF;\n }\n if (maxBytesToWrite < 4) return 0;\n var startPtr = outPtr;\n var endPtr = startPtr + maxBytesToWrite - 4;\n for (var i = 0; i < str.length; ++i) {\n // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap.\n // See http://unicode.org/faq/utf_bom.html#utf16-3\n var codeUnit = str.charCodeAt(i); // possibly a lead surrogate\n if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) {\n var trailSurrogate = str.charCodeAt(++i);\n codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF);\n }\n HEAP32[((outPtr)>>2)]=codeUnit;\n outPtr += 4;\n if (outPtr + 4 > endPtr) break;\n }\n // Null-terminate the pointer to the HEAP.\n HEAP32[((outPtr)>>2)]=0;\n return outPtr - startPtr;\n}\n\n// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte.\n\nfunction lengthBytesUTF32(str) {\n var len = 0;\n for (var i = 0; i < str.length; ++i) {\n // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap.\n // See http://unicode.org/faq/utf_bom.html#utf16-3\n var codeUnit = str.charCodeAt(i);\n if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate.\n len += 4;\n }\n\n return len;\n}\n\n// Allocate heap space for a JS string, and write it there.\n// It is the responsibility of the caller to free() that memory.\nfunction allocateUTF8(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = _malloc(size);\n if (ret) stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n}\n\n// Allocate stack space for a JS string, and write it there.\nfunction allocateUTF8OnStack(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = stackAlloc(size);\n stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n}\n\nfunction demangle(func) {\n return func;\n}\n\nfunction demangleAll(text) {\n var regex =\n /__Z[\\w\\d_]+/g;\n return text.replace(regex,\n function(x) {\n var y = demangle(x);\n return x === y ? x : (y + \' [\' + x + \']\');\n });\n}\n\nfunction jsStackTrace() {\n var err = new Error();\n if (!err.stack) {\n // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown,\n // so try that as a special-case.\n try {\n throw new Error(0);\n } catch(e) {\n err = e;\n }\n if (!err.stack) {\n return \'(no stack trace available)\';\n }\n }\n return err.stack.toString();\n}\n\nfunction stackTrace() {\n var js = jsStackTrace();\n if (Module[\'extraStackTrace\']) js += \'\\n\' + Module[\'extraStackTrace\']();\n return demangleAll(js);\n}\n\n// Memory management\n\nvar PAGE_SIZE = 16384;\nvar WASM_PAGE_SIZE = 65536;\nvar ASMJS_PAGE_SIZE = 16777216;\nvar MIN_TOTAL_MEMORY = 16777216;\n\nfunction alignUp(x, multiple) {\n if (x % multiple > 0) {\n x += multiple - (x % multiple);\n }\n return x;\n}\n\nvar HEAP,\n/** @type {ArrayBuffer} */\n buffer,\n/** @type {Int8Array} */\n HEAP8,\n/** @type {Uint8Array} */\n HEAPU8,\n/** @type {Int16Array} */\n HEAP16,\n/** @type {Uint16Array} */\n HEAPU16,\n/** @type {Int32Array} */\n HEAP32,\n/** @type {Uint32Array} */\n HEAPU32,\n/** @type {Float32Array} */\n HEAPF32,\n/** @type {Float64Array} */\n HEAPF64;\n\nfunction updateGlobalBuffer(buf) {\n Module[\'buffer\'] = buffer = buf;\n}\n\nfunction updateGlobalBufferViews() {\n Module[\'HEAP8\'] = HEAP8 = new Int8Array(buffer);\n Module[\'HEAP16\'] = HEAP16 = new Int16Array(buffer);\n Module[\'HEAP32\'] = HEAP32 = new Int32Array(buffer);\n Module[\'HEAPU8\'] = HEAPU8 = new Uint8Array(buffer);\n Module[\'HEAPU16\'] = HEAPU16 = new Uint16Array(buffer);\n Module[\'HEAPU32\'] = HEAPU32 = new Uint32Array(buffer);\n Module[\'HEAPF32\'] = HEAPF32 = new Float32Array(buffer);\n Module[\'HEAPF64\'] = HEAPF64 = new Float64Array(buffer);\n}\n\nvar STATIC_BASE, STATICTOP, staticSealed; // static area\nvar STACK_BASE, STACKTOP, STACK_MAX; // stack area\nvar DYNAMIC_BASE, DYNAMICTOP_PTR; // dynamic area handled by sbrk\n\n STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0;\n staticSealed = false;\n\n\n\n\nfunction abortOnCannotGrowMemory() {\n abort(\'Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value \' + TOTAL_MEMORY + \', (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 \');\n}\n\nif (!Module[\'reallocBuffer\']) Module[\'reallocBuffer\'] = function(size) {\n var ret;\n try {\n var oldHEAP8 = HEAP8;\n ret = new ArrayBuffer(size);\n var temp = new Int8Array(ret);\n temp.set(oldHEAP8);\n } catch(e) {\n return false;\n }\n var success = _emscripten_replace_memory(ret);\n if (!success) return false;\n return ret;\n};\n\nfunction enlargeMemory() {\n // TOTAL_MEMORY is the current size of the actual array, and DYNAMICTOP is the new top.\n\n\n var PAGE_MULTIPLE = Module["usingWasm"] ? WASM_PAGE_SIZE : ASMJS_PAGE_SIZE; // In wasm, heap size must be a multiple of 64KB. In asm.js, they need to be multiples of 16MB.\n var LIMIT = 2147483648 - PAGE_MULTIPLE; // We can do one page short of 2GB as theoretical maximum.\n\n if (HEAP32[DYNAMICTOP_PTR>>2] > LIMIT) {\n return false;\n }\n\n var OLD_TOTAL_MEMORY = TOTAL_MEMORY;\n TOTAL_MEMORY = Math.max(TOTAL_MEMORY, MIN_TOTAL_MEMORY); // So the loop below will not be infinite, and minimum asm.js memory size is 16MB.\n\n while (TOTAL_MEMORY < HEAP32[DYNAMICTOP_PTR>>2]) { // Keep incrementing the heap size as long as it\'s less than what is requested.\n if (TOTAL_MEMORY <= 536870912) {\n TOTAL_MEMORY = alignUp(2 * TOTAL_MEMORY, PAGE_MULTIPLE); // Simple heuristic: double until 1GB...\n } else {\n // ..., but after that, add smaller increments towards 2GB, which we cannot reach\n TOTAL_MEMORY = Math.min(alignUp((3 * TOTAL_MEMORY + 2147483648) / 4, PAGE_MULTIPLE), LIMIT);\n }\n }\n\n\n\n var replacement = Module[\'reallocBuffer\'](TOTAL_MEMORY);\n if (!replacement || replacement.byteLength != TOTAL_MEMORY) {\n // restore the state to before this call, we failed\n TOTAL_MEMORY = OLD_TOTAL_MEMORY;\n return false;\n }\n\n // everything worked\n\n updateGlobalBuffer(replacement);\n updateGlobalBufferViews();\n\n\n\n return true;\n}\n\nvar byteLength;\ntry {\n byteLength = Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, \'byteLength\').get);\n byteLength(new ArrayBuffer(4)); // can fail on older ie\n} catch(e) { // can fail on older node/v8\n byteLength = function(buffer) { return buffer.byteLength; };\n}\n\nvar TOTAL_STACK = Module[\'TOTAL_STACK\'] || 5242880;\nvar TOTAL_MEMORY = Module[\'TOTAL_MEMORY\'] || 16777216;\nif (TOTAL_MEMORY < TOTAL_STACK) err(\'TOTAL_MEMORY should be larger than TOTAL_STACK, was \' + TOTAL_MEMORY + \'! (TOTAL_STACK=\' + TOTAL_STACK + \')\');\n\n// Initialize the runtime\'s memory\n\n\n\n// Use a provided buffer, if there is one, or else allocate a new one\nif (Module[\'buffer\']) {\n buffer = Module[\'buffer\'];\n} else {\n // Use a WebAssembly memory where available\n if (typeof WebAssembly === \'object\' && typeof WebAssembly.Memory === \'function\') {\n Module[\'wasmMemory\'] = new WebAssembly.Memory({ \'initial\': TOTAL_MEMORY / WASM_PAGE_SIZE });\n buffer = Module[\'wasmMemory\'].buffer;\n } else\n {\n buffer = new ArrayBuffer(TOTAL_MEMORY);\n }\n Module[\'buffer\'] = buffer;\n}\nupdateGlobalBufferViews();\n\n\nfunction getTotalMemory() {\n return TOTAL_MEMORY;\n}\n\n// Endianness check (note: assumes compiler arch was little-endian)\n\nfunction callRuntimeCallbacks(callbacks) {\n while(callbacks.length > 0) {\n var callback = callbacks.shift();\n if (typeof callback == \'function\') {\n callback();\n continue;\n }\n var func = callback.func;\n if (typeof func === \'number\') {\n if (callback.arg === undefined) {\n Module[\'dynCall_v\'](func);\n } else {\n Module[\'dynCall_vi\'](func, callback.arg);\n }\n } else {\n func(callback.arg === undefined ? null : callback.arg);\n }\n }\n}\n\nvar __ATPRERUN__ = []; // functions called before the runtime is initialized\nvar __ATINIT__ = []; // functions called during startup\nvar __ATMAIN__ = []; // functions called when main() is to be run\nvar __ATEXIT__ = []; // functions called during shutdown\nvar __ATPOSTRUN__ = []; // functions called after the main() is called\n\nvar runtimeInitialized = false;\nvar runtimeExited = false;\n\n\nfunction preRun() {\n // compatibility - merge in anything from Module[\'preRun\'] at this time\n if (Module[\'preRun\']) {\n if (typeof Module[\'preRun\'] == \'function\') Module[\'preRun\'] = [Module[\'preRun\']];\n while (Module[\'preRun\'].length) {\n addOnPreRun(Module[\'preRun\'].shift());\n }\n }\n callRuntimeCallbacks(__ATPRERUN__);\n}\n\nfunction ensureInitRuntime() {\n if (runtimeInitialized) return;\n runtimeInitialized = true;\n callRuntimeCallbacks(__ATINIT__);\n}\n\nfunction preMain() {\n callRuntimeCallbacks(__ATMAIN__);\n}\n\nfunction exitRuntime() {\n callRuntimeCallbacks(__ATEXIT__);\n runtimeExited = true;\n}\n\nfunction postRun() {\n // compatibility - merge in anything from Module[\'postRun\'] at this time\n if (Module[\'postRun\']) {\n if (typeof Module[\'postRun\'] == \'function\') Module[\'postRun\'] = [Module[\'postRun\']];\n while (Module[\'postRun\'].length) {\n addOnPostRun(Module[\'postRun\'].shift());\n }\n }\n callRuntimeCallbacks(__ATPOSTRUN__);\n}\n\nfunction addOnPreRun(cb) {\n __ATPRERUN__.unshift(cb);\n}\n\nfunction addOnInit(cb) {\n __ATINIT__.unshift(cb);\n}\n\nfunction addOnPreMain(cb) {\n __ATMAIN__.unshift(cb);\n}\n\nfunction addOnExit(cb) {\n __ATEXIT__.unshift(cb);\n}\n\nfunction addOnPostRun(cb) {\n __ATPOSTRUN__.unshift(cb);\n}\n\n// Deprecated: This function should not be called because it is unsafe and does not provide\n// a maximum length limit of how many bytes it is allowed to write. Prefer calling the\n// function stringToUTF8Array() instead, which takes in a maximum length that can be used\n// to be secure from out of bounds writes.\n/** @deprecated */\nfunction writeStringToMemory(string, buffer, dontAddNull) {\n warnOnce(\'writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!\');\n\n var /** @type {number} */ lastChar, /** @type {number} */ end;\n if (dontAddNull) {\n // stringToUTF8Array always appends null. If we don\'t want to do that, remember the\n // character that existed at the location where the null will be placed, and restore\n // that after the write (below).\n end = buffer + lengthBytesUTF8(string);\n lastChar = HEAP8[end];\n }\n stringToUTF8(string, buffer, Infinity);\n if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character.\n}\n\nfunction writeArrayToMemory(array, buffer) {\n HEAP8.set(array, buffer);\n}\n\nfunction writeAsciiToMemory(str, buffer, dontAddNull) {\n for (var i = 0; i < str.length; ++i) {\n HEAP8[((buffer++)>>0)]=str.charCodeAt(i);\n }\n // Null-terminate the pointer to the HEAP.\n if (!dontAddNull) HEAP8[((buffer)>>0)]=0;\n}\n\nfunction unSign(value, bits, ignore) {\n if (value >= 0) {\n return value;\n }\n return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts\n : Math.pow(2, bits) + value;\n}\nfunction reSign(value, bits, ignore) {\n if (value <= 0) {\n return value;\n }\n var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32\n : Math.pow(2, bits-1);\n if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don\'t do that\n // but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors\n // TODO: In i64 mode 1, resign the two parts separately and safely\n value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts\n }\n return value;\n}\n\n\nvar Math_abs = Math.abs;\nvar Math_cos = Math.cos;\nvar Math_sin = Math.sin;\nvar Math_tan = Math.tan;\nvar Math_acos = Math.acos;\nvar Math_asin = Math.asin;\nvar Math_atan = Math.atan;\nvar Math_atan2 = Math.atan2;\nvar Math_exp = Math.exp;\nvar Math_log = Math.log;\nvar Math_sqrt = Math.sqrt;\nvar Math_ceil = Math.ceil;\nvar Math_floor = Math.floor;\nvar Math_pow = Math.pow;\nvar Math_imul = Math.imul;\nvar Math_fround = Math.fround;\nvar Math_round = Math.round;\nvar Math_min = Math.min;\nvar Math_max = Math.max;\nvar Math_clz32 = Math.clz32;\nvar Math_trunc = Math.trunc;\n\n// A counter of dependencies for calling run(). If we need to\n// do asynchronous work before running, increment this and\n// decrement it. Incrementing must happen in a place like\n// Module.preRun (used by emcc to add file preloading).\n// Note that you can add dependencies in preRun, even though\n// it happens right before run - run will be postponed until\n// the dependencies are met.\nvar runDependencies = 0;\nvar runDependencyWatcher = null;\nvar dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled\n\nfunction getUniqueRunDependency(id) {\n return id;\n}\n\nfunction addRunDependency(id) {\n runDependencies++;\n if (Module[\'monitorRunDependencies\']) {\n Module[\'monitorRunDependencies\'](runDependencies);\n }\n}\n\nfunction removeRunDependency(id) {\n runDependencies--;\n if (Module[\'monitorRunDependencies\']) {\n Module[\'monitorRunDependencies\'](runDependencies);\n }\n if (runDependencies == 0) {\n if (runDependencyWatcher !== null) {\n clearInterval(runDependencyWatcher);\n runDependencyWatcher = null;\n }\n if (dependenciesFulfilled) {\n var callback = dependenciesFulfilled;\n dependenciesFulfilled = null;\n callback(); // can add another dependenciesFulfilled\n }\n }\n}\n\nModule["preloadedImages"] = {}; // maps url to image data\nModule["preloadedAudios"] = {}; // maps url to audio data\n\n\n\nvar memoryInitializer = null;\n\n\n\n\n\n\n// Copyright 2017 The Emscripten Authors. All rights reserved.\n// Emscripten is available under two separate licenses, the MIT license and the\n// University of Illinois/NCSA Open Source License. Both these licenses can be\n// found in the LICENSE file.\n\n// Prefix of data URIs emitted by SINGLE_FILE and related options.\nvar dataURIPrefix = \'data:application/octet-stream;base64,\';\n\n// Indicates whether filename is a base64 data URI.\nfunction isDataURI(filename) {\n return String.prototype.startsWith ?\n filename.startsWith(dataURIPrefix) :\n filename.indexOf(dataURIPrefix) === 0;\n}\n\n\n\n\nfunction integrateWasmJS() {\n // wasm.js has several methods for creating the compiled code module here:\n // * \'native-wasm\' : use native WebAssembly support in the browser\n // * \'interpret-s-expr\': load s-expression code from a .wast and interpret\n // * \'interpret-binary\': load binary wasm and interpret\n // * \'interpret-asm2wasm\': load asm.js code, translate to wasm, and interpret\n // * \'asmjs\': no wasm, just load the asm.js code and use that (good for testing)\n // The method is set at compile time (BINARYEN_METHOD)\n // The method can be a comma-separated list, in which case, we will try the\n // options one by one. Some of them can fail gracefully, and then we can try\n // the next.\n\n // inputs\n\n var method = \'native-wasm\';\n\n var wasmTextFile = \'\';\n var wasmBinaryFile = \'data:application/octet-stream;base64,AGFzbQEAAAABkgM4YAF/AGABfwF/YAJ/fwF/YAN/f38Bf2ADf39/AGADf398AGACf38AYAR/f39/AGAFf39/f38Bf2AGf39/f39/AX9gAAF/YAR/f39/AX9gB39/f39/f38Bf2AEf39/fABgBX9/f39/AGAAAGABfAF8YAJ8fwF8YAV/f3x8fAF/YAN/f3wBf2AAAXxgAXwBf2AHf39/fHx8fwBgA398fABgBX9/f398AX9gCH9/f39/fH9/AX9gBX9/f3x/AX9gAn98AGAGf398fHx8AGACf38BfGABfwF8YAR/f39/AXxgA3x/fAF8YAJ/fQBgAX8BfWAIf39/f39/f38Bf2AFf3x8fHwBf2ACf3wBf2AGf398fHx/AX9gBH9/f30Bf2ADf39/AX1gCX9/f39/f39/fAF/YAN/f30AYAJ/fwF9YAR/f3x/AX9gBX9/f31/AGADfn9/AX9gAn5/AX9gBn98f39/fwF/YAF8AX5gAnx8AXxgAnx/AX9gA3x8fwF8YAR/f398AX9gBX9/f3x/AGADf39/AXwC1QUnA2VudgVhYm9ydAAAA2Vudg1lbmxhcmdlTWVtb3J5AAoDZW52DmdldFRvdGFsTWVtb3J5AAoDZW52F2Fib3J0T25DYW5ub3RHcm93TWVtb3J5AAoDZW52CWpzQ2FsbF9paQACA2Vudgpqc0NhbGxfaWlpAAMDZW52C2pzQ2FsbF9paWlpAAsDZW52DWpzQ2FsbF9paWlpaWkACQNlbnYOanNDYWxsX2lpaWlpaWkADANlbnYJanNDYWxsX3ZpAAYDZW52CmpzQ2FsbF92aWkABANlbnYLanNDYWxsX3ZpaWQADQNlbnYLanNDYWxsX3ZpaWkABwNlbnYManNDYWxsX3ZpaWlpAA4DZW52B19fX2xvY2sAAANlbnYLX19fc2V0RXJyTm8AAANlbnYNX19fc3lzY2FsbDE0MAACA2Vudg1fX19zeXNjYWxsMTQ1AAIDZW52DV9fX3N5c2NhbGwxNDYAAgNlbnYNX19fc3lzY2FsbDE1MAACA2Vudg1fX19zeXNjYWxsMTUxAAIDZW52DV9fX3N5c2NhbGwxOTUAAgNlbnYNX19fc3lzY2FsbDIyMQACA2VudgtfX19zeXNjYWxsNQACA2VudgxfX19zeXNjYWxsNTQAAgNlbnYLX19fc3lzY2FsbDYAAgNlbnYJX19fdW5sb2NrAAADZW52Bl9hYm9ydAAPA2VudhZfZW1zY3JpcHRlbl9tZW1jcHlfYmlnAAMDZW52DV9nZXR0aW1lb2ZkYXkAAgNlbnYOX2xsdm1fZXhwMl9mNjQAEANlbnYHX3VzbGVlcAABA2Vudgl0YWJsZUJhc2UDfwADZW52DkRZTkFNSUNUT1BfUFRSA38AA2VudghTVEFDS1RPUAN/AANlbnYJU1RBQ0tfTUFYA38ABmdsb2JhbAhJbmZpbml0eQN8AANlbnYGbWVtb3J5AgCAAgNlbnYFdGFibGUBcACgAgO0BrIGAQEKAAYGAAoCAgAQEBAQEBAQEREQEAEAAAAKAgQEBgIBAAACAgICAgIBAwICAAoAAAMDAxIJAgsLAgMCAwsDAwMDEwMDCwMDAwsDBwIDBAMDAwQDAgoBAQ8KFAsACgECAQMAAQEBAwICAwEBAQgAAwAIAQMCAQIAAwEBAQMDAgkAAgEIAQEDAAEBCQEBCgAKAgkDAwICAgEAAQIJDAEGFQAAFgcHBAYABgYXBgYCBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYDAwMDGAsLBhkAAQEGBgYaAAYGBgYGBgYDAwECBhUbAAAABwccGwIAAAACBwYGBwQDBAAEAAYGAAoGBgYGBwQOBgYEBA4GBAQEBAcEBAQEAAQHAAEBAQEBAQEBAQEKAAEGAQIdBgQEBhsBAQEBAR4dHyACCgoDAgAECgMGAQUFBAQFBAUEAgMAAgACISEGBgYBCwQDAgsDBggICwwJDAkCAgELAwsDAwMDAgMDAwIICAgiAQEBAQkCCSMjCAkGAwMAAgICAgECAgICByQlJSUlHh4eHiYCJSUlAgEeHh4BAwEBAQEBHgkDAAMBJycoAgwCAwIDAQMDAwMDAwMCCAsICwMLAwEAAgEGBgUlGwApABsBKiorHgAGBAABAwEEAAABAAAEAQEBAQEBASwlASgECgABAgECAgECCwsLAQQDAAEAAgMBAgECAQICAgEBAQEDAAoBAQMtLS0CAgICAgcCCgECBgAGAQsBAgICBgELBxseAAIBAwABAAMAAAEAJQEBAQMCAgsKAwEAAgIGAQMDAQoDAwEBAgIBCwMIDwQBBC4vLwECDgIwMRERAgoKAgICAwIDAQMRAQICCwICMjMLNB4CAwACAQIBCg8BAQEBAwMDAwICAwMKAgEBCwEBEBAQEAEDAwECAQEBAQEBAQEBAQMCAgICAgICAgICCwMDAwMDAwMDAwMJCAgICAgICAgICAwJCQkJCQkJCQkJBgAAAAAAAAAAAAAEBgYGBgYGBgYGBg0FBQUFBQUFBQUFBwQEBAQEBAQEBAQOBwcHBwcHBwcHBwECAwgJAAYFBAc1NjY2HjcbNRsdBQUGJAd/ASMBC38BIwILfwEjAwt/AUEAC38BQQALfAEjBAt/AUEACweFT+oCEF9fZ3Jvd1dhc21NZW1vcnkAIBFfX19lcnJub19sb2NhdGlvbgD5BBpfZGVsZXRlX2ZsdWlkX2F1ZGlvX2RyaXZlcgDeBBNfZGVsZXRlX2ZsdWlkX2V2ZW50AKABG19kZWxldGVfZmx1aWRfZmlsZV9yZW5kZXJlcgDlBBlfZGVsZXRlX2ZsdWlkX21pZGlfZHJpdmVyAOIEGF9kZWxldGVfZmx1aWRfbWlkaV9ldmVudACZBBlfZGVsZXRlX2ZsdWlkX21pZGlfcm91dGVyALkEHl9kZWxldGVfZmx1aWRfbWlkaV9yb3V0ZXJfcnVsZQCgARFfZGVsZXRlX2ZsdWlkX21vZABCFF9kZWxldGVfZmx1aWRfcGxheWVyAKcEFF9kZWxldGVfZmx1aWRfcHJlc2V0AKABFF9kZWxldGVfZmx1aWRfc2FtcGxlAK4BF19kZWxldGVfZmx1aWRfc2VxdWVuY2VyAMwEFl9kZWxldGVfZmx1aWRfc2V0dGluZ3MAUBZfZGVsZXRlX2ZsdWlkX3NmbG9hZGVyAKABE19kZWxldGVfZmx1aWRfc2ZvbnQAqQETX2RlbGV0ZV9mbHVpZF9zeW50aADxAhxfZmx1aWRfYXVkaW9fZHJpdmVyX3JlZ2lzdGVyAN8EG19mbHVpZF9kZWZhdWx0X2xvZ19mdW5jdGlvbgByGl9mbHVpZF9ldmVudF9hbGxfbm90ZXNfb2ZmAKkCG19mbHVpZF9ldmVudF9hbGxfc291bmRzX29mZgCoAh9fZmx1aWRfZXZlbnRfYW55X2NvbnRyb2xfY2hhbmdlAK0CGF9mbHVpZF9ldmVudF9iYW5rX3NlbGVjdACqAh1fZmx1aWRfZXZlbnRfY2hhbm5lbF9wcmVzc3VyZQC4AhhfZmx1aWRfZXZlbnRfY2hvcnVzX3NlbmQAtgIbX2ZsdWlkX2V2ZW50X2NvbnRyb2xfY2hhbmdlALICFV9mbHVpZF9ldmVudF9nZXRfYmFuawDAAhhfZmx1aWRfZXZlbnRfZ2V0X2NoYW5uZWwAvQIYX2ZsdWlkX2V2ZW50X2dldF9jb250cm9sAMACFV9mbHVpZF9ldmVudF9nZXRfZGF0YQDCAhVfZmx1aWRfZXZlbnRfZ2V0X2Rlc3QAvAIZX2ZsdWlkX2V2ZW50X2dldF9kdXJhdGlvbgDDAhRfZmx1aWRfZXZlbnRfZ2V0X2tleQC+AhZfZmx1aWRfZXZlbnRfZ2V0X3BpdGNoAMQCGF9mbHVpZF9ldmVudF9nZXRfcHJvZ3JhbQDBAhlfZmx1aWRfZXZlbnRfZ2V0X3Nmb250X2lkAMMCF19mbHVpZF9ldmVudF9nZXRfc291cmNlALsCFV9mbHVpZF9ldmVudF9nZXRfdHlwZQCkARZfZmx1aWRfZXZlbnRfZ2V0X3ZhbHVlAMECGV9mbHVpZF9ldmVudF9nZXRfdmVsb2NpdHkAvwIZX2ZsdWlkX2V2ZW50X2tleV9wcmVzc3VyZQC5AhdfZmx1aWRfZXZlbnRfbW9kdWxhdGlvbgCwAhFfZmx1aWRfZXZlbnRfbm90ZQCnAhRfZmx1aWRfZXZlbnRfbm90ZW9mZgCmAhNfZmx1aWRfZXZlbnRfbm90ZW9uAKUCEF9mbHVpZF9ldmVudF9wYW4AswIXX2ZsdWlkX2V2ZW50X3BpdGNoX2JlbmQArgIcX2ZsdWlkX2V2ZW50X3BpdGNoX3doZWVsc2VucwCvAhtfZmx1aWRfZXZlbnRfcHJvZ3JhbV9jaGFuZ2UAqwIbX2ZsdWlkX2V2ZW50X3Byb2dyYW1fc2VsZWN0AKwCGF9mbHVpZF9ldmVudF9yZXZlcmJfc2VuZAC1AhVfZmx1aWRfZXZlbnRfc2V0X2Rlc3QAowIXX2ZsdWlkX2V2ZW50X3NldF9zb3VyY2UAogIUX2ZsdWlkX2V2ZW50X3N1c3RhaW4AsQIZX2ZsdWlkX2V2ZW50X3N5c3RlbV9yZXNldAC6AhJfZmx1aWRfZXZlbnRfdGltZXIApAIaX2ZsdWlkX2V2ZW50X3VucmVnaXN0ZXJpbmcAtwITX2ZsdWlkX2V2ZW50X3ZvbHVtZQC0AiJfZmx1aWRfZmlsZV9yZW5kZXJlcl9wcm9jZXNzX2Jsb2NrAOcEIF9mbHVpZF9maWxlX3NldF9lbmNvZGluZ19xdWFsaXR5AOYEEl9mbHVpZF9pc19taWRpZmlsZQB2E19mbHVpZF9pc19zb3VuZGZvbnQAdxZfZmx1aWRfbGFkc3BhX2FjdGl2YXRlAOkEGF9mbHVpZF9sYWRzcGFfYWRkX2J1ZmZlcgDsBBhfZmx1aWRfbGFkc3BhX2FkZF9lZmZlY3QA7QQbX2ZsdWlkX2xhZHNwYV9idWZmZXJfZXhpc3RzAOsEE19mbHVpZF9sYWRzcGFfY2hlY2sA6gQYX2ZsdWlkX2xhZHNwYV9kZWFjdGl2YXRlAOkEHF9mbHVpZF9sYWRzcGFfZWZmZWN0X2Nhbl9taXgA6wQZX2ZsdWlkX2xhZHNwYV9lZmZlY3RfbGluawDtBCBfZmx1aWRfbGFkc3BhX2VmZmVjdF9wb3J0X2V4aXN0cwDvBCBfZmx1aWRfbGFkc3BhX2VmZmVjdF9zZXRfY29udHJvbADGBhxfZmx1aWRfbGFkc3BhX2VmZmVjdF9zZXRfbWl4AMYGHl9mbHVpZF9sYWRzcGFfaG9zdF9wb3J0X2V4aXN0cwDrBBdfZmx1aWRfbGFkc3BhX2lzX2FjdGl2ZQDoBBNfZmx1aWRfbGFkc3BhX3Jlc2V0AOkECl9mbHVpZF9sb2cAcxtfZmx1aWRfbWlkaV9kdW1wX3Bvc3Ryb3V0ZXIAwwQaX2ZsdWlkX21pZGlfZHVtcF9wcmVyb3V0ZXIAwgQdX2ZsdWlkX21pZGlfZXZlbnRfZ2V0X2NoYW5uZWwAnAQdX2ZsdWlkX21pZGlfZXZlbnRfZ2V0X2NvbnRyb2wAvQIZX2ZsdWlkX21pZGlfZXZlbnRfZ2V0X2tleQC9AhtfZmx1aWRfbWlkaV9ldmVudF9nZXRfcGl0Y2gAvQIdX2ZsdWlkX21pZGlfZXZlbnRfZ2V0X3Byb2dyYW0AvQIaX2ZsdWlkX21pZGlfZXZlbnRfZ2V0X3R5cGUAmgQbX2ZsdWlkX21pZGlfZXZlbnRfZ2V0X3ZhbHVlAJ8EHl9mbHVpZF9taWRpX2V2ZW50X2dldF92ZWxvY2l0eQCfBB1fZmx1aWRfbWlkaV9ldmVudF9zZXRfY2hhbm5lbACdBB1fZmx1aWRfbWlkaV9ldmVudF9zZXRfY29udHJvbACeBBlfZmx1aWRfbWlkaV9ldmVudF9zZXRfa2V5AJ4EHF9mbHVpZF9taWRpX2V2ZW50X3NldF9seXJpY3MAowQbX2ZsdWlkX21pZGlfZXZlbnRfc2V0X3BpdGNoAJ4EHV9mbHVpZF9taWRpX2V2ZW50X3NldF9wcm9ncmFtAJ4EG19mbHVpZF9taWRpX2V2ZW50X3NldF9zeXNleAChBBpfZmx1aWRfbWlkaV9ldmVudF9zZXRfdGV4dACiBBpfZmx1aWRfbWlkaV9ldmVudF9zZXRfdHlwZQCbBBtfZmx1aWRfbWlkaV9ldmVudF9zZXRfdmFsdWUAoAQeX2ZsdWlkX21pZGlfZXZlbnRfc2V0X3ZlbG9jaXR5AKAEG19mbHVpZF9taWRpX3JvdXRlcl9hZGRfcnVsZQC9BB5fZmx1aWRfbWlkaV9yb3V0ZXJfY2xlYXJfcnVsZXMAvAQkX2ZsdWlkX21pZGlfcm91dGVyX2hhbmRsZV9taWRpX2V2ZW50AMEEIF9mbHVpZF9taWRpX3JvdXRlcl9ydWxlX3NldF9jaGFuAMcGIl9mbHVpZF9taWRpX3JvdXRlcl9ydWxlX3NldF9wYXJhbTEAyAYiX2ZsdWlkX21pZGlfcm91dGVyX3J1bGVfc2V0X3BhcmFtMgDJBiRfZmx1aWRfbWlkaV9yb3V0ZXJfc2V0X2RlZmF1bHRfcnVsZXMAuwQQX2ZsdWlkX21vZF9jbG9uZQDMAhVfZmx1aWRfbW9kX2dldF9hbW91bnQA1gITX2ZsdWlkX21vZF9nZXRfZGVzdADVAhVfZmx1aWRfbW9kX2dldF9mbGFnczEA0gIVX2ZsdWlkX21vZF9nZXRfZmxhZ3MyANQCFl9mbHVpZF9tb2RfZ2V0X3NvdXJjZTEA0QIWX2ZsdWlkX21vZF9nZXRfc291cmNlMgDTAhNfZmx1aWRfbW9kX2hhc19kZXN0AN4CFV9mbHVpZF9tb2RfaGFzX3NvdXJjZQDdAhVfZmx1aWRfbW9kX3NldF9hbW91bnQA0AITX2ZsdWlkX21vZF9zZXRfZGVzdADPAhZfZmx1aWRfbW9kX3NldF9zb3VyY2UxAM0CFl9mbHVpZF9tb2Rfc2V0X3NvdXJjZTIAzgIRX2ZsdWlkX21vZF9zaXplb2YA3AIYX2ZsdWlkX21vZF90ZXN0X2lkZW50aXR5ANoCEV9mbHVpZF9wbGF5ZXJfYWRkAKoEFV9mbHVpZF9wbGF5ZXJfYWRkX21lbQCrBBVfZmx1aWRfcGxheWVyX2dldF9icG0AtgQeX2ZsdWlkX3BsYXllcl9nZXRfY3VycmVudF90aWNrALUEHF9mbHVpZF9wbGF5ZXJfZ2V0X21pZGlfdGVtcG8AtwQYX2ZsdWlkX3BsYXllcl9nZXRfc3RhdHVzAO8DHV9mbHVpZF9wbGF5ZXJfZ2V0X3RvdGFsX3RpY2tzALAEEl9mbHVpZF9wbGF5ZXJfam9pbgC0BBJfZmx1aWRfcGxheWVyX3BsYXkArAQSX2ZsdWlkX3BsYXllcl9zZWVrAK8EFV9mbHVpZF9wbGF5ZXJfc2V0X2JwbQCzBBZfZmx1aWRfcGxheWVyX3NldF9sb29wALEEHF9mbHVpZF9wbGF5ZXJfc2V0X21pZGlfdGVtcG8AsgQjX2ZsdWlkX3BsYXllcl9zZXRfcGxheWJhY2tfY2FsbGJhY2sApgQSX2ZsdWlkX3BsYXllcl9zdG9wAKgEGV9mbHVpZF9wcmVzZXRfZ2V0X2JhbmtudW0ArAEWX2ZsdWlkX3ByZXNldF9nZXRfZGF0YQCiARZfZmx1aWRfcHJlc2V0X2dldF9uYW1lAKsBFV9mbHVpZF9wcmVzZXRfZ2V0X251bQClARdfZmx1aWRfcHJlc2V0X2dldF9zZm9udACkARZfZmx1aWRfcHJlc2V0X3NldF9kYXRhAKEBFl9mbHVpZF9zYW1wbGVfc2V0X2xvb3AAsgEWX2ZsdWlkX3NhbXBsZV9zZXRfbmFtZQCwARdfZmx1aWRfc2FtcGxlX3NldF9waXRjaACzARxfZmx1aWRfc2FtcGxlX3NldF9zb3VuZF9kYXRhALEBFF9mbHVpZF9zYW1wbGVfc2l6ZW9mAK8BKV9mbHVpZF9zZXF1ZW5jZXJfYWRkX21pZGlfZXZlbnRfdG9fYnVmZmVyAMcEH19mbHVpZF9zZXF1ZW5jZXJfY2xpZW50X2lzX2Rlc3QA0wQeX2ZsdWlkX3NlcXVlbmNlcl9jb3VudF9jbGllbnRzANAEHl9mbHVpZF9zZXF1ZW5jZXJfZ2V0X2NsaWVudF9pZADRBCBfZmx1aWRfc2VxdWVuY2VyX2dldF9jbGllbnRfbmFtZQDSBBlfZmx1aWRfc2VxdWVuY2VyX2dldF90aWNrANUEH19mbHVpZF9zZXF1ZW5jZXJfZ2V0X3RpbWVfc2NhbGUA2QQlX2ZsdWlkX3NlcXVlbmNlcl9nZXRfdXNlX3N5c3RlbV90aW1lcgDOBBhfZmx1aWRfc2VxdWVuY2VyX3Byb2Nlc3MAywQgX2ZsdWlkX3NlcXVlbmNlcl9yZWdpc3Rlcl9jbGllbnQAzwQkX2ZsdWlkX3NlcXVlbmNlcl9yZWdpc3Rlcl9mbHVpZHN5bnRoAMQEHl9mbHVpZF9zZXF1ZW5jZXJfcmVtb3ZlX2V2ZW50cwDXBBhfZmx1aWRfc2VxdWVuY2VyX3NlbmRfYXQA1gQZX2ZsdWlkX3NlcXVlbmNlcl9zZW5kX25vdwDUBB9fZmx1aWRfc2VxdWVuY2VyX3NldF90aW1lX3NjYWxlANgEIl9mbHVpZF9zZXF1ZW5jZXJfdW5yZWdpc3Rlcl9jbGllbnQAzQQXX2ZsdWlkX3NldF9sb2dfZnVuY3Rpb24AcRdfZmx1aWRfc2V0dGluZ3NfY29weXN0cgBdFl9mbHVpZF9zZXR0aW5nc19kdXBzdHIAXhdfZmx1aWRfc2V0dGluZ3NfZm9yZWFjaABuHl9mbHVpZF9zZXR0aW5nc19mb3JlYWNoX29wdGlvbgBrGV9mbHVpZF9zZXR0aW5nc19nZXRfaGludHMAWhhfZmx1aWRfc2V0dGluZ3NfZ2V0X3R5cGUAWRZfZmx1aWRfc2V0dGluZ3NfZ2V0aW50AGgeX2ZsdWlkX3NldHRpbmdzX2dldGludF9kZWZhdWx0AGocX2ZsdWlkX3NldHRpbmdzX2dldGludF9yYW5nZQBpFl9mbHVpZF9zZXR0aW5nc19nZXRudW0AYx5fZmx1aWRfc2V0dGluZ3NfZ2V0bnVtX2RlZmF1bHQAZhxfZmx1aWRfc2V0dGluZ3NfZ2V0bnVtX3JhbmdlAGUeX2ZsdWlkX3NldHRpbmdzX2dldHN0cl9kZWZhdWx0AGAbX2ZsdWlkX3NldHRpbmdzX2lzX3JlYWx0aW1lAFsdX2ZsdWlkX3NldHRpbmdzX29wdGlvbl9jb25jYXQAbRxfZmx1aWRfc2V0dGluZ3Nfb3B0aW9uX2NvdW50AGwWX2ZsdWlkX3NldHRpbmdzX3NldGludABnFl9mbHVpZF9zZXR0aW5nc19zZXRudW0AYhZfZmx1aWRfc2V0dGluZ3Nfc2V0c3RyAFwZX2ZsdWlkX3NldHRpbmdzX3N0cl9lcXVhbABfGF9mbHVpZF9zZmxvYWRlcl9nZXRfZGF0YQCiAR1fZmx1aWRfc2Zsb2FkZXJfc2V0X2NhbGxiYWNrcwCfARhfZmx1aWRfc2Zsb2FkZXJfc2V0X2RhdGEAoQEVX2ZsdWlkX3Nmb250X2dldF9kYXRhAKIBE19mbHVpZF9zZm9udF9nZXRfaWQApAEVX2ZsdWlkX3Nmb250X2dldF9uYW1lAKUBF19mbHVpZF9zZm9udF9nZXRfcHJlc2V0AKYBG19mbHVpZF9zZm9udF9pdGVyYXRpb25fbmV4dACoARxfZmx1aWRfc2ZvbnRfaXRlcmF0aW9uX3N0YXJ0AKcBFV9mbHVpZF9zZm9udF9zZXRfZGF0YQChASBfZmx1aWRfc3ludGhfYWN0aXZhdGVfa2V5X3R1bmluZwDOAyNfZmx1aWRfc3ludGhfYWN0aXZhdGVfb2N0YXZlX3R1bmluZwCGAxxfZmx1aWRfc3ludGhfYWN0aXZhdGVfdHVuaW5nAIADHF9mbHVpZF9zeW50aF9hZGRfZGVmYXVsdF9tb2QA7gIZX2ZsdWlkX3N5bnRoX2FkZF9zZmxvYWRlcgD1AhZfZmx1aWRfc3ludGhfYWRkX3Nmb250AKsDGl9mbHVpZF9zeW50aF9hbGxfbm90ZXNfb2ZmAIcDG19mbHVpZF9zeW50aF9hbGxfc291bmRzX29mZgCIAxhfZmx1aWRfc3ludGhfYWxsb2Nfdm9pY2UAowMYX2ZsdWlkX3N5bnRoX2Jhbmtfc2VsZWN0AJMDD19mbHVpZF9zeW50aF9jYwD9Ah1fZmx1aWRfc3ludGhfY2hhbm5lbF9wcmVzc3VyZQCLAyFfZmx1aWRfc3ludGhfY291bnRfYXVkaW9fY2hhbm5lbHMAyQMfX2ZsdWlkX3N5bnRoX2NvdW50X2F1ZGlvX2dyb3VwcwDKAyNfZmx1aWRfc3ludGhfY291bnRfZWZmZWN0c19jaGFubmVscwDLAyFfZmx1aWRfc3ludGhfY291bnRfZWZmZWN0c19ncm91cHMAzAMgX2ZsdWlkX3N5bnRoX2NvdW50X21pZGlfY2hhbm5lbHMAyAMeX2ZsdWlkX3N5bnRoX2RlYWN0aXZhdGVfdHVuaW5nAM8DEl9mbHVpZF9zeW50aF9lcnJvcgD4AiNfZmx1aWRfc3ludGhfZ2V0X2FjdGl2ZV92b2ljZV9jb3VudACbAxxfZmx1aWRfc3ludGhfZ2V0X2Jhbmtfb2Zmc2V0ANoDHl9mbHVpZF9zeW50aF9nZXRfYmFzaWNfY2hhbm5lbADlAxxfZmx1aWRfc3ludGhfZ2V0X2JyZWF0aF9tb2RlAOMDE19mbHVpZF9zeW50aF9nZXRfY2MAggMfX2ZsdWlkX3N5bnRoX2dldF9jaGFubmVsX3ByZXNldACxAx1fZmx1aWRfc3ludGhfZ2V0X2Nob3J1c19kZXB0aADFAx1fZmx1aWRfc3ludGhfZ2V0X2Nob3J1c19sZXZlbADDAxpfZmx1aWRfc3ludGhfZ2V0X2Nob3J1c19ucgDCAx1fZmx1aWRfc3ludGhfZ2V0X2Nob3J1c19zcGVlZADEAxxfZmx1aWRfc3ludGhfZ2V0X2Nob3J1c190eXBlAMYDGV9mbHVpZF9zeW50aF9nZXRfY3B1X2xvYWQAzQMVX2ZsdWlkX3N5bnRoX2dldF9nYWluAMoGFF9mbHVpZF9zeW50aF9nZXRfZ2VuAMsGIV9mbHVpZF9zeW50aF9nZXRfaW50ZXJuYWxfYnVmc2l6ZQCcAxpfZmx1aWRfc3ludGhfZ2V0X2xhZHNwYV9meADcAxxfZmx1aWRfc3ludGhfZ2V0X2xlZ2F0b19tb2RlAN8DG19mbHVpZF9zeW50aF9nZXRfcGl0Y2hfYmVuZACOAyFfZmx1aWRfc3ludGhfZ2V0X3BpdGNoX3doZWVsX3NlbnMAkAMaX2ZsdWlkX3N5bnRoX2dldF9wb2x5cGhvbnkAmgMgX2ZsdWlkX3N5bnRoX2dldF9wb3J0YW1lbnRvX21vZGUA4QMYX2ZsdWlkX3N5bnRoX2dldF9wcm9ncmFtAJYDHF9mbHVpZF9zeW50aF9nZXRfcmV2ZXJiX2RhbXAAuQMdX2ZsdWlkX3N5bnRoX2dldF9yZXZlcmJfbGV2ZWwAugMgX2ZsdWlkX3N5bnRoX2dldF9yZXZlcmJfcm9vbXNpemUAuAMdX2ZsdWlkX3N5bnRoX2dldF9yZXZlcmJfd2lkdGgAuwMZX2ZsdWlkX3N5bnRoX2dldF9zZXR0aW5ncwDSAxZfZmx1aWRfc3ludGhfZ2V0X3Nmb250AK4DHF9mbHVpZF9zeW50aF9nZXRfc2ZvbnRfYnlfaWQArwMeX2ZsdWlkX3N5bnRoX2dldF9zZm9udF9ieV9uYW1lALADGl9mbHVpZF9zeW50aF9nZXRfdm9pY2VsaXN0ALIDHl9mbHVpZF9zeW50aF9oYW5kbGVfbWlkaV9ldmVudADWAxlfZmx1aWRfc3ludGhfa2V5X3ByZXNzdXJlAIwDFF9mbHVpZF9zeW50aF9ub3Rlb2ZmAPsCE19mbHVpZF9zeW50aF9ub3Rlb24A+QIZX2ZsdWlkX3N5bnRoX253cml0ZV9mbG9hdACeAxdfZmx1aWRfc3ludGhfcGl0Y2hfYmVuZACNAx1fZmx1aWRfc3ludGhfcGl0Y2hfd2hlZWxfc2VucwCPAxRfZmx1aWRfc3ludGhfcHJvY2VzcwCgAxtfZmx1aWRfc3ludGhfcHJvZ3JhbV9jaGFuZ2UAkgMaX2ZsdWlkX3N5bnRoX3Byb2dyYW1fcmVzZXQAnQMbX2ZsdWlkX3N5bnRoX3Byb2dyYW1fc2VsZWN0AJcDKV9mbHVpZF9zeW50aF9wcm9ncmFtX3NlbGVjdF9ieV9zZm9udF9uYW1lAJgDH19mbHVpZF9zeW50aF9yZW1vdmVfZGVmYXVsdF9tb2QA/AIZX2ZsdWlkX3N5bnRoX3JlbW92ZV9zZm9udACsAyBfZmx1aWRfc3ludGhfcmVzZXRfYmFzaWNfY2hhbm5lbADkAxxfZmx1aWRfc3ludGhfc2V0X2Jhbmtfb2Zmc2V0ANkDHl9mbHVpZF9zeW50aF9zZXRfYmFzaWNfY2hhbm5lbACKAxxfZmx1aWRfc3ludGhfc2V0X2JyZWF0aF9tb2RlAOIDHV9mbHVpZF9zeW50aF9zZXRfY2hhbm5lbF90eXBlANsDF19mbHVpZF9zeW50aF9zZXRfY2hvcnVzALwDHV9mbHVpZF9zeW50aF9zZXRfY2hvcnVzX2RlcHRoAMADHV9mbHVpZF9zeW50aF9zZXRfY2hvcnVzX2xldmVsAL4DGl9mbHVpZF9zeW50aF9zZXRfY2hvcnVzX25yAL0DGl9mbHVpZF9zeW50aF9zZXRfY2hvcnVzX29uAPcCHV9mbHVpZF9zeW50aF9zZXRfY2hvcnVzX3NwZWVkAL8DHF9mbHVpZF9zeW50aF9zZXRfY2hvcnVzX3R5cGUAwQMeX2ZsdWlkX3N5bnRoX3NldF9jdXN0b21fZmlsdGVyAN0DFV9mbHVpZF9zeW50aF9zZXRfZ2FpbgDMBhRfZmx1aWRfc3ludGhfc2V0X2dlbgDNBh5fZmx1aWRfc3ludGhfc2V0X2ludGVycF9tZXRob2QAxwMcX2ZsdWlkX3N5bnRoX3NldF9sZWdhdG9fbW9kZQDeAxpfZmx1aWRfc3ludGhfc2V0X3BvbHlwaG9ueQDyAiBfZmx1aWRfc3ludGhfc2V0X3BvcnRhbWVudG9fbW9kZQDgAxdfZmx1aWRfc3ludGhfc2V0X3JldmVyYgCzAxxfZmx1aWRfc3ludGhfc2V0X3JldmVyYl9kYW1wALUDHV9mbHVpZF9zeW50aF9zZXRfcmV2ZXJiX2xldmVsALcDGl9mbHVpZF9zeW50aF9zZXRfcmV2ZXJiX29uAPYCIF9mbHVpZF9zeW50aF9zZXRfcmV2ZXJiX3Jvb21zaXplALQDHV9mbHVpZF9zeW50aF9zZXRfcmV2ZXJiX3dpZHRoALYDHF9mbHVpZF9zeW50aF9zZXRfc2FtcGxlX3JhdGUAzgYUX2ZsdWlkX3N5bnRoX3NmY291bnQArQMTX2ZsdWlkX3N5bnRoX3NmbG9hZACmAxlfZmx1aWRfc3ludGhfc2ZvbnRfc2VsZWN0AJQDFV9mbHVpZF9zeW50aF9zZnJlbG9hZACqAxVfZmx1aWRfc3ludGhfc2Z1bmxvYWQApwMSX2ZsdWlkX3N5bnRoX3N0YXJ0ANcDGF9mbHVpZF9zeW50aF9zdGFydF92b2ljZQClAxFfZmx1aWRfc3ludGhfc3RvcADYAxJfZmx1aWRfc3ludGhfc3lzZXgAgwMZX2ZsdWlkX3N5bnRoX3N5c3RlbV9yZXNldACJAxdfZmx1aWRfc3ludGhfdHVuZV9ub3RlcwCFAxhfZmx1aWRfc3ludGhfdHVuaW5nX2R1bXAAhAMiX2ZsdWlkX3N5bnRoX3R1bmluZ19pdGVyYXRpb25fbmV4dADRAyNfZmx1aWRfc3ludGhfdHVuaW5nX2l0ZXJhdGlvbl9zdGFydADQAxpfZmx1aWRfc3ludGhfdW5zZXRfcHJvZ3JhbQCVAxhfZmx1aWRfc3ludGhfd3JpdGVfZmxvYXQAoQMWX2ZsdWlkX3N5bnRoX3dyaXRlX3MxNgCiAw5fZmx1aWRfdmVyc2lvbgDgAhJfZmx1aWRfdmVyc2lvbl9zdHIA4QIUX2ZsdWlkX3ZvaWNlX2FkZF9tb2QAiwQUX2ZsdWlkX3ZvaWNlX2dlbl9nZXQAzwYVX2ZsdWlkX3ZvaWNlX2dlbl9pbmNyANAGFF9mbHVpZF92b2ljZV9nZW5fc2V0ANEGG19mbHVpZF92b2ljZV9nZXRfYWN0dWFsX2tleQCCBCBfZmx1aWRfdm9pY2VfZ2V0X2FjdHVhbF92ZWxvY2l0eQCRBBhfZmx1aWRfdm9pY2VfZ2V0X2NoYW5uZWwAjwQTX2ZsdWlkX3ZvaWNlX2dldF9pZADvAxRfZmx1aWRfdm9pY2VfZ2V0X2tleQCQBBlfZmx1aWRfdm9pY2VfZ2V0X3ZlbG9jaXR5AJIEEl9mbHVpZF92b2ljZV9pc19vbgCOBBdfZmx1aWRfdm9pY2VfaXNfcGxheWluZwD5AxlfZmx1aWRfdm9pY2VfaXNfc29zdGVudXRvAI0EGV9mbHVpZF92b2ljZV9pc19zdXN0YWluZWQAjAQcX2ZsdWlkX3ZvaWNlX29wdGltaXplX3NhbXBsZQCVBBlfZmx1aWRfdm9pY2VfdXBkYXRlX3BhcmFtAP8DBV9mcmVlAPEED19sbHZtX2Jzd2FwX2kzMgDKBQdfbWFsbG9jAPAEB19tZW1jcHkAywUHX21lbXNldADMBRdfbmV3X2ZsdWlkX2F1ZGlvX2RyaXZlcgDbBBhfbmV3X2ZsdWlkX2F1ZGlvX2RyaXZlcjIA3QQWX25ld19mbHVpZF9kZWZzZmxvYWRlcgB+EF9uZXdfZmx1aWRfZXZlbnQAoAIYX25ld19mbHVpZF9maWxlX3JlbmRlcmVyAOQEFl9uZXdfZmx1aWRfbWlkaV9kcml2ZXIA4QQVX25ld19mbHVpZF9taWRpX2V2ZW50AJgEFl9uZXdfZmx1aWRfbWlkaV9yb3V0ZXIAuAQbX25ld19mbHVpZF9taWRpX3JvdXRlcl9ydWxlALoEDl9uZXdfZmx1aWRfbW9kANsCEV9uZXdfZmx1aWRfcGxheWVyAKQEEV9uZXdfZmx1aWRfcHJlc2V0AKoBEV9uZXdfZmx1aWRfc2FtcGxl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BCAKEHMaDAQLIAVBCGoiAkEANgIAIAUoAgwgBSgCNCIATARAQQAgAEECdBDyBCEBIABBAEogAUVxRQRAIAIgATYCACAHJAYgBQ8LC0EBQa28BCAJEHMaDAMLC0EBQa28BCALEHMaBUEBQa28BCANEHMaCwsgBRD4ASAHJAZBAAuuAQEEfyAARQRADwsgACgCCBDxBCAAKAIQEPEEIAAoAhwQ8QQgACgCIBDxBCAAKAIkEPEEIAAoAigQ8QQgACgCACEBIABBQGsiBCgCAEEASgRAA0AgASACQQN0aigCACIDBEAgAxCIAiAAKAIAIQELIAEgAkEDdGooAgQiAwRAIAMQwAEgACgCACEBCyACQQFqIgIgBCgCAEgNAAsLIAEQ8QQgACgCMBDxBCAAEPEECwwAIAAgASgCADYCRAsMACAAIAEoAgA2AkgLCQAgACABNgJMC3QCBH8DfCABKAIAIQIgASgCCCEDIAErAxAhBiABKwMYIQcgASsDICEIIAEoAighBCAAQUBrIgUoAgBBAEwEQA8LQQAhAQNAIAAoAgAgAUEDdGooAgQgAiADIAYgByAIIAQQwgEgAUEBaiIBIAUoAgBIDQALC2sCAn8EfCABKAIAIQIgASsDCCEEIAErAxAhBSABKwMYIQYgASsDICEHIABBQGsiAygCAEEATARADwtBACEBA0AgACgCACABQQN0aigCACACIAQgBSAGIAcQjAIgAUEBaiIBIAMoAgBIDQALCzwBAX8gAEFAayICKAIAQQBMBEAPC0EAIQEDQCAAKAIAIAFBA3RqKAIAEIkCIAFBAWoiASACKAIASA0ACws8AQF/IABBQGsiAigCAEEATARADwtBACEBA0AgACgCACABQQN0aigCBBDBASABQQFqIgEgAigCAEgNAAsLMQAgAUEAIAAoAhwiAWtBP3EgAWo2AgAgAkEAIAAoAiAiAWtBP3EgAWo2AgAgACgCFAsxACABQQAgACgCJCIBa0E/cSABajYCACACQQAgACgCKCIBa0E/cSABajYCACAAKAIYCwUAQYABC98HARJ/IAAgATYCPCABQQl0IQQgAEEYaiILKAIAIQdBACAAQRxqIgkoAgAiAmtBP3EgAmohBkEAIABBIGoiAygCACICa0E/cSACaiEFIAAoAhQiCkEASgRAQQAhAgNAIAYgAkENdCIIQQN0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ACADNgKYBSAAIAI2ApwFIARDAGC6RJSoIQIgAEQAAAAAAAAAADkDsAIgAEEANgLQAiACQQN0EPAEIQMgACADNgLIAiAAIAI2AswCIARDAEC9RJSoIQIgAEQAAAAAAAAAADkDsAUgAEEANgLQBSACQQN0EPAEIQMgACADNgLIBSAAIAI2AswFIARDAKDCRJSoIQIgAEQAAAAAAAAAADkD4AIgAEEANgKAAyACQQN0EPAEIQMgACADNgL4AiAAIAI2AvwCIARDAIDFRJSoIQIgAEQAAAAAAAAAADkD4AUgAEEANgKABiACQQN0EPAEIQMgACADNgL4BSAAIAI2AvwFIARDACDKRJSoIQIgAEQAAAAAAAAAADkDkAMgAEEANgKwAyACQQN0EPAEIQMgACADNgKoAyAAIAI2AqwDIARDAADNRJSoIQIgAEQAAAAAAAAAADkDkAYgAEEANgKwBiACQQN0EPAEIQMgACADNgKoBiAAIAI2AqwGIARDAAALRJSoIQIgAEEANgLIBiACQQN0EPAEIQMgACADNgLABiAAIAI2AsQGIARDAMAQRJSoIQIgAEEANgKoByACQQN0EPAEIQMgACADNgKgByAAIAI2AqQHIARDAIDcQ5SoIQIgAEEANgLgBiACQQN0EPAEIQMgACADNgLYBiAAIAI2AtwGIARDAADoQ5SoIQIgAEEANgLAByACQQN0EPAEIQMgACADNgK4ByAAIAI2ArwHIARDAICqQ5SoIQIgAEEANgL4BiACQQN0EPAEIQMgACADNgLwBiAAIAI2AvQGIARDAAC2Q5SoIQIgAEEANgLYByACQQN0EPAEIQMgACADNgLQByAAIAI2AtQHIARDAABhQ5SoIQIgAEEANgKQByACQQN0EPAEIQMgACADNgKIByAAIAI2AowHIARDAAB4Q5SoIQIgAEEANgLwByACQQN0EPAEIQMgACADNgLoByAAIAI2AuwHIAAQhwILtwsBA38gACgCWCECIAAoAlwiA0EASgRAA0AgAiABQQN0akQ6jDDijnlFPjkDACABQQFqIgEgA0cNAAsLIAAoAtgDIQIgACgC3AMiA0EASgRAQQAhAQNAIAIgAUEDdGpEOoww4o55RT45AwAgAUEBaiIBIANHDQALCyAAKAKIASECIAAoAowBIgNBAEoEQEEAIQEDQCACIAFBA3RqRDqM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AgAgCARAIANB/wFxIQMFIAAgACADQf8BcSIDQQNsaiwAFToAEgsgBCAAQRRqIANBA2xqLAAAIgM6AAAgACADQf8BcSIEQQNsaiABOgAVIAAgBEEDbGogAjoAFiAAIAM6ABAgBUEBOgAACyIAIAAoAghBgAFxBEAPCyAALQB9QT9KBEAPCyAAQX86ABILbgECfyAAKAIIIgJBAXEEQA8LIABBE2oiAywAAEUEQA8LIAFBwABIBEAgACAALAAROgAQIANBAToAAA8LIAJBwABxRQRADwsgACwAPgRADwsgACgCACAAKAIEIAAgAC0AEUEDbGotABVBARDqAxoLngEBAX8CQCAAKAIIIgJBwABxBEAgAkEBcUUEQCAALQCAAUE/TA0CCyAALAATBEAgAUEASgRAIAAsADMNAyAAKAIAIAAoAgQgACAALQARIgJBA2xqLQAVIAAgAkEDbGotABYQ6AMaDAMLIAFFBEAgACwAMwRAIAAoAgAgACgCBCAAIAAtABFBA2xqLQAVQQEQ6gMaCwsLCwsgACABOgAzCywAIABCADcCACAAQgA3AgggAEIANwIQIABCADcCGCAAQgA3AiAgAEJ/NwIEC18BA38jBiEBIwZBEGokBiABIQJBKBDwBCIABH8gAEIANwIAIABCADcCCCAAQgA3AhAgAEIANwIYIABCADcCICAAQn83AgQgASQGIAAFQQBBqZgEIAIQcxogASQGQQALCwkAIAAgATYCAAsJACAAIAE7AQgLCQAgACABOwEKCxAAIABBETYCBCAAIAE2AiQLHgAgAEEBNgIEIAAgATYCDCAAIAI7ARAgACADOwESCxcAIABBAjYCBCAAIAE2AgwgACACOwEQCyUAIABBADYCBCAAIAE2AgwgACACOwEQIAAgAzsBEiAAIAQ2AiALEAAgAEEDNgIEIAAgATYCDAsQACAAQQQ2AgQgACABNgIMCxcAIABBBTYCBCAAIAE2AgwgACACOwEUCxcAIABBBjYCBCAAIAE2AgwgACACOwEWCyUAIABBBzYCBCAAIAE2AgwgACACNgIgIAAgBDsBFiAAIAM7ARQLEAAgAEESNgIEIAAgATYCDAs1AQF/IABBCDYCBCAAIAE2AgwgACACQQBKBH8gAgVBAAsiA0H//wBIBH8gAwVB//8ACzYCHAsXACAAQQk2AgQgACABNgIMIAAgAjsBFgs/AQF/IABBCjYCBCAAIAE2AgwgACACQRB0QRB1QQBKBH8gAgVBAAsiA0EQdEEQdUH/AEgEfyADBUH/AAs7ARYLPwEBfyAAQQs2AgQgACABNgIMIAAgAkEQdEEQdUEASgR/IAIFQQALIgNBEHRBEHVB/wBIBH8gAwVB/wALOwEWCx4AIABBDDYCBCAAIAE2AgwgACACOwEUIAAgAzsBFgs/AQF/IABBDTYCBCAAIAE2AgwgACACQRB0QRB1QQBKBH8gAgVBAAsiA0EQdEEQdUH/AEgEfyADBUH/AAs7ARYLPwEBfyAAQQ42AgQgACABNgIMIAAgAkEQdEEQdUEASgR/IAIFQQALIgNBEHRBEHVB/wBIBH8gAwVB/wALOwEWCz8BAX8gAEEPNgIEIAAgATYCDCAAIAJBEHRBEHVBAEoEfyACBUEACyIDQRB0QRB1Qf8ASAR/IAMFQf8ACzsBFgs/AQF/IABBEDYCBCAAIAE2AgwgACACQRB0QRB1QQBKBH8gAgVBAAsiA0EQdEEQdUH/AEgEfyADBUH/AAs7ARYLCQAgAEEWNgIECz8BAX8gAEETNgIEIAAgATYCDCAAIAJBEHRBEHVBAEoEfyACBUEACyIDQRB0QRB1Qf8ASAR/IAMFQf8ACzsBFgtqACAAQRQ2AgQgACABNgIMIAAgAkEQdEEQdUEASgR/IAIFQQAiAgtBEHRBEHVB/wBIBH8gAgVB/wALOwEQIAAgA0EQdEEQdUEASgR/IAMFQQAiAwtBEHRBEHVB/wBIBH8gAwVB/wALOwEWCwkAIABBFTYCBAsHACAALgEICwcAIAAuAQoLBwAgACgCDAsHACAALgEQCwcAIAAuARILBwAgAC4BFAsHACAALgEWCwcAIAAoAiQLBwAgACgCIAsHACAAKAIcC2UBBX8jBiECIwZBEGokBiACIQBBCBDwBCIBBEAgAUEANgIAQQAhAANAQTAQ8AQiAyAANgIAIAEgAzYCACADIQAgBEEBaiIEQegHRw0ACwVBAEGCuAQgABBzGkEAIQELIAIkBiABCzQBAn8gACgCACIBRQRAIAAQ8QQPCwNAIAEoAgAhAiABEPEEIAIEQCACIQEMAQsLIAAQ8QQLQAEBfyAAKAIAIgFFBEBBMBDwBCEBIAAgATYCACABBEAgAUEANgIABUEADwsLIAAgASgCADYCACABQQA2AgAgAQsTACABIAAoAgA2AgAgACABNgIAC1QBAn8DQCAAIAFBBXRqQQA6AAAgACABQQV0akEQaiICQgA3AwAgAkIANwMIIAAgAUEFdGogAUEEdEGMzANqKgIAuzkDCCABQQFqIgFBP0cNAAtBAAudAQECfwNAIAAgAkEFdGpBADoAACAAIAJBBXRqQRBqIgNCADcDACADQgA3AwggACACQQV0aiACQQR0QYzMA2oqAgC7OQMIIAJBAWoiAkE/Rw0AC0EAIQIDQCAAIAJBBXRqIAFB6AJqIAJBA3RqKwMAOQMYIAFB4AZqIAJqLAAABEAgACACQQV0akECOgAACyACQQFqIgJBP0cNAAtBAAs7AQF/IAFBAEghAiABQYBAaiIBQYDAAE4EQEGAwAAhAQsgAgR/QYBABSABCyAAQQR0QYLMA2osAABstws+ACAAIAEsAAA6AAAgACABLAABOgABIAAgASwAAjoAAiAAIAEsAAM6AAMgACABLAAEOgAEIAAgASsDCDkDCAsQACAAIAE6AAEgACACOgACCxAAIAAgAToAAyAAIAI6AAQLCQAgACABOgAACwkAIAAgATkDCAsHACAALQABCwcAIAAtAAILBwAgAC0AAwsHACAALQAECwcAIAAtAAALBwAgACsDCAuyAgIEfwF8IwYhAyMGQRBqJAYgA0EIaiIERAAAAAAAwF9AOQMAIAMiBUQAAAAAAMBfQDkDAAJAAkAgACwAAEGQghwsAABGIAAsAAEiAkGRghwsAABGcUUNACAALAADQZOCHCwAAEcNACAALAACQZKCHCwAAEcNACAALAAEQZSCHCwAAEYgAkVyBEAgAyQGRAAAAAAAAAAADwsMAQsgAkUEQCADJAZEAAAAAAAAAAAPCwsgAiAAQQJqIgIsAAAgBCABENgCIAIsAAAgBCsDABDZAiIGRAAAAAAAAAAAYQRAIAMkBkQAAAAAAAAAAA8LIAAsAAMiAgR8IAIgAEEEaiICLAAAIAUgARDYAiACLAAAIAUrAwAQ2QIFRAAAAAAAAPA/CyAGIAArAwiioiEGIAMkBiAGC8UCAgR/AXwjBiEFIwZBEGokBiAFIQcgAygCCCEEIABB/wFxIQYCQCABQRBxBHwCQAJAIABBGHRBGHVBCGsOAwABAAELIAJEAAAAAACAX0A5AwAgBEE8aiAGaiwAACIAQf8BcUF/archCCAFJAYgAAR8IAgFRAAAAAAAAAAACw8LIARBPGogBmotAAC3BQJAAkACQAJAAkACQAJAAkAgAEEYdEEYdQ4RAAcBAgcHBwcHBwMHBwQFBwYHCyACKwMAIQgMCAsgAxCRBLchCAwHCyADEIIEtyEIDAYLIARBvAFqIAMtAAZqLQAAtyEIDAULIAQtAMQCtyEIDAQLIAQuAcYCtyEIIAJEAAAAAAAA0EA5AwAMAwsgBC0AxQK3IQgMAgsgByAGNgIAQQFB8ZgEIAcQcxpEAAAAAAAAAAALIQgLIAUkBiAIC+YIAQJ/IwYhAyMGQRBqJAYgAyEEIAAgAqMhAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBb3EiAUEYdEEYdUGAf2sOkAEQERITFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFAABAgMEBQYHCAkKCwwNDg8UCwwUC0QAAAAAAADwPyAAoSEADBMLIABEAAAAAAAAAECiRAAAAAAAAPC/oCEADBILRAAAAAAAAPA/IABEAAAAAAAAAECioSEADBELIABEAAAAAADAX0CiEDQhAAwQC0QAAAAAAADwPyAAoUQAAAAAAMBfQKIQNCEADA8LIABEAAAAAAAA4D9kBEAgAEQAAAAAAADgv6BEAAAAAADAb0CiEDQhAAwPBUQAAAAAAADgPyAAoUQAAAAAAMBvQKIQNJohAAwPCwALIABEAAAAAAAA4D9kBEAgAEQAAAAAAADgv6BEAAAAAADAb0CiEDSaIQAMDgVEAAAAAAAA4D8gAKFEAAAAAADAb0CiEDQhAAwOCwALIABEAAAAAADAX0CiEDUhAAwMC0QAAAAAAADwPyAAoUQAAAAAAMBfQKIQNSEADAsLIABEAAAAAAAA4D9kBEAgAEQAAAAAAADgv6BEAAAAAADAb0CiEDUhAAwLBUQAAAAAAADgPyAAoUQAAAAAAMBvQKIQNZohAAwLCwALIABEAAAAAAAA4D9kBEAgAEQAAAAAAADgv6BEAAAAAADAb0CiEDWaIQAMCgVEAAAAAAAA4D8gAKFEAAAAAADAb0CiEDUhAAwKCwALIABEAAAAAAAA4D9mBHxEAAAAAAAA8D8FRAAAAAAAAAAACyEADAgLIABEAAAAAAAA4D9mBHxEAAAAAAAAAAAFRAAAAAAAAPA/CyEADAcLIABEAAAAAAAA4D9mBHxEAAAAAAAA8D8FRAAAAAAAAPC/CyEADAYLIABEAAAAAAAA4D9mBHxEAAAAAAAA8L8FRAAAAAAAAPA/CyEADAULIABEGC1EVPsh+T+iRNejcD0K1+s/ohDHBSEADAQLRAAAAAAAAPA/IAChRBgtRFT7Ifk/okTXo3A9CtfrP6IQxwUhAAwDCyAARAAAAAAAAOA/ZARAIABEAAAAAAAA4L+gRBgtRFT7IQlAohDHBSEADAMFRAAAAAAAAOA/IAChRBgtRFT7IQlAohDHBZohAAwDCwALIABEAAAAAAAA4D9kBEAgAEQAAAAAAADgv6BEGC1EVPshCUCiEMcFmiEADAIFRAAAAAAAAOA/IAChRBgtRFT7IQlAohDHBSEADAILAAsgBCABQf8BcTYCAEEBQb+YBCAEEHMaRAAAAAAAAAAAIQALIAMkBiAAC1EAIAAsAAAgASwAAEcEQEEADwsgACwAASABLAABRwRAQQAPCyAALAADIAEsAANHBEBBAA8LIAAsAAIgASwAAkcEQEEADwsgACwABCABLAAERgszAQN/IwYhACMGQRBqJAYgACECQRgQ8AQiAUUEQEEBQa28BCACEHMaQQAhAQsgACQGIAELBABBGAthAQF/IAAtAAEgAkYEQCABQQBHIAAsAAJBEHEiA0EAR3EEQEEBDwsgASADckUEQEEBDwsLIAAtAAMgAkcEQEEADwsgAUEARyAALAAEQRBxIgBBAEdxBH9BAQUgASAAckULCwoAIAAtAAAgAUYLsgcAIABBpZkEQQBBAEEBQQQQVRogAEGzmQRBAUEAQQFBBBBVGiAAQceZBEQAAACgmZnJP0QAAAAAAAAAAEQAAAAAAADwPxBUGiAAQd6ZBEQAAAAAAAAAAEQAAAAAAAAAAEQAAAAAAADwPxBUGiAAQfCZBEQAAAAAAADgP0QAAAAAAAAAAEQAAAAAAABZQBBUGiAAQYOaBEQAAADAzMzsP0QAAAAAAAAAAEQAAAAAAADwPxBUGiAAQZaaBEEBQQBBAUEEEFUaIABBqpoEQQNBAEHjAEEAEFUaIABBupoERAAAAAAAAABARAAAAAAAAAAARAAAAAAAACRAEFQaIABBzZoERAAAAEAzM9M/RAAAACBcj9I/RAAAAAAAABRAEFQaIABB4JoERAAAAAAAACBARAAAAAAAAAAARAAAAAAAAHBAEFQaIABB85oEQQBBAEEBQQQQVRogAEGHmwRBAUEAQQFBBBBVGiAAQZmbBEGFiRwQURogAEGnmwRBv5sEEFEaIABB55sEQYACQQFB//8DQQAQVRogAEGAtQRBEEEQQYACQQAQVRogAEH3mwREAAAAoJmZyT9EAAAAAAAAAABEAAAAAAAAJEAQVBogAEGCnARBAUEBQYABQQAQVRogAEGXnARBAUEBQYABQQAQVRogAEGqnARBAkECQQJBABBVGiAAQcGcBEEBQQFBgAFBABBVGiAAQdacBEQAAAAAgIjlQEQAAAAAAEC/QEQAAAAAAHD3QBBUGiAAQeicBEEAQQBB/gBBABBVGiAAQficBEEBQQFBAUEAEFUaIABBiJ0EQQpBAEH//wNBABBVGiAAQZ6dBEEBQQBBAUEEEFUaIABBs50ERAAAAAAAQK9ARAAAAAAAiMPARAAAAAAAiMNAEFQaIABBzZ0ERAAAAAAAQI/ARAAAAAAAiMPARAAAAAAAiMNAEFQaIABB5p0ERAAAAAAAQJ/ARAAAAAAAiMPARAAAAAAAiMNAEFQaIABB/p0ERAAAAAAAQI9ARAAAAAAAiMPARAAAAAAAiMNAEFQaIABBkZ4ERAAAAAAAQH9ARAAAAAAAiMPARAAAAAAAiMNAEFQaIABBp54ERAAAAAAAiLNARAAAAAAAaujARAAAAAAAauhAEFQaIABBwJ4EQYWJHBBRGiAAQeKeBEH5ngQQURogAEHingRB/J4EEGEaIABB4p4EQfmeBBBhGiAAQeKeBEH/ngQQYRogAEHingRBgp8EEGEaIABBhp8EQQBBAEEBQQQQVRoLFwAgAEECNgIAIAFBADYCACACQQI2AgALBgBBo58EC2sBA38jBiEEIwZBEGokBiAEIQVBFBDwBCIDBH8gAyAAKAJMNgIEIANBADYCECADIAI2AgwgAyABNgIIIAMgAEGEAmoiACgCADYCACAAIAM2AgAgBCQGIAMFQQFBrbwEIAUQcxogBCQGQQALC1gBAn8gAEUgAUVyBEAPCyAAQYQCaiICKAIAIgBFBEAPCwJAAkADQCAAIAFHBEAgACgCACIDRQ0CIAAhAiADIQAMAQsLDAELDwsgAiABKAIANgIAIAEQ8QQLxx0DIn8CfQR8IwYhBSMGQcABaiQGIAVBqAFqIgxBADYCACAFQaQBaiINQQA2AgBBwIQcKAIARQRAQcCEHEEBNgIAA0AQvwWyQwAAADCUQwAAAL+SISMgAUECdEGAwgRqICMgJJM4AgAgAUEBaiIBQf/2AkcEQCAjISQMAQsLQfydEEMAAAAAICOTOAIAQwAAAAAhJEEAIQEDQBC/BbJDAAAAMJRDAAAAv5IhIyABQQJ0QYCeEGogIyAkkzgCACABQQFqIgFB//YCRwRAICMhJAwBCwtB/PkbQwAAAAAgI5M4AgBBqIIcQQJBFRDNAkGoghxBAEEAEM4CQaiCHEEwEM8CQaiCHEQAAAAAAACOQBDQAkHAghxBAkEFEM0CQcCCHEEAQQAQzgJBwIIcQTAQzwJBwIIcRAAAAAAAAI5AENACQZCCHEECQQEQzQJBkIIcQQJBDBDOAkGQghxBCBDPAkGQghxEAAAAAADAosAQ0AJB2IIcQQ1BABDNAkHYghxBAEEAEM4CQdiCHEEGEM8CQdiCHEQAAAAAAABJQBDQAkHwghxBAUEQEM0CQfCCHEEAQQAQzgJB8IIcQQYQzwJB8IIcRAAAAAAAAElAENACQYiDHEEHQRUQzQJBiIMcQQBBABDOAkGIgxxBMBDPAkGIgxxEAAAAAAAAjkAQ0AJBoIMcQQpBEhDNAkGggxxBAEEAEM4CQaCDHEEREM8CQaCDHEQAAAAAAEB/QBDQAkG4gxxBC0EVEM0CQbiDHEEAQQAQzgJBuIMcQTAQzwJBuIMcRAAAAAAAAI5AENACQdCDHEHbAEEQEM0CQdCDHEEAQQAQzgJB0IMcQRAQzwJB0IMcRAAAAAAAAGlAENACQeiDHEHdAEEQEM0CQeiDHEEAQQAQzgJB6IMcQQ8QzwJB6IMcRAAAAAAAAGlAENACQYCEHEEOQQIQzQJBgIQcQRBBABDOAkGAhBxBOxDPAkGAhBxEAAAAAADOyEAQ0AJBmIQcQQhBFhDNAkGYhBxBAEEAEM4CQZiEHEE8EM8CQZiEHEQAAAAAAACOQBDQAgsgBUGgAWohHCAFQZgBaiEdIAVBkAFqIR4gBUGIAWohHyAFQYABaiEOIAVB+ABqIQ8gBUHwAGohICAFQegAaiEBIAVB4ABqISEgBUHYAGohECAFQdAAaiEDIAUhCCAFQbABaiEGIAVBrAFqIQkgBUHIAGohESAFQUBrIRIgBUE4aiETIAVBMGohF0GgAhDwBCICRQRAQQFBrbwEIAMQcxogBSQGQQAPCyACQQBBoAIQzAUaIABBnp0EIAJBBGoQaBogAkEIaiIKQQA2AgAgAkEMaiIYIAA2AgAgAEGzmQQgAkEYaiIZEGgaIABBlpoEIAJBHGoiGhBoGiAAQaWZBCACQSBqEGgaIABB55sEIAJBFGoiFBBoGiAAQdacBCACQShqIhUQYxogAEGAtQQgAkEwaiIEEGgaIABBgpwEIAJBOGoiAxBoGiAAQZecBCACQTxqIgcQaBogAEGqnAQgAkFAayILEGgaIABBwZwEIAJBxABqIiIQaBogAEH3mwQgAkGAAWoQZBogAEHonAQgAkEQahBoGiAAQficBCACQYwCaiIbEGgaIABBs50EIAJB1ABqEGQaIABB5p0EIAJB2ABqEGQaIABBzZ0EIAJB3ABqEGQaIABBkZ4EIAJB4ABqEGQaIABB/p0EIAJB5ABqEGQaIABBp54EIAJB6ABqEGQaIABB1pwEQQsgAhBXGiAAQfebBEEMIAIQVxogAEHnmwRBDCACEFgaIABB6JwEQQ0gAhBYGiAAQbOdBEENIAIQVxogAEHNnQRBDSACEFcaIABB5p0EQQ0gAhBXGiAAQf6dBEENIAIQVxogAEGRngRBDSACEFcaIABBp54EQQ0gAhBXGiAAIAIQVhogAEHHmQRBDiACEFcaIABB3pkEQQ4gAhBXGiAAQfCZBEEOIAIQVxogAEGDmgRBDiACEFcaIABBs5kEQQ8gAhBYGiAAQZaaBEEPIAIQWBogAEGqmgRBDyACEFgaIABBupoEQQ4gAhBXGiAAQeCaBEEOIAIQVxogAEHNmgRBDiACEFcaIAQoAgAiFkEPcQRAIAQgFkEQbUEEdEEQaiIWNgIAIABBgLUEIBYQZxpBAkGpnwQgEBBzGgsCQAJAIAMoAgAiEEEBSARAQQJBn6AEICEQcxpBASEBDAEFIBBBgAFKBEAgASAQNgIAQQJB8aAEIAEQcxpBgAEhAQwCCwsMAQsgAyABNgIACwJAAkAgBygCACIBQQFIBEBBAkHDoQQgIBBzGkEBIQEMAQUgAUGAAUoEQCAPIAE2AgBBAkGTogQgDxBzGkGAASEBDAILCwwBCyAHIAE2AgALIAsoAgAiD0ECSARAIA4gDzYCAEECQeOiBCAOEHMaIAtBAjYCACAHKAIAIQELIAEgAygCACIDSgRAIAEhAwsgAEHAngQgBhBeRQRAIAIgBigCABDtAgRAQQJBqqMEIB8QcxoLIAYoAgAQ8QQLIAJBATYCSCACQf8BNgKcASACQQA2AkwgAkEANgL8AUEEEPAEIQEgAiABNgKAAiAbKAIAIgFBAUoEQCAYKAIAQYe5BCAMEGgaIBsoAgAhAQsgFCgCACIGQQZ0IAYgAyALKAIAICIoAgAgFSsDACABQX9qIAwoAgAQ8AEhASACQaABaiIGIAE2AgACQCABBEAgAkEANgKQAiACQcCCHEEBEO4CGiACQZCCHEEBEO4CGiACQdiCHEEBEO4CGiACQfCCHEEBEO4CGiACQYiDHEEBEO4CGiACQaCDHEEBEO4CGiACQbiDHEEBEO4CGiACQdCDHEEBEO4CGiACQeiDHEEBEO4CGiACQYCEHEEBEO4CGiACQZiEHEEBEO4CGiAAQfOaBCANEGgaIA0oAgAEQEECQdSjBCAeEHMaCyAAEH4iAQRAIAIQ7wIgAigCeEUEQCACQfQAaiIDKAIAIAEQRCEBIAMgATYCAAsgCiAKKAIAQX9qIgE2AgAgAUUEQCAGKAIAIgNBBGoiBygCACIBQQBKBEAgB0EANgIAIAMoAgAiA0EIaiIHKAIAGiAHIAcoAgAgAWo2AgAgA0EMaiIHKAIAIAFqIQEgByABNgIAIAEgAygCBCIDTgRAIAcgASADazYCAAsLCwVBAkGJpAQgHRBzGgsgBCgCACIBQQJ0EPAEIQMgAkGEAWoiByADNgIAIANFBEBBAUGtvAQgHBBzGgwCCyAJQQA2AgAgAUEASgRAQQAhAQNAIAIgARCOAiEDIAcoAgAgCSgCACIBQQJ0aiADNgIAIAcoAgAgAUECdGooAgBFDQMgCSABQQFqIgE2AgAgASAEKAIAIgNIDQALIAMhAQsgAkGIAWoiDSAUKAIAIgM2AgAgA0ECdBDwBCELIAJBjAFqIgwgCzYCACALBEAgCUEANgIAIANBAEoEQANAIAYoAgAgFSsDABDzAyEDIAwoAgAgCSgCACIBQQJ0aiADNgIAIAwoAgAgAUECdGooAgBFDQQgCSABQQFqIgE2AgAgASANKAIASA0ACyAEKAIAIQELIAFBAEoEQEEAIQMDQCACIAMQ8AIaIANFIgsEfyABBUEACyEEIAcoAgAgA0ECdGooAgAiDEEIaiINKAIAQXBxIQ4gDSALBH9BDAVBCAsgDnI2AgAgDCAENgIMIANBAWoiAyABRw0ACwsgGCgCAEGInQQgCBBoGiACIBUrAwAgCCgCALeiRAAAAAAAQI9Ao6s2AogCIBQoAgAhAyAGKAIAIgEEQCABKAIMIgQEQCABQQsgBCADRAAAAAAAAAAAEOwBGgsLIBkoAgAhASACEO8CIBkgAUEARyIDNgIAAkAgBigCACIBBEAgASgCDCIERQ0BIAFBDCAEIANEAAAAAAAAAAAQ7AEaCwsgCiAKKAIAQX9qIgE2AgACQCABRQRAIAYoAgAiA0EEaiIEKAIAIgFBAEwNASAEQQA2AgAgAygCACIDQQhqIgQoAgAaIAQgBCgCACABajYCACADQQxqIgQoAgAgAWohASAEIAE2AgAgASADKAIEIgNIDQEgBCABIANrNgIACwsgGigCACEBIAIQ7wIgGiABQQBHIgM2AgACQCAGKAIAIgEEQCABKAIMIgRFDQEgAUENIAQgA0QAAAAAAAAAABDsARoLCyAKIAooAgBBf2oiATYCAAJAIAFFBEAgBigCACIDQQRqIgQoAgAiAUEATA0BIARBADYCACADKAIAIgNBCGoiBCgCABogBCAEKAIAIAFqNgIAIANBDGoiBCgCACABaiEBIAQgATYCACABIAMoAgQiA0gNASAEIAEgA2s2AgALCyACQcAANgLsASACQQA2AvABIAJBADYC9AEgAEHHmQQgERBjGiAAQd6ZBCASEGMaIABB8JkEIBMQYxogAEGDmgQgFxBjGiASKwMAISUgEysDACEmIBcrAwAhJyACIBErAwAiKDkDqAEgAiAlOQOwASACICY5A7gBIAIgJzkDwAEgCEEPNgIAIAggKDkDCCAIQRBqIgEgJTkDACAIQRhqIgMgJjkDACAIQSBqIgQgJzkDACAGKAIAIgpBDiAKKAIMIAgQ7QEaIABBqpoEIAkQaBogAEG6mgQgERBjGiAAQc2aBCASEGMaIABB4JoEIBMQYxogESsDACElIBIrAwAhJiATKwMAIScgAiAJKAIAIgk2AsgBIAIgJTkD0AEgAiAmOQPYASACICc5A+ABIAJBADYC6AEgCEEfNgIAIAggCTYCCCABICU5AwAgAyAmOQMAIAQgJzkDACAIQQA2AiggBigCACIBQQ8gASgCDCAIEO0BGiACQTRqIgFBATYCAAJAAkAgAEHingRB/J4EEF8EQEEAIQAMAQUgAEHingRB+Z4EEF8EQEEBIQAMAgsgAEHingRB/54EEF8EQEECIQAMAgsgAEHingRBgp8EEF8EQEEDIQAMAgsLDAELIAEgADYCAAsgBigCABDzARoQeSEAIAIgADYCUCAFJAYgAg8LCwsgAhDxAiAFJAZBAAsKACAAIAK2EPQCCwoAIAAgArYQ8wILCgAgACACEPICGgucAQAgAEUEQA8LIAAQ7wIgACACNgIQIABBCGoiAigCAEF/aiEBIAIgATYCACABBEAPCyAAKAKgASIBQQRqIgIoAgAiAEEATARADwsgAkEANgIAIAEoAgAiAUEIaiICKAIAGiACIAIoAgAgAGo2AgAgAUEMaiICKAIAIABqIQAgAiAANgIAIAAgASgCBCIBSARADwsgAiAAIAFrNgIAC6ACAQF/IABFBEAPCyAAEO8CAkAgAUGznQQQ/gQEQCABQeadBBD+BEUEQCAAIAK2OAJYDAILIAFBzZ0EEP4ERQRAIAAgArY4AlwMAgsgAUGRngQQ/gRFBEAgACACtjgCYAwCCyABQf6dBBD+BEUEQCAAIAK2OAJkDAILIAFBp54EEP4ERQRAIAAgArY4AmgLBSAAIAK2OAJUCwsgAEEIaiIDKAIAQX9qIQEgAyABNgIAIAEEQA8LIAAoAqABIgFBBGoiAygCACIAQQBMBEAPCyADQQA2AgAgASgCACIBQQhqIgMoAgAaIAMgAygCACAAajYCACABQQxqIgMoAgAgAGohACADIAA2AgAgACABKAIEIgFIBEAPCyADIAAgAWs2AgALlgEAIAAQ7wIgACACEO0CGiAAQQhqIgIoAgBBf2ohASACIAE2AgAgAQRADwsgACgCoAEiAUEEaiICKAIAIgBBAEwEQA8LIAJBADYCACABKAIAIgFBCGoiAigCABogAiACKAIAIABqNgIAIAFBDGoiAigCACAAaiEAIAIgADYCACAAIAEoAgQiAUgEQA8LIAIgACABazYCAAvyDQEDfyMGIQUjBkEwaiQGIABFBEAgBSQGDwsgBSEEIAFBx5kEEP4ERQRAIAAQ7wIgACACOQOoASAEQQE2AgAgBCACOQMIIARBEGoiAUIANwMAIAFCADcDCCABQgA3AxAgAEGgAWoiAygCACIBQQ4gASgCDCAEEO0BGiAAQQhqIgAoAgBBf2ohASAAIAE2AgAgAQRAIAUkBg8LIAMoAgAiAUEEaiIAKAIAIgNBAEwEQCAFJAYPCyAAQQA2AgAgASgCACIEQQhqIgAoAgAaIAAgACgCACADajYCACAEQQxqIgEoAgAgA2ohAyABIAM2AgAgAyAEKAIEIgBIBEAgBSQGDwsgASADIABrNgIAIAUkBg8LIAFB3pkEEP4ERQRAIAAQ7wIgACACOQOwASAEQQI2AgAgBEQAAAAAAAAAADkDCCAEIAI5AxAgBEEYaiIBQgA3AwAgAUIANwMIIABBoAFqIgMoAgAiAUEOIAEoAgwgBBDtARogAEEIaiIAKAIAQX9qIQEgACABNgIAIAEEQCAFJAYPCyADKAIAIgFBBGoiACgCACIDQQBMBEAgBSQGDwsgAEEANgIAIAEoAgAiBEEIaiIAKAIAGiAAIAAoAgAgA2o2AgAgBEEMaiIBKAIAIANqIQMgASADNgIAIAMgBCgCBCIASARAIAUkBg8LIAEgAyAAazYCACAFJAYPCyABQfCZBBD+BEUEQCAAEO8CIAAgAjkDuAEgBEEENgIAIARBCGoiAUIANwMAIAFCADcDCCAEIAI5AxggBEQAAAAAAAAAADkDICAAQaABaiIDKAIAIgFBDiABKAIMIAQQ7QEaIABBCGoiACgCAEF/aiEBIAAgATYCACABBEAgBSQGDwsgAygCACIBQQRqIgAoAgAiA0EATARAIAUkBg8LIABBADYCACABKAIAIgRBCGoiACgCABogACAAKAIAIANqNgIAIARBDGoiASgCACADaiEDIAEgAzYCACADIAQoAgQiAEgEQCAFJAYPCyABIAMgAGs2AgAgBSQGDwsgAUGDmgQQ/gRFBEAgABDvAiAAIAI5A8ABIARBCDYCACAEQQhqIgFCADcDACABQgA3AwggAUIANwMQIAQgAjkDICAAQaABaiIDKAIAIgFBDiABKAIMIAQQ7QEaIABBCGoiACgCAEF/aiEBIAAgATYCACABBEAgBSQGDwsgAygCACIBQQRqIgAoAgAiA0EATARAIAUkBg8LIABBADYCACABKAIAIgRBCGoiACgCABogACAAKAIAIANqNgIAIARBDGoiASgCACADaiEDIAEgAzYCACADIAQoAgQiAEgEQCAFJAYPCyABIAMgAGs2AgAgBSQGDwsgAUHgmgQQ/gRFBEAgABDvAiAAIAI5A+ABIARBCDYCACAEQQA2AgggBEEQaiIBQgA3AwAgAUIANwMIIAQgAjkDICAEQQA2AiggAEGgAWoiAygCACIBQQ8gASgCDCAEEO0BGiAAQQhqIgAoAgBBf2ohASAAIAE2AgAgAQRAIAUkBg8LIAMoAgAiAUEEaiIAKAIAIgNBAEwEQCAFJAYPCyAAQQA2AgAgASgCACIEQQhqIgAoAgAaIAAgACgCACADajYCACAEQQxqIgEoAgAgA2ohAyABIAM2AgAgAyAEKAIEIgBIBEAgBSQGDwsgASADIABrNgIAIAUkBg8LIAFBzZoEEP4ERQRAIAAQ7wIgACACOQPYASAEQQQ2AgAgBEEANgIIIAREAAAAAAAAAAA5AxAgBCACOQMYIAREAAAAAAAAAAA5AyAgBEEANgIoIABBoAFqIgMoAgAiAUEPIAEoAgwgBBDtARogAEEIaiIAKAIAQX9qIQEgACABNgIAIAEEQCAFJAYPCyADKAIAIgFBBGoiACgCACIDQQBMBEAgBSQGDwsgAEEANgIAIAEoAgAiBEEIaiIAKAIAGiAAIAAoAgAgA2o2AgAgBEEMaiIBKAIAIANqIQMgASADNgIAIAMgBCgCBCIASARAIAUkBg8LIAEgAyAAazYCACAFJAYPCyABQbqaBBD+BARAIAUkBg8LIAAQ7wIgACACOQPQASAEQQI2AgAgBEEANgIIIAQgAjkDECAEQRhqIgFCADcDACABQgA3AwggAUEANgIQIABBoAFqIgMoAgAiAUEPIAEoAgwgBBDtARogAEEIaiIAKAIAQX9qIQEgACABNgIAIAEEQCAFJAYPCyADKAIAIgFBBGoiACgCACIDQQBMBEAgBSQGDwsgAEEANgIAIAEoAgAiBEEIaiIAKAIAGiAAIAAoAgAgA2o2AgAgBEEMaiIBKAIAIANqIQMgASADNgIAIAMgBCgCBCIASARAIAUkBg8LIAEgAyAAazYCACAFJAYL4gUBA38jBiEEIwZBMGokBiAARQRAIAQkBg8LIAQhAyABQbOZBBD+BEUEQCAAEO8CIAAgAkEARyIDNgIYIABBoAFqIgIoAgAiBQRAIAUoAgwiAQRAIAVBDCABIANEAAAAAAAAAAAQ7AEaCwsgAEEIaiIAKAIAQX9qIQEgACABNgIAIAEEQCAEJAYPCyACKAIAIgFBBGoiACgCACIDQQBMBEAgBCQGDwsgAEEANgIAIAEoAgAiAkEIaiIAKAIAGiAAIAAoAgAgA2o2AgAgAkEMaiIBKAIAIANqIQMgASADNgIAIAMgAigCBCIASARAIAQkBg8LIAEgAyAAazYCACAEJAYPCyABQZaaBBD+BARAIAFBqpoEEP4EBEAgBCQGDwsgABDvAiAAIAI2AsgBIANBATYCACADIAI2AgggA0EQaiIBQgA3AwAgAUIANwMIIAFCADcDECABQQA2AhggAEGgAWoiAigCACIBQQ8gASgCDCADEO0BGiAAQQhqIgAoAgBBf2ohASAAIAE2AgAgAQRAIAQkBg8LIAIoAgAiAUEEaiIAKAIAIgNBAEwEQCAEJAYPCyAAQQA2AgAgASgCACICQQhqIgAoAgAaIAAgACgCACADajYCACACQQxqIgEoAgAgA2ohAyABIAM2AgAgAyACKAIEIgBIBEAgBCQGDwsgASADIABrNgIAIAQkBg8LIAAQ7wIgACACQQBHIgM2AhwgAEGgAWoiAigCACIFBEAgBSgCDCIBBEAgBUENIAEgA0QAAAAAAAAAABDsARoLCyAAQQhqIgAoAgBBf2ohASAAIAE2AgAgAQRAIAQkBg8LIAIoAgAiAUEEaiIAKAIAIgNBAEwEQCAEJAYPCyAAQQA2AgAgASgCACICQQhqIgAoAgAaIAAgACgCACADajYCACACQQxqIgEoAgAgA2ohAyABIAM2AgAgAyACKAIEIgBIBEAgBCQGDwsgASADIABrNgIAIAQkBgvAAgEIfyMGIQMjBkEQaiQGIABFBEAgAyQGQX8PCyADQQhqIQcgAyEEIABB7ABqIgYoAgAhAgJAAkAgAEHwAGoiCCgCACIJIABBMGoiBSgCACIASAR/IAIgABDyBCEAIAYgADYCACAABH8gCCAFKAIAIgI2AgAMAgVBAUGtvAQgBBBzGkF/IQFBAAsFIAIhACAJIQIMAQshAAwBCyAAQQAgAhDMBRogAQRAIAUoAgAiAkECdBDwBCIARQRAQQFBrbwEIAcQcxpBfyEBQQAhAAwCCyABIAAgAhBwIgRBAEoEQEEAIQEDQCAAIAFBAnRqKAIAIgJBAEoEQCACIAUoAgBMBEAgBigCACACQX9qakEBOgAACwsgAUEBaiIBIARHDQALQQAhAQVBACEBCwVBACEBQQAhAAsLIAAQ8QQgAyQGIAEL8QUBA38gAEUgAUVyBEBBfw8LIAAQ7wICQCAAQZACaiIEKAIAIgMEfwNAIAMgARDaAkUEQCADKAIQIgUEQCAFIQMMAgUMBAsACwsCQAJAAkACQCACDgIBAAILIANBCGoiAiABKwMIIAIrAwCgOQMADAILIAMgASsDCDkDCAwBCyAAQQhqIgIoAgBBf2ohASACIAE2AgAgAQRAQX8PCyAAKAKgASIBQQRqIgIoAgAiAEEATARAQX8PCyACQQA2AgAgASgCACIBQQhqIgIoAgAaIAIgAigCACAAajYCACABQQxqIgIoAgAgAGohACACIAA2AgAgACABKAIEIgFIBEBBfw8LIAIgACABazYCAEF/DwsgAEEIaiICKAIAQX9qIQEgAiABNgIAIAEEQEEADwsgACgCoAEiAUEEaiICKAIAIgBBAEwEQEEADwsgAkEANgIAIAEoAgAiAUEIaiICKAIAGiACIAIoAgAgAGo2AgAgAUEMaiICKAIAIABqIQAgAiAANgIAIAAgASgCBCIBSARAQQAPCyACIAAgAWs2AgBBAA8FQQALIQMLENsCIgIEfyACIAEQzAIgAkEANgIQIANBEGohASADBH8gAQUgBAsgAjYCACAAQQhqIgIoAgBBf2ohASACIAE2AgAgAQRAQQAPCyAAKAKgASIBQQRqIgIoAgAiAEEATARAQQAPCyACQQA2AgAgASgCACIBQQhqIgIoAgAaIAIgAigCACAAajYCACABQQxqIgIoAgAgAGohACACIAA2AgAgACABKAIEIgFIBEBBAA8LIAIgACABazYCAEEABSAAQQhqIgIoAgBBf2ohASACIAE2AgAgAQRAQX8PCyAAKAKgASIBQQRqIgIoAgAiAEEATARAQX8PCyACQQA2AgAgASgCACIBQQhqIgIoAgAaIAIgAigCACAAajYCACABQQxqIgIoAgAgAGohACACIAA2AgAgACABKAIEIgFIBEBBfw8LIAIgACABazYC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AgAaIAIgAigCACAAajYCACABQQxqIgIoAgAgAGohACACIAA2AgAgACABKAIEIgFIBEBBAA8LIAIgACABazYCAEEABSAAQQhqIgIoAgBBf2ohASACIAE2AgAgAQRAQX8PCyAAKAKgASIBQQRqIgIoAgAiAEEATARAQX8PCyACQQA2AgAgASgCACIBQQhqIgIoAgAaIAIgAigCACAAajYCACABQQxqIgIoAgAgAGohACACIAA2AgAgACABKAIEIgFIBEBBfw8LIAIgACABazYCAEF/Cwu8AQEEfyAAQQBHIAFBf0pxRQRAQX8PCyAAEO8CIAAoAjAhBSAAQQhqIgMoAgBBf2ohAiADIAI2AgAgAkUEQCAAKAKgASIDQQRqIgQoAgAiAkEASgRAIARBADYCACADKAIAIgNBCGoiBCgCABogBCAEKAIAIAJqNgIAIANBDGoiBCgCACACaiECIAQgAjYCACACIAMoAgQiA04EQCAEIAIgA2s2AgALCwsgBSABTARAQX8PCyAAIAFBgAEQkgMLqQUAIAFBf0ogAEUgAkUgA0VyIARFcnJBAXNxRQRAQX8PCyAAEO8CIAAoAjAgAUwEQCAAQQhqIgIoAgBBf2ohASACIAE2AgAgAQRAQX8PCyAAKAKgASIBQQRqIgIoAgAiAEEATARAQX8PCyACQQA2AgAgASgCACIBQQhqIgIoAgAaIAIgAigCACAAajYCACABQQxqIgIoAgAgAGohACACIAA2AgAgACABKAIEIgFIBEBBfw8LIAIgACABazYCAEF/DwsgACgChAEgAUECdGooAgAiASgCCEEIcUUEQCAAQQhqIgIoAgBBf2ohASACIAE2AgAgAQRAQX8PCyAAKAKgASIBQQRqIgIoAgAiAEEATARAQX8PCyACQQA2AgAgASgCACIBQQhqIgIoAgAaIAIgAigCACAAajYCACABQQxqIgIoAgAgAGohACACIAA2AgAgACABKAIEIgFIBEBBfw8LIAIgACABazYCAEF/DwsgASACIAMgBBCWAiAEKAIAQYABRgR/IARBADYCACAAQQhqIgIoAgBBf2ohASACIAE2AgAgAQRAQQAPCyAAKAKgASIBQQRqIgIoAgAiAEEATARAQQAPCyACQQA2AgAgASgCACIBQQhqIgIoAgAaIAIgAigCACAAajYCACABQQxqIgIoAgAg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IAIoAgAiAkEIaiIDKAIAGiADIAMoAgAgAGo2AgAgAkEMaiIDKAIAIABqIQAgAyAANgIAIAAgAigCBCICSARAIAEPCyADIAAgAms2AgAgAQuqAQEDfyAARQRAQQAPCyAAEO8CIAAoAngQSSEDIABBCGoiASgCAEF/aiECIAEgAjYCACACBEAgAw8LIAAoAqABIgJBBGoiASgCACIAQQBMBEAgAw8LIAFBADYCACACKAIAIgJBCGoiASgCABogASABKAIAIABqNgIAIAJBDGoiASgCACAAaiEAIAEgADYCACAAIAIoAgQiAkgEQCADDwsgASAAIAJrNgIAIAMLxgIBAn8gAEUEQEEADwsgABDvAiAAKAJ4IAEQRSIBBH8gASgCACEBIABBCGoiAygCAEF/aiECIAMgAjYCACACBEAgAQ8LIAAoAqABIgJBBGoiAygCACIAQQBMBEAgAQ8LIANBADYCACACKAIAIgJBCGoiAygCABogAyADKAIAIABqNgIAIAJBDGoiAygCACAAaiEAIAMgADYCACAAIAIoAgQiAkgEQCABDwsgAyAAIAJrNgIAIAEFIABBCGoiAigCAEF/aiEBIAIgATYCACABBEBBAA8LIAAoAqABIgFBBGoiAigCACIAQQBMBEBBAA8LIAJBADYCACABKAIAIgFBCGoiAigCABogAiACKAIAIABqNgIAIAFBDGoiAigCACAAaiEAIAIgADYCACAAIAEoAgQiAUgEQEEADwsgAiAAIAFrNgIAQQALC80BAQN/IABFBEBBAA8LIAAQ7wICQCAAKAJ4IgIEQANAIAIoAgAiAxCkASABRg0CIAIoAgQiAg0AQQAhAwsLCyAAQQhqIgEoAgBBf2ohAiABIAI2AgAgAgRAIAMPCyAAKAKgASIBQQRqIgAoAgAiBEEATARAIAMPCyAAQQA2AgAgASgCACICQQhqIgAoAgAaIAAgACgCACAEajYCACACQQxqIgEoAgAgBGohBCABIAQ2AgAgBCACKAIEIgBIBEAgAw8LIAEgBCAAazYCACADC9QBAQN/IABFIAFFcgRAQQAPCyAAEO8CAkAgACgCeCICBEADQCACKAIAIgMQpQEgARD+BEUNAiACKAIEIgINAEEAIQMLCwsgAEEIaiIBKAIAQX9qIQIgASACNgIAIAIEQCADDwsgACgCoAEiAUEEaiIA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AARAIAMkBiABDwsgAigCACICQQRqIgQoAgAiAEEATARAIAMkBiABDwsgBEEANgIAIAIoAgAiAkEIaiIEKAIAGiAEIAQoAgAgAGo2AgAgAkEMaiIEKAIAIABqIQAgBCAANgIAIAAgAigCBCICSARAIAMkBiABDwsgBCAAIAJrNgIAIAMkBiABC6kBAQN/IABFBEBBAA8LIAAQ7wIgACgCyAEhAyAAQQhqIgEoAgBBf2ohAiABIAI2AgAgAgRAIAMPCyAAKAKgASICQQRqIgEoAgAiAEEATARAIAMPCyABQQA2AgAgAigCACICQQhqIgEoAgAaIAEgASgCACAAajYCACACQQxqIgEoAgAgAGohACABIAA2AgAgACACKAIEIgJIBEAgAw8LIAEgACACazYCACADC7IBAgJ/AXwgAEUEQEQAAAAAAAAAAA8LIAAQ7wIgACsD0AEhAyAAQQhqIgEoAgBBf2ohAiABIAI2AgAgAgRAIAMPCyAAKAKgASICQQRqIgEoAgAiAEEATARAIAMPCyABQQA2AgAgAigCACICQQhqIgEoAgAaIAEgASgCACAAajYCACACQQxqIgEoAgAgAGohACABIAA2AgAgACACKAIEIgJIBEAgAw8LIAEgACACazYCACADC7IBAgJ/AXwgAEUEQEQAAAAAAAAAAA8LIAAQ7wIgACsD2AEhAyAAQQhqIgEoAgBBf2ohAiABIAI2AgAgAgRAIAMPCyAAKAKgASICQQRqIgEoAgAiAEEATARAIAMPCyABQQA2AgAgAigCACICQQhqIgEoAgAaIAEgASgCACAAajYCACACQQxqIgEoAgAgAGohACABIAA2AgAgACACKAIEIgJIBEAgAw8LIAEgACACazYCACADC7IBAgJ/AXwgAEUEQEQAAAAAAAAAAA8LIAAQ7wIgACsD4AEhAyAAQQhqIgEoAgBBf2ohAiABIAI2AgAgAgRAIAMPCyAAKAKgASICQQRqIgEoAgAiAEEATARAIAMPCyABQQA2AgAgAigCACICQQhqIgEoAgAaIAEgASgCACAAajYCACACQQxqIgEoAgAgAGohACABIAA2AgAgACACKAIEIgJIBEAgAw8LIAEgACACazYCACADC6kBAQN/IABFBEBBAA8LIAAQ7wIgACgC6AEhAyAAQQhqIgEoAgBBf2ohAiABIAI2AgAgAgRAIAMPCyAAKAKgASICQQRqIgEoAgAiAEEATARAIAMPCyABQQA2AgAgAigCACICQQhqIgEoAgAaIAEgASgCACAAajYCACACQQxqIgEoAgAgAGohACABIAA2AgAgACACKAIEIgJIBEAgAw8LIAEgACACazYCACADC9gGAQV/IwYhAyMGQRBqJAYgAEUEQCADJAZBfw8LIAMhBSAAEO8CIAFBf0gEQCAAQQhqIgIoAgBBf2ohASACIAE2AgAgAQRAIAMkBkF/DwsgACgCoAEiAUEEaiICKAIAIgBBAEwEQCADJAZBfw8LIAJBADYCACABKAIAIgFBCGoiAigCABogAiACKAIAIABqNgIAIAFBDGoiAigCACAAaiEAIAIgADYCACAAIAEoAgQiAUgEQCADJAZBfw8LIAIgACABazYCACADJAZBfw8LIAAoAjAiBiABTARAIABBCGoiAigCAEF/aiEBIAIgATYCACABBEAgAyQGQX8PCyAAKAKgASIBQQRqIgIoAgAiAEEATARAIAMkBkF/DwsgAkEANgIAIAEoAgAiAUEIaiICKAIAGiACIAIoAgAgAGo2AgAgAUEMaiICKAIAIABqIQAgAiAANgIAIAAgASgCBCIBSARAIAMkBkF/DwsgAiAAIAFrNgIAIAMkBkF/DwsgACgChAEiBygCACIERQRAQQFBzKoEIAUQcxogAEEIaiICKAIAQX9qIQEgAiABNgIAIAEEQCADJAZBfw8LIAAoAqABIgFBBGoiAigCACIAQQBMBEAgAyQGQX8PCyACQQA2AgAgASgCACIBQQhqIgIoAgAaIAIgAigCACAAajYCACABQQxqIgIoAgAgAGohACACIAA2AgAgACABKAIEIgFIBEAgAyQGQX8PCyACIAAgAWs2AgAgAyQGQX8PCwJAIAZBAEoEQCABQQBIBEAgBCACNgLAAiAGQQFGDQJBASEBA0AgByABQQJ0aigCACACNgLAAiABQQFqIgEgBkcNAAsMAgtBACEFA0AgBCgCBCABRgRAIAQgAjYCwAILIAVBAWoiBCAGRg0CIAQhBSAHIARBAnRqKAIAIQQMAAALAAsLIABBCGoiAigCAEF/aiEBIAIgATYCACABBEAgAyQGQQAPCyAAKAKgASIBQQRqIgIoAgAiAEEATARAIAMkBkEADwsgAkEANgIAIAEoAgAiAUEIaiICKAIAGiACIAIoAgAgAGo2AgAgAUEMaiICKAIAIABqIQAgAiAANgIAIAAgASgCBCIBSARAIAMkBkEADwsgAiAAIAFrNgIAIAMkBkEAC6gBAQN/IABFBEBBAA8LIAAQ7wIgACgCMCEDIABBCGoiASgCAEF/aiECIAEgAjYCACACBEAgAw8LIAAoAqABIgJBBGoiASgCACIAQQBMBEAgAw8LIAFBADYCACACKAIAIgJBCGoiASgCABogASABKAIAIABqNgIAIAJBDGoiASgCACAAaiEAIAEgADYCACAAIAIoAgQiAkgEQCADDwsgASAAIAJrNgIAIAMLqAEBA38gAEUEQEEADwsgABDvAiAAKAI4IQMgAEEIaiIBKAIAQX9qIQIgASACNgIAIAIEQCADDwsgACgCoAEiAkEEaiIBKAIAIgBBAEwEQCADDwsgAUEANgIAIAIoAgAiAkEIaiIBKAIAGiABIAEoAgAgAGo2AgAgAkEMaiIBKAIAIABqIQAgASAANgIAIAAgAigCBCICSARAIAMPCyABIAAgAms2AgAgAwuoAQEDfyAARQRAQQAPCyAAEO8CIAAoAjwhAyAAQQhqIgEoAgBBf2ohAiABIAI2AgAgAgRAIAMPCyAAKAKgASICQQRqIgEoAgAiAEEATARAIAMPCyABQQA2AgAgAigCACICQQhqIgEoAgAaIAEgASgCACAAajYCACACQQxqIgEoAgAgAGohACABIAA2AgAgACACKAIEIgJIBEAgAw8LIAEgACACazYCACADC6sBAQN/IABFBEBBAA8LIAAQ7wIgAEFAaygCACEDIABBCGoiASgCAEF/aiECIAEgAjYCACACBEAgAw8LIAAoAqABIgJBBGoiASgCACIAQQBMBEAgAw8LIAFBADYCACACKAIAIgJBCGoiASgCABogASABKAIAIABqNgIAIAJBDGoiASgCACAAaiEAIAEgADYCACAAIAIoAgQiAkgEQCADDwsgASAAIAJrNgIAIAMLqAEBA38gAEUEQEEADwsgABDvAiAAKAJEIQMgAEEIaiIBKAIAQX9qIQIgASACNgIAIAIEQCADDwsgACgCoAEiAkEEaiIBKAIAIgBBAEwEQCADDwsgAUEANgIAIAIoAgAiAkEIaiIBKAIAGiABIAEoAgAgAGo2AgAgAkEMaiIBKAIAIABqIQAgASAANgIAIAAgAigCBCICSARAIAMPCyABIAAgAms2AgAgAwsaACAARQRARAAAAAAAAAAADwsgACgC+AG+uwvtAQAgA0UgAEUgAiABckH/AEtycgRAQX8PCyAAEO8CIAMgASACEOsDIgMEQCAEBEAgAyAEEPEDCyAAIAMgASACIAUQgQMiAUF/RgRAIANBARDuAxpBfyEBCwVBfyEBCyAAQQhqIgMoAgBBf2ohAiADIAI2AgAgAgRAIAEPCyAAKAKgASICQQRqIgMoAgAiAEEATARAIAEPCyADQQA2AgAgAigCACICQQhqIgMoAgAaIAMgAygCACAAajYCACACQQxqIgMoAgAgAGohACADIAA2AgAgACACKAIEIgJIBEAgAQ8LIAMgACACazYCACABC9UDAQR/IABBAEcgAUF/SnFFBEBBfw8LIAAQ7wIgACgCMCABTARAIABBCGoiAigCAEF/aiEBIAIgATYCACABBEBBfw8LIAAoAqABIgFBBGoiAigCACIAQQBMBEBBfw8LIAJBADYCACABKAIAIgFBCGoiAigCABogAiACKAIAIABqNgIAIAFBDGoiAigCACAAaiEAIAIgADYCACAAIAEoAgQiAUgEQEF/DwsgAiAAIAFrNgIAQX8PCyAAKAKEASABQQJ0aigCACIEQdQCaiIBKAIAIQMgAUEANgIAIAIEQCAAQRRqIgUoAgBBAEoEQCAAQYwBaiEGQQAhAQNAIAYoAgAgAUECdGooAgAiAhCOBARAIAIoAgggBEYEQCACEIEEIAJBOxD/AwsLIAFBAWoiASAFKAIASA0ACwsLIAMEQCADQQEQ7gMaCyAAQQhqIgIoAgBBf2ohASACIAE2AgAgAQRAQQAPCyAAKAKgASIBQQRqIgIoAgAiAEEATARAQQAPCyACQQA2AgAgASgCACIBQQhqIgIoAgAaIAIgAigCACAAajYCACABQQxqIgIoAgAgAGohACACIAA2AgAgACABKAIEIgFIBEBBAA8LIAIgACABazYCAEEAC6IBAQJ/IABFBEAPCyAAEO8CIAAoAoACQQA2AgAgAEEIaiIBKAIAQX9qIQIgASACNgIAIAIEQA8LIAAoAqABIgJBBGoiASgCACIAQQBMBEAPCyABQQA2AgAgAigCACICQQhqIgEoAgAaIAEgASgCACAAajYCACACQQxqIgEoAgAgAGohACABIAA2AgAgACACKAIEIgJIBEAPCyABIAAgAms2AgALiQUBBX8gAEUgAUVyIAJFcgRAQQAPCyAAEO8CIAAoAoACIgUoAgAhAyAAKAL8ASIGRQRAIABBCGoiAigCAEF/aiEBIAIgATYCACABBEBBAA8LIAAoAqABIgFBBGoiAigCACIAQQBMBEBBAA8LIAJBADYCACABKAIAIgFBCGoiAigCABogAiACKAIAIABqNgIAIAFBDGoiAigCACAAaiEAIAIgADYCACAAIAEoAgQiAUgEQEEADwsgAiAAIAFrNgIAQQAPCwJAIANBCHZB/wFxIgRBgAFJBEAgA0H/AXEhAwNAAkAgBiAEQQJ0aigCACIHQQBHIANBgAFJcQRAA0AgByADQQJ0aigCAA0CIANBAWoiA0GAAUkNAAsLIARB/wBPDQMgBEEBaiEEQQAhAwwBCwsgASAENgIAIAIgAzYCACAEQQh0IgFBgAJqIQIgA0EBaiABciEBIAUgA0H/AEkEfyABBSACCzYCACAAQQhqIgIoAgBBf2ohASACIAE2AgAgAQRAQQEPCyAAKAKgASIBQQRqIgIoAgAiAEEATARAQQEPCyACQQA2AgAgASgCACIBQQhqIgIoAgAaIAIgAigCACAAajYCACABQQxqIgIoAgAgAGohACACIAA2AgAgACABKAIEIgFIBEBBAQ8LIAIgACABazYCAEEBDwsLIABBCGoiAigCAEF/aiEBIAIgATYCACABBEBBAA8LIAAoAqABIgFBBGoiAigCACIAQQBMBEBBAA8LIAJBADYCACABKAIAIgFBCGoiAigCABogAiACKAIAIABqNgIAIAFBDGoiAigCACAAaiEAIAIgADYCACAAIAEoAgQiAUgEQEEADwsgAiAAIAFrNgIAQQALDwAgAAR/IAAoAgwFQQALCw0AIAAgASACIAMQ1AML1QMCBH8BfCABQX9KIABBAEcgAkE/SXFxRQRAQX8PCyAAEO8CIAAoAjAgAUwEQCAAQQhqIgIoAgBBf2ohASACIAE2AgAgAQRAQX8PCyAAKAKgASIBQQRqIgIoAgAiAEEATARAQX8PCyACQQA2AgAgASgCACIBQQhqIgIoAgAaIAIgAigCACAAajYCACABQQxqIgIoAgAgAGohACACIAA2AgAgACABKAIEIgFIBEBBfw8LIAIgACABazYCAEF/DwsgACgChAEgAUECdGooAgAiBEHoAmogAkEDdGogA7siCLa7Igg5AwAgBEHgBmogAmpBADoAACAAQRRqIgUoAgBBAEoEQCAAQYwBaiEGQQAhBANAIAYoAgAgBEECdGooAgAiBxCPBCABRgRAIAcgAiAIQQAQkwQaCyAEQQFqIgQgBSgCAEgNAAsLIABBCGoiAigCAEF/aiEBIAIgATYCACABBEBBAA8LIAAoAqABIgFBBGoiAigCACIAQQBMBEBBAA8LIAJBADYCACABKAIAIgFBCGoiAigCABogAiACKAIAIABqNgIAIAFBDGoiAigCACAAaiEAIAIgADYCACAAIAEoAgQiAUgEQEEADwsgAiAAIAFrNgIAQQAL+QIBAX0gAUF/SiAAQQBHIAJBP0lxcUUEQEMAAIC/DwsgABDvAiAAKAIwIAFKBH0gACgChAEgAUECdGooAgBB6AJqIAJBA3RqKwMAtiEDIABBCGoiAigCAEF/aiEBIAIgATYCACABBEAgAw8LIAAoAqABIgFBBGoiAigCACIAQQBMBEAgAw8LIAJBADYCACABKAIAIgFBCGoiAigCABogAiACKAIAIABqNgIAIAFBDGoiAigCACAAaiEAIAIgADYCACAAIAEoAgQiAUgEQCADDwsgAiAAIAFrNgIAIAMFIABBCGoiAigCAEF/aiEBIAIgATYCACABBEBDAACAvw8LIAAoAqABIgFBBGoiAigCACIAQQBMBEBDAACAvw8LIAJBADYCACABKAIAIgFBCGoiAigCABogAiACKAIAIABqNgIAIAFBDGoiAigCACAAaiEAIAIgADYCACAAIAEoAgQiAUgEQEMAAIC/DwsgAiAAIAFrNgIAQwAAgL8LC/ADAQJ/IAEQmgQhAiABEJwEIQMCQAJAAkACQAJAAkACQAJAAkACQAJAIAJBAWsO/wEJCgoKCQoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgkKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKAQoKCgoKCgoKCgoKCgoKCgAKCgoKCgoKCgoKCgoKCgoFCgoKCgoKCgoKCgoKCgoKAgoKCgoKCgoKCgoKCgoKCgMKCgoKCgoKCgoKCgoKCgoECgoKCgoKCgoKCgoKCgoKBgoKCgoKCgoKCgoKCgoKCggKCgoKCgoKCgoKCgoKCgcKCyABEL0CIQIgARCfBCEBIAAgAyACIAEQ+QIPCyABEL0CIQEgACADIAEQ+wIPCyABEL0CIQIgARCfBCEBIAAgAyACIAEQ/QIPCyABEL0CIQEgACADIAEQkgMPCyABEL0CIQEgACADIAEQiwMPCyABEL0CIQIgARCfBCEBIAAgAyACIAEQjAMPCyABEL0CIQEgACADIAEQjQMPCyAAEIkDDwsgACABKAIEIAEoAgxBAEEAQQBBABCDAw8LQQAPC0F/C/0CACAEQX9KIABBAEcgAkEARyAFQYABSXEgBkF/akH/AElxcXFFBEBBfw8LIAAQ7wIgACgCMCAESgR/IAAgATYCmAEgAiAAIAQgBSAGIAIoAhhBD3FB4ABqEQgAIQEgAEEIaiIDKAIAQX9qIQIgAyACNgIAIAIEQCABDwsgACgCoAEiAkEEaiIDKAIAIgBBAEwEQCABDwsgA0EANgIAIAIoAgAiAkEIaiIDKAIAGiADIAMoAgAgAGo2AgAgAkEMaiIDKAIAIABqIQAgAyAANgIAIAAgAigCBCICSARAIAEPCyADIAAgAms2AgAgAQUgAEEIaiICKAIAQX9qIQEgAiABNgIAIAEEQEF/DwsgACgCoAEiAUEEaiICKAIAIgBBAEwEQEF/DwsgAkEANgIAIAEoAgAiAUEIaiICKAIAGiACIAIoAgAgAGo2AgAgAUEMaiICKAIAIABqIQAgAiAANgIAIAAgASgCBCIBSARAQX8PCyACIAAgAWs2AgBBfwsL8QEBBH8gAEUEQEF/DwsgABDvAiAAQRRqIgUoAgBBAEoEQCAAQYwBaiEDA0AgAygCACACQQJ0aigCACIEEI4EBEAgBBDvAyABRgRAIAQQhwQLCyACQQFqIgIgBSgCAEgNAAsLIABBCGoiASgCAEF/aiECIAEgAjYCACACBEBBAA8LIAAoAqABIgFBBGoiACgCACIDQQBMBEBBAA8LIABBADYCACABKAIAIgJBCGoiACgCABogACAAKAIAIANqNgIAIAJBDGoiASgCACADaiEDIAEgAzYCACADIAIoAgQiAEgEQEEADwsgASADIABrNgIAQQALqQMBBH8jBiEDIwZBEGokBiAARQRAIAMkBkF/DwsgAyEFIAAQ7wICQCAAKAJ4IgQEQANAIAQoAgAiBhCkASABRwRAIAQoAgQiBEUNAwwBCwsgBiACNgIMIABBCGoiAigCAEF/aiEBIAIgATYCACABBEAgAyQGQQAPCyAAKAKgASIBQQRqIgIoAgAiAEEATARAIAMkBkEADwsgAkEANgIAIAEoAgAiAUEIaiICKAIAGiACIAIoAgAgAGo2AgAgAUEMaiICKAIAIABqIQAgAiAANgIAIAAgASgCBCIBSARAIAMkBkEADwsgAiAAIAFrNgIAIAMkBkEADwsLIAUgATYCAEEBQZ+qBCAFEHMaIABBCGoiAigCAEF/aiEBIAIgATYCACABBEAgAyQGQX8PCyAAKAKgASIBQQRqIgIoAgAiAEEATARAIAMkBkF/DwsgAkEANgIAIAEoAgAiAUEIaiICKAIAGiACIAIoAgAgAGo2AgAgAUEMaiICKAIAIABqIQAgAiAANgIAIAAgASgCBCIBSARAIAMkBkF/DwsgAiAAIAFrNgIAIAMkBkF/C6kDAQR/IwYhBCMGQRBqJAYgAEUEQCAEJAZBAA8LIAQhAyAAEO8CAkAgACgCeCICBEADQCACKAIAIgUQpAEgAUcEQCACKAIEIgJFDQMMAQsLIAUoAgwhASAAQQhqIgMoAgBBf2ohAiADIAI2AgAgAgRAIAQkBiABDwsgACgCoAEiAkEEaiIDKAIAIgBBAEwEQCAEJAYgAQ8LIANBADYCACACKAIAIgJBCGoiAygCABogAyADKAIAIABqNgIAIAJBDGoiAygCACAAaiEAIAMgADYCACAAIAIoAgQiAkgEQCAEJAYgAQ8LIAMgACACazYCACAEJAYgAQ8LCyADIAE2AgBBAUGfqgQgAxBzGiAAQQhqIgIoAgBBf2ohASACIAE2AgAgAQRAIAQkBkEADwsgACgCoAEiAUEEaiICKAIAIgBBAEwEQCAEJAZBAA8LIAJBADYCACABKAIAIgFBCGoiAigCABogAiACKAIAIABqNgIAIAFBDGoiAigCACAAaiEAIAIgADYCACAAIAEoAgQiAUgEQCAEJAZBAA8LIAIgACABazYCACAEJAZBAAveAgAgAUF/SiAAQQBHIAJBAklxcUUEQEF/DwsgABDvAiAAKAIwIAFKBH8gACgChAEgAUECdGooAgAgAjYCvAIgAEEIaiICKAIAQX9qIQEgAiABNgIAIAEEQEEADwsgACgCoAEiAUEEaiICKAIAIgBBAEwEQEEADwsgAkEANgIAIAEoAgAiAUEIaiICKAIAGiACIAIoAgAgAGo2AgAgAUEMaiICKAIAIABqIQAgAiAANgIAIAAgASgCBCIBSARAQQAPCyACIAAgAWs2AgBBAAUgAEEIaiICKAIAQX9qIQEgAiABNgIAIAEEQEF/DwsgACgCoAEiAUEEaiICKAIAIgBBAEwEQEF/DwsgAkEANgIAIAEoAgAiAUEIaiICKAIAGiACIAIoAgAgAGo2AgAgAUEMaiICKAIAIABqIQAgAiAANgIAIAAgASgCBCIBSARAQX8PCyACIAAgAWs2AgBBfwsLEAAgAAR/IAAoApQCBUEACwv5AQEDfyAAQQBHIAFBA0lxRQRAQX8PCyAAEO8CIAAgATYCmAIgACACNgKcAiAAQRRqIgQoAgBBAEoEQCAAQYwBaiEFA0AgBSgCACADQQJ0aigCACABIAIQlwQgA0EBaiIDIAQoAgBIDQALCyAAQQhqIgEoAgBBf2ohAiABIAI2AgAgAgRAQQAPCyAAKAKgASIBQQRqIgAoAgAiA0EATARAQQAPCyAAQQA2AgAgASgCACICQQhqIgAoAgAaIAAgACgCACADajYCACACQQxqIgEoAgAgA2ohAyABIAM2AgAgAyACKAIEIgBIBEBBAA8LIAEgAyAAazYCAEEAC90CACABQX9KIABBAEcgAkECSXFxRQRAQX8PCyAAEO8CIAAoAjAgAUoEfyAAKAKEASABQQJ0aigCACACNgI0IABBCGoiAigCAEF/aiEBIAIgATYCACABBEBBAA8LIAAoAqABIgFBBGoiAigCACIAQQBMBEBBAA8LIAJBADYCACABKAIAIgFBCGoiAigCABogAiACKAIAIABqNgIAIAFBDGoiAigCACAAaiEAIAIgADYCACAAIAEoAgQiAUgEQEEADwsgAiAAIAFrNgIAQQAFIABBCGoiAigCAEF/aiEBIAIgATYCACABBEBBfw8LIAAoAqABIgFBBGoiAigCACIAQQBMBEBBfw8LIAJBADYCACABKAIAIgFBCGoiAigCABogAiACKAIAIABqNgIAIAFBDGoiAigCACAAaiEAIAIgADYCACAAIAEoAgQiAUgEQEF/DwsgAiAAIAFrNgIAQX8LC+ACACABQX9KIABBAEcgAkEAR3FxRQRAQX8PCyAAEO8CIAAoAjAgAUoEfyACIAAoAoQBIAFBAnRqKAIAKAI0NgIAIABBCGoiAigCAEF/aiEBIAIgATYCACABBEBBAA8LIAAoAqABIgFBBGoiAigCACIAQQBMBEBBAA8LIAJBADYCACABKAIAIgFBCGoiAigCABogAiACKAIAIABqNgIAIAFBDGoiAigCACAAaiEAIAIgADYCACAAIAEoAgQiAUgEQEEADwsgAiAAIAFrNgIAQQAFIABBCGoiAigCAEF/aiEBIAIgATYCACABBEBBfw8LIAAoAqABIgFBBGoiAigCACIAQQBMBEBBfw8LIAJBADYCACABKAIAIgFBCGoiAigCABogAiACKAIAIABqNgIAIAFBDGoiAigCACAAaiEAIAIgADYCACAAIAEoAgQiAUgEQEF/DwsgAiAAIAFrNgIAQX8LC90CACABQX9KIABBAEcgAkEDSXFxRQRAQX8PCyAAEO8CIAAoAjAgAUoEfyAAKAKEASABQQJ0aigCACACNgI4IABBCGoiAigCAEF/aiEBIAIgATYCACABBEBBAA8LIAAoAqABIgFBBGoiAigCACIAQQBMBEBBAA8LIAJBADYCACABKAIAIgFBCGoiAigCABogAiACKAIAIABqNgIAIAFBDGoiAigCACAAaiEAIAIgADYCACAAIAEoAgQiAUgEQEEADwsgAiAAIAFrNgIAQQAFIABBCGoiAigCAEF/aiEBIAIgATYCACABBEBBfw8LIAAoAqABIgFBBGoiAigCACIAQQBMBEBBfw8LIAJBADYCACABKAIAIgFBCGoiAigCABogAiACKAIAIABqNgIAIAFBDGoiAigCACAAaiEAIAIgADYCACAAIAEoAgQiAUgEQEF/DwsgAiAAIAFrNgIAQX8LC+ACACABQX9KIABBAEcgAkEAR3FxRQRAQX8PCyAAEO8CIAAoAjAgAUoEfyACIAAoAoQBIAFBAnRqKAIAKAI4NgIAIABBCGoiAigCAEF/aiEBIAIgATYCACABBEBBAA8LIAAoAqABIgFBBGoiAigCACIAQQBMBEBBAA8LIAJBADYCACABKAIAIgFBCGoiAigCABogAiACKAIAIABqNgIAIAFBDGoiAigCACAAaiEAIAIgADYCACAAIAEoAgQiAUgEQEEADwsgAiAAIAFrNgIAQQAFIABBCGoiAigCAEF/aiEBIAIgATYCACABBEBBfw8LIAAoAqABIgFBBGoiAigCACIAQQBMBEBBfw8LIAJBADYCACABKAIAIgFBCGoiAigCABogAiACKAIAIABqNgIAIAFBDGoiAigCACAAaiEAIAIgADYCACAAIAEoAgQiAUgEQEF/DwsgAiAAIAFrNgIAQX8LC+oCACAAQQBHIAFBf0pxRQRAQX8PCyAAEO8CIAAoAjAgAUoEfyAAKAKEASABQQJ0aigCAEEIaiIBIAEoAgBBj39xIAJB8ABxcjYCACAAQQhqIgIoAgBBf2ohASACIAE2AgAgAQRAQQAPCyAAKAKgASIBQQRqIgIoAgAiAEEATARAQQAPCyACQQA2AgAgASgCACIBQQhqIgIoAgAaIAIgAigCACAAajYCACABQQxqIgIoAgAgAGohACACIAA2AgAgACABKAIEIgFIBEBBAA8LIAIgACABazYCAEEABSAAQQhqIgIoAgBBf2ohASACIAE2AgAgAQRAQX8PCyAAKAKgASIBQQRqIgIoAgAiAEEATARAQX8PCyACQQA2AgAgASgCACIBQQhqIgIoAgAaIAIgAigCACAAajYCACABQQxqIgIoAgAgAGohACACIAA2AgAgACABKAIEIgFIBEBBfw8LIAIgACABazYCAEF/CwvkAgAgAUF/SiAAQQBHIAJBAEdxcUUEQEF/DwsgABDvAiAAKAIwIAFKBH8gAiAAKAKEASABQQJ0aigCACgCCEHwAHE2AgAgAEEIaiICKAIAQX9qIQEgAiABNgIAIAEEQEEADwsgACgCoAEiAUEEaiICKAIAIgBBAEwEQEEADwsgAkEANgIAIAEoAgAiAUEIaiICKAIAGiACIAIoAgAgAGo2AgAgAUEMaiICKAIAIABqIQAgAiAANgIAIAAgASgCBCIBSARAQQAPCyACIAAgAWs2AgBBAAUgAEEIaiICKAIAQX9qIQEgAiABNgIAIAEEQEF/DwsgACgCoAEiAUEEaiICKAIAIgBBAEwEQEF/DwsgAkEANgIAIAEoAgAiAUEIaiICKAIAGiACIAIoAgAgAGo2AgAgAUEMaiICKAIAIABqIQAgAiAANgIAIAAgASgCBCIBSARAQX8PCyACIAAgAWs2AgBBfwsLxAYBBX8gAEEARyECIAFBAEgEQCACRQRAQX8PCyAAEO8CIAAoAjAiAkEASgRAIAAoAoQBIQNBACEBA0AgAyABQQJ0aigCACIEQQhqIgUgBSgCAEFwcTYCACAEQQA2AgwgAUEBaiIBIAJHDQALCyAAQQhqIgIoAgBBf2ohASACIAE2AgAgAQRAQQAPCyAAKAKgASIBQQRqIgIoAgAiAEEATARAQQAPCyACQQA2AgAgASgCACIBQQhqIgIoAgAaIAIgAigCACAAajYCACABQQxqIgIoAgAgAGohACACIAA2AgAgACABKAIEIgFIBEBBAA8LIAIgACABazYCAEEADwsgAkUEQEF/DwsgABDvAiAAKAIwIAFMBEAgAEEIaiICKAIAQX9qIQEgAiABNgIAIAEEQEF/DwsgACgCoAEiAUEEaiICKAIAIgBBAEwEQEF/DwsgAkEANgIAIAEoAgAiAUEIaiICKAIAGiACIAIoAgAgAGo2AgAgAUEMaiICKAIAIABqIQAgAiAANgIAIAAgASgCBCIBSARAQX8PCyACIAAgAWs2AgBBfw8LIAAoAoQBIgQgAUECdGooAgAiAigCCCIFQQRxRQRAIABBCGoiAigCAEF/aiEBIAIgATYCACABBEBBfw8LIAAoAqABIgFBBGoiAigCACIAQQBMBEBBfw8LIAJBADYCACABKAIAIgFBCGoiAigCABogAiACKAIAIABqNgIAIAFBDGoiAigCACAAaiEAIAIgADYCACAAIAEoAgQiAUgEQEF/DwsgAiAAIAFrNgIAQX8PCyACKAIMIgYgAWohAyAGQQBKBEAgAiAFQXBxNgIIIAJBADYCDCABQQFqIgEgA0gEQANAIAQgAUECdGooAgAiAiACKAIIQXBxNgIIIAJBADYCDCABQQFqIgEgA0gNAAsLCyAAQQhqIgIoAgBBf2ohASACIAE2AgAgAQRAQQAPCyAAKAKgASIBQQRqIgIoAgAiAEEATARAQQAPCyACQQA2AgAgASgCACIBQQhqIgIoAgAaIAIgAigCACAAajYCACABQQxqIgIoAgAgAGohACACIAA2AgAgACABKAIEIgFIBEBBAA8LIAIgACABazYCAEEAC/EDAQN/IABBAEcgAUF/SnFFBEBBfw8LIAAQ7wIgACgCMCABTARAIABBCGoiAigCAEF/aiEBIAIgATYCACABBEBBfw8LIAAoAqABIgFBBGoiAigCACIAQQBMBEBBfw8LIAJBADYCACABKAIAIgFBCGoiAigCABogAiACKAIAIABqNgIAIAFBDGoiAigCACAAaiEAIAIgADYCACAAIAEoAgQiAUgEQEF/DwsgAiAAIAFrNgIAQX8PCwJ/IAAoAoQBIgcgAUECdGooAgAiBigCCCIFQQhxBH8gBUEEcUUEQANAIAFBAEwEQEF/IQVBfyEBQX8MBAsgByABQX9qIgFBAnRqKAIAIgYoAghBBHFFDQALCyABQX9GBH9BfyEFQX8hAUF/BSAFQQNxIQUgBigCDAsFQX8hBUF/IQFBfwsLIQYgAgRAIAIgATYCAAsgAwRAIAMgBTYCAAsgBARAIAQgBjYCAAsgAEEIaiICKAIAQX9qIQEgAiABNgIAIAEEQEEADwsgACgCoAEiAUEEaiICKAIAIgBBAEwEQEEADwsgAkEANgIAIAEoAgAiAUEIaiICKAIAGiACIAIoAgAgAGo2AgAgAUEMaiICKAIAIABqIQAgAiAANgIAIAAgASgCBCIBSARAQQAPCyACIAAgAWs2AgBBAAudAgEDfyAAQYQBaiIFKAIAIAFBAnRqKAIAIgQgAkH/AXEgA0H/AXEQlwIgBCgCCCIGQcAAcQRAIAQsAD5FBEBBAA8LCyAGQYABcQRAIAAgASAELQASIAIgAxDnAw8LIAAgASAFKAIAIAFBAnRqKAIAIgUtADIQ+gIgBUGQAWoiBCwAACIGQX9GBH8CQCAFLQB9QT9KBEAgBSwAEiEEAkACQAJAIAUoAjhBAWsOAgABAgsgBSgCCEGAAXFFBEBBfyEECwwDCyAFKAIIQYABcQRAQX8hBAsLBUF/IQQLCyAEQf8BcQUgBEF/OgAAIAZB/wFxCyEEIAUoAgAgBDYCnAEgBSgC2AIiBCAAIAEgAiADIAQoAhhBD3FB4ABqEQgAC/0FAQl/IwYhCyMGQRBqJAYgCyEKIAAoAoQBIAFBAnRqKAIAIgYoAjQhByAGQZABaiIILAAAIglB/wFxIQUCQCAJQX9GBEACQCAGLQB9QT9KBEAgBigCOCEIIAJB/wFGBH8gBiwAEgUgAkH/AXELIQUCQAJAAkAgCEEBaw4CAAECCyAGKAIIQYABcUUEQEF/IQULDAMLIAYoAghBgAFxBEBBfyEFCwsFQX8hBQsLIAYoAgAgBUH/AXE2ApwBIAJB/wFGBEAgBigCCCICQQFxBEAgAkGAAXFFBEBB/wEhAgwECwUgAkGAAXFFIAYtAIABQcAASHIEQEH/ASECDAQLCyAGLQASIQILBSAIQX86AAAgBigCACAFNgKcASACQf8BRgRAIAUhAgsLCyACQRh0QRh1IQgCQCAAQRRqIgkoAgBBAEoEQCAAQYwBaiEMIABBnAFqIQ0CQAJAAkACQCAHDgIAAQILIAchAgNAAkAgDCgCACACQQJ0aigCACIFEI4EBEAgBRCPBCABRgRAIAUQkAQgCEYEQCAFKAIQIgcEQCAHIAMgBBCYAQRAIAUQhgQMBQsLIAUQhgQLCwsLIAJBAWoiAiAJKAIASA0ACwwCC0EAIQIDQAJAIAwoAgAgAkECdGooAgAiBRCOBARAIAUQjwQgAUYEQCAFEJAEIAhGBEAgBSgCECIHBEAgByADIAQQmAEEQCAFIAMgBBCFBCANKAIAIgpB/wFHBEAgBSAKIAMQgAQLIAdBAToAEAwFCwsgBRCGBAsLCwsgAkEBaiICIAkoAgBIDQALDAELQQAhAgNAAkAgDCgCACACQQJ0aigCACIFEI4EBEAgBRCPBCABRgRAIAUQkAQgCEYEQCAFKAIQIg0EQCANIAMgBBCYAQ0ECyAFEIYECwsLIAJBAWoiAiAJKAIASA0BDAQLCyAKIAc2AgBBAkHoqgQgChBzGiALJAZBfw8LCwsgBigC2AIiAiAAIAEgAyAEIAIoAhhBD3FB4ABqEQgAIQAgCyQGIAALxQEBA38gACABIAAoAoQBIAFBAnRqKAIAIgUtADIQ+gIgBUGQAWoiBCwAACIGQX9GBH8CQCAFLQB9QT9KBEAgBSwAEiEEAkACQAJAIAUoAjhBAWsOAgABAgsgBSgCCEGAAXFFBEBBfyEECwwDCyAFKAIIQYABcQRAQX8hBAsLBUF/IQQLCyAEQf8BcQUgBEF/OgAAIAZB/wFxCyEEIAUoAgAgBDYCnAEgBSgC2AIiBCAAIAEgAiADIAQoAhhBD3FB4ABqEQgAC8kBAQR/IwYhAyMGQRBqJAYgACgChAEgAUECdGooAgAiBCACQf8BcSADIgUQmAIiBkF/TARAIAAgASACQQAQ6gMhACADJAYgAA8LIAQgBiAFEJkCIAQoAggiBkHAAHEEQCAELAA+RQRAIAMkBkEADwsLIAZBgAFxRQRAIAAgASACQQEQ6gMhACADJAYgAA8LIAUoAgAiBUF/TARAIAMkBkEADwsgACABIAIgBCAFQQNsai0AFSAEIAVBA2xqLQAWEOcDIQAgAyQGIAAL+AUCDX8BfCMGIQcjBkFAayQGIAAoAoQBIAFBAnRqKAIAIQUgA0H/AXFFIgNFBEAgBUF/OgAyCyAAQRRqIgsoAgBBAEwEQCAHJAZBfw8LIAchBCAAQYwBaiEMIABBIGohDiAAQdAAaiEPIAMEQEF/IQBBACEDA0AgDCgCACADQQJ0aigCACIGEI4EBEAgBhCPBCABRgRAIAYQkAQgAkYEQCAOKAIABEAgCygCACIIQQBKBEAgDCgCACEJQQAhAEEAIQUDQAJAAkAgCSAFQQJ0aigCACIKQdAcaiwAAEUNAAJAAkACQCAKLAAEDgUAAQEBAAELDAELDAELDAELIABBAWohAAsgBUEBaiIFIAhIDQALBUEAIQALIAYQjwQhBSAGEJAEIQggBhDvAyEJEHkgDygCAGuzQwAAekSVuyERIAQgBTYCACAEIAg2AgQgBEEANgIIIAQgCTYCDCAEIBE5AxAgBCAANgIYQQNBiqsEIAQQcxoLIAYQhwRBACEACwsLIANBAWoiAyALKAIASA0ACyAHJAYgAA8LIAdBIGohBiACQf8BcSEIIAVBMmohCUF/IQBBACEDA0ACQCAMKAIAIANBAnRqKAIAIgQQjgQEQCAEEI8EIAFGBEAgBBCQBCACRgRAIA4oAgAEQCALKAIAIgpBAEoEQCAMKAIAIQ1BACEAQQAhBQNAAkACQCANIAVBAnRqKAIAIhBB0BxqLAAARQ0AAkACQAJAIBAsAAQOBQABAQEAAQsMAQsMAQsMAQsgAEEBaiEACyAFQQFqIgUgCkgNAAsFQQAhAAsgBBCPBCEFIAQQkAQhCiAEEO8DIQ0QeSAPKAIAa7NDAAB6RJW7IREgBiAFNgIAIAYgCjYCBCAGQQA2AgggBiANNgIMIAYgETkDECAGIAA2AhhBA0GKqwQgBhBzGgsgBBCHBCAEEIwERQRAIAQQjQRFBEBBACEADAULCyAJIAg6AABBACEACwsLCyADQQFqIgMgCygCAEgNAAsgByQGIAAL0AEBBH8jBiEEIwZBEGokBiAEQQhqIQUgBCEGQZgIEPAEIgNFBEBBAEGtvAQgBhBzGiAEJAZBAA8LIANBAEGYCBDMBRogAARAIAAQnwVBAWoQ8AQgABCjBSEAIAMgADYCACAARQRAQQFBrbwEIAUQcxogAxDxBCAEJAZBAA8LCyADIAE2AgQgAyACNgIIIANBEGohAUEAIQADQCABIABBA3RqIAC3RAAAAAAAAFlAojkDACAAQQFqIgBBgAFHDQALIANBkAhqQQE2AgAgBCQGIAMLuQEBBH8jBiEDIwZBEGokBiADQQhqIQQgAyECQZgIEPAEIgFFBEBBAEGtvAQgAhBzGiADJAZBAA8LIAFBAEGYCBDMBRogACgCACICBEAgAhCfBUEBahDwBCACEKMFIQIgASACNgIAIAJFBEBBAUGtvAQgBBBzGiABEPEEIAMkBkEADwsLIAEgACgCBDYCBCABIAAoAgg2AgggAUEQaiAAQRBqQYAIEMsFGiABQZAIakEBNgIAIAMkBiABCx4BAX8gAEUEQA8LIABBkAhqIgEgASgCAEEBajYCAAs/AQF/IABFBEBBAA8LIABBkAhqIgIoAgAaIAIgAigCACABayIBNgIAIAEEQEEADwsgACgCABDxBCAAEPEEQQELBwAgACgCAAs+AQF/A0AgAEEQaiACQQN0aiACt0QAAAAAAABZQKIgASACQQxwQQN0aisDAKA5AwAgAkEBaiICQYABRw0ACwstAQF/A0AgAEEQaiACQQN0aiABIAJBA3RqKwMAOQMAIAJBAWoiAkGAAUcNAAsLHAAgAUGAAU8EQA8LIABBEGogAUEDdGogAjkDAAukAgEJfyMGIQQjBkEQaiQGIARBCGohCSAEIQNB2BwQ8AQiAkUEQEEBQa28BCADEHMaIAQkBkEADwsgAkHQHGoiBkEBOgAAIAJB0RxqIgpBAToAAEGoCRDwBCEDIAJByBxqIgcgAzYCAEGoCRDwBCEFIAJBzBxqIgggBTYCACADRSAFRXIEf0EBQa28BCAJEHMaIAUQ8QQgAxDxBCACEPEEIAQkBkEABSACQQA6AAQgAkF/OgAFIAJBADoABiACQQA6AAcgAiAANgIMIAJBADYCCCACQQA2AhQgAkGAHGogATkDACACIAEQ9AMgBygCACEAIAYsAAAhAyAHIAgoAgA2AgAgBkEBOgAAIAggADYCACAKIAM6AAAgAiABEPQDIAQkBiACCwu8AwEHfyMGIQMjBkHgAGokBiADQTBqIQIgAEHIHGoiACgCAEEAQagJEMwFGiACQQQ2AgAgAkEIaiIFQX82AgAgAkEQaiIERAAAAAAAAPA/OQMAIAJBGGoiCEQAAAAAAAAAADkDACACQSBqIgZEAAAAAAAA8L85AwAgAkEoaiIHRAAAAAAAAABAOQMAIAAoAgBBCGogAhC+ASACQQY2AgAgBUF/NgIAIARCADcDACAEQgA3AwggBkQAAAAAAADwvzkDACAHRAAAAAAAAPA/OQMAIAAoAgBBCGogAhC+ASACQQQ2AgAgBUF/NgIAIAREAAAAAAAA8D85AwAgCEQAAAAAAAAAADkDACAGRAAAAAAAAPC/OQMAIAdEAAAAAAAAAEA5AwAgACgCAEGwAmogAhC+ASACQQY2AgAgBUF/NgIAIARCADcDACAEQgA3AwggBkQAAAAAAADwvzkDACAHRAAAAAAAAPA/OQMAIAAoAgBBsAJqIAIQvgEgA0EBNgIAIANBADYCCCAAKAIAQdAGaiADEMYBIANBADYCACAAKAIAQdgHaiADEMYBIAMgATkDACAAKAIAIAMQ1AEgAyQGC3QBAn8jBiEBIwZBEGokBiAARQRAIAEkBg8LIAEhAgJAAkAgAEHQHGosAABFDQAgAEHRHGosAABFDQAMAQsgAiAAKAIANgIAQQJBqKsEIAIQcxoLIABBzBxqKAIAEPEEIABByBxqKAIAEPEEIAAQ8QQgASQGC7IFAQd/IwYhDSMGQUBrJAYgDUEwaiEKIA0hCQJAIABB0BxqIg8sAABFBEAgAEHRHGoiDiwAACIMBEAgAEHIHGoiCigCACELIAogAEHMHGoiCigCADYCACAPIAw6AAAgCiALNgIAIA5BADoAAAwCC0EBQdSrBCAKEHMaIA0kBkF/DwsLIABBFGoiDigCAAR/IABBDGoiCygCAEEUIABByBxqIgooAgAgCRDtARogCgUgAEEMaiELIABByBxqIgoLIQwgACACNgIQIAAgBjYCACAAQQVqIgIgAygCBDoAACAAIAQ6AAYgACAFOgAHIAAgAzYCCCAAQQA2AhwgACAHNgIYIABB0hxqQQA6AAAgCygCAEEVIAooAgAgCRDtARogAUHgAGoiBCAEKAIAQQFqNgIAIAsoAgBBFiAKKAIAIAEQ7gEaIAQgBCgCAEEBajYCACAOIAE2AgAgCSADKALAAjYCACALKAIAQRcgCigCACAJEO0BGiAAQaAMaiADEMoCGiAJIABB6BlqKwMAqjYCACALKAIAQRggCigCACAJEO0BGiAAQaAcaiAIREivvJry13o+YwR8REivvJry13o+IggFIAgLOQMAIAkgCDkDACALKAIAQRkgCigCACAJEO0BGiADKAIAIgBBQGsoAgAgAi0AACAAKAJEb2wgACgCPEEBdGohACAJQQI2AgAgCSAANgIIIAsoAgBBGiAMKAIAQeAIaiAJEO0BGiAJQQM2AgAgCSAAQQFqNgIIIAsoAgBBGiAMKAIAQeAIaiAJEO0BGiACLQAAIAMoAgAoAjxvQQF0IQAgCUEANgIAIAkgADYCCCALKAIAQRogDCgCAEHgCGogCRDtARogCUEBNgIAIAkgAEEBcjYCCCALKAIAQRogDCgCAEHgCGogCRDtARogDSQGQQALKQEBfyMGIQEjBkEwaiQGIAAoAgxBFCAAQcgcaigCACABEO0BGiABJAYLnQEBBH8jBiEEIwZBMGokBiAEIQIgACwABEF/akEYdEEYdUH/AXFBA0gEQCAAQQxqIgMoAgBBFCAAQcgcaiIFKAIAIAIQ7QEaBSAAQcgcaiEFIABBDGohAwsgAEGAHGogATkDACACIAE5AwAgAygCAEEbIAUoAgAgAhDtARogAiABOQMAIAMoAgBBGyAAQcwcaigCACACEO0BGiAEJAYLIAEBfyAALAAEIgFBAUYEf0EBBSABQQFyQf8BcUEDRgsLYQEBfyMGIQMjBkEwaiQGIAAgAUEFdGpBqAxqIAK7OQMAIABBoAxqIAFBBXRqQQE6AAAgAUE2RwRAIAMkBg8LIAMgAqg2AgAgACgCDEEYIABByBxqKAIAIAMQ7QEaIAMkBgsvAQF/IAAgAUEFdGpBqAxqIgMgAysDACACu6A5AwAgAEGgDGogAUEFdGpBAToAAAsSACAAIAFBBXRqQagMaisDALYLOAAgAEHAGmosAABBAkYEfCAAQdgaaisDAAUgAEHIGmorAwAgAEHQGmorAwCgIABB2BpqKwMAoAsLkxECC38EfCMGIQYjBkEwaiQGIABBHGoiBygCAEEASgRAA0AgAEEgaiACQRhsaiIDIAAQ1wIhDCAAIAMtAABBBXRqQbAMaiIDIAwgAysDAKA5AwAgAkEBaiICIAcoAgBIDQALCyAGIQEgAEEAEP8DIABBARD/AyAAQQIQ/wMgAEEDEP8DIABBwA1qLAAAQQJGBHwgAEHYDWorAwAFIABByA1qKwMAIABB0A1qKwMAoCAAQdgNaisDAKALIgxEAAAAAABwx8BjIQIgDEQAAAAAAHDHQGQEQEQAAAAAAHDHQCEMCyABIAIEfEQAAAAAAHDHwAUgDAs5AwAgAEEMaiIEKAIAQRwgAEHIHGoiBSgCACABEO0BGiAAQeANaiwAAEECRgR8IABB+A1qKwMABSAAQegNaisDACAAQfANaisDAKAgAEH4DWorAwCgCyIMRAAAAAAAcMfAYyECIAxEAAAAAABwx0BkBEBEAAAAAABwx0AhDAsgASACBHxEAAAAAABwx8AFIAwLOQMAIAQoAgBBHSAFKAIAIAEQ7QEaIABBgA5qLAAAQQJGBHwgAEGYDmorAwAFIABBiA5qKwMAIABBkA5qKwMAoCAAQZgOaisDAKALIgxEAAAAAABwx8BjIQIgDEQAAAAAAHDHQGQEQEQAAAAAAHDHQCEMCyABIAIEfEQAAAAAAHDHwAUgDAs5AwAgBCgCAEEeIAUoAgAgARDtARogASAAQaAOaiwAAEECRgR8IABBuA5qKwMABSAAQagOaisDACAAQbAOaisDAKAgAEG4DmorAwCgCyIMOQMAIAQoAgBBHyAFKAIAQdAGaiABEO0BGiABIABBwA5qLAAAQQJGBHwgAEHYDmorAwAFIABByA5qKwMAIABB0A5qKwMAoCAAQdgOaisDAKALIgw5AwAgBCgCAEEgIAUoAgBB0AZqIAEQ7QEaIABB4A5qLAAAQQJGBHwgAEH4DmorAwAFIABB6A5qKwMAIABB8A5qKwMAoCAAQfgOaisDAKALIgxEAAAAAABwx8BjIQIgDEQAAAAAAHDHQGQEQEQAAAAAAHDHQCEMCyABIAIEfEQAAAAAAHDHwAUgDAs5AwAgBCgCAEEhIAUoAgAgARDtARogAEGAD2osAABBAkYEfCAAQZgPaisDAAUgAEGID2orAwAgAEGQD2orAwCgIABBmA9qKwMAoAsiDEQAAAAAAHDHwGMhAiAMRAAAAAAAcMdAZARARAAAAAAAcMdAIQwLIAEgAgR8RAAAAAAAcMfABSAMCzkDACAEKAIAQSIgBSgCACABEO0BGiAAQcAPaiwAAEECRgR8IABB2A9qKwMABSAAQcgPaisDACAAQdAPaisDAKAgAEHYD2orAwCgCyIMRAAAAAAAAI7AYyECIAxEAAAAAAAAjkBkBEBEAAAAAAAAjkAhDAsgASACBHxEAAAAAAAAjsAFIAwLOQMAIAQoAgBBIyAFKAIAIAEQ7QEaIABBDxD/AyAAQRAQ/wMgAEEREP8DIABBFRD/AyAAQRYQ/wMgAEEXEP8DIABBGBD/AyAAQRkQ/wMgAEEaEP8DIABBGxD/AyAAQRwQ/wMgAEEeEP8DIABBIRD/AyAAQSIQ/wMgAEEjEP8DIABBJBD/AyAAQSYQ/wMgAEGQHGoiCCAAQaAYaiwAAEECRgR8IABBuBhqKwMABSAAQagYaisDACAAQbAYaisDAKAgAEG4GGorAwCgCyIMOQMAIAxEAAAAAAAAAABjBEBEAAAAAAAAAAAhDAUgDEQAAAAAAICWQGQEQEQAAAAAAICWQCEMCwsgAEHgF2ohAiAIIAw5AwAgASAMOQMAIAQoAgBBJCAFKAIAIAEQ7QEaIABBOhD/AyAAQTsQ/wMgAEE8EP8DIAEgAEHAG2osAABBAkYEfCAAQdgbaisDAAUgAEHIG2orAwAgAEHQG2orAwCgIABB2BtqKwMAoAsiDDkDACAEKAIAQR8gBSgCAEHYB2ogARDtARogASAAQeAbaiwAAEECRgR8IABB+BtqKwMABSAAQegbaisDACAAQfAbaisDAKAgAEH4G2orAwCgCyIMOQMAIAQoAgBBICAFKAIAQdgHaiABEO0BGiAAQQhqIgkoAgAoAgAoApwBIgNB/wFHBEAgACADIAIsAABBAkYEfCAAQfgXaisDAAUgAEHoF2orAwAgAEHwF2orAwCgIABB+BdqKwMAoAsiDEQAAAAAAAAAAGYEfyAMqgUgAC0ABgsiAhCABAsgBygCACICQQBMBEAgASAIKwMARAAAAAAAAAAAoSIMRAAAAAAAAAAAYwR8RAAAAAAAAAAABSAMCzkDACAEKAIAQSUgBSgCACABEO0BGiAAQQE6AAQgCSgCACgCAEGQAWoiACgCAEEBaiECIAAgAjYCACAGJAYPC0EAIQNEAAAAAAAAAAAhDANAAkAgAEEgaiADQRhsaiIKLAAAQTBGBEACQCAAIANBGGxqQSJqIgssAABBEHFFBEAgACADQRhsaiwAJEEQcQ0BAkACQCAAIANBGGxqLAAhQQprDgUAAQEAAAELDAILAkACQAJAIAAgA0EYbGosACNBCmsOBQABAQAAAQsMAQsMBAsLCyAKIAAQ1wIhDyAAIANBGGxqKwMoIg2ZIQ4gDCAPAnwCQCAAIANBGGxqLAAhQQ5GDQAgCywAAEECcQ0AIA1EAAAAAAAAAABjIAAgA0EYbGosACRBAnFyDQBEAAAAAAAAAAAMAQsgDpoLIg6hoCENIA8gDmQEQCANIQwLIAcoAgAhAgsLIANBAWoiAyACSA0ACyABIAgrAwAgDKEiDEQAAAAAAAAAAGMEfEQAAAAAAAAAAAUgDAs5AwAgBCgCAEElIAUoAgAgARDtARogAEEBOgAEIAkoAgAoAgBBkAFqIgAoAgBBAWohAiAAIAI2AgAgBiQGC/kyAgV/BHwjBiEDIwZBMGokBiAAQaAMaiABQQV0aiwAAEECRgR8IAAgAUEFdGpBuAxqKwMABSAAIAFBBXRqQagMaisDACAAIAFBBXRqQbAMaisDAKAgACABQQV0akG4DGorAwCgCyEHIAMhAgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAQ4/FhcYGRYKERQGBwwVFwsiBAMAIiIiDQ4QDx8gIRMTEiETGhscHR0eHB0iIiIiGCIiASIZAgIiIiIiIgUCAAgJIgsgAEGoHGoiBCAAQcAQaiwAAEECRgR8IABB2BBqKwMABSAAQcgQaisDACAAQdAQaisDAKAgAEHYEGorAwCgCyIHOQMAIABBsBxqIgEgAEGgG2osAABBAkYEfCAAQbgbaisDAAUgAEGoG2orAwAgAEGwG2orAwCgIABBuBtqKwMAoAsiCDkDACACQQA2AgAgB0EBEDIhByABKwMAQQEQMyEIIAIgAEGgHGoiBSsDACAHIAiiokQAAAAAAACAPqI5AwggAEEMaiIGKAIAQSYgAEHIHGoiACgCAEHgCGogAhDtARogAkEBNgIAIAQrAwBBABAyIQcgASsDAEEAEDMhCCACIAUrAwAgByAIoqJEAAAAAAAAgD6iOQMIIAYoAgBBJiAAKAIAQeAIaiACEO0BGiADJAYPCyAAQZAcaiIBIAc5AwAgB0QAAAAAAAAAAGMEQEQAAAAAAAAAACEHBSAHRAAAAAAAgJZAZARARAAAAAAAgJZAIQcLCyABIAc5AwAgAiAHOQMAIAAoAgxBJCAAQcgcaigCACACEO0BGiADJAYPCyAAQYgcaiAAQYAbaiwAAEECRgR8IABBmBtqKwMABSAAQYgbaisDACAAQZAbaisDAKAgAEGYG2orAwCgCyIHIABBgBlqLAAAQQJGBHwgAEGYGWorAwAFIABBiBlqKwMAIABBkBlqKwMAoCAAQZgZaisDAKALIghEAAAAAAAAWUCioCAAQaAZaiwAAEECRgR8IABBuBlqKwMABSAAQagZaisDACAAQbAZaisDAKAgAEG4GWorAwCgCyIKoCIHOQMAIAIgBzkDACAAKAIMQScgAEHIHGooAgAgAhDtARogAyQGDwsgAEG4HGoiASAHRAAAAAAAQI9AoyIHOQMAIAdEAAAAAAAAAABjBEBEAAAAAAAAAAAhBwUgB0QAAAAAAADwP2QEQEQAAAAAAADwPyEHCwsgASAHOQMAIAJBAjYCACACIAcgAEGgHGorAwCiRAAAAAAAAIA+ojkDCCAAKAIMQSYgAEHIHGooAgBB4AhqIAIQ7QEaIAMkBg8LIABBwBxqIgEgB0QAAAAAAECPQKMiBzkDACAHRAAAAAAAAAAAYwRARAAAAAAAAAAAIQcFIAdEAAAAAAAA8D9kBEBEAAAAAAAA8D8hBwsLIAEgBzkDACACQQM2AgAgAiAHIABBoBxqKwMAokQAAAAAAACAPqI5AwggACgCDEEmIABByBxqKAIAQeAIaiACEO0BGiADJAYPCyAAQegaaisDACIHRAAAAAAAAPC/ZCEEIABBFGoiBSgCACIBBHwgAEGYHGogBAR8IAdEAAAAAAAAWUCiIAFBQGsoAgC3oQUgASgCPLJDAADIQpQgAUFAaygCALKTuwsiBzkDACAHECwgAEGAHGorAwAgBSgCACgCOLijogUgB0QAAAAAAABZQKIhByAAQZgcaiAEBHwgBwVEAAAAAAAAAAAiBws5AwAgBxAsCyEIIABB4BdqLAAAQQJGBHwgAEH4F2orAwAFIABB6BdqKwMAIABB8BdqKwMAoCAAQfgXaisDAKALIgdEAAAAAAAAAABmBH8gB6oFIAAtAAYLIQEgACgCCCgC1AIiBAR8IARBEGogAEGYHGorAwBEAAAAAAAAWUCjqkEDdGorAwAiCSEHIARBEGogAUEDdGorAwAgCaEhCSAAQagaaisDAEQAAAAAAABZQKMFIABBmBxqKwMAIgkhByABtyAJRAAAAAAAAFlAo6EhCSAAQagaaisDAAshCiAAQYgbaiAHIAogCaKgOQMAIAIgCDkDACAAKAIMQSggAEHIHGooAgAgAhDtARogAyQGDwsgAiAHOQMAIAAoAgxBHyAAQcgcaigCAEHQBmogAhDtARogAyQGDwsgAiAHOQMAIAAoAgxBICAAQcgcaigCAEHQBmogAhDtARogAyQGDwsgAiAHOQMAIAAoAgxBHyAAQcgcaigCAEHYB2ogAhDtARogAyQGDwsgAiAHOQMAIAAoAgxBICAAQcgcaigCAEHYB2ogAhDtARogAyQGDwsgB0QAAAAAAHDHwGMhASAHRAAAAAAAcMdAZARARAAAAAAAcMdAIQcLIAIgAQR8RAAAAAAAcMfABSAHCzkDACAAKAIMQRwgAEHIHGooAgAgAhDtARogAyQGDwsgB0QAAAAAAACOwGMhASAHRAAAAAAAAI5AZARARAAAAAAAAI5AIQcLIAIgAQR8RAAAAAAAAI7ABSAHCzkDACAAKAIMQSMgAEHIHGooAgAgAhDtARogAyQGDwsgB0QAAAAAAHDHwGMhASAHRAAAAAAAcMdAZARARAAAAAAAcMdAIQcLIAIgAQR8RAAAAAAAcMfABSAHCzkDACAAKAIMQSEgAEHIHGooAgAgAhDtARogAyQGDwsgB0QAAAAAAHDHwGMhASAHRAAAAAAAiLNAZARARAAAAAAAiLNAIQcLIABBgBxqKwMAIQggAQR8RAAAAAAAcMfABSAHCxAuIQcgAiAIIAeiqzYCACAAKAIMQSkgAEHIHGooAgBB6ARqIAIQ7QEaIAMkBg8LIAdEAAAAAABAz8BjIQEgB0QAAAAAAJSxQGQEQEQAAAAAAJSxQCEHCyABBHxEAAAAAABAz8AFIAcLEDFEAAAAAAAAcECiIQcgAiAHIABBgBxqKwMAozkDACAAKAIMQSogAEHIHGooAgBB6ARqIAIQ7QEaIAMkBg8LIAdEAAAAAABAz8BjIQEgB0QAAAAAAJSxQGQEQEQAAAAAAJSxQCEHCyABBHxEAAAAAABAz8AFIAcLEDFEAAAAAAAAcECiIQcgAiAHIABBgBxqKwMAozkDACAAKAIMQSogAEHIHGooAgBBmAVqIAIQ7QEaIAMkBg8LIAdEAAAAAABwx8BjIQEgB0QAAAAAAIizQGQEQEQAAAAAAIizQCEHCyAAQYAcaisDACEIIAEEfEQAAAAAAHDHwAUgBwsQLiEHIAIgCCAHoqs2AgAgACgCDEEpIABByBxqKAIAQZgFaiACEO0BGiADJAYPCyAHRAAAAAAAcMfAYyEBIAdEAAAAAABwx0BkBEBEAAAAAABwx0AhBwsgAiABBHxEAAAAAABwx8AFIAcLOQMAIAAoAgxBHSAAQcgcaigCACACEO0BGiADJAYPCyAHRAAAAAAAcMfAYyEBIAdEAAAAAABAv0BkBEBEAAAAAABAv0AhBwsgAEGAHGorAwAhCCABBHxEAAAAAABwx8AFIAcLEC8hByAIIAeiRAAAAAAAAJA/oqtBAWohASACQQU2AgAgAiABNgIIIAJEAAAAAAAA8D85AxAgAkMAAIC/IAGzlbs5AxggAkQAAAAAAAAAADkDICACRAAAAAAAAABAOQMoIAAoAgxBLyAAQcgcaigCAEGwAmogAhDtARogAyQGDwsgAEGgE2osAABBAkYEfCAAQbgTaisDAAUgAEGoE2orAwAgAEGwE2orAwCgIABBuBNqKwMAoAsiCCAAQaAUaiwAAEECRgR8IABBuBRqKwMABSAAQagUaisDACAAQbAUaisDAKAgAEG4FGorAwCgCyIKQTwgAEHgF2osAABBAkYEfCAAQfgXaisDAAUgAEHoF2orAwAgAEHwF2orAwCgIABB+BdqKwMAoAsiB0QAAAAAAAAAAGYEfyAHqgUgAC0ABgsiAWu3oqAiB0QAAAAAAEC/QGQEfEQAAAAAAEC/QCIHBSAHC0QAAAAAAHDHwGMEfEQAAAAAAHDHwAUgBwsQMCAAQYAcaisDAKJEAAAAAAAAkD+iRAAAAAAAAOA/oKohAUQAAAAAAADwPyAAQcATaiwAAEECRgR8IABB2BNqKwMABSAAQcgTaisDACAAQdATaisDAKAgAEHYE2orAwCgCyIHRAAAAOBNYlA/oqEiB0QAAAAAAAAAAGMhBCAHRAAAAAAAAPA/ZARARAAAAAAAAPA/IQcLIAQEQEQAAAAAAAAAACEHC0MAAIC/IAGzlbshCCACQQM2AgAgAiABNgIIIAJEAAAAAAAA8D85AxAgAiABBHwgCAVEAAAAAAAAAAALOQMYIAIgBzkDICACRAAAAAAAAABAOQMoIAAoAgxBLyAAQcgcaigCAEGwAmogAhDtARogAyQGDwsgB0QAAAAAAHDHwGMhASAHRAAAAAAAcMdAZARARAAAAAAAcMdAIQcLIAIgAQR8RAAAAAAAcMfABSAHCzkDACAAKAIMQR4gAEHIHGooAgAgAhDtARogAyQGDwsgB0QAAAAAAHDHwGMhASAHRAAAAAAAcMdAZARARAAAAAAAcMdAIQcLIAIgAQR8RAAAAAAAcMfABSAHCzkDACAAKAIMQSIgAEHIHGooAgAgAhDtARogAyQGDwsgACgCFCIBRQRAIAMkBg8LIAIgASgCKCAAQaAMaiwAAEECRgR8IABBuAxqKwMABSAAQagMaisDACAAQbAMaisDAKAgAEG4DGorAwCgCyIHqmogAEGgDWosAABBAkYEfCAAQbgNaisDAAUgAEGoDWorAwAgAEGwDWorAwCgIABBuA1qKwMAoAsiCKpBD3RqNgIAIAAoAgxBKyAAQcgcaigCACACEO0BGiADJAYPCyAAKAIUIgFFBEAgAyQGDwsgAiABKAIsIABBwAxqLAAAQQJGBHwgAEHYDGorAwAFIABByAxqKwMAIABB0AxqKwMAoCAAQdgMaisDAKALIgeqaiAAQaAPaiwAAEECRgR8IABBuA9qKwMABSAAQagPaisDACAAQbAPaisDAKAgAEG4D2orAwCgCyIIqkEPdGo2AgAgACgCDEEsIABByBxqKAIAIAIQ7QEaIAMkBg8LIAAoAhQiAUUEQCADJAYPCyACIAEoAjAgAEHgDGosAABBAkYEfCAAQfgMaisDAAUgAEHoDGorAwAgAEHwDGorAwCgIABB+AxqKwMAoAsiB6pqIABBwBdqLAAAQQJGBHwgAEHYF2orAwAFIABByBdqKwMAIABB0BdqKwMAoCAAQdgXaisDAKALIgiqQQ90ajYCACAAKAIMQS0gAEHIHGooAgAgAhDtARogAyQGDwsgACgCFCIBRQRAIAMkBg8LIAIgASgCNCAAQYANaiwAAEECRgR8IABBmA1qKwMABSAAQYgNaisDACAAQZANaisDAKAgAEGYDWorAwCgCyIHqmogAEHgGGosAABBAkYEfCAAQfgYaisDAAUgAEHoGGorAwAgAEHwGGorAwCgIABB+BhqKwMAoAsiCKpBD3RqNgIAIAAoAgxBLiAAQcgcaigCACACEO0BGiADJAYPCyAHRAAAAAAAcMfAYyEBIAdEAAAAAACIs0BkBEBEAAAAAACIs0AhBwsgAEGAHGorAwAhCCABBHxEAAAAAABwx8AFIAcLEC4hByAIIAeiRAAAAAAAAJA/oqshASACQQA2AgAgAiABNgIIIAJBEGoiAUIANwMAIAFCADcDCCACRAAAAAAAAPC/OQMgIAJEAAAAAAAA8D85AyggACgCDEEvIABByBxqKAIAQQhqIAIQ7QEaIAMkBg8LIAdEAAAAAABwx8BjIQEgB0QAAAAAAEC/QGQEQEQAAAAAAEC/QCEHCyAAQYAcaisDACEIIAEEfEQAAAAAAHDHwAUgBwsQLyEHIAggB6JEAAAAAAAAkD+iq0EBaiEBIAJBATYCACACIAE2AgggAkQAAAAAAADwPzkDECACQwAAgD8gAbOVuzkDGCACRAAAAAAAAPC/OQMgIAJEAAAAAAAA8D85AyggACgCDEEvIABByBxqKAIAQQhqIAIQ7QEaIAMkBg8LIABBgBVqLAAAQQJGBHwgAEGYFWorAwAFIABBiBVqKwMAIABBkBVqKwMAoCAAQZgVaisDAKALIgggAEGAFmosAABBAkYEfCAAQZgWaisDAAUgAEGIFmorAwAgAEGQFmorAwCgIABBmBZqKwMAoAsiCkE8IABB4BdqLAAAQQJGBHwgAEH4F2orAwAFIABB6BdqKwMAIABB8BdqKwMAoCAAQfgXaisDAKALIgdEAAAAAAAAAABmBH8gB6oFIAAtAAYLIgFrt6KgIgdEAAAAAACIs0BkBHxEAAAAAACIs0AiBwUgBwtEAAAAAAAA4MBlBH9BAAUgB0QAAAAAAHDHwGMEfEQAAAAAAHDHwAUgBwsQMCAAQYAcaisDAKJEAAAAAAAAkD+iRAAAAAAAAOA/oKoLIQEgAkECNgIAIAIgATYCCCACRAAAAAAAAPA/OQMQIAJEAAAAAAAAAAA5AxggAkQAAAAAAADwvzkDICACRAAAAAAAAABAOQMoIAAoAgxBLyAAQcgcaigCAEEIaiACEO0BGiADJAYPCyAAQcAVaiwAAEECRgR8IABB2BVqKwMABSAAQcgVaisDACAAQdAVaisDAKAgAEHYFWorAwCgCyEIIABBoBVqLAAAQQJGBHwgAEG4FWorAwAFIABBqBVqKwMAIABBsBVqKwMAoCAAQbgVaisDAKALIQogAEGgFmosAABBAkYEfCAAQbgWaisDAAUgAEGoFmorAwAgAEGwFmorAwCgIABBuBZqKwMAoAshCSAAQeAXaiwAAEECRgR8IABB+BdqKwMABSAAQegXaisDACAAQfAXaisDAKAgAEH4F2orAwCgCyIHRAAAAAAAAAAAZgR/IAeqBSAALQAGCyEBRAAAAAAAAPA/IAhEAAAA4E1iUD+ioSIHRAAAAAAAAAAAYyEEIAdEAAAAAAAA8D9kBEBEAAAAAAAA8D8hBwsgBARARAAAAAAAAAAAIQcLQwAAgL8gCiAJQTwgAWu3oqAiCEQAAAAAAEC/QGQEfEQAAAAAAEC/QCIIBSAIC0QAAAAAAHDHwGMEfEQAAAAAAHDHwAUgCAsQMCAAQYAcaisDAKJEAAAAAAAAkD+iRAAAAAAAAOA/oKoiAbOVuyEIIAJBAzYCACACIAE2AgggAkQAAAAAAADwPzkDECACIAEEfCAIBUQAAAAAAAAAAAs5AxggAiAHOQMgIAJEAAAAAAAAAEA5AyggACgCDEEvIABByBxqKAIAQQhqIAIQ7QEaIAMkBg8LIAdEAAAAAAAgvMBjIQEgB0QAAAAAAEC/QGQEQEQAAAAAAEC/QCEHCyAAQYAcaisDACEIIAEEfEQAAAAAACC8wAUgBwsQLyEHIAggB6JEAAAAAAAAkD+iq0EBaiEBIAJBBTYCACACIAE2AgggAkQAAAAAAADwPzkDECACQwAAgL8gAbOVuzkDGCACRAAAAAAAAAAAOQMgIAJEAAAAAAAA8D85AyggACgCDEEvIABByBxqKAIAQQhqIAIQ7QEaIAMkBg8LIAdEAAAAAABwx8BjIQEgB0QAAAAAAIizQGQEQEQAAAAAAIizQCEHCyAAQYAcaisDACEIIAEEfEQAAAAAAHDHwAUgBwsQLiEHIAggB6JEAAAAAAAAkD+iqyEBIAJBADYCACACIAE2AgggAkEQaiIBQgA3AwAgAUIANwMIIAJEAAAAAAAA8L85AyAgAkQAAAAAAADwPzkDKCAAKAIMQS8gAEHIHGooAgBBsAJqIAIQ7QEaIAMkBg8LIAdEAAAAAABwx8BjIQEgB0QAAAAAAEC/QGQEQEQAAAAAAEC/QCEHCyAAQYAcaisDACEIIAEEfEQAAAAAAHDHwAUgBwsQLyEHIAggB6JEAAAAAAAAkD+iq0EBaiEBIAJBATYCACACIAE2AgggAkQAAAAAAADwPzkDECACQwAAgD8gAbOVuzkDGCACRAAAAAAAAPC/OQMgIAJEAAAAAAAA8D85AyggACgCDEEvIABByBxqKAIAQbACaiACEO0BGiADJAYPCyAAQYATaiwAAEECRgR8IABBmBNqKwMABSAAQYgTaisDACAAQZATaisDAKAgAEGYE2orAwCgCyIIIABBgBRqLAAAQQJGBHwgAEGYFGorAwAFIABBiBRqKwMAIABBkBRqKwMAoCAAQZgUaisDAKALIgpBPCAAQeAXaiwAAEECRgR8IABB+BdqKwMABSAAQegXaisDACAAQfAXaisDAKAgAEH4F2orAwCgCyIHRAAAAAAAAAAAZgR/IAeqBSAALQAGCyIBa7eioCIHRAAAAAAAiLNAZAR8RAAAAAAAiLNAIgcFIAcLRAAAAAAAAODAZQR/QQAFIAdEAAAAAABwx8BjBHxEAAAAAABwx8AFIAcLEDAgAEGAHGorAwCiRAAAAAAAAJA/okQAAAAAAADgP6CqCyEBIAJBAjYCACACIAE2AgggAkQAAAAAAADwPzkDECACRAAAAAAAAAAAOQMYIAJEAAAAAAAA8L85AyAgAkQAAAAAAAAAQDkDKCAAKAIMQS8gAEHIHGooAgBBsAJqIAIQ7QEaIAMkBg8LIAMkBgugAgIDfwR8IwYhAyMGQTBqJAYgACgCCCIFKALUAiIEBHwgBEEQaiAAQZgcaisDAEQAAAAAAABZQKOqQQN0aisDACIGIABBqBpqKwMARAAAAAAAAFlAoyIIIARBEGogAUEDdGorAwAgBqGioCEJIAYhByAEQRBqIAJBA3RqKwMAIAahBSAAQZgcaisDACIHRAAAAAAAAFlAoyEGIAcgAEGoGmorAwAiCCABtyAGoaKgIQkgArcgBqELIQYgAyAAQYAcaisDAEQAAADgTWJQP6IgBS0AQUEHdCAFLQBhareiRAAAAAAAAJA/okQAAAAAAADgP6CrNgIAIAMgCSAHIAggBqKgoTkDCCAAKAIMQTAgAEHIHGooAgAgAxDtARogAyQGC+UBAgJ/AXwgAEHgF2osAABBAkYEfCAAQfgXaisDAAUgAEHoF2orAwAgAEHwF2orAwCgIABB+BdqKwMAoAsiA0QAAAAAAAAAAGYEfyADqgUgAC0ABgshASAAKAIIKALUAiICBEAgAEGIG2ogAkEQaiAAQZgcaisDAEQAAAAAAABZQKOqQQN0aisDACIDIABBqBpqKwMARAAAAAAAAFlAoyACQRBqIAFBA3RqKwMAIAOhoqA5AwAFIABBiBtqIABBmBxqKwMAIgMgAEGoGmorAwAgAbcgA0QAAAAAAABZQKOhoqA5AwALC1IBAXwgAEHgF2osAABBAkYEfCAAQfgXaisDAAUgAEHoF2orAwAgAEHwF2orAwCgIABB+BdqKwMAoAsiAUQAAAAAAAAAAGYEfyABqgUgAC0ABgsLwAECBX8CfCAAQRxqIgQoAgBBAEwEQEEADwsDQCAAQSBqIAVBGGxqIgMgASACEN0CBEAgAxDVAiEGIAQoAgBBAEoEQEEAIQNEAAAAAAAAAAAhCANAIABBIGogA0EYbGoiByAGEN4CBEAgByAAENcCIQkgCCAJoCEICyADQQFqIgMgBCgCAEgNAAsFRAAAAAAAAAAAIQgLIAAgBkEFdGpBsAxqIAg5AwAgACAGEP8DCyAFQQFqIgUgBCgCAEgNAAtBAAuyAQIFfwJ8IABBHGoiASgCAEEATARAQQAPCwNAIABBIGogAkEYbGoQ1QIhAyABKAIAQQBKBEBBACEERAAAAAAAAAAAIQYDQCAAQSBqIARBGGxqIgUgAxDeAgRAIAUgABDXAiEHIAYgB6AhBgsgBEEBaiIEIAEoAgBIDQALBUQAAAAAAAAAACEGCyAAIANBBXRqQbAMaiAGOQMAIAAgAxD/AyACQQFqIgIgASgCAEgNAAtBAAvvAgIDfwF8IwYhAyMGQTBqJAYgAyEEIABBBmoiBSABOgAAIAAgAjoAByAAQQBBAhCDBBogAEEfEP8DIABBIBD/AyAAQScQ/wMgAEEoEP8DIABB4BdqLAAAQQJGBHwgAEH4F2orAwAFIABB6BdqKwMAIABB8BdqKwMAoCAAQfgXaisDAKALIgZEAAAAAAAAAABmBH8gBqoFIAUtAAALIQIgACgCCCgC1AIiAQRAIABBiBtqIAFBEGogAEGYHGorAwBEAAAAAAAAWUCjqkEDdGorAwAiBiAAQagaaisDAEQAAAAAAABZQKMgAUEQaiACQQN0aisDACAGoaKgOQMAIABBOxD/AyAAKAIMQTEgAEHIHGooAgAgBBDtARogAyQGBSAAQYgbaiAAQZgcaisDACIGIABBqBpqKwMAIAK3IAZEAAAAAAAAWUCjoaKgOQMAIABBOxD/AyAAKAIMQTEgAEHIHGooAgAgBBDtARogAyQGCwtFAQF/IwYhASMGQTBqJAYgASAAKAIIKAIAKAKIAjYCACAAKAIMQTIgAEHIHGooAgAgARDtARogAEHSHGpBAToAACABJAYLiAEBA38jBiEBIwZBMGokBiAAKAIIIgItAH5BP0oEQCACKALIAiAAKAIASwRAIABBAzoABCABJAYPCwsgASEDIAItAHxBP0oEQCAAQQI6AAQgASQGBSADIAIoAgAoAogCNgIAIAAoAgxBMiAAQcgcaigCACADEO0BGiAAQdIcakEBOgAAIAEkBgsLwAEBAX8jBiEBIwZBMGokBiAALAAEQX9qQRh0QRh1Qf8BcUEDTgRAIAEkBkEADwsgAEHIGmpEAAAAAAAAAAA5AwAgAEHAGmpBAToAACAAQegVakQAAAAAAABpwDkDACAAQeAVakEBOgAAIABBJhD/AyAAQegTakQAAAAAAABpwDkDACAAQeATakEBOgAAIABBHhD/AyABIAAoAggoAgAoAogCNgIAIAAoAgxBMiAAQcgcaigCACABEO0BGiABJAZBAAtmAQN/IABB0RxqQQE6AAAgAEHMHGooAgBBxAVqIgIoAgAiAEUEQA8LIABB4ABqIgMoAgBBf2ohASADIAE2AgAgAUUEQCAAKAJoIgEEQCAAQQIgAUEfcUEgahECABoLCyACQQA2AgALhwIBBH8gAEF/OgAFIABB0BxqLAAABEAgAEHIHGooAgBBxAVqIgMoAgAiAQRAIAFB4ABqIgQoAgBBf2ohAiAEIAI2AgAgAkUEQCABKAJoIgIEQCABQQIgAkEfcUEgahECABoLCyADQQA2AgALCyAAQQQ6AAQgAEHSHGpBAToAACAAQRRqIgMoAgAiAUUEQCAAKAIIKAIAQZABaiIAKAIAQX9qIQEgACABNgIADwsgAUHgAGoiBCgCAEF/aiECIAQgAjYCACACRQRAIAEoAmgiAgRAIAFBAiACQR9xQSBqEQIAGgsLIANBADYCACAAKAIIKAIAQZABaiIAKAIAQX9qIQEgACABNgIAC5MDAQR/IwYhBCMGQRBqJAYgBEEIaiEGIAQhAwJAIAEsAAJBEHFFBEACQAJAIAEsAAEiBQ4RAAEAAAEBAQEBAQABAQAAAQABCwwCCyADIAVB/wFxNgIAQQJBkawEIAMQcxogBCQGDwsLAkACfwJAAkACQCACDgIBAAILIABBHGoiAygCACICQQBKBEBBACECA0AgAEEgaiACQRhsaiABENoCRQRAIAJBAWoiAiADKAIAIgVIBEAMAgUgBQwGCwALCyAAIAJBGGxqQShqIgAgASsDCCAAKwMAoDkDACAEJAYPCwwDCyAAQRxqIgMoAgAiAkEASgRAQQAhAgNAIABBIGogAkEYbGogARDaAkUEQCACQQFqIgIgAygCACIFSARADAIFIAUMBQsACwsgACACQRhsaiABKwMIOQMoIAQkBg8LDAILIABBHGoiAiEDIAIoAgALIgJBwABOBEAgBiAAKAIANgIAQQJBxqwEIAYQcxogBCQGDwsLIAMgAkEBajYCACAAQSBqIAJBGGxqIAEQzAIgBCQGCwoAIAAsAARBAkYLCgAgACwABEEDRgsaACAALAAEQQFHBEBBAA8LIABB0hxqLAAARQsHACAALQAFCwcAIAAtAAYLUgEBfCAAQYAYaiwAAEECRgR8IABBmBhqKwMABSAAQYgYaisDACAAQZAYaisDAKAgAEGYGGorAwCgCyIBRAAAAAAAAAAAZAR/IAGqBSAALQAHCwsHACAALQAHCzUAIAAgAUEFdGpBuAxqIAI5AwAgAEGgDGogAUEFdGogAwR/QQIFQQELOgAAIAAgARD/A0EAC48DAgV/BXwjBiEEIwZBMGokBiAEIQIgAEGgHGoiBSABREivvJry13o+YwR8REivvJry13o+IgEFIAELOQMAIABBqBxqIgYrAwBBARAyIQcgAEGwHGoiAysDAEEBEDMhCCAFKwMAIAcgCKKiRAAAAAAAAIA+oiEKIAYrAwBBABAyIQcgAysDAEEAEDMhCCAFKwMAIgkgByAIoqJEAAAAAAAAgD6iIQsgCSAAQbgcaisDAKJEAAAAAAAAgD6iIQcgCSAAQcAcaisDAKJEAAAAAAAAgD6iIQggAiABOQMAIABBDGoiAygCAEEZIABByBxqIgAoAgAgAhDtARogAkEANgIAIAIgCjkDCCADKAIAQSYgACgCAEHgCGogAhDtARogAkEBNgIAIAIgCzkDCCADKAIAQSYgACgCAEHgCGogAhDtARogAkECNgIAIAIgBzkDCCADKAIAQSYgACgCAEHgCGogAhDtARog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IQEgACABEIgDGg8LIAEQvQIhASAAIAEQhwMaDwsgARC9AiECIAEQwAJBEHRBEHUhASAAIAIgARCTAxoPCyABEL0CIQIgARDBAkEQdEEQdSEBIAAgAiABEJIDGg8LIAEQvQIhAiABEMMCIQMgARDAAkEQdEEQdSEEIAEQwQJBEHRBEHUhASAAIAIgAyAEIAEQlwMaDwsgA0EMaiIALgEAIgFBf0cEQCADKAIEIgIEQCACIAEQzQQgAEF/OwEACwsgAygCCCIABEAgAygCACIBBEAgASAAEOMCCwsgAxDxBA8LIAEQvQIhAiABEMQCIQEgACACIAEQjQMaDwsgARC9AiECIAEQwQJBEHRBEHUhASAAIAIgARCPAxoPCyABEL0CIQIgARDAAkEQdEEQdSEDIAEQwQJBEHRBEHUhASAAIAIgAyABEP0CGg8LIAEQvQIhAiABEMECQRB0QRB1IQEgACACQQEgARD9AhoPCyABEL0CIQIgARDBAkEQdEEQdSEBIAAgAkHAACABEP0CGg8LIAEQvQIhAiABEMECQRB0QRB1IQEgACACQQogARD9AhoPCyABEL0CIQIgARDBAkEQdEEQdSEBIAAgAkEHIAEQ/QIaDwsgARC9AiECIAEQwQJBEHRBEHUhASAAIAJB2wAgARD9AhoPCyABEL0CIQIgARDBAkEQdEEQdSEBIAAgAkHdACABEP0CGg8LIAEQvQIhAiABEMECQRB0QRB1IQEgACACIAEQiwMaDwsgARC9AiECIAEQvgJBEHRBEHUhAyABEMECQRB0QRB1IQEgACACIAMgARCMAxoPCyAAEIkDGgsLmgQBB38jBiEGIwZBMGokBiAGIQIgARCcBCEEIAIQnwIgABDVBCEDIAIgAxChAgJAIAAQ0AQiB0EASgRAQQAhAwNAIAAgAxDRBCEFIAAgBRDSBCIIBEAgCEH3twQQ/gRFDQMLIANBAWoiAyAHSA0AC0F/IQUFQX8hBQsLIAIgBRCjAgJAAkACQAJAAkACQAJAAkACQAJAIAEQmgRBgAFrDoABAAgICAgICAgICAgICAgICAEICAgICAgICAgICAgICAgGCAgICAgICAgICAgICAgIAggICAgICAgICAgICAgICAMICAgICAgICAgICAgICAgFCAgICAgICAgICAgICAgIBAgICAgICAgICAgICAgICAgI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IAAgACgCLCAAKAIwaiICNgIIIAAgAjYCBCABQRt0QR91CyIAC1wBAn8gACwAACICRSACIAEsAAAiA0dyBH8gAiEBIAMFA38gAEEBaiIALAAAIgJFIAIgAUEBaiIBLAAAIgNHcgR/IAIhASADBQwBCwsLIQAgAUH/AXEgAEH/AXFrC2wBA39BBCEDAkAgACwAACICBH8gACEEIAIhAANAIABBGHRBGHUgASwAACICRiADQX9qIgNBAEcgAkEAR3FxRQ0CIAFBAWohASAEQQFqIgQsAAAiAA0AC0EABUEACyEACyAAQf8BcSABLQAAawsKACAAQVBqQQpJC40DAQR/IwYhBiMGQYABaiQGIAZB/ABqIQUgBiIEQfjsAykCADcCACAEQYDtAykCADcCCCAEQYjtAykCADcCECAEQZDtAykCADcCGCAEQZjtAykCADcCICAEQaDtAykCADcCKCAEQajtAykCADcCMCAEQbDtAykCADcCOCAEQUBrQbjtAykCADcCACAEQcDtAykCADcCSCAEQcjtAykCADcCUCAEQdDtAykCADcCWCAEQdjtAykCADcCYCAEQeDtAykCADcCaCAEQejtAykCADcCcCAEQfDtAygCADYCeAJAAkAgAUF/akH+////B0sEfyABBH8Q+QRBywA2AgBBfwUgBSEAQQEhBQwCCwUgASEFDAELIQAMAQsgBCAFQX4gAGsiAUsEfyABBSAFIgELNgIwIARBFGoiByAANgIAIAQgADYCLCAEQRBqIgUgACABaiIANgIAIAQgADYCHCAEIAIgAxCCBSEAIAEEQCAHKAIAIgEgASAFKAIARkEfdEEfdWpBADoAAAsLIAYkBiAAC/4CAQx/IwYhBCMGQeABaiQGIAQhBSAEQaABaiIDQgA3AwAgA0IANwMIIANCADcDECADQgA3AxggA0IANwMgIARB0AFqIgYgAigCADYCAEEAIAEgBiAEQdAAaiICIAMQgwVBAEgEQEF/IQEFIAAoAkxBf0oEfxB9BUEACyEMIAAoAgAhByAALABKQQFIBEAgACAHQV9xNgIACyAAQTBqIggoAgAEQCAAIAEgBiACIAMQgwUhAQUgAEEsaiIJKAIAIQogCSAFNgIAIABBHGoiDSAFNgIAIABBFGoiCyAFNgIAIAhB0AA2AgAgAEEQaiIOIAVB0ABqNgIAIAAg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IAZJBH8gBAUgBiIECxDLBRogBSAFKAIAIARqNgIAIAAgBGohACAGIARrBSAGCyEFIAFFBEBBACECCwJAAkAgBUUNACADQSBqIQcgACEEIAUhAANAAkAgAxD9BA0AIAMgBCAAIAcoAgBBH3FBQGsRAwAiBUEBakECSQ0AIAQgBWohBCAAIAVrIgANAQwCCwsgCARAEIQFCyAGIABrIAFuIQIMAQsgCARAEIQFCwsgAgsHACAAEMEFC6cBAQN/A0AgACwAABD8BEUhAiAAQQFqIQEgAkUEQCABIQAMAQsLAn8CQAJAAkACQCAALAAAIgNBK2sOAwECAAILQQEhAAwCC0EAIQAMAQtBACECIAMMAQsgACECIAEiACwAAAsiARCABQRAQQAhAQNAIAFBCmxBMGogACwAAGshASAAQQFqIgAsAAAQgAUNAAsFQQAhAQtBACABayEAIAIEfyABBSAACwvKAQEDfyMGIQIjBkEQaiQGIAIhAQJ8IAC9QiCIp0H/////B3EiA0H8w6T/A0kEfCADQZ7BmvIDSQR8RAAAAAAAAPA/BSAARAAAAAAAAAAAEKUFCwUgACAAoSADQf//v/8HSw0BGgJAAkACQAJAIAAgARCmBUEDcQ4DAAECAwsgASsDACABKwMIEKUFDAQLIAErAwAgASsDCEEBEKgFmgwDCyABKwMAIAErAwgQpQWaDAILIAErAwAgASsDCEEBEKgFCwshACACJAYgAAvRAQEDfyMGIQIjBkEQaiQGIAIhAQJAIAC9QiCIp0H/////B3EiA0H8w6T/A0kEQCADQYCAwPIDTwRAIABEAAAAAAAAAABBABCoBSEACwUgA0H//7//B0sEQCAAIAChIQAMAgsCQAJAAkACQAJAIAAgARCmBUEDcQ4DAAECAwsgASsDACABKwMIQQEQqAUhAAwFCyABKwMAIAErAwgQpQUhAAwECyABKwMAIAErAwhBARCoBZohAAwDCyABKwMAIAErAwgQpQWaIQALCwsgAiQGIAALnwMDAn8BfgV8IAC9IgNCIIinIQECfyADQgBTIgIgAUGAgMAASXIEfyADQv///////////wCDQgBRBEBEAAAAAAAA8L8gACAAoqMPCyACRQRAIABEAAAAAAAAUEOivSIDQiCIpyEBIANC/////w+DIQNBy3cMAgsgACAAoUQAAAAAAAAA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IAEQBQsKAEEJIAAgARAFCxMAIAEgAiADIABBH3FBQGsRAwALDABBACAAIAEgAhAGCwwAQQEgACABIAIQBgsMAEECIAAgASACEAYLDABBAyAAIAEgAhAGCwwAQQQgACABIAIQBgsMAEEFIAAgASACEAYLDABBBiAAIAEgAhAGCwwAQQcgACABIAIQBgsMAEEIIAAgASACEAYLDABBCSAAIAEgAhAGCxgAIAEgAiADIAQgBSAAQQ9xQeAAahEIAAsQAEEAIAAgASACIAMgBBAHCxAAQQEgACABIAIgAyAEEAcLEABBAiAAIAEgAiADIAQQBwsQAEEDIAAgASACIAMgBBAHCxAAQQQgACABIAIgAyAEEAcLEABBBSAAIAEgAiADIAQQBwsQAEEGIAAgASACIAMgBBAHCxAAQQcgACABIAIgAyAEEAcLEABBCCAAIAEgAiADIAQQBwsQAEEJIAAgASACIAMgBBAHCxoAIAEgAiADIAQgBSAGIABBD3FB8ABqEQkACxIAQQAgACABIAIgAyAEIAUQCAsSAEEBIAAgASACIAMgBCAFEAgLEgBBAiAAIAEgAiADIAQgBRAICxIAQQMgACABIAIgAyAEIAUQCAsSAEEEIAAgASACIAMgBCAFEAgLEgBBBSAAIAEgAiADIAQgBRAICxIAQQYgACABIAIgAyAEIAUQCAsSAEEHIAAgASACIAMgBCAFEAgLEgBBCCAAIAEgAiADIAQgBRAICxIAQQkgACABIAIgAyAEIAUQCAsQACABIABBH3FBgAFqEQAACwgAQQAgABAJCwgAQQEgABAJCwgAQQIgABAJCwgAQQMgABAJCwgAQQQgABAJCwgAQQUgABAJCwgAQQYgABAJCwgAQQcgABAJCwgAQQggABAJCwgAQQkgABAJCxIAIAEgAiAAQT9xQaABahEGAAsKAEEAIAAgARAKCwoAQQEgACABEAoLCgBBAiAAIAEQCgsKAEEDIAAgARAKCwoAQQQgACABEAoLCgBBBSAAIAEQCgsKAEEGIAAgARAKCwoAQQcgACABEAoLCgBBCCAAIAEQCgsKAEEJIAAgARAKCxQAIAEgAiADIABBD3FB4AFqEQUACwwAQQAgACABIAIQCwsMAEEBIAAgASACEAsLDABBAiAAIAEgAhALCwwAQQMgACABIAIQCwsMAEEEIAAgASACEAsL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wf7vPwAAAABAf3A/AQAAAADA/74AAAAA2HB3vwAAABA1/e8/AAAAAHgdeT8AAAAAAMoRv///////AX+/AAAAAAz77z8AAAAAAP2APwAAAAAAgB+/AAAAAPQ5g78AAABwR/jvP/7///8jioU/AQAAAACDKL//////X+OGvwAAAIDo9O8//v///981ij8AAAAAAJQxvwAAAABcfYq/AAAAUPDw7z//////6/+OPwAAAACA1De/AAAAAAAIjr8AAAAAYOzvPwAAAAAA9JE/AAAAAAAAP78AAAAAssGQvwAAALA45+8/AAAAAOp2lD8AAAAAwIlDvwEAAADQd5K/AAAAgHvh7z//////jwiXPwAAAAAABki//////2UmlL8AAACQKdvvP//////NqJk/AAAAAEDzTL8BAAAAgM2VvwAAAABE1O8/AQAAAIBXnD/+/////ydRvwEAAAAqbZe/AAAA8MvM7z8AAAAAghSfP/7///9fDVS/AQAAAHAFmb8AAACAwsTvPwAAAADY76A/AAAAAAApV78AAAAAXpaavwAAANAovO8//////3Jcoj//////H3pavwAAAAAAIJy/AAAAAACz7z8AAAAAANCjPwAAAAAAAF6/AQAAAGKinb8AAAAwSanvPwAAAABtSqU/AAAAAPDcYL8AAAAAkB2fvwAAAIAFn+8/AAAAAKjLpj8AAAAAgNNivwAAAADLSKC/AAAAEDaU7z//////nlOoPwAAAABQ42S/AAAAAED/oL8AAAAA3IjvPwAAAABA4qk/AQAAAAAMZ78BAAAALbKhvwAAAHD4fO8/AAAAAHl3qz8BAAAAME1pvwAAAACYYaK/AAAAgIxw7z8AAAAAOBOtP/////9/pmu/AAAAAIcNo78AAABQmWPvPwAAAABrta4/AAAAAJAXbr8AAAAAALajvwAAAAAgVu8/AAAAAAAvsD8AAAAAAFBwvwAAAAAJW6S/AAAAsCFI7z8AAACAcgaxPwAAAAC4n3G/AAAAAKj8pL8AAACAnznvPwAAAAAE4bE/AAAAAMD6cr8AAAAA45qlvwAAAJCaKu8/AAAAgKu+sj8AAAAA6GB0vwAAAADANaa/AAAAABQb7z8AAAAAYJ+zP///////0XW/AAAAAEXNpr8AAADwDAvvPwAAAIAYg7Q/AAAAANhNd78AAAAAeGGnvwAAAICG+u4/AAAAAMxptT8BAAAAQNR4vwAAAABf8qe/AAAA0IHp7j8AAACAcVO2PwAAAAAIZXq/AAAAAACAqL8AAAAAANjuPwAAAAAAQLc/AAAAAAAAfL8BAAAAYQqpvwAAADACxu4/AAAAgG4vuD8BAAAA+KR9vwAAAACIkam/AAAAgImz7j8AAAAAtCG5P/////+/U3+/AQAAAHsVqr8AAAAQl6DuPwEAAIDHFro/AAAAABSGgL8AAAAAQJaqvwAAAAAsje4/AwAAAKAOuz8AAAAAAGeBvwAAAADdE6u/AAAAcEl57j////9/NAm8PwAAAACMTIK/AAAAAFiOq78AAACA8GTuP/3///97Br0/AAAAAKA2g78AAAAAtwWsvwAAAFAiUO4/AAAAgG0Gvj8AAAAAJCWEvwAAAAAAeqy/AAAAAOA67j8AAAAAAAm/PwAAAAAAGIW/AAAAADnrrL8AAACwKiXuPwIAAEAVB8A//////xsPhr8AAAAAaFmtvwAAAIADD+4/AAAAAPKKwD8AAAAAYAqHvwAAAACTxK2/AAAAkGv47T////+/ERDBPwEAAAC0CYi/AAAAAMAsrr8AAAAAZOHtPwAAAABwlsE///////8Mib8BAAAA9ZGuvwAAAPDtye0/AAAAQAgewj/9////KxSKvwAAAAA49K6/AAAAgAqy7T8BAAAA1qbCPwEAAAAgH4u/AAAAAI9Tr78AAADQupntP////7/UMMM/AAAAAMQtjL8AAAAAALCvvwAAAAAAge0/AAAAAAC8wz8AAAAAAECNvwAAAIDIBLC/AAAAMNtn7T8AAABAU0jEP/7///+7VY6/AAAAACQwsL8AAACATU7tPwIAAADK1cQ/AgAAAOBuj78AAACAFVqwvwAAABBYNO0/AAAAwF9kxT8AAAAAqkWQvwAAAACggrC/AAAAAPwZ7T8AAAAAEPTFPwEAAACA1ZC/AAAAgMapsL8AAABwOv/sPwIAAEDWhMY//////+Vmkb8AAAAAjM+wvwAAAIAU5Ow//////60Wxz8BAAAA0PmRvwAAAIDz87C/AAAAUIvI7D8BAADAkqnHP/////8xjpK/AAAAAAAXsb8AAAAAoKzsPwAAAACAPcg/AAAAAAAkk78AAACAtDixvwAAALBTkOw/////P3HSyD//////LbuTvwAAAAAUWbG/AAAAgKdz7D8BAAAAYmjJP/////+vU5S/AAAAgCF4sb8AAACQnFbsPwEAAMBN/8k//////3ntlL8AAAAA4JWxvwAAAAA0Oew//////y+Xyj//////f4iVvwAAAIBSsrG/AAAA8G4b7D8AAABABDDLPwAAAAC2JJa/AAAAAHzNsb8AAACATv3rPwIAAADGycs/AAAAABDClr8AAACAX+exvwAAANDT3us/AgAAwHBkzD8AAAAAgmCXvwAAAAAAALK/AAAAAADA6z8AAAAAAADNPwAAAAAAAJi/AAAAgGAXsr8AAAAw1KDrP////z9vnM0//////32gmL8AAAAAhC2yvwAAAIBRges//v///7k5zj8AAAAA8EGZvwAAAIBtQrK/AAAAEHlh6z8BAADA29fOP/////9J5Jm/AAAAACBWsr8AAAAATEHrPwEAAADQds8/AQAAAICHmr8AAACAnmiyvwAAAHDLIOs/AAAAIEkL0D8AAAAAhiubvwAAAADsebK/AAAAgPj/6j8AAAAAj1vQPwEAAABQ0Ju/AAAAgAuKsr8AAABQ1N7qP////183rNA//////9F1nL8AAAAAAJmyvwAAAABgveo/AAAAAED90D8AAAAAABydvwAAAIDMprK/AAAAsJyb6j8AAACgpk7RP//////Nwp2/AAAAAHSzsr8AAACAi3nqPwEAAABpoNE//////y9qnr8AAACA+b6yvwAAAJAtV+o/AAAA4ITy0T8AAAAAGhKfvwAAAABgybK/AAAAAIQ06j8AAAAA+ETSP/////9/up+/AAAAgKrSsr8AAADwjxHqPwAAACDAl9I/AQAAAKsxoL8AAAAA3NqyvwAAAIBS7uk//////9rq0j//////R4agvwAAAID34bK/AAAA0MzK6T8AAABgRj7TPwAAAAAR26C/AAAAAADosr8AAAAAAKfpPwAAAAAAktM/AAAAAAAwob8AAACA+OyyvwAAADDtguk/////nwXm0z8BAAAAD4WhvwAAAADk8LK/AAAAgJVe6T//////VDrUPwAAAAA42qG/AAAAgMXzsr8AAAAQ+jnpPwAAAODrjtQ/AAAAAHUvor8AAAAAoPWyvwAAAAAcFek/AAAAAMjj1D8AAAAAwISivwAAAIB29rK/AAAAcPzv6D////8f5zjVPwEAAAAT2qK/AAAAAEz2sr8AAACAnMroPwAAAABHjtU/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E9qiv////x/nONU/AAAAcPzv6D8AAACAdvayvwAAAADAhKK/AAAAAMjj1D8AAAAAHBXpPwAAAACg9bK/AAAAAHUvor8AAADg647UPwAAABD6Oek/AAAAgMXzsr8AAAAAONqhv/////9UOtQ/AAAAgJVe6T8AAAAA5PCyvwEAAAAPhaG/////nwXm0z8AAAAw7YLpPwAAAID47LK/AAAAAAAwob8AAAAAAJLTPwAAAAAAp+k/AAAAAADosr8AAAAAEdugvwAAAGBGPtM/AAAA0MzK6T8AAACA9+Gyv/////9HhqC//////9rq0j8AAACAUu7pPwAAAADc2rK/AQAAAKsxoL8AAAAgwJfSPwAAAPCPEeo/AAAAgKrSsr//////f7qfvwAAAAD4RNI/AAAAAIQ06j8AAAAAYMmyvwAAAAAaEp+/AAAA4ITy0T8AAACQLVfqPwAAAID5vrK//////y9qnr8BAAAAaaDRPwAAAICLeeo/AAAAAHSzsr//////zcKdvwAAAKCmTtE/AAAAsJyb6j8AAACAzKayvwAAAAAAHJ2/AAAAAED90D8AAAAAYL3qPwAAAAAAmbK//////9F1nL////9fN6zQPwAAAFDU3uo/AAAAgAuKsr8BAAAAUNCbvwAAAACPW9A/AAAAgPj/6j8AAAAA7HmyvwAAAACGK5u/AAAAIEkL0D8AAABwyyDrPwAAAICeaLK/AQAAAICHmr8BAAAA0HbPPwAAAABMQes/AAAAACBWsr//////SeSZvwEAAMDb184/AAAAEHlh6z8AAACAbUKyvwAAAADwQZm//v///7k5zj8AAACAUYHrPwAAAACELbK//////32gmL////8/b5zNPwAAADDUoOs/AAAAgGAXsr8AAAAAAACYvwAAAAAAAM0/AAAAAADA6z8AAAAAAACyvwAAAACCYJe/AgAAwHBkzD8AAADQ097rPwAAAIBf57G/AAAAABDClr8CAAAAxsnLPwAAAIBO/es/AAAAAHzNsb8AAAAAtiSWvwAAAEAEMMs/AAAA8G4b7D8AAACAUrKxv/////9/iJW//////y+Xyj8AAAAANDnsPwAAAADglbG//////3ntlL8BAADATf/JPwAAAJCcVuw/AAAAgCF4sb//////r1OUvwEAAABiaMk/AAAAgKdz7D8AAAAAFFmxv/////8tu5O/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AEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAAAAAAADAAAABAAAAAQAAAAGAAAAg/miAERObgD8KRUA0VcnAN009QBi28AAPJmVAEGQQwBjUf4Au96rALdhxQA6biQA0k1CAEkG4AAJ6i4AHJLRAOsd/gApsRwA6D6nAPU1ggBEuy4AnOmEALQmcABBfl8A1pE5AFODOQCc9DkAi1+EACj5vQD4HzsA3v+XAA+YBQARL+8AClqLAG0fbQDPfjYACcsnAEZPtwCeZj8ALepfALondQDl68cAPXvxAPc5BwCSUooA+2vqAB+xXwAIXY0AMANWAHv8RgDwq2sAILzPADb0mgDjqR0AXmGRAAgb5gCFmWUAoBRfAI1AaACA2P8AJ3NNAAYGMQDKVhUAyahzAHviYABrjMAAQZPpAwtNQPsh+T8AAAAALUR0PgAAAICYRvg8AAAAYFHMeDsAAACAgxvwOQAAAEAgJXo4AAAAgCKC4zYAAAAAHfNpNQAAAAAAAPA/AAAAAAAA+D8AQejpAwsIBtDPQ+v9TD4AQfvpAwt+QAO44j9SSUZGTElTVHNmYmtJTkZPc2R0YXBkdGFpZmlsaXNuZ0lOQU1pcm9taXZlcklDUkRJRU5HSVBSRElDT1BJQ01USVNGVHNuYW1zbXBscGhkcnBiYWdwbW9kcGdlbmluc3RpYmFnaW1vZGlnZW5zaGRyc20yNHj1AAAFAEGE6wMLAQsAQZzrAwsLCwAAAAwAAACOBAcAQbTrAwsBAgBBw+sDCwX//////wBB9OsDCwX49QAABQBBhOwDCwELAEGc7AMLDg0AAAAMAAAACP0GAAAEAEG07AMLAQEAQcPsAwsFCv////8AQfTsAwsC+PUAQZztAwsBDgBBw+0DCwX//////wBBsO8DCwNcBAcAQejvAwv3TUNvdWxkbid0IGNyZWF0ZSB0aGUgYXVkaW8gdGhyZWFkLgBUeXBlIG1pc21hdGNoIG9uIHNldHRpbmcgJyVzJwAnJXMnIGlzIG5vdCBhIG5vZGUuIE5hbWUgb2YgdGhlIHNldHRpbmcgd2FzICclcycAU2V0dGluZyB2YXJpYWJsZSBuYW1lIGV4Y2VlZGVkIG1heCBsZW5ndGggb2YgJWQgY2hhcnMAU2V0dGluZyB2YXJpYWJsZSBuYW1lIGV4Y2VlZGVkIG1heCB0b2tlbiBjb3VudCBvZiAlZABubwB5ZXMAcmVxdWVzdGVkIHNldCB2YWx1ZSBmb3IgJXMgb3V0IG9mIHJhbmdlACwgACwAJXM6IHBhbmljOiAlcwoAJXM6IGVycm9yOiAlcwoAJXM6IHdhcm5pbmc6ICVzCgAlczogJXMKAE51bGwgcG9pbnRlcgBSSUZGAHNmYmsAVGltZXIgdGhyZWFkIGZpbmlzaGVkAENvdWxkbid0IGxvYWQgc291bmRmb250IGZpbGUAQ291bGRuJ3QgcGFyc2UgcHJlc2V0cyBmcm9tIHNvdW5kZm9udCBmaWxlAFVuYWJsZSB0byBsb2FkIGFsbCBzYW1wbGUgZGF0YQBTZWxlY3RlZCBwcmVzZXQgJyVzJyBvbiBjaGFubmVsICVkAFVuYWJsZSB0byBvcGVuIFNvdW5kZm9udCBmaWxlAFVuYWJsZSB0byBsb2FkIHNhbXBsZSAnJXMnLCBkaXNhYmxpbmcARGVzZWxlY3RlZCBwcmVzZXQgJyVzJyBmcm9tIGNoYW5uZWwgJWQAVW5sb2FkaW5nIHNhbXBsZSAnJXMnAFVuYWJsZSB0byB1bmxvYWQgc2FtcGxlICclcycAQmFuayVkLFByZSVkACVzLyVkADx1bnRpdGxlZD4AQXR0ZW1wdGVkIHRvIHJlYWQgJWQgd29yZHMgb2Ygc2FtcGxlIGRhdGEsIGJ1dCBnb3QgJWQgaW5zdGVhZABGYWlsZWQgdG8gbG9hZCBzYW1wbGUgJyVzJwBFT0Ygd2hpbGUgYXR0ZW1waW5nIHRvIHJlYWQgJWQgYnl0ZXMARmlsZSByZWFkIGZhaWxlZABGaWxlIHNlZWsgZmFpbGVkIHdpdGggb2Zmc2V0ID0gJWxkIGFuZCB3aGVuY2UgPSAlZABTYW1wbGUgJyVzJzogUk9NIHNhbXBsZSBpZ25vcmVkAFNhbXBsZSAnJXMnOiBpbnZhbGlkIGJ1ZmZlciBzaXplAFNhbXBsZSAnJXMnOiBpbnZhbGlkIHN0YXJ0L2VuZCBmaWxlIHBvc2l0aW9ucwBTYW1wbGUgJyVzJzogcmV2ZXJzZWQgbG9vcCBwb2ludGVycyAnJWQnIC0gJyVkJywgdHJ5aW5nIHRvIGZpeABTYW1wbGUgJyVzJzogaW52YWxpZCBsb29wIHN0YXJ0ICclZCcsIHNldHRpbmcgdG8gc2FtcGxlIHN0YXJ0ICclZCcAU2FtcGxlICclcyc6IGludmFsaWQgbG9vcCBlbmQgJyVkJywgc2V0dGluZyB0byBzYW1wbGUgZW5kICclZCcAU2FtcGxlICclcyc6IGxvb3AgcmFuZ2UgJyVkIC0gJWQnIGFmdGVyIHNhbXBsZSBlbmQgJyVkJywgdXNpbmcgaXQgYW55d2F5AFVuYWJsZSB0byBvcGVuIGZpbGUgJyVzJwBTZWVrIHRvIGVuZCBvZiBmaWxlIGZhaWxlZABHZXQgZW5kIG9mIGZpbGUgcG9zaXRpb24gZmFpbGVkAFJld2luZCB0byBzdGFydCBvZiBmaWxlIGZhaWxlZABOb3QgYSBSSUZGIGZpbGUATm90IGEgU291bmRGb250IGZpbGUAU291bmRGb250IGZpbGUgc2l6ZSBtaXNtYXRjaABJbnZhbGlkIGNodW5rIGlkIGluIGxldmVsIDAgcGFyc2UASW52YWxpZCBJRCBmb3VuZCB3aGVuIGV4cGVjdGluZyBJTkZPIGNodW5rAFNvdW5kIGZvbnQgdmVyc2lvbiBpbmZvIGNodW5rIGhhcyBpbnZhbGlkIHNpemUAU291bmQgZm9udCB2ZXJzaW9uIGlzICVkLiVkIHdoaWNoIGlzIG5vdCBzdXBwb3J0ZWQsIGNvbnZlcnQgdG8gdmVyc2lvbiAyLjB4AFNvdW5kIGZvbnQgdmVyc2lvbiBpcyAlZC4lZCBidXQgZmx1aWRzeW50aCB3YXMgY29tcGlsZWQgd2l0aG91dCBzdXBwb3J0IGZvciAodjMueCkAU291bmQgZm9udCB2ZXJzaW9uIGlzICVkLiVkIHdoaWNoIGlzIG5ld2VyIHRoYW4gd2hhdCB0aGlzIHZlcnNpb24gb2YgZmx1aWRzeW50aCB3YXMgZGVzaWduZWQgZm9yICh2Mi4weCkAUk9NIHZlcnNpb24gaW5mbyBjaHVuayBoYXMgaW52YWxpZCBzaXplAElORk8gc3ViIGNodW5rICUuNHMgaGFzIGludmFsaWQgY2h1bmsgc2l6ZSBvZiAlZCBieXRlcwBJbnZhbGlkIGNodW5rIGlkIGluIElORk8gY2h1bmsASU5GTyBjaHVuayBzaXplIG1pc21hdGNoAEludmFsaWQgSUQgZm91bmQgd2hlbiBleHBlY3RpbmcgU0FNUExFIGNodW5rAEV4cGVjdGVkIFNNUEwgY2h1bmsgZm91bmQgaW52YWxpZCBpZCBpbnN0ZWFkAFNEVEEgY2h1bmsgc2l6ZSBtaXNtYXRjaABGb3VuZCBTTTI0IGNodW5rAFNNMjQgZXhlZWRzIFNEVEEgY2h1bmssIGlnbm9yaW5nIFNNMjQAU00yNCBub3QgZXF1YWwgdG8gaGFsZiB0aGUgc2l6ZSBvZiBTTVBMIGNodW5rICgweCVYICE9IDB4JVgpLCBpZ25vcmluZyBTTTI0AEludmFsaWQgSUQgZm91bmQgd2hlbiBleHBlY3RpbmcgSFlEUkEgY2h1bmsARmFpbGVkIHRvIHNlZWsgdG8gSFlEUkEgcG9zaXRpb24ARXhwZWN0ZWQgUERUQSBzdWItY2h1bmsgJyUuNHMnIGZvdW5kIGludmFsaWQgaWQgaW5zdGVhZAAnJS40cycgY2h1bmsgc2l6ZSBpcyBub3QgYSBtdWx0aXBsZSBvZiAlZCBieXRlcwAnJS40cycgY2h1bmsgc2l6ZSBleGNlZWRzIHJlbWFpbmluZyBQRFRBIGNodW5rIHNpemUAUHJlc2V0IGhlYWRlciBjaHVuayBzaXplIGlzIGludmFsaWQAUHJlc2V0IGhlYWRlciBpbmRpY2VzIG5vdCBtb25vdG9uaWMAJWQgcHJlc2V0IHpvbmVzIG5vdCByZWZlcmVuY2VkLCBkaXNjYXJkaW5nAEZpbGUgY29udGFpbnMgbm8gcHJlc2V0cwBQcmVzZXQgYmFnIGNodW5rIHNpemUgaXMgaW52YWxpZABQcmVzZXQgYmFnIGNodW5rIHNpemUgbWlzbWF0Y2gAUHJlc2V0IGJhZyBnZW5lcmF0b3IgaW5kaWNlcyBub3QgbW9ub3RvbmljAFByZXNldCBiYWcgbW9kdWxhdG9yIGluZGljZXMgbm90IG1vbm90b25pYwBObyBwcmVzZXQgZ2VuZXJhdG9ycyBhbmQgdGVybWluYWwgaW5kZXggbm90IDAATm8gcHJlc2V0IG1vZHVsYXRvcnMgYW5kIHRlcm1pbmFsIGluZGV4IG5vdCAwAFByZXNldCBtb2R1bGF0b3IgY2h1bmsgc2l6ZSBtaXNtYXRjaABQcmVzZXQgZ2VuZXJhdG9yIGNodW5rIHNpemUgbWlzbWF0Y2gAUHJlc2V0ICclcyc6IEdsb2JhbCB6b25lIGlzIG5vdCBmaXJzdCB6b25lAFByZXNldCAnJXMnOiBEaXNjYXJkaW5nIGludmFsaWQgZ2xvYmFsIHpvbmUAUHJlc2V0ICclcyc6IFNvbWUgaW52YWxpZCBnZW5lcmF0b3JzIHdlcmUgZGlzY2FyZGVkAEluc3RydW1lbnQgaGVhZGVyIGhhcyBpbnZhbGlkIHNpemUASW5zdHJ1bWVudCBoZWFkZXIgaW5kaWNlcyBub3QgbW9ub3RvbmljACVkIGluc3RydW1lbnQgem9uZXMgbm90IHJlZmVyZW5jZWQsIGRpc2NhcmRpbmcARmlsZSBjb250YWlucyBubyBpbnN0cnVtZW50cwBJbnN0cnVtZW50IGJhZyBjaHVuayBzaXplIGlzIGludmFsaWQASW5zdHJ1bWVudCBiYWcgY2h1bmsgc2l6ZSBtaXNtYXRjaABJbnN0cnVtZW50IGdlbmVyYXRvciBpbmRpY2VzIG5vdCBtb25vdG9uaWMASW5zdHJ1bWVudCBtb2R1bGF0b3IgaW5kaWNlcyBub3QgbW9ub3RvbmljAEluc3RydW1lbnQgY2h1bmsgc2l6ZSBtaXNtYXRjaABObyBpbnN0cnVtZW50IGdlbmVyYXRvcnMgYW5kIHRlcm1pbmFsIGluZGV4IG5vdCAwAE5vIGluc3RydW1lbnQgbW9kdWxhdG9ycyBhbmQgdGVybWluYWwgaW5kZXggbm90IDAASW5zdHJ1bWVudCBtb2R1bGF0b3IgY2h1bmsgc2l6ZSBtaXNtYXRjaABJR0VOIGNodW5rIHNpemUgbWlzbWF0Y2gASW5zdHJ1bWVudCAnJXMnOiBHbG9iYWwgem9uZSBpcyBub3QgZmlyc3Qgem9uZQBJbnN0cnVtZW50ICclcyc6IERpc2NhcmRpbmcgaW52YWxpZCBnbG9iYWwgem9uZQBJbnN0cnVtZW50IGdlbmVyYXRvciBjaHVuayBzaXplIG1pc21hdGNoAEluc3RydW1lbnQgJyVzJzogU29tZSBpbnZhbGlkIGdlbmVyYXRvcnMgd2VyZSBkaXNjYXJkZWQAU2FtcGxlIGhlYWRlciBoYXMgaW52YWxpZCBzaXplAEZpbGUgY29udGFpbnMgbm8gc2FtcGxlcwBQcmVzZXQgJTAzZCAlMDNkOiBJbnZhbGlkIGluc3RydW1lbnQgcmVmZXJlbmNlAEluc3RydW1lbnQgJyVzJzogSW52YWxpZCBzYW1wbGUgcmVmZXJlbmNlAFNhbXBsZSBvZmZzZXRzIGV4Y2VlZCBzYW1wbGUgZGF0YSBjaHVuawBGYWlsZWQgdG8gc2VlayB0byBzYW1wbGUgcG9zaXRpb24ARmFpbGVkIHRvIHJlYWQgc2FtcGxlIGRhdGEAU2FtcGxlIG9mZnNldHMgZXhjZWVkIDI0LWJpdCBzYW1wbGUgZGF0YSBjaHVuawBGYWlsZWQgdG8gc2VlayBwb3NpdGlvbiBmb3IgMjQtYml0IHNhbXBsZSBkYXRhIGluIGRhdGEgZmlsZQBPdXQgb2YgbWVtb3J5IHJlYWRpbmcgMjQtYml0IHNhbXBsZSBkYXRhAEZhaWxlZCB0byByZWFkIDI0LWJpdCBzYW1wbGUgZGF0YQBJZ25vcmluZyAyNC1iaXQgc2FtcGxlIGRhdGEsIHNvdW5kIHF1YWxpdHkgbWlnaHQgc3VmZmVyAFVuYWJsZSB0byByZWFkIG1vZGlmaWNhdG9uIHRpbWUgb2Ygc291bmRmb250IGZpbGUuAEZhaWxlZCB0byBwaW4gdGhlIHNhbXBsZSBkYXRhIHRvIFJBTTsgc3dhcHBpbmcgaXMgcG9zc2libGUuAFRyeWluZyB0byBmcmVlIHNhbXBsZSBkYXRhIG5vdCBmb3VuZCBpbiBjYWNoZS4AY2hvcnVzOiBPdXQgb2YgbWVtb3J5AGNob3J1czogbnVtYmVyIGJsb2NrcyBtdXN0IGJlID49MCEgU2V0dGluZyB2YWx1ZSB0byAwLgBjaG9ydXM6IG51bWJlciBibG9ja3MgbGFyZ2VyIHRoYW4gbWF4LiBhbGxvd2VkISBTZXR0aW5nIHZhbHVlIHRvICVkLgBjaG9ydXM6IHNwZWVkIGlzIHRvbyBsb3cgKG1pbiAlZikhIFNldHRpbmcgdmFsdWUgdG8gbWluLgBjaG9ydXM6IHNwZWVkIG11c3QgYmUgYmVsb3cgJWYgSHohIFNldHRpbmcgdmFsdWUgdG8gbWF4LgBjaG9ydXM6IGRlcHRoIG11c3QgYmUgcG9zaXRpdmUhIFNldHRpbmcgdmFsdWUgdG8gMC4AY2hvcnVzOiBsZXZlbCBtdXN0IGJlIHBvc2l0aXZlISBTZXR0aW5nIHZhbHVlIHRvIDAuAGNob3J1czogbGV2ZWwgbXVzdCBiZSA8IDEwLiBBIHJlYXNvbmFibGUgbGV2ZWwgaXMgPDwgMSEgU2V0dGluZyBpdCB0byAwLjEuAGNob3J1czogVG9vIGhpZ2ggZGVwdGguIFNldHRpbmcgaXQgdG8gbWF4ICglZCkuAGNob3J1czogVW5rbm93biBtb2R1bGF0aW9uIHR5cGUuIFVzaW5nIHNpbmV3YXZlLgBSaW5nYnVmZmVyIGZ1bGwsIHRyeSBpbmNyZWFzaW5nIHBvbHlwaG9ueSEASW50ZXJuYWwgZXJyb3I6IFRyeWluZyB0byByZXBsYWNlIGFuIGV4aXN0aW5nIHJ2b2ljZSBpbiBmbHVpZF9ydm9pY2VfbWl4ZXJfYWRkX3ZvaWNlPyEARXhjZWVkZWQgZmluaXNoZWQgdm9pY2VzIGFycmF5LCB0cnkgaW5jcmVhc2luZyBwb2x5cGhvbnkAVHJ5aW5nIHRvIGV4Y2VlZCBwb2x5cGhvbnkgaW4gZmx1aWRfcnZvaWNlX21peGVyX2FkZF92b2ljZQBldmVudDogT3V0IG9mIG1lbW9yeQoAVW5rbm93biBtb2R1bGF0b3IgdHlwZSAnJWQnLCBkaXNhYmxpbmcgbW9kdWxhdG9yLgBVbmtub3duIG1vZHVsYXRvciBzb3VyY2UgJyVkJywgZGlzYWJsaW5nIG1vZHVsYXRvci4Ac3ludGgudmVyYm9zZQBzeW50aC5yZXZlcmIuYWN0aXZlAHN5bnRoLnJldmVyYi5yb29tLXNpemUAc3ludGgucmV2ZXJiLmRhbXAAc3ludGgucmV2ZXJiLndpZHRoAHN5bnRoLnJldmVyYi5sZXZlbABzeW50aC5jaG9ydXMuYWN0aXZlAHN5bnRoLmNob3J1cy5ucgBzeW50aC5jaG9ydXMubGV2ZWwAc3ludGguY2hvcnVzLnNwZWVkAHN5bnRoLmNob3J1cy5kZXB0aABzeW50aC5sYWRzcGEuYWN0aXZlAHN5bnRoLmxvY2stbWVtb3J5AG1pZGkucG9ydG5hbWUAc3ludGguZGVmYXVsdC1zb3VuZGZvbnQAL3Vzci9sb2NhbC9zaGFyZS9zb3VuZGZvbnRzL2RlZmF1bHQuc2YyAHN5bnRoLnBvbHlwaG9ueQBzeW50aC5nYWluAHN5bnRoLmF1ZGlvLWNoYW5uZWxzAHN5bnRoLmF1ZGlvLWdyb3VwcwBzeW50aC5lZmZlY3RzLWNoYW5uZWxzAHN5bnRoLmVmZmVjdHMtZ3JvdXBzAHN5bnRoLnNhbXBsZS1yYXRlAHN5bnRoLmRldmljZS1pZABzeW50aC5jcHUtY29yZXMAc3ludGgubWluLW5vdGUtbGVuZ3RoAHN5bnRoLnRocmVhZHNhZmUtYXBpAHN5bnRoLm92ZXJmbG93LnBlcmN1c3Npb24Ac3ludGgub3ZlcmZsb3cuc3VzdGFpbmVkAHN5bnRoLm92ZXJmbG93LnJlbGVhc2VkAHN5bnRoLm92ZXJmbG93LmFnZQBzeW50aC5vdmVyZmxvdy52b2x1bWUAc3ludGgub3ZlcmZsb3cuaW1wb3J0YW50AHN5bnRoLm92ZXJmbG93LmltcG9ydGFudC1jaGFubmVscwBzeW50aC5taWRpLWJhbmstc2VsZWN0AGdzAGdtAHhnAG1tYQBzeW50aC5keW5hbWljLXNhbXBsZS1sb2FkaW5nADIuMC4yAFJlcXVlc3RlZCBudW1iZXIgb2YgTUlESSBjaGFubmVscyBpcyBub3QgYSBtdWx0aXBsZSBvZiAxNi4gSSdsbCBpbmNyZWFzZSB0aGUgbnVtYmVyIG9mIGNoYW5uZWxzIHRvIHRoZSBuZXh0IG11bHRpcGxlLgBSZXF1ZXN0ZWQgbnVtYmVyIG9mIGF1ZGlvIGNoYW5uZWxzIGlzIHNtYWxsZXIgdGhhbiAxLiBDaGFuZ2luZyB0aGlzIHNldHRpbmcgdG8gMS4AUmVxdWVzdGVkIG51bWJlciBvZiBhdWRpbyBjaGFubmVscyBpcyB0b28gYmlnICglZCkuIExpbWl0aW5nIHRoaXMgc2V0dGluZyB0byAxMjguAFJlcXVlc3RlZCBudW1iZXIgb2YgYXVkaW8gZ3JvdXBzIGlzIHNtYWxsZXIgdGhhbiAxLiBDaGFuZ2luZyB0aGlzIHNldHRpbmcgdG8gMS4AUmVxdWVzdGVkIG51bWJlciBvZiBhdWRpbyBncm91cHMgaXMgdG9vIGJpZyAoJWQpLiBMaW1pdGluZyB0aGlzIHNldHRpbmcgdG8gMTI4LgBJbnZhbGlkIG51bWJlciBvZiBlZmZlY3RzIGNoYW5uZWxzICglZCkuU2V0dGluZyBlZmZlY3RzIGNoYW5uZWxzIHRvIDIuAEZhaWxlZCB0byBzZXQgb3ZlcmZsb3cgaW1wb3J0YW50IGNoYW5uZWxzAEZsdWlkU3ludGggaGFzIG5vdCBiZWVuIGNvbXBpbGVkIHdpdGggTEFEU1BBIHN1cHBvcnQARmFpbGVkIHRvIGNyZWF0ZSB0aGUgZGVmYXVsdCBTb3VuZEZvbnQgbG9hZGVyAG5vdGVvbgklZAklZAklZAklMDVkCSUuM2YJJS4zZgklLjNmCSVkCSVzAGNoYW5uZWwgaGFzIG5vIHByZXNldABjYwklZAklZAklZABVbm5hbWVkAFNZU0VYACVzAGJhc2ljIGNoYW5uZWwgJWQgb3ZlcmxhcHMgYW5vdGhlciBncm91cABjaGFubmVscHJlc3N1cmUJJWQJJWQAa2V5cHJlc3N1cmUJJWQJJWQJJWQAcGl0Y2hiCSVkCSVkAHBpdGNoc2VucwklZAklZABwcm9nCSVkCSVkCSVkAEluc3RydW1lbnQgbm90IGZvdW5kIG9uIGNoYW5uZWwgJWQgW2Jhbms9JWQgcHJvZz0lZF0sIHN1YnN0aXR1dGVkIFtiYW5rPSVkIHByb2c9JWRdAE5vIHByZXNldCBmb3VuZCBvbiBjaGFubmVsICVkIFtiYW5rPSVkIHByb2c9JWRdAFRoZXJlIGlzIG5vIHByZXNldCB3aXRoIGJhbmsgbnVtYmVyICVkIGFuZCBwcmVzZXQgbnVtYmVyICVkIGluIFNvdW5kRm9udCAlZABUaGVyZSBpcyBubyBwcmVzZXQgd2l0aCBiYW5rIG51bWJlciAlZCBhbmQgcHJlc2V0IG51bWJlciAlZCBpbiBTb3VuZEZvbnQgJXMAUG9seXBob255IGV4Y2VlZGVkLCB0cnlpbmcgdG8ga2lsbCBhIHZvaWNlAEtpbGxpbmcgdm9pY2UgJWQsIGluZGV4ICVkLCBjaGFuICVkLCBrZXkgJWQgAEZhaWxlZCB0byBhbGxvY2F0ZSBhIHN5bnRoZXNpcyBwcm9jZXNzLiAoY2hhbj0lZCxrZXk9JWQpAG5vdGVvbgklZAklZAklZAklMDVkCSUuM2YJJS4zZgklLjNmCSVkAEZhaWxlZCB0byBpbml0aWFsaXplIHZvaWNlAEZhaWxlZCB0byBsb2FkIFNvdW5kRm9udCAiJXMiAE5vIFNvdW5kRm9udCB3aXRoIGlkID0gJWQAVW5sb2FkZWQgU291bmRGb250AENoYW5uZWxzIGRvbid0IGV4aXN0ICh5ZXQpIQBGYWlsZWQgdG8gZXhlY3V0ZSBsZWdhdG8gbW9kZTogJWQAbm90ZW9mZgklZAklZAklZAklMDVkCSUuM2YJJWQARGVsZXRpbmcgdm9pY2UgJXUgd2hpY2ggaGFzIGxvY2tlZCBydm9pY2VzIQBJbnRlcm5hbCBlcnJvcjogQ2Fubm90IGFjY2VzcyBhbiBydm9pY2UgaW4gZmx1aWRfdm9pY2VfaW5pdCEASWdub3JpbmcgaW52YWxpZCBjb250cm9sbGVyLCB1c2luZyBub24tQ0Mgc291cmNlICVpLgBWb2ljZSAlaSBoYXMgbW9yZSBtb2R1bGF0b3JzIHRoYW4gc3VwcG9ydGVkLCBpZ25vcmluZy4AcGxheWVyLnRpbWluZy1zb3VyY2UAc3lzdGVtAHBsYXllci5yZXNldC1zeW50aABzYW1wbGUAJXM6ICVkOiBMb2FkaW5nIG1pZGlmaWxlICVzAC9tbnQvbi9FbXNjcmlwdGVuL2ZsdWlkc3ludGgtZW1zY3JpcHRlbi9zcmMvbWlkaS9mbHVpZF9taWRpLmMAcmIAQ291bGRuJ3Qgb3BlbiB0aGUgTUlESSBmaWxlAEZpbGUgbG9hZDogQ291bGQgbm90IHNlZWsgd2l0aGluIGZpbGUARmlsZSBsb2FkOiBBbGxvY2F0aW5nICVkIGJ5dGVzAE9ubHkgcmVhZCAlZCBieXRlczsgZXhwZWN0ZWQgJWQAJXM6ICVkOiBMb2FkaW5nIG1pZGlmaWxlIGZyb20gbWVtb3J5ICglcCkATVRoZABEb2Vzbid0IGxvb2sgbGlrZSBhIE1JREkgZmlsZTogaW52YWxpZCBNVGhkIGhlYWRlcgBGaWxlIHVzZXMgU01QVEUgdGltaW5nIC0tIE5vdCBpbXBsZW1lbnRlZCB5ZXQARGl2aXNpb249JWQAdGVtcG89JWQsIHRpY2sgdGltZT0lZiBtc2VjLCBjdXIgdGltZT0lZCBtc2VjLCBjdXIgdGljaz0lZABBbiBub24tYXNjaWkgdHJhY2sgaGVhZGVyIGZvdW5kLCBjb3JydXB0IGZpbGUATVRyawBVbmV4cGVjdGVkIGVuZCBvZiBmaWxlAFVuZGVmaW5lZCBzdGF0dXMgYW5kIGludmFsaWQgcnVubmluZyBzdGF0dXMAJXM6ICVkOiBhbGxvYyBtZXRhZGF0YSwgbGVuID0gJWQASW52YWxpZCBsZW5ndGggZm9yIEVuZE9mVHJhY2sgZXZlbnQASW52YWxpZCBsZW5ndGggZm9yIFNldFRlbXBvIG1ldGEgZXZlbnQASW52YWxpZCBsZW5ndGggZm9yIFNNUFRFIE9mZnNldCBtZXRhIGV2ZW50AEludmFsaWQgbGVuZ3RoIGZvciBUaW1lU2lnbmF0dXJlIG1ldGEgZXZlbnQAc2lnbmF0dXJlPSVkLyVkLCBtZXRyb25vbWU9JWQsIDMybmQtbm90ZXM9JWQASW52YWxpZCBsZW5ndGggZm9yIEtleVNpZ25hdHVyZSBtZXRhIGV2ZW50ACVzOiAlZDogZnJlZSBtZXRhZGF0YQBVbnJlY29nbml6ZWQgTUlESSBldmVudABGYWlsZWQgdG8gc2VlayBwb3NpdGlvbiBpbiBmaWxlACVzOiAlZDogRHVyYXRpb249JS4zZiBzZWMASW52YWxpZCB2YXJpYWJsZSBsZW5ndGggbnVtYmVyAHN5bnRoLm1pZGktY2hhbm5lbHMAZXZlbnRfcHJlX25vdGVvbiAlaSAlaSAlaQoAZXZlbnRfcHJlX25vdGVvZmYgJWkgJWkgJWkKAGV2ZW50X3ByZV9jYyAlaSAlaSAlaQoAZXZlbnRfcHJlX3Byb2cgJWkgJWkKAGV2ZW50X3ByZV9waXRjaCAlaSAlaQoAZXZlbnRfcHJlX2NwcmVzcyAlaSAlaQoAZXZlbnRfcHJlX2twcmVzcyAlaSAlaSAlaQoAZXZlbnRfcG9zdF9ub3Rlb24gJWkgJWkgJWkKAGV2ZW50X3Bvc3Rfbm90ZW9mZiAlaSAlaSAlaQoAZXZlbnRfcG9zdF9jYyAlaSAlaSAlaQoAZXZlbnRfcG9zdF9wcm9nICVpICVpCgBldmVudF9wb3N0X3BpdGNoICVpICVpCgBldmVudF9wb3N0X2NwcmVzcyAlaSAlaQoAZXZlbnRfcG9zdF9rcHJlc3MgJWkgJWkgJWkKAGZsdWlkc3ludGgAc2VxdWVuY2VyOiBPdXQgb2YgbWVtb3J5CgBzZXF1ZW5jZXI6IG5vIG1vcmUgZnJlZSBldmVudHMKAHNlcXVlbmNlcjogc2NhbGUgPD0gMCA6ICVmCgBhdWRpby5zYW1wbGUtZm9ybWF0ADE2Yml0cwBmbG9hdABhdWRpby5wZXJpb2RzAGF1ZGlvLnJlYWx0aW1lLXByaW8AYXVkaW8uZHJpdmVyAGZpbGUAVXNpbmcgJyVzJyBhdWRpbyBkcml2ZXIATlVMTABDb3VsZG4ndCBmaW5kIHRoZSByZXF1ZXN0ZWQgYXVkaW8gZHJpdmVyICclcycuAE5vIGF1ZGlvIGRyaXZlcnMgYXZhaWxhYmxlLgBDYWxsYmFjayBtb2RlIHVuc3VwcG9ydGVkIG9uICclcycgYXVkaW8gZHJpdmVyAG1pZGkuYXV0b2Nvbm5lY3QAbWlkaS5yZWFsdGltZS1wcmlvAG1pZGkuZHJpdmVyAENvdWxkbid0IGZpbmQgdGhlIHJlcXVlc3RlZCBtaWRpIGRyaXZlci4AVmFsaWQgZHJpdmVycyBhcmU6ICVzAE5vIE1JREkgZHJpdmVycyBhdmFpbGFibGUuAGF1ZGlvLmZpbGUubmFtZQBmbHVpZHN5bnRoLnJhdwBhdWRpby5maWxlLnR5cGUAcmF3AGF1ZGlvLmZpbGUuZm9ybWF0AHMxNgBhdWRpby5maWxlLmVuZGlhbgBjcHUAT3V0IG9mIG1lbW9yeQBhdWRpby5wZXJpb2Qtc2l6ZQBObyBmaWxlIG5hbWUgc3BlY2lmaWVkAHdiAEZhaWxlZCB0byBvcGVuIHRoZSBmaWxlICclcycAQXVkaW8gb3V0cHV0IGZpbGUgd3JpdGUgZXJyb3I6ICVzAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYAbmFuAE5BTgAuAHJ3YQDNnwEEbmFtZQHEnwHSBgAFYWJvcnQBDWVubGFyZ2VNZW1vcnkCDmdldFRvdGFsTWVtb3J5AxdhYm9ydE9uQ2Fubm90R3Jvd01lbW9yeQQJanNDYWxsX2lpBQpqc0NhbGxfaWlpBgtqc0NhbGxfaWlpaQcNanNDYWxsX2lpaWlpaQgOanNDYWxsX2lpaWlpaWkJCWpzQ2FsbF92aQoKanNDYWxsX3ZpaQsLanNDYWxsX3ZpaWQMC2pzQ2FsbF92aWlpDQxqc0NhbGxfdmlpaWkOB19fX2xvY2sPC19fX3NldEVyck5vEA1fX19zeXNjYWxsMTQwEQ1fX19zeXNjYWxsMTQ1Eg1fX19zeXNjYWxsMTQ2Ew1fX19zeXNjYWxsMTUwFA1fX19zeXNjYWxsMTUxFQ1fX19zeXNjYWxsMTk1Fg1fX19zeXNjYWxsMjIxFwtfX19zeXNjYWxsNRgMX19fc3lzY2FsbDU0GQtfX19zeXNjYWxsNhoJX19fdW5sb2NrGwZfYWJvcnQcFl9lbXNjcmlwdGVuX21lbWNweV9iaWcdDV9nZXR0aW1lb2ZkYXkeDl9sbHZtX2V4cDJfZjY0HwdfdXNsZWVwIBBfX2dyb3dXYXNtTWVtb3J5IQpzdGFja0FsbG9jIglzdGFja1NhdmUjDHN0YWNrUmVzdG9yZSQTZXN0YWJsaXNoU3RhY2tTcGFjZSUIc2V0VGhyZXcmC3NldFRlbXBSZXQwJwtnZXRUZW1wUmV0MCgcX25ld19mbHVpZF9maWxlX2F1ZGlvX2RyaXZlcikZX2ZsdWlkX2ZpbGVfYXVkaW9fcnVuX3MxNiofX2RlbGV0ZV9mbHVpZF9maWxlX2F1ZGlvX2RyaXZlcisRX2ZsdWlkX2N0Mmh6X3JlYWwsDF9mbHVpZF9jdDJoei0NX2ZsdWlkX2NiMmFtcC4TX2ZsdWlkX3RjMnNlY19kZWxheS8UX2ZsdWlkX3RjMnNlY19hdHRhY2swDV9mbHVpZF90YzJzZWMxDV9mbHVpZF9hY3QyaHoyCl9mbHVpZF9wYW4zDl9mbHVpZF9iYWxhbmNlNA5fZmx1aWRfY29uY2F2ZTUNX2ZsdWlkX2NvbnZleDYSX2ZsdWlkX2RpcmVjdF9oYXNoNxdfZGVsZXRlX2ZsdWlkX2hhc2h0YWJsZTgdX2ZsdWlkX2hhc2h0YWJsZV9tYXliZV9yZXNpemU5Fl9mbHVpZF9oYXNodGFibGVfdW5yZWY6GV9uZXdfZmx1aWRfaGFzaHRhYmxlX2Z1bGw7F19mbHVpZF9oYXNodGFibGVfbG9va3VwPBdfZmx1aWRfaGFzaHRhYmxlX2luc2VydD0gX2ZsdWlkX2hhc2h0YWJsZV9pbnNlcnRfaW50ZXJuYWw+GF9mbHVpZF9oYXNodGFibGVfZm9yZWFjaD8QX2ZsdWlkX3N0cl9lcXVhbEAPX2ZsdWlkX3N0cl9oYXNoQRJfZGVsZXRlX2ZsdWlkX2xpc3RCE19kZWxldGUxX2ZsdWlkX2xpc3RDEl9mbHVpZF9saXN0X2FwcGVuZEQTX2ZsdWlkX2xpc3RfcHJlcGVuZEUPX2ZsdWlkX2xpc3RfbnRoRhJfZmx1aWRfbGlzdF9yZW1vdmVHF19mbHVpZF9saXN0X3JlbW92ZV9saW5rSBBfZmx1aWRfbGlzdF9zb3J0SRBfZmx1aWRfbGlzdF9zaXplShVfZmx1aWRfbGlzdF9pbnNlcnRfYXRLHF9mbHVpZF9saXN0X3N0cl9jb21wYXJlX2Z1bmNMFV9uZXdfZmx1aWRfcmluZ2J1ZmZlck0YX2RlbGV0ZV9mbHVpZF9yaW5nYnVmZmVyThNfbmV3X2ZsdWlkX3NldHRpbmdzTyJfZmx1aWRfc2V0dGluZ3NfdmFsdWVfZGVzdHJveV9mdW5jUBZfZGVsZXRlX2ZsdWlkX3NldHRpbmdzURxfZmx1aWRfc2V0dGluZ3NfcmVnaXN0ZXJfc3RyUhhfZmx1aWRfc2V0dGluZ3NfdG9rZW5pemVTE19mbHVpZF9zZXR0aW5nc19zZXRUHF9mbHVpZF9zZXR0aW5nc19yZWdpc3Rlcl9udW1VHF9mbHVpZF9zZXR0aW5nc19yZWdpc3Rlcl9pbnRWHF9mbHVpZF9zZXR0aW5nc19jYWxsYmFja19zdHJXHF9mbHVpZF9zZXR0aW5nc19jYWxsYmFja19udW1YHF9mbHVpZF9zZXR0aW5nc19jYWxsYmFja19pbnRZGF9mbHVpZF9zZXR0aW5nc19nZXRfdHlwZVoZX2ZsdWlkX3NldHRpbmdzX2dldF9oaW50c1sbX2ZsdWlkX3NldHRpbmdzX2lzX3JlYWx0aW1lXBZfZmx1aWRfc2V0dGluZ3Nfc2V0c3RyXRdfZmx1aWRfc2V0dGluZ3NfY29weXN0cl4WX2ZsdWlkX3NldHRpbmdzX2R1cHN0cl8ZX2ZsdWlkX3NldHRpbmdzX3N0cl9lcXVhbGAeX2ZsdWlkX3NldHRpbmdzX2dldHN0cl9kZWZhdWx0YRpfZmx1aWRfc2V0dGluZ3NfYWRkX29wdGlvbmIWX2ZsdWlkX3NldHRpbmdzX3NldG51bWMWX2ZsdWlkX3NldHRpbmdzX2dldG51bWQcX2ZsdWlkX3NldHRpbmdzX2dldG51bV9mbG9hdGUcX2ZsdWlkX3NldHRpbmdzX2dldG51bV9yYW5nZWYeX2ZsdWlkX3NldHRpbmdzX2dldG51bV9kZWZhdWx0ZxZfZmx1aWRfc2V0dGluZ3Nfc2V0aW50aBZfZmx1aWRfc2V0dGluZ3NfZ2V0aW50aRxfZmx1aWRfc2V0dGluZ3NfZ2V0aW50X3Jhbmdlah5fZmx1aWRfc2V0dGluZ3NfZ2V0aW50X2RlZmF1bHRrHl9mbHVpZF9zZXR0aW5nc19mb3JlYWNoX29wdGlvbmwcX2ZsdWlkX3NldHRpbmdzX29wdGlvbl9jb3VudG0dX2ZsdWlkX3NldHRpbmdzX29wdGlvbl9jb25jYXRuF19mbHVpZF9zZXR0aW5nc19mb3JlYWNobxxfZmx1aWRfc2V0dGluZ3NfZm9yZWFjaF9pdGVycBlfZmx1aWRfc2V0dGluZ3Nfc3BsaXRfY3N2cRdfZmx1aWRfc2V0X2xvZ19mdW5jdGlvbnIbX2ZsdWlkX2RlZmF1bHRfbG9nX2Z1bmN0aW9ucwpfZmx1aWRfbG9ndA1fZmx1aWRfc3RydG9rdQxfZmx1aWRfZXJyb3J2El9mbHVpZF9pc19taWRpZmlsZXcTX2ZsdWlkX2lzX3NvdW5kZm9udHgNX2ZsdWlkX21zbGVlcHkOX2ZsdWlkX2N1cnRpbWV6DF9mbHVpZF91dGltZXsQX25ld19mbHVpZF90aW1lcnwTX2RlbGV0ZV9mbHVpZF90aW1lcn0RX2ZsdWlkX3RpbWVyX2pvaW5+Fl9uZXdfZmx1aWRfZGVmc2Zsb2FkZXJ/F19mbHVpZF9kZWZzZmxvYWRlcl9sb2FkgAEeX2ZsdWlkX2RlZnNmb250X3Nmb250X2dldF9uYW1lgQEgX2ZsdWlkX2RlZnNmb250X3Nmb250X2dldF9wcmVzZXSCASVfZmx1aWRfZGVmc2ZvbnRfc2ZvbnRfaXRlcmF0aW9uX3N0YXJ0gwEkX2ZsdWlkX2RlZnNmb250X3Nmb250X2l0ZXJhdGlvbl9uZXh0hAEcX2ZsdWlkX2RlZnNmb250X3Nmb250X2RlbGV0ZYUBFl9kZWxldGVfZmx1aWRfZGVmc2ZvbnSGARRfZmx1aWRfZGVmc2ZvbnRfbG9hZIcBHl9keW5hbWljX3NhbXBsZXNfc2FtcGxlX25vdGlmeYgBI19mbHVpZF9kZWZzZm9udF9sb2FkX2FsbF9zYW1wbGVkYXRhiQEdX2ZsdWlkX2RlZnByZXNldF9pbXBvcnRfc2ZvbnSKASBfZmx1aWRfZGVmcHJlc2V0X3ByZXNldF9nZXRfbmFtZYsBI19mbHVpZF9kZWZwcmVzZXRfcHJlc2V0X2dldF9iYW5rbnVtjAEfX2ZsdWlkX2RlZnByZXNldF9wcmVzZXRfZ2V0X251bY0BHl9mbHVpZF9kZWZwcmVzZXRfcHJlc2V0X25vdGVvbo4BHl9mbHVpZF9kZWZwcmVzZXRfcHJlc2V0X2RlbGV0ZY8BHl9keW5hbWljX3NhbXBsZXNfcHJlc2V0X25vdGlmeZABF19kZWxldGVfZmx1aWRfZGVmcHJlc2V0kQEXX2ZsdWlkX2RlZnByZXNldF9ub3Rlb26SARZfbmV3X2ZsdWlkX3ByZXNldF96b25lkwEfX2ZsdWlkX3ByZXNldF96b25lX2ltcG9ydF9zZm9udJQBGF9mbHVpZF9pbnN0X2ltcG9ydF9zZm9udJUBFF9uZXdfZmx1aWRfaW5zdF96b25llgEdX2ZsdWlkX2luc3Rfem9uZV9pbXBvcnRfc2ZvbnSXARJfZGVsZXRlX2ZsdWlkX2luc3SYARhfZmx1aWRfem9uZV9pbnNpZGVfcmFuZ2WZAQ5fZGVmYXVsdF9mb3BlbpoBD19kZWZhdWx0X2ZjbG9zZZsBDl9kZWZhdWx0X2Z0ZWxsnAELX3NhZmVfZnJlYWSdAQtfc2FmZV9mc2Vla54BE19uZXdfZmx1aWRfc2Zsb2FkZXKfAR1fZmx1aWRfc2Zsb2FkZXJfc2V0X2NhbGxiYWNrc6ABFl9kZWxldGVfZmx1aWRfc2Zsb2FkZXKhARhfZmx1aWRfc2Zsb2FkZXJfc2V0X2RhdGGiARhfZmx1aWRfc2Zsb2FkZXJfZ2V0X2RhdGGjARBfbmV3X2ZsdWlkX3Nmb250pAETX2ZsdWlkX3Nmb250X2dldF9pZKUBFV9mbHVpZF9zZm9udF9nZXRfbmFtZaYBF19mbHVpZF9zZm9udF9nZXRfcHJlc2V0pwEcX2ZsdWlkX3Nmb250X2l0ZXJhdGlvbl9zdGFydKgBG19mbHVpZF9zZm9udF9pdGVyYXRpb25fbmV4dKkBE19kZWxldGVfZmx1aWRfc2ZvbnSqARFfbmV3X2ZsdWlkX3ByZXNldKsBFl9mbHVpZF9wcmVzZXRfZ2V0X25hbWWsARlfZmx1aWRfcHJlc2V0X2dldF9iYW5rbnVtrQERX25ld19mbHVpZF9zYW1wbGWuARRfZGVsZXRlX2ZsdWlkX3NhbXBsZa8BFF9mbHVpZF9zYW1wbGVfc2l6ZW9msAEWX2ZsdWlkX3NhbXBsZV9zZXRfbmFtZbEBHF9mbHVpZF9zYW1wbGVfc2V0X3NvdW5kX2RhdGGyARZfZmx1aWRfc2FtcGxlX3NldF9sb29wswEXX2ZsdWlkX3NhbXBsZV9zZXRfcGl0Y2i0ARZfZmx1aWRfc2FtcGxlX3ZhbGlkYXRltQEbX2ZsdWlkX3NhbXBsZV9zYW5pdGl6ZV9sb29wtgESX2ZsdWlkX3NmZmlsZV9vcGVutwEIX2NodW5raWS4ARNfZmx1aWRfc2ZmaWxlX2Nsb3NluQEbX2ZsdWlkX3NmZmlsZV9wYXJzZV9wcmVzZXRzugEUX3ByZXNldF9jb21wYXJlX2Z1bmO7AR5fZmx1aWRfc2ZmaWxlX3JlYWRfc2FtcGxlX2RhdGG8ARdfZmx1aWRfc2FtcGxlY2FjaGVfbG9hZL0BGV9mbHVpZF9zYW1wbGVjYWNoZV91bmxvYWS+ARhfZmx1aWRfYWRzcl9lbnZfc2V0X2RhdGG/ARFfbmV3X2ZsdWlkX2Nob3J1c8ABFF9kZWxldGVfZmx1aWRfY2hvcnVzwQETX2ZsdWlkX2Nob3J1c19yZXNldMIBEV9mbHVpZF9jaG9ydXNfc2V0wwEYX2ZsdWlkX2Nob3J1c19wcm9jZXNzbWl4xAEcX2ZsdWlkX2Nob3J1c19wcm9jZXNzcmVwbGFjZcUBF19mbHVpZF9paXJfZmlsdGVyX2FwcGx5xgEWX2ZsdWlkX2lpcl9maWx0ZXJfaW5pdMcBF19mbHVpZF9paXJfZmlsdGVyX3Jlc2V0yAEaX2ZsdWlkX2lpcl9maWx0ZXJfc2V0X2ZyZXPJARdfZmx1aWRfaWlyX2ZpbHRlcl9zZXRfccoBFl9mbHVpZF9paXJfZmlsdGVyX2NhbGPLARNfZmx1aWRfbGZvX3NldF9pbmNyzAEUX2ZsdWlkX2xmb19zZXRfZGVsYXnNARNfZmx1aWRfcnZvaWNlX3dyaXRlzgEdX2ZsdWlkX3J2b2ljZV9idWZmZXJzX3NldF9hbXDPASFfZmx1aWRfcnZvaWNlX2J1ZmZlcnNfc2V0X21hcHBpbmfQARNfZmx1aWRfcnZvaWNlX3Jlc2V00QEVX2ZsdWlkX3J2b2ljZV9ub3Rlb2Zm0gEkX2ZsdWlkX3J2b2ljZV9tdWx0aV9yZXRyaWdnZXJfYXR0YWNr0wEcX2ZsdWlkX3J2b2ljZV9zZXRfcG9ydGFtZW50b9QBHV9mbHVpZF9ydm9pY2Vfc2V0X291dHB1dF9yYXRl1QEfX2ZsdWlkX3J2b2ljZV9zZXRfaW50ZXJwX21ldGhvZNYBH19mbHVpZF9ydm9pY2Vfc2V0X3Jvb3RfcGl0Y2hfaHrXARdfZmx1aWRfcnZvaWNlX3NldF9waXRjaNgBHV9mbHVpZF9ydm9pY2Vfc2V0X2F0dGVudWF0aW9u2QEkX2ZsdWlkX3J2b2ljZV9zZXRfbWluX2F0dGVudWF0aW9uX2NC2gEhX2ZsdWlkX3J2b2ljZV9zZXRfdmlibGZvX3RvX3BpdGNo2wEhX2ZsdWlkX3J2b2ljZV9zZXRfbW9kbGZvX3RvX3BpdGNo3AEfX2ZsdWlkX3J2b2ljZV9zZXRfbW9kbGZvX3RvX3ZvbN0BHl9mbHVpZF9ydm9pY2Vfc2V0X21vZGxmb190b19mY94BHl9mbHVpZF9ydm9pY2Vfc2V0X21vZGVudl90b19mY98BIV9mbHVpZF9ydm9pY2Vfc2V0X21vZGVudl90b19waXRjaOABHF9mbHVpZF9ydm9pY2Vfc2V0X3N5bnRoX2dhaW7hARdfZmx1aWRfcnZvaWNlX3NldF9zdGFydOIBFV9mbHVpZF9ydm9pY2Vfc2V0X2VuZOMBG19mbHVpZF9ydm9pY2Vfc2V0X2xvb3BzdGFydOQBGV9mbHVpZF9ydm9pY2Vfc2V0X2xvb3BlbmTlARxfZmx1aWRfcnZvaWNlX3NldF9zYW1wbGVtb2Rl5gEYX2ZsdWlkX3J2b2ljZV9zZXRfc2FtcGxl5wEWX2ZsdWlkX3J2b2ljZV92b2ljZW9mZugBIl9mbHVpZF9ydm9pY2VfZHNwX2ludGVycG9sYXRlX25vbmXpASRfZmx1aWRfcnZvaWNlX2RzcF9pbnRlcnBvbGF0ZV9saW5lYXLqASdfZmx1aWRfcnZvaWNlX2RzcF9pbnRlcnBvbGF0ZV80dGhfb3JkZXLrASdfZmx1aWRfcnZvaWNlX2RzcF9pbnRlcnBvbGF0ZV83dGhfb3JkZXLsAShfZmx1aWRfcnZvaWNlX2V2ZW50aGFuZGxlcl9wdXNoX2ludF9yZWFs7QEfX2ZsdWlkX3J2b2ljZV9ldmVudGhhbmRsZXJfcHVzaO4BI19mbHVpZF9ydm9pY2VfZXZlbnRoYW5kbGVyX3B1c2hfcHRy7wEyX2ZsdWlkX3J2b2ljZV9ldmVudGhhbmRsZXJfZmluaXNoZWRfdm9pY2VfY2FsbGJhY2vwAR5fbmV3X2ZsdWlkX3J2b2ljZV9ldmVudGhhbmRsZXLxASFfZGVsZXRlX2ZsdWlkX3J2b2ljZV9ldmVudGhhbmRsZXLyASlfZmx1aWRfcnZvaWNlX2V2ZW50aGFuZGxlcl9kaXNwYXRjaF9jb3VudPMBJ19mbHVpZF9ydm9pY2VfZXZlbnRoYW5kbGVyX2Rpc3BhdGNoX2FsbPQBHV9mbHVpZF9ydm9pY2VfbWl4ZXJfYWRkX3ZvaWNl9QEhX2ZsdWlkX3J2b2ljZV9taXhlcl9zZXRfcG9seXBob2559gEiX2ZsdWlkX3J2b2ljZV9taXhlcl9zZXRfc2FtcGxlcmF0ZfcBF19uZXdfZmx1aWRfcnZvaWNlX21peGVy+AEaX2RlbGV0ZV9mbHVpZF9ydm9pY2VfbWl4ZXL5ASZfZmx1aWRfcnZvaWNlX21peGVyX3NldF9yZXZlcmJfZW5hYmxlZPoBJl9mbHVpZF9ydm9pY2VfbWl4ZXJfc2V0X2Nob3J1c19lbmFibGVk+wEeX2ZsdWlkX3J2b2ljZV9taXhlcl9zZXRfbWl4X2Z4/AElX2ZsdWlkX3J2b2ljZV9taXhlcl9zZXRfY2hvcnVzX3BhcmFtc/0BJV9mbHVpZF9ydm9pY2VfbWl4ZXJfc2V0X3JldmVyYl9wYXJhbXP+ASBfZmx1aWRfcnZvaWNlX21peGVyX3Jlc2V0X3JldmVyYv8BIF9mbHVpZF9ydm9pY2VfbWl4ZXJfcmVzZXRfY2hvcnVzgAIcX2ZsdWlkX3J2b2ljZV9taXhlcl9nZXRfYnVmc4ECH19mbHVpZF9ydm9pY2VfbWl4ZXJfZ2V0X2Z4X2J1ZnOCAiBfZmx1aWRfcnZvaWNlX21peGVyX2dldF9idWZjb3VudIMCGl9mbHVpZF9ydm9pY2VfbWl4ZXJfcmVuZGVyhAIfX2ZsdWlkX3JlbmRlcl9sb29wX3NpbmdsZXRocmVhZIUCE19uZXdfZmx1aWRfcmV2bW9kZWyGAhtfZmx1aWRfc2V0X3Jldm1vZGVsX2J1ZmZlcnOHAhRfZmx1aWRfcmV2bW9kZWxfaW5pdIgCFl9kZWxldGVfZmx1aWRfcmV2bW9kZWyJAhVfZmx1aWRfcmV2bW9kZWxfcmVzZXSKAh5fZmx1aWRfcmV2bW9kZWxfcHJvY2Vzc3JlcGxhY2WLAhpfZmx1aWRfcmV2bW9kZWxfcHJvY2Vzc21peIwCE19mbHVpZF9yZXZtb2RlbF9zZXSNAiFfZmx1aWRfcmV2bW9kZWxfc2FtcGxlcmF0ZV9jaGFuZ2WOAhJfbmV3X2ZsdWlkX2NoYW5uZWyPAhNfZmx1aWRfY2hhbm5lbF9pbml0kAIYX2ZsdWlkX2NoYW5uZWxfaW5pdF9jdHJskQIUX2ZsdWlkX2NoYW5uZWxfcmVzZXSSAhlfZmx1aWRfY2hhbm5lbF9zZXRfcHJlc2V0kwIiX2ZsdWlkX2NoYW5uZWxfc2V0X3Nmb250X2JhbmtfcHJvZ5QCG19mbHVpZF9jaGFubmVsX3NldF9iYW5rX2xzYpUCG19mbHVpZF9jaGFubmVsX3NldF9iYW5rX21zYpYCIl9mbHVpZF9jaGFubmVsX2dldF9zZm9udF9iYW5rX3Byb2eXAhtfZmx1aWRfY2hhbm5lbF9hZGRfbW9ub2xpc3SYAh5fZmx1aWRfY2hhbm5lbF9zZWFyY2hfbW9ub2xpc3SZAh5fZmx1aWRfY2hhbm5lbF9yZW1vdmVfbW9ub2xpc3SaAh1fZmx1aWRfY2hhbm5lbF9jbGVhcl9tb25vbGlzdJsCI19mbHVpZF9jaGFubmVsX3NldF9vbmVub3RlX21vbm9saXN0nAIpX2ZsdWlkX2NoYW5uZWxfaW52YWxpZF9wcmV2X25vdGVfc3RhY2NhdG+dAhhfZmx1aWRfY2hhbm5lbF9jY19sZWdhdG+eAiRfZmx1aWRfY2hhbm5lbF9jY19icmVhdGhfbm90ZV9vbl9vZmafAhJfZmx1aWRfZXZlbnRfY2xlYXKgAhBfbmV3X2ZsdWlkX2V2ZW50oQIVX2ZsdWlkX2V2ZW50X3NldF90aW1logIXX2ZsdWlkX2V2ZW50X3NldF9zb3VyY2WjAhVfZmx1aWRfZXZlbnRfc2V0X2Rlc3SkAhJfZmx1aWRfZXZlbnRfdGltZXKlAhNfZmx1aWRfZXZlbnRfbm90ZW9upgIUX2ZsdWlkX2V2ZW50X25vdGVvZmanAhFfZmx1aWRfZXZlbnRfbm90ZagCG19mbHVpZF9ldmVudF9hbGxfc291bmRzX29mZqkCGl9mbHVpZF9ldmVudF9hbGxfbm90ZXNfb2ZmqgIYX2ZsdWlkX2V2ZW50X2Jhbmtfc2VsZWN0qwIbX2ZsdWlkX2V2ZW50X3Byb2dyYW1fY2hhbmdlrAIbX2ZsdWlkX2V2ZW50X3Byb2dyYW1fc2VsZWN0rQIfX2ZsdWlkX2V2ZW50X2FueV9jb250cm9sX2NoYW5nZa4CF19mbHVpZF9ldmVudF9waXRjaF9iZW5krwIcX2ZsdWlkX2V2ZW50X3BpdGNoX3doZWVsc2Vuc7ACF19mbHVpZF9ldmVudF9tb2R1bGF0aW9usQIUX2ZsdWlkX2V2ZW50X3N1c3RhaW6yAhtfZmx1aWRfZXZlbnRfY29udHJvbF9jaGFuZ2WzAhBfZmx1aWRfZXZlbnRfcGFutAITX2ZsdWlkX2V2ZW50X3ZvbHVtZbUCGF9mbHVpZF9ldmVudF9yZXZlcmJfc2VuZLYCGF9mbHVpZF9ldmVudF9jaG9ydXNfc2VuZLcCGl9mbHVpZF9ldmVudF91bnJlZ2lzdGVyaW5nuAIdX2ZsdWlkX2V2ZW50X2NoYW5uZWxfcHJlc3N1cmW5AhlfZmx1aWRfZXZlbnRfa2V5X3ByZXNzdXJlugIZX2ZsdWlkX2V2ZW50X3N5c3RlbV9yZXNldLsCF19mbHVpZF9ldmVudF9nZXRfc291cmNlvAIVX2ZsdWlkX2V2ZW50X2dldF9kZXN0vQIYX2ZsdWlkX2V2ZW50X2dldF9jaGFubmVsvgIUX2ZsdWlkX2V2ZW50X2dldF9rZXm/AhlfZmx1aWRfZXZlbnRfZ2V0X3ZlbG9jaXR5wAIYX2ZsdWlkX2V2ZW50X2dldF9jb250cm9swQIWX2ZsdWlkX2V2ZW50X2dldF92YWx1ZcICFV9mbHVpZF9ldmVudF9nZXRfZGF0YcMCGV9mbHVpZF9ldmVudF9nZXRfZHVyYXRpb27EAhZfZmx1aWRfZXZlbnRfZ2V0X3BpdGNoxQIVX19mbHVpZF9ldnRfaGVhcF9pbml0xgIVX19mbHVpZF9ldnRfaGVhcF9mcmVlxwIZX19mbHVpZF9zZXFfaGVhcF9nZXRfZnJlZcgCGV9fZmx1aWRfc2VxX2hlYXBfc2V0X2ZyZWXJAh1fZmx1aWRfZ2VuX3NldF9kZWZhdWx0X3ZhbHVlc8oCD19mbHVpZF9nZW5faW5pdMsCFV9mbHVpZF9nZW5fc2NhbGVfbnJwbswCEF9mbHVpZF9tb2RfY2xvbmXNAhZfZmx1aWRfbW9kX3NldF9zb3VyY2UxzgIWX2ZsdWlkX21vZF9zZXRfc291cmNlMs8CE19mbHVpZF9tb2Rfc2V0X2Rlc3TQAhVfZmx1aWRfbW9kX3NldF9hbW91bnTRAhZfZmx1aWRfbW9kX2dldF9zb3VyY2Ux0gIVX2ZsdWlkX21vZF9nZXRfZmxhZ3Mx0wIWX2ZsdWlkX21vZF9nZXRfc291cmNlMtQCFV9mbHVpZF9tb2RfZ2V0X2ZsYWdzMtUCE19mbHVpZF9tb2RfZ2V0X2Rlc3TWAhVfZmx1aWRfbW9kX2dldF9hbW91bnTXAhRfZmx1aWRfbW9kX2dldF92YWx1ZdgCG19mbHVpZF9tb2RfZ2V0X3NvdXJjZV92YWx1ZdkCIV9mbHVpZF9tb2RfdHJhbnNmb3JtX3NvdXJjZV92YWx1ZdoCGF9mbHVpZF9tb2RfdGVzdF9pZGVudGl0edsCDl9uZXdfZmx1aWRfbW9k3AIRX2ZsdWlkX21vZF9zaXplb2bdAhVfZmx1aWRfbW9kX2hhc19zb3VyY2XeAhNfZmx1aWRfbW9kX2hhc19kZXN03wIVX2ZsdWlkX3N5bnRoX3NldHRpbmdz4AIOX2ZsdWlkX3ZlcnNpb27hAhJfZmx1aWRfdmVyc2lvbl9zdHLiAhdfbmV3X2ZsdWlkX3NhbXBsZV90aW1lcuMCGl9kZWxldGVfZmx1aWRfc2FtcGxlX3RpbWVy5AIQX25ld19mbHVpZF9zeW50aOUCH19mbHVpZF9zeW50aF9oYW5kbGVfc2FtcGxlX3JhdGXmAhhfZmx1aWRfc3ludGhfaGFuZGxlX2dhaW7nAh1fZmx1aWRfc3ludGhfaGFuZGxlX3BvbHlwaG9ueegCHV9mbHVpZF9zeW50aF9oYW5kbGVfZGV2aWNlX2lk6QIcX2ZsdWlkX3N5bnRoX2hhbmRsZV9vdmVyZmxvd+oCJl9mbHVpZF9zeW50aF9oYW5kbGVfaW1wb3J0YW50X2NoYW5uZWxz6wIlX2ZsdWlkX3N5bnRoX2hhbmRsZV9yZXZlcmJfY2hvcnVzX251bewCJV9mbHVpZF9zeW50aF9oYW5kbGVfcmV2ZXJiX2Nob3J1c19pbnTtAiNfZmx1aWRfc3ludGhfc2V0X2ltcG9ydGFudF9jaGFubmVsc+4CHF9mbHVpZF9zeW50aF9hZGRfZGVmYXVsdF9tb2TvAhZfZmx1aWRfc3ludGhfYXBpX2VudGVy8AIgX2ZsdWlkX3N5bnRoX2FsbF9ub3Rlc19vZmZfTE9DQUzxAhNfZGVsZXRlX2ZsdWlkX3N5bnRo8gIaX2ZsdWlkX3N5bnRoX3NldF9wb2x5cGhvbnnzAhVfZmx1aWRfc3ludGhfc2V0X2dhaW70AhxfZmx1aWRfc3ludGhfc2V0X3NhbXBsZV9yYXRl9QIZX2ZsdWlkX3N5bnRoX2FkZF9zZmxvYWRlcvYCGl9mbHVpZF9zeW50aF9zZXRfcmV2ZXJiX29u9wIaX2ZsdWlkX3N5bnRoX3NldF9jaG9ydXNfb274AhJfZmx1aWRfc3ludGhfZXJyb3L5AhNfZmx1aWRfc3ludGhfbm90ZW9u+gItX2ZsdWlkX3N5bnRoX3JlbGVhc2Vfdm9pY2Vfb25fc2FtZV9ub3RlX0xPQ0FM+wIUX2ZsdWlkX3N5bnRoX25vdGVvZmb8Ah9fZmx1aWRfc3ludGhfcmVtb3ZlX2RlZmF1bHRfbW9k/QIPX2ZsdWlkX3N5bnRoX2Nj/gIVX2ZsdWlkX3N5bnRoX2NjX0xPQ0FM/wIhX2ZsdWlkX3N5bnRoX2FsbF9zb3VuZHNfb2ZmX0xPQ0FMgAMcX2ZsdWlkX3N5bnRoX2FjdGl2YXRlX3R1bmluZ4EDIF9mbHVpZF9zeW50aF9yZXBsYWNlX3R1bmluZ19MT0NLggMTX2ZsdWlkX3N5bnRoX2dldF9jY4MDEl9mbHVpZF9zeW50aF9zeXNleIQDGF9mbHVpZF9zeW50aF90dW5pbmdfZHVtcIUDF19mbHVpZF9zeW50aF90dW5lX25vdGVzhgMjX2ZsdWlkX3N5bnRoX2FjdGl2YXRlX29jdGF2ZV90dW5pbmeHAxpfZmx1aWRfc3ludGhfYWxsX25vdGVzX29mZogDG19mbHVpZF9zeW50aF9hbGxfc291bmRzX29mZokDGV9mbHVpZF9zeW50aF9zeXN0ZW1fcmVzZXSKAx5fZmx1aWRfc3ludGhfc2V0X2Jhc2ljX2NoYW5uZWyLAx1fZmx1aWRfc3ludGhfY2hhbm5lbF9wcmVzc3VyZYwDGV9mbHVpZF9zeW50aF9rZXlfcHJlc3N1cmWNAxdfZmx1aWRfc3ludGhfcGl0Y2hfYmVuZI4DG19mbHVpZF9zeW50aF9nZXRfcGl0Y2hfYmVuZI8DHV9mbHVpZF9zeW50aF9waXRjaF93aGVlbF9zZW5zkAMhX2ZsdWlkX3N5bnRoX2dldF9waXRjaF93aGVlbF9zZW5zkQMYX2ZsdWlkX3N5bnRoX2ZpbmRfcHJlc2V0kgMbX2ZsdWlkX3N5bnRoX3Byb2dyYW1fY2hhbmdlkwMYX2ZsdWlkX3N5bnRoX2Jhbmtfc2VsZWN0lAMZX2ZsdWlkX3N5bnRoX3Nmb250X3NlbGVjdJUDGl9mbHVpZF9zeW50aF91bnNldF9wcm9ncmFtlgMYX2ZsdWlkX3N5bnRoX2dldF9wcm9ncmFtlwMbX2ZsdWlkX3N5bnRoX3Byb2dyYW1fc2VsZWN0mAMpX2ZsdWlkX3N5bnRoX3Byb2dyYW1fc2VsZWN0X2J5X3Nmb250X25hbWWZAxVfZmx1aWRfc3ludGhfZ2V0X2dhaW6aAxpfZmx1aWRfc3ludGhfZ2V0X3BvbHlwaG9ueZsDI19mbHVpZF9zeW50aF9nZXRfYWN0aXZlX3ZvaWNlX2NvdW50nAMhX2ZsdWlkX3N5bnRoX2dldF9pbnRlcm5hbF9idWZzaXplnQMaX2ZsdWlkX3N5bnRoX3Byb2dyYW1fcmVzZXSeAxlfZmx1aWRfc3ludGhfbndyaXRlX2Zsb2F0nwMaX2ZsdWlkX3N5bnRoX3JlbmRlcl9ibG9ja3OgAxRfZmx1aWRfc3ludGhfcHJvY2Vzc6EDGF9mbHVpZF9zeW50aF93cml0ZV9mbG9hdKIDFl9mbHVpZF9zeW50aF93cml0ZV9zMTajAxhfZmx1aWRfc3ludGhfYWxsb2Nfdm9pY2WkAx5fZmx1aWRfc3ludGhfYWxsb2Nfdm9pY2VfTE9DQUylAxhfZmx1aWRfc3ludGhfc3RhcnRfdm9pY2WmAxNfZmx1aWRfc3ludGhfc2Zsb2FkpwMVX2ZsdWlkX3N5bnRoX3NmdW5sb2FkqAMbX2ZsdWlkX3N5bnRoX3VwZGF0ZV9wcmVzZXRzqQMeX2ZsdWlkX3N5bnRoX3NmdW5sb2FkX2NhbGxiYWNrqgMVX2ZsdWlkX3N5bnRoX3NmcmVsb2FkqwMWX2ZsdWlkX3N5bnRoX2FkZF9zZm9udKwDGV9mbHVpZF9zeW50aF9yZW1vdmVfc2ZvbnStAxRfZmx1aWRfc3ludGhfc2Zjb3VudK4DFl9mbHVpZF9zeW50aF9nZXRfc2ZvbnSvAxxfZmx1aWRfc3ludGhfZ2V0X3Nmb250X2J5X2lksAMeX2ZsdWlkX3N5bnRoX2dldF9zZm9udF9ieV9uYW1lsQMfX2ZsdWlkX3N5bnRoX2dldF9jaGFubmVsX3ByZXNldLIDGl9mbHVpZF9zeW50aF9nZXRfdm9pY2VsaXN0swMXX2ZsdWlkX3N5bnRoX3NldF9yZXZlcmK0AyBfZmx1aWRfc3ludGhfc2V0X3JldmVyYl9yb29tc2l6ZbUDHF9mbHVpZF9zeW50aF9zZXRfcmV2ZXJiX2RhbXC2Ax1fZmx1aWRfc3ludGhfc2V0X3JldmVyYl93aWR0aLcDHV9mbHVpZF9zeW50aF9zZXRfcmV2ZXJiX2xldmVsuAMgX2ZsdWlkX3N5bnRoX2dldF9yZXZlcmJfcm9vbXNpemW5AxxfZmx1aWRfc3ludGhfZ2V0X3JldmVyYl9kYW1wugMdX2ZsdWlkX3N5bnRoX2dldF9yZXZlcmJfbGV2ZWy7Ax1fZmx1aWRfc3ludGhfZ2V0X3JldmVyYl93aWR0aLwDF19mbHVpZF9zeW50aF9zZXRfY2hvcnVzvQMaX2ZsdWlkX3N5bnRoX3NldF9jaG9ydXNfbnK+Ax1fZmx1aWRfc3ludGhfc2V0X2Nob3J1c19sZXZlbL8DHV9mbHVpZF9zeW50aF9zZXRfY2hvcnVzX3NwZWVkwAMdX2ZsdWlkX3N5bnRoX3NldF9jaG9ydXNfZGVwdGjBAxxfZmx1aWRfc3ludGhfc2V0X2Nob3J1c190eXBlwgMaX2ZsdWlkX3N5bnRoX2dldF9jaG9ydXNfbnLDAx1fZmx1aWRfc3ludGhfZ2V0X2Nob3J1c19sZXZlbMQDHV9mbHVpZF9zeW50aF9nZXRfY2hvcnVzX3NwZWVkxQMdX2ZsdWlkX3N5bnRoX2dldF9jaG9ydXNfZGVwdGjGAxxfZmx1aWRfc3ludGhfZ2V0X2Nob3J1c190eXBlxwMeX2ZsdWlkX3N5bnRoX3NldF9pbnRlcnBfbWV0aG9kyAMgX2ZsdWlkX3N5bnRoX2NvdW50X21pZGlfY2hhbm5lbHPJAyFfZmx1aWRfc3ludGhfY291bnRfYXVkaW9fY2hhbm5lbHPKAx9fZmx1aWRfc3ludGhfY291bnRfYXVkaW9fZ3JvdXBzywMjX2ZsdWlkX3N5bnRoX2NvdW50X2VmZmVjdHNfY2hhbm5lbHPMAyFfZmx1aWRfc3ludGhfY291bnRfZWZmZWN0c19ncm91cHPNAxlfZmx1aWRfc3ludGhfZ2V0X2NwdV9sb2FkzgMgX2ZsdWlkX3N5bnRoX2FjdGl2YXRlX2tleV90dW5pbmfPAx5fZmx1aWRfc3ludGhfZGVhY3RpdmF0ZV90dW5pbmfQAyNfZmx1aWRfc3ludGhfdHVuaW5nX2l0ZXJhdGlvbl9zdGFydNEDIl9mbHVpZF9zeW50aF90dW5pbmdfaXRlcmF0aW9uX25leHTSAxlfZmx1aWRfc3ludGhfZ2V0X3NldHRpbmdz0wMUX2ZsdWlkX3N5bnRoX3NldF9nZW7UAxVfZmx1aWRfc3ludGhfc2V0X2dlbjLVAxRfZmx1aWRfc3ludGhfZ2V0X2dlbtYDHl9mbHVpZF9zeW50aF9oYW5kbGVfbWlkaV9ldmVudNcDEl9mbHVpZF9zeW50aF9zdGFydNgDEV9mbHVpZF9zeW50aF9zdG9w2QMcX2ZsdWlkX3N5bnRoX3NldF9iYW5rX29mZnNldNoDHF9mbHVpZF9zeW50aF9nZXRfYmFua19vZmZzZXTbAx1fZmx1aWRfc3ludGhfc2V0X2NoYW5uZWxfdHlwZdwDGl9mbHVpZF9zeW50aF9nZXRfbGFkc3BhX2Z43QMeX2ZsdWlkX3N5bnRoX3NldF9jdXN0b21fZmlsdGVy3gMcX2ZsdWlkX3N5bnRoX3NldF9sZWdhdG9fbW9kZd8DHF9mbHVpZF9zeW50aF9nZXRfbGVnYXRvX21vZGXgAyBfZmx1aWRfc3ludGhfc2V0X3BvcnRhbWVudG9fbW9kZeEDIF9mbHVpZF9zeW50aF9nZXRfcG9ydGFtZW50b19tb2Rl4gMcX2ZsdWlkX3N5bnRoX3NldF9icmVhdGhfbW9kZeMDHF9mbHVpZF9zeW50aF9nZXRfYnJlYXRoX21vZGXkAyBfZmx1aWRfc3ludGhfcmVzZXRfYmFzaWNfY2hhbm5lbOUDHl9mbHVpZF9zeW50aF9nZXRfYmFzaWNfY2hhbm5lbOYDHl9mbHVpZF9zeW50aF9ub3Rlb25fbW9ub19MT0NBTOcDI19mbHVpZF9zeW50aF9ub3Rlb25fbW9ub3BvbHlfbGVnYXRv6AMhX2ZsdWlkX3N5bnRoX25vdGVvbl9tb25vX3N0YWNjYXRv6QMfX2ZsdWlkX3N5bnRoX25vdGVvZmZfbW9ub19MT0NBTOoDHV9mbHVpZF9zeW50aF9ub3Rlb2ZmX21vbm9wb2x56wMRX25ld19mbHVpZF90dW5pbmfsAxdfZmx1aWRfdHVuaW5nX2R1cGxpY2F0Ze0DEV9mbHVpZF90dW5pbmdfcmVm7gMTX2ZsdWlkX3R1bmluZ191bnJlZu8DFl9mbHVpZF90dW5pbmdfZ2V0X25hbWXwAxhfZmx1aWRfdHVuaW5nX3NldF9vY3RhdmXxAxVfZmx1aWRfdHVuaW5nX3NldF9hbGzyAxdfZmx1aWRfdHVuaW5nX3NldF9waXRjaPMDEF9uZXdfZmx1aWRfdm9pY2X0Ax5fZmx1aWRfdm9pY2VfaW5pdGlhbGl6ZV9ydm9pY2X1AxNfZGVsZXRlX2ZsdWlkX3ZvaWNl9gMRX2ZsdWlkX3ZvaWNlX2luaXT3AxBfZmx1aWRfdm9pY2Vfb2Zm+AMcX2ZsdWlkX3ZvaWNlX3NldF9vdXRwdXRfcmF0ZfkDF19mbHVpZF92b2ljZV9pc19wbGF5aW5n+gMUX2ZsdWlkX3ZvaWNlX2dlbl9zZXT7AxVfZmx1aWRfdm9pY2VfZ2VuX2luY3L8AxRfZmx1aWRfdm9pY2VfZ2VuX2dldP0DFl9mbHVpZF92b2ljZV9nZW5fdmFsdWX+AxJfZmx1aWRfdm9pY2Vfc3RhcnT/AxlfZmx1aWRfdm9pY2VfdXBkYXRlX3BhcmFtgAQeX2ZsdWlkX3ZvaWNlX3VwZGF0ZV9wb3J0YW1lbnRvgQQgX2ZsdWlkX3ZvaWNlX2NhbGN1bGF0ZV9nZW5fcGl0Y2iCBBtfZmx1aWRfdm9pY2VfZ2V0X2FjdHVhbF9rZXmDBBVfZmx1aWRfdm9pY2VfbW9kdWxhdGWEBBlfZmx1aWRfdm9pY2VfbW9kdWxhdGVfYWxshQQqX2ZsdWlkX3ZvaWNlX3VwZGF0ZV9tdWx0aV9yZXRyaWdnZXJfYXR0YWNrhgQUX2ZsdWlkX3ZvaWNlX3JlbGVhc2WHBBRfZmx1aWRfdm9pY2Vfbm90ZW9mZogEFl9mbHVpZF92b2ljZV9raWxsX2V4Y2yJBCVfZmx1aWRfdm9pY2Vfb3ZlcmZsb3dfcnZvaWNlX2ZpbmlzaGVkigQRX2ZsdWlkX3ZvaWNlX3N0b3CLBBRfZmx1aWRfdm9pY2VfYWRkX21vZIwEGV9mbHVpZF92b2ljZV9pc19zdXN0YWluZWSNBBlfZmx1aWRfdm9pY2VfaXNfc29zdGVudXRvjgQSX2ZsdWlkX3ZvaWNlX2lzX29ujwQYX2ZsdWlkX3ZvaWNlX2dldF9jaGFubmVskAQUX2ZsdWlkX3ZvaWNlX2dldF9rZXmRBCBfZmx1aWRfdm9pY2VfZ2V0X2FjdHVhbF92ZWxvY2l0eZIEGV9mbHVpZF92b2ljZV9nZXRfdmVsb2NpdHmTBBZfZmx1aWRfdm9pY2Vfc2V0X3BhcmFtlAQVX2ZsdWlkX3ZvaWNlX3NldF9nYWlulQQcX2ZsdWlkX3ZvaWNlX29wdGltaXplX3NhbXBsZZYEHl9mbHVpZF92b2ljZV9nZXRfb3ZlcmZsb3dfcHJpb5cEHl9mbHVpZF92b2ljZV9zZXRfY3VzdG9tX2ZpbHRlcpgEFV9uZXdfZmx1aWRfbWlkaV9ldmVudJkEGF9kZWxldGVfZmx1aWRfbWlkaV9ldmVudJoEGl9mbHVpZF9taWRpX2V2ZW50X2dldF90eXBlmwQaX2ZsdWlkX21pZGlfZXZlbnRfc2V0X3R5cGWcBB1fZmx1aWRfbWlkaV9ldmVudF9nZXRfY2hhbm5lbJ0EHV9mbHVpZF9taWRpX2V2ZW50X3NldF9jaGFubmVsngQZX2ZsdWlkX21pZGlfZXZlbnRfc2V0X2tleZ8EHl9mbHVpZF9taWRpX2V2ZW50X2dldF92ZWxvY2l0eaAEHl9mbHVpZF9taWRpX2V2ZW50X3NldF92ZWxvY2l0eaEEG19mbHVpZF9taWRpX2V2ZW50X3NldF9zeXNleKIEGl9mbHVpZF9taWRpX2V2ZW50X3NldF90ZXh0owQcX2ZsdWlkX21pZGlfZXZlbnRfc2V0X2x5cmljc6QEEV9uZXdfZmx1aWRfcGxheWVypQQgX2ZsdWlkX3BsYXllcl9oYW5kbGVfcmVzZXRfc3ludGimBCNfZmx1aWRfcGxheWVyX3NldF9wbGF5YmFja19jYWxsYmFja6cEFF9kZWxldGVfZmx1aWRfcGxheWVyqAQSX2ZsdWlkX3BsYXllcl9zdG9wqQQWX2ZsdWlkX3BsYXllcl9zZXR0aW5nc6oEEV9mbHVpZF9wbGF5ZXJfYWRkqwQVX2ZsdWlkX3BsYXllcl9hZGRfbWVtrAQSX2ZsdWlkX3BsYXllcl9wbGF5rQQWX2ZsdWlkX3BsYXllcl9jYWxsYmFja64EHF9mbHVpZF9taWRpX2ZpbGVfcmVhZF92YXJsZW6vBBJfZmx1aWRfcGxheWVyX3NlZWuwBB1fZmx1aWRfcGxheWVyX2dldF90b3RhbF90aWNrc7EEFl9mbHVpZF9wbGF5ZXJfc2V0X2xvb3CyBBxfZmx1aWRfcGxheWVyX3NldF9taWRpX3RlbXBvswQVX2ZsdWlkX3BsYXllcl9zZXRfYnBttAQSX2ZsdWlkX3BsYXllcl9qb2lutQQeX2ZsdWlkX3BsYXllcl9nZXRfY3VycmVudF90aWNrtgQVX2ZsdWlkX3BsYXllcl9nZXRfYnBttwQcX2ZsdWlkX3BsYXllcl9nZXRfbWlkaV90ZW1wb7gEFl9uZXdfZmx1aWRfbWlkaV9yb3V0ZXK5BBlfZGVsZXRlX2ZsdWlkX21pZGlfcm91dGVyugQbX25ld19mbHVpZF9taWRpX3JvdXRlcl9ydWxluwQkX2ZsdWlkX21pZGlfcm91dGVyX3NldF9kZWZhdWx0X3J1bGVzvAQeX2ZsdWlkX21pZGlfcm91dGVyX2NsZWFyX3J1bGVzvQQbX2ZsdWlkX21pZGlfcm91dGVyX2FkZF9ydWxlvgQgX2ZsdWlkX21pZGlfcm91dGVyX3J1bGVfc2V0X2NoYW6/BCJfZmx1aWRfbWlkaV9yb3V0ZXJfcnVsZV9zZXRfcGFyYW0xwAQiX2ZsdWlkX21pZGlfcm91dGVyX3J1bGVfc2V0X3BhcmFtMsEEJF9mbHVpZF9taWRpX3JvdXRlcl9oYW5kbGVfbWlkaV9ldmVudMIEGl9mbHVpZF9taWRpX2R1bXBfcHJlcm91dGVywwQbX2ZsdWlkX21pZGlfZHVtcF9wb3N0cm91dGVyxAQkX2ZsdWlkX3NlcXVlbmNlcl9yZWdpc3Rlcl9mbHVpZHN5bnRoxQQdX2ZsdWlkX3NlcWJpbmRfdGltZXJfY2FsbGJhY2vGBB5fZmx1aWRfc2VxX2ZsdWlkc3ludGhfY2FsbGJhY2vHBClfZmx1aWRfc2VxdWVuY2VyX2FkZF9taWRpX2V2ZW50X3RvX2J1ZmZlcsgEFF9uZXdfZmx1aWRfc2VxdWVuY2VyyQQVX25ld19mbHVpZF9zZXF1ZW5jZXIyygQZX19mbHVpZF9zZXFfcXVldWVfcHJvY2Vzc8sEGF9mbHVpZF9zZXF1ZW5jZXJfcHJvY2Vzc8wEF19kZWxldGVfZmx1aWRfc2VxdWVuY2VyzQQiX2ZsdWlkX3NlcXVlbmNlcl91bnJlZ2lzdGVyX2NsaWVudM4EJV9mbHVpZF9zZXF1ZW5jZXJfZ2V0X3VzZV9zeXN0ZW1fdGltZXLPBCBfZmx1aWRfc2VxdWVuY2VyX3JlZ2lzdGVyX2NsaWVudNAEHl9mbHVpZF9zZXF1ZW5jZXJfY291bnRfY2xpZW50c9EEHl9mbHVpZF9zZXF1ZW5jZXJfZ2V0X2NsaWVudF9pZNIEIF9mbHVpZF9zZXF1ZW5jZXJfZ2V0X2NsaWVudF9uYW1l0wQfX2ZsdWlkX3NlcXVlbmNlcl9jbGllbnRfaXNfZGVzdNQEGV9mbHVpZF9zZXF1ZW5jZXJfc2VuZF9ub3fVBBlfZmx1aWRfc2VxdWVuY2VyX2dldF90aWNr1gQYX2ZsdWlkX3NlcXVlbmNlcl9zZW5kX2F01wQeX2ZsdWlkX3NlcXVlbmNlcl9yZW1vdmVfZXZlbnRz2AQfX2ZsdWlkX3NlcXVlbmNlcl9zZXRfdGltZV9zY2FsZdkEH19mbHVpZF9zZXF1ZW5jZXJfZ2V0X3RpbWVfc2NhbGXaBBxfZmx1aWRfYXVkaW9fZHJpdmVyX3NldHRpbmdz2wQXX25ld19mbHVpZF9hdWRpb19kcml2ZXLcBBhfZmluZF9mbHVpZF9hdWRpb19kcml2ZXLdBBhfbmV3X2ZsdWlkX2F1ZGlvX2RyaXZlcjLeBBpfZGVsZXRlX2ZsdWlkX2F1ZGlvX2RyaXZlct8EHF9mbHVpZF9hdWRpb19kcml2ZXJfcmVnaXN0ZXLgBBtfZmx1aWRfbWlkaV9kcml2ZXJfc2V0dGluZ3PhBBZfbmV3X2ZsdWlkX21pZGlfZHJpdmVy4gQZX2RlbGV0ZV9mbHVpZF9taWRpX2RyaXZlcuMEHV9mbHVpZF9maWxlX3JlbmRlcmVyX3NldHRpbmdz5AQYX25ld19mbHVpZF9maWxlX3JlbmRlcmVy5QQbX2RlbGV0ZV9mbHVpZF9maWxlX3JlbmRlcmVy5gQgX2ZsdWlkX2ZpbGVfc2V0X2VuY29kaW5nX3F1YWxpdHnnBCJfZmx1aWRfZmlsZV9yZW5kZXJlcl9wcm9jZXNzX2Jsb2Nr6AQXX2ZsdWlkX2xhZHNwYV9pc19hY3RpdmXpBBZfZmx1aWRfbGFkc3BhX2FjdGl2YXRl6gQTX2ZsdWlkX2xhZHNwYV9jaGVja+sEHl9mbHVpZF9sYWRzcGFfaG9zdF9wb3J0X2V4aXN0c+wEGF9mbHVpZF9sYWRzcGFfYWRkX2J1ZmZlcu0EGF9mbHVpZF9sYWRzcGFfYWRkX2VmZmVjdO4EHF9mbHVpZF9sYWRzcGFfZWZmZWN0X3NldF9taXjvBCBfZmx1aWRfbGFkc3BhX2VmZmVjdF9wb3J0X2V4aXN0c/AEB19tYWxsb2PxBAVfZnJlZfIECF9yZWFsbG9j8wQSX3RyeV9yZWFsbG9jX2NodW5r9AQOX2Rpc3Bvc2VfY2h1bmv1BA5fX19zdGRpb19jbG9zZfYEDl9fX3N0ZGlvX3dyaXRl9wQNX19fc3RkaW9fc2Vla/gEDl9fX3N5c2NhbGxfcmV0+QQRX19fZXJybm9fbG9jYXRpb276BA1fX19zdGRpb19yZWFk+wQPX19fc3Rkb3V0X3dyaXRl/AQIX2lzc3BhY2X9BAlfX190b3JlYWT+BAdfc3RyY21w/wQIX3N0cm5jbXCABQhfaXNkaWdpdIEFCl92c25wcmludGaCBQlfdmZwcmludGaDBQxfcHJpbnRmX2NvcmWEBQ1fX191bmxvY2tmaWxlhQUEX291dIYFB19nZXRpbnSHBQhfcG9wX2FyZ4gFBl9mbXRfeIkFBl9mbXRfb4oFBl9mbXRfdYsFCV9zdHJlcnJvcowFB19tZW1jaHKNBQhfcGFkXzY2OY4FB193Y3RvbWKPBQdfZm10X2ZwkAUSX19fRE9VQkxFX0JJVFNfNjcwkQUHX2ZyZXhwbJIFBl9mcmV4cJMFCF93Y3J0b21ilAUTX19fcHRocmVhZF9zZWxmXzQyM5UFDV9wdGhyZWFkX3NlbGaWBQ1fX19zdHJlcnJvcl9slwUKX19fbGN0cmFuc5gFD19fX2xjdHJhbnNfaW1wbJkFDF9fX21vX2xvb2t1cJoFBl9zd2FwY5sFCl9fX2Z3cml0ZXicBQpfX190b3dyaXRlnQUJX3NuX3dyaXRlngUHX3NjYWxibp8FB19zdHJsZW6gBQdfc3RyY2hyoQUMX19fc3RyY2hybnVsogUJX3NucHJpbnRmowUHX3N0cmNweaQFCV9fX3N0cGNweaUFBl9fX2Nvc6YFC19fX3JlbV9waW8ypwURX19fcmVtX3BpbzJfbGFyZ2WoBQZfX19zaW6pBQZfbGRleHCqBQVfc3RhdKsFB19md3JpdGWsBRVfX191bmxpc3RfbG9ja2VkX2ZpbGWtBQZfZm9wZW6uBQ1fX19mbW9kZWZsYWdzrwUJX19fZmRvcGVusAUKX19fb2ZsX2FkZLEFC19fX29mbF9sb2NrsgUNX19fb2ZsX3VubG9ja7MFB19mY2xvc2W0BQdfZmZsdXNotQUSX19fZmZsdXNoX3VubG9ja2VktgUFX2Zlb2a3BQZfZnNlZWu4BQhfZnByaW50ZrkFCV9fX2ZzZWVrb7oFEl9fX2ZzZWVrb191bmxvY2tlZLsFBl9tbG9ja7wFCF9tdW5sb2NrvQUIX3N0cm5jcHm+BQpfX19zdHBuY3B5vwUFX3JhbmTABQdfc3RyY2F0wQUJX19fZnRlbGxvwgUSX19fZnRlbGxvX3VubG9ja2VkwwUGX2ZyZWFkxAUGX2Z0ZWxsxQUFX2F0b2nGBQRfY29zxwUEX3NpbsgFBF9sb2fJBQRfcG93ygUPX2xsdm1fYnN3YXBfaTMyywUHX21lbWNwecwFB19tZW1zZXTNBQVfc2Jya84FCmR5bkNhbGxfaWnPBQtqc0NhbGxfaWlfMNAFC2pzQ2FsbF9paV8x0QULanNDYWxsX2lpXzLSBQtqc0NhbGxfaWlfM9MFC2pzQ2FsbF9paV801AULanNDYWxsX2lpXzXVBQtqc0NhbGxfaWlfNtYFC2pzQ2FsbF9paV831wULanNDYWxsX2lpXzjYBQtqc0NhbGxfaWlfOdkFC2R5bkNhbGxfaWlp2gUManNDYWxsX2lpaV8w2wUManNDYWxsX2lpaV8x3AUManNDYWxsX2lpaV8y3QUManNDYWxsX2lpaV8z3gUManNDYWxsX2lpaV803wUManNDYWxsX2lpaV814AUManNDYWxsX2lpaV824QUManNDYWxsX2lpaV834gUManNDYWxsX2lpaV844wUManNDYWxsX2lpaV855AUMZHluQ2FsbF9paWlp5QUNanNDYWxsX2lpaWlfMOYFDWpzQ2FsbF9paWlpXzHnBQ1qc0NhbGxfaWlpaV8y6AUNanNDYWxsX2lpaWlfM+kFDWpzQ2FsbF9paWlpXzTqBQ1qc0NhbGxfaWlpaV816wUNanNDYWxsX2lpaWlfNuwFDWpzQ2FsbF9paWlpXzftBQ1qc0NhbGxfaWlpaV847gUNanNDYWxsX2lpaWlfOe8FDmR5bkNhbGxfaWlpaWlp8AUPanNDYWxsX2lpaWlpaV8w8QUPanNDYWxsX2lpaWlpaV8x8gUPanNDYWxsX2lpaWlpaV8y8wUPanNDYWxsX2lpaWlpaV8z9AUPanNDYWxsX2lpaWlpaV809QUPanNDYWxsX2lpaWlpaV819gUPanNDYWxsX2lpaWlpaV829wUPanNDYWxsX2lpaWlpaV83+AUPanNDYWxsX2lpaWlpaV84+QUPanNDYWxsX2lpaWlpaV85+gUPZHluQ2FsbF9paWlpaWlp+wUQanNDYWxsX2lpaWlpaWlfMPwFEGpzQ2FsbF9paWlpaWlpXzH9BRBqc0NhbGxfaWlpaWlpaV8y/gUQanNDYWxsX2lpaWlpaWlfM/8FEGpzQ2FsbF9paWlpaWlpXzSABhBqc0NhbGxfaWlpaWlpaV81gQYQanNDYWxsX2lpaWlpaWlfNoIGEGpzQ2FsbF9paWlpaWlpXzeDBhBqc0NhbGxfaWlpaWlpaV84hAYQanNDYWxsX2lpaWlpaWlfOYUGCmR5bkNhbGxfdmmGBgtqc0NhbGxfdmlfMIcGC2pzQ2FsbF92aV8xiAYLanNDYWxsX3ZpXzKJBgtqc0NhbGxfdmlfM4oGC2pzQ2FsbF92aV80iwYLanNDYWxsX3ZpXzWMBgtqc0NhbGxfdmlfNo0GC2pzQ2FsbF92aV83jgYLanNDYWxsX3ZpXziPBgtqc0NhbGxfdmlfOZAGC2R5bkNhbGxfdmlpkQYManNDYWxsX3ZpaV8wkgYManNDYWxsX3ZpaV8xkwYManNDYWxsX3ZpaV8ylAYManNDYWxsX3ZpaV8zlQYManNDYWxsX3ZpaV80lgYManNDYWxsX3ZpaV81lwYManNDYWxsX3ZpaV82mAYManNDYWxsX3ZpaV83mQYManNDYWxsX3ZpaV84mgYManNDYWxsX3ZpaV85mwYMZHluQ2FsbF92aWlknAYNanNDYWxsX3ZpaWRfMJ0GDWpzQ2FsbF92aWlkXzGeBg1qc0NhbGxfdmlpZF8ynwYNanNDYWxsX3ZpaWRfM6AGDWpzQ2FsbF92aWlkXzShBg1qc0NhbGxfdmlpZF81ogYNanNDYWxsX3ZpaWRfNqMGDWpzQ2FsbF92aWlkXzekBg1qc0NhbGxfdmlpZF84pQYNanNDYWxsX3ZpaWRfOaYGDGR5bkNhbGxfdmlpaacGDWpzQ2FsbF92aWlpXzCoBg1qc0NhbGxfdmlpaV8xqQYNanNDYWxsX3ZpaWlfMqoGDWpzQ2FsbF92aWlpXzOrBg1qc0NhbGxfdmlpaV80rAYNanNDYWxsX3ZpaWlfNa0GDWpzQ2FsbF92aWlpXzauBg1qc0NhbGxfdmlpaV83rwYNanNDYWxsX3ZpaWlfOLAGDWpzQ2FsbF92aWlpXzmxBg1keW5DYWxsX3ZpaWlpsgYOanNDYWxsX3ZpaWlpXzCzBg5qc0NhbGxfdmlpaWlfMbQGDmpzQ2FsbF92aWlpaV8ytQYOanNDYWxsX3ZpaWlpXzO2Bg5qc0NhbGxfdmlpaWlfNLcGDmpzQ2FsbF92aWlpaV81uAYOanNDYWxsX3ZpaWlpXza5Bg5qc0NhbGxfdmlpaWlfN7oGDmpzQ2FsbF92aWlpaV84uwYOanNDYWxsX3ZpaWlpXzm8BgJiML0GAmIxvgYCYjK/BgJiM8AGAmI0wQYCYjXCBgJiNsMGAmI3xAYCYjjFBgJiOcYGKmxlZ2Fsc3R1YiRfZmx1aWRfbGFkc3BhX2VmZmVjdF9zZXRfY29udHJvbMcGKmxlZ2Fsc3R1YiRfZmx1aWRfbWlkaV9yb3V0ZXJfcnVsZV9zZXRfY2hhbsgGLGxlZ2Fsc3R1YiRfZmx1aWRfbWlkaV9yb3V0ZXJfcnVsZV9zZXRfcGFyYW0xyQYsbGVnYWxzdHViJF9mbHVpZF9taWRpX3JvdXRlcl9ydWxlX3NldF9wYXJhbTLKBh9sZWdhbHN0dWIkX2ZsdWlkX3N5bnRoX2dldF9nYWluywYebGVnYWxzdHViJF9mbHVpZF9zeW50aF9nZXRfZ2VuzAYfbGVnYWxzdHViJF9mbHVpZF9zeW50aF9zZXRfZ2Fpbs0GHmxlZ2Fsc3R1YiRfZmx1aWRfc3ludGhfc2V0X2dlbs4GJmxlZ2Fsc3R1YiRfZmx1aWRfc3ludGhfc2V0X3NhbXBsZV9yYXRlzwYebGVnYWxzdHViJF9mbHVpZF92b2ljZV9nZW5fZ2V00AYfbGVnYWxzdHViJF9mbHVpZF92b2ljZV9nZW5faW5jctEGHmxlZ2Fsc3R1YiRfZmx1aWRfdm9pY2VfZ2VuX3NldA==\';\n var asmjsCodeFile = \'\';\n\n if (!isDataURI(wasmTextFile)) {\n wasmTextFile = locateFile(wasmTextFile);\n }\n if (!isDataURI(wasmBinaryFile)) {\n wasmBinaryFile = locateFile(wasmBinaryFile);\n }\n if (!isDataURI(asmjsCodeFile)) {\n asmjsCodeFile = locateFile(asmjsCodeFile);\n }\n\n // utilities\n\n var wasmPageSize = 64*1024;\n\n var info = {\n \'global\': null,\n \'env\': null,\n \'asm2wasm\': asm2wasmImports,\n \'parent\': Module // Module inside wasm-js.cpp refers to wasm-js.cpp; this allows access to the outside program.\n };\n\n var exports = null;\n\n\n function mergeMemory(newBuffer) {\n // The wasm instance creates its memory. But static init code might have written to\n // buffer already, including the mem init file, and we must copy it over in a proper merge.\n // TODO: avoid this copy, by avoiding such static init writes\n // TODO: in shorter term, just copy up to the last static init write\n var oldBuffer = Module[\'buffer\'];\n if (newBuffer.byteLength < oldBuffer.byteLength) {\n err(\'the new buffer in mergeMemory is smaller than the previous one. in native wasm, we should grow memory here\');\n }\n var oldView = new Int8Array(oldBuffer);\n var newView = new Int8Array(newBuffer);\n\n\n newView.set(oldView);\n updateGlobalBuffer(newBuffer);\n updateGlobalBufferViews();\n }\n\n function fixImports(imports) {\n return imports;\n }\n\n function getBinary() {\n try {\n if (Module[\'wasmBinary\']) {\n return new Uint8Array(Module[\'wasmBinary\']);\n }\n var binary = tryParseAsDataURI(wasmBinaryFile);\n if (binary) {\n return binary;\n }\n if (Module[\'readBinary\']) {\n return Module[\'readBinary\'](wasmBinaryFile);\n } else {\n throw "both async and sync fetching of the wasm failed";\n }\n }\n catch (err) {\n abort(err);\n }\n }\n\n function getBinaryPromise() {\n // if we don\'t have the binary yet, and have the Fetch api, use that\n // in some environments, like Electron\'s render process, Fetch api may be present, but have a different context than expected, let\'s only use it on the Web\n if (!Module[\'wasmBinary\'] && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && typeof fetch === \'function\') {\n return fetch(wasmBinaryFile, { credentials: \'same-origin\' }).then(function(response) {\n if (!response[\'ok\']) {\n throw "failed to load wasm binary file at \'" + wasmBinaryFile + "\'";\n }\n return response[\'arrayBuffer\']();\n }).catch(function () {\n return getBinary();\n });\n }\n // Otherwise, getBinary should be able to get it synchronously\n return new Promise(function(resolve, reject) {\n resolve(getBinary());\n });\n }\n\n // do-method functions\n\n\n function doNativeWasm(global, env, providedBuffer) {\n if (typeof WebAssembly !== \'object\') {\n err(\'no native wasm support detected\');\n return false;\n }\n // prepare memory import\n if (!(Module[\'wasmMemory\'] instanceof WebAssembly.Memory)) {\n err(\'no native wasm Memory in use\');\n return false;\n }\n env[\'memory\'] = Module[\'wasmMemory\'];\n // Load the wasm module and create an instance of using native support in the JS engine.\n info[\'global\'] = {\n \'NaN\': NaN,\n \'Infinity\': Infinity\n };\n info[\'global.Math\'] = Math;\n info[\'env\'] = env;\n // handle a generated wasm instance, receiving its exports and\n // performing other necessary setup\n function receiveInstance(instance, module) {\n exports = instance.exports;\n if (exports.memory) mergeMemory(exports.memory);\n Module[\'asm\'] = exports;\n Module["usingWasm"] = true;\n removeRunDependency(\'wasm-instantiate\');\n }\n addRunDependency(\'wasm-instantiate\');\n\n // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback\n // to manually instantiate the Wasm module themselves. This allows pages to run the instantiation parallel\n // to any other async startup actions they are performing.\n if (Module[\'instantiateWasm\']) {\n try {\n return Module[\'instantiateWasm\'](info, receiveInstance);\n } catch(e) {\n err(\'Module.instantiateWasm callback failed with error: \' + e);\n return false;\n }\n }\n\n function receiveInstantiatedSource(output) {\n // \'output\' is a WebAssemblyInstantiatedSource object which has both the module and instance.\n // receiveInstance() will swap in the exports (to Module.asm) so they can be called\n receiveInstance(output[\'instance\'], output[\'module\']);\n }\n function instantiateArrayBuffer(receiver) {\n getBinaryPromise().then(function(binary) {\n return WebAssembly.instantiate(binary, info);\n }).then(receiver, function(reason) {\n err(\'failed to asynchronously prepare wasm: \' + reason);\n abort(reason);\n });\n }\n // Prefer streaming instantiation if available.\n if (!Module[\'wasmBinary\'] &&\n typeof WebAssembly.instantiateStreaming === \'function\' &&\n !isDataURI(wasmBinaryFile) &&\n typeof fetch === \'function\') {\n WebAssembly.instantiateStreaming(fetch(wasmBinaryFile, { credentials: \'same-origin\' }), info)\n .then(receiveInstantiatedSource, function(reason) {\n // We expect the most common failure cause to be a bad MIME type for the binary,\n // in which case falling back to ArrayBuffer instantiation should work.\n err(\'wasm streaming compile failed: \' + reason);\n err(\'falling back to ArrayBuffer instantiation\');\n instantiateArrayBuffer(receiveInstantiatedSource);\n });\n } else {\n instantiateArrayBuffer(receiveInstantiatedSource);\n }\n return {}; // no exports yet; we\'ll fill them in later\n }\n\n\n // We may have a preloaded value in Module.asm, save it\n Module[\'asmPreload\'] = Module[\'asm\'];\n\n // Memory growth integration code\n\n var asmjsReallocBuffer = Module[\'reallocBuffer\'];\n\n var wasmReallocBuffer = function(size) {\n var PAGE_MULTIPLE = Module["usingWasm"] ? WASM_PAGE_SIZE : ASMJS_PAGE_SIZE; // In wasm, heap size must be a multiple of 64KB. In asm.js, they need to be multiples of 16MB.\n size = alignUp(size, PAGE_MULTIPLE); // round up to wasm page size\n var old = Module[\'buffer\'];\n var oldSize = old.byteLength;\n if (Module["usingWasm"]) {\n // native wasm support\n try {\n var result = Module[\'wasmMemory\'].grow((size - oldSize) / wasmPageSize); // .grow() takes a delta compared to the previous size\n if (result !== (-1 | 0)) {\n // success in native wasm memory growth, get the buffer from the memory\n return Module[\'buffer\'] = Module[\'wasmMemory\'].buffer;\n } else {\n return null;\n }\n } catch(e) {\n return null;\n }\n }\n };\n\n Module[\'reallocBuffer\'] = function(size) {\n if (finalMethod === \'asmjs\') {\n return asmjsReallocBuffer(size);\n } else {\n return wasmReallocBuffer(size);\n }\n };\n\n // we may try more than one; this is the final one, that worked and we are using\n var finalMethod = \'\';\n\n // Provide an "asm.js function" for the application, called to "link" the asm.js module. We instantiate\n // the wasm module at that time, and it receives imports and provides exports and so forth, the app\n // doesn\'t need to care that it is wasm or olyfilled wasm or asm.js.\n\n Module[\'asm\'] = function(global, env, providedBuffer) {\n env = fixImports(env);\n\n // import table\n if (!env[\'table\']) {\n var TABLE_SIZE = Module[\'wasmTableSize\'];\n if (TABLE_SIZE === undefined) TABLE_SIZE = 1024; // works in binaryen interpreter at least\n var MAX_TABLE_SIZE = Module[\'wasmMaxTableSize\'];\n if (typeof WebAssembly === \'object\' && typeof WebAssembly.Table === \'function\') {\n if (MAX_TABLE_SIZE !== undefined) {\n env[\'table\'] = new WebAssembly.Table({ \'initial\': TABLE_SIZE, \'maximum\': MAX_TABLE_SIZE, \'element\': \'anyfunc\' });\n } else {\n env[\'table\'] = new WebAssembly.Table({ \'initial\': TABLE_SIZE, element: \'anyfunc\' });\n }\n } else {\n env[\'table\'] = new Array(TABLE_SIZE); // works in binaryen interpreter at least\n }\n Module[\'wasmTable\'] = env[\'table\'];\n }\n\n if (!env[\'memoryBase\']) {\n env[\'memoryBase\'] = Module[\'STATIC_BASE\']; // tell the memory segments where to place themselves\n }\n if (!env[\'tableBase\']) {\n env[\'tableBase\'] = 0; // table starts at 0 by default, in dynamic linking this will change\n }\n\n // try the methods. each should return the exports if it succeeded\n\n var exports;\n exports = doNativeWasm(global, env, providedBuffer);\n\n assert(exports, \'no binaryen method succeeded.\');\n\n\n return exports;\n };\n\n var methodHandler = Module[\'asm\']; // note our method handler, as we may modify Module[\'asm\'] later\n}\n\nintegrateWasmJS();\n\n// === Body ===\n\nvar ASM_CONSTS = [];\n\n\n\n\n\nSTATIC_BASE = GLOBAL_BASE;\n\nSTATICTOP = STATIC_BASE + 459920;\n/* global initializers */ __ATINIT__.push();\n\n\n\n\n\n\n\nvar STATIC_BUMP = 459920;\nModule["STATIC_BASE"] = STATIC_BASE;\nModule["STATIC_BUMP"] = STATIC_BUMP;\n\n/* no memory initializer */\nvar tempDoublePtr = STATICTOP; STATICTOP += 16;\n\nfunction copyTempFloat(ptr) { // functions, because inlining this code increases code size too much\n\n HEAP8[tempDoublePtr] = HEAP8[ptr];\n\n HEAP8[tempDoublePtr+1] = HEAP8[ptr+1];\n\n HEAP8[tempDoublePtr+2] = HEAP8[ptr+2];\n\n HEAP8[tempDoublePtr+3] = HEAP8[ptr+3];\n\n}\n\nfunction copyTempDouble(ptr) {\n\n HEAP8[tempDoublePtr] = HEAP8[ptr];\n\n HEAP8[tempDoublePtr+1] = HEAP8[ptr+1];\n\n HEAP8[tempDoublePtr+2] = HEAP8[ptr+2];\n\n HEAP8[tempDoublePtr+3] = HEAP8[ptr+3];\n\n HEAP8[tempDoublePtr+4] = HEAP8[ptr+4];\n\n HEAP8[tempDoublePtr+5] = HEAP8[ptr+5];\n\n HEAP8[tempDoublePtr+6] = HEAP8[ptr+6];\n\n HEAP8[tempDoublePtr+7] = HEAP8[ptr+7];\n\n}\n\n// {{PRE_LIBRARY}}\n\n\n function ___lock() {}\n\n \n \n \n var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};\n \n var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can\'t send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};\n \n function ___setErrNo(value) {\n if (Module[\'___errno_location\']) HEAP32[((Module[\'___errno_location\']())>>2)]=value;\n return value;\n }\n \n var PATH={splitPath:function (filename) {\n var splitPathRe = /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\n return splitPathRe.exec(filename).slice(1);\n },normalizeArray:function (parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === \'.\') {\n parts.splice(i, 1);\n } else if (last === \'..\') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up; up--) {\n parts.unshift(\'..\');\n }\n }\n return parts;\n },normalize:function (path) {\n var isAbsolute = path.charAt(0) === \'/\',\n trailingSlash = path.substr(-1) === \'/\';\n // Normalize the path\n path = PATH.normalizeArray(path.split(\'/\').filter(function(p) {\n return !!p;\n }), !isAbsolute).join(\'/\');\n if (!path && !isAbsolute) {\n path = \'.\';\n }\n if (path && trailingSlash) {\n path += \'/\';\n }\n return (isAbsolute ? \'/\' : \'\') + path;\n },dirname:function (path) {\n var result = PATH.splitPath(path),\n root = result[0],\n dir = result[1];\n if (!root && !dir) {\n // No dirname whatsoever\n return \'.\';\n }\n if (dir) {\n // It has a dirname, strip trailing slash\n dir = dir.substr(0, dir.length - 1);\n }\n return root + dir;\n },basename:function (path) {\n // EMSCRIPTEN return \'/\'\' for \'/\', not an empty string\n if (path === \'/\') return \'/\';\n var lastSlash = path.lastIndexOf(\'/\');\n if (lastSlash === -1) return path;\n return path.substr(lastSlash+1);\n },extname:function (path) {\n return PATH.splitPath(path)[3];\n },join:function () {\n var paths = Array.prototype.slice.call(arguments, 0);\n return PATH.normalize(paths.join(\'/\'));\n },join2:function (l, r) {\n return PATH.normalize(l + \'/\' + r);\n },resolve:function () {\n var resolvedPath = \'\',\n resolvedAbsolute = false;\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : FS.cwd();\n // Skip empty and invalid entries\n if (typeof path !== \'string\') {\n throw new TypeError(\'Arguments to path.resolve must be strings\');\n } else if (!path) {\n return \'\'; // an invalid portion invalidates the whole thing\n }\n resolvedPath = path + \'/\' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === \'/\';\n }\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n resolvedPath = PATH.normalizeArray(resolvedPath.split(\'/\').filter(function(p) {\n return !!p;\n }), !resolvedAbsolute).join(\'/\');\n return ((resolvedAbsolute ? \'/\' : \'\') + resolvedPath) || \'.\';\n },relative:function (from, to) {\n from = PATH.resolve(from).substr(1);\n to = PATH.resolve(to).substr(1);\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== \'\') break;\n }\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== \'\') break;\n }\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n var fromParts = trim(from.split(\'/\'));\n var toParts = trim(to.split(\'/\'));\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push(\'..\');\n }\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n return outputParts.join(\'/\');\n }};\n \n var TTY={ttys:[],init:function () {\n // https://github.com/kripken/emscripten/pull/1555\n // if (ENVIRONMENT_IS_NODE) {\n // // currently, FS.init does not distinguish if process.stdin is a file or TTY\n // // device, it always assumes it\'s a TTY device. because of this, we\'re forcing\n // // process.stdin to UTF8 encoding to at least make stdin reading compatible\n // // with text files until FS.init can be refactored.\n // process[\'stdin\'][\'setEncoding\'](\'utf8\');\n // }\n },shutdown:function () {\n // https://github.com/kripken/emscripten/pull/1555\n // if (ENVIRONMENT_IS_NODE) {\n // // inolen: any idea as to why node -e \'process.stdin.read()\' wouldn\'t exit immediately (with process.stdin being a tty)?\n // // isaacs: because now it\'s reading from the stream, you\'ve expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation\n // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists?\n // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle\n // // isaacs: do process.stdin.pause() and i\'d think it\'d probably close the pending call\n // process[\'stdin\'][\'pause\']();\n // }\n },register:function (dev, ops) {\n TTY.ttys[dev] = { input: [], output: [], ops: ops };\n FS.registerDevice(dev, TTY.stream_ops);\n },stream_ops:{open:function (stream) {\n var tty = TTY.ttys[stream.node.rdev];\n if (!tty) {\n throw new FS.ErrnoError(ERRNO_CODES.ENODEV);\n }\n stream.tty = tty;\n stream.seekable = false;\n },close:function (stream) {\n // flush any pending line data\n stream.tty.ops.flush(stream.tty);\n },flush:function (stream) {\n stream.tty.ops.flush(stream.tty);\n },read:function (stream, buffer, offset, length, pos /* ignored */) {\n if (!stream.tty || !stream.tty.ops.get_char) {\n throw new FS.ErrnoError(ERRNO_CODES.ENXIO);\n }\n var bytesRead = 0;\n for (var i = 0; i < length; i++) {\n var result;\n try {\n result = stream.tty.ops.get_char(stream.tty);\n } catch (e) {\n throw new FS.ErrnoError(ERRNO_CODES.EIO);\n }\n if (result === undefined && bytesRead === 0) {\n throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);\n }\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset+i] = result;\n }\n if (bytesRead) {\n stream.node.timestamp = Date.now();\n }\n return bytesRead;\n },write:function (stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.put_char) {\n throw new FS.ErrnoError(ERRNO_CODES.ENXIO);\n }\n for (var i = 0; i < length; i++) {\n try {\n stream.tty.ops.put_char(stream.tty, buffer[offset+i]);\n } catch (e) {\n throw new FS.ErrnoError(ERRNO_CODES.EIO);\n }\n }\n if (length) {\n stream.node.timestamp = Date.now();\n }\n return i;\n }},default_tty_ops:{get_char:function (tty) {\n if (!tty.input.length) {\n var result = null;\n if (ENVIRONMENT_IS_NODE) {\n // we will read data by chunks of BUFSIZE\n var BUFSIZE = 256;\n var buf = new Buffer(BUFSIZE);\n var bytesRead = 0;\n \n var isPosixPlatform = (process.platform != \'win32\'); // Node doesn\'t offer a direct check, so test by exclusion\n \n var fd = process.stdin.fd;\n if (isPosixPlatform) {\n // Linux and Mac cannot use process.stdin.fd (which isn\'t set up as sync)\n var usingDevice = false;\n try {\n fd = fs.openSync(\'/dev/stdin\', \'r\');\n usingDevice = true;\n } catch (e) {}\n }\n \n try {\n bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null);\n } catch(e) {\n // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes,\n // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0.\n if (e.toString().indexOf(\'EOF\') != -1) bytesRead = 0;\n else throw e;\n }\n \n if (usingDevice) { fs.closeSync(fd); }\n if (bytesRead > 0) {\n result = buf.slice(0, bytesRead).toString(\'utf-8\');\n } else {\n result = null;\n }\n \n } else if (typeof window != \'undefined\' &&\n typeof window.prompt == \'function\') {\n // Browser.\n result = window.prompt(\'Input: \'); // returns null on cancel\n if (result !== null) {\n result += \'\\n\';\n }\n } else if (typeof readline == \'function\') {\n // Command line.\n result = readline();\n if (result !== null) {\n result += \'\\n\';\n }\n }\n if (!result) {\n return null;\n }\n tty.input = intArrayFromString(result, true);\n }\n return tty.input.shift();\n },put_char:function (tty, val) {\n if (val === null || val === 10) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else {\n if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle.\n }\n },flush:function (tty) {\n if (tty.output && tty.output.length > 0) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }},default_tty1_ops:{put_char:function (tty, val) {\n if (val === null || val === 10) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else {\n if (val != 0) tty.output.push(val);\n }\n },flush:function (tty) {\n if (tty.output && tty.output.length > 0) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }}};\n \n var MEMFS={ops_table:null,mount:function (mount) {\n return MEMFS.createNode(null, \'/\', 16384 | 511 /* 0777 */, 0);\n },createNode:function (parent, name, mode, dev) {\n if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {\n // no supported\n throw new FS.ErrnoError(ERRNO_CODES.EPERM);\n }\n if (!MEMFS.ops_table) {\n MEMFS.ops_table = {\n dir: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n lookup: MEMFS.node_ops.lookup,\n mknod: MEMFS.node_ops.mknod,\n rename: MEMFS.node_ops.rename,\n unlink: MEMFS.node_ops.unlink,\n rmdir: MEMFS.node_ops.rmdir,\n readdir: MEMFS.node_ops.readdir,\n symlink: MEMFS.node_ops.symlink\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek\n }\n },\n file: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek,\n read: MEMFS.stream_ops.read,\n write: MEMFS.stream_ops.write,\n allocate: MEMFS.stream_ops.allocate,\n mmap: MEMFS.stream_ops.mmap,\n msync: MEMFS.stream_ops.msync\n }\n },\n link: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n readlink: MEMFS.node_ops.readlink\n },\n stream: {}\n },\n chrdev: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: FS.chrdev_stream_ops\n }\n };\n }\n var node = FS.createNode(parent, name, mode, dev);\n if (FS.isDir(node.mode)) {\n node.node_ops = MEMFS.ops_table.dir.node;\n node.stream_ops = MEMFS.ops_table.dir.stream;\n node.contents = {};\n } else if (FS.isFile(node.mode)) {\n node.node_ops = MEMFS.ops_table.file.node;\n node.stream_ops = MEMFS.ops_table.file.stream;\n node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity.\n // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred\n // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size\n // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme.\n node.contents = null; \n } else if (FS.isLink(node.mode)) {\n node.node_ops = MEMFS.ops_table.link.node;\n node.stream_ops = MEMFS.ops_table.link.stream;\n } else if (FS.isChrdev(node.mode)) {\n node.node_ops = MEMFS.ops_table.chrdev.node;\n node.stream_ops = MEMFS.ops_table.chrdev.stream;\n }\n node.timestamp = Date.now();\n // add the new node to the parent\n if (parent) {\n parent.contents[name] = node;\n }\n return node;\n },getFileDataAsRegularArray:function (node) {\n if (node.contents && node.contents.subarray) {\n var arr = [];\n for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]);\n return arr; // Returns a copy of the original data.\n }\n return node.contents; // No-op, the file contents are already in a JS array. Return as-is.\n },getFileDataAsTypedArray:function (node) {\n if (!node.contents) return new Uint8Array;\n if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes.\n return new Uint8Array(node.contents);\n },expandFileStorage:function (node, newCapacity) {\n // If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file\n // instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to\n // increase the size.\n if (node.contents && node.contents.subarray && newCapacity > node.contents.length) {\n node.contents = MEMFS.getFileDataAsRegularArray(node);\n node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it.\n }\n \n if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well.\n var prevCapacity = node.contents ? node.contents.length : 0;\n if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough.\n // Don\'t expand strictly to the given requested limit if it\'s only a very small increase, but instead geometrically grow capacity.\n // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to\n // avoid overshooting the allocation cap by a very large margin.\n var CAPACITY_DOUBLING_MAX = 1024 * 1024;\n newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) | 0);\n if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding.\n var oldContents = node.contents;\n node.contents = new Uint8Array(newCapacity); // Allocate new storage.\n if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage.\n return;\n }\n // Not using a typed array to back the file storage. Use a standard JS array instead.\n if (!node.contents && newCapacity > 0) node.contents = [];\n while (node.contents.length < newCapacity) node.contents.push(0);\n },resizeFileStorage:function (node, newSize) {\n if (node.usedBytes == newSize) return;\n if (newSize == 0) {\n node.contents = null; // Fully decommit when requesting a resize to zero.\n node.usedBytes = 0;\n return;\n }\n if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store.\n var oldContents = node.contents;\n node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage.\n if (oldContents) {\n node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage.\n }\n node.usedBytes = newSize;\n return;\n }\n // Backing with a JS array.\n if (!node.contents) node.contents = [];\n if (node.contents.length > newSize) node.contents.length = newSize;\n else while (node.contents.length < newSize) node.contents.push(0);\n node.usedBytes = newSize;\n },node_ops:{getattr:function (node) {\n var attr = {};\n // device numbers reuse inode numbers.\n attr.dev = FS.isChrdev(node.mode) ? node.id : 1;\n attr.ino = node.id;\n attr.mode = node.mode;\n attr.nlink = 1;\n attr.uid = 0;\n attr.gid = 0;\n attr.rdev = node.rdev;\n if (FS.isDir(node.mode)) {\n attr.size = 4096;\n } else if (FS.isFile(node.mode)) {\n attr.size = node.usedBytes;\n } else if (FS.isLink(node.mode)) {\n attr.size = node.link.length;\n } else {\n attr.size = 0;\n }\n attr.atime = new Date(node.timestamp);\n attr.mtime = new Date(node.timestamp);\n attr.ctime = new Date(node.timestamp);\n // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize),\n // but this is not required by the standard.\n attr.blksize = 4096;\n attr.blocks = Math.ceil(attr.size / attr.blksize);\n return attr;\n },setattr:function (node, attr) {\n if (attr.mode !== undefined) {\n node.mode = attr.mode;\n }\n if (attr.timestamp !== undefined) {\n node.timestamp = attr.timestamp;\n }\n if (attr.size !== undefined) {\n MEMFS.resizeFileStorage(node, attr.size);\n }\n },lookup:function (parent, name) {\n throw FS.genericErrors[ERRNO_CODES.ENOENT];\n },mknod:function (parent, name, mode, dev) {\n return MEMFS.createNode(parent, name, mode, dev);\n },rename:function (old_node, new_dir, new_name) {\n // if we\'re overwriting a directory at new_name, make sure it\'s empty.\n if (FS.isDir(old_node.mode)) {\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {\n }\n if (new_node) {\n for (var i in new_node.contents) {\n throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);\n }\n }\n }\n // do the internal rewiring\n delete old_node.parent.contents[old_node.name];\n old_node.name = new_name;\n new_dir.contents[new_name] = old_node;\n old_node.parent = new_dir;\n },unlink:function (parent, name) {\n delete parent.contents[name];\n },rmdir:function (parent, name) {\n var node = FS.lookupNode(parent, name);\n for (var i in node.contents) {\n throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);\n }\n delete parent.contents[name];\n },readdir:function (node) {\n var entries = [\'.\', \'..\']\n for (var key in node.contents) {\n if (!node.contents.hasOwnProperty(key)) {\n continue;\n }\n entries.push(key);\n }\n return entries;\n },symlink:function (parent, newname, oldpath) {\n var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0);\n node.link = oldpath;\n return node;\n },readlink:function (node) {\n if (!FS.isLink(node.mode)) {\n throw new FS.ErrnoError(ERRNO_CODES.EINVAL);\n }\n return node.link;\n }},stream_ops:{read:function (stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= stream.node.usedBytes) return 0;\n var size = Math.min(stream.node.usedBytes - position, length);\n assert(size >= 0);\n if (size > 8 && contents.subarray) { // non-trivial, and typed array\n buffer.set(contents.subarray(position, position + size), offset);\n } else {\n for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i];\n }\n return size;\n },write:function (stream, buffer, offset, length, position, canOwn) {\n // If memory can grow, we don\'t want to hold on to references of\n // the memory Buffer, as they may get invalidated. That means\n // we need to do a copy here.\n canOwn = false;\n \n if (!length) return 0;\n var node = stream.node;\n node.timestamp = Date.now();\n \n if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array?\n if (canOwn) {\n node.contents = buffer.subarray(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don\'t need to care about old data.\n node.contents = new Uint8Array(buffer.subarray(offset, offset + length));\n node.usedBytes = length;\n return length;\n } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file?\n node.contents.set(buffer.subarray(offset, offset + length), position);\n return length;\n }\n }\n \n // Appending to an existing file and we need to reallocate, or source data did not come as a typed array.\n MEMFS.expandFileStorage(node, position+length);\n if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); // Use typed array write if available.\n else {\n for (var i = 0; i < length; i++) {\n node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not.\n }\n }\n node.usedBytes = Math.max(node.usedBytes, position+length);\n return length;\n },llseek:function (stream, offset, whence) {\n var position = offset;\n if (whence === 1) { // SEEK_CUR.\n position += stream.position;\n } else if (whence === 2) { // SEEK_END.\n if (FS.isFile(stream.node.mode)) {\n position += stream.node.usedBytes;\n }\n }\n if (position < 0) {\n throw new FS.ErrnoError(ERRNO_CODES.EINVAL);\n }\n return position;\n },allocate:function (stream, offset, length) {\n MEMFS.expandFileStorage(stream.node, offset + length);\n stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);\n },mmap:function (stream, buffer, offset, length, position, prot, flags) {\n if (!FS.isFile(stream.node.mode)) {\n throw new FS.ErrnoError(ERRNO_CODES.ENODEV);\n }\n var ptr;\n var allocated;\n var contents = stream.node.contents;\n // Only make a new copy when MAP_PRIVATE is specified.\n if ( !(flags & 2) &&\n (contents.buffer === buffer || contents.buffer === buffer.buffer) ) {\n // We can\'t emulate MAP_SHARED when the file is not backed by the buffer\n // we\'re mapping to (e.g. the HEAP buffer).\n allocated = false;\n ptr = contents.byteOffset;\n } else {\n // Try to avoid unnecessary slices.\n if (position > 0 || position + length < stream.node.usedBytes) {\n if (contents.subarray) {\n contents = contents.subarray(position, position + length);\n } else {\n contents = Array.prototype.slice.call(contents, position, position + length);\n }\n }\n allocated = true;\n ptr = _malloc(length);\n if (!ptr) {\n throw new FS.ErrnoError(ERRNO_CODES.ENOMEM);\n }\n buffer.set(contents, ptr);\n }\n return { ptr: ptr, allocated: allocated };\n },msync:function (stream, buffer, offset, length, mmapFlags) {\n if (!FS.isFile(stream.node.mode)) {\n throw new FS.ErrnoError(ERRNO_CODES.ENODEV);\n }\n if (mmapFlags & 2) {\n // MAP_PRIVATE calls need not to be synced back to underlying fs\n return 0;\n }\n \n var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);\n // should we check if bytesWritten and length are the same?\n return 0;\n }}};\n \n var IDBFS={dbs:{},indexedDB:function () {\n if (typeof indexedDB !== \'undefined\') return indexedDB;\n var ret = null;\n if (typeof window === \'object\') ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;\n assert(ret, \'IDBFS used, but indexedDB not supported\');\n return ret;\n },DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function (mount) {\n // reuse all of the core MEMFS functionality\n return MEMFS.mount.apply(null, arguments);\n },syncfs:function (mount, populate, callback) {\n IDBFS.getLocalSet(mount, function(err, local) {\n if (err) return callback(err);\n \n IDBFS.getRemoteSet(mount, function(err, remote) {\n if (err) return callback(err);\n \n var src = populate ? remote : local;\n var dst = populate ? local : remote;\n \n IDBFS.reconcile(src, dst, callback);\n });\n });\n },getDB:function (name, callback) {\n // check the cache first\n var db = IDBFS.dbs[name];\n if (db) {\n return callback(null, db);\n }\n \n var req;\n try {\n req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION);\n } catch (e) {\n return callback(e);\n }\n if (!req) {\n return callback("Unable to connect to IndexedDB");\n }\n req.onupgradeneeded = function(e) {\n var db = e.target.result;\n var transaction = e.target.transaction;\n \n var fileStore;\n \n if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) {\n fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME);\n } else {\n fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME);\n }\n \n if (!fileStore.indexNames.contains(\'timestamp\')) {\n fileStore.createIndex(\'timestamp\', \'timestamp\', { unique: false });\n }\n };\n req.onsuccess = function() {\n db = req.result;\n \n // add to the cache\n IDBFS.dbs[name] = db;\n callback(null, db);\n };\n req.onerror = function(e) {\n callback(this.error);\n e.preventDefault();\n };\n },getLocalSet:function (mount, callback) {\n var entries = {};\n \n function isRealDir(p) {\n return p !== \'.\' && p !== \'..\';\n };\n function toAbsolute(root) {\n return function(p) {\n return PATH.join2(root, p);\n }\n };\n \n var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));\n \n while (check.length) {\n var path = check.pop();\n var stat;\n \n try {\n stat = FS.stat(path);\n } catch (e) {\n return callback(e);\n }\n \n if (FS.isDir(stat.mode)) {\n check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path)));\n }\n \n entries[path] = { timestamp: stat.mtime };\n }\n \n return callback(null, { type: \'local\', entries: entries });\n },getRemoteSet:function (mount, callback) {\n var entries = {};\n \n IDBFS.getDB(mount.mountpoint, function(err, db) {\n if (err) return callback(err);\n \n try {\n var transaction = db.transaction([IDBFS.DB_STORE_NAME], \'readonly\');\n transaction.onerror = function(e) {\n callback(this.error);\n e.preventDefault();\n };\n \n var store = transaction.objectStore(IDBFS.DB_STORE_NAME);\n var index = store.index(\'timestamp\');\n \n index.openKeyCursor().onsuccess = function(event) {\n var cursor = event.target.result;\n \n if (!cursor) {\n return callback(null, { type: \'remote\', db: db, entries: entries });\n }\n \n entries[cursor.primaryKey] = { timestamp: cursor.key };\n \n cursor.continue();\n };\n } catch (e) {\n return callback(e);\n }\n });\n },loadLocalEntry:function (path, callback) {\n var stat, node;\n \n try {\n var lookup = FS.lookupPath(path);\n node = lookup.node;\n stat = FS.stat(path);\n } catch (e) {\n return callback(e);\n }\n \n if (FS.isDir(stat.mode)) {\n return callback(null, { timestamp: stat.mtime, mode: stat.mode });\n } else if (FS.isFile(stat.mode)) {\n // Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array.\n // Therefore always convert the file contents to a typed array first before writing the data to IndexedDB.\n node.contents = MEMFS.getFileDataAsTypedArray(node);\n return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents });\n } else {\n return callback(new Error(\'node type not supported\'));\n }\n },storeLocalEntry:function (path, entry, callback) {\n try {\n if (FS.isDir(entry.mode)) {\n FS.mkdir(path, entry.mode);\n } else if (FS.isFile(entry.mode)) {\n FS.writeFile(path, entry.contents, { canOwn: true });\n } else {\n return callback(new Error(\'node type not supported\'));\n }\n \n FS.chmod(path, entry.mode);\n FS.utime(path, entry.timestamp, entry.timestamp);\n } catch (e) {\n return callback(e);\n }\n \n callback(null);\n },removeLocalEntry:function (path, callback) {\n try {\n var lookup = FS.lookupPath(path);\n var stat = FS.stat(path);\n \n if (FS.isDir(stat.mode)) {\n FS.rmdir(path);\n } else if (FS.isFile(stat.mode)) {\n FS.unlink(path);\n }\n } catch (e) {\n return callback(e);\n }\n \n callback(null);\n },loadRemoteEntry:function (store, path, callback) {\n var req = store.get(path);\n req.onsuccess = function(event) { callback(null, event.target.result); };\n req.onerror = function(e) {\n callback(this.error);\n e.preventDefault();\n };\n },storeRemoteEntry:function (store, path, entry, callback) {\n var req = store.put(entry, path);\n req.onsuccess = function() { callback(null); };\n req.onerror = function(e) {\n callback(this.error);\n e.preventDefault();\n };\n },removeRemoteEntry:function (store, path, callback) {\n var req = store.delete(path);\n req.onsuccess = function() { callback(null); };\n req.onerror = function(e) {\n callback(this.error);\n e.preventDefault();\n };\n },reconcile:function (src, dst, callback) {\n var total = 0;\n \n var create = [];\n Object.keys(src.entries).forEach(function (key) {\n var e = src.entries[key];\n var e2 = dst.entries[key];\n if (!e2 || e.timestamp > e2.timestamp) {\n create.push(key);\n total++;\n }\n });\n \n var remove = [];\n Object.keys(dst.entries).forEach(function (key) {\n var e = dst.entries[key];\n var e2 = src.entries[key];\n if (!e2) {\n remove.push(key);\n total++;\n }\n });\n \n if (!total) {\n return callback(null);\n }\n \n var errored = false;\n var completed = 0;\n var db = src.type === \'remote\' ? src.db : dst.db;\n var transaction = db.transaction([IDBFS.DB_STORE_NAME], \'readwrite\');\n var store = transaction.objectStore(IDBFS.DB_STORE_NAME);\n \n function done(err) {\n if (err) {\n if (!done.errored) {\n done.errored = true;\n return callback(err);\n }\n return;\n }\n if (++completed >= total) {\n return callback(null);\n }\n };\n \n transaction.onerror = function(e) {\n done(this.error);\n e.preventDefault();\n };\n \n // sort paths in ascending order so directory entries are created\n // before the files inside them\n create.sort().forEach(function (path) {\n if (dst.type === \'local\') {\n IDBFS.loadRemoteEntry(store, path, function (err, entry) {\n if (err) return done(err);\n IDBFS.storeLocalEntry(path, entry, done);\n });\n } else {\n IDBFS.loadLocalEntry(path, function (err, entry) {\n if (err) return done(err);\n IDBFS.storeRemoteEntry(store, path, entry, done);\n });\n }\n });\n \n // sort paths in descending order so files are deleted before their\n // parent directories\n remove.sort().reverse().forEach(function(path) {\n if (dst.type === \'local\') {\n IDBFS.removeLocalEntry(path, done);\n } else {\n IDBFS.removeRemoteEntry(store, path, done);\n }\n });\n }};\n \n var NODEFS={isWindows:false,staticInit:function () {\n NODEFS.isWindows = !!process.platform.match(/^win/);\n var flags = process["binding"]("constants");\n // Node.js 4 compatibility: it has no namespaces for constants\n if (flags["fs"]) {\n flags = flags["fs"];\n }\n NODEFS.flagsForNodeMap = {\n "1024": flags["O_APPEND"],\n "64": flags["O_CREAT"],\n "128": flags["O_EXCL"],\n "0": flags["O_RDONLY"],\n "2": flags["O_RDWR"],\n "4096": flags["O_SYNC"],\n "512": flags["O_TRUNC"],\n "1": flags["O_WRONLY"]\n };\n },bufferFrom:function (arrayBuffer) {\n // Node.js < 4.5 compatibility: Buffer.from does not support ArrayBuffer\n // Buffer.from before 4.5 was just a method inherited from Uint8Array\n // Buffer.alloc has been added with Buffer.from together, so check it instead\n return Buffer.alloc ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer);\n },mount:function (mount) {\n assert(ENVIRONMENT_IS_NODE);\n return NODEFS.createNode(null, \'/\', NODEFS.getMode(mount.opts.root), 0);\n },createNode:function (parent, name, mode, dev) {\n if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) {\n throw new FS.ErrnoError(ERRNO_CODES.EINVAL);\n }\n var node = FS.createNode(parent, name, mode);\n node.node_ops = NODEFS.node_ops;\n node.stream_ops = NODEFS.stream_ops;\n return node;\n },getMode:function (path) {\n var stat;\n try {\n stat = fs.lstatSync(path);\n if (NODEFS.isWindows) {\n // Node.js on Windows never represents permission bit \'x\', so\n // propagate read bits to execute bits\n stat.mode = stat.mode | ((stat.mode & 292) >> 2);\n }\n } catch (e) {\n if (!e.code) throw e;\n throw new FS.ErrnoError(ERRNO_CODES[e.code]);\n }\n return stat.mode;\n },realPath:function (node) {\n var parts = [];\n while (node.parent !== node) {\n parts.push(node.name);\n node = node.parent;\n }\n parts.push(node.mount.opts.root);\n parts.reverse();\n return PATH.join.apply(null, parts);\n },flagsForNode:function (flags) {\n flags &= ~0x200000 /*O_PATH*/; // Ignore this flag from musl, otherwise node.js fails to open the file.\n flags &= ~0x800 /*O_NONBLOCK*/; // Ignore this flag from musl, otherwise node.js fails to open the file.\n flags &= ~0x8000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file.\n flags &= ~0x80000 /*O_CLOEXEC*/; // Some applications may pass it; it makes no sense for a single process.\n var newFlags = 0;\n for (var k in NODEFS.flagsForNodeMap) {\n if (flags & k) {\n newFlags |= NODEFS.flagsForNodeMap[k];\n flags ^= k;\n }\n }\n \n if (!flags) {\n return newFlags;\n } else {\n throw new FS.ErrnoError(ERRNO_CODES.EINVAL);\n }\n },node_ops:{getattr:function (node) {\n var path = NODEFS.realPath(node);\n var stat;\n try {\n stat = fs.lstatSync(path);\n } catch (e) {\n if (!e.code) throw e;\n throw new FS.ErrnoError(ERRNO_CODES[e.code]);\n }\n // node.js v0.10.20 doesn\'t report blksize and blocks on Windows. Fake them with default blksize of 4096.\n // See http://support.microsoft.com/kb/140365\n if (NODEFS.isWindows && !stat.blksize) {\n stat.blksize = 4096;\n }\n if (NODEFS.isWindows && !stat.blocks) {\n stat.blocks = (stat.size+stat.blksize-1)/stat.blksize|0;\n }\n return {\n dev: stat.dev,\n ino: stat.ino,\n mode: stat.mode,\n nlink: stat.nlink,\n uid: stat.uid,\n gid: stat.gid,\n rdev: stat.rdev,\n size: stat.size,\n atime: stat.atime,\n mtime: stat.mtime,\n ctime: stat.ctime,\n blksize: stat.blksize,\n blocks: stat.blocks\n };\n },setattr:function (node, attr) {\n var path = NODEFS.realPath(node);\n try {\n if (attr.mode !== undefined) {\n fs.chmodSync(path, attr.mode);\n // update the common node structure mode as well\n node.mode = attr.mode;\n }\n if (attr.timestamp !== undefined) {\n var date = new Date(attr.timestamp);\n fs.utimesSync(path, date, date);\n }\n if (attr.size !== undefined) {\n fs.truncateSync(path, attr.size);\n }\n } catch (e) {\n if (!e.code) throw e;\n throw new FS.ErrnoError(ERRNO_CODES[e.code]);\n }\n },lookup:function (parent, name) {\n var path = PATH.join2(NODEFS.realPath(parent), name);\n var mode = NODEFS.getMode(path);\n return NODEFS.createNode(parent, name, mode);\n },mknod:function (parent, name, mode, dev) {\n var node = NODEFS.createNode(parent, name, mode, dev);\n // create the backing node for this in the fs root as well\n var path = NODEFS.realPath(node);\n try {\n if (FS.isDir(node.mode)) {\n fs.mkdirSync(path, node.mode);\n } else {\n fs.writeFileSync(path, \'\', { mode: node.mode });\n }\n } catch (e) {\n if (!e.code) throw e;\n throw new FS.ErrnoError(ERRNO_CODES[e.code]);\n }\n return node;\n },rename:function (oldNode, newDir, newName) {\n var oldPath = NODEFS.realPath(oldNode);\n var newPath = PATH.join2(NODEFS.realPath(newDir), newName);\n try {\n fs.renameSync(oldPath, newPath);\n } catch (e) {\n if (!e.code) throw e;\n throw new FS.ErrnoError(ERRNO_CODES[e.code]);\n }\n },unlink:function (parent, name) {\n var path = PATH.join2(NODEFS.realPath(parent), name);\n try {\n fs.unlinkSync(path);\n } catch (e) {\n if (!e.code) throw e;\n throw new FS.ErrnoError(ERRNO_CODES[e.code]);\n }\n },rmdir:function (parent, name) {\n var path = PATH.join2(NODEFS.realPath(parent), name);\n try {\n fs.rmdirSync(path);\n } catch (e) {\n if (!e.code) throw e;\n throw new FS.ErrnoError(ERRNO_CODES[e.code]);\n }\n },readdir:function (node) {\n var path = NODEFS.realPath(node);\n try {\n return fs.readdirSync(path);\n } catch (e) {\n if (!e.code) throw e;\n throw new FS.ErrnoError(ERRNO_CODES[e.code]);\n }\n },symlink:function (parent, newName, oldPath) {\n var newPath = PATH.join2(NODEFS.realPath(parent), newName);\n try {\n fs.symlinkSync(oldPath, newPath);\n } catch (e) {\n if (!e.code) throw e;\n throw new FS.ErrnoError(ERRNO_CODES[e.code]);\n }\n },readlink:function (node) {\n var path = NODEFS.realPath(node);\n try {\n path = fs.readlinkSync(path);\n path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path);\n return path;\n } catch (e) {\n if (!e.code) throw e;\n throw new FS.ErrnoError(ERRNO_CODES[e.code]);\n }\n }},stream_ops:{open:function (stream) {\n var path = NODEFS.realPath(stream.node);\n try {\n if (FS.isFile(stream.node.mode)) {\n stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags));\n }\n } catch (e) {\n if (!e.code) throw e;\n throw new FS.ErrnoError(ERRNO_CODES[e.code]);\n }\n },close:function (stream) {\n try {\n if (FS.isFile(stream.node.mode) && stream.nfd) {\n fs.closeSync(stream.nfd);\n }\n } catch (e) {\n if (!e.code) throw e;\n throw new FS.ErrnoError(ERRNO_CODES[e.code]);\n }\n },read:function (stream, buffer, offset, length, position) {\n // Node.js < 6 compatibility: node errors on 0 length reads\n if (length === 0) return 0;\n try {\n return fs.readSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position);\n } catch (e) {\n throw new FS.ErrnoError(ERRNO_CODES[e.code]);\n }\n },write:function (stream, buffer, offset, length, position) {\n try {\n return fs.writeSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position);\n } catch (e) {\n throw new FS.ErrnoError(ERRNO_CODES[e.code]);\n }\n },llseek:function (stream, offset, whence) {\n var position = offset;\n if (whence === 1) { // SEEK_CUR.\n position += stream.position;\n } else if (whence === 2) { // SEEK_END.\n if (FS.isFile(stream.node.mode)) {\n try {\n var stat = fs.fstatSync(stream.nfd);\n position += stat.size;\n } catch (e) {\n throw new FS.ErrnoError(ERRNO_CODES[e.code]);\n }\n }\n }\n \n if (position < 0) {\n throw new FS.ErrnoError(ERRNO_CODES.EINVAL);\n }\n \n return position;\n }}};\n \n var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function (mount) {\n assert(ENVIRONMENT_IS_WORKER);\n if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync();\n var root = WORKERFS.createNode(null, \'/\', WORKERFS.DIR_MODE, 0);\n var createdParents = {};\n function ensureParent(path) {\n // return the parent node, creating subdirs as necessary\n var parts = path.split(\'/\');\n var parent = root;\n for (var i = 0; i < parts.length-1; i++) {\n var curr = parts.slice(0, i+1).join(\'/\');\n // Issue 4254: Using curr as a node name will prevent the node\n // from being found in FS.nameTable when FS.open is called on\n // a path which holds a child of this node,\n // given that all FS functions assume node names\n // are just their corresponding parts within their given path,\n // rather than incremental aggregates which include their parent\'s\n // directories.\n if (!createdParents[curr]) {\n createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0);\n }\n parent = createdParents[curr];\n }\n return parent;\n }\n function base(path) {\n var parts = path.split(\'/\');\n return parts[parts.length-1];\n }\n // We also accept FileList here, by using Array.prototype\n Array.prototype.forEach.call(mount.opts["files"] || [], function(file) {\n WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate);\n });\n (mount.opts["blobs"] || []).forEach(function(obj) {\n WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]);\n });\n (mount.opts["packages"] || []).forEach(function(pack) {\n pack[\'metadata\'].files.forEach(function(file) {\n var name = file.filename.substr(1); // remove initial slash\n WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack[\'blob\'].slice(file.start, file.end));\n });\n });\n return root;\n },createNode:function (parent, name, mode, dev, contents, mtime) {\n var node = FS.createNode(parent, name, mode);\n node.mode = mode;\n node.node_ops = WORKERFS.node_ops;\n node.stream_ops = WORKERFS.stream_ops;\n node.timestamp = (mtime || new Date).getTime();\n assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE);\n if (mode === WORKERFS.FILE_MODE) {\n node.size = contents.size;\n node.contents = contents;\n } else {\n node.size = 4096;\n node.contents = {};\n }\n if (parent) {\n parent.contents[name] = node;\n }\n return node;\n },node_ops:{getattr:function (node) {\n return {\n dev: 1,\n ino: undefined,\n mode: node.mode,\n nlink: 1,\n uid: 0,\n gid: 0,\n rdev: undefined,\n size: node.size,\n atime: new Date(node.timestamp),\n mtime: new Date(node.timestamp),\n ctime: new Date(node.timestamp),\n blksize: 4096,\n blocks: Math.ceil(node.size / 4096),\n };\n },setattr:function (node, attr) {\n if (attr.mode !== undefined) {\n node.mode = attr.mode;\n }\n if (attr.timestamp !== undefined) {\n node.timestamp = attr.timestamp;\n }\n },lookup:function (parent, name) {\n throw new FS.ErrnoError(ERRNO_CODES.ENOENT);\n },mknod:function (parent, name, mode, dev) {\n throw new FS.ErrnoError(ERRNO_CODES.EPERM);\n },rename:function (oldNode, newDir, newName) {\n throw new FS.ErrnoError(ERRNO_CODES.EPERM);\n },unlink:function (parent, name) {\n throw new FS.ErrnoError(ERRNO_CODES.EPERM);\n },rmdir:function (parent, name) {\n throw new FS.ErrnoError(ERRNO_CODES.EPERM);\n },readdir:function (node) {\n var entries = [\'.\', \'..\'];\n for (var key in node.contents) {\n if (!node.contents.hasOwnProperty(key)) {\n continue;\n }\n entries.push(key);\n }\n return entries;\n },symlink:function (parent, newName, oldPath) {\n throw new FS.ErrnoError(ERRNO_CODES.EPERM);\n },readlink:function (node) {\n throw new FS.ErrnoError(ERRNO_CODES.EPERM);\n }},stream_ops:{read:function (stream, buffer, offset, length, position) {\n if (position >= stream.node.size) return 0;\n var chunk = stream.node.contents.slice(position, position + length);\n var ab = WORKERFS.reader.readAsArrayBuffer(chunk);\n buffer.set(new Uint8Array(ab), offset);\n return chunk.size;\n },write:function (stream, buffer, offset, length, position) {\n throw new FS.ErrnoError(ERRNO_CODES.EIO);\n },llseek:function (stream, offset, whence) {\n var position = offset;\n if (whence === 1) { // SEEK_CUR.\n position += stream.position;\n } else if (whence === 2) { // SEEK_END.\n if (FS.isFile(stream.node.mode)) {\n position += stream.node.size;\n }\n }\n if (position < 0) {\n throw new FS.ErrnoError(ERRNO_CODES.EINVAL);\n }\n return position;\n }}};\n \n var _stdin=STATICTOP; STATICTOP += 16;;\n \n var _stdout=STATICTOP; STATICTOP += 16;;\n \n var _stderr=STATICTOP; STATICTOP += 16;;var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function (e) {\n if (!(e instanceof FS.ErrnoError)) throw e + \' : \' + stackTrace();\n return ___setErrNo(e.errno);\n },lookupPath:function (path, opts) {\n path = PATH.resolve(FS.cwd(), path);\n opts = opts || {};\n \n if (!path) return { path: \'\', node: null };\n \n var defaults = {\n follow_mount: true,\n recurse_count: 0\n };\n for (var key in defaults) {\n if (opts[key] === undefined) {\n opts[key] = defaults[key];\n }\n }\n \n if (opts.recurse_count > 8) { // max recursive lookup of 8\n throw new FS.ErrnoError(ERRNO_CODES.ELOOP);\n }\n \n // split the path\n var parts = PATH.normalizeArray(path.split(\'/\').filter(function(p) {\n return !!p;\n }), false);\n \n // start at the root\n var current = FS.root;\n var current_path = \'/\';\n \n for (var i = 0; i < parts.length; i++) {\n var islast = (i === parts.length-1);\n if (islast && opts.parent) {\n // stop resolving\n break;\n }\n \n current = FS.lookupNode(current, parts[i]);\n current_path = PATH.join2(current_path, parts[i]);\n \n // jump to the mount\'s root node if this is a mountpoint\n if (FS.isMountpoint(current)) {\n if (!islast || (islast && opts.follow_mount)) {\n current = current.mounted.root;\n }\n }\n \n // by default, lookupPath will not follow a symlink if it is the final path component.\n // setting opts.follow = true will override this behavior.\n if (!islast || opts.follow) {\n var count = 0;\n while (FS.isLink(current.mode)) {\n var link = FS.readlink(current_path);\n current_path = PATH.resolve(PATH.dirname(current_path), link);\n \n var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count });\n current = lookup.node;\n \n if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX).\n throw new FS.ErrnoError(ERRNO_CODES.ELOOP);\n }\n }\n }\n }\n \n return { path: current_path, node: current };\n },getPath:function (node) {\n var path;\n while (true) {\n if (FS.isRoot(node)) {\n var mount = node.mount.mountpoint;\n if (!path) return mount;\n return mount[mount.length-1] !== \'/\' ? mount + \'/\' + path : mount + path;\n }\n path = path ? node.name + \'/\' + path : node.name;\n node = node.parent;\n }\n },hashName:function (parentid, name) {\n var hash = 0;\n \n \n for (var i = 0; i < name.length; i++) {\n hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0;\n }\n return ((parentid + hash) >>> 0) % FS.nameTable.length;\n },hashAddNode:function (node) {\n var hash = FS.hashName(node.parent.id, node.name);\n node.name_next = FS.nameTable[hash];\n FS.nameTable[hash] = node;\n },hashRemoveNode:function (node) {\n var hash = FS.hashName(node.parent.id, node.name);\n if (FS.nameTable[hash] === node) {\n FS.nameTable[hash] = node.name_next;\n } else {\n var current = FS.nameTable[hash];\n while (current) {\n if (current.name_next === node) {\n current.name_next = node.name_next;\n break;\n }\n current = current.name_next;\n }\n }\n },lookupNode:function (parent, name) {\n var err = FS.mayLookup(parent);\n if (err) {\n throw new FS.ErrnoError(err, parent);\n }\n var hash = FS.hashName(parent.id, name);\n for (var node = FS.nameTable[hash]; node; node = node.name_next) {\n var nodeName = node.name;\n if (node.parent.id === parent.id && nodeName === name) {\n return node;\n }\n }\n // if we failed to find it in the cache, call into the VFS\n return FS.lookup(parent, name);\n },createNode:function (parent, name, mode, rdev) {\n if (!FS.FSNode) {\n FS.FSNode = function(parent, name, mode, rdev) {\n if (!parent) {\n parent = this; // root node sets parent to itself\n }\n this.parent = parent;\n this.mount = parent.mount;\n this.mounted = null;\n this.id = FS.nextInode++;\n this.name = name;\n this.mode = mode;\n this.node_ops = {};\n this.stream_ops = {};\n this.rdev = rdev;\n };\n \n FS.FSNode.prototype = {};\n \n // compatibility\n var readMode = 292 | 73;\n var writeMode = 146;\n \n // NOTE we must use Object.defineProperties instead of individual calls to\n // Object.defineProperty in order to make closure compiler happy\n Object.defineProperties(FS.FSNode.prototype, {\n read: {\n get: function() { return (this.mode & readMode) === readMode; },\n set: function(val) { val ? this.mode |= readMode : this.mode &= ~readMode; }\n },\n write: {\n get: function() { return (this.mode & writeMode) === writeMode; },\n set: function(val) { val ? this.mode |= writeMode : this.mode &= ~writeMode; }\n },\n isFolder: {\n get: function() { return FS.isDir(this.mode); }\n },\n isDevice: {\n get: function() { return FS.isChrdev(this.mode); }\n }\n });\n }\n \n var node = new FS.FSNode(parent, name, mode, rdev);\n \n FS.hashAddNode(node);\n \n return node;\n },destroyNode:function (node) {\n FS.hashRemoveNode(node);\n },isRoot:function (node) {\n return node === node.parent;\n },isMountpoint:function (node) {\n return !!node.mounted;\n },isFile:function (mode) {\n return (mode & 61440) === 32768;\n },isDir:function (mode) {\n return (mode & 61440) === 16384;\n },isLink:function (mode) {\n return (mode & 61440) === 40960;\n },isChrdev:function (mode) {\n return (mode & 61440) === 8192;\n },isBlkdev:function (mode) {\n return (mode & 61440) === 24576;\n },isFIFO:function (mode) {\n return (mode & 61440) === 4096;\n },isSocket:function (mode) {\n return (mode & 49152) === 49152;\n },flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function (str) {\n var flags = FS.flagModes[str];\n if (typeof flags === \'undefined\') {\n throw new Error(\'Unknown file open mode: \' + str);\n }\n return flags;\n },flagsToPermissionString:function (flag) {\n var perms = [\'r\', \'w\', \'rw\'][flag & 3];\n if ((flag & 512)) {\n perms += \'w\';\n }\n return perms;\n },nodePermissions:function (node, perms) {\n if (FS.ignorePermissions) {\n return 0;\n }\n // return 0 if any user, group or owner bits are set.\n if (perms.indexOf(\'r\') !== -1 && !(node.mode & 292)) {\n return ERRNO_CODES.EACCES;\n } else if (perms.indexOf(\'w\') !== -1 && !(node.mode & 146)) {\n return ERRNO_CODES.EACCES;\n } else if (perms.indexOf(\'x\') !== -1 && !(node.mode & 73)) {\n return ERRNO_CODES.EACCES;\n }\n return 0;\n },mayLookup:function (dir) {\n var err = FS.nodePermissions(dir, \'x\');\n if (err) return err;\n if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES;\n return 0;\n },mayCreate:function (dir, name) {\n try {\n var node = FS.lookupNode(dir, name);\n return ERRNO_CODES.EEXIST;\n } catch (e) {\n }\n return FS.nodePermissions(dir, \'wx\');\n },mayDelete:function (dir, name, isdir) {\n var node;\n try {\n node = FS.lookupNode(dir, name);\n } catch (e) {\n return e.errno;\n }\n var err = FS.nodePermissions(dir, \'wx\');\n if (err) {\n return err;\n }\n if (isdir) {\n if (!FS.isDir(node.mode)) {\n return ERRNO_CODES.ENOTDIR;\n }\n if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {\n return ERRNO_CODES.EBUSY;\n }\n } else {\n if (FS.isDir(node.mode)) {\n return ERRNO_CODES.EISDIR;\n }\n }\n return 0;\n },mayOpen:function (node, flags) {\n if (!node) {\n return ERRNO_CODES.ENOENT;\n }\n if (FS.isLink(node.mode)) {\n return ERRNO_CODES.ELOOP;\n } else if (FS.isDir(node.mode)) {\n if (FS.flagsToPermissionString(flags) !== \'r\' || // opening for write\n (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only)\n return ERRNO_CODES.EISDIR;\n }\n }\n return FS.nodePermissions(node, FS.flagsToPermissionString(flags));\n },MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) {\n fd_start = fd_start || 0;\n fd_end = fd_end || FS.MAX_OPEN_FDS;\n for (var fd = fd_start; fd <= fd_end; fd++) {\n if (!FS.streams[fd]) {\n return fd;\n }\n }\n throw new FS.ErrnoError(ERRNO_CODES.EMFILE);\n },getStream:function (fd) {\n return FS.streams[fd];\n },createStream:function (stream, fd_start, fd_end) {\n if (!FS.FSStream) {\n FS.FSStream = function(){};\n FS.FSStream.prototype = {};\n // compatibility\n Object.defineProperties(FS.FSStream.prototype, {\n object: {\n get: function() { return this.node; },\n set: function(val) { this.node = val; }\n },\n isRead: {\n get: function() { return (this.flags & 2097155) !== 1; }\n },\n isWrite: {\n get: function() { return (this.flags & 2097155) !== 0; }\n },\n isAppend: {\n get: function() { return (this.flags & 1024); }\n }\n });\n }\n // clone it, so we can return an instance of FSStream\n var newStream = new FS.FSStream();\n for (var p in stream) {\n newStream[p] = stream[p];\n }\n stream = newStream;\n var fd = FS.nextfd(fd_start, fd_end);\n stream.fd = fd;\n FS.streams[fd] = stream;\n return stream;\n },closeStream:function (fd) {\n FS.streams[fd] = null;\n },chrdev_stream_ops:{open:function (stream) {\n var device = FS.getDevice(stream.node.rdev);\n // override node\'s stream ops with the device\'s\n stream.stream_ops = device.stream_ops;\n // forward the open call\n if (stream.stream_ops.open) {\n stream.stream_ops.open(stream);\n }\n },llseek:function () {\n throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);\n }},major:function (dev) {\n return ((dev) >> 8);\n },minor:function (dev) {\n return ((dev) & 0xff);\n },makedev:function (ma, mi) {\n return ((ma) << 8 | (mi));\n },registerDevice:function (dev, ops) {\n FS.devices[dev] = { stream_ops: ops };\n },getDevice:function (dev) {\n return FS.devices[dev];\n },getMounts:function (mount) {\n var mounts = [];\n var check = [mount];\n \n while (check.length) {\n var m = check.pop();\n \n mounts.push(m);\n \n check.push.apply(check, m.mounts);\n }\n \n return mounts;\n },syncfs:function (populate, callback) {\n if (typeof(populate) === \'function\') {\n callback = populate;\n populate = false;\n }\n \n FS.syncFSRequests++;\n \n if (FS.syncFSRequests > 1) {\n console.log(\'warning: \' + FS.syncFSRequests + \' FS.syncfs operations in flight at once, probably just doing extra work\');\n }\n \n var mounts = FS.getMounts(FS.root.mount);\n var completed = 0;\n \n function doCallback(err) {\n assert(FS.syncFSRequests > 0);\n FS.syncFSRequests--;\n return callback(err);\n }\n \n function done(err) {\n if (err) {\n if (!done.errored) {\n done.errored = true;\n return doCallback(err);\n }\n return;\n }\n if (++completed >= mounts.length) {\n doCallback(null);\n }\n };\n \n // sync all mounts\n mounts.forEach(function (mount) {\n if (!mount.type.syncfs) {\n return done(null);\n }\n mount.type.syncfs(mount, populate, done);\n });\n },mount:function (type, opts, mountpoint) {\n var root = mountpoint === \'/\';\n var pseudo = !mountpoint;\n var node;\n \n if (root && FS.root) {\n throw new FS.ErrnoError(ERRNO_CODES.EBUSY);\n } else if (!root && !pseudo) {\n var lookup = FS.lookupPath(mountpoint, { follow_mount: false });\n \n mountpoint = lookup.path; // use the absolute path\n node = lookup.node;\n \n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(ERRNO_CODES.EBUSY);\n }\n \n if (!FS.isDir(node.mode)) {\n throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);\n }\n }\n \n var mount = {\n type: type,\n opts: opts,\n mountpoint: mountpoint,\n mounts: []\n };\n \n // create a root node for the fs\n var mountRoot = type.mount(mount);\n mountRoot.mount = mount;\n mount.root = mountRoot;\n \n if (root) {\n FS.root = mountRoot;\n } else if (node) {\n // set as a mountpoint\n node.mounted = mount;\n \n // add the new mount to the current mount\'s children\n if (node.mount) {\n node.mount.mounts.push(mount);\n }\n }\n \n return mountRoot;\n },unmount:function (mountpoint) {\n var lookup = FS.lookupPath(mountpoint, { follow_mount: false });\n \n if (!FS.isMountpoint(lookup.node)) {\n throw new FS.ErrnoError(ERRNO_CODES.EINVAL);\n }\n \n // destroy the nodes for this mount, and all its child mounts\n var node = lookup.node;\n var mount = node.mounted;\n var mounts = FS.getMounts(mount);\n \n Object.keys(FS.nameTable).forEach(function (hash) {\n var current = FS.nameTable[hash];\n \n while (current) {\n var next = current.name_next;\n \n if (mounts.indexOf(current.mount) !== -1) {\n FS.destroyNode(current);\n }\n \n current = next;\n }\n });\n \n // no longer a mountpoint\n node.mounted = null;\n \n // remove this mount from the child mounts\n var idx = node.mount.mounts.indexOf(mount);\n assert(idx !== -1);\n node.mount.mounts.splice(idx, 1);\n },lookup:function (parent, name) {\n return parent.node_ops.lookup(parent, name);\n },mknod:function (path, mode, dev) {\n var lookup = FS.lookupPath(path, { parent: true });\n var parent = lookup.node;\n var name = PATH.basename(path);\n if (!name || name === \'.\' || name === \'..\') {\n throw new FS.ErrnoError(ERRNO_CODES.EINVAL);\n }\n var err = FS.mayCreate(parent, name);\n if (err) {\n throw new FS.ErrnoError(err);\n }\n if (!parent.node_ops.mknod) {\n throw new FS.ErrnoError(ERRNO_CODES.EPERM);\n }\n return parent.node_ops.mknod(parent, name, mode, dev);\n },create:function (path, mode) {\n mode = mode !== undefined ? mode : 438 /* 0666 */;\n mode &= 4095;\n mode |= 32768;\n return FS.mknod(path, mode, 0);\n },mkdir:function (path, mode) {\n mode = mode !== undefined ? mode : 511 /* 0777 */;\n mode &= 511 | 512;\n mode |= 16384;\n return FS.mknod(path, mode, 0);\n },mkdirTree:function (path, mode) {\n var dirs = path.split(\'/\');\n var d = \'\';\n for (var i = 0; i < dirs.length; ++i) {\n if (!dirs[i]) continue;\n d += \'/\' + dirs[i];\n try {\n FS.mkdir(d, mode);\n } catch(e) {\n if (e.errno != ERRNO_CODES.EEXIST) throw e;\n }\n }\n },mkdev:function (path, mode, dev) {\n if (typeof(dev) === \'undefined\') {\n dev = mode;\n mode = 438 /* 0666 */;\n }\n mode |= 8192;\n return FS.mknod(path, mode, dev);\n },symlink:function (oldpath, newpath) {\n if (!PATH.resolve(oldpath)) {\n throw new FS.ErrnoError(ERRNO_CODES.ENOENT);\n }\n var lookup = FS.lookupPath(newpath, { parent: true });\n var parent = lookup.node;\n if (!parent) {\n throw new FS.ErrnoError(ERRNO_CODES.ENOENT);\n }\n var newname = PATH.basename(newpath);\n var err = FS.mayCreate(parent, newname);\n if (err) {\n throw new FS.ErrnoError(err);\n }\n if (!parent.node_ops.symlink) {\n throw new FS.ErrnoError(ERRNO_CODES.EPERM);\n }\n return parent.node_ops.symlink(parent, newname, oldpath);\n },rename:function (old_path, new_path) {\n var old_dirname = PATH.dirname(old_path);\n var new_dirname = PATH.dirname(new_path);\n var old_name = PATH.basename(old_path);\n var new_name = PATH.basename(new_path);\n // parents must exist\n var lookup, old_dir, new_dir;\n try {\n lookup = FS.lookupPath(old_path, { parent: true });\n old_dir = lookup.node;\n lookup = FS.lookupPath(new_path, { parent: true });\n new_dir = lookup.node;\n } catch (e) {\n throw new FS.ErrnoError(ERRNO_CODES.EBUSY);\n }\n if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT);\n // need to be part of the same mount\n if (old_dir.mount !== new_dir.mount) {\n throw new FS.ErrnoError(ERRNO_CODES.EXDEV);\n }\n // source must exist\n var old_node = FS.lookupNode(old_dir, old_name);\n // old path should not be an ancestor of the new path\n var relative = PATH.relative(old_path, new_dirname);\n if (relative.charAt(0) !== \'.\') {\n throw new FS.ErrnoError(ERRNO_CODES.EINVAL);\n }\n // new path should not be an ancestor of the old path\n relative = PATH.relative(new_path, old_dirname);\n if (relative.charAt(0) !== \'.\') {\n throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);\n }\n // see if the new path already exists\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {\n // not fatal\n }\n // early out if nothing needs to change\n if (old_node === new_node) {\n return;\n }\n // we\'ll need to delete the old entry\n var isdir = FS.isDir(old_node.mode);\n var err = FS.mayDelete(old_dir, old_name, isdir);\n if (err) {\n throw new FS.ErrnoError(err);\n }\n // need delete permissions if we\'ll be overwriting.\n // need create permissions if new doesn\'t already exist.\n err = new_node ?\n FS.mayDelete(new_dir, new_name, isdir) :\n FS.mayCreate(new_dir, new_name);\n if (err) {\n throw new FS.ErrnoError(err);\n }\n if (!old_dir.node_ops.rename) {\n throw new FS.ErrnoError(ERRNO_CODES.EPERM);\n }\n if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) {\n throw new FS.ErrnoError(ERRNO_CODES.EBUSY);\n }\n // if we are going to change the parent, check write permissions\n if (new_dir !== old_dir) {\n err = FS.nodePermissions(old_dir, \'w\');\n if (err) {\n throw new FS.ErrnoError(err);\n }\n }\n try {\n if (FS.trackingDelegate[\'willMovePath\']) {\n FS.trackingDelegate[\'willMovePath\'](old_path, new_path);\n }\n } catch(e) {\n console.log("FS.trackingDelegate[\'willMovePath\'](\'"+old_path+"\', \'"+new_path+"\') threw an exception: " + e.message);\n }\n // remove the node from the lookup hash\n FS.hashRemoveNode(old_node);\n // do the underlying fs rename\n try {\n old_dir.node_ops.rename(old_node, new_dir, new_name);\n } catch (e) {\n throw e;\n } finally {\n // add the node back to the hash (in case node_ops.rename\n // changed its name)\n FS.hashAddNode(old_node);\n }\n try {\n if (FS.trackingDelegate[\'onMovePath\']) FS.trackingDelegate[\'onMovePath\'](old_path, new_path);\n } catch(e) {\n console.log("FS.trackingDelegate[\'onMovePath\'](\'"+old_path+"\', \'"+new_path+"\') threw an exception: " + e.message);\n }\n },rmdir:function (path) {\n var lookup = FS.lookupPath(path, { parent: true });\n var parent = lookup.node;\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var err = FS.mayDelete(parent, name, true);\n if (err) {\n throw new FS.ErrnoError(err);\n }\n if (!parent.node_ops.rmdir) {\n throw new FS.ErrnoError(ERRNO_CODES.EPERM);\n }\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(ERRNO_CODES.EBUSY);\n }\n try {\n if (FS.trackingDelegate[\'willDeletePath\']) {\n FS.trackingDelegate[\'willDeletePath\'](path);\n }\n } catch(e) {\n console.log("FS.trackingDelegate[\'willDeletePath\'](\'"+path+"\') threw an exception: " + e.message);\n }\n parent.node_ops.rmdir(parent, name);\n FS.destroyNode(node);\n try {\n if (FS.trackingDelegate[\'onDeletePath\']) FS.trackingDelegate[\'onDeletePath\'](path);\n } catch(e) {\n console.log("FS.trackingDelegate[\'onDeletePath\'](\'"+path+"\') threw an exception: " + e.message);\n }\n },readdir:function (path) {\n var lookup = FS.lookupPath(path, { follow: true });\n var node = lookup.node;\n if (!node.node_ops.readdir) {\n throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);\n }\n return node.node_ops.readdir(node);\n },unlink:function (path) {\n var lookup = FS.lookupPath(path, { parent: true });\n var parent = lookup.node;\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var err = FS.mayDelete(parent, name, false);\n if (err) {\n // According to POSIX, we should map EISDIR to EPERM, but\n // we instead do what Linux does (and we must, as we use\n // the musl linux libc).\n throw new FS.ErrnoError(err);\n }\n if (!parent.node_ops.unlink) {\n throw new FS.ErrnoError(ERRNO_CODES.EPERM);\n }\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(ERRNO_CODES.EBUSY);\n }\n try {\n if (FS.trackingDelegate[\'willDeletePath\']) {\n FS.trackingDelegate[\'willDeletePath\'](path);\n }\n } catch(e) {\n console.log("FS.trackingDelegate[\'willDeletePath\'](\'"+path+"\') threw an exception: " + e.message);\n }\n parent.node_ops.unlink(parent, name);\n FS.destroyNode(node);\n try {\n if (FS.trackingDelegate[\'onDeletePath\']) FS.trackingDelegate[\'onDeletePath\'](path);\n } catch(e) {\n console.log("FS.trackingDelegate[\'onDeletePath\'](\'"+path+"\') threw an exception: " + e.message);\n }\n },readlink:function (path) {\n var lookup = FS.lookupPath(path);\n var link = lookup.node;\n if (!link) {\n throw new FS.ErrnoError(ERRNO_CODES.ENOENT);\n }\n if (!link.node_ops.readlink) {\n throw new FS.ErrnoError(ERRNO_CODES.EINVAL);\n }\n return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));\n },stat:function (path, dontFollow) {\n var lookup = FS.lookupPath(path, { follow: !dontFollow });\n var node = lookup.node;\n if (!node) {\n throw new FS.ErrnoError(ERRNO_CODES.ENOENT);\n }\n if (!node.node_ops.getattr) {\n throw new FS.ErrnoError(ERRNO_CODES.EPERM);\n }\n return node.node_ops.getattr(node);\n },lstat:function (path) {\n return FS.stat(path, true);\n },chmod:function (path, mode, dontFollow) {\n var node;\n if (typeof path === \'string\') {\n var lookup = FS.lookupPath(path, { follow: !dontFollow });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(ERRNO_CODES.EPERM);\n }\n node.node_ops.setattr(node, {\n mode: (mode & 4095) | (node.mode & ~4095),\n timestamp: Date.now()\n });\n },lchmod:function (path, mode) {\n FS.chmod(path, mode, true);\n },fchmod:function (fd, mode) {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(ERRNO_CODES.EBADF);\n }\n FS.chmod(stream.node, mode);\n },chown:function (path, uid, gid, dontFollow) {\n var node;\n if (typeof path === \'string\') {\n var lookup = FS.lookupPath(path, { follow: !dontFollow });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(ERRNO_CODES.EPERM);\n }\n node.node_ops.setattr(node, {\n timestamp: Date.now()\n // we ignore the uid / gid for now\n });\n },lchown:function (path, uid, gid) {\n FS.chown(path, uid, gid, true);\n },fchown:function (fd, uid, gid) {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(ERRNO_CODES.EBADF);\n }\n FS.chown(stream.node, uid, gid);\n },truncate:function (path, len) {\n if (len < 0) {\n throw new FS.ErrnoError(ERRNO_CODES.EINVAL);\n }\n var node;\n if (typeof path === \'string\') {\n var lookup = FS.lookupPath(path, { follow: true });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(ERRNO_CODES.EPERM);\n }\n if (FS.isDir(node.mode)) {\n throw new FS.ErrnoError(ERRNO_CODES.EISDIR);\n }\n if (!FS.isFile(node.mode)) {\n throw new FS.ErrnoError(ERRNO_CODES.EINVAL);\n }\n var err = FS.nodePermissions(node, \'w\');\n if (err) {\n throw new FS.ErrnoError(err);\n }\n node.node_ops.setattr(node, {\n size: len,\n timestamp: Date.now()\n });\n },ftruncate:function (fd, len) {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(ERRNO_CODES.EBADF);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(ERRNO_CODES.EINVAL);\n }\n FS.truncate(stream.node, len);\n },utime:function (path, atime, mtime) {\n var lookup = FS.lookupPath(path, { follow: true });\n var node = lookup.node;\n node.node_ops.setattr(node, {\n timestamp: Math.max(atime, mtime)\n });\n },open:function (path, flags, mode, fd_start, fd_end) {\n if (path === "") {\n throw new FS.ErrnoError(ERRNO_CODES.ENOENT);\n }\n flags = typeof flags === \'string\' ? FS.modeStringToFlags(flags) : flags;\n mode = typeof mode === \'undefined\' ? 438 /* 0666 */ : mode;\n if ((flags & 64)) {\n mode = (mode & 4095) | 32768;\n } else {\n mode = 0;\n }\n var node;\n if (typeof path === \'object\') {\n node = path;\n } else {\n path = PATH.normalize(path);\n try {\n var lookup = FS.lookupPath(path, {\n follow: !(flags & 131072)\n });\n node = lookup.node;\n } catch (e) {\n // ignore\n }\n }\n // perhaps we need to create the node\n var created = false;\n if ((flags & 64)) {\n if (node) {\n // if O_CREAT and O_EXCL are set, error out if the node already exists\n if ((flags & 128)) {\n throw new FS.ErrnoError(ERRNO_CODES.EEXIST);\n }\n } else {\n // node doesn\'t exist, try to create it\n node = FS.mknod(path, mode, 0);\n created = true;\n }\n }\n if (!node) {\n throw new FS.ErrnoError(ERRNO_CODES.ENOENT);\n }\n // can\'t truncate a device\n if (FS.isChrdev(node.mode)) {\n flags &= ~512;\n }\n // if asked only for a directory, then this must be one\n if ((flags & 65536) && !FS.isDir(node.mode)) {\n throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);\n }\n // check permissions, if this is not a file we just created now (it is ok to\n // create and write to a file with read-only permissions; it is read-only\n // for later use)\n if (!created) {\n var err = FS.mayOpen(node, flags);\n if (err) {\n throw new FS.ErrnoError(err);\n }\n }\n // do truncation if necessary\n if ((flags & 512)) {\n FS.truncate(node, 0);\n }\n // we\'ve already handled these, don\'t pass down to the underlying vfs\n flags &= ~(128 | 512);\n \n // register the stream with the filesystem\n var stream = FS.createStream({\n node: node,\n path: FS.getPath(node), // we want the absolute path to the node\n flags: flags,\n seekable: true,\n position: 0,\n stream_ops: node.stream_ops,\n // used by the file family libc calls (fopen, fwrite, ferror, etc.)\n ungotten: [],\n error: false\n }, fd_start, fd_end);\n // call the new stream\'s open function\n if (stream.stream_ops.open) {\n stream.stream_ops.open(stream);\n }\n if (Module[\'logReadFiles\'] && !(flags & 1)) {\n if (!FS.readFiles) FS.readFiles = {};\n if (!(path in FS.readFiles)) {\n FS.readFiles[path] = 1;\n err(\'read file: \' + path);\n }\n }\n try {\n if (FS.trackingDelegate[\'onOpenFile\']) {\n var trackingFlags = 0;\n if ((flags & 2097155) !== 1) {\n trackingFlags |= FS.tracking.openFlags.READ;\n }\n if ((flags & 2097155) !== 0) {\n trackingFlags |= FS.tracking.openFlags.WRITE;\n }\n FS.trackingDelegate[\'onOpenFile\'](path, trackingFlags);\n }\n } catch(e) {\n console.log("FS.trackingDelegate[\'onOpenFile\'](\'"+path+"\', flags) threw an exception: " + e.message);\n }\n return stream;\n },close:function (stream) {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(ERRNO_CODES.EBADF);\n }\n if (stream.getdents) stream.getdents = null; // free readdir state\n try {\n if (stream.stream_ops.close) {\n stream.stream_ops.close(stream);\n }\n } catch (e) {\n throw e;\n } finally {\n FS.closeStream(stream.fd);\n }\n stream.fd = null;\n },isClosed:function (stream) {\n return stream.fd === null;\n },llseek:function (stream, offset, whence) {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(ERRNO_CODES.EBADF);\n }\n if (!stream.seekable || !stream.stream_ops.llseek) {\n throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);\n }\n stream.position = stream.stream_ops.llseek(stream, offset, whence);\n stream.ungotten = [];\n return stream.position;\n },read:function (stream, buffer, offset, length, position) {\n if (length < 0 || position < 0) {\n throw new FS.ErrnoError(ERRNO_CODES.EINVAL);\n }\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(ERRNO_CODES.EBADF);\n }\n if ((stream.flags & 2097155) === 1) {\n throw new FS.ErrnoError(ERRNO_CODES.EBADF);\n }\n if (FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(ERRNO_CODES.EISDIR);\n }\n if (!stream.stream_ops.read) {\n throw new FS.ErrnoError(ERRNO_CODES.EINVAL);\n }\n var seeking = typeof position !== \'undefined\';\n if (!seeking) {\n position = stream.position;\n } else if (!stream.seekable) {\n throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);\n }\n var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);\n if (!seeking) stream.position += bytesRead;\n return bytesRead;\n },write:function (stream, buffer, offset, length, position, canOwn) {\n if (length < 0 || position < 0) {\n throw new FS.ErrnoError(ERRNO_CODES.EINVAL);\n }\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(ERRNO_CODES.EBADF);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(ERRNO_CODES.EBADF);\n }\n if (FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(ERRNO_CODES.EISDIR);\n }\n if (!stream.stream_ops.write) {\n throw new FS.ErrnoError(ERRNO_CODES.EINVAL);\n }\n if (stream.flags & 1024) {\n // seek to the end before writing in append mode\n FS.llseek(stream, 0, 2);\n }\n var seeking = typeof position !== \'undefined\';\n if (!seeking) {\n position = stream.position;\n } else if (!stream.seekable) {\n throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);\n }\n var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);\n if (!seeking) stream.position += bytesWritten;\n try {\n if (stream.path && FS.trackingDelegate[\'onWriteToFile\']) FS.trackingDelegate[\'onWriteToFile\'](stream.path);\n } catch(e) {\n console.log("FS.trackingDelegate[\'onWriteToFile\'](\'"+path+"\') threw an exception: " + e.message);\n }\n return bytesWritten;\n },allocate:function (stream, offset, length) {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(ERRNO_CODES.EBADF);\n }\n if (offset < 0 || length <= 0) {\n throw new FS.ErrnoError(ERRNO_CODES.EINVAL);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(ERRNO_CODES.EBADF);\n }\n if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(ERRNO_CODES.ENODEV);\n }\n if (!stream.stream_ops.allocate) {\n throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP);\n }\n stream.stream_ops.allocate(stream, offset, length);\n },mmap:function (stream, buffer, offset, length, position, prot, flags) {\n // TODO if PROT is PROT_WRITE, make sure we have write access\n if ((stream.flags & 2097155) === 1) {\n throw new FS.ErrnoError(ERRNO_CODES.EACCES);\n }\n if (!stream.stream_ops.mmap) {\n throw new FS.ErrnoError(ERRNO_CODES.ENODEV);\n }\n return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags);\n },msync:function (stream, buffer, offset, length, mmapFlags) {\n if (!stream || !stream.stream_ops.msync) {\n return 0;\n }\n return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);\n },munmap:function (stream) {\n return 0;\n },ioctl:function (stream, cmd, arg) {\n if (!stream.stream_ops.ioctl) {\n throw new FS.ErrnoError(ERRNO_CODES.ENOTTY);\n }\n return stream.stream_ops.ioctl(stream, cmd, arg);\n },readFile:function (path, opts) {\n opts = opts || {};\n opts.flags = opts.flags || \'r\';\n opts.encoding = opts.encoding || \'binary\';\n if (opts.encoding !== \'utf8\' && opts.encoding !== \'binary\') {\n throw new Error(\'Invalid encoding type "\' + opts.encoding + \'"\');\n }\n var ret;\n var stream = FS.open(path, opts.flags);\n var stat = FS.stat(path);\n var length = stat.size;\n var buf = new Uint8Array(length);\n FS.read(stream, buf, 0, length, 0);\n if (opts.encoding === \'utf8\') {\n ret = UTF8ArrayToString(buf, 0);\n } else if (opts.encoding === \'binary\') {\n ret = buf;\n }\n FS.close(stream);\n return ret;\n },writeFile:function (path, data, opts) {\n opts = opts || {};\n opts.flags = opts.flags || \'w\';\n var stream = FS.open(path, opts.flags, opts.mode);\n if (typeof data === \'string\') {\n var buf = new Uint8Array(lengthBytesUTF8(data)+1);\n var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);\n FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);\n } else if (ArrayBuffer.isView(data)) {\n FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);\n } else {\n throw new Error(\'Unsupported data type\');\n }\n FS.close(stream);\n },cwd:function () {\n return FS.currentPath;\n },chdir:function (path) {\n var lookup = FS.lookupPath(path, { follow: true });\n if (lookup.node === null) {\n throw new FS.ErrnoError(ERRNO_CODES.ENOENT);\n }\n if (!FS.isDir(lookup.node.mode)) {\n throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);\n }\n var err = FS.nodePermissions(lookup.node, \'x\');\n if (err) {\n throw new FS.ErrnoError(err);\n }\n FS.currentPath = lookup.path;\n },createDefaultDirectories:function () {\n FS.mkdir(\'/tmp\');\n FS.mkdir(\'/home\');\n FS.mkdir(\'/home/web_user\');\n },createDefaultDevices:function () {\n // create /dev\n FS.mkdir(\'/dev\');\n // setup /dev/null\n FS.registerDevice(FS.makedev(1, 3), {\n read: function() { return 0; },\n write: function(stream, buffer, offset, length, pos) { return length; }\n });\n FS.mkdev(\'/dev/null\', FS.makedev(1, 3));\n // setup /dev/tty and /dev/tty1\n // stderr needs to print output using Module[\'printErr\']\n // so we register a second tty just for it.\n TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);\n TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);\n FS.mkdev(\'/dev/tty\', FS.makedev(5, 0));\n FS.mkdev(\'/dev/tty1\', FS.makedev(6, 0));\n // setup /dev/[u]random\n var random_device;\n if (typeof crypto !== \'undefined\') {\n // for modern web browsers\n var randomBuffer = new Uint8Array(1);\n random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; };\n } else if (ENVIRONMENT_IS_NODE) {\n } else {\n // default for ES5 platforms\n random_device = function() { abort("random_device"); /*Math.random() is not safe for random number generation, so this fallback random_device implementation aborts... see kripken/emscripten/pull/7096 */ };\n }\n FS.createDevice(\'/dev\', \'random\', random_device);\n FS.createDevice(\'/dev\', \'urandom\', random_device);\n // we\'re not going to emulate the actual shm device,\n // just create the tmp dirs that reside in it commonly\n FS.mkdir(\'/dev/shm\');\n FS.mkdir(\'/dev/shm/tmp\');\n },createSpecialDirectories:function () {\n // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname)\n FS.mkdir(\'/proc\');\n FS.mkdir(\'/proc/self\');\n FS.mkdir(\'/proc/self/fd\');\n FS.mount({\n mount: function() {\n var node = FS.createNode(\'/proc/self\', \'fd\', 16384 | 511 /* 0777 */, 73);\n node.node_ops = {\n lookup: function(parent, name) {\n var fd = +name;\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);\n var ret = {\n parent: null,\n mount: { mountpoint: \'fake\' },\n node_ops: { readlink: function() { return stream.path } }\n };\n ret.parent = ret; // make it look like a simple root node\n return ret;\n }\n };\n return node;\n }\n }, {}, \'/proc/self/fd\');\n },createStandardStreams:function () {\n // TODO deprecate the old functionality of a single\n // input / output callback and that utilizes FS.createDevice\n // and instead require a unique set of stream ops\n \n // by default, we symlink the standard streams to the\n // default tty devices. however, if the standard streams\n // have been overwritten we create a unique device for\n // them instead.\n if (Module[\'stdin\']) {\n FS.createDevice(\'/dev\', \'stdin\', Module[\'stdin\']);\n } else {\n FS.symlink(\'/dev/tty\', \'/dev/stdin\');\n }\n if (Module[\'stdout\']) {\n FS.createDevice(\'/dev\', \'stdout\', null, Module[\'stdout\']);\n } else {\n FS.symlink(\'/dev/tty\', \'/dev/stdout\');\n }\n if (Module[\'stderr\']) {\n FS.createDevice(\'/dev\', \'stderr\', null, Module[\'stderr\']);\n } else {\n FS.symlink(\'/dev/tty1\', \'/dev/stderr\');\n }\n \n // open default streams for the stdin, stdout and stderr devices\n var stdin = FS.open(\'/dev/stdin\', \'r\');\n assert(stdin.fd === 0, \'invalid handle for stdin (\' + stdin.fd + \')\');\n \n var stdout = FS.open(\'/dev/stdout\', \'w\');\n assert(stdout.fd === 1, \'invalid handle for stdout (\' + stdout.fd + \')\');\n \n var stderr = FS.open(\'/dev/stderr\', \'w\');\n assert(stderr.fd === 2, \'invalid handle for stderr (\' + stderr.fd + \')\');\n },ensureErrnoError:function () {\n if (FS.ErrnoError) return;\n FS.ErrnoError = function ErrnoError(errno, node) {\n //err(stackTrace()); // useful for debugging\n this.node = node;\n this.setErrno = function(errno) {\n this.errno = errno;\n for (var key in ERRNO_CODES) {\n if (ERRNO_CODES[key] === errno) {\n this.code = key;\n break;\n }\n }\n };\n this.setErrno(errno);\n this.message = ERRNO_MESSAGES[errno];\n // Node.js compatibility: assigning on this.stack fails on Node 4 (but fixed on Node 8)\n if (this.stack) Object.defineProperty(this, "stack", { value: (new Error).stack, writable: true });\n };\n FS.ErrnoError.prototype = new Error();\n FS.ErrnoError.prototype.constructor = FS.ErrnoError;\n // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info)\n [ERRNO_CODES.ENOENT].forEach(function(code) {\n FS.genericErrors[code] = new FS.ErrnoError(code);\n FS.genericErrors[code].stack = \'<generic error, no stack>\';\n });\n },staticInit:function () {\n FS.ensureErrnoError();\n \n FS.nameTable = new Array(4096);\n \n FS.mount(MEMFS, {}, \'/\');\n \n FS.createDefaultDirectories();\n FS.createDefaultDevices();\n FS.createSpecialDirectories();\n \n FS.filesystems = {\n \'MEMFS\': MEMFS,\n \'IDBFS\': IDBFS,\n \'NODEFS\': NODEFS,\n \'WORKERFS\': WORKERFS,\n };\n },init:function (input, output, error) {\n assert(!FS.init.initialized, \'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)\');\n FS.init.initialized = true;\n \n FS.ensureErrnoError();\n \n // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here\n Module[\'stdin\'] = input || Module[\'stdin\'];\n Module[\'stdout\'] = output || Module[\'stdout\'];\n Module[\'stderr\'] = error || Module[\'stderr\'];\n \n FS.createStandardStreams();\n },quit:function () {\n FS.init.initialized = false;\n // force-flush all streams, so we get musl std streams printed out\n var fflush = Module[\'_fflush\'];\n if (fflush) fflush(0);\n // close all of our streams\n for (var i = 0; i < FS.streams.length; i++) {\n var stream = FS.streams[i];\n if (!stream) {\n continue;\n }\n FS.close(stream);\n }\n },getMode:function (canRead, canWrite) {\n var mode = 0;\n if (canRead) mode |= 292 | 73;\n if (canWrite) mode |= 146;\n return mode;\n },joinPath:function (parts, forceRelative) {\n var path = PATH.join.apply(null, parts);\n if (forceRelative && path[0] == \'/\') path = path.substr(1);\n return path;\n },absolutePath:function (relative, base) {\n return PATH.resolve(base, relative);\n },standardizePath:function (path) {\n return PATH.normalize(path);\n },findObject:function (path, dontResolveLastLink) {\n var ret = FS.analyzePath(path, dontResolveLastLink);\n if (ret.exists) {\n return ret.object;\n } else {\n ___setErrNo(ret.error);\n return null;\n }\n },analyzePath:function (path, dontResolveLastLink) {\n // operate from within the context of the symlink\'s target\n try {\n var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });\n path = lookup.path;\n } catch (e) {\n }\n var ret = {\n isRoot: false, exists: false, error: 0, name: null, path: null, object: null,\n parentExists: false, parentPath: null, parentObject: null\n };\n try {\n var lookup = FS.lookupPath(path, { parent: true });\n ret.parentExists = true;\n ret.parentPath = lookup.path;\n ret.parentObject = lookup.node;\n ret.name = PATH.basename(path);\n lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });\n ret.exists = true;\n ret.path = lookup.path;\n ret.object = lookup.node;\n ret.name = lookup.node.name;\n ret.isRoot = lookup.path === \'/\';\n } catch (e) {\n ret.error = e.errno;\n };\n return ret;\n },createFolder:function (parent, name, canRead, canWrite) {\n var path = PATH.join2(typeof parent === \'string\' ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(canRead, canWrite);\n return FS.mkdir(path, mode);\n },createPath:function (parent, path, canRead, canWrite) {\n parent = typeof parent === \'string\' ? parent : FS.getPath(parent);\n var parts = path.split(\'/\').reverse();\n while (parts.length) {\n var part = parts.pop();\n if (!part) continue;\n var current = PATH.join2(parent, part);\n try {\n FS.mkdir(current);\n } catch (e) {\n // ignore EEXIST\n }\n parent = current;\n }\n return current;\n },createFile:function (parent, name, properties, canRead, canWrite) {\n var path = PATH.join2(typeof parent === \'string\' ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(canRead, canWrite);\n return FS.create(path, mode);\n },createDataFile:function (parent, name, data, canRead, canWrite, canOwn) {\n var path = name ? PATH.join2(typeof parent === \'string\' ? parent : FS.getPath(parent), name) : parent;\n var mode = FS.getMode(canRead, canWrite);\n var node = FS.create(path, mode);\n if (data) {\n if (typeof data === \'string\') {\n var arr = new Array(data.length);\n for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);\n data = arr;\n }\n // make sure we can write to the file\n FS.chmod(node, mode | 146);\n var stream = FS.open(node, \'w\');\n FS.write(stream, data, 0, data.length, 0, canOwn);\n FS.close(stream);\n FS.chmod(node, mode);\n }\n return node;\n },createDevice:function (parent, name, input, output) {\n var path = PATH.join2(typeof parent === \'string\' ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(!!input, !!output);\n if (!FS.createDevice.major) FS.createDevice.major = 64;\n var dev = FS.makedev(FS.createDevice.major++, 0);\n // Create a fake device that a set of stream ops to emulate\n // the old behavior.\n FS.registerDevice(dev, {\n open: function(stream) {\n stream.seekable = false;\n },\n close: function(stream) {\n // flush any pending line data\n if (output && output.buffer && output.buffer.length) {\n output(10);\n }\n },\n read: function(stream, buffer, offset, length, pos /* ignored */) {\n var bytesRead = 0;\n for (var i = 0; i < length; i++) {\n var result;\n try {\n result = input();\n } catch (e) {\n throw new FS.ErrnoError(ERRNO_CODES.EIO);\n }\n if (result === undefined && bytesRead === 0) {\n throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);\n }\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset+i] = result;\n }\n if (bytesRead) {\n stream.node.timestamp = Date.now();\n }\n return bytesRead;\n },\n write: function(stream, buffer, offset, length, pos) {\n for (var i = 0; i < length; i++) {\n try {\n output(buffer[offset+i]);\n } catch (e) {\n throw new FS.ErrnoError(ERRNO_CODES.EIO);\n }\n }\n if (length) {\n stream.node.timestamp = Date.now();\n }\n return i;\n }\n });\n return FS.mkdev(path, mode, dev);\n },createLink:function (parent, name, target, canRead, canWrite) {\n var path = PATH.join2(typeof parent === \'string\' ? parent : FS.getPath(parent), name);\n return FS.symlink(target, path);\n },forceLoadFile:function (obj) {\n if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;\n var success = true;\n if (typeof XMLHttpRequest !== \'undefined\') {\n throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");\n } else if (Module[\'read\']) {\n // Command-line.\n try {\n // WARNING: Can\'t read binary files in V8\'s d8 or tracemonkey\'s js, as\n // read() will try to parse UTF8.\n obj.contents = intArrayFromString(Module[\'read\'](obj.url), true);\n obj.usedBytes = obj.contents.length;\n } catch (e) {\n success = false;\n }\n } else {\n throw new Error(\'Cannot load without read() or XMLHttpRequest.\');\n }\n if (!success) ___setErrNo(ERRNO_CODES.EIO);\n return success;\n },createLazyFile:function (parent, name, url, canRead, canWrite) {\n // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse.\n function LazyUint8Array() {\n this.lengthKnown = false;\n this.chunks = []; // Loaded chunks. Index is the chunk number\n }\n LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {\n if (idx > this.length-1 || idx < 0) {\n return undefined;\n }\n var chunkOffset = idx % this.chunkSize;\n var chunkNum = (idx / this.chunkSize)|0;\n return this.getter(chunkNum)[chunkOffset];\n }\n LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {\n this.getter = getter;\n }\n LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {\n // Find length\n var xhr = new XMLHttpRequest();\n xhr.open(\'HEAD\', url, false);\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn\'t load " + url + ". Status: " + xhr.status);\n var datalength = Number(xhr.getResponseHeader("Content-length"));\n var header;\n var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";\n var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip";\n \n var chunkSize = 1024*1024; // Chunk size in bytes\n \n if (!hasByteServing) chunkSize = datalength;\n \n // Function to get a range from the remote URL.\n var doXHR = (function(from, to) {\n if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!");\n if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!");\n \n // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available.\n var xhr = new XMLHttpRequest();\n xhr.open(\'GET\', url, false);\n if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to);\n \n // Some hints to the browser that we want binary data.\n if (typeof Uint8Array != \'undefined\') xhr.responseType = \'arraybuffer\';\n if (xhr.overrideMimeType) {\n xhr.overrideMimeType(\'text/plain; charset=x-user-defined\');\n }\n \n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn\'t load " + url + ". Status: " + xhr.status);\n if (xhr.response !== undefined) {\n return new Uint8Array(xhr.response || []);\n } else {\n return intArrayFromString(xhr.responseText || \'\', true);\n }\n });\n var lazyArray = this;\n lazyArray.setDataGetter(function(chunkNum) {\n var start = chunkNum * chunkSize;\n var end = (chunkNum+1) * chunkSize - 1; // including this byte\n end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block\n if (typeof(lazyArray.chunks[chunkNum]) === "undefined") {\n lazyArray.chunks[chunkNum] = doXHR(start, end);\n }\n if (typeof(lazyArray.chunks[chunkNum]) === "undefined") throw new Error("doXHR failed!");\n return lazyArray.chunks[chunkNum];\n });\n \n if (usesGzip || !datalength) {\n // if the server uses gzip or doesn\'t supply the length, we have to download the whole file to get the (uncompressed) length\n chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file\n datalength = this.getter(0).length;\n chunkSize = datalength;\n console.log("LazyFiles on gzip forces download of the whole file when length is accessed");\n }\n \n this._length = datalength;\n this._chunkSize = chunkSize;\n this.lengthKnown = true;\n }\n if (typeof XMLHttpRequest !== \'undefined\') {\n if (!ENVIRONMENT_IS_WORKER) throw \'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\';\n var lazyArray = new LazyUint8Array();\n Object.defineProperties(lazyArray, {\n length: {\n get: function() {\n if(!this.lengthKnown) {\n this.cacheLength();\n }\n return this._length;\n }\n },\n chunkSize: {\n get: function() {\n if(!this.lengthKnown) {\n this.cacheLength();\n }\n return this._chunkSize;\n }\n }\n });\n \n var properties = { isDevice: false, contents: lazyArray };\n } else {\n var properties = { isDevice: false, url: url };\n }\n \n var node = FS.createFile(parent, name, properties, canRead, canWrite);\n // This is a total hack, but I want to get this lazy file code out of the\n // core of MEMFS. If we want to keep this lazy file concept I feel it should\n // be its own thin LAZYFS proxying calls to MEMFS.\n if (properties.contents) {\n node.contents = properties.contents;\n } else if (properties.url) {\n node.contents = null;\n node.url = properties.url;\n }\n // Add a function that defers querying the file size until it is asked the first time.\n Object.defineProperties(node, {\n usedBytes: {\n get: function() { return this.contents.length; }\n }\n });\n // override each stream op with one that tries to force load the lazy file first\n var stream_ops = {};\n var keys = Object.keys(node.stream_ops);\n keys.forEach(function(key) {\n var fn = node.stream_ops[key];\n stream_ops[key] = function forceLoadLazyFile() {\n if (!FS.forceLoadFile(node)) {\n throw new FS.ErrnoError(ERRNO_CODES.EIO);\n }\n return fn.apply(null, arguments);\n };\n });\n // use a custom read function\n stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) {\n if (!FS.forceLoadFile(node)) {\n throw new FS.ErrnoError(ERRNO_CODES.EIO);\n }\n var contents = stream.node.contents;\n if (position >= contents.length)\n return 0;\n var size = Math.min(contents.length - position, length);\n assert(size >= 0);\n if (contents.slice) { // normal array\n for (var i = 0; i < size; i++) {\n buffer[offset + i] = contents[position + i];\n }\n } else {\n for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR\n buffer[offset + i] = contents.get(position + i);\n }\n }\n return size;\n };\n node.stream_ops = stream_ops;\n return node;\n },createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) {\n Browser.init(); // XXX perhaps this method should move onto Browser?\n // TODO we should allow people to just pass in a complete filename instead\n // of parent and name being that we just join them anyways\n var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent;\n var dep = getUniqueRunDependency(\'cp \' + fullname); // might have several active requests for the same fullname\n function processData(byteArray) {\n function finish(byteArray) {\n if (preFinish) preFinish();\n if (!dontCreateFile) {\n FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);\n }\n if (onload) onload();\n removeRunDependency(dep);\n }\n var handled = false;\n Module[\'preloadPlugins\'].forEach(function(plugin) {\n if (handled) return;\n if (plugin[\'canHandle\'](fullname)) {\n plugin[\'handle\'](byteArray, fullname, finish, function() {\n if (onerror) onerror();\n removeRunDependency(dep);\n });\n handled = true;\n }\n });\n if (!handled) finish(byteArray);\n }\n addRunDependency(dep);\n if (typeof url == \'string\') {\n Browser.asyncLoad(url, function(byteArray) {\n processData(byteArray);\n }, onerror);\n } else {\n processData(url);\n }\n },indexedDB:function () {\n return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;\n },DB_NAME:function () {\n return \'EM_FS_\' + window.location.pathname;\n },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function (paths, onload, onerror) {\n onload = onload || function(){};\n onerror = onerror || function(){};\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = function openRequest_onupgradeneeded() {\n console.log(\'creating db\');\n var db = openRequest.result;\n db.createObjectStore(FS.DB_STORE_NAME);\n };\n openRequest.onsuccess = function openRequest_onsuccess() {\n var db = openRequest.result;\n var transaction = db.transaction([FS.DB_STORE_NAME], \'readwrite\');\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload(); else onerror();\n }\n paths.forEach(function(path) {\n var putRequest = files.put(FS.analyzePath(path).object.contents, path);\n putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish() };\n putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish() };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n },loadFilesFromDB:function (paths, onload, onerror) {\n onload = onload || function(){};\n onerror = onerror || function(){};\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = onerror; // no database to load from\n openRequest.onsuccess = function openRequest_onsuccess() {\n var db = openRequest.result;\n try {\n var transaction = db.transaction([FS.DB_STORE_NAME], \'readonly\');\n } catch(e) {\n onerror(e);\n return;\n }\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload(); else onerror();\n }\n paths.forEach(function(path) {\n var getRequest = files.get(path);\n getRequest.onsuccess = function getRequest_onsuccess() {\n if (FS.analyzePath(path).exists) {\n FS.unlink(path);\n }\n FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);\n ok++;\n if (ok + fail == total) finish();\n };\n getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish() };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n }};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function (dirfd, path) {\n if (path[0] !== \'/\') {\n // relative path\n var dir;\n if (dirfd === -100) {\n dir = FS.cwd();\n } else {\n var dirstream = FS.getStream(dirfd);\n if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);\n dir = dirstream.path;\n }\n path = PATH.join2(dir, path);\n }\n return path;\n },doStat:function (func, path, buf) {\n try {\n var stat = func(path);\n } catch (e) {\n if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {\n // an error occurred while trying to look up the path; we should just report ENOTDIR\n return -ERRNO_CODES.ENOTDIR;\n }\n throw e;\n }\n HEAP32[((buf)>>2)]=stat.dev;\n HEAP32[(((buf)+(4))>>2)]=0;\n HEAP32[(((buf)+(8))>>2)]=stat.ino;\n HEAP32[(((buf)+(12))>>2)]=stat.mode;\n HEAP32[(((buf)+(16))>>2)]=stat.nlink;\n HEAP32[(((buf)+(20))>>2)]=stat.uid;\n HEAP32[(((buf)+(24))>>2)]=stat.gid;\n HEAP32[(((buf)+(28))>>2)]=stat.rdev;\n HEAP32[(((buf)+(32))>>2)]=0;\n HEAP32[(((buf)+(36))>>2)]=stat.size;\n HEAP32[(((buf)+(40))>>2)]=4096;\n HEAP32[(((buf)+(44))>>2)]=stat.blocks;\n HEAP32[(((buf)+(48))>>2)]=(stat.atime.getTime() / 1000)|0;\n HEAP32[(((buf)+(52))>>2)]=0;\n HEAP32[(((buf)+(56))>>2)]=(stat.mtime.getTime() / 1000)|0;\n HEAP32[(((buf)+(60))>>2)]=0;\n HEAP32[(((buf)+(64))>>2)]=(stat.ctime.getTime() / 1000)|0;\n HEAP32[(((buf)+(68))>>2)]=0;\n HEAP32[(((buf)+(72))>>2)]=stat.ino;\n return 0;\n },doMsync:function (addr, stream, len, flags) {\n var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len));\n FS.msync(stream, buffer, 0, len, flags);\n },doMkdir:function (path, mode) {\n // remove a trailing slash, if one - /a/b/ has basename of \'\', but\n // we want to create b in the context of this function\n path = PATH.normalize(path);\n if (path[path.length-1] === \'/\') path = path.substr(0, path.length-1);\n FS.mkdir(path, mode, 0);\n return 0;\n },doMknod:function (path, mode, dev) {\n // we don\'t want this in the JS API as it uses mknod to create all nodes.\n switch (mode & 61440) {\n case 32768:\n case 8192:\n case 24576:\n case 4096:\n case 49152:\n break;\n default: return -ERRNO_CODES.EINVAL;\n }\n FS.mknod(path, mode, dev);\n return 0;\n },doReadlink:function (path, buf, bufsize) {\n if (bufsize <= 0) return -ERRNO_CODES.EINVAL;\n var ret = FS.readlink(path);\n \n var len = Math.min(bufsize, lengthBytesUTF8(ret));\n var endChar = HEAP8[buf+len];\n stringToUTF8(ret, buf, bufsize+1);\n // readlink is one of the rare functions that write out a C string, but does never append a null to the output buffer(!)\n // stringToUTF8() always appends a null byte, so restore the character under the null byte after the write.\n HEAP8[buf+len] = endChar;\n \n return len;\n },doAccess:function (path, amode) {\n if (amode & ~7) {\n // need a valid mode\n return -ERRNO_CODES.EINVAL;\n }\n var node;\n var lookup = FS.lookupPath(path, { follow: true });\n node = lookup.node;\n var perms = \'\';\n if (amode & 4) perms += \'r\';\n if (amode & 2) perms += \'w\';\n if (amode & 1) perms += \'x\';\n if (perms /* otherwise, they\'ve just passed F_OK */ && FS.nodePermissions(node, perms)) {\n return -ERRNO_CODES.EACCES;\n }\n return 0;\n },doDup:function (path, flags, suggestFD) {\n var suggest = FS.getStream(suggestFD);\n if (suggest) FS.close(suggest);\n return FS.open(path, flags, 0, suggestFD, suggestFD).fd;\n },doReadv:function (stream, iov, iovcnt, offset) {\n var ret = 0;\n for (var i = 0; i < iovcnt; i++) {\n var ptr = HEAP32[(((iov)+(i*8))>>2)];\n var len = HEAP32[(((iov)+(i*8 + 4))>>2)];\n var curr = FS.read(stream, HEAP8,ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (curr < len) break; // nothing more to read\n }\n return ret;\n },doWritev:function (stream, iov, iovcnt, offset) {\n var ret = 0;\n for (var i = 0; i < iovcnt; i++) {\n var ptr = HEAP32[(((iov)+(i*8))>>2)];\n var len = HEAP32[(((iov)+(i*8 + 4))>>2)];\n var curr = FS.write(stream, HEAP8,ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n }\n return ret;\n },varargs:0,get:function (varargs) {\n SYSCALLS.varargs += 4;\n var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)];\n return ret;\n },getStr:function () {\n var ret = Pointer_stringify(SYSCALLS.get());\n return ret;\n },getStreamFromFD:function () {\n var stream = FS.getStream(SYSCALLS.get());\n if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);\n return stream;\n },getSocketFromFD:function () {\n var socket = SOCKFS.getSocket(SYSCALLS.get());\n if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF);\n return socket;\n },getSocketAddress:function (allowNull) {\n var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get();\n if (allowNull && addrp === 0) return null;\n var info = __read_sockaddr(addrp, addrlen);\n if (info.errno) throw new FS.ErrnoError(info.errno);\n info.addr = DNS.lookup_addr(info.addr) || info.addr;\n return info;\n },get64:function () {\n var low = SYSCALLS.get(), high = SYSCALLS.get();\n if (low >= 0) assert(high === 0);\n else assert(high === -1);\n return low;\n },getZero:function () {\n assert(SYSCALLS.get() === 0);\n }};function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs;\n try {\n // llseek\n var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get();\n // NOTE: offset_high is unused - Emscripten\'s off_t is 32-bit\n var offset = offset_low;\n FS.llseek(stream, offset, whence);\n HEAP32[((result)>>2)]=stream.position;\n if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state\n return 0;\n } catch (e) {\n if (typeof FS === \'undefined\' || !(e instanceof FS.ErrnoError)) abort(e);\n return -e.errno;\n }\n }\n\n function ___syscall145(which, varargs) {SYSCALLS.varargs = varargs;\n try {\n // readv\n var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get();\n return SYSCALLS.doReadv(stream, iov, iovcnt);\n } catch (e) {\n if (typeof FS === \'undefined\' || !(e instanceof FS.ErrnoError)) abort(e);\n return -e.errno;\n }\n }\n\n function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs;\n try {\n // writev\n var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get();\n return SYSCALLS.doWritev(stream, iov, iovcnt);\n } catch (e) {\n if (typeof FS === \'undefined\' || !(e instanceof FS.ErrnoError)) abort(e);\n return -e.errno;\n }\n }\n\n \n function ___syscall153(which, varargs) {SYSCALLS.varargs = varargs;\n try {\n // munlockall\n return 0;\n } catch (e) {\n if (typeof FS === \'undefined\' || !(e instanceof FS.ErrnoError)) abort(e);\n return -e.errno;\n }\n }function ___syscall150() {\n return ___syscall153.apply(null, arguments)\n }\n\n function ___syscall151() {\n return ___syscall153.apply(null, arguments)\n }\n\n function ___syscall195(which, varargs) {SYSCALLS.varargs = varargs;\n try {\n // SYS_stat64\n var path = SYSCALLS.getStr(), buf = SYSCALLS.get();\n return SYSCALLS.doStat(FS.stat, path, buf);\n } catch (e) {\n if (typeof FS === \'undefined\' || !(e instanceof FS.ErrnoError)) abort(e);\n return -e.errno;\n }\n }\n\n function ___syscall221(which, varargs) {SYSCALLS.varargs = varargs;\n try {\n // fcntl64\n var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get();\n switch (cmd) {\n case 0: {\n var arg = SYSCALLS.get();\n if (arg < 0) {\n return -ERRNO_CODES.EINVAL;\n }\n var newStream;\n newStream = FS.open(stream.path, stream.flags, 0, arg);\n return newStream.fd;\n }\n case 1:\n case 2:\n return 0; // FD_CLOEXEC makes no sense for a single process.\n case 3:\n return stream.flags;\n case 4: {\n var arg = SYSCALLS.get();\n stream.flags |= arg;\n return 0;\n }\n case 12:\n case 12: {\n var arg = SYSCALLS.get();\n var offset = 0;\n // We\'re always unlocked.\n HEAP16[(((arg)+(offset))>>1)]=2;\n return 0;\n }\n case 13:\n case 14:\n case 13:\n case 14:\n return 0; // Pretend that the locking is successful.\n case 16:\n case 8:\n return -ERRNO_CODES.EINVAL; // These are for sockets. We don\'t have them fully implemented yet.\n case 9:\n // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves.\n ___setErrNo(ERRNO_CODES.EINVAL);\n return -1;\n default: {\n return -ERRNO_CODES.EINVAL;\n }\n }\n } catch (e) {\n if (typeof FS === \'undefined\' || !(e instanceof FS.ErrnoError)) abort(e);\n return -e.errno;\n }\n }\n\n function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs;\n try {\n // open\n var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get() // optional TODO\n var stream = FS.open(pathname, flags, mode);\n return stream.fd;\n } catch (e) {\n if (typeof FS === \'undefined\' || !(e instanceof FS.ErrnoError)) abort(e);\n return -e.errno;\n }\n }\n\n function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs;\n try {\n // ioctl\n var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get();\n switch (op) {\n case 21509:\n case 21505: {\n if (!stream.tty) return -ERRNO_CODES.ENOTTY;\n return 0;\n }\n case 21510:\n case 21511:\n case 21512:\n case 21506:\n case 21507:\n case 21508: {\n if (!stream.tty) return -ERRNO_CODES.ENOTTY;\n return 0; // no-op, not actually adjusting terminal settings\n }\n case 21519: {\n if (!stream.tty) return -ERRNO_CODES.ENOTTY;\n var argp = SYSCALLS.get();\n HEAP32[((argp)>>2)]=0;\n return 0;\n }\n case 21520: {\n if (!stream.tty) return -ERRNO_CODES.ENOTTY;\n return -ERRNO_CODES.EINVAL; // not supported\n }\n case 21531: {\n var argp = SYSCALLS.get();\n return FS.ioctl(stream, op, argp);\n }\n case 21523: {\n // TODO: in theory we should write to the winsize struct that gets\n // passed in, but for now musl doesn\'t read anything on it\n if (!stream.tty) return -ERRNO_CODES.ENOTTY;\n return 0;\n }\n case 21524: {\n // TODO: technically, this ioctl call should change the window size.\n // but, since emscripten doesn\'t have any concept of a terminal window\n // yet, we\'ll just silently throw it away as we do TIOCGWINSZ\n if (!stream.tty) return -ERRNO_CODES.ENOTTY;\n return 0;\n }\n default: abort(\'bad ioctl syscall \' + op);\n }\n } catch (e) {\n if (typeof FS === \'undefined\' || !(e instanceof FS.ErrnoError)) abort(e);\n return -e.errno;\n }\n }\n\n function ___syscall6(which, varargs) {SYSCALLS.varargs = varargs;\n try {\n // close\n var stream = SYSCALLS.getStreamFromFD();\n FS.close(stream);\n return 0;\n } catch (e) {\n if (typeof FS === \'undefined\' || !(e instanceof FS.ErrnoError)) abort(e);\n return -e.errno;\n }\n }\n\n function ___unlock() {}\n\n function _abort() {\n Module[\'abort\']();\n }\n\n function _gettimeofday(ptr) {\n var now = Date.now();\n HEAP32[((ptr)>>2)]=(now/1000)|0; // seconds\n HEAP32[(((ptr)+(4))>>2)]=((now % 1000)*1000)|0; // microseconds\n return 0;\n }\n\n \n\n \n function _llvm_exp2_f32(x) {\n return Math.pow(2, x);\n }function _llvm_exp2_f64() {\n return _llvm_exp2_f32.apply(null, arguments)\n }\n\n var _llvm_fabs_f64=Math_abs;\n\n \n function _emscripten_memcpy_big(dest, src, num) {\n HEAPU8.set(HEAPU8.subarray(src, src+num), dest);\n return dest;\n } \n\n \n\n \n\n function _usleep(useconds) {\n // int usleep(useconds_t useconds);\n // http://pubs.opengroup.org/onlinepubs/000095399/functions/usleep.html\n // We\'re single-threaded, so use a busy loop. Super-ugly.\n var msec = useconds / 1000;\n if ((ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && self[\'performance\'] && self[\'performance\'][\'now\']) {\n var start = self[\'performance\'][\'now\']();\n while (self[\'performance\'][\'now\']() - start < msec) {\n // Do nothing.\n }\n } else {\n var start = Date.now();\n while (Date.now() - start < msec) {\n // Do nothing.\n }\n }\n return 0;\n }\nFS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });;\n__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() });;\nif (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); };\nDYNAMICTOP_PTR = staticAlloc(4);\n\nSTACK_BASE = STACKTOP = alignMemory(STATICTOP);\n\nSTACK_MAX = STACK_BASE + TOTAL_STACK;\n\nDYNAMIC_BASE = alignMemory(STACK_MAX);\n\nHEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE;\n\nstaticSealed = true; // seal the static portion of memory\n\nvar ASSERTIONS = false;\n\n// Copyright 2017 The Emscripten Authors. All rights reserved.\n// Emscripten is available under two separate licenses, the MIT license and the\n// University of Illinois/NCSA Open Source License. Both these licenses can be\n// found in the LICENSE file.\n\n/** @type {function(string, boolean=, number=)} */\nfunction intArrayFromString(stringy, dontAddNull, length) {\n var len = length > 0 ? length : lengthBytesUTF8(stringy)+1;\n var u8array = new Array(len);\n var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);\n if (dontAddNull) u8array.length = numBytesWritten;\n return u8array;\n}\n\nfunction intArrayToString(array) {\n var ret = [];\n for (var i = 0; i < array.length; i++) {\n var chr = array[i];\n if (chr > 0xFF) {\n if (ASSERTIONS) {\n assert(false, \'Character code \' + chr + \' (\' + String.fromCharCode(chr) + \') at offset \' + i + \' not in 0x00-0xFF.\');\n }\n chr &= 0xFF;\n }\n ret.push(String.fromCharCode(chr));\n }\n return ret.join(\'\');\n}\n\n\n// Copied from https://github.com/strophe/strophejs/blob/e06d027/src/polyfills.js#L149\n\n// This code was written by Tyler Akins and has been placed in the\n// public domain. It would be nice if you left this header intact.\n// Base64 code from Tyler Akins -- http://rumkin.com\n\n/**\n * Decodes a base64 string.\n * @param {String} input The string to decode.\n */\nvar decodeBase64 = typeof atob === \'function\' ? atob : function (input) {\n var keyStr = \'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\';\n\n var output = \'\';\n var chr1, chr2, chr3;\n var enc1, enc2, enc3, enc4;\n var i = 0;\n // remove all characters that are not A-Z, a-z, 0-9, +, /, or =\n input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \'\');\n do {\n enc1 = keyStr.indexOf(input.charAt(i++));\n enc2 = keyStr.indexOf(input.charAt(i++));\n enc3 = keyStr.indexOf(input.charAt(i++));\n enc4 = keyStr.indexOf(input.charAt(i++));\n\n chr1 = (enc1 << 2) | (enc2 >> 4);\n chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);\n chr3 = ((enc3 & 3) << 6) | enc4;\n\n output = output + String.fromCharCode(chr1);\n\n if (enc3 !== 64) {\n output = output + String.fromCharCode(chr2);\n }\n if (enc4 !== 64) {\n output = output + String.fromCharCode(chr3);\n }\n } while (i < input.length);\n return output;\n};\n\n// Converts a string of base64 into a byte array.\n// Throws error on invalid input.\nfunction intArrayFromBase64(s) {\n if (typeof ENVIRONMENT_IS_NODE === \'boolean\' && ENVIRONMENT_IS_NODE) {\n var buf;\n try {\n buf = Buffer.from(s, \'base64\');\n } catch (_) {\n buf = new Buffer(s, \'base64\');\n }\n return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);\n }\n\n try {\n var decoded = decodeBase64(s);\n var bytes = new Uint8Array(decoded.length);\n for (var i = 0 ; i < decoded.length ; ++i) {\n bytes[i] = decoded.charCodeAt(i);\n }\n return bytes;\n } catch (_) {\n throw new Error(\'Converting base64 string to bytes failed.\');\n }\n}\n\n// If filename is a base64 data URI, parses and returns data (Buffer on node,\n// Uint8Array otherwise). If filename is not a base64 data URI, returns undefined.\nfunction tryParseAsDataURI(filename) {\n if (!isDataURI(filename)) {\n return;\n }\n\n return intArrayFromBase64(filename.slice(dataURIPrefix.length));\n}\n\n\n\nModule[\'wasmTableSize\'] = 288;\n\nModule[\'wasmMaxTableSize\'] = 288;\n\nfunction invoke_ii(index,a1) {\n var sp = stackSave();\n try {\n return Module["dynCall_ii"](index,a1);\n } catch(e) {\n stackRestore(sp);\n if (typeof e !== \'number\' && e !== \'longjmp\') throw e;\n Module["setThrew"](1, 0);\n }\n}\n\nfunction jsCall_ii(index,a1) {\n return functionPointers[index](a1);\n}\n\nfunction invoke_iii(index,a1,a2) {\n var sp = stackSave();\n try {\n return Module["dynCall_iii"](index,a1,a2);\n } catch(e) {\n stackRestore(sp);\n if (typeof e !== \'number\' && e !== \'longjmp\') throw e;\n Module["setThrew"](1, 0);\n }\n}\n\nfunction jsCall_iii(index,a1,a2) {\n return functionPointers[index](a1,a2);\n}\n\nfunction invoke_iiii(index,a1,a2,a3) {\n var sp = stackSave();\n try {\n return Module["dynCall_iiii"](index,a1,a2,a3);\n } catch(e) {\n stackRestore(sp);\n if (typeof e !== \'number\' && e !== \'longjmp\') throw e;\n Module["setThrew"](1, 0);\n }\n}\n\nfunction jsCall_iiii(index,a1,a2,a3) {\n return functionPointers[index](a1,a2,a3);\n}\n\nfunction invoke_iiiiii(index,a1,a2,a3,a4,a5) {\n var sp = stackSave();\n try {\n return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5);\n } catch(e) {\n stackRestore(sp);\n if (typeof e !== \'number\' && e !== \'longjmp\') throw e;\n Module["setThrew"](1, 0);\n }\n}\n\nfunction jsCall_iiiiii(index,a1,a2,a3,a4,a5) {\n return functionPointers[index](a1,a2,a3,a4,a5);\n}\n\nfunction invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6) {\n var sp = stackSave();\n try {\n return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6);\n } catch(e) {\n stackRestore(sp);\n if (typeof e !== \'number\' && e !== \'longjmp\') throw e;\n Module["setThrew"](1, 0);\n }\n}\n\nfunction jsCall_iiiiiii(index,a1,a2,a3,a4,a5,a6) {\n return functionPointers[index](a1,a2,a3,a4,a5,a6);\n}\n\nfunction invoke_vi(index,a1) {\n var sp = stackSave();\n try {\n Module["dynCall_vi"](index,a1);\n } catch(e) {\n stackRestore(sp);\n if (typeof e !== \'number\' && e !== \'longjmp\') throw e;\n Module["setThrew"](1, 0);\n }\n}\n\nfunction jsCall_vi(index,a1) {\n functionPointers[index](a1);\n}\n\nfunction invoke_vii(index,a1,a2) {\n var sp = stackSave();\n try {\n Module["dynCall_vii"](index,a1,a2);\n } catch(e) {\n stackRestore(sp);\n if (typeof e !== \'number\' && e !== \'longjmp\') throw e;\n Module["setThrew"](1, 0);\n }\n}\n\nfunction jsCall_vii(index,a1,a2) {\n functionPointers[index](a1,a2);\n}\n\nfunction invoke_viid(index,a1,a2,a3) {\n var sp = stackSave();\n try {\n Module["dynCall_viid"](index,a1,a2,a3);\n } catch(e) {\n stackRestore(sp);\n if (typeof e !== \'number\' && e !== \'longjmp\') throw e;\n Module["setThrew"](1, 0);\n }\n}\n\nfunction jsCall_viid(index,a1,a2,a3) {\n functionPointers[index](a1,a2,a3);\n}\n\nfunction invoke_viii(index,a1,a2,a3) {\n var sp = stackSave();\n try {\n Module["dynCall_viii"](index,a1,a2,a3);\n } catch(e) {\n stackRestore(sp);\n if (typeof e !== \'number\' && e !== \'longjmp\') throw e;\n Module["setThrew"](1, 0);\n }\n}\n\nfunction jsCall_viii(index,a1,a2,a3) {\n functionPointers[index](a1,a2,a3);\n}\n\nfunction invoke_viiii(index,a1,a2,a3,a4) {\n var sp = stackSave();\n try {\n Module["dynCall_viiii"](index,a1,a2,a3,a4);\n } catch(e) {\n stackRestore(sp);\n if (typeof e !== \'number\' && e !== \'longjmp\') throw e;\n Module["setThrew"](1, 0);\n }\n}\n\nfunction jsCall_viiii(index,a1,a2,a3,a4) {\n functionPointers[index](a1,a2,a3,a4);\n}\n\nModule.asmGlobalArg = {};\n\nModule.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "invoke_ii": invoke_ii, "jsCall_ii": jsCall_ii, "invoke_iii": invoke_iii, "jsCall_iii": jsCall_iii, "invoke_iiii": invoke_iiii, "jsCall_iiii": jsCall_iiii, "invoke_iiiiii": invoke_iiiiii, "jsCall_iiiiii": jsCall_iiiiii, "invoke_iiiiiii": invoke_iiiiiii, "jsCall_iiiiiii": jsCall_iiiiiii, "invoke_vi": invoke_vi, "jsCall_vi": jsCall_vi, "invoke_vii": invoke_vii, "jsCall_vii": jsCall_vii, "invoke_viid": invoke_viid, "jsCall_viid": jsCall_viid, "invoke_viii": invoke_viii, "jsCall_viii": jsCall_viii, "invoke_viiii": invoke_viiii, "jsCall_viiii": jsCall_viiii, "___lock": ___lock, "___setErrNo": ___setErrNo, "___syscall140": ___syscall140, "___syscall145": ___syscall145, "___syscall146": ___syscall146, "___syscall150": ___syscall150, "___syscall151": ___syscall151, "___syscall153": ___syscall153, "___syscall195": ___syscall195, "___syscall221": ___syscall221, "___syscall5": ___syscall5, "___syscall54": ___syscall54, "___syscall6": ___syscall6, "___unlock": ___unlock, "_abort": _abort, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_gettimeofday": _gettimeofday, "_llvm_exp2_f32": _llvm_exp2_f32, "_llvm_exp2_f64": _llvm_exp2_f64, "_llvm_fabs_f64": _llvm_fabs_f64, "_usleep": _usleep, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX };\n// EMSCRIPTEN_START_ASM\nvar asm =Module["asm"]// EMSCRIPTEN_END_ASM\n(Module.asmGlobalArg, Module.asmLibraryArg, buffer);\n\nModule["asm"] = asm;\nvar ___errno_location = Module["___errno_location"] = function() { return Module["asm"]["___errno_location"].apply(null, arguments) };\nvar _delete_fluid_audio_driver = Module["_delete_fluid_audio_driver"] = function() { return Module["asm"]["_delete_fluid_audio_driver"].apply(null, arguments) };\nvar _delete_fluid_event = Module["_delete_fluid_event"] = function() { return Module["asm"]["_delete_fluid_event"].apply(null, arguments) };\nvar _delete_fluid_file_renderer = Module["_delete_fluid_file_renderer"] = function() { return Module["asm"]["_delete_fluid_file_renderer"].apply(null, arguments) };\nvar _delete_fluid_midi_driver = Module["_delete_fluid_midi_driver"] = function() { return Module["asm"]["_delete_fluid_midi_driver"].apply(null, arguments) };\nvar _delete_fluid_midi_event = Module["_delete_fluid_midi_event"] = function() { return Module["asm"]["_delete_fluid_midi_event"].apply(null, arguments) };\nvar _delete_fluid_midi_router = Module["_delete_fluid_midi_router"] = function() { return Module["asm"]["_delete_fluid_midi_router"].apply(null, arguments) };\nvar _delete_fluid_midi_router_rule = Module["_delete_fluid_midi_router_rule"] = function() { return Module["asm"]["_delete_fluid_midi_router_rule"].apply(null, arguments) };\nvar _delete_fluid_mod = Module["_delete_fluid_mod"] = function() { return Module["asm"]["_delete_fluid_mod"].apply(null, arguments) };\nvar _delete_fluid_player = Module["_delete_fluid_player"] = function() { return Module["asm"]["_delete_fluid_player"].apply(null, arguments) };\nvar _delete_fluid_preset = Module["_delete_fluid_preset"] = function() { return Module["asm"]["_delete_fluid_preset"].apply(null, arguments) };\nvar _delete_fluid_sample = Module["_delete_fluid_sample"] = function() { return Module["asm"]["_delete_fluid_sample"].apply(null, arguments) };\nvar _delete_fluid_sequencer = Module["_delete_fluid_sequencer"] = function() { return Module["asm"]["_delete_fluid_sequencer"].apply(null, arguments) };\nvar _delete_fluid_settings = Module["_delete_fluid_settings"] = function() { return Module["asm"]["_delete_fluid_settings"].apply(null, arguments) };\nvar _delete_fluid_sfloader = Module["_delete_fluid_sfloader"] = function() { return Module["asm"]["_delete_fluid_sfloader"].apply(null, arguments) };\nvar _delete_fluid_sfont = Module["_delete_fluid_sfont"] = function() { return Module["asm"]["_delete_fluid_sfont"].apply(null, arguments) };\nvar _delete_fluid_synth = Module["_delete_fluid_synth"] = function() { return Module["asm"]["_delete_fluid_synth"].apply(null, arguments) };\nvar _emscripten_replace_memory = Module["_emscripten_replace_memory"] = function() { return Module["asm"]["_emscripten_replace_memory"].apply(null, arguments) };\nvar _fluid_audio_driver_register = Module["_fluid_audio_driver_register"] = function() { return Module["asm"]["_fluid_audio_driver_register"].apply(null, arguments) };\nvar _fluid_default_log_function = Module["_fluid_default_log_function"] = function() { return Module["asm"]["_fluid_default_log_function"].apply(null, arguments) };\nvar _fluid_event_all_notes_off = Module["_fluid_event_all_notes_off"] = function() { return Module["asm"]["_fluid_event_all_notes_off"].apply(null, arguments) };\nvar _fluid_event_all_sounds_off = Module["_fluid_event_all_sounds_off"] = function() { return Module["asm"]["_fluid_event_all_sounds_off"].apply(null, arguments) };\nvar _fluid_event_any_control_change = Module["_fluid_event_any_control_change"] = function() { return Module["asm"]["_fluid_event_any_control_change"].apply(null, arguments) };\nvar _fluid_event_bank_select = Module["_fluid_event_bank_select"] = function() { return Module["asm"]["_fluid_event_bank_select"].apply(null, arguments) };\nvar _fluid_event_channel_pressure = Module["_fluid_event_channel_pressure"] = function() { return Module["asm"]["_fluid_event_channel_pressure"].apply(null, arguments) };\nvar _fluid_event_chorus_send = Module["_fluid_event_chorus_send"] = function() { return Module["asm"]["_fluid_event_chorus_send"].apply(null, arguments) };\nvar _fluid_event_control_change = Module["_fluid_event_control_change"] = function() { return Module["asm"]["_fluid_event_control_change"].apply(null, arguments) };\nvar _fluid_event_get_bank = Module["_fluid_event_get_bank"] = function() { return Module["asm"]["_fluid_event_get_bank"].apply(null, arguments) };\nvar _fluid_event_get_channel = Module["_fluid_event_get_channel"] = function() { return Module["asm"]["_fluid_event_get_channel"].apply(null, arguments) };\nvar _fluid_event_get_control = Module["_fluid_event_get_control"] = function() { return Module["asm"]["_fluid_event_get_control"].apply(null, arguments) };\nvar _fluid_event_get_data = Module["_fluid_event_get_data"] = function() { return Module["asm"]["_fluid_event_get_data"].apply(null, arguments) };\nvar _fluid_event_get_dest = Module["_fluid_event_get_dest"] = function() { return Module["asm"]["_fluid_event_get_dest"].apply(null, arguments) };\nvar _fluid_event_get_duration = Module["_fluid_event_get_duration"] = function() { return Module["asm"]["_fluid_event_get_duration"].apply(null, arguments) };\nvar _fluid_event_get_key = Module["_fluid_event_get_key"] = function() { return Module["asm"]["_fluid_event_get_key"].apply(null, arguments) };\nvar _fluid_event_get_pitch = Module["_fluid_event_get_pitch"] = function() { return Module["asm"]["_fluid_event_get_pitch"].apply(null, arguments) };\nvar _fluid_event_get_program = Module["_fluid_event_get_program"] = function() { return Module["asm"]["_fluid_event_get_program"].apply(null, arguments) };\nvar _fluid_event_get_sfont_id = Module["_fluid_event_get_sfont_id"] = function() { return Module["asm"]["_fluid_event_get_sfont_id"].apply(null, arguments) };\nvar _fluid_event_get_source = Module["_fluid_event_get_source"] = function() { return Module["asm"]["_fluid_event_get_source"].apply(null, arguments) };\nvar _fluid_event_get_type = Module["_fluid_event_get_type"] = function() { return Module["asm"]["_fluid_event_get_type"].apply(null, arguments) };\nvar _fluid_event_get_value = Module["_fluid_event_get_value"] = function() { return Module["asm"]["_fluid_event_get_value"].apply(null, arguments) };\nvar _fluid_event_get_velocity = Module["_fluid_event_get_velocity"] = function() { return Module["asm"]["_fluid_event_get_velocity"].apply(null, arguments) };\nvar _fluid_event_key_pressure = Module["_fluid_event_key_pressure"] = function() { return Module["asm"]["_fluid_event_key_pressure"].apply(null, arguments) };\nvar _fluid_event_modulation = Module["_fluid_event_modulation"] = function() { return Module["asm"]["_fluid_event_modulation"].apply(null, arguments) };\nvar _fluid_event_note = Module["_fluid_event_note"] = function() { return Module["asm"]["_fluid_event_note"].apply(null, arguments) };\nvar _fluid_event_noteoff = Module["_fluid_event_noteoff"] = function() { return Module["asm"]["_fluid_event_noteoff"].apply(null, arguments) };\nvar _fluid_event_noteon = Module["_fluid_event_noteon"] = function() { return Module["asm"]["_fluid_event_noteon"].apply(null, arguments) };\nvar _fluid_event_pan = Module["_fluid_event_pan"] = function() { return Module["asm"]["_fluid_event_pan"].apply(null, arguments) };\nvar _fluid_event_pitch_bend = Module["_fluid_event_pitch_bend"] = function() { return Module["asm"]["_fluid_event_pitch_bend"].apply(null, arguments) };\nvar _fluid_event_pitch_wheelsens = Module["_fluid_event_pitch_wheelsens"] = function() { return Module["asm"]["_fluid_event_pitch_wheelsens"].apply(null, arguments) };\nvar _fluid_event_program_change = Module["_fluid_event_program_change"] = function() { return Module["asm"]["_fluid_event_program_change"].apply(null, arguments) };\nvar _fluid_event_program_select = Module["_fluid_event_program_select"] = function() { return Module["asm"]["_fluid_event_program_select"].apply(null, arguments) };\nvar _fluid_event_reverb_send = Module["_fluid_event_reverb_send"] = function() { return Module["asm"]["_fluid_event_reverb_send"].apply(null, arguments) };\nvar _fluid_event_set_dest = Module["_fluid_event_set_dest"] = function() { return Module["asm"]["_fluid_event_set_dest"].apply(null, arguments) };\nvar _fluid_event_set_source = Module["_fluid_event_set_source"] = function() { return Module["asm"]["_fluid_event_set_source"].apply(null, arguments) };\nvar _fluid_event_sustain = Module["_fluid_event_sustain"] = function() { return Module["asm"]["_fluid_event_sustain"].apply(null, arguments) };\nvar _fluid_event_system_reset = Module["_fluid_event_system_reset"] = function() { return Module["asm"]["_fluid_event_system_reset"].apply(null, arguments) };\nvar _fluid_event_timer = Module["_fluid_event_timer"] = function() { return Module["asm"]["_fluid_event_timer"].apply(null, arguments) };\nvar _fluid_event_unregistering = Module["_fluid_event_unregistering"] = function() { return Module["asm"]["_fluid_event_unregistering"].apply(null, arguments) };\nvar _fluid_event_volume = Module["_fluid_event_volume"] = function() { return Module["asm"]["_fluid_event_volume"].apply(null, arguments) };\nvar _fluid_file_renderer_process_block = Module["_fluid_file_renderer_process_block"] = function() { return Module["asm"]["_fluid_file_renderer_process_block"].apply(null, arguments) };\nvar _fluid_file_set_encoding_quality = Module["_fluid_file_set_encoding_quality"] = function() { return Module["asm"]["_fluid_file_set_encoding_quality"].apply(null, arguments) };\nvar _fluid_is_midifile = Module["_fluid_is_midifile"] = function() { return Module["asm"]["_fluid_is_midifile"].apply(null, arguments) };\nvar _fluid_is_soundfont = Module["_fluid_is_soundfont"] = function() { return Module["asm"]["_fluid_is_soundfont"].apply(null, arguments) };\nvar _fluid_ladspa_activate = Module["_fluid_ladspa_activate"] = function() { return Module["asm"]["_fluid_ladspa_activate"].apply(null, arguments) };\nvar _fluid_ladspa_add_buffer = Module["_fluid_ladspa_add_buffer"] = function() { return Module["asm"]["_fluid_ladspa_add_buffer"].apply(null, arguments) };\nvar _fluid_ladspa_add_effect = Module["_fluid_ladspa_add_effect"] = function() { return Module["asm"]["_fluid_ladspa_add_effect"].apply(null, arguments) };\nvar _fluid_ladspa_buffer_exists = Module["_fluid_ladspa_buffer_exists"] = function() { return Module["asm"]["_fluid_ladspa_buffer_exists"].apply(null, arguments) };\nvar _fluid_ladspa_check = Module["_fluid_ladspa_check"] = function() { return Module["asm"]["_fluid_ladspa_check"].apply(null, arguments) };\nvar _fluid_ladspa_deactivate = Module["_fluid_ladspa_deactivate"] = function() { return Module["asm"]["_fluid_ladspa_deactivate"].apply(null, arguments) };\nvar _fluid_ladspa_effect_can_mix = Module["_fluid_ladspa_effect_can_mix"] = function() { return Module["asm"]["_fluid_ladspa_effect_can_mix"].apply(null, arguments) };\nvar _fluid_ladspa_effect_link = Module["_fluid_ladspa_effect_link"] = function() { return Module["asm"]["_fluid_ladspa_effect_link"].apply(null, arguments) };\nvar _fluid_ladspa_effect_port_exists = Module["_fluid_ladspa_effect_port_exists"] = function() { return Module["asm"]["_fluid_ladspa_effect_port_exists"].apply(null, arguments) };\nvar _fluid_ladspa_effect_set_control = Module["_fluid_ladspa_effect_set_control"] = function() { return Module["asm"]["_fluid_ladspa_effect_set_control"].apply(null, arguments) };\nvar _fluid_ladspa_effect_set_mix = Module["_fluid_ladspa_effect_set_mix"] = function() { return Module["asm"]["_fluid_ladspa_effect_set_mix"].apply(null, arguments) };\nvar _fluid_ladspa_host_port_exists = Module["_fluid_ladspa_host_port_exists"] = function() { return Module["asm"]["_fluid_ladspa_host_port_exists"].apply(null, arguments) };\nvar _fluid_ladspa_is_active = Module["_fluid_ladspa_is_active"] = function() { return Module["asm"]["_fluid_ladspa_is_active"].apply(null, arguments) };\nvar _fluid_ladspa_reset = Module["_fluid_ladspa_reset"] = function() { return Module["asm"]["_fluid_ladspa_reset"].apply(null, arguments) };\nvar _fluid_log = Module["_fluid_log"] = function() { return Module["asm"]["_fluid_log"].apply(null, arguments) };\nvar _fluid_midi_dump_postrouter = Module["_fluid_midi_dump_postrouter"] = function() { return Module["asm"]["_fluid_midi_dump_postrouter"].apply(null, arguments) };\nvar _fluid_midi_dump_prerouter = Module["_fluid_midi_dump_prerouter"] = function() { return Module["asm"]["_fluid_midi_dump_prerouter"].apply(null, arguments) };\nvar _fluid_midi_event_get_channel = Module["_fluid_midi_event_get_channel"] = function() { return Module["asm"]["_fluid_midi_event_get_channel"].apply(null, arguments) };\nvar _fluid_midi_event_get_control = Module["_fluid_midi_event_get_control"] = function() { return Module["asm"]["_fluid_midi_event_get_control"].apply(null, arguments) };\nvar _fluid_midi_event_get_key = Module["_fluid_midi_event_get_key"] = function() { return Module["asm"]["_fluid_midi_event_get_key"].apply(null, arguments) };\nvar _fluid_midi_event_get_pitch = Module["_fluid_midi_event_get_pitch"] = function() { return Module["asm"]["_fluid_midi_event_get_pitch"].apply(null, arguments) };\nvar _fluid_midi_event_get_program = Module["_fluid_midi_event_get_program"] = function() { return Module["asm"]["_fluid_midi_event_get_program"].apply(null, arguments) };\nvar _fluid_midi_event_get_type = Module["_fluid_midi_event_get_type"] = function() { return Module["asm"]["_fluid_midi_event_get_type"].apply(null, arguments) };\nvar _fluid_midi_event_get_value = Module["_fluid_midi_event_get_value"] = function() { return Module["asm"]["_fluid_midi_event_get_value"].apply(null, arguments) };\nvar _fluid_midi_event_get_velocity = Module["_fluid_midi_event_get_velocity"] = function() { return Module["asm"]["_fluid_midi_event_get_velocity"].apply(null, arguments) };\nvar _fluid_midi_event_set_channel = Module["_fluid_midi_event_set_channel"] = function() { return Module["asm"]["_fluid_midi_event_set_channel"].apply(null, arguments) };\nvar _fluid_midi_event_set_control = Module["_fluid_midi_event_set_control"] = function() { return Module["asm"]["_fluid_midi_event_set_control"].apply(null, arguments) };\nvar _fluid_midi_event_set_key = Module["_fluid_midi_event_set_key"] = function() { return Module["asm"]["_fluid_midi_event_set_key"].apply(null, arguments) };\nvar _fluid_midi_event_set_lyrics = Module["_fluid_midi_event_set_lyrics"] = function() { return Module["asm"]["_fluid_midi_event_set_lyrics"].apply(null, arguments) };\nvar _fluid_midi_event_set_pitch = Module["_fluid_midi_event_set_pitch"] = function() { return Module["asm"]["_fluid_midi_event_set_pitch"].apply(null, arguments) };\nvar _fluid_midi_event_set_program = Module["_fluid_midi_event_set_program"] = function() { return Module["asm"]["_fluid_midi_event_set_program"].apply(null, arguments) };\nvar _fluid_midi_event_set_sysex = Module["_fluid_midi_event_set_sysex"] = function() { return Module["asm"]["_fluid_midi_event_set_sysex"].apply(null, arguments) };\nvar _fluid_midi_event_set_text = Module["_fluid_midi_event_set_text"] = function() { return Module["asm"]["_fluid_midi_event_set_text"].apply(null, arguments) };\nvar _fluid_midi_event_set_type = Module["_fluid_midi_event_set_type"] = function() { return Module["asm"]["_fluid_midi_event_set_type"].apply(null, arguments) };\nvar _fluid_midi_event_set_value = Module["_fluid_midi_event_set_value"] = function() { return Module["asm"]["_fluid_midi_event_set_value"].apply(null, arguments) };\nvar _fluid_midi_event_set_velocity = Module["_fluid_midi_event_set_velocity"] = function() { return Module["asm"]["_fluid_midi_event_set_velocity"].apply(null, arguments) };\nvar _fluid_midi_router_add_rule = Module["_fluid_midi_router_add_rule"] = function() { return Module["asm"]["_fluid_midi_router_add_rule"].apply(null, arguments) };\nvar _fluid_midi_router_clear_rules = Module["_fluid_midi_router_clear_rules"] = function() { return Module["asm"]["_fluid_midi_router_clear_rules"].apply(null, arguments) };\nvar _fluid_midi_router_handle_midi_event = Module["_fluid_midi_router_handle_midi_event"] = function() { return Module["asm"]["_fluid_midi_router_handle_midi_event"].apply(null, arguments) };\nvar _fluid_midi_router_rule_set_chan = Module["_fluid_midi_router_rule_set_chan"] = function() { return Module["asm"]["_fluid_midi_router_rule_set_chan"].apply(null, arguments) };\nvar _fluid_midi_router_rule_set_param1 = Module["_fluid_midi_router_rule_set_param1"] = function() { return Module["asm"]["_fluid_midi_router_rule_set_param1"].apply(null, arguments) };\nvar _fluid_midi_router_rule_set_param2 = Module["_fluid_midi_router_rule_set_param2"] = function() { return Module["asm"]["_fluid_midi_router_rule_set_param2"].apply(null, arguments) };\nvar _fluid_midi_router_set_default_rules = Module["_fluid_midi_router_set_default_rules"] = function() { return Module["asm"]["_fluid_midi_router_set_default_rules"].apply(null, arguments) };\nvar _fluid_mod_clone = Module["_fluid_mod_clone"] = function() { return Module["asm"]["_fluid_mod_clone"].apply(null, arguments) };\nvar _fluid_mod_get_amount = Module["_fluid_mod_get_amount"] = function() { return Module["asm"]["_fluid_mod_get_amount"].apply(null, arguments) };\nvar _fluid_mod_get_dest = Module["_fluid_mod_get_dest"] = function() { return Module["asm"]["_fluid_mod_get_dest"].apply(null, arguments) };\nvar _fluid_mod_get_flags1 = Module["_fluid_mod_get_flags1"] = function() { return Module["asm"]["_fluid_mod_get_flags1"].apply(null, arguments) };\nvar _fluid_mod_get_flags2 = Module["_fluid_mod_get_flags2"] = function() { return Module["asm"]["_fluid_mod_get_flags2"].apply(null, arguments) };\nvar _fluid_mod_get_source1 = Module["_fluid_mod_get_source1"] = function() { return Module["asm"]["_fluid_mod_get_source1"].apply(null, arguments) };\nvar _fluid_mod_get_source2 = Module["_fluid_mod_get_source2"] = function() { return Module["asm"]["_fluid_mod_get_source2"].apply(null, arguments) };\nvar _fluid_mod_has_dest = Module["_fluid_mod_has_dest"] = function() { return Module["asm"]["_fluid_mod_has_dest"].apply(null, arguments) };\nvar _fluid_mod_has_source = Module["_fluid_mod_has_source"] = function() { return Module["asm"]["_fluid_mod_has_source"].apply(null, arguments) };\nvar _fluid_mod_set_amount = Module["_fluid_mod_set_amount"] = function() { return Module["asm"]["_fluid_mod_set_amount"].apply(null, arguments) };\nvar _fluid_mod_set_dest = Module["_fluid_mod_set_dest"] = function() { return Module["asm"]["_fluid_mod_set_dest"].apply(null, arguments) };\nvar _fluid_mod_set_source1 = Module["_fluid_mod_set_source1"] = function() { return Module["asm"]["_fluid_mod_set_source1"].apply(null, arguments) };\nvar _fluid_mod_set_source2 = Module["_fluid_mod_set_source2"] = function() { return Module["asm"]["_fluid_mod_set_source2"].apply(null, arguments) };\nvar _fluid_mod_sizeof = Module["_fluid_mod_sizeof"] = function() { return Module["asm"]["_fluid_mod_sizeof"].apply(null, arguments) };\nvar _fluid_mod_test_identity = Module["_fluid_mod_test_identity"] = function() { return Module["asm"]["_fluid_mod_test_identity"].apply(null, arguments) };\nvar _fluid_player_add = Module["_fluid_player_add"] = function() { return Module["asm"]["_fluid_player_add"].apply(null, arguments) };\nvar _fluid_player_add_mem = Module["_fluid_player_add_mem"] = function() { return Module["asm"]["_fluid_player_add_mem"].apply(null, arguments) };\nvar _fluid_player_get_bpm = Module["_fluid_player_get_bpm"] = function() { return Module["asm"]["_fluid_player_get_bpm"].apply(null, arguments) };\nvar _fluid_player_get_current_tick = Module["_fluid_player_get_current_tick"] = function() { return Module["asm"]["_fluid_player_get_current_tick"].apply(null, arguments) };\nvar _fluid_player_get_midi_tempo = Module["_fluid_player_get_midi_tempo"] = function() { return Module["asm"]["_fluid_player_get_midi_tempo"].apply(null, arguments) };\nvar _fluid_player_get_status = Module["_fluid_player_get_status"] = function() { return Module["asm"]["_fluid_player_get_status"].apply(null, arguments) };\nvar _fluid_player_get_total_ticks = Module["_fluid_player_get_total_ticks"] = function() { return Module["asm"]["_fluid_player_get_total_ticks"].apply(null, arguments) };\nvar _fluid_player_join = Module["_fluid_player_join"] = function() { return Module["asm"]["_fluid_player_join"].apply(null, arguments) };\nvar _fluid_player_play = Module["_fluid_player_play"] = function() { return Module["asm"]["_fluid_player_play"].apply(null, arguments) };\nvar _fluid_player_seek = Module["_fluid_player_seek"] = function() { return Module["asm"]["_fluid_player_seek"].apply(null, arguments) };\nvar _fluid_player_set_bpm = Module["_fluid_player_set_bpm"] = function() { return Module["asm"]["_fluid_player_set_bpm"].apply(null, arguments) };\nvar _fluid_player_set_loop = Module["_fluid_player_set_loop"] = function() { return Module["asm"]["_fluid_player_set_loop"].apply(null, arguments) };\nvar _fluid_player_set_midi_tempo = Module["_fluid_player_set_midi_tempo"] = function() { return Module["asm"]["_fluid_player_set_midi_tempo"].apply(null, arguments) };\nvar _fluid_player_set_playback_callback = Module["_fluid_player_set_playback_callback"] = function() { return Module["asm"]["_fluid_player_set_playback_callback"].apply(null, arguments) };\nvar _fluid_player_stop = Module["_fluid_player_stop"] = function() { return Module["asm"]["_fluid_player_stop"].apply(null, arguments) };\nvar _fluid_preset_get_banknum = Module["_fluid_preset_get_banknum"] = function() { return Module["asm"]["_fluid_preset_get_banknum"].apply(null, arguments) };\nvar _fluid_preset_get_data = Module["_fluid_preset_get_data"] = function() { return Module["asm"]["_fluid_preset_get_data"].apply(null, arguments) };\nvar _fluid_preset_get_name = Module["_fluid_preset_get_name"] = function() { return Module["asm"]["_fluid_preset_get_name"].apply(null, arguments) };\nvar _fluid_preset_get_num = Module["_fluid_preset_get_num"] = function() { return Module["asm"]["_fluid_preset_get_num"].apply(null, arguments) };\nvar _fluid_preset_get_sfont = Module["_fluid_preset_get_sfont"] = function() { return Module["asm"]["_fluid_preset_get_sfont"].apply(null, arguments) };\nvar _fluid_preset_set_data = Module["_fluid_preset_set_data"] = function() { return Module["asm"]["_fluid_preset_set_data"].apply(null, arguments) };\nvar _fluid_sample_set_loop = Module["_fluid_sample_set_loop"] = function() { return Module["asm"]["_fluid_sample_set_loop"].apply(null, arguments) };\nvar _fluid_sample_set_name = Module["_fluid_sample_set_name"] = function() { return Module["asm"]["_fluid_sample_set_name"].apply(null, arguments) };\nvar _fluid_sample_set_pitch = Module["_fluid_sample_set_pitch"] = function() { return Module["asm"]["_fluid_sample_set_pitch"].apply(null, arguments) };\nvar _fluid_sample_set_sound_data = Module["_fluid_sample_set_sound_data"] = function() { return Module["asm"]["_fluid_sample_set_sound_data"].apply(null, arguments) };\nvar _fluid_sample_sizeof = Module["_fluid_sample_sizeof"] = function() { return Module["asm"]["_fluid_sample_sizeof"].apply(null, arguments) };\nvar _fluid_sequencer_add_midi_event_to_buffer = Module["_fluid_sequencer_add_midi_event_to_buffer"] = function() { return Module["asm"]["_fluid_sequencer_add_midi_event_to_buffer"].apply(null, arguments) };\nvar _fluid_sequencer_client_is_dest = Module["_fluid_sequencer_client_is_dest"] = function() { return Module["asm"]["_fluid_sequencer_client_is_dest"].apply(null, arguments) };\nvar _fluid_sequencer_count_clients = Module["_fluid_sequencer_count_clients"] = function() { return Module["asm"]["_fluid_sequencer_count_clients"].apply(null, arguments) };\nvar _fluid_sequencer_get_client_id = Module["_fluid_sequencer_get_client_id"] = function() { return Module["asm"]["_fluid_sequencer_get_client_id"].apply(null, arguments) };\nvar _fluid_sequencer_get_client_name = Module["_fluid_sequencer_get_client_name"] = function() { return Module["asm"]["_fluid_sequencer_get_client_name"].apply(null, arguments) };\nvar _fluid_sequencer_get_tick = Module["_fluid_sequencer_get_tick"] = function() { return Module["asm"]["_fluid_sequencer_get_tick"].apply(null, arguments) };\nvar _fluid_sequencer_get_time_scale = Module["_fluid_sequencer_get_time_scale"] = function() { return Module["asm"]["_fluid_sequencer_get_time_scale"].apply(null, arguments) };\nvar _fluid_sequencer_get_use_system_timer = Module["_fluid_sequencer_get_use_system_timer"] = function() { return Module["asm"]["_fluid_sequencer_get_use_system_timer"].apply(null, arguments) };\nvar _fluid_sequencer_process = Module["_fluid_sequencer_process"] = function() { return Module["asm"]["_fluid_sequencer_process"].apply(null, arguments) };\nvar _fluid_sequencer_register_client = Module["_fluid_sequencer_register_client"] = function() { return Module["asm"]["_fluid_sequencer_register_client"].apply(null, arguments) };\nvar _fluid_sequencer_register_fluidsynth = Module["_fluid_sequencer_register_fluidsynth"] = function() { return Module["asm"]["_fluid_sequencer_register_fluidsynth"].apply(null, arguments) };\nvar _fluid_sequencer_remove_events = Module["_fluid_sequencer_remove_events"] = function() { return Module["asm"]["_fluid_sequencer_remove_events"].apply(null, arguments) };\nvar _fluid_sequencer_send_at = Module["_fluid_sequencer_send_at"] = function() { return Module["asm"]["_fluid_sequencer_send_at"].apply(null, arguments) };\nvar _fluid_sequencer_send_now = Module["_fluid_sequencer_send_now"] = function() { return Module["asm"]["_fluid_sequencer_send_now"].apply(null, arguments) };\nvar _fluid_sequencer_set_time_scale = Module["_fluid_sequencer_set_time_scale"] = function() { return Module["asm"]["_fluid_sequencer_set_time_scale"].apply(null, arguments) };\nvar _fluid_sequencer_unregister_client = Module["_fluid_sequencer_unregister_client"] = function() { return Module["asm"]["_fluid_sequencer_unregister_client"].apply(null, arguments) };\nvar _fluid_set_log_function = Module["_fluid_set_log_function"] = function() { return Module["asm"]["_fluid_set_log_function"].apply(null, arguments) };\nvar _fluid_settings_copystr = Module["_fluid_settings_copystr"] = function() { return Module["asm"]["_fluid_settings_copystr"].apply(null, arguments) };\nvar _fluid_settings_dupstr = Module["_fluid_settings_dupstr"] = function() { return Module["asm"]["_fluid_settings_dupstr"].apply(null, arguments) };\nvar _fluid_settings_foreach = Module["_fluid_settings_foreach"] = function() { return Module["asm"]["_fluid_settings_foreach"].apply(null, arguments) };\nvar _fluid_settings_foreach_option = Module["_fluid_settings_foreach_option"] = function() { return Module["asm"]["_fluid_settings_foreach_option"].apply(null, arguments) };\nvar _fluid_settings_get_hints = Module["_fluid_settings_get_hints"] = function() { return Module["asm"]["_fluid_settings_get_hints"].apply(null, arguments) };\nvar _fluid_settings_get_type = Module["_fluid_settings_get_type"] = function() { return Module["asm"]["_fluid_settings_get_type"].apply(null, arguments) };\nvar _fluid_settings_getint = Module["_fluid_settings_getint"] = function() { return Module["asm"]["_fluid_settings_getint"].apply(null, arguments) };\nvar _fluid_settings_getint_default = Module["_fluid_settings_getint_default"] = function() { return Module["asm"]["_fluid_settings_getint_default"].apply(null, arguments) };\nvar _fluid_settings_getint_range = Module["_fluid_settings_getint_range"] = function() { return Module["asm"]["_fluid_settings_getint_range"].apply(null, arguments) };\nvar _fluid_settings_getnum = Module["_fluid_settings_getnum"] = function() { return Module["asm"]["_fluid_settings_getnum"].apply(null, arguments) };\nvar _fluid_settings_getnum_default = Module["_fluid_settings_getnum_default"] = function() { return Module["asm"]["_fluid_settings_getnum_default"].apply(null, arguments) };\nvar _fluid_settings_getnum_range = Module["_fluid_settings_getnum_range"] = function() { return Module["asm"]["_fluid_settings_getnum_range"].apply(null, arguments) };\nvar _fluid_settings_getstr_default = Module["_fluid_settings_getstr_default"] = function() { return Module["asm"]["_fluid_settings_getstr_default"].apply(null, arguments) };\nvar _fluid_settings_is_realtime = Module["_fluid_settings_is_realtime"] = function() { return Module["asm"]["_fluid_settings_is_realtime"].apply(null, arguments) };\nvar _fluid_settings_option_concat = Module["_fluid_settings_option_concat"] = function() { return Module["asm"]["_fluid_settings_option_concat"].apply(null, arguments) };\nvar _fluid_settings_option_count = Module["_fluid_settings_option_count"] = function() { return Module["asm"]["_fluid_settings_option_count"].apply(null, arguments) };\nvar _fluid_settings_setint = Module["_fluid_settings_setint"] = function() { return Module["asm"]["_fluid_settings_setint"].apply(null, arguments) };\nvar _fluid_settings_setnum = Module["_fluid_settings_setnum"] = function() { return Module["asm"]["_fluid_settings_setnum"].apply(null, arguments) };\nvar _fluid_settings_setstr = Module["_fluid_settings_setstr"] = function() { return Module["asm"]["_fluid_settings_setstr"].apply(null, arguments) };\nvar _fluid_settings_str_equal = Module["_fluid_settings_str_equal"] = function() { return Module["asm"]["_fluid_settings_str_equal"].apply(null, arguments) };\nvar _fluid_sfloader_get_data = Module["_fluid_sfloader_get_data"] = function() { return Module["asm"]["_fluid_sfloader_get_data"].apply(null, arguments) };\nvar _fluid_sfloader_set_callbacks = Module["_fluid_sfloader_set_callbacks"] = function() { return Module["asm"]["_fluid_sfloader_set_callbacks"].apply(null, arguments) };\nvar _fluid_sfloader_set_data = Module["_fluid_sfloader_set_data"] = function() { return Module["asm"]["_fluid_sfloader_set_data"].apply(null, arguments) };\nvar _fluid_sfont_get_data = Module["_fluid_sfont_get_data"] = function() { return Module["asm"]["_fluid_sfont_get_data"].apply(null, arguments) };\nvar _fluid_sfont_get_id = Module["_fluid_sfont_get_id"] = function() { return Module["asm"]["_fluid_sfont_get_id"].apply(null, arguments) };\nvar _fluid_sfont_get_name = Module["_fluid_sfont_get_name"] = function() { return Module["asm"]["_fluid_sfont_get_name"].apply(null, arguments) };\nvar _fluid_sfont_get_preset = Module["_fluid_sfont_get_preset"] = function() { return Module["asm"]["_fluid_sfont_get_preset"].apply(null, arguments) };\nvar _fluid_sfont_iteration_next = Module["_fluid_sfont_iteration_next"] = function() { return Module["asm"]["_fluid_sfont_iteration_next"].apply(null, arguments) };\nvar _fluid_sfont_iteration_start = Module["_fluid_sfont_iteration_start"] = function() { return Module["asm"]["_fluid_sfont_iteration_start"].apply(null, arguments) };\nvar _fluid_sfont_set_data = Module["_fluid_sfont_set_data"] = function() { return Module["asm"]["_fluid_sfont_set_data"].apply(null, arguments) };\nvar _fluid_synth_activate_key_tuning = Module["_fluid_synth_activate_key_tuning"] = function() { return Module["asm"]["_fluid_synth_activate_key_tuning"].apply(null, arguments) };\nvar _fluid_synth_activate_octave_tuning = Module["_fluid_synth_activate_octave_tuning"] = function() { return Module["asm"]["_fluid_synth_activate_octave_tuning"].apply(null, arguments) };\nvar _fluid_synth_activate_tuning = Module["_fluid_synth_activate_tuning"] = function() { return Module["asm"]["_fluid_synth_activate_tuning"].apply(null, arguments) };\nvar _fluid_synth_add_default_mod = Module["_fluid_synth_add_default_mod"] = function() { return Module["asm"]["_fluid_synth_add_default_mod"].apply(null, arguments) };\nvar _fluid_synth_add_sfloader = Module["_fluid_synth_add_sfloader"] = function() { return Module["asm"]["_fluid_synth_add_sfloader"].apply(null, arguments) };\nvar _fluid_synth_add_sfont = Module["_fluid_synth_add_sfont"] = function() { return Module["asm"]["_fluid_synth_add_sfont"].apply(null, arguments) };\nvar _fluid_synth_all_notes_off = Module["_fluid_synth_all_notes_off"] = function() { return Module["asm"]["_fluid_synth_all_notes_off"].apply(null, arguments) };\nvar _fluid_synth_all_sounds_off = Module["_fluid_synth_all_sounds_off"] = function() { return Module["asm"]["_fluid_synth_all_sounds_off"].apply(null, arguments) };\nvar _fluid_synth_alloc_voice = Module["_fluid_synth_alloc_voice"] = function() { return Module["asm"]["_fluid_synth_alloc_voice"].apply(null, arguments) };\nvar _fluid_synth_bank_select = Module["_fluid_synth_bank_select"] = function() { return Module["asm"]["_fluid_synth_bank_select"].apply(null, arguments) };\nvar _fluid_synth_cc = Module["_fluid_synth_cc"] = function() { return Module["asm"]["_fluid_synth_cc"].apply(null, arguments) };\nvar _fluid_synth_channel_pressure = Module["_fluid_synth_channel_pressure"] = function() { return Module["asm"]["_fluid_synth_channel_pressure"].apply(null, arguments) };\nvar _fluid_synth_count_audio_channels = Module["_fluid_synth_count_audio_channels"] = function() { return Module["asm"]["_fluid_synth_count_audio_channels"].apply(null, arguments) };\nvar _fluid_synth_count_audio_groups = Module["_fluid_synth_count_audio_groups"] = function() { return Module["asm"]["_fluid_synth_count_audio_groups"].apply(null, arguments) };\nvar _fluid_synth_count_effects_channels = Module["_fluid_synth_count_effects_channels"] = function() { return Module["asm"]["_fluid_synth_count_effects_channels"].apply(null, arguments) };\nvar _fluid_synth_count_effects_groups = Module["_fluid_synth_count_effects_groups"] = function() { return Module["asm"]["_fluid_synth_count_effects_groups"].apply(null, arguments) };\nvar _fluid_synth_count_midi_channels = Module["_fluid_synth_count_midi_channels"] = function() { return Module["asm"]["_fluid_synth_count_midi_channels"].apply(null, arguments) };\nvar _fluid_synth_deactivate_tuning = Module["_fluid_synth_deactivate_tuning"] = function() { return Module["asm"]["_fluid_synth_deactivate_tuning"].apply(null, arguments) };\nvar _fluid_synth_error = Module["_fluid_synth_error"] = function() { return Module["asm"]["_fluid_synth_error"].apply(null, arguments) };\nvar _fluid_synth_get_active_voice_count = Module["_fluid_synth_get_active_voice_count"] = function() { return Module["asm"]["_fluid_synth_get_active_voice_count"].apply(null, arguments) };\nvar _fluid_synth_get_bank_offset = Module["_fluid_synth_get_bank_offset"] = function() { return Module["asm"]["_fluid_synth_get_bank_offset"].apply(null, arguments) };\nvar _fluid_synth_get_basic_channel = Module["_fluid_synth_get_basic_channel"] = function() { return Module["asm"]["_fluid_synth_get_basic_channel"].apply(null, arguments) };\nvar _fluid_synth_get_breath_mode = Module["_fluid_synth_get_breath_mode"] = function() { return Module["asm"]["_fluid_synth_get_breath_mode"].apply(null, arguments) };\nvar _fluid_synth_get_cc = Module["_fluid_synth_get_cc"] = function() { return Module["asm"]["_fluid_synth_get_cc"].apply(null, arguments) };\nvar _fluid_synth_get_channel_preset = Module["_fluid_synth_get_channel_preset"] = function() { return Module["asm"]["_fluid_synth_get_channel_preset"].apply(null, arguments) };\nvar _fluid_synth_get_chorus_depth = Module["_fluid_synth_get_chorus_depth"] = function() { return Module["asm"]["_fluid_synth_get_chorus_depth"].apply(null, arguments) };\nvar _fluid_synth_get_chorus_level = Module["_fluid_synth_get_chorus_level"] = function() { return Module["asm"]["_fluid_synth_get_chorus_level"].apply(null, arguments) };\nvar _fluid_synth_get_chorus_nr = Module["_fluid_synth_get_chorus_nr"] = function() { return Module["asm"]["_fluid_synth_get_chorus_nr"].apply(null, arguments) };\nvar _fluid_synth_get_chorus_speed = Module["_fluid_synth_get_chorus_speed"] = function() { return Module["asm"]["_fluid_synth_get_chorus_speed"].apply(null, arguments) };\nvar _fluid_synth_get_chorus_type = Module["_fluid_synth_get_chorus_type"] = function() { return Module["asm"]["_fluid_synth_get_chorus_type"].apply(null, arguments) };\nvar _fluid_synth_get_cpu_load = Module["_fluid_synth_get_cpu_load"] = function() { return Module["asm"]["_fluid_synth_get_cpu_load"].apply(null, arguments) };\nvar _fluid_synth_get_gain = Module["_fluid_synth_get_gain"] = function() { return Module["asm"]["_fluid_synth_get_gain"].apply(null, arguments) };\nvar _fluid_synth_get_gen = Module["_fluid_synth_get_gen"] = function() { return Module["asm"]["_fluid_synth_get_gen"].apply(null, arguments) };\nvar _fluid_synth_get_internal_bufsize = Module["_fluid_synth_get_internal_bufsize"] = function() { return Module["asm"]["_fluid_synth_get_internal_bufsize"].apply(null, arguments) };\nvar _fluid_synth_get_ladspa_fx = Module["_fluid_synth_get_ladspa_fx"] = function() { return Module["asm"]["_fluid_synth_get_ladspa_fx"].apply(null, arguments) };\nvar _fluid_synth_get_legato_mode = Module["_fluid_synth_get_legato_mode"] = function() { return Module["asm"]["_fluid_synth_get_legato_mode"].apply(null, arguments) };\nvar _fluid_synth_get_pitch_bend = Module["_fluid_synth_get_pitch_bend"] = function() { return Module["asm"]["_fluid_synth_get_pitch_bend"].apply(null, arguments) };\nvar _fluid_synth_get_pitch_wheel_sens = Module["_fluid_synth_get_pitch_wheel_sens"] = function() { return Module["asm"]["_fluid_synth_get_pitch_wheel_sens"].apply(null, arguments) };\nvar _fluid_synth_get_polyphony = Module["_fluid_synth_get_polyphony"] = function() { return Module["asm"]["_fluid_synth_get_polyphony"].apply(null, arguments) };\nvar _fluid_synth_get_portamento_mode = Module["_fluid_synth_get_portamento_mode"] = function() { return Module["asm"]["_fluid_synth_get_portamento_mode"].apply(null, arguments) };\nvar _fluid_synth_get_program = Module["_fluid_synth_get_program"] = function() { return Module["asm"]["_fluid_synth_get_program"].apply(null, arguments) };\nvar _fluid_synth_get_reverb_damp = Module["_fluid_synth_get_reverb_damp"] = function() { return Module["asm"]["_fluid_synth_get_reverb_damp"].apply(null, arguments) };\nvar _fluid_synth_get_reverb_level = Module["_fluid_synth_get_reverb_level"] = function() { return Module["asm"]["_fluid_synth_get_reverb_level"].apply(null, arguments) };\nvar _fluid_synth_get_reverb_roomsize = Module["_fluid_synth_get_reverb_roomsize"] = function() { return Module["asm"]["_fluid_synth_get_reverb_roomsize"].apply(null, arguments) };\nvar _fluid_synth_get_reverb_width = Module["_fluid_synth_get_reverb_width"] = function() { return Module["asm"]["_fluid_synth_get_reverb_width"].apply(null, arguments) };\nvar _fluid_synth_get_settings = Module["_fluid_synth_get_settings"] = function() { return Module["asm"]["_fluid_synth_get_settings"].apply(null, arguments) };\nvar _fluid_synth_get_sfont = Module["_fluid_synth_get_sfont"] = function() { return Module["asm"]["_fluid_synth_get_sfont"].apply(null, arguments) };\nvar _fluid_synth_get_sfont_by_id = Module["_fluid_synth_get_sfont_by_id"] = function() { return Module["asm"]["_fluid_synth_get_sfont_by_id"].apply(null, arguments) };\nvar _fluid_synth_get_sfont_by_name = Module["_fluid_synth_get_sfont_by_name"] = function() { return Module["asm"]["_fluid_synth_get_sfont_by_name"].apply(null, arguments) };\nvar _fluid_synth_get_voicelist = Module["_fluid_synth_get_voicelist"] = function() { return Module["asm"]["_fluid_synth_get_voicelist"].apply(null, arguments) };\nvar _fluid_synth_handle_midi_event = Module["_fluid_synth_handle_midi_event"] = function() { return Module["asm"]["_fluid_synth_handle_midi_event"].apply(null, arguments) };\nvar _fluid_synth_key_pressure = Module["_fluid_synth_key_pressure"] = function() { return Module["asm"]["_fluid_synth_key_pressure"].apply(null, arguments) };\nvar _fluid_synth_noteoff = Module["_fluid_synth_noteoff"] = function() { return Module["asm"]["_fluid_synth_noteoff"].apply(null, arguments) };\nvar _fluid_synth_noteon = Module["_fluid_synth_noteon"] = function() { return Module["asm"]["_fluid_synth_noteon"].apply(null, arguments) };\nvar _fluid_synth_nwrite_float = Module["_fluid_synth_nwrite_float"] = function() { return Module["asm"]["_fluid_synth_nwrite_float"].apply(null, arguments) };\nvar _fluid_synth_pitch_bend = Module["_fluid_synth_pitch_bend"] = function() { return Module["asm"]["_fluid_synth_pitch_bend"].apply(null, arguments) };\nvar _fluid_synth_pitch_wheel_sens = Module["_fluid_synth_pitch_wheel_sens"] = function() { return Module["asm"]["_fluid_synth_pitch_wheel_sens"].apply(null, arguments) };\nvar _fluid_synth_process = Module["_fluid_synth_process"] = function() { return Module["asm"]["_fluid_synth_process"].apply(null, arguments) };\nvar _fluid_synth_program_change = Module["_fluid_synth_program_change"] = function() { return Module["asm"]["_fluid_synth_program_change"].apply(null, arguments) };\nvar _fluid_synth_program_reset = Module["_fluid_synth_program_reset"] = function() { return Module["asm"]["_fluid_synth_program_reset"].apply(null, arguments) };\nvar _fluid_synth_program_select = Module["_fluid_synth_program_select"] = function() { return Module["asm"]["_fluid_synth_program_select"].apply(null, arguments) };\nvar _fluid_synth_program_select_by_sfont_name = Module["_fluid_synth_program_select_by_sfont_name"] = function() { return Module["asm"]["_fluid_synth_program_select_by_sfont_name"].apply(null, arguments) };\nvar _fluid_synth_remove_default_mod = Module["_fluid_synth_remove_default_mod"] = function() { return Module["asm"]["_fluid_synth_remove_default_mod"].apply(null, arguments) };\nvar _fluid_synth_remove_sfont = Module["_fluid_synth_remove_sfont"] = function() { return Module["asm"]["_fluid_synth_remove_sfont"].apply(null, arguments) };\nvar _fluid_synth_reset_basic_channel = Module["_fluid_synth_reset_basic_channel"] = function() { return Module["asm"]["_fluid_synth_reset_basic_channel"].apply(null, arguments) };\nvar _fluid_synth_set_bank_offset = Module["_fluid_synth_set_bank_offset"] = function() { return Module["asm"]["_fluid_synth_set_bank_offset"].apply(null, arguments) };\nvar _fluid_synth_set_basic_channel = Module["_fluid_synth_set_basic_channel"] = function() { return Module["asm"]["_fluid_synth_set_basic_channel"].apply(null, arguments) };\nvar _fluid_synth_set_breath_mode = Module["_fluid_synth_set_breath_mode"] = function() { return Module["asm"]["_fluid_synth_set_breath_mode"].apply(null, arguments) };\nvar _fluid_synth_set_channel_type = Module["_fluid_synth_set_channel_type"] = function() { return Module["asm"]["_fluid_synth_set_channel_type"].apply(null, arguments) };\nvar _fluid_synth_set_chorus = Module["_fluid_synth_set_chorus"] = function() { return Module["asm"]["_fluid_synth_set_chorus"].apply(null, arguments) };\nvar _fluid_synth_set_chorus_depth = Module["_fluid_synth_set_chorus_depth"] = function() { return Module["asm"]["_fluid_synth_set_chorus_depth"].apply(null, arguments) };\nvar _fluid_synth_set_chorus_level = Module["_fluid_synth_set_chorus_level"] = function() { return Module["asm"]["_fluid_synth_set_chorus_level"].apply(null, arguments) };\nvar _fluid_synth_set_chorus_nr = Module["_fluid_synth_set_chorus_nr"] = function() { return Module["asm"]["_fluid_synth_set_chorus_nr"].apply(null, arguments) };\nvar _fluid_synth_set_chorus_on = Module["_fluid_synth_set_chorus_on"] = function() { return Module["asm"]["_fluid_synth_set_chorus_on"].apply(null, arguments) };\nvar _fluid_synth_set_chorus_speed = Module["_fluid_synth_set_chorus_speed"] = function() { return Module["asm"]["_fluid_synth_set_chorus_speed"].apply(null, arguments) };\nvar _fluid_synth_set_chorus_type = Module["_fluid_synth_set_chorus_type"] = function() { return Module["asm"]["_fluid_synth_set_chorus_type"].apply(null, arguments) };\nvar _fluid_synth_set_custom_filter = Module["_fluid_synth_set_custom_filter"] = function() { return Module["asm"]["_fluid_synth_set_custom_filter"].apply(null, arguments) };\nvar _fluid_synth_set_gain = Module["_fluid_synth_set_gain"] = function() { return Module["asm"]["_fluid_synth_set_gain"].apply(null, arguments) };\nvar _fluid_synth_set_gen = Module["_fluid_synth_set_gen"] = function() { return Module["asm"]["_fluid_synth_set_gen"].apply(null, arguments) };\nvar _fluid_synth_set_interp_method = Module["_fluid_synth_set_interp_method"] = function() { return Module["asm"]["_fluid_synth_set_interp_method"].apply(null, arguments) };\nvar _fluid_synth_set_legato_mode = Module["_fluid_synth_set_legato_mode"] = function() { return Module["asm"]["_fluid_synth_set_legato_mode"].apply(null, arguments) };\nvar _fluid_synth_set_polyphony = Module["_fluid_synth_set_polyphony"] = function() { return Module["asm"]["_fluid_synth_set_polyphony"].apply(null, arguments) };\nvar _fluid_synth_set_portamento_mode = Module["_fluid_synth_set_portamento_mode"] = function() { return Module["asm"]["_fluid_synth_set_portamento_mode"].apply(null, arguments) };\nvar _fluid_synth_set_reverb = Module["_fluid_synth_set_reverb"] = function() { return Module["asm"]["_fluid_synth_set_reverb"].apply(null, arguments) };\nvar _fluid_synth_set_reverb_damp = Module["_fluid_synth_set_reverb_damp"] = function() { return Module["asm"]["_fluid_synth_set_reverb_damp"].apply(null, arguments) };\nvar _fluid_synth_set_reverb_level = Module["_fluid_synth_set_reverb_level"] = function() { return Module["asm"]["_fluid_synth_set_reverb_level"].apply(null, arguments) };\nvar _fluid_synth_set_reverb_on = Module["_fluid_synth_set_reverb_on"] = function() { return Module["asm"]["_fluid_synth_set_reverb_on"].apply(null, arguments) };\nvar _fluid_synth_set_reverb_roomsize = Module["_fluid_synth_set_reverb_roomsize"] = function() { return Module["asm"]["_fluid_synth_set_reverb_roomsize"].apply(null, arguments) };\nvar _fluid_synth_set_reverb_width = Module["_fluid_synth_set_reverb_width"] = function() { return Module["asm"]["_fluid_synth_set_reverb_width"].apply(null, arguments) };\nvar _fluid_synth_set_sample_rate = Module["_fluid_synth_set_sample_rate"] = function() { return Module["asm"]["_fluid_synth_set_sample_rate"].apply(null, arguments) };\nvar _fluid_synth_sfcount = Module["_fluid_synth_sfcount"] = function() { return Module["asm"]["_fluid_synth_sfcount"].apply(null, arguments) };\nvar _fluid_synth_sfload = Module["_fluid_synth_sfload"] = function() { return Module["asm"]["_fluid_synth_sfload"].apply(null, arguments) };\nvar _fluid_synth_sfont_select = Module["_fluid_synth_sfont_select"] = function() { return Module["asm"]["_fluid_synth_sfont_select"].apply(null, arguments) };\nvar _fluid_synth_sfreload = Module["_fluid_synth_sfreload"] = function() { return Module["asm"]["_fluid_synth_sfreload"].apply(null, arguments) };\nvar _fluid_synth_sfunload = Module["_fluid_synth_sfunload"] = function() { return Module["asm"]["_fluid_synth_sfunload"].apply(null, arguments) };\nvar _fluid_synth_start = Module["_fluid_synth_start"] = function() { return Module["asm"]["_fluid_synth_start"].apply(null, arguments) };\nvar _fluid_synth_start_voice = Module["_fluid_synth_start_voice"] = function() { return Module["asm"]["_fluid_synth_start_voice"].apply(null, arguments) };\nvar _fluid_synth_stop = Module["_fluid_synth_stop"] = function() { return Module["asm"]["_fluid_synth_stop"].apply(null, arguments) };\nvar _fluid_synth_sysex = Module["_fluid_synth_sysex"] = function() { return Module["asm"]["_fluid_synth_sysex"].apply(null, arguments) };\nvar _fluid_synth_system_reset = Module["_fluid_synth_system_reset"] = function() { return Module["asm"]["_fluid_synth_system_reset"].apply(null, arguments) };\nvar _fluid_synth_tune_notes = Module["_fluid_synth_tune_notes"] = function() { return Module["asm"]["_fluid_synth_tune_notes"].apply(null, arguments) };\nvar _fluid_synth_tuning_dump = Module["_fluid_synth_tuning_dump"] = function() { return Module["asm"]["_fluid_synth_tuning_dump"].apply(null, arguments) };\nvar _fluid_synth_tuning_iteration_next = Module["_fluid_synth_tuning_iteration_next"] = function() { return Module["asm"]["_fluid_synth_tuning_iteration_next"].apply(null, arguments) };\nvar _fluid_synth_tuning_iteration_start = Module["_fluid_synth_tuning_iteration_start"] = function() { return Module["asm"]["_fluid_synth_tuning_iteration_start"].apply(null, arguments) };\nvar _fluid_synth_unset_program = Module["_fluid_synth_unset_program"] = function() { return Module["asm"]["_fluid_synth_unset_program"].apply(null, arguments) };\nvar _fluid_synth_write_float = Module["_fluid_synth_write_float"] = function() { return Module["asm"]["_fluid_synth_write_float"].apply(null, arguments) };\nvar _fluid_synth_write_s16 = Module["_fluid_synth_write_s16"] = function() { return Module["asm"]["_fluid_synth_write_s16"].apply(null, arguments) };\nvar _fluid_version = Module["_fluid_version"] = function() { return Module["asm"]["_fluid_version"].apply(null, arguments) };\nvar _fluid_version_str = Module["_fluid_version_str"] = function() { return Module["asm"]["_fluid_version_str"].apply(null, arguments) };\nvar _fluid_voice_add_mod = Module["_fluid_voice_add_mod"] = function() { return Module["asm"]["_fluid_voice_add_mod"].apply(null, arguments) };\nvar _fluid_voice_gen_get = Module["_fluid_voice_gen_get"] = function() { return Module["asm"]["_fluid_voice_gen_get"].apply(null, arguments) };\nvar _fluid_voice_gen_incr = Module["_fluid_voice_gen_incr"] = function() { return Module["asm"]["_fluid_voice_gen_incr"].apply(null, arguments) };\nvar _fluid_voice_gen_set = Module["_fluid_voice_gen_set"] = function() { return Module["asm"]["_fluid_voice_gen_set"].apply(null, arguments) };\nvar _fluid_voice_get_actual_key = Module["_fluid_voice_get_actual_key"] = function() { return Module["asm"]["_fluid_voice_get_actual_key"].apply(null, arguments) };\nvar _fluid_voice_get_actual_velocity = Module["_fluid_voice_get_actual_velocity"] = function() { return Module["asm"]["_fluid_voice_get_actual_velocity"].apply(null, arguments) };\nvar _fluid_voice_get_channel = Module["_fluid_voice_get_channel"] = function() { return Module["asm"]["_fluid_voice_get_channel"].apply(null, arguments) };\nvar _fluid_voice_get_id = Module["_fluid_voice_get_id"] = function() { return Module["asm"]["_fluid_voice_get_id"].apply(null, arguments) };\nvar _fluid_voice_get_key = Module["_fluid_voice_get_key"] = function() { return Module["asm"]["_fluid_voice_get_key"].apply(null, arguments) };\nvar _fluid_voice_get_velocity = Module["_fluid_voice_get_velocity"] = function() { return Module["asm"]["_fluid_voice_get_velocity"].apply(null, arguments) };\nvar _fluid_voice_is_on = Module["_fluid_voice_is_on"] = function() { return Module["asm"]["_fluid_voice_is_on"].apply(null, arguments) };\nvar _fluid_voice_is_playing = Module["_fluid_voice_is_playing"] = function() { return Module["asm"]["_fluid_voice_is_playing"].apply(null, arguments) };\nvar _fluid_voice_is_sostenuto = Module["_fluid_voice_is_sostenuto"] = function() { return Module["asm"]["_fluid_voice_is_sostenuto"].apply(null, arguments) };\nvar _fluid_voice_is_sustained = Module["_fluid_voice_is_sustained"] = function() { return Module["asm"]["_fluid_voice_is_sustained"].apply(null, arguments) };\nvar _fluid_voice_optimize_sample = Module["_fluid_voice_optimize_sample"] = function() { return Module["asm"]["_fluid_voice_optimize_sample"].apply(null, arguments) };\nvar _fluid_voice_update_param = Module["_fluid_voice_update_param"] = function() { return Module["asm"]["_fluid_voice_update_param"].apply(null, arguments) };\nvar _free = Module["_free"] = function() { return Module["asm"]["_free"].apply(null, arguments) };\nvar _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = function() { return Module["asm"]["_llvm_bswap_i32"].apply(null, arguments) };\nvar _malloc = Module["_malloc"] = function() { return Module["asm"]["_malloc"].apply(null, arguments) };\nvar _memcpy = Module["_memcpy"] = function() { return Module["asm"]["_memcpy"].apply(null, arguments) };\nvar _memset = Module["_memset"] = function() { return Module["asm"]["_memset"].apply(null, arguments) };\nvar _new_fluid_audio_driver = Module["_new_fluid_audio_driver"] = function() { return Module["asm"]["_new_fluid_audio_driver"].apply(null, arguments) };\nvar _new_fluid_audio_driver2 = Module["_new_fluid_audio_driver2"] = function() { return Module["asm"]["_new_fluid_audio_driver2"].apply(null, arguments) };\nvar _new_fluid_defsfloader = Module["_new_fluid_defsfloader"] = function() { return Module["asm"]["_new_fluid_defsfloader"].apply(null, arguments) };\nvar _new_fluid_event = Module["_new_fluid_event"] = function() { return Module["asm"]["_new_fluid_event"].apply(null, arguments) };\nvar _new_fluid_file_renderer = Module["_new_fluid_file_renderer"] = function() { return Module["asm"]["_new_fluid_file_renderer"].apply(null, arguments) };\nvar _new_fluid_midi_driver = Module["_new_fluid_midi_driver"] = function() { return Module["asm"]["_new_fluid_midi_driver"].apply(null, arguments) };\nvar _new_fluid_midi_event = Module["_new_fluid_midi_event"] = function() { return Module["asm"]["_new_fluid_midi_event"].apply(null, arguments) };\nvar _new_fluid_midi_router = Module["_new_fluid_midi_router"] = function() { return Module["asm"]["_new_fluid_midi_router"].apply(null, arguments) };\nvar _new_fluid_midi_router_rule = Module["_new_fluid_midi_router_rule"] = function() { return Module["asm"]["_new_fluid_midi_router_rule"].apply(null, arguments) };\nvar _new_fluid_mod = Module["_new_fluid_mod"] = function() { return Module["asm"]["_new_fluid_mod"].apply(null, arguments) };\nvar _new_fluid_player = Module["_new_fluid_player"] = function() { return Module["asm"]["_new_fluid_player"].apply(null, arguments) };\nvar _new_fluid_preset = Module["_new_fluid_preset"] = function() { return Module["asm"]["_new_fluid_preset"].apply(null, arguments) };\nvar _new_fluid_sample = Module["_new_fluid_sample"] = function() { return Module["asm"]["_new_fluid_sample"].apply(null, arguments) };\nvar _new_fluid_sequencer = Module["_new_fluid_sequencer"] = function() { return Module["asm"]["_new_fluid_sequencer"].apply(null, arguments) };\nvar _new_fluid_sequencer2 = Module["_new_fluid_sequencer2"] = function() { return Module["asm"]["_new_fluid_sequencer2"].apply(null, arguments) };\nvar _new_fluid_settings = Module["_new_fluid_settings"] = function() { return Module["asm"]["_new_fluid_settings"].apply(null, arguments) };\nvar _new_fluid_sfloader = Module["_new_fluid_sfloader"] = function() { return Module["asm"]["_new_fluid_sfloader"].apply(null, arguments) };\nvar _new_fluid_sfont = Module["_new_fluid_sfont"] = function() { return Module["asm"]["_new_fluid_sfont"].apply(null, arguments) };\nvar _new_fluid_synth = Module["_new_fluid_synth"] = function() { return Module["asm"]["_new_fluid_synth"].apply(null, arguments) };\nvar _sbrk = Module["_sbrk"] = function() { return Module["asm"]["_sbrk"].apply(null, arguments) };\nvar establishStackSpace = Module["establishStackSpace"] = function() { return Module["asm"]["establishStackSpace"].apply(null, arguments) };\nvar getTempRet0 = Module["getTempRet0"] = function() { return Module["asm"]["getTempRet0"].apply(null, arguments) };\nvar runPostSets = Module["runPostSets"] = function() { return Module["asm"]["runPostSets"].apply(null, arguments) };\nvar setTempRet0 = Module["setTempRet0"] = function() { return Module["asm"]["setTempRet0"].apply(null, arguments) };\nvar setThrew = Module["setThrew"] = function() { return Module["asm"]["setThrew"].apply(null, arguments) };\nvar stackAlloc = Module["stackAlloc"] = function() { return Module["asm"]["stackAlloc"].apply(null, arguments) };\nvar stackRestore = Module["stackRestore"] = function() { return Module["asm"]["stackRestore"].apply(null, arguments) };\nvar stackSave = Module["stackSave"] = function() { return Module["asm"]["stackSave"].apply(null, arguments) };\nvar dynCall_ii = Module["dynCall_ii"] = function() { return Module["asm"]["dynCall_ii"].apply(null, arguments) };\nvar dynCall_iii = Module["dynCall_iii"] = function() { return Module["asm"]["dynCall_iii"].apply(null, arguments) };\nvar dynCall_iiii = Module["dynCall_iiii"] = function() { return Module["asm"]["dynCall_iiii"].apply(null, arguments) };\nvar dynCall_iiiiii = Module["dynCall_iiiiii"] = function() { return Module["asm"]["dynCall_iiiiii"].apply(null, arguments) };\nvar dynCall_iiiiiii = Module["dynCall_iiiiiii"] = function() { return Module["asm"]["dynCall_iiiiiii"].apply(null, arguments) };\nvar dynCall_vi = Module["dynCall_vi"] = function() { return Module["asm"]["dynCall_vi"].apply(null, arguments) };\nvar dynCall_vii = Module["dynCall_vii"] = function() { return Module["asm"]["dynCall_vii"].apply(null, arguments) };\nvar dynCall_viid = Module["dynCall_viid"] = function() { return Module["asm"]["dynCall_viid"].apply(null, arguments) };\nvar dynCall_viii = Module["dynCall_viii"] = function() { return Module["asm"]["dynCall_viii"].apply(null, arguments) };\nvar dynCall_viiii = Module["dynCall_viiii"] = function() { return Module["asm"]["dynCall_viiii"].apply(null, arguments) };\n;\n\n\n\n// === Auto-generated postamble setup entry stuff ===\n\nModule[\'asm\'] = asm;\n\n\n\nModule["ccall"] = ccall;\nModule["cwrap"] = cwrap;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nModule["FS"] = FS;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * @constructor\n * @extends {Error}\n * @this {ExitStatus}\n */\nfunction ExitStatus(status) {\n this.name = "ExitStatus";\n this.message = "Program terminated with exit(" + status + ")";\n this.status = status;\n};\nExitStatus.prototype = new Error();\nExitStatus.prototype.constructor = ExitStatus;\n\nvar initialStackTop;\nvar calledMain = false;\n\ndependenciesFulfilled = function runCaller() {\n // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false)\n if (!Module[\'calledRun\']) run();\n if (!Module[\'calledRun\']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled\n}\n\n\n\n\n\n/** @type {function(Array=)} */\nfunction run(args) {\n args = args || Module[\'arguments\'];\n\n if (runDependencies > 0) {\n return;\n }\n\n\n preRun();\n\n if (runDependencies > 0) return; // a preRun added a dependency, run will be called later\n if (Module[\'calledRun\']) return; // run may have just been called through dependencies being fulfilled just in this very frame\n\n function doRun() {\n if (Module[\'calledRun\']) return; // run may have just been called while the async setStatus time below was happening\n Module[\'calledRun\'] = true;\n\n if (ABORT) return;\n\n ensureInitRuntime();\n\n preMain();\n\n if (Module[\'onRuntimeInitialized\']) Module[\'onRuntimeInitialized\']();\n\n\n postRun();\n }\n\n if (Module[\'setStatus\']) {\n Module[\'setStatus\'](\'Running...\');\n setTimeout(function() {\n setTimeout(function() {\n Module[\'setStatus\'](\'\');\n }, 1);\n doRun();\n }, 1);\n } else {\n doRun();\n }\n}\nModule[\'run\'] = run;\n\n\nfunction exit(status, implicit) {\n\n // if this is just main exit-ing implicitly, and the status is 0, then we\n // don\'t need to do anything here and can just leave. if the status is\n // non-zero, though, then we need to report it.\n // (we may have warned about this earlier, if a situation justifies doing so)\n if (implicit && Module[\'noExitRuntime\'] && status === 0) {\n return;\n }\n\n if (Module[\'noExitRuntime\']) {\n } else {\n\n ABORT = true;\n EXITSTATUS = status;\n STACKTOP = initialStackTop;\n\n exitRuntime();\n\n if (Module[\'onExit\']) Module[\'onExit\'](status);\n }\n\n Module[\'quit\'](status, new ExitStatus(status));\n}\n\nvar abortDecorators = [];\n\nfunction abort(what) {\n if (Module[\'onAbort\']) {\n Module[\'onAbort\'](what);\n }\n\n if (what !== undefined) {\n out(what);\n err(what);\n what = JSON.stringify(what)\n } else {\n what = \'\';\n }\n\n ABORT = true;\n EXITSTATUS = 1;\n\n throw \'abort(\' + what + \'). Build with -s ASSERTIONS=1 for more info.\';\n}\nModule[\'abort\'] = abort;\n\nif (Module[\'preInit\']) {\n if (typeof Module[\'preInit\'] == \'function\') Module[\'preInit\'] = [Module[\'preInit\']];\n while (Module[\'preInit\'].length > 0) {\n Module[\'preInit\'].pop()();\n }\n}\n\n\nModule["noExitRuntime"] = true;\n\nrun();\n\n\n\n\n\n// {{MODULE_ADDITIONS}}\n\n\n\n',f="/*!\njs-synthesizer version 1.7.0\r\n\r\n@license\r\n\r\nCopyright (C) 2020 jet\r\nAll rights reserved.\r\n\r\nRedistribution and use in source and binary forms, with or without modification,\r\nare permitted provided that the following conditions are met:\r\n\r\n 1. Redistributions of source code must retain the above copyright notice,\r\n this list of conditions and the following disclaimer.\r\n 2. Redistributions in binary form must reproduce the above copyright notice,\r\n this list of conditions and the following disclaimer in the documentation\r\n and/or other materials provided with the distribution.\r\n 3. The name of the author may not be used to endorse or promote products derived\r\n from this software without specific prior written permission.\r\n\r\nTHIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,\r\nINCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\r\nDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\r\nBUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,\r\nOR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r\nWHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\r\nOF SUCH DAMAGE.\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"js-synthesizer\"] = factory();\n\telse\n\t\troot[\"JSSynth\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 2);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/*!*******************************!*\\\n !*** ./src/main/Constants.ts ***!\n \\*******************************/\n/*! no static exports found */\n/*! ModuleConcatenation bailout: Module is not an ECMAScript module */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n/* 1 */\n/*!************************************!*\\\n !*** ./src/main/SequencerEvent.ts ***!\n \\************************************/\n/*! no static exports found */\n/*! ModuleConcatenation bailout: Module is not an ECMAScript module */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n/* 2 */\n/*!****************************************!*\\\n !*** ./src/main/index.ts + 11 modules ***!\n \\****************************************/\n/*! exports provided: Constants, MessageError, rewriteEventData, SequencerEventTypes, Synthesizer, waitForReady, AudioWorkletNodeSynthesizer */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, \"Constants\", function() { return /* reexport */ Constants; });\n__webpack_require__.d(__webpack_exports__, \"MessageError\", function() { return /* reexport */ MessageError; });\n__webpack_require__.d(__webpack_exports__, \"rewriteEventData\", function() { return /* reexport */ rewriteEventData; });\n__webpack_require__.d(__webpack_exports__, \"SequencerEventTypes\", function() { return /* reexport */ SequencerEvent; });\n__webpack_require__.d(__webpack_exports__, \"Synthesizer\", function() { return /* reexport */ Synthesizer_Synthesizer; });\n__webpack_require__.d(__webpack_exports__, \"waitForReady\", function() { return /* reexport */ waitForReady; });\n__webpack_require__.d(__webpack_exports__, \"AudioWorkletNodeSynthesizer\", function() { return /* reexport */ AudioWorkletNodeSynthesizer_AudioWorkletNodeSynthesizer; });\n\n// EXTERNAL MODULE: ./src/main/Constants.ts\nvar Constants = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./src/main/PointerType.ts\nconst INVALID_POINTER = 0;\r\n\n// CONCATENATED MODULE: ./src/main/SequencerEventData.ts\n\r\n/** @internal */\r\nclass SequencerEventData_SequencerEventData {\r\n /** @internal */\r\n constructor(_ptr, _module) {\r\n this._ptr = _ptr;\r\n this._module = _module;\r\n }\r\n /** @internal */\r\n getRaw() {\r\n return this._ptr;\r\n }\r\n /** @internal */\r\n dispose() {\r\n this._ptr = INVALID_POINTER;\r\n }\r\n getType() {\r\n if (this._ptr === INVALID_POINTER)\r\n return -1;\r\n return this._module._fluid_event_get_type(this._ptr);\r\n }\r\n getSource() {\r\n if (this._ptr === INVALID_POINTER)\r\n return -1;\r\n return this._module._fluid_event_get_source(this._ptr);\r\n }\r\n getDest() {\r\n if (this._ptr === INVALID_POINTER)\r\n return -1;\r\n return this._module._fluid_event_get_dest(this._ptr);\r\n }\r\n getChannel() {\r\n if (this._ptr === INVALID_POINTER)\r\n return -1;\r\n return this._module._fluid_event_get_channel(this._ptr);\r\n }\r\n getKey() {\r\n if (this._ptr === INVALID_POINTER)\r\n return -1;\r\n return this._module._fluid_event_get_key(this._ptr);\r\n }\r\n getVelocity() {\r\n if (this._ptr === INVALID_POINTER)\r\n return -1;\r\n return this._module._fluid_event_get_velocity(this._ptr);\r\n }\r\n getControl() {\r\n if (this._ptr === INVALID_POINTER)\r\n return -1;\r\n return this._module._fluid_event_get_control(this._ptr);\r\n }\r\n getValue() {\r\n if (this._ptr === INVALID_POINTER)\r\n return -1;\r\n return this._module._fluid_event_get_value(this._ptr);\r\n }\r\n getProgram() {\r\n if (this._ptr === INVALID_POINTER)\r\n return -1;\r\n return this._module._fluid_event_get_program(this._ptr);\r\n }\r\n getData() {\r\n if (this._ptr === INVALID_POINTER)\r\n return -1;\r\n return this._module._fluid_event_get_data(this._ptr);\r\n }\r\n getDuration() {\r\n if (this._ptr === INVALID_POINTER)\r\n return -1;\r\n return this._module._fluid_event_get_duration(this._ptr);\r\n }\r\n getBank() {\r\n if (this._ptr === INVALID_POINTER)\r\n return -1;\r\n return this._module._fluid_event_get_bank(this._ptr);\r\n }\r\n getPitch() {\r\n if (this._ptr === INVALID_POINTER)\r\n return -1;\r\n return this._module._fluid_event_get_pitch(this._ptr);\r\n }\r\n getSFontId() {\r\n if (this._ptr === INVALID_POINTER)\r\n return -1;\r\n return this._module._fluid_event_get_sfont_id(this._ptr);\r\n }\r\n}\r\n\n// CONCATENATED MODULE: ./src/main/ISequencerEventData.ts\n/** @internal */\r\n\r\n/** @internal */\r\n\r\nconst _module = typeof AudioWorkletGlobalScope !== 'undefined' ?\r\n AudioWorkletGlobalScope.wasmModule : Module;\r\n/** @internal */\r\nfunction rewriteEventDataImpl(ev, event) {\r\n switch (event.type) {\r\n case 0 /* Note */:\r\n case 'note':\r\n _module._fluid_event_note(ev, event.channel, event.key, event.vel, event.duration);\r\n break;\r\n case 1 /* NoteOn */:\r\n case 'noteon':\r\n case 'note-on':\r\n _module._fluid_event_noteon(ev, event.channel, event.key, event.vel);\r\n break;\r\n case 2 /* NoteOff */:\r\n case 'noteoff':\r\n case 'note-off':\r\n _module._fluid_event_noteoff(ev, event.channel, event.key);\r\n break;\r\n case 3 /* AllSoundsOff */:\r\n case 'allsoundsoff':\r\n case 'all-sounds-off':\r\n _module._fluid_event_all_sounds_off(ev, event.channel);\r\n break;\r\n case 4 /* AllNotesOff */:\r\n case 'allnotesoff':\r\n case 'all-notes-off':\r\n _module._fluid_event_all_notes_off(ev, event.channel);\r\n break;\r\n case 5 /* BankSelect */:\r\n case 'bankselect':\r\n case 'bank-select':\r\n _module._fluid_event_bank_select(ev, event.channel, event.bank);\r\n break;\r\n case 6 /* ProgramChange */:\r\n case 'programchange':\r\n case 'program-change':\r\n _module._fluid_event_program_change(ev, event.channel, event.preset);\r\n break;\r\n case 7 /* ProgramSelect */:\r\n case 'programselect':\r\n case 'program-select':\r\n _module._fluid_event_program_select(ev, event.channel, event.sfontId, event.bank, event.preset);\r\n break;\r\n case 12 /* ControlChange */:\r\n case 'controlchange':\r\n case 'control-change':\r\n _module._fluid_event_control_change(ev, event.channel, event.control, event.value);\r\n break;\r\n case 8 /* PitchBend */:\r\n case 'pitchbend':\r\n case 'pitch-bend':\r\n _module._fluid_event_pitch_bend(ev, event.channel, event.value);\r\n break;\r\n case 9 /* PitchWheelSensitivity */:\r\n case 'pitchwheelsens':\r\n case 'pitchwheelsensitivity':\r\n case 'pitch-wheel-sens':\r\n case 'pitch-wheel-sensitivity':\r\n _module._fluid_event_pitch_wheelsens(ev, event.channel, event.value);\r\n break;\r\n case 10 /* Modulation */:\r\n case 'modulation':\r\n _module._fluid_event_modulation(ev, event.channel, event.value);\r\n break;\r\n case 11 /* Sustain */:\r\n case 'sustain':\r\n _module._fluid_event_sustain(ev, event.channel, event.value);\r\n break;\r\n case 13 /* Pan */:\r\n case 'pan':\r\n _module._fluid_event_pan(ev, event.channel, event.value);\r\n break;\r\n case 14 /* Volume */:\r\n case 'volume':\r\n _module._fluid_event_volume(ev, event.channel, event.value);\r\n break;\r\n case 15 /* ReverbSend */:\r\n case 'reverb':\r\n case 'reverbsend':\r\n case 'reverb-send':\r\n _module._fluid_event_reverb_send(ev, event.channel, event.value);\r\n break;\r\n case 16 /* ChorusSend */:\r\n case 'chorus':\r\n case 'chorussend':\r\n case 'chorus-send':\r\n _module._fluid_event_chorus_send(ev, event.channel, event.value);\r\n break;\r\n case 20 /* KeyPressure */:\r\n case 'keypressure':\r\n case 'key-pressure':\r\n case 'aftertouch':\r\n _module._fluid_event_key_pressure(ev, event.channel, event.key, event.value);\r\n break;\r\n case 19 /* ChannelPressure */:\r\n case 'channelpressure':\r\n case 'channel-pressure':\r\n case 'channel-aftertouch':\r\n _module._fluid_event_channel_pressure(ev, event.channel, event.value);\r\n break;\r\n case 21 /* SystemReset */:\r\n case 'systemreset':\r\n case 'system-reset':\r\n _module._fluid_event_system_reset(ev);\r\n break;\r\n case 17 /* Timer */:\r\n case 'timer':\r\n _module._fluid_event_timer(ev, event.data);\r\n break;\r\n default:\r\n // 'typeof event' must be 'never' here\r\n return false;\r\n }\r\n return true;\r\n}\r\n/**\r\n * Rewrites event data with specified SequencerEvent object.\r\n * @param data destination instance\r\n * @param event source data\r\n * @return true if succeeded\r\n */\r\nfunction rewriteEventData(data, event) {\r\n if (!data || !(data instanceof SequencerEventData_SequencerEventData)) {\r\n return false;\r\n }\r\n const ev = data.getRaw();\r\n if (ev === INVALID_POINTER) {\r\n return false;\r\n }\r\n return rewriteEventDataImpl(ev, event);\r\n}\r\n\n// CONCATENATED MODULE: ./src/main/MessageError.ts\n/** Error object used for errors occurred in the message receiver (e.g. Worklet) */\r\nclass MessageError extends Error {\r\n constructor(baseName, message, detail) {\r\n super(message);\r\n this.baseName = baseName;\r\n this.detail = detail;\r\n if (detail && detail.stack) {\r\n this.stack = detail.stack;\r\n }\r\n }\r\n}\r\n\n// EXTERNAL MODULE: ./src/main/SequencerEvent.ts\nvar SequencerEvent = __webpack_require__(1);\n\n// CONCATENATED MODULE: ./src/main/MIDIEvent.ts\n/** @internal */\r\nclass MIDIEvent {\r\n /** @internal */\r\n constructor(_ptr, _module) {\r\n this._ptr = _ptr;\r\n this._module = _module;\r\n }\r\n getType() {\r\n return this._module._fluid_midi_event_get_type(this._ptr);\r\n }\r\n setType(value) {\r\n this._module._fluid_midi_event_set_type(this._ptr, value);\r\n }\r\n getChannel() {\r\n return this._module._fluid_midi_event_get_channel(this._ptr);\r\n }\r\n setChannel(value) {\r\n this._module._fluid_midi_event_set_channel(this._ptr, value);\r\n }\r\n getKey() {\r\n return this._module._fluid_midi_event_get_key(this._ptr);\r\n }\r\n setKey(value) {\r\n this._module._fluid_midi_event_set_key(this._ptr, value);\r\n }\r\n getVelocity() {\r\n return this._module._fluid_midi_event_get_velocity(this._ptr);\r\n }\r\n setVelocity(value) {\r\n this._module._fluid_midi_event_set_velocity(this._ptr, value);\r\n }\r\n getControl() {\r\n return this._module._fluid_midi_event_get_control(this._ptr);\r\n }\r\n setControl(value) {\r\n this._module._fluid_midi_event_set_control(this._ptr, value);\r\n }\r\n getValue() {\r\n return this._module._fluid_midi_event_get_value(this._ptr);\r\n }\r\n setValue(value) {\r\n this._module._fluid_midi_event_set_value(this._ptr, value);\r\n }\r\n getProgram() {\r\n return this._module._fluid_midi_event_get_program(this._ptr);\r\n }\r\n setProgram(value) {\r\n this._module._fluid_midi_event_set_program(this._ptr, value);\r\n }\r\n getPitch() {\r\n return this._module._fluid_midi_event_get_pitch(this._ptr);\r\n }\r\n setPitch(value) {\r\n this._module._fluid_midi_event_set_pitch(this._ptr, value);\r\n }\r\n setSysEx(data) {\r\n const size = data.byteLength;\r\n const ptr = this._module._malloc(size);\r\n const ptrView = new Uint8Array(this._module.HEAPU8.buffer, ptr, size);\r\n ptrView.set(data);\r\n this._module._fluid_midi_event_set_sysex(this._ptr, ptr, size, 1);\r\n }\r\n setText(data) {\r\n const size = data.byteLength;\r\n const ptr = this._module._malloc(size);\r\n const ptrView = new Uint8Array(this._module.HEAPU8.buffer, ptr, size);\r\n ptrView.set(data);\r\n this._module._fluid_midi_event_set_text(this._ptr, ptr, size, 1);\r\n }\r\n setLyrics(data) {\r\n const size = data.byteLength;\r\n const ptr = this._module._malloc(size);\r\n const ptrView = new Uint8Array(this._module.HEAPU8.buffer, ptr, size);\r\n ptrView.set(data);\r\n this._module._fluid_midi_event_set_lyrics(this._ptr, ptr, size, 1);\r\n }\r\n}\r\n\n// CONCATENATED MODULE: ./src/main/Sequencer.ts\n\r\n\r\n\r\n\r\nlet Sequencer_module;\r\nlet _removeFunction;\r\nlet fluid_sequencer_get_client_name;\r\nfunction bindFunctions() {\r\n if (Sequencer_module) {\r\n return;\r\n }\r\n if (typeof AudioWorkletGlobalScope !== 'undefined') {\r\n Sequencer_module = AudioWorkletGlobalScope.wasmModule;\r\n _removeFunction = AudioWorkletGlobalScope.wasmRemoveFunction;\r\n }\r\n else {\r\n Sequencer_module = Module;\r\n _removeFunction = removeFunction;\r\n }\r\n fluid_sequencer_get_client_name =\r\n Sequencer_module.cwrap('fluid_sequencer_get_client_name', 'string', ['number', 'number']);\r\n}\r\nfunction makeEvent(event) {\r\n const ev = Sequencer_module._new_fluid_event();\r\n if (!rewriteEventDataImpl(ev, event)) {\r\n Sequencer_module._delete_fluid_event(ev);\r\n return null;\r\n }\r\n return ev;\r\n}\r\n/** @internal */\r\nclass Sequencer_Sequencer {\r\n constructor() {\r\n bindFunctions();\r\n this._seq = INVALID_POINTER;\r\n this._seqId = -1;\r\n this._clientFuncMap = {};\r\n }\r\n /** @internal */\r\n _initialize() {\r\n this.close();\r\n this._seq = Sequencer_module._new_fluid_sequencer2(0);\r\n this._seqId = -1;\r\n return Promise.resolve();\r\n }\r\n /** @internal */\r\n getRaw() {\r\n return this._seq;\r\n }\r\n close() {\r\n if (this._seq !== INVALID_POINTER) {\r\n Object.keys(this._clientFuncMap).forEach((clientIdStr) => {\r\n this.unregisterClient(Number(clientIdStr));\r\n });\r\n this.unregisterClient(-1);\r\n Sequencer_module._delete_fluid_sequencer(this._seq);\r\n this._seq = INVALID_POINTER;\r\n }\r\n }\r\n registerSynthesizer(synth) {\r\n if (this._seqId !== -1) {\r\n Sequencer_module._fluid_sequencer_unregister_client(this._seq, this._seqId);\r\n this._seqId = -1;\r\n }\r\n let val;\r\n if (typeof synth === 'number') {\r\n val = synth;\r\n }\r\n else if (synth instanceof Synthesizer_Synthesizer) {\r\n val = synth.getRawSynthesizer();\r\n }\r\n else {\r\n return Promise.reject(new TypeError('\\'synth\\' is not a compatible type instance'));\r\n }\r\n this._seqId = Sequencer_module._fluid_sequencer_register_fluidsynth(this._seq, val);\r\n return Promise.resolve(this._seqId);\r\n }\r\n unregisterClient(clientId) {\r\n if (clientId === -1) {\r\n clientId = this._seqId;\r\n if (clientId === -1) {\r\n return;\r\n }\r\n }\r\n // send 'unregistering' event\r\n const ev = Sequencer_module._new_fluid_event();\r\n Sequencer_module._fluid_event_set_source(ev, -1);\r\n Sequencer_module._fluid_event_set_dest(ev, clientId);\r\n Sequencer_module._fluid_event_unregistering(ev);\r\n Sequencer_module._fluid_sequencer_send_now(this._seq, ev);\r\n Sequencer_module._delete_fluid_event(ev);\r\n Sequencer_module._fluid_sequencer_unregister_client(this._seq, clientId);\r\n if (this._seqId === clientId) {\r\n this._seqId = -1;\r\n }\r\n else {\r\n const map = this._clientFuncMap;\r\n if (map[clientId]) {\r\n _removeFunction(map[clientId]);\r\n delete map[clientId];\r\n }\r\n }\r\n }\r\n getAllRegisteredClients() {\r\n const c = Sequencer_module._fluid_sequencer_count_clients(this._seq);\r\n const r = [];\r\n for (let i = 0; i < c; ++i) {\r\n const id = Sequencer_module._fluid_sequencer_get_client_id(this._seq, i);\r\n const name = fluid_sequencer_get_client_name(this._seq, id);\r\n r.push({ clientId: id, name: name });\r\n }\r\n return Promise.resolve(r);\r\n }\r\n getClientCount() {\r\n return Promise.resolve(Sequencer_module._fluid_sequencer_count_clients(this._seq));\r\n }\r\n getClientInfo(index) {\r\n const id = Sequencer_module._fluid_sequencer_get_client_id(this._seq, index);\r\n const name = fluid_sequencer_get_client_name(this._seq, id);\r\n return Promise.resolve({ clientId: id, name: name });\r\n }\r\n setTimeScale(scale) {\r\n Sequencer_module._fluid_sequencer_set_time_scale(this._seq, scale);\r\n }\r\n getTimeScale() {\r\n return Promise.resolve(Sequencer_module._fluid_sequencer_get_time_scale(this._seq));\r\n }\r\n getTick() {\r\n return Promise.resolve(Sequencer_module._fluid_sequencer_get_tick(this._seq));\r\n }\r\n sendEventAt(event, tick, isAbsolute) {\r\n const ev = makeEvent(event);\r\n if (ev !== null) {\r\n // send to all clients\r\n const count = Sequencer_module._fluid_sequencer_count_clients(this._seq);\r\n for (let i = 0; i < count; ++i) {\r\n const id = Sequencer_module._fluid_sequencer_get_client_id(this._seq, i);\r\n Sequencer_module._fluid_event_set_dest(ev, id);\r\n Sequencer_module._fluid_sequencer_send_at(this._seq, ev, tick, isAbsolute ? 1 : 0);\r\n }\r\n Sequencer_module._delete_fluid_event(ev);\r\n }\r\n }\r\n sendEventToClientAt(clientId, event, tick, isAbsolute) {\r\n const ev = makeEvent(event);\r\n if (ev !== null) {\r\n Sequencer_module._fluid_event_set_dest(ev, clientId === -1 ? this._seqId : clientId);\r\n Sequencer_module._fluid_sequencer_send_at(this._seq, ev, tick, isAbsolute ? 1 : 0);\r\n Sequencer_module._delete_fluid_event(ev);\r\n }\r\n }\r\n /** @internal */\r\n sendEventToClientNow(clientId, event) {\r\n const ev = makeEvent(event);\r\n if (ev !== null) {\r\n Sequencer_module._fluid_event_set_dest(ev, clientId === -1 ? this._seqId : clientId);\r\n Sequencer_module._fluid_sequencer_send_now(this._seq, ev);\r\n Sequencer_module._delete_fluid_event(ev);\r\n }\r\n }\r\n /** @internal */\r\n sendEventNow(clientId, eventData) {\r\n if (!(eventData instanceof SequencerEventData_SequencerEventData)) {\r\n return;\r\n }\r\n const ev = eventData.getRaw();\r\n if (ev !== INVALID_POINTER) {\r\n Sequencer_module._fluid_event_set_dest(ev, clientId === -1 ? this._seqId : clientId);\r\n Sequencer_module._fluid_sequencer_send_now(this._seq, ev);\r\n }\r\n }\r\n removeAllEvents() {\r\n Sequencer_module._fluid_sequencer_remove_events(this._seq, -1, -1, -1);\r\n }\r\n removeAllEventsFromClient(clientId) {\r\n Sequencer_module._fluid_sequencer_remove_events(this._seq, -1, clientId === -1 ? this._seqId : clientId, -1);\r\n }\r\n processSequencer(msecToProcess) {\r\n if (this._seq !== INVALID_POINTER) {\r\n Sequencer_module._fluid_sequencer_process(this._seq, msecToProcess);\r\n }\r\n }\r\n /** @internal */\r\n setIntervalForSequencer(msec) {\r\n return setInterval(() => this.processSequencer(msec), msec);\r\n }\r\n}\r\n\n// CONCATENATED MODULE: ./src/main/Synthesizer.ts\n\r\n\r\n\r\n\r\nlet Synthesizer_module;\r\nlet _addFunction;\r\nlet Synthesizer_removeFunction;\r\nlet _fs;\r\n// wrapper to use String type\r\nlet fluid_settings_setint;\r\nlet fluid_settings_setnum;\r\nlet fluid_settings_setstr;\r\nlet fluid_synth_error;\r\nlet fluid_synth_sfload;\r\nlet fluid_sequencer_register_client;\r\nlet malloc;\r\nlet free;\r\nlet defaultMIDIEventCallback;\r\nfunction Synthesizer_bindFunctions() {\r\n if (fluid_synth_error) {\r\n // (already bound)\r\n return;\r\n }\r\n if (typeof AudioWorkletGlobalScope !== 'undefined') {\r\n Synthesizer_module = AudioWorkletGlobalScope.wasmModule;\r\n _addFunction = AudioWorkletGlobalScope.wasmAddFunction;\r\n Synthesizer_removeFunction = AudioWorkletGlobalScope.wasmRemoveFunction;\r\n }\r\n else {\r\n Synthesizer_module = Module;\r\n _addFunction = addFunction;\r\n Synthesizer_removeFunction = removeFunction;\r\n }\r\n _fs = Synthesizer_module.FS;\r\n // wrapper to use String type\r\n fluid_settings_setint =\r\n Synthesizer_module.cwrap('fluid_settings_setint', 'number', ['number', 'string', 'number']);\r\n fluid_settings_setnum =\r\n Synthesizer_module.cwrap('fluid_settings_setnum', 'number', ['number', 'string', 'number']);\r\n fluid_settings_setstr =\r\n Synthesizer_module.cwrap('fluid_settings_setstr', 'number', ['number', 'string', 'string']);\r\n fluid_synth_error =\r\n Synthesizer_module.cwrap('fluid_synth_error', 'string', ['number']);\r\n fluid_synth_sfload =\r\n Synthesizer_module.cwrap('fluid_synth_sfload', 'number', ['number', 'string', 'number']);\r\n fluid_sequencer_register_client =\r\n Synthesizer_module.cwrap('fluid_sequencer_register_client', 'number', ['number', 'string', 'number', 'number']);\r\n malloc = Synthesizer_module._malloc.bind(Synthesizer_module);\r\n free = Synthesizer_module._free.bind(Synthesizer_module);\r\n defaultMIDIEventCallback = Synthesizer_module._fluid_synth_handle_midi_event.bind(Synthesizer_module);\r\n}\r\nfunction setBoolValueForSettings(settings, name, value) {\r\n if (typeof value !== 'undefined') {\r\n fluid_settings_setint(settings, name, value ? 1 : 0);\r\n }\r\n}\r\nfunction setIntValueForSettings(settings, name, value) {\r\n if (typeof value !== 'undefined') {\r\n fluid_settings_setint(settings, name, value);\r\n }\r\n}\r\nfunction setNumValueForSettings(settings, name, value) {\r\n if (typeof value !== 'undefined') {\r\n fluid_settings_setnum(settings, name, value);\r\n }\r\n}\r\nfunction setStrValueForSettings(settings, name, value) {\r\n if (typeof value !== 'undefined') {\r\n fluid_settings_setstr(settings, name, value);\r\n }\r\n}\r\nfunction getActiveVoiceCount(synth) {\r\n const actualCount = Synthesizer_module._fluid_synth_get_active_voice_count(synth);\r\n if (!actualCount) {\r\n return 0;\r\n }\r\n // FluidSynth may return incorrect value for active voice count,\r\n // so check internal data and correct it\r\n // check if the structure is not changed\r\n // 144 === offset [synth->active_voice_count]\r\n const offsetOfActiveVoiceCount = (synth + 144) >> 2;\r\n const structActiveVoiceCount = Synthesizer_module.HEAPU32[offsetOfActiveVoiceCount];\r\n if (structActiveVoiceCount !== actualCount) {\r\n // unknown structure\r\n const c = console;\r\n c.warn('js-synthesizer: cannot check synthesizer internal data (may be changed)');\r\n return actualCount;\r\n }\r\n // 140 === offset [synth->voice]\r\n const voiceList = Synthesizer_module.HEAPU32[(synth + 140) >> 2];\r\n // (voice should not be NULL)\r\n if (!voiceList || voiceList >= Synthesizer_module.HEAPU32.byteLength) {\r\n // unknown structure\r\n const c = console;\r\n c.warn('js-synthesizer: cannot check synthesizer internal data (may be changed)');\r\n return actualCount;\r\n }\r\n // count of internal voice data is restricted to polyphony value\r\n const voiceCount = Synthesizer_module._fluid_synth_get_polyphony(synth);\r\n let isRunning = false;\r\n for (let i = 0; i < voiceCount; ++i) {\r\n // auto voice = voiceList[i]\r\n const voice = Synthesizer_module.HEAPU32[(voiceList >> 2) + i];\r\n if (!voice) {\r\n continue;\r\n }\r\n // offset [voice->status]\r\n const status = Synthesizer_module.HEAPU8[voice + 4];\r\n // 4: FLUID_VOICE_OFF\r\n if (status !== 4) {\r\n isRunning = true;\r\n break;\r\n }\r\n }\r\n if (!isRunning) {\r\n if (structActiveVoiceCount !== 0) {\r\n const c = console;\r\n c.warn('js-synthesizer: Active voice count is not zero, but all voices are off:', structActiveVoiceCount);\r\n }\r\n Synthesizer_module.HEAPU32[offsetOfActiveVoiceCount] = 0;\r\n return 0;\r\n }\r\n return actualCount;\r\n}\r\nfunction makeRandomFileName(type, ext) {\r\n return `/${type}-r${Math.random() * 65535}-${Math.random() * 65535}${ext}`;\r\n}\r\nfunction makeMIDIEventCallback(synth, cb, param) {\r\n return (data, event) => {\r\n const t = Synthesizer_module._fluid_midi_event_get_type(event);\r\n if (cb(synth, t, new MIDIEvent(event, Synthesizer_module), param)) {\r\n return 0;\r\n }\r\n return Synthesizer_module._fluid_synth_handle_midi_event(data, event);\r\n };\r\n}\r\n/** Default implementation of ISynthesizer */\r\nclass Synthesizer_Synthesizer {\r\n constructor() {\r\n Synthesizer_bindFunctions();\r\n this._settings = INVALID_POINTER;\r\n this._synth = INVALID_POINTER;\r\n this._player = INVALID_POINTER;\r\n this._playerPlaying = false;\r\n this._playerCallbackPtr = null;\r\n this._fluidSynthCallback = null;\r\n this._buffer = INVALID_POINTER;\r\n this._bufferSize = 0;\r\n this._numPtr = INVALID_POINTER;\r\n this._gain = 0.5 /* Gain */;\r\n }\r\n isInitialized() {\r\n return this._synth !== INVALID_POINTER;\r\n }\r\n /** Return the raw synthesizer instance value (pointer for libfluidsynth). */\r\n getRawSynthesizer() {\r\n return this._synth;\r\n }\r\n createAudioNode(context, frameSize) {\r\n const node = context.createScriptProcessor(frameSize, 0, 2);\r\n node.addEventListener('audioprocess', (ev) => {\r\n this.render(ev.outputBuffer);\r\n });\r\n return node;\r\n }\r\n init(sampleRate, settings) {\r\n this.close();\r\n const set = this._settings = Synthesizer_module._new_fluid_settings();\r\n fluid_settings_setnum(set, 'synth.sample-rate', sampleRate);\r\n if (settings) {\r\n if (typeof settings.initialGain !== 'undefined') {\r\n this._gain = settings.initialGain;\r\n }\r\n setBoolValueForSettings(set, 'synth.chorus.active', settings.chorusActive);\r\n setNumValueForSettings(set, 'synth.chorus.depth', settings.chorusDepth);\r\n setNumValueForSettings(set, 'synth.chorus.level', settings.chorusLevel);\r\n setIntValueForSettings(set, 'synth.chorus.nr', settings.chorusNr);\r\n setNumValueForSettings(set, 'synth.chorus.speed', settings.chorusSpeed);\r\n setIntValueForSettings(set, 'synth.midi-channels', settings.midiChannelCount);\r\n setStrValueForSettings(set, 'synth.midi-bank-select', settings.midiBankSelect);\r\n setIntValueForSettings(set, 'synth.min-note-length', settings.minNoteLength);\r\n setNumValueForSettings(set, 'synth.overflow.age', settings.overflowAge);\r\n setNumValueForSettings(set, 'synth.overflow.important', settings.overflowImportantValue);\r\n if (typeof settings.overflowImportantChannels !== 'undefined') {\r\n fluid_settings_setstr(set, 'synth.overflow.important-channels', settings.overflowImportantChannels.join(','));\r\n }\r\n setNumValueForSettings(set, 'synth.overflow.percussion', settings.overflowPercussion);\r\n setNumValueForSettings(set, 'synth.overflow.released', settings.overflowReleased);\r\n setNumValueForSettings(set, 'synth.overflow.sustained', settings.overflowSustained);\r\n setNumValueForSettings(set, 'synth.overflow.volume', settings.overflowVolume);\r\n setIntValueForSettings(set, 'synth.polyphony', settings.polyphony);\r\n setBoolValueForSettings(set, 'synth.reverb.active', settings.reverbActive);\r\n setNumValueForSettings(set, 'synth.reverb.damp', settings.reverbDamp);\r\n setNumValueForSettings(set, 'synth.reverb.level', settings.reverbLevel);\r\n setNumValueForSettings(set, 'synth.reverb.room-size', settings.reverbRoomSize);\r\n setNumValueForSettings(set, 'synth.reverb.width', settings.reverbWidth);\r\n }\r\n fluid_settings_setnum(set, 'synth.gain', this._gain);\r\n this._synth = Synthesizer_module._new_fluid_synth(this._settings);\r\n this._numPtr = malloc(8);\r\n this._initPlayer();\r\n }\r\n close() {\r\n if (this._synth === INVALID_POINTER) {\r\n return;\r\n }\r\n this._closePlayer();\r\n Synthesizer_module._delete_fluid_synth(this._synth);\r\n this._synth = INVALID_POINTER;\r\n Synthesizer_module._delete_fluid_settings(this._settings);\r\n this._settings = INVALID_POINTER;\r\n free(this._numPtr);\r\n this._numPtr = INVALID_POINTER;\r\n }\r\n isPlaying() {\r\n return this._synth !== INVALID_POINTER &&\r\n getActiveVoiceCount(this._synth) > 0;\r\n }\r\n setInterpolation(value, channel) {\r\n this.ensureInitialized();\r\n if (typeof channel === 'undefined') {\r\n channel = -1;\r\n }\r\n Synthesizer_module._fluid_synth_set_interp_method(this._synth, channel, value);\r\n }\r\n getGain() {\r\n return this._gain;\r\n }\r\n setGain(gain) {\r\n this.ensureInitialized();\r\n Synthesizer_module._fluid_synth_set_gain(this._synth, gain);\r\n this._gain = Synthesizer_module._fluid_synth_get_gain(this._synth);\r\n }\r\n setChannelType(channel, isDrum) {\r\n this.ensureInitialized();\r\n // CHANNEL_TYPE_MELODIC = 0, CHANNEL_TYPE_DRUM = 1\r\n Synthesizer_module._fluid_synth_set_channel_type(this._synth, channel, isDrum ? 1 : 0);\r\n }\r\n waitForVoicesStopped() {\r\n return this.flushFramesAsync();\r\n }\r\n loadSFont(bin) {\r\n this.ensureInitialized();\r\n const name = makeRandomFileName('sfont', '.sf2');\r\n const ub = new Uint8Array(bin);\r\n _fs.writeFile(name, ub);\r\n const sfont = fluid_synth_sfload(this._synth, name, 1);\r\n _fs.unlink(name);\r\n return sfont === -1 ?\r\n Promise.reject(new Error(fluid_synth_error(this._synth))) :\r\n Promise.resolve(sfont);\r\n }\r\n unloadSFont(id) {\r\n this.ensureInitialized();\r\n this.stopPlayer();\r\n this.flushFramesSync();\r\n Synthesizer_module._fluid_synth_sfunload(this._synth, id, 1);\r\n }\r\n unloadSFontAsync(id) {\r\n // not throw with Promise.reject\r\n this.ensureInitialized();\r\n this.stopPlayer();\r\n return this.flushFramesAsync().then(() => {\r\n Synthesizer_module._fluid_synth_sfunload(this._synth, id, 1);\r\n });\r\n }\r\n getSFontBankOffset(id) {\r\n this.ensureInitialized();\r\n return Promise.resolve(Synthesizer_module._fluid_synth_get_bank_offset(this._synth, id));\r\n }\r\n setSFontBankOffset(id, offset) {\r\n this.ensureInitialized();\r\n Synthesizer_module._fluid_synth_set_bank_offset(this._synth, id, offset);\r\n }\r\n render(outBuffer) {\r\n const frameCount = 'numberOfChannels' in outBuffer ? outBuffer.length : outBuffer[0].length;\r\n const channels = 'numberOfChannels' in outBuffer ? outBuffer.numberOfChannels : outBuffer.length;\r\n const sizePerChannel = 4 * frameCount;\r\n const totalSize = sizePerChannel * 2;\r\n if (this._bufferSize < totalSize) {\r\n if (this._buffer !== INVALID_POINTER) {\r\n free(this._buffer);\r\n }\r\n this._buffer = malloc(totalSize);\r\n this._bufferSize = totalSize;\r\n }\r\n const memLeft = this._buffer;\r\n const memRight = (this._buffer + sizePerChannel);\r\n this.renderRaw(memLeft, memRight, frameCount);\r\n const aLeft = new Float32Array(Synthesizer_module.HEAPU8.buffer, memLeft, frameCount);\r\n const aRight = channels >= 2 ? new Float32Array(Synthesizer_module.HEAPU8.buffer, memRight, frameCount) : null;\r\n if ('numberOfChannels' in outBuffer) {\r\n if (outBuffer.copyToChannel) {\r\n outBuffer.copyToChannel(aLeft, 0, 0);\r\n if (aRight) {\r\n outBuffer.copyToChannel(aRight, 1, 0);\r\n }\r\n }\r\n else { // copyToChannel API not exist in Safari AudioBuffer\r\n const leftData = outBuffer.getChannelData(0);\r\n aLeft.forEach((val, i) => leftData[i] = val);\r\n if (aRight) {\r\n const rightData = outBuffer.getChannelData(1);\r\n aRight.forEach((val, i) => rightData[i] = val);\r\n }\r\n }\r\n }\r\n else {\r\n outBuffer[0].set(aLeft);\r\n if (aRight) {\r\n outBuffer[1].set(aRight);\r\n }\r\n }\r\n // check and update player status\r\n this.isPlayerPlaying();\r\n }\r\n midiNoteOn(chan, key, vel) {\r\n Synthesizer_module._fluid_synth_noteon(this._synth, chan, key, vel);\r\n }\r\n midiNoteOff(chan, key) {\r\n Synthesizer_module._fluid_synth_noteoff(this._synth, chan, key);\r\n }\r\n midiKeyPressure(chan, key, val) {\r\n Synthesizer_module._fluid_synth_key_pressure(this._synth, chan, key, val);\r\n }\r\n midiControl(chan, ctrl, val) {\r\n Synthesizer_module._fluid_synth_cc(this._synth, chan, ctrl, val);\r\n }\r\n midiProgramChange(chan, prognum) {\r\n Synthesizer_module._fluid_synth_program_change(this._synth, chan, prognum);\r\n }\r\n midiChannelPressure(chan, val) {\r\n Synthesizer_module._fluid_synth_channel_pressure(this._synth, chan, val);\r\n }\r\n midiPitchBend(chan, val) {\r\n Synthesizer_module._fluid_synth_pitch_bend(this._synth, chan, val);\r\n }\r\n midiSysEx(data) {\r\n const len = data.byteLength;\r\n const mem = malloc(len);\r\n Synthesizer_module.HEAPU8.set(data, mem);\r\n Synthesizer_module._fluid_synth_sysex(this._synth, mem, len, INVALID_POINTER, INVALID_POINTER, INVALID_POINTER, 0);\r\n free(mem);\r\n }\r\n midiPitchWheelSensitivity(chan, val) {\r\n Synthesizer_module._fluid_synth_pitch_wheel_sens(this._synth, chan, val);\r\n }\r\n midiBankSelect(chan, bank) {\r\n Synthesizer_module._fluid_synth_bank_select(this._synth, chan, bank);\r\n }\r\n midiSFontSelect(chan, sfontId) {\r\n Synthesizer_module._fluid_synth_sfont_select(this._synth, chan, sfontId);\r\n }\r\n midiProgramSelect(chan, sfontId, bank, presetNum) {\r\n Synthesizer_module._fluid_synth_program_select(this._synth, chan, sfontId, bank, presetNum);\r\n }\r\n midiUnsetProgram(chan) {\r\n Synthesizer_module._fluid_synth_unset_program(this._synth, chan);\r\n }\r\n midiProgramReset() {\r\n Synthesizer_module._fluid_synth_program_reset(this._synth);\r\n }\r\n midiSystemReset() {\r\n Synthesizer_module._fluid_synth_system_reset(this._synth);\r\n }\r\n midiAllNotesOff(chan) {\r\n Synthesizer_module._fluid_synth_all_notes_off(this._synth, typeof chan === 'undefined' ? -1 : chan);\r\n }\r\n midiAllSoundsOff(chan) {\r\n Synthesizer_module._fluid_synth_all_sounds_off(this._synth, typeof chan === 'undefined' ? -1 : chan);\r\n }\r\n midiSetChannelType(chan, isDrum) {\r\n // CHANNEL_TYPE_MELODIC = 0\r\n // CHANNEL_TYPE_DRUM = 1\r\n Synthesizer_module._fluid_synth_set_channel_type(this._synth, chan, isDrum ? 1 : 0);\r\n }\r\n /**\r\n * Set reverb parameters to the synthesizer.\r\n */\r\n setReverb(roomsize, damping, width, level) {\r\n Synthesizer_module._fluid_synth_set_reverb(this._synth, roomsize, damping, width, level);\r\n }\r\n /**\r\n * Set reverb roomsize parameter to the synthesizer.\r\n */\r\n setReverbRoomsize(roomsize) {\r\n Synthesizer_module._fluid_synth_set_reverb_roomsize(this._synth, roomsize);\r\n }\r\n /**\r\n * Set reverb damping parameter to the synthesizer.\r\n */\r\n setReverbDamp(damping) {\r\n Synthesizer_module._fluid_synth_set_reverb_damp(this._synth, damping);\r\n }\r\n /**\r\n * Set reverb width parameter to the synthesizer.\r\n */\r\n setReverbWidth(width) {\r\n Synthesizer_module._fluid_synth_set_reverb_width(this._synth, width);\r\n }\r\n /**\r\n * Set reverb level to the synthesizer.\r\n */\r\n setReverbLevel(level) {\r\n Synthesizer_module._fluid_synth_set_reverb_level(this._synth, level);\r\n }\r\n /**\r\n * Enable or disable reverb effect of the synthesizer.\r\n */\r\n setReverbOn(on) {\r\n Synthesizer_module._fluid_synth_set_reverb_on(this._synth, on ? 1 : 0);\r\n }\r\n /**\r\n * Get reverb roomsize parameter of the synthesizer.\r\n */\r\n getReverbRoomsize() {\r\n return Synthesizer_module._fluid_synth_get_reverb_roomsize(this._synth);\r\n }\r\n /**\r\n * Get reverb damping parameter of the synthesizer.\r\n */\r\n getReverbDamp() {\r\n return Synthesizer_module._fluid_synth_get_reverb_damp(this._synth);\r\n }\r\n /**\r\n * Get reverb level of the synthesizer.\r\n */\r\n getReverbLevel() {\r\n return Synthesizer_module._fluid_synth_get_reverb_level(this._synth);\r\n }\r\n /**\r\n * Get reverb width parameter of the synthesizer.\r\n */\r\n getReverbWidth() {\r\n return Synthesizer_module._fluid_synth_get_reverb_width(this._synth);\r\n }\r\n /**\r\n * Set chorus parameters to the synthesizer.\r\n */\r\n setChorus(voiceCount, level, speed, depthMillisec, type) {\r\n Synthesizer_module._fluid_synth_set_chorus(this._synth, voiceCount, level, speed, depthMillisec, type);\r\n }\r\n /**\r\n * Set chorus voice count parameter to the synthesizer.\r\n */\r\n setChorusVoiceCount(voiceCount) {\r\n Synthesizer_module._fluid_synth_set_chorus_nr(this._synth, voiceCount);\r\n }\r\n /**\r\n * Set chorus level parameter to the synthesizer.\r\n */\r\n setChorusLevel(level) {\r\n Synthesizer_module._fluid_synth_set_chorus_level(this._synth, level);\r\n }\r\n /**\r\n * Set chorus speed parameter to the synthesizer.\r\n */\r\n setChorusSpeed(speed) {\r\n Synthesizer_module._fluid_synth_set_chorus_speed(this._synth, speed);\r\n }\r\n /**\r\n * Set chorus depth parameter to the synthesizer.\r\n */\r\n setChorusDepth(depthMillisec) {\r\n Synthesizer_module._fluid_synth_set_chorus_depth(this._synth, depthMillisec);\r\n }\r\n /**\r\n * Set chorus modulation type to the synthesizer.\r\n */\r\n setChorusType(type) {\r\n Synthesizer_module._fluid_synth_set_chorus_type(this._synth, type);\r\n }\r\n /**\r\n * Enable or disable chorus effect of the synthesizer.\r\n */\r\n setChorusOn(on) {\r\n Synthesizer_module._fluid_synth_set_chorus_on(this._synth, on ? 1 : 0);\r\n }\r\n /**\r\n * Get chorus voice count of the synthesizer.\r\n */\r\n getChorusVoiceCount() {\r\n return Synthesizer_module._fluid_synth_get_chorus_nr(this._synth);\r\n }\r\n /**\r\n * Get chorus level of the synthesizer.\r\n */\r\n getChorusLevel() {\r\n return Synthesizer_module._fluid_synth_get_chorus_level(this._synth);\r\n }\r\n /**\r\n * Get chorus speed of the synthesizer.\r\n */\r\n getChorusSpeed() {\r\n return Synthesizer_module._fluid_synth_get_chorus_speed(this._synth);\r\n }\r\n /**\r\n * Get chorus depth (in milliseconds) of the synthesizer.\r\n */\r\n getChorusDepth() {\r\n return Synthesizer_module._fluid_synth_get_chorus_depth(this._synth);\r\n }\r\n /**\r\n * Get chorus modulation type of the synthesizer.\r\n */\r\n getChorusType() {\r\n return Synthesizer_module._fluid_synth_get_chorus_type(this._synth);\r\n }\r\n /**\r\n * Get generator value assigned to the MIDI channel.\r\n * @param channel MIDI channel number\r\n * @param param generator ID\r\n * @return a value related to the generator\r\n */\r\n getGenerator(channel, param) {\r\n return Synthesizer_module._fluid_synth_get_gen(this._synth, channel, param);\r\n }\r\n /**\r\n * Set generator value assigned to the MIDI channel.\r\n * @param channel MIDI channel number\r\n * @param param generator ID\r\n * @param value a value related to the generator\r\n */\r\n setGenerator(channel, param, value) {\r\n Synthesizer_module._fluid_synth_set_gen(this._synth, channel, param, value);\r\n }\r\n /**\r\n * Return the current legato mode of the channel.\r\n * @param channel MIDI channel number\r\n * @return legato mode\r\n */\r\n getLegatoMode(channel) {\r\n Synthesizer_module._fluid_synth_get_legato_mode(this._synth, channel, this._numPtr);\r\n return Synthesizer_module.HEAP32[this._numPtr >> 2];\r\n }\r\n /**\r\n * Set the current legato mode of the channel.\r\n * @param channel MIDI channel number\r\n * @param mode legato mode\r\n */\r\n setLegatoMode(channel, mode) {\r\n Synthesizer_module._fluid_synth_set_legato_mode(this._synth, channel, mode);\r\n }\r\n /**\r\n * Return the current portamento mode of the channel.\r\n * @param channel MIDI channel number\r\n * @return portamento mode\r\n */\r\n getPortamentoMode(channel) {\r\n Synthesizer_module._fluid_synth_get_portamento_mode(this._synth, channel, this._numPtr);\r\n return Synthesizer_module.HEAP32[this._numPtr >> 2];\r\n }\r\n /**\r\n * Set the current portamento mode of the channel.\r\n * @param channel MIDI channel number\r\n * @param mode portamento mode\r\n */\r\n setPortamentoMode(channel, mode) {\r\n Synthesizer_module._fluid_synth_set_portamento_mode(this._synth, channel, mode);\r\n }\r\n /**\r\n * Return the current breath mode of the channel.\r\n * @param channel MIDI channel number\r\n * @return breath mode (BreathFlags)\r\n */\r\n getBreathMode(channel) {\r\n Synthesizer_module._fluid_synth_get_breath_mode(this._synth, channel, this._numPtr);\r\n return Synthesizer_module.HEAP32[this._numPtr >> 2];\r\n }\r\n /**\r\n * Set the current breath mode of the channel.\r\n * @param channel MIDI channel number\r\n * @param flags breath mode flags (BreathFlags)\r\n */\r\n setBreathMode(channel, flags) {\r\n Synthesizer_module._fluid_synth_set_breath_mode(this._synth, channel, flags);\r\n }\r\n ////////////////////////////////////////////////////////////////////////////\r\n resetPlayer() {\r\n return this._initPlayer();\r\n }\r\n /** @internal */\r\n _initPlayer() {\r\n this._closePlayer();\r\n const player = Synthesizer_module._new_fluid_player(this._synth);\r\n this._player = player;\r\n if (player !== INVALID_POINTER) {\r\n if (this._fluidSynthCallback === null) {\r\n // hacky retrieve 'fluid_synth_handle_midi_event' callback pointer\r\n // * 'playback_callback' is filled with 'fluid_synth_handle_midi_event' by default.\r\n // * 'playback_userdata' is filled with the synthesizer pointer by default\r\n const funcPtr = Synthesizer_module.HEAPU32[(player + 588) >> 2]; // _fluid_player_t::playback_callback\r\n const synthPtr = Synthesizer_module.HEAPU32[(player + 592) >> 2]; // _fluid_player_t::playback_userdata\r\n if (synthPtr === this._synth) {\r\n this._fluidSynthCallback = funcPtr;\r\n }\r\n }\r\n }\r\n return player !== INVALID_POINTER ? Promise.resolve() :\r\n Promise.reject(new Error('Out of memory'));\r\n }\r\n /** @internal */\r\n _closePlayer() {\r\n const p = this._player;\r\n if (p === INVALID_POINTER) {\r\n return;\r\n }\r\n this.stopPlayer();\r\n Synthesizer_module._delete_fluid_player(p);\r\n this._player = INVALID_POINTER;\r\n this._playerCallbackPtr = null;\r\n }\r\n isPlayerPlaying() {\r\n if (this._playerPlaying) {\r\n const status = Synthesizer_module._fluid_player_get_status(this._player);\r\n if (status === 1 /*FLUID_PLAYER_PLAYING*/) {\r\n return true;\r\n }\r\n this.stopPlayer();\r\n }\r\n return false;\r\n }\r\n addSMFDataToPlayer(bin) {\r\n this.ensurePlayerInitialized();\r\n const len = bin.byteLength;\r\n const mem = malloc(len);\r\n Synthesizer_module.HEAPU8.set(new Uint8Array(bin), mem);\r\n const r = Synthesizer_module._fluid_player_add_mem(this._player, mem, len);\r\n free(mem);\r\n return r !== -1 ? Promise.resolve() : Promise.reject(new Error(fluid_synth_error(this._synth)));\r\n }\r\n playPlayer() {\r\n this.ensurePlayerInitialized();\r\n if (this._playerPlaying) {\r\n this.stopPlayer();\r\n }\r\n if (Synthesizer_module._fluid_player_play(this._player) === -1) {\r\n return Promise.reject(new Error(fluid_synth_error(this._synth)));\r\n }\r\n this._playerPlaying = true;\r\n let resolver = () => { };\r\n const p = new Promise((resolve) => {\r\n resolver = resolve;\r\n });\r\n this._playerDefer = {\r\n promise: p,\r\n resolve: resolver\r\n };\r\n return Promise.resolve();\r\n }\r\n stopPlayer() {\r\n const p = this._player;\r\n if (p === INVALID_POINTER || !this._playerPlaying) {\r\n return;\r\n }\r\n Synthesizer_module._fluid_player_stop(p);\r\n Synthesizer_module._fluid_player_join(p);\r\n Synthesizer_module._fluid_synth_all_sounds_off(this._synth, -1);\r\n if (this._playerDefer) {\r\n this._playerDefer.resolve();\r\n this._playerDefer = void (0);\r\n }\r\n this._playerPlaying = false;\r\n }\r\n retrievePlayerCurrentTick() {\r\n this.ensurePlayerInitialized();\r\n return Promise.resolve(Synthesizer_module._fluid_player_get_current_tick(this._player));\r\n }\r\n retrievePlayerTotalTicks() {\r\n this.ensurePlayerInitialized();\r\n return Promise.resolve(Synthesizer_module._fluid_player_get_total_ticks(this._player));\r\n }\r\n retrievePlayerBpm() {\r\n this.ensurePlayerInitialized();\r\n return Promise.resolve(Synthesizer_module._fluid_player_get_bpm(this._player));\r\n }\r\n retrievePlayerMIDITempo() {\r\n this.ensurePlayerInitialized();\r\n return Promise.resolve(Synthesizer_module._fluid_player_get_midi_tempo(this._player));\r\n }\r\n seekPlayer(ticks) {\r\n this.ensurePlayerInitialized();\r\n Synthesizer_module._fluid_player_seek(this._player, ticks);\r\n }\r\n /**\r\n * Hooks MIDI events sent by the player.\r\n * initPlayer() must be called before calling this method.\r\n * @param callback hook callback function, or null to unhook\r\n * @param param any additional data passed to the callback\r\n */\r\n hookPlayerMIDIEvents(callback, param) {\r\n this.ensurePlayerInitialized();\r\n const oldPtr = this._playerCallbackPtr;\r\n if (oldPtr === null && callback === null) {\r\n return;\r\n }\r\n const newPtr = (\r\n // if callback is specified, add function\r\n callback !== null ? _addFunction(makeMIDIEventCallback(this, callback, param), 'iii') : (\r\n // if _fluidSynthCallback is filled, set null to use it for reset callback\r\n // if not, add function defaultMIDIEventCallback for reset\r\n this._fluidSynthCallback !== null ? null : _addFunction(defaultMIDIEventCallback, 'iii')));\r\n // the third parameter of 'fluid_player_set_playback_callback' should be 'fluid_synth_t*'\r\n if (oldPtr !== null && newPtr !== null) {\r\n // (using defaultMIDIEventCallback also comes here)\r\n Synthesizer_module._fluid_player_set_playback_callback(this._player, newPtr, this._synth);\r\n Synthesizer_removeFunction(oldPtr);\r\n }\r\n else {\r\n if (newPtr === null) {\r\n // newPtr === null --\x3e use _fluidSynthCallback\r\n Synthesizer_module._fluid_player_set_playback_callback(this._player, this._fluidSynthCallback, this._synth);\r\n Synthesizer_removeFunction(oldPtr);\r\n }\r\n else {\r\n Synthesizer_module._fluid_player_set_playback_callback(this._player, newPtr, this._synth);\r\n }\r\n }\r\n this._playerCallbackPtr = newPtr;\r\n }\r\n /** @internal */\r\n ensureInitialized() {\r\n if (this._synth === INVALID_POINTER) {\r\n throw new Error('Synthesizer is not initialized');\r\n }\r\n }\r\n /** @internal */\r\n ensurePlayerInitialized() {\r\n this.ensureInitialized();\r\n if (this._player === INVALID_POINTER) {\r\n throw new Error('Player is not initialized');\r\n }\r\n }\r\n /** @internal */\r\n renderRaw(memLeft, memRight, frameCount) {\r\n Synthesizer_module._fluid_synth_write_float(this._synth, frameCount, memLeft, 0, 1, memRight, 0, 1);\r\n }\r\n /** @internal */\r\n flushFramesSync() {\r\n const frameCount = 65536;\r\n const size = 4 * frameCount;\r\n const mem = malloc(size * 2);\r\n const memLeft = mem;\r\n const memRight = (mem + size);\r\n while (this.isPlaying()) {\r\n this.renderRaw(memLeft, memRight, frameCount);\r\n }\r\n free(mem);\r\n }\r\n /** @internal */\r\n flushFramesAsync() {\r\n if (!this.isPlaying()) {\r\n return Promise.resolve();\r\n }\r\n const frameCount = 65536;\r\n const size = 4 * frameCount;\r\n const mem = malloc(size * 2);\r\n const memLeft = mem;\r\n const memRight = (mem + size);\r\n const nextFrame = (typeof setTimeout !== 'undefined' ?\r\n () => {\r\n return new Promise((resolve) => setTimeout(resolve, 0));\r\n } :\r\n () => {\r\n return Promise.resolve();\r\n });\r\n function head() {\r\n return nextFrame().then(tail);\r\n }\r\n const self = this;\r\n function tail() {\r\n if (!self.isPlaying()) {\r\n free(mem);\r\n return Promise.resolve();\r\n }\r\n self.renderRaw(memLeft, memRight, frameCount);\r\n return head();\r\n }\r\n return head();\r\n }\r\n waitForPlayerStopped() {\r\n return this._playerDefer ? this._playerDefer.promise : Promise.resolve();\r\n }\r\n /**\r\n * Create the sequencer object for this class.\r\n */\r\n static createSequencer() {\r\n Synthesizer_bindFunctions();\r\n const seq = new Sequencer_Sequencer();\r\n return seq._initialize().then(() => seq);\r\n }\r\n /**\r\n * Registers the user-defined client to the sequencer.\r\n * The client can receive events in the time from sequencer process.\r\n * @param seq the sequencer instance created by Synthesizer.createSequencer\r\n * @param name the client name\r\n * @param callback the client callback function that processes event data\r\n * @param param additional parameter passed to the callback\r\n * @return registered sequencer client id (can be passed to seq.unregisterClient())\r\n */\r\n static registerSequencerClient(seq, name, callback, param) {\r\n if (!(seq instanceof Sequencer_Sequencer)) {\r\n throw new TypeError('Invalid sequencer instance');\r\n }\r\n const ptr = _addFunction((time, ev, _seq, data) => {\r\n const e = new SequencerEventData_SequencerEventData(ev, Synthesizer_module);\r\n const type = Synthesizer_module._fluid_event_get_type(ev);\r\n callback(time, type, e, seq, data);\r\n }, 'viiii');\r\n const r = fluid_sequencer_register_client(seq.getRaw(), name, ptr, param);\r\n if (r !== -1) {\r\n seq._clientFuncMap[r] = ptr;\r\n }\r\n return r;\r\n }\r\n /**\r\n * Send sequencer event immediately to the specific client.\r\n * @param seq the sequencer instance created by Synthesizer.createSequencer\r\n * @param clientId registered client id (-1 for registered synthesizer)\r\n * @param event event data\r\n */\r\n static sendEventToClientNow(seq, clientId, event) {\r\n if (!(seq instanceof Sequencer_Sequencer)) {\r\n throw new TypeError('Invalid sequencer instance');\r\n }\r\n seq.sendEventToClientNow(clientId, event);\r\n }\r\n /**\r\n * (Re-)send event data immediately.\r\n * @param seq the sequencer instance created by Synthesizer.createSequencer\r\n * @param clientId registered client id (-1 for registered synthesizer)\r\n * @param eventData event data which can be retrieved in SequencerClientCallback\r\n */\r\n static sendEventNow(seq, clientId, eventData) {\r\n if (!(seq instanceof Sequencer_Sequencer)) {\r\n throw new TypeError('Invalid sequencer instance');\r\n }\r\n seq.sendEventNow(clientId, eventData);\r\n }\r\n /**\r\n * Set interval timer process to call processSequencer for this sequencer.\r\n * This method uses 'setInterval' global method to register timer.\r\n * @param seq the sequencer instance created by Synthesizer.createSequencer\r\n * @param msec time in milliseconds passed to both setInterval and processSequencer\r\n * @return return value of 'setInterval' (usually passing to 'clearInterval' will reset event)\r\n */\r\n static setIntervalForSequencer(seq, msec) {\r\n if (!(seq instanceof Sequencer_Sequencer)) {\r\n throw new TypeError('Invalid sequencer instance');\r\n }\r\n return seq.setIntervalForSequencer(msec);\r\n }\r\n}\r\n\n// CONCATENATED MODULE: ./src/main/waitForReady.ts\nlet promiseWasmInitialized;\r\n/**\r\n * Returns the Promise object which resolves when the synthesizer engine is ready.\r\n */\r\nfunction waitForReady() {\r\n if (!promiseWasmInitialized) {\r\n const _module = typeof AudioWorkletGlobalScope !== 'undefined' ?\r\n AudioWorkletGlobalScope.wasmModule : Module;\r\n promiseWasmInitialized = new Promise((resolve) => {\r\n if (_module.calledRun) {\r\n resolve();\r\n }\r\n else {\r\n const fn = _module.onRuntimeInitialized;\r\n _module.onRuntimeInitialized = () => {\r\n resolve();\r\n if (fn) {\r\n fn();\r\n }\r\n };\r\n }\r\n });\r\n }\r\n return promiseWasmInitialized;\r\n}\r\n\n// CONCATENATED MODULE: ./src/main/MethodMessaging.ts\n\r\n/** @internal */\r\nfunction initializeCallPort(port, hookMessage) {\r\n const instance = {\r\n port: port,\r\n defers: {},\r\n deferId: 0\r\n };\r\n port.addEventListener('message', (e) => processReturnMessage(instance.defers, hookMessage, e));\r\n port.start();\r\n return instance;\r\n}\r\nfunction convertErrorTransferable(err) {\r\n const result = {};\r\n const objList = [];\r\n let obj = err;\r\n while (obj && obj !== Object.prototype) {\r\n objList.unshift(obj);\r\n obj = Object.getPrototypeOf(obj);\r\n }\r\n objList.forEach((o) => {\r\n Object.getOwnPropertyNames(o).forEach((key) => {\r\n try {\r\n const data = err[key];\r\n if (typeof data !== 'function' && typeof data !== 'symbol') {\r\n result[key] = data;\r\n }\r\n }\r\n catch (_e) { }\r\n });\r\n });\r\n return {\r\n baseName: err.name,\r\n message: err.message,\r\n detail: result\r\n };\r\n}\r\nfunction convertAnyErrorTransferable(err) {\r\n return convertErrorTransferable((err && err instanceof Error) ? err : new Error(`${err}`));\r\n}\r\nfunction makeMessageError(error) {\r\n return new MessageError(error.baseName, error.message, error.detail);\r\n}\r\nfunction processReturnMessage(defers, hook, e) {\r\n const data = e.data;\r\n if (!data) {\r\n return;\r\n }\r\n if (hook && hook(data)) {\r\n return;\r\n }\r\n const defer = defers[data.id];\r\n if (defer) {\r\n delete defers[data.id];\r\n if (data.error) {\r\n defer.reject(makeMessageError(data.error));\r\n }\r\n else {\r\n defer.resolve(data.val);\r\n }\r\n }\r\n else {\r\n if (data.error) {\r\n throw makeMessageError(data.error);\r\n }\r\n }\r\n}\r\n/** @internal */\r\nfunction postCall({ port }, method, args) {\r\n port.postMessage({\r\n id: -1, method, args\r\n });\r\n}\r\n/** @internal */\r\nfunction postCallWithPromise(instance, method, args) {\r\n const id = instance.deferId++;\r\n if (instance.deferId === Infinity || instance.deferId < 0) {\r\n instance.deferId = 0;\r\n }\r\n const promise = new Promise((resolve, reject) => {\r\n instance.defers[id] = { resolve, reject };\r\n });\r\n instance.port.postMessage({\r\n id, method, args\r\n });\r\n return promise;\r\n}\r\n/** @internal */\r\nfunction initializeReturnPort(port, promiseInitialized, targetObjectHolder, hookMessage) {\r\n const instance = {\r\n port: port\r\n };\r\n if (promiseInitialized) {\r\n port.addEventListener('message', (e) => {\r\n const data = e.data;\r\n if (!data) {\r\n return;\r\n }\r\n promiseInitialized.then(() => processCallMessage(instance.port, data, targetObjectHolder, hookMessage));\r\n });\r\n }\r\n else {\r\n port.addEventListener('message', (e) => {\r\n const data = e.data;\r\n if (!data) {\r\n return;\r\n }\r\n processCallMessage(instance.port, data, targetObjectHolder, hookMessage);\r\n });\r\n }\r\n port.start();\r\n return instance;\r\n}\r\nfunction processCallMessage(port, data, targetObjectHolder, hook) {\r\n if (hook && hook(data)) {\r\n return;\r\n }\r\n const target = targetObjectHolder();\r\n if (!target[data.method]) {\r\n postReturnErrorImpl(port, data.id, data.method, new Error('Not implemented'));\r\n }\r\n else {\r\n try {\r\n postReturnImpl(port, data.id, data.method, target[data.method].apply(target, data.args));\r\n }\r\n catch (e) {\r\n postReturnErrorImpl(port, data.id, data.method, e);\r\n }\r\n }\r\n}\r\n/** @internal */\r\nfunction postReturn(instance, id, method, value) {\r\n postReturnImpl(instance.port, id, method, value);\r\n}\r\nfunction postReturnImpl(port, id, method, value) {\r\n if (value instanceof Promise) {\r\n value.then((v) => {\r\n if (id >= 0) {\r\n port.postMessage({\r\n id,\r\n method,\r\n val: v\r\n });\r\n }\r\n }, (error) => {\r\n port.postMessage({\r\n id,\r\n method,\r\n error: convertAnyErrorTransferable(error)\r\n });\r\n });\r\n }\r\n else {\r\n port.postMessage({\r\n id,\r\n method,\r\n val: value\r\n });\r\n }\r\n}\r\n/** @internal */\r\nfunction postReturnError(instance, id, method, error) {\r\n postReturnErrorImpl(instance.port, id, method, error);\r\n}\r\nfunction postReturnErrorImpl(port, id, method, error) {\r\n port.postMessage({\r\n id,\r\n method,\r\n error: convertAnyErrorTransferable(error)\r\n });\r\n}\r\n\n// CONCATENATED MODULE: ./src/main/WorkletSequencer.ts\n\r\n\r\n/** @internal */\r\nclass WorkletSequencer_WorkletSequencer {\r\n constructor(port) {\r\n this._messaging = initializeCallPort(port);\r\n }\r\n /** @internal */\r\n getRaw() {\r\n return postCallWithPromise(this._messaging, 'getRaw', []);\r\n }\r\n /** @internal */\r\n registerSequencerClientByName(clientName, callbackName, param) {\r\n return this.getRaw().then((seqPtr) => postCallWithPromise(this._messaging, 'registerSequencerClientByName', [seqPtr, clientName, callbackName, param]));\r\n }\r\n close() {\r\n postCall(this._messaging, 'close', []);\r\n }\r\n registerSynthesizer(synth) {\r\n let val;\r\n if (synth instanceof AudioWorkletNodeSynthesizer_AudioWorkletNodeSynthesizer) {\r\n val = synth._getRawSynthesizer();\r\n }\r\n else {\r\n return Promise.reject(new TypeError('\\'synth\\' is not a compatible type instance'));\r\n }\r\n return val.then((v) => postCallWithPromise(this._messaging, 'registerSynthesizer', [v]));\r\n }\r\n unregisterClient(clientId) {\r\n postCall(this._messaging, 'unregisterClient', [clientId]);\r\n }\r\n getAllRegisteredClients() {\r\n return postCallWithPromise(this._messaging, 'getAllRegisteredClients', []);\r\n }\r\n getClientCount() {\r\n return postCallWithPromise(this._messaging, 'getClientCount', []);\r\n }\r\n getClientInfo(index) {\r\n return postCallWithPromise(this._messaging, 'getClientInfo', [index]);\r\n }\r\n setTimeScale(scale) {\r\n postCall(this._messaging, 'setTimeScale', [scale]);\r\n }\r\n getTimeScale() {\r\n return postCallWithPromise(this._messaging, 'getTimeScale', []);\r\n }\r\n getTick() {\r\n return postCallWithPromise(this._messaging, 'getTick', []);\r\n }\r\n sendEventAt(event, tick, isAbsolute) {\r\n postCall(this._messaging, 'sendEventAt', [event, tick, isAbsolute]);\r\n }\r\n sendEventToClientAt(clientId, event, tick, isAbsolute) {\r\n postCall(this._messaging, 'sendEventToClientAt', [clientId, event, tick, isAbsolute]);\r\n }\r\n removeAllEvents() {\r\n postCall(this._messaging, 'removeAllEvents', []);\r\n }\r\n removeAllEventsFromClient(clientId) {\r\n postCall(this._messaging, 'removeAllEventsFromClient', [clientId]);\r\n }\r\n processSequencer(msecToProcess) {\r\n postCall(this._messaging, 'processSequencer', [msecToProcess]);\r\n }\r\n}\r\n\n// CONCATENATED MODULE: ./src/main/AudioWorkletNodeSynthesizer.ts\n\r\n\r\n/** An synthesizer object with AudioWorkletNode */\r\nclass AudioWorkletNodeSynthesizer_AudioWorkletNodeSynthesizer {\r\n constructor() {\r\n this._status = {\r\n playing: false,\r\n playerPlaying: false\r\n };\r\n this._messaging = null;\r\n this._node = null;\r\n this._gain = 0.5 /* Gain */;\r\n }\r\n /** Audio node for this synthesizer */\r\n get node() {\r\n return this._node;\r\n }\r\n /**\r\n * Create AudiWorkletNode instance\r\n */\r\n createAudioNode(context, settings) {\r\n const node = new AudioWorkletNode(context, \"fluid-js\" /* ProcessorName */, {\r\n numberOfInputs: 0,\r\n numberOfOutputs: 1,\r\n channelCount: 2,\r\n outputChannelCount: [2],\r\n processorOptions: {\r\n settings: settings\r\n }\r\n });\r\n this._node = node;\r\n this._messaging = initializeCallPort(node.port, (data) => {\r\n if (data.method === \"updateStatus\" /* UpdateStatus */) {\r\n this._status = data.val;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return node;\r\n }\r\n isInitialized() {\r\n return this._messaging !== null;\r\n }\r\n init(_sampleRate, _settings) {\r\n }\r\n close() {\r\n // call init instead of close\r\n postCall(this._messaging, 'init', [0]);\r\n }\r\n isPlaying() {\r\n return this._status.playing;\r\n }\r\n setInterpolation(value, channel) {\r\n postCall(this._messaging, 'setInterpolation', [value, channel]);\r\n }\r\n getGain() {\r\n return this._gain;\r\n }\r\n setGain(gain) {\r\n this._gain = gain;\r\n postCallWithPromise(this._messaging, 'setGain', [gain]).then(() => {\r\n return postCallWithPromise(this._messaging, 'getGain', []);\r\n }).then((value) => {\r\n this._gain = value;\r\n });\r\n }\r\n setChannelType(channel, isDrum) {\r\n postCall(this._messaging, 'setChannelType', [channel, isDrum]);\r\n }\r\n waitForVoicesStopped() {\r\n return postCallWithPromise(this._messaging, 'waitForVoicesStopped', []);\r\n }\r\n loadSFont(bin) {\r\n return postCallWithPromise(this._messaging, 'loadSFont', [bin]);\r\n }\r\n unloadSFont(id) {\r\n postCall(this._messaging, 'unloadSFont', [id]);\r\n }\r\n unloadSFontAsync(id) {\r\n return postCallWithPromise(this._messaging, 'unloadSFont', [id]);\r\n }\r\n getSFontBankOffset(id) {\r\n return postCallWithPromise(this._messaging, 'getSFontBankOffset', [id]);\r\n }\r\n setSFontBankOffset(id, offset) {\r\n postCall(this._messaging, 'setSFontBankOffset', [id, offset]);\r\n }\r\n render() {\r\n throw new Error('Unexpected call');\r\n }\r\n midiNoteOn(chan, key, vel) {\r\n postCall(this._messaging, 'midiNoteOn', [chan, key, vel]);\r\n }\r\n midiNoteOff(chan, key) {\r\n postCall(this._messaging, 'midiNoteOff', [chan, key]);\r\n }\r\n midiKeyPressure(chan, key, val) {\r\n postCall(this._messaging, 'midiKeyPressure', [chan, key, val]);\r\n }\r\n midiControl(chan, ctrl, val) {\r\n postCall(this._messaging, 'midiControl', [chan, ctrl, val]);\r\n }\r\n midiProgramChange(chan, prognum) {\r\n postCall(this._messaging, 'midiProgramChange', [chan, prognum]);\r\n }\r\n midiChannelPressure(chan, val) {\r\n postCall(this._messaging, 'midiChannelPressure', [chan, val]);\r\n }\r\n midiPitchBend(chan, val) {\r\n postCall(this._messaging, 'midiPitchBend', [chan, val]);\r\n }\r\n midiSysEx(data) {\r\n postCall(this._messaging, 'midiSysEx', [data]);\r\n }\r\n midiPitchWheelSensitivity(chan, val) {\r\n postCall(this._messaging, 'midiPitchWheelSensitivity', [chan, val]);\r\n }\r\n midiBankSelect(chan, bank) {\r\n postCall(this._messaging, 'midiBankSelect', [chan, bank]);\r\n }\r\n midiSFontSelect(chan, sfontId) {\r\n postCall(this._messaging, 'midiSFontSelect', [chan, sfontId]);\r\n }\r\n midiProgramSelect(chan, sfontId, bank, presetNum) {\r\n postCall(this._messaging, 'midiProgramSelect', [chan, sfontId, bank, presetNum]);\r\n }\r\n midiUnsetProgram(chan) {\r\n postCall(this._messaging, 'midiUnsetProgram', [chan]);\r\n }\r\n midiProgramReset() {\r\n postCall(this._messaging, 'midiProgramReset', []);\r\n }\r\n midiSystemReset() {\r\n postCall(this._messaging, 'midiSystemReset', []);\r\n }\r\n midiAllNotesOff(chan) {\r\n postCall(this._messaging, 'midiAllNotesOff', [chan]);\r\n }\r\n midiAllSoundsOff(chan) {\r\n postCall(this._messaging, 'midiAllSoundsOff', [chan]);\r\n }\r\n midiSetChannelType(chan, isDrum) {\r\n postCall(this._messaging, 'midiSetChannelType', [chan, isDrum]);\r\n }\r\n resetPlayer() {\r\n return postCallWithPromise(this._messaging, 'resetPlayer', []);\r\n }\r\n isPlayerPlaying() {\r\n return this._status.playerPlaying;\r\n }\r\n addSMFDataToPlayer(bin) {\r\n return postCallWithPromise(this._messaging, 'addSMFDataToPlayer', [bin]);\r\n }\r\n playPlayer() {\r\n return postCallWithPromise(this._messaging, 'playPlayer', []);\r\n }\r\n stopPlayer() {\r\n postCall(this._messaging, 'stopPlayer', []);\r\n }\r\n retrievePlayerCurrentTick() {\r\n return postCallWithPromise(this._messaging, 'retrievePlayerCurrentTick', []);\r\n }\r\n retrievePlayerTotalTicks() {\r\n return postCallWithPromise(this._messaging, 'retrievePlayerTotalTicks', []);\r\n }\r\n retrievePlayerBpm() {\r\n return postCallWithPromise(this._messaging, 'retrievePlayerBpm', []);\r\n }\r\n retrievePlayerMIDITempo() {\r\n return postCallWithPromise(this._messaging, 'retrievePlayerMIDITempo', []);\r\n }\r\n seekPlayer(ticks) {\r\n postCall(this._messaging, 'seekPlayer', [ticks]);\r\n }\r\n waitForPlayerStopped() {\r\n return postCallWithPromise(this._messaging, 'waitForPlayerStopped', []);\r\n }\r\n /**\r\n * Creates a sequencer instance associated with this worklet node.\r\n */\r\n createSequencer() {\r\n const channel = new MessageChannel();\r\n return postCallWithPromise(this._messaging, 'createSequencer', [channel.port2]).then(() => {\r\n return new WorkletSequencer_WorkletSequencer(channel.port1);\r\n });\r\n }\r\n /**\r\n * Hooks MIDI events sent by the player. The hook callback function defined on\r\n * AudioWorkletGlobalScope object available in the worklet is used.\r\n * @param callbackName hook callback function name available as 'AudioWorkletGlobalScope[callbackName]',\r\n * or falsy value ('', null, or undefined) to unhook.\r\n * The type of 'AudioWorkletGlobalScope[callbackName]' must be HookMIDIEventCallback.\r\n * @param param any additional data passed to the callback.\r\n * This data must be 'Transferable' data.\r\n * @return Promise object that resolves when succeeded, or rejects when failed\r\n */\r\n hookPlayerMIDIEventsByName(callbackName, param) {\r\n return postCallWithPromise(this._messaging, 'hookPlayerMIDIEventsByName', [callbackName, param]);\r\n }\r\n /**\r\n * Registers the user-defined client to the sequencer.\r\n * The client callback function defined on AudioWorkletGlobalScope\r\n * object available in the worklet is used.\r\n * The client can receive events in the time from sequencer process.\r\n * @param seq the sequencer instance created by AudioWorkletNodeSynthesizer.createSequencer\r\n * @param clientName the client name\r\n * @param callbackName callback function name available as 'AudioWorkletGlobalScope[callbackName]',\r\n * or falsy value ('', null, or undefined) to unhook.\r\n * The type of 'AudioWorkletGlobalScope[callbackName]' must be SequencerClientCallback.\r\n * @param param additional parameter passed to the callback\r\n * @return Promise object that resolves with registered client id when succeeded, or rejects when failed\r\n */\r\n registerSequencerClientByName(seq, clientName, callbackName, param) {\r\n if (!(seq instanceof WorkletSequencer_WorkletSequencer)) {\r\n return Promise.reject(new TypeError('Invalid sequencer object'));\r\n }\r\n return seq.registerSequencerClientByName(clientName, callbackName, param);\r\n }\r\n /**\r\n * Call a function defined in the AudioWorklet.\r\n *\r\n * The function will receive two parameters; the first parameter is a Synthesizer instance\r\n * (not AudioWorkletNodeSynthesizer instance), and the second is the data passed to 'param'.\r\n * This method is useful when the script loaded in AudioWorklet wants to\r\n * retrieve Synthesizer instance.\r\n *\r\n * @param name a function name (must be retrieved from AudioWorkletGlobalScope[name])\r\n * @param param any parameter (must be Transferable)\r\n * @return Promise object that resolves when the function process has done, or rejects when failed\r\n */\r\n callFunction(name, param) {\r\n return postCallWithPromise(this._messaging, 'callFunction', [name, param]);\r\n }\r\n /** @internal */\r\n _getRawSynthesizer() {\r\n return postCallWithPromise(this._messaging, 'getRawSynthesizer', []);\r\n }\r\n}\r\n\n// CONCATENATED MODULE: ./src/main/index.ts\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=js-synthesizer.js.map",h="function getSynth() {\n const _synth = new JSSynth.Synthesizer();\n _synth.init(_sampleRate);\n return _synth;\n}\n\nconst State = {\n stopped: 0,\n playing: 1,\n stopping: 2\n}\n\nconst session = {\n state: State.stopped\n}\n\nfunction render(sessionId, soundFontBff, midiBuffer, audioBufferLength, inBlockSize, gain) {\n session.state = State.playing;\n session.sesisonId = sessionId;\n const synth = getSynth();\n if (!!gain) {\n synth.setGain(gain);\n }\n synth.loadSFont(soundFontBff).then(() => {\n synth.addSMFDataToPlayer(midiBuffer).then(() => {\n synth.playPlayer().then(()=> {\n let samplesLeft = audioBufferLength;\n function renderBlock() {\n if (samplesLeft <= 0 || session.state !== State.playing) {\n session.state = State.stopped;\n self.postMessage({sessionId, done: true});\n synth.close();\n return;\n }\n const blockSize = Math.min(inBlockSize, samplesLeft);\n const audioBuffer = [\n new Float32Array(blockSize),\n new Float32Array(blockSize)\n ];\n synth.render(audioBuffer);\n const bffL = audioBuffer[0].buffer;\n const bffR = audioBuffer[1].buffer;\n const samplePos = audioBufferLength - samplesLeft;\n const lastBlock = (samplesLeft - blockSize) <= 0;\n self.postMessage({bffL, bffR, blockSize, samplePos, lastBlock, sessionId}, [bffL, bffR]);\n samplesLeft -= blockSize;\n setTimeout(renderBlock, 100); // aka. sleep\n }\n renderBlock(); \n });\n });\n });\n}\n\nself.onmessage = function (msg) {\n if(msg.data.stop && session.state === State.playing) {\n session.state = State.stopping;\n return;\n }\n if (session.state !== State.stopped) {\n return;\n }\n const {soundFont, midiBuffer, audioBufferLength, blockSize, sampleRate, sessionId, gain} = msg.data;\n _sampleRate = sampleRate;\n render(sessionId, soundFont, midiBuffer, audioBufferLength, blockSize, gain);\n}\n\n",w=[c,f,h],D=new Blob([w.join("\n")],{type:"application/javascript"}),y=new Worker(URL.createObjectURL(D)),m=9,F=10,R="https://raw.githubusercontent.com/werckme/soundfont-server/v1.2/soundfonts/FluidR3_GM_EX/FluidR3_GM_EX.sf2.json",_=10;!function(A){A[A.Stopped=0]="Stopped",A[A.Preparing=1]="Preparing",A[A.Playing=2]="Playing",A[A.Stopping=3]="Stopping"}(C=exports.PlayerState||(exports.PlayerState={}));var p,G={bank:0,preset:0};function M(){if(p){var A=p,g=window.URL.createObjectURL(A.data),n=document.createElement("a");n.href=g,n.download=A.sfName+".sf2",document.body.appendChild(n),n.click(),n.remove()}else console.warn("wm midi no last soundfont")}window.__wmmididownloadlastsoundfont=M;var S=function(){function g(){A(this,g),this._playerState=C.Stopped,this.playedTime=0,this.onPlayerStateChanged=function(){},this.onMidiEvent=function(){},this.sfComposer=new l.SfCompose,this._sfRepository=null,this.repoUrl=R,this.audioNodes=new Map,this.rendererBufferSeconds=_,this.gain=1.25,this.currentTaskVisitor=void 0,this.instanceId=++g.instaces}return n(g,[{key:"ppq",get:function(){return this.midifile.header.getTicksPerBeat()}},{key:"getSfRepository",value:function(){return E(this,void 0,void 0,regeneratorRuntime.mark(function A(){return regeneratorRuntime.wrap(function(A){for(;;)switch(A.prev=A.next){case 0:if(this._sfRepository){A.next=4;break}return this._sfRepository=new u.SfRepository,A.next=4,this._sfRepository.setRepo(this.repoUrl);case 4:return A.abrupt("return",this._sfRepository);case 5:case"end":return A.stop()}},A,this)}))}},{key:"playerState",get:function(){return this._playerState},set:function(A){var g=this._playerState;this._playerState=A,A!==g&&this.onPlayerStateChanged(g,A)}},{key:"initAudioEnvironment",value:function(A){return E(this,void 0,void 0,regeneratorRuntime.mark(function A(){return regeneratorRuntime.wrap(function(A){for(;;)switch(A.prev=A.next){case 0:if(this.audioContext){A.next=4;break}return this.audioContext=new AudioContext({sampleRate:44100}),A.next=4,this.audioContext.resume();case 4:case"end":return A.stop()}},A,this)}))}},{key:"convertEvent",value:function(A){var g;if(A.type===r.EVENT_MIDI)switch(A.subtype){case r.EVENT_MIDI_PROGRAM_CHANGE:return g=A,{type:Q.MidiEventTypes.Pc,channel:g.channel,track:g.track,param1:g.param1,absPositionTicks:g.absPositionTicks,playTime:g.playTime};case r.EVENT_MIDI_CONTROLLER:return function(A){return{type:Q.MidiEventTypes.Cc,channel:A.channel,track:A.track,param1:A.param1,param2:A.param2,absPositionTicks:A.absPositionTicks,playTime:A.playTime}}(A);case r.EVENT_MIDI_NOTE_ON:return function(A){return{type:Q.MidiEventTypes.NoteOn,noteName:s.Constants.NOTES[A.param1],channel:A.channel,track:A.track,param1:A.param1,param2:A.param2,absPositionTicks:A.absPositionTicks,playTime:A.playTime}}(A);case r.EVENT_MIDI_NOTE_OFF:return function(A){return{type:Q.MidiEventTypes.NoteOff,noteName:s.Constants.NOTES[A.param1],channel:A.channel,track:A.track,param1:A.param1,param2:A.param2,absPositionTicks:A.absPositionTicks,playTime:A.playTime}}(A);case r.EVENT_MIDI_PITCH_BEND:return function(A){return{type:Q.MidiEventTypes.PitchBend,channel:A.channel,track:A.track,param1:A.param1,param2:A.param2,absPositionTicks:A.absPositionTicks,pitchbendValue:128*A.param2+A.param1,playTime:A.playTime}}(A)}return null}},{key:"preprocessEvents",value:function(A){return E(this,void 0,void 0,regeneratorRuntime.mark(function g(){var n,e,I=this;return regeneratorRuntime.wrap(function(g){for(;;)switch(g.prev=g.next){case 0:n=[],e=function(A){var g=A.track||0,e=n[g]||0,B=I.midifile.getTrackEvents(g).find(function(g){return g.index===A.index}).delta||0;return A.absPositionTicks=e+B,n[g]=A.absPositionTicks,A},this.neededInstruments=t.chain(A).filter(function(A){return A.type===r.EVENT_MIDI&&A.subtype===r.EVENT_MIDI_PROGRAM_CHANGE}).map(function(A){var g=0;return A.channel===m&&(g=128),{bank:g,preset:A.param1}}).filter(function(A){return!!A}).uniqBy(function(A){return"".concat(A.bank,"-").concat(A.preset)}).value(),0===this.neededInstruments.length&&this.neededInstruments.push(G),this.events=t.chain(A).map(function(A){return I.convertEvent(e(A))}).filter(function(A){return!!A}).value();case 5:case"end":return g.stop()}},g,this)}))}},{key:"instrumentHash",value:function(A){return"".concat(A.bank,"-").concat(A.preset)}},{key:"instrumentsHash",value:function(A){var g=this;return A.map(function(A){return g.instrumentHash(A)}).sort().join(",")}},{key:"getSoundfont",value:function(A){return E(this,void 0,void 0,regeneratorRuntime.mark(function g(){var n,e,I,B,E,C,Q,i=this;return regeneratorRuntime.wrap(function(g){for(;;)switch(g.prev=g.next){case 0:return g.next=2,this.getSfRepository();case 2:return n=g.sent,g.next=5,n.getSkeleton();case 5:return e=g.sent,g.next=8,this.sfComposer.getRequiredSampleIds(e,A);case 8:return I=g.sent,B=function(A,g){},this.currentTaskVisitor&&(E=I.map(function(A){return{name:"fetching sample ".concat(A),id:"fetching-".concat(A)}}),this.currentTaskVisitor.newTasks(E),B=function(A,g){var n=t.find(E,function(g){return g.id==="fetching-".concat(A)});n&&i.currentTaskVisitor.done(n)}),g.next=13,n.getSampleFiles(I,B);case 13:return C=g.sent,g.next=16,this.sfComposer.writeSamples(C);case 16:return g.next=18,this.sfComposer.compose(e.sfName,A);case 18:return Q=g.sent,g.abrupt("return",Q);case 20:case"end":return g.stop()}},g,this)}))}},{key:"load",value:function(A){var g=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;return E(this,void 0,void 0,regeneratorRuntime.mark(function n(){var e;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return this.currentTaskVisitor=g,this.midiBuffer=a.Base64Binary.decodeArrayBuffer(A),this.midifile=new o(this.midiBuffer),n.next=5,this.preprocessEvents(this.midifile.getEvents());case 5:if((e=this.instrumentsHash(this.neededInstruments))!==this.soundFontHash){n.next=8;break}return n.abrupt("return");case 8:return n.next=10,this.getSoundfont(this.neededInstruments);case 10:this.soundFont=n.sent,p=this.soundFont,this.soundFontHash=e;case 13:case"end":return n.stop()}},n,this)}))}},{key:"sleepAsync",value:function(A){return new Promise(function(g){return setTimeout(g,A)})}},{key:"play",value:function(){return E(this,void 0,void 0,regeneratorRuntime.mark(function A(){var g=this;return regeneratorRuntime.wrap(function(A){for(;;)switch(A.prev=A.next){case 0:if(this.midifile&&!(this.playerState>C.Stopped)){A.next=2;break}return A.abrupt("return");case 2:this.playedTime=0,this.playerState=C.Preparing,this.audioContext.sampleRate,this.startPlayback().then(function(){g.playerState=C.Stopped});case 6:case"end":return A.stop()}},A,this)}))}},{key:"stop",value:function(){if(this.midifile&&this.playerState!==C.Stopped&&this.playerState!==C.Stopping){console.log("A"),this.playerState=C.Stopping;for(var A=0,g=Array.from(this.audioNodes.keys());A<g.length;A++){var n=g[A];this.audioNodes.get(n).stop(),this.audioNodes.delete(n)}}}},{key:"postWebworker",value:function(A){A.sessionId=this.instanceId,y.postMessage(A)}},{key:"startPlayback",value:function(){return E(this,void 0,void 0,regeneratorRuntime.mark(function A(){var g,n,e=this;return regeneratorRuntime.wrap(function(A){for(;;)switch(A.prev=A.next){case 0:return g=null,n=new Promise(function(A){g=A}),A.abrupt("return",new Promise(function(A){return E(e,void 0,void 0,regeneratorRuntime.mark(function e(){var I,B,Q,i,o,r,a,s,l=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.soundFont.data.arrayBuffer();case 2:I=e.sent,B=t.last(this.events).playTime/1e3+1.5,Q=void 0,i=this.audioContext.sampleRate,o=0,this.audioNodes=new Map,r=function(g,e){var I=new AudioBufferSourceNode(l.audioContext,{buffer:g});l.audioNodes.set(o++,I),I.connect(l.audioContext.destination),e&&(I.onended=function(){return E(l,void 0,void 0,regeneratorRuntime.mark(function g(){return regeneratorRuntime.wrap(function(g){for(;;)switch(g.prev=g.next){case 0:return g.next=2,n;case 2:A();case 3:case"end":return g.stop()}},g)}))}),I.start()},a=function(){return E(l,void 0,void 0,regeneratorRuntime.mark(function g(){return regeneratorRuntime.wrap(function(g){for(;;)switch(g.prev=g.next){case 0:return this.postWebworker({stop:!0}),g.next=3,n;case 3:A();case 4:case"end":return g.stop()}},g,this)}))},s=function A(n){if(void 0===n.data.sessionId&&console.error("session id expected"),n.data.sessionId===l.instanceId){if(n.data.done)return y.removeEventListener("message",A),void g();if(void 0===Q&&(l.playerState=C.Playing,Q=l.audioContext.currentTime,l.startEventNotification()),l.playerState!==C.Stopping){if(l.playerState===C.Playing){n.data.bffL,n.data.bffR;var e=n.data.samplePos,I=l.audioContext.currentTime-Q,B=l.audioContext.sampleRate*I,E=Math.floor(e-B),t=new AudioBuffer({length:n.data.blockSize+E,sampleRate:i,numberOfChannels:2});t.copyToChannel(new Float32Array(n.data.bffL),0,E),t.copyToChannel(new Float32Array(n.data.bffR),1,E),r(t,n.data.lastBlock)}}else a()}},y.addEventListener("message",s),this.postWebworker({soundFont:I,midiBuffer:this.midiBuffer,audioBufferLength:B*i,blockSize:i*this.rendererBufferSeconds,sampleRate:this.audioContext.sampleRate,sessionId:this.instanceId,gain:this.gain});case 13:case"end":return e.stop()}},e,this)}))}));case 3:case"end":return A.stop()}},A)}))}},{key:"setRepoUrl",value:function(A){this.repoUrl=A,this._sfRepository=null}},{key:"startEventNotification",value:function(){var A=this,g=0,n=performance.now(),e=setInterval(function(){var I=performance.now()-n;for(A.playedTime=I/1e3,A.playerState!==C.Playing&&clearInterval(e);;){var B=A.events[g];if(B.playTime>I)break;if(A.onMidiEvent(B),++g>=A.events.length){clearInterval(e);break}}},F)}}]),g}();exports.WerckmeisterMidiPlayer=S,S.instaces=0;
|
|
492
|
+
},{"lodash":"B1iE","./IMidiEvent":"wXAf","midifile":"8Nlt","midievents":"+m+m","./Base64binary":"n6dH","./Constants":"Xnuv","./SfCompose":"LNaI","./SfRepository":"Gu12","fs":"f88W"}]},{},["VUkl"], null)
|