@gardenfi/core 2.0.1 → 2.0.2

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/index.cjs CHANGED
@@ -25,7 +25,7 @@
25
25
  OP_CHECKSIGADD
26
26
  OP_2
27
27
  OP_NUMEQUAL
28
- `.trim().replace(/\s+/g," "))}leaves(){return[{version:In,output:this.redeemLeaf()},[{version:In,output:this.refundLeaf()},{version:In,output:this.instantRefundLeaf()}]]}generateMerkleProofFor(t){const r=this.leafHash(1),n=this.leafHash(2),i=this.leafHash(0);switch(t){case 1:{const s=Zf(i,n);return[be.crypto.taggedHash("TapBranch",Buffer.concat(s))]}case 0:return[n,r];case 2:return[i,r];default:throw new Error($e.invalidLeaf)}}}function Gr(e,t){const r=[];for(let n=0;n<t;n++)r.push(e);return r}class Sh{constructor(){this.cache={}}set(t,r,n,i){const s={txHash:n,timeStamp:Date.now(),btcRedeemUTXO:i};this.cache[`${r}_${t.create_order.create_id}`]=s}get(t,r){return this.cache[`${r}_${t.create_order.create_id}`]||null}remove(t,r){delete this.cache[`${r}_${t.create_order.create_id}`]}}class Na{constructor(t,r){this.url=new ge.Url("/blocknumber/"+r,t)}async fetchBlockNumbers(){try{const t=await N.Fetcher.get(this.url);return N.Ok(t)}catch(t){return N.Err("Failed to fetch block numbers",t)}}}const wo={mainnet:{orderbook:"https://orderbookv2.garden.finance",quote:"https://quotev2.garden.finance",info:"https://infov2.garden.finance"},testnet:{orderbook:"https://orderbook.garden.finance",quote:"https://quote.garden.finance",info:"https://info.garden.finance"},localnet:{}};class Fa{constructor(t){this.quoteUrl=new ge.Url("/quote",t)}async getQuote(t,r,n=!1){try{const i=this.quoteUrl.addSearchParams({order_pair:t,amount:r.toString(),exact_out:n.toString()}),s=await N.Fetcher.get(i);return s.error?N.Err(s.error):s.result?N.Ok(s.result):N.Err("GetQuote: Unexpected error, result is undefined")}catch(i){return N.Err("GetQuote:",String(i))}}async getAttestedQuote(t){try{const r=await N.Fetcher.post(this.quoteUrl.endpoint("/attested").toString(),{body:JSON.stringify(t),headers:{"Content-Type":"application/json"}});return r.error?N.Err(r.error):r.result?N.Ok(r.result):N.Err("GetAttestedQuote: Unexpected error, result is undefined")}catch(r){return console.log("error :",r),N.Err("GetAttestedQuote:",String(r))}}async getStrategies(){try{const t=await N.Fetcher.get(this.quoteUrl.endpoint("/strategies"));if(t.error)return N.Err(t.error);if(!t.result)return N.Err("GetStrategies: Unexpected error, result is undefined");const r={};for(const n of Object.values(t.result)){const i=ea(n.source_chain,n.source_asset.asset,n.dest_chain,n.dest_asset.asset);r[i]={id:n.id,minAmount:n.min_amount,maxAmount:n.max_amount,fee:n.fee}}return N.Ok(r)}catch(t){return N.Err("GetStrategies:",String(t))}}}var Ma={},Ir={},Or={};Object.defineProperty(Or,"__esModule",{value:!0});Or.testnet=Or.bitcoin=void 0;Or.bitcoin={messagePrefix:`Bitcoin Signed Message:
28
+ `.trim().replace(/\s+/g," "))}leaves(){return[{version:In,output:this.redeemLeaf()},[{version:In,output:this.refundLeaf()},{version:In,output:this.instantRefundLeaf()}]]}generateMerkleProofFor(t){const r=this.leafHash(1),n=this.leafHash(2),i=this.leafHash(0);switch(t){case 1:{const s=Zf(i,n);return[be.crypto.taggedHash("TapBranch",Buffer.concat(s))]}case 0:return[n,r];case 2:return[i,r];default:throw new Error($e.invalidLeaf)}}}function Gr(e,t){const r=[];for(let n=0;n<t;n++)r.push(e);return r}class Sh{constructor(){this.cache={}}set(t,r,n,i){const s={txHash:n,timeStamp:Date.now(),btcRedeemUTXO:i};this.cache[`${r}_${t.create_order.create_id}`]=s}get(t,r){return this.cache[`${r}_${t.create_order.create_id}`]||null}remove(t,r){delete this.cache[`${r}_${t.create_order.create_id}`]}}class Na{constructor(t,r){this.url=new ge.Url("/blocknumber/"+r,t)}async fetchBlockNumbers(){try{const t=await N.Fetcher.get(this.url);return N.Ok(t)}catch(t){return N.Err("Failed to fetch block numbers",t)}}}const wo={mainnet:{orderbook:"https://orderbookv2.garden.finance",quote:"https://pricev2.garden.finance",info:"https://infov2.garden.finance"},testnet:{orderbook:"https://orderbook.garden.finance",quote:"https://price.garden.finance",info:"https://info.garden.finance"},localnet:{}};class Fa{constructor(t){this.quoteUrl=new ge.Url("/quote",t)}async getQuote(t,r,n=!1){try{const i=this.quoteUrl.addSearchParams({order_pair:t,amount:r.toString(),exact_out:n.toString()}),s=await N.Fetcher.get(i);return s.error?N.Err(s.error):s.result?N.Ok(s.result):N.Err("GetQuote: Unexpected error, result is undefined")}catch(i){return N.Err("GetQuote:",String(i))}}async getAttestedQuote(t){try{const r=await N.Fetcher.post(this.quoteUrl.endpoint("/attested").toString(),{body:JSON.stringify(t),headers:{"Content-Type":"application/json"}});return r.error?N.Err(r.error):r.result?N.Ok(r.result):N.Err("GetAttestedQuote: Unexpected error, result is undefined")}catch(r){return console.log("error :",r),N.Err("GetAttestedQuote:",String(r))}}async getStrategies(){try{const t=await N.Fetcher.get(this.quoteUrl.endpoint("/strategies"));if(t.error)return N.Err(t.error);if(!t.result)return N.Err("GetStrategies: Unexpected error, result is undefined");const r={};for(const n of Object.values(t.result)){const i=ea(n.source_chain,n.source_asset.asset,n.dest_chain,n.dest_asset.asset);r[i]={id:n.id,minAmount:n.min_amount,maxAmount:n.max_amount,fee:n.fee}}return N.Ok(r)}catch(t){return N.Err("GetStrategies:",String(t))}}}var Ma={},Ir={},Or={};Object.defineProperty(Or,"__esModule",{value:!0});Or.testnet=Or.bitcoin=void 0;Or.bitcoin={messagePrefix:`Bitcoin Signed Message:
29
29
  `,bech32:"bc",bip32:{public:76067358,private:76066276},pubKeyHash:0,scriptHash:5,wif:128};Or.testnet={messagePrefix:`Bitcoin Signed Message:
30
30
  `,bech32:"tb",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};var Ha={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.maybe=e.Boolean=e.Array=e.Buffer256bit=e.Network=e.typeforce=void 0,e.typeforce=ca,e.Network=e.typeforce.compile({messagePrefix:e.typeforce.oneOf(e.typeforce.Buffer,e.typeforce.String),bip32:{public:e.typeforce.UInt32,private:e.typeforce.UInt32},pubKeyHash:e.typeforce.UInt8,scriptHash:e.typeforce.UInt8,wif:e.typeforce.UInt8}),e.Buffer256bit=e.typeforce.BufferN(32),e.Array=e.typeforce.Array,e.Boolean=e.typeforce.Boolean,e.maybe=e.typeforce.maybe})(Ha);var ts={exports:{}},rs={exports:{}};/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */(function(e,t){var r=Pt,n=r.Buffer;function i(o,a){for(var c in o)a[c]=o[c]}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?e.exports=r:(i(r,t),t.Buffer=s);function s(o,a,c){return n(o,a,c)}s.prototype=Object.create(n.prototype),i(n,s),s.from=function(o,a,c){if(typeof o=="number")throw new TypeError("Argument must not be a number");return n(o,a,c)},s.alloc=function(o,a,c){if(typeof o!="number")throw new TypeError("Argument must be a number");var l=n(o);return a!==void 0?typeof c=="string"?l.fill(a,c):l.fill(a):l.fill(0),l},s.allocUnsafe=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return n(o)},s.allocUnsafeSlow=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return r.SlowBuffer(o)}})(rs,rs.exports);var Ge=rs.exports,Li=65536,Bh=4294967295;function Ph(){throw new Error(`Secure random number generation is not supported by this browser.
