@swapkit/wallet-keystore 1.8.2 → 1.8.3
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/chunk-7he012wz.js +4 -0
- package/dist/{chunk-newnqy8q.js.map → chunk-7he012wz.js.map} +1 -1
- package/dist/chunk-jxxgvtsk.js +15 -0
- package/dist/{chunk-54v0n09z.js.map → chunk-jxxgvtsk.js.map} +24 -17
- package/dist/index.js +3 -17
- package/dist/index.js.map +3 -9
- package/package.json +9 -9
- package/dist/chunk-54v0n09z.js +0 -6
- package/dist/chunk-newnqy8q.js +0 -4
package/dist/chunk-54v0n09z.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{c as K5}from"./chunk-newnqy8q.js";var P7={};K5(P7,{zeroPadValue:()=>T$,zeroPadBytes:()=>o0,wordlists:()=>x9,version:()=>EQ,verifyTypedData:()=>dZ,verifyMessage:()=>vZ,uuidV4:()=>UY,toUtf8String:()=>u$,toUtf8CodePoints:()=>EJ,toUtf8Bytes:()=>e,toTwos:()=>a0,toQuantity:()=>i$,toNumber:()=>WY,toBigInt:()=>z0,toBeHex:()=>P$,toBeArray:()=>z$,stripZerosLeft:()=>RJ,solidityPackedSha256:()=>mZ,solidityPackedKeccak256:()=>gZ,solidityPacked:()=>xY,showThrottleMessage:()=>b$,sha512:()=>o8,sha256:()=>I$,scryptSync:()=>A0,scrypt:()=>B0,ripemd160:()=>S0,resolveProperties:()=>Z$,resolveAddress:()=>K$,recoverAddress:()=>Q8,randomBytes:()=>g$,pbkdf2:()=>d$,parseUnits:()=>MX,parseEther:()=>SJ,namehash:()=>L8,mask:()=>t$,makeError:()=>l,lock:()=>_5,keccak256:()=>g,isValidName:()=>xZ,isKeystoreJson:()=>JY,isHexString:()=>c,isError:()=>t,isCrowdsaleJson:()=>GY,isCallException:()=>z8,isBytesLike:()=>R0,isAddressable:()=>fQ,isAddress:()=>KZ,id:()=>x$,hexlify:()=>L,hashMessage:()=>mQ,getUint:()=>c8,getNumber:()=>w,getIndexedAccountPath:()=>_9,getIcapAddress:()=>zZ,getDefaultProvider:()=>L9,getCreateAddress:()=>e8,getCreate2Address:()=>WZ,getBytesCopy:()=>G$,getBytes:()=>C,getBigInt:()=>B,getAddress:()=>f,getAccountPath:()=>w9,fromTwos:()=>s0,formatUnits:()=>DX,formatEther:()=>NJ,ensNormalize:()=>cX,encryptKeystoreJsonSync:()=>HQ,encryptKeystoreJson:()=>IQ,encodeRlp:()=>W0,encodeBytes32String:()=>lZ,encodeBase64:()=>OY,encodeBase58:()=>u8,dnsEncode:()=>wY,defineProperties:()=>T,defaultPath:()=>ZY,decryptKeystoreJsonSync:()=>QX,decryptKeystoreJson:()=>YX,decryptCrowdsaleJson:()=>zY,decodeRlp:()=>V8,decodeBytes32String:()=>iZ,decodeBase64:()=>KY,decodeBase58:()=>VY,dataSlice:()=>o,dataLength:()=>l$,copyRequest:()=>D0,concat:()=>b,computeHmac:()=>N0,computeAddress:()=>w0,checkResultErrors:()=>HX,assertPrivate:()=>w$,assertNormalize:()=>m8,assertArgumentCount:()=>g8,assertArgument:()=>O,assert:()=>H,accessListify:()=>k$,ZeroHash:()=>xQ,ZeroAddress:()=>F0,WordlistOwlA:()=>IJ,WordlistOwl:()=>x8,Wordlist:()=>$Y,WeiPerEther:()=>QZ,WebSocketProvider:()=>w8,Wallet:()=>b8,VoidSigner:()=>VQ,Utf8ErrorFuncs:()=>WX,UnmanagedSubscriber:()=>d0,UndecodedEventLog:()=>JQ,TypedDataEncoder:()=>L$,Typed:()=>p,TransactionResponse:()=>c0,TransactionReceipt:()=>T8,TransactionDescription:()=>bY,Transaction:()=>B$,StructFragment:()=>m0,SocketSubscriber:()=>DQ,SocketProvider:()=>rQ,SocketPendingSubscriber:()=>lY,SocketEventSubscriber:()=>iY,SocketBlockSubscriber:()=>pY,SigningKey:()=>q$,Signature:()=>V$,Result:()=>n$,QuickNodeProvider:()=>_8,PocketProvider:()=>eQ,ParamType:()=>$$,NonceManager:()=>aY,NetworkPlugin:()=>f0,Network:()=>d,NamedFragment:()=>C8,N:()=>$Z,MulticoinProviderPlugin:()=>mY,Mnemonic:()=>y0,MinInt256:()=>XZ,MessagePrefix:()=>NY,MaxUint256:()=>YZ,MaxInt256:()=>JZ,LogDescription:()=>fY,Log:()=>M0,LangEn:()=>r$,JsonRpcSigner:()=>KQ,JsonRpcProvider:()=>H$,JsonRpcApiProvider:()=>OQ,IpcSocketProvider:()=>E9,Interface:()=>J0,InfuraWebSocketProvider:()=>oY,InfuraProvider:()=>J8,Indexed:()=>cQ,HDNodeWallet:()=>c$,HDNodeVoidWallet:()=>f8,GasCostPlugin:()=>B8,FunctionFragment:()=>s$,Fragment:()=>_0,FixedNumber:()=>e$,FetchUrlFeeDataNetworkPlugin:()=>iQ,FetchResponse:()=>E0,FetchRequest:()=>Q$,FetchCancelSignal:()=>DY,FeeDataNetworkPlugin:()=>uY,FeeData:()=>XQ,FallbackProvider:()=>tQ,FallbackFragment:()=>K0,EventPayload:()=>W8,EventLog:()=>N8,EventFragment:()=>o$,EtherscanProvider:()=>aQ,EtherscanPlugin:()=>dY,EtherSymbol:()=>ZZ,ErrorFragment:()=>j$,ErrorDescription:()=>hY,EnsResolver:()=>u0,EnsPlugin:()=>A8,ContractUnknownEventPayload:()=>ZQ,ContractTransactionResponse:()=>S8,ContractTransactionReceipt:()=>yY,ContractFactory:()=>gY,ContractEventPayload:()=>pQ,Contract:()=>G0,ConstructorFragment:()=>Y0,CloudflareProvider:()=>sQ,ChainstackProvider:()=>j8,BrowserProvider:()=>GJ,Block:()=>dQ,BaseWallet:()=>Z8,BaseContract:()=>k0,AnkrProvider:()=>P8,AlchemyProvider:()=>F8,AbstractSigner:()=>h0,AbstractProvider:()=>b0,AbiCoder:()=>X0});var EQ="6.13.5";function F7($,Q,Y){let X=Q.split("|").map((Z)=>Z.trim());for(let Z=0;Z<X.length;Z++)switch(Q){case"any":return;case"bigint":case"boolean":case"number":case"string":if(typeof $===Q)return}let J=new Error(`invalid value for type ${Q}`);throw J.code="INVALID_ARGUMENT",J.argument=`value.${Y}`,J.value=$,J}async function Z$($){let Q=Object.keys($);return(await Promise.all(Q.map((X)=>Promise.resolve($[X])))).reduce((X,J,Z)=>{return X[Q[Z]]=J,X},{})}function T($,Q,Y){for(let X in Q){let J=Q[X],Z=Y?Y[X]:null;if(Z)F7(J,Z,X);Object.defineProperty($,X,{enumerable:!0,value:J,writable:!1})}}function CQ($){if($==null)return"null";if(Array.isArray($))return"[ "+$.map(CQ).join(", ")+" ]";if($ instanceof Uint8Array){let Y="0x";for(let X=0;X<$.length;X++)Y+="0123456789abcdef"[$[X]>>4],Y+="0123456789abcdef"[$[X]&15];return Y}if(typeof $==="object"&&typeof $.toJSON==="function")return CQ($.toJSON());switch(typeof $){case"boolean":case"symbol":return $.toString();case"bigint":return BigInt($).toString();case"number":return $.toString();case"string":return JSON.stringify($);case"object":{let Q=Object.keys($);return Q.sort(),"{ "+Q.map((Y)=>`${CQ(Y)}: ${CQ($[Y])}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function t($,Q){return $&&$.code===Q}function z8($){return t($,"CALL_EXCEPTION")}function l($,Q,Y){let X=$;{let Z=[];if(Y){if("message"in Y||"code"in Y||"name"in Y)throw new Error(`value will overwrite populated values: ${CQ(Y)}`);for(let G in Y){if(G==="shortMessage")continue;let z=Y[G];Z.push(G+"="+CQ(z))}}if(Z.push(`code=${Q}`),Z.push(`version=${EQ}`),Z.length)$+=" ("+Z.join(", ")+")"}let J;switch(Q){case"INVALID_ARGUMENT":J=new TypeError($);break;case"NUMERIC_FAULT":case"BUFFER_OVERRUN":J=new RangeError($);break;default:J=new Error($)}if(T(J,{code:Q}),Y)Object.assign(J,Y);if(J.shortMessage==null)T(J,{shortMessage:X});return J}function H($,Q,Y,X){if(!$)throw l(Q,Y,X)}function O($,Q,Y,X){H($,Q,"INVALID_ARGUMENT",{argument:Y,value:X})}function g8($,Q,Y){if(Y==null)Y="";if(Y)Y=": "+Y;H($>=Q,"missing argument"+Y,"MISSING_ARGUMENT",{count:$,expectedCount:Q}),H($<=Q,"too many arguments"+Y,"UNEXPECTED_ARGUMENT",{count:$,expectedCount:Q})}var j7=["NFD","NFC","NFKD","NFKC"].reduce(($,Q)=>{try{if("test".normalize(Q)!=="test")throw new Error("bad");if(Q==="NFD"){let Y=String.fromCharCode(233).normalize("NFD"),X=String.fromCharCode(101,769);if(Y!==X)throw new Error("broken")}$.push(Q)}catch(Y){}return $},[]);function m8($){H(j7.indexOf($)>=0,"platform missing String.prototype.normalize","UNSUPPORTED_OPERATION",{operation:"String.prototype.normalize",info:{form:$}})}function w$($,Q,Y){if(Y==null)Y="";if($!==Q){let X=Y,J="new";if(Y)X+=".",J+=" "+Y;H(!1,`private constructor; use ${X}from* methods`,"UNSUPPORTED_OPERATION",{operation:J})}}function y9($,Q,Y){if($ instanceof Uint8Array){if(Y)return new Uint8Array($);return $}if(typeof $==="string"&&$.match(/^0x(?:[0-9a-f][0-9a-f])*$/i)){let X=new Uint8Array(($.length-2)/2),J=2;for(let Z=0;Z<X.length;Z++)X[Z]=parseInt($.substring(J,J+2),16),J+=2;return X}O(!1,"invalid BytesLike value",Q||"value",$)}function C($,Q){return y9($,Q,!1)}function G$($,Q){return y9($,Q,!0)}function c($,Q){if(typeof $!=="string"||!$.match(/^0x[0-9A-Fa-f]*$/))return!1;if(typeof Q==="number"&&$.length!==2+2*Q)return!1;if(Q===!0&&$.length%2!==0)return!1;return!0}function R0($){return c($,!0)||$ instanceof Uint8Array}var h9="0123456789abcdef";function L($){let Q=C($),Y="0x";for(let X=0;X<Q.length;X++){let J=Q[X];Y+=h9[(J&240)>>4]+h9[J&15]}return Y}function b($){return"0x"+$.map((Q)=>L(Q).substring(2)).join("")}function l$($){if(c($,!0))return($.length-2)/2;return C($).length}function o($,Q,Y){let X=C($);if(Y!=null&&Y>X.length)H(!1,"cannot slice beyond data bounds","BUFFER_OVERRUN",{buffer:X,length:X.length,offset:Y});return L(X.slice(Q==null?0:Q,Y==null?X.length:Y))}function RJ($){let Q=L($).substring(2);while(Q.startsWith("00"))Q=Q.substring(2);return"0x"+Q}function v9($,Q,Y){let X=C($);H(Q>=X.length,"padding exceeds data length","BUFFER_OVERRUN",{buffer:new Uint8Array(X),length:Q,offset:Q+1});let J=new Uint8Array(Q);if(J.fill(0),Y)J.set(X,Q-X.length);else J.set(X,0);return L(J)}function T$($,Q){return v9($,Q,!0)}function o0($,Q){return v9($,Q,!1)}var ZX=BigInt(0),L0=BigInt(1),TQ=9007199254740991;function s0($,Q){let Y=c8($,"value"),X=BigInt(w(Q,"width"));if(H(Y>>X===ZX,"overflow","NUMERIC_FAULT",{operation:"fromTwos",fault:"overflow",value:$}),Y>>X-L0){let J=(L0<<X)-L0;return-((~Y&J)+L0)}return Y}function a0($,Q){let Y=B($,"value"),X=BigInt(w(Q,"width")),J=L0<<X-L0;if(Y<ZX){Y=-Y,H(Y<=J,"too low","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:$});let Z=(L0<<X)-L0;return(~Y&Z)+L0}else H(Y<J,"too high","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:$});return Y}function t$($,Q){let Y=c8($,"value"),X=BigInt(w(Q,"bits"));return Y&(L0<<X)-L0}function B($,Q){switch(typeof $){case"bigint":return $;case"number":return O(Number.isInteger($),"underflow",Q||"value",$),O($>=-TQ&&$<=TQ,"overflow",Q||"value",$),BigInt($);case"string":try{if($==="")throw new Error("empty string");if($[0]==="-"&&$[1]!=="-")return-BigInt($.substring(1));return BigInt($)}catch(Y){O(!1,`invalid BigNumberish string: ${Y.message}`,Q||"value",$)}}O(!1,"invalid BigNumberish value",Q||"value",$)}function c8($,Q){let Y=B($,Q);return H(Y>=ZX,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:$}),Y}var g9="0123456789abcdef";function z0($){if($ instanceof Uint8Array){let Q="0x0";for(let Y of $)Q+=g9[Y>>4],Q+=g9[Y&15];return BigInt(Q)}return B($)}function w($,Q){switch(typeof $){case"bigint":return O($>=-TQ&&$<=TQ,"overflow",Q||"value",$),Number($);case"number":return O(Number.isInteger($),"underflow",Q||"value",$),O($>=-TQ&&$<=TQ,"overflow",Q||"value",$),$;case"string":try{if($==="")throw new Error("empty string");return w(BigInt($),Q)}catch(Y){O(!1,`invalid numeric string: ${Y.message}`,Q||"value",$)}}O(!1,"invalid numeric value",Q||"value",$)}function WY($){return w(z0($))}function P$($,Q){let X=c8($,"value").toString(16);if(Q==null){if(X.length%2)X="0"+X}else{let J=w(Q,"width");H(J*2>=X.length,`value exceeds width (${J} bytes)`,"NUMERIC_FAULT",{operation:"toBeHex",fault:"overflow",value:$});while(X.length<J*2)X="0"+X}return"0x"+X}function z$($){let Q=c8($,"value");if(Q===ZX)return new Uint8Array([]);let Y=Q.toString(16);if(Y.length%2)Y="0"+Y;let X=new Uint8Array(Y.length/2);for(let J=0;J<X.length;J++){let Z=J*2;X[J]=parseInt(Y.substring(Z,Z+2),16)}return X}function i$($){let Q=L(R0($)?$:z$($)).substring(2);while(Q.startsWith("0"))Q=Q.substring(1);if(Q==="")Q="0";return"0x"+Q}var zX="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",GX=null;function w7($){if(GX==null){GX={};for(let Y=0;Y<zX.length;Y++)GX[zX[Y]]=BigInt(Y)}let Q=GX[$];return O(Q!=null,"invalid base58 value","letter",$),Q}var _7=BigInt(0),LJ=BigInt(58);function u8($){let Q=C($),Y=z0(Q),X="";while(Y)X=zX[Number(Y%LJ)]+X,Y/=LJ;for(let J=0;J<Q.length;J++){if(Q[J])break;X=zX[0]+X}return X}function VY($){let Q=_7;for(let Y=0;Y<$.length;Y++)Q*=LJ,Q+=w7($[Y]);return Q}function KY($){$=atob($);let Q=new Uint8Array($.length);for(let Y=0;Y<$.length;Y++)Q[Y]=$.charCodeAt(Y);return C(Q)}function OY($){let Q=C($),Y="";for(let X=0;X<Q.length;X++)Y+=String.fromCharCode(Q[X]);return btoa(Y)}class W8{filter;emitter;#$;constructor($,Q,Y){this.#$=Q,T(this,{emitter:$,filter:Y})}async removeListener(){if(this.#$==null)return;await this.emitter.off(this.filter,this.#$)}}function x7($,Q,Y,X,J){O(!1,`invalid codepoint at offset ${Q}; ${$}`,"bytes",Y)}function m9($,Q,Y,X,J){if($==="BAD_PREFIX"||$==="UNEXPECTED_CONTINUE"){let Z=0;for(let G=Q+1;G<Y.length;G++){if(Y[G]>>6!==2)break;Z++}return Z}if($==="OVERRUN")return Y.length-Q-1;return 0}function k7($,Q,Y,X,J){if($==="OVERLONG")return O(typeof J==="number","invalid bad code point for replacement","badCodepoint",J),X.push(J),0;return X.push(65533),m9($,Q,Y,X,J)}var WX=Object.freeze({error:x7,ignore:m9,replace:k7});function c9($,Q){if(Q==null)Q=WX.error;let Y=C($,"bytes"),X=[],J=0;while(J<Y.length){let Z=Y[J++];if(Z>>7===0){X.push(Z);continue}let G=null,z=null;if((Z&224)===192)G=1,z=127;else if((Z&240)===224)G=2,z=2047;else if((Z&248)===240)G=3,z=65535;else{if((Z&192)===128)J+=Q("UNEXPECTED_CONTINUE",J-1,Y,X);else J+=Q("BAD_PREFIX",J-1,Y,X);continue}if(J-1+G>=Y.length){J+=Q("OVERRUN",J-1,Y,X);continue}let W=Z&(1<<8-G-1)-1;for(let V=0;V<G;V++){let K=Y[J];if((K&192)!=128){J+=Q("MISSING_CONTINUE",J,Y,X),W=null;break}W=W<<6|K&63,J++}if(W===null)continue;if(W>1114111){J+=Q("OUT_OF_RANGE",J-1-G,Y,X,W);continue}if(W>=55296&&W<=57343){J+=Q("UTF16_SURROGATE",J-1-G,Y,X,W);continue}if(W<=z){J+=Q("OVERLONG",J-1-G,Y,X,W);continue}X.push(W)}return X}function e($,Q){if(O(typeof $==="string","invalid string value","str",$),Q!=null)m8(Q),$=$.normalize(Q);let Y=[];for(let X=0;X<$.length;X++){let J=$.charCodeAt(X);if(J<128)Y.push(J);else if(J<2048)Y.push(J>>6|192),Y.push(J&63|128);else if((J&64512)==55296){X++;let Z=$.charCodeAt(X);O(X<$.length&&(Z&64512)===56320,"invalid surrogate pair","str",$);let G=65536+((J&1023)<<10)+(Z&1023);Y.push(G>>18|240),Y.push(G>>12&63|128),Y.push(G>>6&63|128),Y.push(G&63|128)}else Y.push(J>>12|224),Y.push(J>>6&63|128),Y.push(J&63|128)}return new Uint8Array(Y)}function f7($){return $.map((Q)=>{if(Q<=65535)return String.fromCharCode(Q);return Q-=65536,String.fromCharCode((Q>>10&1023)+55296,(Q&1023)+56320)}).join("")}function u$($,Q){return f7(c9($,Q))}function EJ($,Q){return c9(e($,Q))}function VX($){async function Q(Y,X){H(X==null||!X.cancelled,"request cancelled before sending","CANCELLED");let J=Y.url.split(":")[0].toLowerCase();H(J==="http"||J==="https",`unsupported protocol ${J}`,"UNSUPPORTED_OPERATION",{info:{protocol:J},operation:"request"}),H(J==="https"||!Y.credentials||Y.allowInsecureAuthentication,"insecure authorized connections unsupported","UNSUPPORTED_OPERATION",{operation:"request"});let Z=null,G=new AbortController,z=setTimeout(()=>{Z=l("request timeout","TIMEOUT"),G.abort()},Y.timeout);if(X)X.addListener(()=>{Z=l("request cancelled","CANCELLED"),G.abort()});let W={method:Y.method,headers:new Headers(Array.from(Y)),body:Y.body||void 0,signal:G.signal},V;try{V=await fetch(Y.url,W)}catch(q){if(clearTimeout(z),Z)throw Z;throw q}clearTimeout(z);let K={};V.headers.forEach((q,U)=>{K[U.toLowerCase()]=q});let D=await V.arrayBuffer(),M=D==null?null:new Uint8Array(D);return{statusCode:V.status,statusMessage:V.statusText,headers:K,body:M}}return Q}var w1=VX({});var b7=12,h7=250,u9=VX(),y7=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),v7=new RegExp("^ipfs://(ipfs/)?(.*)$","i"),CJ=!1;async function p9($,Q){try{let Y=$.match(y7);if(!Y)throw new Error("invalid data");return new E0(200,"OK",{"content-type":Y[1]||"text/plain"},Y[2]?KY(Y[3]):g7(Y[3]))}catch(Y){return new E0(599,"BAD REQUEST (invalid data: URI)",{},null,new Q$($))}}function l9($){async function Q(Y,X){try{let J=Y.match(v7);if(!J)throw new Error("invalid link");return new Q$(`${$}${J[2]}`)}catch(J){return new E0(599,"BAD REQUEST (invalid IPFS URI)",{},null,new Q$(Y))}}return Q}var KX={data:p9,ipfs:l9("https://gateway.ipfs.io/ipfs/")},i9=new WeakMap;class DY{#$;#Q;constructor($){this.#$=[],this.#Q=!1,i9.set($,()=>{if(this.#Q)return;this.#Q=!0;for(let Q of this.#$)setTimeout(()=>{Q()},0);this.#$=[]})}addListener($){H(!this.#Q,"singal already cancelled","UNSUPPORTED_OPERATION",{operation:"fetchCancelSignal.addCancelListener"}),this.#$.push($)}get cancelled(){return this.#Q}checkSignal(){H(!this.cancelled,"cancelled","CANCELLED",{})}}function OX($){if($==null)throw new Error("missing signal; should not happen");return $.checkSignal(),$}class Q${#$;#Q;#Y;#X;#J;#G;#Z;#z;#O;#V;#U;#H;#W;#K;#D;get url(){return this.#G}set url($){this.#G=String($)}get body(){if(this.#Z==null)return null;return new Uint8Array(this.#Z)}set body($){if($==null)this.#Z=void 0,this.#z=void 0;else if(typeof $==="string")this.#Z=e($),this.#z="text/plain";else if($ instanceof Uint8Array)this.#Z=$,this.#z="application/octet-stream";else if(typeof $==="object")this.#Z=e(JSON.stringify($)),this.#z="application/json";else throw new Error("invalid body")}hasBody(){return this.#Z!=null}get method(){if(this.#X)return this.#X;if(this.hasBody())return"POST";return"GET"}set method($){if($==null)$="";this.#X=String($).toUpperCase()}get headers(){let $=Object.assign({},this.#Y);if(this.#O)$.authorization=`Basic ${OY(e(this.#O))}`;if(this.allowGzip)$["accept-encoding"]="gzip";if($["content-type"]==null&&this.#z)$["content-type"]=this.#z;if(this.body)$["content-length"]=String(this.body.length);return $}getHeader($){return this.headers[$.toLowerCase()]}setHeader($,Q){this.#Y[String($).toLowerCase()]=String(Q)}clearHeaders(){this.#Y={}}[Symbol.iterator](){let $=this.headers,Q=Object.keys($),Y=0;return{next:()=>{if(Y<Q.length){let X=Q[Y++];return{value:[X,$[X]],done:!1}}return{value:void 0,done:!0}}}}get credentials(){return this.#O||null}setCredentials($,Q){O(!$.match(/:/),"invalid basic authentication username","username","[REDACTED]"),this.#O=`${$}:${Q}`}get allowGzip(){return this.#Q}set allowGzip($){this.#Q=!!$}get allowInsecureAuthentication(){return!!this.#$}set allowInsecureAuthentication($){this.#$=!!$}get timeout(){return this.#J}set timeout($){O($>=0,"timeout must be non-zero","timeout",$),this.#J=$}get preflightFunc(){return this.#V||null}set preflightFunc($){this.#V=$}get processFunc(){return this.#U||null}set processFunc($){this.#U=$}get retryFunc(){return this.#H||null}set retryFunc($){this.#H=$}get getUrlFunc(){return this.#D||u9}set getUrlFunc($){this.#D=$}constructor($){this.#G=String($),this.#$=!1,this.#Q=!0,this.#Y={},this.#X="",this.#J=300000,this.#K={slotInterval:h7,maxAttempts:b7},this.#D=null}toString(){return`<FetchRequest method=${JSON.stringify(this.method)} url=${JSON.stringify(this.url)} headers=${JSON.stringify(this.headers)} body=${this.#Z?L(this.#Z):"null"}>`}setThrottleParams($){if($.slotInterval!=null)this.#K.slotInterval=$.slotInterval;if($.maxAttempts!=null)this.#K.maxAttempts=$.maxAttempts}async#M($,Q,Y,X,J){if($>=this.#K.maxAttempts)return J.makeServerError("exceeded maximum retry limit");if(H(d9()<=Q,"timeout","TIMEOUT",{operation:"request.send",reason:"timeout",request:X}),Y>0)await m7(Y);let Z=this.clone(),G=(Z.url.split(":")[0]||"").toLowerCase();if(G in KX){let V=await KX[G](Z.url,OX(X.#W));if(V instanceof E0){let K=V;if(this.processFunc){OX(X.#W);try{K=await this.processFunc(Z,K)}catch(D){if(D.throttle==null||typeof D.stall!=="number")K.makeServerError("error in post-processing function",D).assertOk()}}return K}Z=V}if(this.preflightFunc)Z=await this.preflightFunc(Z);let z=await this.getUrlFunc(Z,OX(X.#W)),W=new E0(z.statusCode,z.statusMessage,z.headers,z.body,X);if(W.statusCode===301||W.statusCode===302){try{let V=W.headers.location||"";return Z.redirect(V).#M($+1,Q,0,X,W)}catch(V){}return W}else if(W.statusCode===429){if(this.retryFunc==null||await this.retryFunc(Z,W,$)){let V=W.headers["retry-after"],K=this.#K.slotInterval*Math.trunc(Math.random()*Math.pow(2,$));if(typeof V==="string"&&V.match(/^[1-9][0-9]*$/))K=parseInt(V);return Z.clone().#M($+1,Q,K,X,W)}}if(this.processFunc){OX(X.#W);try{W=await this.processFunc(Z,W)}catch(V){if(V.throttle==null||typeof V.stall!=="number")W.makeServerError("error in post-processing function",V).assertOk();let K=this.#K.slotInterval*Math.trunc(Math.random()*Math.pow(2,$));if(V.stall>=0)K=V.stall;return Z.clone().#M($+1,Q,K,X,W)}}return W}send(){return H(this.#W==null,"request already sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.send"}),this.#W=new DY(this),this.#M(0,d9()+this.timeout,0,this,new E0(0,"",{},null,this))}cancel(){H(this.#W!=null,"request has not been sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.cancel"});let $=i9.get(this);if(!$)throw new Error("missing signal; should not happen");$()}redirect($){let Q=this.url.split(":")[0].toLowerCase(),Y=$.split(":")[0].toLowerCase();H(this.method==="GET"&&(Q!=="https"||Y!=="http")&&$.match(/^https?:/),"unsupported redirect","UNSUPPORTED_OPERATION",{operation:`redirect(${this.method} ${JSON.stringify(this.url)} => ${JSON.stringify($)})`});let X=new Q$($);if(X.method="GET",X.allowGzip=this.allowGzip,X.timeout=this.timeout,X.#Y=Object.assign({},this.#Y),this.#Z)X.#Z=new Uint8Array(this.#Z);return X.#z=this.#z,X}clone(){let $=new Q$(this.url);if($.#X=this.#X,this.#Z)$.#Z=this.#Z;if($.#z=this.#z,$.#Y=Object.assign({},this.#Y),$.#O=this.#O,this.allowGzip)$.allowGzip=!0;if($.timeout=this.timeout,this.allowInsecureAuthentication)$.allowInsecureAuthentication=!0;return $.#V=this.#V,$.#U=this.#U,$.#H=this.#H,$.#K=Object.assign({},this.#K),$.#D=this.#D,$}static lockConfig(){CJ=!0}static getGateway($){return KX[$.toLowerCase()]||null}static registerGateway($,Q){if($=$.toLowerCase(),$==="http"||$==="https")throw new Error(`cannot intercept ${$}; use registerGetUrl`);if(CJ)throw new Error("gateways locked");KX[$]=Q}static registerGetUrl($){if(CJ)throw new Error("gateways locked");u9=$}static createGetUrlFunc($){return VX($)}static createDataGateway(){return p9}static createIpfsGatewayFunc($){return l9($)}}class E0{#$;#Q;#Y;#X;#J;#G;toString(){return`<FetchResponse status=${this.statusCode} body=${this.#X?L(this.#X):"null"}>`}get statusCode(){return this.#$}get statusMessage(){return this.#Q}get headers(){return Object.assign({},this.#Y)}get body(){return this.#X==null?null:new Uint8Array(this.#X)}get bodyText(){try{return this.#X==null?"":u$(this.#X)}catch($){H(!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($){H(!1,"response body is not valid JSON","UNSUPPORTED_OPERATION",{operation:"bodyJson",info:{response:this}})}}[Symbol.iterator](){let $=this.headers,Q=Object.keys($),Y=0;return{next:()=>{if(Y<Q.length){let X=Q[Y++];return{value:[X,$[X]],done:!1}}return{value:void 0,done:!0}}}}constructor($,Q,Y,X,J){this.#$=$,this.#Q=Q,this.#Y=Object.keys(Y).reduce((Z,G)=>{return Z[G.toLowerCase()]=String(Y[G]),Z},{}),this.#X=X==null?null:new Uint8Array(X),this.#J=J||null,this.#G={message:""}}makeServerError($,Q){let Y;if(!$)$=`${this.statusCode} ${this.statusMessage}`,Y=`CLIENT ESCALATED SERVER ERROR (${$})`;else Y=`CLIENT ESCALATED SERVER ERROR (${this.statusCode} ${this.statusMessage}; ${$})`;let X=new E0(599,Y,this.headers,this.body,this.#J||void 0);return X.#G={message:$,error:Q},X}throwThrottleError($,Q){if(Q==null)Q=-1;else O(Number.isInteger(Q)&&Q>=0,"invalid stall timeout","stall",Q);let Y=new Error($||"throttling requests");throw T(Y,{stall:Q,throttle:!0}),Y}getHeader($){return this.headers[$.toLowerCase()]}hasBody(){return this.#X!=null}get request(){return this.#J}ok(){return this.#G.message===""&&this.statusCode>=200&&this.statusCode<300}assertOk(){if(this.ok())return;let{message:$,error:Q}=this.#G;if($==="")$=`server response ${this.statusCode} ${this.statusMessage}`;let Y=null;if(this.request)Y=this.request.url;let X=null;try{if(this.#X)X=u$(this.#X)}catch(J){}H(!1,$,"SERVER_ERROR",{request:this.request||"unknown request",response:this,error:Q,info:{requestUrl:Y,responseBody:X,responseStatus:`${this.statusCode} ${this.statusMessage}`}})}}function d9(){return new Date().getTime()}function g7($){return e($.replace(/%([0-9a-f][0-9a-f])/gi,(Q,Y)=>{return String.fromCharCode(parseInt(Y,16))}))}function m7($){return new Promise((Q)=>setTimeout(Q,$))}var c7=BigInt(-1),C0=BigInt(0),SQ=BigInt(1),u7=BigInt(5),NQ={},BQ="0000";while(BQ.length<80)BQ+=BQ;function d8($){let Q=BQ;while(Q.length<$)Q+=Q;return BigInt("1"+Q.substring(0,$))}function MY($,Q,Y){let X=BigInt(Q.width);if(Q.signed){let J=SQ<<X-SQ;if(H(Y==null||$>=-J&&$<J,"overflow","NUMERIC_FAULT",{operation:Y,fault:"overflow",value:$}),$>C0)$=s0(t$($,X),X);else $=-s0(t$(-$,X),X)}else{let J=SQ<<X;H(Y==null||$>=0&&$<J,"overflow","NUMERIC_FAULT",{operation:Y,fault:"overflow",value:$}),$=($%J+J)%J&J-SQ}return $}function TJ($){if(typeof $==="number")$=`fixed128x${$}`;let Q=!0,Y=128,X=18;if(typeof $==="string")if($==="fixed");else if($==="ufixed")Q=!1;else{let Z=$.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);O(Z,"invalid fixed format","format",$),Q=Z[1]!=="u",Y=parseInt(Z[2]),X=parseInt(Z[3])}else if($){let Z=$,G=(z,W,V)=>{if(Z[z]==null)return V;return O(typeof Z[z]===W,"invalid fixed format ("+z+" not "+W+")","format."+z,Z[z]),Z[z]};Q=G("signed","boolean",Q),Y=G("width","number",Y),X=G("decimals","number",X)}O(Y%8===0,"invalid FixedNumber width (not byte aligned)","format.width",Y),O(X<=80,"invalid FixedNumber decimals (too large)","format.decimals",X);let J=(Q?"":"u")+"fixed"+String(Y)+"x"+String(X);return{signed:Q,width:Y,decimals:X,name:J}}function d7($,Q){let Y="";if($<C0)Y="-",$*=c7;let X=$.toString();if(Q===0)return Y+X;while(X.length<=Q)X=BQ+X;let J=X.length-Q;X=X.substring(0,J)+"."+X.substring(J);while(X[0]==="0"&&X[1]!==".")X=X.substring(1);while(X[X.length-1]==="0"&&X[X.length-2]!==".")X=X.substring(0,X.length-1);return Y+X}class e${format;#$;#Q;#Y;_value;constructor($,Q,Y){w$($,NQ,"FixedNumber"),this.#Q=Q,this.#$=Y;let X=d7(Q,Y.decimals);T(this,{format:Y.name,_value:X}),this.#Y=d8(Y.decimals)}get signed(){return this.#$.signed}get width(){return this.#$.width}get decimals(){return this.#$.decimals}get value(){return this.#Q}#X($){O(this.format===$.format,"incompatible format; use fixedNumber.toFormat","other",$)}#J($,Q){return $=MY($,this.#$,Q),new e$(NQ,$,this.#$)}#G($,Q){return this.#X($),this.#J(this.#Q+$.#Q,Q)}addUnsafe($){return this.#G($)}add($){return this.#G($,"add")}#Z($,Q){return this.#X($),this.#J(this.#Q-$.#Q,Q)}subUnsafe($){return this.#Z($)}sub($){return this.#Z($,"sub")}#z($,Q){return this.#X($),this.#J(this.#Q*$.#Q/this.#Y,Q)}mulUnsafe($){return this.#z($)}mul($){return this.#z($,"mul")}mulSignal($){this.#X($);let Q=this.#Q*$.#Q;return H(Q%this.#Y===C0,"precision lost during signalling mul","NUMERIC_FAULT",{operation:"mulSignal",fault:"underflow",value:this}),this.#J(Q/this.#Y,"mulSignal")}#O($,Q){return H($.#Q!==C0,"division by zero","NUMERIC_FAULT",{operation:"div",fault:"divide-by-zero",value:this}),this.#X($),this.#J(this.#Q*this.#Y/$.#Q,Q)}divUnsafe($){return this.#O($)}div($){return this.#O($,"div")}divSignal($){H($.#Q!==C0,"division by zero","NUMERIC_FAULT",{operation:"div",fault:"divide-by-zero",value:this}),this.#X($);let Q=this.#Q*this.#Y;return H(Q%$.#Q===C0,"precision lost during signalling div","NUMERIC_FAULT",{operation:"divSignal",fault:"underflow",value:this}),this.#J(Q/$.#Q,"divSignal")}cmp($){let Q=this.value,Y=$.value,X=this.decimals-$.decimals;if(X>0)Y*=d8(X);else if(X<0)Q*=d8(-X);if(Q<Y)return-1;if(Q>Y)return 1;return 0}eq($){return this.cmp($)===0}lt($){return this.cmp($)<0}lte($){return this.cmp($)<=0}gt($){return this.cmp($)>0}gte($){return this.cmp($)>=0}floor(){let $=this.#Q;if(this.#Q<C0)$-=this.#Y-SQ;return $=this.#Q/this.#Y*this.#Y,this.#J($,"floor")}ceiling(){let $=this.#Q;if(this.#Q>C0)$+=this.#Y-SQ;return $=this.#Q/this.#Y*this.#Y,this.#J($,"ceiling")}round($){if($==null)$=0;if($>=this.decimals)return this;let Q=this.decimals-$,Y=u7*d8(Q-1),X=this.value+Y,J=d8(Q);return X=X/J*J,MY(X,this.#$,"round"),new e$(NQ,X,this.#$)}isZero(){return this.#Q===C0}isNegative(){return this.#Q<C0}toString(){return this._value}toUnsafeFloat(){return parseFloat(this.toString())}toFormat($){return e$.fromString(this.toString(),$)}static fromValue($,Q,Y){let X=Q==null?0:w(Q),J=TJ(Y),Z=B($,"value"),G=X-J.decimals;if(G>0){let z=d8(G);H(Z%z===C0,"value loses precision for format","NUMERIC_FAULT",{operation:"fromValue",fault:"underflow",value:$}),Z/=z}else if(G<0)Z*=d8(-G);return MY(Z,J,"fromValue"),new e$(NQ,Z,J)}static fromString($,Q){let Y=$.match(/^(-?)([0-9]*)\.?([0-9]*)$/);O(Y&&Y[2].length+Y[3].length>0,"invalid FixedNumber string value","value",$);let X=TJ(Q),J=Y[2]||"0",Z=Y[3]||"";while(Z.length<X.decimals)Z+=BQ;H(Z.substring(X.decimals).match(/^0*$/),"too many decimals for format","NUMERIC_FAULT",{operation:"fromString",fault:"underflow",value:$}),Z=Z.substring(0,X.decimals);let G=BigInt(Y[1]+J+Z);return MY(G,X,"fromString"),new e$(NQ,G,X)}static fromBytes($,Q){let Y=z0(C($,"value")),X=TJ(Q);if(X.signed)Y=s0(Y,X.width);return MY(Y,X,"fromBytes"),new e$(NQ,Y,X)}}function p7($){let Q=$.toString(16);while(Q.length<2)Q="0"+Q;return"0x"+Q}function n9($,Q,Y){let X=0;for(let J=0;J<Y;J++)X=X*256+$[Q+J];return X}function o9($,Q,Y,X){let J=[];while(Y<Q+1+X){let Z=s9($,Y);J.push(Z.result),Y+=Z.consumed,H(Y<=Q+1+X,"child data too short","BUFFER_OVERRUN",{buffer:$,length:X,offset:Q})}return{consumed:1+X,result:J}}function s9($,Q){H($.length!==0,"data too short","BUFFER_OVERRUN",{buffer:$,length:0,offset:1});let Y=(X)=>{H(X<=$.length,"data short segment too short","BUFFER_OVERRUN",{buffer:$,length:$.length,offset:X})};if($[Q]>=248){let X=$[Q]-247;Y(Q+1+X);let J=n9($,Q+1,X);return Y(Q+1+X+J),o9($,Q,Q+1+X,X+J)}else if($[Q]>=192){let X=$[Q]-192;return Y(Q+1+X),o9($,Q,Q+1,X)}else if($[Q]>=184){let X=$[Q]-183;Y(Q+1+X);let J=n9($,Q+1,X);Y(Q+1+X+J);let Z=L($.slice(Q+1+X,Q+1+X+J));return{consumed:1+X+J,result:Z}}else if($[Q]>=128){let X=$[Q]-128;Y(Q+1+X);let J=L($.slice(Q+1,Q+1+X));return{consumed:1+X,result:J}}return{consumed:1,result:p7($[Q])}}function V8($){let Q=C($,"data"),Y=s9(Q,0);return O(Y.consumed===Q.length,"unexpected junk after rlp payload","data",$),Y.result}function a9($){let Q=[];while($)Q.unshift($&255),$>>=8;return Q}function t9($){if(Array.isArray($)){let X=[];if($.forEach(function(Z){X=X.concat(t9(Z))}),X.length<=55)return X.unshift(192+X.length),X;let J=a9(X.length);return J.unshift(247+J.length),J.concat(X)}let Q=Array.prototype.slice.call(C($,"object"));if(Q.length===1&&Q[0]<=127)return Q;else if(Q.length<=55)return Q.unshift(128+Q.length),Q;let Y=a9(Q.length);return Y.unshift(183+Y.length),Y.concat(Q)}var r9="0123456789abcdef";function W0($){let Q="0x";for(let Y of t9($))Q+=r9[Y>>4],Q+=r9[Y&15];return Q}var e9=["wei","kwei","mwei","gwei","szabo","finney","ether"];function DX($,Q){let Y=18;if(typeof Q==="string"){let X=e9.indexOf(Q);O(X>=0,"invalid unit","unit",Q),Y=3*X}else if(Q!=null)Y=w(Q,"unit");return e$.fromValue($,Y,{decimals:Y,width:512}).toString()}function MX($,Q){O(typeof $==="string","value must be a string","value",$);let Y=18;if(typeof Q==="string"){let X=e9.indexOf(Q);O(X>=0,"invalid unit","unit",Q),Y=3*X}else if(Q!=null)Y=w(Q,"unit");return e$.fromString($,{decimals:Y,width:512}).value}function NJ($){return DX($,18)}function SJ($){return MX($,18)}function UY($){let Q=C($,"randomBytes");Q[6]=Q[6]&15|64,Q[8]=Q[8]&63|128;let Y=L(Q);return[Y.substring(2,10),Y.substring(10,14),Y.substring(14,18),Y.substring(18,22),Y.substring(22,34)].join("-")}var _$=32,BJ=new Uint8Array(_$),l7=["then"],UX={},YG=new WeakMap;function p8($){return YG.get($)}function $G($,Q){YG.set($,Q)}function HY($,Q){let Y=new Error(`deferred error during ABI decoding triggered accessing ${$}`);throw Y.error=Q,Y}function AJ($,Q,Y){if($.indexOf(null)>=0)return Q.map((X,J)=>{if(X instanceof n$)return AJ(p8(X),X,Y);return X});return $.reduce((X,J,Z)=>{let G=Q.getValue(J);if(!(J in X)){if(Y&&G instanceof n$)G=AJ(p8(G),G,Y);X[J]=G}return X},{})}class n$ extends Array{#$;constructor(...$){let Q=$[0],Y=$[1],X=($[2]||[]).slice(),J=!0;if(Q!==UX)Y=$,X=[],J=!1;super(Y.length);Y.forEach((z,W)=>{this[W]=z});let Z=X.reduce((z,W)=>{if(typeof W==="string")z.set(W,(z.get(W)||0)+1);return z},new Map);if($G(this,Object.freeze(Y.map((z,W)=>{let V=X[W];if(V!=null&&Z.get(V)===1)return V;return null}))),this.#$=[],this.#$==null)this.#$;if(!J)return;Object.freeze(this);let G=new Proxy(this,{get:(z,W,V)=>{if(typeof W==="string"){if(W.match(/^[0-9]+$/)){let D=w(W,"%index");if(D<0||D>=this.length)throw new RangeError("out of result range");let M=z[D];if(M instanceof Error)HY(`index ${D}`,M);return M}if(l7.indexOf(W)>=0)return Reflect.get(z,W,V);let K=z[W];if(K instanceof Function)return function(...D){return K.apply(this===V?z:this,D)};else if(!(W in z))return z.getValue.apply(this===V?z:this,[W])}return Reflect.get(z,W,V)}});return $G(G,p8(this)),G}toArray($){let Q=[];return this.forEach((Y,X)=>{if(Y instanceof Error)HY(`index ${X}`,Y);if($&&Y instanceof n$)Y=Y.toArray($);Q.push(Y)}),Q}toObject($){let Q=p8(this);return Q.reduce((Y,X,J)=>{return H(X!=null,`value at index ${J} unnamed`,"UNSUPPORTED_OPERATION",{operation:"toObject()"}),AJ(Q,this,$)},{})}slice($,Q){if($==null)$=0;if($<0){if($+=this.length,$<0)$=0}if(Q==null)Q=this.length;if(Q<0){if(Q+=this.length,Q<0)Q=0}if(Q>this.length)Q=this.length;let Y=p8(this),X=[],J=[];for(let Z=$;Z<Q;Z++)X.push(this[Z]),J.push(Y[Z]);return new n$(UX,X,J)}filter($,Q){let Y=p8(this),X=[],J=[];for(let Z=0;Z<this.length;Z++){let G=this[Z];if(G instanceof Error)HY(`index ${Z}`,G);if($.call(Q,G,Z,this))X.push(G),J.push(Y[Z])}return new n$(UX,X,J)}map($,Q){let Y=[];for(let X=0;X<this.length;X++){let J=this[X];if(J instanceof Error)HY(`index ${X}`,J);Y.push($.call(Q,J,X,this))}return Y}getValue($){let Q=p8(this).indexOf($);if(Q===-1)return;let Y=this[Q];if(Y instanceof Error)HY(`property ${JSON.stringify($)}`,Y.error);return Y}static fromItems($,Q){return new n$(UX,$,Q)}}function HX($){let Q=[],Y=function(X,J){if(!Array.isArray(J))return;for(let Z in J){let G=X.slice();G.push(Z);try{Y(G,J[Z])}catch(z){Q.push({path:G,error:z})}}};return Y([],$),Q}function QG($){let Q=z$($);if(H(Q.length<=_$,"value out-of-bounds","BUFFER_OVERRUN",{buffer:Q,length:_$,offset:Q.length}),Q.length!==_$)Q=G$(b([BJ.slice(Q.length%_$),Q]));return Q}class N${name;type;localName;dynamic;constructor($,Q,Y,X){T(this,{name:$,type:Q,localName:Y,dynamic:X},{name:"string",type:"string",localName:"string",dynamic:"boolean"})}_throwError($,Q){O(!1,$,this.localName,Q)}}class AQ{#$;#Q;constructor(){this.#$=[],this.#Q=0}get data(){return b(this.#$)}get length(){return this.#Q}#Y($){return this.#$.push($),this.#Q+=$.length,$.length}appendWriter($){return this.#Y(G$($.data))}writeBytes($){let Q=G$($),Y=Q.length%_$;if(Y)Q=G$(b([Q,BJ.slice(Y)]));return this.#Y(Q)}writeValue($){return this.#Y(QG($))}writeUpdatableValue(){let $=this.#$.length;return this.#$.push(BJ),this.#Q+=_$,(Q)=>{this.#$[$]=QG(Q)}}}class IX{allowLoose;#$;#Q;#Y;#X;#J;constructor($,Q,Y){T(this,{allowLoose:!!Q}),this.#$=G$($),this.#Y=0,this.#X=null,this.#J=Y!=null?Y:1024,this.#Q=0}get data(){return L(this.#$)}get dataLength(){return this.#$.length}get consumed(){return this.#Q}get bytes(){return new Uint8Array(this.#$)}#G($){if(this.#X)return this.#X.#G($);this.#Y+=$,H(this.#J<1||this.#Y<=this.#J*this.dataLength,`compressed ABI data exceeds inflation ratio of ${this.#J} ( see: https://github.com/ethers-io/ethers.js/issues/4537 )`,"BUFFER_OVERRUN",{buffer:G$(this.#$),offset:this.#Q,length:$,info:{bytesRead:this.#Y,dataLength:this.dataLength}})}#Z($,Q,Y){let X=Math.ceil(Q/_$)*_$;if(this.#Q+X>this.#$.length)if(this.allowLoose&&Y&&this.#Q+Q<=this.#$.length)X=Q;else H(!1,"data out-of-bounds","BUFFER_OVERRUN",{buffer:G$(this.#$),length:this.#$.length,offset:this.#Q+X});return this.#$.slice(this.#Q,this.#Q+X)}subReader($){let Q=new IX(this.#$.slice(this.#Q+$),this.allowLoose,this.#J);return Q.#X=this,Q}readBytes($,Q){let Y=this.#Z(0,$,!!Q);return this.#G($),this.#Q+=Y.length,Y.slice(0,$)}readValue(){return z0(this.readBytes(_$))}readIndex(){return WY(this.readBytes(_$))}}function v$($){if(!Number.isSafeInteger($)||$<0)throw new Error(`Wrong positive integer: ${$}`)}function IY($,...Q){if(!($ instanceof Uint8Array))throw new Error("Expected Uint8Array");if(Q.length>0&&!Q.includes($.length))throw new Error(`Expected Uint8Array of length ${Q}, not of length=${$.length}`)}function qX($){if(typeof $!=="function"||typeof $.create!=="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");v$($.outputLen),v$($.blockLen)}function r0($,Q=!0){if($.destroyed)throw new Error("Hash instance has been destroyed");if(Q&&$.finished)throw new Error("Hash#digest() has already been called")}function RX($,Q){IY($);let Y=Q.outputLen;if($.length<Y)throw new Error(`digestInto() expects output buffer of length at least ${Y}`)}/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */var i7=($)=>$ instanceof Uint8Array;var PQ=($)=>new Uint32Array($.buffer,$.byteOffset,Math.floor($.byteLength/4)),FQ=($)=>new DataView($.buffer,$.byteOffset,$.byteLength),T0=($,Q)=>$<<32-Q|$>>>Q,n7=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!n7)throw new Error("Non little-endian hardware is not supported");var o7=async()=>{};async function LX($,Q,Y){let X=Date.now();for(let J=0;J<$;J++){Y(J);let Z=Date.now()-X;if(Z>=0&&Z<Q)continue;await o7(),X+=Z}}function s7($){if(typeof $!=="string")throw new Error(`utf8ToBytes expected string, got ${typeof $}`);return new Uint8Array(new TextEncoder().encode($))}function g0($){if(typeof $==="string")$=s7($);if(!i7($))throw new Error(`expected Uint8Array, got ${typeof $}`);return $}class l8{clone(){return this._cloneInto()}}var a7={}.toString;function EX($,Q){if(Q!==void 0&&a7.call(Q)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign($,Q)}function K8($){let Q=(X)=>$().update(g0(X)).digest(),Y=$();return Q.outputLen=Y.outputLen,Q.blockLen=Y.blockLen,Q.create=()=>$(),Q}class PJ extends l8{constructor($,Q){super();this.finished=!1,this.destroyed=!1,qX($);let Y=g0(Q);if(this.iHash=$.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 X=this.blockLen,J=new Uint8Array(X);J.set(Y.length>X?$.create().update(Y).digest():Y);for(let Z=0;Z<J.length;Z++)J[Z]^=54;this.iHash.update(J),this.oHash=$.create();for(let Z=0;Z<J.length;Z++)J[Z]^=106;this.oHash.update(J),J.fill(0)}update($){return r0(this),this.iHash.update($),this}digestInto($){r0(this),IY($,this.outputLen),this.finished=!0,this.iHash.digestInto($),this.oHash.update($),this.oHash.digestInto($),this.destroy()}digest(){let $=new Uint8Array(this.oHash.outputLen);return this.digestInto($),$}_cloneInto($){$||($=Object.create(Object.getPrototypeOf(this),{}));let{oHash:Q,iHash:Y,finished:X,destroyed:J,blockLen:Z,outputLen:G}=this;return $=$,$.finished=X,$.destroyed=J,$.blockLen=Z,$.outputLen=G,$.oHash=Q._cloneInto($.oHash),$.iHash=Y._cloneInto($.iHash),$}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}var qY=($,Q,Y)=>new PJ($,Q).update(Y).digest();qY.create=($,Q)=>new PJ($,Q);function r7($,Q,Y,X){qX($);let J=EX({dkLen:32,asyncTick:10},X),{c:Z,dkLen:G,asyncTick:z}=J;if(v$(Z),v$(G),v$(z),Z<1)throw new Error("PBKDF2: iterations (c) should be >= 1");let W=g0(Q),V=g0(Y),K=new Uint8Array(G),D=qY.create($,W),M=D._cloneInto().update(V);return{c:Z,dkLen:G,asyncTick:z,DK:K,PRF:D,PRFSalt:M}}function t7($,Q,Y,X,J){if($.destroy(),Q.destroy(),X)X.destroy();return J.fill(0),Y}function RY($,Q,Y,X){let{c:J,dkLen:Z,DK:G,PRF:z,PRFSalt:W}=r7($,Q,Y,X),V,K=new Uint8Array(4),D=FQ(K),M=new Uint8Array(z.outputLen);for(let q=1,U=0;U<Z;q++,U+=z.outputLen){let I=G.subarray(U,U+z.outputLen);D.setInt32(0,q,!1),(V=W._cloneInto(V)).update(K).digestInto(M),I.set(M.subarray(0,I.length));for(let R=1;R<J;R++){z._cloneInto(V).update(M).digestInto(M);for(let E=0;E<I.length;E++)I[E]^=M[E]}}return t7(z,W,G,V,M)}function e7($,Q,Y,X){if(typeof $.setBigUint64==="function")return $.setBigUint64(Q,Y,X);let J=BigInt(32),Z=BigInt(4294967295),G=Number(Y>>J&Z),z=Number(Y&Z),W=X?4:0,V=X?0:4;$.setUint32(Q+W,G,X),$.setUint32(Q+V,z,X)}class i8 extends l8{constructor($,Q,Y,X){super();this.blockLen=$,this.outputLen=Q,this.padOffset=Y,this.isLE=X,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array($),this.view=FQ(this.buffer)}update($){r0(this);let{view:Q,buffer:Y,blockLen:X}=this;$=g0($);let J=$.length;for(let Z=0;Z<J;){let G=Math.min(X-this.pos,J-Z);if(G===X){let z=FQ($);for(;X<=J-Z;Z+=X)this.process(z,Z);continue}if(Y.set($.subarray(Z,Z+G),this.pos),this.pos+=G,Z+=G,this.pos===X)this.process(Q,0),this.pos=0}return this.length+=$.length,this.roundClean(),this}digestInto($){r0(this),RX($,this),this.finished=!0;let{buffer:Q,view:Y,blockLen:X,isLE:J}=this,{pos:Z}=this;if(Q[Z++]=128,this.buffer.subarray(Z).fill(0),this.padOffset>X-Z)this.process(Y,0),Z=0;for(let K=Z;K<X;K++)Q[K]=0;e7(Y,X-8,BigInt(this.length*8),J),this.process(Y,0);let G=FQ($),z=this.outputLen;if(z%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let W=z/4,V=this.get();if(W>V.length)throw new Error("_sha2: outputLen bigger than state");for(let K=0;K<W;K++)G.setUint32(4*K,V[K],J)}digest(){let{buffer:$,outputLen:Q}=this;this.digestInto($);let Y=$.slice(0,Q);return this.destroy(),Y}_cloneInto($){$||($=new this.constructor),$.set(...this.get());let{blockLen:Q,buffer:Y,length:X,finished:J,destroyed:Z,pos:G}=this;if($.length=X,$.pos=G,$.finished=J,$.destroyed=Z,X%Q)$.buffer.set(Y);return $}}var $W=($,Q,Y)=>$&Q^~$&Y,QW=($,Q,Y)=>$&Q^$&Y^Q&Y,YW=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]),O8=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),D8=new Uint32Array(64);class XG extends i8{constructor(){super(64,32,8,!1);this.A=O8[0]|0,this.B=O8[1]|0,this.C=O8[2]|0,this.D=O8[3]|0,this.E=O8[4]|0,this.F=O8[5]|0,this.G=O8[6]|0,this.H=O8[7]|0}get(){let{A:$,B:Q,C:Y,D:X,E:J,F:Z,G,H:z}=this;return[$,Q,Y,X,J,Z,G,z]}set($,Q,Y,X,J,Z,G,z){this.A=$|0,this.B=Q|0,this.C=Y|0,this.D=X|0,this.E=J|0,this.F=Z|0,this.G=G|0,this.H=z|0}process($,Q){for(let K=0;K<16;K++,Q+=4)D8[K]=$.getUint32(Q,!1);for(let K=16;K<64;K++){let D=D8[K-15],M=D8[K-2],q=T0(D,7)^T0(D,18)^D>>>3,U=T0(M,17)^T0(M,19)^M>>>10;D8[K]=U+D8[K-7]+q+D8[K-16]|0}let{A:Y,B:X,C:J,D:Z,E:G,F:z,G:W,H:V}=this;for(let K=0;K<64;K++){let D=T0(G,6)^T0(G,11)^T0(G,25),M=V+D+$W(G,z,W)+YW[K]+D8[K]|0,U=(T0(Y,2)^T0(Y,13)^T0(Y,22))+QW(Y,X,J)|0;V=W,W=z,z=G,G=Z+M|0,Z=J,J=X,X=Y,Y=M+U|0}Y=Y+this.A|0,X=X+this.B|0,J=J+this.C|0,Z=Z+this.D|0,G=G+this.E|0,z=z+this.F|0,W=W+this.G|0,V=V+this.H|0,this.set(Y,X,J,Z,G,z,W,V)}roundClean(){D8.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}var n8=K8(()=>new XG);var CX=BigInt(4294967295),FJ=BigInt(32);function JG($,Q=!1){if(Q)return{h:Number($&CX),l:Number($>>FJ&CX)};return{h:Number($>>FJ&CX)|0,l:Number($&CX)|0}}function jJ($,Q=!1){let Y=new Uint32Array($.length),X=new Uint32Array($.length);for(let J=0;J<$.length;J++){let{h:Z,l:G}=JG($[J],Q);[Y[J],X[J]]=[Z,G]}return[Y,X]}var XW=($,Q)=>BigInt($>>>0)<<FJ|BigInt(Q>>>0),JW=($,Q,Y)=>$>>>Y,ZW=($,Q,Y)=>$<<32-Y|Q>>>Y,GW=($,Q,Y)=>$>>>Y|Q<<32-Y,zW=($,Q,Y)=>$<<32-Y|Q>>>Y,WW=($,Q,Y)=>$<<64-Y|Q>>>Y-32,VW=($,Q,Y)=>$>>>Y-32|Q<<64-Y,KW=($,Q)=>Q,OW=($,Q)=>$,wJ=($,Q,Y)=>$<<Y|Q>>>32-Y,_J=($,Q,Y)=>Q<<Y|$>>>32-Y,xJ=($,Q,Y)=>Q<<Y-32|$>>>64-Y,kJ=($,Q,Y)=>$<<Y-32|Q>>>64-Y;function DW($,Q,Y,X){let J=(Q>>>0)+(X>>>0);return{h:$+Y+(J/4294967296|0)|0,l:J|0}}var MW=($,Q,Y)=>($>>>0)+(Q>>>0)+(Y>>>0),UW=($,Q,Y,X)=>Q+Y+X+($/4294967296|0)|0,HW=($,Q,Y,X)=>($>>>0)+(Q>>>0)+(Y>>>0)+(X>>>0),IW=($,Q,Y,X,J)=>Q+Y+X+J+($/4294967296|0)|0,qW=($,Q,Y,X,J)=>($>>>0)+(Q>>>0)+(Y>>>0)+(X>>>0)+(J>>>0),RW=($,Q,Y,X,J,Z)=>Q+Y+X+J+Z+($/4294967296|0)|0;var LW={fromBig:JG,split:jJ,toBig:XW,shrSH:JW,shrSL:ZW,rotrSH:GW,rotrSL:zW,rotrBH:WW,rotrBL:VW,rotr32H:KW,rotr32L:OW,rotlSH:wJ,rotlSL:_J,rotlBH:xJ,rotlBL:kJ,add:DW,add3L:MW,add3H:UW,add4L:HW,add4H:IW,add5H:RW,add5L:qW},v=LW;var[EW,CW]=(()=>v.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(($)=>BigInt($))))(),M8=new Uint32Array(80),U8=new Uint32Array(80);class ZG extends i8{constructor(){super(128,64,16,!1);this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:$,Al:Q,Bh:Y,Bl:X,Ch:J,Cl:Z,Dh:G,Dl:z,Eh:W,El:V,Fh:K,Fl:D,Gh:M,Gl:q,Hh:U,Hl:I}=this;return[$,Q,Y,X,J,Z,G,z,W,V,K,D,M,q,U,I]}set($,Q,Y,X,J,Z,G,z,W,V,K,D,M,q,U,I){this.Ah=$|0,this.Al=Q|0,this.Bh=Y|0,this.Bl=X|0,this.Ch=J|0,this.Cl=Z|0,this.Dh=G|0,this.Dl=z|0,this.Eh=W|0,this.El=V|0,this.Fh=K|0,this.Fl=D|0,this.Gh=M|0,this.Gl=q|0,this.Hh=U|0,this.Hl=I|0}process($,Q){for(let N=0;N<16;N++,Q+=4)M8[N]=$.getUint32(Q),U8[N]=$.getUint32(Q+=4);for(let N=16;N<80;N++){let x=M8[N-15]|0,P=U8[N-15]|0,A=v.rotrSH(x,P,1)^v.rotrSH(x,P,8)^v.shrSH(x,P,7),j=v.rotrSL(x,P,1)^v.rotrSL(x,P,8)^v.shrSL(x,P,7),_=M8[N-2]|0,u=U8[N-2]|0,h=v.rotrSH(_,u,19)^v.rotrBH(_,u,61)^v.shrSH(_,u,6),y=v.rotrSL(_,u,19)^v.rotrBL(_,u,61)^v.shrSL(_,u,6),J$=v.add4L(j,y,U8[N-7],U8[N-16]),W$=v.add4H(J$,A,h,M8[N-7],M8[N-16]);M8[N]=W$|0,U8[N]=J$|0}let{Ah:Y,Al:X,Bh:J,Bl:Z,Ch:G,Cl:z,Dh:W,Dl:V,Eh:K,El:D,Fh:M,Fl:q,Gh:U,Gl:I,Hh:R,Hl:E}=this;for(let N=0;N<80;N++){let x=v.rotrSH(K,D,14)^v.rotrSH(K,D,18)^v.rotrBH(K,D,41),P=v.rotrSL(K,D,14)^v.rotrSL(K,D,18)^v.rotrBL(K,D,41),A=K&M^~K&U,j=D&q^~D&I,_=v.add5L(E,P,j,CW[N],U8[N]),u=v.add5H(_,R,x,A,EW[N],M8[N]),h=_|0,y=v.rotrSH(Y,X,28)^v.rotrBH(Y,X,34)^v.rotrBH(Y,X,39),J$=v.rotrSL(Y,X,28)^v.rotrBL(Y,X,34)^v.rotrBL(Y,X,39),W$=Y&J^Y&G^J&G,A$=X&Z^X&z^Z&z;R=U|0,E=I|0,U=M|0,I=q|0,M=K|0,q=D|0,{h:K,l:D}=v.add(W|0,V|0,u|0,h|0),W=G|0,V=z|0,G=J|0,z=Z|0,J=Y|0,Z=X|0;let Y$=v.add3L(h,J$,A$);Y=v.add3H(Y$,u,y,W$),X=Y$|0}({h:Y,l:X}=v.add(this.Ah|0,this.Al|0,Y|0,X|0)),{h:J,l:Z}=v.add(this.Bh|0,this.Bl|0,J|0,Z|0),{h:G,l:z}=v.add(this.Ch|0,this.Cl|0,G|0,z|0),{h:W,l:V}=v.add(this.Dh|0,this.Dl|0,W|0,V|0),{h:K,l:D}=v.add(this.Eh|0,this.El|0,K|0,D|0),{h:M,l:q}=v.add(this.Fh|0,this.Fl|0,M|0,q|0),{h:U,l:I}=v.add(this.Gh|0,this.Gl|0,U|0,I|0),{h:R,l:E}=v.add(this.Hh|0,this.Hl|0,R|0,E|0),this.set(Y,X,J,Z,G,z,W,V,K,D,M,q,U,I,R,E)}roundClean(){M8.fill(0),U8.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}var TX=K8(()=>new ZG);function TW(){if(typeof self!=="undefined")return self;if(typeof window!=="undefined")return window;if(typeof global!=="undefined")return global;throw new Error("unable to locate global object")}var GG=TW(),zG=GG.crypto||GG.msCrypto;function fJ($){switch($){case"sha256":return n8.create();case"sha512":return TX.create()}O(!1,"invalid hashing algorithm name","algorithm",$)}function WG($,Q){let Y={sha256:n8,sha512:TX}[$];return O(Y!=null,"invalid hmac algorithm","algorithm",$),qY.create(Y,Q)}function VG($,Q,Y,X,J){let Z={sha256:n8,sha512:TX}[J];return O(Z!=null,"invalid pbkdf2 algorithm","algorithm",J),RY(Z,$,Q,{c:Y,dkLen:X})}function KG($){H(zG!=null,"platform does not support secure random numbers","UNSUPPORTED_OPERATION",{operation:"randomBytes"}),O(Number.isInteger($)&&$>0&&$<=1024,"invalid length","length",$);let Q=new Uint8Array($);return zG.getRandomValues(Q),Q}var OG=!1,DG=function($,Q,Y){return WG($,Q).update(Y).digest()},MG=DG;function N0($,Q,Y){let X=C(Q,"key"),J=C(Y,"data");return L(MG($,X,J))}N0._=DG;N0.lock=function(){OG=!0};N0.register=function($){if(OG)throw new Error("computeHmac is locked");MG=$};Object.freeze(N0);var[IG,qG,RG]=[[],[],[]],NW=BigInt(0),LY=BigInt(1),SW=BigInt(2),BW=BigInt(7),AW=BigInt(256),PW=BigInt(113);for(let $=0,Q=LY,Y=1,X=0;$<24;$++){[Y,X]=[X,(2*Y+3*X)%5],IG.push(2*(5*X+Y)),qG.push(($+1)*($+2)/2%64);let J=NW;for(let Z=0;Z<7;Z++)if(Q=(Q<<LY^(Q>>BW)*PW)%AW,Q&SW)J^=LY<<(LY<<BigInt(Z))-LY;RG.push(J)}var[FW,jW]=jJ(RG,!0),UG=($,Q,Y)=>Y>32?xJ($,Q,Y):wJ($,Q,Y),HG=($,Q,Y)=>Y>32?kJ($,Q,Y):_J($,Q,Y);function wW($,Q=24){let Y=new Uint32Array(10);for(let X=24-Q;X<24;X++){for(let G=0;G<10;G++)Y[G]=$[G]^$[G+10]^$[G+20]^$[G+30]^$[G+40];for(let G=0;G<10;G+=2){let z=(G+8)%10,W=(G+2)%10,V=Y[W],K=Y[W+1],D=UG(V,K,1)^Y[z],M=HG(V,K,1)^Y[z+1];for(let q=0;q<50;q+=10)$[G+q]^=D,$[G+q+1]^=M}let J=$[2],Z=$[3];for(let G=0;G<24;G++){let z=qG[G],W=UG(J,Z,z),V=HG(J,Z,z),K=IG[G];J=$[K],Z=$[K+1],$[K]=W,$[K+1]=V}for(let G=0;G<50;G+=10){for(let z=0;z<10;z++)Y[z]=$[G+z];for(let z=0;z<10;z++)$[G+z]^=~Y[(z+2)%10]&Y[(z+4)%10]}$[0]^=FW[X],$[1]^=jW[X]}Y.fill(0)}class bJ extends l8{constructor($,Q,Y,X=!1,J=24){super();if(this.blockLen=$,this.suffix=Q,this.outputLen=Y,this.enableXOF=X,this.rounds=J,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,v$(Y),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=PQ(this.state)}keccak(){wW(this.state32,this.rounds),this.posOut=0,this.pos=0}update($){r0(this);let{blockLen:Q,state:Y}=this;$=g0($);let X=$.length;for(let J=0;J<X;){let Z=Math.min(Q-this.pos,X-J);for(let G=0;G<Z;G++)Y[this.pos++]^=$[J++];if(this.pos===Q)this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:$,suffix:Q,pos:Y,blockLen:X}=this;if($[Y]^=Q,(Q&128)!==0&&Y===X-1)this.keccak();$[X-1]^=128,this.keccak()}writeInto($){r0(this,!1),IY($),this.finish();let Q=this.state,{blockLen:Y}=this;for(let X=0,J=$.length;X<J;){if(this.posOut>=Y)this.keccak();let Z=Math.min(Y-this.posOut,J-X);$.set(Q.subarray(this.posOut,this.posOut+Z),X),this.posOut+=Z,X+=Z}return $}xofInto($){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto($)}xof($){return v$($),this.xofInto(new Uint8Array($))}digestInto($){if(RX($,this),this.finished)throw new Error("digest() was already called");return this.writeInto($),this.destroy(),$}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto($){let{blockLen:Q,suffix:Y,outputLen:X,rounds:J,enableXOF:Z}=this;return $||($=new bJ(Q,Y,X,Z,J)),$.state32.set(this.state32),$.pos=this.pos,$.posOut=this.posOut,$.finished=this.finished,$.rounds=J,$.suffix=Y,$.outputLen=X,$.enableXOF=Z,$.destroyed=this.destroyed,$}}var _W=($,Q,Y)=>K8(()=>new bJ(Q,$,Y));var LG=_W(1,136,32);var EG=!1,CG=function($){return LG($)},TG=CG;function g($){let Q=C($,"data");return L(TG(Q))}g._=CG;g.lock=function(){EG=!0};g.register=function($){if(EG)throw new TypeError("keccak256 is locked");TG=$};Object.freeze(g);var xW=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),SG=Uint8Array.from({length:16},($,Q)=>Q),kW=SG.map(($)=>(9*$+5)%16),hJ=[SG],yJ=[kW];for(let $=0;$<4;$++)for(let Q of[hJ,yJ])Q.push(Q[$].map((Y)=>xW[Y]));var BG=[[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(($)=>new Uint8Array($)),fW=hJ.map(($,Q)=>$.map((Y)=>BG[Q][Y])),bW=yJ.map(($,Q)=>$.map((Y)=>BG[Q][Y])),hW=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),yW=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]),NX=($,Q)=>$<<Q|$>>>32-Q;function NG($,Q,Y,X){if($===0)return Q^Y^X;else if($===1)return Q&Y|~Q&X;else if($===2)return(Q|~Y)^X;else if($===3)return Q&X|Y&~X;else return Q^(Y|~X)}var SX=new Uint32Array(16);class AG extends i8{constructor(){super(64,20,8,!0);this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){let{h0:$,h1:Q,h2:Y,h3:X,h4:J}=this;return[$,Q,Y,X,J]}set($,Q,Y,X,J){this.h0=$|0,this.h1=Q|0,this.h2=Y|0,this.h3=X|0,this.h4=J|0}process($,Q){for(let M=0;M<16;M++,Q+=4)SX[M]=$.getUint32(Q,!0);let Y=this.h0|0,X=Y,J=this.h1|0,Z=J,G=this.h2|0,z=G,W=this.h3|0,V=W,K=this.h4|0,D=K;for(let M=0;M<5;M++){let q=4-M,U=hW[M],I=yW[M],R=hJ[M],E=yJ[M],N=fW[M],x=bW[M];for(let P=0;P<16;P++){let A=NX(Y+NG(M,J,G,W)+SX[R[P]]+U,N[P])+K|0;Y=K,K=W,W=NX(G,10)|0,G=J,J=A}for(let P=0;P<16;P++){let A=NX(X+NG(q,Z,z,V)+SX[E[P]]+I,x[P])+D|0;X=D,D=V,V=NX(z,10)|0,z=Z,Z=A}}this.set(this.h1+G+V|0,this.h2+W+D|0,this.h3+K+X|0,this.h4+Y+Z|0,this.h0+J+z|0)}roundClean(){SX.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}}var PG=K8(()=>new AG);var FG=!1,jG=function($){return PG($)},wG=jG;function S0($){let Q=C($,"data");return L(wG(Q))}S0._=jG;S0.lock=function(){FG=!0};S0.register=function($){if(FG)throw new TypeError("ripemd160 is locked");wG=$};Object.freeze(S0);var _G=!1,xG=function($,Q,Y,X,J){return VG($,Q,Y,X,J)},kG=xG;function d$($,Q,Y,X,J){let Z=C($,"password"),G=C(Q,"salt");return L(kG(Z,G,Y,X,J))}d$._=xG;d$.lock=function(){_G=!0};d$.register=function($){if(_G)throw new Error("pbkdf2 is locked");kG=$};Object.freeze(d$);var fG=!1,bG=function($){return new Uint8Array(KG($))},hG=bG;function g$($){return hG($)}g$._=bG;g$.lock=function(){fG=!0};g$.register=function($){if(fG)throw new Error("randomBytes is locked");hG=$};Object.freeze(g$);var s=($,Q)=>$<<Q|$>>>32-Q;function yG($,Q,Y,X,J,Z){let G=$[Q++]^Y[X++],z=$[Q++]^Y[X++],W=$[Q++]^Y[X++],V=$[Q++]^Y[X++],K=$[Q++]^Y[X++],D=$[Q++]^Y[X++],M=$[Q++]^Y[X++],q=$[Q++]^Y[X++],U=$[Q++]^Y[X++],I=$[Q++]^Y[X++],R=$[Q++]^Y[X++],E=$[Q++]^Y[X++],N=$[Q++]^Y[X++],x=$[Q++]^Y[X++],P=$[Q++]^Y[X++],A=$[Q++]^Y[X++],j=G,_=z,u=W,h=V,y=K,J$=D,W$=M,A$=q,Y$=U,S=I,k=R,m=E,n=N,r=x,X$=P,C$=A;for(let y$=0;y$<8;y$+=2)y^=s(j+n|0,7),Y$^=s(y+j|0,9),n^=s(Y$+y|0,13),j^=s(n+Y$|0,18),S^=s(J$+_|0,7),r^=s(S+J$|0,9),_^=s(r+S|0,13),J$^=s(_+r|0,18),X$^=s(k+W$|0,7),u^=s(X$+k|0,9),W$^=s(u+X$|0,13),k^=s(W$+u|0,18),h^=s(C$+m|0,7),A$^=s(h+C$|0,9),m^=s(A$+h|0,13),C$^=s(m+A$|0,18),_^=s(j+h|0,7),u^=s(_+j|0,9),h^=s(u+_|0,13),j^=s(h+u|0,18),W$^=s(J$+y|0,7),A$^=s(W$+J$|0,9),y^=s(A$+W$|0,13),J$^=s(y+A$|0,18),m^=s(k+S|0,7),Y$^=s(m+k|0,9),S^=s(Y$+m|0,13),k^=s(S+Y$|0,18),n^=s(C$+X$|0,7),r^=s(n+C$|0,9),X$^=s(r+n|0,13),C$^=s(X$+r|0,18);J[Z++]=G+j|0,J[Z++]=z+_|0,J[Z++]=W+u|0,J[Z++]=V+h|0,J[Z++]=K+y|0,J[Z++]=D+J$|0,J[Z++]=M+W$|0,J[Z++]=q+A$|0,J[Z++]=U+Y$|0,J[Z++]=I+S|0,J[Z++]=R+k|0,J[Z++]=E+m|0,J[Z++]=N+n|0,J[Z++]=x+r|0,J[Z++]=P+X$|0,J[Z++]=A+C$|0}function jQ($,Q,Y,X,J){let Z=X+0,G=X+16*J;for(let z=0;z<16;z++)Y[G+z]=$[Q+(2*J-1)*16+z];for(let z=0;z<J;z++,Z+=16,Q+=16){if(yG(Y,G,$,Q,Y,Z),z>0)G+=16;yG(Y,Z,$,Q+=16,Y,G)}}function vG($,Q,Y){let X=EX({dkLen:32,asyncTick:10,maxmem:1073742848},Y),{N:J,r:Z,p:G,dkLen:z,asyncTick:W,maxmem:V,onProgress:K}=X;if(v$(J),v$(Z),v$(G),v$(z),v$(W),v$(V),K!==void 0&&typeof K!=="function")throw new Error("progressCb should be function");let D=128*Z,M=D/4;if(J<=1||(J&J-1)!==0||J>=2**(D/8)||J>4294967296)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(G<0||G>137438953440/D)throw new Error("Scrypt: p must be a positive integer less than or equal to ((2^32 - 1) * 32) / (128 * r)");if(z<0||z>137438953440)throw new Error("Scrypt: dkLen should be positive integer less than or equal to (2^32 - 1) * 32");let q=D*(J+G);if(q>V)throw new Error(`Scrypt: parameters too large, ${q} (128 * r * (N + p)) > ${V} (maxmem)`);let U=RY(n8,$,Q,{c:1,dkLen:D*G}),I=PQ(U),R=PQ(new Uint8Array(D*J)),E=PQ(new Uint8Array(D)),N=()=>{};if(K){let x=2*J*G,P=Math.max(Math.floor(x/1e4),1),A=0;N=()=>{if(A++,K&&(!(A%P)||A===x))K(A/x)}}return{N:J,r:Z,p:G,dkLen:z,blockSize32:M,V:R,B32:I,B:U,tmp:E,blockMixCb:N,asyncTick:W}}function gG($,Q,Y,X,J){let Z=RY(n8,$,Y,{c:1,dkLen:Q});return Y.fill(0),X.fill(0),J.fill(0),Z}function mG($,Q,Y){let{N:X,r:J,p:Z,dkLen:G,blockSize32:z,V:W,B32:V,B:K,tmp:D,blockMixCb:M}=vG($,Q,Y);for(let q=0;q<Z;q++){let U=z*q;for(let I=0;I<z;I++)W[I]=V[U+I];for(let I=0,R=0;I<X-1;I++)jQ(W,R,W,R+=z,J),M();jQ(W,(X-1)*z,V,U,J),M();for(let I=0;I<X;I++){let R=V[U+z-16]%X;for(let E=0;E<z;E++)D[E]=V[U+E]^W[R*z+E];jQ(D,0,V,U,J),M()}}return gG($,G,K,W,D)}async function cG($,Q,Y){let{N:X,r:J,p:Z,dkLen:G,blockSize32:z,V:W,B32:V,B:K,tmp:D,blockMixCb:M,asyncTick:q}=vG($,Q,Y);for(let U=0;U<Z;U++){let I=z*U;for(let E=0;E<z;E++)W[E]=V[I+E];let R=0;await LX(X-1,q,()=>{jQ(W,R,W,R+=z,J),M()}),jQ(W,(X-1)*z,V,I,J),M(),await LX(X,q,()=>{let E=V[I+z-16]%X;for(let N=0;N<z;N++)D[N]=V[I+N]^W[E*z+N];jQ(D,0,V,I,J),M()})}return gG($,G,K,W,D)}var uG=!1,dG=!1,pG=async function($,Q,Y,X,J,Z,G){return await cG($,Q,{N:Y,r:X,p:J,dkLen:Z,onProgress:G})},lG=function($,Q,Y,X,J,Z){return mG($,Q,{N:Y,r:X,p:J,dkLen:Z})},iG=pG,nG=lG;async function B0($,Q,Y,X,J,Z,G){let z=C($,"passwd"),W=C(Q,"salt");return L(await iG(z,W,Y,X,J,Z,G))}B0._=pG;B0.lock=function(){dG=!0};B0.register=function($){if(dG)throw new Error("scrypt is locked");iG=$};Object.freeze(B0);function A0($,Q,Y,X,J,Z){let G=C($,"passwd"),z=C(Q,"salt");return L(nG(G,z,Y,X,J,Z))}A0._=lG;A0.lock=function(){uG=!0};A0.register=function($){if(uG)throw new Error("scryptSync is locked");nG=$};Object.freeze(A0);var oG=function($){return fJ("sha256").update($).digest()},sG=function($){return fJ("sha512").update($).digest()},aG=oG,rG=sG,tG=!1,eG=!1;function I$($){let Q=C($,"data");return L(aG(Q))}I$._=oG;I$.lock=function(){tG=!0};I$.register=function($){if(tG)throw new Error("sha256 is locked");aG=$};Object.freeze(I$);function o8($){let Q=C($,"data");return L(rG(Q))}o8._=sG;o8.lock=function(){eG=!0};o8.register=function($){if(eG)throw new Error("sha512 is locked");rG=$};Object.freeze(I$);function $5($){if(!Number.isSafeInteger($)||$<0)throw new Error(`Wrong positive integer: ${$}`)}function vJ($,...Q){if(!($ instanceof Uint8Array))throw new Error("Expected Uint8Array");if(Q.length>0&&!Q.includes($.length))throw new Error(`Expected Uint8Array of length ${Q}, not of length=${$.length}`)}function Q5($){if(typeof $!=="function"||typeof $.create!=="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");$5($.outputLen),$5($.blockLen)}function wQ($,Q=!0){if($.destroyed)throw new Error("Hash instance has been destroyed");if(Q&&$.finished)throw new Error("Hash#digest() has already been called")}function Y5($,Q){vJ($);let Y=Q.outputLen;if($.length<Y)throw new Error(`digestInto() expects output buffer of length at least ${Y}`)}var BX=typeof globalThis==="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */var X5=($)=>$ instanceof Uint8Array;var AX=($)=>new DataView($.buffer,$.byteOffset,$.byteLength),P0=($,Q)=>$<<32-Q|$>>>Q,vW=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!vW)throw new Error("Non little-endian hardware is not supported");function gW($){if(typeof $!=="string")throw new Error(`utf8ToBytes expected string, got ${typeof $}`);return new Uint8Array(new TextEncoder().encode($))}function EY($){if(typeof $==="string")$=gW($);if(!X5($))throw new Error(`expected Uint8Array, got ${typeof $}`);return $}function J5(...$){let Q=new Uint8Array($.reduce((X,J)=>X+J.length,0)),Y=0;return $.forEach((X)=>{if(!X5(X))throw new Error("Uint8Array expected");Q.set(X,Y),Y+=X.length}),Q}class CY{clone(){return this._cloneInto()}}var PO={}.toString;function Z5($){let Q=(X)=>$().update(EY(X)).digest(),Y=$();return Q.outputLen=Y.outputLen,Q.blockLen=Y.blockLen,Q.create=()=>$(),Q}function G5($=32){if(BX&&typeof BX.getRandomValues==="function")return BX.getRandomValues(new Uint8Array($));throw new Error("crypto.getRandomValues must be defined")}function mW($,Q,Y,X){if(typeof $.setBigUint64==="function")return $.setBigUint64(Q,Y,X);let J=BigInt(32),Z=BigInt(4294967295),G=Number(Y>>J&Z),z=Number(Y&Z),W=X?4:0,V=X?0:4;$.setUint32(Q+W,G,X),$.setUint32(Q+V,z,X)}class gJ extends CY{constructor($,Q,Y,X){super();this.blockLen=$,this.outputLen=Q,this.padOffset=Y,this.isLE=X,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array($),this.view=AX(this.buffer)}update($){wQ(this);let{view:Q,buffer:Y,blockLen:X}=this;$=EY($);let J=$.length;for(let Z=0;Z<J;){let G=Math.min(X-this.pos,J-Z);if(G===X){let z=AX($);for(;X<=J-Z;Z+=X)this.process(z,Z);continue}if(Y.set($.subarray(Z,Z+G),this.pos),this.pos+=G,Z+=G,this.pos===X)this.process(Q,0),this.pos=0}return this.length+=$.length,this.roundClean(),this}digestInto($){wQ(this),Y5($,this),this.finished=!0;let{buffer:Q,view:Y,blockLen:X,isLE:J}=this,{pos:Z}=this;if(Q[Z++]=128,this.buffer.subarray(Z).fill(0),this.padOffset>X-Z)this.process(Y,0),Z=0;for(let K=Z;K<X;K++)Q[K]=0;mW(Y,X-8,BigInt(this.length*8),J),this.process(Y,0);let G=AX($),z=this.outputLen;if(z%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let W=z/4,V=this.get();if(W>V.length)throw new Error("_sha2: outputLen bigger than state");for(let K=0;K<W;K++)G.setUint32(4*K,V[K],J)}digest(){let{buffer:$,outputLen:Q}=this;this.digestInto($);let Y=$.slice(0,Q);return this.destroy(),Y}_cloneInto($){$||($=new this.constructor),$.set(...this.get());let{blockLen:Q,buffer:Y,length:X,finished:J,destroyed:Z,pos:G}=this;if($.length=X,$.pos=G,$.finished=J,$.destroyed=Z,X%Q)$.buffer.set(Y);return $}}var cW=($,Q,Y)=>$&Q^~$&Y,uW=($,Q,Y)=>$&Q^$&Y^Q&Y,dW=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]),H8=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),I8=new Uint32Array(64);class z5 extends gJ{constructor(){super(64,32,8,!1);this.A=H8[0]|0,this.B=H8[1]|0,this.C=H8[2]|0,this.D=H8[3]|0,this.E=H8[4]|0,this.F=H8[5]|0,this.G=H8[6]|0,this.H=H8[7]|0}get(){let{A:$,B:Q,C:Y,D:X,E:J,F:Z,G,H:z}=this;return[$,Q,Y,X,J,Z,G,z]}set($,Q,Y,X,J,Z,G,z){this.A=$|0,this.B=Q|0,this.C=Y|0,this.D=X|0,this.E=J|0,this.F=Z|0,this.G=G|0,this.H=z|0}process($,Q){for(let K=0;K<16;K++,Q+=4)I8[K]=$.getUint32(Q,!1);for(let K=16;K<64;K++){let D=I8[K-15],M=I8[K-2],q=P0(D,7)^P0(D,18)^D>>>3,U=P0(M,17)^P0(M,19)^M>>>10;I8[K]=U+I8[K-7]+q+I8[K-16]|0}let{A:Y,B:X,C:J,D:Z,E:G,F:z,G:W,H:V}=this;for(let K=0;K<64;K++){let D=P0(G,6)^P0(G,11)^P0(G,25),M=V+D+cW(G,z,W)+dW[K]+I8[K]|0,U=(P0(Y,2)^P0(Y,13)^P0(Y,22))+uW(Y,X,J)|0;V=W,W=z,z=G,G=Z+M|0,Z=J,J=X,X=Y,Y=M+U|0}Y=Y+this.A|0,X=X+this.B|0,J=J+this.C|0,Z=Z+this.D|0,G=G+this.E|0,z=z+this.F|0,W=W+this.G|0,V=V+this.H|0,this.set(Y,X,J,Z,G,z,W,V)}roundClean(){I8.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}var W5=Z5(()=>new z5);var dJ={};K5(dJ,{validateObject:()=>R8,utf8ToBytes:()=>oW,numberToVarBytesBE:()=>iW,numberToHexUnpadded:()=>D5,numberToBytesLE:()=>wX,numberToBytesBE:()=>q8,hexToNumber:()=>cJ,hexToBytes:()=>a8,equalBytes:()=>nW,ensureBytes:()=>$0,createHmacDrbg:()=>uJ,concatBytes:()=>_Q,bytesToNumberLE:()=>jX,bytesToNumberBE:()=>t0,bytesToHex:()=>s8,bitSet:()=>rW,bitMask:()=>TY,bitLen:()=>sW,bitGet:()=>aW});/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var O5=BigInt(0),PX=BigInt(1),pW=BigInt(2),FX=($)=>$ instanceof Uint8Array,lW=Array.from({length:256},($,Q)=>Q.toString(16).padStart(2,"0"));function s8($){if(!FX($))throw new Error("Uint8Array expected");let Q="";for(let Y=0;Y<$.length;Y++)Q+=lW[$[Y]];return Q}function D5($){let Q=$.toString(16);return Q.length&1?`0${Q}`:Q}function cJ($){if(typeof $!=="string")throw new Error("hex string expected, got "+typeof $);return BigInt($===""?"0":`0x${$}`)}function a8($){if(typeof $!=="string")throw new Error("hex string expected, got "+typeof $);let Q=$.length;if(Q%2)throw new Error("padded hex string expected, got unpadded hex of length "+Q);let Y=new Uint8Array(Q/2);for(let X=0;X<Y.length;X++){let J=X*2,Z=$.slice(J,J+2),G=Number.parseInt(Z,16);if(Number.isNaN(G)||G<0)throw new Error("Invalid byte sequence");Y[X]=G}return Y}function t0($){return cJ(s8($))}function jX($){if(!FX($))throw new Error("Uint8Array expected");return cJ(s8(Uint8Array.from($).reverse()))}function q8($,Q){return a8($.toString(16).padStart(Q*2,"0"))}function wX($,Q){return q8($,Q).reverse()}function iW($){return a8(D5($))}function $0($,Q,Y){let X;if(typeof Q==="string")try{X=a8(Q)}catch(Z){throw new Error(`${$} must be valid hex string, got "${Q}". Cause: ${Z}`)}else if(FX(Q))X=Uint8Array.from(Q);else throw new Error(`${$} must be hex string or Uint8Array`);let J=X.length;if(typeof Y==="number"&&J!==Y)throw new Error(`${$} expected ${Y} bytes, got ${J}`);return X}function _Q(...$){let Q=new Uint8Array($.reduce((X,J)=>X+J.length,0)),Y=0;return $.forEach((X)=>{if(!FX(X))throw new Error("Uint8Array expected");Q.set(X,Y),Y+=X.length}),Q}function nW($,Q){if($.length!==Q.length)return!1;for(let Y=0;Y<$.length;Y++)if($[Y]!==Q[Y])return!1;return!0}function oW($){if(typeof $!=="string")throw new Error(`utf8ToBytes expected string, got ${typeof $}`);return new Uint8Array(new TextEncoder().encode($))}function sW($){let Q;for(Q=0;$>O5;$>>=PX,Q+=1);return Q}function aW($,Q){return $>>BigInt(Q)&PX}var rW=($,Q,Y)=>{return $|(Y?PX:O5)<<BigInt(Q)},TY=($)=>(pW<<BigInt($-1))-PX,mJ=($)=>new Uint8Array($),V5=($)=>Uint8Array.from($);function uJ($,Q,Y){if(typeof $!=="number"||$<2)throw new Error("hashLen must be a number");if(typeof Q!=="number"||Q<2)throw new Error("qByteLen must be a number");if(typeof Y!=="function")throw new Error("hmacFn must be a function");let X=mJ($),J=mJ($),Z=0,G=()=>{X.fill(1),J.fill(0),Z=0},z=(...D)=>Y(J,X,...D),W=(D=mJ())=>{if(J=z(V5([0]),D),X=z(),D.length===0)return;J=z(V5([1]),D),X=z()},V=()=>{if(Z++>=1000)throw new Error("drbg: tried 1000 values");let D=0,M=[];while(D<Q){X=z();let q=X.slice();M.push(q),D+=X.length}return _Q(...M)};return(D,M)=>{G(),W(D);let q=void 0;while(!(q=M(V())))W();return G(),q}}var tW={bigint:($)=>typeof $==="bigint",function:($)=>typeof $==="function",boolean:($)=>typeof $==="boolean",string:($)=>typeof $==="string",stringOrUint8Array:($)=>typeof $==="string"||$ instanceof Uint8Array,isSafeInteger:($)=>Number.isSafeInteger($),array:($)=>Array.isArray($),field:($,Q)=>Q.Fp.isValid($),hash:($)=>typeof $==="function"&&Number.isSafeInteger($.outputLen)};function R8($,Q,Y={}){let X=(J,Z,G)=>{let z=tW[Z];if(typeof z!=="function")throw new Error(`Invalid validator "${Z}", expected function`);let W=$[J];if(G&&W===void 0)return;if(!z(W,$))throw new Error(`Invalid param ${String(J)}=${W} (${typeof W}), expected ${Z}`)};for(let[J,Z]of Object.entries(Q))X(J,Z,!1);for(let[J,Z]of Object.entries(Y))X(J,Z,!0);return $}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var S$=BigInt(0),U$=BigInt(1),r8=BigInt(2),eW=BigInt(3),pJ=BigInt(4),M5=BigInt(5),U5=BigInt(8),$4=BigInt(9),Q4=BigInt(16);function m$($,Q){let Y=$%Q;return Y>=S$?Y:Q+Y}function Y4($,Q,Y){if(Y<=S$||Q<S$)throw new Error("Expected power/modulo > 0");if(Y===U$)return S$;let X=U$;while(Q>S$){if(Q&U$)X=X*$%Y;$=$*$%Y,Q>>=U$}return X}function Q0($,Q,Y){let X=$;while(Q-- >S$)X*=X,X%=Y;return X}function _X($,Q){if($===S$||Q<=S$)throw new Error(`invert: expected positive integers, got n=${$} mod=${Q}`);let Y=m$($,Q),X=Q,J=S$,Z=U$,G=U$,z=S$;while(Y!==S$){let V=X/Y,K=X%Y,D=J-G*V,M=Z-z*V;X=Y,Y=K,J=G,Z=z,G=D,z=M}if(X!==U$)throw new Error("invert: does not exist");return m$(J,Q)}function X4($){let Q=($-U$)/r8,Y,X,J;for(Y=$-U$,X=0;Y%r8===S$;Y/=r8,X++);for(J=r8;J<$&&Y4(J,Q,$)!==$-U$;J++);if(X===1){let G=($+U$)/pJ;return function z(W,V){let K=W.pow(V,G);if(!W.eql(W.sqr(K),V))throw new Error("Cannot find square root");return K}}let Z=(Y+U$)/r8;return function G(z,W){if(z.pow(W,Q)===z.neg(z.ONE))throw new Error("Cannot find square root");let V=X,K=z.pow(z.mul(z.ONE,J),Y),D=z.pow(W,Z),M=z.pow(W,Y);while(!z.eql(M,z.ONE)){if(z.eql(M,z.ZERO))return z.ZERO;let q=1;for(let I=z.sqr(M);q<V;q++){if(z.eql(I,z.ONE))break;I=z.sqr(I)}let U=z.pow(K,U$<<BigInt(V-q-1));K=z.sqr(U),D=z.mul(D,U),M=z.mul(M,K),V=q}return D}}function J4($){if($%pJ===eW){let Q=($+U$)/pJ;return function Y(X,J){let Z=X.pow(J,Q);if(!X.eql(X.sqr(Z),J))throw new Error("Cannot find square root");return Z}}if($%U5===M5){let Q=($-M5)/U5;return function Y(X,J){let Z=X.mul(J,r8),G=X.pow(Z,Q),z=X.mul(J,G),W=X.mul(X.mul(z,r8),G),V=X.mul(z,X.sub(W,X.ONE));if(!X.eql(X.sqr(V),J))throw new Error("Cannot find square root");return V}}if($%Q4===$4);return X4($)}var Z4=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function lJ($){let Q={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},Y=Z4.reduce((X,J)=>{return X[J]="function",X},Q);return R8($,Y)}function G4($,Q,Y){if(Y<S$)throw new Error("Expected power > 0");if(Y===S$)return $.ONE;if(Y===U$)return Q;let X=$.ONE,J=Q;while(Y>S$){if(Y&U$)X=$.mul(X,J);J=$.sqr(J),Y>>=U$}return X}function z4($,Q){let Y=new Array(Q.length),X=Q.reduce((Z,G,z)=>{if($.is0(G))return Z;return Y[z]=Z,$.mul(Z,G)},$.ONE),J=$.inv(X);return Q.reduceRight((Z,G,z)=>{if($.is0(G))return Z;return Y[z]=$.mul(Z,Y[z]),$.mul(Z,G)},J),Y}function iJ($,Q){let Y=Q!==void 0?Q:$.toString(2).length,X=Math.ceil(Y/8);return{nBitLength:Y,nByteLength:X}}function H5($,Q,Y=!1,X={}){if($<=S$)throw new Error(`Expected Field ORDER > 0, got ${$}`);let{nBitLength:J,nByteLength:Z}=iJ($,Q);if(Z>2048)throw new Error("Field lengths over 2048 bytes are not supported");let G=J4($),z=Object.freeze({ORDER:$,BITS:J,BYTES:Z,MASK:TY(J),ZERO:S$,ONE:U$,create:(W)=>m$(W,$),isValid:(W)=>{if(typeof W!=="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof W}`);return S$<=W&&W<$},is0:(W)=>W===S$,isOdd:(W)=>(W&U$)===U$,neg:(W)=>m$(-W,$),eql:(W,V)=>W===V,sqr:(W)=>m$(W*W,$),add:(W,V)=>m$(W+V,$),sub:(W,V)=>m$(W-V,$),mul:(W,V)=>m$(W*V,$),pow:(W,V)=>G4(z,W,V),div:(W,V)=>m$(W*_X(V,$),$),sqrN:(W)=>W*W,addN:(W,V)=>W+V,subN:(W,V)=>W-V,mulN:(W,V)=>W*V,inv:(W)=>_X(W,$),sqrt:X.sqrt||((W)=>G(z,W)),invertBatch:(W)=>z4(z,W),cmov:(W,V,K)=>K?V:W,toBytes:(W)=>Y?wX(W,Z):q8(W,Z),fromBytes:(W)=>{if(W.length!==Z)throw new Error(`Fp.fromBytes: expected ${Z}, got ${W.length}`);return Y?jX(W):t0(W)}});return Object.freeze(z)}function I5($){if(typeof $!=="bigint")throw new Error("field order must be bigint");let Q=$.toString(2).length;return Math.ceil(Q/8)}function nJ($){let Q=I5($);return Q+Math.ceil(Q/2)}function q5($,Q,Y=!1){let X=$.length,J=I5(Q),Z=nJ(Q);if(X<16||X<Z||X>1024)throw new Error(`expected ${Z}-1024 bytes of input, got ${X}`);let G=Y?t0($):jX($),z=m$(G,Q-U$)+U$;return Y?wX(z,J):q8(z,J)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var V4=BigInt(0),oJ=BigInt(1);function R5($,Q){let Y=(J,Z)=>{let G=Z.negate();return J?G:Z},X=(J)=>{let Z=Math.ceil(Q/J)+1,G=2**(J-1);return{windows:Z,windowSize:G}};return{constTimeNegate:Y,unsafeLadder(J,Z){let G=$.ZERO,z=J;while(Z>V4){if(Z&oJ)G=G.add(z);z=z.double(),Z>>=oJ}return G},precomputeWindow(J,Z){let{windows:G,windowSize:z}=X(Z),W=[],V=J,K=V;for(let D=0;D<G;D++){K=V,W.push(K);for(let M=1;M<z;M++)K=K.add(V),W.push(K);V=K.double()}return W},wNAF(J,Z,G){let{windows:z,windowSize:W}=X(J),V=$.ZERO,K=$.BASE,D=BigInt(2**J-1),M=2**J,q=BigInt(J);for(let U=0;U<z;U++){let I=U*W,R=Number(G&D);if(G>>=q,R>W)R-=M,G+=oJ;let E=I,N=I+Math.abs(R)-1,x=U%2!==0,P=R<0;if(R===0)K=K.add(Y(x,Z[E]));else V=V.add(Y(P,Z[N]))}return{p:V,f:K}},wNAFCached(J,Z,G,z){let W=J._WINDOW_SIZE||1,V=Z.get(J);if(!V){if(V=this.precomputeWindow(J,W),W!==1)Z.set(J,z(V))}return this.wNAF(W,V,G)}}}function sJ($){return lJ($.Fp),R8($,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...iJ($.n,$.nBitLength),...$,...{p:$.Fp.ORDER}})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function K4($){let Q=sJ($);R8(Q,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:Y,Fp:X,a:J}=Q;if(Y){if(!X.eql(J,X.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof Y!=="object"||typeof Y.beta!=="bigint"||typeof Y.splitScalar!=="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...Q})}var{bytesToNumberBE:O4,hexToBytes:D4}=dJ,t8={Err:class $ extends Error{constructor(Q=""){super(Q)}},_parseInt($){let{Err:Q}=t8;if($.length<2||$[0]!==2)throw new Q("Invalid signature integer tag");let Y=$[1],X=$.subarray(2,Y+2);if(!Y||X.length!==Y)throw new Q("Invalid signature integer: wrong length");if(X[0]&128)throw new Q("Invalid signature integer: negative");if(X[0]===0&&!(X[1]&128))throw new Q("Invalid signature integer: unnecessary leading zero");return{d:O4(X),l:$.subarray(Y+2)}},toSig($){let{Err:Q}=t8,Y=typeof $==="string"?D4($):$;if(!(Y instanceof Uint8Array))throw new Error("ui8a expected");let X=Y.length;if(X<2||Y[0]!=48)throw new Q("Invalid signature tag");if(Y[1]!==X-2)throw new Q("Invalid signature: incorrect length");let{d:J,l:Z}=t8._parseInt(Y.subarray(2)),{d:G,l:z}=t8._parseInt(Z);if(z.length)throw new Q("Invalid signature: left bytes after parsing");return{r:J,s:G}},hexFromSig($){let Q=(V)=>Number.parseInt(V[0],16)&8?"00"+V:V,Y=(V)=>{let K=V.toString(16);return K.length&1?`0${K}`:K},X=Q(Y($.s)),J=Q(Y($.r)),Z=X.length/2,G=J.length/2,z=Y(Z),W=Y(G);return`30${Y(G+Z+4)}02${W}${J}02${z}${X}`}},e0=BigInt(0),V0=BigInt(1),cO=BigInt(2),L5=BigInt(3),uO=BigInt(4);function M4($){let Q=K4($),{Fp:Y}=Q,X=Q.toBytes||((U,I,R)=>{let E=I.toAffine();return _Q(Uint8Array.from([4]),Y.toBytes(E.x),Y.toBytes(E.y))}),J=Q.fromBytes||((U)=>{let I=U.subarray(1),R=Y.fromBytes(I.subarray(0,Y.BYTES)),E=Y.fromBytes(I.subarray(Y.BYTES,2*Y.BYTES));return{x:R,y:E}});function Z(U){let{a:I,b:R}=Q,E=Y.sqr(U),N=Y.mul(E,U);return Y.add(Y.add(N,Y.mul(U,I)),R)}if(!Y.eql(Y.sqr(Q.Gy),Z(Q.Gx)))throw new Error("bad generator point: equation left != right");function G(U){return typeof U==="bigint"&&e0<U&&U<Q.n}function z(U){if(!G(U))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function W(U){let{allowedPrivateKeyLengths:I,nByteLength:R,wrapPrivateKey:E,n:N}=Q;if(I&&typeof U!=="bigint"){if(U instanceof Uint8Array)U=s8(U);if(typeof U!=="string"||!I.includes(U.length))throw new Error("Invalid key");U=U.padStart(R*2,"0")}let x;try{x=typeof U==="bigint"?U:t0($0("private key",U,R))}catch(P){throw new Error(`private key must be ${R} bytes, hex or bigint, not ${typeof U}`)}if(E)x=m$(x,N);return z(x),x}let V=new Map;function K(U){if(!(U instanceof D))throw new Error("ProjectivePoint expected")}class D{constructor(U,I,R){if(this.px=U,this.py=I,this.pz=R,U==null||!Y.isValid(U))throw new Error("x required");if(I==null||!Y.isValid(I))throw new Error("y required");if(R==null||!Y.isValid(R))throw new Error("z required")}static fromAffine(U){let{x:I,y:R}=U||{};if(!U||!Y.isValid(I)||!Y.isValid(R))throw new Error("invalid affine point");if(U instanceof D)throw new Error("projective point not allowed");let E=(N)=>Y.eql(N,Y.ZERO);if(E(I)&&E(R))return D.ZERO;return new D(I,R,Y.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(U){let I=Y.invertBatch(U.map((R)=>R.pz));return U.map((R,E)=>R.toAffine(I[E])).map(D.fromAffine)}static fromHex(U){let I=D.fromAffine(J($0("pointHex",U)));return I.assertValidity(),I}static fromPrivateKey(U){return D.BASE.multiply(W(U))}_setWindowSize(U){this._WINDOW_SIZE=U,V.delete(this)}assertValidity(){if(this.is0()){if(Q.allowInfinityPoint&&!Y.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:U,y:I}=this.toAffine();if(!Y.isValid(U)||!Y.isValid(I))throw new Error("bad point: x or y not FE");let R=Y.sqr(I),E=Z(U);if(!Y.eql(R,E))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:U}=this.toAffine();if(Y.isOdd)return!Y.isOdd(U);throw new Error("Field doesn't support isOdd")}equals(U){K(U);let{px:I,py:R,pz:E}=this,{px:N,py:x,pz:P}=U,A=Y.eql(Y.mul(I,P),Y.mul(N,E)),j=Y.eql(Y.mul(R,P),Y.mul(x,E));return A&&j}negate(){return new D(this.px,Y.neg(this.py),this.pz)}double(){let{a:U,b:I}=Q,R=Y.mul(I,L5),{px:E,py:N,pz:x}=this,P=Y.ZERO,A=Y.ZERO,j=Y.ZERO,_=Y.mul(E,E),u=Y.mul(N,N),h=Y.mul(x,x),y=Y.mul(E,N);return y=Y.add(y,y),j=Y.mul(E,x),j=Y.add(j,j),P=Y.mul(U,j),A=Y.mul(R,h),A=Y.add(P,A),P=Y.sub(u,A),A=Y.add(u,A),A=Y.mul(P,A),P=Y.mul(y,P),j=Y.mul(R,j),h=Y.mul(U,h),y=Y.sub(_,h),y=Y.mul(U,y),y=Y.add(y,j),j=Y.add(_,_),_=Y.add(j,_),_=Y.add(_,h),_=Y.mul(_,y),A=Y.add(A,_),h=Y.mul(N,x),h=Y.add(h,h),_=Y.mul(h,y),P=Y.sub(P,_),j=Y.mul(h,u),j=Y.add(j,j),j=Y.add(j,j),new D(P,A,j)}add(U){K(U);let{px:I,py:R,pz:E}=this,{px:N,py:x,pz:P}=U,A=Y.ZERO,j=Y.ZERO,_=Y.ZERO,u=Q.a,h=Y.mul(Q.b,L5),y=Y.mul(I,N),J$=Y.mul(R,x),W$=Y.mul(E,P),A$=Y.add(I,R),Y$=Y.add(N,x);A$=Y.mul(A$,Y$),Y$=Y.add(y,J$),A$=Y.sub(A$,Y$),Y$=Y.add(I,E);let S=Y.add(N,P);return Y$=Y.mul(Y$,S),S=Y.add(y,W$),Y$=Y.sub(Y$,S),S=Y.add(R,E),A=Y.add(x,P),S=Y.mul(S,A),A=Y.add(J$,W$),S=Y.sub(S,A),_=Y.mul(u,Y$),A=Y.mul(h,W$),_=Y.add(A,_),A=Y.sub(J$,_),_=Y.add(J$,_),j=Y.mul(A,_),J$=Y.add(y,y),J$=Y.add(J$,y),W$=Y.mul(u,W$),Y$=Y.mul(h,Y$),J$=Y.add(J$,W$),W$=Y.sub(y,W$),W$=Y.mul(u,W$),Y$=Y.add(Y$,W$),y=Y.mul(J$,Y$),j=Y.add(j,y),y=Y.mul(S,Y$),A=Y.mul(A$,A),A=Y.sub(A,y),y=Y.mul(A$,J$),_=Y.mul(S,_),_=Y.add(_,y),new D(A,j,_)}subtract(U){return this.add(U.negate())}is0(){return this.equals(D.ZERO)}wNAF(U){return q.wNAFCached(this,V,U,(I)=>{let R=Y.invertBatch(I.map((E)=>E.pz));return I.map((E,N)=>E.toAffine(R[N])).map(D.fromAffine)})}multiplyUnsafe(U){let I=D.ZERO;if(U===e0)return I;if(z(U),U===V0)return this;let{endo:R}=Q;if(!R)return q.unsafeLadder(this,U);let{k1neg:E,k1:N,k2neg:x,k2:P}=R.splitScalar(U),A=I,j=I,_=this;while(N>e0||P>e0){if(N&V0)A=A.add(_);if(P&V0)j=j.add(_);_=_.double(),N>>=V0,P>>=V0}if(E)A=A.negate();if(x)j=j.negate();return j=new D(Y.mul(j.px,R.beta),j.py,j.pz),A.add(j)}multiply(U){z(U);let I=U,R,E,{endo:N}=Q;if(N){let{k1neg:x,k1:P,k2neg:A,k2:j}=N.splitScalar(I),{p:_,f:u}=this.wNAF(P),{p:h,f:y}=this.wNAF(j);_=q.constTimeNegate(x,_),h=q.constTimeNegate(A,h),h=new D(Y.mul(h.px,N.beta),h.py,h.pz),R=_.add(h),E=u.add(y)}else{let{p:x,f:P}=this.wNAF(I);R=x,E=P}return D.normalizeZ([R,E])[0]}multiplyAndAddUnsafe(U,I,R){let E=D.BASE,N=(P,A)=>A===e0||A===V0||!P.equals(E)?P.multiplyUnsafe(A):P.multiply(A),x=N(this,I).add(N(U,R));return x.is0()?void 0:x}toAffine(U){let{px:I,py:R,pz:E}=this,N=this.is0();if(U==null)U=N?Y.ONE:Y.inv(E);let x=Y.mul(I,U),P=Y.mul(R,U),A=Y.mul(E,U);if(N)return{x:Y.ZERO,y:Y.ZERO};if(!Y.eql(A,Y.ONE))throw new Error("invZ was invalid");return{x,y:P}}isTorsionFree(){let{h:U,isTorsionFree:I}=Q;if(U===V0)return!0;if(I)return I(D,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:U,clearCofactor:I}=Q;if(U===V0)return this;if(I)return I(D,this);return this.multiplyUnsafe(Q.h)}toRawBytes(U=!0){return this.assertValidity(),X(D,this,U)}toHex(U=!0){return s8(this.toRawBytes(U))}}D.BASE=new D(Q.Gx,Q.Gy,Y.ONE),D.ZERO=new D(Y.ZERO,Y.ONE,Y.ZERO);let M=Q.nBitLength,q=R5(D,Q.endo?Math.ceil(M/2):M);return{CURVE:Q,ProjectivePoint:D,normPrivateKeyToScalar:W,weierstrassEquation:Z,isWithinCurveOrder:G}}function U4($){let Q=sJ($);return R8(Q,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...Q})}function E5($){let Q=U4($),{Fp:Y,n:X}=Q,J=Y.BYTES+1,Z=2*Y.BYTES+1;function G(S){return e0<S&&S<Y.ORDER}function z(S){return m$(S,X)}function W(S){return _X(S,X)}let{ProjectivePoint:V,normPrivateKeyToScalar:K,weierstrassEquation:D,isWithinCurveOrder:M}=M4({...Q,toBytes(S,k,m){let n=k.toAffine(),r=Y.toBytes(n.x),X$=_Q;if(m)return X$(Uint8Array.from([k.hasEvenY()?2:3]),r);else return X$(Uint8Array.from([4]),r,Y.toBytes(n.y))},fromBytes(S){let k=S.length,m=S[0],n=S.subarray(1);if(k===J&&(m===2||m===3)){let r=t0(n);if(!G(r))throw new Error("Point is not on curve");let X$=D(r),C$=Y.sqrt(X$),y$=(C$&V0)===V0;if((m&1)===1!==y$)C$=Y.neg(C$);return{x:r,y:C$}}else if(k===Z&&m===4){let r=Y.fromBytes(n.subarray(0,Y.BYTES)),X$=Y.fromBytes(n.subarray(Y.BYTES,2*Y.BYTES));return{x:r,y:X$}}else throw new Error(`Point of length ${k} was invalid. Expected ${J} compressed bytes or ${Z} uncompressed bytes`)}}),q=(S)=>s8(q8(S,Q.nByteLength));function U(S){let k=X>>V0;return S>k}function I(S){return U(S)?z(-S):S}let R=(S,k,m)=>t0(S.slice(k,m));class E{constructor(S,k,m){this.r=S,this.s=k,this.recovery=m,this.assertValidity()}static fromCompact(S){let k=Q.nByteLength;return S=$0("compactSignature",S,k*2),new E(R(S,0,k),R(S,k,2*k))}static fromDER(S){let{r:k,s:m}=t8.toSig($0("DER",S));return new E(k,m)}assertValidity(){if(!M(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!M(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(S){return new E(this.r,this.s,S)}recoverPublicKey(S){let{r:k,s:m,recovery:n}=this,r=_($0("msgHash",S));if(n==null||![0,1,2,3].includes(n))throw new Error("recovery id invalid");let X$=n===2||n===3?k+Q.n:k;if(X$>=Y.ORDER)throw new Error("recovery id 2 or 3 invalid");let C$=(n&1)===0?"02":"03",y$=V.fromHex(C$+q(X$)),n0=W(X$),h8=z(-r*n0),qQ=z(m*n0),y8=V.BASE.multiplyAndAddUnsafe(y$,h8,qQ);if(!y8)throw new Error("point at infinify");return y8.assertValidity(),y8}hasHighS(){return U(this.s)}normalizeS(){return this.hasHighS()?new E(this.r,z(-this.s),this.recovery):this}toDERRawBytes(){return a8(this.toDERHex())}toDERHex(){return t8.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return a8(this.toCompactHex())}toCompactHex(){return q(this.r)+q(this.s)}}let N={isValidPrivateKey(S){try{return K(S),!0}catch(k){return!1}},normPrivateKeyToScalar:K,randomPrivateKey:()=>{let S=nJ(Q.n);return q5(Q.randomBytes(S),Q.n)},precompute(S=8,k=V.BASE){return k._setWindowSize(S),k.multiply(BigInt(3)),k}};function x(S,k=!0){return V.fromPrivateKey(S).toRawBytes(k)}function P(S){let k=S instanceof Uint8Array,m=typeof S==="string",n=(k||m)&&S.length;if(k)return n===J||n===Z;if(m)return n===2*J||n===2*Z;if(S instanceof V)return!0;return!1}function A(S,k,m=!0){if(P(S))throw new Error("first arg must be private key");if(!P(k))throw new Error("second arg must be public key");return V.fromHex(k).multiply(K(S)).toRawBytes(m)}let j=Q.bits2int||function(S){let k=t0(S),m=S.length*8-Q.nBitLength;return m>0?k>>BigInt(m):k},_=Q.bits2int_modN||function(S){return z(j(S))},u=TY(Q.nBitLength);function h(S){if(typeof S!=="bigint")throw new Error("bigint expected");if(!(e0<=S&&S<u))throw new Error(`bigint expected < 2^${Q.nBitLength}`);return q8(S,Q.nByteLength)}function y(S,k,m=J$){if(["recovered","canonical"].some((v8)=>(v8 in m)))throw new Error("sign() legacy options not supported");let{hash:n,randomBytes:r}=Q,{lowS:X$,prehash:C$,extraEntropy:y$}=m;if(X$==null)X$=!0;if(S=$0("msgHash",S),C$)S=$0("prehashed msgHash",n(S));let n0=_(S),h8=K(k),qQ=[h(h8),h(n0)];if(y$!=null){let v8=y$===!0?r(Y.BYTES):y$;qQ.push($0("extraEntropy",v8))}let y8=_Q(...qQ),XX=n0;function qJ(v8){let RQ=j(v8);if(!M(RQ))return;let k9=W(RQ),v0=V.BASE.multiply(RQ).toAffine(),LQ=z(v0.x);if(LQ===e0)return;let JX=z(k9*z(XX+LQ*h8));if(JX===e0)return;let f9=(v0.x===LQ?0:2)|Number(v0.y&V0),b9=JX;if(X$&&U(JX))b9=I(JX),f9^=1;return new E(LQ,b9,f9)}return{seed:y8,k2sig:qJ}}let J$={lowS:Q.lowS,prehash:!1},W$={lowS:Q.lowS,prehash:!1};function A$(S,k,m=J$){let{seed:n,k2sig:r}=y(S,k,m),X$=Q;return uJ(X$.hash.outputLen,X$.nByteLength,X$.hmac)(n,r)}V.BASE._setWindowSize(8);function Y$(S,k,m,n=W$){let r=S;if(k=$0("msgHash",k),m=$0("publicKey",m),"strict"in n)throw new Error("options.strict was renamed to lowS");let{lowS:X$,prehash:C$}=n,y$=void 0,n0;try{if(typeof r==="string"||r instanceof Uint8Array)try{y$=E.fromDER(r)}catch(v0){if(!(v0 instanceof t8.Err))throw v0;y$=E.fromCompact(r)}else if(typeof r==="object"&&typeof r.r==="bigint"&&typeof r.s==="bigint"){let{r:v0,s:LQ}=r;y$=new E(v0,LQ)}else throw new Error("PARSE");n0=V.fromHex(m)}catch(v0){if(v0.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(X$&&y$.hasHighS())return!1;if(C$)k=Q.hash(k);let{r:h8,s:qQ}=y$,y8=_(k),XX=W(qQ),qJ=z(y8*XX),v8=z(h8*XX),RQ=V.BASE.multiplyAndAddUnsafe(n0,qJ,v8)?.toAffine();if(!RQ)return!1;return z(RQ.x)===h8}return{CURVE:Q,getPublicKey:x,getSharedSecret:A,sign:A$,verify:Y$,ProjectivePoint:V,Signature:E,utils:N}}class aJ extends CY{constructor($,Q){super();this.finished=!1,this.destroyed=!1,Q5($);let Y=EY(Q);if(this.iHash=$.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 X=this.blockLen,J=new Uint8Array(X);J.set(Y.length>X?$.create().update(Y).digest():Y);for(let Z=0;Z<J.length;Z++)J[Z]^=54;this.iHash.update(J),this.oHash=$.create();for(let Z=0;Z<J.length;Z++)J[Z]^=106;this.oHash.update(J),J.fill(0)}update($){return wQ(this),this.iHash.update($),this}digestInto($){wQ(this),vJ($,this.outputLen),this.finished=!0,this.iHash.digestInto($),this.oHash.update($),this.oHash.digestInto($),this.destroy()}digest(){let $=new Uint8Array(this.oHash.outputLen);return this.digestInto($),$}_cloneInto($){$||($=Object.create(Object.getPrototypeOf(this),{}));let{oHash:Q,iHash:Y,finished:X,destroyed:J,blockLen:Z,outputLen:G}=this;return $=$,$.finished=X,$.destroyed=J,$.blockLen=Z,$.outputLen=G,$.oHash=Q._cloneInto($.oHash),$.iHash=Y._cloneInto($.iHash),$}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}var rJ=($,Q,Y)=>new aJ($,Q).update(Y).digest();rJ.create=($,Q)=>new aJ($,Q);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function H4($){return{hash:$,hmac:(Q,...Y)=>rJ($,Q,J5(...Y)),randomBytes:G5}}function C5($,Q){let Y=(X)=>E5({...$,...H4(X)});return Object.freeze({...Y(Q),create:Y})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var S5=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),T5=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),I4=BigInt(1),tJ=BigInt(2),N5=($,Q)=>($+Q/tJ)/Q;function q4($){let Q=S5,Y=BigInt(3),X=BigInt(6),J=BigInt(11),Z=BigInt(22),G=BigInt(23),z=BigInt(44),W=BigInt(88),V=$*$*$%Q,K=V*V*$%Q,D=Q0(K,Y,Q)*K%Q,M=Q0(D,Y,Q)*K%Q,q=Q0(M,tJ,Q)*V%Q,U=Q0(q,J,Q)*q%Q,I=Q0(U,Z,Q)*U%Q,R=Q0(I,z,Q)*I%Q,E=Q0(R,W,Q)*R%Q,N=Q0(E,z,Q)*I%Q,x=Q0(N,Y,Q)*K%Q,P=Q0(x,G,Q)*U%Q,A=Q0(P,X,Q)*V%Q,j=Q0(A,tJ,Q);if(!eJ.eql(eJ.sqr(j),$))throw new Error("Cannot find square root");return j}var eJ=H5(S5,void 0,void 0,{sqrt:q4}),$8=C5({a:BigInt(0),b:BigInt(7),Fp:eJ,n:T5,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:($)=>{let Q=T5,Y=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),X=-I4*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),J=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),Z=Y,G=BigInt("0x100000000000000000000000000000000"),z=N5(Z*$,Q),W=N5(-X*$,Q),V=m$($-z*Y-W*J,Q),K=m$(-z*X-W*Z,Q),D=V>G,M=K>G;if(D)V=Q-V;if(M)K=Q-K;if(V>G||K>G)throw new Error("splitScalar: Endomorphism failed, k="+$);return{k1neg:D,k1:V,k2neg:M,k2:K}}}},W5),$D=BigInt(0);var QD=$8.ProjectivePoint;var F0="0x0000000000000000000000000000000000000000";var xQ="0x0000000000000000000000000000000000000000000000000000000000000000";var $Z=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),QZ=BigInt("1000000000000000000"),YZ=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),XZ=BigInt("0x8000000000000000000000000000000000000000000000000000000000000000")*BigInt(-1),JZ=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var ZZ="Ξ",NY=`\x19Ethereum Signed Message:
|
|
2
|
-
`;var B5=BigInt(0),A5=BigInt(1),P5=BigInt(2),F5=BigInt(27),j5=BigInt(28),xX=BigInt(35),kQ={};function w5($){return T$(z$($),32)}class V${#$;#Q;#Y;#X;get r(){return this.#$}set r($){O(l$($)===32,"invalid r","value",$),this.#$=L($)}get s(){return this.#Q}set s($){O(l$($)===32,"invalid s","value",$);let Q=L($);O(parseInt(Q.substring(0,3))<8,"non-canonical s","value",Q),this.#Q=Q}get v(){return this.#Y}set v($){let Q=w($,"value");O(Q===27||Q===28,"invalid v","v",$),this.#Y=Q}get networkV(){return this.#X}get legacyChainId(){let $=this.networkV;if($==null)return null;return V$.getChainId($)}get yParity(){return this.v===27?0:1}get yParityAndS(){let $=C(this.s);if(this.yParity)$[0]|=128;return L($)}get compactSerialized(){return b([this.r,this.yParityAndS])}get serialized(){return b([this.r,this.s,this.yParity?"0x1c":"0x1b"])}constructor($,Q,Y,X){w$($,kQ,"Signature"),this.#$=Q,this.#Q=Y,this.#Y=X,this.#X=null}[Symbol.for("nodejs.util.inspect.custom")](){return`Signature { r: "${this.r}", s: "${this.s}", yParity: ${this.yParity}, networkV: ${this.networkV} }`}clone(){let $=new V$(kQ,this.r,this.s,this.v);if(this.networkV)$.#X=this.networkV;return $}toJSON(){let $=this.networkV;return{_type:"signature",networkV:$!=null?$.toString():null,r:this.r,s:this.s,v:this.v}}static getChainId($){let Q=B($,"v");if(Q==F5||Q==j5)return B5;return O(Q>=xX,"invalid EIP-155 v","v",$),(Q-xX)/P5}static getChainIdV($,Q){return B($)*P5+BigInt(35+Q-27)}static getNormalizedV($){let Q=B($);if(Q===B5||Q===F5)return 27;if(Q===A5||Q===j5)return 28;return O(Q>=xX,"invalid v","v",$),Q&A5?27:28}static from($){function Q(W,V){O(W,V,"signature",$)}if($==null)return new V$(kQ,xQ,xQ,27);if(typeof $==="string"){let W=C($,"signature");if(W.length===64){let V=L(W.slice(0,32)),K=W.slice(32,64),D=K[0]&128?28:27;return K[0]&=127,new V$(kQ,V,L(K),D)}if(W.length===65){let V=L(W.slice(0,32)),K=W.slice(32,64);Q((K[0]&128)===0,"non-canonical s");let D=V$.getNormalizedV(W[64]);return new V$(kQ,V,L(K),D)}Q(!1,"invalid raw signature length")}if($ instanceof V$)return $.clone();let Y=$.r;Q(Y!=null,"missing r");let X=w5(Y),J=function(W,V){if(W!=null)return w5(W);if(V!=null){Q(c(V,32),"invalid yParityAndS");let K=C(V);return K[0]&=127,L(K)}Q(!1,"missing s")}($.s,$.yParityAndS);Q((C(J)[0]&128)==0,"non-canonical s");let{networkV:Z,v:G}=function(W,V,K){if(W!=null){let D=B(W);return{networkV:D>=xX?D:void 0,v:V$.getNormalizedV(D)}}if(V!=null)return Q(c(V,32),"invalid yParityAndS"),{v:C(V)[0]&128?28:27};if(K!=null){switch(w(K,"sig.yParity")){case 0:return{v:27};case 1:return{v:28}}Q(!1,"invalid yParity")}Q(!1,"missing v")}($.v,$.yParityAndS,$.yParity),z=new V$(kQ,X,J,G);if(Z)z.#X=Z;return Q($.yParity==null||w($.yParity,"sig.yParity")===z.yParity,"yParity mismatch"),Q($.yParityAndS==null||$.yParityAndS===z.yParityAndS,"yParityAndS mismatch"),z}}class q${#$;constructor($){O(l$($)===32,"invalid private key","privateKey","[REDACTED]"),this.#$=L($)}get privateKey(){return this.#$}get publicKey(){return q$.computePublicKey(this.#$)}get compressedPublicKey(){return q$.computePublicKey(this.#$,!0)}sign($){O(l$($)===32,"invalid digest length","digest",$);let Q=$8.sign(G$($),G$(this.#$),{lowS:!0});return V$.from({r:P$(Q.r,32),s:P$(Q.s,32),v:Q.recovery?28:27})}computeSharedSecret($){let Q=q$.computePublicKey($);return L($8.getSharedSecret(G$(this.#$),C(Q),!1))}static computePublicKey($,Q){let Y=C($,"key");if(Y.length===32){let J=$8.getPublicKey(Y,!!Q);return L(J)}if(Y.length===64){let J=new Uint8Array(65);J[0]=4,J.set(Y,1),Y=J}let X=$8.ProjectivePoint.fromHex(Y);return L(X.toRawBytes(Q))}static recoverPublicKey($,Q){O(l$($)===32,"invalid digest length","digest",$);let Y=V$.from(Q),X=$8.Signature.fromCompact(G$(b([Y.r,Y.s])));X=X.addRecoveryBit(Y.yParity);let J=X.recoverPublicKey(G$($));return O(J!=null,"invalid signautre for digest","signature",Q),"0x"+J.toHex(!1)}static addPoints($,Q,Y){let X=$8.ProjectivePoint.fromHex(q$.computePublicKey($).substring(2)),J=$8.ProjectivePoint.fromHex(q$.computePublicKey(Q).substring(2));return"0x"+X.add(J).toHex(!!Y)}}function _5(){N0.lock(),g.lock(),d$.lock(),g$.lock(),S0.lock(),B0.lock(),A0.lock(),I$.lock(),o8.lock(),g$.lock()}var R4=BigInt(0),L4=BigInt(36);function x5($){$=$.toLowerCase();let Q=$.substring(2).split(""),Y=new Uint8Array(40);for(let J=0;J<40;J++)Y[J]=Q[J].charCodeAt(0);let X=C(g(Y));for(let J=0;J<40;J+=2){if(X[J>>1]>>4>=8)Q[J]=Q[J].toUpperCase();if((X[J>>1]&15)>=8)Q[J+1]=Q[J+1].toUpperCase()}return"0x"+Q.join("")}var GZ={};for(let $=0;$<10;$++)GZ[String($)]=String($);for(let $=0;$<26;$++)GZ[String.fromCharCode(65+$)]=String(10+$);var k5=15;function f5($){$=$.toUpperCase(),$=$.substring(4)+$.substring(0,2)+"00";let Q=$.split("").map((X)=>{return GZ[X]}).join("");while(Q.length>=k5){let X=Q.substring(0,k5);Q=parseInt(X,10)%97+Q.substring(X.length)}let Y=String(98-parseInt(Q,10)%97);while(Y.length<2)Y="0"+Y;return Y}var E4=function(){let $={};for(let Q=0;Q<36;Q++){let Y="0123456789abcdefghijklmnopqrstuvwxyz"[Q];$[Y]=BigInt(Q)}return $}();function C4($){$=$.toLowerCase();let Q=R4;for(let Y=0;Y<$.length;Y++)Q=Q*L4+E4[$[Y]];return Q}function f($){if(O(typeof $==="string","invalid address","address",$),$.match(/^(0x)?[0-9a-fA-F]{40}$/)){if(!$.startsWith("0x"))$="0x"+$;let Q=x5($);return O(!$.match(/([A-F].*[a-f])|([a-f].*[A-F])/)||Q===$,"bad address checksum","address",$),Q}if($.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){O($.substring(2,4)===f5($),"bad icap checksum","address",$);let Q=C4($.substring(4)).toString(16);while(Q.length<40)Q="0"+Q;return x5("0x"+Q)}O(!1,"invalid address","address",$)}function zZ($){let Q=BigInt(f($)).toString(36).toUpperCase();while(Q.length<30)Q="0"+Q;return"XE"+f5("XE00"+Q)+Q}function e8($){let Q=f($.from),X=B($.nonce,"tx.nonce").toString(16);if(X==="0")X="0x";else if(X.length%2)X="0x0"+X;else X="0x"+X;return f(o(g(W0([Q,X])),12))}function WZ($,Q,Y){let X=f($),J=C(Q,"salt"),Z=C(Y,"initCodeHash");return O(J.length===32,"salt must be 32 bytes","salt",Q),O(Z.length===32,"initCodeHash must be 32 bytes","initCodeHash",Y),f(o(g(b(["0xff",X,J,Z])),12))}function fQ($){return $&&typeof $.getAddress==="function"}function KZ($){try{return f($),!0}catch(Q){}return!1}async function VZ($,Q){let Y=await Q;if(Y==null||Y==="0x0000000000000000000000000000000000000000")H(typeof $!=="string","unconfigured name","UNCONFIGURED_NAME",{value:$}),O(!1,"invalid AddressLike value; did not resolve to a value address","target",$);return f(Y)}function K$($,Q){if(typeof $==="string"){if($.match(/^0x[0-9a-f]{40}$/i))return f($);return H(Q!=null,"ENS resolution requires a provider","UNSUPPORTED_OPERATION",{operation:"resolveName"}),VZ($,Q.resolveName($))}else if(fQ($))return VZ($,$.getAddress());else if($&&typeof $.then==="function")return VZ($,$);O(!1,"unsupported addressable value","target",$)}var j0={};function F($,Q){let Y=!1;if(Q<0)Y=!0,Q*=-1;return new p(j0,`${Y?"":"u"}int${Q}`,$,{signed:Y,width:Q})}function a($,Q){return new p(j0,`bytes${Q?Q:""}`,$,{size:Q})}var b5=Symbol.for("_ethers_typed");class p{type;value;#$;_typedSymbol;constructor($,Q,Y,X){if(X==null)X=null;w$(j0,$,"Typed"),T(this,{_typedSymbol:b5,type:Q,value:Y}),this.#$=X,this.format()}format(){if(this.type==="array")throw new Error("");else if(this.type==="dynamicArray")throw new Error("");else if(this.type==="tuple")return`tuple(${this.value.map(($)=>$.format()).join(",")})`;return 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 this.#$}get arrayLength(){if(this.type!=="array")throw TypeError("not an array");if(this.#$===!0)return-1;if(this.#$===!1)return this.value.length;return null}static from($,Q){return new p(j0,$,Q)}static uint8($){return F($,8)}static uint16($){return F($,16)}static uint24($){return F($,24)}static uint32($){return F($,32)}static uint40($){return F($,40)}static uint48($){return F($,48)}static uint56($){return F($,56)}static uint64($){return F($,64)}static uint72($){return F($,72)}static uint80($){return F($,80)}static uint88($){return F($,88)}static uint96($){return F($,96)}static uint104($){return F($,104)}static uint112($){return F($,112)}static uint120($){return F($,120)}static uint128($){return F($,128)}static uint136($){return F($,136)}static uint144($){return F($,144)}static uint152($){return F($,152)}static uint160($){return F($,160)}static uint168($){return F($,168)}static uint176($){return F($,176)}static uint184($){return F($,184)}static uint192($){return F($,192)}static uint200($){return F($,200)}static uint208($){return F($,208)}static uint216($){return F($,216)}static uint224($){return F($,224)}static uint232($){return F($,232)}static uint240($){return F($,240)}static uint248($){return F($,248)}static uint256($){return F($,256)}static uint($){return F($,256)}static int8($){return F($,-8)}static int16($){return F($,-16)}static int24($){return F($,-24)}static int32($){return F($,-32)}static int40($){return F($,-40)}static int48($){return F($,-48)}static int56($){return F($,-56)}static int64($){return F($,-64)}static int72($){return F($,-72)}static int80($){return F($,-80)}static int88($){return F($,-88)}static int96($){return F($,-96)}static int104($){return F($,-104)}static int112($){return F($,-112)}static int120($){return F($,-120)}static int128($){return F($,-128)}static int136($){return F($,-136)}static int144($){return F($,-144)}static int152($){return F($,-152)}static int160($){return F($,-160)}static int168($){return F($,-168)}static int176($){return F($,-176)}static int184($){return F($,-184)}static int192($){return F($,-192)}static int200($){return F($,-200)}static int208($){return F($,-208)}static int216($){return F($,-216)}static int224($){return F($,-224)}static int232($){return F($,-232)}static int240($){return F($,-240)}static int248($){return F($,-248)}static int256($){return F($,-256)}static int($){return F($,-256)}static bytes1($){return a($,1)}static bytes2($){return a($,2)}static bytes3($){return a($,3)}static bytes4($){return a($,4)}static bytes5($){return a($,5)}static bytes6($){return a($,6)}static bytes7($){return a($,7)}static bytes8($){return a($,8)}static bytes9($){return a($,9)}static bytes10($){return a($,10)}static bytes11($){return a($,11)}static bytes12($){return a($,12)}static bytes13($){return a($,13)}static bytes14($){return a($,14)}static bytes15($){return a($,15)}static bytes16($){return a($,16)}static bytes17($){return a($,17)}static bytes18($){return a($,18)}static bytes19($){return a($,19)}static bytes20($){return a($,20)}static bytes21($){return a($,21)}static bytes22($){return a($,22)}static bytes23($){return a($,23)}static bytes24($){return a($,24)}static bytes25($){return a($,25)}static bytes26($){return a($,26)}static bytes27($){return a($,27)}static bytes28($){return a($,28)}static bytes29($){return a($,29)}static bytes30($){return a($,30)}static bytes31($){return a($,31)}static bytes32($){return a($,32)}static address($){return new p(j0,"address",$)}static bool($){return new p(j0,"bool",!!$)}static bytes($){return new p(j0,"bytes",$)}static string($){return new p(j0,"string",$)}static array($,Q){throw new Error("not implemented yet")}static tuple($,Q){throw new Error("not implemented yet")}static overrides($){return new p(j0,"overrides",Object.assign({},$))}static isTyped($){return $&&typeof $==="object"&&"_typedSymbol"in $&&$._typedSymbol===b5}static dereference($,Q){if(p.isTyped($)){if($.type!==Q)throw new Error(`invalid type: expecetd ${Q}, got ${$.type}`);return $.value}return $}}class OZ extends N${constructor($){super("address","address",$,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode($,Q){let Y=p.dereference(Q,"string");try{Y=f(Y)}catch(X){return this._throwError(X.message,Q)}return $.writeValue(Y)}decode($){return f(P$($.readValue(),20))}}class DZ extends N${coder;constructor($){super($.name,$.type,"_",$.dynamic);this.coder=$}defaultValue(){return this.coder.defaultValue()}encode($,Q){return this.coder.encode($,Q)}decode($){return this.coder.decode($)}}function MZ($,Q,Y){let X=[];if(Array.isArray(Y))X=Y;else if(Y&&typeof Y==="object"){let W={};X=Q.map((V)=>{let K=V.localName;return H(K,"cannot encode object for signature with missing names","INVALID_ARGUMENT",{argument:"values",info:{coder:V},value:Y}),H(!W[K],"cannot encode object for signature with duplicate names","INVALID_ARGUMENT",{argument:"values",info:{coder:V},value:Y}),W[K]=!0,Y[K]})}else O(!1,"invalid tuple value","tuple",Y);O(Q.length===X.length,"types/value length mismatch","tuple",Y);let J=new AQ,Z=new AQ,G=[];Q.forEach((W,V)=>{let K=X[V];if(W.dynamic){let D=Z.length;W.encode(Z,K);let M=J.writeUpdatableValue();G.push((q)=>{M(q+D)})}else W.encode(J,K)}),G.forEach((W)=>{W(J.length)});let z=$.appendWriter(J);return z+=$.appendWriter(Z),z}function UZ($,Q){let Y=[],X=[],J=$.subReader(0);return Q.forEach((Z)=>{let G=null;if(Z.dynamic){let z=$.readIndex(),W=J.subReader(z);try{G=Z.decode(W)}catch(V){if(t(V,"BUFFER_OVERRUN"))throw V;G=V,G.baseType=Z.name,G.name=Z.localName,G.type=Z.type}}else try{G=Z.decode($)}catch(z){if(t(z,"BUFFER_OVERRUN"))throw z;G=z,G.baseType=Z.name,G.name=Z.localName,G.type=Z.type}if(G==null)throw new Error("investigate");Y.push(G),X.push(Z.localName||null)}),n$.fromItems(Y,X)}class HZ extends N${coder;length;constructor($,Q,Y){let X=$.type+"["+(Q>=0?Q:"")+"]",J=Q===-1||$.dynamic;super("array",X,Y,J);T(this,{coder:$,length:Q})}defaultValue(){let $=this.coder.defaultValue(),Q=[];for(let Y=0;Y<this.length;Y++)Q.push($);return Q}encode($,Q){let Y=p.dereference(Q,"array");if(!Array.isArray(Y))this._throwError("expected array value",Y);let X=this.length;if(X===-1)X=Y.length,$.writeValue(Y.length);g8(Y.length,X,"coder array"+(this.localName?" "+this.localName:""));let J=[];for(let Z=0;Z<Y.length;Z++)J.push(this.coder);return MZ($,J,Y)}decode($){let Q=this.length;if(Q===-1)Q=$.readIndex(),H(Q*_$<=$.dataLength,"insufficient data length","BUFFER_OVERRUN",{buffer:$.bytes,offset:Q*_$,length:$.dataLength});let Y=[];for(let X=0;X<Q;X++)Y.push(new DZ(this.coder));return UZ($,Y)}}class IZ extends N${constructor($){super("bool","bool",$,!1)}defaultValue(){return!1}encode($,Q){let Y=p.dereference(Q,"bool");return $.writeValue(Y?1:0)}decode($){return!!$.readValue()}}class kX extends N${constructor($,Q){super($,$,Q,!0)}defaultValue(){return"0x"}encode($,Q){Q=G$(Q);let Y=$.writeValue(Q.length);return Y+=$.writeBytes(Q),Y}decode($){return $.readBytes($.readIndex(),!0)}}class qZ extends kX{constructor($){super("bytes",$)}decode($){return L(super.decode($))}}class RZ extends N${size;constructor($,Q){let Y="bytes"+String($);super(Y,Y,Q,!1);T(this,{size:$},{size:"number"})}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+this.size*2)}encode($,Q){let Y=G$(p.dereference(Q,this.type));if(Y.length!==this.size)this._throwError("incorrect data length",Q);return $.writeBytes(Y)}decode($){return L($.readBytes(this.size))}}var T4=new Uint8Array([]);class LZ extends N${constructor($){super("null","",$,!1)}defaultValue(){return null}encode($,Q){if(Q!=null)this._throwError("not null",Q);return $.writeBytes(T4)}decode($){return $.readBytes(0),null}}var N4=BigInt(0),S4=BigInt(1),B4=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");class EZ extends N${size;signed;constructor($,Q,Y){let X=(Q?"int":"uint")+$*8;super(X,X,Y,!1);T(this,{size:$,signed:Q},{size:"number",signed:"boolean"})}defaultValue(){return 0}encode($,Q){let Y=B(p.dereference(Q,this.type)),X=t$(B4,_$*8);if(this.signed){let J=t$(X,this.size*8-1);if(Y>J||Y<-(J+S4))this._throwError("value out-of-bounds",Q);Y=a0(Y,8*_$)}else if(Y<N4||Y>t$(X,this.size*8))this._throwError("value out-of-bounds",Q);return $.writeValue(Y)}decode($){let Q=t$($.readValue(),this.size*8);if(this.signed)Q=s0(Q,this.size*8);return Q}}class CZ extends kX{constructor($){super("string",$)}defaultValue(){return""}encode($,Q){return super.encode($,e(p.dereference(Q,"string")))}decode($){return u$(super.decode($))}}class bQ extends N${coders;constructor($,Q){let Y=!1,X=[];$.forEach((Z)=>{if(Z.dynamic)Y=!0;X.push(Z.type)});let J="tuple("+X.join(",")+")";super("tuple",J,Q,Y);T(this,{coders:Object.freeze($.slice())})}defaultValue(){let $=[];this.coders.forEach((Y)=>{$.push(Y.defaultValue())});let Q=this.coders.reduce((Y,X)=>{let J=X.localName;if(J){if(!Y[J])Y[J]=0;Y[J]++}return Y},{});return this.coders.forEach((Y,X)=>{let J=Y.localName;if(!J||Q[J]!==1)return;if(J==="length")J="_length";if($[J]!=null)return;$[J]=$[X]}),Object.freeze($)}encode($,Q){let Y=p.dereference(Q,"tuple");return MZ($,this.coders,Y)}decode($){return UZ($,this.coders)}}function x$($){return g(e($))}var A4="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",h5=new Map([[8217,"apostrophe"],[8260,"fraction slash"],[12539,"middle dot"]]),y5=4;function P4($){let Q=0;function Y(){return $[Q++]<<8|$[Q++]}let X=Y(),J=1,Z=[0,1];for(let A=1;A<X;A++)Z.push(J+=Y());let G=Y(),z=Q;Q+=G;let W=0,V=0;function K(){if(W==0)V=V<<8|$[Q++],W=8;return V>>--W&1}let D=31,M=2**D,q=M>>>1,U=q>>1,I=M-1,R=0;for(let A=0;A<D;A++)R=R<<1|K();let E=[],N=0,x=M;while(!0){let A=Math.floor(((R-N+1)*J-1)/x),j=0,_=X;while(_-j>1){let y=j+_>>>1;if(A<Z[y])_=y;else j=y}if(j==0)break;E.push(j);let u=N+Math.floor(x*Z[j]/J),h=N+Math.floor(x*Z[j+1]/J)-1;while(((u^h)&q)==0)R=R<<1&I|K(),u=u<<1&I,h=h<<1&I|1;while(u&~h&U)R=R&q|R<<1&I>>>1|K(),u=u<<1^q,h=(h^q)<<1|q|1;N=u,x=1+h-u}let P=X-4;return E.map((A)=>{switch(A-P){case 3:return P+65792+($[z++]<<16|$[z++]<<8|$[z++]);case 2:return P+256+($[z++]<<8|$[z++]);case 1:return P+$[z++];default:return A-1}})}function F4($){let Q=0;return()=>$[Q++]}function c5($){return F4(P4(j4($)))}function j4($){let Q=[];[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"].forEach((J,Z)=>Q[J.charCodeAt(0)]=Z);let Y=$.length,X=new Uint8Array(6*Y>>3);for(let J=0,Z=0,G=0,z=0;J<Y;J++)if(z=z<<6|Q[$.charCodeAt(J)],G+=6,G>=8)X[Z++]=z>>(G-=8);return X}function w4($){return $&1?~$>>1:$>>1}function _4($,Q){let Y=Array($);for(let X=0,J=0;X<$;X++)Y[X]=J+=w4(Q());return Y}function AY($,Q=0){let Y=[];while(!0){let X=$(),J=$();if(!J)break;Q+=X;for(let Z=0;Z<J;Z++)Y.push(Q+Z);Q+=J+1}return Y}function u5($){return PY(()=>{let Q=AY($);if(Q.length)return Q})}function d5($){let Q=[];while(!0){let Y=$();if(Y==0)break;Q.push(x4(Y,$))}while(!0){let Y=$()-1;if(Y<0)break;Q.push(k4(Y,$))}return Q.flat()}function PY($){let Q=[];while(!0){let Y=$(Q.length);if(!Y)break;Q.push(Y)}return Q}function p5($,Q,Y){let X=Array($).fill().map(()=>[]);for(let J=0;J<Q;J++)_4($,Y).forEach((Z,G)=>X[G].push(Z));return X}function x4($,Q){let Y=1+Q(),X=Q(),J=PY(Q);return p5(J.length,1+$,Q).flatMap((G,z)=>{let[W,...V]=G;return Array(J[z]).fill().map((K,D)=>{let M=D*X;return[W+D*Y,V.map((q)=>q+M)]})})}function k4($,Q){let Y=1+Q();return p5(Y,1+$,Q).map((J)=>[J[0],J.slice(1)])}function f4($){let Q=[],Y=AY($);return J(X([]),[]),Q;function X(Z){let G=$(),z=PY(()=>{let W=AY($).map((V)=>Y[V]);if(W.length)return X(W)});return{S:G,B:z,Q:Z}}function J({S:Z,B:G},z,W){if(Z&4&&W===z[z.length-1])return;if(Z&2)W=z[z.length-1];if(Z&1)Q.push(z);for(let V of G)for(let K of V.Q)J(V,[...z,K],W)}}function b4($){return $.toString(16).toUpperCase().padStart(2,"0")}function l5($){return`{${b4($)}}`}function h4($){let Q=[];for(let Y=0,X=$.length;Y<X;){let J=$.codePointAt(Y);Y+=J<65536?1:2,Q.push(J)}return Q}function vQ($){let Y=$.length;if(Y<4096)return String.fromCodePoint(...$);let X=[];for(let J=0;J<Y;)X.push(String.fromCodePoint(...$.slice(J,J+=4096)));return X.join("")}function y4($,Q){let Y=$.length,X=Y-Q.length;for(let J=0;X==0&&J<Y;J++)X=$[J]-Q[J];return X}var v4="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",FY=44032,bX=4352,hX=4449,yX=4519,i5=19,n5=21,gQ=28,vX=n5*gQ,g4=i5*vX,m4=FY+g4,c4=bX+i5,u4=hX+n5,d4=yX+gQ;function SY($){return $>>24&255}function o5($){return $&16777215}var NZ,v5,SZ,fX;function p4(){let $=c5(v4);NZ=new Map(u5($).flatMap((Q,Y)=>Q.map((X)=>[X,Y+1<<24]))),v5=new Set(AY($)),SZ=new Map,fX=new Map;for(let[Q,Y]of d5($)){if(!v5.has(Q)&&Y.length==2){let[X,J]=Y,Z=fX.get(X);if(!Z)Z=new Map,fX.set(X,Z);Z.set(J,Q)}SZ.set(Q,Y.reverse())}}function s5($){return $>=FY&&$<m4}function l4($,Q){if($>=bX&&$<c4&&Q>=hX&&Q<u4)return FY+($-bX)*vX+(Q-hX)*gQ;else if(s5($)&&Q>yX&&Q<d4&&($-FY)%gQ==0)return $+(Q-yX);else{let Y=fX.get($);if(Y){if(Y=Y.get(Q),Y)return Y}return-1}}function a5($){if(!NZ)p4();let Q=[],Y=[],X=!1;function J(Z){let G=NZ.get(Z);if(G)X=!0,Z|=G;Q.push(Z)}for(let Z of $)while(!0){if(Z<128)Q.push(Z);else if(s5(Z)){let G=Z-FY,z=G/vX|0,W=G%vX/gQ|0,V=G%gQ;if(J(bX+z),J(hX+W),V>0)J(yX+V)}else{let G=SZ.get(Z);if(G)Y.push(...G);else J(Z)}if(!Y.length)break;Z=Y.pop()}if(X&&Q.length>1){let Z=SY(Q[0]);for(let G=1;G<Q.length;G++){let z=SY(Q[G]);if(z==0||Z<=z){Z=z;continue}let W=G-1;while(!0){let V=Q[W+1];if(Q[W+1]=Q[W],Q[W]=V,!W)break;if(Z=SY(Q[--W]),Z<=z)break}Z=SY(Q[G])}}return Q}function i4($){let Q=[],Y=[],X=-1,J=0;for(let Z of $){let G=SY(Z),z=o5(Z);if(X==-1)if(G==0)X=z;else Q.push(z);else if(J>0&&J>=G){if(G==0)Q.push(X,...Y),Y.length=0,X=z;else Y.push(z);J=G}else{let W=l4(X,z);if(W>=0)X=W;else if(J==0&&G==0)Q.push(X),X=z;else Y.push(z),J=G}}if(X>=0)Q.push(X,...Y);return Q}function r5($){return a5($).map(o5)}function n4($){return i4(a5($))}var g5=45;var t5=".",e5=65039,$z=1,gX=($)=>Array.from($);function jY($,Q){return $.P.has(Q)||$.Q.has(Q)}class Qz extends Array{get is_emoji(){return!0}}var BZ,Yz,QQ,AZ,Xz,o4,yQ,TZ,hQ,$Q,m5,PZ;function FZ(){if(BZ)return;let $=c5(A4),Q=()=>AY($),Y=()=>new Set(Q()),X=(K,D)=>D.forEach((M)=>K.add(M));BZ=new Map(d5($)),Yz=Y(),QQ=Q(),AZ=new Set(Q().map((K)=>QQ[K])),QQ=new Set(QQ),Xz=Y(),o4=Y();let J=u5($),Z=$(),G=()=>{let K=new Set;return Q().forEach((D)=>X(K,J[D])),X(K,Q()),K};yQ=PY((K)=>{let D=PY($).map((M)=>M+96);if(D.length){let M=K>=Z;if(D[0]-=32,D=vQ(D),M)D=`Restricted[${D}]`;let q=G(),U=G(),I=!$();return{N:D,P:q,Q:U,M:I,R:M}}}),TZ=Y(),hQ=new Map;let z=Q().concat(gX(TZ)).sort((K,D)=>K-D);z.forEach((K,D)=>{let M=$(),q=z[D]=M?z[D-M]:{V:[],M:new Map};if(q.V.push(K),!TZ.has(K))hQ.set(K,q)});for(let{V:K,M:D}of new Set(hQ.values())){let M=[];for(let U of K){let I=yQ.filter((E)=>jY(E,U)),R=M.find(({G:E})=>I.some((N)=>E.has(N)));if(!R)R={G:new Set,V:[]},M.push(R);R.V.push(U),X(R.G,I)}let q=M.flatMap((U)=>gX(U.G));for(let{G:U,V:I}of M){let R=new Set(q.filter((E)=>!U.has(E)));for(let E of I)D.set(E,R)}}$Q=new Set;let W=new Set,V=(K)=>$Q.has(K)?W.add(K):$Q.add(K);for(let K of yQ){for(let D of K.P)V(D);for(let D of K.Q)V(D)}for(let K of $Q)if(!hQ.has(K)&&!W.has(K))hQ.set(K,$z);X($Q,r5($Q)),m5=f4($).map((K)=>Qz.from(K)).sort(y4),PZ=new Map;for(let K of m5){let D=[PZ];for(let M of K){let q=D.map((U)=>{let I=U.get(M);if(!I)I=new Map,U.set(M,I);return I});if(M===e5)D.push(...q);else D=q}for(let M of D)M.V=K}}function jZ($){return(Jz($)?"":`${wZ(mX([$]))} `)+l5($)}function wZ($){return`"${$}"`}function s4($){if($.length>=4&&$[2]==g5&&$[3]==g5)throw new Error(`invalid label extension: "${vQ($.slice(0,4))}"`)}function a4($){for(let Y=$.lastIndexOf(95);Y>0;)if($[--Y]!==95)throw new Error("underscore allowed only at start")}function r4($){let Q=$[0],Y=h5.get(Q);if(Y)throw BY(`leading ${Y}`);let X=$.length,J=-1;for(let Z=1;Z<X;Z++){Q=$[Z];let G=h5.get(Q);if(G){if(J==Z)throw BY(`${Y} + ${G}`);J=Z+1,Y=G}}if(J==X)throw BY(`trailing ${Y}`)}function mX($,Q=1/0,Y=l5){let X=[];if(t4($[0]))X.push("◌");if($.length>Q)Q>>=1,$=[...$.slice(0,Q),8230,...$.slice(-Q)];let J=0,Z=$.length;for(let G=0;G<Z;G++){let z=$[G];if(Jz(z))X.push(vQ($.slice(J,G))),X.push(Y(z)),J=G+1}return X.push(vQ($.slice(J,Z))),X.join("")}function t4($){return FZ(),QQ.has($)}function Jz($){return FZ(),Xz.has($)}function Zz($){return YV(e4($,n4,ZV))}function e4($,Q,Y){if(!$)return[];FZ();let X=0;return $.split(t5).map((J)=>{let Z=h4(J),G={input:Z,offset:X};X+=Z.length+1;try{let z=G.tokens=JV(Z,Q,Y),W=z.length,V;if(!W)throw new Error("empty label");let K=G.output=z.flat();if(a4(K),!(G.emoji=W>1||z[0].is_emoji)&&K.every((M)=>M<128))s4(K),V="ASCII";else{let M=z.flatMap((q)=>q.is_emoji?[]:q);if(!M.length)V="Emoji";else{if(QQ.has(K[0]))throw BY("leading combining mark");for(let I=1;I<W;I++){let R=z[I];if(!R.is_emoji&&QQ.has(R[0]))throw BY(`emoji + combining mark: "${vQ(z[I-1])} + ${mX([R[0]])}"`)}r4(K);let q=gX(new Set(M)),[U]=QV(q);XV(U,M),$V(U,q),V=U.N}}G.type=V}catch(z){G.error=z}return G})}function $V($,Q){let Y,X=[];for(let J of Q){let Z=hQ.get(J);if(Z===$z)return;if(Z){let G=Z.M.get(J);if(Y=Y?Y.filter((z)=>G.has(z)):gX(G),!Y.length)return}else X.push(J)}if(Y){for(let J of Y)if(X.every((Z)=>jY(J,Z)))throw new Error(`whole-script confusable: ${$.N}/${J.N}`)}}function QV($){let Q=yQ;for(let Y of $){let X=Q.filter((J)=>jY(J,Y));if(!X.length)if(!yQ.some((J)=>jY(J,Y)))throw Gz(Y);else throw zz(Q[0],Y);if(Q=X,X.length==1)break}return Q}function YV($){return $.map(({input:Q,error:Y,output:X})=>{if(Y){let J=Y.message;throw new Error($.length==1?J:`Invalid label ${wZ(mX(Q,63))}: ${J}`)}return vQ(X)}).join(t5)}function Gz($){return new Error(`disallowed character: ${jZ($)}`)}function zz($,Q){let Y=jZ(Q),X=yQ.find((J)=>J.P.has(Q));if(X)Y=`${X.N} ${Y}`;return new Error(`illegal mixture: ${$.N} + ${Y}`)}function BY($){return new Error(`illegal placement: ${$}`)}function XV($,Q){for(let Y of Q)if(!jY($,Y))throw zz($,Y);if($.M){let Y=r5(Q);for(let X=1,J=Y.length;X<J;X++)if(AZ.has(Y[X])){let Z=X+1;for(let G;Z<J&&AZ.has(G=Y[Z]);Z++)for(let z=X;z<Z;z++)if(Y[z]==G)throw new Error(`duplicate non-spacing marks: ${jZ(G)}`);if(Z-X>y5)throw new Error(`excessive non-spacing marks: ${wZ(mX(Y.slice(X-1,Z)))} (${Z-X}/${y5})`);X=Z}}}function JV($,Q,Y){let X=[],J=[];$=$.slice().reverse();while($.length){let Z=GV($);if(Z){if(J.length)X.push(Q(J)),J=[];X.push(Y(Z))}else{let G=$.pop();if($Q.has(G))J.push(G);else{let z=BZ.get(G);if(z)J.push(...z);else if(!Yz.has(G))throw Gz(G)}}}if(J.length)X.push(Q(J));return X}function ZV($){return $.filter((Q)=>Q!=e5)}function GV($,Q){let Y=PZ,X,J=$.length;while(J){if(Y=Y.get($[--J]),!Y)break;let{V:Z}=Y;if(Z){if(X=Z,Q)Q.push(...$.slice(J).reverse());$.length=J}}return X}var Vz=new Uint8Array(32);Vz.fill(0);function Wz($){return O($.length!==0,"invalid ENS name; empty component","comp",$),$}function _Z($){let Q=e(cX($)),Y=[];if($.length===0)return Y;let X=0;for(let J=0;J<Q.length;J++)if(Q[J]===46)Y.push(Wz(Q.slice(X,J))),X=J+1;return O(X<Q.length,"invalid ENS name; empty component","name",$),Y.push(Wz(Q.slice(X))),Y}function cX($){try{if($.length===0)throw new Error("empty label");return Zz($)}catch(Q){O(!1,`invalid ENS name (${Q.message})`,"name",$)}}function xZ($){try{return _Z($).length!==0}catch(Q){}return!1}function L8($){O(typeof $==="string","invalid ENS name; not a string","name",$),O($.length,"invalid ENS name (empty label)","name",$);let Q=Vz,Y=_Z($);while(Y.length)Q=g(b([Q,g(Y.pop())]));return L(Q)}function wY($,Q){let Y=Q!=null?Q:63;return O(Y<=255,"DNS encoded label cannot exceed 255","length",Y),L(b(_Z($).map((X)=>{O(X.length<=Y,`label ${JSON.stringify($)} exceeds ${Y} bytes`,"name",$);let J=new Uint8Array(X.length+1);return J.set(X,1),J[0]=J.length-1,J})))+"00"}function kZ($,Q){return{address:f($),storageKeys:Q.map((Y,X)=>{return O(c(Y,32),"invalid slot",`storageKeys[${X}]`,Y),Y.toLowerCase()})}}function k$($){if(Array.isArray($))return $.map((Y,X)=>{if(Array.isArray(Y))return O(Y.length===2,"invalid slot set",`value[${X}]`,Y),kZ(Y[0],Y[1]);return O(Y!=null&&typeof Y==="object","invalid address-slot set","value",$),kZ(Y.address,Y.storageKeys)});O($!=null&&typeof $==="object","invalid access list","value",$);let Q=Object.keys($).map((Y)=>{let X=$[Y].reduce((J,Z)=>{return J[Z]=!0,J},{});return kZ(Y,Object.keys(X).sort())});return Q.sort((Y,X)=>Y.address.localeCompare(X.address)),Q}function w0($){let Q;if(typeof $==="string")Q=q$.computePublicKey($,!1);else Q=$.publicKey;return f(g("0x"+Q.substring(4)).substring(26))}function Q8($,Q){return w0(q$.recoverPublicKey($,Q))}var F$=BigInt(0),zV=BigInt(2),WV=BigInt(27),VV=BigInt(28),KV=BigInt(35),OV=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),fZ=131072;function Kz($,Q){let Y=$.toString(16);while(Y.length<2)Y="0"+Y;return Y+=I$(Q).substring(4),"0x"+Y}function uX($){if($==="0x")return null;return f($)}function bZ($,Q){try{return k$($)}catch(Y){O(!1,Y.message,Q,$)}}function _Y($,Q){if($==="0x")return 0;return w($,Q)}function R$($,Q){if($==="0x")return F$;let Y=B($,Q);return O(Y<=OV,"value exceeds uint size",Q,Y),Y}function O$($,Q){let Y=B($,"value"),X=z$(Y);return O(X.length<=32,"value too large",`tx.${Q}`,Y),X}function hZ($){return k$($).map((Q)=>[Q.address,Q.storageKeys])}function DV($,Q){O(Array.isArray($),`invalid ${Q}`,"value",$);for(let Y=0;Y<$.length;Y++)O(c($[Y],32),"invalid ${ param } hash",`value[${Y}]`,$[Y]);return $}function MV($){let Q=V8($);O(Array.isArray(Q)&&(Q.length===9||Q.length===6),"invalid field count for legacy transaction","data",$);let Y={type:0,nonce:_Y(Q[0],"nonce"),gasPrice:R$(Q[1],"gasPrice"),gasLimit:R$(Q[2],"gasLimit"),to:uX(Q[3]),value:R$(Q[4],"value"),data:L(Q[5]),chainId:F$};if(Q.length===6)return Y;let X=R$(Q[6],"v"),J=R$(Q[7],"r"),Z=R$(Q[8],"s");if(J===F$&&Z===F$)Y.chainId=X;else{let G=(X-KV)/zV;if(G<F$)G=F$;Y.chainId=G,O(G!==F$||(X===WV||X===VV),"non-canonical legacy v","v",Q[6]),Y.signature=V$.from({r:T$(Q[7],32),s:T$(Q[8],32),v:X})}return Y}function UV($,Q){let Y=[O$($.nonce,"nonce"),O$($.gasPrice||0,"gasPrice"),O$($.gasLimit,"gasLimit"),$.to||"0x",O$($.value,"value"),$.data],X=F$;if($.chainId!=F$)X=B($.chainId,"tx.chainId"),O(!Q||Q.networkV==null||Q.legacyChainId===X,"tx.chainId/sig.v mismatch","sig",Q);else if($.signature){let Z=$.signature.legacyChainId;if(Z!=null)X=Z}if(!Q){if(X!==F$)Y.push(z$(X)),Y.push("0x"),Y.push("0x");return W0(Y)}let J=BigInt(27+Q.yParity);if(X!==F$)J=V$.getChainIdV(X,Q.v);else if(BigInt(Q.v)!==J)O(!1,"tx.chainId/sig.v mismatch","sig",Q);return Y.push(z$(J)),Y.push(z$(Q.r)),Y.push(z$(Q.s)),W0(Y)}function yZ($,Q){let Y;try{if(Y=_Y(Q[0],"yParity"),Y!==0&&Y!==1)throw new Error("bad yParity")}catch(G){O(!1,"invalid yParity","yParity",Q[0])}let X=T$(Q[1],32),J=T$(Q[2],32),Z=V$.from({r:X,s:J,yParity:Y});$.signature=Z}function HV($){let Q=V8(C($).slice(1));O(Array.isArray(Q)&&(Q.length===9||Q.length===12),"invalid field count for transaction type: 2","data",L($));let Y={type:2,chainId:R$(Q[0],"chainId"),nonce:_Y(Q[1],"nonce"),maxPriorityFeePerGas:R$(Q[2],"maxPriorityFeePerGas"),maxFeePerGas:R$(Q[3],"maxFeePerGas"),gasPrice:null,gasLimit:R$(Q[4],"gasLimit"),to:uX(Q[5]),value:R$(Q[6],"value"),data:L(Q[7]),accessList:bZ(Q[8],"accessList")};if(Q.length===9)return Y;return yZ(Y,Q.slice(9)),Y}function IV($,Q){let Y=[O$($.chainId,"chainId"),O$($.nonce,"nonce"),O$($.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),O$($.maxFeePerGas||0,"maxFeePerGas"),O$($.gasLimit,"gasLimit"),$.to||"0x",O$($.value,"value"),$.data,hZ($.accessList||[])];if(Q)Y.push(O$(Q.yParity,"yParity")),Y.push(z$(Q.r)),Y.push(z$(Q.s));return b(["0x02",W0(Y)])}function qV($){let Q=V8(C($).slice(1));O(Array.isArray(Q)&&(Q.length===8||Q.length===11),"invalid field count for transaction type: 1","data",L($));let Y={type:1,chainId:R$(Q[0],"chainId"),nonce:_Y(Q[1],"nonce"),gasPrice:R$(Q[2],"gasPrice"),gasLimit:R$(Q[3],"gasLimit"),to:uX(Q[4]),value:R$(Q[5],"value"),data:L(Q[6]),accessList:bZ(Q[7],"accessList")};if(Q.length===8)return Y;return yZ(Y,Q.slice(8)),Y}function RV($,Q){let Y=[O$($.chainId,"chainId"),O$($.nonce,"nonce"),O$($.gasPrice||0,"gasPrice"),O$($.gasLimit,"gasLimit"),$.to||"0x",O$($.value,"value"),$.data,hZ($.accessList||[])];if(Q)Y.push(O$(Q.yParity,"recoveryParam")),Y.push(z$(Q.r)),Y.push(z$(Q.s));return b(["0x01",W0(Y)])}function LV($){let Q=V8(C($).slice(1)),Y="3",X=null;if(Q.length===4&&Array.isArray(Q[0])){Y="3 (network format)";let Z=Q[1],G=Q[2],z=Q[3];O(Array.isArray(Z),"invalid network format: blobs not an array","fields[1]",Z),O(Array.isArray(G),"invalid network format: commitments not an array","fields[2]",G),O(Array.isArray(z),"invalid network format: proofs not an array","fields[3]",z),O(Z.length===G.length,"invalid network format: blobs/commitments length mismatch","fields",Q),O(Z.length===z.length,"invalid network format: blobs/proofs length mismatch","fields",Q),X=[];for(let W=0;W<Q[1].length;W++)X.push({data:Z[W],commitment:G[W],proof:z[W]});Q=Q[0]}O(Array.isArray(Q)&&(Q.length===11||Q.length===14),`invalid field count for transaction type: ${Y}`,"data",L($));let J={type:3,chainId:R$(Q[0],"chainId"),nonce:_Y(Q[1],"nonce"),maxPriorityFeePerGas:R$(Q[2],"maxPriorityFeePerGas"),maxFeePerGas:R$(Q[3],"maxFeePerGas"),gasPrice:null,gasLimit:R$(Q[4],"gasLimit"),to:uX(Q[5]),value:R$(Q[6],"value"),data:L(Q[7]),accessList:bZ(Q[8],"accessList"),maxFeePerBlobGas:R$(Q[9],"maxFeePerBlobGas"),blobVersionedHashes:Q[10]};if(X)J.blobs=X;O(J.to!=null,`invalid address for transaction type: ${Y}`,"data",$),O(Array.isArray(J.blobVersionedHashes),"invalid blobVersionedHashes: must be an array","data",$);for(let Z=0;Z<J.blobVersionedHashes.length;Z++)O(c(J.blobVersionedHashes[Z],32),`invalid blobVersionedHash at index ${Z}: must be length 32`,"data",$);if(Q.length===11)return J;return yZ(J,Q.slice(11)),J}function EV($,Q,Y){let X=[O$($.chainId,"chainId"),O$($.nonce,"nonce"),O$($.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),O$($.maxFeePerGas||0,"maxFeePerGas"),O$($.gasLimit,"gasLimit"),$.to||F0,O$($.value,"value"),$.data,hZ($.accessList||[]),O$($.maxFeePerBlobGas||0,"maxFeePerBlobGas"),DV($.blobVersionedHashes||[],"blobVersionedHashes")];if(Q){if(X.push(O$(Q.yParity,"yParity")),X.push(z$(Q.r)),X.push(z$(Q.s)),Y)return b(["0x03",W0([X,Y.map((J)=>J.data),Y.map((J)=>J.commitment),Y.map((J)=>J.proof)])])}return b(["0x03",W0(X)])}class B${#$;#Q;#Y;#X;#J;#G;#Z;#z;#O;#V;#U;#H;#W;#K;#D;#M;get type(){return this.#$}set type($){switch($){case null:this.#$=null;break;case 0:case"legacy":this.#$=0;break;case 1:case"berlin":case"eip-2930":this.#$=1;break;case 2:case"london":case"eip-1559":this.#$=2;break;case 3:case"cancun":case"eip-4844":this.#$=3;break;default:O(!1,"unsupported transaction type","type",$)}}get typeName(){switch(this.type){case 0:return"legacy";case 1:return"eip-2930";case 2:return"eip-1559";case 3:return"eip-4844"}return null}get to(){let $=this.#Q;if($==null&&this.type===3)return F0;return $}set to($){this.#Q=$==null?null:f($)}get nonce(){return this.#X}set nonce($){this.#X=w($,"value")}get gasLimit(){return this.#J}set gasLimit($){this.#J=B($)}get gasPrice(){let $=this.#G;if($==null&&(this.type===0||this.type===1))return F$;return $}set gasPrice($){this.#G=$==null?null:B($,"gasPrice")}get maxPriorityFeePerGas(){let $=this.#Z;if($==null){if(this.type===2||this.type===3)return F$;return null}return $}set maxPriorityFeePerGas($){this.#Z=$==null?null:B($,"maxPriorityFeePerGas")}get maxFeePerGas(){let $=this.#z;if($==null){if(this.type===2||this.type===3)return F$;return null}return $}set maxFeePerGas($){this.#z=$==null?null:B($,"maxFeePerGas")}get data(){return this.#Y}set data($){this.#Y=L($)}get value(){return this.#O}set value($){this.#O=B($,"value")}get chainId(){return this.#V}set chainId($){this.#V=B($)}get signature(){return this.#U||null}set signature($){this.#U=$==null?null:V$.from($)}get accessList(){let $=this.#H||null;if($==null){if(this.type===1||this.type===2||this.type===3)return[];return null}return $}set accessList($){this.#H=$==null?null:k$($)}get maxFeePerBlobGas(){let $=this.#W;if($==null&&this.type===3)return F$;return $}set maxFeePerBlobGas($){this.#W=$==null?null:B($,"maxFeePerBlobGas")}get blobVersionedHashes(){let $=this.#K;if($==null&&this.type===3)return[];return $}set blobVersionedHashes($){if($!=null){O(Array.isArray($),"blobVersionedHashes must be an Array","value",$),$=$.slice();for(let Q=0;Q<$.length;Q++)O(c($[Q],32),"invalid blobVersionedHash",`value[${Q}]`,$[Q])}this.#K=$}get blobs(){if(this.#M==null)return null;return this.#M.map(($)=>Object.assign({},$))}set blobs($){if($==null){this.#M=null;return}let Q=[],Y=[];for(let X=0;X<$.length;X++){let J=$[X];if(R0(J)){H(this.#D,"adding a raw blob requires a KZG library","UNSUPPORTED_OPERATION",{operation:"set blobs()"});let Z=C(J);if(O(Z.length<=fZ,"blob is too large",`blobs[${X}]`,J),Z.length!==fZ){let W=new Uint8Array(fZ);W.set(Z),Z=W}let G=this.#D.blobToKzgCommitment(Z),z=L(this.#D.computeBlobKzgProof(Z,G));Q.push({data:L(Z),commitment:L(G),proof:z}),Y.push(Kz(1,G))}else{let Z=L(J.commitment);Q.push({data:L(J.data),commitment:Z,proof:L(J.proof)}),Y.push(Kz(1,Z))}}this.#M=Q,this.#K=Y}get kzg(){return this.#D}set kzg($){this.#D=$}constructor(){this.#$=null,this.#Q=null,this.#X=0,this.#J=F$,this.#G=null,this.#Z=null,this.#z=null,this.#Y="0x",this.#O=F$,this.#V=F$,this.#U=null,this.#H=null,this.#W=null,this.#K=null,this.#M=null,this.#D=null}get hash(){if(this.signature==null)return null;return g(this.#I(!0,!1))}get unsignedHash(){return g(this.unsignedSerialized)}get from(){if(this.signature==null)return null;return Q8(this.unsignedHash,this.signature)}get fromPublicKey(){if(this.signature==null)return null;return q$.recoverPublicKey(this.unsignedHash,this.signature)}isSigned(){return this.signature!=null}#I($,Q){H(!$||this.signature!=null,"cannot serialize unsigned transaction; maybe you meant .unsignedSerialized","UNSUPPORTED_OPERATION",{operation:".serialized"});let Y=$?this.signature:null;switch(this.inferType()){case 0:return UV(this,Y);case 1:return RV(this,Y);case 2:return IV(this,Y);case 3:return EV(this,Y,Q?this.blobs:null)}H(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:".serialized"})}get serialized(){return this.#I(!0,!0)}get unsignedSerialized(){return this.#I(!1,!1)}inferType(){let $=this.inferTypes();if($.indexOf(2)>=0)return 2;return $.pop()}inferTypes(){let $=this.gasPrice!=null,Q=this.maxFeePerGas!=null||this.maxPriorityFeePerGas!=null,Y=this.accessList!=null,X=this.#W!=null||this.#K;if(this.maxFeePerGas!=null&&this.maxPriorityFeePerGas!=null)H(this.maxFeePerGas>=this.maxPriorityFeePerGas,"priorityFee cannot be more than maxFee","BAD_DATA",{value:this});H(!Q||this.type!==0&&this.type!==1,"transaction type cannot have maxFeePerGas or maxPriorityFeePerGas","BAD_DATA",{value:this}),H(this.type!==0||!Y,"legacy transaction cannot have accessList","BAD_DATA",{value:this});let J=[];if(this.type!=null)J.push(this.type);else if(Q)J.push(2);else if($){if(J.push(1),!Y)J.push(0)}else if(Y)J.push(1),J.push(2);else if(X&&this.to)J.push(3);else J.push(0),J.push(1),J.push(2),J.push(3);return J.sort(),J}isLegacy(){return this.type===0}isBerlin(){return this.type===1}isLondon(){return this.type===2}isCancun(){return this.type===3}clone(){return B$.from(this)}toJSON(){let $=(Q)=>{if(Q==null)return null;return Q.toString()};return{type:this.type,to:this.to,data:this.data,nonce:this.nonce,gasLimit:$(this.gasLimit),gasPrice:$(this.gasPrice),maxPriorityFeePerGas:$(this.maxPriorityFeePerGas),maxFeePerGas:$(this.maxFeePerGas),value:$(this.value),chainId:$(this.chainId),sig:this.signature?this.signature.toJSON():null,accessList:this.accessList}}static from($){if($==null)return new B$;if(typeof $==="string"){let Y=C($);if(Y[0]>=127)return B$.from(MV(Y));switch(Y[0]){case 1:return B$.from(qV(Y));case 2:return B$.from(HV(Y));case 3:return B$.from(LV(Y))}H(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:"from"})}let Q=new B$;if($.type!=null)Q.type=$.type;if($.to!=null)Q.to=$.to;if($.nonce!=null)Q.nonce=$.nonce;if($.gasLimit!=null)Q.gasLimit=$.gasLimit;if($.gasPrice!=null)Q.gasPrice=$.gasPrice;if($.maxPriorityFeePerGas!=null)Q.maxPriorityFeePerGas=$.maxPriorityFeePerGas;if($.maxFeePerGas!=null)Q.maxFeePerGas=$.maxFeePerGas;if($.maxFeePerBlobGas!=null)Q.maxFeePerBlobGas=$.maxFeePerBlobGas;if($.data!=null)Q.data=$.data;if($.value!=null)Q.value=$.value;if($.chainId!=null)Q.chainId=$.chainId;if($.signature!=null)Q.signature=V$.from($.signature);if($.accessList!=null)Q.accessList=$.accessList;if($.blobVersionedHashes!=null)Q.blobVersionedHashes=$.blobVersionedHashes;if($.kzg!=null)Q.kzg=$.kzg;if($.blobs!=null)Q.blobs=$.blobs;if($.hash!=null)O(Q.isSigned(),"unsigned transaction cannot define '.hash'","tx",$),O(Q.hash===$.hash,"hash mismatch","tx",$);if($.from!=null)O(Q.isSigned(),"unsigned transaction cannot define '.from'","tx",$),O(Q.from.toLowerCase()===($.from||"").toLowerCase(),"from mismatch","tx",$);return Q}}function mQ($){if(typeof $==="string")$=e($);return g(b([e(NY),e(String($.length)),$]))}function vZ($,Q){let Y=mQ($);return Q8(Y,Q)}var CV=new RegExp("^bytes([0-9]+)$"),TV=new RegExp("^(u?int)([0-9]*)$"),NV=new RegExp("^(.*)\\[([0-9]*)\\]$");function Oz($,Q,Y){switch($){case"address":if(Y)return C(T$(Q,32));return C(f(Q));case"string":return e(Q);case"bytes":return C(Q);case"bool":if(Q=Q?"0x01":"0x00",Y)return C(T$(Q,32));return C(Q)}let X=$.match(TV);if(X){let J=X[1]==="int",Z=parseInt(X[2]||"256");if(O((!X[2]||X[2]===String(Z))&&Z%8===0&&Z!==0&&Z<=256,"invalid number type","type",$),Y)Z=256;if(J)Q=a0(Q,Z);return C(T$(z$(Q),Z/8))}if(X=$.match(CV),X){let J=parseInt(X[1]);if(O(String(J)===X[1]&&J!==0&&J<=32,"invalid bytes type","type",$),O(l$(Q)===J,`invalid value for ${$}`,"value",Q),Y)return C(o0(Q,32));return Q}if(X=$.match(NV),X&&Array.isArray(Q)){let J=X[1],Z=parseInt(X[2]||String(Q.length));O(Z===Q.length,`invalid array length for ${$}`,"value",Q);let G=[];return Q.forEach(function(z){G.push(Oz(J,z,!0))}),C(b(G))}O(!1,"invalid type","type",$)}function xY($,Q){O($.length===Q.length,"wrong number of values; expected ${ types.length }","values",Q);let Y=[];return $.forEach(function(X,J){Y.push(Oz(X,Q[J]))}),L(b(Y))}function gZ($,Q){return g(xY($,Q))}function mZ($,Q){return I$(xY($,Q))}var Hz=new Uint8Array(32);Hz.fill(0);var SV=BigInt(-1),Iz=BigInt(0),qz=BigInt(1),BV=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function AV($){let Q=C($),Y=Q.length%32;if(Y)return b([Q,Hz.slice(Y)]);return L(Q)}var PV=P$(qz,32),FV=P$(Iz,32),Dz={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},cZ=["name","version","chainId","verifyingContract","salt"];function Mz($){return function(Q){return O(typeof Q==="string",`invalid domain value for ${JSON.stringify($)}`,`domain.${$}`,Q),Q}}var jV={name:Mz("name"),version:Mz("version"),chainId:function($){let Q=B($,"domain.chainId");if(O(Q>=0,"invalid chain ID","domain.chainId",$),Number.isSafeInteger(Q))return Number(Q);return i$(Q)},verifyingContract:function($){try{return f($).toLowerCase()}catch(Q){}O(!1,'invalid domain value "verifyingContract"',"domain.verifyingContract",$)},salt:function($){let Q=C($,"domain.salt");return O(Q.length===32,'invalid domain value "salt"',"domain.salt",$),L(Q)}};function uZ($){{let Q=$.match(/^(u?)int(\d+)$/);if(Q){let Y=Q[1]==="",X=parseInt(Q[2]);O(X%8===0&&X!==0&&X<=256&&Q[2]===String(X),"invalid numeric width","type",$);let J=t$(BV,Y?X-1:X),Z=Y?(J+qz)*SV:Iz;return function(G){let z=B(G,"value");return O(z>=Z&&z<=J,`value out-of-bounds for ${$}`,"value",z),P$(Y?a0(z,256):z,32)}}}{let Q=$.match(/^bytes(\d+)$/);if(Q){let Y=parseInt(Q[1]);return O(Y!==0&&Y<=32&&Q[1]===String(Y),"invalid bytes width","type",$),function(X){let J=C(X);return O(J.length===Y,`invalid length for ${$}`,"value",X),AV(X)}}}switch($){case"address":return function(Q){return T$(f(Q),32)};case"bool":return function(Q){return!Q?FV:PV};case"bytes":return function(Q){return g(Q)};case"string":return function(Q){return x$(Q)}}return null}function Uz($,Q){return`${$}(${Q.map(({name:Y,type:X})=>X+" "+Y).join(",")})`}function dX($){let Q=$.match(/^([^\x5b]*)((\x5b\d*\x5d)*)(\x5b(\d*)\x5d)$/);if(Q)return{base:Q[1],index:Q[2]+Q[4],array:{base:Q[1],prefix:Q[1]+Q[2],count:Q[5]?parseInt(Q[5]):-1}};return{base:$}}class L${primaryType;#$;get types(){return JSON.parse(this.#$)}#Q;#Y;constructor($){this.#Q=new Map,this.#Y=new Map;let Q=new Map,Y=new Map,X=new Map,J={};Object.keys($).forEach((z)=>{J[z]=$[z].map(({name:W,type:V})=>{let{base:K,index:D}=dX(V);if(K==="int"&&!$.int)K="int256";if(K==="uint"&&!$.uint)K="uint256";return{name:W,type:K+(D||"")}}),Q.set(z,new Set),Y.set(z,[]),X.set(z,new Set)}),this.#$=JSON.stringify(J);for(let z in J){let W=new Set;for(let V of J[z]){O(!W.has(V.name),`duplicate variable name ${JSON.stringify(V.name)} in ${JSON.stringify(z)}`,"types",$),W.add(V.name);let K=dX(V.type).base;if(O(K!==z,`circular type reference to ${JSON.stringify(K)}`,"types",$),uZ(K))continue;O(Y.has(K),`unknown type ${JSON.stringify(K)}`,"types",$),Y.get(K).push(z),Q.get(z).add(K)}}let Z=Array.from(Y.keys()).filter((z)=>Y.get(z).length===0);O(Z.length!==0,"missing primary type","types",$),O(Z.length===1,`ambiguous primary types or unused types: ${Z.map((z)=>JSON.stringify(z)).join(", ")}`,"types",$),T(this,{primaryType:Z[0]});function G(z,W){O(!W.has(z),`circular type reference to ${JSON.stringify(z)}`,"types",$),W.add(z);for(let V of Q.get(z)){if(!Y.has(V))continue;G(V,W);for(let K of W)X.get(K).add(V)}W.delete(z)}G(this.primaryType,new Set);for(let[z,W]of X){let V=Array.from(W);V.sort(),this.#Q.set(z,Uz(z,J[z])+V.map((K)=>Uz(K,J[K])).join(""))}}getEncoder($){let Q=this.#Y.get($);if(!Q)Q=this.#X($),this.#Y.set($,Q);return Q}#X($){{let X=uZ($);if(X)return X}let Q=dX($).array;if(Q){let X=Q.prefix,J=this.getEncoder(X);return(Z)=>{O(Q.count===-1||Q.count===Z.length,`array length mismatch; expected length ${Q.count}`,"value",Z);let G=Z.map(J);if(this.#Q.has(X))G=G.map(g);return g(b(G))}}let Y=this.types[$];if(Y){let X=x$(this.#Q.get($));return(J)=>{let Z=Y.map(({name:G,type:z})=>{let W=this.getEncoder(z)(J[G]);if(this.#Q.has(z))return g(W);return W});return Z.unshift(X),b(Z)}}O(!1,`unknown type: ${$}`,"type",$)}encodeType($){let Q=this.#Q.get($);return O(Q,`unknown type: ${JSON.stringify($)}`,"name",$),Q}encodeData($,Q){return this.getEncoder($)(Q)}hashStruct($,Q){return g(this.encodeData($,Q))}encode($){return this.encodeData(this.primaryType,$)}hash($){return this.hashStruct(this.primaryType,$)}_visit($,Q,Y){if(uZ($))return Y($,Q);let X=dX($).array;if(X)return O(X.count===-1||X.count===Q.length,`array length mismatch; expected length ${X.count}`,"value",Q),Q.map((Z)=>this._visit(X.prefix,Z,Y));let J=this.types[$];if(J)return J.reduce((Z,{name:G,type:z})=>{return Z[G]=this._visit(z,Q[G],Y),Z},{});O(!1,`unknown type: ${$}`,"type",$)}visit($,Q){return this._visit(this.primaryType,$,Q)}static from($){return new L$($)}static getPrimaryType($){return L$.from($).primaryType}static hashStruct($,Q,Y){return L$.from(Q).hashStruct($,Y)}static hashDomain($){let Q=[];for(let Y in $){if($[Y]==null)continue;let X=Dz[Y];O(X,`invalid typed-data domain key: ${JSON.stringify(Y)}`,"domain",$),Q.push({name:Y,type:X})}return Q.sort((Y,X)=>{return cZ.indexOf(Y.name)-cZ.indexOf(X.name)}),L$.hashStruct("EIP712Domain",{EIP712Domain:Q},$)}static encode($,Q,Y){return b(["0x1901",L$.hashDomain($),L$.from(Q).hash(Y)])}static hash($,Q,Y){return g(L$.encode($,Q,Y))}static async resolveNames($,Q,Y,X){$=Object.assign({},$);for(let G in $)if($[G]==null)delete $[G];let J={};if($.verifyingContract&&!c($.verifyingContract,20))J[$.verifyingContract]="0x";let Z=L$.from(Q);Z.visit(Y,(G,z)=>{if(G==="address"&&!c(z,20))J[z]="0x";return z});for(let G in J)J[G]=await X(G);if($.verifyingContract&&J[$.verifyingContract])$.verifyingContract=J[$.verifyingContract];return Y=Z.visit(Y,(G,z)=>{if(G==="address"&&J[z])return J[z];return z}),{domain:$,value:Y}}static getPayload($,Q,Y){L$.hashDomain($);let X={},J=[];cZ.forEach((z)=>{let W=$[z];if(W==null)return;X[z]=jV[z](W),J.push({name:z,type:Dz[z]})});let Z=L$.from(Q);Q=Z.types;let G=Object.assign({},Q);return O(G.EIP712Domain==null,"types must not contain EIP712Domain type","types.EIP712Domain",Q),G.EIP712Domain=J,Z.encode(Y),{types:G,domain:X,primaryType:Z.primaryType,message:Z.visit(Y,(z,W)=>{if(z.match(/^bytes(\d*)/))return L(C(W));if(z.match(/^u?int/))return B(W).toString();switch(z){case"address":return W.toLowerCase();case"bool":return!!W;case"string":return O(typeof W==="string","invalid string","value",W),W}O(!1,"unsupported type","type",z)})}}}function dZ($,Q,Y,X){return Q8(L$.hash($,Q,Y),X)}function p$($){let Q=new Set;return $.forEach((Y)=>Q.add(Y)),Object.freeze(Q)}var wV="external public payable override",_V=p$(wV.split(" ")),Pz="constant external internal payable private public pure view override",xV=p$(Pz.split(" ")),Fz="constructor error event fallback function receive struct",jz=p$(Fz.split(" ")),wz="calldata memory storage payable indexed",kV=p$(wz.split(" ")),fV="tuple returns",bV=[Fz,wz,fV,Pz].join(" "),hV=p$(bV.split(" ")),yV={"(":"OPEN_PAREN",")":"CLOSE_PAREN","[":"OPEN_BRACKET","]":"CLOSE_BRACKET",",":"COMMA","@":"AT"},vV=new RegExp("^(\\s*)"),gV=new RegExp("^([0-9]+)"),mV=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)"),_z=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)$"),xz=new RegExp("^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$");class O0{#$;#Q;get offset(){return this.#$}get length(){return this.#Q.length-this.#$}constructor($){this.#$=0,this.#Q=$.slice()}clone(){return new O0(this.#Q)}reset(){this.#$=0}#Y($=0,Q=0){return new O0(this.#Q.slice($,Q).map((Y)=>{return Object.freeze(Object.assign({},Y,{match:Y.match-$,linkBack:Y.linkBack-$,linkNext:Y.linkNext-$}))}))}popKeyword($){let Q=this.peek();if(Q.type!=="KEYWORD"||!$.has(Q.text))throw new Error(`expected keyword ${Q.text}`);return this.pop().text}popType($){if(this.peek().type!==$){let Q=this.peek();throw new Error(`expected ${$}; got ${Q.type} ${JSON.stringify(Q.text)}`)}return this.pop().text}popParen(){let $=this.peek();if($.type!=="OPEN_PAREN")throw new Error("bad start");let Q=this.#Y(this.#$+1,$.match+1);return this.#$=$.match+1,Q}popParams(){let $=this.peek();if($.type!=="OPEN_PAREN")throw new Error("bad start");let Q=[];while(this.#$<$.match-1){let Y=this.peek().linkNext;Q.push(this.#Y(this.#$+1,Y)),this.#$=Y}return this.#$=$.match+1,Q}peek(){if(this.#$>=this.#Q.length)throw new Error("out-of-bounds");return this.#Q[this.#$]}peekKeyword($){let Q=this.peekType("KEYWORD");return Q!=null&&$.has(Q)?Q:null}peekType($){if(this.length===0)return null;let Q=this.peek();return Q.type===$?Q.text:null}pop(){let $=this.peek();return this.#$++,$}toString(){let $=[];for(let Q=this.#$;Q<this.#Q.length;Q++){let Y=this.#Q[Q];$.push(`${Y.type}:${Y.text}`)}return`<TokenString ${$.join(" ")}>`}}function E8($){let Q=[],Y=(G)=>{let z=Z<$.length?JSON.stringify($[Z]):"$EOI";throw new Error(`invalid token ${z} at ${Z}: ${G}`)},X=[],J=[],Z=0;while(Z<$.length){let G=$.substring(Z),z=G.match(vV);if(z)Z+=z[1].length,G=$.substring(Z);let W={depth:X.length,linkBack:-1,linkNext:-1,match:-1,type:"",text:"",offset:Z,value:-1};Q.push(W);let V=yV[G[0]]||"";if(V){if(W.type=V,W.text=G[0],Z++,V==="OPEN_PAREN")X.push(Q.length-1),J.push(Q.length-1);else if(V=="CLOSE_PAREN"){if(X.length===0)Y("no matching open bracket");W.match=X.pop(),Q[W.match].match=Q.length-1,W.depth--,W.linkBack=J.pop(),Q[W.linkBack].linkNext=Q.length-1}else if(V==="COMMA")W.linkBack=J.pop(),Q[W.linkBack].linkNext=Q.length-1,J.push(Q.length-1);else if(V==="OPEN_BRACKET")W.type="BRACKET";else if(V==="CLOSE_BRACKET"){let K=Q.pop().text;if(Q.length>0&&Q[Q.length-1].type==="NUMBER"){let D=Q.pop().text;K=D+K,Q[Q.length-1].value=w(D)}if(Q.length===0||Q[Q.length-1].type!=="BRACKET")throw new Error("missing opening bracket");Q[Q.length-1].text+=K}continue}if(z=G.match(mV),z){if(W.text=z[1],Z+=W.text.length,hV.has(W.text)){W.type="KEYWORD";continue}if(W.text.match(xz)){W.type="TYPE";continue}W.type="ID";continue}if(z=G.match(gV),z){W.text=z[1],W.type="NUMBER",Z+=W.text.length;continue}throw new Error(`unexpected token ${JSON.stringify(G[0])} at position ${Z}`)}return new O0(Q.map((G)=>Object.freeze(G)))}function Rz($,Q){let Y=[];for(let X in Q.keys())if($.has(X))Y.push(X);if(Y.length>1)throw new Error(`conflicting types: ${Y.join(", ")}`)}function pX($,Q){if(Q.peekKeyword(jz)){let Y=Q.pop().text;if(Y!==$)throw new Error(`expected ${$}, got ${Y}`)}return Q.popType("ID")}function X8($,Q){let Y=new Set;while(!0){let X=$.peekType("KEYWORD");if(X==null||Q&&!Q.has(X))break;if($.pop(),Y.has(X))throw new Error(`duplicate keywords: ${JSON.stringify(X)}`);Y.add(X)}return Object.freeze(Y)}function kz($){let Q=X8($,xV);if(Rz(Q,p$("constant payable nonpayable".split(" "))),Rz(Q,p$("pure view payable nonpayable".split(" "))),Q.has("view"))return"view";if(Q.has("pure"))return"pure";if(Q.has("payable"))return"payable";if(Q.has("nonpayable"))return"nonpayable";if(Q.has("constant"))return"view";return"nonpayable"}function Y8($,Q){return $.popParams().map((Y)=>$$.from(Y,Q))}function fz($){if($.peekType("AT")){if($.pop(),$.peekType("NUMBER"))return B($.pop().text);throw new Error("invalid gas")}return null}function YQ($){if($.length)throw new Error(`unexpected tokens at offset ${$.offset}: ${$.toString()}`)}var cV=new RegExp(/^(.*)\[([0-9]*)\]$/);function Lz($){let Q=$.match(xz);if(O(Q,"invalid type","type",$),$==="uint")return"uint256";if($==="int")return"int256";if(Q[2]){let Y=parseInt(Q[2]);O(Y!==0&&Y<=32,"invalid bytes length","type",$)}else if(Q[3]){let Y=parseInt(Q[3]);O(Y!==0&&Y<=256&&Y%8===0,"invalid numeric width","type",$)}return $}var D$={},a$=Symbol.for("_ethers_internal"),Ez="_ParamTypeInternal",Cz="_ErrorInternal",Tz="_EventInternal",Nz="_ConstructorInternal",Sz="_FallbackInternal",Bz="_FunctionInternal",Az="_StructInternal";class $${name;type;baseType;indexed;components;arrayLength;arrayChildren;constructor($,Q,Y,X,J,Z,G,z){if(w$($,D$,"ParamType"),Object.defineProperty(this,a$,{value:Ez}),Z)Z=Object.freeze(Z.slice());if(X==="array"){if(G==null||z==null)throw new Error("")}else if(G!=null||z!=null)throw new Error("");if(X==="tuple"){if(Z==null)throw new Error("")}else if(Z!=null)throw new Error("");T(this,{name:Q,type:Y,baseType:X,indexed:J,components:Z,arrayLength:G,arrayChildren:z})}format($){if($==null)$="sighash";if($==="json"){let Y=this.name||"";if(this.isArray()){let J=JSON.parse(this.arrayChildren.format("json"));return J.name=Y,J.type+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`,JSON.stringify(J)}let X={type:this.baseType==="tuple"?"tuple":this.type,name:Y};if(typeof this.indexed==="boolean")X.indexed=this.indexed;if(this.isTuple())X.components=this.components.map((J)=>JSON.parse(J.format($)));return JSON.stringify(X)}let Q="";if(this.isArray())Q+=this.arrayChildren.format($),Q+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`;else if(this.isTuple())Q+="("+this.components.map((Y)=>Y.format($)).join($==="full"?", ":",")+")";else Q+=this.type;if($!=="sighash"){if(this.indexed===!0)Q+=" indexed";if($==="full"&&this.name)Q+=" "+this.name}return Q}isArray(){return this.baseType==="array"}isTuple(){return this.baseType==="tuple"}isIndexable(){return this.indexed!=null}walk($,Q){if(this.isArray()){if(!Array.isArray($))throw new Error("invalid array value");if(this.arrayLength!==-1&&$.length!==this.arrayLength)throw new Error("array is wrong length");let Y=this;return $.map((X)=>Y.arrayChildren.walk(X,Q))}if(this.isTuple()){if(!Array.isArray($))throw new Error("invalid tuple value");if($.length!==this.components.length)throw new Error("array is wrong length");let Y=this;return $.map((X,J)=>Y.components[J].walk(X,Q))}return Q(this.type,$)}#$($,Q,Y,X){if(this.isArray()){if(!Array.isArray(Q))throw new Error("invalid array value");if(this.arrayLength!==-1&&Q.length!==this.arrayLength)throw new Error("array is wrong length");let Z=this.arrayChildren,G=Q.slice();G.forEach((z,W)=>{Z.#$($,z,Y,(V)=>{G[W]=V})}),X(G);return}if(this.isTuple()){let Z=this.components,G;if(Array.isArray(Q))G=Q.slice();else{if(Q==null||typeof Q!=="object")throw new Error("invalid tuple value");G=Z.map((z)=>{if(!z.name)throw new Error("cannot use object value with unnamed components");if(!(z.name in Q))throw new Error(`missing value for component ${z.name}`);return Q[z.name]})}if(G.length!==this.components.length)throw new Error("array is wrong length");G.forEach((z,W)=>{Z[W].#$($,z,Y,(V)=>{G[W]=V})}),X(G);return}let J=Y(this.type,Q);if(J.then)$.push(async function(){X(await J)}());else X(J)}async walkAsync($,Q){let Y=[],X=[$];if(this.#$(Y,$,Q,(J)=>{X[0]=J}),Y.length)await Promise.all(Y);return X[0]}static from($,Q){if($$.isParamType($))return $;if(typeof $==="string")try{return $$.from(E8($),Q)}catch(G){O(!1,"invalid param type","obj",$)}else if($ instanceof O0){let G="",z="",W=null;if(X8($,p$(["tuple"])).has("tuple")||$.peekType("OPEN_PAREN"))z="tuple",W=$.popParams().map((U)=>$$.from(U)),G=`tuple(${W.map((U)=>U.format()).join(",")})`;else G=Lz($.popType("TYPE")),z=G;let V=null,K=null;while($.length&&$.peekType("BRACKET")){let U=$.pop();V=new $$(D$,"",G,z,null,W,K,V),K=U.value,G+=U.text,z="array",W=null}let D=null;if(X8($,kV).has("indexed")){if(!Q)throw new Error("");D=!0}let q=$.peekType("ID")?$.pop().text:"";if($.length)throw new Error("leftover tokens");return new $$(D$,q,G,z,D,W,K,V)}let Y=$.name;O(!Y||typeof Y==="string"&&Y.match(_z),"invalid name","obj.name",Y);let X=$.indexed;if(X!=null)O(Q,"parameter cannot be indexed","obj.indexed",$.indexed),X=!!X;let J=$.type,Z=J.match(cV);if(Z){let G=parseInt(Z[2]||"-1"),z=$$.from({type:Z[1],components:$.components});return new $$(D$,Y||"",J,"array",X,null,G,z)}if(J==="tuple"||J.startsWith("tuple(")||J.startsWith("(")){let G=$.components!=null?$.components.map((W)=>$$.from(W)):null;return new $$(D$,Y||"",J,"tuple",X,G,null,null)}return J=Lz($.type),new $$(D$,Y||"",J,J,X,null,null,null)}static isParamType($){return $&&$[a$]===Ez}}class _0{type;inputs;constructor($,Q,Y){w$($,D$,"Fragment"),Y=Object.freeze(Y.slice()),T(this,{type:Q,inputs:Y})}static from($){if(typeof $==="string"){try{_0.from(JSON.parse($))}catch(Q){}return _0.from(E8($))}if($ instanceof O0)switch($.peekKeyword(jz)){case"constructor":return Y0.from($);case"error":return j$.from($);case"event":return o$.from($);case"fallback":case"receive":return K0.from($);case"function":return s$.from($);case"struct":return m0.from($)}else if(typeof $==="object"){switch($.type){case"constructor":return Y0.from($);case"error":return j$.from($);case"event":return o$.from($);case"fallback":case"receive":return K0.from($);case"function":return s$.from($);case"struct":return m0.from($)}H(!1,`unsupported type: ${$.type}`,"UNSUPPORTED_OPERATION",{operation:"Fragment.from"})}O(!1,"unsupported frgament object","obj",$)}static isConstructor($){return Y0.isFragment($)}static isError($){return j$.isFragment($)}static isEvent($){return o$.isFragment($)}static isFunction($){return s$.isFragment($)}static isStruct($){return m0.isFragment($)}}class C8 extends _0{name;constructor($,Q,Y,X){super($,Q,X);O(typeof Y==="string"&&Y.match(_z),"invalid identifier","name",Y),X=Object.freeze(X.slice()),T(this,{name:Y})}}function kY($,Q){return"("+Q.map((Y)=>Y.format($)).join($==="full"?", ":",")+")"}class j$ extends C8{constructor($,Q,Y){super($,"error",Q,Y);Object.defineProperty(this,a$,{value:Cz})}get selector(){return x$(this.format("sighash")).substring(0,10)}format($){if($==null)$="sighash";if($==="json")return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map((Y)=>JSON.parse(Y.format($)))});let Q=[];if($!=="sighash")Q.push("error");return Q.push(this.name+kY($,this.inputs)),Q.join(" ")}static from($){if(j$.isFragment($))return $;if(typeof $==="string")return j$.from(E8($));else if($ instanceof O0){let Q=pX("error",$),Y=Y8($);return YQ($),new j$(D$,Q,Y)}return new j$(D$,$.name,$.inputs?$.inputs.map($$.from):[])}static isFragment($){return $&&$[a$]===Cz}}class o$ extends C8{anonymous;constructor($,Q,Y,X){super($,"event",Q,Y);Object.defineProperty(this,a$,{value:Tz}),T(this,{anonymous:X})}get topicHash(){return x$(this.format("sighash"))}format($){if($==null)$="sighash";if($==="json")return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map((Y)=>JSON.parse(Y.format($)))});let Q=[];if($!=="sighash")Q.push("event");if(Q.push(this.name+kY($,this.inputs)),$!=="sighash"&&this.anonymous)Q.push("anonymous");return Q.join(" ")}static getTopicHash($,Q){return Q=(Q||[]).map((X)=>$$.from(X)),new o$(D$,$,Q,!1).topicHash}static from($){if(o$.isFragment($))return $;if(typeof $==="string")try{return o$.from(E8($))}catch(Q){O(!1,"invalid event fragment","obj",$)}else if($ instanceof O0){let Q=pX("event",$),Y=Y8($,!0),X=!!X8($,p$(["anonymous"])).has("anonymous");return YQ($),new o$(D$,Q,Y,X)}return new o$(D$,$.name,$.inputs?$.inputs.map((Q)=>$$.from(Q,!0)):[],!!$.anonymous)}static isFragment($){return $&&$[a$]===Tz}}class Y0 extends _0{payable;gas;constructor($,Q,Y,X,J){super($,Q,Y);Object.defineProperty(this,a$,{value:Nz}),T(this,{payable:X,gas:J})}format($){if(H($!=null&&$!=="sighash","cannot format a constructor for sighash","UNSUPPORTED_OPERATION",{operation:"format(sighash)"}),$==="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((Y)=>JSON.parse(Y.format($)))});let Q=[`constructor${kY($,this.inputs)}`];if(this.payable)Q.push("payable");if(this.gas!=null)Q.push(`@${this.gas.toString()}`);return Q.join(" ")}static from($){if(Y0.isFragment($))return $;if(typeof $==="string")try{return Y0.from(E8($))}catch(Q){O(!1,"invalid constuctor fragment","obj",$)}else if($ instanceof O0){X8($,p$(["constructor"]));let Q=Y8($),Y=!!X8($,_V).has("payable"),X=fz($);return YQ($),new Y0(D$,"constructor",Q,Y,X)}return new Y0(D$,"constructor",$.inputs?$.inputs.map($$.from):[],!!$.payable,$.gas!=null?$.gas:null)}static isFragment($){return $&&$[a$]===Nz}}class K0 extends _0{payable;constructor($,Q,Y){super($,"fallback",Q);Object.defineProperty(this,a$,{value:Sz}),T(this,{payable:Y})}format($){let Q=this.inputs.length===0?"receive":"fallback";if($==="json"){let Y=this.payable?"payable":"nonpayable";return JSON.stringify({type:Q,stateMutability:Y})}return`${Q}()${this.payable?" payable":""}`}static from($){if(K0.isFragment($))return $;if(typeof $==="string")try{return K0.from(E8($))}catch(Q){O(!1,"invalid fallback fragment","obj",$)}else if($ instanceof O0){let Q=$.toString(),Y=$.peekKeyword(p$(["fallback","receive"]));if(O(Y,"type must be fallback or receive","obj",Q),$.popKeyword(p$(["fallback","receive"]))==="receive"){let G=Y8($);return O(G.length===0,"receive cannot have arguments","obj.inputs",G),X8($,p$(["payable"])),YQ($),new K0(D$,[],!0)}let J=Y8($);if(J.length)O(J.length===1&&J[0].type==="bytes","invalid fallback inputs","obj.inputs",J.map((G)=>G.format("minimal")).join(", "));else J=[$$.from("bytes")];let Z=kz($);if(O(Z==="nonpayable"||Z==="payable","fallback cannot be constants","obj.stateMutability",Z),X8($,p$(["returns"])).has("returns")){let G=Y8($);O(G.length===1&&G[0].type==="bytes","invalid fallback outputs","obj.outputs",G.map((z)=>z.format("minimal")).join(", "))}return YQ($),new K0(D$,J,Z==="payable")}if($.type==="receive")return new K0(D$,[],!0);if($.type==="fallback"){let Q=[$$.from("bytes")],Y=$.stateMutability==="payable";return new K0(D$,Q,Y)}O(!1,"invalid fallback description","obj",$)}static isFragment($){return $&&$[a$]===Sz}}class s$ extends C8{constant;outputs;stateMutability;payable;gas;constructor($,Q,Y,X,J,Z){super($,"function",Q,X);Object.defineProperty(this,a$,{value:Bz}),J=Object.freeze(J.slice()),T(this,{constant:Y==="view"||Y==="pure",gas:Z,outputs:J,payable:Y==="payable",stateMutability:Y})}get selector(){return x$(this.format("sighash")).substring(0,10)}format($){if($==null)$="sighash";if($==="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((Y)=>JSON.parse(Y.format($))),outputs:this.outputs.map((Y)=>JSON.parse(Y.format($)))});let Q=[];if($!=="sighash")Q.push("function");if(Q.push(this.name+kY($,this.inputs)),$!=="sighash"){if(this.stateMutability!=="nonpayable")Q.push(this.stateMutability);if(this.outputs&&this.outputs.length)Q.push("returns"),Q.push(kY($,this.outputs));if(this.gas!=null)Q.push(`@${this.gas.toString()}`)}return Q.join(" ")}static getSelector($,Q){return Q=(Q||[]).map((X)=>$$.from(X)),new s$(D$,$,"view",Q,[],null).selector}static from($){if(s$.isFragment($))return $;if(typeof $==="string")try{return s$.from(E8($))}catch(Y){O(!1,"invalid function fragment","obj",$)}else if($ instanceof O0){let Y=pX("function",$),X=Y8($),J=kz($),Z=[];if(X8($,p$(["returns"])).has("returns"))Z=Y8($);let G=fz($);return YQ($),new s$(D$,Y,J,X,Z,G)}let Q=$.stateMutability;if(Q==null){if(Q="payable",typeof $.constant==="boolean"){if(Q="view",!$.constant){if(Q="payable",typeof $.payable==="boolean"&&!$.payable)Q="nonpayable"}}else if(typeof $.payable==="boolean"&&!$.payable)Q="nonpayable"}return new s$(D$,$.name,Q,$.inputs?$.inputs.map($$.from):[],$.outputs?$.outputs.map($$.from):[],$.gas!=null?$.gas:null)}static isFragment($){return $&&$[a$]===Bz}}class m0 extends C8{constructor($,Q,Y){super($,"struct",Q,Y);Object.defineProperty(this,a$,{value:Az})}format(){throw new Error("@TODO")}static from($){if(typeof $==="string")try{return m0.from(E8($))}catch(Q){O(!1,"invalid struct fragment","obj",$)}else if($ instanceof O0){let Q=pX("struct",$),Y=Y8($);return YQ($),new m0(D$,Q,Y)}return new m0(D$,$.name,$.inputs?$.inputs.map($$.from):[])}static isFragment($){return $&&$[a$]===Az}}var x0=new Map;x0.set(0,"GENERIC_PANIC");x0.set(1,"ASSERT_FALSE");x0.set(17,"OVERFLOW");x0.set(18,"DIVIDE_BY_ZERO");x0.set(33,"ENUM_RANGE_ERROR");x0.set(34,"BAD_STORAGE_DATA");x0.set(49,"STACK_UNDERFLOW");x0.set(50,"ARRAY_RANGE_ERROR");x0.set(65,"OUT_OF_MEMORY");x0.set(81,"UNINITIALIZED_FUNCTION_CALL");var uV=new RegExp(/^bytes([0-9]*)$/),dV=new RegExp(/^(u?int)([0-9]*)$/),pZ=null,bz=1024;function pV($,Q,Y,X){let J="missing revert data",Z=null,G=null,z=null;if(Y){J="execution reverted";let V=C(Y);if(Y=L(Y),V.length===0)J+=" (no data present; likely require(false) occurred",Z="require(false)";else if(V.length%32!==4)J+=" (could not decode reason; invalid data length)";else if(L(V.slice(0,4))==="0x08c379a0")try{Z=X.decode(["string"],V.slice(4))[0],z={signature:"Error(string)",name:"Error",args:[Z]},J+=`: ${JSON.stringify(Z)}`}catch(K){J+=" (could not decode reason; invalid string data)"}else if(L(V.slice(0,4))==="0x4e487b71")try{let K=Number(X.decode(["uint256"],V.slice(4))[0]);z={signature:"Panic(uint256)",name:"Panic",args:[K]},Z=`Panic due to ${x0.get(K)||"UNKNOWN"}(${K})`,J+=`: ${Z}`}catch(K){J+=" (could not decode panic code)"}else J+=" (unknown custom error)"}let W={to:Q.to?f(Q.to):null,data:Q.data||"0x"};if(Q.from)W.from=f(Q.from);return l(J,"CALL_EXCEPTION",{action:$,data:Y,reason:Z,transaction:W,invocation:G,revert:z})}class X0{#$($){if($.isArray())return new HZ(this.#$($.arrayChildren),$.arrayLength,$.name);if($.isTuple())return new bQ($.components.map((Y)=>this.#$(Y)),$.name);switch($.baseType){case"address":return new OZ($.name);case"bool":return new IZ($.name);case"string":return new CZ($.name);case"bytes":return new qZ($.name);case"":return new LZ($.name)}let Q=$.type.match(dV);if(Q){let Y=parseInt(Q[2]||"256");return O(Y!==0&&Y<=256&&Y%8===0,"invalid "+Q[1]+" bit length","param",$),new EZ(Y/8,Q[1]==="int",$.name)}if(Q=$.type.match(uV),Q){let Y=parseInt(Q[1]);return O(Y!==0&&Y<=32,"invalid bytes length","param",$),new RZ(Y,$.name)}O(!1,"invalid type","type",$.type)}getDefaultValue($){let Q=$.map((X)=>this.#$($$.from(X)));return new bQ(Q,"_").defaultValue()}encode($,Q){g8(Q.length,$.length,"types/values length mismatch");let Y=$.map((Z)=>this.#$($$.from(Z))),X=new bQ(Y,"_"),J=new AQ;return X.encode(J,Q),J.data}decode($,Q,Y){let X=$.map((Z)=>this.#$($$.from(Z)));return new bQ(X,"_").decode(new IX(Q,Y,bz))}static _setDefaultMaxInflation($){O(typeof $==="number"&&Number.isInteger($),"invalid defaultMaxInflation factor","value",$),bz=$}static defaultAbiCoder(){if(pZ==null)pZ=new X0;return pZ}static getBuiltinCallException($,Q,Y){return pV($,Q,Y,X0.defaultAbiCoder())}}function lZ($){let Q=e($);if(Q.length>31)throw new Error("bytes32 string must be less than 32 bytes");return o0(Q,32)}function iZ($){let Q=C($,"bytes");if(Q.length!==32)throw new Error("invalid bytes32 - not 32 bytes long");if(Q[31]!==0)throw new Error("invalid bytes32 string - no null terminator");let Y=31;while(Q[Y-1]===0)Y--;return u$(Q.slice(0,Y))}class fY{fragment;name;signature;topic;args;constructor($,Q,Y){let X=$.name,J=$.format();T(this,{fragment:$,name:X,signature:J,topic:Q,args:Y})}}class bY{fragment;name;args;signature;selector;value;constructor($,Q,Y,X){let J=$.name,Z=$.format();T(this,{fragment:$,name:J,args:Y,signature:Z,selector:Q,value:X})}}class hY{fragment;name;args;signature;selector;constructor($,Q,Y){let X=$.name,J=$.format();T(this,{fragment:$,name:X,args:Y,signature:J,selector:Q})}}class cQ{hash;_isIndexed;static isIndexed($){return!!($&&$._isIndexed)}constructor($){T(this,{hash:$,_isIndexed:!0})}}var hz={"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"},yz={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:($)=>{return`reverted with reason string ${JSON.stringify($)}`}},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"],reason:($)=>{let Q="unknown panic code";if($>=0&&$<=255&&hz[$.toString()])Q=hz[$.toString()];return`reverted with panic code 0x${$.toString(16)} (${Q})`}}};class J0{fragments;deploy;fallback;receive;#$;#Q;#Y;#X;constructor($){let Q=[];if(typeof $==="string")Q=JSON.parse($);else Q=$;this.#Y=new Map,this.#$=new Map,this.#Q=new Map;let Y=[];for(let Z of Q)try{Y.push(_0.from(Z))}catch(G){console.log(`[Warning] Invalid Fragment ${JSON.stringify(Z)}:`,G.message)}T(this,{fragments:Object.freeze(Y)});let X=null,J=!1;if(this.#X=this.getAbiCoder(),this.fragments.forEach((Z,G)=>{let z;switch(Z.type){case"constructor":if(this.deploy){console.log("duplicate definition - constructor");return}T(this,{deploy:Z});return;case"fallback":if(Z.inputs.length===0)J=!0;else O(!X||Z.payable!==X.payable,"conflicting fallback fragments",`fragments[${G}]`,Z),X=Z,J=X.payable;return;case"function":z=this.#Y;break;case"event":z=this.#Q;break;case"error":z=this.#$;break;default:return}let W=Z.format();if(z.has(W))return;z.set(W,Z)}),!this.deploy)T(this,{deploy:Y0.from("constructor()")});T(this,{fallback:X,receive:J})}format($){let Q=$?"minimal":"full";return this.fragments.map((X)=>X.format(Q))}formatJson(){let $=this.fragments.map((Q)=>Q.format("json"));return JSON.stringify($.map((Q)=>JSON.parse(Q)))}getAbiCoder(){return X0.defaultAbiCoder()}#J($,Q,Y){if(c($)){let J=$.toLowerCase();for(let Z of this.#Y.values())if(J===Z.selector)return Z;return null}if($.indexOf("(")===-1){let J=[];for(let[Z,G]of this.#Y)if(Z.split("(")[0]===$)J.push(G);if(Q){let Z=Q.length>0?Q[Q.length-1]:null,G=Q.length,z=!0;if(p.isTyped(Z)&&Z.type==="overrides")z=!1,G--;for(let W=J.length-1;W>=0;W--){let V=J[W].inputs.length;if(V!==G&&(!z||V!==G-1))J.splice(W,1)}for(let W=J.length-1;W>=0;W--){let V=J[W].inputs;for(let K=0;K<Q.length;K++){if(!p.isTyped(Q[K]))continue;if(K>=V.length){if(Q[K].type==="overrides")continue;J.splice(W,1);break}if(Q[K].type!==V[K].baseType){J.splice(W,1);break}}}}if(J.length===1&&Q&&Q.length!==J[0].inputs.length){let Z=Q[Q.length-1];if(Z==null||Array.isArray(Z)||typeof Z!=="object")J.splice(0,1)}if(J.length===0)return null;if(J.length>1&&Y){let Z=J.map((G)=>JSON.stringify(G.format())).join(", ");O(!1,`ambiguous function description (i.e. matches ${Z})`,"key",$)}return J[0]}let X=this.#Y.get(s$.from($).format());if(X)return X;return null}getFunctionName($){let Q=this.#J($,null,!1);return O(Q,"no matching function","key",$),Q.name}hasFunction($){return!!this.#J($,null,!1)}getFunction($,Q){return this.#J($,Q||null,!0)}forEachFunction($){let Q=Array.from(this.#Y.keys());Q.sort((Y,X)=>Y.localeCompare(X));for(let Y=0;Y<Q.length;Y++){let X=Q[Y];$(this.#Y.get(X),Y)}}#G($,Q,Y){if(c($)){let J=$.toLowerCase();for(let Z of this.#Q.values())if(J===Z.topicHash)return Z;return null}if($.indexOf("(")===-1){let J=[];for(let[Z,G]of this.#Q)if(Z.split("(")[0]===$)J.push(G);if(Q){for(let Z=J.length-1;Z>=0;Z--)if(J[Z].inputs.length<Q.length)J.splice(Z,1);for(let Z=J.length-1;Z>=0;Z--){let G=J[Z].inputs;for(let z=0;z<Q.length;z++){if(!p.isTyped(Q[z]))continue;if(Q[z].type!==G[z].baseType){J.splice(Z,1);break}}}}if(J.length===0)return null;if(J.length>1&&Y){let Z=J.map((G)=>JSON.stringify(G.format())).join(", ");O(!1,`ambiguous event description (i.e. matches ${Z})`,"key",$)}return J[0]}let X=this.#Q.get(o$.from($).format());if(X)return X;return null}getEventName($){let Q=this.#G($,null,!1);return O(Q,"no matching event","key",$),Q.name}hasEvent($){return!!this.#G($,null,!1)}getEvent($,Q){return this.#G($,Q||null,!0)}forEachEvent($){let Q=Array.from(this.#Q.keys());Q.sort((Y,X)=>Y.localeCompare(X));for(let Y=0;Y<Q.length;Y++){let X=Q[Y];$(this.#Q.get(X),Y)}}getError($,Q){if(c($)){let X=$.toLowerCase();if(yz[X])return j$.from(yz[X].signature);for(let J of this.#$.values())if(X===J.selector)return J;return null}if($.indexOf("(")===-1){let X=[];for(let[J,Z]of this.#$)if(J.split("(")[0]===$)X.push(Z);if(X.length===0){if($==="Error")return j$.from("error Error(string)");if($==="Panic")return j$.from("error Panic(uint256)");return null}else if(X.length>1){let J=X.map((Z)=>JSON.stringify(Z.format())).join(", ");O(!1,`ambiguous error description (i.e. ${J})`,"name",$)}return X[0]}if($=j$.from($).format(),$==="Error(string)")return j$.from("error Error(string)");if($==="Panic(uint256)")return j$.from("error Panic(uint256)");let Y=this.#$.get($);if(Y)return Y;return null}forEachError($){let Q=Array.from(this.#$.keys());Q.sort((Y,X)=>Y.localeCompare(X));for(let Y=0;Y<Q.length;Y++){let X=Q[Y];$(this.#$.get(X),Y)}}_decodeParams($,Q){return this.#X.decode($,Q)}_encodeParams($,Q){return this.#X.encode($,Q)}encodeDeploy($){return this._encodeParams(this.deploy.inputs,$||[])}decodeErrorResult($,Q){if(typeof $==="string"){let Y=this.getError($);O(Y,"unknown error","fragment",$),$=Y}return O(o(Q,0,4)===$.selector,`data signature does not match error ${$.name}.`,"data",Q),this._decodeParams($.inputs,o(Q,4))}encodeErrorResult($,Q){if(typeof $==="string"){let Y=this.getError($);O(Y,"unknown error","fragment",$),$=Y}return b([$.selector,this._encodeParams($.inputs,Q||[])])}decodeFunctionData($,Q){if(typeof $==="string"){let Y=this.getFunction($);O(Y,"unknown function","fragment",$),$=Y}return O(o(Q,0,4)===$.selector,`data signature does not match function ${$.name}.`,"data",Q),this._decodeParams($.inputs,o(Q,4))}encodeFunctionData($,Q){if(typeof $==="string"){let Y=this.getFunction($);O(Y,"unknown function","fragment",$),$=Y}return b([$.selector,this._encodeParams($.inputs,Q||[])])}decodeFunctionResult($,Q){if(typeof $==="string"){let J=this.getFunction($);O(J,"unknown function","fragment",$),$=J}let Y="invalid length for result data",X=G$(Q);if(X.length%32===0)try{return this.#X.decode($.outputs,X)}catch(J){Y="could not decode result data"}H(!1,Y,"BAD_DATA",{value:L(X),info:{method:$.name,signature:$.format()}})}makeError($,Q){let Y=C($,"data"),X=X0.getBuiltinCallException("call",Q,Y),J="execution reverted (unknown custom error)";if(X.message.startsWith("execution reverted (unknown custom error)")){let G=L(Y.slice(0,4)),z=this.getError(G);if(z)try{let W=this.#X.decode(z.inputs,Y.slice(4));X.revert={name:z.name,signature:z.format(),args:W},X.reason=X.revert.signature,X.message=`execution reverted: ${X.reason}`}catch(W){X.message="execution reverted (coult not decode custom error)"}}let Z=this.parseTransaction(Q);if(Z)X.invocation={method:Z.name,signature:Z.signature,args:Z.args};return X}encodeFunctionResult($,Q){if(typeof $==="string"){let Y=this.getFunction($);O(Y,"unknown function","fragment",$),$=Y}return L(this.#X.encode($.outputs,Q||[]))}encodeFilterTopics($,Q){if(typeof $==="string"){let J=this.getEvent($);O(J,"unknown event","eventFragment",$),$=J}H(Q.length<=$.inputs.length,`too many arguments for ${$.format()}`,"UNEXPECTED_ARGUMENT",{count:Q.length,expectedCount:$.inputs.length});let Y=[];if(!$.anonymous)Y.push($.topicHash);let X=(J,Z)=>{if(J.type==="string")return x$(Z);else if(J.type==="bytes")return g(L(Z));if(J.type==="bool"&&typeof Z==="boolean")Z=Z?"0x01":"0x00";else if(J.type.match(/^u?int/))Z=P$(Z);else if(J.type.match(/^bytes/))Z=o0(Z,32);else if(J.type==="address")this.#X.encode(["address"],[Z]);return T$(L(Z),32)};Q.forEach((J,Z)=>{let G=$.inputs[Z];if(!G.indexed){O(J==null,"cannot filter non-indexed parameters; must be null","contract."+G.name,J);return}if(J==null)Y.push(null);else if(G.baseType==="array"||G.baseType==="tuple")O(!1,"filtering with tuples or arrays not supported","contract."+G.name,J);else if(Array.isArray(J))Y.push(J.map((z)=>X(G,z)));else Y.push(X(G,J))});while(Y.length&&Y[Y.length-1]===null)Y.pop();return Y}encodeEventLog($,Q){if(typeof $==="string"){let Z=this.getEvent($);O(Z,"unknown event","eventFragment",$),$=Z}let Y=[],X=[],J=[];if(!$.anonymous)Y.push($.topicHash);return O(Q.length===$.inputs.length,"event arguments/values mismatch","values",Q),$.inputs.forEach((Z,G)=>{let z=Q[G];if(Z.indexed)if(Z.type==="string")Y.push(x$(z));else if(Z.type==="bytes")Y.push(g(z));else if(Z.baseType==="tuple"||Z.baseType==="array")throw new Error("not implemented");else Y.push(this.#X.encode([Z.type],[z]));else X.push(Z),J.push(z)}),{data:this.#X.encode(X,J),topics:Y}}decodeEventLog($,Q,Y){if(typeof $==="string"){let M=this.getEvent($);O(M,"unknown event","eventFragment",$),$=M}if(Y!=null&&!$.anonymous){let M=$.topicHash;O(c(Y[0],32)&&Y[0].toLowerCase()===M,"fragment/topic mismatch","topics[0]",Y[0]),Y=Y.slice(1)}let X=[],J=[],Z=[];$.inputs.forEach((M,q)=>{if(M.indexed)if(M.type==="string"||M.type==="bytes"||M.baseType==="tuple"||M.baseType==="array")X.push($$.from({type:"bytes32",name:M.name})),Z.push(!0);else X.push(M),Z.push(!1);else J.push(M),Z.push(!1)});let G=Y!=null?this.#X.decode(X,b(Y)):null,z=this.#X.decode(J,Q,!0),W=[],V=[],K=0,D=0;return $.inputs.forEach((M,q)=>{let U=null;if(M.indexed)if(G==null)U=new cQ(null);else if(Z[q])U=new cQ(G[D++]);else try{U=G[D++]}catch(I){U=I}else try{U=z[K++]}catch(I){U=I}W.push(U),V.push(M.name||null)}),n$.fromItems(W,V)}parseTransaction($){let Q=C($.data,"tx.data"),Y=B($.value!=null?$.value:0,"tx.value"),X=this.getFunction(L(Q.slice(0,4)));if(!X)return null;let J=this.#X.decode(X.inputs,Q.slice(4));return new bY(X,X.selector,J,Y)}parseCallResult($){throw new Error("@TODO")}parseLog($){let Q=this.getEvent($.topics[0]);if(!Q||Q.anonymous)return null;return new fY(Q,Q.topicHash,this.decodeEventLog(Q,$.data,$.topics))}parseError($){let Q=L($),Y=this.getError(o(Q,0,4));if(!Y)return null;let X=this.#X.decode(Y.inputs,o(Q,4));return new hY(Y,Y.selector,X)}static from($){if($ instanceof J0)return $;if(typeof $==="string")return new J0(JSON.parse($));if(typeof $.formatJson==="function")return new J0($.formatJson());if(typeof $.format==="function")return new J0($.format("json"));return new J0($)}}var vz=BigInt(0);function uQ($){if($==null)return null;return $}function E$($){if($==null)return null;return $.toString()}class XQ{gasPrice;maxFeePerGas;maxPriorityFeePerGas;constructor($,Q,Y){T(this,{gasPrice:uQ($),maxFeePerGas:uQ(Q),maxPriorityFeePerGas:uQ(Y)})}toJSON(){let{gasPrice:$,maxFeePerGas:Q,maxPriorityFeePerGas:Y}=this;return{_type:"FeeData",gasPrice:E$($),maxFeePerGas:E$(Q),maxPriorityFeePerGas:E$(Y)}}}function D0($){let Q={};if($.to)Q.to=$.to;if($.from)Q.from=$.from;if($.data)Q.data=L($.data);let Y="chainId,gasLimit,gasPrice,maxFeePerBlobGas,maxFeePerGas,maxPriorityFeePerGas,value".split(/,/);for(let J of Y){if(!(J in $)||$[J]==null)continue;Q[J]=B($[J],`request.${J}`)}let X="type,nonce".split(/,/);for(let J of X){if(!(J in $)||$[J]==null)continue;Q[J]=w($[J],`request.${J}`)}if($.accessList)Q.accessList=k$($.accessList);if("blockTag"in $)Q.blockTag=$.blockTag;if("enableCcipRead"in $)Q.enableCcipRead=!!$.enableCcipRead;if("customData"in $)Q.customData=$.customData;if("blobVersionedHashes"in $&&$.blobVersionedHashes)Q.blobVersionedHashes=$.blobVersionedHashes.slice();if("kzg"in $)Q.kzg=$.kzg;if("blobs"in $&&$.blobs)Q.blobs=$.blobs.map((J)=>{if(R0(J))return L(J);return Object.assign({},J)});return Q}class dQ{provider;number;hash;timestamp;parentHash;parentBeaconBlockRoot;nonce;difficulty;gasLimit;gasUsed;stateRoot;receiptsRoot;blobGasUsed;excessBlobGas;miner;prevRandao;extraData;baseFeePerGas;#$;constructor($,Q){this.#$=$.transactions.map((Y)=>{if(typeof Y!=="string")return new c0(Y,Q);return Y}),T(this,{provider:Q,hash:uQ($.hash),number:$.number,timestamp:$.timestamp,parentHash:$.parentHash,parentBeaconBlockRoot:$.parentBeaconBlockRoot,nonce:$.nonce,difficulty:$.difficulty,gasLimit:$.gasLimit,gasUsed:$.gasUsed,blobGasUsed:$.blobGasUsed,excessBlobGas:$.excessBlobGas,miner:$.miner,prevRandao:uQ($.prevRandao),extraData:$.extraData,baseFeePerGas:uQ($.baseFeePerGas),stateRoot:$.stateRoot,receiptsRoot:$.receiptsRoot})}get transactions(){return this.#$.map(($)=>{if(typeof $==="string")return $;return $.hash})}get prefetchedTransactions(){let $=this.#$.slice();if($.length===0)return[];return H(typeof $[0]==="object","transactions were not prefetched with block request","UNSUPPORTED_OPERATION",{operation:"transactionResponses()"}),$}toJSON(){let{baseFeePerGas:$,difficulty:Q,extraData:Y,gasLimit:X,gasUsed:J,hash:Z,miner:G,prevRandao:z,nonce:W,number:V,parentHash:K,parentBeaconBlockRoot:D,stateRoot:M,receiptsRoot:q,timestamp:U,transactions:I}=this;return{_type:"Block",baseFeePerGas:E$($),difficulty:E$(Q),extraData:Y,gasLimit:E$(X),gasUsed:E$(J),blobGasUsed:E$(this.blobGasUsed),excessBlobGas:E$(this.excessBlobGas),hash:Z,miner:G,prevRandao:z,nonce:W,number:V,parentHash:K,timestamp:U,parentBeaconBlockRoot:D,stateRoot:M,receiptsRoot:q,transactions:I}}[Symbol.iterator](){let $=0,Q=this.transactions;return{next:()=>{if($<this.length)return{value:Q[$++],done:!1};return{value:void 0,done:!0}}}}get length(){return this.#$.length}get date(){if(this.timestamp==null)return null;return new Date(this.timestamp*1000)}async getTransaction($){let Q=void 0;if(typeof $==="number")Q=this.#$[$];else{let Y=$.toLowerCase();for(let X of this.#$)if(typeof X==="string"){if(X!==Y)continue;Q=X;break}else{if(X.hash!==Y)continue;Q=X;break}}if(Q==null)throw new Error("no such tx");if(typeof Q==="string")return await this.provider.getTransaction(Q);else return Q}getPrefetchedTransaction($){let Q=this.prefetchedTransactions;if(typeof $==="number")return Q[$];$=$.toLowerCase();for(let Y of Q)if(Y.hash===$)return Y;O(!1,"no matching transaction","indexOrHash",$)}isMined(){return!!this.hash}isLondon(){return!!this.baseFeePerGas}orphanedEvent(){if(!this.isMined())throw new Error("");return lV(this)}}class M0{provider;transactionHash;blockHash;blockNumber;removed;address;data;topics;index;transactionIndex;constructor($,Q){this.provider=Q;let Y=Object.freeze($.topics.slice());T(this,{transactionHash:$.transactionHash,blockHash:$.blockHash,blockNumber:$.blockNumber,removed:$.removed,address:$.address,data:$.data,topics:Y,index:$.index,transactionIndex:$.transactionIndex})}toJSON(){let{address:$,blockHash:Q,blockNumber:Y,data:X,index:J,removed:Z,topics:G,transactionHash:z,transactionIndex:W}=this;return{_type:"log",address:$,blockHash:Q,blockNumber:Y,data:X,index:J,removed:Z,topics:G,transactionHash:z,transactionIndex:W}}async getBlock(){let $=await this.provider.getBlock(this.blockHash);return H(!!$,"failed to find transaction","UNKNOWN_ERROR",{}),$}async getTransaction(){let $=await this.provider.getTransaction(this.transactionHash);return H(!!$,"failed to find transaction","UNKNOWN_ERROR",{}),$}async getTransactionReceipt(){let $=await this.provider.getTransactionReceipt(this.transactionHash);return H(!!$,"failed to find transaction receipt","UNKNOWN_ERROR",{}),$}removedEvent(){return iV(this)}}class T8{provider;to;from;contractAddress;hash;index;blockHash;blockNumber;logsBloom;gasUsed;blobGasUsed;cumulativeGasUsed;gasPrice;blobGasPrice;type;status;root;#$;constructor($,Q){this.#$=Object.freeze($.logs.map((X)=>{return new M0(X,Q)}));let Y=vz;if($.effectiveGasPrice!=null)Y=$.effectiveGasPrice;else if($.gasPrice!=null)Y=$.gasPrice;T(this,{provider:Q,to:$.to,from:$.from,contractAddress:$.contractAddress,hash:$.hash,index:$.index,blockHash:$.blockHash,blockNumber:$.blockNumber,logsBloom:$.logsBloom,gasUsed:$.gasUsed,cumulativeGasUsed:$.cumulativeGasUsed,blobGasUsed:$.blobGasUsed,gasPrice:Y,blobGasPrice:$.blobGasPrice,type:$.type,status:$.status,root:$.root})}get logs(){return this.#$}toJSON(){let{to:$,from:Q,contractAddress:Y,hash:X,index:J,blockHash:Z,blockNumber:G,logsBloom:z,logs:W,status:V,root:K}=this;return{_type:"TransactionReceipt",blockHash:Z,blockNumber:G,contractAddress:Y,cumulativeGasUsed:E$(this.cumulativeGasUsed),from:Q,gasPrice:E$(this.gasPrice),blobGasUsed:E$(this.blobGasUsed),blobGasPrice:E$(this.blobGasPrice),gasUsed:E$(this.gasUsed),hash:X,index:J,logs:W,logsBloom:z,root:K,status:V,to:$}}get length(){return this.logs.length}[Symbol.iterator](){let $=0;return{next:()=>{if($<this.length)return{value:this.logs[$++],done:!1};return{value:void 0,done:!0}}}}get fee(){return this.gasUsed*this.gasPrice}async getBlock(){let $=await this.provider.getBlock(this.blockHash);if($==null)throw new Error("TODO");return $}async getTransaction(){let $=await this.provider.getTransaction(this.hash);if($==null)throw new Error("TODO");return $}async getResult(){return await this.provider.getTransactionResult(this.hash)}async confirmations(){return await this.provider.getBlockNumber()-this.blockNumber+1}removedEvent(){return mz(this)}reorderedEvent($){return H(!$||$.isMined(),"unmined 'other' transction cannot be orphaned","UNSUPPORTED_OPERATION",{operation:"reorderedEvent(other)"}),gz(this,$)}}class c0{provider;blockNumber;blockHash;index;hash;type;to;from;nonce;gasLimit;gasPrice;maxPriorityFeePerGas;maxFeePerGas;maxFeePerBlobGas;data;value;chainId;signature;accessList;blobVersionedHashes;#$;constructor($,Q){this.provider=Q,this.blockNumber=$.blockNumber!=null?$.blockNumber:null,this.blockHash=$.blockHash!=null?$.blockHash:null,this.hash=$.hash,this.index=$.index,this.type=$.type,this.from=$.from,this.to=$.to||null,this.gasLimit=$.gasLimit,this.nonce=$.nonce,this.data=$.data,this.value=$.value,this.gasPrice=$.gasPrice,this.maxPriorityFeePerGas=$.maxPriorityFeePerGas!=null?$.maxPriorityFeePerGas:null,this.maxFeePerGas=$.maxFeePerGas!=null?$.maxFeePerGas:null,this.maxFeePerBlobGas=$.maxFeePerBlobGas!=null?$.maxFeePerBlobGas:null,this.chainId=$.chainId,this.signature=$.signature,this.accessList=$.accessList!=null?$.accessList:null,this.blobVersionedHashes=$.blobVersionedHashes!=null?$.blobVersionedHashes:null,this.#$=-1}toJSON(){let{blockNumber:$,blockHash:Q,index:Y,hash:X,type:J,to:Z,from:G,nonce:z,data:W,signature:V,accessList:K,blobVersionedHashes:D}=this;return{_type:"TransactionResponse",accessList:K,blockNumber:$,blockHash:Q,blobVersionedHashes:D,chainId:E$(this.chainId),data:W,from:G,gasLimit:E$(this.gasLimit),gasPrice:E$(this.gasPrice),hash:X,maxFeePerGas:E$(this.maxFeePerGas),maxPriorityFeePerGas:E$(this.maxPriorityFeePerGas),maxFeePerBlobGas:E$(this.maxFeePerBlobGas),nonce:z,signature:V,to:Z,index:Y,type:J,value:E$(this.value)}}async getBlock(){let $=this.blockNumber;if($==null){let Y=await this.getTransaction();if(Y)$=Y.blockNumber}if($==null)return null;let Q=this.provider.getBlock($);if(Q==null)throw new Error("TODO");return Q}async getTransaction(){return this.provider.getTransaction(this.hash)}async confirmations(){if(this.blockNumber==null){let{tx:Q,blockNumber:Y}=await Z$({tx:this.getTransaction(),blockNumber:this.provider.getBlockNumber()});if(Q==null||Q.blockNumber==null)return 0;return Y-Q.blockNumber+1}return await this.provider.getBlockNumber()-this.blockNumber+1}async wait($,Q){let Y=$==null?1:$,X=Q==null?0:Q,J=this.#$,Z=-1,G=J===-1?!0:!1,z=async()=>{if(G)return null;let{blockNumber:D,nonce:M}=await Z$({blockNumber:this.provider.getBlockNumber(),nonce:this.provider.getTransactionCount(this.from)});if(M<this.nonce){J=D;return}if(G)return null;let q=await this.getTransaction();if(q&&q.blockNumber!=null)return;if(Z===-1){if(Z=J-3,Z<this.#$)Z=this.#$}while(Z<=D){if(G)return null;let U=await this.provider.getBlock(Z,!0);if(U==null)return;for(let I of U)if(I===this.hash)return;for(let I=0;I<U.length;I++){let R=await U.getTransaction(I);if(R.from===this.from&&R.nonce===this.nonce){if(G)return null;let E=await this.provider.getTransactionReceipt(R.hash);if(E==null)return;if(D-E.blockNumber+1<Y)return;let N="replaced";if(R.data===this.data&&R.to===this.to&&R.value===this.value)N="repriced";else if(R.data==="0x"&&R.from===R.to&&R.value===vz)N="cancelled";H(!1,"transaction was replaced","TRANSACTION_REPLACED",{cancelled:N==="replaced"||N==="cancelled",reason:N,replacement:R.replaceableTransaction(J),hash:R.hash,receipt:E})}}Z++}return},W=(D)=>{if(D==null||D.status!==0)return D;H(!1,"transaction execution reverted","CALL_EXCEPTION",{action:"sendTransaction",data:null,reason:null,invocation:null,revert:null,transaction:{to:D.to,from:D.from,data:""},receipt:D})},V=await this.provider.getTransactionReceipt(this.hash);if(Y===0)return W(V);if(V){if(await V.confirmations()>=Y)return W(V)}else if(await z(),Y===0)return null;return await new Promise((D,M)=>{let q=[],U=()=>{q.forEach((R)=>R())};if(q.push(()=>{G=!0}),X>0){let R=setTimeout(()=>{U(),M(l("wait for transaction timeout","TIMEOUT"))},X);q.push(()=>{clearTimeout(R)})}let I=async(R)=>{if(await R.confirmations()>=Y){U();try{D(W(R))}catch(E){M(E)}}};if(q.push(()=>{this.provider.off(this.hash,I)}),this.provider.on(this.hash,I),J>=0){let R=async()=>{try{await z()}catch(E){if(t(E,"TRANSACTION_REPLACED")){U(),M(E);return}}if(!G)this.provider.once("block",R)};q.push(()=>{this.provider.off("block",R)}),this.provider.once("block",R)}})}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 H(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),mz(this)}reorderedEvent($){return H(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),H(!$||$.isMined(),"unmined 'other' transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),gz(this,$)}replaceableTransaction($){O(Number.isInteger($)&&$>=0,"invalid startBlock","startBlock",$);let Q=new c0(this,this.provider);return Q.#$=$,Q}}function lV($){return{orphan:"drop-block",hash:$.hash,number:$.number}}function gz($,Q){return{orphan:"reorder-transaction",tx:$,other:Q}}function mz($){return{orphan:"drop-transaction",tx:$}}function iV($){return{orphan:"drop-log",log:{transactionHash:$.transactionHash,blockHash:$.blockHash,blockNumber:$.blockNumber,address:$.address,data:$.data,topics:Object.freeze($.topics.slice()),index:$.index}}}class N8 extends M0{interface;fragment;args;constructor($,Q,Y){super($,$.provider);let X=Q.decodeEventLog(Y,$.data,$.topics);T(this,{args:X,fragment:Y,interface:Q})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}class JQ extends M0{error;constructor($,Q){super($,$.provider);T(this,{error:Q})}}class yY extends T8{#$;constructor($,Q,Y){super(Y,Q);this.#$=$}get logs(){return super.logs.map(($)=>{let Q=$.topics.length?this.#$.getEvent($.topics[0]):null;if(Q)try{return new N8($,this.#$,Q)}catch(Y){return new JQ($,Y)}return $})}}class S8 extends c0{#$;constructor($,Q,Y){super(Y,Q);this.#$=$}async wait($,Q){let Y=await super.wait($,Q);if(Y==null)return null;return new yY(this.#$,this.provider,Y)}}class ZQ extends W8{log;constructor($,Q,Y,X){super($,Q,Y);T(this,{log:X})}async getBlock(){return await this.log.getBlock()}async getTransaction(){return await this.log.getTransaction()}async getTransactionReceipt(){return await this.log.getTransactionReceipt()}}class pQ extends ZQ{constructor($,Q,Y,X,J){super($,Q,Y,new N8(J,$.interface,X));let Z=$.interface.decodeEventLog(X,this.log.data,this.log.topics);T(this,{args:Z,fragment:X})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}var cz=BigInt(0);function dz($){return $&&typeof $.call==="function"}function pz($){return $&&typeof $.estimateGas==="function"}function nX($){return $&&typeof $.resolveName==="function"}function lz($){return $&&typeof $.sendTransaction==="function"}function iz($){if($!=null){if(nX($))return $;if($.provider)return $.provider}return}class nz{#$;fragment;constructor($,Q,Y){if(T(this,{fragment:Q}),Q.inputs.length<Y.length)throw new Error("too many arguments");let X=zQ($.runner,"resolveName"),J=nX(X)?X:null;this.#$=async function(){let Z=await Promise.all(Q.inputs.map((G,z)=>{if(Y[z]==null)return null;return G.walkAsync(Y[z],(V,K)=>{if(V==="address"){if(Array.isArray(K))return Promise.all(K.map((D)=>K$(D,J)));return K$(K,J)}return K})}));return $.interface.encodeFilterTopics(Q,Z)}()}getTopicFilter(){return this.#$}}function zQ($,Q){if($==null)return null;if(typeof $[Q]==="function")return $;if($.provider&&typeof $.provider[Q]==="function")return $.provider;return null}function GQ($){if($==null)return null;return $.provider||null}async function oX($,Q){let Y=p.dereference($,"overrides");O(typeof Y==="object","invalid overrides parameter","overrides",$);let X=D0(Y);if(O(X.to==null||(Q||[]).indexOf("to")>=0,"cannot override to","overrides.to",X.to),O(X.data==null||(Q||[]).indexOf("data")>=0,"cannot override data","overrides.data",X.data),X.from)X.from=X.from;return X}async function sZ($,Q,Y){let X=zQ($,"resolveName"),J=nX(X)?X:null;return await Promise.all(Q.map((Z,G)=>{return Z.walkAsync(Y[G],(z,W)=>{if(W=p.dereference(W,z),z==="address")return K$(W,J);return W})}))}function nV($){let Q=async function(G){let z=await oX(G,["data"]);if(z.to=await $.getAddress(),z.from)z.from=await K$(z.from,iz($.runner));let W=$.interface,V=B(z.value||cz,"overrides.value")===cz,K=(z.data||"0x")==="0x";if(W.fallback&&!W.fallback.payable&&W.receive&&!K&&!V)O(!1,"cannot send data to receive or send value to non-payable fallback","overrides",G);O(W.fallback||K,"cannot send data to receive-only contract","overrides.data",z.data);let D=W.receive||W.fallback&&W.fallback.payable;return O(D||V,"cannot send value to non-payable fallback","overrides.value",z.value),O(W.fallback||K,"cannot send data to receive-only contract","overrides.data",z.data),z},Y=async function(G){let z=zQ($.runner,"call");H(dz(z),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});let W=await Q(G);try{return await z.call(W)}catch(V){if(z8(V)&&V.data)throw $.interface.makeError(V.data,W);throw V}},X=async function(G){let z=$.runner;H(lz(z),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});let W=await z.sendTransaction(await Q(G)),V=GQ($.runner);return new S8($.interface,V,W)},J=async function(G){let z=zQ($.runner,"estimateGas");return H(pz(z),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await z.estimateGas(await Q(G))},Z=async(G)=>{return await X(G)};return T(Z,{_contract:$,estimateGas:J,populateTransaction:Q,send:X,staticCall:Y}),Z}function oV($,Q){let Y=function(...V){let K=$.interface.getFunction(Q,V);return H(K,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:Q,args:V}}),K},X=async function(...V){let K=Y(...V),D={};if(K.inputs.length+1===V.length){if(D=await oX(V.pop()),D.from)D.from=await K$(D.from,iz($.runner))}if(K.inputs.length!==V.length)throw new Error("internal error: fragment inputs doesn't match arguments; should not happen");let M=await sZ($.runner,K.inputs,V);return Object.assign({},D,await Z$({to:$.getAddress(),data:$.interface.encodeFunctionData(K,M)}))},J=async function(...V){let K=await z(...V);if(K.length===1)return K[0];return K},Z=async function(...V){let K=$.runner;H(lz(K),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});let D=await K.sendTransaction(await X(...V)),M=GQ($.runner);return new S8($.interface,M,D)},G=async function(...V){let K=zQ($.runner,"estimateGas");return H(pz(K),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await K.estimateGas(await X(...V))},z=async function(...V){let K=zQ($.runner,"call");H(dz(K),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});let D=await X(...V),M="0x";try{M=await K.call(D)}catch(U){if(z8(U)&&U.data)throw $.interface.makeError(U.data,D);throw U}let q=Y(...V);return $.interface.decodeFunctionResult(q,M)},W=async(...V)=>{if(Y(...V).constant)return await J(...V);return await Z(...V)};return T(W,{name:$.interface.getFunctionName(Q),_contract:$,_key:Q,getFragment:Y,estimateGas:G,populateTransaction:X,send:Z,staticCall:J,staticCallResult:z}),Object.defineProperty(W,"fragment",{configurable:!1,enumerable:!0,get:()=>{let V=$.interface.getFunction(Q);return H(V,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:Q}}),V}}),W}function sV($,Q){let Y=function(...J){let Z=$.interface.getEvent(Q,J);return H(Z,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:Q,args:J}}),Z},X=function(...J){return new nz($,Y(...J),J)};return T(X,{name:$.interface.getEventName(Q),_contract:$,_key:Q,getFragment:Y}),Object.defineProperty(X,"fragment",{configurable:!1,enumerable:!0,get:()=>{let J=$.interface.getEvent(Q);return H(J,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:Q}}),J}}),X}var iX=Symbol.for("_ethersInternal_contract"),oz=new WeakMap;function aV($,Q){oz.set($[iX],Q)}function Z0($){return oz.get($[iX])}function rV($){return $&&typeof $==="object"&&"getTopicFilter"in $&&typeof $.getTopicFilter==="function"&&$.fragment}async function aZ($,Q){let Y,X=null;if(Array.isArray(Q)){let Z=function(G){if(c(G,32))return G;let z=$.interface.getEvent(G);return O(z,"unknown fragment","name",G),z.topicHash};Y=Q.map((G)=>{if(G==null)return null;if(Array.isArray(G))return G.map(Z);return Z(G)})}else if(Q==="*")Y=[null];else if(typeof Q==="string")if(c(Q,32))Y=[Q];else X=$.interface.getEvent(Q),O(X,"unknown fragment","event",Q),Y=[X.topicHash];else if(rV(Q))Y=await Q.getTopicFilter();else if("fragment"in Q)X=Q.fragment,Y=[X.topicHash];else O(!1,"unknown event name","event",Q);Y=Y.map((Z)=>{if(Z==null)return null;if(Array.isArray(Z)){let G=Array.from(new Set(Z.map((z)=>z.toLowerCase())).values());if(G.length===1)return G[0];return G.sort(),G}return Z.toLowerCase()});let J=Y.map((Z)=>{if(Z==null)return"null";if(Array.isArray(Z))return Z.join("|");return Z}).join("&");return{fragment:X,tag:J,topics:Y}}async function vY($,Q){let{subs:Y}=Z0($);return Y.get((await aZ($,Q)).tag)||null}async function uz($,Q,Y){let X=GQ($.runner);H(X,"contract runner does not support subscribing","UNSUPPORTED_OPERATION",{operation:Q});let{fragment:J,tag:Z,topics:G}=await aZ($,Y),{addr:z,subs:W}=Z0($),V=W.get(Z);if(!V){let D={address:z?z:$,topics:G},M=(R)=>{let E=J;if(E==null)try{E=$.interface.getEvent(R.topics[0])}catch(N){}if(E){let N=E,x=J?$.interface.decodeEventLog(J,R.data,R.topics):[];oZ($,Y,x,(P)=>{return new pQ($,P,Y,N,R)})}else oZ($,Y,[],(N)=>{return new ZQ($,N,Y,R)})},q=[];V={tag:Z,listeners:[],start:()=>{if(q.length)return;q.push(X.on(D,M))},stop:async()=>{if(q.length==0)return;let R=q;q=[],await Promise.all(R),X.off(D,M)}},W.set(Z,V)}return V}var nZ=Promise.resolve();async function tV($,Q,Y,X){await nZ;let J=await vY($,Q);if(!J)return!1;let Z=J.listeners.length;if(J.listeners=J.listeners.filter(({listener:G,once:z})=>{let W=Array.from(Y);if(X)W.push(X(z?null:G));try{G.call($,...W)}catch(V){}return!z}),J.listeners.length===0)J.stop(),Z0($).subs.delete(J.tag);return Z>0}async function oZ($,Q,Y,X){try{await nZ}catch(Z){}let J=tV($,Q,Y,X);return nZ=J,await J}var lX=["then"];class k0{target;interface;runner;filters;[iX];fallback;constructor($,Q,Y,X){if(O(typeof $==="string"||fQ($),"invalid value for Contract target","target",$),Y==null)Y=null;let J=J0.from(Q);T(this,{target:$,runner:Y,interface:J}),Object.defineProperty(this,iX,{value:{}});let Z,G=null,z=null;if(X){let K=GQ(Y);z=new S8(this.interface,K,X)}let W=new Map;if(typeof $==="string")if(c($))G=$,Z=Promise.resolve($);else{let K=zQ(Y,"resolveName");if(!nX(K))throw l("contract runner does not support name resolution","UNSUPPORTED_OPERATION",{operation:"resolveName"});Z=K.resolveName($).then((D)=>{if(D==null)throw l("an ENS name used for a contract target must be correctly configured","UNCONFIGURED_NAME",{value:$});return Z0(this).addr=D,D})}else Z=$.getAddress().then((K)=>{if(K==null)throw new Error("TODO");return Z0(this).addr=K,K});aV(this,{addrPromise:Z,addr:G,deployTx:z,subs:W});let V=new Proxy({},{get:(K,D,M)=>{if(typeof D==="symbol"||lX.indexOf(D)>=0)return Reflect.get(K,D,M);try{return this.getEvent(D)}catch(q){if(!t(q,"INVALID_ARGUMENT")||q.argument!=="key")throw q}return},has:(K,D)=>{if(lX.indexOf(D)>=0)return Reflect.has(K,D);return Reflect.has(K,D)||this.interface.hasEvent(String(D))}});return T(this,{filters:V}),T(this,{fallback:J.receive||J.fallback?nV(this):null}),new Proxy(this,{get:(K,D,M)=>{if(typeof D==="symbol"||D in K||lX.indexOf(D)>=0)return Reflect.get(K,D,M);try{return K.getFunction(D)}catch(q){if(!t(q,"INVALID_ARGUMENT")||q.argument!=="key")throw q}return},has:(K,D)=>{if(typeof D==="symbol"||D in K||lX.indexOf(D)>=0)return Reflect.has(K,D);return K.interface.hasFunction(D)}})}connect($){return new k0(this.target,this.interface,$)}attach($){return new k0($,this.interface,this.runner)}async getAddress(){return await Z0(this).addrPromise}async getDeployedCode(){let $=GQ(this.runner);H($,"runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"getDeployedCode"});let Q=await $.getCode(await this.getAddress());if(Q==="0x")return null;return Q}async waitForDeployment(){let $=this.deploymentTransaction();if($)return await $.wait(),this;if(await this.getDeployedCode()!=null)return this;let Y=GQ(this.runner);return H(Y!=null,"contract runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"waitForDeployment"}),new Promise((X,J)=>{let Z=async()=>{try{if(await this.getDeployedCode()!=null)return X(this);Y.once("block",Z)}catch(G){J(G)}};Z()})}deploymentTransaction(){return Z0(this).deployTx}getFunction($){if(typeof $!=="string")$=$.format();return oV(this,$)}getEvent($){if(typeof $!=="string")$=$.format();return sV(this,$)}async queryTransaction($){throw new Error("@TODO")}async queryFilter($,Q,Y){if(Q==null)Q=0;if(Y==null)Y="latest";let{addr:X,addrPromise:J}=Z0(this),Z=X?X:await J,{fragment:G,topics:z}=await aZ(this,$),W={address:Z,topics:z,fromBlock:Q,toBlock:Y},V=GQ(this.runner);return H(V,"contract runner does not have a provider","UNSUPPORTED_OPERATION",{operation:"queryFilter"}),(await V.getLogs(W)).map((K)=>{let D=G;if(D==null)try{D=this.interface.getEvent(K.topics[0])}catch(M){}if(D)try{return new N8(K,this.interface,D)}catch(M){return new JQ(K,M)}return new M0(K,V)})}async on($,Q){let Y=await uz(this,"on",$);return Y.listeners.push({listener:Q,once:!1}),Y.start(),this}async once($,Q){let Y=await uz(this,"once",$);return Y.listeners.push({listener:Q,once:!0}),Y.start(),this}async emit($,...Q){return await oZ(this,$,Q,null)}async listenerCount($){if($){let X=await vY(this,$);if(!X)return 0;return X.listeners.length}let{subs:Q}=Z0(this),Y=0;for(let{listeners:X}of Q.values())Y+=X.length;return Y}async listeners($){if($){let X=await vY(this,$);if(!X)return[];return X.listeners.map(({listener:J})=>J)}let{subs:Q}=Z0(this),Y=[];for(let{listeners:X}of Q.values())Y=Y.concat(X.map(({listener:J})=>J));return Y}async off($,Q){let Y=await vY(this,$);if(!Y)return this;if(Q){let X=Y.listeners.map(({listener:J})=>J).indexOf(Q);if(X>=0)Y.listeners.splice(X,1)}if(Q==null||Y.listeners.length===0)Y.stop(),Z0(this).subs.delete(Y.tag);return this}async removeAllListeners($){if($){let Q=await vY(this,$);if(!Q)return this;Q.stop(),Z0(this).subs.delete(Q.tag)}else{let{subs:Q}=Z0(this);for(let{tag:Y,stop:X}of Q.values())X(),Q.delete(Y)}return this}async addListener($,Q){return await this.on($,Q)}async removeListener($,Q){return await this.off($,Q)}static buildClass($){class Q extends k0{constructor(Y,X=null){super(Y,$,X)}}return Q}static from($,Q,Y){if(Y==null)Y=null;return new this($,Q,Y)}}function eV(){return k0}class G0 extends eV(){}class gY{interface;bytecode;runner;constructor($,Q,Y){let X=J0.from($);if(Q instanceof Uint8Array)Q=L(C(Q));else{if(typeof Q==="object")Q=Q.object;if(!Q.startsWith("0x"))Q="0x"+Q;Q=L(C(Q))}T(this,{bytecode:Q,interface:X,runner:Y||null})}attach($){return new k0($,this.interface,this.runner)}async getDeployTransaction(...$){let Q={},Y=this.interface.deploy;if(Y.inputs.length+1===$.length)Q=await oX($.pop());if(Y.inputs.length!==$.length)throw new Error("incorrect number of arguments to constructor");let X=await sZ(this.runner,Y.inputs,$),J=b([this.bytecode,this.interface.encodeDeploy(X)]);return Object.assign({},Q,{data:J})}async deploy(...$){let Q=await this.getDeployTransaction(...$);H(this.runner&&typeof this.runner.sendTransaction==="function","factory runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});let Y=await this.runner.sendTransaction(Q),X=e8(Y);return new k0(X,this.interface,this.runner,Y)}connect($){return new gY(this.interface,this.bytecode,$)}static fromSolidity($,Q){if(O($!=null,"bad compiler output","output",$),typeof $==="string")$=JSON.parse($);let Y=$.abi,X="";if($.bytecode)X=$.bytecode;else if($.evm&&$.evm.bytecode)X=$.evm.bytecode;return new this(Y,X,Q)}}function rZ($){if($.match(/^ipfs:\/\/ipfs\//i))$=$.substring(12);else if($.match(/^ipfs:\/\//i))$=$.substring(7);else O(!1,"unsupported IPFS format","link",$);return`https://gateway.ipfs.io/ipfs/${$}`}class mY{name;constructor($){T(this,{name:$})}connect($){return this}supportsCoinType($){return!1}async encodeAddress($,Q){throw new Error("unsupported coin")}async decodeAddress($,Q){throw new Error("unsupported coin")}}var az=new RegExp("^(ipfs)://(.*)$","i"),sz=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),az,new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];class u0{provider;address;name;#$;#Q;constructor($,Q,Y){T(this,{provider:$,address:Q,name:Y}),this.#$=null,this.#Q=new G0(Q,["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)"],$)}async supportsWildcard(){if(this.#$==null)this.#$=(async()=>{try{return await this.#Q.supportsInterface("0x9061b923")}catch($){if(t($,"CALL_EXCEPTION"))return!1;throw this.#$=null,$}})();return await this.#$}async#Y($,Q){Q=(Q||[]).slice();let Y=this.#Q.interface;Q.unshift(L8(this.name));let X=null;if(await this.supportsWildcard())X=Y.getFunction($),H(X,"missing fragment","UNKNOWN_ERROR",{info:{funcName:$}}),Q=[wY(this.name,255),Y.encodeFunctionData(X,Q)],$="resolve(bytes,bytes)";Q.push({enableCcipRead:!0});try{let J=await this.#Q[$](...Q);if(X)return Y.decodeFunctionResult(X,J)[0];return J}catch(J){if(!t(J,"CALL_EXCEPTION"))throw J}return null}async getAddress($){if($==null)$=60;if($===60)try{let J=await this.#Y("addr(bytes32)");if(J==null||J===F0)return null;return J}catch(J){if(t(J,"CALL_EXCEPTION"))return null;throw J}if($>=0&&$<2147483648){let J=$+2147483648,Z=await this.#Y("addr(bytes32,uint)",[J]);if(c(Z,20))return f(Z)}let Q=null;for(let J of this.provider.plugins){if(!(J instanceof mY))continue;if(J.supportsCoinType($)){Q=J;break}}if(Q==null)return null;let Y=await this.#Y("addr(bytes32,uint)",[$]);if(Y==null||Y==="0x")return null;let X=await Q.decodeAddress($,Y);if(X!=null)return X;H(!1,"invalid coin data","UNSUPPORTED_OPERATION",{operation:`getAddress(${$})`,info:{coinType:$,data:Y}})}async getText($){let Q=await this.#Y("text(bytes32,string)",[$]);if(Q==null||Q==="0x")return null;return Q}async getContentHash(){let $=await this.#Y("contenthash(bytes32)");if($==null||$==="0x")return null;let Q=$.match(/^0x(e3010170|e5010172)(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(Q){let X=Q[1]==="e3010170"?"ipfs":"ipns",J=parseInt(Q[4],16);if(Q[5].length===J*2)return`${X}://${u8("0x"+Q[2])}`}let Y=$.match(/^0xe40101fa011b20([0-9a-f]*)$/);if(Y&&Y[1].length===64)return`bzz://${Y[1]}`;H(!1,"invalid or unsupported content hash data","UNSUPPORTED_OPERATION",{operation:"getContentHash()",info:{data:$}})}async getAvatar(){return(await this._getAvatar()).url}async _getAvatar(){let $=[{type:"name",value:this.name}];try{let Q=await this.getText("avatar");if(Q==null)return $.push({type:"!avatar",value:""}),{url:null,linkage:$};$.push({type:"avatar",value:Q});for(let Y=0;Y<sz.length;Y++){let X=Q.match(sz[Y]);if(X==null)continue;let J=X[1].toLowerCase();switch(J){case"https":case"data":return $.push({type:"url",value:Q}),{linkage:$,url:Q};case"ipfs":{let Z=rZ(Q);return $.push({type:"ipfs",value:Q}),$.push({type:"url",value:Z}),{linkage:$,url:Z}}case"erc721":case"erc1155":{let Z=J==="erc721"?"tokenURI(uint256)":"uri(uint256)";$.push({type:J,value:Q});let G=await this.getAddress();if(G==null)return $.push({type:"!owner",value:""}),{url:null,linkage:$};let z=(X[2]||"").split("/");if(z.length!==2)return $.push({type:`!${J}caip`,value:X[2]||""}),{url:null,linkage:$};let W=z[1],V=new G0(z[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(J==="erc721"){let U=await V.ownerOf(W);if(G!==U)return $.push({type:"!owner",value:U}),{url:null,linkage:$};$.push({type:"owner",value:U})}else if(J==="erc1155"){let U=await V.balanceOf(G,W);if(!U)return $.push({type:"!balance",value:"0"}),{url:null,linkage:$};$.push({type:"balance",value:U.toString()})}let K=await V[Z](W);if(K==null||K==="0x")return $.push({type:"!metadata-url",value:""}),{url:null,linkage:$};if($.push({type:"metadata-url-base",value:K}),J==="erc1155")K=K.replace("{id}",P$(W,32).substring(2)),$.push({type:"metadata-url-expanded",value:K});if(K.match(/^ipfs:/i))K=rZ(K);$.push({type:"metadata-url",value:K});let D={},M=await new Q$(K).send();M.assertOk();try{D=M.bodyJson}catch(U){try{$.push({type:"!metadata",value:M.bodyText})}catch(I){let R=M.body;if(R)$.push({type:"!metadata",value:L(R)});return{url:null,linkage:$}}return{url:null,linkage:$}}if(!D)return $.push({type:"!metadata",value:""}),{url:null,linkage:$};$.push({type:"metadata",value:JSON.stringify(D)});let q=D.image;if(typeof q!=="string")return $.push({type:"!imageUrl",value:""}),{url:null,linkage:$};if(q.match(/^(https:\/\/|data:)/i));else{if(q.match(az)==null)return $.push({type:"!imageUrl-ipfs",value:q}),{url:null,linkage:$};$.push({type:"imageUrl-ipfs",value:q}),q=rZ(q)}return $.push({type:"url",value:q}),{linkage:$,url:q}}}}}catch(Q){}return{linkage:$,url:null}}static async getEnsAddress($){let Q=await $.getNetwork(),Y=Q.getPlugin("org.ethers.plugins.network.Ens");return H(Y,"network does not support ENS","UNSUPPORTED_OPERATION",{operation:"getEnsAddress",info:{network:Q}}),Y.address}static async#X($,Q){let Y=await u0.getEnsAddress($);try{let J=await new G0(Y,["function resolver(bytes32) view returns (address)"],$).resolver(L8(Q),{enableCcipRead:!0});if(J===F0)return null;return J}catch(X){throw X}return null}static async fromName($,Q){let Y=Q;while(!0){if(Y===""||Y===".")return null;if(Q!=="eth"&&Y==="eth")return null;let X=await u0.#X($,Y);if(X!=null){let J=new u0($,X,Q);if(Y!==Q&&!await J.supportsWildcard())return null;return J}Y=Y.split(".").slice(1).join(".")}}}var rz=BigInt(0);function i($,Q){return function(Y){if(Y==null)return Q;return $(Y)}}function sX($,Q){return(Y)=>{if(Q&&Y==null)return null;if(!Array.isArray(Y))throw new Error("not an array");return Y.map((X)=>$(X))}}function cY($,Q){return(Y)=>{let X={};for(let J in $){let Z=J;if(Q&&J in Q&&!(Z in Y)){for(let G of Q[J])if(G in Y){Z=G;break}}try{let G=$[J](Y[Z]);if(G!==void 0)X[J]=G}catch(G){let z=G instanceof Error?G.message:"not-an-error";H(!1,`invalid value for value.${J} (${z})`,"BAD_DATA",{value:Y})}}return X}}function $6($){switch($){case!0:case"true":return!0;case!1:case"false":return!1}O(!1,`invalid boolean; ${JSON.stringify($)}`,"value",$)}function lQ($){return O(c($,!0),"invalid data","value",$),$}function f$($){return O(c($,32),"invalid hash","value",$),$}var Q6=cY({address:f,blockHash:f$,blockNumber:w,data:lQ,index:w,removed:i($6,!1),topics:sX(f$),transactionHash:f$,transactionIndex:w},{index:["logIndex"]});function tz($){return Q6($)}var Y6=cY({hash:i(f$),parentHash:f$,parentBeaconBlockRoot:i(f$,null),number:w,timestamp:w,nonce:i(lQ),difficulty:B,gasLimit:B,gasUsed:B,stateRoot:i(f$,null),receiptsRoot:i(f$,null),blobGasUsed:i(B,null),excessBlobGas:i(B,null),miner:i(f),prevRandao:i(f$,null),extraData:lQ,baseFeePerGas:i(B)},{prevRandao:["mixHash"]});function ez($){let Q=Y6($);return Q.transactions=$.transactions.map((Y)=>{if(typeof Y==="string")return Y;return tZ(Y)}),Q}var X6=cY({transactionIndex:w,blockNumber:w,transactionHash:f$,address:f,topics:sX(f$),data:lQ,index:w,blockHash:f$},{index:["logIndex"]});function J6($){return X6($)}var Z6=cY({to:i(f,null),from:i(f,null),contractAddress:i(f,null),index:w,root:i(L),gasUsed:B,blobGasUsed:i(B,null),logsBloom:i(lQ),blockHash:f$,hash:f$,logs:sX(J6),blockNumber:w,cumulativeGasUsed:B,effectiveGasPrice:i(B),blobGasPrice:i(B,null),status:i(w),type:i(w,0)},{effectiveGasPrice:["gasPrice"],hash:["transactionHash"],index:["transactionIndex"]});function $7($){return Z6($)}function tZ($){if($.to&&B($.to)===rz)$.to="0x0000000000000000000000000000000000000000";let Q=cY({hash:f$,index:i(w,void 0),type:(Y)=>{if(Y==="0x"||Y==null)return 0;return w(Y)},accessList:i(k$,null),blobVersionedHashes:i(sX(f$,!0),null),blockHash:i(f$,null),blockNumber:i(w,null),transactionIndex:i(w,null),from:f,gasPrice:i(B),maxPriorityFeePerGas:i(B),maxFeePerGas:i(B),maxFeePerBlobGas:i(B,null),gasLimit:B,to:i(f,null),value:B,nonce:w,data:lQ,creates:i(f,null),chainId:i(B,null)},{data:["input"],gasLimit:["gas"],index:["transactionIndex"]})($);if(Q.to==null&&Q.creates==null)Q.creates=e8(Q);if(($.type===1||$.type===2)&&$.accessList==null)Q.accessList=[];if($.signature)Q.signature=V$.from($.signature);else Q.signature=V$.from($);if(Q.chainId==null){let Y=Q.signature.legacyChainId;if(Y!=null)Q.chainId=Y}if(Q.blockHash&&B(Q.blockHash)===rz)Q.blockHash=null;return Q}var G6="0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e";class f0{name;constructor($){T(this,{name:$})}clone(){return new f0(this.name)}}class B8 extends f0{effectiveBlock;txBase;txCreate;txDataZero;txDataNonzero;txAccessListStorageKey;txAccessListAddress;constructor($,Q){if($==null)$=0;super(`org.ethers.network.plugins.GasCost#${$||0}`);let Y={effectiveBlock:$};function X(J,Z){let G=(Q||{})[J];if(G==null)G=Z;O(typeof G==="number",`invalud value for ${J}`,"costs",Q),Y[J]=G}X("txBase",21000),X("txCreate",32000),X("txDataZero",4),X("txDataNonzero",16),X("txAccessListStorageKey",1900),X("txAccessListAddress",2400),T(this,Y)}clone(){return new B8(this.effectiveBlock,this)}}class A8 extends f0{address;targetNetwork;constructor($,Q){super("org.ethers.plugins.network.Ens");T(this,{address:$||G6,targetNetwork:Q==null?1:Q})}clone(){return new A8(this.address,this.targetNetwork)}}class uY extends f0{#$;get feeDataFunc(){return this.#$}constructor($){super("org.ethers.plugins.network.FeeData");this.#$=$}async getFeeData($){return await this.#$($)}clone(){return new uY(this.#$)}}class iQ extends f0{#$;#Q;get url(){return this.#$}get processFunc(){return this.#Q}constructor($,Q){super("org.ethers.plugins.network.FetchUrlFeeDataPlugin");this.#$=$,this.#Q=Q}clone(){return this}}var eZ=new Map;class d{#$;#Q;#Y;constructor($,Q){this.#$=$,this.#Q=B(Q),this.#Y=new Map}toJSON(){return{name:this.name,chainId:String(this.chainId)}}get name(){return this.#$}set name($){this.#$=$}get chainId(){return this.#Q}set chainId($){this.#Q=B($,"chainId")}matches($){if($==null)return!1;if(typeof $==="string"){try{return this.chainId===B($)}catch(Q){}return this.name===$}if(typeof $==="number"||typeof $==="bigint"){try{return this.chainId===B($)}catch(Q){}return!1}if(typeof $==="object"){if($.chainId!=null){try{return this.chainId===B($.chainId)}catch(Q){}return!1}if($.name!=null)return this.name===$.name;return!1}return!1}get plugins(){return Array.from(this.#Y.values())}attachPlugin($){if(this.#Y.get($.name))throw new Error(`cannot replace existing plugin: ${$.name} `);return this.#Y.set($.name,$.clone()),this}getPlugin($){return this.#Y.get($)||null}getPlugins($){return this.plugins.filter((Q)=>Q.name.split("#")[0]===$)}clone(){let $=new d(this.name,this.chainId);return this.plugins.forEach((Q)=>{$.attachPlugin(Q.clone())}),$}computeIntrinsicGas($){let Q=this.getPlugin("org.ethers.plugins.network.GasCost")||new B8,Y=Q.txBase;if($.to==null)Y+=Q.txCreate;if($.data)for(let X=2;X<$.data.length;X+=2)if($.data.substring(X,X+2)==="00")Y+=Q.txDataZero;else Y+=Q.txDataNonzero;if($.accessList){let X=k$($.accessList);for(let J in X)Y+=Q.txAccessListAddress+Q.txAccessListStorageKey*X[J].storageKeys.length}return Y}static from($){if(z6(),$==null)return d.from("mainnet");if(typeof $==="number")$=BigInt($);if(typeof $==="string"||typeof $==="bigint"){let Q=eZ.get($);if(Q)return Q();if(typeof $==="bigint")return new d("unknown",$);O(!1,"unknown network","network",$)}if(typeof $.clone==="function")return $.clone();if(typeof $==="object"){O(typeof $.name==="string"&&typeof $.chainId==="number","invalid network object name or chainId","network",$);let Q=new d($.name,$.chainId);if($.ensAddress||$.ensNetwork!=null)Q.attachPlugin(new A8($.ensAddress,$.ensNetwork));return Q}O(!1,"invalid network","network",$)}static register($,Q){if(typeof $==="number")$=BigInt($);let Y=eZ.get($);if(Y)O(!1,`conflicting network for ${JSON.stringify(Y.name)}`,"nameOrChainId",$);eZ.set($,Q)}}function Q7($,Q){let Y=String($);if(!Y.match(/^[0-9.]+$/))throw new Error(`invalid gwei value: ${$}`);let X=Y.split(".");if(X.length===1)X.push("");if(X.length!==2)throw new Error(`invalid gwei value: ${$}`);while(X[1].length<Q)X[1]+="0";if(X[1].length>9){let J=BigInt(X[1].substring(0,9));if(!X[1].substring(9).match(/^0+$/))J++;X[1]=J.toString()}return BigInt(X[0]+X[1])}function Y7($){return new iQ($,async(Q,Y,X)=>{X.setHeader("User-Agent","ethers");let J;try{let[Z,G]=await Promise.all([X.send(),Q()]);J=Z;let z=J.bodyJson.standard;return{gasPrice:G.gasPrice,maxFeePerGas:Q7(z.maxFee,9),maxPriorityFeePerGas:Q7(z.maxPriorityFee,9)}}catch(Z){H(!1,`error encountered with polygon gas station (${JSON.stringify(X.url)})`,"SERVER_ERROR",{request:X,response:J,error:Z})}})}var X7=!1;function z6(){if(X7)return;X7=!0;function $(Q,Y,X){let J=function(){let Z=new d(Q,Y);if(X.ensNetwork!=null)Z.attachPlugin(new A8(null,X.ensNetwork));return Z.attachPlugin(new B8),(X.plugins||[]).forEach((G)=>{Z.attachPlugin(G)}),Z};if(d.register(Q,J),d.register(Y,J),X.altNames)X.altNames.forEach((Z)=>{d.register(Z,J)})}$("mainnet",1,{ensNetwork:1,altNames:["homestead"]}),$("ropsten",3,{ensNetwork:3}),$("rinkeby",4,{ensNetwork:4}),$("goerli",5,{ensNetwork:5}),$("kovan",42,{ensNetwork:42}),$("sepolia",11155111,{ensNetwork:11155111}),$("holesky",17000,{ensNetwork:17000}),$("classic",61,{}),$("classicKotti",6,{}),$("arbitrum",42161,{ensNetwork:1}),$("arbitrum-goerli",421613,{}),$("arbitrum-sepolia",421614,{}),$("base",8453,{ensNetwork:1}),$("base-goerli",84531,{}),$("base-sepolia",84532,{}),$("bnb",56,{ensNetwork:1}),$("bnbt",97,{}),$("linea",59144,{ensNetwork:1}),$("linea-goerli",59140,{}),$("linea-sepolia",59141,{}),$("matic",137,{ensNetwork:1,plugins:[Y7("https://gasstation.polygon.technology/v2")]}),$("matic-amoy",80002,{}),$("matic-mumbai",80001,{altNames:["maticMumbai","maticmum"],plugins:[Y7("https://gasstation-testnet.polygon.technology/v2")]}),$("optimism",10,{ensNetwork:1,plugins:[]}),$("optimism-goerli",420,{}),$("optimism-sepolia",11155420,{}),$("xdai",100,{ensNetwork:1})}function $9($){return JSON.parse(JSON.stringify($))}class Q9{#$;#Q;#Y;#X;constructor($){this.#$=$,this.#Q=null,this.#Y=4000,this.#X=-2}get pollingInterval(){return this.#Y}set pollingInterval($){this.#Y=$}async#J(){try{let $=await this.#$.getBlockNumber();if(this.#X===-2){this.#X=$;return}if($!==this.#X){for(let Q=this.#X+1;Q<=$;Q++){if(this.#Q==null)return;await this.#$.emit("block",Q)}this.#X=$}}catch($){}if(this.#Q==null)return;this.#Q=this.#$._setTimeout(this.#J.bind(this),this.#Y)}start(){if(this.#Q)return;this.#Q=this.#$._setTimeout(this.#J.bind(this),this.#Y),this.#J()}stop(){if(!this.#Q)return;this.#$._clearTimeout(this.#Q),this.#Q=null}pause($){if(this.stop(),$)this.#X=-2}resume(){this.start()}}class aX{#$;#Q;#Y;constructor($){this.#$=$,this.#Y=!1,this.#Q=(Q)=>{this._poll(Q,this.#$)}}async _poll($,Q){throw new Error("sub-classes must override this")}start(){if(this.#Y)return;this.#Y=!0,this.#Q(-2),this.#$.on("block",this.#Q)}stop(){if(!this.#Y)return;this.#Y=!1,this.#$.off("block",this.#Q)}pause($){this.stop()}resume(){this.start()}}class Y9 extends aX{#$;#Q;constructor($,Q){super($);this.#$=Q,this.#Q=-2}pause($){if($)this.#Q=-2;super.pause($)}async _poll($,Q){let Y=await Q.getBlock(this.#$);if(Y==null)return;if(this.#Q===-2)this.#Q=Y.number;else if(Y.number>this.#Q)Q.emit(this.#$,Y.number),this.#Q=Y.number}}class X9 extends aX{#$;constructor($,Q){super($);this.#$=$9(Q)}async _poll($,Q){throw new Error("@TODO")}}class J9 extends aX{#$;constructor($,Q){super($);this.#$=Q}async _poll($,Q){let Y=await Q.getTransactionReceipt(this.#$);if(Y)Q.emit(this.#$,Y)}}class WQ{#$;#Q;#Y;#X;#J;constructor($,Q){this.#$=$,this.#Q=$9(Q),this.#Y=this.#G.bind(this),this.#X=!1,this.#J=-2}async#G($){if(this.#J===-2)return;let Q=$9(this.#Q);Q.fromBlock=this.#J+1,Q.toBlock=$;let Y=await this.#$.getLogs(Q);if(Y.length===0){if(this.#J<$-60)this.#J=$-60;return}for(let X of Y)this.#$.emit(this.#Q,X),this.#J=X.blockNumber}start(){if(this.#X)return;if(this.#X=!0,this.#J===-2)this.#$.getBlockNumber().then(($)=>{this.#J=$});this.#$.on("block",this.#Y)}stop(){if(!this.#X)return;this.#X=!1,this.#$.off("block",this.#Y)}pause($){if(this.stop(),$)this.#J=-2}resume(){this.start()}}var W6=BigInt(2),V6=10;function rX($){return $&&typeof $.then==="function"}function tX($,Q){return $+":"+JSON.stringify(Q,(Y,X)=>{if(X==null)return"null";if(typeof X==="bigint")return`bigint:${X.toString()}`;if(typeof X==="string")return X.toLowerCase();if(typeof X==="object"&&!Array.isArray(X)){let J=Object.keys(X);return J.sort(),J.reduce((Z,G)=>{return Z[G]=X[G],Z},{})}return X})}class d0{name;constructor($){T(this,{name:$})}start(){}stop(){}pause($){}resume(){}}function K6($){return JSON.parse(JSON.stringify($))}function z9($){return $=Array.from(new Set($).values()),$.sort(),$}async function Z9($,Q){if($==null)throw new Error("invalid event");if(Array.isArray($))$={topics:$};if(typeof $==="string")switch($){case"block":case"debug":case"error":case"finalized":case"network":case"pending":case"safe":return{type:$,tag:$}}if(c($,32)){let Y=$.toLowerCase();return{type:"transaction",tag:tX("tx",{hash:Y}),hash:Y}}if($.orphan){let Y=$;return{type:"orphan",tag:tX("orphan",Y),filter:K6(Y)}}if($.address||$.topics){let Y=$,X={topics:(Y.topics||[]).map((J)=>{if(J==null)return null;if(Array.isArray(J))return z9(J.map((Z)=>Z.toLowerCase()));return J.toLowerCase()})};if(Y.address){let J=[],Z=[],G=(z)=>{if(c(z))J.push(z);else Z.push((async()=>{J.push(await K$(z,Q))})())};if(Array.isArray(Y.address))Y.address.forEach(G);else G(Y.address);if(Z.length)await Promise.all(Z);X.address=z9(J.map((z)=>z.toLowerCase()))}return{filter:X,tag:tX("event",X),type:"event"}}O(!1,"unknown ProviderEvent","event",$)}function G9(){return new Date().getTime()}var O6={cacheTimeout:250,pollingInterval:4000};class b0{#$;#Q;#Y;#X;#J;#G;#Z;#z;#O;#V;#U;#H;constructor($,Q){if(this.#H=Object.assign({},O6,Q||{}),$==="any")this.#G=!0,this.#J=null;else if($){let Y=d.from($);this.#G=!1,this.#J=Promise.resolve(Y),setTimeout(()=>{this.emit("network",Y,null)},0)}else this.#G=!1,this.#J=null;this.#z=-1,this.#Z=new Map,this.#$=new Map,this.#Q=new Map,this.#Y=null,this.#X=!1,this.#O=1,this.#V=new Map,this.#U=!1}get pollingInterval(){return this.#H.pollingInterval}get provider(){return this}get plugins(){return Array.from(this.#Q.values())}attachPlugin($){if(this.#Q.get($.name))throw new Error(`cannot replace existing plugin: ${$.name} `);return this.#Q.set($.name,$.connect(this)),this}getPlugin($){return this.#Q.get($)||null}get disableCcipRead(){return this.#U}set disableCcipRead($){this.#U=!!$}async#W($){let Q=this.#H.cacheTimeout;if(Q<0)return await this._perform($);let Y=tX($.method,$),X=this.#Z.get(Y);if(!X)X=this._perform($),this.#Z.set(Y,X),setTimeout(()=>{if(this.#Z.get(Y)===X)this.#Z.delete(Y)},Q);return await X}async ccipReadFetch($,Q,Y){if(this.disableCcipRead||Y.length===0||$.to==null)return null;let X=$.to.toLowerCase(),J=Q.toLowerCase(),Z=[];for(let G=0;G<Y.length;G++){let z=Y[G],W=z.replace("{sender}",X).replace("{data}",J),V=new Q$(W);if(z.indexOf("{data}")===-1)V.body={data:J,sender:X};this.emit("debug",{action:"sendCcipReadFetchRequest",request:V,index:G,urls:Y});let K="unknown error",D;try{D=await V.send()}catch(M){Z.push(M.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:V,result:{error:M}});continue}try{let M=D.bodyJson;if(M.data)return this.emit("debug",{action:"receiveCcipReadFetchResult",request:V,result:M}),M.data;if(M.message)K=M.message;this.emit("debug",{action:"receiveCcipReadFetchError",request:V,result:M})}catch(M){}H(D.statusCode<400||D.statusCode>=500,`response not found during CCIP fetch: ${K}`,"OFFCHAIN_FAULT",{reason:"404_MISSING_RESOURCE",transaction:$,info:{url:z,errorMessage:K}}),Z.push(K)}H(!1,`error encountered during CCIP fetch: ${Z.map((G)=>JSON.stringify(G)).join(", ")}`,"OFFCHAIN_FAULT",{reason:"500_SERVER_ERROR",transaction:$,info:{urls:Y,errorMessages:Z}})}_wrapBlock($,Q){return new dQ(ez($),this)}_wrapLog($,Q){return new M0(tz($),this)}_wrapTransactionReceipt($,Q){return new T8($7($),this)}_wrapTransactionResponse($,Q){return new c0(tZ($),this)}_detectNetwork(){H(!1,"sub-classes must implement this","UNSUPPORTED_OPERATION",{operation:"_detectNetwork"})}async _perform($){H(!1,`unsupported method: ${$.method}`,"UNSUPPORTED_OPERATION",{operation:$.method,info:$})}async getBlockNumber(){let $=w(await this.#W({method:"getBlockNumber"}),"%response");if(this.#z>=0)this.#z=$;return $}_getAddress($){return K$($,this)}_getBlockTag($){if($==null)return"latest";switch($){case"earliest":return"0x0";case"finalized":case"latest":case"pending":case"safe":return $}if(c($)){if(c($,32))return $;return i$($)}if(typeof $==="bigint")$=w($,"blockTag");if(typeof $==="number"){if($>=0)return i$($);if(this.#z>=0)return i$(this.#z+$);return this.getBlockNumber().then((Q)=>i$(Q+$))}O(!1,"invalid blockTag","blockTag",$)}_getFilter($){let Q=($.topics||[]).map((z)=>{if(z==null)return null;if(Array.isArray(z))return z9(z.map((W)=>W.toLowerCase()));return z.toLowerCase()}),Y="blockHash"in $?$.blockHash:void 0,X=(z,W,V)=>{let K=void 0;switch(z.length){case 0:break;case 1:K=z[0];break;default:z.sort(),K=z}if(Y){if(W!=null||V!=null)throw new Error("invalid filter")}let D={};if(K)D.address=K;if(Q.length)D.topics=Q;if(W)D.fromBlock=W;if(V)D.toBlock=V;if(Y)D.blockHash=Y;return D},J=[];if($.address)if(Array.isArray($.address))for(let z of $.address)J.push(this._getAddress(z));else J.push(this._getAddress($.address));let Z=void 0;if("fromBlock"in $)Z=this._getBlockTag($.fromBlock);let G=void 0;if("toBlock"in $)G=this._getBlockTag($.toBlock);if(J.filter((z)=>typeof z!=="string").length||Z!=null&&typeof Z!=="string"||G!=null&&typeof G!=="string")return Promise.all([Promise.all(J),Z,G]).then((z)=>{return X(z[0],z[1],z[2])});return X(J,Z,G)}_getTransactionRequest($){let Q=D0($),Y=[];if(["to","from"].forEach((X)=>{if(Q[X]==null)return;let J=K$(Q[X],this);if(rX(J))Y.push(async function(){Q[X]=await J}());else Q[X]=J}),Q.blockTag!=null){let X=this._getBlockTag(Q.blockTag);if(rX(X))Y.push(async function(){Q.blockTag=await X}());else Q.blockTag=X}if(Y.length)return async function(){return await Promise.all(Y),Q}();return Q}async getNetwork(){if(this.#J==null){let X=(async()=>{try{let J=await this._detectNetwork();return this.emit("network",J,null),J}catch(J){if(this.#J===X)this.#J=null;throw J}})();return this.#J=X,(await X).clone()}let $=this.#J,[Q,Y]=await Promise.all([$,this._detectNetwork()]);if(Q.chainId!==Y.chainId)if(this.#G){if(this.emit("network",Y,Q),this.#J===$)this.#J=Promise.resolve(Y)}else H(!1,`network changed: ${Q.chainId} => ${Y.chainId} `,"NETWORK_ERROR",{event:"changed"});return Q.clone()}async getFeeData(){let $=await this.getNetwork(),Q=async()=>{let{_block:X,gasPrice:J,priorityFee:Z}=await Z$({_block:this.#I("latest",!1),gasPrice:(async()=>{try{let V=await this.#W({method:"getGasPrice"});return B(V,"%response")}catch(V){}return null})(),priorityFee:(async()=>{try{let V=await this.#W({method:"getPriorityFee"});return B(V,"%response")}catch(V){}return null})()}),G=null,z=null,W=this._wrapBlock(X,$);if(W&&W.baseFeePerGas)z=Z!=null?Z:BigInt("1000000000"),G=W.baseFeePerGas*W6+z;return new XQ(J,G,z)},Y=$.getPlugin("org.ethers.plugins.network.FetchUrlFeeDataPlugin");if(Y){let X=new Q$(Y.url),J=await Y.processFunc(Q,this,X);return new XQ(J.gasPrice,J.maxFeePerGas,J.maxPriorityFeePerGas)}return await Q()}async estimateGas($){let Q=this._getTransactionRequest($);if(rX(Q))Q=await Q;return B(await this.#W({method:"estimateGas",transaction:Q}),"%response")}async#K($,Q,Y){H(Y<V6,"CCIP read exceeded maximum redirections","OFFCHAIN_FAULT",{reason:"TOO_MANY_REDIRECTS",transaction:Object.assign({},$,{blockTag:Q,enableCcipRead:!0})});let X=D0($);try{return L(await this._perform({method:"call",transaction:X,blockTag:Q}))}catch(J){if(!this.disableCcipRead&&z8(J)&&J.data&&Y>=0&&Q==="latest"&&X.to!=null&&o(J.data,0,4)==="0x556f1830"){let Z=J.data,G=await K$(X.to,this),z;try{z=I6(o(J.data,4))}catch(K){H(!1,K.message,"OFFCHAIN_FAULT",{reason:"BAD_DATA",transaction:X,info:{data:Z}})}H(z.sender.toLowerCase()===G.toLowerCase(),"CCIP Read sender mismatch","CALL_EXCEPTION",{action:"call",data:Z,reason:"OffchainLookup",transaction:X,invocation:null,revert:{signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",name:"OffchainLookup",args:z.errorArgs}});let W=await this.ccipReadFetch(X,z.calldata,z.urls);H(W!=null,"CCIP Read failed to fetch data","OFFCHAIN_FAULT",{reason:"FETCH_FAILED",transaction:X,info:{data:J.data,errorArgs:z.errorArgs}});let V={to:G,data:b([z.selector,H6([W,z.extraData])])};this.emit("debug",{action:"sendCcipReadCall",transaction:V});try{let K=await this.#K(V,Q,Y+1);return this.emit("debug",{action:"receiveCcipReadCallResult",transaction:Object.assign({},V),result:K}),K}catch(K){throw this.emit("debug",{action:"receiveCcipReadCallError",transaction:Object.assign({},V),error:K}),K}}throw J}}async#D($){let{value:Q}=await Z$({network:this.getNetwork(),value:$});return Q}async call($){let{tx:Q,blockTag:Y}=await Z$({tx:this._getTransactionRequest($),blockTag:this._getBlockTag($.blockTag)});return await this.#D(this.#K(Q,Y,$.enableCcipRead?0:-1))}async#M($,Q,Y){let X=this._getAddress(Q),J=this._getBlockTag(Y);if(typeof X!=="string"||typeof J!=="string")[X,J]=await Promise.all([X,J]);return await this.#D(this.#W(Object.assign($,{address:X,blockTag:J})))}async getBalance($,Q){return B(await this.#M({method:"getBalance"},$,Q),"%response")}async getTransactionCount($,Q){return w(await this.#M({method:"getTransactionCount"},$,Q),"%response")}async getCode($,Q){return L(await this.#M({method:"getCode"},$,Q))}async getStorage($,Q,Y){let X=B(Q,"position");return L(await this.#M({method:"getStorage",position:X},$,Y))}async broadcastTransaction($){let{blockNumber:Q,hash:Y,network:X}=await Z$({blockNumber:this.getBlockNumber(),hash:this._perform({method:"broadcastTransaction",signedTransaction:$}),network:this.getNetwork()}),J=B$.from($);if(J.hash!==Y)throw new Error("@TODO: the returned hash did not match");return this._wrapTransactionResponse(J,X).replaceableTransaction(Q)}async#I($,Q){if(c($,32))return await this.#W({method:"getBlock",blockHash:$,includeTransactions:Q});let Y=this._getBlockTag($);if(typeof Y!=="string")Y=await Y;return await this.#W({method:"getBlock",blockTag:Y,includeTransactions:Q})}async getBlock($,Q){let{network:Y,params:X}=await Z$({network:this.getNetwork(),params:this.#I($,!!Q)});if(X==null)return null;return this._wrapBlock(X,Y)}async getTransaction($){let{network:Q,params:Y}=await Z$({network:this.getNetwork(),params:this.#W({method:"getTransaction",hash:$})});if(Y==null)return null;return this._wrapTransactionResponse(Y,Q)}async getTransactionReceipt($){let{network:Q,params:Y}=await Z$({network:this.getNetwork(),params:this.#W({method:"getTransactionReceipt",hash:$})});if(Y==null)return null;if(Y.gasPrice==null&&Y.effectiveGasPrice==null){let X=await this.#W({method:"getTransaction",hash:$});if(X==null)throw new Error("report this; could not find tx or effectiveGasPrice");Y.effectiveGasPrice=X.gasPrice}return this._wrapTransactionReceipt(Y,Q)}async getTransactionResult($){let{result:Q}=await Z$({network:this.getNetwork(),result:this.#W({method:"getTransactionResult",hash:$})});if(Q==null)return null;return L(Q)}async getLogs($){let Q=this._getFilter($);if(rX(Q))Q=await Q;let{network:Y,params:X}=await Z$({network:this.getNetwork(),params:this.#W({method:"getLogs",filter:Q})});return X.map((J)=>this._wrapLog(J,Y))}_getProvider($){H(!1,"provider cannot connect to target network","UNSUPPORTED_OPERATION",{operation:"_getProvider()"})}async getResolver($){return await u0.fromName(this,$)}async getAvatar($){let Q=await this.getResolver($);if(Q)return await Q.getAvatar();return null}async resolveName($){let Q=await this.getResolver($);if(Q)return await Q.getAddress();return null}async lookupAddress($){$=f($);let Q=L8($.substring(2).toLowerCase()+".addr.reverse");try{let Y=await u0.getEnsAddress(this),J=await new G0(Y,["function resolver(bytes32) view returns (address)"],this).resolver(Q);if(J==null||J===F0)return null;let G=await new G0(J,["function name(bytes32) view returns (string)"],this).name(Q);if(await this.resolveName(G)!==$)return null;return G}catch(Y){if(t(Y,"BAD_DATA")&&Y.value==="0x")return null;if(t(Y,"CALL_EXCEPTION"))return null;throw Y}return null}async waitForTransaction($,Q,Y){let X=Q!=null?Q:1;if(X===0)return this.getTransactionReceipt($);return new Promise(async(J,Z)=>{let G=null,z=async(W)=>{try{let V=await this.getTransactionReceipt($);if(V!=null){if(W-V.blockNumber+1>=X){if(J(V),G)clearTimeout(G),G=null;return}}}catch(V){console.log("EEE",V)}this.once("block",z)};if(Y!=null)G=setTimeout(()=>{if(G==null)return;G=null,this.off("block",z),Z(l("timeout","TIMEOUT",{reason:"timeout"}))},Y);z(await this.getBlockNumber())})}async waitForBlock($){H(!1,"not implemented yet","NOT_IMPLEMENTED",{operation:"waitForBlock"})}_clearTimeout($){let Q=this.#V.get($);if(!Q)return;if(Q.timer)clearTimeout(Q.timer);this.#V.delete($)}_setTimeout($,Q){if(Q==null)Q=0;let Y=this.#O++,X=()=>{this.#V.delete(Y),$()};if(this.paused)this.#V.set(Y,{timer:null,func:X,time:Q});else{let J=setTimeout(X,Q);this.#V.set(Y,{timer:J,func:X,time:G9()})}return Y}_forEachSubscriber($){for(let Q of this.#$.values())$(Q.subscriber)}_getSubscriber($){switch($.type){case"debug":case"error":case"network":return new d0($.type);case"block":{let Q=new Q9(this);return Q.pollingInterval=this.pollingInterval,Q}case"safe":case"finalized":return new Y9(this,$.type);case"event":return new WQ(this,$.filter);case"transaction":return new J9(this,$.hash);case"orphan":return new X9(this,$.filter)}throw new Error(`unsupported event: ${$.type}`)}_recoverSubscriber($,Q){for(let Y of this.#$.values())if(Y.subscriber===$){if(Y.started)Y.subscriber.stop();if(Y.subscriber=Q,Y.started)Q.start();if(this.#Y!=null)Q.pause(this.#Y);break}}async#q($,Q){let Y=await Z9($,this);if(Y.type==="event"&&Q&&Q.length>0&&Q[0].removed===!0)Y=await Z9({orphan:"drop-log",log:Q[0]},this);return this.#$.get(Y.tag)||null}async#R($){let Q=await Z9($,this),Y=Q.tag,X=this.#$.get(Y);if(!X)X={subscriber:this._getSubscriber(Q),tag:Y,addressableMap:new WeakMap,nameMap:new Map,started:!1,listeners:[]},this.#$.set(Y,X);return X}async on($,Q){let Y=await this.#R($);if(Y.listeners.push({listener:Q,once:!1}),!Y.started){if(Y.subscriber.start(),Y.started=!0,this.#Y!=null)Y.subscriber.pause(this.#Y)}return this}async once($,Q){let Y=await this.#R($);if(Y.listeners.push({listener:Q,once:!0}),!Y.started){if(Y.subscriber.start(),Y.started=!0,this.#Y!=null)Y.subscriber.pause(this.#Y)}return this}async emit($,...Q){let Y=await this.#q($,Q);if(!Y||Y.listeners.length===0)return!1;let X=Y.listeners.length;if(Y.listeners=Y.listeners.filter(({listener:J,once:Z})=>{let G=new W8(this,Z?null:J,$);try{J.call(this,...Q,G)}catch(z){}return!Z}),Y.listeners.length===0){if(Y.started)Y.subscriber.stop();this.#$.delete(Y.tag)}return X>0}async listenerCount($){if($){let Y=await this.#q($);if(!Y)return 0;return Y.listeners.length}let Q=0;for(let{listeners:Y}of this.#$.values())Q+=Y.length;return Q}async listeners($){if($){let Y=await this.#q($);if(!Y)return[];return Y.listeners.map(({listener:X})=>X)}let Q=[];for(let{listeners:Y}of this.#$.values())Q=Q.concat(Y.map(({listener:X})=>X));return Q}async off($,Q){let Y=await this.#q($);if(!Y)return this;if(Q){let X=Y.listeners.map(({listener:J})=>J).indexOf(Q);if(X>=0)Y.listeners.splice(X,1)}if(!Q||Y.listeners.length===0){if(Y.started)Y.subscriber.stop();this.#$.delete(Y.tag)}return this}async removeAllListeners($){if($){let{tag:Q,started:Y,subscriber:X}=await this.#R($);if(Y)X.stop();this.#$.delete(Q)}else for(let[Q,{started:Y,subscriber:X}]of this.#$){if(Y)X.stop();this.#$.delete(Q)}return this}async addListener($,Q){return await this.on($,Q)}async removeListener($,Q){return this.off($,Q)}get destroyed(){return this.#X}destroy(){this.removeAllListeners();for(let $ of this.#V.keys())this._clearTimeout($);this.#X=!0}get paused(){return this.#Y!=null}set paused($){if(!!$===this.paused)return;if(this.paused)this.resume();else this.pause(!1)}pause($){if(this.#z=-1,this.#Y!=null){if(this.#Y==!!$)return;H(!1,"cannot change pause type; resume first","UNSUPPORTED_OPERATION",{operation:"pause"})}this._forEachSubscriber((Q)=>Q.pause($)),this.#Y=!!$;for(let Q of this.#V.values()){if(Q.timer)clearTimeout(Q.timer);Q.time=G9()-Q.time}}resume(){if(this.#Y==null)return;this._forEachSubscriber(($)=>$.resume()),this.#Y=null;for(let $ of this.#V.values()){let Q=$.time;if(Q<0)Q=0;$.time=G9(),setTimeout($.func,Q)}}}function D6($,Q){try{let Y=W9($,Q);if(Y)return u$(Y)}catch(Y){}return null}function W9($,Q){if($==="0x")return null;try{let Y=w(o($,Q,Q+32)),X=w(o($,Y,Y+32));return o($,Y+32,Y+32+X)}catch(Y){}return null}function J7($){let Q=z$($);if(Q.length>32)throw new Error("internal; should not happen");let Y=new Uint8Array(32);return Y.set(Q,32-Q.length),Y}function M6($){if($.length%32===0)return $;let Q=new Uint8Array(Math.ceil($.length/32)*32);return Q.set($),Q}var U6=new Uint8Array([]);function H6($){let Q=[],Y=0;for(let X=0;X<$.length;X++)Q.push(U6),Y+=32;for(let X=0;X<$.length;X++){let J=C($[X]);Q[X]=J7(Y),Q.push(J7(J.length)),Q.push(M6(J)),Y+=32+Math.ceil(J.length/32)*32}return b(Q)}var Z7="0x0000000000000000000000000000000000000000000000000000000000000000";function I6($){let Q={sender:"",urls:[],calldata:"",selector:"",extraData:"",errorArgs:[]};H(l$($)>=160,"insufficient OffchainLookup data","OFFCHAIN_FAULT",{reason:"insufficient OffchainLookup data"});let Y=o($,0,32);H(o(Y,0,12)===o(Z7,0,12),"corrupt OffchainLookup sender","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup sender"}),Q.sender=o(Y,12);try{let X=[],J=w(o($,32,64)),Z=w(o($,J,J+32)),G=o($,J+32);for(let z=0;z<Z;z++){let W=D6(G,z*32);if(W==null)throw new Error("abort");X.push(W)}Q.urls=X}catch(X){H(!1,"corrupt OffchainLookup urls","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup urls"})}try{let X=W9($,64);if(X==null)throw new Error("abort");Q.calldata=X}catch(X){H(!1,"corrupt OffchainLookup calldata","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup calldata"})}H(o($,100,128)===o(Z7,0,28),"corrupt OffchainLookup callbaackSelector","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup callbaackSelector"}),Q.selector=o($,96,100);try{let X=W9($,128);if(X==null)throw new Error("abort");Q.extraData=X}catch(X){H(!1,"corrupt OffchainLookup extraData","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup extraData"})}return Q.errorArgs="sender,urls,calldata,selector,extraData".split(/,/).map((X)=>Q[X]),Q}function nQ($,Q){if($.provider)return $.provider;H(!1,"missing provider","UNSUPPORTED_OPERATION",{operation:Q})}async function G7($,Q){let Y=D0(Q);if(Y.to!=null)Y.to=K$(Y.to,$);if(Y.from!=null){let X=Y.from;Y.from=Promise.all([$.getAddress(),K$(X,$)]).then(([J,Z])=>{return O(J.toLowerCase()===Z.toLowerCase(),"transaction from mismatch","tx.from",Z),J})}else Y.from=$.getAddress();return await Z$(Y)}class h0{provider;constructor($){T(this,{provider:$||null})}async getNonce($){return nQ(this,"getTransactionCount").getTransactionCount(await this.getAddress(),$)}async populateCall($){return await G7(this,$)}async populateTransaction($){let Q=nQ(this,"populateTransaction"),Y=await G7(this,$);if(Y.nonce==null)Y.nonce=await this.getNonce("pending");if(Y.gasLimit==null)Y.gasLimit=await this.estimateGas(Y);let X=await this.provider.getNetwork();if(Y.chainId!=null){let Z=B(Y.chainId);O(Z===X.chainId,"transaction chainId mismatch","tx.chainId",$.chainId)}else Y.chainId=X.chainId;let J=Y.maxFeePerGas!=null||Y.maxPriorityFeePerGas!=null;if(Y.gasPrice!=null&&(Y.type===2||J))O(!1,"eip-1559 transaction do not support gasPrice","tx",$);else if((Y.type===0||Y.type===1)&&J)O(!1,"pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","tx",$);if((Y.type===2||Y.type==null)&&(Y.maxFeePerGas!=null&&Y.maxPriorityFeePerGas!=null))Y.type=2;else if(Y.type===0||Y.type===1){let Z=await Q.getFeeData();if(H(Z.gasPrice!=null,"network does not support gasPrice","UNSUPPORTED_OPERATION",{operation:"getGasPrice"}),Y.gasPrice==null)Y.gasPrice=Z.gasPrice}else{let Z=await Q.getFeeData();if(Y.type==null)if(Z.maxFeePerGas!=null&&Z.maxPriorityFeePerGas!=null)if(Y.type=2,Y.gasPrice!=null){let G=Y.gasPrice;delete Y.gasPrice,Y.maxFeePerGas=G,Y.maxPriorityFeePerGas=G}else{if(Y.maxFeePerGas==null)Y.maxFeePerGas=Z.maxFeePerGas;if(Y.maxPriorityFeePerGas==null)Y.maxPriorityFeePerGas=Z.maxPriorityFeePerGas}else if(Z.gasPrice!=null){if(H(!J,"network does not support EIP-1559","UNSUPPORTED_OPERATION",{operation:"populateTransaction"}),Y.gasPrice==null)Y.gasPrice=Z.gasPrice;Y.type=0}else H(!1,"failed to get consistent fee data","UNSUPPORTED_OPERATION",{operation:"signer.getFeeData"});else if(Y.type===2||Y.type===3){if(Y.maxFeePerGas==null)Y.maxFeePerGas=Z.maxFeePerGas;if(Y.maxPriorityFeePerGas==null)Y.maxPriorityFeePerGas=Z.maxPriorityFeePerGas}}return await Z$(Y)}async estimateGas($){return nQ(this,"estimateGas").estimateGas(await this.populateCall($))}async call($){return nQ(this,"call").call(await this.populateCall($))}async resolveName($){return await nQ(this,"resolveName").resolveName($)}async sendTransaction($){let Q=nQ(this,"sendTransaction"),Y=await this.populateTransaction($);delete Y.from;let X=B$.from(Y);return await Q.broadcastTransaction(await this.signTransaction(X))}}class VQ extends h0{address;constructor($,Q){super(Q);T(this,{address:$})}async getAddress(){return this.address}connect($){return new VQ(this.address,$)}#$($,Q){H(!1,`VoidSigner cannot sign ${$}`,"UNSUPPORTED_OPERATION",{operation:Q})}async signTransaction($){this.#$("transactions","signTransaction")}async signMessage($){this.#$("messages","signMessage")}async signTypedData($,Q,Y){this.#$("typed-data","signTypedData")}}var z7=new Set;function b$($){if(z7.has($))return;z7.add($),console.log("========= NOTICE ========="),console.log(`Request-Rate Exceeded for ${$} (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 q6($){return JSON.parse(JSON.stringify($))}class V9{#$;#Q;#Y;#X;#J;#G;constructor($){this.#$=$,this.#Q=null,this.#Y=this.#Z.bind(this),this.#X=!1,this.#J=null,this.#G=!1}_subscribe($){throw new Error("subclasses must override this")}_emitResults($,Q){throw new Error("subclasses must override this")}_recover($){throw new Error("subclasses must override this")}async#Z($){try{if(this.#Q==null)this.#Q=this._subscribe(this.#$);let Q=null;try{Q=await this.#Q}catch(J){if(!t(J,"UNSUPPORTED_OPERATION")||J.operation!=="eth_newFilter")throw J}if(Q==null){this.#Q=null,this.#$._recoverSubscriber(this,this._recover(this.#$));return}let Y=await this.#$.getNetwork();if(!this.#J)this.#J=Y;if(this.#J.chainId!==Y.chainId)throw new Error("chaid changed");if(this.#G)return;let X=await this.#$.send("eth_getFilterChanges",[Q]);await this._emitResults(this.#$,X)}catch(Q){console.log("@TODO",Q)}this.#$.once("block",this.#Y)}#z(){let $=this.#Q;if($)this.#Q=null,$.then((Q)=>{if(this.#$.destroyed)return;this.#$.send("eth_uninstallFilter",[Q])})}start(){if(this.#X)return;this.#X=!0,this.#Z(-2)}stop(){if(!this.#X)return;this.#X=!1,this.#G=!0,this.#z(),this.#$.off("block",this.#Y)}pause($){if($)this.#z();this.#$.off("block",this.#Y)}resume(){this.start()}}class K9 extends V9{#$;constructor($,Q){super($);this.#$=q6(Q)}_recover($){return new WQ($,this.#$)}async _subscribe($){return await $.send("eth_newFilter",[this.#$])}async _emitResults($,Q){for(let Y of Q)$.emit(this.#$,$._wrapLog(Y,$._network))}}class O9 extends V9{async _subscribe($){return await $.send("eth_newPendingTransactionFilter",[])}async _emitResults($,Q){for(let Y of Q)$.emit("pending",Y)}}var R6="bigint,boolean,function,number,string,symbol".split(/,/g);function eX($){if($==null||R6.indexOf(typeof $)>=0)return $;if(typeof $.getAddress==="function")return $;if(Array.isArray($))return $.map(eX);if(typeof $==="object")return Object.keys($).reduce((Q,Y)=>{return Q[Y]=$[Y],Q},{});throw new Error(`should not happen: ${$} (${typeof $})`)}function L6($){return new Promise((Q)=>{setTimeout(Q,$)})}function oQ($){if($)return $.toLowerCase();return $}function W7($){return $&&typeof $.pollingInterval==="number"}var V7={polling:!1,staticNetwork:null,batchStallTime:10,batchMaxSize:1048576,batchMaxCount:100,cacheTimeout:250,pollingInterval:4000};class KQ extends h0{address;constructor($,Q){super($);Q=f(Q),T(this,{address:Q})}connect($){H(!1,"cannot reconnect JsonRpcSigner","UNSUPPORTED_OPERATION",{operation:"signer.connect"})}async getAddress(){return this.address}async populateTransaction($){return await this.populateCall($)}async sendUncheckedTransaction($){let Q=eX($),Y=[];if(Q.from){let J=Q.from;Y.push((async()=>{let Z=await K$(J,this.provider);O(Z!=null&&Z.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",$),Q.from=Z})())}else Q.from=this.address;if(Q.gasLimit==null)Y.push((async()=>{Q.gasLimit=await this.provider.estimateGas({...Q,from:this.address})})());if(Q.to!=null){let J=Q.to;Y.push((async()=>{Q.to=await K$(J,this.provider)})())}if(Y.length)await Promise.all(Y);let X=this.provider.getRpcTransaction(Q);return this.provider.send("eth_sendTransaction",[X])}async sendTransaction($){let Q=await this.provider.getBlockNumber(),Y=await this.sendUncheckedTransaction($);return await new Promise((X,J)=>{let Z=[1000,100],G=0,z=async()=>{try{let W=await this.provider.getTransaction(Y);if(W!=null){X(W.replaceableTransaction(Q));return}}catch(W){if(t(W,"CANCELLED")||t(W,"BAD_DATA")||t(W,"NETWORK_ERROR")||t(W,"UNSUPPORTED_OPERATION")){if(W.info==null)W.info={};W.info.sendTransactionHash=Y,J(W);return}if(t(W,"INVALID_ARGUMENT")){if(G++,W.info==null)W.info={};if(W.info.sendTransactionHash=Y,G>10){J(W);return}}this.provider.emit("error",l("failed to fetch transation after sending (will try again)","UNKNOWN_ERROR",{error:W}))}this.provider._setTimeout(()=>{z()},Z.pop()||4000)};z()})}async signTransaction($){let Q=eX($);if(Q.from){let X=await K$(Q.from,this.provider);O(X!=null&&X.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",$),Q.from=X}else Q.from=this.address;let Y=this.provider.getRpcTransaction(Q);return await this.provider.send("eth_signTransaction",[Y])}async signMessage($){let Q=typeof $==="string"?e($):$;return await this.provider.send("personal_sign",[L(Q),this.address.toLowerCase()])}async signTypedData($,Q,Y){let X=eX(Y),J=await L$.resolveNames($,Q,X,async(Z)=>{let G=await K$(Z);return O(G!=null,"TypedData does not support null address","value",Z),G});return await this.provider.send("eth_signTypedData_v4",[this.address.toLowerCase(),JSON.stringify(L$.getPayload(J.domain,Q,J.value))])}async unlock($){return this.provider.send("personal_unlockAccount",[this.address.toLowerCase(),$,null])}async _legacySignMessage($){let Q=typeof $==="string"?e($):$;return await this.provider.send("eth_sign",[this.address.toLowerCase(),L(Q)])}}class OQ extends b0{#$;#Q;#Y;#X;#J;#G;#Z;#z(){if(this.#X)return;let $=this._getOption("batchMaxCount")===1?0:this._getOption("batchStallTime");this.#X=setTimeout(()=>{this.#X=null;let Q=this.#Y;this.#Y=[];while(Q.length){let Y=[Q.shift()];while(Q.length){if(Y.length===this.#$.batchMaxCount)break;if(Y.push(Q.shift()),JSON.stringify(Y.map((J)=>J.payload)).length>this.#$.batchMaxSize){Q.unshift(Y.pop());break}}(async()=>{let X=Y.length===1?Y[0].payload:Y.map((J)=>J.payload);this.emit("debug",{action:"sendRpcPayload",payload:X});try{let J=await this._send(X);this.emit("debug",{action:"receiveRpcResult",result:J});for(let{resolve:Z,reject:G,payload:z}of Y){if(this.destroyed){G(l("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:z.method}));continue}let W=J.filter((V)=>V.id===z.id)[0];if(W==null){let V=l("missing response for request","BAD_DATA",{value:J,info:{payload:z}});this.emit("error",V),G(V);continue}if("error"in W){G(this.getRpcError(z,W));continue}Z(W.result)}}catch(J){this.emit("debug",{action:"receiveRpcError",error:J});for(let{reject:Z}of Y)Z(J)}})()}},$)}constructor($,Q){super($,Q);this.#Q=1,this.#$=Object.assign({},V7,Q||{}),this.#Y=[],this.#X=null,this.#G=null,this.#Z=null;{let X=null,J=new Promise((Z)=>{X=Z});this.#J={promise:J,resolve:X}}let Y=this._getOption("staticNetwork");if(typeof Y==="boolean"){if(O(!Y||$!=="any","staticNetwork cannot be used on special network 'any'","options",Q),Y&&$!=null)this.#G=d.from($)}else if(Y)O($==null||Y.matches($),"staticNetwork MUST match network object","options",Q),this.#G=Y}_getOption($){return this.#$[$]}get _network(){return H(this.#G,"network is not available yet","NETWORK_ERROR"),this.#G}async _perform($){if($.method==="call"||$.method==="estimateGas"){let Y=$.transaction;if(Y&&Y.type!=null&&B(Y.type)){if(Y.maxFeePerGas==null&&Y.maxPriorityFeePerGas==null){let X=await this.getFeeData();if(X.maxFeePerGas==null&&X.maxPriorityFeePerGas==null)$=Object.assign({},$,{transaction:Object.assign({},Y,{type:void 0})})}}}let Q=this.getRpcRequest($);if(Q!=null)return await this.send(Q.method,Q.args);return super._perform($)}async _detectNetwork(){let $=this._getOption("staticNetwork");if($)if($===!0){if(this.#G)return this.#G}else return $;if(this.#Z)return await this.#Z;if(this.ready)return this.#Z=(async()=>{try{let Q=d.from(B(await this.send("eth_chainId",[])));return this.#Z=null,Q}catch(Q){throw this.#Z=null,Q}})(),await this.#Z;return this.#Z=(async()=>{let Q={id:this.#Q++,method:"eth_chainId",params:[],jsonrpc:"2.0"};this.emit("debug",{action:"sendRpcPayload",payload:Q});let Y;try{Y=(await this._send(Q))[0],this.#Z=null}catch(X){throw this.#Z=null,this.emit("debug",{action:"receiveRpcError",error:X}),X}if(this.emit("debug",{action:"receiveRpcResult",result:Y}),"result"in Y)return d.from(B(Y.result));throw this.getRpcError(Q,Y)})(),await this.#Z}_start(){if(this.#J==null||this.#J.resolve==null)return;this.#J.resolve(),this.#J=null,(async()=>{while(this.#G==null&&!this.destroyed)try{this.#G=await this._detectNetwork()}catch($){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",l("failed to bootstrap network detection","NETWORK_ERROR",{event:"initial-network-discovery",info:{error:$}})),await L6(1000)}this.#z()})()}async _waitUntilReady(){if(this.#J==null)return;return await this.#J.promise}_getSubscriber($){if($.type==="pending")return new O9(this);if($.type==="event"){if(this._getOption("polling"))return new WQ(this,$.filter);return new K9(this,$.filter)}if($.type==="orphan"&&$.filter.orphan==="drop-log")return new d0("orphan");return super._getSubscriber($)}get ready(){return this.#J==null}getRpcTransaction($){let Q={};if(["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach((Y)=>{if($[Y]==null)return;let X=Y;if(Y==="gasLimit")X="gas";Q[X]=i$(B($[Y],`tx.${Y}`))}),["from","to","data"].forEach((Y)=>{if($[Y]==null)return;Q[Y]=L($[Y])}),$.accessList)Q.accessList=k$($.accessList);if($.blobVersionedHashes)Q.blobVersionedHashes=$.blobVersionedHashes.map((Y)=>Y.toLowerCase());return Q}getRpcRequest($){switch($.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:[oQ($.address),$.blockTag]};case"getTransactionCount":return{method:"eth_getTransactionCount",args:[oQ($.address),$.blockTag]};case"getCode":return{method:"eth_getCode",args:[oQ($.address),$.blockTag]};case"getStorage":return{method:"eth_getStorageAt",args:[oQ($.address),"0x"+$.position.toString(16),$.blockTag]};case"broadcastTransaction":return{method:"eth_sendRawTransaction",args:[$.signedTransaction]};case"getBlock":if("blockTag"in $)return{method:"eth_getBlockByNumber",args:[$.blockTag,!!$.includeTransactions]};else if("blockHash"in $)return{method:"eth_getBlockByHash",args:[$.blockHash,!!$.includeTransactions]};break;case"getTransaction":return{method:"eth_getTransactionByHash",args:[$.hash]};case"getTransactionReceipt":return{method:"eth_getTransactionReceipt",args:[$.hash]};case"call":return{method:"eth_call",args:[this.getRpcTransaction($.transaction),$.blockTag]};case"estimateGas":return{method:"eth_estimateGas",args:[this.getRpcTransaction($.transaction)]};case"getLogs":if($.filter&&$.filter.address!=null)if(Array.isArray($.filter.address))$.filter.address=$.filter.address.map(oQ);else $.filter.address=oQ($.filter.address);return{method:"eth_getLogs",args:[$.filter]}}return null}getRpcError($,Q){let{method:Y}=$,{error:X}=Q;if(Y==="eth_estimateGas"&&X.message){let G=X.message;if(!G.match(/revert/i)&&G.match(/insufficient funds/i))return l("insufficient funds","INSUFFICIENT_FUNDS",{transaction:$.params[0],info:{payload:$,error:X}})}if(Y==="eth_call"||Y==="eth_estimateGas"){let G=D9(X),z=X0.getBuiltinCallException(Y==="eth_call"?"call":"estimateGas",$.params[0],G?G.data:null);return z.info={error:X,payload:$},z}let J=JSON.stringify(E6(X));if(typeof X.message==="string"&&X.message.match(/user denied|ethers-user-denied/i))return l("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"}[Y]||"unknown",reason:"rejected",info:{payload:$,error:X}});if(Y==="eth_sendRawTransaction"||Y==="eth_sendTransaction"){let G=$.params[0];if(J.match(/insufficient funds|base fee exceeds gas limit/i))return l("insufficient funds for intrinsic transaction cost","INSUFFICIENT_FUNDS",{transaction:G,info:{error:X}});if(J.match(/nonce/i)&&J.match(/too low/i))return l("nonce has already been used","NONCE_EXPIRED",{transaction:G,info:{error:X}});if(J.match(/replacement transaction/i)&&J.match(/underpriced/i))return l("replacement fee too low","REPLACEMENT_UNDERPRICED",{transaction:G,info:{error:X}});if(J.match(/only replay-protected/i))return l("legacy pre-eip-155 transactions not supported","UNSUPPORTED_OPERATION",{operation:Y,info:{transaction:G,info:{error:X}}})}let Z=!!J.match(/the method .* does not exist/i);if(!Z){if(X&&X.details&&X.details.startsWith("Unauthorized method:"))Z=!0}if(Z)return l("unsupported operation","UNSUPPORTED_OPERATION",{operation:$.method,info:{error:X,payload:$}});return l("could not coalesce error","UNKNOWN_ERROR",{error:X,payload:$})}send($,Q){if(this.destroyed)return Promise.reject(l("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:$}));let Y=this.#Q++,X=new Promise((J,Z)=>{this.#Y.push({resolve:J,reject:Z,payload:{method:$,params:Q,id:Y,jsonrpc:"2.0"}})});return this.#z(),X}async getSigner($){if($==null)$=0;let Q=this.send("eth_accounts",[]);if(typeof $==="number"){let X=await Q;if($>=X.length)throw new Error("no such account");return new KQ(this,X[$])}let{accounts:Y}=await Z$({network:this.getNetwork(),accounts:Q});$=f($);for(let X of Y)if(f(X)===$)return new KQ(this,$);throw new Error("invalid account")}async listAccounts(){return(await this.send("eth_accounts",[])).map((Q)=>new KQ(this,Q))}destroy(){if(this.#X)clearTimeout(this.#X),this.#X=null;for(let{payload:$,reject:Q}of this.#Y)Q(l("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:$.method}));this.#Y=[],super.destroy()}}class $J extends OQ{#$;constructor($,Q){super($,Q);let Y=this._getOption("pollingInterval");if(Y==null)Y=V7.pollingInterval;this.#$=Y}_getSubscriber($){let Q=super._getSubscriber($);if(W7(Q))Q.pollingInterval=this.#$;return Q}get pollingInterval(){return this.#$}set pollingInterval($){if(!Number.isInteger($)||$<0)throw new Error("invalid interval");this.#$=$,this._forEachSubscriber((Q)=>{if(W7(Q))Q.pollingInterval=this.#$})}}class H$ extends $J{#$;constructor($,Q,Y){if($==null)$="http://localhost:8545";super(Q,Y);if(typeof $==="string")this.#$=new Q$($);else this.#$=$.clone()}_getConnection(){return this.#$.clone()}async send($,Q){return await this._start(),await super.send($,Q)}async _send($){let Q=this._getConnection();Q.body=JSON.stringify($),Q.setHeader("content-type","application/json");let Y=await Q.send();Y.assertOk();let X=Y.bodyJson;if(!Array.isArray(X))X=[X];return X}}function D9($){if($==null)return null;if(typeof $.message==="string"&&$.message.match(/revert/i)&&c($.data))return{message:$.message,data:$.data};if(typeof $==="object"){for(let Q in $){let Y=D9($[Q]);if(Y)return Y}return null}if(typeof $==="string")try{return D9(JSON.parse($))}catch(Q){}return null}function M9($,Q){if($==null)return;if(typeof $.message==="string")Q.push($.message);if(typeof $==="object")for(let Y in $)M9($[Y],Q);if(typeof $==="string")try{return M9(JSON.parse($),Q)}catch(Y){}}function E6($){let Q=[];return M9($,Q),Q}var QJ="9f7d929b018cdffb338517efa06f58359e86ff1ffd350bc889738523659e7972";function C6($){switch($){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"}O(!1,"unsupported network","network",$)}class P8 extends H${apiKey;constructor($,Q){if($==null)$="mainnet";let Y=d.from($);if(Q==null)Q=QJ;let X={polling:!0,staticNetwork:Y},J=P8.getRequest(Y,Q);super(J,Y,X);T(this,{apiKey:Q})}_getProvider($){try{return new P8($,this.apiKey)}catch(Q){}return super._getProvider($)}static getRequest($,Q){if(Q==null)Q=QJ;let Y=new Q$(`https://${C6($.name)}/${Q}`);if(Y.allowGzip=!0,Q===QJ)Y.retryFunc=async(X,J,Z)=>{return b$("AnkrProvider"),!0};return Y}getRpcError($,Q){if($.method==="eth_sendRawTransaction"){if(Q&&Q.error&&Q.error.message==="INTERNAL_ERROR: could not replace existing tx")Q.error.message="replacement transaction underpriced"}return super.getRpcError($,Q)}isCommunityResource(){return this.apiKey===QJ}}var YJ="_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC";function T6($){switch($){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"}O(!1,"unsupported network","network",$)}class F8 extends H${apiKey;constructor($,Q){if($==null)$="mainnet";let Y=d.from($);if(Q==null)Q=YJ;let X=F8.getRequest(Y,Q);super(X,Y,{staticNetwork:Y});T(this,{apiKey:Q})}_getProvider($){try{return new F8($,this.apiKey)}catch(Q){}return super._getProvider($)}async _perform($){if($.method==="getTransactionResult"){let{trace:Q,tx:Y}=await Z$({trace:this.send("trace_transaction",[$.hash]),tx:this.getTransaction($.hash)});if(Q==null||Y==null)return null;let X,J=!1;try{X=Q[0].result.output,J=Q[0].error==="Reverted"}catch(Z){}if(X)return H(!J,"an error occurred during transaction executions","CALL_EXCEPTION",{action:"getTransactionResult",data:X,reason:null,transaction:Y,invocation:null,revert:null}),X;H(!1,"could not parse trace result","BAD_DATA",{value:Q})}return await super._perform($)}isCommunityResource(){return this.apiKey===YJ}static getRequest($,Q){if(Q==null)Q=YJ;let Y=new Q$(`https://${T6($.name)}/v2/${Q}`);if(Y.allowGzip=!0,Q===YJ)Y.retryFunc=async(X,J,Z)=>{return b$("alchemy"),!0};return Y}}function XJ($){switch($){case"mainnet":return"39f1d67cedf8b7831010a665328c9197";case"arbitrum":return"0550c209db33c3abf4cc927e1e18cea1";case"bnb":return"98b5a77e531614387366f6fc5da097f8";case"matic":return"cd9d4d70377471aa7c142ec4a4205249"}O(!1,"unsupported network","network",$)}function N6($){switch($){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"}O(!1,"unsupported network","network",$)}class j8 extends H${apiKey;constructor($,Q){if($==null)$="mainnet";let Y=d.from($);if(Q==null)Q=XJ(Y.name);let X=j8.getRequest(Y,Q);super(X,Y,{staticNetwork:Y});T(this,{apiKey:Q})}_getProvider($){try{return new j8($,this.apiKey)}catch(Q){}return super._getProvider($)}isCommunityResource(){return this.apiKey===XJ(this._network.name)}static getRequest($,Q){if(Q==null)Q=XJ($.name);let Y=new Q$(`https://${N6($.name)}/${Q}`);if(Y.allowGzip=!0,Q===XJ($.name))Y.retryFunc=async(X,J,Z)=>{return b$("ChainstackProvider"),!0};return Y}}class sQ extends H${constructor($){if($==null)$="mainnet";let Q=d.from($);O(Q.name==="mainnet","unsupported network","network",$);super("https://cloudflare-eth.com/",Q,{staticNetwork:Q})}}var K7=2000;function S6($){return $&&typeof $.then==="function"}var O7="org.ethers.plugins.provider.Etherscan";class dY extends f0{baseUrl;constructor($){super(O7);T(this,{baseUrl:$})}clone(){return new dY(this.baseUrl)}}var B6=["enableCcipRead"],A6=1;class aQ extends b0{network;apiKey;#$;constructor($,Q){let Y=Q!=null?Q:null;super();let X=d.from($);this.#$=X.getPlugin(O7),T(this,{apiKey:Y,network:X}),this.getBaseUrl()}getBaseUrl(){if(this.#$)return this.#$.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:}O(!1,"unsupported network","network",this.network)}getUrl($,Q){let Y=Object.keys(Q).reduce((J,Z)=>{let G=Q[Z];if(G!=null)J+=`&${Z}=${G}`;return J},""),X=this.apiKey?`&apikey=${this.apiKey}`:"";return`${this.getBaseUrl()}/api?module=${$}${Y}${X}`}getPostUrl(){return`${this.getBaseUrl()}/api`}getPostData($,Q){return Q.module=$,Q.apikey=this.apiKey,Q}async detectNetwork(){return this.network}async fetch($,Q,Y){let X=A6++,J=Y?this.getPostUrl():this.getUrl($,Q),Z=Y?this.getPostData($,Q):null;this.emit("debug",{action:"sendRequest",id:X,url:J,payload:Z});let G=new Q$(J);if(G.setThrottleParams({slotInterval:1000}),G.retryFunc=(V,K,D)=>{if(this.isCommunityResource())b$("Etherscan");return Promise.resolve(!0)},G.processFunc=async(V,K)=>{let D=K.hasBody()?JSON.parse(u$(K.body)):{},M=(typeof D.result==="string"?D.result:"").toLowerCase().indexOf("rate limit")>=0;if($==="proxy"){if(D&&D.status==0&&D.message=="NOTOK"&&M)this.emit("debug",{action:"receiveError",id:X,reason:"proxy-NOTOK",error:D}),K.throwThrottleError(D.result,K7)}else if(M)this.emit("debug",{action:"receiveError",id:X,reason:"null result",error:D.result}),K.throwThrottleError(D.result,K7);return K},Z)G.setHeader("content-type","application/x-www-form-urlencoded; charset=UTF-8"),G.body=Object.keys(Z).map((V)=>`${V}=${Z[V]}`).join("&");let z=await G.send();try{z.assertOk()}catch(V){this.emit("debug",{action:"receiveError",id:X,error:V,reason:"assertOk"}),H(!1,"response error","SERVER_ERROR",{request:G,response:z})}if(!z.hasBody())this.emit("debug",{action:"receiveError",id:X,error:"missing body",reason:"null body"}),H(!1,"missing response","SERVER_ERROR",{request:G,response:z});let W=JSON.parse(u$(z.body));if($==="proxy"){if(W.jsonrpc!="2.0")this.emit("debug",{action:"receiveError",id:X,result:W,reason:"invalid JSON-RPC"}),H(!1,"invalid JSON-RPC response (missing jsonrpc='2.0')","SERVER_ERROR",{request:G,response:z,info:{result:W}});if(W.error)this.emit("debug",{action:"receiveError",id:X,result:W,reason:"JSON-RPC error"}),H(!1,"error response","SERVER_ERROR",{request:G,response:z,info:{result:W}});return this.emit("debug",{action:"receiveRequest",id:X,result:W}),W.result}else{if(W.status==0&&(W.message==="No records found"||W.message==="No transactions found"))return this.emit("debug",{action:"receiveRequest",id:X,result:W}),W.result;if(W.status!=1||typeof W.message==="string"&&!W.message.match(/^OK/))this.emit("debug",{action:"receiveError",id:X,result:W}),H(!1,"error response","SERVER_ERROR",{request:G,response:z,info:{result:W}});return this.emit("debug",{action:"receiveRequest",id:X,result:W}),W.result}}_getTransactionPostData($){let Q={};for(let Y in $){if(B6.indexOf(Y)>=0)continue;if($[Y]==null)continue;let X=$[Y];if(Y==="type"&&X===0)continue;if(Y==="blockTag"&&X==="latest")continue;if({type:!0,gasLimit:!0,gasPrice:!0,maxFeePerGs:!0,maxPriorityFeePerGas:!0,nonce:!0,value:!0}[Y])X=i$(X);else if(Y==="accessList")X="["+k$(X).map((J)=>{return`{address:"${J.address}",storageKeys:["${J.storageKeys.join('","')}"]}`}).join(",")+"]";else if(Y==="blobVersionedHashes"){if(X.length===0)continue;H(!1,"Etherscan API does not support blobVersionedHashes","UNSUPPORTED_OPERATION",{operation:"_getTransactionPostData",info:{transaction:$}})}else X=L(X);Q[Y]=X}return Q}_checkError($,Q,Y){let X="";if(t(Q,"SERVER_ERROR")){try{X=Q.info.result.error.message}catch(J){}if(!X)try{X=Q.info.message}catch(J){}}if($.method==="estimateGas"){if(!X.match(/revert/i)&&X.match(/insufficient funds/i))H(!1,"insufficient funds","INSUFFICIENT_FUNDS",{transaction:$.transaction})}if($.method==="call"||$.method==="estimateGas"){if(X.match(/execution reverted/i)){let J="";try{J=Q.info.result.error.data}catch(G){}let Z=X0.getBuiltinCallException($.method,$.transaction,J);throw Z.info={request:$,error:Q},Z}}if(X){if($.method==="broadcastTransaction"){let J=B$.from($.signedTransaction);if(X.match(/replacement/i)&&X.match(/underpriced/i))H(!1,"replacement fee too low","REPLACEMENT_UNDERPRICED",{transaction:J});if(X.match(/insufficient funds/))H(!1,"insufficient funds for intrinsic transaction cost","INSUFFICIENT_FUNDS",{transaction:J});if(X.match(/same hash was already imported|transaction nonce is too low|nonce too low/))H(!1,"nonce has already been used","NONCE_EXPIRED",{transaction:J})}}throw Q}async _detectNetwork(){return this.network}async _perform($){switch($.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";else if(this.network.name==="optimism")return"1000000";else throw new Error("fallback onto the AbstractProvider default");case"getBalance":return this.fetch("account",{action:"balance",address:$.address,tag:$.blockTag});case"getTransactionCount":return this.fetch("proxy",{action:"eth_getTransactionCount",address:$.address,tag:$.blockTag});case"getCode":return this.fetch("proxy",{action:"eth_getCode",address:$.address,tag:$.blockTag});case"getStorage":return this.fetch("proxy",{action:"eth_getStorageAt",address:$.address,position:$.position,tag:$.blockTag});case"broadcastTransaction":return this.fetch("proxy",{action:"eth_sendRawTransaction",hex:$.signedTransaction},!0).catch((Q)=>{return this._checkError($,Q,$.signedTransaction)});case"getBlock":if("blockTag"in $)return this.fetch("proxy",{action:"eth_getBlockByNumber",tag:$.blockTag,boolean:$.includeTransactions?"true":"false"});H(!1,"getBlock by blockHash not supported by Etherscan","UNSUPPORTED_OPERATION",{operation:"getBlock(blockHash)"});case"getTransaction":return this.fetch("proxy",{action:"eth_getTransactionByHash",txhash:$.hash});case"getTransactionReceipt":return this.fetch("proxy",{action:"eth_getTransactionReceipt",txhash:$.hash});case"call":{if($.blockTag!=="latest")throw new Error("EtherscanProvider does not support blockTag for call");let Q=this._getTransactionPostData($.transaction);Q.module="proxy",Q.action="eth_call";try{return await this.fetch("proxy",Q,!0)}catch(Y){return this._checkError($,Y,$.transaction)}}case"estimateGas":{let Q=this._getTransactionPostData($.transaction);Q.module="proxy",Q.action="eth_estimateGas";try{return await this.fetch("proxy",Q,!0)}catch(Y){return this._checkError($,Y,$.transaction)}}default:break}return super._perform($)}async getNetwork(){return this.network}async getEtherPrice(){if(this.network.name!=="mainnet")return 0;return parseFloat((await this.fetch("stats",{action:"ethprice"})).ethusd)}async getContract($){let Q=this._getAddress($);if(S6(Q))Q=await Q;try{let Y=await this.fetch("contract",{action:"getabi",address:Q}),X=JSON.parse(Y);return new G0(Q,X,this)}catch(Y){return null}}isCommunityResource(){return this.apiKey==null}}function P6(){if(typeof self!=="undefined")return self;if(typeof window!=="undefined")return window;if(typeof global!=="undefined")return global;throw new Error("unable to locate global object")}var D7=P6().WebSocket;class DQ{#$;#Q;get filter(){return JSON.parse(this.#Q)}#Y;#X;#J;constructor($,Q){this.#$=$,this.#Q=JSON.stringify(Q),this.#Y=null,this.#X=null,this.#J=null}start(){this.#Y=this.#$.send("eth_subscribe",this.filter).then(($)=>{return this.#$._register($,this),$})}stop(){this.#Y.then(($)=>{if(this.#$.destroyed)return;this.#$.send("eth_unsubscribe",[$])}),this.#Y=null}pause($){H($,"preserve logs while paused not supported by SocketSubscriber yet","UNSUPPORTED_OPERATION",{operation:"pause(false)"}),this.#X=!!$}resume(){this.#X=null}_handleMessage($){if(this.#Y==null)return;if(this.#X===null){let Q=this.#J;if(Q==null)Q=this._emit(this.#$,$);else Q=Q.then(async()=>{await this._emit(this.#$,$)});this.#J=Q.then(()=>{if(this.#J===Q)this.#J=null})}}async _emit($,Q){throw new Error("sub-classes must implemente this; _emit")}}class pY extends DQ{constructor($){super($,["newHeads"])}async _emit($,Q){$.emit("block",parseInt(Q.number))}}class lY extends DQ{constructor($){super($,["newPendingTransactions"])}async _emit($,Q){$.emit("pending",Q)}}class iY extends DQ{#$;get logFilter(){return JSON.parse(this.#$)}constructor($,Q){super($,["logs",Q]);this.#$=JSON.stringify(Q)}async _emit($,Q){$.emit(this.logFilter,$._wrapLog(Q,$._network))}}class rQ extends OQ{#$;#Q;#Y;constructor($,Q){let Y=Object.assign({},Q!=null?Q:{});if(O(Y.batchMaxCount==null||Y.batchMaxCount===1,"sockets-based providers do not support batches","options.batchMaxCount",Q),Y.batchMaxCount=1,Y.staticNetwork==null)Y.staticNetwork=!0;super($,Y);this.#$=new Map,this.#Q=new Map,this.#Y=new Map}_getSubscriber($){switch($.type){case"close":return new d0("close");case"block":return new pY(this);case"pending":return new lY(this);case"event":return new iY(this,$.filter);case"orphan":if($.filter.orphan==="drop-log")return new d0("drop-log")}return super._getSubscriber($)}_register($,Q){this.#Q.set($,Q);let Y=this.#Y.get($);if(Y){for(let X of Y)Q._handleMessage(X);this.#Y.delete($)}}async _send($){O(!Array.isArray($),"WebSocket does not support batch send","payload",$);let Q=new Promise((Y,X)=>{this.#$.set($.id,{payload:$,resolve:Y,reject:X})});return await this._waitUntilReady(),await this._write(JSON.stringify($)),[await Q]}async _processMessage($){let Q=JSON.parse($);if(Q&&typeof Q==="object"&&"id"in Q){let Y=this.#$.get(Q.id);if(Y==null){this.emit("error",l("received result for unknown id","UNKNOWN_ERROR",{reasonCode:"UNKNOWN_ID",result:Q}));return}this.#$.delete(Q.id),Y.resolve(Q)}else if(Q&&Q.method==="eth_subscription"){let Y=Q.params.subscription,X=this.#Q.get(Y);if(X)X._handleMessage(Q.params.result);else{let J=this.#Y.get(Y);if(J==null)J=[],this.#Y.set(Y,J);J.push(Q.params.result)}}else{this.emit("error",l("received unexpected message","UNKNOWN_ERROR",{reasonCode:"UNEXPECTED_MESSAGE",result:Q}));return}}async _write($){throw new Error("sub-classes must override this")}}class w8 extends rQ{#$;#Q;get websocket(){if(this.#Q==null)throw new Error("websocket closed");return this.#Q}constructor($,Q,Y){super(Q,Y);if(typeof $==="string")this.#$=()=>{return new D7($)},this.#Q=this.#$();else if(typeof $==="function")this.#$=$,this.#Q=$();else this.#$=null,this.#Q=$;this.websocket.onopen=async()=>{try{await this._start(),this.resume()}catch(X){console.log("failed to start WebsocketProvider",X)}},this.websocket.onmessage=(X)=>{this._processMessage(X.data)}}async _write($){this.websocket.send($)}async destroy(){if(this.#Q!=null)this.#Q.close(),this.#Q=null;super.destroy()}}var nY="84842078b09946638c03157f83405213";function F6($){switch($){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":return"base-goerli.infura.io";case"base-sepolia":return"base-sepolia.infura.io";case"bnb":return"bnbsmartchain-mainnet.infura.io";case"bnbt":return"bnbsmartchain-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"}O(!1,"unsupported network","network",$)}class oY extends w8{projectId;projectSecret;constructor($,Q){let Y=new J8($,Q),X=Y._getConnection();H(!X.credentials,"INFURA WebSocket project secrets unsupported","UNSUPPORTED_OPERATION",{operation:"InfuraProvider.getWebSocketProvider()"});let J=X.url.replace(/^http/i,"ws").replace("/v3/","/ws/v3/");super(J,Y._network);T(this,{projectId:Y.projectId,projectSecret:Y.projectSecret})}isCommunityResource(){return this.projectId===nY}}class J8 extends H${projectId;projectSecret;constructor($,Q,Y){if($==null)$="mainnet";let X=d.from($);if(Q==null)Q=nY;if(Y==null)Y=null;let J=J8.getRequest(X,Q,Y);super(J,X,{staticNetwork:X});T(this,{projectId:Q,projectSecret:Y})}_getProvider($){try{return new J8($,this.projectId,this.projectSecret)}catch(Q){}return super._getProvider($)}isCommunityResource(){return this.projectId===nY}static getWebSocketProvider($,Q){return new oY($,Q)}static getRequest($,Q,Y){if(Q==null)Q=nY;if(Y==null)Y=null;let X=new Q$(`https://${F6($.name)}/v3/${Q}`);if(X.allowGzip=!0,Y)X.setCredentials("",Y);if(Q===nY)X.retryFunc=async(J,Z,G)=>{return b$("InfuraProvider"),!0};return X}}var JJ="919b412a057b5e9c9b6dce193c5a60242d6efadb";function j6($){switch($){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"}O(!1,"unsupported network","network",$)}class _8 extends H${token;constructor($,Q){if($==null)$="mainnet";let Y=d.from($);if(Q==null)Q=JJ;let X=_8.getRequest(Y,Q);super(X,Y,{staticNetwork:Y});T(this,{token:Q})}_getProvider($){try{return new _8($,this.token)}catch(Q){}return super._getProvider($)}isCommunityResource(){return this.token===JJ}static getRequest($,Q){if(Q==null)Q=JJ;let Y=new Q$(`https://${j6($.name)}/${Q}`);if(Y.allowGzip=!0,Q===JJ)Y.retryFunc=async(X,J,Z)=>{return b$("QuickNodeProvider"),!0};return Y}}var w6=BigInt("1"),_6=BigInt("2");function x6($){for(let Q=$.length-1;Q>0;Q--){let Y=Math.floor(Math.random()*(Q+1)),X=$[Q];$[Q]=$[Y],$[Y]=X}}function k6($){return new Promise((Q)=>{setTimeout(Q,$)})}function q9(){return new Date().getTime()}function U9($){return JSON.stringify($,(Q,Y)=>{if(typeof Y==="bigint")return{type:"bigint",value:Y.toString()};return Y})}var M7={stallTimeout:400,priority:1,weight:1},U7={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 f6($,Q){while($.blockNumber<0||$.blockNumber<Q){if(!$._updateNumber)$._updateNumber=(async()=>{try{let Y=await $.provider.getBlockNumber();if(Y>$.blockNumber)$.blockNumber=Y}catch(Y){$.blockNumber=-2,$._lastFatalError=Y,$._lastFatalErrorTimestamp=q9()}$._updateNumber=null})();if(await $._updateNumber,$.outOfSync++,$._lastFatalError)break}}function sY($){if($==null)return"null";if(Array.isArray($))return"["+$.map(sY).join(",")+"]";if(typeof $==="object"&&typeof $.toJSON==="function")return sY($.toJSON());switch(typeof $){case"boolean":case"symbol":return $.toString();case"bigint":case"number":return BigInt($).toString();case"string":return JSON.stringify($);case"object":{let Q=Object.keys($);return Q.sort(),"{"+Q.map((Y)=>`${JSON.stringify(Y)}:${sY($[Y])}`).join(",")+"}"}}throw console.log("Could not serialize",$),new Error("Hmm...")}function H9($){if("error"in $){let Y=$.error;return{tag:sY(Y),value:Y}}let Q=$.result;return{tag:sY(Q),value:Q}}function ZJ($,Q){let Y=new Map;for(let{value:J,tag:Z,weight:G}of Q){let z=Y.get(Z)||{value:J,weight:0};z.weight+=G,Y.set(Z,z)}let X=null;for(let J of Y.values())if(J.weight>=$&&(!X||J.weight>X.weight))X=J;if(X)return X.value;return}function R9($,Q){let Y=0,X=new Map,J=null,Z=[];for(let{value:z,tag:W,weight:V}of Q)if(z instanceof Error){let K=X.get(W)||{value:z,weight:0};if(K.weight+=V,X.set(W,K),J==null||K.weight>J.weight)J=K}else Z.push(BigInt(z)),Y+=V;if(Y<$){if(J&&J.weight>=$)return J.value;return}Z.sort((z,W)=>z<W?-1:W>z?1:0);let G=Math.floor(Z.length/2);if(Z.length%2)return Z[G];return(Z[G-1]+Z[G]+w6)/_6}function I9($,Q){let Y=ZJ($,Q);if(Y!==void 0)return Y;for(let X of Q)if(X.value)return X.value;return}function b6($,Q){if($===1)return w(R9($,Q),"%internal");let Y=new Map,X=(G,z)=>{let W=Y.get(G)||{result:G,weight:0};W.weight+=z,Y.set(G,W)};for(let{weight:G,value:z}of Q){let W=w(z);X(W-1,G),X(W,G),X(W+1,G)}let J=0,Z=void 0;for(let{weight:G,result:z}of Y.values())if(G>=$&&(G>J||Z!=null&&G===J&&z>Z))J=G,Z=z;return Z}class tQ extends b0{quorum;eventQuorum;eventWorkers;#$;#Q;#Y;constructor($,Q,Y){super(Q,Y);if(this.#$=$.map((X)=>{if(X instanceof b0)return Object.assign({provider:X},M7,U7);else return Object.assign({},M7,X,U7)}),this.#Q=-2,this.#Y=null,Y&&Y.quorum!=null)this.quorum=Y.quorum;else this.quorum=Math.ceil(this.#$.reduce((X,J)=>{return X+=J.weight,X},0)/2);this.eventQuorum=1,this.eventWorkers=1,O(this.quorum<=this.#$.reduce((X,J)=>X+J.weight,0),"quorum exceed provider weight","quorum",this.quorum)}get providerConfigs(){return this.#$.map(($)=>{let Q=Object.assign({},$);for(let Y in Q)if(Y[0]==="_")delete Q[Y];return Q})}async _detectNetwork(){return d.from(B(await this._perform({method:"chainId"})))}async _translatePerform($,Q){switch(Q.method){case"broadcastTransaction":return await $.broadcastTransaction(Q.signedTransaction);case"call":return await $.call(Object.assign({},Q.transaction,{blockTag:Q.blockTag}));case"chainId":return(await $.getNetwork()).chainId;case"estimateGas":return await $.estimateGas(Q.transaction);case"getBalance":return await $.getBalance(Q.address,Q.blockTag);case"getBlock":{let Y="blockHash"in Q?Q.blockHash:Q.blockTag;return await $.getBlock(Y,Q.includeTransactions)}case"getBlockNumber":return await $.getBlockNumber();case"getCode":return await $.getCode(Q.address,Q.blockTag);case"getGasPrice":return(await $.getFeeData()).gasPrice;case"getPriorityFee":return(await $.getFeeData()).maxPriorityFeePerGas;case"getLogs":return await $.getLogs(Q.filter);case"getStorage":return await $.getStorage(Q.address,Q.position,Q.blockTag);case"getTransaction":return await $.getTransaction(Q.hash);case"getTransactionCount":return await $.getTransactionCount(Q.address,Q.blockTag);case"getTransactionReceipt":return await $.getTransactionReceipt(Q.hash);case"getTransactionResult":return await $.getTransactionResult(Q.hash)}}#X($){let Q=Array.from($).map((X)=>X.config),Y=this.#$.slice();x6(Y),Y.sort((X,J)=>X.priority-J.priority);for(let X of Y){if(X._lastFatalError)continue;if(Q.indexOf(X)===-1)return X}return null}#J($,Q){let Y=this.#X($);if(Y==null)return null;let X={config:Y,result:null,didBump:!1,perform:null,staller:null},J=q9();return X.perform=(async()=>{try{Y.requests++;let G=await this._translatePerform(Y.provider,Q);X.result={result:G}}catch(G){Y.errorResponses++,X.result={error:G}}let Z=q9()-J;Y._totalTime+=Z,Y.rollingDuration=0.95*Y.rollingDuration+0.05*Z,X.perform=null})(),X.staller=(async()=>{await k6(Y.stallTimeout),X.staller=null})(),$.add(X),X}async#G(){let $=this.#Y;if(!$){let Q=[];this.#$.forEach((Y)=>{Q.push((async()=>{if(await f6(Y,0),!Y._lastFatalError)Y._network=await Y.provider.getNetwork()})())}),this.#Y=$=(async()=>{await Promise.all(Q);let Y=null;for(let X of this.#$){if(X._lastFatalError)continue;let J=X._network;if(Y==null)Y=J.chainId;else if(J.chainId!==Y)H(!1,"cannot mix providers on different networks","UNSUPPORTED_OPERATION",{operation:"new FallbackProvider"})}})()}await $}async#Z($,Q){let Y=[];for(let X of $)if(X.result!=null){let{tag:J,value:Z}=H9(X.result);Y.push({tag:J,value:Z,weight:X.config.weight})}if(Y.reduce((X,J)=>X+J.weight,0)<this.quorum)return;switch(Q.method){case"getBlockNumber":{if(this.#Q===-2)this.#Q=Math.ceil(w(R9(this.quorum,this.#$.filter((J)=>!J._lastFatalError).map((J)=>({value:J.blockNumber,tag:w(J.blockNumber).toString(),weight:J.weight})))));let X=b6(this.quorum,Y);if(X===void 0)return;if(X>this.#Q)this.#Q=X;return this.#Q}case"getGasPrice":case"getPriorityFee":case"estimateGas":return R9(this.quorum,Y);case"getBlock":if("blockTag"in Q&&Q.blockTag==="pending")return I9(this.quorum,Y);return ZJ(this.quorum,Y);case"call":case"chainId":case"getBalance":case"getTransactionCount":case"getCode":case"getStorage":case"getTransaction":case"getTransactionReceipt":case"getLogs":return ZJ(this.quorum,Y);case"broadcastTransaction":return I9(this.quorum,Y)}H(!1,"unsupported method","UNSUPPORTED_OPERATION",{operation:`_perform(${U9(Q.method)})`})}async#z($,Q){if($.size===0)throw new Error("no runners?!");let Y=[],X=0;for(let Z of $){if(Z.perform)Y.push(Z.perform);if(Z.staller){Y.push(Z.staller);continue}if(Z.didBump)continue;Z.didBump=!0,X++}let J=await this.#Z($,Q);if(J!==void 0){if(J instanceof Error)throw J;return J}for(let Z=0;Z<X;Z++)this.#J($,Q);return H(Y.length>0,"quorum not met","SERVER_ERROR",{request:"%sub-requests",info:{request:Q,results:Array.from($).map((Z)=>U9(Z.result))}}),await Promise.race(Y),await this.#z($,Q)}async _perform($){if($.method==="broadcastTransaction"){let J=this.#$.map((z)=>null),Z=this.#$.map(async({provider:z,weight:W},V)=>{try{let K=await z._perform($);J[V]=Object.assign(H9({result:K}),{weight:W})}catch(K){J[V]=Object.assign(H9({error:K}),{weight:W})}});while(!0){let z=J.filter((K)=>K!=null);for(let{value:K}of z)if(!(K instanceof Error))return K;let W=ZJ(this.quorum,J.filter((K)=>K!=null));if(t(W,"INSUFFICIENT_FUNDS"))throw W;let V=Z.filter((K,D)=>J[D]==null);if(V.length===0)break;await Promise.race(V)}let G=I9(this.quorum,J);if(H(G!==void 0,"problem multi-broadcasting","SERVER_ERROR",{request:"%sub-requests",info:{request:$,results:J.map(U9)}}),G instanceof Error)throw G;return G}await this.#G();let Q=new Set,Y=0;while(!0){let J=this.#J(Q,$);if(J==null)break;if(Y+=J.config.weight,Y>=this.quorum)break}let X=await this.#z(Q,$);for(let J of Q)if(J.perform&&J.result==null)J.config.lateResponses++;return X}async destroy(){for(let{provider:$}of this.#$)$.destroy();super.destroy()}}function h6($){return $&&typeof $.send==="function"&&typeof $.close==="function"}var y6="goerli kovan sepolia classicKotti optimism-goerli arbitrum-goerli matic-mumbai bnbt".split(" ");function L9($,Q){if(Q==null)Q={};let Y=(G)=>{if(Q[G]==="-")return!1;if(typeof Q.exclusive==="string")return G===Q.exclusive;if(Array.isArray(Q.exclusive))return Q.exclusive.indexOf(G)!==-1;return!0};if(typeof $==="string"&&$.match(/^https?:/))return new H$($);if(typeof $==="string"&&$.match(/^wss?:/)||h6($))return new w8($);let X=null;try{X=d.from($)}catch(G){}let J=[];if(Y("publicPolygon")&&X){if(X.name==="matic")J.push(new H$("https://polygon-rpc.com/",X,{staticNetwork:X}));else if(X.name==="matic-amoy")J.push(new H$("https://rpc-amoy.polygon.technology/",X,{staticNetwork:X}))}if(Y("alchemy"))try{J.push(new F8($,Q.alchemy))}catch(G){}if(Y("ankr")&&Q.ankr!=null)try{J.push(new P8($,Q.ankr))}catch(G){}if(Y("chainstack"))try{J.push(new j8($,Q.chainstack))}catch(G){}if(Y("cloudflare"))try{J.push(new sQ($))}catch(G){}if(Y("etherscan"))try{J.push(new aQ($,Q.etherscan))}catch(G){}if(Y("infura"))try{let G=Q.infura,z=void 0;if(typeof G==="object")z=G.projectSecret,G=G.projectId;J.push(new J8($,G,z))}catch(G){}if(Y("quicknode"))try{let G=Q.quicknode;J.push(new _8($,G))}catch(G){}if(H(J.length,"unsupported default network","UNSUPPORTED_OPERATION",{operation:"getDefaultProvider"}),J.length===1)return J[0];let Z=Math.floor(J.length/2);if(Z>2)Z=2;if(X&&y6.indexOf(X.name)!==-1)Z=1;if(Q&&Q.quorum)Z=Q.quorum;return new tQ(J,void 0,{quorum:Z})}class aY extends h0{signer;#$;#Q;constructor($){super($.provider);T(this,{signer:$}),this.#$=null,this.#Q=0}async getAddress(){return this.signer.getAddress()}connect($){return new aY(this.signer.connect($))}async getNonce($){if($==="pending"){if(this.#$==null)this.#$=super.getNonce("pending");let Q=this.#Q;return await this.#$+Q}return super.getNonce($)}increment(){this.#Q++}reset(){this.#Q=0,this.#$=null}async sendTransaction($){let Q=this.getNonce("pending");return this.increment(),$=await this.signer.populateTransaction($),$.nonce=await Q,await this.signer.sendTransaction($)}signTransaction($){return this.signer.signTransaction($)}signMessage($){return this.signer.signMessage($)}signTypedData($,Q,Y){return this.signer.signTypedData($,Q,Y)}}class GJ extends $J{#$;constructor($,Q,Y){let X=Object.assign({},Y!=null?Y:{},{batchMaxCount:1});O($&&$.request,"invalid EIP-1193 provider","ethereum",$);super(Q,X);this.#$=async(J,Z)=>{let G={method:J,params:Z};this.emit("debug",{action:"sendEip1193Request",payload:G});try{let z=await $.request(G);return this.emit("debug",{action:"receiveEip1193Result",result:z}),z}catch(z){let W=new Error(z.message);throw W.code=z.code,W.data=z.data,W.payload=G,this.emit("debug",{action:"receiveEip1193Error",error:W}),W}}}async send($,Q){return await this._start(),await super.send($,Q)}async _send($){O(!Array.isArray($),"EIP-1193 does not support batch request","payload",$);try{let Q=await this.#$($.method,$.params||[]);return[{id:$.id,result:Q}]}catch(Q){return[{id:$.id,error:{code:Q.code,data:Q.data,message:Q.message}}]}}getRpcError($,Q){switch(Q=JSON.parse(JSON.stringify(Q)),Q.error.code||-1){case 4001:Q.error.message=`ethers-user-denied: ${Q.error.message}`;break;case 4200:Q.error.message=`ethers-unsupported: ${Q.error.message}`;break}return super.getRpcError($,Q)}async hasSigner($){if($==null)$=0;let Q=await this.send("eth_accounts",[]);if(typeof $==="number")return Q.length>$;return $=$.toLowerCase(),Q.filter((Y)=>Y.toLowerCase()===$).length!==0}async getSigner($){if($==null)$=0;if(!await this.hasSigner($))try{await this.#$("eth_requestAccounts",[])}catch(Q){let Y=Q.payload;throw this.getRpcError(Y,{id:Y.id,error:Q})}return await super.getSigner($)}}var zJ="62e1ad51b37b8e00394bda3b";function v6($){switch($){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"}O(!1,"unsupported network","network",$)}class eQ extends H${applicationId;applicationSecret;constructor($,Q,Y){if($==null)$="mainnet";let X=d.from($);if(Q==null)Q=zJ;if(Y==null)Y=null;let J={staticNetwork:X},Z=eQ.getRequest(X,Q,Y);super(Z,X,J);T(this,{applicationId:Q,applicationSecret:Y})}_getProvider($){try{return new eQ($,this.applicationId,this.applicationSecret)}catch(Q){}return super._getProvider($)}static getRequest($,Q,Y){if(Q==null)Q=zJ;let X=new Q$(`https://${v6($.name)}/v1/lb/${Q}`);if(X.allowGzip=!0,Y)X.setCredentials("",Y);if(Q===zJ)X.retryFunc=async(J,Z,G)=>{return b$("PocketProvider"),!0};return X}isCommunityResource(){return this.applicationId===zJ}}var E9=void 0;class Z8 extends h0{address;#$;constructor($,Q){super(Q);O($&&typeof $.sign==="function","invalid private key","privateKey","[ REDACTED ]"),this.#$=$;let Y=w0(this.signingKey.publicKey);T(this,{address:Y})}get signingKey(){return this.#$}get privateKey(){return this.signingKey.privateKey}async getAddress(){return this.address}connect($){return new Z8(this.#$,$)}async signTransaction($){$=D0($);let{to:Q,from:Y}=await Z$({to:$.to?K$($.to,this.provider):void 0,from:$.from?K$($.from,this.provider):void 0});if(Q!=null)$.to=Q;if(Y!=null)$.from=Y;if($.from!=null)O(f($.from)===this.address,"transaction from address mismatch","tx.from",$.from),delete $.from;let X=B$.from($);return X.signature=this.signingKey.sign(X.unsignedHash),X.serialized}async signMessage($){return this.signMessageSync($)}signMessageSync($){return this.signingKey.sign(mQ($)).serialized}async signTypedData($,Q,Y){let X=await L$.resolveNames($,Q,Y,async(J)=>{H(this.provider!=null,"cannot resolve ENS names without a provider","UNSUPPORTED_OPERATION",{operation:"resolveName",info:{name:J}});let Z=await this.provider.resolveName(J);return H(Z!=null,"unconfigured ENS name","UNCONFIGURED_NAME",{value:J}),Z});return this.signingKey.sign(L$.hash(X.domain,Q,X.value)).serialized}}var WJ=" !#$%&'()*+,-./<=>?@[]^_`{|}~",g6=/^[a-z]*$/i;function H7($,Q){let Y=97;return $.reduce((X,J)=>{if(J===Q)Y++;else if(J.match(g6))X.push(String.fromCharCode(Y)+J);else Y=97,X.push(J);return X},[])}function m6($,Q){for(let J=WJ.length-1;J>=0;J--)$=$.split(WJ[J]).join(Q.substring(2*J,2*J+2));let Y=[],X=$.replace(/(:|([0-9])|([A-Z][a-z]*))/g,(J,Z,G,z)=>{if(G)for(let W=parseInt(G);W>=0;W--)Y.push(";");else Y.push(Z.toLowerCase());return""});if(X)throw new Error(`leftovers: ${JSON.stringify(X)}`);return H7(H7(Y,";"),":")}function VJ($){return O($[0]==="0","unsupported auwl data","data",$),m6($.substring(1+2*WJ.length),$.substring(1,1+2*WJ.length))}class $Y{locale;constructor($){T(this,{locale:$})}split($){return $.toLowerCase().split(/\s+/g)}join($){return $.join(" ")}}class x8 extends $Y{#$;#Q;constructor($,Q,Y){super($);this.#$=Q,this.#Q=Y,this.#Y=null}get _data(){return this.#$}_decodeWords(){return VJ(this.#$)}#Y;#X(){if(this.#Y==null){let $=this._decodeWords();if(x$($.join(`
|
|
3
|
-
`)+`
|
|
4
|
-
`)!==this.#Q)throw new Error(`BIP39 Wordlist for ${this.locale} FAILED`);this.#Y=$}return this.#Y}getWord($){let Q=this.#X();return O($>=0&&$<Q.length,`invalid word index: ${$}`,"index",$),Q[$]}getWordIndex($){return this.#X().indexOf($)}}var c6="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",u6="0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60",C9=null;class r$ extends x8{constructor(){super("en",c6,u6)}static wordlist(){if(C9==null)C9=new r$;return C9}}function I7($){return(1<<$)-1<<8-$&255}function d6($){return(1<<$)-1&255}function T9($,Q){if(m8("NFKD"),Q==null)Q=r$.wordlist();let Y=Q.split($);O(Y.length%3===0&&Y.length>=12&&Y.length<=24,"invalid mnemonic length","mnemonic","[ REDACTED ]");let X=new Uint8Array(Math.ceil(11*Y.length/8)),J=0;for(let V=0;V<Y.length;V++){let K=Q.getWordIndex(Y[V].normalize("NFKD"));O(K>=0,`invalid mnemonic word at index ${V}`,"mnemonic","[ REDACTED ]");for(let D=0;D<11;D++){if(K&1<<10-D)X[J>>3]|=1<<7-J%8;J++}}let Z=32*Y.length/3,G=Y.length/3,z=I7(G),W=C(I$(X.slice(0,Z/8)))[0]&z;return O(W===(X[X.length-1]&z),"invalid mnemonic checksum","mnemonic","[ REDACTED ]"),L(X.slice(0,Z/8))}function N9($,Q){if(O($.length%4===0&&$.length>=16&&$.length<=32,"invalid entropy size","entropy","[ REDACTED ]"),Q==null)Q=r$.wordlist();let Y=[0],X=11;for(let G=0;G<$.length;G++)if(X>8)Y[Y.length-1]<<=8,Y[Y.length-1]|=$[G],X-=8;else Y[Y.length-1]<<=X,Y[Y.length-1]|=$[G]>>8-X,Y.push($[G]&d6(8-X)),X+=3;let J=$.length/4,Z=parseInt(I$($).substring(2,4),16)&I7(J);return Y[Y.length-1]<<=J,Y[Y.length-1]|=Z>>8-J,Q.join(Y.map((G)=>Q.getWord(G)))}var S9={};class y0{phrase;password;wordlist;entropy;constructor($,Q,Y,X,J){if(X==null)X="";if(J==null)J=r$.wordlist();w$($,S9,"Mnemonic"),T(this,{phrase:Y,password:X,wordlist:J,entropy:Q})}computeSeed(){let $=e("mnemonic"+this.password,"NFKD");return d$(e(this.phrase,"NFKD"),$,2048,64,"sha512")}static fromPhrase($,Q,Y){let X=T9($,Y);return $=N9(C(X),Y),new y0(S9,X,$,Q,Y)}static fromEntropy($,Q,Y){let X=C($,"entropy"),J=N9(X,Y);return new y0(S9,L(X),J,Q,Y)}static entropyToPhrase($,Q){let Y=C($,"entropy");return N9(Y,Q)}static phraseToEntropy($,Q){return T9($,Q)}static isValidMnemonic($,Q){try{return T9($,Q),!0}catch(Y){}return!1}}/*! MIT License. Copyright 2015-2022 Richard Moore <me@ricmoo.com>. See LICENSE.txt. */var h$=function($,Q,Y,X){if(Y==="a"&&!X)throw new TypeError("Private accessor was defined without a getter");if(typeof Q==="function"?$!==Q||!X:!Q.has($))throw new TypeError("Cannot read private member from an object whose class did not declare it");return Y==="m"?X:Y==="a"?X.call($):X?X.value:Q.get($)},B9=function($,Q,Y,X,J){if(X==="m")throw new TypeError("Private method is not writable");if(X==="a"&&!J)throw new TypeError("Private accessor was defined without a setter");if(typeof Q==="function"?$!==Q||!J:!Q.has($))throw new TypeError("Cannot write private member to an object whose class did not declare it");return X==="a"?J.call($,Y):J?J.value=Y:Q.set($,Y),Y},OJ,H0,p0,p6={16:10,24:12,32:14},l6=[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],U0=[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],KJ=[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],i6=[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],n6=[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],o6=[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],s6=[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],a6=[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],r6=[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],t6=[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,1047239000,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],e6=[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,679998000,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],$1=[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],Q1=[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],Y1=[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,1047239000,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],X1=[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,679998000,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 A9($){let Q=[];for(let Y=0;Y<$.length;Y+=4)Q.push($[Y]<<24|$[Y+1]<<16|$[Y+2]<<8|$[Y+3]);return Q}class DJ{get key(){return h$(this,OJ,"f").slice()}constructor($){if(OJ.set(this,void 0),H0.set(this,void 0),p0.set(this,void 0),!(this instanceof DJ))throw Error("AES must be instanitated with `new`");B9(this,OJ,new Uint8Array($),"f");let Q=p6[this.key.length];if(Q==null)throw new TypeError("invalid key size (must be 16, 24 or 32 bytes)");B9(this,p0,[],"f"),B9(this,H0,[],"f");for(let V=0;V<=Q;V++)h$(this,p0,"f").push([0,0,0,0]),h$(this,H0,"f").push([0,0,0,0]);let Y=(Q+1)*4,X=this.key.length/4,J=A9(this.key),Z;for(let V=0;V<X;V++)Z=V>>2,h$(this,p0,"f")[Z][V%4]=J[V],h$(this,H0,"f")[Q-Z][V%4]=J[V];let G=0,z=X,W;while(z<Y){if(W=J[X-1],J[0]^=U0[W>>16&255]<<24^U0[W>>8&255]<<16^U0[W&255]<<8^U0[W>>24&255]^l6[G]<<24,G+=1,X!=8)for(let M=1;M<X;M++)J[M]^=J[M-1];else{for(let M=1;M<X/2;M++)J[M]^=J[M-1];W=J[X/2-1],J[X/2]^=U0[W&255]^U0[W>>8&255]<<8^U0[W>>16&255]<<16^U0[W>>24&255]<<24;for(let M=X/2+1;M<X;M++)J[M]^=J[M-1]}let V=0,K,D;while(V<X&&z<Y)K=z>>2,D=z%4,h$(this,p0,"f")[K][D]=J[V],h$(this,H0,"f")[Q-K][D]=J[V++],z++}for(let V=1;V<Q;V++)for(let K=0;K<4;K++)W=h$(this,H0,"f")[V][K],h$(this,H0,"f")[V][K]=$1[W>>24&255]^Q1[W>>16&255]^Y1[W>>8&255]^X1[W&255]}encrypt($){if($.length!=16)throw new TypeError("invalid plaintext size (must be 16 bytes)");let Q=h$(this,p0,"f").length-1,Y=[0,0,0,0],X=A9($);for(let G=0;G<4;G++)X[G]^=h$(this,p0,"f")[0][G];for(let G=1;G<Q;G++){for(let z=0;z<4;z++)Y[z]=i6[X[z]>>24&255]^n6[X[(z+1)%4]>>16&255]^o6[X[(z+2)%4]>>8&255]^s6[X[(z+3)%4]&255]^h$(this,p0,"f")[G][z];X=Y.slice()}let J=new Uint8Array(16),Z=0;for(let G=0;G<4;G++)Z=h$(this,p0,"f")[Q][G],J[4*G]=(U0[X[G]>>24&255]^Z>>24)&255,J[4*G+1]=(U0[X[(G+1)%4]>>16&255]^Z>>16)&255,J[4*G+2]=(U0[X[(G+2)%4]>>8&255]^Z>>8)&255,J[4*G+3]=(U0[X[(G+3)%4]&255]^Z)&255;return J}decrypt($){if($.length!=16)throw new TypeError("invalid ciphertext size (must be 16 bytes)");let Q=h$(this,H0,"f").length-1,Y=[0,0,0,0],X=A9($);for(let G=0;G<4;G++)X[G]^=h$(this,H0,"f")[0][G];for(let G=1;G<Q;G++){for(let z=0;z<4;z++)Y[z]=a6[X[z]>>24&255]^r6[X[(z+3)%4]>>16&255]^t6[X[(z+2)%4]>>8&255]^e6[X[(z+1)%4]&255]^h$(this,H0,"f")[G][z];X=Y.slice()}let J=new Uint8Array(16),Z=0;for(let G=0;G<4;G++)Z=h$(this,H0,"f")[Q][G],J[4*G]=(KJ[X[G]>>24&255]^Z>>24)&255,J[4*G+1]=(KJ[X[(G+3)%4]>>16&255]^Z>>16)&255,J[4*G+2]=(KJ[X[(G+2)%4]>>8&255]^Z>>8)&255,J[4*G+3]=(KJ[X[(G+1)%4]&255]^Z)&255;return J}}OJ=new WeakMap,H0=new WeakMap,p0=new WeakMap;class rY{constructor($,Q,Y){if(Y&&!(this instanceof Y))throw new Error(`${$} must be instantiated with "new"`);Object.defineProperties(this,{aes:{enumerable:!0,value:new DJ(Q)},name:{enumerable:!0,value:$}})}}var MJ=function($,Q,Y,X,J){if(X==="m")throw new TypeError("Private method is not writable");if(X==="a"&&!J)throw new TypeError("Private accessor was defined without a setter");if(typeof Q==="function"?$!==Q||!J:!Q.has($))throw new TypeError("Cannot write private member to an object whose class did not declare it");return X==="a"?J.call($,Y):J?J.value=Y:Q.set($,Y),Y},QY=function($,Q,Y,X){if(Y==="a"&&!X)throw new TypeError("Private accessor was defined without a getter");if(typeof Q==="function"?$!==Q||!X:!Q.has($))throw new TypeError("Cannot read private member from an object whose class did not declare it");return Y==="m"?X:Y==="a"?X.call($):X?X.value:Q.get($)},tY,G8;class eY extends rY{constructor($,Q){super("ECC",$,eY);if(tY.set(this,void 0),G8.set(this,void 0),Q){if(Q.length%16)throw new TypeError("invalid iv size (must be 16 bytes)");MJ(this,tY,new Uint8Array(Q),"f")}else MJ(this,tY,new Uint8Array(16),"f");MJ(this,G8,this.iv,"f")}get iv(){return new Uint8Array(QY(this,tY,"f"))}encrypt($){if($.length%16)throw new TypeError("invalid plaintext size (must be multiple of 16 bytes)");let Q=new Uint8Array($.length);for(let Y=0;Y<$.length;Y+=16){for(let X=0;X<16;X++)QY(this,G8,"f")[X]^=$[Y+X];MJ(this,G8,this.aes.encrypt(QY(this,G8,"f")),"f"),Q.set(QY(this,G8,"f"),Y)}return Q}decrypt($){if($.length%16)throw new TypeError("invalid ciphertext size (must be multiple of 16 bytes)");let Q=new Uint8Array($.length);for(let Y=0;Y<$.length;Y+=16){let X=this.aes.decrypt($.subarray(Y,Y+16));for(let J=0;J<16;J++)Q[Y+J]=X[J]^QY(this,G8,"f")[J],QY(this,G8,"f")[J]=$[Y+J]}return Q}}tY=new WeakMap,G8=new WeakMap;var YY=function($,Q,Y,X,J){if(X==="m")throw new TypeError("Private method is not writable");if(X==="a"&&!J)throw new TypeError("Private accessor was defined without a setter");if(typeof Q==="function"?$!==Q||!J:!Q.has($))throw new TypeError("Cannot write private member to an object whose class did not declare it");return X==="a"?J.call($,Y):J?J.value=Y:Q.set($,Y),Y},I0=function($,Q,Y,X){if(Y==="a"&&!X)throw new TypeError("Private accessor was defined without a getter");if(typeof Q==="function"?$!==Q||!X:!Q.has($))throw new TypeError("Cannot read private member from an object whose class did not declare it");return Y==="m"?X:Y==="a"?X.call($):X?X.value:Q.get($)},$X,MQ,q0;class k8 extends rY{constructor($,Q){super("CTR",$,k8);if($X.set(this,void 0),MQ.set(this,void 0),q0.set(this,void 0),YY(this,q0,new Uint8Array(16),"f"),I0(this,q0,"f").fill(0),YY(this,$X,I0(this,q0,"f"),"f"),YY(this,MQ,16,"f"),Q==null)Q=1;if(typeof Q==="number")this.setCounterValue(Q);else this.setCounterBytes(Q)}get counter(){return new Uint8Array(I0(this,q0,"f"))}setCounterValue($){if(!Number.isInteger($)||$<0||$>Number.MAX_SAFE_INTEGER)throw new TypeError("invalid counter initial integer value");for(let Q=15;Q>=0;--Q)I0(this,q0,"f")[Q]=$%256,$=Math.floor($/256)}setCounterBytes($){if($.length!==16)throw new TypeError("invalid counter initial Uint8Array value length");I0(this,q0,"f").set($)}increment(){for(let $=15;$>=0;$--)if(I0(this,q0,"f")[$]===255)I0(this,q0,"f")[$]=0;else{I0(this,q0,"f")[$]++;break}}encrypt($){var Q,Y;let X=new Uint8Array($);for(let J=0;J<X.length;J++){if(I0(this,MQ,"f")===16)YY(this,$X,this.aes.encrypt(I0(this,q0,"f")),"f"),YY(this,MQ,0,"f"),this.increment();X[J]^=I0(this,$X,"f")[YY(this,MQ,(Y=I0(this,MQ,"f"),Q=Y++,Y),"f"),Q]}return X}decrypt($){return this.encrypt($)}}$X=new WeakMap,MQ=new WeakMap,q0=new WeakMap;function P9($){if($.length<16)throw new TypeError("PKCS#7 invalid length");let Q=$[$.length-1];if(Q>16)throw new TypeError("PKCS#7 padding byte out of range");let Y=$.length-Q;for(let X=0;X<Q;X++)if($[Y+X]!==Q)throw new TypeError("PKCS#7 invalid padding byte");return new Uint8Array($.subarray(0,Y))}function F9($){if(typeof $==="string"&&!$.startsWith("0x"))$="0x"+$;return G$($)}function XY($,Q){$=String($);while($.length<Q)$="0"+$;return $}function UQ($){if(typeof $==="string")return e($,"NFKC");return G$($)}function M$($,Q){let Y=Q.match(/^([a-z0-9$_.-]*)(:([a-z]+))?(!)?$/i);O(Y!=null,"invalid path","path",Q);let X=Y[1],J=Y[3],Z=Y[4]==="!",G=$;for(let z of X.toLowerCase().split(".")){if(Array.isArray(G)){if(!z.match(/^[0-9]+$/))break;G=G[parseInt(z)]}else if(typeof G==="object"){let W=null;for(let V in G)if(V.toLowerCase()===z){W=G[V];break}G=W}else G=null;if(G==null)break}if(O(!Z||G!=null,"missing required value","path",X),J&&G!=null){if(J==="int"){if(typeof G==="string"&&G.match(/^-?[0-9]+$/))return parseInt(G);else if(Number.isSafeInteger(G))return G}if(J==="number"){if(typeof G==="string"&&G.match(/^-?[0-9.]*$/))return parseFloat(G)}if(J==="data"){if(typeof G==="string")return F9(G)}if(J==="array"&&Array.isArray(G))return G;if(J===typeof G)return G;O(!1,`wrong type found for ${J} `,"path",X)}return G}var R7="m/44'/60'/0'/0/0";function JY($){try{let Q=JSON.parse($);if((Q.version!=null?parseInt(Q.version):0)===3)return!0}catch(Q){}return!1}function J1($,Q,Y){if(M$($,"crypto.cipher:string")==="aes-128-ctr"){let J=M$($,"crypto.cipherparams.iv:data!"),Z=new k8(Q,J);return L(Z.decrypt(Y))}H(!1,"unsupported cipher","UNSUPPORTED_OPERATION",{operation:"decrypt"})}function UJ($,Q){let Y=C(Q),X=M$($,"crypto.ciphertext:data!"),J=L(g(b([Y.slice(16,32),X]))).substring(2);O(J===M$($,"crypto.mac:string!").toLowerCase(),"incorrect password","password","[ REDACTED ]");let Z=J1($,Y.slice(0,16),X),G=w0(Z);if($.address){let V=$.address.toLowerCase();if(!V.startsWith("0x"))V="0x"+V;O(f(V)===G,"keystore address/privateKey mismatch","address",$.address)}let z={address:G,privateKey:Z};if(M$($,"x-ethers.version:string")==="0.1"){let V=Y.slice(32,64),K=M$($,"x-ethers.mnemonicCiphertext:data!"),D=M$($,"x-ethers.mnemonicCounter:data!"),M=new k8(V,D);z.mnemonic={path:M$($,"x-ethers.path:string")||R7,locale:M$($,"x-ethers.locale:string")||"en",entropy:L(C(M.decrypt(K)))}}return z}function L7($){let Q=M$($,"crypto.kdf:string");if(Q&&typeof Q==="string"){if(Q.toLowerCase()==="scrypt"){let Y=M$($,"crypto.kdfparams.salt:data!"),X=M$($,"crypto.kdfparams.n:int!"),J=M$($,"crypto.kdfparams.r:int!"),Z=M$($,"crypto.kdfparams.p:int!");O(X>0&&(X&X-1)===0,"invalid kdf.N","kdf.N",X),O(J>0&&Z>0,"invalid kdf","kdf",Q);let G=M$($,"crypto.kdfparams.dklen:int!");return O(G===32,"invalid kdf.dklen","kdf.dflen",G),{name:"scrypt",salt:Y,N:X,r:J,p:Z,dkLen:64}}else if(Q.toLowerCase()==="pbkdf2"){let Y=M$($,"crypto.kdfparams.salt:data!"),X=M$($,"crypto.kdfparams.prf:string!"),J=X.split("-").pop();O(J==="sha256"||J==="sha512","invalid kdf.pdf","kdf.pdf",X);let Z=M$($,"crypto.kdfparams.c:int!"),G=M$($,"crypto.kdfparams.dklen:int!");return O(G===32,"invalid kdf.dklen","kdf.dklen",G),{name:"pbkdf2",salt:Y,count:Z,dkLen:G,algorithm:J}}}O(!1,"unsupported key-derivation function","kdf",Q)}function QX($,Q){let Y=JSON.parse($),X=UQ(Q),J=L7(Y);if(J.name==="pbkdf2"){let{salt:D,count:M,dkLen:q,algorithm:U}=J,I=d$(X,D,M,q,U);return UJ(Y,I)}H(J.name==="scrypt","cannot be reached","UNKNOWN_ERROR",{params:J});let{salt:Z,N:G,r:z,p:W,dkLen:V}=J,K=A0(X,Z,G,z,W,V);return UJ(Y,K)}function q7($){return new Promise((Q)=>{setTimeout(()=>{Q()},$)})}async function YX($,Q,Y){let X=JSON.parse($),J=UQ(Q),Z=L7(X);if(Z.name==="pbkdf2"){if(Y)Y(0),await q7(0);let{salt:M,count:q,dkLen:U,algorithm:I}=Z,R=d$(J,M,q,U,I);if(Y)Y(1),await q7(0);return UJ(X,R)}H(Z.name==="scrypt","cannot be reached","UNKNOWN_ERROR",{params:Z});let{salt:G,N:z,r:W,p:V,dkLen:K}=Z,D=await B0(J,G,z,W,V,K,Y);return UJ(X,D)}function E7($){let Q=$.salt!=null?C($.salt,"options.salt"):g$(32),Y=131072,X=8,J=1;if($.scrypt){if($.scrypt.N)Y=$.scrypt.N;if($.scrypt.r)X=$.scrypt.r;if($.scrypt.p)J=$.scrypt.p}return O(typeof Y==="number"&&Y>0&&Number.isSafeInteger(Y)&&(BigInt(Y)&BigInt(Y-1))===BigInt(0),"invalid scrypt N parameter","options.N",Y),O(typeof X==="number"&&X>0&&Number.isSafeInteger(X),"invalid scrypt r parameter","options.r",X),O(typeof J==="number"&&J>0&&Number.isSafeInteger(J),"invalid scrypt p parameter","options.p",J),{name:"scrypt",dkLen:32,salt:Q,N:Y,r:X,p:J}}function C7($,Q,Y,X){let J=C(Y.privateKey,"privateKey"),Z=X.iv!=null?C(X.iv,"options.iv"):g$(16);O(Z.length===16,"invalid options.iv length","options.iv",X.iv);let G=X.uuid!=null?C(X.uuid,"options.uuid"):g$(16);O(G.length===16,"invalid options.uuid length","options.uuid",X.iv);let z=$.slice(0,16),W=$.slice(16,32),V=new k8(z,Z),K=C(V.encrypt(J)),D=g(b([W,K])),M={address:Y.address.substring(2).toLowerCase(),id:UY(G),version:3,Crypto:{cipher:"aes-128-ctr",cipherparams:{iv:L(Z).substring(2)},ciphertext:L(K).substring(2),kdf:"scrypt",kdfparams:{salt:L(Q.salt).substring(2),n:Q.N,dklen:32,p:Q.p,r:Q.r},mac:D.substring(2)}};if(Y.mnemonic){let q=X.client!=null?X.client:`ethers/${EQ}`,U=Y.mnemonic.path||R7,I=Y.mnemonic.locale||"en",R=$.slice(32,64),E=C(Y.mnemonic.entropy,"account.mnemonic.entropy"),N=g$(16),x=new k8(R,N),P=C(x.encrypt(E)),A=new Date,_="UTC--"+(A.getUTCFullYear()+"-"+XY(A.getUTCMonth()+1,2)+"-"+XY(A.getUTCDate(),2)+"T"+XY(A.getUTCHours(),2)+"-"+XY(A.getUTCMinutes(),2)+"-"+XY(A.getUTCSeconds(),2)+".0Z")+"--"+M.address;M["x-ethers"]={client:q,gethFilename:_,path:U,locale:I,mnemonicCounter:L(N).substring(2),mnemonicCiphertext:L(P).substring(2),version:"0.1"}}return JSON.stringify(M)}function HQ($,Q,Y){if(Y==null)Y={};let X=UQ(Q),J=E7(Y),Z=A0(X,J.salt,J.N,J.r,J.p,64);return C7(C(Z),J,$,Y)}async function IQ($,Q,Y){if(Y==null)Y={};let X=UQ(Q),J=E7(Y),Z=await B0(X,J.salt,J.N,J.r,J.p,64,Y.progressCallback);return C7(C(Z),J,$,Y)}var ZY="m/44'/60'/0'/0/0",Z1=new Uint8Array([66,105,116,99,111,105,110,32,115,101,101,100]),i0=2147483648,G1=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),z1="0123456789abcdef";function HJ($,Q){let Y="";while($)Y=z1[$%16]+Y,$=Math.trunc($/16);while(Y.length<Q*2)Y="0"+Y;return"0x"+Y}function j9($){let Q=C($),Y=o(I$(I$(Q)),0,4),X=b([Q,Y]);return u8(X)}var l0={};function T7($,Q,Y,X){let J=new Uint8Array(37);if($&i0)H(X!=null,"cannot derive child of neutered node","UNSUPPORTED_OPERATION",{operation:"deriveChild"}),J.set(C(X),1);else J.set(C(Y));for(let G=24;G>=0;G-=8)J[33+(G>>3)]=$>>24-G&255;let Z=C(N0("sha512",Q,J));return{IL:Z.slice(0,32),IR:Z.slice(32)}}function N7($,Q){let Y=Q.split("/");if(O(Y.length>0,"invalid path","path",Q),Y[0]==="m")O($.depth===0,`cannot derive root path (i.e. path starting with "m/") for a node at non-zero depth ${$.depth}`,"path",Q),Y.shift();let X=$;for(let J=0;J<Y.length;J++){let Z=Y[J];if(Z.match(/^[0-9]+'$/)){let G=parseInt(Z.substring(0,Z.length-1));O(G<i0,"invalid path index",`path[${J}]`,Z),X=X.deriveChild(i0+G)}else if(Z.match(/^[0-9]+$/)){let G=parseInt(Z);O(G<i0,"invalid path index",`path[${J}]`,Z),X=X.deriveChild(G)}else O(!1,"invalid path component",`path[${J}]`,Z)}return X}class c$ extends Z8{publicKey;fingerprint;parentFingerprint;mnemonic;chainCode;path;index;depth;constructor($,Q,Y,X,J,Z,G,z,W){super(Q,W);w$($,l0,"HDNodeWallet"),T(this,{publicKey:Q.compressedPublicKey});let V=o(S0(I$(this.publicKey)),0,4);T(this,{parentFingerprint:Y,fingerprint:V,chainCode:X,path:J,index:Z,depth:G}),T(this,{mnemonic:z})}connect($){return new c$(l0,this.signingKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,this.mnemonic,$)}#$(){let $={address:this.address,privateKey:this.privateKey},Q=this.mnemonic;if(this.path&&Q&&Q.wordlist.locale==="en"&&Q.password==="")$.mnemonic={path:this.path,locale:"en",entropy:Q.entropy};return $}async encrypt($,Q){return await IQ(this.#$(),$,{progressCallback:Q})}encryptSync($){return HQ(this.#$(),$)}get extendedKey(){return H(this.depth<256,"Depth too deep","UNSUPPORTED_OPERATION",{operation:"extendedKey"}),j9(b(["0x0488ADE4",HJ(this.depth,1),this.parentFingerprint,HJ(this.index,4),this.chainCode,b(["0x00",this.privateKey])]))}hasPath(){return this.path!=null}neuter(){return new f8(l0,this.address,this.publicKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,this.provider)}deriveChild($){let Q=w($,"index");O(Q<=4294967295,"invalid index","index",Q);let Y=this.path;if(Y){if(Y+="/"+(Q&~i0),Q&i0)Y+="'"}let{IR:X,IL:J}=T7(Q,this.chainCode,this.publicKey,this.privateKey),Z=new q$(P$((z0(J)+BigInt(this.privateKey))%G1,32));return new c$(l0,Z,this.fingerprint,L(X),Y,Q,this.depth+1,this.mnemonic,this.provider)}derivePath($){return N7(this,$)}static#Q($,Q){O(R0($),"invalid seed","seed","[REDACTED]");let Y=C($,"seed");O(Y.length>=16&&Y.length<=64,"invalid seed","seed","[REDACTED]");let X=C(N0("sha512",Z1,Y)),J=new q$(L(X.slice(0,32)));return new c$(l0,J,"0x00000000",L(X.slice(32)),"m",0,0,Q,null)}static fromExtendedKey($){let Q=z$(VY($));O(Q.length===82||j9(Q.slice(0,78))===$,"invalid extended key","extendedKey","[ REDACTED ]");let Y=Q[4],X=L(Q.slice(5,9)),J=parseInt(L(Q.slice(9,13)).substring(2),16),Z=L(Q.slice(13,45)),G=Q.slice(45,78);switch(L(Q.slice(0,4))){case"0x0488b21e":case"0x043587cf":{let z=L(G);return new f8(l0,w0(z),z,X,Z,null,J,Y,null)}case"0x0488ade4":case"0x04358394 ":if(G[0]!==0)break;return new c$(l0,new q$(G.slice(1)),X,Z,null,J,Y,null,null)}O(!1,"invalid extended key prefix","extendedKey","[ REDACTED ]")}static createRandom($,Q,Y){if($==null)$="";if(Q==null)Q=ZY;if(Y==null)Y=r$.wordlist();let X=y0.fromEntropy(g$(16),$,Y);return c$.#Q(X.computeSeed(),X).derivePath(Q)}static fromMnemonic($,Q){if(!Q)Q=ZY;return c$.#Q($.computeSeed(),$).derivePath(Q)}static fromPhrase($,Q,Y,X){if(Q==null)Q="";if(Y==null)Y=ZY;if(X==null)X=r$.wordlist();let J=y0.fromPhrase($,Q,X);return c$.#Q(J.computeSeed(),J).derivePath(Y)}static fromSeed($){return c$.#Q($,null)}}class f8 extends VQ{publicKey;fingerprint;parentFingerprint;chainCode;path;index;depth;constructor($,Q,Y,X,J,Z,G,z,W){super(Q,W);w$($,l0,"HDNodeVoidWallet"),T(this,{publicKey:Y});let V=o(S0(I$(Y)),0,4);T(this,{publicKey:Y,fingerprint:V,parentFingerprint:X,chainCode:J,path:Z,index:G,depth:z})}connect($){return new f8(l0,this.address,this.publicKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,$)}get extendedKey(){return H(this.depth<256,"Depth too deep","UNSUPPORTED_OPERATION",{operation:"extendedKey"}),j9(b(["0x0488B21E",HJ(this.depth,1),this.parentFingerprint,HJ(this.index,4),this.chainCode,this.publicKey]))}hasPath(){return this.path!=null}deriveChild($){let Q=w($,"index");O(Q<=4294967295,"invalid index","index",Q);let Y=this.path;if(Y){if(Y+="/"+(Q&~i0),Q&i0)Y+="'"}let{IR:X,IL:J}=T7(Q,this.chainCode,this.publicKey,null),Z=q$.addPoints(J,this.publicKey,!0),G=w0(Z);return new f8(l0,G,Z,this.fingerprint,L(X),Y,Q,this.depth+1,this.provider)}derivePath($){return N7(this,$)}}function w9($){let Q=w($,"index");return O(Q>=0&&Q<i0,"invalid account index","index",Q),`m/44'/60'/${Q}'/0/0`}function _9($){let Q=w($,"index");return O(Q>=0&&Q<i0,"invalid account index","index",Q),`m/44'/60'/0'/0/${Q}`}function GY($){try{if(JSON.parse($).encseed)return!0}catch(Q){}return!1}function zY($,Q){let Y=JSON.parse($),X=UQ(Q),J=f(M$(Y,"ethaddr:string!")),Z=F9(M$(Y,"encseed:string!"));O(Z&&Z.length%16===0,"invalid encseed","json",$);let G=C(d$(X,X,2000,32,"sha256")).slice(0,16),z=Z.slice(0,16),W=Z.slice(16),V=new eY(G,z),K=P9(C(V.decrypt(W))),D="";for(let M=0;M<K.length;M++)D+=String.fromCharCode(K[M]);return{address:J,privateKey:x$(D)}}function S7($){return new Promise((Q)=>{setTimeout(()=>{Q()},$)})}class b8 extends Z8{constructor($,Q){if(typeof $==="string"&&!$.startsWith("0x"))$="0x"+$;let Y=typeof $==="string"?new q$($):$;super(Y,Q)}connect($){return new b8(this.signingKey,$)}async encrypt($,Q){let Y={address:this.address,privateKey:this.privateKey};return await IQ(Y,$,{progressCallback:Q})}encryptSync($){let Q={address:this.address,privateKey:this.privateKey};return HQ(Q,$)}static#$($){if(O($,"invalid JSON wallet","json","[ REDACTED ]"),"mnemonic"in $&&$.mnemonic&&$.mnemonic.locale==="en"){let Y=y0.fromEntropy($.mnemonic.entropy),X=c$.fromMnemonic(Y,$.mnemonic.path);if(X.address===$.address&&X.privateKey===$.privateKey)return X;console.log("WARNING: JSON mismatch address/privateKey != mnemonic; fallback onto private key")}let Q=new b8($.privateKey);return O(Q.address===$.address,"address/privateKey mismatch","json","[ REDACTED ]"),Q}static async fromEncryptedJson($,Q,Y){let X=null;if(JY($))X=await YX($,Q,Y);else if(GY($)){if(Y)Y(0),await S7(0);if(X=zY($,Q),Y)Y(1),await S7(0)}return b8.#$(X)}static fromEncryptedJsonSync($,Q){let Y=null;if(JY($))Y=QX($,Q);else if(GY($))Y=zY($,Q);else O(!1,"invalid JSON wallet","json","[ REDACTED ]");return b8.#$(Y)}static createRandom($){let Q=c$.createRandom();if($)return Q.connect($);return Q}static fromPhrase($,Q){let Y=c$.fromPhrase($);if(Q)return Y.connect(Q);return Y}}function B7($,Q){let Y=(1<<$)-1,X=[],J=0,Z=0,G=0;for(let z=0;z<Q.length;z++){J=J<<6|")!@#$%^&*(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".indexOf(Q[z]),Z+=6;while(Z>=$){let W=J>>Z-$;if(J&=(1<<Z-$)-1,Z-=$,W===0)G+=Y;else X.push(W+G),G=0}}return X}function A7($,Q){let Y=VJ($).join(",");return Q.split(/,/g).forEach((X)=>{let J=X.match(/^([a-z]*)([0-9]+)([0-9])(.*)$/);O(J!==null,"internal error parsing accents","accents",Q);let Z=0,G=B7(parseInt(J[3]),J[4]),z=parseInt(J[2]),W=new RegExp(`([${J[1]}])`,"g");Y=Y.replace(W,(V,K)=>{if(--G[Z]===0)K=String.fromCharCode(K.charCodeAt(0),z),Z++;return K})}),Y.split(",")}class IJ extends x8{#$;constructor($,Q,Y,X){super($,Q,X);this.#$=Y}get _accent(){return this.#$}_decodeWords(){return A7(this._data,this._accent)}}var x9={en:r$.wordlist()};export{T$ as zeroPadValue,o0 as zeroPadBytes,x9 as wordlists,EQ as version,dZ as verifyTypedData,vZ as verifyMessage,UY as uuidV4,u$ as toUtf8String,EJ as toUtf8CodePoints,e as toUtf8Bytes,a0 as toTwos,i$ as toQuantity,WY as toNumber,z0 as toBigInt,P$ as toBeHex,z$ as toBeArray,RJ as stripZerosLeft,mZ as solidityPackedSha256,gZ as solidityPackedKeccak256,xY as solidityPacked,b$ as showThrottleMessage,o8 as sha512,I$ as sha256,A0 as scryptSync,B0 as scrypt,S0 as ripemd160,Z$ as resolveProperties,K$ as resolveAddress,Q8 as recoverAddress,g$ as randomBytes,d$ as pbkdf2,MX as parseUnits,SJ as parseEther,L8 as namehash,t$ as mask,l as makeError,_5 as lock,g as keccak256,xZ as isValidName,JY as isKeystoreJson,c as isHexString,t as isError,GY as isCrowdsaleJson,z8 as isCallException,R0 as isBytesLike,fQ as isAddressable,KZ as isAddress,x$ as id,L as hexlify,mQ as hashMessage,c8 as getUint,w as getNumber,_9 as getIndexedAccountPath,zZ as getIcapAddress,L9 as getDefaultProvider,e8 as getCreateAddress,WZ as getCreate2Address,G$ as getBytesCopy,C as getBytes,B as getBigInt,f as getAddress,w9 as getAccountPath,s0 as fromTwos,DX as formatUnits,NJ as formatEther,P7 as ethers,cX as ensNormalize,HQ as encryptKeystoreJsonSync,IQ as encryptKeystoreJson,W0 as encodeRlp,lZ as encodeBytes32String,OY as encodeBase64,u8 as encodeBase58,wY as dnsEncode,T as defineProperties,ZY as defaultPath,QX as decryptKeystoreJsonSync,YX as decryptKeystoreJson,zY as decryptCrowdsaleJson,V8 as decodeRlp,iZ as decodeBytes32String,KY as decodeBase64,VY as decodeBase58,o as dataSlice,l$ as dataLength,D0 as copyRequest,b as concat,N0 as computeHmac,w0 as computeAddress,HX as checkResultErrors,w$ as assertPrivate,m8 as assertNormalize,g8 as assertArgumentCount,O as assertArgument,H as assert,k$ as accessListify,xQ as ZeroHash,F0 as ZeroAddress,IJ as WordlistOwlA,x8 as WordlistOwl,$Y as Wordlist,QZ as WeiPerEther,w8 as WebSocketProvider,b8 as Wallet,VQ as VoidSigner,WX as Utf8ErrorFuncs,d0 as UnmanagedSubscriber,JQ as UndecodedEventLog,L$ as TypedDataEncoder,p as Typed,c0 as TransactionResponse,T8 as TransactionReceipt,bY as TransactionDescription,B$ as Transaction,m0 as StructFragment,DQ as SocketSubscriber,rQ as SocketProvider,lY as SocketPendingSubscriber,iY as SocketEventSubscriber,pY as SocketBlockSubscriber,q$ as SigningKey,V$ as Signature,n$ as Result,_8 as QuickNodeProvider,eQ as PocketProvider,$$ as ParamType,aY as NonceManager,f0 as NetworkPlugin,d as Network,C8 as NamedFragment,$Z as N,mY as MulticoinProviderPlugin,y0 as Mnemonic,XZ as MinInt256,NY as MessagePrefix,YZ as MaxUint256,JZ as MaxInt256,fY as LogDescription,M0 as Log,r$ as LangEn,KQ as JsonRpcSigner,H$ as JsonRpcProvider,OQ as JsonRpcApiProvider,E9 as IpcSocketProvider,J0 as Interface,oY as InfuraWebSocketProvider,J8 as InfuraProvider,cQ as Indexed,c$ as HDNodeWallet,f8 as HDNodeVoidWallet,B8 as GasCostPlugin,s$ as FunctionFragment,_0 as Fragment,e$ as FixedNumber,iQ as FetchUrlFeeDataNetworkPlugin,E0 as FetchResponse,Q$ as FetchRequest,DY as FetchCancelSignal,uY as FeeDataNetworkPlugin,XQ as FeeData,tQ as FallbackProvider,K0 as FallbackFragment,W8 as EventPayload,N8 as EventLog,o$ as EventFragment,aQ as EtherscanProvider,dY as EtherscanPlugin,ZZ as EtherSymbol,j$ as ErrorFragment,hY as ErrorDescription,u0 as EnsResolver,A8 as EnsPlugin,ZQ as ContractUnknownEventPayload,S8 as ContractTransactionResponse,yY as ContractTransactionReceipt,gY as ContractFactory,pQ as ContractEventPayload,G0 as Contract,Y0 as ConstructorFragment,sQ as CloudflareProvider,j8 as ChainstackProvider,GJ as BrowserProvider,dQ as Block,Z8 as BaseWallet,k0 as BaseContract,P8 as AnkrProvider,F8 as AlchemyProvider,h0 as AbstractSigner,b0 as AbstractProvider,X0 as AbiCoder};
|
|
5
|
-
|
|
6
|
-
//# debugId=017C9B764DF046A864756E2164756E21
|