w3pk 0.2.0 → 0.4.0

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.mjs CHANGED
@@ -1,36 +1,2 @@
1
- var Ay=Object.create;var Vl=Object.defineProperty;var wy=Object.getOwnPropertyDescriptor;var Ey=Object.getOwnPropertyNames;var Ty=Object.getPrototypeOf,Ry=Object.prototype.hasOwnProperty;var fp=r=>{throw TypeError(r)};var Sy=(r,e,t)=>e in r?Vl(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var Ce=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var gt=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),up=(r,e)=>{for(var t in e)Vl(r,t,{get:e[t],enumerable:!0})},Ly=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Ey(e))!Ry.call(r,s)&&s!==t&&Vl(r,s,{get:()=>e[s],enumerable:!(n=wy(e,s))||n.enumerable});return r};var dc=(r,e,t)=>(t=r!=null?Ay(Ty(r)):{},Ly(e||!r||!r.__esModule?Vl(t,"default",{value:r,enumerable:!0}):t,r));var g=(r,e,t)=>Sy(r,typeof e!="symbol"?e+"":e,t),c0=(r,e,t)=>e.has(r)||fp("Cannot "+t);var f=(r,e,t)=>(c0(r,e,"read from private field"),t?t.call(r):e.get(r)),y=(r,e,t)=>e.has(r)?fp("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t),h=(r,e,t,n)=>(c0(r,e,"write to private field"),n?n.call(r,t):e.set(r,t),t),S=(r,e,t)=>(c0(r,e,"access private method"),t);var qr=(r,e,t,n)=>({set _(s){h(r,e,s,t)},get _(){return f(r,e,n)}});var Hg=gt((h6,Xg)=>{"use strict";var{Duplex:l8}=Ce("stream");function Gg(r){r.emit("close")}function f8(){!this.destroyed&&this._writableState.finished&&this.destroy()}function _g(r){this.removeListener("error",_g),this.destroy(),this.listenerCount("error")===0&&this.emit("error",r)}function u8(r,e){let t=!0,n=new l8({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return r.on("message",function(i,o){let a=!o&&n._readableState.objectMode?i.toString():i;n.push(a)||r.pause()}),r.once("error",function(i){n.destroyed||(t=!1,n.destroy(i))}),r.once("close",function(){n.destroyed||n.push(null)}),n._destroy=function(s,i){if(r.readyState===r.CLOSED){i(s),process.nextTick(Gg,n);return}let o=!1;r.once("error",function(c){o=!0,i(c)}),r.once("close",function(){o||i(s),process.nextTick(Gg,n)}),t&&r.terminate()},n._final=function(s){if(r.readyState===r.CONNECTING){r.once("open",function(){n._final(s)});return}r._socket!==null&&(r._socket._writableState.finished?(s(),n._readableState.endEmitted&&n.destroy()):(r._socket.once("finish",function(){s()}),r.close()))},n._read=function(){r.isPaused&&r.resume()},n._write=function(s,i,o){if(r.readyState===r.CONNECTING){r.once("open",function(){n._write(s,i,o)});return}r.send(s,o)},n.on("end",f8),n.on("error",_g),n}Xg.exports=u8});var Os=gt((p6,Vg)=>{"use strict";Vg.exports={BINARY_TYPES:["nodebuffer","arraybuffer","fragments"],EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var ll=gt((x6,wu)=>{"use strict";var{EMPTY_BUFFER:d8}=Os(),Wd=Buffer[Symbol.species];function h8(r,e){if(r.length===0)return d8;if(r.length===1)return r[0];let t=Buffer.allocUnsafe(e),n=0;for(let s=0;s<r.length;s++){let i=r[s];t.set(i,n),n+=i.length}return n<e?new Wd(t.buffer,t.byteOffset,n):t}function Qg(r,e,t,n,s){for(let i=0;i<s;i++)t[n+i]=r[i]^e[i&3]}function Zg(r,e){for(let t=0;t<r.length;t++)r[t]^=e[t&3]}function p8(r){return r.length===r.buffer.byteLength?r.buffer:r.buffer.slice(r.byteOffset,r.byteOffset+r.length)}function jd(r){if(jd.readOnly=!0,Buffer.isBuffer(r))return r;let e;return r instanceof ArrayBuffer?e=new Wd(r):ArrayBuffer.isView(r)?e=new Wd(r.buffer,r.byteOffset,r.byteLength):(e=Buffer.from(r),jd.readOnly=!1),e}wu.exports={concat:h8,mask:Qg,toArrayBuffer:p8,toBuffer:jd,unmask:Zg};if(!process.env.WS_NO_BUFFER_UTIL)try{let r=Ce("bufferutil");wu.exports.mask=function(e,t,n,s,i){i<48?Qg(e,t,n,s,i):r.mask(e,t,n,s,i)},wu.exports.unmask=function(e,t){e.length<32?Zg(e,t):r.unmask(e,t)}}catch{}});var $g=gt((m6,Kg)=>{"use strict";var zg=Symbol("kDone"),qd=Symbol("kRun"),eh=class{constructor(e){this[zg]=()=>{this.pending--,this[qd]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[qd]()}[qd](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[zg])}}};Kg.exports=eh});var dl=gt((g6,qg)=>{"use strict";var fl=Ce("zlib"),Yg=ll(),x8=$g(),{kStatusCode:Wg}=Os(),m8=Buffer[Symbol.species],g8=Buffer.from([0,0,255,255]),Ru=Symbol("permessage-deflate"),Cn=Symbol("total-length"),ul=Symbol("callback"),Cs=Symbol("buffers"),Tu=Symbol("error"),Eu,th=class{constructor(e,t,n){if(this._maxPayload=n|0,this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!t,this._deflate=null,this._inflate=null,this.params=null,!Eu){let s=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;Eu=new x8(s)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[ul];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let t=this._options,n=e.find(s=>!(t.serverNoContextTakeover===!1&&s.server_no_context_takeover||s.server_max_window_bits&&(t.serverMaxWindowBits===!1||typeof t.serverMaxWindowBits=="number"&&t.serverMaxWindowBits>s.server_max_window_bits)||typeof t.clientMaxWindowBits=="number"&&!s.client_max_window_bits));if(!n)throw new Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(n.server_no_context_takeover=!0),t.clientNoContextTakeover&&(n.client_no_context_takeover=!0),typeof t.serverMaxWindowBits=="number"&&(n.server_max_window_bits=t.serverMaxWindowBits),typeof t.clientMaxWindowBits=="number"?n.client_max_window_bits=t.clientMaxWindowBits:(n.client_max_window_bits===!0||t.clientMaxWindowBits===!1)&&delete n.client_max_window_bits,n}acceptAsClient(e){let t=e[0];if(this._options.clientNoContextTakeover===!1&&t.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!t.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(t.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return t}normalizeParams(e){return e.forEach(t=>{Object.keys(t).forEach(n=>{let s=t[n];if(s.length>1)throw new Error(`Parameter "${n}" must have only a single value`);if(s=s[0],n==="client_max_window_bits"){if(s!==!0){let i=+s;if(!Number.isInteger(i)||i<8||i>15)throw new TypeError(`Invalid value for parameter "${n}": ${s}`);s=i}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${n}": ${s}`)}else if(n==="server_max_window_bits"){let i=+s;if(!Number.isInteger(i)||i<8||i>15)throw new TypeError(`Invalid value for parameter "${n}": ${s}`);s=i}else if(n==="client_no_context_takeover"||n==="server_no_context_takeover"){if(s!==!0)throw new TypeError(`Invalid value for parameter "${n}": ${s}`)}else throw new Error(`Unknown parameter "${n}"`);t[n]=s})}),e}decompress(e,t,n){Eu.add(s=>{this._decompress(e,t,(i,o)=>{s(),n(i,o)})})}compress(e,t,n){Eu.add(s=>{this._compress(e,t,(i,o)=>{s(),n(i,o)})})}_decompress(e,t,n){let s=this._isServer?"client":"server";if(!this._inflate){let i=`${s}_max_window_bits`,o=typeof this.params[i]!="number"?fl.Z_DEFAULT_WINDOWBITS:this.params[i];this._inflate=fl.createInflateRaw({...this._options.zlibInflateOptions,windowBits:o}),this._inflate[Ru]=this,this._inflate[Cn]=0,this._inflate[Cs]=[],this._inflate.on("error",y8),this._inflate.on("data",jg)}this._inflate[ul]=n,this._inflate.write(e),t&&this._inflate.write(g8),this._inflate.flush(()=>{let i=this._inflate[Tu];if(i){this._inflate.close(),this._inflate=null,n(i);return}let o=Yg.concat(this._inflate[Cs],this._inflate[Cn]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[Cn]=0,this._inflate[Cs]=[],t&&this.params[`${s}_no_context_takeover`]&&this._inflate.reset()),n(null,o)})}_compress(e,t,n){let s=this._isServer?"server":"client";if(!this._deflate){let i=`${s}_max_window_bits`,o=typeof this.params[i]!="number"?fl.Z_DEFAULT_WINDOWBITS:this.params[i];this._deflate=fl.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:o}),this._deflate[Cn]=0,this._deflate[Cs]=[],this._deflate.on("data",b8)}this._deflate[ul]=n,this._deflate.write(e),this._deflate.flush(fl.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let i=Yg.concat(this._deflate[Cs],this._deflate[Cn]);t&&(i=new m8(i.buffer,i.byteOffset,i.length-4)),this._deflate[ul]=null,this._deflate[Cn]=0,this._deflate[Cs]=[],t&&this.params[`${s}_no_context_takeover`]&&this._deflate.reset(),n(null,i)})}};qg.exports=th;function b8(r){this[Cs].push(r),this[Cn]+=r.length}function jg(r){if(this[Cn]+=r.length,this[Ru]._maxPayload<1||this[Cn]<=this[Ru]._maxPayload){this[Cs].push(r);return}this[Tu]=new RangeError("Max payload size exceeded"),this[Tu].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[Tu][Wg]=1009,this.removeListener("data",jg),this.reset()}function y8(r){this[Ru]._inflate=null,r[Wg]=1007,this[ul](r)}});var hl=gt((b6,Su)=>{"use strict";var{isUtf8:eb}=Ce("buffer"),A8=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function w8(r){return r>=1e3&&r<=1014&&r!==1004&&r!==1005&&r!==1006||r>=3e3&&r<=4999}function rh(r){let e=r.length,t=0;for(;t<e;)if((r[t]&128)===0)t++;else if((r[t]&224)===192){if(t+1===e||(r[t+1]&192)!==128||(r[t]&254)===192)return!1;t+=2}else if((r[t]&240)===224){if(t+2>=e||(r[t+1]&192)!==128||(r[t+2]&192)!==128||r[t]===224&&(r[t+1]&224)===128||r[t]===237&&(r[t+1]&224)===160)return!1;t+=3}else if((r[t]&248)===240){if(t+3>=e||(r[t+1]&192)!==128||(r[t+2]&192)!==128||(r[t+3]&192)!==128||r[t]===240&&(r[t+1]&240)===128||r[t]===244&&r[t+1]>143||r[t]>244)return!1;t+=4}else return!1;return!0}Su.exports={isValidStatusCode:w8,isValidUTF8:rh,tokenChars:A8};if(eb)Su.exports.isValidUTF8=function(r){return r.length<24?rh(r):eb(r)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let r=Ce("utf-8-validate");Su.exports.isValidUTF8=function(e){return e.length<32?rh(e):r(e)}}catch{}});var ah=gt((y6,ab)=>{"use strict";var{Writable:E8}=Ce("stream"),tb=dl(),{BINARY_TYPES:T8,EMPTY_BUFFER:rb,kStatusCode:R8,kWebSocket:S8}=Os(),{concat:nh,toArrayBuffer:L8,unmask:N8}=ll(),{isValidStatusCode:v8,isValidUTF8:nb}=hl(),Lu=Buffer[Symbol.species],Vt=0,sb=1,ib=2,ob=3,sh=4,ih=5,Nu=6,oh=class extends E8{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||T8[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[S8]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=Vt}_write(e,t,n){if(this._opcode===8&&this._state==Vt)return n();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(n)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let n=this._buffers[0];return this._buffers[0]=new Lu(n.buffer,n.byteOffset+e,n.length-e),new Lu(n.buffer,n.byteOffset,e)}let t=Buffer.allocUnsafe(e);do{let n=this._buffers[0],s=t.length-e;e>=n.length?t.set(this._buffers.shift(),s):(t.set(new Uint8Array(n.buffer,n.byteOffset,e),s),this._buffers[0]=new Lu(n.buffer,n.byteOffset+e,n.length-e)),e-=n.length}while(e>0);return t}startLoop(e){this._loop=!0;do switch(this._state){case Vt:this.getInfo(e);break;case sb:this.getPayloadLength16(e);break;case ib:this.getPayloadLength64(e);break;case ob:this.getMask();break;case sh:this.getData(e);break;case ih:case Nu:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let t=this.consume(2);if((t[0]&48)!==0){let s=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(s);return}let n=(t[0]&64)===64;if(n&&!this._extensions[tb.extensionName]){let s=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(s);return}if(this._fin=(t[0]&128)===128,this._opcode=t[0]&15,this._payloadLength=t[1]&127,this._opcode===0){if(n){let s=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(s);return}if(!this._fragmented){let s=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(s);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let s=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(s);return}this._compressed=n}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let s=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(s);return}if(n){let s=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(s);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let s=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(s);return}}else{let s=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(s);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(t[1]&128)===128,this._isServer){if(!this._masked){let s=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(s);return}}else if(this._masked){let s=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(s);return}this._payloadLength===126?this._state=sb:this._payloadLength===127?this._state=ib:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let t=this.consume(8),n=t.readUInt32BE(0);if(n>Math.pow(2,21)-1){let s=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(s);return}this._payloadLength=n*Math.pow(2,32)+t.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let t=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(t);return}this._masked?this._state=ob:this._state=sh}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=sh}getData(e){let t=rb;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}t=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&N8(t,this._mask)}if(this._opcode>7){this.controlMessage(t,e);return}if(this._compressed){this._state=ih,this.decompress(t,e);return}t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage(e)}decompress(e,t){this._extensions[tb.extensionName].decompress(e,this._fin,(s,i)=>{if(s)return t(s);if(i.length){if(this._messageLength+=i.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let o=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");t(o);return}this._fragments.push(i)}this.dataMessage(t),this._state===Vt&&this.startLoop(t)})}dataMessage(e){if(!this._fin){this._state=Vt;return}let t=this._messageLength,n=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let s;this._binaryType==="nodebuffer"?s=nh(n,t):this._binaryType==="arraybuffer"?s=L8(nh(n,t)):s=n,this._allowSynchronousEvents?(this.emit("message",s,!0),this._state=Vt):(this._state=Nu,setImmediate(()=>{this.emit("message",s,!0),this._state=Vt,this.startLoop(e)}))}else{let s=nh(n,t);if(!this._skipUTF8Validation&&!nb(s)){let i=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(i);return}this._state===ih||this._allowSynchronousEvents?(this.emit("message",s,!1),this._state=Vt):(this._state=Nu,setImmediate(()=>{this.emit("message",s,!1),this._state=Vt,this.startLoop(e)}))}}controlMessage(e,t){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,rb),this.end();else{let n=e.readUInt16BE(0);if(!v8(n)){let i=this.createError(RangeError,`invalid status code ${n}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");t(i);return}let s=new Lu(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!nb(s)){let i=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");t(i);return}this._loop=!1,this.emit("conclude",n,s),this.end()}this._state=Vt;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=Vt):(this._state=Nu,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=Vt,this.startLoop(t)}))}createError(e,t,n,s,i){this._loop=!1,this._errored=!0;let o=new e(n?`Invalid WebSocket frame: ${t}`:t);return Error.captureStackTrace(o,this.createError),o.code=i,o[R8]=s,o}};ab.exports=oh});var lh=gt((w6,fb)=>{"use strict";var{Duplex:A6}=Ce("stream"),{randomFillSync:B8}=Ce("crypto"),cb=dl(),{EMPTY_BUFFER:I8}=Os(),{isValidStatusCode:O8}=hl(),{mask:lb,toBuffer:Xa}=ll(),Tr=Symbol("kByteLength"),C8=Buffer.alloc(4),vu=8*1024,zi,Ha=vu,ch=class r{constructor(e,t,n){this._extensions=t||{},n&&(this._generateMask=n,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._deflating=!1,this._queue=[]}static frame(e,t){let n,s=!1,i=2,o=!1;t.mask&&(n=t.maskBuffer||C8,t.generateMask?t.generateMask(n):(Ha===vu&&(zi===void 0&&(zi=Buffer.alloc(vu)),B8(zi,0,vu),Ha=0),n[0]=zi[Ha++],n[1]=zi[Ha++],n[2]=zi[Ha++],n[3]=zi[Ha++]),o=(n[0]|n[1]|n[2]|n[3])===0,i=6);let a;typeof e=="string"?(!t.mask||o)&&t[Tr]!==void 0?a=t[Tr]:(e=Buffer.from(e),a=e.length):(a=e.length,s=t.mask&&t.readOnly&&!o);let c=a;a>=65536?(i+=8,c=127):a>125&&(i+=2,c=126);let l=Buffer.allocUnsafe(s?a+i:i);return l[0]=t.fin?t.opcode|128:t.opcode,t.rsv1&&(l[0]|=64),l[1]=c,c===126?l.writeUInt16BE(a,2):c===127&&(l[2]=l[3]=0,l.writeUIntBE(a,4,6)),t.mask?(l[1]|=128,l[i-4]=n[0],l[i-3]=n[1],l[i-2]=n[2],l[i-1]=n[3],o?[l,e]:s?(lb(e,n,l,i,a),[l]):(lb(e,n,e,0,a),[l,e])):[l,e]}close(e,t,n,s){let i;if(e===void 0)i=I8;else{if(typeof e!="number"||!O8(e))throw new TypeError("First argument must be a valid error code number");if(t===void 0||!t.length)i=Buffer.allocUnsafe(2),i.writeUInt16BE(e,0);else{let a=Buffer.byteLength(t);if(a>123)throw new RangeError("The message must not be greater than 123 bytes");i=Buffer.allocUnsafe(2+a),i.writeUInt16BE(e,0),typeof t=="string"?i.write(t,2):i.set(t,2)}}let o={[Tr]:i.length,fin:!0,generateMask:this._generateMask,mask:n,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._deflating?this.enqueue([this.dispatch,i,!1,o,s]):this.sendFrame(r.frame(i,o),s)}ping(e,t,n){let s,i;if(typeof e=="string"?(s=Buffer.byteLength(e),i=!1):(e=Xa(e),s=e.length,i=Xa.readOnly),s>125)throw new RangeError("The data size must not be greater than 125 bytes");let o={[Tr]:s,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:9,readOnly:i,rsv1:!1};this._deflating?this.enqueue([this.dispatch,e,!1,o,n]):this.sendFrame(r.frame(e,o),n)}pong(e,t,n){let s,i;if(typeof e=="string"?(s=Buffer.byteLength(e),i=!1):(e=Xa(e),s=e.length,i=Xa.readOnly),s>125)throw new RangeError("The data size must not be greater than 125 bytes");let o={[Tr]:s,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:10,readOnly:i,rsv1:!1};this._deflating?this.enqueue([this.dispatch,e,!1,o,n]):this.sendFrame(r.frame(e,o),n)}send(e,t,n){let s=this._extensions[cb.extensionName],i=t.binary?2:1,o=t.compress,a,c;if(typeof e=="string"?(a=Buffer.byteLength(e),c=!1):(e=Xa(e),a=e.length,c=Xa.readOnly),this._firstFragment?(this._firstFragment=!1,o&&s&&s.params[s._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(o=a>=s._threshold),this._compress=o):(o=!1,i=0),t.fin&&(this._firstFragment=!0),s){let l={[Tr]:a,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:i,readOnly:c,rsv1:o};this._deflating?this.enqueue([this.dispatch,e,this._compress,l,n]):this.dispatch(e,this._compress,l,n)}else this.sendFrame(r.frame(e,{[Tr]:a,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:i,readOnly:c,rsv1:!1}),n)}dispatch(e,t,n,s){if(!t){this.sendFrame(r.frame(e,n),s);return}let i=this._extensions[cb.extensionName];this._bufferedBytes+=n[Tr],this._deflating=!0,i.compress(e,n.fin,(o,a)=>{if(this._socket.destroyed){let c=new Error("The socket was closed while data was being compressed");typeof s=="function"&&s(c);for(let l=0;l<this._queue.length;l++){let u=this._queue[l],d=u[u.length-1];typeof d=="function"&&d(c)}return}this._bufferedBytes-=n[Tr],this._deflating=!1,n.readOnly=!1,this.sendFrame(r.frame(a,n),s),this.dequeue()})}dequeue(){for(;!this._deflating&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][Tr],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][Tr],this._queue.push(e)}sendFrame(e,t){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],t),this._socket.uncork()):this._socket.write(e[0],t)}};fb.exports=ch});var yb=gt((E6,bb)=>{"use strict";var{kForOnEventAttribute:pl,kListener:fh}=Os(),ub=Symbol("kCode"),db=Symbol("kData"),hb=Symbol("kError"),pb=Symbol("kMessage"),xb=Symbol("kReason"),Va=Symbol("kTarget"),mb=Symbol("kType"),gb=Symbol("kWasClean"),Pn=class{constructor(e){this[Va]=null,this[mb]=e}get target(){return this[Va]}get type(){return this[mb]}};Object.defineProperty(Pn.prototype,"target",{enumerable:!0});Object.defineProperty(Pn.prototype,"type",{enumerable:!0});var Ki=class extends Pn{constructor(e,t={}){super(e),this[ub]=t.code===void 0?0:t.code,this[xb]=t.reason===void 0?"":t.reason,this[gb]=t.wasClean===void 0?!1:t.wasClean}get code(){return this[ub]}get reason(){return this[xb]}get wasClean(){return this[gb]}};Object.defineProperty(Ki.prototype,"code",{enumerable:!0});Object.defineProperty(Ki.prototype,"reason",{enumerable:!0});Object.defineProperty(Ki.prototype,"wasClean",{enumerable:!0});var Qa=class extends Pn{constructor(e,t={}){super(e),this[hb]=t.error===void 0?null:t.error,this[pb]=t.message===void 0?"":t.message}get error(){return this[hb]}get message(){return this[pb]}};Object.defineProperty(Qa.prototype,"error",{enumerable:!0});Object.defineProperty(Qa.prototype,"message",{enumerable:!0});var xl=class extends Pn{constructor(e,t={}){super(e),this[db]=t.data===void 0?null:t.data}get data(){return this[db]}};Object.defineProperty(xl.prototype,"data",{enumerable:!0});var P8={addEventListener(r,e,t={}){for(let s of this.listeners(r))if(!t[pl]&&s[fh]===e&&!s[pl])return;let n;if(r==="message")n=function(i,o){let a=new xl("message",{data:o?i:i.toString()});a[Va]=this,Bu(e,this,a)};else if(r==="close")n=function(i,o){let a=new Ki("close",{code:i,reason:o.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});a[Va]=this,Bu(e,this,a)};else if(r==="error")n=function(i){let o=new Qa("error",{error:i,message:i.message});o[Va]=this,Bu(e,this,o)};else if(r==="open")n=function(){let i=new Pn("open");i[Va]=this,Bu(e,this,i)};else return;n[pl]=!!t[pl],n[fh]=e,t.once?this.once(r,n):this.on(r,n)},removeEventListener(r,e){for(let t of this.listeners(r))if(t[fh]===e&&!t[pl]){this.removeListener(r,t);break}}};bb.exports={CloseEvent:Ki,ErrorEvent:Qa,Event:Pn,EventTarget:P8,MessageEvent:xl};function Bu(r,e,t){typeof r=="object"&&r.handleEvent?r.handleEvent.call(r,t):r.call(e,t)}});var uh=gt((T6,Ab)=>{"use strict";var{tokenChars:ml}=hl();function Zr(r,e,t){r[e]===void 0?r[e]=[t]:r[e].push(t)}function U8(r){let e=Object.create(null),t=Object.create(null),n=!1,s=!1,i=!1,o,a,c=-1,l=-1,u=-1,d=0;for(;d<r.length;d++)if(l=r.charCodeAt(d),o===void 0)if(u===-1&&ml[l]===1)c===-1&&(c=d);else if(d!==0&&(l===32||l===9))u===-1&&c!==-1&&(u=d);else if(l===59||l===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${d}`);u===-1&&(u=d);let m=r.slice(c,u);l===44?(Zr(e,m,t),t=Object.create(null)):o=m,c=u=-1}else throw new SyntaxError(`Unexpected character at index ${d}`);else if(a===void 0)if(u===-1&&ml[l]===1)c===-1&&(c=d);else if(l===32||l===9)u===-1&&c!==-1&&(u=d);else if(l===59||l===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${d}`);u===-1&&(u=d),Zr(t,r.slice(c,u),!0),l===44&&(Zr(e,o,t),t=Object.create(null),o=void 0),c=u=-1}else if(l===61&&c!==-1&&u===-1)a=r.slice(c,d),c=u=-1;else throw new SyntaxError(`Unexpected character at index ${d}`);else if(s){if(ml[l]!==1)throw new SyntaxError(`Unexpected character at index ${d}`);c===-1?c=d:n||(n=!0),s=!1}else if(i)if(ml[l]===1)c===-1&&(c=d);else if(l===34&&c!==-1)i=!1,u=d;else if(l===92)s=!0;else throw new SyntaxError(`Unexpected character at index ${d}`);else if(l===34&&r.charCodeAt(d-1)===61)i=!0;else if(u===-1&&ml[l]===1)c===-1&&(c=d);else if(c!==-1&&(l===32||l===9))u===-1&&(u=d);else if(l===59||l===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${d}`);u===-1&&(u=d);let m=r.slice(c,u);n&&(m=m.replace(/\\/g,""),n=!1),Zr(t,a,m),l===44&&(Zr(e,o,t),t=Object.create(null),o=void 0),a=void 0,c=u=-1}else throw new SyntaxError(`Unexpected character at index ${d}`);if(c===-1||i||l===32||l===9)throw new SyntaxError("Unexpected end of input");u===-1&&(u=d);let x=r.slice(c,u);return o===void 0?Zr(e,x,t):(a===void 0?Zr(t,x,!0):n?Zr(t,a,x.replace(/\\/g,"")):Zr(t,a,x),Zr(e,o,t)),e}function F8(r){return Object.keys(r).map(e=>{let t=r[e];return Array.isArray(t)||(t=[t]),t.map(n=>[e].concat(Object.keys(n).map(s=>{let i=n[s];return Array.isArray(i)||(i=[i]),i.map(o=>o===!0?s:`${s}=${o}`).join("; ")})).join("; ")).join(", ")}).join(", ")}Ab.exports={format:F8,parse:U8}});var mh=gt((L6,Ob)=>{"use strict";var M8=Ce("events"),k8=Ce("https"),J8=Ce("http"),Tb=Ce("net"),D8=Ce("tls"),{randomBytes:G8,createHash:_8}=Ce("crypto"),{Duplex:R6,Readable:S6}=Ce("stream"),{URL:dh}=Ce("url"),Ps=dl(),X8=ah(),H8=lh(),{BINARY_TYPES:wb,EMPTY_BUFFER:Iu,GUID:V8,kForOnEventAttribute:hh,kListener:Q8,kStatusCode:Z8,kWebSocket:tt,NOOP:Rb}=Os(),{EventTarget:{addEventListener:z8,removeEventListener:K8}}=yb(),{format:$8,parse:Y8}=uh(),{toBuffer:W8}=ll(),j8=30*1e3,Sb=Symbol("kAborted"),ph=[8,13],Un=["CONNECTING","OPEN","CLOSING","CLOSED"],q8=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,Ie=class r extends M8{constructor(e,t,n){super(),this._binaryType=wb[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=Iu,this._closeTimer=null,this._extensions={},this._paused=!1,this._protocol="",this._readyState=r.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,t===void 0?t=[]:Array.isArray(t)||(typeof t=="object"&&t!==null?(n=t,t=[]):t=[t]),Lb(this,e,t,n)):(this._autoPong=n.autoPong,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){wb.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,t,n){let s=new X8({allowSynchronousEvents:n.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:n.maxPayload,skipUTF8Validation:n.skipUTF8Validation});this._sender=new H8(e,this._extensions,n.generateMask),this._receiver=s,this._socket=e,s[tt]=this,e[tt]=this,s.on("conclude",r2),s.on("drain",n2),s.on("error",s2),s.on("message",i2),s.on("ping",o2),s.on("pong",a2),e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",vb),e.on("data",Cu),e.on("end",Bb),e.on("error",Ib),this._readyState=r.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=r.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[Ps.extensionName]&&this._extensions[Ps.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=r.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==r.CLOSED){if(this.readyState===r.CONNECTING){Bt(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===r.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=r.CLOSING,this._sender.close(e,t,!this._isServer,n=>{n||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),j8)}}pause(){this.readyState===r.CONNECTING||this.readyState===r.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,t,n){if(this.readyState===r.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(n=e,e=t=void 0):typeof t=="function"&&(n=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==r.OPEN){xh(this,e,n);return}t===void 0&&(t=!this._isServer),this._sender.ping(e||Iu,t,n)}pong(e,t,n){if(this.readyState===r.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(n=e,e=t=void 0):typeof t=="function"&&(n=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==r.OPEN){xh(this,e,n);return}t===void 0&&(t=!this._isServer),this._sender.pong(e||Iu,t,n)}resume(){this.readyState===r.CONNECTING||this.readyState===r.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,t,n){if(this.readyState===r.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof t=="function"&&(n=t,t={}),typeof e=="number"&&(e=e.toString()),this.readyState!==r.OPEN){xh(this,e,n);return}let s={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[Ps.extensionName]||(s.compress=!1),this._sender.send(e||Iu,s,n)}terminate(){if(this.readyState!==r.CLOSED){if(this.readyState===r.CONNECTING){Bt(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=r.CLOSING,this._socket.destroy())}}};Object.defineProperty(Ie,"CONNECTING",{enumerable:!0,value:Un.indexOf("CONNECTING")});Object.defineProperty(Ie.prototype,"CONNECTING",{enumerable:!0,value:Un.indexOf("CONNECTING")});Object.defineProperty(Ie,"OPEN",{enumerable:!0,value:Un.indexOf("OPEN")});Object.defineProperty(Ie.prototype,"OPEN",{enumerable:!0,value:Un.indexOf("OPEN")});Object.defineProperty(Ie,"CLOSING",{enumerable:!0,value:Un.indexOf("CLOSING")});Object.defineProperty(Ie.prototype,"CLOSING",{enumerable:!0,value:Un.indexOf("CLOSING")});Object.defineProperty(Ie,"CLOSED",{enumerable:!0,value:Un.indexOf("CLOSED")});Object.defineProperty(Ie.prototype,"CLOSED",{enumerable:!0,value:Un.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(r=>{Object.defineProperty(Ie.prototype,r,{enumerable:!0})});["open","error","close","message"].forEach(r=>{Object.defineProperty(Ie.prototype,`on${r}`,{enumerable:!0,get(){for(let e of this.listeners(r))if(e[hh])return e[Q8];return null},set(e){for(let t of this.listeners(r))if(t[hh]){this.removeListener(r,t);break}typeof e=="function"&&this.addEventListener(r,e,{[hh]:!0})}})});Ie.prototype.addEventListener=z8;Ie.prototype.removeEventListener=K8;Ob.exports=Ie;function Lb(r,e,t,n){let s={allowSynchronousEvents:!0,autoPong:!0,protocolVersion:ph[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...n,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(r._autoPong=s.autoPong,!ph.includes(s.protocolVersion))throw new RangeError(`Unsupported protocol version: ${s.protocolVersion} (supported versions: ${ph.join(", ")})`);let i;if(e instanceof dh)i=e;else try{i=new dh(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}i.protocol==="http:"?i.protocol="ws:":i.protocol==="https:"&&(i.protocol="wss:"),r._url=i.href;let o=i.protocol==="wss:",a=i.protocol==="ws+unix:",c;if(i.protocol!=="ws:"&&!o&&!a?c=`The URL's protocol must be one of "ws:", "wss:", "http:", "https", or "ws+unix:"`:a&&!i.pathname?c="The URL's pathname is empty":i.hash&&(c="The URL contains a fragment identifier"),c){let b=new SyntaxError(c);if(r._redirects===0)throw b;Ou(r,b);return}let l=o?443:80,u=G8(16).toString("base64"),d=o?k8.request:J8.request,x=new Set,m;if(s.createConnection=s.createConnection||(o?t2:e2),s.defaultPort=s.defaultPort||l,s.port=i.port||l,s.host=i.hostname.startsWith("[")?i.hostname.slice(1,-1):i.hostname,s.headers={...s.headers,"Sec-WebSocket-Version":s.protocolVersion,"Sec-WebSocket-Key":u,Connection:"Upgrade",Upgrade:"websocket"},s.path=i.pathname+i.search,s.timeout=s.handshakeTimeout,s.perMessageDeflate&&(m=new Ps(s.perMessageDeflate!==!0?s.perMessageDeflate:{},!1,s.maxPayload),s.headers["Sec-WebSocket-Extensions"]=$8({[Ps.extensionName]:m.offer()})),t.length){for(let b of t){if(typeof b!="string"||!q8.test(b)||x.has(b))throw new SyntaxError("An invalid or duplicated subprotocol was specified");x.add(b)}s.headers["Sec-WebSocket-Protocol"]=t.join(",")}if(s.origin&&(s.protocolVersion<13?s.headers["Sec-WebSocket-Origin"]=s.origin:s.headers.Origin=s.origin),(i.username||i.password)&&(s.auth=`${i.username}:${i.password}`),a){let b=s.path.split(":");s.socketPath=b[0],s.path=b[1]}let A;if(s.followRedirects){if(r._redirects===0){r._originalIpc=a,r._originalSecure=o,r._originalHostOrSocketPath=a?s.socketPath:i.host;let b=n&&n.headers;if(n={...n,headers:{}},b)for(let[E,T]of Object.entries(b))n.headers[E.toLowerCase()]=T}else if(r.listenerCount("redirect")===0){let b=a?r._originalIpc?s.socketPath===r._originalHostOrSocketPath:!1:r._originalIpc?!1:i.host===r._originalHostOrSocketPath;(!b||r._originalSecure&&!o)&&(delete s.headers.authorization,delete s.headers.cookie,b||delete s.headers.host,s.auth=void 0)}s.auth&&!n.headers.authorization&&(n.headers.authorization="Basic "+Buffer.from(s.auth).toString("base64")),A=r._req=d(s),r._redirects&&r.emit("redirect",r.url,A)}else A=r._req=d(s);s.timeout&&A.on("timeout",()=>{Bt(r,A,"Opening handshake has timed out")}),A.on("error",b=>{A===null||A[Sb]||(A=r._req=null,Ou(r,b))}),A.on("response",b=>{let E=b.headers.location,T=b.statusCode;if(E&&s.followRedirects&&T>=300&&T<400){if(++r._redirects>s.maxRedirects){Bt(r,A,"Maximum redirects exceeded");return}A.abort();let v;try{v=new dh(E,e)}catch{let D=new SyntaxError(`Invalid URL: ${E}`);Ou(r,D);return}Lb(r,v,t,n)}else r.emit("unexpected-response",A,b)||Bt(r,A,`Unexpected server response: ${b.statusCode}`)}),A.on("upgrade",(b,E,T)=>{if(r.emit("upgrade",b),r.readyState!==Ie.CONNECTING)return;A=r._req=null;let v=b.headers.upgrade;if(v===void 0||v.toLowerCase()!=="websocket"){Bt(r,E,"Invalid Upgrade header");return}let O=_8("sha1").update(u+V8).digest("base64");if(b.headers["sec-websocket-accept"]!==O){Bt(r,E,"Invalid Sec-WebSocket-Accept header");return}let D=b.headers["sec-websocket-protocol"],C;if(D!==void 0?x.size?x.has(D)||(C="Server sent an invalid subprotocol"):C="Server sent a subprotocol but none was requested":x.size&&(C="Server sent no subprotocol"),C){Bt(r,E,C);return}D&&(r._protocol=D);let P=b.headers["sec-websocket-extensions"];if(P!==void 0){if(!m){Bt(r,E,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let J;try{J=Y8(P)}catch{Bt(r,E,"Invalid Sec-WebSocket-Extensions header");return}let G=Object.keys(J);if(G.length!==1||G[0]!==Ps.extensionName){Bt(r,E,"Server indicated an extension that was not requested");return}try{m.accept(J[Ps.extensionName])}catch{Bt(r,E,"Invalid Sec-WebSocket-Extensions header");return}r._extensions[Ps.extensionName]=m}r.setSocket(E,T,{allowSynchronousEvents:s.allowSynchronousEvents,generateMask:s.generateMask,maxPayload:s.maxPayload,skipUTF8Validation:s.skipUTF8Validation})}),s.finishRequest?s.finishRequest(A,r):A.end()}function Ou(r,e){r._readyState=Ie.CLOSING,r.emit("error",e),r.emitClose()}function e2(r){return r.path=r.socketPath,Tb.connect(r)}function t2(r){return r.path=void 0,!r.servername&&r.servername!==""&&(r.servername=Tb.isIP(r.host)?"":r.host),D8.connect(r)}function Bt(r,e,t){r._readyState=Ie.CLOSING;let n=new Error(t);Error.captureStackTrace(n,Bt),e.setHeader?(e[Sb]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(Ou,r,n)):(e.destroy(n),e.once("error",r.emit.bind(r,"error")),e.once("close",r.emitClose.bind(r)))}function xh(r,e,t){if(e){let n=W8(e).length;r._socket?r._sender._bufferedBytes+=n:r._bufferedAmount+=n}if(t){let n=new Error(`WebSocket is not open: readyState ${r.readyState} (${Un[r.readyState]})`);process.nextTick(t,n)}}function r2(r,e){let t=this[tt];t._closeFrameReceived=!0,t._closeMessage=e,t._closeCode=r,t._socket[tt]!==void 0&&(t._socket.removeListener("data",Cu),process.nextTick(Nb,t._socket),r===1005?t.close():t.close(r,e))}function n2(){let r=this[tt];r.isPaused||r._socket.resume()}function s2(r){let e=this[tt];e._socket[tt]!==void 0&&(e._socket.removeListener("data",Cu),process.nextTick(Nb,e._socket),e.close(r[Z8])),e.emit("error",r)}function Eb(){this[tt].emitClose()}function i2(r,e){this[tt].emit("message",r,e)}function o2(r){let e=this[tt];e._autoPong&&e.pong(r,!this._isServer,Rb),e.emit("ping",r)}function a2(r){this[tt].emit("pong",r)}function Nb(r){r.resume()}function vb(){let r=this[tt];this.removeListener("close",vb),this.removeListener("data",Cu),this.removeListener("end",Bb),r._readyState=Ie.CLOSING;let e;!this._readableState.endEmitted&&!r._closeFrameReceived&&!r._receiver._writableState.errorEmitted&&(e=r._socket.read())!==null&&r._receiver.write(e),r._receiver.end(),this[tt]=void 0,clearTimeout(r._closeTimer),r._receiver._writableState.finished||r._receiver._writableState.errorEmitted?r.emitClose():(r._receiver.on("error",Eb),r._receiver.on("finish",Eb))}function Cu(r){this[tt]._receiver.write(r)||this.pause()}function Bb(){let r=this[tt];r._readyState=Ie.CLOSING,r._receiver.end(),this.end()}function Ib(){let r=this[tt];this.removeListener("error",Ib),this.on("error",Rb),r&&(r._readyState=Ie.CLOSING,this.destroy())}});var Pb=gt((N6,Cb)=>{"use strict";var{tokenChars:c2}=hl();function l2(r){let e=new Set,t=-1,n=-1,s=0;for(s;s<r.length;s++){let o=r.charCodeAt(s);if(n===-1&&c2[o]===1)t===-1&&(t=s);else if(s!==0&&(o===32||o===9))n===-1&&t!==-1&&(n=s);else if(o===44){if(t===-1)throw new SyntaxError(`Unexpected character at index ${s}`);n===-1&&(n=s);let a=r.slice(t,n);if(e.has(a))throw new SyntaxError(`The "${a}" subprotocol is duplicated`);e.add(a),t=n=-1}else throw new SyntaxError(`Unexpected character at index ${s}`)}if(t===-1||n!==-1)throw new SyntaxError("Unexpected end of input");let i=r.slice(t,s);if(e.has(i))throw new SyntaxError(`The "${i}" subprotocol is duplicated`);return e.add(i),e}Cb.exports={parse:l2}});var Gb=gt((B6,Db)=>{"use strict";var f2=Ce("events"),Pu=Ce("http"),{Duplex:v6}=Ce("stream"),{createHash:u2}=Ce("crypto"),Ub=uh(),$i=dl(),d2=Pb(),h2=mh(),{GUID:p2,kWebSocket:x2}=Os(),m2=/^[+/0-9A-Za-z]{22}==$/,Fb=0,Mb=1,Jb=2,gh=class extends f2{constructor(e,t){if(super(),e={allowSynchronousEvents:!0,autoPong:!0,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:h2,...e},e.port==null&&!e.server&&!e.noServer||e.port!=null&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(e.port!=null?(this._server=Pu.createServer((n,s)=>{let i=Pu.STATUS_CODES[426];s.writeHead(426,{"Content-Length":i.length,"Content-Type":"text/plain"}),s.end(i)}),this._server.listen(e.port,e.host,e.backlog,t)):e.server&&(this._server=e.server),this._server){let n=this.emit.bind(this,"connection");this._removeListeners=g2(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(s,i,o)=>{this.handleUpgrade(s,i,o,n)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=Fb}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(this._state===Jb){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(gl,this);return}if(e&&this.once("close",e),this._state!==Mb)if(this._state=Mb,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients?this.clients.size?this._shouldEmitClose=!0:process.nextTick(gl,this):process.nextTick(gl,this);else{let t=this._server;this._removeListeners(),this._removeListeners=this._server=null,t.close(()=>{gl(this)})}}shouldHandle(e){if(this.options.path){let t=e.url.indexOf("?");if((t!==-1?e.url.slice(0,t):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,t,n,s){t.on("error",kb);let i=e.headers["sec-websocket-key"],o=e.headers.upgrade,a=+e.headers["sec-websocket-version"];if(e.method!=="GET"){Yi(this,e,t,405,"Invalid HTTP method");return}if(o===void 0||o.toLowerCase()!=="websocket"){Yi(this,e,t,400,"Invalid Upgrade header");return}if(i===void 0||!m2.test(i)){Yi(this,e,t,400,"Missing or invalid Sec-WebSocket-Key header");return}if(a!==8&&a!==13){Yi(this,e,t,400,"Missing or invalid Sec-WebSocket-Version header");return}if(!this.shouldHandle(e)){bl(t,400);return}let c=e.headers["sec-websocket-protocol"],l=new Set;if(c!==void 0)try{l=d2.parse(c)}catch{Yi(this,e,t,400,"Invalid Sec-WebSocket-Protocol header");return}let u=e.headers["sec-websocket-extensions"],d={};if(this.options.perMessageDeflate&&u!==void 0){let x=new $i(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let m=Ub.parse(u);m[$i.extensionName]&&(x.accept(m[$i.extensionName]),d[$i.extensionName]=x)}catch{Yi(this,e,t,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let x={origin:e.headers[`${a===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(x,(m,A,b,E)=>{if(!m)return bl(t,A||401,b,E);this.completeUpgrade(d,i,l,e,t,n,s)});return}if(!this.options.verifyClient(x))return bl(t,401)}this.completeUpgrade(d,i,l,e,t,n,s)}completeUpgrade(e,t,n,s,i,o,a){if(!i.readable||!i.writable)return i.destroy();if(i[x2])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>Fb)return bl(i,503);let l=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${u2("sha1").update(t+p2).digest("base64")}`],u=new this.options.WebSocket(null,void 0,this.options);if(n.size){let d=this.options.handleProtocols?this.options.handleProtocols(n,s):n.values().next().value;d&&(l.push(`Sec-WebSocket-Protocol: ${d}`),u._protocol=d)}if(e[$i.extensionName]){let d=e[$i.extensionName].params,x=Ub.format({[$i.extensionName]:[d]});l.push(`Sec-WebSocket-Extensions: ${x}`),u._extensions=e}this.emit("headers",l,s),i.write(l.concat(`\r
2
- `).join(`\r
3
- `)),i.removeListener("error",kb),u.setSocket(i,o,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(u),u.on("close",()=>{this.clients.delete(u),this._shouldEmitClose&&!this.clients.size&&process.nextTick(gl,this)})),a(u,s)}};Db.exports=gh;function g2(r,e){for(let t of Object.keys(e))r.on(t,e[t]);return function(){for(let n of Object.keys(e))r.removeListener(n,e[n])}}function gl(r){r._state=Jb,r.emit("close")}function kb(){this.destroy()}function bl(r,e,t,n){t=t||Pu.STATUS_CODES[e],n={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(t),...n},r.once("finish",r.destroy),r.end(`HTTP/1.1 ${e} ${Pu.STATUS_CODES[e]}\r
4
- `+Object.keys(n).map(s=>`${s}: ${n[s]}`).join(`\r
5
- `)+`\r
6
- \r
7
- `+t)}function Yi(r,e,t,n,s){if(r.listenerCount("wsClientError")){let i=new Error(s);Error.captureStackTrace(i,Yi),r.emit("wsClientError",i,t,e)}else bl(t,n,s)}});var en=class extends Error{constructor(t,n,s){super(t);this.code=n;this.originalError=s;this.name="Web3PasskeyError"}},bo=class extends en{constructor(e,t){super(e,"AUTHENTICATION_ERROR",t),this.name="AuthenticationError"}},hc=class extends en{constructor(e,t){super(e,"REGISTRATION_ERROR",t),this.name="RegistrationError"}},Qn=class extends en{constructor(e,t){super(e,"WALLET_ERROR",t),this.name="WalletError"}},Xs=class extends en{constructor(e,t){super(e,"CRYPTO_ERROR",t),this.name="CryptoError"}},tn=class extends en{constructor(e,t){super(e,"STORAGE_ERROR",t),this.name="StorageError"}},vr=class extends en{constructor(t,n,s){super(t,"API_ERROR",s);this.statusCode=n;this.name="ApiError"}};var Ql=class{constructor(e,t=3e4){this.baseUrl=e;this.timeout=t}async fetchWithTimeout(e,t){let n=new AbortController,s=setTimeout(()=>n.abort(),this.timeout);try{let i=await fetch(e,{...t,signal:n.signal});return clearTimeout(s),i}catch(i){throw clearTimeout(s),i}}async post(e,t,n){try{let s=await this.fetchWithTimeout(`${this.baseUrl}${e}`,{method:"POST",headers:{"Content-Type":"application/json",...n?.headers},body:JSON.stringify(t),...n});if(!s.ok)throw new vr(`API request failed: ${s.statusText}`,s.status);return await s.json()}catch(s){throw s instanceof vr?s:new vr("Network request failed",void 0,s)}}async get(e,t){try{let n=await this.fetchWithTimeout(`${this.baseUrl}${e}`,{method:"GET",headers:{"Content-Type":"application/json",...t?.headers},...t});if(!n.ok)throw new vr(`API request failed: ${n.statusText}`,n.status);return await n.json()}catch(n){throw n instanceof vr?n:new vr("Network request failed",void 0,n)}}};var Ny="Web3PasskeyWallet",vy=1,Br="wallets",Zl=class{constructor(){this.db=null}async init(){return new Promise((e,t)=>{let n=indexedDB.open(Ny,vy);n.onerror=()=>t(new tn("Failed to open database",n.error)),n.onsuccess=()=>{this.db=n.result,e()},n.onupgradeneeded=()=>{let s=n.result;s.objectStoreNames.contains(Br)||s.createObjectStore(Br,{keyPath:"ethereumAddress"})}})}async store(e){return this.db||await this.init(),new Promise((t,n)=>{let o=this.db.transaction([Br],"readwrite").objectStore(Br).put(e);o.onerror=()=>n(new tn("Failed to store wallet data",o.error)),o.onsuccess=()=>t()})}async retrieve(e){return this.db||await this.init(),new Promise((t,n)=>{let o=this.db.transaction([Br],"readonly").objectStore(Br).get(e);o.onerror=()=>n(new tn("Failed to retrieve wallet data",o.error)),o.onsuccess=()=>t(o.result||null)})}async delete(e){return this.db||await this.init(),new Promise((t,n)=>{let o=this.db.transaction([Br],"readwrite").objectStore(Br).delete(e);o.onerror=()=>n(new tn("Failed to delete wallet data",o.error)),o.onsuccess=()=>t()})}async clear(){return this.db||await this.init(),new Promise((e,t)=>{let i=this.db.transaction([Br],"readwrite").objectStore(Br).clear();i.onerror=()=>t(new tn("Failed to clear wallet data",i.error)),i.onsuccess=()=>e()})}};var fc={};up(fc,{AbiCoder:()=>Mt,AbstractProvider:()=>_t,AbstractSigner:()=>Xt,AlchemyProvider:()=>Hi,AnkrProvider:()=>Xi,BaseContract:()=>Ln,BaseWallet:()=>Jn,Block:()=>Li,BlockscoutProvider:()=>Rl,BrowserProvider:()=>Tl,ChainstackProvider:()=>Vi,CloudflareProvider:()=>Qi,ConstructorFragment:()=>Fr,Contract:()=>dt,ContractEventPayload:()=>Ni,ContractFactory:()=>$c,ContractTransactionReceipt:()=>Aa,ContractTransactionResponse:()=>Sn,ContractUnknownEventPayload:()=>hs,EnsPlugin:()=>bs,EnsResolver:()=>ms,ErrorDescription:()=>ga,ErrorFragment:()=>ot,EtherSymbol:()=>K0,EtherscanPlugin:()=>cl,EtherscanProvider:()=>Zi,EventFragment:()=>Ur,EventLog:()=>Rn,EventPayload:()=>on,FallbackFragment:()=>Ti,FallbackProvider:()=>to,FeeData:()=>us,FeeDataNetworkPlugin:()=>jc,FetchCancelSignal:()=>vo,FetchRequest:()=>ae,FetchResponse:()=>er,FetchUrlFeeDataNetworkPlugin:()=>Ci,FixedNumber:()=>Yn,Fragment:()=>kr,FunctionFragment:()=>Mr,GasCostPlugin:()=>gs,HDNodeVoidWallet:()=>fo,HDNodeWallet:()=>Gn,Indexed:()=>Si,InfuraProvider:()=>Js,InfuraWebSocketProvider:()=>Ya,Interface:()=>wn,IpcSocketProvider:()=>Ll,JsonRpcApiProvider:()=>Is,JsonRpcProvider:()=>me,JsonRpcSigner:()=>Bs,LangEn:()=>mt,Log:()=>St,LogDescription:()=>xa,MaxInt256:()=>z0,MaxUint256:()=>Q0,MessagePrefix:()=>Oc,MinInt256:()=>Z0,Mnemonic:()=>Kr,MulticoinProviderPlugin:()=>Ta,N:()=>H0,NamedFragment:()=>An,Network:()=>$,NetworkPlugin:()=>Ar,NonceManager:()=>El,ParamType:()=>we,PocketProvider:()=>Sl,QuickNodeProvider:()=>eo,Result:()=>nr,Signature:()=>ve,SigningKey:()=>_e,SocketBlockSubscriber:()=>za,SocketEventSubscriber:()=>$a,SocketPendingSubscriber:()=>Ka,SocketProvider:()=>Fn,SocketSubscriber:()=>ks,StructFragment:()=>as,Transaction:()=>Rt,TransactionDescription:()=>ma,TransactionReceipt:()=>Tn,TransactionResponse:()=>Xr,Typed:()=>ue,TypedDataEncoder:()=>Ut,UndecodedEventLog:()=>ds,UnmanagedSubscriber:()=>wr,Utf8ErrorFuncs:()=>Yl,VoidSigner:()=>ki,Wallet:()=>Jl,WebSocketProvider:()=>Mn,WeiPerEther:()=>V0,Wordlist:()=>It,WordlistOwl:()=>ct,WordlistOwlA:()=>_n,ZeroAddress:()=>fr,ZeroHash:()=>_o,accessListify:()=>Xe,assert:()=>w,assertArgument:()=>p,assertArgumentCount:()=>Hs,assertNormalize:()=>Vs,assertPrivate:()=>De,authorizationify:()=>gi,checkResultErrors:()=>af,computeAddress:()=>pr,computeHmac:()=>sr,concat:()=>_,copyRequest:()=>kt,dataLength:()=>lt,dataSlice:()=>ee,decodeBase58:()=>xc,decodeBase64:()=>mc,decodeBytes32String:()=>Ld,decodeRlp:()=>fn,decryptCrowdsaleJson:()=>lc,decryptKeystoreJson:()=>Fl,decryptKeystoreJsonSync:()=>Ul,defaultPath:()=>ac,defineProperties:()=>N,dnsEncode:()=>Dc,encodeBase58:()=>Zs,encodeBase64:()=>gc,encodeBytes32String:()=>Sd,encodeRlp:()=>nt,encryptKeystoreJson:()=>co,encryptKeystoreJsonSync:()=>ao,ensNormalize:()=>Vf,formatEther:()=>y0,formatUnits:()=>tf,fromTwos:()=>nn,getAccountPath:()=>Gh,getAddress:()=>k,getBigInt:()=>B,getBytes:()=>L,getBytesCopy:()=>le,getCreate2Address:()=>W0,getCreateAddress:()=>pi,getDefaultProvider:()=>Sh,getIcapAddress:()=>Y0,getIndexedAccountPath:()=>_h,getNumber:()=>M,getUint:()=>Qs,hashAuthorization:()=>oa,hashMessage:()=>ua,hexlify:()=>R,id:()=>ge,isAddress:()=>q0,isAddressable:()=>Qo,isBytesLike:()=>Yt,isCallException:()=>Zn,isCrowdsaleJson:()=>cc,isError:()=>se,isHexString:()=>V,isKeystoreJson:()=>oc,isValidName:()=>md,keccak256:()=>H,lock:()=>nm,makeError:()=>Z,mask:()=>bt,namehash:()=>os,parseEther:()=>A0,parseUnits:()=>rf,pbkdf2:()=>st,randomBytes:()=>Ye,recoverAddress:()=>xr,resolveAddress:()=>xe,resolveProperties:()=>he,ripemd160:()=>ar,scrypt:()=>cr,scryptSync:()=>lr,sha256:()=>Ne,sha512:()=>ai,showThrottleMessage:()=>Qe,solidityPacked:()=>Gc,solidityPackedKeccak256:()=>bd,solidityPackedSha256:()=>yd,stripZerosLeft:()=>l0,toBeArray:()=>te,toBeHex:()=>Me,toBigInt:()=>Ot,toNumber:()=>pc,toQuantity:()=>Ue,toTwos:()=>sn,toUtf8Bytes:()=>re,toUtf8CodePoints:()=>u0,toUtf8String:()=>Le,uuidV4:()=>Tc,verifyAuthorization:()=>sd,verifyMessage:()=>gd,verifyTypedData:()=>Ed,version:()=>yo,wordlists:()=>rp,zeroPadBytes:()=>rn,zeroPadValue:()=>Se});var yo="6.15.0";function By(r,e,t){let n=e.split("|").map(i=>i.trim());for(let i=0;i<n.length;i++)switch(e){case"any":return;case"bigint":case"boolean":case"number":case"string":if(typeof r===e)return}let s=new Error(`invalid value for type ${e}`);throw s.code="INVALID_ARGUMENT",s.argument=`value.${t}`,s.value=r,s}async function he(r){let e=Object.keys(r);return(await Promise.all(e.map(n=>Promise.resolve(r[n])))).reduce((n,s,i)=>(n[e[i]]=s,n),{})}function N(r,e,t){for(let n in e){let s=e[n],i=t?t[n]:null;i&&By(s,i,n),Object.defineProperty(r,n,{enumerable:!0,value:s,writable:!1})}}function Ao(r,e){if(r==null)return"null";if(e==null&&(e=new Set),typeof r=="object"){if(e.has(r))return"[Circular]";e.add(r)}if(Array.isArray(r))return"[ "+r.map(t=>Ao(t,e)).join(", ")+" ]";if(r instanceof Uint8Array){let t="0123456789abcdef",n="0x";for(let s=0;s<r.length;s++)n+=t[r[s]>>4],n+=t[r[s]&15];return n}if(typeof r=="object"&&typeof r.toJSON=="function")return Ao(r.toJSON(),e);switch(typeof r){case"boolean":case"number":case"symbol":return r.toString();case"bigint":return BigInt(r).toString();case"string":return JSON.stringify(r);case"object":{let t=Object.keys(r);return t.sort(),"{ "+t.map(n=>`${Ao(n,e)}: ${Ao(r[n],e)}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function se(r,e){return r&&r.code===e}function Zn(r){return se(r,"CALL_EXCEPTION")}function Z(r,e,t){let n=r;{let i=[];if(t){if("message"in t||"code"in t||"name"in t)throw new Error(`value will overwrite populated values: ${Ao(t)}`);for(let o in t){if(o==="shortMessage")continue;let a=t[o];i.push(o+"="+Ao(a))}}i.push(`code=${e}`),i.push(`version=${yo}`),i.length&&(r+=" ("+i.join(", ")+")")}let s;switch(e){case"INVALID_ARGUMENT":s=new TypeError(r);break;case"NUMERIC_FAULT":case"BUFFER_OVERRUN":s=new RangeError(r);break;default:s=new Error(r)}return N(s,{code:e}),t&&Object.assign(s,t),s.shortMessage==null&&N(s,{shortMessage:n}),s}function w(r,e,t,n){if(!r)throw Z(e,t,n)}function p(r,e,t,n){w(r,e,"INVALID_ARGUMENT",{argument:t,value:n})}function Hs(r,e,t){t==null&&(t=""),t&&(t=": "+t),w(r>=e,"missing argument"+t,"MISSING_ARGUMENT",{count:r,expectedCount:e}),w(r<=e,"too many arguments"+t,"UNEXPECTED_ARGUMENT",{count:r,expectedCount:e})}var Iy=["NFD","NFC","NFKD","NFKC"].reduce((r,e)=>{try{if("test".normalize(e)!=="test")throw new Error("bad");if(e==="NFD"&&"\xE9".normalize("NFD")!=="e\u0301")throw new Error("broken");r.push(e)}catch{}return r},[]);function Vs(r){w(Iy.indexOf(r)>=0,"platform missing String.prototype.normalize","UNSUPPORTED_OPERATION",{operation:"String.prototype.normalize",info:{form:r}})}function De(r,e,t){if(t==null&&(t=""),r!==e){let n=t,s="new";t&&(n+=".",s+=" "+t),w(!1,`private constructor; use ${n}from* methods`,"UNSUPPORTED_OPERATION",{operation:s})}}function hp(r,e,t){if(r instanceof Uint8Array)return t?new Uint8Array(r):r;if(typeof r=="string"&&r.match(/^0x(?:[0-9a-f][0-9a-f])*$/i)){let n=new Uint8Array((r.length-2)/2),s=2;for(let i=0;i<n.length;i++)n[i]=parseInt(r.substring(s,s+2),16),s+=2;return n}p(!1,"invalid BytesLike value",e||"value",r)}function L(r,e){return hp(r,e,!1)}function le(r,e){return hp(r,e,!0)}function V(r,e){return!(typeof r!="string"||!r.match(/^0x[0-9A-Fa-f]*$/)||typeof e=="number"&&r.length!==2+2*e||e===!0&&r.length%2!==0)}function Yt(r){return V(r,!0)||r instanceof Uint8Array}var dp="0123456789abcdef";function R(r){let e=L(r),t="0x";for(let n=0;n<e.length;n++){let s=e[n];t+=dp[(s&240)>>4]+dp[s&15]}return t}function _(r){return"0x"+r.map(e=>R(e).substring(2)).join("")}function lt(r){return V(r,!0)?(r.length-2)/2:L(r).length}function ee(r,e,t){let n=L(r);return t!=null&&t>n.length&&w(!1,"cannot slice beyond data bounds","BUFFER_OVERRUN",{buffer:n,length:n.length,offset:t}),R(n.slice(e??0,t??n.length))}function l0(r){let e=R(r).substring(2);for(;e.startsWith("00");)e=e.substring(2);return"0x"+e}function pp(r,e,t){let n=L(r);w(e>=n.length,"padding exceeds data length","BUFFER_OVERRUN",{buffer:new Uint8Array(n),length:e,offset:e+1});let s=new Uint8Array(e);return s.fill(0),t?s.set(n,e-n.length):s.set(n,0),R(s)}function Se(r,e){return pp(r,e,!0)}function rn(r,e){return pp(r,e,!1)}var zl=BigInt(0),Wt=BigInt(1),wo=9007199254740991;function nn(r,e){let t=Qs(r,"value"),n=BigInt(M(e,"width"));if(w(t>>n===zl,"overflow","NUMERIC_FAULT",{operation:"fromTwos",fault:"overflow",value:r}),t>>n-Wt){let s=(Wt<<n)-Wt;return-((~t&s)+Wt)}return t}function sn(r,e){let t=B(r,"value"),n=BigInt(M(e,"width")),s=Wt<<n-Wt;if(t<zl){t=-t,w(t<=s,"too low","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:r});let i=(Wt<<n)-Wt;return(~t&i)+Wt}else w(t<s,"too high","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:r});return t}function bt(r,e){let t=Qs(r,"value"),n=BigInt(M(e,"bits"));return t&(Wt<<n)-Wt}function B(r,e){switch(typeof r){case"bigint":return r;case"number":return p(Number.isInteger(r),"underflow",e||"value",r),p(r>=-wo&&r<=wo,"overflow",e||"value",r),BigInt(r);case"string":try{if(r==="")throw new Error("empty string");return r[0]==="-"&&r[1]!=="-"?-BigInt(r.substring(1)):BigInt(r)}catch(t){p(!1,`invalid BigNumberish string: ${t.message}`,e||"value",r)}}p(!1,"invalid BigNumberish value",e||"value",r)}function Qs(r,e){let t=B(r,e);return w(t>=zl,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:r}),t}var xp="0123456789abcdef";function Ot(r){if(r instanceof Uint8Array){let e="0x0";for(let t of r)e+=xp[t>>4],e+=xp[t&15];return BigInt(e)}return B(r)}function M(r,e){switch(typeof r){case"bigint":return p(r>=-wo&&r<=wo,"overflow",e||"value",r),Number(r);case"number":return p(Number.isInteger(r),"underflow",e||"value",r),p(r>=-wo&&r<=wo,"overflow",e||"value",r),r;case"string":try{if(r==="")throw new Error("empty string");return M(BigInt(r),e)}catch(t){p(!1,`invalid numeric string: ${t.message}`,e||"value",r)}}p(!1,"invalid numeric value",e||"value",r)}function pc(r){return M(Ot(r))}function Me(r,e){let n=Qs(r,"value").toString(16);if(e==null)n.length%2&&(n="0"+n);else{let s=M(e,"width");for(w(s*2>=n.length,`value exceeds width (${s} bytes)`,"NUMERIC_FAULT",{operation:"toBeHex",fault:"overflow",value:r});n.length<s*2;)n="0"+n}return"0x"+n}function te(r){let e=Qs(r,"value");if(e===zl)return new Uint8Array([]);let t=e.toString(16);t.length%2&&(t="0"+t);let n=new Uint8Array(t.length/2);for(let s=0;s<n.length;s++){let i=s*2;n[s]=parseInt(t.substring(i,i+2),16)}return n}function Ue(r){let e=R(Yt(r)?r:te(r)).substring(2);for(;e.startsWith("0");)e=e.substring(1);return e===""&&(e="0"),"0x"+e}var $l="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",Kl=null;function Oy(r){if(Kl==null){Kl={};for(let t=0;t<$l.length;t++)Kl[$l[t]]=BigInt(t)}let e=Kl[r];return p(e!=null,"invalid base58 value","letter",r),e}var Cy=BigInt(0),f0=BigInt(58);function Zs(r){let e=L(r),t=Ot(e),n="";for(;t;)n=$l[Number(t%f0)]+n,t/=f0;for(let s=0;s<e.length&&!e[s];s++)n=$l[0]+n;return n}function xc(r){let e=Cy;for(let t=0;t<r.length;t++)e*=f0,e+=Oy(r[t]);return e}function mc(r){return le(Buffer.from(r,"base64"))}function gc(r){return Buffer.from(L(r)).toString("base64")}var Eo,on=class{constructor(e,t,n){g(this,"filter");g(this,"emitter");y(this,Eo);h(this,Eo,t),N(this,{emitter:e,filter:n})}async removeListener(){f(this,Eo)!=null&&await this.emitter.off(this.filter,f(this,Eo))}};Eo=new WeakMap;function Py(r,e,t,n,s){p(!1,`invalid codepoint at offset ${e}; ${r}`,"bytes",t)}function mp(r,e,t,n,s){if(r==="BAD_PREFIX"||r==="UNEXPECTED_CONTINUE"){let i=0;for(let o=e+1;o<t.length&&t[o]>>6===2;o++)i++;return i}return r==="OVERRUN"?t.length-e-1:0}function Uy(r,e,t,n,s){return r==="OVERLONG"?(p(typeof s=="number","invalid bad code point for replacement","badCodepoint",s),n.push(s),0):(n.push(65533),mp(r,e,t,n,s))}var Yl=Object.freeze({error:Py,ignore:mp,replace:Uy});function gp(r,e){e==null&&(e=Yl.error);let t=L(r,"bytes"),n=[],s=0;for(;s<t.length;){let i=t[s++];if(i>>7===0){n.push(i);continue}let o=null,a=null;if((i&224)===192)o=1,a=127;else if((i&240)===224)o=2,a=2047;else if((i&248)===240)o=3,a=65535;else{(i&192)===128?s+=e("UNEXPECTED_CONTINUE",s-1,t,n):s+=e("BAD_PREFIX",s-1,t,n);continue}if(s-1+o>=t.length){s+=e("OVERRUN",s-1,t,n);continue}let c=i&(1<<8-o-1)-1;for(let l=0;l<o;l++){let u=t[s];if((u&192)!=128){s+=e("MISSING_CONTINUE",s,t,n),c=null;break}c=c<<6|u&63,s++}if(c!==null){if(c>1114111){s+=e("OUT_OF_RANGE",s-1-o,t,n,c);continue}if(c>=55296&&c<=57343){s+=e("UTF16_SURROGATE",s-1-o,t,n,c);continue}if(c<=a){s+=e("OVERLONG",s-1-o,t,n,c);continue}n.push(c)}}return n}function re(r,e){p(typeof r=="string","invalid string value","str",r),e!=null&&(Vs(e),r=r.normalize(e));let t=[];for(let n=0;n<r.length;n++){let s=r.charCodeAt(n);if(s<128)t.push(s);else if(s<2048)t.push(s>>6|192),t.push(s&63|128);else if((s&64512)==55296){n++;let i=r.charCodeAt(n);p(n<r.length&&(i&64512)===56320,"invalid surrogate pair","str",r);let o=65536+((s&1023)<<10)+(i&1023);t.push(o>>18|240),t.push(o>>12&63|128),t.push(o>>6&63|128),t.push(o&63|128)}else t.push(s>>12|224),t.push(s>>6&63|128),t.push(s&63|128)}return new Uint8Array(t)}function Fy(r){return r.map(e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10&1023)+55296,(e&1023)+56320))).join("")}function Le(r,e){return Fy(gp(r,e))}function u0(r,e){return gp(re(r,e))}import My from"http";import ky from"https";import{gunzipSync as Jy}from"zlib";function Wl(r){async function e(t,n){w(n==null||!n.cancelled,"request cancelled before sending","CANCELLED");let s=t.url.split(":")[0].toLowerCase();w(s==="http"||s==="https",`unsupported protocol ${s}`,"UNSUPPORTED_OPERATION",{info:{protocol:s},operation:"request"}),w(s==="https"||!t.credentials||t.allowInsecureAuthentication,"insecure authorized connections unsupported","UNSUPPORTED_OPERATION",{operation:"request"});let i=t.method,o=Object.assign({},t.headers),a={method:i,headers:o};r&&r.agent&&(a.agent=r.agent);let c=null;try{c=new AbortController,a.abort=c.signal}catch(d){console.log(d)}let l=(s==="http"?My:ky).request(t.url,a);l.setTimeout(t.timeout);let u=t.body;return u&&l.write(Buffer.from(u)),l.end(),new Promise((d,x)=>{n&&n.addListener(()=>{c&&c.abort(),x(Z("request cancelled","CANCELLED"))}),l.on("timeout",()=>{x(Z("request timeout","TIMEOUT"))}),l.once("response",m=>{let A=m.statusCode||0,b=m.statusMessage||"",E=Object.keys(m.headers||{}).reduce((v,O)=>{let D=m.headers[O]||"";return Array.isArray(D)&&(D=D.join(", ")),v[O]=D,v},{}),T=null;m.on("data",v=>{if(n)try{n.checkSignal()}catch(O){return x(O)}if(T==null)T=v;else{let O=new Uint8Array(T.length+v.length);O.set(T,0),O.set(v,T.length),T=O}}),m.on("end",()=>{try{E["content-encoding"]==="gzip"&&T&&(T=L(Jy(T))),d({statusCode:A,statusMessage:b,headers:E,body:T})}catch(v){x(Z("bad response data","SERVER_ERROR",{request:t,info:{response:m,error:v}}))}}),m.on("error",v=>{v.response={statusCode:A,statusMessage:b,headers:E,body:T},x(v)})}),l.on("error",m=>{x(m)})})}return e}var bT=Wl({});var Dy=12,Gy=250,bp=Wl(),_y=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),Xy=new RegExp("^ipfs://(ipfs/)?(.*)$","i"),d0=!1;async function Ap(r,e){try{let t=r.match(_y);if(!t)throw new Error("invalid data");return new er(200,"OK",{"content-type":t[1]||"text/plain"},t[2]?mc(t[3]):Hy(t[3]))}catch{return new er(599,"BAD REQUEST (invalid data: URI)",{},null,new ae(r))}}function wp(r){async function e(t,n){try{let s=t.match(Xy);if(!s)throw new Error("invalid link");return new ae(`${r}${s[2]}`)}catch{return new er(599,"BAD REQUEST (invalid IPFS URI)",{},null,new ae(t))}}return e}var jl={data:Ap,ipfs:wp("https://gateway.ipfs.io/ipfs/")},Ep=new WeakMap,zs,zn,vo=class{constructor(e){y(this,zs);y(this,zn);h(this,zs,[]),h(this,zn,!1),Ep.set(e,()=>{if(!f(this,zn)){h(this,zn,!0);for(let t of f(this,zs))setTimeout(()=>{t()},0);h(this,zs,[])}})}addListener(e){w(!f(this,zn),"singal already cancelled","UNSUPPORTED_OPERATION",{operation:"fetchCancelSignal.addCancelListener"}),f(this,zs).push(e)}get cancelled(){return f(this,zn)}checkSignal(){w(!this.cancelled,"cancelled","CANCELLED",{})}};zs=new WeakMap,zn=new WeakMap;function ql(r){if(r==null)throw new Error("missing signal; should not happen");return r.checkSignal(),r}var To,Ro,jt,an,So,Lo,ke,yt,cn,Ks,$s,Ys,Ir,qt,Kn,Ws,bc,ef=class ef{constructor(e){y(this,Ws);y(this,To);y(this,Ro);y(this,jt);y(this,an);y(this,So);y(this,Lo);y(this,ke);y(this,yt);y(this,cn);y(this,Ks);y(this,$s);y(this,Ys);y(this,Ir);y(this,qt);y(this,Kn);h(this,Lo,String(e)),h(this,To,!1),h(this,Ro,!0),h(this,jt,{}),h(this,an,""),h(this,So,3e5),h(this,qt,{slotInterval:Gy,maxAttempts:Dy}),h(this,Kn,null)}get url(){return f(this,Lo)}set url(e){h(this,Lo,String(e))}get body(){return f(this,ke)==null?null:new Uint8Array(f(this,ke))}set body(e){if(e==null)h(this,ke,void 0),h(this,yt,void 0);else if(typeof e=="string")h(this,ke,re(e)),h(this,yt,"text/plain");else if(e instanceof Uint8Array)h(this,ke,e),h(this,yt,"application/octet-stream");else if(typeof e=="object")h(this,ke,re(JSON.stringify(e))),h(this,yt,"application/json");else throw new Error("invalid body")}hasBody(){return f(this,ke)!=null}get method(){return f(this,an)?f(this,an):this.hasBody()?"POST":"GET"}set method(e){e==null&&(e=""),h(this,an,String(e).toUpperCase())}get headers(){let e=Object.assign({},f(this,jt));return f(this,cn)&&(e.authorization=`Basic ${gc(re(f(this,cn)))}`),this.allowGzip&&(e["accept-encoding"]="gzip"),e["content-type"]==null&&f(this,yt)&&(e["content-type"]=f(this,yt)),this.body&&(e["content-length"]=String(this.body.length)),e}getHeader(e){return this.headers[e.toLowerCase()]}setHeader(e,t){f(this,jt)[String(e).toLowerCase()]=String(t)}clearHeaders(){h(this,jt,{})}[Symbol.iterator](){let e=this.headers,t=Object.keys(e),n=0;return{next:()=>{if(n<t.length){let s=t[n++];return{value:[s,e[s]],done:!1}}return{value:void 0,done:!0}}}}get credentials(){return f(this,cn)||null}setCredentials(e,t){p(!e.match(/:/),"invalid basic authentication username","username","[REDACTED]"),h(this,cn,`${e}:${t}`)}get allowGzip(){return f(this,Ro)}set allowGzip(e){h(this,Ro,!!e)}get allowInsecureAuthentication(){return!!f(this,To)}set allowInsecureAuthentication(e){h(this,To,!!e)}get timeout(){return f(this,So)}set timeout(e){p(e>=0,"timeout must be non-zero","timeout",e),h(this,So,e)}get preflightFunc(){return f(this,Ks)||null}set preflightFunc(e){h(this,Ks,e)}get processFunc(){return f(this,$s)||null}set processFunc(e){h(this,$s,e)}get retryFunc(){return f(this,Ys)||null}set retryFunc(e){h(this,Ys,e)}get getUrlFunc(){return f(this,Kn)||bp}set getUrlFunc(e){h(this,Kn,e)}toString(){return`<FetchRequest method=${JSON.stringify(this.method)} url=${JSON.stringify(this.url)} headers=${JSON.stringify(this.headers)} body=${f(this,ke)?R(f(this,ke)):"null"}>`}setThrottleParams(e){e.slotInterval!=null&&(f(this,qt).slotInterval=e.slotInterval),e.maxAttempts!=null&&(f(this,qt).maxAttempts=e.maxAttempts)}send(){return w(f(this,Ir)==null,"request already sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.send"}),h(this,Ir,new vo(this)),S(this,Ws,bc).call(this,0,yp()+this.timeout,0,this,new er(0,"",{},null,this))}cancel(){w(f(this,Ir)!=null,"request has not been sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.cancel"});let e=Ep.get(this);if(!e)throw new Error("missing signal; should not happen");e()}redirect(e){let t=this.url.split(":")[0].toLowerCase(),n=e.split(":")[0].toLowerCase();w(this.method==="GET"&&(t!=="https"||n!=="http")&&e.match(/^https?:/),"unsupported redirect","UNSUPPORTED_OPERATION",{operation:`redirect(${this.method} ${JSON.stringify(this.url)} => ${JSON.stringify(e)})`});let s=new ef(e);return s.method="GET",s.allowGzip=this.allowGzip,s.timeout=this.timeout,h(s,jt,Object.assign({},f(this,jt))),f(this,ke)&&h(s,ke,new Uint8Array(f(this,ke))),h(s,yt,f(this,yt)),s}clone(){let e=new ef(this.url);return h(e,an,f(this,an)),f(this,ke)&&h(e,ke,f(this,ke)),h(e,yt,f(this,yt)),h(e,jt,Object.assign({},f(this,jt))),h(e,cn,f(this,cn)),this.allowGzip&&(e.allowGzip=!0),e.timeout=this.timeout,this.allowInsecureAuthentication&&(e.allowInsecureAuthentication=!0),h(e,Ks,f(this,Ks)),h(e,$s,f(this,$s)),h(e,Ys,f(this,Ys)),h(e,qt,Object.assign({},f(this,qt))),h(e,Kn,f(this,Kn)),e}static lockConfig(){d0=!0}static getGateway(e){return jl[e.toLowerCase()]||null}static registerGateway(e,t){if(e=e.toLowerCase(),e==="http"||e==="https")throw new Error(`cannot intercept ${e}; use registerGetUrl`);if(d0)throw new Error("gateways locked");jl[e]=t}static registerGetUrl(e){if(d0)throw new Error("gateways locked");bp=e}static createGetUrlFunc(e){return Wl(e)}static createDataGateway(){return Ap}static createIpfsGatewayFunc(e){return wp(e)}};To=new WeakMap,Ro=new WeakMap,jt=new WeakMap,an=new WeakMap,So=new WeakMap,Lo=new WeakMap,ke=new WeakMap,yt=new WeakMap,cn=new WeakMap,Ks=new WeakMap,$s=new WeakMap,Ys=new WeakMap,Ir=new WeakMap,qt=new WeakMap,Kn=new WeakMap,Ws=new WeakSet,bc=async function(e,t,n,s,i){var u,d,x;if(e>=f(this,qt).maxAttempts)return i.makeServerError("exceeded maximum retry limit");w(yp()<=t,"timeout","TIMEOUT",{operation:"request.send",reason:"timeout",request:s}),n>0&&await Vy(n);let o=this.clone(),a=(o.url.split(":")[0]||"").toLowerCase();if(a in jl){let m=await jl[a](o.url,ql(f(s,Ir)));if(m instanceof er){let A=m;if(this.processFunc){ql(f(s,Ir));try{A=await this.processFunc(o,A)}catch(b){(b.throttle==null||typeof b.stall!="number")&&A.makeServerError("error in post-processing function",b).assertOk()}}return A}o=m}this.preflightFunc&&(o=await this.preflightFunc(o));let c=await this.getUrlFunc(o,ql(f(s,Ir))),l=new er(c.statusCode,c.statusMessage,c.headers,c.body,s);if(l.statusCode===301||l.statusCode===302){try{let m=l.headers.location||"";return S(u=o.redirect(m),Ws,bc).call(u,e+1,t,0,s,l)}catch{}return l}else if(l.statusCode===429&&(this.retryFunc==null||await this.retryFunc(o,l,e))){let m=l.headers["retry-after"],A=f(this,qt).slotInterval*Math.trunc(Math.random()*Math.pow(2,e));return typeof m=="string"&&m.match(/^[1-9][0-9]*$/)&&(A=parseInt(m)),S(d=o.clone(),Ws,bc).call(d,e+1,t,A,s,l)}if(this.processFunc){ql(f(s,Ir));try{l=await this.processFunc(o,l)}catch(m){(m.throttle==null||typeof m.stall!="number")&&l.makeServerError("error in post-processing function",m).assertOk();let A=f(this,qt).slotInterval*Math.trunc(Math.random()*Math.pow(2,e));return m.stall>=0&&(A=m.stall),S(x=o.clone(),Ws,bc).call(x,e+1,t,A,s,l)}}return l};var ae=ef,yc,Ac,wc,At,No,js,h0=class h0{constructor(e,t,n,s,i){y(this,yc);y(this,Ac);y(this,wc);y(this,At);y(this,No);y(this,js);h(this,yc,e),h(this,Ac,t),h(this,wc,Object.keys(n).reduce((o,a)=>(o[a.toLowerCase()]=String(n[a]),o),{})),h(this,At,s==null?null:new Uint8Array(s)),h(this,No,i||null),h(this,js,{message:""})}toString(){return`<FetchResponse status=${this.statusCode} body=${f(this,At)?R(f(this,At)):"null"}>`}get statusCode(){return f(this,yc)}get statusMessage(){return f(this,Ac)}get headers(){return Object.assign({},f(this,wc))}get body(){return f(this,At)==null?null:new Uint8Array(f(this,At))}get bodyText(){try{return f(this,At)==null?"":Le(f(this,At))}catch{w(!1,"response body is not valid UTF-8 data","UNSUPPORTED_OPERATION",{operation:"bodyText",info:{response:this}})}}get bodyJson(){try{return JSON.parse(this.bodyText)}catch{w(!1,"response body is not valid JSON","UNSUPPORTED_OPERATION",{operation:"bodyJson",info:{response:this}})}}[Symbol.iterator](){let e=this.headers,t=Object.keys(e),n=0;return{next:()=>{if(n<t.length){let s=t[n++];return{value:[s,e[s]],done:!1}}return{value:void 0,done:!0}}}}makeServerError(e,t){let n;e?n=`CLIENT ESCALATED SERVER ERROR (${this.statusCode} ${this.statusMessage}; ${e})`:(e=`${this.statusCode} ${this.statusMessage}`,n=`CLIENT ESCALATED SERVER ERROR (${e})`);let s=new h0(599,n,this.headers,this.body,f(this,No)||void 0);return h(s,js,{message:e,error:t}),s}throwThrottleError(e,t){t==null?t=-1:p(Number.isInteger(t)&&t>=0,"invalid stall timeout","stall",t);let n=new Error(e||"throttling requests");throw N(n,{stall:t,throttle:!0}),n}getHeader(e){return this.headers[e.toLowerCase()]}hasBody(){return f(this,At)!=null}get request(){return f(this,No)}ok(){return f(this,js).message===""&&this.statusCode>=200&&this.statusCode<300}assertOk(){if(this.ok())return;let{message:e,error:t}=f(this,js);e===""&&(e=`server response ${this.statusCode} ${this.statusMessage}`);let n=null;this.request&&(n=this.request.url);let s=null;try{f(this,At)&&(s=Le(f(this,At)))}catch{}w(!1,e,"SERVER_ERROR",{request:this.request||"unknown request",response:this,error:t,info:{requestUrl:n,responseBody:s,responseStatus:`${this.statusCode} ${this.statusMessage}`}})}};yc=new WeakMap,Ac=new WeakMap,wc=new WeakMap,At=new WeakMap,No=new WeakMap,js=new WeakMap;var er=h0;function yp(){return new Date().getTime()}function Hy(r){return re(r.replace(/%([0-9a-f][0-9a-f])/gi,(e,t)=>String.fromCharCode(parseInt(t,16))))}function Vy(r){return new Promise(e=>setTimeout(e,r))}var Qy=BigInt(-1),tr=BigInt(0),Io=BigInt(1),Zy=BigInt(5),Bo={},Oo="0000";for(;Oo.length<80;)Oo+=Oo;function qs(r){let e=Oo;for(;e.length<r;)e+=e;return BigInt("1"+e.substring(0,r))}function Ec(r,e,t){let n=BigInt(e.width);if(e.signed){let s=Io<<n-Io;w(t==null||r>=-s&&r<s,"overflow","NUMERIC_FAULT",{operation:t,fault:"overflow",value:r}),r>tr?r=nn(bt(r,n),n):r=-nn(bt(-r,n),n)}else{let s=Io<<n;w(t==null||r>=0&&r<s,"overflow","NUMERIC_FAULT",{operation:t,fault:"overflow",value:r}),r=(r%s+s)%s&s-Io}return r}function p0(r){typeof r=="number"&&(r=`fixed128x${r}`);let e=!0,t=128,n=18;if(typeof r=="string"){if(r!=="fixed")if(r==="ufixed")e=!1;else{let i=r.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);p(i,"invalid fixed format","format",r),e=i[1]!=="u",t=parseInt(i[2]),n=parseInt(i[3])}}else if(r){let i=r,o=(a,c,l)=>i[a]==null?l:(p(typeof i[a]===c,"invalid fixed format ("+a+" not "+c+")","format."+a,i[a]),i[a]);e=o("signed","boolean",e),t=o("width","number",t),n=o("decimals","number",n)}p(t%8===0,"invalid FixedNumber width (not byte aligned)","format.width",t),p(n<=80,"invalid FixedNumber decimals (too large)","format.decimals",n);let s=(e?"":"u")+"fixed"+String(t)+"x"+String(n);return{signed:e,width:t,decimals:n,name:s}}function zy(r,e){let t="";r<tr&&(t="-",r*=Qy);let n=r.toString();if(e===0)return t+n;for(;n.length<=e;)n=Oo+n;let s=n.length-e;for(n=n.substring(0,s)+"."+n.substring(s);n[0]==="0"&&n[1]!==".";)n=n.substring(1);for(;n[n.length-1]==="0"&&n[n.length-2]!==".";)n=n.substring(0,n.length-1);return t+n}var rr,fe,rt,ce,ei,ln,x0,m0,g0,b0,$n=class $n{constructor(e,t,n){y(this,ce);g(this,"format");y(this,rr);y(this,fe);y(this,rt);g(this,"_value");De(e,Bo,"FixedNumber"),h(this,fe,t),h(this,rr,n);let s=zy(t,n.decimals);N(this,{format:n.name,_value:s}),h(this,rt,qs(n.decimals))}get signed(){return f(this,rr).signed}get width(){return f(this,rr).width}get decimals(){return f(this,rr).decimals}get value(){return f(this,fe)}addUnsafe(e){return S(this,ce,x0).call(this,e)}add(e){return S(this,ce,x0).call(this,e,"add")}subUnsafe(e){return S(this,ce,m0).call(this,e)}sub(e){return S(this,ce,m0).call(this,e,"sub")}mulUnsafe(e){return S(this,ce,g0).call(this,e)}mul(e){return S(this,ce,g0).call(this,e,"mul")}mulSignal(e){S(this,ce,ei).call(this,e);let t=f(this,fe)*f(e,fe);return w(t%f(this,rt)===tr,"precision lost during signalling mul","NUMERIC_FAULT",{operation:"mulSignal",fault:"underflow",value:this}),S(this,ce,ln).call(this,t/f(this,rt),"mulSignal")}divUnsafe(e){return S(this,ce,b0).call(this,e)}div(e){return S(this,ce,b0).call(this,e,"div")}divSignal(e){w(f(e,fe)!==tr,"division by zero","NUMERIC_FAULT",{operation:"div",fault:"divide-by-zero",value:this}),S(this,ce,ei).call(this,e);let t=f(this,fe)*f(this,rt);return w(t%f(e,fe)===tr,"precision lost during signalling div","NUMERIC_FAULT",{operation:"divSignal",fault:"underflow",value:this}),S(this,ce,ln).call(this,t/f(e,fe),"divSignal")}cmp(e){let t=this.value,n=e.value,s=this.decimals-e.decimals;return s>0?n*=qs(s):s<0&&(t*=qs(-s)),t<n?-1:t>n?1:0}eq(e){return this.cmp(e)===0}lt(e){return this.cmp(e)<0}lte(e){return this.cmp(e)<=0}gt(e){return this.cmp(e)>0}gte(e){return this.cmp(e)>=0}floor(){let e=f(this,fe);return f(this,fe)<tr&&(e-=f(this,rt)-Io),e=f(this,fe)/f(this,rt)*f(this,rt),S(this,ce,ln).call(this,e,"floor")}ceiling(){let e=f(this,fe);return f(this,fe)>tr&&(e+=f(this,rt)-Io),e=f(this,fe)/f(this,rt)*f(this,rt),S(this,ce,ln).call(this,e,"ceiling")}round(e){if(e==null&&(e=0),e>=this.decimals)return this;let t=this.decimals-e,n=Zy*qs(t-1),s=this.value+n,i=qs(t);return s=s/i*i,Ec(s,f(this,rr),"round"),new $n(Bo,s,f(this,rr))}isZero(){return f(this,fe)===tr}isNegative(){return f(this,fe)<tr}toString(){return this._value}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(e){return $n.fromString(this.toString(),e)}static fromValue(e,t,n){let s=t==null?0:M(t),i=p0(n),o=B(e,"value"),a=s-i.decimals;if(a>0){let c=qs(a);w(o%c===tr,"value loses precision for format","NUMERIC_FAULT",{operation:"fromValue",fault:"underflow",value:e}),o/=c}else a<0&&(o*=qs(-a));return Ec(o,i,"fromValue"),new $n(Bo,o,i)}static fromString(e,t){let n=e.match(/^(-?)([0-9]*)\.?([0-9]*)$/);p(n&&n[2].length+n[3].length>0,"invalid FixedNumber string value","value",e);let s=p0(t),i=n[2]||"0",o=n[3]||"";for(;o.length<s.decimals;)o+=Oo;w(o.substring(s.decimals).match(/^0*$/),"too many decimals for format","NUMERIC_FAULT",{operation:"fromString",fault:"underflow",value:e}),o=o.substring(0,s.decimals);let a=BigInt(n[1]+i+o);return Ec(a,s,"fromString"),new $n(Bo,a,s)}static fromBytes(e,t){let n=Ot(L(e,"value")),s=p0(t);return s.signed&&(n=nn(n,s.width)),Ec(n,s,"fromBytes"),new $n(Bo,n,s)}};rr=new WeakMap,fe=new WeakMap,rt=new WeakMap,ce=new WeakSet,ei=function(e){p(this.format===e.format,"incompatible format; use fixedNumber.toFormat","other",e)},ln=function(e,t){return e=Ec(e,f(this,rr),t),new $n(Bo,e,f(this,rr))},x0=function(e,t){return S(this,ce,ei).call(this,e),S(this,ce,ln).call(this,f(this,fe)+f(e,fe),t)},m0=function(e,t){return S(this,ce,ei).call(this,e),S(this,ce,ln).call(this,f(this,fe)-f(e,fe),t)},g0=function(e,t){return S(this,ce,ei).call(this,e),S(this,ce,ln).call(this,f(this,fe)*f(e,fe)/f(this,rt),t)},b0=function(e,t){return w(f(e,fe)!==tr,"division by zero","NUMERIC_FAULT",{operation:"div",fault:"divide-by-zero",value:this}),S(this,ce,ei).call(this,e),S(this,ce,ln).call(this,f(this,fe)*f(this,rt)/f(e,fe),t)};var Yn=$n;function Ky(r){let e=r.toString(16);for(;e.length<2;)e="0"+e;return"0x"+e}function Tp(r,e,t){let n=0;for(let s=0;s<t;s++)n=n*256+r[e+s];return n}function Rp(r,e,t,n){let s=[];for(;t<e+1+n;){let i=Sp(r,t);s.push(i.result),t+=i.consumed,w(t<=e+1+n,"child data too short","BUFFER_OVERRUN",{buffer:r,length:n,offset:e})}return{consumed:1+n,result:s}}function Sp(r,e){w(r.length!==0,"data too short","BUFFER_OVERRUN",{buffer:r,length:0,offset:1});let t=n=>{w(n<=r.length,"data short segment too short","BUFFER_OVERRUN",{buffer:r,length:r.length,offset:n})};if(r[e]>=248){let n=r[e]-247;t(e+1+n);let s=Tp(r,e+1,n);return t(e+1+n+s),Rp(r,e,e+1+n,n+s)}else if(r[e]>=192){let n=r[e]-192;return t(e+1+n),Rp(r,e,e+1,n)}else if(r[e]>=184){let n=r[e]-183;t(e+1+n);let s=Tp(r,e+1,n);t(e+1+n+s);let i=R(r.slice(e+1+n,e+1+n+s));return{consumed:1+n+s,result:i}}else if(r[e]>=128){let n=r[e]-128;t(e+1+n);let s=R(r.slice(e+1,e+1+n));return{consumed:1+n,result:s}}return{consumed:1,result:Ky(r[e])}}function fn(r){let e=L(r,"data"),t=Sp(e,0);return p(t.consumed===e.length,"unexpected junk after rlp payload","data",r),t.result}function Lp(r){let e=[];for(;r;)e.unshift(r&255),r>>=8;return e}function vp(r){if(Array.isArray(r)){let n=[];if(r.forEach(function(i){n=n.concat(vp(i))}),n.length<=55)return n.unshift(192+n.length),n;let s=Lp(n.length);return s.unshift(247+s.length),s.concat(n)}let e=Array.prototype.slice.call(L(r,"object"));if(e.length===1&&e[0]<=127)return e;if(e.length<=55)return e.unshift(128+e.length),e;let t=Lp(e.length);return t.unshift(183+t.length),t.concat(e)}var Np="0123456789abcdef";function nt(r){let e="0x";for(let t of vp(r))e+=Np[t>>4],e+=Np[t&15];return e}var Bp=["wei","kwei","mwei","gwei","szabo","finney","ether"];function tf(r,e){let t=18;if(typeof e=="string"){let n=Bp.indexOf(e);p(n>=0,"invalid unit","unit",e),t=3*n}else e!=null&&(t=M(e,"unit"));return Yn.fromValue(r,t,{decimals:t,width:512}).toString()}function rf(r,e){p(typeof r=="string","value must be a string","value",r);let t=18;if(typeof e=="string"){let n=Bp.indexOf(e);p(n>=0,"invalid unit","unit",e),t=3*n}else e!=null&&(t=M(e,"unit"));return Yn.fromString(r,{decimals:t,width:512}).value}function y0(r){return tf(r,18)}function A0(r){return rf(r,18)}function Tc(r){let e=L(r,"randomBytes");e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=R(e);return[t.substring(2,10),t.substring(10,14),t.substring(14,18),t.substring(18,22),t.substring(22,34)].join("-")}var Ge=32,w0=new Uint8Array(Ge),$y=["then"],nf={},Cp=new WeakMap;function ti(r){return Cp.get(r)}function Ip(r,e){Cp.set(r,e)}function Rc(r,e){let t=new Error(`deferred error during ABI decoding triggered accessing ${r}`);throw t.error=e,t}function E0(r,e,t){return r.indexOf(null)>=0?e.map((n,s)=>n instanceof nr?E0(ti(n),n,t):n):r.reduce((n,s,i)=>{let o=e.getValue(s);return s in n||(t&&o instanceof nr&&(o=E0(ti(o),o,t)),n[s]=o),n},{})}var Po,Co=class Co extends Array{constructor(...t){let n=t[0],s=t[1],i=(t[2]||[]).slice(),o=!0;n!==nf&&(s=t,i=[],o=!1);super(s.length);y(this,Po);s.forEach((l,u)=>{this[u]=l});let a=i.reduce((l,u)=>(typeof u=="string"&&l.set(u,(l.get(u)||0)+1),l),new Map);if(Ip(this,Object.freeze(s.map((l,u)=>{let d=i[u];return d!=null&&a.get(d)===1?d:null}))),h(this,Po,[]),f(this,Po)==null&&f(this,Po),!o)return;Object.freeze(this);let c=new Proxy(this,{get:(l,u,d)=>{if(typeof u=="string"){if(u.match(/^[0-9]+$/)){let m=M(u,"%index");if(m<0||m>=this.length)throw new RangeError("out of result range");let A=l[m];return A instanceof Error&&Rc(`index ${m}`,A),A}if($y.indexOf(u)>=0)return Reflect.get(l,u,d);let x=l[u];if(x instanceof Function)return function(...m){return x.apply(this===d?l:this,m)};if(!(u in l))return l.getValue.apply(this===d?l:this,[u])}return Reflect.get(l,u,d)}});return Ip(c,ti(this)),c}toArray(t){let n=[];return this.forEach((s,i)=>{s instanceof Error&&Rc(`index ${i}`,s),t&&s instanceof Co&&(s=s.toArray(t)),n.push(s)}),n}toObject(t){let n=ti(this);return n.reduce((s,i,o)=>(w(i!=null,`value at index ${o} unnamed`,"UNSUPPORTED_OPERATION",{operation:"toObject()"}),E0(n,this,t)),{})}slice(t,n){t==null&&(t=0),t<0&&(t+=this.length,t<0&&(t=0)),n==null&&(n=this.length),n<0&&(n+=this.length,n<0&&(n=0)),n>this.length&&(n=this.length);let s=ti(this),i=[],o=[];for(let a=t;a<n;a++)i.push(this[a]),o.push(s[a]);return new Co(nf,i,o)}filter(t,n){let s=ti(this),i=[],o=[];for(let a=0;a<this.length;a++){let c=this[a];c instanceof Error&&Rc(`index ${a}`,c),t.call(n,c,a,this)&&(i.push(c),o.push(s[a]))}return new Co(nf,i,o)}map(t,n){let s=[];for(let i=0;i<this.length;i++){let o=this[i];o instanceof Error&&Rc(`index ${i}`,o),s.push(t.call(n,o,i,this))}return s}getValue(t){let n=ti(this).indexOf(t);if(n===-1)return;let s=this[n];return s instanceof Error&&Rc(`property ${JSON.stringify(t)}`,s.error),s}static fromItems(t,n){return new Co(nf,t,n)}};Po=new WeakMap;var nr=Co;function af(r){let e=[],t=function(n,s){if(Array.isArray(s))for(let i in s){let o=n.slice();o.push(i);try{t(o,s[i])}catch(a){e.push({path:o,error:a})}}};return t([],r),e}function Op(r){let e=te(r);return w(e.length<=Ge,"value out-of-bounds","BUFFER_OVERRUN",{buffer:e,length:Ge,offset:e.length}),e.length!==Ge&&(e=le(_([w0.slice(e.length%Ge),e]))),e}var Pe=class{constructor(e,t,n,s){g(this,"name");g(this,"type");g(this,"localName");g(this,"dynamic");N(this,{name:e,type:t,localName:n,dynamic:s},{name:"string",type:"string",localName:"string",dynamic:"boolean"})}_throwError(e,t){p(!1,e,this.localName,t)}},un,ri,Uo,sf,ii=class{constructor(){y(this,Uo);y(this,un);y(this,ri);h(this,un,[]),h(this,ri,0)}get data(){return _(f(this,un))}get length(){return f(this,ri)}appendWriter(e){return S(this,Uo,sf).call(this,le(e.data))}writeBytes(e){let t=le(e),n=t.length%Ge;return n&&(t=le(_([t,w0.slice(n)]))),S(this,Uo,sf).call(this,t)}writeValue(e){return S(this,Uo,sf).call(this,Op(e))}writeUpdatableValue(){let e=f(this,un).length;return f(this,un).push(w0),h(this,ri,f(this,ri)+Ge),t=>{f(this,un)[e]=Op(t)}}};un=new WeakMap,ri=new WeakMap,Uo=new WeakSet,sf=function(e){return f(this,un).push(e),h(this,ri,f(this,ri)+e.length),e.length};var ft,wt,ni,si,Wn,oi,T0,Pp,R0=class R0{constructor(e,t,n){y(this,oi);g(this,"allowLoose");y(this,ft);y(this,wt);y(this,ni);y(this,si);y(this,Wn);N(this,{allowLoose:!!t}),h(this,ft,le(e)),h(this,ni,0),h(this,si,null),h(this,Wn,n??1024),h(this,wt,0)}get data(){return R(f(this,ft))}get dataLength(){return f(this,ft).length}get consumed(){return f(this,wt)}get bytes(){return new Uint8Array(f(this,ft))}subReader(e){let t=new R0(f(this,ft).slice(f(this,wt)+e),this.allowLoose,f(this,Wn));return h(t,si,this),t}readBytes(e,t){let n=S(this,oi,Pp).call(this,0,e,!!t);return S(this,oi,T0).call(this,e),h(this,wt,f(this,wt)+n.length),n.slice(0,e)}readValue(){return Ot(this.readBytes(Ge))}readIndex(){return pc(this.readBytes(Ge))}};ft=new WeakMap,wt=new WeakMap,ni=new WeakMap,si=new WeakMap,Wn=new WeakMap,oi=new WeakSet,T0=function(e){var t;if(f(this,si))return S(t=f(this,si),oi,T0).call(t,e);h(this,ni,f(this,ni)+e),w(f(this,Wn)<1||f(this,ni)<=f(this,Wn)*this.dataLength,`compressed ABI data exceeds inflation ratio of ${f(this,Wn)} ( see: https://github.com/ethers-io/ethers.js/issues/4537 )`,"BUFFER_OVERRUN",{buffer:le(f(this,ft)),offset:f(this,wt),length:e,info:{bytesRead:f(this,ni),dataLength:this.dataLength}})},Pp=function(e,t,n){let s=Math.ceil(t/Ge)*Ge;return f(this,wt)+s>f(this,ft).length&&(this.allowLoose&&n&&f(this,wt)+t<=f(this,ft).length?s=t:w(!1,"data out-of-bounds","BUFFER_OVERRUN",{buffer:le(f(this,ft)),length:f(this,ft).length,offset:f(this,wt)+s})),f(this,ft).slice(f(this,wt),f(this,wt)+s)};var of=R0;import{createHash as S0,createHmac as Up,pbkdf2Sync as Fp,randomBytes as Mp}from"crypto";var kp=!1,Jp=function(r,e,t){return Up(r,e).update(t).digest()},Dp=Jp;function sr(r,e,t){let n=L(e,"key"),s=L(t,"data");return R(Dp(r,n,s))}sr._=Jp;sr.lock=function(){kp=!0};sr.register=function(r){if(kp)throw new Error("computeHmac is locked");Dp=r};Object.freeze(sr);function $e(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`Wrong positive integer: ${r}`)}function Sc(r,...e){if(!(r instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(r.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${r.length}`)}function cf(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");$e(r.outputLen),$e(r.blockLen)}function dn(r,e=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(e&&r.finished)throw new Error("Hash#digest() has already been called")}function lf(r,e){Sc(r);let t=e.outputLen;if(r.length<t)throw new Error(`digestInto() expects output buffer of length at least ${t}`)}var ff=BigInt(4294967295),Gp=BigInt(32);function Yy(r,e=!1){return e?{h:Number(r&ff),l:Number(r>>Gp&ff)}:{h:Number(r>>Gp&ff)|0,l:Number(r&ff)|0}}function _p(r,e=!1){let t=new Uint32Array(r.length),n=new Uint32Array(r.length);for(let s=0;s<r.length;s++){let{h:i,l:o}=Yy(r[s],e);[t[s],n[s]]=[i,o]}return[t,n]}var Xp=(r,e,t)=>r<<t|e>>>32-t,Hp=(r,e,t)=>e<<t|r>>>32-t,Vp=(r,e,t)=>e<<t-32|r>>>64-t,Qp=(r,e,t)=>r<<t-32|e>>>64-t;import*as Lc from"crypto";var uf=Lc&&typeof Lc=="object"&&"webcrypto"in Lc?Lc.webcrypto:void 0;var Zp=r=>r instanceof Uint8Array;var Fo=r=>new Uint32Array(r.buffer,r.byteOffset,Math.floor(r.byteLength/4)),Mo=r=>new DataView(r.buffer,r.byteOffset,r.byteLength),ir=(r,e)=>r<<32-e|r>>>e,Wy=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!Wy)throw new Error("Non little-endian hardware is not supported");var jy=async()=>{};async function df(r,e,t){let n=Date.now();for(let s=0;s<r;s++){t(s);let i=Date.now()-n;i>=0&&i<e||(await jy(),n+=i)}}function qy(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function or(r){if(typeof r=="string"&&(r=qy(r)),!Zp(r))throw new Error(`expected Uint8Array, got ${typeof r}`);return r}function zp(...r){let e=new Uint8Array(r.reduce((n,s)=>n+s.length,0)),t=0;return r.forEach(n=>{if(!Zp(n))throw new Error("Uint8Array expected");e.set(n,t),t+=n.length}),e}var jn=class{clone(){return this._cloneInto()}},eA={}.toString;function hf(r,e){if(e!==void 0&&eA.call(e)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(r,e)}function ko(r){let e=n=>r().update(or(n)).digest(),t=r();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>r(),e}function Kp(r){let e=(n,s)=>r(s).update(or(n)).digest(),t=r({});return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=n=>r(n),e}function $p(r=32){if(uf&&typeof uf.getRandomValues=="function")return uf.getRandomValues(new Uint8Array(r));throw new Error("crypto.getRandomValues must be defined")}var[jp,qp,ex]=[[],[],[]],tA=BigInt(0),Nc=BigInt(1),rA=BigInt(2),nA=BigInt(7),sA=BigInt(256),iA=BigInt(113);for(let r=0,e=Nc,t=1,n=0;r<24;r++){[t,n]=[n,(2*t+3*n)%5],jp.push(2*(5*n+t)),qp.push((r+1)*(r+2)/2%64);let s=tA;for(let i=0;i<7;i++)e=(e<<Nc^(e>>nA)*iA)%sA,e&rA&&(s^=Nc<<(Nc<<BigInt(i))-Nc);ex.push(s)}var[oA,aA]=_p(ex,!0),Yp=(r,e,t)=>t>32?Vp(r,e,t):Xp(r,e,t),Wp=(r,e,t)=>t>32?Qp(r,e,t):Hp(r,e,t);function cA(r,e=24){let t=new Uint32Array(10);for(let n=24-e;n<24;n++){for(let o=0;o<10;o++)t[o]=r[o]^r[o+10]^r[o+20]^r[o+30]^r[o+40];for(let o=0;o<10;o+=2){let a=(o+8)%10,c=(o+2)%10,l=t[c],u=t[c+1],d=Yp(l,u,1)^t[a],x=Wp(l,u,1)^t[a+1];for(let m=0;m<50;m+=10)r[o+m]^=d,r[o+m+1]^=x}let s=r[2],i=r[3];for(let o=0;o<24;o++){let a=qp[o],c=Yp(s,i,a),l=Wp(s,i,a),u=jp[o];s=r[u],i=r[u+1],r[u]=c,r[u+1]=l}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)t[a]=r[o+a];for(let a=0;a<10;a++)r[o+a]^=~t[(a+2)%10]&t[(a+4)%10]}r[0]^=oA[n],r[1]^=aA[n]}t.fill(0)}var pf=class r extends jn{constructor(e,t,n,s=!1,i=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=n,this.enableXOF=s,this.rounds=i,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,$e(n),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=Fo(this.state)}keccak(){cA(this.state32,this.rounds),this.posOut=0,this.pos=0}update(e){dn(this);let{blockLen:t,state:n}=this;e=or(e);let s=e.length;for(let i=0;i<s;){let o=Math.min(t-this.pos,s-i);for(let a=0;a<o;a++)n[this.pos++]^=e[i++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:n,blockLen:s}=this;e[n]^=t,(t&128)!==0&&n===s-1&&this.keccak(),e[s-1]^=128,this.keccak()}writeInto(e){dn(this,!1),Sc(e),this.finish();let t=this.state,{blockLen:n}=this;for(let s=0,i=e.length;s<i;){this.posOut>=n&&this.keccak();let o=Math.min(n-this.posOut,i-s);e.set(t.subarray(this.posOut,this.posOut+o),s),this.posOut+=o,s+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return $e(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(lf(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){let{blockLen:t,suffix:n,outputLen:s,rounds:i,enableXOF:o}=this;return e||(e=new r(t,n,s,o,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=n,e.outputLen=s,e.enableXOF=o,e.destroyed=this.destroyed,e}},qn=(r,e,t)=>ko(()=>new pf(e,r,t)),T3=qn(6,144,224/8),R3=qn(6,136,256/8),S3=qn(6,104,384/8),L3=qn(6,72,512/8),N3=qn(1,144,224/8),tx=qn(1,136,256/8),v3=qn(1,104,384/8),B3=qn(1,72,512/8),rx=(r,e,t)=>Kp((n={})=>new pf(e,r,n.dkLen===void 0?t:n.dkLen,!0)),I3=rx(31,168,128/8),O3=rx(31,136,256/8);var nx=!1,sx=function(r){return tx(r)},ix=sx;function H(r){let e=L(r,"data");return R(ix(e))}H._=sx;H.lock=function(){nx=!0};H.register=function(r){if(nx)throw new TypeError("keccak256 is locked");ix=r};Object.freeze(H);function lA(r,e,t,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(e,t,n);let s=BigInt(32),i=BigInt(4294967295),o=Number(t>>s&i),a=Number(t&i),c=n?4:0,l=n?0:4;r.setUint32(e+c,o,n),r.setUint32(e+l,a,n)}var Jo=class extends jn{constructor(e,t,n,s){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=s,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Mo(this.buffer)}update(e){dn(this);let{view:t,buffer:n,blockLen:s}=this;e=or(e);let i=e.length;for(let o=0;o<i;){let a=Math.min(s-this.pos,i-o);if(a===s){let c=Mo(e);for(;s<=i-o;o+=s)this.process(c,o);continue}n.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===s&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){dn(this),lf(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:s,isLE:i}=this,{pos:o}=this;t[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>s-o&&(this.process(n,0),o=0);for(let d=o;d<s;d++)t[d]=0;lA(n,s-8,BigInt(this.length*8),i),this.process(n,0);let a=Mo(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let l=c/4,u=this.get();if(l>u.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<l;d++)a.setUint32(4*d,u[d],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:n,length:s,finished:i,destroyed:o,pos:a}=this;return e.length=s,e.pos=a,e.finished=i,e.destroyed=o,s%t&&e.buffer.set(n),e}};var fA=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),ax=Uint8Array.from({length:16},(r,e)=>e),uA=ax.map(r=>(9*r+5)%16),N0=[ax],v0=[uA];for(let r=0;r<4;r++)for(let e of[N0,v0])e.push(e[r].map(t=>fA[t]));var cx=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(r=>new Uint8Array(r)),dA=N0.map((r,e)=>r.map(t=>cx[e][t])),hA=v0.map((r,e)=>r.map(t=>cx[e][t])),pA=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),xA=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]),xf=(r,e)=>r<<e|r>>>32-e;function ox(r,e,t,n){return r===0?e^t^n:r===1?e&t|~e&n:r===2?(e|~t)^n:r===3?e&n|t&~n:e^(t|~n)}var mf=new Uint32Array(16),L0=class extends Jo{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){let{h0:e,h1:t,h2:n,h3:s,h4:i}=this;return[e,t,n,s,i]}set(e,t,n,s,i){this.h0=e|0,this.h1=t|0,this.h2=n|0,this.h3=s|0,this.h4=i|0}process(e,t){for(let m=0;m<16;m++,t+=4)mf[m]=e.getUint32(t,!0);let n=this.h0|0,s=n,i=this.h1|0,o=i,a=this.h2|0,c=a,l=this.h3|0,u=l,d=this.h4|0,x=d;for(let m=0;m<5;m++){let A=4-m,b=pA[m],E=xA[m],T=N0[m],v=v0[m],O=dA[m],D=hA[m];for(let C=0;C<16;C++){let P=xf(n+ox(m,i,a,l)+mf[T[C]]+b,O[C])+d|0;n=d,d=l,l=xf(a,10)|0,a=i,i=P}for(let C=0;C<16;C++){let P=xf(s+ox(A,o,c,u)+mf[v[C]]+E,D[C])+x|0;s=x,x=u,u=xf(c,10)|0,c=o,o=P}}this.set(this.h1+a+u|0,this.h2+l+x|0,this.h3+d+s|0,this.h4+n+o|0,this.h0+i+c|0)}roundClean(){mf.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}},lx=ko(()=>new L0);var fx=!1,ux=function(r){return lx(r)},dx=ux;function ar(r){let e=L(r,"data");return R(dx(e))}ar._=ux;ar.lock=function(){fx=!0};ar.register=function(r){if(fx)throw new TypeError("ripemd160 is locked");dx=r};Object.freeze(ar);var hx=!1,px=function(r,e,t,n,s){return Fp(r,e,t,n,s)},xx=px;function st(r,e,t,n,s){let i=L(r,"password"),o=L(e,"salt");return R(xx(i,o,t,n,s))}st._=px;st.lock=function(){hx=!0};st.register=function(r){if(hx)throw new Error("pbkdf2 is locked");xx=r};Object.freeze(st);var mx=!1,gx=function(r){return new Uint8Array(Mp(r))},bx=gx;function Ye(r){return bx(r)}Ye._=gx;Ye.lock=function(){mx=!0};Ye.register=function(r){if(mx)throw new Error("randomBytes is locked");bx=r};Object.freeze(Ye);var mA=(r,e,t)=>r&e^~r&t,gA=(r,e,t)=>r&e^r&t^e&t,bA=new Uint32Array([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]),es=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),ts=new Uint32Array(64),B0=class extends Jo{constructor(){super(64,32,8,!1),this.A=es[0]|0,this.B=es[1]|0,this.C=es[2]|0,this.D=es[3]|0,this.E=es[4]|0,this.F=es[5]|0,this.G=es[6]|0,this.H=es[7]|0}get(){let{A:e,B:t,C:n,D:s,E:i,F:o,G:a,H:c}=this;return[e,t,n,s,i,o,a,c]}set(e,t,n,s,i,o,a,c){this.A=e|0,this.B=t|0,this.C=n|0,this.D=s|0,this.E=i|0,this.F=o|0,this.G=a|0,this.H=c|0}process(e,t){for(let d=0;d<16;d++,t+=4)ts[d]=e.getUint32(t,!1);for(let d=16;d<64;d++){let x=ts[d-15],m=ts[d-2],A=ir(x,7)^ir(x,18)^x>>>3,b=ir(m,17)^ir(m,19)^m>>>10;ts[d]=b+ts[d-7]+A+ts[d-16]|0}let{A:n,B:s,C:i,D:o,E:a,F:c,G:l,H:u}=this;for(let d=0;d<64;d++){let x=ir(a,6)^ir(a,11)^ir(a,25),m=u+x+mA(a,c,l)+bA[d]+ts[d]|0,b=(ir(n,2)^ir(n,13)^ir(n,22))+gA(n,s,i)|0;u=l,l=c,c=a,a=o+m|0,o=i,i=s,s=n,n=m+b|0}n=n+this.A|0,s=s+this.B|0,i=i+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,l=l+this.G|0,u=u+this.H|0,this.set(n,s,i,o,a,c,l,u)}roundClean(){ts.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var vc=ko(()=>new B0);var gf=class extends jn{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,cf(e);let n=or(t);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let s=this.blockLen,i=new Uint8Array(s);i.set(n.length>s?e.create().update(n).digest():n);for(let o=0;o<i.length;o++)i[o]^=54;this.iHash.update(i),this.oHash=e.create();for(let o=0;o<i.length;o++)i[o]^=106;this.oHash.update(i),i.fill(0)}update(e){return dn(this),this.iHash.update(e),this}digestInto(e){dn(this),Sc(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:t,iHash:n,finished:s,destroyed:i,blockLen:o,outputLen:a}=this;return e=e,e.finished=s,e.destroyed=i,e.blockLen=o,e.outputLen=a,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Bc=(r,e,t)=>new gf(r,e).update(t).digest();Bc.create=(r,e)=>new gf(r,e);function yA(r,e,t,n){cf(r);let s=hf({dkLen:32,asyncTick:10},n),{c:i,dkLen:o,asyncTick:a}=s;if($e(i),$e(o),$e(a),i<1)throw new Error("PBKDF2: iterations (c) should be >= 1");let c=or(e),l=or(t),u=new Uint8Array(o),d=Bc.create(r,c),x=d._cloneInto().update(l);return{c:i,dkLen:o,asyncTick:a,DK:u,PRF:d,PRFSalt:x}}function AA(r,e,t,n,s){return r.destroy(),e.destroy(),n&&n.destroy(),s.fill(0),t}function I0(r,e,t,n){let{c:s,dkLen:i,DK:o,PRF:a,PRFSalt:c}=yA(r,e,t,n),l,u=new Uint8Array(4),d=Mo(u),x=new Uint8Array(a.outputLen);for(let m=1,A=0;A<i;m++,A+=a.outputLen){let b=o.subarray(A,A+a.outputLen);d.setInt32(0,m,!1),(l=c._cloneInto(l)).update(u).digestInto(x),b.set(x.subarray(0,b.length));for(let E=1;E<s;E++){a._cloneInto(l).update(x).digestInto(x);for(let T=0;T<b.length;T++)b[T]^=x[T]}}return AA(a,c,o,l,x)}var ie=(r,e)=>r<<e|r>>>32-e;function yx(r,e,t,n,s,i){let o=r[e++]^t[n++],a=r[e++]^t[n++],c=r[e++]^t[n++],l=r[e++]^t[n++],u=r[e++]^t[n++],d=r[e++]^t[n++],x=r[e++]^t[n++],m=r[e++]^t[n++],A=r[e++]^t[n++],b=r[e++]^t[n++],E=r[e++]^t[n++],T=r[e++]^t[n++],v=r[e++]^t[n++],O=r[e++]^t[n++],D=r[e++]^t[n++],C=r[e++]^t[n++],P=o,J=a,G=c,ne=l,Q=u,K=d,Ee=x,Te=m,ze=A,I=b,U=E,X=T,q=v,Y=O,pe=D,Re=C;for(let Ke=0;Ke<8;Ke+=2)Q^=ie(P+q|0,7),ze^=ie(Q+P|0,9),q^=ie(ze+Q|0,13),P^=ie(q+ze|0,18),I^=ie(K+J|0,7),Y^=ie(I+K|0,9),J^=ie(Y+I|0,13),K^=ie(J+Y|0,18),pe^=ie(U+Ee|0,7),G^=ie(pe+U|0,9),Ee^=ie(G+pe|0,13),U^=ie(Ee+G|0,18),ne^=ie(Re+X|0,7),Te^=ie(ne+Re|0,9),X^=ie(Te+ne|0,13),Re^=ie(X+Te|0,18),J^=ie(P+ne|0,7),G^=ie(J+P|0,9),ne^=ie(G+J|0,13),P^=ie(ne+G|0,18),Ee^=ie(K+Q|0,7),Te^=ie(Ee+K|0,9),Q^=ie(Te+Ee|0,13),K^=ie(Q+Te|0,18),X^=ie(U+I|0,7),ze^=ie(X+U|0,9),I^=ie(ze+X|0,13),U^=ie(I+ze|0,18),q^=ie(Re+pe|0,7),Y^=ie(q+Re|0,9),pe^=ie(Y+q|0,13),Re^=ie(pe+Y|0,18);s[i++]=o+P|0,s[i++]=a+J|0,s[i++]=c+G|0,s[i++]=l+ne|0,s[i++]=u+Q|0,s[i++]=d+K|0,s[i++]=x+Ee|0,s[i++]=m+Te|0,s[i++]=A+ze|0,s[i++]=b+I|0,s[i++]=E+U|0,s[i++]=T+X|0,s[i++]=v+q|0,s[i++]=O+Y|0,s[i++]=D+pe|0,s[i++]=C+Re|0}function Do(r,e,t,n,s){let i=n+0,o=n+16*s;for(let a=0;a<16;a++)t[o+a]=r[e+(2*s-1)*16+a];for(let a=0;a<s;a++,i+=16,e+=16)yx(t,o,r,e,t,i),a>0&&(o+=16),yx(t,i,r,e+=16,t,o)}function Ax(r,e,t){let n=hf({dkLen:32,asyncTick:10,maxmem:1073742848},t),{N:s,r:i,p:o,dkLen:a,asyncTick:c,maxmem:l,onProgress:u}=n;if($e(s),$e(i),$e(o),$e(a),$e(c),$e(l),u!==void 0&&typeof u!="function")throw new Error("progressCb should be function");let d=128*i,x=d/4;if(s<=1||(s&s-1)!==0||s>=2**(d/8)||s>2**32)throw new Error("Scrypt: N must be larger than 1, a power of 2, less than 2^(128 * r / 8) and less than 2^32");if(o<0||o>(2**32-1)*32/d)throw new Error("Scrypt: p must be a positive integer less than or equal to ((2^32 - 1) * 32) / (128 * r)");if(a<0||a>(2**32-1)*32)throw new Error("Scrypt: dkLen should be positive integer less than or equal to (2^32 - 1) * 32");let m=d*(s+o);if(m>l)throw new Error(`Scrypt: parameters too large, ${m} (128 * r * (N + p)) > ${l} (maxmem)`);let A=I0(vc,r,e,{c:1,dkLen:d*o}),b=Fo(A),E=Fo(new Uint8Array(d*s)),T=Fo(new Uint8Array(d)),v=()=>{};if(u){let O=2*s*o,D=Math.max(Math.floor(O/1e4),1),C=0;v=()=>{C++,u&&(!(C%D)||C===O)&&u(C/O)}}return{N:s,r:i,p:o,dkLen:a,blockSize32:x,V:E,B32:b,B:A,tmp:T,blockMixCb:v,asyncTick:c}}function wx(r,e,t,n,s){let i=I0(vc,r,t,{c:1,dkLen:e});return t.fill(0),n.fill(0),s.fill(0),i}function Ex(r,e,t){let{N:n,r:s,p:i,dkLen:o,blockSize32:a,V:c,B32:l,B:u,tmp:d,blockMixCb:x}=Ax(r,e,t);for(let m=0;m<i;m++){let A=a*m;for(let b=0;b<a;b++)c[b]=l[A+b];for(let b=0,E=0;b<n-1;b++)Do(c,E,c,E+=a,s),x();Do(c,(n-1)*a,l,A,s),x();for(let b=0;b<n;b++){let E=l[A+a-16]%n;for(let T=0;T<a;T++)d[T]=l[A+T]^c[E*a+T];Do(d,0,l,A,s),x()}}return wx(r,o,u,c,d)}async function Tx(r,e,t){let{N:n,r:s,p:i,dkLen:o,blockSize32:a,V:c,B32:l,B:u,tmp:d,blockMixCb:x,asyncTick:m}=Ax(r,e,t);for(let A=0;A<i;A++){let b=a*A;for(let T=0;T<a;T++)c[T]=l[b+T];let E=0;await df(n-1,m,()=>{Do(c,E,c,E+=a,s),x()}),Do(c,(n-1)*a,l,b,s),x(),await df(n,m,()=>{let T=l[b+a-16]%n;for(let v=0;v<a;v++)d[v]=l[b+v]^c[T*a+v];Do(d,0,l,b,s),x()})}return wx(r,o,u,c,d)}var Rx=!1,Sx=!1,Lx=async function(r,e,t,n,s,i,o){return await Tx(r,e,{N:t,r:n,p:s,dkLen:i,onProgress:o})},Nx=function(r,e,t,n,s,i){return Ex(r,e,{N:t,r:n,p:s,dkLen:i})},vx=Lx,Bx=Nx;async function cr(r,e,t,n,s,i,o){let a=L(r,"passwd"),c=L(e,"salt");return R(await vx(a,c,t,n,s,i,o))}cr._=Lx;cr.lock=function(){Sx=!0};cr.register=function(r){if(Sx)throw new Error("scrypt is locked");vx=r};Object.freeze(cr);function lr(r,e,t,n,s,i){let o=L(r,"passwd"),a=L(e,"salt");return R(Bx(o,a,t,n,s,i))}lr._=Nx;lr.lock=function(){Rx=!0};lr.register=function(r){if(Rx)throw new Error("scryptSync is locked");Bx=r};Object.freeze(lr);var Ix=function(r){return S0("sha256").update(r).digest()},Ox=function(r){return S0("sha512").update(r).digest()},Cx=Ix,Px=Ox,Ux=!1,Fx=!1;function Ne(r){let e=L(r,"data");return R(Cx(e))}Ne._=Ix;Ne.lock=function(){Ux=!0};Ne.register=function(r){if(Ux)throw new Error("sha256 is locked");Cx=r};Object.freeze(Ne);function ai(r){let e=L(r,"data");return R(Px(e))}ai._=Ox;ai.lock=function(){Fx=!0};ai.register=function(r){if(Fx)throw new Error("sha512 is locked");Px=r};Object.freeze(Ne);var U0={};up(U0,{bitGet:()=>NA,bitLen:()=>LA,bitMask:()=>Ic,bitSet:()=>vA,bytesToHex:()=>ci,bytesToNumberBE:()=>hn,bytesToNumberLE:()=>Af,concatBytes:()=>Go,createHmacDrbg:()=>P0,ensureBytes:()=>Et,equalBytes:()=>RA,hexToBytes:()=>li,hexToNumber:()=>C0,numberToBytesBE:()=>rs,numberToBytesLE:()=>wf,numberToHexUnpadded:()=>Jx,numberToVarBytesBE:()=>TA,utf8ToBytes:()=>SA,validateObject:()=>ns});var kx=BigInt(0),bf=BigInt(1),wA=BigInt(2),yf=r=>r instanceof Uint8Array,EA=Array.from({length:256},(r,e)=>e.toString(16).padStart(2,"0"));function ci(r){if(!yf(r))throw new Error("Uint8Array expected");let e="";for(let t=0;t<r.length;t++)e+=EA[r[t]];return e}function Jx(r){let e=r.toString(16);return e.length&1?`0${e}`:e}function C0(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return BigInt(r===""?"0":`0x${r}`)}function li(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);let e=r.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let t=new Uint8Array(e/2);for(let n=0;n<t.length;n++){let s=n*2,i=r.slice(s,s+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");t[n]=o}return t}function hn(r){return C0(ci(r))}function Af(r){if(!yf(r))throw new Error("Uint8Array expected");return C0(ci(Uint8Array.from(r).reverse()))}function rs(r,e){return li(r.toString(16).padStart(e*2,"0"))}function wf(r,e){return rs(r,e).reverse()}function TA(r){return li(Jx(r))}function Et(r,e,t){let n;if(typeof e=="string")try{n=li(e)}catch(i){throw new Error(`${r} must be valid hex string, got "${e}". Cause: ${i}`)}else if(yf(e))n=Uint8Array.from(e);else throw new Error(`${r} must be hex string or Uint8Array`);let s=n.length;if(typeof t=="number"&&s!==t)throw new Error(`${r} expected ${t} bytes, got ${s}`);return n}function Go(...r){let e=new Uint8Array(r.reduce((n,s)=>n+s.length,0)),t=0;return r.forEach(n=>{if(!yf(n))throw new Error("Uint8Array expected");e.set(n,t),t+=n.length}),e}function RA(r,e){if(r.length!==e.length)return!1;for(let t=0;t<r.length;t++)if(r[t]!==e[t])return!1;return!0}function SA(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function LA(r){let e;for(e=0;r>kx;r>>=bf,e+=1);return e}function NA(r,e){return r>>BigInt(e)&bf}var vA=(r,e,t)=>r|(t?bf:kx)<<BigInt(e),Ic=r=>(wA<<BigInt(r-1))-bf,O0=r=>new Uint8Array(r),Mx=r=>Uint8Array.from(r);function P0(r,e,t){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof t!="function")throw new Error("hmacFn must be a function");let n=O0(r),s=O0(r),i=0,o=()=>{n.fill(1),s.fill(0),i=0},a=(...d)=>t(s,n,...d),c=(d=O0())=>{s=a(Mx([0]),d),n=a(),d.length!==0&&(s=a(Mx([1]),d),n=a())},l=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let d=0,x=[];for(;d<e;){n=a();let m=n.slice();x.push(m),d+=n.length}return Go(...x)};return(d,x)=>{o(),c(d);let m;for(;!(m=x(l()));)c();return o(),m}}var BA={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||r instanceof Uint8Array,isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,e)=>e.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function ns(r,e,t={}){let n=(s,i,o)=>{let a=BA[i];if(typeof a!="function")throw new Error(`Invalid validator "${i}", expected function`);let c=r[s];if(!(o&&c===void 0)&&!a(c,r))throw new Error(`Invalid param ${String(s)}=${c} (${typeof c}), expected ${i}`)};for(let[s,i]of Object.entries(e))n(s,i,!1);for(let[s,i]of Object.entries(t))n(s,i,!0);return r}var Fe=BigInt(0),Ae=BigInt(1),fi=BigInt(2),IA=BigInt(3),F0=BigInt(4),Dx=BigInt(5),Gx=BigInt(8),OA=BigInt(9),CA=BigInt(16);function We(r,e){let t=r%e;return t>=Fe?t:e+t}function PA(r,e,t){if(t<=Fe||e<Fe)throw new Error("Expected power/modulo > 0");if(t===Ae)return Fe;let n=Ae;for(;e>Fe;)e&Ae&&(n=n*r%t),r=r*r%t,e>>=Ae;return n}function Tt(r,e,t){let n=r;for(;e-- >Fe;)n*=n,n%=t;return n}function Ef(r,e){if(r===Fe||e<=Fe)throw new Error(`invert: expected positive integers, got n=${r} mod=${e}`);let t=We(r,e),n=e,s=Fe,i=Ae,o=Ae,a=Fe;for(;t!==Fe;){let l=n/t,u=n%t,d=s-o*l,x=i-a*l;n=t,t=u,s=o,i=a,o=d,a=x}if(n!==Ae)throw new Error("invert: does not exist");return We(s,e)}function UA(r){let e=(r-Ae)/fi,t,n,s;for(t=r-Ae,n=0;t%fi===Fe;t/=fi,n++);for(s=fi;s<r&&PA(s,e,r)!==r-Ae;s++);if(n===1){let o=(r+Ae)/F0;return function(c,l){let u=c.pow(l,o);if(!c.eql(c.sqr(u),l))throw new Error("Cannot find square root");return u}}let i=(t+Ae)/fi;return function(a,c){if(a.pow(c,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let l=n,u=a.pow(a.mul(a.ONE,s),t),d=a.pow(c,i),x=a.pow(c,t);for(;!a.eql(x,a.ONE);){if(a.eql(x,a.ZERO))return a.ZERO;let m=1;for(let b=a.sqr(x);m<l&&!a.eql(b,a.ONE);m++)b=a.sqr(b);let A=a.pow(u,Ae<<BigInt(l-m-1));u=a.sqr(A),d=a.mul(d,A),x=a.mul(x,u),l=m}return d}}function FA(r){if(r%F0===IA){let e=(r+Ae)/F0;return function(n,s){let i=n.pow(s,e);if(!n.eql(n.sqr(i),s))throw new Error("Cannot find square root");return i}}if(r%Gx===Dx){let e=(r-Dx)/Gx;return function(n,s){let i=n.mul(s,fi),o=n.pow(i,e),a=n.mul(s,o),c=n.mul(n.mul(a,fi),o),l=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(l),s))throw new Error("Cannot find square root");return l}}return r%CA,UA(r)}var MA=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function M0(r){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},t=MA.reduce((n,s)=>(n[s]="function",n),e);return ns(r,t)}function kA(r,e,t){if(t<Fe)throw new Error("Expected power > 0");if(t===Fe)return r.ONE;if(t===Ae)return e;let n=r.ONE,s=e;for(;t>Fe;)t&Ae&&(n=r.mul(n,s)),s=r.sqr(s),t>>=Ae;return n}function JA(r,e){let t=new Array(e.length),n=e.reduce((i,o,a)=>r.is0(o)?i:(t[a]=i,r.mul(i,o)),r.ONE),s=r.inv(n);return e.reduceRight((i,o,a)=>r.is0(o)?i:(t[a]=r.mul(i,t[a]),r.mul(i,o)),s),t}function k0(r,e){let t=e!==void 0?e:r.toString(2).length,n=Math.ceil(t/8);return{nBitLength:t,nByteLength:n}}function _x(r,e,t=!1,n={}){if(r<=Fe)throw new Error(`Expected Field ORDER > 0, got ${r}`);let{nBitLength:s,nByteLength:i}=k0(r,e);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=FA(r),a=Object.freeze({ORDER:r,BITS:s,BYTES:i,MASK:Ic(s),ZERO:Fe,ONE:Ae,create:c=>We(c,r),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Fe<=c&&c<r},is0:c=>c===Fe,isOdd:c=>(c&Ae)===Ae,neg:c=>We(-c,r),eql:(c,l)=>c===l,sqr:c=>We(c*c,r),add:(c,l)=>We(c+l,r),sub:(c,l)=>We(c-l,r),mul:(c,l)=>We(c*l,r),pow:(c,l)=>kA(a,c,l),div:(c,l)=>We(c*Ef(l,r),r),sqrN:c=>c*c,addN:(c,l)=>c+l,subN:(c,l)=>c-l,mulN:(c,l)=>c*l,inv:c=>Ef(c,r),sqrt:n.sqrt||(c=>o(a,c)),invertBatch:c=>JA(a,c),cmov:(c,l,u)=>u?l:c,toBytes:c=>t?wf(c,i):rs(c,i),fromBytes:c=>{if(c.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${c.length}`);return t?Af(c):hn(c)}});return Object.freeze(a)}function Xx(r){if(typeof r!="bigint")throw new Error("field order must be bigint");let e=r.toString(2).length;return Math.ceil(e/8)}function J0(r){let e=Xx(r);return e+Math.ceil(e/2)}function Hx(r,e,t=!1){let n=r.length,s=Xx(e),i=J0(e);if(n<16||n<i||n>1024)throw new Error(`expected ${i}-1024 bytes of input, got ${n}`);let o=t?hn(r):Af(r),a=We(o,e-Ae)+Ae;return t?wf(a,s):rs(a,s)}var GA=BigInt(0),D0=BigInt(1);function Vx(r,e){let t=(s,i)=>{let o=i.negate();return s?o:i},n=s=>{let i=Math.ceil(e/s)+1,o=2**(s-1);return{windows:i,windowSize:o}};return{constTimeNegate:t,unsafeLadder(s,i){let o=r.ZERO,a=s;for(;i>GA;)i&D0&&(o=o.add(a)),a=a.double(),i>>=D0;return o},precomputeWindow(s,i){let{windows:o,windowSize:a}=n(i),c=[],l=s,u=l;for(let d=0;d<o;d++){u=l,c.push(u);for(let x=1;x<a;x++)u=u.add(l),c.push(u);l=u.double()}return c},wNAF(s,i,o){let{windows:a,windowSize:c}=n(s),l=r.ZERO,u=r.BASE,d=BigInt(2**s-1),x=2**s,m=BigInt(s);for(let A=0;A<a;A++){let b=A*c,E=Number(o&d);o>>=m,E>c&&(E-=x,o+=D0);let T=b,v=b+Math.abs(E)-1,O=A%2!==0,D=E<0;E===0?u=u.add(t(O,i[T])):l=l.add(t(D,i[v]))}return{p:l,f:u}},wNAFCached(s,i,o,a){let c=s._WINDOW_SIZE||1,l=i.get(s);return l||(l=this.precomputeWindow(s,c),c!==1&&i.set(s,a(l))),this.wNAF(c,l,o)}}}function G0(r){return M0(r.Fp),ns(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...k0(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}function _A(r){let e=G0(r);ns(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:t,Fp:n,a:s}=e;if(t){if(!n.eql(s,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof t!="object"||typeof t.beta!="bigint"||typeof t.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}var{bytesToNumberBE:XA,hexToBytes:HA}=U0,ui={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(r){let{Err:e}=ui;if(r.length<2||r[0]!==2)throw new e("Invalid signature integer tag");let t=r[1],n=r.subarray(2,t+2);if(!t||n.length!==t)throw new e("Invalid signature integer: wrong length");if(n[0]&128)throw new e("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:XA(n),l:r.subarray(t+2)}},toSig(r){let{Err:e}=ui,t=typeof r=="string"?HA(r):r;if(!(t instanceof Uint8Array))throw new Error("ui8a expected");let n=t.length;if(n<2||t[0]!=48)throw new e("Invalid signature tag");if(t[1]!==n-2)throw new e("Invalid signature: incorrect length");let{d:s,l:i}=ui._parseInt(t.subarray(2)),{d:o,l:a}=ui._parseInt(i);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:s,s:o}},hexFromSig(r){let e=l=>Number.parseInt(l[0],16)&8?"00"+l:l,t=l=>{let u=l.toString(16);return u.length&1?`0${u}`:u},n=e(t(r.s)),s=e(t(r.r)),i=n.length/2,o=s.length/2,a=t(i),c=t(o);return`30${t(o+i+4)}02${c}${s}02${a}${n}`}},pn=BigInt(0),Ct=BigInt(1),RR=BigInt(2),Qx=BigInt(3),SR=BigInt(4);function VA(r){let e=_A(r),{Fp:t}=e,n=e.toBytes||((A,b,E)=>{let T=b.toAffine();return Go(Uint8Array.from([4]),t.toBytes(T.x),t.toBytes(T.y))}),s=e.fromBytes||(A=>{let b=A.subarray(1),E=t.fromBytes(b.subarray(0,t.BYTES)),T=t.fromBytes(b.subarray(t.BYTES,2*t.BYTES));return{x:E,y:T}});function i(A){let{a:b,b:E}=e,T=t.sqr(A),v=t.mul(T,A);return t.add(t.add(v,t.mul(A,b)),E)}if(!t.eql(t.sqr(e.Gy),i(e.Gx)))throw new Error("bad generator point: equation left != right");function o(A){return typeof A=="bigint"&&pn<A&&A<e.n}function a(A){if(!o(A))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(A){let{allowedPrivateKeyLengths:b,nByteLength:E,wrapPrivateKey:T,n:v}=e;if(b&&typeof A!="bigint"){if(A instanceof Uint8Array&&(A=ci(A)),typeof A!="string"||!b.includes(A.length))throw new Error("Invalid key");A=A.padStart(E*2,"0")}let O;try{O=typeof A=="bigint"?A:hn(Et("private key",A,E))}catch{throw new Error(`private key must be ${E} bytes, hex or bigint, not ${typeof A}`)}return T&&(O=We(O,v)),a(O),O}let l=new Map;function u(A){if(!(A instanceof d))throw new Error("ProjectivePoint expected")}class d{constructor(b,E,T){if(this.px=b,this.py=E,this.pz=T,b==null||!t.isValid(b))throw new Error("x required");if(E==null||!t.isValid(E))throw new Error("y required");if(T==null||!t.isValid(T))throw new Error("z required")}static fromAffine(b){let{x:E,y:T}=b||{};if(!b||!t.isValid(E)||!t.isValid(T))throw new Error("invalid affine point");if(b instanceof d)throw new Error("projective point not allowed");let v=O=>t.eql(O,t.ZERO);return v(E)&&v(T)?d.ZERO:new d(E,T,t.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(b){let E=t.invertBatch(b.map(T=>T.pz));return b.map((T,v)=>T.toAffine(E[v])).map(d.fromAffine)}static fromHex(b){let E=d.fromAffine(s(Et("pointHex",b)));return E.assertValidity(),E}static fromPrivateKey(b){return d.BASE.multiply(c(b))}_setWindowSize(b){this._WINDOW_SIZE=b,l.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!t.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:b,y:E}=this.toAffine();if(!t.isValid(b)||!t.isValid(E))throw new Error("bad point: x or y not FE");let T=t.sqr(E),v=i(b);if(!t.eql(T,v))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:b}=this.toAffine();if(t.isOdd)return!t.isOdd(b);throw new Error("Field doesn't support isOdd")}equals(b){u(b);let{px:E,py:T,pz:v}=this,{px:O,py:D,pz:C}=b,P=t.eql(t.mul(E,C),t.mul(O,v)),J=t.eql(t.mul(T,C),t.mul(D,v));return P&&J}negate(){return new d(this.px,t.neg(this.py),this.pz)}double(){let{a:b,b:E}=e,T=t.mul(E,Qx),{px:v,py:O,pz:D}=this,C=t.ZERO,P=t.ZERO,J=t.ZERO,G=t.mul(v,v),ne=t.mul(O,O),Q=t.mul(D,D),K=t.mul(v,O);return K=t.add(K,K),J=t.mul(v,D),J=t.add(J,J),C=t.mul(b,J),P=t.mul(T,Q),P=t.add(C,P),C=t.sub(ne,P),P=t.add(ne,P),P=t.mul(C,P),C=t.mul(K,C),J=t.mul(T,J),Q=t.mul(b,Q),K=t.sub(G,Q),K=t.mul(b,K),K=t.add(K,J),J=t.add(G,G),G=t.add(J,G),G=t.add(G,Q),G=t.mul(G,K),P=t.add(P,G),Q=t.mul(O,D),Q=t.add(Q,Q),G=t.mul(Q,K),C=t.sub(C,G),J=t.mul(Q,ne),J=t.add(J,J),J=t.add(J,J),new d(C,P,J)}add(b){u(b);let{px:E,py:T,pz:v}=this,{px:O,py:D,pz:C}=b,P=t.ZERO,J=t.ZERO,G=t.ZERO,ne=e.a,Q=t.mul(e.b,Qx),K=t.mul(E,O),Ee=t.mul(T,D),Te=t.mul(v,C),ze=t.add(E,T),I=t.add(O,D);ze=t.mul(ze,I),I=t.add(K,Ee),ze=t.sub(ze,I),I=t.add(E,v);let U=t.add(O,C);return I=t.mul(I,U),U=t.add(K,Te),I=t.sub(I,U),U=t.add(T,v),P=t.add(D,C),U=t.mul(U,P),P=t.add(Ee,Te),U=t.sub(U,P),G=t.mul(ne,I),P=t.mul(Q,Te),G=t.add(P,G),P=t.sub(Ee,G),G=t.add(Ee,G),J=t.mul(P,G),Ee=t.add(K,K),Ee=t.add(Ee,K),Te=t.mul(ne,Te),I=t.mul(Q,I),Ee=t.add(Ee,Te),Te=t.sub(K,Te),Te=t.mul(ne,Te),I=t.add(I,Te),K=t.mul(Ee,I),J=t.add(J,K),K=t.mul(U,I),P=t.mul(ze,P),P=t.sub(P,K),K=t.mul(ze,Ee),G=t.mul(U,G),G=t.add(G,K),new d(P,J,G)}subtract(b){return this.add(b.negate())}is0(){return this.equals(d.ZERO)}wNAF(b){return m.wNAFCached(this,l,b,E=>{let T=t.invertBatch(E.map(v=>v.pz));return E.map((v,O)=>v.toAffine(T[O])).map(d.fromAffine)})}multiplyUnsafe(b){let E=d.ZERO;if(b===pn)return E;if(a(b),b===Ct)return this;let{endo:T}=e;if(!T)return m.unsafeLadder(this,b);let{k1neg:v,k1:O,k2neg:D,k2:C}=T.splitScalar(b),P=E,J=E,G=this;for(;O>pn||C>pn;)O&Ct&&(P=P.add(G)),C&Ct&&(J=J.add(G)),G=G.double(),O>>=Ct,C>>=Ct;return v&&(P=P.negate()),D&&(J=J.negate()),J=new d(t.mul(J.px,T.beta),J.py,J.pz),P.add(J)}multiply(b){a(b);let E=b,T,v,{endo:O}=e;if(O){let{k1neg:D,k1:C,k2neg:P,k2:J}=O.splitScalar(E),{p:G,f:ne}=this.wNAF(C),{p:Q,f:K}=this.wNAF(J);G=m.constTimeNegate(D,G),Q=m.constTimeNegate(P,Q),Q=new d(t.mul(Q.px,O.beta),Q.py,Q.pz),T=G.add(Q),v=ne.add(K)}else{let{p:D,f:C}=this.wNAF(E);T=D,v=C}return d.normalizeZ([T,v])[0]}multiplyAndAddUnsafe(b,E,T){let v=d.BASE,O=(C,P)=>P===pn||P===Ct||!C.equals(v)?C.multiplyUnsafe(P):C.multiply(P),D=O(this,E).add(O(b,T));return D.is0()?void 0:D}toAffine(b){let{px:E,py:T,pz:v}=this,O=this.is0();b==null&&(b=O?t.ONE:t.inv(v));let D=t.mul(E,b),C=t.mul(T,b),P=t.mul(v,b);if(O)return{x:t.ZERO,y:t.ZERO};if(!t.eql(P,t.ONE))throw new Error("invZ was invalid");return{x:D,y:C}}isTorsionFree(){let{h:b,isTorsionFree:E}=e;if(b===Ct)return!0;if(E)return E(d,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:b,clearCofactor:E}=e;return b===Ct?this:E?E(d,this):this.multiplyUnsafe(e.h)}toRawBytes(b=!0){return this.assertValidity(),n(d,this,b)}toHex(b=!0){return ci(this.toRawBytes(b))}}d.BASE=new d(e.Gx,e.Gy,t.ONE),d.ZERO=new d(t.ZERO,t.ONE,t.ZERO);let x=e.nBitLength,m=Vx(d,e.endo?Math.ceil(x/2):x);return{CURVE:e,ProjectivePoint:d,normPrivateKeyToScalar:c,weierstrassEquation:i,isWithinCurveOrder:o}}function QA(r){let e=G0(r);return ns(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function Zx(r){let e=QA(r),{Fp:t,n}=e,s=t.BYTES+1,i=2*t.BYTES+1;function o(I){return pn<I&&I<t.ORDER}function a(I){return We(I,n)}function c(I){return Ef(I,n)}let{ProjectivePoint:l,normPrivateKeyToScalar:u,weierstrassEquation:d,isWithinCurveOrder:x}=VA({...e,toBytes(I,U,X){let q=U.toAffine(),Y=t.toBytes(q.x),pe=Go;return X?pe(Uint8Array.from([U.hasEvenY()?2:3]),Y):pe(Uint8Array.from([4]),Y,t.toBytes(q.y))},fromBytes(I){let U=I.length,X=I[0],q=I.subarray(1);if(U===s&&(X===2||X===3)){let Y=hn(q);if(!o(Y))throw new Error("Point is not on curve");let pe=d(Y),Re=t.sqrt(pe),Ke=(Re&Ct)===Ct;return(X&1)===1!==Ke&&(Re=t.neg(Re)),{x:Y,y:Re}}else if(U===i&&X===4){let Y=t.fromBytes(q.subarray(0,t.BYTES)),pe=t.fromBytes(q.subarray(t.BYTES,2*t.BYTES));return{x:Y,y:pe}}else throw new Error(`Point of length ${U} was invalid. Expected ${s} compressed bytes or ${i} uncompressed bytes`)}}),m=I=>ci(rs(I,e.nByteLength));function A(I){let U=n>>Ct;return I>U}function b(I){return A(I)?a(-I):I}let E=(I,U,X)=>hn(I.slice(U,X));class T{constructor(U,X,q){this.r=U,this.s=X,this.recovery=q,this.assertValidity()}static fromCompact(U){let X=e.nByteLength;return U=Et("compactSignature",U,X*2),new T(E(U,0,X),E(U,X,2*X))}static fromDER(U){let{r:X,s:q}=ui.toSig(Et("DER",U));return new T(X,q)}assertValidity(){if(!x(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!x(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(U){return new T(this.r,this.s,U)}recoverPublicKey(U){let{r:X,s:q,recovery:Y}=this,pe=J(Et("msgHash",U));if(Y==null||![0,1,2,3].includes(Y))throw new Error("recovery id invalid");let Re=Y===2||Y===3?X+e.n:X;if(Re>=t.ORDER)throw new Error("recovery id 2 or 3 invalid");let Ke=(Y&1)===0?"02":"03",Xn=l.fromHex(Ke+m(Re)),Hn=c(Re),xo=a(-pe*Hn),uc=a(q*Hn),Vn=l.BASE.multiplyAndAddUnsafe(Xn,xo,uc);if(!Vn)throw new Error("point at infinify");return Vn.assertValidity(),Vn}hasHighS(){return A(this.s)}normalizeS(){return this.hasHighS()?new T(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return li(this.toDERHex())}toDERHex(){return ui.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return li(this.toCompactHex())}toCompactHex(){return m(this.r)+m(this.s)}}let v={isValidPrivateKey(I){try{return u(I),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{let I=J0(e.n);return Hx(e.randomBytes(I),e.n)},precompute(I=8,U=l.BASE){return U._setWindowSize(I),U.multiply(BigInt(3)),U}};function O(I,U=!0){return l.fromPrivateKey(I).toRawBytes(U)}function D(I){let U=I instanceof Uint8Array,X=typeof I=="string",q=(U||X)&&I.length;return U?q===s||q===i:X?q===2*s||q===2*i:I instanceof l}function C(I,U,X=!0){if(D(I))throw new Error("first arg must be private key");if(!D(U))throw new Error("second arg must be public key");return l.fromHex(U).multiply(u(I)).toRawBytes(X)}let P=e.bits2int||function(I){let U=hn(I),X=I.length*8-e.nBitLength;return X>0?U>>BigInt(X):U},J=e.bits2int_modN||function(I){return a(P(I))},G=Ic(e.nBitLength);function ne(I){if(typeof I!="bigint")throw new Error("bigint expected");if(!(pn<=I&&I<G))throw new Error(`bigint expected < 2^${e.nBitLength}`);return rs(I,e.nByteLength)}function Q(I,U,X=K){if(["recovered","canonical"].some(_s=>_s in X))throw new Error("sign() legacy options not supported");let{hash:q,randomBytes:Y}=e,{lowS:pe,prehash:Re,extraEntropy:Ke}=X;pe==null&&(pe=!0),I=Et("msgHash",I),Re&&(I=Et("prehashed msgHash",q(I)));let Xn=J(I),Hn=u(U),xo=[ne(Hn),ne(Xn)];if(Ke!=null){let _s=Ke===!0?Y(t.BYTES):Ke;xo.push(Et("extraEntropy",_s))}let uc=Go(...xo),Vn=Xn;function a0(_s){let mo=P(_s);if(!x(mo))return;let ap=c(mo),Nr=l.BASE.multiply(mo).toAffine(),go=a(Nr.x);if(go===pn)return;let Hl=a(ap*a(Vn+go*Hn));if(Hl===pn)return;let cp=(Nr.x===go?0:2)|Number(Nr.y&Ct),lp=Hl;return pe&&A(Hl)&&(lp=b(Hl),cp^=1),new T(go,lp,cp)}return{seed:uc,k2sig:a0}}let K={lowS:e.lowS,prehash:!1},Ee={lowS:e.lowS,prehash:!1};function Te(I,U,X=K){let{seed:q,k2sig:Y}=Q(I,U,X),pe=e;return P0(pe.hash.outputLen,pe.nByteLength,pe.hmac)(q,Y)}l.BASE._setWindowSize(8);function ze(I,U,X,q=Ee){let Y=I;if(U=Et("msgHash",U),X=Et("publicKey",X),"strict"in q)throw new Error("options.strict was renamed to lowS");let{lowS:pe,prehash:Re}=q,Ke,Xn;try{if(typeof Y=="string"||Y instanceof Uint8Array)try{Ke=T.fromDER(Y)}catch(Nr){if(!(Nr instanceof ui.Err))throw Nr;Ke=T.fromCompact(Y)}else if(typeof Y=="object"&&typeof Y.r=="bigint"&&typeof Y.s=="bigint"){let{r:Nr,s:go}=Y;Ke=new T(Nr,go)}else throw new Error("PARSE");Xn=l.fromHex(X)}catch(Nr){if(Nr.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(pe&&Ke.hasHighS())return!1;Re&&(U=e.hash(U));let{r:Hn,s:xo}=Ke,uc=J(U),Vn=c(xo),a0=a(uc*Vn),_s=a(Hn*Vn),mo=l.BASE.multiplyAndAddUnsafe(Xn,a0,_s)?.toAffine();return mo?a(mo.x)===Hn:!1}return{CURVE:e,getPublicKey:O,getSharedSecret:C,sign:Te,verify:ze,ProjectivePoint:l,Signature:T,utils:v}}function ZA(r){return{hash:r,hmac:(e,...t)=>Bc(r,e,zp(...t)),randomBytes:$p}}function zx(r,e){let t=n=>Zx({...r,...ZA(n)});return Object.freeze({...t(e),create:t})}var Yx=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Kx=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),zA=BigInt(1),_0=BigInt(2),$x=(r,e)=>(r+e/_0)/e;function KA(r){let e=Yx,t=BigInt(3),n=BigInt(6),s=BigInt(11),i=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),l=r*r*r%e,u=l*l*r%e,d=Tt(u,t,e)*u%e,x=Tt(d,t,e)*u%e,m=Tt(x,_0,e)*l%e,A=Tt(m,s,e)*m%e,b=Tt(A,i,e)*A%e,E=Tt(b,a,e)*b%e,T=Tt(E,c,e)*E%e,v=Tt(T,a,e)*b%e,O=Tt(v,t,e)*u%e,D=Tt(O,o,e)*A%e,C=Tt(D,n,e)*l%e,P=Tt(C,_0,e);if(!X0.eql(X0.sqr(P),r))throw new Error("Cannot find square root");return P}var X0=_x(Yx,void 0,void 0,{sqrt:KA}),xn=zx({a:BigInt(0),b:BigInt(7),Fp:X0,n:Kx,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{let e=Kx,t=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-zA*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=t,o=BigInt("0x100000000000000000000000000000000"),a=$x(i*r,e),c=$x(-n*r,e),l=We(r-a*t-c*s,e),u=We(-a*n-c*i,e),d=l>o,x=u>o;if(d&&(l=e-l),x&&(u=e-u),l>o||u>o)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:d,k1:l,k2neg:x,k2:u}}}},vc),UR=BigInt(0);var FR=xn.ProjectivePoint;var fr="0x0000000000000000000000000000000000000000";var _o="0x0000000000000000000000000000000000000000000000000000000000000000";var H0=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),V0=BigInt("1000000000000000000"),Q0=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Z0=BigInt("0x8000000000000000000000000000000000000000000000000000000000000000")*BigInt(-1),z0=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var K0="\u039E",Oc=`Ethereum Signed Message:
8
- `;var Wx=BigInt(0),jx=BigInt(1),qx=BigInt(2),em=BigInt(27),tm=BigInt(28),Tf=BigInt(35),Xo={};function rm(r){return Se(te(r),32)}var Ho,Or,Vo,di,ur=class ur{constructor(e,t,n,s){y(this,Ho);y(this,Or);y(this,Vo);y(this,di);De(e,Xo,"Signature"),h(this,Ho,t),h(this,Or,n),h(this,Vo,s),h(this,di,null)}get r(){return f(this,Ho)}set r(e){p(lt(e)===32,"invalid r","value",e),h(this,Ho,R(e))}get s(){return p(parseInt(f(this,Or).substring(0,3))<8,"non-canonical s; use ._s","s",f(this,Or)),f(this,Or)}set s(e){p(lt(e)===32,"invalid s","value",e),h(this,Or,R(e))}get _s(){return f(this,Or)}isValid(){return parseInt(f(this,Or).substring(0,3))<8}get v(){return f(this,Vo)}set v(e){let t=M(e,"value");p(t===27||t===28,"invalid v","v",e),h(this,Vo,t)}get networkV(){return f(this,di)}get legacyChainId(){let e=this.networkV;return e==null?null:ur.getChainId(e)}get yParity(){return this.v===27?0:1}get yParityAndS(){let e=L(this.s);return this.yParity&&(e[0]|=128),R(e)}get compactSerialized(){return _([this.r,this.yParityAndS])}get serialized(){return _([this.r,this.s,this.yParity?"0x1c":"0x1b"])}[Symbol.for("nodejs.util.inspect.custom")](){return`Signature { r: "${this.r}", s: "${this._s}"${this.isValid()?"":', valid: "false"'}, yParity: ${this.yParity}, networkV: ${this.networkV} }`}clone(){let e=new ur(Xo,this.r,this._s,this.v);return this.networkV&&h(e,di,this.networkV),e}toJSON(){let e=this.networkV;return{_type:"signature",networkV:e!=null?e.toString():null,r:this.r,s:this._s,v:this.v}}static getChainId(e){let t=B(e,"v");return t==em||t==tm?Wx:(p(t>=Tf,"invalid EIP-155 v","v",e),(t-Tf)/qx)}static getChainIdV(e,t){return B(e)*qx+BigInt(35+t-27)}static getNormalizedV(e){let t=B(e);return t===Wx||t===em?27:t===jx||t===tm?28:(p(t>=Tf,"invalid v","v",e),t&jx?27:28)}static from(e){function t(l,u){p(l,u,"signature",e)}if(e==null)return new ur(Xo,_o,_o,27);if(typeof e=="string"){let l=L(e,"signature");if(l.length===64){let u=R(l.slice(0,32)),d=l.slice(32,64),x=d[0]&128?28:27;return d[0]&=127,new ur(Xo,u,R(d),x)}if(l.length===65){let u=R(l.slice(0,32)),d=R(l.slice(32,64)),x=ur.getNormalizedV(l[64]);return new ur(Xo,u,d,x)}t(!1,"invalid raw signature length")}if(e instanceof ur)return e.clone();let n=e.r;t(n!=null,"missing r");let s=rm(n),i=(function(l,u){if(l!=null)return rm(l);if(u!=null){t(V(u,32),"invalid yParityAndS");let d=L(u);return d[0]&=127,R(d)}t(!1,"missing s")})(e.s,e.yParityAndS),{networkV:o,v:a}=(function(l,u,d){if(l!=null){let x=B(l);return{networkV:x>=Tf?x:void 0,v:ur.getNormalizedV(x)}}if(u!=null)return t(V(u,32),"invalid yParityAndS"),{v:L(u)[0]&128?28:27};if(d!=null){switch(M(d,"sig.yParity")){case 0:return{v:27};case 1:return{v:28}}t(!1,"invalid yParity")}t(!1,"missing v")})(e.v,e.yParityAndS,e.yParity),c=new ur(Xo,s,i,a);return o&&h(c,di,o),t(e.yParity==null||M(e.yParity,"sig.yParity")===c.yParity,"yParity mismatch"),t(e.yParityAndS==null||e.yParityAndS===c.yParityAndS,"yParityAndS mismatch"),c}};Ho=new WeakMap,Or=new WeakMap,Vo=new WeakMap,di=new WeakMap;var ve=ur;var mn,hi=class hi{constructor(e){y(this,mn);p(lt(e)===32,"invalid private key","privateKey","[REDACTED]"),h(this,mn,R(e))}get privateKey(){return f(this,mn)}get publicKey(){return hi.computePublicKey(f(this,mn))}get compressedPublicKey(){return hi.computePublicKey(f(this,mn),!0)}sign(e){p(lt(e)===32,"invalid digest length","digest",e);let t=xn.sign(le(e),le(f(this,mn)),{lowS:!0});return ve.from({r:Me(t.r,32),s:Me(t.s,32),v:t.recovery?28:27})}computeSharedSecret(e){let t=hi.computePublicKey(e);return R(xn.getSharedSecret(le(f(this,mn)),L(t),!1))}static computePublicKey(e,t){let n=L(e,"key");if(n.length===32){let i=xn.getPublicKey(n,!!t);return R(i)}if(n.length===64){let i=new Uint8Array(65);i[0]=4,i.set(n,1),n=i}let s=xn.ProjectivePoint.fromHex(n);return R(s.toRawBytes(t))}static recoverPublicKey(e,t){p(lt(e)===32,"invalid digest length","digest",e);let n=ve.from(t),s=xn.Signature.fromCompact(le(_([n.r,n.s])));s=s.addRecoveryBit(n.yParity);let i=s.recoverPublicKey(le(e));return p(i!=null,"invalid signature for digest","signature",t),"0x"+i.toHex(!1)}static addPoints(e,t,n){let s=xn.ProjectivePoint.fromHex(hi.computePublicKey(e).substring(2)),i=xn.ProjectivePoint.fromHex(hi.computePublicKey(t).substring(2));return"0x"+s.add(i).toHex(!!n)}};mn=new WeakMap;var _e=hi;function nm(){sr.lock(),H.lock(),st.lock(),Ye.lock(),ar.lock(),cr.lock(),lr.lock(),Ne.lock(),ai.lock(),Ye.lock()}var $A=BigInt(0),YA=BigInt(36);function sm(r){r=r.toLowerCase();let e=r.substring(2).split(""),t=new Uint8Array(40);for(let s=0;s<40;s++)t[s]=e[s].charCodeAt(0);let n=L(H(t));for(let s=0;s<40;s+=2)n[s>>1]>>4>=8&&(e[s]=e[s].toUpperCase()),(n[s>>1]&15)>=8&&(e[s+1]=e[s+1].toUpperCase());return"0x"+e.join("")}var $0={};for(let r=0;r<10;r++)$0[String(r)]=String(r);for(let r=0;r<26;r++)$0[String.fromCharCode(65+r)]=String(10+r);var im=15;function om(r){r=r.toUpperCase(),r=r.substring(4)+r.substring(0,2)+"00";let e=r.split("").map(n=>$0[n]).join("");for(;e.length>=im;){let n=e.substring(0,im);e=parseInt(n,10)%97+e.substring(n.length)}let t=String(98-parseInt(e,10)%97);for(;t.length<2;)t="0"+t;return t}var WA=(function(){let r={};for(let e=0;e<36;e++){let t="0123456789abcdefghijklmnopqrstuvwxyz"[e];r[t]=BigInt(e)}return r})();function jA(r){r=r.toLowerCase();let e=$A;for(let t=0;t<r.length;t++)e=e*YA+WA[r[t]];return e}function k(r){if(p(typeof r=="string","invalid address","address",r),r.match(/^(0x)?[0-9a-fA-F]{40}$/)){r.startsWith("0x")||(r="0x"+r);let e=sm(r);return p(!r.match(/([A-F].*[a-f])|([a-f].*[A-F])/)||e===r,"bad address checksum","address",r),e}if(r.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){p(r.substring(2,4)===om(r),"bad icap checksum","address",r);let e=jA(r.substring(4)).toString(16);for(;e.length<40;)e="0"+e;return sm("0x"+e)}p(!1,"invalid address","address",r)}function Y0(r){let e=BigInt(k(r)).toString(36).toUpperCase();for(;e.length<30;)e="0"+e;return"XE"+om("XE00"+e)+e}function pi(r){let e=k(r.from),n=B(r.nonce,"tx.nonce").toString(16);return n==="0"?n="0x":n.length%2?n="0x0"+n:n="0x"+n,k(ee(H(nt([e,n])),12))}function W0(r,e,t){let n=k(r),s=L(e,"salt"),i=L(t,"initCodeHash");return p(s.length===32,"salt must be 32 bytes","salt",e),p(i.length===32,"initCodeHash must be 32 bytes","initCodeHash",t),k(ee(H(_(["0xff",n,s,i])),12))}function Qo(r){return r&&typeof r.getAddress=="function"}function q0(r){try{return k(r),!0}catch{}return!1}async function j0(r,e){let t=await e;return(t==null||t==="0x0000000000000000000000000000000000000000")&&(w(typeof r!="string","unconfigured name","UNCONFIGURED_NAME",{value:r}),p(!1,"invalid AddressLike value; did not resolve to a value address","target",r)),k(t)}function xe(r,e){if(typeof r=="string")return r.match(/^0x[0-9a-f]{40}$/i)?k(r):(w(e!=null,"ENS resolution requires a provider","UNSUPPORTED_OPERATION",{operation:"resolveName"}),j0(r,e.resolveName(r)));if(Qo(r))return j0(r,r.getAddress());if(r&&typeof r.then=="function")return j0(r,r);p(!1,"unsupported addressable value","target",r)}var dr={};function F(r,e){let t=!1;return e<0&&(t=!0,e*=-1),new ue(dr,`${t?"":"u"}int${e}`,r,{signed:t,width:e})}function oe(r,e){return new ue(dr,`bytes${e||""}`,r,{size:e})}var am=Symbol.for("_ethers_typed"),xi,hr=class hr{constructor(e,t,n,s){g(this,"type");g(this,"value");y(this,xi);g(this,"_typedSymbol");s==null&&(s=null),De(dr,e,"Typed"),N(this,{_typedSymbol:am,type:t,value:n}),h(this,xi,s),this.format()}format(){if(this.type==="array")throw new Error("");if(this.type==="dynamicArray")throw new Error("");return this.type==="tuple"?`tuple(${this.value.map(e=>e.format()).join(",")})`:this.type}defaultValue(){return 0}minValue(){return 0}maxValue(){return 0}isBigInt(){return!!this.type.match(/^u?int[0-9]+$/)}isData(){return this.type.startsWith("bytes")}isString(){return this.type==="string"}get tupleName(){if(this.type!=="tuple")throw TypeError("not a tuple");return f(this,xi)}get arrayLength(){if(this.type!=="array")throw TypeError("not an array");return f(this,xi)===!0?-1:f(this,xi)===!1?this.value.length:null}static from(e,t){return new hr(dr,e,t)}static uint8(e){return F(e,8)}static uint16(e){return F(e,16)}static uint24(e){return F(e,24)}static uint32(e){return F(e,32)}static uint40(e){return F(e,40)}static uint48(e){return F(e,48)}static uint56(e){return F(e,56)}static uint64(e){return F(e,64)}static uint72(e){return F(e,72)}static uint80(e){return F(e,80)}static uint88(e){return F(e,88)}static uint96(e){return F(e,96)}static uint104(e){return F(e,104)}static uint112(e){return F(e,112)}static uint120(e){return F(e,120)}static uint128(e){return F(e,128)}static uint136(e){return F(e,136)}static uint144(e){return F(e,144)}static uint152(e){return F(e,152)}static uint160(e){return F(e,160)}static uint168(e){return F(e,168)}static uint176(e){return F(e,176)}static uint184(e){return F(e,184)}static uint192(e){return F(e,192)}static uint200(e){return F(e,200)}static uint208(e){return F(e,208)}static uint216(e){return F(e,216)}static uint224(e){return F(e,224)}static uint232(e){return F(e,232)}static uint240(e){return F(e,240)}static uint248(e){return F(e,248)}static uint256(e){return F(e,256)}static uint(e){return F(e,256)}static int8(e){return F(e,-8)}static int16(e){return F(e,-16)}static int24(e){return F(e,-24)}static int32(e){return F(e,-32)}static int40(e){return F(e,-40)}static int48(e){return F(e,-48)}static int56(e){return F(e,-56)}static int64(e){return F(e,-64)}static int72(e){return F(e,-72)}static int80(e){return F(e,-80)}static int88(e){return F(e,-88)}static int96(e){return F(e,-96)}static int104(e){return F(e,-104)}static int112(e){return F(e,-112)}static int120(e){return F(e,-120)}static int128(e){return F(e,-128)}static int136(e){return F(e,-136)}static int144(e){return F(e,-144)}static int152(e){return F(e,-152)}static int160(e){return F(e,-160)}static int168(e){return F(e,-168)}static int176(e){return F(e,-176)}static int184(e){return F(e,-184)}static int192(e){return F(e,-192)}static int200(e){return F(e,-200)}static int208(e){return F(e,-208)}static int216(e){return F(e,-216)}static int224(e){return F(e,-224)}static int232(e){return F(e,-232)}static int240(e){return F(e,-240)}static int248(e){return F(e,-248)}static int256(e){return F(e,-256)}static int(e){return F(e,-256)}static bytes1(e){return oe(e,1)}static bytes2(e){return oe(e,2)}static bytes3(e){return oe(e,3)}static bytes4(e){return oe(e,4)}static bytes5(e){return oe(e,5)}static bytes6(e){return oe(e,6)}static bytes7(e){return oe(e,7)}static bytes8(e){return oe(e,8)}static bytes9(e){return oe(e,9)}static bytes10(e){return oe(e,10)}static bytes11(e){return oe(e,11)}static bytes12(e){return oe(e,12)}static bytes13(e){return oe(e,13)}static bytes14(e){return oe(e,14)}static bytes15(e){return oe(e,15)}static bytes16(e){return oe(e,16)}static bytes17(e){return oe(e,17)}static bytes18(e){return oe(e,18)}static bytes19(e){return oe(e,19)}static bytes20(e){return oe(e,20)}static bytes21(e){return oe(e,21)}static bytes22(e){return oe(e,22)}static bytes23(e){return oe(e,23)}static bytes24(e){return oe(e,24)}static bytes25(e){return oe(e,25)}static bytes26(e){return oe(e,26)}static bytes27(e){return oe(e,27)}static bytes28(e){return oe(e,28)}static bytes29(e){return oe(e,29)}static bytes30(e){return oe(e,30)}static bytes31(e){return oe(e,31)}static bytes32(e){return oe(e,32)}static address(e){return new hr(dr,"address",e)}static bool(e){return new hr(dr,"bool",!!e)}static bytes(e){return new hr(dr,"bytes",e)}static string(e){return new hr(dr,"string",e)}static array(e,t){throw new Error("not implemented yet")}static tuple(e,t){throw new Error("not implemented yet")}static overrides(e){return new hr(dr,"overrides",Object.assign({},e))}static isTyped(e){return e&&typeof e=="object"&&"_typedSymbol"in e&&e._typedSymbol===am}static dereference(e,t){if(hr.isTyped(e)){if(e.type!==t)throw new Error(`invalid type: expecetd ${t}, got ${e.type}`);return e.value}return e}};xi=new WeakMap;var ue=hr;var Rf=class extends Pe{constructor(e){super("address","address",e,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(e,t){let n=ue.dereference(t,"string");try{n=k(n)}catch(s){return this._throwError(s.message,t)}return e.writeValue(n)}decode(e){return k(Me(e.readValue(),20))}};var Sf=class extends Pe{constructor(t){super(t.name,t.type,"_",t.dynamic);g(this,"coder");this.coder=t}defaultValue(){return this.coder.defaultValue()}encode(t,n){return this.coder.encode(t,n)}decode(t){return this.coder.decode(t)}};function ed(r,e,t){let n=[];if(Array.isArray(t))n=t;else if(t&&typeof t=="object"){let c={};n=e.map(l=>{let u=l.localName;return w(u,"cannot encode object for signature with missing names","INVALID_ARGUMENT",{argument:"values",info:{coder:l},value:t}),w(!c[u],"cannot encode object for signature with duplicate names","INVALID_ARGUMENT",{argument:"values",info:{coder:l},value:t}),c[u]=!0,t[u]})}else p(!1,"invalid tuple value","tuple",t);p(e.length===n.length,"types/value length mismatch","tuple",t);let s=new ii,i=new ii,o=[];e.forEach((c,l)=>{let u=n[l];if(c.dynamic){let d=i.length;c.encode(i,u);let x=s.writeUpdatableValue();o.push(m=>{x(m+d)})}else c.encode(s,u)}),o.forEach(c=>{c(s.length)});let a=r.appendWriter(s);return a+=r.appendWriter(i),a}function td(r,e){let t=[],n=[],s=r.subReader(0);return e.forEach(i=>{let o=null;if(i.dynamic){let a=r.readIndex(),c=s.subReader(a);try{o=i.decode(c)}catch(l){if(se(l,"BUFFER_OVERRUN"))throw l;o=l,o.baseType=i.name,o.name=i.localName,o.type=i.type}}else try{o=i.decode(r)}catch(a){if(se(a,"BUFFER_OVERRUN"))throw a;o=a,o.baseType=i.name,o.name=i.localName,o.type=i.type}if(o==null)throw new Error("investigate");t.push(o),n.push(i.localName||null)}),nr.fromItems(t,n)}var Lf=class extends Pe{constructor(t,n,s){let i=t.type+"["+(n>=0?n:"")+"]",o=n===-1||t.dynamic;super("array",i,s,o);g(this,"coder");g(this,"length");N(this,{coder:t,length:n})}defaultValue(){let t=this.coder.defaultValue(),n=[];for(let s=0;s<this.length;s++)n.push(t);return n}encode(t,n){let s=ue.dereference(n,"array");Array.isArray(s)||this._throwError("expected array value",s);let i=this.length;i===-1&&(i=s.length,t.writeValue(s.length)),Hs(s.length,i,"coder array"+(this.localName?" "+this.localName:""));let o=[];for(let a=0;a<s.length;a++)o.push(this.coder);return ed(t,o,s)}decode(t){let n=this.length;n===-1&&(n=t.readIndex(),w(n*Ge<=t.dataLength,"insufficient data length","BUFFER_OVERRUN",{buffer:t.bytes,offset:n*Ge,length:t.dataLength}));let s=[];for(let i=0;i<n;i++)s.push(new Sf(this.coder));return td(t,s)}};var Nf=class extends Pe{constructor(e){super("bool","bool",e,!1)}defaultValue(){return!1}encode(e,t){let n=ue.dereference(t,"bool");return e.writeValue(n?1:0)}decode(e){return!!e.readValue()}};var Cc=class extends Pe{constructor(e,t){super(e,e,t,!0)}defaultValue(){return"0x"}encode(e,t){t=le(t);let n=e.writeValue(t.length);return n+=e.writeBytes(t),n}decode(e){return e.readBytes(e.readIndex(),!0)}},vf=class extends Cc{constructor(e){super("bytes",e)}decode(e){return R(super.decode(e))}};var Bf=class extends Pe{constructor(t,n){let s="bytes"+String(t);super(s,s,n,!1);g(this,"size");N(this,{size:t},{size:"number"})}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+this.size*2)}encode(t,n){let s=le(ue.dereference(n,this.type));return s.length!==this.size&&this._throwError("incorrect data length",n),t.writeBytes(s)}decode(t){return R(t.readBytes(this.size))}};var qA=new Uint8Array([]),If=class extends Pe{constructor(e){super("null","",e,!1)}defaultValue(){return null}encode(e,t){return t!=null&&this._throwError("not null",t),e.writeBytes(qA)}decode(e){return e.readBytes(0),null}};var e1=BigInt(0),t1=BigInt(1),r1=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Of=class extends Pe{constructor(t,n,s){let i=(n?"int":"uint")+t*8;super(i,i,s,!1);g(this,"size");g(this,"signed");N(this,{size:t,signed:n},{size:"number",signed:"boolean"})}defaultValue(){return 0}encode(t,n){let s=B(ue.dereference(n,this.type)),i=bt(r1,Ge*8);if(this.signed){let o=bt(i,this.size*8-1);(s>o||s<-(o+t1))&&this._throwError("value out-of-bounds",n),s=sn(s,8*Ge)}else(s<e1||s>bt(i,this.size*8))&&this._throwError("value out-of-bounds",n);return t.writeValue(s)}decode(t){let n=bt(t.readValue(),this.size*8);return this.signed&&(n=nn(n,this.size*8)),n}};var Cf=class extends Cc{constructor(e){super("string",e)}defaultValue(){return""}encode(e,t){return super.encode(e,re(ue.dereference(t,"string")))}decode(e){return Le(super.decode(e))}};var mi=class extends Pe{constructor(t,n){let s=!1,i=[];t.forEach(a=>{a.dynamic&&(s=!0),i.push(a.type)});let o="tuple("+i.join(",")+")";super("tuple",o,n,s);g(this,"coders");N(this,{coders:Object.freeze(t.slice())})}defaultValue(){let t=[];this.coders.forEach(s=>{t.push(s.defaultValue())});let n=this.coders.reduce((s,i)=>{let o=i.localName;return o&&(s[o]||(s[o]=0),s[o]++),s},{});return this.coders.forEach((s,i)=>{let o=s.localName;!o||n[o]!==1||(o==="length"&&(o="_length"),t[o]==null&&(t[o]=t[i]))}),Object.freeze(t)}encode(t,n){let s=ue.dereference(n,"tuple");return ed(t,this.coders,s)}decode(t){return td(t,this.coders)}};function rd(r,e){return{address:k(r),storageKeys:e.map((t,n)=>(p(V(t,32),"invalid slot",`storageKeys[${n}]`,t),t.toLowerCase()))}}function Xe(r){if(Array.isArray(r))return r.map((t,n)=>Array.isArray(t)?(p(t.length===2,"invalid slot set",`value[${n}]`,t),rd(t[0],t[1])):(p(t!=null&&typeof t=="object","invalid address-slot set","value",r),rd(t.address,t.storageKeys)));p(r!=null&&typeof r=="object","invalid access list","value",r);let e=Object.keys(r).map(t=>{let n=r[t].reduce((s,i)=>(s[i]=!0,s),{});return rd(t,Object.keys(n).sort())});return e.sort((t,n)=>t.address.localeCompare(n.address)),e}function gi(r){return{address:k(r.address),nonce:B(r.nonce!=null?r.nonce:0),chainId:B(r.chainId!=null?r.chainId:0),signature:ve.from(r.signature)}}function pr(r){let e;return typeof r=="string"?e=_e.computePublicKey(r,!1):e=r.publicKey,k(H("0x"+e.substring(4)).substring(26))}function xr(r,e){return pr(_e.recoverPublicKey(r,e))}var Je=BigInt(0),n1=BigInt(2),s1=BigInt(27),i1=BigInt(28),o1=BigInt(35),a1=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),nd=4096*32;function c1(r){return{blobToKzgCommitment:n=>{if("computeBlobProof"in r){if("blobToKzgCommitment"in r&&typeof r.blobToKzgCommitment=="function")return L(r.blobToKzgCommitment(R(n)))}else if("blobToKzgCommitment"in r&&typeof r.blobToKzgCommitment=="function")return L(r.blobToKzgCommitment(n));if("blobToKZGCommitment"in r&&typeof r.blobToKZGCommitment=="function")return L(r.blobToKZGCommitment(R(n)));p(!1,"unsupported KZG library","kzg",r)},computeBlobKzgProof:(n,s)=>{if("computeBlobProof"in r&&typeof r.computeBlobProof=="function")return L(r.computeBlobProof(R(n),R(s)));if("computeBlobKzgProof"in r&&typeof r.computeBlobKzgProof=="function")return r.computeBlobKzgProof(n,s);if("computeBlobKZGProof"in r&&typeof r.computeBlobKZGProof=="function")return L(r.computeBlobKZGProof(R(n),R(s)));p(!1,"unsupported KZG library","kzg",r)}}}function cm(r,e){let t=r.toString(16);for(;t.length<2;)t="0"+t;return t+=Ne(e).substring(4),"0x"+t}function ia(r){return r==="0x"?null:k(r)}function Uf(r,e){try{return Xe(r)}catch(t){p(!1,t.message,e,r)}}function l1(r,e){try{if(!Array.isArray(r))throw new Error("authorizationList: invalid array");let t=[];for(let n=0;n<r.length;n++){let s=r[n];if(!Array.isArray(s))throw new Error(`authorization[${n}]: invalid array`);if(s.length!==6)throw new Error(`authorization[${n}]: wrong length`);if(!s[1])throw new Error(`authorization[${n}]: null address`);t.push({address:ia(s[1]),nonce:de(s[2],"nonce"),chainId:de(s[0],"chainId"),signature:ve.from({yParity:yi(s[3],"yParity"),r:Se(s[4],32),s:Se(s[5],32)})})}return t}catch(t){p(!1,t.message,e,r)}}function yi(r,e){return r==="0x"?0:M(r,e)}function de(r,e){if(r==="0x")return Je;let t=B(r,e);return p(t<=a1,"value exceeds uint size",e,t),t}function W(r,e){let t=B(r,"value"),n=te(t);return p(n.length<=32,"value too large",`tx.${e}`,t),n}function Ff(r){return Xe(r).map(e=>[e.address,e.storageKeys])}function f1(r){return r.map(e=>[W(e.chainId,"chainId"),e.address,W(e.nonce,"nonce"),W(e.signature.yParity,"yParity"),te(e.signature.r),te(e.signature.s)])}function u1(r,e){p(Array.isArray(r),`invalid ${e}`,"value",r);for(let t=0;t<r.length;t++)p(V(r[t],32),"invalid ${ param } hash",`value[${t}]`,r[t]);return r}function d1(r){let e=fn(r);p(Array.isArray(e)&&(e.length===9||e.length===6),"invalid field count for legacy transaction","data",r);let t={type:0,nonce:yi(e[0],"nonce"),gasPrice:de(e[1],"gasPrice"),gasLimit:de(e[2],"gasLimit"),to:ia(e[3]),value:de(e[4],"value"),data:R(e[5]),chainId:Je};if(e.length===6)return t;let n=de(e[6],"v"),s=de(e[7],"r"),i=de(e[8],"s");if(s===Je&&i===Je)t.chainId=n;else{let o=(n-o1)/n1;o<Je&&(o=Je),t.chainId=o,p(o!==Je||n===s1||n===i1,"non-canonical legacy v","v",e[6]),t.signature=ve.from({r:Se(e[7],32),s:Se(e[8],32),v:n})}return t}function h1(r,e){let t=[W(r.nonce,"nonce"),W(r.gasPrice||0,"gasPrice"),W(r.gasLimit,"gasLimit"),r.to||"0x",W(r.value,"value"),r.data],n=Je;if(r.chainId!=Je)n=B(r.chainId,"tx.chainId"),p(!e||e.networkV==null||e.legacyChainId===n,"tx.chainId/sig.v mismatch","sig",e);else if(r.signature){let i=r.signature.legacyChainId;i!=null&&(n=i)}if(!e)return n!==Je&&(t.push(te(n)),t.push("0x"),t.push("0x")),nt(t);let s=BigInt(27+e.yParity);return n!==Je?s=ve.getChainIdV(n,e.v):BigInt(e.v)!==s&&p(!1,"tx.chainId/sig.v mismatch","sig",e),t.push(te(s)),t.push(te(e.r)),t.push(te(e.s)),nt(t)}function Mf(r,e){let t;try{if(t=yi(e[0],"yParity"),t!==0&&t!==1)throw new Error("bad yParity")}catch{p(!1,"invalid yParity","yParity",e[0])}let n=Se(e[1],32),s=Se(e[2],32),i=ve.from({r:n,s,yParity:t});r.signature=i}function p1(r){let e=fn(L(r).slice(1));p(Array.isArray(e)&&(e.length===9||e.length===12),"invalid field count for transaction type: 2","data",R(r));let t={type:2,chainId:de(e[0],"chainId"),nonce:yi(e[1],"nonce"),maxPriorityFeePerGas:de(e[2],"maxPriorityFeePerGas"),maxFeePerGas:de(e[3],"maxFeePerGas"),gasPrice:null,gasLimit:de(e[4],"gasLimit"),to:ia(e[5]),value:de(e[6],"value"),data:R(e[7]),accessList:Uf(e[8],"accessList")};return e.length===9||Mf(t,e.slice(9)),t}function x1(r,e){let t=[W(r.chainId,"chainId"),W(r.nonce,"nonce"),W(r.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),W(r.maxFeePerGas||0,"maxFeePerGas"),W(r.gasLimit,"gasLimit"),r.to||"0x",W(r.value,"value"),r.data,Ff(r.accessList||[])];return e&&(t.push(W(e.yParity,"yParity")),t.push(te(e.r)),t.push(te(e.s))),_(["0x02",nt(t)])}function m1(r){let e=fn(L(r).slice(1));p(Array.isArray(e)&&(e.length===8||e.length===11),"invalid field count for transaction type: 1","data",R(r));let t={type:1,chainId:de(e[0],"chainId"),nonce:yi(e[1],"nonce"),gasPrice:de(e[2],"gasPrice"),gasLimit:de(e[3],"gasLimit"),to:ia(e[4]),value:de(e[5],"value"),data:R(e[6]),accessList:Uf(e[7],"accessList")};return e.length===8||Mf(t,e.slice(8)),t}function g1(r,e){let t=[W(r.chainId,"chainId"),W(r.nonce,"nonce"),W(r.gasPrice||0,"gasPrice"),W(r.gasLimit,"gasLimit"),r.to||"0x",W(r.value,"value"),r.data,Ff(r.accessList||[])];return e&&(t.push(W(e.yParity,"recoveryParam")),t.push(te(e.r)),t.push(te(e.s))),_(["0x01",nt(t)])}function b1(r){let e=fn(L(r).slice(1)),t="3",n=null;if(e.length===4&&Array.isArray(e[0])){t="3 (network format)";let i=e[1],o=e[2],a=e[3];p(Array.isArray(i),"invalid network format: blobs not an array","fields[1]",i),p(Array.isArray(o),"invalid network format: commitments not an array","fields[2]",o),p(Array.isArray(a),"invalid network format: proofs not an array","fields[3]",a),p(i.length===o.length,"invalid network format: blobs/commitments length mismatch","fields",e),p(i.length===a.length,"invalid network format: blobs/proofs length mismatch","fields",e),n=[];for(let c=0;c<e[1].length;c++)n.push({data:i[c],commitment:o[c],proof:a[c]});e=e[0]}p(Array.isArray(e)&&(e.length===11||e.length===14),`invalid field count for transaction type: ${t}`,"data",R(r));let s={type:3,chainId:de(e[0],"chainId"),nonce:yi(e[1],"nonce"),maxPriorityFeePerGas:de(e[2],"maxPriorityFeePerGas"),maxFeePerGas:de(e[3],"maxFeePerGas"),gasPrice:null,gasLimit:de(e[4],"gasLimit"),to:ia(e[5]),value:de(e[6],"value"),data:R(e[7]),accessList:Uf(e[8],"accessList"),maxFeePerBlobGas:de(e[9],"maxFeePerBlobGas"),blobVersionedHashes:e[10]};n&&(s.blobs=n),p(s.to!=null,`invalid address for transaction type: ${t}`,"data",r),p(Array.isArray(s.blobVersionedHashes),"invalid blobVersionedHashes: must be an array","data",r);for(let i=0;i<s.blobVersionedHashes.length;i++)p(V(s.blobVersionedHashes[i],32),`invalid blobVersionedHash at index ${i}: must be length 32`,"data",r);return e.length===11||Mf(s,e.slice(11)),s}function y1(r,e,t){let n=[W(r.chainId,"chainId"),W(r.nonce,"nonce"),W(r.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),W(r.maxFeePerGas||0,"maxFeePerGas"),W(r.gasLimit,"gasLimit"),r.to||fr,W(r.value,"value"),r.data,Ff(r.accessList||[]),W(r.maxFeePerBlobGas||0,"maxFeePerBlobGas"),u1(r.blobVersionedHashes||[],"blobVersionedHashes")];return e&&(n.push(W(e.yParity,"yParity")),n.push(te(e.r)),n.push(te(e.s)),t)?_(["0x03",nt([n,t.map(s=>s.data),t.map(s=>s.commitment),t.map(s=>s.proof)])]):_(["0x03",nt(n)])}function A1(r){let e=fn(L(r).slice(1));p(Array.isArray(e)&&(e.length===10||e.length===13),"invalid field count for transaction type: 4","data",R(r));let t={type:4,chainId:de(e[0],"chainId"),nonce:yi(e[1],"nonce"),maxPriorityFeePerGas:de(e[2],"maxPriorityFeePerGas"),maxFeePerGas:de(e[3],"maxFeePerGas"),gasPrice:null,gasLimit:de(e[4],"gasLimit"),to:ia(e[5]),value:de(e[6],"value"),data:R(e[7]),accessList:Uf(e[8],"accessList"),authorizationList:l1(e[9],"authorizationList")};return e.length===10||Mf(t,e.slice(10)),t}function w1(r,e){let t=[W(r.chainId,"chainId"),W(r.nonce,"nonce"),W(r.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),W(r.maxFeePerGas||0,"maxFeePerGas"),W(r.gasLimit,"gasLimit"),r.to||"0x",W(r.value,"value"),r.data,Ff(r.accessList||[]),f1(r.authorizationList||[])];return e&&(t.push(W(e.yParity,"yParity")),t.push(te(e.r)),t.push(te(e.s))),_(["0x04",nt(t)])}var mr,Zo,zo,Ko,$o,Yo,Wo,jo,qo,ea,ta,ra,bi,ss,Pr,is,na,sa,Pf,Cr=class Cr{constructor(){y(this,sa);y(this,mr);y(this,Zo);y(this,zo);y(this,Ko);y(this,$o);y(this,Yo);y(this,Wo);y(this,jo);y(this,qo);y(this,ea);y(this,ta);y(this,ra);y(this,bi);y(this,ss);y(this,Pr);y(this,is);y(this,na);h(this,mr,null),h(this,Zo,null),h(this,Ko,0),h(this,$o,Je),h(this,Yo,null),h(this,Wo,null),h(this,jo,null),h(this,zo,"0x"),h(this,qo,Je),h(this,ea,Je),h(this,ta,null),h(this,ra,null),h(this,bi,null),h(this,ss,null),h(this,Pr,null),h(this,is,null),h(this,na,null)}get type(){return f(this,mr)}set type(e){switch(e){case null:h(this,mr,null);break;case 0:case"legacy":h(this,mr,0);break;case 1:case"berlin":case"eip-2930":h(this,mr,1);break;case 2:case"london":case"eip-1559":h(this,mr,2);break;case 3:case"cancun":case"eip-4844":h(this,mr,3);break;case 4:case"pectra":case"eip-7702":h(this,mr,4);break;default:p(!1,"unsupported transaction type","type",e)}}get typeName(){switch(this.type){case 0:return"legacy";case 1:return"eip-2930";case 2:return"eip-1559";case 3:return"eip-4844";case 4:return"eip-7702"}return null}get to(){let e=f(this,Zo);return e==null&&this.type===3?fr:e}set to(e){h(this,Zo,e==null?null:k(e))}get nonce(){return f(this,Ko)}set nonce(e){h(this,Ko,M(e,"value"))}get gasLimit(){return f(this,$o)}set gasLimit(e){h(this,$o,B(e))}get gasPrice(){let e=f(this,Yo);return e==null&&(this.type===0||this.type===1)?Je:e}set gasPrice(e){h(this,Yo,e==null?null:B(e,"gasPrice"))}get maxPriorityFeePerGas(){let e=f(this,Wo);return e??(this.type===2||this.type===3?Je:null)}set maxPriorityFeePerGas(e){h(this,Wo,e==null?null:B(e,"maxPriorityFeePerGas"))}get maxFeePerGas(){let e=f(this,jo);return e??(this.type===2||this.type===3?Je:null)}set maxFeePerGas(e){h(this,jo,e==null?null:B(e,"maxFeePerGas"))}get data(){return f(this,zo)}set data(e){h(this,zo,R(e))}get value(){return f(this,qo)}set value(e){h(this,qo,B(e,"value"))}get chainId(){return f(this,ea)}set chainId(e){h(this,ea,B(e))}get signature(){return f(this,ta)||null}set signature(e){h(this,ta,e==null?null:ve.from(e))}get accessList(){let e=f(this,ra)||null;return e??(this.type===1||this.type===2||this.type===3?[]:null)}set accessList(e){h(this,ra,e==null?null:Xe(e))}get authorizationList(){let e=f(this,na)||null;return e==null&&this.type===4?[]:e}set authorizationList(e){h(this,na,e==null?null:e.map(t=>gi(t)))}get maxFeePerBlobGas(){let e=f(this,bi);return e==null&&this.type===3?Je:e}set maxFeePerBlobGas(e){h(this,bi,e==null?null:B(e,"maxFeePerBlobGas"))}get blobVersionedHashes(){let e=f(this,ss);return e==null&&this.type===3?[]:e}set blobVersionedHashes(e){if(e!=null){p(Array.isArray(e),"blobVersionedHashes must be an Array","value",e),e=e.slice();for(let t=0;t<e.length;t++)p(V(e[t],32),"invalid blobVersionedHash",`value[${t}]`,e[t])}h(this,ss,e)}get blobs(){return f(this,is)==null?null:f(this,is).map(e=>Object.assign({},e))}set blobs(e){if(e==null){h(this,is,null);return}let t=[],n=[];for(let s=0;s<e.length;s++){let i=e[s];if(Yt(i)){w(f(this,Pr),"adding a raw blob requires a KZG library","UNSUPPORTED_OPERATION",{operation:"set blobs()"});let o=L(i);if(p(o.length<=nd,"blob is too large",`blobs[${s}]`,i),o.length!==nd){let l=new Uint8Array(nd);l.set(o),o=l}let a=f(this,Pr).blobToKzgCommitment(o),c=R(f(this,Pr).computeBlobKzgProof(o,a));t.push({data:R(o),commitment:R(a),proof:c}),n.push(cm(1,a))}else{let o=R(i.commitment);t.push({data:R(i.data),commitment:o,proof:R(i.proof)}),n.push(cm(1,o))}}h(this,is,t),h(this,ss,n)}get kzg(){return f(this,Pr)}set kzg(e){e==null?h(this,Pr,null):h(this,Pr,c1(e))}get hash(){return this.signature==null?null:H(S(this,sa,Pf).call(this,!0,!1))}get unsignedHash(){return H(this.unsignedSerialized)}get from(){return this.signature==null?null:xr(this.unsignedHash,this.signature)}get fromPublicKey(){return this.signature==null?null:_e.recoverPublicKey(this.unsignedHash,this.signature)}isSigned(){return this.signature!=null}get serialized(){return S(this,sa,Pf).call(this,!0,!0)}get unsignedSerialized(){return S(this,sa,Pf).call(this,!1,!1)}inferType(){let e=this.inferTypes();return e.indexOf(2)>=0?2:e.pop()}inferTypes(){let e=this.gasPrice!=null,t=this.maxFeePerGas!=null||this.maxPriorityFeePerGas!=null,n=this.accessList!=null,s=f(this,bi)!=null||f(this,ss);this.maxFeePerGas!=null&&this.maxPriorityFeePerGas!=null&&w(this.maxFeePerGas>=this.maxPriorityFeePerGas,"priorityFee cannot be more than maxFee","BAD_DATA",{value:this}),w(!t||this.type!==0&&this.type!==1,"transaction type cannot have maxFeePerGas or maxPriorityFeePerGas","BAD_DATA",{value:this}),w(this.type!==0||!n,"legacy transaction cannot have accessList","BAD_DATA",{value:this});let i=[];return this.type!=null?i.push(this.type):this.authorizationList&&this.authorizationList.length?i.push(4):t?i.push(2):e?(i.push(1),n||i.push(0)):n?(i.push(1),i.push(2)):(s&&this.to||(i.push(0),i.push(1),i.push(2)),i.push(3)),i.sort(),i}isLegacy(){return this.type===0}isBerlin(){return this.type===1}isLondon(){return this.type===2}isCancun(){return this.type===3}clone(){return Cr.from(this)}toJSON(){let e=t=>t==null?null:t.toString();return{type:this.type,to:this.to,data:this.data,nonce:this.nonce,gasLimit:e(this.gasLimit),gasPrice:e(this.gasPrice),maxPriorityFeePerGas:e(this.maxPriorityFeePerGas),maxFeePerGas:e(this.maxFeePerGas),value:e(this.value),chainId:e(this.chainId),sig:this.signature?this.signature.toJSON():null,accessList:this.accessList}}static from(e){if(e==null)return new Cr;if(typeof e=="string"){let n=L(e);if(n[0]>=127)return Cr.from(d1(n));switch(n[0]){case 1:return Cr.from(m1(n));case 2:return Cr.from(p1(n));case 3:return Cr.from(b1(n));case 4:return Cr.from(A1(n))}w(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:"from"})}let t=new Cr;return e.type!=null&&(t.type=e.type),e.to!=null&&(t.to=e.to),e.nonce!=null&&(t.nonce=e.nonce),e.gasLimit!=null&&(t.gasLimit=e.gasLimit),e.gasPrice!=null&&(t.gasPrice=e.gasPrice),e.maxPriorityFeePerGas!=null&&(t.maxPriorityFeePerGas=e.maxPriorityFeePerGas),e.maxFeePerGas!=null&&(t.maxFeePerGas=e.maxFeePerGas),e.maxFeePerBlobGas!=null&&(t.maxFeePerBlobGas=e.maxFeePerBlobGas),e.data!=null&&(t.data=e.data),e.value!=null&&(t.value=e.value),e.chainId!=null&&(t.chainId=e.chainId),e.signature!=null&&(t.signature=ve.from(e.signature)),e.accessList!=null&&(t.accessList=e.accessList),e.authorizationList!=null&&(t.authorizationList=e.authorizationList),e.blobVersionedHashes!=null&&(t.blobVersionedHashes=e.blobVersionedHashes),e.kzg!=null&&(t.kzg=e.kzg),e.blobs!=null&&(t.blobs=e.blobs),e.hash!=null&&(p(t.isSigned(),"unsigned transaction cannot define '.hash'","tx",e),p(t.hash===e.hash,"hash mismatch","tx",e)),e.from!=null&&(p(t.isSigned(),"unsigned transaction cannot define '.from'","tx",e),p(t.from.toLowerCase()===(e.from||"").toLowerCase(),"from mismatch","tx",e)),t}};mr=new WeakMap,Zo=new WeakMap,zo=new WeakMap,Ko=new WeakMap,$o=new WeakMap,Yo=new WeakMap,Wo=new WeakMap,jo=new WeakMap,qo=new WeakMap,ea=new WeakMap,ta=new WeakMap,ra=new WeakMap,bi=new WeakMap,ss=new WeakMap,Pr=new WeakMap,is=new WeakMap,na=new WeakMap,sa=new WeakSet,Pf=function(e,t){w(!e||this.signature!=null,"cannot serialize unsigned transaction; maybe you meant .unsignedSerialized","UNSUPPORTED_OPERATION",{operation:".serialized"});let n=e?this.signature:null;switch(this.inferType()){case 0:return h1(this,n);case 1:return g1(this,n);case 2:return x1(this,n);case 3:return y1(this,n,t?this.blobs:null);case 4:return w1(this,n)}w(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:".serialized"})};var Rt=Cr;function oa(r){return p(typeof r.address=="string","invalid address for hashAuthorization","auth.address",r),H(_(["0x05",nt([r.chainId!=null?te(r.chainId):"0x",k(r.address),r.nonce!=null?te(r.nonce):"0x"])]))}function sd(r,e){return xr(oa(r),e)}function ge(r){return H(re(r))}var E1="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",lm=new Map([[8217,"apostrophe"],[8260,"fraction slash"],[12539,"middle dot"]]),fm=4;function T1(r){let e=0;function t(){return r[e++]<<8|r[e++]}let n=t(),s=1,i=[0,1];for(let C=1;C<n;C++)i.push(s+=t());let o=t(),a=e;e+=o;let c=0,l=0;function u(){return c==0&&(l=l<<8|r[e++],c=8),l>>--c&1}let d=31,x=2**d,m=x>>>1,A=m>>1,b=x-1,E=0;for(let C=0;C<d;C++)E=E<<1|u();let T=[],v=0,O=x;for(;;){let C=Math.floor(((E-v+1)*s-1)/O),P=0,J=n;for(;J-P>1;){let Q=P+J>>>1;C<i[Q]?J=Q:P=Q}if(P==0)break;T.push(P);let G=v+Math.floor(O*i[P]/s),ne=v+Math.floor(O*i[P+1]/s)-1;for(;((G^ne)&m)==0;)E=E<<1&b|u(),G=G<<1&b,ne=ne<<1&b|1;for(;G&~ne&A;)E=E&m|E<<1&b>>>1|u(),G=G<<1^m,ne=(ne^m)<<1|m|1;v=G,O=1+ne-G}let D=n-4;return T.map(C=>{switch(C-D){case 3:return D+65792+(r[a++]<<16|r[a++]<<8|r[a++]);case 2:return D+256+(r[a++]<<8|r[a++]);case 1:return D+r[a++];default:return C-1}})}function R1(r){let e=0;return()=>r[e++]}function pm(r){return R1(T1(S1(r)))}function S1(r){let e=[];[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"].forEach((s,i)=>e[s.charCodeAt(0)]=i);let t=r.length,n=new Uint8Array(6*t>>3);for(let s=0,i=0,o=0,a=0;s<t;s++)a=a<<6|e[r.charCodeAt(s)],o+=6,o>=8&&(n[i++]=a>>(o-=8));return n}function L1(r){return r&1?~r>>1:r>>1}function N1(r,e){let t=Array(r);for(let n=0,s=0;n<r;n++)t[n]=s+=L1(e());return t}function Fc(r,e=0){let t=[];for(;;){let n=r(),s=r();if(!s)break;e+=n;for(let i=0;i<s;i++)t.push(e+i);e+=s+1}return t}function xm(r){return Mc(()=>{let e=Fc(r);if(e.length)return e})}function mm(r){let e=[];for(;;){let t=r();if(t==0)break;e.push(v1(t,r))}for(;;){let t=r()-1;if(t<0)break;e.push(B1(t,r))}return e.flat()}function Mc(r){let e=[];for(;;){let t=r(e.length);if(!t)break;e.push(t)}return e}function gm(r,e,t){let n=Array(r).fill().map(()=>[]);for(let s=0;s<e;s++)N1(r,t).forEach((i,o)=>n[o].push(i));return n}function v1(r,e){let t=1+e(),n=e(),s=Mc(e);return gm(s.length,1+r,e).flatMap((o,a)=>{let[c,...l]=o;return Array(s[a]).fill().map((u,d)=>{let x=d*n;return[c+d*t,l.map(m=>m+x)]})})}function B1(r,e){let t=1+e();return gm(t,1+r,e).map(s=>[s[0],s.slice(1)])}function I1(r){let e=[],t=Fc(r);return s(n([]),[]),e;function n(i){let o=r(),a=Mc(()=>{let c=Fc(r).map(l=>t[l]);if(c.length)return n(c)});return{S:o,B:a,Q:i}}function s({S:i,B:o},a,c){if(!(i&4&&c===a[a.length-1])){i&2&&(c=a[a.length-1]),i&1&&e.push(a);for(let l of o)for(let u of l.Q)s(l,[...a,u],c)}}}function O1(r){return r.toString(16).toUpperCase().padStart(2,"0")}function bm(r){return`{${O1(r)}}`}function C1(r){let e=[];for(let t=0,n=r.length;t<n;){let s=r.codePointAt(t);t+=s<65536?1:2,e.push(s)}return e}function la(r){let t=r.length;if(t<4096)return String.fromCodePoint(...r);let n=[];for(let s=0;s<t;)n.push(String.fromCodePoint(...r.slice(s,s+=4096)));return n.join("")}function P1(r,e){let t=r.length,n=t-e.length;for(let s=0;n==0&&s<t;s++)n=r[s]-e[s];return n}var U1="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",kc=44032,Jf=4352,Df=4449,Gf=4519,ym=19,Am=21,fa=28,_f=Am*fa,F1=ym*_f,M1=kc+F1,k1=Jf+ym,J1=Df+Am,D1=Gf+fa;function Pc(r){return r>>24&255}function wm(r){return r&16777215}var od,um,ad,kf;function G1(){let r=pm(U1);od=new Map(xm(r).flatMap((e,t)=>e.map(n=>[n,t+1<<24]))),um=new Set(Fc(r)),ad=new Map,kf=new Map;for(let[e,t]of mm(r)){if(!um.has(e)&&t.length==2){let[n,s]=t,i=kf.get(n);i||(i=new Map,kf.set(n,i)),i.set(s,e)}ad.set(e,t.reverse())}}function Em(r){return r>=kc&&r<M1}function _1(r,e){if(r>=Jf&&r<k1&&e>=Df&&e<J1)return kc+(r-Jf)*_f+(e-Df)*fa;if(Em(r)&&e>Gf&&e<D1&&(r-kc)%fa==0)return r+(e-Gf);{let t=kf.get(r);return t&&(t=t.get(e),t)?t:-1}}function Tm(r){od||G1();let e=[],t=[],n=!1;function s(i){let o=od.get(i);o&&(n=!0,i|=o),e.push(i)}for(let i of r)for(;;){if(i<128)e.push(i);else if(Em(i)){let o=i-kc,a=o/_f|0,c=o%_f/fa|0,l=o%fa;s(Jf+a),s(Df+c),l>0&&s(Gf+l)}else{let o=ad.get(i);o?t.push(...o):s(i)}if(!t.length)break;i=t.pop()}if(n&&e.length>1){let i=Pc(e[0]);for(let o=1;o<e.length;o++){let a=Pc(e[o]);if(a==0||i<=a){i=a;continue}let c=o-1;for(;;){let l=e[c+1];if(e[c+1]=e[c],e[c]=l,!c||(i=Pc(e[--c]),i<=a))break}i=Pc(e[o])}}return e}function X1(r){let e=[],t=[],n=-1,s=0;for(let i of r){let o=Pc(i),a=wm(i);if(n==-1)o==0?n=a:e.push(a);else if(s>0&&s>=o)o==0?(e.push(n,...t),t.length=0,n=a):t.push(a),s=o;else{let c=_1(n,a);c>=0?n=c:s==0&&o==0?(e.push(n),n=a):(t.push(a),s=o)}}return n>=0&&e.push(n,...t),e}function Rm(r){return Tm(r).map(wm)}function H1(r){return X1(Tm(r))}var dm=45;var Sm=".",Lm=65039,Nm=1,Xf=r=>Array.from(r);function Jc(r,e){return r.P.has(e)||r.Q.has(e)}var cd=class extends Array{get is_emoji(){return!0}},ld,vm,wi,fd,Bm,V1,ca,id,aa,Ai,hm,ud;function dd(){if(ld)return;let r=pm(E1),e=()=>Fc(r),t=()=>new Set(e()),n=(u,d)=>d.forEach(x=>u.add(x));ld=new Map(mm(r)),vm=t(),wi=e(),fd=new Set(e().map(u=>wi[u])),wi=new Set(wi),Bm=t(),V1=t();let s=xm(r),i=r(),o=()=>{let u=new Set;return e().forEach(d=>n(u,s[d])),n(u,e()),u};ca=Mc(u=>{let d=Mc(r).map(x=>x+96);if(d.length){let x=u>=i;d[0]-=32,d=la(d),x&&(d=`Restricted[${d}]`);let m=o(),A=o(),b=!r();return{N:d,P:m,Q:A,M:b,R:x}}}),id=t(),aa=new Map;let a=e().concat(Xf(id)).sort((u,d)=>u-d);a.forEach((u,d)=>{let x=r(),m=a[d]=x?a[d-x]:{V:[],M:new Map};m.V.push(u),id.has(u)||aa.set(u,m)});for(let{V:u,M:d}of new Set(aa.values())){let x=[];for(let A of u){let b=ca.filter(T=>Jc(T,A)),E=x.find(({G:T})=>b.some(v=>T.has(v)));E||(E={G:new Set,V:[]},x.push(E)),E.V.push(A),n(E.G,b)}let m=x.flatMap(A=>Xf(A.G));for(let{G:A,V:b}of x){let E=new Set(m.filter(T=>!A.has(T)));for(let T of b)d.set(T,E)}}Ai=new Set;let c=new Set,l=u=>Ai.has(u)?c.add(u):Ai.add(u);for(let u of ca){for(let d of u.P)l(d);for(let d of u.Q)l(d)}for(let u of Ai)!aa.has(u)&&!c.has(u)&&aa.set(u,Nm);n(Ai,Rm(Ai)),hm=I1(r).map(u=>cd.from(u)).sort(P1),ud=new Map;for(let u of hm){let d=[ud];for(let x of u){let m=d.map(A=>{let b=A.get(x);return b||(b=new Map,A.set(x,b)),b});x===Lm?d.push(...m):d=m}for(let x of d)x.V=u}}function hd(r){return(Im(r)?"":`${pd(Hf([r]))} `)+bm(r)}function pd(r){return`"${r}"\u200E`}function Q1(r){if(r.length>=4&&r[2]==dm&&r[3]==dm)throw new Error(`invalid label extension: "${la(r.slice(0,4))}"`)}function Z1(r){for(let t=r.lastIndexOf(95);t>0;)if(r[--t]!==95)throw new Error("underscore allowed only at start")}function z1(r){let e=r[0],t=lm.get(e);if(t)throw Uc(`leading ${t}`);let n=r.length,s=-1;for(let i=1;i<n;i++){e=r[i];let o=lm.get(e);if(o){if(s==i)throw Uc(`${t} + ${o}`);s=i+1,t=o}}if(s==n)throw Uc(`trailing ${t}`)}function Hf(r,e=1/0,t=bm){let n=[];K1(r[0])&&n.push("\u25CC"),r.length>e&&(e>>=1,r=[...r.slice(0,e),8230,...r.slice(-e)]);let s=0,i=r.length;for(let o=0;o<i;o++){let a=r[o];Im(a)&&(n.push(la(r.slice(s,o))),n.push(t(a)),s=o+1)}return n.push(la(r.slice(s,i))),n.join("")}function K1(r){return dd(),wi.has(r)}function Im(r){return dd(),Bm.has(r)}function Om(r){return j1($1(r,H1,tw))}function $1(r,e,t){if(!r)return[];dd();let n=0;return r.split(Sm).map(s=>{let i=C1(s),o={input:i,offset:n};n+=i.length+1;try{let a=o.tokens=ew(i,e,t),c=a.length,l;if(!c)throw new Error("empty label");let u=o.output=a.flat();if(Z1(u),!(o.emoji=c>1||a[0].is_emoji)&&u.every(x=>x<128))Q1(u),l="ASCII";else{let x=a.flatMap(m=>m.is_emoji?[]:m);if(!x.length)l="Emoji";else{if(wi.has(u[0]))throw Uc("leading combining mark");for(let b=1;b<c;b++){let E=a[b];if(!E.is_emoji&&wi.has(E[0]))throw Uc(`emoji + combining mark: "${la(a[b-1])} + ${Hf([E[0]])}"`)}z1(u);let m=Xf(new Set(x)),[A]=W1(m);q1(A,x),Y1(A,m),l=A.N}}o.type=l}catch(a){o.error=a}return o})}function Y1(r,e){let t,n=[];for(let s of e){let i=aa.get(s);if(i===Nm)return;if(i){let o=i.M.get(s);if(t=t?t.filter(a=>o.has(a)):Xf(o),!t.length)return}else n.push(s)}if(t){for(let s of t)if(n.every(i=>Jc(s,i)))throw new Error(`whole-script confusable: ${r.N}/${s.N}`)}}function W1(r){let e=ca;for(let t of r){let n=e.filter(s=>Jc(s,t));if(!n.length)throw ca.some(s=>Jc(s,t))?Pm(e[0],t):Cm(t);if(e=n,n.length==1)break}return e}function j1(r){return r.map(({input:e,error:t,output:n})=>{if(t){let s=t.message;throw new Error(r.length==1?s:`Invalid label ${pd(Hf(e,63))}: ${s}`)}return la(n)}).join(Sm)}function Cm(r){return new Error(`disallowed character: ${hd(r)}`)}function Pm(r,e){let t=hd(e),n=ca.find(s=>s.P.has(e));return n&&(t=`${n.N} ${t}`),new Error(`illegal mixture: ${r.N} + ${t}`)}function Uc(r){return new Error(`illegal placement: ${r}`)}function q1(r,e){for(let t of e)if(!Jc(r,t))throw Pm(r,t);if(r.M){let t=Rm(e);for(let n=1,s=t.length;n<s;n++)if(fd.has(t[n])){let i=n+1;for(let o;i<s&&fd.has(o=t[i]);i++)for(let a=n;a<i;a++)if(t[a]==o)throw new Error(`duplicate non-spacing marks: ${hd(o)}`);if(i-n>fm)throw new Error(`excessive non-spacing marks: ${pd(Hf(t.slice(n-1,i)))} (${i-n}/${fm})`);n=i}}}function ew(r,e,t){let n=[],s=[];for(r=r.slice().reverse();r.length;){let i=rw(r);if(i)s.length&&(n.push(e(s)),s=[]),n.push(t(i));else{let o=r.pop();if(Ai.has(o))s.push(o);else{let a=ld.get(o);if(a)s.push(...a);else if(!vm.has(o))throw Cm(o)}}}return s.length&&n.push(e(s)),n}function tw(r){return r.filter(e=>e!=Lm)}function rw(r,e){let t=ud,n,s=r.length;for(;s&&(t=t.get(r[--s]),!!t);){let{V:i}=t;i&&(n=i,e&&e.push(...r.slice(s).reverse()),r.length=s)}return n}var Fm=new Uint8Array(32);Fm.fill(0);function Um(r){return p(r.length!==0,"invalid ENS name; empty component","comp",r),r}function xd(r){let e=re(Vf(r)),t=[];if(r.length===0)return t;let n=0;for(let s=0;s<e.length;s++)e[s]===46&&(t.push(Um(e.slice(n,s))),n=s+1);return p(n<e.length,"invalid ENS name; empty component","name",r),t.push(Um(e.slice(n))),t}function Vf(r){try{if(r.length===0)throw new Error("empty label");return Om(r)}catch(e){p(!1,`invalid ENS name (${e.message})`,"name",r)}}function md(r){try{return xd(r).length!==0}catch{}return!1}function os(r){p(typeof r=="string","invalid ENS name; not a string","name",r),p(r.length,"invalid ENS name (empty label)","name",r);let e=Fm,t=xd(r);for(;t.length;)e=H(_([e,H(t.pop())]));return R(e)}function Dc(r,e){let t=e??63;return p(t<=255,"DNS encoded label cannot exceed 255","length",t),R(_(xd(r).map(n=>{p(n.length<=t,`label ${JSON.stringify(r)} exceeds ${t} bytes`,"name",r);let s=new Uint8Array(n.length+1);return s.set(n,1),s[0]=s.length-1,s})))+"00"}function ua(r){return typeof r=="string"&&(r=re(r)),H(_([re(Oc),re(String(r.length)),r]))}function gd(r,e){let t=ua(r);return xr(t,e)}var nw=new RegExp("^bytes([0-9]+)$"),sw=new RegExp("^(u?int)([0-9]*)$"),iw=new RegExp("^(.*)\\[([0-9]*)\\]$");function Mm(r,e,t){switch(r){case"address":return t?L(Se(e,32)):L(k(e));case"string":return re(e);case"bytes":return L(e);case"bool":return e=e?"0x01":"0x00",t?L(Se(e,32)):L(e)}let n=r.match(sw);if(n){let s=n[1]==="int",i=parseInt(n[2]||"256");return p((!n[2]||n[2]===String(i))&&i%8===0&&i!==0&&i<=256,"invalid number type","type",r),t&&(i=256),s&&(e=sn(e,i)),L(Se(te(e),i/8))}if(n=r.match(nw),n){let s=parseInt(n[1]);return p(String(s)===n[1]&&s!==0&&s<=32,"invalid bytes type","type",r),p(lt(e)===s,`invalid value for ${r}`,"value",e),t?L(rn(e,32)):e}if(n=r.match(iw),n&&Array.isArray(e)){let s=n[1],i=parseInt(n[2]||String(e.length));p(i===e.length,`invalid array length for ${r}`,"value",e);let o=[];return e.forEach(function(a){o.push(Mm(s,a,!0))}),L(_(o))}p(!1,"invalid type","type",r)}function Gc(r,e){p(r.length===e.length,"wrong number of values; expected ${ types.length }","values",e);let t=[];return r.forEach(function(n,s){t.push(Mm(n,e[s]))}),R(_(t))}function bd(r,e){return H(Gc(r,e))}function yd(r,e){return Ne(Gc(r,e))}var Gm=new Uint8Array(32);Gm.fill(0);var ow=BigInt(-1),_m=BigInt(0),Xm=BigInt(1),aw=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function cw(r){let e=L(r),t=e.length%32;return t?_([e,Gm.slice(t)]):R(e)}var lw=Me(Xm,32),fw=Me(_m,32),km={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},Ad=["name","version","chainId","verifyingContract","salt"];function Jm(r){return function(e){return p(typeof e=="string",`invalid domain value for ${JSON.stringify(r)}`,`domain.${r}`,e),e}}var uw={name:Jm("name"),version:Jm("version"),chainId:function(r){let e=B(r,"domain.chainId");return p(e>=0,"invalid chain ID","domain.chainId",r),Number.isSafeInteger(e)?Number(e):Ue(e)},verifyingContract:function(r){try{return k(r).toLowerCase()}catch{}p(!1,'invalid domain value "verifyingContract"',"domain.verifyingContract",r)},salt:function(r){let e=L(r,"domain.salt");return p(e.length===32,'invalid domain value "salt"',"domain.salt",r),R(e)}};function wd(r){{let e=r.match(/^(u?)int(\d+)$/);if(e){let t=e[1]==="",n=parseInt(e[2]);p(n%8===0&&n!==0&&n<=256&&e[2]===String(n),"invalid numeric width","type",r);let s=bt(aw,t?n-1:n),i=t?(s+Xm)*ow:_m;return function(o){let a=B(o,"value");return p(a>=i&&a<=s,`value out-of-bounds for ${r}`,"value",a),Me(t?sn(a,256):a,32)}}}{let e=r.match(/^bytes(\d+)$/);if(e){let t=parseInt(e[1]);return p(t!==0&&t<=32&&e[1]===String(t),"invalid bytes width","type",r),function(n){let s=L(n);return p(s.length===t,`invalid length for ${r}`,"value",n),cw(n)}}}switch(r){case"address":return function(e){return Se(k(e),32)};case"bool":return function(e){return e?lw:fw};case"bytes":return function(e){return H(e)};case"string":return function(e){return ge(e)}}return null}function Dm(r,e){return`${r}(${e.map(({name:t,type:n})=>n+" "+t).join(",")})`}function Qf(r){let e=r.match(/^([^\x5b]*)((\x5b\d*\x5d)*)(\x5b(\d*)\x5d)$/);return e?{base:e[1],index:e[2]+e[4],array:{base:e[1],prefix:e[1]+e[2],count:e[5]?parseInt(e[5]):-1}}:{base:r}}var _c,gn,da,Zf,Hm,Pt=class Pt{constructor(e){y(this,Zf);g(this,"primaryType");y(this,_c);y(this,gn);y(this,da);h(this,gn,new Map),h(this,da,new Map);let t=new Map,n=new Map,s=new Map,i={};Object.keys(e).forEach(c=>{i[c]=e[c].map(({name:l,type:u})=>{let{base:d,index:x}=Qf(u);return d==="int"&&!e.int&&(d="int256"),d==="uint"&&!e.uint&&(d="uint256"),{name:l,type:d+(x||"")}}),t.set(c,new Set),n.set(c,[]),s.set(c,new Set)}),h(this,_c,JSON.stringify(i));for(let c in i){let l=new Set;for(let u of i[c]){p(!l.has(u.name),`duplicate variable name ${JSON.stringify(u.name)} in ${JSON.stringify(c)}`,"types",e),l.add(u.name);let d=Qf(u.type).base;p(d!==c,`circular type reference to ${JSON.stringify(d)}`,"types",e),!wd(d)&&(p(n.has(d),`unknown type ${JSON.stringify(d)}`,"types",e),n.get(d).push(c),t.get(c).add(d))}}let o=Array.from(n.keys()).filter(c=>n.get(c).length===0);p(o.length!==0,"missing primary type","types",e),p(o.length===1,`ambiguous primary types or unused types: ${o.map(c=>JSON.stringify(c)).join(", ")}`,"types",e),N(this,{primaryType:o[0]});function a(c,l){p(!l.has(c),`circular type reference to ${JSON.stringify(c)}`,"types",e),l.add(c);for(let u of t.get(c))if(n.has(u)){a(u,l);for(let d of l)s.get(d).add(u)}l.delete(c)}a(this.primaryType,new Set);for(let[c,l]of s){let u=Array.from(l);u.sort(),f(this,gn).set(c,Dm(c,i[c])+u.map(d=>Dm(d,i[d])).join(""))}}get types(){return JSON.parse(f(this,_c))}getEncoder(e){let t=f(this,da).get(e);return t||(t=S(this,Zf,Hm).call(this,e),f(this,da).set(e,t)),t}encodeType(e){let t=f(this,gn).get(e);return p(t,`unknown type: ${JSON.stringify(e)}`,"name",e),t}encodeData(e,t){return this.getEncoder(e)(t)}hashStruct(e,t){return H(this.encodeData(e,t))}encode(e){return this.encodeData(this.primaryType,e)}hash(e){return this.hashStruct(this.primaryType,e)}_visit(e,t,n){if(wd(e))return n(e,t);let s=Qf(e).array;if(s)return p(s.count===-1||s.count===t.length,`array length mismatch; expected length ${s.count}`,"value",t),t.map(o=>this._visit(s.prefix,o,n));let i=this.types[e];if(i)return i.reduce((o,{name:a,type:c})=>(o[a]=this._visit(c,t[a],n),o),{});p(!1,`unknown type: ${e}`,"type",e)}visit(e,t){return this._visit(this.primaryType,e,t)}static from(e){return new Pt(e)}static getPrimaryType(e){return Pt.from(e).primaryType}static hashStruct(e,t,n){return Pt.from(t).hashStruct(e,n)}static hashDomain(e){let t=[];for(let n in e){if(e[n]==null)continue;let s=km[n];p(s,`invalid typed-data domain key: ${JSON.stringify(n)}`,"domain",e),t.push({name:n,type:s})}return t.sort((n,s)=>Ad.indexOf(n.name)-Ad.indexOf(s.name)),Pt.hashStruct("EIP712Domain",{EIP712Domain:t},e)}static encode(e,t,n){return _(["0x1901",Pt.hashDomain(e),Pt.from(t).hash(n)])}static hash(e,t,n){return H(Pt.encode(e,t,n))}static async resolveNames(e,t,n,s){e=Object.assign({},e);for(let a in e)e[a]==null&&delete e[a];let i={};e.verifyingContract&&!V(e.verifyingContract,20)&&(i[e.verifyingContract]="0x");let o=Pt.from(t);o.visit(n,(a,c)=>(a==="address"&&!V(c,20)&&(i[c]="0x"),c));for(let a in i)i[a]=await s(a);return e.verifyingContract&&i[e.verifyingContract]&&(e.verifyingContract=i[e.verifyingContract]),n=o.visit(n,(a,c)=>a==="address"&&i[c]?i[c]:c),{domain:e,value:n}}static getPayload(e,t,n){Pt.hashDomain(e);let s={},i=[];Ad.forEach(c=>{let l=e[c];l!=null&&(s[c]=uw[c](l),i.push({name:c,type:km[c]}))});let o=Pt.from(t);t=o.types;let a=Object.assign({},t);return p(a.EIP712Domain==null,"types must not contain EIP712Domain type","types.EIP712Domain",t),a.EIP712Domain=i,o.encode(n),{types:a,domain:s,primaryType:o.primaryType,message:o.visit(n,(c,l)=>{if(c.match(/^bytes(\d*)/))return R(L(l));if(c.match(/^u?int/))return B(l).toString();switch(c){case"address":return l.toLowerCase();case"bool":return!!l;case"string":return p(typeof l=="string","invalid string","value",l),l}p(!1,"unsupported type","type",c)})}}};_c=new WeakMap,gn=new WeakMap,da=new WeakMap,Zf=new WeakSet,Hm=function(e){{let s=wd(e);if(s)return s}let t=Qf(e).array;if(t){let s=t.prefix,i=this.getEncoder(s);return o=>{p(t.count===-1||t.count===o.length,`array length mismatch; expected length ${t.count}`,"value",o);let a=o.map(i);return f(this,gn).has(s)&&(a=a.map(H)),H(_(a))}}let n=this.types[e];if(n){let s=ge(f(this,gn).get(e));return i=>{let o=n.map(({name:a,type:c})=>{let l=this.getEncoder(c)(i[a]);return f(this,gn).has(c)?H(l):l});return o.unshift(s),_(o)}}p(!1,`unknown type: ${e}`,"type",e)};var Ut=Pt;function Ed(r,e,t,n){return xr(Ut.hash(r,e,t),n)}function it(r){let e=new Set;return r.forEach(t=>e.add(t)),Object.freeze(e)}var dw="external public payable override",hw=it(dw.split(" ")),qm="constant external internal payable private public pure view override",pw=it(qm.split(" ")),eg="constructor error event fallback function receive struct",tg=it(eg.split(" ")),rg="calldata memory storage payable indexed",xw=it(rg.split(" ")),mw="tuple returns",gw=[eg,rg,mw,qm].join(" "),bw=it(gw.split(" ")),yw={"(":"OPEN_PAREN",")":"CLOSE_PAREN","[":"OPEN_BRACKET","]":"CLOSE_BRACKET",",":"COMMA","@":"AT"},Aw=new RegExp("^(\\s*)"),ww=new RegExp("^([0-9]+)"),Ew=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)"),ng=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)$"),sg=new RegExp("^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$"),He,gr,Hc,Td,Kf=class Kf{constructor(e){y(this,Hc);y(this,He);y(this,gr);h(this,He,0),h(this,gr,e.slice())}get offset(){return f(this,He)}get length(){return f(this,gr).length-f(this,He)}clone(){return new Kf(f(this,gr))}reset(){h(this,He,0)}popKeyword(e){let t=this.peek();if(t.type!=="KEYWORD"||!e.has(t.text))throw new Error(`expected keyword ${t.text}`);return this.pop().text}popType(e){if(this.peek().type!==e){let t=this.peek();throw new Error(`expected ${e}; got ${t.type} ${JSON.stringify(t.text)}`)}return this.pop().text}popParen(){let e=this.peek();if(e.type!=="OPEN_PAREN")throw new Error("bad start");let t=S(this,Hc,Td).call(this,f(this,He)+1,e.match+1);return h(this,He,e.match+1),t}popParams(){let e=this.peek();if(e.type!=="OPEN_PAREN")throw new Error("bad start");let t=[];for(;f(this,He)<e.match-1;){let n=this.peek().linkNext;t.push(S(this,Hc,Td).call(this,f(this,He)+1,n)),h(this,He,n)}return h(this,He,e.match+1),t}peek(){if(f(this,He)>=f(this,gr).length)throw new Error("out-of-bounds");return f(this,gr)[f(this,He)]}peekKeyword(e){let t=this.peekType("KEYWORD");return t!=null&&e.has(t)?t:null}peekType(e){if(this.length===0)return null;let t=this.peek();return t.type===e?t.text:null}pop(){let e=this.peek();return qr(this,He)._++,e}toString(){let e=[];for(let t=f(this,He);t<f(this,gr).length;t++){let n=f(this,gr)[t];e.push(`${n.type}:${n.text}`)}return`<TokenString ${e.join(" ")}>`}};He=new WeakMap,gr=new WeakMap,Hc=new WeakSet,Td=function(e=0,t=0){return new Kf(f(this,gr).slice(e,t).map(n=>Object.freeze(Object.assign({},n,{match:n.match-e,linkBack:n.linkBack-e,linkNext:n.linkNext-e}))))};var br=Kf;function cs(r){let e=[],t=o=>{let a=i<r.length?JSON.stringify(r[i]):"$EOI";throw new Error(`invalid token ${a} at ${i}: ${o}`)},n=[],s=[],i=0;for(;i<r.length;){let o=r.substring(i),a=o.match(Aw);a&&(i+=a[1].length,o=r.substring(i));let c={depth:n.length,linkBack:-1,linkNext:-1,match:-1,type:"",text:"",offset:i,value:-1};e.push(c);let l=yw[o[0]]||"";if(l){if(c.type=l,c.text=o[0],i++,l==="OPEN_PAREN")n.push(e.length-1),s.push(e.length-1);else if(l=="CLOSE_PAREN")n.length===0&&t("no matching open bracket"),c.match=n.pop(),e[c.match].match=e.length-1,c.depth--,c.linkBack=s.pop(),e[c.linkBack].linkNext=e.length-1;else if(l==="COMMA")c.linkBack=s.pop(),e[c.linkBack].linkNext=e.length-1,s.push(e.length-1);else if(l==="OPEN_BRACKET")c.type="BRACKET";else if(l==="CLOSE_BRACKET"){let u=e.pop().text;if(e.length>0&&e[e.length-1].type==="NUMBER"){let d=e.pop().text;u=d+u,e[e.length-1].value=M(d)}if(e.length===0||e[e.length-1].type!=="BRACKET")throw new Error("missing opening bracket");e[e.length-1].text+=u}continue}if(a=o.match(Ew),a){if(c.text=a[1],i+=c.text.length,bw.has(c.text)){c.type="KEYWORD";continue}if(c.text.match(sg)){c.type="TYPE";continue}c.type="ID";continue}if(a=o.match(ww),a){c.text=a[1],c.type="NUMBER",i+=c.text.length;continue}throw new Error(`unexpected token ${JSON.stringify(o[0])} at position ${i}`)}return new br(e.map(o=>Object.freeze(o)))}function Vm(r,e){let t=[];for(let n in e.keys())r.has(n)&&t.push(n);if(t.length>1)throw new Error(`conflicting types: ${t.join(", ")}`)}function $f(r,e){if(e.peekKeyword(tg)){let t=e.pop().text;if(t!==r)throw new Error(`expected ${r}, got ${t}`)}return e.popType("ID")}function yn(r,e){let t=new Set;for(;;){let n=r.peekType("KEYWORD");if(n==null||e&&!e.has(n))break;if(r.pop(),t.has(n))throw new Error(`duplicate keywords: ${JSON.stringify(n)}`);t.add(n)}return Object.freeze(t)}function ig(r){let e=yn(r,pw);return Vm(e,it("constant payable nonpayable".split(" "))),Vm(e,it("pure view payable nonpayable".split(" "))),e.has("view")?"view":e.has("pure")?"pure":e.has("payable")?"payable":e.has("nonpayable")?"nonpayable":e.has("constant")?"view":"nonpayable"}function bn(r,e){return r.popParams().map(t=>we.from(t,e))}function og(r){if(r.peekType("AT")){if(r.pop(),r.peekType("NUMBER"))return B(r.pop().text);throw new Error("invalid gas")}return null}function Ei(r){if(r.length)throw new Error(`unexpected tokens at offset ${r.offset}: ${r.toString()}`)}var Tw=new RegExp(/^(.*)\[([0-9]*)\]$/);function Qm(r){let e=r.match(sg);if(p(e,"invalid type","type",r),r==="uint")return"uint256";if(r==="int")return"int256";if(e[2]){let t=parseInt(e[2]);p(t!==0&&t<=32,"invalid bytes length","type",r)}else if(e[3]){let t=parseInt(e[3]);p(t!==0&&t<=256&&t%8===0,"invalid numeric width","type",r)}return r}var be={},ut=Symbol.for("_ethers_internal"),Zm="_ParamTypeInternal",zm="_ErrorInternal",Km="_EventInternal",$m="_ConstructorInternal",Ym="_FallbackInternal",Wm="_FunctionInternal",jm="_StructInternal",ha,zf,Ft=class Ft{constructor(e,t,n,s,i,o,a,c){y(this,ha);g(this,"name");g(this,"type");g(this,"baseType");g(this,"indexed");g(this,"components");g(this,"arrayLength");g(this,"arrayChildren");if(De(e,be,"ParamType"),Object.defineProperty(this,ut,{value:Zm}),o&&(o=Object.freeze(o.slice())),s==="array"){if(a==null||c==null)throw new Error("")}else if(a!=null||c!=null)throw new Error("");if(s==="tuple"){if(o==null)throw new Error("")}else if(o!=null)throw new Error("");N(this,{name:t,type:n,baseType:s,indexed:i,components:o,arrayLength:a,arrayChildren:c})}format(e){if(e==null&&(e="sighash"),e==="json"){let n=this.name||"";if(this.isArray()){let i=JSON.parse(this.arrayChildren.format("json"));return i.name=n,i.type+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`,JSON.stringify(i)}let s={type:this.baseType==="tuple"?"tuple":this.type,name:n};return typeof this.indexed=="boolean"&&(s.indexed=this.indexed),this.isTuple()&&(s.components=this.components.map(i=>JSON.parse(i.format(e)))),JSON.stringify(s)}let t="";return this.isArray()?(t+=this.arrayChildren.format(e),t+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`):this.isTuple()?t+="("+this.components.map(n=>n.format(e)).join(e==="full"?", ":",")+")":t+=this.type,e!=="sighash"&&(this.indexed===!0&&(t+=" indexed"),e==="full"&&this.name&&(t+=" "+this.name)),t}isArray(){return this.baseType==="array"}isTuple(){return this.baseType==="tuple"}isIndexable(){return this.indexed!=null}walk(e,t){if(this.isArray()){if(!Array.isArray(e))throw new Error("invalid array value");if(this.arrayLength!==-1&&e.length!==this.arrayLength)throw new Error("array is wrong length");let n=this;return e.map(s=>n.arrayChildren.walk(s,t))}if(this.isTuple()){if(!Array.isArray(e))throw new Error("invalid tuple value");if(e.length!==this.components.length)throw new Error("array is wrong length");let n=this;return e.map((s,i)=>n.components[i].walk(s,t))}return t(this.type,e)}async walkAsync(e,t){let n=[],s=[e];return S(this,ha,zf).call(this,n,e,t,i=>{s[0]=i}),n.length&&await Promise.all(n),s[0]}static from(e,t){if(Ft.isParamType(e))return e;if(typeof e=="string")try{return Ft.from(cs(e),t)}catch{p(!1,"invalid param type","obj",e)}else if(e instanceof br){let a="",c="",l=null;yn(e,it(["tuple"])).has("tuple")||e.peekType("OPEN_PAREN")?(c="tuple",l=e.popParams().map(b=>Ft.from(b)),a=`tuple(${l.map(b=>b.format()).join(",")})`):(a=Qm(e.popType("TYPE")),c=a);let u=null,d=null;for(;e.length&&e.peekType("BRACKET");){let b=e.pop();u=new Ft(be,"",a,c,null,l,d,u),d=b.value,a+=b.text,c="array",l=null}let x=null;if(yn(e,xw).has("indexed")){if(!t)throw new Error("");x=!0}let A=e.peekType("ID")?e.pop().text:"";if(e.length)throw new Error("leftover tokens");return new Ft(be,A,a,c,x,l,d,u)}let n=e.name;p(!n||typeof n=="string"&&n.match(ng),"invalid name","obj.name",n);let s=e.indexed;s!=null&&(p(t,"parameter cannot be indexed","obj.indexed",e.indexed),s=!!s);let i=e.type,o=i.match(Tw);if(o){let a=parseInt(o[2]||"-1"),c=Ft.from({type:o[1],components:e.components});return new Ft(be,n||"",i,"array",s,null,a,c)}if(i==="tuple"||i.startsWith("tuple(")||i.startsWith("(")){let a=e.components!=null?e.components.map(l=>Ft.from(l)):null;return new Ft(be,n||"",i,"tuple",s,a,null,null)}return i=Qm(e.type),new Ft(be,n||"",i,i,s,null,null,null)}static isParamType(e){return e&&e[ut]===Zm}};ha=new WeakSet,zf=function(e,t,n,s){if(this.isArray()){if(!Array.isArray(t))throw new Error("invalid array value");if(this.arrayLength!==-1&&t.length!==this.arrayLength)throw new Error("array is wrong length");let o=this.arrayChildren,a=t.slice();a.forEach((c,l)=>{var u;S(u=o,ha,zf).call(u,e,c,n,d=>{a[l]=d})}),s(a);return}if(this.isTuple()){let o=this.components,a;if(Array.isArray(t))a=t.slice();else{if(t==null||typeof t!="object")throw new Error("invalid tuple value");a=o.map(c=>{if(!c.name)throw new Error("cannot use object value with unnamed components");if(!(c.name in t))throw new Error(`missing value for component ${c.name}`);return t[c.name]})}if(a.length!==this.components.length)throw new Error("array is wrong length");a.forEach((c,l)=>{var u;S(u=o[l],ha,zf).call(u,e,c,n,d=>{a[l]=d})}),s(a);return}let i=n(this.type,t);i.then?e.push((async function(){s(await i)})()):s(i)};var we=Ft,kr=class r{constructor(e,t,n){g(this,"type");g(this,"inputs");De(e,be,"Fragment"),n=Object.freeze(n.slice()),N(this,{type:t,inputs:n})}static from(e){if(typeof e=="string"){try{r.from(JSON.parse(e))}catch{}return r.from(cs(e))}if(e instanceof br)switch(e.peekKeyword(tg)){case"constructor":return Fr.from(e);case"error":return ot.from(e);case"event":return Ur.from(e);case"fallback":case"receive":return Ti.from(e);case"function":return Mr.from(e);case"struct":return as.from(e)}else if(typeof e=="object"){switch(e.type){case"constructor":return Fr.from(e);case"error":return ot.from(e);case"event":return Ur.from(e);case"fallback":case"receive":return Ti.from(e);case"function":return Mr.from(e);case"struct":return as.from(e)}w(!1,`unsupported type: ${e.type}`,"UNSUPPORTED_OPERATION",{operation:"Fragment.from"})}p(!1,"unsupported frgament object","obj",e)}static isConstructor(e){return Fr.isFragment(e)}static isError(e){return ot.isFragment(e)}static isEvent(e){return Ur.isFragment(e)}static isFunction(e){return Mr.isFragment(e)}static isStruct(e){return as.isFragment(e)}},An=class extends kr{constructor(t,n,s,i){super(t,n,i);g(this,"name");p(typeof s=="string"&&s.match(ng),"invalid identifier","name",s),i=Object.freeze(i.slice()),N(this,{name:s})}};function Xc(r,e){return"("+e.map(t=>t.format(r)).join(r==="full"?", ":",")+")"}var ot=class r extends An{constructor(e,t,n){super(e,"error",t,n),Object.defineProperty(this,ut,{value:zm})}get selector(){return ge(this.format("sighash")).substring(0,10)}format(e){if(e==null&&(e="sighash"),e==="json")return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(n=>JSON.parse(n.format(e)))});let t=[];return e!=="sighash"&&t.push("error"),t.push(this.name+Xc(e,this.inputs)),t.join(" ")}static from(e){if(r.isFragment(e))return e;if(typeof e=="string")return r.from(cs(e));if(e instanceof br){let t=$f("error",e),n=bn(e);return Ei(e),new r(be,t,n)}return new r(be,e.name,e.inputs?e.inputs.map(we.from):[])}static isFragment(e){return e&&e[ut]===zm}},Ur=class r extends An{constructor(t,n,s,i){super(t,"event",n,s);g(this,"anonymous");Object.defineProperty(this,ut,{value:Km}),N(this,{anonymous:i})}get topicHash(){return ge(this.format("sighash"))}format(t){if(t==null&&(t="sighash"),t==="json")return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(s=>JSON.parse(s.format(t)))});let n=[];return t!=="sighash"&&n.push("event"),n.push(this.name+Xc(t,this.inputs)),t!=="sighash"&&this.anonymous&&n.push("anonymous"),n.join(" ")}static getTopicHash(t,n){return n=(n||[]).map(i=>we.from(i)),new r(be,t,n,!1).topicHash}static from(t){if(r.isFragment(t))return t;if(typeof t=="string")try{return r.from(cs(t))}catch{p(!1,"invalid event fragment","obj",t)}else if(t instanceof br){let n=$f("event",t),s=bn(t,!0),i=!!yn(t,it(["anonymous"])).has("anonymous");return Ei(t),new r(be,n,s,i)}return new r(be,t.name,t.inputs?t.inputs.map(n=>we.from(n,!0)):[],!!t.anonymous)}static isFragment(t){return t&&t[ut]===Km}},Fr=class r extends kr{constructor(t,n,s,i,o){super(t,n,s);g(this,"payable");g(this,"gas");Object.defineProperty(this,ut,{value:$m}),N(this,{payable:i,gas:o})}format(t){if(w(t!=null&&t!=="sighash","cannot format a constructor for sighash","UNSUPPORTED_OPERATION",{operation:"format(sighash)"}),t==="json")return JSON.stringify({type:"constructor",stateMutability:this.payable?"payable":"undefined",payable:this.payable,gas:this.gas!=null?this.gas:void 0,inputs:this.inputs.map(s=>JSON.parse(s.format(t)))});let n=[`constructor${Xc(t,this.inputs)}`];return this.payable&&n.push("payable"),this.gas!=null&&n.push(`@${this.gas.toString()}`),n.join(" ")}static from(t){if(r.isFragment(t))return t;if(typeof t=="string")try{return r.from(cs(t))}catch{p(!1,"invalid constuctor fragment","obj",t)}else if(t instanceof br){yn(t,it(["constructor"]));let n=bn(t),s=!!yn(t,hw).has("payable"),i=og(t);return Ei(t),new r(be,"constructor",n,s,i)}return new r(be,"constructor",t.inputs?t.inputs.map(we.from):[],!!t.payable,t.gas!=null?t.gas:null)}static isFragment(t){return t&&t[ut]===$m}},Ti=class r extends kr{constructor(t,n,s){super(t,"fallback",n);g(this,"payable");Object.defineProperty(this,ut,{value:Ym}),N(this,{payable:s})}format(t){let n=this.inputs.length===0?"receive":"fallback";if(t==="json"){let s=this.payable?"payable":"nonpayable";return JSON.stringify({type:n,stateMutability:s})}return`${n}()${this.payable?" payable":""}`}static from(t){if(r.isFragment(t))return t;if(typeof t=="string")try{return r.from(cs(t))}catch{p(!1,"invalid fallback fragment","obj",t)}else if(t instanceof br){let n=t.toString(),s=t.peekKeyword(it(["fallback","receive"]));if(p(s,"type must be fallback or receive","obj",n),t.popKeyword(it(["fallback","receive"]))==="receive"){let c=bn(t);return p(c.length===0,"receive cannot have arguments","obj.inputs",c),yn(t,it(["payable"])),Ei(t),new r(be,[],!0)}let o=bn(t);o.length?p(o.length===1&&o[0].type==="bytes","invalid fallback inputs","obj.inputs",o.map(c=>c.format("minimal")).join(", ")):o=[we.from("bytes")];let a=ig(t);if(p(a==="nonpayable"||a==="payable","fallback cannot be constants","obj.stateMutability",a),yn(t,it(["returns"])).has("returns")){let c=bn(t);p(c.length===1&&c[0].type==="bytes","invalid fallback outputs","obj.outputs",c.map(l=>l.format("minimal")).join(", "))}return Ei(t),new r(be,o,a==="payable")}if(t.type==="receive")return new r(be,[],!0);if(t.type==="fallback"){let n=[we.from("bytes")],s=t.stateMutability==="payable";return new r(be,n,s)}p(!1,"invalid fallback description","obj",t)}static isFragment(t){return t&&t[ut]===Ym}},Mr=class r extends An{constructor(t,n,s,i,o,a){super(t,"function",n,i);g(this,"constant");g(this,"outputs");g(this,"stateMutability");g(this,"payable");g(this,"gas");Object.defineProperty(this,ut,{value:Wm}),o=Object.freeze(o.slice()),N(this,{constant:s==="view"||s==="pure",gas:a,outputs:o,payable:s==="payable",stateMutability:s})}get selector(){return ge(this.format("sighash")).substring(0,10)}format(t){if(t==null&&(t="sighash"),t==="json")return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:void 0,payable:this.payable,gas:this.gas!=null?this.gas:void 0,inputs:this.inputs.map(s=>JSON.parse(s.format(t))),outputs:this.outputs.map(s=>JSON.parse(s.format(t)))});let n=[];return t!=="sighash"&&n.push("function"),n.push(this.name+Xc(t,this.inputs)),t!=="sighash"&&(this.stateMutability!=="nonpayable"&&n.push(this.stateMutability),this.outputs&&this.outputs.length&&(n.push("returns"),n.push(Xc(t,this.outputs))),this.gas!=null&&n.push(`@${this.gas.toString()}`)),n.join(" ")}static getSelector(t,n){return n=(n||[]).map(i=>we.from(i)),new r(be,t,"view",n,[],null).selector}static from(t){if(r.isFragment(t))return t;if(typeof t=="string")try{return r.from(cs(t))}catch{p(!1,"invalid function fragment","obj",t)}else if(t instanceof br){let s=$f("function",t),i=bn(t),o=ig(t),a=[];yn(t,it(["returns"])).has("returns")&&(a=bn(t));let c=og(t);return Ei(t),new r(be,s,o,i,a,c)}let n=t.stateMutability;return n==null&&(n="payable",typeof t.constant=="boolean"?(n="view",t.constant||(n="payable",typeof t.payable=="boolean"&&!t.payable&&(n="nonpayable"))):typeof t.payable=="boolean"&&!t.payable&&(n="nonpayable")),new r(be,t.name,n,t.inputs?t.inputs.map(we.from):[],t.outputs?t.outputs.map(we.from):[],t.gas!=null?t.gas:null)}static isFragment(t){return t&&t[ut]===Wm}},as=class r extends An{constructor(e,t,n){super(e,"struct",t,n),Object.defineProperty(this,ut,{value:jm})}format(){throw new Error("@TODO")}static from(e){if(typeof e=="string")try{return r.from(cs(e))}catch{p(!1,"invalid struct fragment","obj",e)}else if(e instanceof br){let t=$f("struct",e),n=bn(e);return Ei(e),new r(be,t,n)}return new r(be,e.name,e.inputs?e.inputs.map(we.from):[])}static isFragment(e){return e&&e[ut]===jm}};var yr=new Map;yr.set(0,"GENERIC_PANIC");yr.set(1,"ASSERT_FALSE");yr.set(17,"OVERFLOW");yr.set(18,"DIVIDE_BY_ZERO");yr.set(33,"ENUM_RANGE_ERROR");yr.set(34,"BAD_STORAGE_DATA");yr.set(49,"STACK_UNDERFLOW");yr.set(50,"ARRAY_RANGE_ERROR");yr.set(65,"OUT_OF_MEMORY");yr.set(81,"UNINITIALIZED_FUNCTION_CALL");var Rw=new RegExp(/^bytes([0-9]*)$/),Sw=new RegExp(/^(u?int)([0-9]*)$/),Rd=null,ag=1024;function Lw(r,e,t,n){let s="missing revert data",i=null,o=null,a=null;if(t){s="execution reverted";let l=L(t);if(t=R(t),l.length===0)s+=" (no data present; likely require(false) occurred",i="require(false)";else if(l.length%32!==4)s+=" (could not decode reason; invalid data length)";else if(R(l.slice(0,4))==="0x08c379a0")try{i=n.decode(["string"],l.slice(4))[0],a={signature:"Error(string)",name:"Error",args:[i]},s+=`: ${JSON.stringify(i)}`}catch{s+=" (could not decode reason; invalid string data)"}else if(R(l.slice(0,4))==="0x4e487b71")try{let u=Number(n.decode(["uint256"],l.slice(4))[0]);a={signature:"Panic(uint256)",name:"Panic",args:[u]},i=`Panic due to ${yr.get(u)||"UNKNOWN"}(${u})`,s+=`: ${i}`}catch{s+=" (could not decode panic code)"}else s+=" (unknown custom error)"}let c={to:e.to?k(e.to):null,data:e.data||"0x"};return e.from&&(c.from=k(e.from)),Z(s,"CALL_EXCEPTION",{action:r,data:t,reason:i,transaction:c,invocation:o,revert:a})}var ls,pa,Yf=class Yf{constructor(){y(this,ls)}getDefaultValue(e){let t=e.map(s=>S(this,ls,pa).call(this,we.from(s)));return new mi(t,"_").defaultValue()}encode(e,t){Hs(t.length,e.length,"types/values length mismatch");let n=e.map(o=>S(this,ls,pa).call(this,we.from(o))),s=new mi(n,"_"),i=new ii;return s.encode(i,t),i.data}decode(e,t,n){let s=e.map(o=>S(this,ls,pa).call(this,we.from(o)));return new mi(s,"_").decode(new of(t,n,ag))}static _setDefaultMaxInflation(e){p(typeof e=="number"&&Number.isInteger(e),"invalid defaultMaxInflation factor","value",e),ag=e}static defaultAbiCoder(){return Rd==null&&(Rd=new Yf),Rd}static getBuiltinCallException(e,t,n){return Lw(e,t,n,Yf.defaultAbiCoder())}};ls=new WeakSet,pa=function(e){if(e.isArray())return new Lf(S(this,ls,pa).call(this,e.arrayChildren),e.arrayLength,e.name);if(e.isTuple())return new mi(e.components.map(n=>S(this,ls,pa).call(this,n)),e.name);switch(e.baseType){case"address":return new Rf(e.name);case"bool":return new Nf(e.name);case"string":return new Cf(e.name);case"bytes":return new vf(e.name);case"":return new If(e.name)}let t=e.type.match(Sw);if(t){let n=parseInt(t[2]||"256");return p(n!==0&&n<=256&&n%8===0,"invalid "+t[1]+" bit length","param",e),new Of(n/8,t[1]==="int",e.name)}if(t=e.type.match(Rw),t){let n=parseInt(t[1]);return p(n!==0&&n<=32,"invalid bytes length","param",e),new Bf(n,e.name)}p(!1,"invalid type","type",e.type)};var Mt=Yf;function Sd(r){let e=re(r);if(e.length>31)throw new Error("bytes32 string must be less than 32 bytes");return rn(e,32)}function Ld(r){let e=L(r,"bytes");if(e.length!==32)throw new Error("invalid bytes32 - not 32 bytes long");if(e[31]!==0)throw new Error("invalid bytes32 string - no null terminator");let t=31;for(;e[t-1]===0;)t--;return Le(e.slice(0,t))}var xa=class{constructor(e,t,n){g(this,"fragment");g(this,"name");g(this,"signature");g(this,"topic");g(this,"args");let s=e.name,i=e.format();N(this,{fragment:e,name:s,signature:i,topic:t,args:n})}},ma=class{constructor(e,t,n,s){g(this,"fragment");g(this,"name");g(this,"args");g(this,"signature");g(this,"selector");g(this,"value");let i=e.name,o=e.format();N(this,{fragment:e,name:i,args:n,signature:o,selector:t,value:s})}},ga=class{constructor(e,t,n){g(this,"fragment");g(this,"name");g(this,"args");g(this,"signature");g(this,"selector");let s=e.name,i=e.format();N(this,{fragment:e,name:s,args:n,signature:i,selector:t})}},Si=class{constructor(e){g(this,"hash");g(this,"_isIndexed");N(this,{hash:e,_isIndexed:!0})}static isIndexed(e){return!!(e&&e._isIndexed)}},cg={0:"generic panic",1:"assert(false)",17:"arithmetic overflow",18:"division or modulo by zero",33:"enum overflow",34:"invalid encoded storage byte array accessed",49:"out-of-bounds array access; popping on an empty array",50:"out-of-bounds access of an array or bytesN",65:"out of memory",81:"uninitialized function"},lg={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:r=>`reverted with reason string ${JSON.stringify(r)}`},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"],reason:r=>{let e="unknown panic code";return r>=0&&r<=255&&cg[r.toString()]&&(e=cg[r.toString()]),`reverted with panic code 0x${r.toString(16)} (${e})`}}},Jr,Dr,Gr,je,_r,Wf,jf,Ri=class Ri{constructor(e){y(this,_r);g(this,"fragments");g(this,"deploy");g(this,"fallback");g(this,"receive");y(this,Jr);y(this,Dr);y(this,Gr);y(this,je);let t=[];typeof e=="string"?t=JSON.parse(e):t=e,h(this,Gr,new Map),h(this,Jr,new Map),h(this,Dr,new Map);let n=[];for(let o of t)try{n.push(kr.from(o))}catch(a){console.log(`[Warning] Invalid Fragment ${JSON.stringify(o)}:`,a.message)}N(this,{fragments:Object.freeze(n)});let s=null,i=!1;h(this,je,this.getAbiCoder()),this.fragments.forEach((o,a)=>{let c;switch(o.type){case"constructor":if(this.deploy){console.log("duplicate definition - constructor");return}N(this,{deploy:o});return;case"fallback":o.inputs.length===0?i=!0:(p(!s||o.payable!==s.payable,"conflicting fallback fragments",`fragments[${a}]`,o),s=o,i=s.payable);return;case"function":c=f(this,Gr);break;case"event":c=f(this,Dr);break;case"error":c=f(this,Jr);break;default:return}let l=o.format();c.has(l)||c.set(l,o)}),this.deploy||N(this,{deploy:Fr.from("constructor()")}),N(this,{fallback:s,receive:i})}format(e){let t=e?"minimal":"full";return this.fragments.map(s=>s.format(t))}formatJson(){let e=this.fragments.map(t=>t.format("json"));return JSON.stringify(e.map(t=>JSON.parse(t)))}getAbiCoder(){return Mt.defaultAbiCoder()}getFunctionName(e){let t=S(this,_r,Wf).call(this,e,null,!1);return p(t,"no matching function","key",e),t.name}hasFunction(e){return!!S(this,_r,Wf).call(this,e,null,!1)}getFunction(e,t){return S(this,_r,Wf).call(this,e,t||null,!0)}forEachFunction(e){let t=Array.from(f(this,Gr).keys());t.sort((n,s)=>n.localeCompare(s));for(let n=0;n<t.length;n++){let s=t[n];e(f(this,Gr).get(s),n)}}getEventName(e){let t=S(this,_r,jf).call(this,e,null,!1);return p(t,"no matching event","key",e),t.name}hasEvent(e){return!!S(this,_r,jf).call(this,e,null,!1)}getEvent(e,t){return S(this,_r,jf).call(this,e,t||null,!0)}forEachEvent(e){let t=Array.from(f(this,Dr).keys());t.sort((n,s)=>n.localeCompare(s));for(let n=0;n<t.length;n++){let s=t[n];e(f(this,Dr).get(s),n)}}getError(e,t){if(V(e)){let s=e.toLowerCase();if(lg[s])return ot.from(lg[s].signature);for(let i of f(this,Jr).values())if(s===i.selector)return i;return null}if(e.indexOf("(")===-1){let s=[];for(let[i,o]of f(this,Jr))i.split("(")[0]===e&&s.push(o);if(s.length===0)return e==="Error"?ot.from("error Error(string)"):e==="Panic"?ot.from("error Panic(uint256)"):null;if(s.length>1){let i=s.map(o=>JSON.stringify(o.format())).join(", ");p(!1,`ambiguous error description (i.e. ${i})`,"name",e)}return s[0]}if(e=ot.from(e).format(),e==="Error(string)")return ot.from("error Error(string)");if(e==="Panic(uint256)")return ot.from("error Panic(uint256)");let n=f(this,Jr).get(e);return n||null}forEachError(e){let t=Array.from(f(this,Jr).keys());t.sort((n,s)=>n.localeCompare(s));for(let n=0;n<t.length;n++){let s=t[n];e(f(this,Jr).get(s),n)}}_decodeParams(e,t){return f(this,je).decode(e,t)}_encodeParams(e,t){return f(this,je).encode(e,t)}encodeDeploy(e){return this._encodeParams(this.deploy.inputs,e||[])}decodeErrorResult(e,t){if(typeof e=="string"){let n=this.getError(e);p(n,"unknown error","fragment",e),e=n}return p(ee(t,0,4)===e.selector,`data signature does not match error ${e.name}.`,"data",t),this._decodeParams(e.inputs,ee(t,4))}encodeErrorResult(e,t){if(typeof e=="string"){let n=this.getError(e);p(n,"unknown error","fragment",e),e=n}return _([e.selector,this._encodeParams(e.inputs,t||[])])}decodeFunctionData(e,t){if(typeof e=="string"){let n=this.getFunction(e);p(n,"unknown function","fragment",e),e=n}return p(ee(t,0,4)===e.selector,`data signature does not match function ${e.name}.`,"data",t),this._decodeParams(e.inputs,ee(t,4))}encodeFunctionData(e,t){if(typeof e=="string"){let n=this.getFunction(e);p(n,"unknown function","fragment",e),e=n}return _([e.selector,this._encodeParams(e.inputs,t||[])])}decodeFunctionResult(e,t){if(typeof e=="string"){let i=this.getFunction(e);p(i,"unknown function","fragment",e),e=i}let n="invalid length for result data",s=le(t);if(s.length%32===0)try{return f(this,je).decode(e.outputs,s)}catch{n="could not decode result data"}w(!1,n,"BAD_DATA",{value:R(s),info:{method:e.name,signature:e.format()}})}makeError(e,t){let n=L(e,"data"),s=Mt.getBuiltinCallException("call",t,n);if(s.message.startsWith("execution reverted (unknown custom error)")){let a=R(n.slice(0,4)),c=this.getError(a);if(c)try{let l=f(this,je).decode(c.inputs,n.slice(4));s.revert={name:c.name,signature:c.format(),args:l},s.reason=s.revert.signature,s.message=`execution reverted: ${s.reason}`}catch{s.message="execution reverted (coult not decode custom error)"}}let o=this.parseTransaction(t);return o&&(s.invocation={method:o.name,signature:o.signature,args:o.args}),s}encodeFunctionResult(e,t){if(typeof e=="string"){let n=this.getFunction(e);p(n,"unknown function","fragment",e),e=n}return R(f(this,je).encode(e.outputs,t||[]))}encodeFilterTopics(e,t){if(typeof e=="string"){let i=this.getEvent(e);p(i,"unknown event","eventFragment",e),e=i}w(t.length<=e.inputs.length,`too many arguments for ${e.format()}`,"UNEXPECTED_ARGUMENT",{count:t.length,expectedCount:e.inputs.length});let n=[];e.anonymous||n.push(e.topicHash);let s=(i,o)=>i.type==="string"?ge(o):i.type==="bytes"?H(R(o)):(i.type==="bool"&&typeof o=="boolean"?o=o?"0x01":"0x00":i.type.match(/^u?int/)?o=Me(o):i.type.match(/^bytes/)?o=rn(o,32):i.type==="address"&&f(this,je).encode(["address"],[o]),Se(R(o),32));for(t.forEach((i,o)=>{let a=e.inputs[o];if(!a.indexed){p(i==null,"cannot filter non-indexed parameters; must be null","contract."+a.name,i);return}i==null?n.push(null):a.baseType==="array"||a.baseType==="tuple"?p(!1,"filtering with tuples or arrays not supported","contract."+a.name,i):Array.isArray(i)?n.push(i.map(c=>s(a,c))):n.push(s(a,i))});n.length&&n[n.length-1]===null;)n.pop();return n}encodeEventLog(e,t){if(typeof e=="string"){let o=this.getEvent(e);p(o,"unknown event","eventFragment",e),e=o}let n=[],s=[],i=[];return e.anonymous||n.push(e.topicHash),p(t.length===e.inputs.length,"event arguments/values mismatch","values",t),e.inputs.forEach((o,a)=>{let c=t[a];if(o.indexed)if(o.type==="string")n.push(ge(c));else if(o.type==="bytes")n.push(H(c));else{if(o.baseType==="tuple"||o.baseType==="array")throw new Error("not implemented");n.push(f(this,je).encode([o.type],[c]))}else s.push(o),i.push(c)}),{data:f(this,je).encode(s,i),topics:n}}decodeEventLog(e,t,n){if(typeof e=="string"){let m=this.getEvent(e);p(m,"unknown event","eventFragment",e),e=m}if(n!=null&&!e.anonymous){let m=e.topicHash;p(V(n[0],32)&&n[0].toLowerCase()===m,"fragment/topic mismatch","topics[0]",n[0]),n=n.slice(1)}let s=[],i=[],o=[];e.inputs.forEach((m,A)=>{m.indexed?m.type==="string"||m.type==="bytes"||m.baseType==="tuple"||m.baseType==="array"?(s.push(we.from({type:"bytes32",name:m.name})),o.push(!0)):(s.push(m),o.push(!1)):(i.push(m),o.push(!1))});let a=n!=null?f(this,je).decode(s,_(n)):null,c=f(this,je).decode(i,t,!0),l=[],u=[],d=0,x=0;return e.inputs.forEach((m,A)=>{let b=null;if(m.indexed)if(a==null)b=new Si(null);else if(o[A])b=new Si(a[x++]);else try{b=a[x++]}catch(E){b=E}else try{b=c[d++]}catch(E){b=E}l.push(b),u.push(m.name||null)}),nr.fromItems(l,u)}parseTransaction(e){let t=L(e.data,"tx.data"),n=B(e.value!=null?e.value:0,"tx.value"),s=this.getFunction(R(t.slice(0,4)));if(!s)return null;let i=f(this,je).decode(s.inputs,t.slice(4));return new ma(s,s.selector,i,n)}parseCallResult(e){throw new Error("@TODO")}parseLog(e){let t=this.getEvent(e.topics[0]);return!t||t.anonymous?null:new xa(t,t.topicHash,this.decodeEventLog(t,e.data,e.topics))}parseError(e){let t=R(e),n=this.getError(ee(t,0,4));if(!n)return null;let s=f(this,je).decode(n.inputs,ee(t,4));return new ga(n,n.selector,s)}static from(e){return e instanceof Ri?e:typeof e=="string"?new Ri(JSON.parse(e)):typeof e.formatJson=="function"?new Ri(e.formatJson()):typeof e.format=="function"?new Ri(e.format("json")):new Ri(e)}};Jr=new WeakMap,Dr=new WeakMap,Gr=new WeakMap,je=new WeakMap,_r=new WeakSet,Wf=function(e,t,n){if(V(e)){let i=e.toLowerCase();for(let o of f(this,Gr).values())if(i===o.selector)return o;return null}if(e.indexOf("(")===-1){let i=[];for(let[o,a]of f(this,Gr))o.split("(")[0]===e&&i.push(a);if(t){let o=t.length>0?t[t.length-1]:null,a=t.length,c=!0;ue.isTyped(o)&&o.type==="overrides"&&(c=!1,a--);for(let l=i.length-1;l>=0;l--){let u=i[l].inputs.length;u!==a&&(!c||u!==a-1)&&i.splice(l,1)}for(let l=i.length-1;l>=0;l--){let u=i[l].inputs;for(let d=0;d<t.length;d++)if(ue.isTyped(t[d])){if(d>=u.length){if(t[d].type==="overrides")continue;i.splice(l,1);break}if(t[d].type!==u[d].baseType){i.splice(l,1);break}}}}if(i.length===1&&t&&t.length!==i[0].inputs.length){let o=t[t.length-1];(o==null||Array.isArray(o)||typeof o!="object")&&i.splice(0,1)}if(i.length===0)return null;if(i.length>1&&n){let o=i.map(a=>JSON.stringify(a.format())).join(", ");p(!1,`ambiguous function description (i.e. matches ${o})`,"key",e)}return i[0]}let s=f(this,Gr).get(Mr.from(e).format());return s||null},jf=function(e,t,n){if(V(e)){let i=e.toLowerCase();for(let o of f(this,Dr).values())if(i===o.topicHash)return o;return null}if(e.indexOf("(")===-1){let i=[];for(let[o,a]of f(this,Dr))o.split("(")[0]===e&&i.push(a);if(t){for(let o=i.length-1;o>=0;o--)i[o].inputs.length<t.length&&i.splice(o,1);for(let o=i.length-1;o>=0;o--){let a=i[o].inputs;for(let c=0;c<t.length;c++)if(ue.isTyped(t[c])&&t[c].type!==a[c].baseType){i.splice(o,1);break}}}if(i.length===0)return null;if(i.length>1&&n){let o=i.map(a=>JSON.stringify(a.format())).join(", ");p(!1,`ambiguous event description (i.e. matches ${o})`,"key",e)}return i[0]}let s=f(this,Dr).get(Ur.from(e).format());return s||null};var wn=Ri;var fg=BigInt(0);function ba(r){return r??null}function Be(r){return r==null?null:r.toString()}var us=class{constructor(e,t,n){g(this,"gasPrice");g(this,"maxFeePerGas");g(this,"maxPriorityFeePerGas");N(this,{gasPrice:ba(e),maxFeePerGas:ba(t),maxPriorityFeePerGas:ba(n)})}toJSON(){let{gasPrice:e,maxFeePerGas:t,maxPriorityFeePerGas:n}=this;return{_type:"FeeData",gasPrice:Be(e),maxFeePerGas:Be(t),maxPriorityFeePerGas:Be(n)}}};function kt(r){let e={};r.to&&(e.to=r.to),r.from&&(e.from=r.from),r.data&&(e.data=R(r.data));let t="chainId,gasLimit,gasPrice,maxFeePerBlobGas,maxFeePerGas,maxPriorityFeePerGas,value".split(/,/);for(let s of t)!(s in r)||r[s]==null||(e[s]=B(r[s],`request.${s}`));let n="type,nonce".split(/,/);for(let s of n)!(s in r)||r[s]==null||(e[s]=M(r[s],`request.${s}`));return r.accessList&&(e.accessList=Xe(r.accessList)),r.authorizationList&&(e.authorizationList=r.authorizationList.slice()),"blockTag"in r&&(e.blockTag=r.blockTag),"enableCcipRead"in r&&(e.enableCcipRead=!!r.enableCcipRead),"customData"in r&&(e.customData=r.customData),"blobVersionedHashes"in r&&r.blobVersionedHashes&&(e.blobVersionedHashes=r.blobVersionedHashes.slice()),"kzg"in r&&(e.kzg=r.kzg),"blobs"in r&&r.blobs&&(e.blobs=r.blobs.map(s=>Yt(s)?R(s):Object.assign({},s))),e}var En,Li=class{constructor(e,t){g(this,"provider");g(this,"number");g(this,"hash");g(this,"timestamp");g(this,"parentHash");g(this,"parentBeaconBlockRoot");g(this,"nonce");g(this,"difficulty");g(this,"gasLimit");g(this,"gasUsed");g(this,"stateRoot");g(this,"receiptsRoot");g(this,"blobGasUsed");g(this,"excessBlobGas");g(this,"miner");g(this,"prevRandao");g(this,"extraData");g(this,"baseFeePerGas");y(this,En);h(this,En,e.transactions.map(n=>typeof n!="string"?new Xr(n,t):n)),N(this,{provider:t,hash:ba(e.hash),number:e.number,timestamp:e.timestamp,parentHash:e.parentHash,parentBeaconBlockRoot:e.parentBeaconBlockRoot,nonce:e.nonce,difficulty:e.difficulty,gasLimit:e.gasLimit,gasUsed:e.gasUsed,blobGasUsed:e.blobGasUsed,excessBlobGas:e.excessBlobGas,miner:e.miner,prevRandao:ba(e.prevRandao),extraData:e.extraData,baseFeePerGas:ba(e.baseFeePerGas),stateRoot:e.stateRoot,receiptsRoot:e.receiptsRoot})}get transactions(){return f(this,En).map(e=>typeof e=="string"?e:e.hash)}get prefetchedTransactions(){let e=f(this,En).slice();return e.length===0?[]:(w(typeof e[0]=="object","transactions were not prefetched with block request","UNSUPPORTED_OPERATION",{operation:"transactionResponses()"}),e)}toJSON(){let{baseFeePerGas:e,difficulty:t,extraData:n,gasLimit:s,gasUsed:i,hash:o,miner:a,prevRandao:c,nonce:l,number:u,parentHash:d,parentBeaconBlockRoot:x,stateRoot:m,receiptsRoot:A,timestamp:b,transactions:E}=this;return{_type:"Block",baseFeePerGas:Be(e),difficulty:Be(t),extraData:n,gasLimit:Be(s),gasUsed:Be(i),blobGasUsed:Be(this.blobGasUsed),excessBlobGas:Be(this.excessBlobGas),hash:o,miner:a,prevRandao:c,nonce:l,number:u,parentHash:d,timestamp:b,parentBeaconBlockRoot:x,stateRoot:m,receiptsRoot:A,transactions:E}}[Symbol.iterator](){let e=0,t=this.transactions;return{next:()=>e<this.length?{value:t[e++],done:!1}:{value:void 0,done:!0}}}get length(){return f(this,En).length}get date(){return this.timestamp==null?null:new Date(this.timestamp*1e3)}async getTransaction(e){let t;if(typeof e=="number")t=f(this,En)[e];else{let n=e.toLowerCase();for(let s of f(this,En))if(typeof s=="string"){if(s!==n)continue;t=s;break}else{if(s.hash!==n)continue;t=s;break}}if(t==null)throw new Error("no such tx");return typeof t=="string"?await this.provider.getTransaction(t):t}getPrefetchedTransaction(e){let t=this.prefetchedTransactions;if(typeof e=="number")return t[e];e=e.toLowerCase();for(let n of t)if(n.hash===e)return n;p(!1,"no matching transaction","indexOrHash",e)}isMined(){return!!this.hash}isLondon(){return!!this.baseFeePerGas}orphanedEvent(){if(!this.isMined())throw new Error("");return Nw(this)}};En=new WeakMap;var St=class{constructor(e,t){g(this,"provider");g(this,"transactionHash");g(this,"blockHash");g(this,"blockNumber");g(this,"removed");g(this,"address");g(this,"data");g(this,"topics");g(this,"index");g(this,"transactionIndex");this.provider=t;let n=Object.freeze(e.topics.slice());N(this,{transactionHash:e.transactionHash,blockHash:e.blockHash,blockNumber:e.blockNumber,removed:e.removed,address:e.address,data:e.data,topics:n,index:e.index,transactionIndex:e.transactionIndex})}toJSON(){let{address:e,blockHash:t,blockNumber:n,data:s,index:i,removed:o,topics:a,transactionHash:c,transactionIndex:l}=this;return{_type:"log",address:e,blockHash:t,blockNumber:n,data:s,index:i,removed:o,topics:a,transactionHash:c,transactionIndex:l}}async getBlock(){let e=await this.provider.getBlock(this.blockHash);return w(!!e,"failed to find transaction","UNKNOWN_ERROR",{}),e}async getTransaction(){let e=await this.provider.getTransaction(this.transactionHash);return w(!!e,"failed to find transaction","UNKNOWN_ERROR",{}),e}async getTransactionReceipt(){let e=await this.provider.getTransactionReceipt(this.transactionHash);return w(!!e,"failed to find transaction receipt","UNKNOWN_ERROR",{}),e}removedEvent(){return vw(this)}},Vc,Tn=class{constructor(e,t){g(this,"provider");g(this,"to");g(this,"from");g(this,"contractAddress");g(this,"hash");g(this,"index");g(this,"blockHash");g(this,"blockNumber");g(this,"logsBloom");g(this,"gasUsed");g(this,"blobGasUsed");g(this,"cumulativeGasUsed");g(this,"gasPrice");g(this,"blobGasPrice");g(this,"type");g(this,"status");g(this,"root");y(this,Vc);h(this,Vc,Object.freeze(e.logs.map(s=>new St(s,t))));let n=fg;e.effectiveGasPrice!=null?n=e.effectiveGasPrice:e.gasPrice!=null&&(n=e.gasPrice),N(this,{provider:t,to:e.to,from:e.from,contractAddress:e.contractAddress,hash:e.hash,index:e.index,blockHash:e.blockHash,blockNumber:e.blockNumber,logsBloom:e.logsBloom,gasUsed:e.gasUsed,cumulativeGasUsed:e.cumulativeGasUsed,blobGasUsed:e.blobGasUsed,gasPrice:n,blobGasPrice:e.blobGasPrice,type:e.type,status:e.status,root:e.root})}get logs(){return f(this,Vc)}toJSON(){let{to:e,from:t,contractAddress:n,hash:s,index:i,blockHash:o,blockNumber:a,logsBloom:c,logs:l,status:u,root:d}=this;return{_type:"TransactionReceipt",blockHash:o,blockNumber:a,contractAddress:n,cumulativeGasUsed:Be(this.cumulativeGasUsed),from:t,gasPrice:Be(this.gasPrice),blobGasUsed:Be(this.blobGasUsed),blobGasPrice:Be(this.blobGasPrice),gasUsed:Be(this.gasUsed),hash:s,index:i,logs:l,logsBloom:c,root:d,status:u,to:e}}get length(){return this.logs.length}[Symbol.iterator](){let e=0;return{next:()=>e<this.length?{value:this.logs[e++],done:!1}:{value:void 0,done:!0}}}get fee(){return this.gasUsed*this.gasPrice}async getBlock(){let e=await this.provider.getBlock(this.blockHash);if(e==null)throw new Error("TODO");return e}async getTransaction(){let e=await this.provider.getTransaction(this.hash);if(e==null)throw new Error("TODO");return e}async getResult(){return await this.provider.getTransactionResult(this.hash)}async confirmations(){return await this.provider.getBlockNumber()-this.blockNumber+1}removedEvent(){return dg(this)}reorderedEvent(e){return w(!e||e.isMined(),"unmined 'other' transction cannot be orphaned","UNSUPPORTED_OPERATION",{operation:"reorderedEvent(other)"}),ug(this,e)}};Vc=new WeakMap;var fs,Nd=class Nd{constructor(e,t){g(this,"provider");g(this,"blockNumber");g(this,"blockHash");g(this,"index");g(this,"hash");g(this,"type");g(this,"to");g(this,"from");g(this,"nonce");g(this,"gasLimit");g(this,"gasPrice");g(this,"maxPriorityFeePerGas");g(this,"maxFeePerGas");g(this,"maxFeePerBlobGas");g(this,"data");g(this,"value");g(this,"chainId");g(this,"signature");g(this,"accessList");g(this,"blobVersionedHashes");g(this,"authorizationList");y(this,fs);this.provider=t,this.blockNumber=e.blockNumber!=null?e.blockNumber:null,this.blockHash=e.blockHash!=null?e.blockHash:null,this.hash=e.hash,this.index=e.index,this.type=e.type,this.from=e.from,this.to=e.to||null,this.gasLimit=e.gasLimit,this.nonce=e.nonce,this.data=e.data,this.value=e.value,this.gasPrice=e.gasPrice,this.maxPriorityFeePerGas=e.maxPriorityFeePerGas!=null?e.maxPriorityFeePerGas:null,this.maxFeePerGas=e.maxFeePerGas!=null?e.maxFeePerGas:null,this.maxFeePerBlobGas=e.maxFeePerBlobGas!=null?e.maxFeePerBlobGas:null,this.chainId=e.chainId,this.signature=e.signature,this.accessList=e.accessList!=null?e.accessList:null,this.blobVersionedHashes=e.blobVersionedHashes!=null?e.blobVersionedHashes:null,this.authorizationList=e.authorizationList!=null?e.authorizationList:null,h(this,fs,-1)}toJSON(){let{blockNumber:e,blockHash:t,index:n,hash:s,type:i,to:o,from:a,nonce:c,data:l,signature:u,accessList:d,blobVersionedHashes:x}=this;return{_type:"TransactionResponse",accessList:d,blockNumber:e,blockHash:t,blobVersionedHashes:x,chainId:Be(this.chainId),data:l,from:a,gasLimit:Be(this.gasLimit),gasPrice:Be(this.gasPrice),hash:s,maxFeePerGas:Be(this.maxFeePerGas),maxPriorityFeePerGas:Be(this.maxPriorityFeePerGas),maxFeePerBlobGas:Be(this.maxFeePerBlobGas),nonce:c,signature:u,to:o,index:n,type:i,value:Be(this.value)}}async getBlock(){let e=this.blockNumber;if(e==null){let n=await this.getTransaction();n&&(e=n.blockNumber)}if(e==null)return null;let t=this.provider.getBlock(e);if(t==null)throw new Error("TODO");return t}async getTransaction(){return this.provider.getTransaction(this.hash)}async confirmations(){if(this.blockNumber==null){let{tx:t,blockNumber:n}=await he({tx:this.getTransaction(),blockNumber:this.provider.getBlockNumber()});return t==null||t.blockNumber==null?0:n-t.blockNumber+1}return await this.provider.getBlockNumber()-this.blockNumber+1}async wait(e,t){let n=e??1,s=t??0,i=f(this,fs),o=-1,a=i===-1,c=async()=>{if(a)return null;let{blockNumber:x,nonce:m}=await he({blockNumber:this.provider.getBlockNumber(),nonce:this.provider.getTransactionCount(this.from)});if(m<this.nonce){i=x;return}if(a)return null;let A=await this.getTransaction();if(!(A&&A.blockNumber!=null))for(o===-1&&(o=i-3,o<f(this,fs)&&(o=f(this,fs)));o<=x;){if(a)return null;let b=await this.provider.getBlock(o,!0);if(b==null)return;for(let E of b)if(E===this.hash)return;for(let E=0;E<b.length;E++){let T=await b.getTransaction(E);if(T.from===this.from&&T.nonce===this.nonce){if(a)return null;let v=await this.provider.getTransactionReceipt(T.hash);if(v==null||x-v.blockNumber+1<n)return;let O="replaced";T.data===this.data&&T.to===this.to&&T.value===this.value?O="repriced":T.data==="0x"&&T.from===T.to&&T.value===fg&&(O="cancelled"),w(!1,"transaction was replaced","TRANSACTION_REPLACED",{cancelled:O==="replaced"||O==="cancelled",reason:O,replacement:T.replaceableTransaction(i),hash:T.hash,receipt:v})}}o++}},l=x=>{if(x==null||x.status!==0)return x;w(!1,"transaction execution reverted","CALL_EXCEPTION",{action:"sendTransaction",data:null,reason:null,invocation:null,revert:null,transaction:{to:x.to,from:x.from,data:""},receipt:x})},u=await this.provider.getTransactionReceipt(this.hash);if(n===0)return l(u);if(u){if(n===1||await u.confirmations()>=n)return l(u)}else if(await c(),n===0)return null;return await new Promise((x,m)=>{let A=[],b=()=>{A.forEach(T=>T())};if(A.push(()=>{a=!0}),s>0){let T=setTimeout(()=>{b(),m(Z("wait for transaction timeout","TIMEOUT"))},s);A.push(()=>{clearTimeout(T)})}let E=async T=>{if(await T.confirmations()>=n){b();try{x(l(T))}catch(v){m(v)}}};if(A.push(()=>{this.provider.off(this.hash,E)}),this.provider.on(this.hash,E),i>=0){let T=async()=>{try{await c()}catch(v){if(se(v,"TRANSACTION_REPLACED")){b(),m(v);return}}a||this.provider.once("block",T)};A.push(()=>{this.provider.off("block",T)}),this.provider.once("block",T)}})}isMined(){return this.blockHash!=null}isLegacy(){return this.type===0}isBerlin(){return this.type===1}isLondon(){return this.type===2}isCancun(){return this.type===3}removedEvent(){return w(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),dg(this)}reorderedEvent(e){return w(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),w(!e||e.isMined(),"unmined 'other' transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),ug(this,e)}replaceableTransaction(e){p(Number.isInteger(e)&&e>=0,"invalid startBlock","startBlock",e);let t=new Nd(this,this.provider);return h(t,fs,e),t}};fs=new WeakMap;var Xr=Nd;function Nw(r){return{orphan:"drop-block",hash:r.hash,number:r.number}}function ug(r,e){return{orphan:"reorder-transaction",tx:r,other:e}}function dg(r){return{orphan:"drop-transaction",tx:r}}function vw(r){return{orphan:"drop-log",log:{transactionHash:r.transactionHash,blockHash:r.blockHash,blockNumber:r.blockNumber,address:r.address,data:r.data,topics:Object.freeze(r.topics.slice()),index:r.index}}}var Rn=class extends St{constructor(t,n,s){super(t,t.provider);g(this,"interface");g(this,"fragment");g(this,"args");let i=n.decodeEventLog(s,t.data,t.topics);N(this,{args:i,fragment:s,interface:n})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}},ds=class extends St{constructor(t,n){super(t,t.provider);g(this,"error");N(this,{error:n})}},ya,Aa=class extends Tn{constructor(t,n,s){super(s,n);y(this,ya);h(this,ya,t)}get logs(){return super.logs.map(t=>{let n=t.topics.length?f(this,ya).getEvent(t.topics[0]):null;if(n)try{return new Rn(t,f(this,ya),n)}catch(s){return new ds(t,s)}return t})}};ya=new WeakMap;var Qc,Sn=class extends Xr{constructor(t,n,s){super(s,n);y(this,Qc);h(this,Qc,t)}async wait(t,n){let s=await super.wait(t,n);return s==null?null:new Aa(f(this,Qc),this.provider,s)}};Qc=new WeakMap;var hs=class extends on{constructor(t,n,s,i){super(t,n,s);g(this,"log");N(this,{log:i})}async getBlock(){return await this.log.getBlock()}async getTransaction(){return await this.log.getTransaction()}async getTransactionReceipt(){return await this.log.getTransactionReceipt()}},Ni=class extends hs{constructor(e,t,n,s,i){super(e,t,n,new Rn(i,e.interface,s));let o=e.interface.decodeEventLog(s,this.log.data,this.log.topics);N(this,{args:o,fragment:s})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}};var hg=BigInt(0);function mg(r){return r&&typeof r.call=="function"}function gg(r){return r&&typeof r.estimateGas=="function"}function tu(r){return r&&typeof r.resolveName=="function"}function bg(r){return r&&typeof r.sendTransaction=="function"}function yg(r){if(r!=null){if(tu(r))return r;if(r.provider)return r.provider}}var Kc,vd=class{constructor(e,t,n){y(this,Kc);g(this,"fragment");if(N(this,{fragment:t}),t.inputs.length<n.length)throw new Error("too many arguments");let s=Bi(e.runner,"resolveName"),i=tu(s)?s:null;h(this,Kc,(async function(){let o=await Promise.all(t.inputs.map((a,c)=>n[c]==null?null:a.walkAsync(n[c],(u,d)=>u==="address"?Array.isArray(d)?Promise.all(d.map(x=>xe(x,i))):xe(d,i):d)));return e.interface.encodeFilterTopics(t,o)})())}getTopicFilter(){return f(this,Kc)}};Kc=new WeakMap;function Bi(r,e){return r==null?null:typeof r[e]=="function"?r:r.provider&&typeof r.provider[e]=="function"?r.provider:null}function vi(r){return r==null?null:r.provider||null}async function ru(r,e){let t=ue.dereference(r,"overrides");p(typeof t=="object","invalid overrides parameter","overrides",r);let n=kt(t);return p(n.to==null||(e||[]).indexOf("to")>=0,"cannot override to","overrides.to",n.to),p(n.data==null||(e||[]).indexOf("data")>=0,"cannot override data","overrides.data",n.data),n.from&&(n.from=n.from),n}async function Od(r,e,t){let n=Bi(r,"resolveName"),s=tu(n)?n:null;return await Promise.all(e.map((i,o)=>i.walkAsync(t[o],(a,c)=>(c=ue.dereference(c,a),a==="address"?xe(c,s):c))))}function Bw(r){let e=async function(o){let a=await ru(o,["data"]);a.to=await r.getAddress(),a.from&&(a.from=await xe(a.from,yg(r.runner)));let c=r.interface,l=B(a.value||hg,"overrides.value")===hg,u=(a.data||"0x")==="0x";c.fallback&&!c.fallback.payable&&c.receive&&!u&&!l&&p(!1,"cannot send data to receive or send value to non-payable fallback","overrides",o),p(c.fallback||u,"cannot send data to receive-only contract","overrides.data",a.data);let d=c.receive||c.fallback&&c.fallback.payable;return p(d||l,"cannot send value to non-payable fallback","overrides.value",a.value),p(c.fallback||u,"cannot send data to receive-only contract","overrides.data",a.data),a},t=async function(o){let a=Bi(r.runner,"call");w(mg(a),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});let c=await e(o);try{return await a.call(c)}catch(l){throw Zn(l)&&l.data?r.interface.makeError(l.data,c):l}},n=async function(o){let a=r.runner;w(bg(a),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});let c=await a.sendTransaction(await e(o)),l=vi(r.runner);return new Sn(r.interface,l,c)},s=async function(o){let a=Bi(r.runner,"estimateGas");return w(gg(a),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await a.estimateGas(await e(o))},i=async o=>await n(o);return N(i,{_contract:r,estimateGas:s,populateTransaction:e,send:n,staticCall:t}),i}function Iw(r,e){let t=function(...l){let u=r.interface.getFunction(e,l);return w(u,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e,args:l}}),u},n=async function(...l){let u=t(...l),d={};if(u.inputs.length+1===l.length&&(d=await ru(l.pop()),d.from&&(d.from=await xe(d.from,yg(r.runner)))),u.inputs.length!==l.length)throw new Error("internal error: fragment inputs doesn't match arguments; should not happen");let x=await Od(r.runner,u.inputs,l);return Object.assign({},d,await he({to:r.getAddress(),data:r.interface.encodeFunctionData(u,x)}))},s=async function(...l){let u=await a(...l);return u.length===1?u[0]:u},i=async function(...l){let u=r.runner;w(bg(u),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});let d=await u.sendTransaction(await n(...l)),x=vi(r.runner);return new Sn(r.interface,x,d)},o=async function(...l){let u=Bi(r.runner,"estimateGas");return w(gg(u),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await u.estimateGas(await n(...l))},a=async function(...l){let u=Bi(r.runner,"call");w(mg(u),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});let d=await n(...l),x="0x";try{x=await u.call(d)}catch(A){throw Zn(A)&&A.data?r.interface.makeError(A.data,d):A}let m=t(...l);return r.interface.decodeFunctionResult(m,x)},c=async(...l)=>t(...l).constant?await s(...l):await i(...l);return N(c,{name:r.interface.getFunctionName(e),_contract:r,_key:e,getFragment:t,estimateGas:o,populateTransaction:n,send:i,staticCall:s,staticCallResult:a}),Object.defineProperty(c,"fragment",{configurable:!1,enumerable:!0,get:()=>{let l=r.interface.getFunction(e);return w(l,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e}}),l}}),c}function Ow(r,e){let t=function(...s){let i=r.interface.getEvent(e,s);return w(i,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e,args:s}}),i},n=function(...s){return new vd(r,t(...s),s)};return N(n,{name:r.interface.getEventName(e),_contract:r,_key:e,getFragment:t}),Object.defineProperty(n,"fragment",{configurable:!1,enumerable:!0,get:()=>{let s=r.interface.getEvent(e);return w(s,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e}}),s}}),n}var eu=Symbol.for("_ethersInternal_contract"),Ag=new WeakMap;function Cw(r,e){Ag.set(r[eu],e)}function Lt(r){return Ag.get(r[eu])}function Pw(r){return r&&typeof r=="object"&&"getTopicFilter"in r&&typeof r.getTopicFilter=="function"&&r.fragment}async function Cd(r,e){let t,n=null;if(Array.isArray(e)){let i=function(o){if(V(o,32))return o;let a=r.interface.getEvent(o);return p(a,"unknown fragment","name",o),a.topicHash};t=e.map(o=>o==null?null:Array.isArray(o)?o.map(i):i(o))}else e==="*"?t=[null]:typeof e=="string"?V(e,32)?t=[e]:(n=r.interface.getEvent(e),p(n,"unknown fragment","event",e),t=[n.topicHash]):Pw(e)?t=await e.getTopicFilter():"fragment"in e?(n=e.fragment,t=[n.topicHash]):p(!1,"unknown event name","event",e);t=t.map(i=>{if(i==null)return null;if(Array.isArray(i)){let o=Array.from(new Set(i.map(a=>a.toLowerCase())).values());return o.length===1?o[0]:(o.sort(),o)}return i.toLowerCase()});let s=t.map(i=>i==null?"null":Array.isArray(i)?i.join("|"):i).join("&");return{fragment:n,tag:s,topics:t}}async function Zc(r,e){let{subs:t}=Lt(r);return t.get((await Cd(r,e)).tag)||null}async function pg(r,e,t){let n=vi(r.runner);w(n,"contract runner does not support subscribing","UNSUPPORTED_OPERATION",{operation:e});let{fragment:s,tag:i,topics:o}=await Cd(r,t),{addr:a,subs:c}=Lt(r),l=c.get(i);if(!l){let d={address:a||r,topics:o},x=E=>{let T=s;if(T==null)try{T=r.interface.getEvent(E.topics[0])}catch{}if(T){let v=T,O=s?r.interface.decodeEventLog(s,E.data,E.topics):[];Id(r,t,O,D=>new Ni(r,D,t,v,E))}else Id(r,t,[],v=>new hs(r,v,t,E))},m=[];l={tag:i,listeners:[],start:()=>{m.length||m.push(n.on(d,x))},stop:async()=>{if(m.length==0)return;let E=m;m=[],await Promise.all(E),n.off(d,x)}},c.set(i,l)}return l}var Bd=Promise.resolve();async function Uw(r,e,t,n){await Bd;let s=await Zc(r,e);if(!s)return!1;let i=s.listeners.length;return s.listeners=s.listeners.filter(({listener:o,once:a})=>{let c=Array.from(t);n&&c.push(n(a?null:o));try{o.call(r,...c)}catch{}return!a}),s.listeners.length===0&&(s.stop(),Lt(r).subs.delete(s.tag)),i>0}async function Id(r,e,t,n){try{await Bd}catch{}let s=Uw(r,e,t,n);return Bd=s,await s}var qf=["then"],xg;xg=eu;var zc=class zc{constructor(e,t,n,s){g(this,"target");g(this,"interface");g(this,"runner");g(this,"filters");g(this,xg);g(this,"fallback");p(typeof e=="string"||Qo(e),"invalid value for Contract target","target",e),n==null&&(n=null);let i=wn.from(t);N(this,{target:e,runner:n,interface:i}),Object.defineProperty(this,eu,{value:{}});let o,a=null,c=null;if(s){let d=vi(n);c=new Sn(this.interface,d,s)}let l=new Map;if(typeof e=="string")if(V(e))a=e,o=Promise.resolve(e);else{let d=Bi(n,"resolveName");if(!tu(d))throw Z("contract runner does not support name resolution","UNSUPPORTED_OPERATION",{operation:"resolveName"});o=d.resolveName(e).then(x=>{if(x==null)throw Z("an ENS name used for a contract target must be correctly configured","UNCONFIGURED_NAME",{value:e});return Lt(this).addr=x,x})}else o=e.getAddress().then(d=>{if(d==null)throw new Error("TODO");return Lt(this).addr=d,d});Cw(this,{addrPromise:o,addr:a,deployTx:c,subs:l});let u=new Proxy({},{get:(d,x,m)=>{if(typeof x=="symbol"||qf.indexOf(x)>=0)return Reflect.get(d,x,m);try{return this.getEvent(x)}catch(A){if(!se(A,"INVALID_ARGUMENT")||A.argument!=="key")throw A}},has:(d,x)=>qf.indexOf(x)>=0?Reflect.has(d,x):Reflect.has(d,x)||this.interface.hasEvent(String(x))});return N(this,{filters:u}),N(this,{fallback:i.receive||i.fallback?Bw(this):null}),new Proxy(this,{get:(d,x,m)=>{if(typeof x=="symbol"||x in d||qf.indexOf(x)>=0)return Reflect.get(d,x,m);try{return d.getFunction(x)}catch(A){if(!se(A,"INVALID_ARGUMENT")||A.argument!=="key")throw A}},has:(d,x)=>typeof x=="symbol"||x in d||qf.indexOf(x)>=0?Reflect.has(d,x):d.interface.hasFunction(x)})}connect(e){return new zc(this.target,this.interface,e)}attach(e){return new zc(e,this.interface,this.runner)}async getAddress(){return await Lt(this).addrPromise}async getDeployedCode(){let e=vi(this.runner);w(e,"runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"getDeployedCode"});let t=await e.getCode(await this.getAddress());return t==="0x"?null:t}async waitForDeployment(){let e=this.deploymentTransaction();if(e)return await e.wait(),this;if(await this.getDeployedCode()!=null)return this;let n=vi(this.runner);return w(n!=null,"contract runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"waitForDeployment"}),new Promise((s,i)=>{let o=async()=>{try{if(await this.getDeployedCode()!=null)return s(this);n.once("block",o)}catch(a){i(a)}};o()})}deploymentTransaction(){return Lt(this).deployTx}getFunction(e){return typeof e!="string"&&(e=e.format()),Iw(this,e)}getEvent(e){return typeof e!="string"&&(e=e.format()),Ow(this,e)}async queryTransaction(e){throw new Error("@TODO")}async queryFilter(e,t,n){t==null&&(t=0),n==null&&(n="latest");let{addr:s,addrPromise:i}=Lt(this),o=s||await i,{fragment:a,topics:c}=await Cd(this,e),l={address:o,topics:c,fromBlock:t,toBlock:n},u=vi(this.runner);return w(u,"contract runner does not have a provider","UNSUPPORTED_OPERATION",{operation:"queryFilter"}),(await u.getLogs(l)).map(d=>{let x=a;if(x==null)try{x=this.interface.getEvent(d.topics[0])}catch{}if(x)try{return new Rn(d,this.interface,x)}catch(m){return new ds(d,m)}return new St(d,u)})}async on(e,t){let n=await pg(this,"on",e);return n.listeners.push({listener:t,once:!1}),n.start(),this}async once(e,t){let n=await pg(this,"once",e);return n.listeners.push({listener:t,once:!0}),n.start(),this}async emit(e,...t){return await Id(this,e,t,null)}async listenerCount(e){if(e){let s=await Zc(this,e);return s?s.listeners.length:0}let{subs:t}=Lt(this),n=0;for(let{listeners:s}of t.values())n+=s.length;return n}async listeners(e){if(e){let s=await Zc(this,e);return s?s.listeners.map(({listener:i})=>i):[]}let{subs:t}=Lt(this),n=[];for(let{listeners:s}of t.values())n=n.concat(s.map(({listener:i})=>i));return n}async off(e,t){let n=await Zc(this,e);if(!n)return this;if(t){let s=n.listeners.map(({listener:i})=>i).indexOf(t);s>=0&&n.listeners.splice(s,1)}return(t==null||n.listeners.length===0)&&(n.stop(),Lt(this).subs.delete(n.tag)),this}async removeAllListeners(e){if(e){let t=await Zc(this,e);if(!t)return this;t.stop(),Lt(this).subs.delete(t.tag)}else{let{subs:t}=Lt(this);for(let{tag:n,stop:s}of t.values())s(),t.delete(n)}return this}async addListener(e,t){return await this.on(e,t)}async removeListener(e,t){return await this.off(e,t)}static buildClass(e){class t extends zc{constructor(s,i=null){super(s,e,i)}}return t}static from(e,t,n){return n==null&&(n=null),new this(e,t,n)}},Ln=zc;function Fw(){return Ln}var dt=class extends Fw(){};var $c=class r{constructor(e,t,n){g(this,"interface");g(this,"bytecode");g(this,"runner");let s=wn.from(e);t instanceof Uint8Array?t=R(L(t)):(typeof t=="object"&&(t=t.object),t.startsWith("0x")||(t="0x"+t),t=R(L(t))),N(this,{bytecode:t,interface:s,runner:n||null})}attach(e){return new Ln(e,this.interface,this.runner)}async getDeployTransaction(...e){let t={},n=this.interface.deploy;if(n.inputs.length+1===e.length&&(t=await ru(e.pop())),n.inputs.length!==e.length)throw new Error("incorrect number of arguments to constructor");let s=await Od(this.runner,n.inputs,e),i=_([this.bytecode,this.interface.encodeDeploy(s)]);return Object.assign({},t,{data:i})}async deploy(...e){let t=await this.getDeployTransaction(...e);w(this.runner&&typeof this.runner.sendTransaction=="function","factory runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});let n=await this.runner.sendTransaction(t),s=pi(n);return new Ln(s,this.interface,this.runner,n)}connect(e){return new r(this.interface,this.bytecode,e)}static fromSolidity(e,t){p(e!=null,"bad compiler output","output",e),typeof e=="string"&&(e=JSON.parse(e));let n=e.abi,s="";return e.bytecode?s=e.bytecode:e.evm&&e.evm.bytecode&&(s=e.evm.bytecode),new this(n,s,t)}};function Pd(r){return r.match(/^ipfs:\/\/ipfs\//i)?r=r.substring(12):r.match(/^ipfs:\/\//i)?r=r.substring(7):p(!1,"unsupported IPFS format","link",r),`https://gateway.ipfs.io/ipfs/${r}`}var Ta=class{constructor(e){g(this,"name");N(this,{name:e})}connect(e){return this}supportsCoinType(e){return!1}async encodeAddress(e,t){throw new Error("unsupported coin")}async decodeAddress(e,t){throw new Error("unsupported coin")}};var Eg=new RegExp("^(ipfs)://(.*)$","i"),wg=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),Eg,new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")],ps,Ii,xs,wa,nu,Tg,Ea=class Ea{constructor(e,t,n){y(this,xs);g(this,"provider");g(this,"address");g(this,"name");y(this,ps);y(this,Ii);N(this,{provider:e,address:t,name:n}),h(this,ps,null),h(this,Ii,new dt(t,["function supportsInterface(bytes4) view returns (bool)","function resolve(bytes, bytes) view returns (bytes)","function addr(bytes32) view returns (address)","function addr(bytes32, uint) view returns (bytes)","function text(bytes32, string) view returns (string)","function contenthash(bytes32) view returns (bytes)"],e))}async supportsWildcard(){return f(this,ps)==null&&h(this,ps,(async()=>{try{return await f(this,Ii).supportsInterface("0x9061b923")}catch(e){if(se(e,"CALL_EXCEPTION"))return!1;throw h(this,ps,null),e}})()),await f(this,ps)}async getAddress(e){if(e==null&&(e=60),e===60)try{let i=await S(this,xs,wa).call(this,"addr(bytes32)");return i==null||i===fr?null:i}catch(i){if(se(i,"CALL_EXCEPTION"))return null;throw i}if(e>=0&&e<2147483648){let i=e+2147483648,o=await S(this,xs,wa).call(this,"addr(bytes32,uint)",[i]);if(V(o,20))return k(o)}let t=null;for(let i of this.provider.plugins)if(i instanceof Ta&&i.supportsCoinType(e)){t=i;break}if(t==null)return null;let n=await S(this,xs,wa).call(this,"addr(bytes32,uint)",[e]);if(n==null||n==="0x")return null;let s=await t.decodeAddress(e,n);if(s!=null)return s;w(!1,"invalid coin data","UNSUPPORTED_OPERATION",{operation:`getAddress(${e})`,info:{coinType:e,data:n}})}async getText(e){let t=await S(this,xs,wa).call(this,"text(bytes32,string)",[e]);return t==null||t==="0x"?null:t}async getContentHash(){let e=await S(this,xs,wa).call(this,"contenthash(bytes32)");if(e==null||e==="0x")return null;let t=e.match(/^0x(e3010170|e5010172)(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(t){let s=t[1]==="e3010170"?"ipfs":"ipns",i=parseInt(t[4],16);if(t[5].length===i*2)return`${s}://${Zs("0x"+t[2])}`}let n=e.match(/^0xe40101fa011b20([0-9a-f]*)$/);if(n&&n[1].length===64)return`bzz://${n[1]}`;w(!1,"invalid or unsupported content hash data","UNSUPPORTED_OPERATION",{operation:"getContentHash()",info:{data:e}})}async getAvatar(){return(await this._getAvatar()).url}async _getAvatar(){let e=[{type:"name",value:this.name}];try{let t=await this.getText("avatar");if(t==null)return e.push({type:"!avatar",value:""}),{url:null,linkage:e};e.push({type:"avatar",value:t});for(let n=0;n<wg.length;n++){let s=t.match(wg[n]);if(s==null)continue;let i=s[1].toLowerCase();switch(i){case"https":case"data":return e.push({type:"url",value:t}),{linkage:e,url:t};case"ipfs":{let o=Pd(t);return e.push({type:"ipfs",value:t}),e.push({type:"url",value:o}),{linkage:e,url:o}}case"erc721":case"erc1155":{let o=i==="erc721"?"tokenURI(uint256)":"uri(uint256)";e.push({type:i,value:t});let a=await this.getAddress();if(a==null)return e.push({type:"!owner",value:""}),{url:null,linkage:e};let c=(s[2]||"").split("/");if(c.length!==2)return e.push({type:`!${i}caip`,value:s[2]||""}),{url:null,linkage:e};let l=c[1],u=new dt(c[0],["function tokenURI(uint) view returns (string)","function ownerOf(uint) view returns (address)","function uri(uint) view returns (string)","function balanceOf(address, uint256) view returns (uint)"],this.provider);if(i==="erc721"){let b=await u.ownerOf(l);if(a!==b)return e.push({type:"!owner",value:b}),{url:null,linkage:e};e.push({type:"owner",value:b})}else if(i==="erc1155"){let b=await u.balanceOf(a,l);if(!b)return e.push({type:"!balance",value:"0"}),{url:null,linkage:e};e.push({type:"balance",value:b.toString()})}let d=await u[o](l);if(d==null||d==="0x")return e.push({type:"!metadata-url",value:""}),{url:null,linkage:e};e.push({type:"metadata-url-base",value:d}),i==="erc1155"&&(d=d.replace("{id}",Me(l,32).substring(2)),e.push({type:"metadata-url-expanded",value:d})),d.match(/^ipfs:/i)&&(d=Pd(d)),e.push({type:"metadata-url",value:d});let x={},m=await new ae(d).send();m.assertOk();try{x=m.bodyJson}catch{try{e.push({type:"!metadata",value:m.bodyText})}catch{let T=m.body;return T&&e.push({type:"!metadata",value:R(T)}),{url:null,linkage:e}}return{url:null,linkage:e}}if(!x)return e.push({type:"!metadata",value:""}),{url:null,linkage:e};e.push({type:"metadata",value:JSON.stringify(x)});let A=x.image;if(typeof A!="string")return e.push({type:"!imageUrl",value:""}),{url:null,linkage:e};if(!A.match(/^(https:\/\/|data:)/i)){if(A.match(Eg)==null)return e.push({type:"!imageUrl-ipfs",value:A}),{url:null,linkage:e};e.push({type:"imageUrl-ipfs",value:A}),A=Pd(A)}return e.push({type:"url",value:A}),{linkage:e,url:A}}}}}catch{}return{linkage:e,url:null}}static async getEnsAddress(e){let t=await e.getNetwork(),n=t.getPlugin("org.ethers.plugins.network.Ens");return w(n,"network does not support ENS","UNSUPPORTED_OPERATION",{operation:"getEnsAddress",info:{network:t}}),n.address}static async fromName(e,t){var s;let n=t;for(;;){if(n===""||n==="."||t!=="eth"&&n==="eth")return null;let i=await S(s=Ea,nu,Tg).call(s,e,n);if(i!=null){let o=new Ea(e,i,t);return n!==t&&!await o.supportsWildcard()?null:o}n=n.split(".").slice(1).join(".")}}};ps=new WeakMap,Ii=new WeakMap,xs=new WeakSet,wa=async function(e,t){t=(t||[]).slice();let n=f(this,Ii).interface;t.unshift(os(this.name));let s=null;await this.supportsWildcard()&&(s=n.getFunction(e),w(s,"missing fragment","UNKNOWN_ERROR",{info:{funcName:e}}),t=[Dc(this.name,255),n.encodeFunctionData(s,t)],e="resolve(bytes,bytes)"),t.push({enableCcipRead:!0});try{let i=await f(this,Ii)[e](...t);return s?n.decodeFunctionResult(s,i)[0]:i}catch(i){if(!se(i,"CALL_EXCEPTION"))throw i}return null},nu=new WeakSet,Tg=async function(e,t){let n=await Ea.getEnsAddress(e);try{let i=await new dt(n,["function resolver(bytes32) view returns (address)"],e).resolver(os(t),{enableCcipRead:!0});return i===fr?null:i}catch(s){throw s}return null},y(Ea,nu);var ms=Ea;var Rg=BigInt(0);function j(r,e){return(function(t){return t==null?e:r(t)})}function Yc(r,e){return(t=>{if(e&&t==null)return null;if(!Array.isArray(t))throw new Error("not an array");return t.map(n=>r(n))})}function Wc(r,e){return(t=>{let n={};for(let s in r){let i=s;if(e&&s in e&&!(i in t)){for(let o of e[s])if(o in t){i=o;break}}try{let o=r[s](t[i]);o!==void 0&&(n[s]=o)}catch(o){let a=o instanceof Error?o.message:"not-an-error";w(!1,`invalid value for value.${s} (${a})`,"BAD_DATA",{value:t})}}return n})}function Mw(r){switch(r){case!0:case"true":return!0;case!1:case"false":return!1}p(!1,`invalid boolean; ${JSON.stringify(r)}`,"value",r)}function Ra(r){return p(V(r,!0),"invalid data","value",r),r}function Ve(r){return p(V(r,32),"invalid hash","value",r),r}var kw=Wc({address:k,blockHash:Ve,blockNumber:M,data:Ra,index:M,removed:j(Mw,!1),topics:Yc(Ve),transactionHash:Ve,transactionIndex:M},{index:["logIndex"]});function Sg(r){return kw(r)}var Jw=Wc({hash:j(Ve),parentHash:Ve,parentBeaconBlockRoot:j(Ve,null),number:M,timestamp:M,nonce:j(Ra),difficulty:B,gasLimit:B,gasUsed:B,stateRoot:j(Ve,null),receiptsRoot:j(Ve,null),blobGasUsed:j(B,null),excessBlobGas:j(B,null),miner:j(k),prevRandao:j(Ve,null),extraData:Ra,baseFeePerGas:j(B)},{prevRandao:["mixHash"]});function Lg(r){let e=Jw(r);return e.transactions=r.transactions.map(t=>typeof t=="string"?t:Ud(t)),e}var Dw=Wc({transactionIndex:M,blockNumber:M,transactionHash:Ve,address:k,topics:Yc(Ve),data:Ra,index:M,blockHash:Ve},{index:["logIndex"]});function Gw(r){return Dw(r)}var _w=Wc({to:j(k,null),from:j(k,null),contractAddress:j(k,null),index:M,root:j(R),gasUsed:B,blobGasUsed:j(B,null),logsBloom:j(Ra),blockHash:Ve,hash:Ve,logs:Yc(Gw),blockNumber:M,cumulativeGasUsed:B,effectiveGasPrice:j(B),blobGasPrice:j(B,null),status:j(M),type:j(M,0)},{effectiveGasPrice:["gasPrice"],hash:["transactionHash"],index:["transactionIndex"]});function Ng(r){return _w(r)}function Ud(r){r.to&&B(r.to)===Rg&&(r.to="0x0000000000000000000000000000000000000000");let e=Wc({hash:Ve,index:j(M,void 0),type:t=>t==="0x"||t==null?0:M(t),accessList:j(Xe,null),blobVersionedHashes:j(Yc(Ve,!0),null),authorizationList:j(Yc(t=>{let n;if(t.signature)n=t.signature;else{let s=t.yParity;s==="0x1b"?s=0:s==="0x1c"&&(s=1),n=Object.assign({},t,{yParity:s})}return{address:k(t.address),chainId:B(t.chainId),nonce:B(t.nonce),signature:ve.from(n)}},!1),null),blockHash:j(Ve,null),blockNumber:j(M,null),transactionIndex:j(M,null),from:k,gasPrice:j(B),maxPriorityFeePerGas:j(B),maxFeePerGas:j(B),maxFeePerBlobGas:j(B,null),gasLimit:B,to:j(k,null),value:B,nonce:M,data:Ra,creates:j(k,null),chainId:j(B,null)},{data:["input"],gasLimit:["gas"],index:["transactionIndex"]})(r);if(e.to==null&&e.creates==null&&(e.creates=pi(e)),(r.type===1||r.type===2)&&r.accessList==null&&(e.accessList=[]),r.signature?e.signature=ve.from(r.signature):e.signature=ve.from(r),e.chainId==null){let t=e.signature.legacyChainId;t!=null&&(e.chainId=t)}return e.blockHash&&B(e.blockHash)===Rg&&(e.blockHash=null),e}var Xw="0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",Ar=class r{constructor(e){g(this,"name");N(this,{name:e})}clone(){return new r(this.name)}},gs=class r extends Ar{constructor(t,n){t==null&&(t=0);super(`org.ethers.network.plugins.GasCost#${t||0}`);g(this,"effectiveBlock");g(this,"txBase");g(this,"txCreate");g(this,"txDataZero");g(this,"txDataNonzero");g(this,"txAccessListStorageKey");g(this,"txAccessListAddress");let s={effectiveBlock:t};function i(o,a){let c=(n||{})[o];c==null&&(c=a),p(typeof c=="number",`invalud value for ${o}`,"costs",n),s[o]=c}i("txBase",21e3),i("txCreate",32e3),i("txDataZero",4),i("txDataNonzero",16),i("txAccessListStorageKey",1900),i("txAccessListAddress",2400),N(this,s)}clone(){return new r(this.effectiveBlock,this)}},bs=class r extends Ar{constructor(t,n){super("org.ethers.plugins.network.Ens");g(this,"address");g(this,"targetNetwork");N(this,{address:t||Xw,targetNetwork:n??1})}clone(){return new r(this.address,this.targetNetwork)}},Oi,Fd=class Fd extends Ar{constructor(t){super("org.ethers.plugins.network.FeeData");y(this,Oi);h(this,Oi,t)}get feeDataFunc(){return f(this,Oi)}async getFeeData(t){return await f(this,Oi).call(this,t)}clone(){return new Fd(f(this,Oi))}};Oi=new WeakMap;var jc=Fd,qc,el,Ci=class extends Ar{constructor(t,n){super("org.ethers.plugins.network.FetchUrlFeeDataPlugin");y(this,qc);y(this,el);h(this,qc,t),h(this,el,n)}get url(){return f(this,qc)}get processFunc(){return f(this,el)}clone(){return this}};qc=new WeakMap,el=new WeakMap;var Md=new Map,La,Na,ys,Sa=class Sa{constructor(e,t){y(this,La);y(this,Na);y(this,ys);h(this,La,e),h(this,Na,B(t)),h(this,ys,new Map)}toJSON(){return{name:this.name,chainId:String(this.chainId)}}get name(){return f(this,La)}set name(e){h(this,La,e)}get chainId(){return f(this,Na)}set chainId(e){h(this,Na,B(e,"chainId"))}matches(e){if(e==null)return!1;if(typeof e=="string"){try{return this.chainId===B(e)}catch{}return this.name===e}if(typeof e=="number"||typeof e=="bigint"){try{return this.chainId===B(e)}catch{}return!1}if(typeof e=="object"){if(e.chainId!=null){try{return this.chainId===B(e.chainId)}catch{}return!1}return e.name!=null?this.name===e.name:!1}return!1}get plugins(){return Array.from(f(this,ys).values())}attachPlugin(e){if(f(this,ys).get(e.name))throw new Error(`cannot replace existing plugin: ${e.name} `);return f(this,ys).set(e.name,e.clone()),this}getPlugin(e){return f(this,ys).get(e)||null}getPlugins(e){return this.plugins.filter(t=>t.name.split("#")[0]===e)}clone(){let e=new Sa(this.name,this.chainId);return this.plugins.forEach(t=>{e.attachPlugin(t.clone())}),e}computeIntrinsicGas(e){let t=this.getPlugin("org.ethers.plugins.network.GasCost")||new gs,n=t.txBase;if(e.to==null&&(n+=t.txCreate),e.data)for(let s=2;s<e.data.length;s+=2)e.data.substring(s,s+2)==="00"?n+=t.txDataZero:n+=t.txDataNonzero;if(e.accessList){let s=Xe(e.accessList);for(let i in s)n+=t.txAccessListAddress+t.txAccessListStorageKey*s[i].storageKeys.length}return n}static from(e){if(Hw(),e==null)return Sa.from("mainnet");if(typeof e=="number"&&(e=BigInt(e)),typeof e=="string"||typeof e=="bigint"){let t=Md.get(e);if(t)return t();if(typeof e=="bigint")return new Sa("unknown",e);p(!1,"unknown network","network",e)}if(typeof e.clone=="function")return e.clone();if(typeof e=="object"){p(typeof e.name=="string"&&typeof e.chainId=="number","invalid network object name or chainId","network",e);let t=new Sa(e.name,e.chainId);return(e.ensAddress||e.ensNetwork!=null)&&t.attachPlugin(new bs(e.ensAddress,e.ensNetwork)),t}p(!1,"invalid network","network",e)}static register(e,t){typeof e=="number"&&(e=BigInt(e));let n=Md.get(e);n&&p(!1,`conflicting network for ${JSON.stringify(n.name)}`,"nameOrChainId",e),Md.set(e,t)}};La=new WeakMap,Na=new WeakMap,ys=new WeakMap;var $=Sa;function vg(r,e){let t=String(r);if(!t.match(/^[0-9.]+$/))throw new Error(`invalid gwei value: ${r}`);let n=t.split(".");if(n.length===1&&n.push(""),n.length!==2)throw new Error(`invalid gwei value: ${r}`);for(;n[1].length<e;)n[1]+="0";if(n[1].length>9){let s=BigInt(n[1].substring(0,9));n[1].substring(9).match(/^0+$/)||s++,n[1]=s.toString()}return BigInt(n[0]+n[1])}function Bg(r){return new Ci(r,async(e,t,n)=>{n.setHeader("User-Agent","ethers");let s;try{let[i,o]=await Promise.all([n.send(),e()]);s=i;let a=s.bodyJson.standard;return{gasPrice:o.gasPrice,maxFeePerGas:vg(a.maxFee,9),maxPriorityFeePerGas:vg(a.maxPriorityFee,9)}}catch(i){w(!1,`error encountered with polygon gas station (${JSON.stringify(n.url)})`,"SERVER_ERROR",{request:n,response:s,error:i})}})}var Ig=!1;function Hw(){if(Ig)return;Ig=!0;function r(e,t,n){let s=function(){let i=new $(e,t);return n.ensNetwork!=null&&i.attachPlugin(new bs(null,n.ensNetwork)),i.attachPlugin(new gs),(n.plugins||[]).forEach(o=>{i.attachPlugin(o)}),i};$.register(e,s),$.register(t,s),n.altNames&&n.altNames.forEach(i=>{$.register(i,s)})}r("mainnet",1,{ensNetwork:1,altNames:["homestead"]}),r("ropsten",3,{ensNetwork:3}),r("rinkeby",4,{ensNetwork:4}),r("goerli",5,{ensNetwork:5}),r("kovan",42,{ensNetwork:42}),r("sepolia",11155111,{ensNetwork:11155111}),r("holesky",17e3,{ensNetwork:17e3}),r("classic",61,{}),r("classicKotti",6,{}),r("arbitrum",42161,{ensNetwork:1}),r("arbitrum-goerli",421613,{}),r("arbitrum-sepolia",421614,{}),r("base",8453,{ensNetwork:1}),r("base-goerli",84531,{}),r("base-sepolia",84532,{}),r("bnb",56,{ensNetwork:1}),r("bnbt",97,{}),r("linea",59144,{ensNetwork:1}),r("linea-goerli",59140,{}),r("linea-sepolia",59141,{}),r("matic",137,{ensNetwork:1,plugins:[Bg("https://gasstation.polygon.technology/v2")]}),r("matic-amoy",80002,{}),r("matic-mumbai",80001,{altNames:["maticMumbai","maticmum"],plugins:[Bg("https://gasstation-testnet.polygon.technology/v2")]}),r("optimism",10,{ensNetwork:1,plugins:[]}),r("optimism-goerli",420,{}),r("optimism-sepolia",11155420,{}),r("xdai",100,{ensNetwork:1})}function kd(r){return JSON.parse(JSON.stringify(r))}var Nn,Jt,As,Hr,va,su,iu=class{constructor(e){y(this,va);y(this,Nn);y(this,Jt);y(this,As);y(this,Hr);h(this,Nn,e),h(this,Jt,null),h(this,As,4e3),h(this,Hr,-2)}get pollingInterval(){return f(this,As)}set pollingInterval(e){h(this,As,e)}start(){f(this,Jt)||(h(this,Jt,f(this,Nn)._setTimeout(S(this,va,su).bind(this),f(this,As))),S(this,va,su).call(this))}stop(){f(this,Jt)&&(f(this,Nn)._clearTimeout(f(this,Jt)),h(this,Jt,null))}pause(e){this.stop(),e&&h(this,Hr,-2)}resume(){this.start()}};Nn=new WeakMap,Jt=new WeakMap,As=new WeakMap,Hr=new WeakMap,va=new WeakSet,su=async function(){try{let e=await f(this,Nn).getBlockNumber();if(f(this,Hr)===-2){h(this,Hr,e);return}if(e!==f(this,Hr)){for(let t=f(this,Hr)+1;t<=e;t++){if(f(this,Jt)==null)return;await f(this,Nn).emit("block",t)}h(this,Hr,e)}}catch{}f(this,Jt)!=null&&h(this,Jt,f(this,Nn)._setTimeout(S(this,va,su).bind(this),f(this,As)))};var Pi,Ui,ws,tl=class{constructor(e){y(this,Pi);y(this,Ui);y(this,ws);h(this,Pi,e),h(this,ws,!1),h(this,Ui,t=>{this._poll(t,f(this,Pi))})}async _poll(e,t){throw new Error("sub-classes must override this")}start(){f(this,ws)||(h(this,ws,!0),f(this,Ui).call(this,-2),f(this,Pi).on("block",f(this,Ui)))}stop(){f(this,ws)&&(h(this,ws,!1),f(this,Pi).off("block",f(this,Ui)))}pause(e){this.stop()}resume(){this.start()}};Pi=new WeakMap,Ui=new WeakMap,ws=new WeakMap;var Ba,vn,ou=class extends tl{constructor(t,n){super(t);y(this,Ba);y(this,vn);h(this,Ba,n),h(this,vn,-2)}pause(t){t&&h(this,vn,-2),super.pause(t)}async _poll(t,n){let s=await n.getBlock(f(this,Ba));s!=null&&(f(this,vn)===-2?h(this,vn,s.number):s.number>f(this,vn)&&(n.emit(f(this,Ba),s.number),h(this,vn,s.number)))}};Ba=new WeakMap,vn=new WeakMap;var rl,au=class extends tl{constructor(t,n){super(t);y(this,rl);h(this,rl,kd(n))}async _poll(t,n){throw new Error("@TODO")}};rl=new WeakMap;var Ia,cu=class extends tl{constructor(t,n){super(t);y(this,Ia);h(this,Ia,n)}async _poll(t,n){let s=await n.getTransactionReceipt(f(this,Ia));s&&n.emit(f(this,Ia),s)}};Ia=new WeakMap;var Bn,Oa,Ca,Es,Dt,lu,Og,Ts=class{constructor(e,t){y(this,lu);y(this,Bn);y(this,Oa);y(this,Ca);y(this,Es);y(this,Dt);h(this,Bn,e),h(this,Oa,kd(t)),h(this,Ca,S(this,lu,Og).bind(this)),h(this,Es,!1),h(this,Dt,-2)}start(){f(this,Es)||(h(this,Es,!0),f(this,Dt)===-2&&f(this,Bn).getBlockNumber().then(e=>{h(this,Dt,e)}),f(this,Bn).on("block",f(this,Ca)))}stop(){f(this,Es)&&(h(this,Es,!1),f(this,Bn).off("block",f(this,Ca)))}pause(e){this.stop(),e&&h(this,Dt,-2)}resume(){this.start()}};Bn=new WeakMap,Oa=new WeakMap,Ca=new WeakMap,Es=new WeakMap,Dt=new WeakMap,lu=new WeakSet,Og=async function(e){if(f(this,Dt)===-2)return;let t=kd(f(this,Oa));t.fromBlock=f(this,Dt)+1,t.toBlock=e;let n=await f(this,Bn).getLogs(t);if(n.length===0){f(this,Dt)<e-60&&h(this,Dt,e-60);return}for(let s of n)f(this,Bn).emit(f(this,Oa),s),h(this,Dt,s.blockNumber)};var Vw=BigInt(2),Qw=10;function fu(r){return r&&typeof r.then=="function"}function uu(r,e){return r+":"+JSON.stringify(e,(t,n)=>{if(n==null)return"null";if(typeof n=="bigint")return`bigint:${n.toString()}`;if(typeof n=="string")return n.toLowerCase();if(typeof n=="object"&&!Array.isArray(n)){let s=Object.keys(n);return s.sort(),s.reduce((i,o)=>(i[o]=n[o],i),{})}return n})}var wr=class{constructor(e){g(this,"name");N(this,{name:e})}start(){}stop(){}pause(e){}resume(){}};function Zw(r){return JSON.parse(JSON.stringify(r))}function Gd(r){return r=Array.from(new Set(r).values()),r.sort(),r}async function Jd(r,e){if(r==null)throw new Error("invalid event");if(Array.isArray(r)&&(r={topics:r}),typeof r=="string")switch(r){case"block":case"debug":case"error":case"finalized":case"network":case"pending":case"safe":return{type:r,tag:r}}if(V(r,32)){let t=r.toLowerCase();return{type:"transaction",tag:uu("tx",{hash:t}),hash:t}}if(r.orphan){let t=r;return{type:"orphan",tag:uu("orphan",t),filter:Zw(t)}}if(r.address||r.topics){let t=r,n={topics:(t.topics||[]).map(s=>s==null?null:Array.isArray(s)?Gd(s.map(i=>i.toLowerCase())):s.toLowerCase())};if(t.address){let s=[],i=[],o=a=>{V(a)?s.push(a):i.push((async()=>{s.push(await xe(a,e))})())};Array.isArray(t.address)?t.address.forEach(o):o(t.address),i.length&&await Promise.all(i),n.address=Gd(s.map(a=>a.toLowerCase()))}return{filter:n,tag:uu("event",n),type:"event"}}p(!1,"unknown ProviderEvent","event",r)}function Dd(){return new Date().getTime()}var zw={cacheTimeout:250,pollingInterval:4e3},qe,Rs,et,Pa,vt,Fi,Ss,In,il,Gt,Ua,Fa,z,Nt,_d,Xd,nl,Hd,sl,du,_t=class{constructor(e,t){y(this,z);y(this,qe);y(this,Rs);y(this,et);y(this,Pa);y(this,vt);y(this,Fi);y(this,Ss);y(this,In);y(this,il);y(this,Gt);y(this,Ua);y(this,Fa);if(h(this,Fa,Object.assign({},zw,t||{})),e==="any")h(this,Fi,!0),h(this,vt,null);else if(e){let n=$.from(e);h(this,Fi,!1),h(this,vt,Promise.resolve(n)),setTimeout(()=>{this.emit("network",n,null)},0)}else h(this,Fi,!1),h(this,vt,null);h(this,In,-1),h(this,Ss,new Map),h(this,qe,new Map),h(this,Rs,new Map),h(this,et,null),h(this,Pa,!1),h(this,il,1),h(this,Gt,new Map),h(this,Ua,!1)}get pollingInterval(){return f(this,Fa).pollingInterval}get provider(){return this}get plugins(){return Array.from(f(this,Rs).values())}attachPlugin(e){if(f(this,Rs).get(e.name))throw new Error(`cannot replace existing plugin: ${e.name} `);return f(this,Rs).set(e.name,e.connect(this)),this}getPlugin(e){return f(this,Rs).get(e)||null}get disableCcipRead(){return f(this,Ua)}set disableCcipRead(e){h(this,Ua,!!e)}async ccipReadFetch(e,t,n){if(this.disableCcipRead||n.length===0||e.to==null)return null;let s=e.to.toLowerCase(),i=t.toLowerCase(),o=[];for(let a=0;a<n.length;a++){let c=n[a],l=c.replace("{sender}",s).replace("{data}",i),u=new ae(l);c.indexOf("{data}")===-1&&(u.body={data:i,sender:s}),this.emit("debug",{action:"sendCcipReadFetchRequest",request:u,index:a,urls:n});let d="unknown error",x;try{x=await u.send()}catch(m){o.push(m.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:u,result:{error:m}});continue}try{let m=x.bodyJson;if(m.data)return this.emit("debug",{action:"receiveCcipReadFetchResult",request:u,result:m}),m.data;m.message&&(d=m.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:u,result:m})}catch{}w(x.statusCode<400||x.statusCode>=500,`response not found during CCIP fetch: ${d}`,"OFFCHAIN_FAULT",{reason:"404_MISSING_RESOURCE",transaction:e,info:{url:c,errorMessage:d}}),o.push(d)}w(!1,`error encountered during CCIP fetch: ${o.map(a=>JSON.stringify(a)).join(", ")}`,"OFFCHAIN_FAULT",{reason:"500_SERVER_ERROR",transaction:e,info:{urls:n,errorMessages:o}})}_wrapBlock(e,t){return new Li(Lg(e),this)}_wrapLog(e,t){return new St(Sg(e),this)}_wrapTransactionReceipt(e,t){return new Tn(Ng(e),this)}_wrapTransactionResponse(e,t){return new Xr(Ud(e),this)}_detectNetwork(){w(!1,"sub-classes must implement this","UNSUPPORTED_OPERATION",{operation:"_detectNetwork"})}async _perform(e){w(!1,`unsupported method: ${e.method}`,"UNSUPPORTED_OPERATION",{operation:e.method,info:e})}async getBlockNumber(){let e=M(await S(this,z,Nt).call(this,{method:"getBlockNumber"}),"%response");return f(this,In)>=0&&h(this,In,e),e}_getAddress(e){return xe(e,this)}_getBlockTag(e){if(e==null)return"latest";switch(e){case"earliest":return"0x0";case"finalized":case"latest":case"pending":case"safe":return e}if(V(e))return V(e,32)?e:Ue(e);if(typeof e=="bigint"&&(e=M(e,"blockTag")),typeof e=="number")return e>=0?Ue(e):f(this,In)>=0?Ue(f(this,In)+e):this.getBlockNumber().then(t=>Ue(t+e));p(!1,"invalid blockTag","blockTag",e)}_getFilter(e){let t=(e.topics||[]).map(c=>c==null?null:Array.isArray(c)?Gd(c.map(l=>l.toLowerCase())):c.toLowerCase()),n="blockHash"in e?e.blockHash:void 0,s=(c,l,u)=>{let d;switch(c.length){case 0:break;case 1:d=c[0];break;default:c.sort(),d=c}if(n&&(l!=null||u!=null))throw new Error("invalid filter");let x={};return d&&(x.address=d),t.length&&(x.topics=t),l&&(x.fromBlock=l),u&&(x.toBlock=u),n&&(x.blockHash=n),x},i=[];if(e.address)if(Array.isArray(e.address))for(let c of e.address)i.push(this._getAddress(c));else i.push(this._getAddress(e.address));let o;"fromBlock"in e&&(o=this._getBlockTag(e.fromBlock));let a;return"toBlock"in e&&(a=this._getBlockTag(e.toBlock)),i.filter(c=>typeof c!="string").length||o!=null&&typeof o!="string"||a!=null&&typeof a!="string"?Promise.all([Promise.all(i),o,a]).then(c=>s(c[0],c[1],c[2])):s(i,o,a)}_getTransactionRequest(e){let t=kt(e),n=[];if(["to","from"].forEach(s=>{if(t[s]==null)return;let i=xe(t[s],this);fu(i)?n.push((async function(){t[s]=await i})()):t[s]=i}),t.blockTag!=null){let s=this._getBlockTag(t.blockTag);fu(s)?n.push((async function(){t.blockTag=await s})()):t.blockTag=s}return n.length?(async function(){return await Promise.all(n),t})():t}async getNetwork(){if(f(this,vt)==null){let s=(async()=>{try{let i=await this._detectNetwork();return this.emit("network",i,null),i}catch(i){throw f(this,vt)===s&&h(this,vt,null),i}})();return h(this,vt,s),(await s).clone()}let e=f(this,vt),[t,n]=await Promise.all([e,this._detectNetwork()]);return t.chainId!==n.chainId&&(f(this,Fi)?(this.emit("network",n,t),f(this,vt)===e&&h(this,vt,Promise.resolve(n))):w(!1,`network changed: ${t.chainId} => ${n.chainId} `,"NETWORK_ERROR",{event:"changed"})),t.clone()}async getFeeData(){let e=await this.getNetwork(),t=async()=>{let{_block:s,gasPrice:i,priorityFee:o}=await he({_block:S(this,z,Hd).call(this,"latest",!1),gasPrice:(async()=>{try{let u=await S(this,z,Nt).call(this,{method:"getGasPrice"});return B(u,"%response")}catch{}return null})(),priorityFee:(async()=>{try{let u=await S(this,z,Nt).call(this,{method:"getPriorityFee"});return B(u,"%response")}catch{}return null})()}),a=null,c=null,l=this._wrapBlock(s,e);return l&&l.baseFeePerGas&&(c=o??BigInt("1000000000"),a=l.baseFeePerGas*Vw+c),new us(i,a,c)},n=e.getPlugin("org.ethers.plugins.network.FetchUrlFeeDataPlugin");if(n){let s=new ae(n.url),i=await n.processFunc(t,this,s);return new us(i.gasPrice,i.maxFeePerGas,i.maxPriorityFeePerGas)}return await t()}async estimateGas(e){let t=this._getTransactionRequest(e);return fu(t)&&(t=await t),B(await S(this,z,Nt).call(this,{method:"estimateGas",transaction:t}),"%response")}async call(e){let{tx:t,blockTag:n}=await he({tx:this._getTransactionRequest(e),blockTag:this._getBlockTag(e.blockTag)});return await S(this,z,Xd).call(this,S(this,z,_d).call(this,t,n,e.enableCcipRead?0:-1))}async getBalance(e,t){return B(await S(this,z,nl).call(this,{method:"getBalance"},e,t),"%response")}async getTransactionCount(e,t){return M(await S(this,z,nl).call(this,{method:"getTransactionCount"},e,t),"%response")}async getCode(e,t){return R(await S(this,z,nl).call(this,{method:"getCode"},e,t))}async getStorage(e,t,n){let s=B(t,"position");return R(await S(this,z,nl).call(this,{method:"getStorage",position:s},e,n))}async broadcastTransaction(e){let{blockNumber:t,hash:n,network:s}=await he({blockNumber:this.getBlockNumber(),hash:this._perform({method:"broadcastTransaction",signedTransaction:e}),network:this.getNetwork()}),i=Rt.from(e);if(i.hash!==n)throw new Error("@TODO: the returned hash did not match");return this._wrapTransactionResponse(i,s).replaceableTransaction(t)}async getBlock(e,t){let{network:n,params:s}=await he({network:this.getNetwork(),params:S(this,z,Hd).call(this,e,!!t)});return s==null?null:this._wrapBlock(s,n)}async getTransaction(e){let{network:t,params:n}=await he({network:this.getNetwork(),params:S(this,z,Nt).call(this,{method:"getTransaction",hash:e})});return n==null?null:this._wrapTransactionResponse(n,t)}async getTransactionReceipt(e){let{network:t,params:n}=await he({network:this.getNetwork(),params:S(this,z,Nt).call(this,{method:"getTransactionReceipt",hash:e})});if(n==null)return null;if(n.gasPrice==null&&n.effectiveGasPrice==null){let s=await S(this,z,Nt).call(this,{method:"getTransaction",hash:e});if(s==null)throw new Error("report this; could not find tx or effectiveGasPrice");n.effectiveGasPrice=s.gasPrice}return this._wrapTransactionReceipt(n,t)}async getTransactionResult(e){let{result:t}=await he({network:this.getNetwork(),result:S(this,z,Nt).call(this,{method:"getTransactionResult",hash:e})});return t==null?null:R(t)}async getLogs(e){let t=this._getFilter(e);fu(t)&&(t=await t);let{network:n,params:s}=await he({network:this.getNetwork(),params:S(this,z,Nt).call(this,{method:"getLogs",filter:t})});return s.map(i=>this._wrapLog(i,n))}_getProvider(e){w(!1,"provider cannot connect to target network","UNSUPPORTED_OPERATION",{operation:"_getProvider()"})}async getResolver(e){return await ms.fromName(this,e)}async getAvatar(e){let t=await this.getResolver(e);return t?await t.getAvatar():null}async resolveName(e){let t=await this.getResolver(e);return t?await t.getAddress():null}async lookupAddress(e){e=k(e);let t=os(e.substring(2).toLowerCase()+".addr.reverse");try{let n=await ms.getEnsAddress(this),i=await new dt(n,["function resolver(bytes32) view returns (address)"],this).resolver(t);if(i==null||i===fr)return null;let a=await new dt(i,["function name(bytes32) view returns (string)"],this).name(t);return await this.resolveName(a)!==e?null:a}catch(n){if(se(n,"BAD_DATA")&&n.value==="0x"||se(n,"CALL_EXCEPTION"))return null;throw n}return null}async waitForTransaction(e,t,n){let s=t??1;return s===0?this.getTransactionReceipt(e):new Promise(async(i,o)=>{let a=null,c=(async l=>{try{let u=await this.getTransactionReceipt(e);if(u!=null&&l-u.blockNumber+1>=s){i(u),a&&(clearTimeout(a),a=null);return}}catch(u){console.log("EEE",u)}this.once("block",c)});n!=null&&(a=setTimeout(()=>{a!=null&&(a=null,this.off("block",c),o(Z("timeout","TIMEOUT",{reason:"timeout"})))},n)),c(await this.getBlockNumber())})}async waitForBlock(e){w(!1,"not implemented yet","NOT_IMPLEMENTED",{operation:"waitForBlock"})}_clearTimeout(e){let t=f(this,Gt).get(e);t&&(t.timer&&clearTimeout(t.timer),f(this,Gt).delete(e))}_setTimeout(e,t){t==null&&(t=0);let n=qr(this,il)._++,s=()=>{f(this,Gt).delete(n),e()};if(this.paused)f(this,Gt).set(n,{timer:null,func:s,time:t});else{let i=setTimeout(s,t);f(this,Gt).set(n,{timer:i,func:s,time:Dd()})}return n}_forEachSubscriber(e){for(let t of f(this,qe).values())e(t.subscriber)}_getSubscriber(e){switch(e.type){case"debug":case"error":case"network":return new wr(e.type);case"block":{let t=new iu(this);return t.pollingInterval=this.pollingInterval,t}case"safe":case"finalized":return new ou(this,e.type);case"event":return new Ts(this,e.filter);case"transaction":return new cu(this,e.hash);case"orphan":return new au(this,e.filter)}throw new Error(`unsupported event: ${e.type}`)}_recoverSubscriber(e,t){for(let n of f(this,qe).values())if(n.subscriber===e){n.started&&n.subscriber.stop(),n.subscriber=t,n.started&&t.start(),f(this,et)!=null&&t.pause(f(this,et));break}}async on(e,t){let n=await S(this,z,du).call(this,e);return n.listeners.push({listener:t,once:!1}),n.started||(n.subscriber.start(),n.started=!0,f(this,et)!=null&&n.subscriber.pause(f(this,et))),this}async once(e,t){let n=await S(this,z,du).call(this,e);return n.listeners.push({listener:t,once:!0}),n.started||(n.subscriber.start(),n.started=!0,f(this,et)!=null&&n.subscriber.pause(f(this,et))),this}async emit(e,...t){let n=await S(this,z,sl).call(this,e,t);if(!n||n.listeners.length===0)return!1;let s=n.listeners.length;return n.listeners=n.listeners.filter(({listener:i,once:o})=>{let a=new on(this,o?null:i,e);try{i.call(this,...t,a)}catch{}return!o}),n.listeners.length===0&&(n.started&&n.subscriber.stop(),f(this,qe).delete(n.tag)),s>0}async listenerCount(e){if(e){let n=await S(this,z,sl).call(this,e);return n?n.listeners.length:0}let t=0;for(let{listeners:n}of f(this,qe).values())t+=n.length;return t}async listeners(e){if(e){let n=await S(this,z,sl).call(this,e);return n?n.listeners.map(({listener:s})=>s):[]}let t=[];for(let{listeners:n}of f(this,qe).values())t=t.concat(n.map(({listener:s})=>s));return t}async off(e,t){let n=await S(this,z,sl).call(this,e);if(!n)return this;if(t){let s=n.listeners.map(({listener:i})=>i).indexOf(t);s>=0&&n.listeners.splice(s,1)}return(!t||n.listeners.length===0)&&(n.started&&n.subscriber.stop(),f(this,qe).delete(n.tag)),this}async removeAllListeners(e){if(e){let{tag:t,started:n,subscriber:s}=await S(this,z,du).call(this,e);n&&s.stop(),f(this,qe).delete(t)}else for(let[t,{started:n,subscriber:s}]of f(this,qe))n&&s.stop(),f(this,qe).delete(t);return this}async addListener(e,t){return await this.on(e,t)}async removeListener(e,t){return this.off(e,t)}get destroyed(){return f(this,Pa)}destroy(){this.removeAllListeners();for(let e of f(this,Gt).keys())this._clearTimeout(e);h(this,Pa,!0)}get paused(){return f(this,et)!=null}set paused(e){!!e!==this.paused&&(this.paused?this.resume():this.pause(!1))}pause(e){if(h(this,In,-1),f(this,et)!=null){if(f(this,et)==!!e)return;w(!1,"cannot change pause type; resume first","UNSUPPORTED_OPERATION",{operation:"pause"})}this._forEachSubscriber(t=>t.pause(e)),h(this,et,!!e);for(let t of f(this,Gt).values())t.timer&&clearTimeout(t.timer),t.time=Dd()-t.time}resume(){if(f(this,et)!=null){this._forEachSubscriber(e=>e.resume()),h(this,et,null);for(let e of f(this,Gt).values()){let t=e.time;t<0&&(t=0),e.time=Dd(),setTimeout(e.func,t)}}}};qe=new WeakMap,Rs=new WeakMap,et=new WeakMap,Pa=new WeakMap,vt=new WeakMap,Fi=new WeakMap,Ss=new WeakMap,In=new WeakMap,il=new WeakMap,Gt=new WeakMap,Ua=new WeakMap,Fa=new WeakMap,z=new WeakSet,Nt=async function(e){let t=f(this,Fa).cacheTimeout;if(t<0)return await this._perform(e);let n=uu(e.method,e),s=f(this,Ss).get(n);return s||(s=this._perform(e),f(this,Ss).set(n,s),setTimeout(()=>{f(this,Ss).get(n)===s&&f(this,Ss).delete(n)},t)),await s},_d=async function(e,t,n){w(n<Qw,"CCIP read exceeded maximum redirections","OFFCHAIN_FAULT",{reason:"TOO_MANY_REDIRECTS",transaction:Object.assign({},e,{blockTag:t,enableCcipRead:!0})});let s=kt(e);try{return R(await this._perform({method:"call",transaction:s,blockTag:t}))}catch(i){if(!this.disableCcipRead&&Zn(i)&&i.data&&n>=0&&t==="latest"&&s.to!=null&&ee(i.data,0,4)==="0x556f1830"){let o=i.data,a=await xe(s.to,this),c;try{c=jw(ee(i.data,4))}catch(d){w(!1,d.message,"OFFCHAIN_FAULT",{reason:"BAD_DATA",transaction:s,info:{data:o}})}w(c.sender.toLowerCase()===a.toLowerCase(),"CCIP Read sender mismatch","CALL_EXCEPTION",{action:"call",data:o,reason:"OffchainLookup",transaction:s,invocation:null,revert:{signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",name:"OffchainLookup",args:c.errorArgs}});let l=await this.ccipReadFetch(s,c.calldata,c.urls);w(l!=null,"CCIP Read failed to fetch data","OFFCHAIN_FAULT",{reason:"FETCH_FAILED",transaction:s,info:{data:i.data,errorArgs:c.errorArgs}});let u={to:a,data:_([c.selector,Ww([l,c.extraData])])};this.emit("debug",{action:"sendCcipReadCall",transaction:u});try{let d=await S(this,z,_d).call(this,u,t,n+1);return this.emit("debug",{action:"receiveCcipReadCallResult",transaction:Object.assign({},u),result:d}),d}catch(d){throw this.emit("debug",{action:"receiveCcipReadCallError",transaction:Object.assign({},u),error:d}),d}}throw i}},Xd=async function(e){let{value:t}=await he({network:this.getNetwork(),value:e});return t},nl=async function(e,t,n){let s=this._getAddress(t),i=this._getBlockTag(n);return(typeof s!="string"||typeof i!="string")&&([s,i]=await Promise.all([s,i])),await S(this,z,Xd).call(this,S(this,z,Nt).call(this,Object.assign(e,{address:s,blockTag:i})))},Hd=async function(e,t){if(V(e,32))return await S(this,z,Nt).call(this,{method:"getBlock",blockHash:e,includeTransactions:t});let n=this._getBlockTag(e);return typeof n!="string"&&(n=await n),await S(this,z,Nt).call(this,{method:"getBlock",blockTag:n,includeTransactions:t})},sl=async function(e,t){let n=await Jd(e,this);return n.type==="event"&&t&&t.length>0&&t[0].removed===!0&&(n=await Jd({orphan:"drop-log",log:t[0]},this)),f(this,qe).get(n.tag)||null},du=async function(e){let t=await Jd(e,this),n=t.tag,s=f(this,qe).get(n);return s||(s={subscriber:this._getSubscriber(t),tag:n,addressableMap:new WeakMap,nameMap:new Map,started:!1,listeners:[]},f(this,qe).set(n,s)),s};function Kw(r,e){try{let t=Vd(r,e);if(t)return Le(t)}catch{}return null}function Vd(r,e){if(r==="0x")return null;try{let t=M(ee(r,e,e+32)),n=M(ee(r,t,t+32));return ee(r,t+32,t+32+n)}catch{}return null}function Cg(r){let e=te(r);if(e.length>32)throw new Error("internal; should not happen");let t=new Uint8Array(32);return t.set(e,32-e.length),t}function $w(r){if(r.length%32===0)return r;let e=new Uint8Array(Math.ceil(r.length/32)*32);return e.set(r),e}var Yw=new Uint8Array([]);function Ww(r){let e=[],t=0;for(let n=0;n<r.length;n++)e.push(Yw),t+=32;for(let n=0;n<r.length;n++){let s=L(r[n]);e[n]=Cg(t),e.push(Cg(s.length)),e.push($w(s)),t+=32+Math.ceil(s.length/32)*32}return _(e)}var Pg="0x0000000000000000000000000000000000000000000000000000000000000000";function jw(r){let e={sender:"",urls:[],calldata:"",selector:"",extraData:"",errorArgs:[]};w(lt(r)>=160,"insufficient OffchainLookup data","OFFCHAIN_FAULT",{reason:"insufficient OffchainLookup data"});let t=ee(r,0,32);w(ee(t,0,12)===ee(Pg,0,12),"corrupt OffchainLookup sender","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup sender"}),e.sender=ee(t,12);try{let n=[],s=M(ee(r,32,64)),i=M(ee(r,s,s+32)),o=ee(r,s+32);for(let a=0;a<i;a++){let c=Kw(o,a*32);if(c==null)throw new Error("abort");n.push(c)}e.urls=n}catch{w(!1,"corrupt OffchainLookup urls","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup urls"})}try{let n=Vd(r,64);if(n==null)throw new Error("abort");e.calldata=n}catch{w(!1,"corrupt OffchainLookup calldata","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup calldata"})}w(ee(r,100,128)===ee(Pg,0,28),"corrupt OffchainLookup callbaackSelector","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup callbaackSelector"}),e.selector=ee(r,96,100);try{let n=Vd(r,128);if(n==null)throw new Error("abort");e.extraData=n}catch{w(!1,"corrupt OffchainLookup extraData","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup extraData"})}return e.errorArgs="sender,urls,calldata,selector,extraData".split(/,/).map(n=>e[n]),e}function Mi(r,e){if(r.provider)return r.provider;w(!1,"missing provider","UNSUPPORTED_OPERATION",{operation:e})}async function Ug(r,e){let t=kt(e);if(t.to!=null&&(t.to=xe(t.to,r)),t.from!=null){let n=t.from;t.from=Promise.all([r.getAddress(),xe(n,r)]).then(([s,i])=>(p(s.toLowerCase()===i.toLowerCase(),"transaction from mismatch","tx.from",i),s))}else t.from=r.getAddress();return await he(t)}var Xt=class{constructor(e){g(this,"provider");N(this,{provider:e||null})}async getNonce(e){return Mi(this,"getTransactionCount").getTransactionCount(await this.getAddress(),e)}async populateCall(e){return await Ug(this,e)}async populateTransaction(e){let t=Mi(this,"populateTransaction"),n=await Ug(this,e);n.nonce==null&&(n.nonce=await this.getNonce("pending")),n.gasLimit==null&&(n.gasLimit=await this.estimateGas(n));let s=await this.provider.getNetwork();if(n.chainId!=null){let o=B(n.chainId);p(o===s.chainId,"transaction chainId mismatch","tx.chainId",e.chainId)}else n.chainId=s.chainId;let i=n.maxFeePerGas!=null||n.maxPriorityFeePerGas!=null;if(n.gasPrice!=null&&(n.type===2||i)?p(!1,"eip-1559 transaction do not support gasPrice","tx",e):(n.type===0||n.type===1)&&i&&p(!1,"pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","tx",e),(n.type===2||n.type==null)&&n.maxFeePerGas!=null&&n.maxPriorityFeePerGas!=null)n.type=2;else if(n.type===0||n.type===1){let o=await t.getFeeData();w(o.gasPrice!=null,"network does not support gasPrice","UNSUPPORTED_OPERATION",{operation:"getGasPrice"}),n.gasPrice==null&&(n.gasPrice=o.gasPrice)}else{let o=await t.getFeeData();if(n.type==null)if(o.maxFeePerGas!=null&&o.maxPriorityFeePerGas!=null)if(n.authorizationList&&n.authorizationList.length?n.type=4:n.type=2,n.gasPrice!=null){let a=n.gasPrice;delete n.gasPrice,n.maxFeePerGas=a,n.maxPriorityFeePerGas=a}else n.maxFeePerGas==null&&(n.maxFeePerGas=o.maxFeePerGas),n.maxPriorityFeePerGas==null&&(n.maxPriorityFeePerGas=o.maxPriorityFeePerGas);else o.gasPrice!=null?(w(!i,"network does not support EIP-1559","UNSUPPORTED_OPERATION",{operation:"populateTransaction"}),n.gasPrice==null&&(n.gasPrice=o.gasPrice),n.type=0):w(!1,"failed to get consistent fee data","UNSUPPORTED_OPERATION",{operation:"signer.getFeeData"});else(n.type===2||n.type===3||n.type===4)&&(n.maxFeePerGas==null&&(n.maxFeePerGas=o.maxFeePerGas),n.maxPriorityFeePerGas==null&&(n.maxPriorityFeePerGas=o.maxPriorityFeePerGas))}return await he(n)}async populateAuthorization(e){let t=Object.assign({},e);return t.chainId==null&&(t.chainId=(await Mi(this,"getNetwork").getNetwork()).chainId),t.nonce==null&&(t.nonce=await this.getNonce()),t}async estimateGas(e){return Mi(this,"estimateGas").estimateGas(await this.populateCall(e))}async call(e){return Mi(this,"call").call(await this.populateCall(e))}async resolveName(e){return await Mi(this,"resolveName").resolveName(e)}async sendTransaction(e){let t=Mi(this,"sendTransaction"),n=await this.populateTransaction(e);delete n.from;let s=Rt.from(n);return await t.broadcastTransaction(await this.signTransaction(s))}authorize(e){w(!1,"authorization not implemented for this signer","UNSUPPORTED_OPERATION",{operation:"authorize"})}},Ma,hu,Qd=class Qd extends Xt{constructor(t,n){super(n);y(this,Ma);g(this,"address");N(this,{address:t})}async getAddress(){return this.address}connect(t){return new Qd(this.address,t)}async signTransaction(t){S(this,Ma,hu).call(this,"transactions","signTransaction")}async signMessage(t){S(this,Ma,hu).call(this,"messages","signMessage")}async signTypedData(t,n,s){S(this,Ma,hu).call(this,"typed-data","signTypedData")}};Ma=new WeakSet,hu=function(t,n){w(!1,`VoidSigner cannot sign ${t}`,"UNSUPPORTED_OPERATION",{operation:n})};var ki=Qd;var Fg=new Set;function Qe(r){Fg.has(r)||(Fg.add(r),console.log("========= NOTICE ========="),console.log(`Request-Rate Exceeded for ${r} (this message will not be repeated)`),console.log(""),console.log("The default API keys for each service are provided as a highly-throttled,"),console.log("community resource for low-traffic projects and early prototyping."),console.log(""),console.log("While your application will continue to function, we highly recommended"),console.log("signing up for your own API keys to improve performance, increase your"),console.log("request rate/limit and enable other perks, such as metrics and advanced APIs."),console.log(""),console.log("For more details: https://docs.ethers.org/api-keys/"),console.log("=========================="))}function qw(r){return JSON.parse(JSON.stringify(r))}var at,Vr,Ji,Ls,Di,ka,Ns,Zd,zd,pu=class{constructor(e){y(this,Ns);y(this,at);y(this,Vr);y(this,Ji);y(this,Ls);y(this,Di);y(this,ka);h(this,at,e),h(this,Vr,null),h(this,Ji,S(this,Ns,Zd).bind(this)),h(this,Ls,!1),h(this,Di,null),h(this,ka,!1)}_subscribe(e){throw new Error("subclasses must override this")}_emitResults(e,t){throw new Error("subclasses must override this")}_recover(e){throw new Error("subclasses must override this")}start(){f(this,Ls)||(h(this,Ls,!0),S(this,Ns,Zd).call(this,-2))}stop(){f(this,Ls)&&(h(this,Ls,!1),h(this,ka,!0),S(this,Ns,zd).call(this),f(this,at).off("block",f(this,Ji)))}pause(e){e&&S(this,Ns,zd).call(this),f(this,at).off("block",f(this,Ji))}resume(){this.start()}};at=new WeakMap,Vr=new WeakMap,Ji=new WeakMap,Ls=new WeakMap,Di=new WeakMap,ka=new WeakMap,Ns=new WeakSet,Zd=async function(e){try{f(this,Vr)==null&&h(this,Vr,this._subscribe(f(this,at)));let t=null;try{t=await f(this,Vr)}catch(i){if(!se(i,"UNSUPPORTED_OPERATION")||i.operation!=="eth_newFilter")throw i}if(t==null){h(this,Vr,null),f(this,at)._recoverSubscriber(this,this._recover(f(this,at)));return}let n=await f(this,at).getNetwork();if(f(this,Di)||h(this,Di,n),f(this,Di).chainId!==n.chainId)throw new Error("chaid changed");if(f(this,ka))return;let s=await f(this,at).send("eth_getFilterChanges",[t]);await this._emitResults(f(this,at),s)}catch(t){console.log("@TODO",t)}f(this,at).once("block",f(this,Ji))},zd=function(){let e=f(this,Vr);e&&(h(this,Vr,null),e.then(t=>{f(this,at).destroyed||f(this,at).send("eth_uninstallFilter",[t])}))};var Gi,xu=class extends pu{constructor(t,n){super(t);y(this,Gi);h(this,Gi,qw(n))}_recover(t){return new Ts(t,f(this,Gi))}async _subscribe(t){return await t.send("eth_newFilter",[f(this,Gi)])}async _emitResults(t,n){for(let s of n)t.emit(f(this,Gi),t._wrapLog(s,t._network))}};Gi=new WeakMap;var mu=class extends pu{async _subscribe(e){return await e.send("eth_newPendingTransactionFilter",[])}async _emitResults(e,t){for(let n of t)e.emit("pending",n)}};var e8="bigint,boolean,function,number,string,symbol".split(/,/g);function gu(r){if(r==null||e8.indexOf(typeof r)>=0||typeof r.getAddress=="function")return r;if(Array.isArray(r))return r.map(gu);if(typeof r=="object")return Object.keys(r).reduce((e,t)=>(e[t]=r[t],e),{});throw new Error(`should not happen: ${r} (${typeof r})`)}function t8(r){return new Promise(e=>{setTimeout(e,r)})}function Ja(r){return r&&r.toLowerCase()}function Mg(r){return r&&typeof r.pollingInterval=="number"}var kg={polling:!1,staticNetwork:null,batchStallTime:10,batchMaxSize:1<<20,batchMaxCount:100,cacheTimeout:250,pollingInterval:4e3},Bs=class extends Xt{constructor(t,n){super(t);g(this,"address");n=k(n),N(this,{address:n})}connect(t){w(!1,"cannot reconnect JsonRpcSigner","UNSUPPORTED_OPERATION",{operation:"signer.connect"})}async getAddress(){return this.address}async populateTransaction(t){return await this.populateCall(t)}async sendUncheckedTransaction(t){let n=gu(t),s=[];if(n.from){let o=n.from;s.push((async()=>{let a=await xe(o,this.provider);p(a!=null&&a.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",t),n.from=a})())}else n.from=this.address;if(n.gasLimit==null&&s.push((async()=>{n.gasLimit=await this.provider.estimateGas({...n,from:this.address})})()),n.to!=null){let o=n.to;s.push((async()=>{n.to=await xe(o,this.provider)})())}s.length&&await Promise.all(s);let i=this.provider.getRpcTransaction(n);return this.provider.send("eth_sendTransaction",[i])}async sendTransaction(t){let n=await this.provider.getBlockNumber(),s=await this.sendUncheckedTransaction(t);return await new Promise((i,o)=>{let a=[1e3,100],c=0,l=async()=>{try{let u=await this.provider.getTransaction(s);if(u!=null){i(u.replaceableTransaction(n));return}}catch(u){if(se(u,"CANCELLED")||se(u,"BAD_DATA")||se(u,"NETWORK_ERROR")||se(u,"UNSUPPORTED_OPERATION")){u.info==null&&(u.info={}),u.info.sendTransactionHash=s,o(u);return}if(se(u,"INVALID_ARGUMENT")&&(c++,u.info==null&&(u.info={}),u.info.sendTransactionHash=s,c>10)){o(u);return}this.provider.emit("error",Z("failed to fetch transation after sending (will try again)","UNKNOWN_ERROR",{error:u}))}this.provider._setTimeout(()=>{l()},a.pop()||4e3)};l()})}async signTransaction(t){let n=gu(t);if(n.from){let i=await xe(n.from,this.provider);p(i!=null&&i.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",t),n.from=i}else n.from=this.address;let s=this.provider.getRpcTransaction(n);return await this.provider.send("eth_signTransaction",[s])}async signMessage(t){let n=typeof t=="string"?re(t):t;return await this.provider.send("personal_sign",[R(n),this.address.toLowerCase()])}async signTypedData(t,n,s){let i=gu(s),o=await Ut.resolveNames(t,n,i,async a=>{let c=await xe(a);return p(c!=null,"TypedData does not support null address","value",a),c});return await this.provider.send("eth_signTypedData_v4",[this.address.toLowerCase(),JSON.stringify(Ut.getPayload(o.domain,n,o.value))])}async unlock(t){return this.provider.send("personal_unlockAccount",[this.address.toLowerCase(),t,null])}async _legacySignMessage(t){let n=typeof t=="string"?re(t):t;return await this.provider.send("eth_sign",[this.address.toLowerCase(),R(n)])}},_i,Da,On,Qr,Er,Ht,ht,al,Kd,Is=class extends _t{constructor(t,n){super(t,n);y(this,al);y(this,_i);y(this,Da);y(this,On);y(this,Qr);y(this,Er);y(this,Ht);y(this,ht);h(this,Da,1),h(this,_i,Object.assign({},kg,n||{})),h(this,On,[]),h(this,Qr,null),h(this,Ht,null),h(this,ht,null);{let i=null,o=new Promise(a=>{i=a});h(this,Er,{promise:o,resolve:i})}let s=this._getOption("staticNetwork");typeof s=="boolean"?(p(!s||t!=="any","staticNetwork cannot be used on special network 'any'","options",n),s&&t!=null&&h(this,Ht,$.from(t))):s&&(p(t==null||s.matches(t),"staticNetwork MUST match network object","options",n),h(this,Ht,s))}_getOption(t){return f(this,_i)[t]}get _network(){return w(f(this,Ht),"network is not available yet","NETWORK_ERROR"),f(this,Ht)}async _perform(t){if(t.method==="call"||t.method==="estimateGas"){let s=t.transaction;if(s&&s.type!=null&&B(s.type)&&s.maxFeePerGas==null&&s.maxPriorityFeePerGas==null){let i=await this.getFeeData();i.maxFeePerGas==null&&i.maxPriorityFeePerGas==null&&(t=Object.assign({},t,{transaction:Object.assign({},s,{type:void 0})}))}}let n=this.getRpcRequest(t);return n!=null?await this.send(n.method,n.args):super._perform(t)}async _detectNetwork(){let t=this._getOption("staticNetwork");if(t)if(t===!0){if(f(this,Ht))return f(this,Ht)}else return t;return f(this,ht)?await f(this,ht):this.ready?(h(this,ht,(async()=>{try{let n=$.from(B(await this.send("eth_chainId",[])));return h(this,ht,null),n}catch(n){throw h(this,ht,null),n}})()),await f(this,ht)):(h(this,ht,(async()=>{let n={id:qr(this,Da)._++,method:"eth_chainId",params:[],jsonrpc:"2.0"};this.emit("debug",{action:"sendRpcPayload",payload:n});let s;try{s=(await this._send(n))[0],h(this,ht,null)}catch(i){throw h(this,ht,null),this.emit("debug",{action:"receiveRpcError",error:i}),i}if(this.emit("debug",{action:"receiveRpcResult",result:s}),"result"in s)return $.from(B(s.result));throw this.getRpcError(n,s)})()),await f(this,ht))}_start(){f(this,Er)==null||f(this,Er).resolve==null||(f(this,Er).resolve(),h(this,Er,null),(async()=>{for(;f(this,Ht)==null&&!this.destroyed;)try{h(this,Ht,await this._detectNetwork())}catch(t){if(this.destroyed)break;console.log("JsonRpcProvider failed to detect network and cannot start up; retry in 1s (perhaps the URL is wrong or the node is not started)"),this.emit("error",Z("failed to bootstrap network detection","NETWORK_ERROR",{event:"initial-network-discovery",info:{error:t}})),await t8(1e3)}S(this,al,Kd).call(this)})())}async _waitUntilReady(){if(f(this,Er)!=null)return await f(this,Er).promise}_getSubscriber(t){return t.type==="pending"?new mu(this):t.type==="event"?this._getOption("polling")?new Ts(this,t.filter):new xu(this,t.filter):t.type==="orphan"&&t.filter.orphan==="drop-log"?new wr("orphan"):super._getSubscriber(t)}get ready(){return f(this,Er)==null}getRpcTransaction(t){let n={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach(s=>{if(t[s]==null)return;let i=s;s==="gasLimit"&&(i="gas"),n[i]=Ue(B(t[s],`tx.${s}`))}),["from","to","data"].forEach(s=>{t[s]!=null&&(n[s]=R(t[s]))}),t.accessList&&(n.accessList=Xe(t.accessList)),t.blobVersionedHashes&&(n.blobVersionedHashes=t.blobVersionedHashes.map(s=>s.toLowerCase())),t.authorizationList&&(n.authorizationList=t.authorizationList.map(s=>{let i=gi(s);return{address:i.address,nonce:Ue(i.nonce),chainId:Ue(i.chainId),yParity:Ue(i.signature.yParity),r:Ue(i.signature.r),s:Ue(i.signature.s)}})),n}getRpcRequest(t){switch(t.method){case"chainId":return{method:"eth_chainId",args:[]};case"getBlockNumber":return{method:"eth_blockNumber",args:[]};case"getGasPrice":return{method:"eth_gasPrice",args:[]};case"getPriorityFee":return{method:"eth_maxPriorityFeePerGas",args:[]};case"getBalance":return{method:"eth_getBalance",args:[Ja(t.address),t.blockTag]};case"getTransactionCount":return{method:"eth_getTransactionCount",args:[Ja(t.address),t.blockTag]};case"getCode":return{method:"eth_getCode",args:[Ja(t.address),t.blockTag]};case"getStorage":return{method:"eth_getStorageAt",args:[Ja(t.address),"0x"+t.position.toString(16),t.blockTag]};case"broadcastTransaction":return{method:"eth_sendRawTransaction",args:[t.signedTransaction]};case"getBlock":if("blockTag"in t)return{method:"eth_getBlockByNumber",args:[t.blockTag,!!t.includeTransactions]};if("blockHash"in t)return{method:"eth_getBlockByHash",args:[t.blockHash,!!t.includeTransactions]};break;case"getTransaction":return{method:"eth_getTransactionByHash",args:[t.hash]};case"getTransactionReceipt":return{method:"eth_getTransactionReceipt",args:[t.hash]};case"call":return{method:"eth_call",args:[this.getRpcTransaction(t.transaction),t.blockTag]};case"estimateGas":return{method:"eth_estimateGas",args:[this.getRpcTransaction(t.transaction)]};case"getLogs":return t.filter&&t.filter.address!=null&&(Array.isArray(t.filter.address)?t.filter.address=t.filter.address.map(Ja):t.filter.address=Ja(t.filter.address)),{method:"eth_getLogs",args:[t.filter]}}return null}getRpcError(t,n){let{method:s}=t,{error:i}=n;if(s==="eth_estimateGas"&&i.message){let c=i.message;if(!c.match(/revert/i)&&c.match(/insufficient funds/i))return Z("insufficient funds","INSUFFICIENT_FUNDS",{transaction:t.params[0],info:{payload:t,error:i}});if(c.match(/nonce/i)&&c.match(/too low/i))return Z("nonce has already been used","NONCE_EXPIRED",{transaction:t.params[0],info:{payload:t,error:i}})}if(s==="eth_call"||s==="eth_estimateGas"){let c=$d(i),l=Mt.getBuiltinCallException(s==="eth_call"?"call":"estimateGas",t.params[0],c?c.data:null);return l.info={error:i,payload:t},l}let o=JSON.stringify(r8(i));if(typeof i.message=="string"&&i.message.match(/user denied|ethers-user-denied/i))return Z("user rejected action","ACTION_REJECTED",{action:{eth_sign:"signMessage",personal_sign:"signMessage",eth_signTypedData_v4:"signTypedData",eth_signTransaction:"signTransaction",eth_sendTransaction:"sendTransaction",eth_requestAccounts:"requestAccess",wallet_requestAccounts:"requestAccess"}[s]||"unknown",reason:"rejected",info:{payload:t,error:i}});if(s==="eth_sendRawTransaction"||s==="eth_sendTransaction"){let c=t.params[0];if(o.match(/insufficient funds|base fee exceeds gas limit/i))return Z("insufficient funds for intrinsic transaction cost","INSUFFICIENT_FUNDS",{transaction:c,info:{error:i}});if(o.match(/nonce/i)&&o.match(/too low/i))return Z("nonce has already been used","NONCE_EXPIRED",{transaction:c,info:{error:i}});if(o.match(/replacement transaction/i)&&o.match(/underpriced/i))return Z("replacement fee too low","REPLACEMENT_UNDERPRICED",{transaction:c,info:{error:i}});if(o.match(/only replay-protected/i))return Z("legacy pre-eip-155 transactions not supported","UNSUPPORTED_OPERATION",{operation:s,info:{transaction:c,info:{error:i}}})}let a=!!o.match(/the method .* does not exist/i);return a||i&&i.details&&i.details.startsWith("Unauthorized method:")&&(a=!0),a?Z("unsupported operation","UNSUPPORTED_OPERATION",{operation:t.method,info:{error:i,payload:t}}):Z("could not coalesce error","UNKNOWN_ERROR",{error:i,payload:t})}send(t,n){if(this.destroyed)return Promise.reject(Z("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:t}));let s=qr(this,Da)._++,i=new Promise((o,a)=>{f(this,On).push({resolve:o,reject:a,payload:{method:t,params:n,id:s,jsonrpc:"2.0"}})});return S(this,al,Kd).call(this),i}async getSigner(t){t==null&&(t=0);let n=this.send("eth_accounts",[]);if(typeof t=="number"){let i=await n;if(t>=i.length)throw new Error("no such account");return new Bs(this,i[t])}let{accounts:s}=await he({network:this.getNetwork(),accounts:n});t=k(t);for(let i of s)if(k(i)===t)return new Bs(this,t);throw new Error("invalid account")}async listAccounts(){return(await this.send("eth_accounts",[])).map(n=>new Bs(this,n))}destroy(){f(this,Qr)&&(clearTimeout(f(this,Qr)),h(this,Qr,null));for(let{payload:t,reject:n}of f(this,On))n(Z("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:t.method}));h(this,On,[]),super.destroy()}};_i=new WeakMap,Da=new WeakMap,On=new WeakMap,Qr=new WeakMap,Er=new WeakMap,Ht=new WeakMap,ht=new WeakMap,al=new WeakSet,Kd=function(){if(f(this,Qr))return;let t=this._getOption("batchMaxCount")===1?0:this._getOption("batchStallTime");h(this,Qr,setTimeout(()=>{h(this,Qr,null);let n=f(this,On);for(h(this,On,[]);n.length;){let s=[n.shift()];for(;n.length&&s.length!==f(this,_i).batchMaxCount;)if(s.push(n.shift()),JSON.stringify(s.map(o=>o.payload)).length>f(this,_i).batchMaxSize){n.unshift(s.pop());break}(async()=>{let i=s.length===1?s[0].payload:s.map(o=>o.payload);this.emit("debug",{action:"sendRpcPayload",payload:i});try{let o=await this._send(i);this.emit("debug",{action:"receiveRpcResult",result:o});for(let{resolve:a,reject:c,payload:l}of s){if(this.destroyed){c(Z("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:l.method}));continue}let u=o.filter(d=>d.id===l.id)[0];if(u==null){let d=Z("missing response for request","BAD_DATA",{value:o,info:{payload:l}});this.emit("error",d),c(d);continue}if("error"in u){c(this.getRpcError(l,u));continue}a(u.result)}}catch(o){this.emit("debug",{action:"receiveRpcError",error:o});for(let{reject:a}of s)a(o)}})()}},t))};var vs,ol=class extends Is{constructor(t,n){super(t,n);y(this,vs);let s=this._getOption("pollingInterval");s==null&&(s=kg.pollingInterval),h(this,vs,s)}_getSubscriber(t){let n=super._getSubscriber(t);return Mg(n)&&(n.pollingInterval=f(this,vs)),n}get pollingInterval(){return f(this,vs)}set pollingInterval(t){if(!Number.isInteger(t)||t<0)throw new Error("invalid interval");h(this,vs,t),this._forEachSubscriber(n=>{Mg(n)&&(n.pollingInterval=f(this,vs))})}};vs=new WeakMap;var Ga,me=class extends ol{constructor(t,n,s){t==null&&(t="http://localhost:8545");super(n,s);y(this,Ga);typeof t=="string"?h(this,Ga,new ae(t)):h(this,Ga,t.clone())}_getConnection(){return f(this,Ga).clone()}async send(t,n){return await this._start(),await super.send(t,n)}async _send(t){let n=this._getConnection();n.body=JSON.stringify(t),n.setHeader("content-type","application/json");let s=await n.send();s.assertOk();let i=s.bodyJson;return Array.isArray(i)||(i=[i]),i}};Ga=new WeakMap;function $d(r){if(r==null)return null;if(typeof r.message=="string"&&r.message.match(/revert/i)&&V(r.data))return{message:r.message,data:r.data};if(typeof r=="object"){for(let e in r){let t=$d(r[e]);if(t)return t}return null}if(typeof r=="string")try{return $d(JSON.parse(r))}catch{}return null}function Yd(r,e){if(r!=null){if(typeof r.message=="string"&&e.push(r.message),typeof r=="object")for(let t in r)Yd(r[t],e);if(typeof r=="string")try{return Yd(JSON.parse(r),e)}catch{}}}function r8(r){let e=[];return Yd(r,e),e}var bu="9f7d929b018cdffb338517efa06f58359e86ff1ffd350bc889738523659e7972";function n8(r){switch(r){case"mainnet":return"rpc.ankr.com/eth";case"goerli":return"rpc.ankr.com/eth_goerli";case"sepolia":return"rpc.ankr.com/eth_sepolia";case"arbitrum":return"rpc.ankr.com/arbitrum";case"base":return"rpc.ankr.com/base";case"base-goerli":return"rpc.ankr.com/base_goerli";case"base-sepolia":return"rpc.ankr.com/base_sepolia";case"bnb":return"rpc.ankr.com/bsc";case"bnbt":return"rpc.ankr.com/bsc_testnet_chapel";case"matic":return"rpc.ankr.com/polygon";case"matic-mumbai":return"rpc.ankr.com/polygon_mumbai";case"optimism":return"rpc.ankr.com/optimism";case"optimism-goerli":return"rpc.ankr.com/optimism_testnet";case"optimism-sepolia":return"rpc.ankr.com/optimism_sepolia"}p(!1,"unsupported network","network",r)}var Xi=class r extends me{constructor(t,n){t==null&&(t="mainnet");let s=$.from(t);n==null&&(n=bu);let i={polling:!0,staticNetwork:s},o=r.getRequest(s,n);super(o,s,i);g(this,"apiKey");N(this,{apiKey:n})}_getProvider(t){try{return new r(t,this.apiKey)}catch{}return super._getProvider(t)}static getRequest(t,n){n==null&&(n=bu);let s=new ae(`https://${n8(t.name)}/${n}`);return s.allowGzip=!0,n===bu&&(s.retryFunc=async(i,o,a)=>(Qe("AnkrProvider"),!0)),s}getRpcError(t,n){return t.method==="eth_sendRawTransaction"&&n&&n.error&&n.error.message==="INTERNAL_ERROR: could not replace existing tx"&&(n.error.message="replacement transaction underpriced"),super.getRpcError(t,n)}isCommunityResource(){return this.apiKey===bu}};var yu="_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC";function s8(r){switch(r){case"mainnet":return"eth-mainnet.alchemyapi.io";case"goerli":return"eth-goerli.g.alchemy.com";case"sepolia":return"eth-sepolia.g.alchemy.com";case"arbitrum":return"arb-mainnet.g.alchemy.com";case"arbitrum-goerli":return"arb-goerli.g.alchemy.com";case"arbitrum-sepolia":return"arb-sepolia.g.alchemy.com";case"base":return"base-mainnet.g.alchemy.com";case"base-goerli":return"base-goerli.g.alchemy.com";case"base-sepolia":return"base-sepolia.g.alchemy.com";case"matic":return"polygon-mainnet.g.alchemy.com";case"matic-amoy":return"polygon-amoy.g.alchemy.com";case"matic-mumbai":return"polygon-mumbai.g.alchemy.com";case"optimism":return"opt-mainnet.g.alchemy.com";case"optimism-goerli":return"opt-goerli.g.alchemy.com";case"optimism-sepolia":return"opt-sepolia.g.alchemy.com"}p(!1,"unsupported network","network",r)}var Hi=class r extends me{constructor(t,n){t==null&&(t="mainnet");let s=$.from(t);n==null&&(n=yu);let i=r.getRequest(s,n);super(i,s,{staticNetwork:s});g(this,"apiKey");N(this,{apiKey:n})}_getProvider(t){try{return new r(t,this.apiKey)}catch{}return super._getProvider(t)}async _perform(t){if(t.method==="getTransactionResult"){let{trace:n,tx:s}=await he({trace:this.send("trace_transaction",[t.hash]),tx:this.getTransaction(t.hash)});if(n==null||s==null)return null;let i,o=!1;try{i=n[0].result.output,o=n[0].error==="Reverted"}catch{}if(i)return w(!o,"an error occurred during transaction executions","CALL_EXCEPTION",{action:"getTransactionResult",data:i,reason:null,transaction:s,invocation:null,revert:null}),i;w(!1,"could not parse trace result","BAD_DATA",{value:n})}return await super._perform(t)}isCommunityResource(){return this.apiKey===yu}static getRequest(t,n){n==null&&(n=yu);let s=new ae(`https://${s8(t.name)}/v2/${n}`);return s.allowGzip=!0,n===yu&&(s.retryFunc=async(i,o,a)=>(Qe("alchemy"),!0)),s}};function Au(r){switch(r){case"mainnet":return"39f1d67cedf8b7831010a665328c9197";case"arbitrum":return"0550c209db33c3abf4cc927e1e18cea1";case"bnb":return"98b5a77e531614387366f6fc5da097f8";case"matic":return"cd9d4d70377471aa7c142ec4a4205249"}p(!1,"unsupported network","network",r)}function i8(r){switch(r){case"mainnet":return"ethereum-mainnet.core.chainstack.com";case"arbitrum":return"arbitrum-mainnet.core.chainstack.com";case"bnb":return"bsc-mainnet.core.chainstack.com";case"matic":return"polygon-mainnet.core.chainstack.com"}p(!1,"unsupported network","network",r)}var Vi=class r extends me{constructor(t,n){t==null&&(t="mainnet");let s=$.from(t);n==null&&(n=Au(s.name));let i=r.getRequest(s,n);super(i,s,{staticNetwork:s});g(this,"apiKey");N(this,{apiKey:n})}_getProvider(t){try{return new r(t,this.apiKey)}catch{}return super._getProvider(t)}isCommunityResource(){return this.apiKey===Au(this._network.name)}static getRequest(t,n){n==null&&(n=Au(t.name));let s=new ae(`https://${i8(t.name)}/${n}`);return s.allowGzip=!0,n===Au(t.name)&&(s.retryFunc=async(i,o,a)=>(Qe("ChainstackProvider"),!0)),s}};var Qi=class extends me{constructor(e){e==null&&(e="mainnet");let t=$.from(e);p(t.name==="mainnet","unsupported network","network",e),super("https://cloudflare-eth.com/",t,{staticNetwork:t})}};var Jg=2e3;function o8(r){return r&&typeof r.then=="function"}var Dg="org.ethers.plugins.provider.Etherscan",cl=class r extends Ar{constructor(t){super(Dg);g(this,"baseUrl");N(this,{baseUrl:t})}clone(){return new r(this.baseUrl)}},a8=["enableCcipRead"],c8=1,_a,Zi=class extends _t{constructor(t,n){let s=n??null;super();g(this,"network");g(this,"apiKey");y(this,_a);let i=$.from(t);h(this,_a,i.getPlugin(Dg)),N(this,{apiKey:s,network:i})}getBaseUrl(){if(f(this,_a))return f(this,_a).baseUrl;switch(this.network.name){case"mainnet":return"https://api.etherscan.io";case"goerli":return"https://api-goerli.etherscan.io";case"sepolia":return"https://api-sepolia.etherscan.io";case"holesky":return"https://api-holesky.etherscan.io";case"arbitrum":return"https://api.arbiscan.io";case"arbitrum-goerli":return"https://api-goerli.arbiscan.io";case"base":return"https://api.basescan.org";case"base-sepolia":return"https://api-sepolia.basescan.org";case"bnb":return"https://api.bscscan.com";case"bnbt":return"https://api-testnet.bscscan.com";case"matic":return"https://api.polygonscan.com";case"matic-amoy":return"https://api-amoy.polygonscan.com";case"matic-mumbai":return"https://api-testnet.polygonscan.com";case"optimism":return"https://api-optimistic.etherscan.io";case"optimism-goerli":return"https://api-goerli-optimistic.etherscan.io";default:}p(!1,"unsupported network","network",this.network)}getUrl(t,n){let s=Object.keys(n).reduce((i,o)=>{let a=n[o];return a!=null&&(i+=`&${o}=${a}`),i},"");return this.apiKey&&(s+=`&apikey=${this.apiKey}`),`https://api.etherscan.io/v2/api?chainid=${this.network.chainId}&module=${t}${s}`}getPostUrl(){return`https://api.etherscan.io/v2/api?chainid=${this.network.chainId}`}getPostData(t,n){return n.module=t,n.apikey=this.apiKey,n.chainid=this.network.chainId,n}async detectNetwork(){return this.network}async fetch(t,n,s){let i=c8++,o=s?this.getPostUrl():this.getUrl(t,n),a=s?this.getPostData(t,n):null;this.emit("debug",{action:"sendRequest",id:i,url:o,payload:a});let c=new ae(o);c.setThrottleParams({slotInterval:1e3}),c.retryFunc=(d,x,m)=>(this.isCommunityResource()&&Qe("Etherscan"),Promise.resolve(!0)),c.processFunc=async(d,x)=>{let m=x.hasBody()?JSON.parse(Le(x.body)):{},A=(typeof m.result=="string"?m.result:"").toLowerCase().indexOf("rate limit")>=0;return t==="proxy"?m&&m.status==0&&m.message=="NOTOK"&&A&&(this.emit("debug",{action:"receiveError",id:i,reason:"proxy-NOTOK",error:m}),x.throwThrottleError(m.result,Jg)):A&&(this.emit("debug",{action:"receiveError",id:i,reason:"null result",error:m.result}),x.throwThrottleError(m.result,Jg)),x},a&&(c.setHeader("content-type","application/x-www-form-urlencoded; charset=UTF-8"),c.body=Object.keys(a).map(d=>`${d}=${a[d]}`).join("&"));let l=await c.send();try{l.assertOk()}catch(d){this.emit("debug",{action:"receiveError",id:i,error:d,reason:"assertOk"}),w(!1,"response error","SERVER_ERROR",{request:c,response:l})}l.hasBody()||(this.emit("debug",{action:"receiveError",id:i,error:"missing body",reason:"null body"}),w(!1,"missing response","SERVER_ERROR",{request:c,response:l}));let u=JSON.parse(Le(l.body));return t==="proxy"?(u.jsonrpc!="2.0"&&(this.emit("debug",{action:"receiveError",id:i,result:u,reason:"invalid JSON-RPC"}),w(!1,"invalid JSON-RPC response (missing jsonrpc='2.0')","SERVER_ERROR",{request:c,response:l,info:{result:u}})),u.error&&(this.emit("debug",{action:"receiveError",id:i,result:u,reason:"JSON-RPC error"}),w(!1,"error response","SERVER_ERROR",{request:c,response:l,info:{result:u}})),this.emit("debug",{action:"receiveRequest",id:i,result:u}),u.result):u.status==0&&(u.message==="No records found"||u.message==="No transactions found")?(this.emit("debug",{action:"receiveRequest",id:i,result:u}),u.result):((u.status!=1||typeof u.message=="string"&&!u.message.match(/^OK/))&&(this.emit("debug",{action:"receiveError",id:i,result:u}),w(!1,"error response","SERVER_ERROR",{request:c,response:l,info:{result:u}})),this.emit("debug",{action:"receiveRequest",id:i,result:u}),u.result)}_getTransactionPostData(t){let n={};for(let s in t){if(a8.indexOf(s)>=0||t[s]==null)continue;let i=t[s];if(!(s==="type"&&i===0)&&!(s==="blockTag"&&i==="latest")){if({type:!0,gasLimit:!0,gasPrice:!0,maxFeePerGs:!0,maxPriorityFeePerGas:!0,nonce:!0,value:!0}[s])i=Ue(i);else if(s==="accessList")i="["+Xe(i).map(o=>`{address:"${o.address}",storageKeys:["${o.storageKeys.join('","')}"]}`).join(",")+"]";else if(s==="blobVersionedHashes"){if(i.length===0)continue;w(!1,"Etherscan API does not support blobVersionedHashes","UNSUPPORTED_OPERATION",{operation:"_getTransactionPostData",info:{transaction:t}})}else i=R(i);n[s]=i}}return n}_checkError(t,n,s){let i="";if(se(n,"SERVER_ERROR")){try{i=n.info.result.error.message}catch{}if(!i)try{i=n.info.message}catch{}}if(t.method==="estimateGas"&&!i.match(/revert/i)&&i.match(/insufficient funds/i)&&w(!1,"insufficient funds","INSUFFICIENT_FUNDS",{transaction:t.transaction}),(t.method==="call"||t.method==="estimateGas")&&i.match(/execution reverted/i)){let o="";try{o=n.info.result.error.data}catch{}let a=Mt.getBuiltinCallException(t.method,t.transaction,o);throw a.info={request:t,error:n},a}if(i&&t.method==="broadcastTransaction"){let o=Rt.from(t.signedTransaction);i.match(/replacement/i)&&i.match(/underpriced/i)&&w(!1,"replacement fee too low","REPLACEMENT_UNDERPRICED",{transaction:o}),i.match(/insufficient funds/)&&w(!1,"insufficient funds for intrinsic transaction cost","INSUFFICIENT_FUNDS",{transaction:o}),i.match(/same hash was already imported|transaction nonce is too low|nonce too low/)&&w(!1,"nonce has already been used","NONCE_EXPIRED",{transaction:o})}throw n}async _detectNetwork(){return this.network}async _perform(t){switch(t.method){case"chainId":return this.network.chainId;case"getBlockNumber":return this.fetch("proxy",{action:"eth_blockNumber"});case"getGasPrice":return this.fetch("proxy",{action:"eth_gasPrice"});case"getPriorityFee":if(this.network.name==="mainnet")return"1000000000";if(this.network.name==="optimism")return"1000000";throw new Error("fallback onto the AbstractProvider default");case"getBalance":return this.fetch("account",{action:"balance",address:t.address,tag:t.blockTag});case"getTransactionCount":return this.fetch("proxy",{action:"eth_getTransactionCount",address:t.address,tag:t.blockTag});case"getCode":return this.fetch("proxy",{action:"eth_getCode",address:t.address,tag:t.blockTag});case"getStorage":return this.fetch("proxy",{action:"eth_getStorageAt",address:t.address,position:t.position,tag:t.blockTag});case"broadcastTransaction":return this.fetch("proxy",{action:"eth_sendRawTransaction",hex:t.signedTransaction},!0).catch(n=>this._checkError(t,n,t.signedTransaction));case"getBlock":if("blockTag"in t)return this.fetch("proxy",{action:"eth_getBlockByNumber",tag:t.blockTag,boolean:t.includeTransactions?"true":"false"});w(!1,"getBlock by blockHash not supported by Etherscan","UNSUPPORTED_OPERATION",{operation:"getBlock(blockHash)"});case"getTransaction":return this.fetch("proxy",{action:"eth_getTransactionByHash",txhash:t.hash});case"getTransactionReceipt":return this.fetch("proxy",{action:"eth_getTransactionReceipt",txhash:t.hash});case"call":{if(t.blockTag!=="latest")throw new Error("EtherscanProvider does not support blockTag for call");let n=this._getTransactionPostData(t.transaction);n.module="proxy",n.action="eth_call";try{return await this.fetch("proxy",n,!0)}catch(s){return this._checkError(t,s,t.transaction)}}case"estimateGas":{let n=this._getTransactionPostData(t.transaction);n.module="proxy",n.action="eth_estimateGas";try{return await this.fetch("proxy",n,!0)}catch(s){return this._checkError(t,s,t.transaction)}}default:break}return super._perform(t)}async getNetwork(){return this.network}async getEtherPrice(){return this.network.name!=="mainnet"?0:parseFloat((await this.fetch("stats",{action:"ethprice"})).ethusd)}async getContract(t){let n=this._getAddress(t);o8(n)&&(n=await n);try{let s=await this.fetch("contract",{action:"getabi",address:n}),i=JSON.parse(s);return new dt(n,i,this)}catch{return null}}isCommunityResource(){return this.apiKey==null}};_a=new WeakMap;var b2=dc(Hg(),1),y2=dc(ah(),1),A2=dc(lh(),1),Uu=dc(mh(),1),w2=dc(Gb(),1);var zr,yl,Us,Wi,Fs,ks=class{constructor(e,t){y(this,zr);y(this,yl);y(this,Us);y(this,Wi);y(this,Fs);h(this,zr,e),h(this,yl,JSON.stringify(t)),h(this,Us,null),h(this,Wi,null),h(this,Fs,null)}get filter(){return JSON.parse(f(this,yl))}start(){h(this,Us,f(this,zr).send("eth_subscribe",this.filter).then(e=>(f(this,zr)._register(e,this),e)))}stop(){f(this,Us).then(e=>{f(this,zr).destroyed||f(this,zr).send("eth_unsubscribe",[e])}),h(this,Us,null)}pause(e){w(e,"preserve logs while paused not supported by SocketSubscriber yet","UNSUPPORTED_OPERATION",{operation:"pause(false)"}),h(this,Wi,!!e)}resume(){h(this,Wi,null)}_handleMessage(e){if(f(this,Us)!=null&&f(this,Wi)===null){let t=f(this,Fs);t==null?t=this._emit(f(this,zr),e):t=t.then(async()=>{await this._emit(f(this,zr),e)}),h(this,Fs,t.then(()=>{f(this,Fs)===t&&h(this,Fs,null)}))}}async _emit(e,t){throw new Error("sub-classes must implemente this; _emit")}};zr=new WeakMap,yl=new WeakMap,Us=new WeakMap,Wi=new WeakMap,Fs=new WeakMap;var za=class extends ks{constructor(e){super(e,["newHeads"])}async _emit(e,t){e.emit("block",parseInt(t.number))}},Ka=class extends ks{constructor(e){super(e,["newPendingTransactions"])}async _emit(e,t){e.emit("pending",t)}},Al,$a=class extends ks{constructor(t,n){super(t,["logs",n]);y(this,Al);h(this,Al,JSON.stringify(n))}get logFilter(){return JSON.parse(f(this,Al))}async _emit(t,n){t.emit(this.logFilter,t._wrapLog(n,t._network))}};Al=new WeakMap;var ji,Za,Ms,Fn=class extends Is{constructor(t,n){let s=Object.assign({},n??{});p(s.batchMaxCount==null||s.batchMaxCount===1,"sockets-based providers do not support batches","options.batchMaxCount",n),s.batchMaxCount=1,s.staticNetwork==null&&(s.staticNetwork=!0);super(t,s);y(this,ji);y(this,Za);y(this,Ms);h(this,ji,new Map),h(this,Za,new Map),h(this,Ms,new Map)}_getSubscriber(t){switch(t.type){case"close":return new wr("close");case"block":return new za(this);case"pending":return new Ka(this);case"event":return new $a(this,t.filter);case"orphan":if(t.filter.orphan==="drop-log")return new wr("drop-log")}return super._getSubscriber(t)}_register(t,n){f(this,Za).set(t,n);let s=f(this,Ms).get(t);if(s){for(let i of s)n._handleMessage(i);f(this,Ms).delete(t)}}async _send(t){p(!Array.isArray(t),"WebSocket does not support batch send","payload",t);let n=new Promise((s,i)=>{f(this,ji).set(t.id,{payload:t,resolve:s,reject:i})});return await this._waitUntilReady(),await this._write(JSON.stringify(t)),[await n]}async _processMessage(t){let n=JSON.parse(t);if(n&&typeof n=="object"&&"id"in n){let s=f(this,ji).get(n.id);if(s==null){this.emit("error",Z("received result for unknown id","UNKNOWN_ERROR",{reasonCode:"UNKNOWN_ID",result:n}));return}f(this,ji).delete(n.id),s.resolve(n)}else if(n&&n.method==="eth_subscription"){let s=n.params.subscription,i=f(this,Za).get(s);if(i)i._handleMessage(n.params.result);else{let o=f(this,Ms).get(s);o==null&&(o=[],f(this,Ms).set(s,o)),o.push(n.params.result)}}else{this.emit("error",Z("received unexpected message","UNKNOWN_ERROR",{reasonCode:"UNEXPECTED_MESSAGE",result:n}));return}}async _write(t){throw new Error("sub-classes must override this")}};ji=new WeakMap,Za=new WeakMap,Ms=new WeakMap;var qi,Rr,Mn=class extends Fn{constructor(t,n,s){super(n,s);y(this,qi);y(this,Rr);typeof t=="string"?(h(this,qi,()=>new Uu.default(t)),h(this,Rr,f(this,qi).call(this))):typeof t=="function"?(h(this,qi,t),h(this,Rr,t())):(h(this,qi,null),h(this,Rr,t)),this.websocket.onopen=async()=>{try{await this._start(),this.resume()}catch(i){console.log("failed to start WebsocketProvider",i)}},this.websocket.onmessage=i=>{this._processMessage(i.data)}}get websocket(){if(f(this,Rr)==null)throw new Error("websocket closed");return f(this,Rr)}async _write(t){this.websocket.send(t)}async destroy(){f(this,Rr)!=null&&(f(this,Rr).close(),h(this,Rr,null)),super.destroy()}};qi=new WeakMap,Rr=new WeakMap;var wl="84842078b09946638c03157f83405213";function E2(r){switch(r){case"mainnet":return"mainnet.infura.io";case"goerli":return"goerli.infura.io";case"sepolia":return"sepolia.infura.io";case"arbitrum":return"arbitrum-mainnet.infura.io";case"arbitrum-goerli":return"arbitrum-goerli.infura.io";case"arbitrum-sepolia":return"arbitrum-sepolia.infura.io";case"base":return"base-mainnet.infura.io";case"base-goerlia":case"base-goerli":return"base-goerli.infura.io";case"base-sepolia":return"base-sepolia.infura.io";case"bnb":return"bsc-mainnet.infura.io";case"bnbt":return"bsc-testnet.infura.io";case"linea":return"linea-mainnet.infura.io";case"linea-goerli":return"linea-goerli.infura.io";case"linea-sepolia":return"linea-sepolia.infura.io";case"matic":return"polygon-mainnet.infura.io";case"matic-amoy":return"polygon-amoy.infura.io";case"matic-mumbai":return"polygon-mumbai.infura.io";case"optimism":return"optimism-mainnet.infura.io";case"optimism-goerli":return"optimism-goerli.infura.io";case"optimism-sepolia":return"optimism-sepolia.infura.io"}p(!1,"unsupported network","network",r)}var Ya=class extends Mn{constructor(t,n){let s=new Js(t,n),i=s._getConnection();w(!i.credentials,"INFURA WebSocket project secrets unsupported","UNSUPPORTED_OPERATION",{operation:"InfuraProvider.getWebSocketProvider()"});let o=i.url.replace(/^http/i,"ws").replace("/v3/","/ws/v3/");super(o,s._network);g(this,"projectId");g(this,"projectSecret");N(this,{projectId:s.projectId,projectSecret:s.projectSecret})}isCommunityResource(){return this.projectId===wl}},Js=class r extends me{constructor(t,n,s){t==null&&(t="mainnet");let i=$.from(t);n==null&&(n=wl),s==null&&(s=null);let o=r.getRequest(i,n,s);super(o,i,{staticNetwork:i});g(this,"projectId");g(this,"projectSecret");N(this,{projectId:n,projectSecret:s})}_getProvider(t){try{return new r(t,this.projectId,this.projectSecret)}catch{}return super._getProvider(t)}isCommunityResource(){return this.projectId===wl}static getWebSocketProvider(t,n){return new Ya(t,n)}static getRequest(t,n,s){n==null&&(n=wl),s==null&&(s=null);let i=new ae(`https://${E2(t.name)}/v3/${n}`);return i.allowGzip=!0,s&&i.setCredentials("",s),n===wl&&(i.retryFunc=async(o,a,c)=>(Qe("InfuraProvider"),!0)),i}};var Fu="919b412a057b5e9c9b6dce193c5a60242d6efadb";function T2(r){switch(r){case"mainnet":return"ethers.quiknode.pro";case"goerli":return"ethers.ethereum-goerli.quiknode.pro";case"sepolia":return"ethers.ethereum-sepolia.quiknode.pro";case"holesky":return"ethers.ethereum-holesky.quiknode.pro";case"arbitrum":return"ethers.arbitrum-mainnet.quiknode.pro";case"arbitrum-goerli":return"ethers.arbitrum-goerli.quiknode.pro";case"arbitrum-sepolia":return"ethers.arbitrum-sepolia.quiknode.pro";case"base":return"ethers.base-mainnet.quiknode.pro";case"base-goerli":return"ethers.base-goerli.quiknode.pro";case"base-spolia":return"ethers.base-sepolia.quiknode.pro";case"bnb":return"ethers.bsc.quiknode.pro";case"bnbt":return"ethers.bsc-testnet.quiknode.pro";case"matic":return"ethers.matic.quiknode.pro";case"matic-mumbai":return"ethers.matic-testnet.quiknode.pro";case"optimism":return"ethers.optimism.quiknode.pro";case"optimism-goerli":return"ethers.optimism-goerli.quiknode.pro";case"optimism-sepolia":return"ethers.optimism-sepolia.quiknode.pro";case"xdai":return"ethers.xdai.quiknode.pro"}p(!1,"unsupported network","network",r)}var eo=class r extends me{constructor(t,n){t==null&&(t="mainnet");let s=$.from(t);n==null&&(n=Fu);let i=r.getRequest(s,n);super(i,s,{staticNetwork:s});g(this,"token");N(this,{token:n})}_getProvider(t){try{return new r(t,this.token)}catch{}return super._getProvider(t)}isCommunityResource(){return this.token===Fu}static getRequest(t,n){n==null&&(n=Fu);let s=new ae(`https://${T2(t.name)}/${n}`);return s.allowGzip=!0,n===Fu&&(s.retryFunc=async(i,o,a)=>(Qe("QuickNodeProvider"),!0)),s}};var R2=BigInt("1"),S2=BigInt("2");function L2(r){for(let e=r.length-1;e>0;e--){let t=Math.floor(Math.random()*(e+1)),n=r[e];r[e]=r[t],r[t]=n}}function N2(r){return new Promise(e=>{setTimeout(e,r)})}function wh(){return new Date().getTime()}function bh(r){return JSON.stringify(r,(e,t)=>typeof t=="bigint"?{type:"bigint",value:t.toString()}:t)}var _b={stallTimeout:400,priority:1,weight:1},Xb={blockNumber:-2,requests:0,lateResponses:0,errorResponses:0,outOfSync:-1,unsupportedEvents:0,rollingDuration:0,score:0,_network:null,_updateNumber:null,_totalTime:0,_lastFatalError:null,_lastFatalErrorTimestamp:0};async function v2(r,e){for(;(r.blockNumber<0||r.blockNumber<e)&&(r._updateNumber||(r._updateNumber=(async()=>{try{let t=await r.provider.getBlockNumber();t>r.blockNumber&&(r.blockNumber=t)}catch(t){r.blockNumber=-2,r._lastFatalError=t,r._lastFatalErrorTimestamp=wh()}r._updateNumber=null})()),await r._updateNumber,r.outOfSync++,!r._lastFatalError););}function Wa(r){if(r==null)return"null";if(Array.isArray(r))return"["+r.map(Wa).join(",")+"]";if(typeof r=="object"&&typeof r.toJSON=="function")return Wa(r.toJSON());switch(typeof r){case"boolean":case"symbol":return r.toString();case"bigint":case"number":return BigInt(r).toString();case"string":return JSON.stringify(r);case"object":{let e=Object.keys(r);return e.sort(),"{"+e.map(t=>`${JSON.stringify(t)}:${Wa(r[t])}`).join(",")+"}"}}throw console.log("Could not serialize",r),new Error("Hmm...")}function yh(r,e){if("error"in e){let n=e.error,s;return se(n,"CALL_EXCEPTION")?s=Wa(Object.assign({},n,{shortMessage:void 0,reason:void 0,info:void 0})):s=Wa(n),{tag:s,value:n}}let t=e.result;return{tag:Wa(t),value:t}}function Mu(r,e){let t=new Map;for(let{value:s,tag:i,weight:o}of e){let a=t.get(i)||{value:s,weight:0};a.weight+=o,t.set(i,a)}let n=null;for(let s of t.values())s.weight>=r&&(!n||s.weight>n.weight)&&(n=s);if(n)return n.value}function Eh(r,e){let t=0,n=new Map,s=null,i=[];for(let{value:a,tag:c,weight:l}of e)if(a instanceof Error){let u=n.get(c)||{value:a,weight:0};u.weight+=l,n.set(c,u),(s==null||u.weight>s.weight)&&(s=u)}else i.push(BigInt(a)),t+=l;if(t<r)return s&&s.weight>=r?s.value:void 0;i.sort((a,c)=>a<c?-1:c>a?1:0);let o=Math.floor(i.length/2);return i.length%2?i[o]:(i[o-1]+i[o]+R2)/S2}function Ah(r,e){let t=Mu(r,e);if(t!==void 0)return t;for(let n of e)if(n.value)return n.value}function B2(r,e){if(r===1)return M(Eh(r,e),"%internal");let t=new Map,n=(o,a)=>{let c=t.get(o)||{result:o,weight:0};c.weight+=a,t.set(o,c)};for(let{weight:o,value:a}of e){let c=M(a);n(c-1,o),n(c,o),n(c+1,o)}let s=0,i;for(let{weight:o,result:a}of t.values())o>=r&&(o>s||i!=null&&o===s&&a>i)&&(s=o,i=a);return i}var pt,kn,ja,xt,Hb,Th,Vb,Qb,Rh,to=class extends _t{constructor(t,n,s){super(n,s);y(this,xt);g(this,"quorum");g(this,"eventQuorum");g(this,"eventWorkers");y(this,pt);y(this,kn);y(this,ja);h(this,pt,t.map(i=>i instanceof _t?Object.assign({provider:i},_b,Xb):Object.assign({},_b,i,Xb))),h(this,kn,-2),h(this,ja,null),s&&s.quorum!=null?this.quorum=s.quorum:this.quorum=Math.ceil(f(this,pt).reduce((i,o)=>(i+=o.weight,i),0)/2),this.eventQuorum=1,this.eventWorkers=1,p(this.quorum<=f(this,pt).reduce((i,o)=>i+o.weight,0),"quorum exceed provider weight","quorum",this.quorum)}get providerConfigs(){return f(this,pt).map(t=>{let n=Object.assign({},t);for(let s in n)s[0]==="_"&&delete n[s];return n})}async _detectNetwork(){return $.from(B(await this._perform({method:"chainId"})))}async _translatePerform(t,n){switch(n.method){case"broadcastTransaction":return await t.broadcastTransaction(n.signedTransaction);case"call":return await t.call(Object.assign({},n.transaction,{blockTag:n.blockTag}));case"chainId":return(await t.getNetwork()).chainId;case"estimateGas":return await t.estimateGas(n.transaction);case"getBalance":return await t.getBalance(n.address,n.blockTag);case"getBlock":{let s="blockHash"in n?n.blockHash:n.blockTag;return await t.getBlock(s,n.includeTransactions)}case"getBlockNumber":return await t.getBlockNumber();case"getCode":return await t.getCode(n.address,n.blockTag);case"getGasPrice":return(await t.getFeeData()).gasPrice;case"getPriorityFee":return(await t.getFeeData()).maxPriorityFeePerGas;case"getLogs":return await t.getLogs(n.filter);case"getStorage":return await t.getStorage(n.address,n.position,n.blockTag);case"getTransaction":return await t.getTransaction(n.hash);case"getTransactionCount":return await t.getTransactionCount(n.address,n.blockTag);case"getTransactionReceipt":return await t.getTransactionReceipt(n.hash);case"getTransactionResult":return await t.getTransactionResult(n.hash)}}async _perform(t){if(t.method==="broadcastTransaction"){let o=f(this,pt).map(l=>null),a=f(this,pt).map(async({provider:l,weight:u},d)=>{try{let x=await l._perform(t);o[d]=Object.assign(yh(t.method,{result:x}),{weight:u})}catch(x){o[d]=Object.assign(yh(t.method,{error:x}),{weight:u})}});for(;;){let l=o.filter(x=>x!=null);for(let{value:x}of l)if(!(x instanceof Error))return x;let u=Mu(this.quorum,o.filter(x=>x!=null));if(se(u,"INSUFFICIENT_FUNDS"))throw u;let d=a.filter((x,m)=>o[m]==null);if(d.length===0)break;await Promise.race(d)}let c=Ah(this.quorum,o);if(w(c!==void 0,"problem multi-broadcasting","SERVER_ERROR",{request:"%sub-requests",info:{request:t,results:o.map(bh)}}),c instanceof Error)throw c;return c}await S(this,xt,Vb).call(this);let n=new Set,s=0;for(;;){let o=S(this,xt,Th).call(this,n,t);if(o==null||(s+=o.config.weight,s>=this.quorum))break}let i=await S(this,xt,Rh).call(this,n,t);for(let o of n)o.perform&&o.result==null&&o.config.lateResponses++;return i}async destroy(){for(let{provider:t}of f(this,pt))t.destroy();super.destroy()}};pt=new WeakMap,kn=new WeakMap,ja=new WeakMap,xt=new WeakSet,Hb=function(t){let n=Array.from(t).map(i=>i.config),s=f(this,pt).slice();L2(s),s.sort((i,o)=>i.priority-o.priority);for(let i of s)if(!i._lastFatalError&&n.indexOf(i)===-1)return i;return null},Th=function(t,n){let s=S(this,xt,Hb).call(this,t);if(s==null)return null;let i={config:s,result:null,didBump:!1,perform:null,staller:null},o=wh();return i.perform=(async()=>{try{s.requests++;let c=await this._translatePerform(s.provider,n);i.result={result:c}}catch(c){s.errorResponses++,i.result={error:c}}let a=wh()-o;s._totalTime+=a,s.rollingDuration=.95*s.rollingDuration+.05*a,i.perform=null})(),i.staller=(async()=>{await N2(s.stallTimeout),i.staller=null})(),t.add(i),i},Vb=async function(){let t=f(this,ja);if(!t){let n=[];f(this,pt).forEach(s=>{n.push((async()=>{await v2(s,0),s._lastFatalError||(s._network=await s.provider.getNetwork())})())}),h(this,ja,t=(async()=>{await Promise.all(n);let s=null;for(let i of f(this,pt)){if(i._lastFatalError)continue;let o=i._network;s==null?s=o.chainId:o.chainId!==s&&w(!1,"cannot mix providers on different networks","UNSUPPORTED_OPERATION",{operation:"new FallbackProvider"})}})())}await t},Qb=async function(t,n){let s=[];for(let i of t)if(i.result!=null){let{tag:o,value:a}=yh(n.method,i.result);s.push({tag:o,value:a,weight:i.config.weight})}if(!(s.reduce((i,o)=>i+o.weight,0)<this.quorum)){switch(n.method){case"getBlockNumber":{f(this,kn)===-2&&h(this,kn,Math.ceil(M(Eh(this.quorum,f(this,pt).filter(o=>!o._lastFatalError).map(o=>({value:o.blockNumber,tag:M(o.blockNumber).toString(),weight:o.weight}))))));let i=B2(this.quorum,s);return i===void 0?void 0:(i>f(this,kn)&&h(this,kn,i),f(this,kn))}case"getGasPrice":case"getPriorityFee":case"estimateGas":return Eh(this.quorum,s);case"getBlock":return"blockTag"in n&&n.blockTag==="pending"?Ah(this.quorum,s):Mu(this.quorum,s);case"call":case"chainId":case"getBalance":case"getTransactionCount":case"getCode":case"getStorage":case"getTransaction":case"getTransactionReceipt":case"getLogs":return Mu(this.quorum,s);case"broadcastTransaction":return Ah(this.quorum,s)}w(!1,"unsupported method","UNSUPPORTED_OPERATION",{operation:`_perform(${bh(n.method)})`})}},Rh=async function(t,n){if(t.size===0)throw new Error("no runners?!");let s=[],i=0;for(let a of t){if(a.perform&&s.push(a.perform),a.staller){s.push(a.staller);continue}a.didBump||(a.didBump=!0,i++)}let o=await S(this,xt,Qb).call(this,t,n);if(o!==void 0){if(o instanceof Error)throw o;return o}for(let a=0;a<i;a++)S(this,xt,Th).call(this,t,n);return w(s.length>0,"quorum not met","SERVER_ERROR",{request:"%sub-requests",info:{request:n,results:Array.from(t).map(a=>bh(a.result))}}),await Promise.race(s),await S(this,xt,Rh).call(this,t,n)};function I2(r){return r&&typeof r.send=="function"&&typeof r.close=="function"}var O2="goerli kovan sepolia classicKotti optimism-goerli arbitrum-goerli matic-mumbai bnbt".split(" ");function Sh(r,e){e==null&&(e={});let t=o=>e[o]==="-"?!1:typeof e.exclusive=="string"?o===e.exclusive:Array.isArray(e.exclusive)?e.exclusive.indexOf(o)!==-1:!0;if(typeof r=="string"&&r.match(/^https?:/))return new me(r);if(typeof r=="string"&&r.match(/^wss?:/)||I2(r))return new Mn(r);let n=null;try{n=$.from(r)}catch{}let s=[];if(t("publicPolygon")&&n&&(n.name==="matic"?s.push(new me("https://polygon-rpc.com/",n,{staticNetwork:n})):n.name==="matic-amoy"&&s.push(new me("https://rpc-amoy.polygon.technology/",n,{staticNetwork:n}))),t("alchemy"))try{s.push(new Hi(r,e.alchemy))}catch{}if(t("ankr")&&e.ankr!=null)try{s.push(new Xi(r,e.ankr))}catch{}if(t("chainstack"))try{s.push(new Vi(r,e.chainstack))}catch{}if(t("cloudflare"))try{s.push(new Qi(r))}catch{}if(t("etherscan"))try{s.push(new Zi(r,e.etherscan))}catch{}if(t("infura"))try{let o=e.infura,a;typeof o=="object"&&(a=o.projectSecret,o=o.projectId),s.push(new Js(r,o,a))}catch{}if(t("quicknode"))try{let o=e.quicknode;s.push(new eo(r,o))}catch{}if(w(s.length,"unsupported default network","UNSUPPORTED_OPERATION",{operation:"getDefaultProvider"}),s.length===1)return s[0];let i=Math.floor(s.length/2);return i>2&&(i=2),n&&O2.indexOf(n.name)!==-1&&(i=1),e&&e.quorum&&(i=e.quorum),new to(s,void 0,{quorum:i})}var Ds,ro,Lh=class Lh extends Xt{constructor(t){super(t.provider);g(this,"signer");y(this,Ds);y(this,ro);N(this,{signer:t}),h(this,Ds,null),h(this,ro,0)}async getAddress(){return this.signer.getAddress()}connect(t){return new Lh(this.signer.connect(t))}async getNonce(t){if(t==="pending"){f(this,Ds)==null&&h(this,Ds,super.getNonce("pending"));let n=f(this,ro);return await f(this,Ds)+n}return super.getNonce(t)}increment(){qr(this,ro)._++}reset(){h(this,ro,0),h(this,Ds,null)}async sendTransaction(t){let n=this.getNonce("pending");return this.increment(),t=await this.signer.populateTransaction(t),t.nonce=await n,await this.signer.sendTransaction(t)}signTransaction(t){return this.signer.signTransaction(t)}signMessage(t){return this.signer.signMessage(t)}signTypedData(t,n,s){return this.signer.signTypedData(t,n,s)}};Ds=new WeakMap,ro=new WeakMap;var El=Lh;var qa,ec,no=class no extends ol{constructor(t,n,s){let i=Object.assign({},s??{},{batchMaxCount:1});p(t&&t.request,"invalid EIP-1193 provider","ethereum",t);super(n,i);y(this,qa);y(this,ec);h(this,ec,null),s&&s.providerInfo&&h(this,ec,s.providerInfo),h(this,qa,async(o,a)=>{let c={method:o,params:a};this.emit("debug",{action:"sendEip1193Request",payload:c});try{let l=await t.request(c);return this.emit("debug",{action:"receiveEip1193Result",result:l}),l}catch(l){let u=new Error(l.message);throw u.code=l.code,u.data=l.data,u.payload=c,this.emit("debug",{action:"receiveEip1193Error",error:u}),u}})}get providerInfo(){return f(this,ec)}async send(t,n){return await this._start(),await super.send(t,n)}async _send(t){p(!Array.isArray(t),"EIP-1193 does not support batch request","payload",t);try{let n=await f(this,qa).call(this,t.method,t.params||[]);return[{id:t.id,result:n}]}catch(n){return[{id:t.id,error:{code:n.code,data:n.data,message:n.message}}]}}getRpcError(t,n){switch(n=JSON.parse(JSON.stringify(n)),n.error.code||-1){case 4001:n.error.message=`ethers-user-denied: ${n.error.message}`;break;case 4200:n.error.message=`ethers-unsupported: ${n.error.message}`;break}return super.getRpcError(t,n)}async hasSigner(t){t==null&&(t=0);let n=await this.send("eth_accounts",[]);return typeof t=="number"?n.length>t:(t=t.toLowerCase(),n.filter(s=>s.toLowerCase()===t).length!==0)}async getSigner(t){if(t==null&&(t=0),!await this.hasSigner(t))try{await f(this,qa).call(this,"eth_requestAccounts",[])}catch(n){let s=n.payload;throw this.getRpcError(s,{id:s.id,error:n})}return await super.getSigner(t)}static async discover(t){if(t==null&&(t={}),t.provider)return new no(t.provider);let n=t.window?t.window:typeof window<"u"?window:null;if(n==null)return null;let s=t.anyProvider;if(s&&n.ethereum)return new no(n.ethereum);if(!("addEventListener"in n&&"dispatchEvent"in n&&"removeEventListener"in n))return null;let i=t.timeout?t.timeout:300;return i===0?null:await new Promise((o,a)=>{let c=[],l=x=>{c.push(x.detail),s&&u()},u=()=>{if(clearTimeout(d),c.length)if(t&&t.filter){let x=t.filter(c.map(m=>Object.assign({},m.info)));if(x==null)o(null);else if(x instanceof no)o(x);else{let m=null;if(x.uuid&&(m=c.filter(b=>x.uuid===b.info.uuid)[0]),m){let{provider:A,info:b}=m;o(new no(A,void 0,{providerInfo:b}))}else a(Z("filter returned unknown info","UNSUPPORTED_OPERATION",{value:x}))}}else{let{provider:x,info:m}=c[0];o(new no(x,void 0,{providerInfo:m}))}else o(null);n.removeEventListener("eip6963:announceProvider",l)},d=setTimeout(()=>{u()},i);n.addEventListener("eip6963:announceProvider",l),n.dispatchEvent(new Event("eip6963:requestProvider"))})}};qa=new WeakMap,ec=new WeakMap;var Tl=no;function C2(r){switch(r){case"mainnet":return"https://eth.blockscout.com/api/eth-rpc";case"sepolia":return"https://eth-sepolia.blockscout.com/api/eth-rpc";case"holesky":return"https://eth-holesky.blockscout.com/api/eth-rpc";case"classic":return"https://etc.blockscout.com/api/eth-rpc";case"arbitrum":return"https://arbitrum.blockscout.com/api/eth-rpc";case"base":return"https://base.blockscout.com/api/eth-rpc";case"base-sepolia":return"https://base-sepolia.blockscout.com/api/eth-rpc";case"matic":return"https://polygon.blockscout.com/api/eth-rpc";case"optimism":return"https://optimism.blockscout.com/api/eth-rpc";case"optimism-sepolia":return"https://optimism-sepolia.blockscout.com/api/eth-rpc";case"xdai":return"https://gnosis.blockscout.com/api/eth-rpc"}p(!1,"unsupported network","network",r)}var Rl=class r extends me{constructor(t,n){t==null&&(t="mainnet");let s=$.from(t);n==null&&(n=null);let i=r.getRequest(s);super(i,s,{staticNetwork:s});g(this,"apiKey");N(this,{apiKey:n})}_getProvider(t){try{return new r(t,this.apiKey)}catch{}return super._getProvider(t)}isCommunityResource(){return this.apiKey===null}getRpcRequest(t){let n=super.getRpcRequest(t);return n&&n.method==="eth_estimateGas"&&n.args.length==1&&(n.args=n.args.slice(),n.args.push("latest")),n}getRpcError(t,n){let s=n?n.error:null;if(s&&s.code===-32015&&!V(s.data||"",!0)){let i={"assert(false)":"01","arithmetic underflow or overflow":"11","division or modulo by zero":"12","out-of-bounds array access; popping on an empty array":"31","out-of-bounds access of an array or bytesN":"32"},o="";s.message==="VM execution error."?o=i[s.data]||"":i[s.message||""]&&(o=i[s.message||""]),o&&(s.message+=` (reverted: ${s.data})`,s.data="0x4e487b7100000000000000000000000000000000000000000000000000000000000000"+o)}else s&&s.code===-32e3&&s.message==="wrong transaction nonce"&&(s.message+=" (nonce too low)");return super.getRpcError(t,n)}static getRequest(t){let n=new ae(C2(t.name));return n.allowGzip=!0,n}};var ku="62e1ad51b37b8e00394bda3b";function P2(r){switch(r){case"mainnet":return"eth-mainnet.gateway.pokt.network";case"goerli":return"eth-goerli.gateway.pokt.network";case"matic":return"poly-mainnet.gateway.pokt.network";case"matic-mumbai":return"polygon-mumbai-rpc.gateway.pokt.network"}p(!1,"unsupported network","network",r)}var Sl=class r extends me{constructor(t,n,s){t==null&&(t="mainnet");let i=$.from(t);n==null&&(n=ku),s==null&&(s=null);let o={staticNetwork:i},a=r.getRequest(i,n,s);super(a,i,o);g(this,"applicationId");g(this,"applicationSecret");N(this,{applicationId:n,applicationSecret:s})}_getProvider(t){try{return new r(t,this.applicationId,this.applicationSecret)}catch{}return super._getProvider(t)}static getRequest(t,n,s){n==null&&(n=ku);let i=new ae(`https://${P2(t.name)}/v1/lb/${n}`);return i.allowGzip=!0,s&&i.setCredentials("",s),n===ku&&(i.retryFunc=async(o,a,c)=>(Qe("PocketProvider"),!0)),i}isCommunityResource(){return this.applicationId===ku}};import{connect as U2}from"net";function F2(r){let e=[],t=0;for(;;){let n=r.indexOf(10,t);if(n===-1)break;e.push(r.subarray(t,n).toString().trim()),t=n+1}return{messages:e,remaining:r.subarray(t)}}var Nl,Ll=class extends Fn{constructor(t,n,s){super(n,s);y(this,Nl);h(this,Nl,U2(t)),this.socket.on("ready",async()=>{try{await this._start()}catch(o){console.log("failed to start IpcSocketProvider",o)}});let i=Buffer.alloc(0);this.socket.on("data",o=>{i=Buffer.concat([i,o]);let{messages:a,remaining:c}=F2(i);a.forEach(l=>{this._processMessage(l)}),i=c}),this.socket.on("end",()=>{this.emit("close"),this.socket.destroy(),this.socket.end()})}get socket(){return f(this,Nl)}destroy(){this.socket.destroy(),this.socket.end(),super.destroy()}async _write(t){t.endsWith(`
9
- `)||(t+=`
10
- `),this.socket.write(t)}};Nl=new WeakMap;var tc,Nh=class Nh extends Xt{constructor(t,n){super(n);g(this,"address");y(this,tc);p(t&&typeof t.sign=="function","invalid private key","privateKey","[ REDACTED ]"),h(this,tc,t);let s=pr(this.signingKey.publicKey);N(this,{address:s})}get signingKey(){return f(this,tc)}get privateKey(){return this.signingKey.privateKey}async getAddress(){return this.address}connect(t){return new Nh(f(this,tc),t)}async signTransaction(t){t=kt(t);let{to:n,from:s}=await he({to:t.to?xe(t.to,this):void 0,from:t.from?xe(t.from,this):void 0});n!=null&&(t.to=n),s!=null&&(t.from=s),t.from!=null&&(p(k(t.from)===this.address,"transaction from address mismatch","tx.from",t.from),delete t.from);let i=Rt.from(t);return i.signature=this.signingKey.sign(i.unsignedHash),i.serialized}async signMessage(t){return this.signMessageSync(t)}signMessageSync(t){return this.signingKey.sign(ua(t)).serialized}authorizeSync(t){p(typeof t.address=="string","invalid address for authorizeSync","auth.address",t);let n=this.signingKey.sign(oa(t));return Object.assign({},{address:k(t.address),nonce:B(t.nonce||0),chainId:B(t.chainId||0)},{signature:n})}async authorize(t){return t=Object.assign({},t,{address:await xe(t.address,this)}),this.authorizeSync(await this.populateAuthorization(t))}async signTypedData(t,n,s){let i=await Ut.resolveNames(t,n,s,async o=>{w(this.provider!=null,"cannot resolve ENS names without a provider","UNSUPPORTED_OPERATION",{operation:"resolveName",info:{name:o}});let a=await this.provider.resolveName(o);return w(a!=null,"unconfigured ENS name","UNCONFIGURED_NAME",{value:o}),a});return this.signingKey.sign(Ut.hash(i.domain,n,i.value)).serialized}};tc=new WeakMap;var Jn=Nh;var Ju=" !#$%&'()*+,-./<=>?@[]^_`{|}~",M2=/^[a-z]*$/i;function Zb(r,e){let t=97;return r.reduce((n,s)=>(s===e?t++:s.match(M2)?n.push(String.fromCharCode(t)+s):(t=97,n.push(s)),n),[])}function k2(r,e){for(let s=Ju.length-1;s>=0;s--)r=r.split(Ju[s]).join(e.substring(2*s,2*s+2));let t=[],n=r.replace(/(:|([0-9])|([A-Z][a-z]*))/g,(s,i,o,a)=>{if(o)for(let c=parseInt(o);c>=0;c--)t.push(";");else t.push(i.toLowerCase());return""});if(n)throw new Error(`leftovers: ${JSON.stringify(n)}`);return Zb(Zb(t,";"),":")}function Du(r){return p(r[0]==="0","unsupported auwl data","data",r),k2(r.substring(1+2*Ju.length),r.substring(1,1+2*Ju.length))}var It=class{constructor(e){g(this,"locale");N(this,{locale:e})}split(e){return e.toLowerCase().split(/\s+/g)}join(e){return e.join(" ")}};var rc,vl,so,Bl,vh,ct=class extends It{constructor(t,n,s){super(t);y(this,Bl);y(this,rc);y(this,vl);y(this,so);h(this,rc,n),h(this,vl,s),h(this,so,null)}get _data(){return f(this,rc)}_decodeWords(){return Du(f(this,rc))}getWord(t){let n=S(this,Bl,vh).call(this);return p(t>=0&&t<n.length,`invalid word index: ${t}`,"index",t),n[t]}getWordIndex(t){return S(this,Bl,vh).call(this).indexOf(t)}};rc=new WeakMap,vl=new WeakMap,so=new WeakMap,Bl=new WeakSet,vh=function(){if(f(this,so)==null){let t=this._decodeWords();if(ge(t.join(`
11
- `)+`
12
- `)!==f(this,vl))throw new Error(`BIP39 Wordlist for ${this.locale} FAILED`);h(this,so,t)}return f(this,so)};var J2="0erleonalorenseinceregesticitStanvetearctssi#ch2Athck&tneLl0And#Il.yLeOutO=S|S%b/ra@SurdU'0Ce[Cid|CountCu'Hie=IdOu,-Qui*Ro[TT]T%T*[Tu$0AptDD-tD*[Ju,M.UltV<)Vi)0Rob-0FairF%dRaid0A(EEntRee0Ead0MRRp%tS!_rmBumCoholErtI&LLeyLowMo,O}PhaReadySoT Ways0A>urAz(gOngOuntU'd0Aly,Ch%Ci|G G!GryIm$K!Noun)Nu$O` Sw T&naTiqueXietyY1ArtOlogyPe?P!Pro=Ril1ChCt-EaEnaGueMMedM%MyOundR<+Re,Ri=RowTTefa@Ti,Tw%k0KPe@SaultSetSi,SumeThma0H!>OmTa{T&dT.udeTra@0Ct]D.Gu,NtTh%ToTumn0Era+OcadoOid0AkeA*AyEsomeFulKw?d0Is:ByChel%C#D+GL<)Lc#y~MbooN<aNn RRelyRga(R*lSeS-SketTt!3A^AnAutyCau'ComeEfF%eG(Ha=H(dLie=LowLtN^Nef./TrayTt Twe&Y#d3Cyc!DKeNdOlogyRdR`Tt _{AdeAmeAnketA,EakE[IndOodO[omOu'UeUrUsh_rdAtDyIlMbNeNusOkO,Rd R(gRrowSsTtomUn)XY_{etA(AndA[A=EadEezeI{Id+IefIghtIngIskOccoliOk&OnzeOomO` OwnUsh2Bb!DdyD+tFf$oIldLbLkL!tNd!Nk Rd&Rg R,SS(e[SyTt Y Zz:Bba+B(B!CtusGeKe~LmM aMpNN$N)lNdyNn#NoeNvasNy#Pab!P.$Pta(RRb#RdRgoRpetRryRtSeShS(o/!Su$TT$ogT^Teg%yTt!UghtU'Ut]Ve3Il(gL yM|NsusNturyRe$Rta(_irAlkAmp]An+AosApt Ar+A'AtEapE{Ee'EfErryE,I{&IefIldIm}yOi)Oo'R#-U{!UnkUrn0G?Nnam#Rc!Tiz&TyVil_imApArifyAwAyE<ErkEv I{I|IffImbIn-IpO{OgO'O`OudOwnUbUmpU, Ut^_^A,C#utDeFfeeIlInL!@L%LumnMb(eMeMf%tM-Mm#Mp<yNc tNdu@NfirmNg*[N}@Nsid NtrolNv()OkOlPp PyR$ReRnR*@/Tt#U^UntryUp!Ur'Us(V Yo>_{Ad!AftAmA}AshAt AwlAzyEamEd.EekEwI{etImeIspIt-OpO[Ou^OwdUci$UelUi'Umb!Un^UshYY,$2BeLtu*PPbo?dRiousRr|Rta(R=Sh]/omTe3C!:DMa+MpN)Ng R(gShUght WnY3AlBa>BrisCadeCemb CideCl(eC%a>C*a'ErF&'F(eFyG*eLayLiv M<dMi'Ni$Nti,NyP?tP&dPos.P`PutyRi=ScribeS tSignSkSpair/royTailTe@VelopVi)Vo>3AgramAlAm#dAryCeE'lEtFf G.$Gn.yLemmaNn NosaurRe@RtSag*eScov Sea'ShSmi[S%d Splay/<)V tVideV%)Zzy5Ct%Cum|G~Lph(Ma(Na>NkeyN%OrSeUb!Ve_ftAg#AmaA,-AwEamE[IftIllInkIpI=OpUmY2CkMbNeR(g/T^Ty1Arf1Nam-:G G!RlyRnR`Sily/Sy1HoOlogyOnomy0GeItUca>1F%t0G1GhtTh 2BowD E@r-Eg<tEm|Eph<tEvat%I>Se0B?kBodyBra)Er+Ot]PloyPow Pty0Ab!A@DD![D%'EmyErgyF%)Ga+G(eH<)JoyLi,OughR-hRollSu*T Ti*TryVelope1Isode0U$Uip0AA'OdeOs]R%Upt0CapeSayS&)Ta>0Ern$H-s1Id&)IlOkeOl=1A@Amp!Ce[Ch<+C.eCludeCu'Ecu>Erci'Hau,Hib.I!I,ItOt-P<dPe@Pi*Pla(Po'P*[T&dTra0EEbrow:Br-CeCultyDeIntI`~L'MeMilyMousNNcyNtasyRmSh]TT$Th TigueUltV%.e3Atu*Bru?yD $EEdElMa!N)/iv$T^V W3B Ct]EldGu*LeLmLt N$NdNeNg NishReRmR,Sc$ShTT}[X_gAmeAshAtAv%EeIghtIpOatO{O%Ow UidUshY_mCusGIlLd~owOdOtR)Re,R+tRkRtu}RumRw?dSsil/ UndX_gi!AmeEqu|EshI&dIn+OgOntO,OwnOz&U.2ElNNnyRna)RyTu*:D+tInLaxy~ yMePRa+Rba+Rd&Rl-Rm|SSpTeTh U+Ze3N $NiusN*Nt!Nu(e/u*2O,0AntFtGg!Ng RaffeRlVe_dAn)A*A[IdeImp'ObeOomOryO=OwUe_tDde[LdOdO'RillaSpelSsipV nWn_bA)A(AntApeA[Av.yEatE&IdIefItOc yOupOwUnt_rdE[IdeIltIt?N3M:B.IrLfMm M, NdPpyRb%RdRshR=,TVeWkZ?d3AdAl`ArtAvyD+hogIght~oLmetLpNRo3Dd&Gh~NtPRe/%y5BbyCkeyLdLeLiday~owMeNeyOdPeRnRr%R'Sp.$/TelUrV 5BGeM<Mb!M%Nd*dNgryNtRd!RryRtSb<d3Brid:1EOn0EaEntifyLe2N%e4LLeg$L}[0A+Ita>M&'Mu}Pa@Po'Pro=Pul'0ChCludeComeC*a'DexD-a>Do%Du,ryF<tFl-tF%mHa!H .Iti$Je@JuryMa>N Noc|PutQuiryS<eSe@SideSpi*/$lTa@T e,ToVe,V.eVol=3On0L<dOla>Sue0Em1Ory:CketGu?RZz3AlousAns~yWel9BInKeUr}yY5D+I)MpNg!Ni%Nk/:Ng?oo3EnEpT^upY3CkDD}yNdNgdomSsTT^&TeTt&Wi4EeIfeO{Ow:BBelB%Dd DyKeMpNgua+PtopR+T T(UghUndryVaWWnWsu.Y Zy3Ad AfArnA=Ctu*FtGG$G&dIsu*M#NdNg`NsOp?dSs#Tt Vel3ArB tyBr?yC&'FeFtGhtKeMbM.NkOnQuid/Tt!VeZ?d5AdAnB, C$CkG-NelyNgOpTt yUdUn+VeY$5CkyGga+Mb N?N^Xury3R-s:Ch(eDG-G}tIdIlInJ%KeMm$NNa+Nda>NgoNs]Nu$P!Rb!R^Rg(R(eRketRria+SkSs/ T^T i$ThTrixTt XimumZe3AdowAnAsu*AtCh<-D$DiaLodyLtMb M%yNt]NuRcyR+R.RryShSsa+T$Thod3Dd!DnightLk~]M-NdNimumN%Nu>Rac!Rr%S ySs/akeXXedXtu*5Bi!DelDifyMM|N.%NkeyN, N`OnR$ReRn(gSqu.oTh T]T%Unta(U'VeVie5ChFf(LeLtiplySc!SeumShroomS-/Tu$3Self/ yTh:I=MePk(Rrow/yT]Tu*3ArCkEdGati=G!@I` PhewR=/TTw%kUtr$V WsXt3CeGht5B!I'M(eeOd!Rm$R`SeTab!TeTh(gTi)VelW5C!?Mb R'T:K0EyJe@Li+Scu*S =Ta(Vious0CurE<Tob 0Or1FF Fi)T&2L1Ay0DI=Ymp-0It0CeEI#L(eLy1EnEraIn]Po'T]1An+B.Ch?dD D(?yG<I|Ig($Ph<0Tr-h0H 0Tdo%T TputTside0AlEnEr0NN 0Yg&0/ 0O}:CtDd!GeIrLa)LmNdaNelN-N` P RadeR|RkRrotRtySsT^ThTi|TrolTt nU'VeYm|3A)AnutArAs<tL-<NN$tyNcilOp!Pp Rfe@Rm.Rs#T2O}OtoRa'Ys-$0AnoCn-Ctu*E)GGe#~LotNkO} Pe/olT^Zza_)A}tA,-A>AyEa'Ed+U{UgUn+2EmEtIntL?LeLi)NdNyOlPul?Rt]S.]Ssib!/TatoTt yV tyWd W _@i)Ai'Ed-tEf Epa*Es|EttyEv|I)IdeIm?yIntI%.yIs#Iva>IzeOb!mO)[Odu)Of.OgramOje@Omo>OofOp tyOsp O>@OudOvide2Bl-Dd(g~LpL'Mpk(N^PilPpyR^a'R.yRpo'R'ShTZz!3Ramid:99Al.yAntumArt E,]I{ItIzO>:Bb.Cco#CeCkD?DioIlInI'~yMpN^NdomN+PidReTeTh V&WZ%3AdyAlAs#BelBuildC$lCei=CipeC%dCyc!Du)F!@F%mFu'G]G*tGul?Je@LaxLea'LiefLyMa(Memb M(dMo=Nd NewNtOp&PairPeatPla)P%tQui*ScueSemb!Si,Sour)Sp#'SultTi*T*atTurnUn]Ve$ViewW?d2Y`m0BBb#CeChDeD+F!GhtGidNgOtPp!SkTu$V$V 5AdA,BotBu,CketM<)OfOkieOmSeTa>UghUndU>Y$5Bb DeGLeNNwayR$:DDd!D}[FeIlLadLm#L#LtLu>MeMp!NdTisfyToshiU)Usa+VeY1A!AnA*Att E}HemeHoolI&)I[%sOrp]OutRapRe&RiptRub1AAr^As#AtC#dC*tCt]Cur.yEdEkGm|Le@~M(?Ni%N'Nt&)RiesRvi)Ss]Tt!TupV&_dowAftAllowA*EdEllEriffIeldIftI}IpIv O{OeOotOpOrtOuld O=RimpRugUff!Y0Bl(gCkDeE+GhtGnL|Lk~yLv Mil?Mp!N)NgR&/ Tua>XZe1A>Et^IIllInIrtUll0AbAmEepEnd I)IdeIghtImOg<OtOwUsh0AllArtI!OkeOo`0A{AkeApIffOw0ApCc Ci$CkDaFtL?Ldi LidLut]L=Me#eNgOnRryRtUlUndUpUr)U`0A)A*Ati$AwnEakEci$EedEllEndH eI)Id IkeInIr.L.OilOns%O#OrtOtRayReadR(gY0Ua*UeezeUir*l_b!AdiumAffA+AirsAmpAndArtA>AyEakEelEmEpE*oI{IllIngO{Oma^O}OolOryO=Ra>gyReetRikeR#gRugg!Ud|UffUmb!Y!0Bje@Bm.BwayC)[ChDd&Ff G?G+,ItMm NNnyN'tP PplyP*meReRfa)R+Rpri'RroundR=ySpe@/a(1AllowAmpApArmE?EetIftImIngIt^Ord1MbolMptomRup/em:B!Ck!GIlL|LkNkPeR+tSk/eTtooXi3A^Am~NN<tNnisNtRm/Xt_nkAtEmeEnE%yE*EyIngIsOughtReeRi=RowUmbUnd 0CketDeG LtMb MeNyPRedSsueT!5A,BaccoDayDdl EGe` I!tK&MatoM%rowNeNgueNightOlO`PP-Pp!R^RnadoRtoi'SsT$Uri,W?dW WnY_{AdeAff-Ag-A(Ansf ApAshA=lAyEatEeEndI$IbeI{Igg ImIpOphyOub!U{UeUlyUmpetU,U`Y2BeIt]Mb!NaN}lRkeyRnRt!1El=EntyI)InI,O1PeP-$:5Ly5B*lla0Ab!Awa*C!Cov D DoFairFoldHappyIf%mIqueItIv 'KnownLo{TilUsu$Veil1Da>GradeHoldOnP Set1B<Ge0A+EEdEfulE![U$0Il.y:C<tCuumGueLidL!yL=NNishP%Rious/Ult3H-!L=tNd%Ntu*NueRbRifyRs]RyS'lT <3Ab!Br<tCiousCt%yDeoEw~a+Nta+Ol(Rtu$RusSaS.Su$T$Vid5C$I)IdLc<oLumeTeYa+:GeG#ItLk~LnutNtRfa*RmRri%ShSp/eT VeY3Al`Ap#ArA'lA` BDd(gEk&dIrdLcome/T_!AtEatEelEnE*IpIsp 0DeD`FeLd~NNdowNeNgNkNn Nt ReSdomSeShT}[5LfM<Nd OdOlRdRkRldRryR`_pE{E,!I,I>Ong::Rd3Ar~ow9UUngU`:3BraRo9NeO",D2="0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60",Bh=null,mt=class r extends ct{constructor(){super("en",J2,D2)}static wordlist(){return Bh==null&&(Bh=new r),Bh}};function zb(r){return(1<<r)-1<<8-r&255}function G2(r){return(1<<r)-1&255}function Ih(r,e){Vs("NFKD"),e==null&&(e=mt.wordlist());let t=e.split(r);p(t.length%3===0&&t.length>=12&&t.length<=24,"invalid mnemonic length","mnemonic","[ REDACTED ]");let n=new Uint8Array(Math.ceil(11*t.length/8)),s=0;for(let l=0;l<t.length;l++){let u=e.getWordIndex(t[l].normalize("NFKD"));p(u>=0,`invalid mnemonic word at index ${l}`,"mnemonic","[ REDACTED ]");for(let d=0;d<11;d++)u&1<<10-d&&(n[s>>3]|=1<<7-s%8),s++}let i=32*t.length/3,o=t.length/3,a=zb(o),c=L(Ne(n.slice(0,i/8)))[0]&a;return p(c===(n[n.length-1]&a),"invalid mnemonic checksum","mnemonic","[ REDACTED ]"),R(n.slice(0,i/8))}function Oh(r,e){p(r.length%4===0&&r.length>=16&&r.length<=32,"invalid entropy size","entropy","[ REDACTED ]"),e==null&&(e=mt.wordlist());let t=[0],n=11;for(let o=0;o<r.length;o++)n>8?(t[t.length-1]<<=8,t[t.length-1]|=r[o],n-=8):(t[t.length-1]<<=n,t[t.length-1]|=r[o]>>8-n,t.push(r[o]&G2(8-n)),n+=3);let s=r.length/4,i=parseInt(Ne(r).substring(2,4),16)&zb(s);return t[t.length-1]<<=s,t[t.length-1]|=i>>8-s,e.join(t.map(o=>e.getWord(o)))}var Ch={},Kr=class r{constructor(e,t,n,s,i){g(this,"phrase");g(this,"password");g(this,"wordlist");g(this,"entropy");s==null&&(s=""),i==null&&(i=mt.wordlist()),De(e,Ch,"Mnemonic"),N(this,{phrase:n,password:s,wordlist:i,entropy:t})}computeSeed(){let e=re("mnemonic"+this.password,"NFKD");return st(re(this.phrase,"NFKD"),e,2048,64,"sha512")}static fromPhrase(e,t,n){let s=Ih(e,n);return e=Oh(L(s),n),new r(Ch,s,e,t,n)}static fromEntropy(e,t,n){let s=L(e,"entropy"),i=Oh(s,n);return new r(Ch,R(s),i,t,n)}static entropyToPhrase(e,t){let n=L(e,"entropy");return Oh(n,t)}static phraseToEntropy(e,t){return Ih(e,t)}static isValidMnemonic(e,t){try{return Ih(e,t),!0}catch{}return!1}};var Ze=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},Ph=function(r,e,t,n,s){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!s:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?s.call(r,t):s?s.value=t:e.set(r,t),t},_u,Zt,$r,_2={16:10,24:12,32:14},X2=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],Qt=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],Gu=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],H2=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],V2=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],Q2=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],Z2=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],z2=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],K2=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],$2=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],Y2=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],W2=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],j2=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],q2=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],eE=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function Uh(r){let e=[];for(let t=0;t<r.length;t+=4)e.push(r[t]<<24|r[t+1]<<16|r[t+2]<<8|r[t+3]);return e}var Il=class r{get key(){return Ze(this,_u,"f").slice()}constructor(e){if(_u.set(this,void 0),Zt.set(this,void 0),$r.set(this,void 0),!(this instanceof r))throw Error("AES must be instanitated with `new`");Ph(this,_u,new Uint8Array(e),"f");let t=_2[this.key.length];if(t==null)throw new TypeError("invalid key size (must be 16, 24 or 32 bytes)");Ph(this,$r,[],"f"),Ph(this,Zt,[],"f");for(let u=0;u<=t;u++)Ze(this,$r,"f").push([0,0,0,0]),Ze(this,Zt,"f").push([0,0,0,0]);let n=(t+1)*4,s=this.key.length/4,i=Uh(this.key),o;for(let u=0;u<s;u++)o=u>>2,Ze(this,$r,"f")[o][u%4]=i[u],Ze(this,Zt,"f")[t-o][u%4]=i[u];let a=0,c=s,l;for(;c<n;){if(l=i[s-1],i[0]^=Qt[l>>16&255]<<24^Qt[l>>8&255]<<16^Qt[l&255]<<8^Qt[l>>24&255]^X2[a]<<24,a+=1,s!=8)for(let m=1;m<s;m++)i[m]^=i[m-1];else{for(let m=1;m<s/2;m++)i[m]^=i[m-1];l=i[s/2-1],i[s/2]^=Qt[l&255]^Qt[l>>8&255]<<8^Qt[l>>16&255]<<16^Qt[l>>24&255]<<24;for(let m=s/2+1;m<s;m++)i[m]^=i[m-1]}let u=0,d,x;for(;u<s&&c<n;)d=c>>2,x=c%4,Ze(this,$r,"f")[d][x]=i[u],Ze(this,Zt,"f")[t-d][x]=i[u++],c++}for(let u=1;u<t;u++)for(let d=0;d<4;d++)l=Ze(this,Zt,"f")[u][d],Ze(this,Zt,"f")[u][d]=W2[l>>24&255]^j2[l>>16&255]^q2[l>>8&255]^eE[l&255]}encrypt(e){if(e.length!=16)throw new TypeError("invalid plaintext size (must be 16 bytes)");let t=Ze(this,$r,"f").length-1,n=[0,0,0,0],s=Uh(e);for(let a=0;a<4;a++)s[a]^=Ze(this,$r,"f")[0][a];for(let a=1;a<t;a++){for(let c=0;c<4;c++)n[c]=H2[s[c]>>24&255]^V2[s[(c+1)%4]>>16&255]^Q2[s[(c+2)%4]>>8&255]^Z2[s[(c+3)%4]&255]^Ze(this,$r,"f")[a][c];s=n.slice()}let i=new Uint8Array(16),o=0;for(let a=0;a<4;a++)o=Ze(this,$r,"f")[t][a],i[4*a]=(Qt[s[a]>>24&255]^o>>24)&255,i[4*a+1]=(Qt[s[(a+1)%4]>>16&255]^o>>16)&255,i[4*a+2]=(Qt[s[(a+2)%4]>>8&255]^o>>8)&255,i[4*a+3]=(Qt[s[(a+3)%4]&255]^o)&255;return i}decrypt(e){if(e.length!=16)throw new TypeError("invalid ciphertext size (must be 16 bytes)");let t=Ze(this,Zt,"f").length-1,n=[0,0,0,0],s=Uh(e);for(let a=0;a<4;a++)s[a]^=Ze(this,Zt,"f")[0][a];for(let a=1;a<t;a++){for(let c=0;c<4;c++)n[c]=z2[s[c]>>24&255]^K2[s[(c+3)%4]>>16&255]^$2[s[(c+2)%4]>>8&255]^Y2[s[(c+1)%4]&255]^Ze(this,Zt,"f")[a][c];s=n.slice()}let i=new Uint8Array(16),o=0;for(let a=0;a<4;a++)o=Ze(this,Zt,"f")[t][a],i[4*a]=(Gu[s[a]>>24&255]^o>>24)&255,i[4*a+1]=(Gu[s[(a+3)%4]>>16&255]^o>>16)&255,i[4*a+2]=(Gu[s[(a+2)%4]>>8&255]^o>>8)&255,i[4*a+3]=(Gu[s[(a+1)%4]&255]^o)&255;return i}};_u=new WeakMap,Zt=new WeakMap,$r=new WeakMap;var Yr=class{constructor(e,t,n){if(n&&!(this instanceof n))throw new Error(`${e} must be instantiated with "new"`);Object.defineProperties(this,{aes:{enumerable:!0,value:new Il(t)},name:{enumerable:!0,value:e}})}};var Xu=function(r,e,t,n,s){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!s:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?s.call(r,t):s?s.value=t:e.set(r,t),t},nc=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},Ol,Dn,Cl=class r extends Yr{constructor(e,t){if(super("ECC",e,r),Ol.set(this,void 0),Dn.set(this,void 0),t){if(t.length%16)throw new TypeError("invalid iv size (must be 16 bytes)");Xu(this,Ol,new Uint8Array(t),"f")}else Xu(this,Ol,new Uint8Array(16),"f");Xu(this,Dn,this.iv,"f")}get iv(){return new Uint8Array(nc(this,Ol,"f"))}encrypt(e){if(e.length%16)throw new TypeError("invalid plaintext size (must be multiple of 16 bytes)");let t=new Uint8Array(e.length);for(let n=0;n<e.length;n+=16){for(let s=0;s<16;s++)nc(this,Dn,"f")[s]^=e[n+s];Xu(this,Dn,this.aes.encrypt(nc(this,Dn,"f")),"f"),t.set(nc(this,Dn,"f"),n)}return t}decrypt(e){if(e.length%16)throw new TypeError("invalid ciphertext size (must be multiple of 16 bytes)");let t=new Uint8Array(e.length);for(let n=0;n<e.length;n+=16){let s=this.aes.decrypt(e.subarray(n,n+16));for(let i=0;i<16;i++)t[n+i]=s[i]^nc(this,Dn,"f")[i],nc(this,Dn,"f")[i]=e[n+i]}return t}};Ol=new WeakMap,Dn=new WeakMap;var Fh=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},tE,rE,Hu,nE;rE=new WeakMap,Hu=new WeakMap,tE=new WeakSet,nE=function(e){let t=this.segmentSize/8;Fh(this,Hu,"f").set(Fh(this,Hu,"f").subarray(t)),Fh(this,Hu,"f").set(e.subarray(0,t),16-t)};var sc=function(r,e,t,n,s){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!s:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?s.call(r,t):s?s.value=t:e.set(r,t),t},zt=function(r,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(r):n?n.value:e.get(r)},Pl,io,Kt,Gs=class r extends Yr{constructor(e,t){super("CTR",e,r),Pl.set(this,void 0),io.set(this,void 0),Kt.set(this,void 0),sc(this,Kt,new Uint8Array(16),"f"),zt(this,Kt,"f").fill(0),sc(this,Pl,zt(this,Kt,"f"),"f"),sc(this,io,16,"f"),t==null&&(t=1),typeof t=="number"?this.setCounterValue(t):this.setCounterBytes(t)}get counter(){return new Uint8Array(zt(this,Kt,"f"))}setCounterValue(e){if(!Number.isInteger(e)||e<0||e>Number.MAX_SAFE_INTEGER)throw new TypeError("invalid counter initial integer value");for(let t=15;t>=0;--t)zt(this,Kt,"f")[t]=e%256,e=Math.floor(e/256)}setCounterBytes(e){if(e.length!==16)throw new TypeError("invalid counter initial Uint8Array value length");zt(this,Kt,"f").set(e)}increment(){for(let e=15;e>=0;e--)if(zt(this,Kt,"f")[e]===255)zt(this,Kt,"f")[e]=0;else{zt(this,Kt,"f")[e]++;break}}encrypt(e){var t,n;let s=new Uint8Array(e);for(let i=0;i<s.length;i++)zt(this,io,"f")===16&&(sc(this,Pl,this.aes.encrypt(zt(this,Kt,"f")),"f"),sc(this,io,0,"f"),this.increment()),s[i]^=zt(this,Pl,"f")[sc(this,io,(n=zt(this,io,"f"),t=n++,n),"f"),t];return s}decrypt(e){return this.encrypt(e)}};Pl=new WeakMap,io=new WeakMap,Kt=new WeakMap;var sE,iE,oE;sE=new WeakMap,iE=new WeakMap,oE=new WeakMap;function Mh(r){if(r.length<16)throw new TypeError("PKCS#7 invalid length");let e=r[r.length-1];if(e>16)throw new TypeError("PKCS#7 padding byte out of range");let t=r.length-e;for(let n=0;n<e;n++)if(r[t+n]!==e)throw new TypeError("PKCS#7 invalid padding byte");return new Uint8Array(r.subarray(0,t))}function kh(r){return typeof r=="string"&&!r.startsWith("0x")&&(r="0x"+r),le(r)}function ic(r,e){for(r=String(r);r.length<e;)r="0"+r;return r}function oo(r){return typeof r=="string"?re(r,"NFKC"):le(r)}function ye(r,e){let t=e.match(/^([a-z0-9$_.-]*)(:([a-z]+))?(!)?$/i);p(t!=null,"invalid path","path",e);let n=t[1],s=t[3],i=t[4]==="!",o=r;for(let a of n.toLowerCase().split(".")){if(Array.isArray(o)){if(!a.match(/^[0-9]+$/))break;o=o[parseInt(a)]}else if(typeof o=="object"){let c=null;for(let l in o)if(l.toLowerCase()===a){c=o[l];break}o=c}else o=null;if(o==null)break}if(p(!i||o!=null,"missing required value","path",n),s&&o!=null){if(s==="int"){if(typeof o=="string"&&o.match(/^-?[0-9]+$/))return parseInt(o);if(Number.isSafeInteger(o))return o}if(s==="number"&&typeof o=="string"&&o.match(/^-?[0-9.]*$/))return parseFloat(o);if(s==="data"&&typeof o=="string")return kh(o);if(s==="array"&&Array.isArray(o)||s===typeof o)return o;p(!1,`wrong type found for ${s} `,"path",n)}return o}var $b="m/44'/60'/0'/0/0";function oc(r){try{let e=JSON.parse(r);if((e.version!=null?parseInt(e.version):0)===3)return!0}catch{}return!1}function aE(r,e,t){if(ye(r,"crypto.cipher:string")==="aes-128-ctr"){let s=ye(r,"crypto.cipherparams.iv:data!"),i=new Gs(e,s);return R(i.decrypt(t))}w(!1,"unsupported cipher","UNSUPPORTED_OPERATION",{operation:"decrypt"})}function Vu(r,e){let t=L(e),n=ye(r,"crypto.ciphertext:data!"),s=R(H(_([t.slice(16,32),n]))).substring(2);p(s===ye(r,"crypto.mac:string!").toLowerCase(),"incorrect password","password","[ REDACTED ]");let i=aE(r,t.slice(0,16),n),o=pr(i);if(r.address){let l=r.address.toLowerCase();l.startsWith("0x")||(l="0x"+l),p(k(l)===o,"keystore address/privateKey mismatch","address",r.address)}let a={address:o,privateKey:i};if(ye(r,"x-ethers.version:string")==="0.1"){let l=t.slice(32,64),u=ye(r,"x-ethers.mnemonicCiphertext:data!"),d=ye(r,"x-ethers.mnemonicCounter:data!"),x=new Gs(l,d);a.mnemonic={path:ye(r,"x-ethers.path:string")||$b,locale:ye(r,"x-ethers.locale:string")||"en",entropy:R(L(x.decrypt(u)))}}return a}function Yb(r){let e=ye(r,"crypto.kdf:string");if(e&&typeof e=="string"){if(e.toLowerCase()==="scrypt"){let t=ye(r,"crypto.kdfparams.salt:data!"),n=ye(r,"crypto.kdfparams.n:int!"),s=ye(r,"crypto.kdfparams.r:int!"),i=ye(r,"crypto.kdfparams.p:int!");p(n>0&&(n&n-1)===0,"invalid kdf.N","kdf.N",n),p(s>0&&i>0,"invalid kdf","kdf",e);let o=ye(r,"crypto.kdfparams.dklen:int!");return p(o===32,"invalid kdf.dklen","kdf.dflen",o),{name:"scrypt",salt:t,N:n,r:s,p:i,dkLen:64}}else if(e.toLowerCase()==="pbkdf2"){let t=ye(r,"crypto.kdfparams.salt:data!"),n=ye(r,"crypto.kdfparams.prf:string!"),s=n.split("-").pop();p(s==="sha256"||s==="sha512","invalid kdf.pdf","kdf.pdf",n);let i=ye(r,"crypto.kdfparams.c:int!"),o=ye(r,"crypto.kdfparams.dklen:int!");return p(o===32,"invalid kdf.dklen","kdf.dklen",o),{name:"pbkdf2",salt:t,count:i,dkLen:o,algorithm:s}}}p(!1,"unsupported key-derivation function","kdf",e)}function Ul(r,e){let t=JSON.parse(r),n=oo(e),s=Yb(t);if(s.name==="pbkdf2"){let{salt:d,count:x,dkLen:m,algorithm:A}=s,b=st(n,d,x,m,A);return Vu(t,b)}w(s.name==="scrypt","cannot be reached","UNKNOWN_ERROR",{params:s});let{salt:i,N:o,r:a,p:c,dkLen:l}=s,u=lr(n,i,o,a,c,l);return Vu(t,u)}function Kb(r){return new Promise(e=>{setTimeout(()=>{e()},r)})}async function Fl(r,e,t){let n=JSON.parse(r),s=oo(e),i=Yb(n);if(i.name==="pbkdf2"){t&&(t(0),await Kb(0));let{salt:x,count:m,dkLen:A,algorithm:b}=i,E=st(s,x,m,A,b);return t&&(t(1),await Kb(0)),Vu(n,E)}w(i.name==="scrypt","cannot be reached","UNKNOWN_ERROR",{params:i});let{salt:o,N:a,r:c,p:l,dkLen:u}=i,d=await cr(s,o,a,c,l,u,t);return Vu(n,d)}function Wb(r){let e=r.salt!=null?L(r.salt,"options.salt"):Ye(32),t=1<<17,n=8,s=1;return r.scrypt&&(r.scrypt.N&&(t=r.scrypt.N),r.scrypt.r&&(n=r.scrypt.r),r.scrypt.p&&(s=r.scrypt.p)),p(typeof t=="number"&&t>0&&Number.isSafeInteger(t)&&(BigInt(t)&BigInt(t-1))===BigInt(0),"invalid scrypt N parameter","options.N",t),p(typeof n=="number"&&n>0&&Number.isSafeInteger(n),"invalid scrypt r parameter","options.r",n),p(typeof s=="number"&&s>0&&Number.isSafeInteger(s),"invalid scrypt p parameter","options.p",s),{name:"scrypt",dkLen:32,salt:e,N:t,r:n,p:s}}function jb(r,e,t,n){let s=L(t.privateKey,"privateKey"),i=n.iv!=null?L(n.iv,"options.iv"):Ye(16);p(i.length===16,"invalid options.iv length","options.iv",n.iv);let o=n.uuid!=null?L(n.uuid,"options.uuid"):Ye(16);p(o.length===16,"invalid options.uuid length","options.uuid",n.iv);let a=r.slice(0,16),c=r.slice(16,32),l=new Gs(a,i),u=L(l.encrypt(s)),d=H(_([c,u])),x={address:t.address.substring(2).toLowerCase(),id:Tc(o),version:3,Crypto:{cipher:"aes-128-ctr",cipherparams:{iv:R(i).substring(2)},ciphertext:R(u).substring(2),kdf:"scrypt",kdfparams:{salt:R(e.salt).substring(2),n:e.N,dklen:32,p:e.p,r:e.r},mac:d.substring(2)}};if(t.mnemonic){let m=n.client!=null?n.client:`ethers/${yo}`,A=t.mnemonic.path||$b,b=t.mnemonic.locale||"en",E=r.slice(32,64),T=L(t.mnemonic.entropy,"account.mnemonic.entropy"),v=Ye(16),O=new Gs(E,v),D=L(O.encrypt(T)),C=new Date,J="UTC--"+(C.getUTCFullYear()+"-"+ic(C.getUTCMonth()+1,2)+"-"+ic(C.getUTCDate(),2)+"T"+ic(C.getUTCHours(),2)+"-"+ic(C.getUTCMinutes(),2)+"-"+ic(C.getUTCSeconds(),2)+".0Z")+"--"+x.address;x["x-ethers"]={client:m,gethFilename:J,path:A,locale:b,mnemonicCounter:R(v).substring(2),mnemonicCiphertext:R(D).substring(2),version:"0.1"}}return JSON.stringify(x)}function ao(r,e,t){t==null&&(t={});let n=oo(e),s=Wb(t),i=lr(n,s.salt,s.N,s.r,s.p,64);return jb(L(i),s,r,t)}async function co(r,e,t){t==null&&(t={});let n=oo(e),s=Wb(t),i=await cr(n,s.salt,s.N,s.r,s.p,64,t.progressCallback);return jb(L(i),s,r,t)}var ac="m/44'/60'/0'/0/0",cE=new Uint8Array([66,105,116,99,111,105,110,32,115,101,101,100]),jr=2147483648,lE=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),fE="0123456789abcdef";function Qu(r,e){let t="";for(;r;)t=fE[r%16]+t,r=Math.trunc(r/16);for(;t.length<e*2;)t="0"+t;return"0x"+t}function Jh(r){let e=L(r),t=ee(Ne(Ne(e)),0,4),n=_([e,t]);return Zs(n)}var Wr={};function qb(r,e,t,n){let s=new Uint8Array(37);r&jr?(w(n!=null,"cannot derive child of neutered node","UNSUPPORTED_OPERATION",{operation:"deriveChild"}),s.set(L(n),1)):s.set(L(t));for(let o=24;o>=0;o-=8)s[33+(o>>3)]=r>>24-o&255;let i=L(sr("sha512",e,s));return{IL:i.slice(0,32),IR:i.slice(32)}}function ey(r,e){let t=e.split("/");p(t.length>0,"invalid path","path",e),t[0]==="m"&&(p(r.depth===0,`cannot derive root path (i.e. path starting with "m/") for a node at non-zero depth ${r.depth}`,"path",e),t.shift());let n=r;for(let s=0;s<t.length;s++){let i=t[s];if(i.match(/^[0-9]+'$/)){let o=parseInt(i.substring(0,i.length-1));p(o<jr,"invalid path index",`path[${s}]`,i),n=n.deriveChild(jr+o)}else if(i.match(/^[0-9]+$/)){let o=parseInt(i);p(o<jr,"invalid path index",`path[${s}]`,i),n=n.deriveChild(o)}else p(!1,"invalid path component",`path[${s}]`,i)}return n}var kl,Dh,lo,Ml,Sr=class Sr extends Jn{constructor(t,n,s,i,o,a,c,l,u){super(n,u);y(this,kl);g(this,"publicKey");g(this,"fingerprint");g(this,"parentFingerprint");g(this,"mnemonic");g(this,"chainCode");g(this,"path");g(this,"index");g(this,"depth");De(t,Wr,"HDNodeWallet"),N(this,{publicKey:n.compressedPublicKey});let d=ee(ar(Ne(this.publicKey)),0,4);N(this,{parentFingerprint:s,fingerprint:d,chainCode:i,path:o,index:a,depth:c}),N(this,{mnemonic:l})}connect(t){return new Sr(Wr,this.signingKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,this.mnemonic,t)}async encrypt(t,n){return await co(S(this,kl,Dh).call(this),t,{progressCallback:n})}encryptSync(t){return ao(S(this,kl,Dh).call(this),t)}get extendedKey(){return w(this.depth<256,"Depth too deep","UNSUPPORTED_OPERATION",{operation:"extendedKey"}),Jh(_(["0x0488ADE4",Qu(this.depth,1),this.parentFingerprint,Qu(this.index,4),this.chainCode,_(["0x00",this.privateKey])]))}hasPath(){return this.path!=null}neuter(){return new fo(Wr,this.address,this.publicKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,this.provider)}deriveChild(t){let n=M(t,"index");p(n<=4294967295,"invalid index","index",n);let s=this.path;s&&(s+="/"+(n&~jr),n&jr&&(s+="'"));let{IR:i,IL:o}=qb(n,this.chainCode,this.publicKey,this.privateKey),a=new _e(Me((Ot(o)+BigInt(this.privateKey))%lE,32));return new Sr(Wr,a,this.fingerprint,R(i),s,n,this.depth+1,this.mnemonic,this.provider)}derivePath(t){return ey(this,t)}static fromExtendedKey(t){let n=te(xc(t));p(n.length===82||Jh(n.slice(0,78))===t,"invalid extended key","extendedKey","[ REDACTED ]");let s=n[4],i=R(n.slice(5,9)),o=parseInt(R(n.slice(9,13)).substring(2),16),a=R(n.slice(13,45)),c=n.slice(45,78);switch(R(n.slice(0,4))){case"0x0488b21e":case"0x043587cf":{let l=R(c);return new fo(Wr,pr(l),l,i,a,null,o,s,null)}case"0x0488ade4":case"0x04358394 ":if(c[0]!==0)break;return new Sr(Wr,new _e(c.slice(1)),i,a,null,o,s,null,null)}p(!1,"invalid extended key prefix","extendedKey","[ REDACTED ]")}static createRandom(t,n,s){var o;t==null&&(t=""),n==null&&(n=ac),s==null&&(s=mt.wordlist());let i=Kr.fromEntropy(Ye(16),t,s);return S(o=Sr,lo,Ml).call(o,i.computeSeed(),i).derivePath(n)}static fromMnemonic(t,n){var s;return n||(n=ac),S(s=Sr,lo,Ml).call(s,t.computeSeed(),t).derivePath(n)}static fromPhrase(t,n,s,i){var a;n==null&&(n=""),s==null&&(s=ac),i==null&&(i=mt.wordlist());let o=Kr.fromPhrase(t,n,i);return S(a=Sr,lo,Ml).call(a,o.computeSeed(),o).derivePath(s)}static fromSeed(t){var n;return S(n=Sr,lo,Ml).call(n,t,null)}};kl=new WeakSet,Dh=function(){let t={address:this.address,privateKey:this.privateKey},n=this.mnemonic;return this.path&&n&&n.wordlist.locale==="en"&&n.password===""&&(t.mnemonic={path:this.path,locale:"en",entropy:n.entropy}),t},lo=new WeakSet,Ml=function(t,n){p(Yt(t),"invalid seed","seed","[REDACTED]");let s=L(t,"seed");p(s.length>=16&&s.length<=64,"invalid seed","seed","[REDACTED]");let i=L(sr("sha512",cE,s)),o=new _e(R(i.slice(0,32)));return new Sr(Wr,o,"0x00000000",R(i.slice(32)),"m",0,0,n,null)},y(Sr,lo);var Gn=Sr,fo=class r extends ki{constructor(t,n,s,i,o,a,c,l,u){super(n,u);g(this,"publicKey");g(this,"fingerprint");g(this,"parentFingerprint");g(this,"chainCode");g(this,"path");g(this,"index");g(this,"depth");De(t,Wr,"HDNodeVoidWallet"),N(this,{publicKey:s});let d=ee(ar(Ne(s)),0,4);N(this,{publicKey:s,fingerprint:d,parentFingerprint:i,chainCode:o,path:a,index:c,depth:l})}connect(t){return new r(Wr,this.address,this.publicKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,t)}get extendedKey(){return w(this.depth<256,"Depth too deep","UNSUPPORTED_OPERATION",{operation:"extendedKey"}),Jh(_(["0x0488B21E",Qu(this.depth,1),this.parentFingerprint,Qu(this.index,4),this.chainCode,this.publicKey]))}hasPath(){return this.path!=null}deriveChild(t){let n=M(t,"index");p(n<=4294967295,"invalid index","index",n);let s=this.path;s&&(s+="/"+(n&~jr),n&jr&&(s+="'"));let{IR:i,IL:o}=qb(n,this.chainCode,this.publicKey,null),a=_e.addPoints(o,this.publicKey,!0),c=pr(a);return new r(Wr,c,a,this.fingerprint,R(i),s,n,this.depth+1,this.provider)}derivePath(t){return ey(this,t)}};function Gh(r){let e=M(r,"index");return p(e>=0&&e<jr,"invalid account index","index",e),`m/44'/60'/${e}'/0/0`}function _h(r){let e=M(r,"index");return p(e>=0&&e<jr,"invalid account index","index",e),`m/44'/60'/0'/0/${e}`}function cc(r){try{if(JSON.parse(r).encseed)return!0}catch{}return!1}function lc(r,e){let t=JSON.parse(r),n=oo(e),s=k(ye(t,"ethaddr:string!")),i=kh(ye(t,"encseed:string!"));p(i&&i.length%16===0,"invalid encseed","json",r);let o=L(st(n,n,2e3,32,"sha256")).slice(0,16),a=i.slice(0,16),c=i.slice(16),l=new Cl(o,a),u=Mh(L(l.decrypt(c))),d="";for(let x=0;x<u.length;x++)d+=String.fromCharCode(u[x]);return{address:s,privateKey:ge(d)}}function ty(r){return new Promise(e=>{setTimeout(()=>{e()},r)})}var Dl,Xh,uo=class uo extends Jn{constructor(e,t){typeof e=="string"&&!e.startsWith("0x")&&(e="0x"+e);let n=typeof e=="string"?new _e(e):e;super(n,t)}connect(e){return new uo(this.signingKey,e)}async encrypt(e,t){let n={address:this.address,privateKey:this.privateKey};return await co(n,e,{progressCallback:t})}encryptSync(e){let t={address:this.address,privateKey:this.privateKey};return ao(t,e)}static async fromEncryptedJson(e,t,n){var i;let s=null;return oc(e)?s=await Fl(e,t,n):cc(e)&&(n&&(n(0),await ty(0)),s=lc(e,t),n&&(n(1),await ty(0))),S(i=uo,Dl,Xh).call(i,s)}static fromEncryptedJsonSync(e,t){var s;let n=null;return oc(e)?n=Ul(e,t):cc(e)?n=lc(e,t):p(!1,"invalid JSON wallet","json","[ REDACTED ]"),S(s=uo,Dl,Xh).call(s,n)}static createRandom(e){let t=Gn.createRandom();return e?t.connect(e):t}static fromPhrase(e,t){let n=Gn.fromPhrase(e);return t?n.connect(t):n}};Dl=new WeakSet,Xh=function(e){if(p(e,"invalid JSON wallet","json","[ REDACTED ]"),"mnemonic"in e&&e.mnemonic&&e.mnemonic.locale==="en"){let n=Kr.fromEntropy(e.mnemonic.entropy),s=Gn.fromMnemonic(n,e.mnemonic.path);if(s.address===e.address&&s.privateKey===e.privateKey)return s;console.log("WARNING: JSON mismatch address/privateKey != mnemonic; fallback onto private key")}let t=new uo(e.privateKey);return p(t.address===e.address,"address/privateKey mismatch","json","[ REDACTED ]"),t},y(uo,Dl);var Jl=uo;var uE=")!@#$%^&*(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_";function ry(r,e){let t=(1<<r)-1,n=[],s=0,i=0,o=0;for(let a=0;a<e.length;a++)for(s=s<<6|uE.indexOf(e[a]),i+=6;i>=r;){let c=s>>i-r;s&=(1<<i-r)-1,i-=r,c===0?o+=t:(n.push(c+o),o=0)}return n}function ny(r,e){let t=Du(r).join(",");return e.split(/,/g).forEach(n=>{let s=n.match(/^([a-z]*)([0-9]+)([0-9])(.*)$/);p(s!==null,"internal error parsing accents","accents",e);let i=0,o=ry(parseInt(s[3]),s[4]),a=parseInt(s[2]),c=new RegExp(`([${s[1]}])`,"g");t=t.replace(c,(l,u)=>(--o[i]===0&&(u=String.fromCharCode(u.charCodeAt(0),a),i++),u))}),t.split(",")}var Gl,_n=class extends ct{constructor(t,n,s,i){super(t,n,i);y(this,Gl);h(this,Gl,s)}get _accent(){return f(this,Gl)}_decodeWords(){return ny(this._data,this._accent)}};Gl=new WeakMap;var dE="0itatkastcenaovo$taouleraeki&chor*teci%enbalodaeladet'!Chn=0Di#%E%^1Resa2Rese3CeT'#0EjKohol0Pu)%0A&sDul#Ekdo)Ke)Ti#Ul|3}aOgan%0FaltI$@tPi,%TmaTronom0LasL{i#Ol0Tobus4Yl:B#}<CilCul#D!_Ge)GrHnoKterieLa^L{#LkonLon-LvanLzaMbusNkom!R[rR{RmanRokoRvaTer#TohVl&Zal#Zili#Zu#3D&RanSe^StieTonZin#ZmocZ)k3CyklD]Ft-KinyLan%Og,fO]gTvaZon2AhobytAt*/E/aEdu+EskIk!Iz&Ok|Oud Ud2B-BrDl.D~H!(JkotJ|K<ysLe$R>R'?TaUb_U/!U^U+Ur!Xer2A^v#Ambo,An#AtrEp)Ike)KoLohOnzOskevUn{#Usin#Z^Zy2Bl.Bn|})D _D#D'aF{Jar(Kv?LdokLvaN^NkrRzaTikVolZola3D+tL.T'#0Ukot:PartRev&3DrDu+J/JnLaLerLkemLn?N.Nn(N'#NtrumNz<StopisT#2AlupaAp`]Ar aA)E/t!EmieI/otIrurgL`Le[Lub M_Mu,ObotO/olOd[O+,Om=Op Oro[OvRapotRl RtRupTiv(Ud.Utn!V!Vil#V(Y[Y$!Yt 0Bu+Gare)H_&HlaNkotRkusSter&Ta%TrusZin>Z(2O&2KolivUv!4It_N(0Dn(Ke)KrPot0Ak~AlIkRkot2Kli$a:L-oRe[T_Tum1E,1B!a}'#Cib_Fic Fla%KlKr{Mokr!PreseRbyS#T-tiv3Kob,zKt|O^P]mSkSp+jV`]Vo/2AhaOuhoUhopis1Es0BroByt-C@t}ut DnesH+dHo^H,JemJn?Kl`KolaKt<Kum@tLarLevaL.MaM.ntMluv M'Nut P`PisPln PosudPr'odPu$ Raz R(RtSahSl'St!-SudSy)TazT-Tk~Uf!Utn!Voz%Z`uZn!Z<%2Aho)AkAm!ikAv>AzeDolObn(OgerieOzdSn(T Z(2B@}'noD-HaH'#S SnoT(0Oj?Or>2Nam :9O]gOnomie0EktronIpsa0AilIseO%P!ie2Izo^O/aOpejOs2EjEn%K<)Kymo0Ike)0F<ie0Olu%1Eku%KurzePed?P]zeP<tT,kt:C#Jf#Kul)N!ikN)zieRmacieV< Zo+3De,%J{onN#3Al#Gu,ntLozofLtrNan%N)Xa%0Ord1An_IrtOtila2NdSf<T[lT#Ton2Ak%Es#On)2KarNk%3Zi#:LejeRant3N{i#O]g3Lot.2Azu,Ejt2LemLfi$aTi#2AfAmofonAnu+EpIlOgOtes#2Ma:D?DrLaL@#N[NopisRfaRpu&V,n3Bk(J#lJnoJtmanK)rLmaM!omR>R&S]Zky3St<ik2Ad'#AsivkyAvaEd!EnO^v>OhOup(T!Ub.U/o)0AtO)Yz0IsOjivoOut0Bl.Boj}DinyDl!Dno)D|Jn(KejLin#L#LubMo+N [No,%RalR^RizontRkoRliv>RmonRn.RoskopR$voSpo^St.T'(U[UfUp!Us#V<2Ad[An?Av(Az^Bo+kD.D]D(N-Ob#Oma^OtOu^Oz@St#Ub(Yz!2B@(B~D[KotMrS aSto)0Ozd2Bn(D,ntGie&M&Sterik:2Yl#3Ned2O&0Uze0Un a0F-%Fla%KasoOva%Sp-%Tern{Vali^Ve$<Zer%3Onie:Blko})Ho^Kmi+K(L'>N)rRmarkRoSanSnoT#V<Zyk3Din>D+Dn!_HlanKotL@L oMn(NomP?S{erV Zd>Zero3NakNdyNo/Sk,Sto)Trn?Zva3En|1Gurt5R):Bar{B_Bin{}&D{Did]HanJakJu)KaoKtusLam aLhotyLibrLn(Me,MkolivM&Ni[lNoeNt<Pal.P_aP olaP#P+Po)PrPu$aPy[,Ram_Rot#RtonSaTa]gTed,U%UzaVa+cZaj#Ze)Ziv(2EkolivEsi0Dlub@MpRami#3No2A%kAdivoAmApotAsi#AunEcEn[Ep!Es~IdImaIs&Ob*kO#nOpaOubUb'&Us!Uzk(0EnIt!Otr0IhaOt0Al?Ber>B#BlihaBylaC*rH=J@>KosKtejlLapsLe^LizeLoMandoMe)MikMn!aMo,MpasMun aN!N%ptNd?N>NfeseNgresN.NkursN)ktNzervaPan>PieP~Pr'#Rb_R-t<Rmid]RoptevRpusRu&RytoRz{S!>St#T_T+)T*lUk!Up_&Us-Uz]VbojZaZ<oh2Ab?A/Aj.Al|AsopisAv!aEd EjcarEs[Eve)Ik{ItikIzeKav>Me+cMivoOcanOkOni#Op OupaOv#T-Uh`]Up?Ut(Vin#Y/+Yp)Y$alYt2Dlan#FrJn(KlaLaj^Li/L#Lom{Ltu,NaPodivuRtRz<Til0Al aAsin#E$<2No]gS_.Ta,T?T#T'>V`]:B,d<})nDn(IkKom>M_aMpaN'#S?SoStu,Tin#V.3B#CkdyD@Dn?D'#Dv.G@^GieG,%H%Hk(H~KtvarNo/odNtil#P@#Pid]T`]T>TmoTokruhVhartV a%Vobok3B,}ot#DojedDsk(H'.Jav>L-M{#NieN#No+umStop`T.T|5Bi$aDivodGi#GopedKal aK{Mc|P!aPu/RdSosTrU^lUhU#Usk!V>3Tiv(1Cer&CiferMpSkSt,%0I%2RaRi#S.:DamD]Gi$rHagonJ{-J _J< aKakK'?Kr_aL[L.L|Lv?Min#Nd+NkoRn(SakrSkotSopu$T?Tri#Tur aZan>ZivoZl Zur#2Lo[0}anikD a%D'.LasaL*nNtol#TlaTo^TrZe,3G,%H~Hu+K.KrofonL@>Lim{rL(Mi#Nc'&Ni[rNom{Nul(S#StrX|2Ad(HaH'.OkS!Uv 1I/Ohem0BilCn(D_#Dl [HylaKroL-ulaM@t#Nar/aNoklN$rumNt|NzunSazSkytStTiva%T<#Ty#U/aUdr(Zai#Z-Zol2Am<Av@>KevTvolaZ{Zut(0T _1DrcF]nL!MieN?S{Ta%ZeumZi#nt3Sliv>0Da:B*r!}yt!Da%Dbyt-DhozDobroDpisHlasHn!Hodi+H,d Iv aJedn*Ji$oJm=K]n Kon>Krm LevoMaz!Mluv Nom{rOkoOpakO$roP`!PevnoPln P~Pos+dPr(oRod RubyRy/]S` S-!S+poSt!TolikV@-Vr/Vzd<yZv!3Be}!CkyDa+koDb!DuhGa%H{Ho^J@JprveKlidLib(Mil(MocO/o)On#PokojR(RvSmyslS*l`Tv<UronV.Zvyk+3Co)JakKamKdyKlKte,kTro5C+hHav?M.%RaR-S _Sn(UzeVinyVo)Zd,5DaD+G{T Tn(Trie3Mfa:0AlArv AvaDivEcEhn!Ejm=Ez aHajo[Iln?Jasn J-tK]p La$L-Li[LohaLu^NosOh! Oj-OutRaz>R&Ru[RysSahSluhaS)r!UvVazVin VodVyk+Yv!_Z<0AsElEn Hl` Ho)H,&It~0BojByt}odCiz Ebr!Esl!Evzd!EzvaH`%Hod J{JinudKazK*p LivLu#Ml#Oln(P`PisPl=P<Pu$ Pyk!Raz#S*d StupSunTokTudVahaVe)Vol!V,%tZ&k1I&Sajd1LasNiskoRa^Roz Ryz-2ApEn?Li#NoOuzl OvyRasaResRs-RuhUpantUr#Us 0Ejn.Iz|0AkE+)Ez L`.L*v!LuvaYl0Ehdy1Ak|As-E,%I%Il(Is|O,Oz?RavduRoti1B al}e$rGieL?LojT_0A^}~I#IvoLavaLep Ln L' N'aO[Ol Pa+cT@T,haTu^Ty/Voj 0Epl IskOpRh!Rl(RokRubyV<1A~ArEsLivn O%1Id1Do[:}!_Ci@tD*/H<-KtLan^L>LivoLu[Mf+tMls-N@#Ni#N&N|N$voNtof+Pri#Rke)RodieR)Ru#Ry[Se#Siv aSt_#T@tTro&V*kZnehtZ*r-3C#DagogJs-K]LotonNal)Ndr-NzeRiskopRoStr(Tar^T?Tro+jVn.Xeso3Ani$aHaJav?K+KnikL.Ln(Lul#Nze)Pe)S!_Sto+Tev&Vn?V'ar2A%n)Ak!Am@Ane)A$i#At Avid]AzE/Em@oEn)EsEtivoEv_Iv!N NoO/aOd.Om[OutUkYn2Bav Byt}odC Ctiv>D!D%n Deps!Dh+dDiv Dkl`Dman DnikDo[Dpo,D,zD$!aDvodDzimEzieHan#Hnut#H'<HromaHybIn)Ji$#Jm=Kaz K+sKojKrokKu)KynLedneLib-Lk~LohaLynomMaluMi~Ml#MocM$aMys+tNe/!N<#Nur(P`!P_Pis-Pla/Pros Ps!PudR`%R%RodRu/aRyvS` SedSilaSkokSlan>S*d SpoluS)vaSud-SypTahT#nT+skTom-T,vaTupaTvo,U#zUtoUzdroVahaVidlaVlakVozVr/V$!VykVzde/Zd,vZem-Zn!-Z<Zv!2Ac|Ah<yAkti#A+sAot>Ap<-AseAv^IncipKnoObud O%ntoOdejOfeseOh,Oj-tO]m Omi+Onik!Op`OrokOs[OtonOut-OvazS#v#St@Udk(UtV-Voh<y0An>OvodTruh0Actvo0Ber)}DlKav>Kl.Kr+LtMpaNcP@SaSin#St.T|Ty#3Rami^SkT_::C-}otDia%Dn?DonFtGbyKe)K'.M@oMp*/NdeRa/R aS'&StrTo+$Zan%Zid]3Ag|Ak%CeptDakt<Fer@tF+xJnokKlamaK<dKrutKt<Pu)%VizeVmaVolverZerva3Sk|Ziko5Boti#Dokm@H'#K+KokoMan{oP'odPu/aRejsSolStl.Tmi$rTopedTun^Ub@#U/oUpU,V.Vn?Zb<Z/odZd!Zezn!Zhod%Zin#ZjezdZ#zZ]haZmarZp`Zru/ZsahZtokZumZvod5Bri#}`]Kav?Kopis3BaBol'}l(D]P`]T.Z(:Di$aH!KoM>Mizd!Mo)N #Rdin#San#T_ Z[Z@?0Or0H|1B,n#CeseD`]Dim@tD]Hn!Jm=Ke,K)Kun^KvojeM@oNoRvisS` Sho,SkokSl!St,SuvSyp!T[T.Tk!T~Trv!VerZ&m2O^R~0FonLn?R#Rot-RupTua%1AfandrAliskoAnz@AutEptikIcaL`[L@?LoLuzO[O#nOroRip)RzUp.V(Vr&0Abi#Adid]An.A$Avn(Ed|Ep>EvaEz.IbI&Izn?OnOup-OvoU/UhaUn%Up#Za0A,gdE)&Il$voL*vaOgR`RkRt#Ut-Ysl0AdAhaOb0Bo)}aD'#KolP#TvaUbojUc Ud%UhlasUl`Um,kUp,vaUsedUtokUvis{0Al'&As _IsLavOd-Oj@>OluOnz<Orn(Ou$aR/aU$ 1An^AzD%NaN>Ovn!P@StUb1An?Ar(aAti#Av[EhnoEz#OdolaO+kOpaOrnoOup!Ra/ResRh~RomRu&Ud&Upn?VolYk0Bj-tBtropy}arD(KnoNd!N=Rik!aR'.0AhAl$voEtrAt[Az-Is+It-Obo^Odid]Or#Rab2Kav#KotN-N'>P!Pk(R'(S_T(:B+t#Bu+H*nJemnoJfunJgaJ Jn(Kti#Mh+MponNc|N>NkerPe)V@.Z!_3}ni#HdyKut.LefonMno)Nd@%Ni$aN<P])P&PrveRapieRmos#Xtil3}oSkopisTu+k1Ad+cAn.0Ap#Esk!UkotUpa0El1A+)Pin#PolRzoUhaU+c2Ad?Akt<AmpAsaAverzaEf E$Ez<Hav.Hl.O/uOj?Os#Ou[P%P _Pk(Ub>U/l Uhl?UsV!2DyH~H(Nd,Ri$aR&jZemsko0ArohOr[Rd(Rz2GrKev:0Oh(OzeR!R*s-RusYt'&0HoTiv(0Iv 3R` 1Edn!I$ M=0Az!_Lidn Lon Otv Roj 0I%I)Ov 0Yv`]0Av If<maIk~1Ad~L!n Ly~Out!Rav 1AnAz 0Ed~Il|Mrt N`n N=Oud Tl!Tr~0Ah|K!Lum O~Op@>R*s 1Al Oln Oz'#3D,v ElEn.L.N!:GonL/aL*nNaN^lNil#RanRhanyR|1ElkuHod0Ova0DroGe)%J%Lbl*dL{rhL _LmocLry[Nk'Ran^RzeS_#SkrzeSn?SpoduS)Ter.Ver#3B,%}rDeoh,D.D+LaN?S{Tal aZeZ #0Ezd0L`Us0Aj#AkAs>EvoHk(IvN'#Oup!1Uc|Uk0DaDiv(Doz&kD$voJ@skyJ&JskoLantL[L LnoSk'#Zid]Z'&0Ravo1Ab>A%tAhA)Ba}o+kH!StvaTu+0Ad T*p Tup0Ip4Bav Br!}|D!D,Fot H+d!H~Hod H,d Hub Jasn J{Jm=K]p Kon!L-!Maz!Mez Miz{Mys+tNe/!Nik!Nut P`!Pl! P,v Pu$ Raz R'n!Rv!Sl' SokoS)v Su~Syp!Tas Tes!Tr! Vi~Vol!Vrh_Zdob Zn!0AduBud }op D<Du/Dy/!E$upH+demKazLyk!NikOr-P*,TahT-::993Lofon::Br!Byd+t}|DarmoDus F*k!Hlt Hod H,^Hy~J!>J{Ji$ K+p!K*p Lep Mez Mot!Mys+tNe/!Nik!Pl! Poj Ps!Raz S)v Su~Taj Temn Tk~Ujm=Val Ve+tVin Vol!Vrt!Zvon 0Av RusuUd|Yt-1A+#ArmaAtn(IvoOb RojVihYm`]0L@.ManM.Pt!Z`uZdola2At Lt~Lubo#Ot' Ru[0MaMn?0Emn 0Lam!Oum!R!#Umav#0AtoEh#O[OmO$Ozvyk0Ap|ArAt-IjeIz{Ocn Odr!Rzl.Ut|0AkAl(Am@!Ovu0B,z Tav Ub-Ufa+0Lod Omal RavaR( Rud#Rvu1A^An C`]N (NoOv&Y/l Zav(1I/aR! 0B'.Br0Ed~EnkuEs_aOnR!Uk'odYk",hE="0x25f44555f4af25b51a711136e1c7d6e50ce9f8917d39d6b1f076b2bb4d2fac1a",Hh=null,Zu=class r extends ct{constructor(){super("cz",dE,hE)}static wordlist(){return Hh==null&&(Hh=new r),Hh}};var pE="0arertoiotadonoaRteirroenaNonaLsolocoiliaralaorrenadaChoN$n0A>Dom,EjaI!#Oga&O'Or#RazoR*Ue=U<0Ab Adem@Ce<C~Ei)ElgaEn#Ept I&L NeOg!O<TivoToTrizTu Ud*U!&Us 0Ic#Mit*Opt Or'Ua`Ul#0Reo0Ect Ic~In Irm 0IlIt On@Os#Ot Reg R$UaU&U?aUja0OgoOr+0ReSl 0Ed_zE'Us)1Ac[nAmb_ArmaBaBumCaldeDeaEg_Ej Er%E%F?!GaGo&nIa&I,#Iv$MaMejaMib T TezaTivoToTu[Um'Z 0AbleAn)Apo]ArgoAs B Bi#E'IgoIs%dOrP oPl$0|oC@'C]D D,Em@Gu=Il=ImoIsOt T,aTiguoTojoUalUl Unc$Ad*EjoO1Ag A[#Eti#IoLic O&Or)OyoR,d!Rob Ues%U+1A&A`ArBit+BolBus#|ivoCoD!D?]DuoEaI&IesM.i-esOmaPaP.Reg=RozRugaTeTis%0AA&Al#C,<Egur EoE<rI,#I=Ist*NoOmb+P!oT?]T+Tu#Um*Un#0AjoAqueArEn#EoI>Le%OmoRa!RozUn0DazD$GeLaM,#S,)T^0AlAnceA+EEl]`E`EstruzI.I<2ErU{U'0Af[nArO)Uc Uf_Ul:BaB^|eH@IleJ Lanz/c.LdeMbuN>Nd-oRb(>RnizR+Scu]S#nSu[Tal]T!@T*Tu%UlZ 3BeBid/=S SoSt@3|oEnNgo2An>OqueUsa2ABi`BoCaCi`DaDegaIn//!oLsaMb-{dNi#N}saiRdeRr SqueTeTinVe{Zal2AvoAzoEchaEveIl=In>IsaOcaOmaOnceO)UjaUs>U#2CeoCleE'EyFan{F.HoIt_L#Rbuj(l(+Sc TacaZ.:Bal=BezaBi`B[CaoDav!D,aErFeI{ImanJaJ.LLam Lc$L&Li{dLleLm/^LvoMaMb$Mel=Mi'Mp}c!Nd?Nel-gu+Nic-#N-.ObaOsPazPi%nPo)Pt Puch((b.RcelRe%Rg(i'RneRpe%R+R%SaS>S!oSpaS#rT^ceT_U{lUsaZo3Bol]D!D+Ld/eb_Lo<Lu]M,#Niz-t+Rc(&Rez(oRr R)zaSpedT+2AcalAle>AmpuAnc]ApaAr]I>Is)IvoOqueOzaUle%Up 0Cl.EgoE=EnEr#F[G +M->NeN%P_sR>Rue]SneTaU{d2Am^AnA+AseAveI,)ImaInica2B_Cc~|i'Ci`CoDigoDoF_G!He)JinJoL/ch/eg$Lg Lin/l LmoLum`Mba)M!Mi{Mo&Mpr-deNej}g-oc!Nsej}t PaPi(az.Rba%RchoR&nR.(r!S!SmosS%2AneoAt!E Ec!Ei&EmaIaIm,Ip%IsisOmoOnicaOque%U&Uz2Ad+Ar#At+BoBr*| aEl=En#Er{Es%EvaId Lebr/p/#Mb_Mpl*N-e%O%P.Pul( R$<R<RvaTis:M-z(R&T?3B!B?Ca{C*DoF,saFin*J LfinLga&Li#M^-<N%lP^)RechoR+%Sayu'SeoSf?eSnu&Sti'Sv$TalleT,!U{3AAb=AdemaAman)A`Ar$BujoCt En)E%EzFic?G'Lem/u*N!oRec#Rig*S>Se'Sf[zVaVi'5BleCeL^Ming}N Ra&Rm*R<SSis2Ag.Oga2|aDaE=E'LceOQueR Rez(o:0A'R$0H OUa&r0AdIc~Ific$I#rUc 1Ec#Icaz3EEmp=1Efan)Eg*Em,#Ev IpseI)Ix*Og$Ud*0Bu&It*Oc~Pa)Pe'PleoP_sa0A'C go|ufeC@EmigoE+Fa&F!moGa'Igm/aceOrmeRe&SayoS, T!oTr VaseV$1Oca0Uipo0Izo0Ca]C,aCol Crib*Cu&Enc@F!aFu!zoPa{PejoP@PosaPumaQuiT TeTi=Tufa0ApaEr'Ic-@1Ad*Alu En#It 1Ac#Am,Ce<CusaEn#Ig*Il$Ist*I#P!#Plic P.!T_mo:BricaBu]|a{C?C#rE`J/d/=L<Lt MaM?@Mo<Ra.Rmaci(olRsaSeTigaU`V^X3Br!o|/izORi(ozRt?Rv^Stin3AbleAnzaArB[Cc~|aDeoEb_ElE[Es%Gu[J JoL/e)L@lLt+NNc-g*Ni#Rma2A>Au%EchaOrO%U*UjoU^2B@CaGa%G.L$Lle#N&Rm(+Rtun(z SaTo2Aca<Ag?AnjaAseAudeE*E'EsaIoI#U%2EgoEn)ErzaGaM Nc~Nd(g.R@S?TbolTu+:Ce]FasI%JoL/!i/=Mb- Nch}g-<RajeRzaSoli`St ToV?an3Me=M*NN!}$N)Ran$R,)Rm,S#3Gan)M`s$R Ro2Aci OboOr@2LLfoLo<LpeM(&R?([TaTeoZ 2A{Afi>A'AsaAtisAveIe%Il=IpeIsI#O<rUaUe<UmoUpo2An)ApoArd@Er[IaI'I.I<It [Sa'St :B!B?Bl C!|aD/l Mac(i`ZZa`3B?]B[|oLa&L$Mbr(*Rma'RoeRv*3E=Er+Ga&Gi,eJoM'S#r@5Ci>G Gu!aJaMb_Ng}^Nr((mig('St?Yo5E>ElgaEr%E<EvoI{IrMa'Me&M?deM}d*RacanR#:1O'0EalIomaO=2Lesi/uUal4EgalUs~0Ag,AnIt P P!$P.!Pul<0CapazDiceEr)FielF^meG,$Ic$M,<MuneNa#Sec#S%n)T!esTimoTu*Ut?Vi!'3AIsOn@0L/o):BaliB.M.RabeRdinR[U]Zmin3FeRinga3Ne)5R`d(obaV,Ya5ErgaEvesEzGa&rGoGue)Ic$N>Ngl-$Nt Pit!R S#V,?Zg :7Lo5A]:B$C$C[DoD+nG #GrimaGu`I>M!Mi`Mp --ch-gos%NzaPizRgoRvaStimaTaTexT*U_lV Zo3AlCc~|eC#rErG~Gumb_Ja'Ngu-#NaOnOp &S~TalT[VeY,{3B!%dB+C^D!Di EnzoGaG!oMaMi)M.Mp$NceN&Ne-go)N}t!`Qui&SoS%T!aT$T+2AgaAmaAn#AveEg En Ev Or Ov!Uv@2BoC~CoCu[GicaG+MbrizM}jaTe5|aC*G J}-esPaSt+ToZ:Ce%|oD!aD_Du+Est+F@G@GoIzL{dLe%Ll/oMaMboMutN>N&Nej Ng-iquiNj N}<N%Na`PaQuin(R>Re(f?Rg,Ri&RmolR+nR)sRzoSaSc aSivoT T!@TizTrizXimoY^Z^ca3|aDal]D$Du]J?]J^L,/.M^i-^NsajeN)NuRca&R,gueRi#SS.TaT!To&T+Zc]3E&ElEmb+G/Lag+Lit Ll.M}-!}im}u#OpeR SaS!@S?SmoTadTo5|?aC~DaDe=HoJ LdeL!Li'M,#Mi- c-ed-j-#NoRad(d!Re'R*R+Rs(%lScaStr TivoV!V?Zo5|oD EbleE]Er)Est[G_J!L/e%L%N&Nec(alRoScu=SeoSgoSicaS=:C C~D IpeRanj(izRr SalTalTivoTu[lUseaValVeVi{d3C$Ct G Goc$G+OnRv$ToUt+V V!a3|oDoEb]E#NezNoTi&Vel5Bleza|eMin(i(m()TaTic@Va#Ve]V$5BeCaCleoD?=DoE[EveEzLoM!oTr@:Sis0E<IspoJe#R(!oS!v T,!V$0AA<Ea'H,%HoIoReTavoTub_Ul#Up Urr*0I IoIsea0S)0EnsaEr%Ic$Rec!0Ro1DoR0O1AEa{Fa#IvoLaMoOrVi&0Bligo0DaZa1A>C~E[In On!T TicaUes#1Ac~A&rAlBi%CaD,EjaGa'G@Gul=I,)Ig,Il]OQues%Uga0Ad@Cu+Ez'OT[0O'Ro1EjaU=1I&Ige'0En)0O':C#D_El]Gi`GoIsJ oLabr/>Le%Li&Lm/om/p NNalNi>Nt!-ue=PaPelP?]Que)R Rcel(edR*RoRpa&RqueR[foR)S SeoS~SoS%TaT$Tr@UsaU%VoYa<3A#nCa&C!a|oDalD*G IneL L{'Le/ig+LlejoLoLuc--s N.OnOrPi'Que'R(ch(d!Rez(f?Ri>Rl(mi<R+Rs.aSaScaSimoS%`Ta=T+leoZZu`3C |.EEd[Er`EzaJam/ Lo#Mi,%N}#rNz-aOjoP(a%S Sci`SoS%T.Zca2AcaAnA%AyaAzaEi#E'OmoUmaU[l2B_CoD!D$EmaEs@E%L,Lici/=LvoMa{Me=MoMp-!Rc~R%lSa{Se!SibleS)T,c@T+Zo2A&E>zEgun%Em$EnsaE<Ev$ImoIncipeIs~Iv OaOb Oce<Oduc#OezaOfe<rOg[maOleOmesaOn#Op$OximoUeba2Bli>|!oD^Eb=Er%Es#Lg/*Lm.LpoL<M-#NalNoPaP?(e:99Ed EjaEm Er!E<Ie#ImicaInceIt :Ba'B@BoC~DicalIzMaMp-ch}goPazPi&P#SgoSpaToYoZaZ.3Acc~Ali{dBa'Bo)Ca!Ce%|azoCog!C_oC#Cur<DD.&Duc*FlejoF^maF[nFug$Ga=G*G]G_<H,I'IrJ/a#LevoLieveLle'LojM Med$M}>rNd*N%P #Pet*Po<Pt?SSca)Si`Spe#S#Sum,T*oT^'T[#Un*VesVis%YZ 3CoEgoEn{EsgoFaGi&G^Nc.N.OQuezaSaTmoToZo5BleCeCi D DeoD?]ErJizoJoM!oMp!NN>N{PaP!oSaScaSt+T 5BiB^DoE{G*I&In/e%LoMboM^Ptu[TaTi`:Ba&B!B$BleC GazG[&L/&L!oL*Lm.L.Ls/#LudLv Mb-c~Ndi-e Ng_Ni{dN}#PoQueRdin()nSt_TanU`Xof.3Cc~CoC_#C%DGu*IsL=LvaMa`M?l-d-<rNalN^P P@Qui(RieRm.Rv*S,%S~TaT,%V!oXoX#3D[Es%E)G=G'Lab/b L,c$L]Mbo=M$R,aS)maT$Tu 5B_C$D$LLap/{&Le{dLi&Lt Luc~Mbr-de}i&No+NrisaPaPl P^)R&Rp_s()oS)nTa'5AveB*Ce<D^Eg[E=E'Er)Fr*Je#L%nM P! Pl*P.!P_moRR>Re'Rg*S#T?:Ba>BiqueB]BuCoC#JoL L>L,#Ll/.Ma'Mb^Ng}quePaPe)P@P.Qu?l(deRe(if(je%RotR+R%TuajeU+ZaZ.3At+|oC]CnicaJa&J!Ji&L/efo'MaM^Mp=NazNd!N!NisN<Ori(api(>Rmi'Rnur(+rSisSo+StigoT!aX#Z3B$Bu+nEmpoEn{Er[E<G_J!/deMb_Mi&M}%OPi>PoR(.TanT!eTu=Za5Al]B?=C Ci'DoG/&M N}#P PeQueRaxR!oRm,%RneoRoRpe&R_R<RtugaSS>S!Xi>2AbajoAc#rA!Afi>AgoAjeAmoAnceA#AumaAz EbolEguaEin%EnEp EsIbuIgoIpaIs)IunfoOfeoOmpaOn>OpaO)OzoU>Ue'Ufa2B!@BoEr#MbaM^NelNic(bin(ismoR'T^:0Ic 9C!a0B[l0I{dIrIv!<OT A3Ba'BeG,)Na0ArU $0IlOp@1A:CaC$Cu`G GoI`J?l/eLi&LleL^Lvu]Mp*oR(i R.So3Ci'C#rHicu=In)JezL/!oLozN-c!Nd-e'Ng N*N%NusRRa'RboRdeRed(j(<Rt!3AAjeBr C$CtimaDaDeoDr$EjoErnesG^LLl-ag_N}e&OlinRalRgoRtudS^Sp!aS%Tami`U&VazV!oV*Vo5LcanLum,Lv!RazT ToZ5E=Lg :::C!Te3GuaM('So9DoGaGur:F*}jaPa#Rza93N(+5MoR&",xE="aeiou7695@@BZWWavwUJkO@Y-Kn))YEGq#E@O)cI@#ZkMHv$e*))M!!)D**$GW!oKm*Acoh^k&It-pi^SYW)$^n!G)bO!Wkzam(jS#X)Og*^l^RW!bQ#QygBKXfzE))hti!Qm)Cng%%c)mJiI*HJWbmYniCLwNdYyY%WKO^bnT$PuGOr!IvHu&G(GKbtBuhiW&!eO@XMeoYQeCa#!MrTJCq!OW&CHG(WCcW%%)$rfrIegu$)w!G)JGmWWw)MnD%SXXWIT^LWAZuVWB^W)eTL^x&$WGHW(nKWEMA)#$F$x$Waekqs,n7715)W*HM-$WAcCiu(a))VCZ)GG%(*CWWdW%$D!UCO$M",mE="0xf74fb7092aeacdfbf8959557de22098da512207fb9f109cb526994938cf40300",Vh=null,zu=class r extends _n{constructor(){super("es",pE,xE,mE)}static wordlist(){return Vh==null&&(Vh=new r),Vh}};var gE="0erreleontiteurinueiriet cegeanseali medenel q)eniluxaus ch0Ais}And$Diqu E`#Ol*Ord Ou%rOy RasifReuv Ri,Rog RuptS_-SoluS'@UsifYss=0A@m+AjouAr+nCab]Cep,Clam Cola@Cro~eCu}ErbeHatHe,Idu]I Omp&Qu *R$y?Te'TifT)l0Ep&EquatHesifJec%fJug Mett!M* Op,Or Ouc*Res<RoitUl&V be0R R$ef0Fai!Fec,Fi~eF!{Fub]0Ac Enc I#I,Raf Reab#Ru?1D Gu`#L>Mab#S/-0Ou,Us,1Arm Chim+Er&Geb!G)I_ I?ntLeg Lia.Lou Lum O'd*PagaTes<Veo#0A&'BiguB!Enag Ertu?Id$Ir=Orc O'Ovib#Phib+P#'Us/t0Aly<Apho!Ar~+Atom+C+nE/%rG#Gois<Gu#{Im=Nex N$-N)lOd(Om=+Ony?Orm=T_[Tido&X+{1Ai}Eri%fL/*Olog+Pa!`Pe]Por,Puy 0UariumUeduc0Bit!Bus&De'Doi<G_tLequ(Matu!Me?ntMoi!Mu!P_,Ra~ Riv Ro}S_icT +lTic#0PectPh=&P* S|tS v*S+t&Soc>S' TicotT!Tu-0El>O?RiumRo-Ta^T_%fT* Trap 0Ba(eB .Da-Dib#G' Ro!Tom[Tru~e0A]Anc Ari-En*Er<Eug#Ia&'I@I$I}O(eOu R`1I=Io?:D.Fou Ga.G)t&Igna@L/c Lc$Le(eLisa.Mb(Ncai!Nda.Nl+)Nn>eNqu>Rb>R`R$R^Rra.Ss(S%$Ta`#Te|T,+Udr>Vard 3Let&L>Lo&Nefi-R-|Rg Rl(eRmudaSa-Sog[Ta`Ur!3B $Cyc#Du#JouL/L(g)LlardNai!Olog+Ops+OtypeScuitS$Sto'iTu?Zar!2AfardAg)An~*Ess/tInd OndOqu Ous$2BardB(eI!I}Li@Nb$Nd*Nhe'Nif>NusRdu!R[T&Uc#Ue{Ug+Ul$Uqu(Ur<Usso#U%^Xe'2An~eAs>AveEbisE~eEuva.Ico]Iga@Ill/tIo~eI^O~u!Od Onz Ous<Oye'U?Us^Ut=Uy/t2Ff#Iss$L#%nRe|R(S% T( To*Vab#Vet&:B/$B(eChet&De|D!Fe(eIllouIss$Lcu]Lep(Lib!Lm Lomn+Lvai!Mara@M aMi$Mpag[N=Net$N$N%[NularPab#Por=Pri-Psu#P,Pu~eRab(eRb$eRes}RibouRna.Rot&R!|Rt$Sca@S>S^Ssu!U}U%$V=>V [Viar3D`#Intu!Les&Llu#Ndr>Ns' Ntr=Rc#Rebr=Ri<Rn Rve|S}2Agr(Ai<A#'Amb!An-Apit!Arb$As<'At$Auss$Av* Emi<En`#Equ>Er~ Ev=I_Iff!Ign$Im eIotLoru!OcolatOis*O<O)t&Ro?U&0Ga!Gog[M_,NemaNtr Rcu]R R^T [Toy_Tr$V`2A*$A?'Aqu As<Av>I_tIgn ImatIva.O~eOna.Opor&2B=tBraCas<Co% D Dif>Ff!Gn Hesi$Iff Inc L eLibriLl(eLma,L$elMbatMed+Mm/@MpactNc tNdui!Nf>N.]Nno,Ns$[NtactNvexePa(P+Ra`Rbe|Rda.Rni~eRpusR!ctR&.Smi^Stu?T$U@Upu!Ura.U&|Uvr*Yo&2AbeA(&Ava&Ay$Eatu!Edi,E?{Eu}Evet&Ib]I Ist=I,eOi!Oqu Ota#Uci=UelYp,2Bi^E`l*Il]eIs(eIv!Lm( L%v Mu]Pi@Ra%fR<'3Anu!C#L(d!Ni^:Ign M>Ng N<'Uph(3Batt!Bi,Bord Brid But/tC= Cemb!Ch* Cid Clar Cor Cri!Cup]Da#Duc%fEs<F_sifFi]Fray Gag Givr Glu%rGraf Jeun Li-Log M/d Me' Mol*Ni~ Nou N&l#Nud PartP_}Pha}Plac Po}R/g Rob Sast!S-n&S tSign Sobe*Ss( Str>Ta~ Tes,To' T!s<V/c V_*V( Vo*3Ab#Alog)Am/tC,Ff G Git=G[Lu M/~eM(u Oxy@Rec%fRig Scu,Spo}Ssip St/-V %rVi}5Ci#C&'G?IgtMa(eMici#Mp,Na&'Nj$Nn Pam(eRto*Ru!Sa.Se'Ss>Ta%$U/>Ub#U-'U,Y_2Ag$Ap Es}Ibb]Oitu!2P +P#xeRab#Rc*3Nas%e:0Lou*0Ar,HarpeHel#La* Lip<Lo!Lu<O#Onom+Or-Ou,Ra}Rem Riva(RouU?U!u`0If>Uqu 1Fac Fec%fFig+FortFray Fusi$0Ali}Ar 2Ec,1Abor Arg*Ectr$Eg/tEph/tEveIgib#I%s?O.Ucid Ud 0B=]Bell*Bry$Er|@Issi$M_ O%$Ouvo*P e'Ploy Por,Pri<Ulsi$0Cadr Ch eClaveCo~eDigu Dos}DroitDui!Erg+F/-F m Fou*Gag G(Glob Ig?Jamb JeuLev NemiNuye{Ri~*Roba.Seig[Tas}T_d!T>To' Trav Um Vah*Viab#Voy Zy?0L+n0Aiss*Arg[At/tAu#Ic +I@m+I Ilog)I[Iso@ItapheO^ReuveRouv Uis/t0U !Uipe0Ig Osi$Re'Up%$0C=>Pad$Pe-P+g#Po*PritQuiv Say S_-S+uSor Ti?TomacTra@0Ag eA]An~eA%^E(d!Endo*Er[lH/olHi^Hn+Ir Off Oi#Onn/tO'd*R/.RoitU@0Phor+0Alu Asi$Enta`I@n-I,Olu%fOqu 1ActAg Auc Cel]Cit/tClusifCu<Ecu,Emp#Erc H= Hor,I.n-I]Is,O%^Ped>Plor Po}Prim QuisT_sifTrai!Ul,:B#Bu#{Cet&Ci#Ctu!Ibl*Lai<Me{M`#R-'RfeluR(eRou~eSc( T=Tig)Uc$U%fVe'Vori3Bri#C$d D L(M?M'Ndo*Od=Rm Ro-Rve'S%v=U`#Ut!Vr>3AscoCe]C%fDe#Gu!Latu!Leta.L>eL#ulLm LouLtr N/c N*O#R?Ssu!X 2A* Am?As^At&'E|E~eE'Exi$Oc$O!Uctu Ui@Uvi=2L+Nd +Ngib#Nta(eRc Rg $Rmu]Rtu[Ssi#Ud!Ug eU`]Ulu!Urmi2Agi#Ai<An~*App Aye'Ega&E( El$Em*E[s+E!Iab#Ic%$Iss$Ivo#OidOma.Ont=Ot,Uit2Gi%fI&Re'R+{R%fSi$T':Gn Lax+L +Mbad R/%rRd+nRn*Rrig)Zel#Z$3AntLa%[Lu#Ndar?N =N+NouN%lOlog+O?t!R/iumR?St)lY}3B>C]RafeV!2A-AiveIs}ObeOi!Or+{2Lfe'M?Nf]R.R`#Udr$Uff!UlotUp`#Urm/dUt&2Ad)lAffi%A(eAndApp(AtuitAv*EnatIffu!Il]Imp Ogn Ond Ot&OupeUg U% Uy e2EpardErr>I@Im|veIta!Sta%f3Mnas&Rostat:Bitu@Cho*L&Me|NgarN[t$RicotRm$+Rp$Sard3LiumMato?RbeRiss$Rm(eR$Si,U!{3B n BouLar/tStoi!V 5MardMma.Mo.[N['Nor N&{R@Riz$Rlo.Rm$eRrib#U#{Us<5BlotI#{Ma(Mb#Mi@Mo'R]3Dro?lG+[M[Pno<:2Yl#2Nor U/e4Lici&Lusi$0A.Bib I,M_<Mobi#Muab#PactP i=Plor Po}Prim Pu,0Carn C_d+Ci@ntCl( Colo!Dex Di-Duc%fEditEp%eExactF(iFlig Form Fusi$G H= Hib Jec,Ju!No-ntOcu]Ond Scri!Sec&Sig[Soli&Sp* S%nctSul,TactT_<Ti?Trig)Tui%fU%#Vasi$V_,Vi,Voqu 3Oni^Rad>ReelRi,0O]2Oi!Res<:GuarIll*MbeNv>Rd(Ug U[Velot3Tab#T$UdiU[s<9Ind!N~ Ng]Ue'UissifUrn=Vi=Y|Ye{5Bi]Ge?ntNiorP$Ris&S%-Te{V_i#:Yak7M$oOs^:BelBi=Bo' C Cto<Gu[I[Is}I% Mbe|Mel#MpeN-'Nga.N,[P(R.'R?Ur>VaboVo*3Ctu!G=G Gu?SsiveTt!V>Xi^Zard3As<B B!C_-Cor[E.Ev!Gatu!Go,G)M Mi&M$a@Mpi@Neai!NgotOn-|Qui@S>eS,ThiumTi.Ttor=V!'5Gi^Inta(Is*MbricT +U UrdUt!UveY=5B+Ci@Cra%fE'Gub!Is/tM>eNai!NdiR$T,X){:Ch(eGas(G_taGi^Ig!Ill$In%_Ir+Is$Jor Lax Lefi-Lhe'Li-L#t&MmouthNda,Niab#Nqu/tN&|N)lRath$Rb!R~/dRdiRi%?R^'Rr$R&]Scot&SsifT +lT>eTra^Udi!Ussa@UveXim=3Ch/tC$nuDa`#Dec(Di,Du<Il#'L/.Lod+Mb!Moi!Nac N Nh*Ns$.NtorRc!diRi&R#Ssag Su!T=Teo!Tho@T>Ub#3Au]CrobeEt&Gn$Gr L+uLli$Mi^N-N =Nim=Nor Nu&Rac#Roi,Ssi#X&5Bi#D [El#{Ndi=Ni&'Nna+Not$eNst!Ntag[Nu?ntQ)'R-|Rsu!R% Te'TifU~eUf#Ul(Uss$Ut$Uv/t5L%p#Ni%$Ra`#Re[Rmu!Sc#SeumSic+nTa%$T T)l3Ria@R%l#S,eThi^:Ge'PpeRquoisRr Ta%$Ti$Tu!Ufra.U%^Vi!3Bu#{CtarFas&Ga%$Glig Goc>I.Rve{Ttoy Ur$eUtr$Veu3CheCkelTra&Ve|5B#CifCt'[Ir-'I<t&Ma@Mb!{Mm Rma%fTab#Tif>Toi!Urr*Uve|Va&'Vemb!Vi-5A.Anc I!Isib#M oP%=Q)Tri%f:0E*Jec%fLig Sc'S v Stac#T_*T' 0Casi$Cup E/Tob!Troy Tup]Ulai!0E'Or/t1F_}Fic>Fr*0Ive1Se|S`l$2Fac%fIv>0Bra.Ett!0Ct){Du]E!{Iri^1A#A^Er Ini$PortunPrim T Ti^1A.{An.Bi&D$n E`#G/eG)`Ifi-Ne?ntQ)T+0C`]Mo<Satu!0Ar+0Rag/Rs$T`Trag Vra.0A%$1Y@Y.[1O[:Isib#La-Lma!sLo'@Lp Na~eNdaNgol(Niqu N[|NoramaNt=$PayeP>Po,PyrusRadoxeR-l#Res<Rfum R]Ro#Rra(R<m Rtag Ru!Rv_*Ssi$S&^T [lT+n-Tr$V`l$Voi}Y Ysa.3Ig[Int!La.Lic/L#Lou<Lu~eNdu#Netr Nib#NsifN'+Pi&PlumRdrixRfor Rio@Rmu,Rp#xeRs`R&S Ta#TitTr*Up#2Ara$Ob+O^Ot$Ra<Ysi^0AnoCt'=E-Er!Euv!Lo&N-|Pet&Qu Rog)Sc(eSt$Vo,XelZza2AcardAf$dAis*An A^Astr$A&|E' ExusIa.OmbOng U+Uma.2Chet&Es+E&In&Ir>Iss$Iv!Lai!Lic>L#nLyg$eMma@Mp>Nct)lNd NeyR%^Si%$S<d Stu!Tag Te|Ti$U-Ula(Um$Urp!Uss(Uvo*2A*+A%^Ec+{Edi!EfixeElu@EnomE<n-E&x&Evo*Imi%fIn-Is$Iv Ob#?O-d Odi.Of$dOg!sO+Oje,Olog)O?n Op!Osp eO&g O)s<Ov beU@n-U[|0Y~o<1BlicC $I}LpeLsarNai<Ni%fPit!Rif>Zz#3Rami@:99AsarE!l#Es%$Ietu@It,O%_t:C(eC$,D+{G$d(I@'Is(L_%rLl$.Mas}Pi@Sa.Tis}Vag V(Y$n 3Ac%fAg*Ali}Anim Cevo*Ci,Clam Col,Cru,Cu]Cyc]Dig Dou,Fai!F#xeForm Fra(Fu.G=+nGi$Gla.Gul>I, Je,Jou La%fLev L+fMar^Me@Mi<M$,Mpl*Mu NardNfortNif]N$c Ntr NvoiPl>Por,Pri<P%#Qu(S veS(e{Soud!SpectS,SultatTabl*T_*Ticu#Tomb Trac Uni$Uss*V/~eViv!Vol&Vulsif3Ches<De|E'Gi@Go]Nc Pos,Sib#S^T)lV=V>e5Che{M/-Mp!N-Nd(Se|S>Ta%fTorTu#U.U`#U#|U%[Y|?5B/BisCheEl#G){In Is<|S S%^3Th?:B]Bo,B!Co~eFariGes<Is*La@LiveL$Lu MediNc%$Ngl>Rcas?Rd(eT' Ug!nuUm$U,Uva.V/tV$n 1AlpelAnda#E]atEnarioEpt!HemaI_-Ind O!Ru%nUlp,1An-Cab#Ch Cou C!,Da%fDui!Ig['Jo'Lec%fMa(eMb]M_-M(=Na&'Nsib#N&n-Par Q)n-Re(R.ntR+{Rru!RumRvi-Sa?V*Vra.Xtup#3D =Ec#Eg Ff]G#Gn=L_-LiciumMp#Nc eNist!Ph$RopSmi^Tu 1I 3Ci=C#DiumIg[{LdatLe`Litu@Lub#Mb!M?`Mno]N@N.'N[t&No!Rc>R%rS+T%<Uc+{Udu!Uff#U#v UpapeUr-U%r Uv_*0Ac+{A%=Eci=H eIr=3Ab#A%$ErnumImulusIpu]RictUd+{Upe'Ylis&0Bli?BstratB%lBv_*C-sC!FfixeGg Ive'Lfa&P bePpl>Rfa-Rica&R?n Rpri<Rs|tRv+Spect3LlabeMbo#Metr+Nap<NtaxeS&?:BacBl>C%#Il]L_tLism/L$n Mbo'Mi}Ngib#PisQu( Rd RifR%[S<TamiToua.UpeU!|X 3Mo(Mpo!lNa`#Nd!Ne'N*Nsi$Rm( R[Rrib#T(eX&2E?Eor+Erap+Orax0BiaE@Mi@Reli!Ro*SsuT/eT!Tub 5Bogg/L /tMa&Ni^N[|P$y?R~eRd!Rna@Rp`#R!ntR<Rt)TemU~ Urna.Us}X(e2Ac%$AficAgi^Ah*A(An~ Ava`Ef#Emp EsorEu`Ia.Ibun=Ico,Ilog+IompheIp]It' Ivi=Omb$eOncOpic=Oupe|2I#LipeMul&N[lRb(eTe'Toy Y|3Mp/Ph$Pi^R/:0Ues^9Ti?Tras$1Ani?If>I$I^Itai!Iv s3AniumBa(Tic/t0A.I[UelU!0I#Op+:Car?Cc(Gab$dG)Ill/tInc!Is<|Lab#Li<Ll$LveMpi!N`#Pe'R>Se{Ss=S&3C&'Det&Get=Hicu#InardLo-Nd!diN Ng Ni?{Ntou<Rdu!R(Rn*RrouR}RtuSt$T /Tus&X/tX 3AducAn@Ctoi!D/.DeoG[t&G)'La(Lla.Naig!Ol$P eRe?ntRtuo<RusSa.Se'Si$S^{S)lT=Tes<Tico#Tr(eVa-Vipa!5Ca%$Gu I#Is(Itu!La`#Lc/L%g Lu?Ra-R&xT Ulo*Ya.Yel#:G$:3N$:Cht:3B!NithS&9Olog+",bE="e7693&)U*o&)Ry^)*)W))))#X^))))@@)#Wf)m%)#!))AG)&IIAQIIIBIIHJNAgBIILIDJGo)))HIQIIIIA(IGgJHH(BIIxX#)Ou)@*IAAPIIIJHQJ)&QIQPYI(HYAQC%)!))QHJJ@)#)^f*^AXCJ))$%CP))%&m)u)@e^A#G#))W@!(IKK%!(I%))O@QA))@GG#e))))WHJIWh))my@IIBT^)!)HAYGETHI*))!QnUDG)))nBoKAC*HwyQh))$&)G&)UGO)G)))(BX#v**)%O,e7686)I))@)&)gdMP()))ud)p#L))I^FIHYdWG))D@DFV)QA)o%MyTh%*)Z)%)n(XANc^R)YS",yE="0x51deb7ae009149dc61a6bd18a918eb7ac78d2775726c68e598b92d002519b045",Qh=null,Ku=class r extends _n{constructor(){super("fr",gE,bE,yE)}static wordlist(){return Qh==null&&(Qh=new r),Qh}};var AE=["AQRASRAGBAGUAIRAHBAghAURAdBAdcAnoAMEAFBAFCBKFBQRBSFBCXBCDBCHBGFBEQBpBBpQBIkBHNBeOBgFBVCBhBBhNBmOBmRBiHBiFBUFBZDBvFBsXBkFBlcBjYBwDBMBBTBBTRBWBBWXXaQXaRXQWXSRXCFXYBXpHXOQXHRXhRXuRXmXXbRXlXXwDXTRXrCXWQXWGaBWaKcaYgasFadQalmaMBacAKaRKKBKKXKKjKQRKDRKCYKCRKIDKeVKHcKlXKjHKrYNAHNBWNaRNKcNIBNIONmXNsXNdXNnBNMBNRBNrXNWDNWMNFOQABQAHQBrQXBQXFQaRQKXQKDQKOQKFQNBQNDQQgQCXQCDQGBQGDQGdQYXQpBQpQQpHQLXQHuQgBQhBQhCQuFQmXQiDQUFQZDQsFQdRQkHQbRQlOQlmQPDQjDQwXQMBQMDQcFQTBQTHQrDDXQDNFDGBDGQDGRDpFDhFDmXDZXDbRDMYDRdDTRDrXSAhSBCSBrSGQSEQSHBSVRShYShkSyQSuFSiBSdcSoESocSlmSMBSFBSFKSFNSFdSFcCByCaRCKcCSBCSRCCrCGbCEHCYXCpBCpQCIBCIHCeNCgBCgFCVECVcCmkCmwCZXCZFCdRClOClmClFCjDCjdCnXCwBCwXCcRCFQCFjGXhGNhGDEGDMGCDGCHGIFGgBGVXGVEGVRGmXGsXGdYGoSGbRGnXGwXGwDGWRGFNGFLGFOGFdGFkEABEBDEBFEXOEaBEKSENBENDEYXEIgEIkEgBEgQEgHEhFEudEuFEiBEiHEiFEZDEvBEsXEsFEdXEdREkFEbBEbRElFEPCEfkEFNYAEYAhYBNYQdYDXYSRYCEYYoYgQYgRYuRYmCYZTYdBYbEYlXYjQYRbYWRpKXpQopQnpSFpCXpIBpISphNpdBpdRpbRpcZpFBpFNpFDpFopFrLADLBuLXQLXcLaFLCXLEhLpBLpFLHXLeVLhILdHLdRLoDLbRLrXIABIBQIBCIBsIBoIBMIBRIXaIaRIKYIKRINBINuICDIGBIIDIIkIgRIxFIyQIiHIdRIbYIbRIlHIwRIMYIcRIRVITRIFBIFNIFQOABOAFOBQOaFONBONMOQFOSFOCDOGBOEQOpBOLXOIBOIFOgQOgFOyQOycOmXOsXOdIOkHOMEOMkOWWHBNHXNHXWHNXHDuHDRHSuHSRHHoHhkHmRHdRHkQHlcHlRHwBHWcgAEgAggAkgBNgBQgBEgXOgYcgLXgHjgyQgiBgsFgdagMYgWSgFQgFEVBTVXEVKBVKNVKDVKYVKRVNBVNYVDBVDxVSBVSRVCjVGNVLXVIFVhBVhcVsXVdRVbRVlRhBYhKYhDYhGShxWhmNhdahdkhbRhjohMXhTRxAXxXSxKBxNBxEQxeNxeQxhXxsFxdbxlHxjcxFBxFNxFQxFOxFoyNYyYoybcyMYuBQuBRuBruDMuCouHBudQukkuoBulVuMXuFEmCYmCRmpRmeDmiMmjdmTFmFQiADiBOiaRiKRiNBiNRiSFiGkiGFiERipRiLFiIFihYibHijBijEiMXiWBiFBiFCUBQUXFUaRUNDUNcUNRUNFUDBUSHUCDUGBUGFUEqULNULoUIRUeEUeYUgBUhFUuRUiFUsXUdFUkHUbBUjSUjYUwXUMDUcHURdUTBUrBUrXUrQZAFZXZZaRZKFZNBZQFZCXZGBZYdZpBZLDZIFZHXZHNZeQZVRZVFZmXZiBZvFZdFZkFZbHZbFZwXZcCZcRZRBvBQvBGvBLvBWvCovMYsAFsBDsaRsKFsNFsDrsSHsSFsCXsCRsEBsEHsEfspBsLBsLDsIgsIRseGsbRsFBsFQsFSdNBdSRdCVdGHdYDdHcdVbdySduDdsXdlRdwXdWYdWcdWRkBMkXOkaRkNIkNFkSFkCFkYBkpRkeNkgBkhVkmXksFklVkMBkWDkFNoBNoaQoaFoNBoNXoNaoNEoSRoEroYXoYCoYbopRopFomXojkowXorFbBEbEIbdBbjYlaRlDElMXlFDjKjjSRjGBjYBjYkjpRjLXjIBjOFjeVjbRjwBnXQnSHnpFnLXnINnMBnTRwXBwXNwXYwNFwQFwSBwGFwLXwLDweNwgBwuHwjDwnXMBXMpFMIBMeNMTHcaQcNBcDHcSFcCXcpBcLXcLDcgFcuFcnXcwXccDcTQcrFTQErXNrCHrpFrgFrbFrTHrFcWNYWNbWEHWMXWTR","ABGHABIJAEAVAYJQALZJAIaRAHNXAHdcAHbRAZJMAZJRAZTRAdVJAklmAbcNAjdRAMnRAMWYAWpRAWgRAFgBAFhBAFdcBNJBBNJDBQKBBQhcBQlmBDEJBYJkBYJTBpNBBpJFBIJBBIJDBIcABOKXBOEJBOVJBOiJBOZJBepBBeLXBeIFBegBBgGJBVJXBuocBiJRBUJQBlXVBlITBwNFBMYVBcqXBTlmBWNFBWiJBWnRBFGHBFwXXKGJXNJBXNZJXDTTXSHSXSVRXSlHXCJDXGQJXEhXXYQJXYbRXOfXXeNcXVJFXhQJXhEJXdTRXjdXXMhBXcQTXRGBXTEBXTnQXFCXXFOFXFgFaBaFaBNJaBCJaBpBaBwXaNJKaNJDaQIBaDpRaEPDaHMFamDJalEJaMZJaFaFaFNBaFQJaFLDaFVHKBCYKBEBKBHDKXaFKXGdKXEJKXpHKXIBKXZDKXwXKKwLKNacKNYJKNJoKNWcKDGdKDTRKChXKGaRKGhBKGbRKEBTKEaRKEPTKLMDKLWRKOHDKVJcKdBcKlIBKlOPKFSBKFEPKFpFNBNJNJBQNBGHNBEPNBHXNBgFNBVXNBZDNBsXNBwXNNaRNNJDNNJENNJkNDCJNDVDNGJRNJiDNZJNNsCJNJFNNFSBNFCXNFEPNFLXNFIFQJBFQCaRQJEQQLJDQLJFQIaRQOqXQHaFQHHQQVJXQVJDQhNJQmEIQZJFQsJXQJrFQWbRDJABDBYJDXNFDXCXDXLXDXZDDXsJDQqXDSJFDJCXDEPkDEqXDYmQDpSJDOCkDOGQDHEIDVJDDuDuDWEBDJFgSBNDSBSFSBGHSBIBSBTQSKVYSJQNSJQiSJCXSEqXSJYVSIiJSOMYSHAHSHaQSeCFSepQSegBSHdHSHrFShSJSJuHSJUFSkNRSrSrSWEBSFaHSJFQSFCXSFGDSFYXSFODSFgBSFVXSFhBSFxFSFkFSFbBSFMFCADdCJXBCXaFCXKFCXNFCXCXCXGBCXEJCXYBCXLDCXIBCXOPCXHXCXgBCXhBCXiBCXlDCXcHCJNBCJNFCDCJCDGBCDVXCDhBCDiDCDJdCCmNCpJFCIaRCOqXCHCHCHZJCViJCuCuCmddCJiFCdNBCdHhClEJCnUJCreSCWlgCWTRCFBFCFNBCFYBCFVFCFhFCFdSCFTBCFWDGBNBGBQFGJBCGBEqGBpBGBgQGNBEGNJYGNkOGNJRGDUFGJpQGHaBGJeNGJeEGVBlGVKjGiJDGvJHGsVJGkEBGMIJGWjNGFBFGFCXGFGBGFYXGFpBGFMFEASJEAWpEJNFECJVEIXSEIQJEOqXEOcFEeNcEHEJEHlFEJgFEhlmEmDJEmZJEiMBEUqXEoSREPBFEPXFEPKFEPSFEPEFEPpFEPLXEPIBEJPdEPcFEPTBEJnXEqlHEMpREFCXEFODEFcFYASJYJAFYBaBYBVXYXpFYDhBYCJBYJGFYYbRYeNcYJeVYiIJYZJcYvJgYvJRYJsXYsJFYMYMYreVpBNHpBEJpBwXpQxFpYEJpeNDpJeDpeSFpeCHpHUJpHbBpHcHpmUJpiiJpUJrpsJuplITpFaBpFQqpFGBpFEfpFYBpFpBpFLJpFIDpFgBpFVXpFyQpFuFpFlFpFjDpFnXpFwXpJFMpFTBLXCJLXEFLXhFLXUJLXbFLalmLNJBLSJQLCLCLGJBLLDJLHaFLeNFLeSHLeCXLepFLhaRLZsJLsJDLsJrLocaLlLlLMdbLFNBLFSBLFEHLFkFIBBFIBXFIBaQIBKXIBSFIBpHIBLXIBgBIBhBIBuHIBmXIBiFIBZXIBvFIBbFIBjQIBwXIBWFIKTRIQUJIDGFICjQIYSRIINXIJeCIVaRImEkIZJFIvJRIsJXIdCJIJoRIbBQIjYBIcqXITFVIreVIFKFIFSFIFCJIFGFIFLDIFIBIJFOIFgBIFVXIJFhIFxFIFmXIFdHIFbBIJFrIJFWOBGBOQfXOOKjOUqXOfXBOqXEOcqXORVJOFIBOFlDHBIOHXiFHNTRHCJXHIaRHHJDHHEJHVbRHZJYHbIBHRsJHRkDHWlmgBKFgBSBgBCDgBGHgBpBgBIBgBVJgBuBgBvFgKDTgQVXgDUJgGSJgOqXgmUMgZIJgTUJgWIEgFBFgFNBgFDJgFSFgFGBgFYXgJFOgFgQgFVXgFhBgFbHgJFWVJABVQKcVDgFVOfXVeDFVhaRVmGdViJYVMaRVFNHhBNDhBCXhBEqhBpFhBLXhNJBhSJRheVXhhKEhxlmhZIJhdBQhkIJhbMNhMUJhMZJxNJgxQUJxDEkxDdFxSJRxplmxeSBxeCXxeGFxeYXxepQxegBxWVcxFEQxFLXxFIBxFgBxFxDxFZtxFdcxFbBxFwXyDJXyDlcuASJuDJpuDIBuCpJuGSJuIJFueEFuZIJusJXudWEuoIBuWGJuFBcuFKEuFNFuFQFuFDJuFGJuFVJuFUtuFdHuFTBmBYJmNJYmQhkmLJDmLJomIdXmiJYmvJRmsJRmklmmMBymMuCmclmmcnQiJABiJBNiJBDiBSFiBCJiBEFiBYBiBpFiBLXiBTHiJNciDEfiCZJiECJiJEqiOkHiHKFieNDiHJQieQcieDHieSFieCXieGFieEFieIHiegFihUJixNoioNXiFaBiFKFiFNDiFEPiFYXitFOitFHiFgBiFVEiFmXiFitiFbBiFMFiFrFUCXQUIoQUIJcUHQJUeCEUHwXUUJDUUqXUdWcUcqXUrnQUFNDUFSHUFCFUFEfUFLXUtFOZBXOZXSBZXpFZXVXZEQJZEJkZpDJZOqXZeNHZeCDZUqXZFBQZFEHZFLXvBAFvBKFvBCXvBEPvBpHvBIDvBgFvBuHvQNJvFNFvFGBvFIBvJFcsXCDsXLXsXsXsXlFsXcHsQqXsJQFsEqXseIFsFEHsFjDdBxOdNpRdNJRdEJbdpJRdhZJdnSJdrjNdFNJdFQHdFhNkNJDkYaRkHNRkHSRkVbRkuMRkjSJkcqDoSJFoEiJoYZJoOfXohEBoMGQocqXbBAFbBXFbBaFbBNDbBGBbBLXbBTBbBWDbGJYbIJHbFQqbFpQlDgQlOrFlVJRjGEBjZJRnXvJnXbBnEfHnOPDngJRnxfXnUJWwXEJwNpJwDpBwEfXwrEBMDCJMDGHMDIJMLJDcQGDcQpHcqXccqNFcqCXcFCJRBSBRBGBRBEJRBpQTBNFTBQJTBpBTBVXTFABTFSBTFCFTFGBTFMDrXCJrXLDrDNJrEfHrFQJrFitWNjdWNTR","AKLJMANOPFASNJIAEJWXAYJNRAIIbRAIcdaAeEfDAgidRAdjNYAMYEJAMIbRAFNJBAFpJFBBIJYBDZJFBSiJhBGdEBBEJfXBEJqXBEJWRBpaUJBLXrXBIYJMBOcfXBeEfFBestXBjNJRBcDJOBFEqXXNvJRXDMBhXCJNYXOAWpXONJWXHDEBXeIaRXhYJDXZJSJXMDJOXcASJXFVJXaBQqXaBZJFasXdQaFSJQaFEfXaFpJHaFOqXKBNSRKXvJBKQJhXKEJQJKEJGFKINJBKIJjNKgJNSKVElmKVhEBKiJGFKlBgJKjnUJKwsJYKMFIJKFNJDKFIJFKFOfXNJBSFNJBCXNBpJFNJBvQNJBMBNJLJXNJOqXNJeCXNJeGFNdsJCNbTKFNwXUJQNFEPQDiJcQDMSJQSFpBQGMQJQJeOcQyCJEQUJEBQJFBrQFEJqDXDJFDJXpBDJXIMDGiJhDIJGRDJeYcDHrDJDVXgFDkAWpDkIgRDjDEqDMvJRDJFNFDJFIBSKclmSJQOFSJQVHSJQjDSJGJBSJGJFSECJoSHEJqSJHTBSJVJDSViJYSZJNBSJsJDSFSJFSFEfXSJFLXCBUJVCJXSBCJXpBCXVJXCJXsXCJXdFCJNJHCLIJgCHiJFCVNJMChCJhCUHEJCsJTRCJdYcCoQJCCFEfXCFIJgCFUJxCFstFGJBaQGJBIDGQJqXGYJNRGJHKFGeQqDGHEJFGJeLXGHIiJGHdBlGUJEBGkIJTGFQPDGJFEqEAGegEJIJBEJVJXEhQJTEiJNcEJZJFEJoEqEjDEqEPDsXEPGJBEPOqXEPeQFEfDiDEJfEFEfepQEfMiJEqXNBEqDIDEqeSFEqVJXEMvJRYXNJDYXEJHYKVJcYYJEBYJeEcYJUqXYFpJFYFstXpAZJMpBSJFpNBNFpeQPDpHLJDpHIJFpHgJFpeitFpHZJFpJFADpFSJFpJFCJpFOqXpFitBpJFZJLXIJFLIJgRLVNJWLVHJMLwNpJLFGJBLFLJDLFOqXLJFUJIBDJXIBGJBIJBYQIJBIBIBOqXIBcqDIEGJFILNJTIIJEBIOiJhIJeNBIJeIBIhiJIIWoTRIJFAHIJFpBIJFuHIFUtFIJFTHOSBYJOEcqXOHEJqOvBpFOkVJrObBVJOncqDOcNJkHhNJRHuHJuHdMhBgBUqXgBsJXgONJBgHNJDgHHJQgJeitgHsJXgJyNagyDJBgZJDrgsVJQgkEJNgkjSJgJFAHgFCJDgFZtMVJXNFVXQfXVJXDJVXoQJVQVJQVDEfXVDvJHVEqNFVeQfXVHpJFVHxfXVVJSRVVmaRVlIJOhCXVJhHjYkhxCJVhWVUJhWiJcxBNJIxeEqDxfXBFxcFEPxFSJFxFYJXyBDQJydaUJyFOPDuYCJYuLvJRuHLJXuZJLDuFOPDuFZJHuFcqXmKHJdmCQJcmOsVJiJAGFitLCFieOfXiestXiZJMEikNJQirXzFiFQqXiFIJFiFZJFiFvtFUHpJFUteIcUteOcUVCJkUhdHcUbEJEUJqXQUMNJhURjYkUFitFZDGJHZJIxDZJVJXZJFDJZJFpQvBNJBvBSJFvJxBrseQqDsVFVJdFLJDkEJNBkmNJYkFLJDoQJOPoGsJRoEAHBoEJfFbBQqDbBZJHbFVJXlFIJBjYIrXjeitcjjCEBjWMNBwXQfXwXOaFwDsJXwCJTRwrCZJMDNJQcDDJFcqDOPRYiJFTBsJXTQIJBTFEfXTFLJDrXEJFrEJXMrFZJFWEJdEWYTlm","ABCDEFACNJTRAMBDJdAcNJVXBLNJEBXSIdWRXErNJkXYDJMBXZJCJaXMNJaYKKVJKcKDEJqXKDcNJhKVJrNYKbgJVXKFVJSBNBYBwDNJeQfXNJeEqXNhGJWENJFiJRQlIJbEQJfXxDQqXcfXQFNDEJQFwXUJDYcnUJDJIBgQDIUJTRDJFEqDSJQSJFSJQIJFSOPeZtSJFZJHCJXQfXCTDEqFGJBSJFGJBOfXGJBcqXGJHNJDGJRLiJEJfXEqEJFEJPEFpBEJYJBZJFYBwXUJYiJMEBYJZJyTYTONJXpQMFXFpeGIDdpJFstXpJFcPDLBVSJRLHQJqXLJFZJFIJBNJDIJBUqXIBkFDJIJEJPTIYJGWRIJeQPDIJeEfHIJFsJXOqGDSFHXEJqXgJCsJCgGQJqXgdQYJEgFMFNBgJFcqDVJwXUJVJFZJchIgJCCxOEJqXxOwXUJyDJBVRuscisciJBiJBieUtqXiJFDJkiFsJXQUGEZJcUJFsJXZtXIrXZDZJDrZJFNJDZJFstXvJFQqXvJFCJEsJXQJqkhkNGBbDJdTRbYJMEBlDwXUJMEFiJFcfXNJDRcNJWMTBLJXC","BraFUtHBFSJFdbNBLJXVJQoYJNEBSJBEJfHSJHwXUJCJdAZJMGjaFVJXEJPNJBlEJfFiJFpFbFEJqIJBVJCrIBdHiJhOPFChvJVJZJNJWxGFNIFLueIBQJqUHEJfUFstOZJDrlXEASJRlXVJXSFwVJNJWD","QJEJNNJDQJEJIBSFQJEJxegBQJEJfHEPSJBmXEJFSJCDEJqXLXNJFQqXIcQsFNJFIFEJqXUJgFsJXIJBUJEJfHNFvJxEqXNJnXUJFQqD","IJBEJqXZJ"],wE="~~AzB~X~a~KN~Q~D~S~C~G~E~Y~p~L~I~O~eH~g~V~hxyumi~~U~~Z~~v~~s~~dkoblPjfnqwMcRTr~W~~~F~~~~~Jt",Zh=null;function sy(r){return R(re(r))}var EE="0xe3818de38284e3818f",TE="0xe3818de38283e3818f";function Lr(r){return Le(new Uint8Array(r))}function iy(){if(Zh!==null)return Zh;let r=[],e={};e[Lr([227,130,154])]=!1,e[Lr([227,130,153])]=!1,e[Lr([227,130,133])]=Lr([227,130,134]),e[Lr([227,129,163])]=Lr([227,129,164]),e[Lr([227,130,131])]=Lr([227,130,132]),e[Lr([227,130,135])]=Lr([227,130,136]);function t(i){let o="";for(let a=0;a<i.length;a++){let c=i[a],l=e[c];l!==!1&&(l&&(c=l),o+=c)}return o}function n(i,o){return i=t(i),o=t(o),i<o?-1:i>o?1:0}for(let i=3;i<=9;i++){let o=AE[i-3];for(let a=0;a<o.length;a+=i){let c=[];for(let l=0;l<i;l++){let u=wE.indexOf(o[a+l]);c.push(227),c.push(u&64?130:129),c.push((u&63)+128)}r.push(Lr(c))}}if(r.sort(n),sy(r[442])===EE&&sy(r[443])===TE){let i=r[442];r[442]=r[443],r[443]=i}if(ge(r.join(`
13
- `)+`
14
- `)!=="0xcb36b09e6baa935787fd762ce65e80b0c6a8dabdfbc3a7f86ac0e2c4fd111600")throw new Error("BIP39 Wordlist for ja (Japanese) FAILED");return Zh=r,r}var zh=null,$u=class r extends It{constructor(){super("ja")}getWord(e){let t=iy();return p(e>=0&&e<t.length,`invalid word index: ${e}`,"index",e),t[e]}getWordIndex(e){return iy().indexOf(e)}split(e){return e.split(/(?:\u3000| )+/g)}join(e){return e.join("\u3000")}static wordlist(){return zh==null&&(zh=new r),zh}};var RE=["OYAa","ATAZoATBl3ATCTrATCl8ATDloATGg3ATHT8ATJT8ATJl3ATLlvATLn4ATMT8ATMX8ATMboATMgoAToLbAToMTATrHgATvHnAT3AnAT3JbAT3MTAT8DbAT8JTAT8LmAT8MYAT8MbAT#LnAUHT8AUHZvAUJXrAUJX8AULnrAXJnvAXLUoAXLgvAXMn6AXRg3AXrMbAX3JTAX3QbAYLn3AZLgvAZrSUAZvAcAZ8AaAZ8AbAZ8AnAZ8HnAZ8LgAZ8MYAZ8MgAZ8OnAaAboAaDTrAaFTrAaJTrAaJboAaLVoAaMXvAaOl8AaSeoAbAUoAbAg8AbAl4AbGnrAbMT8AbMXrAbMn4AbQb8AbSV8AbvRlAb8AUAb8AnAb8HgAb8JTAb8NTAb8RbAcGboAcLnvAcMT8AcMX8AcSToAcrAaAcrFnAc8AbAc8MgAfGgrAfHboAfJnvAfLV8AfLkoAfMT8AfMnoAfQb8AfScrAfSgrAgAZ8AgFl3AgGX8AgHZvAgHgrAgJXoAgJX8AgJboAgLZoAgLn4AgOX8AgoATAgoAnAgoCUAgoJgAgoLXAgoMYAgoSeAgrDUAgrJTAhrFnAhrLjAhrQgAjAgoAjJnrAkMX8AkOnoAlCTvAlCV8AlClvAlFg4AlFl6AlFn3AloSnAlrAXAlrAfAlrFUAlrFbAlrGgAlrOXAlvKnAlvMTAl3AbAl3MnAnATrAnAcrAnCZ3AnCl8AnDg8AnFboAnFl3AnHX4AnHbrAnHgrAnIl3AnJgvAnLXoAnLX4AnLbrAnLgrAnLhrAnMXoAnMgrAnOn3AnSbrAnSeoAnvLnAn3OnCTGgvCTSlvCTvAUCTvKnCTvNTCT3CZCT3GUCT3MTCT8HnCUCZrCULf8CULnvCU3HnCU3JUCY6NUCbDb8CbFZoCbLnrCboOTCboScCbrFnCbvLnCb8AgCb8HgCb$LnCkLfoClBn3CloDUDTHT8DTLl3DTSU8DTrAaDTrLXDTrLjDTrOYDTrOgDTvFXDTvFnDT3HUDT3LfDUCT9DUDT4DUFVoDUFV8DUFkoDUGgrDUJnrDULl8DUMT8DUMXrDUMX4DUMg8DUOUoDUOgvDUOg8DUSToDUSZ8DbDXoDbDgoDbGT8DbJn3DbLg3DbLn4DbMXrDbMg8DbOToDboJXGTClvGTDT8GTFZrGTLVoGTLlvGTLl3GTMg8GTOTvGTSlrGToCUGTrDgGTrJYGTrScGTtLnGTvAnGTvQgGUCZrGUDTvGUFZoGUHXrGULnvGUMT8GUoMgGXoLnGXrMXGXrMnGXvFnGYLnvGZOnvGZvOnGZ8LaGZ8LmGbAl3GbDYvGbDlrGbHX3GbJl4GbLV8GbLn3GbMn4GboJTGboRfGbvFUGb3GUGb4JnGgDX3GgFl$GgJlrGgLX6GgLZoGgLf8GgOXoGgrAgGgrJXGgrMYGgrScGgvATGgvOYGnAgoGnJgvGnLZoGnLg3GnLnrGnQn8GnSbrGnrMgHTClvHTDToHTFT3HTQT8HToJTHToJgHTrDUHTrMnHTvFYHTvRfHT8MnHT8SUHUAZ8HUBb4HUDTvHUoMYHXFl6HXJX6HXQlrHXrAUHXrMnHXrSbHXvFYHXvKXHX3LjHX3MeHYvQlHZrScHZvDbHbAcrHbFT3HbFl3HbJT8HbLTrHbMT8HbMXrHbMbrHbQb8HbSX3HboDbHboJTHbrFUHbrHgHbrJTHb8JTHb8MnHb8QgHgAlrHgDT3HgGgrHgHgrHgJTrHgJT8HgLX@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!Ln$CTGXMnCToLZ4CTrHT8CT3JTrCT3RZrCT#GTvCU6GgvCU8Db8CU8GZrCU8HT8CboLl3CbrGgrCbrMU8Cb8DT3Cb8GnrCb8LX4Cb8MT8Cb8ObrCgrGgvCgrKX4Cl8FZoDTrAbvDTrDboDTrGT6DTrJgrDTrMX3DTrRZrDTrRg8DTvAVvDTvFZoDT3DT8DT3Ln3DT4HZrDT4MT8DT8AlrDT8MT8DUAkGbDUDbJnDYLnQlDbDUOYDbMTAnDbMXSnDboAT3DboFn4DboLnvDj6JTrGTCgFTGTGgFnGTJTMnGTLnPlGToJT8GTrCT3GTrLVoGTrLnvGTrMX3GTrMboGTvKl3GZClFnGZrDT3GZ8DTrGZ8FZ8GZ8MXvGZ8On8GZ8ST3GbCnQXGbMbFnGboFboGboJg3GboMXoGb3JTvGb3JboGb3Mn6Gb3Qb8GgDXLjGgMnAUGgrDloGgrHX4GgrSToGgvAXrGgvAZvGgvFbrGgvLl3GgvMnvGnDnLXGnrATrGnrMboGnuLl3HTATMnHTAgCnHTCTCTHTrGTvHTrHTvHTrJX8HTrLl8HTrMT8HTrMgoHTrOTrHTuOn3HTvAZrHTvDTvHTvGboHTvJU8HTvLl3HTvMXrHTvQb4HT4GT6HT4JT8HT4Jb#HT8Al3HT8GZrHT8GgrHT8HX4HT8Jb8HT8JnoHT8LTrHT8LgvHT8SToHT8SV8HUoJUoHUoJX8HUoLnrHXrLZoHXvAl3HX3LnrHX4FkvHX4LhrHX4MXoHX4OnoHZrAZ8HZrDb8HZrGZ8HZrJnrHZvGZ8HZvLnvHZ8JnvHZ8LhrHbCXJlHbMTAnHboJl4HbpLl3HbrJX8HbrLnrHbrMnvHbvRYrHgoSTrHgrFV8HgrGZ8HgrJXoHgrRnvHgvBb!HgvGTrHgvHX4HgvHn!HgvLTrHgvSU8HnDnLbHnFbJbHnvDn8Hn6GgvHn!BTvJTCTLnJTQgFnJTrAnvJTrLX4JTrOUoJTvFn3JTvLnrJTvNToJT3AgoJT3Jn4JT3LhvJT3ObrJT8AcrJT8Al3JT8JT8JT8JnoJT8LX4JT8LnrJT8MX3JT8Rg3JT8Sc8JUoBTvJU8AToJU8GZ8JU8GgvJU8JTrJU8JXrJU8JnrJU8LnvJU8ScvJXHnJlJXrGgvJXrJU8JXrLhrJXrMT8JXrMXrJXrQUoJXvCTvJXvGZ8JXvGgrJXvQT8JX8Ab8JX8DT8JX8GZ8JX8HZvJX8LnrJX8MT8JX8MXoJX8MnvJX8ST3JYGnCTJbAkGbJbCTAnJbLTAcJboDT3JboLb6JbrAnvJbrCn3JbrDl8JbrGboJbrIZoJbrJnvJbrMnvJbrQb4Jb8RZrJeAbAnJgJnFbJgScAnJgrATrJgvHZ8JgvMn4JlJlFbJlLiQXJlLjOnJlRbOlJlvNXoJlvRl3Jl4AcrJl8AUoJl8MnrJnFnMlJnHgGbJnoDT8JnoFV8JnoGgvJnoIT8JnoQToJnoRg3JnrCZ3JnrGgrJnrHTvJnrLf8JnrOX8JnvAT3JnvFZoJnvGT8JnvJl4JnvMT8JnvMX8JnvOXrJnvPX6JnvSX3JnvSZrJn3MT8Jn3MX8Jn3RTrLTATKnLTJnLTLTMXKnLTRTQlLToGb8LTrAZ8LTrCZ8LTrDb8LTrHT8LT3PX6LT4FZoLT$CTvLT$GgrLUvHX3LVoATrLVoAgoLVoJboLVoMX3LVoRg3LV8CZ3LV8FZoLV8GTvLXrDXoLXrFbrLXvAgvLXvFlrLXvLl3LXvRn6LX4Mb8LX8GT8LYCXMnLYrMnrLZoSTvLZrAZvLZrAloLZrFToLZrJXvLZrJboLZrJl4LZrLnrLZrMT8LZrOgvLZrRnvLZrST4LZvMX8LZvSlvLZ8AgoLZ8CT3LZ8JT8LZ8LV8LZ8LZoLZ8Lg8LZ8SV8LZ8SbrLZ$HT8LZ$Mn4La6CTvLbFbMnLbRYFTLbSnFZLboJT8LbrAT9LbrGb3LbrQb8LcrJX8LcrMXrLerHTvLerJbrLerNboLgrDb8LgrGZ8LgrHTrLgrMXrLgrSU8LgvJTrLgvLl3Lg6Ll3LhrLnrLhrMT8LhvAl4LiLnQXLkoAgrLkoJT8LkoJn4LlrSU8Ll3FZoLl3HTrLl3JX8Ll3JnoLl3LToLmLeFbLnDUFbLnLVAnLnrATrLnrAZoLnrAb8LnrAlrLnrGgvLnrJU8LnrLZrLnrLhrLnrMb8LnrOXrLnrSZ8LnvAb4LnvDTrLnvDl8LnvHTrLnvHbrLnvJT8LnvJU8LnvJbrLnvLhvLnvMX8LnvMb8LnvNnoLnvSU8Ln3Al3Ln4FZoLn4GT6Ln4JgvLn4LhrLn4MT8Ln4SToMToCZrMToJX8MToLX4MToLf8MToRg3MTrEloMTvGb6MT3BTrMT3Lb6MT8AcrMT8AgrMT8GZrMT8JnoMT8LnrMT8MX3MUOUAnMXAbFnMXoAloMXoJX8MXoLf8MXoLl8MXrAb8MXrDTvMXrGT8MXrGgrMXrHTrMXrLf8MXrMU8MXrOXvMXrQb8MXvGT8MXvHTrMXvLVoMX3AX3MX3Jn3MX3LhrMX3MX3MX4AlrMX4OboMX8GTvMX8GZrMX8GgrMX8JT8MX8JX8MX8LhrMX8MT8MYDUFbMYMgDbMbGnFfMbvLX4MbvLl3Mb8Mb8Mb8ST4MgGXCnMg8ATrMg8AgoMg8CZrMg8DTrMg8DboMg8HTrMg8JgrMg8LT8MloJXoMl8AhrMl8JT8MnLgAUMnoJXrMnoLX4MnoLhrMnoMT8MnrAl4MnrDb8MnrOTvMnrOgvMnrQb8MnrSU8MnvGgrMnvHZ8Mn3MToMn4DTrMn4LTrMn4Mg8NnBXAnOTFTFnOToAToOTrGgvOTrJX8OT3JXoOT6MTrOT8GgrOT8HTpOT8MToOUoHT8OUoJT8OUoLn3OXrAgoOXrDg8OXrMT8OXvSToOX6CTvOX8CZrOX8OgrOb6HgvOb8AToOb8MT8OcvLZ8OgvAlrOgvHTvOgvJTrOgvJnrOgvLZrOgvLn4OgvMT8OgvRTrOg8AZoOg8DbvOnrOXoOnvJn4OnvLhvOnvRTrOn3GgoOn3JnvOn6JbvOn8OTrPTGYFTPbBnFnPbGnDnPgDYQTPlrAnvPlrETvPlrLnvPlrMXvPlvFX4QTMTAnQTrJU8QYCnJlQYJlQlQbGTQbQb8JnrQb8LZoQb8LnvQb8MT8Qb8Ml8Qb8ST4QloAl4QloHZvQloJX8QloMn8QnJZOlRTrAZvRTrDTrRTvJn4RTvLhvRT4Jb8RZrAZrRZ8AkrRZ8JU8RZ8LV8RZ8LnvRbJlQXRg3GboRg3MnvRg8AZ8Rg8JboRg8Jl4RnLTCbRnvFl3RnvQb8SToAl4SToCZrSToFZoSToHXrSToJU8SToJgvSToJl4SToLhrSToMX3STrAlvSTrCT9STrCgrSTrGgrSTrHXrSTrHboSTrJnoSTrNboSTvLnrST4AZoST8Ab8ST8JT8SUoJn3SU6HZ#SU6JTvSU8Db8SU8HboSU8LgrSV8JT8SZrAcrSZrAl3SZrJT8SZrJnvSZrMT8SZvLUoSZ4FZoSZ8JnoSZ8RZrScoLnrScoMT8ScoMX8ScrAT4ScrAZ8ScrLZ8ScrLkvScvDb8ScvLf8ScvNToSgrFZrShvKnrSloHUoSloLnrSlrMXoSl8HgrSmrJUoSn3BX6","ATFlOn3ATLgrDYAT4MTAnAT8LTMnAYJnRTrAbGgJnrAbLV8LnAbvNTAnAeFbLg3AgOYMXoAlQbFboAnDboAfAnJgoJTBToDgAnBUJbAl3BboDUAnCTDlvLnCTFTrSnCYoQTLnDTwAbAnDUDTrSnDUHgHgrDX8LXFnDbJXAcrETvLTLnGTFTQbrGTMnGToGT3DUFbGUJlPX3GbQg8LnGboJbFnGb3GgAYGgAg8ScGgMbAXrGgvAbAnGnJTLnvGnvATFgHTDT6ATHTrDlJnHYLnMn8HZrSbJTHZ8LTFnHbFTJUoHgSeMT8HgrLjAnHgvAbAnHlFUrDlHnDgvAnHnHTFT3HnQTGnrJTAaMXvJTGbCn3JTOgrAnJXvAXMnJbMg8SnJbMnRg3Jb8LTMnJnAl3OnJnGYrQlJnJlQY3LTDlCn3LTJjLg3LTLgvFXLTMg3GTLV8HUOgLXFZLg3LXNXrMnLX8QXFnLX9AlMYLYLXPXrLZAbJU8LZDUJU8LZMXrSnLZ$AgFnLaPXrDULbFYrMnLbMn8LXLboJgJgLeFbLg3LgLZrSnLgOYAgoLhrRnJlLkCTrSnLkOnLhrLnFX%AYLnFZoJXLnHTvJbLnLloAbMTATLf8MTHgJn3MTMXrAXMT3MTFnMUITvFnMXFX%AYMXMXvFbMXrFTDbMYAcMX3MbLf8SnMb8JbFnMgMXrMTMgvAXFnMgvGgCmMnAloSnMnFnJTrOXvMXSnOX8HTMnObJT8ScObLZFl3ObMXCZoPTLgrQXPUFnoQXPU3RXJlPX3RkQXPbrJXQlPlrJbFnQUAhrDbQXGnCXvQYLnHlvQbLfLnvRTOgvJbRXJYrQlRYLnrQlRbLnrQlRlFT8JlRlFnrQXSTClCn3STHTrAnSTLZQlrSTMnGTrSToHgGbSTrGTDnSTvGXCnST3HgFbSU3HXAXSbAnJn3SbFT8LnScLfLnv","AT3JgJX8AT8FZoSnAT8JgFV8AT8LhrDbAZ8JT8DbAb8GgLhrAb8SkLnvAe8MT8SnAlMYJXLVAl3GYDTvAl3LfLnvBUDTvLl3CTOn3HTrCT3DUGgrCU8MT8AbCbFTrJUoCgrDb8MTDTLV8JX8DTLnLXQlDT8LZrSnDUQb8FZ8DUST4JnvDb8ScOUoDj6GbJl4GTLfCYMlGToAXvFnGboAXvLnGgAcrJn3GgvFnSToGnLf8JnvGn#HTDToHTLnFXJlHTvATFToHTvHTDToHTvMTAgoHT3STClvHT4AlFl6HT8HTDToHUoDgJTrHUoScMX3HbRZrMXoHboJg8LTHgDb8JTrHgMToLf8HgvLnLnoHnHn3HT4Hn6MgvAnJTJU8ScvJT3AaQT8JT8HTrAnJXrRg8AnJbAloMXoJbrATFToJbvMnoSnJgDb6GgvJgDb8MXoJgSX3JU8JguATFToJlPYLnQlJlQkDnLbJlQlFYJlJl8Lf8OTJnCTFnLbJnLTHXMnJnLXGXCnJnoFfRg3JnrMYRg3Jn3HgFl3KT8Dg8LnLTRlFnPTLTvPbLbvLVoSbrCZLXMY6HT3LXNU7DlrLXNXDTATLX8DX8LnLZDb8JU8LZMnoLhrLZSToJU8LZrLaLnrLZvJn3SnLZ8LhrSnLaJnoMT8LbFlrHTvLbrFTLnrLbvATLlvLb6OTFn3LcLnJZOlLeAT6Mn4LeJT3ObrLg6LXFlrLhrJg8LnLhvDlPX4LhvLfLnvLj6JTFT3LnFbrMXoLnQluCTvLnrQXCY6LnvLfLnvLnvMgLnvLnvSeLf8MTMbrJn3MT3JgST3MT8AnATrMT8LULnrMUMToCZrMUScvLf8MXoDT8SnMX6ATFToMX8AXMT8MX8FkMT8MX8HTrDUMX8ScoSnMYJT6CTvMgAcrMXoMg8SToAfMlvAXLg3MnFl3AnvOT3AnFl3OUoATHT8OU3RnLXrOXrOXrSnObPbvFn6Og8HgrSnOg8OX8DbPTvAgoJgPU3RYLnrPXrDnJZrPb8CTGgvPlrLTDlvPlvFUJnoQUvFXrQlQeMnoAl3QlrQlrSnRTFTrJUoSTDlLiLXSTFg6HT3STJgoMn4STrFTJTrSTrLZFl3ST4FnMXoSUrDlHUoScvHTvSnSfLkvMXo","AUoAcrMXoAZ8HboAg8AbOg6ATFgAg8AloMXoAl3AT8JTrAl8MX8MXoCT3SToJU8Cl8Db8MXoDT8HgrATrDboOT8MXoGTOTrATMnGT8LhrAZ8GnvFnGnQXHToGgvAcrHTvAXvLl3HbrAZoMXoHgBlFXLg3HgMnFXrSnHgrSb8JUoHn6HT8LgvITvATrJUoJUoLZrRnvJU8HT8Jb8JXvFX8QT8JXvLToJTrJYrQnGnQXJgrJnoATrJnoJU8ScvJnvMnvMXoLTCTLgrJXLTJlRTvQlLbRnJlQYvLbrMb8LnvLbvFn3RnoLdCVSTGZrLeSTvGXCnLg3MnoLn3MToLlrETvMT8SToAl3MbrDU6GTvMb8LX4LhrPlrLXGXCnSToLf8Rg3STrDb8LTrSTvLTHXMnSb3RYLnMnSgOg6ATFg","HUDlGnrQXrJTrHgLnrAcJYMb8DULc8LTvFgGnCk3Mg8JbAnLX4QYvFYHnMXrRUoJnGnvFnRlvFTJlQnoSTrBXHXrLYSUJgLfoMT8Se8DTrHbDb","AbDl8SToJU8An3RbAb8ST8DUSTrGnrAgoLbFU6Db8LTrMg8AaHT8Jb8ObDl8SToJU8Pb3RlvFYoJl"],SE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*";function LE(r){return r>=40?r=r+168-40:r>=19&&(r=r+97-19),Le(new Uint8Array([225,(r>>6)+132,(r&63)+128]))}var Kh=null;function oy(){if(Kh!=null)return Kh;let r=[];if(RE.forEach((t,n)=>{n+=4;for(let s=0;s<t.length;s+=n){let i="";for(let o=0;o<n;o++)i+=LE(SE.indexOf(t[s+o]));r.push(i)}}),r.sort(),ge(r.join(`
15
- `)+`
16
- `)!=="0xf9eddeace9c5d3da9c93cf7d3cd38f6a13ed3affb933259ae865714e8a3ae71a")throw new Error("BIP39 Wordlist for ko (Korean) FAILED");return Kh=r,r}var $h=null,Yu=class r extends It{constructor(){super("ko")}getWord(e){let t=oy();return p(e>=0&&e<t.length,`invalid word index: ${e}`,"index",e),t[e]}getWordIndex(e){return oy().indexOf(e)}static wordlist(){return $h==null&&($h=new r),$h}};var NE="0torea noica!iosorolotaleratelanena%oiadoencotivomai t ca%a0A]Bagl'Bin#E.Is(Oli!Rasi_Rog#0Cade!C[$Cus#E <Hil,I@QuaReRil>Roba+U 0Ag'Deb{DomeEgu#Eri!IpeOtt&Ul&1Fabi,Fe|Fis(F-n Oris`O(R~$0AveEn.E_,Ganc'I!It&OnismoR>*Rume Uzzo4AbardaA Bat)Ber#BoBumeCeCol>E|<FaGeb-Ian.IbiIm[ Lag#Leg)Lie_Lo@/Lusi_Me$Oge$Pa}Pest!Ta,=Ter$T%c'T)veUn$Veo*Z&0Alga`Ani+A!=B{Br#EbaEr~E^s+I]Mas(M[daMir&Mon{O!P'Pli&U, 0A}r@Ag-feAlis+Arch?At-CaCel/Co-D&D!aEl*Ge*Gol&Gus I`Neg&Nid#NoNunc'OnimoT%ipoZi1At>Ertu-OdePari!Pe^ Pogg'P)@Pun Ri,1Ab~AchideAgos+Ald~Anc'Atu-AzzoBit)Chiv'D{Eni,G[ Gi<Gu IaMon?NeseRed#RingaRos S[>SoTef%eZil*0Ciu|Col EpsiEtt>Fal I$O/Pir#P)Sagg'SeSolu Sur@TaT[u T%eT-|0Av>EismoOm>O$TesaTiv&Tor$Tr{Tua,0Sil'Str?Tis+To$moTun$0Anz#E!V[i!Vi(Volge!3Io<O ZimoZur):Be,C}$Ci$CoDessaDi/+Gn#I+L]<L@Le=L/+Lza$Mbi$Ndi!RaondaRba)R}R{$RlumeRoc]Sil>S(Tos+Ttu U,VaVosa3C]FfaLg'LvaNdaNe_,Nig$Nzi=ReRli=Ta3Bi+CiDo<Fi@GaLanc?MboNo]*O*goPedePol&Rban.R-S]|Ses S$n$Son.SturiZzar)2An@At+2Ll{Nif>R@S]Tan>T^$Zzo*2Acc'AdipoA`An}Avu-E.l/Eve|EzzaIgl?Il/n.Ind&Oc]*O@Onzi=Ul*U$2Bbo<CaDi$Ffo<IoLboO$R*<R-s}S(/S+:De|Du]La`)L]*LesseLib)LmoLor?MbusaMe-+M%?Mmi$Mo/Mpa,NapaNde/NeNi$No|N^=PacePel*P{*Pogi)Ppe)P-Psu/RapaceR}ssaR@Ris`Rova=R!|R li=Sacc'S}+Ser`SoS(<S.l*Sua,Tas+Te=T-meU Vil*3Dibi,D-+Fa*Leb!Llul&NaNo<N.simoRam~Rc&R RumeRvel*So?SpoTo2E/Ia)Ic}Iede!Ime-I=IrurgoI+r-0AoClismoFr&G$Lind)O|*R}R)siTr>T+di$UffoVet+Vi,2Ass>In~O)2C]Dar@D%eE!n.G$meLl&Lm#Lo!Lpo(L^v#LzaMaMe+M`n@Mo@Mpu.rMu<Nci(Ndur!Nfer`Ngel&NiugeN<s(Nosce!NsumoN^nuoNveg$Per P'<Pp?Pr~poRazzaRda+R%#Rn%eRol/RpoR!@Rs?R.seSm>S+n.Ttu-V#2A.!Avat+E#Ede!Emo(Esci+E+Ice I=,IsiIt>OceO=}Os++Uc?,Us}2Ci!Cu*Gi$Ll#Po/R#!R(!R_Sci$S de:DoI$L`+Meri$Nie/N$(Nz&T#Van^Vve)3Bu|C[n'Ci(Cli$Col*C! D%#Fin{FormeG$Leg&Lfi$Lir'L+M[zaNot#Nt)Pos{Rapa+Riv&RogaScri|Ser Sider'Sume!Tersi_Vo 3Amet)Cemb!Ed)Fe(Ffu(Geri!Gi+,Luv'Nam>N=nziPin P*`Po*Rad&ReRo|RupoSag'Sc! Sf&Sge*Spos S+nzaSu`$ToVa$Vel Vide!Vor#5B*<C[.Ga=,G`LceM#M[~Min&N@*NoRmi!TeT !Vu Zzi=2AgoUi@2Bb'Bit&Ca,NaOmoPl%eRatu):0A$0Ces(CoLissiO$m?0E-I]/I,I r?Uc&2Emon?LiOismoReg'4Abor#Argi!Egan.Enc#E|Ev&F>I}MoSaU(0An#B,`Es(I)O^_Oz'<Pir>U*0Dem>Du)Erg?FasiO.}Tr&Zi`1A^.I*goI(d'O},Pu!0U#!0Ar'BaBo(EdeEmi+Ige!Met>OeOsi_Ran.0Ago$AmeAnimeAudi!CaEmp'Erc{Ib{Ig[.Is.!I OfagoOrt#O(Pan(P!s(S[zaSoTe(Tim&Ton?T)(Ult&0Il>N>Rus]To0ClideoRopa0A(Id[zaIt#Olu Viva:Bbr~Cc[daChi)L]Migl?Na,Nfa-NgoN+s`ReRfal/Ri$(R`]Sc?S (Sul*T%&ToVo*(3Bb!Co/DeG#LpaLt)Mmi=Nde!Nome$Rm[ R)R^,Ssu-S^_T+U@3AbaDuc?FaGur#LoNanzaNest-Ni!O!S},S>Ume2A]<Am[]EboEm`Ori@U[.Uo)2B>Cacc?Co(Der#Gl'La+Lc*!Lgo!Nd[.Net>N?N+=Rb{Rchet+Res+Rm~R='RoR.zzaRz&Sf#S(2A}s(A=Assi$A.l*Eccet+E=+Es]IgoOlli$OndeUga,Ut+2Ci/+Cs?Gg[.Lmi<L_Man.Me|Mo(NeNz'<O]RboRgo<Ro!SoTi,:Bb?$FfeLa.oLli=LoppoMbe)M`Ranz?RboRofa$Rzo<S@|Sol'Str>T Ud'ZeboZzel/3CoLa^=L(Mel*Mm#NeN{!N='No^poRgo2Epar@Iacc'Isa0Al*LdaNep)Oc&Oiel*Or$OveR#Ro<T++Udiz'Ur#Us 2Obu*U^<1Omo0BbaLfM{Mmo<Nf'N=Ver$2Aci,A@Af>AmmoAndeAtt&A_(Az?E}EggeIfo<Ig'InzaOt+Uppo2Adag$A'An Ard&FoId&::0Ern#0O=0Ent>Ill'O*RaR>Roge$2Ie<Na)Nor#4A!Le(Log>Lude!0Bal*Bevu Boc]Bu Ma<Mer(Mol#Pac]Pe PiegoPor P)n+0Al&Arc&At^_Can C[d'Chi$Cisi_Clu(Cont)C)c'CuboDagi<D?Do,Ed{Fat^Fil&Fli|Gagg'Geg$G,seGor@G)s(Nes]O@!Oltr&Ond#Sa$Se|SiemeSonn?Suli=Tas#Te)To=]Tu{Umidi!Vali@VeceV{1Erbo,Not>O.siP~1IdeLandaOn>Rig#Ror&0Ol#O poTer>Titu Tr%e0Al?Er&:::Bb)Birin C}Cer#Cri`Cu=D@veGoMpoNcet+N.r=R@(RgaRingeSt-T[zaTi$TtugaVag=Vo)3Ga,Gge)MboN.zzaNzaO<P!Si_Ss#S T.-,VaVig#3Be)DoEv{L/Matu-Mit&Mpi@Ne&NguaQui@RaR~S}TeTig'V!a5CandaDeG~Mb&Nd-Nge_QuaceR[zoToT.r?5CeCid#Ma}Mi$(NgoPoPpo*SingaS(T :Cab)Cchi=Ce)Cin#Da`G>Gl?G<.G)Iol~LafedeLg-@Lin.(Lsa$L Lumo!NaNc?N@r/Ngi&Nifes N=)Nov-NsardaN^deNubr'PpaR#=Rci!Ret+RmoRsup'Sche-Ssa?S^$Te-s(Tr>/T <Tu)Zur}3And)C}n>Ce=.DesimoDit&GaLassaLisLod?NingeNoN(/Rcur'R[daR*Schi$SeSse!S *Tal*To@T.!3Agol&CaCel'Che,C)boDol*E,Gl'!La$Li.MosaNe-,NiNo!Ri$R^l*Sce/SsivaS Sur&TezzaTig&T-T.n.4Emon>0Del*Dif~Du*Ga$G'LeLos(Nas.)N]Ndi=Ne+r'Ni,No $N(<Nt#Nvi(RaRde!Rs%#St)Tiv#TosegaT V[zaVim[ Zzo5C}CosaFfaGhe|G='La|Li<l*L^p*Mm?N Ove!Ra,SaS]*S~Te_,To:BabboF+Nomet)Rci(R%eRr#Sce!Str&Tu-,Ut~Vigl'3Bu*saC)siGa^_Goz'Mme$Ofi+Re|R_Ssu$Ttu$Ut-,VeV)t>3Cch?NfaTi@5Bi,Ci_DoMeMi=Rd>R`,RvegeseSt-$T&Tiz?Ttur$Vel/5C,oL/Me)O_Tri!Vo/Z?,:Si0Bedi!BligoElis]L'O*So, 0Cas'<Ch'Cid[.Cor!!Cult&RaUl#0Ier$Or&1Fer+Fri!Fusc#0Ge|GiNu$4AndeseFa|I#IvaOg-m`T!0Agg'Bel>B-EgaIss'<0Do(E!IceNi_)O!_,Ta1Er#In'<Pos 1A]*AfoDi<Ecchi$Ef%eFa$Gan>Igi<Izzon.MaMegg'Na^_O*g'R[@Ribi,T[s?T~Za+Zo0A!Cur&MosiPeda,Pi.SaSid&Ta]*Te0I.ReTago$TimoTob!1A,EstI$Ipa)Oc{UnqueVi&3Io:Cche|CeCif>Del/D)<EseGaGi=Lazzi=Les&Lli@LoLudeN@)N<l*O*O=zzoPr~Rabo/Rcel/Re!Rgo*RiRl#Ro/R^!Rv[zaRz?,Ssi_St%}Tac}To*g?TtumeVo<3Cc#Dal&Do=,Gg'Lo(N&Nd%eNi(/Nnu Nomb-Ns&N /PePi+Rbe<R]r(R@n#Rfor&Rgame=R'@Rmes(R$Rp,s(Rsua(Rtug'Rva(S#!Sis+SoS^fe)Ta*T^<Tu/n.Zzo3Ace!An+At^$Cci$CozzaEgaEt-Ffe)G?`Gol'G)LaLife)L*/Lo+Mpan.Ne+N=No*Ogg?OmboRamideRet>Ri.RolisiTo<Zz>2AceboAn&As`A+$E=r'2ChezzaDe)(DismoEs?Ggi&L[+Ligo$Ll%eLmoni.Lpet+L(Lt)=Lve!M%eMo@)N.Po*(Rfi@Ro(Rpo-R!R++SaSi^_Sses(Stul#Tass'Te!2AnzoAssiAt~Eclu(Ed~Efis(Egi#Elie_Eme!E$t&Epar#Es[zaE.s Eval(I`IncipeIv#Ob,`Ocu-Odur!OfumoOge|OlungaOmessaO$meOpos+O)gaO.(OvaUd[.Ug=Ur{0Iche1Bbl>D~Gil#G$LceL{Lsan.Nt&PazzoPil/Ro:99Ad)Al]saAsiE!/O+:C]l D@pp'D~,Dun#Ff~GazzoG'<G$Mar)MingoMoNdag'N l&P#Pi=Pp!(Satu-Schi#S[.Sseg=St!l*TaVvedu 3A,Cepi!Cin Clu+Cond{Cupe)Dd{Dime!Gal#Gist)Go/G!s(Laz'<M&Mo N=Pl~Prime!Put&SaSid[.Spon(S+u)TeTi=Tor~T^f~Voc#3Assun Badi!Bel,B!zzoCar~C]Ceve!C%l#Cor@C!du D>*Dur!Fas&F,s(For`Fug'G&Gett#Ghel*Lass#Lev#Ma<!MbalzoMed'Morch'Nasci+N})NforzoN$_Nom#Nsav{N c]Nunc?Nv[i!Par#Petu Pie$Port&P!saPuli!Sa+Sch'ServaSibi,SoSpe|S )Sult#S_l Tar@Teg$Tm>T)_Un'<VaVer(Vinci+Vol Zo`5BaBot>Bus Cc?CoDagg'De!D{!G{Ll'Mant>Mpe!Nz'Sol&SpoTan.Ton@Tu/Vesc'5BizzoBr~GaLli$Mi<Mo)(O*PeSs&St>:B#Bbi&Bot#Go`Las(Ldatu-Lgem`Liv&Lmo<Lo<Lt&Lu L_Pe!Pi@Por{Race$R}smoR S((Telli.Ti-Tol*Tur$Va=V'Zi#0Adigl'AlzoAnc#Ar-At.!Av&End&Irci&Locc#Occi#Rin&Ruffo<Uff&0Ab)(Ad[zaA/Ambi&Anda*Apo/Ar(A.n&Av#El En>Ett)HedaHie=IarpaI[zaInde!IppoI)ppoI_*Ler&Odel/Olp{Ompar Onfor Opri!Or+Os(<OzzeseRibaRoll&Ru^n'Uder?Ul !Uo/U)Us&0Ebit&Ogan&0C}tu-Con@Da$Gg'/G=l#G!g#Gu{Lci#Let^_L/Lvagg'Mafo)Mbr&MeMin#Mp!N(N^!Pol Qu[zaRa+Rb#Re$R'Rp[.R-gl'Rvi!S^=To/T^`=0Ace*Ald&Am#Arzo(At%#E-IdaIl#IngeOc#Oder&OgoOl^!Orz#Ra|Rutt#Ugg{Um&U(0Abel*Arb#Onfi&Orb'Rass#Uar@1Bi*C]meEr-G/G$!L[z'L/baMbo*Mpat>Mul#Nfon?Ngo*Nist)NoN.siNu(idePar'S`S ,Tu#2It+Ogatu-Ove$0Arr{Emor#En^ E-l@IlzoOnt&Ott#Uss#0Elli!Erv#O@0BbalzoBr'C]r(C?,Da,Ffi|G$Ld#L[<Li@L/zzoLoLubi,Lv[.Mat>M`NdaNe|Nnife)Pi!Ppe(P-Rge!Rpas(Rri(R(R.gg'R_l#Spi)S+T^,0AdaAl/Arge!A /Av[ Azzo/EcieEdi!Eg<!E/tu-E-nzaEs(!Ett-,Ezz#IaIgo*(Ill#I$(I-,L[di@Or^_O(RangaRec&Ron#RuzzoUn^$0Uil*0Ad%&O l#1Abi,Ac]AffaAgn&Amp#Ant'Arnu Ase-Atu E*EppaErzoI,|I`IrpeIva,Izzo(On#Or>RappoReg#Ridu*Rozz&Ru|Ucc&UfoUp[@0B[t)C](Do!Gger{GoL+$On&PerboPpor Rgel#R)g#Ssur)Tu-0Ag&EdeseEgl'El&Enu Ez?IluppoIs+Izze-Ol+Uot&:Bac]Bul#Cci&Citur$LeLis`$Mpo<Nni$RaRdi_Rg#RiffaRp&R+rugaS Tt>Ver=Vo/+Zza3CaCn>Lefo$Me-r'MpoMu N@<Ne)Ns'<N+]*O!`RmeR-zzoRze|SiSser#St#T)T ?3F&Gel/Mb)N P>Pog-foRagg'RoTan'To*Tuban.Z'Zzo<5Cc&L,r&L Mbo/MoNfoNsil/Paz'Po*g?PpaRbaRn&R)<R -S}$Ssi!S+tu-Ta$2Aboc]AcheaAfi/Aged?Alc'Amon Ans{Apa$Ar!As*]Att#AveEcc?Emol'Espo*Ibu Iche]Ifogl'Il*InceaIoIs.zzaItur#Ivel/OmbaO$OppoO|/Ov&Ucc#2Batu-Ff#Lipa$Mul Nis?Rb&Rchi$TaTe/:0Ic#0Cel*Ci(!0I!I^_1FaF%'0Ua,4IsseTim#0A$I,Orismo0Ci<|Ge!Ghe!seI]r$If%#I($I+r'Te0Vo0Upa1Aga$G[zaLo0AnzaA C{Ig$*U-'0Ensi,IlizzoOp?:Can.Ccin#Gabon@Gli#LangaLgoL>L,t+Lo)(Lut&L_/Mpa+Ng&N{(NoN+gg'Nve-Po!Ra$Rc#R?n.S}3Det+DovaDu Ge+,I]*Lc)Li=Llu LoceN#Ndemm?N RaceRba,Rgog=Rif~RoRru}Rt~,Sc~Ssil*S+,Te-$Tri=Tus 3Andan.B-n.C[daChingoCi=nzaDim&Gil?G< Go!LeL/$MiniNc{!O/Pe-Rgo/Ro*goRu,n S](S'<SpoSsu Su-TaTel*T^`VandaVi@Zi&5CeGaLa^,Le!LpeRagi<5L}$::::Mpog=N=Pp#T.-Vor-3Fi)Lan.LoNze)Rbi$3Be|N]R]<T 5L/T>5Cche)Fo*LuPpa",vE="0x5c1362d88fd4cf614a96f3234941d29f7d37c08c5292fde03bf62c2db6ff7620",Yh=null,Wu=class r extends ct{constructor(){super("it",NE,vE)}static wordlist(){return Yh==null&&(Yh=new r),Yh}};var BE="0arad!ototealirertainrasoent hoandoaR#riareha!aroele'oronul0Aca%AixoAl A%rDuz'El]Er$IsmoO$ R<g(Revi Rig Rup$S*$Solu$Sur=Ut[0Ab#Alm Amp Anh A,Ei.El( En ErvoEss E$naHa.IdezImaI}#Irr Lam LiveOlhidaOmod Opl Ord Um~ Us?0Ap.EgaEnt_Ep$Equ Er-%EsivoEusI<%ItivoJetivoJun$M' Or Qu''UboV(,Vog#0R}ave0As.Er'EtivoIn?Iv` Li$Lu-%R}.0Ach Arr As&/Enci Iliz Io)It#O+R! Res%Rup U d Ul]2O`h Ud Us.1AmedaArmeAstr Av<caB(gueB*oCat+De@EcrimEgr@Er.FaceF*e%GumHeioI Ica%I- Inh Ivi Mof^Oc Pis%T( TitudeUc* Ug UnoUsivoVo0Aci A=rA[loAss BasBi-%EixaEniz I=Is$,Iz!eOl?On$ O_,Ost+P Pli Pola0Ag+maAlis Arqu@A$m@DaimeElExoG~ Im JoOm&@Ot#Sio,T(i|Uid!eUnci Zol1Ag?Alp Anh#EgoEli=Ert^Es Eti%I$Lau,Lic^OioOn.Os)R-dizRov 0Uec(0AmeAn]A+C^D-%E@Ej Eni$Es)Gilo,GolaMaQuivoRai&Reba%Risc Rob>um S-&T(i&TigoVo[=0F&.Il#P' S?S* So&/Sun$Tr&0Ac#Adu+Al/A[f E End(Er_EuIng'Ir?IvoOl{oRac Revi=RizU&Um0Di$rM-.R>o+TismoT|@Tu 0Ali An%Ar@Ent&Es,I?Is Ul,1Ila1Ar E=Ei%Ulejo:B BosaC&]uCh `C@GagemI<oIl I}e)Ir_Ixis)J~ Le@LizaLsaN&Nd{aN/N'Nque%Ra$Rb#R}es>+c>~/Se#S)n%Ta)Te=rTidaTomTuc Unil]3B(IjoIr^IsebolLd!eLezaLgaLisc Ndi$Ng&aNz(RimbauRl*d>_Sou_XigaZ(_3CoCu=En&Foc&Furc G|naLhe%Mest[Mo$rOlog@OmboOsf(aPol Rr-$Scoi$Sne$SpoSsex$TolaZ _2Ind#OcoOque 2A$BagemC#CejoChec]Ico.L^LetimL]LoMb{oNdeNecoNi)Rb~h>d>e&R+c]V*oXe?2AncoAsaAvezaEuIgaIl/Inc OaOchu+Onze O$Uxo2C]DismoF LeRacoScaS$Z*a:B<aB`oBideBoBri$CauCet^C/r_CiqueDast_De#Fez&IaqueIp'aIxo%J#JuLafrioLc~ Ld{aLibr Lm<%Lo)M^Mbis)MisaMomilaMp<]Mufl Navi&Nc` Ne)NguruN/$Nive%NoaNs#N.Nu=Pac/P`aP* Po.Pric/Pt?PuzRacolRb}oRde&Rec>imb Rn{oRpe%R['>)zRv&/SacoScaSeb[S%loS~oT a)Tiv UleUs?U%l V&oV(na3BolaDil]G}]Lebr L~ Nou+N,N%ioRc Rr#R%'oRvejaTimV^2Aco)Al{aAm#Ap^ArmeAticeAveEfeEg^E'oEqueIco%If[In`oOc&/Ov(UmboU.Uva0CatrizCl}eD!eD['aEn%G<aM-$N$Nz><d>cui$Rurg@T 2A[zaE_Ic OneUbe2A=Ag'Ba@B($rBr C^El/Ent_E,Gum`oIb'IfaIo%L L{aLh(Lid'Lme@L}oLunaM<=Mb* M-.MitivaMov(MplexoMumNc]N=rNec.Nfu,Ng` Nhec(Njug Nsum'Nt+$Nvi%Op( P{oPi?PoQue%lRagemRdi&Rne)R}h>p|&R[ioR%joRuj>voSs-oS%laT}e%U_UveVilZ*]2A%+AvoEcheE=rEmeErEspoI^Im*&Io~oIseItic Os)UaUz{o2B<oEcaId#JoLat+Lm* Lp Ltu+Mpr'Nh#Pi=RativoRr&Rs R$Sp'S% T`o:MascoT 3Ba%rBi.BocheB~h C&queCim&CliveCo%C[.D&Dic#Duz'FesaFum G`oG+uGus.It#Ix La$rLeg#L*e L}gaM<daMit'Moli=Ntis)P-#Pil PoisP[ssaPur Riv>+m SafioSbo.Sc<,S-/Sfi#Sgas%Sigu&SlizeSmam SovaSpesaS)queSvi T&h T-$rT} Tri$UsaV(Vi=Vot#Z-a3Ag+maAle$Da)Fu,Gi.Lat#Lu-%M*u'Nast@Nh{oOceseRe$Sc[)Sf ceSp oSque%Ssip S)n%T?UrnoV(,Vi,rV~g Z(5Br?L|i=M?M*#NativoNz`>m-%Rs&SagemUr#U$r2EnagemIbleOg @2El EndeE$PloQues><%Vi=,:1Lod'O Olog@0Ific It&Uc#1Ei$Etiv 3E.1Ab| Eg(Ei$rEncoEv?Im* Ogi 0B goBol#Br~/Buti=EndaErg'Is,rPat@P-/P*#Polg P[goPurr Ul?0CaixeC-#Ch-%C}t_Deus Doss Faix Fei%FimGaj#G-/Glob Gom#G+x Gu@Jo La.Qu<$Raiz Rol#Rug SaioSe^S*oSop#T<$Te#Tid!eT|.Tr^T~/V(g Vi#Volv(XameX($Xof[Xu$1Id(me0Uip 0E$Gui=Ra)VaVil]0B<j B`$CamaColaCri)Cu)F*geFol F[g Fum#GrimaM&%P<$P`/PigaP}jaP[i)Pum Qu(daTacaT{aTic Tof#T[laTu=Vazi 0AnolIque)0F|i>opeu0Acu Ap| AsivoEntu&Id-%Olu'1Ag(oAl Am* A$Aus$Ces,Ci.Clam Ecu.EmploIb'Ig-%On( P<d'P`'P' Pl< Pos$P[s,P~s T(noT*$T+$:Bric B~o,Ce)Ci&DaDigaIxaL L)Mili Nd<goNf +N$cheRd#R`oR*h>of>p>tu+T@T|V|i)X*aZ-da3Ch#Ijo^I+n%L*oM**oNdaNoR>i#RrugemRv(S%j T&Ud&3ApoB_seC Ch{oGur#L{aL/LmeLtr RmezaSg^Ssu+TaV`aX?Xo2AcidezAm*goAn`aEch^O+Utu Uxo2C&C*/Foc GoGue%IceLg#Lhe$Rj Rmig>noR%ScoSsa2Aga)AldaAngoAscoA%rnoE'aEn%E.IezaI,Itu+On]Ustr U%'a2G'L<oLigemNd NgoNilR?Rio,Tebol:B i$B*e%DoIa$IolaIvo)LegaL/L*]Loc]Nh RagemRfoRg&oRimpoRoup>+faSodu$S$TaTil/Ve)Z`a3L#Le@LoM^M(Mi=N(o,NgivaNi&NomaN_Ologi>?Rm* S,S$r3Nas)Nc<aNg#Raf>*o2Aci&IcoseOb&Orio,2ElaIabaLfeLpe Rdu+Rje)R_S$,T{aV(n 2AcejoAdu&Afi%Al]AmpoAn^Atui$Ave$AxaEgoElh EveIloIs&/I.@Os,O%scoUd#Unhi=U)2AcheA+niAx*imEr[ I Inc/Is#LaLo,Ru:Bi.Rm}@S%V(3C.eRd Res@Si.3A$B(n D+.EnaNoPismoPnosePo%ca5JeLofo%MemNes$Nr#Rm}&Sped 5M|#:Te2E@O,2N|#RejaU<a4E,HaUdi=Um* Ustr 0AgemEd@$En,ErsivoIn-%It?Ort&Pac$Ped'Pl<%P|Pr-saPuneUniz 0Al?Ap$AtivoC-,Ch Cid'Clu'Col|Deci,D'e$Du$rEficazEr-%F<tilFes.F*i$Flam F|m&F+$rG('Ibi=Ici&ImigoJe.Oc-%O=_Ov?OxQuie$Scri$Se$Sist'Spe$rSt& S~$Tac$Tegr&Tim Toc#TrigaVa,rV(noVic$Voc 0Gur%2Ani<oOniz Re&Rit#0CaEn$Ol#Qu{o0Ali<o:N{oNg^N)R ac>dimR_SmimToV&iZida3Jum9An*]Elh^G?I>n&Rr Vem5BaDeuDocaIzLg?L/R#Ris)RoS)::B edaB|&C[C)n%Dril/G )GoaJeMb(M-.M* MpejoNchePid P,R<j>{>gu+S<]St_T(&Ti=V<daVou+Vr?X<%Z(3Ald!eB[G#G-d Gis)IgoIlo Itu+Mb[%MeNh?Ntil]OaSmaS%TivoT['oV VezaVi.3B(&Bi=D( G G{oMi.Mo{oMp?NdaNe N]gemQuidezS)gemSu+T|&V_XaX{a5C?Cu$rJis)MboNaNgeNt+RdeT#T(@Ucu+UsaUv 5ArCidezC_Ne)St[T?Va:CacoCe%Ch#CioD{aDr*]Gna)G[zaI|IsL<d_L]Lo%LucoMiloMo{oMu%N^Nc]Nda$NequimN/,Niv`aNobr NsaN%rNuse Pe#Qu* Rc?Resi>fimRgemR*/Rmi)Ro$RquiseR[coR%loRujoSco%Sm|+SsagemStig Tag&T(noT*&Tu.Xil 3D&]DidaDusaGaf}eIgaL<c@L/rMb_M|i&N*oNosNsagemNt&Rec(Rg~/S^Scl SmoSqui)St[T!eTeo_T+gemX(Xic<o3C_G&]Gr Lag[L- Lh M#N( N/caNist_N|@OloR<%RtiloStur 5Cid!eD(noD~ EdaErIn/I)Ldu+LezaL/L*e%LuscoN)n]Quec><goRcegoR=moR-aSaicoSque%S.daT`TimToTriz5DaI$La)Lh(L.Ndi&Ni=R&h>c/Sc~ SeuSic&:Ci}&D?JaMo_R*>r#Sc(TivaTu[zaV&]Veg Vio3Bl*aB~o,GativaGoci Gri$Rvo,TaUr&VascaVo{o3N N/TidezV` 5B[zaI%IvaMe M*&Rdes%R% T Tici TurnoV`oVil/Vo5Bl#DezM(&Pci&Tr'Vem:0Cec#Edec(JetivoRig#Scu_S%t+T(Tur 0Id-%Io,Orr(Ulis)Up#2Eg<%EnsivaEr-daIc*aUsc#0Iva4Ar@Eo,H Iv{a0B_Ele%Is,It'0D~#E_,Tem1Ci}&Er?On-%OrtunoOs$1ArBi.DemD*&F<a$GasmoG~/I-t&IgemIun=LaTo=xoV&/0Cil S^SoT-.0Imismo0S!@T}oTub_Vi=0El]Ul 1Id Ig- :Ca$Ci-%Co%Ctu D @Dr*/G GodeIn`Ir IsagemLav+Lest+Lhe)Li$Lm^Lpi.Nc^N`aNfle$NquecaN)n&PagaioP`^P'oRaf*>ci&Rd&RedeRtidaSmoSs#S%lTam T-%T* T_noUl^Us 3C~i D& Dest[D@t+D+G^I$r&IxeLeLic<oNcaNdur N{aN]scoNs?N%Rceb(Rfei$Rgun)Ri$Rmit'Rn>plexoRsi<>%nceRucaSc#SquisaS,aTisc 3AdaC#Ed!eGm-$Last+Lh#Lo.M-)Nc`NguimN]No%N.On{oPocaQue%R<h>esRue)Sc S$laT<gaVe%2An)Aque)At*aEbeuUmagemUvi&1Eu0DaE'aEtisaLeg^Lici Lu-%Lvil/M MbaNd( N.@P~o,R)Ssu'St&TeUp U,Vo 2A@Anc]A$AxeEceEd?Efei$Emi Ens Ep Esil]E%x$Ev-'Ez Ima)IncesaIsmaIv#Oces,Odu$Ofe)Oibi=Oje$Ome%rOpag OsaO%$rOv?2Blic DimL Lm} Ls{aNh&N'PiloRezaX?:99Ad+Ant@Ar$AseEbr EdaEijoEn%Eri=Im}oInaIosque:B<^BiscoCh Ci} Di&I In]IoIvaJ^L#M&Ng(Nhu+P!u+P`PidezPosaQue%Rid!eS<%Scun/Sg Sp?S%'aSur Taz<aTo{a3AlezaAnim Av(Baix B`deBol C#C-%CheioCiboC|d Cru.Cu DeDim'D}daDuzidaEnvioF* Flet'Fog F[scoFugi G&@GimeG+In#I$rJei.LativoM?M-=M|,Nov#P oP`'Ple$Pol/P[saPudi Qu((S-]Sfri Sga.Sid'Solv(Spei$SsacaS)n%Sum'T&/T(T' Tom^T+.V` Vi,rVol)3Ac/CaGidezGo_,M NgueS^ScoS}/5B&oChe=D^DeioDov@E=rLe)M<oNc S#S{aS$TaT{oT*aT~ UcoUpaXo5B_Gi=Go,IvoMoPest[S,:B|Ci ColaCud'DioF'aGaGr^Ib_L^L{oLg#LivaLpic Lsic]L.Lv?Mb Mu+iN Nf}aNgueNid!ePa$Rd>g-$Rje)Tur Ud!eXof}eZ}&3C C~ DaD-$Di#Do,Du$rGm-$G[=Gun=IvaLe$LvagemM<&M-%N?N/rNsu&Nt#P #Rei>*g>+RvoTemb_T|3GiloLhue)Lic}eMetr@Mpat@M~ N&Nc(oNg~ NopseN$ni>-eRiTu#5B(<oB+C|_G_JaLdaLetr L%'oMbrioNa)Nd Neg Nh?NoP+noQue%Rr'R%ioSsegoTaqueT(r V#Z*/5Aviz BidaBm(,B,loBt+'Ca)Ces,CoDes%FixoG?G('Jei$Lfa$M'OrP(i|Plic Pos$Prim'Rd*>fis)Rp[s>[&Rt'Sp'oS%n$:B`aBle%Bu^C/G `aLh(LoLvezM</Mb|imMpaNg-%N$P Pioc>dioRef>j>+xaTuagemUr*oXativoXis)3Atr&C(Ci=Cl#Dio,IaIm Lef}eLh#Mp(oN-%N,rN.Rm&RnoRr-oSeSou+St#ToXtu+Xugo3A+G`aJoloMbr MidezNgi=N%'oRagemT~ 5Al]C]L( LiceM^Mil/N`Ntu+Pe%R>ci=RneioRqueRr!>$S.UcaUp{aX*a2Ab&/Acej Adu$rAfeg Aje$AmaAnc ApoAs{oAt?Av E*oEm(Epid EvoIagemIboIcicloId-%Ilog@Ind!eIploItur Iunf&Oc Ombe)OvaUnfoUque2B~ C<oDoLipaPiRboRm>quesaT` T|i&:7V 3Bigo0HaId!eIf|me3Olog@SoTigaUbu0A=InaUfru':C*aDi G o,I=,LaL-%Lid!eLo[sN)gemQu{oR<d>e)Rr(Sc~ Sil]S,u+Z Zio3A=D Ge.Ic~ L{oLhiceLu=Nce=rNdav&N( Nt[Rb&Rd!eRe?Rg}h>m`/RnizRs R%n%SpaSti=T|i&3Adu$AgemAj Atu+Br?D{aDr @ElaGaG-%Gi G| L ejoNcoNhe)NilOle)R!>tudeSi.S$Tr&V{oZ*/5A=rArG&L<%LeibolL)gemLumo,Nt!e5L$Vuz`a::D[zRope3QueRe.Rife3Ng ::Ng#Rp 3BuL?9Mb Olog@5Mbi=",IE="0x2219000926df7b50d8aa0a3d495826b988287df4657fbd100e6fe596c8f737ac",Wh=null,ju=class r extends ct{constructor(){super("pt",BE,IE)}static wordlist(){return Wh==null&&(Wh=new r),Wh}};var jh="}aE#4A=Yv&co#4N#6G=cJ&SM#66|/Z#4t&kn~46#4K~4q%b9=IR#7l,mB#7W_X2*dl}Uo~7s}Uf&Iw#9c&cw~6O&H6&wx&IG%v5=IQ~8a&Pv#47$PR&50%Ko&QM&3l#5f,D9#4L|/H&tQ;v0~6n]nN<di,AM=W5%QO&ka&ua,hM^tm=zV=JA=wR&+X]7P&NB#4J#5L|/b[dA}tJ<Do&6m&u2[U1&Kb.HM&mC=w0&MW<rY,Hq#6M}QG,13&wP}Jp]Ow%ue&Kg<HP<D9~4k~9T&I2_c6$9T#9/[C5~7O~4a=cs&O7=KK=An&l9$6U$8A&uD&QI|/Y&bg}Ux&F2#6b}E2&JN&kW&kp=U/&bb=Xl<Cj}k+~5J#6L&5z&9i}b4&Fo,ho(X0_g3~4O$Fz&QE<HN=Ww]6/%GF-Vw=tj&/D&PN#9g=YO}cL&Of&PI~5I&Ip=vU=IW#9G;0o-wU}ss&QR<BT&R9=tk$PY_dh&Pq-yh]7T,nj.Xu=EP&76=cI&Fs*Xg}z7$Gb&+I=DF,AF=cA}rL#7j=Dz&3y<Aa$52=PQ}b0(iY$Fa}oL&xV#6U=ec=WZ,xh%RY<dp#9N&Fl&44=WH*A7=sh&TB&8P=07;u+&PK}uh}J5#72)V/=xC,AB$k0&f6;1E|+5=1B,3v]6n&wR%b+&xx]7f=Ol}fl;+D^wG]7E;nB;uh^Ir&l5=JL,nS=cf=g5;u6|/Q$Gc=MH%Hg#5d%M6^86=U+$Gz,l/,ir^5y&Ba&/F-IY&FI&be%IZ#77&PW_Nu$kE(Yf&NX]7Z,Jy&FJ(Xo&Nz#/d=y7&MX<Ag}Z+;nE]Dt(iG#4D=13&Pj~4c%v8&Zo%OL&/X#4W<HR&ie~6J_1O(Y2=y5=Ad*cv_eB#6k&PX:BU#7A;uk&Ft&Fx_dD=U2;vB=U5=4F}+O&GN.HH:9s=b0%NV(jO&IH=JT}Z9=VZ<Af,Kx^4m&uJ%c6,6r;9m#+L}cf%Kh&F3~4H=vP}bu,Hz|++,1w]nv}k6;uu$jw*Kl*WX&uM[x7&Fr[m7$NO&QN]hu=JN}nR^8g#/h(ps|KC;vd}xz=V0}p6&FD$G1#7K<bG_4p~8g&cf;u4=tl}+k%5/}fz;uw<cA=u1}gU}VM=LJ=eX&+L&Pr#4U}p2:nC,2K]7H:jF&9x}uX#9O=MB<fz~8X~5m&4D&kN&u5%E/(h7(ZF&VG<de(qM|/e-Wt=3x(a+,/R]f/&ND$Ro&nU}0g=KA%kH&NK$Ke<dS}cB&IX~5g$TN]6m=Uv,Is&Py=Ef%Kz#+/%bi&+A<F4$OG&4C&FL#9V<Zk=2I_eE&6c]nw&kq$HG}y+&A8$P3}OH=XP]70%IS(AJ_gH%GZ&tY&AZ=vb~6y&/r=VI=Wv<Zi=fl=xf&eL}c8}OL=MJ=g8$F7=YT}9u=0+^xC}JH&nL^N0~4T]K2,Cy%OC#6s;vG(AC^xe^cG&MF}Br#9P;wD-7h$O/&xA}Fn^PC]6i]7G&8V$Qs;vl(TB~73~4l<mW&6V=2y&uY&+3)aP}XF;LP&kx$wU=t7;uy<FN&lz)7E=Oo*Y+;wI}9q}le;J6&Ri&4t&Qr#8B=cb&vG=J5|Ql(h5<Yy~4+}QD,Lx=wn%K/&RK=dO&Pw,Q9=co%4u;9u}g0@6a^4I%b0=zo|/c&tX=dQ=OS#+b=yz_AB&wB&Pm=W9$HP_gR=62=AO=ti=hI,oA&jr&dH=tm&b6$P2(x8=zi;nG~7F;05]0n[Ix&3m}rg=Xp=cd&uz]7t;97=cN;vV<jf&FF&F1=6Q&Ik*Kk&P4,2z=fQ]7D&3u,H0=d/}Uw<ZN<7R}Kv;0f$H7,MD]7n$F0#88~9Z%da=by;+T#/u=VF&fO&kr^kf<AB]sU,I5$Ng&Pz;0i&QD&vM=Yl:BM;nJ_xJ]U7&Kf&30,3f|Z9*dC)je_jA&Q4&Kp$NH(Yz#6S&Id%Ib=KX,AD=KV%dP}tW&Pk^+E_Ni=cq,3R}VZ(Si=b+}rv;0j}rZ]uA,/w(Sx&Jv$w9&4d&wE,NJ$Gy=J/]Ls#7k<ZQ<Y/&uj]Ov$PM;v3,2F&+u:up=On&3e,Jv;90=J+&Qm]6q}bK#+d~8Y(h2]hA;99&AS=I/}qB&dQ}yJ-VM}Vl&ui,iB&G3|Dc]7d=eQ%dX%JC_1L~4d^NP;vJ&/1)ZI#7N]9X[bQ&PL=0L(UZ,Lm&kc&IR}n7(iR<AQ<dg=33=vN}ft}au]7I,Ba=x9=dR~6R&Tq=Xi,3d$Nr&Bc}DI&ku&vf]Dn,/F&iD,Ll&Nw=0y&I7=Ls=/A&tU=Qe}Ua&uk&+F=g4=gh=Vj#+1&Qn}Uy*44#5F,Pc&Rz*Xn=oh=5W;0n_Nf(iE<Y7=vr=Zu]oz#5Z%mI=kN=Bv_Jp(T2;vt_Ml<FS&uI=L/&6P]64$M7}86<bo%QX(SI%IY&VK=Al&Ux;vv;ut*E/%uh<ZE|O3,M2(yc]yu=Wk&tp:Ex}hr,Cl&WE)+Z=8U}I2_4Q,hA_si=iw=OM=tM=yZ%Ia=U7;wT}b+;uo=Za}yS!5x}HD}fb#5O_dA;Nv%uB(yB;01(Sf}Fk;v7}Pt#8v<mZ#7L,/r&Pl~4w&f5=Ph$Fw_LF&8m,bL=yJ&BH}p/*Jn}tU~5Q;wB(h6]Df]8p^+B;E4&Wc=d+;Ea&bw$8C&FN,DM=Yf}mP~5w=fT#6V=mC=Fi=AV}jB&AN}lW}aH#/D)dZ;hl;vE}/7,CJ;31&w8,hj%u9_Js=jJ&4M~8k=TN&eC}nL&uc-wi&lX}dj=Mv=e2#6u=cr$uq$6G]8W}Jb:nm=Yg<b3(UA;vX&6n&xF=KT,jC,De&R8&oY=Zv&oB]7/=Z2&Oa}bf,hh(4h^tZ&72&Nx;D2&xL~5h~40)ZG)h+=OJ&RA]Bv$yB=Oq=df,AQ%Jn}OJ;11,3z&Tl&tj;v+^Hv,Dh(id=s+]7N&N3)9Q~8f,S4=uW=w4&uX,LX&3d]CJ&yp&8x<b2_do&lP=y/<cy_dG=Oi=7R(VH(lt_1T,Iq_AA;12^6T%k6#8K[B1{oO<AU[Bt;1b$9S&Ps<8T=St{bY,jB(Zp&63&Uv$9V,PM]6v&Af}zW[bW_oq}sm}nB&Kq&gC&ff_eq_2m&5F&TI}rf}Gf;Zr_z9;ER&jk}iz_sn<BN~+n&vo=Vi%97|ZR=Wc,WE&6t]6z%85(ly#84=KY)6m_5/=aX,N3}Tm&he&6K]tR_B2-I3;u/&hU&lH<AP=iB&IA=XL;/5&Nh=wv<BH#79=vS=zl<AA=0X_RG}Bw&9p$NW,AX&kP_Lp&/Z(Tc]Mu}hs#6I}5B&cI<bq&H9#6m=K9}vH(Y1(Y0#4B&w6,/9&gG<bE,/O=zb}I4_l8<B/;wL%Qo<HO[Mq=XX}0v&BP&F4(mG}0i}nm,EC=9u{I3,xG&/9=JY*DK&hR)BX=EI=cx=b/{6k}yX%A+&wa}Xb=la;wi^lL;0t}jo&Qb=xg=XB}iO<qo{bR=NV&8f=a0&Jy;0v=uK)HK;vN#6h&jB(h/%ud&NI%wY.X7=Pt}Cu-uL&Gs_hl%mH,tm]78=Lb^Q0#7Y=1u<Bt&+Q=Co_RH,w3;1e}ux<aU;ui}U3&Q5%bt]63&UQ|0l&uL}O7&3o,AV&dm|Nj(Xt*5+(Uu&Hh(p7(UF=VR=Bp^Jl&Hd[ix)9/=Iq]C8<67]66}mB%6f}bb}JI]8T$HA}db=YM&pa=2J}tS&Y0=PS&y4=cX$6E,hX,XP&nR;04,FQ&l0&Vm_Dv#5Y~8Z=Bi%MA]6x=JO:+p,Az&9q,Hj~6/}SD=K1:EJ}nA;Qo#/E]9R,Ie&6X%W3]61&v4=xX_MC=0q;06(Xq=fs}IG}Dv=0l}o7$iZ;9v&LH&DP-7a&OY,SZ,Kz,Cv&dh=fx|Nh,F/~7q=XF&w+;9n&Gw;0h}Z7<7O&JK(S7&LS<AD<ac=wo<Dt&zw%4B=4v#8P;9o~6p*vV=Tm,Or&I6=1q}nY=P0=gq&Bl&Uu,Ch%yb}UY=zh}dh}rl(T4_xk(YA#8R*xH,IN}Jn]7V}C4&Ty}j3]7p=cL=3h&wW%Qv<Z3=f0&RI&+S(ic_zq}oN&/Y=z1;Td=LW=0e=OI(Vc,+b^ju(UL;0r:Za%8v=Rp=zw&58&73&wK}qX]6y&8E)a2}WR=wP^ur&nQ<cH}Re=Aq&wk}Q0&+q=PP,Gc|/d^k5,Fw]8Y}Pg]p3=ju=ed}r5_yf&Cs]7z$/G<Cm&Jp&54_1G_gP_Ll}JZ;0u]k8_7k(Sg]65{9i=LN&Sx&WK,iW&fD&Lk{9a}Em-9c#8N&io=sy]8d&nT&IK(lx#7/$lW(Td<s8~49,3o<7Y=MW(T+_Jr&Wd,iL}Ct=xh&5V;v4&8n%Kx=iF&l2_0B{B+,If(J0,Lv;u8=Kx-vB=HC&vS=Z6&fU&vE^xK;3D=4h=MR#45:Jw;0d}iw=LU}I5=I0]gB*im,K9}GU,1k_4U&Tt=Vs(iX&lU(TF#7y,ZO}oA&m5#5P}PN}Uz=hM<B1&FB<aG,e6~7T<tP(UQ_ZT=wu&F8)aQ]iN,1r_Lo&/g:CD}84{J1_Ki&Na&3n$jz&FE=dc;uv;va}in}ll=fv(h1&3h}fp=Cy}BM(+E~8m}lo%v7=hC(T6$cj=BQ=Bw(DR,2j=Ks,NS|F+;00=fU=70}Mb(YU;+G&m7&hr=Sk%Co]t+(X5_Jw}0r}gC(AS-IP&QK<Z2#8Q$WC]WX}T2&pG_Ka,HC=R4&/N;Z+;ch(C7,D4$3p_Mk&B2$8D=n9%Ky#5z(CT&QJ#7B]DC]gW}nf~5M;Iw#80}Tc_1F#4Z-aC}Hl=ph=fz,/3=aW}JM}nn;DG;vm}wn,4P}T3;wx&RG$u+}zK=0b;+J_Ek{re<aZ=AS}yY#5D]7q,Cp}xN=VP*2C}GZ}aG~+m_Cs=OY#6r]6g<GS}LC(UB=3A=Bo}Jy<c4}Is;1P<AG}Op<Z1}ld}nS=1Z,yM&95&98=CJ(4t:2L$Hk=Zo}Vc;+I}np&N1}9y=iv}CO*7p=jL)px]tb^zh&GS&Vl%v/;vR=14=zJ&49|/f]hF}WG;03=8P}o/&Gg&rp;DB,Kv}Ji&Pb;aA^ll(4j%yt}+K$Ht#4y&hY]7Y<F1,eN}bG(Uh%6Z]t5%G7;+F_RE;it}tL=LS&Da=Xx(S+(4f=8G=yI}cJ}WP=37=jS}pX}hd)fp<A8=Jt~+o$HJ=M6}iX=g9}CS=dv=Cj(mP%Kd,xq|+9&LD(4/=Xm&QP=Lc}LX&fL;+K=Op(lu=Qs.qC:+e&L+=Jj#8w;SL]7S(b+#4I=c1&nG_Lf&uH;+R)ZV<bV%B/,TE&0H&Jq&Ah%OF&Ss(p2,Wv&I3=Wl}Vq;1L&lJ#9b_1H=8r=b8=JH(SZ=hD=J2#7U,/U#/X~6P,FU<eL=jx,mG=hG=CE&PU=Se(qX&LY=X6=y4&tk&QQ&tf=4g&xI}W+&mZ=Dc#7w}Lg;DA;wQ_Kb(cJ=hR%yX&Yb,hw{bX_4X;EP;1W_2M}Uc=b5(YF,CM&Tp^OJ{DD]6s=vF=Yo~8q}XH}Fu%P5(SJ=Qt;MO]s8<F3&B3&8T(Ul-BS*dw&dR<87}/8]62$PZ]Lx<Au}9Q]7c=ja=KR,Go,Us&v6(qk}pG&G2=ev^GM%w4&H4]7F&dv]J6}Ew:9w=sj-ZL}Ym$+h(Ut(Um~4n=Xs(U7%eE=Qc_JR<CA#6t<Fv|/I,IS,EG<F2(Xy$/n<Fa(h9}+9_2o&N4#7X<Zq|+f_Dp=dt&na,Ca=NJ)jY=8C=YG=s6&Q+<DO}D3=xB&R1(lw;Qn<bF(Cu|/B}HV=SS&n7,10&u0]Dm%A6^4Q=WR(TD=Xo<GH,Rj(l8)bP&n/=LM&CF,F5&ml=PJ;0k=LG=tq,Rh,D6@4i=1p&+9=YC%er_Mh;nI;0q=Fw]80=xq=FM$Gv;v6&nc;wK%H2&Kj;vs,AA=YP,66}bI(qR~5U=6q~4b$Ni=K5.X3$So&Iu(p+]8G=Cf=RY(TS_O3(iH&57=fE=Dg_Do#9z#7H;FK{qd_2k%JR}en&gh_z8;Rx}9p<cN_Ne,DO;LN_7o~/p=NF=5Y}gN<ce<C1,QE]Wv=3u<BC}GK]yq}DY&u/_hj=II(pz&rC,jV&+Z}ut=NQ;Cg-SR_ZS,+o=u/;Oy_RK_QF(Fx&xP}Wr&TA,Uh&g1=yr{ax[VF$Pg(YB;Ox=Vy;+W(Sp}XV%dd&33(l/]l4#4Y}OE=6c=bw(A7&9t%wd&N/&mo,JH&Qe)fm=Ao}fu=tH",OE="FAZDC6BALcLZCA+GBARCW8wNCcDDZ8LVFBOqqDUiou+M42TFAyERXFb7EjhP+vmBFpFrUpfDV2F7eB+eCltCHJFWLFCED+pWTojEIHFXc3aFn4F68zqjEuKidS1QBVPDEhE7NA4mhMF7oThD49ot3FgtzHFCK0acW1x8DH1EmLoIlrWFBLE+y5+NA3Cx65wJHTaEZVaK1mWAmPGxgYCdxwOjTDIt/faOEhTl1vqNsKtJCOhJWuio2g07KLZEQsFBUpNtwEByBgxFslFheFbiEPvi61msDvApxCzB6rBCzox7joYA5UdDc+Cb4FSgIabpXFAj3bjkmFAxCZE+mD/SFf/0ELecYCt3nLoxC6WEZf2tKDB4oZvrEmqFkKk7BwILA7gtYBpsTq//D4jD0F0wEB9pyQ1BD5Ba0oYHDI+sbDFhvrHXdDHfgFEIJLi5r8qercNFBgFLC4bo5ERJtamWBDFy73KCEb6M8VpmEt330ygCTK58EIIFkYgF84gtGA9Uyh3m68iVrFbWFbcbqiCYHZ9J1jeRPbL8yswhMiDbhEhdNoSwFbZrLT740ABEqgCkO8J1BLd1VhKKR4sD1yUo0z+FF59Mvg71CFbyEhbHSFBKEIKyoQNgQppq9T0KAqePu0ZFGrXOHdKJqkoTFhYvpDNyuuznrN84thJbsCoO6Cu6Xlvntvy0QYuAExQEYtTUBf3CoCqwgGFZ4u1HJFzDVwEy3cjcpV4QvsPaBC3rCGyCF23o4K3pp2gberGgFEJEHo4nHICtyKH2ZqyxhN05KBBJIQlKh/Oujv/DH32VrlqFdIFC7Fz9Ct4kaqFME0UETLprnN9kfy+kFmtQBB0+5CFu0N9Ij8l/VvJDh2oq3hT6EzjTHKFN7ZjZwoTsAZ4Exsko6Fpa6WC+sduz8jyrLpegTv2h1EBeYpLpm2czQW0KoCcS0bCVXCmuWJDBjN1nQNLdF58SFJ0h7i3pC3oEOKy/FjBklL70XvBEEIWp2yZ04xObzAWDDJG7f+DbqBEA7LyiR95j7MDVdDViz2RE5vWlBMv5e4+VfhP3aXNPhvLSynb9O2x4uFBV+3jqu6d5pCG28/sETByvmu/+IJ0L3wb4rj9DNOLBF6XPIODr4L19U9RRofAG6Nxydi8Bki8BhGJbBAJKzbJxkZSlF9Q2Cu8oKqggB9hBArwLLqEBWEtFowy8XK8bEyw9snT+BeyFk1ZCSrdmgfEwFePTgCjELBEnIbjaDDPJm36rG9pztcEzT8dGk23SBhXBB1H4z+OWze0ooFzz8pDBYFvp9j9tvFByf9y4EFdVnz026CGR5qMr7fxMHN8UUdlyJAzlTBDRC28k+L4FB8078ljyD91tUj1ocnTs8vdEf7znbzm+GIjEZnoZE5rnLL700Xc7yHfz05nWxy03vBB9YGHYOWxgMQGBCR24CVYNE1hpfKxN0zKnfJDmmMgMmBWqNbjfSyFCBWSCGCgR8yFXiHyEj+VtD1FB3FpC1zI0kFbzifiKTLm9yq5zFmur+q8FHqjoOBWsBPiDbnCC2ErunV6cJ6TygXFYHYp7MKN9RUlSIS8/xBAGYLzeqUnBF4QbsTuUkUqGs6CaiDWKWjQK9EJkjpkTmNCPYXL",qh={zh_cn:null,zh_tw:null},CE={zh_cn:"0x17bcc4d8547e5a7135e365d1ab443aaae95e76d8230c2782c67305d4f21497a1",zh_tw:"0x51e720e90c7b87bec1d70eb6e74a21a449bd3ec9c020b01d3a40ed991b60ce5d"},ep="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",PE="~!@#$%^&*_-=[]{}|;:,.()<>?";function ay(r){if(qh[r]!=null)return qh[r];let e=[],t=0;for(let s=0;s<2048;s++){let i=PE.indexOf(jh[s*3]),o=[228+(i>>2),128+ep.indexOf(jh[s*3+1]),128+ep.indexOf(jh[s*3+2])];if(r==="zh_tw"){let a=i%4;for(let c=a;c<3;c++)o[c]=ep.indexOf(OE[t++])+(c==0?228:128)}e.push(Le(new Uint8Array(o)))}if(ge(e.join(`
17
- `)+`
18
- `)!==CE[r])throw new Error(`BIP39 Wordlist for ${r} (Chinese) FAILED`);return qh[r]=e,e}var tp={},_l=class r extends It{constructor(e){super("zh_"+e)}getWord(e){let t=ay(this.locale);return p(e>=0&&e<t.length,`invalid word index: ${e}`,"index",e),t[e]}getWordIndex(e){return ay(this.locale).indexOf(e)}split(e){return e=e.replace(/(?:\u3000| )+/g,""),e.split("")}static wordlist(e){return tp[e]==null&&(tp[e]=new r(e)),tp[e]}};var rp={cz:Zu.wordlist(),en:mt.wordlist(),es:zu.wordlist(),fr:Ku.wordlist(),it:Wu.wordlist(),pt:ju.wordlist(),ja:$u.wordlist(),ko:Yu.wordlist(),zh_cn:_l.wordlist("cn"),zh_tw:_l.wordlist("tw")};function cy(){try{let r=fc.Wallet.createRandom().mnemonic;if(!r)throw new Error("Failed to generate mnemonic");let e=r.phrase;return{address:fc.HDNodeWallet.fromPhrase(e,void 0,"m/44'/60'/0'/0/0").address,mnemonic:e}}catch(r){throw new Qn("Wallet generation failed",r)}}function ly(r){try{if(!r||r.trim().split(/\s+/).length<12)throw new Error("Invalid mnemonic: must be at least 12 words");return fc.HDNodeWallet.fromPhrase(r.trim(),void 0,"m/44'/60'/0'/0/0")}catch(e){throw new Qn(`Wallet creation failed: ${e instanceof Error?e.message:"Invalid mnemonic"}`,e)}}async function qu(r,e){try{let t=new TextEncoder().encode(r+e),n=await crypto.subtle.importKey("raw",t,{name:"PBKDF2"},!1,["deriveKey"]);return crypto.subtle.deriveKey({name:"PBKDF2",salt:new TextEncoder().encode("webauthn-wallet-salt-w3pk"),iterations:1e5,hash:"SHA-256"},n,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}catch(t){throw new Xs("Failed to derive encryption key",t)}}async function fy(r,e){try{let t=crypto.getRandomValues(new Uint8Array(12)),n=new TextEncoder().encode(r),s=await crypto.subtle.encrypt({name:"AES-GCM",iv:t},e,n),i=new Uint8Array(t.length+s.byteLength);return i.set(t),i.set(new Uint8Array(s),t.length),btoa(String.fromCharCode(...i))}catch(t){throw new Xs("Failed to encrypt data",t)}}async function uy(r,e){try{if(!r||r.length<16)throw new Error("Invalid encrypted data: too small");let t=new Uint8Array(atob(r).split("").map(o=>o.charCodeAt(0)));if(t.length<12)throw new Error("Invalid encrypted data: missing IV");let n=t.slice(0,12),s=t.slice(12);if(s.length===0)throw new Error("Invalid encrypted data: no content");let i=await crypto.subtle.decrypt({name:"AES-GCM",iv:n},e,s);return new TextDecoder().decode(i)}catch(t){throw new Xs(`Data decryption failed: ${t instanceof Error?t.message:"Unknown error"}`,t)}}var e0=class{constructor(e){this.storage=e}async signMessage(e,t,n,s){try{let i=await this.storage.retrieve(e);if(!i)throw new Error("No wallet found for this address");let o=await qu(n,s),a=await uy(i.encryptedMnemonic,o),c=ly(a);if(c.address.toLowerCase()!==e.toLowerCase())throw new Error("Wallet address mismatch");return await c.signMessage(t)}catch(i){throw new Qn("Failed to sign message",i)}}async hasWallet(e){return await this.storage.retrieve(e)!==null}};function $t(r){let e=new Uint8Array(r),t="";for(let s of e)t+=String.fromCharCode(s);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function ho(r){let e=r.replace(/-/g,"+").replace(/_/g,"/"),t=(4-e.length%4)%4,n=e.padEnd(e.length+t,"="),s=atob(n),i=new ArrayBuffer(s.length),o=new Uint8Array(i);for(let a=0;a<s.length;a++)o[a]=s.charCodeAt(a);return i}function po(){return UE.stubThis(globalThis?.PublicKeyCredential!==void 0&&typeof globalThis.PublicKeyCredential=="function")}var UE={stubThis:r=>r};function t0(r){let{id:e}=r;return{...r,id:ho(e),transports:r.transports}}function r0(r){return r==="localhost"||/^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(r)}var Oe=class extends Error{constructor({message:e,code:t,cause:n,name:s}){super(e,{cause:n}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=s??n.name,this.code=t}};function dy({error:r,options:e}){let{publicKey:t}=e;if(!t)throw Error("options was missing required publicKey property");if(r.name==="AbortError"){if(e.signal instanceof AbortSignal)return new Oe({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:r})}else if(r.name==="ConstraintError"){if(t.authenticatorSelection?.requireResidentKey===!0)return new Oe({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:r});if(e.mediation==="conditional"&&t.authenticatorSelection?.userVerification==="required")return new Oe({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:r});if(t.authenticatorSelection?.userVerification==="required")return new Oe({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:r})}else{if(r.name==="InvalidStateError")return new Oe({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:r});if(r.name==="NotAllowedError")return new Oe({message:r.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:r});if(r.name==="NotSupportedError")return t.pubKeyCredParams.filter(s=>s.type==="public-key").length===0?new Oe({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:r}):new Oe({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:r});if(r.name==="SecurityError"){let n=globalThis.location.hostname;if(r0(n)){if(t.rp.id!==n)return new Oe({message:`The RP ID "${t.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:r})}else return new Oe({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:r})}else if(r.name==="TypeError"){if(t.user.id.byteLength<1||t.user.id.byteLength>64)return new Oe({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:r})}else if(r.name==="UnknownError")return new Oe({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:r})}return r}var np=class{constructor(){Object.defineProperty(this,"controller",{enumerable:!0,configurable:!0,writable:!0,value:void 0})}createNewAbortSignal(){if(this.controller){let t=new Error("Cancelling existing WebAuthn API call for new one");t.name="AbortError",this.controller.abort(t)}let e=new AbortController;return this.controller=e,e.signal}cancelCeremony(){if(this.controller){let e=new Error("Manually cancelling existing WebAuthn API call");e.name="AbortError",this.controller.abort(e),this.controller=void 0}}},n0=new np;var FE=["cross-platform","platform"];function s0(r){if(r&&!(FE.indexOf(r)<0))return r}async function hy(r){!r.optionsJSON&&r.challenge&&(console.warn("startRegistration() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information."),r={optionsJSON:r});let{optionsJSON:e,useAutoRegister:t=!1}=r;if(!po())throw new Error("WebAuthn is not supported in this browser");let n={...e,challenge:ho(e.challenge),user:{...e.user,id:ho(e.user.id)},excludeCredentials:e.excludeCredentials?.map(t0)},s={};t&&(s.mediation="conditional"),s.publicKey=n,s.signal=n0.createNewAbortSignal();let i;try{i=await navigator.credentials.create(s)}catch(A){throw dy({error:A,options:s})}if(!i)throw new Error("Registration was not completed");let{id:o,rawId:a,response:c,type:l}=i,u;typeof c.getTransports=="function"&&(u=c.getTransports());let d;if(typeof c.getPublicKeyAlgorithm=="function")try{d=c.getPublicKeyAlgorithm()}catch(A){sp("getPublicKeyAlgorithm()",A)}let x;if(typeof c.getPublicKey=="function")try{let A=c.getPublicKey();A!==null&&(x=$t(A))}catch(A){sp("getPublicKey()",A)}let m;if(typeof c.getAuthenticatorData=="function")try{m=$t(c.getAuthenticatorData())}catch(A){sp("getAuthenticatorData()",A)}return{id:o,rawId:$t(a),response:{attestationObject:$t(c.attestationObject),clientDataJSON:$t(c.clientDataJSON),transports:u,publicKeyAlgorithm:d,publicKey:x,authenticatorData:m},type:l,clientExtensionResults:i.getClientExtensionResults(),authenticatorAttachment:s0(i.authenticatorAttachment)}}function sp(r,e){console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${r}. You should report this error to them.
19
- `,e)}function py(){if(!po())return ip.stubThis(new Promise(e=>e(!1)));let r=globalThis.PublicKeyCredential;return r?.isConditionalMediationAvailable===void 0?ip.stubThis(new Promise(e=>e(!1))):ip.stubThis(r.isConditionalMediationAvailable())}var ip={stubThis:r=>r};function xy({error:r,options:e}){let{publicKey:t}=e;if(!t)throw Error("options was missing required publicKey property");if(r.name==="AbortError"){if(e.signal instanceof AbortSignal)return new Oe({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:r})}else{if(r.name==="NotAllowedError")return new Oe({message:r.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:r});if(r.name==="SecurityError"){let n=globalThis.location.hostname;if(r0(n)){if(t.rpId!==n)return new Oe({message:`The RP ID "${t.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:r})}else return new Oe({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:r})}else if(r.name==="UnknownError")return new Oe({message:"The authenticator was unable to process the specified options, or could not create a new assertion signature",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:r})}return r}async function op(r){!r.optionsJSON&&r.challenge&&(console.warn("startAuthentication() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information."),r={optionsJSON:r});let{optionsJSON:e,useBrowserAutofill:t=!1,verifyBrowserAutofillInput:n=!0}=r;if(!po())throw new Error("WebAuthn is not supported in this browser");let s;e.allowCredentials?.length!==0&&(s=e.allowCredentials?.map(t0));let i={...e,challenge:ho(e.challenge),allowCredentials:s},o={};if(t){if(!await py())throw Error("Browser does not support WebAuthn autofill");if(document.querySelectorAll("input[autocomplete$='webauthn']").length<1&&n)throw Error('No <input> with "webauthn" as the only or last value in its `autocomplete` attribute was detected');o.mediation="conditional",i.allowCredentials=[]}o.publicKey=i,o.signal=n0.createNewAbortSignal();let a;try{a=await navigator.credentials.get(o)}catch(m){throw xy({error:m,options:o})}if(!a)throw new Error("Authentication was not completed");let{id:c,rawId:l,response:u,type:d}=a,x;return u.userHandle&&(x=$t(u.userHandle)),{id:c,rawId:$t(l),response:{authenticatorData:$t(u.authenticatorData),clientDataJSON:$t(u.clientDataJSON),signature:$t(u.signature),userHandle:x},type:d,clientExtensionResults:a.getClientExtensionResults(),authenticatorAttachment:s0(a.authenticatorAttachment)}}function ME(r){return/^0x[a-fA-F0-9]{40}$/.test(r)}function kE(r){return r.length>=3&&r.length<=50}function i0(r){if(!ME(r))throw new Error("Invalid Ethereum address format")}function my(r){if(!kE(r))throw new Error("Username must be between 3 and 50 characters")}async function gy(r,e){try{let{username:t,ethereumAddress:n}=e;my(t),i0(n);let s=await r.post("/webauthn/register/begin",{username:t,ethereumAddress:n});if(!s.success||!s.data?.options)throw new Error("Failed to get registration options from server");let i=await hy(s.data.options);if(!(await r.post("/webauthn/register/complete",{ethereumAddress:n,response:i})).success)throw new Error("Registration verification failed")}catch(t){throw new hc(t instanceof Error?t.message:"Registration failed",t)}}async function by(r,e){try{i0(e);let t=await r.post("/webauthn/authenticate/begin",{ethereumAddress:e});if(!t.success||!t.data?.options)throw new Error("Failed to get authentication options from server");let n=await op(t.data.options),s=await r.post("/webauthn/authenticate/complete",{ethereumAddress:e,response:n});if(!s.success)throw new Error("Authentication verification failed");return{verified:!0,user:s.data?.user}}catch(t){throw new bo(t instanceof Error?t.message:"Authentication failed",t)}}async function yy(r){try{let e=await r.post("/webauthn/authenticate/usernameless/begin",{});if(!e.success||!e.data?.options)throw new Error("Failed to get usernameless authentication options from server");let t=await op(e.data.options),n=await r.post("/webauthn/authenticate/usernameless/complete",{response:t});if(!n.success)throw new Error("Usernameless authentication verification failed");return{verified:!0,user:n.data?.user}}catch(e){throw new bo(e instanceof Error?e.message:"Usernameless authentication failed",e)}}var o0={timeout:3e4,debug:!1};var Xl=class{constructor(e){this.currentUser=null;this.isAuthenticatedState=!1;this.isBrowser=typeof window<"u"&&typeof localStorage<"u",this.config={...o0,...e,timeout:e.timeout??o0.timeout,debug:e.debug??o0.debug},this.apiClient=new Ql(this.config.apiBaseUrl,this.config.timeout),this.walletStorage=new Zl,this.walletSigner=new e0(this.walletStorage),this.isBrowser?(this.walletStorage.init().catch(t=>{this.config.debug&&console.error("Failed to initialize wallet storage:",t)}),this.loadAuthState()):this.config.debug&&console.warn("w3pk: Running in non-browser environment, some features disabled")}loadAuthState(){if(this.isBrowser)try{let e=localStorage.getItem("w3pk_user"),t=localStorage.getItem("w3pk_authenticated");e&&t==="true"&&(this.currentUser=JSON.parse(e),this.isAuthenticatedState=!0,this.notifyAuthStateChange(!0,this.currentUser??void 0))}catch(e){this.config.debug&&console.error("Failed to load auth state:",e),this.clearAuthState()}}saveAuthState(e){if(!this.isBrowser){console.warn("w3pk: Cannot save auth state in non-browser environment");return}try{localStorage.setItem("w3pk_user",JSON.stringify(e)),localStorage.setItem("w3pk_authenticated","true"),this.currentUser=e,this.isAuthenticatedState=!0,this.notifyAuthStateChange(!0,e)}catch(t){this.config.debug&&console.error("Failed to save auth state:",t)}}clearAuthState(){if(this.isBrowser){try{localStorage.removeItem("w3pk_user"),localStorage.removeItem("w3pk_authenticated")}catch(e){this.config.debug&&console.error("Failed to clear auth state:",e)}this.currentUser=null,this.isAuthenticatedState=!1,this.notifyAuthStateChange(!1)}}notifyAuthStateChange(e,t){this.config.onAuthStateChanged&&this.config.onAuthStateChanged(e,t)}async generateWallet(){try{let e=cy();return this.config.debug&&console.log("Wallet generated:",e.address),e}catch(e){throw this.config.onError&&this.config.onError(e),e}}async hasWallet(){if(!this.isBrowser)return console.warn("w3pk: Wallet storage not available in non-browser environment"),!1;if(!this.currentUser)return!1;try{return await this.walletSigner.hasWallet(this.currentUser.ethereumAddress)}catch(e){return this.config.debug&&console.error("Failed to check wallet existence:",e),!1}}async register(e){if(!this.isBrowser)throw new Error("Registration requires browser environment with WebAuthn support");try{let{username:t,ethereumAddress:n,mnemonic:s,credentialId:i,challenge:o}=e;await gy(this.apiClient,{username:t,ethereumAddress:n});let a=await qu(i,o),c=await fy(s,a);await this.walletStorage.store({ethereumAddress:n,encryptedMnemonic:c,credentialId:i,challenge:o,createdAt:Date.now()});let l={id:n,username:t,ethereumAddress:n};this.saveAuthState(l),this.config.debug&&console.log("Registration successful for:",n)}catch(t){throw this.config.onError&&this.config.onError(t),t}}async authenticate(e){if(!this.isBrowser)throw new Error("Authentication requires browser environment with WebAuthn support");try{let t=await by(this.apiClient,e);if(t.verified&&t.user){let n={id:t.user.id,username:t.user.username,ethereumAddress:t.user.ethereumAddress};this.saveAuthState(n),this.config.debug&&console.log("Authentication successful for:",e)}return t}catch(t){throw this.config.onError&&this.config.onError(t),t}}async login(){if(!this.isBrowser)throw new Error("Authentication requires browser environment with WebAuthn support");try{let e=await yy(this.apiClient);if(e.verified&&e.user){let t={id:e.user.id,username:e.user.username,ethereumAddress:e.user.ethereumAddress};this.saveAuthState(t),this.config.debug&&console.log("Usernameless authentication successful for:",e.user.ethereumAddress)}return e}catch(e){throw this.config.onError&&this.config.onError(e),e}}logout(){this.clearAuthState(),this.config.debug&&console.log("User logged out")}async signMessage(e,t,n){if(!this.isBrowser)throw new Error("Message signing requires browser environment");if(!this.currentUser)throw new Error("Not authenticated");try{let s=await this.walletSigner.signMessage(this.currentUser.ethereumAddress,e,t,n);return this.config.debug&&console.log("Message signed successfully"),s}catch(s){throw this.config.onError&&this.config.onError(s),s}}get isAuthenticated(){return this.isAuthenticatedState}get user(){return this.currentUser}get version(){return"0.1.0"}get isBrowserEnvironment(){return this.isBrowser}};function JE(r){return new Xl(r)}var I9=JE;export{vr as ApiError,bo as AuthenticationError,Xs as CryptoError,hc as RegistrationError,tn as StorageError,Qn as WalletError,Xl as Web3Passkey,en as Web3PasskeyError,JE as createWeb3Passkey,I9 as default};
20
- /*! Bundled license information:
21
-
22
- @noble/hashes/esm/utils.js:
23
- (*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
24
-
25
- @noble/curves/esm/abstract/utils.js:
26
- @noble/curves/esm/abstract/modular.js:
27
- @noble/curves/esm/abstract/curve.js:
28
- @noble/curves/esm/abstract/weierstrass.js:
29
- @noble/curves/esm/_shortw_utils.js:
30
- @noble/curves/esm/secp256k1.js:
31
- (*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
32
-
33
- aes-js/lib.esm/aes.js:
34
- (*! MIT License. Copyright 2015-2022 Richard Moore <me@ricmoo.com>. See LICENSE.txt. *)
35
- */
1
+ var q=Object.defineProperty;var T=(n,e)=>()=>(n&&(e=n(n=0)),e);var L=(n,e)=>{for(var t in e)q(n,t,{get:e[t],enumerable:!0})};var a,f,x,m,c,g,d,p=T(()=>{"use strict";a=class extends Error{constructor(t,r,s){super(t);this.code=r;this.originalError=s;this.name="Web3PasskeyError"}},f=class extends a{constructor(e,t){super(e,"AUTHENTICATION_ERROR",t),this.name="AuthenticationError"}},x=class extends a{constructor(e,t){super(e,"REGISTRATION_ERROR",t),this.name="RegistrationError"}},m=class extends a{constructor(e,t){super(e,"WALLET_ERROR",t),this.name="WalletError"}},c=class extends a{constructor(e,t){super(e,"CRYPTO_ERROR",t),this.name="CryptoError"}},g=class extends a{constructor(e,t){super(e,"STORAGE_ERROR",t),this.name="StorageError"}},d=class extends a{constructor(t,r,s){super(t,"API_ERROR",s);this.statusCode=r;this.name="ApiError"}}});var B={};L(B,{canControlStealthAddress:()=>N,deriveStealthKeys:()=>W,generateStealthAddress:()=>H});import{ethers as l}from"ethers";function W(n){try{let e=l.HDNodeWallet.fromPhrase(n,void 0,"m/44'/60'/1'/0/0"),t=l.HDNodeWallet.fromPhrase(n,void 0,"m/44'/60'/1'/0/1");return{metaAddress:M(e.signingKey.publicKey,t.signingKey.publicKey),viewingKey:e.privateKey,spendingKey:t.privateKey}}catch(e){throw new c("Failed to derive stealth keys",e)}}function H(n){try{let e=l.Wallet.createRandom(),t=l.solidityPackedKeccak256(["bytes","address"],[e.signingKey.publicKey,n]),r=new l.Wallet(t);return{stealthAddress:r.address,stealthPrivkey:r.privateKey,ephemeralPubkey:e.signingKey.publicKey}}catch(e){throw new c("Failed to generate stealth address",e)}}function N(n,e,t,r){try{let s=new l.Wallet(n),o=new l.Wallet(e),i=M(s.signingKey.publicKey,o.signingKey.publicKey),u=l.solidityPackedKeccak256(["bytes","address"],[t,i]);return new l.Wallet(u).address.toLowerCase()===r.toLowerCase()}catch{return!1}}function M(n,e){let t=l.solidityPackedKeccak256(["bytes","bytes"],[n,e]);return l.getAddress("0x"+t.slice(26))}var R=T(()=>{"use strict";p()});import{startRegistration as $,startAuthentication as O}from"@simplewebauthn/browser";p();var v=class{constructor(e,t=3e4){this.baseUrl=e;this.timeout=t}async fetchWithTimeout(e,t){let r=new AbortController,s=setTimeout(()=>r.abort(),this.timeout);try{let o=await fetch(e,{...t,signal:r.signal});return clearTimeout(s),o}catch(o){throw clearTimeout(s),o}}async post(e,t,r){try{let s=await this.fetchWithTimeout(`${this.baseUrl}${e}`,{method:"POST",headers:{"Content-Type":"application/json",...r?.headers},body:JSON.stringify(t),...r});if(!s.ok)throw new d(`API request failed: ${s.statusText}`,s.status);return await s.json()}catch(s){throw s instanceof d?s:new d("Network request failed",void 0,s)}}async get(e,t){try{let r=await this.fetchWithTimeout(`${this.baseUrl}${e}`,{method:"GET",headers:{"Content-Type":"application/json",...t?.headers},...t});if(!r.ok)throw new d(`API request failed: ${r.statusText}`,r.status);return await r.json()}catch(r){throw r instanceof d?r:new d("Network request failed",void 0,r)}}};p();var j="Web3PasskeyWallet",G=1,h="wallets",S=class{constructor(){this.db=null}async init(){return new Promise((e,t)=>{let r=indexedDB.open(j,G);r.onerror=()=>t(new g("Failed to open database",r.error)),r.onsuccess=()=>{this.db=r.result,e()},r.onupgradeneeded=()=>{let s=r.result;s.objectStoreNames.contains(h)||s.createObjectStore(h,{keyPath:"ethereumAddress"})}})}async store(e){return this.db||await this.init(),new Promise((t,r)=>{let i=this.db.transaction([h],"readwrite").objectStore(h).put(e);i.onerror=()=>r(new g("Failed to store wallet data",i.error)),i.onsuccess=()=>t()})}async retrieve(e){return this.db||await this.init(),new Promise((t,r)=>{let i=this.db.transaction([h],"readonly").objectStore(h).get(e);i.onerror=()=>r(new g("Failed to retrieve wallet data",i.error)),i.onsuccess=()=>t(i.result||null)})}async delete(e){return this.db||await this.init(),new Promise((t,r)=>{let i=this.db.transaction([h],"readwrite").objectStore(h).delete(e);i.onerror=()=>r(new g("Failed to delete wallet data",i.error)),i.onsuccess=()=>t()})}async clear(){return this.db||await this.init(),new Promise((e,t)=>{let o=this.db.transaction([h],"readwrite").objectStore(h).clear();o.onerror=()=>t(new g("Failed to clear wallet data",o.error)),o.onsuccess=()=>e()})}};p();p();import{ethers as k}from"ethers";function I(){try{let n=k.Wallet.createRandom().mnemonic;if(!n)throw new Error("Failed to generate mnemonic");let e=n.phrase;return{address:k.HDNodeWallet.fromPhrase(e,void 0,"m/44'/60'/0'/0/0").address,mnemonic:e}}catch(n){throw new m("Wallet generation failed",n)}}function D(n){try{if(!n||n.trim().split(/\s+/).length<12)throw new Error("Invalid mnemonic: must be at least 12 words");return k.HDNodeWallet.fromPhrase(n.trim(),void 0,"m/44'/60'/0'/0/0")}catch(e){throw new m(`Wallet creation failed: ${e instanceof Error?e.message:"Invalid mnemonic"}`,e)}}p();async function y(n,e){try{let t=new TextEncoder().encode(n+e),r=await crypto.subtle.importKey("raw",t,{name:"PBKDF2"},!1,["deriveKey"]);return crypto.subtle.deriveKey({name:"PBKDF2",salt:new TextEncoder().encode("webauthn-wallet-salt-w3pk"),iterations:1e5,hash:"SHA-256"},r,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}catch(t){throw new c("Failed to derive encryption key",t)}}async function F(n,e){try{let t=crypto.getRandomValues(new Uint8Array(12)),r=new TextEncoder().encode(n),s=await crypto.subtle.encrypt({name:"AES-GCM",iv:t},e,r),o=new Uint8Array(t.length+s.byteLength);return o.set(t),o.set(new Uint8Array(s),t.length),btoa(String.fromCharCode(...o))}catch(t){throw new c("Failed to encrypt data",t)}}async function E(n,e){try{if(!n||n.length<16)throw new Error("Invalid encrypted data: too small");let t=new Uint8Array(atob(n).split("").map(i=>i.charCodeAt(0)));if(t.length<12)throw new Error("Invalid encrypted data: missing IV");let r=t.slice(0,12),s=t.slice(12);if(s.length===0)throw new Error("Invalid encrypted data: no content");let o=await crypto.subtle.decrypt({name:"AES-GCM",iv:r},e,s);return new TextDecoder().decode(o)}catch(t){throw new c(`Data decryption failed: ${t instanceof Error?t.message:"Unknown error"}`,t)}}var P=class{constructor(e){this.storage=e}async signMessage(e,t,r,s){try{let o=await this.storage.retrieve(e);if(!o)throw new Error("No wallet found for this address");let i=await y(r,s),u=await E(o.encryptedMnemonic,i),w=D(u);if(w.address.toLowerCase()!==e.toLowerCase())throw new Error("Wallet address mismatch");return await w.signMessage(t)}catch(o){throw new m("Failed to sign message",o)}}async hasWallet(e){return await this.storage.retrieve(e)!==null}};p();R();var b=class{constructor(e,t){this.config=e,this.getMnemonic=t}async generateStealthAddress(){try{let e=await this.getMnemonic();if(!e)throw new f("Not authenticated. Please login first.");let t=W(e),{generateStealthAddress:r}=await Promise.resolve().then(()=>(R(),B)),s=r(t.metaAddress);return{stealthAddress:s.stealthAddress,stealthPrivateKey:s.stealthPrivkey,ephemeralPublicKey:s.ephemeralPubkey}}catch(e){throw new a("Failed to generate stealth address","STEALTH_GENERATION_ERROR",e)}}async getKeys(){try{let e=await this.getMnemonic();if(!e)throw new f("Not authenticated. Please login first.");return W(e)}catch(e){throw new a("Failed to get stealth keys","STEALTH_KEYS_ERROR",e)}}get isAvailable(){return!0}};var C={timeout:3e4,debug:!1};var A=class{constructor(e){this.currentUser=null;this.isAuthenticatedState=!1;this.stealthAddresses=null;this.isBrowser=typeof window<"u"&&typeof localStorage<"u",this.config={...C,...e,timeout:e.timeout??C.timeout,debug:e.debug??C.debug},this.apiClient=new v(this.config.apiBaseUrl,this.config.timeout),this.walletStorage=new S,this.walletSigner=new P(this.walletStorage),e.stealthAddresses&&(this.stealthAddresses=new b(e.stealthAddresses,this.getMnemonic.bind(this))),this.isBrowser?(this.walletStorage.init().catch(t=>{this.config.debug&&console.error("Failed to initialize wallet storage:",t)}),this.loadAuthState()):this.config.debug&&console.warn("w3pk: Running in non-browser environment, some features disabled")}loadAuthState(){if(this.isBrowser)try{let e=localStorage.getItem("w3pk_user"),t=localStorage.getItem("w3pk_authenticated");e&&t==="true"&&(this.currentUser=JSON.parse(e),this.isAuthenticatedState=!0,this.notifyAuthStateChange(!0,this.currentUser??void 0))}catch(e){this.config.debug&&console.error("Failed to load auth state:",e),this.clearAuthState()}}saveAuthState(e){if(!this.isBrowser){console.warn("w3pk: Cannot save auth state in non-browser environment");return}try{localStorage.setItem("w3pk_user",JSON.stringify(e)),localStorage.setItem("w3pk_authenticated","true"),this.currentUser=e,this.isAuthenticatedState=!0,this.notifyAuthStateChange(!0,e)}catch(t){this.config.debug&&console.error("Failed to save auth state:",t)}}clearAuthState(){if(this.isBrowser){try{localStorage.removeItem("w3pk_user"),localStorage.removeItem("w3pk_authenticated")}catch(e){this.config.debug&&console.error("Failed to clear auth state:",e)}this.currentUser=null,this.isAuthenticatedState=!1,this.notifyAuthStateChange(!1)}}notifyAuthStateChange(e,t){this.config.onAuthStateChanged&&this.config.onAuthStateChanged(e,t)}createUserInfo(e,t){return{id:t,username:e,displayName:e,ethereumAddress:t}}async getMnemonic(){if(!this.isBrowser||!this.currentUser)return null;try{let e=await this.walletStorage.retrieve(this.currentUser.ethereumAddress);if(!e)return null;let t=await y(e.credentialId,e.challenge);return await E(e.encryptedMnemonic,t)}catch(e){return this.config.debug&&console.error("Failed to get mnemonic:",e),null}}async generateWallet(){try{let e=I();return this.config.debug&&console.log("Wallet generated:",e.address),e}catch(e){throw this.config.onError&&this.config.onError(e),e}}async hasWallet(){if(!this.isBrowser)return console.warn("w3pk: Wallet storage not available in non-browser environment"),!1;if(!this.currentUser)return!1;try{return await this.walletSigner.hasWallet(this.currentUser.ethereumAddress)}catch(e){return this.config.debug&&console.error("Failed to check wallet existence:",e),!1}}async register(e){if(!this.isBrowser)throw new Error("Registration requires browser environment with WebAuthn support");try{let{username:t}=e,{ethereumAddress:r,mnemonic:s}=e;if(!r||!s){let U=I();r=U.address,s=U.mnemonic}let o=await this.apiClient.post("/webauthn/register/begin",{username:t,ethereumAddress:r});if(!o.success||!o.data)throw new Error("Failed to get registration options from server");let i=o.data.options||o.data,u=await $(i),w=await y(u.id,i.challenge),K=await F(s,w);if(await this.walletStorage.store({ethereumAddress:r,encryptedMnemonic:K,credentialId:u.id,challenge:i.challenge,createdAt:Date.now()}),!(await this.apiClient.post("/webauthn/register/complete",{ethereumAddress:r,response:u})).success)throw new Error("Registration verification failed");let _=this.createUserInfo(t,r);return this.saveAuthState(_),this.config.debug&&console.log("Registration successful for:",r),{ethereumAddress:r,mnemonic:e.mnemonic?void 0:s}}catch(t){throw this.config.onError&&this.config.onError(t),t}}async login(){if(!this.isBrowser)throw new Error("Authentication requires browser environment with WebAuthn support");try{let e=await this.apiClient.post("/webauthn/authenticate/usernameless/begin",{});if(!e.success||!e.data)throw new Error("Failed to get usernameless authentication options from server");let t=e.data.options||e.data,r=await O(t),s=await this.apiClient.post("/webauthn/authenticate/usernameless/complete",{response:r});if(!s.success)throw new Error("Usernameless authentication verification failed");let o=s.data?.user;if(!o)throw new Error("No user data received from server");let i=this.createUserInfo(o.username,o.ethereumAddress||o.id);return this.saveAuthState(i),this.config.debug&&console.log("Usernameless authentication successful for:",i.ethereumAddress),{verified:!0,user:i}}catch(e){throw this.config.onError&&this.config.onError(e),e}}logout(){this.clearAuthState(),this.config.debug&&console.log("User logged out")}async signMessage(e){if(!this.isBrowser)throw new Error("Message signing requires browser environment");if(!this.currentUser)throw new Error("Not authenticated");try{let t=await this.walletStorage.retrieve(this.currentUser.ethereumAddress);if(!t)throw new Error("No wallet found on this device. Please register to create a new wallet.");this.config.debug&&console.log("Requesting WebAuthn authentication for signing...");let r=await this.apiClient.post("/webauthn/authenticate/usernameless/begin",{});if(!r.success||!r.data)throw new Error("Failed to begin authentication for signing");let s=r.data.options||r.data,o=await O(s);if(!(await this.apiClient.post("/webauthn/authenticate/usernameless/complete",{response:o})).success)throw new Error("Authentication verification failed for signing");let u=await this.walletSigner.signMessage(this.currentUser.ethereumAddress,e,t.credentialId,t.challenge);return this.config.debug&&console.log("Message signed successfully"),u}catch(t){throw this.config.onError&&this.config.onError(t),t}}get isAuthenticated(){return this.isAuthenticatedState}get user(){return this.currentUser}get version(){return"0.4.0"}get isBrowserEnvironment(){return this.isBrowser}get stealth(){return this.stealthAddresses}};p();R();function J(n){return new A(n)}var Re=J;export{d as ApiError,f as AuthenticationError,c as CryptoError,x as RegistrationError,b as StealthAddressModule,g as StorageError,m as WalletError,A as Web3Passkey,a as Web3PasskeyError,N as canControlStealthAddress,J as createWeb3Passkey,Re as default};
36
2
  //# sourceMappingURL=index.mjs.map