@elizaos/plugin-inmemorydb 2.0.3-beta.5 → 2.0.3-beta.7
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/dist/browser/adapter.d.ts +288 -0
- package/dist/browser/adapter.d.ts.map +1 -0
- package/dist/browser/generated/specs/specs.d.ts +38 -0
- package/dist/browser/generated/specs/specs.d.ts.map +1 -0
- package/dist/browser/hnsw.d.ts +19 -0
- package/dist/browser/hnsw.d.ts.map +1 -0
- package/dist/browser/index.browser.d.ts +4 -0
- package/dist/browser/index.browser.d.ts.map +1 -0
- package/dist/browser/index.browser.js +19682 -0
- package/dist/browser/index.browser.js.map +20 -0
- package/dist/browser/index.d.ts +10 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/storage-memory.d.ts +20 -0
- package/dist/browser/storage-memory.d.ts.map +1 -0
- package/dist/browser/types.d.ts +44 -0
- package/dist/browser/types.d.ts.map +1 -0
- package/dist/browser/vitest.config.d.ts +3 -0
- package/dist/browser/vitest.config.d.ts.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/node/index.d.ts +2 -0
- package/dist/node/index.js +1536 -0
- package/dist/node/index.js.map +14 -0
- package/package.json +3 -3
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["node:buffer", "node:util", "node:events", "node:stream", "node:crypto", "../../index.ts", "../../adapter.ts", "../../hnsw.ts", "../../types.ts", "../../storage-memory.ts", "../../index.browser.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"var lookup=[],revLookup=[],code=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";for(i=0,len=code.length;i<len;++i)lookup[i]=code[i],revLookup[code.charCodeAt(i)]=i;var i,len;revLookup[45]=62;revLookup[95]=63;function getLens(b64){var len2=b64.length;if(len2%4>0)throw Error(\"Invalid string. Length must be a multiple of 4\");var validLen=b64.indexOf(\"=\");if(validLen===-1)validLen=len2;var placeHoldersLen=validLen===len2?0:4-validLen%4;return[validLen,placeHoldersLen]}function _byteLength(validLen,placeHoldersLen){return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function toByteArray(b64){var tmp,lens=getLens(b64),validLen=lens[0],placeHoldersLen=lens[1],arr=new Uint8Array(_byteLength(validLen,placeHoldersLen)),curByte=0,len2=placeHoldersLen>0?validLen-4:validLen,i2;for(i2=0;i2<len2;i2+=4)tmp=revLookup[b64.charCodeAt(i2)]<<18|revLookup[b64.charCodeAt(i2+1)]<<12|revLookup[b64.charCodeAt(i2+2)]<<6|revLookup[b64.charCodeAt(i2+3)],arr[curByte++]=tmp>>16&255,arr[curByte++]=tmp>>8&255,arr[curByte++]=tmp&255;if(placeHoldersLen===2)tmp=revLookup[b64.charCodeAt(i2)]<<2|revLookup[b64.charCodeAt(i2+1)]>>4,arr[curByte++]=tmp&255;if(placeHoldersLen===1)tmp=revLookup[b64.charCodeAt(i2)]<<10|revLookup[b64.charCodeAt(i2+1)]<<4|revLookup[b64.charCodeAt(i2+2)]>>2,arr[curByte++]=tmp>>8&255,arr[curByte++]=tmp&255;return arr}function tripletToBase64(num){return lookup[num>>18&63]+lookup[num>>12&63]+lookup[num>>6&63]+lookup[num&63]}function encodeChunk(uint8,start,end){var tmp,output=[];for(var i2=start;i2<end;i2+=3)tmp=(uint8[i2]<<16&16711680)+(uint8[i2+1]<<8&65280)+(uint8[i2+2]&255),output.push(tripletToBase64(tmp));return output.join(\"\")}function fromByteArray(uint8){var tmp,len2=uint8.length,extraBytes=len2%3,parts=[],maxChunkLength=16383;for(var i2=0,len22=len2-extraBytes;i2<len22;i2+=maxChunkLength)parts.push(encodeChunk(uint8,i2,i2+maxChunkLength>len22?len22:i2+maxChunkLength));if(extraBytes===1)tmp=uint8[len2-1],parts.push(lookup[tmp>>2]+lookup[tmp<<4&63]+\"==\");else if(extraBytes===2)tmp=(uint8[len2-2]<<8)+uint8[len2-1],parts.push(lookup[tmp>>10]+lookup[tmp>>4&63]+lookup[tmp<<2&63]+\"=\");return parts.join(\"\")}function read(buffer,offset,isLE,mLen,nBytes){var e,m,eLen=nBytes*8-mLen-1,eMax=(1<<eLen)-1,eBias=eMax>>1,nBits=-7,i2=isLE?nBytes-1:0,d=isLE?-1:1,s=buffer[offset+i2];i2+=d,e=s&(1<<-nBits)-1,s>>=-nBits,nBits+=eLen;for(;nBits>0;e=e*256+buffer[offset+i2],i2+=d,nBits-=8);m=e&(1<<-nBits)-1,e>>=-nBits,nBits+=mLen;for(;nBits>0;m=m*256+buffer[offset+i2],i2+=d,nBits-=8);if(e===0)e=1-eBias;else if(e===eMax)return m?NaN:(s?-1:1)*(1/0);else m=m+Math.pow(2,mLen),e=e-eBias;return(s?-1:1)*m*Math.pow(2,e-mLen)}function write(buffer,value,offset,isLE,mLen,nBytes){var e,m,c,eLen=nBytes*8-mLen-1,eMax=(1<<eLen)-1,eBias=eMax>>1,rt=mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0,i2=isLE?0:nBytes-1,d=isLE?1:-1,s=value<0||value===0&&1/value<0?1:0;if(value=Math.abs(value),isNaN(value)||value===1/0)m=isNaN(value)?1:0,e=eMax;else{if(e=Math.floor(Math.log(value)/Math.LN2),value*(c=Math.pow(2,-e))<1)e--,c*=2;if(e+eBias>=1)value+=rt/c;else value+=rt*Math.pow(2,1-eBias);if(value*c>=2)e++,c/=2;if(e+eBias>=eMax)m=0,e=eMax;else if(e+eBias>=1)m=(value*c-1)*Math.pow(2,mLen),e=e+eBias;else m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen),e=0}for(;mLen>=8;buffer[offset+i2]=m&255,i2+=d,m/=256,mLen-=8);e=e<<mLen|m,eLen+=mLen;for(;eLen>0;buffer[offset+i2]=e&255,i2+=d,e/=256,eLen-=8);buffer[offset+i2-d]|=s*128}var customInspectSymbol=typeof Symbol===\"function\"&&typeof Symbol.for===\"function\"?Symbol.for(\"nodejs.util.inspect.custom\"):null,INSPECT_MAX_BYTES=50,kMaxLength=2147483647,kStringMaxLength=536870888,btoa=globalThis.btoa,atob=globalThis.atob,File=globalThis.File,Blob=globalThis.Blob,constants={MAX_LENGTH:kMaxLength,MAX_STRING_LENGTH:kStringMaxLength};function createBuffer(length){if(length>kMaxLength)throw RangeError('The value \"'+length+'\" is invalid for option \"size\"');let buf=new Uint8Array(length);return Object.setPrototypeOf(buf,Buffer.prototype),buf}function E(sym,getMessage,Base){return class extends Base{constructor(){super();Object.defineProperty(this,\"message\",{value:getMessage.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${sym}]`,this.stack,delete this.name}get code(){return sym}set code(value){Object.defineProperty(this,\"code\",{configurable:!0,enumerable:!0,value,writable:!0})}toString(){return`${this.name} [${sym}]: ${this.message}`}}}var ERR_BUFFER_OUT_OF_BOUNDS=E(\"ERR_BUFFER_OUT_OF_BOUNDS\",function(name){if(name)return`${name} is outside of buffer bounds`;return\"Attempt to access memory outside buffer bounds\"},RangeError),ERR_INVALID_ARG_TYPE=E(\"ERR_INVALID_ARG_TYPE\",function(name,actual){return`The \"${name}\" argument must be of type number. Received type ${typeof actual}`},TypeError),ERR_OUT_OF_RANGE=E(\"ERR_OUT_OF_RANGE\",function(str,range,input){let msg=`The value of \"${str}\" is out of range.`,received=input;if(Number.isInteger(input)&&Math.abs(input)>4294967296)received=addNumericalSeparator(String(input));else if(typeof input===\"bigint\"){if(received=String(input),input>BigInt(2)**BigInt(32)||input<-(BigInt(2)**BigInt(32)))received=addNumericalSeparator(received);received+=\"n\"}return msg+=` It must be ${range}. Received ${received}`,msg},RangeError);function Buffer(arg,encodingOrOffset,length){if(typeof arg===\"number\"){if(typeof encodingOrOffset===\"string\")throw TypeError('The \"string\" argument must be of type string. Received type number');return allocUnsafe(arg)}return from(arg,encodingOrOffset,length)}Object.defineProperty(Buffer.prototype,\"parent\",{enumerable:!0,get:function(){if(!Buffer.isBuffer(this))return;return this.buffer}});Object.defineProperty(Buffer.prototype,\"offset\",{enumerable:!0,get:function(){if(!Buffer.isBuffer(this))return;return this.byteOffset}});Buffer.poolSize=8192;function from(value,encodingOrOffset,length){if(typeof value===\"string\")return fromString(value,encodingOrOffset);if(ArrayBuffer.isView(value))return fromArrayView(value);if(value==null)throw TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof value);if(isInstance(value,ArrayBuffer)||value&&isInstance(value.buffer,ArrayBuffer))return fromArrayBuffer(value,encodingOrOffset,length);if(typeof SharedArrayBuffer<\"u\"&&(isInstance(value,SharedArrayBuffer)||value&&isInstance(value.buffer,SharedArrayBuffer)))return fromArrayBuffer(value,encodingOrOffset,length);if(typeof value===\"number\")throw TypeError('The \"value\" argument must not be of type number. Received type number');let valueOf=value.valueOf&&value.valueOf();if(valueOf!=null&&valueOf!==value)return Buffer.from(valueOf,encodingOrOffset,length);let b=fromObject(value);if(b)return b;if(typeof Symbol<\"u\"&&Symbol.toPrimitive!=null&&typeof value[Symbol.toPrimitive]===\"function\")return Buffer.from(value[Symbol.toPrimitive](\"string\"),encodingOrOffset,length);throw TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof value)}Buffer.from=function(value,encodingOrOffset,length){return from(value,encodingOrOffset,length)};Object.setPrototypeOf(Buffer.prototype,Uint8Array.prototype);Object.setPrototypeOf(Buffer,Uint8Array);function assertSize(size){if(typeof size!==\"number\")throw TypeError('\"size\" argument must be of type number');else if(size<0)throw RangeError('The value \"'+size+'\" is invalid for option \"size\"')}function alloc(size,fill,encoding){if(assertSize(size),size<=0)return createBuffer(size);if(fill!==void 0)return typeof encoding===\"string\"?createBuffer(size).fill(fill,encoding):createBuffer(size).fill(fill);return createBuffer(size)}Buffer.alloc=function(size,fill,encoding){return alloc(size,fill,encoding)};function allocUnsafe(size){return assertSize(size),createBuffer(size<0?0:checked(size)|0)}Buffer.allocUnsafe=function(size){return allocUnsafe(size)};Buffer.allocUnsafeSlow=function(size){return allocUnsafe(size)};function fromString(string,encoding){if(typeof encoding!==\"string\"||encoding===\"\")encoding=\"utf8\";if(!Buffer.isEncoding(encoding))throw TypeError(\"Unknown encoding: \"+encoding);let length=byteLength(string,encoding)|0,buf=createBuffer(length),actual=buf.write(string,encoding);if(actual!==length)buf=buf.slice(0,actual);return buf}function fromArrayLike(array){let length=array.length<0?0:checked(array.length)|0,buf=createBuffer(length);for(let i2=0;i2<length;i2+=1)buf[i2]=array[i2]&255;return buf}function fromArrayView(arrayView){if(isInstance(arrayView,Uint8Array)){let copy=new Uint8Array(arrayView);return fromArrayBuffer(copy.buffer,copy.byteOffset,copy.byteLength)}return fromArrayLike(arrayView)}function fromArrayBuffer(array,byteOffset,length){if(byteOffset<0||array.byteLength<byteOffset)throw RangeError('\"offset\" is outside of buffer bounds');if(array.byteLength<byteOffset+(length||0))throw RangeError('\"length\" is outside of buffer bounds');let buf;if(byteOffset===void 0&&length===void 0)buf=new Uint8Array(array);else if(length===void 0)buf=new Uint8Array(array,byteOffset);else buf=new Uint8Array(array,byteOffset,length);return Object.setPrototypeOf(buf,Buffer.prototype),buf}function fromObject(obj){if(Buffer.isBuffer(obj)){let len2=checked(obj.length)|0,buf=createBuffer(len2);if(buf.length===0)return buf;return obj.copy(buf,0,0,len2),buf}if(obj.length!==void 0){if(typeof obj.length!==\"number\"||Number.isNaN(obj.length))return createBuffer(0);return fromArrayLike(obj)}if(obj.type===\"Buffer\"&&Array.isArray(obj.data))return fromArrayLike(obj.data)}function checked(length){if(length>=kMaxLength)throw RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+kMaxLength.toString(16)+\" bytes\");return length|0}Buffer.isBuffer=function(b){return b!=null&&b._isBuffer===!0&&b!==Buffer.prototype};Buffer.compare=function(a,b){if(isInstance(a,Uint8Array))a=Buffer.from(a,a.offset,a.byteLength);if(isInstance(b,Uint8Array))b=Buffer.from(b,b.offset,b.byteLength);if(!Buffer.isBuffer(a)||!Buffer.isBuffer(b))throw TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(a===b)return 0;let x=a.length,y=b.length;for(let i2=0,len2=Math.min(x,y);i2<len2;++i2)if(a[i2]!==b[i2]){x=a[i2],y=b[i2];break}if(x<y)return-1;if(y<x)return 1;return 0};Buffer.isEncoding=function(encoding){switch(String(encoding).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}};Buffer.concat=function(list,length){if(!Array.isArray(list))throw TypeError('\"list\" argument must be an Array of Buffers');if(list.length===0)return Buffer.alloc(0);let i2;if(length===void 0){length=0;for(i2=0;i2<list.length;++i2)length+=list[i2].length}let buffer=Buffer.allocUnsafe(length),pos=0;for(i2=0;i2<list.length;++i2){let buf=list[i2];if(isInstance(buf,Uint8Array))if(pos+buf.length>buffer.length){if(!Buffer.isBuffer(buf))buf=Buffer.from(buf);buf.copy(buffer,pos)}else Uint8Array.prototype.set.call(buffer,buf,pos);else if(!Buffer.isBuffer(buf))throw TypeError('\"list\" argument must be an Array of Buffers');else buf.copy(buffer,pos);pos+=buf.length}return buffer};function byteLength(string,encoding){if(Buffer.isBuffer(string))return string.length;if(ArrayBuffer.isView(string)||isInstance(string,ArrayBuffer))return string.byteLength;if(typeof string!==\"string\")throw TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof string);let len2=string.length,mustMatch=arguments.length>2&&arguments[2]===!0;if(!mustMatch&&len2===0)return 0;let loweredCase=!1;for(;;)switch(encoding){case\"ascii\":case\"latin1\":case\"binary\":return len2;case\"utf8\":case\"utf-8\":return utf8ToBytes(string).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return len2*2;case\"hex\":return len2>>>1;case\"base64\":return base64ToBytes(string).length;default:if(loweredCase)return mustMatch?-1:utf8ToBytes(string).length;encoding=(\"\"+encoding).toLowerCase(),loweredCase=!0}}Buffer.byteLength=byteLength;function slowToString(encoding,start,end){let loweredCase=!1;if(start===void 0||start<0)start=0;if(start>this.length)return\"\";if(end===void 0||end>this.length)end=this.length;if(end<=0)return\"\";if(end>>>=0,start>>>=0,end<=start)return\"\";if(!encoding)encoding=\"utf8\";while(!0)switch(encoding){case\"hex\":return hexSlice(this,start,end);case\"utf8\":case\"utf-8\":return utf8Slice(this,start,end);case\"ascii\":return asciiSlice(this,start,end);case\"latin1\":case\"binary\":return latin1Slice(this,start,end);case\"base64\":return base64Slice(this,start,end);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return utf16leSlice(this,start,end);default:if(loweredCase)throw TypeError(\"Unknown encoding: \"+encoding);encoding=(encoding+\"\").toLowerCase(),loweredCase=!0}}Buffer.prototype._isBuffer=!0;function swap(b,n,m){let i2=b[n];b[n]=b[m],b[m]=i2}Buffer.prototype.swap16=function(){let len2=this.length;if(len2%2!==0)throw RangeError(\"Buffer size must be a multiple of 16-bits\");for(let i2=0;i2<len2;i2+=2)swap(this,i2,i2+1);return this};Buffer.prototype.swap32=function(){let len2=this.length;if(len2%4!==0)throw RangeError(\"Buffer size must be a multiple of 32-bits\");for(let i2=0;i2<len2;i2+=4)swap(this,i2,i2+3),swap(this,i2+1,i2+2);return this};Buffer.prototype.swap64=function(){let len2=this.length;if(len2%8!==0)throw RangeError(\"Buffer size must be a multiple of 64-bits\");for(let i2=0;i2<len2;i2+=8)swap(this,i2,i2+7),swap(this,i2+1,i2+6),swap(this,i2+2,i2+5),swap(this,i2+3,i2+4);return this};Buffer.prototype.toString=function(){let length=this.length;if(length===0)return\"\";if(arguments.length===0)return utf8Slice(this,0,length);return slowToString.apply(this,arguments)};Buffer.prototype.toLocaleString=Buffer.prototype.toString;Buffer.prototype.equals=function(b){if(!Buffer.isBuffer(b))throw TypeError(\"Argument must be a Buffer\");if(this===b)return!0;return Buffer.compare(this,b)===0};Buffer.prototype.inspect=function(){let str=\"\",max=INSPECT_MAX_BYTES;if(str=this.toString(\"hex\",0,max).replace(/(.{2})/g,\"$1 \").trim(),this.length>max)str+=\" ... \";return\"<Buffer \"+str+\">\"};if(customInspectSymbol)Buffer.prototype[customInspectSymbol]=Buffer.prototype.inspect;Buffer.prototype.compare=function(target,start,end,thisStart,thisEnd){if(isInstance(target,Uint8Array))target=Buffer.from(target,target.offset,target.byteLength);if(!Buffer.isBuffer(target))throw TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+typeof target);if(start===void 0)start=0;if(end===void 0)end=target?target.length:0;if(thisStart===void 0)thisStart=0;if(thisEnd===void 0)thisEnd=this.length;if(start<0||end>target.length||thisStart<0||thisEnd>this.length)throw RangeError(\"out of range index\");if(thisStart>=thisEnd&&start>=end)return 0;if(thisStart>=thisEnd)return-1;if(start>=end)return 1;if(start>>>=0,end>>>=0,thisStart>>>=0,thisEnd>>>=0,this===target)return 0;let x=thisEnd-thisStart,y=end-start,len2=Math.min(x,y),thisCopy=this.slice(thisStart,thisEnd),targetCopy=target.slice(start,end);for(let i2=0;i2<len2;++i2)if(thisCopy[i2]!==targetCopy[i2]){x=thisCopy[i2],y=targetCopy[i2];break}if(x<y)return-1;if(y<x)return 1;return 0};function bidirectionalIndexOf(buffer,val,byteOffset,encoding,dir){if(buffer.length===0)return-1;if(typeof byteOffset===\"string\")encoding=byteOffset,byteOffset=0;else if(byteOffset>2147483647)byteOffset=2147483647;else if(byteOffset<-2147483648)byteOffset=-2147483648;if(byteOffset=+byteOffset,Number.isNaN(byteOffset))byteOffset=dir?0:buffer.length-1;if(byteOffset<0)byteOffset=buffer.length+byteOffset;if(byteOffset>=buffer.length)if(dir)return-1;else byteOffset=buffer.length-1;else if(byteOffset<0)if(dir)byteOffset=0;else return-1;if(typeof val===\"string\")val=Buffer.from(val,encoding);if(Buffer.isBuffer(val)){if(val.length===0)return-1;return arrayIndexOf(buffer,val,byteOffset,encoding,dir)}else if(typeof val===\"number\"){if(val=val&255,typeof Uint8Array.prototype.indexOf===\"function\")if(dir)return Uint8Array.prototype.indexOf.call(buffer,val,byteOffset);else return Uint8Array.prototype.lastIndexOf.call(buffer,val,byteOffset);return arrayIndexOf(buffer,[val],byteOffset,encoding,dir)}throw TypeError(\"val must be string, number or Buffer\")}function arrayIndexOf(arr,val,byteOffset,encoding,dir){let indexSize=1,arrLength=arr.length,valLength=val.length;if(encoding!==void 0){if(encoding=String(encoding).toLowerCase(),encoding===\"ucs2\"||encoding===\"ucs-2\"||encoding===\"utf16le\"||encoding===\"utf-16le\"){if(arr.length<2||val.length<2)return-1;indexSize=2,arrLength/=2,valLength/=2,byteOffset/=2}}function read2(buf,i3){if(indexSize===1)return buf[i3];else return buf.readUInt16BE(i3*indexSize)}let i2;if(dir){let foundIndex=-1;for(i2=byteOffset;i2<arrLength;i2++)if(read2(arr,i2)===read2(val,foundIndex===-1?0:i2-foundIndex)){if(foundIndex===-1)foundIndex=i2;if(i2-foundIndex+1===valLength)return foundIndex*indexSize}else{if(foundIndex!==-1)i2-=i2-foundIndex;foundIndex=-1}}else{if(byteOffset+valLength>arrLength)byteOffset=arrLength-valLength;for(i2=byteOffset;i2>=0;i2--){let found=!0;for(let j=0;j<valLength;j++)if(read2(arr,i2+j)!==read2(val,j)){found=!1;break}if(found)return i2}}return-1}Buffer.prototype.includes=function(val,byteOffset,encoding){return this.indexOf(val,byteOffset,encoding)!==-1};Buffer.prototype.indexOf=function(val,byteOffset,encoding){return bidirectionalIndexOf(this,val,byteOffset,encoding,!0)};Buffer.prototype.lastIndexOf=function(val,byteOffset,encoding){return bidirectionalIndexOf(this,val,byteOffset,encoding,!1)};function hexWrite(buf,string,offset,length){offset=Number(offset)||0;let remaining=buf.length-offset;if(!length)length=remaining;else if(length=Number(length),length>remaining)length=remaining;let strLen=string.length;if(length>strLen/2)length=strLen/2;let i2;for(i2=0;i2<length;++i2){let parsed=parseInt(string.substr(i2*2,2),16);if(Number.isNaN(parsed))return i2;buf[offset+i2]=parsed}return i2}function utf8Write(buf,string,offset,length){return blitBuffer(utf8ToBytes(string,buf.length-offset),buf,offset,length)}function asciiWrite(buf,string,offset,length){return blitBuffer(asciiToBytes(string),buf,offset,length)}function base64Write(buf,string,offset,length){return blitBuffer(base64ToBytes(string),buf,offset,length)}function ucs2Write(buf,string,offset,length){return blitBuffer(utf16leToBytes(string,buf.length-offset),buf,offset,length)}Buffer.prototype.write=function(string,offset,length,encoding){if(offset===void 0)encoding=\"utf8\",length=this.length,offset=0;else if(length===void 0&&typeof offset===\"string\")encoding=offset,length=this.length,offset=0;else if(isFinite(offset))if(offset=offset>>>0,isFinite(length)){if(length=length>>>0,encoding===void 0)encoding=\"utf8\"}else encoding=length,length=void 0;else throw Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");let remaining=this.length-offset;if(length===void 0||length>remaining)length=remaining;if(string.length>0&&(length<0||offset<0)||offset>this.length)throw RangeError(\"Attempt to write outside buffer bounds\");if(!encoding)encoding=\"utf8\";let loweredCase=!1;for(;;)switch(encoding){case\"hex\":return hexWrite(this,string,offset,length);case\"utf8\":case\"utf-8\":return utf8Write(this,string,offset,length);case\"ascii\":case\"latin1\":case\"binary\":return asciiWrite(this,string,offset,length);case\"base64\":return base64Write(this,string,offset,length);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return ucs2Write(this,string,offset,length);default:if(loweredCase)throw TypeError(\"Unknown encoding: \"+encoding);encoding=(\"\"+encoding).toLowerCase(),loweredCase=!0}};Buffer.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function base64Slice(buf,start,end){if(start===0&&end===buf.length)return fromByteArray(buf);else return fromByteArray(buf.slice(start,end))}function utf8Slice(buf,start,end){end=Math.min(buf.length,end);let res=[],i2=start;while(i2<end){let firstByte=buf[i2],codePoint=null,bytesPerSequence=firstByte>239?4:firstByte>223?3:firstByte>191?2:1;if(i2+bytesPerSequence<=end){let secondByte,thirdByte,fourthByte,tempCodePoint;switch(bytesPerSequence){case 1:if(firstByte<128)codePoint=firstByte;break;case 2:if(secondByte=buf[i2+1],(secondByte&192)===128){if(tempCodePoint=(firstByte&31)<<6|secondByte&63,tempCodePoint>127)codePoint=tempCodePoint}break;case 3:if(secondByte=buf[i2+1],thirdByte=buf[i2+2],(secondByte&192)===128&&(thirdByte&192)===128){if(tempCodePoint=(firstByte&15)<<12|(secondByte&63)<<6|thirdByte&63,tempCodePoint>2047&&(tempCodePoint<55296||tempCodePoint>57343))codePoint=tempCodePoint}break;case 4:if(secondByte=buf[i2+1],thirdByte=buf[i2+2],fourthByte=buf[i2+3],(secondByte&192)===128&&(thirdByte&192)===128&&(fourthByte&192)===128){if(tempCodePoint=(firstByte&15)<<18|(secondByte&63)<<12|(thirdByte&63)<<6|fourthByte&63,tempCodePoint>65535&&tempCodePoint<1114112)codePoint=tempCodePoint}}}if(codePoint===null)codePoint=65533,bytesPerSequence=1;else if(codePoint>65535)codePoint-=65536,res.push(codePoint>>>10&1023|55296),codePoint=56320|codePoint&1023;res.push(codePoint),i2+=bytesPerSequence}return decodeCodePointsArray(res)}var MAX_ARGUMENTS_LENGTH=4096;function decodeCodePointsArray(codePoints){let len2=codePoints.length;if(len2<=MAX_ARGUMENTS_LENGTH)return String.fromCharCode.apply(String,codePoints);let res=\"\",i2=0;while(i2<len2)res+=String.fromCharCode.apply(String,codePoints.slice(i2,i2+=MAX_ARGUMENTS_LENGTH));return res}function asciiSlice(buf,start,end){let ret=\"\";end=Math.min(buf.length,end);for(let i2=start;i2<end;++i2)ret+=String.fromCharCode(buf[i2]&127);return ret}function latin1Slice(buf,start,end){let ret=\"\";end=Math.min(buf.length,end);for(let i2=start;i2<end;++i2)ret+=String.fromCharCode(buf[i2]);return ret}function hexSlice(buf,start,end){let len2=buf.length;if(!start||start<0)start=0;if(!end||end<0||end>len2)end=len2;let out=\"\";for(let i2=start;i2<end;++i2)out+=hexSliceLookupTable[buf[i2]];return out}function utf16leSlice(buf,start,end){let bytes=buf.slice(start,end),res=\"\";for(let i2=0;i2<bytes.length-1;i2+=2)res+=String.fromCharCode(bytes[i2]+bytes[i2+1]*256);return res}Buffer.prototype.slice=function(start,end){let len2=this.length;if(start=~~start,end=end===void 0?len2:~~end,start<0){if(start+=len2,start<0)start=0}else if(start>len2)start=len2;if(end<0){if(end+=len2,end<0)end=0}else if(end>len2)end=len2;if(end<start)end=start;let newBuf=this.subarray(start,end);return Object.setPrototypeOf(newBuf,Buffer.prototype),newBuf};function checkOffset(offset,ext,length){if(offset%1!==0||offset<0)throw RangeError(\"offset is not uint\");if(offset+ext>length)throw RangeError(\"Trying to access beyond buffer length\")}Buffer.prototype.readUintLE=Buffer.prototype.readUIntLE=function(offset,byteLength2,noAssert){if(offset=offset>>>0,byteLength2=byteLength2>>>0,!noAssert)checkOffset(offset,byteLength2,this.length);let val=this[offset],mul=1,i2=0;while(++i2<byteLength2&&(mul*=256))val+=this[offset+i2]*mul;return val};Buffer.prototype.readUintBE=Buffer.prototype.readUIntBE=function(offset,byteLength2,noAssert){if(offset=offset>>>0,byteLength2=byteLength2>>>0,!noAssert)checkOffset(offset,byteLength2,this.length);let val=this[offset+--byteLength2],mul=1;while(byteLength2>0&&(mul*=256))val+=this[offset+--byteLength2]*mul;return val};Buffer.prototype.readUint8=Buffer.prototype.readUInt8=function(offset,noAssert){if(offset=offset>>>0,!noAssert)checkOffset(offset,1,this.length);return this[offset]};Buffer.prototype.readUint16LE=Buffer.prototype.readUInt16LE=function(offset,noAssert){if(offset=offset>>>0,!noAssert)checkOffset(offset,2,this.length);return this[offset]|this[offset+1]<<8};Buffer.prototype.readUint16BE=Buffer.prototype.readUInt16BE=function(offset,noAssert){if(offset=offset>>>0,!noAssert)checkOffset(offset,2,this.length);return this[offset]<<8|this[offset+1]};Buffer.prototype.readUint32LE=Buffer.prototype.readUInt32LE=function(offset,noAssert){if(offset=offset>>>0,!noAssert)checkOffset(offset,4,this.length);return(this[offset]|this[offset+1]<<8|this[offset+2]<<16)+this[offset+3]*16777216};Buffer.prototype.readUint32BE=Buffer.prototype.readUInt32BE=function(offset,noAssert){if(offset=offset>>>0,!noAssert)checkOffset(offset,4,this.length);return this[offset]*16777216+(this[offset+1]<<16|this[offset+2]<<8|this[offset+3])};Buffer.prototype.readBigUInt64LE=defineBigIntMethod(function(offset){offset=offset>>>0,validateNumber(offset,\"offset\");let first=this[offset],last=this[offset+7];if(first===void 0||last===void 0)boundsError(offset,this.length-8);let lo=first+this[++offset]*256+this[++offset]*65536+this[++offset]*16777216,hi=this[++offset]+this[++offset]*256+this[++offset]*65536+last*16777216;return BigInt(lo)+(BigInt(hi)<<BigInt(32))});Buffer.prototype.readBigUInt64BE=defineBigIntMethod(function(offset){offset=offset>>>0,validateNumber(offset,\"offset\");let first=this[offset],last=this[offset+7];if(first===void 0||last===void 0)boundsError(offset,this.length-8);let hi=first*16777216+this[++offset]*65536+this[++offset]*256+this[++offset],lo=this[++offset]*16777216+this[++offset]*65536+this[++offset]*256+last;return(BigInt(hi)<<BigInt(32))+BigInt(lo)});Buffer.prototype.readIntLE=function(offset,byteLength2,noAssert){if(offset=offset>>>0,byteLength2=byteLength2>>>0,!noAssert)checkOffset(offset,byteLength2,this.length);let val=this[offset],mul=1,i2=0;while(++i2<byteLength2&&(mul*=256))val+=this[offset+i2]*mul;if(mul*=128,val>=mul)val-=Math.pow(2,8*byteLength2);return val};Buffer.prototype.readIntBE=function(offset,byteLength2,noAssert){if(offset=offset>>>0,byteLength2=byteLength2>>>0,!noAssert)checkOffset(offset,byteLength2,this.length);let i2=byteLength2,mul=1,val=this[offset+--i2];while(i2>0&&(mul*=256))val+=this[offset+--i2]*mul;if(mul*=128,val>=mul)val-=Math.pow(2,8*byteLength2);return val};Buffer.prototype.readInt8=function(offset,noAssert){if(offset=offset>>>0,!noAssert)checkOffset(offset,1,this.length);if(!(this[offset]&128))return this[offset];return(255-this[offset]+1)*-1};Buffer.prototype.readInt16LE=function(offset,noAssert){if(offset=offset>>>0,!noAssert)checkOffset(offset,2,this.length);let val=this[offset]|this[offset+1]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt16BE=function(offset,noAssert){if(offset=offset>>>0,!noAssert)checkOffset(offset,2,this.length);let val=this[offset+1]|this[offset]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt32LE=function(offset,noAssert){if(offset=offset>>>0,!noAssert)checkOffset(offset,4,this.length);return this[offset]|this[offset+1]<<8|this[offset+2]<<16|this[offset+3]<<24};Buffer.prototype.readInt32BE=function(offset,noAssert){if(offset=offset>>>0,!noAssert)checkOffset(offset,4,this.length);return this[offset]<<24|this[offset+1]<<16|this[offset+2]<<8|this[offset+3]};Buffer.prototype.readBigInt64LE=defineBigIntMethod(function(offset){offset=offset>>>0,validateNumber(offset,\"offset\");let first=this[offset],last=this[offset+7];if(first===void 0||last===void 0)boundsError(offset,this.length-8);let val=this[offset+4]+this[offset+5]*256+this[offset+6]*65536+(last<<24);return(BigInt(val)<<BigInt(32))+BigInt(first+this[++offset]*256+this[++offset]*65536+this[++offset]*16777216)});Buffer.prototype.readBigInt64BE=defineBigIntMethod(function(offset){offset=offset>>>0,validateNumber(offset,\"offset\");let first=this[offset],last=this[offset+7];if(first===void 0||last===void 0)boundsError(offset,this.length-8);let val=(first<<24)+this[++offset]*65536+this[++offset]*256+this[++offset];return(BigInt(val)<<BigInt(32))+BigInt(this[++offset]*16777216+this[++offset]*65536+this[++offset]*256+last)});Buffer.prototype.readFloatLE=function(offset,noAssert){if(offset=offset>>>0,!noAssert)checkOffset(offset,4,this.length);return read(this,offset,!0,23,4)};Buffer.prototype.readFloatBE=function(offset,noAssert){if(offset=offset>>>0,!noAssert)checkOffset(offset,4,this.length);return read(this,offset,!1,23,4)};Buffer.prototype.readDoubleLE=function(offset,noAssert){if(offset=offset>>>0,!noAssert)checkOffset(offset,8,this.length);return read(this,offset,!0,52,8)};Buffer.prototype.readDoubleBE=function(offset,noAssert){if(offset=offset>>>0,!noAssert)checkOffset(offset,8,this.length);return read(this,offset,!1,52,8)};function checkInt(buf,value,offset,ext,max,min){if(!Buffer.isBuffer(buf))throw TypeError('\"buffer\" argument must be a Buffer instance');if(value>max||value<min)throw RangeError('\"value\" argument is out of bounds');if(offset+ext>buf.length)throw RangeError(\"Index out of range\")}Buffer.prototype.writeUintLE=Buffer.prototype.writeUIntLE=function(value,offset,byteLength2,noAssert){if(value=+value,offset=offset>>>0,byteLength2=byteLength2>>>0,!noAssert){let maxBytes=Math.pow(2,8*byteLength2)-1;checkInt(this,value,offset,byteLength2,maxBytes,0)}let mul=1,i2=0;this[offset]=value&255;while(++i2<byteLength2&&(mul*=256))this[offset+i2]=value/mul&255;return offset+byteLength2};Buffer.prototype.writeUintBE=Buffer.prototype.writeUIntBE=function(value,offset,byteLength2,noAssert){if(value=+value,offset=offset>>>0,byteLength2=byteLength2>>>0,!noAssert){let maxBytes=Math.pow(2,8*byteLength2)-1;checkInt(this,value,offset,byteLength2,maxBytes,0)}let i2=byteLength2-1,mul=1;this[offset+i2]=value&255;while(--i2>=0&&(mul*=256))this[offset+i2]=value/mul&255;return offset+byteLength2};Buffer.prototype.writeUint8=Buffer.prototype.writeUInt8=function(value,offset,noAssert){if(value=+value,offset=offset>>>0,!noAssert)checkInt(this,value,offset,1,255,0);return this[offset]=value&255,offset+1};Buffer.prototype.writeUint16LE=Buffer.prototype.writeUInt16LE=function(value,offset,noAssert){if(value=+value,offset=offset>>>0,!noAssert)checkInt(this,value,offset,2,65535,0);return this[offset]=value&255,this[offset+1]=value>>>8,offset+2};Buffer.prototype.writeUint16BE=Buffer.prototype.writeUInt16BE=function(value,offset,noAssert){if(value=+value,offset=offset>>>0,!noAssert)checkInt(this,value,offset,2,65535,0);return this[offset]=value>>>8,this[offset+1]=value&255,offset+2};Buffer.prototype.writeUint32LE=Buffer.prototype.writeUInt32LE=function(value,offset,noAssert){if(value=+value,offset=offset>>>0,!noAssert)checkInt(this,value,offset,4,4294967295,0);return this[offset+3]=value>>>24,this[offset+2]=value>>>16,this[offset+1]=value>>>8,this[offset]=value&255,offset+4};Buffer.prototype.writeUint32BE=Buffer.prototype.writeUInt32BE=function(value,offset,noAssert){if(value=+value,offset=offset>>>0,!noAssert)checkInt(this,value,offset,4,4294967295,0);return this[offset]=value>>>24,this[offset+1]=value>>>16,this[offset+2]=value>>>8,this[offset+3]=value&255,offset+4};function wrtBigUInt64LE(buf,value,offset,min,max){checkIntBI(value,min,max,buf,offset,7);let lo=Number(value&BigInt(4294967295));buf[offset++]=lo,lo=lo>>8,buf[offset++]=lo,lo=lo>>8,buf[offset++]=lo,lo=lo>>8,buf[offset++]=lo;let hi=Number(value>>BigInt(32)&BigInt(4294967295));return buf[offset++]=hi,hi=hi>>8,buf[offset++]=hi,hi=hi>>8,buf[offset++]=hi,hi=hi>>8,buf[offset++]=hi,offset}function wrtBigUInt64BE(buf,value,offset,min,max){checkIntBI(value,min,max,buf,offset,7);let lo=Number(value&BigInt(4294967295));buf[offset+7]=lo,lo=lo>>8,buf[offset+6]=lo,lo=lo>>8,buf[offset+5]=lo,lo=lo>>8,buf[offset+4]=lo;let hi=Number(value>>BigInt(32)&BigInt(4294967295));return buf[offset+3]=hi,hi=hi>>8,buf[offset+2]=hi,hi=hi>>8,buf[offset+1]=hi,hi=hi>>8,buf[offset]=hi,offset+8}Buffer.prototype.writeBigUInt64LE=defineBigIntMethod(function(value,offset=0){return wrtBigUInt64LE(this,value,offset,BigInt(0),BigInt(\"0xffffffffffffffff\"))});Buffer.prototype.writeBigUInt64BE=defineBigIntMethod(function(value,offset=0){return wrtBigUInt64BE(this,value,offset,BigInt(0),BigInt(\"0xffffffffffffffff\"))});Buffer.prototype.writeIntLE=function(value,offset,byteLength2,noAssert){if(value=+value,offset=offset>>>0,!noAssert){let limit=Math.pow(2,8*byteLength2-1);checkInt(this,value,offset,byteLength2,limit-1,-limit)}let i2=0,mul=1,sub=0;this[offset]=value&255;while(++i2<byteLength2&&(mul*=256)){if(value<0&&sub===0&&this[offset+i2-1]!==0)sub=1;this[offset+i2]=(value/mul>>0)-sub&255}return offset+byteLength2};Buffer.prototype.writeIntBE=function(value,offset,byteLength2,noAssert){if(value=+value,offset=offset>>>0,!noAssert){let limit=Math.pow(2,8*byteLength2-1);checkInt(this,value,offset,byteLength2,limit-1,-limit)}let i2=byteLength2-1,mul=1,sub=0;this[offset+i2]=value&255;while(--i2>=0&&(mul*=256)){if(value<0&&sub===0&&this[offset+i2+1]!==0)sub=1;this[offset+i2]=(value/mul>>0)-sub&255}return offset+byteLength2};Buffer.prototype.writeInt8=function(value,offset,noAssert){if(value=+value,offset=offset>>>0,!noAssert)checkInt(this,value,offset,1,127,-128);if(value<0)value=255+value+1;return this[offset]=value&255,offset+1};Buffer.prototype.writeInt16LE=function(value,offset,noAssert){if(value=+value,offset=offset>>>0,!noAssert)checkInt(this,value,offset,2,32767,-32768);return this[offset]=value&255,this[offset+1]=value>>>8,offset+2};Buffer.prototype.writeInt16BE=function(value,offset,noAssert){if(value=+value,offset=offset>>>0,!noAssert)checkInt(this,value,offset,2,32767,-32768);return this[offset]=value>>>8,this[offset+1]=value&255,offset+2};Buffer.prototype.writeInt32LE=function(value,offset,noAssert){if(value=+value,offset=offset>>>0,!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);return this[offset]=value&255,this[offset+1]=value>>>8,this[offset+2]=value>>>16,this[offset+3]=value>>>24,offset+4};Buffer.prototype.writeInt32BE=function(value,offset,noAssert){if(value=+value,offset=offset>>>0,!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);if(value<0)value=4294967295+value+1;return this[offset]=value>>>24,this[offset+1]=value>>>16,this[offset+2]=value>>>8,this[offset+3]=value&255,offset+4};Buffer.prototype.writeBigInt64LE=defineBigIntMethod(function(value,offset=0){return wrtBigUInt64LE(this,value,offset,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))});Buffer.prototype.writeBigInt64BE=defineBigIntMethod(function(value,offset=0){return wrtBigUInt64BE(this,value,offset,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))});function checkIEEE754(buf,value,offset,ext,max,min){if(offset+ext>buf.length)throw RangeError(\"Index out of range\");if(offset<0)throw RangeError(\"Index out of range\")}function writeFloat(buf,value,offset,littleEndian,noAssert){if(value=+value,offset=offset>>>0,!noAssert)checkIEEE754(buf,value,offset,4,340282346638528860000000000000000000000,-340282346638528860000000000000000000000);return write(buf,value,offset,littleEndian,23,4),offset+4}Buffer.prototype.writeFloatLE=function(value,offset,noAssert){return writeFloat(this,value,offset,!0,noAssert)};Buffer.prototype.writeFloatBE=function(value,offset,noAssert){return writeFloat(this,value,offset,!1,noAssert)};function writeDouble(buf,value,offset,littleEndian,noAssert){if(value=+value,offset=offset>>>0,!noAssert)checkIEEE754(buf,value,offset,8,179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,-179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000);return write(buf,value,offset,littleEndian,52,8),offset+8}Buffer.prototype.writeDoubleLE=function(value,offset,noAssert){return writeDouble(this,value,offset,!0,noAssert)};Buffer.prototype.writeDoubleBE=function(value,offset,noAssert){return writeDouble(this,value,offset,!1,noAssert)};Buffer.prototype.copy=function(target,targetStart,start,end){if(!Buffer.isBuffer(target))throw TypeError(\"argument should be a Buffer\");if(!start)start=0;if(!end&&end!==0)end=this.length;if(targetStart>=target.length)targetStart=target.length;if(!targetStart)targetStart=0;if(end>0&&end<start)end=start;if(end===start)return 0;if(target.length===0||this.length===0)return 0;if(targetStart<0)throw RangeError(\"targetStart out of bounds\");if(start<0||start>=this.length)throw RangeError(\"Index out of range\");if(end<0)throw RangeError(\"sourceEnd out of bounds\");if(end>this.length)end=this.length;if(target.length-targetStart<end-start)end=target.length-targetStart+start;let len2=end-start;if(this===target&&typeof Uint8Array.prototype.copyWithin===\"function\")this.copyWithin(targetStart,start,end);else Uint8Array.prototype.set.call(target,this.subarray(start,end),targetStart);return len2};Buffer.prototype.fill=function(val,start,end,encoding){if(typeof val===\"string\"){if(typeof start===\"string\")encoding=start,start=0,end=this.length;else if(typeof end===\"string\")encoding=end,end=this.length;if(encoding!==void 0&&typeof encoding!==\"string\")throw TypeError(\"encoding must be a string\");if(typeof encoding===\"string\"&&!Buffer.isEncoding(encoding))throw TypeError(\"Unknown encoding: \"+encoding);if(val.length===1){let code2=val.charCodeAt(0);if(encoding===\"utf8\"&&code2<128||encoding===\"latin1\")val=code2}}else if(typeof val===\"number\")val=val&255;else if(typeof val===\"boolean\")val=Number(val);if(start<0||this.length<start||this.length<end)throw RangeError(\"Out of range index\");if(end<=start)return this;if(start=start>>>0,end=end===void 0?this.length:end>>>0,!val)val=0;let i2;if(typeof val===\"number\")for(i2=start;i2<end;++i2)this[i2]=val;else{let bytes=Buffer.isBuffer(val)?val:Buffer.from(val,encoding),len2=bytes.length;if(len2===0)throw TypeError('The value \"'+val+'\" is invalid for argument \"value\"');for(i2=0;i2<end-start;++i2)this[i2+start]=bytes[i2%len2]}return this};function addNumericalSeparator(val){let res=\"\",i2=val.length,start=val[0]===\"-\"?1:0;for(;i2>=start+4;i2-=3)res=`_${val.slice(i2-3,i2)}${res}`;return`${val.slice(0,i2)}${res}`}function checkBounds(buf,offset,byteLength2){if(validateNumber(offset,\"offset\"),buf[offset]===void 0||buf[offset+byteLength2]===void 0)boundsError(offset,buf.length-(byteLength2+1))}function checkIntBI(value,min,max,buf,offset,byteLength2){if(value>max||value<min){let n=typeof min===\"bigint\"?\"n\":\"\",range;if(byteLength2>3)if(min===0||min===BigInt(0))range=`>= 0${n} and < 2${n} ** ${(byteLength2+1)*8}${n}`;else range=`>= -(2${n} ** ${(byteLength2+1)*8-1}${n}) and < 2 ** ${(byteLength2+1)*8-1}${n}`;else range=`>= ${min}${n} and <= ${max}${n}`;throw new ERR_OUT_OF_RANGE(\"value\",range,value)}checkBounds(buf,offset,byteLength2)}function validateNumber(value,name){if(typeof value!==\"number\")throw new ERR_INVALID_ARG_TYPE(name,\"number\",value)}function boundsError(value,length,type){if(Math.floor(value)!==value)throw validateNumber(value,type),new ERR_OUT_OF_RANGE(type||\"offset\",\"an integer\",value);if(length<0)throw new ERR_BUFFER_OUT_OF_BOUNDS;throw new ERR_OUT_OF_RANGE(type||\"offset\",`>= ${type?1:0} and <= ${length}`,value)}var INVALID_BASE64_RE=/[^+/0-9A-Za-z-_]/g;function base64clean(str){if(str=str.split(\"=\")[0],str=str.trim().replace(INVALID_BASE64_RE,\"\"),str.length<2)return\"\";while(str.length%4!==0)str=str+\"=\";return str}function utf8ToBytes(string,units){units=units||1/0;let codePoint,length=string.length,leadSurrogate=null,bytes=[];for(let i2=0;i2<length;++i2){if(codePoint=string.charCodeAt(i2),codePoint>55295&&codePoint<57344){if(!leadSurrogate){if(codePoint>56319){if((units-=3)>-1)bytes.push(239,191,189);continue}else if(i2+1===length){if((units-=3)>-1)bytes.push(239,191,189);continue}leadSurrogate=codePoint;continue}if(codePoint<56320){if((units-=3)>-1)bytes.push(239,191,189);leadSurrogate=codePoint;continue}codePoint=(leadSurrogate-55296<<10|codePoint-56320)+65536}else if(leadSurrogate){if((units-=3)>-1)bytes.push(239,191,189)}if(leadSurrogate=null,codePoint<128){if((units-=1)<0)break;bytes.push(codePoint)}else if(codePoint<2048){if((units-=2)<0)break;bytes.push(codePoint>>6|192,codePoint&63|128)}else if(codePoint<65536){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,codePoint&63|128)}else if(codePoint<1114112){if((units-=4)<0)break;bytes.push(codePoint>>18|240,codePoint>>12&63|128,codePoint>>6&63|128,codePoint&63|128)}else throw Error(\"Invalid code point\")}return bytes}function asciiToBytes(str){let byteArray=[];for(let i2=0;i2<str.length;++i2)byteArray.push(str.charCodeAt(i2)&255);return byteArray}function utf16leToBytes(str,units){let c,hi,lo,byteArray=[];for(let i2=0;i2<str.length;++i2){if((units-=2)<0)break;c=str.charCodeAt(i2),hi=c>>8,lo=c%256,byteArray.push(lo),byteArray.push(hi)}return byteArray}function base64ToBytes(str){return toByteArray(base64clean(str))}function blitBuffer(src,dst,offset,length){let i2;for(i2=0;i2<length;++i2){if(i2+offset>=dst.length||i2>=src.length)break;dst[i2+offset]=src[i2]}return i2}function isInstance(obj,type){return obj instanceof type||obj!=null&&obj.constructor!=null&&obj.constructor.name!=null&&obj.constructor.name===type.name}var hexSliceLookupTable=function(){let table=Array(256);for(let i2=0;i2<16;++i2){let i16=i2*16;for(let j=0;j<16;++j)table[i16+j]=\"0123456789abcdef\"[i2]+\"0123456789abcdef\"[j]}return table}();function defineBigIntMethod(fn){return typeof BigInt>\"u\"?BufferBigIntNotDefined:fn}function BufferBigIntNotDefined(){throw Error(\"BigInt not supported\")}function notimpl(name){return()=>{throw Error(name+\" is not implemented for node:buffer browser polyfill\")}}var resolveObjectURL=notimpl(\"resolveObjectURL\"),isUtf8=notimpl(\"isUtf8\"),isAscii=(str)=>{for(let char of str)if(char.charCodeAt(0)>127)return!1;return!0},transcode=notimpl(\"transcode\"),buffer_default=Buffer;export{transcode,resolveObjectURL,kStringMaxLength,kMaxLength,isUtf8,isAscii,buffer_default as default,constants,btoa,atob,INSPECT_MAX_BYTES,File,Buffer,Blob};",
|
|
6
|
+
"var formatRegExp=/%[sdj%]/g;function format(f,...args){if(!isString(f)){var objects=[f];for(var i=0;i<args.length;i++)objects.push(inspect(args[i]));return objects.join(\" \")}var i=0,len=args.length,str=String(f).replace(formatRegExp,function(x2){if(x2===\"%%\")return\"%\";if(i>=len)return x2;switch(x2){case\"%s\":return String(args[i++]);case\"%d\":return Number(args[i++]);case\"%j\":try{return JSON.stringify(args[i++])}catch(_){return\"[Circular]\"}default:return x2}});for(var x=args[i];i<len;x=args[++i])if(isNull(x)||!isObject(x))str+=\" \"+x;else str+=\" \"+inspect(x);return str}function deprecate(fn,msg){if(typeof process>\"u\"||process?.noDeprecation===!0)return fn;var warned=!1;function deprecated(...args){if(!warned){if(process.throwDeprecation)throw Error(msg);else if(process.traceDeprecation)console.trace(msg);else console.error(msg);warned=!0}return fn.apply(this,...args)}return deprecated}var debuglog=((debugs={},debugEnvRegex={},debugEnv)=>((debugEnv=typeof process<\"u\"&&!1)&&(debugEnv=debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g,\"\\\\$&\").replace(/\\*/g,\".*\").replace(/,/g,\"$|^\").toUpperCase()),debugEnvRegex=new RegExp(\"^\"+debugEnv+\"$\",\"i\"),(set)=>{if(set=set.toUpperCase(),!debugs[set])if(debugEnvRegex.test(set))debugs[set]=function(...args){console.error(\"%s: %s\",set,pid,format.apply(null,...args))};else debugs[set]=function(){};return debugs[set]}))(),inspect=((i)=>(i.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},i.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},i.custom=Symbol.for(\"nodejs.util.inspect.custom\"),i))(function(obj,opts,...rest){var ctx={seen:[],stylize:stylizeNoColor};if(rest.length>=1)ctx.depth=rest[0];if(rest.length>=2)ctx.colors=rest[1];if(isBoolean(opts))ctx.showHidden=opts;else if(opts)_extend(ctx,opts);if(isUndefined(ctx.showHidden))ctx.showHidden=!1;if(isUndefined(ctx.depth))ctx.depth=2;if(isUndefined(ctx.colors))ctx.colors=!1;if(ctx.colors)ctx.stylize=stylizeWithColor;return formatValue(ctx,obj,ctx.depth)});function stylizeWithColor(str,styleType){var style=inspect.styles[styleType];if(style)return\"\\x1B[\"+inspect.colors[style][0]+\"m\"+str+\"\\x1B[\"+inspect.colors[style][1]+\"m\";else return str}function stylizeNoColor(str,styleType){return str}function arrayToHash(array){var hash={};return array.forEach(function(val,idx){hash[val]=!0}),hash}function formatValue(ctx,value,recurseTimes){if(ctx.customInspect&&value&&isFunction(value.inspect)&&value.inspect!==inspect&&!(value.constructor&&value.constructor.prototype===value)){var ret=value.inspect(recurseTimes,ctx);if(!isString(ret))ret=formatValue(ctx,ret,recurseTimes);return ret}var primitive=formatPrimitive(ctx,value);if(primitive)return primitive;var keys=Object.keys(value),visibleKeys=arrayToHash(keys);if(ctx.showHidden)keys=Object.getOwnPropertyNames(value);if(isError(value)&&(keys.indexOf(\"message\")>=0||keys.indexOf(\"description\")>=0))return formatError(value);if(keys.length===0){if(isFunction(value)){var name=value.name?\": \"+value.name:\"\";return ctx.stylize(\"[Function\"+name+\"]\",\"special\")}if(isRegExp(value))return ctx.stylize(RegExp.prototype.toString.call(value),\"regexp\");if(isDate(value))return ctx.stylize(Date.prototype.toString.call(value),\"date\");if(isError(value))return formatError(value)}var base=\"\",array=!1,braces=[\"{\",\"}\"];if(isArray(value))array=!0,braces=[\"[\",\"]\"];if(isFunction(value)){var n=value.name?\": \"+value.name:\"\";base=\" [Function\"+n+\"]\"}if(isRegExp(value))base=\" \"+RegExp.prototype.toString.call(value);if(isDate(value))base=\" \"+Date.prototype.toUTCString.call(value);if(isError(value))base=\" \"+formatError(value);if(keys.length===0&&(!array||value.length==0))return braces[0]+base+braces[1];if(recurseTimes<0)if(isRegExp(value))return ctx.stylize(RegExp.prototype.toString.call(value),\"regexp\");else return ctx.stylize(\"[Object]\",\"special\");ctx.seen.push(value);var output;if(array)output=formatArray(ctx,value,recurseTimes,visibleKeys,keys);else output=keys.map(function(key){return formatProperty(ctx,value,recurseTimes,visibleKeys,key,array)});return ctx.seen.pop(),reduceToSingleString(output,base,braces)}function formatPrimitive(ctx,value){if(isUndefined(value))return ctx.stylize(\"undefined\",\"undefined\");if(isString(value)){var simple=\"'\"+JSON.stringify(value).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return ctx.stylize(simple,\"string\")}if(isNumber(value))return ctx.stylize(\"\"+value,\"number\");if(isBoolean(value))return ctx.stylize(\"\"+value,\"boolean\");if(isNull(value))return ctx.stylize(\"null\",\"null\")}function formatError(value){return\"[\"+Error.prototype.toString.call(value)+\"]\"}function formatArray(ctx,value,recurseTimes,visibleKeys,keys){var output=[];for(var i=0,l=value.length;i<l;++i)if(hasOwnProperty(value,String(i)))output.push(formatProperty(ctx,value,recurseTimes,visibleKeys,String(i),!0));else output.push(\"\");return keys.forEach(function(key){if(!key.match(/^\\d+$/))output.push(formatProperty(ctx,value,recurseTimes,visibleKeys,key,!0))}),output}function formatProperty(ctx,value,recurseTimes,visibleKeys,key,array){var name,str,desc;if(desc=Object.getOwnPropertyDescriptor(value,key)||{value:value[key]},desc.get)if(desc.set)str=ctx.stylize(\"[Getter/Setter]\",\"special\");else str=ctx.stylize(\"[Getter]\",\"special\");else if(desc.set)str=ctx.stylize(\"[Setter]\",\"special\");if(!hasOwnProperty(visibleKeys,key))name=\"[\"+key+\"]\";if(!str)if(ctx.seen.indexOf(desc.value)<0){if(isNull(recurseTimes))str=formatValue(ctx,desc.value,null);else str=formatValue(ctx,desc.value,recurseTimes-1);if(str.indexOf(`\n`)>-1)if(array)str=str.split(`\n`).map(function(line){return\" \"+line}).join(`\n`).slice(2);else str=`\n`+str.split(`\n`).map(function(line){return\" \"+line}).join(`\n`)}else str=ctx.stylize(\"[Circular]\",\"special\");if(isUndefined(name)){if(array&&key.match(/^\\d+$/))return str;if(name=JSON.stringify(\"\"+key),name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/))name=name.slice(1,-1),name=ctx.stylize(name,\"name\");else name=name.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),name=ctx.stylize(name,\"string\")}return name+\": \"+str}function reduceToSingleString(output,base,braces){var numLinesEst=0,length=output.reduce(function(prev,cur){if(numLinesEst++,cur.indexOf(`\n`)>=0)numLinesEst++;return prev+cur.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);if(length>60)return braces[0]+(base===\"\"?\"\":base+`\n `)+\" \"+output.join(`,\n `)+\" \"+braces[1];return braces[0]+base+\" \"+output.join(\", \")+\" \"+braces[1]}var types=()=>{};function isArray(ar){return Array.isArray(ar)}function isBoolean(arg){return typeof arg===\"boolean\"}function isNull(arg){return arg===null}function isNullOrUndefined(arg){return arg==null}function isNumber(arg){return typeof arg===\"number\"}function isString(arg){return typeof arg===\"string\"}function isSymbol(arg){return typeof arg===\"symbol\"}function isUndefined(arg){return arg===void 0}function isRegExp(re){return isObject(re)&&objectToString(re)===\"[object RegExp]\"}function isObject(arg){return typeof arg===\"object\"&&arg!==null}function isDate(d){return isObject(d)&&objectToString(d)===\"[object Date]\"}function isError(e){return isObject(e)&&(objectToString(e)===\"[object Error]\"||e instanceof Error)}function isFunction(arg){return typeof arg===\"function\"}function isPrimitive(arg){return arg===null||typeof arg===\"boolean\"||typeof arg===\"number\"||typeof arg===\"string\"||typeof arg===\"symbol\"||typeof arg>\"u\"}function isBuffer(arg){return arg instanceof Buffer}function objectToString(o){return Object.prototype.toString.call(o)}function pad(n){return n<10?\"0\"+n.toString(10):n.toString(10)}var months=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function timestamp(){var d=new Date,time=[pad(d.getHours()),pad(d.getMinutes()),pad(d.getSeconds())].join(\":\");return[d.getDate(),months[d.getMonth()],time].join(\" \")}function log(...args){console.log(\"%s - %s\",timestamp(),format.apply(null,args))}function inherits(ctor,superCtor){if(superCtor)ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})}function _extend(origin,add){if(!add||!isObject(add))return origin;var keys=Object.keys(add),i=keys.length;while(i--)origin[keys[i]]=add[keys[i]];return origin}function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}var promisify=((x)=>(x.custom=Symbol.for(\"nodejs.util.promisify.custom\"),x))(function(original){if(typeof original!==\"function\")throw TypeError('The \"original\" argument must be of type Function');if(kCustomPromisifiedSymbol&&original[kCustomPromisifiedSymbol]){var fn=original[kCustomPromisifiedSymbol];if(typeof fn!==\"function\")throw TypeError('The \"nodejs.util.promisify.custom\" argument must be of type Function');return Object.defineProperty(fn,kCustomPromisifiedSymbol,{value:fn,enumerable:!1,writable:!1,configurable:!0}),fn}function fn(...args){var promiseResolve,promiseReject,promise=new Promise(function(resolve,reject){promiseResolve=resolve,promiseReject=reject});args.push(function(err,value){if(err)promiseReject(err);else promiseResolve(value)});try{original.apply(this,args)}catch(err){promiseReject(err)}return promise}if(Object.setPrototypeOf(fn,Object.getPrototypeOf(original)),kCustomPromisifiedSymbol)Object.defineProperty(fn,kCustomPromisifiedSymbol,{value:fn,enumerable:!1,writable:!1,configurable:!0});return Object.defineProperties(fn,Object.getOwnPropertyDescriptors(original))});function callbackifyOnRejected(reason,cb){if(!reason){var newReason=Error(\"Promise was rejected with a falsy value\");newReason.reason=reason,reason=newReason}return cb(reason)}function callbackify(original){if(typeof original!==\"function\")throw TypeError('The \"original\" argument must be of type Function');function callbackified(...args){var maybeCb=args.pop();if(typeof maybeCb!==\"function\")throw TypeError(\"The last argument must be of type Function\");var self=this,cb=function(...args2){return maybeCb.apply(self,...args2)};original.apply(this,args).then(function(ret){process.nextTick(cb.bind(null,null,ret))},function(rej){process.nextTick(callbackifyOnRejected.bind(null,rej,cb))})}return Object.setPrototypeOf(callbackified,Object.getPrototypeOf(original)),Object.defineProperties(callbackified,Object.getOwnPropertyDescriptors(original)),callbackified}var{TextEncoder,TextDecoder}=globalThis,util_default={TextEncoder,TextDecoder,promisify,log,inherits,_extend,callbackifyOnRejected,callbackify};export{types,promisify,log,isUndefined,isSymbol,isString,isRegExp,isPrimitive,isObject,isNumber,isNullOrUndefined,isNull,isFunction,isError,isDate,isBuffer,isBoolean,isArray,inspect,inherits,format,deprecate,util_default as default,debuglog,callbackifyOnRejected,callbackify,_extend,TextEncoder,TextDecoder};",
|
|
7
|
+
"var SymbolFor=Symbol.for,kCapture=Symbol(\"kCapture\"),kErrorMonitor=SymbolFor(\"events.errorMonitor\"),kMaxEventTargetListeners=Symbol(\"events.maxEventTargetListeners\"),kMaxEventTargetListenersWarned=Symbol(\"events.maxEventTargetListenersWarned\"),kRejection=SymbolFor(\"nodejs.rejection\"),captureRejectionSymbol=SymbolFor(\"nodejs.rejection\"),ArrayPrototypeSlice=Array.prototype.slice,defaultMaxListeners=10,EventEmitter=function(opts){if(this._events===void 0||this._events===this.__proto__._events)this._events={__proto__:null},this._eventsCount=0;if(this._maxListeners??=void 0,this[kCapture]=opts?.captureRejections?Boolean(opts?.captureRejections):EventEmitterPrototype[kCapture])this.emit=emitWithRejectionCapture},EventEmitterPrototype=EventEmitter.prototype={};EventEmitterPrototype._events=void 0;EventEmitterPrototype._eventsCount=0;EventEmitterPrototype._maxListeners=void 0;EventEmitterPrototype.setMaxListeners=function(n){return validateNumber(n,\"setMaxListeners\",0),this._maxListeners=n,this};EventEmitterPrototype.constructor=EventEmitter;EventEmitterPrototype.getMaxListeners=function(){return this?._maxListeners??defaultMaxListeners};function emitError(emitter,args){var{_events:events}=emitter;if(args[0]??=Error(\"Unhandled error.\"),!events)throw args[0];var errorMonitor=events[kErrorMonitor];if(errorMonitor)for(var handler of ArrayPrototypeSlice.call(errorMonitor))handler.apply(emitter,args);var handlers=events.error;if(!handlers)throw args[0];for(var handler of ArrayPrototypeSlice.call(handlers))handler.apply(emitter,args);return!0}function addCatch(emitter,promise,type,args){promise.then(void 0,function(err){queueMicrotask(()=>emitUnhandledRejectionOrErr(emitter,err,type,args))})}function emitUnhandledRejectionOrErr(emitter,err,type,args){if(typeof emitter[kRejection]===\"function\")emitter[kRejection](err,type,...args);else try{emitter[kCapture]=!1,emitter.emit(\"error\",err)}finally{emitter[kCapture]=!0}}var emitWithoutRejectionCapture=function(type,...args){if(type===\"error\")return emitError(this,args);var{_events:events}=this;if(events===void 0)return!1;var handlers=events[type];if(handlers===void 0)return!1;let maybeClonedHandlers=handlers.length>1?handlers.slice():handlers;for(let i=0,{length}=maybeClonedHandlers;i<length;i++){let handler=maybeClonedHandlers[i];switch(args.length){case 0:handler.call(this);break;case 1:handler.call(this,args[0]);break;case 2:handler.call(this,args[0],args[1]);break;case 3:handler.call(this,args[0],args[1],args[2]);break;default:handler.apply(this,args);break}}return!0},emitWithRejectionCapture=function(type,...args){if(type===\"error\")return emitError(this,args);var{_events:events}=this;if(events===void 0)return!1;var handlers=events[type];if(handlers===void 0)return!1;let maybeClonedHandlers=handlers.length>1?handlers.slice():handlers;for(let i=0,{length}=maybeClonedHandlers;i<length;i++){let handler=maybeClonedHandlers[i],result;switch(args.length){case 0:result=handler.call(this);break;case 1:result=handler.call(this,args[0]);break;case 2:result=handler.call(this,args[0],args[1]);break;case 3:result=handler.call(this,args[0],args[1],args[2]);break;default:result=handler.apply(this,args);break}if(result!==void 0&&typeof result?.then===\"function\"&&result.then===Promise.prototype.then)addCatch(this,result,type,args)}return!0};EventEmitterPrototype.emit=emitWithoutRejectionCapture;EventEmitterPrototype.addListener=function(type,fn){checkListener(fn);var events=this._events;if(!events)events=this._events={__proto__:null},this._eventsCount=0;else if(events.newListener)this.emit(\"newListener\",type,fn.listener??fn);var handlers=events[type];if(!handlers)events[type]=[fn],this._eventsCount++;else{handlers.push(fn);var m=this._maxListeners??defaultMaxListeners;if(m>0&&handlers.length>m&&!handlers.warned)overflowWarning(this,type,handlers)}return this};EventEmitterPrototype.on=EventEmitterPrototype.addListener;EventEmitterPrototype.prependListener=function(type,fn){checkListener(fn);var events=this._events;if(!events)events=this._events={__proto__:null},this._eventsCount=0;else if(events.newListener)this.emit(\"newListener\",type,fn.listener??fn);var handlers=events[type];if(!handlers)events[type]=[fn],this._eventsCount++;else{handlers.unshift(fn);var m=this._maxListeners??defaultMaxListeners;if(m>0&&handlers.length>m&&!handlers.warned)overflowWarning(this,type,handlers)}return this};function overflowWarning(emitter,type,handlers){handlers.warned=!0;let warn=Error(`Possible EventEmitter memory leak detected. ${handlers.length} ${String(type)} listeners added to [${emitter.constructor.name}]. Use emitter.setMaxListeners() to increase limit`);warn.name=\"MaxListenersExceededWarning\",warn.emitter=emitter,warn.type=type,warn.count=handlers.length,console.warn(warn)}function onceWrapper(type,listener,...args){this.removeListener(type,listener),listener.apply(this,args)}EventEmitterPrototype.once=function(type,fn){checkListener(fn);let bound=onceWrapper.bind(this,type,fn);return bound.listener=fn,this.addListener(type,bound),this};EventEmitterPrototype.prependOnceListener=function(type,fn){checkListener(fn);let bound=onceWrapper.bind(this,type,fn);return bound.listener=fn,this.prependListener(type,bound),this};EventEmitterPrototype.removeListener=function(type,fn){checkListener(fn);var{_events:events}=this;if(!events)return this;var handlers=events[type];if(!handlers)return this;var length=handlers.length;let position=-1;for(let i=length-1;i>=0;i--)if(handlers[i]===fn||handlers[i].listener===fn){position=i;break}if(position<0)return this;if(position===0)handlers.shift();else handlers.splice(position,1);if(handlers.length===0)delete events[type],this._eventsCount--;return this};EventEmitterPrototype.off=EventEmitterPrototype.removeListener;EventEmitterPrototype.removeAllListeners=function(type){var{_events:events}=this;if(type&&events){if(events[type])delete events[type],this._eventsCount--}else this._events={__proto__:null};return this};EventEmitterPrototype.listeners=function(type){var{_events:events}=this;if(!events)return[];var handlers=events[type];if(!handlers)return[];return handlers.map((x)=>x.listener??x)};EventEmitterPrototype.rawListeners=function(type){var{_events}=this;if(!_events)return[];var handlers=_events[type];if(!handlers)return[];return handlers.slice()};EventEmitterPrototype.listenerCount=function(type){var{_events:events}=this;if(!events)return 0;return events[type]?.length??0};EventEmitterPrototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};EventEmitterPrototype[kCapture]=!1;function once2(emitter,type,options){var signal=options?.signal;if(validateAbortSignal(signal,\"options.signal\"),signal?.aborted)throw new AbortError(void 0,{cause:signal?.reason});let{resolve,reject,promise}=$newPromiseCapability(Promise),errorListener=(err)=>{if(emitter.removeListener(type,resolver),signal!=null)eventTargetAgnosticRemoveListener(signal,\"abort\",abortListener);reject(err)},resolver=(...args)=>{if(typeof emitter.removeListener===\"function\")emitter.removeListener(\"error\",errorListener);if(signal!=null)eventTargetAgnosticRemoveListener(signal,\"abort\",abortListener);resolve(args)};if(eventTargetAgnosticAddListener(emitter,type,resolver,{once:!0}),type!==\"error\"&&typeof emitter.once===\"function\")emitter.once(\"error\",errorListener);function abortListener(){eventTargetAgnosticRemoveListener(emitter,type,resolver),eventTargetAgnosticRemoveListener(emitter,\"error\",errorListener),reject(new AbortError(void 0,{cause:signal?.reason}))}if(signal!=null)eventTargetAgnosticAddListener(signal,\"abort\",abortListener,{once:!0});return promise}function getEventListeners(emitter,type){return emitter.listeners(type)}function setMaxListeners2(n,...eventTargets){validateNumber(n,\"setMaxListeners\",0);var length;if(eventTargets&&(length=eventTargets.length))for(let i=0;i<length;i++)eventTargets[i].setMaxListeners(n);else defaultMaxListeners=n}function listenerCount2(emitter,type){return emitter.listenerCount(type)}function eventTargetAgnosticRemoveListener(emitter,name,listener,flags){if(typeof emitter.removeListener===\"function\")emitter.removeListener(name,listener);else emitter.removeEventListener(name,listener,flags)}function eventTargetAgnosticAddListener(emitter,name,listener,flags){if(typeof emitter.on===\"function\")if(flags.once)emitter.once(name,listener);else emitter.on(name,listener);else emitter.addEventListener(name,listener,flags)}class AbortError extends Error{constructor(message=\"The operation was aborted\",options=void 0){if(options!==void 0&&typeof options!==\"object\")throw ERR_INVALID_ARG_TYPE(\"options\",\"Object\",options);super(message,options);this.code=\"ABORT_ERR\",this.name=\"AbortError\"}}function ERR_INVALID_ARG_TYPE(name,type,value){let err=TypeError(`The \"${name}\" argument must be of type ${type}. Received ${value}`);return err.code=\"ERR_INVALID_ARG_TYPE\",err}function ERR_OUT_OF_RANGE(name,range,value){let err=RangeError(`The \"${name}\" argument is out of range. It must be ${range}. Received ${value}`);return err.code=\"ERR_OUT_OF_RANGE\",err}function validateAbortSignal(signal,name){if(signal!==void 0&&(signal===null||typeof signal!==\"object\"||!(\"aborted\"in signal)))throw ERR_INVALID_ARG_TYPE(name,\"AbortSignal\",signal)}function validateNumber(value,name,min,max){if(typeof value!==\"number\")throw ERR_INVALID_ARG_TYPE(name,\"number\",value);if(min!=null&&value<min||max!=null&&value>max||(min!=null||max!=null)&&Number.isNaN(value))throw ERR_OUT_OF_RANGE(name,`${min!=null?`>= ${min}`:\"\"}${min!=null&&max!=null?\" && \":\"\"}${max!=null?`<= ${max}`:\"\"}`,value)}function checkListener(listener){if(typeof listener!==\"function\")throw TypeError(\"The listener must be a function\")}function validateBoolean(value,name){if(typeof value!==\"boolean\")throw ERR_INVALID_ARG_TYPE(name,\"boolean\",value)}function getMaxListeners2(emitterOrTarget){return emitterOrTarget?._maxListeners??defaultMaxListeners}function addAbortListener(signal,listener){if(signal===void 0)throw ERR_INVALID_ARG_TYPE(\"signal\",\"AbortSignal\",signal);if(validateAbortSignal(signal,\"signal\"),typeof listener!==\"function\")throw ERR_INVALID_ARG_TYPE(\"listener\",\"function\",listener);let removeEventListener;if(signal.aborted)queueMicrotask(()=>listener());else signal.addEventListener(\"abort\",listener,{__proto__:null,once:!0}),removeEventListener=()=>{signal.removeEventListener(\"abort\",listener)};return{__proto__:null,[Symbol.dispose](){removeEventListener?.()}}}Object.defineProperties(EventEmitter,{captureRejections:{get(){return EventEmitterPrototype[kCapture]},set(value){validateBoolean(value,\"EventEmitter.captureRejections\"),EventEmitterPrototype[kCapture]=value},enumerable:!0},defaultMaxListeners:{enumerable:!0,get:()=>{return defaultMaxListeners},set:(arg)=>{validateNumber(arg,\"defaultMaxListeners\",0),defaultMaxListeners=arg}},kMaxEventTargetListeners:{value:kMaxEventTargetListeners,enumerable:!1,configurable:!1,writable:!1},kMaxEventTargetListenersWarned:{value:kMaxEventTargetListenersWarned,enumerable:!1,configurable:!1,writable:!1}});Object.assign(EventEmitter,{once:once2,getEventListeners,getMaxListeners:getMaxListeners2,setMaxListeners:setMaxListeners2,EventEmitter,usingDomains:!1,captureRejectionSymbol,errorMonitor:kErrorMonitor,addAbortListener,init:EventEmitter,listenerCount:listenerCount2});var events_default=EventEmitter;export{setMaxListeners2 as setMaxListeners,once2 as once,listenerCount2 as listenerCount,EventEmitter as init,getMaxListeners2 as getMaxListeners,getEventListeners,events_default as default,captureRejectionSymbol,addAbortListener,EventEmitter};",
|
|
8
|
+
"var __commonJS=(cb,mod)=>()=>(mod||cb((mod={exports:{}}).exports,mod),mod.exports);var require_primordials=__commonJS((exports2,module2)=>{class AggregateError extends Error{constructor(errors){if(!Array.isArray(errors))throw TypeError(`Expected input to be an Array, got ${typeof errors}`);let message=\"\";for(let i=0;i<errors.length;i++)message+=` ${errors[i].stack}\n`;super(message);this.name=\"AggregateError\",this.errors=errors}}module2.exports={AggregateError,ArrayIsArray(self){return Array.isArray(self)},ArrayPrototypeIncludes(self,el){return self.includes(el)},ArrayPrototypeIndexOf(self,el){return self.indexOf(el)},ArrayPrototypeJoin(self,sep){return self.join(sep)},ArrayPrototypeMap(self,fn){return self.map(fn)},ArrayPrototypePop(self,el){return self.pop(el)},ArrayPrototypePush(self,el){return self.push(el)},ArrayPrototypeSlice(self,start,end){return self.slice(start,end)},Error,FunctionPrototypeCall(fn,thisArgs,...args){return fn.call(thisArgs,...args)},FunctionPrototypeSymbolHasInstance(self,instance){return Function.prototype[Symbol.hasInstance].call(self,instance)},MathFloor:Math.floor,Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties(self,props){return Object.defineProperties(self,props)},ObjectDefineProperty(self,name,prop){return Object.defineProperty(self,name,prop)},ObjectGetOwnPropertyDescriptor(self,name){return Object.getOwnPropertyDescriptor(self,name)},ObjectKeys(obj){return Object.keys(obj)},ObjectSetPrototypeOf(target,proto){return Object.setPrototypeOf(target,proto)},Promise,PromisePrototypeCatch(self,fn){return self.catch(fn)},PromisePrototypeThen(self,thenFn,catchFn){return self.then(thenFn,catchFn)},PromiseReject(err){return Promise.reject(err)},PromiseResolve(val){return Promise.resolve(val)},ReflectApply:Reflect.apply,RegExpPrototypeTest(self,value){return self.test(value)},SafeSet:Set,String,StringPrototypeSlice(self,start,end){return self.slice(start,end)},StringPrototypeToLowerCase(self){return self.toLowerCase()},StringPrototypeToUpperCase(self){return self.toUpperCase()},StringPrototypeTrim(self){return self.trim()},Symbol,SymbolFor:Symbol.for,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,SymbolDispose:Symbol.dispose||Symbol(\"Symbol.dispose\"),SymbolAsyncDispose:Symbol.asyncDispose||Symbol(\"Symbol.asyncDispose\"),TypedArrayPrototypeSet(self,buf,len){return self.set(buf,len)},Boolean,Uint8Array}});var require_inspect=__commonJS((exports2,module2)=>{module2.exports={format(format,...args){return format.replace(/%([sdifj])/g,function(...[_unused,type]){let replacement=args.shift();if(type===\"f\")return replacement.toFixed(6);else if(type===\"j\")return JSON.stringify(replacement);else if(type===\"s\"&&typeof replacement===\"object\")return`${replacement.constructor!==Object?replacement.constructor.name:\"\"} {}`.trim();else return replacement.toString()})},inspect(value){switch(typeof value){case\"string\":if(value.includes(\"'\")){if(!value.includes('\"'))return`\"${value}\"`;else if(!value.includes(\"`\")&&!value.includes(\"${\"))return`\\`${value}\\``}return`'${value}'`;case\"number\":if(isNaN(value))return\"NaN\";else if(Object.is(value,-0))return String(value);return value;case\"bigint\":return`${String(value)}n`;case\"boolean\":case\"undefined\":return String(value);case\"object\":return\"{}\"}}}});var require_errors=__commonJS((exports2,module2)=>{var{format,inspect}=require_inspect(),{AggregateError:CustomAggregateError}=require_primordials(),AggregateError=globalThis.AggregateError||CustomAggregateError,kIsNodeError=Symbol(\"kIsNodeError\"),kTypes=[\"string\",\"function\",\"number\",\"object\",\"Function\",\"Object\",\"boolean\",\"bigint\",\"symbol\"],classRegExp=/^([A-Z][a-z0-9]*)+$/,codes={};function assert(value,message){if(!value)throw new codes.ERR_INTERNAL_ASSERTION(message)}function addNumericalSeparator(val){let res=\"\",i=val.length,start=val[0]===\"-\"?1:0;for(;i>=start+4;i-=3)res=`_${val.slice(i-3,i)}${res}`;return`${val.slice(0,i)}${res}`}function getMessage(key,msg,args){if(typeof msg===\"function\")return assert(msg.length<=args.length,`Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`),msg(...args);let expectedLength=(msg.match(/%[dfijoOs]/g)||[]).length;if(assert(expectedLength===args.length,`Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`),args.length===0)return msg;return format(msg,...args)}function E(code,message,Base){if(!Base)Base=Error;class NodeError extends Base{constructor(...args){super(getMessage(code,message,args))}toString(){return`${this.name} [${code}]: ${this.message}`}}Object.defineProperties(NodeError.prototype,{name:{value:Base.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${code}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),NodeError.prototype.code=code,NodeError.prototype[kIsNodeError]=!0,codes[code]=NodeError}function hideStackFrames(fn){let hidden=\"__node_internal_\"+fn.name;return Object.defineProperty(fn,\"name\",{value:hidden}),fn}function aggregateTwoErrors(innerError,outerError){if(innerError&&outerError&&innerError!==outerError){if(Array.isArray(outerError.errors))return outerError.errors.push(innerError),outerError;let err=new AggregateError([outerError,innerError],outerError.message);return err.code=outerError.code,err}return innerError||outerError}class AbortError extends Error{constructor(message=\"The operation was aborted\",options=void 0){if(options!==void 0&&typeof options!==\"object\")throw new codes.ERR_INVALID_ARG_TYPE(\"options\",\"Object\",options);super(message,options);this.code=\"ABORT_ERR\",this.name=\"AbortError\"}}E(\"ERR_ASSERTION\",\"%s\",Error);E(\"ERR_INVALID_ARG_TYPE\",(name,expected,actual)=>{if(assert(typeof name===\"string\",\"'name' must be a string\"),!Array.isArray(expected))expected=[expected];let msg=\"The \";if(name.endsWith(\" argument\"))msg+=`${name} `;else msg+=`\"${name}\" ${name.includes(\".\")?\"property\":\"argument\"} `;msg+=\"must be \";let types=[],instances=[],other=[];for(let value of expected)if(assert(typeof value===\"string\",\"All expected entries have to be of type string\"),kTypes.includes(value))types.push(value.toLowerCase());else if(classRegExp.test(value))instances.push(value);else assert(value!==\"object\",'The value \"object\" should be written as \"Object\"'),other.push(value);if(instances.length>0){let pos=types.indexOf(\"object\");if(pos!==-1)types.splice(types,pos,1),instances.push(\"Object\")}if(types.length>0){switch(types.length){case 1:msg+=`of type ${types[0]}`;break;case 2:msg+=`one of type ${types[0]} or ${types[1]}`;break;default:{let last=types.pop();msg+=`one of type ${types.join(\", \")}, or ${last}`}}if(instances.length>0||other.length>0)msg+=\" or \"}if(instances.length>0){switch(instances.length){case 1:msg+=`an instance of ${instances[0]}`;break;case 2:msg+=`an instance of ${instances[0]} or ${instances[1]}`;break;default:{let last=instances.pop();msg+=`an instance of ${instances.join(\", \")}, or ${last}`}}if(other.length>0)msg+=\" or \"}switch(other.length){case 0:break;case 1:if(other[0].toLowerCase()!==other[0])msg+=\"an \";msg+=`${other[0]}`;break;case 2:msg+=`one of ${other[0]} or ${other[1]}`;break;default:{let last=other.pop();msg+=`one of ${other.join(\", \")}, or ${last}`}}if(actual==null)msg+=`. Received ${actual}`;else if(typeof actual===\"function\"&&actual.name)msg+=`. Received function ${actual.name}`;else if(typeof actual===\"object\"){var _actual$constructor;if((_actual$constructor=actual.constructor)!==null&&_actual$constructor!==void 0&&_actual$constructor.name)msg+=`. Received an instance of ${actual.constructor.name}`;else{let inspected=inspect(actual,{depth:-1});msg+=`. Received ${inspected}`}}else{let inspected=inspect(actual,{colors:!1});if(inspected.length>25)inspected=`${inspected.slice(0,25)}...`;msg+=`. Received type ${typeof actual} (${inspected})`}return msg},TypeError);E(\"ERR_INVALID_ARG_VALUE\",(name,value,reason=\"is invalid\")=>{let inspected=inspect(value);if(inspected.length>128)inspected=inspected.slice(0,128)+\"...\";return`The ${name.includes(\".\")?\"property\":\"argument\"} '${name}' ${reason}. Received ${inspected}`},TypeError);E(\"ERR_INVALID_RETURN_VALUE\",(input,name,value)=>{var _value$constructor;let type=value!==null&&value!==void 0&&(_value$constructor=value.constructor)!==null&&_value$constructor!==void 0&&_value$constructor.name?`instance of ${value.constructor.name}`:`type ${typeof value}`;return`Expected ${input} to be returned from the \"${name}\" function but got ${type}.`},TypeError);E(\"ERR_MISSING_ARGS\",(...args)=>{assert(args.length>0,\"At least one arg needs to be specified\");let msg,len=args.length;switch(args=(Array.isArray(args)?args:[args]).map((a)=>`\"${a}\"`).join(\" or \"),len){case 1:msg+=`The ${args[0]} argument`;break;case 2:msg+=`The ${args[0]} and ${args[1]} arguments`;break;default:{let last=args.pop();msg+=`The ${args.join(\", \")}, and ${last} arguments`}break}return`${msg} must be specified`},TypeError);E(\"ERR_OUT_OF_RANGE\",(str,range,input)=>{assert(range,'Missing \"range\" argument');let received;if(Number.isInteger(input)&&Math.abs(input)>4294967296)received=addNumericalSeparator(String(input));else if(typeof input===\"bigint\"){received=String(input);let limit=BigInt(2)**BigInt(32);if(input>limit||input<-limit)received=addNumericalSeparator(received);received+=\"n\"}else received=inspect(input);return`The value of \"${str}\" is out of range. It must be ${range}. Received ${received}`},RangeError);E(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\",Error);E(\"ERR_METHOD_NOT_IMPLEMENTED\",\"The %s method is not implemented\",Error);E(\"ERR_STREAM_ALREADY_FINISHED\",\"Cannot call %s after a stream was finished\",Error);E(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\",Error);E(\"ERR_STREAM_DESTROYED\",\"Cannot call %s after a stream was destroyed\",Error);E(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError);E(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\",Error);E(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\",Error);E(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\",Error);E(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\",Error);E(\"ERR_UNKNOWN_ENCODING\",\"Unknown encoding: %s\",TypeError);module2.exports={AbortError,aggregateTwoErrors:hideStackFrames(aggregateTwoErrors),hideStackFrames,codes}});var require_event_target_shim=__commonJS((exports2,module2)=>{Object.defineProperty(exports2,\"__esModule\",{value:!0});var privateData=new WeakMap,wrappers=new WeakMap;function pd(event){let retv=privateData.get(event);return console.assert(retv!=null,\"'this' is expected an Event object, but got\",event),retv}function setCancelFlag(data){if(data.passiveListener!=null){if(typeof console<\"u\"&&typeof console.error===\"function\")console.error(\"Unable to preventDefault inside passive event listener invocation.\",data.passiveListener);return}if(!data.event.cancelable)return;if(data.canceled=!0,typeof data.event.preventDefault===\"function\")data.event.preventDefault()}function Event(eventTarget,event){privateData.set(this,{eventTarget,event,eventPhase:2,currentTarget:eventTarget,canceled:!1,stopped:!1,immediateStopped:!1,passiveListener:null,timeStamp:event.timeStamp||Date.now()}),Object.defineProperty(this,\"isTrusted\",{value:!1,enumerable:!0});let keys=Object.keys(event);for(let i=0;i<keys.length;++i){let key=keys[i];if(!(key in this))Object.defineProperty(this,key,defineRedirectDescriptor(key))}}Event.prototype={get type(){return pd(this).event.type},get target(){return pd(this).eventTarget},get currentTarget(){return pd(this).currentTarget},composedPath(){let currentTarget=pd(this).currentTarget;if(currentTarget==null)return[];return[currentTarget]},get NONE(){return 0},get CAPTURING_PHASE(){return 1},get AT_TARGET(){return 2},get BUBBLING_PHASE(){return 3},get eventPhase(){return pd(this).eventPhase},stopPropagation(){let data=pd(this);if(data.stopped=!0,typeof data.event.stopPropagation===\"function\")data.event.stopPropagation()},stopImmediatePropagation(){let data=pd(this);if(data.stopped=!0,data.immediateStopped=!0,typeof data.event.stopImmediatePropagation===\"function\")data.event.stopImmediatePropagation()},get bubbles(){return Boolean(pd(this).event.bubbles)},get cancelable(){return Boolean(pd(this).event.cancelable)},preventDefault(){setCancelFlag(pd(this))},get defaultPrevented(){return pd(this).canceled},get composed(){return Boolean(pd(this).event.composed)},get timeStamp(){return pd(this).timeStamp},get srcElement(){return pd(this).eventTarget},get cancelBubble(){return pd(this).stopped},set cancelBubble(value){if(!value)return;let data=pd(this);if(data.stopped=!0,typeof data.event.cancelBubble===\"boolean\")data.event.cancelBubble=!0},get returnValue(){return!pd(this).canceled},set returnValue(value){if(!value)setCancelFlag(pd(this))},initEvent(){}};Object.defineProperty(Event.prototype,\"constructor\",{value:Event,configurable:!0,writable:!0});if(typeof window<\"u\"&&typeof window.Event<\"u\")Object.setPrototypeOf(Event.prototype,window.Event.prototype),wrappers.set(window.Event.prototype,Event);function defineRedirectDescriptor(key){return{get(){return pd(this).event[key]},set(value){pd(this).event[key]=value},configurable:!0,enumerable:!0}}function defineCallDescriptor(key){return{value(){let event=pd(this).event;return event[key].apply(event,arguments)},configurable:!0,enumerable:!0}}function defineWrapper(BaseEvent,proto){let keys=Object.keys(proto);if(keys.length===0)return BaseEvent;function CustomEvent(eventTarget,event){BaseEvent.call(this,eventTarget,event)}CustomEvent.prototype=Object.create(BaseEvent.prototype,{constructor:{value:CustomEvent,configurable:!0,writable:!0}});for(let i=0;i<keys.length;++i){let key=keys[i];if(!(key in BaseEvent.prototype)){let isFunc=typeof Object.getOwnPropertyDescriptor(proto,key).value===\"function\";Object.defineProperty(CustomEvent.prototype,key,isFunc?defineCallDescriptor(key):defineRedirectDescriptor(key))}}return CustomEvent}function getWrapper(proto){if(proto==null||proto===Object.prototype)return Event;let wrapper=wrappers.get(proto);if(wrapper==null)wrapper=defineWrapper(getWrapper(Object.getPrototypeOf(proto)),proto),wrappers.set(proto,wrapper);return wrapper}function wrapEvent(eventTarget,event){return new(getWrapper(Object.getPrototypeOf(event)))(eventTarget,event)}function isStopped(event){return pd(event).immediateStopped}function setEventPhase(event,eventPhase){pd(event).eventPhase=eventPhase}function setCurrentTarget(event,currentTarget){pd(event).currentTarget=currentTarget}function setPassiveListener(event,passiveListener){pd(event).passiveListener=passiveListener}var listenersMap=new WeakMap,CAPTURE=1,BUBBLE=2,ATTRIBUTE=3;function isObject(x){return x!==null&&typeof x===\"object\"}function getListeners(eventTarget){let listeners=listenersMap.get(eventTarget);if(listeners==null)throw TypeError(\"'this' is expected an EventTarget object, but got another value.\");return listeners}function defineEventAttributeDescriptor(eventName){return{get(){let node=getListeners(this).get(eventName);while(node!=null){if(node.listenerType===ATTRIBUTE)return node.listener;node=node.next}return null},set(listener){if(typeof listener!==\"function\"&&!isObject(listener))listener=null;let listeners=getListeners(this),prev=null,node=listeners.get(eventName);while(node!=null){if(node.listenerType===ATTRIBUTE)if(prev!==null)prev.next=node.next;else if(node.next!==null)listeners.set(eventName,node.next);else listeners.delete(eventName);else prev=node;node=node.next}if(listener!==null){let newNode={listener,listenerType:ATTRIBUTE,passive:!1,once:!1,next:null};if(prev===null)listeners.set(eventName,newNode);else prev.next=newNode}},configurable:!0,enumerable:!0}}function defineEventAttribute(eventTargetPrototype,eventName){Object.defineProperty(eventTargetPrototype,`on${eventName}`,defineEventAttributeDescriptor(eventName))}function defineCustomEventTarget(eventNames){function CustomEventTarget(){EventTarget.call(this)}CustomEventTarget.prototype=Object.create(EventTarget.prototype,{constructor:{value:CustomEventTarget,configurable:!0,writable:!0}});for(let i=0;i<eventNames.length;++i)defineEventAttribute(CustomEventTarget.prototype,eventNames[i]);return CustomEventTarget}function EventTarget(){if(this instanceof EventTarget){listenersMap.set(this,new Map);return}if(arguments.length===1&&Array.isArray(arguments[0]))return defineCustomEventTarget(arguments[0]);if(arguments.length>0){let types=Array(arguments.length);for(let i=0;i<arguments.length;++i)types[i]=arguments[i];return defineCustomEventTarget(types)}throw TypeError(\"Cannot call a class as a function\")}EventTarget.prototype={addEventListener(eventName,listener,options){if(listener==null)return;if(typeof listener!==\"function\"&&!isObject(listener))throw TypeError(\"'listener' should be a function or an object.\");let listeners=getListeners(this),optionsIsObj=isObject(options),listenerType=(optionsIsObj?Boolean(options.capture):Boolean(options))?CAPTURE:BUBBLE,newNode={listener,listenerType,passive:optionsIsObj&&Boolean(options.passive),once:optionsIsObj&&Boolean(options.once),next:null},node=listeners.get(eventName);if(node===void 0){listeners.set(eventName,newNode);return}let prev=null;while(node!=null){if(node.listener===listener&&node.listenerType===listenerType)return;prev=node,node=node.next}prev.next=newNode},removeEventListener(eventName,listener,options){if(listener==null)return;let listeners=getListeners(this),listenerType=(isObject(options)?Boolean(options.capture):Boolean(options))?CAPTURE:BUBBLE,prev=null,node=listeners.get(eventName);while(node!=null){if(node.listener===listener&&node.listenerType===listenerType){if(prev!==null)prev.next=node.next;else if(node.next!==null)listeners.set(eventName,node.next);else listeners.delete(eventName);return}prev=node,node=node.next}},dispatchEvent(event){if(event==null||typeof event.type!==\"string\")throw TypeError('\"event.type\" should be a string.');let listeners=getListeners(this),eventName=event.type,node=listeners.get(eventName);if(node==null)return!0;let wrappedEvent=wrapEvent(this,event),prev=null;while(node!=null){if(node.once)if(prev!==null)prev.next=node.next;else if(node.next!==null)listeners.set(eventName,node.next);else listeners.delete(eventName);else prev=node;if(setPassiveListener(wrappedEvent,node.passive?node.listener:null),typeof node.listener===\"function\")try{node.listener.call(this,wrappedEvent)}catch(err){if(typeof console<\"u\"&&typeof console.error===\"function\")console.error(err)}else if(node.listenerType!==ATTRIBUTE&&typeof node.listener.handleEvent===\"function\")node.listener.handleEvent(wrappedEvent);if(isStopped(wrappedEvent))break;node=node.next}return setPassiveListener(wrappedEvent,null),setEventPhase(wrappedEvent,0),setCurrentTarget(wrappedEvent,null),!wrappedEvent.defaultPrevented}};Object.defineProperty(EventTarget.prototype,\"constructor\",{value:EventTarget,configurable:!0,writable:!0});if(typeof window<\"u\"&&typeof window.EventTarget<\"u\")Object.setPrototypeOf(EventTarget.prototype,window.EventTarget.prototype);exports2.defineEventAttribute=defineEventAttribute;exports2.EventTarget=EventTarget;exports2.default=EventTarget;module2.exports=EventTarget;module2.exports.EventTarget=module2.exports.default=EventTarget;module2.exports.defineEventAttribute=defineEventAttribute});var require_abort_controller=__commonJS((exports2,module2)=>{Object.defineProperty(exports2,\"__esModule\",{value:!0});var eventTargetShim=require_event_target_shim();class AbortSignal extends eventTargetShim.EventTarget{constructor(){super();throw TypeError(\"AbortSignal cannot be constructed directly\")}get aborted(){let aborted=abortedFlags.get(this);if(typeof aborted!==\"boolean\")throw TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this===null?\"null\":typeof this}`);return aborted}}eventTargetShim.defineEventAttribute(AbortSignal.prototype,\"abort\");function createAbortSignal(){let signal=Object.create(AbortSignal.prototype);return eventTargetShim.EventTarget.call(signal),abortedFlags.set(signal,!1),signal}function abortSignal(signal){if(abortedFlags.get(signal)!==!1)return;abortedFlags.set(signal,!0),signal.dispatchEvent({type:\"abort\"})}var abortedFlags=new WeakMap;Object.defineProperties(AbortSignal.prototype,{aborted:{enumerable:!0}});if(typeof Symbol===\"function\"&&typeof Symbol.toStringTag===\"symbol\")Object.defineProperty(AbortSignal.prototype,Symbol.toStringTag,{configurable:!0,value:\"AbortSignal\"});class AbortController{constructor(){signals.set(this,createAbortSignal())}get signal(){return getSignal(this)}abort(){abortSignal(getSignal(this))}}var signals=new WeakMap;function getSignal(controller){let signal=signals.get(controller);if(signal==null)throw TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller===null?\"null\":typeof controller}`);return signal}Object.defineProperties(AbortController.prototype,{signal:{enumerable:!0},abort:{enumerable:!0}});if(typeof Symbol===\"function\"&&typeof Symbol.toStringTag===\"symbol\")Object.defineProperty(AbortController.prototype,Symbol.toStringTag,{configurable:!0,value:\"AbortController\"});exports2.AbortController=AbortController;exports2.AbortSignal=AbortSignal;exports2.default=AbortController;module2.exports=AbortController;module2.exports.AbortController=module2.exports.default=AbortController;module2.exports.AbortSignal=AbortSignal});var require_util=__commonJS((exports2,module2)=>{var bufferModule=require(\"buffer\"),{format,inspect}=require_inspect(),{codes:{ERR_INVALID_ARG_TYPE}}=require_errors(),{kResistStopPropagation,AggregateError,SymbolDispose}=require_primordials(),AbortSignal=globalThis.AbortSignal||require_abort_controller().AbortSignal,AbortController=globalThis.AbortController||require_abort_controller().AbortController,AsyncFunction=Object.getPrototypeOf(async function(){}).constructor,Blob=globalThis.Blob||bufferModule.Blob,isBlob=typeof Blob<\"u\"?function(b){return b instanceof Blob}:function(b){return!1},validateAbortSignal=(signal,name)=>{if(signal!==void 0&&(signal===null||typeof signal!==\"object\"||!(\"aborted\"in signal)))throw new ERR_INVALID_ARG_TYPE(name,\"AbortSignal\",signal)},validateFunction=(value,name)=>{if(typeof value!==\"function\")throw new ERR_INVALID_ARG_TYPE(name,\"Function\",value)};module2.exports={AggregateError,kEmptyObject:Object.freeze({}),once(callback){let called=!1;return function(...args){if(called)return;called=!0,callback.apply(this,args)}},createDeferredPromise:function(){let resolve,reject;return{promise:new Promise((res,rej)=>{resolve=res,reject=rej}),resolve,reject}},promisify(fn){return new Promise((resolve,reject)=>{fn((err,...args)=>{if(err)return reject(err);return resolve(...args)})})},debuglog(){return function(){}},format,inspect,types:{isAsyncFunction(fn){return fn instanceof AsyncFunction},isArrayBufferView(arr){return ArrayBuffer.isView(arr)}},isBlob,deprecate(fn,message){return fn},addAbortListener:require(\"events\").addAbortListener||function(signal,listener){if(signal===void 0)throw new ERR_INVALID_ARG_TYPE(\"signal\",\"AbortSignal\",signal);validateAbortSignal(signal,\"signal\"),validateFunction(listener,\"listener\");let removeEventListener;if(signal.aborted)queueMicrotask(()=>listener());else signal.addEventListener(\"abort\",listener,{__proto__:null,once:!0,[kResistStopPropagation]:!0}),removeEventListener=()=>{signal.removeEventListener(\"abort\",listener)};return{__proto__:null,[SymbolDispose](){var _removeEventListener;(_removeEventListener=removeEventListener)===null||_removeEventListener===void 0||_removeEventListener()}}},AbortSignalAny:AbortSignal.any||function(signals){if(signals.length===1)return signals[0];let ac=new AbortController,abort=()=>ac.abort();return signals.forEach((signal)=>{validateAbortSignal(signal,\"signals\"),signal.addEventListener(\"abort\",abort,{once:!0})}),ac.signal.addEventListener(\"abort\",()=>{signals.forEach((signal)=>signal.removeEventListener(\"abort\",abort))},{once:!0}),ac.signal}};module2.exports.promisify.custom=Symbol.for(\"nodejs.util.promisify.custom\")});var require_validators=__commonJS((exports2,module2)=>{var{ArrayIsArray,ArrayPrototypeIncludes,ArrayPrototypeJoin,ArrayPrototypeMap,NumberIsInteger,NumberIsNaN,NumberMAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER,NumberParseInt,ObjectPrototypeHasOwnProperty,RegExpPrototypeExec,String:String2,StringPrototypeToUpperCase,StringPrototypeTrim}=require_primordials(),{hideStackFrames,codes:{ERR_SOCKET_BAD_PORT,ERR_INVALID_ARG_TYPE,ERR_INVALID_ARG_VALUE,ERR_OUT_OF_RANGE,ERR_UNKNOWN_SIGNAL}}=require_errors(),{normalizeEncoding}=require_util(),{isAsyncFunction,isArrayBufferView}=require_util().types,signals={};function isInt32(value){return value===(value|0)}function isUint32(value){return value===value>>>0}var octalReg=/^[0-7]+$/,modeDesc=\"must be a 32-bit unsigned integer or an octal string\";function parseFileMode(value,name,def){if(typeof value>\"u\")value=def;if(typeof value===\"string\"){if(RegExpPrototypeExec(octalReg,value)===null)throw new ERR_INVALID_ARG_VALUE(name,value,modeDesc);value=NumberParseInt(value,8)}return validateUint32(value,name),value}var validateInteger=hideStackFrames((value,name,min=NumberMIN_SAFE_INTEGER,max=NumberMAX_SAFE_INTEGER)=>{if(typeof value!==\"number\")throw new ERR_INVALID_ARG_TYPE(name,\"number\",value);if(!NumberIsInteger(value))throw new ERR_OUT_OF_RANGE(name,\"an integer\",value);if(value<min||value>max)throw new ERR_OUT_OF_RANGE(name,`>= ${min} && <= ${max}`,value)}),validateInt32=hideStackFrames((value,name,min=-2147483648,max=2147483647)=>{if(typeof value!==\"number\")throw new ERR_INVALID_ARG_TYPE(name,\"number\",value);if(!NumberIsInteger(value))throw new ERR_OUT_OF_RANGE(name,\"an integer\",value);if(value<min||value>max)throw new ERR_OUT_OF_RANGE(name,`>= ${min} && <= ${max}`,value)}),validateUint32=hideStackFrames((value,name,positive=!1)=>{if(typeof value!==\"number\")throw new ERR_INVALID_ARG_TYPE(name,\"number\",value);if(!NumberIsInteger(value))throw new ERR_OUT_OF_RANGE(name,\"an integer\",value);let min=positive?1:0,max=4294967295;if(value<min||value>max)throw new ERR_OUT_OF_RANGE(name,`>= ${min} && <= ${max}`,value)});function validateString(value,name){if(typeof value!==\"string\")throw new ERR_INVALID_ARG_TYPE(name,\"string\",value)}function validateNumber(value,name,min=void 0,max){if(typeof value!==\"number\")throw new ERR_INVALID_ARG_TYPE(name,\"number\",value);if(min!=null&&value<min||max!=null&&value>max||(min!=null||max!=null)&&NumberIsNaN(value))throw new ERR_OUT_OF_RANGE(name,`${min!=null?`>= ${min}`:\"\"}${min!=null&&max!=null?\" && \":\"\"}${max!=null?`<= ${max}`:\"\"}`,value)}var validateOneOf=hideStackFrames((value,name,oneOf)=>{if(!ArrayPrototypeIncludes(oneOf,value)){let reason=\"must be one of: \"+ArrayPrototypeJoin(ArrayPrototypeMap(oneOf,(v)=>typeof v===\"string\"?`'${v}'`:String2(v)),\", \");throw new ERR_INVALID_ARG_VALUE(name,value,reason)}});function validateBoolean(value,name){if(typeof value!==\"boolean\")throw new ERR_INVALID_ARG_TYPE(name,\"boolean\",value)}function getOwnPropertyValueOrDefault(options,key,defaultValue){return options==null||!ObjectPrototypeHasOwnProperty(options,key)?defaultValue:options[key]}var validateObject=hideStackFrames((value,name,options=null)=>{let allowArray=getOwnPropertyValueOrDefault(options,\"allowArray\",!1),allowFunction=getOwnPropertyValueOrDefault(options,\"allowFunction\",!1);if(!getOwnPropertyValueOrDefault(options,\"nullable\",!1)&&value===null||!allowArray&&ArrayIsArray(value)||typeof value!==\"object\"&&(!allowFunction||typeof value!==\"function\"))throw new ERR_INVALID_ARG_TYPE(name,\"Object\",value)}),validateDictionary=hideStackFrames((value,name)=>{if(value!=null&&typeof value!==\"object\"&&typeof value!==\"function\")throw new ERR_INVALID_ARG_TYPE(name,\"a dictionary\",value)}),validateArray=hideStackFrames((value,name,minLength=0)=>{if(!ArrayIsArray(value))throw new ERR_INVALID_ARG_TYPE(name,\"Array\",value);if(value.length<minLength){let reason=`must be longer than ${minLength}`;throw new ERR_INVALID_ARG_VALUE(name,value,reason)}});function validateStringArray(value,name){validateArray(value,name);for(let i=0;i<value.length;i++)validateString(value[i],`${name}[${i}]`)}function validateBooleanArray(value,name){validateArray(value,name);for(let i=0;i<value.length;i++)validateBoolean(value[i],`${name}[${i}]`)}function validateAbortSignalArray(value,name){validateArray(value,name);for(let i=0;i<value.length;i++){let signal=value[i],indexedName=`${name}[${i}]`;if(signal==null)throw new ERR_INVALID_ARG_TYPE(indexedName,\"AbortSignal\",signal);validateAbortSignal(signal,indexedName)}}function validateSignalName(signal,name=\"signal\"){if(validateString(signal,name),signals[signal]===void 0){if(signals[StringPrototypeToUpperCase(signal)]!==void 0)throw new ERR_UNKNOWN_SIGNAL(signal+\" (signals must use all capital letters)\");throw new ERR_UNKNOWN_SIGNAL(signal)}}var validateBuffer=hideStackFrames((buffer,name=\"buffer\")=>{if(!isArrayBufferView(buffer))throw new ERR_INVALID_ARG_TYPE(name,[\"Buffer\",\"TypedArray\",\"DataView\"],buffer)});function validateEncoding(data,encoding){let normalizedEncoding=normalizeEncoding(encoding),length=data.length;if(normalizedEncoding===\"hex\"&&length%2!==0)throw new ERR_INVALID_ARG_VALUE(\"encoding\",encoding,`is invalid for data of length ${length}`)}function validatePort(port,name=\"Port\",allowZero=!0){if(typeof port!==\"number\"&&typeof port!==\"string\"||typeof port===\"string\"&&StringPrototypeTrim(port).length===0||+port!==+port>>>0||port>65535||port===0&&!allowZero)throw new ERR_SOCKET_BAD_PORT(name,port,allowZero);return port|0}var validateAbortSignal=hideStackFrames((signal,name)=>{if(signal!==void 0&&(signal===null||typeof signal!==\"object\"||!(\"aborted\"in signal)))throw new ERR_INVALID_ARG_TYPE(name,\"AbortSignal\",signal)}),validateFunction=hideStackFrames((value,name)=>{if(typeof value!==\"function\")throw new ERR_INVALID_ARG_TYPE(name,\"Function\",value)}),validatePlainFunction=hideStackFrames((value,name)=>{if(typeof value!==\"function\"||isAsyncFunction(value))throw new ERR_INVALID_ARG_TYPE(name,\"Function\",value)}),validateUndefined=hideStackFrames((value,name)=>{if(value!==void 0)throw new ERR_INVALID_ARG_TYPE(name,\"undefined\",value)});function validateUnion(value,name,union){if(!ArrayPrototypeIncludes(union,value))throw new ERR_INVALID_ARG_TYPE(name,`('${ArrayPrototypeJoin(union,\"|\")}')`,value)}var linkValueRegExp=/^(?:<[^>]*>)(?:\\s*;\\s*[^;\"\\s]+(?:=(\")?[^;\"\\s]*\\1)?)*$/;function validateLinkHeaderFormat(value,name){if(typeof value>\"u\"||!RegExpPrototypeExec(linkValueRegExp,value))throw new ERR_INVALID_ARG_VALUE(name,value,'must be an array or string of format \"</styles.css>; rel=preload; as=style\"')}function validateLinkHeaderValue(hints){if(typeof hints===\"string\")return validateLinkHeaderFormat(hints,\"hints\"),hints;else if(ArrayIsArray(hints)){let hintsLength=hints.length,result=\"\";if(hintsLength===0)return result;for(let i=0;i<hintsLength;i++){let link=hints[i];if(validateLinkHeaderFormat(link,\"hints\"),result+=link,i!==hintsLength-1)result+=\", \"}return result}throw new ERR_INVALID_ARG_VALUE(\"hints\",hints,'must be an array or string of format \"</styles.css>; rel=preload; as=style\"')}module2.exports={isInt32,isUint32,parseFileMode,validateArray,validateStringArray,validateBooleanArray,validateAbortSignalArray,validateBoolean,validateBuffer,validateDictionary,validateEncoding,validateFunction,validateInt32,validateInteger,validateNumber,validateObject,validateOneOf,validatePlainFunction,validatePort,validateSignalName,validateString,validateUint32,validateUndefined,validateUnion,validateAbortSignal,validateLinkHeaderValue}});var require_process=__commonJS((exports2,module2)=>{module2.exports=globalThis.process});var require_utils=__commonJS((exports2,module2)=>{var{SymbolAsyncIterator,SymbolIterator,SymbolFor}=require_primordials(),kIsDestroyed=SymbolFor(\"nodejs.stream.destroyed\"),kIsErrored=SymbolFor(\"nodejs.stream.errored\"),kIsReadable=SymbolFor(\"nodejs.stream.readable\"),kIsWritable=SymbolFor(\"nodejs.stream.writable\"),kIsDisturbed=SymbolFor(\"nodejs.stream.disturbed\"),kIsClosedPromise=SymbolFor(\"nodejs.webstream.isClosedPromise\"),kControllerErrorFunction=SymbolFor(\"nodejs.webstream.controllerErrorFunction\");function isReadableNodeStream(obj,strict=!1){var _obj$_readableState;return!!(obj&&typeof obj.pipe===\"function\"&&typeof obj.on===\"function\"&&(!strict||typeof obj.pause===\"function\"&&typeof obj.resume===\"function\")&&(!obj._writableState||((_obj$_readableState=obj._readableState)===null||_obj$_readableState===void 0?void 0:_obj$_readableState.readable)!==!1)&&(!obj._writableState||obj._readableState))}function isWritableNodeStream(obj){var _obj$_writableState;return!!(obj&&typeof obj.write===\"function\"&&typeof obj.on===\"function\"&&(!obj._readableState||((_obj$_writableState=obj._writableState)===null||_obj$_writableState===void 0?void 0:_obj$_writableState.writable)!==!1))}function isDuplexNodeStream(obj){return!!(obj&&typeof obj.pipe===\"function\"&&obj._readableState&&typeof obj.on===\"function\"&&typeof obj.write===\"function\")}function isNodeStream(obj){return obj&&(obj._readableState||obj._writableState||typeof obj.write===\"function\"&&typeof obj.on===\"function\"||typeof obj.pipe===\"function\"&&typeof obj.on===\"function\")}function isReadableStream(obj){return!!(obj&&!isNodeStream(obj)&&typeof obj.pipeThrough===\"function\"&&typeof obj.getReader===\"function\"&&typeof obj.cancel===\"function\")}function isWritableStream(obj){return!!(obj&&!isNodeStream(obj)&&typeof obj.getWriter===\"function\"&&typeof obj.abort===\"function\")}function isTransformStream(obj){return!!(obj&&!isNodeStream(obj)&&typeof obj.readable===\"object\"&&typeof obj.writable===\"object\")}function isWebStream(obj){return isReadableStream(obj)||isWritableStream(obj)||isTransformStream(obj)}function isIterable(obj,isAsync){if(obj==null)return!1;if(isAsync===!0)return typeof obj[SymbolAsyncIterator]===\"function\";if(isAsync===!1)return typeof obj[SymbolIterator]===\"function\";return typeof obj[SymbolAsyncIterator]===\"function\"||typeof obj[SymbolIterator]===\"function\"}function isDestroyed(stream){if(!isNodeStream(stream))return null;let{_writableState:wState,_readableState:rState}=stream,state=wState||rState;return!!(stream.destroyed||stream[kIsDestroyed]||state!==null&&state!==void 0&&state.destroyed)}function isWritableEnded(stream){if(!isWritableNodeStream(stream))return null;if(stream.writableEnded===!0)return!0;let wState=stream._writableState;if(wState!==null&&wState!==void 0&&wState.errored)return!1;if(typeof(wState===null||wState===void 0?void 0:wState.ended)!==\"boolean\")return null;return wState.ended}function isWritableFinished(stream,strict){if(!isWritableNodeStream(stream))return null;if(stream.writableFinished===!0)return!0;let wState=stream._writableState;if(wState!==null&&wState!==void 0&&wState.errored)return!1;if(typeof(wState===null||wState===void 0?void 0:wState.finished)!==\"boolean\")return null;return!!(wState.finished||strict===!1&&wState.ended===!0&&wState.length===0)}function isReadableEnded(stream){if(!isReadableNodeStream(stream))return null;if(stream.readableEnded===!0)return!0;let rState=stream._readableState;if(!rState||rState.errored)return!1;if(typeof(rState===null||rState===void 0?void 0:rState.ended)!==\"boolean\")return null;return rState.ended}function isReadableFinished(stream,strict){if(!isReadableNodeStream(stream))return null;let rState=stream._readableState;if(rState!==null&&rState!==void 0&&rState.errored)return!1;if(typeof(rState===null||rState===void 0?void 0:rState.endEmitted)!==\"boolean\")return null;return!!(rState.endEmitted||strict===!1&&rState.ended===!0&&rState.length===0)}function isReadable(stream){if(stream&&stream[kIsReadable]!=null)return stream[kIsReadable];if(typeof(stream===null||stream===void 0?void 0:stream.readable)!==\"boolean\")return null;if(isDestroyed(stream))return!1;return isReadableNodeStream(stream)&&stream.readable&&!isReadableFinished(stream)}function isWritable(stream){if(stream&&stream[kIsWritable]!=null)return stream[kIsWritable];if(typeof(stream===null||stream===void 0?void 0:stream.writable)!==\"boolean\")return null;if(isDestroyed(stream))return!1;return isWritableNodeStream(stream)&&stream.writable&&!isWritableEnded(stream)}function isFinished(stream,opts){if(!isNodeStream(stream))return null;if(isDestroyed(stream))return!0;if((opts===null||opts===void 0?void 0:opts.readable)!==!1&&isReadable(stream))return!1;if((opts===null||opts===void 0?void 0:opts.writable)!==!1&&isWritable(stream))return!1;return!0}function isWritableErrored(stream){var _stream$_writableStat,_stream$_writableStat2;if(!isNodeStream(stream))return null;if(stream.writableErrored)return stream.writableErrored;return(_stream$_writableStat=(_stream$_writableStat2=stream._writableState)===null||_stream$_writableStat2===void 0?void 0:_stream$_writableStat2.errored)!==null&&_stream$_writableStat!==void 0?_stream$_writableStat:null}function isReadableErrored(stream){var _stream$_readableStat,_stream$_readableStat2;if(!isNodeStream(stream))return null;if(stream.readableErrored)return stream.readableErrored;return(_stream$_readableStat=(_stream$_readableStat2=stream._readableState)===null||_stream$_readableStat2===void 0?void 0:_stream$_readableStat2.errored)!==null&&_stream$_readableStat!==void 0?_stream$_readableStat:null}function isClosed(stream){if(!isNodeStream(stream))return null;if(typeof stream.closed===\"boolean\")return stream.closed;let{_writableState:wState,_readableState:rState}=stream;if(typeof(wState===null||wState===void 0?void 0:wState.closed)===\"boolean\"||typeof(rState===null||rState===void 0?void 0:rState.closed)===\"boolean\")return(wState===null||wState===void 0?void 0:wState.closed)||(rState===null||rState===void 0?void 0:rState.closed);if(typeof stream._closed===\"boolean\"&&isOutgoingMessage(stream))return stream._closed;return null}function isOutgoingMessage(stream){return typeof stream._closed===\"boolean\"&&typeof stream._defaultKeepAlive===\"boolean\"&&typeof stream._removedConnection===\"boolean\"&&typeof stream._removedContLen===\"boolean\"}function isServerResponse(stream){return typeof stream._sent100===\"boolean\"&&isOutgoingMessage(stream)}function isServerRequest(stream){var _stream$req;return typeof stream._consuming===\"boolean\"&&typeof stream._dumped===\"boolean\"&&((_stream$req=stream.req)===null||_stream$req===void 0?void 0:_stream$req.upgradeOrConnect)===void 0}function willEmitClose(stream){if(!isNodeStream(stream))return null;let{_writableState:wState,_readableState:rState}=stream,state=wState||rState;return!state&&isServerResponse(stream)||!!(state&&state.autoDestroy&&state.emitClose&&state.closed===!1)}function isDisturbed(stream){var _stream$kIsDisturbed;return!!(stream&&((_stream$kIsDisturbed=stream[kIsDisturbed])!==null&&_stream$kIsDisturbed!==void 0?_stream$kIsDisturbed:stream.readableDidRead||stream.readableAborted))}function isErrored(stream){var _ref,_ref2,_ref3,_ref4,_ref5,_stream$kIsErrored,_stream$_readableStat3,_stream$_writableStat3,_stream$_readableStat4,_stream$_writableStat4;return!!(stream&&((_ref=(_ref2=(_ref3=(_ref4=(_ref5=(_stream$kIsErrored=stream[kIsErrored])!==null&&_stream$kIsErrored!==void 0?_stream$kIsErrored:stream.readableErrored)!==null&&_ref5!==void 0?_ref5:stream.writableErrored)!==null&&_ref4!==void 0?_ref4:(_stream$_readableStat3=stream._readableState)===null||_stream$_readableStat3===void 0?void 0:_stream$_readableStat3.errorEmitted)!==null&&_ref3!==void 0?_ref3:(_stream$_writableStat3=stream._writableState)===null||_stream$_writableStat3===void 0?void 0:_stream$_writableStat3.errorEmitted)!==null&&_ref2!==void 0?_ref2:(_stream$_readableStat4=stream._readableState)===null||_stream$_readableStat4===void 0?void 0:_stream$_readableStat4.errored)!==null&&_ref!==void 0?_ref:(_stream$_writableStat4=stream._writableState)===null||_stream$_writableStat4===void 0?void 0:_stream$_writableStat4.errored))}module2.exports={isDestroyed,kIsDestroyed,isDisturbed,kIsDisturbed,isErrored,kIsErrored,isReadable,kIsReadable,kIsClosedPromise,kControllerErrorFunction,kIsWritable,isClosed,isDuplexNodeStream,isFinished,isIterable,isReadableNodeStream,isReadableStream,isReadableEnded,isReadableFinished,isReadableErrored,isNodeStream,isWebStream,isWritable,isWritableNodeStream,isWritableStream,isWritableEnded,isWritableFinished,isWritableErrored,isServerRequest,isServerResponse,willEmitClose,isTransformStream}});var require_end_of_stream=__commonJS((exports2,module2)=>{var process=require_process(),{AbortError,codes}=require_errors(),{ERR_INVALID_ARG_TYPE,ERR_STREAM_PREMATURE_CLOSE}=codes,{kEmptyObject,once}=require_util(),{validateAbortSignal,validateFunction,validateObject,validateBoolean}=require_validators(),{Promise:Promise2,PromisePrototypeThen,SymbolDispose}=require_primordials(),{isClosed,isReadable,isReadableNodeStream,isReadableStream,isReadableFinished,isReadableErrored,isWritable,isWritableNodeStream,isWritableStream,isWritableFinished,isWritableErrored,isNodeStream,willEmitClose:_willEmitClose,kIsClosedPromise}=require_utils(),addAbortListener;function isRequest(stream){return stream.setHeader&&typeof stream.abort===\"function\"}var nop=()=>{};function eos(stream,options,callback){var _options$readable,_options$writable;if(arguments.length===2)callback=options,options=kEmptyObject;else if(options==null)options=kEmptyObject;else validateObject(options,\"options\");if(validateFunction(callback,\"callback\"),validateAbortSignal(options.signal,\"options.signal\"),callback=once(callback),isReadableStream(stream)||isWritableStream(stream))return eosWeb(stream,options,callback);if(!isNodeStream(stream))throw new ERR_INVALID_ARG_TYPE(\"stream\",[\"ReadableStream\",\"WritableStream\",\"Stream\"],stream);let readable=(_options$readable=options.readable)!==null&&_options$readable!==void 0?_options$readable:isReadableNodeStream(stream),writable=(_options$writable=options.writable)!==null&&_options$writable!==void 0?_options$writable:isWritableNodeStream(stream),wState=stream._writableState,rState=stream._readableState,onlegacyfinish=()=>{if(!stream.writable)onfinish()},willEmitClose=_willEmitClose(stream)&&isReadableNodeStream(stream)===readable&&isWritableNodeStream(stream)===writable,writableFinished=isWritableFinished(stream,!1),onfinish=()=>{if(writableFinished=!0,stream.destroyed)willEmitClose=!1;if(willEmitClose&&(!stream.readable||readable))return;if(!readable||readableFinished)callback.call(stream)},readableFinished=isReadableFinished(stream,!1),onend=()=>{if(readableFinished=!0,stream.destroyed)willEmitClose=!1;if(willEmitClose&&(!stream.writable||writable))return;if(!writable||writableFinished)callback.call(stream)},onerror=(err)=>{callback.call(stream,err)},closed=isClosed(stream),onclose=()=>{closed=!0;let errored=isWritableErrored(stream)||isReadableErrored(stream);if(errored&&typeof errored!==\"boolean\")return callback.call(stream,errored);if(readable&&!readableFinished&&isReadableNodeStream(stream,!0)){if(!isReadableFinished(stream,!1))return callback.call(stream,new ERR_STREAM_PREMATURE_CLOSE)}if(writable&&!writableFinished){if(!isWritableFinished(stream,!1))return callback.call(stream,new ERR_STREAM_PREMATURE_CLOSE)}callback.call(stream)},onclosed=()=>{closed=!0;let errored=isWritableErrored(stream)||isReadableErrored(stream);if(errored&&typeof errored!==\"boolean\")return callback.call(stream,errored);callback.call(stream)},onrequest=()=>{stream.req.on(\"finish\",onfinish)};if(isRequest(stream)){if(stream.on(\"complete\",onfinish),!willEmitClose)stream.on(\"abort\",onclose);if(stream.req)onrequest();else stream.on(\"request\",onrequest)}else if(writable&&!wState)stream.on(\"end\",onlegacyfinish),stream.on(\"close\",onlegacyfinish);if(!willEmitClose&&typeof stream.aborted===\"boolean\")stream.on(\"aborted\",onclose);if(stream.on(\"end\",onend),stream.on(\"finish\",onfinish),options.error!==!1)stream.on(\"error\",onerror);if(stream.on(\"close\",onclose),closed)process.nextTick(onclose);else if(wState!==null&&wState!==void 0&&wState.errorEmitted||rState!==null&&rState!==void 0&&rState.errorEmitted){if(!willEmitClose)process.nextTick(onclosed)}else if(!readable&&(!willEmitClose||isReadable(stream))&&(writableFinished||isWritable(stream)===!1))process.nextTick(onclosed);else if(!writable&&(!willEmitClose||isWritable(stream))&&(readableFinished||isReadable(stream)===!1))process.nextTick(onclosed);else if(rState&&stream.req&&stream.aborted)process.nextTick(onclosed);let cleanup=()=>{if(callback=nop,stream.removeListener(\"aborted\",onclose),stream.removeListener(\"complete\",onfinish),stream.removeListener(\"abort\",onclose),stream.removeListener(\"request\",onrequest),stream.req)stream.req.removeListener(\"finish\",onfinish);stream.removeListener(\"end\",onlegacyfinish),stream.removeListener(\"close\",onlegacyfinish),stream.removeListener(\"finish\",onfinish),stream.removeListener(\"end\",onend),stream.removeListener(\"error\",onerror),stream.removeListener(\"close\",onclose)};if(options.signal&&!closed){let abort=()=>{let endCallback=callback;cleanup(),endCallback.call(stream,new AbortError(void 0,{cause:options.signal.reason}))};if(options.signal.aborted)process.nextTick(abort);else{addAbortListener=addAbortListener||require_util().addAbortListener;let disposable=addAbortListener(options.signal,abort),originalCallback=callback;callback=once((...args)=>{disposable[SymbolDispose](),originalCallback.apply(stream,args)})}}return cleanup}function eosWeb(stream,options,callback){let isAborted=!1,abort=nop;if(options.signal)if(abort=()=>{isAborted=!0,callback.call(stream,new AbortError(void 0,{cause:options.signal.reason}))},options.signal.aborted)process.nextTick(abort);else{addAbortListener=addAbortListener||require_util().addAbortListener;let disposable=addAbortListener(options.signal,abort),originalCallback=callback;callback=once((...args)=>{disposable[SymbolDispose](),originalCallback.apply(stream,args)})}let resolverFn=(...args)=>{if(!isAborted)process.nextTick(()=>callback.apply(stream,args))};return PromisePrototypeThen(stream[kIsClosedPromise].promise,resolverFn,resolverFn),nop}function finished(stream,opts){var _opts;let autoCleanup=!1;if(opts===null)opts=kEmptyObject;if((_opts=opts)!==null&&_opts!==void 0&&_opts.cleanup)validateBoolean(opts.cleanup,\"cleanup\"),autoCleanup=opts.cleanup;return new Promise2((resolve,reject)=>{let cleanup=eos(stream,opts,(err)=>{if(autoCleanup)cleanup();if(err)reject(err);else resolve()})})}module2.exports=eos;module2.exports.finished=finished});var require_destroy=__commonJS((exports2,module2)=>{var process=require_process(),{aggregateTwoErrors,codes:{ERR_MULTIPLE_CALLBACK},AbortError}=require_errors(),{Symbol:Symbol2}=require_primordials(),{kIsDestroyed,isDestroyed,isFinished,isServerRequest}=require_utils(),kDestroy=Symbol2(\"kDestroy\"),kConstruct=Symbol2(\"kConstruct\");function checkError(err,w,r){if(err){if(err.stack,w&&!w.errored)w.errored=err;if(r&&!r.errored)r.errored=err}}function destroy(err,cb){let r=this._readableState,w=this._writableState,s=w||r;if(w!==null&&w!==void 0&&w.destroyed||r!==null&&r!==void 0&&r.destroyed){if(typeof cb===\"function\")cb();return this}if(checkError(err,w,r),w)w.destroyed=!0;if(r)r.destroyed=!0;if(!s.constructed)this.once(kDestroy,function(er){_destroy(this,aggregateTwoErrors(er,err),cb)});else _destroy(this,err,cb);return this}function _destroy(self,err,cb){let called=!1;function onDestroy(err2){if(called)return;called=!0;let{_readableState:r,_writableState:w}=self;if(checkError(err2,w,r),w)w.closed=!0;if(r)r.closed=!0;if(typeof cb===\"function\")cb(err2);if(err2)process.nextTick(emitErrorCloseNT,self,err2);else process.nextTick(emitCloseNT,self)}try{self._destroy(err||null,onDestroy)}catch(err2){onDestroy(err2)}}function emitErrorCloseNT(self,err){emitErrorNT(self,err),emitCloseNT(self)}function emitCloseNT(self){let{_readableState:r,_writableState:w}=self;if(w)w.closeEmitted=!0;if(r)r.closeEmitted=!0;if(w!==null&&w!==void 0&&w.emitClose||r!==null&&r!==void 0&&r.emitClose)self.emit(\"close\")}function emitErrorNT(self,err){let{_readableState:r,_writableState:w}=self;if(w!==null&&w!==void 0&&w.errorEmitted||r!==null&&r!==void 0&&r.errorEmitted)return;if(w)w.errorEmitted=!0;if(r)r.errorEmitted=!0;self.emit(\"error\",err)}function undestroy(){let r=this._readableState,w=this._writableState;if(r)r.constructed=!0,r.closed=!1,r.closeEmitted=!1,r.destroyed=!1,r.errored=null,r.errorEmitted=!1,r.reading=!1,r.ended=r.readable===!1,r.endEmitted=r.readable===!1;if(w)w.constructed=!0,w.destroyed=!1,w.closed=!1,w.closeEmitted=!1,w.errored=null,w.errorEmitted=!1,w.finalCalled=!1,w.prefinished=!1,w.ended=w.writable===!1,w.ending=w.writable===!1,w.finished=w.writable===!1}function errorOrDestroy(stream,err,sync){let{_readableState:r,_writableState:w}=stream;if(w!==null&&w!==void 0&&w.destroyed||r!==null&&r!==void 0&&r.destroyed)return this;if(r!==null&&r!==void 0&&r.autoDestroy||w!==null&&w!==void 0&&w.autoDestroy)stream.destroy(err);else if(err){if(err.stack,w&&!w.errored)w.errored=err;if(r&&!r.errored)r.errored=err;if(sync)process.nextTick(emitErrorNT,stream,err);else emitErrorNT(stream,err)}}function construct(stream,cb){if(typeof stream._construct!==\"function\")return;let{_readableState:r,_writableState:w}=stream;if(r)r.constructed=!1;if(w)w.constructed=!1;if(stream.once(kConstruct,cb),stream.listenerCount(kConstruct)>1)return;process.nextTick(constructNT,stream)}function constructNT(stream){let called=!1;function onConstruct(err){if(called){errorOrDestroy(stream,err!==null&&err!==void 0?err:new ERR_MULTIPLE_CALLBACK);return}called=!0;let{_readableState:r,_writableState:w}=stream,s=w||r;if(r)r.constructed=!0;if(w)w.constructed=!0;if(s.destroyed)stream.emit(kDestroy,err);else if(err)errorOrDestroy(stream,err,!0);else process.nextTick(emitConstructNT,stream)}try{stream._construct((err)=>{process.nextTick(onConstruct,err)})}catch(err){process.nextTick(onConstruct,err)}}function emitConstructNT(stream){stream.emit(kConstruct)}function isRequest(stream){return(stream===null||stream===void 0?void 0:stream.setHeader)&&typeof stream.abort===\"function\"}function emitCloseLegacy(stream){stream.emit(\"close\")}function emitErrorCloseLegacy(stream,err){stream.emit(\"error\",err),process.nextTick(emitCloseLegacy,stream)}function destroyer(stream,err){if(!stream||isDestroyed(stream))return;if(!err&&!isFinished(stream))err=new AbortError;if(isServerRequest(stream))stream.socket=null,stream.destroy(err);else if(isRequest(stream))stream.abort();else if(isRequest(stream.req))stream.req.abort();else if(typeof stream.destroy===\"function\")stream.destroy(err);else if(typeof stream.close===\"function\")stream.close();else if(err)process.nextTick(emitErrorCloseLegacy,stream,err);else process.nextTick(emitCloseLegacy,stream);if(!stream.destroyed)stream[kIsDestroyed]=!0}module2.exports={construct,destroyer,destroy,undestroy,errorOrDestroy}});var require_legacy=__commonJS((exports2,module2)=>{var{ArrayIsArray,ObjectSetPrototypeOf}=require_primordials(),{EventEmitter:EE}=require(\"events\");function Stream(opts){EE.call(this,opts)}ObjectSetPrototypeOf(Stream.prototype,EE.prototype);ObjectSetPrototypeOf(Stream,EE);Stream.prototype.pipe=function(dest,options){let source=this;function ondata(chunk){if(dest.writable&&dest.write(chunk)===!1&&source.pause)source.pause()}source.on(\"data\",ondata);function ondrain(){if(source.readable&&source.resume)source.resume()}if(dest.on(\"drain\",ondrain),!dest._isStdio&&(!options||options.end!==!1))source.on(\"end\",onend),source.on(\"close\",onclose);let didOnEnd=!1;function onend(){if(didOnEnd)return;didOnEnd=!0,dest.end()}function onclose(){if(didOnEnd)return;if(didOnEnd=!0,typeof dest.destroy===\"function\")dest.destroy()}function onerror(er){if(cleanup(),EE.listenerCount(this,\"error\")===0)this.emit(\"error\",er)}prependListener(source,\"error\",onerror),prependListener(dest,\"error\",onerror);function cleanup(){source.removeListener(\"data\",ondata),dest.removeListener(\"drain\",ondrain),source.removeListener(\"end\",onend),source.removeListener(\"close\",onclose),source.removeListener(\"error\",onerror),dest.removeListener(\"error\",onerror),source.removeListener(\"end\",cleanup),source.removeListener(\"close\",cleanup),dest.removeListener(\"close\",cleanup)}return source.on(\"end\",cleanup),source.on(\"close\",cleanup),dest.on(\"close\",cleanup),dest.emit(\"pipe\",source),dest};function prependListener(emitter,event,fn){if(typeof emitter.prependListener===\"function\")return emitter.prependListener(event,fn);if(!emitter._events||!emitter._events[event])emitter.on(event,fn);else if(ArrayIsArray(emitter._events[event]))emitter._events[event].unshift(fn);else emitter._events[event]=[fn,emitter._events[event]]}module2.exports={Stream,prependListener}});var require_add_abort_signal=__commonJS((exports2,module2)=>{var{SymbolDispose}=require_primordials(),{AbortError,codes}=require_errors(),{isNodeStream,isWebStream,kControllerErrorFunction}=require_utils(),eos=require_end_of_stream(),{ERR_INVALID_ARG_TYPE}=codes,addAbortListener,validateAbortSignal=(signal,name)=>{if(typeof signal!==\"object\"||!(\"aborted\"in signal))throw new ERR_INVALID_ARG_TYPE(name,\"AbortSignal\",signal)};module2.exports.addAbortSignal=function(signal,stream){if(validateAbortSignal(signal,\"signal\"),!isNodeStream(stream)&&!isWebStream(stream))throw new ERR_INVALID_ARG_TYPE(\"stream\",[\"ReadableStream\",\"WritableStream\",\"Stream\"],stream);return module2.exports.addAbortSignalNoValidate(signal,stream)};module2.exports.addAbortSignalNoValidate=function(signal,stream){if(typeof signal!==\"object\"||!(\"aborted\"in signal))return stream;let onAbort=isNodeStream(stream)?()=>{stream.destroy(new AbortError(void 0,{cause:signal.reason}))}:()=>{stream[kControllerErrorFunction](new AbortError(void 0,{cause:signal.reason}))};if(signal.aborted)onAbort();else{addAbortListener=addAbortListener||require_util().addAbortListener;let disposable=addAbortListener(signal,onAbort);eos(stream,disposable[SymbolDispose])}return stream}});var require_buffer_list=__commonJS((exports2,module2)=>{var{StringPrototypeSlice,SymbolIterator,TypedArrayPrototypeSet,Uint8Array:Uint8Array2}=require_primordials(),{Buffer}=require(\"buffer\"),{inspect}=require_util();module2.exports=class{constructor(){this.head=null,this.tail=null,this.length=0}push(v){let entry={data:v,next:null};if(this.length>0)this.tail.next=entry;else this.head=entry;this.tail=entry,++this.length}unshift(v){let entry={data:v,next:this.head};if(this.length===0)this.tail=entry;this.head=entry,++this.length}shift(){if(this.length===0)return;let ret=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;return--this.length,ret}clear(){this.head=this.tail=null,this.length=0}join(s){if(this.length===0)return\"\";let p=this.head,ret=\"\"+p.data;while((p=p.next)!==null)ret+=s+p.data;return ret}concat(n){if(this.length===0)return Buffer.alloc(0);let ret=Buffer.allocUnsafe(n>>>0),p=this.head,i=0;while(p)TypedArrayPrototypeSet(ret,p.data,i),i+=p.data.length,p=p.next;return ret}consume(n,hasStrings){let data=this.head.data;if(n<data.length){let slice=data.slice(0,n);return this.head.data=data.slice(n),slice}if(n===data.length)return this.shift();return hasStrings?this._getString(n):this._getBuffer(n)}first(){return this.head.data}*[SymbolIterator](){for(let p=this.head;p;p=p.next)yield p.data}_getString(n){let ret=\"\",p=this.head,c=0;do{let str=p.data;if(n>str.length)ret+=str,n-=str.length;else{if(n===str.length)if(ret+=str,++c,p.next)this.head=p.next;else this.head=this.tail=null;else ret+=StringPrototypeSlice(str,0,n),this.head=p,p.data=StringPrototypeSlice(str,n);break}++c}while((p=p.next)!==null);return this.length-=c,ret}_getBuffer(n){let ret=Buffer.allocUnsafe(n),retLen=n,p=this.head,c=0;do{let buf=p.data;if(n>buf.length)TypedArrayPrototypeSet(ret,buf,retLen-n),n-=buf.length;else{if(n===buf.length)if(TypedArrayPrototypeSet(ret,buf,retLen-n),++c,p.next)this.head=p.next;else this.head=this.tail=null;else TypedArrayPrototypeSet(ret,new Uint8Array2(buf.buffer,buf.byteOffset,n),retLen-n),this.head=p,p.data=buf.slice(n);break}++c}while((p=p.next)!==null);return this.length-=c,ret}[Symbol.for(\"nodejs.util.inspect.custom\")](_,options){return inspect(this,{...options,depth:0,customInspect:!1})}}});var require_state=__commonJS((exports2,module2)=>{var{MathFloor,NumberIsInteger}=require_primordials(),{validateInteger}=require_validators(),{ERR_INVALID_ARG_VALUE}=require_errors().codes,defaultHighWaterMarkBytes=16384,defaultHighWaterMarkObjectMode=16;function highWaterMarkFrom(options,isDuplex,duplexKey){return options.highWaterMark!=null?options.highWaterMark:isDuplex?options[duplexKey]:null}function getDefaultHighWaterMark(objectMode){return objectMode?defaultHighWaterMarkObjectMode:defaultHighWaterMarkBytes}function setDefaultHighWaterMark(objectMode,value){if(validateInteger(value,\"value\",0),objectMode)defaultHighWaterMarkObjectMode=value;else defaultHighWaterMarkBytes=value}function getHighWaterMark(state,options,duplexKey,isDuplex){let hwm=highWaterMarkFrom(options,isDuplex,duplexKey);if(hwm!=null){if(!NumberIsInteger(hwm)||hwm<0){let name=isDuplex?`options.${duplexKey}`:\"options.highWaterMark\";throw new ERR_INVALID_ARG_VALUE(name,hwm)}return MathFloor(hwm)}return getDefaultHighWaterMark(state.objectMode)}module2.exports={getHighWaterMark,getDefaultHighWaterMark,setDefaultHighWaterMark}});var require_safe_buffer=__commonJS((exports2,module2)=>{/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */var buffer=require(\"buffer\"),Buffer=buffer.Buffer;function copyProps(src,dst){for(var key in src)dst[key]=src[key]}if(Buffer.from&&Buffer.alloc&&Buffer.allocUnsafe&&Buffer.allocUnsafeSlow)module2.exports=buffer;else copyProps(buffer,exports2),exports2.Buffer=SafeBuffer;function SafeBuffer(arg,encodingOrOffset,length){return Buffer(arg,encodingOrOffset,length)}SafeBuffer.prototype=Object.create(Buffer.prototype);copyProps(Buffer,SafeBuffer);SafeBuffer.from=function(arg,encodingOrOffset,length){if(typeof arg===\"number\")throw TypeError(\"Argument must not be a number\");return Buffer(arg,encodingOrOffset,length)};SafeBuffer.alloc=function(size,fill,encoding){if(typeof size!==\"number\")throw TypeError(\"Argument must be a number\");var buf=Buffer(size);if(fill!==void 0)if(typeof encoding===\"string\")buf.fill(fill,encoding);else buf.fill(fill);else buf.fill(0);return buf};SafeBuffer.allocUnsafe=function(size){if(typeof size!==\"number\")throw TypeError(\"Argument must be a number\");return Buffer(size)};SafeBuffer.allocUnsafeSlow=function(size){if(typeof size!==\"number\")throw TypeError(\"Argument must be a number\");return buffer.SlowBuffer(size)}});var require_string_decoder=__commonJS((exports2)=>{var Buffer=require_safe_buffer().Buffer,isEncoding=Buffer.isEncoding||function(encoding){switch(encoding=\"\"+encoding,encoding&&encoding.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 _normalizeEncoding(enc){if(!enc)return\"utf8\";var retried;while(!0)switch(enc){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 enc;default:if(retried)return;enc=(\"\"+enc).toLowerCase(),retried=!0}}function normalizeEncoding(enc){var nenc=_normalizeEncoding(enc);if(typeof nenc!==\"string\"&&(Buffer.isEncoding===isEncoding||!isEncoding(enc)))throw Error(\"Unknown encoding: \"+enc);return nenc||enc}exports2.StringDecoder=StringDecoder;function StringDecoder(encoding){this.encoding=normalizeEncoding(encoding);var nb;switch(this.encoding){case\"utf16le\":this.text=utf16Text,this.end=utf16End,nb=4;break;case\"utf8\":this.fillLast=utf8FillLast,nb=4;break;case\"base64\":this.text=base64Text,this.end=base64End,nb=3;break;default:this.write=simpleWrite,this.end=simpleEnd;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=Buffer.allocUnsafe(nb)}StringDecoder.prototype.write=function(buf){if(buf.length===0)return\"\";var r,i;if(this.lastNeed){if(r=this.fillLast(buf),r===void 0)return\"\";i=this.lastNeed,this.lastNeed=0}else i=0;if(i<buf.length)return r?r+this.text(buf,i):this.text(buf,i);return r||\"\"};StringDecoder.prototype.end=utf8End;StringDecoder.prototype.text=utf8Text;StringDecoder.prototype.fillLast=function(buf){if(this.lastNeed<=buf.length)return buf.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);buf.copy(this.lastChar,this.lastTotal-this.lastNeed,0,buf.length),this.lastNeed-=buf.length};function utf8CheckByte(byte){if(byte<=127)return 0;else if(byte>>5===6)return 2;else if(byte>>4===14)return 3;else if(byte>>3===30)return 4;return byte>>6===2?-1:-2}function utf8CheckIncomplete(self,buf,i){var j=buf.length-1;if(j<i)return 0;var nb=utf8CheckByte(buf[j]);if(nb>=0){if(nb>0)self.lastNeed=nb-1;return nb}if(--j<i||nb===-2)return 0;if(nb=utf8CheckByte(buf[j]),nb>=0){if(nb>0)self.lastNeed=nb-2;return nb}if(--j<i||nb===-2)return 0;if(nb=utf8CheckByte(buf[j]),nb>=0){if(nb>0)if(nb===2)nb=0;else self.lastNeed=nb-3;return nb}return 0}function utf8CheckExtraBytes(self,buf,p){if((buf[0]&192)!==128)return self.lastNeed=0,\"�\";if(self.lastNeed>1&&buf.length>1){if((buf[1]&192)!==128)return self.lastNeed=1,\"�\";if(self.lastNeed>2&&buf.length>2){if((buf[2]&192)!==128)return self.lastNeed=2,\"�\"}}}function utf8FillLast(buf){var p=this.lastTotal-this.lastNeed,r=utf8CheckExtraBytes(this,buf,p);if(r!==void 0)return r;if(this.lastNeed<=buf.length)return buf.copy(this.lastChar,p,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);buf.copy(this.lastChar,p,0,buf.length),this.lastNeed-=buf.length}function utf8Text(buf,i){var total=utf8CheckIncomplete(this,buf,i);if(!this.lastNeed)return buf.toString(\"utf8\",i);this.lastTotal=total;var end=buf.length-(total-this.lastNeed);return buf.copy(this.lastChar,0,end),buf.toString(\"utf8\",i,end)}function utf8End(buf){var r=buf&&buf.length?this.write(buf):\"\";if(this.lastNeed)return r+\"�\";return r}function utf16Text(buf,i){if((buf.length-i)%2===0){var r=buf.toString(\"utf16le\",i);if(r){var c=r.charCodeAt(r.length-1);if(c>=55296&&c<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=buf[buf.length-2],this.lastChar[1]=buf[buf.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=buf[buf.length-1],buf.toString(\"utf16le\",i,buf.length-1)}function utf16End(buf){var r=buf&&buf.length?this.write(buf):\"\";if(this.lastNeed){var end=this.lastTotal-this.lastNeed;return r+this.lastChar.toString(\"utf16le\",0,end)}return r}function base64Text(buf,i){var n=(buf.length-i)%3;if(n===0)return buf.toString(\"base64\",i);if(this.lastNeed=3-n,this.lastTotal=3,n===1)this.lastChar[0]=buf[buf.length-1];else this.lastChar[0]=buf[buf.length-2],this.lastChar[1]=buf[buf.length-1];return buf.toString(\"base64\",i,buf.length-n)}function base64End(buf){var r=buf&&buf.length?this.write(buf):\"\";if(this.lastNeed)return r+this.lastChar.toString(\"base64\",0,3-this.lastNeed);return r}function simpleWrite(buf){return buf.toString(this.encoding)}function simpleEnd(buf){return buf&&buf.length?this.write(buf):\"\"}});var require_from=__commonJS((exports2,module2)=>{var process=require_process(),{PromisePrototypeThen,SymbolAsyncIterator,SymbolIterator}=require_primordials(),{Buffer}=require(\"buffer\"),{ERR_INVALID_ARG_TYPE,ERR_STREAM_NULL_VALUES}=require_errors().codes;function from(Readable,iterable,opts){let iterator;if(typeof iterable===\"string\"||iterable instanceof Buffer)return new Readable({objectMode:!0,...opts,read(){this.push(iterable),this.push(null)}});let isAsync;if(iterable&&iterable[SymbolAsyncIterator])isAsync=!0,iterator=iterable[SymbolAsyncIterator]();else if(iterable&&iterable[SymbolIterator])isAsync=!1,iterator=iterable[SymbolIterator]();else throw new ERR_INVALID_ARG_TYPE(\"iterable\",[\"Iterable\"],iterable);let readable=new Readable({objectMode:!0,highWaterMark:1,...opts}),reading=!1;readable._read=function(){if(!reading)reading=!0,next()},readable._destroy=function(error,cb){PromisePrototypeThen(close(error),()=>process.nextTick(cb,error),(e)=>process.nextTick(cb,e||error))};async function close(error){let hadError=error!==void 0&&error!==null,hasThrow=typeof iterator.throw===\"function\";if(hadError&&hasThrow){let{value,done}=await iterator.throw(error);if(await value,done)return}if(typeof iterator.return===\"function\"){let{value}=await iterator.return();await value}}async function next(){for(;;){try{let{value,done}=isAsync?await iterator.next():iterator.next();if(done)readable.push(null);else{let res=value&&typeof value.then===\"function\"?await value:value;if(res===null)throw reading=!1,new ERR_STREAM_NULL_VALUES;else if(readable.push(res))continue;else reading=!1}}catch(err){readable.destroy(err)}break}}return readable}module2.exports=from});var require_readable=__commonJS((exports2,module2)=>{var process=require_process(),{ArrayPrototypeIndexOf,NumberIsInteger,NumberIsNaN,NumberParseInt,ObjectDefineProperties,ObjectKeys,ObjectSetPrototypeOf,Promise:Promise2,SafeSet,SymbolAsyncDispose,SymbolAsyncIterator,Symbol:Symbol2}=require_primordials();module2.exports=Readable;Readable.ReadableState=ReadableState;var{EventEmitter:EE}=require(\"events\"),{Stream,prependListener}=require_legacy(),{Buffer}=require(\"buffer\"),{addAbortSignal}=require_add_abort_signal(),eos=require_end_of_stream(),debug=require_util().debuglog(\"stream\",(fn)=>{debug=fn}),BufferList=require_buffer_list(),destroyImpl=require_destroy(),{getHighWaterMark,getDefaultHighWaterMark}=require_state(),{aggregateTwoErrors,codes:{ERR_INVALID_ARG_TYPE,ERR_METHOD_NOT_IMPLEMENTED,ERR_OUT_OF_RANGE,ERR_STREAM_PUSH_AFTER_EOF,ERR_STREAM_UNSHIFT_AFTER_END_EVENT},AbortError}=require_errors(),{validateObject}=require_validators(),kPaused=Symbol2(\"kPaused\"),{StringDecoder}=require_string_decoder(),from=require_from();ObjectSetPrototypeOf(Readable.prototype,Stream.prototype);ObjectSetPrototypeOf(Readable,Stream);var nop=()=>{},{errorOrDestroy}=destroyImpl,kObjectMode=1,kEnded=2,kEndEmitted=4,kReading=8,kConstructed=16,kSync=32,kNeedReadable=64,kEmittedReadable=128,kReadableListening=256,kResumeScheduled=512,kErrorEmitted=1024,kEmitClose=2048,kAutoDestroy=4096,kDestroyed=8192,kClosed=16384,kCloseEmitted=32768,kMultiAwaitDrain=65536,kReadingMore=131072,kDataEmitted=262144;function makeBitMapDescriptor(bit){return{enumerable:!1,get(){return(this.state&bit)!==0},set(value){if(value)this.state|=bit;else this.state&=~bit}}}ObjectDefineProperties(ReadableState.prototype,{objectMode:makeBitMapDescriptor(kObjectMode),ended:makeBitMapDescriptor(kEnded),endEmitted:makeBitMapDescriptor(kEndEmitted),reading:makeBitMapDescriptor(kReading),constructed:makeBitMapDescriptor(kConstructed),sync:makeBitMapDescriptor(kSync),needReadable:makeBitMapDescriptor(kNeedReadable),emittedReadable:makeBitMapDescriptor(kEmittedReadable),readableListening:makeBitMapDescriptor(kReadableListening),resumeScheduled:makeBitMapDescriptor(kResumeScheduled),errorEmitted:makeBitMapDescriptor(kErrorEmitted),emitClose:makeBitMapDescriptor(kEmitClose),autoDestroy:makeBitMapDescriptor(kAutoDestroy),destroyed:makeBitMapDescriptor(kDestroyed),closed:makeBitMapDescriptor(kClosed),closeEmitted:makeBitMapDescriptor(kCloseEmitted),multiAwaitDrain:makeBitMapDescriptor(kMultiAwaitDrain),readingMore:makeBitMapDescriptor(kReadingMore),dataEmitted:makeBitMapDescriptor(kDataEmitted)});function ReadableState(options,stream,isDuplex){if(typeof isDuplex!==\"boolean\")isDuplex=stream instanceof require_duplex();if(this.state=kEmitClose|kAutoDestroy|kConstructed|kSync,options&&options.objectMode)this.state|=kObjectMode;if(isDuplex&&options&&options.readableObjectMode)this.state|=kObjectMode;if(this.highWaterMark=options?getHighWaterMark(this,options,\"readableHighWaterMark\",isDuplex):getDefaultHighWaterMark(!1),this.buffer=new BufferList,this.length=0,this.pipes=[],this.flowing=null,this[kPaused]=null,options&&options.emitClose===!1)this.state&=~kEmitClose;if(options&&options.autoDestroy===!1)this.state&=~kAutoDestroy;if(this.errored=null,this.defaultEncoding=options&&options.defaultEncoding||\"utf8\",this.awaitDrainWriters=null,this.decoder=null,this.encoding=null,options&&options.encoding)this.decoder=new StringDecoder(options.encoding),this.encoding=options.encoding}function Readable(options){if(!(this instanceof Readable))return new Readable(options);let isDuplex=this instanceof require_duplex();if(this._readableState=new ReadableState(options,this,isDuplex),options){if(typeof options.read===\"function\")this._read=options.read;if(typeof options.destroy===\"function\")this._destroy=options.destroy;if(typeof options.construct===\"function\")this._construct=options.construct;if(options.signal&&!isDuplex)addAbortSignal(options.signal,this)}Stream.call(this,options),destroyImpl.construct(this,()=>{if(this._readableState.needReadable)maybeReadMore(this,this._readableState)})}Readable.prototype.destroy=destroyImpl.destroy;Readable.prototype._undestroy=destroyImpl.undestroy;Readable.prototype._destroy=function(err,cb){cb(err)};Readable.prototype[EE.captureRejectionSymbol]=function(err){this.destroy(err)};Readable.prototype[SymbolAsyncDispose]=function(){let error;if(!this.destroyed)error=this.readableEnded?null:new AbortError,this.destroy(error);return new Promise2((resolve,reject)=>eos(this,(err)=>err&&err!==error?reject(err):resolve(null)))};Readable.prototype.push=function(chunk,encoding){return readableAddChunk(this,chunk,encoding,!1)};Readable.prototype.unshift=function(chunk,encoding){return readableAddChunk(this,chunk,encoding,!0)};function readableAddChunk(stream,chunk,encoding,addToFront){debug(\"readableAddChunk\",chunk);let state=stream._readableState,err;if((state.state&kObjectMode)===0){if(typeof chunk===\"string\"){if(encoding=encoding||state.defaultEncoding,state.encoding!==encoding)if(addToFront&&state.encoding)chunk=Buffer.from(chunk,encoding).toString(state.encoding);else chunk=Buffer.from(chunk,encoding),encoding=\"\"}else if(chunk instanceof Buffer)encoding=\"\";else if(Stream._isUint8Array(chunk))chunk=Stream._uint8ArrayToBuffer(chunk),encoding=\"\";else if(chunk!=null)err=new ERR_INVALID_ARG_TYPE(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],chunk)}if(err)errorOrDestroy(stream,err);else if(chunk===null)state.state&=~kReading,onEofChunk(stream,state);else if((state.state&kObjectMode)!==0||chunk&&chunk.length>0)if(addToFront)if((state.state&kEndEmitted)!==0)errorOrDestroy(stream,new ERR_STREAM_UNSHIFT_AFTER_END_EVENT);else if(state.destroyed||state.errored)return!1;else addChunk(stream,state,chunk,!0);else if(state.ended)errorOrDestroy(stream,new ERR_STREAM_PUSH_AFTER_EOF);else if(state.destroyed||state.errored)return!1;else if(state.state&=~kReading,state.decoder&&!encoding)if(chunk=state.decoder.write(chunk),state.objectMode||chunk.length!==0)addChunk(stream,state,chunk,!1);else maybeReadMore(stream,state);else addChunk(stream,state,chunk,!1);else if(!addToFront)state.state&=~kReading,maybeReadMore(stream,state);return!state.ended&&(state.length<state.highWaterMark||state.length===0)}function addChunk(stream,state,chunk,addToFront){if(state.flowing&&state.length===0&&!state.sync&&stream.listenerCount(\"data\")>0){if((state.state&kMultiAwaitDrain)!==0)state.awaitDrainWriters.clear();else state.awaitDrainWriters=null;state.dataEmitted=!0,stream.emit(\"data\",chunk)}else{if(state.length+=state.objectMode?1:chunk.length,addToFront)state.buffer.unshift(chunk);else state.buffer.push(chunk);if((state.state&kNeedReadable)!==0)emitReadable(stream)}maybeReadMore(stream,state)}Readable.prototype.isPaused=function(){let state=this._readableState;return state[kPaused]===!0||state.flowing===!1};Readable.prototype.setEncoding=function(enc){let decoder=new StringDecoder(enc);this._readableState.decoder=decoder,this._readableState.encoding=this._readableState.decoder.encoding;let buffer=this._readableState.buffer,content=\"\";for(let data of buffer)content+=decoder.write(data);if(buffer.clear(),content!==\"\")buffer.push(content);return this._readableState.length=content.length,this};var MAX_HWM=1073741824;function computeNewHighWaterMark(n){if(n>MAX_HWM)throw new ERR_OUT_OF_RANGE(\"size\",\"<= 1GiB\",n);else n--,n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n++;return n}function howMuchToRead(n,state){if(n<=0||state.length===0&&state.ended)return 0;if((state.state&kObjectMode)!==0)return 1;if(NumberIsNaN(n)){if(state.flowing&&state.length)return state.buffer.first().length;return state.length}if(n<=state.length)return n;return state.ended?state.length:0}Readable.prototype.read=function(n){if(debug(\"read\",n),n===void 0)n=NaN;else if(!NumberIsInteger(n))n=NumberParseInt(n,10);let state=this._readableState,nOrig=n;if(n>state.highWaterMark)state.highWaterMark=computeNewHighWaterMark(n);if(n!==0)state.state&=~kEmittedReadable;if(n===0&&state.needReadable&&((state.highWaterMark!==0?state.length>=state.highWaterMark:state.length>0)||state.ended)){if(debug(\"read: emitReadable\",state.length,state.ended),state.length===0&&state.ended)endReadable(this);else emitReadable(this);return null}if(n=howMuchToRead(n,state),n===0&&state.ended){if(state.length===0)endReadable(this);return null}let doRead=(state.state&kNeedReadable)!==0;if(debug(\"need readable\",doRead),state.length===0||state.length-n<state.highWaterMark)doRead=!0,debug(\"length less than watermark\",doRead);if(state.ended||state.reading||state.destroyed||state.errored||!state.constructed)doRead=!1,debug(\"reading, ended or constructing\",doRead);else if(doRead){if(debug(\"do read\"),state.state|=kReading|kSync,state.length===0)state.state|=kNeedReadable;try{this._read(state.highWaterMark)}catch(err){errorOrDestroy(this,err)}if(state.state&=~kSync,!state.reading)n=howMuchToRead(nOrig,state)}let ret;if(n>0)ret=fromList(n,state);else ret=null;if(ret===null)state.needReadable=state.length<=state.highWaterMark,n=0;else if(state.length-=n,state.multiAwaitDrain)state.awaitDrainWriters.clear();else state.awaitDrainWriters=null;if(state.length===0){if(!state.ended)state.needReadable=!0;if(nOrig!==n&&state.ended)endReadable(this)}if(ret!==null&&!state.errorEmitted&&!state.closeEmitted)state.dataEmitted=!0,this.emit(\"data\",ret);return ret};function onEofChunk(stream,state){if(debug(\"onEofChunk\"),state.ended)return;if(state.decoder){let chunk=state.decoder.end();if(chunk&&chunk.length)state.buffer.push(chunk),state.length+=state.objectMode?1:chunk.length}if(state.ended=!0,state.sync)emitReadable(stream);else state.needReadable=!1,state.emittedReadable=!0,emitReadable_(stream)}function emitReadable(stream){let state=stream._readableState;if(debug(\"emitReadable\",state.needReadable,state.emittedReadable),state.needReadable=!1,!state.emittedReadable)debug(\"emitReadable\",state.flowing),state.emittedReadable=!0,process.nextTick(emitReadable_,stream)}function emitReadable_(stream){let state=stream._readableState;if(debug(\"emitReadable_\",state.destroyed,state.length,state.ended),!state.destroyed&&!state.errored&&(state.length||state.ended))stream.emit(\"readable\"),state.emittedReadable=!1;state.needReadable=!state.flowing&&!state.ended&&state.length<=state.highWaterMark,flow(stream)}function maybeReadMore(stream,state){if(!state.readingMore&&state.constructed)state.readingMore=!0,process.nextTick(maybeReadMore_,stream,state)}function maybeReadMore_(stream,state){while(!state.reading&&!state.ended&&(state.length<state.highWaterMark||state.flowing&&state.length===0)){let len=state.length;if(debug(\"maybeReadMore read 0\"),stream.read(0),len===state.length)break}state.readingMore=!1}Readable.prototype._read=function(n){throw new ERR_METHOD_NOT_IMPLEMENTED(\"_read()\")};Readable.prototype.pipe=function(dest,pipeOpts){let src=this,state=this._readableState;if(state.pipes.length===1){if(!state.multiAwaitDrain)state.multiAwaitDrain=!0,state.awaitDrainWriters=new SafeSet(state.awaitDrainWriters?[state.awaitDrainWriters]:[])}state.pipes.push(dest),debug(\"pipe count=%d opts=%j\",state.pipes.length,pipeOpts);let endFn=(!pipeOpts||pipeOpts.end!==!1)&&dest!==process.stdout&&dest!==process.stderr?onend:unpipe;if(state.endEmitted)process.nextTick(endFn);else src.once(\"end\",endFn);dest.on(\"unpipe\",onunpipe);function onunpipe(readable,unpipeInfo){if(debug(\"onunpipe\"),readable===src){if(unpipeInfo&&unpipeInfo.hasUnpiped===!1)unpipeInfo.hasUnpiped=!0,cleanup()}}function onend(){debug(\"onend\"),dest.end()}let ondrain,cleanedUp=!1;function cleanup(){if(debug(\"cleanup\"),dest.removeListener(\"close\",onclose),dest.removeListener(\"finish\",onfinish),ondrain)dest.removeListener(\"drain\",ondrain);if(dest.removeListener(\"error\",onerror),dest.removeListener(\"unpipe\",onunpipe),src.removeListener(\"end\",onend),src.removeListener(\"end\",unpipe),src.removeListener(\"data\",ondata),cleanedUp=!0,ondrain&&state.awaitDrainWriters&&(!dest._writableState||dest._writableState.needDrain))ondrain()}function pause(){if(!cleanedUp){if(state.pipes.length===1&&state.pipes[0]===dest)debug(\"false write response, pause\",0),state.awaitDrainWriters=dest,state.multiAwaitDrain=!1;else if(state.pipes.length>1&&state.pipes.includes(dest))debug(\"false write response, pause\",state.awaitDrainWriters.size),state.awaitDrainWriters.add(dest);src.pause()}if(!ondrain)ondrain=pipeOnDrain(src,dest),dest.on(\"drain\",ondrain)}src.on(\"data\",ondata);function ondata(chunk){debug(\"ondata\");let ret=dest.write(chunk);if(debug(\"dest.write\",ret),ret===!1)pause()}function onerror(er){if(debug(\"onerror\",er),unpipe(),dest.removeListener(\"error\",onerror),dest.listenerCount(\"error\")===0){let s=dest._writableState||dest._readableState;if(s&&!s.errorEmitted)errorOrDestroy(dest,er);else dest.emit(\"error\",er)}}prependListener(dest,\"error\",onerror);function onclose(){dest.removeListener(\"finish\",onfinish),unpipe()}dest.once(\"close\",onclose);function onfinish(){debug(\"onfinish\"),dest.removeListener(\"close\",onclose),unpipe()}dest.once(\"finish\",onfinish);function unpipe(){debug(\"unpipe\"),src.unpipe(dest)}if(dest.emit(\"pipe\",src),dest.writableNeedDrain===!0)pause();else if(!state.flowing)debug(\"pipe resume\"),src.resume();return dest};function pipeOnDrain(src,dest){return function(){let state=src._readableState;if(state.awaitDrainWriters===dest)debug(\"pipeOnDrain\",1),state.awaitDrainWriters=null;else if(state.multiAwaitDrain)debug(\"pipeOnDrain\",state.awaitDrainWriters.size),state.awaitDrainWriters.delete(dest);if((!state.awaitDrainWriters||state.awaitDrainWriters.size===0)&&src.listenerCount(\"data\"))src.resume()}}Readable.prototype.unpipe=function(dest){let state=this._readableState,unpipeInfo={hasUnpiped:!1};if(state.pipes.length===0)return this;if(!dest){let dests=state.pipes;state.pipes=[],this.pause();for(let i=0;i<dests.length;i++)dests[i].emit(\"unpipe\",this,{hasUnpiped:!1});return this}let index=ArrayPrototypeIndexOf(state.pipes,dest);if(index===-1)return this;if(state.pipes.splice(index,1),state.pipes.length===0)this.pause();return dest.emit(\"unpipe\",this,unpipeInfo),this};Readable.prototype.on=function(ev,fn){let res=Stream.prototype.on.call(this,ev,fn),state=this._readableState;if(ev===\"data\"){if(state.readableListening=this.listenerCount(\"readable\")>0,state.flowing!==!1)this.resume()}else if(ev===\"readable\"){if(!state.endEmitted&&!state.readableListening){if(state.readableListening=state.needReadable=!0,state.flowing=!1,state.emittedReadable=!1,debug(\"on readable\",state.length,state.reading),state.length)emitReadable(this);else if(!state.reading)process.nextTick(nReadingNextTick,this)}}return res};Readable.prototype.addListener=Readable.prototype.on;Readable.prototype.removeListener=function(ev,fn){let res=Stream.prototype.removeListener.call(this,ev,fn);if(ev===\"readable\")process.nextTick(updateReadableListening,this);return res};Readable.prototype.off=Readable.prototype.removeListener;Readable.prototype.removeAllListeners=function(ev){let res=Stream.prototype.removeAllListeners.apply(this,arguments);if(ev===\"readable\"||ev===void 0)process.nextTick(updateReadableListening,this);return res};function updateReadableListening(self){let state=self._readableState;if(state.readableListening=self.listenerCount(\"readable\")>0,state.resumeScheduled&&state[kPaused]===!1)state.flowing=!0;else if(self.listenerCount(\"data\")>0)self.resume();else if(!state.readableListening)state.flowing=null}function nReadingNextTick(self){debug(\"readable nexttick read 0\"),self.read(0)}Readable.prototype.resume=function(){let state=this._readableState;if(!state.flowing)debug(\"resume\"),state.flowing=!state.readableListening,resume(this,state);return state[kPaused]=!1,this};function resume(stream,state){if(!state.resumeScheduled)state.resumeScheduled=!0,process.nextTick(resume_,stream,state)}function resume_(stream,state){if(debug(\"resume\",state.reading),!state.reading)stream.read(0);if(state.resumeScheduled=!1,stream.emit(\"resume\"),flow(stream),state.flowing&&!state.reading)stream.read(0)}Readable.prototype.pause=function(){if(debug(\"call pause flowing=%j\",this._readableState.flowing),this._readableState.flowing!==!1)debug(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\");return this._readableState[kPaused]=!0,this};function flow(stream){let state=stream._readableState;debug(\"flow\",state.flowing);while(state.flowing&&stream.read()!==null);}Readable.prototype.wrap=function(stream){let paused=!1;stream.on(\"data\",(chunk)=>{if(!this.push(chunk)&&stream.pause)paused=!0,stream.pause()}),stream.on(\"end\",()=>{this.push(null)}),stream.on(\"error\",(err)=>{errorOrDestroy(this,err)}),stream.on(\"close\",()=>{this.destroy()}),stream.on(\"destroy\",()=>{this.destroy()}),this._read=()=>{if(paused&&stream.resume)paused=!1,stream.resume()};let streamKeys=ObjectKeys(stream);for(let j=1;j<streamKeys.length;j++){let i=streamKeys[j];if(this[i]===void 0&&typeof stream[i]===\"function\")this[i]=stream[i].bind(stream)}return this};Readable.prototype[SymbolAsyncIterator]=function(){return streamToAsyncIterator(this)};Readable.prototype.iterator=function(options){if(options!==void 0)validateObject(options,\"options\");return streamToAsyncIterator(this,options)};function streamToAsyncIterator(stream,options){if(typeof stream.read!==\"function\")stream=Readable.wrap(stream,{objectMode:!0});let iter=createAsyncIterator(stream,options);return iter.stream=stream,iter}async function*createAsyncIterator(stream,options){let callback=nop;function next(resolve){if(this===stream)callback(),callback=nop;else callback=resolve}stream.on(\"readable\",next);let error,cleanup=eos(stream,{writable:!1},(err)=>{error=err?aggregateTwoErrors(error,err):null,callback(),callback=nop});try{while(!0){let chunk=stream.destroyed?null:stream.read();if(chunk!==null)yield chunk;else if(error)throw error;else if(error===null)return;else await new Promise2(next)}}catch(err){throw error=aggregateTwoErrors(error,err),error}finally{if((error||(options===null||options===void 0?void 0:options.destroyOnReturn)!==!1)&&(error===void 0||stream._readableState.autoDestroy))destroyImpl.destroyer(stream,null);else stream.off(\"readable\",next),cleanup()}}ObjectDefineProperties(Readable.prototype,{readable:{__proto__:null,get(){let r=this._readableState;return!!r&&r.readable!==!1&&!r.destroyed&&!r.errorEmitted&&!r.endEmitted},set(val){if(this._readableState)this._readableState.readable=!!val}},readableDidRead:{__proto__:null,enumerable:!1,get:function(){return this._readableState.dataEmitted}},readableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._readableState.readable!==!1&&(this._readableState.destroyed||this._readableState.errored)&&!this._readableState.endEmitted)}},readableHighWaterMark:{__proto__:null,enumerable:!1,get:function(){return this._readableState.highWaterMark}},readableBuffer:{__proto__:null,enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}},readableFlowing:{__proto__:null,enumerable:!1,get:function(){return this._readableState.flowing},set:function(state){if(this._readableState)this._readableState.flowing=state}},readableLength:{__proto__:null,enumerable:!1,get(){return this._readableState.length}},readableObjectMode:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.objectMode:!1}},readableEncoding:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.encoding:null}},errored:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.errored:null}},closed:{__proto__:null,get(){return this._readableState?this._readableState.closed:!1}},destroyed:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.destroyed:!1},set(value){if(!this._readableState)return;this._readableState.destroyed=value}},readableEnded:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.endEmitted:!1}}});ObjectDefineProperties(ReadableState.prototype,{pipesCount:{__proto__:null,get(){return this.pipes.length}},paused:{__proto__:null,get(){return this[kPaused]!==!1},set(value){this[kPaused]=!!value}}});Readable._fromList=fromList;function fromList(n,state){if(state.length===0)return null;let ret;if(state.objectMode)ret=state.buffer.shift();else if(!n||n>=state.length){if(state.decoder)ret=state.buffer.join(\"\");else if(state.buffer.length===1)ret=state.buffer.first();else ret=state.buffer.concat(state.length);state.buffer.clear()}else ret=state.buffer.consume(n,state.decoder);return ret}function endReadable(stream){let state=stream._readableState;if(debug(\"endReadable\",state.endEmitted),!state.endEmitted)state.ended=!0,process.nextTick(endReadableNT,state,stream)}function endReadableNT(state,stream){if(debug(\"endReadableNT\",state.endEmitted,state.length),!state.errored&&!state.closeEmitted&&!state.endEmitted&&state.length===0){if(state.endEmitted=!0,stream.emit(\"end\"),stream.writable&&stream.allowHalfOpen===!1)process.nextTick(endWritableNT,stream);else if(state.autoDestroy){let wState=stream._writableState;if(!wState||wState.autoDestroy&&(wState.finished||wState.writable===!1))stream.destroy()}}}function endWritableNT(stream){if(stream.writable&&!stream.writableEnded&&!stream.destroyed)stream.end()}Readable.from=function(iterable,opts){return from(Readable,iterable,opts)};var webStreamsAdapters;function lazyWebStreams(){if(webStreamsAdapters===void 0)webStreamsAdapters={};return webStreamsAdapters}Readable.fromWeb=function(readableStream,options){return lazyWebStreams().newStreamReadableFromReadableStream(readableStream,options)};Readable.toWeb=function(streamReadable,options){return lazyWebStreams().newReadableStreamFromStreamReadable(streamReadable,options)};Readable.wrap=function(src,options){var _ref,_src$readableObjectMo;return new Readable({objectMode:(_ref=(_src$readableObjectMo=src.readableObjectMode)!==null&&_src$readableObjectMo!==void 0?_src$readableObjectMo:src.objectMode)!==null&&_ref!==void 0?_ref:!0,...options,destroy(err,callback){destroyImpl.destroyer(src,err),callback(err)}}).wrap(src)}});var require_writable=__commonJS((exports2,module2)=>{var process=require_process(),{ArrayPrototypeSlice,Error:Error2,FunctionPrototypeSymbolHasInstance,ObjectDefineProperty,ObjectDefineProperties,ObjectSetPrototypeOf,StringPrototypeToLowerCase,Symbol:Symbol2,SymbolHasInstance}=require_primordials();module2.exports=Writable;Writable.WritableState=WritableState;var{EventEmitter:EE}=require(\"events\"),Stream=require_legacy().Stream,{Buffer}=require(\"buffer\"),destroyImpl=require_destroy(),{addAbortSignal}=require_add_abort_signal(),{getHighWaterMark,getDefaultHighWaterMark}=require_state(),{ERR_INVALID_ARG_TYPE,ERR_METHOD_NOT_IMPLEMENTED,ERR_MULTIPLE_CALLBACK,ERR_STREAM_CANNOT_PIPE,ERR_STREAM_DESTROYED,ERR_STREAM_ALREADY_FINISHED,ERR_STREAM_NULL_VALUES,ERR_STREAM_WRITE_AFTER_END,ERR_UNKNOWN_ENCODING}=require_errors().codes,{errorOrDestroy}=destroyImpl;ObjectSetPrototypeOf(Writable.prototype,Stream.prototype);ObjectSetPrototypeOf(Writable,Stream);function nop(){}var kOnFinished=Symbol2(\"kOnFinished\");function WritableState(options,stream,isDuplex){if(typeof isDuplex!==\"boolean\")isDuplex=stream instanceof require_duplex();if(this.objectMode=!!(options&&options.objectMode),isDuplex)this.objectMode=this.objectMode||!!(options&&options.writableObjectMode);this.highWaterMark=options?getHighWaterMark(this,options,\"writableHighWaterMark\",isDuplex):getDefaultHighWaterMark(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;let noDecode=!!(options&&options.decodeStrings===!1);this.decodeStrings=!noDecode,this.defaultEncoding=options&&options.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=onwrite.bind(void 0,stream),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,resetBuffer(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!options||options.emitClose!==!1,this.autoDestroy=!options||options.autoDestroy!==!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[kOnFinished]=[]}function resetBuffer(state){state.buffered=[],state.bufferedIndex=0,state.allBuffers=!0,state.allNoop=!0}WritableState.prototype.getBuffer=function(){return ArrayPrototypeSlice(this.buffered,this.bufferedIndex)};ObjectDefineProperty(WritableState.prototype,\"bufferedRequestCount\",{__proto__:null,get(){return this.buffered.length-this.bufferedIndex}});function Writable(options){let isDuplex=this instanceof require_duplex();if(!isDuplex&&!FunctionPrototypeSymbolHasInstance(Writable,this))return new Writable(options);if(this._writableState=new WritableState(options,this,isDuplex),options){if(typeof options.write===\"function\")this._write=options.write;if(typeof options.writev===\"function\")this._writev=options.writev;if(typeof options.destroy===\"function\")this._destroy=options.destroy;if(typeof options.final===\"function\")this._final=options.final;if(typeof options.construct===\"function\")this._construct=options.construct;if(options.signal)addAbortSignal(options.signal,this)}Stream.call(this,options),destroyImpl.construct(this,()=>{let state=this._writableState;if(!state.writing)clearBuffer(this,state);finishMaybe(this,state)})}ObjectDefineProperty(Writable,SymbolHasInstance,{__proto__:null,value:function(object){if(FunctionPrototypeSymbolHasInstance(this,object))return!0;if(this!==Writable)return!1;return object&&object._writableState instanceof WritableState}});Writable.prototype.pipe=function(){errorOrDestroy(this,new ERR_STREAM_CANNOT_PIPE)};function _write(stream,chunk,encoding,cb){let state=stream._writableState;if(typeof encoding===\"function\")cb=encoding,encoding=state.defaultEncoding;else{if(!encoding)encoding=state.defaultEncoding;else if(encoding!==\"buffer\"&&!Buffer.isEncoding(encoding))throw new ERR_UNKNOWN_ENCODING(encoding);if(typeof cb!==\"function\")cb=nop}if(chunk===null)throw new ERR_STREAM_NULL_VALUES;else if(!state.objectMode)if(typeof chunk===\"string\"){if(state.decodeStrings!==!1)chunk=Buffer.from(chunk,encoding),encoding=\"buffer\"}else if(chunk instanceof Buffer)encoding=\"buffer\";else if(Stream._isUint8Array(chunk))chunk=Stream._uint8ArrayToBuffer(chunk),encoding=\"buffer\";else throw new ERR_INVALID_ARG_TYPE(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],chunk);let err;if(state.ending)err=new ERR_STREAM_WRITE_AFTER_END;else if(state.destroyed)err=new ERR_STREAM_DESTROYED(\"write\");if(err)return process.nextTick(cb,err),errorOrDestroy(stream,err,!0),err;return state.pendingcb++,writeOrBuffer(stream,state,chunk,encoding,cb)}Writable.prototype.write=function(chunk,encoding,cb){return _write(this,chunk,encoding,cb)===!0};Writable.prototype.cork=function(){this._writableState.corked++};Writable.prototype.uncork=function(){let state=this._writableState;if(state.corked){if(state.corked--,!state.writing)clearBuffer(this,state)}};Writable.prototype.setDefaultEncoding=function(encoding){if(typeof encoding===\"string\")encoding=StringPrototypeToLowerCase(encoding);if(!Buffer.isEncoding(encoding))throw new ERR_UNKNOWN_ENCODING(encoding);return this._writableState.defaultEncoding=encoding,this};function writeOrBuffer(stream,state,chunk,encoding,callback){let len=state.objectMode?1:chunk.length;state.length+=len;let ret=state.length<state.highWaterMark;if(!ret)state.needDrain=!0;if(state.writing||state.corked||state.errored||!state.constructed){if(state.buffered.push({chunk,encoding,callback}),state.allBuffers&&encoding!==\"buffer\")state.allBuffers=!1;if(state.allNoop&&callback!==nop)state.allNoop=!1}else state.writelen=len,state.writecb=callback,state.writing=!0,state.sync=!0,stream._write(chunk,encoding,state.onwrite),state.sync=!1;return ret&&!state.errored&&!state.destroyed}function doWrite(stream,state,writev,len,chunk,encoding,cb){if(state.writelen=len,state.writecb=cb,state.writing=!0,state.sync=!0,state.destroyed)state.onwrite(new ERR_STREAM_DESTROYED(\"write\"));else if(writev)stream._writev(chunk,state.onwrite);else stream._write(chunk,encoding,state.onwrite);state.sync=!1}function onwriteError(stream,state,er,cb){--state.pendingcb,cb(er),errorBuffer(state),errorOrDestroy(stream,er)}function onwrite(stream,er){let state=stream._writableState,sync=state.sync,cb=state.writecb;if(typeof cb!==\"function\"){errorOrDestroy(stream,new ERR_MULTIPLE_CALLBACK);return}if(state.writing=!1,state.writecb=null,state.length-=state.writelen,state.writelen=0,er){if(er.stack,!state.errored)state.errored=er;if(stream._readableState&&!stream._readableState.errored)stream._readableState.errored=er;if(sync)process.nextTick(onwriteError,stream,state,er,cb);else onwriteError(stream,state,er,cb)}else{if(state.buffered.length>state.bufferedIndex)clearBuffer(stream,state);if(sync)if(state.afterWriteTickInfo!==null&&state.afterWriteTickInfo.cb===cb)state.afterWriteTickInfo.count++;else state.afterWriteTickInfo={count:1,cb,stream,state},process.nextTick(afterWriteTick,state.afterWriteTickInfo);else afterWrite(stream,state,1,cb)}}function afterWriteTick({stream,state,count,cb}){return state.afterWriteTickInfo=null,afterWrite(stream,state,count,cb)}function afterWrite(stream,state,count,cb){if(!state.ending&&!stream.destroyed&&state.length===0&&state.needDrain)state.needDrain=!1,stream.emit(\"drain\");while(count-- >0)state.pendingcb--,cb();if(state.destroyed)errorBuffer(state);finishMaybe(stream,state)}function errorBuffer(state){if(state.writing)return;for(let n=state.bufferedIndex;n<state.buffered.length;++n){var _state$errored;let{chunk,callback}=state.buffered[n],len=state.objectMode?1:chunk.length;state.length-=len,callback((_state$errored=state.errored)!==null&&_state$errored!==void 0?_state$errored:new ERR_STREAM_DESTROYED(\"write\"))}let onfinishCallbacks=state[kOnFinished].splice(0);for(let i=0;i<onfinishCallbacks.length;i++){var _state$errored2;onfinishCallbacks[i]((_state$errored2=state.errored)!==null&&_state$errored2!==void 0?_state$errored2:new ERR_STREAM_DESTROYED(\"end\"))}resetBuffer(state)}function clearBuffer(stream,state){if(state.corked||state.bufferProcessing||state.destroyed||!state.constructed)return;let{buffered,bufferedIndex,objectMode}=state,bufferedLength=buffered.length-bufferedIndex;if(!bufferedLength)return;let i=bufferedIndex;if(state.bufferProcessing=!0,bufferedLength>1&&stream._writev){state.pendingcb-=bufferedLength-1;let callback=state.allNoop?nop:(err)=>{for(let n=i;n<buffered.length;++n)buffered[n].callback(err)},chunks=state.allNoop&&i===0?buffered:ArrayPrototypeSlice(buffered,i);chunks.allBuffers=state.allBuffers,doWrite(stream,state,!0,state.length,chunks,\"\",callback),resetBuffer(state)}else{do{let{chunk,encoding,callback}=buffered[i];buffered[i++]=null;let len=objectMode?1:chunk.length;doWrite(stream,state,!1,len,chunk,encoding,callback)}while(i<buffered.length&&!state.writing);if(i===buffered.length)resetBuffer(state);else if(i>256)buffered.splice(0,i),state.bufferedIndex=0;else state.bufferedIndex=i}state.bufferProcessing=!1}Writable.prototype._write=function(chunk,encoding,cb){if(this._writev)this._writev([{chunk,encoding}],cb);else throw new ERR_METHOD_NOT_IMPLEMENTED(\"_write()\")};Writable.prototype._writev=null;Writable.prototype.end=function(chunk,encoding,cb){let state=this._writableState;if(typeof chunk===\"function\")cb=chunk,chunk=null,encoding=null;else if(typeof encoding===\"function\")cb=encoding,encoding=null;let err;if(chunk!==null&&chunk!==void 0){let ret=_write(this,chunk,encoding);if(ret instanceof Error2)err=ret}if(state.corked)state.corked=1,this.uncork();if(err);else if(!state.errored&&!state.ending)state.ending=!0,finishMaybe(this,state,!0),state.ended=!0;else if(state.finished)err=new ERR_STREAM_ALREADY_FINISHED(\"end\");else if(state.destroyed)err=new ERR_STREAM_DESTROYED(\"end\");if(typeof cb===\"function\")if(err||state.finished)process.nextTick(cb,err);else state[kOnFinished].push(cb);return this};function needFinish(state){return state.ending&&!state.destroyed&&state.constructed&&state.length===0&&!state.errored&&state.buffered.length===0&&!state.finished&&!state.writing&&!state.errorEmitted&&!state.closeEmitted}function callFinal(stream,state){let called=!1;function onFinish(err){if(called){errorOrDestroy(stream,err!==null&&err!==void 0?err:ERR_MULTIPLE_CALLBACK());return}if(called=!0,state.pendingcb--,err){let onfinishCallbacks=state[kOnFinished].splice(0);for(let i=0;i<onfinishCallbacks.length;i++)onfinishCallbacks[i](err);errorOrDestroy(stream,err,state.sync)}else if(needFinish(state))state.prefinished=!0,stream.emit(\"prefinish\"),state.pendingcb++,process.nextTick(finish,stream,state)}state.sync=!0,state.pendingcb++;try{stream._final(onFinish)}catch(err){onFinish(err)}state.sync=!1}function prefinish(stream,state){if(!state.prefinished&&!state.finalCalled)if(typeof stream._final===\"function\"&&!state.destroyed)state.finalCalled=!0,callFinal(stream,state);else state.prefinished=!0,stream.emit(\"prefinish\")}function finishMaybe(stream,state,sync){if(needFinish(state)){if(prefinish(stream,state),state.pendingcb===0){if(sync)state.pendingcb++,process.nextTick((stream2,state2)=>{if(needFinish(state2))finish(stream2,state2);else state2.pendingcb--},stream,state);else if(needFinish(state))state.pendingcb++,finish(stream,state)}}}function finish(stream,state){state.pendingcb--,state.finished=!0;let onfinishCallbacks=state[kOnFinished].splice(0);for(let i=0;i<onfinishCallbacks.length;i++)onfinishCallbacks[i]();if(stream.emit(\"finish\"),state.autoDestroy){let rState=stream._readableState;if(!rState||rState.autoDestroy&&(rState.endEmitted||rState.readable===!1))stream.destroy()}}ObjectDefineProperties(Writable.prototype,{closed:{__proto__:null,get(){return this._writableState?this._writableState.closed:!1}},destroyed:{__proto__:null,get(){return this._writableState?this._writableState.destroyed:!1},set(value){if(this._writableState)this._writableState.destroyed=value}},writable:{__proto__:null,get(){let w=this._writableState;return!!w&&w.writable!==!1&&!w.destroyed&&!w.errored&&!w.ending&&!w.ended},set(val){if(this._writableState)this._writableState.writable=!!val}},writableFinished:{__proto__:null,get(){return this._writableState?this._writableState.finished:!1}},writableObjectMode:{__proto__:null,get(){return this._writableState?this._writableState.objectMode:!1}},writableBuffer:{__proto__:null,get(){return this._writableState&&this._writableState.getBuffer()}},writableEnded:{__proto__:null,get(){return this._writableState?this._writableState.ending:!1}},writableNeedDrain:{__proto__:null,get(){let wState=this._writableState;if(!wState)return!1;return!wState.destroyed&&!wState.ending&&wState.needDrain}},writableHighWaterMark:{__proto__:null,get(){return this._writableState&&this._writableState.highWaterMark}},writableCorked:{__proto__:null,get(){return this._writableState?this._writableState.corked:0}},writableLength:{__proto__:null,get(){return this._writableState&&this._writableState.length}},errored:{__proto__:null,enumerable:!1,get(){return this._writableState?this._writableState.errored:null}},writableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._writableState.writable!==!1&&(this._writableState.destroyed||this._writableState.errored)&&!this._writableState.finished)}}});var destroy=destroyImpl.destroy;Writable.prototype.destroy=function(err,cb){let state=this._writableState;if(!state.destroyed&&(state.bufferedIndex<state.buffered.length||state[kOnFinished].length))process.nextTick(errorBuffer,state);return destroy.call(this,err,cb),this};Writable.prototype._undestroy=destroyImpl.undestroy;Writable.prototype._destroy=function(err,cb){cb(err)};Writable.prototype[EE.captureRejectionSymbol]=function(err){this.destroy(err)};var webStreamsAdapters;function lazyWebStreams(){if(webStreamsAdapters===void 0)webStreamsAdapters={};return webStreamsAdapters}Writable.fromWeb=function(writableStream,options){return lazyWebStreams().newStreamWritableFromWritableStream(writableStream,options)};Writable.toWeb=function(streamWritable){return lazyWebStreams().newWritableStreamFromStreamWritable(streamWritable)}});var require_duplexify=__commonJS((exports2,module2)=>{var process=require_process(),bufferModule=require(\"buffer\"),{isReadable,isWritable,isIterable,isNodeStream,isReadableNodeStream,isWritableNodeStream,isDuplexNodeStream,isReadableStream,isWritableStream}=require_utils(),eos=require_end_of_stream(),{AbortError,codes:{ERR_INVALID_ARG_TYPE,ERR_INVALID_RETURN_VALUE}}=require_errors(),{destroyer}=require_destroy(),Duplex=require_duplex(),Readable=require_readable(),Writable=require_writable(),{createDeferredPromise}=require_util(),from=require_from(),Blob=globalThis.Blob||bufferModule.Blob,isBlob=typeof Blob<\"u\"?function(b){return b instanceof Blob}:function(b){return!1},AbortController=globalThis.AbortController||require_abort_controller().AbortController,{FunctionPrototypeCall}=require_primordials();class Duplexify extends Duplex{constructor(options){super(options);if((options===null||options===void 0?void 0:options.readable)===!1)this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0;if((options===null||options===void 0?void 0:options.writable)===!1)this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0}}module2.exports=function duplexify(body,name){if(isDuplexNodeStream(body))return body;if(isReadableNodeStream(body))return _duplexify({readable:body});if(isWritableNodeStream(body))return _duplexify({writable:body});if(isNodeStream(body))return _duplexify({writable:!1,readable:!1});if(isReadableStream(body))return _duplexify({readable:Readable.fromWeb(body)});if(isWritableStream(body))return _duplexify({writable:Writable.fromWeb(body)});if(typeof body===\"function\"){let{value,write,final,destroy}=fromAsyncGen(body);if(isIterable(value))return from(Duplexify,value,{objectMode:!0,write,final,destroy});let then2=value===null||value===void 0?void 0:value.then;if(typeof then2===\"function\"){let d,promise=FunctionPrototypeCall(then2,value,(val)=>{if(val!=null)throw new ERR_INVALID_RETURN_VALUE(\"nully\",\"body\",val)},(err)=>{destroyer(d,err)});return d=new Duplexify({objectMode:!0,readable:!1,write,final(cb){final(async()=>{try{await promise,process.nextTick(cb,null)}catch(err){process.nextTick(cb,err)}})},destroy})}throw new ERR_INVALID_RETURN_VALUE(\"Iterable, AsyncIterable or AsyncFunction\",name,value)}if(isBlob(body))return duplexify(body.arrayBuffer());if(isIterable(body))return from(Duplexify,body,{objectMode:!0,writable:!1});if(isReadableStream(body===null||body===void 0?void 0:body.readable)&&isWritableStream(body===null||body===void 0?void 0:body.writable))return Duplexify.fromWeb(body);if(typeof(body===null||body===void 0?void 0:body.writable)===\"object\"||typeof(body===null||body===void 0?void 0:body.readable)===\"object\"){let readable=body!==null&&body!==void 0&&body.readable?isReadableNodeStream(body===null||body===void 0?void 0:body.readable)?body===null||body===void 0?void 0:body.readable:duplexify(body.readable):void 0,writable=body!==null&&body!==void 0&&body.writable?isWritableNodeStream(body===null||body===void 0?void 0:body.writable)?body===null||body===void 0?void 0:body.writable:duplexify(body.writable):void 0;return _duplexify({readable,writable})}let then=body===null||body===void 0?void 0:body.then;if(typeof then===\"function\"){let d;return FunctionPrototypeCall(then,body,(val)=>{if(val!=null)d.push(val);d.push(null)},(err)=>{destroyer(d,err)}),d=new Duplexify({objectMode:!0,writable:!1,read(){}})}throw new ERR_INVALID_ARG_TYPE(name,[\"Blob\",\"ReadableStream\",\"WritableStream\",\"Stream\",\"Iterable\",\"AsyncIterable\",\"Function\",\"{ readable, writable } pair\",\"Promise\"],body)};function fromAsyncGen(fn){let{promise,resolve}=createDeferredPromise(),ac=new AbortController,signal=ac.signal;return{value:fn(async function*(){while(!0){let _promise=promise;promise=null;let{chunk,done,cb}=await _promise;if(process.nextTick(cb),done)return;if(signal.aborted)throw new AbortError(void 0,{cause:signal.reason});({promise,resolve}=createDeferredPromise()),yield chunk}}(),{signal}),write(chunk,encoding,cb){let _resolve=resolve;resolve=null,_resolve({chunk,done:!1,cb})},final(cb){let _resolve=resolve;resolve=null,_resolve({done:!0,cb})},destroy(err,cb){ac.abort(),cb(err)}}}function _duplexify(pair){let r=pair.readable&&typeof pair.readable.read!==\"function\"?Readable.wrap(pair.readable):pair.readable,w=pair.writable,readable=!!isReadable(r),writable=!!isWritable(w),ondrain,onfinish,onreadable,onclose,d;function onfinished(err){let cb=onclose;if(onclose=null,cb)cb(err);else if(err)d.destroy(err)}if(d=new Duplexify({readableObjectMode:!!(r!==null&&r!==void 0&&r.readableObjectMode),writableObjectMode:!!(w!==null&&w!==void 0&&w.writableObjectMode),readable,writable}),writable)eos(w,(err)=>{if(writable=!1,err)destroyer(r,err);onfinished(err)}),d._write=function(chunk,encoding,callback){if(w.write(chunk,encoding))callback();else ondrain=callback},d._final=function(callback){w.end(),onfinish=callback},w.on(\"drain\",function(){if(ondrain){let cb=ondrain;ondrain=null,cb()}}),w.on(\"finish\",function(){if(onfinish){let cb=onfinish;onfinish=null,cb()}});if(readable)eos(r,(err)=>{if(readable=!1,err)destroyer(r,err);onfinished(err)}),r.on(\"readable\",function(){if(onreadable){let cb=onreadable;onreadable=null,cb()}}),r.on(\"end\",function(){d.push(null)}),d._read=function(){while(!0){let buf=r.read();if(buf===null){onreadable=d._read;return}if(!d.push(buf))return}};return d._destroy=function(err,callback){if(!err&&onclose!==null)err=new AbortError;if(onreadable=null,ondrain=null,onfinish=null,onclose===null)callback(err);else onclose=callback,destroyer(w,err),destroyer(r,err)},d}});var require_duplex=__commonJS((exports2,module2)=>{var{ObjectDefineProperties,ObjectGetOwnPropertyDescriptor,ObjectKeys,ObjectSetPrototypeOf}=require_primordials();module2.exports=Duplex;var Readable=require_readable(),Writable=require_writable();ObjectSetPrototypeOf(Duplex.prototype,Readable.prototype);ObjectSetPrototypeOf(Duplex,Readable);{let keys=ObjectKeys(Writable.prototype);for(let i=0;i<keys.length;i++){let method=keys[i];if(!Duplex.prototype[method])Duplex.prototype[method]=Writable.prototype[method]}}function Duplex(options){if(!(this instanceof Duplex))return new Duplex(options);if(Readable.call(this,options),Writable.call(this,options),options){if(this.allowHalfOpen=options.allowHalfOpen!==!1,options.readable===!1)this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0;if(options.writable===!1)this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0}else this.allowHalfOpen=!0}ObjectDefineProperties(Duplex.prototype,{writable:{__proto__:null,...ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writable\")},writableHighWaterMark:{__proto__:null,...ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableHighWaterMark\")},writableObjectMode:{__proto__:null,...ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableObjectMode\")},writableBuffer:{__proto__:null,...ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableBuffer\")},writableLength:{__proto__:null,...ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableLength\")},writableFinished:{__proto__:null,...ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableFinished\")},writableCorked:{__proto__:null,...ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableCorked\")},writableEnded:{__proto__:null,...ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableEnded\")},writableNeedDrain:{__proto__:null,...ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableNeedDrain\")},destroyed:{__proto__:null,get(){if(this._readableState===void 0||this._writableState===void 0)return!1;return this._readableState.destroyed&&this._writableState.destroyed},set(value){if(this._readableState&&this._writableState)this._readableState.destroyed=value,this._writableState.destroyed=value}}});var webStreamsAdapters;function lazyWebStreams(){if(webStreamsAdapters===void 0)webStreamsAdapters={};return webStreamsAdapters}Duplex.fromWeb=function(pair,options){return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair,options)};Duplex.toWeb=function(duplex){return lazyWebStreams().newReadableWritablePairFromDuplex(duplex)};var duplexify;Duplex.from=function(body){if(!duplexify)duplexify=require_duplexify();return duplexify(body,\"body\")}});var require_transform=__commonJS((exports2,module2)=>{var{ObjectSetPrototypeOf,Symbol:Symbol2}=require_primordials();module2.exports=Transform;var{ERR_METHOD_NOT_IMPLEMENTED}=require_errors().codes,Duplex=require_duplex(),{getHighWaterMark}=require_state();ObjectSetPrototypeOf(Transform.prototype,Duplex.prototype);ObjectSetPrototypeOf(Transform,Duplex);var kCallback=Symbol2(\"kCallback\");function Transform(options){if(!(this instanceof Transform))return new Transform(options);let readableHighWaterMark=options?getHighWaterMark(this,options,\"readableHighWaterMark\",!0):null;if(readableHighWaterMark===0)options={...options,highWaterMark:null,readableHighWaterMark,writableHighWaterMark:options.writableHighWaterMark||0};if(Duplex.call(this,options),this._readableState.sync=!1,this[kCallback]=null,options){if(typeof options.transform===\"function\")this._transform=options.transform;if(typeof options.flush===\"function\")this._flush=options.flush}this.on(\"prefinish\",prefinish)}function final(cb){if(typeof this._flush===\"function\"&&!this.destroyed)this._flush((er,data)=>{if(er){if(cb)cb(er);else this.destroy(er);return}if(data!=null)this.push(data);if(this.push(null),cb)cb()});else if(this.push(null),cb)cb()}function prefinish(){if(this._final!==final)final.call(this)}Transform.prototype._final=final;Transform.prototype._transform=function(chunk,encoding,callback){throw new ERR_METHOD_NOT_IMPLEMENTED(\"_transform()\")};Transform.prototype._write=function(chunk,encoding,callback){let rState=this._readableState,wState=this._writableState,length=rState.length;this._transform(chunk,encoding,(err,val)=>{if(err){callback(err);return}if(val!=null)this.push(val);if(wState.ended||length===rState.length||rState.length<rState.highWaterMark)callback();else this[kCallback]=callback})};Transform.prototype._read=function(){if(this[kCallback]){let callback=this[kCallback];this[kCallback]=null,callback()}}});var require_passthrough=__commonJS((exports2,module2)=>{var{ObjectSetPrototypeOf}=require_primordials();module2.exports=PassThrough;var Transform=require_transform();ObjectSetPrototypeOf(PassThrough.prototype,Transform.prototype);ObjectSetPrototypeOf(PassThrough,Transform);function PassThrough(options){if(!(this instanceof PassThrough))return new PassThrough(options);Transform.call(this,options)}PassThrough.prototype._transform=function(chunk,encoding,cb){cb(null,chunk)}});var require_pipeline=__commonJS((exports2,module2)=>{var process=require_process(),{ArrayIsArray,Promise:Promise2,SymbolAsyncIterator,SymbolDispose}=require_primordials(),eos=require_end_of_stream(),{once}=require_util(),destroyImpl=require_destroy(),Duplex=require_duplex(),{aggregateTwoErrors,codes:{ERR_INVALID_ARG_TYPE,ERR_INVALID_RETURN_VALUE,ERR_MISSING_ARGS,ERR_STREAM_DESTROYED,ERR_STREAM_PREMATURE_CLOSE},AbortError}=require_errors(),{validateFunction,validateAbortSignal}=require_validators(),{isIterable,isReadable,isReadableNodeStream,isNodeStream,isTransformStream,isWebStream,isReadableStream,isReadableFinished}=require_utils(),AbortController=globalThis.AbortController||require_abort_controller().AbortController,PassThrough,Readable,addAbortListener;function destroyer(stream,reading,writing){let finished=!1;stream.on(\"close\",()=>{finished=!0});let cleanup=eos(stream,{readable:reading,writable:writing},(err)=>{finished=!err});return{destroy:(err)=>{if(finished)return;finished=!0,destroyImpl.destroyer(stream,err||new ERR_STREAM_DESTROYED(\"pipe\"))},cleanup}}function popCallback(streams){return validateFunction(streams[streams.length-1],\"streams[stream.length - 1]\"),streams.pop()}function makeAsyncIterable(val){if(isIterable(val))return val;else if(isReadableNodeStream(val))return fromReadable(val);throw new ERR_INVALID_ARG_TYPE(\"val\",[\"Readable\",\"Iterable\",\"AsyncIterable\"],val)}async function*fromReadable(val){if(!Readable)Readable=require_readable();yield*Readable.prototype[SymbolAsyncIterator].call(val)}async function pumpToNode(iterable,writable,finish,{end}){let error,onresolve=null,resume=(err)=>{if(err)error=err;if(onresolve){let callback=onresolve;onresolve=null,callback()}},wait=()=>new Promise2((resolve,reject)=>{if(error)reject(error);else onresolve=()=>{if(error)reject(error);else resolve()}});writable.on(\"drain\",resume);let cleanup=eos(writable,{readable:!1},resume);try{if(writable.writableNeedDrain)await wait();for await(let chunk of iterable)if(!writable.write(chunk))await wait();if(end)writable.end(),await wait();finish()}catch(err){finish(error!==err?aggregateTwoErrors(error,err):err)}finally{cleanup(),writable.off(\"drain\",resume)}}async function pumpToWeb(readable,writable,finish,{end}){if(isTransformStream(writable))writable=writable.writable;let writer=writable.getWriter();try{for await(let chunk of readable)await writer.ready,writer.write(chunk).catch(()=>{});if(await writer.ready,end)await writer.close();finish()}catch(err){try{await writer.abort(err),finish(err)}catch(err2){finish(err2)}}}function pipeline(...streams){return pipelineImpl(streams,once(popCallback(streams)))}function pipelineImpl(streams,callback,opts){if(streams.length===1&&ArrayIsArray(streams[0]))streams=streams[0];if(streams.length<2)throw new ERR_MISSING_ARGS(\"streams\");let ac=new AbortController,signal=ac.signal,outerSignal=opts===null||opts===void 0?void 0:opts.signal,lastStreamCleanup=[];validateAbortSignal(outerSignal,\"options.signal\");function abort(){finishImpl(new AbortError)}addAbortListener=addAbortListener||require_util().addAbortListener;let disposable;if(outerSignal)disposable=addAbortListener(outerSignal,abort);let error,value,destroys=[],finishCount=0;function finish(err){finishImpl(err,--finishCount===0)}function finishImpl(err,final){var _disposable;if(err&&(!error||error.code===\"ERR_STREAM_PREMATURE_CLOSE\"))error=err;if(!error&&!final)return;while(destroys.length)destroys.shift()(error);if((_disposable=disposable)===null||_disposable===void 0||_disposable[SymbolDispose](),ac.abort(),final){if(!error)lastStreamCleanup.forEach((fn)=>fn());process.nextTick(callback,error,value)}}let ret;for(let i=0;i<streams.length;i++){let stream=streams[i],reading=i<streams.length-1,writing=i>0,end=reading||(opts===null||opts===void 0?void 0:opts.end)!==!1,isLastStream=i===streams.length-1;if(isNodeStream(stream)){let onError2=function(err){if(err&&err.name!==\"AbortError\"&&err.code!==\"ERR_STREAM_PREMATURE_CLOSE\")finish(err)};var onError=onError2;if(end){let{destroy,cleanup}=destroyer(stream,reading,writing);if(destroys.push(destroy),isReadable(stream)&&isLastStream)lastStreamCleanup.push(cleanup)}if(stream.on(\"error\",onError2),isReadable(stream)&&isLastStream)lastStreamCleanup.push(()=>{stream.removeListener(\"error\",onError2)})}if(i===0)if(typeof stream===\"function\"){if(ret=stream({signal}),!isIterable(ret))throw new ERR_INVALID_RETURN_VALUE(\"Iterable, AsyncIterable or Stream\",\"source\",ret)}else if(isIterable(stream)||isReadableNodeStream(stream)||isTransformStream(stream))ret=stream;else ret=Duplex.from(stream);else if(typeof stream===\"function\"){if(isTransformStream(ret)){var _ret;ret=makeAsyncIterable((_ret=ret)===null||_ret===void 0?void 0:_ret.readable)}else ret=makeAsyncIterable(ret);if(ret=stream(ret,{signal}),reading){if(!isIterable(ret,!0))throw new ERR_INVALID_RETURN_VALUE(\"AsyncIterable\",`transform[${i-1}]`,ret)}else{var _ret2;if(!PassThrough)PassThrough=require_passthrough();let pt=new PassThrough({objectMode:!0}),then=(_ret2=ret)===null||_ret2===void 0?void 0:_ret2.then;if(typeof then===\"function\")finishCount++,then.call(ret,(val)=>{if(value=val,val!=null)pt.write(val);if(end)pt.end();process.nextTick(finish)},(err)=>{pt.destroy(err),process.nextTick(finish,err)});else if(isIterable(ret,!0))finishCount++,pumpToNode(ret,pt,finish,{end});else if(isReadableStream(ret)||isTransformStream(ret)){let toRead=ret.readable||ret;finishCount++,pumpToNode(toRead,pt,finish,{end})}else throw new ERR_INVALID_RETURN_VALUE(\"AsyncIterable or Promise\",\"destination\",ret);ret=pt;let{destroy,cleanup}=destroyer(ret,!1,!0);if(destroys.push(destroy),isLastStream)lastStreamCleanup.push(cleanup)}}else if(isNodeStream(stream)){if(isReadableNodeStream(ret)){finishCount+=2;let cleanup=pipe(ret,stream,finish,{end});if(isReadable(stream)&&isLastStream)lastStreamCleanup.push(cleanup)}else if(isTransformStream(ret)||isReadableStream(ret)){let toRead=ret.readable||ret;finishCount++,pumpToNode(toRead,stream,finish,{end})}else if(isIterable(ret))finishCount++,pumpToNode(ret,stream,finish,{end});else throw new ERR_INVALID_ARG_TYPE(\"val\",[\"Readable\",\"Iterable\",\"AsyncIterable\",\"ReadableStream\",\"TransformStream\"],ret);ret=stream}else if(isWebStream(stream)){if(isReadableNodeStream(ret))finishCount++,pumpToWeb(makeAsyncIterable(ret),stream,finish,{end});else if(isReadableStream(ret)||isIterable(ret))finishCount++,pumpToWeb(ret,stream,finish,{end});else if(isTransformStream(ret))finishCount++,pumpToWeb(ret.readable,stream,finish,{end});else throw new ERR_INVALID_ARG_TYPE(\"val\",[\"Readable\",\"Iterable\",\"AsyncIterable\",\"ReadableStream\",\"TransformStream\"],ret);ret=stream}else ret=Duplex.from(stream)}if(signal!==null&&signal!==void 0&&signal.aborted||outerSignal!==null&&outerSignal!==void 0&&outerSignal.aborted)process.nextTick(abort);return ret}function pipe(src,dst,finish,{end}){let ended=!1;if(dst.on(\"close\",()=>{if(!ended)finish(new ERR_STREAM_PREMATURE_CLOSE)}),src.pipe(dst,{end:!1}),end){let endFn2=function(){ended=!0,dst.end()};var endFn=endFn2;if(isReadableFinished(src))process.nextTick(endFn2);else src.once(\"end\",endFn2)}else finish();return eos(src,{readable:!0,writable:!1},(err)=>{let rState=src._readableState;if(err&&err.code===\"ERR_STREAM_PREMATURE_CLOSE\"&&rState&&rState.ended&&!rState.errored&&!rState.errorEmitted)src.once(\"end\",finish).once(\"error\",finish);else finish(err)}),eos(dst,{readable:!1,writable:!0},finish)}module2.exports={pipelineImpl,pipeline}});var require_compose=__commonJS((exports2,module2)=>{var{pipeline}=require_pipeline(),Duplex=require_duplex(),{destroyer}=require_destroy(),{isNodeStream,isReadable,isWritable,isWebStream,isTransformStream,isWritableStream,isReadableStream}=require_utils(),{AbortError,codes:{ERR_INVALID_ARG_VALUE,ERR_MISSING_ARGS}}=require_errors(),eos=require_end_of_stream();module2.exports=function(...streams){if(streams.length===0)throw new ERR_MISSING_ARGS(\"streams\");if(streams.length===1)return Duplex.from(streams[0]);let orgStreams=[...streams];if(typeof streams[0]===\"function\")streams[0]=Duplex.from(streams[0]);if(typeof streams[streams.length-1]===\"function\"){let idx=streams.length-1;streams[idx]=Duplex.from(streams[idx])}for(let n=0;n<streams.length;++n){if(!isNodeStream(streams[n])&&!isWebStream(streams[n]))continue;if(n<streams.length-1&&!(isReadable(streams[n])||isReadableStream(streams[n])||isTransformStream(streams[n])))throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`,orgStreams[n],\"must be readable\");if(n>0&&!(isWritable(streams[n])||isWritableStream(streams[n])||isTransformStream(streams[n])))throw new ERR_INVALID_ARG_VALUE(`streams[${n}]`,orgStreams[n],\"must be writable\")}let ondrain,onfinish,onreadable,onclose,d;function onfinished(err){let cb=onclose;if(onclose=null,cb)cb(err);else if(err)d.destroy(err);else if(!readable&&!writable)d.destroy()}let head=streams[0],tail=pipeline(streams,onfinished),writable=!!(isWritable(head)||isWritableStream(head)||isTransformStream(head)),readable=!!(isReadable(tail)||isReadableStream(tail)||isTransformStream(tail));if(d=new Duplex({writableObjectMode:!!(head!==null&&head!==void 0&&head.writableObjectMode),readableObjectMode:!!(tail!==null&&tail!==void 0&&tail.readableObjectMode),writable,readable}),writable){if(isNodeStream(head))d._write=function(chunk,encoding,callback){if(head.write(chunk,encoding))callback();else ondrain=callback},d._final=function(callback){head.end(),onfinish=callback},head.on(\"drain\",function(){if(ondrain){let cb=ondrain;ondrain=null,cb()}});else if(isWebStream(head)){let writer=(isTransformStream(head)?head.writable:head).getWriter();d._write=async function(chunk,encoding,callback){try{await writer.ready,writer.write(chunk).catch(()=>{}),callback()}catch(err){callback(err)}},d._final=async function(callback){try{await writer.ready,writer.close().catch(()=>{}),onfinish=callback}catch(err){callback(err)}}}let toRead=isTransformStream(tail)?tail.readable:tail;eos(toRead,()=>{if(onfinish){let cb=onfinish;onfinish=null,cb()}})}if(readable){if(isNodeStream(tail))tail.on(\"readable\",function(){if(onreadable){let cb=onreadable;onreadable=null,cb()}}),tail.on(\"end\",function(){d.push(null)}),d._read=function(){while(!0){let buf=tail.read();if(buf===null){onreadable=d._read;return}if(!d.push(buf))return}};else if(isWebStream(tail)){let reader=(isTransformStream(tail)?tail.readable:tail).getReader();d._read=async function(){while(!0)try{let{value,done}=await reader.read();if(!d.push(value))return;if(done){d.push(null);return}}catch{return}}}}return d._destroy=function(err,callback){if(!err&&onclose!==null)err=new AbortError;if(onreadable=null,ondrain=null,onfinish=null,onclose===null)callback(err);else if(onclose=callback,isNodeStream(tail))destroyer(tail,err)},d}});var require_operators=__commonJS((exports2,module2)=>{var AbortController=globalThis.AbortController||require_abort_controller().AbortController,{codes:{ERR_INVALID_ARG_VALUE,ERR_INVALID_ARG_TYPE,ERR_MISSING_ARGS,ERR_OUT_OF_RANGE},AbortError}=require_errors(),{validateAbortSignal,validateInteger,validateObject}=require_validators(),kWeakHandler=require_primordials().Symbol(\"kWeak\"),kResistStopPropagation=require_primordials().Symbol(\"kResistStopPropagation\"),{finished}=require_end_of_stream(),staticCompose=require_compose(),{addAbortSignalNoValidate}=require_add_abort_signal(),{isWritable,isNodeStream}=require_utils(),{deprecate}=require_util(),{ArrayPrototypePush,Boolean:Boolean2,MathFloor,Number:Number2,NumberIsNaN,Promise:Promise2,PromiseReject,PromiseResolve,PromisePrototypeThen,Symbol:Symbol2}=require_primordials(),kEmpty=Symbol2(\"kEmpty\"),kEof=Symbol2(\"kEof\");function compose(stream,options){if(options!=null)validateObject(options,\"options\");if((options===null||options===void 0?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");if(isNodeStream(stream)&&!isWritable(stream))throw new ERR_INVALID_ARG_VALUE(\"stream\",stream,\"must be writable\");let composedStream=staticCompose(this,stream);if(options!==null&&options!==void 0&&options.signal)addAbortSignalNoValidate(options.signal,composedStream);return composedStream}function map(fn,options){if(typeof fn!==\"function\")throw new ERR_INVALID_ARG_TYPE(\"fn\",[\"Function\",\"AsyncFunction\"],fn);if(options!=null)validateObject(options,\"options\");if((options===null||options===void 0?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");let concurrency=1;if((options===null||options===void 0?void 0:options.concurrency)!=null)concurrency=MathFloor(options.concurrency);let highWaterMark=concurrency-1;if((options===null||options===void 0?void 0:options.highWaterMark)!=null)highWaterMark=MathFloor(options.highWaterMark);return validateInteger(concurrency,\"options.concurrency\",1),validateInteger(highWaterMark,\"options.highWaterMark\",0),highWaterMark+=concurrency,async function*(){let signal=require_util().AbortSignalAny([options===null||options===void 0?void 0:options.signal].filter(Boolean2)),stream=this,queue=[],signalOpt={signal},next,resume,done=!1,cnt=0;function onCatch(){done=!0,afterItemProcessed()}function afterItemProcessed(){cnt-=1,maybeResume()}function maybeResume(){if(resume&&!done&&cnt<concurrency&&queue.length<highWaterMark)resume(),resume=null}async function pump(){try{for await(let val of stream){if(done)return;if(signal.aborted)throw new AbortError;try{if(val=fn(val,signalOpt),val===kEmpty)continue;val=PromiseResolve(val)}catch(err){val=PromiseReject(err)}if(cnt+=1,PromisePrototypeThen(val,afterItemProcessed,onCatch),queue.push(val),next)next(),next=null;if(!done&&(queue.length>=highWaterMark||cnt>=concurrency))await new Promise2((resolve)=>{resume=resolve})}queue.push(kEof)}catch(err){let val=PromiseReject(err);PromisePrototypeThen(val,afterItemProcessed,onCatch),queue.push(val)}finally{if(done=!0,next)next(),next=null}}pump();try{while(!0){while(queue.length>0){let val=await queue[0];if(val===kEof)return;if(signal.aborted)throw new AbortError;if(val!==kEmpty)yield val;queue.shift(),maybeResume()}await new Promise2((resolve)=>{next=resolve})}}finally{if(done=!0,resume)resume(),resume=null}}.call(this)}function asIndexedPairs(options=void 0){if(options!=null)validateObject(options,\"options\");if((options===null||options===void 0?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");return async function*(){let index=0;for await(let val of this){var _options$signal;if(options!==null&&options!==void 0&&(_options$signal=options.signal)!==null&&_options$signal!==void 0&&_options$signal.aborted)throw new AbortError({cause:options.signal.reason});yield[index++,val]}}.call(this)}async function some(fn,options=void 0){for await(let unused of filter.call(this,fn,options))return!0;return!1}async function every(fn,options=void 0){if(typeof fn!==\"function\")throw new ERR_INVALID_ARG_TYPE(\"fn\",[\"Function\",\"AsyncFunction\"],fn);return!await some.call(this,async(...args)=>{return!await fn(...args)},options)}async function find(fn,options){for await(let result of filter.call(this,fn,options))return result;return}async function forEach(fn,options){if(typeof fn!==\"function\")throw new ERR_INVALID_ARG_TYPE(\"fn\",[\"Function\",\"AsyncFunction\"],fn);async function forEachFn(value,options2){return await fn(value,options2),kEmpty}for await(let unused of map.call(this,forEachFn,options));}function filter(fn,options){if(typeof fn!==\"function\")throw new ERR_INVALID_ARG_TYPE(\"fn\",[\"Function\",\"AsyncFunction\"],fn);async function filterFn(value,options2){if(await fn(value,options2))return value;return kEmpty}return map.call(this,filterFn,options)}class ReduceAwareErrMissingArgs extends ERR_MISSING_ARGS{constructor(){super(\"reduce\");this.message=\"Reduce of an empty stream requires an initial value\"}}async function reduce(reducer,initialValue,options){var _options$signal2;if(typeof reducer!==\"function\")throw new ERR_INVALID_ARG_TYPE(\"reducer\",[\"Function\",\"AsyncFunction\"],reducer);if(options!=null)validateObject(options,\"options\");if((options===null||options===void 0?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");let hasInitialValue=arguments.length>1;if(options!==null&&options!==void 0&&(_options$signal2=options.signal)!==null&&_options$signal2!==void 0&&_options$signal2.aborted){let err=new AbortError(void 0,{cause:options.signal.reason});throw this.once(\"error\",()=>{}),await finished(this.destroy(err)),err}let ac=new AbortController,signal=ac.signal;if(options!==null&&options!==void 0&&options.signal){let opts={once:!0,[kWeakHandler]:this,[kResistStopPropagation]:!0};options.signal.addEventListener(\"abort\",()=>ac.abort(),opts)}let gotAnyItemFromStream=!1;try{for await(let value of this){var _options$signal3;if(gotAnyItemFromStream=!0,options!==null&&options!==void 0&&(_options$signal3=options.signal)!==null&&_options$signal3!==void 0&&_options$signal3.aborted)throw new AbortError;if(!hasInitialValue)initialValue=value,hasInitialValue=!0;else initialValue=await reducer(initialValue,value,{signal})}if(!gotAnyItemFromStream&&!hasInitialValue)throw new ReduceAwareErrMissingArgs}finally{ac.abort()}return initialValue}async function toArray(options){if(options!=null)validateObject(options,\"options\");if((options===null||options===void 0?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");let result=[];for await(let val of this){var _options$signal4;if(options!==null&&options!==void 0&&(_options$signal4=options.signal)!==null&&_options$signal4!==void 0&&_options$signal4.aborted)throw new AbortError(void 0,{cause:options.signal.reason});ArrayPrototypePush(result,val)}return result}function flatMap(fn,options){let values=map.call(this,fn,options);return async function*(){for await(let val of values)yield*val}.call(this)}function toIntegerOrInfinity(number){if(number=Number2(number),NumberIsNaN(number))return 0;if(number<0)throw new ERR_OUT_OF_RANGE(\"number\",\">= 0\",number);return number}function drop(number,options=void 0){if(options!=null)validateObject(options,\"options\");if((options===null||options===void 0?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");return number=toIntegerOrInfinity(number),async function*(){var _options$signal5;if(options!==null&&options!==void 0&&(_options$signal5=options.signal)!==null&&_options$signal5!==void 0&&_options$signal5.aborted)throw new AbortError;for await(let val of this){var _options$signal6;if(options!==null&&options!==void 0&&(_options$signal6=options.signal)!==null&&_options$signal6!==void 0&&_options$signal6.aborted)throw new AbortError;if(number--<=0)yield val}}.call(this)}function take(number,options=void 0){if(options!=null)validateObject(options,\"options\");if((options===null||options===void 0?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");return number=toIntegerOrInfinity(number),async function*(){var _options$signal7;if(options!==null&&options!==void 0&&(_options$signal7=options.signal)!==null&&_options$signal7!==void 0&&_options$signal7.aborted)throw new AbortError;for await(let val of this){var _options$signal8;if(options!==null&&options!==void 0&&(_options$signal8=options.signal)!==null&&_options$signal8!==void 0&&_options$signal8.aborted)throw new AbortError;if(number-- >0)yield val;if(number<=0)return}}.call(this)}module2.exports.streamReturningOperators={asIndexedPairs:deprecate(asIndexedPairs,\"readable.asIndexedPairs will be removed in a future version.\"),drop,filter,flatMap,map,take,compose};module2.exports.promiseReturningOperators={every,forEach,reduce,toArray,some,find}});var require_promises=__commonJS((exports2,module2)=>{var{ArrayPrototypePop,Promise:Promise2}=require_primordials(),{isIterable,isNodeStream,isWebStream}=require_utils(),{pipelineImpl:pl}=require_pipeline(),{finished}=require_end_of_stream();require_stream();function pipeline(...streams){return new Promise2((resolve,reject)=>{let signal,end,lastArg=streams[streams.length-1];if(lastArg&&typeof lastArg===\"object\"&&!isNodeStream(lastArg)&&!isIterable(lastArg)&&!isWebStream(lastArg)){let options=ArrayPrototypePop(streams);signal=options.signal,end=options.end}pl(streams,(err,value)=>{if(err)reject(err);else resolve(value)},{signal,end})})}module2.exports={finished,pipeline}});var require_stream=__commonJS((exports2,module2)=>{var{Buffer}=require(\"buffer\"),{ObjectDefineProperty,ObjectKeys,ReflectApply}=require_primordials(),{promisify:{custom:customPromisify}}=require_util(),{streamReturningOperators,promiseReturningOperators}=require_operators(),{codes:{ERR_ILLEGAL_CONSTRUCTOR}}=require_errors(),compose=require_compose(),{setDefaultHighWaterMark,getDefaultHighWaterMark}=require_state(),{pipeline}=require_pipeline(),{destroyer}=require_destroy(),eos=require_end_of_stream(),promises=require_promises(),utils=require_utils(),Stream=module2.exports=require_legacy().Stream;Stream.isDestroyed=utils.isDestroyed;Stream.isDisturbed=utils.isDisturbed;Stream.isErrored=utils.isErrored;Stream.isReadable=utils.isReadable;Stream.isWritable=utils.isWritable;Stream.Readable=require_readable();for(let key of ObjectKeys(streamReturningOperators)){let fn=function(...args){if(new.target)throw ERR_ILLEGAL_CONSTRUCTOR();return Stream.Readable.from(ReflectApply(op,this,args))},op=streamReturningOperators[key];ObjectDefineProperty(fn,\"name\",{__proto__:null,value:op.name}),ObjectDefineProperty(fn,\"length\",{__proto__:null,value:op.length}),ObjectDefineProperty(Stream.Readable.prototype,key,{__proto__:null,value:fn,enumerable:!1,configurable:!0,writable:!0})}for(let key of ObjectKeys(promiseReturningOperators)){let fn=function(...args){if(new.target)throw ERR_ILLEGAL_CONSTRUCTOR();return ReflectApply(op,this,args)},op=promiseReturningOperators[key];ObjectDefineProperty(fn,\"name\",{__proto__:null,value:op.name}),ObjectDefineProperty(fn,\"length\",{__proto__:null,value:op.length}),ObjectDefineProperty(Stream.Readable.prototype,key,{__proto__:null,value:fn,enumerable:!1,configurable:!0,writable:!0})}Stream.Writable=require_writable();Stream.Duplex=require_duplex();Stream.Transform=require_transform();Stream.PassThrough=require_passthrough();Stream.pipeline=pipeline;var{addAbortSignal}=require_add_abort_signal();Stream.addAbortSignal=addAbortSignal;Stream.finished=eos;Stream.destroy=destroyer;Stream.compose=compose;Stream.setDefaultHighWaterMark=setDefaultHighWaterMark;Stream.getDefaultHighWaterMark=getDefaultHighWaterMark;ObjectDefineProperty(Stream,\"promises\",{__proto__:null,configurable:!0,enumerable:!0,get(){return promises}});ObjectDefineProperty(pipeline,customPromisify,{__proto__:null,enumerable:!0,get(){return promises.pipeline}});ObjectDefineProperty(eos,customPromisify,{__proto__:null,enumerable:!0,get(){return promises.finished}});Stream.Stream=Stream;Stream._isUint8Array=function(value){return value instanceof Uint8Array};Stream._uint8ArrayToBuffer=function(chunk){return Buffer.from(chunk.buffer,chunk.byteOffset,chunk.byteLength)}});var require_ours=__commonJS((exports2,module2)=>{var Stream=require(\"stream\");{let CustomStream=require_stream(),promises=require_promises(),originalDestroy=CustomStream.Readable.destroy;module2.exports=CustomStream.Readable,module2.exports._uint8ArrayToBuffer=CustomStream._uint8ArrayToBuffer,module2.exports._isUint8Array=CustomStream._isUint8Array,module2.exports.isDisturbed=CustomStream.isDisturbed,module2.exports.isErrored=CustomStream.isErrored,module2.exports.isReadable=CustomStream.isReadable,module2.exports.Readable=CustomStream.Readable,module2.exports.Writable=CustomStream.Writable,module2.exports.Duplex=CustomStream.Duplex,module2.exports.Transform=CustomStream.Transform,module2.exports.PassThrough=CustomStream.PassThrough,module2.exports.addAbortSignal=CustomStream.addAbortSignal,module2.exports.finished=CustomStream.finished,module2.exports.destroy=CustomStream.destroy,module2.exports.destroy=originalDestroy,module2.exports.pipeline=CustomStream.pipeline,module2.exports.compose=CustomStream.compose,Object.defineProperty(CustomStream,\"promises\",{configurable:!0,enumerable:!0,get(){return promises}}),module2.exports.Stream=CustomStream.Stream}module2.exports.default=module2.exports});module.exports=require_ours();",
|
|
9
|
+
"var __create=Object.create;var{getPrototypeOf:__getProtoOf,defineProperty:__defProp,getOwnPropertyNames:__getOwnPropNames}=Object;var __hasOwnProp=Object.prototype.hasOwnProperty;function __accessProp(key){return this[key]}var __toESMCache_node,__toESMCache_esm,__toESM=(mod,isNodeMode,target)=>{var canCache=mod!=null&&typeof mod===\"object\";if(canCache){var cache=isNodeMode?__toESMCache_node??=new WeakMap:__toESMCache_esm??=new WeakMap,cached=cache.get(mod);if(cached)return cached}target=mod!=null?__create(__getProtoOf(mod)):{};let to=isNodeMode||!mod||!mod.__esModule?__defProp(target,\"default\",{value:mod,enumerable:!0}):target;for(let key of __getOwnPropNames(mod))if(!__hasOwnProp.call(to,key))__defProp(to,key,{get:__accessProp.bind(mod,key),enumerable:!0});if(canCache)cache.set(mod,to);return to};var __commonJS=(cb,mod)=>()=>(mod||cb((mod={exports:{}}).exports,mod),mod.exports);var __require=('');var require_randombytes=__commonJS((exports,module)=>{module.exports=require(\"crypto\").randomBytes});var require_create_hash=__commonJS((exports,module)=>{module.exports=require(\"crypto\").createHash});var require_create_hmac=__commonJS((exports,module)=>{module.exports=require(\"crypto\").createHmac});var require_algorithms=__commonJS((exports,module)=>{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\"}}});var require_precondition=__commonJS((exports,module)=>{var $isFinite=isFinite,MAX_ALLOC=Math.pow(2,30)-1;module.exports=function(iterations,keylen){if(typeof iterations!==\"number\")throw TypeError(\"Iterations not a number\");if(iterations<0||!$isFinite(iterations))throw TypeError(\"Bad iterations\");if(typeof keylen!==\"number\")throw TypeError(\"Key length not a number\");if(keylen<0||keylen>MAX_ALLOC||keylen!==keylen)throw TypeError(\"Bad key length\")}});var require_default_encoding=__commonJS((exports,module)=>{var defaultEncoding;if(globalThis.process&&globalThis.process.browser)defaultEncoding=\"utf-8\";else if(globalThis.process&&globalThis.process.version)pVersionMajor=parseInt(process.version.split(\".\")[0].slice(1),10),defaultEncoding=pVersionMajor>=6?\"utf-8\":\"binary\";else defaultEncoding=\"utf-8\";var pVersionMajor;module.exports=defaultEncoding});var require_safe_buffer=__commonJS((exports,module)=>{/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */var buffer=require(\"buffer\"),Buffer2=buffer.Buffer;function copyProps(src,dst){for(var key in src)dst[key]=src[key]}if(Buffer2.from&&Buffer2.alloc&&Buffer2.allocUnsafe&&Buffer2.allocUnsafeSlow)module.exports=buffer;else copyProps(buffer,exports),exports.Buffer=SafeBuffer;function SafeBuffer(arg,encodingOrOffset,length){return Buffer2(arg,encodingOrOffset,length)}SafeBuffer.prototype=Object.create(Buffer2.prototype);copyProps(Buffer2,SafeBuffer);SafeBuffer.from=function(arg,encodingOrOffset,length){if(typeof arg===\"number\")throw TypeError(\"Argument must not be a number\");return Buffer2(arg,encodingOrOffset,length)};SafeBuffer.alloc=function(size,fill,encoding){if(typeof size!==\"number\")throw TypeError(\"Argument must be a number\");var buf=Buffer2(size);if(fill!==void 0)if(typeof encoding===\"string\")buf.fill(fill,encoding);else buf.fill(fill);else buf.fill(0);return buf};SafeBuffer.allocUnsafe=function(size){if(typeof size!==\"number\")throw TypeError(\"Argument must be a number\");return Buffer2(size)};SafeBuffer.allocUnsafeSlow=function(size){if(typeof size!==\"number\")throw TypeError(\"Argument must be a number\");return buffer.SlowBuffer(size)}});var require_isarray=__commonJS((exports,module)=>{var toString={}.toString;module.exports=Array.isArray||function(arr){return toString.call(arr)==\"[object Array]\"}});var require_type=__commonJS((exports,module)=>{module.exports=TypeError});var require_es_object_atoms=__commonJS((exports,module)=>{module.exports=Object});var require_es_errors=__commonJS((exports,module)=>{module.exports=Error});var require_eval=__commonJS((exports,module)=>{module.exports=EvalError});var require_range=__commonJS((exports,module)=>{module.exports=RangeError});var require_ref=__commonJS((exports,module)=>{module.exports=ReferenceError});var require_syntax=__commonJS((exports,module)=>{module.exports=SyntaxError});var require_uri=__commonJS((exports,module)=>{module.exports=URIError});var require_abs=__commonJS((exports,module)=>{module.exports=Math.abs});var require_floor=__commonJS((exports,module)=>{module.exports=Math.floor});var require_max=__commonJS((exports,module)=>{module.exports=Math.max});var require_min=__commonJS((exports,module)=>{module.exports=Math.min});var require_pow=__commonJS((exports,module)=>{module.exports=Math.pow});var require_round=__commonJS((exports,module)=>{module.exports=Math.round});var require_isNaN=__commonJS((exports,module)=>{module.exports=Number.isNaN||function(a){return a!==a}});var require_sign=__commonJS((exports,module)=>{var $isNaN=require_isNaN();module.exports=function(number){if($isNaN(number)||number===0)return number;return number<0?-1:1}});var require_gOPD=__commonJS((exports,module)=>{module.exports=Object.getOwnPropertyDescriptor});var require_gopd=__commonJS((exports,module)=>{var $gOPD=require_gOPD();if($gOPD)try{$gOPD([],\"length\")}catch(e){$gOPD=null}module.exports=$gOPD});var require_es_define_property=__commonJS((exports,module)=>{var $defineProperty=Object.defineProperty||!1;if($defineProperty)try{$defineProperty({},\"a\",{value:1})}catch(e){$defineProperty=!1}module.exports=$defineProperty});var require_shams=__commonJS((exports,module)=>{module.exports=function(){if(typeof Symbol!==\"function\"||typeof Object.getOwnPropertySymbols!==\"function\")return!1;if(typeof Symbol.iterator===\"symbol\")return!0;var obj={},sym=Symbol(\"test\"),symObj=Object(sym);if(typeof sym===\"string\")return!1;if(Object.prototype.toString.call(sym)!==\"[object Symbol]\")return!1;if(Object.prototype.toString.call(symObj)!==\"[object Symbol]\")return!1;var symVal=42;obj[sym]=symVal;for(var _ in obj)return!1;if(typeof Object.keys===\"function\"&&Object.keys(obj).length!==0)return!1;if(typeof Object.getOwnPropertyNames===\"function\"&&Object.getOwnPropertyNames(obj).length!==0)return!1;var syms=Object.getOwnPropertySymbols(obj);if(syms.length!==1||syms[0]!==sym)return!1;if(!Object.prototype.propertyIsEnumerable.call(obj,sym))return!1;if(typeof Object.getOwnPropertyDescriptor===\"function\"){var descriptor=Object.getOwnPropertyDescriptor(obj,sym);if(descriptor.value!==symVal||descriptor.enumerable!==!0)return!1}return!0}});var require_has_symbols=__commonJS((exports,module)=>{var origSymbol=typeof Symbol<\"u\"&&Symbol,hasSymbolSham=require_shams();module.exports=function(){if(typeof origSymbol!==\"function\")return!1;if(typeof Symbol!==\"function\")return!1;if(typeof origSymbol(\"foo\")!==\"symbol\")return!1;if(typeof Symbol(\"bar\")!==\"symbol\")return!1;return hasSymbolSham()}});var require_Reflect_getPrototypeOf=__commonJS((exports,module)=>{module.exports=typeof Reflect<\"u\"&&Reflect.getPrototypeOf||null});var require_Object_getPrototypeOf=__commonJS((exports,module)=>{var $Object=require_es_object_atoms();module.exports=$Object.getPrototypeOf||null});var require_implementation=__commonJS((exports,module)=>{var ERROR_MESSAGE=\"Function.prototype.bind called on incompatible \",toStr=Object.prototype.toString,max=Math.max,funcType=\"[object Function]\",concatty=function(a,b){var arr=[];for(var i=0;i<a.length;i+=1)arr[i]=a[i];for(var j=0;j<b.length;j+=1)arr[j+a.length]=b[j];return arr},slicy=function(arrLike,offset){var arr=[];for(var i=offset||0,j=0;i<arrLike.length;i+=1,j+=1)arr[j]=arrLike[i];return arr},joiny=function(arr,joiner){var str=\"\";for(var i=0;i<arr.length;i+=1)if(str+=arr[i],i+1<arr.length)str+=joiner;return str};module.exports=function(that){var target=this;if(typeof target!==\"function\"||toStr.apply(target)!==funcType)throw TypeError(ERROR_MESSAGE+target);var args=slicy(arguments,1),bound,binder=function(){if(this instanceof bound){var result=target.apply(this,concatty(args,arguments));if(Object(result)===result)return result;return this}return target.apply(that,concatty(args,arguments))},boundLength=max(0,target.length-args.length),boundArgs=[];for(var i=0;i<boundLength;i++)boundArgs[i]=\"$\"+i;if(bound=Function(\"binder\",\"return function (\"+joiny(boundArgs,\",\")+\"){ return binder.apply(this,arguments); }\")(binder),target.prototype){var Empty=function(){};Empty.prototype=target.prototype,bound.prototype=new Empty,Empty.prototype=null}return bound}});var require_function_bind=__commonJS((exports,module)=>{var implementation=require_implementation();module.exports=Function.prototype.bind||implementation});var require_functionCall=__commonJS((exports,module)=>{module.exports=Function.prototype.call});var require_functionApply=__commonJS((exports,module)=>{module.exports=Function.prototype.apply});var require_reflectApply=__commonJS((exports,module)=>{module.exports=typeof Reflect<\"u\"&&Reflect&&Reflect.apply});var require_actualApply=__commonJS((exports,module)=>{var bind=require_function_bind(),$apply=require_functionApply(),$call=require_functionCall(),$reflectApply=require_reflectApply();module.exports=$reflectApply||bind.call($call,$apply)});var require_call_bind_apply_helpers=__commonJS((exports,module)=>{var bind=require_function_bind(),$TypeError=require_type(),$call=require_functionCall(),$actualApply=require_actualApply();module.exports=function(args){if(args.length<1||typeof args[0]!==\"function\")throw new $TypeError(\"a function is required\");return $actualApply(bind,$call,args)}});var require_get=__commonJS((exports,module)=>{var callBind=require_call_bind_apply_helpers(),gOPD=require_gopd(),hasProtoAccessor;try{hasProtoAccessor=[].__proto__===Array.prototype}catch(e){if(!e||typeof e!==\"object\"||!(\"code\"in e)||e.code!==\"ERR_PROTO_ACCESS\")throw e}var desc=!!hasProtoAccessor&&gOPD&&gOPD(Object.prototype,\"__proto__\"),$Object=Object,$getPrototypeOf=$Object.getPrototypeOf;module.exports=desc&&typeof desc.get===\"function\"?callBind([desc.get]):typeof $getPrototypeOf===\"function\"?function(value){return $getPrototypeOf(value==null?value:$Object(value))}:!1});var require_get_proto=__commonJS((exports,module)=>{var reflectGetProto=require_Reflect_getPrototypeOf(),originalGetProto=require_Object_getPrototypeOf(),getDunderProto=require_get();module.exports=reflectGetProto?function(O){return reflectGetProto(O)}:originalGetProto?function(O){if(!O||typeof O!==\"object\"&&typeof O!==\"function\")throw TypeError(\"getProto: not an object\");return originalGetProto(O)}:getDunderProto?function(O){return getDunderProto(O)}:null});var require_hasown=__commonJS((exports,module)=>{var call=Function.prototype.call,$hasOwn=Object.prototype.hasOwnProperty,bind=require_function_bind();module.exports=bind.call(call,$hasOwn)});var require_get_intrinsic=__commonJS((exports,module)=>{var undefined2,$Object=require_es_object_atoms(),$Error=require_es_errors(),$EvalError=require_eval(),$RangeError=require_range(),$ReferenceError=require_ref(),$SyntaxError=require_syntax(),$TypeError=require_type(),$URIError=require_uri(),abs=require_abs(),floor=require_floor(),max=require_max(),min=require_min(),pow=require_pow(),round=require_round(),sign=require_sign(),$Function=Function,getEvalledConstructor=function(expressionSyntax){try{return $Function('\"use strict\"; return ('+expressionSyntax+\").constructor;\")()}catch(e){}},$gOPD=require_gopd(),$defineProperty=require_es_define_property(),throwTypeError=function(){throw new $TypeError},ThrowTypeError=$gOPD?function(){try{return arguments.callee,throwTypeError}catch(calleeThrows){try{return $gOPD(arguments,\"callee\").get}catch(gOPDthrows){return throwTypeError}}}():throwTypeError,hasSymbols=require_has_symbols()(),getProto=require_get_proto(),$ObjectGPO=require_Object_getPrototypeOf(),$ReflectGPO=require_Reflect_getPrototypeOf(),$apply=require_functionApply(),$call=require_functionCall(),needsEval={},TypedArray=typeof Uint8Array>\"u\"||!getProto?undefined2:getProto(Uint8Array),INTRINSICS={__proto__:null,\"%AggregateError%\":typeof AggregateError>\"u\"?undefined2:AggregateError,\"%Array%\":Array,\"%ArrayBuffer%\":typeof ArrayBuffer>\"u\"?undefined2:ArrayBuffer,\"%ArrayIteratorPrototype%\":hasSymbols&&getProto?getProto([][Symbol.iterator]()):undefined2,\"%AsyncFromSyncIteratorPrototype%\":undefined2,\"%AsyncFunction%\":needsEval,\"%AsyncGenerator%\":needsEval,\"%AsyncGeneratorFunction%\":needsEval,\"%AsyncIteratorPrototype%\":needsEval,\"%Atomics%\":typeof Atomics>\"u\"?undefined2:Atomics,\"%BigInt%\":typeof BigInt>\"u\"?undefined2:BigInt,\"%BigInt64Array%\":typeof BigInt64Array>\"u\"?undefined2:BigInt64Array,\"%BigUint64Array%\":typeof BigUint64Array>\"u\"?undefined2:BigUint64Array,\"%Boolean%\":Boolean,\"%DataView%\":typeof DataView>\"u\"?undefined2:DataView,\"%Date%\":Date,\"%decodeURI%\":decodeURI,\"%decodeURIComponent%\":decodeURIComponent,\"%encodeURI%\":encodeURI,\"%encodeURIComponent%\":encodeURIComponent,\"%Error%\":$Error,\"%eval%\":eval,\"%EvalError%\":$EvalError,\"%Float16Array%\":typeof Float16Array>\"u\"?undefined2:Float16Array,\"%Float32Array%\":typeof Float32Array>\"u\"?undefined2:Float32Array,\"%Float64Array%\":typeof Float64Array>\"u\"?undefined2:Float64Array,\"%FinalizationRegistry%\":typeof FinalizationRegistry>\"u\"?undefined2:FinalizationRegistry,\"%Function%\":$Function,\"%GeneratorFunction%\":needsEval,\"%Int8Array%\":typeof Int8Array>\"u\"?undefined2:Int8Array,\"%Int16Array%\":typeof Int16Array>\"u\"?undefined2:Int16Array,\"%Int32Array%\":typeof Int32Array>\"u\"?undefined2:Int32Array,\"%isFinite%\":isFinite,\"%isNaN%\":isNaN,\"%IteratorPrototype%\":hasSymbols&&getProto?getProto(getProto([][Symbol.iterator]())):undefined2,\"%JSON%\":typeof JSON===\"object\"?JSON:undefined2,\"%Map%\":typeof Map>\"u\"?undefined2:Map,\"%MapIteratorPrototype%\":typeof Map>\"u\"||!hasSymbols||!getProto?undefined2:getProto(new Map()[Symbol.iterator]()),\"%Math%\":Math,\"%Number%\":Number,\"%Object%\":$Object,\"%Object.getOwnPropertyDescriptor%\":$gOPD,\"%parseFloat%\":parseFloat,\"%parseInt%\":parseInt,\"%Promise%\":typeof Promise>\"u\"?undefined2:Promise,\"%Proxy%\":typeof Proxy>\"u\"?undefined2:Proxy,\"%RangeError%\":$RangeError,\"%ReferenceError%\":$ReferenceError,\"%Reflect%\":typeof Reflect>\"u\"?undefined2:Reflect,\"%RegExp%\":RegExp,\"%Set%\":typeof Set>\"u\"?undefined2:Set,\"%SetIteratorPrototype%\":typeof Set>\"u\"||!hasSymbols||!getProto?undefined2:getProto(new Set()[Symbol.iterator]()),\"%SharedArrayBuffer%\":typeof SharedArrayBuffer>\"u\"?undefined2:SharedArrayBuffer,\"%String%\":String,\"%StringIteratorPrototype%\":hasSymbols&&getProto?getProto(\"\"[Symbol.iterator]()):undefined2,\"%Symbol%\":hasSymbols?Symbol:undefined2,\"%SyntaxError%\":$SyntaxError,\"%ThrowTypeError%\":ThrowTypeError,\"%TypedArray%\":TypedArray,\"%TypeError%\":$TypeError,\"%Uint8Array%\":typeof Uint8Array>\"u\"?undefined2:Uint8Array,\"%Uint8ClampedArray%\":typeof Uint8ClampedArray>\"u\"?undefined2:Uint8ClampedArray,\"%Uint16Array%\":typeof Uint16Array>\"u\"?undefined2:Uint16Array,\"%Uint32Array%\":typeof Uint32Array>\"u\"?undefined2:Uint32Array,\"%URIError%\":$URIError,\"%WeakMap%\":typeof WeakMap>\"u\"?undefined2:WeakMap,\"%WeakRef%\":typeof WeakRef>\"u\"?undefined2:WeakRef,\"%WeakSet%\":typeof WeakSet>\"u\"?undefined2:WeakSet,\"%Function.prototype.call%\":$call,\"%Function.prototype.apply%\":$apply,\"%Object.defineProperty%\":$defineProperty,\"%Object.getPrototypeOf%\":$ObjectGPO,\"%Math.abs%\":abs,\"%Math.floor%\":floor,\"%Math.max%\":max,\"%Math.min%\":min,\"%Math.pow%\":pow,\"%Math.round%\":round,\"%Math.sign%\":sign,\"%Reflect.getPrototypeOf%\":$ReflectGPO};if(getProto)try{null.error}catch(e){errorProto=getProto(getProto(e)),INTRINSICS[\"%Error.prototype%\"]=errorProto}var errorProto,doEval=function doEval2(name){var value;if(name===\"%AsyncFunction%\")value=getEvalledConstructor(\"async function () {}\");else if(name===\"%GeneratorFunction%\")value=getEvalledConstructor(\"function* () {}\");else if(name===\"%AsyncGeneratorFunction%\")value=getEvalledConstructor(\"async function* () {}\");else if(name===\"%AsyncGenerator%\"){var fn=doEval2(\"%AsyncGeneratorFunction%\");if(fn)value=fn.prototype}else if(name===\"%AsyncIteratorPrototype%\"){var gen=doEval2(\"%AsyncGenerator%\");if(gen&&getProto)value=getProto(gen.prototype)}return INTRINSICS[name]=value,value},LEGACY_ALIASES={__proto__:null,\"%ArrayBufferPrototype%\":[\"ArrayBuffer\",\"prototype\"],\"%ArrayPrototype%\":[\"Array\",\"prototype\"],\"%ArrayProto_entries%\":[\"Array\",\"prototype\",\"entries\"],\"%ArrayProto_forEach%\":[\"Array\",\"prototype\",\"forEach\"],\"%ArrayProto_keys%\":[\"Array\",\"prototype\",\"keys\"],\"%ArrayProto_values%\":[\"Array\",\"prototype\",\"values\"],\"%AsyncFunctionPrototype%\":[\"AsyncFunction\",\"prototype\"],\"%AsyncGenerator%\":[\"AsyncGeneratorFunction\",\"prototype\"],\"%AsyncGeneratorPrototype%\":[\"AsyncGeneratorFunction\",\"prototype\",\"prototype\"],\"%BooleanPrototype%\":[\"Boolean\",\"prototype\"],\"%DataViewPrototype%\":[\"DataView\",\"prototype\"],\"%DatePrototype%\":[\"Date\",\"prototype\"],\"%ErrorPrototype%\":[\"Error\",\"prototype\"],\"%EvalErrorPrototype%\":[\"EvalError\",\"prototype\"],\"%Float32ArrayPrototype%\":[\"Float32Array\",\"prototype\"],\"%Float64ArrayPrototype%\":[\"Float64Array\",\"prototype\"],\"%FunctionPrototype%\":[\"Function\",\"prototype\"],\"%Generator%\":[\"GeneratorFunction\",\"prototype\"],\"%GeneratorPrototype%\":[\"GeneratorFunction\",\"prototype\",\"prototype\"],\"%Int8ArrayPrototype%\":[\"Int8Array\",\"prototype\"],\"%Int16ArrayPrototype%\":[\"Int16Array\",\"prototype\"],\"%Int32ArrayPrototype%\":[\"Int32Array\",\"prototype\"],\"%JSONParse%\":[\"JSON\",\"parse\"],\"%JSONStringify%\":[\"JSON\",\"stringify\"],\"%MapPrototype%\":[\"Map\",\"prototype\"],\"%NumberPrototype%\":[\"Number\",\"prototype\"],\"%ObjectPrototype%\":[\"Object\",\"prototype\"],\"%ObjProto_toString%\":[\"Object\",\"prototype\",\"toString\"],\"%ObjProto_valueOf%\":[\"Object\",\"prototype\",\"valueOf\"],\"%PromisePrototype%\":[\"Promise\",\"prototype\"],\"%PromiseProto_then%\":[\"Promise\",\"prototype\",\"then\"],\"%Promise_all%\":[\"Promise\",\"all\"],\"%Promise_reject%\":[\"Promise\",\"reject\"],\"%Promise_resolve%\":[\"Promise\",\"resolve\"],\"%RangeErrorPrototype%\":[\"RangeError\",\"prototype\"],\"%ReferenceErrorPrototype%\":[\"ReferenceError\",\"prototype\"],\"%RegExpPrototype%\":[\"RegExp\",\"prototype\"],\"%SetPrototype%\":[\"Set\",\"prototype\"],\"%SharedArrayBufferPrototype%\":[\"SharedArrayBuffer\",\"prototype\"],\"%StringPrototype%\":[\"String\",\"prototype\"],\"%SymbolPrototype%\":[\"Symbol\",\"prototype\"],\"%SyntaxErrorPrototype%\":[\"SyntaxError\",\"prototype\"],\"%TypedArrayPrototype%\":[\"TypedArray\",\"prototype\"],\"%TypeErrorPrototype%\":[\"TypeError\",\"prototype\"],\"%Uint8ArrayPrototype%\":[\"Uint8Array\",\"prototype\"],\"%Uint8ClampedArrayPrototype%\":[\"Uint8ClampedArray\",\"prototype\"],\"%Uint16ArrayPrototype%\":[\"Uint16Array\",\"prototype\"],\"%Uint32ArrayPrototype%\":[\"Uint32Array\",\"prototype\"],\"%URIErrorPrototype%\":[\"URIError\",\"prototype\"],\"%WeakMapPrototype%\":[\"WeakMap\",\"prototype\"],\"%WeakSetPrototype%\":[\"WeakSet\",\"prototype\"]},bind=require_function_bind(),hasOwn=require_hasown(),$concat=bind.call($call,Array.prototype.concat),$spliceApply=bind.call($apply,Array.prototype.splice),$replace=bind.call($call,String.prototype.replace),$strSlice=bind.call($call,String.prototype.slice),$exec=bind.call($call,RegExp.prototype.exec),rePropName=/[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g,reEscapeChar=/\\\\(\\\\)?/g,stringToPath=function(string){var first=$strSlice(string,0,1),last=$strSlice(string,-1);if(first===\"%\"&&last!==\"%\")throw new $SyntaxError(\"invalid intrinsic syntax, expected closing `%`\");else if(last===\"%\"&&first!==\"%\")throw new $SyntaxError(\"invalid intrinsic syntax, expected opening `%`\");var result=[];return $replace(string,rePropName,function(match,number,quote,subString){result[result.length]=quote?$replace(subString,reEscapeChar,\"$1\"):number||match}),result},getBaseIntrinsic=function(name,allowMissing){var intrinsicName=name,alias;if(hasOwn(LEGACY_ALIASES,intrinsicName))alias=LEGACY_ALIASES[intrinsicName],intrinsicName=\"%\"+alias[0]+\"%\";if(hasOwn(INTRINSICS,intrinsicName)){var value=INTRINSICS[intrinsicName];if(value===needsEval)value=doEval(intrinsicName);if(typeof value>\"u\"&&!allowMissing)throw new $TypeError(\"intrinsic \"+name+\" exists, but is not available. Please file an issue!\");return{alias,name:intrinsicName,value}}throw new $SyntaxError(\"intrinsic \"+name+\" does not exist!\")};module.exports=function(name,allowMissing){if(typeof name!==\"string\"||name.length===0)throw new $TypeError(\"intrinsic name must be a non-empty string\");if(arguments.length>1&&typeof allowMissing!==\"boolean\")throw new $TypeError('\"allowMissing\" argument must be a boolean');if($exec(/^%?[^%]*%?$/,name)===null)throw new $SyntaxError(\"`%` may not be present anywhere but at the beginning and end of the intrinsic name\");var parts=stringToPath(name),intrinsicBaseName=parts.length>0?parts[0]:\"\",intrinsic=getBaseIntrinsic(\"%\"+intrinsicBaseName+\"%\",allowMissing),intrinsicRealName=intrinsic.name,value=intrinsic.value,skipFurtherCaching=!1,alias=intrinsic.alias;if(alias)intrinsicBaseName=alias[0],$spliceApply(parts,$concat([0,1],alias));for(var i=1,isOwn=!0;i<parts.length;i+=1){var part=parts[i],first=$strSlice(part,0,1),last=$strSlice(part,-1);if((first==='\"'||first===\"'\"||first===\"`\"||(last==='\"'||last===\"'\"||last===\"`\"))&&first!==last)throw new $SyntaxError(\"property names with quotes must have matching quotes\");if(part===\"constructor\"||!isOwn)skipFurtherCaching=!0;if(intrinsicBaseName+=\".\"+part,intrinsicRealName=\"%\"+intrinsicBaseName+\"%\",hasOwn(INTRINSICS,intrinsicRealName))value=INTRINSICS[intrinsicRealName];else if(value!=null){if(!(part in value)){if(!allowMissing)throw new $TypeError(\"base intrinsic for \"+name+\" exists, but the property is not available.\");return}if($gOPD&&i+1>=parts.length){var desc=$gOPD(value,part);if(isOwn=!!desc,isOwn&&\"get\"in desc&&!(\"originalValue\"in desc.get))value=desc.get;else value=value[part]}else isOwn=hasOwn(value,part),value=value[part];if(isOwn&&!skipFurtherCaching)INTRINSICS[intrinsicRealName]=value}}return value}});var require_call_bound=__commonJS((exports,module)=>{var GetIntrinsic=require_get_intrinsic(),callBindBasic=require_call_bind_apply_helpers(),$indexOf=callBindBasic([GetIntrinsic(\"%String.prototype.indexOf%\")]);module.exports=function(name,allowMissing){var intrinsic=GetIntrinsic(name,!!allowMissing);if(typeof intrinsic===\"function\"&&$indexOf(name,\".prototype.\")>-1)return callBindBasic([intrinsic]);return intrinsic}});var require_is_callable=__commonJS((exports,module)=>{var fnToStr=Function.prototype.toString,reflectApply=typeof Reflect===\"object\"&&Reflect!==null&&Reflect.apply,badArrayLike,isCallableMarker;if(typeof reflectApply===\"function\"&&typeof Object.defineProperty===\"function\")try{badArrayLike=Object.defineProperty({},\"length\",{get:function(){throw isCallableMarker}}),isCallableMarker={},reflectApply(function(){throw 42},null,badArrayLike)}catch(_){if(_!==isCallableMarker)reflectApply=null}else reflectApply=null;var constructorRegex=/^\\s*class\\b/,isES6ClassFn=function(value){try{var fnStr=fnToStr.call(value);return constructorRegex.test(fnStr)}catch(e){return!1}},tryFunctionObject=function(value){try{if(isES6ClassFn(value))return!1;return fnToStr.call(value),!0}catch(e){return!1}},toStr=Object.prototype.toString,objectClass=\"[object Object]\",fnClass=\"[object Function]\",genClass=\"[object GeneratorFunction]\",ddaClass=\"[object HTMLAllCollection]\",ddaClass2=\"[object HTML document.all class]\",ddaClass3=\"[object HTMLCollection]\",hasToStringTag=typeof Symbol===\"function\"&&!!Symbol.toStringTag,isIE68=!(0 in[,]),isDDA=function(){return!1};if(typeof document===\"object\"){if(all=document.all,toStr.call(all)===toStr.call(document.all))isDDA=function(value){if((isIE68||!value)&&(typeof value>\"u\"||typeof value===\"object\"))try{var str=toStr.call(value);return(str===ddaClass||str===ddaClass2||str===ddaClass3||str===objectClass)&&value(\"\")==null}catch(e){}return!1}}var all;module.exports=reflectApply?function(value){if(isDDA(value))return!0;if(!value)return!1;if(typeof value!==\"function\"&&typeof value!==\"object\")return!1;try{reflectApply(value,null,badArrayLike)}catch(e){if(e!==isCallableMarker)return!1}return!isES6ClassFn(value)&&tryFunctionObject(value)}:function(value){if(isDDA(value))return!0;if(!value)return!1;if(typeof value!==\"function\"&&typeof value!==\"object\")return!1;if(hasToStringTag)return tryFunctionObject(value);if(isES6ClassFn(value))return!1;var strClass=toStr.call(value);if(strClass!==fnClass&&strClass!==genClass&&!/^\\[object HTML/.test(strClass))return!1;return tryFunctionObject(value)}});var require_for_each=__commonJS((exports,module)=>{var isCallable=require_is_callable(),toStr=Object.prototype.toString,hasOwnProperty=Object.prototype.hasOwnProperty,forEachArray=function(array,iterator,receiver){for(var i=0,len=array.length;i<len;i++)if(hasOwnProperty.call(array,i))if(receiver==null)iterator(array[i],i,array);else iterator.call(receiver,array[i],i,array)},forEachString=function(string,iterator,receiver){for(var i=0,len=string.length;i<len;i++)if(receiver==null)iterator(string.charAt(i),i,string);else iterator.call(receiver,string.charAt(i),i,string)},forEachObject=function(object,iterator,receiver){for(var k in object)if(hasOwnProperty.call(object,k))if(receiver==null)iterator(object[k],k,object);else iterator.call(receiver,object[k],k,object)};function isArray(x){return toStr.call(x)===\"[object Array]\"}module.exports=function(list,iterator,thisArg){if(!isCallable(iterator))throw TypeError(\"iterator must be a function\");var receiver;if(arguments.length>=3)receiver=thisArg;if(isArray(list))forEachArray(list,iterator,receiver);else if(typeof list===\"string\")forEachString(list,iterator,receiver);else forEachObject(list,iterator,receiver)}});var require_possible_typed_array_names=__commonJS((exports,module)=>{module.exports=[\"Float16Array\",\"Float32Array\",\"Float64Array\",\"Int8Array\",\"Int16Array\",\"Int32Array\",\"Uint8Array\",\"Uint8ClampedArray\",\"Uint16Array\",\"Uint32Array\",\"BigInt64Array\",\"BigUint64Array\"]});var require_available_typed_arrays=__commonJS((exports,module)=>{var possibleNames=require_possible_typed_array_names(),g=typeof globalThis>\"u\"?globalThis:globalThis;module.exports=function(){var out=[];for(var i=0;i<possibleNames.length;i++)if(typeof g[possibleNames[i]]===\"function\")out[out.length]=possibleNames[i];return out}});var require_define_data_property=__commonJS((exports,module)=>{var $defineProperty=require_es_define_property(),$SyntaxError=require_syntax(),$TypeError=require_type(),gopd=require_gopd();module.exports=function(obj,property,value){if(!obj||typeof obj!==\"object\"&&typeof obj!==\"function\")throw new $TypeError(\"`obj` must be an object or a function`\");if(typeof property!==\"string\"&&typeof property!==\"symbol\")throw new $TypeError(\"`property` must be a string or a symbol`\");if(arguments.length>3&&typeof arguments[3]!==\"boolean\"&&arguments[3]!==null)throw new $TypeError(\"`nonEnumerable`, if provided, must be a boolean or null\");if(arguments.length>4&&typeof arguments[4]!==\"boolean\"&&arguments[4]!==null)throw new $TypeError(\"`nonWritable`, if provided, must be a boolean or null\");if(arguments.length>5&&typeof arguments[5]!==\"boolean\"&&arguments[5]!==null)throw new $TypeError(\"`nonConfigurable`, if provided, must be a boolean or null\");if(arguments.length>6&&typeof arguments[6]!==\"boolean\")throw new $TypeError(\"`loose`, if provided, must be a boolean\");var nonEnumerable=arguments.length>3?arguments[3]:null,nonWritable=arguments.length>4?arguments[4]:null,nonConfigurable=arguments.length>5?arguments[5]:null,loose=arguments.length>6?arguments[6]:!1,desc=!!gopd&&gopd(obj,property);if($defineProperty)$defineProperty(obj,property,{configurable:nonConfigurable===null&&desc?desc.configurable:!nonConfigurable,enumerable:nonEnumerable===null&&desc?desc.enumerable:!nonEnumerable,value,writable:nonWritable===null&&desc?desc.writable:!nonWritable});else if(loose||!nonEnumerable&&!nonWritable&&!nonConfigurable)obj[property]=value;else throw new $SyntaxError(\"This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.\")}});var require_has_property_descriptors=__commonJS((exports,module)=>{var $defineProperty=require_es_define_property(),hasPropertyDescriptors=function(){return!!$defineProperty};hasPropertyDescriptors.hasArrayLengthDefineBug=function(){if(!$defineProperty)return null;try{return $defineProperty([],\"length\",{value:1}).length!==1}catch(e){return!0}};module.exports=hasPropertyDescriptors});var require_set_function_length=__commonJS((exports,module)=>{var GetIntrinsic=require_get_intrinsic(),define=require_define_data_property(),hasDescriptors=require_has_property_descriptors()(),gOPD=require_gopd(),$TypeError=require_type(),$floor=GetIntrinsic(\"%Math.floor%\");module.exports=function(fn,length){if(typeof fn!==\"function\")throw new $TypeError(\"`fn` is not a function\");if(typeof length!==\"number\"||length<0||length>4294967295||$floor(length)!==length)throw new $TypeError(\"`length` must be a positive 32-bit integer\");var loose=arguments.length>2&&!!arguments[2],functionLengthIsConfigurable=!0,functionLengthIsWritable=!0;if(\"length\"in fn&&gOPD){var desc=gOPD(fn,\"length\");if(desc&&!desc.configurable)functionLengthIsConfigurable=!1;if(desc&&!desc.writable)functionLengthIsWritable=!1}if(functionLengthIsConfigurable||functionLengthIsWritable||!loose)if(hasDescriptors)define(fn,\"length\",length,!0,!0);else define(fn,\"length\",length);return fn}});var require_applyBind=__commonJS((exports,module)=>{var bind=require_function_bind(),$apply=require_functionApply(),actualApply=require_actualApply();module.exports=function(){return actualApply(bind,$apply,arguments)}});var require_call_bind=__commonJS((exports,module)=>{var setFunctionLength=require_set_function_length(),$defineProperty=require_es_define_property(),callBindBasic=require_call_bind_apply_helpers(),applyBind=require_applyBind();module.exports=function(originalFunction){var func=callBindBasic(arguments),adjustedLength=originalFunction.length-(arguments.length-1);return setFunctionLength(func,1+(adjustedLength>0?adjustedLength:0),!0)};if($defineProperty)$defineProperty(module.exports,\"apply\",{value:applyBind});else module.exports.apply=applyBind});var require_shams2=__commonJS((exports,module)=>{var hasSymbols=require_shams();module.exports=function(){return hasSymbols()&&!!Symbol.toStringTag}});var require_which_typed_array=__commonJS((exports,module)=>{var forEach=require_for_each(),availableTypedArrays=require_available_typed_arrays(),callBind=require_call_bind(),callBound=require_call_bound(),gOPD=require_gopd(),getProto=require_get_proto(),$toString=callBound(\"Object.prototype.toString\"),hasToStringTag=require_shams2()(),g=typeof globalThis>\"u\"?globalThis:globalThis,typedArrays=availableTypedArrays(),$slice=callBound(\"String.prototype.slice\"),$indexOf=callBound(\"Array.prototype.indexOf\",!0)||function(array,value){for(var i=0;i<array.length;i+=1)if(array[i]===value)return i;return-1},cache={__proto__:null};if(hasToStringTag&&gOPD&&getProto)forEach(typedArrays,function(typedArray){var arr=new g[typedArray];if(Symbol.toStringTag in arr&&getProto){var proto=getProto(arr),descriptor=gOPD(proto,Symbol.toStringTag);if(!descriptor&&proto){var superProto=getProto(proto);descriptor=gOPD(superProto,Symbol.toStringTag)}cache[\"$\"+typedArray]=callBind(descriptor.get)}});else forEach(typedArrays,function(typedArray){var arr=new g[typedArray],fn=arr.slice||arr.set;if(fn)cache[\"$\"+typedArray]=callBind(fn)});var tryTypedArrays=function(value){var found=!1;return forEach(cache,function(getter,typedArray){if(!found)try{if(\"$\"+getter(value)===typedArray)found=$slice(typedArray,1)}catch(e){}}),found},trySlices=function(value){var found=!1;return forEach(cache,function(getter,name){if(!found)try{getter(value),found=$slice(name,1)}catch(e){}}),found};module.exports=function(value){if(!value||typeof value!==\"object\")return!1;if(!hasToStringTag){var tag=$slice($toString(value),8,-1);if($indexOf(typedArrays,tag)>-1)return tag;if(tag!==\"Object\")return!1;return trySlices(value)}if(!gOPD)return null;return tryTypedArrays(value)}});var require_is_typed_array=__commonJS((exports,module)=>{var whichTypedArray=require_which_typed_array();module.exports=function(value){return!!whichTypedArray(value)}});var require_typed_array_buffer=__commonJS((exports,module)=>{var $TypeError=require_type(),callBound=require_call_bound(),$typedArrayBuffer=callBound(\"TypedArray.prototype.buffer\",!0),isTypedArray=require_is_typed_array();module.exports=$typedArrayBuffer||function(x){if(!isTypedArray(x))throw new $TypeError(\"Not a Typed Array\");return x.buffer}});var require_to_buffer=__commonJS((exports,module)=>{var Buffer2=require_safe_buffer().Buffer,isArray=require_isarray(),typedArrayBuffer=require_typed_array_buffer(),isView=ArrayBuffer.isView||function(obj){try{return typedArrayBuffer(obj),!0}catch(e){return!1}},useUint8Array=typeof Uint8Array<\"u\",useArrayBuffer=typeof ArrayBuffer<\"u\"&&typeof Uint8Array<\"u\",useFromArrayBuffer=useArrayBuffer&&(Buffer2.prototype instanceof Uint8Array||Buffer2.TYPED_ARRAY_SUPPORT);module.exports=function(data,encoding){if(Buffer2.isBuffer(data)){if(data.constructor&&!(\"isBuffer\"in data))return Buffer2.from(data);return data}if(typeof data===\"string\")return Buffer2.from(data,encoding);if(useArrayBuffer&&isView(data)){if(data.byteLength===0)return Buffer2.alloc(0);if(useFromArrayBuffer){var res=Buffer2.from(data.buffer,data.byteOffset,data.byteLength);if(res.byteLength===data.byteLength)return res}var uint8=data instanceof Uint8Array?data:new Uint8Array(data.buffer,data.byteOffset,data.byteLength),result=Buffer2.from(uint8);if(result.length===data.byteLength)return result}if(useUint8Array&&data instanceof Uint8Array)return Buffer2.from(data);var isArr=isArray(data);if(isArr)for(var i=0;i<data.length;i+=1){var x=data[i];if(typeof x!==\"number\"||x<0||x>255||~~x!==x)throw RangeError(\"Array items must be numbers in the range 0-255.\")}if(isArr||Buffer2.isBuffer(data)&&data.constructor&&typeof data.constructor.isBuffer===\"function\"&&data.constructor.isBuffer(data))return Buffer2.from(data);throw TypeError('The \"data\" argument must be a string, an Array, a Buffer, a Uint8Array, or a DataView.')}});var require_to_buffer2=__commonJS((exports,module)=>{var Buffer2=require_safe_buffer().Buffer,toBuffer=require_to_buffer(),useUint8Array=typeof Uint8Array<\"u\",useArrayBuffer=useUint8Array&&typeof ArrayBuffer<\"u\",isView=useArrayBuffer&&ArrayBuffer.isView;module.exports=function(thing,encoding,name){if(typeof thing===\"string\"||Buffer2.isBuffer(thing)||useUint8Array&&thing instanceof Uint8Array||isView&&isView(thing))return toBuffer(thing,encoding);throw TypeError(name+\" must be a string, a Buffer, a Uint8Array, or a DataView\")}});var require_sync=__commonJS((exports,module)=>{var sizes={__proto__:null,md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,\"sha512-256\":32,rmd160:20,ripemd160:20},mapping={__proto__:null,\"sha-1\":\"sha1\",\"sha-224\":\"sha224\",\"sha-256\":\"sha256\",\"sha-384\":\"sha384\",\"sha-512\":\"sha512\",\"ripemd-160\":\"ripemd160\"},createHmac=require_create_hmac(),Buffer2=require_safe_buffer().Buffer,checkParameters=require_precondition(),defaultEncoding=require_default_encoding(),toBuffer=require_to_buffer2();function pbkdf2(password,salt,iterations,keylen,digest){checkParameters(iterations,keylen),password=toBuffer(password,defaultEncoding,\"Password\"),salt=toBuffer(salt,defaultEncoding,\"Salt\");var lowerDigest=(digest||\"sha1\").toLowerCase(),mappedDigest=mapping[lowerDigest]||lowerDigest,size=sizes[mappedDigest];if(typeof size!==\"number\"||!size)throw TypeError(\"Digest algorithm not supported: \"+digest);var DK=Buffer2.allocUnsafe(keylen),block1=Buffer2.allocUnsafe(salt.length+4);salt.copy(block1,0,0,salt.length);var destPos=0,hLen=size,l=Math.ceil(keylen/hLen);for(var i=1;i<=l;i++){block1.writeUInt32BE(i,salt.length);var T=createHmac(mappedDigest,password).update(block1).digest(),U=T;for(var j=1;j<iterations;j++){U=createHmac(mappedDigest,password).update(U).digest();for(var k=0;k<hLen;k++)T[k]^=U[k]}T.copy(DK,destPos),destPos+=hLen}return DK}module.exports=pbkdf2});var require_async=__commonJS((exports,module)=>{var Buffer2=require_safe_buffer().Buffer,checkParameters=require_precondition(),defaultEncoding=require_default_encoding(),sync=require_sync(),toBuffer=require_to_buffer2(),ZERO_BUF,subtle=globalThis.crypto&&globalThis.crypto.subtle,toBrowser={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\"},checks=[],nextTick;function getNextTick(){if(nextTick)return nextTick;if(globalThis.process&&globalThis.process.nextTick)nextTick=globalThis.process.nextTick;else if(globalThis.queueMicrotask)nextTick=globalThis.queueMicrotask;else if(globalThis.setImmediate)nextTick=globalThis.setImmediate;else nextTick=globalThis.setTimeout;return nextTick}function browserPbkdf2(password,salt,iterations,length,algo){return subtle.importKey(\"raw\",password,{name:\"PBKDF2\"},!1,[\"deriveBits\"]).then(function(key){return subtle.deriveBits({name:\"PBKDF2\",salt,iterations,hash:{name:algo}},key,length<<3)}).then(function(res){return Buffer2.from(res)})}function checkNative(algo){if(globalThis.process&&!globalThis.process.browser)return Promise.resolve(!1);if(!subtle||!subtle.importKey||!subtle.deriveBits)return Promise.resolve(!1);if(checks[algo]!==void 0)return checks[algo];ZERO_BUF=ZERO_BUF||Buffer2.alloc(8);var prom=browserPbkdf2(ZERO_BUF,ZERO_BUF,10,128,algo).then(function(){return!0},function(){return!1});return checks[algo]=prom,prom}function resolvePromise(promise,callback){promise.then(function(out){getNextTick()(function(){callback(null,out)})},function(e){getNextTick()(function(){callback(e)})})}module.exports=function(password,salt,iterations,keylen,digest,callback){if(typeof digest===\"function\")callback=digest,digest=void 0;if(checkParameters(iterations,keylen),password=toBuffer(password,defaultEncoding,\"Password\"),salt=toBuffer(salt,defaultEncoding,\"Salt\"),typeof callback!==\"function\")throw Error(\"No callback provided to pbkdf2\");digest=digest||\"sha1\";var algo=toBrowser[digest.toLowerCase()];if(!algo||typeof globalThis.Promise!==\"function\"){getNextTick()(function(){var out;try{out=sync(password,salt,iterations,keylen,digest)}catch(e){callback(e);return}callback(null,out)});return}resolvePromise(checkNative(algo).then(function(resp){if(resp)return browserPbkdf2(password,salt,iterations,keylen,algo);return sync(password,salt,iterations,keylen,digest)}),callback)}});var require_pbkdf2=__commonJS((exports)=>{var nativeImpl=require(\"crypto\"),checkParameters=require_precondition(),defaultEncoding=require_default_encoding(),toBuffer=require_to_buffer2();function nativePBKDF2(password,salt,iterations,keylen,digest,callback){if(checkParameters(iterations,keylen),password=toBuffer(password,defaultEncoding,\"Password\"),salt=toBuffer(salt,defaultEncoding,\"Salt\"),typeof digest===\"function\")callback=digest,digest=\"sha1\";if(typeof callback!==\"function\")throw Error(\"No callback provided to pbkdf2\");return nativeImpl.pbkdf2(password,salt,iterations,keylen,digest,callback)}function nativePBKDF2Sync(password,salt,iterations,keylen,digest){return checkParameters(iterations,keylen),password=toBuffer(password,defaultEncoding,\"Password\"),salt=toBuffer(salt,defaultEncoding,\"Salt\"),digest=digest||\"sha1\",nativeImpl.pbkdf2Sync(password,salt,iterations,keylen,digest)}if(!nativeImpl.pbkdf2Sync||nativeImpl.pbkdf2Sync.toString().indexOf(\"keylen, digest\")===-1)exports.pbkdf2Sync=require_sync(),exports.pbkdf2=require_async();else exports.pbkdf2Sync=nativePBKDF2Sync,exports.pbkdf2=nativePBKDF2});var require_browserify_cipher=__commonJS((exports)=>{var crypto2=require(\"crypto\");exports.createCipher=exports.Cipher=crypto2.createCipher;exports.createCipheriv=exports.Cipheriv=crypto2.createCipheriv;exports.createDecipher=exports.Decipher=crypto2.createDecipher;exports.createDecipheriv=exports.Decipheriv=crypto2.createDecipheriv;exports.listCiphers=exports.getCiphers=crypto2.getCiphers});var require_diffie_hellman=__commonJS((exports)=>{var crypto2=require(\"crypto\");exports.DiffieHellmanGroup=crypto2.DiffieHellmanGroup;exports.createDiffieHellmanGroup=crypto2.createDiffieHellmanGroup;exports.getDiffieHellman=crypto2.getDiffieHellman;exports.createDiffieHellman=crypto2.createDiffieHellman;exports.DiffieHellman=crypto2.DiffieHellman});var require_browserify_sign=__commonJS((exports)=>{var crypto2=require(\"crypto\");exports.createSign=crypto2.createSign;exports.Sign=crypto2.Sign;exports.createVerify=crypto2.createVerify;exports.Verify=crypto2.Verify});var require_package=__commonJS((exports,module)=>{module.exports={name:\"elliptic\",version:\"6.6.1\",description:\"EC cryptography\",main:\"lib/elliptic.js\",files:[\"lib\"],scripts:{lint:\"eslint lib test\",\"lint:fix\":\"npm run lint -- --fix\",unit:\"istanbul test _mocha --reporter=spec test/index.js\",test:\"npm run lint && npm run unit\",version:\"grunt dist && git add dist/\"},repository:{type:\"git\",url:\"git@github.com:indutny/elliptic\"},keywords:[\"EC\",\"Elliptic\",\"curve\",\"Cryptography\"],author:\"Fedor Indutny <fedor@indutny.com>\",license:\"MIT\",bugs:{url:\"https://github.com/indutny/elliptic/issues\"},homepage:\"https://github.com/indutny/elliptic\",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\"},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\"}}});var require_bn=__commonJS((exports,module)=>{(function(module2,exports2){function assert(val,msg){if(!val)throw Error(msg||\"Assertion failed\")}function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}function BN(number,base,endian){if(BN.isBN(number))return number;if(this.negative=0,this.words=null,this.length=0,this.red=null,number!==null){if(base===\"le\"||base===\"be\")endian=base,base=10;this._init(number||0,base||10,endian||\"be\")}}if(typeof module2===\"object\")module2.exports=BN;else exports2.BN=BN;BN.BN=BN,BN.wordSize=26;var Buffer2;try{if(typeof window<\"u\"&&typeof window.Buffer<\"u\")Buffer2=window.Buffer;else Buffer2=require(\"buffer\").Buffer}catch(e){}BN.isBN=function(num){if(num instanceof BN)return!0;return num!==null&&typeof num===\"object\"&&num.constructor.wordSize===BN.wordSize&&Array.isArray(num.words)},BN.max=function(left,right){if(left.cmp(right)>0)return left;return right},BN.min=function(left,right){if(left.cmp(right)<0)return left;return right},BN.prototype._init=function(number,base,endian){if(typeof number===\"number\")return this._initNumber(number,base,endian);if(typeof number===\"object\")return this._initArray(number,base,endian);if(base===\"hex\")base=16;assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;if(number[0]===\"-\")start++,this.negative=1;if(start<number.length){if(base===16)this._parseHex(number,start,endian);else if(this._parseBase(number,base,start),endian===\"le\")this._initArray(this.toArray(),base,endian)}},BN.prototype._initNumber=function(number,base,endian){if(number<0)this.negative=1,number=-number;if(number<67108864)this.words=[number&67108863],this.length=1;else if(number<4503599627370496)this.words=[number&67108863,number/67108864&67108863],this.length=2;else assert(number<9007199254740992),this.words=[number&67108863,number/67108864&67108863,1],this.length=3;if(endian!==\"le\")return;this._initArray(this.toArray(),base,endian)},BN.prototype._initArray=function(number,base,endian){if(assert(typeof number.length===\"number\"),number.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(number.length/3),this.words=Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var j,w,off=0;if(endian===\"be\"){for(i=number.length-1,j=0;i>=0;i-=3)if(w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<<off&67108863,this.words[j+1]=w>>>26-off&67108863,off+=24,off>=26)off-=26,j++}else if(endian===\"le\"){for(i=0,j=0;i<number.length;i+=3)if(w=number[i]|number[i+1]<<8|number[i+2]<<16,this.words[j]|=w<<off&67108863,this.words[j+1]=w>>>26-off&67108863,off+=24,off>=26)off-=26,j++}return this.strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);if(c>=65&&c<=70)return c-55;else if(c>=97&&c<=102)return c-87;else return c-48&15}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);if(index-1>=lowerBound)r|=parseHex4Bits(string,index-1)<<4;return r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var off=0,j=0,w;if(endian===\"be\")for(i=number.length-1;i>=start;i-=2)if(w=parseHexByte(number,start,i)<<off,this.words[j]|=w&67108863,off>=18)off-=18,j+=1,this.words[j]|=w>>>26;else off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0?start+1:start;i<number.length;i+=2)if(w=parseHexByte(number,start,i)<<off,this.words[j]|=w&67108863,off>=18)off-=18,j+=1,this.words[j]|=w>>>26;else off+=8}this.strip()};function parseBase(str,start,end,mul){var r=0,len=Math.min(str.length,end);for(var i=start;i<len;i++){var c=str.charCodeAt(i)-48;if(r*=mul,c>=49)r+=c-49+10;else if(c>=17)r+=c-17+10;else r+=c}return r}BN.prototype._parseBase=function(number,base,start){this.words=[0],this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0;for(var i=start;i<end;i+=limbLen)if(word=parseBase(number,i,i+limbLen,base),this.imuln(limbPow),this.words[0]+word<67108864)this.words[0]+=word;else this._iaddn(word);if(mod!==0){var pow=1;word=parseBase(number,i,number.length,base);for(i=0;i<mod;i++)pow*=base;if(this.imuln(pow),this.words[0]+word<67108864)this.words[0]+=word;else this._iaddn(word)}this.strip()},BN.prototype.copy=function(dest){dest.words=Array(this.length);for(var i=0;i<this.length;i++)dest.words[i]=this.words[i];dest.length=this.length,dest.negative=this.negative,dest.red=this.red},BN.prototype.clone=function(){var r=new BN(null);return this.copy(r),r},BN.prototype._expand=function(size){while(this.length<size)this.words[this.length++]=0;return this},BN.prototype.strip=function(){while(this.length>1&&this.words[this.length-1]===0)this.length--;return this._normSign()},BN.prototype._normSign=function(){if(this.length===1&&this.words[0]===0)this.negative=0;return this},BN.prototype.inspect=function(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"};var zeros=[\"\",\"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\"],groupSizes=[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],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];if(BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";var off=0,carry=0;for(var i=0;i<this.length;i++){var w=this.words[i],word=((w<<off|carry)&16777215).toString(16);if(carry=w>>>24-off&16777215,off+=2,off>=26)off-=26,i--;if(carry!==0||i!==this.length-1)out=zeros[6-word.length]+word+out;else out=word+out}if(carry!==0)out=carry.toString(16)+out;while(out.length%padding!==0)out=\"0\"+out;if(this.negative!==0)out=\"-\"+out;return out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();c.negative=0;while(!c.isZero()){var r=c.modn(groupBase).toString(base);if(c=c.idivn(groupBase),!c.isZero())out=zeros[groupSize-r.length]+r+out;else out=r+out}if(this.isZero())out=\"0\"+out;while(out.length%padding!==0)out=\"0\"+out;if(this.negative!==0)out=\"-\"+out;return out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];if(this.length===2)ret+=this.words[1]*67108864;else if(this.length===3&&this.words[2]===1)ret+=4503599627370496+this.words[1]*67108864;else if(this.length>2)assert(!1,\"Number can only safely store up to 53 bits\");return this.negative!==0?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16)},BN.prototype.toBuffer=function(endian,length){return assert(typeof Buffer2<\"u\"),this.toArrayLike(Buffer2,endian,length)},BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)},BN.prototype.toArrayLike=function(ArrayType,endian,length){var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\"),this.strip();var littleEndian=endian===\"le\",res=new ArrayType(reqLength),b,i,q=this.clone();if(!littleEndian){for(i=0;i<reqLength-byteLength;i++)res[i]=0;for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[reqLength-i-1]=b}else{for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[i]=b;for(;i<reqLength;i++)res[i]=0}return res},Math.clz32)BN.prototype._countBits=function(w){return 32-Math.clz32(w)};else BN.prototype._countBits=function(w){var t=w,r=0;if(t>=4096)r+=13,t>>>=13;if(t>=64)r+=7,t>>>=7;if(t>=8)r+=4,t>>>=4;if(t>=2)r+=2,t>>>=2;return r+t};BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;if((t&8191)===0)r+=13,t>>>=13;if((t&127)===0)r+=7,t>>>=7;if((t&15)===0)r+=4,t>>>=4;if((t&3)===0)r+=2,t>>>=2;if((t&1)===0)r++;return r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){var w=Array(num.bitLength());for(var bit=0;bit<w.length;bit++){var off=bit/26|0,wbit=bit%26;w[bit]=(num.words[off]&1<<wbit)>>>wbit}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;var r=0;for(var i=0;i<this.length;i++){var b=this._zeroBits(this.words[i]);if(r+=b,b!==26)break}return r},BN.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},BN.prototype.toTwos=function(width){if(this.negative!==0)return this.abs().inotn(width).iaddn(1);return this.clone()},BN.prototype.fromTwos=function(width){if(this.testn(width-1))return this.notn(width).iaddn(1).ineg();return this.clone()},BN.prototype.isNeg=function(){return this.negative!==0},BN.prototype.neg=function(){return this.clone().ineg()},BN.prototype.ineg=function(){if(!this.isZero())this.negative^=1;return this},BN.prototype.iuor=function(num){while(this.length<num.length)this.words[this.length++]=0;for(var i=0;i<num.length;i++)this.words[i]=this.words[i]|num.words[i];return this.strip()},BN.prototype.ior=function(num){return assert((this.negative|num.negative)===0),this.iuor(num)},BN.prototype.or=function(num){if(this.length>num.length)return this.clone().ior(num);return num.clone().ior(this)},BN.prototype.uor=function(num){if(this.length>num.length)return this.clone().iuor(num);return num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;if(this.length>num.length)b=num;else b=this;for(var i=0;i<b.length;i++)this.words[i]=this.words[i]&num.words[i];return this.length=b.length,this.strip()},BN.prototype.iand=function(num){return assert((this.negative|num.negative)===0),this.iuand(num)},BN.prototype.and=function(num){if(this.length>num.length)return this.clone().iand(num);return num.clone().iand(this)},BN.prototype.uand=function(num){if(this.length>num.length)return this.clone().iuand(num);return num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;if(this.length>num.length)a=this,b=num;else a=num,b=this;for(var i=0;i<b.length;i++)this.words[i]=a.words[i]^b.words[i];if(this!==a)for(;i<a.length;i++)this.words[i]=a.words[i];return this.length=a.length,this.strip()},BN.prototype.ixor=function(num){return assert((this.negative|num.negative)===0),this.iuxor(num)},BN.prototype.xor=function(num){if(this.length>num.length)return this.clone().ixor(num);return num.clone().ixor(this)},BN.prototype.uxor=function(num){if(this.length>num.length)return this.clone().iuxor(num);return num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width===\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;if(this._expand(bytesNeeded),bitsLeft>0)bytesNeeded--;for(var i=0;i<bytesNeeded;i++)this.words[i]=~this.words[i]&67108863;if(bitsLeft>0)this.words[i]=~this.words[i]&67108863>>26-bitsLeft;return this.strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit===\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;if(this._expand(off+1),val)this.words[off]=this.words[off]|1<<wbit;else this.words[off]=this.words[off]&~(1<<wbit);return this.strip()},BN.prototype.iadd=function(num){var r;if(this.negative!==0&&num.negative===0)return this.negative=0,r=this.isub(num),this.negative^=1,this._normSign();else if(this.negative===0&&num.negative!==0)return num.negative=0,r=this.isub(num),num.negative=1,r._normSign();var a,b;if(this.length>num.length)a=this,b=num;else a=num,b=this;var carry=0;for(var i=0;i<b.length;i++)r=(a.words[i]|0)+(b.words[i]|0)+carry,this.words[i]=r&67108863,carry=r>>>26;for(;carry!==0&&i<a.length;i++)r=(a.words[i]|0)+carry,this.words[i]=r&67108863,carry=r>>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;i<a.length;i++)this.words[i]=a.words[i];return this},BN.prototype.add=function(num){var res;if(num.negative!==0&&this.negative===0)return num.negative=0,res=this.sub(num),num.negative^=1,res;else if(num.negative===0&&this.negative!==0)return this.negative=0,res=num.sub(this),this.negative=1,res;if(this.length>num.length)return this.clone().iadd(num);return num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;if(cmp>0)a=this,b=num;else a=num,b=this;var carry=0;for(var i=0;i<b.length;i++)r=(a.words[i]|0)-(b.words[i]|0)+carry,carry=r>>26,this.words[i]=r&67108863;for(;carry!==0&&i<a.length;i++)r=(a.words[i]|0)+carry,carry=r>>26,this.words[i]=r&67108863;if(carry===0&&i<a.length&&a!==this)for(;i<a.length;i++)this.words[i]=a.words[i];if(this.length=Math.max(this.length,i),a!==this)this.negative=1;return this.strip()},BN.prototype.sub=function(num){return this.clone().isub(num)};function smallMulTo(self2,num,out){out.negative=num.negative^self2.negative;var len=self2.length+num.length|0;out.length=len,len=len-1|0;var a=self2.words[0]|0,b=num.words[0]|0,r=a*b,lo=r&67108863,carry=r/67108864|0;out.words[0]=lo;for(var k=1;k<len;k++){var ncarry=carry>>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1);for(var j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}if(carry!==0)out.words[k]=carry|0;else out.length--;return out.strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;if(c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0)o[19]=c,out.length++;return out};if(!Math.imul)comb10MulTo=smallMulTo;function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;var carry=0,hncarry=0;for(var k=0;k<out.length-1;k++){var ncarry=hncarry;hncarry=0;var rword=carry&67108863,maxJ=Math.min(k,num.length-1);for(var j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j,a=self2.words[i]|0,b=num.words[j]|0,r=a*b,lo=r&67108863;ncarry=ncarry+(r/67108864|0)|0,lo=lo+rword|0,rword=lo&67108863,ncarry=ncarry+(lo>>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}if(carry!==0)out.words[k]=carry;else out.length--;return out.strip()}function jumboMulTo(self2,num,out){var fftm=new FFTM;return fftm.mulp(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;if(this.length===10&&num.length===10)res=comb10MulTo(this,num,out);else if(len<63)res=smallMulTo(this,num,out);else if(len<1024)res=bigMulTo(this,num,out);else res=jumboMulTo(this,num,out);return res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){var t=Array(N),l=BN.prototype._countBits(N)-1;for(var i=0;i<N;i++)t[i]=this.revBin(i,l,N);return t},FFTM.prototype.revBin=function(x,l,N){if(x===0||x===N-1)return x;var rb=0;for(var i=0;i<l;i++)rb|=(x&1)<<l-i-1,x>>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i<N;i++)rtws[i]=rws[rbt[i]],itws[i]=iws[rbt[i]]},FFTM.prototype.transform=function(rws,iws,rtws,itws,N,rbt){this.permute(rbt,rws,iws,rtws,itws,N);for(var s=1;s<N;s<<=1){var l=s<<1,rtwdf=Math.cos(2*Math.PI/l),itwdf=Math.sin(2*Math.PI/l);for(var p=0;p<N;p+=l){var rtwdf_=rtwdf,itwdf_=itwdf;for(var j=0;j<s;j++){var re=rtws[p+j],ie=itws[p+j],ro=rtws[p+j+s],io=itws[p+j+s],rx=rtwdf_*ro-itwdf_*io;if(io=rtwdf_*io+itwdf_*ro,ro=rx,rtws[p+j]=re+ro,itws[p+j]=ie+io,rtws[p+j+s]=re-ro,itws[p+j+s]=ie-io,j!==l)rx=rtwdf*rtwdf_-itwdf*itwdf_,itwdf_=rtwdf*itwdf_+itwdf*rtwdf_,rtwdf_=rx}}}},FFTM.prototype.guessLen13b=function(n,m){var N=Math.max(m,n)|1,odd=N&1,i=0;for(N=N/2|0;N;N=N>>>1)i++;return 1<<i+1+odd},FFTM.prototype.conjugate=function(rws,iws,N){if(N<=1)return;for(var i=0;i<N/2;i++){var t=rws[i];rws[i]=rws[N-i-1],rws[N-i-1]=t,t=iws[i],iws[i]=-iws[N-i-1],iws[N-i-1]=-t}},FFTM.prototype.normalize13b=function(ws,N){var carry=0;for(var i=0;i<N/2;i++){var w=Math.round(ws[2*i+1]/N)*8192+Math.round(ws[2*i]/N)+carry;if(ws[i]=w&67108863,w<67108864)carry=0;else carry=w/67108864|0}return ws},FFTM.prototype.convert13b=function(ws,len,rws,N){var carry=0;for(var i=0;i<len;i++)carry=carry+(ws[i]|0),rws[2*i]=carry&8191,carry=carry>>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i<N;++i)rws[i]=0;assert(carry===0),assert((carry&-8192)===0)},FFTM.prototype.stub=function(N){var ph=Array(N);for(var i=0;i<N;i++)ph[i]=0;return ph},FFTM.prototype.mulp=function(x,y,out){var N=2*this.guessLen13b(x.length,y.length),rbt=this.makeRBT(N),_=this.stub(N),rws=Array(N),rwst=Array(N),iwst=Array(N),nrws=Array(N),nrwst=Array(N),niwst=Array(N),rmws=out.words;rmws.length=N,this.convert13b(x.words,x.length,rws,N),this.convert13b(y.words,y.length,nrws,N),this.transform(rws,_,rwst,iwst,N,rbt),this.transform(nrws,_,nrwst,niwst,N,rbt);for(var i=0;i<N;i++){var rx=rwst[i]*nrwst[i]-iwst[i]*niwst[i];iwst[i]=rwst[i]*niwst[i]+iwst[i]*nrwst[i],rwst[i]=rx}return this.conjugate(rwst,iwst,N),this.transform(rwst,iwst,rmws,_,N,rbt),this.conjugate(rmws,_,N),this.normalize13b(rmws,N),out.negative=x.negative^y.negative,out.length=x.length+y.length,out.strip()},BN.prototype.mul=function(num){var out=new BN(null);return out.words=Array(this.length+num.length),this.mulTo(num,out)},BN.prototype.mulf=function(num){var out=new BN(null);return out.words=Array(this.length+num.length),jumboMulTo(this,num,out)},BN.prototype.imul=function(num){return this.clone().mulTo(num,this)},BN.prototype.imuln=function(num){assert(typeof num===\"number\"),assert(num<67108864);var carry=0;for(var i=0;i<this.length;i++){var w=(this.words[i]|0)*num,lo=(w&67108863)+(carry&67108863);carry>>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}if(carry!==0)this.words[i]=carry,this.length++;return this.length=num===0?1:this.length,this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);var res=this;for(var i=0;i<w.length;i++,res=res.sqr())if(w[i]!==0)break;if(++i<w.length)for(var q=res.sqr();i<w.length;i++,q=q.sqr()){if(w[i]===0)continue;res=res.mul(q)}return res},BN.prototype.iushln=function(bits){assert(typeof bits===\"number\"&&bits>=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i<this.length;i++){var newCarry=this.words[i]&carryMask,c=(this.words[i]|0)-newCarry<<r;this.words[i]=c|carry,carry=newCarry>>>26-r}if(carry)this.words[i]=carry,this.length++}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i<s;i++)this.words[i]=0;this.length+=s}return this.strip()},BN.prototype.ishln=function(bits){return assert(this.negative===0),this.iushln(bits)},BN.prototype.iushrn=function(bits,hint,extended){assert(typeof bits===\"number\"&&bits>=0);var h;if(hint)h=(hint-hint%26)/26;else h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<<r,maskedWords=extended;if(h-=s,h=Math.max(0,h),maskedWords){for(var i=0;i<s;i++)maskedWords.words[i]=this.words[i];maskedWords.length=s}if(s===0);else if(this.length>s){this.length-=s;for(i=0;i<this.length;i++)this.words[i]=this.words[i+s]}else this.words[0]=0,this.length=1;var carry=0;for(i=this.length-1;i>=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}if(maskedWords&&carry!==0)maskedWords.words[maskedWords.length++]=carry;if(this.length===0)this.words[0]=0,this.length=1;return this.strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit===\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<<r;if(this.length<=s)return!1;var w=this.words[s];return!!(w&q)},BN.prototype.imaskn=function(bits){assert(typeof bits===\"number\"&&bits>=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0)s++;if(this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<<r;this.words[this.length-1]&=mask}return this.strip()},BN.prototype.maskn=function(bits){return this.clone().imaskn(bits)},BN.prototype.iaddn=function(num){if(assert(typeof num===\"number\"),assert(num<67108864),num<0)return this.isubn(-num);if(this.negative!==0){if(this.length===1&&(this.words[0]|0)<num)return this.words[0]=num-(this.words[0]|0),this.negative=0,this;return this.negative=0,this.isubn(num),this.negative=1,this}return this._iaddn(num)},BN.prototype._iaddn=function(num){this.words[0]+=num;for(var i=0;i<this.length&&this.words[i]>=67108864;i++)if(this.words[i]-=67108864,i===this.length-1)this.words[i+1]=1;else this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num===\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&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()},BN.prototype.addn=function(num){return this.clone().iaddn(num)},BN.prototype.subn=function(num){return this.clone().isubn(num)},BN.prototype.iabs=function(){return this.negative=0,this},BN.prototype.abs=function(){return this.clone().iabs()},BN.prototype._ishlnsubmul=function(num,mul,shift){var len=num.length+shift,i;this._expand(len);var w,carry=0;for(i=0;i<num.length;i++){w=(this.words[i+shift]|0)+carry;var right=(num.words[i]|0)*mul;w-=right&67108863,carry=(w>>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i<this.length-shift;i++)w=(this.words[i+shift]|0)+carry,carry=w>>26,this.words[i+shift]=w&67108863;if(carry===0)return this.strip();assert(carry===-1),carry=0;for(i=0;i<this.length;i++)w=-(this.words[i]|0)+carry,carry=w>>26,this.words[i]=w&67108863;return this.negative=1,this.strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);if(shift=26-bhiBits,shift!==0)b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0;var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=Array(q.length);for(var i=0;i<q.length;i++)q.words[i]=0}var diff=a.clone()._ishlnsubmul(b,1,m);if(diff.negative===0){if(a=diff,q)q.words[m]=1}for(var j=m-1;j>=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);while(a.negative!==0)if(qj--,a.negative=0,a._ishlnsubmul(b,1,j),!a.isZero())a.negative^=1;if(q)q.words[j]=qj}if(q)q.strip();if(a.strip(),mode!==\"div\"&&shift!==0)a.iushrn(shift);return{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;if(this.negative!==0&&num.negative===0){if(res=this.neg().divmod(num,mode),mode!==\"mod\")div=res.div.neg();if(mode!==\"div\"){if(mod=res.mod.neg(),positive&&mod.negative!==0)mod.iadd(num)}return{div,mod}}if(this.negative===0&&num.negative!==0){if(res=this.divmod(num.neg(),mode),mode!==\"mod\")div=res.div.neg();return{div,mod:res.mod}}if((this.negative&num.negative)!==0){if(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"){if(mod=res.mod.neg(),positive&&mod.negative!==0)mod.isub(num)}return{div:res.div,mod}}if(num.length>this.length||this.cmp(num)<0)return{div:new BN(0),mod:this};if(num.length===1){if(mode===\"div\")return{div:this.divn(num.words[0]),mod:null};if(mode===\"mod\")return{div:null,mod:new BN(this.modn(num.words[0]))};return{div:this.divn(num.words[0]),mod:new BN(this.modn(num.words[0]))}}return this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);if(cmp<0||r2===1&&cmp===0)return dm.div;return dm.div.negative!==0?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modn=function(num){assert(num<=67108863);var p=67108864%num,acc=0;for(var i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return acc},BN.prototype.idivn=function(num){assert(num<=67108863);var carry=0;for(var i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this.strip()},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();if(x.negative!==0)x=x.umod(p);else x=x.clone();var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;while(x.isEven()&&y.isEven())x.iushrn(1),y.iushrn(1),++g;var yp=y.clone(),xp=x.clone();while(!x.isZero()){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0){x.iushrn(i);while(i-- >0){if(A.isOdd()||B.isOdd())A.iadd(yp),B.isub(xp);A.iushrn(1),B.iushrn(1)}}for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0){y.iushrn(j);while(j-- >0){if(C.isOdd()||D.isOdd())C.iadd(yp),D.isub(xp);C.iushrn(1),D.iushrn(1)}}if(x.cmp(y)>=0)x.isub(y),A.isub(C),B.isub(D);else y.isub(x),C.isub(A),D.isub(B)}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();if(a.negative!==0)a=a.umod(p);else a=a.clone();var x1=new BN(1),x2=new BN(0),delta=b.clone();while(a.cmpn(1)>0&&b.cmpn(1)>0){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0){a.iushrn(i);while(i-- >0){if(x1.isOdd())x1.iadd(delta);x1.iushrn(1)}}for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0){b.iushrn(j);while(j-- >0){if(x2.isOdd())x2.iadd(delta);x2.iushrn(1)}}if(a.cmp(b)>=0)a.isub(b),x1.isub(x2);else b.isub(a),x2.isub(x1)}var res;if(a.cmpn(1)===0)res=x1;else res=x2;if(res.cmpn(0)<0)res.iadd(p);return res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{while(a.isEven())a.iushrn(1);while(b.isEven())b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit===\"number\");var r=bit%26,s=(bit-r)/26,q=1<<r;if(this.length<=s)return this._expand(s+1),this.words[s]|=q,this;var carry=q;for(var i=s;carry!==0&&i<this.length;i++){var w=this.words[i]|0;w+=carry,carry=w>>>26,w&=67108863,this.words[i]=w}if(carry!==0)this.words[i]=carry,this.length++;return this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this.strip();var res;if(this.length>1)res=1;else{if(negative)num=-num;assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num?0:w<num?-1:1}if(this.negative!==0)return-res|0;return res},BN.prototype.cmp=function(num){if(this.negative!==0&&num.negative===0)return-1;if(this.negative===0&&num.negative!==0)return 1;var res=this.ucmp(num);if(this.negative!==0)return-res|0;return res},BN.prototype.ucmp=function(num){if(this.length>num.length)return 1;if(this.length<num.length)return-1;var res=0;for(var i=this.length-1;i>=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a===b)continue;if(a<b)res=-1;else if(a>b)res=1;break}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen<this.n?-1:r.ucmp(this.p);if(cmp===0)r.words[0]=0,r.length=1;else if(cmp>0)r.isub(this.p);else if(r.strip!==void 0)r.strip();else r._strip();return r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){var mask=4194303,outLen=Math.min(input.length,9);for(var i=0;i<outLen;i++)output.words[i]=input.words[i];if(output.length=outLen,input.length<=9){input.words[0]=0,input.length=1;return}var prev=input.words[9];output.words[output.length++]=prev&mask;for(i=10;i<input.length;i++){var next=input.words[i]|0;input.words[i-10]=(next&mask)<<4|prev>>>22,prev=next}if(prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10)input.length-=10;else input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;var lo=0;for(var i=0;i<num.length;i++){var w=num.words[i]|0;lo+=w*977,num.words[i]=lo&67108863,lo=w*64+(lo/67108864|0)}if(num.words[num.length-1]===0){if(num.length--,num.words[num.length-1]===0)num.length--}return num};function P224(){MPrime.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}inherits(P224,MPrime);function P192(){MPrime.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}inherits(P192,MPrime);function P25519(){MPrime.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}inherits(P25519,MPrime),P25519.prototype.imulK=function(num){var carry=0;for(var i=0;i<num.length;i++){var hi=(num.words[i]|0)*19+carry,lo=hi&67108863;hi>>>=26,num.words[i]=lo,carry=hi}if(carry!==0)num.words[num.length++]=carry;return num},BN._prime=function(name){if(primes[name])return primes[name];var prime2;if(name===\"k256\")prime2=new K256;else if(name===\"p224\")prime2=new P224;else if(name===\"p192\")prime2=new P192;else if(name===\"p25519\")prime2=new P25519;else throw Error(\"Unknown prime \"+name);return primes[name]=prime2,prime2};function Red(m){if(typeof m===\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){if(this.prime)return this.prime.ireduce(a)._forceRed(this);return a.umod(this.m)._forceRed(this)},Red.prototype.neg=function(a){if(a.isZero())return a.clone();return this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);if(res.cmp(this.m)>=0)res.isub(this.m);return res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);if(res.cmp(this.m)>=0)res.isub(this.m);return res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);if(res.cmpn(0)<0)res.iadd(this.m);return res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);if(res.cmpn(0)<0)res.iadd(this.m);return res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}var q=this.m.subn(1),s=0;while(!q.isZero()&&q.andln(1)===0)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();z=new BN(2*z*z).toRed(this);while(this.pow(z,lpow).cmp(nOne)!==0)z.redIAdd(nOne);var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;while(t.cmp(one)!==0){var tmp=t;for(var i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i<m);var b=this.pow(c,new BN(1).iushln(m-i-1));r=r.redMul(b),c=b.redSqr(),t=t.redMul(c),m=i}return r},Red.prototype.invm=function(a){var inv=a._invmp(this.m);if(inv.negative!==0)return inv.negative=0,this.imod(inv).redNeg();else return this.imod(inv)},Red.prototype.pow=function(a,num){if(num.isZero())return new BN(1).toRed(this);if(num.cmpn(1)===0)return a.clone();var windowSize=4,wnd=Array(1<<windowSize);wnd[0]=new BN(1).toRed(this),wnd[1]=a;for(var i=2;i<wnd.length;i++)wnd[i]=this.mul(wnd[i-1],a);var res=wnd[0],current=0,currentLen=0,start=num.bitLength()%26;if(start===0)start=26;for(i=num.length-1;i>=0;i--){var word=num.words[i];for(var j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0])res=this.sqr(res);if(bit===0&¤t===0){currentLen=0;continue}if(current<<=1,current|=bit,currentLen++,currentLen!==windowSize&&(i!==0||j!==0))continue;res=this.mul(res,wnd[current]),currentLen=0,current=0}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){if(Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0)this.shift+=26-this.shift%26;this.r=new BN(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)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;if(u.cmp(this.m)>=0)res=u.isub(this.m);else if(u.cmpn(0)<0)res=u.iadd(this.m);return res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;if(u.cmp(this.m)>=0)res=u.isub(this.m);else if(u.cmpn(0)<0)res=u.iadd(this.m);return res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)});var require_minimalistic_assert=__commonJS((exports,module)=>{module.exports=assert;function assert(val,msg){if(!val)throw Error(msg||\"Assertion failed\")}assert.equal=function(l,r,msg){if(l!=r)throw Error(msg||\"Assertion failed: \"+l+\" != \"+r)}});var require_utils=__commonJS((exports)=>{var utils=exports;function toArray(msg,enc){if(Array.isArray(msg))return msg.slice();if(!msg)return[];var res=[];if(typeof msg!==\"string\"){for(var i=0;i<msg.length;i++)res[i]=msg[i]|0;return res}if(enc===\"hex\"){if(msg=msg.replace(/[^a-z0-9]+/ig,\"\"),msg.length%2!==0)msg=\"0\"+msg;for(var i=0;i<msg.length;i+=2)res.push(parseInt(msg[i]+msg[i+1],16))}else for(var i=0;i<msg.length;i++){var c=msg.charCodeAt(i),hi=c>>8,lo=c&255;if(hi)res.push(hi,lo);else res.push(lo)}return res}utils.toArray=toArray;function zero2(word){if(word.length===1)return\"0\"+word;else return word}utils.zero2=zero2;function toHex(msg){var res=\"\";for(var i=0;i<msg.length;i++)res+=zero2(msg[i].toString(16));return res}utils.toHex=toHex;utils.encode=function(arr,enc){if(enc===\"hex\")return toHex(arr);else return arr}});var require_utils2=__commonJS((exports)=>{var utils=exports,BN=require_bn(),minAssert=require_minimalistic_assert(),minUtils=require_utils();utils.assert=minAssert;utils.toArray=minUtils.toArray;utils.zero2=minUtils.zero2;utils.toHex=minUtils.toHex;utils.encode=minUtils.encode;function getNAF(num,w,bits){var naf=Array(Math.max(num.bitLength(),bits)+1),i;for(i=0;i<naf.length;i+=1)naf[i]=0;var ws=1<<w+1,k=num.clone();for(i=0;i<naf.length;i++){var z,mod=k.andln(ws-1);if(k.isOdd()){if(mod>(ws>>1)-1)z=(ws>>1)-mod;else z=mod;k.isubn(z)}else z=0;naf[i]=z,k.iushrn(1)}return naf}utils.getNAF=getNAF;function getJSF(k1,k2){var jsf=[[],[]];k1=k1.clone(),k2=k2.clone();var d1=0,d2=0,m8;while(k1.cmpn(-d1)>0||k2.cmpn(-d2)>0){var m14=k1.andln(3)+d1&3,m24=k2.andln(3)+d2&3;if(m14===3)m14=-1;if(m24===3)m24=-1;var u1;if((m14&1)===0)u1=0;else if(m8=k1.andln(7)+d1&7,(m8===3||m8===5)&&m24===2)u1=-m14;else u1=m14;jsf[0].push(u1);var u2;if((m24&1)===0)u2=0;else if(m8=k2.andln(7)+d2&7,(m8===3||m8===5)&&m14===2)u2=-m24;else u2=m24;if(jsf[1].push(u2),2*d1===u1+1)d1=1-d1;if(2*d2===u2+1)d2=1-d2;k1.iushrn(1),k2.iushrn(1)}return jsf}utils.getJSF=getJSF;function cachedProperty(obj,name,computer){var key=\"_\"+name;obj.prototype[name]=function(){return this[key]!==void 0?this[key]:this[key]=computer.call(this)}}utils.cachedProperty=cachedProperty;function parseBytes(bytes){return typeof bytes===\"string\"?utils.toArray(bytes,\"hex\"):bytes}utils.parseBytes=parseBytes;function intFromLE(bytes){return new BN(bytes,\"hex\",\"le\")}utils.intFromLE=intFromLE});var require_brorand=__commonJS((exports,module)=>{var r;module.exports=function(len){if(!r)r=new Rand(null);return r.generate(len)};function Rand(rand){this.rand=rand}module.exports.Rand=Rand;Rand.prototype.generate=function(len){return this._rand(len)};Rand.prototype._rand=function(n){if(this.rand.getBytes)return this.rand.getBytes(n);var res=new Uint8Array(n);for(var i=0;i<res.length;i++)res[i]=this.rand.getByte();return res};if(typeof self===\"object\"){if(self.crypto&&self.crypto.getRandomValues)Rand.prototype._rand=function(n){var arr=new Uint8Array(n);return self.crypto.getRandomValues(arr),arr};else if(self.msCrypto&&self.msCrypto.getRandomValues)Rand.prototype._rand=function(n){var arr=new Uint8Array(n);return self.msCrypto.getRandomValues(arr),arr};else if(typeof window===\"object\")Rand.prototype._rand=function(){throw Error(\"Not implemented yet\")}}else try{if(crypto2=require(\"crypto\"),typeof crypto2.randomBytes!==\"function\")throw Error(\"Not supported\");Rand.prototype._rand=function(n){return crypto2.randomBytes(n)}}catch(e){}var crypto2});var require_base=__commonJS((exports,module)=>{var BN=require_bn(),utils=require_utils2(),getNAF=utils.getNAF,getJSF=utils.getJSF,assert=utils.assert;function BaseCurve(type,conf){this.type=type,this.p=new BN(conf.p,16),this.red=conf.prime?BN.red(conf.prime):BN.mont(this.p),this.zero=new BN(0).toRed(this.red),this.one=new BN(1).toRed(this.red),this.two=new BN(2).toRed(this.red),this.n=conf.n&&new BN(conf.n,16),this.g=conf.g&&this.pointFromJSON(conf.g,conf.gRed),this._wnafT1=[,,,,],this._wnafT2=[,,,,],this._wnafT3=[,,,,],this._wnafT4=[,,,,],this._bitLength=this.n?this.n.bitLength():0;var adjustCount=this.n&&this.p.div(this.n);if(!adjustCount||adjustCount.cmpn(100)>0)this.redN=null;else this._maxwellTrick=!0,this.redN=this.n.toRed(this.red)}module.exports=BaseCurve;BaseCurve.prototype.point=function(){throw Error(\"Not implemented\")};BaseCurve.prototype.validate=function(){throw Error(\"Not implemented\")};BaseCurve.prototype._fixedNafMul=function(p,k){assert(p.precomputed);var doubles=p._getDoubles(),naf=getNAF(k,1,this._bitLength),I=(1<<doubles.step+1)-(doubles.step%2===0?2:1);I/=3;var repr=[],j,nafW;for(j=0;j<naf.length;j+=doubles.step){nafW=0;for(var l=j+doubles.step-1;l>=j;l--)nafW=(nafW<<1)+naf[l];repr.push(nafW)}var a=this.jpoint(null,null,null),b=this.jpoint(null,null,null);for(var i=I;i>0;i--){for(j=0;j<repr.length;j++)if(nafW=repr[j],nafW===i)b=b.mixedAdd(doubles.points[j]);else if(nafW===-i)b=b.mixedAdd(doubles.points[j].neg());a=a.add(b)}return a.toP()};BaseCurve.prototype._wnafMul=function(p,k){var w=4,nafPoints=p._getNAFPoints(w);w=nafPoints.wnd;var wnd=nafPoints.points,naf=getNAF(k,w,this._bitLength),acc=this.jpoint(null,null,null);for(var i=naf.length-1;i>=0;i--){for(var l=0;i>=0&&naf[i]===0;i--)l++;if(i>=0)l++;if(acc=acc.dblp(l),i<0)break;var z=naf[i];if(assert(z!==0),p.type===\"affine\")if(z>0)acc=acc.mixedAdd(wnd[z-1>>1]);else acc=acc.mixedAdd(wnd[-z-1>>1].neg());else if(z>0)acc=acc.add(wnd[z-1>>1]);else acc=acc.add(wnd[-z-1>>1].neg())}return p.type===\"affine\"?acc.toP():acc};BaseCurve.prototype._wnafMulAdd=function(defW,points,coeffs,len,jacobianResult){var wndWidth=this._wnafT1,wnd=this._wnafT2,naf=this._wnafT3,max=0,i,j,p;for(i=0;i<len;i++){p=points[i];var nafPoints=p._getNAFPoints(defW);wndWidth[i]=nafPoints.wnd,wnd[i]=nafPoints.points}for(i=len-1;i>=1;i-=2){var a=i-1,b=i;if(wndWidth[a]!==1||wndWidth[b]!==1){naf[a]=getNAF(coeffs[a],wndWidth[a],this._bitLength),naf[b]=getNAF(coeffs[b],wndWidth[b],this._bitLength),max=Math.max(naf[a].length,max),max=Math.max(naf[b].length,max);continue}var comb=[points[a],null,null,points[b]];if(points[a].y.cmp(points[b].y)===0)comb[1]=points[a].add(points[b]),comb[2]=points[a].toJ().mixedAdd(points[b].neg());else if(points[a].y.cmp(points[b].y.redNeg())===0)comb[1]=points[a].toJ().mixedAdd(points[b]),comb[2]=points[a].add(points[b].neg());else comb[1]=points[a].toJ().mixedAdd(points[b]),comb[2]=points[a].toJ().mixedAdd(points[b].neg());var index=[-3,-1,-5,-7,0,7,5,1,3],jsf=getJSF(coeffs[a],coeffs[b]);max=Math.max(jsf[0].length,max),naf[a]=Array(max),naf[b]=Array(max);for(j=0;j<max;j++){var ja=jsf[0][j]|0,jb=jsf[1][j]|0;naf[a][j]=index[(ja+1)*3+(jb+1)],naf[b][j]=0,wnd[a]=comb}}var acc=this.jpoint(null,null,null),tmp=this._wnafT4;for(i=max;i>=0;i--){var k=0;while(i>=0){var zero=!0;for(j=0;j<len;j++)if(tmp[j]=naf[j][i]|0,tmp[j]!==0)zero=!1;if(!zero)break;k++,i--}if(i>=0)k++;if(acc=acc.dblp(k),i<0)break;for(j=0;j<len;j++){var z=tmp[j];if(z===0)continue;else if(z>0)p=wnd[j][z-1>>1];else if(z<0)p=wnd[j][-z-1>>1].neg();if(p.type===\"affine\")acc=acc.mixedAdd(p);else acc=acc.add(p)}}for(i=0;i<len;i++)wnd[i]=null;if(jacobianResult)return acc;else return acc.toP()};function BasePoint(curve,type){this.curve=curve,this.type=type,this.precomputed=null}BaseCurve.BasePoint=BasePoint;BasePoint.prototype.eq=function(){throw Error(\"Not implemented\")};BasePoint.prototype.validate=function(){return this.curve.validate(this)};BaseCurve.prototype.decodePoint=function(bytes,enc){bytes=utils.toArray(bytes,enc);var len=this.p.byteLength();if((bytes[0]===4||bytes[0]===6||bytes[0]===7)&&bytes.length-1===2*len){if(bytes[0]===6)assert(bytes[bytes.length-1]%2===0);else if(bytes[0]===7)assert(bytes[bytes.length-1]%2===1);var res=this.point(bytes.slice(1,1+len),bytes.slice(1+len,1+2*len));return res}else if((bytes[0]===2||bytes[0]===3)&&bytes.length-1===len)return this.pointFromX(bytes.slice(1,1+len),bytes[0]===3);throw Error(\"Unknown point format\")};BasePoint.prototype.encodeCompressed=function(enc){return this.encode(enc,!0)};BasePoint.prototype._encode=function(compact){var len=this.curve.p.byteLength(),x=this.getX().toArray(\"be\",len);if(compact)return[this.getY().isEven()?2:3].concat(x);return[4].concat(x,this.getY().toArray(\"be\",len))};BasePoint.prototype.encode=function(enc,compact){return utils.encode(this._encode(compact),enc)};BasePoint.prototype.precompute=function(power){if(this.precomputed)return this;var precomputed={doubles:null,naf:null,beta:null};return precomputed.naf=this._getNAFPoints(8),precomputed.doubles=this._getDoubles(4,power),precomputed.beta=this._getBeta(),this.precomputed=precomputed,this};BasePoint.prototype._hasDoubles=function(k){if(!this.precomputed)return!1;var doubles=this.precomputed.doubles;if(!doubles)return!1;return doubles.points.length>=Math.ceil((k.bitLength()+1)/doubles.step)};BasePoint.prototype._getDoubles=function(step,power){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;var doubles=[this],acc=this;for(var i=0;i<power;i+=step){for(var j=0;j<step;j++)acc=acc.dbl();doubles.push(acc)}return{step,points:doubles}};BasePoint.prototype._getNAFPoints=function(wnd){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;var res=[this],max=(1<<wnd)-1,dbl=max===1?null:this.dbl();for(var i=1;i<max;i++)res[i]=res[i-1].add(dbl);return{wnd,points:res}};BasePoint.prototype._getBeta=function(){return null};BasePoint.prototype.dblp=function(k){var r=this;for(var i=0;i<k;i++)r=r.dbl();return r}});var require_inherits_browser=__commonJS((exports,module)=>{if(typeof Object.create===\"function\")module.exports=function(ctor,superCtor){if(superCtor)ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})};else module.exports=function(ctor,superCtor){if(superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}}});var require_inherits=__commonJS((exports,module)=>{try{if(util=require(\"util\"),typeof util.inherits!==\"function\")throw\"\";module.exports=util.inherits}catch(e){module.exports=require_inherits_browser()}var util});var require_short=__commonJS((exports,module)=>{var utils=require_utils2(),BN=require_bn(),inherits=require_inherits(),Base=require_base(),assert=utils.assert;function ShortCurve(conf){Base.call(this,\"short\",conf),this.a=new BN(conf.a,16).toRed(this.red),this.b=new BN(conf.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=this.a.fromRed().cmpn(0)===0,this.threeA=this.a.fromRed().sub(this.p).cmpn(-3)===0,this.endo=this._getEndomorphism(conf),this._endoWnafT1=[,,,,],this._endoWnafT2=[,,,,]}inherits(ShortCurve,Base);module.exports=ShortCurve;ShortCurve.prototype._getEndomorphism=function(conf){if(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)return;var beta,lambda;if(conf.beta)beta=new BN(conf.beta,16).toRed(this.red);else{var betas=this._getEndoRoots(this.p);beta=betas[0].cmp(betas[1])<0?betas[0]:betas[1],beta=beta.toRed(this.red)}if(conf.lambda)lambda=new BN(conf.lambda,16);else{var lambdas=this._getEndoRoots(this.n);if(this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta))===0)lambda=lambdas[0];else lambda=lambdas[1],assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta))===0)}var basis;if(conf.basis)basis=conf.basis.map(function(vec){return{a:new BN(vec.a,16),b:new BN(vec.b,16)}});else basis=this._getEndoBasis(lambda);return{beta,lambda,basis}};ShortCurve.prototype._getEndoRoots=function(num){var red=num===this.p?this.red:BN.mont(num),tinv=new BN(2).toRed(red).redInvm(),ntinv=tinv.redNeg(),s=new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv),l1=ntinv.redAdd(s).fromRed(),l2=ntinv.redSub(s).fromRed();return[l1,l2]};ShortCurve.prototype._getEndoBasis=function(lambda){var aprxSqrt=this.n.ushrn(Math.floor(this.n.bitLength()/2)),u=lambda,v=this.n.clone(),x1=new BN(1),y1=new BN(0),x2=new BN(0),y2=new BN(1),a0,b0,a1,b1,a2,b2,prevR,i=0,r,x;while(u.cmpn(0)!==0){var q=v.div(u);r=v.sub(q.mul(u)),x=x2.sub(q.mul(x1));var y=y2.sub(q.mul(y1));if(!a1&&r.cmp(aprxSqrt)<0)a0=prevR.neg(),b0=x1,a1=r.neg(),b1=x;else if(a1&&++i===2)break;prevR=r,v=u,u=r,x2=x1,x1=x,y2=y1,y1=y}a2=r.neg(),b2=x;var len1=a1.sqr().add(b1.sqr()),len2=a2.sqr().add(b2.sqr());if(len2.cmp(len1)>=0)a2=a0,b2=b0;if(a1.negative)a1=a1.neg(),b1=b1.neg();if(a2.negative)a2=a2.neg(),b2=b2.neg();return[{a:a1,b:b1},{a:a2,b:b2}]};ShortCurve.prototype._endoSplit=function(k){var basis=this.endo.basis,v1=basis[0],v2=basis[1],c1=v2.b.mul(k).divRound(this.n),c2=v1.b.neg().mul(k).divRound(this.n),p1=c1.mul(v1.a),p2=c2.mul(v2.a),q1=c1.mul(v1.b),q2=c2.mul(v2.b),k1=k.sub(p1).sub(p2),k2=q1.add(q2).neg();return{k1,k2}};ShortCurve.prototype.pointFromX=function(x,odd){if(x=new BN(x,16),!x.red)x=x.toRed(this.red);var y2=x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b),y=y2.redSqrt();if(y.redSqr().redSub(y2).cmp(this.zero)!==0)throw Error(\"invalid point\");var isOdd=y.fromRed().isOdd();if(odd&&!isOdd||!odd&&isOdd)y=y.redNeg();return this.point(x,y)};ShortCurve.prototype.validate=function(point){if(point.inf)return!0;var{x,y}=point,ax=this.a.redMul(x),rhs=x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);return y.redSqr().redISub(rhs).cmpn(0)===0};ShortCurve.prototype._endoWnafMulAdd=function(points,coeffs,jacobianResult){var npoints=this._endoWnafT1,ncoeffs=this._endoWnafT2;for(var i=0;i<points.length;i++){var split=this._endoSplit(coeffs[i]),p=points[i],beta=p._getBeta();if(split.k1.negative)split.k1.ineg(),p=p.neg(!0);if(split.k2.negative)split.k2.ineg(),beta=beta.neg(!0);npoints[i*2]=p,npoints[i*2+1]=beta,ncoeffs[i*2]=split.k1,ncoeffs[i*2+1]=split.k2}var res=this._wnafMulAdd(1,npoints,ncoeffs,i*2,jacobianResult);for(var j=0;j<i*2;j++)npoints[j]=null,ncoeffs[j]=null;return res};function Point(curve,x,y,isRed){if(Base.BasePoint.call(this,curve,\"affine\"),x===null&&y===null)this.x=null,this.y=null,this.inf=!0;else{if(this.x=new BN(x,16),this.y=new BN(y,16),isRed)this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red);if(!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.y.red)this.y=this.y.toRed(this.curve.red);this.inf=!1}}inherits(Point,Base.BasePoint);ShortCurve.prototype.point=function(x,y,isRed){return new Point(this,x,y,isRed)};ShortCurve.prototype.pointFromJSON=function(obj,red){return Point.fromJSON(this,obj,red)};Point.prototype._getBeta=function(){if(!this.curve.endo)return;var pre=this.precomputed;if(pre&&pre.beta)return pre.beta;var beta=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(pre){var curve=this.curve,endoMul=function(p){return curve.point(p.x.redMul(curve.endo.beta),p.y)};pre.beta=beta,beta.precomputed={beta:null,naf:pre.naf&&{wnd:pre.naf.wnd,points:pre.naf.points.map(endoMul)},doubles:pre.doubles&&{step:pre.doubles.step,points:pre.doubles.points.map(endoMul)}}}return beta};Point.prototype.toJSON=function(){if(!this.precomputed)return[this.x,this.y];return[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)}}]};Point.fromJSON=function(curve,obj,red){if(typeof obj===\"string\")obj=JSON.parse(obj);var res=curve.point(obj[0],obj[1],red);if(!obj[2])return res;function obj2point(obj2){return curve.point(obj2[0],obj2[1],red)}var pre=obj[2];return res.precomputed={beta:null,doubles:pre.doubles&&{step:pre.doubles.step,points:[res].concat(pre.doubles.points.map(obj2point))},naf:pre.naf&&{wnd:pre.naf.wnd,points:[res].concat(pre.naf.points.map(obj2point))}},res};Point.prototype.inspect=function(){if(this.isInfinity())return\"<EC Point Infinity>\";return\"<EC Point x: \"+this.x.fromRed().toString(16,2)+\" y: \"+this.y.fromRed().toString(16,2)+\">\"};Point.prototype.isInfinity=function(){return this.inf};Point.prototype.add=function(p){if(this.inf)return p;if(p.inf)return this;if(this.eq(p))return this.dbl();if(this.neg().eq(p))return this.curve.point(null,null);if(this.x.cmp(p.x)===0)return this.curve.point(null,null);var c=this.y.redSub(p.y);if(c.cmpn(0)!==0)c=c.redMul(this.x.redSub(p.x).redInvm());var nx=c.redSqr().redISub(this.x).redISub(p.x),ny=c.redMul(this.x.redSub(nx)).redISub(this.y);return this.curve.point(nx,ny)};Point.prototype.dbl=function(){if(this.inf)return this;var ys1=this.y.redAdd(this.y);if(ys1.cmpn(0)===0)return this.curve.point(null,null);var a=this.curve.a,x2=this.x.redSqr(),dyinv=ys1.redInvm(),c=x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv),nx=c.redSqr().redISub(this.x.redAdd(this.x)),ny=c.redMul(this.x.redSub(nx)).redISub(this.y);return this.curve.point(nx,ny)};Point.prototype.getX=function(){return this.x.fromRed()};Point.prototype.getY=function(){return this.y.fromRed()};Point.prototype.mul=function(k){if(k=new BN(k,16),this.isInfinity())return this;else if(this._hasDoubles(k))return this.curve._fixedNafMul(this,k);else if(this.curve.endo)return this.curve._endoWnafMulAdd([this],[k]);else return this.curve._wnafMul(this,k)};Point.prototype.mulAdd=function(k1,p2,k2){var points=[this,p2],coeffs=[k1,k2];if(this.curve.endo)return this.curve._endoWnafMulAdd(points,coeffs);else return this.curve._wnafMulAdd(1,points,coeffs,2)};Point.prototype.jmulAdd=function(k1,p2,k2){var points=[this,p2],coeffs=[k1,k2];if(this.curve.endo)return this.curve._endoWnafMulAdd(points,coeffs,!0);else return this.curve._wnafMulAdd(1,points,coeffs,2,!0)};Point.prototype.eq=function(p){return this===p||this.inf===p.inf&&(this.inf||this.x.cmp(p.x)===0&&this.y.cmp(p.y)===0)};Point.prototype.neg=function(_precompute){if(this.inf)return this;var res=this.curve.point(this.x,this.y.redNeg());if(_precompute&&this.precomputed){var pre=this.precomputed,negate=function(p){return p.neg()};res.precomputed={naf:pre.naf&&{wnd:pre.naf.wnd,points:pre.naf.points.map(negate)},doubles:pre.doubles&&{step:pre.doubles.step,points:pre.doubles.points.map(negate)}}}return res};Point.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var res=this.curve.jpoint(this.x,this.y,this.curve.one);return res};function JPoint(curve,x,y,z){if(Base.BasePoint.call(this,curve,\"jacobian\"),x===null&&y===null&&z===null)this.x=this.curve.one,this.y=this.curve.one,this.z=new BN(0);else this.x=new BN(x,16),this.y=new BN(y,16),this.z=new BN(z,16);if(!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.y.red)this.y=this.y.toRed(this.curve.red);if(!this.z.red)this.z=this.z.toRed(this.curve.red);this.zOne=this.z===this.curve.one}inherits(JPoint,Base.BasePoint);ShortCurve.prototype.jpoint=function(x,y,z){return new JPoint(this,x,y,z)};JPoint.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var zinv=this.z.redInvm(),zinv2=zinv.redSqr(),ax=this.x.redMul(zinv2),ay=this.y.redMul(zinv2).redMul(zinv);return this.curve.point(ax,ay)};JPoint.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)};JPoint.prototype.add=function(p){if(this.isInfinity())return p;if(p.isInfinity())return this;var pz2=p.z.redSqr(),z2=this.z.redSqr(),u1=this.x.redMul(pz2),u2=p.x.redMul(z2),s1=this.y.redMul(pz2.redMul(p.z)),s2=p.y.redMul(z2.redMul(this.z)),h=u1.redSub(u2),r=s1.redSub(s2);if(h.cmpn(0)===0)if(r.cmpn(0)!==0)return this.curve.jpoint(null,null,null);else return this.dbl();var h2=h.redSqr(),h3=h2.redMul(h),v=u1.redMul(h2),nx=r.redSqr().redIAdd(h3).redISub(v).redISub(v),ny=r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)),nz=this.z.redMul(p.z).redMul(h);return this.curve.jpoint(nx,ny,nz)};JPoint.prototype.mixedAdd=function(p){if(this.isInfinity())return p.toJ();if(p.isInfinity())return this;var z2=this.z.redSqr(),u1=this.x,u2=p.x.redMul(z2),s1=this.y,s2=p.y.redMul(z2).redMul(this.z),h=u1.redSub(u2),r=s1.redSub(s2);if(h.cmpn(0)===0)if(r.cmpn(0)!==0)return this.curve.jpoint(null,null,null);else return this.dbl();var h2=h.redSqr(),h3=h2.redMul(h),v=u1.redMul(h2),nx=r.redSqr().redIAdd(h3).redISub(v).redISub(v),ny=r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)),nz=this.z.redMul(h);return this.curve.jpoint(nx,ny,nz)};JPoint.prototype.dblp=function(pow){if(pow===0)return this;if(this.isInfinity())return this;if(!pow)return this.dbl();var i;if(this.curve.zeroA||this.curve.threeA){var r=this;for(i=0;i<pow;i++)r=r.dbl();return r}var a=this.curve.a,tinv=this.curve.tinv,jx=this.x,jy=this.y,jz=this.z,jz4=jz.redSqr().redSqr(),jyd=jy.redAdd(jy);for(i=0;i<pow;i++){var jx2=jx.redSqr(),jyd2=jyd.redSqr(),jyd4=jyd2.redSqr(),c=jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)),t1=jx.redMul(jyd2),nx=c.redSqr().redISub(t1.redAdd(t1)),t2=t1.redISub(nx),dny=c.redMul(t2);dny=dny.redIAdd(dny).redISub(jyd4);var nz=jyd.redMul(jz);if(i+1<pow)jz4=jz4.redMul(jyd4);jx=nx,jz=nz,jyd=dny}return this.curve.jpoint(jx,jyd.redMul(tinv),jz)};JPoint.prototype.dbl=function(){if(this.isInfinity())return this;if(this.curve.zeroA)return this._zeroDbl();else if(this.curve.threeA)return this._threeDbl();else return this._dbl()};JPoint.prototype._zeroDbl=function(){var nx,ny,nz;if(this.zOne){var xx=this.x.redSqr(),yy=this.y.redSqr(),yyyy=yy.redSqr(),s=this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);s=s.redIAdd(s);var m=xx.redAdd(xx).redIAdd(xx),t=m.redSqr().redISub(s).redISub(s),yyyy8=yyyy.redIAdd(yyyy);yyyy8=yyyy8.redIAdd(yyyy8),yyyy8=yyyy8.redIAdd(yyyy8),nx=t,ny=m.redMul(s.redISub(t)).redISub(yyyy8),nz=this.y.redAdd(this.y)}else{var a=this.x.redSqr(),b=this.y.redSqr(),c=b.redSqr(),d=this.x.redAdd(b).redSqr().redISub(a).redISub(c);d=d.redIAdd(d);var e=a.redAdd(a).redIAdd(a),f=e.redSqr(),c8=c.redIAdd(c);c8=c8.redIAdd(c8),c8=c8.redIAdd(c8),nx=f.redISub(d).redISub(d),ny=e.redMul(d.redISub(nx)).redISub(c8),nz=this.y.redMul(this.z),nz=nz.redIAdd(nz)}return this.curve.jpoint(nx,ny,nz)};JPoint.prototype._threeDbl=function(){var nx,ny,nz;if(this.zOne){var xx=this.x.redSqr(),yy=this.y.redSqr(),yyyy=yy.redSqr(),s=this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);s=s.redIAdd(s);var m=xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a),t=m.redSqr().redISub(s).redISub(s);nx=t;var yyyy8=yyyy.redIAdd(yyyy);yyyy8=yyyy8.redIAdd(yyyy8),yyyy8=yyyy8.redIAdd(yyyy8),ny=m.redMul(s.redISub(t)).redISub(yyyy8),nz=this.y.redAdd(this.y)}else{var delta=this.z.redSqr(),gamma=this.y.redSqr(),beta=this.x.redMul(gamma),alpha=this.x.redSub(delta).redMul(this.x.redAdd(delta));alpha=alpha.redAdd(alpha).redIAdd(alpha);var beta4=beta.redIAdd(beta);beta4=beta4.redIAdd(beta4);var beta8=beta4.redAdd(beta4);nx=alpha.redSqr().redISub(beta8),nz=this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);var ggamma8=gamma.redSqr();ggamma8=ggamma8.redIAdd(ggamma8),ggamma8=ggamma8.redIAdd(ggamma8),ggamma8=ggamma8.redIAdd(ggamma8),ny=alpha.redMul(beta4.redISub(nx)).redISub(ggamma8)}return this.curve.jpoint(nx,ny,nz)};JPoint.prototype._dbl=function(){var a=this.curve.a,jx=this.x,jy=this.y,jz=this.z,jz4=jz.redSqr().redSqr(),jx2=jx.redSqr(),jy2=jy.redSqr(),c=jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)),jxd4=jx.redAdd(jx);jxd4=jxd4.redIAdd(jxd4);var t1=jxd4.redMul(jy2),nx=c.redSqr().redISub(t1.redAdd(t1)),t2=t1.redISub(nx),jyd8=jy2.redSqr();jyd8=jyd8.redIAdd(jyd8),jyd8=jyd8.redIAdd(jyd8),jyd8=jyd8.redIAdd(jyd8);var ny=c.redMul(t2).redISub(jyd8),nz=jy.redAdd(jy).redMul(jz);return this.curve.jpoint(nx,ny,nz)};JPoint.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var xx=this.x.redSqr(),yy=this.y.redSqr(),zz=this.z.redSqr(),yyyy=yy.redSqr(),m=xx.redAdd(xx).redIAdd(xx),mm=m.redSqr(),e=this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);e=e.redIAdd(e),e=e.redAdd(e).redIAdd(e),e=e.redISub(mm);var ee=e.redSqr(),t=yyyy.redIAdd(yyyy);t=t.redIAdd(t),t=t.redIAdd(t),t=t.redIAdd(t);var u=m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t),yyu4=yy.redMul(u);yyu4=yyu4.redIAdd(yyu4),yyu4=yyu4.redIAdd(yyu4);var nx=this.x.redMul(ee).redISub(yyu4);nx=nx.redIAdd(nx),nx=nx.redIAdd(nx);var ny=this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));ny=ny.redIAdd(ny),ny=ny.redIAdd(ny),ny=ny.redIAdd(ny);var nz=this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);return this.curve.jpoint(nx,ny,nz)};JPoint.prototype.mul=function(k,kbase){return k=new BN(k,kbase),this.curve._wnafMul(this,k)};JPoint.prototype.eq=function(p){if(p.type===\"affine\")return this.eq(p.toJ());if(this===p)return!0;var z2=this.z.redSqr(),pz2=p.z.redSqr();if(this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0)!==0)return!1;var z3=z2.redMul(this.z),pz3=pz2.redMul(p.z);return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0)===0};JPoint.prototype.eqXToP=function(x){var zs=this.z.redSqr(),rx=x.toRed(this.curve.red).redMul(zs);if(this.x.cmp(rx)===0)return!0;var xc=x.clone(),t=this.curve.redN.redMul(zs);for(;;){if(xc.iadd(this.curve.n),xc.cmp(this.curve.p)>=0)return!1;if(rx.redIAdd(t),this.x.cmp(rx)===0)return!0}};JPoint.prototype.inspect=function(){if(this.isInfinity())return\"<EC JPoint Infinity>\";return\"<EC JPoint x: \"+this.x.toString(16,2)+\" y: \"+this.y.toString(16,2)+\" z: \"+this.z.toString(16,2)+\">\"};JPoint.prototype.isInfinity=function(){return this.z.cmpn(0)===0}});var require_mont=__commonJS((exports,module)=>{var BN=require_bn(),inherits=require_inherits(),Base=require_base(),utils=require_utils2();function MontCurve(conf){Base.call(this,\"mont\",conf),this.a=new BN(conf.a,16).toRed(this.red),this.b=new BN(conf.b,16).toRed(this.red),this.i4=new BN(4).toRed(this.red).redInvm(),this.two=new BN(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}inherits(MontCurve,Base);module.exports=MontCurve;MontCurve.prototype.validate=function(point){var x=point.normalize().x,x2=x.redSqr(),rhs=x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x),y=rhs.redSqrt();return y.redSqr().cmp(rhs)===0};function Point(curve,x,z){if(Base.BasePoint.call(this,curve,\"projective\"),x===null&&z===null)this.x=this.curve.one,this.z=this.curve.zero;else{if(this.x=new BN(x,16),this.z=new BN(z,16),!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.z.red)this.z=this.z.toRed(this.curve.red)}}inherits(Point,Base.BasePoint);MontCurve.prototype.decodePoint=function(bytes,enc){return this.point(utils.toArray(bytes,enc),1)};MontCurve.prototype.point=function(x,z){return new Point(this,x,z)};MontCurve.prototype.pointFromJSON=function(obj){return Point.fromJSON(this,obj)};Point.prototype.precompute=function(){};Point.prototype._encode=function(){return this.getX().toArray(\"be\",this.curve.p.byteLength())};Point.fromJSON=function(curve,obj){return new Point(curve,obj[0],obj[1]||curve.one)};Point.prototype.inspect=function(){if(this.isInfinity())return\"<EC Point Infinity>\";return\"<EC Point x: \"+this.x.fromRed().toString(16,2)+\" z: \"+this.z.fromRed().toString(16,2)+\">\"};Point.prototype.isInfinity=function(){return this.z.cmpn(0)===0};Point.prototype.dbl=function(){var a=this.x.redAdd(this.z),aa=a.redSqr(),b=this.x.redSub(this.z),bb=b.redSqr(),c=aa.redSub(bb),nx=aa.redMul(bb),nz=c.redMul(bb.redAdd(this.curve.a24.redMul(c)));return this.curve.point(nx,nz)};Point.prototype.add=function(){throw Error(\"Not supported on Montgomery curve\")};Point.prototype.diffAdd=function(p,diff){var a=this.x.redAdd(this.z),b=this.x.redSub(this.z),c=p.x.redAdd(p.z),d=p.x.redSub(p.z),da=d.redMul(a),cb=c.redMul(b),nx=diff.z.redMul(da.redAdd(cb).redSqr()),nz=diff.x.redMul(da.redISub(cb).redSqr());return this.curve.point(nx,nz)};Point.prototype.mul=function(k){var t=k.clone(),a=this,b=this.curve.point(null,null),c=this;for(var bits=[];t.cmpn(0)!==0;t.iushrn(1))bits.push(t.andln(1));for(var i=bits.length-1;i>=0;i--)if(bits[i]===0)a=a.diffAdd(b,c),b=b.dbl();else b=a.diffAdd(b,c),a=a.dbl();return b};Point.prototype.mulAdd=function(){throw Error(\"Not supported on Montgomery curve\")};Point.prototype.jumlAdd=function(){throw Error(\"Not supported on Montgomery curve\")};Point.prototype.eq=function(other){return this.getX().cmp(other.getX())===0};Point.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this};Point.prototype.getX=function(){return this.normalize(),this.x.fromRed()}});var require_edwards=__commonJS((exports,module)=>{var utils=require_utils2(),BN=require_bn(),inherits=require_inherits(),Base=require_base(),assert=utils.assert;function EdwardsCurve(conf){this.twisted=(conf.a|0)!==1,this.mOneA=this.twisted&&(conf.a|0)===-1,this.extended=this.mOneA,Base.call(this,\"edwards\",conf),this.a=new BN(conf.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new BN(conf.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new BN(conf.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),assert(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(conf.c|0)===1}inherits(EdwardsCurve,Base);module.exports=EdwardsCurve;EdwardsCurve.prototype._mulA=function(num){if(this.mOneA)return num.redNeg();else return this.a.redMul(num)};EdwardsCurve.prototype._mulC=function(num){if(this.oneC)return num;else return this.c.redMul(num)};EdwardsCurve.prototype.jpoint=function(x,y,z,t){return this.point(x,y,z,t)};EdwardsCurve.prototype.pointFromX=function(x,odd){if(x=new BN(x,16),!x.red)x=x.toRed(this.red);var x2=x.redSqr(),rhs=this.c2.redSub(this.a.redMul(x2)),lhs=this.one.redSub(this.c2.redMul(this.d).redMul(x2)),y2=rhs.redMul(lhs.redInvm()),y=y2.redSqrt();if(y.redSqr().redSub(y2).cmp(this.zero)!==0)throw Error(\"invalid point\");var isOdd=y.fromRed().isOdd();if(odd&&!isOdd||!odd&&isOdd)y=y.redNeg();return this.point(x,y)};EdwardsCurve.prototype.pointFromY=function(y,odd){if(y=new BN(y,16),!y.red)y=y.toRed(this.red);var y2=y.redSqr(),lhs=y2.redSub(this.c2),rhs=y2.redMul(this.d).redMul(this.c2).redSub(this.a),x2=lhs.redMul(rhs.redInvm());if(x2.cmp(this.zero)===0)if(odd)throw Error(\"invalid point\");else return this.point(this.zero,y);var x=x2.redSqrt();if(x.redSqr().redSub(x2).cmp(this.zero)!==0)throw Error(\"invalid point\");if(x.fromRed().isOdd()!==odd)x=x.redNeg();return this.point(x,y)};EdwardsCurve.prototype.validate=function(point){if(point.isInfinity())return!0;point.normalize();var x2=point.x.redSqr(),y2=point.y.redSqr(),lhs=x2.redMul(this.a).redAdd(y2),rhs=this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));return lhs.cmp(rhs)===0};function Point(curve,x,y,z,t){if(Base.BasePoint.call(this,curve,\"projective\"),x===null&&y===null&&z===null)this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0;else{if(this.x=new BN(x,16),this.y=new BN(y,16),this.z=z?new BN(z,16):this.curve.one,this.t=t&&new BN(t,16),!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.y.red)this.y=this.y.toRed(this.curve.red);if(!this.z.red)this.z=this.z.toRed(this.curve.red);if(this.t&&!this.t.red)this.t=this.t.toRed(this.curve.red);if(this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t){if(this.t=this.x.redMul(this.y),!this.zOne)this.t=this.t.redMul(this.z.redInvm())}}}inherits(Point,Base.BasePoint);EdwardsCurve.prototype.pointFromJSON=function(obj){return Point.fromJSON(this,obj)};EdwardsCurve.prototype.point=function(x,y,z,t){return new Point(this,x,y,z,t)};Point.fromJSON=function(curve,obj){return new Point(curve,obj[0],obj[1],obj[2])};Point.prototype.inspect=function(){if(this.isInfinity())return\"<EC Point Infinity>\";return\"<EC Point x: \"+this.x.fromRed().toString(16,2)+\" y: \"+this.y.fromRed().toString(16,2)+\" z: \"+this.z.fromRed().toString(16,2)+\">\"};Point.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)};Point.prototype._extDbl=function(){var a=this.x.redSqr(),b=this.y.redSqr(),c=this.z.redSqr();c=c.redIAdd(c);var d=this.curve._mulA(a),e=this.x.redAdd(this.y).redSqr().redISub(a).redISub(b),g=d.redAdd(b),f=g.redSub(c),h=d.redSub(b),nx=e.redMul(f),ny=g.redMul(h),nt=e.redMul(h),nz=f.redMul(g);return this.curve.point(nx,ny,nz,nt)};Point.prototype._projDbl=function(){var b=this.x.redAdd(this.y).redSqr(),c=this.x.redSqr(),d=this.y.redSqr(),nx,ny,nz,e,h,j;if(this.curve.twisted){e=this.curve._mulA(c);var f=e.redAdd(d);if(this.zOne)nx=b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two)),ny=f.redMul(e.redSub(d)),nz=f.redSqr().redSub(f).redSub(f);else h=this.z.redSqr(),j=f.redSub(h).redISub(h),nx=b.redSub(c).redISub(d).redMul(j),ny=f.redMul(e.redSub(d)),nz=f.redMul(j)}else e=c.redAdd(d),h=this.curve._mulC(this.z).redSqr(),j=e.redSub(h).redSub(h),nx=this.curve._mulC(b.redISub(e)).redMul(j),ny=this.curve._mulC(e).redMul(c.redISub(d)),nz=e.redMul(j);return this.curve.point(nx,ny,nz)};Point.prototype.dbl=function(){if(this.isInfinity())return this;if(this.curve.extended)return this._extDbl();else return this._projDbl()};Point.prototype._extAdd=function(p){var a=this.y.redSub(this.x).redMul(p.y.redSub(p.x)),b=this.y.redAdd(this.x).redMul(p.y.redAdd(p.x)),c=this.t.redMul(this.curve.dd).redMul(p.t),d=this.z.redMul(p.z.redAdd(p.z)),e=b.redSub(a),f=d.redSub(c),g=d.redAdd(c),h=b.redAdd(a),nx=e.redMul(f),ny=g.redMul(h),nt=e.redMul(h),nz=f.redMul(g);return this.curve.point(nx,ny,nz,nt)};Point.prototype._projAdd=function(p){var a=this.z.redMul(p.z),b=a.redSqr(),c=this.x.redMul(p.x),d=this.y.redMul(p.y),e=this.curve.d.redMul(c).redMul(d),f=b.redSub(e),g=b.redAdd(e),tmp=this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d),nx=a.redMul(f).redMul(tmp),ny,nz;if(this.curve.twisted)ny=a.redMul(g).redMul(d.redSub(this.curve._mulA(c))),nz=f.redMul(g);else ny=a.redMul(g).redMul(d.redSub(c)),nz=this.curve._mulC(f).redMul(g);return this.curve.point(nx,ny,nz)};Point.prototype.add=function(p){if(this.isInfinity())return p;if(p.isInfinity())return this;if(this.curve.extended)return this._extAdd(p);else return this._projAdd(p)};Point.prototype.mul=function(k){if(this._hasDoubles(k))return this.curve._fixedNafMul(this,k);else return this.curve._wnafMul(this,k)};Point.prototype.mulAdd=function(k1,p,k2){return this.curve._wnafMulAdd(1,[this,p],[k1,k2],2,!1)};Point.prototype.jmulAdd=function(k1,p,k2){return this.curve._wnafMulAdd(1,[this,p],[k1,k2],2,!0)};Point.prototype.normalize=function(){if(this.zOne)return this;var zi=this.z.redInvm();if(this.x=this.x.redMul(zi),this.y=this.y.redMul(zi),this.t)this.t=this.t.redMul(zi);return this.z=this.curve.one,this.zOne=!0,this};Point.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())};Point.prototype.getX=function(){return this.normalize(),this.x.fromRed()};Point.prototype.getY=function(){return this.normalize(),this.y.fromRed()};Point.prototype.eq=function(other){return this===other||this.getX().cmp(other.getX())===0&&this.getY().cmp(other.getY())===0};Point.prototype.eqXToP=function(x){var rx=x.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(rx)===0)return!0;var xc=x.clone(),t=this.curve.redN.redMul(this.z);for(;;){if(xc.iadd(this.curve.n),xc.cmp(this.curve.p)>=0)return!1;if(rx.redIAdd(t),this.x.cmp(rx)===0)return!0}};Point.prototype.toP=Point.prototype.normalize;Point.prototype.mixedAdd=Point.prototype.add});var require_curve=__commonJS((exports)=>{var curve=exports;curve.base=require_base();curve.short=require_short();curve.mont=require_mont();curve.edwards=require_edwards()});var require_utils3=__commonJS((exports)=>{var assert=require_minimalistic_assert(),inherits=require_inherits();exports.inherits=inherits;function isSurrogatePair(msg,i){if((msg.charCodeAt(i)&64512)!==55296)return!1;if(i<0||i+1>=msg.length)return!1;return(msg.charCodeAt(i+1)&64512)===56320}function toArray(msg,enc){if(Array.isArray(msg))return msg.slice();if(!msg)return[];var res=[];if(typeof msg===\"string\"){if(!enc){var p=0;for(var i=0;i<msg.length;i++){var c=msg.charCodeAt(i);if(c<128)res[p++]=c;else if(c<2048)res[p++]=c>>6|192,res[p++]=c&63|128;else if(isSurrogatePair(msg,i))c=65536+((c&1023)<<10)+(msg.charCodeAt(++i)&1023),res[p++]=c>>18|240,res[p++]=c>>12&63|128,res[p++]=c>>6&63|128,res[p++]=c&63|128;else res[p++]=c>>12|224,res[p++]=c>>6&63|128,res[p++]=c&63|128}}else if(enc===\"hex\"){if(msg=msg.replace(/[^a-z0-9]+/ig,\"\"),msg.length%2!==0)msg=\"0\"+msg;for(i=0;i<msg.length;i+=2)res.push(parseInt(msg[i]+msg[i+1],16))}}else for(i=0;i<msg.length;i++)res[i]=msg[i]|0;return res}exports.toArray=toArray;function toHex(msg){var res=\"\";for(var i=0;i<msg.length;i++)res+=zero2(msg[i].toString(16));return res}exports.toHex=toHex;function htonl(w){var res=w>>>24|w>>>8&65280|w<<8&16711680|(w&255)<<24;return res>>>0}exports.htonl=htonl;function toHex32(msg,endian){var res=\"\";for(var i=0;i<msg.length;i++){var w=msg[i];if(endian===\"little\")w=htonl(w);res+=zero8(w.toString(16))}return res}exports.toHex32=toHex32;function zero2(word){if(word.length===1)return\"0\"+word;else return word}exports.zero2=zero2;function zero8(word){if(word.length===7)return\"0\"+word;else if(word.length===6)return\"00\"+word;else if(word.length===5)return\"000\"+word;else if(word.length===4)return\"0000\"+word;else if(word.length===3)return\"00000\"+word;else if(word.length===2)return\"000000\"+word;else if(word.length===1)return\"0000000\"+word;else return word}exports.zero8=zero8;function join32(msg,start,end,endian){var len=end-start;assert(len%4===0);var res=Array(len/4);for(var i=0,k=start;i<res.length;i++,k+=4){var w;if(endian===\"big\")w=msg[k]<<24|msg[k+1]<<16|msg[k+2]<<8|msg[k+3];else w=msg[k+3]<<24|msg[k+2]<<16|msg[k+1]<<8|msg[k];res[i]=w>>>0}return res}exports.join32=join32;function split32(msg,endian){var res=Array(msg.length*4);for(var i=0,k=0;i<msg.length;i++,k+=4){var m=msg[i];if(endian===\"big\")res[k]=m>>>24,res[k+1]=m>>>16&255,res[k+2]=m>>>8&255,res[k+3]=m&255;else res[k+3]=m>>>24,res[k+2]=m>>>16&255,res[k+1]=m>>>8&255,res[k]=m&255}return res}exports.split32=split32;function rotr32(w,b){return w>>>b|w<<32-b}exports.rotr32=rotr32;function rotl32(w,b){return w<<b|w>>>32-b}exports.rotl32=rotl32;function sum32(a,b){return a+b>>>0}exports.sum32=sum32;function sum32_3(a,b,c){return a+b+c>>>0}exports.sum32_3=sum32_3;function sum32_4(a,b,c,d){return a+b+c+d>>>0}exports.sum32_4=sum32_4;function sum32_5(a,b,c,d,e){return a+b+c+d+e>>>0}exports.sum32_5=sum32_5;function sum64(buf,pos,ah,al){var bh=buf[pos],bl=buf[pos+1],lo=al+bl>>>0,hi=(lo<al?1:0)+ah+bh;buf[pos]=hi>>>0,buf[pos+1]=lo}exports.sum64=sum64;function sum64_hi(ah,al,bh,bl){var lo=al+bl>>>0,hi=(lo<al?1:0)+ah+bh;return hi>>>0}exports.sum64_hi=sum64_hi;function sum64_lo(ah,al,bh,bl){var lo=al+bl;return lo>>>0}exports.sum64_lo=sum64_lo;function sum64_4_hi(ah,al,bh,bl,ch,cl,dh,dl){var carry=0,lo=al;lo=lo+bl>>>0,carry+=lo<al?1:0,lo=lo+cl>>>0,carry+=lo<cl?1:0,lo=lo+dl>>>0,carry+=lo<dl?1:0;var hi=ah+bh+ch+dh+carry;return hi>>>0}exports.sum64_4_hi=sum64_4_hi;function sum64_4_lo(ah,al,bh,bl,ch,cl,dh,dl){var lo=al+bl+cl+dl;return lo>>>0}exports.sum64_4_lo=sum64_4_lo;function sum64_5_hi(ah,al,bh,bl,ch,cl,dh,dl,eh,el){var carry=0,lo=al;lo=lo+bl>>>0,carry+=lo<al?1:0,lo=lo+cl>>>0,carry+=lo<cl?1:0,lo=lo+dl>>>0,carry+=lo<dl?1:0,lo=lo+el>>>0,carry+=lo<el?1:0;var hi=ah+bh+ch+dh+eh+carry;return hi>>>0}exports.sum64_5_hi=sum64_5_hi;function sum64_5_lo(ah,al,bh,bl,ch,cl,dh,dl,eh,el){var lo=al+bl+cl+dl+el;return lo>>>0}exports.sum64_5_lo=sum64_5_lo;function rotr64_hi(ah,al,num){var r=al<<32-num|ah>>>num;return r>>>0}exports.rotr64_hi=rotr64_hi;function rotr64_lo(ah,al,num){var r=ah<<32-num|al>>>num;return r>>>0}exports.rotr64_lo=rotr64_lo;function shr64_hi(ah,al,num){return ah>>>num}exports.shr64_hi=shr64_hi;function shr64_lo(ah,al,num){var r=ah<<32-num|al>>>num;return r>>>0}exports.shr64_lo=shr64_lo});var require_common=__commonJS((exports)=>{var utils=require_utils3(),assert=require_minimalistic_assert();function BlockHash(){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=BlockHash;BlockHash.prototype.update=function(msg,enc){if(msg=utils.toArray(msg,enc),!this.pending)this.pending=msg;else this.pending=this.pending.concat(msg);if(this.pendingTotal+=msg.length,this.pending.length>=this._delta8){msg=this.pending;var r=msg.length%this._delta8;if(this.pending=msg.slice(msg.length-r,msg.length),this.pending.length===0)this.pending=null;msg=utils.join32(msg,0,msg.length-r,this.endian);for(var i=0;i<msg.length;i+=this._delta32)this._update(msg,i,i+this._delta32)}return this};BlockHash.prototype.digest=function(enc){return this.update(this._pad()),assert(this.pending===null),this._digest(enc)};BlockHash.prototype._pad=function(){var len=this.pendingTotal,bytes=this._delta8,k=bytes-(len+this.padLength)%bytes,res=Array(k+this.padLength);res[0]=128;for(var i=1;i<k;i++)res[i]=0;if(len<<=3,this.endian===\"big\"){for(var t=8;t<this.padLength;t++)res[i++]=0;res[i++]=0,res[i++]=0,res[i++]=0,res[i++]=0,res[i++]=len>>>24&255,res[i++]=len>>>16&255,res[i++]=len>>>8&255,res[i++]=len&255}else{res[i++]=len&255,res[i++]=len>>>8&255,res[i++]=len>>>16&255,res[i++]=len>>>24&255,res[i++]=0,res[i++]=0,res[i++]=0,res[i++]=0;for(t=8;t<this.padLength;t++)res[i++]=0}return res}});var require_common2=__commonJS((exports)=>{var utils=require_utils3(),rotr32=utils.rotr32;function ft_1(s,x,y,z){if(s===0)return ch32(x,y,z);if(s===1||s===3)return p32(x,y,z);if(s===2)return maj32(x,y,z)}exports.ft_1=ft_1;function ch32(x,y,z){return x&y^~x&z}exports.ch32=ch32;function maj32(x,y,z){return x&y^x&z^y&z}exports.maj32=maj32;function p32(x,y,z){return x^y^z}exports.p32=p32;function s0_256(x){return rotr32(x,2)^rotr32(x,13)^rotr32(x,22)}exports.s0_256=s0_256;function s1_256(x){return rotr32(x,6)^rotr32(x,11)^rotr32(x,25)}exports.s1_256=s1_256;function g0_256(x){return rotr32(x,7)^rotr32(x,18)^x>>>3}exports.g0_256=g0_256;function g1_256(x){return rotr32(x,17)^rotr32(x,19)^x>>>10}exports.g1_256=g1_256});var require_1=__commonJS((exports,module)=>{var utils=require_utils3(),common=require_common(),shaCommon=require_common2(),rotl32=utils.rotl32,sum32=utils.sum32,sum32_5=utils.sum32_5,ft_1=shaCommon.ft_1,BlockHash=common.BlockHash,sha1_K=[1518500249,1859775393,2400959708,3395469782];function SHA1(){if(!(this instanceof SHA1))return new SHA1;BlockHash.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=Array(80)}utils.inherits(SHA1,BlockHash);module.exports=SHA1;SHA1.blockSize=512;SHA1.outSize=160;SHA1.hmacStrength=80;SHA1.padLength=64;SHA1.prototype._update=function(msg,start){var W=this.W;for(var i=0;i<16;i++)W[i]=msg[start+i];for(;i<W.length;i++)W[i]=rotl32(W[i-3]^W[i-8]^W[i-14]^W[i-16],1);var a=this.h[0],b=this.h[1],c=this.h[2],d=this.h[3],e=this.h[4];for(i=0;i<W.length;i++){var s=~~(i/20),t=sum32_5(rotl32(a,5),ft_1(s,b,c,d),e,W[i],sha1_K[s]);e=d,d=c,c=rotl32(b,30),b=a,a=t}this.h[0]=sum32(this.h[0],a),this.h[1]=sum32(this.h[1],b),this.h[2]=sum32(this.h[2],c),this.h[3]=sum32(this.h[3],d),this.h[4]=sum32(this.h[4],e)};SHA1.prototype._digest=function(enc){if(enc===\"hex\")return utils.toHex32(this.h,\"big\");else return utils.split32(this.h,\"big\")}});var require_256=__commonJS((exports,module)=>{var utils=require_utils3(),common=require_common(),shaCommon=require_common2(),assert=require_minimalistic_assert(),sum32=utils.sum32,sum32_4=utils.sum32_4,sum32_5=utils.sum32_5,ch32=shaCommon.ch32,maj32=shaCommon.maj32,s0_256=shaCommon.s0_256,s1_256=shaCommon.s1_256,g0_256=shaCommon.g0_256,g1_256=shaCommon.g1_256,BlockHash=common.BlockHash,sha256_K=[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 SHA256(){if(!(this instanceof SHA256))return new SHA256;BlockHash.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=sha256_K,this.W=Array(64)}utils.inherits(SHA256,BlockHash);module.exports=SHA256;SHA256.blockSize=512;SHA256.outSize=256;SHA256.hmacStrength=192;SHA256.padLength=64;SHA256.prototype._update=function(msg,start){var W=this.W;for(var i=0;i<16;i++)W[i]=msg[start+i];for(;i<W.length;i++)W[i]=sum32_4(g1_256(W[i-2]),W[i-7],g0_256(W[i-15]),W[i-16]);var a=this.h[0],b=this.h[1],c=this.h[2],d=this.h[3],e=this.h[4],f=this.h[5],g=this.h[6],h=this.h[7];assert(this.k.length===W.length);for(i=0;i<W.length;i++){var T1=sum32_5(h,s1_256(e),ch32(e,f,g),this.k[i],W[i]),T2=sum32(s0_256(a),maj32(a,b,c));h=g,g=f,f=e,e=sum32(d,T1),d=c,c=b,b=a,a=sum32(T1,T2)}this.h[0]=sum32(this.h[0],a),this.h[1]=sum32(this.h[1],b),this.h[2]=sum32(this.h[2],c),this.h[3]=sum32(this.h[3],d),this.h[4]=sum32(this.h[4],e),this.h[5]=sum32(this.h[5],f),this.h[6]=sum32(this.h[6],g),this.h[7]=sum32(this.h[7],h)};SHA256.prototype._digest=function(enc){if(enc===\"hex\")return utils.toHex32(this.h,\"big\");else return utils.split32(this.h,\"big\")}});var require_224=__commonJS((exports,module)=>{var utils=require_utils3(),SHA256=require_256();function SHA224(){if(!(this instanceof SHA224))return new SHA224;SHA256.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}utils.inherits(SHA224,SHA256);module.exports=SHA224;SHA224.blockSize=512;SHA224.outSize=224;SHA224.hmacStrength=192;SHA224.padLength=64;SHA224.prototype._digest=function(enc){if(enc===\"hex\")return utils.toHex32(this.h.slice(0,7),\"big\");else return utils.split32(this.h.slice(0,7),\"big\")}});var require_512=__commonJS((exports,module)=>{var utils=require_utils3(),common=require_common(),assert=require_minimalistic_assert(),rotr64_hi=utils.rotr64_hi,rotr64_lo=utils.rotr64_lo,shr64_hi=utils.shr64_hi,shr64_lo=utils.shr64_lo,sum64=utils.sum64,sum64_hi=utils.sum64_hi,sum64_lo=utils.sum64_lo,sum64_4_hi=utils.sum64_4_hi,sum64_4_lo=utils.sum64_4_lo,sum64_5_hi=utils.sum64_5_hi,sum64_5_lo=utils.sum64_5_lo,BlockHash=common.BlockHash,sha512_K=[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 SHA512(){if(!(this instanceof SHA512))return new SHA512;BlockHash.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=sha512_K,this.W=Array(160)}utils.inherits(SHA512,BlockHash);module.exports=SHA512;SHA512.blockSize=1024;SHA512.outSize=512;SHA512.hmacStrength=192;SHA512.padLength=128;SHA512.prototype._prepareBlock=function(msg,start){var W=this.W;for(var i=0;i<32;i++)W[i]=msg[start+i];for(;i<W.length;i+=2){var c0_hi=g1_512_hi(W[i-4],W[i-3]),c0_lo=g1_512_lo(W[i-4],W[i-3]),c1_hi=W[i-14],c1_lo=W[i-13],c2_hi=g0_512_hi(W[i-30],W[i-29]),c2_lo=g0_512_lo(W[i-30],W[i-29]),c3_hi=W[i-32],c3_lo=W[i-31];W[i]=sum64_4_hi(c0_hi,c0_lo,c1_hi,c1_lo,c2_hi,c2_lo,c3_hi,c3_lo),W[i+1]=sum64_4_lo(c0_hi,c0_lo,c1_hi,c1_lo,c2_hi,c2_lo,c3_hi,c3_lo)}};SHA512.prototype._update=function(msg,start){this._prepareBlock(msg,start);var W=this.W,ah=this.h[0],al=this.h[1],bh=this.h[2],bl=this.h[3],ch=this.h[4],cl=this.h[5],dh=this.h[6],dl=this.h[7],eh=this.h[8],el=this.h[9],fh=this.h[10],fl=this.h[11],gh=this.h[12],gl=this.h[13],hh=this.h[14],hl=this.h[15];assert(this.k.length===W.length);for(var i=0;i<W.length;i+=2){var c0_hi=hh,c0_lo=hl,c1_hi=s1_512_hi(eh,el),c1_lo=s1_512_lo(eh,el),c2_hi=ch64_hi(eh,el,fh,fl,gh,gl),c2_lo=ch64_lo(eh,el,fh,fl,gh,gl),c3_hi=this.k[i],c3_lo=this.k[i+1],c4_hi=W[i],c4_lo=W[i+1],T1_hi=sum64_5_hi(c0_hi,c0_lo,c1_hi,c1_lo,c2_hi,c2_lo,c3_hi,c3_lo,c4_hi,c4_lo),T1_lo=sum64_5_lo(c0_hi,c0_lo,c1_hi,c1_lo,c2_hi,c2_lo,c3_hi,c3_lo,c4_hi,c4_lo);c0_hi=s0_512_hi(ah,al),c0_lo=s0_512_lo(ah,al),c1_hi=maj64_hi(ah,al,bh,bl,ch,cl),c1_lo=maj64_lo(ah,al,bh,bl,ch,cl);var T2_hi=sum64_hi(c0_hi,c0_lo,c1_hi,c1_lo),T2_lo=sum64_lo(c0_hi,c0_lo,c1_hi,c1_lo);hh=gh,hl=gl,gh=fh,gl=fl,fh=eh,fl=el,eh=sum64_hi(dh,dl,T1_hi,T1_lo),el=sum64_lo(dl,dl,T1_hi,T1_lo),dh=ch,dl=cl,ch=bh,cl=bl,bh=ah,bl=al,ah=sum64_hi(T1_hi,T1_lo,T2_hi,T2_lo),al=sum64_lo(T1_hi,T1_lo,T2_hi,T2_lo)}sum64(this.h,0,ah,al),sum64(this.h,2,bh,bl),sum64(this.h,4,ch,cl),sum64(this.h,6,dh,dl),sum64(this.h,8,eh,el),sum64(this.h,10,fh,fl),sum64(this.h,12,gh,gl),sum64(this.h,14,hh,hl)};SHA512.prototype._digest=function(enc){if(enc===\"hex\")return utils.toHex32(this.h,\"big\");else return utils.split32(this.h,\"big\")};function ch64_hi(xh,xl,yh,yl,zh){var r=xh&yh^~xh&zh;if(r<0)r+=4294967296;return r}function ch64_lo(xh,xl,yh,yl,zh,zl){var r=xl&yl^~xl&zl;if(r<0)r+=4294967296;return r}function maj64_hi(xh,xl,yh,yl,zh){var r=xh&yh^xh&zh^yh&zh;if(r<0)r+=4294967296;return r}function maj64_lo(xh,xl,yh,yl,zh,zl){var r=xl&yl^xl&zl^yl&zl;if(r<0)r+=4294967296;return r}function s0_512_hi(xh,xl){var c0_hi=rotr64_hi(xh,xl,28),c1_hi=rotr64_hi(xl,xh,2),c2_hi=rotr64_hi(xl,xh,7),r=c0_hi^c1_hi^c2_hi;if(r<0)r+=4294967296;return r}function s0_512_lo(xh,xl){var c0_lo=rotr64_lo(xh,xl,28),c1_lo=rotr64_lo(xl,xh,2),c2_lo=rotr64_lo(xl,xh,7),r=c0_lo^c1_lo^c2_lo;if(r<0)r+=4294967296;return r}function s1_512_hi(xh,xl){var c0_hi=rotr64_hi(xh,xl,14),c1_hi=rotr64_hi(xh,xl,18),c2_hi=rotr64_hi(xl,xh,9),r=c0_hi^c1_hi^c2_hi;if(r<0)r+=4294967296;return r}function s1_512_lo(xh,xl){var c0_lo=rotr64_lo(xh,xl,14),c1_lo=rotr64_lo(xh,xl,18),c2_lo=rotr64_lo(xl,xh,9),r=c0_lo^c1_lo^c2_lo;if(r<0)r+=4294967296;return r}function g0_512_hi(xh,xl){var c0_hi=rotr64_hi(xh,xl,1),c1_hi=rotr64_hi(xh,xl,8),c2_hi=shr64_hi(xh,xl,7),r=c0_hi^c1_hi^c2_hi;if(r<0)r+=4294967296;return r}function g0_512_lo(xh,xl){var c0_lo=rotr64_lo(xh,xl,1),c1_lo=rotr64_lo(xh,xl,8),c2_lo=shr64_lo(xh,xl,7),r=c0_lo^c1_lo^c2_lo;if(r<0)r+=4294967296;return r}function g1_512_hi(xh,xl){var c0_hi=rotr64_hi(xh,xl,19),c1_hi=rotr64_hi(xl,xh,29),c2_hi=shr64_hi(xh,xl,6),r=c0_hi^c1_hi^c2_hi;if(r<0)r+=4294967296;return r}function g1_512_lo(xh,xl){var c0_lo=rotr64_lo(xh,xl,19),c1_lo=rotr64_lo(xl,xh,29),c2_lo=shr64_lo(xh,xl,6),r=c0_lo^c1_lo^c2_lo;if(r<0)r+=4294967296;return r}});var require_384=__commonJS((exports,module)=>{var utils=require_utils3(),SHA512=require_512();function SHA384(){if(!(this instanceof SHA384))return new SHA384;SHA512.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}utils.inherits(SHA384,SHA512);module.exports=SHA384;SHA384.blockSize=1024;SHA384.outSize=384;SHA384.hmacStrength=192;SHA384.padLength=128;SHA384.prototype._digest=function(enc){if(enc===\"hex\")return utils.toHex32(this.h.slice(0,12),\"big\");else return utils.split32(this.h.slice(0,12),\"big\")}});var require_sha=__commonJS((exports)=>{exports.sha1=require_1();exports.sha224=require_224();exports.sha256=require_256();exports.sha384=require_384();exports.sha512=require_512()});var require_ripemd=__commonJS((exports)=>{var utils=require_utils3(),common=require_common(),rotl32=utils.rotl32,sum32=utils.sum32,sum32_3=utils.sum32_3,sum32_4=utils.sum32_4,BlockHash=common.BlockHash;function RIPEMD160(){if(!(this instanceof RIPEMD160))return new RIPEMD160;BlockHash.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian=\"little\"}utils.inherits(RIPEMD160,BlockHash);exports.ripemd160=RIPEMD160;RIPEMD160.blockSize=512;RIPEMD160.outSize=160;RIPEMD160.hmacStrength=192;RIPEMD160.padLength=64;RIPEMD160.prototype._update=function(msg,start){var A=this.h[0],B=this.h[1],C=this.h[2],D=this.h[3],E=this.h[4],Ah=A,Bh=B,Ch=C,Dh=D,Eh=E;for(var j=0;j<80;j++){var T=sum32(rotl32(sum32_4(A,f(j,B,C,D),msg[r[j]+start],K(j)),s[j]),E);A=E,E=D,D=rotl32(C,10),C=B,B=T,T=sum32(rotl32(sum32_4(Ah,f(79-j,Bh,Ch,Dh),msg[rh[j]+start],Kh(j)),sh[j]),Eh),Ah=Eh,Eh=Dh,Dh=rotl32(Ch,10),Ch=Bh,Bh=T}T=sum32_3(this.h[1],C,Dh),this.h[1]=sum32_3(this.h[2],D,Eh),this.h[2]=sum32_3(this.h[3],E,Ah),this.h[3]=sum32_3(this.h[4],A,Bh),this.h[4]=sum32_3(this.h[0],B,Ch),this.h[0]=T};RIPEMD160.prototype._digest=function(enc){if(enc===\"hex\")return utils.toHex32(this.h,\"little\");else return utils.split32(this.h,\"little\")};function f(j,x,y,z){if(j<=15)return x^y^z;else if(j<=31)return x&y|~x&z;else if(j<=47)return(x|~y)^z;else if(j<=63)return x&z|y&~z;else return x^(y|~z)}function K(j){if(j<=15)return 0;else if(j<=31)return 1518500249;else if(j<=47)return 1859775393;else if(j<=63)return 2400959708;else return 2840853838}function Kh(j){if(j<=15)return 1352829926;else if(j<=31)return 1548603684;else if(j<=47)return 1836072691;else if(j<=63)return 2053994217;else return 0}var r=[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],rh=[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],s=[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],sh=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]});var require_hmac=__commonJS((exports,module)=>{var utils=require_utils3(),assert=require_minimalistic_assert();function Hmac(hash,key,enc){if(!(this instanceof Hmac))return new Hmac(hash,key,enc);this.Hash=hash,this.blockSize=hash.blockSize/8,this.outSize=hash.outSize/8,this.inner=null,this.outer=null,this._init(utils.toArray(key,enc))}module.exports=Hmac;Hmac.prototype._init=function(key){if(key.length>this.blockSize)key=new this.Hash().update(key).digest();assert(key.length<=this.blockSize);for(var i=key.length;i<this.blockSize;i++)key.push(0);for(i=0;i<key.length;i++)key[i]^=54;this.inner=new this.Hash().update(key);for(i=0;i<key.length;i++)key[i]^=106;this.outer=new this.Hash().update(key)};Hmac.prototype.update=function(msg,enc){return this.inner.update(msg,enc),this};Hmac.prototype.digest=function(enc){return this.outer.update(this.inner.digest()),this.outer.digest(enc)}});var require_hash=__commonJS((exports)=>{var hash=exports;hash.utils=require_utils3();hash.common=require_common();hash.sha=require_sha();hash.ripemd=require_ripemd();hash.hmac=require_hmac();hash.sha1=hash.sha.sha1;hash.sha256=hash.sha.sha256;hash.sha224=hash.sha.sha224;hash.sha384=hash.sha.sha384;hash.sha512=hash.sha.sha512;hash.ripemd160=hash.ripemd.ripemd160});var require_secp256k1=__commonJS((exports,module)=>{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\"]]}}});var require_curves=__commonJS((exports)=>{var curves=exports,hash=require_hash(),curve=require_curve(),utils=require_utils2(),assert=utils.assert;function PresetCurve(options){if(options.type===\"short\")this.curve=new curve.short(options);else if(options.type===\"edwards\")this.curve=new curve.edwards(options);else this.curve=new curve.mont(options);this.g=this.curve.g,this.n=this.curve.n,this.hash=options.hash,assert(this.g.validate(),\"Invalid curve\"),assert(this.g.mul(this.n).isInfinity(),\"Invalid curve, G*N != O\")}curves.PresetCurve=PresetCurve;function defineCurve(name,options){Object.defineProperty(curves,name,{configurable:!0,enumerable:!0,get:function(){var curve2=new PresetCurve(options);return Object.defineProperty(curves,name,{configurable:!0,enumerable:!0,value:curve2}),curve2}})}defineCurve(\"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:hash.sha256,gRed:!1,g:[\"188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012\",\"07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811\"]});defineCurve(\"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:hash.sha256,gRed:!1,g:[\"b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21\",\"bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34\"]});defineCurve(\"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:hash.sha256,gRed:!1,g:[\"6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296\",\"4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5\"]});defineCurve(\"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:hash.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\"]});defineCurve(\"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:hash.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\"]});defineCurve(\"curve25519\",{type:\"mont\",prime:\"p25519\",p:\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",a:\"76d06\",b:\"1\",n:\"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",hash:hash.sha256,gRed:!1,g:[\"9\"]});defineCurve(\"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:hash.sha256,gRed:!1,g:[\"216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a\",\"6666666666666666666666666666666666666666666666666666666666666658\"]});var pre;try{pre=require_secp256k1()}catch(e){pre=void 0}defineCurve(\"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:hash.sha256,beta:\"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee\",lambda:\"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72\",basis:[{a:\"3086d221a7d46bcde86c90e49284eb15\",b:\"-e4437ed6010e88286f547fa90abfe4c3\"},{a:\"114ca50f7a8e2f3f657c1108d9d44cfd8\",b:\"3086d221a7d46bcde86c90e49284eb15\"}],gRed:!1,g:[\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8\",pre]})});var require_hmac_drbg=__commonJS((exports,module)=>{var hash=require_hash(),utils=require_utils(),assert=require_minimalistic_assert();function HmacDRBG(options){if(!(this instanceof HmacDRBG))return new HmacDRBG(options);this.hash=options.hash,this.predResist=!!options.predResist,this.outLen=this.hash.outSize,this.minEntropy=options.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var entropy=utils.toArray(options.entropy,options.entropyEnc||\"hex\"),nonce=utils.toArray(options.nonce,options.nonceEnc||\"hex\"),pers=utils.toArray(options.pers,options.persEnc||\"hex\");assert(entropy.length>=this.minEntropy/8,\"Not enough entropy. Minimum is: \"+this.minEntropy+\" bits\"),this._init(entropy,nonce,pers)}module.exports=HmacDRBG;HmacDRBG.prototype._init=function(entropy,nonce,pers){var seed=entropy.concat(nonce).concat(pers);this.K=Array(this.outLen/8),this.V=Array(this.outLen/8);for(var i=0;i<this.V.length;i++)this.K[i]=0,this.V[i]=1;this._update(seed),this._reseed=1,this.reseedInterval=281474976710656};HmacDRBG.prototype._hmac=function(){return new hash.hmac(this.hash,this.K)};HmacDRBG.prototype._update=function(seed){var kmac=this._hmac().update(this.V).update([0]);if(seed)kmac=kmac.update(seed);if(this.K=kmac.digest(),this.V=this._hmac().update(this.V).digest(),!seed)return;this.K=this._hmac().update(this.V).update([1]).update(seed).digest(),this.V=this._hmac().update(this.V).digest()};HmacDRBG.prototype.reseed=function(entropy,entropyEnc,add,addEnc){if(typeof entropyEnc!==\"string\")addEnc=add,add=entropyEnc,entropyEnc=null;entropy=utils.toArray(entropy,entropyEnc),add=utils.toArray(add,addEnc),assert(entropy.length>=this.minEntropy/8,\"Not enough entropy. Minimum is: \"+this.minEntropy+\" bits\"),this._update(entropy.concat(add||[])),this._reseed=1};HmacDRBG.prototype.generate=function(len,enc,add,addEnc){if(this._reseed>this.reseedInterval)throw Error(\"Reseed is required\");if(typeof enc!==\"string\")addEnc=add,add=enc,enc=null;if(add)add=utils.toArray(add,addEnc||\"hex\"),this._update(add);var temp=[];while(temp.length<len)this.V=this._hmac().update(this.V).digest(),temp=temp.concat(this.V);var res=temp.slice(0,len);return this._update(add),this._reseed++,utils.encode(res,enc)}});var require_key=__commonJS((exports,module)=>{var BN=require_bn(),utils=require_utils2(),assert=utils.assert;function KeyPair(ec,options){if(this.ec=ec,this.priv=null,this.pub=null,options.priv)this._importPrivate(options.priv,options.privEnc);if(options.pub)this._importPublic(options.pub,options.pubEnc)}module.exports=KeyPair;KeyPair.fromPublic=function(ec,pub,enc){if(pub instanceof KeyPair)return pub;return new KeyPair(ec,{pub,pubEnc:enc})};KeyPair.fromPrivate=function(ec,priv,enc){if(priv instanceof KeyPair)return priv;return new KeyPair(ec,{priv,privEnc:enc})};KeyPair.prototype.validate=function(){var pub=this.getPublic();if(pub.isInfinity())return{result:!1,reason:\"Invalid public key\"};if(!pub.validate())return{result:!1,reason:\"Public key is not a point\"};if(!pub.mul(this.ec.curve.n).isInfinity())return{result:!1,reason:\"Public key * N != O\"};return{result:!0,reason:null}};KeyPair.prototype.getPublic=function(compact,enc){if(typeof compact===\"string\")enc=compact,compact=null;if(!this.pub)this.pub=this.ec.g.mul(this.priv);if(!enc)return this.pub;return this.pub.encode(enc,compact)};KeyPair.prototype.getPrivate=function(enc){if(enc===\"hex\")return this.priv.toString(16,2);else return this.priv};KeyPair.prototype._importPrivate=function(key,enc){this.priv=new BN(key,enc||16),this.priv=this.priv.umod(this.ec.curve.n)};KeyPair.prototype._importPublic=function(key,enc){if(key.x||key.y){if(this.ec.curve.type===\"mont\")assert(key.x,\"Need x coordinate\");else if(this.ec.curve.type===\"short\"||this.ec.curve.type===\"edwards\")assert(key.x&&key.y,\"Need both x and y coordinate\");this.pub=this.ec.curve.point(key.x,key.y);return}this.pub=this.ec.curve.decodePoint(key,enc)};KeyPair.prototype.derive=function(pub){if(!pub.validate())assert(pub.validate(),\"public point not validated\");return pub.mul(this.priv).getX()};KeyPair.prototype.sign=function(msg,enc,options){return this.ec.sign(msg,this,enc,options)};KeyPair.prototype.verify=function(msg,signature,options){return this.ec.verify(msg,signature,this,void 0,options)};KeyPair.prototype.inspect=function(){return\"<Key priv: \"+(this.priv&&this.priv.toString(16,2))+\" pub: \"+(this.pub&&this.pub.inspect())+\" >\"}});var require_signature=__commonJS((exports,module)=>{var BN=require_bn(),utils=require_utils2(),assert=utils.assert;function Signature(options,enc){if(options instanceof Signature)return options;if(this._importDER(options,enc))return;if(assert(options.r&&options.s,\"Signature without r or s\"),this.r=new BN(options.r,16),this.s=new BN(options.s,16),options.recoveryParam===void 0)this.recoveryParam=null;else this.recoveryParam=options.recoveryParam}module.exports=Signature;function Position(){this.place=0}function getLength(buf,p){var initial=buf[p.place++];if(!(initial&128))return initial;var octetLen=initial&15;if(octetLen===0||octetLen>4)return!1;if(buf[p.place]===0)return!1;var val=0;for(var i=0,off=p.place;i<octetLen;i++,off++)val<<=8,val|=buf[off],val>>>=0;if(val<=127)return!1;return p.place=off,val}function rmPadding(buf){var i=0,len=buf.length-1;while(!buf[i]&&!(buf[i+1]&128)&&i<len)i++;if(i===0)return buf;return buf.slice(i)}Signature.prototype._importDER=function(data,enc){data=utils.toArray(data,enc);var p=new Position;if(data[p.place++]!==48)return!1;var len=getLength(data,p);if(len===!1)return!1;if(len+p.place!==data.length)return!1;if(data[p.place++]!==2)return!1;var rlen=getLength(data,p);if(rlen===!1)return!1;if((data[p.place]&128)!==0)return!1;var r=data.slice(p.place,rlen+p.place);if(p.place+=rlen,data[p.place++]!==2)return!1;var slen=getLength(data,p);if(slen===!1)return!1;if(data.length!==slen+p.place)return!1;if((data[p.place]&128)!==0)return!1;var s=data.slice(p.place,slen+p.place);if(r[0]===0)if(r[1]&128)r=r.slice(1);else return!1;if(s[0]===0)if(s[1]&128)s=s.slice(1);else return!1;return this.r=new BN(r),this.s=new BN(s),this.recoveryParam=null,!0};function constructLength(arr,len){if(len<128){arr.push(len);return}var octets=1+(Math.log(len)/Math.LN2>>>3);arr.push(octets|128);while(--octets)arr.push(len>>>(octets<<3)&255);arr.push(len)}Signature.prototype.toDER=function(enc){var r=this.r.toArray(),s=this.s.toArray();if(r[0]&128)r=[0].concat(r);if(s[0]&128)s=[0].concat(s);r=rmPadding(r),s=rmPadding(s);while(!s[0]&&!(s[1]&128))s=s.slice(1);var arr=[2];constructLength(arr,r.length),arr=arr.concat(r),arr.push(2),constructLength(arr,s.length);var backHalf=arr.concat(s),res=[48];return constructLength(res,backHalf.length),res=res.concat(backHalf),utils.encode(res,enc)}});var require_ec=__commonJS((exports,module)=>{var BN=require_bn(),HmacDRBG=require_hmac_drbg(),utils=require_utils2(),curves=require_curves(),rand=require_brorand(),assert=utils.assert,KeyPair=require_key(),Signature=require_signature();function EC(options){if(!(this instanceof EC))return new EC(options);if(typeof options===\"string\")assert(Object.prototype.hasOwnProperty.call(curves,options),\"Unknown curve \"+options),options=curves[options];if(options instanceof curves.PresetCurve)options={curve:options};this.curve=options.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=options.curve.g,this.g.precompute(options.curve.n.bitLength()+1),this.hash=options.hash||options.curve.hash}module.exports=EC;EC.prototype.keyPair=function(options){return new KeyPair(this,options)};EC.prototype.keyFromPrivate=function(priv,enc){return KeyPair.fromPrivate(this,priv,enc)};EC.prototype.keyFromPublic=function(pub,enc){return KeyPair.fromPublic(this,pub,enc)};EC.prototype.genKeyPair=function(options){if(!options)options={};var drbg=new HmacDRBG({hash:this.hash,pers:options.pers,persEnc:options.persEnc||\"utf8\",entropy:options.entropy||rand(this.hash.hmacStrength),entropyEnc:options.entropy&&options.entropyEnc||\"utf8\",nonce:this.n.toArray()}),bytes=this.n.byteLength(),ns2=this.n.sub(new BN(2));for(;;){var priv=new BN(drbg.generate(bytes));if(priv.cmp(ns2)>0)continue;return priv.iaddn(1),this.keyFromPrivate(priv)}};EC.prototype._truncateToN=function(msg,truncOnly,bitLength){var byteLength;if(BN.isBN(msg)||typeof msg===\"number\")msg=new BN(msg,16),byteLength=msg.byteLength();else if(typeof msg===\"object\")byteLength=msg.length,msg=new BN(msg,16);else{var str=msg.toString();byteLength=str.length+1>>>1,msg=new BN(str,16)}if(typeof bitLength!==\"number\")bitLength=byteLength*8;var delta=bitLength-this.n.bitLength();if(delta>0)msg=msg.ushrn(delta);if(!truncOnly&&msg.cmp(this.n)>=0)return msg.sub(this.n);else return msg};EC.prototype.sign=function(msg,key,enc,options){if(typeof enc===\"object\")options=enc,enc=null;if(!options)options={};if(typeof msg!==\"string\"&&typeof msg!==\"number\"&&!BN.isBN(msg)){assert(typeof msg===\"object\"&&msg&&typeof msg.length===\"number\",\"Expected message to be an array-like, a hex string, or a BN instance\"),assert(msg.length>>>0===msg.length);for(var i=0;i<msg.length;i++)assert((msg[i]&255)===msg[i])}key=this.keyFromPrivate(key,enc),msg=this._truncateToN(msg,!1,options.msgBitLength),assert(!msg.isNeg(),\"Can not sign a negative message\");var bytes=this.n.byteLength(),bkey=key.getPrivate().toArray(\"be\",bytes),nonce=msg.toArray(\"be\",bytes);assert(new BN(nonce).eq(msg),\"Can not sign message\");var drbg=new HmacDRBG({hash:this.hash,entropy:bkey,nonce,pers:options.pers,persEnc:options.persEnc||\"utf8\"}),ns1=this.n.sub(new BN(1));for(var iter=0;;iter++){var k=options.k?options.k(iter):new BN(drbg.generate(this.n.byteLength()));if(k=this._truncateToN(k,!0),k.cmpn(1)<=0||k.cmp(ns1)>=0)continue;var kp=this.g.mul(k);if(kp.isInfinity())continue;var kpX=kp.getX(),r=kpX.umod(this.n);if(r.cmpn(0)===0)continue;var s=k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));if(s=s.umod(this.n),s.cmpn(0)===0)continue;var recoveryParam=(kp.getY().isOdd()?1:0)|(kpX.cmp(r)!==0?2:0);if(options.canonical&&s.cmp(this.nh)>0)s=this.n.sub(s),recoveryParam^=1;return new Signature({r,s,recoveryParam})}};EC.prototype.verify=function(msg,signature,key,enc,options){if(!options)options={};msg=this._truncateToN(msg,!1,options.msgBitLength),key=this.keyFromPublic(key,enc),signature=new Signature(signature,\"hex\");var{r,s}=signature;if(r.cmpn(1)<0||r.cmp(this.n)>=0)return!1;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;var sinv=s.invm(this.n),u1=sinv.mul(msg).umod(this.n),u2=sinv.mul(r).umod(this.n),p;if(!this.curve._maxwellTrick){if(p=this.g.mulAdd(u1,key.getPublic(),u2),p.isInfinity())return!1;return p.getX().umod(this.n).cmp(r)===0}if(p=this.g.jmulAdd(u1,key.getPublic(),u2),p.isInfinity())return!1;return p.eqXToP(r)};EC.prototype.recoverPubKey=function(msg,signature,j,enc){assert((3&j)===j,\"The recovery param is more than two bits\"),signature=new Signature(signature,enc);var n=this.n,e=new BN(msg),r=signature.r,s=signature.s,isYOdd=j&1,isSecondKey=j>>1;if(r.cmp(this.curve.p.umod(this.curve.n))>=0&&isSecondKey)throw Error(\"Unable to find sencond key candinate\");if(isSecondKey)r=this.curve.pointFromX(r.add(this.curve.n),isYOdd);else r=this.curve.pointFromX(r,isYOdd);var rInv=signature.r.invm(n),s1=n.sub(e).mul(rInv).umod(n),s2=s.mul(rInv).umod(n);return this.g.mulAdd(s1,r,s2)};EC.prototype.getKeyRecoveryParam=function(e,signature,Q,enc){if(signature=new Signature(signature,enc),signature.recoveryParam!==null)return signature.recoveryParam;for(var i=0;i<4;i++){var Qprime;try{Qprime=this.recoverPubKey(e,signature,i)}catch(e2){continue}if(Qprime.eq(Q))return i}throw Error(\"Unable to find valid recovery factor\")}});var require_key2=__commonJS((exports,module)=>{var utils=require_utils2(),assert=utils.assert,parseBytes=utils.parseBytes,cachedProperty=utils.cachedProperty;function KeyPair(eddsa,params){if(this.eddsa=eddsa,this._secret=parseBytes(params.secret),eddsa.isPoint(params.pub))this._pub=params.pub;else this._pubBytes=parseBytes(params.pub)}KeyPair.fromPublic=function(eddsa,pub){if(pub instanceof KeyPair)return pub;return new KeyPair(eddsa,{pub})};KeyPair.fromSecret=function(eddsa,secret){if(secret instanceof KeyPair)return secret;return new KeyPair(eddsa,{secret})};KeyPair.prototype.secret=function(){return this._secret};cachedProperty(KeyPair,\"pubBytes\",function(){return this.eddsa.encodePoint(this.pub())});cachedProperty(KeyPair,\"pub\",function(){if(this._pubBytes)return this.eddsa.decodePoint(this._pubBytes);return this.eddsa.g.mul(this.priv())});cachedProperty(KeyPair,\"privBytes\",function(){var eddsa=this.eddsa,hash=this.hash(),lastIx=eddsa.encodingLength-1,a=hash.slice(0,eddsa.encodingLength);return a[0]&=248,a[lastIx]&=127,a[lastIx]|=64,a});cachedProperty(KeyPair,\"priv\",function(){return this.eddsa.decodeInt(this.privBytes())});cachedProperty(KeyPair,\"hash\",function(){return this.eddsa.hash().update(this.secret()).digest()});cachedProperty(KeyPair,\"messagePrefix\",function(){return this.hash().slice(this.eddsa.encodingLength)});KeyPair.prototype.sign=function(message){return assert(this._secret,\"KeyPair can only verify\"),this.eddsa.sign(message,this)};KeyPair.prototype.verify=function(message,sig){return this.eddsa.verify(message,sig,this)};KeyPair.prototype.getSecret=function(enc){return assert(this._secret,\"KeyPair is public only\"),utils.encode(this.secret(),enc)};KeyPair.prototype.getPublic=function(enc){return utils.encode(this.pubBytes(),enc)};module.exports=KeyPair});var require_signature2=__commonJS((exports,module)=>{var BN=require_bn(),utils=require_utils2(),assert=utils.assert,cachedProperty=utils.cachedProperty,parseBytes=utils.parseBytes;function Signature(eddsa,sig){if(this.eddsa=eddsa,typeof sig!==\"object\")sig=parseBytes(sig);if(Array.isArray(sig))assert(sig.length===eddsa.encodingLength*2,\"Signature has invalid size\"),sig={R:sig.slice(0,eddsa.encodingLength),S:sig.slice(eddsa.encodingLength)};if(assert(sig.R&&sig.S,\"Signature without R or S\"),eddsa.isPoint(sig.R))this._R=sig.R;if(sig.S instanceof BN)this._S=sig.S;this._Rencoded=Array.isArray(sig.R)?sig.R:sig.Rencoded,this._Sencoded=Array.isArray(sig.S)?sig.S:sig.Sencoded}cachedProperty(Signature,\"S\",function(){return this.eddsa.decodeInt(this.Sencoded())});cachedProperty(Signature,\"R\",function(){return this.eddsa.decodePoint(this.Rencoded())});cachedProperty(Signature,\"Rencoded\",function(){return this.eddsa.encodePoint(this.R())});cachedProperty(Signature,\"Sencoded\",function(){return this.eddsa.encodeInt(this.S())});Signature.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())};Signature.prototype.toHex=function(){return utils.encode(this.toBytes(),\"hex\").toUpperCase()};module.exports=Signature});var require_eddsa=__commonJS((exports,module)=>{var hash=require_hash(),curves=require_curves(),utils=require_utils2(),assert=utils.assert,parseBytes=utils.parseBytes,KeyPair=require_key2(),Signature=require_signature2();function EDDSA(curve){if(assert(curve===\"ed25519\",\"only tested with ed25519 so far\"),!(this instanceof EDDSA))return new EDDSA(curve);curve=curves[curve].curve,this.curve=curve,this.g=curve.g,this.g.precompute(curve.n.bitLength()+1),this.pointClass=curve.point().constructor,this.encodingLength=Math.ceil(curve.n.bitLength()/8),this.hash=hash.sha512}module.exports=EDDSA;EDDSA.prototype.sign=function(message,secret){message=parseBytes(message);var key=this.keyFromSecret(secret),r=this.hashInt(key.messagePrefix(),message),R=this.g.mul(r),Rencoded=this.encodePoint(R),s_=this.hashInt(Rencoded,key.pubBytes(),message).mul(key.priv()),S=r.add(s_).umod(this.curve.n);return this.makeSignature({R,S,Rencoded})};EDDSA.prototype.verify=function(message,sig,pub){if(message=parseBytes(message),sig=this.makeSignature(sig),sig.S().gte(sig.eddsa.curve.n)||sig.S().isNeg())return!1;var key=this.keyFromPublic(pub),h=this.hashInt(sig.Rencoded(),key.pubBytes(),message),SG=this.g.mul(sig.S()),RplusAh=sig.R().add(key.pub().mul(h));return RplusAh.eq(SG)};EDDSA.prototype.hashInt=function(){var hash2=this.hash();for(var i=0;i<arguments.length;i++)hash2.update(arguments[i]);return utils.intFromLE(hash2.digest()).umod(this.curve.n)};EDDSA.prototype.keyFromPublic=function(pub){return KeyPair.fromPublic(this,pub)};EDDSA.prototype.keyFromSecret=function(secret){return KeyPair.fromSecret(this,secret)};EDDSA.prototype.makeSignature=function(sig){if(sig instanceof Signature)return sig;return new Signature(this,sig)};EDDSA.prototype.encodePoint=function(point){var enc=point.getY().toArray(\"le\",this.encodingLength);return enc[this.encodingLength-1]|=point.getX().isOdd()?128:0,enc};EDDSA.prototype.decodePoint=function(bytes){bytes=utils.parseBytes(bytes);var lastIx=bytes.length-1,normed=bytes.slice(0,lastIx).concat(bytes[lastIx]&-129),xIsOdd=(bytes[lastIx]&128)!==0,y=utils.intFromLE(normed);return this.curve.pointFromY(y,xIsOdd)};EDDSA.prototype.encodeInt=function(num){return num.toArray(\"le\",this.encodingLength)};EDDSA.prototype.decodeInt=function(bytes){return utils.intFromLE(bytes)};EDDSA.prototype.isPoint=function(val){return val instanceof this.pointClass}});var require_elliptic=__commonJS((exports)=>{var elliptic=exports;elliptic.version=require_package().version;elliptic.utils=require_utils2();elliptic.rand=require_brorand();elliptic.curve=require_curve();elliptic.curves=require_curves();elliptic.ec=require_ec();elliptic.eddsa=require_eddsa()});var require_bn2=__commonJS((exports,module)=>{(function(module2,exports2){function assert(val,msg){if(!val)throw Error(msg||\"Assertion failed\")}function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}function BN(number,base,endian){if(BN.isBN(number))return number;if(this.negative=0,this.words=null,this.length=0,this.red=null,number!==null){if(base===\"le\"||base===\"be\")endian=base,base=10;this._init(number||0,base||10,endian||\"be\")}}if(typeof module2===\"object\")module2.exports=BN;else exports2.BN=BN;BN.BN=BN,BN.wordSize=26;var Buffer2;try{if(typeof window<\"u\"&&typeof window.Buffer<\"u\")Buffer2=window.Buffer;else Buffer2=require(\"buffer\").Buffer}catch(e){}BN.isBN=function(num){if(num instanceof BN)return!0;return num!==null&&typeof num===\"object\"&&num.constructor.wordSize===BN.wordSize&&Array.isArray(num.words)},BN.max=function(left,right){if(left.cmp(right)>0)return left;return right},BN.min=function(left,right){if(left.cmp(right)<0)return left;return right},BN.prototype._init=function(number,base,endian){if(typeof number===\"number\")return this._initNumber(number,base,endian);if(typeof number===\"object\")return this._initArray(number,base,endian);if(base===\"hex\")base=16;assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;if(number[0]===\"-\")start++,this.negative=1;if(start<number.length){if(base===16)this._parseHex(number,start,endian);else if(this._parseBase(number,base,start),endian===\"le\")this._initArray(this.toArray(),base,endian)}},BN.prototype._initNumber=function(number,base,endian){if(number<0)this.negative=1,number=-number;if(number<67108864)this.words=[number&67108863],this.length=1;else if(number<4503599627370496)this.words=[number&67108863,number/67108864&67108863],this.length=2;else assert(number<9007199254740992),this.words=[number&67108863,number/67108864&67108863,1],this.length=3;if(endian!==\"le\")return;this._initArray(this.toArray(),base,endian)},BN.prototype._initArray=function(number,base,endian){if(assert(typeof number.length===\"number\"),number.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(number.length/3),this.words=Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var j,w,off=0;if(endian===\"be\"){for(i=number.length-1,j=0;i>=0;i-=3)if(w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<<off&67108863,this.words[j+1]=w>>>26-off&67108863,off+=24,off>=26)off-=26,j++}else if(endian===\"le\"){for(i=0,j=0;i<number.length;i+=3)if(w=number[i]|number[i+1]<<8|number[i+2]<<16,this.words[j]|=w<<off&67108863,this.words[j+1]=w>>>26-off&67108863,off+=24,off>=26)off-=26,j++}return this.strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);if(c>=65&&c<=70)return c-55;else if(c>=97&&c<=102)return c-87;else return c-48&15}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);if(index-1>=lowerBound)r|=parseHex4Bits(string,index-1)<<4;return r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var off=0,j=0,w;if(endian===\"be\")for(i=number.length-1;i>=start;i-=2)if(w=parseHexByte(number,start,i)<<off,this.words[j]|=w&67108863,off>=18)off-=18,j+=1,this.words[j]|=w>>>26;else off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0?start+1:start;i<number.length;i+=2)if(w=parseHexByte(number,start,i)<<off,this.words[j]|=w&67108863,off>=18)off-=18,j+=1,this.words[j]|=w>>>26;else off+=8}this.strip()};function parseBase(str,start,end,mul){var r=0,len=Math.min(str.length,end);for(var i=start;i<len;i++){var c=str.charCodeAt(i)-48;if(r*=mul,c>=49)r+=c-49+10;else if(c>=17)r+=c-17+10;else r+=c}return r}BN.prototype._parseBase=function(number,base,start){this.words=[0],this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0;for(var i=start;i<end;i+=limbLen)if(word=parseBase(number,i,i+limbLen,base),this.imuln(limbPow),this.words[0]+word<67108864)this.words[0]+=word;else this._iaddn(word);if(mod!==0){var pow=1;word=parseBase(number,i,number.length,base);for(i=0;i<mod;i++)pow*=base;if(this.imuln(pow),this.words[0]+word<67108864)this.words[0]+=word;else this._iaddn(word)}this.strip()},BN.prototype.copy=function(dest){dest.words=Array(this.length);for(var i=0;i<this.length;i++)dest.words[i]=this.words[i];dest.length=this.length,dest.negative=this.negative,dest.red=this.red},BN.prototype.clone=function(){var r=new BN(null);return this.copy(r),r},BN.prototype._expand=function(size){while(this.length<size)this.words[this.length++]=0;return this},BN.prototype.strip=function(){while(this.length>1&&this.words[this.length-1]===0)this.length--;return this._normSign()},BN.prototype._normSign=function(){if(this.length===1&&this.words[0]===0)this.negative=0;return this},BN.prototype.inspect=function(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"};var zeros=[\"\",\"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\"],groupSizes=[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],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];if(BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";var off=0,carry=0;for(var i=0;i<this.length;i++){var w=this.words[i],word=((w<<off|carry)&16777215).toString(16);if(carry=w>>>24-off&16777215,off+=2,off>=26)off-=26,i--;if(carry!==0||i!==this.length-1)out=zeros[6-word.length]+word+out;else out=word+out}if(carry!==0)out=carry.toString(16)+out;while(out.length%padding!==0)out=\"0\"+out;if(this.negative!==0)out=\"-\"+out;return out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();c.negative=0;while(!c.isZero()){var r=c.modn(groupBase).toString(base);if(c=c.idivn(groupBase),!c.isZero())out=zeros[groupSize-r.length]+r+out;else out=r+out}if(this.isZero())out=\"0\"+out;while(out.length%padding!==0)out=\"0\"+out;if(this.negative!==0)out=\"-\"+out;return out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];if(this.length===2)ret+=this.words[1]*67108864;else if(this.length===3&&this.words[2]===1)ret+=4503599627370496+this.words[1]*67108864;else if(this.length>2)assert(!1,\"Number can only safely store up to 53 bits\");return this.negative!==0?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16)},BN.prototype.toBuffer=function(endian,length){return assert(typeof Buffer2<\"u\"),this.toArrayLike(Buffer2,endian,length)},BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)},BN.prototype.toArrayLike=function(ArrayType,endian,length){var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\"),this.strip();var littleEndian=endian===\"le\",res=new ArrayType(reqLength),b,i,q=this.clone();if(!littleEndian){for(i=0;i<reqLength-byteLength;i++)res[i]=0;for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[reqLength-i-1]=b}else{for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[i]=b;for(;i<reqLength;i++)res[i]=0}return res},Math.clz32)BN.prototype._countBits=function(w){return 32-Math.clz32(w)};else BN.prototype._countBits=function(w){var t=w,r=0;if(t>=4096)r+=13,t>>>=13;if(t>=64)r+=7,t>>>=7;if(t>=8)r+=4,t>>>=4;if(t>=2)r+=2,t>>>=2;return r+t};BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;if((t&8191)===0)r+=13,t>>>=13;if((t&127)===0)r+=7,t>>>=7;if((t&15)===0)r+=4,t>>>=4;if((t&3)===0)r+=2,t>>>=2;if((t&1)===0)r++;return r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){var w=Array(num.bitLength());for(var bit=0;bit<w.length;bit++){var off=bit/26|0,wbit=bit%26;w[bit]=(num.words[off]&1<<wbit)>>>wbit}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;var r=0;for(var i=0;i<this.length;i++){var b=this._zeroBits(this.words[i]);if(r+=b,b!==26)break}return r},BN.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},BN.prototype.toTwos=function(width){if(this.negative!==0)return this.abs().inotn(width).iaddn(1);return this.clone()},BN.prototype.fromTwos=function(width){if(this.testn(width-1))return this.notn(width).iaddn(1).ineg();return this.clone()},BN.prototype.isNeg=function(){return this.negative!==0},BN.prototype.neg=function(){return this.clone().ineg()},BN.prototype.ineg=function(){if(!this.isZero())this.negative^=1;return this},BN.prototype.iuor=function(num){while(this.length<num.length)this.words[this.length++]=0;for(var i=0;i<num.length;i++)this.words[i]=this.words[i]|num.words[i];return this.strip()},BN.prototype.ior=function(num){return assert((this.negative|num.negative)===0),this.iuor(num)},BN.prototype.or=function(num){if(this.length>num.length)return this.clone().ior(num);return num.clone().ior(this)},BN.prototype.uor=function(num){if(this.length>num.length)return this.clone().iuor(num);return num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;if(this.length>num.length)b=num;else b=this;for(var i=0;i<b.length;i++)this.words[i]=this.words[i]&num.words[i];return this.length=b.length,this.strip()},BN.prototype.iand=function(num){return assert((this.negative|num.negative)===0),this.iuand(num)},BN.prototype.and=function(num){if(this.length>num.length)return this.clone().iand(num);return num.clone().iand(this)},BN.prototype.uand=function(num){if(this.length>num.length)return this.clone().iuand(num);return num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;if(this.length>num.length)a=this,b=num;else a=num,b=this;for(var i=0;i<b.length;i++)this.words[i]=a.words[i]^b.words[i];if(this!==a)for(;i<a.length;i++)this.words[i]=a.words[i];return this.length=a.length,this.strip()},BN.prototype.ixor=function(num){return assert((this.negative|num.negative)===0),this.iuxor(num)},BN.prototype.xor=function(num){if(this.length>num.length)return this.clone().ixor(num);return num.clone().ixor(this)},BN.prototype.uxor=function(num){if(this.length>num.length)return this.clone().iuxor(num);return num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width===\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;if(this._expand(bytesNeeded),bitsLeft>0)bytesNeeded--;for(var i=0;i<bytesNeeded;i++)this.words[i]=~this.words[i]&67108863;if(bitsLeft>0)this.words[i]=~this.words[i]&67108863>>26-bitsLeft;return this.strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit===\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;if(this._expand(off+1),val)this.words[off]=this.words[off]|1<<wbit;else this.words[off]=this.words[off]&~(1<<wbit);return this.strip()},BN.prototype.iadd=function(num){var r;if(this.negative!==0&&num.negative===0)return this.negative=0,r=this.isub(num),this.negative^=1,this._normSign();else if(this.negative===0&&num.negative!==0)return num.negative=0,r=this.isub(num),num.negative=1,r._normSign();var a,b;if(this.length>num.length)a=this,b=num;else a=num,b=this;var carry=0;for(var i=0;i<b.length;i++)r=(a.words[i]|0)+(b.words[i]|0)+carry,this.words[i]=r&67108863,carry=r>>>26;for(;carry!==0&&i<a.length;i++)r=(a.words[i]|0)+carry,this.words[i]=r&67108863,carry=r>>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;i<a.length;i++)this.words[i]=a.words[i];return this},BN.prototype.add=function(num){var res;if(num.negative!==0&&this.negative===0)return num.negative=0,res=this.sub(num),num.negative^=1,res;else if(num.negative===0&&this.negative!==0)return this.negative=0,res=num.sub(this),this.negative=1,res;if(this.length>num.length)return this.clone().iadd(num);return num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;if(cmp>0)a=this,b=num;else a=num,b=this;var carry=0;for(var i=0;i<b.length;i++)r=(a.words[i]|0)-(b.words[i]|0)+carry,carry=r>>26,this.words[i]=r&67108863;for(;carry!==0&&i<a.length;i++)r=(a.words[i]|0)+carry,carry=r>>26,this.words[i]=r&67108863;if(carry===0&&i<a.length&&a!==this)for(;i<a.length;i++)this.words[i]=a.words[i];if(this.length=Math.max(this.length,i),a!==this)this.negative=1;return this.strip()},BN.prototype.sub=function(num){return this.clone().isub(num)};function smallMulTo(self2,num,out){out.negative=num.negative^self2.negative;var len=self2.length+num.length|0;out.length=len,len=len-1|0;var a=self2.words[0]|0,b=num.words[0]|0,r=a*b,lo=r&67108863,carry=r/67108864|0;out.words[0]=lo;for(var k=1;k<len;k++){var ncarry=carry>>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1);for(var j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}if(carry!==0)out.words[k]=carry|0;else out.length--;return out.strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;if(c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0)o[19]=c,out.length++;return out};if(!Math.imul)comb10MulTo=smallMulTo;function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;var carry=0,hncarry=0;for(var k=0;k<out.length-1;k++){var ncarry=hncarry;hncarry=0;var rword=carry&67108863,maxJ=Math.min(k,num.length-1);for(var j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j,a=self2.words[i]|0,b=num.words[j]|0,r=a*b,lo=r&67108863;ncarry=ncarry+(r/67108864|0)|0,lo=lo+rword|0,rword=lo&67108863,ncarry=ncarry+(lo>>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}if(carry!==0)out.words[k]=carry;else out.length--;return out.strip()}function jumboMulTo(self2,num,out){var fftm=new FFTM;return fftm.mulp(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;if(this.length===10&&num.length===10)res=comb10MulTo(this,num,out);else if(len<63)res=smallMulTo(this,num,out);else if(len<1024)res=bigMulTo(this,num,out);else res=jumboMulTo(this,num,out);return res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){var t=Array(N),l=BN.prototype._countBits(N)-1;for(var i=0;i<N;i++)t[i]=this.revBin(i,l,N);return t},FFTM.prototype.revBin=function(x,l,N){if(x===0||x===N-1)return x;var rb=0;for(var i=0;i<l;i++)rb|=(x&1)<<l-i-1,x>>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i<N;i++)rtws[i]=rws[rbt[i]],itws[i]=iws[rbt[i]]},FFTM.prototype.transform=function(rws,iws,rtws,itws,N,rbt){this.permute(rbt,rws,iws,rtws,itws,N);for(var s=1;s<N;s<<=1){var l=s<<1,rtwdf=Math.cos(2*Math.PI/l),itwdf=Math.sin(2*Math.PI/l);for(var p=0;p<N;p+=l){var rtwdf_=rtwdf,itwdf_=itwdf;for(var j=0;j<s;j++){var re=rtws[p+j],ie=itws[p+j],ro=rtws[p+j+s],io=itws[p+j+s],rx=rtwdf_*ro-itwdf_*io;if(io=rtwdf_*io+itwdf_*ro,ro=rx,rtws[p+j]=re+ro,itws[p+j]=ie+io,rtws[p+j+s]=re-ro,itws[p+j+s]=ie-io,j!==l)rx=rtwdf*rtwdf_-itwdf*itwdf_,itwdf_=rtwdf*itwdf_+itwdf*rtwdf_,rtwdf_=rx}}}},FFTM.prototype.guessLen13b=function(n,m){var N=Math.max(m,n)|1,odd=N&1,i=0;for(N=N/2|0;N;N=N>>>1)i++;return 1<<i+1+odd},FFTM.prototype.conjugate=function(rws,iws,N){if(N<=1)return;for(var i=0;i<N/2;i++){var t=rws[i];rws[i]=rws[N-i-1],rws[N-i-1]=t,t=iws[i],iws[i]=-iws[N-i-1],iws[N-i-1]=-t}},FFTM.prototype.normalize13b=function(ws,N){var carry=0;for(var i=0;i<N/2;i++){var w=Math.round(ws[2*i+1]/N)*8192+Math.round(ws[2*i]/N)+carry;if(ws[i]=w&67108863,w<67108864)carry=0;else carry=w/67108864|0}return ws},FFTM.prototype.convert13b=function(ws,len,rws,N){var carry=0;for(var i=0;i<len;i++)carry=carry+(ws[i]|0),rws[2*i]=carry&8191,carry=carry>>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i<N;++i)rws[i]=0;assert(carry===0),assert((carry&-8192)===0)},FFTM.prototype.stub=function(N){var ph=Array(N);for(var i=0;i<N;i++)ph[i]=0;return ph},FFTM.prototype.mulp=function(x,y,out){var N=2*this.guessLen13b(x.length,y.length),rbt=this.makeRBT(N),_=this.stub(N),rws=Array(N),rwst=Array(N),iwst=Array(N),nrws=Array(N),nrwst=Array(N),niwst=Array(N),rmws=out.words;rmws.length=N,this.convert13b(x.words,x.length,rws,N),this.convert13b(y.words,y.length,nrws,N),this.transform(rws,_,rwst,iwst,N,rbt),this.transform(nrws,_,nrwst,niwst,N,rbt);for(var i=0;i<N;i++){var rx=rwst[i]*nrwst[i]-iwst[i]*niwst[i];iwst[i]=rwst[i]*niwst[i]+iwst[i]*nrwst[i],rwst[i]=rx}return this.conjugate(rwst,iwst,N),this.transform(rwst,iwst,rmws,_,N,rbt),this.conjugate(rmws,_,N),this.normalize13b(rmws,N),out.negative=x.negative^y.negative,out.length=x.length+y.length,out.strip()},BN.prototype.mul=function(num){var out=new BN(null);return out.words=Array(this.length+num.length),this.mulTo(num,out)},BN.prototype.mulf=function(num){var out=new BN(null);return out.words=Array(this.length+num.length),jumboMulTo(this,num,out)},BN.prototype.imul=function(num){return this.clone().mulTo(num,this)},BN.prototype.imuln=function(num){assert(typeof num===\"number\"),assert(num<67108864);var carry=0;for(var i=0;i<this.length;i++){var w=(this.words[i]|0)*num,lo=(w&67108863)+(carry&67108863);carry>>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}if(carry!==0)this.words[i]=carry,this.length++;return this.length=num===0?1:this.length,this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);var res=this;for(var i=0;i<w.length;i++,res=res.sqr())if(w[i]!==0)break;if(++i<w.length)for(var q=res.sqr();i<w.length;i++,q=q.sqr()){if(w[i]===0)continue;res=res.mul(q)}return res},BN.prototype.iushln=function(bits){assert(typeof bits===\"number\"&&bits>=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i<this.length;i++){var newCarry=this.words[i]&carryMask,c=(this.words[i]|0)-newCarry<<r;this.words[i]=c|carry,carry=newCarry>>>26-r}if(carry)this.words[i]=carry,this.length++}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i<s;i++)this.words[i]=0;this.length+=s}return this.strip()},BN.prototype.ishln=function(bits){return assert(this.negative===0),this.iushln(bits)},BN.prototype.iushrn=function(bits,hint,extended){assert(typeof bits===\"number\"&&bits>=0);var h;if(hint)h=(hint-hint%26)/26;else h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<<r,maskedWords=extended;if(h-=s,h=Math.max(0,h),maskedWords){for(var i=0;i<s;i++)maskedWords.words[i]=this.words[i];maskedWords.length=s}if(s===0);else if(this.length>s){this.length-=s;for(i=0;i<this.length;i++)this.words[i]=this.words[i+s]}else this.words[0]=0,this.length=1;var carry=0;for(i=this.length-1;i>=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}if(maskedWords&&carry!==0)maskedWords.words[maskedWords.length++]=carry;if(this.length===0)this.words[0]=0,this.length=1;return this.strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit===\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<<r;if(this.length<=s)return!1;var w=this.words[s];return!!(w&q)},BN.prototype.imaskn=function(bits){assert(typeof bits===\"number\"&&bits>=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0)s++;if(this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<<r;this.words[this.length-1]&=mask}return this.strip()},BN.prototype.maskn=function(bits){return this.clone().imaskn(bits)},BN.prototype.iaddn=function(num){if(assert(typeof num===\"number\"),assert(num<67108864),num<0)return this.isubn(-num);if(this.negative!==0){if(this.length===1&&(this.words[0]|0)<num)return this.words[0]=num-(this.words[0]|0),this.negative=0,this;return this.negative=0,this.isubn(num),this.negative=1,this}return this._iaddn(num)},BN.prototype._iaddn=function(num){this.words[0]+=num;for(var i=0;i<this.length&&this.words[i]>=67108864;i++)if(this.words[i]-=67108864,i===this.length-1)this.words[i+1]=1;else this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num===\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&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()},BN.prototype.addn=function(num){return this.clone().iaddn(num)},BN.prototype.subn=function(num){return this.clone().isubn(num)},BN.prototype.iabs=function(){return this.negative=0,this},BN.prototype.abs=function(){return this.clone().iabs()},BN.prototype._ishlnsubmul=function(num,mul,shift){var len=num.length+shift,i;this._expand(len);var w,carry=0;for(i=0;i<num.length;i++){w=(this.words[i+shift]|0)+carry;var right=(num.words[i]|0)*mul;w-=right&67108863,carry=(w>>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i<this.length-shift;i++)w=(this.words[i+shift]|0)+carry,carry=w>>26,this.words[i+shift]=w&67108863;if(carry===0)return this.strip();assert(carry===-1),carry=0;for(i=0;i<this.length;i++)w=-(this.words[i]|0)+carry,carry=w>>26,this.words[i]=w&67108863;return this.negative=1,this.strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);if(shift=26-bhiBits,shift!==0)b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0;var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=Array(q.length);for(var i=0;i<q.length;i++)q.words[i]=0}var diff=a.clone()._ishlnsubmul(b,1,m);if(diff.negative===0){if(a=diff,q)q.words[m]=1}for(var j=m-1;j>=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);while(a.negative!==0)if(qj--,a.negative=0,a._ishlnsubmul(b,1,j),!a.isZero())a.negative^=1;if(q)q.words[j]=qj}if(q)q.strip();if(a.strip(),mode!==\"div\"&&shift!==0)a.iushrn(shift);return{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;if(this.negative!==0&&num.negative===0){if(res=this.neg().divmod(num,mode),mode!==\"mod\")div=res.div.neg();if(mode!==\"div\"){if(mod=res.mod.neg(),positive&&mod.negative!==0)mod.iadd(num)}return{div,mod}}if(this.negative===0&&num.negative!==0){if(res=this.divmod(num.neg(),mode),mode!==\"mod\")div=res.div.neg();return{div,mod:res.mod}}if((this.negative&num.negative)!==0){if(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"){if(mod=res.mod.neg(),positive&&mod.negative!==0)mod.isub(num)}return{div:res.div,mod}}if(num.length>this.length||this.cmp(num)<0)return{div:new BN(0),mod:this};if(num.length===1){if(mode===\"div\")return{div:this.divn(num.words[0]),mod:null};if(mode===\"mod\")return{div:null,mod:new BN(this.modn(num.words[0]))};return{div:this.divn(num.words[0]),mod:new BN(this.modn(num.words[0]))}}return this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);if(cmp<0||r2===1&&cmp===0)return dm.div;return dm.div.negative!==0?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modn=function(num){assert(num<=67108863);var p=67108864%num,acc=0;for(var i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return acc},BN.prototype.idivn=function(num){assert(num<=67108863);var carry=0;for(var i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this.strip()},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();if(x.negative!==0)x=x.umod(p);else x=x.clone();var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;while(x.isEven()&&y.isEven())x.iushrn(1),y.iushrn(1),++g;var yp=y.clone(),xp=x.clone();while(!x.isZero()){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0){x.iushrn(i);while(i-- >0){if(A.isOdd()||B.isOdd())A.iadd(yp),B.isub(xp);A.iushrn(1),B.iushrn(1)}}for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0){y.iushrn(j);while(j-- >0){if(C.isOdd()||D.isOdd())C.iadd(yp),D.isub(xp);C.iushrn(1),D.iushrn(1)}}if(x.cmp(y)>=0)x.isub(y),A.isub(C),B.isub(D);else y.isub(x),C.isub(A),D.isub(B)}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();if(a.negative!==0)a=a.umod(p);else a=a.clone();var x1=new BN(1),x2=new BN(0),delta=b.clone();while(a.cmpn(1)>0&&b.cmpn(1)>0){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0){a.iushrn(i);while(i-- >0){if(x1.isOdd())x1.iadd(delta);x1.iushrn(1)}}for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0){b.iushrn(j);while(j-- >0){if(x2.isOdd())x2.iadd(delta);x2.iushrn(1)}}if(a.cmp(b)>=0)a.isub(b),x1.isub(x2);else b.isub(a),x2.isub(x1)}var res;if(a.cmpn(1)===0)res=x1;else res=x2;if(res.cmpn(0)<0)res.iadd(p);return res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{while(a.isEven())a.iushrn(1);while(b.isEven())b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit===\"number\");var r=bit%26,s=(bit-r)/26,q=1<<r;if(this.length<=s)return this._expand(s+1),this.words[s]|=q,this;var carry=q;for(var i=s;carry!==0&&i<this.length;i++){var w=this.words[i]|0;w+=carry,carry=w>>>26,w&=67108863,this.words[i]=w}if(carry!==0)this.words[i]=carry,this.length++;return this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this.strip();var res;if(this.length>1)res=1;else{if(negative)num=-num;assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num?0:w<num?-1:1}if(this.negative!==0)return-res|0;return res},BN.prototype.cmp=function(num){if(this.negative!==0&&num.negative===0)return-1;if(this.negative===0&&num.negative!==0)return 1;var res=this.ucmp(num);if(this.negative!==0)return-res|0;return res},BN.prototype.ucmp=function(num){if(this.length>num.length)return 1;if(this.length<num.length)return-1;var res=0;for(var i=this.length-1;i>=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a===b)continue;if(a<b)res=-1;else if(a>b)res=1;break}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen<this.n?-1:r.ucmp(this.p);if(cmp===0)r.words[0]=0,r.length=1;else if(cmp>0)r.isub(this.p);else if(r.strip!==void 0)r.strip();else r._strip();return r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){var mask=4194303,outLen=Math.min(input.length,9);for(var i=0;i<outLen;i++)output.words[i]=input.words[i];if(output.length=outLen,input.length<=9){input.words[0]=0,input.length=1;return}var prev=input.words[9];output.words[output.length++]=prev&mask;for(i=10;i<input.length;i++){var next=input.words[i]|0;input.words[i-10]=(next&mask)<<4|prev>>>22,prev=next}if(prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10)input.length-=10;else input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;var lo=0;for(var i=0;i<num.length;i++){var w=num.words[i]|0;lo+=w*977,num.words[i]=lo&67108863,lo=w*64+(lo/67108864|0)}if(num.words[num.length-1]===0){if(num.length--,num.words[num.length-1]===0)num.length--}return num};function P224(){MPrime.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}inherits(P224,MPrime);function P192(){MPrime.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}inherits(P192,MPrime);function P25519(){MPrime.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}inherits(P25519,MPrime),P25519.prototype.imulK=function(num){var carry=0;for(var i=0;i<num.length;i++){var hi=(num.words[i]|0)*19+carry,lo=hi&67108863;hi>>>=26,num.words[i]=lo,carry=hi}if(carry!==0)num.words[num.length++]=carry;return num},BN._prime=function(name){if(primes[name])return primes[name];var prime2;if(name===\"k256\")prime2=new K256;else if(name===\"p224\")prime2=new P224;else if(name===\"p192\")prime2=new P192;else if(name===\"p25519\")prime2=new P25519;else throw Error(\"Unknown prime \"+name);return primes[name]=prime2,prime2};function Red(m){if(typeof m===\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){if(this.prime)return this.prime.ireduce(a)._forceRed(this);return a.umod(this.m)._forceRed(this)},Red.prototype.neg=function(a){if(a.isZero())return a.clone();return this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);if(res.cmp(this.m)>=0)res.isub(this.m);return res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);if(res.cmp(this.m)>=0)res.isub(this.m);return res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);if(res.cmpn(0)<0)res.iadd(this.m);return res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);if(res.cmpn(0)<0)res.iadd(this.m);return res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}var q=this.m.subn(1),s=0;while(!q.isZero()&&q.andln(1)===0)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();z=new BN(2*z*z).toRed(this);while(this.pow(z,lpow).cmp(nOne)!==0)z.redIAdd(nOne);var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;while(t.cmp(one)!==0){var tmp=t;for(var i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i<m);var b=this.pow(c,new BN(1).iushln(m-i-1));r=r.redMul(b),c=b.redSqr(),t=t.redMul(c),m=i}return r},Red.prototype.invm=function(a){var inv=a._invmp(this.m);if(inv.negative!==0)return inv.negative=0,this.imod(inv).redNeg();else return this.imod(inv)},Red.prototype.pow=function(a,num){if(num.isZero())return new BN(1).toRed(this);if(num.cmpn(1)===0)return a.clone();var windowSize=4,wnd=Array(1<<windowSize);wnd[0]=new BN(1).toRed(this),wnd[1]=a;for(var i=2;i<wnd.length;i++)wnd[i]=this.mul(wnd[i-1],a);var res=wnd[0],current=0,currentLen=0,start=num.bitLength()%26;if(start===0)start=26;for(i=num.length-1;i>=0;i--){var word=num.words[i];for(var j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0])res=this.sqr(res);if(bit===0&¤t===0){currentLen=0;continue}if(current<<=1,current|=bit,currentLen++,currentLen!==windowSize&&(i!==0||j!==0))continue;res=this.mul(res,wnd[current]),currentLen=0,current=0}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){if(Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0)this.shift+=26-this.shift%26;this.r=new BN(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)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;if(u.cmp(this.m)>=0)res=u.isub(this.m);else if(u.cmpn(0)<0)res=u.iadd(this.m);return res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;if(u.cmp(this.m)>=0)res=u.isub(this.m);else if(u.cmpn(0)<0)res=u.iadd(this.m);return res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)});var require_browser=__commonJS((exports,module)=>{var elliptic=require_elliptic(),BN=require_bn2();module.exports=function(curve){return new ECDH(curve)};var aliases={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}};aliases.p224=aliases.secp224r1;aliases.p256=aliases.secp256r1=aliases.prime256v1;aliases.p192=aliases.secp192r1=aliases.prime192v1;aliases.p384=aliases.secp384r1;aliases.p521=aliases.secp521r1;function ECDH(curve){if(this.curveType=aliases[curve],!this.curveType)this.curveType={name:curve};this.curve=new elliptic.ec(this.curveType.name),this.keys=void 0}ECDH.prototype.generateKeys=function(enc,format){return this.keys=this.curve.genKeyPair(),this.getPublicKey(enc,format)};ECDH.prototype.computeSecret=function(other,inenc,enc){if(inenc=inenc||\"utf8\",!Buffer.isBuffer(other))other=new Buffer(other,inenc);var otherPub=this.curve.keyFromPublic(other).getPublic(),out=otherPub.mul(this.keys.getPrivate()).getX();return formatReturnValue(out,enc,this.curveType.byteLength)};ECDH.prototype.getPublicKey=function(enc,format){var key=this.keys.getPublic(format===\"compressed\",!0);if(format===\"hybrid\")if(key[key.length-1]%2)key[0]=7;else key[0]=6;return formatReturnValue(key,enc)};ECDH.prototype.getPrivateKey=function(enc){return formatReturnValue(this.keys.getPrivate(),enc)};ECDH.prototype.setPublicKey=function(pub,enc){if(enc=enc||\"utf8\",!Buffer.isBuffer(pub))pub=new Buffer(pub,enc);return this.keys._importPublic(pub),this};ECDH.prototype.setPrivateKey=function(priv,enc){if(enc=enc||\"utf8\",!Buffer.isBuffer(priv))priv=new Buffer(priv,enc);var _priv=new BN(priv);return _priv=_priv.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(_priv),this};function formatReturnValue(bn,enc,len){if(!Array.isArray(bn))bn=bn.toArray();var buf=new Buffer(bn);if(len&&buf.length<len){var zeros=new Buffer(len-buf.length);zeros.fill(0),buf=Buffer.concat([zeros,buf])}if(!enc)return buf;else return buf.toString(enc)}});var require_create_ecdh=__commonJS((exports,module)=>{var createECDH=require(\"crypto\").createECDH;module.exports=createECDH||require_browser()});var require_bn3=__commonJS((exports,module)=>{(function(module2,exports2){function assert(val,msg){if(!val)throw Error(msg||\"Assertion failed\")}function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}function BN(number,base,endian){if(BN.isBN(number))return number;if(this.negative=0,this.words=null,this.length=0,this.red=null,number!==null){if(base===\"le\"||base===\"be\")endian=base,base=10;this._init(number||0,base||10,endian||\"be\")}}if(typeof module2===\"object\")module2.exports=BN;else exports2.BN=BN;BN.BN=BN,BN.wordSize=26;var Buffer2;try{if(typeof window<\"u\"&&typeof window.Buffer<\"u\")Buffer2=window.Buffer;else Buffer2=require(\"buffer\").Buffer}catch(e){}BN.isBN=function(num){if(num instanceof BN)return!0;return num!==null&&typeof num===\"object\"&&num.constructor.wordSize===BN.wordSize&&Array.isArray(num.words)},BN.max=function(left,right){if(left.cmp(right)>0)return left;return right},BN.min=function(left,right){if(left.cmp(right)<0)return left;return right},BN.prototype._init=function(number,base,endian){if(typeof number===\"number\")return this._initNumber(number,base,endian);if(typeof number===\"object\")return this._initArray(number,base,endian);if(base===\"hex\")base=16;assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;if(number[0]===\"-\")start++,this.negative=1;if(start<number.length){if(base===16)this._parseHex(number,start,endian);else if(this._parseBase(number,base,start),endian===\"le\")this._initArray(this.toArray(),base,endian)}},BN.prototype._initNumber=function(number,base,endian){if(number<0)this.negative=1,number=-number;if(number<67108864)this.words=[number&67108863],this.length=1;else if(number<4503599627370496)this.words=[number&67108863,number/67108864&67108863],this.length=2;else assert(number<9007199254740992),this.words=[number&67108863,number/67108864&67108863,1],this.length=3;if(endian!==\"le\")return;this._initArray(this.toArray(),base,endian)},BN.prototype._initArray=function(number,base,endian){if(assert(typeof number.length===\"number\"),number.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(number.length/3),this.words=Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var j,w,off=0;if(endian===\"be\"){for(i=number.length-1,j=0;i>=0;i-=3)if(w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<<off&67108863,this.words[j+1]=w>>>26-off&67108863,off+=24,off>=26)off-=26,j++}else if(endian===\"le\"){for(i=0,j=0;i<number.length;i+=3)if(w=number[i]|number[i+1]<<8|number[i+2]<<16,this.words[j]|=w<<off&67108863,this.words[j+1]=w>>>26-off&67108863,off+=24,off>=26)off-=26,j++}return this.strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);if(c>=65&&c<=70)return c-55;else if(c>=97&&c<=102)return c-87;else return c-48&15}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);if(index-1>=lowerBound)r|=parseHex4Bits(string,index-1)<<4;return r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var off=0,j=0,w;if(endian===\"be\")for(i=number.length-1;i>=start;i-=2)if(w=parseHexByte(number,start,i)<<off,this.words[j]|=w&67108863,off>=18)off-=18,j+=1,this.words[j]|=w>>>26;else off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0?start+1:start;i<number.length;i+=2)if(w=parseHexByte(number,start,i)<<off,this.words[j]|=w&67108863,off>=18)off-=18,j+=1,this.words[j]|=w>>>26;else off+=8}this.strip()};function parseBase(str,start,end,mul){var r=0,len=Math.min(str.length,end);for(var i=start;i<len;i++){var c=str.charCodeAt(i)-48;if(r*=mul,c>=49)r+=c-49+10;else if(c>=17)r+=c-17+10;else r+=c}return r}BN.prototype._parseBase=function(number,base,start){this.words=[0],this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0;for(var i=start;i<end;i+=limbLen)if(word=parseBase(number,i,i+limbLen,base),this.imuln(limbPow),this.words[0]+word<67108864)this.words[0]+=word;else this._iaddn(word);if(mod!==0){var pow=1;word=parseBase(number,i,number.length,base);for(i=0;i<mod;i++)pow*=base;if(this.imuln(pow),this.words[0]+word<67108864)this.words[0]+=word;else this._iaddn(word)}this.strip()},BN.prototype.copy=function(dest){dest.words=Array(this.length);for(var i=0;i<this.length;i++)dest.words[i]=this.words[i];dest.length=this.length,dest.negative=this.negative,dest.red=this.red},BN.prototype.clone=function(){var r=new BN(null);return this.copy(r),r},BN.prototype._expand=function(size){while(this.length<size)this.words[this.length++]=0;return this},BN.prototype.strip=function(){while(this.length>1&&this.words[this.length-1]===0)this.length--;return this._normSign()},BN.prototype._normSign=function(){if(this.length===1&&this.words[0]===0)this.negative=0;return this},BN.prototype.inspect=function(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"};var zeros=[\"\",\"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\"],groupSizes=[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],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];if(BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";var off=0,carry=0;for(var i=0;i<this.length;i++){var w=this.words[i],word=((w<<off|carry)&16777215).toString(16);if(carry=w>>>24-off&16777215,off+=2,off>=26)off-=26,i--;if(carry!==0||i!==this.length-1)out=zeros[6-word.length]+word+out;else out=word+out}if(carry!==0)out=carry.toString(16)+out;while(out.length%padding!==0)out=\"0\"+out;if(this.negative!==0)out=\"-\"+out;return out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();c.negative=0;while(!c.isZero()){var r=c.modn(groupBase).toString(base);if(c=c.idivn(groupBase),!c.isZero())out=zeros[groupSize-r.length]+r+out;else out=r+out}if(this.isZero())out=\"0\"+out;while(out.length%padding!==0)out=\"0\"+out;if(this.negative!==0)out=\"-\"+out;return out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];if(this.length===2)ret+=this.words[1]*67108864;else if(this.length===3&&this.words[2]===1)ret+=4503599627370496+this.words[1]*67108864;else if(this.length>2)assert(!1,\"Number can only safely store up to 53 bits\");return this.negative!==0?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16)},BN.prototype.toBuffer=function(endian,length){return assert(typeof Buffer2<\"u\"),this.toArrayLike(Buffer2,endian,length)},BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)},BN.prototype.toArrayLike=function(ArrayType,endian,length){var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\"),this.strip();var littleEndian=endian===\"le\",res=new ArrayType(reqLength),b,i,q=this.clone();if(!littleEndian){for(i=0;i<reqLength-byteLength;i++)res[i]=0;for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[reqLength-i-1]=b}else{for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[i]=b;for(;i<reqLength;i++)res[i]=0}return res},Math.clz32)BN.prototype._countBits=function(w){return 32-Math.clz32(w)};else BN.prototype._countBits=function(w){var t=w,r=0;if(t>=4096)r+=13,t>>>=13;if(t>=64)r+=7,t>>>=7;if(t>=8)r+=4,t>>>=4;if(t>=2)r+=2,t>>>=2;return r+t};BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;if((t&8191)===0)r+=13,t>>>=13;if((t&127)===0)r+=7,t>>>=7;if((t&15)===0)r+=4,t>>>=4;if((t&3)===0)r+=2,t>>>=2;if((t&1)===0)r++;return r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){var w=Array(num.bitLength());for(var bit=0;bit<w.length;bit++){var off=bit/26|0,wbit=bit%26;w[bit]=(num.words[off]&1<<wbit)>>>wbit}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;var r=0;for(var i=0;i<this.length;i++){var b=this._zeroBits(this.words[i]);if(r+=b,b!==26)break}return r},BN.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},BN.prototype.toTwos=function(width){if(this.negative!==0)return this.abs().inotn(width).iaddn(1);return this.clone()},BN.prototype.fromTwos=function(width){if(this.testn(width-1))return this.notn(width).iaddn(1).ineg();return this.clone()},BN.prototype.isNeg=function(){return this.negative!==0},BN.prototype.neg=function(){return this.clone().ineg()},BN.prototype.ineg=function(){if(!this.isZero())this.negative^=1;return this},BN.prototype.iuor=function(num){while(this.length<num.length)this.words[this.length++]=0;for(var i=0;i<num.length;i++)this.words[i]=this.words[i]|num.words[i];return this.strip()},BN.prototype.ior=function(num){return assert((this.negative|num.negative)===0),this.iuor(num)},BN.prototype.or=function(num){if(this.length>num.length)return this.clone().ior(num);return num.clone().ior(this)},BN.prototype.uor=function(num){if(this.length>num.length)return this.clone().iuor(num);return num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;if(this.length>num.length)b=num;else b=this;for(var i=0;i<b.length;i++)this.words[i]=this.words[i]&num.words[i];return this.length=b.length,this.strip()},BN.prototype.iand=function(num){return assert((this.negative|num.negative)===0),this.iuand(num)},BN.prototype.and=function(num){if(this.length>num.length)return this.clone().iand(num);return num.clone().iand(this)},BN.prototype.uand=function(num){if(this.length>num.length)return this.clone().iuand(num);return num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;if(this.length>num.length)a=this,b=num;else a=num,b=this;for(var i=0;i<b.length;i++)this.words[i]=a.words[i]^b.words[i];if(this!==a)for(;i<a.length;i++)this.words[i]=a.words[i];return this.length=a.length,this.strip()},BN.prototype.ixor=function(num){return assert((this.negative|num.negative)===0),this.iuxor(num)},BN.prototype.xor=function(num){if(this.length>num.length)return this.clone().ixor(num);return num.clone().ixor(this)},BN.prototype.uxor=function(num){if(this.length>num.length)return this.clone().iuxor(num);return num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width===\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;if(this._expand(bytesNeeded),bitsLeft>0)bytesNeeded--;for(var i=0;i<bytesNeeded;i++)this.words[i]=~this.words[i]&67108863;if(bitsLeft>0)this.words[i]=~this.words[i]&67108863>>26-bitsLeft;return this.strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit===\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;if(this._expand(off+1),val)this.words[off]=this.words[off]|1<<wbit;else this.words[off]=this.words[off]&~(1<<wbit);return this.strip()},BN.prototype.iadd=function(num){var r;if(this.negative!==0&&num.negative===0)return this.negative=0,r=this.isub(num),this.negative^=1,this._normSign();else if(this.negative===0&&num.negative!==0)return num.negative=0,r=this.isub(num),num.negative=1,r._normSign();var a,b;if(this.length>num.length)a=this,b=num;else a=num,b=this;var carry=0;for(var i=0;i<b.length;i++)r=(a.words[i]|0)+(b.words[i]|0)+carry,this.words[i]=r&67108863,carry=r>>>26;for(;carry!==0&&i<a.length;i++)r=(a.words[i]|0)+carry,this.words[i]=r&67108863,carry=r>>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;i<a.length;i++)this.words[i]=a.words[i];return this},BN.prototype.add=function(num){var res;if(num.negative!==0&&this.negative===0)return num.negative=0,res=this.sub(num),num.negative^=1,res;else if(num.negative===0&&this.negative!==0)return this.negative=0,res=num.sub(this),this.negative=1,res;if(this.length>num.length)return this.clone().iadd(num);return num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;if(cmp>0)a=this,b=num;else a=num,b=this;var carry=0;for(var i=0;i<b.length;i++)r=(a.words[i]|0)-(b.words[i]|0)+carry,carry=r>>26,this.words[i]=r&67108863;for(;carry!==0&&i<a.length;i++)r=(a.words[i]|0)+carry,carry=r>>26,this.words[i]=r&67108863;if(carry===0&&i<a.length&&a!==this)for(;i<a.length;i++)this.words[i]=a.words[i];if(this.length=Math.max(this.length,i),a!==this)this.negative=1;return this.strip()},BN.prototype.sub=function(num){return this.clone().isub(num)};function smallMulTo(self2,num,out){out.negative=num.negative^self2.negative;var len=self2.length+num.length|0;out.length=len,len=len-1|0;var a=self2.words[0]|0,b=num.words[0]|0,r=a*b,lo=r&67108863,carry=r/67108864|0;out.words[0]=lo;for(var k=1;k<len;k++){var ncarry=carry>>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1);for(var j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}if(carry!==0)out.words[k]=carry|0;else out.length--;return out.strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;if(c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0)o[19]=c,out.length++;return out};if(!Math.imul)comb10MulTo=smallMulTo;function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;var carry=0,hncarry=0;for(var k=0;k<out.length-1;k++){var ncarry=hncarry;hncarry=0;var rword=carry&67108863,maxJ=Math.min(k,num.length-1);for(var j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j,a=self2.words[i]|0,b=num.words[j]|0,r=a*b,lo=r&67108863;ncarry=ncarry+(r/67108864|0)|0,lo=lo+rword|0,rword=lo&67108863,ncarry=ncarry+(lo>>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}if(carry!==0)out.words[k]=carry;else out.length--;return out.strip()}function jumboMulTo(self2,num,out){var fftm=new FFTM;return fftm.mulp(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;if(this.length===10&&num.length===10)res=comb10MulTo(this,num,out);else if(len<63)res=smallMulTo(this,num,out);else if(len<1024)res=bigMulTo(this,num,out);else res=jumboMulTo(this,num,out);return res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){var t=Array(N),l=BN.prototype._countBits(N)-1;for(var i=0;i<N;i++)t[i]=this.revBin(i,l,N);return t},FFTM.prototype.revBin=function(x,l,N){if(x===0||x===N-1)return x;var rb=0;for(var i=0;i<l;i++)rb|=(x&1)<<l-i-1,x>>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i<N;i++)rtws[i]=rws[rbt[i]],itws[i]=iws[rbt[i]]},FFTM.prototype.transform=function(rws,iws,rtws,itws,N,rbt){this.permute(rbt,rws,iws,rtws,itws,N);for(var s=1;s<N;s<<=1){var l=s<<1,rtwdf=Math.cos(2*Math.PI/l),itwdf=Math.sin(2*Math.PI/l);for(var p=0;p<N;p+=l){var rtwdf_=rtwdf,itwdf_=itwdf;for(var j=0;j<s;j++){var re=rtws[p+j],ie=itws[p+j],ro=rtws[p+j+s],io=itws[p+j+s],rx=rtwdf_*ro-itwdf_*io;if(io=rtwdf_*io+itwdf_*ro,ro=rx,rtws[p+j]=re+ro,itws[p+j]=ie+io,rtws[p+j+s]=re-ro,itws[p+j+s]=ie-io,j!==l)rx=rtwdf*rtwdf_-itwdf*itwdf_,itwdf_=rtwdf*itwdf_+itwdf*rtwdf_,rtwdf_=rx}}}},FFTM.prototype.guessLen13b=function(n,m){var N=Math.max(m,n)|1,odd=N&1,i=0;for(N=N/2|0;N;N=N>>>1)i++;return 1<<i+1+odd},FFTM.prototype.conjugate=function(rws,iws,N){if(N<=1)return;for(var i=0;i<N/2;i++){var t=rws[i];rws[i]=rws[N-i-1],rws[N-i-1]=t,t=iws[i],iws[i]=-iws[N-i-1],iws[N-i-1]=-t}},FFTM.prototype.normalize13b=function(ws,N){var carry=0;for(var i=0;i<N/2;i++){var w=Math.round(ws[2*i+1]/N)*8192+Math.round(ws[2*i]/N)+carry;if(ws[i]=w&67108863,w<67108864)carry=0;else carry=w/67108864|0}return ws},FFTM.prototype.convert13b=function(ws,len,rws,N){var carry=0;for(var i=0;i<len;i++)carry=carry+(ws[i]|0),rws[2*i]=carry&8191,carry=carry>>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i<N;++i)rws[i]=0;assert(carry===0),assert((carry&-8192)===0)},FFTM.prototype.stub=function(N){var ph=Array(N);for(var i=0;i<N;i++)ph[i]=0;return ph},FFTM.prototype.mulp=function(x,y,out){var N=2*this.guessLen13b(x.length,y.length),rbt=this.makeRBT(N),_=this.stub(N),rws=Array(N),rwst=Array(N),iwst=Array(N),nrws=Array(N),nrwst=Array(N),niwst=Array(N),rmws=out.words;rmws.length=N,this.convert13b(x.words,x.length,rws,N),this.convert13b(y.words,y.length,nrws,N),this.transform(rws,_,rwst,iwst,N,rbt),this.transform(nrws,_,nrwst,niwst,N,rbt);for(var i=0;i<N;i++){var rx=rwst[i]*nrwst[i]-iwst[i]*niwst[i];iwst[i]=rwst[i]*niwst[i]+iwst[i]*nrwst[i],rwst[i]=rx}return this.conjugate(rwst,iwst,N),this.transform(rwst,iwst,rmws,_,N,rbt),this.conjugate(rmws,_,N),this.normalize13b(rmws,N),out.negative=x.negative^y.negative,out.length=x.length+y.length,out.strip()},BN.prototype.mul=function(num){var out=new BN(null);return out.words=Array(this.length+num.length),this.mulTo(num,out)},BN.prototype.mulf=function(num){var out=new BN(null);return out.words=Array(this.length+num.length),jumboMulTo(this,num,out)},BN.prototype.imul=function(num){return this.clone().mulTo(num,this)},BN.prototype.imuln=function(num){assert(typeof num===\"number\"),assert(num<67108864);var carry=0;for(var i=0;i<this.length;i++){var w=(this.words[i]|0)*num,lo=(w&67108863)+(carry&67108863);carry>>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}if(carry!==0)this.words[i]=carry,this.length++;return this.length=num===0?1:this.length,this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);var res=this;for(var i=0;i<w.length;i++,res=res.sqr())if(w[i]!==0)break;if(++i<w.length)for(var q=res.sqr();i<w.length;i++,q=q.sqr()){if(w[i]===0)continue;res=res.mul(q)}return res},BN.prototype.iushln=function(bits){assert(typeof bits===\"number\"&&bits>=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i<this.length;i++){var newCarry=this.words[i]&carryMask,c=(this.words[i]|0)-newCarry<<r;this.words[i]=c|carry,carry=newCarry>>>26-r}if(carry)this.words[i]=carry,this.length++}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i<s;i++)this.words[i]=0;this.length+=s}return this.strip()},BN.prototype.ishln=function(bits){return assert(this.negative===0),this.iushln(bits)},BN.prototype.iushrn=function(bits,hint,extended){assert(typeof bits===\"number\"&&bits>=0);var h;if(hint)h=(hint-hint%26)/26;else h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<<r,maskedWords=extended;if(h-=s,h=Math.max(0,h),maskedWords){for(var i=0;i<s;i++)maskedWords.words[i]=this.words[i];maskedWords.length=s}if(s===0);else if(this.length>s){this.length-=s;for(i=0;i<this.length;i++)this.words[i]=this.words[i+s]}else this.words[0]=0,this.length=1;var carry=0;for(i=this.length-1;i>=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}if(maskedWords&&carry!==0)maskedWords.words[maskedWords.length++]=carry;if(this.length===0)this.words[0]=0,this.length=1;return this.strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit===\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<<r;if(this.length<=s)return!1;var w=this.words[s];return!!(w&q)},BN.prototype.imaskn=function(bits){assert(typeof bits===\"number\"&&bits>=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0)s++;if(this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<<r;this.words[this.length-1]&=mask}return this.strip()},BN.prototype.maskn=function(bits){return this.clone().imaskn(bits)},BN.prototype.iaddn=function(num){if(assert(typeof num===\"number\"),assert(num<67108864),num<0)return this.isubn(-num);if(this.negative!==0){if(this.length===1&&(this.words[0]|0)<num)return this.words[0]=num-(this.words[0]|0),this.negative=0,this;return this.negative=0,this.isubn(num),this.negative=1,this}return this._iaddn(num)},BN.prototype._iaddn=function(num){this.words[0]+=num;for(var i=0;i<this.length&&this.words[i]>=67108864;i++)if(this.words[i]-=67108864,i===this.length-1)this.words[i+1]=1;else this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num===\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&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()},BN.prototype.addn=function(num){return this.clone().iaddn(num)},BN.prototype.subn=function(num){return this.clone().isubn(num)},BN.prototype.iabs=function(){return this.negative=0,this},BN.prototype.abs=function(){return this.clone().iabs()},BN.prototype._ishlnsubmul=function(num,mul,shift){var len=num.length+shift,i;this._expand(len);var w,carry=0;for(i=0;i<num.length;i++){w=(this.words[i+shift]|0)+carry;var right=(num.words[i]|0)*mul;w-=right&67108863,carry=(w>>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i<this.length-shift;i++)w=(this.words[i+shift]|0)+carry,carry=w>>26,this.words[i+shift]=w&67108863;if(carry===0)return this.strip();assert(carry===-1),carry=0;for(i=0;i<this.length;i++)w=-(this.words[i]|0)+carry,carry=w>>26,this.words[i]=w&67108863;return this.negative=1,this.strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);if(shift=26-bhiBits,shift!==0)b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0;var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=Array(q.length);for(var i=0;i<q.length;i++)q.words[i]=0}var diff=a.clone()._ishlnsubmul(b,1,m);if(diff.negative===0){if(a=diff,q)q.words[m]=1}for(var j=m-1;j>=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);while(a.negative!==0)if(qj--,a.negative=0,a._ishlnsubmul(b,1,j),!a.isZero())a.negative^=1;if(q)q.words[j]=qj}if(q)q.strip();if(a.strip(),mode!==\"div\"&&shift!==0)a.iushrn(shift);return{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;if(this.negative!==0&&num.negative===0){if(res=this.neg().divmod(num,mode),mode!==\"mod\")div=res.div.neg();if(mode!==\"div\"){if(mod=res.mod.neg(),positive&&mod.negative!==0)mod.iadd(num)}return{div,mod}}if(this.negative===0&&num.negative!==0){if(res=this.divmod(num.neg(),mode),mode!==\"mod\")div=res.div.neg();return{div,mod:res.mod}}if((this.negative&num.negative)!==0){if(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"){if(mod=res.mod.neg(),positive&&mod.negative!==0)mod.isub(num)}return{div:res.div,mod}}if(num.length>this.length||this.cmp(num)<0)return{div:new BN(0),mod:this};if(num.length===1){if(mode===\"div\")return{div:this.divn(num.words[0]),mod:null};if(mode===\"mod\")return{div:null,mod:new BN(this.modn(num.words[0]))};return{div:this.divn(num.words[0]),mod:new BN(this.modn(num.words[0]))}}return this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);if(cmp<0||r2===1&&cmp===0)return dm.div;return dm.div.negative!==0?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modn=function(num){assert(num<=67108863);var p=67108864%num,acc=0;for(var i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return acc},BN.prototype.idivn=function(num){assert(num<=67108863);var carry=0;for(var i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this.strip()},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();if(x.negative!==0)x=x.umod(p);else x=x.clone();var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;while(x.isEven()&&y.isEven())x.iushrn(1),y.iushrn(1),++g;var yp=y.clone(),xp=x.clone();while(!x.isZero()){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0){x.iushrn(i);while(i-- >0){if(A.isOdd()||B.isOdd())A.iadd(yp),B.isub(xp);A.iushrn(1),B.iushrn(1)}}for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0){y.iushrn(j);while(j-- >0){if(C.isOdd()||D.isOdd())C.iadd(yp),D.isub(xp);C.iushrn(1),D.iushrn(1)}}if(x.cmp(y)>=0)x.isub(y),A.isub(C),B.isub(D);else y.isub(x),C.isub(A),D.isub(B)}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();if(a.negative!==0)a=a.umod(p);else a=a.clone();var x1=new BN(1),x2=new BN(0),delta=b.clone();while(a.cmpn(1)>0&&b.cmpn(1)>0){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0){a.iushrn(i);while(i-- >0){if(x1.isOdd())x1.iadd(delta);x1.iushrn(1)}}for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0){b.iushrn(j);while(j-- >0){if(x2.isOdd())x2.iadd(delta);x2.iushrn(1)}}if(a.cmp(b)>=0)a.isub(b),x1.isub(x2);else b.isub(a),x2.isub(x1)}var res;if(a.cmpn(1)===0)res=x1;else res=x2;if(res.cmpn(0)<0)res.iadd(p);return res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{while(a.isEven())a.iushrn(1);while(b.isEven())b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit===\"number\");var r=bit%26,s=(bit-r)/26,q=1<<r;if(this.length<=s)return this._expand(s+1),this.words[s]|=q,this;var carry=q;for(var i=s;carry!==0&&i<this.length;i++){var w=this.words[i]|0;w+=carry,carry=w>>>26,w&=67108863,this.words[i]=w}if(carry!==0)this.words[i]=carry,this.length++;return this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this.strip();var res;if(this.length>1)res=1;else{if(negative)num=-num;assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num?0:w<num?-1:1}if(this.negative!==0)return-res|0;return res},BN.prototype.cmp=function(num){if(this.negative!==0&&num.negative===0)return-1;if(this.negative===0&&num.negative!==0)return 1;var res=this.ucmp(num);if(this.negative!==0)return-res|0;return res},BN.prototype.ucmp=function(num){if(this.length>num.length)return 1;if(this.length<num.length)return-1;var res=0;for(var i=this.length-1;i>=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a===b)continue;if(a<b)res=-1;else if(a>b)res=1;break}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen<this.n?-1:r.ucmp(this.p);if(cmp===0)r.words[0]=0,r.length=1;else if(cmp>0)r.isub(this.p);else if(r.strip!==void 0)r.strip();else r._strip();return r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){var mask=4194303,outLen=Math.min(input.length,9);for(var i=0;i<outLen;i++)output.words[i]=input.words[i];if(output.length=outLen,input.length<=9){input.words[0]=0,input.length=1;return}var prev=input.words[9];output.words[output.length++]=prev&mask;for(i=10;i<input.length;i++){var next=input.words[i]|0;input.words[i-10]=(next&mask)<<4|prev>>>22,prev=next}if(prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10)input.length-=10;else input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;var lo=0;for(var i=0;i<num.length;i++){var w=num.words[i]|0;lo+=w*977,num.words[i]=lo&67108863,lo=w*64+(lo/67108864|0)}if(num.words[num.length-1]===0){if(num.length--,num.words[num.length-1]===0)num.length--}return num};function P224(){MPrime.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}inherits(P224,MPrime);function P192(){MPrime.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}inherits(P192,MPrime);function P25519(){MPrime.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}inherits(P25519,MPrime),P25519.prototype.imulK=function(num){var carry=0;for(var i=0;i<num.length;i++){var hi=(num.words[i]|0)*19+carry,lo=hi&67108863;hi>>>=26,num.words[i]=lo,carry=hi}if(carry!==0)num.words[num.length++]=carry;return num},BN._prime=function(name){if(primes[name])return primes[name];var prime2;if(name===\"k256\")prime2=new K256;else if(name===\"p224\")prime2=new P224;else if(name===\"p192\")prime2=new P192;else if(name===\"p25519\")prime2=new P25519;else throw Error(\"Unknown prime \"+name);return primes[name]=prime2,prime2};function Red(m){if(typeof m===\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){if(this.prime)return this.prime.ireduce(a)._forceRed(this);return a.umod(this.m)._forceRed(this)},Red.prototype.neg=function(a){if(a.isZero())return a.clone();return this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);if(res.cmp(this.m)>=0)res.isub(this.m);return res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);if(res.cmp(this.m)>=0)res.isub(this.m);return res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);if(res.cmpn(0)<0)res.iadd(this.m);return res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);if(res.cmpn(0)<0)res.iadd(this.m);return res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}var q=this.m.subn(1),s=0;while(!q.isZero()&&q.andln(1)===0)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();z=new BN(2*z*z).toRed(this);while(this.pow(z,lpow).cmp(nOne)!==0)z.redIAdd(nOne);var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;while(t.cmp(one)!==0){var tmp=t;for(var i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i<m);var b=this.pow(c,new BN(1).iushln(m-i-1));r=r.redMul(b),c=b.redSqr(),t=t.redMul(c),m=i}return r},Red.prototype.invm=function(a){var inv=a._invmp(this.m);if(inv.negative!==0)return inv.negative=0,this.imod(inv).redNeg();else return this.imod(inv)},Red.prototype.pow=function(a,num){if(num.isZero())return new BN(1).toRed(this);if(num.cmpn(1)===0)return a.clone();var windowSize=4,wnd=Array(1<<windowSize);wnd[0]=new BN(1).toRed(this),wnd[1]=a;for(var i=2;i<wnd.length;i++)wnd[i]=this.mul(wnd[i-1],a);var res=wnd[0],current=0,currentLen=0,start=num.bitLength()%26;if(start===0)start=26;for(i=num.length-1;i>=0;i--){var word=num.words[i];for(var j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0])res=this.sqr(res);if(bit===0&¤t===0){currentLen=0;continue}if(current<<=1,current|=bit,currentLen++,currentLen!==windowSize&&(i!==0||j!==0))continue;res=this.mul(res,wnd[current]),currentLen=0,current=0}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){if(Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0)this.shift+=26-this.shift%26;this.r=new BN(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)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;if(u.cmp(this.m)>=0)res=u.isub(this.m);else if(u.cmpn(0)<0)res=u.iadd(this.m);return res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;if(u.cmp(this.m)>=0)res=u.isub(this.m);else if(u.cmpn(0)<0)res=u.iadd(this.m);return res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)});var require_api=__commonJS((exports)=>{var asn1=require_asn1(),inherits=require_inherits(),api=exports;api.define=function(name,body){return new Entity(name,body)};function Entity(name,body){this.name=name,this.body=body,this.decoders={},this.encoders={}}Entity.prototype._createNamed=function(base){var named;try{named=require(\"vm\").runInThisContext(\"(function \"+this.name+`(entity) {\n this._initNamed(entity);\n})`)}catch(e){named=function(entity){this._initNamed(entity)}}return inherits(named,base),named.prototype._initNamed=function(entity){base.call(this,entity)},new named(this)};Entity.prototype._getDecoder=function(enc){if(enc=enc||\"der\",!this.decoders.hasOwnProperty(enc))this.decoders[enc]=this._createNamed(asn1.decoders[enc]);return this.decoders[enc]};Entity.prototype.decode=function(data,enc,options){return this._getDecoder(enc).decode(data,options)};Entity.prototype._getEncoder=function(enc){if(enc=enc||\"der\",!this.encoders.hasOwnProperty(enc))this.encoders[enc]=this._createNamed(asn1.encoders[enc]);return this.encoders[enc]};Entity.prototype.encode=function(data,enc,reporter){return this._getEncoder(enc).encode(data,reporter)}});var require_reporter=__commonJS((exports)=>{var inherits=require_inherits();function Reporter(options){this._reporterState={obj:null,path:[],options:options||{},errors:[]}}exports.Reporter=Reporter;Reporter.prototype.isError=function(obj){return obj instanceof ReporterError};Reporter.prototype.save=function(){var state=this._reporterState;return{obj:state.obj,pathLen:state.path.length}};Reporter.prototype.restore=function(data){var state=this._reporterState;state.obj=data.obj,state.path=state.path.slice(0,data.pathLen)};Reporter.prototype.enterKey=function(key){return this._reporterState.path.push(key)};Reporter.prototype.exitKey=function(index){var state=this._reporterState;state.path=state.path.slice(0,index-1)};Reporter.prototype.leaveKey=function(index,key,value){var state=this._reporterState;if(this.exitKey(index),state.obj!==null)state.obj[key]=value};Reporter.prototype.path=function(){return this._reporterState.path.join(\"/\")};Reporter.prototype.enterObject=function(){var state=this._reporterState,prev=state.obj;return state.obj={},prev};Reporter.prototype.leaveObject=function(prev){var state=this._reporterState,now=state.obj;return state.obj=prev,now};Reporter.prototype.error=function(msg){var err,state=this._reporterState,inherited=msg instanceof ReporterError;if(inherited)err=msg;else err=new ReporterError(state.path.map(function(elem){return\"[\"+JSON.stringify(elem)+\"]\"}).join(\"\"),msg.message||msg,msg.stack);if(!state.options.partial)throw err;if(!inherited)state.errors.push(err);return err};Reporter.prototype.wrapResult=function(result){var state=this._reporterState;if(!state.options.partial)return result;return{result:this.isError(result)?null:result,errors:state.errors}};function ReporterError(path,msg){this.path=path,this.rethrow(msg)}inherits(ReporterError,Error);ReporterError.prototype.rethrow=function(msg){if(this.message=msg+\" at: \"+(this.path||\"(shallow)\"),Error.captureStackTrace)Error.captureStackTrace(this,ReporterError);if(!this.stack)try{throw Error(this.message)}catch(e){this.stack=e.stack}return this}});var require_buffer=__commonJS((exports)=>{var inherits=require_inherits(),Reporter=require_base2().Reporter,Buffer2=require(\"buffer\").Buffer;function DecoderBuffer(base,options){if(Reporter.call(this,options),!Buffer2.isBuffer(base)){this.error(\"Input not Buffer\");return}this.base=base,this.offset=0,this.length=base.length}inherits(DecoderBuffer,Reporter);exports.DecoderBuffer=DecoderBuffer;DecoderBuffer.prototype.save=function(){return{offset:this.offset,reporter:Reporter.prototype.save.call(this)}};DecoderBuffer.prototype.restore=function(save){var res=new DecoderBuffer(this.base);return res.offset=save.offset,res.length=this.offset,this.offset=save.offset,Reporter.prototype.restore.call(this,save.reporter),res};DecoderBuffer.prototype.isEmpty=function(){return this.offset===this.length};DecoderBuffer.prototype.readUInt8=function(fail){if(this.offset+1<=this.length)return this.base.readUInt8(this.offset++,!0);else return this.error(fail||\"DecoderBuffer overrun\")};DecoderBuffer.prototype.skip=function(bytes,fail){if(!(this.offset+bytes<=this.length))return this.error(fail||\"DecoderBuffer overrun\");var res=new DecoderBuffer(this.base);return res._reporterState=this._reporterState,res.offset=this.offset,res.length=this.offset+bytes,this.offset+=bytes,res};DecoderBuffer.prototype.raw=function(save){return this.base.slice(save?save.offset:this.offset,this.length)};function EncoderBuffer(value,reporter){if(Array.isArray(value))this.length=0,this.value=value.map(function(item){if(!(item instanceof EncoderBuffer))item=new EncoderBuffer(item,reporter);return this.length+=item.length,item},this);else if(typeof value===\"number\"){if(!(0<=value&&value<=255))return reporter.error(\"non-byte EncoderBuffer value\");this.value=value,this.length=1}else if(typeof value===\"string\")this.value=value,this.length=Buffer2.byteLength(value);else if(Buffer2.isBuffer(value))this.value=value,this.length=value.length;else return reporter.error(\"Unsupported type: \"+typeof value)}exports.EncoderBuffer=EncoderBuffer;EncoderBuffer.prototype.join=function(out,offset){if(!out)out=new Buffer2(this.length);if(!offset)offset=0;if(this.length===0)return out;if(Array.isArray(this.value))this.value.forEach(function(item){item.join(out,offset),offset+=item.length});else{if(typeof this.value===\"number\")out[offset]=this.value;else if(typeof this.value===\"string\")out.write(this.value,offset);else if(Buffer2.isBuffer(this.value))this.value.copy(out,offset);offset+=this.length}return out}});var require_node=__commonJS((exports,module)=>{var Reporter=require_base2().Reporter,EncoderBuffer=require_base2().EncoderBuffer,DecoderBuffer=require_base2().DecoderBuffer,assert=require_minimalistic_assert(),tags=[\"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\"],methods=[\"key\",\"obj\",\"use\",\"optional\",\"explicit\",\"implicit\",\"def\",\"choice\",\"any\",\"contains\"].concat(tags),overrided=[\"_peekTag\",\"_decodeTag\",\"_use\",\"_decodeStr\",\"_decodeObjid\",\"_decodeTime\",\"_decodeNull\",\"_decodeInt\",\"_decodeBool\",\"_decodeList\",\"_encodeComposite\",\"_encodeStr\",\"_encodeObjid\",\"_encodeTime\",\"_encodeNull\",\"_encodeInt\",\"_encodeBool\"];function Node(enc,parent){var state={};if(this._baseState=state,state.enc=enc,state.parent=parent||null,state.children=null,state.tag=null,state.args=null,state.reverseArgs=null,state.choice=null,state.optional=!1,state.any=!1,state.obj=!1,state.use=null,state.useDecoder=null,state.key=null,state.default=null,state.explicit=null,state.implicit=null,state.contains=null,!state.parent)state.children=[],this._wrap()}module.exports=Node;var stateProps=[\"enc\",\"parent\",\"children\",\"tag\",\"args\",\"reverseArgs\",\"choice\",\"optional\",\"any\",\"obj\",\"use\",\"alteredUse\",\"key\",\"default\",\"explicit\",\"implicit\",\"contains\"];Node.prototype.clone=function(){var state=this._baseState,cstate={};stateProps.forEach(function(prop){cstate[prop]=state[prop]});var res=new this.constructor(cstate.parent);return res._baseState=cstate,res};Node.prototype._wrap=function(){var state=this._baseState;methods.forEach(function(method){this[method]=function(){var clone=new this.constructor(this);return state.children.push(clone),clone[method].apply(clone,arguments)}},this)};Node.prototype._init=function(body){var state=this._baseState;assert(state.parent===null),body.call(this),state.children=state.children.filter(function(child){return child._baseState.parent===this},this),assert.equal(state.children.length,1,\"Root node can have only one child\")};Node.prototype._useArgs=function(args){var state=this._baseState,children=args.filter(function(arg){return arg instanceof this.constructor},this);if(args=args.filter(function(arg){return!(arg instanceof this.constructor)},this),children.length!==0)assert(state.children===null),state.children=children,children.forEach(function(child){child._baseState.parent=this},this);if(args.length!==0)assert(state.args===null),state.args=args,state.reverseArgs=args.map(function(arg){if(typeof arg!==\"object\"||arg.constructor!==Object)return arg;var res={};return Object.keys(arg).forEach(function(key){if(key==(key|0))key|=0;var value=arg[key];res[value]=key}),res})};overrided.forEach(function(method){Node.prototype[method]=function(){var state=this._baseState;throw Error(method+\" not implemented for encoding: \"+state.enc)}});tags.forEach(function(tag){Node.prototype[tag]=function(){var state=this._baseState,args=Array.prototype.slice.call(arguments);return assert(state.tag===null),state.tag=tag,this._useArgs(args),this}});Node.prototype.use=function(item){assert(item);var state=this._baseState;return assert(state.use===null),state.use=item,this};Node.prototype.optional=function(){var state=this._baseState;return state.optional=!0,this};Node.prototype.def=function(val){var state=this._baseState;return assert(state.default===null),state.default=val,state.optional=!0,this};Node.prototype.explicit=function(num){var state=this._baseState;return assert(state.explicit===null&&state.implicit===null),state.explicit=num,this};Node.prototype.implicit=function(num){var state=this._baseState;return assert(state.explicit===null&&state.implicit===null),state.implicit=num,this};Node.prototype.obj=function(){var state=this._baseState,args=Array.prototype.slice.call(arguments);if(state.obj=!0,args.length!==0)this._useArgs(args);return this};Node.prototype.key=function(newKey){var state=this._baseState;return assert(state.key===null),state.key=newKey,this};Node.prototype.any=function(){var state=this._baseState;return state.any=!0,this};Node.prototype.choice=function(obj){var state=this._baseState;return assert(state.choice===null),state.choice=obj,this._useArgs(Object.keys(obj).map(function(key){return obj[key]})),this};Node.prototype.contains=function(item){var state=this._baseState;return assert(state.use===null),state.contains=item,this};Node.prototype._decode=function(input,options){var state=this._baseState;if(state.parent===null)return input.wrapResult(state.children[0]._decode(input,options));var result=state.default,present=!0,prevKey=null;if(state.key!==null)prevKey=input.enterKey(state.key);if(state.optional){var tag=null;if(state.explicit!==null)tag=state.explicit;else if(state.implicit!==null)tag=state.implicit;else if(state.tag!==null)tag=state.tag;if(tag===null&&!state.any){var save=input.save();try{if(state.choice===null)this._decodeGeneric(state.tag,input,options);else this._decodeChoice(input,options);present=!0}catch(e){present=!1}input.restore(save)}else if(present=this._peekTag(input,tag,state.any),input.isError(present))return present}var prevObj;if(state.obj&&present)prevObj=input.enterObject();if(present){if(state.explicit!==null){var explicit=this._decodeTag(input,state.explicit);if(input.isError(explicit))return explicit;input=explicit}var start=input.offset;if(state.use===null&&state.choice===null){if(state.any)var save=input.save();var body=this._decodeTag(input,state.implicit!==null?state.implicit:state.tag,state.any);if(input.isError(body))return body;if(state.any)result=input.raw(save);else input=body}if(options&&options.track&&state.tag!==null)options.track(input.path(),start,input.length,\"tagged\");if(options&&options.track&&state.tag!==null)options.track(input.path(),input.offset,input.length,\"content\");if(state.any)result=result;else if(state.choice===null)result=this._decodeGeneric(state.tag,input,options);else result=this._decodeChoice(input,options);if(input.isError(result))return result;if(!state.any&&state.choice===null&&state.children!==null)state.children.forEach(function(child){child._decode(input,options)});if(state.contains&&(state.tag===\"octstr\"||state.tag===\"bitstr\")){var data=new DecoderBuffer(result);result=this._getUse(state.contains,input._reporterState.obj)._decode(data,options)}}if(state.obj&&present)result=input.leaveObject(prevObj);if(state.key!==null&&(result!==null||present===!0))input.leaveKey(prevKey,state.key,result);else if(prevKey!==null)input.exitKey(prevKey);return result};Node.prototype._decodeGeneric=function(tag,input,options){var state=this._baseState;if(tag===\"seq\"||tag===\"set\")return null;if(tag===\"seqof\"||tag===\"setof\")return this._decodeList(input,tag,state.args[0],options);else if(/str$/.test(tag))return this._decodeStr(input,tag,options);else if(tag===\"objid\"&&state.args)return this._decodeObjid(input,state.args[0],state.args[1],options);else if(tag===\"objid\")return this._decodeObjid(input,null,null,options);else if(tag===\"gentime\"||tag===\"utctime\")return this._decodeTime(input,tag,options);else if(tag===\"null_\")return this._decodeNull(input,options);else if(tag===\"bool\")return this._decodeBool(input,options);else if(tag===\"objDesc\")return this._decodeStr(input,tag,options);else if(tag===\"int\"||tag===\"enum\")return this._decodeInt(input,state.args&&state.args[0],options);if(state.use!==null)return this._getUse(state.use,input._reporterState.obj)._decode(input,options);else return input.error(\"unknown tag: \"+tag)};Node.prototype._getUse=function(entity,obj){var state=this._baseState;if(state.useDecoder=this._use(entity,obj),assert(state.useDecoder._baseState.parent===null),state.useDecoder=state.useDecoder._baseState.children[0],state.implicit!==state.useDecoder._baseState.implicit)state.useDecoder=state.useDecoder.clone(),state.useDecoder._baseState.implicit=state.implicit;return state.useDecoder};Node.prototype._decodeChoice=function(input,options){var state=this._baseState,result=null,match=!1;if(Object.keys(state.choice).some(function(key){var save=input.save(),node=state.choice[key];try{var value=node._decode(input,options);if(input.isError(value))return!1;result={type:key,value},match=!0}catch(e){return input.restore(save),!1}return!0},this),!match)return input.error(\"Choice not matched\");return result};Node.prototype._createEncoderBuffer=function(data){return new EncoderBuffer(data,this.reporter)};Node.prototype._encode=function(data,reporter,parent){var state=this._baseState;if(state.default!==null&&state.default===data)return;var result=this._encodeValue(data,reporter,parent);if(result===void 0)return;if(this._skipDefault(result,reporter,parent))return;return result};Node.prototype._encodeValue=function(data,reporter,parent){var state=this._baseState;if(state.parent===null)return state.children[0]._encode(data,reporter||new Reporter);var result=null;if(this.reporter=reporter,state.optional&&data===void 0)if(state.default!==null)data=state.default;else return;var content=null,primitive=!1;if(state.any)result=this._createEncoderBuffer(data);else if(state.choice)result=this._encodeChoice(data,reporter);else if(state.contains)content=this._getUse(state.contains,parent)._encode(data,reporter),primitive=!0;else if(state.children)content=state.children.map(function(child2){if(child2._baseState.tag===\"null_\")return child2._encode(null,reporter,data);if(child2._baseState.key===null)return reporter.error(\"Child should have a key\");var prevKey=reporter.enterKey(child2._baseState.key);if(typeof data!==\"object\")return reporter.error(\"Child expected, but input is not object\");var res=child2._encode(data[child2._baseState.key],reporter,data);return reporter.leaveKey(prevKey),res},this).filter(function(child2){return child2}),content=this._createEncoderBuffer(content);else if(state.tag===\"seqof\"||state.tag===\"setof\"){if(!(state.args&&state.args.length===1))return reporter.error(\"Too many args for : \"+state.tag);if(!Array.isArray(data))return reporter.error(\"seqof/setof, but data is not Array\");var child=this.clone();child._baseState.implicit=null,content=this._createEncoderBuffer(data.map(function(item){var state2=this._baseState;return this._getUse(state2.args[0],data)._encode(item,reporter)},child))}else if(state.use!==null)result=this._getUse(state.use,parent)._encode(data,reporter);else content=this._encodePrimitive(state.tag,data),primitive=!0;var result;if(!state.any&&state.choice===null){var tag=state.implicit!==null?state.implicit:state.tag,cls=state.implicit===null?\"universal\":\"context\";if(tag===null){if(state.use===null)reporter.error(\"Tag could be omitted only for .use()\")}else if(state.use===null)result=this._encodeComposite(tag,primitive,cls,content)}if(state.explicit!==null)result=this._encodeComposite(state.explicit,!1,\"context\",result);return result};Node.prototype._encodeChoice=function(data,reporter){var state=this._baseState,node=state.choice[data.type];if(!node)assert(!1,data.type+\" not found in \"+JSON.stringify(Object.keys(state.choice)));return node._encode(data.value,reporter)};Node.prototype._encodePrimitive=function(tag,data){var state=this._baseState;if(/str$/.test(tag))return this._encodeStr(data,tag);else if(tag===\"objid\"&&state.args)return this._encodeObjid(data,state.reverseArgs[0],state.args[1]);else if(tag===\"objid\")return this._encodeObjid(data,null,null);else if(tag===\"gentime\"||tag===\"utctime\")return this._encodeTime(data,tag);else if(tag===\"null_\")return this._encodeNull();else if(tag===\"int\"||tag===\"enum\")return this._encodeInt(data,state.args&&state.reverseArgs[0]);else if(tag===\"bool\")return this._encodeBool(data);else if(tag===\"objDesc\")return this._encodeStr(data,tag);else throw Error(\"Unsupported tag: \"+tag)};Node.prototype._isNumstr=function(str){return/^[0-9 ]*$/.test(str)};Node.prototype._isPrintstr=function(str){return/^[A-Za-z0-9 '\\(\\)\\+,\\-\\.\\/:=\\?]*$/.test(str)}});var require_base2=__commonJS((exports)=>{var base=exports;base.Reporter=require_reporter().Reporter;base.DecoderBuffer=require_buffer().DecoderBuffer;base.EncoderBuffer=require_buffer().EncoderBuffer;base.Node=require_node()});var require_der=__commonJS((exports)=>{var constants=require_constants();exports.tagClass={0:\"universal\",1:\"application\",2:\"context\",3:\"private\"};exports.tagClassByName=constants._reverse(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=constants._reverse(exports.tag)});var require_constants=__commonJS((exports)=>{var constants=exports;constants._reverse=function(map){var res={};return Object.keys(map).forEach(function(key){if((key|0)==key)key=key|0;var value=map[key];res[value]=key}),res};constants.der=require_der()});var require_der2=__commonJS((exports,module)=>{var inherits=require_inherits(),asn1=require_asn1(),base=asn1.base,bignum=asn1.bignum,der=asn1.constants.der;function DERDecoder(entity){this.enc=\"der\",this.name=entity.name,this.entity=entity,this.tree=new DERNode,this.tree._init(entity.body)}module.exports=DERDecoder;DERDecoder.prototype.decode=function(data,options){if(!(data instanceof base.DecoderBuffer))data=new base.DecoderBuffer(data,options);return this.tree._decode(data,options)};function DERNode(parent){base.Node.call(this,\"der\",parent)}inherits(DERNode,base.Node);DERNode.prototype._peekTag=function(buffer,tag,any){if(buffer.isEmpty())return!1;var state=buffer.save(),decodedTag=derDecodeTag(buffer,'Failed to peek tag: \"'+tag+'\"');if(buffer.isError(decodedTag))return decodedTag;return buffer.restore(state),decodedTag.tag===tag||decodedTag.tagStr===tag||decodedTag.tagStr+\"of\"===tag||any};DERNode.prototype._decodeTag=function(buffer,tag,any){var decodedTag=derDecodeTag(buffer,'Failed to decode tag of \"'+tag+'\"');if(buffer.isError(decodedTag))return decodedTag;var len=derDecodeLen(buffer,decodedTag.primitive,'Failed to get length of \"'+tag+'\"');if(buffer.isError(len))return len;if(!any&&decodedTag.tag!==tag&&decodedTag.tagStr!==tag&&decodedTag.tagStr+\"of\"!==tag)return buffer.error('Failed to match tag: \"'+tag+'\"');if(decodedTag.primitive||len!==null)return buffer.skip(len,'Failed to match body of: \"'+tag+'\"');var state=buffer.save(),res=this._skipUntilEnd(buffer,'Failed to skip indefinite length body: \"'+this.tag+'\"');if(buffer.isError(res))return res;return len=buffer.offset-state.offset,buffer.restore(state),buffer.skip(len,'Failed to match body of: \"'+tag+'\"')};DERNode.prototype._skipUntilEnd=function(buffer,fail){while(!0){var tag=derDecodeTag(buffer,fail);if(buffer.isError(tag))return tag;var len=derDecodeLen(buffer,tag.primitive,fail);if(buffer.isError(len))return len;var res;if(tag.primitive||len!==null)res=buffer.skip(len);else res=this._skipUntilEnd(buffer,fail);if(buffer.isError(res))return res;if(tag.tagStr===\"end\")break}};DERNode.prototype._decodeList=function(buffer,tag,decoder,options){var result=[];while(!buffer.isEmpty()){var possibleEnd=this._peekTag(buffer,\"end\");if(buffer.isError(possibleEnd))return possibleEnd;var res=decoder.decode(buffer,\"der\",options);if(buffer.isError(res)&&possibleEnd)break;result.push(res)}return result};DERNode.prototype._decodeStr=function(buffer,tag){if(tag===\"bitstr\"){var unused=buffer.readUInt8();if(buffer.isError(unused))return unused;return{unused,data:buffer.raw()}}else if(tag===\"bmpstr\"){var raw=buffer.raw();if(raw.length%2===1)return buffer.error(\"Decoding of string type: bmpstr length mismatch\");var str=\"\";for(var i=0;i<raw.length/2;i++)str+=String.fromCharCode(raw.readUInt16BE(i*2));return str}else if(tag===\"numstr\"){var numstr=buffer.raw().toString(\"ascii\");if(!this._isNumstr(numstr))return buffer.error(\"Decoding of string type: numstr unsupported characters\");return numstr}else if(tag===\"octstr\")return buffer.raw();else if(tag===\"objDesc\")return buffer.raw();else if(tag===\"printstr\"){var printstr=buffer.raw().toString(\"ascii\");if(!this._isPrintstr(printstr))return buffer.error(\"Decoding of string type: printstr unsupported characters\");return printstr}else if(/str$/.test(tag))return buffer.raw().toString();else return buffer.error(\"Decoding of string type: \"+tag+\" unsupported\")};DERNode.prototype._decodeObjid=function(buffer,values,relative){var result,identifiers=[],ident=0;while(!buffer.isEmpty()){var subident=buffer.readUInt8();if(ident<<=7,ident|=subident&127,(subident&128)===0)identifiers.push(ident),ident=0}if(subident&128)identifiers.push(ident);var first=identifiers[0]/40|0,second=identifiers[0]%40;if(relative)result=identifiers;else result=[first,second].concat(identifiers.slice(1));if(values){var tmp=values[result.join(\" \")];if(tmp===void 0)tmp=values[result.join(\".\")];if(tmp!==void 0)result=tmp}return result};DERNode.prototype._decodeTime=function(buffer,tag){var str=buffer.raw().toString();if(tag===\"gentime\")var year=str.slice(0,4)|0,mon=str.slice(4,6)|0,day=str.slice(6,8)|0,hour=str.slice(8,10)|0,min=str.slice(10,12)|0,sec=str.slice(12,14)|0;else if(tag===\"utctime\"){var year=str.slice(0,2)|0,mon=str.slice(2,4)|0,day=str.slice(4,6)|0,hour=str.slice(6,8)|0,min=str.slice(8,10)|0,sec=str.slice(10,12)|0;if(year<70)year=2000+year;else year=1900+year}else return buffer.error(\"Decoding \"+tag+\" time is not supported yet\");return Date.UTC(year,mon-1,day,hour,min,sec,0)};DERNode.prototype._decodeNull=function(buffer){return null};DERNode.prototype._decodeBool=function(buffer){var res=buffer.readUInt8();if(buffer.isError(res))return res;else return res!==0};DERNode.prototype._decodeInt=function(buffer,values){var raw=buffer.raw(),res=new bignum(raw);if(values)res=values[res.toString(10)]||res;return res};DERNode.prototype._use=function(entity,obj){if(typeof entity===\"function\")entity=entity(obj);return entity._getDecoder(\"der\").tree};function derDecodeTag(buf,fail){var tag=buf.readUInt8(fail);if(buf.isError(tag))return tag;var cls=der.tagClass[tag>>6],primitive=(tag&32)===0;if((tag&31)===31){var oct=tag;tag=0;while((oct&128)===128){if(oct=buf.readUInt8(fail),buf.isError(oct))return oct;tag<<=7,tag|=oct&127}}else tag&=31;var tagStr=der.tag[tag];return{cls,primitive,tag,tagStr}}function derDecodeLen(buf,primitive,fail){var len=buf.readUInt8(fail);if(buf.isError(len))return len;if(!primitive&&len===128)return null;if((len&128)===0)return len;var num=len&127;if(num>4)return buf.error(\"length octect is too long\");len=0;for(var i=0;i<num;i++){len<<=8;var j=buf.readUInt8(fail);if(buf.isError(j))return j;len|=j}return len}});var require_pem=__commonJS((exports,module)=>{var inherits=require_inherits(),Buffer2=require(\"buffer\").Buffer,DERDecoder=require_der2();function PEMDecoder(entity){DERDecoder.call(this,entity),this.enc=\"pem\"}inherits(PEMDecoder,DERDecoder);module.exports=PEMDecoder;PEMDecoder.prototype.decode=function(data,options){var lines=data.toString().split(/[\\r\\n]+/g),label=options.label.toUpperCase(),re=/^-----(BEGIN|END) ([^-]+)-----$/,start=-1,end=-1;for(var i=0;i<lines.length;i++){var match=lines[i].match(re);if(match===null)continue;if(match[2]!==label)continue;if(start===-1){if(match[1]!==\"BEGIN\")break;start=i}else{if(match[1]!==\"END\")break;end=i;break}}if(start===-1||end===-1)throw Error(\"PEM section not found for: \"+label);var base64=lines.slice(start+1,end).join(\"\");base64.replace(/[^a-z0-9\\+\\/=]+/gi,\"\");var input=new Buffer2(base64,\"base64\");return DERDecoder.prototype.decode.call(this,input,options)}});var require_decoders=__commonJS((exports)=>{var decoders=exports;decoders.der=require_der2();decoders.pem=require_pem()});var require_der3=__commonJS((exports,module)=>{var inherits=require_inherits(),Buffer2=require(\"buffer\").Buffer,asn1=require_asn1(),base=asn1.base,der=asn1.constants.der;function DEREncoder(entity){this.enc=\"der\",this.name=entity.name,this.entity=entity,this.tree=new DERNode,this.tree._init(entity.body)}module.exports=DEREncoder;DEREncoder.prototype.encode=function(data,reporter){return this.tree._encode(data,reporter).join()};function DERNode(parent){base.Node.call(this,\"der\",parent)}inherits(DERNode,base.Node);DERNode.prototype._encodeComposite=function(tag,primitive,cls,content){var encodedTag=encodeTag(tag,primitive,cls,this.reporter);if(content.length<128){var header=new Buffer2(2);return header[0]=encodedTag,header[1]=content.length,this._createEncoderBuffer([header,content])}var lenOctets=1;for(var i=content.length;i>=256;i>>=8)lenOctets++;var header=new Buffer2(2+lenOctets);header[0]=encodedTag,header[1]=128|lenOctets;for(var i=1+lenOctets,j=content.length;j>0;i--,j>>=8)header[i]=j&255;return this._createEncoderBuffer([header,content])};DERNode.prototype._encodeStr=function(str,tag){if(tag===\"bitstr\")return this._createEncoderBuffer([str.unused|0,str.data]);else if(tag===\"bmpstr\"){var buf=new Buffer2(str.length*2);for(var i=0;i<str.length;i++)buf.writeUInt16BE(str.charCodeAt(i),i*2);return this._createEncoderBuffer(buf)}else if(tag===\"numstr\"){if(!this._isNumstr(str))return this.reporter.error(\"Encoding of string type: numstr supports only digits and space\");return this._createEncoderBuffer(str)}else if(tag===\"printstr\"){if(!this._isPrintstr(str))return 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\");return this._createEncoderBuffer(str)}else if(/str$/.test(tag))return this._createEncoderBuffer(str);else if(tag===\"objDesc\")return this._createEncoderBuffer(str);else return this.reporter.error(\"Encoding of string type: \"+tag+\" unsupported\")};DERNode.prototype._encodeObjid=function(id,values,relative){if(typeof id===\"string\"){if(!values)return this.reporter.error(\"string objid given, but no values map found\");if(!values.hasOwnProperty(id))return this.reporter.error(\"objid not found in values map\");id=values[id].split(/[\\s\\.]+/g);for(var i=0;i<id.length;i++)id[i]|=0}else if(Array.isArray(id)){id=id.slice();for(var i=0;i<id.length;i++)id[i]|=0}if(!Array.isArray(id))return this.reporter.error(\"objid() should be either array or string, got: \"+JSON.stringify(id));if(!relative){if(id[1]>=40)return this.reporter.error(\"Second objid identifier OOB\");id.splice(0,2,id[0]*40+id[1])}var size=0;for(var i=0;i<id.length;i++){var ident=id[i];for(size++;ident>=128;ident>>=7)size++}var objid=new Buffer2(size),offset=objid.length-1;for(var i=id.length-1;i>=0;i--){var ident=id[i];objid[offset--]=ident&127;while((ident>>=7)>0)objid[offset--]=128|ident&127}return this._createEncoderBuffer(objid)};function two(num){if(num<10)return\"0\"+num;else return num}DERNode.prototype._encodeTime=function(time,tag){var str,date=new Date(time);if(tag===\"gentime\")str=[two(date.getFullYear()),two(date.getUTCMonth()+1),two(date.getUTCDate()),two(date.getUTCHours()),two(date.getUTCMinutes()),two(date.getUTCSeconds()),\"Z\"].join(\"\");else if(tag===\"utctime\")str=[two(date.getFullYear()%100),two(date.getUTCMonth()+1),two(date.getUTCDate()),two(date.getUTCHours()),two(date.getUTCMinutes()),two(date.getUTCSeconds()),\"Z\"].join(\"\");else this.reporter.error(\"Encoding \"+tag+\" time is not supported yet\");return this._encodeStr(str,\"octstr\")};DERNode.prototype._encodeNull=function(){return this._createEncoderBuffer(\"\")};DERNode.prototype._encodeInt=function(num,values){if(typeof num===\"string\"){if(!values)return this.reporter.error(\"String int or enum given, but no values map\");if(!values.hasOwnProperty(num))return this.reporter.error(\"Values map doesn't contain: \"+JSON.stringify(num));num=values[num]}if(typeof num!==\"number\"&&!Buffer2.isBuffer(num)){var numArray=num.toArray();if(!num.sign&&numArray[0]&128)numArray.unshift(0);num=new Buffer2(numArray)}if(Buffer2.isBuffer(num)){var size=num.length;if(num.length===0)size++;var out=new Buffer2(size);if(num.copy(out),num.length===0)out[0]=0;return this._createEncoderBuffer(out)}if(num<128)return this._createEncoderBuffer(num);if(num<256)return this._createEncoderBuffer([0,num]);var size=1;for(var i=num;i>=256;i>>=8)size++;var out=Array(size);for(var i=out.length-1;i>=0;i--)out[i]=num&255,num>>=8;if(out[0]&128)out.unshift(0);return this._createEncoderBuffer(new Buffer2(out))};DERNode.prototype._encodeBool=function(value){return this._createEncoderBuffer(value?255:0)};DERNode.prototype._use=function(entity,obj){if(typeof entity===\"function\")entity=entity(obj);return entity._getEncoder(\"der\").tree};DERNode.prototype._skipDefault=function(dataBuffer,reporter,parent){var state=this._baseState,i;if(state.default===null)return!1;var data=dataBuffer.join();if(state.defaultBuffer===void 0)state.defaultBuffer=this._encodeValue(state.default,reporter,parent).join();if(data.length!==state.defaultBuffer.length)return!1;for(i=0;i<data.length;i++)if(data[i]!==state.defaultBuffer[i])return!1;return!0};function encodeTag(tag,primitive,cls,reporter){var res;if(tag===\"seqof\")tag=\"seq\";else if(tag===\"setof\")tag=\"set\";if(der.tagByName.hasOwnProperty(tag))res=der.tagByName[tag];else if(typeof tag===\"number\"&&(tag|0)===tag)res=tag;else return reporter.error(\"Unknown tag: \"+tag);if(res>=31)return reporter.error(\"Multi-octet tag encoding unsupported\");if(!primitive)res|=32;return res|=der.tagClassByName[cls||\"universal\"]<<6,res}});var require_pem2=__commonJS((exports,module)=>{var inherits=require_inherits(),DEREncoder=require_der3();function PEMEncoder(entity){DEREncoder.call(this,entity),this.enc=\"pem\"}inherits(PEMEncoder,DEREncoder);module.exports=PEMEncoder;PEMEncoder.prototype.encode=function(data,options){var buf=DEREncoder.prototype.encode.call(this,data),p=buf.toString(\"base64\"),out=[\"-----BEGIN \"+options.label+\"-----\"];for(var i=0;i<p.length;i+=64)out.push(p.slice(i,i+64));return out.push(\"-----END \"+options.label+\"-----\"),out.join(`\n`)}});var require_encoders=__commonJS((exports)=>{var encoders=exports;encoders.der=require_der3();encoders.pem=require_pem2()});var require_asn1=__commonJS((exports)=>{var asn1=exports;asn1.bignum=require_bn3();asn1.define=require_api().define;asn1.base=require_base2();asn1.constants=require_constants();asn1.decoders=require_decoders();asn1.encoders=require_encoders()});var require_certificate=__commonJS((exports,module)=>{var asn=require_asn1(),Time=asn.define(\"Time\",function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})}),AttributeTypeValue=asn.define(\"AttributeTypeValue\",function(){this.seq().obj(this.key(\"type\").objid(),this.key(\"value\").any())}),AlgorithmIdentifier=asn.define(\"AlgorithmIdentifier\",function(){this.seq().obj(this.key(\"algorithm\").objid(),this.key(\"parameters\").optional(),this.key(\"curve\").objid().optional())}),SubjectPublicKeyInfo=asn.define(\"SubjectPublicKeyInfo\",function(){this.seq().obj(this.key(\"algorithm\").use(AlgorithmIdentifier),this.key(\"subjectPublicKey\").bitstr())}),RelativeDistinguishedName=asn.define(\"RelativeDistinguishedName\",function(){this.setof(AttributeTypeValue)}),RDNSequence=asn.define(\"RDNSequence\",function(){this.seqof(RelativeDistinguishedName)}),Name=asn.define(\"Name\",function(){this.choice({rdnSequence:this.use(RDNSequence)})}),Validity=asn.define(\"Validity\",function(){this.seq().obj(this.key(\"notBefore\").use(Time),this.key(\"notAfter\").use(Time))}),Extension=asn.define(\"Extension\",function(){this.seq().obj(this.key(\"extnID\").objid(),this.key(\"critical\").bool().def(!1),this.key(\"extnValue\").octstr())}),TBSCertificate=asn.define(\"TBSCertificate\",function(){this.seq().obj(this.key(\"version\").explicit(0).int().optional(),this.key(\"serialNumber\").int(),this.key(\"signature\").use(AlgorithmIdentifier),this.key(\"issuer\").use(Name),this.key(\"validity\").use(Validity),this.key(\"subject\").use(Name),this.key(\"subjectPublicKeyInfo\").use(SubjectPublicKeyInfo),this.key(\"issuerUniqueID\").implicit(1).bitstr().optional(),this.key(\"subjectUniqueID\").implicit(2).bitstr().optional(),this.key(\"extensions\").explicit(3).seqof(Extension).optional())}),X509Certificate=asn.define(\"X509Certificate\",function(){this.seq().obj(this.key(\"tbsCertificate\").use(TBSCertificate),this.key(\"signatureAlgorithm\").use(AlgorithmIdentifier),this.key(\"signatureValue\").bitstr())});module.exports=X509Certificate});var require_asn12=__commonJS((exports)=>{var asn1=require_asn1();exports.certificate=require_certificate();var RSAPrivateKey=asn1.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=RSAPrivateKey;var RSAPublicKey=asn1.define(\"RSAPublicKey\",function(){this.seq().obj(this.key(\"modulus\").int(),this.key(\"publicExponent\").int())});exports.RSAPublicKey=RSAPublicKey;var AlgorithmIdentifier=asn1.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())}),PublicKey=asn1.define(\"SubjectPublicKeyInfo\",function(){this.seq().obj(this.key(\"algorithm\").use(AlgorithmIdentifier),this.key(\"subjectPublicKey\").bitstr())});exports.PublicKey=PublicKey;var PrivateKeyInfo=asn1.define(\"PrivateKeyInfo\",function(){this.seq().obj(this.key(\"version\").int(),this.key(\"algorithm\").use(AlgorithmIdentifier),this.key(\"subjectPrivateKey\").octstr())});exports.PrivateKey=PrivateKeyInfo;var EncryptedPrivateKeyInfo=asn1.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=EncryptedPrivateKeyInfo;var DSAPrivateKey=asn1.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=DSAPrivateKey;exports.DSAparam=asn1.define(\"DSAparam\",function(){this.int()});var ECParameters=asn1.define(\"ECParameters\",function(){this.choice({namedCurve:this.objid()})}),ECPrivateKey=asn1.define(\"ECPrivateKey\",function(){this.seq().obj(this.key(\"version\").int(),this.key(\"privateKey\").octstr(),this.key(\"parameters\").optional().explicit(0).use(ECParameters),this.key(\"publicKey\").optional().explicit(1).bitstr())});exports.ECPrivateKey=ECPrivateKey;exports.signature=asn1.define(\"signature\",function(){this.seq().obj(this.key(\"r\").int(),this.key(\"s\").int())})});var require_aesid=__commonJS((exports,module)=>{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\"}});var require_hash_base=__commonJS((exports,module)=>{var Buffer2=require_safe_buffer().Buffer,Transform=require(\"stream\").Transform,inherits=require_inherits();function HashBase(blockSize){Transform.call(this),this._block=Buffer2.allocUnsafe(blockSize),this._blockSize=blockSize,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}inherits(HashBase,Transform);HashBase.prototype._transform=function(chunk,encoding,callback){var error=null;try{this.update(chunk,encoding)}catch(err){error=err}callback(error)};HashBase.prototype._flush=function(callback){var error=null;try{this.push(this.digest())}catch(err){error=err}callback(error)};var useUint8Array=typeof Uint8Array<\"u\",useArrayBuffer=typeof ArrayBuffer<\"u\"&&typeof Uint8Array<\"u\"&&ArrayBuffer.isView&&(Buffer2.prototype instanceof Uint8Array||Buffer2.TYPED_ARRAY_SUPPORT);function toBuffer(data,encoding){if(data instanceof Buffer2)return data;if(typeof data===\"string\")return Buffer2.from(data,encoding);if(useArrayBuffer&&ArrayBuffer.isView(data)){if(data.byteLength===0)return Buffer2.alloc(0);var res=Buffer2.from(data.buffer,data.byteOffset,data.byteLength);if(res.byteLength===data.byteLength)return res}if(useUint8Array&&data instanceof Uint8Array)return Buffer2.from(data);if(Buffer2.isBuffer(data)&&data.constructor&&typeof data.constructor.isBuffer===\"function\"&&data.constructor.isBuffer(data))return Buffer2.from(data);throw TypeError('The \"data\" argument must be of type string or an instance of Buffer, TypedArray, or DataView.')}HashBase.prototype.update=function(data,encoding){if(this._finalized)throw Error(\"Digest already called\");data=toBuffer(data,encoding);var block=this._block,offset=0;while(this._blockOffset+data.length-offset>=this._blockSize){for(var i=this._blockOffset;i<this._blockSize;)block[i++]=data[offset++];this._update(),this._blockOffset=0}while(offset<data.length)block[this._blockOffset++]=data[offset++];for(var j=0,carry=data.length*8;carry>0;++j)if(this._length[j]+=carry,carry=this._length[j]/4294967296|0,carry>0)this._length[j]-=4294967296*carry;return this};HashBase.prototype._update=function(){throw Error(\"_update is not implemented\")};HashBase.prototype.digest=function(encoding){if(this._finalized)throw Error(\"Digest already called\");this._finalized=!0;var digest=this._digest();if(encoding!==void 0)digest=digest.toString(encoding);this._block.fill(0),this._blockOffset=0;for(var i=0;i<4;++i)this._length[i]=0;return digest};HashBase.prototype._digest=function(){throw Error(\"_digest is not implemented\")};module.exports=HashBase});var require_md5=__commonJS((exports,module)=>{var inherits=require_inherits(),HashBase=require_hash_base(),Buffer2=require_safe_buffer().Buffer,ARRAY16=Array(16);function MD5(){HashBase.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}inherits(MD5,HashBase);MD5.prototype._update=function(){var M=ARRAY16;for(var i=0;i<16;++i)M[i]=this._block.readInt32LE(i*4);var a=this._a,b=this._b,c=this._c,d=this._d;a=fnF(a,b,c,d,M[0],3614090360,7),d=fnF(d,a,b,c,M[1],3905402710,12),c=fnF(c,d,a,b,M[2],606105819,17),b=fnF(b,c,d,a,M[3],3250441966,22),a=fnF(a,b,c,d,M[4],4118548399,7),d=fnF(d,a,b,c,M[5],1200080426,12),c=fnF(c,d,a,b,M[6],2821735955,17),b=fnF(b,c,d,a,M[7],4249261313,22),a=fnF(a,b,c,d,M[8],1770035416,7),d=fnF(d,a,b,c,M[9],2336552879,12),c=fnF(c,d,a,b,M[10],4294925233,17),b=fnF(b,c,d,a,M[11],2304563134,22),a=fnF(a,b,c,d,M[12],1804603682,7),d=fnF(d,a,b,c,M[13],4254626195,12),c=fnF(c,d,a,b,M[14],2792965006,17),b=fnF(b,c,d,a,M[15],1236535329,22),a=fnG(a,b,c,d,M[1],4129170786,5),d=fnG(d,a,b,c,M[6],3225465664,9),c=fnG(c,d,a,b,M[11],643717713,14),b=fnG(b,c,d,a,M[0],3921069994,20),a=fnG(a,b,c,d,M[5],3593408605,5),d=fnG(d,a,b,c,M[10],38016083,9),c=fnG(c,d,a,b,M[15],3634488961,14),b=fnG(b,c,d,a,M[4],3889429448,20),a=fnG(a,b,c,d,M[9],568446438,5),d=fnG(d,a,b,c,M[14],3275163606,9),c=fnG(c,d,a,b,M[3],4107603335,14),b=fnG(b,c,d,a,M[8],1163531501,20),a=fnG(a,b,c,d,M[13],2850285829,5),d=fnG(d,a,b,c,M[2],4243563512,9),c=fnG(c,d,a,b,M[7],1735328473,14),b=fnG(b,c,d,a,M[12],2368359562,20),a=fnH(a,b,c,d,M[5],4294588738,4),d=fnH(d,a,b,c,M[8],2272392833,11),c=fnH(c,d,a,b,M[11],1839030562,16),b=fnH(b,c,d,a,M[14],4259657740,23),a=fnH(a,b,c,d,M[1],2763975236,4),d=fnH(d,a,b,c,M[4],1272893353,11),c=fnH(c,d,a,b,M[7],4139469664,16),b=fnH(b,c,d,a,M[10],3200236656,23),a=fnH(a,b,c,d,M[13],681279174,4),d=fnH(d,a,b,c,M[0],3936430074,11),c=fnH(c,d,a,b,M[3],3572445317,16),b=fnH(b,c,d,a,M[6],76029189,23),a=fnH(a,b,c,d,M[9],3654602809,4),d=fnH(d,a,b,c,M[12],3873151461,11),c=fnH(c,d,a,b,M[15],530742520,16),b=fnH(b,c,d,a,M[2],3299628645,23),a=fnI(a,b,c,d,M[0],4096336452,6),d=fnI(d,a,b,c,M[7],1126891415,10),c=fnI(c,d,a,b,M[14],2878612391,15),b=fnI(b,c,d,a,M[5],4237533241,21),a=fnI(a,b,c,d,M[12],1700485571,6),d=fnI(d,a,b,c,M[3],2399980690,10),c=fnI(c,d,a,b,M[10],4293915773,15),b=fnI(b,c,d,a,M[1],2240044497,21),a=fnI(a,b,c,d,M[8],1873313359,6),d=fnI(d,a,b,c,M[15],4264355552,10),c=fnI(c,d,a,b,M[6],2734768916,15),b=fnI(b,c,d,a,M[13],1309151649,21),a=fnI(a,b,c,d,M[4],4149444226,6),d=fnI(d,a,b,c,M[11],3174756917,10),c=fnI(c,d,a,b,M[2],718787259,15),b=fnI(b,c,d,a,M[9],3951481745,21),this._a=this._a+a|0,this._b=this._b+b|0,this._c=this._c+c|0,this._d=this._d+d|0};MD5.prototype._digest=function(){if(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 buffer=Buffer2.allocUnsafe(16);return buffer.writeInt32LE(this._a,0),buffer.writeInt32LE(this._b,4),buffer.writeInt32LE(this._c,8),buffer.writeInt32LE(this._d,12),buffer};function rotl(x,n){return x<<n|x>>>32-n}function fnF(a,b,c,d,m,k,s){return rotl(a+(b&c|~b&d)+m+k|0,s)+b|0}function fnG(a,b,c,d,m,k,s){return rotl(a+(b&d|c&~d)+m+k|0,s)+b|0}function fnH(a,b,c,d,m,k,s){return rotl(a+(b^c^d)+m+k|0,s)+b|0}function fnI(a,b,c,d,m,k,s){return rotl(a+(c^(b|~d))+m+k|0,s)+b|0}module.exports=MD5});var require_evp_bytestokey=__commonJS((exports,module)=>{var Buffer2=require_safe_buffer().Buffer,MD5=require_md5();function EVP_BytesToKey(password,salt,keyBits,ivLen){if(!Buffer2.isBuffer(password))password=Buffer2.from(password,\"binary\");if(salt){if(!Buffer2.isBuffer(salt))salt=Buffer2.from(salt,\"binary\");if(salt.length!==8)throw RangeError(\"salt should be Buffer with 8 byte length\")}var keyLen=keyBits/8,key=Buffer2.alloc(keyLen),iv=Buffer2.alloc(ivLen||0),tmp=Buffer2.alloc(0);while(keyLen>0||ivLen>0){var hash=new MD5;if(hash.update(tmp),hash.update(password),salt)hash.update(salt);tmp=hash.digest();var used=0;if(keyLen>0){var keyStart=key.length-keyLen;used=Math.min(keyLen,tmp.length),tmp.copy(key,keyStart,0,used),keyLen-=used}if(used<tmp.length&&ivLen>0){var ivStart=iv.length-ivLen,length=Math.min(ivLen,tmp.length-used);tmp.copy(iv,ivStart,used,used+length),ivLen-=length}}return tmp.fill(0),{key,iv}}module.exports=EVP_BytesToKey});var require_browserify_aes=__commonJS((exports)=>{var crypto2=require(\"crypto\");exports.createCipher=exports.Cipher=crypto2.createCipher;exports.createCipheriv=exports.Cipheriv=crypto2.createCipheriv;exports.createDecipher=exports.Decipher=crypto2.createDecipher;exports.createDecipheriv=exports.Decipheriv=crypto2.createDecipheriv;exports.listCiphers=exports.getCiphers=crypto2.getCiphers});var require_fixProc=__commonJS((exports,module)=>{var findProc=/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,startRegex=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,fullRegex=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\\n\\r+/=]+)-----END \\1-----$/m,evp=require_evp_bytestokey(),ciphers=require_browserify_aes(),Buffer2=require_safe_buffer().Buffer;module.exports=function(okey,password){var key=okey.toString(),match=key.match(findProc),decrypted;if(!match){var match2=key.match(fullRegex);decrypted=Buffer2.from(match2[2].replace(/[\\r\\n]/g,\"\"),\"base64\")}else{var suite=\"aes\"+match[1],iv=Buffer2.from(match[2],\"hex\"),cipherText=Buffer2.from(match[3].replace(/[\\r\\n]/g,\"\"),\"base64\"),cipherKey=evp(password,iv.slice(0,8),parseInt(match[1],10)).key,out=[],cipher=ciphers.createDecipheriv(suite,cipherKey,iv);out.push(cipher.update(cipherText)),out.push(cipher.final()),decrypted=Buffer2.concat(out)}var tag=key.match(startRegex)[1];return{tag,data:decrypted}}});var require_parse_asn1=__commonJS((exports,module)=>{var asn1=require_asn12(),aesid=require_aesid(),fixProc=require_fixProc(),ciphers=require_browserify_aes(),pbkdf2Sync=require_pbkdf2().pbkdf2Sync,Buffer2=require_safe_buffer().Buffer;function decrypt(data,password){var salt=data.algorithm.decrypt.kde.kdeparams.salt,iters=parseInt(data.algorithm.decrypt.kde.kdeparams.iters.toString(),10),algo=aesid[data.algorithm.decrypt.cipher.algo.join(\".\")],iv=data.algorithm.decrypt.cipher.iv,cipherText=data.subjectPrivateKey,keylen=parseInt(algo.split(\"-\")[1],10)/8,key=pbkdf2Sync(password,salt,iters,keylen,\"sha1\"),cipher=ciphers.createDecipheriv(algo,key,iv),out=[];return out.push(cipher.update(cipherText)),out.push(cipher.final()),Buffer2.concat(out)}function parseKeys(buffer){var password;if(typeof buffer===\"object\"&&!Buffer2.isBuffer(buffer))password=buffer.passphrase,buffer=buffer.key;if(typeof buffer===\"string\")buffer=Buffer2.from(buffer);var stripped=fixProc(buffer,password),type=stripped.tag,data=stripped.data,subtype,ndata;switch(type){case\"CERTIFICATE\":ndata=asn1.certificate.decode(data,\"der\").tbsCertificate.subjectPublicKeyInfo;case\"PUBLIC KEY\":if(!ndata)ndata=asn1.PublicKey.decode(data,\"der\");switch(subtype=ndata.algorithm.algorithm.join(\".\"),subtype){case\"1.2.840.113549.1.1.1\":return asn1.RSAPublicKey.decode(ndata.subjectPublicKey.data,\"der\");case\"1.2.840.10045.2.1\":return ndata.subjectPrivateKey=ndata.subjectPublicKey,{type:\"ec\",data:ndata};case\"1.2.840.10040.4.1\":return ndata.algorithm.params.pub_key=asn1.DSAparam.decode(ndata.subjectPublicKey.data,\"der\"),{type:\"dsa\",data:ndata.algorithm.params};default:throw Error(\"unknown key id \"+subtype)}case\"ENCRYPTED PRIVATE KEY\":data=asn1.EncryptedPrivateKey.decode(data,\"der\"),data=decrypt(data,password);case\"PRIVATE KEY\":switch(ndata=asn1.PrivateKey.decode(data,\"der\"),subtype=ndata.algorithm.algorithm.join(\".\"),subtype){case\"1.2.840.113549.1.1.1\":return asn1.RSAPrivateKey.decode(ndata.subjectPrivateKey,\"der\");case\"1.2.840.10045.2.1\":return{curve:ndata.algorithm.curve,privateKey:asn1.ECPrivateKey.decode(ndata.subjectPrivateKey,\"der\").privateKey};case\"1.2.840.10040.4.1\":return ndata.algorithm.params.priv_key=asn1.DSAparam.decode(ndata.subjectPrivateKey,\"der\"),{type:\"dsa\",params:ndata.algorithm.params};default:throw Error(\"unknown key id \"+subtype)}case\"RSA PUBLIC KEY\":return asn1.RSAPublicKey.decode(data,\"der\");case\"RSA PRIVATE KEY\":return asn1.RSAPrivateKey.decode(data,\"der\");case\"DSA PRIVATE KEY\":return{type:\"dsa\",params:asn1.DSAPrivateKey.decode(data,\"der\")};case\"EC PRIVATE KEY\":return data=asn1.ECPrivateKey.decode(data,\"der\"),{curve:data.parameters.value,privateKey:data.privateKey};default:throw Error(\"unknown key type \"+type)}}parseKeys.signature=asn1.signature;module.exports=parseKeys});var require_mgf=__commonJS((exports,module)=>{var createHash=require_create_hash(),Buffer2=require_safe_buffer().Buffer;module.exports=function(seed,len){var t=Buffer2.alloc(0),i=0,c;while(t.length<len)c=i2ops(i++),t=Buffer2.concat([t,createHash(\"sha1\").update(seed).update(c).digest()]);return t.slice(0,len)};function i2ops(c){var out=Buffer2.allocUnsafe(4);return out.writeUInt32BE(c,0),out}});var require_xor=__commonJS((exports,module)=>{module.exports=function(a,b){var len=a.length,i=-1;while(++i<len)a[i]^=b[i];return a}});var require_bn4=__commonJS((exports,module)=>{(function(module2,exports2){function assert(val,msg){if(!val)throw Error(msg||\"Assertion failed\")}function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}function BN(number,base,endian){if(BN.isBN(number))return number;if(this.negative=0,this.words=null,this.length=0,this.red=null,number!==null){if(base===\"le\"||base===\"be\")endian=base,base=10;this._init(number||0,base||10,endian||\"be\")}}if(typeof module2===\"object\")module2.exports=BN;else exports2.BN=BN;BN.BN=BN,BN.wordSize=26;var Buffer2;try{if(typeof window<\"u\"&&typeof window.Buffer<\"u\")Buffer2=window.Buffer;else Buffer2=require(\"buffer\").Buffer}catch(e){}BN.isBN=function(num){if(num instanceof BN)return!0;return num!==null&&typeof num===\"object\"&&num.constructor.wordSize===BN.wordSize&&Array.isArray(num.words)},BN.max=function(left,right){if(left.cmp(right)>0)return left;return right},BN.min=function(left,right){if(left.cmp(right)<0)return left;return right},BN.prototype._init=function(number,base,endian){if(typeof number===\"number\")return this._initNumber(number,base,endian);if(typeof number===\"object\")return this._initArray(number,base,endian);if(base===\"hex\")base=16;assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;if(number[0]===\"-\")start++,this.negative=1;if(start<number.length){if(base===16)this._parseHex(number,start,endian);else if(this._parseBase(number,base,start),endian===\"le\")this._initArray(this.toArray(),base,endian)}},BN.prototype._initNumber=function(number,base,endian){if(number<0)this.negative=1,number=-number;if(number<67108864)this.words=[number&67108863],this.length=1;else if(number<4503599627370496)this.words=[number&67108863,number/67108864&67108863],this.length=2;else assert(number<9007199254740992),this.words=[number&67108863,number/67108864&67108863,1],this.length=3;if(endian!==\"le\")return;this._initArray(this.toArray(),base,endian)},BN.prototype._initArray=function(number,base,endian){if(assert(typeof number.length===\"number\"),number.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(number.length/3),this.words=Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var j,w,off=0;if(endian===\"be\"){for(i=number.length-1,j=0;i>=0;i-=3)if(w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<<off&67108863,this.words[j+1]=w>>>26-off&67108863,off+=24,off>=26)off-=26,j++}else if(endian===\"le\"){for(i=0,j=0;i<number.length;i+=3)if(w=number[i]|number[i+1]<<8|number[i+2]<<16,this.words[j]|=w<<off&67108863,this.words[j+1]=w>>>26-off&67108863,off+=24,off>=26)off-=26,j++}return this.strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);if(c>=65&&c<=70)return c-55;else if(c>=97&&c<=102)return c-87;else return c-48&15}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);if(index-1>=lowerBound)r|=parseHex4Bits(string,index-1)<<4;return r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var off=0,j=0,w;if(endian===\"be\")for(i=number.length-1;i>=start;i-=2)if(w=parseHexByte(number,start,i)<<off,this.words[j]|=w&67108863,off>=18)off-=18,j+=1,this.words[j]|=w>>>26;else off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0?start+1:start;i<number.length;i+=2)if(w=parseHexByte(number,start,i)<<off,this.words[j]|=w&67108863,off>=18)off-=18,j+=1,this.words[j]|=w>>>26;else off+=8}this.strip()};function parseBase(str,start,end,mul){var r=0,len=Math.min(str.length,end);for(var i=start;i<len;i++){var c=str.charCodeAt(i)-48;if(r*=mul,c>=49)r+=c-49+10;else if(c>=17)r+=c-17+10;else r+=c}return r}BN.prototype._parseBase=function(number,base,start){this.words=[0],this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0;for(var i=start;i<end;i+=limbLen)if(word=parseBase(number,i,i+limbLen,base),this.imuln(limbPow),this.words[0]+word<67108864)this.words[0]+=word;else this._iaddn(word);if(mod!==0){var pow=1;word=parseBase(number,i,number.length,base);for(i=0;i<mod;i++)pow*=base;if(this.imuln(pow),this.words[0]+word<67108864)this.words[0]+=word;else this._iaddn(word)}this.strip()},BN.prototype.copy=function(dest){dest.words=Array(this.length);for(var i=0;i<this.length;i++)dest.words[i]=this.words[i];dest.length=this.length,dest.negative=this.negative,dest.red=this.red},BN.prototype.clone=function(){var r=new BN(null);return this.copy(r),r},BN.prototype._expand=function(size){while(this.length<size)this.words[this.length++]=0;return this},BN.prototype.strip=function(){while(this.length>1&&this.words[this.length-1]===0)this.length--;return this._normSign()},BN.prototype._normSign=function(){if(this.length===1&&this.words[0]===0)this.negative=0;return this},BN.prototype.inspect=function(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"};var zeros=[\"\",\"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\"],groupSizes=[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],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];if(BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";var off=0,carry=0;for(var i=0;i<this.length;i++){var w=this.words[i],word=((w<<off|carry)&16777215).toString(16);if(carry=w>>>24-off&16777215,off+=2,off>=26)off-=26,i--;if(carry!==0||i!==this.length-1)out=zeros[6-word.length]+word+out;else out=word+out}if(carry!==0)out=carry.toString(16)+out;while(out.length%padding!==0)out=\"0\"+out;if(this.negative!==0)out=\"-\"+out;return out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();c.negative=0;while(!c.isZero()){var r=c.modn(groupBase).toString(base);if(c=c.idivn(groupBase),!c.isZero())out=zeros[groupSize-r.length]+r+out;else out=r+out}if(this.isZero())out=\"0\"+out;while(out.length%padding!==0)out=\"0\"+out;if(this.negative!==0)out=\"-\"+out;return out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];if(this.length===2)ret+=this.words[1]*67108864;else if(this.length===3&&this.words[2]===1)ret+=4503599627370496+this.words[1]*67108864;else if(this.length>2)assert(!1,\"Number can only safely store up to 53 bits\");return this.negative!==0?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16)},BN.prototype.toBuffer=function(endian,length){return assert(typeof Buffer2<\"u\"),this.toArrayLike(Buffer2,endian,length)},BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)},BN.prototype.toArrayLike=function(ArrayType,endian,length){var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\"),this.strip();var littleEndian=endian===\"le\",res=new ArrayType(reqLength),b,i,q=this.clone();if(!littleEndian){for(i=0;i<reqLength-byteLength;i++)res[i]=0;for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[reqLength-i-1]=b}else{for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[i]=b;for(;i<reqLength;i++)res[i]=0}return res},Math.clz32)BN.prototype._countBits=function(w){return 32-Math.clz32(w)};else BN.prototype._countBits=function(w){var t=w,r=0;if(t>=4096)r+=13,t>>>=13;if(t>=64)r+=7,t>>>=7;if(t>=8)r+=4,t>>>=4;if(t>=2)r+=2,t>>>=2;return r+t};BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;if((t&8191)===0)r+=13,t>>>=13;if((t&127)===0)r+=7,t>>>=7;if((t&15)===0)r+=4,t>>>=4;if((t&3)===0)r+=2,t>>>=2;if((t&1)===0)r++;return r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){var w=Array(num.bitLength());for(var bit=0;bit<w.length;bit++){var off=bit/26|0,wbit=bit%26;w[bit]=(num.words[off]&1<<wbit)>>>wbit}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;var r=0;for(var i=0;i<this.length;i++){var b=this._zeroBits(this.words[i]);if(r+=b,b!==26)break}return r},BN.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},BN.prototype.toTwos=function(width){if(this.negative!==0)return this.abs().inotn(width).iaddn(1);return this.clone()},BN.prototype.fromTwos=function(width){if(this.testn(width-1))return this.notn(width).iaddn(1).ineg();return this.clone()},BN.prototype.isNeg=function(){return this.negative!==0},BN.prototype.neg=function(){return this.clone().ineg()},BN.prototype.ineg=function(){if(!this.isZero())this.negative^=1;return this},BN.prototype.iuor=function(num){while(this.length<num.length)this.words[this.length++]=0;for(var i=0;i<num.length;i++)this.words[i]=this.words[i]|num.words[i];return this.strip()},BN.prototype.ior=function(num){return assert((this.negative|num.negative)===0),this.iuor(num)},BN.prototype.or=function(num){if(this.length>num.length)return this.clone().ior(num);return num.clone().ior(this)},BN.prototype.uor=function(num){if(this.length>num.length)return this.clone().iuor(num);return num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;if(this.length>num.length)b=num;else b=this;for(var i=0;i<b.length;i++)this.words[i]=this.words[i]&num.words[i];return this.length=b.length,this.strip()},BN.prototype.iand=function(num){return assert((this.negative|num.negative)===0),this.iuand(num)},BN.prototype.and=function(num){if(this.length>num.length)return this.clone().iand(num);return num.clone().iand(this)},BN.prototype.uand=function(num){if(this.length>num.length)return this.clone().iuand(num);return num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;if(this.length>num.length)a=this,b=num;else a=num,b=this;for(var i=0;i<b.length;i++)this.words[i]=a.words[i]^b.words[i];if(this!==a)for(;i<a.length;i++)this.words[i]=a.words[i];return this.length=a.length,this.strip()},BN.prototype.ixor=function(num){return assert((this.negative|num.negative)===0),this.iuxor(num)},BN.prototype.xor=function(num){if(this.length>num.length)return this.clone().ixor(num);return num.clone().ixor(this)},BN.prototype.uxor=function(num){if(this.length>num.length)return this.clone().iuxor(num);return num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width===\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;if(this._expand(bytesNeeded),bitsLeft>0)bytesNeeded--;for(var i=0;i<bytesNeeded;i++)this.words[i]=~this.words[i]&67108863;if(bitsLeft>0)this.words[i]=~this.words[i]&67108863>>26-bitsLeft;return this.strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit===\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;if(this._expand(off+1),val)this.words[off]=this.words[off]|1<<wbit;else this.words[off]=this.words[off]&~(1<<wbit);return this.strip()},BN.prototype.iadd=function(num){var r;if(this.negative!==0&&num.negative===0)return this.negative=0,r=this.isub(num),this.negative^=1,this._normSign();else if(this.negative===0&&num.negative!==0)return num.negative=0,r=this.isub(num),num.negative=1,r._normSign();var a,b;if(this.length>num.length)a=this,b=num;else a=num,b=this;var carry=0;for(var i=0;i<b.length;i++)r=(a.words[i]|0)+(b.words[i]|0)+carry,this.words[i]=r&67108863,carry=r>>>26;for(;carry!==0&&i<a.length;i++)r=(a.words[i]|0)+carry,this.words[i]=r&67108863,carry=r>>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;i<a.length;i++)this.words[i]=a.words[i];return this},BN.prototype.add=function(num){var res;if(num.negative!==0&&this.negative===0)return num.negative=0,res=this.sub(num),num.negative^=1,res;else if(num.negative===0&&this.negative!==0)return this.negative=0,res=num.sub(this),this.negative=1,res;if(this.length>num.length)return this.clone().iadd(num);return num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;if(cmp>0)a=this,b=num;else a=num,b=this;var carry=0;for(var i=0;i<b.length;i++)r=(a.words[i]|0)-(b.words[i]|0)+carry,carry=r>>26,this.words[i]=r&67108863;for(;carry!==0&&i<a.length;i++)r=(a.words[i]|0)+carry,carry=r>>26,this.words[i]=r&67108863;if(carry===0&&i<a.length&&a!==this)for(;i<a.length;i++)this.words[i]=a.words[i];if(this.length=Math.max(this.length,i),a!==this)this.negative=1;return this.strip()},BN.prototype.sub=function(num){return this.clone().isub(num)};function smallMulTo(self2,num,out){out.negative=num.negative^self2.negative;var len=self2.length+num.length|0;out.length=len,len=len-1|0;var a=self2.words[0]|0,b=num.words[0]|0,r=a*b,lo=r&67108863,carry=r/67108864|0;out.words[0]=lo;for(var k=1;k<len;k++){var ncarry=carry>>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1);for(var j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}if(carry!==0)out.words[k]=carry|0;else out.length--;return out.strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;if(c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0)o[19]=c,out.length++;return out};if(!Math.imul)comb10MulTo=smallMulTo;function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;var carry=0,hncarry=0;for(var k=0;k<out.length-1;k++){var ncarry=hncarry;hncarry=0;var rword=carry&67108863,maxJ=Math.min(k,num.length-1);for(var j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j,a=self2.words[i]|0,b=num.words[j]|0,r=a*b,lo=r&67108863;ncarry=ncarry+(r/67108864|0)|0,lo=lo+rword|0,rword=lo&67108863,ncarry=ncarry+(lo>>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}if(carry!==0)out.words[k]=carry;else out.length--;return out.strip()}function jumboMulTo(self2,num,out){var fftm=new FFTM;return fftm.mulp(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;if(this.length===10&&num.length===10)res=comb10MulTo(this,num,out);else if(len<63)res=smallMulTo(this,num,out);else if(len<1024)res=bigMulTo(this,num,out);else res=jumboMulTo(this,num,out);return res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){var t=Array(N),l=BN.prototype._countBits(N)-1;for(var i=0;i<N;i++)t[i]=this.revBin(i,l,N);return t},FFTM.prototype.revBin=function(x,l,N){if(x===0||x===N-1)return x;var rb=0;for(var i=0;i<l;i++)rb|=(x&1)<<l-i-1,x>>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i<N;i++)rtws[i]=rws[rbt[i]],itws[i]=iws[rbt[i]]},FFTM.prototype.transform=function(rws,iws,rtws,itws,N,rbt){this.permute(rbt,rws,iws,rtws,itws,N);for(var s=1;s<N;s<<=1){var l=s<<1,rtwdf=Math.cos(2*Math.PI/l),itwdf=Math.sin(2*Math.PI/l);for(var p=0;p<N;p+=l){var rtwdf_=rtwdf,itwdf_=itwdf;for(var j=0;j<s;j++){var re=rtws[p+j],ie=itws[p+j],ro=rtws[p+j+s],io=itws[p+j+s],rx=rtwdf_*ro-itwdf_*io;if(io=rtwdf_*io+itwdf_*ro,ro=rx,rtws[p+j]=re+ro,itws[p+j]=ie+io,rtws[p+j+s]=re-ro,itws[p+j+s]=ie-io,j!==l)rx=rtwdf*rtwdf_-itwdf*itwdf_,itwdf_=rtwdf*itwdf_+itwdf*rtwdf_,rtwdf_=rx}}}},FFTM.prototype.guessLen13b=function(n,m){var N=Math.max(m,n)|1,odd=N&1,i=0;for(N=N/2|0;N;N=N>>>1)i++;return 1<<i+1+odd},FFTM.prototype.conjugate=function(rws,iws,N){if(N<=1)return;for(var i=0;i<N/2;i++){var t=rws[i];rws[i]=rws[N-i-1],rws[N-i-1]=t,t=iws[i],iws[i]=-iws[N-i-1],iws[N-i-1]=-t}},FFTM.prototype.normalize13b=function(ws,N){var carry=0;for(var i=0;i<N/2;i++){var w=Math.round(ws[2*i+1]/N)*8192+Math.round(ws[2*i]/N)+carry;if(ws[i]=w&67108863,w<67108864)carry=0;else carry=w/67108864|0}return ws},FFTM.prototype.convert13b=function(ws,len,rws,N){var carry=0;for(var i=0;i<len;i++)carry=carry+(ws[i]|0),rws[2*i]=carry&8191,carry=carry>>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i<N;++i)rws[i]=0;assert(carry===0),assert((carry&-8192)===0)},FFTM.prototype.stub=function(N){var ph=Array(N);for(var i=0;i<N;i++)ph[i]=0;return ph},FFTM.prototype.mulp=function(x,y,out){var N=2*this.guessLen13b(x.length,y.length),rbt=this.makeRBT(N),_=this.stub(N),rws=Array(N),rwst=Array(N),iwst=Array(N),nrws=Array(N),nrwst=Array(N),niwst=Array(N),rmws=out.words;rmws.length=N,this.convert13b(x.words,x.length,rws,N),this.convert13b(y.words,y.length,nrws,N),this.transform(rws,_,rwst,iwst,N,rbt),this.transform(nrws,_,nrwst,niwst,N,rbt);for(var i=0;i<N;i++){var rx=rwst[i]*nrwst[i]-iwst[i]*niwst[i];iwst[i]=rwst[i]*niwst[i]+iwst[i]*nrwst[i],rwst[i]=rx}return this.conjugate(rwst,iwst,N),this.transform(rwst,iwst,rmws,_,N,rbt),this.conjugate(rmws,_,N),this.normalize13b(rmws,N),out.negative=x.negative^y.negative,out.length=x.length+y.length,out.strip()},BN.prototype.mul=function(num){var out=new BN(null);return out.words=Array(this.length+num.length),this.mulTo(num,out)},BN.prototype.mulf=function(num){var out=new BN(null);return out.words=Array(this.length+num.length),jumboMulTo(this,num,out)},BN.prototype.imul=function(num){return this.clone().mulTo(num,this)},BN.prototype.imuln=function(num){assert(typeof num===\"number\"),assert(num<67108864);var carry=0;for(var i=0;i<this.length;i++){var w=(this.words[i]|0)*num,lo=(w&67108863)+(carry&67108863);carry>>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}if(carry!==0)this.words[i]=carry,this.length++;return this.length=num===0?1:this.length,this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);var res=this;for(var i=0;i<w.length;i++,res=res.sqr())if(w[i]!==0)break;if(++i<w.length)for(var q=res.sqr();i<w.length;i++,q=q.sqr()){if(w[i]===0)continue;res=res.mul(q)}return res},BN.prototype.iushln=function(bits){assert(typeof bits===\"number\"&&bits>=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i<this.length;i++){var newCarry=this.words[i]&carryMask,c=(this.words[i]|0)-newCarry<<r;this.words[i]=c|carry,carry=newCarry>>>26-r}if(carry)this.words[i]=carry,this.length++}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i<s;i++)this.words[i]=0;this.length+=s}return this.strip()},BN.prototype.ishln=function(bits){return assert(this.negative===0),this.iushln(bits)},BN.prototype.iushrn=function(bits,hint,extended){assert(typeof bits===\"number\"&&bits>=0);var h;if(hint)h=(hint-hint%26)/26;else h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<<r,maskedWords=extended;if(h-=s,h=Math.max(0,h),maskedWords){for(var i=0;i<s;i++)maskedWords.words[i]=this.words[i];maskedWords.length=s}if(s===0);else if(this.length>s){this.length-=s;for(i=0;i<this.length;i++)this.words[i]=this.words[i+s]}else this.words[0]=0,this.length=1;var carry=0;for(i=this.length-1;i>=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}if(maskedWords&&carry!==0)maskedWords.words[maskedWords.length++]=carry;if(this.length===0)this.words[0]=0,this.length=1;return this.strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit===\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<<r;if(this.length<=s)return!1;var w=this.words[s];return!!(w&q)},BN.prototype.imaskn=function(bits){assert(typeof bits===\"number\"&&bits>=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0)s++;if(this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<<r;this.words[this.length-1]&=mask}return this.strip()},BN.prototype.maskn=function(bits){return this.clone().imaskn(bits)},BN.prototype.iaddn=function(num){if(assert(typeof num===\"number\"),assert(num<67108864),num<0)return this.isubn(-num);if(this.negative!==0){if(this.length===1&&(this.words[0]|0)<num)return this.words[0]=num-(this.words[0]|0),this.negative=0,this;return this.negative=0,this.isubn(num),this.negative=1,this}return this._iaddn(num)},BN.prototype._iaddn=function(num){this.words[0]+=num;for(var i=0;i<this.length&&this.words[i]>=67108864;i++)if(this.words[i]-=67108864,i===this.length-1)this.words[i+1]=1;else this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num===\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&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()},BN.prototype.addn=function(num){return this.clone().iaddn(num)},BN.prototype.subn=function(num){return this.clone().isubn(num)},BN.prototype.iabs=function(){return this.negative=0,this},BN.prototype.abs=function(){return this.clone().iabs()},BN.prototype._ishlnsubmul=function(num,mul,shift){var len=num.length+shift,i;this._expand(len);var w,carry=0;for(i=0;i<num.length;i++){w=(this.words[i+shift]|0)+carry;var right=(num.words[i]|0)*mul;w-=right&67108863,carry=(w>>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i<this.length-shift;i++)w=(this.words[i+shift]|0)+carry,carry=w>>26,this.words[i+shift]=w&67108863;if(carry===0)return this.strip();assert(carry===-1),carry=0;for(i=0;i<this.length;i++)w=-(this.words[i]|0)+carry,carry=w>>26,this.words[i]=w&67108863;return this.negative=1,this.strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);if(shift=26-bhiBits,shift!==0)b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0;var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=Array(q.length);for(var i=0;i<q.length;i++)q.words[i]=0}var diff=a.clone()._ishlnsubmul(b,1,m);if(diff.negative===0){if(a=diff,q)q.words[m]=1}for(var j=m-1;j>=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);while(a.negative!==0)if(qj--,a.negative=0,a._ishlnsubmul(b,1,j),!a.isZero())a.negative^=1;if(q)q.words[j]=qj}if(q)q.strip();if(a.strip(),mode!==\"div\"&&shift!==0)a.iushrn(shift);return{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;if(this.negative!==0&&num.negative===0){if(res=this.neg().divmod(num,mode),mode!==\"mod\")div=res.div.neg();if(mode!==\"div\"){if(mod=res.mod.neg(),positive&&mod.negative!==0)mod.iadd(num)}return{div,mod}}if(this.negative===0&&num.negative!==0){if(res=this.divmod(num.neg(),mode),mode!==\"mod\")div=res.div.neg();return{div,mod:res.mod}}if((this.negative&num.negative)!==0){if(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"){if(mod=res.mod.neg(),positive&&mod.negative!==0)mod.isub(num)}return{div:res.div,mod}}if(num.length>this.length||this.cmp(num)<0)return{div:new BN(0),mod:this};if(num.length===1){if(mode===\"div\")return{div:this.divn(num.words[0]),mod:null};if(mode===\"mod\")return{div:null,mod:new BN(this.modn(num.words[0]))};return{div:this.divn(num.words[0]),mod:new BN(this.modn(num.words[0]))}}return this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);if(cmp<0||r2===1&&cmp===0)return dm.div;return dm.div.negative!==0?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modn=function(num){assert(num<=67108863);var p=67108864%num,acc=0;for(var i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return acc},BN.prototype.idivn=function(num){assert(num<=67108863);var carry=0;for(var i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this.strip()},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();if(x.negative!==0)x=x.umod(p);else x=x.clone();var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;while(x.isEven()&&y.isEven())x.iushrn(1),y.iushrn(1),++g;var yp=y.clone(),xp=x.clone();while(!x.isZero()){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0){x.iushrn(i);while(i-- >0){if(A.isOdd()||B.isOdd())A.iadd(yp),B.isub(xp);A.iushrn(1),B.iushrn(1)}}for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0){y.iushrn(j);while(j-- >0){if(C.isOdd()||D.isOdd())C.iadd(yp),D.isub(xp);C.iushrn(1),D.iushrn(1)}}if(x.cmp(y)>=0)x.isub(y),A.isub(C),B.isub(D);else y.isub(x),C.isub(A),D.isub(B)}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();if(a.negative!==0)a=a.umod(p);else a=a.clone();var x1=new BN(1),x2=new BN(0),delta=b.clone();while(a.cmpn(1)>0&&b.cmpn(1)>0){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0){a.iushrn(i);while(i-- >0){if(x1.isOdd())x1.iadd(delta);x1.iushrn(1)}}for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0){b.iushrn(j);while(j-- >0){if(x2.isOdd())x2.iadd(delta);x2.iushrn(1)}}if(a.cmp(b)>=0)a.isub(b),x1.isub(x2);else b.isub(a),x2.isub(x1)}var res;if(a.cmpn(1)===0)res=x1;else res=x2;if(res.cmpn(0)<0)res.iadd(p);return res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{while(a.isEven())a.iushrn(1);while(b.isEven())b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit===\"number\");var r=bit%26,s=(bit-r)/26,q=1<<r;if(this.length<=s)return this._expand(s+1),this.words[s]|=q,this;var carry=q;for(var i=s;carry!==0&&i<this.length;i++){var w=this.words[i]|0;w+=carry,carry=w>>>26,w&=67108863,this.words[i]=w}if(carry!==0)this.words[i]=carry,this.length++;return this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this.strip();var res;if(this.length>1)res=1;else{if(negative)num=-num;assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num?0:w<num?-1:1}if(this.negative!==0)return-res|0;return res},BN.prototype.cmp=function(num){if(this.negative!==0&&num.negative===0)return-1;if(this.negative===0&&num.negative!==0)return 1;var res=this.ucmp(num);if(this.negative!==0)return-res|0;return res},BN.prototype.ucmp=function(num){if(this.length>num.length)return 1;if(this.length<num.length)return-1;var res=0;for(var i=this.length-1;i>=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a===b)continue;if(a<b)res=-1;else if(a>b)res=1;break}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen<this.n?-1:r.ucmp(this.p);if(cmp===0)r.words[0]=0,r.length=1;else if(cmp>0)r.isub(this.p);else if(r.strip!==void 0)r.strip();else r._strip();return r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){var mask=4194303,outLen=Math.min(input.length,9);for(var i=0;i<outLen;i++)output.words[i]=input.words[i];if(output.length=outLen,input.length<=9){input.words[0]=0,input.length=1;return}var prev=input.words[9];output.words[output.length++]=prev&mask;for(i=10;i<input.length;i++){var next=input.words[i]|0;input.words[i-10]=(next&mask)<<4|prev>>>22,prev=next}if(prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10)input.length-=10;else input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;var lo=0;for(var i=0;i<num.length;i++){var w=num.words[i]|0;lo+=w*977,num.words[i]=lo&67108863,lo=w*64+(lo/67108864|0)}if(num.words[num.length-1]===0){if(num.length--,num.words[num.length-1]===0)num.length--}return num};function P224(){MPrime.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}inherits(P224,MPrime);function P192(){MPrime.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}inherits(P192,MPrime);function P25519(){MPrime.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}inherits(P25519,MPrime),P25519.prototype.imulK=function(num){var carry=0;for(var i=0;i<num.length;i++){var hi=(num.words[i]|0)*19+carry,lo=hi&67108863;hi>>>=26,num.words[i]=lo,carry=hi}if(carry!==0)num.words[num.length++]=carry;return num},BN._prime=function(name){if(primes[name])return primes[name];var prime2;if(name===\"k256\")prime2=new K256;else if(name===\"p224\")prime2=new P224;else if(name===\"p192\")prime2=new P192;else if(name===\"p25519\")prime2=new P25519;else throw Error(\"Unknown prime \"+name);return primes[name]=prime2,prime2};function Red(m){if(typeof m===\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){if(this.prime)return this.prime.ireduce(a)._forceRed(this);return a.umod(this.m)._forceRed(this)},Red.prototype.neg=function(a){if(a.isZero())return a.clone();return this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);if(res.cmp(this.m)>=0)res.isub(this.m);return res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);if(res.cmp(this.m)>=0)res.isub(this.m);return res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);if(res.cmpn(0)<0)res.iadd(this.m);return res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);if(res.cmpn(0)<0)res.iadd(this.m);return res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}var q=this.m.subn(1),s=0;while(!q.isZero()&&q.andln(1)===0)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();z=new BN(2*z*z).toRed(this);while(this.pow(z,lpow).cmp(nOne)!==0)z.redIAdd(nOne);var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;while(t.cmp(one)!==0){var tmp=t;for(var i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i<m);var b=this.pow(c,new BN(1).iushln(m-i-1));r=r.redMul(b),c=b.redSqr(),t=t.redMul(c),m=i}return r},Red.prototype.invm=function(a){var inv=a._invmp(this.m);if(inv.negative!==0)return inv.negative=0,this.imod(inv).redNeg();else return this.imod(inv)},Red.prototype.pow=function(a,num){if(num.isZero())return new BN(1).toRed(this);if(num.cmpn(1)===0)return a.clone();var windowSize=4,wnd=Array(1<<windowSize);wnd[0]=new BN(1).toRed(this),wnd[1]=a;for(var i=2;i<wnd.length;i++)wnd[i]=this.mul(wnd[i-1],a);var res=wnd[0],current=0,currentLen=0,start=num.bitLength()%26;if(start===0)start=26;for(i=num.length-1;i>=0;i--){var word=num.words[i];for(var j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0])res=this.sqr(res);if(bit===0&¤t===0){currentLen=0;continue}if(current<<=1,current|=bit,currentLen++,currentLen!==windowSize&&(i!==0||j!==0))continue;res=this.mul(res,wnd[current]),currentLen=0,current=0}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){if(Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0)this.shift+=26-this.shift%26;this.r=new BN(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)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;if(u.cmp(this.m)>=0)res=u.isub(this.m);else if(u.cmpn(0)<0)res=u.iadd(this.m);return res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;if(u.cmp(this.m)>=0)res=u.isub(this.m);else if(u.cmpn(0)<0)res=u.iadd(this.m);return res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)});var require_withPublic=__commonJS((exports,module)=>{var BN=require_bn4(),Buffer2=require_safe_buffer().Buffer;function withPublic(paddedMsg,key){return Buffer2.from(paddedMsg.toRed(BN.mont(key.modulus)).redPow(new BN(key.publicExponent)).fromRed().toArray())}module.exports=withPublic});var require_bn5=__commonJS((exports,module)=>{(function(module2,exports2){function assert(val,msg){if(!val)throw Error(msg||\"Assertion failed\")}function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}function BN(number,base,endian){if(BN.isBN(number))return number;if(this.negative=0,this.words=null,this.length=0,this.red=null,number!==null){if(base===\"le\"||base===\"be\")endian=base,base=10;this._init(number||0,base||10,endian||\"be\")}}if(typeof module2===\"object\")module2.exports=BN;else exports2.BN=BN;BN.BN=BN,BN.wordSize=26;var Buffer2;try{if(typeof window<\"u\"&&typeof window.Buffer<\"u\")Buffer2=window.Buffer;else Buffer2=require(\"buffer\").Buffer}catch(e){}BN.isBN=function(num){if(num instanceof BN)return!0;return num!==null&&typeof num===\"object\"&&num.constructor.wordSize===BN.wordSize&&Array.isArray(num.words)},BN.max=function(left,right){if(left.cmp(right)>0)return left;return right},BN.min=function(left,right){if(left.cmp(right)<0)return left;return right},BN.prototype._init=function(number,base,endian){if(typeof number===\"number\")return this._initNumber(number,base,endian);if(typeof number===\"object\")return this._initArray(number,base,endian);if(base===\"hex\")base=16;assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;if(number[0]===\"-\")start++,this.negative=1;if(start<number.length){if(base===16)this._parseHex(number,start,endian);else if(this._parseBase(number,base,start),endian===\"le\")this._initArray(this.toArray(),base,endian)}},BN.prototype._initNumber=function(number,base,endian){if(number<0)this.negative=1,number=-number;if(number<67108864)this.words=[number&67108863],this.length=1;else if(number<4503599627370496)this.words=[number&67108863,number/67108864&67108863],this.length=2;else assert(number<9007199254740992),this.words=[number&67108863,number/67108864&67108863,1],this.length=3;if(endian!==\"le\")return;this._initArray(this.toArray(),base,endian)},BN.prototype._initArray=function(number,base,endian){if(assert(typeof number.length===\"number\"),number.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(number.length/3),this.words=Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var j,w,off=0;if(endian===\"be\"){for(i=number.length-1,j=0;i>=0;i-=3)if(w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<<off&67108863,this.words[j+1]=w>>>26-off&67108863,off+=24,off>=26)off-=26,j++}else if(endian===\"le\"){for(i=0,j=0;i<number.length;i+=3)if(w=number[i]|number[i+1]<<8|number[i+2]<<16,this.words[j]|=w<<off&67108863,this.words[j+1]=w>>>26-off&67108863,off+=24,off>=26)off-=26,j++}return this._strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);if(c>=48&&c<=57)return c-48;else if(c>=65&&c<=70)return c-55;else if(c>=97&&c<=102)return c-87;else assert(!1,\"Invalid character in \"+string)}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);if(index-1>=lowerBound)r|=parseHex4Bits(string,index-1)<<4;return r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var off=0,j=0,w;if(endian===\"be\")for(i=number.length-1;i>=start;i-=2)if(w=parseHexByte(number,start,i)<<off,this.words[j]|=w&67108863,off>=18)off-=18,j+=1,this.words[j]|=w>>>26;else off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0?start+1:start;i<number.length;i+=2)if(w=parseHexByte(number,start,i)<<off,this.words[j]|=w&67108863,off>=18)off-=18,j+=1,this.words[j]|=w>>>26;else off+=8}this._strip()};function parseBase(str,start,end,mul){var r=0,b=0,len=Math.min(str.length,end);for(var i=start;i<len;i++){var c=str.charCodeAt(i)-48;if(r*=mul,c>=49)b=c-49+10;else if(c>=17)b=c-17+10;else b=c;assert(c>=0&&b<mul,\"Invalid character\"),r+=b}return r}BN.prototype._parseBase=function(number,base,start){this.words=[0],this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0;for(var i=start;i<end;i+=limbLen)if(word=parseBase(number,i,i+limbLen,base),this.imuln(limbPow),this.words[0]+word<67108864)this.words[0]+=word;else this._iaddn(word);if(mod!==0){var pow=1;word=parseBase(number,i,number.length,base);for(i=0;i<mod;i++)pow*=base;if(this.imuln(pow),this.words[0]+word<67108864)this.words[0]+=word;else this._iaddn(word)}this._strip()},BN.prototype.copy=function(dest){dest.words=Array(this.length);for(var i=0;i<this.length;i++)dest.words[i]=this.words[i];dest.length=this.length,dest.negative=this.negative,dest.red=this.red};function move(dest,src){dest.words=src.words,dest.length=src.length,dest.negative=src.negative,dest.red=src.red}if(BN.prototype._move=function(dest){move(dest,this)},BN.prototype.clone=function(){var r=new BN(null);return this.copy(r),r},BN.prototype._expand=function(size){while(this.length<size)this.words[this.length++]=0;return this},BN.prototype._strip=function(){while(this.length>1&&this.words[this.length-1]===0)this.length--;return this._normSign()},BN.prototype._normSign=function(){if(this.length===1&&this.words[0]===0)this.negative=0;return this},typeof Symbol<\"u\"&&typeof Symbol.for===\"function\")try{BN.prototype[Symbol.for(\"nodejs.util.inspect.custom\")]=inspect}catch(e){BN.prototype.inspect=inspect}else BN.prototype.inspect=inspect;function inspect(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"}var zeros=[\"\",\"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\"],groupSizes=[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],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];if(BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";var off=0,carry=0;for(var i=0;i<this.length;i++){var w=this.words[i],word=((w<<off|carry)&16777215).toString(16);if(carry=w>>>24-off&16777215,off+=2,off>=26)off-=26,i--;if(carry!==0||i!==this.length-1)out=zeros[6-word.length]+word+out;else out=word+out}if(carry!==0)out=carry.toString(16)+out;while(out.length%padding!==0)out=\"0\"+out;if(this.negative!==0)out=\"-\"+out;return out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();c.negative=0;while(!c.isZero()){var r=c.modrn(groupBase).toString(base);if(c=c.idivn(groupBase),!c.isZero())out=zeros[groupSize-r.length]+r+out;else out=r+out}if(this.isZero())out=\"0\"+out;while(out.length%padding!==0)out=\"0\"+out;if(this.negative!==0)out=\"-\"+out;return out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];if(this.length===2)ret+=this.words[1]*67108864;else if(this.length===3&&this.words[2]===1)ret+=4503599627370496+this.words[1]*67108864;else if(this.length>2)assert(!1,\"Number can only safely store up to 53 bits\");return this.negative!==0?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16,2)},Buffer2)BN.prototype.toBuffer=function(endian,length){return this.toArrayLike(Buffer2,endian,length)};BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)};var allocate=function(ArrayType,size){if(ArrayType.allocUnsafe)return ArrayType.allocUnsafe(size);return new ArrayType(size)};if(BN.prototype.toArrayLike=function(ArrayType,endian,length){this._strip();var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\");var res=allocate(ArrayType,reqLength),postfix=endian===\"le\"?\"LE\":\"BE\";return this[\"_toArrayLike\"+postfix](res,byteLength),res},BN.prototype._toArrayLikeLE=function(res,byteLength){var position=0,carry=0;for(var i=0,shift=0;i<this.length;i++){var word=this.words[i]<<shift|carry;if(res[position++]=word&255,position<res.length)res[position++]=word>>8&255;if(position<res.length)res[position++]=word>>16&255;if(shift===6){if(position<res.length)res[position++]=word>>24&255;carry=0,shift=0}else carry=word>>>24,shift+=2}if(position<res.length){res[position++]=carry;while(position<res.length)res[position++]=0}},BN.prototype._toArrayLikeBE=function(res,byteLength){var position=res.length-1,carry=0;for(var i=0,shift=0;i<this.length;i++){var word=this.words[i]<<shift|carry;if(res[position--]=word&255,position>=0)res[position--]=word>>8&255;if(position>=0)res[position--]=word>>16&255;if(shift===6){if(position>=0)res[position--]=word>>24&255;carry=0,shift=0}else carry=word>>>24,shift+=2}if(position>=0){res[position--]=carry;while(position>=0)res[position--]=0}},Math.clz32)BN.prototype._countBits=function(w){return 32-Math.clz32(w)};else BN.prototype._countBits=function(w){var t=w,r=0;if(t>=4096)r+=13,t>>>=13;if(t>=64)r+=7,t>>>=7;if(t>=8)r+=4,t>>>=4;if(t>=2)r+=2,t>>>=2;return r+t};BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;if((t&8191)===0)r+=13,t>>>=13;if((t&127)===0)r+=7,t>>>=7;if((t&15)===0)r+=4,t>>>=4;if((t&3)===0)r+=2,t>>>=2;if((t&1)===0)r++;return r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){var w=Array(num.bitLength());for(var bit=0;bit<w.length;bit++){var off=bit/26|0,wbit=bit%26;w[bit]=num.words[off]>>>wbit&1}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;var r=0;for(var i=0;i<this.length;i++){var b=this._zeroBits(this.words[i]);if(r+=b,b!==26)break}return r},BN.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},BN.prototype.toTwos=function(width){if(this.negative!==0)return this.abs().inotn(width).iaddn(1);return this.clone()},BN.prototype.fromTwos=function(width){if(this.testn(width-1))return this.notn(width).iaddn(1).ineg();return this.clone()},BN.prototype.isNeg=function(){return this.negative!==0},BN.prototype.neg=function(){return this.clone().ineg()},BN.prototype.ineg=function(){if(!this.isZero())this.negative^=1;return this},BN.prototype.iuor=function(num){while(this.length<num.length)this.words[this.length++]=0;for(var i=0;i<num.length;i++)this.words[i]=this.words[i]|num.words[i];return this._strip()},BN.prototype.ior=function(num){return assert((this.negative|num.negative)===0),this.iuor(num)},BN.prototype.or=function(num){if(this.length>num.length)return this.clone().ior(num);return num.clone().ior(this)},BN.prototype.uor=function(num){if(this.length>num.length)return this.clone().iuor(num);return num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;if(this.length>num.length)b=num;else b=this;for(var i=0;i<b.length;i++)this.words[i]=this.words[i]&num.words[i];return this.length=b.length,this._strip()},BN.prototype.iand=function(num){return assert((this.negative|num.negative)===0),this.iuand(num)},BN.prototype.and=function(num){if(this.length>num.length)return this.clone().iand(num);return num.clone().iand(this)},BN.prototype.uand=function(num){if(this.length>num.length)return this.clone().iuand(num);return num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;if(this.length>num.length)a=this,b=num;else a=num,b=this;for(var i=0;i<b.length;i++)this.words[i]=a.words[i]^b.words[i];if(this!==a)for(;i<a.length;i++)this.words[i]=a.words[i];return this.length=a.length,this._strip()},BN.prototype.ixor=function(num){return assert((this.negative|num.negative)===0),this.iuxor(num)},BN.prototype.xor=function(num){if(this.length>num.length)return this.clone().ixor(num);return num.clone().ixor(this)},BN.prototype.uxor=function(num){if(this.length>num.length)return this.clone().iuxor(num);return num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width===\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;if(this._expand(bytesNeeded),bitsLeft>0)bytesNeeded--;for(var i=0;i<bytesNeeded;i++)this.words[i]=~this.words[i]&67108863;if(bitsLeft>0)this.words[i]=~this.words[i]&67108863>>26-bitsLeft;return this._strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit===\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;if(this._expand(off+1),val)this.words[off]=this.words[off]|1<<wbit;else this.words[off]=this.words[off]&~(1<<wbit);return this._strip()},BN.prototype.iadd=function(num){var r;if(this.negative!==0&&num.negative===0)return this.negative=0,r=this.isub(num),this.negative^=1,this._normSign();else if(this.negative===0&&num.negative!==0)return num.negative=0,r=this.isub(num),num.negative=1,r._normSign();var a,b;if(this.length>num.length)a=this,b=num;else a=num,b=this;var carry=0;for(var i=0;i<b.length;i++)r=(a.words[i]|0)+(b.words[i]|0)+carry,this.words[i]=r&67108863,carry=r>>>26;for(;carry!==0&&i<a.length;i++)r=(a.words[i]|0)+carry,this.words[i]=r&67108863,carry=r>>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;i<a.length;i++)this.words[i]=a.words[i];return this},BN.prototype.add=function(num){var res;if(num.negative!==0&&this.negative===0)return num.negative=0,res=this.sub(num),num.negative^=1,res;else if(num.negative===0&&this.negative!==0)return this.negative=0,res=num.sub(this),this.negative=1,res;if(this.length>num.length)return this.clone().iadd(num);return num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;if(cmp>0)a=this,b=num;else a=num,b=this;var carry=0;for(var i=0;i<b.length;i++)r=(a.words[i]|0)-(b.words[i]|0)+carry,carry=r>>26,this.words[i]=r&67108863;for(;carry!==0&&i<a.length;i++)r=(a.words[i]|0)+carry,carry=r>>26,this.words[i]=r&67108863;if(carry===0&&i<a.length&&a!==this)for(;i<a.length;i++)this.words[i]=a.words[i];if(this.length=Math.max(this.length,i),a!==this)this.negative=1;return this._strip()},BN.prototype.sub=function(num){return this.clone().isub(num)};function smallMulTo(self2,num,out){out.negative=num.negative^self2.negative;var len=self2.length+num.length|0;out.length=len,len=len-1|0;var a=self2.words[0]|0,b=num.words[0]|0,r=a*b,lo=r&67108863,carry=r/67108864|0;out.words[0]=lo;for(var k=1;k<len;k++){var ncarry=carry>>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1);for(var j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}if(carry!==0)out.words[k]=carry|0;else out.length--;return out._strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;if(c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0)o[19]=c,out.length++;return out};if(!Math.imul)comb10MulTo=smallMulTo;function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;var carry=0,hncarry=0;for(var k=0;k<out.length-1;k++){var ncarry=hncarry;hncarry=0;var rword=carry&67108863,maxJ=Math.min(k,num.length-1);for(var j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j,a=self2.words[i]|0,b=num.words[j]|0,r=a*b,lo=r&67108863;ncarry=ncarry+(r/67108864|0)|0,lo=lo+rword|0,rword=lo&67108863,ncarry=ncarry+(lo>>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}if(carry!==0)out.words[k]=carry;else out.length--;return out._strip()}function jumboMulTo(self2,num,out){return bigMulTo(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;if(this.length===10&&num.length===10)res=comb10MulTo(this,num,out);else if(len<63)res=smallMulTo(this,num,out);else if(len<1024)res=bigMulTo(this,num,out);else res=jumboMulTo(this,num,out);return res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){var t=Array(N),l=BN.prototype._countBits(N)-1;for(var i=0;i<N;i++)t[i]=this.revBin(i,l,N);return t},FFTM.prototype.revBin=function(x,l,N){if(x===0||x===N-1)return x;var rb=0;for(var i=0;i<l;i++)rb|=(x&1)<<l-i-1,x>>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i<N;i++)rtws[i]=rws[rbt[i]],itws[i]=iws[rbt[i]]},FFTM.prototype.transform=function(rws,iws,rtws,itws,N,rbt){this.permute(rbt,rws,iws,rtws,itws,N);for(var s=1;s<N;s<<=1){var l=s<<1,rtwdf=Math.cos(2*Math.PI/l),itwdf=Math.sin(2*Math.PI/l);for(var p=0;p<N;p+=l){var rtwdf_=rtwdf,itwdf_=itwdf;for(var j=0;j<s;j++){var re=rtws[p+j],ie=itws[p+j],ro=rtws[p+j+s],io=itws[p+j+s],rx=rtwdf_*ro-itwdf_*io;if(io=rtwdf_*io+itwdf_*ro,ro=rx,rtws[p+j]=re+ro,itws[p+j]=ie+io,rtws[p+j+s]=re-ro,itws[p+j+s]=ie-io,j!==l)rx=rtwdf*rtwdf_-itwdf*itwdf_,itwdf_=rtwdf*itwdf_+itwdf*rtwdf_,rtwdf_=rx}}}},FFTM.prototype.guessLen13b=function(n,m){var N=Math.max(m,n)|1,odd=N&1,i=0;for(N=N/2|0;N;N=N>>>1)i++;return 1<<i+1+odd},FFTM.prototype.conjugate=function(rws,iws,N){if(N<=1)return;for(var i=0;i<N/2;i++){var t=rws[i];rws[i]=rws[N-i-1],rws[N-i-1]=t,t=iws[i],iws[i]=-iws[N-i-1],iws[N-i-1]=-t}},FFTM.prototype.normalize13b=function(ws,N){var carry=0;for(var i=0;i<N/2;i++){var w=Math.round(ws[2*i+1]/N)*8192+Math.round(ws[2*i]/N)+carry;if(ws[i]=w&67108863,w<67108864)carry=0;else carry=w/67108864|0}return ws},FFTM.prototype.convert13b=function(ws,len,rws,N){var carry=0;for(var i=0;i<len;i++)carry=carry+(ws[i]|0),rws[2*i]=carry&8191,carry=carry>>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i<N;++i)rws[i]=0;assert(carry===0),assert((carry&-8192)===0)},FFTM.prototype.stub=function(N){var ph=Array(N);for(var i=0;i<N;i++)ph[i]=0;return ph},FFTM.prototype.mulp=function(x,y,out){var N=2*this.guessLen13b(x.length,y.length),rbt=this.makeRBT(N),_=this.stub(N),rws=Array(N),rwst=Array(N),iwst=Array(N),nrws=Array(N),nrwst=Array(N),niwst=Array(N),rmws=out.words;rmws.length=N,this.convert13b(x.words,x.length,rws,N),this.convert13b(y.words,y.length,nrws,N),this.transform(rws,_,rwst,iwst,N,rbt),this.transform(nrws,_,nrwst,niwst,N,rbt);for(var i=0;i<N;i++){var rx=rwst[i]*nrwst[i]-iwst[i]*niwst[i];iwst[i]=rwst[i]*niwst[i]+iwst[i]*nrwst[i],rwst[i]=rx}return this.conjugate(rwst,iwst,N),this.transform(rwst,iwst,rmws,_,N,rbt),this.conjugate(rmws,_,N),this.normalize13b(rmws,N),out.negative=x.negative^y.negative,out.length=x.length+y.length,out._strip()},BN.prototype.mul=function(num){var out=new BN(null);return out.words=Array(this.length+num.length),this.mulTo(num,out)},BN.prototype.mulf=function(num){var out=new BN(null);return out.words=Array(this.length+num.length),jumboMulTo(this,num,out)},BN.prototype.imul=function(num){return this.clone().mulTo(num,this)},BN.prototype.imuln=function(num){var isNegNum=num<0;if(isNegNum)num=-num;assert(typeof num===\"number\"),assert(num<67108864);var carry=0;for(var i=0;i<this.length;i++){var w=(this.words[i]|0)*num,lo=(w&67108863)+(carry&67108863);carry>>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}if(carry!==0)this.words[i]=carry,this.length++;return this.length=num===0?1:this.length,isNegNum?this.ineg():this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);var res=this;for(var i=0;i<w.length;i++,res=res.sqr())if(w[i]!==0)break;if(++i<w.length)for(var q=res.sqr();i<w.length;i++,q=q.sqr()){if(w[i]===0)continue;res=res.mul(q)}return res},BN.prototype.iushln=function(bits){assert(typeof bits===\"number\"&&bits>=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i<this.length;i++){var newCarry=this.words[i]&carryMask,c=(this.words[i]|0)-newCarry<<r;this.words[i]=c|carry,carry=newCarry>>>26-r}if(carry)this.words[i]=carry,this.length++}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i<s;i++)this.words[i]=0;this.length+=s}return this._strip()},BN.prototype.ishln=function(bits){return assert(this.negative===0),this.iushln(bits)},BN.prototype.iushrn=function(bits,hint,extended){assert(typeof bits===\"number\"&&bits>=0);var h;if(hint)h=(hint-hint%26)/26;else h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<<r,maskedWords=extended;if(h-=s,h=Math.max(0,h),maskedWords){for(var i=0;i<s;i++)maskedWords.words[i]=this.words[i];maskedWords.length=s}if(s===0);else if(this.length>s){this.length-=s;for(i=0;i<this.length;i++)this.words[i]=this.words[i+s]}else this.words[0]=0,this.length=1;var carry=0;for(i=this.length-1;i>=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}if(maskedWords&&carry!==0)maskedWords.words[maskedWords.length++]=carry;if(this.length===0)this.words[0]=0,this.length=1;return this._strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit===\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<<r;if(this.length<=s)return!1;var w=this.words[s];return!!(w&q)},BN.prototype.imaskn=function(bits){assert(typeof bits===\"number\"&&bits>=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0)s++;if(this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<<r;this.words[this.length-1]&=mask}return this._strip()},BN.prototype.maskn=function(bits){return this.clone().imaskn(bits)},BN.prototype.iaddn=function(num){if(assert(typeof num===\"number\"),assert(num<67108864),num<0)return this.isubn(-num);if(this.negative!==0){if(this.length===1&&(this.words[0]|0)<=num)return this.words[0]=num-(this.words[0]|0),this.negative=0,this;return this.negative=0,this.isubn(num),this.negative=1,this}return this._iaddn(num)},BN.prototype._iaddn=function(num){this.words[0]+=num;for(var i=0;i<this.length&&this.words[i]>=67108864;i++)if(this.words[i]-=67108864,i===this.length-1)this.words[i+1]=1;else this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num===\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&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()},BN.prototype.addn=function(num){return this.clone().iaddn(num)},BN.prototype.subn=function(num){return this.clone().isubn(num)},BN.prototype.iabs=function(){return this.negative=0,this},BN.prototype.abs=function(){return this.clone().iabs()},BN.prototype._ishlnsubmul=function(num,mul,shift){var len=num.length+shift,i;this._expand(len);var w,carry=0;for(i=0;i<num.length;i++){w=(this.words[i+shift]|0)+carry;var right=(num.words[i]|0)*mul;w-=right&67108863,carry=(w>>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i<this.length-shift;i++)w=(this.words[i+shift]|0)+carry,carry=w>>26,this.words[i+shift]=w&67108863;if(carry===0)return this._strip();assert(carry===-1),carry=0;for(i=0;i<this.length;i++)w=-(this.words[i]|0)+carry,carry=w>>26,this.words[i]=w&67108863;return this.negative=1,this._strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);if(shift=26-bhiBits,shift!==0)b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0;var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=Array(q.length);for(var i=0;i<q.length;i++)q.words[i]=0}var diff=a.clone()._ishlnsubmul(b,1,m);if(diff.negative===0){if(a=diff,q)q.words[m]=1}for(var j=m-1;j>=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);while(a.negative!==0)if(qj--,a.negative=0,a._ishlnsubmul(b,1,j),!a.isZero())a.negative^=1;if(q)q.words[j]=qj}if(q)q._strip();if(a._strip(),mode!==\"div\"&&shift!==0)a.iushrn(shift);return{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;if(this.negative!==0&&num.negative===0){if(res=this.neg().divmod(num,mode),mode!==\"mod\")div=res.div.neg();if(mode!==\"div\"){if(mod=res.mod.neg(),positive&&mod.negative!==0)mod.iadd(num)}return{div,mod}}if(this.negative===0&&num.negative!==0){if(res=this.divmod(num.neg(),mode),mode!==\"mod\")div=res.div.neg();return{div,mod:res.mod}}if((this.negative&num.negative)!==0){if(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"){if(mod=res.mod.neg(),positive&&mod.negative!==0)mod.isub(num)}return{div:res.div,mod}}if(num.length>this.length||this.cmp(num)<0)return{div:new BN(0),mod:this};if(num.length===1){if(mode===\"div\")return{div:this.divn(num.words[0]),mod:null};if(mode===\"mod\")return{div:null,mod:new BN(this.modrn(num.words[0]))};return{div:this.divn(num.words[0]),mod:new BN(this.modrn(num.words[0]))}}return this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);if(cmp<0||r2===1&&cmp===0)return dm.div;return dm.div.negative!==0?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modrn=function(num){var isNegNum=num<0;if(isNegNum)num=-num;assert(num<=67108863);var p=67108864%num,acc=0;for(var i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return isNegNum?-acc:acc},BN.prototype.modn=function(num){return this.modrn(num)},BN.prototype.idivn=function(num){var isNegNum=num<0;if(isNegNum)num=-num;assert(num<=67108863);var carry=0;for(var i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this._strip(),isNegNum?this.ineg():this},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();if(x.negative!==0)x=x.umod(p);else x=x.clone();var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;while(x.isEven()&&y.isEven())x.iushrn(1),y.iushrn(1),++g;var yp=y.clone(),xp=x.clone();while(!x.isZero()){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0){x.iushrn(i);while(i-- >0){if(A.isOdd()||B.isOdd())A.iadd(yp),B.isub(xp);A.iushrn(1),B.iushrn(1)}}for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0){y.iushrn(j);while(j-- >0){if(C.isOdd()||D.isOdd())C.iadd(yp),D.isub(xp);C.iushrn(1),D.iushrn(1)}}if(x.cmp(y)>=0)x.isub(y),A.isub(C),B.isub(D);else y.isub(x),C.isub(A),D.isub(B)}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();if(a.negative!==0)a=a.umod(p);else a=a.clone();var x1=new BN(1),x2=new BN(0),delta=b.clone();while(a.cmpn(1)>0&&b.cmpn(1)>0){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0){a.iushrn(i);while(i-- >0){if(x1.isOdd())x1.iadd(delta);x1.iushrn(1)}}for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0){b.iushrn(j);while(j-- >0){if(x2.isOdd())x2.iadd(delta);x2.iushrn(1)}}if(a.cmp(b)>=0)a.isub(b),x1.isub(x2);else b.isub(a),x2.isub(x1)}var res;if(a.cmpn(1)===0)res=x1;else res=x2;if(res.cmpn(0)<0)res.iadd(p);return res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{while(a.isEven())a.iushrn(1);while(b.isEven())b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit===\"number\");var r=bit%26,s=(bit-r)/26,q=1<<r;if(this.length<=s)return this._expand(s+1),this.words[s]|=q,this;var carry=q;for(var i=s;carry!==0&&i<this.length;i++){var w=this.words[i]|0;w+=carry,carry=w>>>26,w&=67108863,this.words[i]=w}if(carry!==0)this.words[i]=carry,this.length++;return this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this._strip();var res;if(this.length>1)res=1;else{if(negative)num=-num;assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num?0:w<num?-1:1}if(this.negative!==0)return-res|0;return res},BN.prototype.cmp=function(num){if(this.negative!==0&&num.negative===0)return-1;if(this.negative===0&&num.negative!==0)return 1;var res=this.ucmp(num);if(this.negative!==0)return-res|0;return res},BN.prototype.ucmp=function(num){if(this.length>num.length)return 1;if(this.length<num.length)return-1;var res=0;for(var i=this.length-1;i>=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a===b)continue;if(a<b)res=-1;else if(a>b)res=1;break}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen<this.n?-1:r.ucmp(this.p);if(cmp===0)r.words[0]=0,r.length=1;else if(cmp>0)r.isub(this.p);else if(r.strip!==void 0)r.strip();else r._strip();return r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){var mask=4194303,outLen=Math.min(input.length,9);for(var i=0;i<outLen;i++)output.words[i]=input.words[i];if(output.length=outLen,input.length<=9){input.words[0]=0,input.length=1;return}var prev=input.words[9];output.words[output.length++]=prev&mask;for(i=10;i<input.length;i++){var next=input.words[i]|0;input.words[i-10]=(next&mask)<<4|prev>>>22,prev=next}if(prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10)input.length-=10;else input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;var lo=0;for(var i=0;i<num.length;i++){var w=num.words[i]|0;lo+=w*977,num.words[i]=lo&67108863,lo=w*64+(lo/67108864|0)}if(num.words[num.length-1]===0){if(num.length--,num.words[num.length-1]===0)num.length--}return num};function P224(){MPrime.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}inherits(P224,MPrime);function P192(){MPrime.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}inherits(P192,MPrime);function P25519(){MPrime.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}inherits(P25519,MPrime),P25519.prototype.imulK=function(num){var carry=0;for(var i=0;i<num.length;i++){var hi=(num.words[i]|0)*19+carry,lo=hi&67108863;hi>>>=26,num.words[i]=lo,carry=hi}if(carry!==0)num.words[num.length++]=carry;return num},BN._prime=function(name){if(primes[name])return primes[name];var prime2;if(name===\"k256\")prime2=new K256;else if(name===\"p224\")prime2=new P224;else if(name===\"p192\")prime2=new P192;else if(name===\"p25519\")prime2=new P25519;else throw Error(\"Unknown prime \"+name);return primes[name]=prime2,prime2};function Red(m){if(typeof m===\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){if(this.prime)return this.prime.ireduce(a)._forceRed(this);return move(a,a.umod(this.m)._forceRed(this)),a},Red.prototype.neg=function(a){if(a.isZero())return a.clone();return this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);if(res.cmp(this.m)>=0)res.isub(this.m);return res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);if(res.cmp(this.m)>=0)res.isub(this.m);return res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);if(res.cmpn(0)<0)res.iadd(this.m);return res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);if(res.cmpn(0)<0)res.iadd(this.m);return res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}var q=this.m.subn(1),s=0;while(!q.isZero()&&q.andln(1)===0)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();z=new BN(2*z*z).toRed(this);while(this.pow(z,lpow).cmp(nOne)!==0)z.redIAdd(nOne);var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;while(t.cmp(one)!==0){var tmp=t;for(var i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i<m);var b=this.pow(c,new BN(1).iushln(m-i-1));r=r.redMul(b),c=b.redSqr(),t=t.redMul(c),m=i}return r},Red.prototype.invm=function(a){var inv=a._invmp(this.m);if(inv.negative!==0)return inv.negative=0,this.imod(inv).redNeg();else return this.imod(inv)},Red.prototype.pow=function(a,num){if(num.isZero())return new BN(1).toRed(this);if(num.cmpn(1)===0)return a.clone();var windowSize=4,wnd=Array(1<<windowSize);wnd[0]=new BN(1).toRed(this),wnd[1]=a;for(var i=2;i<wnd.length;i++)wnd[i]=this.mul(wnd[i-1],a);var res=wnd[0],current=0,currentLen=0,start=num.bitLength()%26;if(start===0)start=26;for(i=num.length-1;i>=0;i--){var word=num.words[i];for(var j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0])res=this.sqr(res);if(bit===0&¤t===0){currentLen=0;continue}if(current<<=1,current|=bit,currentLen++,currentLen!==windowSize&&(i!==0||j!==0))continue;res=this.mul(res,wnd[current]),currentLen=0,current=0}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){if(Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0)this.shift+=26-this.shift%26;this.r=new BN(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)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;if(u.cmp(this.m)>=0)res=u.isub(this.m);else if(u.cmpn(0)<0)res=u.iadd(this.m);return res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;if(u.cmp(this.m)>=0)res=u.isub(this.m);else if(u.cmpn(0)<0)res=u.iadd(this.m);return res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)});var require_browserify_rsa=__commonJS((exports,module)=>{var BN=require_bn5(),randomBytes=require_randombytes(),Buffer2=require_safe_buffer().Buffer;function getr(priv){var len=priv.modulus.byteLength(),r;do r=new BN(randomBytes(len));while(r.cmp(priv.modulus)>=0||!r.umod(priv.prime1)||!r.umod(priv.prime2));return r}function blind(priv){var r=getr(priv),blinder=r.toRed(BN.mont(priv.modulus)).redPow(new BN(priv.publicExponent)).fromRed();return{blinder,unblinder:r.invm(priv.modulus)}}function crt(msg,priv){var blinds=blind(priv),len=priv.modulus.byteLength(),blinded=new BN(msg).mul(blinds.blinder).umod(priv.modulus),c1=blinded.toRed(BN.mont(priv.prime1)),c2=blinded.toRed(BN.mont(priv.prime2)),qinv=priv.coefficient,p=priv.prime1,q=priv.prime2,m1=c1.redPow(priv.exponent1).fromRed(),m2=c2.redPow(priv.exponent2).fromRed(),h=m1.isub(m2).imul(qinv).umod(p).imul(q);return m2.iadd(h).imul(blinds.unblinder).umod(priv.modulus).toArrayLike(Buffer2,\"be\",len)}crt.getr=getr;module.exports=crt});var require_publicEncrypt=__commonJS((exports,module)=>{var parseKeys=require_parse_asn1(),randomBytes=require_randombytes(),createHash=require_create_hash(),mgf=require_mgf(),xor=require_xor(),BN=require_bn4(),withPublic=require_withPublic(),crt=require_browserify_rsa(),Buffer2=require_safe_buffer().Buffer;module.exports=function(publicKey,msg,reverse){var padding;if(publicKey.padding)padding=publicKey.padding;else if(reverse)padding=1;else padding=4;var key=parseKeys(publicKey),paddedMsg;if(padding===4)paddedMsg=oaep(key,msg);else if(padding===1)paddedMsg=pkcs1(key,msg,reverse);else if(padding===3){if(paddedMsg=new BN(msg),paddedMsg.cmp(key.modulus)>=0)throw Error(\"data too long for modulus\")}else throw Error(\"unknown padding\");if(reverse)return crt(paddedMsg,key);else return withPublic(paddedMsg,key)};function oaep(key,msg){var k=key.modulus.byteLength(),mLen=msg.length,iHash=createHash(\"sha1\").update(Buffer2.alloc(0)).digest(),hLen=iHash.length,hLen2=2*hLen;if(mLen>k-hLen2-2)throw Error(\"message too long\");var ps=Buffer2.alloc(k-mLen-hLen2-2),dblen=k-hLen-1,seed=randomBytes(hLen),maskedDb=xor(Buffer2.concat([iHash,ps,Buffer2.alloc(1,1),msg],dblen),mgf(seed,dblen)),maskedSeed=xor(seed,mgf(maskedDb,hLen));return new BN(Buffer2.concat([Buffer2.alloc(1),maskedSeed,maskedDb],k))}function pkcs1(key,msg,reverse){var mLen=msg.length,k=key.modulus.byteLength();if(mLen>k-11)throw Error(\"message too long\");var ps;if(reverse)ps=Buffer2.alloc(k-mLen-3,255);else ps=nonZero(k-mLen-3);return new BN(Buffer2.concat([Buffer2.from([0,reverse?1:2]),ps,Buffer2.alloc(1),msg],k))}function nonZero(len){var out=Buffer2.allocUnsafe(len),i=0,cache=randomBytes(len*2),cur=0,num;while(i<len){if(cur===cache.length)cache=randomBytes(len*2),cur=0;if(num=cache[cur++],num)out[i++]=num}return out}});var require_privateDecrypt=__commonJS((exports,module)=>{var parseKeys=require_parse_asn1(),mgf=require_mgf(),xor=require_xor(),BN=require_bn4(),crt=require_browserify_rsa(),createHash=require_create_hash(),withPublic=require_withPublic(),Buffer2=require_safe_buffer().Buffer;module.exports=function(privateKey,enc,reverse){var padding;if(privateKey.padding)padding=privateKey.padding;else if(reverse)padding=1;else padding=4;var key=parseKeys(privateKey),k=key.modulus.byteLength();if(enc.length>k||new BN(enc).cmp(key.modulus)>=0)throw Error(\"decryption error\");var msg;if(reverse)msg=withPublic(new BN(enc),key);else msg=crt(enc,key);var zBuffer=Buffer2.alloc(k-msg.length);if(msg=Buffer2.concat([zBuffer,msg],k),padding===4)return oaep(key,msg);else if(padding===1)return pkcs1(key,msg,reverse);else if(padding===3)return msg;else throw Error(\"unknown padding\")};function oaep(key,msg){var k=key.modulus.byteLength(),iHash=createHash(\"sha1\").update(Buffer2.alloc(0)).digest(),hLen=iHash.length;if(msg[0]!==0)throw Error(\"decryption error\");var maskedSeed=msg.slice(1,hLen+1),maskedDb=msg.slice(hLen+1),seed=xor(maskedSeed,mgf(maskedDb,hLen)),db=xor(maskedDb,mgf(seed,k-hLen-1));if(compare(iHash,db.slice(0,hLen)))throw Error(\"decryption error\");var i=hLen;while(db[i]===0)i++;if(db[i++]!==1)throw Error(\"decryption error\");return db.slice(i)}function pkcs1(key,msg,reverse){var p1=msg.slice(0,2),i=2,status=0;while(msg[i++]!==0)if(i>=msg.length){status++;break}var ps=msg.slice(2,i-1);if(p1.toString(\"hex\")!==\"0002\"&&!reverse||p1.toString(\"hex\")!==\"0001\"&&reverse)status++;if(ps.length<8)status++;if(status)throw Error(\"decryption error\");return msg.slice(i)}function compare(a,b){a=Buffer2.from(a),b=Buffer2.from(b);var dif=0,len=a.length;if(a.length!==b.length)dif++,len=Math.min(a.length,b.length);var i=-1;while(++i<len)dif+=a[i]^b[i];return dif}});var require_browser2=__commonJS((exports)=>{exports.publicEncrypt=require_publicEncrypt();exports.privateDecrypt=require_privateDecrypt();exports.privateEncrypt=function(key,buf){return exports.publicEncrypt(key,buf,!0)};exports.publicDecrypt=function(key,buf){return exports.privateDecrypt(key,buf,!0)}});var require_public_encrypt=__commonJS((exports)=>{var crypto2=require(\"crypto\");if(typeof crypto2.publicEncrypt!==\"function\")crypto2=require_browser2();exports.publicEncrypt=crypto2.publicEncrypt;exports.privateDecrypt=crypto2.privateDecrypt;if(typeof crypto2.privateEncrypt!==\"function\")exports.privateEncrypt=require_browser2().privateEncrypt;else exports.privateEncrypt=crypto2.privateEncrypt;if(typeof crypto2.publicDecrypt!==\"function\")exports.publicDecrypt=require_browser2().publicDecrypt;else exports.publicDecrypt=crypto2.publicDecrypt});var require_browser3=__commonJS((exports)=>{var safeBuffer=require_safe_buffer(),randombytes=require_randombytes(),Buffer2=safeBuffer.Buffer,kBufferMaxLength=safeBuffer.kMaxLength,crypto2=globalThis.crypto||globalThis.msCrypto,kMaxUint32=Math.pow(2,32)-1;function assertOffset(offset,length){if(typeof offset!==\"number\"||offset!==offset)throw TypeError(\"offset must be a number\");if(offset>kMaxUint32||offset<0)throw TypeError(\"offset must be a uint32\");if(offset>kBufferMaxLength||offset>length)throw RangeError(\"offset out of range\")}function assertSize(size,offset,length){if(typeof size!==\"number\"||size!==size)throw TypeError(\"size must be a number\");if(size>kMaxUint32||size<0)throw TypeError(\"size must be a uint32\");if(size+offset>length||size>kBufferMaxLength)throw RangeError(\"buffer too small\")}crypto2&&crypto2.getRandomValues,exports.randomFill=randomFill,exports.randomFillSync=randomFillSync;function randomFill(buf,offset,size,cb){if(!Buffer2.isBuffer(buf)&&!(buf instanceof globalThis.Uint8Array))throw TypeError('\"buf\" argument must be a Buffer or Uint8Array');if(typeof offset===\"function\")cb=offset,offset=0,size=buf.length;else if(typeof size===\"function\")cb=size,size=buf.length-offset;else if(typeof cb!==\"function\")throw TypeError('\"cb\" argument must be a function');return assertOffset(offset,buf.length),assertSize(size,offset,buf.length),actualFill(buf,offset,size,cb)}function actualFill(buf,offset,size,cb){if(!1)var ourBuf,uint;if(cb){randombytes(size,function(err,bytes2){if(err)return cb(err);bytes2.copy(buf,offset),cb(null,buf)});return}var bytes=randombytes(size);return bytes.copy(buf,offset),buf}function randomFillSync(buf,offset,size){if(typeof offset>\"u\")offset=0;if(!Buffer2.isBuffer(buf)&&!(buf instanceof globalThis.Uint8Array))throw TypeError('\"buf\" argument must be a Buffer or Uint8Array');if(assertOffset(offset,buf.length),size===void 0)size=buf.length-offset;return assertSize(size,offset,buf.length),actualFill(buf,offset,size)}});var require_randomfill=__commonJS((exports,module)=>{var crypto2=require(\"crypto\");if(typeof crypto2.randomFill===\"function\"&&typeof crypto2.randomFillSync===\"function\")exports.randomFill=crypto2.randomFill,exports.randomFillSync=crypto2.randomFillSync;else module.exports=require_browser3()});var require_crypto_browserify=__commonJS((exports)=>{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 algos=require_algorithms(),algoKeys=Object.keys(algos),hashes=[\"sha1\",\"sha224\",\"sha256\",\"sha384\",\"sha512\",\"md5\",\"rmd160\"].concat(algoKeys);exports.getHashes=function(){return hashes};var p=require_pbkdf2();exports.pbkdf2=p.pbkdf2;exports.pbkdf2Sync=p.pbkdf2Sync;var aes=require_browserify_cipher();exports.Cipher=aes.Cipher;exports.createCipher=aes.createCipher;exports.Cipheriv=aes.Cipheriv;exports.createCipheriv=aes.createCipheriv;exports.Decipher=aes.Decipher;exports.createDecipher=aes.createDecipher;exports.Decipheriv=aes.Decipheriv;exports.createDecipheriv=aes.createDecipheriv;exports.getCiphers=aes.getCiphers;exports.listCiphers=aes.listCiphers;var dh=require_diffie_hellman();exports.DiffieHellmanGroup=dh.DiffieHellmanGroup;exports.createDiffieHellmanGroup=dh.createDiffieHellmanGroup;exports.getDiffieHellman=dh.getDiffieHellman;exports.createDiffieHellman=dh.createDiffieHellman;exports.DiffieHellman=dh.DiffieHellman;var sign=require_browserify_sign();exports.createSign=sign.createSign;exports.Sign=sign.Sign;exports.createVerify=sign.createVerify;exports.Verify=sign.Verify;exports.createECDH=require_create_ecdh();var publicEncrypt=require_public_encrypt();exports.publicEncrypt=publicEncrypt.publicEncrypt;exports.privateEncrypt=publicEncrypt.privateEncrypt;exports.publicDecrypt=publicEncrypt.publicDecrypt;exports.privateDecrypt=publicEncrypt.privateDecrypt;var rf=require_randomfill();exports.randomFill=rf.randomFill;exports.randomFillSync=rf.randomFillSync;exports.createCredentials=function(){throw Error(`sorry, createCredentials is not implemented yet\nwe accept pull requests\nhttps://github.com/browserify/crypto-browserify`)};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}});var cryptoBrowserify=__toESM(require_crypto_browserify(),1),prng2=cryptoBrowserify.prng,pseudoRandomBytes2=cryptoBrowserify.pseudoRandomBytes,rng2=cryptoBrowserify.rng,randomBytes2=cryptoBrowserify.randomBytes,Hash2=cryptoBrowserify.Hash,createHash2=cryptoBrowserify.createHash,Hmac2=cryptoBrowserify.Hmac,createHmac2=cryptoBrowserify.createHmac,getHashes2=cryptoBrowserify.getHashes,pbkdf22=cryptoBrowserify.pbkdf2,pbkdf2Sync2=cryptoBrowserify.pbkdf2Sync,Cipher2=cryptoBrowserify.Cipher,createCipher2=cryptoBrowserify.createCipher,Cipheriv2=cryptoBrowserify.Cipheriv,createCipheriv2=cryptoBrowserify.createCipheriv,Decipher2=cryptoBrowserify.Decipher,createDecipher2=cryptoBrowserify.createDecipher,Decipheriv2=cryptoBrowserify.Decipheriv,createDecipheriv2=cryptoBrowserify.createDecipheriv,getCiphers2=cryptoBrowserify.getCiphers,listCiphers2=cryptoBrowserify.listCiphers,DiffieHellmanGroup2=cryptoBrowserify.DiffieHellmanGroup,createDiffieHellmanGroup2=cryptoBrowserify.createDiffieHellmanGroup,getDiffieHellman2=cryptoBrowserify.getDiffieHellman,createDiffieHellman2=cryptoBrowserify.createDiffieHellman,DiffieHellman2=cryptoBrowserify.DiffieHellman,createSign2=cryptoBrowserify.createSign,Sign2=cryptoBrowserify.Sign,createVerify2=cryptoBrowserify.createVerify,Verify2=cryptoBrowserify.Verify,createECDH2=cryptoBrowserify.createECDH,publicEncrypt2=cryptoBrowserify.publicEncrypt,privateEncrypt2=cryptoBrowserify.privateEncrypt,publicDecrypt2=cryptoBrowserify.publicDecrypt,privateDecrypt2=cryptoBrowserify.privateDecrypt,randomFill2=cryptoBrowserify.randomFill,randomFillSync2=cryptoBrowserify.randomFillSync,createCredentials2=cryptoBrowserify.createCredentials,constants2=cryptoBrowserify.constants,DEFAULT_ENCODING=\"buffer\",getRandomValues=(array)=>{return crypto.getRandomValues(array)},randomUUID=()=>{return crypto.randomUUID()},hardcoded_curves=[\"p192\",\"p224\",\"p256\",\"p384\",\"p521\",\"curve25519\",\"ed25519\",\"secp256k1\",\"secp224r1\",\"prime256v1\",\"prime192v1\",\"ed25519\",\"secp384r1\",\"secp521r1\"];function getCurves(){return hardcoded_curves}var webcrypto=crypto,crypto_default=crypto;export{webcrypto,rng2 as rng,randomUUID,randomFillSync2 as randomFillSync,randomFill2 as randomFill,randomBytes2 as randomBytes,publicEncrypt2 as publicEncrypt,publicDecrypt2 as publicDecrypt,pseudoRandomBytes2 as pseudoRandomBytes,prng2 as prng,privateEncrypt2 as privateEncrypt,privateDecrypt2 as privateDecrypt,pbkdf2Sync2 as pbkdf2Sync,pbkdf22 as pbkdf2,listCiphers2 as listCiphers,getRandomValues,getHashes2 as getHashes,getDiffieHellman2 as getDiffieHellman,getCurves,getCiphers2 as getCiphers,crypto_default as default,createVerify2 as createVerify,createSign2 as createSign,createHmac2 as createHmac,createHash2 as createHash,createECDH2 as createECDH,createDiffieHellmanGroup2 as createDiffieHellmanGroup,createDiffieHellman2 as createDiffieHellman,createDecipheriv2 as createDecipheriv,createDecipher2 as createDecipher,createCredentials2 as createCredentials,createCipheriv2 as createCipheriv,createCipher2 as createCipher,constants2 as constants,Verify2 as Verify,Sign2 as Sign,Hmac2 as Hmac,Hash2 as Hash,DiffieHellmanGroup2 as DiffieHellmanGroup,DiffieHellman2 as DiffieHellman,Decipheriv2 as Decipheriv,Decipher2 as Decipher,DEFAULT_ENCODING,Cipheriv2 as Cipheriv,Cipher2 as Cipher};",
|
|
10
|
+
"import {\n type IAgentRuntime,\n type IDatabaseAdapter,\n logger,\n type Plugin,\n type UUID,\n} from \"@elizaos/core\";\nimport { InMemoryDatabaseAdapter } from \"./adapter\";\nimport { MemoryStorage } from \"./storage-memory\";\n\nconst GLOBAL_SINGLETONS = Symbol.for(\"elizaos.plugin-inmemorydb.global-singletons\");\ntype GlobalSymbols = typeof globalThis & {\n [GLOBAL_SINGLETONS]?: {\n storageManager?: MemoryStorage;\n };\n};\nconst globalSymbols: GlobalSymbols = globalThis as GlobalSymbols;\n\nif (!globalSymbols[GLOBAL_SINGLETONS]) {\n globalSymbols[GLOBAL_SINGLETONS] = {};\n}\nconst globalSingletons = globalSymbols[GLOBAL_SINGLETONS];\n\nexport function createDatabaseAdapter(agentId: UUID): InMemoryDatabaseAdapter {\n if (!globalSingletons.storageManager) {\n globalSingletons.storageManager = new MemoryStorage();\n }\n return new InMemoryDatabaseAdapter(globalSingletons.storageManager, agentId);\n}\n\n// `IAgentRuntime` historically didn't expose `registerDatabaseAdapter` on the\n// public type — at runtime it does. We narrow the runtime to the registration\n// surface we need and call it defensively so the plugin still loads against\n// runtimes that don't accept adapter registration.\ntype RuntimeWithRegister = IAgentRuntime & {\n registerDatabaseAdapter?: (adapter: IDatabaseAdapter) => void;\n adapter?: IDatabaseAdapter;\n databaseAdapter?: IDatabaseAdapter;\n hasDatabaseAdapter?: () => boolean;\n};\n\nexport const plugin: Plugin = {\n name: \"@elizaos/plugin-inmemorydb\",\n description: \"Pure in-memory, ephemeral database storage for elizaOS - no persistence\",\n\n async init(_config: Record<string, string>, runtime: IAgentRuntime): Promise<void> {\n logger.info({ src: \"plugin:inmemorydb\" }, \"Initializing in-memory database plugin\");\n\n const r = runtime as RuntimeWithRegister;\n const hasAdapter =\n r.adapter !== undefined ||\n r.databaseAdapter !== undefined ||\n (r.hasDatabaseAdapter?.() ?? false);\n\n if (hasAdapter) {\n logger.debug(\n { src: \"plugin:inmemorydb\" },\n \"Database adapter already exists; keeping current adapter\"\n );\n return;\n }\n\n const adapter = createDatabaseAdapter(runtime.agentId);\n await adapter.initialize();\n r.registerDatabaseAdapter?.(adapter);\n\n logger.success(\n { src: \"plugin:inmemorydb\" },\n \"In-memory database adapter registered successfully\"\n );\n },\n};\n\nexport { InMemoryDatabaseAdapter } from \"./adapter\";\nexport { EphemeralHNSW } from \"./hnsw\";\nexport { MemoryStorage } from \"./storage-memory\";\nexport * from \"./types\";\n\nexport default plugin;\n",
|
|
11
|
+
"/**\n * InMemoryDatabaseAdapter\n *\n * Pure in-memory, ephemeral implementation of the elizaOS `DatabaseAdapter`\n * abstract base. Backed by `MemoryStorage` (a Map-of-Maps) for record CRUD and\n * `EphemeralHNSW` for vector search. No persistence, no migrations, no\n * transaction atomicity — intended for tests, scenarios, and short-lived\n * one-shot runs where speed and zero setup matter more than durability.\n *\n * Implements the full batch-first interface from `@elizaos/core`'s\n * `DatabaseAdapter`. Single-item helpers from earlier revisions of this plugin\n * have been removed — call sites should use the batch APIs (`createEntities`,\n * `getMemoriesByIds`, etc.).\n */\n\nimport { randomUUID } from \"node:crypto\";\nimport {\n type AccessContext,\n type Agent,\n type Component,\n type Content,\n DatabaseAdapter,\n type EntitiesForRoomsResult,\n type Entity,\n type IDatabaseAdapter,\n type JsonValue,\n type Log,\n type LogBody,\n logger,\n type Memory,\n type MemoryMetadata,\n type MemoryTypeAlias,\n type Metadata,\n type PairingAllowlistEntry,\n type PairingAllowlistsResult,\n type PairingChannel,\n type PairingRequest,\n type PairingRequestsResult,\n type Participant,\n type ParticipantsForRoomsResult,\n type ParticipantUpdateFields,\n type ParticipantUserState,\n type PatchOp,\n type Relationship,\n type Room,\n type Task,\n type UUID,\n type World,\n} from \"@elizaos/core\";\nimport { EphemeralHNSW } from \"./hnsw\";\nimport { COLLECTIONS, type IStorage } from \"./types\";\n\n// ────────────────────────────────────────────────────────────────────────────\n// Internal stored shapes\n// ────────────────────────────────────────────────────────────────────────────\n\ninterface StoredParticipant {\n id: string;\n entityId: string;\n roomId: string;\n userState?: ParticipantUserState;\n metadata?: Record<string, unknown>;\n}\n\ninterface StoredMemory {\n id?: string;\n entityId: string;\n agentId?: string;\n createdAt?: number;\n content: Content;\n embedding?: number[];\n roomId: string;\n worldId?: string;\n unique?: boolean;\n similarity?: number;\n metadata?: MemoryMetadata;\n}\n\ninterface StoredRelationship {\n id: string;\n sourceEntityId: string;\n targetEntityId: string;\n agentId?: string;\n tags?: string[];\n metadata?: Metadata;\n createdAt?: string;\n}\n\ninterface StoredCacheEntry<T = unknown> {\n value: T;\n expiresAt?: number;\n}\n\n// ────────────────────────────────────────────────────────────────────────────\n// Helpers\n// ────────────────────────────────────────────────────────────────────────────\n\nfunction toMemory(stored: StoredMemory): Memory {\n return {\n id: stored.id as UUID | undefined,\n entityId: stored.entityId as UUID,\n agentId: stored.agentId as UUID | undefined,\n createdAt: stored.createdAt,\n content: stored.content,\n embedding: stored.embedding,\n roomId: stored.roomId as UUID,\n worldId: stored.worldId as UUID | undefined,\n unique: stored.unique,\n similarity: stored.similarity,\n metadata: stored.metadata,\n };\n}\n\nfunction relationshipFromStored(r: StoredRelationship, fallbackAgentId: UUID): Relationship {\n return {\n id: r.id as UUID,\n sourceEntityId: r.sourceEntityId as UUID,\n targetEntityId: r.targetEntityId as UUID,\n agentId: (r.agentId as UUID) ?? fallbackAgentId,\n tags: r.tags ?? [],\n metadata: r.metadata ?? {},\n createdAt: r.createdAt,\n };\n}\n\n/**\n * Apply a single JSON patch operation to a deeply-nested target object,\n * resolving the dot-separated `path` to a leaf and mutating in place.\n *\n * This is a best-effort implementation that mirrors what Postgres's JSONB\n * patch operators do for the SQL adapter. It supports `set`, `push`,\n * `remove`, and `increment`.\n */\nfunction applyPatchOp(target: Record<string, unknown>, op: PatchOp): void {\n if (!op.path) return;\n const parts = op.path.split(\".\");\n const last = parts.pop();\n if (last === undefined) return;\n\n let parent: Record<string, unknown> = target;\n for (const segment of parts) {\n const next = parent[segment];\n if (next === null || typeof next !== \"object\") {\n const created: Record<string, unknown> = {};\n parent[segment] = created;\n parent = created;\n } else {\n parent = next as Record<string, unknown>;\n }\n }\n\n switch (op.op) {\n case \"set\":\n parent[last] = op.value;\n break;\n case \"remove\":\n delete parent[last];\n break;\n case \"push\": {\n const existing = parent[last];\n if (Array.isArray(existing)) {\n existing.push(op.value);\n } else {\n parent[last] = [op.value];\n }\n break;\n }\n case \"increment\": {\n const existing = parent[last];\n const delta = typeof op.value === \"number\" ? op.value : 1;\n parent[last] = typeof existing === \"number\" ? existing + delta : delta;\n break;\n }\n }\n}\n\nfunction levenshtein(a: string, b: string): number {\n if (a === b) return 0;\n if (a.length === 0) return b.length;\n if (b.length === 0) return a.length;\n const prev = new Array(b.length + 1);\n const curr = new Array(b.length + 1);\n for (let j = 0; j <= b.length; j++) prev[j] = j;\n for (let i = 1; i <= a.length; i++) {\n curr[0] = i;\n for (let j = 1; j <= b.length; j++) {\n const cost = a[i - 1] === b[j - 1] ? 0 : 1;\n curr[j] = Math.min(curr[j - 1] + 1, prev[j] + 1, prev[j - 1] + cost);\n }\n for (let j = 0; j <= b.length; j++) prev[j] = curr[j];\n }\n return curr[b.length];\n}\n\n// ────────────────────────────────────────────────────────────────────────────\n// Adapter\n// ────────────────────────────────────────────────────────────────────────────\n\nexport class InMemoryDatabaseAdapter extends DatabaseAdapter<IStorage> {\n private storage: IStorage;\n private vectorIndex: EphemeralHNSW;\n private embeddingDimension = 384;\n private ready = false;\n private readonly agentId: UUID;\n\n constructor(storage: IStorage, agentId: UUID) {\n super();\n this.storage = storage;\n this.agentId = agentId;\n this.db = storage;\n this.vectorIndex = new EphemeralHNSW();\n }\n\n // ── Lifecycle ─────────────────────────────────────────────────────────\n\n async initialize(_config?: Record<string, string | number | boolean | null>): Promise<void> {\n await this.storage.init();\n await this.vectorIndex.init(this.embeddingDimension);\n this.ready = true;\n logger.info({ src: \"plugin:inmemorydb\" }, \"In-memory database initialized\");\n }\n\n /** Backward-compat alias used by `plugin-inmemorydb`'s plugin init hook. */\n async init(): Promise<void> {\n await this.initialize();\n }\n\n async runPluginMigrations(\n _plugins: Array<{ name: string; schema?: Record<string, JsonValue> }>,\n _options?: { verbose?: boolean; force?: boolean; dryRun?: boolean }\n ): Promise<void> {\n logger.debug(\n { src: \"plugin:inmemorydb\" },\n \"Plugin migrations not needed for in-memory storage\"\n );\n }\n\n async isReady(): Promise<boolean> {\n return this.ready && (await this.storage.isReady());\n }\n\n async close(): Promise<void> {\n await this.vectorIndex.clear();\n await this.storage.close();\n this.ready = false;\n logger.info({ src: \"plugin:inmemorydb\" }, \"In-memory database closed\");\n }\n\n async getConnection(): Promise<IStorage> {\n return this.storage;\n }\n\n // ── Transactions ──────────────────────────────────────────────────────\n // No atomicity guarantees: just invoke the callback with `this`. This\n // matches what other in-memory adapters do — callers that need real\n // transactions should use a real database backend.\n\n async transaction<T>(\n callback: (tx: IDatabaseAdapter<IStorage>) => Promise<T>,\n _options?: { entityContext?: UUID }\n ): Promise<T> {\n return callback(this as IDatabaseAdapter<IStorage>);\n }\n\n // ── Embedding ─────────────────────────────────────────────────────────\n\n async ensureEmbeddingDimension(dimension: number): Promise<void> {\n if (this.embeddingDimension !== dimension) {\n this.embeddingDimension = dimension;\n await this.vectorIndex.init(dimension);\n }\n }\n\n // ── Entity CRUD ───────────────────────────────────────────────────────\n\n async createEntities(entities: Entity[]): Promise<UUID[]> {\n const ids: UUID[] = [];\n for (const entity of entities) {\n const id = (entity.id ?? randomUUID()) as UUID;\n await this.storage.set(COLLECTIONS.ENTITIES, id, { ...entity, id });\n ids.push(id);\n }\n return ids;\n }\n\n async upsertEntities(entities: Entity[]): Promise<void> {\n for (const entity of entities) {\n if (!entity.id) continue;\n const existing = await this.storage.get<Entity>(COLLECTIONS.ENTITIES, entity.id);\n await this.storage.set(COLLECTIONS.ENTITIES, entity.id, {\n ...(existing ?? {}),\n ...entity,\n });\n }\n }\n\n async getEntitiesByIds(entityIds: UUID[]): Promise<Entity[]> {\n const entities: Entity[] = [];\n for (const id of entityIds) {\n const entity = await this.storage.get<Entity>(COLLECTIONS.ENTITIES, id);\n if (entity) entities.push(entity);\n }\n return entities;\n }\n\n async updateEntities(entities: Entity[]): Promise<void> {\n for (const entity of entities) {\n if (!entity.id) continue;\n const existing = await this.storage.get<Entity>(COLLECTIONS.ENTITIES, entity.id);\n if (!existing) continue;\n await this.storage.set(COLLECTIONS.ENTITIES, entity.id, {\n ...existing,\n ...entity,\n });\n }\n }\n\n async deleteEntities(entityIds: UUID[]): Promise<void> {\n for (const id of entityIds) {\n await this.storage.delete(COLLECTIONS.ENTITIES, id);\n }\n }\n\n async getEntitiesForRooms(\n roomIds: UUID[],\n includeComponents = false\n ): Promise<EntitiesForRoomsResult> {\n const result: EntitiesForRoomsResult = [];\n for (const roomId of roomIds) {\n const participants = await this.storage.getWhere<StoredParticipant>(\n COLLECTIONS.PARTICIPANTS,\n (p) => p.roomId === roomId\n );\n const entityIds = [...new Set(participants.map((p) => p.entityId))] as UUID[];\n const entities = await this.getEntitiesByIds(entityIds);\n\n if (includeComponents) {\n for (const entity of entities) {\n if (!entity.id) continue;\n const components = await this.getComponentsForEntities([entity.id]);\n (entity as Entity & { components?: Component[] }).components = components;\n }\n }\n\n result.push({ roomId, entities });\n }\n return result;\n }\n\n async getEntitiesByNames(params: { names: string[]; agentId: UUID }): Promise<Entity[]> {\n if (params.names.length === 0) return [];\n const set = new Set(params.names);\n return this.storage.getWhere<Entity>(COLLECTIONS.ENTITIES, (e) => {\n const names = (e as Entity & { names?: string[] }).names ?? [];\n return names.some((name) => set.has(name));\n });\n }\n\n async searchEntitiesByName(params: {\n query: string;\n agentId: UUID;\n limit?: number;\n }): Promise<Entity[]> {\n const q = params.query.toLowerCase();\n const matches = await this.storage.getWhere<Entity>(COLLECTIONS.ENTITIES, (e) => {\n const names = (e as Entity & { names?: string[] }).names ?? [];\n return names.some((name) => name.toLowerCase().includes(q));\n });\n return params.limit ? matches.slice(0, params.limit) : matches;\n }\n\n async queryEntities(params: {\n componentType?: string;\n componentDataFilter?: Record<string, unknown>;\n agentId?: UUID;\n entityIds?: UUID[];\n worldId?: UUID;\n limit?: number;\n offset?: number;\n includeAllComponents?: boolean;\n entityContext?: UUID;\n }): Promise<Entity[]> {\n let entityIds: UUID[];\n if (params.entityIds && params.entityIds.length > 0) {\n entityIds = params.entityIds;\n } else {\n const allComponents = await this.storage.getWhere<Component>(COLLECTIONS.COMPONENTS, (c) => {\n if (params.componentType && c.type !== params.componentType) return false;\n if (params.worldId && c.worldId !== params.worldId) return false;\n if (params.componentDataFilter) {\n const data = (c as Component & { data?: Record<string, unknown> }).data;\n if (!data || typeof data !== \"object\") return false;\n for (const [k, v] of Object.entries(params.componentDataFilter)) {\n if (data[k] !== v) return false;\n }\n }\n return true;\n });\n entityIds = [...new Set(allComponents.map((c) => c.entityId as UUID))];\n }\n\n const offset = params.offset ?? 0;\n const limit = params.limit;\n const sliced =\n limit !== undefined ? entityIds.slice(offset, offset + limit) : entityIds.slice(offset);\n\n const entities = await this.getEntitiesByIds(sliced);\n if (params.includeAllComponents) {\n for (const entity of entities) {\n if (!entity.id) continue;\n const components = await this.getComponentsForEntities([entity.id]);\n (entity as Entity & { components?: Component[] }).components = components;\n }\n }\n return entities;\n }\n\n // ── Component CRUD ────────────────────────────────────────────────────\n\n async createComponents(components: Component[]): Promise<UUID[]> {\n const ids: UUID[] = [];\n for (const component of components) {\n const id = component.id as UUID;\n await this.storage.set(COLLECTIONS.COMPONENTS, id, { ...component, id });\n ids.push(id);\n }\n return ids;\n }\n\n async getComponentsByIds(componentIds: UUID[]): Promise<Component[]> {\n const components: Component[] = [];\n for (const id of componentIds) {\n const c = await this.storage.get<Component>(COLLECTIONS.COMPONENTS, id);\n if (c) components.push(c);\n }\n return components;\n }\n\n async updateComponents(components: Component[]): Promise<void> {\n for (const component of components) {\n if (!component.id) continue;\n const existing = await this.storage.get<Component>(COLLECTIONS.COMPONENTS, component.id);\n if (!existing) continue;\n await this.storage.set(COLLECTIONS.COMPONENTS, component.id, {\n ...existing,\n ...component,\n });\n }\n }\n\n async deleteComponents(componentIds: UUID[]): Promise<void> {\n for (const id of componentIds) {\n await this.storage.delete(COLLECTIONS.COMPONENTS, id);\n }\n }\n\n async upsertComponents(\n components: Component[],\n _options?: { entityContext?: UUID }\n ): Promise<void> {\n for (const component of components) {\n const naturalKey = await this.storage.getWhere<Component>(\n COLLECTIONS.COMPONENTS,\n (c) =>\n c.entityId === component.entityId &&\n c.type === component.type &&\n c.worldId === component.worldId &&\n c.sourceEntityId === component.sourceEntityId\n );\n\n const existing = naturalKey[0];\n if (existing) {\n await this.storage.set(COLLECTIONS.COMPONENTS, existing.id, {\n ...existing,\n ...component,\n id: existing.id,\n });\n } else {\n const id = component.id as UUID;\n await this.storage.set(COLLECTIONS.COMPONENTS, id, {\n ...component,\n id,\n });\n }\n }\n }\n\n async patchComponents(\n updates: Array<{ componentId: UUID; ops: PatchOp[] }>,\n _options?: { entityContext?: UUID }\n ): Promise<void> {\n for (const update of updates) {\n const component = await this.storage.get<Component>(\n COLLECTIONS.COMPONENTS,\n update.componentId\n );\n if (!component) continue;\n const data = { ...(component.data ?? {}) } as Record<string, unknown>;\n for (const op of update.ops) {\n applyPatchOp(data, op);\n }\n component.data = data as Component[\"data\"];\n await this.storage.set(COLLECTIONS.COMPONENTS, update.componentId, component);\n }\n }\n\n async getComponentsByNaturalKeys(\n keys: Array<{\n entityId: UUID;\n type: string;\n worldId?: UUID;\n sourceEntityId?: UUID;\n }>\n ): Promise<(Component | null)[]> {\n const result: (Component | null)[] = [];\n for (const key of keys) {\n const matches = await this.storage.getWhere<Component>(\n COLLECTIONS.COMPONENTS,\n (c) =>\n c.entityId === key.entityId &&\n c.type === key.type &&\n c.worldId === (key.worldId ?? null) &&\n c.sourceEntityId === (key.sourceEntityId ?? null)\n );\n result.push(matches[0] ?? null);\n }\n return result;\n }\n\n async getComponentsForEntities(\n entityIds: UUID[],\n worldId?: UUID,\n sourceEntityId?: UUID\n ): Promise<Component[]> {\n if (entityIds.length === 0) return [];\n const idSet = new Set(entityIds);\n return this.storage.getWhere<Component>(COLLECTIONS.COMPONENTS, (c) => {\n if (!idSet.has(c.entityId as UUID)) return false;\n if (worldId !== undefined && c.worldId !== worldId) return false;\n if (sourceEntityId !== undefined && c.sourceEntityId !== sourceEntityId) return false;\n return true;\n });\n }\n\n // ── Memory CRUD ───────────────────────────────────────────────────────\n\n async getMemories(params: {\n entityId?: UUID;\n agentId?: UUID;\n limit?: number;\n count?: number;\n offset?: number;\n unique?: boolean;\n tableName: string;\n start?: number;\n end?: number;\n roomId?: UUID;\n worldId?: UUID;\n metadata?: Record<string, unknown>;\n accessContext?: AccessContext;\n }): Promise<Memory[]> {\n let memories = await this.storage.getWhere<StoredMemory>(COLLECTIONS.MEMORIES, (m) => {\n if (params.entityId && m.entityId !== params.entityId) return false;\n if (params.agentId && m.agentId !== params.agentId) return false;\n if (params.roomId && m.roomId !== params.roomId) return false;\n if (params.worldId && m.worldId !== params.worldId) return false;\n if (params.tableName && m.metadata?.type !== params.tableName) return false;\n if (params.start && m.createdAt && m.createdAt < params.start) return false;\n if (params.end && m.createdAt && m.createdAt > params.end) return false;\n if (params.unique && !m.unique) return false;\n if (params.metadata) {\n const md = (m.metadata ?? {}) as Record<string, unknown>;\n for (const [k, v] of Object.entries(params.metadata)) {\n if (md[k] !== v) return false;\n }\n }\n return true;\n });\n\n memories.sort((a, b) => (b.createdAt ?? 0) - (a.createdAt ?? 0));\n\n const offset = params.offset ?? 0;\n const limit = params.limit ?? params.count;\n if (offset > 0) memories = memories.slice(offset);\n if (limit !== undefined) memories = memories.slice(0, limit);\n\n return memories.map(toMemory);\n }\n\n async getMemoriesByRoomIds(params: {\n roomIds: UUID[];\n tableName: string;\n limit?: number;\n accessContext?: AccessContext;\n }): Promise<Memory[]> {\n if (params.roomIds.length === 0) return [];\n const roomSet = new Set(params.roomIds);\n const memories = await this.storage.getWhere<StoredMemory>(\n COLLECTIONS.MEMORIES,\n (m) =>\n roomSet.has(m.roomId as UUID) &&\n (params.tableName ? m.metadata?.type === params.tableName : true)\n );\n memories.sort((a, b) => (b.createdAt ?? 0) - (a.createdAt ?? 0));\n const sliced = params.limit ? memories.slice(0, params.limit) : memories;\n return sliced.map(toMemory);\n }\n\n async getMemoriesByIds(memoryIds: UUID[], tableName?: string): Promise<Memory[]> {\n const memories: Memory[] = [];\n for (const id of memoryIds) {\n const m = await this.storage.get<StoredMemory>(COLLECTIONS.MEMORIES, id);\n if (!m) continue;\n if (tableName && m.metadata?.type !== tableName) continue;\n memories.push(toMemory(m));\n }\n return memories;\n }\n\n async getCachedEmbeddings(params: {\n query_table_name: string;\n query_threshold: number;\n query_input: string;\n query_field_name: string;\n query_field_sub_name: string;\n query_match_count: number;\n }): Promise<{ embedding: number[]; levenshtein_score: number }[]> {\n const memories = await this.storage.getWhere<StoredMemory>(\n COLLECTIONS.MEMORIES,\n (m) => m.metadata?.type === params.query_table_name && !!m.embedding\n );\n\n const results: { embedding: number[]; levenshtein_score: number }[] = [];\n for (const memory of memories) {\n if (!memory.embedding) continue;\n const record = memory as StoredMemory & Record<string, unknown>;\n const fieldValue = record[params.query_field_name];\n const text = String(fieldValue ?? \"\");\n const score = levenshtein(params.query_input, text);\n if (score <= params.query_threshold) {\n results.push({ embedding: memory.embedding, levenshtein_score: score });\n }\n }\n results.sort((a, b) => a.levenshtein_score - b.levenshtein_score);\n return results.slice(0, params.query_match_count);\n }\n\n async searchMemories(params: {\n tableName: string;\n embedding: number[];\n match_threshold?: number;\n limit?: number;\n unique?: boolean;\n query?: string;\n roomId?: UUID;\n worldId?: UUID;\n entityId?: UUID;\n accessContext?: AccessContext;\n }): Promise<Memory[]> {\n const threshold = params.match_threshold ?? 0.5;\n const limit = params.limit ?? 10;\n\n const results = await this.vectorIndex.search(params.embedding, limit * 2, threshold);\n\n const memories: Memory[] = [];\n for (const result of results) {\n const memory = await this.storage.get<StoredMemory>(COLLECTIONS.MEMORIES, result.id);\n if (!memory) continue;\n if (params.tableName && memory.metadata?.type !== params.tableName) continue;\n if (params.roomId && memory.roomId !== params.roomId) continue;\n if (params.worldId && memory.worldId !== params.worldId) continue;\n if (params.entityId && memory.entityId !== params.entityId) continue;\n if (params.unique && !memory.unique) continue;\n memories.push({ ...toMemory(memory), similarity: result.similarity });\n }\n\n return memories.slice(0, limit);\n }\n\n async createMemories(\n memories: Array<{ memory: Memory; tableName: string; unique?: boolean }>\n ): Promise<UUID[]> {\n const ids: UUID[] = [];\n for (const { memory, tableName, unique = false } of memories) {\n const id = (memory.id ?? randomUUID()) as UUID;\n const stored: StoredMemory = {\n ...memory,\n id,\n agentId: memory.agentId ?? this.agentId,\n unique: unique || memory.unique,\n createdAt: memory.createdAt ?? Date.now(),\n metadata: {\n ...(memory.metadata ?? {}),\n type: tableName as MemoryTypeAlias,\n } as MemoryMetadata,\n };\n await this.storage.set(COLLECTIONS.MEMORIES, id, stored);\n if (memory.embedding && memory.embedding.length > 0) {\n await this.vectorIndex.add(id, memory.embedding);\n }\n ids.push(id);\n }\n return ids;\n }\n\n async updateMemories(\n memories: Array<Partial<Memory> & { id: UUID; metadata?: MemoryMetadata }>\n ): Promise<void> {\n for (const memory of memories) {\n const existing = await this.storage.get<StoredMemory>(COLLECTIONS.MEMORIES, memory.id);\n if (!existing) continue;\n const updated: StoredMemory = {\n ...existing,\n ...memory,\n metadata: {\n ...(existing.metadata ?? {}),\n ...(memory.metadata ?? {}),\n } as MemoryMetadata,\n };\n await this.storage.set(COLLECTIONS.MEMORIES, memory.id, updated);\n if (memory.embedding && memory.embedding.length > 0) {\n await this.vectorIndex.add(memory.id, memory.embedding);\n }\n }\n }\n\n async upsertMemories(\n memories: Array<{ memory: Memory; tableName: string }>,\n _options?: { entityContext?: UUID }\n ): Promise<void> {\n for (const { memory, tableName } of memories) {\n if (!memory.id) {\n await this.createMemories([{ memory, tableName }]);\n continue;\n }\n const existing = await this.storage.get<StoredMemory>(COLLECTIONS.MEMORIES, memory.id);\n const stored: StoredMemory = {\n ...(existing ?? {}),\n ...memory,\n agentId: memory.agentId ?? existing?.agentId ?? this.agentId,\n createdAt: memory.createdAt ?? existing?.createdAt ?? Date.now(),\n metadata: {\n ...(existing?.metadata ?? {}),\n ...(memory.metadata ?? {}),\n type: tableName as MemoryTypeAlias,\n } as MemoryMetadata,\n };\n await this.storage.set(COLLECTIONS.MEMORIES, memory.id, stored);\n if (memory.embedding && memory.embedding.length > 0) {\n await this.vectorIndex.add(memory.id, memory.embedding);\n }\n }\n }\n\n async deleteMemories(memoryIds: UUID[]): Promise<void> {\n for (const id of memoryIds) {\n await this.storage.delete(COLLECTIONS.MEMORIES, id);\n await this.vectorIndex.remove(id);\n }\n }\n\n async deleteAllMemories(roomIds: UUID[], tableName: string): Promise<void> {\n if (roomIds.length === 0) return;\n const roomSet = new Set(roomIds);\n const memories = await this.storage.getWhere<StoredMemory>(\n COLLECTIONS.MEMORIES,\n (m) => roomSet.has(m.roomId as UUID) && (tableName ? m.metadata?.type === tableName : true)\n );\n const ids = memories.map((m) => m.id).filter((id): id is string => id !== undefined) as UUID[];\n await this.deleteMemories(ids);\n }\n\n async countMemories(params: {\n roomIds?: UUID[];\n unique?: boolean;\n tableName?: string;\n entityId?: UUID;\n agentId?: UUID;\n metadata?: Record<string, unknown>;\n }): Promise<number> {\n const roomSet = params.roomIds ? new Set(params.roomIds) : null;\n return this.storage.count<StoredMemory>(COLLECTIONS.MEMORIES, (m) => {\n if (roomSet && !roomSet.has(m.roomId as UUID)) return false;\n if (params.unique && !m.unique) return false;\n if (params.tableName && m.metadata?.type !== params.tableName) return false;\n if (params.entityId && m.entityId !== params.entityId) return false;\n if (params.agentId && m.agentId !== params.agentId) return false;\n if (params.metadata) {\n const md = (m.metadata ?? {}) as Record<string, unknown>;\n for (const [k, v] of Object.entries(params.metadata)) {\n if (md[k] !== v) return false;\n }\n }\n return true;\n });\n }\n\n async getMemoriesByWorldId(params: {\n worldIds?: UUID[];\n limit?: number;\n tableName?: string;\n }): Promise<Memory[]> {\n const worldSet = params.worldIds ? new Set(params.worldIds) : null;\n const memories = await this.storage.getWhere<StoredMemory>(\n COLLECTIONS.MEMORIES,\n (m) =>\n (!worldSet || (m.worldId ? worldSet.has(m.worldId as UUID) : false)) &&\n (params.tableName ? m.metadata?.type === params.tableName : true)\n );\n memories.sort((a, b) => (b.createdAt ?? 0) - (a.createdAt ?? 0));\n const sliced = params.limit ? memories.slice(0, params.limit) : memories;\n return sliced.map(toMemory);\n }\n\n // ── Log CRUD ──────────────────────────────────────────────────────────\n\n async getLogs(params: {\n entityId?: UUID;\n roomId?: UUID;\n type?: string;\n limit?: number;\n offset?: number;\n }): Promise<Log[]> {\n let logs = await this.storage.getWhere<Log>(COLLECTIONS.LOGS, (l) => {\n if (params.entityId && l.entityId !== params.entityId) return false;\n if (params.roomId && l.roomId !== params.roomId) return false;\n if (params.type && l.type !== params.type) return false;\n return true;\n });\n logs.sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime());\n const offset = params.offset ?? 0;\n if (offset > 0) logs = logs.slice(offset);\n if (params.limit !== undefined) logs = logs.slice(0, params.limit);\n return logs;\n }\n\n async createLogs(\n params: Array<{\n body: LogBody;\n entityId: UUID;\n roomId: UUID;\n type: string;\n }>\n ): Promise<void> {\n for (const entry of params) {\n const id = randomUUID() as UUID;\n const log: Log = {\n id,\n entityId: entry.entityId,\n roomId: entry.roomId,\n body: entry.body,\n type: entry.type,\n createdAt: new Date(),\n };\n await this.storage.set(COLLECTIONS.LOGS, id, log);\n }\n }\n\n async getLogsByIds(logIds: UUID[]): Promise<Log[]> {\n const logs: Log[] = [];\n for (const id of logIds) {\n const log = await this.storage.get<Log>(COLLECTIONS.LOGS, id);\n if (log) logs.push(log);\n }\n return logs;\n }\n\n async updateLogs(logs: Array<{ id: UUID; updates: Partial<Log> }>): Promise<void> {\n for (const { id, updates } of logs) {\n const existing = await this.storage.get<Log>(COLLECTIONS.LOGS, id);\n if (!existing) continue;\n await this.storage.set(COLLECTIONS.LOGS, id, { ...existing, ...updates });\n }\n }\n\n async deleteLogs(logIds: UUID[]): Promise<void> {\n for (const id of logIds) {\n await this.storage.delete(COLLECTIONS.LOGS, id);\n }\n }\n\n // ── World CRUD ────────────────────────────────────────────────────────\n\n async getAllWorlds(): Promise<World[]> {\n return this.storage.getAll<World>(COLLECTIONS.WORLDS);\n }\n\n async getWorldsByIds(worldIds: UUID[]): Promise<World[]> {\n const worlds: World[] = [];\n for (const id of worldIds) {\n const w = await this.storage.get<World>(COLLECTIONS.WORLDS, id);\n if (w) worlds.push(w);\n }\n return worlds;\n }\n\n async createWorlds(worlds: World[]): Promise<UUID[]> {\n const ids: UUID[] = [];\n for (const world of worlds) {\n const id = world.id as UUID;\n await this.storage.set(COLLECTIONS.WORLDS, id, { ...world, id });\n ids.push(id);\n }\n return ids;\n }\n\n async deleteWorlds(worldIds: UUID[]): Promise<void> {\n for (const id of worldIds) {\n await this.storage.delete(COLLECTIONS.WORLDS, id);\n }\n }\n\n async updateWorlds(worlds: World[]): Promise<void> {\n for (const world of worlds) {\n if (!world.id) continue;\n const existing = await this.storage.get<World>(COLLECTIONS.WORLDS, world.id);\n if (!existing) continue;\n await this.storage.set(COLLECTIONS.WORLDS, world.id, {\n ...existing,\n ...world,\n });\n }\n }\n\n async upsertWorlds(worlds: World[]): Promise<void> {\n for (const world of worlds) {\n const id = world.id as UUID;\n const existing = await this.storage.get<World>(COLLECTIONS.WORLDS, id);\n await this.storage.set(COLLECTIONS.WORLDS, id, {\n ...(existing ?? {}),\n ...world,\n id,\n });\n }\n }\n\n // ── Room CRUD ─────────────────────────────────────────────────────────\n\n async getRoomsByIds(roomIds: UUID[]): Promise<Room[]> {\n const rooms: Room[] = [];\n for (const id of roomIds) {\n const room = await this.storage.get<Room>(COLLECTIONS.ROOMS, id);\n if (room) rooms.push(room);\n }\n return rooms;\n }\n\n async deleteRoomsByWorldIds(worldIds: UUID[]): Promise<void> {\n if (worldIds.length === 0) return;\n const worldSet = new Set(worldIds);\n const rooms = await this.storage.getWhere<Room>(COLLECTIONS.ROOMS, (r) =>\n r.worldId ? worldSet.has(r.worldId as UUID) : false\n );\n const roomIds = rooms.map((r) => r.id).filter((id): id is UUID => id !== undefined);\n await this.deleteRooms(roomIds);\n }\n\n async getRoomsForParticipants(entityIds: UUID[]): Promise<UUID[]> {\n if (entityIds.length === 0) return [];\n const entitySet = new Set(entityIds);\n const participants = await this.storage.getWhere<StoredParticipant>(\n COLLECTIONS.PARTICIPANTS,\n (p) => entitySet.has(p.entityId as UUID)\n );\n return [...new Set(participants.map((p) => p.roomId as UUID))];\n }\n\n async getRoomsByWorlds(worldIds: UUID[], limit?: number, offset?: number): Promise<Room[]> {\n if (worldIds.length === 0) return [];\n const worldSet = new Set(worldIds);\n let rooms = await this.storage.getWhere<Room>(COLLECTIONS.ROOMS, (r) =>\n r.worldId ? worldSet.has(r.worldId as UUID) : false\n );\n const off = offset ?? 0;\n if (off > 0) rooms = rooms.slice(off);\n if (limit !== undefined) rooms = rooms.slice(0, limit);\n return rooms;\n }\n\n async createRooms(rooms: Room[]): Promise<UUID[]> {\n const ids: UUID[] = [];\n for (const room of rooms) {\n const id = room.id as UUID;\n await this.storage.set(COLLECTIONS.ROOMS, id, { ...room, id });\n ids.push(id);\n }\n return ids;\n }\n\n async upsertRooms(rooms: Room[]): Promise<void> {\n for (const room of rooms) {\n const id = room.id as UUID;\n const existing = await this.storage.get<Room>(COLLECTIONS.ROOMS, id);\n await this.storage.set(COLLECTIONS.ROOMS, id, {\n ...(existing ?? {}),\n ...room,\n id,\n });\n }\n }\n\n async updateRooms(rooms: Room[]): Promise<void> {\n for (const room of rooms) {\n if (!room.id) continue;\n const existing = await this.storage.get<Room>(COLLECTIONS.ROOMS, room.id);\n if (!existing) continue;\n await this.storage.set(COLLECTIONS.ROOMS, room.id, {\n ...existing,\n ...room,\n });\n }\n }\n\n async deleteRooms(roomIds: UUID[]): Promise<void> {\n if (roomIds.length === 0) return;\n const set = new Set(roomIds);\n for (const id of roomIds) {\n await this.storage.delete(COLLECTIONS.ROOMS, id);\n }\n // Cascade: drop participants and memories belonging to these rooms.\n await this.storage.deleteWhere<StoredParticipant>(COLLECTIONS.PARTICIPANTS, (p) =>\n set.has(p.roomId as UUID)\n );\n await this.storage.deleteWhere<StoredMemory>(COLLECTIONS.MEMORIES, (m) =>\n set.has(m.roomId as UUID)\n );\n }\n\n // ── Participant CRUD ──────────────────────────────────────────────────\n\n async createRoomParticipants(entityIds: UUID[], roomId: UUID): Promise<UUID[]> {\n const ids: UUID[] = [];\n for (const entityId of entityIds) {\n const existing = await this.storage.getWhere<StoredParticipant>(\n COLLECTIONS.PARTICIPANTS,\n (p) => p.entityId === entityId && p.roomId === roomId\n );\n const existingParticipant = existing[0];\n if (existingParticipant) {\n ids.push(existingParticipant.id as UUID);\n continue;\n }\n const id = randomUUID() as UUID;\n const participant: StoredParticipant = { id, entityId, roomId };\n await this.storage.set(COLLECTIONS.PARTICIPANTS, id, participant);\n ids.push(id);\n }\n return ids;\n }\n\n async deleteParticipants(\n participants: Array<{ entityId: UUID; roomId: UUID }>\n ): Promise<boolean> {\n let removed = false;\n for (const { entityId, roomId } of participants) {\n const matches = await this.storage.getWhere<StoredParticipant>(\n COLLECTIONS.PARTICIPANTS,\n (p) => p.entityId === entityId && p.roomId === roomId\n );\n for (const p of matches) {\n if (p.id) {\n await this.storage.delete(COLLECTIONS.PARTICIPANTS, p.id);\n removed = true;\n }\n }\n }\n return removed;\n }\n\n async updateParticipants(\n participants: Array<{\n entityId: UUID;\n roomId: UUID;\n updates: ParticipantUpdateFields;\n }>\n ): Promise<void> {\n for (const { entityId, roomId, updates } of participants) {\n const matches = await this.storage.getWhere<StoredParticipant>(\n COLLECTIONS.PARTICIPANTS,\n (p) => p.entityId === entityId && p.roomId === roomId\n );\n for (const p of matches) {\n if (!p.id) continue;\n const next: StoredParticipant = {\n ...p,\n userState: updates.roomState ?? p.userState,\n metadata: { ...(p.metadata ?? {}), ...(updates.metadata ?? {}) },\n };\n await this.storage.set(COLLECTIONS.PARTICIPANTS, p.id, next);\n }\n }\n }\n\n async getParticipantsForEntities(entityIds: UUID[]): Promise<Participant[]> {\n if (entityIds.length === 0) return [];\n const set = new Set(entityIds);\n const stored = await this.storage.getWhere<StoredParticipant>(COLLECTIONS.PARTICIPANTS, (p) =>\n set.has(p.entityId as UUID)\n );\n const participants: Participant[] = [];\n for (const p of stored) {\n const entity = await this.storage.get<Entity>(COLLECTIONS.ENTITIES, p.entityId);\n if (entity) participants.push({ id: p.id as UUID, entity });\n }\n return participants;\n }\n\n async getParticipantsForRooms(roomIds: UUID[]): Promise<ParticipantsForRoomsResult> {\n const result: ParticipantsForRoomsResult = [];\n for (const roomId of roomIds) {\n const stored = await this.storage.getWhere<StoredParticipant>(\n COLLECTIONS.PARTICIPANTS,\n (p) => p.roomId === roomId\n );\n result.push({\n roomId,\n entityIds: [...new Set(stored.map((p) => p.entityId as UUID))],\n });\n }\n return result;\n }\n\n async areRoomParticipants(pairs: Array<{ roomId: UUID; entityId: UUID }>): Promise<boolean[]> {\n const result: boolean[] = [];\n for (const { roomId, entityId } of pairs) {\n const matches = await this.storage.getWhere<StoredParticipant>(\n COLLECTIONS.PARTICIPANTS,\n (p) => p.roomId === roomId && p.entityId === entityId\n );\n result.push(matches.length > 0);\n }\n return result;\n }\n\n async getParticipantUserStates(\n pairs: Array<{ roomId: UUID; entityId: UUID }>\n ): Promise<ParticipantUserState[]> {\n const result: ParticipantUserState[] = [];\n for (const { roomId, entityId } of pairs) {\n const matches = await this.storage.getWhere<StoredParticipant>(\n COLLECTIONS.PARTICIPANTS,\n (p) => p.roomId === roomId && p.entityId === entityId\n );\n const state = matches[0]?.userState ?? null;\n result.push(state);\n }\n return result;\n }\n\n async updateParticipantUserStates(\n updates: Array<{\n roomId: UUID;\n entityId: UUID;\n state: ParticipantUserState;\n }>\n ): Promise<void> {\n for (const { roomId, entityId, state } of updates) {\n const matches = await this.storage.getWhere<StoredParticipant>(\n COLLECTIONS.PARTICIPANTS,\n (p) => p.roomId === roomId && p.entityId === entityId\n );\n for (const p of matches) {\n if (!p.id) continue;\n await this.storage.set(COLLECTIONS.PARTICIPANTS, p.id, {\n ...p,\n userState: state,\n });\n }\n }\n }\n\n // ── Relationship CRUD ─────────────────────────────────────────────────\n\n async getRelationshipsByPairs(\n pairs: Array<{ sourceEntityId: UUID; targetEntityId: UUID }>\n ): Promise<(Relationship | null)[]> {\n const result: (Relationship | null)[] = [];\n for (const pair of pairs) {\n const matches = await this.storage.getWhere<StoredRelationship>(\n COLLECTIONS.RELATIONSHIPS,\n (r) => r.sourceEntityId === pair.sourceEntityId && r.targetEntityId === pair.targetEntityId\n );\n const first = matches[0];\n result.push(first ? relationshipFromStored(first, this.agentId) : null);\n }\n return result;\n }\n\n async getRelationships(params: {\n entityIds?: UUID[];\n tags?: string[];\n limit?: number;\n offset?: number;\n }): Promise<Relationship[]> {\n const entitySet = params.entityIds ? new Set(params.entityIds) : null;\n let stored = await this.storage.getWhere<StoredRelationship>(COLLECTIONS.RELATIONSHIPS, (r) => {\n if (entitySet) {\n if (!entitySet.has(r.sourceEntityId as UUID) && !entitySet.has(r.targetEntityId as UUID)) {\n return false;\n }\n }\n if (params.tags && params.tags.length > 0) {\n const tags = r.tags ?? [];\n if (!params.tags.some((t) => tags.includes(t))) return false;\n }\n return true;\n });\n\n const offset = params.offset ?? 0;\n if (offset > 0) stored = stored.slice(offset);\n if (params.limit !== undefined) stored = stored.slice(0, params.limit);\n\n return stored.map((r) => relationshipFromStored(r, this.agentId));\n }\n\n async createRelationships(\n relationships: Array<{\n sourceEntityId: UUID;\n targetEntityId: UUID;\n tags?: string[];\n metadata?: Metadata;\n }>\n ): Promise<UUID[]> {\n const ids: UUID[] = [];\n for (const rel of relationships) {\n const id = randomUUID() as UUID;\n const stored: StoredRelationship = {\n id,\n sourceEntityId: rel.sourceEntityId,\n targetEntityId: rel.targetEntityId,\n agentId: this.agentId,\n tags: rel.tags ?? [],\n metadata: rel.metadata ?? {},\n createdAt: new Date().toISOString(),\n };\n await this.storage.set(COLLECTIONS.RELATIONSHIPS, id, stored);\n ids.push(id);\n }\n return ids;\n }\n\n async getRelationshipsByIds(relationshipIds: UUID[]): Promise<Relationship[]> {\n const relationships: Relationship[] = [];\n for (const id of relationshipIds) {\n const r = await this.storage.get<StoredRelationship>(COLLECTIONS.RELATIONSHIPS, id);\n if (r) relationships.push(relationshipFromStored(r, this.agentId));\n }\n return relationships;\n }\n\n async updateRelationships(relationships: Relationship[]): Promise<void> {\n for (const rel of relationships) {\n if (!rel.id) continue;\n const existing = await this.storage.get<StoredRelationship>(\n COLLECTIONS.RELATIONSHIPS,\n rel.id\n );\n if (!existing) continue;\n const next: StoredRelationship = {\n ...existing,\n sourceEntityId: rel.sourceEntityId,\n targetEntityId: rel.targetEntityId,\n agentId: rel.agentId,\n tags: rel.tags,\n metadata: { ...(existing.metadata ?? {}), ...(rel.metadata ?? {}) },\n };\n await this.storage.set(COLLECTIONS.RELATIONSHIPS, rel.id, next);\n }\n }\n\n async deleteRelationships(relationshipIds: UUID[]): Promise<void> {\n for (const id of relationshipIds) {\n await this.storage.delete(COLLECTIONS.RELATIONSHIPS, id);\n }\n }\n\n // ── Agent CRUD ────────────────────────────────────────────────────────\n\n async getAgents(): Promise<Partial<Agent>[]> {\n return this.storage.getAll<Agent>(COLLECTIONS.AGENTS);\n }\n\n async getAgentsByIds(agentIds: UUID[]): Promise<Agent[]> {\n const agents: Agent[] = [];\n for (const id of agentIds) {\n const agent = await this.storage.get<Agent>(COLLECTIONS.AGENTS, id);\n if (agent) agents.push(agent);\n }\n return agents;\n }\n\n async createAgents(agents: Partial<Agent>[]): Promise<UUID[]> {\n const ids: UUID[] = [];\n for (const agent of agents) {\n const id = (agent.id ?? randomUUID()) as UUID;\n await this.storage.set(COLLECTIONS.AGENTS, id, { ...agent, id });\n ids.push(id);\n }\n return ids;\n }\n\n async updateAgents(updates: Array<{ agentId: UUID; agent: Partial<Agent> }>): Promise<boolean> {\n let updated = false;\n for (const { agentId, agent } of updates) {\n const existing = await this.storage.get<Agent>(COLLECTIONS.AGENTS, agentId);\n if (!existing) continue;\n await this.storage.set(COLLECTIONS.AGENTS, agentId, {\n ...existing,\n ...agent,\n });\n updated = true;\n }\n return updated;\n }\n\n async upsertAgents(agents: Partial<Agent>[]): Promise<void> {\n for (const agent of agents) {\n const id = (agent.id ?? randomUUID()) as UUID;\n const existing = await this.storage.get<Agent>(COLLECTIONS.AGENTS, id);\n await this.storage.set(COLLECTIONS.AGENTS, id, {\n ...(existing ?? {}),\n ...agent,\n id,\n });\n }\n }\n\n async deleteAgents(agentIds: UUID[]): Promise<boolean> {\n let removed = false;\n for (const id of agentIds) {\n const ok = await this.storage.delete(COLLECTIONS.AGENTS, id);\n if (ok) removed = true;\n }\n return removed;\n }\n\n async countAgents(): Promise<number> {\n return this.storage.count(COLLECTIONS.AGENTS);\n }\n\n async cleanupAgents(): Promise<void> {\n // Nothing to clean up for ephemeral storage.\n }\n\n // ── Cache CRUD ────────────────────────────────────────────────────────\n\n async getCaches<T>(keys: string[]): Promise<Map<string, T>> {\n const out = new Map<string, T>();\n for (const key of keys) {\n const entry = await this.storage.get<StoredCacheEntry<T>>(COLLECTIONS.CACHE, key);\n if (!entry) continue;\n if (entry.expiresAt && Date.now() > entry.expiresAt) {\n await this.storage.delete(COLLECTIONS.CACHE, key);\n continue;\n }\n out.set(key, entry.value);\n }\n return out;\n }\n\n async setCaches<T>(entries: Array<{ key: string; value: T }>): Promise<boolean> {\n for (const { key, value } of entries) {\n await this.storage.set(COLLECTIONS.CACHE, key, { value });\n }\n return true;\n }\n\n async deleteCaches(keys: string[]): Promise<boolean> {\n let removed = false;\n for (const key of keys) {\n const ok = await this.storage.delete(COLLECTIONS.CACHE, key);\n if (ok) removed = true;\n }\n return removed;\n }\n\n // ── Task CRUD ─────────────────────────────────────────────────────────\n\n async getTasks(params: {\n roomId?: UUID;\n tags?: string[];\n entityId?: UUID;\n agentIds: UUID[];\n limit?: number;\n offset?: number;\n }): Promise<Task[]> {\n const agentSet = new Set(params.agentIds);\n let tasks = await this.storage.getWhere<Task>(COLLECTIONS.TASKS, (t) => {\n const taskAgentId = (t as Task & { agentId?: UUID }).agentId;\n if (agentSet.size > 0 && taskAgentId !== undefined && !agentSet.has(taskAgentId)) {\n return false;\n }\n if (params.roomId && t.roomId !== params.roomId) return false;\n if (params.entityId && t.entityId !== params.entityId) return false;\n if (params.tags && params.tags.length > 0) {\n const tags = t.tags ?? [];\n if (!params.tags.some((tag) => tags.includes(tag))) return false;\n }\n return true;\n });\n const offset = params.offset ?? 0;\n if (offset > 0) tasks = tasks.slice(offset);\n if (params.limit !== undefined) tasks = tasks.slice(0, params.limit);\n return tasks;\n }\n\n async getTasksByName(name: string): Promise<Task[]> {\n return this.storage.getWhere<Task>(COLLECTIONS.TASKS, (t) => t.name === name);\n }\n\n async createTasks(tasks: Task[]): Promise<UUID[]> {\n const ids: UUID[] = [];\n for (const task of tasks) {\n const id = (task.id ?? randomUUID()) as UUID;\n await this.storage.set(COLLECTIONS.TASKS, id, { ...task, id });\n ids.push(id);\n }\n return ids;\n }\n\n async getTasksByIds(taskIds: UUID[]): Promise<Task[]> {\n const tasks: Task[] = [];\n for (const id of taskIds) {\n const task = await this.storage.get<Task>(COLLECTIONS.TASKS, id);\n if (task) tasks.push(task);\n }\n return tasks;\n }\n\n async updateTasks(updates: Array<{ id: UUID; task: Partial<Task> }>): Promise<void> {\n for (const { id, task } of updates) {\n const existing = await this.storage.get<Task>(COLLECTIONS.TASKS, id);\n if (!existing) continue;\n await this.storage.set(COLLECTIONS.TASKS, id, { ...existing, ...task });\n }\n }\n\n async deleteTasks(taskIds: UUID[]): Promise<void> {\n for (const id of taskIds) {\n await this.storage.delete(COLLECTIONS.TASKS, id);\n }\n }\n\n // ── Pairing CRUD ──────────────────────────────────────────────────────\n\n async getPairingRequests(\n queries: Array<{ channel: PairingChannel; agentId: UUID }>\n ): Promise<PairingRequestsResult> {\n const result: PairingRequestsResult = [];\n for (const { channel, agentId } of queries) {\n const requests = await this.storage.getWhere<PairingRequest>(\n COLLECTIONS.PAIRING_REQUESTS,\n (r) => r.channel === channel && r.agentId === agentId\n );\n result.push({ channel, agentId, requests });\n }\n return result;\n }\n\n async getPairingAllowlists(\n queries: Array<{ channel: PairingChannel; agentId: UUID }>\n ): Promise<PairingAllowlistsResult> {\n const result: PairingAllowlistsResult = [];\n for (const { channel, agentId } of queries) {\n const entries = await this.storage.getWhere<PairingAllowlistEntry>(\n COLLECTIONS.PAIRING_ALLOWLIST,\n (e) => e.channel === channel && e.agentId === agentId\n );\n result.push({ channel, agentId, entries });\n }\n return result;\n }\n\n async createPairingRequests(requests: PairingRequest[]): Promise<UUID[]> {\n const ids: UUID[] = [];\n for (const request of requests) {\n const id = request.id as UUID;\n await this.storage.set(COLLECTIONS.PAIRING_REQUESTS, id, {\n ...request,\n id,\n });\n ids.push(id);\n }\n return ids;\n }\n\n async updatePairingRequests(requests: PairingRequest[]): Promise<void> {\n for (const request of requests) {\n if (!request.id) continue;\n const existing = await this.storage.get<PairingRequest>(\n COLLECTIONS.PAIRING_REQUESTS,\n request.id\n );\n if (!existing) continue;\n await this.storage.set(COLLECTIONS.PAIRING_REQUESTS, request.id, {\n ...existing,\n ...request,\n });\n }\n }\n\n async deletePairingRequests(ids: UUID[]): Promise<void> {\n for (const id of ids) {\n await this.storage.delete(COLLECTIONS.PAIRING_REQUESTS, id);\n }\n }\n\n async createPairingAllowlistEntries(entries: PairingAllowlistEntry[]): Promise<UUID[]> {\n const ids: UUID[] = [];\n for (const entry of entries) {\n const id = entry.id as UUID;\n await this.storage.set(COLLECTIONS.PAIRING_ALLOWLIST, id, {\n ...entry,\n id,\n });\n ids.push(id);\n }\n return ids;\n }\n\n async updatePairingAllowlistEntries(entries: PairingAllowlistEntry[]): Promise<void> {\n for (const entry of entries) {\n if (!entry.id) continue;\n const existing = await this.storage.get<PairingAllowlistEntry>(\n COLLECTIONS.PAIRING_ALLOWLIST,\n entry.id\n );\n if (!existing) continue;\n await this.storage.set(COLLECTIONS.PAIRING_ALLOWLIST, entry.id, {\n ...existing,\n ...entry,\n });\n }\n }\n\n async deletePairingAllowlistEntries(ids: UUID[]): Promise<void> {\n for (const id of ids) {\n await this.storage.delete(COLLECTIONS.PAIRING_ALLOWLIST, id);\n }\n }\n}\n",
|
|
12
|
+
"import type { IVectorStorage, VectorSearchResult } from \"./types\";\n\ninterface HNSWNode {\n id: string;\n vector: number[];\n level: number;\n neighbors: Map<number, Set<string>>;\n}\n\ninterface HNSWConfig {\n M: number;\n efConstruction: number;\n efSearch: number;\n mL: number;\n}\n\nfunction cosineDistance(a: number[], b: number[]): number {\n if (a.length !== b.length) {\n throw new Error(`Vector dimension mismatch: ${a.length} vs ${b.length}`);\n }\n\n let dotProduct = 0;\n let normA = 0;\n let normB = 0;\n\n for (let i = 0; i < a.length; i++) {\n const aValue = a[i] ?? 0;\n const bValue = b[i] ?? 0;\n dotProduct += aValue * bValue;\n normA += aValue * aValue;\n normB += bValue * bValue;\n }\n\n const magnitude = Math.sqrt(normA) * Math.sqrt(normB);\n if (magnitude === 0) return 1;\n\n return 1 - dotProduct / magnitude;\n}\n\nexport class EphemeralHNSW implements IVectorStorage {\n private nodes: Map<string, HNSWNode> = new Map();\n private entryPoint: string | null = null;\n private maxLevel = 0;\n private dimension = 0;\n private config: HNSWConfig;\n\n constructor() {\n this.config = {\n M: 16,\n efConstruction: 200,\n efSearch: 50,\n mL: 1 / Math.log(16),\n };\n }\n\n async init(dimension: number): Promise<void> {\n this.dimension = dimension;\n }\n\n private getRandomLevel(): number {\n let level = 0;\n while (Math.random() < Math.exp(-level * this.config.mL) && level < 16) {\n level++;\n }\n return level;\n }\n\n async add(id: string, vector: number[]): Promise<void> {\n if (vector.length !== this.dimension) {\n throw new Error(\n `Vector dimension mismatch: expected ${this.dimension}, got ${vector.length}`\n );\n }\n\n const existing = this.nodes.get(id);\n if (existing) {\n existing.vector = vector;\n return;\n }\n\n const level = this.getRandomLevel();\n const newNode: HNSWNode = {\n id,\n vector,\n level,\n neighbors: new Map(),\n };\n\n for (let l = 0; l <= level; l++) {\n newNode.neighbors.set(l, new Set());\n }\n\n if (this.entryPoint === null) {\n this.entryPoint = id;\n this.maxLevel = level;\n this.nodes.set(id, newNode);\n return;\n }\n\n let currentNode = this.entryPoint;\n\n for (let l = this.maxLevel; l > level; l--) {\n currentNode = this.searchLayer(vector, currentNode, 1, l)[0]?.id ?? currentNode;\n }\n\n for (let l = Math.min(level, this.maxLevel); l >= 0; l--) {\n const neighbors = this.searchLayer(vector, currentNode, this.config.efConstruction, l);\n\n const M = this.config.M;\n const selectedNeighbors = neighbors.slice(0, M);\n\n for (const neighbor of selectedNeighbors) {\n const neighborSet = newNode.neighbors.get(l);\n if (neighborSet) {\n neighborSet.add(neighbor.id);\n }\n\n const neighborNode = this.nodes.get(neighbor.id);\n if (neighborNode) {\n let neighborSet = neighborNode.neighbors.get(l);\n if (!neighborSet) {\n neighborSet = new Set();\n neighborNode.neighbors.set(l, neighborSet);\n }\n neighborSet.add(id);\n\n if (neighborSet.size > M) {\n const toKeep = this.selectBestNeighbors(neighborNode.vector, neighborSet, M);\n neighborNode.neighbors.set(l, new Set(toKeep.map((n) => n.id)));\n }\n }\n }\n\n if (neighbors.length > 0) {\n const closestNeighbor = neighbors[0];\n if (closestNeighbor) {\n currentNode = closestNeighbor.id;\n }\n }\n }\n\n this.nodes.set(id, newNode);\n\n if (level > this.maxLevel) {\n this.maxLevel = level;\n this.entryPoint = id;\n }\n }\n\n private searchLayer(\n query: number[],\n entryId: string,\n ef: number,\n level: number\n ): Array<{ id: string; distance: number }> {\n const visited = new Set<string>([entryId]);\n const entryNode = this.nodes.get(entryId);\n if (!entryNode) return [];\n\n const entryDist = cosineDistance(query, entryNode.vector);\n\n const candidates: Array<{ id: string; distance: number }> = [\n { id: entryId, distance: entryDist },\n ];\n\n const results: Array<{ id: string; distance: number }> = [{ id: entryId, distance: entryDist }];\n\n while (candidates.length > 0) {\n candidates.sort((a, b) => a.distance - b.distance);\n const current = candidates.shift();\n if (!current) break;\n\n results.sort((a, b) => b.distance - a.distance);\n const furthestResult = results[0];\n if (!furthestResult) break;\n\n if (current.distance > furthestResult.distance) {\n break;\n }\n\n const currentNode = this.nodes.get(current.id);\n if (!currentNode) continue;\n\n const neighbors = currentNode.neighbors.get(level);\n if (!neighbors) continue;\n\n for (const neighborId of neighbors) {\n if (visited.has(neighborId)) continue;\n visited.add(neighborId);\n\n const neighborNode = this.nodes.get(neighborId);\n if (!neighborNode) continue;\n\n const dist = cosineDistance(query, neighborNode.vector);\n\n if (results.length < ef || dist < furthestResult.distance) {\n candidates.push({ id: neighborId, distance: dist });\n results.push({ id: neighborId, distance: dist });\n\n if (results.length > ef) {\n results.sort((a, b) => b.distance - a.distance);\n results.pop();\n }\n }\n }\n }\n\n results.sort((a, b) => a.distance - b.distance);\n return results;\n }\n\n private selectBestNeighbors(\n nodeVector: number[],\n neighborIds: Set<string>,\n M: number\n ): Array<{ id: string; distance: number }> {\n const neighbors: Array<{ id: string; distance: number }> = [];\n\n for (const id of neighborIds) {\n const node = this.nodes.get(id);\n if (node) {\n neighbors.push({\n id,\n distance: cosineDistance(nodeVector, node.vector),\n });\n }\n }\n\n neighbors.sort((a, b) => a.distance - b.distance);\n return neighbors.slice(0, M);\n }\n\n async remove(id: string): Promise<void> {\n const node = this.nodes.get(id);\n if (!node) return;\n\n for (const [level, neighbors] of node.neighbors) {\n for (const neighborId of neighbors) {\n const neighborNode = this.nodes.get(neighborId);\n if (neighborNode) {\n neighborNode.neighbors.get(level)?.delete(id);\n }\n }\n }\n\n this.nodes.delete(id);\n\n if (this.entryPoint === id) {\n if (this.nodes.size === 0) {\n this.entryPoint = null;\n this.maxLevel = 0;\n } else {\n let maxLevel = 0;\n let newEntry: string | null = null;\n for (const [nodeId, n] of this.nodes) {\n if (n.level >= maxLevel) {\n maxLevel = n.level;\n newEntry = nodeId;\n }\n }\n this.entryPoint = newEntry;\n this.maxLevel = maxLevel;\n }\n }\n }\n\n async search(query: number[], k: number, threshold = 0.5): Promise<VectorSearchResult[]> {\n if (this.entryPoint === null || this.nodes.size === 0) {\n return [];\n }\n\n if (query.length !== this.dimension) {\n throw new Error(`Query dimension mismatch: expected ${this.dimension}, got ${query.length}`);\n }\n\n let currentNode = this.entryPoint;\n\n for (let l = this.maxLevel; l > 0; l--) {\n const closest = this.searchLayer(query, currentNode, 1, l);\n const closestNode = closest[0];\n if (closestNode) {\n currentNode = closestNode.id;\n }\n }\n\n const results = this.searchLayer(query, currentNode, Math.max(k, this.config.efSearch), 0);\n\n return results\n .slice(0, k)\n .filter((r) => 1 - r.distance >= threshold)\n .map((r) => ({\n id: r.id,\n distance: r.distance,\n similarity: 1 - r.distance,\n }));\n }\n\n async clear(): Promise<void> {\n this.nodes.clear();\n this.entryPoint = null;\n this.maxLevel = 0;\n }\n\n size(): number {\n return this.nodes.size;\n }\n}\n",
|
|
13
|
+
"export interface IStorage {\n init(): Promise<void>;\n close(): Promise<void>;\n isReady(): Promise<boolean>;\n get<T>(collection: string, id: string): Promise<T | null>;\n getAll<T>(collection: string): Promise<T[]>;\n getWhere<T>(collection: string, predicate: (item: T) => boolean): Promise<T[]>;\n set<T>(collection: string, id: string, data: T): Promise<void>;\n delete(collection: string, id: string): Promise<boolean>;\n deleteMany(collection: string, ids: string[]): Promise<void>;\n deleteWhere<T = Record<string, unknown>>(\n collection: string,\n predicate: (item: T) => boolean\n ): Promise<void>;\n count<T = Record<string, unknown>>(\n collection: string,\n predicate?: (item: T) => boolean\n ): Promise<number>;\n clear(): Promise<void>;\n}\n\nexport interface IVectorStorage {\n init(dimension: number): Promise<void>;\n add(id: string, vector: number[]): Promise<void>;\n remove(id: string): Promise<void>;\n search(query: number[], k: number, threshold?: number): Promise<VectorSearchResult[]>;\n clear(): Promise<void>;\n}\n\nexport interface VectorSearchResult {\n id: string;\n distance: number;\n similarity: number;\n}\n\nexport const COLLECTIONS = {\n AGENTS: \"agents\",\n ENTITIES: \"entities\",\n MEMORIES: \"memories\",\n ROOMS: \"rooms\",\n WORLDS: \"worlds\",\n COMPONENTS: \"components\",\n RELATIONSHIPS: \"relationships\",\n PARTICIPANTS: \"participants\",\n TASKS: \"tasks\",\n CACHE: \"cache\",\n LOGS: \"logs\",\n EMBEDDINGS: \"embeddings\",\n PAIRING_REQUESTS: \"pairing_requests\",\n PAIRING_ALLOWLIST: \"pairing_allowlist\",\n} as const;\n\nexport type CollectionName = (typeof COLLECTIONS)[keyof typeof COLLECTIONS];\n",
|
|
14
|
+
"import type { IStorage } from \"./types\";\n\nexport class MemoryStorage implements IStorage {\n private collections: Map<string, Map<string, unknown>> = new Map();\n private ready = false;\n\n async init(): Promise<void> {\n this.ready = true;\n }\n\n async close(): Promise<void> {\n this.collections.clear();\n this.ready = false;\n }\n\n async isReady(): Promise<boolean> {\n return this.ready;\n }\n\n private getCollection(collection: string): Map<string, unknown> {\n this.assertReady();\n let col = this.collections.get(collection);\n if (!col) {\n col = new Map();\n this.collections.set(collection, col);\n }\n return col;\n }\n\n private assertReady(): void {\n if (!this.ready) {\n throw new Error(\"MemoryStorage is not initialized\");\n }\n }\n\n async get<T>(collection: string, id: string): Promise<T | null> {\n const col = this.getCollection(collection);\n const item = col.get(id);\n return item !== undefined ? (item as T) : null;\n }\n\n async getAll<T>(collection: string): Promise<T[]> {\n const col = this.getCollection(collection);\n return Array.from(col.values()) as T[];\n }\n\n async getWhere<T>(collection: string, predicate: (item: T) => boolean): Promise<T[]> {\n const all = await this.getAll<T>(collection);\n return all.filter(predicate);\n }\n\n async set<T>(collection: string, id: string, data: T): Promise<void> {\n const col = this.getCollection(collection);\n col.set(id, data);\n }\n\n async delete(collection: string, id: string): Promise<boolean> {\n const col = this.getCollection(collection);\n return col.delete(id);\n }\n\n async deleteMany(collection: string, ids: string[]): Promise<void> {\n const col = this.getCollection(collection);\n for (const id of ids) {\n col.delete(id);\n }\n }\n\n async deleteWhere<T = Record<string, unknown>>(\n collection: string,\n predicate: (item: T) => boolean\n ): Promise<void> {\n const col = this.getCollection(collection);\n const toDelete: string[] = [];\n\n for (const [id, item] of col) {\n if (predicate(item as T)) {\n toDelete.push(id);\n }\n }\n\n for (const id of toDelete) {\n col.delete(id);\n }\n }\n\n async count<T = Record<string, unknown>>(\n collection: string,\n predicate?: (item: T) => boolean\n ): Promise<number> {\n const col = this.getCollection(collection);\n\n if (!predicate) {\n return col.size;\n }\n\n let count = 0;\n for (const item of col.values()) {\n if (predicate(item as T)) {\n count++;\n }\n }\n return count;\n }\n\n async clear(): Promise<void> {\n this.assertReady();\n this.collections.clear();\n }\n}\n",
|
|
15
|
+
"import plugin from \"./index\";\n\nexport * from \"./index\";\nexport default plugin;\n"
|
|
16
|
+
],
|
|
17
|
+
"mappings": "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AK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KA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oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,mEAAkE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,mEAAkE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,CAAC,EAAC,GAAE,KAAI,EAAC,KAAI,GAAE,QAAO,CAAC,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,mEAAkE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,mEAAkE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,mEAAkE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,mEAAkE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,kEAAiE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,mEAAkE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,kEAAkE,GAAE,CAAC,oEAAmE,iEAAiE,GAAE,CAAC,oEAAmE,k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K,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAA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AAK,MAAI,GAAE,MAAI,UAAS,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,M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I,GAAG,GAAE,MAAI,KAAK,KAAK,KAAI,GAAG,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAA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AK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAK,KAAK,KAAI,GAAG,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,MAAI,MAAI,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GAAG,IAAE,GAAE,KAAG,KAAG,KAAK,KAAK,KAAI,GA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",
|
|
18
|
+
"debugId": "F1E5C6D4F8EE4E8964756E2164756E21",
|
|
19
|
+
"names": []
|
|
20
|
+
}
|