31
31
  Use Chrome, Firefox or Internet Explorer 11`)}var Th=Ge.Buffer,Vn=Ht.crypto||Ht.msCrypto;Vn&&Vn.getRandomValues?ts.exports=Ah:ts.exports=Ph;function Ah(e,t){if(e>Bh)throw new RangeError("requested too many random bytes");var r=Th.allocUnsafe(e);if(e>0)if(e>Li)for(var n=0;n<e;n+=Li)Vn.getRandomValues(r.slice(n,n+Li));else Vn.getRandomValues(r);return typeof t=="function"?process.nextTick(function(){t(null,r)}):r}var Ih=ts.exports,ns={exports:{}};typeof Object.create=="function"?ns.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:ns.exports=function(t,r){if(r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t}};var Oe=ns.exports,is={exports:{}},ks={exports:{}},Sr=typeof Reflect=="object"?Reflect:null,go=Sr&&typeof Sr.apply=="function"?Sr.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},Mn;Sr&&typeof Sr.ownKeys=="function"?Mn=Sr.ownKeys:Object.getOwnPropertySymbols?Mn=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Mn=function(t){return Object.getOwnPropertyNames(t)};function Oh(e){console&&console.warn&&console.warn(e)}var $a=Number.isNaN||function(t){return t!==t};function re(){re.init.call(this)}ks.exports=re;ks.exports.once=Ch;re.EventEmitter=re;re.prototype._events=void 0;re.prototype._eventsCount=0;re.prototype._maxListeners=void 0;var mo=10;function fi(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(re,"defaultMaxListeners",{enumerable:!0,get:function(){return mo},set:function(e){if(typeof e!="number"||e<0||$a(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");mo=e}});re.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};re.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||$a(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function Da(e){return e._maxListeners===void 0?re.defaultMaxListeners:e._maxListeners}re.prototype.getMaxListeners=function(){return Da(this)};re.prototype.emit=function(t){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=t==="error",s=this._events;if(s!==void 0)i=i&&s.error===void 0;else if(!i)return!1;if(i){var o;if(r.length>0&&(o=r[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var c=s[t];if(c===void 0)return!1;if(typeof c=="function")go(c,this,r);else for(var l=c.length,d=za(c,l),n=0;n<l;++n)go(d[n],this,r);return!0};function ja(e,t,r,n){var i,s,o;if(fi(r),s=e._events,s===void 0?(s=e._events=Object.create(null),e._eventsCount=0):(s.newListener!==void 0&&(e.emit("newListener",t,r.listener?r.listener:r),s=e._events),o=s[t]),o===void 0)o=s[t]=r,++e._eventsCount;else if(typeof o=="function"?o=s[t]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),i=Da(e),i>0&&o.length>i&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=e,a.type=t,a.count=o.length,Oh(a)}return e}re.prototype.addListener=function(t,r){return ja(this,t,r,!1)};re.prototype.on=re.prototype.addListener;re.prototype.prependListener=function(t,r){return ja(this,t,r,!0)};function kh(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Ga(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=kh.bind(n);return i.listener=r,n.wrapFn=i,i}re.prototype.once=function(t,r){return fi(r),this.on(t,Ga(this,t,r)),this};re.prototype.prependOnceListener=function(t,r){return fi(r),this.prependListener(t,Ga(this,t,r)),this};re.prototype.removeListener=function(t,r){var n,i,s,o,a;if(fi(r),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,n.listener||r));else if(typeof n!="function"){for(s=-1,o=n.length-1;o>=0;o--)if(n[o]===r||n[o].listener===r){a=n[o].listener,s=o;break}if(s<0)return this;s===0?n.shift():Rh(n,s),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,a||r)}return this};re.prototype.off=re.prototype.removeListener;re.prototype.removeAllListeners=function(t){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),this;if(arguments.length===0){var s=Object.keys(n),o;for(i=0;i<s.length;++i)o=s[i],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[t],typeof r=="function")this.removeListener(t,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(t,r[i]);return this};function Va(e,t,r){var n=e._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?Uh(i):za(i,i.length)}re.prototype.listeners=function(t){return Va(this,t,!0)};re.prototype.rawListeners=function(t){return Va(this,t,!1)};re.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):Wa.call(e,t)};re.prototype.listenerCount=Wa;function Wa(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}re.prototype.eventNames=function(){return this._eventsCount>0?Mn(this._events):[]};function za(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function Rh(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function Uh(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}function Ch(e,t){return new Promise(function(r,n){function i(o){e.removeListener(t,s),n(o)}function s(){typeof e.removeListener=="function"&&e.removeListener("error",i),r([].slice.call(arguments))}qa(e,t,s,{once:!0}),t!=="error"&&Lh(e,i,{once:!0})})}function Lh(e,t,r){typeof e.on=="function"&&qa(e,"error",t,r)}function qa(e,t,r,n){if(typeof e.on=="function")n.once?e.once(t,r):e.on(t,r);else if(typeof e.addEventListener=="function")e.addEventListener(t,function i(s){n.once&&e.removeEventListener(t,i),r(s)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e)}var Ka=ks.exports,Ya=Ka.EventEmitter;const Nh={},Fh=Object.freeze(Object.defineProperty({__proto__:null,default:Nh},Symbol.toStringTag,{value:"Module"})),Rs=na(Fh);var Ni,_o;function Mh(){if(_o)return Ni;_o=1;function e(O,B){var A=Object.keys(O);if(Object.getOwnPropertySymbols){var k=Object.getOwnPropertySymbols(O);B&&(k=k.filter(function(U){return Object.getOwnPropertyDescriptor(O,U).enumerable})),A.push.apply(A,k)}return A}function t(O){for(var B=1;B<arguments.length;B++){var A=arguments[B]!=null?arguments[B]:{};B%2?e(Object(A),!0).forEach(function(k){r(O,k,A[k])}):Object.getOwnPropertyDescriptors?Object.defineProperties(O,Object.getOwnPropertyDescriptors(A)):e(Object(A)).forEach(function(k){Object.defineProperty(O,k,Object.getOwnPropertyDescriptor(A,k))})}return O}function r(O,B,A){return B=o(B),B in O?Object.defineProperty(O,B,{value:A,enumerable:!0,configurable:!0,writable:!0}):O[B]=A,O}function n(O,B){if(!(O instanceof B))throw new TypeError("Cannot call a class as a function")}function i(O,B){for(var A=0;A<B.length;A++){var k=B[A];k.enumerable=k.enumerable||!1,k.configurable=!0,"value"in k&&(k.writable=!0),Object.defineProperty(O,o(k.key),k)}}function s(O,B,A){return B&&i(O.prototype,B),Object.defineProperty(O,"prototype",{writable:!1}),O}function o(O){var B=a(O,"string");return typeof B=="symbol"?B:String(B)}function a(O,B){if(typeof O!="object"||O===null)return O;var A=O[Symbol.toPrimitive];if(A!==void 0){var k=A.call(O,B||"default");if(typeof k!="object")return k;throw new TypeError("@@toPrimitive must return a primitive value.")}return(B==="string"?String:Number)(O)}var c=Pt,l=c.Buffer,d=Rs,g=d.inspect,x=g&&g.custom||"inspect";function y(O,B,A){l.prototype.copy.call(O,B,A)}return Ni=function(){function O(){n(this,O),this.head=null,this.tail=null,this.length=0}return s(O,[{key:"push",value:function(A){var k={data:A,next:null};this.length>0?this.tail.next=k:this.head=k,this.tail=k,++this.length}},{key:"unshift",value:function(A){var k={data:A,next:this.head};this.length===0&&(this.tail=k),this.head=k,++this.length}},{key:"shift",value:function(){if(this.length!==0){var A=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,A}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(A){if(this.length===0)return"";for(var k=this.head,U=""+k.data;k=k.next;)U+=A+k.data;return U}},{key:"concat",value:function(A){if(this.length===0)return l.alloc(0);for(var k=l.allocUnsafe(A>>>0),U=this.head,_=0;U;)y(U.data,k,_),_+=U.data.length,U=U.next;return k}},{key:"consume",value:function(A,k){var U;return A<this.head.data.length?(U=this.head.data.slice(0,A),this.head.data=this.head.data.slice(A)):A===this.head.data.length?U=this.shift():U=k?this._getString(A):this._getBuffer(A),U}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(A){var k=this.head,U=1,_=k.data;for(A-=_.length;k=k.next;){var m=k.data,S=A>m.length?m.length:A;if(S===m.length?_+=m:_+=m.slice(0,A),A-=S,A===0){S===m.length?(++U,k.next?this.head=k.next:this.head=this.tail=null):(this.head=k,k.data=m.slice(S));break}++U}return this.length-=U,_}},{key:"_getBuffer",value:function(A){var k=l.allocUnsafe(A),U=this.head,_=1;for(U.data.copy(k),A-=U.data.length;U=U.next;){var m=U.data,S=A>m.length?m.length:A;if(m.copy(k,k.length-A,0,S),A-=S,A===0){S===m.length?(++_,U.next?this.head=U.next:this.head=this.tail=null):(this.head=U,U.data=m.slice(S));break}++_}return this.length-=_,k}},{key:x,value:function(A,k){return g(this,t(t({},k),{},{depth:0,customInspect:!1}))}}]),O}(),Ni}function Hh(e,t){var r=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(ss,this,e)):process.nextTick(ss,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(s){!t&&s?r._writableState?r._writableState.errorEmitted?process.nextTick(Hn,r):(r._writableState.errorEmitted=!0,process.nextTick(Eo,r,s)):process.nextTick(Eo,r,s):t?(process.nextTick(Hn,r),t(s)):process.nextTick(Hn,r)}),this)}function Eo(e,t){ss(e,t),Hn(e)}function Hn(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function $h(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function ss(e,t){e.emit("error",t)}function Dh(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit("error",t)}var Xa={destroy:Hh,undestroy:$h,errorOrDestroy:Dh},ar={};function jh(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var Ja={};function Qe(e,t,r){r||(r=Error);function n(s,o,a){return typeof t=="string"?t:t(s,o,a)}var i=function(s){jh(o,s);function o(a,c,l){return s.call(this,n(a,c,l))||this}return o}(r);i.prototype.name=r.name,i.prototype.code=e,Ja[e]=i}function vo(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map(function(n){return String(n)}),r>2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:r===2?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}else return"of ".concat(t," ").concat(String(e))}function Gh(e,t,r){return e.substr(0,t.length)===t}function Vh(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function Wh(e,t,r){return typeof r!="number"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}Qe("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError);Qe("ERR_INVALID_ARG_TYPE",function(e,t,r){var n;typeof t=="string"&&Gh(t,"not ")?(n="must not be",t=t.replace(/^not /,"")):n="must be";var i;if(Vh(e," argument"))i="The ".concat(e," ").concat(n," ").concat(vo(t,"type"));else{var s=Wh(e,".")?"property":"argument";i='The "'.concat(e,'" ').concat(s," ").concat(n," ").concat(vo(t,"type"))}return i+=". Received type ".concat(typeof r),i},TypeError);Qe("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Qe("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"});Qe("ERR_STREAM_PREMATURE_CLOSE","Premature close");Qe("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"});Qe("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Qe("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Qe("ERR_STREAM_WRITE_AFTER_END","write after end");Qe("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Qe("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError);Qe("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");ar.codes=Ja;var zh=ar.codes.ERR_INVALID_OPT_VALUE;function qh(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function Kh(e,t,r,n){var i=qh(t,n,r);if(i!=null){if(!(isFinite(i)&&Math.floor(i)===i)||i<0){var s=n?r:"highWaterMark";throw new zh(s,i)}return Math.floor(i)}return e.objectMode?16:16*1024}var Qa={getHighWaterMark:Kh},Yh=Xh;function Xh(e,t){if(Fi("noDeprecation"))return e;var r=!1;function n(){if(!r){if(Fi("throwDeprecation"))throw new Error(t);Fi("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}return n}function Fi(e){try{if(!Ht.localStorage)return!1}catch{return!1}var t=Ht.localStorage[e];return t==null?!1:String(t).toLowerCase()==="true"}var Mi,xo;function Za(){if(xo)return Mi;xo=1,Mi=j;function e(T){var P=this;this.next=null,this.entry=null,this.finish=function(){dt(P,T)}}var t;j.WritableState=v;var r={deprecate:Yh},n=Ya,i=Pt.Buffer,s=(typeof Ht<"u"?Ht:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function o(T){return i.from(T)}function a(T){return i.isBuffer(T)||T instanceof s}var c=Xa,l=Qa,d=l.getHighWaterMark,g=ar.codes,x=g.ERR_INVALID_ARG_TYPE,y=g.ERR_METHOD_NOT_IMPLEMENTED,O=g.ERR_MULTIPLE_CALLBACK,B=g.ERR_STREAM_CANNOT_PIPE,A=g.ERR_STREAM_DESTROYED,k=g.ERR_STREAM_NULL_VALUES,U=g.ERR_STREAM_WRITE_AFTER_END,_=g.ERR_UNKNOWN_ENCODING,m=c.errorOrDestroy;Oe(j,n);function S(){}function v(T,P,M){t=t||kr(),T=T||{},typeof M!="boolean"&&(M=P instanceof t),this.objectMode=!!T.objectMode,M&&(this.objectMode=this.objectMode||!!T.writableObjectMode),this.highWaterMark=d(this,T,"writableHighWaterMark",M),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var G=T.decodeStrings===!1;this.decodeStrings=!G,this.defaultEncoding=T.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(K){oe(P,K)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=T.emitClose!==!1,this.autoDestroy=!!T.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new e(this)}v.prototype.getBuffer=function(){for(var P=this.bufferedRequest,M=[];P;)M.push(P),P=P.next;return M},function(){try{Object.defineProperty(v.prototype,"buffer",{get:r.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}();var $;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?($=Function.prototype[Symbol.hasInstance],Object.defineProperty(j,Symbol.hasInstance,{value:function(P){return $.call(this,P)?!0:this!==j?!1:P&&P._writableState instanceof v}})):$=function(P){return P instanceof this};function j(T){t=t||kr();var P=this instanceof t;if(!P&&!$.call(j,this))return new j(T);this._writableState=new v(T,this,P),this.writable=!0,T&&(typeof T.write=="function"&&(this._write=T.write),typeof T.writev=="function"&&(this._writev=T.writev),typeof T.destroy=="function"&&(this._destroy=T.destroy),typeof T.final=="function"&&(this._final=T.final)),n.call(this)}j.prototype.pipe=function(){m(this,new B)};function R(T,P){var M=new U;m(T,M),process.nextTick(P,M)}function z(T,P,M,G){var K;return M===null?K=new k:typeof M!="string"&&!P.objectMode&&(K=new x("chunk",["string","Buffer"],M)),K?(m(T,K),process.nextTick(G,K),!1):!0}j.prototype.write=function(T,P,M){var G=this._writableState,K=!1,b=!G.objectMode&&a(T);return b&&!i.isBuffer(T)&&(T=o(T)),typeof P=="function"&&(M=P,P=null),b?P="buffer":P||(P=G.defaultEncoding),typeof M!="function"&&(M=S),G.ending?R(this,M):(b||z(this,G,T,M))&&(G.pendingcb++,K=C(this,G,b,T,P,M)),K},j.prototype.cork=function(){this._writableState.corked++},j.prototype.uncork=function(){var T=this._writableState;T.corked&&(T.corked--,!T.writing&&!T.corked&&!T.bufferProcessing&&T.bufferedRequest&&Ve(this,T))},j.prototype.setDefaultEncoding=function(P){if(typeof P=="string"&&(P=P.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((P+"").toLowerCase())>-1))throw new _(P);return this._writableState.defaultEncoding=P,this},Object.defineProperty(j.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function Z(T,P,M){return!T.objectMode&&T.decodeStrings!==!1&&typeof P=="string"&&(P=i.from(P,M)),P}Object.defineProperty(j.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function C(T,P,M,G,K,b){if(!M){var w=Z(P,G,K);G!==w&&(M=!0,K="buffer",G=w)}var F=P.objectMode?1:G.length;P.length+=F;var D=P.length<P.highWaterMark;if(D||(P.needDrain=!0),P.writing||P.corked){var pe=P.lastBufferedRequest;P.lastBufferedRequest={chunk:G,encoding:K,isBuf:M,callback:b,next:null},pe?pe.next=P.lastBufferedRequest:P.bufferedRequest=P.lastBufferedRequest,P.bufferedRequestCount+=1}else H(T,P,!1,F,G,K,b);return D}function H(T,P,M,G,K,b,w){P.writelen=G,P.writecb=w,P.writing=!0,P.sync=!0,P.destroyed?P.onwrite(new A("write")):M?T._writev(K,P.onwrite):T._write(K,b,P.onwrite),P.sync=!1}function V(T,P,M,G,K){--P.pendingcb,M?(process.nextTick(K,G),process.nextTick(We,T,P),T._writableState.errorEmitted=!0,m(T,G)):(K(G),T._writableState.errorEmitted=!0,m(T,G),We(T,P))}function q(T){T.writing=!1,T.writecb=null,T.length-=T.writelen,T.writelen=0}function oe(T,P){var M=T._writableState,G=M.sync,K=M.writecb;if(typeof K!="function")throw new O;if(q(M),P)V(T,M,G,P,K);else{var b=nt(M)||T.destroyed;!b&&!M.corked&&!M.bufferProcessing&&M.bufferedRequest&&Ve(T,M),G?process.nextTick(ae,T,M,b,K):ae(T,M,b,K)}}function ae(T,P,M,G){M||Ze(T,P),P.pendingcb--,G(),We(T,P)}function Ze(T,P){P.length===0&&P.needDrain&&(P.needDrain=!1,T.emit("drain"))}function Ve(T,P){P.bufferProcessing=!0;var M=P.bufferedRequest;if(T._writev&&M&&M.next){var G=P.bufferedRequestCount,K=new Array(G),b=P.corkedRequestsFree;b.entry=M;for(var w=0,F=!0;M;)K[w]=M,M.isBuf||(F=!1),M=M.next,w+=1;K.allBuffers=F,H(T,P,!0,P.length,K,"",b.finish),P.pendingcb++,P.lastBufferedRequest=null,b.next?(P.corkedRequestsFree=b.next,b.next=null):P.corkedRequestsFree=new e(P),P.bufferedRequestCount=0}else{for(;M;){var D=M.chunk,pe=M.encoding,Y=M.callback,te=P.objectMode?1:D.length;if(H(T,P,!1,te,D,pe,Y),M=M.next,P.bufferedRequestCount--,P.writing)break}M===null&&(P.lastBufferedRequest=null)}P.bufferedRequest=M,P.bufferProcessing=!1}j.prototype._write=function(T,P,M){M(new y("_write()"))},j.prototype._writev=null,j.prototype.end=function(T,P,M){var G=this._writableState;return typeof T=="function"?(M=T,T=null,P=null):typeof P=="function"&&(M=P,P=null),T!=null&&this.write(T,P),G.corked&&(G.corked=1,this.uncork()),G.ending||Tt(this,G,M),this},Object.defineProperty(j.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function nt(T){return T.ending&&T.length===0&&T.bufferedRequest===null&&!T.finished&&!T.writing}function de(T,P){T._final(function(M){P.pendingcb--,M&&m(T,M),P.prefinished=!0,T.emit("prefinish"),We(T,P)})}function ve(T,P){!P.prefinished&&!P.finalCalled&&(typeof T._final=="function"&&!P.destroyed?(P.pendingcb++,P.finalCalled=!0,process.nextTick(de,T,P)):(P.prefinished=!0,T.emit("prefinish")))}function We(T,P){var M=nt(P);if(M&&(ve(T,P),P.pendingcb===0&&(P.finished=!0,T.emit("finish"),P.autoDestroy))){var G=T._readableState;(!G||G.autoDestroy&&G.endEmitted)&&T.destroy()}return M}function Tt(T,P,M){P.ending=!0,We(T,P),M&&(P.finished?process.nextTick(M):T.once("finish",M)),P.ended=!0,T.writable=!1}function dt(T,P,M){var G=T.entry;for(T.entry=null;G;){var K=G.callback;P.pendingcb--,K(M),G=G.next}P.corkedRequestsFree.next=T}return Object.defineProperty(j.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(P){this._writableState&&(this._writableState.destroyed=P)}}),j.prototype.destroy=c.destroy,j.prototype._undestroy=c.undestroy,j.prototype._destroy=function(T,P){P(T)},Mi}var Hi,So;function kr(){if(So)return Hi;So=1;var e=Object.keys||function(l){var d=[];for(var g in l)d.push(g);return d};Hi=o;var t=tf(),r=Za();Oe(o,t);for(var n=e(r.prototype),i=0;i<n.length;i++){var s=n[i];o.prototype[s]||(o.prototype[s]=r.prototype[s])}function o(l){if(!(this instanceof o))return new o(l);t.call(this,l),r.call(this,l),this.allowHalfOpen=!0,l&&(l.readable===!1&&(this.readable=!1),l.writable===!1&&(this.writable=!1),l.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once("end",a)))}Object.defineProperty(o.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(o.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(o.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function a(){this._writableState.ended||process.nextTick(c,this)}function c(l){l.end()}return Object.defineProperty(o.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(d){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=d,this._writableState.destroyed=d)}}),Hi}var Wn={},Us=Ge.Buffer,Bo=Us.isEncoding||function(e){switch(e=""+e,e&&e.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 Jh(e){if(!e)return"utf8";for(var t;;)switch(e){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 e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}function Qh(e){var t=Jh(e);if(typeof t!="string"&&(Us.isEncoding===Bo||!Bo(e)))throw new Error("Unknown encoding: "+e);return t||e}Wn.StringDecoder=yn;function yn(e){this.encoding=Qh(e);var t;switch(this.encoding){case"utf16le":this.text=il,this.end=sl,t=4;break;case"utf8":this.fillLast=tl,t=4;break;case"base64":this.text=ol,this.end=al,t=3;break;default:this.write=fl,this.end=ul;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=Us.allocUnsafe(t)}yn.prototype.write=function(e){if(e.length===0)return"";var t,r;if(this.lastNeed){if(t=this.fillLast(e),t===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<e.length?t?t+this.text(e,r):this.text(e,r):t||""};yn.prototype.end=nl;yn.prototype.text=rl;yn.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length};function $i(e){return e<=127?0:e>>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function Zh(e,t,r){var n=t.length-1;if(n<r)return 0;var i=$i(t[n]);return i>=0?(i>0&&(e.lastNeed=i-1),i):--n<r||i===-2?0:(i=$i(t[n]),i>=0?(i>0&&(e.lastNeed=i-2),i):--n<r||i===-2?0:(i=$i(t[n]),i>=0?(i>0&&(i===2?i=0:e.lastNeed=i-3),i):0))}function el(e,t,r){if((t[0]&192)!==128)return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128)return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&(t[2]&192)!==128)return e.lastNeed=2,"�"}}function tl(e){var t=this.lastTotal-this.lastNeed,r=el(this,e);if(r!==void 0)return r;if(this.lastNeed<=e.length)return e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length}function rl(e,t){var r=Zh(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)}function nl(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�":t}function il(e,t){if((e.length-t)%2===0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function sl(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function ol(e,t){var r=(e.length-t)%3;return r===0?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function al(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function fl(e){return e.toString(this.encoding)}function ul(e){return e&&e.length?this.write(e):""}var Po=ar.codes.ERR_STREAM_PREMATURE_CLOSE;function cl(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];e.apply(this,n)}}}function hl(){}function ll(e){return e.setHeader&&typeof e.abort=="function"}function ef(e,t,r){if(typeof t=="function")return ef(e,null,t);t||(t={}),r=cl(r||hl);var n=t.readable||t.readable!==!1&&e.readable,i=t.writable||t.writable!==!1&&e.writable,s=function(){e.writable||a()},o=e._writableState&&e._writableState.finished,a=function(){i=!1,o=!0,n||r.call(e)},c=e._readableState&&e._readableState.endEmitted,l=function(){n=!1,c=!0,i||r.call(e)},d=function(O){r.call(e,O)},g=function(){var O;if(n&&!c)return(!e._readableState||!e._readableState.ended)&&(O=new Po),r.call(e,O);if(i&&!o)return(!e._writableState||!e._writableState.ended)&&(O=new Po),r.call(e,O)},x=function(){e.req.on("finish",a)};return ll(e)?(e.on("complete",a),e.on("abort",g),e.req?x():e.on("request",x)):i&&!e._writableState&&(e.on("end",s),e.on("close",s)),e.on("end",l),e.on("finish",a),t.error!==!1&&e.on("error",d),e.on("close",g),function(){e.removeListener("complete",a),e.removeListener("abort",g),e.removeListener("request",x),e.req&&e.req.removeListener("finish",a),e.removeListener("end",s),e.removeListener("close",s),e.removeListener("finish",a),e.removeListener("end",l),e.removeListener("error",d),e.removeListener("close",g)}}var Cs=ef,Di,To;function dl(){if(To)return Di;To=1;var e;function t(_,m,S){return m=r(m),m in _?Object.defineProperty(_,m,{value:S,enumerable:!0,configurable:!0,writable:!0}):_[m]=S,_}function r(_){var m=n(_,"string");return typeof m=="symbol"?m:String(m)}function n(_,m){if(typeof _!="object"||_===null)return _;var S=_[Symbol.toPrimitive];if(S!==void 0){var v=S.call(_,m||"default");if(typeof v!="object")return v;throw new TypeError("@@toPrimitive must return a primitive value.")}return(m==="string"?String:Number)(_)}var i=Cs,s=Symbol("lastResolve"),o=Symbol("lastReject"),a=Symbol("error"),c=Symbol("ended"),l=Symbol("lastPromise"),d=Symbol("handlePromise"),g=Symbol("stream");function x(_,m){return{value:_,done:m}}function y(_){var m=_[s];if(m!==null){var S=_[g].read();S!==null&&(_[l]=null,_[s]=null,_[o]=null,m(x(S,!1)))}}function O(_){process.nextTick(y,_)}function B(_,m){return function(S,v){_.then(function(){if(m[c]){S(x(void 0,!0));return}m[d](S,v)},v)}}var A=Object.getPrototypeOf(function(){}),k=Object.setPrototypeOf((e={get stream(){return this[g]},next:function(){var m=this,S=this[a];if(S!==null)return Promise.reject(S);if(this[c])return Promise.resolve(x(void 0,!0));if(this[g].destroyed)return new Promise(function(R,z){process.nextTick(function(){m[a]?z(m[a]):R(x(void 0,!0))})});var v=this[l],$;if(v)$=new Promise(B(v,this));else{var j=this[g].read();if(j!==null)return Promise.resolve(x(j,!1));$=new Promise(this[d])}return this[l]=$,$}},t(e,Symbol.asyncIterator,function(){return this}),t(e,"return",function(){var m=this;return new Promise(function(S,v){m[g].destroy(null,function($){if($){v($);return}S(x(void 0,!0))})})}),e),A),U=function(m){var S,v=Object.create(k,(S={},t(S,g,{value:m,writable:!0}),t(S,s,{value:null,writable:!0}),t(S,o,{value:null,writable:!0}),t(S,a,{value:null,writable:!0}),t(S,c,{value:m._readableState.endEmitted,writable:!0}),t(S,d,{value:function(j,R){var z=v[g].read();z?(v[l]=null,v[s]=null,v[o]=null,j(x(z,!1))):(v[s]=j,v[o]=R)},writable:!0}),S));return v[l]=null,i(m,function($){if($&&$.code!=="ERR_STREAM_PREMATURE_CLOSE"){var j=v[o];j!==null&&(v[l]=null,v[s]=null,v[o]=null,j($)),v[a]=$;return}var R=v[s];R!==null&&(v[l]=null,v[s]=null,v[o]=null,R(x(void 0,!0))),v[c]=!0}),m.on("readable",O.bind(null,v)),v};return Di=U,Di}var ji,Ao;function pl(){return Ao||(Ao=1,ji=function(){throw new Error("Readable.from is not available in the browser")}),ji}var Gi,Io;function tf(){if(Io)return Gi;Io=1,Gi=R;var e;R.ReadableState=j,Ka.EventEmitter;var t=function(w,F){return w.listeners(F).length},r=Ya,n=Pt.Buffer,i=(typeof Ht<"u"?Ht:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function s(b){return n.from(b)}function o(b){return n.isBuffer(b)||b instanceof i}var a=Rs,c;a&&a.debuglog?c=a.debuglog("stream"):c=function(){};var l=Mh(),d=Xa,g=Qa,x=g.getHighWaterMark,y=ar.codes,O=y.ERR_INVALID_ARG_TYPE,B=y.ERR_STREAM_PUSH_AFTER_EOF,A=y.ERR_METHOD_NOT_IMPLEMENTED,k=y.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,U,_,m;Oe(R,r);var S=d.errorOrDestroy,v=["error","close","destroy","pause","resume"];function $(b,w,F){if(typeof b.prependListener=="function")return b.prependListener(w,F);!b._events||!b._events[w]?b.on(w,F):Array.isArray(b._events[w])?b._events[w].unshift(F):b._events[w]=[F,b._events[w]]}function j(b,w,F){e=e||kr(),b=b||{},typeof F!="boolean"&&(F=w instanceof e),this.objectMode=!!b.objectMode,F&&(this.objectMode=this.objectMode||!!b.readableObjectMode),this.highWaterMark=x(this,b,"readableHighWaterMark",F),this.buffer=new l,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=b.emitClose!==!1,this.autoDestroy=!!b.autoDestroy,this.destroyed=!1,this.defaultEncoding=b.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,b.encoding&&(U||(U=Wn.StringDecoder),this.decoder=new U(b.encoding),this.encoding=b.encoding)}function R(b){if(e=e||kr(),!(this instanceof R))return new R(b);var w=this instanceof e;this._readableState=new j(b,this,w),this.readable=!0,b&&(typeof b.read=="function"&&(this._read=b.read),typeof b.destroy=="function"&&(this._destroy=b.destroy)),r.call(this)}Object.defineProperty(R.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(w){this._readableState&&(this._readableState.destroyed=w)}}),R.prototype.destroy=d.destroy,R.prototype._undestroy=d.undestroy,R.prototype._destroy=function(b,w){w(b)},R.prototype.push=function(b,w){var F=this._readableState,D;return F.objectMode?D=!0:typeof b=="string"&&(w=w||F.defaultEncoding,w!==F.encoding&&(b=n.from(b,w),w=""),D=!0),z(this,b,w,!1,D)},R.prototype.unshift=function(b){return z(this,b,null,!0,!1)};function z(b,w,F,D,pe){c("readableAddChunk",w);var Y=b._readableState;if(w===null)Y.reading=!1,oe(b,Y);else{var te;if(pe||(te=C(Y,w)),te)S(b,te);else if(Y.objectMode||w&&w.length>0)if(typeof w!="string"&&!Y.objectMode&&Object.getPrototypeOf(w)!==n.prototype&&(w=s(w)),D)Y.endEmitted?S(b,new k):Z(b,Y,w,!0);else if(Y.ended)S(b,new B);else{if(Y.destroyed)return!1;Y.reading=!1,Y.decoder&&!F?(w=Y.decoder.write(w),Y.objectMode||w.length!==0?Z(b,Y,w,!1):Ve(b,Y)):Z(b,Y,w,!1)}else D||(Y.reading=!1,Ve(b,Y))}return!Y.ended&&(Y.length<Y.highWaterMark||Y.length===0)}function Z(b,w,F,D){w.flowing&&w.length===0&&!w.sync?(w.awaitDrain=0,b.emit("data",F)):(w.length+=w.objectMode?1:F.length,D?w.buffer.unshift(F):w.buffer.push(F),w.needReadable&&ae(b)),Ve(b,w)}function C(b,w){var F;return!o(w)&&typeof w!="string"&&w!==void 0&&!b.objectMode&&(F=new O("chunk",["string","Buffer","Uint8Array"],w)),F}R.prototype.isPaused=function(){return this._readableState.flowing===!1},R.prototype.setEncoding=function(b){U||(U=Wn.StringDecoder);var w=new U(b);this._readableState.decoder=w,this._readableState.encoding=this._readableState.decoder.encoding;for(var F=this._readableState.buffer.head,D="";F!==null;)D+=w.write(F.data),F=F.next;return this._readableState.buffer.clear(),D!==""&&this._readableState.buffer.push(D),this._readableState.length=D.length,this};var H=1073741824;function V(b){return b>=H?b=H:(b--,b|=b>>>1,b|=b>>>2,b|=b>>>4,b|=b>>>8,b|=b>>>16,b++),b}function q(b,w){return b<=0||w.length===0&&w.ended?0:w.objectMode?1:b!==b?w.flowing&&w.length?w.buffer.head.data.length:w.length:(b>w.highWaterMark&&(w.highWaterMark=V(b)),b<=w.length?b:w.ended?w.length:(w.needReadable=!0,0))}R.prototype.read=function(b){c("read",b),b=parseInt(b,10);var w=this._readableState,F=b;if(b!==0&&(w.emittedReadable=!1),b===0&&w.needReadable&&((w.highWaterMark!==0?w.length>=w.highWaterMark:w.length>0)||w.ended))return c("read: emitReadable",w.length,w.ended),w.length===0&&w.ended?M(this):ae(this),null;if(b=q(b,w),b===0&&w.ended)return w.length===0&&M(this),null;var D=w.needReadable;c("need readable",D),(w.length===0||w.length-b<w.highWaterMark)&&(D=!0,c("length less than watermark",D)),w.ended||w.reading?(D=!1,c("reading or ended",D)):D&&(c("do read"),w.reading=!0,w.sync=!0,w.length===0&&(w.needReadable=!0),this._read(w.highWaterMark),w.sync=!1,w.reading||(b=q(F,w)));var pe;return b>0?pe=P(b,w):pe=null,pe===null?(w.needReadable=w.length<=w.highWaterMark,b=0):(w.length-=b,w.awaitDrain=0),w.length===0&&(w.ended||(w.needReadable=!0),F!==b&&w.ended&&M(this)),pe!==null&&this.emit("data",pe),pe};function oe(b,w){if(c("onEofChunk"),!w.ended){if(w.decoder){var F=w.decoder.end();F&&F.length&&(w.buffer.push(F),w.length+=w.objectMode?1:F.length)}w.ended=!0,w.sync?ae(b):(w.needReadable=!1,w.emittedReadable||(w.emittedReadable=!0,Ze(b)))}}function ae(b){var w=b._readableState;c("emitReadable",w.needReadable,w.emittedReadable),w.needReadable=!1,w.emittedReadable||(c("emitReadable",w.flowing),w.emittedReadable=!0,process.nextTick(Ze,b))}function Ze(b){var w=b._readableState;c("emitReadable_",w.destroyed,w.length,w.ended),!w.destroyed&&(w.length||w.ended)&&(b.emit("readable"),w.emittedReadable=!1),w.needReadable=!w.flowing&&!w.ended&&w.length<=w.highWaterMark,T(b)}function Ve(b,w){w.readingMore||(w.readingMore=!0,process.nextTick(nt,b,w))}function nt(b,w){for(;!w.reading&&!w.ended&&(w.length<w.highWaterMark||w.flowing&&w.length===0);){var F=w.length;if(c("maybeReadMore read 0"),b.read(0),F===w.length)break}w.readingMore=!1}R.prototype._read=function(b){S(this,new A("_read()"))},R.prototype.pipe=function(b,w){var F=this,D=this._readableState;switch(D.pipesCount){case 0:D.pipes=b;break;case 1:D.pipes=[D.pipes,b];break;default:D.pipes.push(b);break}D.pipesCount+=1,c("pipe count=%d opts=%j",D.pipesCount,w);var pe=(!w||w.end!==!1)&&b!==process.stdout&&b!==process.stderr,Y=pe?At:zt;D.endEmitted?process.nextTick(Y):F.once("end",Y),b.on("unpipe",te);function te(h,f){c("onunpipe"),h===F&&f&&f.hasUnpiped===!1&&(f.hasUnpiped=!0,hr())}function At(){c("onend"),b.end()}var cr=de(F);b.on("drain",cr);var Nr=!1;function hr(){c("cleanup"),b.removeListener("close",Fr),b.removeListener("finish",Ye),b.removeListener("drain",cr),b.removeListener("error",Wt),b.removeListener("unpipe",te),F.removeListener("end",At),F.removeListener("end",zt),F.removeListener("data",ze),Nr=!0,D.awaitDrain&&(!b._writableState||b._writableState.needDrain)&&cr()}F.on("data",ze);function ze(h){c("ondata");var f=b.write(h);c("dest.write",f),f===!1&&((D.pipesCount===1&&D.pipes===b||D.pipesCount>1&&K(D.pipes,b)!==-1)&&!Nr&&(c("false write response, pause",D.awaitDrain),D.awaitDrain++),F.pause())}function Wt(h){c("onerror",h),zt(),b.removeListener("error",Wt),t(b,"error")===0&&S(b,h)}$(b,"error",Wt);function Fr(){b.removeListener("finish",Ye),zt()}b.once("close",Fr);function Ye(){c("onfinish"),b.removeListener("close",Fr),zt()}b.once("finish",Ye);function zt(){c("unpipe"),F.unpipe(b)}return b.emit("pipe",F),D.flowing||(c("pipe resume"),F.resume()),b};function de(b){return function(){var F=b._readableState;c("pipeOnDrain",F.awaitDrain),F.awaitDrain&&F.awaitDrain--,F.awaitDrain===0&&t(b,"data")&&(F.flowing=!0,T(b))}}R.prototype.unpipe=function(b){var w=this._readableState,F={hasUnpiped:!1};if(w.pipesCount===0)return this;if(w.pipesCount===1)return b&&b!==w.pipes?this:(b||(b=w.pipes),w.pipes=null,w.pipesCount=0,w.flowing=!1,b&&b.emit("unpipe",this,F),this);if(!b){var D=w.pipes,pe=w.pipesCount;w.pipes=null,w.pipesCount=0,w.flowing=!1;for(var Y=0;Y<pe;Y++)D[Y].emit("unpipe",this,{hasUnpiped:!1});return this}var te=K(w.pipes,b);return te===-1?this:(w.pipes.splice(te,1),w.pipesCount-=1,w.pipesCount===1&&(w.pipes=w.pipes[0]),b.emit("unpipe",this,F),this)},R.prototype.on=function(b,w){var F=r.prototype.on.call(this,b,w),D=this._readableState;return b==="data"?(D.readableListening=this.listenerCount("readable")>0,D.flowing!==!1&&this.resume()):b==="readable"&&!D.endEmitted&&!D.readableListening&&(D.readableListening=D.needReadable=!0,D.flowing=!1,D.emittedReadable=!1,c("on readable",D.length,D.reading),D.length?ae(this):D.reading||process.nextTick(We,this)),F},R.prototype.addListener=R.prototype.on,R.prototype.removeListener=function(b,w){var F=r.prototype.removeListener.call(this,b,w);return b==="readable"&&process.nextTick(ve,this),F},R.prototype.removeAllListeners=function(b){var w=r.prototype.removeAllListeners.apply(this,arguments);return(b==="readable"||b===void 0)&&process.nextTick(ve,this),w};function ve(b){var w=b._readableState;w.readableListening=b.listenerCount("readable")>0,w.resumeScheduled&&!w.paused?w.flowing=!0:b.listenerCount("data")>0&&b.resume()}function We(b){c("readable nexttick read 0"),b.read(0)}R.prototype.resume=function(){var b=this._readableState;return b.flowing||(c("resume"),b.flowing=!b.readableListening,Tt(this,b)),b.paused=!1,this};function Tt(b,w){w.resumeScheduled||(w.resumeScheduled=!0,process.nextTick(dt,b,w))}function dt(b,w){c("resume",w.reading),w.reading||b.read(0),w.resumeScheduled=!1,b.emit("resume"),T(b),w.flowing&&!w.reading&&b.read(0)}R.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(c("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function T(b){var w=b._readableState;for(c("flow",w.flowing);w.flowing&&b.read()!==null;);}R.prototype.wrap=function(b){var w=this,F=this._readableState,D=!1;b.on("end",function(){if(c("wrapped end"),F.decoder&&!F.ended){var te=F.decoder.end();te&&te.length&&w.push(te)}w.push(null)}),b.on("data",function(te){if(c("wrapped data"),F.decoder&&(te=F.decoder.write(te)),!(F.objectMode&&te==null)&&!(!F.objectMode&&(!te||!te.length))){var At=w.push(te);At||(D=!0,b.pause())}});for(var pe in b)this[pe]===void 0&&typeof b[pe]=="function"&&(this[pe]=function(At){return function(){return b[At].apply(b,arguments)}}(pe));for(var Y=0;Y<v.length;Y++)b.on(v[Y],this.emit.bind(this,v[Y]));return this._read=function(te){c("wrapped _read",te),D&&(D=!1,b.resume())},this},typeof Symbol=="function"&&(R.prototype[Symbol.asyncIterator]=function(){return _===void 0&&(_=dl()),_(this)}),Object.defineProperty(R.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(R.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(R.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(w){this._readableState&&(this._readableState.flowing=w)}}),R._fromList=P,Object.defineProperty(R.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}});function P(b,w){if(w.length===0)return null;var F;return w.objectMode?F=w.buffer.shift():!b||b>=w.length?(w.decoder?F=w.buffer.join(""):w.buffer.length===1?F=w.buffer.first():F=w.buffer.concat(w.length),w.buffer.clear()):F=w.buffer.consume(b,w.decoder),F}function M(b){var w=b._readableState;c("endReadable",w.endEmitted),w.endEmitted||(w.ended=!0,process.nextTick(G,w,b))}function G(b,w){if(c("endReadableNT",b.endEmitted,b.length),!b.endEmitted&&b.length===0&&(b.endEmitted=!0,w.readable=!1,w.emit("end"),b.autoDestroy)){var F=w._writableState;(!F||F.autoDestroy&&F.finished)&&w.destroy()}}typeof Symbol=="function"&&(R.from=function(b,w){return m===void 0&&(m=pl()),m(R,b,w)});function K(b,w){for(var F=0,D=b.length;F<D;F++)if(b[F]===w)return F;return-1}return Gi}var rf=Bt,ui=ar.codes,yl=ui.ERR_METHOD_NOT_IMPLEMENTED,bl=ui.ERR_MULTIPLE_CALLBACK,wl=ui.ERR_TRANSFORM_ALREADY_TRANSFORMING,gl=ui.ERR_TRANSFORM_WITH_LENGTH_0,ci=kr();Oe(Bt,ci);function ml(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(n===null)return this.emit("error",new bl);r.writechunk=null,r.writecb=null,t!=null&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function Bt(e){if(!(this instanceof Bt))return new Bt(e);ci.call(this,e),this._transformState={afterTransform:ml.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(typeof e.transform=="function"&&(this._transform=e.transform),typeof e.flush=="function"&&(this._flush=e.flush)),this.on("prefinish",_l)}function _l(){var e=this;typeof this._flush=="function"&&!this._readableState.destroyed?this._flush(function(t,r){Oo(e,t,r)}):Oo(this,null,null)}Bt.prototype.push=function(e,t){return this._transformState.needTransform=!1,ci.prototype.push.call(this,e,t)};Bt.prototype._transform=function(e,t,r){r(new yl("_transform()"))};Bt.prototype._write=function(e,t,r){var n=this._transformState;if(n.writecb=r,n.writechunk=e,n.writeencoding=t,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}};Bt.prototype._read=function(e){var t=this._transformState;t.writechunk!==null&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0};Bt.prototype._destroy=function(e,t){ci.prototype._destroy.call(this,e,function(r){t(r)})};function Oo(e,t,r){if(t)return e.emit("error",t);if(r!=null&&e.push(r),e._writableState.length)throw new gl;if(e._transformState.transforming)throw new wl;return e.push(null)}var El=cn,nf=rf;Oe(cn,nf);function cn(e){if(!(this instanceof cn))return new cn(e);nf.call(this,e)}cn.prototype._transform=function(e,t,r){r(null,e)};var Vi;function vl(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var sf=ar.codes,xl=sf.ERR_MISSING_ARGS,Sl=sf.ERR_STREAM_DESTROYED;function ko(e){if(e)throw e}function Bl(e){return e.setHeader&&typeof e.abort=="function"}function Pl(e,t,r,n){n=vl(n);var i=!1;e.on("close",function(){i=!0}),Vi===void 0&&(Vi=Cs),Vi(e,{readable:t,writable:r},function(o){if(o)return n(o);i=!0,n()});var s=!1;return function(o){if(!i&&!s){if(s=!0,Bl(e))return e.abort();if(typeof e.destroy=="function")return e.destroy();n(o||new Sl("pipe"))}}}function Ro(e){e()}function Tl(e,t){return e.pipe(t)}function Al(e){return!e.length||typeof e[e.length-1]!="function"?ko:e.pop()}function Il(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=Al(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new xl("streams");var i,s=t.map(function(o,a){var c=a<t.length-1,l=a>0;return Pl(o,c,l,function(d){i||(i=d),d&&s.forEach(Ro),!c&&(s.forEach(Ro),n(i))})});return t.reduce(Tl)}var Ol=Il;(function(e,t){t=e.exports=tf(),t.Stream=t,t.Readable=t,t.Writable=Za(),t.Duplex=kr(),t.Transform=rf,t.PassThrough=El,t.finished=Cs,t.pipeline=Ol})(is,is.exports);var of=is.exports,zn=Ge.Buffer,af=of.Transform,kl=Oe;function Rl(e,t){if(!zn.isBuffer(e)&&typeof e!="string")throw new TypeError(t+" must be a string or a buffer")}function jt(e){af.call(this),this._block=zn.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}kl(jt,af);jt.prototype._transform=function(e,t,r){var n=null;try{this.update(e,t)}catch(i){n=i}r(n)};jt.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(r){t=r}e(t)};jt.prototype.update=function(e,t){if(Rl(e,"Data"),this._finalized)throw new Error("Digest already called");zn.isBuffer(e)||(e=zn.from(e,t));for(var r=this._block,n=0;this._blockOffset+e.length-n>=this._blockSize;){for(var i=this._blockOffset;i<this._blockSize;)r[i++]=e[n++];this._update(),this._blockOffset=0}for(;n<e.length;)r[this._blockOffset++]=e[n++];for(var s=0,o=e.length*8;o>0;++s)this._length[s]+=o,o=this._length[s]/4294967296|0,o>0&&(this._length[s]-=4294967296*o);return this};jt.prototype._update=function(){throw new Error("_update is not implemented")};jt.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();e!==void 0&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return t};jt.prototype._digest=function(){throw new Error("_digest is not implemented")};var Ul=jt,Cl=Oe,ff=Ul,Ll=Ge.Buffer,Nl=new Array(16);function hi(){ff.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}Cl(hi,ff);hi.prototype._update=function(){for(var e=Nl,t=0;t<16;++t)e[t]=this._block.readInt32LE(t*4);var r=this._a,n=this._b,i=this._c,s=this._d;r=ke(r,n,i,s,e[0],3614090360,7),s=ke(s,r,n,i,e[1],3905402710,12),i=ke(i,s,r,n,e[2],606105819,17),n=ke(n,i,s,r,e[3],3250441966,22),r=ke(r,n,i,s,e[4],4118548399,7),s=ke(s,r,n,i,e[5],1200080426,12),i=ke(i,s,r,n,e[6],2821735955,17),n=ke(n,i,s,r,e[7],4249261313,22),r=ke(r,n,i,s,e[8],1770035416,7),s=ke(s,r,n,i,e[9],2336552879,12),i=ke(i,s,r,n,e[10],4294925233,17),n=ke(n,i,s,r,e[11],2304563134,22),r=ke(r,n,i,s,e[12],1804603682,7),s=ke(s,r,n,i,e[13],4254626195,12),i=ke(i,s,r,n,e[14],2792965006,17),n=ke(n,i,s,r,e[15],1236535329,22),r=Re(r,n,i,s,e[1],4129170786,5),s=Re(s,r,n,i,e[6],3225465664,9),i=Re(i,s,r,n,e[11],643717713,14),n=Re(n,i,s,r,e[0],3921069994,20),r=Re(r,n,i,s,e[5],3593408605,5),s=Re(s,r,n,i,e[10],38016083,9),i=Re(i,s,r,n,e[15],3634488961,14),n=Re(n,i,s,r,e[4],3889429448,20),r=Re(r,n,i,s,e[9],568446438,5),s=Re(s,r,n,i,e[14],3275163606,9),i=Re(i,s,r,n,e[3],4107603335,14),n=Re(n,i,s,r,e[8],1163531501,20),r=Re(r,n,i,s,e[13],2850285829,5),s=Re(s,r,n,i,e[2],4243563512,9),i=Re(i,s,r,n,e[7],1735328473,14),n=Re(n,i,s,r,e[12],2368359562,20),r=Ue(r,n,i,s,e[5],4294588738,4),s=Ue(s,r,n,i,e[8],2272392833,11),i=Ue(i,s,r,n,e[11],1839030562,16),n=Ue(n,i,s,r,e[14],4259657740,23),r=Ue(r,n,i,s,e[1],2763975236,4),s=Ue(s,r,n,i,e[4],1272893353,11),i=Ue(i,s,r,n,e[7],4139469664,16),n=Ue(n,i,s,r,e[10],3200236656,23),r=Ue(r,n,i,s,e[13],681279174,4),s=Ue(s,r,n,i,e[0],3936430074,11),i=Ue(i,s,r,n,e[3],3572445317,16),n=Ue(n,i,s,r,e[6],76029189,23),r=Ue(r,n,i,s,e[9],3654602809,4),s=Ue(s,r,n,i,e[12],3873151461,11),i=Ue(i,s,r,n,e[15],530742520,16),n=Ue(n,i,s,r,e[2],3299628645,23),r=Ce(r,n,i,s,e[0],4096336452,6),s=Ce(s,r,n,i,e[7],1126891415,10),i=Ce(i,s,r,n,e[14],2878612391,15),n=Ce(n,i,s,r,e[5],4237533241,21),r=Ce(r,n,i,s,e[12],1700485571,6),s=Ce(s,r,n,i,e[3],2399980690,10),i=Ce(i,s,r,n,e[10],4293915773,15),n=Ce(n,i,s,r,e[1],2240044497,21),r=Ce(r,n,i,s,e[8],1873313359,6),s=Ce(s,r,n,i,e[15],4264355552,10),i=Ce(i,s,r,n,e[6],2734768916,15),n=Ce(n,i,s,r,e[13],1309151649,21),r=Ce(r,n,i,s,e[4],4149444226,6),s=Ce(s,r,n,i,e[11],3174756917,10),i=Ce(i,s,r,n,e[2],718787259,15),n=Ce(n,i,s,r,e[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+n|0,this._c=this._c+i|0,this._d=this._d+s|0};hi.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=Ll.allocUnsafe(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e};function li(e,t){return e<<t|e>>>32-t}function ke(e,t,r,n,i,s,o){return li(e+(t&r|~t&n)+i+s|0,o)+t|0}function Re(e,t,r,n,i,s,o){return li(e+(t&n|r&~n)+i+s|0,o)+t|0}function Ue(e,t,r,n,i,s,o){return li(e+(t^r^n)+i+s|0,o)+t|0}function Ce(e,t,r,n,i,s,o){return li(e+(r^(t|~n))+i+s|0,o)+t|0}var Fl=hi,qn=Ge.Buffer,uf=of.Transform,Ml=Oe;function Hl(e,t){if(!qn.isBuffer(e)&&typeof e!="string")throw new TypeError(t+" must be a string or a buffer")}function Gt(e){uf.call(this),this._block=qn.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}Ml(Gt,uf);Gt.prototype._transform=function(e,t,r){var n=null;try{this.update(e,t)}catch(i){n=i}r(n)};Gt.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(r){t=r}e(t)};Gt.prototype.update=function(e,t){if(Hl(e,"Data"),this._finalized)throw new Error("Digest already called");qn.isBuffer(e)||(e=qn.from(e,t));for(var r=this._block,n=0;this._blockOffset+e.length-n>=this._blockSize;){for(var i=this._blockOffset;i<this._blockSize;)r[i++]=e[n++];this._update(),this._blockOffset=0}for(;n<e.length;)r[this._blockOffset++]=e[n++];for(var s=0,o=e.length*8;o>0;++s)this._length[s]+=o,o=this._length[s]/4294967296|0,o>0&&(this._length[s]-=4294967296*o);return this};Gt.prototype._update=function(){throw new Error("_update is not implemented")};Gt.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();e!==void 0&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return t};Gt.prototype._digest=function(){throw new Error("_digest is not implemented")};var $l=Gt,Wi=Pt.Buffer,Dl=Oe,cf=$l,jl=new Array(16),Vr=[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],Wr=[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],zr=[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],qr=[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],Kr=[0,1518500249,1859775393,2400959708,2840853838],Yr=[1352829926,1548603684,1836072691,2053994217,0];function di(){cf.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}Dl(di,cf);di.prototype._update=function(){for(var e=jl,t=0;t<16;++t)e[t]=this._block.readInt32LE(t*4);for(var r=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,a=this._a|0,c=this._b|0,l=this._c|0,d=this._d|0,g=this._e|0,x=0;x<80;x+=1){var y,O;x<16?(y=Uo(r,n,i,s,o,e[Vr[x]],Kr[0],zr[x]),O=Fo(a,c,l,d,g,e[Wr[x]],Yr[0],qr[x])):x<32?(y=Co(r,n,i,s,o,e[Vr[x]],Kr[1],zr[x]),O=No(a,c,l,d,g,e[Wr[x]],Yr[1],qr[x])):x<48?(y=Lo(r,n,i,s,o,e[Vr[x]],Kr[2],zr[x]),O=Lo(a,c,l,d,g,e[Wr[x]],Yr[2],qr[x])):x<64?(y=No(r,n,i,s,o,e[Vr[x]],Kr[3],zr[x]),O=Co(a,c,l,d,g,e[Wr[x]],Yr[3],qr[x])):(y=Fo(r,n,i,s,o,e[Vr[x]],Kr[4],zr[x]),O=Uo(a,c,l,d,g,e[Wr[x]],Yr[4],qr[x])),r=o,o=s,s=er(i,10),i=n,n=y,a=g,g=d,d=er(l,10),l=c,c=O}var B=this._b+i+d|0;this._b=this._c+s+g|0,this._c=this._d+o+a|0,this._d=this._e+r+c|0,this._e=this._a+n+l|0,this._a=B};di.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=Wi.alloc?Wi.alloc(20):new Wi(20);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e.writeInt32LE(this._e,16),e};function er(e,t){return e<<t|e>>>32-t}function Uo(e,t,r,n,i,s,o,a){return er(e+(t^r^n)+s+o|0,a)+i|0}function Co(e,t,r,n,i,s,o,a){return er(e+(t&r|~t&n)+s+o|0,a)+i|0}function Lo(e,t,r,n,i,s,o,a){return er(e+((t|~r)^n)+s+o|0,a)+i|0}function No(e,t,r,n,i,s,o,a){return er(e+(t&n|r&~n)+s+o|0,a)+i|0}function Fo(e,t,r,n,i,s,o,a){return er(e+(t^(r|~n))+s+o|0,a)+i|0}var Gl=di,hf={exports:{}},lf=Ge.Buffer;function pi(e,t){this._block=lf.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}pi.prototype.update=function(e,t){typeof e=="string"&&(t=t||"utf8",e=lf.from(e,t));for(var r=this._block,n=this._blockSize,i=e.length,s=this._len,o=0;o<i;){for(var a=s%n,c=Math.min(i-o,n-a),l=0;l<c;l++)r[a+l]=e[o+l];s+=c,o+=c,s%n===0&&this._update(r)}return this._len+=i,this};pi.prototype.digest=function(e){var t=this._len%this._blockSize;this._block[t]=128,this._block.fill(0,t+1),t>=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=this._len*8;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var n=(r&4294967295)>>>0,i=(r-n)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var s=this._hash();return e?s.toString(e):s};pi.prototype._update=function(){throw new Error("_update must be implemented by subclass")};var Ur=pi,Vl=Oe,df=Ur,Wl=Ge.Buffer,zl=[1518500249,1859775393,-1894007588,-899497514],ql=new Array(80);function bn(){this.init(),this._w=ql,df.call(this,64,56)}Vl(bn,df);bn.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function Kl(e){return e<<5|e>>>27}function Yl(e){return e<<30|e>>>2}function Xl(e,t,r,n){return e===0?t&r|~t&n:e===2?t&r|t&n|r&n:t^r^n}bn.prototype._update=function(e){for(var t=this._w,r=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,a=0;a<16;++a)t[a]=e.readInt32BE(a*4);for(;a<80;++a)t[a]=t[a-3]^t[a-8]^t[a-14]^t[a-16];for(var c=0;c<80;++c){var l=~~(c/20),d=Kl(r)+Xl(l,n,i,s)+o+t[c]+zl[l]|0;o=s,s=i,i=Yl(n),n=r,r=d}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=o+this._e|0};bn.prototype._hash=function(){var e=Wl.allocUnsafe(20);return e.writeInt32BE(this._a|0,0),e.writeInt32BE(this._b|0,4),e.writeInt32BE(this._c|0,8),e.writeInt32BE(this._d|0,12),e.writeInt32BE(this._e|0,16),e};var Jl=bn,Ql=Oe,pf=Ur,Zl=Ge.Buffer,e0=[1518500249,1859775393,-1894007588,-899497514],t0=new Array(80);function wn(){this.init(),this._w=t0,pf.call(this,64,56)}Ql(wn,pf);wn.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function r0(e){return e<<1|e>>>31}function n0(e){return e<<5|e>>>27}function i0(e){return e<<30|e>>>2}function s0(e,t,r,n){return e===0?t&r|~t&n:e===2?t&r|t&n|r&n:t^r^n}wn.prototype._update=function(e){for(var t=this._w,r=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,a=0;a<16;++a)t[a]=e.readInt32BE(a*4);for(;a<80;++a)t[a]=r0(t[a-3]^t[a-8]^t[a-14]^t[a-16]);for(var c=0;c<80;++c){var l=~~(c/20),d=n0(r)+s0(l,n,i,s)+o+t[c]+e0[l]|0;o=s,s=i,i=i0(n),n=r,r=d}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=o+this._e|0};wn.prototype._hash=function(){var e=Zl.allocUnsafe(20);return e.writeInt32BE(this._a|0,0),e.writeInt32BE(this._b|0,4),e.writeInt32BE(this._c|0,8),e.writeInt32BE(this._d|0,12),e.writeInt32BE(this._e|0,16),e};var o0=wn,a0=Oe,yf=Ur,f0=Ge.Buffer,u0=[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],c0=new Array(64);function gn(){this.init(),this._w=c0,yf.call(this,64,56)}a0(gn,yf);gn.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this};function h0(e,t,r){return r^e&(t^r)}function l0(e,t,r){return e&t|r&(e|t)}function d0(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function p0(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function y0(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}function b0(e){return(e>>>17|e<<15)^(e>>>19|e<<13)^e>>>10}gn.prototype._update=function(e){for(var t=this._w,r=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,a=this._f|0,c=this._g|0,l=this._h|0,d=0;d<16;++d)t[d]=e.readInt32BE(d*4);for(;d<64;++d)t[d]=b0(t[d-2])+t[d-7]+y0(t[d-15])+t[d-16]|0;for(var g=0;g<64;++g){var x=l+p0(o)+h0(o,a,c)+u0[g]+t[g]|0,y=d0(r)+l0(r,n,i)|0;l=c,c=a,a=o,o=s+x|0,s=i,i=n,n=r,r=x+y|0}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=o+this._e|0,this._f=a+this._f|0,this._g=c+this._g|0,this._h=l+this._h|0};gn.prototype._hash=function(){var e=f0.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e};var bf=gn,w0=Oe,g0=bf,m0=Ur,_0=Ge.Buffer,E0=new Array(64);function yi(){this.init(),this._w=E0,m0.call(this,64,56)}w0(yi,g0);yi.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this};yi.prototype._hash=function(){var e=_0.allocUnsafe(28);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e};var v0=yi,x0=Oe,wf=Ur,S0=Ge.Buffer,Mo=[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],B0=new Array(160);function mn(){this.init(),this._w=B0,wf.call(this,128,112)}x0(mn,wf);mn.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this};function Ho(e,t,r){return r^e&(t^r)}function $o(e,t,r){return e&t|r&(e|t)}function Do(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function jo(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function P0(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function T0(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function A0(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function I0(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function Te(e,t){return e>>>0<t>>>0?1:0}mn.prototype._update=function(e){for(var t=this._w,r=this._ah|0,n=this._bh|0,i=this._ch|0,s=this._dh|0,o=this._eh|0,a=this._fh|0,c=this._gh|0,l=this._hh|0,d=this._al|0,g=this._bl|0,x=this._cl|0,y=this._dl|0,O=this._el|0,B=this._fl|0,A=this._gl|0,k=this._hl|0,U=0;U<32;U+=2)t[U]=e.readInt32BE(U*4),t[U+1]=e.readInt32BE(U*4+4);for(;U<160;U+=2){var _=t[U-30],m=t[U-15*2+1],S=P0(_,m),v=T0(m,_);_=t[U-2*2],m=t[U-2*2+1];var $=A0(_,m),j=I0(m,_),R=t[U-7*2],z=t[U-7*2+1],Z=t[U-16*2],C=t[U-16*2+1],H=v+z|0,V=S+R+Te(H,v)|0;H=H+j|0,V=V+$+Te(H,j)|0,H=H+C|0,V=V+Z+Te(H,C)|0,t[U]=V,t[U+1]=H}for(var q=0;q<160;q+=2){V=t[q],H=t[q+1];var oe=$o(r,n,i),ae=$o(d,g,x),Ze=Do(r,d),Ve=Do(d,r),nt=jo(o,O),de=jo(O,o),ve=Mo[q],We=Mo[q+1],Tt=Ho(o,a,c),dt=Ho(O,B,A),T=k+de|0,P=l+nt+Te(T,k)|0;T=T+dt|0,P=P+Tt+Te(T,dt)|0,T=T+We|0,P=P+ve+Te(T,We)|0,T=T+H|0,P=P+V+Te(T,H)|0;var M=Ve+ae|0,G=Ze+oe+Te(M,Ve)|0;l=c,k=A,c=a,A=B,a=o,B=O,O=y+T|0,o=s+P+Te(O,y)|0,s=i,y=x,i=n,x=g,n=r,g=d,d=T+M|0,r=P+G+Te(d,T)|0}this._al=this._al+d|0,this._bl=this._bl+g|0,this._cl=this._cl+x|0,this._dl=this._dl+y|0,this._el=this._el+O|0,this._fl=this._fl+B|0,this._gl=this._gl+A|0,this._hl=this._hl+k|0,this._ah=this._ah+r+Te(this._al,d)|0,this._bh=this._bh+n+Te(this._bl,g)|0,this._ch=this._ch+i+Te(this._cl,x)|0,this._dh=this._dh+s+Te(this._dl,y)|0,this._eh=this._eh+o+Te(this._el,O)|0,this._fh=this._fh+a+Te(this._fl,B)|0,this._gh=this._gh+c+Te(this._gl,A)|0,this._hh=this._hh+l+Te(this._hl,k)|0};mn.prototype._hash=function(){var e=S0.allocUnsafe(64);function t(r,n,i){e.writeInt32BE(r,i),e.writeInt32BE(n,i+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),e};var gf=mn,O0=Oe,k0=gf,R0=Ur,U0=Ge.Buffer,C0=new Array(160);function bi(){this.init(),this._w=C0,R0.call(this,128,112)}O0(bi,k0);bi.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this};bi.prototype._hash=function(){var e=U0.allocUnsafe(48);function t(r,n,i){e.writeInt32BE(r,i),e.writeInt32BE(n,i+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),e};var L0=bi,fr=hf.exports=function(t){t=t.toLowerCase();var r=fr[t];if(!r)throw new Error(t+" is not supported (we accept pull requests)");return new r};fr.sha=Jl;fr.sha1=o0;fr.sha224=v0;fr.sha256=bf;fr.sha384=L0;fr.sha512=gf;var N0=hf.exports,mf=Ge.Buffer,_f=Rs.Transform,F0=Wn.StringDecoder,M0=Oe;function rt(e){_f.call(this),this.hashMode=typeof e=="string",this.hashMode?this[e]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}M0(rt,_f);rt.prototype.update=function(e,t,r){typeof e=="string"&&(e=mf.from(e,t));var n=this._update(e);return this.hashMode?this:(r&&(n=this._toString(n,r)),n)};rt.prototype.setAutoPadding=function(){};rt.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")};rt.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")};rt.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")};rt.prototype._transform=function(e,t,r){var n;try{this.hashMode?this._update(e):this.push(this._update(e))}catch(i){n=i}finally{r(n)}};rt.prototype._flush=function(e){var t;try{this.push(this.__final())}catch(r){t=r}e(t)};rt.prototype._finalOrDigest=function(e){var t=this.__final()||mf.alloc(0);return e&&(t=this._toString(t,e,!0)),t};rt.prototype._toString=function(e,t,r){if(this._decoder||(this._decoder=new F0(t),this._encoding=t),this._encoding!==t)throw new Error("can't switch encodings");var n=this._decoder.write(e);return r&&(n+=this._decoder.end()),n};var H0=rt,$0=Oe,D0=Fl,j0=Gl,G0=N0,Ef=H0;function wi(e){Ef.call(this,"digest"),this._hash=e}$0(wi,Ef);wi.prototype._update=function(e){this._hash.update(e)};wi.prototype._final=function(){return this._hash.digest()};var V0=function(t){return t=t.toLowerCase(),t==="md5"?new D0:t==="rmd160"||t==="ripemd160"?new j0:new wi(G0(t))},On=Ge.Buffer;function W0(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r<t.length;r++)t[r]=255;for(var n=0;n<e.length;n++){var i=e.charAt(n),s=i.charCodeAt(0);if(t[s]!==255)throw new TypeError(i+" is ambiguous");t[s]=n}var o=e.length,a=e.charAt(0),c=Math.log(o)/Math.log(256),l=Math.log(256)/Math.log(o);function d(y){if((Array.isArray(y)||y instanceof Uint8Array)&&(y=On.from(y)),!On.isBuffer(y))throw new TypeError("Expected Buffer");if(y.length===0)return"";for(var O=0,B=0,A=0,k=y.length;A!==k&&y[A]===0;)A++,O++;for(var U=(k-A)*l+1>>>0,_=new Uint8Array(U);A!==k;){for(var m=y[A],S=0,v=U-1;(m!==0||S<B)&&v!==-1;v--,S++)m+=256*_[v]>>>0,_[v]=m%o>>>0,m=m/o>>>0;if(m!==0)throw new Error("Non-zero carry");B=S,A++}for(var $=U-B;$!==U&&_[$]===0;)$++;for(var j=a.repeat(O);$<U;++$)j+=e.charAt(_[$]);return j}function g(y){if(typeof y!="string")throw new TypeError("Expected String");if(y.length===0)return On.alloc(0);for(var O=0,B=0,A=0;y[O]===a;)B++,O++;for(var k=(y.length-O)*c+1>>>0,U=new Uint8Array(k);O<y.length;){var _=t[y.charCodeAt(O)];if(_===255)return;for(var m=0,S=k-1;(_!==0||m<A)&&S!==-1;S--,m++)_+=o*U[S]>>>0,U[S]=_%256>>>0,_=_/256>>>0;if(_!==0)throw new Error("Non-zero carry");A=m,O++}for(var v=k-A;v!==k&&U[v]===0;)v++;var $=On.allocUnsafe(B+(k-v));$.fill(0,0,B);for(var j=B;v!==k;)$[j++]=U[v++];return $}function x(y){var O=g(y);if(O)return O;throw new Error("Non-base"+o+" character")}return{encode:d,decodeUnsafe:g,decode:x}}var z0=W0,q0=z0,K0="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",Y0=q0(K0),zi=Y0,X0=Ge.Buffer,J0=function(e){function t(s){var o=e(s);return zi.encode(X0.concat([s,o],s.length+4))}function r(s){var o=s.slice(0,-4),a=s.slice(-4),c=e(o);if(!(a[0]^c[0]|a[1]^c[1]|a[2]^c[2]|a[3]^c[3]))return o}function n(s){var o=zi.decodeUnsafe(s);if(o)return r(o)}function i(s){var o=zi.decode(s),a=r(o);if(!a)throw new Error("Invalid checksum");return a}return{encode:t,decode:i,decodeUnsafe:n}},Go=V0,Q0=J0;function Z0(e){var t=Go("sha256").update(e).digest();return Go("sha256").update(t).digest()}var ed=Q0(Z0),os=ed;function vf(e,t){if(t!==void 0&&e[0]!==t)throw new Error("Invalid network version");if(e.length===33)return{version:e[0],privateKey:e.slice(1,33),compressed:!1};if(e.length!==34)throw new Error("Invalid WIF length");if(e[33]!==1)throw new Error("Invalid compression flag");return{version:e[0],privateKey:e.slice(1,33),compressed:!0}}function as(e,t,r){var n=new Buffer(r?34:33);return n.writeUInt8(e,0),t.copy(n,1),r&&(n[33]=1),n}function td(e,t){return vf(os.decode(e),t)}function rd(e,t,r){return typeof e=="number"?os.encode(as(e,t,r)):os.encode(as(e.version,e.privateKey,e.compressed))}var nd={decode:td,decodeRaw:vf,encode:rd,encodeRaw:as},gi={};Object.defineProperty(gi,"__esModule",{value:!0});gi.testEcc=void 0;const W=e=>Buffer.from(e,"hex");function id(e){ue(e.isPoint(W("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),ue(!e.isPoint(W("030000000000000000000000000000000000000000000000000000000000000005"))),ue(e.isPrivate(W("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),ue(e.isPrivate(W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))),ue(!e.isPrivate(W("0000000000000000000000000000000000000000000000000000000000000000"))),ue(!e.isPrivate(W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"))),ue(!e.isPrivate(W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142"))),ue(Buffer.from(e.privateAdd(W("0000000000000000000000000000000000000000000000000000000000000001"),W("0000000000000000000000000000000000000000000000000000000000000000"))).equals(W("0000000000000000000000000000000000000000000000000000000000000001"))),ue(e.privateAdd(W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e"),W("0000000000000000000000000000000000000000000000000000000000000003"))===null),ue(Buffer.from(e.privateAdd(W("e211078564db65c3ce7704f08262b1f38f1ef412ad15b5ac2d76657a63b2c500"),W("b51fbb69051255d1becbd683de5848242a89c229348dd72896a87ada94ae8665"))).equals(W("9730c2ee69edbb958d42db7460bafa18fef9d955325aec99044c81c8282b0a24"))),ue(Buffer.from(e.privateNegate(W("0000000000000000000000000000000000000000000000000000000000000001"))).equals(W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))),ue(Buffer.from(e.privateNegate(W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e"))).equals(W("0000000000000000000000000000000000000000000000000000000000000003"))),ue(Buffer.from(e.privateNegate(W("b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af"))).equals(W("4eede1bf775995d70a494f0a7bb6bc11e0b8cccd41cce8009ab1132c8b0a3792"))),ue(Buffer.from(e.pointCompress(W("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"),!0)).equals(W("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),ue(Buffer.from(e.pointCompress(W("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"),!1)).equals(W("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"))),ue(Buffer.from(e.pointCompress(W("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),!0)).equals(W("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),ue(Buffer.from(e.pointCompress(W("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),!1)).equals(W("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"))),ue(Buffer.from(e.pointFromScalar(W("b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af"))).equals(W("02b07ba9dca9523b7ef4bd97703d43d20399eb698e194704791a25ce77a400df99"))),ue(e.xOnlyPointAddTweak(W("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))===null);let t=e.xOnlyPointAddTweak(W("1617d38ed8d8657da4d4761e8057bc396ea9e4b9d29776d4be096016dbd2509b"),W("a8397a935f0dfceba6ba9618f6451ef4d80637abf4e6af2669fbc9de6a8fd2ac"));ue(Buffer.from(t.xOnlyPubkey).equals(W("e478f99dab91052ab39a33ea35fd5e6e4933f4d28023cd597c9a1f6760346adf"))&&t.parity===1),t=e.xOnlyPointAddTweak(W("2c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991"),W("823c3cd2142744b075a87eade7e1b8678ba308d566226a0056ca2b7a76f86b47")),ue(Buffer.from(t.xOnlyPubkey).equals(W("9534f8dc8c6deda2dc007655981c78b49c5d96c778fbf363462a11ec9dfd948c"))&&t.parity===0),ue(Buffer.from(e.sign(W("5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed"),W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))).equals(W("54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5"))),ue(e.verify(W("5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed"),W("0379be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),W("54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5"))),e.signSchnorr&&ue(Buffer.from(e.signSchnorr(W("7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c"),W("c90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b14e5c9"),W("c87aa53824b4d7ae2eb035a2b5bbbccc080e76cdc6d1692c4b0b62d798e6d906"))).equals(W("5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7"))),e.verifySchnorr&&ue(e.verifySchnorr(W("7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c"),W("dd308afec5777e13121fa72b9cc1b7cc0139715309b086c960e18fd969774eb8"),W("5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7")))}gi.testEcc=id;function ue(e){if(!e)throw new Error("ecc library invalid")}Object.defineProperty(Ir,"__esModule",{value:!0});Ir.ECPairFactory=Ir.networks=void 0;const fs=Or;Ir.networks=fs;const De=Ha,sd=Ih,Vo=nd,od=gi,qi=De.typeforce.maybe(De.typeforce.compile({compressed:De.maybe(De.Boolean),network:De.maybe(De.Network)})),ad=e=>e.length===32?e:e.slice(1,33);function fd(e){(0,od.testEcc)(e);function t(a){return e.isPoint(a)}function r(a,c){if(De.typeforce(De.Buffer256bit,a),!e.isPrivate(a))throw new TypeError("Private key not in range [1, n)");return De.typeforce(qi,c),new o(a,void 0,c)}function n(a,c){return De.typeforce(e.isPoint,a),De.typeforce(qi,c),new o(void 0,a,c)}function i(a,c){const l=Vo.decode(a),d=l.version;if(De.Array(c)){if(c=c.filter(g=>d===g.wif).pop(),!c)throw new Error("Unknown network version")}else if(c=c||fs.bitcoin,d!==c.wif)throw new Error("Invalid network version");return r(l.privateKey,{compressed:l.compressed,network:c})}function s(a){De.typeforce(qi,a),a===void 0&&(a={});const c=a.rng||sd;let l;do l=c(32),De.typeforce(De.Buffer256bit,l);while(!e.isPrivate(l));return r(l,a)}class o{constructor(c,l,d){lr(this,"__D");lr(this,"__Q");lr(this,"compressed");lr(this,"network");lr(this,"lowR");this.__D=c,this.__Q=l,this.lowR=!1,d===void 0&&(d={}),this.compressed=d.compressed===void 0?!0:d.compressed,this.network=d.network||fs.bitcoin,l!==void 0&&(this.__Q=Buffer.from(e.pointCompress(l,this.compressed)))}get privateKey(){return this.__D}get publicKey(){if(!this.__Q){const c=e.pointFromScalar(this.__D,this.compressed);this.__Q=Buffer.from(c)}return this.__Q}toWIF(){if(!this.__D)throw new Error("Missing private key");return Vo.encode(this.network.wif,this.__D,this.compressed)}tweak(c){return this.privateKey?this.tweakFromPrivateKey(c):this.tweakFromPublicKey(c)}sign(c,l){if(!this.__D)throw new Error("Missing private key");if(l===void 0&&(l=this.lowR),l===!1)return Buffer.from(e.sign(c,this.__D));{let d=e.sign(c,this.__D);const g=Buffer.alloc(32,0);let x=0;for(;d[0]>127;)x++,g.writeUIntLE(x,0,6),d=e.sign(c,this.__D,g);return Buffer.from(d)}}signSchnorr(c){if(!this.privateKey)throw new Error("Missing private key");if(!e.signSchnorr)throw new Error("signSchnorr not supported by ecc library");return Buffer.from(e.signSchnorr(c,this.privateKey))}verify(c,l){return e.verify(c,this.publicKey,l)}verifySchnorr(c,l){if(!e.verifySchnorr)throw new Error("verifySchnorr not supported by ecc library");return e.verifySchnorr(c,this.publicKey.subarray(1,33),l)}tweakFromPublicKey(c){const l=ad(this.publicKey),d=e.xOnlyPointAddTweak(l,c);if(!d||d.xOnlyPubkey===null)throw new Error("Cannot tweak public key!");const g=Buffer.from([d.parity===0?2:3]);return n(Buffer.concat([g,d.xOnlyPubkey]),{network:this.network,compressed:this.compressed})}tweakFromPrivateKey(c){const d=this.publicKey[0]===3||this.publicKey[0]===4&&(this.publicKey[64]&1)===1?e.privateNegate(this.privateKey):this.privateKey,g=e.privateAdd(d,c);if(!g)throw new Error("Invalid tweaked private key!");return r(Buffer.from(g),{network:this.network,compressed:this.compressed})}}return{isPoint:t,fromPrivateKey:r,fromPublicKey:n,fromWIF:i,makeRandom:s}}Ir.ECPairFactory=fd;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.networks=e.ECPairFactory=e.default=void 0;var t=Ir;Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.ECPairFactory}}),Object.defineProperty(e,"ECPairFactory",{enumerable:!0,get:function(){return t.ECPairFactory}}),Object.defineProperty(e,"networks",{enumerable:!0,get:function(){return t.networks}})})(Ma);const ud=hu(Ma);class hn extends ge.EventBroker{get isInitialized(){return!!this.privKey}constructor(t,r){super(),this.privKey=t,this.walletClient=r}static fromPrivKey(t){return new hn(N.trim0x(t))}static fromWalletClient(t){return new hn(void 0,t)}async initialize(){if(this.privKey)return N.Ok("Already initialized");const t=await this.derivePrivKeyFromWalletClient();return t.error?N.Err(t.error):(this.emit("initialized",!0),N.Ok("Initialized"))}async derivePrivKeyFromWalletClient(){if(!this.walletClient)return N.Err("No walletClient found");if(!this.walletClient.account)return N.Err("No account found");try{const t=await this.walletClient.signTypedData({account:this.walletClient.account,types:{EIP712Domain:[{name:"name",type:"string"},{name:"version",type:"string"}],Data:[{name:"Message",type:"string"},{name:"Version",type:"string"},{name:"Nonce",type:"uint256"}]},domain:{name:"GARDEN FINANCE",version:"1"},primaryType:"Data",message:{Message:"Initialize your account",Version:"1.0.2",Nonce:1n}});return this.privKey=N.trim0x(lt.sha256(t)),this.emit("initialized",!0),N.Ok(this.privKey)}catch(t){return N.Err("Failed to initialize: "+t)}}async getMasterPrivKey(){if(!this.privKey&&!this.walletClient)return N.Err("No private key or wallet client found");if(!this.privKey&&this.walletClient){const t=await this.derivePrivKeyFromWalletClient();if(t.error)return N.Err(t.error)}return this.privKey?N.Ok(this.privKey):N.Err("No private key found")}async generateSecret(t){const r=await this.signMessage(t);if(r.error)return N.Err(r.error);const n=lt.sha256(ge.with0x(r.val)),i=lt.sha256(n);return N.Ok({secret:n,secretHash:i})}async signMessage(t){if(!this.privKey){const l=await this.getMasterPrivKey();if(l.error)return N.Err(l.error);this.privKey=l.val}const r=ud(Jt),n="Garden.fi"+t.toString(),i=Buffer.from(n,"utf8"),s=lt.sha256(i),o=Buffer.from(N.trim0x(this.privKey),"hex");if(o.length!==32)return N.Err("Invalid private key length. Expected 32 bytes.");const c=r.fromPrivateKey(o).sign(Buffer.from(N.trim0x(s),"hex"));return N.Ok(c.toString("hex"))}}class cd extends ge.EventBroker{constructor(t){super(),this.getOrderThreshold=20,this.refundSacpCache=new Map,this.environment=t.environment;const r=t.environment===ge.Environment.MAINNET?wo.mainnet:t.environment===ge.Environment.TESTNET?wo.testnet:void 0;if(!r)throw new Error("API not found, invalid environment "+t.environment);if(this._auth=new ge.Siwe(new ge.Url(t.orderbookURl??r.orderbook),t.evmWallet,t.siweOpts),this._quote=t.quote??new Fa(r.quote),this._orderBook=new ce.Orderbook({url:t.orderbookURl??r.orderbook,walletClient:t.evmWallet,auth:this._auth}),this._orderbookUrl=new ge.Url(t.orderbookURl??r.orderbook),this._evmRelay=new ra(this._orderbookUrl,this._auth),this._secretManager=t.secretManager??hn.fromWalletClient(t.evmWallet),this.orderExecutorCache=new Sh,this._evmWallet=t.evmWallet,!t.evmWallet.account)throw new Error("Account not found in evmWallet");this._blockNumberFetcher=t.blockNumberFetcher??new Na(r.info,t.environment)}get orderbookUrl(){return this._orderbookUrl.toString()}get evmRelay(){return this._evmRelay}get quote(){return this._quote}get btcWallet(){return this._btcWallet}get orderbook(){return this._orderBook}get blockNumberFetcher(){return this._blockNumberFetcher}get secretManager(){return this._secretManager}async initializeSMandBTCWallet(){if(this._secretManager.isInitialized&&this._btcWallet)return N.Ok(this._btcWallet);const t=await this._secretManager.getMasterPrivKey();if(t.error)return N.Err(t.error);const r=new Br.BitcoinProvider(ru(this.environment));return this._btcWallet=Br.BitcoinWallet.fromPrivateKey(t.val,r),N.Ok(this._btcWallet)}async swap(t){const r=await this.validateAndFillParams(t);if(r.error)return N.Err(r.error);const{sendAddress:n,receiveAddress:i,timelock:s}=r.val;let o=t.nonce;if(!o){if(!this._evmWallet.account)return N.Err("EVM Wallet not found");const B=await this._orderBook.getOrdersCount(this._evmWallet.account.address);if(B.error)return N.Err(B.error);o=B.val+1}const a=await this._secretManager.generateSecret(o);if(a.error)return N.Err(a.error);const{strategyId:c,btcAddress:l}=t.additionalData,d={strategy_id:c,...l&&{bitcoin_optional_recipient:l}},g={source_chain:t.fromAsset.chain,destination_chain:t.toAsset.chain,source_asset:t.fromAsset.atomicSwapAddress,destination_asset:t.toAsset.atomicSwapAddress,initiator_source_address:n,initiator_destination_address:i,source_amount:t.sendAmount,destination_amount:t.receiveAmount,fee:"1",nonce:o.toString(),timelock:s,secret_hash:N.trim0x(a.val.secretHash),min_destination_confirmations:t.minDestinationConfirmations??0,additional_data:d},x=await this._quote.getAttestedQuote(g);if(x.error)return N.Err(x.error);const y=await this._orderBook.createOrder(x.val);if(y.error)return N.Err(y.error);const O=await this.pollOrder(y.val);return O.error?N.Err(O.error):N.Ok(O.val)}async validateAndFillParams(t){if(!t.additionalData.strategyId)return N.Err("StrategyId is required");if(!t.fromAsset||!t.toAsset)return N.Err("Source and destination assets are required for swap");if(t.fromAsset.chain===t.toAsset.chain&&t.fromAsset.atomicSwapAddress===t.toAsset.atomicSwapAddress)return N.Err("Source and destination assets cannot be the same");if(ce.isMainnet(t.fromAsset.chain)&&!ce.isMainnet(t.toAsset.chain)||!ce.isMainnet(t.fromAsset.chain)&&ce.isMainnet(t.toAsset.chain))return N.Err("Both assets should be on the same network (either mainnet or testnet)");const r=this.validateAmount(t.sendAmount);if(r.error)return N.Err(r.error);const n=this.validateAmount(t.receiveAmount);if(n.error)return N.Err(n.error);if(r<n)return N.Err("Send amount should be greater than receive amount");const i=ce.getTimeLock(t.fromAsset.chain);if(!i)return N.Err("Unsupported chain for timelock");if(ce.isBitcoin(t.fromAsset.chain)||ce.isBitcoin(t.toAsset.chain)){if(!t.additionalData.btcAddress)return N.Err("btcAddress in additionalData is required if source or destination chain is bitcoin, it is used as refund or redeem address.");const a=await this.initializeSMandBTCWallet();if(a.error)return N.Err(a.error);if(!this._btcWallet)return N.Err("btcWallet is required for bitcoin chain. Please provide btcWallet in the constructor")}const s=await this.getAddresses(t.fromAsset.chain);if(s.error)return N.Err(s.error);const o=await this.getAddresses(t.toAsset.chain);return o.error?N.Err(o.error):N.Ok({sendAddress:s.val,receiveAddress:o.val,timelock:t.timelock??i})}async getAddresses(t){var n;switch(ce.getBlockchainType(t)){case ce.BlockchainType.EVM:return this._evmWallet.account?N.Ok(this._evmWallet.account.address):N.Err("EVM Wallet not found");case ce.BlockchainType.Bitcoin:{const i=await((n=this._btcWallet)==null?void 0:n.getPublicKey());return!i||!eu(i)?N.Err("Invalid btc public key"):N.Ok(qt(i))}default:return N.Err("Unsupported chain")}}validateAmount(t){if(t==null||t.includes("."))return N.Err("Invalid amount ",t);const r=new Xf(t);return!r.isInteger()||r.isNaN()||r.lt(0)||r.isLessThanOrEqualTo(0)?N.Err("Invalid amount ",t):N.Ok(r)}async pollOrder(t){let r=await this._orderBook.getOrder(t,!0),n=0;for(;n<this.getOrderThreshold;){if(await ge.sleep(1e3),n++,r.error){if(!r.error.includes("result is undefined"))return N.Err(r.error)}else if(r.val&&r.val.create_order.create_id.toLowerCase()===t.toLowerCase())return N.Ok(r.val);r=await this._orderBook.getOrder(t,!0)}return N.Err(`Order not found, createOrder id: ${t}`)}async execute(t=5e3){return await this.initializeSMandBTCWallet(),await this._orderBook.subscribeToOrders(t,async r=>{if(r.data.length===0)return;const n=await this.filterExpiredAndAssignStatus(r.data);if(!n.error){this.emit("onPendingOrdersChanged",n.val);for(let i=0;i<n.val.length;i++){const s=n.val[i],o=ls(s.status);if(ce.isBitcoin(s.source_swap.chain)&&s.status===he.InitiateDetected){const a=this.getWallet(s.source_swap.chain);if(a.error){this.emit("error",s,a.error);continue}await this.postRefundSACP(s,a.val)}switch(o){case Pe.Redeem:{const a=await this._secretManager.generateSecret(Number(s.create_order.nonce));if(a.error){this.emit("error",s,a.error);return}switch(ce.getBlockchainType(s.destination_swap.chain)){case ce.BlockchainType.EVM:{await this.evmRedeem(s,a.val.secret);break}case ce.BlockchainType.Bitcoin:{const c=this.getWallet(s.destination_swap.chain);if(c.error){this.emit("error",s,c.error);return}await this.btcRedeem(c.val,s,a.val.secret);break}default:this.emit("error",s,"Unsupported chain: "+s.destination_swap.chain)}break}case Pe.Refund:{switch(ce.getBlockchainType(s.source_swap.chain)){case ce.BlockchainType.EVM:{this.emit("error",s,"EVM refund is automatically done by relay service");break}case ce.BlockchainType.Bitcoin:{const a=this.getWallet(s.source_swap.chain);if(a.error){this.emit("error",s,a.error);return}await this.btcRefund(a.val,s);break}default:this.emit("error",s,"Unsupported chain: "+s.source_swap.chain)}break}}}}},{per_page:500},!0)}async evmRedeem(t,r){if(this.emit("log",t.create_order.create_id,"executing evm redeem"),this.orderExecutorCache.get(t,Pe.Redeem)){this.emit("log",t.create_order.create_id,"already redeemed");return}const i=await this._evmRelay.redeem(t.create_order.create_id,r);if(i.error){this.emit("error",t,i.error),i.error.includes("Order already redeemed")&&this.orderExecutorCache.set(t,Pe.Redeem,t.destination_swap.redeem_tx_hash);return}this.orderExecutorCache.set(t,Pe.Redeem,i.val),this.emit("success",t,Pe.Redeem,i.val)}async btcRedeem(t,r,n){var a,c;const i=this.orderExecutorCache.get(r,Pe.Redeem),s=(a=r.destination_swap.initiate_tx_hash.split(",").at(-1))==null?void 0:a.split(":").at(0);if(!s){this.emit("error",r,"Failed to get initiate_tx_hash");return}let o=!1;if(i)if(i.btcRedeemUTXO&&i.btcRedeemUTXO!==s)o=!0,this.emit("log",r.create_order.create_id,"rbf btc redeem");else{this.emit("log",r.create_order.create_id,"btcRedeem: already redeemed");return}else if(r.destination_swap.redeem_tx_hash&&!Number(r.destination_swap.redeem_block_number))try{const l=await(await t.getProvider()).getTransaction(r.destination_swap.redeem_tx_hash);let d=!1;for(const g of l.vin)if(g.txid===s){d=!0;break}if(d){this.orderExecutorCache.set(r,Pe.Redeem,r.destination_swap.redeem_tx_hash,s),this.emit("log",r.create_order.create_id,"already a valid redeem");return}o=!0}catch(l){if(l.message.includes("Transaction not found"))o=!0;else{this.emit("error",r,"Failed to get redeem tx: "+l);return}}this.emit("log",r.create_order.create_id,"executing btc redeem");try{const d=await(await on.from(t,Number(r.destination_swap.amount),r.create_order.secret_hash,qt(r.destination_swap.initiator),qt(r.destination_swap.redeemer),r.destination_swap.timelock,o?[s]:[])).redeem(N.trim0x(n),(c=r.create_order.additional_data)==null?void 0:c.bitcoin_optional_recipient);o?this.emit("log",r.create_order.create_id,"rbf: btc redeem success"):this.emit("success",r,Pe.Redeem,d),this.orderExecutorCache.set(r,Pe.Redeem,d,s)}catch(l){this.emit("error",r,"Failed btc redeem: "+l)}}async btcRefund(t,r){var n;if(!this.orderExecutorCache.get(r,Pe.Refund)){this.emit("log",r.create_order.create_id,"executing btc refund");try{const s=await(await on.from(t,Number(r.source_swap.amount),r.create_order.secret_hash,qt(r.source_swap.initiator),qt(r.source_swap.redeemer),r.source_swap.timelock)).refund((n=r.create_order.additional_data)==null?void 0:n.bitcoin_optional_recipient);this.orderExecutorCache.set(r,Pe.Refund,s),this.emit("success",r,Pe.Refund,s)}catch(i){this.emit("error",r,"Failed btc refund: "+i)}}}getWallet(t){switch(ce.getBlockchainType(t)){case ce.BlockchainType.EVM:return N.Ok(this._evmWallet);case ce.BlockchainType.Bitcoin:return N.Ok(this._btcWallet);default:return N.Err("Unsupported chain for wallet")}}async postRefundSACP(t,r){const n=this.refundSacpCache.get(t.create_order.create_id);if((n==null?void 0:n.initTxHash)===t.source_swap.initiate_tx_hash)return;const i=await on.from(r,Number(t.source_swap.amount),t.create_order.secret_hash,qt(t.source_swap.initiator),qt(t.source_swap.redeemer),t.source_swap.timelock),s=t.create_order.additional_data.bitcoin_optional_recipient;if(s)try{const o=await i.generateInstantRefundSACP(s),a=this._orderbookUrl.endpoint("orders/add-instant-refund-sacp");(await N.Fetcher.post(a,{headers:{"Content-Type":"application/json"},body:JSON.stringify({order_id:t.create_order.create_id,instant_refund_tx_bytes:o})})).status==="Ok"&&this.refundSacpCache.set(t.create_order.create_id,{initTxHash:t.source_swap.initiate_tx_hash})}catch(o){this.emit("error",t,"Failed to generate and post SACP: "+o);return}}async fetchCurrentBlockNumbers(t,r){if(!r||!r.source||!r.destination)return N.Err("Provide wallets to fetch the current block number");const n=ce.isBitcoin(t.source_swap.chain)?await ge.fetchBitcoinBlockNumber(await r.source.getProvider()):await ge.fetchEVMBlockNumber(r.source);if(n.error)return N.Err(n.error);const i=ce.isBitcoin(t.destination_swap.chain)?await ge.fetchBitcoinBlockNumber(await r.destination.getProvider()):await ge.fetchEVMBlockNumber(r.destination);return i.error?N.Err(i.error):N.Ok({source:n.val,destination:i.val})}async filterExpiredAndAssignStatus(t){var i;if(t.length===0)return N.Ok([]);const r=await((i=this._blockNumberFetcher)==null?void 0:i.fetchBlockNumbers());if(r.error)return N.Err(r.error);const n=[];for(let s=0;s<t.length;s++){const o=t[s];if(ta(o))continue;const a=o.source_swap.chain,c=o.destination_swap.chain,l=r==null?void 0:r.val[a],d=r==null?void 0:r.val[c];if(!l||!d){this.emit("error",o,"Error while fetching CurrentBlockNumbers");continue}const g=hs(o,l,d);n.push({...o,status:g})}return N.Ok(n)}}function ur(e){return{formatters:void 0,fees:void 0,serializers:void 0,...e}}const xf="2.21.41";let Xr={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:r})=>t?`${e??"https://viem.sh"}${t}${r?`#${r}`:""}`:void 0,version:`viem@${xf}`};class le extends Error{constructor(t,r={}){var a;const n=(()=>{var c;return r.cause instanceof le?r.cause.details:(c=r.cause)!=null&&c.message?r.cause.message:r.details})(),i=r.cause instanceof le&&r.cause.docsPath||r.docsPath,s=(a=Xr.getDocsUrl)==null?void 0:a.call(Xr,{...r,docsPath:i}),o=[t||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...s?[`Docs: ${s}`]:[],...n?[`Details: ${n}`]:[],...Xr.version?[`Version: ${Xr.version}`]:[]].join(`
