1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6541,8197],{819:(t,e,r)=>{r.d(e,{RK:()=>E});var n=r(73365);function i(t){return"span"===t._type&&"text"in t&&"string"==typeof t.text&&(typeof t.marks>"u"||Array.isArray(t.marks)&&t.marks.every(t=>"string"==typeof t))}function s(t){return"string"==typeof t._type&&"@"!==t._type[0]&&(!("markDefs"in t)||!t.markDefs||Array.isArray(t.markDefs)&&t.markDefs.every(t=>"string"==typeof t._key))&&"children"in t&&Array.isArray(t.children)&&t.children.every(t=>"object"==typeof t&&"_type"in t)}function a(t){return s(t)&&"listItem"in t&&"string"==typeof t.listItem&&(typeof t.level>"u"||"number"==typeof t.level)}function o(t){return"@list"===t._type}function l(t){return"@span"===t._type}function u(t){return"@text"===t._type}let c=["strong","em","code","underline","strike-through"];function h(t,e,r){if(!i(t)||!t.marks||!t.marks.length)return[];let n=t.marks.slice(),s={};return n.forEach(t=>{s[t]=1;for(let n=e+1;n<r.length;n++){let e=r[n];if(e&&i(e)&&Array.isArray(e.marks)&&-1!==e.marks.indexOf(t))s[t]++;else break}}),n.sort((t,e)=>(function(t,e,r){let n=t[e],i=t[r];if(n!==i)return i-n;let s=c.indexOf(e),a=c.indexOf(r);return s!==a?s-a:e.localeCompare(r)})(s,t,e))}function f(t,e,r){return{_type:"@list",_key:`${t._key||`${e}`}-parent`,mode:r,level:t.level||1,listItem:t.listItem,children:[t]}}function d(t,e){let r=e.level||1,n=e.listItem||"normal",s="string"==typeof e.listItem;if(o(t)&&(t.level||1)===r&&s&&(t.listItem||"normal")===n)return t;if(!("children"in t))return;let a=t.children[t.children.length-1];return a&&!i(a)?d(a,e):void 0}var p=r(1521);let g={textDecoration:"underline"},m=(t,e)=>`[@portabletext/react] Unknown ${t}, specify a component for it in the \`components.${e}\` prop`,y=t=>m(`block type "${t}"`,"types");function A(t){console.warn(t)}let b={display:"none"},w={types:{},block:{normal:({children:t})=>(0,n.jsx)("p",{children:t}),blockquote:({children:t})=>(0,n.jsx)("blockquote",{children:t}),h1:({children:t})=>(0,n.jsx)("h1",{children:t}),h2:({children:t})=>(0,n.jsx)("h2",{children:t}),h3:({children:t})=>(0,n.jsx)("h3",{children:t}),h4:({children:t})=>(0,n.jsx)("h4",{children:t}),h5:({children:t})=>(0,n.jsx)("h5",{children:t}),h6:({children:t})=>(0,n.jsx)("h6",{children:t})},marks:{em:({children:t})=>(0,n.jsx)("em",{children:t}),strong:({children:t})=>(0,n.jsx)("strong",{children:t}),code:({children:t})=>(0,n.jsx)("code",{children:t}),underline:({children:t})=>(0,n.jsx)("span",{style:g,children:t}),"strike-through":({children:t})=>(0,n.jsx)("del",{children:t}),link:({children:t,value:e})=>(0,n.jsx)("a",{href:null==e?void 0:e.href,children:t})},list:{number:({children:t})=>(0,n.jsx)("ol",{children:t}),bullet:({children:t})=>(0,n.jsx)("ul",{children:t})},listItem:({children:t})=>(0,n.jsx)("li",{children:t}),hardBreak:()=>(0,n.jsx)("br",{}),unknownType:({value:t,isInline:e})=>{let r=y(t._type);return e?(0,n.jsx)("span",{style:b,children:r}):(0,n.jsx)("div",{style:b,children:r})},unknownMark:({markType:t,children:e})=>(0,n.jsx)("span",{className:`unknown__pt__mark__${t}`,children:e}),unknownList:({children:t})=>(0,n.jsx)("ul",{children:t}),unknownListItem:({children:t})=>(0,n.jsx)("li",{children:t}),unknownBlockStyle:({children:t})=>(0,n.jsx)("p",{children:t})};function v(t,e,r){let n=e[r],i=t[r];return"function"==typeof n||n&&"function"==typeof i?n:n?{...i,...n}:i}function E({value:t,components:e,listNestingMode:r,onMissingComponent:i=A}){let s=i||R,o=function(t,e){let r,n=[];for(let o=0;o<t.length;o++){let l=t[o];if(l){var i,s;if(!a(l)){n.push(l),r=void 0;continue}if(!r){r=f(l,o,e),n.push(r);continue}if(i=l,s=r,(i.level||1)===s.level&&i.listItem===s.listItem){r.children.push(l);continue}if((l.level||1)>r.level){let t=f(l,o,e);if("html"===e){let e=r.children[r.children.length-1],n={...e,children:[...e.children,t]};r.children[r.children.length-1]=n}else r.children.push(t);r=t;continue}if((l.level||1)<r.level){let t=n[n.length-1],i=t&&d(t,l);if(i){(r=i).children.push(l);continue}r=f(l,o,e),n.push(r);continue}if(l.listItem!==r.listItem){let t=n[n.length-1],i=t&&d(t,{level:l.level||1});if(i&&i.listItem===l.listItem){(r=i).children.push(l);continue}r=f(l,o,e),n.push(r);continue}console.warn("Unknown state encountered for block",l),n.push(l)}}return n}(Array.isArray(t)?t:[t],r||"html"),l=(0,p.useMemo)(()=>e?function(t,e){let{block:r,list:n,listItem:i,marks:s,types:a,...o}=e;return{...t,block:v(t,e,"block"),list:v(t,e,"list"),listItem:v(t,e,"listItem"),marks:v(t,e,"marks"),types:v(t,e,"types"),...o}}(w,e):w,[e]),u=(0,p.useMemo)(()=>x(l,s),[l,s]),c=o.map((t,e)=>u({node:t,index:e,isInline:!1,renderNode:u}));return(0,n.jsx)(n.Fragment,{children:c})}let x=(t,e)=>function r(i){let{node:c,index:h,isInline:f}=i,d=c._key||`node-${h}`;return o(c)?function(i,s,a){let o=i.children.map((t,e)=>
1r({node:t._key?t:{...t,_key:`li-${s}-${e}`},index:e,isInline:!1})),l=t.list,u=("function"==typeof l?l:l[i.listItem])||t.unknownList;if(u===t.unknownList){let t=i.listItem||"bullet";e(m(`list style "${t}"`,"list"),{nodeType:"listStyle",type:t})}return(0,n.jsx)(u,{value:i,index:s,isInline:!1,renderNode:r,children:o},a)}(c,h,d):a(c)?function(i,s,a){let o=k({node:i,index:s,isInline:!1,renderNode:r}),l=t.listItem,u=("function"==typeof l?l:l[i.listItem])||t.unknownListItem;if(u===t.unknownListItem){let t=i.listItem||"bullet";e(m(`list item style "${t}"`,"listItem"),{type:t,nodeType:"listItemStyle"})}let c=o.children;if(i.style&&"normal"!==i.style){let{listItem:t,...e}=i;c=r({node:e,index:s,isInline:!1})}return(0,n.jsx)(u,{value:i,index:s,isInline:!1,renderNode:r,children:c},a)}(c,h,d):l(c)?function(i,s,a){let{markDef:o,markType:c,markKey:h}=i,f=t.marks[c]||t.unknownMark,d=i.children.map((t,e)=>r({node:t,index:e,isInline:!0}));return f===t.unknownMark&&e(m(`mark type "${c}"`,"marks"),{nodeType:"mark",type:c}),(0,n.jsx)(f,{text:function t(e){let r="";return e.children.forEach(e=>{u(e)?r+=e.text:l(e)&&(r+=t(e))}),r}(i),value:o,markType:c,markKey:h,renderNode:r,children:d},a)}(c,0,d):c._type in t.types?function(e,i,s,a){let o=t.types[e._type];return o?(0,n.jsx)(o,{value:e,isInline:a,index:i,renderNode:r},s):null}(c,h,d,f):s(c)?function(i,s,a,o){let{_key:l,...u}=k({node:i,index:s,isInline:o,renderNode:r}),c=u.node.style||"normal",h=("function"==typeof t.block?t.block:t.block[c])||t.unknownBlockStyle;return h===t.unknownBlockStyle&&e(m(`block style "${c}"`,"block"),{nodeType:"blockStyle",type:c}),(0,n.jsx)(h,{...u,value:u.node,renderNode:r},a)}(c,h,d,f):u(c)?function(e,r){if(e.text===` 2`){let e=t.hardBreak;return e?(0,n.jsx)(e,{},r):` 3`}return e.text}(c,d):function(i,s,a,o){e(y(i._type),{nodeType:"block",type:i._type});let l=t.unknownType;return(0,n.jsx)(l,{value:i,isInline:o,index:s,renderNode:r},a)}(c,h,d,f)};function k(t){let{node:e,index:r,isInline:n,renderNode:s}=t,a=(function(t){var e;let{children:r}=t,n=t.markDefs??[];if(!r||!r.length)return[];let s=r.map(h),a={_type:"@span",children:[],markType:"<unknown>"},o=[a];for(let t=0;t<r.length;t++){let a=r[t];if(!a)continue;let l=s[t]||[],u=1;if(o.length>1)for(;u<o.length;u++){let t=(null==(e=o[u])?void 0:e.markKey)||"",r=l.indexOf(t);if(-1===r)break;l.splice(r,1)}let c=(o=o.slice(0,u))[o.length-1];if(c){for(let t of l){let e=null==n?void 0:n.find(e=>e._key===t),r=e?e._type:t,i={_type:"@span",_key:a._key,children:[],markDef:e,markType:r,markKey:t};c.children.push(i),o.push(i),c=i}if(i(a)){let t=a.text.split(` 4`);for(let e=t.length;e-- >1;)t.splice(e,0,` 5`);c.children=c.children.concat(t.map(t=>({_type:"@text",text:t})))}else c.children=c.children.concat(a)}}return a.children})(e).map((t,e)=>s({node:t,isInline:!0,index:e,renderNode:s}));return{_key:e._key||`block-${r}`,children:a,index:r,isInline:n,node:e}}function R(){}},8573:(t,e,r)=>{r.d(e,{Vw:()=>u,Id:()=>l,O8:()=>s,po:()=>h,Ow:()=>a,ZJ:()=>o,DH:()=>i,ld:()=>c});let n="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0,i=t=>new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4)),s=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),a=(t,e)=>t<<32-e|t>>>e;if(68!==new Uint8Array(new Uint32Array([0x11223344]).buffer)[0])throw Error("Non little-endian hardware is not supported");function o(t){if("string"==typeof t&&(t=function(t){if("string"!=typeof t)throw Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}(t)),!(t instanceof Uint8Array))throw Error(`expected Uint8Array, got ${typeof t}`);return t}function l(...t){let e=new Uint8Array(t.reduce((t,e)=>t+e.length,0)),r=0;return t.forEach(t=>{if(!(t instanceof Uint8Array))throw Error("Uint8Array expected");e.set(t,r),r+=t.length}),e}class u{clone(){return this._cloneInto()}}function c(t){let e=e=>t().update(o(e)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function h(t=32){if(n&&"function"==typeof n.getRandomValues)return n.getRandomValues(new Uint8Array(t));throw Error("crypto.getRandomValues must be defined")}},11175:(t,e,r)=>{r.d(e,{V:()=>u});var n=r(20972),i=r(19841);let s={};function a(t,e){let r=!1;return e<0&&(r=!0,e*=-1),new u(s,`${r?"":"u"}int${e}`,t,{signed:r,width:e})}function o(t,e){return new u(s,`bytes${e||""}`,t,{size:e})}let l=Symbol.for("_ethers_typed");class u{type;value;#t;_typedSymbol;constructor(t,e,r,a){null==a&&(a=null),(0,n.gk)(s,t,"Typed"),(0,i.n)(this,{_typedSymbol:l,type:e,value:r}),this.#t=a,this.format()}format(){if("array"===this.type||"dynamicArray"===this.type)throw Error("");return"tuple"===this.type?`tuple(${this.value.map(t=>t.format()).join(",")}
5)`: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"string"===this.type}get tupleName(){if("tuple"!==this.type)throw TypeError("not a tuple");return this.#t}get arrayLength(){if("array"!==this.type)throw TypeError("not an array");return!0===this.#t?-1:!1===this.#t?this.value.length:null}static from(t,e){return new u(s,t,e)}static uint8(t){return a(t,8)}static uint16(t){return a(t,16)}static uint24(t){return a(t,24)}static uint32(t){return a(t,32)}static uint40(t){return a(t,40)}static uint48(t){return a(t,48)}static uint56(t){return a(t,56)}static uint64(t){return a(t,64)}static uint72(t){return a(t,72)}static uint80(t){return a(t,80)}static uint88(t){return a(t,88)}static uint96(t){return a(t,96)}static uint104(t){return a(t,104)}static uint112(t){return a(t,112)}static uint120(t){return a(t,120)}static uint128(t){return a(t,128)}static uint136(t){return a(t,136)}static uint144(t){return a(t,144)}static uint152(t){return a(t,152)}static uint160(t){return a(t,160)}static uint168(t){return a(t,168)}static uint176(t){return a(t,176)}static uint184(t){return a(t,184)}static uint192(t){return a(t,192)}static uint200(t){return a(t,200)}static uint208(t){return a(t,208)}static uint216(t){return a(t,216)}static uint224(t){return a(t,224)}static uint232(t){return a(t,232)}static uint240(t){return a(t,240)}static uint248(t){return a(t,248)}static uint256(t){return a(t,256)}static uint(t){return a(t,256)}static int8(t){return a(t,-8)}static int16(t){return a(t,-16)}static int24(t){return a(t,-24)}static int32(t){return a(t,-32)}static int40(t){return a(t,-40)}static int48(t){return a(t,-48)}static int56(t){return a(t,-56)}static int64(t){return a(t,-64)}static int72(t){return a(t,-72)}static int80(t){return a(t,-80)}static int88(t){return a(t,-88)}static int96(t){return a(t,-96)}static int104(t){return a(t,-104)}static int112(t){return a(t,-112)}static int120(t){return a(t,-120)}static int128(t){return a(t,-128)}static int136(t){return a(t,-136)}static int144(t){return a(t,-144)}static int152(t){return a(t,-152)}static int160(t){return a(t,-160)}static int168(t){return a(t,-168)}static int176(t){return a(t,-176)}static int184(t){return a(t,-184)}static int192(t){return a(t,-192)}static int200(t){return a(t,-200)}static int208(t){return a(t,-208)}static int216(t){return a(t,-216)}static int224(t){return a(t,-224)}static int232(t){return a(t,-232)}static int240(t){return a(t,-240)}static int248(t){return a(t,-248)}static int256(t){return a(t,-256)}static int(t){return a(t,-256)}static bytes1(t){return o(t,1)}static bytes2(t){return o(t,2)}static bytes3(t){return o(t,3)}static bytes4(t){return o(t,4)}static bytes5(t){return o(t,5)}static bytes6(t){return o(t,6)}static bytes7(t){return o(t,7)}static bytes8(t){return o(t,8)}static bytes9(t){return o(t,9)}static bytes10(t){return o(t,10)}static bytes11(t){return o(t,11)}static bytes12(t){return o(t,12)}static bytes13(t){return o(t,13)}static bytes14(t){return o(t,14)}static bytes15(t){return o(t,15)}static bytes16(t){return o(t,16)}static bytes17(t){return o(t,17)}static bytes18(t){return o(t,18)}static bytes19(t){return o(t,19)}static bytes20(t){return o(t,20)}static bytes21(t){return o(t,21)}static bytes22(t){return o(t,22)}static bytes23(t){return o(t,23)}static bytes24(t){return o(t,24)}static bytes25(t){return o(t,25)}static bytes26(t){return o(t,26)}static bytes27(t){return o(t,27)}static bytes28(t){return o(t,28)}static bytes29(t){return o(t,29)}static bytes30(t){return o(t,30)}static bytes31(t){return o(t,31)}static bytes32(t){return o(t,32)}static address(t){return new u(s,"address",t)}static bool(t){return new u(s,"bool",!!t)}static bytes(t){return new u(s,"bytes",t)}static string(t){return new u(s,"string",t)}static array(t,e){throw Error("not implemented yet")}static tuple(t,e){throw Error("not implemented yet")}static overrides(t){return new u(s,"overrides",Object.assign({},t))}static isTyped(t){return t&&"object"==typeof t&&"_typedSymbol"in t&&t._typedSymbol===l}static dereference(t,e){if(u.isTyped(t)){if(t.type!==e)throw Error(`invalid type: expecetd ${e}, got ${t.type}`);return t.value}return t}}},12009:(t,e,r)=>{r.d(e,{b:()=>h});var n=r(25432),i=r(20360),s=r(20972);let a=BigInt(0),o=BigInt(36);function l(t){let e=(t=t.toLowerCase()).substring(2).split(""),r=new Uint8Array(40);for(let t=0;t<40;t++)r[t]=e[t].charCodeAt(0);let s=(0,i.q5)((0,n.S)(r));for(let t=0;t<40;t+=2)s[t>>1]>>4>=8&&(e[t]=e[t].toUpperCase()),(15&s[t>>1])>=8&&(e[t+1]=e[t+1].toUpperCase());return"0x"+e.join("")}let u={};for(let t=0;t<10;t++)u[String(t)]=String(t);for(let t=0;t<26;t++)u[String.fromCharCode(65+t)]=String(10+t);let c=function(){let t={};for(let e=0;e<36;e++)t["0123456789abcdefghijklmnopqrstuvwxyz"[e]]=BigInt(e);return t}();
5function h(t){if((0,s.MR)("string"==typeof t,"invalid address","address",t),t.match(/^(0x)?[0-9a-fA-F]{40}$/)){t.startsWith("0x")||(t="0x"+t);let e=l(t);return(0,s.MR)(!t.match(/([A-F].*[a-f])|([a-f].*[A-F])/)||e===t,"bad address checksum","address",t),e}if(t.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){(0,s.MR)(t.substring(2,4)===function(t){let e=(t=(t=t.toUpperCase()).substring(4)+t.substring(0,2)+"00").split("").map(t=>u[t]).join("");for(;e.length>=15;){let t=e.substring(0,15);e=parseInt(t,10)%97+e.substring(t.length)}let r=String(98-parseInt(e,10)%97);for(;r.length<2;)r="0"+r;return r}(t),"bad icap checksum","address",t);let e=(function(t){t=t.toLowerCase();let e=a;for(let r=0;r<t.length;r++)e=e*o+c[t[r]];return e})(t.substring(4)).toString(16);for(;e.length<40;)e="0"+e;return l("0x"+e)}(0,s.MR)(!1,"invalid address","address",t)}},19841:(t,e,r)=>{async function n(t){let e=Object.keys(t);return(await Promise.all(e.map(e=>Promise.resolve(t[e])))).reduce((t,r,n)=>(t[e[n]]=r,t),{})}function i(t,e,r){for(let n in e){let i=e[n],s=r?r[n]:null;s&&function(t,e,r){let n=e.split("|").map(t=>t.trim());for(let r=0;r<n.length;r++)switch(e){case"any":return;case"bigint":case"boolean":case"number":case"string":if(typeof t===e)return}let i=Error(`invalid value for type ${e}`);throw i.code="INVALID_ARGUMENT",i.argument=`value.${r}`,i.value=t,i}(i,s,n),Object.defineProperty(t,n,{enumerable:!0,value:i,writable:!1})}}r.d(e,{k:()=>n,n:()=>i})},20360:(t,e,r)=>{r.d(e,{Lm:()=>a,Lo:()=>o,X_:()=>m,ZG:()=>d,c$:()=>c,f:()=>l,nx:()=>g,pO:()=>f,q5:()=>s,xW:()=>h});var n=r(20972);function i(t,e,r){if(t instanceof Uint8Array)return r?new Uint8Array(t):t;if("string"==typeof t&&t.length%2==0&&t.match(/^0x[0-9a-f]*$/i)){let e=new Uint8Array((t.length-2)/2),r=2;for(let n=0;n<e.length;n++)e[n]=parseInt(t.substring(r,r+2),16),r+=2;return e}(0,n.MR)(!1,"invalid BytesLike value",e||"value",t)}function s(t,e){return i(t,e,!1)}function a(t,e){return i(t,e,!0)}function o(t,e){return"string"==typeof t&&!!t.match(/^0x[0-9A-Fa-f]*$/)&&("number"!=typeof e||t.length===2+2*e)&&(!0!==e||t.length%2==0)}function l(t){return o(t,!0)||t instanceof Uint8Array}let u="0123456789abcdef";function c(t){let e=s(t),r="0x";for(let t=0;t<e.length;t++){let n=e[t];r+=u[(240&n)>>4]+u[15&n]}return r}function h(t){return"0x"+t.map(t=>c(t).substring(2)).join("")}function f(t){return o(t,!0)?(t.length-2)/2:s(t).length}function d(t,e,r){let i=s(t);return null!=r&&r>i.length&&(0,n.vA)(!1,"cannot slice beyond data bounds","BUFFER_OVERRUN",{buffer:i,length:i.length,offset:r}),c(i.slice(null==e?0:e,null==r?i.length:r))}function p(t,e,r){let i=s(t);(0,n.vA)(e>=i.length,"padding exceeds data length","BUFFER_OVERRUN",{buffer:new Uint8Array(i),length:e,offset:e+1});let a=new Uint8Array(e);return a.fill(0),r?a.set(i,e-i.length):a.set(i,0),c(a)}function g(t,e){return p(t,e,!0)}function m(t,e){return p(t,e,!1)}},20972:(t,e,r)=>{r.d(e,{vA:()=>l,MR:()=>u,dd:()=>c,SP:()=>f,gk:()=>d,E:()=>a,bJ:()=>s,xz:()=>
5o});var n=r(19841);function i(t,e){if(null==t)return"null";if(null==e&&(e=new Set),"object"==typeof t){if(e.has(t))return"[Circular]";e.add(t)}if(Array.isArray(t))return"[ "+t.map(t=>i(t,e)).join(", ")+" ]";if(t instanceof Uint8Array){let e="0123456789abcdef",r="0x";for(let n=0;n<t.length;n++)r+=e[t[n]>>4],r+=e[15&t[n]];return r}if("object"==typeof t&&"function"==typeof t.toJSON)return i(t.toJSON(),e);switch(typeof t){case"boolean":case"number":case"symbol":return t.toString();case"bigint":return BigInt(t).toString();case"string":return JSON.stringify(t);case"object":{let r=Object.keys(t);return r.sort(),"{ "+r.map(r=>`${i(r,e)}: ${i(t[r],e)}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function s(t,e){return t&&t.code===e}function a(t){return s(t,"CALL_EXCEPTION")}function o(t,e,r){let s,a=t;{let n=[];if(r){if("message"in r||"code"in r||"name"in r)throw Error(`value will overwrite populated values: ${i(r)}`);for(let t in r){if("shortMessage"===t)continue;let e=r[t];n.push(t+"="+i(e))}}n.push(`code=${e}`),n.push("version=6.16.0"),n.length&&(t+=" ("+n.join(", ")+")")}switch(e){case"INVALID_ARGUMENT":s=TypeError(t);break;case"NUMERIC_FAULT":case"BUFFER_OVERRUN":s=RangeError(t);break;default:s=Error(t)}return(0,n.n)(s,{code:e}),r&&Object.assign(s,r),null==s.shortMessage&&(0,n.n)(s,{shortMessage:a}),s}function l(t,e,r,n){if(!t)throw o(e,r,n)}function u(t,e,r,n){l(t,e,"INVALID_ARGUMENT",{argument:r,value:n})}function c(t,e,r){null==r&&(r=""),r&&(r=": "+r),l(t>=e,"missing argument"+r,"MISSING_ARGUMENT",{count:t,expectedCount:e}),l(t<=e,"too many arguments"+r,"UNEXPECTED_ARGUMENT",{count:t,expectedCount:e})}let h=["NFD","NFC","NFKD","NFKC"].reduce((t,e)=>{try{if("test"!=="test".normalize(e))throw Error("bad");if("NFD"===e){let t=String.fromCharCode(233).normalize("NFD"),e=String.fromCharCode(101,769);if(t!==e)throw Error("broken")}t.push(e)}catch(t){}return t},[]);function f(t){l(h.indexOf(t)>=0,"platform missing String.prototype.normalize","UNSUPPORTED_OPERATION",{operation:"String.prototype.normalize",info:{form:t}})}function d(t,e,r){if(null==r&&(r=""),t!==e){let t=r,e="new";r&&(t+=".",e+=" "+r),l(!1,`private constructor; use ${t}from* methods`,"UNSUPPORTED_OPERATION",{operation:e})}}},25432:(t,e,r)=>{r.d(e,{S:()=>R});var n=r(25801),i=r(61340),s=r(8573);let[a,o,l]=[[],[],[]],u=BigInt(0),c=BigInt(1),h=BigInt(2),f=BigInt(7),d=BigInt(256),p=BigInt(113);for(let t=0,e=c,r=1,n=0;t<24;t++){[r,n]=[n,(2*r+3*n)%5],a.push(2*(5*n+r)),o.push((t+1)*(t+2)/2%64);let i=u;for(let t=0;t<7;t++)(e=(e<<c^(e>>f)*p)%d)&h&&(i^=c<<(c<<BigInt(t))-c);l.push(i)}let[g,m]=(0,i.lD)(l,!0),y=(t,e,r)=>r>32?(0,i.WM)(t,e,r):(0,i.P5)(t,e,r),A=(t,e,r)=>r>32?(0,i.im)(t,e,r):(0,i.B4)(t,e,r);class b extends s.Vw{constructor(t,e,r,i=!1,a=24){if(super(),this.blockLen=t,this.suffix=e,this.outputLen=r,this.enableXOF=i,this.rounds=a,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,(0,n.ai)(r),0>=this.blockLen||this.blockLen>=200)throw Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=(0,s.DH)(this.state)}keccak(){!function(t,e=24){let r=new Uint32Array(10);for(let n=24-e;n<24;n++){for(let e=0;e<10;e++)r[e]=t[e]^t[e+10]^t[e+20]^t[e+30]^t[e+40];for(let e=0;e<10;e+=2){let n=(e+8)%10,i=(e+2)%10,s=r[i],a=r[i+1],o=y(s,a,1)^r[n],l=A(s,a,1)^r[n+1];for(let r=0;r<50;r+=10)t[e+r]^=o,t[e+r+1]^=l}let e=t[2],i=t[3];for(let r=0;r<24;r++){let n=o[r],s=y(e,i,n),l=A(e,i,n),u=a[r];e=t[u],i=t[u+1],t[u]=s,t[u+1]=l}for(let e=0;e<50;e+=10){for(let n=0;n<10;n++)r[n]=t[e+n];for(let n=0;n<10;n++)t[e+n]^=~r[(n+2)%10]&r[(n+4)%10]}t[0]^=g[n],t[1]^=m[n]}r.fill(0)}(this.state32,this.rounds),this.posOut=0,this.pos=0}update(t){(0,n.t2)(this);let{blockLen:e,state:r}=this,i=(t=(0,s.ZJ)(t)).length;for(let n=0;n<i;){let s=Math.min(e-this.pos,i-n);for(let e=0;e<s;e++)r[this.pos++]^=t[n++];this.pos===e&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:t,suffix:e,pos:r,blockLen:n}=this;t[r]^=e,(128&e)!=0&&r===n-1&&this.keccak(),t[n-1]^=128,this.keccak()}writeInto(t){(0,n.t2)(this,!1),(0,n.ee)(t),this.finish();let e=this.state,{blockLen:r}=this;for(let n=0,i=t.length;n<i;){this.posOut>=r&&this.keccak();let s=Math.min(r-this.posOut,i-n);t.set(e.subarray(this.posOut,this.posOut+s),n),this.posOut+=s,n+=s}return t}xofInto(t){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return(0,n.ai)(t),this.xofInto(new Uint8Array(t))}digestInto(t){if((0,n.CG)(t,this),this.finished)throw Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){let{blockLen:e,suffix:r,outputLen:n,rounds:i,enableXOF:s}=this;return t||(t=new b(e,r,n,s,i)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=i,t.suffix=r,t.outputLen=n,t.enableXOF=s,t.destroyed=this.destroyed,t}}let w=(0,s.ld)(()=>new b(136,1,32));var v=r(20360);let E=!1,x=function(t){return w(t)},k=x;function R(t){let e=(0,v.q5)(t,"data");return(0,v.c$)(k(e))}R._=x,R.lock=function(){E=!0},R.register=function(t){if(E)throw TypeError("keccak256 is locked");k=t},Object.freeze(R)},25801:(t,e,r)=>{function n(t){if(!Number.isSafeInteger(t)||t<0)throw Error(`Wrong positive integer: ${t}`)}function i(t,...e){if(!(t instanceof Uint8Array))throw Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function s(t){if("function"!=typeof t||"function"!=typeof t.create)throw Error("Hash should be wrapped by utils.wrapConstructor");n(t.outputLen),n(t.blockLen)}function a(t,e=!0){if(t.destroyed)throw Error("Hash instance has been destroyed");if(e&&t.finished)throw Error("Hash#digest() has already been called")}function o(t,e){i(t);let r=e.outputLen;if(t.length<r)throw Error(`digestInto() expects output buffer of length at least ${r}`)}r.d(e,{CG:()=>o,ai:()=>n,ee:()=>i,t2:()=>a,tW:()=>s})},26755:(t,e,r)=>{r.d(e,{A:()=>n});let n=(0,r(87982).A)("server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]])},27233:(t,e,r)=>{r.d(e,{$:()=>o});var n=r(12009),i=r(20972),s=r(20360);function a(t,e){return{address:(0,n.b)(t),storageKeys:e.map((t,e)=>((0,i.MR)((0,s.Lo)(t,32),"invalid slot",`storageKeys[${e}]`,t),t.toLowerCase()))}}function o(t){if(Array.isArray(t))return t.map((e,r)=>Array.isArray(e)?((0,i.MR)(2===e.length,"invalid slot set",`value[${r}]`,e),a(e[0],e[1])):((0,i.MR)(null!=e&&"object"==typeof e,"invali
5d address-slot set","value",t),a(e.address,e.storageKeys)));(0,i.MR)(null!=t&&"object"==typeof t,"invalid access list","value",t);let e=Object.keys(t).map(e=>{let r=t[e].reduce((t,e)=>(t[e]=!0,t),{});return a(e,Object.keys(r).sort())});return e.sort((t,e)=>t.address.localeCompare(e.address)),e}},42830:(t,e,r)=>{r.d(e,{id:()=>s});var n=r(25432),i=r(74387);function s(t){return(0,n.S)((0,i.YW)(t))}},44074:(t,e,r)=>{r.d(e,{AU:()=>y,Q7:()=>p,Ue:()=>m,Yx:()=>o,mP:()=>A});var n=r(74711),i=r(20972),s=r(20360),a=r(19841);let o=32,l=new Uint8Array(32),u=["then"],c={},h=new WeakMap;function f(t){return h.get(t)}function d(t,e){let r=Error(`deferred error during ABI decoding triggered accessing ${t}`);throw r.error=e,r}class p extends Array{#e;constructor(...t){var e,r;let i=t[0],s=t[1],a=(t[2]||[]).slice(),o=!0;i!==c&&(s=t,a=[],o=!1),super(s.length),s.forEach((t,e)=>{this[e]=t});let l=a.reduce((t,e)=>("string"==typeof e&&t.set(e,(t.get(e)||0)+1),t),new Map);if(e=Object.freeze(s.map((t,e)=>{let r=a[e];return null!=r&&1===l.get(r)?r:null})),h.set(this,e),this.#e=[],null==this.#e&&this.#e,!o)return;Object.freeze(this);let p=new Proxy(this,{get:(t,e,r)=>{if("string"==typeof e){if(e.match(/^[0-9]+$/)){let r=(0,n.WZ)(e,"%index");if(r<0||r>=this.length)throw RangeError("out of result range");let i=t[r];return i instanceof Error&&d(`index ${r}`,i),i}if(u.indexOf(e)>=0)return Reflect.get(t,e,r);let i=t[e];if(i instanceof Function)return function(...e){return i.apply(this===r?t:this,e)};if(!(e in t))return t.getValue.apply(this===r?t:this,[e])}return Reflect.get(t,e,r)}});return r=f(this),h.set(p,r),p}toArray(t){let e=[];return this.forEach((r,n)=>{r instanceof Error&&d(`index ${n}`,r),t&&r instanceof p&&(r=r.toArray(t)),e.push(r)}),e}toObject(t){let e=f(this);return e.reduce((r,n,s)=>((0,i.vA)(null!=n,`value at index ${s} unnamed`,"UNSUPPORTED_OPERATION",{operation:"toObject()"}),function t(e,r,n){return e.indexOf(null)>=0?r.map((e,r)=>e instanceof p?t(f(e),e,n):e):e.reduce((e,i,s)=>{let a=r.getValue(i);return i in e||(n&&a instanceof p&&(a=t(f(a),a,n)),e[i]=a),e},{})}(e,this,t)),{})}slice(t,e){null==t&&(t=0),t<0&&(t+=this.length)<0&&(t=0),null==e&&(e=this.length),e<0&&(e+=this.length)<0&&(e=0),e>this.length&&(e=this.length);let r=f(this),n=[],i=[];for(let s=t;s<e;s++)n.push(this[s]),i.push(r[s]);return new p(c,n,i)}filter(t,e){let r=f(this),n=[],i=[];for(let s=0;s<this.length;s++){let a=this[s];a instanceof Error&&d(`index ${s}`,a),t.call(e,a,s,this)&&(n.push(a),i.push(r[s]))}return new p(c,n,i)}map(t,e){let r=[];for(let n=0;n<this.length;n++){let i=this[n];i instanceof Error&&d(`index ${n}`,i),r.push(t.call(e,i,n,this))}return r}getValue(t){let e=f(this).indexOf(t);if(-1===e)return;let r=this[e];return r instanceof Error&&d(`property ${JSON.stringify(t)}`,r.error),r}static fromItems(t,e){return new p(c,t,e)}}function g(t){let e=(0,n.c4)(t);return(0,i.vA)(e.length<=o,"value out-of-bounds","BUFFER_OVERRUN",{buffer:e,length:o,offset:e.length}),e.length!==o&&(e=(0,s.Lm)((0,s.xW)([l.slice(e.length%o),e]))),e}class m{name;type;localName;dynamic;constructor(t,e,r,n){(0,a.n)(this,{name:t,type:e,localName:r,dynamic:n},{name:"string",type:"string",localName:"string",dynamic:"boolean"})}_throwError(t,e){(0,i.MR)(!1,t,this.localName,e)}}class y{#r;#n;constructor(){this.#r=[],this.#n=0}get data(){return(0,s.xW)(this.#r)}get length(){return this.#n}#i(t){return this.#r.push(t),this.#n+=t.length,t.length}appendWriter(t){return this.#i((0,s.Lm)(t.data))}writeBytes(t){let e=(0,s.Lm)(t),r=e.length%o;return r&&(e=(0,s.Lm)((0,s.xW)([e,l.slice(r)]))),this.#i(e)}writeValue(t){return this.#i(g(t))}writeUpdatableValue(){let t=this.#r.length;return this.#r.push(l),this.#n+=o,e=>{this.#r[t]=g(e)}}}class A{allowLoose;#r;#s;#a;#o;#l;constructor(t,e,r){(0,a.n)(this,{allowLoose:!!e}),this.#r=(0,s.Lm)(t),this.#a=0,this.#o=null,this.#l=null!=r?r:1024,this.#s=0}get data(){return(0,s.c$)(this.#r)}get dataLength(){return this.#r.length}get consumed(){return this.#s}get bytes(){return new Uint8Array(this.#r)}#u(t){if(this.#o)return this.#o.#u(t);this.#a+=t,(0,i.vA)(this.#l<1||this.#a<=this.#l*this.dataLength,`c
5ompressed ABI data exceeds inflation ratio of ${this.#l} ( see: https://github.com/ethers-io/ethers.js/issues/4537 )`,"BUFFER_OVERRUN",{buffer:(0,s.Lm)(this.#r),offset:this.#s,length:t,info:{bytesRead:this.#a,dataLength:this.dataLength}})}#c(t,e,r){let n=Math.ceil(e/o)*o;return this.#s+n>this.#r.length&&(this.allowLoose&&r&&this.#s+e<=this.#r.length?n=e:(0,i.vA)(!1,"data out-of-bounds","BUFFER_OVERRUN",{buffer:(0,s.Lm)(this.#r),length:this.#r.length,offset:this.#s+n})),this.#r.slice(this.#s,this.#s+n)}subReader(t){let e=new A(this.#r.slice(this.#s+t),this.allowLoose,this.#l);return e.#o=this,e}readBytes(t,e){let r=this.#c(0,t,!!e);return this.#u(t),this.#s+=r.length,r.slice(0,t)}readValue(){return(0,n.Dg)(this.readBytes(o))}readIndex(){return(0,n.Ro)(this.readBytes(o))}}},47058:(t,e,r)=>{r.d(e,{$C:()=>s,tG:()=>o});var n=r(20972),i=r(12009);function s(t){return t&&"function"==typeof t.getAddress}async function a(t,e){let r=await e;return(null==r||"0x0000000000000000000000000000000000000000"===r)&&((0,n.vA)("string"!=typeof t,"unconfigured name","UNCONFIGURED_NAME",{value:t}),(0,n.MR)(!1,"invalid AddressLike value; did not resolve to a value address","target",t)),(0,i.b)(r)}function o(t,e){return"string"==typeof t?t.match(/^0x[0-9a-f]{40}$/i)?(0,i.b)(t):((0,n.vA)(null!=e,"ENS resolution requires a provider","UNSUPPORTED_OPERATION",{operation:"resolveName"}),a(t,e.resolveName(t))):s(t)?a(t,t.getAddress()):t&&"function"==typeof t.then?a(t,t):void(0,n.MR)(!1,"unsupported addressable value","target",t)}},48197:(t,e,r)=>{r.r(e),r.d(e,{Bar:()=>g,Bubble:()=>b,Chart:()=>f,Doughnut:()=>y,Line:()=>p,Pie:()=>w,PolarArea:()=>A,Radar:()=>m,Scatter:()=>v,getDatasetAtEvent:()=>u,getElementAtEvent:()=>c,getElementsAtEvent:()=>h});var n=r(73365),i=r(1521),s=r(31514);let a="label";function o(t,e){"function"==typeof t?t(e):t&&(t.current=e)}function l(t,e,r=a){let n=[];t.datasets=e.map(e=>{let i=t.datasets.find(t=>t[r]===e[r]);return!i||!e.data||n.includes(i)?{...e}:(n.push(i),Object.assign(i,e),i)})}function u(t,e){return t.getElementsAtEventForMode(e.nativeEvent,"dataset",{intersect:!0},!1)}function c(t,e){return t.getElementsAtEventForMode(e.nativeEvent,"nearest",{intersect:!0},!1)}function h(t,e){return t.getElementsAtEventForMode(e.nativeEvent,"index",{intersect:!0},!1)}let f=(0,i.forwardRef)(function(t,e){let{height:r=150,width:u=300,redraw:c=!1,datasetIdKey:h,type:f,data:d,options:p,plugins:g=[],fallbackContent:m,updateMode:y,...A}=t,b=(0,i.useRef)(null),w=(0,i.useRef)(null),v=()=>{b.current&&(w.current=new s.Chart(b.current,{type:f,data:function(t,e=a){let r={labels:[],datasets:[]};return r.labels=t.labels,l(r,t.datasets,e),r}(d,h),options:p&&{...p},plugins:g}),o(e,w.current))},E=()=>{o(e,null),w.current&&(w.current.destroy(),w.current=null)};return(0,i.useEffect)(()=>{!c&&w.current&&p&&function(t,e){let r=t.options;r&&e&&Object.assign(r,e)}(w.current,p)},[c,p]),(0,i.useEffect)(()=>{!c&&w.current&&(w.current.config.data.labels=d.labels)},[c,d.labels]),(0,i.useEffect)(()=>{!c&&w.current&&d.datasets&&l(w.current.config.data,d.datasets,h)},[c,d.datasets]),(0,i.useEffect)(()=>{w.current&&(c?(E(),setTimeout(v)):w.current.update(y))},[c,p,d.labels,d.datasets,y]),(0,i.useEffect)(()=>{w.current&&(E(),setTimeout(v))},[f]),(0,i.useEffect)(()=>(v(),()=>E()),[]),(0,n.jsx)("canvas",{ref:b,role:"img",height:r,width:u,...A,children:m})});function d(t,e){return s.Chart.register(e),(0,i.forwardRef)((e,r)=>(0,n.jsx)(f,{...e,ref:r,type:t}))}let p=d("line",s.LineController),g=d("bar",s.BarController),m=d("radar",s.RadarController),y=d("doughnut",s.DoughnutController),A=d("polarArea",s.PolarAreaController),b=d("bubble",s.BubbleController),w=d("pie",s.PieController),v=d("scatter",s.ScatterController)},48960:(t,e,r)=>{r.d(e,{J9:()=>h,VS:()=>f,eB:()=>d,tG:()=>p,uI:()=>m,z5:()=>g});var n=r(19841),i=r(20360),s=r(74711),a=r(20972),o=r(27233);let l=BigInt(0);function u(t){return null==t?null:t}function c(t){return null==t?null:t.toString()}class h{gasPrice;maxFeePerGas;maxPriorityFeePerGas;constructor(t,e,r){(0,n.n)(this,{gasPrice:u(t),maxFeePerGas:u(e),maxPriorityFeePerGas:u(r)})}toJSON(){let{gasPrice:t,maxFeePerGas:e,maxPriorityFeePerGas:r}=this;return{_type:"FeeData",gasPrice:c(t),maxFeePerGas:c(e),maxPriorityFeePerGas:c(r)}}}function f(t){let e={};for(let r of(t.to&&(e.to=t.to),t.from&&(e.from=t.from),t.data&&(e.data=(0,i.c$)(t.data)),"chainId,gasLimit,gasPrice,maxFeePerBlobGas,maxFeePerGas,maxPriorityFeePerGas,value".split(/,/)))r in t&&null!=t[r]&&(e[r]=(0,s.Ab)(t[r],`request.${r}`));for(let r of"type,nonce".split(/,/))r in t&&null!=t[r]&&(e[r]=(0,s.WZ)(t[r],`request.${r}`));return t.accessList&&(e.accessList=(0,o.$)(t.accessList)),t.authorizationList&&(e.authorizationList=t.authorizationList.slice()),"blockTag"in t&&(e.blockTag=t.blockTag),"enableCcipRead"in t&&(e.enableCcipRead=!!t.enableCcipRead),"customData"in t&&(e.customData=t.customData),"blobVersionedHashes"in t&&t.blobVersionedHashes&&(e.blobVersionedHashes=t.blobVersionedHashes.slice()),"kzg"in t&&(e.kzg=t.kzg),"blobWrapperVersion"in t&&(e.blobWrapperVersion=t.blobWrapperVersion),"blobs"in t&&t.blobs&&(e.blobs=t.blobs.map(t=>(0,i.f)(t)?(0,i.c$)(t):Object.assign({},t))),e}class d{provider;number;hash;timestamp;parentHash;parentBeaconBlockRoot;nonce;difficulty;
5gasLimit;gasUsed;stateRoot;receiptsRoot;blobGasUsed;excessBlobGas;miner;prevRandao;extraData;baseFeePerGas;#h;constructor(t,e){this.#h=t.transactions.map(t=>"string"!=typeof t?new m(t,e):t),(0,n.n)(this,{provider:e,hash:u(t.hash),number:t.number,timestamp:t.timestamp,parentHash:t.parentHash,parentBeaconBlockRoot:t.parentBeaconBlockRoot,nonce:t.nonce,difficulty:t.difficulty,gasLimit:t.gasLimit,gasUsed:t.gasUsed,blobGasUsed:t.blobGasUsed,excessBlobGas:t.excessBlobGas,miner:t.miner,prevRandao:u(t.prevRandao),extraData:t.extraData,baseFeePerGas:u(t.baseFeePerGas),stateRoot:t.stateRoot,receiptsRoot:t.receiptsRoot})}get transactions(){return this.#h.map(t=>"string"==typeof t?t:t.hash)}get prefetchedTransactions(){let t=this.#h.slice();return 0===t.length?[]:((0,a.vA)("object"==typeof t[0],"transactions were not prefetched with block request","UNSUPPORTED_OPERATION",{operation:"transactionResponses()"}),t)}toJSON(){let{baseFeePerGas:t,difficulty:e,extraData:r,gasLimit:n,gasUsed:i,hash:s,miner:a,prevRandao:o,nonce:l,number:u,parentHash:h,parentBeaconBlockRoot:f,stateRoot:d,receiptsRoot:p,timestamp:g,transactions:m}=this;return{_type:"Block",baseFeePerGas:c(t),difficulty:c(e),extraData:r,gasLimit:c(n),gasUsed:c(i),blobGasUsed:c(this.blobGasUsed),excessBlobGas:c(this.excessBlobGas),hash:s,miner:a,prevRandao:o,nonce:l,number:u,parentHash:h,timestamp:g,parentBeaconBlockRoot:f,stateRoot:d,receiptsRoot:p,transactions:m}}[Symbol.iterator](){let t=0,e=this.transactions;return{next:()=>t<this.length?{value:e[t++],done:!1}:{value:void 0,done:!0}}}get length(){return this.#h.length}get date(){return null==this.timestamp?null:new Date(1e3*this.timestamp)}async getTransaction(t){let e;if("number"==typeof t)e=this.#h[t];else{let r=t.toLowerCase();for(let t of this.#h)if("string"==typeof t){if(t!==r)continue;e=t;break}else{if(t.hash!==r)continue;e=t;break}}if(null==e)throw Error("no such tx");return"string"==typeof e?await this.provider.getTransaction(e):e}getPrefetchedTransaction(t){let e=this.prefetchedTransactions;if("number"==typeof t)return e[t];for(let r of(t=t.toLowerCase(),e))if(r.hash===t)return r;(0,a.MR)(!1,"no matching transaction","indexOrHash",t)}isMined(){return!!this.hash}isLondon(){return!!this.baseFeePerGas}orphanedEvent(){var t;if(!this.isMined())throw Error("");return t=this,{orphan:"drop-block",hash:t.hash,number:t.number}}}class p{provider;transactionHash;blockHash;blockNumber;removed;address;data;topics;index;transactionIndex;constructor(t,e){this.provider=e;let r=Object.freeze(t.topics.slice());(0,n.n)(this,{transactionHash:t.transactionHash,blockHash:t.blockHash,blockNumber:t.blockNumber,removed:t.removed,address:t.address,data:t.data,topics:r,index:t.index,transactionIndex:t.transactionIndex})}toJSON(){let{address:t,blockHash:e,blockNumber:r,data:n,index:i,removed:s,topics:a,transactionHash:o,transactionIndex:l}=this;return{_type:"log",address:t,blockHash:e,blockNumber:r,data:n,index:i,removed:s,topics:a,transactionHash:o,transactionIndex:l}}async getBlock(){let t=await this.provider.getBlock(this.blockHash);return(0,a.vA)(!!t,"failed to find transaction","UNKNOWN_ERROR",{}),t}async getTransaction(){let t=await this.provider.getTransaction(this.transactionHash);return(0,a.vA)(!!t,"failed to find transaction","UNKNOWN_ERROR",{}),t}async getTransactionReceipt(){let t=await this.provider.getTransactionReceipt(this.transactionHash);return(0,a.vA)(!!t,"failed to find transaction receipt","UNKNOWN_ERROR",{}),t}removedEvent(){var t;return t=this,{orphan:"drop-log",log:{transactionHash:t.transactionHash,blockHash:t.blockHash,blockNumber:t.blockNumber,address:t.address,data:t.data,topics:Object.freeze(t.topics.slice()),index:t.index}}}}class g{provider;to;from;contractAddress;hash;index;blockHash;blockNumber;logsBloom;gasUsed;blobGasUsed;cumulativeGasUsed;gasPrice;blobGasPrice;type;status;root;#f;constructor(t,e){this.#f=Object.freeze(t.logs.map(t=>new p(t,e)));let r=l;null!=t.effectiveGasPrice?r=t.effectiveGasPrice:null!=t.gasPrice&&(r=t.gasPrice),(0,n.n)(this,{provider:e,to:t.to,from:t.from,contractAddress:t.contractAddress,hash:t.hash,index:t.index,blockHash:t.blockHash,blockNumber:t.blockNumber,logsBloom:t.logsBloom,gasUsed:t.gasUsed,cumulativeGasUsed:t.cumulativeGasUsed,blobGasUsed:t.blobGasUsed,gasPrice:r,blobGasPrice:t.blobGasPrice,type:t.type,status:t.status,root:t.root})}get logs(){return this.#f}toJSON(){let{to:t,from:e,contractAddress:r,hash:n,index:i,blockHash:s,blockNumber:a,logsBloom:o,logs:l,status:u,root:h}=this;return{_type:"TransactionReceipt",blockHash:s,blockNumber:a,contractAddress:r,cumulativeGasUsed:c(this.cumulativeGasUsed),from:e,gasPrice:c(this.gasPrice),blobGasUsed:c(this.blobGasUsed),blobGasPrice:c(this.blobGasPrice),gasUsed:c(this.gasUsed),hash:n,index:i,logs:l,logsBloom:o,root:h,status:u,to:t}}get length(){return this.logs.length}[Symbol.iterator](){let t=0;return{next:()=>t<this.length?{value:this.logs[t++],done:!1}:{value:void 0,done:!0}}}get fee(){return this.gasUsed*this.gasPrice}async getBlock(){let t=await this.provider.getBlock(this.blockHash);if(null==t)throw Error("TODO");return t}async getTransaction(){let t=await this.provider.getTransaction(this.hash);if(null==t)throw Error("TODO");return t}async getResult(){return await this.provider.getTransactionResult(this.hash)}async confirmations(){return await this.provider.getBlockNumber()-this.blockNumber+1}removedEvent(){return A(this)}reorderedEvent(t){return(0,a.vA)(!t||t.isMined(),"unmined 'other' transction cannot be orphaned","UNSUPPORTED_OPERATION",{operation:"reorderedEvent(other)"}),y(this,t)}}class m{provider;blockNumber;blockHash;index;hash;type;to;from;nonce;gasLimit;gasPrice;maxPriorityFeePerGas;maxFeePerGas;maxFeePerBlobGas;data;value;chainId;signature;accessList;blobVersionedHashes;authorizationList;#d;constructor(t,e){this.provider=e,this.blockNumber=null!=t.blockNumber?t.blockNumber:null,this.blockHash=null!=t.blockHash?t.blockHash:null,this.hash=t.hash,this.index=t.index,this.type=t.type,this.from=t.from,this.to=t.to||null,this.gasLimit=t.gasLimit,this.nonce=t.nonce,this.data=t.data,this.value=t.value,this.gasPrice=t.gasPrice,this.maxPriorityFeePerGas=null!=t.maxPriorityFeePerGas?t.maxPriorityFeePerGas:null,this.maxFeePerGas=null!=t.maxFeePerGas?t.maxFeePerGas:null,this.maxFeePerBlobGas=null!=t.maxFeePerBlobGas?t.maxFeePerBlobGas:null,this.chainId=t.chainId,this.signature=t.signature,this.accessList=null!=t.accessList?t.accessList:null,this.blobVersionedHashes=null!=t.blobVersionedHashes?t.blobVersionedHashes:null,this.authorizationList=null!=t.authorizationList?t.authorizationList:null,this.#d=-1}toJSON(){let{blockNumber:t,blockHash:e,index:r,hash:n,type:i,to:s,from:a,nonce:o,data:l,signature:u,accessList:h,blobVersionedHashes:f}=this;return{_type:"TransactionResponse",accessList:h,blockNumber:t,blockHash:e,blobVersionedHashes:f,chainId:c(this.chainId),data:l,from:a,gasLimit:c(this.gasLimit),gasPrice:c(this.gasPrice),hash:n,maxFeePerGas:c(this.maxFeePerGas),maxPriorityFeePerGas:c(this.maxPriorityFeePerGas),maxFeePerBlobGas:c(this.maxFeePerBlobGas),nonce:o,signature:u,to:s,index:r,type:i,value:c(this.value)}}async getBlock(){let t=this.blockNumber;if(null==t){let e=await this.getTransaction();e&&(t=e.blockNumber)}if(null==t)return null;let e=this.provider.getBlock(t);if(null==e)throw Error("TODO");return e}async getTransaction(){return this.provider.getTransaction(this.hash)}async confirmations(){if(null==this.blockNumber){let{tx:t,blockNumber:e}=await (0,n.k)({tx:this.getTransaction(),blockNumber:this.provider.getBlockNumber()});return null==t||null==t.blockNumber?0:e-t.blockNumber+1}return await this.provider.getBlockNumber()-this.blockNumber+1}async wait(t,e){let r=null==t?1:t,i=null==e?0:e,s=this.#d,o=-1,u=-1===s,c=async()=>
5{if(u)return null;let{blockNumber:t,nonce:e}=await (0,n.k)({blockNumber:this.provider.getBlockNumber(),nonce:this.provider.getTransactionCount(this.from)});if(e<this.nonce){s=t;return}if(u)return null;let i=await this.getTransaction();if(!i||null==i.blockNumber)for(-1===o&&(o=s-3)<this.#d&&(o=this.#d);o<=t;){if(u)return null;let e=await this.provider.getBlock(o,!0);if(null==e)break;for(let t of e)if(t===this.hash)return;for(let n=0;n<e.length;n++){let i=await e.getTransaction(n);if(i.from===this.from&&i.nonce===this.nonce){if(u)return null;let e=await this.provider.getTransactionReceipt(i.hash);if(null==e||t-e.blockNumber+1<r)return;let n="replaced";i.data===this.data&&i.to===this.to&&i.value===this.value?n="repriced":"0x"===i.data&&i.from===i.to&&i.value===l&&(n="cancelled"),(0,a.vA)(!1,"transaction was replaced","TRANSACTION_REPLACED",{cancelled:"replaced"===n||"cancelled"===n,reason:n,replacement:i.replaceableTransaction(s),hash:i.hash,receipt:e})}}o++}},h=t=>{if(null==t||0!==t.status)return t;(0,a.vA)(!1,"transaction execution reverted","CALL_EXCEPTION",{action:"sendTransaction",data:null,reason:null,invocation:null,revert:null,transaction:{to:t.to,from:t.from,data:""},receipt:t})},f=await this.provider.getTransactionReceipt(this.hash);if(0===r)return h(f);if(f){if(1===r||await f.confirmations()>=r)return h(f)}else if(await c(),0===r)return null;let d=new Promise((t,e)=>{let n=[],o=()=>{n.forEach(t=>t())};if(n.push(()=>{u=!0}),i>0){let t=setTimeout(()=>{o(),e((0,a.xz)("wait for transaction timeout","TIMEOUT"))},i);n.push(()=>{clearTimeout(t)})}let l=async n=>{if(await n.confirmations()>=r){o();try{t(h(n))}catch(t){e(t)}}};if(n.push(()=>{this.provider.off(this.hash,l)}),this.provider.on(this.hash,l),s>=0){let t=async()=>{try{await c()}catch(t){if((0,a.bJ)(t,"TRANSACTION_REPLACED")){o(),e(t);return}}u||this.provider.once("block",t)};n.push(()=>{this.provider.off("block",t)}),this.provider.once("block",t)}});return await d}isMined(){return null!=this.blockHash}isLegacy(){return 0===this.type}isBerlin(){return 1===this.type}isLondon(){return 2===this.type}isCancun(){return 3===this.type}removedEvent(){return(0,a.vA)(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),A(this)}reorderedEvent(t){return(0,a.vA)(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),(0,a.vA)(!t||t.isMined(),"unmined 'other' transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),y(this,t)}replaceableTransaction(t){(0,a.MR)(Number.isInteger(t)&&t>=0,"invalid startBlock","startBlock",t);let e=new m(this,this.provider);return e.#d=t,e}}function y(t,e){return{orphan:"reorder-transaction",tx:t,other:e}}function A(t){return{orphan:"drop-transaction",tx:t}}},52561:(t,e,r)=>{r.d(e,{z:()=>i});var n=r(19841);class i{filter;emitter;#p;constructor(t,e,r){this.#p=e,(0,n.n)(this,{emitter:t,filter:r})}async removeListener(){null!=this.#p&&await this.emitter.off(this.filter,this.#p)}}},59630:(t,e,r)=>{r.d(e,{A:()=>n});let n=(0,r(87982).A)("crop",[["path",{d:"M6 2v14a2 2 0 0 0 2 2h14",key:"ron5a4"}],["path",{d:"M18 22V8a2 2 0 0 0-2-2H2",key:"7s9ehn"}]])},61340:(t,e,r)=>{r.d(e,{Ay:()=>h,B4:()=>l,P5:()=>o,WM:()=>u,im:()=>c,lD:()=>a});let n=BigInt(0x100000000-1),i=BigInt(32);function s(t,e=!1){return e?{h:Number(t&n),l:Number(t>>i&n)}:{h:0|Number(t>>i&n),l:0|Number(t&n)}}function a(t,e=!1){let r=new Uint32Array(t.length),n=new Uint32Array(t.length);for(let i=0;i<t.length;i++){let{h:a,l:o}=s(t[i],e);[r[i],n[i]]=[a,o]}return[r,n]}let o=(t,e,r)=>t<<r|e>>>32-r,l=(t,e,r)=>e<<r|t>>>32-r,u=(t,e,r)=>e<<r-32|t>>>64-r,c=(t,e,r)=>t<<r-32|e>>>64-r,h={fromBig:s,split:a,toBig:(t,e)=>BigInt(t>>>0)<<i|BigInt(e>>>0),shrSH:(t,e,r)=>t>>>r,shrSL:(t,e,r)=>t<<32-r|e>>>r,rotrSH:(t,e,r)=>t>>>r|e<<32-r,rotrSL:(t,e,r)=>t<<32-r|e>>>r,rotrBH:(t,e,r)=>t<<64-r|e>>>r-32,rotrBL:(t,e,r)=>t>>>r-32|e<<64-r,rotr32H:(t,e)=>e,rotr32L:(t,e)=>t,rotlSH:o,rotlSL:l,rotlBH:u,rotlBL:c,add:function(t,e,r,n){let i=(e>>>0)+(n>>>0);return{h:t+r+(i/0x100000000|0)|0,l:0|i}},add3L:(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),add3H:(t,e,r,n)=>e+r+n+(t/0x100000000|0)|0,add4L:(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),add4H:(t,e,r,n,i)=>e+r+n+i+(t/0x100000000|0)|0,add5H:(t,e,r,n,i,s)=>e+r+n+i+s+(t/0x100000000|0)|0,add5L:(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0)}},61449:(t,e,r)=>{r.d(e,{A:()=>n});let n=(0,r(87982).A)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]])},66438:(t,e,r)=>{r.d(e,{FK:()=>j,Pw:()=>W,Zp:()=>Z,aX:()=>z,bp:()=>K,hc:()=>_});var n=r(74711),i=r(20972),s=r(19841),a=r(42830);function o(t){let e=new Set;return t.forEach(t=>e.add(t)),Object.freeze(e)}let l=o("external public payable override".split(" ")),u="constant external internal payable private public pure view override",c=o(u.split(" ")),h="constructor error event fallback function receive struct",f=o(h.split(" ")),d="calldata memory storage payable indexed",p=o(d.split(" ")),g=
5o([h,d,"tuple returns",u].join(" ").split(" ")),m={"(":"OPEN_PAREN",")":"CLOSE_PAREN","[":"OPEN_BRACKET","]":"CLOSE_BRACKET",",":"COMMA","@":"AT"},y=RegExp("^(\\s*)"),A=RegExp("^([0-9]+)"),b=RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)"),w=RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)$"),v=RegExp("^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$");class E{#s;#g;get offset(){return this.#s}get length(){return this.#g.length-this.#s}constructor(t){this.#s=0,this.#g=t.slice()}clone(){return new E(this.#g)}reset(){this.#s=0}#m(t=0,e=0){return new E(this.#g.slice(t,e).map(e=>Object.freeze(Object.assign({},e,{match:e.match-t,linkBack:e.linkBack-t,linkNext:e.linkNext-t}))))}popKeyword(t){let e=this.peek();if("KEYWORD"!==e.type||!t.has(e.text))throw Error(`expected keyword ${e.text}`);return this.pop().text}popType(t){if(this.peek().type!==t){let e=this.peek();throw Error(`expected ${t}; got ${e.type} ${JSON.stringify(e.text)}`)}return this.pop().text}popParen(){let t=this.peek();if("OPEN_PAREN"!==t.type)throw Error("bad start");let e=this.#m(this.#s+1,t.match+1);return this.#s=t.match+1,e}popParams(){let t=this.peek();if("OPEN_PAREN"!==t.type)throw Error("bad start");let e=[];for(;this.#s<t.match-1;){let t=this.peek().linkNext;e.push(this.#m(this.#s+1,t)),this.#s=t}return this.#s=t.match+1,e}peek(){if(this.#s>=this.#g.length)throw Error("out-of-bounds");return this.#g[this.#s]}peekKeyword(t){let e=this.peekType("KEYWORD");return null!=e&&t.has(e)?e:null}peekType(t){if(0===this.length)return null;let e=this.peek();return e.type===t?e.text:null}pop(){let t=this.peek();return this.#s++,t}toString(){let t=[];for(let e=this.#s;e<this.#g.length;e++){let r=this.#g[e];t.push(`${r.type}:${r.text}`)}return`<TokenString ${t.join(" ")}>`}}function x(t){let e=[],r=e=>{let r=a<t.length?JSON.stringify(t[a]):"$EOI";throw Error(`invalid token ${r} at ${a}: ${e}`)},i=[],s=[],a=0;for(;a<t.length;){let o=t.substring(a),l=o.match(y);l&&(a+=l[1].length,o=t.substring(a));let u={depth:i.length,linkBack:-1,linkNext:-1,match:-1,type:"",text:"",offset:a,value:-1};e.push(u);let c=m[o[0]]||"";if(c){if(u.type=c,u.text=o[0],a++,"OPEN_PAREN"===c)i.push(e.length-1),s.push(e.length-1);else if("CLOSE_PAREN"==c)0===i.length&&r("no matching open bracket"),u.match=i.pop(),e[u.match].match=e.length-1,u.depth--,u.linkBack=s.pop(),e[u.linkBack].linkNext=e.length-1;else if("COMMA"===c)u.linkBack=s.pop(),e[u.linkBack].linkNext=e.length-1,s.push(e.length-1);else if("OPEN_BRACKET"===c)u.type="BRACKET";else if("CLOSE_BRACKET"===c){let t=e.pop().text;if(e.length>0&&"NUMBER"===e[e.length-1].type){let r=e.pop().text;t=r+t,e[e.length-1].value=(0,n.WZ)(r)}if(0===e.length||"BRACKET"!==e[e.length-1].type)throw Error("missing opening bracket");e[e.length-1].text+=t}continue}if(l=o.match(b)){if(u.text=l[1],a+=u.text.length,g.has(u.text)){u.type="KEYWORD";continue}if(u.text.match(v)){u.type="TYPE";continue}u.type="ID";continue}if(l=o.match(A)){u.text=l[1],u.type="NUMBER",a+=u.text.length;continue}throw Error(`unexpected token ${JSON.stringify(o[0])} at position ${a}`)}return new E(e.map(t=>Object.freeze(t)))}function k(t,e){let r=[];for(let n in e.keys())t.has(n)&&r.push(n);if(r.length>1)throw Error(`conflicting types: ${r.join(", ")}`)}function R(t,e){if(e.peekKeyword(f)){let r=e.pop().text;if(r!==t)throw Error(`expected ${t}, got ${r}`)}return e.popType("ID")}function P(t,e){let r=new Set;for(;;){let n=t.peekType("KEYWORD");if(null==n||e&&!e.has(n))break;if(t.pop(),r.has(n))throw Error(`duplicate keywords: ${JSON.stringify(n)}`);r.add(n)}return Object.freeze(r)}function N(t){let e=P(t,c);return(k(e,o("constant payable nonpayable".split(" "))),k(e,o("pure view payable nonpayable".split(" "))),e.has("view"))?"view":e.has("pure")?"pure":e.has("payable")?"payable":e.has("nonpayable")?"nonpayable":e.has("constant")?"view":"nonpayable"}function I(t,e){return t.popParams().map(t=>z.from(t,e))}function B(t){if(t.peekType("AT")){if(t.pop(),t.peekType("NUMBER"))return(0,n.Ab)(t.pop().text);throw Error("invalid gas")}return null}function C(t){if(t.length)throw Error(`unexpected tokens at offset ${t.offset}: ${t.toString()}`)}let O=new RegExp(/^(.*)\[([0-9]*)\]$/);function T(t){let e=t.match(v);
5if((0,i.MR)(e,"invalid type","type",t),"uint"===t)return"uint256";if("int"===t)return"int256";if(e[2]){let r=parseInt(e[2]);(0,i.MR)(0!==r&&r<=32,"invalid bytes length","type",t)}else if(e[3]){let r=parseInt(e[3]);(0,i.MR)(0!==r&&r<=256&&r%8==0,"invalid numeric width","type",t)}return t}let S={},M=Symbol.for("_ethers_internal"),U="_ParamTypeInternal",L="_ErrorInternal",F="_EventInternal",D="_ConstructorInternal",G="_FallbackInternal",H="_FunctionInternal",Q="_StructInternal";class z{name;type;baseType;indexed;components;arrayLength;arrayChildren;constructor(t,e,r,n,a,o,l,u){if((0,i.gk)(t,S,"ParamType"),Object.defineProperty(this,M,{value:U}),o&&(o=Object.freeze(o.slice())),"array"===n){if(null==l||null==u)throw Error("")}else if(null!=l||null!=u)throw Error("");if("tuple"===n){if(null==o)throw Error("")}else if(null!=o)throw Error("");(0,s.n)(this,{name:e,type:r,baseType:n,indexed:a,components:o,arrayLength:l,arrayChildren:u})}format(t){if(null==t&&(t="sighash"),"json"===t){let e=this.name||"";if(this.isArray()){let t=JSON.parse(this.arrayChildren.format("json"));return t.name=e,t.type+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`,JSON.stringify(t)}let r={type:"tuple"===this.baseType?"tuple":this.type,name:e};return"boolean"==typeof this.indexed&&(r.indexed=this.indexed),this.isTuple()&&(r.components=this.components.map(e=>JSON.parse(e.format(t)))),JSON.stringify(r)}let e="";return this.isArray()?(e+=this.arrayChildren.format(t),e+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`):this.isTuple()?e+="("+this.components.map(e=>e.format(t)).join("full"===t?", ":",")+")":e+=this.type,"sighash"!==t&&(!0===this.indexed&&(e+=" indexed"),"full"===t&&this.name&&(e+=" "+this.name)),e}isArray(){return"array"===this.baseType}isTuple(){return"tuple"===this.baseType}isIndexable(){return null!=this.indexed}walk(t,e){if(this.isArray()){if(!Array.isArray(t))throw Error("invalid array value");if(-1!==this.arrayLength&&t.length!==this.arrayLength)throw Error("array is wrong length");let r=this;return t.map(t=>r.arrayChildren.walk(t,e))}if(this.isTuple()){if(!Array.isArray(t))throw Error("invalid tuple value");if(t.length!==this.components.length)throw Error("array is wrong length");let r=this;return t.map((t,n)=>r.components[n].walk(t,e))}return e(this.type,t)}#y(t,e,r,n){if(this.isArray()){if(!Array.isArray(e))throw Error("invalid array value");if(-1!==this.arrayLength&&e.length!==this.arrayLength)throw Error("array is wrong length");let i=this.arrayChildren,s=e.slice();s.forEach((e,n)=>{i.#y(t,e,r,t=>{s[n]=t})}),n(s);return}if(this.isTuple()){let i,s=this.components;if(Array.isArray(e))i=e.slice();else{if(null==e||"object"!=typeof e)throw Error("invalid tuple value");i=s.map(t=>{if(!t.name)throw Error("cannot use object value with unnamed components");if(!(t.name in e))throw Error(`missing value for component ${t.name}`);return e[t.name]})}if(i.length!==this.components.length)throw Error("array is wrong length");i.forEach((e,n)=>{s[n].#y(t,e,r,t=>{i[n]=t})}),n(i);return}let i=r(this.type,e);i.then?t.push(async function(){n(await i)}()):n(i)}async walkAsync(t,e){let r=[],n=[t];return this.#y(r,t,e,t=>{n[0]=t}),r.length&&await Promise.all(r),n[0]}static from(t,e){if(z.isParamType(t))return t;if("string"==typeof t)try{return z.from(x(t),e)}catch(e){(0,i.MR)(!1,"invalid param type","obj",t)}else if(t instanceof E){let r="",n="",i=null;P(t,o(["tuple"])).has("tuple")||t.peekType("OPEN_PAREN")?(n="tuple",i=t.popParams().map(t=>z.from(t)),r=`tuple(${i.map(t=>t.format()).join(",")})`):n=r=T(t.popType("TYPE"));let s=null,a=null;for(;t.length&&t.peekType("BRACKET");){let e=t.pop();s=new z(S,"",r,n,null,i,a,s),a=e.value,r+=e.text,n="array",i=null}let l=null;if(P(t,p).has("indexed")){if(!e)throw Error("");l=!0}let u=t.peekType("ID")?t.pop().text:"";if(t.length)throw Error("leftover tokens");return new z(S,u,r,n,l,i,a,s)}let r=t.name;(0,i.MR)(!r||"string"==typeof r&&r.match(w),"invalid name","obj.name",r);let n=t.indexed;null!=n&&((0,i.MR)(e,"parameter cannot be indexed","obj.indexed",t.indexed),n=!!n);let s=t.type,a=s.match(O);if(a){let e=parseInt(a[2]||"-1"),i=z.from({type:a[1],components:t.components});return new z(S,r||"",s,"array",n,null,e,i)}if("tuple"===s||s.startsWith("tuple(")||s.startsWith("(")){let e=null!=t.components?t.components.map(t=>z.from(t)):null;return new z(S,r||"",s,"tuple",n,e,null,null)}return new z(S,r||"",s=T(t.type),s,n,null,null,null)}static isParamType(t){return t&&t[M]===U}}class j{type;inputs;constructor(t,e,r){(0,i.gk)(t,S,"Fragment"),r=Object.freeze(r.slice()),(0,s.n)(this,{type:e,inputs:r})}static from(t){if("string"==typeof t){try{j.from(JSON.parse(t))}catch(t){}return j.from(x(t))}if(t instanceof E)switch(t.peekKeyword(f)){case"constructor":return W.from(t);case"error":return K.from(t);case"event":return Z.from(t);case"fallback":case"receive":return q.from(t);case"function":return _.from(t);case"struct":return Y.from(t)}else if("object"==typeof t){switch(t.type){case"constructor":return W.from(t);case"error":return K.from(t);case"event":return Z.from(t);case"fallback":case"receive":return q.from(t);case"function":return _.from(t);case"struct":return Y.from(t)}(0,i.vA)(!1,`unsupported type: ${t.type}`,"UNSUPPORTED_OPERATION",{operation:"Fragment.from"})}(0,i.MR)(!1,"unsupported frgament object","obj",t)}static isConstructor(t){return W.isFragment(t)}static isError(t){return K.isFragment(t)}static isEvent(t){return Z.isFragment(t)}static isFunction(t){return _.isFragment(t)}static isStruct(t){return Y.isFragment(t)}}class V extends j{name;
5constructor(t,e,r,n){super(t,e,n),(0,i.MR)("string"==typeof r&&r.match(w),"invalid identifier","name",r),n=Object.freeze(n.slice()),(0,s.n)(this,{name:r})}}function J(t,e){return"("+e.map(e=>e.format(t)).join("full"===t?", ":",")+")"}class K extends V{constructor(t,e,r){super(t,"error",e,r),Object.defineProperty(this,M,{value:L})}get selector(){return(0,a.id)(this.format("sighash")).substring(0,10)}format(t){if(null==t&&(t="sighash"),"json"===t)return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(e=>JSON.parse(e.format(t)))});let e=[];return"sighash"!==t&&e.push("error"),e.push(this.name+J(t,this.inputs)),e.join(" ")}static from(t){if(K.isFragment(t))return t;if("string"==typeof t)return K.from(x(t));if(t instanceof E){let e=R("error",t),r=I(t);return C(t),new K(S,e,r)}return new K(S,t.name,t.inputs?t.inputs.map(z.from):[])}static isFragment(t){return t&&t[M]===L}}class Z extends V{anonymous;constructor(t,e,r,n){super(t,"event",e,r),Object.defineProperty(this,M,{value:F}),(0,s.n)(this,{anonymous:n})}get topicHash(){return(0,a.id)(this.format("sighash"))}format(t){if(null==t&&(t="sighash"),"json"===t)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(e=>JSON.parse(e.format(t)))});let e=[];return"sighash"!==t&&e.push("event"),e.push(this.name+J(t,this.inputs)),"sighash"!==t&&this.anonymous&&e.push("anonymous"),e.join(" ")}static getTopicHash(t,e){return new Z(S,t,e=(e||[]).map(t=>z.from(t)),!1).topicHash}static from(t){if(Z.isFragment(t))return t;if("string"==typeof t)try{return Z.from(x(t))}catch(e){(0,i.MR)(!1,"invalid event fragment","obj",t)}else if(t instanceof E){let e=R("event",t),r=I(t,!0),n=!!P(t,o(["anonymous"])).has("anonymous");return C(t),new Z(S,e,r,n)}return new Z(S,t.name,t.inputs?t.inputs.map(t=>z.from(t,!0)):[],!!t.anonymous)}static isFragment(t){return t&&t[M]===F}}class W extends j{payable;gas;constructor(t,e,r,n,i){super(t,e,r),Object.defineProperty(this,M,{value:D}),(0,s.n)(this,{payable:n,gas:i})}format(t){if((0,i.vA)(null!=t&&"sighash"!==t,"cannot format a constructor for sighash","UNSUPPORTED_OPERATION",{operation:"format(sighash)"}),"json"===t)return JSON.stringify({type:"constructor",stateMutability:this.payable?"payable":"undefined",payable:this.payable,gas:null!=this.gas?this.gas:void 0,inputs:this.inputs.map(e=>JSON.parse(e.format(t)))});let e=[`constructor${J(t,this.inputs)}`];return this.payable&&e.push("payable"),null!=this.gas&&e.push(`@${this.gas.toString()}`),e.join(" ")}static from(t){if(W.isFragment(t))return t;if("string"==typeof t)try{return W.from(x(t))}catch(e){(0,i.MR)(!1,"invalid constuctor fragment","obj",t)}else if(t instanceof E){P(t,o(["constructor"]));let e=I(t),r=!!P(t,l).has("payable"),n=B(t);return C(t),new W(S,"constructor",e,r,n)}return new W(S,"constructor",t.inputs?t.inputs.map(z.from):[],!!t.payable,null!=t.gas?t.gas:null)}static isFragment(t){return t&&t[M]===D}}class q extends j{payable;constructor(t,e,r){super(t,"fallback",e),Object.defineProperty(this,M,{value:G}),(0,s.n)(this,{payable:r})}format(t){let e=0===this.inputs.length?"receive":"fallback";return"json"===t?JSON.stringify({type:e,stateMutability:this.payable?"payable":"nonpayable"}):`${e}()${this.payable?" payable":""}`}static from(t){if(q.isFragment(t))return t;if("string"==typeof t)try{return q.from(x(t))}catch(e){(0,i.MR)(!1,"invalid fallback fragment","obj",t)}else if(t instanceof E){let e=t.toString(),r=t.peekKeyword(o(["fallback","receive"]));if((0,i.MR)(r,"type must be fallback or receive","obj",e),"receive"===t.popKeyword(o(["fallback","receive"]))){let e=I(t);return(0,i.MR)(0===e.length,"receive cannot have arguments","obj.inputs",e),P(t,o(["payable"])),C(t),new q(S,[],!0)}let n=I(t);n.length?(0,i.MR)(1===n.length&&"bytes"===n[0].type,"invalid fallback inputs","obj.inputs",n.map(t=>t.format("minimal")).join(", ")):n=[z.from("bytes")];let s=N(t);if((0,i.MR)("nonpayable"===s||"payable"===s,"fallback cannot be constants","obj.stateMutability",s),P(t,o(["returns"])).has("returns")){let e=I(t);
5(0,i.MR)(1===e.length&&"bytes"===e[0].type,"invalid fallback outputs","obj.outputs",e.map(t=>t.format("minimal")).join(", "))}return C(t),new q(S,n,"payable"===s)}return"receive"===t.type?new q(S,[],!0):"fallback"===t.type?new q(S,[z.from("bytes")],"payable"===t.stateMutability):void(0,i.MR)(!1,"invalid fallback description","obj",t)}static isFragment(t){return t&&t[M]===G}}class _ extends V{constant;outputs;stateMutability;payable;gas;constructor(t,e,r,n,i,a){super(t,"function",e,n),Object.defineProperty(this,M,{value:H}),i=Object.freeze(i.slice()),(0,s.n)(this,{constant:"view"===r||"pure"===r,gas:a,outputs:i,payable:"payable"===r,stateMutability:r})}get selector(){return(0,a.id)(this.format("sighash")).substring(0,10)}format(t){if(null==t&&(t="sighash"),"json"===t)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:null!=this.gas?this.gas:void 0,inputs:this.inputs.map(e=>JSON.parse(e.format(t))),outputs:this.outputs.map(e=>JSON.parse(e.format(t)))});let e=[];return"sighash"!==t&&e.push("function"),e.push(this.name+J(t,this.inputs)),"sighash"!==t&&("nonpayable"!==this.stateMutability&&e.push(this.stateMutability),this.outputs&&this.outputs.length&&(e.push("returns"),e.push(J(t,this.outputs))),null!=this.gas&&e.push(`@${this.gas.toString()}`)),e.join(" ")}static getSelector(t,e){return new _(S,t,"view",e=(e||[]).map(t=>z.from(t)),[],null).selector}static from(t){if(_.isFragment(t))return t;if("string"==typeof t)try{return _.from(x(t))}catch(e){(0,i.MR)(!1,"invalid function fragment","obj",t)}else if(t instanceof E){let e=R("function",t),r=I(t),n=N(t),i=[];P(t,o(["returns"])).has("returns")&&(i=I(t));let s=B(t);return C(t),new _(S,e,n,r,i,s)}let e=t.stateMutability;return null==e&&(e="payable","boolean"==typeof t.constant?(e="view",!t.constant&&(e="payable","boolean"!=typeof t.payable||t.payable||(e="nonpayable"))):"boolean"!=typeof t.payable||t.payable||(e="nonpayable")),new _(S,t.name,e,t.inputs?t.inputs.map(z.from):[],t.outputs?t.outputs.map(z.from):[],null!=t.gas?t.gas:null)}static isFragment(t){return t&&t[M]===H}}class Y extends V{constructor(t,e,r){super(t,"struct",e,r),Object.defineProperty(this,M,{value:Q})}format(){throw Error("@TODO")}static from(t){if("string"==typeof t)try{return Y.from(x(t))}catch(e){(0,i.MR)(!1,"invalid struct fragment","obj",t)}else if(t instanceof E){let e=R("struct",t),r=I(t);return C(t),new Y(S,e,r)}return new Y(S,t.name,t.inputs?t.inputs.map(z.from):[])}static isFragment(t){return t&&t[M]===Q}}},70748:(t,e,r)=>{r.d(e,{KA:()=>b});var n=r(25432),i=r(42830),s=r(19841),a=r(20972),o=r(20360),l=r(74711),u=r(98842),c=r(44074),h=r(66438),f=r(11175);class d{fragment;name;signature;topic;args;constructor(t,e,r){let n=t.name,i=t.format();(0,s.n)(this,{fragment:t,name:n,signature:i,topic:e,args:r})}}class p{fragment;name;args;signature;selector;value;constructor(t,e,r,n){let i=t.name,a=t.format();(0,s.n)(this,{fragment:t,name:i,args:r,signature:a,selector:e,value:n})}}class g{fragment;name;args;signature;selector;constructor(t,e,r){let n=t.name,i=t.format();(0,s.n)(this,{fragment:t,name:n,args:r,signature:i,selector:e})}}class m{hash;_isIndexed;static isIndexed(t){return!!(t&&t._isIndexed)}constructor(t){(0,s.n)(this,{hash:t,_isIndexed:!0})}}let y={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"},A={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:t=>`reverted with reason string ${JSON.stringify(t)}`},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"],reason:t=>{let e="unknown panic code";return t>=0&&t<=255&&y[t.toString()]&&(e=y[t.toString()]),`reverted with panic code 0x${t.toString(16)} (${e})`}}};class b{fragments;deploy;fallback;receive;#A;#b;#w;#v;constructor(t){let e=[];e="string"==typeof t?JSON.parse(t):t,this.#w=new Map,this.#A=new Map,this.#b=new Map;let r=[];for(let t of e)try{r.push(h.FK.from(t))}catch(e){console.log(`[Warning] Invalid Fragment ${JSON.stringify(t)}:`,e.message)}(0,s.n)(this,{fragments:Object.freeze(r)});let n=null,i=!1;
5this.#v=this.getAbiCoder(),this.fragments.forEach((t,e)=>{let r;switch(t.type){case"constructor":if(this.deploy)return void console.log("duplicate definition - constructor");(0,s.n)(this,{deploy:t});return;case"fallback":0===t.inputs.length?i=!0:((0,a.MR)(!n||t.payable!==n.payable,"conflicting fallback fragments",`fragments[${e}]`,t),i=(n=t).payable);return;case"function":r=this.#w;break;case"event":r=this.#b;break;case"error":r=this.#A;break;default:return}let o=t.format();r.has(o)||r.set(o,t)}),this.deploy||(0,s.n)(this,{deploy:h.Pw.from("constructor()")}),(0,s.n)(this,{fallback:n,receive:i})}format(t){let e=t?"minimal":"full";return this.fragments.map(t=>t.format(e))}formatJson(){return JSON.stringify(this.fragments.map(t=>t.format("json")).map(t=>JSON.parse(t)))}getAbiCoder(){return u.y.defaultAbiCoder()}#E(t,e,r){if((0,o.Lo)(t)){let e=t.toLowerCase();for(let t of this.#w.values())if(e===t.selector)return t;return null}if(-1===t.indexOf("(")){let n=[];for(let[e,r]of this.#w)e.split("(")[0]===t&&n.push(r);if(e){let t=e.length>0?e[e.length-1]:null,r=e.length,i=!0;f.V.isTyped(t)&&"overrides"===t.type&&(i=!1,r--);for(let t=n.length-1;t>=0;t--){let e=n[t].inputs.length;e===r||i&&e===r-1||n.splice(t,1)}for(let t=n.length-1;t>=0;t--){let r=n[t].inputs;for(let i=0;i<e.length;i++)if(f.V.isTyped(e[i])){if(i>=r.length){if("overrides"===e[i].type)continue;n.splice(t,1);break}if(e[i].type!==r[i].baseType){n.splice(t,1);break}}}}if(1===n.length&&e&&e.length!==n[0].inputs.length){let t=e[e.length-1];(null==t||Array.isArray(t)||"object"!=typeof t)&&n.splice(0,1)}if(0===n.length)return null;if(n.length>1&&r){let e=n.map(t=>JSON.stringify(t.format())).join(", ");(0,a.MR)(!1,`ambiguous function description (i.e. matches ${e})`,"key",t)}return n[0]}let n=this.#w.get(h.hc.from(t).format());return n||null}getFunctionName(t){let e=this.#E(t,null,!1);return(0,a.MR)(e,"no matching function","key",t),e.name}hasFunction(t){return!!this.#E(t,null,!1)}getFunction(t,e){return this.#E(t,e||null,!0)}forEachFunction(t){let e=Array.from(this.#w.keys());e.sort((t,e)=>t.localeCompare(e));for(let r=0;r<e.length;r++){let n=e[r];t(this.#w.get(n),r)}}#x(t,e,r){if((0,o.Lo)(t)){let e=t.toLowerCase();
5for(let t of this.#b.values())if(e===t.topicHash)return t;return null}if(-1===t.indexOf("(")){let n=[];for(let[e,r]of this.#b)e.split("(")[0]===t&&n.push(r);if(e){for(let t=n.length-1;t>=0;t--)n[t].inputs.length<e.length&&n.splice(t,1);for(let t=n.length-1;t>=0;t--){let r=n[t].inputs;for(let i=0;i<e.length;i++)if(f.V.isTyped(e[i])&&e[i].type!==r[i].baseType){n.splice(t,1);break}}}if(0===n.length)return null;if(n.length>1&&r){let e=n.map(t=>JSON.stringify(t.format())).join(", ");(0,a.MR)(!1,`ambiguous event description (i.e. matches ${e})`,"key",t)}return n[0]}let n=this.#b.get(h.Zp.from(t).format());return n||null}getEventName(t){let e=this.#x(t,null,!1);return(0,a.MR)(e,"no matching event","key",t),e.name}hasEvent(t){return!!this.#x(t,null,!1)}getEvent(t,e){return this.#x(t,e||null,!0)}forEachEvent(t){let e=Array.from(this.#b.keys());e.sort((t,e)=>t.localeCompare(e));for(let r=0;r<e.length;r++){let n=e[r];t(this.#b.get(n),r)}}getError(t,e){if((0,o.Lo)(t)){let e=t.toLowerCase();if(A[e])return h.bp.from(A[e].signature);for(let t of this.#A.values())if(e===t.selector)return t;return null}if(-1===t.indexOf("(")){let e=[];for(let[r,n]of this.#A)r.split("(")[0]===t&&e.push(n);if(0===e.length)return"Error"===t?h.bp.from("error Error(string)"):"Panic"===t?h.bp.from("error Panic(uint256)"):null;if(e.length>1){let r=e.map(t=>JSON.stringify(t.format())).join(", ");(0,a.MR)(!1,`ambiguous error description (i.e. ${r})`,"name",t)}return e[0]}if("Error(string)"===(t=h.bp.from(t).format()))return h.bp.from("error Error(string)");if("Panic(uint256)"===t)return h.bp.from("error Panic(uint256)");let r=this.#A.get(t);return r||null}forEachError(t){let e=Array.from(this.#A.keys());e.sort((t,e)=>t.localeCompare(e));for(let r=0;r<e.length;r++){let n=e[r];t(this.#A.get(n),r)}}_decodeParams(t,e){return this.#v.decode(t,e)}_encodeParams(t,e){return this.#v.encode(t,e)}encodeDeploy(t){return this._encodeParams(this.deploy.inputs,t||[])}decodeErrorResult(t,e){if("string"==typeof t){let e=this.getError(t);(0,a.MR)(e,"unknown error","fragment",t),t=e}return(0,a.MR)((0,o.ZG)(e,0,4)===t.selector,`data signature does not match error ${t.name}.`,"data",e),this._decodeParams(t.inputs,(0,o.ZG)(e,4))}encodeErrorResult(t,e){if("string"==typeof t){let e=this.getError(t);(0,a.MR)(e,"unknown error","fragment",t),t=e}return(0,o.xW)([t.selector,this._encodeParams(t.inputs,e||[])])}decodeFunctionData(t,e){if("string"==typeof t){let e=this.getFunction(t);(0,a.MR)(e,"unknown function","fragment",t),t=e}return(0,a.MR)((0,o.ZG)(e,0,4)===t.selector,`data signature does not match function ${t.name}.`,"data",e),this._decodeParams(t.inputs,(0,o.ZG)(e,4))}encodeFunctionData(t,e){if("string"==typeof t){let e=this.getFunction(t);(0,a.MR)(e,"unknown function","fragment",t),t=e}return(0,o.xW)([t.selector,this._encodeParams(t.inputs,e||[])])}decodeFunctionResult(t,e){if("string"==typeof t){let e=this.getFunction(t);(0,a.MR)(e,"unknown function","fragment",t),t=e}let r="invalid length for result data",n=(0,o.Lm)(e);if(n.length%32==0)try{return this.#v.decode(t.outputs,n)}catch(t){r="could not decode result data"}(0,a.vA)(!1,r,"BAD_DATA",{value:(0,o.c$)(n),info:{method:t.name,signature:t.format()}})}makeError(t,e){let r=(0,o.q5)(t,"data"),n=u.y.getBuiltinCallException("call",e,r);if(n.message.startsWith("execution reverted (unknown custom error)")){let t=(0,o.c$)(r.slice(0,4)),e=this.getError(t);if(e)try{let t=this.#v.decode(e.inputs,r.slice(4));n.revert={name:e.name,signature:e.format(),args:t},n.reason=n.revert.signature,n.message=`execution reverted: ${n.reason}`}catch(t){n.message="execution reverted (coult not decode custom error)"}}let i=this.parseTransaction(e);return i&&(n.invocation={method:i.name,signature:i.signature,args:i.args}),n}encodeFunctionResult(t,e){if("string"==typeof t){let e=this.getFunction(t);(0,a.MR)(e,"unknown function","fragment",t),t=e}return(0,o.c$)(this.#v.encode(t.outputs,e||[]))}encodeFilterTopics(t,e){if("string"==typeof t){let e=this.getEvent(t);(0,a.MR)(e,"unknown event","eventFragment",t),t=e}(0,a.vA)(e.length<=t.inputs.length,`too many arguments for ${t.format()}`,"UNEXPECTED_ARGUMENT",{count:e.length,expectedCount:t.inputs.length});let r=[];
5t.anonymous||r.push(t.topicHash);let s=(t,e)=>"string"===t.type?(0,i.id)(e):"bytes"===t.type?(0,n.S)((0,o.c$)(e)):("bool"===t.type&&"boolean"==typeof e?e=e?"0x01":"0x00":t.type.match(/^u?int/)?e=(0,l.up)(e):t.type.match(/^bytes/)?e=(0,o.X_)(e,32):"address"===t.type&&this.#v.encode(["address"],[e]),(0,o.nx)((0,o.c$)(e),32));for(e.forEach((e,n)=>{let i=t.inputs[n];if(!i.indexed)return void(0,a.MR)(null==e,"cannot filter non-indexed parameters; must be null","contract."+i.name,e);null==e?r.push(null):"array"===i.baseType||"tuple"===i.baseType?(0,a.MR)(!1,"filtering with tuples or arrays not supported","contract."+i.name,e):Array.isArray(e)?r.push(e.map(t=>s(i,t))):r.push(s(i,e))});r.length&&null===r[r.length-1];)r.pop();return r}encodeEventLog(t,e){if("string"==typeof t){let e=this.getEvent(t);(0,a.MR)(e,"unknown event","eventFragment",t),t=e}let r=[],s=[],o=[];return t.anonymous||r.push(t.topicHash),(0,a.MR)(e.length===t.inputs.length,"event arguments/values mismatch","values",e),t.inputs.forEach((t,a)=>{let l=e[a];if(t.indexed)if("string"===t.type)r.push((0,i.id)(l));else if("bytes"===t.type)r.push((0,n.S)(l));else if("tuple"===t.baseType||"array"===t.baseType)throw Error("not implemented");else r.push(this.#v.encode([t.type],[l]));else s.push(t),o.push(l)}),{data:this.#v.encode(s,o),topics:r}}decodeEventLog(t,e,r){if("string"==typeof t){let e=this.getEvent(t);(0,a.MR)(e,"unknown event","eventFragment",t),t=e}if(null!=r&&!t.anonymous){let e=t.topicHash;(0,a.MR)((0,o.Lo)(r[0],32)&&r[0].toLowerCase()===e,"fragment/topic mismatch","topics[0]",r[0]),r=r.slice(1)}let n=[],i=[],s=[];t.inputs.forEach((t,e)=>
5{t.indexed?"string"===t.type||"bytes"===t.type||"tuple"===t.baseType||"array"===t.baseType?(n.push(h.aX.from({type:"bytes32",name:t.name})),s.push(!0)):(n.push(t),s.push(!1)):(i.push(t),s.push(!1))});let l=null!=r?this.#v.decode(n,(0,o.xW)(r)):null,u=this.#v.decode(i,e,!0),f=[],d=[],p=0,g=0;return t.inputs.forEach((t,e)=>{let r=null;if(t.indexed)if(null==l)r=new m(null);else if(s[e])r=new m(l[g++]);else try{r=l[g++]}catch(t){r=t}else try{r=u[p++]}catch(t){r=t}f.push(r),d.push(t.name||null)}),c.Q7.fromItems(f,d)}parseTransaction(t){let e=(0,o.q5)(t.data,"tx.data"),r=(0,l.Ab)(null!=t.value?t.value:0,"tx.value"),n=this.getFunction((0,o.c$)(e.slice(0,4)));if(!n)return null;let i=this.#v.decode(n.inputs,e.slice(4));return new p(n,n.selector,i,r)}parseCallResult(t){throw Error("@TODO")}parseLog(t){let e=this.getEvent(t.topics[0]);return!e||e.anonymous?null:new d(e,e.topicHash,this.decodeEventLog(e,t.data,t.topics))}parseError(t){let e=(0,o.c$)(t),r=this.getError((0,o.ZG)(e,0,4));if(!r)return null;let n=this.#v.decode(r.inputs,(0,o.ZG)(e,4));return new g(r,r.selector,n)}static from(t){return t instanceof b?t:new b("string"==typeof t?JSON.parse(t):"function"==typeof t.formatJson?t.formatJson():"function"==typeof t.format?t.format("json"):t)}}},74387:(t,e,r)=>{r.d(e,{YW:()=>o,_v:()=>l});var n=r(20360),i=r(20972);function s(t,e,r,n,i){if("BAD_PREFIX"===t||"UNEXPECTED_CONTINUE"===t){let t=0;for(let n=e+1;n<r.length&&r[n]>>6==2;n++)t++;return t}return"OVERRUN"===t?r.length-e-1:0}let a=Object.freeze({error:function(t,e,r,n,s){(0,i.MR)(!1,`invalid codepoint at offset ${e}; ${t}`,"bytes",r)},ignore:s,replace:function(t,e,r,n,a){return"OVERLONG"===t?((0,i.MR)("number"==typeof a,"invalid bad code point for replacement","badCodepoint",a),n.push(a),0):(n.push(65533),s(t,e,r,n,a))}});function o(t,e){(0,i.MR)("string"==typeof t,"invalid string value","str",t),null!=e&&((0,i.SP)(e),t=t.normalize(e));let r=[];for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);if(n<128)r.push(n);else if(n<2048)r.push(n>>6|192),r.push(63&n|128);else if((64512&n)==55296){e++;let s=t.charCodeAt(e);(0,i.MR)(e<t.length&&(64512&s)==56320,"invalid surrogate pair","str",t);let a=65536+((1023&n)<<10)+(1023&s);r.push(a>>18|240),r.push(a>>12&63|128),r.push(a>>6&63|128),r.push(63&a|128)}else r.push(n>>12|224),r.push(n>>6&63|128),r.push(63&n|128)}return new Uint8Array(r)}function l(t,e){return(function(t,e){null==e&&(e=a.error);let r=(0,n.q5)(t,"bytes"),i=[],s=0;for(;s<r.length;){let t=r[s++];if(t>>7==0){i.push(t);continue}let n=null,a=null;if((224&t)==192)n=1,a=127;else if((240&t)==224)n=2,a=2047;else if((248&t)==240)n=3,a=65535;else{(192&t)==128?s+=e("UNEXPECTED_CONTINUE",s-1,r,i):s+=e("BAD_PREFIX",s-1,r,i);continue}if(s-1+n>=r.length){s+=e("OVERRUN",s-1,r,i);continue}let o=t&(1<<8-n-1)-1;for(let t=0;t<n;t++){let t=r[s];if((192&t)!=128){s+=e("MISSING_CONTINUE",s,r,i),o=null;break}o=o<<6|63&t,s++}if(null!==o){if(o>1114111){s+=e("OUT_OF_RANGE",s-1-n,r,i,o);continue}if(o>=55296&&o<=57343){s+=e("UTF16_SURROGATE",s-1-n,r,i,o);continue}if(o<=a){s+=e("OVERLONG",s-1-n,r,i,o);continue}i.push(o)}}return i})(t,e).map(t=>t<=65535?String.fromCharCode(t):String.fromCharCode(((t-=65536)>>10&1023)+55296,(1023&t)+56320)).join("")}},74711:(t,e,r)=>{r.d(e,{Ab:()=>c,Dg:()=>d,JJ:()=>l,Ro:()=>g,ST:()=>o,WZ:()=>p,c4:()=>y,dK:()=>u,nD:()=>A,up:()=>m});var n=r(20360),i=r(20972);let s=BigInt(0),a=BigInt(1);function o(t,e){let r=h(t,"value"),n=BigInt(p(e,"width"));return((0,i.vA)(r>>n===s,"overflow","NUMERIC_FAULT",{operation:"fromTwos",fault:"overflow",value:t}),r>>n-a)?-((~r&(a<<n)-a)+a):r}function l(t,e){let r=c(t,"value"),n=BigInt(p(e,"width")),o=a<<n-a;return r<s?(r=-r,(0,i.vA)(r<=o,"too low","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:t}),(~r&(a<<n)-a)+a):((0,i.vA)(r<o,"too high","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:t}),r)}function u(t,e){return h(t,"value")&(a<<BigInt(p(e,"bits")))-a}function c(t,e){switch(typeof t){case"bigint":return t;case"number":return(0,i.MR)(Number.isInteger(t),"underflow",e||"value",t),(0,i.MR)(t>=-0x1fffffffffffff&&t<=0x1fffffffffffff,"overflow",e||"value",t),BigInt(t);
5case"string":try{if(""===t)throw Error("empty string");if("-"===t[0]&&"-"!==t[1])return-BigInt(t.substring(1));return BigInt(t)}catch(r){(0,i.MR)(!1,`invalid BigNumberish string: ${r.message}`,e||"value",t)}}(0,i.MR)(!1,"invalid BigNumberish value",e||"value",t)}function h(t,e){let r=c(t,e);return(0,i.vA)(r>=s,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:t}),r}let f="0123456789abcdef";function d(t){if(t instanceof Uint8Array){let e="0x0";for(let r of t)e+=f[r>>4],e+=f[15&r];return BigInt(e)}return c(t)}function p(t,e){switch(typeof t){case"bigint":return(0,i.MR)(t>=-0x1fffffffffffff&&t<=0x1fffffffffffff,"overflow",e||"value",t),Number(t);case"number":return(0,i.MR)(Number.isInteger(t),"underflow",e||"value",t),(0,i.MR)(t>=-0x1fffffffffffff&&t<=0x1fffffffffffff,"overflow",e||"value",t),t;case"string":try{if(""===t)throw Error("empty string");return p(BigInt(t),e)}catch(r){(0,i.MR)(!1,`invalid numeric string: ${r.message}`,e||"value",t)}}(0,i.MR)(!1,"invalid numeric value",e||"value",t)}function g(t){return p(d(t))}function m(t,e){let r=h(t,"value"),n=r.toString(16);if(null==e)n.length%2&&(n="0"+n);else{let a=p(e,"width");if(0===a&&r===s)return"0x";for((0,i.vA)(2*a>=n.length,`value exceeds width (${a} bytes)`,"NUMERIC_FAULT",{operation:"toBeHex",fault:"overflow",value:t});n.length<2*a;)n="0"+n}return"0x"+n}function y(t,e){let r=h(t,"value");if(r===s)return new Uint8Array(null!=e?p(e,"width"):0);let n=r.toString(16);if(n.length%2&&(n="0"+n),null!=e){let r=p(e,"width");for(;n.length<2*r;)n="00"+n;(0,i.vA)(2*r===n.length,`value exceeds width (${r} bytes)`,"NUMERIC_FAULT",{operation:"toBeArray",fault:"overflow",value:t})}let a=new Uint8Array(n.length/2);for(let t=0;t<a.length;t++){let e=2*t;a[t]=parseInt(n.substring(e,e+2),16)}return a}function A(t){let e=(0,n.c$)((0,n.f)(t)?t:y(t)).substring(2);for(;e.startsWith("0");)e=e.substring(1);return""===e&&(e="0"),"0x"+e}},78508:(t,e,r)=>{r.d(e,{NZ:()=>Q});var n=r(11175),i=r(70748),s=r(47058),a=r(48960),o=r(19841),l=r(20972),u=r(74711),c=r(20360),h=r(52561);class f extends a.tG{interface;fragment;args;constructor(t,e,r){super(t,t.provider);let n=e.decodeEventLog(r,t.data,t.topics);(0,o.n)(this,{args:n,fragment:r,interface:e})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}class d extends a.tG{error;constructor(t,e){super(t,t.provider),(0,o.n)(this,{error:e})}}class p extends a.z5{#k;constructor(t,e,r){super(r,e),this.#k=t}get logs(){return super.logs.map(t=>{let e=t.topics.length?this.#k.getEvent(t.topics[0]):null;if(e)try{return new f(t,this.#k,e)}catch(e){return new d(t,e)}return t})}}class g extends a.uI{#k;constructor(t,e,r){super(r,e),this.#k=t}async wait(t,e){let r=await super.wait(t,e);return null==r?null:new p(this.#k,this.provider,r)}}class m extends h.z{log;constructor(t,e,r,n){super(t,e,r),(0,o.n)(this,{log:n})}async getBlock(){return await this.log.getBlock()}async getTransaction(){return await this.log.getTransaction()}async getTransactionReceipt(){return await this.log.getTransactionReceipt()}}class y extends m{constructor(t,e,r,n,i){super(t,e,r,new f(i,t.interface,n));let s=t.interface.decodeEventLog(n,this.log.data,this.log.topics);(0,o.n)(this,{args:s,fragment:n})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}let A=BigInt(0);function b(t){return t&&"function"==typeof t.call}function w(t){return t&&"function"==typeof t.estimateGas}function v(t){return t&&"function"==typeof t.resolveName}function E(t){return t&&"function"==typeof t.sendTransaction}function x(t){if(null!=t){if(v(t))return t;if(t.provider)return t.provider}}class k{#R;fragment;constructor(t,e,r){if((0,o.n)(this,{fragment:e}),e.inputs.length<r.length)throw Error("too many arguments");let n=R(t.runner,"resolveName"),i=v(n)?n:null;this.#R=async function(){let n=await Promise.all(e.inputs.map((t,e)=>null==r[e]?null:t.walkAsync(r[e],(t,e)=>"address"===t?Array.isArray(e)?Promise.all(e.map(t=>(0,s.tG)(t,i))):(0,s.tG)(e,i):e)));return t.interface.encodeFilterTopics(e,n)}()}getTopicFilter(){return this.#R}}function R(t,e){return null==t?null:"function"==typeof t[e]?t:t.provider&&"function"==typeof t.provider[e]?t.provider:null}function P(t){return null==t?null:t.provider||null}async function N(t,e){let r=n.V.dereference(t,"overrides");
5(0,l.MR)("object"==typeof r,"invalid overrides parameter","overrides",t);let i=(0,a.VS)(r);return(0,l.MR)(null==i.to||(e||[]).indexOf("to")>=0,"cannot override to","overrides.to",i.to),(0,l.MR)(null==i.data||(e||[]).indexOf("data")>=0,"cannot override data","overrides.data",i.data),i.from&&(i.from=i.from),i}async function I(t,e,r){let i=R(t,"resolveName"),a=v(i)?i:null;return await Promise.all(e.map((t,e)=>t.walkAsync(r[e],(t,e)=>(e=n.V.dereference(e,t),"address"===t)?(0,s.tG)(e,a):e)))}let B=Symbol.for("_ethersInternal_contract"),C=new WeakMap;function O(t){return C.get(t[B])}async function T(t,e){let r,n=null;if(Array.isArray(e)){let n=function(e){if((0,c.Lo)(e,32))return e;let r=t.interface.getEvent(e);return(0,l.MR)(r,"unknown fragment","name",e),r.topicHash};r=e.map(t=>null==t?null:Array.isArray(t)?t.map(n):n(t))}else if("*"===e)r=[null];else if("string"==typeof e)(0,c.Lo)(e,32)?r=[e]:(n=t.interface.getEvent(e),(0,l.MR)(n,"unknown fragment","event",e),r=[n.topicHash]);else e&&"object"==typeof e&&"getTopicFilter"in e&&"function"==typeof e.getTopicFilter&&e.fragment?r=await e.getTopicFilter():"fragment"in e?r=[(n=e.fragment).topicHash]:(0,l.MR)(!1,"unknown event name","event",e);return{fragment:n,tag:(r=r.map(t=>{if(null==t)return null;if(Array.isArray(t)){let e=Array.from(new Set(t.map(t=>t.toLowerCase())).values());return 1===e.length?e[0]:(e.sort(),e)}return t.toLowerCase()})).map(t=>null==t?"null":Array.isArray(t)?t.join("|"):t).join("&"),topics:r}}async function S(t,e){let{subs:r}=O(t);return r.get((await T(t,e)).tag)||null}async function M(t,e,r){let n=P(t.runner);(0,l.vA)(n,"contract runner does not support subscribing","UNSUPPORTED_OPERATION",{operation:e});let{fragment:i,tag:s,topics:a}=await T(t,r),{addr:o,subs:u}=O(t),c=u.get(s);if(!c){let e={address:o||t,topics:a},l=e=>{let n=i;if(null==n)try{n=t.interface.getEvent(e.topics[0])}catch(t){}if(n){let s=n,a=i?t.interface.decodeEventLog(i,e.data,e.topics):[];F(t,r,a,n=>new y(t,n,r,s,e))}else F(t,r,[],n=>new m(t,n,r,e))},h=[];c={tag:s,listeners:[],start:()=>{h.length||h.push(n.on(e,l))},stop:async()=>{if(0==h.length)return;let t=h;h=[],await Promise.all(t),n.off(e,l)}},u.set(s,c)}return c}let U=Promise.resolve();async function L(t,e,r,n){await U;let i=await S(t,e);if(!i)return!1;let s=i.listeners.length;return i.listeners=i.listeners.filter(({listener:e,once:i})=>{let s=Array.from(r);n&&s.push(n(i?null:e));try{e.call(t,...s)}catch(t){}return!i}),0===i.listeners.length&&(i.stop(),O(t).subs.delete(i.tag)),s>0}async function F(t,e,r,n){try{await U}catch(t){}let i=L(t,e,r,n);return U=i,await i}let D=["then"];class G{target;interface;runner;filters;[B];fallback;constructor(t,e,r,n){var a;let h;(0,l.MR)("string"==typeof t||(0,s.$C)(t),"invalid value for Contract target","target",t),null==r&&(r=null);let f=i.KA.from(e);(0,o.n)(this,{target:t,runner:r,interface:f}),Object.defineProperty(this,B,{value:{}});let d=null,p=null;if(n){let t=P(r);p=new g(this.interface,t,n)}let m=new Map;if("string"==typeof t)if((0,c.Lo)(t))d=t,h=Promise.resolve(t);else{let e=R(r,"resolveName");if(!v(e))throw(0,l.xz)("contract runner does not support name resolution","UNSUPPORTED_OPERATION",{operation:"resolveName"});h=e.resolveName(t).then(e=>{if(null==e)throw(0,l.xz)("an ENS name used for a contract target must be correctly configured","UNCONFIGURED_NAME",{value:t});return O(this).addr=e,e})}else h=t.getAddress().then(t=>{if(null==t)throw Error("TODO");return O(this).addr=t,t});a={addrPromise:h,addr:d,deployTx:p,subs:m},C.set(this[B],a);let y=new Proxy({},{get:(t,e,r)=>{if("symbol"==typeof e||D.indexOf(e)>=0)return Reflect.get(t,e,r);try{return this.getEvent(e)}catch(t){if(!(0,l.bJ)(t,"INVALID_ARGUMENT")||"key"!==t.argument)throw t}},has:(t,e)=>D.indexOf(e)>=0?Reflect.has(t,e):Reflect.has(t,e)||this.interface.hasEvent(String(e))});return(0,o.n)(this,{filters:y}),(0,o.n)(this,{fallback:f.receive||f.fallback?function(t){let e=async function(e){let r=await N(e,["data"]);r.to=await t.getAddress(),r.from&&(r.from=await (0,s.tG)(r.from,x(t.runner)));let n=t.interface,i=(0,u.Ab)(r.value||A,"overrides.value")===A,a="0x"===(r.data||"0x");!n.fallback||n.fallback.payable||!n.receive||a||i||(0,l.MR)(!1,"cannot send data to receive or send value to non-payable fallback","overrides",e),(0,l.MR)(n.fallback||a,"cannot send data to receive-only contract","overrides.data",r.data);let o=n.receive||n.fallback&&n.fallback.payable;return(0,l.MR)(o||i,"cannot send value to non-payable fallback","overrides.value",r.value),(0,l.MR)(n.fallback||a,"cannot send data to receive-only contract","overrides.data",r.data),r},r=async function(r){let n=R(t.runner,"call");(0,l.vA)(b(n),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});let i=await e(r);try{return await n.call(i)}catch(e){if((0,l.E)(e)&&e.data)throw t.interface.makeError(e.data,i);throw e}},n=async function(r){let n=t.runner;(0,l.vA)(E(n),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});let i=await n.sendTransaction(await e(r)),s=P(t.runner);return new g(t.interface,s,i)},i=async function(r){let n=R(t.runner,"estimateGas");return(0,l.vA)(w(n),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await n.estimateGas(await e(r))},a=async t=>await n(t);return(0,o.n)(a,{_contract:t,estimateGas:i,populateTransaction:e,send:n,staticCall:r}),a}(this):null}),new Proxy(this,{get:(t,e,r)=>{if("symbol"==typeof e||e in t||D.indexOf(e)>=0)return Reflect.get(t,e,r);try{return t.getFunction(e)}catch(t){if(!(0,l.bJ)(t,"INVALID_ARGUMENT")||"key"!==t.argument)throw t}},has:(t,e)=>"symbol"==typeof e||e in t||D.indexOf(e)>=0?Reflect.has(t,e):t.interface.hasFunction(e)})}connect(t){return new G(this.target,this.interface,t)}attach(t){return new G(t,this.interface,this.runner)}async getAddress(){return await O(this).addrPromise}async getDeployedCode(){let t=P(this.runner);(0,l.vA)(t,"runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"getDeployedCode"});let e=await t.getCode(await this.getAddress());return"0x"===e?null:e}async waitForDeployment(){let t=this.deploymentTransaction();if(t)return await t.wait(),this;if(null!=await this.getDeployedCode())return this;let e=P(this.runner);return(0,l.vA)(null!=e,"contract runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"waitForDeployment"}),new Promise((t,r)=>{let n=async()=>{try{let r=await this.getDeployedCode();if(null!=r)return t(this);e.once("block",n)}catch(t){r(t)}};n()})}deploymentTransaction(){return O(this).deployTx}getFunction(t){return"string"!=typeof t&&(t=t.format()),function(t,e){let r=function(...r){let n=t.interface.getFunction(e,r);return(0,l.vA)(n,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e,args:r}}),n},n=async function(...e){let n=r(...e),i={};if(n.inputs.length+1===e.length&&(i=await N(e.pop())).from&&(i.from=await (0,s.tG)(i.from,x(t.runner))),n.inputs.length!==e.length)throw Error("internal error: fragment inputs doesn't match arguments; should not happen");let a=await I(t.runner,n.inputs,e);return Object.assign({},i,await (0,o.k)({to:t.getAddress(),data:t.interface.encodeFunctionData(n,a)}))},i=async function(...t){let e=await c(...t);return 1===e.length?e[0]:e},a=async function(...e){let r=t.runner;(0,l.vA)(E(r),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});let i=await r.sendTransaction(await n(...e)),s=P(t.runner);return new g(t.interface,s,i)},u=async function(...e){let r=R(t.runner,"estimateGas");return(0,l.vA)(w(r),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await r.estimateGas(await n(...e))},c=async function(...e){let i=R(t.runner,"call");(0,l.vA)(b(i),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});let s=await n(...e),a="0x";try{a=await i.call(s)}catch(e){if((0,l.E)(e)&&e.data)throw t.interface.makeError(e.data,s);throw e}let o=r(...e);return t.interface.decodeFunctionResult(o,a)},h=async(...t)=>r(...t).constant?await i(...t):await a(...t);return(0,o.n)(h,{name:t.interface.getFunctionName(e),_contract:t,_key:e,getFragment:r,estimateGas:u,populateTransaction:n,send:a,staticCall:i,staticCallResult:c}),Object.defineProperty(h,"fragment",{configurable:!1,enumerable:!0,get:()=>{let r=t.interface.getFunction(e);return(0,l.vA)(r,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e}}),r}}),h}(this,t)}getEvent(t){"string"!=typeof t&&(t=t.format());var e=this,r=t;let n=function(...t){let n=e.interface.getEvent(r,t);return(0,l.vA)(n,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:r,args:t}}),n},i=function(...t){return new k(e,n(...t),t)};return(0,o.n)(i,{name:e.interface.getEventName(r),_contract:e,_key:r,getFragment:n}),Object.defineProperty(i,"fragment",{configurable:!1,enumerable:!0,get:()=>{let t=e.interface.getEvent(r);return(0,l.vA)(t,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:r}}),t}}),i}async queryTransaction(t){throw Error("@TODO")}async queryFilter(t,e,r){null==e&&(e=0),null==r&&(r="latest");let{addr:n,addrPromise:i}=O(this),s=n||await i,{fragment:o,topics:u}=await T(this,t),c={address:s,topics:u,fromBlock:e,toBlock:r},h=P(this.runner);return(0,l.vA)(h,"contract runner does not have a provider","UNSUPPORTED_OPERATION",{operation:"queryFilter"}),(await h.getLogs(c)).map(t=>{let e=o;if(null==e)try{e=this.interface.getEvent(t.topics[0])}catch(t){}if(e)try{return new f(t,this.interface,e)}catch(e){return new d(t,e)}return new a.tG(t,h)})}async on(t,e){let r=await M(this,"on",t);return r.listeners.push({listener:e,once:!1}),r.start(),this}async once(t,e){let r=await M(this,"once",t);return r.listeners.push({listener:e,once:!0}),r.start(),this}async emit(t,...e){return await F(this,t,e,null)}async listenerCount(t){if(t){let e=await S(this,t);return e?e.listeners.length:0}let{subs:e}=O(this),r=0;for(let{listeners:t}of e.values())r+=t.length;return r}async listeners(t){if(t){let e=await S(this,t);return e?e.listeners.map(({listener:t})=>t):[]}let{subs:e}=O(this),r=[];for(let{listeners:t}of e.values())r=r.concat(t.map(({listener:t})=>t));return r}async off(t,e){let r=await S(this,t);if(!r)return this;if(e){let t=r.listeners.map(({listener:t})=>t).indexOf(e);t>=0&&r.listeners.splice(t,1)}return(null==e||0===r.listeners.length)&&(r.stop(),O(this).subs.delete(r.tag)),this}async removeAllListeners(t){if(t){let e=await S(this,t);if(!e)return this;e.stop(),O(this).subs.delete(e.tag)}else{let{subs:t}=O(this);for(let{tag:e,stop:r}of t.values())r(),t.delete(e)}return this}async addListener(t,e){return await this.on(t,e)}async removeListener(t,e){return await this.off(t,e)}static buildClass(t){class e extends G{constructor(e,r=null){super(e,t,r)}}return e}static from(t,e,r){return null==r&&(r=null),new this(t,e,r)}}function H(){return G}class Q extends H(){}},83208:(t,e,r)=>{let n,i,s,a,o,l,u,c,h,f,d,p,g,m,y;r.d(e,{FR:()=>nR});var A={};r.r(A),r.d(A,{OG:()=>eI,My:()=>eb,Ph:()=>eE,lX:()=>ex,Id:()=>eN,fg:()=>eO,qj:()=>eP,aT:()=>ev,lq:()=>ek,z:()=>eR,Q5:()=>eS});var b=r(98842),w=r(12009),v=r(47058),E=r(25432),x=r(20360),k=r(74711),R=r(20972),P=r(19841),N=r(42830);let I=new Uint8Array(32);I.fill(0);let B=BigInt(-1),C=BigInt(0),O=BigInt(1),T=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),S=(0,k.up)(O,32),M=(0,k.up)(C,32),U={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},L=["name","version","chainId","verifyingContract","salt"];
5function F(t){return function(e){return(0,R.MR)("string"==typeof e,`invalid domain value for ${JSON.stringify(t)}`,`domain.${t}`,e),e}}let D={name:F("name"),version:F("version"),chainId:function(t){let e=(0,k.Ab)(t,"domain.chainId");return((0,R.MR)(e>=0,"invalid chain ID","domain.chainId",t),Number.isSafeInteger(e))?Number(e):(0,k.nD)(e)},verifyingContract:function(t){try{return(0,w.b)(t).toLowerCase()}catch(t){}(0,R.MR)(!1,'invalid domain value "verifyingContract"',"domain.verifyingContract",t)},salt:function(t){let e=(0,x.q5)(t,"domain.salt");return(0,R.MR)(32===e.length,'invalid domain value "salt"',"domain.salt",t),(0,x.c$)(e)}};function G(t){{let e=t.match(/^(u?)int(\d+)$/);if(e){let r=""===e[1],n=parseInt(e[2]);(0,R.MR)(n%8==0&&0!==n&&n<=256&&e[2]===String(n),"invalid numeric width","type",t);let i=(0,k.dK)(T,r?n-1:n),s=r?(i+O)*B:C;return function(e){let n=(0,k.Ab)(e,"value");return(0,R.MR)(n>=s&&n<=i,`value out-of-bounds for ${t}`,"value",n),(0,k.up)(r?(0,k.JJ)(n,256):n,32)}}}{let e=t.match(/^bytes(\d+)$/);if(e){let r=parseInt(e[1]);return(0,R.MR)(0!==r&&r<=32&&e[1]===String(r),"invalid bytes width","type",t),function(e){let n=(0,x.q5)(e);(0,R.MR)(n.length===r,`invalid length for ${t}`,"value",e);let i=(0,x.q5)(e),s=i.length%32;return s?(0,x.xW)([i,I.slice(s)]):(0,x.c$)(i)}}}switch(t){case"address":return function(t){return(0,x.nx)((0,w.b)(t),32)};case"bool":return function(t){return t?S:M};case"bytes":return function(t){return(0,E.S)(t)};case"string":return function(t){return(0,N.id)(t)}}return null}function H(t,e){return`${t}(${e.map(({name:t,type:e})=>e+" "+t).join(",")})`}function Q(t){let e=t.match(/^([^\x5b]*)((\x5b\d*\x5d)*)(\x5b(\d*)\x5d)$/);return e?{base:e[1],index:e[2]+e[4],array:{base:e[1],prefix:e[1]+e[2],count:e[5]?parseInt(e[5]):-1}}:{base:t}}class z{primaryType;#P;get types(){return JSON.parse(this.#P)}#N;#I;constructor(t){this.#N=new Map,this.#I=new Map;let e=new Map,r=new Map,n=new Map,i={};for(let s in Object.keys(t).forEach(s=>{i[s]=t[s].map(({name:e,type:r})=>{let{base:n,index:i}=Q(r);return"int"!==n||t.int||(n="int256"),"uint"!==n||t.uint||(n="uint256"),{name:e,type:n+(i||"")}}),e.set(s,new Set),r.set(s,[]),n.set(s,new Set)}),this.#P=JSON.stringify(i),i){let n=new Set;for(let a of i[s]){(0,R.MR)(!n.has(a.name),`duplicate variable name ${JSON.stringify(a.name)} in ${JSON.stringify(s)}`,"types",t),n.add(a.name);let i=Q(a.type).base;(0,R.MR)(i!==s,`circular type reference to ${JSON.stringify(i)}`,"types",t),G(i)||((0,R.MR)(r.has(i),`unknown type ${JSON.stringify(i)}`,"types",t),r.get(i).push(s),e.get(s).add(i))}}let s=Array.from(r.keys()).filter(t=>0===r.get(t).length);for(let[a,o]of((0,R.MR)(0!==s.length,"missing primary type","types",t),(0,R.MR)(1===s.length,`ambiguous primary types or unused types: ${s.map(t=>JSON.stringify(t)).join(", ")}`,"types",t),(0,P.n)(this,{primaryType:s[0]}),!function i(s,a){for(let o of((0,R.MR)(!a.has(s),`circular type reference to ${JSON.stringify(s)}`,"types",t),a.add(s),e.get(s)))if(r.has(o))for(let t of(i(o,a),a))n.get(t).add(o);a.delete(s)}(this.primaryType,new Set),n)){let t=Array.from(o);t.sort(),this.#N.set(a,H(a,i[a])+t.map(t=>H(t,i[t])).join(""))}}getEncoder(t){let e=this.#I.get(t);return e||(e=this.#B(t),this.#I.set(t,e)),e}#B(t){{let e=G(t);if(e)return e}let e=Q(t).array;if(e){let t=e.prefix,r=this.getEncoder(t);return n=>{(0,R.MR)(-1===e.count||e.count===n.length,`array length mismatch; expected length ${e.count}`,"value",n);let i=n.map(r);return this.#N.has(t)&&(i=i.map(E.S)),(0,E.S)((0,x.xW)(i))}}let r=this.types[t];if(r){let e=(0,N.id)(this.#N.get(t));return t=>{let n=r.map(({name:e,type:r})=>{let n=this.getEncoder(r)(t[e]);return this.#N.has(r)?(0,E.S)(n):n});return n.unshift(e),(0,x.xW)(n)}}(0,R.MR)(!1,`unknown type: ${t}`,"type",t)}encodeType(t){let e=this.#N.get(t);return(0,R.MR)(e,`unknown type: ${JSON.stringify(t)}`,"name",t),e}encodeData(t,e){return this.getEncoder(t)(e)}hashStruct(t,e){return(0,E.S)(this.encodeData(t,e))}encode(t){return this.encodeData(this.primaryType,t)}hash(t){return this.hashStruct(this.primaryType,t)}_visit(t,e,r){if(G(t))return r(t,e);let n=Q(t).array;if(n)return(0,R.MR)(-1===n.count||n.count===e.length,`array length mismatch; expected length ${n.count}`,"value",e),e.map(t=>this._visit(n.prefix,t,r));let i=this.types[t];if(i)return i.reduce((t,{name:n,type:i})=>(t[n]=this._visit(i,e[n],r),t),{});(0,R.MR)(!1,`unknown type: ${t}`,"type",t)}visit(t,e){return this._visit(this.primaryType,t,e)}static from(t){return new z(t)}static getPrimaryType(t){return z.from(t).primaryType}static hashStruct(t,e,r){return z.from(e).hashStruct(t,r)}static hashDomain(t){let e=[];for(let r in t){if(null==t[r])continue;let n=U[r];(0,R.MR)(n,`invalid typed-data domain key: ${JSON.stringify(r)}`,"domain",t),e.push({name:r,type:n})}return e.sort((t,e)=>L.indexOf(t.name)-L.indexOf(e.name)),z.hashStruct("EIP712Domain",{EIP712Domain:e},t)}static encode(t,e,r){return(0,x.xW)(["0x1901",z.hashDomain(t),z.from(e).hash(r)])}static hash(t,e,r){return(0,E.S)(z.encode(t,e,r))}static async resolveNames(t,e,r,n){for(let e in t=Object.assign({},t))null==t[e]&&delete t[e];let i={};t.verifyingContract&&!(0,x.Lo)(t.verifyingContract,20)&&(i[t.verifyingContract]="0x");let s=z.from(e);for(let t in s.visit(r,(t,e)=>("address"!==t||(0,x.Lo)(e,20)||(i[e]="0x"),e)),i)i[t]=await n(t);return t.verifyingContract&&i[t.verifyingContract]&&(t.verifyingContract=i[t.verifyingContract]),r=s.visit(r,(t,e)=>"address"===t&&i[e]?i[e]:e),{domain:t,value:r}}static getPayload(t,e,r){z.hashDomain(t);let n={},i=[];
5L.forEach(e=>{let r=t[e];null!=r&&(n[e]=D[e](r),i.push({name:e,type:U[e]}))});let s=z.from(e),a=Object.assign({},e=s.types);return(0,R.MR)(null==a.EIP712Domain,"types must not contain EIP712Domain type","types.EIP712Domain",e),a.EIP712Domain=i,s.encode(r),{types:a,domain:n,primaryType:s.primaryType,message:s.visit(r,(t,e)=>{if(t.match(/^bytes(\d*)/))return(0,x.c$)((0,x.q5)(e));if(t.match(/^u?int/))return(0,k.Ab)(e).toString();switch(t){case"address":return e.toLowerCase();case"bool":return!!e;case"string":return(0,R.MR)("string"==typeof e,"invalid string","value",e),e}(0,R.MR)(!1,"unsupported type","type",t)})}}}var j=r(27233);let V="0x0000000000000000000000000000000000000000000000000000000000000000",J=BigInt(0),K=BigInt(1),Z=BigInt(2),W=BigInt(27),q=BigInt(28),_=BigInt(35),Y=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),X=Y/Z,$=Symbol.for("nodejs.util.inspect.custom"),tt={};function te(t){return(0,x.nx)((0,k.c4)(t),32)}class tr{#C;#O;#T;#S;get r(){return this.#C}set r(t){(0,R.MR)(32===(0,x.pO)(t),"invalid r","value",t),this.#C=(0,x.c$)(t)}get s(){return(0,R.MR)(8>parseInt(this.#O.substring(0,3)),"non-canonical s; use ._s","s",this.#O),this.#O}set s(t){(0,R.MR)(32===(0,x.pO)(t),"invalid s","value",t),this.#O=(0,x.c$)(t)}get _s(){return this.#O}isValid(){return BigInt(this.#O)<=X}get v(){return this.#T}set v(t){let e=(0,k.WZ)(t,"value");(0,R.MR)(27===e||28===e,"invalid v","v",t),this.#T=e}get networkV(){return this.#S}get legacyChainId(){let t=this.networkV;return null==t?null:tr.getChainId(t)}get yParity(){return+(27!==this.v)}get yParityAndS(){let t=(0,x.q5)(this.s);return this.yParity&&(t[0]|=128),(0,x.c$)(t)}get compactSerialized(){return(0,x.xW)([this.r,this.yParityAndS])}get serialized(){return(0,x.xW)([this.r,this.s,this.yParity?"0x1c":"0x1b"])}constructor(t,e,r,n){(0,R.gk)(t,tt,"Signature"),this.#C=e,this.#O=r,this.#T=n,this.#S=null}getCanonical(){if(this.isValid())return this;let t=Y-BigInt(this._s),e=55-this.v,r=new tr(tt,this.r,te(t),e);return this.networkV&&(r.#S=this.networkV),r}clone(){let t=new tr(tt,this.r,this._s,this.v);return this.networkV&&(t.#S=this.networkV),t}toJSON(){let t=this.networkV;return{_type:"signature",networkV:null!=t?t.toString():null,r:this.r,s:this._s,v:this.v}}[$](){return this.toString()}toString(){return this.isValid()?`Signature { r: ${this.r}, s: ${this._s}, v: ${this.v} }`:`Signature { r: ${this.r}, s: ${this._s}, v: ${this.v}, valid: false }`}static getChainId(t){let e=(0,k.Ab)(t,"v");return e==W||e==q?J:((0,R.MR)(e>=_,"invalid EIP-155 v","v",t),(e-_)/Z)}static getChainIdV(t,e){return(0,k.Ab)(t)*Z+BigInt(35+e-27)}static getNormalizedV(t){let e=(0,k.Ab)(t);return e===J||e===W?27:e===K||e===q?28:((0,R.MR)(e>=_,"invalid v","v",t),e&K?27:28)}static from(t){function e(e,r){(0,R.MR)(e,r,"signature",t)}if(null==t)return new tr(tt,V,V,27);if("string"==typeof t){let r=(0,x.q5)(t,"signature");if(64===r.length){let t=(0,x.c$)(r.slice(0,32)),e=r.slice(32,64),n=128&e[0]?28:27;return e[0]&=127,new tr(tt,t,(0,x.c$)(e),n)}if(65===r.length){let t=(0,x.c$)(r.slice(0,32)),e=(0,x.c$)(r.slice(32,64)),n=tr.getNormalizedV(r[64]);return new tr(tt,t,e,n)}e(!1,"invalid raw signature length")}if(t instanceof tr)return t.clone();let r=t.r;e(null!=r,"missing r");let n=te(r),i=function(t,r){if(null!=t)return te(t);if(null!=r){e((0,x.Lo)(r,32),"invalid yParityAndS");let t=(0,x.q5)(r);return t[0]&=127,(0,x.c$)(t)}e(!1,"missing s")}(t.s,t.yParityAndS),{networkV:s,v:a}=function(t,r,n){if(null!=t){let e=(0,k.Ab)(t);return{networkV:e>=_?e:void 0,v:tr.getNormalizedV(e)}}if(null!=r)return e((0,x.Lo)(r,32),"invalid yParityAndS"),{v:128&(0,x.q5)(r)[0]?28:27};if(null!=n){switch((0,k.WZ)(n,"sig.yParity")){case 0:return{v:27};case 1:return{v:28}}e(!1,"invalid yParity")}e(!1,"missing v")}(t.v,t.yParityAndS,t.yParity),o=new tr(tt,n,i,a);return s&&(o.#S=s),e(null==t.yParity||(0,k.WZ)(t.yParity,"sig.yParity")===o.yParity,"yParity mismatch"),e(null==t.yParityAndS||t.yParityAndS===o.yParityAndS,"yParityAndS mismatch"),o}}function tn(t){return{address:(0,w.b)(t.address),nonce:(0,k.Ab)(null!=t.nonce?t.nonce:0),chainId:(0,k.Ab)(null!=t.chainId?t.chainId:0),signature:tr.from(t.signature)}}var ti=r(74387);function ts(t){return async function(e,r){let n;(0,R.vA)(null==r||!r.cancelled,"request cancelled before sending","CANCELLED");let i=e.url.split(":")[0].toLowerCase();(0,R.vA)("http"===i||"https"===i,`unsupported protocol ${i}`,"UNSUPPORTED_OPERATION",{info:{protocol:i},operation:"request"}),(0,R.vA)("https"===i||!e.credentials||e.allowInsecureAuthentication,"insecure authorized connections unsupported","UNSUPPORTED_OPERATION",{operation:"request"});let s=null,a=new AbortController,o=setTimeout(()=>{s=(0,R.xz)("request timeout","TIMEOUT"),a.abort()}
5,e.timeout);r&&r.addListener(()=>{s=(0,R.xz)("request cancelled","CANCELLED"),a.abort()});let l=Object.assign({},t,{method:e.method,headers:new Headers(Array.from(e)),body:e.body||void 0,signal:a.signal});try{n=await fetch(e.url,l)}catch(t){if(clearTimeout(o),s)throw s;throw t}clearTimeout(o);let u={};n.headers.forEach((t,e)=>{u[e.toLowerCase()]=t});let c=await n.arrayBuffer(),h=null==c?null:new Uint8Array(c);return{statusCode:n.status,statusMessage:n.statusText,headers:u,body:h}}}ts({});let ta=ts(),to=RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),tl=RegExp("^ipfs://(ipfs/)?(.*)$","i"),tu=!1;async function tc(t,e){try{var r;let e=t.match(to);if(!e)throw Error("invalid data");return new ty(200,"OK",{"content-type":e[1]||"text/plain"},e[2]?function(t){let e=new Uint8Array((t=atob(t)).length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return(0,x.q5)(e)}(e[3]):(r=e[3],(0,ti.YW)(r.replace(/%([0-9a-f][0-9a-f])/gi,(t,e)=>String.fromCharCode(parseInt(e,16))))))}catch(e){return new ty(599,"BAD REQUEST (invalid data: URI)",{},null,new tm(t))}}function th(t){return async function(e,r){try{let r=e.match(tl);if(!r)throw Error("invalid link");return new tm(`${t}${r[2]}`)}catch(t){return new ty(599,"BAD REQUEST (invalid IPFS URI)",{},null,new tm(e))}}}let tf={data:tc,ipfs:th("https://gateway.ipfs.io/ipfs/")},td=new WeakMap;class tp{#M;#U;constructor(t){this.#M=[],this.#U=!1,td.set(t,()=>{if(!this.#U){for(let t of(this.#U=!0,this.#M))setTimeout(()=>{t()},0);this.#M=[]}})}addListener(t){(0,R.vA)(!this.#U,"singal already cancelled","UNSUPPORTED_OPERATION",{operation:"fetchCancelSignal.addCancelListener"}),this.#M.push(t)}get cancelled(){return this.#U}checkSignal(){(0,R.vA)(!this.cancelled,"cancelled","CANCELLED",{})}}function tg(t){if(null==t)throw Error("missing signal; should not happen");return t.checkSignal(),t}class tm{#L;#F;#D;#G;#H;#Q;#z;#j;#V;#J;#K;#Z;#W;#q;#_;get url(){return this.#Q}set url(t){this.#Q=String(t)}get body(){return null==this.#z?null:new Uint8Array(this.#z)}set body(t){if(null==t)this.#z=void 0,this.#j=void 0;else if("string"==typeof t)this.#z=(0,ti.YW)(t),this.#j="text/plain";else if(t instanceof Uint8Array)this.#z=t,this.#j="application/octet-stream";else if("object"==typeof t)this.#z=(0,ti.YW)(JSON.stringify(t)),this.#j="application/json";else throw Error("invalid body")}hasBody(){return null!=this.#z}get method(){return this.#G?this.#G:this.hasBody()?"POST":"GET"}set method(t){null==t&&(t=""),this.#G=String(t).toUpperCase()}get headers(){let t=Object.assign({},this.#D);return this.#V&&(t.authorization=`Basic ${function(t){let e=(0,x.q5)(t),r="";for(let t=0;t<e.length;t++)r+=String.fromCharCode(e[t]);return btoa(r)}((0,ti.YW)(this.#V))}`),this.allowGzip&&(t["accept-encoding"]="gzip"),null==t["content-type"]&&this.#j&&(t["content-type"]=this.#j),this.body&&(t["content-length"]=String(this.body.length)),t}getHeader(t){return this.headers[t.toLowerCase()]}setHeader(t,e){this.#D[String(t).toLowerCase()]=String(e)}clearHeaders(){this.#D={}}[Symbol.iterator](){let t=this.headers,e=Object.keys(t),r=0;return{next:()=>{if(r<e.length){let n=e[r++];return{value:[n,t[n]],done:!1}}return{value:void 0,done:!0}}}}get credentials(){return this.#V||null}setCredentials(t,e){(0,R.MR)(!t.match(/:/),"invalid basic authentication username","username","[REDACTED]"),this.#V=`${t}:${e}`}get allowGzip(){return this.#F}set allowGzip(t){this.#F=!!t}get allowInsecureAuthentication(){return!!this.#L}set allowInsecureAuthentication(t){this.#L=!!t}get timeout(){return this.#H}set timeout(t){(0,R.MR)(t>=0,"timeout must be non-zero","timeout",t),this.#H=t}get preflightFunc(){return this.#J||null}set preflightFunc(t){this.#J=t}get processFunc(){return this.#K||null}set processFunc(t){this.#K=t}get retryFunc(){return this.#Z||null}set retryFunc(t){this.#Z=t}get getUrlFunc(){return this.#_||ta}set getUrlFunc(t){this.#_=t}constructor(t){this.#Q=String(t),this.#L=!1,this.#F=!0,this.#D={},this.#G="",this.#H=3e5,this.#q={slotInterval:250,maxAttempts:12},this.#_=null}toString(){return`<FetchRequest method=${JSON.stringify(this.method)} url=${JSON.stringify(this.url)} headers=${JSON.stringify(this.headers)} body=${this.#z?(0,x.c$)(this.#z):"null"}>`}setThrottleParams(t){null!=t.slotInterval&&(this.#q.slotInterval=t.slotInterval),null!=t.maxAttempts&&(this.#q.maxAttempts=t.maxAttempts)}async #Y(t,e,r,n,i){var s;if(t>=this.#q.maxAttempts)return i.makeServerError("exceeded maximum retry limit");(0,R.vA)(tA()<=e,"timeout","TIMEOUT",{operation:"request.send",reason:"timeout",request:n}),r>0&&await (s=r,new Promise(t=>setTimeout(t,s)));let a=this.clone(),o=(a.url.split(":")[0]||"").toLowerCase();if(o in tf){let t=await tf[o](a.url,tg(n.#W));if(t instanceof ty){let e=t;if(this.processFunc){tg(n.#W);try{e=await this.processFunc(a,e)}catch(t){(null==t.throttle||"number"!=typeof t.stall)&&e.makeServerError("error in post-processing function",t).assertOk()}}return e}a=t}this.preflightFunc&&(a=await this.preflightFunc(a));let l=await this.getUrlFunc(a,tg(n.#W)),u=new ty(l.statusCode,l.statusMessage,l.headers,l.body,n);if(301===u.statusCode||302===u.statusCode){try{let r=u.headers.location||"";return a.redirect(r).#Y(t+1,e,0,n,u)}catch(t){}return u}if(429===u.statusCode&&(null==this.retryFunc||await this.retryFunc(a,u,t))){let r=u.headers["retry-after"],i=this.#q.slotInterval*Math.trunc(Math.random()*Math.pow(2,t));return"string"==typeof r&&r.match(/^[1-9][0-9]*$/)&&(i=parseInt(r)),a.clone().#Y(t+1,e,i,n,u)}if(this.processFunc){tg(n.#W);try{u=await this.processFunc(a,u)}catch(i){(null==i.throttle||"number"!=typeof i.stall)&&u.makeServerError("error in post-processing function",i).assertOk();let r=this.#q.slotInterval*Math.trunc(Math.random()*Math.pow(2,t));return i.stall>=0&&(r=i.stall),a.clone().#Y(t+1,e,r,n,u)}}return u}send(){return(0,R.vA)(null==this.#W,"request already sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.send"}),this.#W=new tp(this),this.#Y(0,tA()+this.timeout,0,this,new ty(0,"",{},null,this))}cancel(){(0,R.vA)(null!=this.#W,"request has not been sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.cancel"});let t=td.get(this);if(!t)throw Error("missing signal; should not happen");t()}redirect(t){let e=this.url.split(":")[0].toLowerCase(),r=t.split(":")[0].toLowerCase();(0,R.vA)("GET"===this.method&&("https"!==e||"http"!==r)&&t.match(/^https?:/),"unsupported redirect","UNSUPPORTED_OPERATION",{operation:`redirect(${this.method} ${JSON.stringify(this.url)} => ${JSON.stringify(t)})`});let n=new tm(t);return n.method="GET",n.allowGzip=this.allowGzip,n.timeout=this.timeout,n.#D=Object.assign({}
5,this.#D),this.#z&&(n.#z=new Uint8Array(this.#z)),n.#j=this.#j,n}clone(){let t=new tm(this.url);return t.#G=this.#G,this.#z&&(t.#z=this.#z),t.#j=this.#j,t.#D=Object.assign({},this.#D),t.#V=this.#V,this.allowGzip&&(t.allowGzip=!0),t.timeout=this.timeout,this.allowInsecureAuthentication&&(t.allowInsecureAuthentication=!0),t.#J=this.#J,t.#K=this.#K,t.#Z=this.#Z,t.#q=Object.assign({},this.#q),t.#_=this.#_,t}static lockConfig(){tu=!0}static getGateway(t){return tf[t.toLowerCase()]||null}static registerGateway(t,e){if("http"===(t=t.toLowerCase())||"https"===t)throw Error(`cannot intercept ${t}; use registerGetUrl`);if(tu)throw Error("gateways locked");tf[t]=e}static registerGetUrl(t){if(tu)throw Error("gateways locked");ta=t}static createGetUrlFunc(t){return ts(t)}static createDataGateway(){return tc}static createIpfsGatewayFunc(t){return th(t)}}class ty{#X;#$;#D;#z;#tt;#te;toString(){return`<FetchResponse status=${this.statusCode} body=${this.#z?(0,x.c$)(this.#z):"null"}>`}get statusCode(){return this.#X}get statusMessage(){return this.#$}get headers(){return Object.assign({},this.#D)}get body(){return null==this.#z?null:new Uint8Array(this.#z)}get bodyText(){try{return null==this.#z?"":(0,ti._v)(this.#z)}catch(t){(0,R.vA)(!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(t){(0,R.vA)(!1,"response body is not valid JSON","UNSUPPORTED_OPERATION",{operation:"bodyJson",info:{response:this}})}}[Symbol.iterator](){let t=this.headers,e=Object.keys(t),r=0;return{next:()=>{if(r<e.length){let n=e[r++];return{value:[n,t[n]],done:!1}}return{value:void 0,done:!0}}}}constructor(t,e,r,n,i){this.#X=t,this.#$=e,this.#D=Object.keys(r).reduce((t,e)=>(t[e.toLowerCase()]=String(r[e]),t),{}),this.#z=null==n?null:new Uint8Array(n),this.#tt=i||null,this.#te={message:""}}makeServerError(t,e){let r;t?r=`CLIENT ESCALATED SERVER ERROR (${this.statusCode} ${this.statusMessage}; ${t})`:(t=`${this.statusCode} ${this.statusMessage}`,r=`CLIENT ESCALATED SERVER ERROR (${t})`);let n=new ty(599,r,this.headers,this.body,this.#tt||void 0);return n.#te={message:t,error:e},n}throwThrottleError(t,e){null==e?e=-1:(0,R.MR)(Number.isInteger(e)&&e>=0,"invalid stall timeout","stall",e);let r=Error(t||"throttling requests");throw(0,P.n)(r,{stall:e,throttle:!0}),r}getHeader(t){return this.headers[t.toLowerCase()]}hasBody(){return null!=this.#z}get request(){return this.#tt}ok(){return""===this.#te.message&&this.statusCode>=200&&this.statusCode<300}assertOk(){if(this.ok())return;let{message:t,error:e}=this.#te;""===t&&(t=`server response ${this.statusCode} ${this.statusMessage}`);let r=null;this.request&&(r=this.request.url);let n=null;try{this.#z&&(n=(0,ti._v)(this.#z))}catch(t){}(0,R.vA)(!1,t,"SERVER_ERROR",{request:this.request||"unknown request",response:this,error:e,info:{requestUrl:r,responseBody:n,responseStatus:`${this.statusCode} ${this.statusMessage}`}})}}function tA(){return new Date().getTime()}let tb="0x0000000000000000000000000000000000000000";var tw=r(78508);let tv=new Map([[8217,"apostrophe"],[8260,"fraction slash"],[12539,"middle dot"]]);function tE(t){var e;let r;return e=function(t){let e=0;function r(){return t[e++]<<8|t[e++]}let n=r(),i=1,s=[0,1];for(let t=1;t<n;t++)s.push(i+=r());let a=r(),o=e;e+=a;let l=0,u=0;function c(){return 0==l&&(u=u<<8|t[e++],l=8),u>>--l&1}let h=0x80000000-1,f=0;for(let t=0;t<31;t++)f=f<<1|c();let d=[],p=0,g=0x80000000;for(;;){let t=Math.floor(((f-p+1)*i-1)/g),e=0,r=n;for(;r-e>1;){let n=e+r>>>1;t<s[n]?r=n:e=n}if(0==e)break;d.push(e);let a=p+Math.floor(g*s[e]/i),o=p+Math.floor(g*s[e+1]/i)-1;for(;((a^o)&0x40000000)==0;)f=f<<1&h|c(),a=a<<1&h,o=o<<1&h|1;for(;a&~o&0x20000000;)f=0x40000000&f|f<<1&h>>>1|c(),a=a<<1^0x40000000,o=(0x40000000^o)<<1|0x40000001;p=a,g=1+o-a}let m=n-4;return d.map(e=>{switch(e-m){case 3:return m+65792+(t[o++]<<16|t[o++]<<8|t[o++]);case 2:return m+256+(t[o++]<<8|t[o++]);case 1:return m+t[o++];default:return e-1}})}(function(t){let e=[];[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
5+/"].forEach((t,r)=>e[t.charCodeAt(0)]=r);let r=t.length,n=new Uint8Array(6*r>>3);for(let i=0,s=0,a=0,o=0;i<r;i++)o=o<<6|e[t.charCodeAt(i)],(a+=6)>=8&&(n[s++]=o>>(a-=8));return n}(t)),r=0,()=>e[r++]}function tx(t,e=0){let r=[];for(;;){let n=t(),i=t();if(!i)break;e+=n;for(let t=0;t<i;t++)r.push(e+t);e+=i+1}return r}function tk(t){return tP(()=>{let e=tx(t);if(e.length)return e})}function tR(t){let e=[];for(;;){let r=t();if(0==r)break;e.push(function(t,e){let r=1+e(),n=e(),i=tP(e);return tN(i.length,1+t,e).flatMap((t,e)=>{let[s,...a]=t;return Array(i[e]).fill().map((t,e)=>{let i=e*n;return[s+e*r,a.map(t=>t+i)]})})}(r,t))}for(;;){var r,n;let i=t()-1;if(i<0)break;e.push((r=i,tN(1+(n=t)(),1+r,n).map(t=>[t[0],t.slice(1)])))}return e.flat()}function tP(t){let e=[];for(;;){let r=t(e.length);if(!r)break;e.push(r)}return e}function tN(t,e,r){let n=Array(t).fill().map(()=>[]);for(let i=0;i<e;i++)(function(t,e){let r=Array(t);for(let i=0,s=0;i<t;i++){var n;r[i]=s+=1&(n=e())?~n>>1:n>>1}return r})(t,r).forEach((t,e)=>n[e].push(t));return n}function tI(t){return`{${t.toString(16).toUpperCase().padStart(2,"0")}}`}function tB(t){let e=t.length;if(e<4096)return String.fromCodePoint(...t);let r=[];for(let n=0;n<e;)r.push(String.fromCodePoint(...t.slice(n,n+=4096)));return r.join("")}function tC(t,e){let r=t.length,n=r-e.length;for(let i=0;0==n&&i<r;i++)n=t[i]-e[i];return n}let tO=55204;function tT(t){return t>>24&255}function tS(t){return 0xffffff&t}function tM(t){return t>=44032&&t<tO}function tU(t){n||function(){let t=tE
vendor: 7,457 bytes, line 5
5("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");f
5or(let[e,r]of(n=new Map(tk(t).flatMap((t,e)=>t.map(t=>[t,e+1<<24]))),i=new Set(tx(t)),s=new Map,a=new Map,tR(t))){if(!i.has(e)&&2==r.length){let[t,n]=r,i=a.get(t);i||(i=new Map,a.set(t,i)),i.set(n,e)}s.set(e,r.reverse())}}();let e=[],r=[],o=!1;function l(t){let r=n.get(t);r&&(o=!0,t|=r),e.push(t)}for(let n of t)for(;;){if(n<128)e.push(n);else if(tM(n)){let t=n-44032,e=t/588|0,r=t%588/28|0,i=t%28;l(4352+e),l(4449+r),i>0&&l(4519+i)}else{let t=s.get(n);t?r.push(...t):l(n)}if(!r.length)break;n=r.pop()}if(o&&e.length>1){let t=tT(e[0]);for(let r=1;r<e.length;r++){let n=tT(e[r]);if(0==n||t<=n){t=n;continue}let i=r-1;for(;;){let r=e[i+1];if(e[i+1]=e[i],e[i]=r,!i||(t=tT(e[--i]))<=n)break}t=tT(e[r])}}return e}function tL(t){return function(t){let e=[],r=[],n=-1,i=0;for(let s of t){let t=tT(s),o=tS(s);if(-1==n)0==t?n=o:e.push(o);else if(i>0&&i>=t)0==t?(e.push(n,...r),r.length=0,n=o):r.push(o),i=t;else{let s=function(t,e){if(t>=4352&&t<4371&&e>=4449&&e<4470)return 44032+(t-4352)*588+(e-4449)*28;{if(tM(t)&&e>4519&&e<4547&&(t-44032)%28==0)return t+(e-4519);let r=a.get(t);return r&&(r=r.get(e))?r:-1}}(n,o);s>=0?n=s:0==i&&0==t?(e.push(n),n=o):(r.push(o),i=t)}}return n>=0&&e.push(n,...r),e}(tU(t))}let tF=t=>Array.from(t);function tD(t,e){return t.P.has(e)||t.Q.has(e)}class tG extends Array{get is_emoji(){return!0}}function tH(){let t,e;if(o)return;let r=tE("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"),n=()=>tx(r),i=()=>new Set(n()),s=(t,e)=>
5e.forEach(e=>t.add(e));o=new Map(tR(r)),l=i(),u=n(),c=new Set(n().map(t=>u[t])),u=new Set(u),h=i(),i();let a=tk(r),A=r(),b=()=>{let t=new Set;return n().forEach(e=>s(t,a[e])),s(t,n()),t};f=tP(t=>{let e=tP(r).map(t=>t+96);if(e.length){let n=t>=A;e[0]-=32,e=tB(e),n&&(e=`Restricted[${e}]`);let i=b();return{N:e,P:i,Q:b(),M:!r(),R:n}}}),d=i(),p=new Map;let w=n().concat(tF(d)).sort((t,e)=>t-e);for(let{V:t,M:e}of(w.forEach((t,e)=>{let n=r(),i=w[e]=n?w[e-n]:{V:[],M:new Map};i.V.push(t),d.has(t)||p.set(t,i)}),new Set(p.values()))){let r=[];for(let e of t){let t=f.filter(t=>tD(t,e)),n=r.find(({G:e})=>t.some(t=>e.has(t)));n||(n={G:new Set,V:[]},r.push(n)),n.V.push(e),s(n.G,t)}let n=r.flatMap(t=>tF(t.G));for(let{G:t,V:i}of r){let r=new Set(n.filter(e=>!t.has(e)));for(let t of i)e.set(t,r)}}g=new Set;let v=new Set,E=t=>g.has(t)?v.add(t):g.add(t);for(let t of f){for(let e of t.P)E(e);for(let e of t.Q)E(e)}for(let t of g)p.has(t)||v.has(t)||p.set(t,1);for(let n of(s(g,tU(g).map(tS)),m=(t=[],e=tx(r),function e({S:r,B:n},i,s){if(!(4&r)||s!==i[i.length-1])for(let a of(2&r&&(s=i[i.length-1]),1&r&&t.push(i),n)
5)for(let t of a.Q)e(a,[...i,t],s)}(function t(n){return{S:r(),B:tP(()=>{let n=tx(r).map(t=>e[t]);if(n.length)return t(n)}),Q:n}}([]),[]),t).map(t=>tG.from(t)).sort(tC),y=new Map,m)){let t=[y];for(let e of n){let r=t.map(t=>{let r=t.get(e);return r||(r=new Map,t.set(e,r)),r});65039===e?t.push(...r):t=r}for(let e of t)e.V=n}}function tQ(t){return(tV(t)?"":`${tz(tj([t]))} `)+tI(t)}function tz(t){return`"${t}"\u200E`}function tj(t,e=1/0,r=tI){var n;let i=[];n=t[0],tH(),u.has(n)&&i.push("◌"),t.length>e&&(e>>=1,t=[...t.slice(0,e),8230,...t.slice(-e)]);let s=0,a=t.length;for(let e=0;e<a;e++){let n=t[e];tV(n)&&(i.push(tB(t.slice(s,e))),i.push(r(n)),s=e+1)}return i.push(tB(t.slice(s,a))),i.join("")}function tV(t){return tH(),h.has(t)}function tJ(t){return Error(`disallowed character: ${tQ(t)}`)}function tK(t,e){let r=tQ(e),n=f.find(t=>t.P.has(e));return n&&(r=`${n.N} ${r}`),Error(`illegal mixture: ${t.N} + ${r}`)}function tZ(t){return Error(`illegal placement: ${t}`)}function tW(t){return t.filter(t=>65039!=t)}let tq=new Uint8Array(32);function t_(t){return(0,R.MR)(0!==t.length,"invalid ENS name; empty component","comp",t),t}function tY(t){let e=(0,ti.YW)(function(t){try{var e;if(0===t.length)throw Error("empty label");return(e=function(t,e,r){if(!t)return[];tH();let n=0;return t.split(".").map(t=>{let i=function(t){let e=[];for(let r=0,n=t.length;r<n;){let n=t.codePointAt(r);r+=n<65536?1:2,e.push(n)}return e}(t),s={input:i,offset:n};n+=i.length+1;try{let t,n=s.tokens=function(t,e,r){let n=[],i=[];for(t=t.slice().reverse();t.length;){let s=function(t,e){let r,n=y,i=t.length;for(;i&&(n=n.get(t[--i]));){let{V:e}=n;e&&(r=e,t.length=i)}return r}(t);
5if(s)i.length&&(n.push(e(i)),i=[]),n.push(r(s));else{let e=t.pop();if(g.has(e))i.push(e);else{let t=o.get(e);if(t)i.push(...t);else if(!l.has(e))throw tJ(e)}}}return i.length&&n.push(e(i)),n}(i,e,r),a=n.length;if(!a)throw Error("empty label");let h=s.output=n.flat();for(let t=h.lastIndexOf(95);t>0;)if(95!==h[--t])throw Error("underscore allowed only at start");if(!(s.emoji=a>1||n[0].is_emoji)&&h.every(t=>t<128)){if(h.length>=4&&45==h[2]&&45==h[3])throw Error(`invalid label extension: "${tB(h.slice(0,4))}"`);t="ASCII"}else{let e=n.flatMap(t=>t.is_emoji?[]:t);if(e.length){if(u.has(h[0]))throw tZ("leading combining mark");for(let t=1;t<a;t++){let e=n[t];if(!e.is_emoji&&u.has(e[0]))throw tZ(`emoji + combining mark: "${tB(n[t-1])} + ${tj([e[0]])}"`)}!function(t){let e=t[0],r=tv.get(e);if(r)throw tZ(`leading ${r}`);let n=t.length,i=-1;for(let s=1;s<n;s++){e=t[s];let n=tv.get(e);if(n){if(i==s)throw tZ(`${r} + ${n}`);i=s+1,r=n}}if(i==n)throw tZ(`trailing ${r}`)}(h);let r=tF(new Set(e)),[i]=function(t){let e=f;for(let r of t){let t=e.filter(t=>tD(t,r));if(!t.length)if(f.some(t=>tD(t,r)))throw tK(e[0],r);else throw tJ(r);if(e=t,1==t.length)break}return e}(r);(function(t,e){for(let r of e)if(!tD(t,r))throw tK(t,r);if(t.M){let t=tU(e).map(tS);for(let e=1,r=t.length;e<r;e++)if(c.has(t[e])){let n=e+1;for(let i;n<r&&c.has(i=t[n]);n++)for(let r=e;r<n;r++)if(t[r]==i)throw Error(`duplicate non-spacing marks: ${tQ(i)}`);if(n-e>4)throw Error(`excessive non-spacing marks: ${tz(tj(t.slice(e-1,n)))} (${n-e}/4)`);e=n}}})(i,e),function(t,e){let r,n=[];for(let t of e){let e=p.get(t);if(1===e)return;if(e){let n=e.M.get(t);if(!(r=r?r.filter(t=>n.has(t)):tF(n)).length)return}else n.push(t)}if(r){for(let e of r)if(n.every(t=>tD(e,t)))throw Error(`whole-script confusable: ${t.N}/${e.N}`)}}(i,r),t=i.N}else t="Emoji"}s.type=t}catch(t){s.error=t}return s})}(t,tL,tW)).map(({input:t,error:r,output:n})=>{if(r){let n=r.message;throw Error(1==e.length?n:`Invalid label ${tz(tj(t,63))}: ${n}`)}return tB(n)}).join(".")}catch(e){(0,R.MR)(!1,`invalid ENS name (${e.message})`,"name",t)}}(t)),r=[];if(0===t.length)return r;let n=0;for(let t=0;t<e.length;t++)46===e[t]&&(r.push(t_(e.slice(n,t))),n=t+1);return(0,R.MR)(n<e.length,"invalid ENS name; empty component","name",t),r.push(t_(e.slice(n))),r}function tX(t){(0,R.MR)("string"==typeof t,"invalid ENS name; not a string","name",t),(0,R.MR)(t.length,"invalid ENS name (empty label)","name",t);let e=tq,r=tY(t);for(;r.length;)e=(0,E.S)((0,x.xW)([e,(0,E.S)(r.pop())]));return(0,x.c$)(e)}tq.fill(0);var t$=r(25801),t0=r(8573);class t1 extends t0.Vw{constructor(t,e,r,n){super(),this.blockLen=t,this.outputLen=e,this.padOffset=r,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=(0,t0.O8)(this.buffer)}update(t){(0,t$.t2)(this);let{view:e,buffer:r,blockLen:n}=this,i=(t=(0,t0.ZJ)(t)).length;for(let s=0;s<i;){let a=Math.min(n-this.pos,i-s);if(a===n){let e=(0,t0.O8)(t);for(;n<=i-s;s+=n)this.process(e,s);continue}r.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===n&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){(0,t$.t2)(this),(0,t$.CG)(t,this),this.finished=!0;let{buffer:e,view:r,blockLen:n,isLE:i}=this,{pos:s}=this;e[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>n-s&&(this.process(r,0),s=0);for(let t=s;t<n;t++)e[t]=0;!function(t,e,r,n){if("function"==typeof t.setBigUint64)return t.setBigUint64(e,r,n);let i=BigInt(32),s=BigInt(0xffffffff),a=Number(r>>i&s),o=Number(r&s),l=4*!!n,u=4*!n;t.setUint32(e+l,a,n),t.setUint32(e+u,o,n)}(r,n-8,BigInt(8*this.length),i),this.process(r,0);let a=(0,t0.O8)(t),o=this.outputLen;if(o%4)throw Error("_sha2: outputLen should be aligned to 32bit");let l=o/4,u=this.get();if(l>u.length)throw Error("_sha2: outputLen bigger than state");for(let t=0;t<l;t++)a.setUint32(4*t,u[t],i)}digest(){let{buffer:t,outputLen:e}=this;this.digestInto(t);let r=t.slice(0,e);return this.destroy(),r}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:e,buffer:r,length:n,finished:i,destroyed:s,pos:a}=this;return t.length=n,t.pos=a,t.finished=i,t.destroyed=s,n%e&&t.buffer.set(r),t}}let t2=(t,e,r)=>t&e^~t&r,t4=(t,e,r)=>t&e^t&r^e&r,t8=new Uint32Array([0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5,0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5,0xd807aa98,0x12835b01,0x243185be,0x550c7dc3,0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174,0xe49b69c1,0xefbe4786,0xfc19dc6,0x240ca1cc,0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da,0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7,0xc6e00bf3,0xd5a79147,0x6ca6351,0x14292967,0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13,0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85,0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc
576c51a3,0xd192e819,0xd6990624,0xf40e3585,0x106aa070,0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5,0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3,0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208,0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2]),t3=new Uint32Array([0x6a09e667,0xbb67ae85,0x3c6ef372,0xa54ff53a,0x510e527f,0x9b05688c,0x1f83d9ab,0x5be0cd19]),t5=new Uint32Array(64);class t6 extends t1{constructor(){super(64,32,8,!1),this.A=0|t3[0],this.B=0|t3[1],this.C=0|t3[2],this.D=0|t3[3],this.E=0|t3[4],this.F=0|t3[5],this.G=0|t3[6],this.H=0|t3[7]}get(){let{A:t,B:e,C:r,D:n,E:i,F:s,G:a,H:o}=this;return[t,e,r,n,i,s,a,o]}set(t,e,r,n,i,s,a,o){this.A=0|t,this.B=0|e,this.C=0|r,this.D=0|n,this.E=0|i,this.F=0|s,this.G=0|a,this.H=0|o}process(t,e){for(let r=0;r<16;r++,e+=4)t5[r]=t.getUint32(e,!1);for(let t=16;t<64;t++){let e=t5[t-15],r=t5[t-2],n=(0,t0.Ow)(e,7)^(0,t0.Ow)(e,18)^e>>>3,i=(0,t0.Ow)(r,17)^(0,t0.Ow)(r,19)^r>>>10;t5[t]=i+t5[t-7]+n+t5[t-16]|0}let{A:r,B:n,C:i,D:s,E:a,F:o,G:l,H:u}=this;for(let t=0;t<64;t++){let e=u+((0,t0.Ow)(a,6)^(0,t0.Ow)(a,11)^(0,t0.Ow)(a,25))+t2(a,o,l)+t8[t]+t5[t]|0,c=((0,t0.Ow)(r,2)^(0,t0.Ow)(r,13)^(0,t0.Ow)(r,22))+t4(r,n,i)|0;
5u=l,l=o,o=a,a=s+e|0,s=i,i=n,n=r,r=e+c|0}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,o=o+this.F|0,l=l+this.G|0,u=u+this.H|0,this.set(r,n,i,s,a,o,l,u)}roundClean(){t5.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}let t9=(0,t0.ld)(()=>new t6);var t7=r(61340);let[et,ee]=t7.Ay.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","0xf40e3585
55771202a","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(t=>BigInt(t))),er=new Uint32Array(80),en=new Uint32Array(80);class ei extends t1{constructor(){super(128,64,16,!1),this.Ah=0x6a09e667,this.Al=-0xc4336f8,this.Bh=-0x4498517b,this.Bl=-0x7b3558c5,this.Ch=0x3c6ef372,this.Cl=-0x16b07d5,this.Dh=-0x5ab00ac6,this.Dl=0x5f1d36f1,this.Eh=0x510e527f,this.El=-0x52197d2f,this.Fh=-0x64fa9774,this.Fl=0x2b3e6c1f,this.Gh=0x1f83d9ab,this.Gl=-0x4be4295,this.Hh=0x5be0cd19,this.Hl=0x137e2179}get(){let{Ah:t,Al:e,Bh:r,Bl:n,Ch:i,Cl:s,Dh:a,Dl:o,Eh:l,El:u,Fh:c,Fl:h,Gh:f,Gl:d,Hh:p,Hl:g}=this;return[t,e,r,n,i,s,a,o,l,u,c,h,f,d,p,g]}set(t,e,r,n,i,s,a,o,l,u,c,h,f,d,p,g){this.Ah=0|t,this.Al=0|e,this.Bh=0|r,this.Bl=0|n,this.Ch=0|i,this.Cl=0|s,this.Dh=0|a,this.Dl=0|o,this.Eh=0|l,this.El=0|u,this.Fh=0|c,this.Fl=0|h,this.Gh=0|f,this.Gl=0|d,this.Hh=0|p,this.Hl=0|g}process(t,e){for(let r=0;r<16;r++,e+=4)er[r]=t.getUint32(e),en[r]=t.getUint32(e+=4);for(let t=16;t<80;t++){let e=0|er[t-15],r=0|en[t-15],n=t7.Ay.rotrSH(e,r,1)^t7.Ay.rotrSH(e,r,8)^t7.Ay.shrSH(e,r,7),i=t7.Ay.rotrSL(e,r,1)^t7.Ay.rotrSL(e,r,8)^t7.Ay.shrSL(e,r,7),s=0|er[t-2],a=0|en[t-2],o=t7.Ay.rotrSH(s,a,19)^t7.Ay.rotrBH(s,a,61)^t7.Ay.shrSH(s,a,6),l=t7.Ay.rotrSL(s,a,19)^t7.Ay.rotrBL(s,a,61)^t7.Ay.shrSL(s,a,6),u=t7.Ay.add4L(i,l,en[t-7],en[t-16]),c=t7.Ay.add4H(u,n,o,er[t-7],er[t-16]);er[t]=0|c,en[t]=0|u}let{Ah:r,Al:n,Bh:i,Bl:s,Ch:a,Cl:o,Dh:l,Dl:u,Eh:c,El:h,Fh:f,Fl:d,Gh:p,Gl:g,Hh:m,Hl:y}=this;for(let t=0;t<80;t++){let e=t7.Ay.rotrSH(c,h,14)^t7.Ay.rotrSH(c,h,18)^t7.Ay.rotrBH(c,h,41),A=t7.Ay.rotrSL(c,h,14)^t7.Ay.rotrSL(c,h,18)^t7.Ay.rotrBL(c,h,41),b=c&f^~c&p,w=h&d^~h&g,v=t7.Ay.add5L(y,A,w,ee[t],en[t]),E=t7.Ay.add5H(v,m,e,b,et[t],er[t]),x=0|v,k=t7.Ay.rotrSH(r,n,28)^t7.Ay.rotrBH(r,n,34)^t7.Ay.rotrBH(r,n,39),R=t7.Ay.rotrSL(r,n,28)^t7.Ay.rotrBL(r,n,34)^t7.Ay.rotrBL(r,n,39),P=r&i^r&a^i&a,N=n&s^n&o^s&o;m=0|p,y=0|g,p=0|f,g=0|d,f=0|c,d=0|h,({h:c,l:h}=t7.Ay.add(0|l,0|u,0|E,0|x)),l=0|a,u=0|o,a=0|i,o=0|s,i=0|r,s=0|n;let I=t7.Ay.add3L(x,R,N);r=t7.Ay.add3H(I,E,k,P),n=0|I}({h:r,l:n}=t7.Ay.add(0|this.Ah,0|this.Al,0|r,0|n)),({h:i,l:s}=t7.Ay.add(0|this.Bh,0|this.Bl,0|i,0|s)),({h:a,l:o}=t7.Ay.add(0|this.Ch,0|this.Cl,0|a,0|o)),({h:l,l:u}=t7.Ay.add(0|this.Dh,0|this.Dl,0|l,0|u)),({h:c,l:h}=t7.Ay.add(0|this.Eh,0|this.El,0|c,0|h)),({h:f,l:d}=t7.Ay.add(0|this.Fh,0|this.Fl,0|f,0|d)),({h:p,l:g}=t7.Ay.add(0|this.Gh,0|this.Gl,0|p,0|g)),({h:m,l:y}=t7.Ay.add(0|this.Hh,0|this.Hl,0|m,0|y)),this.set(r,n,i,s,a,o,l,u,c,h,f,d,p,g,m,y)}roundClean(){er.fill(0),en.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)}}let es=(0,t0.ld)(()=>new ei),ea=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw Error("unable to locate global object")}();function eo(t){switch(t){case"sha256":return t9.create();case"sha512":return es.create()}(0,R.MR)(!1,"invalid hashing algorithm name","algorithm",t)}ea.crypto||ea.msCrypto;let el=function(t){return eo("sha256").update(t).digest()},eu=function(t){return eo("sha512").update(t).digest()},ec=el,eh=eu,ef=!1,ed=!1;function ep(t){let e=(0,x.q5)(t,"data");return(0,x.c$)(ec(e))}function eg(t){let e=(0,x.q5)(t,"data");return(0,x.c$)(eh(e))}ep._=el,ep.lock=function(){ef=!0},ep.register=function(t){if(ef)throw Error("sha256 is locked");ec=t},Object.freeze(ep),eg._=eu,eg.lock=function(){ed=!0},eg.register=function(t){if(ed)throw Error("sha512 is locked");eh=t},Object.freeze(ep),BigInt(0);let em=BigInt(1),ey=BigInt(2),eA=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function eb(t){if(!(t instanceof Uint8Array))throw Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=eA[t[r]];return e}function ew(t){if("string"!=typeof t)throw Error("hex string expected, got "+typeof t);return BigInt(""===t?"0":`0x${t}`)}function ev(t){if("string"!=typeof t)throw Error("hex string expected, got "+typeof t);let e=t.length;if(e%2)throw Error("padded hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(e/2);for(let e=0;e<r.length;e++){let n=2*e,i=Number.parseInt(t.slice(n,n+2),16);if(Number.isNaN(i)||i<0)throw Error("Invalid byte sequence");r[e]=i}return r}function eE(t){return ew(eb(t))}function ex(t){if(!(t instanceof Uint8Array))throw Error("Uint8Array expected");return ew(eb(Uint8Array.from(t).reverse()))}function ek(t,e){return ev(t.toString(16).padStart(2*e,"0"))}function eR(t,e){return ek(t,e).reverse()}function eP(t,e,r){let n;if("string"==typeof e)try{n=ev(e)}catch(r){throw Error(`${t} must be valid hex string, got "${e}". Cause: ${r}`)}else if(e instanceof Uint8Array)n=Uint8Array.from(e);else throw Error(`${t} must be hex string or Uint8Array`);let i=n.length;if("number"==typeof r&&i!==r)throw Error(`${t} expected ${r} bytes, got ${i}`);return n}function eN(...t){let e=new Uint8Array(t.reduce((t,e)=>t+e.length,0)),r=0;return t.forEach(t=>{if(!(t instanceof Uint8Array))throw Error("Uint8Array expected");
5e.set(t,r),r+=t.length}),e}let eI=t=>(ey<<BigInt(t-1))-em,eB=t=>new Uint8Array(t),eC=t=>Uint8Array.from(t);function eO(t,e,r){if("number"!=typeof t||t<2)throw Error("hashLen must be a number");if("number"!=typeof e||e<2)throw Error("qByteLen must be a number");if("function"!=typeof r)throw Error("hmacFn must be a function");let n=eB(t),i=eB(t),s=0,a=()=>{n.fill(1),i.fill(0),s=0},o=(...t)=>r(i,n,...t),l=(t=eB())=>{i=o(eC([0]),t),n=o(),0!==t.length&&(i=o(eC([1]),t),n=o())},u=()=>{if(s++>=1e3)throw Error("drbg: tried 1000 values");let t=0,r=[];for(;t<e;){let e=(n=o()).slice();r.push(e),t+=n.length}return eN(...r)};return(t,e)=>{let r;for(a(),l(t);!(r=e(u()));)l();return a(),r}}let eT={bigint:t=>"bigint"==typeof t,function:t=>"function"==typeof t,boolean:t=>"boolean"==typeof t,string:t=>"string"==typeof t,stringOrUint8Array:t=>"string"==typeof t||t instanceof Uint8Array,isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>"function"==typeof t&&Number.isSafeInteger(t.outputLen)};function eS(t,e,r={}){let n=(e,r,n)=>{let i=eT[r];if("function"!=typeof i)throw Error(`Invalid validator "${r}", expected function`);let s=t[e];if((!n||void 0!==s)&&!i(s,t))throw Error(`Invalid param ${String(e)}=${s} (${typeof s}), expected ${r}`)};for(let[t,r]of Object.entries(e))n(t,r,!1);for(let[t,e]of Object.entries(r))n(t,e,!0);return t}let eM=BigInt(0),eU=BigInt(1),eL=BigInt(2),eF=BigInt(3),eD=BigInt(4),eG=BigInt(5),eH=BigInt(8);function eQ(t,e){let r=t%e;return r>=eM?r:e+r}function ez(t,e,r){let n=t;for(;e-- >eM;)n*=n,n%=r;return n}function ej(t,e){if(t===eM||e<=eM)throw Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=eQ(t,e),n=e,i=eM,s=eU,a=eU,o=eM;for(;r!==eM;){let t=n/r,e=n%r,l=i-a*t,u=s-o*t;n=r,r=e,i=a,s=o,a=l,o=u}if(n!==eU)throw Error("invert: does not exist");return eQ(i,e)}BigInt(9),BigInt(16);let eV=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function eJ(t,e){let r=void 0!==e?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function eK(t){if("bigint"!=typeof t)throw Error("field order must be bigint");return Math.ceil(t.toString(2).length/8)}function eZ(t){let e=eK(t);return e+Math.ceil(e/2)}class eW extends t0.Vw{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,(0,t$.tW)(t);let r=(0,t0.ZJ)(e);if(this.iHash=t.create(),"function"!=typeof this.iHash.update)throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let n=this.blockLen,i=new Uint8Array(n);i.set(r.length>n?t.create().update(r).digest():r);for(let t=0;t<i.length;t++)i[t]^=54;this.iHash.update(i),this.oHash=t.create();for(let t=0;t<i.length;t++)i[t]^=106;this.oHash.update(i),i.fill(0)}update(t){return(0,t$.t2)(this),this.iHash.update(t),this}digestInto(t){(0,t$.t2)(this),(0,t$.ee)(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:e,iHash:r,finished:n,destroyed:i,blockLen:s,outputLen:a}=this;return t.finished=n,t.destroyed=i,t.blockLen=s,t.outputLen=a,t.oHash=e._cloneInto(t.oHash),t.iHash=r._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}let eq=(t,e,r)=>new eW(t,e).update(r).digest();eq.create=(t,e)=>new eW(t,e);let e_=BigInt(0),eY=BigInt(1);function eX(t){return eS(t.Fp,eV.reduce((t,e)=>(t[e]="function",t),{ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"})),eS(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...eJ(t.n,t.nBitLength),...t,...{p:t.Fp.ORDER}})}let{Ph:e$,aT:e0}=A,e1={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(t){let{Err:e}=e1;if(t.length<2||2!==t[0])throw new e("Invalid signature integer tag");let r=t[1],n=t.subarray(2,r+2);if(!r||n.length!==r)throw new e("Invalid signature integer: wrong length");if(128&n[0])throw new e("Invalid signature integer: negative");if(0===n[0]&&!(128&n[1]))throw new e("Invalid signature integer: unnecessary leading zero");return{d:e$(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=e1,r="string"==typeof t?e0(t):t;if(!(r instanceof Uint8Array))throw Error("ui8a expected");let n=r.length;if(n<2||48!=r[0])throw new e("Invalid signature tag");if(r[1]!==n-2)throw new e("Invalid signature: incorrect length");let{d:i,l:s}=e1._parseInt(r.subarray(2)),{d:a,l:o}=e1._parseInt(s);if(o.length)throw new e("Invalid signature: left bytes after parsing");return{r:i,s:a}},hexFromSig(t){let e=t=>8&Number.parseInt(t[0],16)?"00"+t:t,r=t=>{let e=t.toString(16);return 1&e.length?`0${e}`:e},n=e(r(t.s)),i=e(r(t.r)),s=n.length/2,a=i.length/2,o=r(s),l=r(a);return`30${r(a+s+4)}02${l}${i}02${o}${n}`}},e2=BigInt(0),e4=BigInt(1),e8=(BigInt(2),BigInt(3));BigInt(4);let e3=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),e5=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),e6=BigInt(1),e9=BigInt(2),e7=(t,e)=>(t+e/e9)/e,rt=function(t,e,r=!1,n={}){if(t<=eM)throw Error(`Expected Field ORDER > 0, got ${t}`);let{nBitLength:i,nByteLength:s}=eJ(t,e);if(s>2048)throw Error("Field lengths over 2048 bytes are not supported");let a=function(t){if(t%eD===eF){let e=(t+eU)/eD;return function(t,r){let n=t.pow(r,e);if(!t.eql(t.sqr(n),r))throw Error("Cannot find square root");return n}}if(t%eH===eG){let e=(t-eG)/eH;return function(t,r){let n=t.mul(r,eL),i=t.pow(n,e),s=t.mul(r,i),a=t.mul(t.mul(s,eL),i),o=t.mul(s,t.sub(a,t.ONE));if(!t.eql(t.sqr(o),r))throw Error("Cannot find square root");return o}}return function(t){let e,r,n,i=(t-eU)/eL;for(e=t-eU,r=0;e%eL===eM;e/=eL,r++);for(n=eL;n<t&&function(t,e,r){if(r<=eM||e<eM)throw Error("Expected power/modulo > 0");if(r===eU)return eM;let n=eU;for(;e>eM;)e&eU&&(n=n*t%r),t=t*t%r,e>>=eU;return n}(n,i,t)!==t-eU;n++);if(1===r){let e=(t+eU)/eD;return function(t,r){let n=t.pow(r,e);if(!t.eql(t.sqr(n),r))throw Error("Cannot find square root");return n}}let s=(e+eU)/eL;return function(t,a){if(t.pow(a,i)===t.neg(t.ONE))throw Error("Cannot find square root");let o=r,l=t.pow(t.mul(t.ONE,n),e),u=t.pow(a,s),c=t.pow(a,e);for(;!t.eql(c,t.ONE);){if(t.eql(c,t.ZERO))return t.ZERO;let e=1;for(let r=t.sqr(c);e<o&&!t.eql(r,t.ONE);e++)r=t.sqr(r);let r=t.pow(l,eU<<BigInt(o-e-1));l=t.sqr(r),u=t.mul(u,r),c=t.mul(c,l),o=e}return u}}(t)}(t),o=Object.freeze({ORDER:t,BITS:i,BYTES:s,MASK:eI(i),ZERO:eM,ONE:eU,create:e=>eQ(e,t),isValid:e=>{if("bigint"!=typeof e)throw Error(`Invalid field element: expected bigint, got ${typeof e}`);return eM<=e&&e<t},is0:t=>t===eM,isOdd:t=>(t&eU)===eU,neg:e=>eQ(-e,t),eql:(t,e)=>t===e,sqr:e=>eQ(e*e,t),add:(e,r)=>eQ(e+r,t),sub:(e,r)=>eQ(e-r,t),mul:(e,r)=>eQ(e*r,t),pow:(t,e)=>(function(t,e,r){if(r<eM)throw Error("Expected power > 0");if(r===eM)return t.ONE;if(r===eU)return e;let n=t.ONE,i=e;for(;r>eM;)r&eU&&(n=t.mul(n,i)),i=t.sqr(i),r>>=eU;return n})(o,t,e),div:(e,r)=>eQ(e*ej(r,t),t),sqrN:t=>t*t,addN:(t,e)=>t+e,subN:(t,e)=>t-e,mulN:(t,e)=>t*e,inv:e=>ej(e,t),sqrt:n.sqrt||(t=>a(o,t)),invertBatch:t=>(function(t,e){let r=Array(e.length),n=e.reduce((e,n,i)=>t.is0(n)?e:(r[i]=e,t.mul(e,n)),t.ONE),i=t.inv(n);return e.reduceRight((e,n,i)=>t.is0(n)?e:(r[i]=t.mul(e,r[i]),t.mul(e,n)),i),r})(o,t),cmov:(t,e,r)=>r?e:t,toBytes:t=>r?eR(t,s):ek(t,s),fromBytes:t=>{if(t.length!==s)throw Error(`Fp.fromBytes: expected ${s}, got ${t.length}`);return r?ex(t):eE(t)}});return Object.freeze(o)}(e3,void 0,void 0,{sqrt:function(t){let e=BigInt(3),r=BigInt(6),n=BigInt(11),i=BigInt(22),s=BigInt(23),a=BigInt(44),o=BigInt(88),l=t*t*t%e3,u=l*l*t%e3,c=ez(u,e,e3)*u%e3,h=ez(c,e,e3)*u%e3,f=ez(h,e9,e3)*l%e3,d=ez(f,n,e3)*f%e3,p=ez(d,i,e3)*d%e3,g=ez(p,a,e3)*p%e3,m=ez(g,o,e3)*g%e3,y=ez(m,a,e3)*p%e3,A=ez(y,e,e3)*u%e3,b=ez(A,s,e3)*d%e3,w=ez(b,r,e3)*l%e3,v=ez(w,e9,e3);if(!rt.eql(rt.sqr(v),t))throw Error("Cannot find square root");return v}}),re=function(t,e){let r=e=>(function(t){let e=function(t){let e=eX(t);return eS(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}(t),{Fp:r,n:n}=e,i=r.BYTES+1,s=2*r.BYTES+1;function a(t){return eQ(t,n)}let{ProjectivePoint:o,normPrivateKeyToScalar:l,weierstrassEquation:u,isWithinCurveOrder:c}=function(t){let e=function(t){let e=eX(t);eS(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:i}=e;if(r){if(!n.eql(i,n.ZERO))throw Error("Endomorphism can only be defined for Koblitz curves that have a=0");if("object"!=typeof r||"bigint"!=typeof r.beta||"function"!=typeof r.splitScalar)throw Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}(t),{Fp:r}=e,n=e.toBytes||((t,e,n)=>{let i=e.toAffine();return eN(Uint8Array.from([4]),r.toBytes(i.x),r.toBytes(i.y))}),i=e.fromBytes||(t=>{let e=t.subarray(1);return{x:r.fromBytes(e.subarray(0,r.BYTES)),y:r.fromBytes(e.subarray(r.BYTES,2*r.BYTES))}});function s(t){let{a:n,b:i}
5=e,s=r.sqr(t),a=r.mul(s,t);return r.add(r.add(a,r.mul(t,n)),i)}if(!r.eql(r.sqr(e.Gy),s(e.Gx)))throw Error("bad generator point: equation left != right");function a(t){return"bigint"==typeof t&&e2<t&&t<e.n}function o(t){if(!a(t))throw Error("Expected valid bigint: 0 < bigint < curve.n")}function l(t){let r,{allowedPrivateKeyLengths:n,nByteLength:i,wrapPrivateKey:s,n:a}=e;if(n&&"bigint"!=typeof t){if(t instanceof Uint8Array&&(t=eb(t)),"string"!=typeof t||!n.includes(t.length))throw Error("Invalid key");t=t.padStart(2*i,"0")}try{r="bigint"==typeof t?t:eE(eP("private key",t,i))}catch(e){throw Error(`private key must be ${i} bytes, hex or bigint, not ${typeof t}`)}return s&&(r=eQ(r,a)),o(r),r}let u=new Map;function c(t){if(!(t instanceof h))throw Error("ProjectivePoint expected")}class h{constructor(t,e,n){if(this.px=t,this.py=e,this.pz=n,null==t||!r.isValid(t))throw Error("x required");if(null==e||!r.isValid(e))throw Error("y required");if(null==n||!r.isValid(n))throw Error("z required")}static fromAffine(t){let{x:e,y:n}=t||{};if(!t||!r.isValid(e)||!r.isValid(n))throw Error("invalid affine point");if(t instanceof h)throw Error("projective point not allowed");let i=t=>r.eql(t,r.ZERO);return i(e)&&i(n)?h.ZERO:new h(e,n,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(t){let e=r.invertBatch(t.map(t=>t.pz));return t.map((t,r)=>t.toAffine(e[r])).map(h.fromAffine)}static fromHex(t){let e=h.fromAffine(i(eP("pointHex",t)));return e.assertValidity(),e}static fromPrivateKey(t){return h.BASE.multiply(l(t))}_setWindowSize(t){this._WINDOW_SIZE=t,u.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!r.is0(this.py))return;throw Error("bad point: ZERO")}let{x:t,y:n}=this.toAffine();if(!r.isValid(t)||!r.isValid(n))throw Error("bad point: x or y not FE");let i=r.sqr(n),a=s(t);if(!r.eql(i,a))throw Error("bad point: equation left != right");if(!this.isTorsionFree())throw Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:t}=this.toAffine();if(r.isOdd)return!r.isOdd(t);throw Error("Field doesn't support isOdd")}equals(t){c(t);let{px:e,py:n,pz:i}=this,{px:s,py:a,pz:o}=t,l=r.eql(r.mul(e,o),r.mul(s,i)),u=r.eql(r.mul(n,o),r.mul(a,i));return l&&u}negate(){return new h(this.px,r.neg(this.py),this.pz)}double(){let{a:t,b:n}=e,i=r.mul(n,e8),{px:s,py:a,pz:o}=this,l=r.ZERO,u=r.ZERO,c=r.ZERO,f=r.mul(s,s),d=r.mul(a,a),p=r.mul(o,o),g=r.mul(s,a);return g=r.add(g,g),c=r.mul(s,o),c=r.add(c,c),l=r.mul(t,c),u=r.mul(i,p),u=r.add(l,u),l=r.sub(d,u),u=r.add(d,u),u=r.mul(l,u),l=r.mul(g,l),c=r.mul(i,c),p=r.mul(t,p),g=r.sub(f,p),g=r.mul(t,g),g=r.add(g,c),c=r.add(f,f),f=r.add(c,f),f=r.add(f,p),f=r.mul(f,g),u=r.add(u,f),p=r.mul(a,o),p=r.add(p,p),f=r.mul(p,g),l=r.sub(l,f),c=r.mul(p,d),c=r.add(c,c),new h(l,u,c=r.add(c,c))}add(t){c(t);let{px:n,py:i,pz:s}=this,{px:a,py:o,pz:l}=t,u=r.ZERO,f=r.ZERO,d=r.ZERO,p=e.a,g=r.mul(e.b,e8),m=r.mul(n,a),y=r.mul(i,o),A=r.mul(s,l),b=r.add(n,i),w=r.add(a,o);b=r.mul(b,w),w=r.add(m,y),b=r.sub(b,w),w=r.add(n,s);let v=r.add(a,l);return w=r.mul(w,v),v=r.add(m,A),w=r.sub(w,v),v=r.add(i,s),u=r.add(o,l),v=r.mul(v,u),u=r.add(y,A),v=r.sub(v,u),d=r.mul(p,w),u=r.mul(g,A),d=r.add(u,d),u=r.sub(y,d),d=r.add(y,d),f=r.mul(u,d),y=r.add(m,m),y=r.add(y,m),A=r.mul(p,A),w=r.mul(g,w),y=r.add(y,A),A=r.sub(m,A),A=r.mul(p,A),w=r.add(w,A),m=r.mul(y,w),f=r.add(f,m),m=r.mul(v,w),u=r.mul(b,u),u=r.sub(u,m),m=r.mul(b,y),d=r.mul(v,d),new h(u,f,d=r.add(d,m))}subtract(t){return this.add(t.negate())}is0(){return this.equals(h.ZERO)}wNAF(t){return d.wNAFCached(this,u,t,t=>{let e=r.invertBatch(t.map(t=>t.pz));return t.map((t,r)=>t.toAffine(e[r])).map(h.fromAffine)})}multiplyUnsafe(t){let n=h.ZERO;if(t===e2)return n;if(o(t),t===e4)return this;let{endo:i}=e;if(!i)return d.unsafeLadder(this,t);let{k1neg:s,k1:a,k2neg:l,k2:u}=i.splitScalar(t),c=n,f=n,p=this;for(;a>e2||u>e2;)a&e4&&(c=c.add(p)),u&e4&&(f=f.add(p)),p=p.double(),a>>=e4,u>>=e4;return s&&(c=c.negate()),l&&(f=f.negate()),f=new h(r.mul(f.px,i.beta),f.py,f.pz),c.add(f)}multiply(t){let n,i;o(t);let{endo:s}=e;if(s){let{k1neg:e,k1:a,k2neg:o,k2:l}=s.splitScalar(t),{p:u,f:c}=this.wNAF(a),{p:f,f:p}=this.wNAF(l);u=d.constTimeNegate(e,u),f=d.constTimeNegate(o,f),f=new h(r.mul(f.px,s.beta),f.py,f.pz),n=u.add(f),i=c.add(p)}else{let{p:e,f:r}=this.wNAF(t);n=e,i=r}return h.normalizeZ([n,i])[0]}multiplyAndAddUnsafe(t,e,r){let n=h.BASE,i=(t,e)=>e!==e2&&e!==e4&&t.equals(n)?t.multiply(e):t.multiplyUnsafe(e),s=i(this,e).add(i(t,r));return s.is0()?void 0:s}toAffine(t){let{px:e,py:n,pz:i}=this,s=this.is0();null==t&&(t=s?r.ONE:r.inv(i));let a=r.mul(e,t),o=r.mul(n,t),l=r.mul(i,t);if(s)return{x:r.ZERO,y:r.ZERO};
5if(!r.eql(l,r.ONE))throw Error("invZ was invalid");return{x:a,y:o}}isTorsionFree(){let{h:t,isTorsionFree:r}=e;if(t===e4)return!0;if(r)return r(h,this);throw Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:t,clearCofactor:r}=e;return t===e4?this:r?r(h,this):this.multiplyUnsafe(e.h)}toRawBytes(t=!0){return this.assertValidity(),n(h,this,t)}toHex(t=!0){return eb(this.toRawBytes(t))}}h.BASE=new h(e.Gx,e.Gy,r.ONE),h.ZERO=new h(r.ZERO,r.ONE,r.ZERO);let f=e.nBitLength,d=function(t,e){let r=(t,e)=>{let r=e.negate();return t?r:e},n=t=>({windows:Math.ceil(e/t)+1,windowSize:2**(t-1)});return{constTimeNegate:r,unsafeLadder(e,r){let n=t.ZERO,i=e;for(;r>e_;)r&eY&&(n=n.add(i)),i=i.double(),r>>=eY;return n},precomputeWindow(t,e){let{windows:r,windowSize:i}=n(e),s=[],a=t,o=a;for(let t=0;t<r;t++){o=a,s.push(o);for(let t=1;t<i;t++)o=o.add(a),s.push(o);a=o.double()}return s},wNAF(e,i,s){let{windows:a,windowSize:o}=n(e),l=t.ZERO,u=t.BASE,c=BigInt(2**e-1),h=2**e,f=BigInt(e);for(let t=0;t<a;t++){let e=t*o,n=Number(s&c);s>>=f,n>o&&(n-=h,s+=eY);let a=e+Math.abs(n)-1,d=t%2!=0,p=n<0;0===n?u=u.add(r(d,i[e])):l=l.add(r(p,i[a]))}return{p:l,f:u}},wNAFCached(t,e,r,n){let i=t._WINDOW_SIZE||1,s=e.get(t);return s||(s=this.precomputeWindow(t,i),1!==i&&e.set(t,n(s))),this.wNAF(i,s,r)}}}(h,e.endo?Math.ceil(f/2):f);return{CURVE:e,ProjectivePoint:h,normPrivateKeyToScalar:l,weierstrassEquation:s,isWithinCurveOrder:a}}({...e,toBytes(t,e,n){let i=e.toAffine(),s=r.toBytes(i.x),a=eN;return n?a(Uint8Array.from([e.hasEvenY()?2:3]),s):a(Uint8Array.from([4]),s,r.toBytes(i.y))},fromBytes(t){let e=t.length,n=t[0],a=t.subarray(1);if(e===i&&(2===n||3===n)){let t=eE(a);if(!(e2<t&&t<r.ORDER))throw Error("Point is not on curve");let e=u(t),i=r.sqrt(e);return(1&n)==1!=((i&e4)===e4)&&(i=r.neg(i)),{x:t,y:i}}if(e===s&&4===n)return{x:r.fromBytes(a.subarray(0,r.BYTES)),y:r.fromBytes(a.subarray(r.BYTES,2*r.BYTES))};throw Error(`Point of length ${e} was invalid. Expected ${i} compressed bytes or ${s} uncompressed bytes`)}}),h=t=>eb(ek(t,e.nByteLength)),f=(t,e,r)=>eE(t.slice(e,r));class d{constructor(t,e,r){this.r=t,this.s=e,this.recovery=r,this.assertValidity()}static fromCompact(t){let r=e.nByteLength;return new d(f(t=eP("compactSignature",t,2*r),0,r),f(t,r,2*r))}static fromDER(t){let{r:e,s:r}=e1.toSig(eP("DER",t));return new d(e,r)}assertValidity(){if(!c(this.r))throw Error("r must be 0 < r < CURVE.n");if(!c(this.s))throw Error("s must be 0 < s < CURVE.n")}addRecoveryBit(t){return new d(this.r,this.s,t)}recoverPublicKey(t){let{r:i,s,recovery:l}=this,u=m(eP("msgHash",t));if(null==l||![0,1,2,3].includes(l))throw Error("recovery id invalid");let c=2===l||3===l?i+e.n:i;if(c>=r.ORDER)throw Error("recovery id 2 or 3 invalid");let f=(1&l)==0?"02":"03",d=o.fromHex(f+h(c)),p=ej(c,n),g=a(-u*p),y=a(s*p),A=o.BASE.multiplyAndAddUnsafe(d,g,y);if(!A)throw Error("point at infinify");return A.assertValidity(),A}hasHighS(){return this.s>n>>e4}normalizeS(){return this.hasHighS()?new d(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return ev(this.toDERHex())}toDERHex(){return e1.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return ev(this.toCompactHex())}toCompactHex(){return h(this.r)+h(this.s)}}function p(t){let e=t instanceof Uint8Array,r="string"==typeof t,n=(e||r)&&t.length;return e?n===i||n===s:r?n===2*i||n===2*s:t instanceof o}let g=e.bits2int||function(t){let r=eE(t),n=8*t.length-e.nBitLength;return n>0?r>>BigInt(n):r},m=e.bits2int_modN||function(t){return a(g(t))},y=eI(e.nBitLength);function A(t){if("bigint"!=typeof t)throw Error("bigint expected");if(!(e2<=t&&t<y))throw Error(`bigint expected < 2^${e.nBitLength}`);return ek(t,e.nByteLength)}let b={lowS:e.lowS,prehash:!1},w={lowS:e.lowS,prehash:!1};return o.BASE._setWindowSize(8),{CURVE:e,getPublicKey:function(t,e=!0){return o.fromPrivateKey(t).toRawBytes(e)},getSharedSecret:function(t,e,r=!0){if(p(t))throw Error("first arg must be private key");if(!p(e))throw Error("second arg must be public key");return o.fromHex(e).multiply(l(t)).toRawBytes(r)},sign:function(t,i,s=b){let{seed:u,k2sig:h}=function(t,i,s=b){if(["recovered","canonical"].some(t=>t in s))throw Error("sign() legacy options not supported");let{hash:u,randomBytes:h}=e,{lowS:f,prehash:p,extraEntropy:y}=s;null==f&&(f=!0),t=eP("msgHash",t),p&&(t=eP("prehashed msgHash",u(t)));let w=m(t),v=l(i),E=[A(v),A(w)];if(null!=y){let t=!0===y?h(r.BYTES):y;E.push(eP("extraEntropy",t))}return{seed:eN(...E),k2sig:function(t){var e;let r=g(t);if(!c(r))return;let i=ej(r,n),s=o.BASE.multiply(r).toAffine(),l=a(s.x);if(l===e2)return;let u=a(i*a(w+l*v));if(u===e2)return;let h=2*(s.x!==l)|Number(s.y&e4),p=u;return f&&u>n>>e4&&(p=(e=u)>n>>e4?a(-e):e,h^=1),new d(l,p,h)}}}(t,i,s);return eO(e.hash.outputLen,e.nByteLength,e.hmac)(u,h)},verify:function(t,r,i,s=w){let l,u;if(r=eP("msgHash",r),i=eP("publicKey",i),"strict"in s)throw Error("options.strict was renamed to lowS");let{lowS:c,prehash:h}=s;try{if("string"==typeof t||t instanceof Uint8Array)try{u=d.fromDER(t)}catch(e){if(!(e instanceof e1.Err))throw e;u=d.fromCompact(t)}else if("object"==typeof t&&"bigint"==typeof t.r&&"bigint"==typeof t.s){let{r:e,s:r}=t;u=new d(e,r)}else throw Error("PARSE");l=o.fromHex(i)}catch(t){if("PARSE"===t.message)throw Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(c&&u.hasHighS())return!1;h&&(r=e.hash(r));let{r:f,s:p}=u,g=m(r),y=ej(p,n),A=a(g*y),b=a(f*y),v=o.BASE.multiplyAndAddUnsafe(l,A,b)?.toAffine();return!!v&&a(v.x)===f},ProjectivePoint:o,Signature:d,utils:{isValidPrivateKey(t){try{return l(t),!0}catch(t){return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{let t=eZ(e.n);return function(t,e,r=!1){let n=t.length,i=eK(e),s=eZ(e);if(n<16||n<s||n>1024)throw Error(`expected ${s}-1024 bytes of input, got ${n}`);let a=eQ(r?eE(t):ex(t),e-eU)+eU;return r?eR(a,i):ek(a,i)}(e.randomBytes(t),e.n)},precompute:(t=8,e=o.BASE)=>(e._setWindowSize(t),e.multiply(BigInt(3)),e)}}})({...t,...{hash:e,hmac:(t,...r)=>eq(e,t,(0,t0.Id)(...r)),randomBytes:t0.po}});return Object.freeze({...r(e),create:r})}({a:BigInt(0),b:BigInt(7),Fp:rt,n:e5,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-e6*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),n=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=BigInt("0x100000000000000000000000000000000"),s=e7(e*t,e5),a=e7(-r*t,e5),o=eQ(t-s*e-a*n,e5),l=eQ(-s*r-a*e,e5),u=o>i,c=l>i;
5if(u&&(o=e5-o),c&&(l=e5-l),o>i||l>i)throw Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:u,k1:o,k2neg:c,k2:l}}}},t9);BigInt(0),re.ProjectivePoint;class rr{#tr;constructor(t){(0,R.MR)(32===(0,x.pO)(t),"invalid private key","privateKey","[REDACTED]"),this.#tr=(0,x.c$)(t)}get privateKey(){return this.#tr}get publicKey(){return rr.computePublicKey(this.#tr)}get compressedPublicKey(){return rr.computePublicKey(this.#tr,!0)}sign(t){(0,R.MR)(32===(0,x.pO)(t),"invalid digest length","digest",t);let e=re.sign((0,x.Lm)(t),(0,x.Lm)(this.#tr),{lowS:!0});return tr.from({r:(0,k.up)(e.r,32),s:(0,k.up)(e.s,32),v:e.recovery?28:27})}computeSharedSecret(t){let e=rr.computePublicKey(t);return(0,x.c$)(re.getSharedSecret((0,x.Lm)(this.#tr),(0,x.q5)(e),!1))}static computePublicKey(t,e){let r=(0,x.q5)(t,"key");if(32===r.length){let t=re.getPublicKey(r,!!e);return(0,x.c$)(t)}if(64===r.length){let t=new Uint8Array(65);t[0]=4,t.set(r,1),r=t}let n=re.ProjectivePoint.fromHex(r);return(0,x.c$)(n.toRawBytes(e))}static recoverPublicKey(t,e){(0,R.MR)(32===(0,x.pO)(t),"invalid digest length","digest",t);let r=tr.from(e),n=re.Signature.fromCompact((0,x.Lm)((0,x.xW)([r.r,r.s]))),i=(n=n.addRecoveryBit(r.yParity)).recoverPublicKey((0,x.Lm)(t));return(0,R.MR)(null!=i,"invalid signature for digest","signature",e),"0x"+i.toHex(!1)}static addPoints(t,e,r){let n=re.ProjectivePoint.fromHex(rr.computePublicKey(t).substring(2)),i=re.ProjectivePoint.fromHex(rr.computePublicKey(e).substring(2));return"0x"+n.add(i).toHex(!!r)}}function rn(t,e,r){let n=0;for(let i=0;i<r;i++)n=256*n+t[e+i];return n}function ri(t,e,r,n){let i=[];for(;r<e+1+n;){let s=rs(t,r);i.push(s.result),r+=s.consumed,(0,R.vA)(r<=e+1+n,"child data too short","BUFFER_OVERRUN",{buffer:t,length:n,offset:e})}return{consumed:1+n,result:i}}function rs(t,e){(0,R.vA)(0!==t.length,"data too short","BUFFER_OVERRUN",{buffer:t,length:0,offset:1});let r=e=>{(0,R.vA)(e<=t.length,"data short segment too short","BUFFER_OVERRUN",{buffer:t,length:t.length,offset:e})};if(t[e]>=248){let n=t[e]-247;r(e+1+n);let i=rn(t,e+1,n);return r(e+1+n+i),ri(t,e,e+1+n,n+i)}if(t[e]>=192){let n=t[e]-192;return r(e+1+n),ri(t,e,e+1,n)}if(t[e]>=184){let n=t[e]-183;r(e+1+n);let i=rn(t,e+1,n);r(e+1+n+i);let s=(0,x.c$)(t.slice(e+1+n,e+1+n+i));return{consumed:1+n+i,result:s}}if(t[e]>=128){let n=t[e]-128;r(e+1+n);let i=(0,x.c$)(t.slice(e+1,e+1+n));return{consumed:1+n,result:i}}return{consumed:1,result:function(t){let e=t.toString(16);for(;e.length<2;)e="0"+e;return"0x"+e}(t[e])}}function ra(t){let e=(0,x.q5)(t,"data"),r=rs(e,0);return(0,R.MR)(r.consumed===e.length,"unexpected junk after rlp payload","data",t),r.result}function ro(t){let e=[];for(;t;)e.unshift(255&t),t>>=8;return e}let rl="0123456789abcdef";function ru(t){let e="0x";for(let r of function t(e){if(Array.isArray(e)){let r=[];if(e.forEach(function(e){r=r.concat(t(e))}),r.length<=55)return r.unshift(192+r.length),r;let n=ro(r.length);return n.unshift(247+n.length),n.concat(r)}let r=Array.prototype.slice.call((0,x.q5)(e,"object"));if(1===r.length&&r[0]<=127)return r;if(r.length<=55)return r.unshift(128+r.length),r;let n=ro(r.length);return n.unshift(183+n.length),n.concat(r)}(t))e+=rl[r>>4],e+=rl[15&r];return e}let rc=BigInt(0),rh=BigInt(2),rf=BigInt(27),rd=BigInt(28),rp=BigInt(35),rg=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),rm=Symbol.for("nodejs.util.inspect.custom");function ry(t,e){let r=t.toString(16);for(;r.length<2;)r="0"+r;return"0x"+(r+=ep(e).substring(4))}function rA(t){return"0x"===t?null:(0,w.b)(t)}function rb(t,e){try{return(0,j.$)(t)}catch(r){(0,R.MR)(!1,r.message,e,t)}}function rw(t,e){return"0x"===t?0:(0,k.WZ)(t,e)}function rv(t,e){if("0x"===t)return rc;let r=(0,k.Ab)(t,e);return(0,R.MR)(r<=rg,"value exceeds uint size",e,r),r}function rE(t,e){let r=(0,k.Ab)(t,"value"),n=(0,k.c4)(r);return(0,R.MR)(n.length<=32,"value too large",`tx.${e}`,r),n}function rx(t){return(0,j.$)(t).map(t=>[t.address,t.storageKeys])}function rk(t,e){let r;try{if(r=rw(e[0],"yParity"),0!==r&&1!==r)throw Error("bad yParity")}catch(t){(0,R.MR)(!1,"invalid yParity","yParity",e[0])}let n=(0,x.nx)(e[1],32),i=(0,x.nx)(e[2],32);t.signature=tr.from({r:n,s:i,yParity:r})}class rR{#tn;#ti;#r;#ts;#ta;#to;#tl;#tu;#tc;#th;#tf;#td;#tp;#tg;#tm;#ty;#tA;#tb;get type(){return this.#tn}set type(t){switch(t){case null:this.#tn=null;break;case 0:case"legacy":this.#tn=0;break;case 1:case"berlin":case"eip-2930":this.#tn=1;break;
5case 2:case"london":case"eip-1559":this.#tn=2;break;case 3:case"cancun":case"eip-4844":this.#tn=3;break;case 4:case"pectra":case"eip-7702":this.#tn=4;break;default:(0,R.MR)(!1,"unsupported transaction type","type",t)}}get typeName(){switch(this.type){case 0:return"legacy";case 1:return"eip-2930";case 2:return"eip-1559";case 3:return"eip-4844";case 4:return"eip-7702"}return null}get to(){let t=this.#ti;return null==t&&3===this.type?tb:t}set to(t){this.#ti=null==t?null:(0,w.b)(t)}get nonce(){return this.#ts}set nonce(t){this.#ts=(0,k.WZ)(t,"value")}get gasLimit(){return this.#ta}set gasLimit(t){this.#ta=(0,k.Ab)(t)}get gasPrice(){let t=this.#to;return null==t&&(0===this.type||1===this.type)?rc:t}set gasPrice(t){this.#to=null==t?null:(0,k.Ab)(t,"gasPrice")}get maxPriorityFeePerGas(){let t=this.#tl;return null==t?2===this.type||3===this.type?rc:null:t}set maxPriorityFeePerGas(t){this.#tl=null==t?null:(0,k.Ab)(t,"maxPriorityFeePerGas")}get maxFeePerGas(){let t=this.#tu;return null==t?2===this.type||3===this.type?rc:null:t}set maxFeePerGas(t){this.#tu=null==t?null:(0,k.Ab)(t,"maxFeePerGas")}get data(){return this.#r}set data(t){this.#r=(0,x.c$)(t)}get value(){return this.#tc}set value(t){this.#tc=(0,k.Ab)(t,"value")}get chainId(){return this.#th}set chainId(t){this.#th=(0,k.Ab)(t)}get signature(){return this.#tf||null}set signature(t){this.#tf=null==t?null:tr.from(t)}isValid(){let t=this.signature;if(t&&!t.isValid())return!1;let e=this.authorizationList;if(e){for(let t of e)if(!t.signature.isValid())return!1}return!0}get accessList(){let t=this.#td||null;return null==t?1===this.type||2===this.type||3===this.type?[]:null:t}set accessList(t){this.#td=null==t?null:(0,j.$)(t)}get authorizationList(){let t=this.#tA||null;return null==t&&4===this.type?[]:t}set authorizationList(t){this.#tA=null==t?null:t.map(t=>tn(t))}get maxFeePerBlobGas(){let t=this.#tp;return null==t&&3===this.type?rc:t}set maxFeePerBlobGas(t){this.#tp=null==t?null:(0,k.Ab)(t,"maxFeePerBlobGas")}get blobVersionedHashes(){let t=this.#tg;return null==t&&3===this.type?[]:t}set blobVersionedHashes(t){if(null!=t){(0,R.MR)(Array.isArray(t),"blobVersionedHashes must be an Array","value",t),t=t.slice();for(let e=0;e<t.length;e++)(0,R.MR)((0,x.Lo)(t[e],32),"invalid blobVersionedHash",`value[${e}]`,t[e])}this.#tg=t}get blobs(){return null==this.#ty?null:this.#ty.map(t=>Object.assign({},t))}set blobs(t){if(null==t){this.#ty=null;return}let e=[],r=[];for(let n=0;n<t.length;n++){let i=t[n];if((0,x.f)(i)){(0,R.vA)(this.#tm,"adding a raw blob requires a KZG library","UNSUPPORTED_OPERATION",{operation:"set blobs()"});let t=(0,x.q5)(i);if((0,R.MR)(t.length<=131072,"blob is too large",`blobs[${n}]`,i),131072!==t.length){let e=new Uint8Array(131072);e.set(t),t=e}let s=this.#tm.blobToKzgCommitment(t),a=(0,x.c$)(this.#tm.computeBlobKzgProof(t,s));e.push({data:(0,x.c$)(t),commitment:(0,x.c$)(s),proof:a}),r.push(ry(1,s))}else{let t=(0,x.c$)(i.data),n=(0,x.c$)(i.commitment),s=(0,x.c$)(i.proof);e.push({data:t,commitment:n,proof:s}),r.push(ry(1,n))}}this.#ty=e,this.#tg=r}get kzg(){return this.#tm}set kzg(t){if(null==t)this.#tm=null;else this.#tm={blobToKzgCommitment:e=>{if("computeBlobProof"in t){if("blobToKzgCommitment"in t&&"function"==typeof t.blobToKzgCommitment)return(0,x.q5)(t.blobToKzgCommitment((0,x.c$)(e)))}else if("blobToKzgCommitment"in t&&"function"==typeof t.blobToKzgCommitment)return(0,x.q5)(t.blobToKzgCommitment(e));if("blobToKZGCommitment"in t&&"function"==typeof t.blobToKZGCommitment)return(0,x.q5)(t.blobToKZGCommitment((0,x.c$)(e)));(0,R.MR)(!1,"unsupported KZG library","kzg",t)},computeBlobKzgProof:(e,r)=>"computeBlobProof"in t&&"function"==typeof t.computeBlobProof?(0,x.q5)(t.computeBlobProof((0,x.c$)(e),(0,x.c$)(r))):"computeBlobKzgProof"in t&&"function"==typeof t.computeBlobKzgProof?t.computeBlobKzgProof(e,r):"computeBlobKZGProof"in t&&"function"==typeof t.computeBlobKZGProof?(0,x.q5)(t.computeBlobKZGProof((0,x.c$)(e),(0,x.c$)(r))):void(0,R.MR)(!1,"unsupported KZG library","kzg",t)}}get blobWrapperVersion(){return this.#tb}set blobWrapperVersion(t){this.#tb=t}constructor(){this.#tn=null,this.#ti=null,this.#ts=0,this.#ta=rc,this.#to=null,this.#tl=null,this.#tu=null,this.#r="0x",this.#tc=rc,this.#th=rc,this.#tf=null,this.#td=null,this.#tp=null,this.#tg=null,this.#tm=null,this.#ty=null,this.#tA=null,this.#tb=null}get hash(){return null==this.signature?null:(0,E.S)(this.#tw(!0,!1))}get unsignedHash(){return(0,E.S)(this.unsignedSerialized)}get from(){var t,e,r;let n;return null==this.signature?null:(t=this.unsignedHash,e=this.signature.getCanonical(),n="string"==typeof(r=rr.recoverPublicKey(t,e))?rr.computePublicKey(r,!1):r.publicKey,(0,w.b)((0,E.S)("0x"+n.substring(4)).substring(26)))}get fromPublicKey(){return null==this.signature?null:rr.recoverPublicKey(this.unsignedHash,this.signature.getCanonical())}isSigned(){return null!=this.signature}#tw(t,e){(0,R.vA)(!t||null!=this.signature,"cannot serialize unsigned transaction; maybe you meant .unsignedSerialized","UNSUPPORTED_OPERATION",{operation:".serialized"});let r=t?this.signature:null;switch(this.inferType()){case 0:return function(t,e){let r=[rE(t.nonce,"nonce"),rE(t.gasPrice||0,"gasPrice"),rE(t.gasLimit,"gasLimit"),t.to||"0x",rE(t.value,"value"),t.data],n=rc;if(t.chainId!=rc)n=(0,k.Ab)(t.chainId,"tx.chainId"),(0,R.MR)(!e||null==e.networkV||e.legacyChainId===n,"tx.chainId/sig.v mismatch","sig",e);else if(t.signature){let e=t.signature.legacyChainId;null!=e&&(n=e)}if(!e)return n!==rc&&(r.push((0,k.c4)(n)),r.push("0x"),r.push("0x")),ru(r);let i=BigInt(27+e.yParity);return n!==rc?i=tr.getChainIdV(n,e.v):BigInt(e.v)!==i&&(0,R.MR)(!1,"tx.chainId/sig.v mismatch","sig",e),r.push((0,k.c4)(i)),r.push((0,k.c4)(e.r)),r.push((0,k.c4)(e._s)),ru(r)}(this,r);case 1:let n=[rE(this.chainId,"chainId"),rE(this.nonce,"nonce"),rE(this.gasPrice||0,"gasPrice"),rE(this.gasLimit,"gasLimit"),this.to||"0x",rE(this.value,"value"),this.data,rx(this.accessList||[])];return r&&(n.push(rE(r.yParity,"recoveryParam")),n.push((0,k.c4)(r.r)),n.push((0,k.c4)(r.s))),(0,x.xW)(["0x01",ru(n)]);case 2:let i=[rE(this.chainId,"chainId"),rE(this.nonce,"nonce"),rE(this.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),rE(this.maxFeePerGas||0,"maxFeePerGas"),rE(this.gasLimit,"gasLimit"),this.to||"0x",rE(this.value,"value"),this.data,rx(this.accessList||[])];return r&&(i.push(rE(r.yParity,"yParity")),i.push((0,k.c4)(r.r)),i.push((0,k.c4)(r.s))),(0,x.xW)(["0x02",ru(i)]);case 3:return function(t,e,r){let n=[rE(t.chainId,"chainId"),rE(t.nonce,"nonce"),rE(t.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),rE(t.maxFeePerGas||0,"maxFeePerGas"),rE(t.gasLimit,"gasLimit"),t.to||tb,rE(t.value,"value"),t.data,rx(t.accessList||[]),rE(t.maxFeePerBlobGas||0,"maxFeePerBlobGas"),function(t,e){(0,R.MR)(Array.isArray(t),`invalid ${e}`,"value",t);for(let e=0;e<t.length;e++)(0,R.MR)((0,x.Lo)(t[e],32),"invalid ${ param } hash",`value[${e}]`,t[e]);return t}(t.blobVersionedHashes||[],"blobVersionedHashes")];if(e&&(n.push(rE(e.yParity,"yParity")),n.push((0,k.c4)(e.r)),n.push((0,k.c4)(e.s)),r)){if(null!=t.blobWrapperVersion){let e=(0,k.c4)(t.blobWrapperVersion),i=[];for(let{proof:t}of r){let e=(0,x.q5)(t),r=e.length/128;for(let t=0;t<e.length;t+=r)i.push(e.subarray(t,t+r))}return(0,x.xW)(["0x03",ru([n,e,r.map(t=>t.data),r.map(t=>t.commitment),i])])}return(0,x.xW)(["0x03",ru([n,r.map(t=>t.data),r.map(t=>t.commitment),r.map(t=>t.proof)])])}return(0,x.xW)(["0x03",ru(n)])}(this,r,e?this.blobs:null);case 4:let s=[rE(this.chainId,"chainId"),rE(this.nonce,"nonce"),rE(this.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),rE(this.maxFeePerGas||0,"maxFeePerGas"),rE(this.gasLimit,"gasLimit"),this.to||"0x",rE(this.value,"value"),this.data,rx(this.accessList||[]),(this.authorizationList||[]).map(t=>[rE(t.chainId,"chainId"),t.address,rE(t.nonce,"nonce"),rE(t.signature.yParity,"yParity"),(0,k.c4)(t.signature.r),(0,k.c4)(t.signature._s)])];return r&&(s.push(rE(r.yParity,"yParity")),s.push((0,k.c4)(r.r)),s.push((0,k.c4)(r.s))),(0,x.xW)(["0x04",ru(s)])}(0,R.vA)(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:".serialized"})}
5get serialized(){return this.#tw(!0,!0)}get unsignedSerialized(){return this.#tw(!1,!1)}inferType(){let t=this.inferTypes();return t.indexOf(2)>=0?2:t.pop()}inferTypes(){let t=null!=this.gasPrice,e=null!=this.maxFeePerGas||null!=this.maxPriorityFeePerGas,r=null!=this.accessList,n=null!=this.#tp||this.#tg;null!=this.maxFeePerGas&&null!=this.maxPriorityFeePerGas&&(0,R.vA)(this.maxFeePerGas>=this.maxPriorityFeePerGas,"priorityFee cannot be more than maxFee","BAD_DATA",{value:this}),(0,R.vA)(!e||0!==this.type&&1!==this.type,"transaction type cannot have maxFeePerGas or maxPriorityFeePerGas","BAD_DATA",{value:this}),(0,R.vA)(0!==this.type||!r,"legacy transaction cannot have accessList","BAD_DATA",{value:this});let i=[];return null!=this.type?i.push(this.type):this.authorizationList&&this.authorizationList.length?i.push(4):e?i.push(2):t?(i.push(1),r||i.push(0)):r?(i.push(1),i.push(2)):(n&&this.to||(i.push(0),i.push(1),i.push(2)),i.push(3)),i.sort(),i}isLegacy(){return 0===this.type}isBerlin(){return 1===this.type}isLondon(){return 2===this.type}isCancun(){return 3===this.type}clone(){return rR.from(this)}toJSON(){let t=t=>null==t?null:t.toString();return{type:this.type,to:this.to,data:this.data,nonce:this.nonce,gasLimit:t(this.gasLimit),gasPrice:t(this.gasPrice),maxPriorityFeePerGas:t(this.maxPriorityFeePerGas),maxFeePerGas:t(this.maxFeePerGas),value:t(this.value),chainId:t(this.chainId),sig:this.signature?this.signature.toJSON():null,accessList:this.accessList}}[rm](){return this.toString()}toString(){let t=[],e=e=>{let r=this[e];"string"==typeof r&&(r=JSON.stringify(r)),t.push(`${e}: ${r}`)};this.type&&e("type"),e("to"),e("data"),e("nonce"),e("gasLimit"),e("value"),null!=this.chainId&&e("chainId"),this.signature&&(e("from"),t.push(`signature: ${this.signature.toString()}`));let r=this.authorizationList;if(r){let e=[];for(let t of r){let r=[];r.push(`address: ${JSON.stringify(t.address)}`),null!=t.nonce&&r.push(`nonce: ${t.nonce}`),null!=t.chainId&&r.push(`chainId: ${t.chainId}`),t.signature&&r.push(`signature: ${t.signature.toString()}`),e.push(`Authorization { ${r.join(", ")} }`)}t.push(`authorizations: [ ${e.join(", ")} ]`)}return`Transaction { ${t.join(", ")} }`}static from(t){if(null==t)return new rR;if("string"==typeof t){let e=(0,x.q5)(t);if(e[0]>=127)return rR.from(function(t){let e=ra(t);(0,R.MR)(Array.isArray(e)&&(9===e.length||6===e.length),"invalid field count for legacy transaction","data",t);let r={type:0,nonce:rw(e[0],"nonce"),gasPrice:rv(e[1],"gasPrice"),gasLimit:rv(e[2],"gasLimit"),to:rA(e[3]),value:rv(e[4],"value"),data:(0,x.c$)(e[5]),chainId:rc};if(6===e.length)return r;let n=rv(e[6],"v"),i=rv(e[7],"r"),s=rv(e[8],"s");if(i===rc&&s===rc)r.chainId=n;else{let t=(n-rp)/rh;t<rc&&(t=rc),r.chainId=t,(0,R.MR)(t!==rc||n===rf||n===rd,"non-canonical legacy v","v",e[6]),r.signature=tr.from({r:(0,x.nx)(e[7],32),s:(0,x.nx)(e[8],32),v:n})}return r}(e));switch(e[0]){case 1:return rR.from(function(t){let e=ra((0,x.q5)(t).slice(1));(0,R.MR)(Array.isArray(e)&&(8===e.length||11===e.length),"invalid field count for transaction type: 1","data",(0,x.c$)(t));let r={type:1,chainId:rv(e[0],"chainId"),nonce:rw(e[1],"nonce"),gasPrice:rv(e[2],"gasPrice"),gasLimit:rv(e[3],"gasLimit"),to:rA(e[4]),value:rv(e[5],"value"),data:(0,x.c$)(e[6]),accessList:rb(e[7],"accessList")};return 8===e.length||rk(r,e.slice(8)),r}(e));case 2:return rR.from(function(t){let e=ra((0,x.q5)(t).slice(1));(0,R.MR)(Array.isArray(e)&&(9===e.length||12===e.length),"invalid field count for transaction type: 2","data",(0,x.c$)(t));let r={type:2,chainId:rv(e[0],"chainId"),nonce:rw(e[1],"nonce"),maxPriorityFeePerGas:rv(e[2],"maxPriorityFeePerGas"),maxFeePerGas:rv(e[3],"maxFeePerGas"),gasPrice:null,gasLimit:rv(e[4],"gasLimit"),to:rA(e[5]),value:rv(e[6],"value"),data:(0,x.c$)(e[7]),accessList:rb(e[8],"accessList")};return 9===e.length||rk(r,e.slice(9)),r}(e));case 3:return rR.from(function(t){let e=ra((0,x.q5)(t).slice(1)),r="3",n=null,i=null;if(4===e.length&&Array.isArray(e[0])){r="3 (network format)";let t=e[1],n=e[2],s=e[3];(0,R.MR)(Array.isArray(t),"invalid network format: blobs not an array","fields[1]",t),(0,R.MR)(Array.isArray(n),"invalid network format: commitments not an array","fields[2]",
5n),(0,R.MR)(Array.isArray(s),"invalid network format: proofs not an array","fields[3]",s),(0,R.MR)(t.length===n.length,"invalid network format: blobs/commitments length mismatch","fields",e),(0,R.MR)(t.length===s.length,"invalid network format: blobs/proofs length mismatch","fields",e),i=[];for(let r=0;r<e[1].length;r++)i.push({data:t[r],commitment:n[r],proof:s[r]});e=e[0]}else if(5===e.length&&Array.isArray(e[0])){r="3 (EIP-7594 network format)",n=(0,k.WZ)(e[1]);let t=e[2],s=e[3],a=e[4];(0,R.MR)(1===n,`unsupported EIP-7594 network format version: ${n}`,"fields[1]",n),(0,R.MR)(Array.isArray(t),"invalid EIP-7594 network format: blobs not an array","fields[2]",t),(0,R.MR)(Array.isArray(s),"invalid EIP-7594 network format: commitments not an array","fields[3]",s),(0,R.MR)(Array.isArray(a),"invalid EIP-7594 network format: proofs not an array","fields[4]",a),(0,R.MR)(t.length===s.length,"invalid network format: blobs/commitments length mismatch","fields",e),(0,R.MR)(128*t.length===a.length,"invalid network format: blobs/proofs length mismatch","fields",e),i=[];for(let e=0;e<t.length;e++){let r=[];for(let t=0;t<128;t++)r.push(a[128*e+t]);i.push({data:t[e],commitment:s[e],proof:(0,x.xW)(r)})}e=e[0]}(0,R.MR)(Array.isArray(e)&&(11===e.length||14===e.length),`invalid field count for transaction type: ${r}`,"data",(0,x.c$)(t));let s={type:3,chainId:rv(e[0],"chainId"),nonce:rw(e[1],"nonce"),maxPriorityFeePerGas:rv(e[2],"maxPriorityFeePerGas"),maxFeePerGas:rv(e[3],"maxFeePerGas"),gasPrice:null,gasLimit:rv(e[4],"gasLimit"),to:rA(e[5]),value:rv(e[6],"value"),data:(0,x.c$)(e[7]),accessList:rb(e[8],"accessList"),maxFeePerBlobGas:rv(e[9],"maxFeePerBlobGas"),blobVersionedHashes:e[10],blobWrapperVersion:n};i&&(s.blobs=i),(0,R.MR)(null!=s.to,`invalid address for transaction type: ${r}`,"data",t),(0,R.MR)(Array.isArray(s.blobVersionedHashes),"invalid blobVersionedHashes: must be an array","data",t);for(let e=0;e<s.blobVersionedHashes.length;e++)(0,R.MR)((0,x.Lo)(s.blobVersionedHashes[e],32),`invalid blobVersionedHash at index ${e}: must be length 32`,"data",t);return 11===e.length||rk(s,e.slice(11)),s}(e));case 4:return rR.from(function(t){let e=ra((0,x.q5)(t).slice(1));(0,R.MR)(Array.isArray(e)&&(10===e.length||13===e.length),"invalid field count for transaction type: 4","data",(0,x.c$)(t));let r={type:4,chainId:rv(e[0],"chainId"),nonce:rw(e[1],"nonce"),maxPriorityFeePerGas:rv(e[2],"maxPriorityFeePerGas"),maxFeePerGas:rv(e[3],"maxFeePerGas"),gasPrice:null,gasLimit:rv(e[4],"gasLimit"),to:rA(e[5]),value:rv(e[6],"value"),data:(0,x.c$)(e[7]),accessList:rb(e[8],"accessList"),authorizationList:function(t,e){try{if(!Array.isArray(t))throw Error("authorizationList: invalid array");let e=[];for(let r=0;r<t.length;r++){let n=t[r];if(!Array.isArray(n))throw Error(`authorization[${r}
5]: invalid array`);if(6!==n.length)throw Error(`authorization[${r}]: wrong length`);if(!n[1])throw Error(`authorization[${r}]: null address`);e.push({address:rA(n[1]),nonce:rv(n[2],"nonce"),chainId:rv(n[0],"chainId"),signature:tr.from({yParity:rw(n[3],"yParity"),r:(0,x.nx)(n[4],32),s:(0,x.nx)(n[5],32)})})}return e}catch(r){(0,R.MR)(!1,r.message,e,t)}}(e[9],"authorizationList")};return 10===e.length||rk(r,e.slice(10)),r}(e))}(0,R.vA)(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:"from"})}let e=new rR;return null!=t.type&&(e.type=t.type),null!=t.to&&(e.to=t.to),null!=t.nonce&&(e.nonce=t.nonce),null!=t.gasLimit&&(e.gasLimit=t.gasLimit),null!=t.gasPrice&&(e.gasPrice=t.gasPrice),null!=t.maxPriorityFeePerGas&&(e.maxPriorityFeePerGas=t.maxPriorityFeePerGas),null!=t.maxFeePerGas&&(e.maxFeePerGas=t.maxFeePerGas),null!=t.maxFeePerBlobGas&&(e.maxFeePerBlobGas=t.maxFeePerBlobGas),null!=t.data&&(e.data=t.data),null!=t.value&&(e.value=t.value),null!=t.chainId&&(e.chainId=t.chainId),null!=t.signature&&(e.signature=tr.from(t.signature)),null!=t.accessList&&(e.accessList=t.accessList),null!=t.authorizationList&&(e.authorizationList=t.authorizationList),null!=t.blobVersionedHashes&&(e.blobVersionedHashes=t.blobVersionedHashes),null!=t.kzg&&(e.kzg=t.kzg),null!=t.blobWrapperVersion&&(e.blobWrapperVersion=t.blobWrapperVersion),null!=t.blobs&&(e.blobs=t.blobs),null!=t.hash&&((0,R.MR)(e.isSigned(),"unsigned transaction cannot define '.hash'","tx",t),(0,R.MR)(e.hash===t.hash,"hash mismatch","tx",t)),null!=t.from&&((0,R.MR)(e.isSigned(),"unsigned transaction cannot define '.from'","tx",t),(0,R.MR)(e.from.toLowerCase()===(t.from||"").toLowerCase(),"from mismatch","tx",t)),e}}var rP=r(52561);let rN="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";BigInt(0);let rI=BigInt(58);function rB(t){return t.match(/^ipfs:\/\/ipfs\//i)?t=t.substring(12):t.match(/^ipfs:\/\//i)?t=t.substring(7):(0,R.MR)(!1,"unsupported IPFS format","link",t),`https://gateway.ipfs.io/ipfs/${t}`}class rC{name;constructor(t){(0,P.n)(this,{name:t})}connect(t){return this}supportsCoinType(t){return!1}async encodeAddress(t,e){throw Error("unsupported coin")}async decodeAddress(t,e){throw Error("unsupported coin")}}let rO=RegExp("^(ipfs)://(.*)$","i"),rT=[RegExp("^(https)://(.*)$","i"),RegExp("^(data):(.*)$","i"),rO,RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];class rS{provider;address;name;#tv;#tE;constructor(t,e,r){(0,P.n)(this,{provider:t,address:e,name:r}),this.#tv=null,this.#tE=new tw.NZ(e,["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)"],t)}async supportsWildcard(){return null==this.#tv&&(this.#tv=(async()=>{try{return await this.#tE.supportsInterface("0x9061b923")}catch(t){if((0,R.bJ)(t,"CALL_EXCEPTION"))return!1;throw this.#tv=null,t}})()),await this.#tv}async #tx(t,e){var r,n;e=(e||[]).slice();let i=this.#tE.interface;e.unshift(tX(this.name));let s=null;await this.supportsWildcard()&&(s=i.getFunction(t),(0,R.vA)(s,"missing fragment","UNKNOWN_ERROR",{info:{funcName:t}}),e=[(r=this.name,n=255,(0,R.MR)(true,"DNS encoded label cannot exceed 255","length",n),(0,x.c$)((0,x.xW)(tY(r).map(t=>{(0,R.MR)(t.length<=n,`label ${JSON.stringify(r)} exceeds ${n} bytes`,"name",r);let e=new Uint8Array(t.length+1);return e.set(t,1),e[0]=e.length-1,e})))+"00"),i.encodeFunctionData(s,e)],t="resolve(bytes,bytes)"),e.push({enableCcipRead:!0});try{let r=await this.#tE[t](...e);if(s)return i.decodeFunctionResult(s,r)[0];return r}catch(t){if(!(0,R.bJ)(t,"CALL_EXCEPTION"))throw t}return null}async getAddress(t){if(null==t&&(t=60),60===t)try{let t=await this.#tx("addr(bytes32)");if(null==t||t===tb)return null;return t}catch(t){if((0,R.bJ)(t,"CALL_EXCEPTION"))return null;throw t}if(t>=0&&t<0x80000000){let e=t+0x80000000,r=await this.#tx("addr(bytes32,uint)",[e]);if((0,x.Lo)(r,20))return(0,w.b)(r)}let e=null;for(let r of this.provider.plugins)if(r instanceof rC&&r.supportsCoinType(t)){e=r;break}if(null==e)return null;let r=await this.#tx("addr(bytes32,uint)",[t]);if(null==r||"0x"===r)return null;let n=await e.decodeAddress(t,r);if(null!=n)return n;(0,R.vA)(!1,"invalid coin data","UNSUPPORTED_OPERATION",{operation:`getAddress(${t})`,info:{coinType:t,data:r}})}async getText(t){let e=await this.#tx("text(bytes32,string)",[t]);return null==e||"0x"===e?null:e}async getContentHash(){let t=await this.#tx("contenthash(bytes32)");if(null==t||"0x"===t)return null;let e=t.match(/^0x(e3010170|e5010172)(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);
5if(e){let t="e3010170"===e[1]?"ipfs":"ipns",r=parseInt(e[4],16);if(e[5].length===2*r)return`${t}://${function(t){let e=(0,x.q5)(t),r=(0,k.Dg)(e),n="";for(;r;)n=rN[Number(r%rI)]+n,r/=rI;for(let t=0;t<e.length&&!e[t];t++)n=rN[0]+n;return n}("0x"+e[2])}`}let r=t.match(/^0xe40101fa011b20([0-9a-f]*)$/);if(r&&64===r[1].length)return`bzz://${r[1]}`;(0,R.vA)(!1,"invalid or unsupported content hash data","UNSUPPORTED_OPERATION",{operation:"getContentHash()",info:{data:t}})}async getAvatar(){return(await this._getAvatar()).url}async _getAvatar(){let t=[{type:"name",value:this.name}];try{let e=await this.getText("avatar");if(null==e)return t.push({type:"!avatar",value:""}),{url:null,linkage:t};t.push({type:"avatar",value:e});for(let r=0;r<rT.length;r++){let n=e.match(rT[r]);if(null==n)continue;let i=n[1].toLowerCase();switch(i){case"https":case"data":return t.push({type:"url",value:e}),{linkage:t,url:e};case"ipfs":{let r=rB(e);return t.push({type:"ipfs",value:e}),t.push({type:"url",value:r}),{linkage:t,url:r}}case"erc721":case"erc1155":{let r="erc721"===i?"tokenURI(uint256)":"uri(uint256)";t.push({type:i,value:e});let s=await this.getAddress();if(null==s)return t.push({type:"!owner",value:""}),{url:null,linkage:t};let a=(n[2]||"").split("/");if(2!==a.length)return t.push({type:`!${i}caip`,value:n[2]||""}),{url:null,linkage:t};let o=a[1],l=new tw.NZ(a[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("erc721"===i){let e=await l.ownerOf(o);if(s!==e)return t.push({type:"!owner",value:e}),{url:null,linkage:t};t.push({type:"owner",value:e})}else if("erc1155"===i){let e=await l.balanceOf(s,o);
5if(!e)return t.push({type:"!balance",value:"0"}),{url:null,linkage:t};t.push({type:"balance",value:e.toString()})}let u=await l[r](o);if(null==u||"0x"===u)return t.push({type:"!metadata-url",value:""}),{url:null,linkage:t};t.push({type:"metadata-url-base",value:u}),"erc1155"===i&&(u=u.replace("{id}",(0,k.up)(o,32).substring(2)),t.push({type:"metadata-url-expanded",value:u})),u.match(/^ipfs:/i)&&(u=rB(u)),t.push({type:"metadata-url",value:u});let c={},h=await new tm(u).send();h.assertOk();try{c=h.bodyJson}catch(e){try{t.push({type:"!metadata",value:h.bodyText})}catch(r){let e=h.body;e&&t.push({type:"!metadata",value:(0,x.c$)(e)})}return{url:null,linkage:t}}if(!c)return t.push({type:"!metadata",value:""}),{url:null,linkage:t};t.push({type:"metadata",value:JSON.stringify(c)});let f=c.image;if("string"!=typeof f)return t.push({type:"!imageUrl",value:""}),{url:null,linkage:t};if(f.match(/^(https:\/\/|data:)/i));else{let e=f.match(rO);if(null==e)return t.push({type:"!imageUrl-ipfs",value:f}),{url:null,linkage:t};t.push({type:"imageUrl-ipfs",value:f}),f=rB(f)}return t.push({type:"url",value:f}),{linkage:t,url:f}}}}}catch(t){}return{linkage:t,url:null}}static async getEnsAddress(t){let e=await t.getNetwork(),r=e.getPlugin("org.ethers.plugins.network.Ens");return(0,R.vA)(r,"network does not support ENS","UNSUPPORTED_OPERATION",{operation:"getEnsAddress",info:{network:e}}),r.address}static async #tk(t,e){let r=await rS.getEnsAddress(t);try{let n=new tw.NZ(r,["function resolver(bytes32) view returns (address)"],t),i=await n.resolver(tX(e),{enableCcipRead:!0});if(i===tb)return null;return i}catch(t){throw t}}static async fromName(t,e){let r=e;for(;;){if(""===r||"."===r||"eth"!==e&&"eth"===r)return null;let n=await rS.#tk(t,r);if(null!=n){let i=new rS(t,n,e);if(r!==e&&!await i.supportsWildcard())return null;return i}r=r.split(".").slice(1).join(".")}}}let rM=BigInt(0);function rU(t,e){return function(r){return null==r?e:t(r)}}function rL(t,e){return r=>{if(e&&null==r)return null;if(!Array.isArray(r))throw Error("not an array");return r.map(e=>t(e))}}function rF(t,e){return r=>{let n={};for(let i in t){let s=i;if(e&&i in e&&!(s in r)){for(let t of e[i])if(t in r){s=t;break}}try{let e=t[i](r[s]);void 0!==e&&(n[i]=e)}catch(e){let t=e instanceof Error?e.message:"not-an-error";(0,R.vA)(!1,`invalid value for value.${i} (${t})`,"BAD_DATA",{value:r})}}return n}}function rD(t){return(0,R.MR)((0,x.Lo)(t,!0),"invalid data","value",t),t}function rG(t){return(0,R.MR)((0,x.Lo)(t,32),"invalid hash","value",t),t}let rH=rF({address:w.b,blockHash:rG,blockNumber:k.WZ,data:rD,index:k.WZ,removed:rU(function(t){switch(t){case!0:case"true":return!0;case!1:case"false":return!1}(0,R.MR)(!1,`invalid boolean; ${JSON.stringify(t)}`,"value",t)},!1),topics:rL(rG),transactionHash:rG,transactionIndex:k.WZ},{index:["logIndex"]}),rQ=rF({hash:rU(rG),parentHash:rG,parentBeaconBlockRoot:rU(rG,null),number:k.WZ,timestamp:k.WZ,nonce:rU(rD),difficulty:k.Ab,gasLimit:k.Ab,gasUsed:k.Ab,stateRoot:rU(rG,null),receiptsRoot:rU(rG,null),blobGasUsed:rU(k.Ab,null),excessBlobGas:rU(k.Ab,null),miner:rU(w.b),prevRandao:rU(rG,null),extraData:rD,baseFeePerGas:rU(k.Ab)},{prevRandao:["mixHash"]}),rz=rF({transactionIndex:k.WZ,blockNumber:k.WZ,transactionHash:rG,address:w.b,topics:rL(rG),data:rD,index:k.WZ,blockHash:rG},{index:["logIndex"]}),rj=rF({to:rU(w.b,null),from:rU(w.b,null),contractAddress:rU(w.b,null),index:k.WZ,root:rU(x.c$),gasUsed:k.Ab,blobGasUsed:rU(k.Ab,null),logsBloom:rU(rD),blockHash:rG,hash:rG,logs:rL(function(t){return rz(t)}),blockNumber:k.WZ,cumulativeGasUsed:k.Ab,effectiveGasPrice:rU(k.Ab),blobGasPrice:rU(k.Ab,null),status:rU(k.WZ),type:rU(k.WZ,0)},{effectiveGasPrice:["gasPrice"],hash:["transactionHash"],index:["transactionIndex"]});function rV(t){t.to&&(0,k.Ab)(t.to)===rM&&(t.to="0x0000000000000000000000000000000000000000");let e=rF({hash:rG,index:rU(k.WZ,void 0),type:t=>"0x"===t||null==t?0:(0,k.WZ)(t),accessList:rU(j.$,null),blobVersionedHashes:rU(rL(rG,!0),null),authorizationList:rU(rL(t=>{let e;if(t.signature)e=t.signature;else{let r=t.yParity;"0x1b"===r?r=0:"0x1c"===r&&(r=1),e=Object.assign({},t,{yParity:r})}return{address:(0,w.b)(t.address),chainId:(0,k.Ab)(t.chainId),nonce:(0,k.Ab)(t.nonce),signature:tr.from(e)}},!1),null),blockHash:rU(rG,null),blockNumber:rU(k.WZ,null),transactionIndex:rU(k.WZ,null),from:w.b,gasPrice:rU(k.Ab),maxPriorityFeePerGas:rU(k.Ab),maxFeePerGas:rU(k.Ab),maxFeePerBlobGas:rU(k.Ab,null),gasLimit:k.Ab,to:rU(w.b,null),value:k.Ab,nonce:k.WZ,data:rD,creates:rU(w.b,null),chainId:rU(k.Ab,null)},{data:["input"],gasLimit:["gas"],index:["transactionIndex"]})(t);if(null==e.to&&null==e.creates&&(e.creates=function(t){let e=(0,w.b)(t.from),r=(0,k.Ab)(t.nonce,"tx.nonce").toString(16);return r="0"===r?"0x":r.length%2?"0x0"+r:"0x"+r,(0,w.b)((0,x.ZG)((0,E.S)(ru([e,r])),12))}(e)),(1===t.type||2===t.type)&&null==t.accessList&&(e.accessList=[]),t.signature?e.signature=tr.from(t.signature):e.signature=tr.from(t),null==e.chainId){let t=e.signature.legacyChainId;null!=t&&(e.chainId=t)}return e.blockHash&&(0,k.Ab)(e.blockHash)===rM&&(e.blockHash=null),e}class rJ{name;constructor(t){(0,P.n)(this,{name:t})}clone(){return new rJ(this.name)}}class rK extends rJ{effectiveBlock;txBase;txCreate;txDataZero;txDataNonzero;txAccessListStorageKey;txAccessListAddress;constructor(t,e){null==t&&(t=0),super(`org.ethers.network.plugins.GasCost#${t||0}`);let r={effectiveBlock:t};function n(t,n){let i=(e||{})[t];null==i&&(i=n),(0,R.MR)("number"==typeof i,`invalud value for ${t}`,"costs",e),r[t]=i}n("txBase",21e3),n("txCreate",32e3),n("txDataZero",4),n("txDataNonzero",16),n("txAccessListStorageKey",1900),n("txAccessListAddress",2400),(0,P.n)(this,r)}clone(){return new rK(this.effectiveBlock,this)}}class rZ extends rJ{address;targetNetwork;constructor(t,e){super("org.ethers.plugins.network.Ens"),(0,P.n)(this,{address:t||"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",targetNetwork:null==e?1:e})}clone(){return new rZ(this.address,this.targetNetwork)}}class rW extends rJ{#Q;#tR;get url(){return this.#Q}get processFunc(){return this.#tR}constructor(t,e){super("org.ethers.plugins.network.FetchUrlFeeDataPlugin"),this.#Q=t,this.#tR=e}clone(){return this}}let rq=new Map;class r_{#tP;#th;#tN;constructor(t,e){this.#tP=t,this.#th=(0,k.Ab)(e),this.#tN=new Map}toJSON(){return{name:this.name,chainId:String(this.chainId)}}get name(){return this.#tP}set name(t){this.#tP=t}get chainId(){return this.#th}set chainId(t){this.#th=(0,k.Ab)(t,"chainId")}matches(t){if(null==t)return!1;if("string"==typeof t){try{return this.chainId===(0,k.Ab)(t)}catch(t){}return this.name===t}if("number"==typeof t||"bigint"==typeof t){try{return this.chainId===(0,k.Ab)(t)}catch(t){}return!1}if("object"==typeof t){if(null!=t.chainId){try{return this.chainId===(0,k.Ab)(t.chainId)}catch(t){}return!1}if(null!=t.name)return this.name===t.name}return!1}get plugins(){return Array.from(this.#tN.values())}attachPlugin(t){if(this.#tN.get(t.name))throw Error(`cannot replace existing plugin: ${t.name} `);return this.#tN.set(t.name,t.clone()),this}getPlugin(t){return this.#tN.get(t)||null}getPlugins(t){return this.plugins.filter(e=>e.name.split("#")[0]===t)}clone(){let t=new r_(this.name,this.chainId);
5return this.plugins.forEach(e=>{t.attachPlugin(e.clone())}),t}computeIntrinsicGas(t){let e=this.getPlugin("org.ethers.plugins.network.GasCost")||new rK,r=e.txBase;if(null==t.to&&(r+=e.txCreate),t.data)for(let n=2;n<t.data.length;n+=2)"00"===t.data.substring(n,n+2)?r+=e.txDataZero:r+=e.txDataNonzero;if(t.accessList){let n=(0,j.$)(t.accessList);for(let t in n)r+=e.txAccessListAddress+e.txAccessListStorageKey*n[t].storageKeys.length}return r}static from(t){if(function(){r$||(r$=!0,t("mainnet",1,{ensNetwork:1,altNames:["homestead"]}),t("ropsten",3,{ensNetwork:3}),t("rinkeby",4,{ensNetwork:4}),t("goerli",5,{ensNetwork:5}),t("kovan",42,{ensNetwork:42}),t("sepolia",0xaa36a7,{ensNetwork:0xaa36a7}),t("holesky",17e3,{ensNetwork:17e3}),t("classic",61,{}),t("classicKotti",6,{}),t("arbitrum",42161,{ensNetwork:1}),t("arbitrum-goerli",421613,{}),t("arbitrum-sepolia",421614,{}),t("base",8453,{ensNetwork:1}),t("base-goerli",84531,{}),t("base-sepolia",84532,{}),t("bnb",56,{ensNetwork:1}),t("bnbt",97,{}),t("filecoin",314,{}),t("filecoin-calibration",314159,{}),t("linea",59144,{ensNetwork:1}),t("linea-goerli",59140,{}),t("linea-sepolia",59141,{}),t("matic",137,{ensNetwork:1,plugins:[rX("https://gasstation.polygon.technology/v2")]}),t("matic-amoy",80002,{}),t("matic-mumbai",80001,{altNames:["maticMumbai","maticmum"],plugins:[rX("https://gasstation-testnet.polygon.technology/v2")]}),t("optimism",10,{ensNetwork:1,plugins:[]}),t("optimism-goerli",420,{}),t("optimism-sepolia",0xaa37dc,{}),t("xdai",100,{ensNetwork:1}));function t(t,e,r){let n=function(){let n=new r_(t,e);return null!=r.ensNetwork&&n.attachPlugin(new rZ(null,r.ensNetwork)),n.attachPlugin(new rK),(r.plugins||[]).forEach(t=>{n.attachPlugin(t)}),n};r_.register(t,n),r_.register(e,n),r.altNames&&r.altNames.forEach(t=>{r_.register(t,n)})}}(),null==t)return r_.from("mainnet");if("number"==typeof t&&(t=BigInt(t)),"string"==typeof t||"bigint"==typeof t){let e=rq.get(t);if(e)return e();if("bigint"==typeof t)return new r_("unknown",t);(0,R.MR)(!1,"unknown network","network",t)}if("function"==typeof t.clone)return t.clone();if("object"==typeof t){(0,R.MR)("string"==typeof t.name&&"number"==typeof t.chainId,"invalid network object name or chainId","network",t);let e=new r_(t.name,t.chainId);return(t.ensAddress||null!=t.ensNetwork)&&e.attachPlugin(new rZ(t.ensAddress,t.ensNetwork)),e}(0,R.MR)(!1,"invalid network","network",t)}static register(t,e){"number"==typeof t&&(t=BigInt(t));let r=rq.get(t);r&&(0,R.MR)(!1,`conflicting network for ${JSON.stringify(r.name)}`,"nameOrChainId",t),rq.set(t,e)}}function rY(t,e){let r=String(t);if(!r.match(/^[0-9.]+$/))throw Error(`invalid gwei value: ${t}`);let n=r.split(".");if(1===n.length&&n.push(""),2!==n.length)throw Error(`invalid gwei value: ${t}`);for(;n[1].length<e;)n[1]+="0";if(n[1].length>9){let t=BigInt(n[1].substring(0,9));!n[1].substring(9).match(/^0+$/)&&t++,n[1]=t.toString()}return BigInt(n[0]+n[1])}function rX(t){return new rW(t,async(t,e,r)=>{let n;r.setHeader("User-Agent","ethers");try{let[e,i]=await Promise.all([r.send(),t()]),s=(n=e).bodyJson.standard;return{gasPrice:i.gasPrice,maxFeePerGas:rY(s.maxFee,9),maxPriorityFeePerGas:rY(s.maxPriorityFee,9)}}catch(t){(0,R.vA)(!1,`error encountered with polygon gas station (${JSON.stringify(r.url)})`,"SERVER_ERROR",{request:r,response:n,error:t})}})}let r$=!1;var r0=r(48960);function r1(t){return JSON.parse(JSON.stringify(t))}class r2{#tI;#tB;#tC;#tO;constructor(t){this.#tI=t,this.#tB=null,this.#tC=4e3,this.#tO=-2}get pollingInterval(){return this.#tC}set pollingInterval(t){this.#tC=t}async #tT(){try{let t=await this.#tI.getBlockNumber();if(-2===this.#tO){this.#tO=t;return}if(t!==this.#tO){for(let e=this.#tO+1;e<=t;e++){if(null==this.#tB)return;await this.#tI.emit("block",e)}this.#tO=t}}catch(t){}null!=this.#tB&&(this.#tB=this.#tI._setTimeout(this.#tT.bind(this),this.#tC))}start(){this.#tB||(this.#tB=this.#tI._setTimeout(this.#tT.bind(this),this.#tC),this.#tT())}stop(){this.#tB&&(this.#tI._clearTimeout(this.#tB),this.#tB=null)}pause(t){this.stop(),t&&(this.#tO=-2)}resume(){this.start()}}class r4{#tI;#tT;#tS;constructor(t){this.#tI=t,this.#tS=!1,this.#tT=t=>{this._poll(t,this.#tI)}}async _poll(t,e){throw Error("sub-classes must override this")}start(){this.#tS||(this.#tS=!0,this.#tT(-2),this.#tI.on("block",this.#tT))}stop(){this.#tS&&(this.#tS=!1,this.#tI.off("block",this.#tT))}pause(t){this.stop()}resume(){this.start()}}class r8 extends r4{#tM;#tU;constructor(t,e){super(t),this.#tM=e,this.#tU=-2}pause(t){t&&(this.#tU=-2),super.pause(t)}async _poll(t,e){let r=await e.getBlock(this.#tM);null!=r&&(-2===this.#tU?this.#tU=r.number:r.number>this.#tU&&(e.emit(this.#tM,r.number),this.#tU=r.number))}}class r3 extends r4{#R;constructor(t,e){super(t),this.#R=r1(e)}async _poll(t,e){throw Error("@TODO")}}class r5 extends r4{#tL;constructor(t,e){super(t),this.#tL=e}async _poll(t,e){let r=await e.getTransactionReceipt(this.#tL);r&&e.emit(this.#tL,r)}}class r6{#tI;#R;#tB;#tS;#tO;constructor(t,e){this.#tI=t,this.#R=r1(e),this.#tB=this.#tT.bind(this),this.#tS=!1,this.#tO=-2}async #tT(t){if(-2===this.#tO)return;let e=r1(this.#R);e.fromBlock=this.#tO+1,e.toBlock=t;let r=await this.#tI.getLogs(e);if(0===r.length){this.#tO<t-60&&(this.#tO=t-60);return}for(let t of r)this.#tI.emit(this.#R,t),this.#tO=t.blockNumber}start(){this.#tS||(this.#tS=!0,-2===this.#tO&&this.#tI.getBlockNumber().then(t=>{this.#tO=t}),this.#tI.on("block",this.#tB))}stop(){this.#tS&&(this.#tS=!1,this.#tI.off("block",this.#tB))}pause(t){this.stop(),t&&(this.#tO=-2)}resume(){this.start()}}let r9=BigInt(2);function r7(t){return t&&"function"==typeof t.then}function nt(t,e){return t+":"+JSON.stringify(e,(t,e)=>{if(null==e)return"null";if("bigint"==typeof e)return`bigint:${e.toString()}`;if("string"==typeof e)return e.toLowerCase();if("object"==typeof e&&!Array.isArray(e)){let t=Object.keys(e);return t.sort(),t.reduce((t,r)=>(t[r]=e[r],t),{})}return e})}class ne{name;constructor(t){(0,P.n)(this,{name:t})}start(){}stop(){}pause(t){}resume(){}}
5function nr(t){return(t=Array.from(new Set(t).values())).sort(),t}async function nn(t,e){if(null==t)throw Error("invalid event");if(Array.isArray(t)&&(t={topics:t}),"string"==typeof t)switch(t){case"block":case"debug":case"error":case"finalized":case"network":case"pending":case"safe":return{type:t,tag:t}}if((0,x.Lo)(t,32)){let e=t.toLowerCase();return{type:"transaction",tag:nt("tx",{hash:e}),hash:e}}if(t.orphan){let e=t;return{type:"orphan",tag:nt("orphan",e),filter:JSON.parse(JSON.stringify(e))}}if(t.address||t.topics){let r=t,n={topics:(r.topics||[]).map(t=>null==t?null:Array.isArray(t)?nr(t.map(t=>t.toLowerCase())):t.toLowerCase())};if(r.address){let t=[],i=[],s=r=>{(0,x.Lo)(r)?t.push(r):i.push((async()=>{t.push(await (0,v.tG)(r,e))})())};Array.isArray(r.address)?r.address.forEach(s):s(r.address),i.length&&await Promise.all(i),n.address=nr(t.map(t=>t.toLowerCase()))}return{filter:n,tag:nt("event",n),type:"event"}}(0,R.MR)(!1,"unknown ProviderEvent","event",t)}function ni(){return new Date().getTime()}let ns={cacheTimeout:250,pollingInterval:4e3};class na{#tF;#tN;#tD;#tG;#tH;#tQ;#tz;#tj;#tV;#tJ;#tK;#t;constructor(t,e){if(this.#t=Object.assign({},ns,e||{}),"any"===t)this.#tQ=!0,this.#tH=null;else if(t){let e=r_.from(t);this.#tQ=!1,this.#tH=Promise.resolve(e),setTimeout(()=>{this.emit("network",e,null)},0)}else this.#tQ=!1,this.#tH=null;this.#tj=-1,this.#tz=new Map,this.#tF=new Map,this.#tN=new Map,this.#tD=null,this.#tG=!1,this.#tV=1,this.#tJ=new Map,this.#tK=!1}get pollingInterval(){return this.#t.pollingInterval}get provider(){return this}get plugins(){return Array.from(this.#tN.values())}attachPlugin(t){if(this.#tN.get(t.name))throw Error(`cannot replace existing plugin: ${t.name} `);return this.#tN.set(t.name,t.connect(this)),this}getPlugin(t){return this.#tN.get(t)||null}get disableCcipRead(){return this.#tK}set disableCcipRead(t){this.#tK=!!t}async #tZ(t){let e=this.#t.cacheTimeout;if(e<0)return await this._perform(t);let r=nt(t.method,t),n=this.#tz.get(r);return n||(n=this._perform(t),this.#tz.set(r,n),setTimeout(()=>{this.#tz.get(r)===n&&this.#tz.delete(r)},e)),await n}async ccipReadFetch(t,e,r){if(this.disableCcipRead||0===r.length||null==t.to)return null;let n=t.to.toLowerCase(),i=e.toLowerCase(),s=[];for(let e=0;e<r.length;e++){let a,o=r[e],l=new tm(o.replace("{sender}",n).replace("{data}",i));-1===o.indexOf("{data}")&&(l.body={data:i,sender:n}),this.emit("debug",{action:"sendCcipReadFetchRequest",request:l,index:e,urls:r});let u="unknown error";try{a=await l.send()}catch(t){s.push(t.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:l,result:{error:t}});continue}try{let t=a.bodyJson;if(t.data)return this.emit("debug",{action:"receiveCcipReadFetchResult",request:l,result:t}),t.data;t.message&&(u=t.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:l,result:t})}catch(t){}(0,R.vA)(a.statusCode<400||a.statusCode>=500,`response not found during CCIP fetch: ${u}`,"OFFCHAIN_FAULT",{reason:"404_MISSING_RESOURCE",transaction:t,info:{url:o,errorMessage:u}}),s.push(u)}(0,R.vA)(!1,`error encountered during CCIP fetch: ${s.map(t=>JSON.stringify(t)).join(", ")}`,"OFFCHAIN_FAULT",{reason:"500_SERVER_ERROR",transaction:t,info:{urls:r,errorMessages:s}})}_wrapBlock(t,e){return new r0.eB(function(t){let e=rQ(t);return e.transactions=t.transactions.map(t=>"string"==typeof t?t:rV(t)),e}(t),this)}_wrapLog(t,e){return new r0.tG(rH(t),this)}_wrapTransactionReceipt(t,e){return new r0.z5(rj(t),this)}_wrapTransactionResponse(t,e){return new r0.uI(rV(t),this)}_detectNetwork(){(0,R.vA)(!1,"sub-classes must implement this","UNSUPPORTED_OPERATION",{operation:"_detectNetwork"})}async _perform(t){(0,R.vA)(!1,`unsupported method: ${t.method}`,"UNSUPPORTED_OPERATION",{operation:t.method,info:t})}async getBlockNumber(){let t=(0,k.WZ)(await this.#tZ({method:"getBlockNumber"}),"%response");return this.#tj>=0&&(this.#tj=t),t}_getAddress(t){return(0,v.tG)(t,this)}_getBlockTag(t){if(null==t)return"latest";switch(t){case"earliest":return"0x0";case"finalized":case"latest":case"pending":case"safe":return t}return(0,x.Lo)(t)?(0,x.Lo)(t,32)?t:(0,k.nD)(t):("bigint"==typeof t&&(t=(0,k.WZ)(t,"blockTag")),"number"==typeof t)?t>=0?(0,k.nD)(t):this.#tj>=0?(0,k.nD)(this.#tj+t):this.getBlockNumber().then(e=>(0,k.nD)(e+t)):void(0,R.MR)(!1,"invalid blockTag","blockTag",t)}_getFilter(t){let e,r,n=(t.topics||[]).map(t=>null==t?null:Array.isArray(t)?nr(t.map(t=>t.toLowerCase())):t.toLowerCase()),i="blockHash"in t?t.blockHash:void 0,s=(t,e,r)=>{let s;switch(t.length){case 0:break;case 1:s=t[0];break;default:t.sort(),s=t}if(i&&(null!=e||null!=r))throw Error("invalid filter");let a={};return s&&(a.address=s),n.length&&(a.topics=n),e&&(a.fromBlock=e),r&&(a.toBlock=r),i&&(a.blockHash=i),a},a=[];if(t.address)if(Array.isArray(t.address))for(let e of t.address)a.push(this._getAddress(e));else a.push(this._getAddress(t.address));return"fromBlock"in t&&(e=this._getBlockTag(t.fromBlock)),("toBlock"in t&&(r=this._getBlockTag(t.toBlock)),a.filter(t=>"string"!=typeof t).length||null!=e&&"string"!=typeof e||null!=r&&"string"!=typeof r)?Promise.all([Promise.all(a),e,r]).then(t=>s(t[0],t[1],t[2])):s(a,e,r)}_getTransactionRequest(t){let e=(0,r0.VS)(t),r=[];if(["to","from"].forEach(t=>{if(null==e[t])return;let n=(0,v.tG)(e[t],this);r7(n)?r.push(async function(){e[t]=await n}()):e[t]=n}),null!=e.blockTag){let t=this._getBlockTag(e.blockTag);r7(t)?r.push(async function(){e.blockTag=await t}()):e.blockTag=t}return r.length?async function(){return await Promise.all(r),e}():e}async getNetwork(){if(null==this.#tH){let t=(async()=>{try{let t=await this._detectNetwork();
5return this.emit("network",t,null),t}catch(e){throw this.#tH===t&&(this.#tH=null),e}})();return this.#tH=t,(await t).clone()}let t=this.#tH,[e,r]=await Promise.all([t,this._detectNetwork()]);return e.chainId!==r.chainId&&(this.#tQ?(this.emit("network",r,e),this.#tH===t&&(this.#tH=Promise.resolve(r))):(0,R.vA)(!1,`network changed: ${e.chainId} => ${r.chainId} `,"NETWORK_ERROR",{event:"changed"})),e.clone()}async getFeeData(){let t=await this.getNetwork(),e=async()=>{let{_block:e,gasPrice:r,priorityFee:n}=await (0,P.k)({_block:this.#tW("latest",!1),gasPrice:(async()=>{try{let t=await this.#tZ({method:"getGasPrice"});return(0,k.Ab)(t,"%response")}catch(t){}return null})(),priorityFee:(async()=>{try{let t=await this.#tZ({method:"getPriorityFee"});return(0,k.Ab)(t,"%response")}catch(t){}return null})()}),i=null,s=null,a=this._wrapBlock(e,t);return a&&a.baseFeePerGas&&(s=null!=n?n:BigInt("1000000000"),i=a.baseFeePerGas*r9+s),new r0.J9(r,i,s)},r=t.getPlugin("org.ethers.plugins.network.FetchUrlFeeDataPlugin");if(r){let t=new tm(r.url),n=await r.processFunc(e,this,t);return new r0.J9(n.gasPrice,n.maxFeePerGas,n.maxPriorityFeePerGas)}return await e()}async estimateGas(t){let e=this._getTransactionRequest(t);return r7(e)&&(e=await e),(0,k.Ab)(await this.#tZ({method:"estimateGas",transaction:e}),"%response")}async #tq(t,e,r){(0,R.vA)(r<10,"CCIP read exceeded maximum redirections","OFFCHAIN_FAULT",{reason:"TOO_MANY_REDIRECTS",transaction:Object.assign({},t,{blockTag:e,enableCcipRead:!0})});let n=(0,r0.VS)(t);try{return(0,x.c$)(await this._perform({method:"call",transaction:n,blockTag:e}))}catch(t){if(!this.disableCcipRead&&(0,R.E)(t)&&t.data&&r>=0&&"latest"===e&&null!=n.to&&"0x556f1830"===(0,x.ZG)(t.data,0,4)){let i,s=t.data,a=await (0,v.tG)(n.to,this);try{i=function(t){let e={sender:"",urls:[],calldata:"",selector:"",extraData:"",errorArgs:[]};(0,R.vA)((0,x.pO)(t)>=160,"insufficient OffchainLookup data","OFFCHAIN_FAULT",{reason:"insufficient OffchainLookup data"});let r=(0,x.ZG)(t,0,32);(0,R.vA)((0,x.ZG)(r,0,12)===(0,x.ZG)(nc,0,12),"corrupt OffchainLookup sender","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup sender"}),e.sender=(0,x.ZG)(r,12);try{let r=[],n=(0,k.WZ)((0,x.ZG)(t,32,64)),i=(0,k.WZ)((0,x.ZG)(t,n,n+32)),s=(0,x.ZG)(t,n+32);for(let t=0;t<i;t++){let e=function(t,e){try{let r=no(t,e);if(r)return(0,ti._v)(r)}catch(t){}return null}(s,32*t);if(null==e)throw Error("abort");r.push(e)}e.urls=r}catch(t){(0,R.vA)(!1,"corrupt OffchainLookup urls","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup urls"})}try{let r=no(t,64);if(null==r)throw Error("abort");e.calldata=r}catch(t){(0,R.vA)(!1,"corrupt OffchainLookup calldata","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup calldata"})}(0,R.vA)((0,x.ZG)(t,100,128)===(0,x.ZG)(nc,0,28),"corrupt OffchainLookup callbaackSelector","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup callbaackSelector"}),e.selector=(0,x.ZG)(t,96,100);try{let r=no(t,128);if(null==r)throw Error("abort");e.extraData=r}catch(t){(0,R.vA)(!1,"corrupt OffchainLookup extraData","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup extraData"})}return e.errorArgs="sender,urls,calldata,selector,extraData".split(/,/).map(t=>e[t]),e}((0,x.ZG)(t.data,4))}catch(t){(0,R.vA)(!1,t.message,"OFFCHAIN_FAULT",{reason:"BAD_DATA",transaction:n,info:{data:s}})}(0,R.vA)(i.sender.toLowerCase()===a.toLowerCase(),"CCIP Read sender mismatch","CALL_EXCEPTION",{action:"call",data:s,reason:"OffchainLookup",transaction:n,invocation:null,revert:{signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",name:"OffchainLookup",args:i.errorArgs}});let o=await this.ccipReadFetch(n,i.calldata,i.urls);(0,R.vA)(null!=o,"CCIP Read failed to fetch data","OFFCHAIN_FAULT",{reason:"FETCH_FAILED",transaction:n,info:{data:t.data,errorArgs:i.errorArgs}});let l={to:a,data:(0,x.xW)([i.selector,function(t){let e=[],r=0;for(let n=0;n<t.length;n++)e.push(nu),r+=32;for(let n=0;n<t.length;n++){let i=(0,x.q5)(t[n]);e[n]=nl(r),e.push(nl(i.length)),e.push(function(t){if(t.length%32==0)return t;let e=new Uint8Array(32*Math.ceil(t.length/32));return e.set(t),e}(i)),r+=32+32*Math.ceil(i.length/32)}return(0,x.xW)(e)}([o,i.extraData])])};
5this.emit("debug",{action:"sendCcipReadCall",transaction:l});try{let t=await this.#tq(l,e,r+1);return this.emit("debug",{action:"receiveCcipReadCallResult",transaction:Object.assign({},l),result:t}),t}catch(t){throw this.emit("debug",{action:"receiveCcipReadCallError",transaction:Object.assign({},l),error:t}),t}}throw t}}async #t_(t){let{value:e}=await (0,P.k)({network:this.getNetwork(),value:t});return e}async call(t){let{tx:e,blockTag:r}=await (0,P.k)({tx:this._getTransactionRequest(t),blockTag:this._getBlockTag(t.blockTag)});return await this.#t_(this.#tq(e,r,t.enableCcipRead?0:-1))}async #tY(t,e,r){let n=this._getAddress(e),i=this._getBlockTag(r);return("string"!=typeof n||"string"!=typeof i)&&([n,i]=await Promise.all([n,i])),await this.#t_(this.#tZ(Object.assign(t,{address:n,blockTag:i})))}async getBalance(t,e){return(0,k.Ab)(await this.#tY({method:"getBalance"},t,e),"%response")}async getTransactionCount(t,e){return(0,k.WZ)(await this.#tY({method:"getTransactionCount"},t,e),"%response")}async getCode(t,e){return(0,x.c$)(await this.#tY({method:"getCode"},t,e))}async getStorage(t,e,r){let n=(0,k.Ab)(e,"position");return(0,x.c$)(await this.#tY({method:"getStorage",position:n},t,r))}async broadcastTransaction(t){let{blockNumber:e,hash:r,network:n}=await (0,P.k)({blockNumber:this.getBlockNumber(),hash:this._perform({method:"broadcastTransaction",signedTransaction:t}),network:this.getNetwork()}),i=rR.from(t);if(i.hash!==r)throw Error("@TODO: the returned hash did not match");return this._wrapTransactionResponse(i,n).replaceableTransaction(e)}async #tW(t,e){if((0,x.Lo)(t,32))return await this.#tZ({method:"getBlock",blockHash:t,includeTransactions:e});let r=this._getBlockTag(t);return"string"!=typeof r&&(r=await r),await this.#tZ({method:"getBlock",blockTag:r,includeTransactions:e})}async getBlock(t,e){let{network:r,params:n}=await (0,P.k)({network:this.getNetwork(),params:this.#tW(t,!!e)});return null==n?null:this._wrapBlock(n,r)}async getTransaction(t){let{network:e,params:r}=await (0,P.k)({network:this.getNetwork(),params:this.#tZ({method:"getTransaction",hash:t})});return null==r?null:this._wrapTransactionResponse(r,e)}async getTransactionReceipt(t){let{network:e,params:r}=await (0,P.k)({network:this.getNetwork(),params:this.#tZ({method:"getTransactionReceipt",hash:t})});if(null==r)return null;if(null==r.gasPrice&&null==r.effectiveGasPrice){let e=await this.#tZ({method:"getTransaction",hash:t});if(null==e)throw Error("report this; could not find tx or effectiveGasPrice");r.effectiveGasPrice=e.gasPrice}return this._wrapTransactionReceipt(r,e)}async getTransactionResult(t){let{result:e}=await (0,P.k)({network:this.getNetwork(),result:this.#tZ({method:"getTransactionResult",hash:t})});return null==e?null:(0,x.c$)(e)}async getLogs(t){let e=this._getFilter(t);r7(e)&&(e=await e);let{network:r,params:n}=await (0,P.k)({network:this.getNetwork(),params:this.#tZ({method:"getLogs",filter:e})});return n.map(t=>this._wrapLog(t,r))}_getProvider(t){(0,R.vA)(!1,"provider cannot connect to target network","UNSUPPORTED_OPERATION",{operation:"_getProvider()"})}async getResolver(t){return await rS.fromName(this,t)}async getAvatar(t){let e=await this.getResolver(t);return e?await e.getAvatar():null}async resolveName(t){let e=await this.getResolver(t);return e?await e.getAddress():null}async lookupAddress(t){let e=tX((t=(0,w.b)(t)).substring(2).toLowerCase()+".addr.reverse");try{let r=await rS.getEnsAddress(this),n=new tw.NZ(r,["function resolver(bytes32) view returns (address)"],this),i=await n.resolver(e);if(null==i||i===tb)return null;let s=new tw.NZ(i,["function name(bytes32) view returns (string)"],this),a=await s.name(e);if(await this.resolveName(a)!==t)return null;return a}catch(t){if((0,R.bJ)(t,"BAD_DATA")&&"0x"===t.value||(0,R.bJ)(t,"CALL_EXCEPTION"))return null;throw t}}async waitForTransaction(t,e,r){let n=null!=e?e:1;return 0===n?this.getTransactionReceipt(t):new Promise(async(e,i)=>{let s=null,a=async r=>{try{let i=await this.getTransactionReceipt(t);if(null!=i&&r-i.blockNumber+1>=n){e(i),s&&(clearTimeout(s),s=null);return}}catch(t){console.log("EEE",t)}this.once("block",a)};null!=r&&(s=setTimeout(()=>{null!=s&&(s=null,this.off("block",a),i((0,R.xz)("timeout","TIMEOUT",{reason:"timeout"})))},r)),a(await this.getBlockNumber())})}async waitForBlock(t){(0,R.vA)(!1,"not implemented yet","NOT_IMPLEMENT
5ED",{operation:"waitForBlock"})}_clearTimeout(t){let e=this.#tJ.get(t);e&&(e.timer&&clearTimeout(e.timer),this.#tJ.delete(t))}_setTimeout(t,e){null==e&&(e=0);let r=this.#tV++,n=()=>{this.#tJ.delete(r),t()};if(this.paused)this.#tJ.set(r,{timer:null,func:n,time:e});else{let t=setTimeout(n,e);this.#tJ.set(r,{timer:t,func:n,time:ni()})}return r}_forEachSubscriber(t){for(let e of this.#tF.values())t(e.subscriber)}_getSubscriber(t){switch(t.type){case"debug":case"error":case"network":return new ne(t.type);case"block":{let t=new r2(this);return t.pollingInterval=this.pollingInterval,t}case"safe":case"finalized":return new r8(this,t.type);case"event":return new r6(this,t.filter);case"transaction":return new r5(this,t.hash);case"orphan":return new r3(this,t.filter)}throw Error(`unsupported event: ${t.type}`)}_recoverSubscriber(t,e){for(let r of this.#tF.values())if(r.subscriber===t){r.started&&r.subscriber.stop(),r.subscriber=e,r.started&&e.start(),null!=this.#tD&&e.pause(this.#tD);break}}async #tX(t,e){let r=await nn(t,this);return"event"===r.type&&e&&e.length>0&&!0===e[0].removed&&(r=await nn({orphan:"drop-log",log:e[0]},this)),this.#tF.get(r.tag)||null}async #t$(t){let e=await nn(t,this),r=e.tag,n=this.#tF.get(r);if(!n){let t=this._getSubscriber(e);n={subscriber:t,tag:r,addressableMap:new WeakMap,nameMap:new Map,started:!1,listeners:[]},this.#tF.set(r,n)}return n}async on(t,e){let r=await this.#t$(t);return r.listeners.push({listener:e,once:!1}),r.started||(r.subscriber.start(),r.started=!0,null!=this.#tD&&r.subscriber.pause(this.#tD)),this}async once(t,e){let r=await this.#t$(t);return r.listeners.push({listener:e,once:!0}),r.started||(r.subscriber.start(),r.started=!0,null!=this.#tD&&r.subscriber.pause(this.#tD)),this}async emit(t,...e){let r=await this.#tX(t,e);if(!r||0===r.listeners.length)return!1;let n=r.listeners.length;return r.listeners=r.listeners.filter(({listener:r,once:n})=>{let i=new rP.z(this,n?null:r,t);try{r.call(this,...e,i)}catch(t){}return!n}),0===r.listeners.length&&(r.started&&r.subscriber.stop(),this.#tF.delete(r.tag)),n>0}async listenerCount(t){if(t){let e=await this.#tX(t);return e?e.listeners.length:0}let e=0;for(let{listeners:t}of this.#tF.values())e+=t.length;return e}async listeners(t){if(t){let e=await this.#tX(t);return e?e.listeners.map(({listener:t})=>t):[]}let e=[];for(let{listeners:t}of this.#tF.values())e=e.concat(t.map(({listener:t})=>t));return e}async off(t,e){let r=await this.#tX(t);if(!r)return this;if(e){let t=r.listeners.map(({listener:t})=>t).indexOf(e);t>=0&&r.listeners.splice(t,1)}return e&&0!==r.listeners.length||(r.started&&r.subscriber.stop(),this.#tF.delete(r.tag)),this}async removeAllListeners(t){if(t){let{tag:e,started:r,subscriber:n}=await this.#t$(t);r&&n.stop(),this.#tF.delete(e)}else for(let[t,{started:e,subscriber:r}]of this.#tF)e&&r.stop(),this.#tF.delete(t);return this}async addListener(t,e){return await this.on(t,e)}async removeListener(t,e){return this.off(t,e)}get destroyed(){return this.#tG}destroy(){for(let t of(this.removeAllListeners(),this.#tJ.keys()))this._clearTimeout(t);this.#tG=!0}get paused(){return null!=this.#tD}set paused(t){!!t!==this.paused&&(this.paused?this.resume():this.pause(!1))}pause(t){if(this.#tj=-1,null!=this.#tD){if(!!t==this.#tD)return;(0,R.vA)(!1,"cannot change pause type; resume first","UNSUPPORTED_OPERATION",{operation:"pause"})}for(let e of(this._forEachSubscriber(e=>e.pause(t)),this.#tD=!!t,this.#tJ.values()))e.timer&&clearTimeout(e.timer),e.time=ni()-e.time}resume(){if(null!=this.#tD)for(let t of(this._forEachSubscriber(t=>t.resume()),this.#tD=null,this.#tJ.values())){let e=t.time;e<0&&(e=0),t.time=ni(),setTimeout(t.func,e)}}}function no(t,e){if("0x"===t)return null;try{let r=(0,k.WZ)((0,x.ZG)(t,e,e+32)),n=(0,k.WZ)((0,x.ZG)(t,r,r+32));return(0,x.ZG)(t,r+32,r+32+n)}catch(t){}return null}function nl(t){let e=(0,k.c4)(t);if(e.length>32)throw Error("internal; should not happen");let r=new Uint8Array(32);return r.set(e,32-e.length),r}let nu=new Uint8Array([]),nc="0x0000000000000000000000000000000000000000000000000000000000000000";function nh(t,e){if(t.provider)return t.provider;(0,R.vA)(!1,"missing provider","UNSUPPORTED_OPERATION",{operation:e})}async function nf(t,e){let r=(0,r0.VS)(e);if(null!=r.to&&(r.to=(0,v.tG)(r.to,t)),null!=r.from){let e=r.from;r.from=Promise.all([t.getAddress(),(0,v.tG)(e,t)]).then(([t,e])=>((0,R.MR)(t.toLowerCase()===e.toLowerCase(),"transaction from mismatch","tx.from",e),t))}else r.from=t.getAddress();return await (0,P.k)(r)}class nd{provider;constructor(t){(0,P.n)(this,{provider:t||null})}async getNonce(t){return nh(this,"getTransactionCount").getTransactionCount(await this.getAddress(),t)}
5async populateCall(t){return await nf(this,t)}async populateTransaction(t){let e=nh(this,"populateTransaction"),r=await nf(this,t);null==r.nonce&&(r.nonce=await this.getNonce("pending")),null==r.gasLimit&&(r.gasLimit=await this.estimateGas(r));let n=await this.provider.getNetwork();if(null!=r.chainId){let e=(0,k.Ab)(r.chainId);(0,R.MR)(e===n.chainId,"transaction chainId mismatch","tx.chainId",t.chainId)}else r.chainId=n.chainId;let i=null!=r.maxFeePerGas||null!=r.maxPriorityFeePerGas;if(null!=r.gasPrice&&(2===r.type||i)?(0,R.MR)(!1,"eip-1559 transaction do not support gasPrice","tx",t):(0===r.type||1===r.type)&&i&&(0,R.MR)(!1,"pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","tx",t),(2===r.type||null==r.type)&&null!=r.maxFeePerGas&&null!=r.maxPriorityFeePerGas)r.type=2;else if(0===r.type||1===r.type){let t=await e.getFeeData();(0,R.vA)(null!=t.gasPrice,"network does not support gasPrice","UNSUPPORTED_OPERATION",{operation:"getGasPrice"}),null==r.gasPrice&&(r.gasPrice=t.gasPrice)}else{let t=await e.getFeeData();if(null==r.type)if(null!=t.maxFeePerGas&&null!=t.maxPriorityFeePerGas)if(r.authorizationList&&r.authorizationList.length?r.type=4:r.type=2,null!=r.gasPrice){let t=r.gasPrice;delete r.gasPrice,r.maxFeePerGas=t,r.maxPriorityFeePerGas=t}else null==r.maxFeePerGas&&(r.maxFeePerGas=t.maxFeePerGas),null==r.maxPriorityFeePerGas&&(r.maxPriorityFeePerGas=t.maxPriorityFeePerGas);else null!=t.gasPrice?((0,R.vA)(!i,"network does not support EIP-1559","UNSUPPORTED_OPERATION",{operation:"populateTransaction"}),null==r.gasPrice&&(r.gasPrice=t.gasPrice),r.type=0):(0,R.vA)(!1,"failed to get consistent fee data","UNSUPPORTED_OPERATION",{operation:"signer.getFeeData"});else(2===r.type||3===r.type||4===r.type)&&(null==r.maxFeePerGas&&(r.maxFeePerGas=t.maxFeePerGas),null==r.maxPriorityFeePerGas&&(r.maxPriorityFeePerGas=t.maxPriorityFeePerGas))}return await (0,P.k)(r)}async populateAuthorization(t){let e=Object.assign({},t);return null==e.chainId&&(e.chainId=(await nh(this,"getNetwork").getNetwork()).chainId),null==e.nonce&&(e.nonce=await this.getNonce()),e}async estimateGas(t){return nh(this,"estimateGas").estimateGas(await this.populateCall(t))}async call(t){return nh(this,"call").call(await this.populateCall(t))}async resolveName(t){let e=nh(this,"resolveName");return await e.resolveName(t)}async sendTransaction(t){let e=nh(this,"sendTransaction"),r=await this.populateTransaction(t);delete r.from;let n=rR.from(r);return await e.broadcastTransaction(await this.signTransaction(n))}authorize(t){(0,R.vA)(!1,"authorization not implemented for this signer","UNSUPPORTED_OPERATION",{operation:"authorize"})}}class np{#tI;#t0;#tB;#tS;#t1;#t2;constructor(t){this.#tI=t,this.#t0=null,this.#tB=this.#tT.bind(this),this.#tS=!1,this.#t1=null,this.#t2=!1}_subscribe(t){throw Error("subclasses must override this")}_emitResults(t,e){throw Error("subclasses must override this")}_recover(t){throw Error("subclasses must override this")}async #tT(t){try{null==this.#t0&&(this.#t0=this._subscribe(this.#tI));let t=null;try{t=await this.#t0}catch(t){if(!(0,R.bJ)(t,"UNSUPPORTED_OPERATION")||"eth_newFilter"!==t.operation)throw t}if(null==t){this.#t0=null,this.#tI._recoverSubscriber(this,this._recover(this.#tI));return}let e=await this.#tI.getNetwork();if(this.#t1||(this.#t1=e),this.#t1.chainId!==e.chainId)throw Error("chaid changed");if(this.#t2)return;let r=await this.#tI.send("eth_getFilterChanges",[t]);await this._emitResults(this.#tI,r)}catch(t){console.log("@TODO",t)}this.#tI.once("block",this.#tB)}#t4(){let t=this.#t0;t&&(this.#t0=null,t.then(t=>{this.#tI.destroyed||this.#tI.send("eth_uninstallFilter",[t])}))}start(){this.#tS||(this.#tS=!0,this.#tT(-2))}stop(){this.#tS&&(this.#tS=!1,this.#t2=!0,this.#t4(),this.#tI.off("block",this.#tB))}pause(t){t&&this.#t4(),this.#tI.off("block",this.#tB)}resume(){this.start()}}class ng extends np{#t8;constructor(t,e){super(t),this.#t8=JSON.parse(JSON.stringify(e))}_recover(t){return new r6(t,this.#t8)}async _subscribe(t){return await t.send("eth_newFilter",[this.#t8])}async _emitResults(t,e){for(let r of e)t.emit(this.#t8,t._wrapLog(r,t._network))}}class nm extends np{async _subscribe(t){return await t.send("eth_newPendingTransactionFilter",[])}async _emitResults(t,e){for(let r of e)t.emit("pending",r)}}let ny="bigint,boolean,function,number,string,symbol".split(/,/g);function nA(t){if(null==t||ny.indexOf(typeof t)>=0||"function"==typeof t.getAddress)return t;if(Array.isArray(t))return t.map(nA);if("object"==typeof t)return Object.keys(t).reduce((e,r)=>(e[r]=t[r],e),{});throw Error(`should not happen: ${t} (${typeof t})`)}function nb(t){return t?t.toLowerCase():t}function nw(t){return t&&"number"==typeof t.pollingInterval}let nv={polling:!1,staticNetwork:null,batchStallTime:10,batchMaxSize:1048576,batchMaxCount:100,cacheTimeout:250,pollingInterval:4e3};class nE extends nd{address;constructor(t,e){super(t),e=(0,w.b)(e),(0,P.n)(this,{address:e})}connect(t){(0,R.vA)(!1,"cannot reconnect JsonRpcSigner","UNSUPPORTED_OPERATION",{operation:"signer.connect"})}async getAddress(){return this.address}async populateTransaction(t){return await this.populateCall(t)}async sendUncheckedTransaction(t){let e=nA(t),r=[];if(e.from){let n=e.from;r.push((async()=>{let r=await (0,v.tG)(n,this.provider);(0,R.MR)(null!=r&&r.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",t),e.from=r})())}else e.from=this.address;
5if(null==e.gasLimit&&r.push((async()=>{e.gasLimit=await this.provider.estimateGas({...e,from:this.address})})()),null!=e.to){let t=e.to;r.push((async()=>{e.to=await (0,v.tG)(t,this.provider)})())}r.length&&await Promise.all(r);let n=this.provider.getRpcTransaction(e);return this.provider.send("eth_sendTransaction",[n])}async sendTransaction(t){let e=await this.provider.getBlockNumber(),r=await this.sendUncheckedTransaction(t);return await new Promise((t,n)=>{let i=[1e3,100],s=0,a=async()=>{try{let n=await this.provider.getTransaction(r);if(null!=n)return void t(n.replaceableTransaction(e))}catch(t){if((0,R.bJ)(t,"CANCELLED")||(0,R.bJ)(t,"BAD_DATA")||(0,R.bJ)(t,"NETWORK_ERROR")||(0,R.bJ)(t,"UNSUPPORTED_OPERATION")){null==t.info&&(t.info={}),t.info.sendTransactionHash=r,n(t);return}if((0,R.bJ)(t,"INVALID_ARGUMENT")&&(s++,null==t.info&&(t.info={}),t.info.sendTransactionHash=r,s>10))return void n(t);this.provider.emit("error",(0,R.xz)("failed to fetch transation after sending (will try again)","UNKNOWN_ERROR",{error:t}))}this.provider._setTimeout(()=>{a()},i.pop()||4e3)};a()})}async signTransaction(t){let e=nA(t);if(e.from){let r=await (0,v.tG)(e.from,this.provider);(0,R.MR)(null!=r&&r.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",t),e.from=r}else e.from=this.address;let r=this.provider.getRpcTransaction(e);return await this.provider.send("eth_signTransaction",[r])}async signMessage(t){let e="string"==typeof t?(0,ti.YW)(t):t;return await this.provider.send("personal_sign",[(0,x.c$)(e),this.address.toLowerCase()])}async signTypedData(t,e,r){let n=nA(r),i=await z.resolveNames(t,e,n,async t=>{let e=await (0,v.tG)(t);return(0,R.MR)(null!=e,"TypedData does not support null address","value",t),e});return await this.provider.send("eth_signTypedData_v4",[this.address.toLowerCase(),JSON.stringify(z.getPayload(i.domain,e,i.value))])}async unlock(t){return this.provider.send("personal_unlockAccount",[this.address.toLowerCase(),t,null])}async _legacySignMessage(t){let e="string"==typeof t?(0,ti.YW)(t):t;return await this.provider.send("eth_sign",[this.address.toLowerCase(),(0,x.c$)(e)])}}class nx extends na{#t;#t3;#t5;#t6;#t9;#t1;#t7;#et(){if(this.#t6)return;let t=1===this._getOption("batchMaxCount")?0:this._getOption("batchStallTime");this.#t6=setTimeout(()=>{this.#t6=null;let t=this.#t5;for(this.#t5=[];t.length;){let e=[t.shift()];for(;t.length&&e.length!==this.#t.batchMaxCount;)if(e.push(t.shift()),JSON.stringify(e.map(t=>t.payload)).length>this.#t.batchMaxSize){t.unshift(e.pop());break}(async()=>{let t=1===e.length?e[0].payload:e.map(t=>t.payload);this.emit("debug",{action:"sendRpcPayload",payload:t});try{let r=await this._send(t);for(let{resolve:t,reject:n,payload:i}of(this.emit("debug",{action:"receiveRpcResult",result:r}),e)){if(this.destroyed){n((0,R.xz)("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:i.method}));continue}let e=r.filter(t=>t.id===i.id)[0];if(null==e){let t=(0,R.xz)("missing response for request","BAD_DATA",{value:r,info:{payload:i}});this.emit("error",t),n(t);continue}if("error"in e){n(this.getRpcError(i,e));continue}t(e.result)}}catch(t){for(let{reject:r}of(this.emit("debug",{action:"receiveRpcError",error:t}),e))r(t)}})()}},t)}constructor(t,e){super(t,e),this.#t3=1,this.#t=Object.assign({},nv,e||{}),this.#t5=[],this.#t6=null,this.#t1=null,this.#t7=null;{let t=null,e=new Promise(e=>{t=e});this.#t9={promise:e,resolve:t}}let r=this._getOption("staticNetwork");"boolean"==typeof r?((0,R.MR)(!r||"any"!==t,"staticNetwork cannot be used on special network 'any'","options",e),r&&null!=t&&(this.#t1=r_.from(t))):r&&((0,R.MR)(null==t||r.matches(t),"staticNetwork MUST match network object","options",e),this.#t1=r)}_getOption(t){return this.#t[t]}get _network(){return(0,R.vA)(this.#t1,"network is not available yet","NETWORK_ERROR"),this.#t1}async _perform(t){if("call"===t.method||"estimateGas"===t.method){let e=t.transaction;if(e&&null!=e.type&&(0,k.Ab)(e.type)&&null==e.maxFeePerGas&&null==e.maxPriorityFeePerGas){let r=await this.getFeeData();null==r.maxFeePerGas&&null==r.maxPriorityFeePerGas&&(t=Object.assign({},t,{transaction:Object.assign({},e,{type:void 0})}))}}let e=this.getRpcRequest(t);return null!=e?await this.send(e.method,e.args):super._perform(t)}async _detectNetwork(){let t=this._getOption("staticNetwork");if(t){if(!0!==t)return t;else if(this.#t1)return this.#t1}return this.#t7||(this.ready?this.#t7=(async()=>{try{let t=r_.from((0,k.Ab)(await this.send("eth_chainId",[])));return this.#t7=null,t}catch(t){throw this.#t7=null,t}})():this.#t7=(async()=>{let t,e={id:this.#t3++,method:"eth_chainId",params:[],jsonrpc:"2.0"};
5this.emit("debug",{action:"sendRpcPayload",payload:e});try{t=(await this._send(e))[0],this.#t7=null}catch(t){throw this.#t7=null,this.emit("debug",{action:"receiveRpcError",error:t}),t}if(this.emit("debug",{action:"receiveRpcResult",result:t}),"result"in t)return r_.from((0,k.Ab)(t.result));throw this.getRpcError(e,t)})()),await this.#t7}_start(){null!=this.#t9&&null!=this.#t9.resolve&&(this.#t9.resolve(),this.#t9=null,(async()=>{for(;null==this.#t1&&!this.destroyed;)try{this.#t1=await this._detectNetwork()}catch(t){if(this.destroyed)break;console.log("JsonRpcProvider failed to detect network and cannot start up; retry in 1s (perhaps the URL is wrong or the node is not started)"),this.emit("error",(0,R.xz)("failed to bootstrap network detection","NETWORK_ERROR",{event:"initial-network-discovery",info:{error:t}})),await new Promise(t=>{setTimeout(t,1e3)})}this.#et()})())}async _waitUntilReady(){if(null!=this.#t9)return await this.#t9.promise}_getSubscriber(t){return"pending"===t.type?new nm(this):"event"===t.type?this._getOption("polling")?new r6(this,t.filter):new ng(this,t.filter):"orphan"===t.type&&"drop-log"===t.filter.orphan?new ne("orphan"):super._getSubscriber(t)}get ready(){return null==this.#t9}getRpcTransaction(t){let e={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach(r=>{if(null==t[r])return;let n=r;"gasLimit"===r&&(n="gas"),e[n]=(0,k.nD)((0,k.Ab)(t[r],`tx.${r}`))}),["from","to","data"].forEach(r=>{null!=t[r]&&(e[r]=(0,x.c$)(t[r]))}),t.accessList&&(e.accessList=(0,j.$)(t.accessList)),t.blobVersionedHashes&&(e.blobVersionedHashes=t.blobVersionedHashes.map(t=>t.toLowerCase())),t.authorizationList&&(e.authorizationList=t.authorizationList.map(t=>{let e=tn(t);return{address:e.address,nonce:(0,k.nD)(e.nonce),chainId:(0,k.nD)(e.chainId),yParity:(0,k.nD)(e.signature.yParity),r:(0,k.nD)(e.signature.r),s:(0,k.nD)(e.signature.s)}})),e}getRpcRequest(t){switch(t.method){case"chainId":return{method:"eth_chainId",args:[]};case"getBlockNumber":return{method:"eth_blockNumber",args:[]};case"getGasPrice":return{method:"eth_gasPrice",args:[]};case"getPriorityFee":return{method:"eth_maxPriorityFeePerGas",args:[]};case"getBalance":return{method:"eth_getBalance",args:[nb(t.address),t.blockTag]};case"getTransactionCount":return{method:"eth_getTransactionCount",args:[nb(t.address),t.blockTag]};case"getCode":return{method:"eth_getCode",args:[nb(t.address),t.blockTag]};case"getStorage":return{method:"eth_getStorageAt",args:[nb(t.address),"0x"+t.position.toString(16),t.blockTag]};case"broadcastTransaction":return{method:"eth_sendRawTransaction",args:[t.signedTransaction]};case"getBlock":if("blockTag"in t)return{method:"eth_getBlockByNumber",args:[t.blockTag,!!t.includeTransactions]};if("blockHash"in t)return{method:"eth_getBlockByHash",args:[t.blockHash,!!t.includeTransactions]};break;case"getTransaction":return{method:"eth_getTransactionByHash",args:[t.hash]};case"getTransactionReceipt":return{method:"eth_getTransactionReceipt",args:[t.hash]};case"call":return{method:"eth_call",args:[this.getRpcTransaction(t.transaction),t.blockTag]};case"estimateGas":return{method:"eth_estimateGas",args:[this.getRpcTransaction(t.transaction)]};case"getLogs":return t.filter&&null!=t.filter.address&&(Array.isArray(t.filter.address)?t.filter.address=t.filter.address.map(nb):t.filter.address=nb(t.filter.address)),{method:"eth_getLogs",args:[t.filter]}}return null}getRpcError(t,e){let{method:r}=t,{error:n}=e;if("eth_estimateGas"===r&&n.message){let e=n.message;if(!e.match(/revert/i)&&e.match(/insufficient funds/i))return(0,R.xz)("insufficient funds","INSUFFICIENT_FUNDS",{transaction:t.params[0],info:{payload:t,error:n}});if(e.match(/nonce/i)&&e.match(/too low/i))return(0,R.xz)("nonce has already been used","NONCE_EXPIRED",{transaction:t.params[0],info:{payload:t,error:n}})}if("eth_call"===r||"eth_estimateGas"===r){let e=function t(e){if(null==e)return null;if("string"==typeof e.message&&e.message.match(/revert/i)&&(0,x.Lo)(e.data))return{message:e.message,data:e.data};if("object"==typeof e){for(let r in e){let n=t(e[r]);if(n)return n}return null}if("string"==typeof e)try{return t(JSON.parse(e))}catch(t){}return null}(n),i=b.y.getBuiltinCallException("eth_call"===r?"call":"estimateGas",t.params[0],e?e.data:null);return i.info={error:n,payload:t},i}let i=JSON.stringify(function(t){let e=[];return!function t(e,r){if(null!=e){if("string"==typeof e.message&&r.push(e.message),"object"==typeof e)for(let n in e)t(e[n],r);if("string"==typeof e)try{return t(JSON.parse(e),r)}catch(t){}}}(t,e),e}(n));if("string"==typeof n.message&&n.message.match(/user denied|ethers-user-denied/i))return(0,R.xz)("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"}[r]||"unknown",reason:"rejected",info:{payload:t,error:n}});if("eth_sendRawTransaction"===r||"eth_sendTransaction"===r){let e=t.params[0];if(i.match(/insufficient funds|base fee exceeds gas limit/i))return(0,R.xz)("insufficient funds for intrinsic transaction cost","INSUFFICIENT_FUNDS",{transaction:e,info:{error:n}});if(i.match(/nonce/i)&&i.match(/too low/i))return(0,R.xz)("nonce has already been used","NONCE_EXPIRED",{transaction:e,info:{error:n}});if(i.match(/replacement transaction/i)&&i.match(/underpriced/i))return(0,R.xz)("replacement fee too low","REPLACEMENT_UNDERPRICED",{transaction:e,info:{error:n}});if(i.match(/only replay-protected/i))return(0,R.xz)("legacy pre-eip-155 transactions not supported","UNSUPPORTED_OPERATION",{operation:r,info:{transaction:e,info:{error:n}}})}let s=!!i.match(/the method .* does not exist/i);return(!s&&n&&n.details&&n.details.startsWith("Unauthorized method:")&&(s=!0),s)?(0,R.xz)("unsupported operation","UNSUPPORTED_OPERATION",{operation:t.method,info:{error:n,payload:t}}
5):(0,R.xz)("could not coalesce error","UNKNOWN_ERROR",{error:n,payload:t})}send(t,e){if(this.destroyed)return Promise.reject((0,R.xz)("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:t}));let r=this.#t3++,n=new Promise((n,i)=>{this.#t5.push({resolve:n,reject:i,payload:{method:t,params:e,id:r,jsonrpc:"2.0"}})});return this.#et(),n}async getSigner(t){null==t&&(t=0);let e=this.send("eth_accounts",[]);if("number"==typeof t){let r=await e;if(t>=r.length)throw Error("no such account");return new nE(this,r[t])}let{accounts:r}=await (0,P.k)({network:this.getNetwork(),accounts:e});for(let e of(t=(0,w.b)(t),r))if((0,w.b)(e)===t)return new nE(this,t);throw Error("invalid account")}async listAccounts(){return(await this.send("eth_accounts",[])).map(t=>new nE(this,t))}destroy(){for(let{payload:t,reject:e}of(this.#t6&&(clearTimeout(this.#t6),this.#t6=null),this.#t5))e((0,R.xz)("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:t.method}));this.#t5=[],super.destroy()}}class nk extends nx{#ee;constructor(t,e){super(t,e);let r=this._getOption("pollingInterval");null==r&&(r=nv.pollingInterval),this.#ee=r}_getSubscriber(t){let e=super._getSubscriber(t);return nw(e)&&(e.pollingInterval=this.#ee),e}get pollingInterval(){return this.#ee}set pollingInterval(t){if(!Number.isInteger(t)||t<0)throw Error("invalid interval");this.#ee=t,this._forEachSubscriber(t=>{nw(t)&&(t.pollingInterval=this.#ee)})}}class nR extends nk{#er;constructor(t,e,r){null==t&&(t="http://localhost:8545"),super(e,r),"string"==typeof t?this.#er=new tm(t):this.#er=t.clone()}_getConnection(){return this.#er.clone()}async send(t,e){return await this._start(),await super.send(t,e)}async _send(t){let e=this._getConnection();e.body=JSON.stringify(t),e.setHeader("content-type","application/json");let r=await e.send();r.assertOk();let n=r.bodyJson;return Array.isArray(n)||(n=[n]),n}}},83694:(t,e,r)=>{r.d(e,{A:()=>n});let n=(0,r(87982).A)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},85655:(t,e,r)=>{r.d(e,{A:()=>n});let n=(0,r(87982).A)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])},91328:(t,e,r)=>{r.d(e,{DM:()=>s});var n=r(70636);let i=Symbol.for("__cloudflare-context__");function s(t={async:!1}){return t.async?l():function(){let t=a();if(t)return t;if(o())throw Error("\n\nERROR: `getCloudflareContext` has been called in sync mode in either a static route or at the top level of a non-static one, both cases are not allowed but can be solved by either:\n - make sure that the call is not at the top level and that the route is not static\n - call `getCloudflareContext({async: true})` to use the `async` mode\n - avoid calling `getCloudflareContext` in the route\n");throw Error(c)}()}function a(){return globalThis[i]}function o(){let t=globalThis;return t.__NEXT_DATA__?.nextExport===!0}async function l(){let t=a();if(t)return t;if(o()){var e;let t=await u();return e=t,globalThis[i]=e,t}throw Error(c)}async function u(t){let{getPlatformProxy:e}=await import(`${"__wrangler".replaceAll("_","")}`),r=t?.environment??n.env.NEXT_DEV_WRANGLER_ENV,{env:i,cf:s,ctx:a}=await e({...t,envFiles:[],environment:r});return{env:i,cf:s,ctx:a}}let c='\n\nERROR: `getCloudflareContext` has been called without having called `initOpenNextCloudflareForDev` from the Next.js config file.\nYou should update your Next.js config file as shown below:\n\n ```\n // next.config.mjs\n\n import { initOpenNextCloudflareForDev } from "@opennextjs/cloudflare";\n\n initOpenNextCloudflareForDev();\n\n const nextConfig = { ... };\n export default nextConfig;\n ```\n\n'},98842:(t,e,r)=>{r.d(e,{y:()=>M});var n=r(20972),i=r(44074),s=r(12009),a=r(74711),o=r(11175);class l extends i.Ue{constructor(t){super("address","address",t,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(t,e){let r=o.V.dereference(e,"string");try{r=(0,s.b)(r)}catch(t){return this._throwError(t.message,e)}return t.writeValue(r)}decode(t){return(0,s.b)((0,a.up)(t.readValue(),20))}}var u=r(19841);class c extends i.Ue{coder;constructor(t){super(t.name,t.type,"_",t.dynamic),this.coder=t}
5defaultValue(){return this.coder.defaultValue()}encode(t,e){return this.coder.encode(t,e)}decode(t){return this.coder.decode(t)}}function h(t,e,r){let s=[];if(Array.isArray(r))s=r;else if(r&&"object"==typeof r){let t={};s=e.map(e=>{let i=e.localName;return(0,n.vA)(i,"cannot encode object for signature with missing names","INVALID_ARGUMENT",{argument:"values",info:{coder:e},value:r}),(0,n.vA)(!t[i],"cannot encode object for signature with duplicate names","INVALID_ARGUMENT",{argument:"values",info:{coder:e},value:r}),t[i]=!0,r[i]})}else(0,n.MR)(!1,"invalid tuple value","tuple",r);(0,n.MR)(e.length===s.length,"types/value length mismatch","tuple",r);let a=new i.AU,o=new i.AU,l=[];e.forEach((t,e)=>{let r=s[e];if(t.dynamic){let e=o.length;t.encode(o,r);let n=a.writeUpdatableValue();l.push(t=>{n(t+e)})}else t.encode(a,r)}),l.forEach(t=>{t(a.length)});let u=t.appendWriter(a);return u+t.appendWriter(o)}function f(t,e){let r=[],s=[],a=t.subReader(0);return e.forEach(e=>{let i=null;if(e.dynamic){let r=t.readIndex(),s=a.subReader(r);try{i=e.decode(s)}catch(t){if((0,n.bJ)(t,"BUFFER_OVERRUN"))throw t;(i=t).baseType=e.name,i.name=e.localName,i.type=e.type}}else try{i=e.decode(t)}catch(t){if((0,n.bJ)(t,"BUFFER_OVERRUN"))throw t;(i=t).baseType=e.name,i.name=e.localName,i.type=e.type}if(void 0==i)throw Error("investigate");r.push(i),s.push(e.localName||null)}),i.Q7.fromItems(r,s)}class d extends i.Ue{coder;length;constructor(t,e,r){super("array",t.type+"["+(e>=0?e:"")+"]",r,-1===e||t.dynamic),(0,u.n)(this,{coder:t,length:e})}defaultValue(){let t=this.coder.defaultValue(),e=[];for(let r=0;r<this.length;r++)e.push(t);return e}encode(t,e){let r=o.V.dereference(e,"array");Array.isArray(r)||this._throwError("expected array value",r);let i=this.length;-1===i&&(i=r.length,t.writeValue(r.length)),(0,n.dd)(r.length,i,"coder array"+(this.localName?" "+this.localName:""));let s=[];for(let t=0;t<r.length;t++)s.push(this.coder);return h(t,s,r)}decode(t){let e=this.length;-1===e&&(e=t.readIndex(),(0,n.vA)(e*i.Yx<=t.dataLength,"insufficient data length","BUFFER_OVERRUN",{buffer:t.bytes,offset:e*i.Yx,length:t.dataLength}));let r=[];for(let t=0;t<e;t++)r.push(new c(this.coder));return f(t,r)}}class p extends i.Ue{constructor(t){super("bool","bool",t,!1)}defaultValue(){return!1}encode(t,e){let r=o.V.dereference(e,"bool");return t.writeValue(+!!r)}decode(t){return!!t.readValue()}}var g=r(20360);class m extends i.Ue{constructor(t,e){super(t,t,e,!0)}defaultValue(){return"0x"}encode(t,e){e=(0,g.Lm)(e);let r=t.writeValue(e.length);return r+t.writeBytes(e)}decode(t){return t.readBytes(t.readIndex(),!0)}}class y extends m{constructor(t){super("bytes",t)}decode(t){return(0,g.c$)(super.decode(t))}}class A extends i.Ue{size;constructor(t,e){let r="bytes"+String(t);super(r,r,e,!1),(0,u.n)(this,{size:t},{size:"number"})}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+2*this.size)}encode(t,e){let r=(0,g.Lm)(o.V.dereference(e,this.type));return r.length!==this.size&&this._throwError("incorrect data length",e),t.writeBytes(r)}decode(t){return(0,g.c$)(t.readBytes(this.size))}}let b=new Uint8Array([]);class w extends i.Ue{constructor(t){super("null","",t,!1)}defaultValue(){return null}encode(t,e){return null!=e&&this._throwError("not null",e),t.writeBytes(b)}decode(t){return t.readBytes(0),null}}let v=BigInt(0),E=BigInt(1),x=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");class k extends i.Ue{size;signed;constructor(t,e,r){let n=(e?"int":"uint")+8*t;super(n,n,r,!1),(0,u.n)(this,{size:t,signed:e},{size:"number",signed:"boolean"})}defaultValue(){return 0}encode(t,e){let r=(0,a.Ab)(o.V.dereference(e,this.type)),n=(0,a.dK)(x,8*i.Yx);if(this.signed){let t=(0,a.dK)(n,8*this.size-1);(r>t||r<-(t+E))&&this._throwError("value out-of-bounds",e),r=(0,a.JJ)(r,8*i.Yx)}else(r<v||r>(0,a.dK)(n,8*this.size))&&this._throwError("value out-of-bounds",e);return t.writeValue(r)}decode(t){let e=(0,a.dK)(t.readValue(),8*this.size);return this.signed&&(e=(0,a.ST)(e,8*this.size)),e}}var R=r(74387);class P extends m{constructor(t){super("string",t)}defaultValue(){return""}encode(t,e){return super.encode(t,(0,R.YW)(o.V.dereference(e,"string")))}decode(t){return(0,R._v)(super.decode(t))}}class N extends i.Ue{coders;constructor(t,e){let r=!1,n=[];t.forEach(t=>{t.dynamic&&(r=!0),n.push(t.type)}),super("tuple","tuple("+n.join(",")+")",e,r),(0,u.n)(this,{coders:Object.freeze(t.slice())})}defaultValue(){let t=[];
5this.coders.forEach(e=>{t.push(e.defaultValue())});let e=this.coders.reduce((t,e)=>{let r=e.localName;return r&&(t[r]||(t[r]=0),t[r]++),t},{});return this.coders.forEach((r,n)=>{let i=r.localName;i&&1===e[i]&&("length"===i&&(i="_length"),null==t[i]&&(t[i]=t[n]))}),Object.freeze(t)}encode(t,e){let r=o.V.dereference(e,"tuple");return h(t,this.coders,r)}decode(t){return f(t,this.coders)}}var I=r(66438);let B=new Map;B.set(0,"GENERIC_PANIC"),B.set(1,"ASSERT_FALSE"),B.set(17,"OVERFLOW"),B.set(18,"DIVIDE_BY_ZERO"),B.set(33,"ENUM_RANGE_ERROR"),B.set(34,"BAD_STORAGE_DATA"),B.set(49,"STACK_UNDERFLOW"),B.set(50,"ARRAY_RANGE_ERROR"),B.set(65,"OUT_OF_MEMORY"),B.set(81,"UNINITIALIZED_FUNCTION_CALL");let C=new RegExp(/^bytes([0-9]*)$/),O=new RegExp(/^(u?int)([0-9]*)$/),T=null,S=1024;class M{#en(t){if(t.isArray())return new d(this.#en(t.arrayChildren),t.arrayLength,t.name);if(t.isTuple())return new N(t.components.map(t=>this.#en(t)),t.name);switch(t.baseType){case"address":return new l(t.name);case"bool":return new p(t.name);case"string":return new P(t.name);case"bytes":return new y(t.name);case"":return new w(t.name)}let e=t.type.match(O);if(e){let r=parseInt(e[2]||"256");return(0,n.MR)(0!==r&&r<=256&&r%8==0,"invalid "+e[1]+" bit length","param",t),new k(r/8,"int"===e[1],t.name)}if(e=t.type.match(C)){let r=parseInt(e[1]);return(0,n.MR)(0!==r&&r<=32,"invalid bytes length","param",t),new A(r,t.name)}(0,n.MR)(!1,"invalid type","type",t.type)}getDefaultValue(t){return new N(t.map(t=>this.#en(I.aX.from(t))),"_").defaultValue()}encode(t,e){(0,n.dd)(e.length,t.length,"types/values length mismatch");let r=new N(t.map(t=>this.#en(I.aX.from(t))),"_"),s=new i.AU;return r.encode(s,e),s.data}decode(t,e,r){return new N(t.map(t=>this.#en(I.aX.from(t))),"_").decode(new i.mP(e,r,S))}static _setDefaultMaxInflation(t){(0,n.MR)("number"==typeof t&&Number.isInteger(t),"invalid defaultMaxInflation factor","value",t),S=t}static defaultAbiCoder(){return null==T&&(T=new M),T}static getBuiltinCallException(t,e,r){return function(t,e,r,i){let a="missing revert data",o=null,l=null;if(r){a="execution reverted";let t=(0,g.q5)(r);if(r=(0,g.c$)(r),0===t.length)a+=" (no data present; likely require(false) occurred",o="require(false)";else if(t.length%32!=4)a+=" (could not decode reason; invalid data length)";else if("0x08c379a0"===(0,g.c$)(t.slice(0,4)))try{o=i.decode(["string"],t.slice(4))[0],l={signature:"Error(string)",name:"Error",args:[o]},a+=`: ${JSON.stringify(o)}`}catch(t){a+=" (could not decode reason; invalid string data)"}else if("0x4e487b71"===(0,g.c$)(t.slice(0,4)))try{let e=Number(i.decode(["uint256"],t.slice(4))[0]);l={signature:"Panic(uint256)",name:"Panic",args:[e]},o=`Panic due to ${B.get(e)||"UNKNOWN"}(${e})`,a+=`: ${o}`}catch(t){a+=" (could not decode panic code)"}else a+=" (unknown custom error)"}let u={to:e.to?(0,s.b)(e.to):null,data:e.data||"0x"};return e.from&&(u.from=(0,s.b)(e.from)),(0,n.xz)(a,"CALL_EXCEPTION",{action:t,data:r,reason:o,transaction:u,invocation:null,revert:l})}(t,e,r,M.defaultAbiCoder())}}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.