package/dist/index.js CHANGED
@@ -6423,12 +6423,12 @@ class jh {
6423
6423
  const Ao = {
6424
6424
  mainnet: {
6425
6425
  orderbook: "https://orderbookv2.garden.finance",
6426
- quote: "https://quotev2.garden.finance",
6426
+ quote: "https://pricev2.garden.finance",
6427
6427
  info: "https://infov2.garden.finance"
6428
6428
  },
6429
6429
  testnet: {
6430
6430
  orderbook: "https://orderbook.garden.finance",
6431
- quote: "https://quote.garden.finance",
6431
+ quote: "https://price.garden.finance",
6432
6432
  info: "https://info.garden.finance"
6433
6433
  },
6434
6434
  localnet: {}
@@ -1,12 +1,12 @@
1
1
  export declare const API: {
2
2
  readonly mainnet: {
3
3
  readonly orderbook: "https://orderbookv2.garden.finance";
4
- readonly quote: "https://quotev2.garden.finance";
4
+ readonly quote: "https://pricev2.garden.finance";
5
5
  readonly info: "https://infov2.garden.finance";
6
6
  };
7
7
  readonly testnet: {
8
8
  readonly orderbook: "https://orderbook.garden.finance";
9
- readonly quote: "https://quote.garden.finance";
9
+ readonly quote: "https://price.garden.finance";
10
10
  readonly info: "https://info.garden.finance";
11
11
  };
12
12
  readonly localnet: {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gardenfi/core",
3
- "version": "2.0.1",
3
+ "version": "2.0.2",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "build": "vite build",